@rededor/site-front-end-lib 20.0.35 → 20.0.36
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 +55 -5
- package/components/breadcrumbs/index.d.ts +3 -12
- package/fesm2022/rededor-site-front-end-lib-components-breadcrumbs.mjs +4 -38
- package/fesm2022/rededor-site-front-end-lib-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-side-ctas.mjs +2 -3
- package/fesm2022/rededor-site-front-end-lib-components-side-ctas.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-sticky-navigation.mjs +2 -2
- package/fesm2022/rededor-site-front-end-lib-components-sticky-navigation.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-core.mjs +10 -6
- package/fesm2022/rededor-site-front-end-lib-core.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -82,22 +82,72 @@ Após realizar os testes, é recomendavel realizar a **limpeza** dessas linkagen
|
|
|
82
82
|
|
|
83
83
|
Feito isso, voce pode checar se as linkagens foram removidas corretamente com `npm list -g`.
|
|
84
84
|
|
|
85
|
+
## Desenvolvimento local com SSR
|
|
86
|
+
|
|
87
|
+
A partir de `site-front-end-lib-workspace`:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
node scripts/pack-local-target.mjs --target ../site-front-end-v2
|
|
91
|
+
node scripts/pack-local-target.mjs --target ../onco-front-end
|
|
92
|
+
node scripts/pack-local-target.mjs --target ../star-front-end --no-serve
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Funciona em qualquer front-end que consuma a lib e tenha `build:localdev` + `serve:ssr` (`site-front-end`, `site-front-end-v2`, `onco-front-end`, `maternidade-front-end`, `richet-front-end`, `star-front-end`).
|
|
96
|
+
|
|
97
|
+
O script incrementa a versão alpha, empacota a lib, instala no alvo, roda `build:localdev` e sobe `serve:ssr`. Única flag opcional: `--no-serve`. Ver `--help`.
|
|
98
|
+
|
|
99
|
+
### Fluxo manual (alternativo)
|
|
100
|
+
|
|
101
|
+
#### 1 — No contexto da LIB
|
|
102
|
+
|
|
103
|
+
1. Incremente uma versão alpha no `package.json` antes de cada build de teste (ex.: `20.0.36-alpha.1`, `20.0.36-alpha.2`).
|
|
104
|
+
2. Faça o build e empacote a lib:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
ng build site-front-end-lib
|
|
108
|
+
cd dist/site-front-end-lib
|
|
109
|
+
npm pack
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
1. Copie ou mova o arquivo `.tgz` gerado para a raiz do projeto que será testado.
|
|
113
|
+
|
|
114
|
+
#### 2 — No contexto do PROJETO
|
|
115
|
+
|
|
116
|
+
1. Com o arquivo `.tgz` na raiz do projeto, atualize a dependência `@rededor/site-front-end-lib` no `package.json`:
|
|
117
|
+
|
|
118
|
+
```json
|
|
119
|
+
"@rededor/site-front-end-lib": "file:./rededor-site-front-end-lib-20.0.36-alpha.1.tgz"
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
> Substitua o nome do arquivo pela versão gerada no passo anterior.
|
|
123
|
+
|
|
124
|
+
1. Instale as dependências:
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
npm i
|
|
128
|
+
# ou, em caso de erro:
|
|
129
|
+
npm i --force
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
1. Faça o build e inicie o SSR:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
npm run build:localdev
|
|
136
|
+
npm run serve:ssr
|
|
137
|
+
```
|
|
138
|
+
|
|
85
139
|
## \(DEPRECATED\) \(Recomenda-se utilizar o fluxo descrito em [VERSIONAMENTO](../../VERSIONAMENTO.md)\)
|
|
86
140
|
|
|
87
141
|
## Versionamento manual
|
|
88
142
|
|
|
89
143
|
- Lembre-se de trocar o número da versão no `package.json`.
|
|
90
|
-
|
|
91
|
-
- Adicione uma mensagem de versão no [`CHANGELOG.md`](CHANGELOG.md).
|
|
144
|
+
- Adicione uma mensagem de versão no `[CHANGELOG.md](CHANGELOG.md)`.
|
|
92
145
|
|
|
93
146
|
## Pull request e tag de versão manual
|
|
94
147
|
|
|
95
148
|
- Realize o Pull Request (PR) de sua branch para a branch **master**.
|
|
96
|
-
|
|
97
149
|
- Após aprovação pelo code review, realize o merge do PR.
|
|
98
|
-
|
|
99
150
|
- Atualize sua master local com a branch **master**.
|
|
100
|
-
|
|
101
151
|
- Crie a tag da versão no git (troque o número da versão pela atual).
|
|
102
152
|
|
|
103
153
|
```
|
|
@@ -1,22 +1,18 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { ElementRef } from '@angular/core';
|
|
3
3
|
import { BreadcrumbsItems } from '@rededor/site-front-end-lib/core';
|
|
4
4
|
|
|
5
|
-
declare class BreadcrumbsComponent
|
|
5
|
+
declare class BreadcrumbsComponent {
|
|
6
6
|
private curaApiService;
|
|
7
7
|
private libConfig;
|
|
8
8
|
private document;
|
|
9
|
-
private cdr;
|
|
10
|
-
private readonly platformId;
|
|
11
9
|
readonly labelIconColor: _angular_core.InputSignal<string>;
|
|
12
10
|
readonly fontWeight: _angular_core.InputSignal<string>;
|
|
13
11
|
readonly breadcrumbs: _angular_core.InputSignal<BreadcrumbsItems[]>;
|
|
14
12
|
readonly mobileBackView: _angular_core.InputSignal<boolean>;
|
|
15
|
-
readonly isDesktop: _angular_core.WritableSignal<boolean | null>;
|
|
16
13
|
private breadcrumbsJsonTag;
|
|
17
14
|
private readonly breadcrumbsJsonTagId;
|
|
18
|
-
|
|
19
|
-
readonly breadCrumbsElement: _angular_core.Signal<ElementRef<HTMLDivElement>>;
|
|
15
|
+
readonly breadCrumbsElement: _angular_core.Signal<ElementRef<HTMLElement>>;
|
|
20
16
|
get hostStyles(): {
|
|
21
17
|
'--font-family': string;
|
|
22
18
|
'--label-icon-color': string;
|
|
@@ -25,11 +21,6 @@ declare class BreadcrumbsComponent implements AfterViewInit, OnDestroy {
|
|
|
25
21
|
'--font-weight': string | null;
|
|
26
22
|
};
|
|
27
23
|
constructor();
|
|
28
|
-
ngAfterViewInit(): void;
|
|
29
|
-
ngOnDestroy(): void;
|
|
30
|
-
private initViewportDetection;
|
|
31
|
-
private setupResizeObserver;
|
|
32
|
-
private checkViewportSize;
|
|
33
24
|
getUrl(urls?: string[]): string;
|
|
34
25
|
private setBreadcrumbsJson;
|
|
35
26
|
private getBreadcrumbsJSONTag;
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, DOCUMENT,
|
|
3
|
-
import
|
|
4
|
-
import { isPlatformBrowser, CommonModule } from '@angular/common';
|
|
2
|
+
import { inject, DOCUMENT, input, viewChild, effect, HostBinding, Component } from '@angular/core';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
5
4
|
import * as he from 'he';
|
|
6
5
|
import { LIB_CONFIG, RdsiteLinkDirective } from '@rededor/site-front-end-lib/core';
|
|
7
6
|
import { CuraApiService } from '@rededor/site-front-end-lib/cura/api';
|
|
8
|
-
import { MediaQueries } from '@rededor/site-front-end-lib/shared';
|
|
9
7
|
import { CuraIconComponent } from '@rededor/site-front-end-lib/cura/icons/cura-icon';
|
|
10
8
|
|
|
11
9
|
class BreadcrumbsComponent {
|
|
@@ -24,13 +22,10 @@ class BreadcrumbsComponent {
|
|
|
24
22
|
this.curaApiService = inject(CuraApiService);
|
|
25
23
|
this.libConfig = inject(LIB_CONFIG);
|
|
26
24
|
this.document = inject(DOCUMENT);
|
|
27
|
-
this.cdr = inject(ChangeDetectorRef);
|
|
28
|
-
this.platformId = inject(PLATFORM_ID);
|
|
29
25
|
this.labelIconColor = input('neutral-purewhite', ...(ngDevMode ? [{ debugName: "labelIconColor" }] : []));
|
|
30
26
|
this.fontWeight = input('', ...(ngDevMode ? [{ debugName: "fontWeight" }] : []));
|
|
31
27
|
this.breadcrumbs = input([], ...(ngDevMode ? [{ debugName: "breadcrumbs" }] : []));
|
|
32
28
|
this.mobileBackView = input(false, ...(ngDevMode ? [{ debugName: "mobileBackView" }] : []));
|
|
33
|
-
this.isDesktop = signal(null, ...(ngDevMode ? [{ debugName: "isDesktop" }] : []));
|
|
34
29
|
this.breadcrumbsJsonTagId = 'breadcrumbsJSON';
|
|
35
30
|
this.breadCrumbsElement = viewChild.required('breadCrumbsElement');
|
|
36
31
|
effect(() => {
|
|
@@ -39,35 +34,6 @@ class BreadcrumbsComponent {
|
|
|
39
34
|
}
|
|
40
35
|
});
|
|
41
36
|
}
|
|
42
|
-
ngAfterViewInit() {
|
|
43
|
-
this.initViewportDetection();
|
|
44
|
-
}
|
|
45
|
-
ngOnDestroy() {
|
|
46
|
-
this.resizeObserver?.disconnect();
|
|
47
|
-
}
|
|
48
|
-
initViewportDetection() {
|
|
49
|
-
if (!isPlatformBrowser(this.platformId)) {
|
|
50
|
-
this.isDesktop.set(true);
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
this.checkViewportSize();
|
|
54
|
-
this.setupResizeObserver();
|
|
55
|
-
}
|
|
56
|
-
setupResizeObserver() {
|
|
57
|
-
this.resizeObserver = new ResizeObserver(() => {
|
|
58
|
-
this.checkViewportSize();
|
|
59
|
-
});
|
|
60
|
-
this.resizeObserver.observe(document.body);
|
|
61
|
-
}
|
|
62
|
-
checkViewportSize() {
|
|
63
|
-
if (!isPlatformBrowser(this.platformId))
|
|
64
|
-
return;
|
|
65
|
-
const newValue = window.innerWidth > MediaQueries.smallBreakpoint;
|
|
66
|
-
if (this.isDesktop() !== newValue) {
|
|
67
|
-
this.isDesktop.set(newValue);
|
|
68
|
-
this.cdr.detectChanges();
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
37
|
getUrl(urls = []) {
|
|
72
38
|
return urls.join('');
|
|
73
39
|
}
|
|
@@ -102,11 +68,11 @@ class BreadcrumbsComponent {
|
|
|
102
68
|
}));
|
|
103
69
|
}
|
|
104
70
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: BreadcrumbsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
105
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: BreadcrumbsComponent, isStandalone: true, selector: "rdsite-breadcrumbs", inputs: { labelIconColor: { classPropertyName: "labelIconColor", publicName: "labelIconColor", isSignal: true, isRequired: false, transformFunction: null }, fontWeight: { classPropertyName: "fontWeight", publicName: "fontWeight", isSignal: true, isRequired: false, transformFunction: null }, breadcrumbs: { classPropertyName: "breadcrumbs", publicName: "breadcrumbs", isSignal: true, isRequired: false, transformFunction: null }, mobileBackView: { classPropertyName: "mobileBackView", publicName: "mobileBackView", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style": "this.hostStyles" } }, viewQueries: [{ propertyName: "breadCrumbsElement", first: true, predicate: ["breadCrumbsElement"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (breadcrumbs().length) {\r\n <nav class=\"
|
|
71
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: BreadcrumbsComponent, isStandalone: true, selector: "rdsite-breadcrumbs", inputs: { labelIconColor: { classPropertyName: "labelIconColor", publicName: "labelIconColor", isSignal: true, isRequired: false, transformFunction: null }, fontWeight: { classPropertyName: "fontWeight", publicName: "fontWeight", isSignal: true, isRequired: false, transformFunction: null }, breadcrumbs: { classPropertyName: "breadcrumbs", publicName: "breadcrumbs", isSignal: true, isRequired: false, transformFunction: null }, mobileBackView: { classPropertyName: "mobileBackView", publicName: "mobileBackView", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style": "this.hostStyles" } }, viewQueries: [{ propertyName: "breadCrumbsElement", first: true, predicate: ["breadCrumbsElement"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (breadcrumbs().length) {\r\n <nav class=\"rdsite-breadcrumbs\" [class.rdsite-breadcrumbs-short]=\"breadcrumbs().length < 3 && !mobileBackView()\" #breadCrumbsElement>\r\n <ol class=\"rdsite-breadcrumbs-list rdsite-breadcrumbs-list-desktop\">\r\n @for (breadcrumb of breadcrumbs(); track breadcrumb.label; let first = $first; let last = $last; let index = $index) {\r\n <li>\r\n @if (!last) {\r\n <a rdsitelink [href]=\"getUrl(breadcrumb.url)\">\r\n @if (first) {\r\n <cura-icon name=\"home\" [color]=\"labelIconColor()\" size=\"16\"> </cura-icon>\r\n }\r\n <span>\r\n {{ breadcrumb.label }}\r\n </span>\r\n </a>\r\n <span class=\"divider\">/</span>\r\n } @else {\r\n <span [class.last-item]=\"last && !first\">\r\n {{ breadcrumb.label }}\r\n </span>\r\n }\r\n </li>\r\n }\r\n </ol>\r\n\r\n <ol class=\"rdsite-breadcrumbs-list rdsite-breadcrumbs-list-mobile\">\r\n @for (breadcrumb of breadcrumbs(); track breadcrumb.label; let first = $first; let last = $last; let index = $index) {\r\n <li>\r\n @if (breadcrumbs().length > 2 && first) {\r\n <a rdsitelink [href]=\"getUrl(breadcrumb.url)\">\r\n <cura-icon name=\"home\" [color]=\"labelIconColor()\" size=\"16\"> </cura-icon>\r\n <span>\r\n {{ breadcrumb.label }}\r\n </span>\r\n </a>\r\n <span class=\"divider\">/</span>\r\n } @else if (index === breadcrumbs().length - 2) {\r\n <cura-icon name=\"arrowLeft\" [color]=\"labelIconColor()\" size=\"16\"></cura-icon>\r\n <a rdsitelink [href]=\"getUrl(breadcrumb.url)\">\r\n <span>\r\n {{ breadcrumb.label }}\r\n </span>\r\n </a>\r\n }\r\n </li>\r\n }\r\n </ol>\r\n </nav>\r\n}\r\n", styles: [".rdsite-breadcrumbs *{font-family:var(--font-family)}.rdsite-breadcrumbs-list{display:flex;margin:0;padding:0;list-style:none}.rdsite-breadcrumbs-list li{display:flex;gap:8px}.rdsite-breadcrumbs-list li a{color:var(--label-icon-color);display:flex;gap:4px;text-decoration:none}.rdsite-breadcrumbs-list li a span{text-decoration:underline;font-size:12px;font-weight:var(--font-weight, 500);line-height:16px;letter-spacing:.72px}.rdsite-breadcrumbs-list li span.last-item{color:var(--disabled-color);text-decoration:none;pointer-events:none;font-size:12px;font-weight:var(--font-weight, 500);line-height:16px;letter-spacing:.72px}.rdsite-breadcrumbs-list li span.divider,.rdsite-breadcrumbs-list li span.back{color:var(--divider-color);padding-right:8px;font-size:12px;font-weight:var(--font-weight, 500);line-height:16px;letter-spacing:.72px}.rdsite-breadcrumbs-list li span.back{padding:0}.rdsite-breadcrumbs-list-desktop{display:none}@media screen and (min-width: 769px){.rdsite-breadcrumbs-list-desktop{display:flex}}.rdsite-breadcrumbs-list-mobile{display:flex}@media screen and (min-width: 769px){.rdsite-breadcrumbs-list-mobile{display:none}}.rdsite-breadcrumbs-short .rdsite-breadcrumbs-list-desktop{display:flex}.rdsite-breadcrumbs-short .rdsite-breadcrumbs-list-mobile{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: RdsiteLinkDirective, selector: "[rdsitelink]", inputs: ["anchorAdjustment", "anchorExtraAdjustment", "phonemodal"] }, { kind: "component", type: CuraIconComponent, selector: "cura-icon", inputs: ["name", "color", "size", "iconset", "disabled"] }] }); }
|
|
106
72
|
}
|
|
107
73
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: BreadcrumbsComponent, decorators: [{
|
|
108
74
|
type: Component,
|
|
109
|
-
args: [{ selector: 'rdsite-breadcrumbs', imports: [CommonModule, RdsiteLinkDirective, CuraIconComponent], template: "@if (breadcrumbs().length) {\r\n <nav class=\"
|
|
75
|
+
args: [{ selector: 'rdsite-breadcrumbs', imports: [CommonModule, RdsiteLinkDirective, CuraIconComponent], template: "@if (breadcrumbs().length) {\r\n <nav class=\"rdsite-breadcrumbs\" [class.rdsite-breadcrumbs-short]=\"breadcrumbs().length < 3 && !mobileBackView()\" #breadCrumbsElement>\r\n <ol class=\"rdsite-breadcrumbs-list rdsite-breadcrumbs-list-desktop\">\r\n @for (breadcrumb of breadcrumbs(); track breadcrumb.label; let first = $first; let last = $last; let index = $index) {\r\n <li>\r\n @if (!last) {\r\n <a rdsitelink [href]=\"getUrl(breadcrumb.url)\">\r\n @if (first) {\r\n <cura-icon name=\"home\" [color]=\"labelIconColor()\" size=\"16\"> </cura-icon>\r\n }\r\n <span>\r\n {{ breadcrumb.label }}\r\n </span>\r\n </a>\r\n <span class=\"divider\">/</span>\r\n } @else {\r\n <span [class.last-item]=\"last && !first\">\r\n {{ breadcrumb.label }}\r\n </span>\r\n }\r\n </li>\r\n }\r\n </ol>\r\n\r\n <ol class=\"rdsite-breadcrumbs-list rdsite-breadcrumbs-list-mobile\">\r\n @for (breadcrumb of breadcrumbs(); track breadcrumb.label; let first = $first; let last = $last; let index = $index) {\r\n <li>\r\n @if (breadcrumbs().length > 2 && first) {\r\n <a rdsitelink [href]=\"getUrl(breadcrumb.url)\">\r\n <cura-icon name=\"home\" [color]=\"labelIconColor()\" size=\"16\"> </cura-icon>\r\n <span>\r\n {{ breadcrumb.label }}\r\n </span>\r\n </a>\r\n <span class=\"divider\">/</span>\r\n } @else if (index === breadcrumbs().length - 2) {\r\n <cura-icon name=\"arrowLeft\" [color]=\"labelIconColor()\" size=\"16\"></cura-icon>\r\n <a rdsitelink [href]=\"getUrl(breadcrumb.url)\">\r\n <span>\r\n {{ breadcrumb.label }}\r\n </span>\r\n </a>\r\n }\r\n </li>\r\n }\r\n </ol>\r\n </nav>\r\n}\r\n", styles: [".rdsite-breadcrumbs *{font-family:var(--font-family)}.rdsite-breadcrumbs-list{display:flex;margin:0;padding:0;list-style:none}.rdsite-breadcrumbs-list li{display:flex;gap:8px}.rdsite-breadcrumbs-list li a{color:var(--label-icon-color);display:flex;gap:4px;text-decoration:none}.rdsite-breadcrumbs-list li a span{text-decoration:underline;font-size:12px;font-weight:var(--font-weight, 500);line-height:16px;letter-spacing:.72px}.rdsite-breadcrumbs-list li span.last-item{color:var(--disabled-color);text-decoration:none;pointer-events:none;font-size:12px;font-weight:var(--font-weight, 500);line-height:16px;letter-spacing:.72px}.rdsite-breadcrumbs-list li span.divider,.rdsite-breadcrumbs-list li span.back{color:var(--divider-color);padding-right:8px;font-size:12px;font-weight:var(--font-weight, 500);line-height:16px;letter-spacing:.72px}.rdsite-breadcrumbs-list li span.back{padding:0}.rdsite-breadcrumbs-list-desktop{display:none}@media screen and (min-width: 769px){.rdsite-breadcrumbs-list-desktop{display:flex}}.rdsite-breadcrumbs-list-mobile{display:flex}@media screen and (min-width: 769px){.rdsite-breadcrumbs-list-mobile{display:none}}.rdsite-breadcrumbs-short .rdsite-breadcrumbs-list-desktop{display:flex}.rdsite-breadcrumbs-short .rdsite-breadcrumbs-list-mobile{display:none}\n"] }]
|
|
110
76
|
}], ctorParameters: () => [], propDecorators: { labelIconColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelIconColor", required: false }] }], fontWeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "fontWeight", required: false }] }], breadcrumbs: [{ type: i0.Input, args: [{ isSignal: true, alias: "breadcrumbs", required: false }] }], mobileBackView: [{ type: i0.Input, args: [{ isSignal: true, alias: "mobileBackView", required: false }] }], breadCrumbsElement: [{ type: i0.ViewChild, args: ['breadCrumbsElement', { isSignal: true }] }], hostStyles: [{
|
|
111
77
|
type: HostBinding,
|
|
112
78
|
args: ['style']
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rededor-site-front-end-lib-components-breadcrumbs.mjs","sources":["../../../projects/site-front-end-lib/components/breadcrumbs/breadcrumbs.component.ts","../../../projects/site-front-end-lib/components/breadcrumbs/breadcrumbs.component.html","../../../projects/site-front-end-lib/components/breadcrumbs/rededor-site-front-end-lib-components-breadcrumbs.ts"],"sourcesContent":["import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n OnDestroy,\r\n PLATFORM_ID,\r\n DOCUMENT,\r\n HostBinding,\r\n input,\r\n viewChild,\r\n inject,\r\n signal,\r\n effect,\r\n} from '@angular/core';\r\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\r\nimport * as he from 'he';\r\nimport { BreadcrumbsItems, RdsiteLinkDirective, BreadcrumbsJsonItem, LIB_CONFIG, LibConfig } from '@rededor/site-front-end-lib/core';\r\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\r\nimport { MediaQueries } from '@rededor/site-front-end-lib/shared';\r\nimport { CuraIconComponent } from '@rededor/site-front-end-lib/cura/icons/cura-icon';\r\n\r\n@Component({\r\n selector: 'rdsite-breadcrumbs',\r\n imports: [CommonModule, RdsiteLinkDirective, CuraIconComponent],\r\n templateUrl: './breadcrumbs.component.html',\r\n styleUrl: './breadcrumbs.component.scss',\r\n})\r\nexport class BreadcrumbsComponent implements AfterViewInit, OnDestroy {\r\n private curaApiService = inject(CuraApiService);\r\n private libConfig = inject<LibConfig>(LIB_CONFIG);\r\n private document = inject<Document>(DOCUMENT);\r\n private cdr: ChangeDetectorRef = inject(ChangeDetectorRef);\r\n private readonly platformId = inject(PLATFORM_ID);\r\n\r\n readonly labelIconColor = input<string>('neutral-purewhite');\r\n readonly fontWeight = input<string>('');\r\n readonly breadcrumbs = input<BreadcrumbsItems[]>([]);\r\n readonly mobileBackView = input<boolean>(false);\r\n\r\n readonly isDesktop = signal<boolean | null>(null);\r\n\r\n private breadcrumbsJsonTag!: HTMLScriptElement;\r\n private readonly breadcrumbsJsonTagId = 'breadcrumbsJSON';\r\n private resizeObserver!: ResizeObserver;\r\n\r\n readonly breadCrumbsElement = viewChild.required<ElementRef<HTMLDivElement>>('breadCrumbsElement');\r\n\r\n @HostBinding('style') get hostStyles() {\r\n const color = this.labelIconColor();\r\n const disabledColor = color?.includes('neutral') ? 'primary-lighter' : 'neutral-dark';\r\n\r\n return {\r\n '--font-family': this.curaApiService.theme.fonts.getFamily(''),\r\n '--label-icon-color': this.curaApiService.theme.colors.getColor(color),\r\n '--divider-color': this.curaApiService.theme.colors.getColor('neutral-light'),\r\n '--disabled-color': this.curaApiService.theme.colors.getColor(disabledColor),\r\n '--font-weight': this.fontWeight() || null,\r\n };\r\n }\r\n\r\n constructor() {\r\n effect(() => {\r\n if (this.breadcrumbs().length) {\r\n this.setBreadcrumbsJson(this.breadcrumbs());\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.initViewportDetection();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.resizeObserver?.disconnect();\r\n }\r\n\r\n private initViewportDetection(): void {\r\n if (!isPlatformBrowser(this.platformId)) {\r\n this.isDesktop.set(true);\r\n return;\r\n }\r\n\r\n this.checkViewportSize();\r\n this.setupResizeObserver();\r\n }\r\n\r\n private setupResizeObserver(): void {\r\n this.resizeObserver = new ResizeObserver(() => {\r\n this.checkViewportSize();\r\n });\r\n\r\n this.resizeObserver.observe(document.body);\r\n }\r\n\r\n private checkViewportSize(): void {\r\n if (!isPlatformBrowser(this.platformId)) return;\r\n const newValue = window.innerWidth > MediaQueries.smallBreakpoint;\r\n if (this.isDesktop() !== newValue) {\r\n this.isDesktop.set(newValue);\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n getUrl(urls: string[] = []): string {\r\n return urls.join('');\r\n }\r\n\r\n private setBreadcrumbsJson(items: BreadcrumbsItems[]): void {\r\n this.breadcrumbsJsonTag = this.getBreadcrumbsJSONTag();\r\n const json = {\r\n '@context': 'http://schema.org',\r\n '@type': 'BreadcrumbList',\r\n itemListElement: this.getJsonBreadcrumbItems(items),\r\n };\r\n this.breadcrumbsJsonTag.innerHTML = JSON.stringify(json);\r\n }\r\n\r\n private getBreadcrumbsJSONTag(): HTMLScriptElement {\r\n const existingTag = this.document.getElementById(this.breadcrumbsJsonTagId) as HTMLScriptElement;\r\n return existingTag || this.createBreadcrumbsJSONTag();\r\n }\r\n\r\n private createBreadcrumbsJSONTag(): HTMLScriptElement {\r\n const tag = this.document.createElement('script');\r\n tag.id = this.breadcrumbsJsonTagId;\r\n tag.type = 'application/ld+json';\r\n this.document.head.appendChild(tag);\r\n return tag;\r\n }\r\n\r\n private getJsonBreadcrumbItems(items: BreadcrumbsItems[]): BreadcrumbsJsonItem[] {\r\n return items.map((item, i) => ({\r\n '@type': 'ListItem',\r\n position: i + 1,\r\n item: {\r\n '@id': `${this.libConfig.siteUrl.replace(/\\/$/, '')}${this.getUrl(item.url)}`,\r\n name: he.encode(item.label),\r\n },\r\n }));\r\n }\r\n}\r\n","@if (breadcrumbs().length) {\r\n <nav class=\"breadcrumb\" #breadCrumbsElement>\r\n <ol>\r\n @if (isDesktop() !== null && (isDesktop() || (!mobileBackView() && breadcrumbs().length < 3))) {\r\n <ng-container *ngTemplateOutlet=\"Desktop\"></ng-container>\r\n } @else if (isDesktop() !== null) {\r\n <ng-container *ngTemplateOutlet=\"Mobile\"></ng-container>\r\n }\r\n </ol>\r\n </nav>\r\n}\r\n\r\n<ng-template #Desktop>\r\n @for (breadcrumb of breadcrumbs(); track breadcrumb.label; let first = $first; let last = $last; let index = $index) {\r\n <li>\r\n @if (!last) {\r\n <a rdsitelink [href]=\"getUrl(breadcrumb.url)\">\r\n @if (first) {\r\n <cura-icon name=\"home\" [color]=\"labelIconColor()\" size=\"16\"> </cura-icon>\r\n }\r\n <span>\r\n {{ breadcrumb.label }}\r\n </span>\r\n </a>\r\n <span class=\"divider\">/</span>\r\n } @else {\r\n <span [class.last-item]=\"last && !first\">\r\n {{ breadcrumb.label }}\r\n </span>\r\n }\r\n </li>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #Mobile>\r\n @for (breadcrumb of breadcrumbs(); track breadcrumb.label; let first = $first; let last = $last; let index = $index) {\r\n <li>\r\n @if (breadcrumbs().length > 2 && first) {\r\n <a rdsitelink [href]=\"getUrl(breadcrumb.url)\">\r\n <cura-icon name=\"home\" [color]=\"labelIconColor()\" size=\"16\"> </cura-icon>\r\n <span>\r\n {{ breadcrumb.label }}\r\n </span>\r\n </a>\r\n <span class=\"divider\">/</span>\r\n } @else if (index === breadcrumbs().length - 2) {\r\n <cura-icon name=\"arrowLeft\" [color]=\"labelIconColor()\" size=\"16\"></cura-icon>\r\n <a rdsitelink [href]=\"getUrl(breadcrumb.url)\">\r\n <span>\r\n {{ breadcrumb.label }}\r\n </span>\r\n </a>\r\n }\r\n </li>\r\n }\r\n</ng-template>\r\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-breadcrumbs.mjs","sources":["../../../projects/site-front-end-lib/components/breadcrumbs/breadcrumbs.component.ts","../../../projects/site-front-end-lib/components/breadcrumbs/breadcrumbs.component.html","../../../projects/site-front-end-lib/components/breadcrumbs/rededor-site-front-end-lib-components-breadcrumbs.ts"],"sourcesContent":["import { Component, DOCUMENT, HostBinding, input, viewChild, inject, effect, ElementRef } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport * as he from 'he';\r\nimport { BreadcrumbsItems, RdsiteLinkDirective, BreadcrumbsJsonItem, LIB_CONFIG, LibConfig } from '@rededor/site-front-end-lib/core';\r\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\r\nimport { CuraIconComponent } from '@rededor/site-front-end-lib/cura/icons/cura-icon';\r\n\r\n@Component({\r\n selector: 'rdsite-breadcrumbs',\r\n imports: [CommonModule, RdsiteLinkDirective, CuraIconComponent],\r\n templateUrl: './breadcrumbs.component.html',\r\n styleUrl: './breadcrumbs.component.scss',\r\n})\r\nexport class BreadcrumbsComponent {\r\n private curaApiService = inject(CuraApiService);\r\n private libConfig = inject<LibConfig>(LIB_CONFIG);\r\n private document = inject<Document>(DOCUMENT);\r\n\r\n readonly labelIconColor = input<string>('neutral-purewhite');\r\n readonly fontWeight = input<string>('');\r\n readonly breadcrumbs = input<BreadcrumbsItems[]>([]);\r\n readonly mobileBackView = input<boolean>(false);\r\n\r\n private breadcrumbsJsonTag!: HTMLScriptElement;\r\n private readonly breadcrumbsJsonTagId = 'breadcrumbsJSON';\r\n\r\n readonly breadCrumbsElement = viewChild.required<ElementRef<HTMLElement>>('breadCrumbsElement');\r\n\r\n @HostBinding('style') get hostStyles() {\r\n const color = this.labelIconColor();\r\n const disabledColor = color?.includes('neutral') ? 'primary-lighter' : 'neutral-dark';\r\n\r\n return {\r\n '--font-family': this.curaApiService.theme.fonts.getFamily(''),\r\n '--label-icon-color': this.curaApiService.theme.colors.getColor(color),\r\n '--divider-color': this.curaApiService.theme.colors.getColor('neutral-light'),\r\n '--disabled-color': this.curaApiService.theme.colors.getColor(disabledColor),\r\n '--font-weight': this.fontWeight() || null,\r\n };\r\n }\r\n\r\n constructor() {\r\n effect(() => {\r\n if (this.breadcrumbs().length) {\r\n this.setBreadcrumbsJson(this.breadcrumbs());\r\n }\r\n });\r\n }\r\n\r\n getUrl(urls: string[] = []): string {\r\n return urls.join('');\r\n }\r\n\r\n private setBreadcrumbsJson(items: BreadcrumbsItems[]): void {\r\n this.breadcrumbsJsonTag = this.getBreadcrumbsJSONTag();\r\n const json = {\r\n '@context': 'http://schema.org',\r\n '@type': 'BreadcrumbList',\r\n itemListElement: this.getJsonBreadcrumbItems(items),\r\n };\r\n this.breadcrumbsJsonTag.innerHTML = JSON.stringify(json);\r\n }\r\n\r\n private getBreadcrumbsJSONTag(): HTMLScriptElement {\r\n const existingTag = this.document.getElementById(this.breadcrumbsJsonTagId) as HTMLScriptElement;\r\n return existingTag || this.createBreadcrumbsJSONTag();\r\n }\r\n\r\n private createBreadcrumbsJSONTag(): HTMLScriptElement {\r\n const tag = this.document.createElement('script');\r\n tag.id = this.breadcrumbsJsonTagId;\r\n tag.type = 'application/ld+json';\r\n this.document.head.appendChild(tag);\r\n return tag;\r\n }\r\n\r\n private getJsonBreadcrumbItems(items: BreadcrumbsItems[]): BreadcrumbsJsonItem[] {\r\n return items.map((item, i) => ({\r\n '@type': 'ListItem',\r\n position: i + 1,\r\n item: {\r\n '@id': `${this.libConfig.siteUrl.replace(/\\/$/, '')}${this.getUrl(item.url)}`,\r\n name: he.encode(item.label),\r\n },\r\n }));\r\n }\r\n}\r\n","@if (breadcrumbs().length) {\r\n <nav class=\"rdsite-breadcrumbs\" [class.rdsite-breadcrumbs-short]=\"breadcrumbs().length < 3 && !mobileBackView()\" #breadCrumbsElement>\r\n <ol class=\"rdsite-breadcrumbs-list rdsite-breadcrumbs-list-desktop\">\r\n @for (breadcrumb of breadcrumbs(); track breadcrumb.label; let first = $first; let last = $last; let index = $index) {\r\n <li>\r\n @if (!last) {\r\n <a rdsitelink [href]=\"getUrl(breadcrumb.url)\">\r\n @if (first) {\r\n <cura-icon name=\"home\" [color]=\"labelIconColor()\" size=\"16\"> </cura-icon>\r\n }\r\n <span>\r\n {{ breadcrumb.label }}\r\n </span>\r\n </a>\r\n <span class=\"divider\">/</span>\r\n } @else {\r\n <span [class.last-item]=\"last && !first\">\r\n {{ breadcrumb.label }}\r\n </span>\r\n }\r\n </li>\r\n }\r\n </ol>\r\n\r\n <ol class=\"rdsite-breadcrumbs-list rdsite-breadcrumbs-list-mobile\">\r\n @for (breadcrumb of breadcrumbs(); track breadcrumb.label; let first = $first; let last = $last; let index = $index) {\r\n <li>\r\n @if (breadcrumbs().length > 2 && first) {\r\n <a rdsitelink [href]=\"getUrl(breadcrumb.url)\">\r\n <cura-icon name=\"home\" [color]=\"labelIconColor()\" size=\"16\"> </cura-icon>\r\n <span>\r\n {{ breadcrumb.label }}\r\n </span>\r\n </a>\r\n <span class=\"divider\">/</span>\r\n } @else if (index === breadcrumbs().length - 2) {\r\n <cura-icon name=\"arrowLeft\" [color]=\"labelIconColor()\" size=\"16\"></cura-icon>\r\n <a rdsitelink [href]=\"getUrl(breadcrumb.url)\">\r\n <span>\r\n {{ breadcrumb.label }}\r\n </span>\r\n </a>\r\n }\r\n </li>\r\n }\r\n </ol>\r\n </nav>\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { inject, HostBinding, Component, input, output } from '@angular/core';
|
|
3
|
-
import * as i1 from '@angular/common';
|
|
4
3
|
import { CommonModule } from '@angular/common';
|
|
5
4
|
import { CuraApiService } from '@rededor/site-front-end-lib/cura/api';
|
|
6
5
|
import { RdsiteLinkDirective } from '@rededor/site-front-end-lib/core';
|
|
@@ -15,11 +14,11 @@ class SideCtasComponent {
|
|
|
15
14
|
};
|
|
16
15
|
}
|
|
17
16
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SideCtasComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
18
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.18", type: SideCtasComponent, isStandalone: true, selector: "rdsite-side-ctas", host: { properties: { "style": "this.style" } }, ngImport: i0, template: "<div
|
|
17
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.18", type: SideCtasComponent, isStandalone: true, selector: "rdsite-side-ctas", host: { properties: { "style": "this.style" } }, ngImport: i0, template: "<div class=\"rdsite-side-ctas-right\">\r\n <div class=\"rdsite-side-ctas-right-top\">\r\n <ng-content select=\"rdsite-side-ctas-right-top\"></ng-content>\r\n </div>\r\n <div class=\"rdsite-side-ctas-right-middle\">\r\n <ng-content select=\"rdsite-side-ctas-right-middle\"></ng-content>\r\n </div>\r\n <div class=\"rdsite-side-ctas-right-bottom\">\r\n <ng-content select=\"rdsite-side-ctas-right-bottom\"></ng-content>\r\n </div>\r\n</div>\r\n\r\n<div class=\"rdsite-side-ctas-bottom\">\r\n <div class=\"rdsite-side-ctas-bottom-container\">\r\n <ng-content select=\"rdsite-side-ctas-bottom\"></ng-content>\r\n </div>\r\n</div>\r\n", styles: [":host{position:sticky;bottom:0;right:0;display:block;z-index:3003;pointer-events:none}@media only screen and (min-width: 1024px){:host{margin-top:-88px}}.rdsite-side-ctas-right{position:absolute;bottom:0;right:0;height:min-content;width:88px;background-color:var(--color-right);display:none;flex-direction:column;justify-content:space-between;align-items:center;pointer-events:auto}.rdsite-side-ctas-right:has(rdsite-side-ctas-right-top),.rdsite-side-ctas-right:has(rdsite-side-ctas-right-middle),.rdsite-side-ctas-right:has(rdsite-side-ctas-right-bottom){display:flex}.rdsite-side-ctas-right-middle{display:flex;flex-grow:1;align-items:center}.rdsite-side-ctas-bottom{display:none;justify-content:flex-end;padding-right:0;background-color:transparent;height:88px}.rdsite-side-ctas-bottom:has(rdsite-side-ctas-bottom){display:flex}.rdsite-side-ctas-bottom-container{pointer-events:auto;width:100%}:host:has(.rdsite-side-ctas-right rdsite-side-ctas-right-top) .rdsite-side-ctas-bottom,:host:has(.rdsite-side-ctas-right rdsite-side-ctas-right-middle) .rdsite-side-ctas-bottom,:host:has(.rdsite-side-ctas-right rdsite-side-ctas-right-bottom) .rdsite-side-ctas-bottom{padding-right:88px}@media only screen and (min-width: 1024px){.rdsite-side-ctas-right{height:calc(100vh - 80px)}.rdsite-side-ctas-bottom-container{width:fit-content;gap:10px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
|
19
18
|
}
|
|
20
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SideCtasComponent, decorators: [{
|
|
21
20
|
type: Component,
|
|
22
|
-
args: [{ selector: 'rdsite-side-ctas', imports: [CommonModule], template: "<div
|
|
21
|
+
args: [{ selector: 'rdsite-side-ctas', imports: [CommonModule], template: "<div class=\"rdsite-side-ctas-right\">\r\n <div class=\"rdsite-side-ctas-right-top\">\r\n <ng-content select=\"rdsite-side-ctas-right-top\"></ng-content>\r\n </div>\r\n <div class=\"rdsite-side-ctas-right-middle\">\r\n <ng-content select=\"rdsite-side-ctas-right-middle\"></ng-content>\r\n </div>\r\n <div class=\"rdsite-side-ctas-right-bottom\">\r\n <ng-content select=\"rdsite-side-ctas-right-bottom\"></ng-content>\r\n </div>\r\n</div>\r\n\r\n<div class=\"rdsite-side-ctas-bottom\">\r\n <div class=\"rdsite-side-ctas-bottom-container\">\r\n <ng-content select=\"rdsite-side-ctas-bottom\"></ng-content>\r\n </div>\r\n</div>\r\n", styles: [":host{position:sticky;bottom:0;right:0;display:block;z-index:3003;pointer-events:none}@media only screen and (min-width: 1024px){:host{margin-top:-88px}}.rdsite-side-ctas-right{position:absolute;bottom:0;right:0;height:min-content;width:88px;background-color:var(--color-right);display:none;flex-direction:column;justify-content:space-between;align-items:center;pointer-events:auto}.rdsite-side-ctas-right:has(rdsite-side-ctas-right-top),.rdsite-side-ctas-right:has(rdsite-side-ctas-right-middle),.rdsite-side-ctas-right:has(rdsite-side-ctas-right-bottom){display:flex}.rdsite-side-ctas-right-middle{display:flex;flex-grow:1;align-items:center}.rdsite-side-ctas-bottom{display:none;justify-content:flex-end;padding-right:0;background-color:transparent;height:88px}.rdsite-side-ctas-bottom:has(rdsite-side-ctas-bottom){display:flex}.rdsite-side-ctas-bottom-container{pointer-events:auto;width:100%}:host:has(.rdsite-side-ctas-right rdsite-side-ctas-right-top) .rdsite-side-ctas-bottom,:host:has(.rdsite-side-ctas-right rdsite-side-ctas-right-middle) .rdsite-side-ctas-bottom,:host:has(.rdsite-side-ctas-right rdsite-side-ctas-right-bottom) .rdsite-side-ctas-bottom{padding-right:88px}@media only screen and (min-width: 1024px){.rdsite-side-ctas-right{height:calc(100vh - 80px)}.rdsite-side-ctas-bottom-container{width:fit-content;gap:10px}}\n"] }]
|
|
23
22
|
}], propDecorators: { style: [{
|
|
24
23
|
type: HostBinding,
|
|
25
24
|
args: ['style']
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rededor-site-front-end-lib-components-side-ctas.mjs","sources":["../../../projects/site-front-end-lib/components/side-ctas/side-ctas.component.ts","../../../projects/site-front-end-lib/components/side-ctas/side-ctas.component.html","../../../projects/site-front-end-lib/components/side-ctas/components/side-ctas-bottom/side-ctas-bottom.component.ts","../../../projects/site-front-end-lib/components/side-ctas/components/side-ctas-bottom/side-ctas-bottom.component.html","../../../projects/site-front-end-lib/components/side-ctas/components/side-ctas-right-bottom/side-ctas-right-bottom.component.ts","../../../projects/site-front-end-lib/components/side-ctas/components/side-ctas-right-bottom/side-ctas-right-bottom.component.html","../../../projects/site-front-end-lib/components/side-ctas/components/side-ctas-right-middle/side-ctas-right-middle.component.ts","../../../projects/site-front-end-lib/components/side-ctas/components/side-ctas-right-middle/side-ctas-right-middle.component.html","../../../projects/site-front-end-lib/components/side-ctas/components/side-ctas-right-top/side-ctas-right-top.component.ts","../../../projects/site-front-end-lib/components/side-ctas/components/side-ctas-right-top/side-ctas-right-top.component.html","../../../projects/site-front-end-lib/components/side-ctas/rededor-site-front-end-lib-components-side-ctas.ts"],"sourcesContent":["import { Component, HostBinding, inject } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\r\n\r\n@Component({\r\n selector: 'rdsite-side-ctas',\r\n imports: [CommonModule],\r\n templateUrl: './side-ctas.component.html',\r\n styleUrl: './side-ctas.component.scss',\r\n})\r\nexport class SideCtasComponent {\r\n private curaApiService = inject(CuraApiService);\r\n\r\n @HostBinding('style') style = {\r\n '--color-right': this.curaApiService.theme.colors.getColor('primary-darker'),\r\n };\r\n}\r\n","<div\r\n class=\"rdsite-side-ctas-right\"\r\n [ngStyle]=\"{\r\n display: rightTop?.children?.length || rightMiddle?.children?.length || rightBottom?.children?.length ? 'flex' : 'none',\r\n }\"\r\n>\r\n <div #rightTop class=\"rdsite-side-ctas-right-top\">\r\n <ng-content select=\"rdsite-side-ctas-right-top\"></ng-content>\r\n </div>\r\n <div #rightMiddle class=\"rdsite-side-ctas-right-middle\">\r\n <ng-content select=\"rdsite-side-ctas-right-middle\"></ng-content>\r\n </div>\r\n <div #rightBottom class=\"rdsite-side-ctas-right-bottom\">\r\n <ng-content select=\"rdsite-side-ctas-right-bottom\"></ng-content>\r\n </div>\r\n</div>\r\n\r\n<div\r\n class=\"rdsite-side-ctas-bottom\"\r\n [ngStyle]=\"{\r\n display: bottom?.children?.length ? 'flex' : 'none',\r\n paddingRight: rightTop?.children?.length || rightMiddle?.children?.length || rightBottom?.children?.length ? '88px' : '0px',\r\n }\"\r\n>\r\n <div #bottom class=\"rdsite-side-ctas-bottom-container\">\r\n <ng-content select=\"rdsite-side-ctas-bottom\"></ng-content>\r\n </div>\r\n</div>\r\n","import { Component, HostBinding, output, inject, input } from '@angular/core';\r\nimport { RdsiteLinkDirective } from '@rededor/site-front-end-lib/core';\r\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\r\nimport { SideCta } from '../../models/SideCta.model';\r\nimport { CuraIconComponent } from '@rededor/site-front-end-lib/cura/icons/cura-icon';\r\n\r\n@Component({\r\n selector: 'rdsite-side-ctas-bottom',\r\n imports: [RdsiteLinkDirective, CuraIconComponent],\r\n templateUrl: './side-ctas-bottom.component.html',\r\n styleUrl: './side-ctas-bottom.component.scss',\r\n})\r\nexport class SideCtasBottomComponent {\r\n private curaApiService = inject(CuraApiService);\r\n\r\n readonly ctas = input<SideCta[]>([]);\r\n readonly sideCtaBottomItemClick = output<Event>();\r\n\r\n @HostBinding('style') style = {\r\n '--font-family': this.curaApiService.theme.fonts.getFamily(''),\r\n '--font-color': this.curaApiService.theme.colors.getColor('neutral-black'),\r\n '--bg-color': this.curaApiService.theme.colors.getColor('primary-dark'),\r\n '--bg-cta-color': this.curaApiService.theme.colors.getColor('accent-base'),\r\n '--bg-cta-hover-color': this.curaApiService.theme.colors.getColor('accent-dark'),\r\n '--bg-cta-active-color': this.curaApiService.theme.colors.getColor('accent-darker'),\r\n };\r\n\r\n sideCtaBottomItemClicked(event: Event) {\r\n this.sideCtaBottomItemClick.emit(event);\r\n }\r\n}\r\n","@if (ctas().length) {\r\n @for (cta of ctas(); track cta.text) {\r\n <a [href]=\"cta.url\" rdsitelink (click)=\"sideCtaBottomItemClicked($event)\">\r\n <cura-icon [name]=\"cta.icon\" size=\"20\" color=\"neutral-black\"></cura-icon>\r\n <span>{{ cta.text }}</span>\r\n </a>\r\n }\r\n}\r\n","import { Component, input, output } from '@angular/core';\r\nimport { WhatsappComponent } from '@rededor/site-front-end-lib/components/whatsapp';\r\n\r\n@Component({\r\n selector: 'rdsite-side-ctas-right-bottom',\r\n imports: [WhatsappComponent],\r\n templateUrl: './side-ctas-right-bottom.component.html',\r\n styleUrl: './side-ctas-right-bottom.component.scss',\r\n})\r\nexport class SideCtasRightBottomComponent {\r\n readonly link = input<string>('');\r\n readonly imgUrl = input<string>('');\r\n readonly text = input<string>('');\r\n readonly bgColor = input<string>('#1DCD52');\r\n readonly bgHover = input<string>('#016720');\r\n readonly borderTop = input<boolean>(false);\r\n\r\n readonly sideCtaRightBottomItemClick = output<Event>();\r\n\r\n whatsappClicked(event: Event) {\r\n this.sideCtaRightBottomItemClick.emit(event);\r\n }\r\n}\r\n","@if (link() && imgUrl()) {\r\n <rdsite-whatsapp\r\n [link]=\"link()\"\r\n [imgUrl]=\"imgUrl()\"\r\n [text]=\"text()\"\r\n [bgColor]=\"bgColor()\"\r\n [bgHover]=\"bgHover()\"\r\n [borderTop]=\"borderTop()\"\r\n (whatsappClick)=\"whatsappClicked($event)\"\r\n ></rdsite-whatsapp>\r\n}\r\n","import { Component, HostBinding, output, inject, input } from '@angular/core';\r\nimport { RdsiteLinkDirective } from '@rededor/site-front-end-lib/core';\r\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\r\nimport { SideCta } from '../../models/SideCta.model';\r\nimport { CuraIconComponent } from '@rededor/site-front-end-lib/cura/icons/cura-icon';\r\n\r\n@Component({\r\n selector: 'rdsite-side-ctas-right-middle',\r\n imports: [RdsiteLinkDirective, CuraIconComponent],\r\n templateUrl: './side-ctas-right-middle.component.html',\r\n styleUrl: './side-ctas-right-middle.component.scss',\r\n})\r\nexport class SideCtasRightMiddleComponent {\r\n private curaApiService = inject(CuraApiService);\r\n\r\n readonly ctas = input<SideCta[]>([]);\r\n readonly sideCtaRightMiddleItemClick = output<Event>();\r\n\r\n @HostBinding('style') style = {\r\n '--font-family': this.curaApiService.theme.fonts.getFamily(''),\r\n '--icon-bg-color': this.curaApiService.theme.colors.getColor('primary-base'),\r\n '--font-color': this.curaApiService.theme.colors.getColor('primary-lighter'),\r\n '--font-hover': this.curaApiService.theme.colors.getColor('neutral-white'),\r\n '--font-active': this.curaApiService.theme.colors.getColor('primary-light'),\r\n };\r\n\r\n sideCtaRightMiddleItemClicked(event: Event) {\r\n this.sideCtaRightMiddleItemClick.emit(event);\r\n }\r\n}\r\n","@if (ctas().length) {\r\n @for (cta of ctas(); track cta.text) {\r\n <a class=\"right-middle-cta\" [href]=\"cta.url\" rdsitelink (click)=\"sideCtaRightMiddleItemClicked($event)\">\r\n <div class=\"right-middle-cta-icon\">\r\n <cura-icon [name]=\"cta.icon\" size=\"24\" color=\"neutral-purewhite\"></cura-icon>\r\n </div>\r\n <span>{{ cta.text }}</span>\r\n </a>\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rdsite-side-ctas-right-top',\r\n imports: [],\r\n templateUrl: './side-ctas-right-top.component.html',\r\n styleUrl: './side-ctas-right-top.component.scss',\r\n})\r\nexport class SideCtasRightTopComponent {}\r\n","<ng-content></ng-content>\r\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-side-ctas.mjs","sources":["../../../projects/site-front-end-lib/components/side-ctas/side-ctas.component.ts","../../../projects/site-front-end-lib/components/side-ctas/side-ctas.component.html","../../../projects/site-front-end-lib/components/side-ctas/components/side-ctas-bottom/side-ctas-bottom.component.ts","../../../projects/site-front-end-lib/components/side-ctas/components/side-ctas-bottom/side-ctas-bottom.component.html","../../../projects/site-front-end-lib/components/side-ctas/components/side-ctas-right-bottom/side-ctas-right-bottom.component.ts","../../../projects/site-front-end-lib/components/side-ctas/components/side-ctas-right-bottom/side-ctas-right-bottom.component.html","../../../projects/site-front-end-lib/components/side-ctas/components/side-ctas-right-middle/side-ctas-right-middle.component.ts","../../../projects/site-front-end-lib/components/side-ctas/components/side-ctas-right-middle/side-ctas-right-middle.component.html","../../../projects/site-front-end-lib/components/side-ctas/components/side-ctas-right-top/side-ctas-right-top.component.ts","../../../projects/site-front-end-lib/components/side-ctas/components/side-ctas-right-top/side-ctas-right-top.component.html","../../../projects/site-front-end-lib/components/side-ctas/rededor-site-front-end-lib-components-side-ctas.ts"],"sourcesContent":["import { Component, HostBinding, inject } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\r\n\r\n@Component({\r\n selector: 'rdsite-side-ctas',\r\n imports: [CommonModule],\r\n templateUrl: './side-ctas.component.html',\r\n styleUrl: './side-ctas.component.scss',\r\n})\r\nexport class SideCtasComponent {\r\n private curaApiService = inject(CuraApiService);\r\n\r\n @HostBinding('style') style = {\r\n '--color-right': this.curaApiService.theme.colors.getColor('primary-darker'),\r\n };\r\n}\r\n","<div class=\"rdsite-side-ctas-right\">\r\n <div class=\"rdsite-side-ctas-right-top\">\r\n <ng-content select=\"rdsite-side-ctas-right-top\"></ng-content>\r\n </div>\r\n <div class=\"rdsite-side-ctas-right-middle\">\r\n <ng-content select=\"rdsite-side-ctas-right-middle\"></ng-content>\r\n </div>\r\n <div class=\"rdsite-side-ctas-right-bottom\">\r\n <ng-content select=\"rdsite-side-ctas-right-bottom\"></ng-content>\r\n </div>\r\n</div>\r\n\r\n<div class=\"rdsite-side-ctas-bottom\">\r\n <div class=\"rdsite-side-ctas-bottom-container\">\r\n <ng-content select=\"rdsite-side-ctas-bottom\"></ng-content>\r\n </div>\r\n</div>\r\n","import { Component, HostBinding, output, inject, input } from '@angular/core';\r\nimport { RdsiteLinkDirective } from '@rededor/site-front-end-lib/core';\r\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\r\nimport { SideCta } from '../../models/SideCta.model';\r\nimport { CuraIconComponent } from '@rededor/site-front-end-lib/cura/icons/cura-icon';\r\n\r\n@Component({\r\n selector: 'rdsite-side-ctas-bottom',\r\n imports: [RdsiteLinkDirective, CuraIconComponent],\r\n templateUrl: './side-ctas-bottom.component.html',\r\n styleUrl: './side-ctas-bottom.component.scss',\r\n})\r\nexport class SideCtasBottomComponent {\r\n private curaApiService = inject(CuraApiService);\r\n\r\n readonly ctas = input<SideCta[]>([]);\r\n readonly sideCtaBottomItemClick = output<Event>();\r\n\r\n @HostBinding('style') style = {\r\n '--font-family': this.curaApiService.theme.fonts.getFamily(''),\r\n '--font-color': this.curaApiService.theme.colors.getColor('neutral-black'),\r\n '--bg-color': this.curaApiService.theme.colors.getColor('primary-dark'),\r\n '--bg-cta-color': this.curaApiService.theme.colors.getColor('accent-base'),\r\n '--bg-cta-hover-color': this.curaApiService.theme.colors.getColor('accent-dark'),\r\n '--bg-cta-active-color': this.curaApiService.theme.colors.getColor('accent-darker'),\r\n };\r\n\r\n sideCtaBottomItemClicked(event: Event) {\r\n this.sideCtaBottomItemClick.emit(event);\r\n }\r\n}\r\n","@if (ctas().length) {\r\n @for (cta of ctas(); track cta.text) {\r\n <a [href]=\"cta.url\" rdsitelink (click)=\"sideCtaBottomItemClicked($event)\">\r\n <cura-icon [name]=\"cta.icon\" size=\"20\" color=\"neutral-black\"></cura-icon>\r\n <span>{{ cta.text }}</span>\r\n </a>\r\n }\r\n}\r\n","import { Component, input, output } from '@angular/core';\r\nimport { WhatsappComponent } from '@rededor/site-front-end-lib/components/whatsapp';\r\n\r\n@Component({\r\n selector: 'rdsite-side-ctas-right-bottom',\r\n imports: [WhatsappComponent],\r\n templateUrl: './side-ctas-right-bottom.component.html',\r\n styleUrl: './side-ctas-right-bottom.component.scss',\r\n})\r\nexport class SideCtasRightBottomComponent {\r\n readonly link = input<string>('');\r\n readonly imgUrl = input<string>('');\r\n readonly text = input<string>('');\r\n readonly bgColor = input<string>('#1DCD52');\r\n readonly bgHover = input<string>('#016720');\r\n readonly borderTop = input<boolean>(false);\r\n\r\n readonly sideCtaRightBottomItemClick = output<Event>();\r\n\r\n whatsappClicked(event: Event) {\r\n this.sideCtaRightBottomItemClick.emit(event);\r\n }\r\n}\r\n","@if (link() && imgUrl()) {\r\n <rdsite-whatsapp\r\n [link]=\"link()\"\r\n [imgUrl]=\"imgUrl()\"\r\n [text]=\"text()\"\r\n [bgColor]=\"bgColor()\"\r\n [bgHover]=\"bgHover()\"\r\n [borderTop]=\"borderTop()\"\r\n (whatsappClick)=\"whatsappClicked($event)\"\r\n ></rdsite-whatsapp>\r\n}\r\n","import { Component, HostBinding, output, inject, input } from '@angular/core';\r\nimport { RdsiteLinkDirective } from '@rededor/site-front-end-lib/core';\r\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\r\nimport { SideCta } from '../../models/SideCta.model';\r\nimport { CuraIconComponent } from '@rededor/site-front-end-lib/cura/icons/cura-icon';\r\n\r\n@Component({\r\n selector: 'rdsite-side-ctas-right-middle',\r\n imports: [RdsiteLinkDirective, CuraIconComponent],\r\n templateUrl: './side-ctas-right-middle.component.html',\r\n styleUrl: './side-ctas-right-middle.component.scss',\r\n})\r\nexport class SideCtasRightMiddleComponent {\r\n private curaApiService = inject(CuraApiService);\r\n\r\n readonly ctas = input<SideCta[]>([]);\r\n readonly sideCtaRightMiddleItemClick = output<Event>();\r\n\r\n @HostBinding('style') style = {\r\n '--font-family': this.curaApiService.theme.fonts.getFamily(''),\r\n '--icon-bg-color': this.curaApiService.theme.colors.getColor('primary-base'),\r\n '--font-color': this.curaApiService.theme.colors.getColor('primary-lighter'),\r\n '--font-hover': this.curaApiService.theme.colors.getColor('neutral-white'),\r\n '--font-active': this.curaApiService.theme.colors.getColor('primary-light'),\r\n };\r\n\r\n sideCtaRightMiddleItemClicked(event: Event) {\r\n this.sideCtaRightMiddleItemClick.emit(event);\r\n }\r\n}\r\n","@if (ctas().length) {\r\n @for (cta of ctas(); track cta.text) {\r\n <a class=\"right-middle-cta\" [href]=\"cta.url\" rdsitelink (click)=\"sideCtaRightMiddleItemClicked($event)\">\r\n <div class=\"right-middle-cta-icon\">\r\n <cura-icon [name]=\"cta.icon\" size=\"24\" color=\"neutral-purewhite\"></cura-icon>\r\n </div>\r\n <span>{{ cta.text }}</span>\r\n </a>\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rdsite-side-ctas-right-top',\r\n imports: [],\r\n templateUrl: './side-ctas-right-top.component.html',\r\n styleUrl: './side-ctas-right-top.component.scss',\r\n})\r\nexport class SideCtasRightTopComponent {}\r\n","<ng-content></ng-content>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -94,11 +94,11 @@ class StickyNavigationComponent {
|
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: StickyNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
97
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: StickyNavigationComponent, isStandalone: true, selector: "nav[rdsite-sticky-navigation]", inputs: { anchorAdjustment: { classPropertyName: "anchorAdjustment", publicName: "anchorAdjustment", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, padding: { classPropertyName: "padding", publicName: "padding", isSignal: true, isRequired: false, transformFunction: null }, navigationSections: { classPropertyName: "navigationSections", publicName: "navigationSections", isSignal: false, isRequired: true, transformFunction: null }, navigationConfig: { classPropertyName: "navigationConfig", publicName: "navigationConfig", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { sectionChange: "sectionChange" }, host: { listeners: { "window:scroll": "onWindowScroll()" }, properties: { "style": "this.styleBinding" } }, viewQueries: [{ propertyName: "anchorsEl", predicate: ["anchorEl"], descendants: true, isSignal: true }], ngImport: i0, template: "<nav class=\"rdsite-sticky-navigation\" [attr.aria-label]=\"ariaLabel()\" [style.top.px]=\"config()?.offsetTop || 0\">\r\n @if (title()) {\r\n <div class=\"title-bar\" (click)=\"toggleOpen()\" [attr.aria-expanded]=\"isOpen()\" role=\"button\" tabindex=\"0\" (keydown.enter)=\"toggleOpen()\">\r\n <cura-paragraph size=\"small\" [color]=\"isOpen() ? 'neutraldark' : 'primary-base'\" marginBlock=\"8px\">\r\n <b>{{ title() }}</b>\r\n </cura-paragraph>\r\n <cura-icon [name]=\"isOpen() ? 'up' : 'down'\" size=\"16\" [color]=\"isOpen() ? 'neutraldark' : 'primary-base'\"></cura-icon>\r\n </div>\r\n @if (sections().length && !isOpen()) {\r\n <cura-paragraph size=\"xsmall\" marginBlock=\"8px\" color=\"neutral-black\">\r\n <b>{{ sections()[selectedIndex()].title }}</b>\r\n </cura-paragraph>\r\n }\r\n }\r\n\r\n @if (isOpen()) {\r\n <ul class=\"menu\" [class.open]=\"isOpen()\" role=\"menubar\">\r\n @for (section of sections(); track section.id) {\r\n <li role=\"none\">\r\n <cura-paragraph size=\"xsmall\" marginBlock=\"8px\" [color]=\"activeSection() === section.id ? 'neutral-black' : 'primary-base'\">\r\n <a\r\n id=\"anchor-{{ section.id }}\"\r\n class=\"rdsite-sticky-link\"\r\n role=\"menuitem\"\r\n [href]=\"getPath(section.id)\"\r\n rdsitelink\r\n (click)=\"onSectionClick({ id: section.id, title: section.title })\"\r\n [anchorAdjustment]=\"anchorAdjustment() || defaultAnchorAdjustment()\"\r\n [attr.aria-current]=\"activeSection() === section.id ? 'page' : null\"\r\n [attr.aria-label]=\"'Navegar para ' + section.title\"\r\n >\r\n <b>{{ section.title }}</b>\r\n </a>\r\n </cura-paragraph>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n</nav>\r\n", styles: ["nav{border-radius:2px;background:var(--neutral-purewhite);box-shadow:0 1px 4px #26262629;padding:8px 20px}nav *{font-family:var(--font-family)}nav .title-bar{display:flex;justify-content:space-between;align-items:center;cursor:pointer}nav ul.menu{display:flex;flex-direction:column;overflow:hidden;max-height:0;opacity:0;transform:scaleY(0);transform-origin:top;transition:max-height .3s ease,transform .3s ease,opacity .3s ease}nav ul.menu.open{max-height:fit-content;transform:scaleY(1);opacity:1}nav ul.menu li{width:100%}nav ul.menu li cura-paragraph,nav ul.menu li a{text-align:left}nav ul.menu li a{color:unset;text-decoration:none}\n"], dependencies: [{ kind: "directive", type: RdsiteLinkDirective, selector: "[rdsitelink]", inputs: ["anchorAdjustment", "anchorExtraAdjustment", "phonemodal"] }, { kind: "component", type: CuraParagraphComponent, selector: "cura-paragraph", inputs: ["size", "spotColor", "color", "marginBlock", "lineHeight", "textOverflow"] }, { kind: "component", type: CuraIconComponent, selector: "cura-icon", inputs: ["name", "color", "size", "iconset", "disabled"] }] }); }
|
|
97
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: StickyNavigationComponent, isStandalone: true, selector: "nav[rdsite-sticky-navigation]", inputs: { anchorAdjustment: { classPropertyName: "anchorAdjustment", publicName: "anchorAdjustment", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, padding: { classPropertyName: "padding", publicName: "padding", isSignal: true, isRequired: false, transformFunction: null }, navigationSections: { classPropertyName: "navigationSections", publicName: "navigationSections", isSignal: false, isRequired: true, transformFunction: null }, navigationConfig: { classPropertyName: "navigationConfig", publicName: "navigationConfig", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { sectionChange: "sectionChange" }, host: { listeners: { "window:scroll": "onWindowScroll()" }, properties: { "style": "this.styleBinding" } }, viewQueries: [{ propertyName: "anchorsEl", predicate: ["anchorEl"], descendants: true, isSignal: true }], ngImport: i0, template: "<nav class=\"rdsite-sticky-navigation\" [attr.aria-label]=\"ariaLabel()\" [style.top.px]=\"config()?.offsetTop || 0\">\r\n @if (title()) {\r\n <div class=\"title-bar\" (click)=\"toggleOpen()\" [attr.aria-expanded]=\"isOpen()\" role=\"button\" tabindex=\"0\" (keydown.enter)=\"toggleOpen()\">\r\n <cura-paragraph size=\"small\" [color]=\"isOpen() ? 'neutraldark' : 'primary-base'\" marginBlock=\"8px\">\r\n <b>{{ title() }}</b>\r\n </cura-paragraph>\r\n <cura-icon [name]=\"isOpen() ? 'up' : 'down'\" size=\"16\" [color]=\"isOpen() ? 'neutraldark' : 'primary-base'\"></cura-icon>\r\n </div>\r\n @if (sections().length && !isOpen()) {\r\n <cura-paragraph size=\"xsmall\" marginBlock=\"8px\" color=\"neutral-black\">\r\n <b>{{ sections()[selectedIndex()].title }}</b>\r\n </cura-paragraph>\r\n }\r\n }\r\n\r\n @if (isOpen()) {\r\n <ul class=\"menu\" [class.open]=\"isOpen()\" role=\"menubar\">\r\n @for (section of sections(); track section.id) {\r\n <li role=\"none\">\r\n <cura-paragraph size=\"xsmall\" marginBlock=\"8px\" [color]=\"activeSection() === section.id ? 'neutral-black' : 'primary-base'\">\r\n <a\r\n id=\"anchor-mobile-{{ section.id }}\"\r\n class=\"rdsite-sticky-link\"\r\n role=\"menuitem\"\r\n [href]=\"getPath(section.id)\"\r\n rdsitelink\r\n (click)=\"onSectionClick({ id: section.id, title: section.title })\"\r\n [anchorAdjustment]=\"anchorAdjustment() || defaultAnchorAdjustment()\"\r\n [attr.aria-current]=\"activeSection() === section.id ? 'page' : null\"\r\n [attr.aria-label]=\"'Navegar para ' + section.title\"\r\n >\r\n <b>{{ section.title }}</b>\r\n </a>\r\n </cura-paragraph>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n</nav>\r\n", styles: ["nav{border-radius:2px;background:var(--neutral-purewhite);box-shadow:0 1px 4px #26262629;padding:8px 20px}nav *{font-family:var(--font-family)}nav .title-bar{display:flex;justify-content:space-between;align-items:center;cursor:pointer}nav ul.menu{display:flex;flex-direction:column;overflow:hidden;max-height:0;opacity:0;transform:scaleY(0);transform-origin:top;transition:max-height .3s ease,transform .3s ease,opacity .3s ease}nav ul.menu.open{max-height:fit-content;transform:scaleY(1);opacity:1}nav ul.menu li{width:100%}nav ul.menu li cura-paragraph,nav ul.menu li a{text-align:left}nav ul.menu li a{color:unset;text-decoration:none}\n"], dependencies: [{ kind: "directive", type: RdsiteLinkDirective, selector: "[rdsitelink]", inputs: ["anchorAdjustment", "anchorExtraAdjustment", "phonemodal"] }, { kind: "component", type: CuraParagraphComponent, selector: "cura-paragraph", inputs: ["size", "spotColor", "color", "marginBlock", "lineHeight", "textOverflow"] }, { kind: "component", type: CuraIconComponent, selector: "cura-icon", inputs: ["name", "color", "size", "iconset", "disabled"] }] }); }
|
|
98
98
|
}
|
|
99
99
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: StickyNavigationComponent, decorators: [{
|
|
100
100
|
type: Component,
|
|
101
|
-
args: [{ selector: 'nav[rdsite-sticky-navigation]', imports: [RdsiteLinkDirective, CuraParagraphComponent, CuraIconComponent], template: "<nav class=\"rdsite-sticky-navigation\" [attr.aria-label]=\"ariaLabel()\" [style.top.px]=\"config()?.offsetTop || 0\">\r\n @if (title()) {\r\n <div class=\"title-bar\" (click)=\"toggleOpen()\" [attr.aria-expanded]=\"isOpen()\" role=\"button\" tabindex=\"0\" (keydown.enter)=\"toggleOpen()\">\r\n <cura-paragraph size=\"small\" [color]=\"isOpen() ? 'neutraldark' : 'primary-base'\" marginBlock=\"8px\">\r\n <b>{{ title() }}</b>\r\n </cura-paragraph>\r\n <cura-icon [name]=\"isOpen() ? 'up' : 'down'\" size=\"16\" [color]=\"isOpen() ? 'neutraldark' : 'primary-base'\"></cura-icon>\r\n </div>\r\n @if (sections().length && !isOpen()) {\r\n <cura-paragraph size=\"xsmall\" marginBlock=\"8px\" color=\"neutral-black\">\r\n <b>{{ sections()[selectedIndex()].title }}</b>\r\n </cura-paragraph>\r\n }\r\n }\r\n\r\n @if (isOpen()) {\r\n <ul class=\"menu\" [class.open]=\"isOpen()\" role=\"menubar\">\r\n @for (section of sections(); track section.id) {\r\n <li role=\"none\">\r\n <cura-paragraph size=\"xsmall\" marginBlock=\"8px\" [color]=\"activeSection() === section.id ? 'neutral-black' : 'primary-base'\">\r\n <a\r\n id=\"anchor-{{ section.id }}\"\r\n class=\"rdsite-sticky-link\"\r\n role=\"menuitem\"\r\n [href]=\"getPath(section.id)\"\r\n rdsitelink\r\n (click)=\"onSectionClick({ id: section.id, title: section.title })\"\r\n [anchorAdjustment]=\"anchorAdjustment() || defaultAnchorAdjustment()\"\r\n [attr.aria-current]=\"activeSection() === section.id ? 'page' : null\"\r\n [attr.aria-label]=\"'Navegar para ' + section.title\"\r\n >\r\n <b>{{ section.title }}</b>\r\n </a>\r\n </cura-paragraph>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n</nav>\r\n", styles: ["nav{border-radius:2px;background:var(--neutral-purewhite);box-shadow:0 1px 4px #26262629;padding:8px 20px}nav *{font-family:var(--font-family)}nav .title-bar{display:flex;justify-content:space-between;align-items:center;cursor:pointer}nav ul.menu{display:flex;flex-direction:column;overflow:hidden;max-height:0;opacity:0;transform:scaleY(0);transform-origin:top;transition:max-height .3s ease,transform .3s ease,opacity .3s ease}nav ul.menu.open{max-height:fit-content;transform:scaleY(1);opacity:1}nav ul.menu li{width:100%}nav ul.menu li cura-paragraph,nav ul.menu li a{text-align:left}nav ul.menu li a{color:unset;text-decoration:none}\n"] }]
|
|
101
|
+
args: [{ selector: 'nav[rdsite-sticky-navigation]', imports: [RdsiteLinkDirective, CuraParagraphComponent, CuraIconComponent], template: "<nav class=\"rdsite-sticky-navigation\" [attr.aria-label]=\"ariaLabel()\" [style.top.px]=\"config()?.offsetTop || 0\">\r\n @if (title()) {\r\n <div class=\"title-bar\" (click)=\"toggleOpen()\" [attr.aria-expanded]=\"isOpen()\" role=\"button\" tabindex=\"0\" (keydown.enter)=\"toggleOpen()\">\r\n <cura-paragraph size=\"small\" [color]=\"isOpen() ? 'neutraldark' : 'primary-base'\" marginBlock=\"8px\">\r\n <b>{{ title() }}</b>\r\n </cura-paragraph>\r\n <cura-icon [name]=\"isOpen() ? 'up' : 'down'\" size=\"16\" [color]=\"isOpen() ? 'neutraldark' : 'primary-base'\"></cura-icon>\r\n </div>\r\n @if (sections().length && !isOpen()) {\r\n <cura-paragraph size=\"xsmall\" marginBlock=\"8px\" color=\"neutral-black\">\r\n <b>{{ sections()[selectedIndex()].title }}</b>\r\n </cura-paragraph>\r\n }\r\n }\r\n\r\n @if (isOpen()) {\r\n <ul class=\"menu\" [class.open]=\"isOpen()\" role=\"menubar\">\r\n @for (section of sections(); track section.id) {\r\n <li role=\"none\">\r\n <cura-paragraph size=\"xsmall\" marginBlock=\"8px\" [color]=\"activeSection() === section.id ? 'neutral-black' : 'primary-base'\">\r\n <a\r\n id=\"anchor-mobile-{{ section.id }}\"\r\n class=\"rdsite-sticky-link\"\r\n role=\"menuitem\"\r\n [href]=\"getPath(section.id)\"\r\n rdsitelink\r\n (click)=\"onSectionClick({ id: section.id, title: section.title })\"\r\n [anchorAdjustment]=\"anchorAdjustment() || defaultAnchorAdjustment()\"\r\n [attr.aria-current]=\"activeSection() === section.id ? 'page' : null\"\r\n [attr.aria-label]=\"'Navegar para ' + section.title\"\r\n >\r\n <b>{{ section.title }}</b>\r\n </a>\r\n </cura-paragraph>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n</nav>\r\n", styles: ["nav{border-radius:2px;background:var(--neutral-purewhite);box-shadow:0 1px 4px #26262629;padding:8px 20px}nav *{font-family:var(--font-family)}nav .title-bar{display:flex;justify-content:space-between;align-items:center;cursor:pointer}nav ul.menu{display:flex;flex-direction:column;overflow:hidden;max-height:0;opacity:0;transform:scaleY(0);transform-origin:top;transition:max-height .3s ease,transform .3s ease,opacity .3s ease}nav ul.menu.open{max-height:fit-content;transform:scaleY(1);opacity:1}nav ul.menu li{width:100%}nav ul.menu li cura-paragraph,nav ul.menu li a{text-align:left}nav ul.menu li a{color:unset;text-decoration:none}\n"] }]
|
|
102
102
|
}], propDecorators: { anchorAdjustment: [{ type: i0.Input, args: [{ isSignal: true, alias: "anchorAdjustment", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], padding: [{ type: i0.Input, args: [{ isSignal: true, alias: "padding", required: false }] }], navigationSections: [{
|
|
103
103
|
type: Input,
|
|
104
104
|
args: [{ required: true }]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rededor-site-front-end-lib-components-sticky-navigation.mjs","sources":["../../../projects/site-front-end-lib/components/sticky-navigation/sticky-navigation.component.ts","../../../projects/site-front-end-lib/components/sticky-navigation/sticky-navigation.component.html","../../../projects/site-front-end-lib/components/sticky-navigation/rededor-site-front-end-lib-components-sticky-navigation.ts"],"sourcesContent":["import {\r\n Component,\r\n ElementRef,\r\n Input,\r\n signal,\r\n HostListener,\r\n HostBinding,\r\n inject,\r\n input,\r\n output,\r\n viewChildren,\r\n PLATFORM_ID,\r\n DOCUMENT,\r\n AfterViewInit,\r\n} from '@angular/core';\r\nimport { RdsiteLinkDirective, SectionNavigationConfig, SectionNavigationData } from '@rededor/site-front-end-lib/core';\r\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\r\nimport { CuraParagraphComponent } from '@rededor/site-front-end-lib/cura/texts/cura-paragraph';\r\nimport { CuraIconComponent } from '@rededor/site-front-end-lib/cura/icons/cura-icon';\r\nimport { Router } from '@angular/router';\r\nimport { isPlatformBrowser, Location } from '@angular/common';\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'nav[rdsite-sticky-navigation]',\r\n imports: [RdsiteLinkDirective, CuraParagraphComponent, CuraIconComponent],\r\n templateUrl: './sticky-navigation.component.html',\r\n styleUrl: './sticky-navigation.component.scss',\r\n})\r\nexport class StickyNavigationComponent implements AfterViewInit {\r\n private curaApiService = inject(CuraApiService);\r\n private router = inject(Router);\r\n private location = inject(Location);\r\n private platformId = inject(PLATFORM_ID);\r\n private document = inject<Document>(DOCUMENT);\r\n\r\n public readonly sections = signal<SectionNavigationData[]>([]);\r\n readonly config = signal<SectionNavigationConfig | undefined>(undefined);\r\n readonly activeSection = signal<string>('');\r\n readonly isOpen = signal<boolean>(false);\r\n public selectedIndex = signal<number>(0);\r\n public defaultAnchorAdjustment = signal(0);\r\n\r\n private menuHeaderHeight = 0;\r\n private menuStickyClosedHeight = 0;\r\n\r\n readonly anchorAdjustment = input(0);\r\n readonly title = input('Nesta página');\r\n readonly ariaLabel = input('Navegação da página');\r\n readonly padding = input(20);\r\n\r\n @Input({ required: true })\r\n set navigationSections(value: SectionNavigationData[]) {\r\n if (!value?.length) {\r\n throw new Error('O SectionNavigationComponent requer pelo menos uma seção.');\r\n }\r\n this.sections.set(value);\r\n\r\n if (!this.activeSection()) {\r\n this.activeSection.set(value[0].id);\r\n }\r\n }\r\n\r\n @Input()\r\n set navigationConfig(value: SectionNavigationConfig) {\r\n this.config.set(value);\r\n }\r\n\r\n readonly anchorsEl = viewChildren<ElementRef<HTMLAnchorElement>>('anchorEl');\r\n readonly sectionChange = output<SectionNavigationData>();\r\n\r\n @HostListener('window:scroll')\r\n onWindowScroll(): void {\r\n this.windowScroll();\r\n }\r\n\r\n @HostBinding('style') styleBinding = {\r\n '--neutral-purewhite': this.curaApiService.theme.colors.getColor('neutral-purewhite'),\r\n '--font-family': this.curaApiService.theme.fonts.getFamily(''),\r\n };\r\n\r\n ngAfterViewInit(): void {\r\n if (isPlatformBrowser(this.platformId)) {\r\n setTimeout(() => {\r\n this.menuHeaderHeight = this.document.querySelector<HTMLElement>('header[sl-hdr]')?.offsetHeight || 0;\r\n this.menuStickyClosedHeight = this.document.querySelector<HTMLElement>('nav[rdsite-sticky-navigation]')?.offsetHeight || 0;\r\n }, 200);\r\n }\r\n }\r\n\r\n private windowScroll(): void {\r\n this.sections()?.forEach((section, index) => {\r\n const element = this.document.querySelector<HTMLElement>(`#${section.id}`);\r\n if (!element) return;\r\n\r\n const elementTop = element.getBoundingClientRect().top + window.scrollY;\r\n const currentScroll = window.scrollY + this.menuHeaderHeight + this.menuStickyClosedHeight + this.padding();\r\n\r\n if (currentScroll >= elementTop) {\r\n this.selectedIndex.set(index);\r\n if (this.sections()?.[this.selectedIndex()]) {\r\n this.activeSection.set(this.sections()?.[this.selectedIndex()]?.id);\r\n }\r\n }\r\n });\r\n }\r\n\r\n getBasePath(): string {\r\n const base = this.location.prepareExternalUrl('');\r\n const normalized = base.replace(/\\/$/, '');\r\n\r\n return normalized === '' || normalized === '/' ? '' : normalized;\r\n }\r\n\r\n getPath(sectionId: string): string {\r\n return `${this.getBasePath()}${this.router.url}#${sectionId}`;\r\n }\r\n\r\n onSectionClick(event: SectionNavigationData) {\r\n this.sectionChange.emit(event);\r\n this.isOpen.update((value) => !value);\r\n }\r\n\r\n toggleOpen(): void {\r\n this.isOpen.update((value) => !value);\r\n if (isPlatformBrowser(this.platformId) && this.isOpen() && !this.anchorAdjustment()) {\r\n setTimeout(() => {\r\n // Utilizo o timeout para pegar a altura do elemento depois dele aberto\r\n const menuStickyOpenedHeight = this.document.querySelector<HTMLElement>('nav[rdsite-sticky-navigation]')?.offsetHeight || 0;\r\n this.defaultAnchorAdjustment.set(menuStickyOpenedHeight + this.menuHeaderHeight);\r\n }, 100);\r\n }\r\n }\r\n}\r\n","<nav class=\"rdsite-sticky-navigation\" [attr.aria-label]=\"ariaLabel()\" [style.top.px]=\"config()?.offsetTop || 0\">\r\n @if (title()) {\r\n <div class=\"title-bar\" (click)=\"toggleOpen()\" [attr.aria-expanded]=\"isOpen()\" role=\"button\" tabindex=\"0\" (keydown.enter)=\"toggleOpen()\">\r\n <cura-paragraph size=\"small\" [color]=\"isOpen() ? 'neutraldark' : 'primary-base'\" marginBlock=\"8px\">\r\n <b>{{ title() }}</b>\r\n </cura-paragraph>\r\n <cura-icon [name]=\"isOpen() ? 'up' : 'down'\" size=\"16\" [color]=\"isOpen() ? 'neutraldark' : 'primary-base'\"></cura-icon>\r\n </div>\r\n @if (sections().length && !isOpen()) {\r\n <cura-paragraph size=\"xsmall\" marginBlock=\"8px\" color=\"neutral-black\">\r\n <b>{{ sections()[selectedIndex()].title }}</b>\r\n </cura-paragraph>\r\n }\r\n }\r\n\r\n @if (isOpen()) {\r\n <ul class=\"menu\" [class.open]=\"isOpen()\" role=\"menubar\">\r\n @for (section of sections(); track section.id) {\r\n <li role=\"none\">\r\n <cura-paragraph size=\"xsmall\" marginBlock=\"8px\" [color]=\"activeSection() === section.id ? 'neutral-black' : 'primary-base'\">\r\n <a\r\n id=\"anchor-{{ section.id }}\"\r\n class=\"rdsite-sticky-link\"\r\n role=\"menuitem\"\r\n [href]=\"getPath(section.id)\"\r\n rdsitelink\r\n (click)=\"onSectionClick({ id: section.id, title: section.title })\"\r\n [anchorAdjustment]=\"anchorAdjustment() || defaultAnchorAdjustment()\"\r\n [attr.aria-current]=\"activeSection() === section.id ? 'page' : null\"\r\n [attr.aria-label]=\"'Navegar para ' + section.title\"\r\n >\r\n <b>{{ section.title }}</b>\r\n </a>\r\n </cura-paragraph>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n</nav>\r\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-sticky-navigation.mjs","sources":["../../../projects/site-front-end-lib/components/sticky-navigation/sticky-navigation.component.ts","../../../projects/site-front-end-lib/components/sticky-navigation/sticky-navigation.component.html","../../../projects/site-front-end-lib/components/sticky-navigation/rededor-site-front-end-lib-components-sticky-navigation.ts"],"sourcesContent":["import {\r\n Component,\r\n ElementRef,\r\n Input,\r\n signal,\r\n HostListener,\r\n HostBinding,\r\n inject,\r\n input,\r\n output,\r\n viewChildren,\r\n PLATFORM_ID,\r\n DOCUMENT,\r\n AfterViewInit,\r\n} from '@angular/core';\r\nimport { RdsiteLinkDirective, SectionNavigationConfig, SectionNavigationData } from '@rededor/site-front-end-lib/core';\r\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\r\nimport { CuraParagraphComponent } from '@rededor/site-front-end-lib/cura/texts/cura-paragraph';\r\nimport { CuraIconComponent } from '@rededor/site-front-end-lib/cura/icons/cura-icon';\r\nimport { Router } from '@angular/router';\r\nimport { isPlatformBrowser, Location } from '@angular/common';\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'nav[rdsite-sticky-navigation]',\r\n imports: [RdsiteLinkDirective, CuraParagraphComponent, CuraIconComponent],\r\n templateUrl: './sticky-navigation.component.html',\r\n styleUrl: './sticky-navigation.component.scss',\r\n})\r\nexport class StickyNavigationComponent implements AfterViewInit {\r\n private curaApiService = inject(CuraApiService);\r\n private router = inject(Router);\r\n private location = inject(Location);\r\n private platformId = inject(PLATFORM_ID);\r\n private document = inject<Document>(DOCUMENT);\r\n\r\n public readonly sections = signal<SectionNavigationData[]>([]);\r\n readonly config = signal<SectionNavigationConfig | undefined>(undefined);\r\n readonly activeSection = signal<string>('');\r\n readonly isOpen = signal<boolean>(false);\r\n public selectedIndex = signal<number>(0);\r\n public defaultAnchorAdjustment = signal(0);\r\n\r\n private menuHeaderHeight = 0;\r\n private menuStickyClosedHeight = 0;\r\n\r\n readonly anchorAdjustment = input(0);\r\n readonly title = input('Nesta página');\r\n readonly ariaLabel = input('Navegação da página');\r\n readonly padding = input(20);\r\n\r\n @Input({ required: true })\r\n set navigationSections(value: SectionNavigationData[]) {\r\n if (!value?.length) {\r\n throw new Error('O SectionNavigationComponent requer pelo menos uma seção.');\r\n }\r\n this.sections.set(value);\r\n\r\n if (!this.activeSection()) {\r\n this.activeSection.set(value[0].id);\r\n }\r\n }\r\n\r\n @Input()\r\n set navigationConfig(value: SectionNavigationConfig) {\r\n this.config.set(value);\r\n }\r\n\r\n readonly anchorsEl = viewChildren<ElementRef<HTMLAnchorElement>>('anchorEl');\r\n readonly sectionChange = output<SectionNavigationData>();\r\n\r\n @HostListener('window:scroll')\r\n onWindowScroll(): void {\r\n this.windowScroll();\r\n }\r\n\r\n @HostBinding('style') styleBinding = {\r\n '--neutral-purewhite': this.curaApiService.theme.colors.getColor('neutral-purewhite'),\r\n '--font-family': this.curaApiService.theme.fonts.getFamily(''),\r\n };\r\n\r\n ngAfterViewInit(): void {\r\n if (isPlatformBrowser(this.platformId)) {\r\n setTimeout(() => {\r\n this.menuHeaderHeight = this.document.querySelector<HTMLElement>('header[sl-hdr]')?.offsetHeight || 0;\r\n this.menuStickyClosedHeight = this.document.querySelector<HTMLElement>('nav[rdsite-sticky-navigation]')?.offsetHeight || 0;\r\n }, 200);\r\n }\r\n }\r\n\r\n private windowScroll(): void {\r\n this.sections()?.forEach((section, index) => {\r\n const element = this.document.querySelector<HTMLElement>(`#${section.id}`);\r\n if (!element) return;\r\n\r\n const elementTop = element.getBoundingClientRect().top + window.scrollY;\r\n const currentScroll = window.scrollY + this.menuHeaderHeight + this.menuStickyClosedHeight + this.padding();\r\n\r\n if (currentScroll >= elementTop) {\r\n this.selectedIndex.set(index);\r\n if (this.sections()?.[this.selectedIndex()]) {\r\n this.activeSection.set(this.sections()?.[this.selectedIndex()]?.id);\r\n }\r\n }\r\n });\r\n }\r\n\r\n getBasePath(): string {\r\n const base = this.location.prepareExternalUrl('');\r\n const normalized = base.replace(/\\/$/, '');\r\n\r\n return normalized === '' || normalized === '/' ? '' : normalized;\r\n }\r\n\r\n getPath(sectionId: string): string {\r\n return `${this.getBasePath()}${this.router.url}#${sectionId}`;\r\n }\r\n\r\n onSectionClick(event: SectionNavigationData) {\r\n this.sectionChange.emit(event);\r\n this.isOpen.update((value) => !value);\r\n }\r\n\r\n toggleOpen(): void {\r\n this.isOpen.update((value) => !value);\r\n if (isPlatformBrowser(this.platformId) && this.isOpen() && !this.anchorAdjustment()) {\r\n setTimeout(() => {\r\n // Utilizo o timeout para pegar a altura do elemento depois dele aberto\r\n const menuStickyOpenedHeight = this.document.querySelector<HTMLElement>('nav[rdsite-sticky-navigation]')?.offsetHeight || 0;\r\n this.defaultAnchorAdjustment.set(menuStickyOpenedHeight + this.menuHeaderHeight);\r\n }, 100);\r\n }\r\n }\r\n}\r\n","<nav class=\"rdsite-sticky-navigation\" [attr.aria-label]=\"ariaLabel()\" [style.top.px]=\"config()?.offsetTop || 0\">\r\n @if (title()) {\r\n <div class=\"title-bar\" (click)=\"toggleOpen()\" [attr.aria-expanded]=\"isOpen()\" role=\"button\" tabindex=\"0\" (keydown.enter)=\"toggleOpen()\">\r\n <cura-paragraph size=\"small\" [color]=\"isOpen() ? 'neutraldark' : 'primary-base'\" marginBlock=\"8px\">\r\n <b>{{ title() }}</b>\r\n </cura-paragraph>\r\n <cura-icon [name]=\"isOpen() ? 'up' : 'down'\" size=\"16\" [color]=\"isOpen() ? 'neutraldark' : 'primary-base'\"></cura-icon>\r\n </div>\r\n @if (sections().length && !isOpen()) {\r\n <cura-paragraph size=\"xsmall\" marginBlock=\"8px\" color=\"neutral-black\">\r\n <b>{{ sections()[selectedIndex()].title }}</b>\r\n </cura-paragraph>\r\n }\r\n }\r\n\r\n @if (isOpen()) {\r\n <ul class=\"menu\" [class.open]=\"isOpen()\" role=\"menubar\">\r\n @for (section of sections(); track section.id) {\r\n <li role=\"none\">\r\n <cura-paragraph size=\"xsmall\" marginBlock=\"8px\" [color]=\"activeSection() === section.id ? 'neutral-black' : 'primary-base'\">\r\n <a\r\n id=\"anchor-mobile-{{ section.id }}\"\r\n class=\"rdsite-sticky-link\"\r\n role=\"menuitem\"\r\n [href]=\"getPath(section.id)\"\r\n rdsitelink\r\n (click)=\"onSectionClick({ id: section.id, title: section.title })\"\r\n [anchorAdjustment]=\"anchorAdjustment() || defaultAnchorAdjustment()\"\r\n [attr.aria-current]=\"activeSection() === section.id ? 'page' : null\"\r\n [attr.aria-label]=\"'Navegar para ' + section.title\"\r\n >\r\n <b>{{ section.title }}</b>\r\n </a>\r\n </cura-paragraph>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n</nav>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1872,9 +1872,11 @@ function buildGothamFontFaces(fontsBasePath) {
|
|
|
1872
1872
|
return `
|
|
1873
1873
|
@font-face {
|
|
1874
1874
|
font-family: "Gotham";
|
|
1875
|
-
src:
|
|
1876
|
-
|
|
1877
|
-
|
|
1875
|
+
src:
|
|
1876
|
+
local("Gotham-Book"),
|
|
1877
|
+
local("Gotham Book"),
|
|
1878
|
+
url("${fontsBasePath}/fonts/Gotham-Book.woff") format("woff"),
|
|
1879
|
+
url("${fontsBasePath}/fonts/Gotham-Book.ttf") format("truetype");
|
|
1878
1880
|
font-weight: 400;
|
|
1879
1881
|
font-style: normal;
|
|
1880
1882
|
font-display: swap;
|
|
@@ -1882,9 +1884,11 @@ function buildGothamFontFaces(fontsBasePath) {
|
|
|
1882
1884
|
|
|
1883
1885
|
@font-face {
|
|
1884
1886
|
font-family: "Gotham";
|
|
1885
|
-
src:
|
|
1886
|
-
|
|
1887
|
-
|
|
1887
|
+
src:
|
|
1888
|
+
local("Gotham-Medium"),
|
|
1889
|
+
local("Gotham Medium"),
|
|
1890
|
+
url("${fontsBasePath}/fonts/Gotham-Medium.woff") format("woff"),
|
|
1891
|
+
url("${fontsBasePath}/fonts/Gotham-Medium.ttf") format("truetype");
|
|
1888
1892
|
font-weight: 500;
|
|
1889
1893
|
font-style: normal;
|
|
1890
1894
|
font-display: swap;
|