mapa-library-ui 0.0.22 → 0.0.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/esm2020/lib/core/elements/element-base.mjs +2 -1
  2. package/esm2020/lib/core/elements/element-search.mjs +2 -0
  3. package/esm2020/public-api.mjs +2 -1
  4. package/esm2020/src/lib/components/capability/lib/components/filters/src/filters.component.mjs +2 -2
  5. package/esm2020/src/lib/components/dropdown/dropdown.mjs +8 -0
  6. package/esm2020/src/lib/components/dropdown/lib/components/dropdown/public-api.mjs +6 -0
  7. package/esm2020/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.component.mjs +82 -0
  8. package/esm2020/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.module.mjs +63 -0
  9. package/esm2020/src/lib/components/dropdown/lib/core/elements/dropdown.mjs +8 -0
  10. package/esm2020/src/lib/components/dropdown/lib/core/elements/element-base.mjs +22 -0
  11. package/esm2020/src/lib/components/dropdown/lib/core/elements/element-search.mjs +2 -0
  12. package/esm2020/src/lib/components/dropdown/lib/core/interfaces/option.interface.mjs +2 -0
  13. package/esm2020/src/lib/components/dropdown/mapa-library-ui-src-lib-components-dropdown.mjs +2 -2
  14. package/esm2020/src/lib/components/filters/lib/components/filters/src/filters.component.mjs +2 -2
  15. package/esm2020/src/lib/components/table/lib/components/table/public-api.mjs +6 -0
  16. package/esm2020/src/lib/components/table/lib/components/table/src/paginator_customization.mjs +21 -0
  17. package/esm2020/src/lib/components/table/lib/components/table/src/table.component.mjs +121 -0
  18. package/esm2020/src/lib/components/table/lib/components/table/src/table.module.mjs +59 -0
  19. package/esm2020/src/lib/components/table/lib/core/directives/custom-paginator-legacy.directive.mjs +227 -0
  20. package/esm2020/src/lib/components/table/lib/core/directives/custom-paginator.directive.mjs +183 -0
  21. package/esm2020/src/lib/components/table/mapa-library-ui-src-lib-components-table.mjs +2 -2
  22. package/esm2020/src/lib/components/table/table.mjs +7 -0
  23. package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs +2 -2
  24. package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
  25. package/fesm2015/mapa-library-ui-src-lib-components-dropdown.mjs +129 -36
  26. package/fesm2015/mapa-library-ui-src-lib-components-dropdown.mjs.map +1 -1
  27. package/fesm2015/mapa-library-ui-src-lib-components-filters.mjs +2 -2
  28. package/fesm2015/mapa-library-ui-src-lib-components-filters.mjs.map +1 -1
  29. package/fesm2015/mapa-library-ui-src-lib-components-table.mjs +470 -38
  30. package/fesm2015/mapa-library-ui-src-lib-components-table.mjs.map +1 -1
  31. package/fesm2015/mapa-library-ui.mjs +1 -0
  32. package/fesm2015/mapa-library-ui.mjs.map +1 -1
  33. package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs +2 -2
  34. package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
  35. package/fesm2020/mapa-library-ui-src-lib-components-dropdown.mjs +129 -34
  36. package/fesm2020/mapa-library-ui-src-lib-components-dropdown.mjs.map +1 -1
  37. package/fesm2020/mapa-library-ui-src-lib-components-filters.mjs +2 -2
  38. package/fesm2020/mapa-library-ui-src-lib-components-filters.mjs.map +1 -1
  39. package/fesm2020/mapa-library-ui-src-lib-components-table.mjs +466 -38
  40. package/fesm2020/mapa-library-ui-src-lib-components-table.mjs.map +1 -1
  41. package/fesm2020/mapa-library-ui.mjs +1 -0
  42. package/fesm2020/mapa-library-ui.mjs.map +1 -1
  43. package/lib/core/elements/element-base.d.ts +3 -0
  44. package/lib/core/elements/element-search.d.ts +6 -0
  45. package/mapa-library-ui-0.0.24.tgz +0 -0
  46. package/package.json +1 -1
  47. package/public-api.d.ts +1 -0
  48. package/src/lib/components/dropdown/dropdown.d.ts +4 -0
  49. package/src/lib/components/dropdown/index.d.ts +1 -1
  50. package/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.component.d.ts +25 -0
  51. package/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.module.d.ts +13 -0
  52. package/src/lib/components/dropdown/lib/core/elements/dropdown.d.ts +4 -0
  53. package/src/lib/components/dropdown/lib/core/elements/element-base.d.ts +40 -0
  54. package/src/lib/components/dropdown/lib/core/elements/element-search.d.ts +6 -0
  55. package/src/lib/components/dropdown/lib/core/interfaces/option.interface.d.ts +4 -0
  56. package/src/lib/components/table/index.d.ts +1 -1
  57. package/src/lib/components/table/{src → lib/components/table/src}/table.component.d.ts +14 -8
  58. package/src/lib/components/table/{src → lib/components/table/src}/table.module.d.ts +4 -2
  59. package/src/lib/components/table/lib/core/directives/custom-paginator-legacy.directive.d.ts +27 -0
  60. package/src/lib/components/table/lib/core/directives/custom-paginator.directive.d.ts +33 -0
  61. package/src/lib/components/table/table.d.ts +3 -0
  62. package/esm2020/src/lib/components/dropdown/public-api.mjs +0 -6
  63. package/esm2020/src/lib/components/dropdown/src/dropdown.component.mjs +0 -26
  64. package/esm2020/src/lib/components/dropdown/src/dropdown.module.mjs +0 -36
  65. package/esm2020/src/lib/components/dropdown/src/option/option.component.mjs +0 -26
  66. package/esm2020/src/lib/components/table/public-api.mjs +0 -6
  67. package/esm2020/src/lib/components/table/src/paginator_customization.mjs +0 -9
  68. package/esm2020/src/lib/components/table/src/table.component.mjs +0 -120
  69. package/esm2020/src/lib/components/table/src/table.module.mjs +0 -49
  70. package/mapa-library-ui-0.0.22.tgz +0 -0
  71. package/src/lib/components/dropdown/src/dropdown.component.d.ts +0 -12
  72. package/src/lib/components/dropdown/src/dropdown.module.d.ts +0 -12
  73. package/src/lib/components/dropdown/src/option/option.component.d.ts +0 -12
  74. /package/src/lib/components/dropdown/{public-api.d.ts → lib/components/dropdown/public-api.d.ts} +0 -0
  75. /package/src/lib/components/table/{public-api.d.ts → lib/components/table/public-api.d.ts} +0 -0
  76. /package/src/lib/components/table/{src → lib/components/table/src}/paginator_customization.d.ts +0 -0
