@seniorsistemas/angular-components 19.0.9 → 19.1.1
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/breadcrumb/lib/breadcrumb/breadcrumb-models.d.ts +2 -0
- package/button/lib/button/button.component.d.ts +8 -2
- package/checkbox/lib/checkbox/checkbox.component.d.ts +5 -1
- package/dialog/lib/src/dialog/dialog.component.d.ts +7 -1
- package/esm2022/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.mjs +2 -2
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-models.mjs +1 -1
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.component.mjs +3 -3
- package/esm2022/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.component.mjs +8 -6
- package/esm2022/button/lib/button/button.component.mjs +20 -8
- package/esm2022/checkbox/lib/checkbox/checkbox.component.mjs +8 -5
- package/esm2022/confirm-dialog/lib/popup-confirm-dialog/popup-confirm-dialog.component.mjs +2 -2
- package/esm2022/content-generator/lib/content-generator/content-generator.component.mjs +1 -1
- package/esm2022/dialog/lib/src/dialog/dialog.component.mjs +9 -3
- package/esm2022/dynamic-form/dynamic-form/components/grid/row/row.component.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/button-field/button-field.component.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/radio-button/radio-button-field.component.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/select/select-field.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +1 -1
- package/esm2022/empty-state/lib/empty-state/empty-state.component.mjs +1 -1
- package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +1 -1
- package/esm2022/global-search/lib/global-search/components/dropdown/global-search-dropdown-item.component.mjs +1 -1
- package/esm2022/global-search/lib/global-search/global-search.component.mjs +1 -1
- package/esm2022/help-popover/lib/help-popover/help-popover/help-popover.component.mjs +1 -1
- package/esm2022/image-cropper/lib/image-cropper/image-cropper.component.mjs +1 -1
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +1 -1
- package/esm2022/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +1 -1
- package/esm2022/kanban/lib/kanban/components/kanban-column/kanban-column.component.mjs +1 -1
- package/esm2022/kanban/lib/kanban/components/kanban-item/kanban-item.component.mjs +1 -1
- package/esm2022/lib/locale/fallback.mjs +13 -2
- package/esm2022/navigation-button/lib/navigation-button/navigation-button.component.mjs +1 -1
- package/esm2022/object-card/lib/object-card/elements/field/object-card-field.component.mjs +1 -1
- package/esm2022/object-card/lib/object-card/elements/main/object-card-main.component.mjs +1 -1
- package/esm2022/paginator/lib/paginator/paginator.component.mjs +2 -2
- package/esm2022/picklist/lib/picklist/picklist.component.mjs +1 -1
- package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.mjs +1 -1
- package/esm2022/select/lib/select/components/select-option/select-option.component.mjs +3 -3
- package/esm2022/select/lib/select/select.component.mjs +132 -20
- package/esm2022/shared/lib/accessibility/paginator-accessibility.directive.mjs +182 -0
- package/esm2022/shared/lib/accessibility/table-checkbox-accessibility.directive.mjs +174 -0
- package/esm2022/shared/public-api.mjs +6 -4
- package/esm2022/switch/lib/switch/switch.component.mjs +19 -8
- package/esm2022/table/lib/table/table-paging/table-paging.component.mjs +1 -1
- package/esm2022/table/public-api.mjs +2 -1
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +18 -8
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +1 -1
- package/esm2022/tiered-menu/lib/tiered-menu/services/tiered-menu.service.mjs +1 -1
- package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.directive.mjs +11 -3
- package/esm2022/tooltip/lib/tooltip/tooltip.component.mjs +17 -11
- package/esm2022/tooltip/lib/tooltip/tooltip.directive.mjs +108 -241
- package/esm2022/tooltip/lib/tooltip/tooltip.module.mjs +4 -6
- package/esm2022/topbar/lib/topbar/topbar.component.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-accordion.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-accordion.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs +9 -7
- package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-button.mjs +19 -7
- package/fesm2022/seniorsistemas-angular-components-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-checkbox.mjs +7 -4
- package/fesm2022/seniorsistemas-angular-components-checkbox.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-confirm-dialog.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-confirm-dialog.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-dialog.mjs +8 -2
- package/fesm2022/seniorsistemas-angular-components-dialog.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +11 -11
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-empty-state.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-empty-state.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-help-popover.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-help-popover.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-kanban.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-kanban.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-object-card.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-object-card.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-paginator.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-paginator.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-picklist.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-picklist.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-select.mjs +133 -21
- package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-shared.mjs +354 -2
- package/fesm2022/seniorsistemas-angular-components-shared.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-switch.mjs +18 -7
- package/fesm2022/seniorsistemas-angular-components-switch.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-table.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-table.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +26 -8
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tooltip.mjs +125 -254
- package/fesm2022/seniorsistemas-angular-components-tooltip.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-topbar.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-topbar.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components.mjs +12 -1
- package/fesm2022/seniorsistemas-angular-components.mjs.map +1 -1
- package/package.json +1 -1
- package/select/lib/select/select.component.d.ts +23 -2
- package/shared/lib/accessibility/paginator-accessibility.directive.d.ts +30 -0
- package/shared/lib/accessibility/table-checkbox-accessibility.directive.d.ts +46 -0
- package/shared/public-api.d.ts +7 -5
- package/switch/lib/switch/switch.component.d.ts +9 -5
- package/table/public-api.d.ts +1 -0
- package/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +1 -0
- package/tiered-menu/lib/tiered-menu/tiered-menu.directive.d.ts +4 -2
- package/tooltip/lib/tooltip/tooltip.component.d.ts +13 -7
- package/tooltip/lib/tooltip/tooltip.directive.d.ts +27 -40
- package/tooltip/lib/tooltip/tooltip.module.d.ts +3 -4
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@ngx-translate/core";
|
|
4
|
+
/**
|
|
5
|
+
* Diretiva para melhorar a acessibilidade dos botões do paginador PrimeNG
|
|
6
|
+
* Adiciona tabindex="0" aos botões habilitados e tabindex="-1" aos desabilitados
|
|
7
|
+
* Adiciona aria-labels traduzidos para os botões do paginador
|
|
8
|
+
*/
|
|
9
|
+
export class PaginatorAccessibilityDirective {
|
|
10
|
+
el;
|
|
11
|
+
renderer;
|
|
12
|
+
translateService;
|
|
13
|
+
observer = null;
|
|
14
|
+
equalWebSpanMarker = 'data-equalweb-sr-only';
|
|
15
|
+
isObserverPaused = false;
|
|
16
|
+
observedPaginatorElement = null;
|
|
17
|
+
constructor(el, renderer, translateService) {
|
|
18
|
+
this.el = el;
|
|
19
|
+
this.renderer = renderer;
|
|
20
|
+
this.translateService = translateService;
|
|
21
|
+
}
|
|
22
|
+
ngOnInit() {
|
|
23
|
+
// Aguarda o próximo ciclo para garantir que o paginador foi renderizado
|
|
24
|
+
setTimeout(() => {
|
|
25
|
+
this.updatePaginatorButtons();
|
|
26
|
+
this.observePaginatorChanges();
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
ngOnDestroy() {
|
|
30
|
+
if (this.observer) {
|
|
31
|
+
this.observer.disconnect();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
updatePaginatorButtons() {
|
|
35
|
+
const paginatorElement = this.el.nativeElement.querySelector('p-paginator');
|
|
36
|
+
if (!paginatorElement) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
// Atualiza botões de navegação (first, prev, next, last)
|
|
40
|
+
const navigationSelectors = {
|
|
41
|
+
'.p-paginator-first': this.translateService.instant('platform.angular_components.aria_first_page'),
|
|
42
|
+
'.p-paginator-prev': this.translateService.instant('platform.angular_components.aria_previous_page'),
|
|
43
|
+
'.p-paginator-next': this.translateService.instant('platform.angular_components.aria_next_page'),
|
|
44
|
+
'.p-paginator-last': this.translateService.instant('platform.angular_components.aria_last_page'),
|
|
45
|
+
'.p-select-label': this.translateService.instant('platform.angular_components.aria_page_selection')
|
|
46
|
+
};
|
|
47
|
+
Object.entries(navigationSelectors).forEach(([selector, label]) => {
|
|
48
|
+
const button = paginatorElement.querySelector(selector);
|
|
49
|
+
if (button) {
|
|
50
|
+
const isDisabled = this.isButtonDisabled(button);
|
|
51
|
+
this.updateTabIndex(button, isDisabled);
|
|
52
|
+
if (isDisabled) {
|
|
53
|
+
this.renderer.removeAttribute(button, 'data-ind-readable');
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
this.renderer.setAttribute(button, 'data-ind-readable', 'true');
|
|
57
|
+
}
|
|
58
|
+
this.renderer.setAttribute(button, 'aria-label', label);
|
|
59
|
+
this.applyEqualWebTextFix(button, label, isDisabled);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
// Atualiza botões de página numérica
|
|
63
|
+
const pageButtons = paginatorElement.querySelectorAll('.p-paginator-page');
|
|
64
|
+
pageButtons.forEach((button) => {
|
|
65
|
+
const pageNumber = this.getPaginatorPageNumber(button);
|
|
66
|
+
if (pageNumber) {
|
|
67
|
+
const isDisabled = this.isButtonDisabled(button);
|
|
68
|
+
const isSelected = button.classList.contains('p-paginator-page-selected');
|
|
69
|
+
const ariaLabel = isSelected
|
|
70
|
+
? this.translateService.instant('platform.angular_components.aria_current_page', { page: pageNumber })
|
|
71
|
+
: this.translateService.instant('platform.angular_components.aria_page_number', { page: pageNumber });
|
|
72
|
+
this.renderer.setAttribute(button, 'aria-label', ariaLabel);
|
|
73
|
+
this.updateTabIndex(button, isDisabled);
|
|
74
|
+
this.applyEqualWebTextFix(button, ariaLabel, isDisabled);
|
|
75
|
+
if (isSelected) {
|
|
76
|
+
this.renderer.setAttribute(button, 'aria-current', 'page');
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
this.renderer.removeAttribute(button, 'aria-current');
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
isButtonDisabled(button) {
|
|
85
|
+
return button.hasAttribute('disabled') || button.classList.contains('p-disabled');
|
|
86
|
+
}
|
|
87
|
+
updateTabIndex(button, isDisabled) {
|
|
88
|
+
if (isDisabled) {
|
|
89
|
+
this.renderer.removeAttribute(button, 'tabindex');
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
this.renderer.setAttribute(button, 'tabindex', '0');
|
|
93
|
+
}
|
|
94
|
+
getPaginatorPageNumber(button) {
|
|
95
|
+
const buttonElement = button;
|
|
96
|
+
// Evita pegar texto do span sr-only criado pela diretiva.
|
|
97
|
+
const visualLabel = buttonElement.querySelector(`span:not([${this.equalWebSpanMarker}])`);
|
|
98
|
+
const visualText = visualLabel?.textContent?.trim();
|
|
99
|
+
if (visualText) {
|
|
100
|
+
return visualText;
|
|
101
|
+
}
|
|
102
|
+
// Fallback para casos em que o PrimeNG renderiza sem span interno.
|
|
103
|
+
const srOnlyText = buttonElement.querySelector(`span[${this.equalWebSpanMarker}="true"]`)?.textContent?.trim() || '';
|
|
104
|
+
const fullText = buttonElement.textContent?.trim() || '';
|
|
105
|
+
return fullText.replace(srOnlyText, '').trim();
|
|
106
|
+
}
|
|
107
|
+
applyEqualWebTextFix(button, accessibleText, isDisabled) {
|
|
108
|
+
const buttonElement = button;
|
|
109
|
+
// Oculta spans visuais do PrimeNG para o script do EqualWeb.
|
|
110
|
+
const visualSpans = buttonElement.querySelectorAll(`span:not([${this.equalWebSpanMarker}])`);
|
|
111
|
+
visualSpans.forEach((span) => {
|
|
112
|
+
this.renderer.setAttribute(span, 'aria-hidden', 'true');
|
|
113
|
+
});
|
|
114
|
+
const existingSrOnly = buttonElement.querySelector(`span[${this.equalWebSpanMarker}="true"]`);
|
|
115
|
+
// Não mantém texto extra em botões desabilitados.
|
|
116
|
+
if (isDisabled) {
|
|
117
|
+
if (existingSrOnly) {
|
|
118
|
+
this.renderer.removeChild(buttonElement, existingSrOnly);
|
|
119
|
+
}
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
if (existingSrOnly) {
|
|
123
|
+
this.renderer.removeAttribute(existingSrOnly, 'tabindex');
|
|
124
|
+
this.renderer.setProperty(existingSrOnly, 'textContent', accessibleText);
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
const srOnlySpan = this.renderer.createElement('span');
|
|
128
|
+
this.renderer.addClass(srOnlySpan, 'sr-only');
|
|
129
|
+
this.renderer.setAttribute(srOnlySpan, this.equalWebSpanMarker, 'true');
|
|
130
|
+
this.renderer.removeAttribute(srOnlySpan, 'tabindex');
|
|
131
|
+
const srOnlyText = this.renderer.createText(accessibleText);
|
|
132
|
+
this.renderer.appendChild(srOnlySpan, srOnlyText);
|
|
133
|
+
this.renderer.appendChild(buttonElement, srOnlySpan);
|
|
134
|
+
}
|
|
135
|
+
observePaginatorChanges() {
|
|
136
|
+
const paginatorElement = this.el.nativeElement.querySelector('p-paginator');
|
|
137
|
+
if (!paginatorElement) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
this.observedPaginatorElement = paginatorElement;
|
|
141
|
+
// Observa mudanças no paginador (quando botões são habilitados/desabilitados)
|
|
142
|
+
this.observer = new MutationObserver(() => {
|
|
143
|
+
this.updateWithObserverPaused();
|
|
144
|
+
});
|
|
145
|
+
this.startObserving();
|
|
146
|
+
}
|
|
147
|
+
updateWithObserverPaused() {
|
|
148
|
+
if (!this.observer || this.isObserverPaused) {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
this.isObserverPaused = true;
|
|
152
|
+
this.observer.disconnect();
|
|
153
|
+
try {
|
|
154
|
+
this.updatePaginatorButtons();
|
|
155
|
+
}
|
|
156
|
+
finally {
|
|
157
|
+
this.startObserving();
|
|
158
|
+
this.isObserverPaused = false;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
startObserving() {
|
|
162
|
+
if (!this.observer || !this.observedPaginatorElement) {
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
this.observer.observe(this.observedPaginatorElement, {
|
|
166
|
+
attributes: true,
|
|
167
|
+
childList: true,
|
|
168
|
+
subtree: true,
|
|
169
|
+
attributeFilter: ['disabled', 'class', 'tabindex']
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PaginatorAccessibilityDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
173
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: PaginatorAccessibilityDirective, isStandalone: true, selector: "[sPaginatorAccessibility]", ngImport: i0 });
|
|
174
|
+
}
|
|
175
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PaginatorAccessibilityDirective, decorators: [{
|
|
176
|
+
type: Directive,
|
|
177
|
+
args: [{
|
|
178
|
+
selector: '[sPaginatorAccessibility]',
|
|
179
|
+
standalone: true
|
|
180
|
+
}]
|
|
181
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.TranslateService }] });
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLWFjY2Vzc2liaWxpdHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NoYXJlZC9zcmMvbGliL2FjY2Vzc2liaWxpdHkvcGFnaW5hdG9yLWFjY2Vzc2liaWxpdHkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTRDLE1BQU0sZUFBZSxDQUFDOzs7QUFHcEY7Ozs7R0FJRztBQUtILE1BQU0sT0FBTywrQkFBK0I7SUFPdkI7SUFDQTtJQUNBO0lBUlgsUUFBUSxHQUE0QixJQUFJLENBQUM7SUFDaEMsa0JBQWtCLEdBQUcsdUJBQXVCLENBQUM7SUFDdEQsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLHdCQUF3QixHQUFtQixJQUFJLENBQUM7SUFFeEQsWUFDbUIsRUFBYyxFQUNkLFFBQW1CLEVBQ25CLGdCQUFrQztRQUZsQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQ2xELENBQUM7SUFFSixRQUFRO1FBQ04sd0VBQXdFO1FBQ3hFLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUVLLHNCQUFzQjtRQUM1QixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUN0QixPQUFPO1FBQ1QsQ0FBQztRQUVELHlEQUF5RDtRQUN6RCxNQUFNLG1CQUFtQixHQUFHO1lBQzFCLG9CQUFvQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsNkNBQTZDLENBQUM7WUFDbEcsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxnREFBZ0QsQ0FBQztZQUNwRyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLDRDQUE0QyxDQUFDO1lBQ2hHLG1CQUFtQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsNENBQTRDLENBQUM7WUFDaEcsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxpREFBaUQsQ0FBQztTQUNwRyxDQUFDO1FBRUYsTUFBTSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDaEUsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3hELElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1gsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNqRCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDeEMsSUFBSSxVQUFVLEVBQUUsQ0FBQztvQkFDZixJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztnQkFDN0QsQ0FBQztxQkFBTSxDQUFDO29CQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDbEUsQ0FBQztnQkFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUN4RCxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztZQUN2RCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxxQ0FBcUM7UUFDckMsTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMzRSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBZSxFQUFFLEVBQUU7WUFDdEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZELElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2YsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNqRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO2dCQUMxRSxNQUFNLFNBQVMsR0FBRyxVQUFVO29CQUMxQixDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQywrQ0FBK0MsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQztvQkFDdEcsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsOENBQThDLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztnQkFDeEcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDNUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUV6RCxJQUFJLFVBQVUsRUFBRSxDQUFDO29CQUNmLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQzdELENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7Z0JBQ3hELENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsTUFBZTtRQUN0QyxPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVPLGNBQWMsQ0FBQyxNQUFlLEVBQUUsVUFBbUI7UUFDekQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNsRCxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVPLHNCQUFzQixDQUFDLE1BQWU7UUFDNUMsTUFBTSxhQUFhLEdBQUcsTUFBcUIsQ0FBQztRQUU1QywwREFBMEQ7UUFDMUQsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxhQUFhLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLENBQUM7UUFDMUYsTUFBTSxVQUFVLEdBQUcsV0FBVyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUNwRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQztRQUVELG1FQUFtRTtRQUNuRSxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLFFBQVEsSUFBSSxDQUFDLGtCQUFrQixVQUFVLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3JILE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3pELE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVPLG9CQUFvQixDQUFDLE1BQWUsRUFBRSxjQUFzQixFQUFFLFVBQW1CO1FBQ3ZGLE1BQU0sYUFBYSxHQUFHLE1BQXFCLENBQUM7UUFFNUMsNkRBQTZEO1FBQzdELE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLENBQUM7UUFDN0YsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQWEsRUFBRSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLFFBQVEsSUFBSSxDQUFDLGtCQUFrQixVQUFVLENBQUMsQ0FBQztRQUU5RixrREFBa0Q7UUFDbEQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLElBQUksY0FBYyxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUMsQ0FBQztZQUMzRCxDQUFDO1lBQ0QsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsYUFBYSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1lBQ3pFLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVPLHVCQUF1QjtRQUM3QixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUN0QixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUVqRCw4RUFBOEU7UUFDOUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGdCQUFnQixDQUFDLEdBQUcsRUFBRTtZQUN4QyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU8sd0JBQXdCO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzVDLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRTNCLElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ2hDLENBQUM7Z0JBQVMsQ0FBQztZQUNULElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ3JELE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFO1lBQ25ELFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsT0FBTyxFQUFFLElBQUk7WUFDYixlQUFlLEVBQUUsQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQztTQUNuRCxDQUFDLENBQUM7SUFDTCxDQUFDO3dHQXpMVSwrQkFBK0I7NEZBQS9CLCtCQUErQjs7NEZBQS9CLCtCQUErQjtrQkFKM0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIE9uSW5pdCwgUmVuZGVyZXIyLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuLyoqXG4gKiBEaXJldGl2YSBwYXJhIG1lbGhvcmFyIGEgYWNlc3NpYmlsaWRhZGUgZG9zIGJvdMO1ZXMgZG8gcGFnaW5hZG9yIFByaW1lTkdcbiAqIEFkaWNpb25hIHRhYmluZGV4PVwiMFwiIGFvcyBib3TDtWVzIGhhYmlsaXRhZG9zIGUgdGFiaW5kZXg9XCItMVwiIGFvcyBkZXNhYmlsaXRhZG9zXG4gKiBBZGljaW9uYSBhcmlhLWxhYmVscyB0cmFkdXppZG9zIHBhcmEgb3MgYm90w7VlcyBkbyBwYWdpbmFkb3JcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NQYWdpbmF0b3JBY2Nlc3NpYmlsaXR5XScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgUGFnaW5hdG9yQWNjZXNzaWJpbGl0eURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBvYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlciB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHJlYWRvbmx5IGVxdWFsV2ViU3Bhbk1hcmtlciA9ICdkYXRhLWVxdWFsd2ViLXNyLW9ubHknO1xuICBwcml2YXRlIGlzT2JzZXJ2ZXJQYXVzZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBvYnNlcnZlZFBhZ2luYXRvckVsZW1lbnQ6IEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIEFndWFyZGEgbyBwcsOzeGltbyBjaWNsbyBwYXJhIGdhcmFudGlyIHF1ZSBvIHBhZ2luYWRvciBmb2kgcmVuZGVyaXphZG9cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlUGFnaW5hdG9yQnV0dG9ucygpO1xuICAgICAgdGhpcy5vYnNlcnZlUGFnaW5hdG9yQ2hhbmdlcygpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMub2JzZXJ2ZXIpIHtcbiAgICAgIHRoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgIH1cblxuICBwcml2YXRlIHVwZGF0ZVBhZ2luYXRvckJ1dHRvbnMoKSB7XG4gICAgY29uc3QgcGFnaW5hdG9yRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdwLXBhZ2luYXRvcicpO1xuICAgIGlmICghcGFnaW5hdG9yRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEF0dWFsaXphIGJvdMO1ZXMgZGUgbmF2ZWdhw6fDo28gKGZpcnN0LCBwcmV2LCBuZXh0LCBsYXN0KVxuICAgIGNvbnN0IG5hdmlnYXRpb25TZWxlY3RvcnMgPSB7XG4gICAgICAnLnAtcGFnaW5hdG9yLWZpcnN0JzogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5hcmlhX2ZpcnN0X3BhZ2UnKSxcbiAgICAgICcucC1wYWdpbmF0b3ItcHJldic6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuYXJpYV9wcmV2aW91c19wYWdlJyksXG4gICAgICAnLnAtcGFnaW5hdG9yLW5leHQnOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmFyaWFfbmV4dF9wYWdlJyksXG4gICAgICAnLnAtcGFnaW5hdG9yLWxhc3QnOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmFyaWFfbGFzdF9wYWdlJyksXG4gICAgICAnLnAtc2VsZWN0LWxhYmVsJzogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5hcmlhX3BhZ2Vfc2VsZWN0aW9uJylcbiAgICB9O1xuXG4gICAgT2JqZWN0LmVudHJpZXMobmF2aWdhdGlvblNlbGVjdG9ycykuZm9yRWFjaCgoW3NlbGVjdG9yLCBsYWJlbF0pID0+IHtcbiAgICAgIGNvbnN0IGJ1dHRvbiA9IHBhZ2luYXRvckVsZW1lbnQucXVlcnlTZWxlY3RvcihzZWxlY3Rvcik7XG4gICAgICBpZiAoYnV0dG9uKSB7XG4gICAgICAgIGNvbnN0IGlzRGlzYWJsZWQgPSB0aGlzLmlzQnV0dG9uRGlzYWJsZWQoYnV0dG9uKTtcbiAgICAgICAgdGhpcy51cGRhdGVUYWJJbmRleChidXR0b24sIGlzRGlzYWJsZWQpO1xuICAgICAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKGJ1dHRvbiwgJ2RhdGEtaW5kLXJlYWRhYmxlJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoYnV0dG9uLCAnZGF0YS1pbmQtcmVhZGFibGUnLCAndHJ1ZScpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGJ1dHRvbiwgJ2FyaWEtbGFiZWwnLCBsYWJlbCk7XG4gICAgICAgIHRoaXMuYXBwbHlFcXVhbFdlYlRleHRGaXgoYnV0dG9uLCBsYWJlbCwgaXNEaXNhYmxlZCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBBdHVhbGl6YSBib3TDtWVzIGRlIHDDoWdpbmEgbnVtw6lyaWNhXG4gICAgY29uc3QgcGFnZUJ1dHRvbnMgPSBwYWdpbmF0b3JFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5wLXBhZ2luYXRvci1wYWdlJyk7XG4gICAgcGFnZUJ1dHRvbnMuZm9yRWFjaCgoYnV0dG9uOiBFbGVtZW50KSA9PiB7XG4gICAgICBjb25zdCBwYWdlTnVtYmVyID0gdGhpcy5nZXRQYWdpbmF0b3JQYWdlTnVtYmVyKGJ1dHRvbik7XG4gICAgICBpZiAocGFnZU51bWJlcikge1xuICAgICAgICBjb25zdCBpc0Rpc2FibGVkID0gdGhpcy5pc0J1dHRvbkRpc2FibGVkKGJ1dHRvbik7XG4gICAgICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSBidXR0b24uY2xhc3NMaXN0LmNvbnRhaW5zKCdwLXBhZ2luYXRvci1wYWdlLXNlbGVjdGVkJyk7XG4gICAgICAgIGNvbnN0IGFyaWFMYWJlbCA9IGlzU2VsZWN0ZWQgXG4gICAgICAgICAgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmFyaWFfY3VycmVudF9wYWdlJywgeyBwYWdlOiBwYWdlTnVtYmVyIH0pXG4gICAgICAgICAgOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmFyaWFfcGFnZV9udW1iZXInLCB7IHBhZ2U6IHBhZ2VOdW1iZXIgfSk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGJ1dHRvbiwgJ2FyaWEtbGFiZWwnLCBhcmlhTGFiZWwpO1xuICAgICAgICB0aGlzLnVwZGF0ZVRhYkluZGV4KGJ1dHRvbiwgaXNEaXNhYmxlZCk7XG4gICAgICAgIHRoaXMuYXBwbHlFcXVhbFdlYlRleHRGaXgoYnV0dG9uLCBhcmlhTGFiZWwsIGlzRGlzYWJsZWQpO1xuICAgICAgICBcbiAgICAgICAgaWYgKGlzU2VsZWN0ZWQpIHtcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShidXR0b24sICdhcmlhLWN1cnJlbnQnLCAncGFnZScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKGJ1dHRvbiwgJ2FyaWEtY3VycmVudCcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGlzQnV0dG9uRGlzYWJsZWQoYnV0dG9uOiBFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGJ1dHRvbi5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykgfHwgYnV0dG9uLmNsYXNzTGlzdC5jb250YWlucygncC1kaXNhYmxlZCcpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVUYWJJbmRleChidXR0b246IEVsZW1lbnQsIGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUoYnV0dG9uLCAndGFiaW5kZXgnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShidXR0b24sICd0YWJpbmRleCcsICcwJyk7XG4gIH1cblxuICBwcml2YXRlIGdldFBhZ2luYXRvclBhZ2VOdW1iZXIoYnV0dG9uOiBFbGVtZW50KTogc3RyaW5nIHtcbiAgICBjb25zdCBidXR0b25FbGVtZW50ID0gYnV0dG9uIGFzIEhUTUxFbGVtZW50O1xuXG4gICAgLy8gRXZpdGEgcGVnYXIgdGV4dG8gZG8gc3BhbiBzci1vbmx5IGNyaWFkbyBwZWxhIGRpcmV0aXZhLlxuICAgIGNvbnN0IHZpc3VhbExhYmVsID0gYnV0dG9uRWxlbWVudC5xdWVyeVNlbGVjdG9yKGBzcGFuOm5vdChbJHt0aGlzLmVxdWFsV2ViU3Bhbk1hcmtlcn1dKWApO1xuICAgIGNvbnN0IHZpc3VhbFRleHQgPSB2aXN1YWxMYWJlbD8udGV4dENvbnRlbnQ/LnRyaW0oKTtcbiAgICBpZiAodmlzdWFsVGV4dCkge1xuICAgICAgcmV0dXJuIHZpc3VhbFRleHQ7XG4gICAgfVxuXG4gICAgLy8gRmFsbGJhY2sgcGFyYSBjYXNvcyBlbSBxdWUgbyBQcmltZU5HIHJlbmRlcml6YSBzZW0gc3BhbiBpbnRlcm5vLlxuICAgIGNvbnN0IHNyT25seVRleHQgPSBidXR0b25FbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYHNwYW5bJHt0aGlzLmVxdWFsV2ViU3Bhbk1hcmtlcn09XCJ0cnVlXCJdYCk/LnRleHRDb250ZW50Py50cmltKCkgfHwgJyc7XG4gICAgY29uc3QgZnVsbFRleHQgPSBidXR0b25FbGVtZW50LnRleHRDb250ZW50Py50cmltKCkgfHwgJyc7XG4gICAgcmV0dXJuIGZ1bGxUZXh0LnJlcGxhY2Uoc3JPbmx5VGV4dCwgJycpLnRyaW0oKTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlFcXVhbFdlYlRleHRGaXgoYnV0dG9uOiBFbGVtZW50LCBhY2Nlc3NpYmxlVGV4dDogc3RyaW5nLCBpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgY29uc3QgYnV0dG9uRWxlbWVudCA9IGJ1dHRvbiBhcyBIVE1MRWxlbWVudDtcblxuICAgIC8vIE9jdWx0YSBzcGFucyB2aXN1YWlzIGRvIFByaW1lTkcgcGFyYSBvIHNjcmlwdCBkbyBFcXVhbFdlYi5cbiAgICBjb25zdCB2aXN1YWxTcGFucyA9IGJ1dHRvbkVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChgc3Bhbjpub3QoWyR7dGhpcy5lcXVhbFdlYlNwYW5NYXJrZXJ9XSlgKTtcbiAgICB2aXN1YWxTcGFucy5mb3JFYWNoKChzcGFuOiBFbGVtZW50KSA9PiB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShzcGFuLCAnYXJpYS1oaWRkZW4nLCAndHJ1ZScpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgZXhpc3RpbmdTck9ubHkgPSBidXR0b25FbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYHNwYW5bJHt0aGlzLmVxdWFsV2ViU3Bhbk1hcmtlcn09XCJ0cnVlXCJdYCk7XG5cbiAgICAvLyBOw6NvIG1hbnTDqW0gdGV4dG8gZXh0cmEgZW0gYm90w7VlcyBkZXNhYmlsaXRhZG9zLlxuICAgIGlmIChpc0Rpc2FibGVkKSB7XG4gICAgICBpZiAoZXhpc3RpbmdTck9ubHkpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZChidXR0b25FbGVtZW50LCBleGlzdGluZ1NyT25seSk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGV4aXN0aW5nU3JPbmx5KSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZShleGlzdGluZ1NyT25seSwgJ3RhYmluZGV4Jyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KGV4aXN0aW5nU3JPbmx5LCAndGV4dENvbnRlbnQnLCBhY2Nlc3NpYmxlVGV4dCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3JPbmx5U3BhbiA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3Moc3JPbmx5U3BhbiwgJ3NyLW9ubHknKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShzck9ubHlTcGFuLCB0aGlzLmVxdWFsV2ViU3Bhbk1hcmtlciwgJ3RydWUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZShzck9ubHlTcGFuLCAndGFiaW5kZXgnKTtcbiAgICBjb25zdCBzck9ubHlUZXh0ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVUZXh0KGFjY2Vzc2libGVUZXh0KTtcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHNyT25seVNwYW4sIHNyT25seVRleHQpO1xuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoYnV0dG9uRWxlbWVudCwgc3JPbmx5U3Bhbik7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVQYWdpbmF0b3JDaGFuZ2VzKCkge1xuICAgIGNvbnN0IHBhZ2luYXRvckVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigncC1wYWdpbmF0b3InKTtcbiAgICBpZiAoIXBhZ2luYXRvckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm9ic2VydmVkUGFnaW5hdG9yRWxlbWVudCA9IHBhZ2luYXRvckVsZW1lbnQ7XG5cbiAgICAvLyBPYnNlcnZhIG11ZGFuw6dhcyBubyBwYWdpbmFkb3IgKHF1YW5kbyBib3TDtWVzIHPDo28gaGFiaWxpdGFkb3MvZGVzYWJpbGl0YWRvcylcbiAgICB0aGlzLm9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVXaXRoT2JzZXJ2ZXJQYXVzZWQoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuc3RhcnRPYnNlcnZpbmcoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlV2l0aE9ic2VydmVyUGF1c2VkKCkge1xuICAgIGlmICghdGhpcy5vYnNlcnZlciB8fCB0aGlzLmlzT2JzZXJ2ZXJQYXVzZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzT2JzZXJ2ZXJQYXVzZWQgPSB0cnVlO1xuICAgIHRoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuXG4gICAgdHJ5IHtcbiAgICAgIHRoaXMudXBkYXRlUGFnaW5hdG9yQnV0dG9ucygpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXJ0T2JzZXJ2aW5nKCk7XG4gICAgICB0aGlzLmlzT2JzZXJ2ZXJQYXVzZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0T2JzZXJ2aW5nKCkge1xuICAgIGlmICghdGhpcy5vYnNlcnZlciB8fCAhdGhpcy5vYnNlcnZlZFBhZ2luYXRvckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm9ic2VydmVyLm9ic2VydmUodGhpcy5vYnNlcnZlZFBhZ2luYXRvckVsZW1lbnQsIHtcbiAgICAgIGF0dHJpYnV0ZXM6IHRydWUsXG4gICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ2Rpc2FibGVkJywgJ2NsYXNzJywgJ3RhYmluZGV4J11cbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Diretiva para corrigir a acessibilidade de checkboxes em tabelas PrimeNG.
|
|
5
|
+
*
|
|
6
|
+
* Propaga o `aria-label` dos custom elements wrapper (`p-tablecheckbox` e
|
|
7
|
+
* `p-tableheadercheckbox`) para os `<input type="checkbox">` internos e
|
|
8
|
+
* remove o atributo do wrapper, eliminando as violações WCAG 4.1.2:
|
|
9
|
+
* - `label` (crítica): input sem nome acessível
|
|
10
|
+
* - `aria-prohibited-attr` (séria): aria-label em custom element sem role ARIA
|
|
11
|
+
*
|
|
12
|
+
* Remove também o `aria-label` do `p-checkbox` intermediário e monitora
|
|
13
|
+
* mutations de atributo para re-aplicar o label correto caso o binding
|
|
14
|
+
* interno do PrimeNG sobrescreva o valor no input via change detection.
|
|
15
|
+
*
|
|
16
|
+
* Utiliza MutationObserver para tratar linhas adicionadas dinamicamente
|
|
17
|
+
* (paginação, lazy loading).
|
|
18
|
+
*
|
|
19
|
+
* Uso: `<p-table sTableCheckboxAccessibility ...>`
|
|
20
|
+
*/
|
|
21
|
+
export class TableCheckboxAccessibilityDirective {
|
|
22
|
+
el;
|
|
23
|
+
childListObserver = null;
|
|
24
|
+
attributeObserver = null;
|
|
25
|
+
isChildListPaused = false;
|
|
26
|
+
isAttributePaused = false;
|
|
27
|
+
observedElements = [];
|
|
28
|
+
inputLabelMap = new Map();
|
|
29
|
+
static CHECKBOX_SELECTOR = 'p-tablecheckbox, p-tableheadercheckbox';
|
|
30
|
+
static INNER_CHECKBOX_SELECTOR = 'p-checkbox';
|
|
31
|
+
static INPUT_SELECTOR = 'input[type="checkbox"]';
|
|
32
|
+
static ARIA_LABEL_ATTR = 'aria-label';
|
|
33
|
+
constructor(el) {
|
|
34
|
+
this.el = el;
|
|
35
|
+
}
|
|
36
|
+
ngOnInit() {
|
|
37
|
+
setTimeout(() => {
|
|
38
|
+
this.updateCheckboxLabels();
|
|
39
|
+
this.observeTableChanges();
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
ngOnDestroy() {
|
|
43
|
+
this.childListObserver?.disconnect();
|
|
44
|
+
this.attributeObserver?.disconnect();
|
|
45
|
+
this.inputLabelMap.clear();
|
|
46
|
+
}
|
|
47
|
+
updateCheckboxLabels() {
|
|
48
|
+
const host = this.el.nativeElement;
|
|
49
|
+
const checkboxWrappers = host.querySelectorAll(TableCheckboxAccessibilityDirective.CHECKBOX_SELECTOR);
|
|
50
|
+
checkboxWrappers.forEach((wrapper) => {
|
|
51
|
+
const wrapperAriaLabel = wrapper.getAttribute(TableCheckboxAccessibilityDirective.ARIA_LABEL_ATTR);
|
|
52
|
+
if (!wrapperAriaLabel?.trim()) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const input = wrapper.querySelector(TableCheckboxAccessibilityDirective.INPUT_SELECTOR);
|
|
56
|
+
if (!input) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
this.applyLabelToInput(input, wrapperAriaLabel);
|
|
60
|
+
wrapper.removeAttribute(TableCheckboxAccessibilityDirective.ARIA_LABEL_ATTR);
|
|
61
|
+
this.removeInnerCheckboxAriaLabel(wrapper);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
applyLabelToInput(input, label) {
|
|
65
|
+
this.inputLabelMap.set(input, label);
|
|
66
|
+
input.setAttribute(TableCheckboxAccessibilityDirective.ARIA_LABEL_ATTR, label);
|
|
67
|
+
}
|
|
68
|
+
removeInnerCheckboxAriaLabel(wrapper) {
|
|
69
|
+
const innerCheckbox = wrapper.querySelector(TableCheckboxAccessibilityDirective.INNER_CHECKBOX_SELECTOR);
|
|
70
|
+
if (innerCheckbox) {
|
|
71
|
+
innerCheckbox.removeAttribute(TableCheckboxAccessibilityDirective.ARIA_LABEL_ATTR);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
observeTableChanges() {
|
|
75
|
+
const host = this.el.nativeElement;
|
|
76
|
+
const tbody = host.querySelector('tbody');
|
|
77
|
+
const thead = host.querySelector('thead');
|
|
78
|
+
if (tbody) {
|
|
79
|
+
this.observedElements.push(tbody);
|
|
80
|
+
}
|
|
81
|
+
if (thead) {
|
|
82
|
+
this.observedElements.push(thead);
|
|
83
|
+
}
|
|
84
|
+
if (this.observedElements.length === 0) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
this.childListObserver = new MutationObserver(() => {
|
|
88
|
+
this.handleChildListMutation();
|
|
89
|
+
});
|
|
90
|
+
this.attributeObserver = new MutationObserver((mutations) => {
|
|
91
|
+
this.handleAttributeMutations(mutations);
|
|
92
|
+
});
|
|
93
|
+
this.startObserving();
|
|
94
|
+
}
|
|
95
|
+
handleAttributeMutations(mutations) {
|
|
96
|
+
if (this.isAttributePaused) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
this.isAttributePaused = true;
|
|
100
|
+
try {
|
|
101
|
+
mutations
|
|
102
|
+
.filter((m) => m.attributeName === TableCheckboxAccessibilityDirective.ARIA_LABEL_ATTR)
|
|
103
|
+
.forEach((mutation) => {
|
|
104
|
+
const target = mutation.target;
|
|
105
|
+
const tagName = target.tagName?.toLowerCase();
|
|
106
|
+
if (tagName === 'p-checkbox') {
|
|
107
|
+
target.removeAttribute(TableCheckboxAccessibilityDirective.ARIA_LABEL_ATTR);
|
|
108
|
+
}
|
|
109
|
+
else if (tagName === 'input') {
|
|
110
|
+
this.enforceInputLabel(target);
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
// Outros elementos não precisam de tratamento
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
finally {
|
|
118
|
+
this.isAttributePaused = false;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
enforceInputLabel(input) {
|
|
122
|
+
const correctLabel = this.inputLabelMap.get(input);
|
|
123
|
+
if (!correctLabel) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
const currentLabel = input.getAttribute(TableCheckboxAccessibilityDirective.ARIA_LABEL_ATTR);
|
|
127
|
+
if (currentLabel !== correctLabel) {
|
|
128
|
+
input.setAttribute(TableCheckboxAccessibilityDirective.ARIA_LABEL_ATTR, correctLabel);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
handleChildListMutation() {
|
|
132
|
+
if (!this.childListObserver || this.isChildListPaused) {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
this.isChildListPaused = true;
|
|
136
|
+
this.childListObserver.disconnect();
|
|
137
|
+
try {
|
|
138
|
+
this.updateCheckboxLabels();
|
|
139
|
+
}
|
|
140
|
+
finally {
|
|
141
|
+
this.startObserving();
|
|
142
|
+
this.isChildListPaused = false;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
startObserving() {
|
|
146
|
+
const { childListObserver, attributeObserver, observedElements } = this;
|
|
147
|
+
if (!childListObserver) {
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
observedElements.forEach((element) => {
|
|
151
|
+
childListObserver.observe(element, {
|
|
152
|
+
childList: true,
|
|
153
|
+
subtree: true,
|
|
154
|
+
});
|
|
155
|
+
if (attributeObserver) {
|
|
156
|
+
attributeObserver.observe(element, {
|
|
157
|
+
attributes: true,
|
|
158
|
+
subtree: true,
|
|
159
|
+
attributeFilter: [TableCheckboxAccessibilityDirective.ARIA_LABEL_ATTR],
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableCheckboxAccessibilityDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
165
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: TableCheckboxAccessibilityDirective, isStandalone: true, selector: "[sTableCheckboxAccessibility]", ngImport: i0 });
|
|
166
|
+
}
|
|
167
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableCheckboxAccessibilityDirective, decorators: [{
|
|
168
|
+
type: Directive,
|
|
169
|
+
args: [{
|
|
170
|
+
selector: '[sTableCheckboxAccessibility]',
|
|
171
|
+
standalone: true,
|
|
172
|
+
}]
|
|
173
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }] });
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2hlY2tib3gtYWNjZXNzaWJpbGl0eS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc2hhcmVkL3NyYy9saWIvYWNjZXNzaWJpbGl0eS90YWJsZS1jaGVja2JveC1hY2Nlc3NpYmlsaXR5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFpQyxNQUFNLGVBQWUsQ0FBQzs7QUFFekU7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBS0gsTUFBTSxPQUFPLG1DQUFtQztJQWFmO0lBWnJCLGlCQUFpQixHQUE0QixJQUFJLENBQUM7SUFDbEQsaUJBQWlCLEdBQTRCLElBQUksQ0FBQztJQUNsRCxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDMUIsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLGdCQUFnQixHQUFjLEVBQUUsQ0FBQztJQUNqQyxhQUFhLEdBQUcsSUFBSSxHQUFHLEVBQW1CLENBQUM7SUFFcEQsTUFBTSxDQUFVLGlCQUFpQixHQUFHLHdDQUF3QyxDQUFDO0lBQzdFLE1BQU0sQ0FBVSx1QkFBdUIsR0FBRyxZQUFZLENBQUM7SUFDdkQsTUFBTSxDQUFVLGNBQWMsR0FBRyx3QkFBd0IsQ0FBQztJQUMxRCxNQUFNLENBQVUsZUFBZSxHQUFHLFlBQVksQ0FBQztJQUV2RCxZQUE2QixFQUEyQjtRQUEzQixPQUFFLEdBQUYsRUFBRSxDQUF5QjtJQUFHLENBQUM7SUFFNUQsUUFBUTtRQUNKLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxDQUFDO1FB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QUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzt3R0FwS1EsbUNBQW1DOzRGQUFuQyxtQ0FBbUM7OzRGQUFuQyxtQ0FBbUM7a0JBSi9DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLCtCQUErQjtvQkFDekMsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIERpcmV0aXZhIHBhcmEgY29ycmlnaXIgYSBhY2Vzc2liaWxpZGFkZSBkZSBjaGVja2JveGVzIGVtIHRhYmVsYXMgUHJpbWVORy5cbiAqXG4gKiBQcm9wYWdhIG8gYGFyaWEtbGFiZWxgIGRvcyBjdXN0b20gZWxlbWVudHMgd3JhcHBlciAoYHAtdGFibGVjaGVja2JveGAgZVxuICogYHAtdGFibGVoZWFkZXJjaGVja2JveGApIHBhcmEgb3MgYDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIj5gIGludGVybm9zIGVcbiAqIHJlbW92ZSBvIGF0cmlidXRvIGRvIHdyYXBwZXIsIGVsaW1pbmFuZG8gYXMgdmlvbGHDp8O1ZXMgV0NBRyA0LjEuMjpcbiAqIC0gYGxhYmVsYCAoY3LDrXRpY2EpOiBpbnB1dCBzZW0gbm9tZSBhY2Vzc8OtdmVsXG4gKiAtIGBhcmlhLXByb2hpYml0ZWQtYXR0cmAgKHPDqXJpYSk6IGFyaWEtbGFiZWwgZW0gY3VzdG9tIGVsZW1lbnQgc2VtIHJvbGUgQVJJQVxuICpcbiAqIFJlbW92ZSB0YW1iw6ltIG8gYGFyaWEtbGFiZWxgIGRvIGBwLWNoZWNrYm94YCBpbnRlcm1lZGnDoXJpbyBlIG1vbml0b3JhXG4gKiBtdXRhdGlvbnMgZGUgYXRyaWJ1dG8gcGFyYSByZS1hcGxpY2FyIG8gbGFiZWwgY29ycmV0byBjYXNvIG8gYmluZGluZ1xuICogaW50ZXJubyBkbyBQcmltZU5HIHNvYnJlc2NyZXZhIG8gdmFsb3Igbm8gaW5wdXQgdmlhIGNoYW5nZSBkZXRlY3Rpb24uXG4gKlxuICogVXRpbGl6YSBNdXRhdGlvbk9ic2VydmVyIHBhcmEgdHJhdGFyIGxpbmhhcyBhZGljaW9uYWRhcyBkaW5hbWljYW1lbnRlXG4gKiAocGFnaW5hw6fDo28sIGxhenkgbG9hZGluZykuXG4gKlxuICogVXNvOiBgPHAtdGFibGUgc1RhYmxlQ2hlY2tib3hBY2Nlc3NpYmlsaXR5IC4uLj5gXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3NUYWJsZUNoZWNrYm94QWNjZXNzaWJpbGl0eV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ2hlY2tib3hBY2Nlc3NpYmlsaXR5RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgY2hpbGRMaXN0T2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIGF0dHJpYnV0ZU9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyIHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSBpc0NoaWxkTGlzdFBhdXNlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgaXNBdHRyaWJ1dGVQYXVzZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9ic2VydmVkRWxlbWVudHM6IEVsZW1lbnRbXSA9IFtdO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRMYWJlbE1hcCA9IG5ldyBNYXA8RWxlbWVudCwgc3RyaW5nPigpO1xuXG4gICAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgQ0hFQ0tCT1hfU0VMRUNUT1IgPSAncC10YWJsZWNoZWNrYm94LCBwLXRhYmxlaGVhZGVyY2hlY2tib3gnO1xuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IElOTkVSX0NIRUNLQk9YX1NFTEVDVE9SID0gJ3AtY2hlY2tib3gnO1xuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IElOUFVUX1NFTEVDVE9SID0gJ2lucHV0W3R5cGU9XCJjaGVja2JveFwiXSc7XG4gICAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgQVJJQV9MQUJFTF9BVFRSID0gJ2FyaWEtbGFiZWwnO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNoZWNrYm94TGFiZWxzKCk7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVUYWJsZUNoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuY2hpbGRMaXN0T2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgdGhpcy5hdHRyaWJ1dGVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgICB0aGlzLmlucHV0TGFiZWxNYXAuY2xlYXIoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNoZWNrYm94TGFiZWxzKCkge1xuICAgICAgICBjb25zdCBob3N0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBjaGVja2JveFdyYXBwZXJzID0gaG9zdC5xdWVyeVNlbGVjdG9yQWxsKFRhYmxlQ2hlY2tib3hBY2Nlc3NpYmlsaXR5RGlyZWN0aXZlLkNIRUNLQk9YX1NFTEVDVE9SKTtcblxuICAgICAgICBjaGVja2JveFdyYXBwZXJzLmZvckVhY2goKHdyYXBwZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHdyYXBwZXJBcmlhTGFiZWwgPSB3cmFwcGVyLmdldEF0dHJpYnV0ZShUYWJsZUNoZWNrYm94QWNjZXNzaWJpbGl0eURpcmVjdGl2ZS5BUklBX0xBQkVMX0FUVFIpO1xuICAgICAgICAgICAgaWYgKCF3cmFwcGVyQXJpYUxhYmVsPy50cmltKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGlucHV0ID0gd3JhcHBlci5xdWVyeVNlbGVjdG9yKFRhYmxlQ2hlY2tib3hBY2Nlc3NpYmlsaXR5RGlyZWN0aXZlLklOUFVUX1NFTEVDVE9SKTtcbiAgICAgICAgICAgIGlmICghaW5wdXQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuYXBwbHlMYWJlbFRvSW5wdXQoaW5wdXQsIHdyYXBwZXJBcmlhTGFiZWwpO1xuICAgICAgICAgICAgd3JhcHBlci5yZW1vdmVBdHRyaWJ1dGUoVGFibGVDaGVja2JveEFjY2Vzc2liaWxpdHlEaXJlY3RpdmUuQVJJQV9MQUJFTF9BVFRSKTtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlSW5uZXJDaGVja2JveEFyaWFMYWJlbCh3cmFwcGVyKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseUxhYmVsVG9JbnB1dChpbnB1dDogRWxlbWVudCwgbGFiZWw6IHN0cmluZykge1xuICAgICAgICB0aGlzLmlucHV0TGFiZWxNYXAuc2V0KGlucHV0LCBsYWJlbCk7XG4gICAgICAgIGlucHV0LnNldEF0dHJpYnV0ZShUYWJsZUNoZWNrYm94QWNjZXNzaWJpbGl0eURpcmVjdGl2ZS5BUklBX0xBQkVMX0FUVFIsIGxhYmVsKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZUlubmVyQ2hlY2tib3hBcmlhTGFiZWwod3JhcHBlcjogRWxlbWVudCkge1xuICAgICAgICBjb25zdCBpbm5lckNoZWNrYm94ID0gd3JhcHBlci5xdWVyeVNlbGVjdG9yKFRhYmxlQ2hlY2tib3hBY2Nlc3NpYmlsaXR5RGlyZWN0aXZlLklOTkVSX0NIRUNLQk9YX1NFTEVDVE9SKTtcbiAgICAgICAgaWYgKGlubmVyQ2hlY2tib3gpIHtcbiAgICAgICAgICAgIGlubmVyQ2hlY2tib3gucmVtb3ZlQXR0cmlidXRlKFRhYmxlQ2hlY2tib3hBY2Nlc3NpYmlsaXR5RGlyZWN0aXZlLkFSSUFfTEFCRUxfQVRUUik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG9ic2VydmVUYWJsZUNoYW5nZXMoKSB7XG4gICAgICAgIGNvbnN0IGhvc3QgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHRib2R5ID0gaG9zdC5xdWVyeVNlbGVjdG9yKCd0Ym9keScpO1xuICAgICAgICBjb25zdCB0aGVhZCA9IGhvc3QucXVlcnlTZWxlY3RvcigndGhlYWQnKTtcblxuICAgICAgICBpZiAodGJvZHkpIHtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZWRFbGVtZW50cy5wdXNoKHRib2R5KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhlYWQpIHtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZWRFbGVtZW50cy5wdXNoKHRoZWFkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm9ic2VydmVkRWxlbWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNoaWxkTGlzdE9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVDaGlsZExpc3RNdXRhdGlvbigpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmF0dHJpYnV0ZU9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9ucykgPT4ge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVBdHRyaWJ1dGVNdXRhdGlvbnMobXV0YXRpb25zKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5zdGFydE9ic2VydmluZygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlQXR0cmlidXRlTXV0YXRpb25zKG11dGF0aW9uczogTXV0YXRpb25SZWNvcmRbXSkge1xuICAgICAgICBpZiAodGhpcy5pc0F0dHJpYnV0ZVBhdXNlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc0F0dHJpYnV0ZVBhdXNlZCA9IHRydWU7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIG11dGF0aW9uc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoKG0pID0+IG0uYXR0cmlidXRlTmFtZSA9PT0gVGFibGVDaGVja2JveEFjY2Vzc2liaWxpdHlEaXJlY3RpdmUuQVJJQV9MQUJFTF9BVFRSKVxuICAgICAgICAgICAgICAgIC5mb3JFYWNoKChtdXRhdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBtdXRhdGlvbi50YXJnZXQgYXMgRWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnTmFtZSA9IHRhcmdldC50YWdOYW1lPy50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0YWdOYW1lID09PSAncC1jaGVja2JveCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldC5yZW1vdmVBdHRyaWJ1dGUoVGFibGVDaGVja2JveEFjY2Vzc2liaWxpdHlEaXJlY3RpdmUuQVJJQV9MQUJFTF9BVFRSKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0YWdOYW1lID09PSAnaW5wdXQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVuZm9yY2VJbnB1dExhYmVsKHRhcmdldCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBPdXRyb3MgZWxlbWVudG9zIG7Do28gcHJlY2lzYW0gZGUgdHJhdGFtZW50b1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICB0aGlzLmlzQXR0cmlidXRlUGF1c2VkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGVuZm9yY2VJbnB1dExhYmVsKGlucHV0OiBFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IGNvcnJlY3RMYWJlbCA9IHRoaXMuaW5wdXRMYWJlbE1hcC5nZXQoaW5wdXQpO1xuICAgICAgICBpZiAoIWNvcnJlY3RMYWJlbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY3VycmVudExhYmVsID0gaW5wdXQuZ2V0QXR0cmlidXRlKFRhYmxlQ2hlY2tib3hBY2Nlc3NpYmlsaXR5RGlyZWN0aXZlLkFSSUFfTEFCRUxfQVRUUik7XG4gICAgICAgIGlmIChjdXJyZW50TGFiZWwgIT09IGNvcnJlY3RMYWJlbCkge1xuICAgICAgICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKFRhYmxlQ2hlY2tib3hBY2Nlc3NpYmlsaXR5RGlyZWN0aXZlLkFSSUFfTEFCRUxfQVRUUiwgY29ycmVjdExhYmVsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlQ2hpbGRMaXN0TXV0YXRpb24oKSB7XG4gICAgICAgIGlmICghdGhpcy5jaGlsZExpc3RPYnNlcnZlciB8fCB0aGlzLmlzQ2hpbGRMaXN0UGF1c2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzQ2hpbGRMaXN0UGF1c2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5jaGlsZExpc3RPYnNlcnZlci5kaXNjb25uZWN0KCk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2hlY2tib3hMYWJlbHMoKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIHRoaXMuc3RhcnRPYnNlcnZpbmcoKTtcbiAgICAgICAgICAgIHRoaXMuaXNDaGlsZExpc3RQYXVzZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc3RhcnRPYnNlcnZpbmcoKSB7XG4gICAgICAgIGNvbnN0IHsgY2hpbGRMaXN0T2JzZXJ2ZXIsIGF0dHJpYnV0ZU9ic2VydmVyLCBvYnNlcnZlZEVsZW1lbnRzIH0gPSB0aGlzO1xuXG4gICAgICAgIGlmICghY2hpbGRMaXN0T2JzZXJ2ZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIG9ic2VydmVkRWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgY2hpbGRMaXN0T2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50LCB7XG4gICAgICAgICAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICAgICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZU9ic2VydmVyKSB7XG4gICAgICAgICAgICAgICAgYXR0cmlidXRlT2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50LCB7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZUZpbHRlcjogW1RhYmxlQ2hlY2tib3hBY2Nlc3NpYmlsaXR5RGlyZWN0aXZlLkFSSUFfTEFCRUxfQVRUUl0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
export { EnumSeverity } from
|
|
2
|
-
export { BorderButtonComponent } from
|
|
3
|
-
export { BorderButtonModule } from
|
|
1
|
+
export { EnumSeverity } from './lib/shared/models/severities';
|
|
2
|
+
export { BorderButtonComponent } from './lib/shared/border-button/border-button.component';
|
|
3
|
+
export { BorderButtonModule } from './lib/shared/border-button/border-button.module';
|
|
4
4
|
export * from './lib/shared/helpers';
|
|
5
|
-
|
|
5
|
+
export { PaginatorAccessibilityDirective } from './lib/accessibility/paginator-accessibility.directive';
|
|
6
|
+
export { TableCheckboxAccessibilityDirective } from './lib/accessibility/table-checkbox-accessibility.directive';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zaGFyZWQvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3JGLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDeEcsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sNERBQTRELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSB7IEJvcmRlckJ1dHRvbk9wdGlvbnMgfSBmcm9tICcuL2xpYi9zaGFyZWQvbW9kZWxzL2JvcmRlci1idXR0b24tb3B0aW9ucyc7XG5leHBvcnQgdHlwZSB7IFNldmVyaXRpZXMgfSBmcm9tICcuL2xpYi9zaGFyZWQvbW9kZWxzL3NldmVyaXRpZXMnO1xuZXhwb3J0IHsgRW51bVNldmVyaXR5IH0gZnJvbSAnLi9saWIvc2hhcmVkL21vZGVscy9zZXZlcml0aWVzJztcbmV4cG9ydCB7IEJvcmRlckJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vbGliL3NoYXJlZC9ib3JkZXItYnV0dG9uL2JvcmRlci1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCB7IEJvcmRlckJ1dHRvbk1vZHVsZSB9IGZyb20gJy4vbGliL3NoYXJlZC9ib3JkZXItYnV0dG9uL2JvcmRlci1idXR0b24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9oZWxwZXJzJztcbmV4cG9ydCB7IFBhZ2luYXRvckFjY2Vzc2liaWxpdHlEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9hY2Nlc3NpYmlsaXR5L3BhZ2luYXRvci1hY2Nlc3NpYmlsaXR5LmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBUYWJsZUNoZWNrYm94QWNjZXNzaWJpbGl0eURpcmVjdGl2ZSB9IGZyb20gJy4vbGliL2FjY2Vzc2liaWxpdHkvdGFibGUtY2hlY2tib3gtYWNjZXNzaWJpbGl0eS5kaXJlY3RpdmUnO1xuXG4iXX0=
|
|
@@ -17,12 +17,14 @@ import * as i1 from "@angular/common";
|
|
|
17
17
|
export class SwitchComponent {
|
|
18
18
|
/** @description Impede alterações pelo usuário sem desabilitar o campo. @default false */
|
|
19
19
|
readonly = false;
|
|
20
|
-
/** @description Rótulo exibido quando o valor é `true`. */
|
|
21
|
-
trueLabel;
|
|
22
|
-
/** @description Rótulo exibido quando o valor é `false`. */
|
|
23
|
-
falseLabel;
|
|
20
|
+
/** @description Rótulo exibido quando o valor é `true`. @default 'Ligado' */
|
|
21
|
+
trueLabel = 'Ligado';
|
|
22
|
+
/** @description Rótulo exibido quando o valor é `false`. @default 'Desligado' */
|
|
23
|
+
falseLabel = 'Desligado';
|
|
24
24
|
/** @description `id` do elemento `<input>` interno para associação com `<label>`. */
|
|
25
25
|
inputId;
|
|
26
|
+
/** @description Nome acessível descritivo do switch para tecnologias assistivas (aria-label). */
|
|
27
|
+
label;
|
|
26
28
|
/** @description Atributo `name` do `<input>` interno. */
|
|
27
29
|
inputName;
|
|
28
30
|
/** @description Desabilita o componente, impedindo interação e alterações. @default false */
|
|
@@ -31,6 +33,8 @@ export class SwitchComponent {
|
|
|
31
33
|
valueChanged = new EventEmitter();
|
|
32
34
|
/** @description Valor atual do switch. @default false */
|
|
33
35
|
value = false;
|
|
36
|
+
/** @description Controla se deve ou não exibir o value do componente. @default true */
|
|
37
|
+
showStatusLabel = true;
|
|
34
38
|
switchRef;
|
|
35
39
|
_onChange;
|
|
36
40
|
_onTouched;
|
|
@@ -57,6 +61,9 @@ export class SwitchComponent {
|
|
|
57
61
|
this.disabled = disabled;
|
|
58
62
|
}
|
|
59
63
|
toggleCheck() {
|
|
64
|
+
if (this.readonly) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
60
67
|
this.value = !this.value;
|
|
61
68
|
this.valueChanged.emit(this.value);
|
|
62
69
|
if (this._onChange) {
|
|
@@ -67,13 +74,13 @@ export class SwitchComponent {
|
|
|
67
74
|
}
|
|
68
75
|
}
|
|
69
76
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SwitchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
70
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
77
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SwitchComponent, selector: "s-switch", inputs: { readonly: "readonly", trueLabel: "trueLabel", falseLabel: "falseLabel", inputId: "inputId", label: "label", inputName: "inputName", disabled: "disabled", value: "value", showStatusLabel: "showStatusLabel" }, outputs: { valueChanged: "valueChanged" }, host: { listeners: { "focusin": "onFocusIn()", "focusout": "onFocusOut()" } }, providers: [
|
|
71
78
|
{
|
|
72
79
|
provide: NG_VALUE_ACCESSOR,
|
|
73
80
|
useExisting: forwardRef(() => SwitchComponent),
|
|
74
81
|
multi: true,
|
|
75
82
|
},
|
|
76
|
-
], viewQueries: [{ propertyName: "switchRef", first: true, predicate: ["switch"], descendants: true, static: true }], ngImport: i0, template: "<div\n #switch\n class=\"switch\"\n [ngClass]=\"{ 'switch--disabled': disabled }\"\n>\n <label class=\"switch-toggle\">\n <input\n #input\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"checkbox\"\n [checked]=\"value\"\n [disabled]=\"readonly ||
|
|
83
|
+
], viewQueries: [{ propertyName: "switchRef", first: true, predicate: ["switch"], descendants: true, static: true }], ngImport: i0, template: "<div\n #switch\n class=\"switch\"\n [ngClass]=\"{ 'switch--disabled': disabled }\"\n [attr.aria-disabled]=\"disabled || null\"\n>\n <label class=\"switch-toggle\">\n <input\n #input\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"checkbox\"\n role=\"switch\"\n [attr.aria-checked]=\"value\"\n [attr.aria-label]=\"label || null\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [attr.aria-readonly]=\"readonly || null\"\n (change)=\"toggleCheck()\"\n />\n <span\n class=\"slider\"\n aria-hidden=\"true\"\n ></span>\n </label>\n @if (showStatusLabel) {\n <span class=\"label\">{{ value ? trueLabel : falseLabel }}</span>\n }\n</div>\n\n", styles: [".switch{display:inline-flex;align-items:center}.switch .switch-toggle{display:inline-block;height:24px;margin:0;position:relative;width:40px}.switch .switch-toggle input{height:0;opacity:0;width:0}.switch .switch-toggle input:focus-visible+.slider{box-shadow:0 0 0 2px #000;outline:2px solid #000;outline-offset:1px}.switch .switch-toggle input:checked+.slider{background-color:#428bca;border-radius:15px}.switch .switch-toggle input:checked+.slider:before{transform:translate(16px)}.switch .switch-toggle .slider{background-color:#a5a5b2;border-radius:15px;cursor:pointer;inset:0;position:absolute;transition:.4s}.switch .switch-toggle .slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:\"\";height:16px;left:4px;position:absolute;transition:.4s;width:16px}.switch .label{color:#212533;font-family:\"Open Sans\" sans-serif;font-size:.875rem;font-weight:400;line-height:150%;margin-left:12px}.switch .label.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.switch--disabled{opacity:.5}.switch--focus .switch-toggle .slider{box-shadow:0 0 0 2px #428bca80}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
77
84
|
}
|
|
78
85
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SwitchComponent, decorators: [{
|
|
79
86
|
type: Component,
|
|
@@ -83,7 +90,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
83
90
|
useExisting: forwardRef(() => SwitchComponent),
|
|
84
91
|
multi: true,
|
|
85
92
|
},
|
|
86
|
-
], template: "<div\n #switch\n class=\"switch\"\n [ngClass]=\"{ 'switch--disabled': disabled }\"\n>\n <label class=\"switch-toggle\">\n <input\n #input\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"checkbox\"\n [checked]=\"value\"\n [disabled]=\"readonly ||
|
|
93
|
+
], template: "<div\n #switch\n class=\"switch\"\n [ngClass]=\"{ 'switch--disabled': disabled }\"\n [attr.aria-disabled]=\"disabled || null\"\n>\n <label class=\"switch-toggle\">\n <input\n #input\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"checkbox\"\n role=\"switch\"\n [attr.aria-checked]=\"value\"\n [attr.aria-label]=\"label || null\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [attr.aria-readonly]=\"readonly || null\"\n (change)=\"toggleCheck()\"\n />\n <span\n class=\"slider\"\n aria-hidden=\"true\"\n ></span>\n </label>\n @if (showStatusLabel) {\n <span class=\"label\">{{ value ? trueLabel : falseLabel }}</span>\n }\n</div>\n\n", styles: [".switch{display:inline-flex;align-items:center}.switch .switch-toggle{display:inline-block;height:24px;margin:0;position:relative;width:40px}.switch .switch-toggle input{height:0;opacity:0;width:0}.switch .switch-toggle input:focus-visible+.slider{box-shadow:0 0 0 2px #000;outline:2px solid #000;outline-offset:1px}.switch .switch-toggle input:checked+.slider{background-color:#428bca;border-radius:15px}.switch .switch-toggle input:checked+.slider:before{transform:translate(16px)}.switch .switch-toggle .slider{background-color:#a5a5b2;border-radius:15px;cursor:pointer;inset:0;position:absolute;transition:.4s}.switch .switch-toggle .slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:\"\";height:16px;left:4px;position:absolute;transition:.4s;width:16px}.switch .label{color:#212533;font-family:\"Open Sans\" sans-serif;font-size:.875rem;font-weight:400;line-height:150%;margin-left:12px}.switch .label.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.switch--disabled{opacity:.5}.switch--focus .switch-toggle .slider{box-shadow:0 0 0 2px #428bca80}\n"] }]
|
|
87
94
|
}], propDecorators: { readonly: [{
|
|
88
95
|
type: Input
|
|
89
96
|
}], trueLabel: [{
|
|
@@ -92,6 +99,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
92
99
|
type: Input
|
|
93
100
|
}], inputId: [{
|
|
94
101
|
type: Input
|
|
102
|
+
}], label: [{
|
|
103
|
+
type: Input
|
|
95
104
|
}], inputName: [{
|
|
96
105
|
type: Input
|
|
97
106
|
}], disabled: [{
|
|
@@ -100,6 +109,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
100
109
|
type: Output
|
|
101
110
|
}], value: [{
|
|
102
111
|
type: Input
|
|
112
|
+
}], showStatusLabel: [{
|
|
113
|
+
type: Input
|
|
103
114
|
}], switchRef: [{
|
|
104
115
|
type: ViewChild,
|
|
105
116
|
args: ['switch', { static: true }]
|
|
@@ -110,4 +121,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
110
121
|
type: HostListener,
|
|
111
122
|
args: ['focusout']
|
|
112
123
|
}] } });
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zd2l0Y2gvc3JjL2xpYi9zd2l0Y2gvc3dpdGNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zd2l0Y2gvc3JjL2xpYi9zd2l0Y2gvc3dpdGNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFekU7Ozs7Ozs7Ozs7O0dBV0c7QUFhSCxNQUFNLE9BQU8sZUFBZTtJQUN4QiwwRkFBMEY7SUFFbkYsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUV4Qiw2RUFBNkU7SUFFdEUsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUU1QixpRkFBaUY7SUFFMUUsVUFBVSxHQUFHLFdBQVcsQ0FBQztJQUVoQyxxRkFBcUY7SUFFOUUsT0FBTyxDQUFVO0lBQ3hCLGlHQUFpRztJQUUxRixLQUFLLENBQVU7SUFFdEIseURBQXlEO0lBRWxELFNBQVMsQ0FBVTtJQUUxQiw2RkFBNkY7SUFFdEYsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUV4QixzRkFBc0Y7SUFFL0UsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFFbEQseURBQXlEO0lBRWxELEtBQUssR0FBRyxLQUFLLENBQUM7SUFFckIsdUZBQXVGO0lBRWhGLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFHdkIsU0FBUyxDQUFjO0lBRXRCLFNBQVMsQ0FBNEI7SUFDckMsVUFBVSxDQUE0QjtJQUd2QyxTQUFTO1FBQ1osTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUErQixDQUFDO1FBQ3JFLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFHTSxVQUFVO1FBQ2IsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUErQixDQUFDO1FBQ3JFLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTSxVQUFVLENBQUMsS0FBYztRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUM7SUFDTCxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsUUFBa0M7UUFDdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDOUIsQ0FBQztJQUVNLGlCQUFpQixDQUFDLFNBQW1DO1FBQ3hELElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxnQkFBZ0IsQ0FBRSxRQUFpQjtRQUN0QyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5DLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9CLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0wsQ0FBQzt3R0ExRlEsZUFBZTs0RkFBZixlQUFlLHVYQVJiO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0JBQzlDLEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSiw2SUN6QkwsMjBCQThCQTs7NEZESGEsZUFBZTtrQkFaM0IsU0FBUzsrQkFDSSxVQUFVLGFBR1Q7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7NEJBQzlDLEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKOzhCQUtNLFFBQVE7c0JBRGQsS0FBSztnQkFLQyxTQUFTO3NCQURmLEtBQUs7Z0JBS0MsVUFBVTtzQkFEaEIsS0FBSztnQkFLQyxPQUFPO3NCQURiLEtBQUs7Z0JBSUMsS0FBSztzQkFEWCxLQUFLO2dCQUtDLFNBQVM7c0JBRGYsS0FBSztnQkFLQyxRQUFRO3NCQURkLEtBQUs7Z0JBS0MsWUFBWTtzQkFEbEIsTUFBTTtnQkFLQSxLQUFLO3NCQURYLEtBQUs7Z0JBS0MsZUFBZTtzQkFEckIsS0FBSztnQkFJQyxTQUFTO3NCQURmLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFPOUIsU0FBUztzQkFEZixZQUFZO3VCQUFDLFNBQVM7Z0JBT2hCLFVBQVU7c0JBRGhCLFlBQVk7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDb21wb25lbnRlIGRlIGNoYXZlIHRpcG8gc3dpdGNoIChsaWdhL2Rlc2xpZ2EpIHF1ZSBpbXBsZW1lbnRhXG4gKiBgQ29udHJvbFZhbHVlQWNjZXNzb3JgIHBhcmEgdXNvIGVtIGZvcm11bMOhcmlvcyBBbmd1bGFyLiBTdXBvcnRhIHLDs3R1bG9zXG4gKiBwZXJzb25hbGl6YWRvcyBwYXJhIG9zIGVzdGFkb3MgdmVyZGFkZWlybyBlIGZhbHNvLCBhbMOpbSBkZSBtb2RvIHNvbWVudGUgbGVpdHVyYS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHMtc3dpdGNoIGZvcm1Db250cm9sTmFtZT1cImF0aXZvXCIgdHJ1ZUxhYmVsPVwiQXRpdm9cIiBmYWxzZUxhYmVsPVwiSW5hdGl2b1wiIC8+XG4gKiBgYGBcbiAqXG4gKiBAY2F0ZWdvcnkgSW5wdXRzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncy1zd2l0Y2gnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zd2l0Y2guY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N3aXRjaC5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFN3aXRjaENvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTd2l0Y2hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgLyoqIEBkZXNjcmlwdGlvbiBJbXBlZGUgYWx0ZXJhw6fDtWVzIHBlbG8gdXN1w6FyaW8gc2VtIGRlc2FiaWxpdGFyIG8gY2FtcG8uIEBkZWZhdWx0IGZhbHNlICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgPSBmYWxzZTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gUsOzdHVsbyBleGliaWRvIHF1YW5kbyBvIHZhbG9yIMOpIGB0cnVlYC4gQGRlZmF1bHQgJ0xpZ2FkbycgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0cnVlTGFiZWwgPSAnTGlnYWRvJztcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gUsOzdHVsbyBleGliaWRvIHF1YW5kbyBvIHZhbG9yIMOpIGBmYWxzZWAuIEBkZWZhdWx0ICdEZXNsaWdhZG8nICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZmFsc2VMYWJlbCA9ICdEZXNsaWdhZG8nO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBgaWRgIGRvIGVsZW1lbnRvIGA8aW5wdXQ+YCBpbnRlcm5vIHBhcmEgYXNzb2NpYcOnw6NvIGNvbSBgPGxhYmVsPmAuICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaW5wdXRJZD86IHN0cmluZztcbiAgICAvKiogQGRlc2NyaXB0aW9uIE5vbWUgYWNlc3PDrXZlbCBkZXNjcml0aXZvIGRvIHN3aXRjaCBwYXJhIHRlY25vbG9naWFzIGFzc2lzdGl2YXMgKGFyaWEtbGFiZWwpLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxhYmVsPzogc3RyaW5nO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBBdHJpYnV0byBgbmFtZWAgZG8gYDxpbnB1dD5gIGludGVybm8uICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaW5wdXROYW1lPzogc3RyaW5nO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBEZXNhYmlsaXRhIG8gY29tcG9uZW50ZSwgaW1wZWRpbmRvIGludGVyYcOnw6NvIGUgYWx0ZXJhw6fDtWVzLiBAZGVmYXVsdCBmYWxzZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIG8gdmFsb3IgZG8gc3dpdGNoIG11ZGEsIGNvbSBvIG5vdm8gZXN0YWRvIGJvb2xlYW5vLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyB2YWx1ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIFZhbG9yIGF0dWFsIGRvIHN3aXRjaC4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB2YWx1ZSA9IGZhbHNlO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBDb250cm9sYSBzZSBkZXZlIG91IG7Do28gZXhpYmlyIG8gdmFsdWUgZG8gY29tcG9uZW50ZS4gQGRlZmF1bHQgdHJ1ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNob3dTdGF0dXNMYWJlbCA9IHRydWU7XG5cbiAgICBAVmlld0NoaWxkKCdzd2l0Y2gnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHB1YmxpYyBzd2l0Y2hSZWYhOiBFbGVtZW50UmVmO1xuXG4gICAgcHJpdmF0ZSBfb25DaGFuZ2U/OiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgcHJpdmF0ZSBfb25Ub3VjaGVkPzogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXNpbicpXG4gICAgcHVibGljIG9uRm9jdXNJbigpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc3dpdGNoRWxlbWVudCA9IHRoaXMuc3dpdGNoUmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTERpdkVsZW1lbnQ7XG4gICAgICAgIHN3aXRjaEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnc3dpdGNoLS1mb2N1cycpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JylcbiAgICBwdWJsaWMgb25Gb2N1c091dCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc3dpdGNoRWxlbWVudCA9IHRoaXMuc3dpdGNoUmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTERpdkVsZW1lbnQ7XG4gICAgICAgIHN3aXRjaEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnc3dpdGNoLS1mb2N1cycpO1xuICAgIH1cblxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vbkNoYW5nZSA9IG9uQ2hhbmdlO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vblRvdWNoZWQgPSBvblRvdWNoZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIHNldERpc2FibGVkU3RhdGU/KGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9nZ2xlQ2hlY2soKSB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRvbmx5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy52YWx1ZSA9ICF0aGlzLnZhbHVlO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlZC5lbWl0KHRoaXMudmFsdWUpO1xuXG4gICAgICAgIGlmICh0aGlzLl9vbkNoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5fb25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5fb25Ub3VjaGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9vblRvdWNoZWQodGhpcy52YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIjxkaXZcbiAgICAjc3dpdGNoXG4gICAgY2xhc3M9XCJzd2l0Y2hcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ3N3aXRjaC0tZGlzYWJsZWQnOiBkaXNhYmxlZCB9XCJcbiAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkIHx8IG51bGxcIlxuPlxuICAgIDxsYWJlbCBjbGFzcz1cInN3aXRjaC10b2dnbGVcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAjaW5wdXRcbiAgICAgICAgICAgIFtpZF09XCJpbnB1dElkXCJcbiAgICAgICAgICAgIFtuYW1lXT1cImlucHV0TmFtZVwiXG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgcm9sZT1cInN3aXRjaFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwidmFsdWVcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbCB8fCBudWxsXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cInZhbHVlXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLXJlYWRvbmx5XT1cInJlYWRvbmx5IHx8IG51bGxcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVDaGVjaygpXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwic2xpZGVyXCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgID48L3NwYW4+XG4gICAgPC9sYWJlbD5cbiAgICBAaWYgKHNob3dTdGF0dXNMYWJlbCkge1xuICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCI+e3sgdmFsdWUgPyB0cnVlTGFiZWwgOiBmYWxzZUxhYmVsIH19PC9zcGFuPlxuICAgIH1cbjwvZGl2PlxuXG4iXX0=
|
|
@@ -295,7 +295,7 @@ export class TablePagingComponent {
|
|
|
295
295
|
return tableData;
|
|
296
296
|
}
|
|
297
297
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TablePagingComponent, deps: [{ token: i1.TranslateService }, { token: HostProjectConfigsInjectionToken }], target: i0.ɵɵFactoryTarget.Component });
|
|
298
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TablePagingComponent, selector: "s-table-paging", inputs: { totalRecords: "totalRecords", exportFileName: "exportFileName", table: "table", exportable: "exportable", enableExportSelectedRecords: "enableExportSelectedRecords", customActions: "customActions", loadAllRecords: "loadAllRecords", loadCurrentPageRecords: "loadCurrentPageRecords", loadSelectedRecords: "loadSelectedRecords" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"paging-container\">\n <span class=\"total-records\">\n {{ totalRecordsText }}\n </span>\n @if (exportable) {\n <s-button\n class=\"export-button\"\n priority=\"default\"\n iconClass=\"fa fa-fw fa-file-export\"\n [disabled]=\"false\"\n [auxiliary]=\"true\"\n [tooltip]=\"getTooltipText()\"\n [menuOptions]=\"getActions()\"\n >\n </s-button>\n }\n</div>\n", styles: [".paging-container{display:flex;align-items:center}.export-button{margin-left:6px}\n"], dependencies: [{ kind: "component", type: i2.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "
|
|
298
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TablePagingComponent, selector: "s-table-paging", inputs: { totalRecords: "totalRecords", exportFileName: "exportFileName", table: "table", exportable: "exportable", enableExportSelectedRecords: "enableExportSelectedRecords", customActions: "customActions", loadAllRecords: "loadAllRecords", loadCurrentPageRecords: "loadCurrentPageRecords", loadSelectedRecords: "loadSelectedRecords" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"paging-container\">\n <span class=\"total-records\">\n {{ totalRecordsText }}\n </span>\n @if (exportable) {\n <s-button\n class=\"export-button\"\n priority=\"default\"\n iconClass=\"fa fa-fw fa-file-export\"\n [disabled]=\"false\"\n [auxiliary]=\"true\"\n [tooltip]=\"getTooltipText()\"\n [menuOptions]=\"getActions()\"\n >\n </s-button>\n }\n</div>\n", styles: [".paging-container{display:flex;align-items:center}.export-button{margin-left:6px}\n"], dependencies: [{ kind: "component", type: i2.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor", "menuAriaLabel"], outputs: ["clicked"] }] });
|
|
299
299
|
}
|
|
300
300
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TablePagingComponent, decorators: [{
|
|
301
301
|
type: Component,
|
|
@@ -3,4 +3,5 @@ export * from './lib/table/row-toggler/row-toggler.directive';
|
|
|
3
3
|
export * from './lib/table/table-column/index';
|
|
4
4
|
export * from './lib/table/table-paging/index';
|
|
5
5
|
export * from './lib/table/table.module';
|
|
6
|
-
|
|
6
|
+
export { ExportUtils } from './lib/table/export-utils';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy90YWJsZS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvdGFibGUvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJsZS9yb3ctdG9nZ2xlci9yb3ctdG9nZ2xlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFibGUvdGFibGUtY29sdW1uL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYmxlL3RhYmxlLXBhZ2luZy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJsZS90YWJsZS5tb2R1bGUnO1xuZXhwb3J0IHsgRXhwb3J0VXRpbHMgfSBmcm9tICcuL2xpYi90YWJsZS9leHBvcnQtdXRpbHMnO1xuIl19
|