mapa-library-ui 2.1.2 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +85 -5
- package/fesm2022/mapa-library-ui-src-lib-components-breadcrumb.mjs +10 -2
- package/fesm2022/mapa-library-ui-src-lib-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-button.mjs +8 -2
- package/fesm2022/mapa-library-ui-src-lib-components-button.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-capability.mjs +48 -3
- package/fesm2022/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-chart.mjs +48 -3
- package/fesm2022/mapa-library-ui-src-lib-components-chart.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-datepicker.mjs +39 -0
- package/fesm2022/mapa-library-ui-src-lib-components-datepicker.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-dialog.mjs +9 -3
- package/fesm2022/mapa-library-ui-src-lib-components-dialog.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-dropdown-tree.mjs +48 -3
- package/fesm2022/mapa-library-ui-src-lib-components-dropdown-tree.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-dropdown.mjs +48 -3
- package/fesm2022/mapa-library-ui-src-lib-components-dropdown.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-filters.mjs +50 -5
- package/fesm2022/mapa-library-ui-src-lib-components-filters.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-form.mjs +49 -4
- package/fesm2022/mapa-library-ui-src-lib-components-form.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-group-report.mjs +197 -150
- package/fesm2022/mapa-library-ui-src-lib-components-group-report.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-input.mjs +48 -3
- package/fesm2022/mapa-library-ui-src-lib-components-input.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-scale-parameterization.mjs +39 -0
- package/fesm2022/mapa-library-ui-src-lib-components-scale-parameterization.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-scale.mjs +39 -0
- package/fesm2022/mapa-library-ui-src-lib-components-scale.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-table.mjs +46 -4
- package/fesm2022/mapa-library-ui-src-lib-components-table.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-textarea.mjs +39 -0
- package/fesm2022/mapa-library-ui-src-lib-components-textarea.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-warning.mjs +39 -0
- package/fesm2022/mapa-library-ui-src-lib-components-warning.mjs.map +1 -1
- package/fesm2022/mapa-library-ui.mjs +797 -25
- package/fesm2022/mapa-library-ui.mjs.map +1 -1
- package/index.d.ts +451 -4
- package/mapa-library-ui-2.2.0.tgz +0 -0
- package/package.json +50 -2
- package/src/lib/components/breadcrumb/index.d.ts +3 -1
- package/src/lib/components/button/index.d.ts +3 -1
- package/src/lib/components/capability/index.d.ts +4 -1
- package/src/lib/components/dialog/index.d.ts +3 -1
- package/src/lib/components/filters/index.d.ts +3 -1
- package/src/lib/components/form/index.d.ts +3 -1
- package/src/lib/components/group-report/index.d.ts +2 -0
- package/src/lib/components/scale/index.d.ts +1 -0
- package/src/lib/components/scale-parameterization/index.d.ts +1 -0
- package/src/lib/components/table/index.d.ts +2 -0
- package/mapa-library-ui-2.1.2.tgz +0 -0
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ Construído com **ng-packagr** (Angular 20.3). Distribuído em **subpacotes** (_
|
|
|
7
7
|
para que cada consumidor importe apenas o que usa.
|
|
8
8
|
|
|
9
9
|
- Pacote npm: `mapa-library-ui`
|
|
10
|
-
- Versão atual: **
|
|
10
|
+
- Versão atual: **2.2.0**
|
|
11
11
|
- Componentes: **standalone** (sem `NgModule`), prefixo de seletor `mapa-*`
|
|
12
12
|
|
|
13
13
|
---
|
|
@@ -34,7 +34,7 @@ fixa as versões. Garanta que o app já tenha (ou instale):
|
|
|
34
34
|
"ng-apexcharts": "^2.3.0",
|
|
35
35
|
"ngx-mask": "^20.0.3",
|
|
36
36
|
"ngx-mat-select-search": "^8.0.4",
|
|
37
|
-
"mapa-frontend-i18n": "^2.
|
|
37
|
+
"mapa-frontend-i18n": "^2.2.0",
|
|
38
38
|
"rxjs": "^7.8.2",
|
|
39
39
|
"ts-md5": "^1.3.1"
|
|
40
40
|
```
|
|
@@ -113,7 +113,7 @@ setEnglish() {
|
|
|
113
113
|
```
|
|
114
114
|
|
|
115
115
|
Os textos informados sofrem _merge_ sobre os defaults — você só precisa enviar as chaves que quer
|
|
116
|
-
alterar. Grupos disponíveis: `common`, `filters`, `datepicker`, `capability`, `paginator`,
|
|
116
|
+
alterar. Grupos disponíveis: `common`, `filters`, `datepicker`, `capability`, `report`, `paginator`,
|
|
117
117
|
`warning`, `table`, `validation`.
|
|
118
118
|
|
|
119
119
|
---
|
|
@@ -128,12 +128,14 @@ com `includeSecondaries: true` no Module Federation.
|
|
|
128
128
|
| `mapa-library-ui` | interfaces, `elements`, pipes, utils, helpers de i18n | Tipos e utilitários transversais (`TableColumn`, `DialogData`, `ElementOption`, `provideMapaUiTexts`, `MapaI18nService`, pipes de CPF/data…) |
|
|
129
129
|
| `/authorize` | guard de rota | Guard de autorização (`canActivate`) |
|
|
130
130
|
| `/benchmarking` | `<mapa-benchmark-chart>`, `<mapa-benchmark-indicator>` | Gráfico e indicador de benchmarking |
|
|
131
|
-
| `/breadcrumb` | `<mapa-breadcrumb>` | Trilha de navegação |
|
|
132
|
-
| `/button` | `<mapa-button>` | Botão (`color`, `disabled`, `clicked`) |
|
|
131
|
+
| `/breadcrumb` | `<mapa-breadcrumb>` | Trilha de navegação (`items`, `separator`, `ariaLabel`) |
|
|
132
|
+
| `/button` | `<mapa-button>` | Botão (`color`, `shape`, `fullWidth`, `disabled`, `clicked`) |
|
|
133
133
|
| `/button-icon` | `<mapa-button-icon>` | Botão com ícone |
|
|
134
134
|
| `/capability` | `<mapa-capability-*>` | Família de componentes de competências (comparativo, indicadores, intervalos, detalhe…) |
|
|
135
135
|
| `/chart` | `<mapa-chart>` | Gráfico genérico (ApexCharts) |
|
|
136
136
|
| `/checkbox` | `<mapa-checkbox>` | Checkbox |
|
|
137
|
+
| `/classification-tag` | `<mapa-classification-tag>` | Classificação dinâmica com contraste e fallback neutro |
|
|
138
|
+
| `/conclusion-card` | `<mapa-conclusion-card>` | Apresentação de conclusão, metadados e evento `edit` |
|
|
137
139
|
| `/datepicker` | `<mapa-datepicker>` | Seletor de data nos modos `single`, `range` e `multiple` (via `element.mode`) |
|
|
138
140
|
| `/dialog` | `<mapa-dialog>`, `openDialog()` | Diálogo + helper para abrir via `MatDialog` |
|
|
139
141
|
| `/dropdown` | `<mapa-dropdown>` | Select com busca |
|
|
@@ -147,7 +149,17 @@ com `includeSecondaries: true` no Module Federation.
|
|
|
147
149
|
| `/menu` | `<mapa-menu>`, `MenuItem`, `MenuActionEvent` | Menu de ações |
|
|
148
150
|
| `/nav-list` | `<mapa-nav-list>` | Lista de navegação |
|
|
149
151
|
| `/radio-button` | `<mapa-radio-button>` | Radio button |
|
|
152
|
+
| `/report-group-profile` | `<mapa-report-group-profile-widget>` | Perfil de grupo: filtros no topo, pílula contínua por dimensão e legenda |
|
|
150
153
|
| `/report-item` | `<mapa-report-item>` | Item de relatório |
|
|
154
|
+
| `/report-ranking-table` | `<mapa-report-ranking-table-widget>` | Ranqueamento de dimensões com alternância de visão e ordenação |
|
|
155
|
+
| `/report-legend` | `<mapa-report-legend>` | Legenda expansível de direções e faixas |
|
|
156
|
+
| `/result-track` | `<mapa-result-track>` | Barra linear ou divergente com semântica de `meter` |
|
|
157
|
+
| `/report-scale` | `<mapa-report-scale-widget>` | Escalas nos modos `summarized` e `detailed` |
|
|
158
|
+
| `/report-indicators` | `<mapa-report-indicators-widget>` | Indicadores nos modos `list`, `chart` e `detailed` |
|
|
159
|
+
| `/report-psychosocial` | `<mapa-report-psychosocial-widget>` | Média, fatores e dimensões psicossociais |
|
|
160
|
+
| `/report-points` | `<mapa-report-points-widget>` | Pontos fortes e de atenção resumidos ou detalhados |
|
|
161
|
+
| `/report-socioemotional` | `<mapa-report-socioemotional-widget>` | Competências, legendas, vulnerabilidades e gauge segmentado |
|
|
162
|
+
| `/report-widgets` | todos os widgets acima | Subpath agregadora para composições de relatório |
|
|
151
163
|
| `/scale` | `<mapa-scale>`, `<mapa-progressbar>`, `<mapa-details>` | Escala e barras de progresso |
|
|
152
164
|
| `/scale-parameterization` | `<mapa-scale-parameterization>` | Parametrização de escalas |
|
|
153
165
|
| `/services` | `LoaderService` | Serviços de infraestrutura (loader) |
|
|
@@ -163,6 +175,74 @@ com `includeSecondaries: true` no Module Federation.
|
|
|
163
175
|
> [`package.json`](package.json). O surface público da raiz está em
|
|
164
176
|
> [`src/public-api.ts`](src/public-api.ts).
|
|
165
177
|
|
|
178
|
+
### Widgets de relatório
|
|
179
|
+
|
|
180
|
+
Os widgets recebem contratos próprios (`MapaReportHeading`, grupos, dimensões,
|
|
181
|
+
indicadores, pontos e classificações) exportados pela raiz. Eles não dependem de
|
|
182
|
+
modelos ou serviços do projeto consumidor. Os modos são controláveis por
|
|
183
|
+
`[(mode)]`, com os padrões `summarized` para escalas e pontos e `list` para
|
|
184
|
+
indicadores.
|
|
185
|
+
|
|
186
|
+
O tema pode ser ajustado no contêiner do relatório por meio dos tokens
|
|
187
|
+
`--mapa-report-accent`, `--mapa-report-accent-soft`, `--mapa-report-surface`,
|
|
188
|
+
`--mapa-report-surface-muted`, `--mapa-report-border`, `--mapa-report-text`,
|
|
189
|
+
`--mapa-report-muted`, `--mapa-report-radius` e `--mapa-report-space`.
|
|
190
|
+
|
|
191
|
+
#### Widgets de grupo (v2)
|
|
192
|
+
|
|
193
|
+
`<mapa-report-group-profile-widget>` e `<mapa-report-ranking-table-widget>` são a
|
|
194
|
+
versão nova dos widgets de grupo, para consumo pelo **mv-v2-frontend**. Os
|
|
195
|
+
equivalentes antigos — `<mapa-capability-comparative>` e `<mapa-group-report>` —
|
|
196
|
+
continuam intactos para o **mv-frontend**.
|
|
197
|
+
|
|
198
|
+
**Perfil de grupo**
|
|
199
|
+
|
|
200
|
+
```html
|
|
201
|
+
<mapa-report-group-profile-widget [data]="profile" [heading]="heading">
|
|
202
|
+
<ng-container mapaReportGroupProfileFilters>
|
|
203
|
+
<mapa-dropdown [element]="groupDropdown" [formControl]="groupControl" />
|
|
204
|
+
<mapa-dropdown [element]="testDropdown" [formControl]="testControl" />
|
|
205
|
+
<mapa-dropdown [element]="scaleDropdown" [formControl]="scaleControl" />
|
|
206
|
+
</ng-container>
|
|
207
|
+
</mapa-report-group-profile-widget>
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
- `heading` (`MapaReportHeading`) renderiza título e descrição **acima** dos filtros.
|
|
211
|
+
- O conteúdo projetado com o atributo `mapaReportGroupProfileFilters` fica no
|
|
212
|
+
**topo**, em grid de até 3 colunas. Sem projeção o slot não ocupa espaço.
|
|
213
|
+
- `data` (`MapaReportGroupProfileData`): cada dimensão vira uma **pílula contínua**
|
|
214
|
+
em que as fatias (`slices`) mudam de cor; os percentuais aparecem alinhados à
|
|
215
|
+
direita, acima da pílula. Fatias com `value: 0` são descartadas.
|
|
216
|
+
- `slice.highlighted` marca a posição de uma pessoa dentro do grupo.
|
|
217
|
+
- A **legenda** sai abaixo do gráfico, montada a partir das fatias efetivamente
|
|
218
|
+
desenhadas; use `legend` para sobrescrever ou `showLegend="false"` para ocultar.
|
|
219
|
+
- Só existe **média do grupo** (`data.average`, controlada por `showAverage`).
|
|
220
|
+
- `distributionLabel` e `averageLabel` são inputs com padrão pt-BR porque
|
|
221
|
+
`mapa-frontend-i18n` ainda não publica essas chaves.
|
|
222
|
+
|
|
223
|
+
**Ranqueamento**
|
|
224
|
+
|
|
225
|
+
```html
|
|
226
|
+
<mapa-report-ranking-table-widget
|
|
227
|
+
[heading]="heading"
|
|
228
|
+
[views]="views"
|
|
229
|
+
[(view)]="view"
|
|
230
|
+
[showAverage]="true"
|
|
231
|
+
[note]="note"
|
|
232
|
+
/>
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
- `views` (`MapaReportRankingView[]`) alimenta a alternância Grupo/Avaliados; o
|
|
236
|
+
switch só aparece quando mais de uma visão tem entradas, e a primeira coluna é
|
|
237
|
+
nomeada pela visão ativa (ou por `entryColumnLabel`).
|
|
238
|
+
- Monta as colunas a partir das dimensões das entradas e ordena por
|
|
239
|
+
`classification.classificationId`, não pelo texto do chip.
|
|
240
|
+
- As classificações usam `<mapa-classification-tag appearance="solid">` — o chip
|
|
241
|
+
é autocontido, sem depender de CSS do app consumidor.
|
|
242
|
+
- `showScoreOnHover` (padrão `false`): com `true`, passar o mouse sobre a célula
|
|
243
|
+
troca o chip pela nota e pela direção. Desligado, a célula mostra só o chip.
|
|
244
|
+
- `note` renderiza a nota de rodapé abaixo da tabela.
|
|
245
|
+
|
|
166
246
|
---
|
|
167
247
|
|
|
168
248
|
## Desenvolvimento
|
|
@@ -6,14 +6,22 @@ import * as i2 from '@angular/router';
|
|
|
6
6
|
import { RouterModule } from '@angular/router';
|
|
7
7
|
|
|
8
8
|
class MapaBreadcrumbComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.separator = '›';
|
|
11
|
+
this.ariaLabel = 'Breadcrumb';
|
|
12
|
+
}
|
|
9
13
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: MapaBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.21", type: MapaBreadcrumbComponent, isStandalone: true, selector: "mapa-breadcrumb", inputs: { items: "items" }, ngImport: i0, template: "<
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.21", type: MapaBreadcrumbComponent, isStandalone: true, selector: "mapa-breadcrumb", inputs: { items: "items", separator: "separator", ariaLabel: "ariaLabel" }, ngImport: i0, template: "<nav\n class=\"mapa-breadcrumb\"\n *ngIf=\"items && items.length > 0\"\n [attr.aria-label]=\"ariaLabel\"\n>\n <ol class=\"mapa-breadcrumb__list\">\n <li class=\"mapa-breadcrumb__item\" *ngFor=\"let item of items; let i = index\">\n <a\n *ngIf=\"item.url && i < items.length - 1; else common\"\n [routerLink]=\"item.url\"\n >\n {{ item.title }}\n </a>\n <ng-template #common>\n <span\n [class.mapa-breadcrumb__item--highlight]=\"items.length === i + 1\"\n [attr.aria-current]=\"items.length === i + 1 ? 'page' : null\"\n >{{ item.title }}</span\n >\n </ng-template>\n <span\n class=\"mapa-breadcrumb__separator\"\n *ngIf=\"i < items.length - 1\"\n aria-hidden=\"true\"\n >{{ separator }}</span\n >\n </li>\n </ol>\n</nav>\n", styles: [".mapa-breadcrumb{font-family:var(--mapa-font-heading, \"Asap\", \"Inter\", sans-serif);margin-bottom:32px}.mapa-breadcrumb__list{align-items:center;display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}.mapa-breadcrumb__item{align-items:center;color:#657077;display:flex;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.mapa-breadcrumb__item a{text-decoration:none;color:inherit}.mapa-breadcrumb__item a:hover{color:#ff560b;text-decoration:underline;text-underline-offset:3px}.mapa-breadcrumb__item a:focus-visible{border-radius:3px;outline:2px solid #ff8a55;outline-offset:2px}.mapa-breadcrumb__item--highlight{color:#ff560b;font-weight:500}.mapa-breadcrumb__separator{color:#a7b0b5;margin:0 7px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
|
|
11
15
|
}
|
|
12
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: MapaBreadcrumbComponent, decorators: [{
|
|
13
17
|
type: Component,
|
|
14
|
-
args: [{ selector:
|
|
18
|
+
args: [{ selector: 'mapa-breadcrumb', imports: [CommonModule, RouterModule], standalone: true, template: "<nav\n class=\"mapa-breadcrumb\"\n *ngIf=\"items && items.length > 0\"\n [attr.aria-label]=\"ariaLabel\"\n>\n <ol class=\"mapa-breadcrumb__list\">\n <li class=\"mapa-breadcrumb__item\" *ngFor=\"let item of items; let i = index\">\n <a\n *ngIf=\"item.url && i < items.length - 1; else common\"\n [routerLink]=\"item.url\"\n >\n {{ item.title }}\n </a>\n <ng-template #common>\n <span\n [class.mapa-breadcrumb__item--highlight]=\"items.length === i + 1\"\n [attr.aria-current]=\"items.length === i + 1 ? 'page' : null\"\n >{{ item.title }}</span\n >\n </ng-template>\n <span\n class=\"mapa-breadcrumb__separator\"\n *ngIf=\"i < items.length - 1\"\n aria-hidden=\"true\"\n >{{ separator }}</span\n >\n </li>\n </ol>\n</nav>\n", styles: [".mapa-breadcrumb{font-family:var(--mapa-font-heading, \"Asap\", \"Inter\", sans-serif);margin-bottom:32px}.mapa-breadcrumb__list{align-items:center;display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}.mapa-breadcrumb__item{align-items:center;color:#657077;display:flex;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.mapa-breadcrumb__item a{text-decoration:none;color:inherit}.mapa-breadcrumb__item a:hover{color:#ff560b;text-decoration:underline;text-underline-offset:3px}.mapa-breadcrumb__item a:focus-visible{border-radius:3px;outline:2px solid #ff8a55;outline-offset:2px}.mapa-breadcrumb__item--highlight{color:#ff560b;font-weight:500}.mapa-breadcrumb__separator{color:#a7b0b5;margin:0 7px}\n"] }]
|
|
15
19
|
}], propDecorators: { items: [{
|
|
16
20
|
type: Input
|
|
21
|
+
}], separator: [{
|
|
22
|
+
type: Input
|
|
23
|
+
}], ariaLabel: [{
|
|
24
|
+
type: Input
|
|
17
25
|
}] } });
|
|
18
26
|
|
|
19
27
|
/*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapa-library-ui-src-lib-components-breadcrumb.mjs","sources":["../../../projects/mapa-library-ui/src/lib/components/breadcrumb/src/breadcrumb.component.ts","../../../projects/mapa-library-ui/src/lib/components/breadcrumb/src/breadcrumb.component.html","../../../projects/mapa-library-ui/src/lib/components/breadcrumb/public-api.ts","../../../projects/mapa-library-ui/src/breadcrumb.ts","../../../projects/mapa-library-ui/src/mapa-library-ui-src-lib-components-breadcrumb.ts"],"sourcesContent":["import { CommonModule } from
|
|
1
|
+
{"version":3,"file":"mapa-library-ui-src-lib-components-breadcrumb.mjs","sources":["../../../projects/mapa-library-ui/src/lib/components/breadcrumb/src/breadcrumb.component.ts","../../../projects/mapa-library-ui/src/lib/components/breadcrumb/src/breadcrumb.component.html","../../../projects/mapa-library-ui/src/lib/components/breadcrumb/public-api.ts","../../../projects/mapa-library-ui/src/breadcrumb.ts","../../../projects/mapa-library-ui/src/mapa-library-ui-src-lib-components-breadcrumb.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { Breadpiece } from '../../../core/interfaces/bread-piece.interface';\n\n@Component({\n selector: 'mapa-breadcrumb',\n templateUrl: './breadcrumb.component.html',\n styleUrl: './breadcrumb.component.scss',\n imports: [CommonModule, RouterModule],\n standalone: true,\n})\nexport class MapaBreadcrumbComponent {\n @Input() items!: Breadpiece[];\n @Input() separator = '›';\n @Input() ariaLabel = 'Breadcrumb';\n}\n","<nav\n class=\"mapa-breadcrumb\"\n *ngIf=\"items && items.length > 0\"\n [attr.aria-label]=\"ariaLabel\"\n>\n <ol class=\"mapa-breadcrumb__list\">\n <li class=\"mapa-breadcrumb__item\" *ngFor=\"let item of items; let i = index\">\n <a\n *ngIf=\"item.url && i < items.length - 1; else common\"\n [routerLink]=\"item.url\"\n >\n {{ item.title }}\n </a>\n <ng-template #common>\n <span\n [class.mapa-breadcrumb__item--highlight]=\"items.length === i + 1\"\n [attr.aria-current]=\"items.length === i + 1 ? 'page' : null\"\n >{{ item.title }}</span\n >\n </ng-template>\n <span\n class=\"mapa-breadcrumb__separator\"\n *ngIf=\"i < items.length - 1\"\n aria-hidden=\"true\"\n >{{ separator }}</span\n >\n </li>\n </ol>\n</nav>\n","/*\n * Public API Surface of mapa-library-ui breadcrumb\n */\n\nexport * from './src/breadcrumb.component';\n","/*\n * Public API Surface of mapa-library-ui breadcrumb\n */\n\nexport * from './lib/components/breadcrumb/public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './breadcrumb';\n"],"names":[],"mappings":";;;;;;;MAYa,uBAAuB,CAAA;AAPpC,IAAA,WAAA,GAAA;QASW,IAAA,CAAA,SAAS,GAAG,GAAG;QACf,IAAA,CAAA,SAAS,GAAG,YAAY;AAClC,IAAA;+GAJY,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZpC,41BA6BA,EAAA,MAAA,EAAA,CAAA,wtBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDpBY,YAAY,+PAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGzB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,WAGlB,CAAC,YAAY,EAAE,YAAY,CAAC,cACzB,IAAI,EAAA,QAAA,EAAA,41BAAA,EAAA,MAAA,EAAA,CAAA,wtBAAA,CAAA,EAAA;;sBAGf;;sBACA;;sBACA;;;AEfH;;AAEG;;ACFH;;AAEG;;ACFH;;AAEG;;;;"}
|
|
@@ -3,21 +3,27 @@ import { EventEmitter, Output, Input, Component } from '@angular/core';
|
|
|
3
3
|
|
|
4
4
|
class ButtonComponent {
|
|
5
5
|
constructor() {
|
|
6
|
+
this.shape = 'pill';
|
|
7
|
+
this.fullWidth = false;
|
|
6
8
|
this.clicked = new EventEmitter();
|
|
7
9
|
}
|
|
8
10
|
onClick() {
|
|
9
11
|
this.clicked.emit();
|
|
10
12
|
}
|
|
11
13
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.21", type: ButtonComponent, isStandalone: true, selector: "mapa-button", inputs: { color: "color", disabled: "disabled" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<button\n class=\"mapa-button\"\n (click)=\"onClick()\"\n [class.primary]=\"color === 'primary'\"\n [class.accent]=\"color === 'accent'\"\n [class.basic]=\"color === 'basic'\"\n [disabled]=\"disabled\"\n>\n <ng-content></ng-content>\n</button
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.21", type: ButtonComponent, isStandalone: true, selector: "mapa-button", inputs: { color: "color", disabled: "disabled", shape: "shape", fullWidth: "fullWidth" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<button\n class=\"mapa-button\"\n (click)=\"onClick()\"\n [class.primary]=\"color === 'primary'\"\n [class.accent]=\"color === 'accent'\"\n [class.basic]=\"color === 'basic'\"\n [class.mapa-button--rounded]=\"shape === 'rounded'\"\n [class.mapa-button--full-width]=\"fullWidth\"\n [disabled]=\"disabled\"\n>\n <ng-content></ng-content>\n</button>\n", styles: [".mapa-button{display:flex;padding:14px 42px;justify-content:center;align-items:center;gap:10px;border-radius:28px;border:none;font-family:var(--mapa-font-body, \"Asap\", \"Roboto\", \"Inter\", sans-serif);font-weight:500;cursor:pointer;transform-origin:center;transition:transform .2s ease-in-out}.mapa-button:active{transform:scale(.98)}.mapa-button:disabled{color:#aeb4b8;background-color:#f1f3f4;cursor:not-allowed}.mapa-button.basic{color:#ea561d;background-color:transparent}.mapa-button.accent{border:2px solid #ea561d;color:#ea561d;background-color:#fff}.mapa-button.primary{background-color:#ea561d;color:#fff}.mapa-button--rounded{border-radius:6px}.mapa-button--full-width{width:100%}.mapa-button:focus-visible{outline:3px solid rgba(255,86,11,.28);outline-offset:2px}\n"] }); }
|
|
13
15
|
}
|
|
14
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
15
17
|
type: Component,
|
|
16
|
-
args: [{ selector: 'mapa-button', standalone: true, template: "<button\n class=\"mapa-button\"\n (click)=\"onClick()\"\n [class.primary]=\"color === 'primary'\"\n [class.accent]=\"color === 'accent'\"\n [class.basic]=\"color === 'basic'\"\n [disabled]=\"disabled\"\n>\n <ng-content></ng-content>\n</button
|
|
18
|
+
args: [{ selector: 'mapa-button', standalone: true, template: "<button\n class=\"mapa-button\"\n (click)=\"onClick()\"\n [class.primary]=\"color === 'primary'\"\n [class.accent]=\"color === 'accent'\"\n [class.basic]=\"color === 'basic'\"\n [class.mapa-button--rounded]=\"shape === 'rounded'\"\n [class.mapa-button--full-width]=\"fullWidth\"\n [disabled]=\"disabled\"\n>\n <ng-content></ng-content>\n</button>\n", styles: [".mapa-button{display:flex;padding:14px 42px;justify-content:center;align-items:center;gap:10px;border-radius:28px;border:none;font-family:var(--mapa-font-body, \"Asap\", \"Roboto\", \"Inter\", sans-serif);font-weight:500;cursor:pointer;transform-origin:center;transition:transform .2s ease-in-out}.mapa-button:active{transform:scale(.98)}.mapa-button:disabled{color:#aeb4b8;background-color:#f1f3f4;cursor:not-allowed}.mapa-button.basic{color:#ea561d;background-color:transparent}.mapa-button.accent{border:2px solid #ea561d;color:#ea561d;background-color:#fff}.mapa-button.primary{background-color:#ea561d;color:#fff}.mapa-button--rounded{border-radius:6px}.mapa-button--full-width{width:100%}.mapa-button:focus-visible{outline:3px solid rgba(255,86,11,.28);outline-offset:2px}\n"] }]
|
|
17
19
|
}], propDecorators: { color: [{
|
|
18
20
|
type: Input
|
|
19
21
|
}], disabled: [{
|
|
20
22
|
type: Input
|
|
23
|
+
}], shape: [{
|
|
24
|
+
type: Input
|
|
25
|
+
}], fullWidth: [{
|
|
26
|
+
type: Input
|
|
21
27
|
}], clicked: [{
|
|
22
28
|
type: Output
|
|
23
29
|
}] } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapa-library-ui-src-lib-components-button.mjs","sources":["../../../projects/mapa-library-ui/src/lib/components/button/src/button.component.ts","../../../projects/mapa-library-ui/src/lib/components/button/src/button.component.html","../../../projects/mapa-library-ui/src/lib/components/button/public-api.ts","../../../projects/mapa-library-ui/src/button.ts","../../../projects/mapa-library-ui/src/mapa-library-ui-src-lib-components-button.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n
|
|
1
|
+
{"version":3,"file":"mapa-library-ui-src-lib-components-button.mjs","sources":["../../../projects/mapa-library-ui/src/lib/components/button/src/button.component.ts","../../../projects/mapa-library-ui/src/lib/components/button/src/button.component.html","../../../projects/mapa-library-ui/src/lib/components/button/public-api.ts","../../../projects/mapa-library-ui/src/button.ts","../../../projects/mapa-library-ui/src/mapa-library-ui-src-lib-components-button.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'mapa-button',\n templateUrl: './button.component.html',\n styleUrl: './button.component.scss',\n standalone: true,\n})\nexport class ButtonComponent {\n @Input() color: 'primary' | 'accent' | 'basic' | null | undefined;\n @Input() disabled!: boolean;\n @Input() shape: 'pill' | 'rounded' = 'pill';\n @Input() fullWidth = false;\n @Output() clicked: EventEmitter<void> = new EventEmitter<void>();\n\n onClick(): void {\n this.clicked.emit();\n }\n}\n","<button\n class=\"mapa-button\"\n (click)=\"onClick()\"\n [class.primary]=\"color === 'primary'\"\n [class.accent]=\"color === 'accent'\"\n [class.basic]=\"color === 'basic'\"\n [class.mapa-button--rounded]=\"shape === 'rounded'\"\n [class.mapa-button--full-width]=\"fullWidth\"\n [disabled]=\"disabled\"\n>\n <ng-content></ng-content>\n</button>\n","/*\n * Public API Surface of mapa-library-ui button\n */\n\nexport * from './src/button.component';\n","/*\n * Public API Surface of mapa-library-ui button\n */\n\nexport * from './lib/components/button/public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './button';\n"],"names":[],"mappings":";;;MAQa,eAAe,CAAA;AAN5B,IAAA,WAAA,GAAA;QASW,IAAA,CAAA,KAAK,GAAuB,MAAM;QAClC,IAAA,CAAA,SAAS,GAAG,KAAK;AAChB,QAAA,IAAA,CAAA,OAAO,GAAuB,IAAI,YAAY,EAAQ;AAKjE,IAAA;IAHC,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;IACrB;+GATW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,kMCR5B,uWAYA,EAAA,MAAA,EAAA,CAAA,8wBAAA,CAAA,EAAA,CAAA,CAAA;;4FDJa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,cAGX,IAAI,EAAA,QAAA,EAAA,uWAAA,EAAA,MAAA,EAAA,CAAA,8wBAAA,CAAA,EAAA;;sBAGf;;sBACA;;sBACA;;sBACA;;sBACA;;;AEbH;;AAEG;;ACFH;;AAEG;;ACFH;;AAEG;;;;"}
|
|
@@ -17,21 +17,27 @@ import { MatExpansionModule } from '@angular/material/expansion';
|
|
|
17
17
|
|
|
18
18
|
class ButtonComponent {
|
|
19
19
|
constructor() {
|
|
20
|
+
this.shape = 'pill';
|
|
21
|
+
this.fullWidth = false;
|
|
20
22
|
this.clicked = new EventEmitter();
|
|
21
23
|
}
|
|
22
24
|
onClick() {
|
|
23
25
|
this.clicked.emit();
|
|
24
26
|
}
|
|
25
27
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.21", type: ButtonComponent, isStandalone: true, selector: "mapa-button", inputs: { color: "color", disabled: "disabled" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<button\n class=\"mapa-button\"\n (click)=\"onClick()\"\n [class.primary]=\"color === 'primary'\"\n [class.accent]=\"color === 'accent'\"\n [class.basic]=\"color === 'basic'\"\n [disabled]=\"disabled\"\n>\n <ng-content></ng-content>\n</button
|
|
28
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.21", type: ButtonComponent, isStandalone: true, selector: "mapa-button", inputs: { color: "color", disabled: "disabled", shape: "shape", fullWidth: "fullWidth" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<button\n class=\"mapa-button\"\n (click)=\"onClick()\"\n [class.primary]=\"color === 'primary'\"\n [class.accent]=\"color === 'accent'\"\n [class.basic]=\"color === 'basic'\"\n [class.mapa-button--rounded]=\"shape === 'rounded'\"\n [class.mapa-button--full-width]=\"fullWidth\"\n [disabled]=\"disabled\"\n>\n <ng-content></ng-content>\n</button>\n", styles: [".mapa-button{display:flex;padding:14px 42px;justify-content:center;align-items:center;gap:10px;border-radius:28px;border:none;font-family:var(--mapa-font-body, \"Asap\", \"Roboto\", \"Inter\", sans-serif);font-weight:500;cursor:pointer;transform-origin:center;transition:transform .2s ease-in-out}.mapa-button:active{transform:scale(.98)}.mapa-button:disabled{color:#aeb4b8;background-color:#f1f3f4;cursor:not-allowed}.mapa-button.basic{color:#ea561d;background-color:transparent}.mapa-button.accent{border:2px solid #ea561d;color:#ea561d;background-color:#fff}.mapa-button.primary{background-color:#ea561d;color:#fff}.mapa-button--rounded{border-radius:6px}.mapa-button--full-width{width:100%}.mapa-button:focus-visible{outline:3px solid rgba(255,86,11,.28);outline-offset:2px}\n"] }); }
|
|
27
29
|
}
|
|
28
30
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
29
31
|
type: Component,
|
|
30
|
-
args: [{ selector: 'mapa-button', standalone: true, template: "<button\n class=\"mapa-button\"\n (click)=\"onClick()\"\n [class.primary]=\"color === 'primary'\"\n [class.accent]=\"color === 'accent'\"\n [class.basic]=\"color === 'basic'\"\n [disabled]=\"disabled\"\n>\n <ng-content></ng-content>\n</button
|
|
32
|
+
args: [{ selector: 'mapa-button', standalone: true, template: "<button\n class=\"mapa-button\"\n (click)=\"onClick()\"\n [class.primary]=\"color === 'primary'\"\n [class.accent]=\"color === 'accent'\"\n [class.basic]=\"color === 'basic'\"\n [class.mapa-button--rounded]=\"shape === 'rounded'\"\n [class.mapa-button--full-width]=\"fullWidth\"\n [disabled]=\"disabled\"\n>\n <ng-content></ng-content>\n</button>\n", styles: [".mapa-button{display:flex;padding:14px 42px;justify-content:center;align-items:center;gap:10px;border-radius:28px;border:none;font-family:var(--mapa-font-body, \"Asap\", \"Roboto\", \"Inter\", sans-serif);font-weight:500;cursor:pointer;transform-origin:center;transition:transform .2s ease-in-out}.mapa-button:active{transform:scale(.98)}.mapa-button:disabled{color:#aeb4b8;background-color:#f1f3f4;cursor:not-allowed}.mapa-button.basic{color:#ea561d;background-color:transparent}.mapa-button.accent{border:2px solid #ea561d;color:#ea561d;background-color:#fff}.mapa-button.primary{background-color:#ea561d;color:#fff}.mapa-button--rounded{border-radius:6px}.mapa-button--full-width{width:100%}.mapa-button:focus-visible{outline:3px solid rgba(255,86,11,.28);outline-offset:2px}\n"] }]
|
|
31
33
|
}], propDecorators: { color: [{
|
|
32
34
|
type: Input
|
|
33
35
|
}], disabled: [{
|
|
34
36
|
type: Input
|
|
37
|
+
}], shape: [{
|
|
38
|
+
type: Input
|
|
39
|
+
}], fullWidth: [{
|
|
40
|
+
type: Input
|
|
35
41
|
}], clicked: [{
|
|
36
42
|
type: Output
|
|
37
43
|
}] } });
|
|
@@ -64,6 +70,9 @@ function formatPaginatorShowingRange(page, pageSize, length) {
|
|
|
64
70
|
const itemLabel = safeLength === 1 ? 'item' : 'itens';
|
|
65
71
|
return `Mostrando ${startIndex + 1} - ${endIndex} de ${safeLength} ${itemLabel}`;
|
|
66
72
|
}
|
|
73
|
+
function formatItemCount(count) {
|
|
74
|
+
return `${count} ${count === 1 ? 'item' : 'itens'}`;
|
|
75
|
+
}
|
|
67
76
|
const DEFAULT_MAPA_UI_TEXTS = {
|
|
68
77
|
common: {
|
|
69
78
|
selectAll: 'Selecionar todos',
|
|
@@ -90,6 +99,41 @@ const DEFAULT_MAPA_UI_TEXTS = {
|
|
|
90
99
|
negativeDirectionLabel: 'Direção Negativa |',
|
|
91
100
|
positiveDirectionLabel: 'Direção Positiva |',
|
|
92
101
|
},
|
|
102
|
+
report: {
|
|
103
|
+
summarized: 'Resumida',
|
|
104
|
+
detailed: 'Detalhada',
|
|
105
|
+
list: 'Lista',
|
|
106
|
+
chart: 'Gráfico',
|
|
107
|
+
viewModeLabel: 'Modo de visualização',
|
|
108
|
+
readingInformationTitle: 'Informações de leitura',
|
|
109
|
+
dimensionTitle: 'Dimensão',
|
|
110
|
+
conceptTitle: 'Conceito',
|
|
111
|
+
classificationTitle: 'Classificação',
|
|
112
|
+
resultReadingTitle: 'Leitura do resultado',
|
|
113
|
+
resultTitle: 'Resultado',
|
|
114
|
+
globalAverageTitle: 'Média global',
|
|
115
|
+
factorsTitle: 'Fatores relativos à organização e ao trabalho',
|
|
116
|
+
strongPointsTitle: 'Pontos fortes',
|
|
117
|
+
attentionPointsTitle: 'Pontos de atenção',
|
|
118
|
+
vulnerabilitiesTitle: 'Vulnerabilidades socioemocionais',
|
|
119
|
+
positiveDirectionLabel: 'Direção positiva',
|
|
120
|
+
negativeDirectionLabel: 'Direção negativa',
|
|
121
|
+
lowerIntensityLabel: 'Menos intensamente',
|
|
122
|
+
higherIntensityLabel: 'Mais intensamente',
|
|
123
|
+
noClassification: 'Sem classificação',
|
|
124
|
+
emptyState: 'Não há resultados disponíveis para esta seção.',
|
|
125
|
+
interpretationTitle: 'Interpretação',
|
|
126
|
+
detailedListLabel: 'Lista detalhada',
|
|
127
|
+
groupAverageTitle: 'Média geral do grupo',
|
|
128
|
+
groupDistributionLabel: 'Distribuição do grupo',
|
|
129
|
+
overallPercentageTitle: '% Geral',
|
|
130
|
+
scaleConceptTitle: 'Conceito da escala',
|
|
131
|
+
psychosocialFactorsTitle: 'Fatores psicossociais',
|
|
132
|
+
editConclusionLabel: 'Editar conclusão',
|
|
133
|
+
meterLabel: (name, value) => `${name}: ${value}%`,
|
|
134
|
+
gaugeLabel: (name, value) => `${name}: ${value}%`,
|
|
135
|
+
itemCountLabel: formatItemCount,
|
|
136
|
+
},
|
|
93
137
|
paginator: {
|
|
94
138
|
itemsPerPage: 'Itens por página',
|
|
95
139
|
nextPage: 'Próxima página',
|
|
@@ -133,6 +177,7 @@ function mergeMapaUiTexts(customTexts) {
|
|
|
133
177
|
filters: { ...defaults.filters, ...(customTexts?.filters ?? {}) },
|
|
134
178
|
datepicker: { ...defaults.datepicker, ...(customTexts?.datepicker ?? {}) },
|
|
135
179
|
capability: { ...defaults.capability, ...(customTexts?.capability ?? {}) },
|
|
180
|
+
report: { ...defaults.report, ...(customTexts?.report ?? {}) },
|
|
136
181
|
paginator: { ...defaults.paginator, ...(customTexts?.paginator ?? {}) },
|
|
137
182
|
warning: { ...defaults.warning, ...(customTexts?.warning ?? {}) },
|
|
138
183
|
table: { ...defaults.table, ...(customTexts?.table ?? {}) },
|
|
@@ -572,7 +617,7 @@ class MapaDropdownComponent {
|
|
|
572
617
|
useExisting: forwardRef(() => MapaDropdownComponent),
|
|
573
618
|
multi: true,
|
|
574
619
|
},
|
|
575
|
-
], viewQueries: [{ propertyName: "triggerButton", first: true, predicate: ["triggerButton"], descendants: true }, { propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }], ngImport: i0, template: "<div\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--open]=\"isOpen()\"\n [class.mapa-dropdown--invalid]=\"shouldShowError()\"\n [class.mapa-dropdown--disabled]=\"isDisabled()\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n>\n @if (element.label) {\n <label class=\"mapa-dropdown__label\" [attr.for]=\"element.key || null\">\n {{ element.label }}\n </label>\n }\n\n <div class=\"mapa-dropdown__field-row\">\n <button\n #triggerButton\n cdkOverlayOrigin\n #origin=\"cdkOverlayOrigin\"\n class=\"mapa-dropdown__trigger\"\n [class.mapa-dropdown__trigger--clearable]=\"hasValue() && element.clearValue\"\n [id]=\"element.key || null\"\n type=\"button\"\n [disabled]=\"isDisabled()\"\n (click)=\"toggleDropdown()\"\n [attr.aria-expanded]=\"isOpen()\"\n aria-haspopup=\"listbox\"\n >\n <span\n class=\"mapa-dropdown__trigger-text\"\n [class.mapa-dropdown__trigger-text--placeholder]=\"!hasValue()\"\n [innerHTML]=\"selectedLabel() | safeHtml\"\n ></span>\n @if (hasValue() && !isDisabled() && element.clearValue) {\n <span\n class=\"mapa-dropdown__clear\"\n role=\"button\"\n aria-label=\"Limpar\"\n (click)=\"clearValue($event)\"\n >\n ×\n </span>\n }\n </button>\n\n @if (element.actionButton) {\n <mapa-button\n class=\"mapa-dropdown__action\"\n color=\"basic\"\n (clicked)=\"element.actionButton.action.emit(true)\"\n >\n {{ element.actionButton.label }}\n </mapa-button>\n }\n </div>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n [cdkConnectedOverlayWidth]=\"overlayWidth()\"\n cdkConnectedOverlayPanelClass=\"mapa-dropdown__overlay-pane\"\n (overlayOutsideClick)=\"handleOverlayOutsideClick($event)\"\n >\n <div class=\"mapa-dropdown__panel\">\n @if (hasSearch()) {\n <input\n #searchInput\n class=\"mapa-dropdown__search-input\"\n type=\"text\"\n [formControl]=\"searchControl!\"\n [placeholder]=\"searchPlaceholder()\"\n />\n }\n\n <div class=\"mapa-dropdown__options\" role=\"listbox\">\n @if (isMultiple() && visibleOptions().length) {\n <button\n class=\"mapa-dropdown__option mapa-dropdown__option--select-all\"\n type=\"button\"\n (click)=\"toggleSelectAll()\"\n >\n <input\n class=\"mapa-dropdown__checkbox\"\n type=\"checkbox\"\n [checked]=\"isAllSelected()\"\n [indeterminate]=\"isIndeterminate()\"\n (click)=\"$event.stopPropagation(); toggleSelectAll()\"\n />\n {{ selectAllLabel }}\n </button>\n }\n\n @if (hasGroups()) {\n @for (group of filteredGroups(); track group.label) {\n <div class=\"mapa-dropdown__group\" role=\"group\">\n <p class=\"mapa-dropdown__group-label\">{{ group.label }}</p>\n @for (option of group.options; track option.key) {\n <button\n class=\"mapa-dropdown__option\"\n [class.mapa-dropdown__option--selected]=\"isOptionSelected(option)\"\n [style.padding-left.px]=\"optionPadding(option)\"\n type=\"button\"\n (click)=\"selectOption(option)\"\n >\n @if (isMultiple()) {\n <input\n class=\"mapa-dropdown__checkbox\"\n type=\"checkbox\"\n [checked]=\"isOptionSelected(option)\"\n (click)=\"$event.stopPropagation(); selectOption(option)\"\n />\n }\n <span [innerHTML]=\"option.value | safeHtml\"></span>\n </button>\n }\n </div>\n }\n } @else {\n @for (option of filteredOptions(); track option.key) {\n <button\n class=\"mapa-dropdown__option\"\n [class.mapa-dropdown__option--selected]=\"isOptionSelected(option)\"\n [style.padding-left.px]=\"optionPadding(option)\"\n type=\"button\"\n (click)=\"selectOption(option)\"\n >\n @if (isMultiple()) {\n <input\n class=\"mapa-dropdown__checkbox\"\n type=\"checkbox\"\n [checked]=\"isOptionSelected(option)\"\n (click)=\"$event.stopPropagation(); selectOption(option)\"\n />\n }\n <span [innerHTML]=\"option.value | safeHtml\"></span>\n </button>\n }\n }\n\n @if (!visibleOptions().length) {\n <p class=\"mapa-dropdown__empty-state\">\n {{ emptyStateLabel() }}\n </p>\n }\n </div>\n </div>\n </ng-template>\n\n @if (shouldShowError()) {\n <p class=\"mapa-dropdown__error\">\n <mapa-form-errors\n [control]=\"formControl\"\n [errors]=\"element.errors\"\n ></mapa-form-errors>\n </p>\n } @else if (element.hint) {\n <p class=\"mapa-dropdown__hint\">{{ element.hint }}</p>\n }\n</div>\n", styles: [":host{position:relative;display:inline-block;width:310px;max-width:100%;min-width:0;box-sizing:border-box}.mapa-dropdown{width:100%}.mapa-dropdown__label{display:inline-block;margin-bottom:8px;color:var(--mapa-color-ink, #1a1a1a);font-family:var(--mapa-font-heading, \"Asap\", sans-serif);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.mapa-dropdown__field-row{display:flex;align-items:center;gap:24px;min-width:0}.mapa-dropdown__trigger,.mapa-dropdown__search-input,.mapa-dropdown__option{width:100%;min-height:48px;padding:12px 16px;border:0;background:var(--mapa-color-surface, #ffffff);color:var(--mapa-color-ink, #1a1a1a);font-family:var(--mapa-font-body, \"Asap\", sans-serif);font-size:16px;line-height:24px}.mapa-dropdown__trigger:focus,.mapa-dropdown__search-input:focus,.mapa-dropdown__option:focus{outline:none}.mapa-dropdown__trigger::placeholder,.mapa-dropdown__search-input::placeholder,.mapa-dropdown__option::placeholder{color:var(--mapa-color-muted, #555555)}.mapa-dropdown__trigger{position:relative;display:flex;flex:1 1 auto;align-items:center;min-width:0;padding-right:46px;border:1px solid var(--mapa-color-border, rgba(26, 26, 26, .18));border-radius:var(--mapa-radius-sm, 12px);text-align:left;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.mapa-dropdown__trigger--clearable{padding-right:70px}.mapa-dropdown__trigger:after{content:\"\";position:absolute;top:50%;right:18px;width:9px;height:9px;border-right:2px solid var(--mapa-color-ink, #1a1a1a);border-bottom:2px solid var(--mapa-color-ink, #1a1a1a);transform:translateY(-70%) rotate(45deg);transition:transform .2s ease;pointer-events:none}.mapa-dropdown__trigger:disabled{background:var(--mapa-color-disabled-surface, #f6f7f7);color:var(--mapa-color-muted, #555555);cursor:not-allowed}.mapa-dropdown__trigger:disabled:after{opacity:.5}.mapa-dropdown--open .mapa-dropdown__trigger,.mapa-dropdown__trigger:focus{border-color:var(--mapa-color-accent, #ff560b);box-shadow:0 0 0 3px #ff560b1f}.mapa-dropdown--open .mapa-dropdown__trigger:after{transform:translateY(-20%) rotate(-135deg)}.mapa-dropdown--highlight .mapa-dropdown__trigger{border:2px solid #eedb2a;border-radius:16px}.mapa-dropdown--tag .mapa-dropdown__trigger{border-radius:16px}.mapa-dropdown__trigger-text{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--mapa-color-ink, #1a1a1a)}.mapa-dropdown__trigger-text--placeholder{color:var(--mapa-color-muted, #CFC4C7)}.mapa-dropdown__clear{position:absolute;top:50%;right:40px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;color:var(--mapa-color-muted, #555555);font-size:16px;line-height:1;cursor:pointer}.mapa-dropdown__clear:hover{background:#1a1a1a14;color:var(--mapa-color-ink, #1a1a1a)}.mapa-dropdown__action{flex:none}.mapa-dropdown__checkbox{flex:none;width:16px;height:16px;margin-right:12px;accent-color:var(--mapa-color-accent, #ff560b)}.mapa-dropdown__panel{width:100%;overflow:hidden;border:1px solid var(--mapa-color-border-soft, rgba(26, 26, 26, .08));border-radius:var(--mapa-radius-md, 16px);background:var(--mapa-color-surface, #ffffff);box-shadow:var(--mapa-shadow-panel, 0 18px 40px rgba(26, 26, 26, .08))}.mapa-dropdown__search-input{border-bottom:1px solid var(--mapa-color-border-soft, rgba(26, 26, 26, .08))}.mapa-dropdown__options{max-height:240px;overflow-y:auto;background:var(--mapa-color-surface, #ffffff)}.mapa-dropdown__group-label{margin:0;padding:10px 16px 6px;color:var(--mapa-color-muted, #555555);font-family:var(--mapa-font-body, \"Asap\", sans-serif);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.mapa-dropdown__option{display:flex;align-items:center;min-height:44px;text-align:left;cursor:pointer;transition:background-color .2s ease,color .2s ease}.mapa-dropdown__option:hover{background:#ff560b14}.mapa-dropdown__option--selected{background:#ff560b1f;color:var(--mapa-color-accent, #ff560b)}.mapa-dropdown__option--select-all{border-bottom:1px solid var(--mapa-color-border-soft, rgba(26, 26, 26, .08));font-weight:600}.mapa-dropdown__empty-state{margin:0;padding:14px 16px;color:var(--mapa-color-muted, #555555);font-size:14px;line-height:20px}.mapa-dropdown--invalid .mapa-dropdown__trigger{border-color:#b54242;box-shadow:0 0 0 3px #b542421f}.mapa-dropdown__hint,.mapa-dropdown__error{display:block;margin:8px 0 0;padding-left:4px;font-size:13px;line-height:18px}.mapa-dropdown__hint{color:var(--mapa-color-muted, #555555)}.mapa-dropdown__error{color:#b54242}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: ButtonComponent, selector: "mapa-button", inputs: ["color", "disabled"], outputs: ["clicked"] }, { kind: "component", type: MapaFormErrorsComponent, selector: "mapa-form-errors", inputs: ["control", "errors"] }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
620
|
+
], viewQueries: [{ propertyName: "triggerButton", first: true, predicate: ["triggerButton"], descendants: true }, { propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }], ngImport: i0, template: "<div\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--open]=\"isOpen()\"\n [class.mapa-dropdown--invalid]=\"shouldShowError()\"\n [class.mapa-dropdown--disabled]=\"isDisabled()\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n>\n @if (element.label) {\n <label class=\"mapa-dropdown__label\" [attr.for]=\"element.key || null\">\n {{ element.label }}\n </label>\n }\n\n <div class=\"mapa-dropdown__field-row\">\n <button\n #triggerButton\n cdkOverlayOrigin\n #origin=\"cdkOverlayOrigin\"\n class=\"mapa-dropdown__trigger\"\n [class.mapa-dropdown__trigger--clearable]=\"hasValue() && element.clearValue\"\n [id]=\"element.key || null\"\n type=\"button\"\n [disabled]=\"isDisabled()\"\n (click)=\"toggleDropdown()\"\n [attr.aria-expanded]=\"isOpen()\"\n aria-haspopup=\"listbox\"\n >\n <span\n class=\"mapa-dropdown__trigger-text\"\n [class.mapa-dropdown__trigger-text--placeholder]=\"!hasValue()\"\n [innerHTML]=\"selectedLabel() | safeHtml\"\n ></span>\n @if (hasValue() && !isDisabled() && element.clearValue) {\n <span\n class=\"mapa-dropdown__clear\"\n role=\"button\"\n aria-label=\"Limpar\"\n (click)=\"clearValue($event)\"\n >\n ×\n </span>\n }\n </button>\n\n @if (element.actionButton) {\n <mapa-button\n class=\"mapa-dropdown__action\"\n color=\"basic\"\n (clicked)=\"element.actionButton.action.emit(true)\"\n >\n {{ element.actionButton.label }}\n </mapa-button>\n }\n </div>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n [cdkConnectedOverlayWidth]=\"overlayWidth()\"\n cdkConnectedOverlayPanelClass=\"mapa-dropdown__overlay-pane\"\n (overlayOutsideClick)=\"handleOverlayOutsideClick($event)\"\n >\n <div class=\"mapa-dropdown__panel\">\n @if (hasSearch()) {\n <input\n #searchInput\n class=\"mapa-dropdown__search-input\"\n type=\"text\"\n [formControl]=\"searchControl!\"\n [placeholder]=\"searchPlaceholder()\"\n />\n }\n\n <div class=\"mapa-dropdown__options\" role=\"listbox\">\n @if (isMultiple() && visibleOptions().length) {\n <button\n class=\"mapa-dropdown__option mapa-dropdown__option--select-all\"\n type=\"button\"\n (click)=\"toggleSelectAll()\"\n >\n <input\n class=\"mapa-dropdown__checkbox\"\n type=\"checkbox\"\n [checked]=\"isAllSelected()\"\n [indeterminate]=\"isIndeterminate()\"\n (click)=\"$event.stopPropagation(); toggleSelectAll()\"\n />\n {{ selectAllLabel }}\n </button>\n }\n\n @if (hasGroups()) {\n @for (group of filteredGroups(); track group.label) {\n <div class=\"mapa-dropdown__group\" role=\"group\">\n <p class=\"mapa-dropdown__group-label\">{{ group.label }}</p>\n @for (option of group.options; track option.key) {\n <button\n class=\"mapa-dropdown__option\"\n [class.mapa-dropdown__option--selected]=\"isOptionSelected(option)\"\n [style.padding-left.px]=\"optionPadding(option)\"\n type=\"button\"\n (click)=\"selectOption(option)\"\n >\n @if (isMultiple()) {\n <input\n class=\"mapa-dropdown__checkbox\"\n type=\"checkbox\"\n [checked]=\"isOptionSelected(option)\"\n (click)=\"$event.stopPropagation(); selectOption(option)\"\n />\n }\n <span [innerHTML]=\"option.value | safeHtml\"></span>\n </button>\n }\n </div>\n }\n } @else {\n @for (option of filteredOptions(); track option.key) {\n <button\n class=\"mapa-dropdown__option\"\n [class.mapa-dropdown__option--selected]=\"isOptionSelected(option)\"\n [style.padding-left.px]=\"optionPadding(option)\"\n type=\"button\"\n (click)=\"selectOption(option)\"\n >\n @if (isMultiple()) {\n <input\n class=\"mapa-dropdown__checkbox\"\n type=\"checkbox\"\n [checked]=\"isOptionSelected(option)\"\n (click)=\"$event.stopPropagation(); selectOption(option)\"\n />\n }\n <span [innerHTML]=\"option.value | safeHtml\"></span>\n </button>\n }\n }\n\n @if (!visibleOptions().length) {\n <p class=\"mapa-dropdown__empty-state\">\n {{ emptyStateLabel() }}\n </p>\n }\n </div>\n </div>\n </ng-template>\n\n @if (shouldShowError()) {\n <p class=\"mapa-dropdown__error\">\n <mapa-form-errors\n [control]=\"formControl\"\n [errors]=\"element.errors\"\n ></mapa-form-errors>\n </p>\n } @else if (element.hint) {\n <p class=\"mapa-dropdown__hint\">{{ element.hint }}</p>\n }\n</div>\n", styles: [":host{position:relative;display:inline-block;width:310px;max-width:100%;min-width:0;box-sizing:border-box}.mapa-dropdown{width:100%}.mapa-dropdown__label{display:inline-block;margin-bottom:8px;color:var(--mapa-color-ink, #1a1a1a);font-family:var(--mapa-font-heading, \"Asap\", sans-serif);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.mapa-dropdown__field-row{display:flex;align-items:center;gap:24px;min-width:0}.mapa-dropdown__trigger,.mapa-dropdown__search-input,.mapa-dropdown__option{width:100%;min-height:48px;padding:12px 16px;border:0;background:var(--mapa-color-surface, #ffffff);color:var(--mapa-color-ink, #1a1a1a);font-family:var(--mapa-font-body, \"Asap\", sans-serif);font-size:16px;line-height:24px}.mapa-dropdown__trigger:focus,.mapa-dropdown__search-input:focus,.mapa-dropdown__option:focus{outline:none}.mapa-dropdown__trigger::placeholder,.mapa-dropdown__search-input::placeholder,.mapa-dropdown__option::placeholder{color:var(--mapa-color-muted, #555555)}.mapa-dropdown__trigger{position:relative;display:flex;flex:1 1 auto;align-items:center;min-width:0;padding-right:46px;border:1px solid var(--mapa-color-border, rgba(26, 26, 26, .18));border-radius:var(--mapa-radius-sm, 12px);text-align:left;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.mapa-dropdown__trigger--clearable{padding-right:70px}.mapa-dropdown__trigger:after{content:\"\";position:absolute;top:50%;right:18px;width:9px;height:9px;border-right:2px solid var(--mapa-color-ink, #1a1a1a);border-bottom:2px solid var(--mapa-color-ink, #1a1a1a);transform:translateY(-70%) rotate(45deg);transition:transform .2s ease;pointer-events:none}.mapa-dropdown__trigger:disabled{background:var(--mapa-color-disabled-surface, #f6f7f7);color:var(--mapa-color-muted, #555555);cursor:not-allowed}.mapa-dropdown__trigger:disabled:after{opacity:.5}.mapa-dropdown--open .mapa-dropdown__trigger,.mapa-dropdown__trigger:focus{border-color:var(--mapa-color-accent, #ff560b);box-shadow:0 0 0 3px #ff560b1f}.mapa-dropdown--open .mapa-dropdown__trigger:after{transform:translateY(-20%) rotate(-135deg)}.mapa-dropdown--highlight .mapa-dropdown__trigger{border:2px solid #eedb2a;border-radius:16px}.mapa-dropdown--tag .mapa-dropdown__trigger{border-radius:16px}.mapa-dropdown__trigger-text{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--mapa-color-ink, #1a1a1a)}.mapa-dropdown__trigger-text--placeholder{color:var(--mapa-color-muted, #CFC4C7)}.mapa-dropdown__clear{position:absolute;top:50%;right:40px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;color:var(--mapa-color-muted, #555555);font-size:16px;line-height:1;cursor:pointer}.mapa-dropdown__clear:hover{background:#1a1a1a14;color:var(--mapa-color-ink, #1a1a1a)}.mapa-dropdown__action{flex:none}.mapa-dropdown__checkbox{flex:none;width:16px;height:16px;margin-right:12px;accent-color:var(--mapa-color-accent, #ff560b)}.mapa-dropdown__panel{width:100%;overflow:hidden;border:1px solid var(--mapa-color-border-soft, rgba(26, 26, 26, .08));border-radius:var(--mapa-radius-md, 16px);background:var(--mapa-color-surface, #ffffff);box-shadow:var(--mapa-shadow-panel, 0 18px 40px rgba(26, 26, 26, .08))}.mapa-dropdown__search-input{border-bottom:1px solid var(--mapa-color-border-soft, rgba(26, 26, 26, .08))}.mapa-dropdown__options{max-height:240px;overflow-y:auto;background:var(--mapa-color-surface, #ffffff)}.mapa-dropdown__group-label{margin:0;padding:10px 16px 6px;color:var(--mapa-color-muted, #555555);font-family:var(--mapa-font-body, \"Asap\", sans-serif);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.mapa-dropdown__option{display:flex;align-items:center;min-height:44px;text-align:left;cursor:pointer;transition:background-color .2s ease,color .2s ease}.mapa-dropdown__option:hover{background:#ff560b14}.mapa-dropdown__option--selected{background:#ff560b1f;color:var(--mapa-color-accent, #ff560b)}.mapa-dropdown__option--select-all{border-bottom:1px solid var(--mapa-color-border-soft, rgba(26, 26, 26, .08));font-weight:600}.mapa-dropdown__empty-state{margin:0;padding:14px 16px;color:var(--mapa-color-muted, #555555);font-size:14px;line-height:20px}.mapa-dropdown--invalid .mapa-dropdown__trigger{border-color:#b54242;box-shadow:0 0 0 3px #b542421f}.mapa-dropdown__hint,.mapa-dropdown__error{display:block;margin:8px 0 0;padding-left:4px;font-size:13px;line-height:18px}.mapa-dropdown__hint{color:var(--mapa-color-muted, #555555)}.mapa-dropdown__error{color:#b54242}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: ButtonComponent, selector: "mapa-button", inputs: ["color", "disabled", "shape", "fullWidth"], outputs: ["clicked"] }, { kind: "component", type: MapaFormErrorsComponent, selector: "mapa-form-errors", inputs: ["control", "errors"] }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
576
621
|
}
|
|
577
622
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: MapaDropdownComponent, decorators: [{
|
|
578
623
|
type: Component,
|