@rededor/site-front-end-lib 20.0.0-alpha.4 → 20.0.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +124 -124
- package/components/page-template-fullcontent/index.d.ts +17 -0
- package/components/sidebar-navigation/index.d.ts +26 -0
- package/components/sticky-navigation/index.d.ts +31 -0
- package/core/index.d.ts +16 -11
- package/fesm2022/rededor-site-front-end-lib-components-algolia-search.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-filters-filter-generic.mjs +2 -2
- package/fesm2022/rededor-site-front-end-lib-components-filters-filter-generic.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-footer.mjs +2 -2
- package/fesm2022/rededor-site-front-end-lib-components-footer.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-header-components-action.mjs +2 -2
- package/fesm2022/rededor-site-front-end-lib-components-header-components-action.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-header-components-auxiliar.mjs +2 -2
- package/fesm2022/rededor-site-front-end-lib-components-header-components-auxiliar.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-header-components-main.mjs +4 -4
- package/fesm2022/rededor-site-front-end-lib-components-header-components-main.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-header-components-side.mjs +4 -4
- package/fesm2022/rededor-site-front-end-lib-components-header-components-side.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-modal-drawer.mjs +2 -2
- package/fesm2022/rededor-site-front-end-lib-components-modal-drawer.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-modal.mjs +2 -2
- package/fesm2022/rededor-site-front-end-lib-components-modal.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-page-template-fullcontent.mjs +27 -0
- package/fesm2022/rededor-site-front-end-lib-components-page-template-fullcontent.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-page-template-sidebar.mjs +2 -2
- package/fesm2022/rededor-site-front-end-lib-components-sidebar-navigation.mjs +79 -0
- package/fesm2022/rededor-site-front-end-lib-components-sidebar-navigation.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-sticky-navigation.mjs +87 -0
- package/fesm2022/rededor-site-front-end-lib-components-sticky-navigation.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-core.mjs +3 -1
- package/fesm2022/rededor-site-front-end-lib-core.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-pill.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-outline.mjs +2 -2
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-outline.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-select.mjs +2 -2
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-select.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-transparent.mjs +2 -2
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-transparent.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button.mjs +2 -2
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-cura-cards-cura-card.mjs +2 -2
- package/fesm2022/rededor-site-front-end-lib-cura-cards-cura-card.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-label.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select-option.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select.mjs +2 -2
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select.mjs.map +1 -1
- package/package.json +21 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rededor-site-front-end-lib-components-filters-filter-generic.mjs","sources":["../../../projects/site-front-end-lib/components/filters/filter-generic/filter-generic.component.ts","../../../projects/site-front-end-lib/components/filters/filter-generic/filter-generic.component.html","../../../projects/site-front-end-lib/components/filters/filter-generic/rededor-site-front-end-lib-components-filters-filter-generic.ts"],"sourcesContent":["import { CommonModule, isPlatformBrowser } from '@angular/common';\r\nimport { ChangeDetectorRef, Component, HostBinding, OnInit, PLATFORM_ID, input, model, output, inject, computed, signal } from '@angular/core';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { FilterAction, FilterControlValue, FilterSection, FilterEvent, FilterPlanosConveniosChange } from '@rededor/site-front-end-lib/core';\r\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\r\nimport { CuraBadgeCounterComponent } from '@rededor/site-front-end-lib/cura/badges/cura-badge-counter';\r\nimport { CuraButtonComponent } from '@rededor/site-front-end-lib/cura/buttons/cura-button';\r\nimport { CuraButtonTransparentComponent } from '@rededor/site-front-end-lib/cura/buttons/cura-button-transparent';\r\nimport { CheckboxChangeEvent } from '@rededor/site-front-end-lib/cura/forms/cura-checkbox';\r\nimport { CuraCheckboxComponent } from '@rededor/site-front-end-lib/cura/forms/cura-checkbox';\r\nimport { CuraInputTextComponent } from '@rededor/site-front-end-lib/cura/forms/cura-input-text';\r\nimport { CuraLabelComponent } from '@rededor/site-front-end-lib/cura/forms/cura-label';\r\nimport { RadioChangeEvent } from '@rededor/site-front-end-lib/cura/forms/cura-radio';\r\nimport { CuraRadioComponent } from '@rededor/site-front-end-lib/cura/forms/cura-radio';\r\nimport { SelectSelectedEvent } from '@rededor/site-front-end-lib/cura/forms/cura-select';\r\nimport { CuraSelectComponent } from '@rededor/site-front-end-lib/cura/forms/cura-select';\r\nimport { CuraSelectOptionComponent } from '@rededor/site-front-end-lib/cura/forms/cura-select-option';\r\nimport { CuraIconComponent } from '@rededor/site-front-end-lib/cura/icons/cura-icon';\r\nimport { CuraHeadingComponent } from '@rededor/site-front-end-lib/cura/texts/cura-heading';\r\nimport { CuraParagraphComponent } from '@rededor/site-front-end-lib/cura/texts/cura-paragraph';\r\nimport { MediaQueries } from '@rededor/site-front-end-lib/shared';\r\n\r\n@Component({\r\n selector: 'rdsite-filter-generic',\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n CuraLabelComponent,\r\n CuraBadgeCounterComponent,\r\n CuraButtonTransparentComponent,\r\n CuraInputTextComponent,\r\n CuraIconComponent,\r\n CuraSelectComponent,\r\n CuraSelectOptionComponent,\r\n CuraHeadingComponent,\r\n CuraCheckboxComponent,\r\n CuraRadioComponent,\r\n CuraButtonComponent,\r\n CuraParagraphComponent,\r\n ],\r\n templateUrl: './filter-generic.component.html',\r\n styleUrls: ['./filter-generic.component.scss'],\r\n})\r\nexport class FilterGenericComponent implements OnInit {\r\n private readonly curaApiService = inject(CuraApiService);\r\n private readonly cdr = inject(ChangeDetectorRef);\r\n private readonly platformId = inject(PLATFORM_ID);\r\n\r\n readonly filterChange = output<FilterEvent>();\r\n readonly closeModal = output<boolean>();\r\n readonly openMobileFilter = output<void>();\r\n\r\n readonly withContainerStyle = input(true);\r\n readonly showClearButton = input(true);\r\n readonly showApplyButton = input(true);\r\n readonly showCloseButton = input(false);\r\n readonly disableButtons = input(false);\r\n readonly showBadge = input(true);\r\n readonly showToggleIcon = input(true);\r\n isFilterOpen = model(true);\r\n readonly mobileBehavior = input(false);\r\n readonly forceCollapsed = input(false);\r\n readonly emitOnReset = input(false);\r\n readonly textTitle = input('Filtrar por');\r\n readonly sections = input<FilterSection[]>([]);\r\n\r\n readonly windowWidth = signal(0);\r\n\r\n readonly selectedFiltersCount = computed(() => {\r\n return this.sections().reduce((count, section) => {\r\n if ((section.type !== 'custom' && !section.config?.control) || (section.type === 'custom' && !section.config?.count)) return count;\r\n\r\n const value = section.config.control?.value || null;\r\n\r\n switch (section.type) {\r\n case 'checkbox-group':\r\n return count + (Array.isArray(value) ? value.filter((item) => item?.checked).length : 0);\r\n case 'radio-group':\r\n return count + (value?.value ? 1 : 0);\r\n case 'custom':\r\n const customCount = section.config.count || 0;\r\n return count + customCount;\r\n default:\r\n return count + (value ? 1 : 0);\r\n }\r\n }, 0);\r\n });\r\n\r\n @HostBinding('style') styleBinding = {\r\n '--font-family': this.curaApiService.theme.fonts.getFamily(''),\r\n '--neutral-opacity-black': this.curaApiService.theme.colors.getColor('neutral-black', 0.2),\r\n '--neutral-dark': this.curaApiService.theme.colors.getColor('neutral-dark'),\r\n '--neutral-darker': this.curaApiService.theme.colors.getColor('neutral-darker'),\r\n '--neutral-medium': this.curaApiService.theme.colors.getColor('neutral-medium'),\r\n '--neutral-light': this.curaApiService.theme.colors.getColor('neutral-light'),\r\n '--neutral-lighter': this.curaApiService.theme.colors.getColor('neutral-lighter'),\r\n '--neutral-purewhite': this.curaApiService.theme.colors.getColor('neutral-purewhite'),\r\n '--primary-base': this.curaApiService.theme.colors.getColor('primary-base'),\r\n '--primary-lighter': this.curaApiService.theme.colors.getColor('primary-lighter'),\r\n };\r\n\r\n ngOnInit(): void {\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.windowWidth.set(window.innerWidth);\r\n }\r\n\r\n if (this.forceCollapsed() && this.isMobile()) {\r\n this.isFilterOpen.set(false);\r\n }\r\n }\r\n\r\n handleInputChange(event: string | number, control: FormControl): void {\r\n control.setValue(event);\r\n }\r\n\r\n handleSelectChange({ value }: SelectSelectedEvent, control: FormControl): void {\r\n if (value !== undefined) {\r\n control.setValue(value);\r\n }\r\n }\r\n\r\n handleCheckboxChange({ value, checked }: CheckboxChangeEvent, options: any[]): void {\r\n const changedOption = options.find((opt) => opt.value === value);\r\n if (changedOption) changedOption.checked = checked;\r\n\r\n this.updateCheckboxGroup(options);\r\n }\r\n\r\n handleRadioChange({ value }: RadioChangeEvent, control: FormControl): void {\r\n const selectedValue = value;\r\n control.setValue(control.value?.value === selectedValue ? null : { value: selectedValue });\r\n }\r\n\r\n filter(): void {\r\n this.emitFilterChange('filter');\r\n if (this.mobileBehavior() || this.showCloseButton()) this.close();\r\n }\r\n\r\n reset(): void {\r\n this.resetAllControls();\r\n\r\n if (this.emitOnReset()) {\r\n this.emitFilterChange('reset');\r\n this.close();\r\n }\r\n }\r\n\r\n close(): void {\r\n this.closeModal.emit(true);\r\n }\r\n\r\n toggleFilter(): void {\r\n if (this.mobileBehavior() && this.isMobile()) {\r\n this.openMobileFilter.emit(undefined);\r\n } else {\r\n this.isFilterOpen.set(!this.isFilterOpen());\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n hasSelection(): boolean {\r\n return this.selectedFiltersCount() > 0;\r\n }\r\n\r\n readonly isMobile = computed(() => {\r\n return this.windowWidth() <= MediaQueries.smallBreakpoint;\r\n });\r\n\r\n getRadioGroupValue(control?: FormControl<FilterControlValue>): any {\r\n const value = control?.value;\r\n return value && typeof value === 'object' && 'value' in value ? value.value : null;\r\n }\r\n\r\n hasScroll(section: FilterSection): boolean {\r\n switch (section.type) {\r\n case 'checkbox-group':\r\n return section.config.options && section.config.options.length > 6;\r\n case 'radio-group':\r\n return section.config.options && section.config.options.length > 6;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n getSectionClass(section: FilterSection): string {\r\n return this.hasScroll(section) ? 'scrollable' : '';\r\n }\r\n\r\n shouldHandleMobileClick(): boolean {\r\n return this.mobileBehavior() && this.isMobile() && this.forceCollapsed();\r\n }\r\n\r\n handleMobileClick(): void {\r\n if (this.shouldHandleMobileClick()) {\r\n this.openMobileFilter.emit();\r\n }\r\n }\r\n\r\n private emitFilterChange(action: FilterAction): void {\r\n const filterData = this.buildFilterData();\r\n const isEmpty = this.isFilterDataEmpty(filterData);\r\n\r\n this.filterChange.emit({\r\n data: this.emitOnReset() || !isEmpty ? filterData : null,\r\n action: action,\r\n });\r\n }\r\n\r\n private resetAllControls(): void {\r\n this.sections().forEach((section) => {\r\n if (!section.config?.control) return;\r\n\r\n if (section.type === 'checkbox-group') {\r\n const resetOptions = section?.config?.options?.map((option: any) => ({ ...option, checked: false })) || [];\r\n section.config.options = resetOptions;\r\n section.config.control.setValue(resetOptions, { emitEvent: false });\r\n } else {\r\n section.config.control.reset('', { emitEvent: false });\r\n }\r\n });\r\n }\r\n\r\n private updateCheckboxGroup(options: any[]): void {\r\n this.sections()\r\n .filter((section) => section.type === 'checkbox-group')\r\n .forEach((section) => {\r\n section.config.options = [...options];\r\n section.config.control.setValue([...options]);\r\n });\r\n }\r\n\r\n private buildFilterData(): FilterPlanosConveniosChange | any {\r\n const filterData: FilterPlanosConveniosChange = {\r\n unidade: '',\r\n estado: '',\r\n cobertura: [],\r\n };\r\n\r\n this.sections().forEach((section) => {\r\n if (!section.config?.control) return;\r\n\r\n const value = section.config.control.value;\r\n\r\n switch (section.type) {\r\n case 'input':\r\n filterData.unidade = value || '';\r\n break;\r\n case 'select':\r\n filterData.estado = value || '';\r\n break;\r\n case 'checkbox-group':\r\n filterData.cobertura = Array.isArray(value) ? value.filter((item) => item.checked) : [];\r\n break;\r\n }\r\n });\r\n\r\n return filterData;\r\n }\r\n\r\n private isFilterDataEmpty(filterData: FilterPlanosConveniosChange): boolean {\r\n return Object.values(filterData).every((val) => val === null || val === '' || (Array.isArray(val) && val.length === 0));\r\n }\r\n}\r\n","<div\n class=\"filter-generic\"\n [ngClass]=\"{ 'container-style': withContainerStyle(), 'clickable-mobile': shouldHandleMobileClick() }\"\n aria-label=\"Filtros\"\n (click)=\"handleMobileClick()\"\n>\n <div class=\"filter-header-container\" [ngClass]=\"{ 'no-padding': !isFilterOpen(), hidden: !isFilterOpen() }\">\n <div class=\"filter-title-wrapper\">\n <cura-label size=\"medium\" level=\"4\" color=\"neutral-black\" weight=\"regular\" marginBlock=\"0\" lineHeight=\"16px\">\n {{ textTitle() }}\n </cura-label>\n\n @if (showBadge()) {\n <cura-badge-counter\n [type]=\"'solid'\"\n [color]=\"hasSelection() ? 'primary' : 'neutral'\"\n [number]=\"selectedFiltersCount()\"\n class=\"filter-badge\"\n ></cura-badge-counter>\n }\n </div>\n\n @if (showToggleIcon()) {\n <cura-button-transparent\n size=\"small\"\n fontColor=\"dark\"\n color=\"primary\"\n textAlign=\"center\"\n (click)=\"toggleFilter()\"\n [attr.aria-expanded]=\"isFilterOpen()\"\n [ariaLabel]=\"isFilterOpen() ? 'Fechar filtros' : 'Abrir filtros'\"\n >\n <cura-icon [name]=\"isFilterOpen() ? 'up' : 'down'\" size=\"16\" class=\"filter-icon\" color=\"primary-dark\"></cura-icon>\n </cura-button-transparent>\n }\n </div>\n\n <div class=\"filter-content\" [class.hidden]=\"!isFilterOpen() || (forceCollapsed() && isMobile())\">\n @for (section of sections(); track section.type) {\n @if (section.visible !== false) {\n <div class=\"filter-section\">\n @switch (section.type) {\n @case ('input') {\n <cura-input-text\n [placeholder]=\"section.config.placeholder || ''\"\n [name]=\"section.config.name || ''\"\n [iconName]=\"section.config.iconName || ''\"\n [value]=\"section.config.control.value\"\n (valueChange)=\"handleInputChange($event, section.config.control)\"\n ></cura-input-text>\n }\n @case ('select') {\n <cura-select\n [label]=\"section.config.label || ''\"\n [placeholder]=\"section.config.placeholder || ''\"\n [value]=\"section.config.control.value\"\n (selected)=\"handleSelectChange($event, section.config.control)\"\n >\n @if (section.config.includeDefaultOption) {\n <cura-select-option [value]=\"''\">{{ section.config.defaultOptionText || 'Faça a sua Seleção' }}</cura-select-option>\n }\n @for (option of section.config.options || []; track option?.value) {\n <cura-select-option [value]=\"option?.value\">{{ option?.label }}</cura-select-option>\n }\n </cura-select>\n }\n @case ('checkbox-group') {\n @if (section.config.title) {\n <div class=\"filter-header\">\n <cura-icon name=\"filter\" size=\"20\" color=\"info-dark\"></cura-icon>\n <cura-heading size=\"xsmall\" [level]=\"5\" weight=\"bold\" color=\"neutral-black\" marginBlock=\"0\" lineHeight=\"16px\">\n {{ section.config.title }}\n </cura-heading>\n </div>\n }\n\n @if (section.config.subtitle) {\n <div class=\"filter-subtitle\">\n <cura-heading size=\"xsmall\" weight=\"bold\" color=\"neutral-black\" marginBlock=\"0\">\n {{ section.config.subtitle }}\n </cura-heading>\n </div>\n }\n\n @if (section.config.description) {\n <div class=\"filter-description\">\n <cura-paragraph size=\"xsmall\" color=\"neutral-dark\" marginBlock=\"0\">\n {{ section.config.description }}\n </cura-paragraph>\n </div>\n }\n\n <div class=\"filter-checkboxes\" [class.scrollable]=\"hasScroll(section)\">\n @for (option of section.config.options || []; track option.value) {\n <cura-checkbox\n color=\"primary\"\n size=\"small\"\n iconColor=\"light\"\n [name]=\"option.label\"\n [label]=\"option.label\"\n [value]=\"option.value\"\n [checked]=\"option.checked || false\"\n (onchange)=\"handleCheckboxChange($event, section.config.options)\"\n ></cura-checkbox>\n }\n </div>\n }\n @case ('radio-group') {\n <div class=\"filter-radios\" [class.scrollable]=\"hasScroll(section)\">\n @for (option of section.config.options || []; track option?.value) {\n <cura-radio\n [name]=\"section.config.name || 'radio-group'\"\n [label]=\"option.label\"\n [value]=\"option.value\"\n [checked]=\"getRadioGroupValue(section.config.control) === option.value\"\n (onchange)=\"handleRadioChange($event, section.config.control)\"\n ></cura-radio>\n }\n </div>\n }\n @case ('custom') {\n <ng-container *ngTemplateOutlet=\"section.config.template\"></ng-container>\n }\n }\n </div>\n }\n }\n </div>\n\n <div class=\"filter-actions\" [class.hidden]=\"!isFilterOpen() || (forceCollapsed() && isMobile())\">\n <div class=\"main-actions\">\n @if (showClearButton()) {\n <cura-button-transparent\n size=\"small\"\n fontColor=\"dark\"\n color=\"primary\"\n textAlign=\"center\"\n [disabled]=\"disableButtons() || !hasSelection()\"\n (click)=\"reset()\"\n >\n <span>Limpar todos os filtros</span>\n </cura-button-transparent>\n }\n\n @if (showApplyButton()) {\n <cura-button\n size=\"medium\"\n fontColor=\"light\"\n color=\"primary\"\n textAlign=\"center\"\n (click)=\"filter()\"\n [disabled]=\"disableButtons() || !hasSelection()\"\n class=\"filter-button\"\n >\n Filtrar\n </cura-button>\n }\n </div>\n\n @if (showCloseButton()) {\n <div class=\"divider-strong\"></div>\n <div class=\"close-action-wrapper\">\n <div class=\"close-action\" (click)=\"close()\">\n <cura-icon name=\"close\" color=\"error-dark\" size=\"small\"></cura-icon>\n <cura-button-transparent type=\"button\" color=\"error\" target=\"_self\"> Fechar </cura-button-transparent>\n </div>\n </div>\n }\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rededor-site-front-end-lib-components-filters-filter-generic.mjs","sources":["../../../projects/site-front-end-lib/components/filters/filter-generic/filter-generic.component.ts","../../../projects/site-front-end-lib/components/filters/filter-generic/filter-generic.component.html","../../../projects/site-front-end-lib/components/filters/filter-generic/rededor-site-front-end-lib-components-filters-filter-generic.ts"],"sourcesContent":["import { CommonModule, isPlatformBrowser } from '@angular/common';\r\nimport { ChangeDetectorRef, Component, HostBinding, OnInit, PLATFORM_ID, input, model, output, inject, computed, signal } from '@angular/core';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { FilterAction, FilterControlValue, FilterSection, FilterEvent, FilterPlanosConveniosChange } from '@rededor/site-front-end-lib/core';\r\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\r\nimport { CuraBadgeCounterComponent } from '@rededor/site-front-end-lib/cura/badges/cura-badge-counter';\r\nimport { CuraButtonComponent } from '@rededor/site-front-end-lib/cura/buttons/cura-button';\r\nimport { CuraButtonTransparentComponent } from '@rededor/site-front-end-lib/cura/buttons/cura-button-transparent';\r\nimport { CheckboxChangeEvent } from '@rededor/site-front-end-lib/cura/forms/cura-checkbox';\r\nimport { CuraCheckboxComponent } from '@rededor/site-front-end-lib/cura/forms/cura-checkbox';\r\nimport { CuraInputTextComponent } from '@rededor/site-front-end-lib/cura/forms/cura-input-text';\r\nimport { CuraLabelComponent } from '@rededor/site-front-end-lib/cura/forms/cura-label';\r\nimport { RadioChangeEvent } from '@rededor/site-front-end-lib/cura/forms/cura-radio';\r\nimport { CuraRadioComponent } from '@rededor/site-front-end-lib/cura/forms/cura-radio';\r\nimport { SelectSelectedEvent } from '@rededor/site-front-end-lib/cura/forms/cura-select';\r\nimport { CuraSelectComponent } from '@rededor/site-front-end-lib/cura/forms/cura-select';\r\nimport { CuraSelectOptionComponent } from '@rededor/site-front-end-lib/cura/forms/cura-select-option';\r\nimport { CuraIconComponent } from '@rededor/site-front-end-lib/cura/icons/cura-icon';\r\nimport { CuraHeadingComponent } from '@rededor/site-front-end-lib/cura/texts/cura-heading';\r\nimport { CuraParagraphComponent } from '@rededor/site-front-end-lib/cura/texts/cura-paragraph';\r\nimport { MediaQueries } from '@rededor/site-front-end-lib/shared';\r\n\r\n@Component({\r\n selector: 'rdsite-filter-generic',\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n CuraLabelComponent,\r\n CuraBadgeCounterComponent,\r\n CuraButtonTransparentComponent,\r\n CuraInputTextComponent,\r\n CuraIconComponent,\r\n CuraSelectComponent,\r\n CuraSelectOptionComponent,\r\n CuraHeadingComponent,\r\n CuraCheckboxComponent,\r\n CuraRadioComponent,\r\n CuraButtonComponent,\r\n CuraParagraphComponent,\r\n ],\r\n templateUrl: './filter-generic.component.html',\r\n styleUrls: ['./filter-generic.component.scss'],\r\n})\r\nexport class FilterGenericComponent implements OnInit {\r\n private readonly curaApiService = inject(CuraApiService);\r\n private readonly cdr = inject(ChangeDetectorRef);\r\n private readonly platformId = inject(PLATFORM_ID);\r\n\r\n readonly filterChange = output<FilterEvent>();\r\n readonly closeModal = output<boolean>();\r\n readonly openMobileFilter = output<void>();\r\n\r\n readonly withContainerStyle = input(true);\r\n readonly showClearButton = input(true);\r\n readonly showApplyButton = input(true);\r\n readonly showCloseButton = input(false);\r\n readonly disableButtons = input(false);\r\n readonly showBadge = input(true);\r\n readonly showToggleIcon = input(true);\r\n isFilterOpen = model(true);\r\n readonly mobileBehavior = input(false);\r\n readonly forceCollapsed = input(false);\r\n readonly emitOnReset = input(false);\r\n readonly textTitle = input('Filtrar por');\r\n readonly sections = input<FilterSection[]>([]);\r\n\r\n readonly windowWidth = signal(0);\r\n\r\n readonly selectedFiltersCount = computed(() => {\r\n return this.sections().reduce((count, section) => {\r\n if ((section.type !== 'custom' && !section.config?.control) || (section.type === 'custom' && !section.config?.count)) return count;\r\n\r\n const value = section.config.control?.value || null;\r\n\r\n switch (section.type) {\r\n case 'checkbox-group':\r\n return count + (Array.isArray(value) ? value.filter((item) => item?.checked).length : 0);\r\n case 'radio-group':\r\n return count + (value?.value ? 1 : 0);\r\n case 'custom':\r\n const customCount = section.config.count || 0;\r\n return count + customCount;\r\n default:\r\n return count + (value ? 1 : 0);\r\n }\r\n }, 0);\r\n });\r\n\r\n @HostBinding('style') styleBinding = {\r\n '--font-family': this.curaApiService.theme.fonts.getFamily(''),\r\n '--neutral-opacity-black': this.curaApiService.theme.colors.getColor('neutral-black', 0.2),\r\n '--neutral-dark': this.curaApiService.theme.colors.getColor('neutral-dark'),\r\n '--neutral-darker': this.curaApiService.theme.colors.getColor('neutral-darker'),\r\n '--neutral-medium': this.curaApiService.theme.colors.getColor('neutral-medium'),\r\n '--neutral-light': this.curaApiService.theme.colors.getColor('neutral-light'),\r\n '--neutral-lighter': this.curaApiService.theme.colors.getColor('neutral-lighter'),\r\n '--neutral-purewhite': this.curaApiService.theme.colors.getColor('neutral-purewhite'),\r\n '--primary-base': this.curaApiService.theme.colors.getColor('primary-base'),\r\n '--primary-lighter': this.curaApiService.theme.colors.getColor('primary-lighter'),\r\n };\r\n\r\n ngOnInit(): void {\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.windowWidth.set(window.innerWidth);\r\n }\r\n\r\n if (this.forceCollapsed() && this.isMobile()) {\r\n this.isFilterOpen.set(false);\r\n }\r\n }\r\n\r\n handleInputChange(event: string | number, control: FormControl): void {\r\n control.setValue(event);\r\n }\r\n\r\n handleSelectChange({ value }: SelectSelectedEvent, control: FormControl): void {\r\n if (value !== undefined) {\r\n control.setValue(value);\r\n }\r\n }\r\n\r\n handleCheckboxChange({ value, checked }: CheckboxChangeEvent, options: any[]): void {\r\n const changedOption = options.find((opt) => opt.value === value);\r\n if (changedOption) changedOption.checked = checked;\r\n\r\n this.updateCheckboxGroup(options);\r\n }\r\n\r\n handleRadioChange({ value }: RadioChangeEvent, control: FormControl): void {\r\n const selectedValue = value;\r\n control.setValue(control.value?.value === selectedValue ? null : { value: selectedValue });\r\n }\r\n\r\n filter(): void {\r\n this.emitFilterChange('filter');\r\n if (this.mobileBehavior() || this.showCloseButton()) this.close();\r\n }\r\n\r\n reset(): void {\r\n this.resetAllControls();\r\n\r\n if (this.emitOnReset()) {\r\n this.emitFilterChange('reset');\r\n this.close();\r\n }\r\n }\r\n\r\n close(): void {\r\n this.closeModal.emit(true);\r\n }\r\n\r\n toggleFilter(): void {\r\n if (this.mobileBehavior() && this.isMobile()) {\r\n this.openMobileFilter.emit(undefined);\r\n } else {\r\n this.isFilterOpen.set(!this.isFilterOpen());\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n hasSelection(): boolean {\r\n return this.selectedFiltersCount() > 0;\r\n }\r\n\r\n readonly isMobile = computed(() => {\r\n return this.windowWidth() <= MediaQueries.smallBreakpoint;\r\n });\r\n\r\n getRadioGroupValue(control?: FormControl<FilterControlValue>): any {\r\n const value = control?.value;\r\n return value && typeof value === 'object' && 'value' in value ? value.value : null;\r\n }\r\n\r\n hasScroll(section: FilterSection): boolean {\r\n switch (section.type) {\r\n case 'checkbox-group':\r\n return section.config.options && section.config.options.length > 6;\r\n case 'radio-group':\r\n return section.config.options && section.config.options.length > 6;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n getSectionClass(section: FilterSection): string {\r\n return this.hasScroll(section) ? 'scrollable' : '';\r\n }\r\n\r\n shouldHandleMobileClick(): boolean {\r\n return this.mobileBehavior() && this.isMobile() && this.forceCollapsed();\r\n }\r\n\r\n handleMobileClick(): void {\r\n if (this.shouldHandleMobileClick()) {\r\n this.openMobileFilter.emit();\r\n }\r\n }\r\n\r\n private emitFilterChange(action: FilterAction): void {\r\n const filterData = this.buildFilterData();\r\n const isEmpty = this.isFilterDataEmpty(filterData);\r\n\r\n this.filterChange.emit({\r\n data: this.emitOnReset() || !isEmpty ? filterData : null,\r\n action: action,\r\n });\r\n }\r\n\r\n private resetAllControls(): void {\r\n this.sections().forEach((section) => {\r\n if (!section.config?.control) return;\r\n\r\n if (section.type === 'checkbox-group') {\r\n const resetOptions = section?.config?.options?.map((option: any) => ({ ...option, checked: false })) || [];\r\n section.config.options = resetOptions;\r\n section.config.control.setValue(resetOptions, { emitEvent: false });\r\n } else {\r\n section.config.control.reset('', { emitEvent: false });\r\n }\r\n });\r\n }\r\n\r\n private updateCheckboxGroup(options: any[]): void {\r\n this.sections()\r\n .filter((section) => section.type === 'checkbox-group')\r\n .forEach((section) => {\r\n section.config.options = [...options];\r\n section.config.control.setValue([...options]);\r\n });\r\n }\r\n\r\n private buildFilterData(): FilterPlanosConveniosChange | any {\r\n const filterData: FilterPlanosConveniosChange = {\r\n unidade: '',\r\n estado: '',\r\n cobertura: [],\r\n };\r\n\r\n this.sections().forEach((section) => {\r\n if (!section.config?.control) return;\r\n\r\n const value = section.config.control.value;\r\n\r\n switch (section.type) {\r\n case 'input':\r\n filterData.unidade = value || '';\r\n break;\r\n case 'select':\r\n filterData.estado = value || '';\r\n break;\r\n case 'checkbox-group':\r\n filterData.cobertura = Array.isArray(value) ? value.filter((item) => item.checked) : [];\r\n break;\r\n }\r\n });\r\n\r\n return filterData;\r\n }\r\n\r\n private isFilterDataEmpty(filterData: FilterPlanosConveniosChange): boolean {\r\n return Object.values(filterData).every((val) => val === null || val === '' || (Array.isArray(val) && val.length === 0));\r\n }\r\n}\r\n","<div\r\n class=\"filter-generic\"\r\n [ngClass]=\"{ 'container-style': withContainerStyle(), 'clickable-mobile': shouldHandleMobileClick() }\"\r\n aria-label=\"Filtros\"\r\n (click)=\"handleMobileClick()\"\r\n>\r\n <div class=\"filter-header-container\" [ngClass]=\"{ 'no-padding': !isFilterOpen(), hidden: !isFilterOpen() }\">\r\n <div class=\"filter-title-wrapper\">\r\n <cura-label size=\"medium\" level=\"4\" color=\"neutral-black\" weight=\"regular\" marginBlock=\"0\" lineHeight=\"16px\">\r\n {{ textTitle() }}\r\n </cura-label>\r\n\r\n @if (showBadge()) {\r\n <cura-badge-counter\r\n [type]=\"'solid'\"\r\n [color]=\"hasSelection() ? 'primary' : 'neutral'\"\r\n [number]=\"selectedFiltersCount()\"\r\n class=\"filter-badge\"\r\n ></cura-badge-counter>\r\n }\r\n </div>\r\n\r\n @if (showToggleIcon()) {\r\n <cura-button-transparent\r\n size=\"small\"\r\n fontColor=\"dark\"\r\n color=\"primary\"\r\n textAlign=\"center\"\r\n (click)=\"toggleFilter()\"\r\n [attr.aria-expanded]=\"isFilterOpen()\"\r\n [ariaLabel]=\"isFilterOpen() ? 'Fechar filtros' : 'Abrir filtros'\"\r\n >\r\n <cura-icon [name]=\"isFilterOpen() ? 'up' : 'down'\" size=\"16\" class=\"filter-icon\" color=\"primary-dark\"></cura-icon>\r\n </cura-button-transparent>\r\n }\r\n </div>\r\n\r\n <div class=\"filter-content\" [class.hidden]=\"!isFilterOpen() || (forceCollapsed() && isMobile())\">\r\n @for (section of sections(); track section.type) {\r\n @if (section.visible !== false) {\r\n <div class=\"filter-section\">\r\n @switch (section.type) {\r\n @case ('input') {\r\n <cura-input-text\r\n [placeholder]=\"section.config.placeholder || ''\"\r\n [name]=\"section.config.name || ''\"\r\n [iconName]=\"section.config.iconName || ''\"\r\n [value]=\"section.config.control.value\"\r\n (valueChange)=\"handleInputChange($event, section.config.control)\"\r\n ></cura-input-text>\r\n }\r\n @case ('select') {\r\n <cura-select\r\n [label]=\"section.config.label || ''\"\r\n [placeholder]=\"section.config.placeholder || ''\"\r\n [value]=\"section.config.control.value\"\r\n (selected)=\"handleSelectChange($event, section.config.control)\"\r\n >\r\n @if (section.config.includeDefaultOption) {\r\n <cura-select-option [value]=\"''\">{{ section.config.defaultOptionText || 'Faça a sua Seleção' }}</cura-select-option>\r\n }\r\n @for (option of section.config.options || []; track option?.value) {\r\n <cura-select-option [value]=\"option?.value\">{{ option?.label }}</cura-select-option>\r\n }\r\n </cura-select>\r\n }\r\n @case ('checkbox-group') {\r\n @if (section.config.title) {\r\n <div class=\"filter-header\">\r\n <cura-icon name=\"filter\" size=\"20\" color=\"info-dark\"></cura-icon>\r\n <cura-heading size=\"xsmall\" [level]=\"5\" weight=\"bold\" color=\"neutral-black\" marginBlock=\"0\" lineHeight=\"16px\">\r\n {{ section.config.title }}\r\n </cura-heading>\r\n </div>\r\n }\r\n\r\n @if (section.config.subtitle) {\r\n <div class=\"filter-subtitle\">\r\n <cura-heading size=\"xsmall\" weight=\"bold\" color=\"neutral-black\" marginBlock=\"0\">\r\n {{ section.config.subtitle }}\r\n </cura-heading>\r\n </div>\r\n }\r\n\r\n @if (section.config.description) {\r\n <div class=\"filter-description\">\r\n <cura-paragraph size=\"xsmall\" color=\"neutral-dark\" marginBlock=\"0\">\r\n {{ section.config.description }}\r\n </cura-paragraph>\r\n </div>\r\n }\r\n\r\n <div class=\"filter-checkboxes\" [class.scrollable]=\"hasScroll(section)\">\r\n @for (option of section.config.options || []; track option.value) {\r\n <cura-checkbox\r\n color=\"primary\"\r\n size=\"small\"\r\n iconColor=\"light\"\r\n [name]=\"option.label\"\r\n [label]=\"option.label\"\r\n [value]=\"option.value\"\r\n [checked]=\"option.checked || false\"\r\n (onchange)=\"handleCheckboxChange($event, section.config.options)\"\r\n ></cura-checkbox>\r\n }\r\n </div>\r\n }\r\n @case ('radio-group') {\r\n <div class=\"filter-radios\" [class.scrollable]=\"hasScroll(section)\">\r\n @for (option of section.config.options || []; track option?.value) {\r\n <cura-radio\r\n [name]=\"section.config.name || 'radio-group'\"\r\n [label]=\"option.label\"\r\n [value]=\"option.value\"\r\n [checked]=\"getRadioGroupValue(section.config.control) === option.value\"\r\n (onchange)=\"handleRadioChange($event, section.config.control)\"\r\n ></cura-radio>\r\n }\r\n </div>\r\n }\r\n @case ('custom') {\r\n <ng-container *ngTemplateOutlet=\"section.config.template\"></ng-container>\r\n }\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n\r\n <div class=\"filter-actions\" [class.hidden]=\"!isFilterOpen() || (forceCollapsed() && isMobile())\">\r\n <div class=\"main-actions\">\r\n @if (showClearButton()) {\r\n <cura-button-transparent\r\n size=\"small\"\r\n fontColor=\"dark\"\r\n color=\"primary\"\r\n textAlign=\"center\"\r\n [disabled]=\"disableButtons() || !hasSelection()\"\r\n (click)=\"reset()\"\r\n >\r\n <span>Limpar todos os filtros</span>\r\n </cura-button-transparent>\r\n }\r\n\r\n @if (showApplyButton()) {\r\n <cura-button\r\n size=\"medium\"\r\n fontColor=\"light\"\r\n color=\"primary\"\r\n textAlign=\"center\"\r\n (click)=\"filter()\"\r\n [disabled]=\"disableButtons() || !hasSelection()\"\r\n class=\"filter-button\"\r\n >\r\n Filtrar\r\n </cura-button>\r\n }\r\n </div>\r\n\r\n @if (showCloseButton()) {\r\n <div class=\"divider-strong\"></div>\r\n <div class=\"close-action-wrapper\">\r\n <div class=\"close-action\" (click)=\"close()\">\r\n <cura-icon name=\"close\" color=\"error-dark\" size=\"small\"></cura-icon>\r\n <cura-button-transparent type=\"button\" color=\"error\" target=\"_self\"> Fechar </cura-button-transparent>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -136,11 +136,11 @@ class FooterComponent {
|
|
|
136
136
|
this.footerCookieClick.emit(event);
|
|
137
137
|
}
|
|
138
138
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
139
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: FooterComponent, isStandalone: true, selector: "footer[sl-ftr]", inputs: { project: { classPropertyName: "project", publicName: "project", isSignal: true, isRequired: false, transformFunction: null }, theme: { classPropertyName: "theme", publicName: "theme", isSignal: true, isRequired: false, transformFunction: null }, disclaimer: { classPropertyName: "disclaimer", publicName: "disclaimer", isSignal: true, isRequired: false, transformFunction: null }, linkPrivacyFooter: { classPropertyName: "linkPrivacyFooter", publicName: "linkPrivacyFooter", isSignal: true, isRequired: false, transformFunction: null }, logo: { classPropertyName: "logo", publicName: "logo", isSignal: true, isRequired: false, transformFunction: null }, partnerLogo: { classPropertyName: "partnerLogo", publicName: "partnerLogo", isSignal: true, isRequired: false, transformFunction: null }, phone: { classPropertyName: "phone", publicName: "phone", isSignal: true, isRequired: false, transformFunction: null }, socialMenu: { classPropertyName: "socialMenu", publicName: "socialMenu", isSignal: true, isRequired: false, transformFunction: null }, logoWidth: { classPropertyName: "logoWidth", publicName: "logoWidth", isSignal: true, isRequired: false, transformFunction: null }, footerMenu: { classPropertyName: "footerMenu", publicName: "footerMenu", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { footerPrivacyClick: "footerPrivacyClick", footerCookieClick: "footerCookieClick", footerSocialMediaClick: "footerSocialMediaClick", footerMenuItemClick: "footerMenuItemClick" }, ngImport: i0, template: "<div class=\"sl-ftr-content\">\n <div>\n <div class=\"sl-ftr-contact\">\n @if (logo()) {\n <div class=\"logo\">\n <img [src]=\"logo()?.url\" [alt]=\"logo()?.alt\" [title]=\"logo()?.title\" loading=\"lazy\" fetchpriority=\"low\" />\n </div>\n }\n @if (partnerLogo()) {\n <div class=\"partner-logo\">\n <img [src]=\"partnerLogo()?.url\" [alt]=\"partnerLogo()?.alt\" [title]=\"partnerLogo()?.title\" loading=\"lazy\" fetchpriority=\"low\" />\n </div>\n }\n @if (phone()) {\n <div class=\"phone\">\n <a rdsitelink href=\"tel:{{ phone() }}\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#phone'\"></use>\n </svg>\n {{ phone() }}\n </a>\n </div>\n }\n </div>\n\n <nav class=\"sl-ftr-medias\">\n <ul>\n @for (social of socialMenu(); track social.title) {\n <li>\n <a [href]=\"social.link\" rdsitelink [title]=\"social.title\" (click)=\"footerSocialMediaClicked($event)\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#' + social.icon\"></use>\n </svg>\n </a>\n </li>\n }\n </ul>\n </nav>\n </div>\n\n <div class=\"content-menu\">\n @if (footerMenu().length) {\n <div class=\"sl-ftr-menu\">\n <nav>\n <ul class=\"sl-ftr-menu-list\">\n @for (menu of footerMenu(); track menu.title) {\n <li class=\"sl-ftr-menu-list-item\">\n @if (menu.title) {\n <div class=\"sl-ftr-menu-item\" [ngClass]=\"{ 'have-children': menu.children?.length }\" (click)=\"toggleSubMenu($event, menu)\">\n <a\n class=\"sl-ftr-menu-item-link\"\n [href]=\"menu.url\"\n rdsitelink\n [title]=\"menu.title\"\n (click)=\"toggleSubMenu($event, menu); footerMenuItemClicked($event)\"\n >\n {{ menu.title }}\n </a>\n\n @if (menu.children?.length) {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#' + (menu.active ? 'up' : 'down')\"></use>\n </svg>\n }\n </div>\n\n @if (menu.children?.length) {\n <ul class=\"sl-ftr-menu-item-children\" [ngClass]=\"{ closed: !menu.active }\">\n @for (submenu of menu.children; track submenu.title) {\n <li class=\"sl-ftr-menu-item-children-item\">\n <div class=\"sl-ftr-menu-item alt\">\n <a class=\"sl-ftr-menu-item-link\" [href]=\"submenu.url\" rdsitelink [title]=\"submenu.title\" (click)=\"footerMenuItemClicked($event)\">\n {{ submenu.title }}\n </a>\n </div>\n </li>\n }\n </ul>\n }\n }\n </li>\n }\n </ul>\n </nav>\n </div>\n }\n </div>\n</div>\n\n<div class=\"sl-ftr-disc\">\n <div class=\"disc-content\">\n <div class=\"disc-content-copy\">\u00A9{{ currentYear }} {{ disclaimer() }}</div>\n <ul class=\"disc-content-links\">\n <li>\n <a [href]=\"linkPrivacyFooter() || '#'\" target=\"_blank\" data-testid=\"_avisoPrivacidade\" (click)=\"footerPrivacyClicked($event)\"> Aviso de Privacidade </a>\n </li>\n <li>\n <button (click)=\"privacyTools.openCookieBanner(); footerCookieClicked($event)\" data-testid=\"_avisoCookies\">Aviso de Cookies</button>\n </li>\n </ul>\n </div>\n</div>\n", styles: ["footer[sl-ftr]{min-height:530px;background-color:var(--ftr-bg-color);display:grid!important;grid-template-areas:\". . .\" \". content .\" \". . .\" \"disc disc disc\";grid-template-columns:minmax(10%,1fr) minmax(auto,1229.4px) minmax(10%,1fr);grid-template-rows:48px 1fr 48px auto}footer[sl-ftr] *{font-family:Gotham,Arial,Helvetica,sans-serif!important}footer[sl-ftr] svg{stroke:#fff;stroke-width:2.25px;fill:none}footer[sl-ftr] .sl-ftr-content{grid-area:content;display:flex;flex-direction:column;align-items:flex-start;gap:32px}footer[sl-ftr] .sl-ftr-content .content-menu{width:100%}footer[sl-ftr] .sl-ftr-disc{grid-area:disc}@media only screen and (min-width: 1024px){footer[sl-ftr]{grid-template-columns:minmax(5%,1fr) minmax(auto,1229.4px) minmax(5%,1fr)}footer[sl-ftr] .sl-ftr-content{flex-direction:row;gap:44px}}.sl-ftr-menu{display:flex;flex-direction:column;padding-top:20px}.sl-ftr-menu nav{width:100%;height:auto;flex:auto;column-count:unset}@media only screen and (min-width: 1024px){.sl-ftr-menu{flex-direction:row}.sl-ftr-menu nav{flex:3 1 0;column-count:3}}a.sl-ftr-menu-item-link{text-align:left;padding:8px 0;text-decoration:none;font-style:normal}.sl-ftr-menu-list{list-style:none}.sl-ftr-menu-list .sl-ftr-menu-item{display:flex;align-items:center;justify-content:space-between;background-color:transparent;width:auto;cursor:pointer}.sl-ftr-menu-list .sl-ftr-menu-item a.sl-ftr-menu-item-link{color:var(--ftr-color);font-size:14px;font-weight:500;line-height:16px;min-height:35px;letter-spacing:.56px}.sl-ftr-menu-list .sl-ftr-menu-item:hover a{color:var(--ftr-menu-hover-color)}.sl-ftr-menu-list .sl-ftr-menu-item:hover svg{stroke:var(--ftr-menu-hover-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item:active a{color:var(--ftr-menu-active-color)}.sl-ftr-menu-list .sl-ftr-menu-item:active svg{stroke:var(--ftr-menu-active-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.alt a.sl-ftr-menu-item-link{color:var(--ftr-alt-color);font-size:12px;font-weight:300}.sl-ftr-menu-list .sl-ftr-menu-item.alt:hover a{color:var(--ftr-menu-alt-hover-color)}.sl-ftr-menu-list .sl-ftr-menu-item.alt:hover svg{stroke:var(--ftr-menu-alt-hover-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.alt:active a{color:var(--ftr-menu-alt-active-color)}.sl-ftr-menu-list .sl-ftr-menu-item.alt:active svg{stroke:var(--ftr-menu-alt-active-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.have-children{width:100%}.sl-ftr-menu-list .sl-ftr-menu-item svg{display:inline}.sl-ftr-menu-list .sl-ftr-menu-item-children{list-style:none}.sl-ftr-menu-list .sl-ftr-menu-item-children.closed{display:none}.sl-ftr-menu-list .sl-ftr-menu-item-children-item{margin:0 0 0 12px}@media only screen and (min-width: 1024px){.sl-ftr-menu-list .sl-ftr-menu-item svg{display:none}.sl-ftr-menu-list .sl-ftr-menu-item.have-children{width:auto}.sl-ftr-menu-list .sl-ftr-menu-item-children.closed{display:block}.sl-ftr-menu-list .sl-ftr-menu-item-children-item{margin:0 0 0 12px}}.sl-ftr-contact{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:20px 16px;margin-bottom:20px;width:100%;min-height:77px}.sl-ftr-contact img{width:var(--logo-width, 72px);height:50px;object-fit:contain}.sl-ftr-contact .logo{display:contents}.sl-ftr-contact .logo:after{content:\"\";width:1px;height:60px;background-color:var(--ftr-color)}.sl-ftr-contact .partner-logo{display:contents}.sl-ftr-contact .phone a{display:flex;justify-content:center;align-items:center;gap:12px;font-size:17px;font-weight:500;color:var(--ftr-color);text-decoration:none}@media only screen and (min-width: 361px){.sl-ftr-contact{width:280px}.sl-ftr-contact .phone a{font-size:19px}}@media only screen and (min-width: 1024px){.sl-ftr-contact{gap:20px 24px;width:328px}}nav.sl-ftr-medias ul{list-style:none;display:flex;gap:16px 0px;flex-wrap:wrap;width:100%}nav.sl-ftr-medias ul li{display:flex;justify-content:center;align-items:center;border-radius:100%;border:1px solid #ffffff;width:36px;height:36px;margin-right:12px}nav.sl-ftr-medias ul li a{display:flex;justify-content:center;align-items:center;border-radius:100%;width:36px;height:36px;text-decoration:none}@media only screen and (min-width: 361px){nav.sl-ftr-medias ul li{margin-right:15px}}@media only screen and (min-width: 1024px){nav.sl-ftr-medias ul{flex-wrap:nowrap}}.sl-ftr-disc{background-color:var(--ftr-disc-bg-color);display:grid!important;grid-template-areas:\". disc-content .\";grid-template-columns:minmax(5%,1fr) minmax(auto,1229.4px) minmax(5%,1fr);grid-template-rows:auto}.sl-ftr-disc .disc-content{grid-area:disc-content;height:auto;padding:12px 0;display:flex;align-items:flex-start;justify-content:flex-start;gap:8px;flex-direction:column}.sl-ftr-disc .disc-content-copy{font-size:12px;font-style:normal;font-weight:500;text-transform:uppercase;color:var(--ftr-disc-color)}.sl-ftr-disc .disc-content-links{list-style:none;display:flex;flex-direction:row;align-items:flex-start;flex-wrap:wrap;gap:0px 36px}.sl-ftr-disc .disc-content-links li a,.sl-ftr-disc .disc-content-links li button{font-size:12px;font-style:normal;font-weight:500;color:var(--ftr-disc-alt-color);text-decoration:none;cursor:pointer;background:transparent}@media only screen and (min-width: 1024px){.sl-ftr-disc .disc-content{height:40px;padding:0;align-items:center;flex-direction:row;gap:36px}.sl-ftr-disc .disc-content-links{gap:36px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RdsiteLinkDirective, selector: "[rdsitelink]", inputs: ["anchorAdjustment", "anchorExtraAdjustment", "phonemodal"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
139
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: FooterComponent, isStandalone: true, selector: "footer[sl-ftr]", inputs: { project: { classPropertyName: "project", publicName: "project", isSignal: true, isRequired: false, transformFunction: null }, theme: { classPropertyName: "theme", publicName: "theme", isSignal: true, isRequired: false, transformFunction: null }, disclaimer: { classPropertyName: "disclaimer", publicName: "disclaimer", isSignal: true, isRequired: false, transformFunction: null }, linkPrivacyFooter: { classPropertyName: "linkPrivacyFooter", publicName: "linkPrivacyFooter", isSignal: true, isRequired: false, transformFunction: null }, logo: { classPropertyName: "logo", publicName: "logo", isSignal: true, isRequired: false, transformFunction: null }, partnerLogo: { classPropertyName: "partnerLogo", publicName: "partnerLogo", isSignal: true, isRequired: false, transformFunction: null }, phone: { classPropertyName: "phone", publicName: "phone", isSignal: true, isRequired: false, transformFunction: null }, socialMenu: { classPropertyName: "socialMenu", publicName: "socialMenu", isSignal: true, isRequired: false, transformFunction: null }, logoWidth: { classPropertyName: "logoWidth", publicName: "logoWidth", isSignal: true, isRequired: false, transformFunction: null }, footerMenu: { classPropertyName: "footerMenu", publicName: "footerMenu", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { footerPrivacyClick: "footerPrivacyClick", footerCookieClick: "footerCookieClick", footerSocialMediaClick: "footerSocialMediaClick", footerMenuItemClick: "footerMenuItemClick" }, ngImport: i0, template: "<div class=\"sl-ftr-content\">\r\n <div>\r\n <div class=\"sl-ftr-contact\">\r\n @if (logo()) {\r\n <div class=\"logo\">\r\n <img [src]=\"logo()?.url\" [alt]=\"logo()?.alt\" [title]=\"logo()?.title\" loading=\"lazy\" fetchpriority=\"low\" />\r\n </div>\r\n }\r\n @if (partnerLogo()) {\r\n <div class=\"partner-logo\">\r\n <img [src]=\"partnerLogo()?.url\" [alt]=\"partnerLogo()?.alt\" [title]=\"partnerLogo()?.title\" loading=\"lazy\" fetchpriority=\"low\" />\r\n </div>\r\n }\r\n @if (phone()) {\r\n <div class=\"phone\">\r\n <a rdsitelink href=\"tel:{{ phone() }}\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#phone'\"></use>\r\n </svg>\r\n {{ phone() }}\r\n </a>\r\n </div>\r\n }\r\n </div>\r\n\r\n <nav class=\"sl-ftr-medias\">\r\n <ul>\r\n @for (social of socialMenu(); track social.title) {\r\n <li>\r\n <a [href]=\"social.link\" rdsitelink [title]=\"social.title\" (click)=\"footerSocialMediaClicked($event)\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#' + social.icon\"></use>\r\n </svg>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n </nav>\r\n </div>\r\n\r\n <div class=\"content-menu\">\r\n @if (footerMenu().length) {\r\n <div class=\"sl-ftr-menu\">\r\n <nav>\r\n <ul class=\"sl-ftr-menu-list\">\r\n @for (menu of footerMenu(); track menu.title) {\r\n <li class=\"sl-ftr-menu-list-item\">\r\n @if (menu.title) {\r\n <div class=\"sl-ftr-menu-item\" [ngClass]=\"{ 'have-children': menu.children?.length }\" (click)=\"toggleSubMenu($event, menu)\">\r\n <a\r\n class=\"sl-ftr-menu-item-link\"\r\n [href]=\"menu.url\"\r\n rdsitelink\r\n [title]=\"menu.title\"\r\n (click)=\"toggleSubMenu($event, menu); footerMenuItemClicked($event)\"\r\n >\r\n {{ menu.title }}\r\n </a>\r\n\r\n @if (menu.children?.length) {\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#' + (menu.active ? 'up' : 'down')\"></use>\r\n </svg>\r\n }\r\n </div>\r\n\r\n @if (menu.children?.length) {\r\n <ul class=\"sl-ftr-menu-item-children\" [ngClass]=\"{ closed: !menu.active }\">\r\n @for (submenu of menu.children; track submenu.title) {\r\n <li class=\"sl-ftr-menu-item-children-item\">\r\n <div class=\"sl-ftr-menu-item alt\">\r\n <a class=\"sl-ftr-menu-item-link\" [href]=\"submenu.url\" rdsitelink [title]=\"submenu.title\" (click)=\"footerMenuItemClicked($event)\">\r\n {{ submenu.title }}\r\n </a>\r\n </div>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n }\r\n </li>\r\n }\r\n </ul>\r\n </nav>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n<div class=\"sl-ftr-disc\">\r\n <div class=\"disc-content\">\r\n <div class=\"disc-content-copy\">\u00A9{{ currentYear }} {{ disclaimer() }}</div>\r\n <ul class=\"disc-content-links\">\r\n <li>\r\n <a [href]=\"linkPrivacyFooter() || '#'\" target=\"_blank\" data-testid=\"_avisoPrivacidade\" (click)=\"footerPrivacyClicked($event)\"> Aviso de Privacidade </a>\r\n </li>\r\n <li>\r\n <button (click)=\"privacyTools.openCookieBanner(); footerCookieClicked($event)\" data-testid=\"_avisoCookies\">Aviso de Cookies</button>\r\n </li>\r\n </ul>\r\n </div>\r\n</div>\r\n", styles: ["footer[sl-ftr]{min-height:530px;background-color:var(--ftr-bg-color);display:grid!important;grid-template-areas:\". . .\" \". content .\" \". . .\" \"disc disc disc\";grid-template-columns:minmax(10%,1fr) minmax(auto,1229.4px) minmax(10%,1fr);grid-template-rows:48px 1fr 48px auto}footer[sl-ftr] *{font-family:Gotham,Arial,Helvetica,sans-serif!important}footer[sl-ftr] svg{stroke:#fff;stroke-width:2.25px;fill:none}footer[sl-ftr] .sl-ftr-content{grid-area:content;display:flex;flex-direction:column;align-items:flex-start;gap:32px}footer[sl-ftr] .sl-ftr-content .content-menu{width:100%}footer[sl-ftr] .sl-ftr-disc{grid-area:disc}@media only screen and (min-width: 1024px){footer[sl-ftr]{grid-template-columns:minmax(5%,1fr) minmax(auto,1229.4px) minmax(5%,1fr)}footer[sl-ftr] .sl-ftr-content{flex-direction:row;gap:44px}}.sl-ftr-menu{display:flex;flex-direction:column;padding-top:20px}.sl-ftr-menu nav{width:100%;height:auto;flex:auto;column-count:unset}@media only screen and (min-width: 1024px){.sl-ftr-menu{flex-direction:row}.sl-ftr-menu nav{flex:3 1 0;column-count:3}}a.sl-ftr-menu-item-link{text-align:left;padding:8px 0;text-decoration:none;font-style:normal}.sl-ftr-menu-list{list-style:none}.sl-ftr-menu-list .sl-ftr-menu-item{display:flex;align-items:center;justify-content:space-between;background-color:transparent;width:auto;cursor:pointer}.sl-ftr-menu-list .sl-ftr-menu-item a.sl-ftr-menu-item-link{color:var(--ftr-color);font-size:14px;font-weight:500;line-height:16px;min-height:35px;letter-spacing:.56px}.sl-ftr-menu-list .sl-ftr-menu-item:hover a{color:var(--ftr-menu-hover-color)}.sl-ftr-menu-list .sl-ftr-menu-item:hover svg{stroke:var(--ftr-menu-hover-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item:active a{color:var(--ftr-menu-active-color)}.sl-ftr-menu-list .sl-ftr-menu-item:active svg{stroke:var(--ftr-menu-active-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.alt a.sl-ftr-menu-item-link{color:var(--ftr-alt-color);font-size:12px;font-weight:300}.sl-ftr-menu-list .sl-ftr-menu-item.alt:hover a{color:var(--ftr-menu-alt-hover-color)}.sl-ftr-menu-list .sl-ftr-menu-item.alt:hover svg{stroke:var(--ftr-menu-alt-hover-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.alt:active a{color:var(--ftr-menu-alt-active-color)}.sl-ftr-menu-list .sl-ftr-menu-item.alt:active svg{stroke:var(--ftr-menu-alt-active-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.have-children{width:100%}.sl-ftr-menu-list .sl-ftr-menu-item svg{display:inline}.sl-ftr-menu-list .sl-ftr-menu-item-children{list-style:none}.sl-ftr-menu-list .sl-ftr-menu-item-children.closed{display:none}.sl-ftr-menu-list .sl-ftr-menu-item-children-item{margin:0 0 0 12px}@media only screen and (min-width: 1024px){.sl-ftr-menu-list .sl-ftr-menu-item svg{display:none}.sl-ftr-menu-list .sl-ftr-menu-item.have-children{width:auto}.sl-ftr-menu-list .sl-ftr-menu-item-children.closed{display:block}.sl-ftr-menu-list .sl-ftr-menu-item-children-item{margin:0 0 0 12px}}.sl-ftr-contact{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:20px 16px;margin-bottom:20px;width:100%;min-height:77px}.sl-ftr-contact img{width:var(--logo-width, 72px);height:50px;object-fit:contain}.sl-ftr-contact .logo{display:contents}.sl-ftr-contact .logo:after{content:\"\";width:1px;height:60px;background-color:var(--ftr-color)}.sl-ftr-contact .partner-logo{display:contents}.sl-ftr-contact .phone a{display:flex;justify-content:center;align-items:center;gap:12px;font-size:17px;font-weight:500;color:var(--ftr-color);text-decoration:none}@media only screen and (min-width: 361px){.sl-ftr-contact{width:280px}.sl-ftr-contact .phone a{font-size:19px}}@media only screen and (min-width: 1024px){.sl-ftr-contact{gap:20px 24px;width:328px}}nav.sl-ftr-medias ul{list-style:none;display:flex;gap:16px 0px;flex-wrap:wrap;width:100%}nav.sl-ftr-medias ul li{display:flex;justify-content:center;align-items:center;border-radius:100%;border:1px solid #ffffff;width:36px;height:36px;margin-right:12px}nav.sl-ftr-medias ul li a{display:flex;justify-content:center;align-items:center;border-radius:100%;width:36px;height:36px;text-decoration:none}@media only screen and (min-width: 361px){nav.sl-ftr-medias ul li{margin-right:15px}}@media only screen and (min-width: 1024px){nav.sl-ftr-medias ul{flex-wrap:nowrap}}.sl-ftr-disc{background-color:var(--ftr-disc-bg-color);display:grid!important;grid-template-areas:\". disc-content .\";grid-template-columns:minmax(5%,1fr) minmax(auto,1229.4px) minmax(5%,1fr);grid-template-rows:auto}.sl-ftr-disc .disc-content{grid-area:disc-content;height:auto;padding:12px 0;display:flex;align-items:flex-start;justify-content:flex-start;gap:8px;flex-direction:column}.sl-ftr-disc .disc-content-copy{font-size:12px;font-style:normal;font-weight:500;text-transform:uppercase;color:var(--ftr-disc-color)}.sl-ftr-disc .disc-content-links{list-style:none;display:flex;flex-direction:row;align-items:flex-start;flex-wrap:wrap;gap:0px 36px}.sl-ftr-disc .disc-content-links li a,.sl-ftr-disc .disc-content-links li button{font-size:12px;font-style:normal;font-weight:500;color:var(--ftr-disc-alt-color);text-decoration:none;cursor:pointer;background:transparent}@media only screen and (min-width: 1024px){.sl-ftr-disc .disc-content{height:40px;padding:0;align-items:center;flex-direction:row;gap:36px}.sl-ftr-disc .disc-content-links{gap:36px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RdsiteLinkDirective, selector: "[rdsitelink]", inputs: ["anchorAdjustment", "anchorExtraAdjustment", "phonemodal"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
140
140
|
}
|
|
141
141
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: FooterComponent, decorators: [{
|
|
142
142
|
type: Component,
|
|
143
|
-
args: [{ selector: 'footer[sl-ftr]', imports: [CommonModule, RdsiteLinkDirective], encapsulation: ViewEncapsulation.None, template: "<div class=\"sl-ftr-content\">\n <div>\n <div class=\"sl-ftr-contact\">\n @if (logo()) {\n <div class=\"logo\">\n <img [src]=\"logo()?.url\" [alt]=\"logo()?.alt\" [title]=\"logo()?.title\" loading=\"lazy\" fetchpriority=\"low\" />\n </div>\n }\n @if (partnerLogo()) {\n <div class=\"partner-logo\">\n <img [src]=\"partnerLogo()?.url\" [alt]=\"partnerLogo()?.alt\" [title]=\"partnerLogo()?.title\" loading=\"lazy\" fetchpriority=\"low\" />\n </div>\n }\n @if (phone()) {\n <div class=\"phone\">\n <a rdsitelink href=\"tel:{{ phone() }}\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#phone'\"></use>\n </svg>\n {{ phone() }}\n </a>\n </div>\n }\n </div>\n\n <nav class=\"sl-ftr-medias\">\n <ul>\n @for (social of socialMenu(); track social.title) {\n <li>\n <a [href]=\"social.link\" rdsitelink [title]=\"social.title\" (click)=\"footerSocialMediaClicked($event)\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#' + social.icon\"></use>\n </svg>\n </a>\n </li>\n }\n </ul>\n </nav>\n </div>\n\n <div class=\"content-menu\">\n @if (footerMenu().length) {\n <div class=\"sl-ftr-menu\">\n <nav>\n <ul class=\"sl-ftr-menu-list\">\n @for (menu of footerMenu(); track menu.title) {\n <li class=\"sl-ftr-menu-list-item\">\n @if (menu.title) {\n <div class=\"sl-ftr-menu-item\" [ngClass]=\"{ 'have-children': menu.children?.length }\" (click)=\"toggleSubMenu($event, menu)\">\n <a\n class=\"sl-ftr-menu-item-link\"\n [href]=\"menu.url\"\n rdsitelink\n [title]=\"menu.title\"\n (click)=\"toggleSubMenu($event, menu); footerMenuItemClicked($event)\"\n >\n {{ menu.title }}\n </a>\n\n @if (menu.children?.length) {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#' + (menu.active ? 'up' : 'down')\"></use>\n </svg>\n }\n </div>\n\n @if (menu.children?.length) {\n <ul class=\"sl-ftr-menu-item-children\" [ngClass]=\"{ closed: !menu.active }\">\n @for (submenu of menu.children; track submenu.title) {\n <li class=\"sl-ftr-menu-item-children-item\">\n <div class=\"sl-ftr-menu-item alt\">\n <a class=\"sl-ftr-menu-item-link\" [href]=\"submenu.url\" rdsitelink [title]=\"submenu.title\" (click)=\"footerMenuItemClicked($event)\">\n {{ submenu.title }}\n </a>\n </div>\n </li>\n }\n </ul>\n }\n }\n </li>\n }\n </ul>\n </nav>\n </div>\n }\n </div>\n</div>\n\n<div class=\"sl-ftr-disc\">\n <div class=\"disc-content\">\n <div class=\"disc-content-copy\">\u00A9{{ currentYear }} {{ disclaimer() }}</div>\n <ul class=\"disc-content-links\">\n <li>\n <a [href]=\"linkPrivacyFooter() || '#'\" target=\"_blank\" data-testid=\"_avisoPrivacidade\" (click)=\"footerPrivacyClicked($event)\"> Aviso de Privacidade </a>\n </li>\n <li>\n <button (click)=\"privacyTools.openCookieBanner(); footerCookieClicked($event)\" data-testid=\"_avisoCookies\">Aviso de Cookies</button>\n </li>\n </ul>\n </div>\n</div>\n", styles: ["footer[sl-ftr]{min-height:530px;background-color:var(--ftr-bg-color);display:grid!important;grid-template-areas:\". . .\" \". content .\" \". . .\" \"disc disc disc\";grid-template-columns:minmax(10%,1fr) minmax(auto,1229.4px) minmax(10%,1fr);grid-template-rows:48px 1fr 48px auto}footer[sl-ftr] *{font-family:Gotham,Arial,Helvetica,sans-serif!important}footer[sl-ftr] svg{stroke:#fff;stroke-width:2.25px;fill:none}footer[sl-ftr] .sl-ftr-content{grid-area:content;display:flex;flex-direction:column;align-items:flex-start;gap:32px}footer[sl-ftr] .sl-ftr-content .content-menu{width:100%}footer[sl-ftr] .sl-ftr-disc{grid-area:disc}@media only screen and (min-width: 1024px){footer[sl-ftr]{grid-template-columns:minmax(5%,1fr) minmax(auto,1229.4px) minmax(5%,1fr)}footer[sl-ftr] .sl-ftr-content{flex-direction:row;gap:44px}}.sl-ftr-menu{display:flex;flex-direction:column;padding-top:20px}.sl-ftr-menu nav{width:100%;height:auto;flex:auto;column-count:unset}@media only screen and (min-width: 1024px){.sl-ftr-menu{flex-direction:row}.sl-ftr-menu nav{flex:3 1 0;column-count:3}}a.sl-ftr-menu-item-link{text-align:left;padding:8px 0;text-decoration:none;font-style:normal}.sl-ftr-menu-list{list-style:none}.sl-ftr-menu-list .sl-ftr-menu-item{display:flex;align-items:center;justify-content:space-between;background-color:transparent;width:auto;cursor:pointer}.sl-ftr-menu-list .sl-ftr-menu-item a.sl-ftr-menu-item-link{color:var(--ftr-color);font-size:14px;font-weight:500;line-height:16px;min-height:35px;letter-spacing:.56px}.sl-ftr-menu-list .sl-ftr-menu-item:hover a{color:var(--ftr-menu-hover-color)}.sl-ftr-menu-list .sl-ftr-menu-item:hover svg{stroke:var(--ftr-menu-hover-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item:active a{color:var(--ftr-menu-active-color)}.sl-ftr-menu-list .sl-ftr-menu-item:active svg{stroke:var(--ftr-menu-active-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.alt a.sl-ftr-menu-item-link{color:var(--ftr-alt-color);font-size:12px;font-weight:300}.sl-ftr-menu-list .sl-ftr-menu-item.alt:hover a{color:var(--ftr-menu-alt-hover-color)}.sl-ftr-menu-list .sl-ftr-menu-item.alt:hover svg{stroke:var(--ftr-menu-alt-hover-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.alt:active a{color:var(--ftr-menu-alt-active-color)}.sl-ftr-menu-list .sl-ftr-menu-item.alt:active svg{stroke:var(--ftr-menu-alt-active-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.have-children{width:100%}.sl-ftr-menu-list .sl-ftr-menu-item svg{display:inline}.sl-ftr-menu-list .sl-ftr-menu-item-children{list-style:none}.sl-ftr-menu-list .sl-ftr-menu-item-children.closed{display:none}.sl-ftr-menu-list .sl-ftr-menu-item-children-item{margin:0 0 0 12px}@media only screen and (min-width: 1024px){.sl-ftr-menu-list .sl-ftr-menu-item svg{display:none}.sl-ftr-menu-list .sl-ftr-menu-item.have-children{width:auto}.sl-ftr-menu-list .sl-ftr-menu-item-children.closed{display:block}.sl-ftr-menu-list .sl-ftr-menu-item-children-item{margin:0 0 0 12px}}.sl-ftr-contact{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:20px 16px;margin-bottom:20px;width:100%;min-height:77px}.sl-ftr-contact img{width:var(--logo-width, 72px);height:50px;object-fit:contain}.sl-ftr-contact .logo{display:contents}.sl-ftr-contact .logo:after{content:\"\";width:1px;height:60px;background-color:var(--ftr-color)}.sl-ftr-contact .partner-logo{display:contents}.sl-ftr-contact .phone a{display:flex;justify-content:center;align-items:center;gap:12px;font-size:17px;font-weight:500;color:var(--ftr-color);text-decoration:none}@media only screen and (min-width: 361px){.sl-ftr-contact{width:280px}.sl-ftr-contact .phone a{font-size:19px}}@media only screen and (min-width: 1024px){.sl-ftr-contact{gap:20px 24px;width:328px}}nav.sl-ftr-medias ul{list-style:none;display:flex;gap:16px 0px;flex-wrap:wrap;width:100%}nav.sl-ftr-medias ul li{display:flex;justify-content:center;align-items:center;border-radius:100%;border:1px solid #ffffff;width:36px;height:36px;margin-right:12px}nav.sl-ftr-medias ul li a{display:flex;justify-content:center;align-items:center;border-radius:100%;width:36px;height:36px;text-decoration:none}@media only screen and (min-width: 361px){nav.sl-ftr-medias ul li{margin-right:15px}}@media only screen and (min-width: 1024px){nav.sl-ftr-medias ul{flex-wrap:nowrap}}.sl-ftr-disc{background-color:var(--ftr-disc-bg-color);display:grid!important;grid-template-areas:\". disc-content .\";grid-template-columns:minmax(5%,1fr) minmax(auto,1229.4px) minmax(5%,1fr);grid-template-rows:auto}.sl-ftr-disc .disc-content{grid-area:disc-content;height:auto;padding:12px 0;display:flex;align-items:flex-start;justify-content:flex-start;gap:8px;flex-direction:column}.sl-ftr-disc .disc-content-copy{font-size:12px;font-style:normal;font-weight:500;text-transform:uppercase;color:var(--ftr-disc-color)}.sl-ftr-disc .disc-content-links{list-style:none;display:flex;flex-direction:row;align-items:flex-start;flex-wrap:wrap;gap:0px 36px}.sl-ftr-disc .disc-content-links li a,.sl-ftr-disc .disc-content-links li button{font-size:12px;font-style:normal;font-weight:500;color:var(--ftr-disc-alt-color);text-decoration:none;cursor:pointer;background:transparent}@media only screen and (min-width: 1024px){.sl-ftr-disc .disc-content{height:40px;padding:0;align-items:center;flex-direction:row;gap:36px}.sl-ftr-disc .disc-content-links{gap:36px}}\n"] }]
|
|
143
|
+
args: [{ selector: 'footer[sl-ftr]', imports: [CommonModule, RdsiteLinkDirective], encapsulation: ViewEncapsulation.None, template: "<div class=\"sl-ftr-content\">\r\n <div>\r\n <div class=\"sl-ftr-contact\">\r\n @if (logo()) {\r\n <div class=\"logo\">\r\n <img [src]=\"logo()?.url\" [alt]=\"logo()?.alt\" [title]=\"logo()?.title\" loading=\"lazy\" fetchpriority=\"low\" />\r\n </div>\r\n }\r\n @if (partnerLogo()) {\r\n <div class=\"partner-logo\">\r\n <img [src]=\"partnerLogo()?.url\" [alt]=\"partnerLogo()?.alt\" [title]=\"partnerLogo()?.title\" loading=\"lazy\" fetchpriority=\"low\" />\r\n </div>\r\n }\r\n @if (phone()) {\r\n <div class=\"phone\">\r\n <a rdsitelink href=\"tel:{{ phone() }}\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#phone'\"></use>\r\n </svg>\r\n {{ phone() }}\r\n </a>\r\n </div>\r\n }\r\n </div>\r\n\r\n <nav class=\"sl-ftr-medias\">\r\n <ul>\r\n @for (social of socialMenu(); track social.title) {\r\n <li>\r\n <a [href]=\"social.link\" rdsitelink [title]=\"social.title\" (click)=\"footerSocialMediaClicked($event)\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#' + social.icon\"></use>\r\n </svg>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n </nav>\r\n </div>\r\n\r\n <div class=\"content-menu\">\r\n @if (footerMenu().length) {\r\n <div class=\"sl-ftr-menu\">\r\n <nav>\r\n <ul class=\"sl-ftr-menu-list\">\r\n @for (menu of footerMenu(); track menu.title) {\r\n <li class=\"sl-ftr-menu-list-item\">\r\n @if (menu.title) {\r\n <div class=\"sl-ftr-menu-item\" [ngClass]=\"{ 'have-children': menu.children?.length }\" (click)=\"toggleSubMenu($event, menu)\">\r\n <a\r\n class=\"sl-ftr-menu-item-link\"\r\n [href]=\"menu.url\"\r\n rdsitelink\r\n [title]=\"menu.title\"\r\n (click)=\"toggleSubMenu($event, menu); footerMenuItemClicked($event)\"\r\n >\r\n {{ menu.title }}\r\n </a>\r\n\r\n @if (menu.children?.length) {\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#' + (menu.active ? 'up' : 'down')\"></use>\r\n </svg>\r\n }\r\n </div>\r\n\r\n @if (menu.children?.length) {\r\n <ul class=\"sl-ftr-menu-item-children\" [ngClass]=\"{ closed: !menu.active }\">\r\n @for (submenu of menu.children; track submenu.title) {\r\n <li class=\"sl-ftr-menu-item-children-item\">\r\n <div class=\"sl-ftr-menu-item alt\">\r\n <a class=\"sl-ftr-menu-item-link\" [href]=\"submenu.url\" rdsitelink [title]=\"submenu.title\" (click)=\"footerMenuItemClicked($event)\">\r\n {{ submenu.title }}\r\n </a>\r\n </div>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n }\r\n </li>\r\n }\r\n </ul>\r\n </nav>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n<div class=\"sl-ftr-disc\">\r\n <div class=\"disc-content\">\r\n <div class=\"disc-content-copy\">\u00A9{{ currentYear }} {{ disclaimer() }}</div>\r\n <ul class=\"disc-content-links\">\r\n <li>\r\n <a [href]=\"linkPrivacyFooter() || '#'\" target=\"_blank\" data-testid=\"_avisoPrivacidade\" (click)=\"footerPrivacyClicked($event)\"> Aviso de Privacidade </a>\r\n </li>\r\n <li>\r\n <button (click)=\"privacyTools.openCookieBanner(); footerCookieClicked($event)\" data-testid=\"_avisoCookies\">Aviso de Cookies</button>\r\n </li>\r\n </ul>\r\n </div>\r\n</div>\r\n", styles: ["footer[sl-ftr]{min-height:530px;background-color:var(--ftr-bg-color);display:grid!important;grid-template-areas:\". . .\" \". content .\" \". . .\" \"disc disc disc\";grid-template-columns:minmax(10%,1fr) minmax(auto,1229.4px) minmax(10%,1fr);grid-template-rows:48px 1fr 48px auto}footer[sl-ftr] *{font-family:Gotham,Arial,Helvetica,sans-serif!important}footer[sl-ftr] svg{stroke:#fff;stroke-width:2.25px;fill:none}footer[sl-ftr] .sl-ftr-content{grid-area:content;display:flex;flex-direction:column;align-items:flex-start;gap:32px}footer[sl-ftr] .sl-ftr-content .content-menu{width:100%}footer[sl-ftr] .sl-ftr-disc{grid-area:disc}@media only screen and (min-width: 1024px){footer[sl-ftr]{grid-template-columns:minmax(5%,1fr) minmax(auto,1229.4px) minmax(5%,1fr)}footer[sl-ftr] .sl-ftr-content{flex-direction:row;gap:44px}}.sl-ftr-menu{display:flex;flex-direction:column;padding-top:20px}.sl-ftr-menu nav{width:100%;height:auto;flex:auto;column-count:unset}@media only screen and (min-width: 1024px){.sl-ftr-menu{flex-direction:row}.sl-ftr-menu nav{flex:3 1 0;column-count:3}}a.sl-ftr-menu-item-link{text-align:left;padding:8px 0;text-decoration:none;font-style:normal}.sl-ftr-menu-list{list-style:none}.sl-ftr-menu-list .sl-ftr-menu-item{display:flex;align-items:center;justify-content:space-between;background-color:transparent;width:auto;cursor:pointer}.sl-ftr-menu-list .sl-ftr-menu-item a.sl-ftr-menu-item-link{color:var(--ftr-color);font-size:14px;font-weight:500;line-height:16px;min-height:35px;letter-spacing:.56px}.sl-ftr-menu-list .sl-ftr-menu-item:hover a{color:var(--ftr-menu-hover-color)}.sl-ftr-menu-list .sl-ftr-menu-item:hover svg{stroke:var(--ftr-menu-hover-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item:active a{color:var(--ftr-menu-active-color)}.sl-ftr-menu-list .sl-ftr-menu-item:active svg{stroke:var(--ftr-menu-active-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.alt a.sl-ftr-menu-item-link{color:var(--ftr-alt-color);font-size:12px;font-weight:300}.sl-ftr-menu-list .sl-ftr-menu-item.alt:hover a{color:var(--ftr-menu-alt-hover-color)}.sl-ftr-menu-list .sl-ftr-menu-item.alt:hover svg{stroke:var(--ftr-menu-alt-hover-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.alt:active a{color:var(--ftr-menu-alt-active-color)}.sl-ftr-menu-list .sl-ftr-menu-item.alt:active svg{stroke:var(--ftr-menu-alt-active-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.have-children{width:100%}.sl-ftr-menu-list .sl-ftr-menu-item svg{display:inline}.sl-ftr-menu-list .sl-ftr-menu-item-children{list-style:none}.sl-ftr-menu-list .sl-ftr-menu-item-children.closed{display:none}.sl-ftr-menu-list .sl-ftr-menu-item-children-item{margin:0 0 0 12px}@media only screen and (min-width: 1024px){.sl-ftr-menu-list .sl-ftr-menu-item svg{display:none}.sl-ftr-menu-list .sl-ftr-menu-item.have-children{width:auto}.sl-ftr-menu-list .sl-ftr-menu-item-children.closed{display:block}.sl-ftr-menu-list .sl-ftr-menu-item-children-item{margin:0 0 0 12px}}.sl-ftr-contact{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:20px 16px;margin-bottom:20px;width:100%;min-height:77px}.sl-ftr-contact img{width:var(--logo-width, 72px);height:50px;object-fit:contain}.sl-ftr-contact .logo{display:contents}.sl-ftr-contact .logo:after{content:\"\";width:1px;height:60px;background-color:var(--ftr-color)}.sl-ftr-contact .partner-logo{display:contents}.sl-ftr-contact .phone a{display:flex;justify-content:center;align-items:center;gap:12px;font-size:17px;font-weight:500;color:var(--ftr-color);text-decoration:none}@media only screen and (min-width: 361px){.sl-ftr-contact{width:280px}.sl-ftr-contact .phone a{font-size:19px}}@media only screen and (min-width: 1024px){.sl-ftr-contact{gap:20px 24px;width:328px}}nav.sl-ftr-medias ul{list-style:none;display:flex;gap:16px 0px;flex-wrap:wrap;width:100%}nav.sl-ftr-medias ul li{display:flex;justify-content:center;align-items:center;border-radius:100%;border:1px solid #ffffff;width:36px;height:36px;margin-right:12px}nav.sl-ftr-medias ul li a{display:flex;justify-content:center;align-items:center;border-radius:100%;width:36px;height:36px;text-decoration:none}@media only screen and (min-width: 361px){nav.sl-ftr-medias ul li{margin-right:15px}}@media only screen and (min-width: 1024px){nav.sl-ftr-medias ul{flex-wrap:nowrap}}.sl-ftr-disc{background-color:var(--ftr-disc-bg-color);display:grid!important;grid-template-areas:\". disc-content .\";grid-template-columns:minmax(5%,1fr) minmax(auto,1229.4px) minmax(5%,1fr);grid-template-rows:auto}.sl-ftr-disc .disc-content{grid-area:disc-content;height:auto;padding:12px 0;display:flex;align-items:flex-start;justify-content:flex-start;gap:8px;flex-direction:column}.sl-ftr-disc .disc-content-copy{font-size:12px;font-style:normal;font-weight:500;text-transform:uppercase;color:var(--ftr-disc-color)}.sl-ftr-disc .disc-content-links{list-style:none;display:flex;flex-direction:row;align-items:flex-start;flex-wrap:wrap;gap:0px 36px}.sl-ftr-disc .disc-content-links li a,.sl-ftr-disc .disc-content-links li button{font-size:12px;font-style:normal;font-weight:500;color:var(--ftr-disc-alt-color);text-decoration:none;cursor:pointer;background:transparent}@media only screen and (min-width: 1024px){.sl-ftr-disc .disc-content{height:40px;padding:0;align-items:center;flex-direction:row;gap:36px}.sl-ftr-disc .disc-content-links{gap:36px}}\n"] }]
|
|
144
144
|
}], ctorParameters: () => [] });
|
|
145
145
|
|
|
146
146
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rededor-site-front-end-lib-components-footer.mjs","sources":["../../../projects/site-front-end-lib/components/footer/helpers/footerTheme.func.ts","../../../projects/site-front-end-lib/components/footer/footer.component.ts","../../../projects/site-front-end-lib/components/footer/footer.component.html","../../../projects/site-front-end-lib/components/footer/rededor-site-front-end-lib-components-footer.ts"],"sourcesContent":["import { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\r\nimport { FooterTheme } from '../models/FooterTheme.model';\r\n\r\nexport const getFooterTheme = (project: string = 'site', themeStyle: string = 'default', curaApiService: CuraApiService) => {\r\n const theme: FooterTheme = {\r\n ftr: {},\r\n 'ftr-disc': {},\r\n 'ftr-menu': {},\r\n 'ftr-social': {},\r\n };\r\n\r\n const [primaryLighter, primaryLight, primaryBase, primaryDarker] = [\r\n curaApiService.theme.colors.getColor('primary-lighter'),\r\n curaApiService.theme.colors.getColor('primary-light'),\r\n curaApiService.theme.colors.getColor('primary-base'),\r\n curaApiService.theme.colors.getColor('primary-darker'),\r\n ];\r\n const [accentLight, accentBase] = [curaApiService.theme.colors.getColor('accent-light'), curaApiService.theme.colors.getColor('accent-base')];\r\n const [neutralPurewhite, neutralWhite, neutralBlack] = [\r\n curaApiService.theme.colors.getColor('neutral-purewhite'),\r\n curaApiService.theme.colors.getColor('neutral-white'),\r\n curaApiService.theme.colors.getColor('neutral-black'),\r\n ];\r\n\r\n switch (project) {\r\n case 'site':\r\n if (themeStyle === 'default') {\r\n theme.ftr = {\r\n 'bg-color': primaryDarker,\r\n color: neutralWhite,\r\n 'alt-color': primaryLighter,\r\n };\r\n theme['ftr-disc'] = {\r\n 'bg-color': neutralPurewhite,\r\n color: neutralBlack,\r\n 'alt-color': primaryBase,\r\n };\r\n theme['ftr-menu'] = {\r\n 'hover-color': accentLight,\r\n 'active-color': accentBase,\r\n 'alt-hover-color': primaryLight,\r\n 'alt-active-color': primaryBase,\r\n };\r\n theme['ftr-social'] = {\r\n color: neutralWhite,\r\n };\r\n } else {\r\n theme.ftr = {\r\n 'bg-color': primaryDarker,\r\n color: neutralWhite,\r\n 'alt-color': primaryLighter,\r\n };\r\n theme['ftr-disc'] = {\r\n 'bg-color': neutralPurewhite,\r\n color: neutralBlack,\r\n 'alt-color': primaryBase,\r\n };\r\n theme['ftr-menu'] = {\r\n 'hover-color': accentLight,\r\n 'active-color': accentBase,\r\n 'alt-hover-color': primaryLight,\r\n 'alt-active-color': primaryBase,\r\n };\r\n theme['ftr-social'] = {\r\n color: neutralWhite,\r\n };\r\n }\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n\r\n return theme;\r\n};\r\n","import { Component, ElementRef, AfterViewInit, ViewEncapsulation, input, output, inject, effect, computed } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PrivacyToolsService, LIB_CONFIG, LibConfig, RdsiteLinkDirective, MenuItem, MenuSocialMedia } from '@rededor/site-front-end-lib/core';\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\nimport { FooterTheme } from './models/FooterTheme.model';\nimport { getFooterTheme } from './helpers/footerTheme.func';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'footer[sl-ftr]',\n imports: [CommonModule, RdsiteLinkDirective],\n encapsulation: ViewEncapsulation.None,\n templateUrl: './footer.component.html',\n styleUrl: './footer.component.scss',\n})\nexport class FooterComponent implements AfterViewInit {\n public privacyTools = inject(PrivacyToolsService);\n private curaApiService = inject(CuraApiService);\n private elementRef = inject(ElementRef);\n\n project = input<string>('site');\n theme = input<string>('default');\n disclaimer = input<string>('');\n linkPrivacyFooter = input<string>('');\n logo = input<any>(null);\n partnerLogo = input<any>(null);\n phone = input<string>('');\n socialMenu = input<MenuSocialMedia[]>([]);\n logoWidth = input<number>(72);\n footerMenu = input<MenuItem[]>([]);\n\n footerPrivacyClick = output<Event>();\n footerCookieClick = output<Event>();\n footerSocialMediaClick = output<Event>();\n footerMenuItemClick = output<Event>();\n\n currentYear: number = new Date().getFullYear();\n\n // Computed signals\n public assetsPath = computed(() => this.curaApiService.localAssetsPath());\n\n constructor() {\n effect(() => {\n this.updateFooterTheme();\n });\n\n effect(() => {\n this.updateLogoWidth();\n });\n }\n\n ngAfterViewInit() {\n this.updateFooterTheme();\n }\n\n private updateLogoWidth() {\n this.elementRef.nativeElement.style.setProperty('--logo-width', `${this.logoWidth()}px`);\n }\n\n private updateFooterTheme() {\n const footerTheme: FooterTheme = getFooterTheme(this.project(), this.theme(), this.curaApiService);\n Object.entries(footerTheme).forEach(([key, value]) => {\n Object.entries(value).forEach(([prop, val]) => {\n const cssVar = `--${key}-${prop}`;\n this.elementRef.nativeElement.style.setProperty(cssVar, val as string);\n });\n });\n }\n\n footerSocialMediaClicked(event: Event) {\n this.footerSocialMediaClick.emit(event);\n }\n\n toggleSubMenu(event: Event, menu: Partial<MenuItem>) {\n event.stopPropagation();\n menu.active = !menu.active;\n }\n\n footerMenuItemClicked(event: Event) {\n this.footerMenuItemClick.emit(event);\n }\n\n footerPrivacyClicked(event: Event) {\n this.footerPrivacyClick.emit(event);\n }\n\n footerCookieClicked(event: Event) {\n this.footerCookieClick.emit(event);\n }\n}\n","<div class=\"sl-ftr-content\">\n <div>\n <div class=\"sl-ftr-contact\">\n @if (logo()) {\n <div class=\"logo\">\n <img [src]=\"logo()?.url\" [alt]=\"logo()?.alt\" [title]=\"logo()?.title\" loading=\"lazy\" fetchpriority=\"low\" />\n </div>\n }\n @if (partnerLogo()) {\n <div class=\"partner-logo\">\n <img [src]=\"partnerLogo()?.url\" [alt]=\"partnerLogo()?.alt\" [title]=\"partnerLogo()?.title\" loading=\"lazy\" fetchpriority=\"low\" />\n </div>\n }\n @if (phone()) {\n <div class=\"phone\">\n <a rdsitelink href=\"tel:{{ phone() }}\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#phone'\"></use>\n </svg>\n {{ phone() }}\n </a>\n </div>\n }\n </div>\n\n <nav class=\"sl-ftr-medias\">\n <ul>\n @for (social of socialMenu(); track social.title) {\n <li>\n <a [href]=\"social.link\" rdsitelink [title]=\"social.title\" (click)=\"footerSocialMediaClicked($event)\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#' + social.icon\"></use>\n </svg>\n </a>\n </li>\n }\n </ul>\n </nav>\n </div>\n\n <div class=\"content-menu\">\n @if (footerMenu().length) {\n <div class=\"sl-ftr-menu\">\n <nav>\n <ul class=\"sl-ftr-menu-list\">\n @for (menu of footerMenu(); track menu.title) {\n <li class=\"sl-ftr-menu-list-item\">\n @if (menu.title) {\n <div class=\"sl-ftr-menu-item\" [ngClass]=\"{ 'have-children': menu.children?.length }\" (click)=\"toggleSubMenu($event, menu)\">\n <a\n class=\"sl-ftr-menu-item-link\"\n [href]=\"menu.url\"\n rdsitelink\n [title]=\"menu.title\"\n (click)=\"toggleSubMenu($event, menu); footerMenuItemClicked($event)\"\n >\n {{ menu.title }}\n </a>\n\n @if (menu.children?.length) {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#' + (menu.active ? 'up' : 'down')\"></use>\n </svg>\n }\n </div>\n\n @if (menu.children?.length) {\n <ul class=\"sl-ftr-menu-item-children\" [ngClass]=\"{ closed: !menu.active }\">\n @for (submenu of menu.children; track submenu.title) {\n <li class=\"sl-ftr-menu-item-children-item\">\n <div class=\"sl-ftr-menu-item alt\">\n <a class=\"sl-ftr-menu-item-link\" [href]=\"submenu.url\" rdsitelink [title]=\"submenu.title\" (click)=\"footerMenuItemClicked($event)\">\n {{ submenu.title }}\n </a>\n </div>\n </li>\n }\n </ul>\n }\n }\n </li>\n }\n </ul>\n </nav>\n </div>\n }\n </div>\n</div>\n\n<div class=\"sl-ftr-disc\">\n <div class=\"disc-content\">\n <div class=\"disc-content-copy\">©{{ currentYear }} {{ disclaimer() }}</div>\n <ul class=\"disc-content-links\">\n <li>\n <a [href]=\"linkPrivacyFooter() || '#'\" target=\"_blank\" data-testid=\"_avisoPrivacidade\" (click)=\"footerPrivacyClicked($event)\"> Aviso de Privacidade </a>\n </li>\n <li>\n <button (click)=\"privacyTools.openCookieBanner(); footerCookieClicked($event)\" data-testid=\"_avisoCookies\">Aviso de Cookies</button>\n </li>\n </ul>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rededor-site-front-end-lib-components-footer.mjs","sources":["../../../projects/site-front-end-lib/components/footer/helpers/footerTheme.func.ts","../../../projects/site-front-end-lib/components/footer/footer.component.ts","../../../projects/site-front-end-lib/components/footer/footer.component.html","../../../projects/site-front-end-lib/components/footer/rededor-site-front-end-lib-components-footer.ts"],"sourcesContent":["import { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\r\nimport { FooterTheme } from '../models/FooterTheme.model';\r\n\r\nexport const getFooterTheme = (project: string = 'site', themeStyle: string = 'default', curaApiService: CuraApiService) => {\r\n const theme: FooterTheme = {\r\n ftr: {},\r\n 'ftr-disc': {},\r\n 'ftr-menu': {},\r\n 'ftr-social': {},\r\n };\r\n\r\n const [primaryLighter, primaryLight, primaryBase, primaryDarker] = [\r\n curaApiService.theme.colors.getColor('primary-lighter'),\r\n curaApiService.theme.colors.getColor('primary-light'),\r\n curaApiService.theme.colors.getColor('primary-base'),\r\n curaApiService.theme.colors.getColor('primary-darker'),\r\n ];\r\n const [accentLight, accentBase] = [curaApiService.theme.colors.getColor('accent-light'), curaApiService.theme.colors.getColor('accent-base')];\r\n const [neutralPurewhite, neutralWhite, neutralBlack] = [\r\n curaApiService.theme.colors.getColor('neutral-purewhite'),\r\n curaApiService.theme.colors.getColor('neutral-white'),\r\n curaApiService.theme.colors.getColor('neutral-black'),\r\n ];\r\n\r\n switch (project) {\r\n case 'site':\r\n if (themeStyle === 'default') {\r\n theme.ftr = {\r\n 'bg-color': primaryDarker,\r\n color: neutralWhite,\r\n 'alt-color': primaryLighter,\r\n };\r\n theme['ftr-disc'] = {\r\n 'bg-color': neutralPurewhite,\r\n color: neutralBlack,\r\n 'alt-color': primaryBase,\r\n };\r\n theme['ftr-menu'] = {\r\n 'hover-color': accentLight,\r\n 'active-color': accentBase,\r\n 'alt-hover-color': primaryLight,\r\n 'alt-active-color': primaryBase,\r\n };\r\n theme['ftr-social'] = {\r\n color: neutralWhite,\r\n };\r\n } else {\r\n theme.ftr = {\r\n 'bg-color': primaryDarker,\r\n color: neutralWhite,\r\n 'alt-color': primaryLighter,\r\n };\r\n theme['ftr-disc'] = {\r\n 'bg-color': neutralPurewhite,\r\n color: neutralBlack,\r\n 'alt-color': primaryBase,\r\n };\r\n theme['ftr-menu'] = {\r\n 'hover-color': accentLight,\r\n 'active-color': accentBase,\r\n 'alt-hover-color': primaryLight,\r\n 'alt-active-color': primaryBase,\r\n };\r\n theme['ftr-social'] = {\r\n color: neutralWhite,\r\n };\r\n }\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n\r\n return theme;\r\n};\r\n","import { Component, ElementRef, AfterViewInit, ViewEncapsulation, input, output, inject, effect, computed } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PrivacyToolsService, LIB_CONFIG, LibConfig, RdsiteLinkDirective, MenuItem, MenuSocialMedia } from '@rededor/site-front-end-lib/core';\r\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\r\nimport { FooterTheme } from './models/FooterTheme.model';\r\nimport { getFooterTheme } from './helpers/footerTheme.func';\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'footer[sl-ftr]',\r\n imports: [CommonModule, RdsiteLinkDirective],\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './footer.component.html',\r\n styleUrl: './footer.component.scss',\r\n})\r\nexport class FooterComponent implements AfterViewInit {\r\n public privacyTools = inject(PrivacyToolsService);\r\n private curaApiService = inject(CuraApiService);\r\n private elementRef = inject(ElementRef);\r\n\r\n project = input<string>('site');\r\n theme = input<string>('default');\r\n disclaimer = input<string>('');\r\n linkPrivacyFooter = input<string>('');\r\n logo = input<any>(null);\r\n partnerLogo = input<any>(null);\r\n phone = input<string>('');\r\n socialMenu = input<MenuSocialMedia[]>([]);\r\n logoWidth = input<number>(72);\r\n footerMenu = input<MenuItem[]>([]);\r\n\r\n footerPrivacyClick = output<Event>();\r\n footerCookieClick = output<Event>();\r\n footerSocialMediaClick = output<Event>();\r\n footerMenuItemClick = output<Event>();\r\n\r\n currentYear: number = new Date().getFullYear();\r\n\r\n // Computed signals\r\n public assetsPath = computed(() => this.curaApiService.localAssetsPath());\r\n\r\n constructor() {\r\n effect(() => {\r\n this.updateFooterTheme();\r\n });\r\n\r\n effect(() => {\r\n this.updateLogoWidth();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.updateFooterTheme();\r\n }\r\n\r\n private updateLogoWidth() {\r\n this.elementRef.nativeElement.style.setProperty('--logo-width', `${this.logoWidth()}px`);\r\n }\r\n\r\n private updateFooterTheme() {\r\n const footerTheme: FooterTheme = getFooterTheme(this.project(), this.theme(), this.curaApiService);\r\n Object.entries(footerTheme).forEach(([key, value]) => {\r\n Object.entries(value).forEach(([prop, val]) => {\r\n const cssVar = `--${key}-${prop}`;\r\n this.elementRef.nativeElement.style.setProperty(cssVar, val as string);\r\n });\r\n });\r\n }\r\n\r\n footerSocialMediaClicked(event: Event) {\r\n this.footerSocialMediaClick.emit(event);\r\n }\r\n\r\n toggleSubMenu(event: Event, menu: Partial<MenuItem>) {\r\n event.stopPropagation();\r\n menu.active = !menu.active;\r\n }\r\n\r\n footerMenuItemClicked(event: Event) {\r\n this.footerMenuItemClick.emit(event);\r\n }\r\n\r\n footerPrivacyClicked(event: Event) {\r\n this.footerPrivacyClick.emit(event);\r\n }\r\n\r\n footerCookieClicked(event: Event) {\r\n this.footerCookieClick.emit(event);\r\n }\r\n}\r\n","<div class=\"sl-ftr-content\">\r\n <div>\r\n <div class=\"sl-ftr-contact\">\r\n @if (logo()) {\r\n <div class=\"logo\">\r\n <img [src]=\"logo()?.url\" [alt]=\"logo()?.alt\" [title]=\"logo()?.title\" loading=\"lazy\" fetchpriority=\"low\" />\r\n </div>\r\n }\r\n @if (partnerLogo()) {\r\n <div class=\"partner-logo\">\r\n <img [src]=\"partnerLogo()?.url\" [alt]=\"partnerLogo()?.alt\" [title]=\"partnerLogo()?.title\" loading=\"lazy\" fetchpriority=\"low\" />\r\n </div>\r\n }\r\n @if (phone()) {\r\n <div class=\"phone\">\r\n <a rdsitelink href=\"tel:{{ phone() }}\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#phone'\"></use>\r\n </svg>\r\n {{ phone() }}\r\n </a>\r\n </div>\r\n }\r\n </div>\r\n\r\n <nav class=\"sl-ftr-medias\">\r\n <ul>\r\n @for (social of socialMenu(); track social.title) {\r\n <li>\r\n <a [href]=\"social.link\" rdsitelink [title]=\"social.title\" (click)=\"footerSocialMediaClicked($event)\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#' + social.icon\"></use>\r\n </svg>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n </nav>\r\n </div>\r\n\r\n <div class=\"content-menu\">\r\n @if (footerMenu().length) {\r\n <div class=\"sl-ftr-menu\">\r\n <nav>\r\n <ul class=\"sl-ftr-menu-list\">\r\n @for (menu of footerMenu(); track menu.title) {\r\n <li class=\"sl-ftr-menu-list-item\">\r\n @if (menu.title) {\r\n <div class=\"sl-ftr-menu-item\" [ngClass]=\"{ 'have-children': menu.children?.length }\" (click)=\"toggleSubMenu($event, menu)\">\r\n <a\r\n class=\"sl-ftr-menu-item-link\"\r\n [href]=\"menu.url\"\r\n rdsitelink\r\n [title]=\"menu.title\"\r\n (click)=\"toggleSubMenu($event, menu); footerMenuItemClicked($event)\"\r\n >\r\n {{ menu.title }}\r\n </a>\r\n\r\n @if (menu.children?.length) {\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#' + (menu.active ? 'up' : 'down')\"></use>\r\n </svg>\r\n }\r\n </div>\r\n\r\n @if (menu.children?.length) {\r\n <ul class=\"sl-ftr-menu-item-children\" [ngClass]=\"{ closed: !menu.active }\">\r\n @for (submenu of menu.children; track submenu.title) {\r\n <li class=\"sl-ftr-menu-item-children-item\">\r\n <div class=\"sl-ftr-menu-item alt\">\r\n <a class=\"sl-ftr-menu-item-link\" [href]=\"submenu.url\" rdsitelink [title]=\"submenu.title\" (click)=\"footerMenuItemClicked($event)\">\r\n {{ submenu.title }}\r\n </a>\r\n </div>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n }\r\n </li>\r\n }\r\n </ul>\r\n </nav>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n<div class=\"sl-ftr-disc\">\r\n <div class=\"disc-content\">\r\n <div class=\"disc-content-copy\">©{{ currentYear }} {{ disclaimer() }}</div>\r\n <ul class=\"disc-content-links\">\r\n <li>\r\n <a [href]=\"linkPrivacyFooter() || '#'\" target=\"_blank\" data-testid=\"_avisoPrivacidade\" (click)=\"footerPrivacyClicked($event)\"> Aviso de Privacidade </a>\r\n </li>\r\n <li>\r\n <button (click)=\"privacyTools.openCookieBanner(); footerCookieClicked($event)\" data-testid=\"_avisoCookies\">Aviso de Cookies</button>\r\n </li>\r\n </ul>\r\n </div>\r\n</div>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -19,11 +19,11 @@ class HeaderActionMenuComponent {
|
|
|
19
19
|
this.headerLoginClick.emit(event);
|
|
20
20
|
}
|
|
21
21
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: HeaderActionMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: HeaderActionMenuComponent, isStandalone: true, selector: "div[sl-hdr-act]", inputs: { loginUrl: { classPropertyName: "loginUrl", publicName: "loginUrl", isSignal: true, isRequired: false, transformFunction: null }, showSearch: { classPropertyName: "showSearch", publicName: "showSearch", isSignal: true, isRequired: false, transformFunction: null }, homeUrl: { classPropertyName: "homeUrl", publicName: "homeUrl", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { headerLoginClick: "headerLoginClick" }, ngImport: i0, template: "@if (loginUrl()) {\n <div class=\"sl-hdr-act-login\">\n <a [href]=\"loginUrl()\" aria-label=\"Entrar\" (click)=\"headerLoginClicked($event)\" rdsitelink class=\"sl-hdr-act-login-link\">\n <svg class=\"icon-mobile\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#profileCircle'\"></use>\n </svg>\n <svg class=\"icon-desktop\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#profileCircle'\"></use>\n </svg>\n <span>ENTRAR</span>\n </a>\n </div>\n}\n@if (homeUrl()) {\n <div class=\"sl-hdr-act-home\">\n <a [href]=\"homeUrl()\" class=\"sl-hdr-act-home-link\" aria-label=\"P\u00E1gina inicial\" rdsitelink> Portal Rede D\u2019Or </a>\n </div>\n}\n\n<div class=\"sl-hdr-act-acts\">\n @if (showSearch()) {\n <button type=\"button\" aria-label=\"Buscar\" class=\"sl-hdr-act-acts-button\" (click)=\"headerService.toggleShowSearch()\">\n @if (!headerService.showSearch()) {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#search'\"></use>\n </svg>\n <span>BUSCAR</span>\n } @else {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#close'\"></use>\n </svg>\n <span>FECHAR</span>\n }\n </button>\n }\n <button type=\"button\" aria-label=\"Abrir menu lateral\" class=\"sl-hdr-act-acts-button\" (click)=\"headerService.toggleShowSideMenu()\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#menuHamburguer'\"></use>\n </svg>\n </button>\n</div>\n", styles: ["div[sl-hdr-act]{display:flex;align-items:center;justify-content:center;height:100%;width:100%;gap:2px;background-color:var(--hdr-act-bg-color)}.sl-hdr-act-login,.sl-hdr-act-home{display:flex;align-items:center;justify-content:center;height:100%;padding:0 15px;background-color:var(--hdr-act-items-bg-color)}.sl-hdr-act-login-link,.sl-hdr-act-home-link{display:flex;align-items:center;justify-content:center;height:100%;gap:8px;padding:6px;text-decoration:none;color:var(--hdr-act-items-color)!important;font-size:12px;line-height:13px;letter-spacing:.72px;font-weight:500;cursor:pointer}.sl-hdr-act-login-link svg,.sl-hdr-act-home-link svg{stroke:var(--hdr-act-items-color)!important}.sl-hdr-act-login-link:hover,.sl-hdr-act-home-link:hover{color:var(--hdr-act-items-hover)!important}.sl-hdr-act-login-link:hover svg,.sl-hdr-act-home-link:hover svg{stroke:var(--hdr-act-items-hover)!important}.sl-hdr-act-login-link:active,.sl-hdr-act-home-link:active{color:var(--hdr-act-items-active)!important}.sl-hdr-act-login-link:active svg,.sl-hdr-act-home-link:active svg{stroke:var(--hdr-act-items-active)!important}.sl-hdr-act-login-link .icon-desktop,.sl-hdr-act-home-link .icon-desktop{display:none}.sl-hdr-act-login-link .icon-mobile,.sl-hdr-act-home-link .icon-mobile{display:inline}.sl-hdr-act-login-link span,.sl-hdr-act-home-link span,.sl-hdr-act-home{display:none}.sl-hdr-act-acts{display:flex;align-items:center;justify-content:center;height:100%;padding:0 12px;background-color:var(--hdr-act-items-bg-color)}.sl-hdr-act-acts-button{display:flex;align-items:center;justify-content:center;height:100%;gap:8px;padding:8px;background-color:transparent;color:var(--hdr-act-items-color)!important;font-size:12px;line-height:13px;letter-spacing:.72px;font-weight:500;cursor:pointer}.sl-hdr-act-acts-button svg{stroke:var(--hdr-act-items-color)!important}.sl-hdr-act-acts-button:hover{color:var(--hdr-act-items-hover)!important}.sl-hdr-act-acts-button:hover svg{stroke:var(--hdr-act-items-hover)!important}.sl-hdr-act-acts-button:active{color:var(--hdr-act-items-active)!important}.sl-hdr-act-acts-button:active svg{stroke:var(--hdr-act-items-active)!important}.sl-hdr-act-acts-button span{display:none}@media only screen and (min-width: 1024px){.sl-hdr-act-login,.sl-hdr-act-home{padding:0 12px}.sl-hdr-act-login-link,.sl-hdr-act-home-link{padding:8px}.sl-hdr-act-login-link .icon-desktop,.sl-hdr-act-home-link .icon-desktop{display:inline}.sl-hdr-act-login-link .icon-mobile,.sl-hdr-act-home-link .icon-mobile{display:none}.sl-hdr-act-login-link span,.sl-hdr-act-home-link span{display:inline}.sl-hdr-act-home{display:flex}.sl-hdr-act-acts{padding:0 8px}.sl-hdr-act-acts-button span{display:inline}}\n"], dependencies: [{ kind: "directive", type: RdsiteLinkDirective, selector: "[rdsitelink]", inputs: ["anchorAdjustment", "anchorExtraAdjustment", "phonemodal"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
22
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: HeaderActionMenuComponent, isStandalone: true, selector: "div[sl-hdr-act]", inputs: { loginUrl: { classPropertyName: "loginUrl", publicName: "loginUrl", isSignal: true, isRequired: false, transformFunction: null }, showSearch: { classPropertyName: "showSearch", publicName: "showSearch", isSignal: true, isRequired: false, transformFunction: null }, homeUrl: { classPropertyName: "homeUrl", publicName: "homeUrl", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { headerLoginClick: "headerLoginClick" }, ngImport: i0, template: "@if (loginUrl()) {\r\n <div class=\"sl-hdr-act-login\">\r\n <a [href]=\"loginUrl()\" aria-label=\"Entrar\" (click)=\"headerLoginClicked($event)\" rdsitelink class=\"sl-hdr-act-login-link\">\r\n <svg class=\"icon-mobile\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#profileCircle'\"></use>\r\n </svg>\r\n <svg class=\"icon-desktop\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#profileCircle'\"></use>\r\n </svg>\r\n <span>ENTRAR</span>\r\n </a>\r\n </div>\r\n}\r\n@if (homeUrl()) {\r\n <div class=\"sl-hdr-act-home\">\r\n <a [href]=\"homeUrl()\" class=\"sl-hdr-act-home-link\" aria-label=\"P\u00E1gina inicial\" rdsitelink> Portal Rede D\u2019Or </a>\r\n </div>\r\n}\r\n\r\n<div class=\"sl-hdr-act-acts\">\r\n @if (showSearch()) {\r\n <button type=\"button\" aria-label=\"Buscar\" class=\"sl-hdr-act-acts-button\" (click)=\"headerService.toggleShowSearch()\">\r\n @if (!headerService.showSearch()) {\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#search'\"></use>\r\n </svg>\r\n <span>BUSCAR</span>\r\n } @else {\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#close'\"></use>\r\n </svg>\r\n <span>FECHAR</span>\r\n }\r\n </button>\r\n }\r\n <button type=\"button\" aria-label=\"Abrir menu lateral\" class=\"sl-hdr-act-acts-button\" (click)=\"headerService.toggleShowSideMenu()\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#menuHamburguer'\"></use>\r\n </svg>\r\n </button>\r\n</div>\r\n", styles: ["div[sl-hdr-act]{display:flex;align-items:center;justify-content:center;height:100%;width:100%;gap:2px;background-color:var(--hdr-act-bg-color)}.sl-hdr-act-login,.sl-hdr-act-home{display:flex;align-items:center;justify-content:center;height:100%;padding:0 15px;background-color:var(--hdr-act-items-bg-color)}.sl-hdr-act-login-link,.sl-hdr-act-home-link{display:flex;align-items:center;justify-content:center;height:100%;gap:8px;padding:6px;text-decoration:none;color:var(--hdr-act-items-color)!important;font-size:12px;line-height:13px;letter-spacing:.72px;font-weight:500;cursor:pointer}.sl-hdr-act-login-link svg,.sl-hdr-act-home-link svg{stroke:var(--hdr-act-items-color)!important}.sl-hdr-act-login-link:hover,.sl-hdr-act-home-link:hover{color:var(--hdr-act-items-hover)!important}.sl-hdr-act-login-link:hover svg,.sl-hdr-act-home-link:hover svg{stroke:var(--hdr-act-items-hover)!important}.sl-hdr-act-login-link:active,.sl-hdr-act-home-link:active{color:var(--hdr-act-items-active)!important}.sl-hdr-act-login-link:active svg,.sl-hdr-act-home-link:active svg{stroke:var(--hdr-act-items-active)!important}.sl-hdr-act-login-link .icon-desktop,.sl-hdr-act-home-link .icon-desktop{display:none}.sl-hdr-act-login-link .icon-mobile,.sl-hdr-act-home-link .icon-mobile{display:inline}.sl-hdr-act-login-link span,.sl-hdr-act-home-link span,.sl-hdr-act-home{display:none}.sl-hdr-act-acts{display:flex;align-items:center;justify-content:center;height:100%;padding:0 12px;background-color:var(--hdr-act-items-bg-color)}.sl-hdr-act-acts-button{display:flex;align-items:center;justify-content:center;height:100%;gap:8px;padding:8px;background-color:transparent;color:var(--hdr-act-items-color)!important;font-size:12px;line-height:13px;letter-spacing:.72px;font-weight:500;cursor:pointer}.sl-hdr-act-acts-button svg{stroke:var(--hdr-act-items-color)!important}.sl-hdr-act-acts-button:hover{color:var(--hdr-act-items-hover)!important}.sl-hdr-act-acts-button:hover svg{stroke:var(--hdr-act-items-hover)!important}.sl-hdr-act-acts-button:active{color:var(--hdr-act-items-active)!important}.sl-hdr-act-acts-button:active svg{stroke:var(--hdr-act-items-active)!important}.sl-hdr-act-acts-button span{display:none}@media only screen and (min-width: 1024px){.sl-hdr-act-login,.sl-hdr-act-home{padding:0 12px}.sl-hdr-act-login-link,.sl-hdr-act-home-link{padding:8px}.sl-hdr-act-login-link .icon-desktop,.sl-hdr-act-home-link .icon-desktop{display:inline}.sl-hdr-act-login-link .icon-mobile,.sl-hdr-act-home-link .icon-mobile{display:none}.sl-hdr-act-login-link span,.sl-hdr-act-home-link span{display:inline}.sl-hdr-act-home{display:flex}.sl-hdr-act-acts{padding:0 8px}.sl-hdr-act-acts-button span{display:inline}}\n"], dependencies: [{ kind: "directive", type: RdsiteLinkDirective, selector: "[rdsitelink]", inputs: ["anchorAdjustment", "anchorExtraAdjustment", "phonemodal"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
23
23
|
}
|
|
24
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: HeaderActionMenuComponent, decorators: [{
|
|
25
25
|
type: Component,
|
|
26
|
-
args: [{ selector: 'div[sl-hdr-act]', imports: [RdsiteLinkDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (loginUrl()) {\n <div class=\"sl-hdr-act-login\">\n <a [href]=\"loginUrl()\" aria-label=\"Entrar\" (click)=\"headerLoginClicked($event)\" rdsitelink class=\"sl-hdr-act-login-link\">\n <svg class=\"icon-mobile\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#profileCircle'\"></use>\n </svg>\n <svg class=\"icon-desktop\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#profileCircle'\"></use>\n </svg>\n <span>ENTRAR</span>\n </a>\n </div>\n}\n@if (homeUrl()) {\n <div class=\"sl-hdr-act-home\">\n <a [href]=\"homeUrl()\" class=\"sl-hdr-act-home-link\" aria-label=\"P\u00E1gina inicial\" rdsitelink> Portal Rede D\u2019Or </a>\n </div>\n}\n\n<div class=\"sl-hdr-act-acts\">\n @if (showSearch()) {\n <button type=\"button\" aria-label=\"Buscar\" class=\"sl-hdr-act-acts-button\" (click)=\"headerService.toggleShowSearch()\">\n @if (!headerService.showSearch()) {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#search'\"></use>\n </svg>\n <span>BUSCAR</span>\n } @else {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#close'\"></use>\n </svg>\n <span>FECHAR</span>\n }\n </button>\n }\n <button type=\"button\" aria-label=\"Abrir menu lateral\" class=\"sl-hdr-act-acts-button\" (click)=\"headerService.toggleShowSideMenu()\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#menuHamburguer'\"></use>\n </svg>\n </button>\n</div>\n", styles: ["div[sl-hdr-act]{display:flex;align-items:center;justify-content:center;height:100%;width:100%;gap:2px;background-color:var(--hdr-act-bg-color)}.sl-hdr-act-login,.sl-hdr-act-home{display:flex;align-items:center;justify-content:center;height:100%;padding:0 15px;background-color:var(--hdr-act-items-bg-color)}.sl-hdr-act-login-link,.sl-hdr-act-home-link{display:flex;align-items:center;justify-content:center;height:100%;gap:8px;padding:6px;text-decoration:none;color:var(--hdr-act-items-color)!important;font-size:12px;line-height:13px;letter-spacing:.72px;font-weight:500;cursor:pointer}.sl-hdr-act-login-link svg,.sl-hdr-act-home-link svg{stroke:var(--hdr-act-items-color)!important}.sl-hdr-act-login-link:hover,.sl-hdr-act-home-link:hover{color:var(--hdr-act-items-hover)!important}.sl-hdr-act-login-link:hover svg,.sl-hdr-act-home-link:hover svg{stroke:var(--hdr-act-items-hover)!important}.sl-hdr-act-login-link:active,.sl-hdr-act-home-link:active{color:var(--hdr-act-items-active)!important}.sl-hdr-act-login-link:active svg,.sl-hdr-act-home-link:active svg{stroke:var(--hdr-act-items-active)!important}.sl-hdr-act-login-link .icon-desktop,.sl-hdr-act-home-link .icon-desktop{display:none}.sl-hdr-act-login-link .icon-mobile,.sl-hdr-act-home-link .icon-mobile{display:inline}.sl-hdr-act-login-link span,.sl-hdr-act-home-link span,.sl-hdr-act-home{display:none}.sl-hdr-act-acts{display:flex;align-items:center;justify-content:center;height:100%;padding:0 12px;background-color:var(--hdr-act-items-bg-color)}.sl-hdr-act-acts-button{display:flex;align-items:center;justify-content:center;height:100%;gap:8px;padding:8px;background-color:transparent;color:var(--hdr-act-items-color)!important;font-size:12px;line-height:13px;letter-spacing:.72px;font-weight:500;cursor:pointer}.sl-hdr-act-acts-button svg{stroke:var(--hdr-act-items-color)!important}.sl-hdr-act-acts-button:hover{color:var(--hdr-act-items-hover)!important}.sl-hdr-act-acts-button:hover svg{stroke:var(--hdr-act-items-hover)!important}.sl-hdr-act-acts-button:active{color:var(--hdr-act-items-active)!important}.sl-hdr-act-acts-button:active svg{stroke:var(--hdr-act-items-active)!important}.sl-hdr-act-acts-button span{display:none}@media only screen and (min-width: 1024px){.sl-hdr-act-login,.sl-hdr-act-home{padding:0 12px}.sl-hdr-act-login-link,.sl-hdr-act-home-link{padding:8px}.sl-hdr-act-login-link .icon-desktop,.sl-hdr-act-home-link .icon-desktop{display:inline}.sl-hdr-act-login-link .icon-mobile,.sl-hdr-act-home-link .icon-mobile{display:none}.sl-hdr-act-login-link span,.sl-hdr-act-home-link span{display:inline}.sl-hdr-act-home{display:flex}.sl-hdr-act-acts{padding:0 8px}.sl-hdr-act-acts-button span{display:inline}}\n"] }]
|
|
26
|
+
args: [{ selector: 'div[sl-hdr-act]', imports: [RdsiteLinkDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (loginUrl()) {\r\n <div class=\"sl-hdr-act-login\">\r\n <a [href]=\"loginUrl()\" aria-label=\"Entrar\" (click)=\"headerLoginClicked($event)\" rdsitelink class=\"sl-hdr-act-login-link\">\r\n <svg class=\"icon-mobile\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#profileCircle'\"></use>\r\n </svg>\r\n <svg class=\"icon-desktop\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#profileCircle'\"></use>\r\n </svg>\r\n <span>ENTRAR</span>\r\n </a>\r\n </div>\r\n}\r\n@if (homeUrl()) {\r\n <div class=\"sl-hdr-act-home\">\r\n <a [href]=\"homeUrl()\" class=\"sl-hdr-act-home-link\" aria-label=\"P\u00E1gina inicial\" rdsitelink> Portal Rede D\u2019Or </a>\r\n </div>\r\n}\r\n\r\n<div class=\"sl-hdr-act-acts\">\r\n @if (showSearch()) {\r\n <button type=\"button\" aria-label=\"Buscar\" class=\"sl-hdr-act-acts-button\" (click)=\"headerService.toggleShowSearch()\">\r\n @if (!headerService.showSearch()) {\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#search'\"></use>\r\n </svg>\r\n <span>BUSCAR</span>\r\n } @else {\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#close'\"></use>\r\n </svg>\r\n <span>FECHAR</span>\r\n }\r\n </button>\r\n }\r\n <button type=\"button\" aria-label=\"Abrir menu lateral\" class=\"sl-hdr-act-acts-button\" (click)=\"headerService.toggleShowSideMenu()\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#menuHamburguer'\"></use>\r\n </svg>\r\n </button>\r\n</div>\r\n", styles: ["div[sl-hdr-act]{display:flex;align-items:center;justify-content:center;height:100%;width:100%;gap:2px;background-color:var(--hdr-act-bg-color)}.sl-hdr-act-login,.sl-hdr-act-home{display:flex;align-items:center;justify-content:center;height:100%;padding:0 15px;background-color:var(--hdr-act-items-bg-color)}.sl-hdr-act-login-link,.sl-hdr-act-home-link{display:flex;align-items:center;justify-content:center;height:100%;gap:8px;padding:6px;text-decoration:none;color:var(--hdr-act-items-color)!important;font-size:12px;line-height:13px;letter-spacing:.72px;font-weight:500;cursor:pointer}.sl-hdr-act-login-link svg,.sl-hdr-act-home-link svg{stroke:var(--hdr-act-items-color)!important}.sl-hdr-act-login-link:hover,.sl-hdr-act-home-link:hover{color:var(--hdr-act-items-hover)!important}.sl-hdr-act-login-link:hover svg,.sl-hdr-act-home-link:hover svg{stroke:var(--hdr-act-items-hover)!important}.sl-hdr-act-login-link:active,.sl-hdr-act-home-link:active{color:var(--hdr-act-items-active)!important}.sl-hdr-act-login-link:active svg,.sl-hdr-act-home-link:active svg{stroke:var(--hdr-act-items-active)!important}.sl-hdr-act-login-link .icon-desktop,.sl-hdr-act-home-link .icon-desktop{display:none}.sl-hdr-act-login-link .icon-mobile,.sl-hdr-act-home-link .icon-mobile{display:inline}.sl-hdr-act-login-link span,.sl-hdr-act-home-link span,.sl-hdr-act-home{display:none}.sl-hdr-act-acts{display:flex;align-items:center;justify-content:center;height:100%;padding:0 12px;background-color:var(--hdr-act-items-bg-color)}.sl-hdr-act-acts-button{display:flex;align-items:center;justify-content:center;height:100%;gap:8px;padding:8px;background-color:transparent;color:var(--hdr-act-items-color)!important;font-size:12px;line-height:13px;letter-spacing:.72px;font-weight:500;cursor:pointer}.sl-hdr-act-acts-button svg{stroke:var(--hdr-act-items-color)!important}.sl-hdr-act-acts-button:hover{color:var(--hdr-act-items-hover)!important}.sl-hdr-act-acts-button:hover svg{stroke:var(--hdr-act-items-hover)!important}.sl-hdr-act-acts-button:active{color:var(--hdr-act-items-active)!important}.sl-hdr-act-acts-button:active svg{stroke:var(--hdr-act-items-active)!important}.sl-hdr-act-acts-button span{display:none}@media only screen and (min-width: 1024px){.sl-hdr-act-login,.sl-hdr-act-home{padding:0 12px}.sl-hdr-act-login-link,.sl-hdr-act-home-link{padding:8px}.sl-hdr-act-login-link .icon-desktop,.sl-hdr-act-home-link .icon-desktop{display:inline}.sl-hdr-act-login-link .icon-mobile,.sl-hdr-act-home-link .icon-mobile{display:none}.sl-hdr-act-login-link span,.sl-hdr-act-home-link span{display:inline}.sl-hdr-act-home{display:flex}.sl-hdr-act-acts{padding:0 8px}.sl-hdr-act-acts-button span{display:inline}}\n"] }]
|
|
27
27
|
}] });
|
|
28
28
|
|
|
29
29
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rededor-site-front-end-lib-components-header-components-action.mjs","sources":["../../../projects/site-front-end-lib/components/header/components/action/header-action-menu/header-action-menu.component.ts","../../../projects/site-front-end-lib/components/header/components/action/header-action-menu/header-action-menu.component.html","../../../projects/site-front-end-lib/components/header/components/action/rededor-site-front-end-lib-components-header-components-action.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, inject, input, output, ViewEncapsulation } from '@angular/core';\nimport { HeaderService } from '@rededor/site-front-end-lib/components/header/services';\nimport { RdsiteLinkDirective } from '@rededor/site-front-end-lib/core';\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[sl-hdr-act]',\n imports: [RdsiteLinkDirective],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './header-action-menu.component.html',\n styleUrl: './header-action-menu.component.scss',\n})\nexport class HeaderActionMenuComponent {\n headerService = inject(HeaderService);\n private curaApiService = inject(CuraApiService);\n\n loginUrl = input<string>('');\n showSearch = input<boolean>(true);\n homeUrl = input<string>('');\n headerLoginClick = output<Event>();\n\n // Computed signals\n public assetsPath = computed(() => this.curaApiService.localAssetsPath());\n\n headerLoginClicked(event: Event) {\n this.headerLoginClick.emit(event);\n }\n}\n","@if (loginUrl()) {\n <div class=\"sl-hdr-act-login\">\n <a [href]=\"loginUrl()\" aria-label=\"Entrar\" (click)=\"headerLoginClicked($event)\" rdsitelink class=\"sl-hdr-act-login-link\">\n <svg class=\"icon-mobile\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#profileCircle'\"></use>\n </svg>\n <svg class=\"icon-desktop\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#profileCircle'\"></use>\n </svg>\n <span>ENTRAR</span>\n </a>\n </div>\n}\n@if (homeUrl()) {\n <div class=\"sl-hdr-act-home\">\n <a [href]=\"homeUrl()\" class=\"sl-hdr-act-home-link\" aria-label=\"Página inicial\" rdsitelink> Portal Rede D’Or </a>\n </div>\n}\n\n<div class=\"sl-hdr-act-acts\">\n @if (showSearch()) {\n <button type=\"button\" aria-label=\"Buscar\" class=\"sl-hdr-act-acts-button\" (click)=\"headerService.toggleShowSearch()\">\n @if (!headerService.showSearch()) {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#search'\"></use>\n </svg>\n <span>BUSCAR</span>\n } @else {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#close'\"></use>\n </svg>\n <span>FECHAR</span>\n }\n </button>\n }\n <button type=\"button\" aria-label=\"Abrir menu lateral\" class=\"sl-hdr-act-acts-button\" (click)=\"headerService.toggleShowSideMenu()\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#menuHamburguer'\"></use>\n </svg>\n </button>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAca,yBAAyB,CAAA;AATtC,IAAA,WAAA,GAAA;AAUE,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AAC7B,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;AAE/C,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAS,EAAE,oDAAC;AAC5B,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAU,IAAI,sDAAC;AACjC,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAS,EAAE,mDAAC;QAC3B,IAAA,CAAA,gBAAgB,GAAG,MAAM,EAAS;;AAG3B,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,sDAAC;AAK1E,IAAA;AAHC,IAAA,kBAAkB,CAAC,KAAY,EAAA;AAC7B,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;IACnC;8GAdW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdtC,
|
|
1
|
+
{"version":3,"file":"rededor-site-front-end-lib-components-header-components-action.mjs","sources":["../../../projects/site-front-end-lib/components/header/components/action/header-action-menu/header-action-menu.component.ts","../../../projects/site-front-end-lib/components/header/components/action/header-action-menu/header-action-menu.component.html","../../../projects/site-front-end-lib/components/header/components/action/rededor-site-front-end-lib-components-header-components-action.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, inject, input, output, ViewEncapsulation } from '@angular/core';\r\nimport { HeaderService } from '@rededor/site-front-end-lib/components/header/services';\r\nimport { RdsiteLinkDirective } from '@rededor/site-front-end-lib/core';\r\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'div[sl-hdr-act]',\r\n imports: [RdsiteLinkDirective],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n templateUrl: './header-action-menu.component.html',\r\n styleUrl: './header-action-menu.component.scss',\r\n})\r\nexport class HeaderActionMenuComponent {\r\n headerService = inject(HeaderService);\r\n private curaApiService = inject(CuraApiService);\r\n\r\n loginUrl = input<string>('');\r\n showSearch = input<boolean>(true);\r\n homeUrl = input<string>('');\r\n headerLoginClick = output<Event>();\r\n\r\n // Computed signals\r\n public assetsPath = computed(() => this.curaApiService.localAssetsPath());\r\n\r\n headerLoginClicked(event: Event) {\r\n this.headerLoginClick.emit(event);\r\n }\r\n}\r\n","@if (loginUrl()) {\r\n <div class=\"sl-hdr-act-login\">\r\n <a [href]=\"loginUrl()\" aria-label=\"Entrar\" (click)=\"headerLoginClicked($event)\" rdsitelink class=\"sl-hdr-act-login-link\">\r\n <svg class=\"icon-mobile\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#profileCircle'\"></use>\r\n </svg>\r\n <svg class=\"icon-desktop\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#profileCircle'\"></use>\r\n </svg>\r\n <span>ENTRAR</span>\r\n </a>\r\n </div>\r\n}\r\n@if (homeUrl()) {\r\n <div class=\"sl-hdr-act-home\">\r\n <a [href]=\"homeUrl()\" class=\"sl-hdr-act-home-link\" aria-label=\"Página inicial\" rdsitelink> Portal Rede D’Or </a>\r\n </div>\r\n}\r\n\r\n<div class=\"sl-hdr-act-acts\">\r\n @if (showSearch()) {\r\n <button type=\"button\" aria-label=\"Buscar\" class=\"sl-hdr-act-acts-button\" (click)=\"headerService.toggleShowSearch()\">\r\n @if (!headerService.showSearch()) {\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#search'\"></use>\r\n </svg>\r\n <span>BUSCAR</span>\r\n } @else {\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#close'\"></use>\r\n </svg>\r\n <span>FECHAR</span>\r\n }\r\n </button>\r\n }\r\n <button type=\"button\" aria-label=\"Abrir menu lateral\" class=\"sl-hdr-act-acts-button\" (click)=\"headerService.toggleShowSideMenu()\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#menuHamburguer'\"></use>\r\n </svg>\r\n </button>\r\n</div>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAca,yBAAyB,CAAA;AATtC,IAAA,WAAA,GAAA;AAUE,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AAC7B,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;AAE/C,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAS,EAAE,oDAAC;AAC5B,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAU,IAAI,sDAAC;AACjC,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAS,EAAE,mDAAC;QAC3B,IAAA,CAAA,gBAAgB,GAAG,MAAM,EAAS;;AAG3B,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,sDAAC;AAK1E,IAAA;AAHC,IAAA,kBAAkB,CAAC,KAAY,EAAA;AAC7B,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;IACnC;8GAdW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdtC,ylEAyCA,EAAA,MAAA,EAAA,CAAA,4oFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDjCY,mBAAmB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,uBAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAMlB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBATrC,SAAS;+BAEE,iBAAiB,EAAA,OAAA,EAClB,CAAC,mBAAmB,CAAC,EAAA,aAAA,EACf,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,ylEAAA,EAAA,MAAA,EAAA,CAAA,4oFAAA,CAAA,EAAA;;;AEVjD;;AAEG;;;;"}
|
|
@@ -47,11 +47,11 @@ class HeaderAuxMenuItemComponent {
|
|
|
47
47
|
this.isDropdownHover.set(value);
|
|
48
48
|
}
|
|
49
49
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: HeaderAuxMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
50
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: HeaderAuxMenuItemComponent, isStandalone: true, selector: "li[sl-hdr-aux-item]", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null }, altStyle: { classPropertyName: "altStyle", publicName: "altStyle", isSignal: true, isRequired: false, transformFunction: null }, onlyDesktop: { classPropertyName: "onlyDesktop", publicName: "onlyDesktop", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { headerAuxMenuItemClick: "headerAuxMenuItemClick", headerAuxMenuItemDDClick: "headerAuxMenuItemDDClick" }, ngImport: i0, template: "@if (item()) {\n <a\n class=\"sl-hdr-aux-item-link\"\n [ngClass]=\"{\n hover: isMenuHover() || isDropdownHover(),\n alt: altStyle,\n }\"\n (mouseenter)=\"btnHoverChange(true)\"\n (mouseleave)=\"btnHoverChange(false)\"\n [href]=\"item().url\"\n (click)=\"headerAuxMenuItemClicked($event)\"\n rdsitelink\n >\n {{ item().title }}\n @if (item().children?.length) {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#' + (isMenuHover() || isDropdownHover() ? 'up' : 'down')\"></use>\n </svg>\n }\n </a>\n\n @if (item().children?.length) {\n <div\n sl-hdr-aux-item-dropdown\n class=\"sl-hdr-aux-item-dropdown\"\n [ngStyle]=\"{ display: isMenuHover() || isDropdownHover() ? 'block' : 'none' }\"\n (mouseenter)=\"dropdownHoverChange(true)\"\n (mouseleave)=\"dropdownHoverChange(false)\"\n [items]=\"item().children ?? []\"\n (headerAuxMenuItemDDClick)=\"headerAuxMenuItemDDClicked($event)\"\n ></div>\n }\n}\n", styles: ["li[sl-hdr-aux-item]{display:flex;align-items:center;position:relative}.sl-hdr-aux-item-link{display:flex;height:32px;align-items:center;justify-content:center;gap:8px;color:var(--hdr-aux-color)!important;padding:8px;border-radius:4px;font-size:12px;line-height:13px;letter-spacing:.72px;font-weight:500!important;text-align:center;text-decoration:none}.sl-hdr-aux-item-link svg{stroke:var(--hdr-aux-color)!important}.sl-hdr-aux-item-link.hover{color:var(--hdr-aux-hover)!important}.sl-hdr-aux-item-link.hover svg{stroke:var(--hdr-aux-hover)!important}.sl-hdr-aux-item-link:active{color:var(--hdr-aux-active)!important}.sl-hdr-aux-item-link:active svg{stroke:var(--hdr-aux-active)!important}.sl-hdr-aux-item-link.alt{color:var(--hdr-aux-color-alt)!important}.sl-hdr-aux-item-link.alt svg{stroke:var(--hdr-aux-color-alt)!important}.sl-hdr-aux-item-link.alt.hover{color:var(--hdr-aux-hover-alt)!important}.sl-hdr-aux-item-link.alt.hover svg{stroke:var(--hdr-aux-hover-alt)!important}.sl-hdr-aux-item-link.alt:active{color:var(--hdr-aux-active-alt)!important}.sl-hdr-aux-item-link.alt:active svg{stroke:var(--hdr-aux-active-alt)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: RdsiteLinkDirective, selector: "[rdsitelink]", inputs: ["anchorAdjustment", "anchorExtraAdjustment", "phonemodal"] }, { kind: "component", type: HeaderAuxMenuItemDropdownComponent, selector: "div[sl-hdr-aux-item-dropdown]", inputs: ["items"], outputs: ["headerAuxMenuItemDDClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
50
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: HeaderAuxMenuItemComponent, isStandalone: true, selector: "li[sl-hdr-aux-item]", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null }, altStyle: { classPropertyName: "altStyle", publicName: "altStyle", isSignal: true, isRequired: false, transformFunction: null }, onlyDesktop: { classPropertyName: "onlyDesktop", publicName: "onlyDesktop", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { headerAuxMenuItemClick: "headerAuxMenuItemClick", headerAuxMenuItemDDClick: "headerAuxMenuItemDDClick" }, ngImport: i0, template: "@if (item()) {\r\n <a\r\n class=\"sl-hdr-aux-item-link\"\r\n [ngClass]=\"{\r\n hover: isMenuHover() || isDropdownHover(),\r\n alt: altStyle,\r\n }\"\r\n (mouseenter)=\"btnHoverChange(true)\"\r\n (mouseleave)=\"btnHoverChange(false)\"\r\n [href]=\"item().url\"\r\n (click)=\"headerAuxMenuItemClicked($event)\"\r\n rdsitelink\r\n >\r\n {{ item().title }}\r\n @if (item().children?.length) {\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#' + (isMenuHover() || isDropdownHover() ? 'up' : 'down')\"></use>\r\n </svg>\r\n }\r\n </a>\r\n\r\n @if (item().children?.length) {\r\n <div\r\n sl-hdr-aux-item-dropdown\r\n class=\"sl-hdr-aux-item-dropdown\"\r\n [ngStyle]=\"{ display: isMenuHover() || isDropdownHover() ? 'block' : 'none' }\"\r\n (mouseenter)=\"dropdownHoverChange(true)\"\r\n (mouseleave)=\"dropdownHoverChange(false)\"\r\n [items]=\"item().children ?? []\"\r\n (headerAuxMenuItemDDClick)=\"headerAuxMenuItemDDClicked($event)\"\r\n ></div>\r\n }\r\n}\r\n", styles: ["li[sl-hdr-aux-item]{display:flex;align-items:center;position:relative}.sl-hdr-aux-item-link{display:flex;height:32px;align-items:center;justify-content:center;gap:8px;color:var(--hdr-aux-color)!important;padding:8px;border-radius:4px;font-size:12px;line-height:13px;letter-spacing:.72px;font-weight:500!important;text-align:center;text-decoration:none}.sl-hdr-aux-item-link svg{stroke:var(--hdr-aux-color)!important}.sl-hdr-aux-item-link.hover{color:var(--hdr-aux-hover)!important}.sl-hdr-aux-item-link.hover svg{stroke:var(--hdr-aux-hover)!important}.sl-hdr-aux-item-link:active{color:var(--hdr-aux-active)!important}.sl-hdr-aux-item-link:active svg{stroke:var(--hdr-aux-active)!important}.sl-hdr-aux-item-link.alt{color:var(--hdr-aux-color-alt)!important}.sl-hdr-aux-item-link.alt svg{stroke:var(--hdr-aux-color-alt)!important}.sl-hdr-aux-item-link.alt.hover{color:var(--hdr-aux-hover-alt)!important}.sl-hdr-aux-item-link.alt.hover svg{stroke:var(--hdr-aux-hover-alt)!important}.sl-hdr-aux-item-link.alt:active{color:var(--hdr-aux-active-alt)!important}.sl-hdr-aux-item-link.alt:active svg{stroke:var(--hdr-aux-active-alt)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: RdsiteLinkDirective, selector: "[rdsitelink]", inputs: ["anchorAdjustment", "anchorExtraAdjustment", "phonemodal"] }, { kind: "component", type: HeaderAuxMenuItemDropdownComponent, selector: "div[sl-hdr-aux-item-dropdown]", inputs: ["items"], outputs: ["headerAuxMenuItemDDClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
51
51
|
}
|
|
52
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: HeaderAuxMenuItemComponent, decorators: [{
|
|
53
53
|
type: Component,
|
|
54
|
-
args: [{ selector: 'li[sl-hdr-aux-item]', imports: [CommonModule, RdsiteLinkDirective, HeaderAuxMenuItemDropdownComponent], encapsulation: ViewEncapsulation.None, template: "@if (item()) {\n <a\n class=\"sl-hdr-aux-item-link\"\n [ngClass]=\"{\n hover: isMenuHover() || isDropdownHover(),\n alt: altStyle,\n }\"\n (mouseenter)=\"btnHoverChange(true)\"\n (mouseleave)=\"btnHoverChange(false)\"\n [href]=\"item().url\"\n (click)=\"headerAuxMenuItemClicked($event)\"\n rdsitelink\n >\n {{ item().title }}\n @if (item().children?.length) {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#' + (isMenuHover() || isDropdownHover() ? 'up' : 'down')\"></use>\n </svg>\n }\n </a>\n\n @if (item().children?.length) {\n <div\n sl-hdr-aux-item-dropdown\n class=\"sl-hdr-aux-item-dropdown\"\n [ngStyle]=\"{ display: isMenuHover() || isDropdownHover() ? 'block' : 'none' }\"\n (mouseenter)=\"dropdownHoverChange(true)\"\n (mouseleave)=\"dropdownHoverChange(false)\"\n [items]=\"item().children ?? []\"\n (headerAuxMenuItemDDClick)=\"headerAuxMenuItemDDClicked($event)\"\n ></div>\n }\n}\n", styles: ["li[sl-hdr-aux-item]{display:flex;align-items:center;position:relative}.sl-hdr-aux-item-link{display:flex;height:32px;align-items:center;justify-content:center;gap:8px;color:var(--hdr-aux-color)!important;padding:8px;border-radius:4px;font-size:12px;line-height:13px;letter-spacing:.72px;font-weight:500!important;text-align:center;text-decoration:none}.sl-hdr-aux-item-link svg{stroke:var(--hdr-aux-color)!important}.sl-hdr-aux-item-link.hover{color:var(--hdr-aux-hover)!important}.sl-hdr-aux-item-link.hover svg{stroke:var(--hdr-aux-hover)!important}.sl-hdr-aux-item-link:active{color:var(--hdr-aux-active)!important}.sl-hdr-aux-item-link:active svg{stroke:var(--hdr-aux-active)!important}.sl-hdr-aux-item-link.alt{color:var(--hdr-aux-color-alt)!important}.sl-hdr-aux-item-link.alt svg{stroke:var(--hdr-aux-color-alt)!important}.sl-hdr-aux-item-link.alt.hover{color:var(--hdr-aux-hover-alt)!important}.sl-hdr-aux-item-link.alt.hover svg{stroke:var(--hdr-aux-hover-alt)!important}.sl-hdr-aux-item-link.alt:active{color:var(--hdr-aux-active-alt)!important}.sl-hdr-aux-item-link.alt:active svg{stroke:var(--hdr-aux-active-alt)!important}\n"] }]
|
|
54
|
+
args: [{ selector: 'li[sl-hdr-aux-item]', imports: [CommonModule, RdsiteLinkDirective, HeaderAuxMenuItemDropdownComponent], encapsulation: ViewEncapsulation.None, template: "@if (item()) {\r\n <a\r\n class=\"sl-hdr-aux-item-link\"\r\n [ngClass]=\"{\r\n hover: isMenuHover() || isDropdownHover(),\r\n alt: altStyle,\r\n }\"\r\n (mouseenter)=\"btnHoverChange(true)\"\r\n (mouseleave)=\"btnHoverChange(false)\"\r\n [href]=\"item().url\"\r\n (click)=\"headerAuxMenuItemClicked($event)\"\r\n rdsitelink\r\n >\r\n {{ item().title }}\r\n @if (item().children?.length) {\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#' + (isMenuHover() || isDropdownHover() ? 'up' : 'down')\"></use>\r\n </svg>\r\n }\r\n </a>\r\n\r\n @if (item().children?.length) {\r\n <div\r\n sl-hdr-aux-item-dropdown\r\n class=\"sl-hdr-aux-item-dropdown\"\r\n [ngStyle]=\"{ display: isMenuHover() || isDropdownHover() ? 'block' : 'none' }\"\r\n (mouseenter)=\"dropdownHoverChange(true)\"\r\n (mouseleave)=\"dropdownHoverChange(false)\"\r\n [items]=\"item().children ?? []\"\r\n (headerAuxMenuItemDDClick)=\"headerAuxMenuItemDDClicked($event)\"\r\n ></div>\r\n }\r\n}\r\n", styles: ["li[sl-hdr-aux-item]{display:flex;align-items:center;position:relative}.sl-hdr-aux-item-link{display:flex;height:32px;align-items:center;justify-content:center;gap:8px;color:var(--hdr-aux-color)!important;padding:8px;border-radius:4px;font-size:12px;line-height:13px;letter-spacing:.72px;font-weight:500!important;text-align:center;text-decoration:none}.sl-hdr-aux-item-link svg{stroke:var(--hdr-aux-color)!important}.sl-hdr-aux-item-link.hover{color:var(--hdr-aux-hover)!important}.sl-hdr-aux-item-link.hover svg{stroke:var(--hdr-aux-hover)!important}.sl-hdr-aux-item-link:active{color:var(--hdr-aux-active)!important}.sl-hdr-aux-item-link:active svg{stroke:var(--hdr-aux-active)!important}.sl-hdr-aux-item-link.alt{color:var(--hdr-aux-color-alt)!important}.sl-hdr-aux-item-link.alt svg{stroke:var(--hdr-aux-color-alt)!important}.sl-hdr-aux-item-link.alt.hover{color:var(--hdr-aux-hover-alt)!important}.sl-hdr-aux-item-link.alt.hover svg{stroke:var(--hdr-aux-hover-alt)!important}.sl-hdr-aux-item-link.alt:active{color:var(--hdr-aux-active-alt)!important}.sl-hdr-aux-item-link.alt:active svg{stroke:var(--hdr-aux-active-alt)!important}\n"] }]
|
|
55
55
|
}] });
|
|
56
56
|
|
|
57
57
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rededor-site-front-end-lib-components-header-components-auxiliar.mjs","sources":["../../../projects/site-front-end-lib/components/header/components/auxiliar/header-aux-menu-item-dropdown/header-aux-menu-item-dropdown.component.ts","../../../projects/site-front-end-lib/components/header/components/auxiliar/header-aux-menu-item-dropdown/header-aux-menu-item-dropdown.component.html","../../../projects/site-front-end-lib/components/header/components/auxiliar/header-aux-menu-item/header-aux-menu-item.component.ts","../../../projects/site-front-end-lib/components/header/components/auxiliar/header-aux-menu-item/header-aux-menu-item.component.html","../../../projects/site-front-end-lib/components/header/components/auxiliar/rededor-site-front-end-lib-components-header-components-auxiliar.ts"],"sourcesContent":["import { Component, input, output, ViewEncapsulation } from '@angular/core';\r\nimport { RdsiteLinkDirective, MenuItem } from '@rededor/site-front-end-lib/core';\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'div[sl-hdr-aux-item-dropdown]',\r\n imports: [RdsiteLinkDirective],\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './header-aux-menu-item-dropdown.component.html',\r\n styleUrl: './header-aux-menu-item-dropdown.component.scss',\r\n})\r\nexport class HeaderAuxMenuItemDropdownComponent {\r\n items = input.required<MenuItem[]>();\r\n headerAuxMenuItemDDClick = output<Event>();\r\n\r\n headerAuxMenuItemDDClicked(event: Event) {\r\n this.headerAuxMenuItemDDClick.emit(event);\r\n }\r\n}\r\n","<ul>\r\n @for (dropdownItem of items(); track dropdownItem.title) {\r\n <li class=\"dropdown-item\">\r\n <a [href]=\"dropdownItem.url\" (click)=\"headerAuxMenuItemDDClicked($event)\" rdsitelink>{{ dropdownItem.title }}</a>\r\n </li>\r\n }\r\n</ul>\r\n","import { CommonModule } from '@angular/common';\nimport { Component, computed, inject, input, output, signal, ViewEncapsulation, WritableSignal } from '@angular/core';\nimport { RdsiteLinkDirective, MenuItem } from '@rededor/site-front-end-lib/core';\nimport { HeaderAuxMenuItemDropdownComponent } from '../header-aux-menu-item-dropdown/header-aux-menu-item-dropdown.component';\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'li[sl-hdr-aux-item]',\n imports: [CommonModule, RdsiteLinkDirective, HeaderAuxMenuItemDropdownComponent],\n encapsulation: ViewEncapsulation.None,\n templateUrl: './header-aux-menu-item.component.html',\n styleUrl: './header-aux-menu-item.component.scss',\n})\nexport class HeaderAuxMenuItemComponent {\n private curaApiService = inject(CuraApiService);\n\n item = input.required<MenuItem>();\n altStyle = input<boolean>(false);\n onlyDesktop = input<boolean>(false);\n\n headerAuxMenuItemClick = output<Event>();\n headerAuxMenuItemDDClick = output<Event>();\n\n isMenuHover: WritableSignal<boolean> = signal(false);\n isDropdownHover: WritableSignal<boolean> = signal(false);\n\n // Computed signals\n public assetsPath = computed(() => this.curaApiService.localAssetsPath());\n\n headerAuxMenuItemClicked(event: Event) {\n this.headerAuxMenuItemClick.emit(event);\n }\n\n headerAuxMenuItemDDClicked(event: Event) {\n this.headerAuxMenuItemDDClick.emit(event);\n }\n\n btnHoverChange(value: boolean) {\n this.isMenuHover.set(value);\n }\n\n dropdownHoverChange(value: boolean) {\n this.isDropdownHover.set(value);\n }\n}\n","@if (item()) {\n <a\n class=\"sl-hdr-aux-item-link\"\n [ngClass]=\"{\n hover: isMenuHover() || isDropdownHover(),\n alt: altStyle,\n }\"\n (mouseenter)=\"btnHoverChange(true)\"\n (mouseleave)=\"btnHoverChange(false)\"\n [href]=\"item().url\"\n (click)=\"headerAuxMenuItemClicked($event)\"\n rdsitelink\n >\n {{ item().title }}\n @if (item().children?.length) {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#' + (isMenuHover() || isDropdownHover() ? 'up' : 'down')\"></use>\n </svg>\n }\n </a>\n\n @if (item().children?.length) {\n <div\n sl-hdr-aux-item-dropdown\n class=\"sl-hdr-aux-item-dropdown\"\n [ngStyle]=\"{ display: isMenuHover() || isDropdownHover() ? 'block' : 'none' }\"\n (mouseenter)=\"dropdownHoverChange(true)\"\n (mouseleave)=\"dropdownHoverChange(false)\"\n [items]=\"item().children ?? []\"\n (headerAuxMenuItemDDClick)=\"headerAuxMenuItemDDClicked($event)\"\n ></div>\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rededor-site-front-end-lib-components-header-components-auxiliar.mjs","sources":["../../../projects/site-front-end-lib/components/header/components/auxiliar/header-aux-menu-item-dropdown/header-aux-menu-item-dropdown.component.ts","../../../projects/site-front-end-lib/components/header/components/auxiliar/header-aux-menu-item-dropdown/header-aux-menu-item-dropdown.component.html","../../../projects/site-front-end-lib/components/header/components/auxiliar/header-aux-menu-item/header-aux-menu-item.component.ts","../../../projects/site-front-end-lib/components/header/components/auxiliar/header-aux-menu-item/header-aux-menu-item.component.html","../../../projects/site-front-end-lib/components/header/components/auxiliar/rededor-site-front-end-lib-components-header-components-auxiliar.ts"],"sourcesContent":["import { Component, input, output, ViewEncapsulation } from '@angular/core';\r\nimport { RdsiteLinkDirective, MenuItem } from '@rededor/site-front-end-lib/core';\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'div[sl-hdr-aux-item-dropdown]',\r\n imports: [RdsiteLinkDirective],\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './header-aux-menu-item-dropdown.component.html',\r\n styleUrl: './header-aux-menu-item-dropdown.component.scss',\r\n})\r\nexport class HeaderAuxMenuItemDropdownComponent {\r\n items = input.required<MenuItem[]>();\r\n headerAuxMenuItemDDClick = output<Event>();\r\n\r\n headerAuxMenuItemDDClicked(event: Event) {\r\n this.headerAuxMenuItemDDClick.emit(event);\r\n }\r\n}\r\n","<ul>\r\n @for (dropdownItem of items(); track dropdownItem.title) {\r\n <li class=\"dropdown-item\">\r\n <a [href]=\"dropdownItem.url\" (click)=\"headerAuxMenuItemDDClicked($event)\" rdsitelink>{{ dropdownItem.title }}</a>\r\n </li>\r\n }\r\n</ul>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, computed, inject, input, output, signal, ViewEncapsulation, WritableSignal } from '@angular/core';\r\nimport { RdsiteLinkDirective, MenuItem } from '@rededor/site-front-end-lib/core';\r\nimport { HeaderAuxMenuItemDropdownComponent } from '../header-aux-menu-item-dropdown/header-aux-menu-item-dropdown.component';\r\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'li[sl-hdr-aux-item]',\r\n imports: [CommonModule, RdsiteLinkDirective, HeaderAuxMenuItemDropdownComponent],\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './header-aux-menu-item.component.html',\r\n styleUrl: './header-aux-menu-item.component.scss',\r\n})\r\nexport class HeaderAuxMenuItemComponent {\r\n private curaApiService = inject(CuraApiService);\r\n\r\n item = input.required<MenuItem>();\r\n altStyle = input<boolean>(false);\r\n onlyDesktop = input<boolean>(false);\r\n\r\n headerAuxMenuItemClick = output<Event>();\r\n headerAuxMenuItemDDClick = output<Event>();\r\n\r\n isMenuHover: WritableSignal<boolean> = signal(false);\r\n isDropdownHover: WritableSignal<boolean> = signal(false);\r\n\r\n // Computed signals\r\n public assetsPath = computed(() => this.curaApiService.localAssetsPath());\r\n\r\n headerAuxMenuItemClicked(event: Event) {\r\n this.headerAuxMenuItemClick.emit(event);\r\n }\r\n\r\n headerAuxMenuItemDDClicked(event: Event) {\r\n this.headerAuxMenuItemDDClick.emit(event);\r\n }\r\n\r\n btnHoverChange(value: boolean) {\r\n this.isMenuHover.set(value);\r\n }\r\n\r\n dropdownHoverChange(value: boolean) {\r\n this.isDropdownHover.set(value);\r\n }\r\n}\r\n","@if (item()) {\r\n <a\r\n class=\"sl-hdr-aux-item-link\"\r\n [ngClass]=\"{\r\n hover: isMenuHover() || isDropdownHover(),\r\n alt: altStyle,\r\n }\"\r\n (mouseenter)=\"btnHoverChange(true)\"\r\n (mouseleave)=\"btnHoverChange(false)\"\r\n [href]=\"item().url\"\r\n (click)=\"headerAuxMenuItemClicked($event)\"\r\n rdsitelink\r\n >\r\n {{ item().title }}\r\n @if (item().children?.length) {\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#' + (isMenuHover() || isDropdownHover() ? 'up' : 'down')\"></use>\r\n </svg>\r\n }\r\n </a>\r\n\r\n @if (item().children?.length) {\r\n <div\r\n sl-hdr-aux-item-dropdown\r\n class=\"sl-hdr-aux-item-dropdown\"\r\n [ngStyle]=\"{ display: isMenuHover() || isDropdownHover() ? 'block' : 'none' }\"\r\n (mouseenter)=\"dropdownHoverChange(true)\"\r\n (mouseleave)=\"dropdownHoverChange(false)\"\r\n [items]=\"item().children ?? []\"\r\n (headerAuxMenuItemDDClick)=\"headerAuxMenuItemDDClicked($event)\"\r\n ></div>\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|