@@ -0,0 +1,183 @@
1
+ import { Directive, EventEmitter, Input, Output, } from "@angular/core";
2
+ import { map, startWith } from "rxjs";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/paginator";
5
+ export class BubblePaginationDirective {
6
+ constructor(matPag, elementRef, ren) {
7
+ this.matPag = matPag;
8
+ this.elementRef = elementRef;
9
+ this.ren = ren;
10
+ this.pageIndexChangeEmitter = new EventEmitter();
11
+ this.showFirstButton = true;
12
+ this.showLastButton = true;
13
+ this.renderButtonsNumber = 2;
14
+ this.appCustomLength = 0;
15
+ this.hideDefaultArrows = false;
16
+ this.buttonsRef = [];
17
+ }
18
+ ngAfterViewInit() {
19
+ this.styleDefaultPagination();
20
+ this.createBubbleDivRef();
21
+ this.renderButtons();
22
+ }
23
+ ngOnChanges(changes) {
24
+ if (!changes?.["appCustomLength"]?.firstChange) {
25
+ this.removeButtons();
26
+ this.switchPage(0);
27
+ this.renderButtons();
28
+ }
29
+ }
30
+ renderButtons() {
31
+ this.buildButtons();
32
+ this.matPag.page
33
+ .pipe(map((e) => [e.previousPageIndex ?? 0, e.pageIndex]), startWith([0, 0]))
34
+ .subscribe(([prev, curr]) => {
35
+ this.changeActiveButtonStyles(prev, curr);
36
+ this.updateButtonsOnPageEvent();
37
+ });
38
+ }
39
+ changeActiveButtonStyles(previousIndex, newIndex) {
40
+ const previouslyActive = this.buttonsRef[previousIndex];
41
+ const currentActive = this.buttonsRef[newIndex];
42
+ try {
43
+ this.ren.removeClass(previouslyActive, "g-bubble__active");
44
+ this.ren.addClass(currentActive, "g-bubble__active");
45
+ }
46
+ catch { }
47
+ this.buttonsRef.forEach((button) => this.ren.setStyle(button, "display", "none"));
48
+ const renderElements = this.renderButtonsNumber;
49
+ const endDots = newIndex < this.buttonsRef.length - renderElements - 1;
50
+ const startDots = newIndex - renderElements > 0;
51
+ const firstButton = this.buttonsRef[0];
52
+ const lastButton = this.buttonsRef[this.buttonsRef.length - 1];
53
+ try {
54
+ if (this.showLastButton) {
55
+ this.ren.setStyle(this.dotsEndRef, "display", endDots ? "block" : "none");
56
+ this.ren.setStyle(lastButton, "display", endDots ? "flex" : "none");
57
+ }
58
+ }
59
+ catch { }
60
+ try {
61
+ if (this.showFirstButton) {
62
+ this.ren.setStyle(this.dotsStartRef, "display", startDots ? "block" : "none");
63
+ this.ren.setStyle(firstButton, "display", startDots ? "flex" : "none");
64
+ }
65
+ }
66
+ catch { }
67
+ const startingIndex = startDots ? newIndex - renderElements : 0;
68
+ const endingIndex = endDots
69
+ ? newIndex + renderElements
70
+ : this.buttonsRef.length - 1;
71
+ for (let i = startingIndex; i <= endingIndex; i++) {
72
+ const button = this.buttonsRef[i];
73
+ this.ren.setStyle(button, "display", "flex");
74
+ }
75
+ }
76
+ styleDefaultPagination() {
77
+ const nativeElement = this.elementRef.nativeElement;
78
+ const itemsPerPage = nativeElement.querySelector(".mat-mdc-paginator-page-size");
79
+ const howManyDisplayedEl = nativeElement.querySelector(".mat-mdc-paginator-range-label");
80
+ const previousButton = nativeElement.querySelector("button.mat-mdc-paginator-navigation-previous");
81
+ const nextButtonDefault = nativeElement.querySelector("button.mat-mdc-paginator-navigation-next");
82
+ if (this.hideDefaultArrows) {
83
+ this.ren.setStyle(previousButton, "display", "none");
84
+ this.ren.setStyle(nextButtonDefault, "display", "none");
85
+ }
86
+ }
87
+ createBubbleDivRef() {
88
+ const actionContainer = this.elementRef.nativeElement.querySelector("div.mat-mdc-paginator-range-actions");
89
+ const nextButtonDefault = this.elementRef.nativeElement.querySelector("button.mat-mdc-paginator-navigation-next");
90
+ this.bubbleContainerRef = this.ren.createElement("div");
91
+ this.ren.addClass(this.bubbleContainerRef, "g-bubble-container");
92
+ this.ren.insertBefore(actionContainer, this.bubbleContainerRef, nextButtonDefault);
93
+ }
94
+ buildButtons() {
95
+ const neededButtons = Math.ceil(this.appCustomLength / this.matPag.pageSize);
96
+ if (neededButtons === 1) {
97
+ this.ren.setStyle(this.elementRef.nativeElement, "display", "none");
98
+ return;
99
+ }
100
+ this.buttonsRef = [this.createButton(0)];
101
+ this.dotsStartRef = this.createDotsElement();
102
+ for (let index = 1; index < neededButtons - 1; index++) {
103
+ this.buttonsRef = [...this.buttonsRef, this.createButton(index)];
104
+ }
105
+ this.dotsEndRef = this.createDotsElement();
106
+ this.buttonsRef = [
107
+ ...this.buttonsRef,
108
+ this.createButton(neededButtons - 1),
109
+ ];
110
+ }
111
+ removeButtons() {
112
+ this.bubbleContainerRef.innerHTML = '';
113
+ this.buttonsRef.forEach((button) => {
114
+ this.ren.removeChild(this.bubbleContainerRef, button);
115
+ });
116
+ this.buttonsRef = [];
117
+ this.buttonsRef.length = 0;
118
+ }
119
+ createButton(i) {
120
+ const bubbleButton = this.ren.createElement("div");
121
+ const text = this.ren.createText(String(i + 1));
122
+ this.ren.addClass(bubbleButton, "g-bubble");
123
+ this.ren.setStyle(bubbleButton, "margin-right", "8px");
124
+ this.ren.appendChild(bubbleButton, text);
125
+ this.ren.listen(bubbleButton, "click", () => {
126
+ this.switchPage(i);
127
+ });
128
+ this.ren.appendChild(this.bubbleContainerRef, bubbleButton);
129
+ this.ren.setStyle(bubbleButton, "display", "none");
130
+ return bubbleButton;
131
+ }
132
+ createDotsElement() {
133
+ const dotsEl = this.ren.createElement("span");
134
+ const dotsText = this.ren.createText(".....");
135
+ this.ren.setStyle(dotsEl, "font-size", "18px");
136
+ this.ren.setStyle(dotsEl, "margin-right", "8px");
137
+ this.ren.setStyle(dotsEl, "padding-top", "6px");
138
+ this.ren.setStyle(dotsEl, "color", "#919191");
139
+ this.ren.appendChild(dotsEl, dotsText);
140
+ this.ren.appendChild(this.bubbleContainerRef, dotsEl);
141
+ this.ren.setStyle(dotsEl, "display", "none");
142
+ return dotsEl;
143
+ }
144
+ switchPage(i) {
145
+ const previousPageIndex = this.matPag.pageIndex;
146
+ this.matPag.pageIndex = i;
147
+ try {
148
+ this.matPag["_emitPageEvent"](previousPageIndex);
149
+ }
150
+ catch { }
151
+ this.pageIndexChangeEmitter.emit(i);
152
+ }
153
+ updateButtonsOnPageEvent() {
154
+ const neededButtons = Math.ceil(this.appCustomLength / this.matPag.pageSize);
155
+ if (neededButtons === this.buttonsRef.length) {
156
+ return;
157
+ }
158
+ this.removeButtons();
159
+ this.buildButtons();
160
+ }
161
+ }
162
+ BubblePaginationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BubblePaginationDirective, deps: [{ token: i1.MatPaginator }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
163
+ BubblePaginationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BubblePaginationDirective, isStandalone: true, selector: "[appBubblePagination]", inputs: { showFirstButton: "showFirstButton", showLastButton: "showLastButton", renderButtonsNumber: "renderButtonsNumber", appCustomLength: "appCustomLength", hideDefaultArrows: "hideDefaultArrows" }, outputs: { pageIndexChangeEmitter: "pageIndexChangeEmitter" }, usesOnChanges: true, ngImport: i0 });
164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BubblePaginationDirective, decorators: [{
165
+ type: Directive,
166
+ args: [{
167
+ selector: "[appBubblePagination]",
168
+ standalone: true,
169
+ }]
170
+ }], ctorParameters: function () { return [{ type: i1.MatPaginator }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { pageIndexChangeEmitter: [{
171
+ type: Output
172
+ }], showFirstButton: [{
173
+ type: Input
174
+ }], showLastButton: [{
175
+ type: Input
176
+ }], renderButtonsNumber: [{
177
+ type: Input
178
+ }], appCustomLength: [{
179
+ type: Input
180
+ }], hideDefaultArrows: [{
181
+ type: Input
182
+ }] } });
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXBhZ2luYXRvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBhLWxpYnJhcnktdWkvc3JjL2xpYi9jb3JlL2RpcmVjdGl2ZXMvY3VzdG9tLXBhZ2luYXRvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBTXRDLE1BQU0sT0FBTyx5QkFBeUI7SUFZcEMsWUFDbUIsTUFBb0IsRUFDN0IsVUFBc0IsRUFDdEIsR0FBYztRQUZMLFdBQU0sR0FBTixNQUFNLENBQWM7UUFDN0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixRQUFHLEdBQUgsR0FBRyxDQUFXO1FBZGQsMkJBQXNCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDM0Usb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFDdkIsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsd0JBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLG9CQUFlLEdBQVcsQ0FBQyxDQUFDO1FBQzVCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUkzQixlQUFVLEdBQWtCLEVBQUUsQ0FBQztJQU1wQyxDQUFDO0lBRUosZUFBZTtRQUNiLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFdBQVcsRUFBRTtZQUM5QyxJQUFJLENB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LEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvclwiO1xuaW1wb3J0IHsgbWFwLCBzdGFydFdpdGggfSBmcm9tIFwicnhqc1wiO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiW2FwcEJ1YmJsZVBhZ2luYXRpb25dXCIsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEJ1YmJsZVBhZ2luYXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICBAT3V0cHV0KCkgcGFnZUluZGV4Q2hhbmdlRW1pdHRlcjogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQElucHV0KCkgc2hvd0ZpcnN0QnV0dG9uID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd0xhc3RCdXR0b24gPSB0cnVlO1xuICBASW5wdXQoKSByZW5kZXJCdXR0b25zTnVtYmVyID0gMjtcbiAgQElucHV0KCkgYXBwQ3VzdG9tTGVuZ3RoOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBoaWRlRGVmYXVsdEFycm93cyA9IGZhbHNlO1xuICBwcml2YXRlIGRvdHNFbmRSZWYhOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBkb3RzU3RhcnRSZWYhOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBidWJibGVDb250YWluZXJSZWYhOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBidXR0b25zUmVmOiBIVE1MRWxlbWVudFtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBtYXRQYWc6IE1hdFBhZ2luYXRvcixcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZW46IFJlbmRlcmVyMlxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3R5bGVEZWZhdWx0UGFnaW5hdGlvbigpO1xuICAgIHRoaXMuY3JlYXRlQnViYmxlRGl2UmVmKCk7XG4gICAgdGhpcy5yZW5kZXJCdXR0b25zKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCFjaGFuZ2VzPy5bXCJhcHBDdXN0b21MZW5ndGhcIl0/LmZpcnN0Q2hhbmdlKSB7XG4gICAgICB0aGlzLnJlbW92ZUJ1dHRvbnMoKTtcbiAgICAgIHRoaXMuc3dpdGNoUGFnZSgwKTtcbiAgICAgIHRoaXMucmVuZGVyQnV0dG9ucygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyQnV0dG9ucygpOiB2b2lkIHtcbiAgICB0aGlzLmJ1aWxkQnV0dG9ucygpO1xuXG4gICAgdGhpcy5tYXRQYWcucGFnZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoZSkgPT4gW2UucHJldmlvdXNQYWdlSW5kZXggPz8gMCwgZS5wYWdlSW5kZXhdKSxcbiAgICAgICAgc3RhcnRXaXRoKFswLCAwXSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKFtwcmV2LCBjdXJyXSkgPT4ge1xuICAgICAgICB0aGlzLmNoYW5nZUFjdGl2ZUJ1dHRvblN0eWxlcyhwcmV2LCBjdXJyKTtcbiAgICAgICAgdGhpcy51cGRhdGVCdXR0b25zT25QYWdlRXZlbnQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGFuZ2VBY3RpdmVCdXR0b25TdHlsZXMocHJldmlvdXNJbmRleDogbnVtYmVyLCBuZXdJbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgcHJldmlvdXNseUFjdGl2ZSA9IHRoaXMuYnV0dG9uc1JlZltwcmV2aW91c0luZGV4XTtcbiAgICBjb25zdCBjdXJyZW50QWN0aXZlID0gdGhpcy5idXR0b25zUmVmW25ld0luZGV4XTtcblxuICAgIHRyeSB7XG4gICAgICB0aGlzLnJlbi5yZW1vdmVDbGFzcyhwcmV2aW91c2x5QWN0aXZlLCBcImctYnViYmxlX19hY3RpdmVcIik7XG4gICAgICB0aGlzLnJlbi5hZGRDbGFzcyhjdXJyZW50QWN0aXZlLCBcImctYnViYmxlX19hY3RpdmVcIik7XG4gICAgfSBjYXRjaCB7fVxuXG4gICAgdGhpcy5idXR0b25zUmVmLmZvckVhY2goKGJ1dHRvbikgPT5cbiAgICAgIHRoaXMucmVuLnNldFN0eWxlKGJ1dHRvbiwgXCJkaXNwbGF5XCIsIFwibm9uZVwiKVxuICAgICk7XG5cbiAgICBjb25zdCByZW5kZXJFbGVtZW50cyA9IHRoaXMucmVuZGVyQnV0dG9uc051bWJlcjtcbiAgICBjb25zdCBlbmREb3RzID0gbmV3SW5kZXggPCB0aGlzLmJ1dHRvbnNSZWYubGVuZ3RoIC0gcmVuZGVyRWxlbWVudHMgLSAxO1xuICAgIGNvbnN0IHN0YXJ0RG90cyA9IG5ld0luZGV4IC0gcmVuZGVyRWxlbWVudHMgPiAwO1xuXG4gICAgY29uc3QgZmlyc3RCdXR0b24gPSB0aGlzLmJ1dHRvbnNSZWZbMF07XG4gICAgY29uc3QgbGFzdEJ1dHRvbiA9IHRoaXMuYnV0dG9uc1JlZlt0aGlzLmJ1dHRvbnNSZWYubGVuZ3RoIC0gMV07XG5cbiAgICB0cnkge1xuICAgICAgaWYgKHRoaXMuc2hvd0xhc3RCdXR0b24pIHtcbiAgICAgICAgdGhpcy5yZW4uc2V0U3R5bGUodGhpcy5kb3RzRW5kUmVmLCBcImRpc3BsYXlcIiwgZW5kRG90cyA/IFwiYmxvY2tcIiA6IFwibm9uZVwiKTtcbiAgICAgICAgdGhpcy5yZW4uc2V0U3R5bGUobGFzdEJ1dHRvbiwgXCJkaXNwbGF5XCIsIGVuZERvdHMgPyBcImZsZXhcIiA6IFwibm9uZVwiKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIHt9XG5cbiAgICB0cnkge1xuICAgICAgaWYgKHRoaXMuc2hvd0ZpcnN0QnV0dG9uKSB7XG4gICAgICAgIHRoaXMucmVuLnNldFN0eWxlKFxuICAgICAgICAgIHRoaXMuZG90c1N0YXJ0UmVmLFxuICAgICAgICAgIFwiZGlzcGxheVwiLFxuICAgICAgICAgIHN0YXJ0RG90cyA/IFwiYmxvY2tcIiA6IFwibm9uZVwiXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucmVuLnNldFN0eWxlKGZpcnN0QnV0dG9uLCBcImRpc3BsYXlcIiwgc3RhcnREb3RzID8gXCJmbGV4XCIgOiBcIm5vbmVcIik7XG4gICAgICB9XG4gICAgfSBjYXRjaCB7fVxuXG4gICAgY29uc3Qgc3RhcnRpbmdJbmRleCA9IHN0YXJ0RG90cyA/IG5ld0luZGV4IC0gcmVuZGVyRWxlbWVudHMgOiAwO1xuICAgIGNvbnN0IGVuZGluZ0luZGV4ID0gZW5kRG90c1xuICAgICAgPyBuZXdJbmRleCArIHJlbmRlckVsZW1lbnRzXG4gICAgICA6IHRoaXMuYnV0dG9uc1JlZi5sZW5ndGggLSAxO1xuXG4gICAgZm9yIChsZXQgaSA9IHN0YXJ0aW5nSW5kZXg7IGkgPD0gZW5kaW5nSW5kZXg7IGkrKykge1xuICAgICAgY29uc3QgYnV0dG9uID0gdGhpcy5idXR0b25zUmVmW2ldO1xuICAgICAgdGhpcy5yZW4uc2V0U3R5bGUoYnV0dG9uLCBcImRpc3BsYXlcIiwgXCJmbGV4XCIpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3R5bGVEZWZhdWx0UGFnaW5hdGlvbigpIHtcbiAgICBjb25zdCBuYXRpdmVFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgaXRlbXNQZXJQYWdlID0gbmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgXCIubWF0LW1kYy1wYWdpbmF0b3ItcGFnZS1zaXplXCJcbiAgICApO1xuICAgIGNvbnN0IGhvd01hbnlEaXNwbGF5ZWRFbCA9IG5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgIFwiLm1hdC1tZGMtcGFnaW5hdG9yLXJhbmdlLWxhYmVsXCJcbiAgICApO1xuICAgIGNvbnN0IHByZXZpb3VzQnV0dG9uID0gbmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgXCJidXR0b24ubWF0LW1kYy1wYWdpbmF0b3ItbmF2aWdhdGlvbi1wcmV2aW91c1wiXG4gICAgKTtcbiAgICBjb25zdCBuZXh0QnV0dG9uRGVmYXVsdCA9IG5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgIFwiYnV0dG9uLm1hdC1tZGMtcGFnaW5hdG9yLW5hdmlnYXRpb24tbmV4dFwiXG4gICAgKTtcblxuICAgIGlmICh0aGlzLmhpZGVEZWZhdWx0QXJyb3dzKSB7XG4gICAgICB0aGlzLnJlbi5zZXRTdHlsZShwcmV2aW91c0J1dHRvbiwgXCJkaXNwbGF5XCIsIFwibm9uZVwiKTtcbiAgICAgIHRoaXMucmVuLnNldFN0eWxlKG5leHRCdXR0b25EZWZhdWx0LCBcImRpc3BsYXlcIiwgXCJub25lXCIpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQnViYmxlRGl2UmVmKCk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGlvbkNvbnRhaW5lciA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICBcImRpdi5tYXQtbWRjLXBhZ2luYXRvci1yYW5nZS1hY3Rpb25zXCJcbiAgICApO1xuICAgIGNvbnN0IG5leHRCdXR0b25EZWZhdWx0ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgIFwiYnV0dG9uLm1hdC1tZGMtcGFnaW5hdG9yLW5hdmlnYXRpb24tbmV4dFwiXG4gICAgKTtcblxuICAgIHRoaXMuYnViYmxlQ29udGFpbmVyUmVmID0gdGhpcy5yZW4uY3JlYXRlRWxlbWVudChcImRpdlwiKSBhcyBIVE1MRWxlbWVudDtcbiAgICB0aGlzLnJlbi5hZGRDbGFzcyh0aGlzLmJ1YmJsZUNvbnRhaW5lclJlZiwgXCJnLWJ1YmJsZS1jb250YWluZXJcIik7XG5cbiAgICB0aGlzLnJlbi5pbnNlcnRCZWZvcmUoXG4gICAgICBhY3Rpb25Db250YWluZXIsXG4gICAgICB0aGlzLmJ1YmJsZUNvbnRhaW5lclJlZixcbiAgICAgIG5leHRCdXR0b25EZWZhdWx0XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRCdXR0b25zKCk6IHZvaWQge1xuICAgIGNvbnN0IG5lZWRlZEJ1dHRvbnMgPSBNYXRoLmNlaWwoXG4gICAgICB0aGlzLmFwcEN1c3RvbUxlbmd0aCAvIHRoaXMubWF0UGFnLnBhZ2VTaXplXG4gICAgKTtcblxuICAgIGlmIChuZWVkZWRCdXR0b25zID09PSAxKSB7XG4gICAgICB0aGlzLnJlbi5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgXCJkaXNwbGF5XCIsIFwibm9uZVwiKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmJ1dHRvbnNSZWYgPSBbdGhpcy5jcmVhdGVCdXR0b24oMCldO1xuICAgIHRoaXMuZG90c1N0YXJ0UmVmID0gdGhpcy5jcmVhdGVEb3RzRWxlbWVudCgpO1xuXG4gICAgZm9yIChsZXQgaW5kZXggPSAxOyBpbmRleCA8IG5lZWRlZEJ1dHRvbnMgLSAxOyBpbmRleCsrKSB7XG4gICAgICB0aGlzLmJ1dHRvbnNSZWYgPSBbLi4udGhpcy5idXR0b25zUmVmLCB0aGlzLmNyZWF0ZUJ1dHRvbihpbmRleCldO1xuICAgIH1cblxuICAgIHRoaXMuZG90c0VuZFJlZiA9IHRoaXMuY3JlYXRlRG90c0VsZW1lbnQoKTtcblxuICAgIHRoaXMuYnV0dG9uc1JlZiA9IFtcbiAgICAgIC4uLnRoaXMuYnV0dG9uc1JlZixcbiAgICAgIHRoaXMuY3JlYXRlQnV0dG9uKG5lZWRlZEJ1dHRvbnMgLSAxKSxcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVCdXR0b25zKCk6IHZvaWQge1xuICAgIHRoaXMuYnViYmxlQ29udGFpbmVyUmVmLmlubmVySFRNTCA9ICcnO1xuICAgIHRoaXMuYnV0dG9uc1JlZi5mb3JFYWNoKChidXR0b24pID0+IHtcbiAgICAgIHRoaXMucmVuLnJlbW92ZUNoaWxkKHRoaXMuYnViYmxlQ29udGFpbmVyUmVmLCBidXR0b24pO1xuICAgIH0pO1xuICAgIHRoaXMuYnV0dG9uc1JlZiA9IFtdO1xuICAgIHRoaXMuYnV0dG9uc1JlZi5sZW5ndGggPSAwO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVCdXR0b24oaTogbnVtYmVyKTogSFRNTEVsZW1lbnQge1xuICAgIGNvbnN0IGJ1YmJsZUJ1dHRvbiA9IHRoaXMucmVuLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gICAgY29uc3QgdGV4dCA9IHRoaXMucmVuLmNyZWF0ZVRleHQoU3RyaW5nKGkgKyAxKSk7XG5cbiAgICB0aGlzLnJlbi5hZGRDbGFzcyhidWJibGVCdXR0b24sIFwiZy1idWJibGVcIik7XG4gICAgdGhpcy5yZW4uc2V0U3R5bGUoYnViYmxlQnV0dG9uLCBcIm1hcmdpbi1yaWdodFwiLCBcIjhweFwiKTtcbiAgICB0aGlzLnJlbi5hcHBlbmRDaGlsZChidWJibGVCdXR0b24sIHRleHQpO1xuXG4gICAgdGhpcy5yZW4ubGlzdGVuKGJ1YmJsZUJ1dHRvbiwgXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICB0aGlzLnN3aXRjaFBhZ2UoaSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnJlbi5hcHBlbmRDaGlsZCh0aGlzLmJ1YmJsZUNvbnRhaW5lclJlZiwgYnViYmxlQnV0dG9uKTtcbiAgICB0aGlzLnJlbi5zZXRTdHlsZShidWJibGVCdXR0b24sIFwiZGlzcGxheVwiLCBcIm5vbmVcIik7XG5cbiAgICByZXR1cm4gYnViYmxlQnV0dG9uO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEb3RzRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgY29uc3QgZG90c0VsID0gdGhpcy5yZW4uY3JlYXRlRWxlbWVudChcInNwYW5cIik7XG4gICAgY29uc3QgZG90c1RleHQgPSB0aGlzLnJlbi5jcmVhdGVUZXh0KFwiLi4uLi5cIik7XG5cbiAgICB0aGlzLnJlbi5zZXRTdHlsZShkb3RzRWwsIFwiZm9udC1zaXplXCIsIFwiMThweFwiKTtcbiAgICB0aGlzLnJlbi5zZXRTdHlsZShkb3RzRWwsIFwibWFyZ2luLXJpZ2h0XCIsIFwiOHB4XCIpO1xuICAgIHRoaXMucmVuLnNldFN0eWxlKGRvdHNFbCwgXCJwYWRkaW5nLXRvcFwiLCBcIjZweFwiKTtcbiAgICB0aGlzLnJlbi5zZXRTdHlsZShkb3RzRWwsIFwiY29sb3JcIiwgXCIjOTE5MTkxXCIpO1xuXG4gICAgdGhpcy5yZW4uYXBwZW5kQ2hpbGQoZG90c0VsLCBkb3RzVGV4dCk7XG4gICAgdGhpcy5yZW4uYXBwZW5kQ2hpbGQodGhpcy5idWJibGVDb250YWluZXJSZWYsIGRvdHNFbCk7XG4gICAgdGhpcy5yZW4uc2V0U3R5bGUoZG90c0VsLCBcImRpc3BsYXlcIiwgXCJub25lXCIpO1xuXG4gICAgcmV0dXJuIGRvdHNFbDtcbiAgfVxuXG4gIHByaXZhdGUgc3dpdGNoUGFnZShpOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2aW91c1BhZ2VJbmRleCA9IHRoaXMubWF0UGFnLnBhZ2VJbmRleDtcbiAgICB0aGlzLm1hdFBhZy5wYWdlSW5kZXggPSBpO1xuICAgIHRyeSB7XG4gICAgICB0aGlzLm1hdFBhZ1tcIl9lbWl0UGFnZUV2ZW50XCJdKHByZXZpb3VzUGFnZUluZGV4KTtcbiAgICB9IGNhdGNoIHt9XG5cbiAgICB0aGlzLnBhZ2VJbmRleENoYW5nZUVtaXR0ZXIuZW1pdChpKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQnV0dG9uc09uUGFnZUV2ZW50KCk6IHZvaWQge1xuICAgIGNvbnN0IG5lZWRlZEJ1dHRvbnMgPSBNYXRoLmNlaWwoXG4gICAgICB0aGlzLmFwcEN1c3RvbUxlbmd0aCAvIHRoaXMubWF0UGFnLnBhZ2VTaXplXG4gICAgKTtcbiAgICBpZiAobmVlZGVkQnV0dG9ucyA9PT0gdGhpcy5idXR0b25zUmVmLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVtb3ZlQnV0dG9ucygpO1xuICAgIHRoaXMuYnVpbGRCdXR0b25zKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwYS1saWJyYXJ5LXVpLXNyYy1saWItY29tcG9uZW50cy10YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcGEtbGlicmFyeS11aS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvbWFwYS1saWJyYXJ5LXVpLXNyYy1saWItY29tcG9uZW50cy10YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
4
+ export * from './table';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwYS1saWJyYXJ5LXVpLXNyYy1saWItY29tcG9uZW50cy10YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcGEtbGlicmFyeS11aS9zcmMvbWFwYS1saWJyYXJ5LXVpLXNyYy1saWItY29tcG9uZW50cy10YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3RhYmxlJztcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ /*
2
+ * Public API Surface of mapa-library-ui table
3
+ */
4
+ export * from './lib/core/directives/custom-paginator.directive';
5
+ export * from './lib/core/directives/custom-paginator-legacy.directive';
6
+ export * from './lib/components/table/public-api';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBhLWxpYnJhcnktdWkvc3JjL3RhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG1hcGEtbGlicmFyeS11aSB0YWJsZVxuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL2RpcmVjdGl2ZXMvY3VzdG9tLXBhZ2luYXRvci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9kaXJlY3RpdmVzL2N1c3RvbS1wYWdpbmF0b3ItbGVnYWN5LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RhYmxlL3B1YmxpYy1hcGknO1xuIl19
@@ -600,10 +600,10 @@ class FiltersComponent {
600
600
  }
601
601
  }
602
602
  FiltersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
603
- FiltersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FiltersComponent, selector: "mapa-filters", inputs: { form: "form", elements: "elements" }, outputs: { selectedValues: "selectedValues" }, ngImport: i0, template: "<div class=\"filter\">\n <div *ngFor=\"let filter of elements\">\n <div *ngIf=\"filter.controlType === 'checkbox'\" class=\"filter__item--resizable\">\n <mapa-checkbox [formControl]=\"getFormControl(filter.key)\"></mapa-checkbox>\n </div>\n <div *ngIf=\"filter.controlType === 'dropdown'\" class=\"filter__item--resizable\">\n <mapa-dropdown\n [formControl]=\"getFormControl(filter.key)\"\n [element]=\"filter\"\n ></mapa-dropdown>\n </div>\n <div *ngIf=\"filter.controlType === 'input'\" class=\"filter__item\">\n <mapa-input\n [formControl]=\"getFormControl(filter.key)\"\n [element]=\"filter\"\n ></mapa-input>\n </div>\n </div>\n <div class=\"filter__item\">\n <mapa-button [color]=\"'basic'\" (clicked)=\"clearFilters()\">\n Limpar filtros\n </mapa-button>\n <mapa-button\n [color]=\"'primary'\"\n [disabled]=\"!!form.invalid\"\n (clicked)=\"emitSelectedValues()\"\n >\n Filtrar\n </mapa-button>\n </div>\n</div>\n<!--\n<div class=\"input\" *ngIf=\"containsInputText\">\n <div class=\"overlay\"></div>\n <div class=\"inputBackground\">\n <mapa-input\n [formControl]=\"formControlSearchAutoresize\"\n [element]=\"inputTextSearchAutoresize\"\n ></mapa-input>\n </div>\n</div>\n-->\n", styles: [".filter{display:inline-flex;align-items:flex-end;flex-wrap:wrap;background-color:#f6f7f7;padding:32px;width:95vw;gap:30px}.filter__item{display:flex}.filter__item--resizable{width:calc(15vw - 20px)}.input{position:relative}.overlay{position:absolute;top:0;left:2%;width:96%;height:100%;border-bottom:1px solid #d2d7da;z-index:-1}.inputBackground{background-color:#fff;padding:32px 30px;position:relative}button{border:none;background-color:transparent;color:#ea561d;margin-top:30px}::ng-deep mapa-dropdown .mapa-dropdown{max-width:none;min-width:10vw}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.ButtonComponent, selector: "mapa-button", inputs: ["color", "disabled"], outputs: ["clicked"] }, { kind: "component", type: i3.CheckboxComponent, selector: "mapa-checkbox", inputs: ["color", "formControl"] }, { kind: "component", type: i4.MapaDropdownComponent, selector: "mapa-dropdown", inputs: ["formControl", "element", "border"] }, { kind: "component", type: i5.MapaInputComponent, selector: "mapa-input", inputs: ["formControl", "element"] }] });
603
+ FiltersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FiltersComponent, selector: "mapa-filters", inputs: { form: "form", elements: "elements" }, outputs: { selectedValues: "selectedValues" }, ngImport: i0, template: "<div class=\"filter\">\n <div *ngFor=\"let filter of elements\">\n <div *ngIf=\"filter.controlType === 'checkbox'\" class=\"filter__item--resizable\">\n <mapa-checkbox [formControl]=\"getFormControl(filter.key)\"></mapa-checkbox>\n </div>\n <div *ngIf=\"filter.controlType === 'dropdown'\" class=\"filter__item--resizable\">\n <mapa-dropdown\n [formControl]=\"getFormControl(filter.key)\"\n [element]=\"filter\"\n ></mapa-dropdown>\n </div>\n <div *ngIf=\"filter.controlType === 'input'\" class=\"filter__item\">\n <mapa-input\n [formControl]=\"getFormControl(filter.key)\"\n [element]=\"filter\"\n ></mapa-input>\n </div>\n </div>\n <div class=\"filter__item\">\n <mapa-button [color]=\"'basic'\" (clicked)=\"clearFilters()\">\n Limpar filtros\n </mapa-button>\n <mapa-button\n [color]=\"'primary'\"\n [disabled]=\"!!form.invalid\"\n (clicked)=\"emitSelectedValues()\"\n >\n Filtrar\n </mapa-button>\n </div>\n</div>\n<!--\n<div class=\"input\" *ngIf=\"containsInputText\">\n <div class=\"overlay\"></div>\n <div class=\"inputBackground\">\n <mapa-input\n [formControl]=\"formControlSearchAutoresize\"\n [element]=\"inputTextSearchAutoresize\"\n ></mapa-input>\n </div>\n</div>\n-->\n", styles: [".filter{display:flex;align-items:center;flex-wrap:wrap;background-color:#f6f7f7;padding:32px;width:95vw;gap:30px}.filter__item{display:flex}.input{position:relative}.overlay{position:absolute;top:0;left:2%;width:96%;height:100%;border-bottom:1px solid #d2d7da;z-index:-1}.inputBackground{background-color:#fff;padding:32px 30px;position:relative}button{border:none;background-color:transparent;color:#ea561d;margin-top:30px}::ng-deep mapa-dropdown .mapa-dropdown{max-width:none;min-width:10vw}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.ButtonComponent, selector: "mapa-button", inputs: ["color", "disabled"], outputs: ["clicked"] }, { kind: "component", type: i3.CheckboxComponent, selector: "mapa-checkbox", inputs: ["color", "formControl"] }, { kind: "component", type: i4.MapaDropdownComponent, selector: "mapa-dropdown", inputs: ["formControl", "formControlSearch", "element", "border"] }, { kind: "component", type: i5.MapaInputComponent, selector: "mapa-input", inputs: ["formControl", "element"] }] });
604
604
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FiltersComponent, decorators: [{
605
605
  type: Component,
606
- args: [{ selector: 'mapa-filters', template: "<div class=\"filter\">\n <div *ngFor=\"let filter of elements\">\n <div *ngIf=\"filter.controlType === 'checkbox'\" class=\"filter__item--resizable\">\n <mapa-checkbox [formControl]=\"getFormControl(filter.key)\"></mapa-checkbox>\n </div>\n <div *ngIf=\"filter.controlType === 'dropdown'\" class=\"filter__item--resizable\">\n <mapa-dropdown\n [formControl]=\"getFormControl(filter.key)\"\n [element]=\"filter\"\n ></mapa-dropdown>\n </div>\n <div *ngIf=\"filter.controlType === 'input'\" class=\"filter__item\">\n <mapa-input\n [formControl]=\"getFormControl(filter.key)\"\n [element]=\"filter\"\n ></mapa-input>\n </div>\n </div>\n <div class=\"filter__item\">\n <mapa-button [color]=\"'basic'\" (clicked)=\"clearFilters()\">\n Limpar filtros\n </mapa-button>\n <mapa-button\n [color]=\"'primary'\"\n [disabled]=\"!!form.invalid\"\n (clicked)=\"emitSelectedValues()\"\n >\n Filtrar\n </mapa-button>\n </div>\n</div>\n<!--\n<div class=\"input\" *ngIf=\"containsInputText\">\n <div class=\"overlay\"></div>\n <div class=\"inputBackground\">\n <mapa-input\n [formControl]=\"formControlSearchAutoresize\"\n [element]=\"inputTextSearchAutoresize\"\n ></mapa-input>\n </div>\n</div>\n-->\n", styles: [".filter{display:inline-flex;align-items:flex-end;flex-wrap:wrap;background-color:#f6f7f7;padding:32px;width:95vw;gap:30px}.filter__item{display:flex}.filter__item--resizable{width:calc(15vw - 20px)}.input{position:relative}.overlay{position:absolute;top:0;left:2%;width:96%;height:100%;border-bottom:1px solid #d2d7da;z-index:-1}.inputBackground{background-color:#fff;padding:32px 30px;position:relative}button{border:none;background-color:transparent;color:#ea561d;margin-top:30px}::ng-deep mapa-dropdown .mapa-dropdown{max-width:none;min-width:10vw}\n"] }]
606
+ args: [{ selector: 'mapa-filters', template: "<div class=\"filter\">\n <div *ngFor=\"let filter of elements\">\n <div *ngIf=\"filter.controlType === 'checkbox'\" class=\"filter__item--resizable\">\n <mapa-checkbox [formControl]=\"getFormControl(filter.key)\"></mapa-checkbox>\n </div>\n <div *ngIf=\"filter.controlType === 'dropdown'\" class=\"filter__item--resizable\">\n <mapa-dropdown\n [formControl]=\"getFormControl(filter.key)\"\n [element]=\"filter\"\n ></mapa-dropdown>\n </div>\n <div *ngIf=\"filter.controlType === 'input'\" class=\"filter__item\">\n <mapa-input\n [formControl]=\"getFormControl(filter.key)\"\n [element]=\"filter\"\n ></mapa-input>\n </div>\n </div>\n <div class=\"filter__item\">\n <mapa-button [color]=\"'basic'\" (clicked)=\"clearFilters()\">\n Limpar filtros\n </mapa-button>\n <mapa-button\n [color]=\"'primary'\"\n [disabled]=\"!!form.invalid\"\n (clicked)=\"emitSelectedValues()\"\n >\n Filtrar\n </mapa-button>\n </div>\n</div>\n<!--\n<div class=\"input\" *ngIf=\"containsInputText\">\n <div class=\"overlay\"></div>\n <div class=\"inputBackground\">\n <mapa-input\n [formControl]=\"formControlSearchAutoresize\"\n [element]=\"inputTextSearchAutoresize\"\n ></mapa-input>\n </div>\n</div>\n-->\n", styles: [".filter{display:flex;align-items:center;flex-wrap:wrap;background-color:#f6f7f7;padding:32px;width:95vw;gap:30px}.filter__item{display:flex}.input{position:relative}.overlay{position:absolute;top:0;left:2%;width:96%;height:100%;border-bottom:1px solid #d2d7da;z-index:-1}.inputBackground{background-color:#fff;padding:32px 30px;position:relative}button{border:none;background-color:transparent;color:#ea561d;margin-top:30px}::ng-deep mapa-dropdown .mapa-dropdown{max-width:none;min-width:10vw}\n"] }]
607
607
  }], propDecorators: { form: [{
608
608
  type: Input
609
609
  }], elements: [{