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
@@ -1,73 +1,152 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, Input, ViewEncapsulation, NgModule } from '@angular/core';
2
+ import { Component, ViewEncapsulation, Input, ViewChild, NgModule } from '@angular/core';
3
+ import { ReplaySubject } from 'rxjs/internal/ReplaySubject';
4
+ import { Subject } from 'rxjs/internal/Subject';
5
+ import { takeUntil } from 'rxjs';
3
6
  import * as i1 from '@angular/common';
4
7
  import { CommonModule } from '@angular/common';
5
- import * as i2 from '@angular/material/icon';
6
- import { MatIconModule } from '@angular/material/icon';
8
+ import * as i2 from '@angular/forms';
7
9
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
10
+ import * as i3 from '@angular/material/form-field';
11
+ import { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';
12
+ import * as i4 from '@angular/material/select';
13
+ import { MatSelectModule, MAT_SELECT_CONFIG } from '@angular/material/select';
14
+ import * as i5 from '@angular/material/core';
15
+ import * as i6 from 'ngx-mat-select-search';
16
+ import { NgxMatSelectSearchModule } from 'ngx-mat-select-search';
8
17
  import { MatListModule } from '@angular/material/list';
18
+ import { MatIconModule } from '@angular/material/icon';
9
19
 
10
- class MapaOptionComponent {
11
- constructor() {
12
- this.optionsFilter = this.element?.options;
20
+ class ElementBase {
21
+ constructor(options = {}) {
22
+ this.value = options.value || '';
23
+ this.key = options.key || '';
24
+ this.label = options.label || '';
25
+ this.required = !!options.required;
26
+ this.order = options.order === undefined ? 1 : options.order;
27
+ this.controlType = options.controlType || '';
28
+ this.type = options.type || '';
29
+ this.placeholder = options.placeholder || '';
30
+ this.hint = options.hint || '';
31
+ this.prefix = options.prefix || '';
32
+ this.suffix = options.suffix || '';
33
+ this.autosize = options.autosize || false;
34
+ this.autosizeMinWidth = options.autosizeMinWidth || '212px';
35
+ this.autosizeMaxWidth = options.autosizeMaxWidth || '400px';
36
+ this.options = options.options || [];
37
+ this.multiple = options.multiple || false;
38
+ this.search = options.search || undefined;
13
39
  }
14
- emit(option) {
15
- if (this.element?.multiple) {
16
- }
17
- else {
18
- this.control.setValue([option.value]);
19
- }
40
+ }
41
+
42
+ class Dropdown extends ElementBase {
43
+ constructor() {
44
+ super(...arguments);
45
+ this.controlType = 'dropdown';
20
46
  }
21
47
  }
22
- MapaOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
- MapaOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaOptionComponent, selector: "mapa-option", inputs: { control: "control", element: "element" }, ngImport: i0, template: "<ul>\n <li *ngFor=\"let option of element.options; track option\" (click)=\"emit(option)\">{{ option.value }}</li>\n</ul>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaOptionComponent, decorators: [{
25
- type: Component,
26
- args: [{ selector: 'mapa-option', template: "<ul>\n <li *ngFor=\"let option of element.options; track option\" (click)=\"emit(option)\">{{ option.value }}</li>\n</ul>" }]
27
- }], ctorParameters: function () { return []; }, propDecorators: { control: [{
28
- type: Input
29
- }], element: [{
30
- type: Input
31
- }] } });
32
48
 
33
49
  class MapaDropdownComponent {
34
50
  constructor() {
35
- this.opened = false;
51
+ this.filteredOptions = new ReplaySubject(1);
52
+ this._onDestroy = new Subject();
36
53
  }
37
- toggleOptions() {
38
- this.opened = !this.opened;
54
+ ngOnInit() {
55
+ this.filteredOptions.next(this.element.options.slice());
56
+ if (this.element.search) {
57
+ this.element.search.formControl?.valueChanges
58
+ .pipe(takeUntil(this._onDestroy))
59
+ .subscribe(() => {
60
+ this.filterOptions();
61
+ });
62
+ }
63
+ }
64
+ ngAfterViewInit() {
65
+ this.setInitialValue();
66
+ }
67
+ ngOnDestroy() {
68
+ this._onDestroy.next();
69
+ this._onDestroy.complete();
70
+ }
71
+ setInitialValue() {
72
+ /*if (this.element.search && this.element.search.formControl) {
73
+ this.element.search.formControl
74
+ .pipe(take(1), takeUntil(this._onDestroy))
75
+ .subscribe(() => {
76
+ // setting the compareWith property to a comparison function
77
+ // triggers initializing the selection according to the initial value of
78
+ // the form control (i.e. _initializeSelection())
79
+ // this needs to be done after the filteredBanks are loaded initially
80
+ // and after the mat-option elements are available
81
+ this.dropdown.compareWith = (a: ElementOption, b: ElementOption) => a && b && a.key === b.key;
82
+ })
83
+ }*/
84
+ }
85
+ filterOptions() {
86
+ if (!this.element.options) {
87
+ return;
88
+ }
89
+ // get the search keyword
90
+ let search = this.element.search?.formControl?.value;
91
+ if (!search) {
92
+ this.filteredOptions.next(this.element.options.slice());
93
+ return;
94
+ }
95
+ else {
96
+ search = search.toLowerCase();
97
+ }
98
+ // filter the options
99
+ this.filteredOptions.next(this.element.options.filter((option) => option.value.toLowerCase().indexOf(search) > -1));
39
100
  }
40
101
  }
41
102
  MapaDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
42
- MapaDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaDropdownComponent, selector: "mapa-dropdown", inputs: { formControl: "formControl", element: "element", border: "border" }, ngImport: i0, template: "<div class=\"mapa-dropdown\">\n <label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n </label>\n <span \n class=\"mapa-dropdown__content\"\n [class.soft__border]=\"border === 'soft__border'\"\n [class.mapa-dropdown__content--labeled]=\"!!element.label\"\n (click)=\"toggleOptions()\"\n >\n <span>\n <span class=\"mapa-dropdown__content--selected\" *ngIf=\"(formControl.value?.length || 0) > 0; else placeholder\">\n {{formControl.value?.[0] || ''}}\n <span class=\"mapa-dropdown__content--selected-others\" *ngIf=\"(formControl.value?.length || 0) > 1\">\n (+{{ (formControl.value?.length || 0) - 1 }}\n {{ formControl.value?.length === 2 ? \"outro\" : \"outros\" }})\n </span>\n </span>\n <ng-template #placeholder>\n <span class=\"mapa-dropdown__content--placeholder\">\n {{ element.placeholder || element.label }}\n </span>\n </ng-template>\n </span>\n <span>\n <mat-icon *ngIf=\"!opened\">keyboard_arrow_down</mat-icon>\n <mat-icon *ngIf=\"opened\">keyboard_arrow_up</mat-icon>\n </span>\n <div class=\"mapa-dropdown__options\" *ngIf=\"opened\">\n <mapa-option [control]=\"formControl\" [element]=\"element\"></mapa-option>\n </div>\n </span>\n</div>\n", styles: [".mapa-dropdown{max-width:min-content;min-width:235px}.mapa-dropdown .mat-icon{display:flex;justify-content:center;align-items:center}.mapa-dropdown__label{display:block;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;margin-bottom:16px}.mapa-dropdown__content{background:#fff;border-radius:10px;border:2px solid #a7aaad;display:flex;align-items:center;justify-content:space-between;position:relative;font-size:16px;font-style:normal;font-weight:400;line-height:24px;cursor:pointer;padding:0 16px;height:48px}.mapa-dropdown__content--labeled{height:40px}.mapa-dropdown__content.soft__border{border-radius:16px;border:1px solid #C3C4C7!important}.mapa-dropdown__content--selected{color:#000}.mapa-dropdown__content--selected-others,.mapa-dropdown__content--placeholder{color:#77838f}.mapa-dropdown__content ::ng-deep mapa-icon .mat-icon{height:18px!important}.mapa-dropdown__options{position:absolute;top:56px;left:0;width:100%;z-index:1}.mapa-dropdown__options ul{display:block;list-style-type:none;margin-block-start:0px;margin-block-end:0px;margin-inline-start:0px;margin-inline-end:0px;padding-inline-start:0px;background:#fff;border:1px solid #cdcdcd;border-radius:8px;box-shadow:0 4px 4px #00000021}.mapa-dropdown__options ul li{list-style:none;padding:4px 13px}.mapa-dropdown__options ul li:hover{background-color:#cdcdcd}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MapaOptionComponent, selector: "mapa-option", inputs: ["control", "element"] }], encapsulation: i0.ViewEncapsulation.None });
103
+ MapaDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaDropdownComponent, selector: "mapa-dropdown", inputs: { formControl: "formControl", formControlSearch: "formControlSearch", element: "element", border: "border" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }], ngImport: i0, template: "<label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n</label>\n<mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft__border'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\">\n <mat-select\n #dropdown\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"true\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n ></ngx-mat-select-search>\n </mat-option>\n\n <mat-option *ngFor=\"let option of filteredOptions | async\" [value]=\"option.value\">\n {{ option.value }}\n </mat-option>\n </mat-select>\n</mat-form-field>\n", styles: [".mapa-dropdown{max-width:min-content;min-width:235px}.mapa-dropdown .mat-select{font-family:SF-Pro!important}.mapa-dropdown .mat-icon{display:flex;justify-content:center;align-items:center}.mapa-dropdown__label{display:block;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;margin-bottom:16px}.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-end{border-width:2px!important}.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important}.mapa-dropdown .mat-form-field-flex{height:48px!important}.mapa-dropdown .mat-form-field-infix{padding:.4em 0 1em!important}.mapa-dropdown--labeled .mat-form-field-infix{padding:.1em 0 1em!important}.mapa-dropdown--labeled .mat-form-field-flex{height:40px!important}.mapa-dropdown .mat-select-trigger{min-width:50px}.mapa-dropdown .mat-select-arrow-wrapper{transform:none!important}.mapa-dropdown .mat-select-arrow{border:unset}.mapa-dropdown .mat-select-arrow:before,.mapa-dropdown .mat-select-arrow:after{content:\"\";display:block;margin-top:-6px;position:absolute;right:10px;top:50%;width:0;border:solid black;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.mapa-dropdown [aria-expanded=true] .mat-select-arrow{margin:6px 0 0}.mapa-dropdown [aria-expanded=true] .mat-select-arrow:before,.mapa-dropdown [aria-expanded=true] .mat-select-arrow:after{transform:rotate(-135deg)!important;-webkit-transform:rotate(-135deg)!important}.mapa-overlay-dropdown{transform:translate(-16px) translateY(36px)!important}.mapa-overlay-dropdown .mat-select-panel{border-radius:8px;min-width:calc(100% + 24px)!important}.mapa-overlay-dropdown .mat-select-panel .mat-option,.mapa-overlay-dropdown .mat-select-panel .mat-option-text{font-family:SF-Pro!important;font-size:16px;font-style:normal;font-weight:400;line-height:2em;height:2em;color:#50575e}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option{display:flex;padding:16px 8px!important;flex-direction:column;justify-content:center;align-items:center;gap:10px;align-self:stretch;background:#F6F7F7;height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-inside-mat-option{height:unset!important;line-height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-inner{top:8px;border:2px solid #A7AAAD;border-radius:8px!important;width:100%!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-toggle-all-checkbox{padding-left:8px!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-input{padding:8px 8px 8px 6px!important;height:unset!important;line-height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-input::placeholder{color:#c3c4c7!important}.mapa-overlay-dropdown .mapa-dropdown__search .mat-option-text{width:100%}.mapa-overlay-dropdown .mat-pseudo-checkbox{color:#c3c4c7!important}.mapa-overlay-dropdown .mat-checkbox-frame{border-color:#c3c4c7!important}\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: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i6.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
43
104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaDropdownComponent, decorators: [{
44
105
  type: Component,
45
- args: [{ selector: 'mapa-dropdown', encapsulation: ViewEncapsulation.None, template: "<div class=\"mapa-dropdown\">\n <label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n </label>\n <span \n class=\"mapa-dropdown__content\"\n [class.soft__border]=\"border === 'soft__border'\"\n [class.mapa-dropdown__content--labeled]=\"!!element.label\"\n (click)=\"toggleOptions()\"\n >\n <span>\n <span class=\"mapa-dropdown__content--selected\" *ngIf=\"(formControl.value?.length || 0) > 0; else placeholder\">\n {{formControl.value?.[0] || ''}}\n <span class=\"mapa-dropdown__content--selected-others\" *ngIf=\"(formControl.value?.length || 0) > 1\">\n (+{{ (formControl.value?.length || 0) - 1 }}\n {{ formControl.value?.length === 2 ? \"outro\" : \"outros\" }})\n </span>\n </span>\n <ng-template #placeholder>\n <span class=\"mapa-dropdown__content--placeholder\">\n {{ element.placeholder || element.label }}\n </span>\n </ng-template>\n </span>\n <span>\n <mat-icon *ngIf=\"!opened\">keyboard_arrow_down</mat-icon>\n <mat-icon *ngIf=\"opened\">keyboard_arrow_up</mat-icon>\n </span>\n <div class=\"mapa-dropdown__options\" *ngIf=\"opened\">\n <mapa-option [control]=\"formControl\" [element]=\"element\"></mapa-option>\n </div>\n </span>\n</div>\n", styles: [".mapa-dropdown{max-width:min-content;min-width:235px}.mapa-dropdown .mat-icon{display:flex;justify-content:center;align-items:center}.mapa-dropdown__label{display:block;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;margin-bottom:16px}.mapa-dropdown__content{background:#fff;border-radius:10px;border:2px solid #a7aaad;display:flex;align-items:center;justify-content:space-between;position:relative;font-size:16px;font-style:normal;font-weight:400;line-height:24px;cursor:pointer;padding:0 16px;height:48px}.mapa-dropdown__content--labeled{height:40px}.mapa-dropdown__content.soft__border{border-radius:16px;border:1px solid #C3C4C7!important}.mapa-dropdown__content--selected{color:#000}.mapa-dropdown__content--selected-others,.mapa-dropdown__content--placeholder{color:#77838f}.mapa-dropdown__content ::ng-deep mapa-icon .mat-icon{height:18px!important}.mapa-dropdown__options{position:absolute;top:56px;left:0;width:100%;z-index:1}.mapa-dropdown__options ul{display:block;list-style-type:none;margin-block-start:0px;margin-block-end:0px;margin-inline-start:0px;margin-inline-end:0px;padding-inline-start:0px;background:#fff;border:1px solid #cdcdcd;border-radius:8px;box-shadow:0 4px 4px #00000021}.mapa-dropdown__options ul li{list-style:none;padding:4px 13px}.mapa-dropdown__options ul li:hover{background-color:#cdcdcd}\n"] }]
46
- }], propDecorators: { formControl: [{
106
+ args: [{ selector: 'mapa-dropdown', encapsulation: ViewEncapsulation.None, template: "<label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n</label>\n<mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft__border'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\">\n <mat-select\n #dropdown\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"true\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n ></ngx-mat-select-search>\n </mat-option>\n\n <mat-option *ngFor=\"let option of filteredOptions | async\" [value]=\"option.value\">\n {{ option.value }}\n </mat-option>\n </mat-select>\n</mat-form-field>\n", styles: [".mapa-dropdown{max-width:min-content;min-width:235px}.mapa-dropdown .mat-select{font-family:SF-Pro!important}.mapa-dropdown .mat-icon{display:flex;justify-content:center;align-items:center}.mapa-dropdown__label{display:block;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;margin-bottom:16px}.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-end{border-width:2px!important}.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important}.mapa-dropdown .mat-form-field-flex{height:48px!important}.mapa-dropdown .mat-form-field-infix{padding:.4em 0 1em!important}.mapa-dropdown--labeled .mat-form-field-infix{padding:.1em 0 1em!important}.mapa-dropdown--labeled .mat-form-field-flex{height:40px!important}.mapa-dropdown .mat-select-trigger{min-width:50px}.mapa-dropdown .mat-select-arrow-wrapper{transform:none!important}.mapa-dropdown .mat-select-arrow{border:unset}.mapa-dropdown .mat-select-arrow:before,.mapa-dropdown .mat-select-arrow:after{content:\"\";display:block;margin-top:-6px;position:absolute;right:10px;top:50%;width:0;border:solid black;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.mapa-dropdown [aria-expanded=true] .mat-select-arrow{margin:6px 0 0}.mapa-dropdown [aria-expanded=true] .mat-select-arrow:before,.mapa-dropdown [aria-expanded=true] .mat-select-arrow:after{transform:rotate(-135deg)!important;-webkit-transform:rotate(-135deg)!important}.mapa-overlay-dropdown{transform:translate(-16px) translateY(36px)!important}.mapa-overlay-dropdown .mat-select-panel{border-radius:8px;min-width:calc(100% + 24px)!important}.mapa-overlay-dropdown .mat-select-panel .mat-option,.mapa-overlay-dropdown .mat-select-panel .mat-option-text{font-family:SF-Pro!important;font-size:16px;font-style:normal;font-weight:400;line-height:2em;height:2em;color:#50575e}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option{display:flex;padding:16px 8px!important;flex-direction:column;justify-content:center;align-items:center;gap:10px;align-self:stretch;background:#F6F7F7;height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-inside-mat-option{height:unset!important;line-height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-inner{top:8px;border:2px solid #A7AAAD;border-radius:8px!important;width:100%!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-toggle-all-checkbox{padding-left:8px!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-input{padding:8px 8px 8px 6px!important;height:unset!important;line-height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-input::placeholder{color:#c3c4c7!important}.mapa-overlay-dropdown .mapa-dropdown__search .mat-option-text{width:100%}.mapa-overlay-dropdown .mat-pseudo-checkbox{color:#c3c4c7!important}.mapa-overlay-dropdown .mat-checkbox-frame{border-color:#c3c4c7!important}\n"] }]
107
+ }], ctorParameters: function () { return []; }, propDecorators: { formControl: [{
108
+ type: Input
109
+ }], formControlSearch: [{
47
110
  type: Input
48
111
  }], element: [{
49
112
  type: Input
50
113
  }], border: [{
51
114
  type: Input
115
+ }], dropdown: [{
116
+ type: ViewChild,
117
+ args: ['dropdown', { static: true }]
52
118
  }] } });
53
119
 
54
120
  class MapaDropdownModule {
55
121
  }
56
122
  MapaDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
57
- MapaDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MapaDropdownModule, declarations: [MapaDropdownComponent, MapaOptionComponent], imports: [CommonModule,
123
+ MapaDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MapaDropdownModule, declarations: [MapaDropdownComponent], imports: [CommonModule,
58
124
  FormsModule,
59
125
  ReactiveFormsModule,
60
126
  MatListModule,
61
- MatIconModule], exports: [MapaDropdownComponent] });
62
- MapaDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaDropdownModule, imports: [CommonModule,
127
+ MatIconModule,
128
+ MatSelectModule,
129
+ NgxMatSelectSearchModule], exports: [MapaDropdownComponent] });
130
+ MapaDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaDropdownModule, providers: [
131
+ {
132
+ provide: MAT_SELECT_CONFIG,
133
+ useValue: { overlayPanelClass: "mapa-overlay-dropdown" },
134
+ },
135
+ {
136
+ provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,
137
+ useValue: { appearance: "outline" },
138
+ },
139
+ ], imports: [CommonModule,
63
140
  FormsModule,
64
141
  ReactiveFormsModule,
65
142
  MatListModule,
66
- MatIconModule] });
143
+ MatIconModule,
144
+ MatSelectModule,
145
+ NgxMatSelectSearchModule] });
67
146
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaDropdownModule, decorators: [{
68
147
  type: NgModule,
69
148
  args: [{
70
- declarations: [MapaDropdownComponent, MapaOptionComponent],
149
+ declarations: [MapaDropdownComponent],
71
150
  exports: [MapaDropdownComponent],
72
151
  imports: [
73
152
  CommonModule,
@@ -75,6 +154,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
75
154
  ReactiveFormsModule,
76
155
  MatListModule,
77
156
  MatIconModule,
157
+ MatSelectModule,
158
+ NgxMatSelectSearchModule,
159
+ ],
160
+ providers: [
161
+ {
162
+ provide: MAT_SELECT_CONFIG,
163
+ useValue: { overlayPanelClass: "mapa-overlay-dropdown" },
164
+ },
165
+ {
166
+ provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,
167
+ useValue: { appearance: "outline" },
168
+ },
78
169
  ],
79
170
  }]
80
171
  }] });
@@ -83,9 +174,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
83
174
  * Public API Surface of mapa-library-ui dropdown
84
175
  */
85
176
 
177
+ /*
178
+ * Public API Surface of mapa-library-ui dropdown
179
+ */
180
+
86
181
  /**
87
182
  * Generated bundle index. Do not edit.
88
183
  */
89
184
 
90
- export { MapaDropdownComponent, MapaDropdownModule };
185
+ export { Dropdown, ElementBase, MapaDropdownComponent, MapaDropdownModule };
91
186
  //# sourceMappingURL=mapa-library-ui-src-lib-components-dropdown.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapa-library-ui-src-lib-components-dropdown.mjs","sources":["../../../projects/mapa-library-ui/src/lib/components/dropdown/src/option/option.component.ts","../../../projects/mapa-library-ui/src/lib/components/dropdown/src/option/option.component.html","../../../projects/mapa-library-ui/src/lib/components/dropdown/src/dropdown.component.ts","../../../projects/mapa-library-ui/src/lib/components/dropdown/src/dropdown.component.html","../../../projects/mapa-library-ui/src/lib/components/dropdown/src/dropdown.module.ts","../../../projects/mapa-library-ui/src/lib/components/dropdown/public-api.ts","../../../projects/mapa-library-ui/src/lib/components/dropdown/mapa-library-ui-src-lib-components-dropdown.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\nimport { FormControl } from '@angular/forms';\n\nimport { Dropdown, ElementOption } from 'mapa-library-ui';\n\n@Component({\n selector: 'mapa-option',\n templateUrl: './option.component.html',\n styleUrls: ['./option.component.scss']\n})\nexport class MapaOptionComponent {\n @Input() control!: FormControl;\n @Input() element!: Dropdown;\n\n optionsFilter!: ElementOption[];\n\n constructor() {\n this.optionsFilter = this.element?.options;\n }\n\n emit(option: ElementOption): void {\n if (this.element?.multiple) {\n\n } else {\n this.control.setValue([option.value]);\n }\n }\n}\n","<ul>\n <li *ngFor=\"let option of element.options; track option\" (click)=\"emit(option)\">{{ option.value }}</li>\n</ul>","import { Component, Input, ViewEncapsulation } from '@angular/core';\nimport { FormControl } from '@angular/forms';\n\nimport { Dropdown } from 'mapa-library-ui';\n\n@Component({\n selector: 'mapa-dropdown',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MapaDropdownComponent {\n @Input() formControl!: FormControl;\n @Input() element!: Dropdown;\n @Input() border: 'soft__border' | null | undefined;\n\n opened: boolean = false;\n\n toggleOptions(): void {\n this.opened = !this.opened;\n }\n\n}\n","<div class=\"mapa-dropdown\">\n <label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n </label>\n <span \n class=\"mapa-dropdown__content\"\n [class.soft__border]=\"border === 'soft__border'\"\n [class.mapa-dropdown__content--labeled]=\"!!element.label\"\n (click)=\"toggleOptions()\"\n >\n <span>\n <span class=\"mapa-dropdown__content--selected\" *ngIf=\"(formControl.value?.length || 0) > 0; else placeholder\">\n {{formControl.value?.[0] || ''}}\n <span class=\"mapa-dropdown__content--selected-others\" *ngIf=\"(formControl.value?.length || 0) > 1\">\n (+{{ (formControl.value?.length || 0) - 1 }}\n {{ formControl.value?.length === 2 ? \"outro\" : \"outros\" }})\n </span>\n </span>\n <ng-template #placeholder>\n <span class=\"mapa-dropdown__content--placeholder\">\n {{ element.placeholder || element.label }}\n </span>\n </ng-template>\n </span>\n <span>\n <mat-icon *ngIf=\"!opened\">keyboard_arrow_down</mat-icon>\n <mat-icon *ngIf=\"opened\">keyboard_arrow_up</mat-icon>\n </span>\n <div class=\"mapa-dropdown__options\" *ngIf=\"opened\">\n <mapa-option [control]=\"formControl\" [element]=\"element\"></mapa-option>\n </div>\n </span>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { MatListModule } from '@angular/material/list';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { MapaDropdownComponent } from './dropdown.component';\nimport { MapaOptionComponent } from './option/option.component';\n\n\n@NgModule({\n declarations: [MapaDropdownComponent, MapaOptionComponent],\n exports: [MapaDropdownComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatListModule,\n MatIconModule,\n ],\n})\nexport class MapaDropdownModule {}\n","/*\n * Public API Surface of mapa-library-ui dropdown\n */\n\nexport * from './src/dropdown.component';\nexport * from './src/dropdown.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3.MapaOptionComponent"],"mappings":"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"}
1
+ {"version":3,"file":"mapa-library-ui-src-lib-components-dropdown.mjs","sources":["../../../projects/mapa-library-ui/src/lib/core/elements/element-base.ts","../../../projects/mapa-library-ui/src/lib/core/elements/dropdown.ts","../../../projects/mapa-library-ui/src/lib/components/dropdown/src/dropdown.component.ts","../../../projects/mapa-library-ui/src/lib/components/dropdown/src/dropdown.component.html","../../../projects/mapa-library-ui/src/lib/components/dropdown/src/dropdown.module.ts","../../../projects/mapa-library-ui/src/lib/components/dropdown/public-api.ts","../../../projects/mapa-library-ui/src/dropdown.ts","../../../projects/mapa-library-ui/src/mapa-library-ui-src-lib-components-dropdown.ts"],"sourcesContent":["import { ElementOption } from '../interfaces/option.interface';\nimport { ElementSearch } from './element-search';\n\nexport class ElementBase {\n value: string;\n key: string;\n label: string;\n required: boolean;\n order: number;\n controlType: string;\n type: string;\n placeholder?: string;\n hint?: string;\n prefix?: string;\n suffix?: string;\n autosize?: boolean;\n autosizeMinWidth?: string;\n autosizeMaxWidth?: string;\n options: ElementOption[];\n multiple?: boolean;\n search?: ElementSearch;\n \n constructor(\n options: {\n value?: string;\n key?: string;\n label?: string;\n required?: boolean;\n order?: number;\n controlType?: string;\n type?: string;\n placeholder?: string;\n hint?: string;\n prefix?: string;\n suffix?: string;\n autosize?: boolean;\n autosizeMinWidth?: string;\n autosizeMaxWidth?: string;\n options?: ElementOption[];\n multiple?: boolean;\n search?: ElementSearch;\n } = {}\n ) {\n this.value = options.value || '';\n this.key = options.key || '';\n this.label = options.label || '';\n this.required = !!options.required;\n this.order = options.order === undefined ? 1 : options.order;\n this.controlType = options.controlType || '';\n this.type = options.type || '';\n this.placeholder = options.placeholder || '';\n this.hint = options.hint || '';\n this.prefix = options.prefix || '';\n this.suffix = options.suffix || '';\n this.autosize = options.autosize || false;\n this.autosizeMinWidth = options.autosizeMinWidth || '212px';\n this.autosizeMaxWidth = options.autosizeMaxWidth || '400px';\n this.options = options.options || [];\n this.multiple = options.multiple || false;\n this.search = options.search || undefined;\n }\n}\n","import { ElementBase } from './element-base';\n\nexport class Dropdown extends ElementBase {\n override controlType = 'dropdown';\n}\n","import { AfterViewInit, Component, Input, OnDestroy, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { FormControl } from '@angular/forms';\n\nimport { Dropdown } from 'mapa-library-ui';\nimport { ReplaySubject } from 'rxjs/internal/ReplaySubject';\nimport { ElementOption } from '../../../core/interfaces/option.interface';\nimport { Subject } from 'rxjs/internal/Subject';\nimport { take, takeUntil } from 'rxjs';\nimport { MatSelect } from '@angular/material/select';\n\n@Component({\n selector: 'mapa-dropdown',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MapaDropdownComponent implements OnInit, AfterViewInit, OnDestroy {\n @Input() formControl!: FormControl;\n @Input() formControlSearch!: FormControl;\n @Input() element!: Dropdown;\n @Input() border: 'soft__border' | null | undefined;\n \n @ViewChild('dropdown', { static: true }) dropdown!: MatSelect;\n\n public filteredOptions: ReplaySubject<ElementOption[]> = new ReplaySubject<ElementOption[]>(1);\n protected _onDestroy = new Subject<void>();\n\n constructor() {}\n\n ngOnInit() {\n this.filteredOptions.next(this.element.options.slice());\n\n if (this.element.search) {\n this.element.search.formControl?.valueChanges\n .pipe(takeUntil(this._onDestroy))\n .subscribe(() => {\n this.filterOptions();\n });\n }\n }\n\n ngAfterViewInit() {\n this.setInitialValue();\n }\n\n ngOnDestroy() {\n this._onDestroy.next();\n this._onDestroy.complete();\n }\n\n protected setInitialValue() {\n /*if (this.element.search && this.element.search.formControl) {\n this.element.search.formControl\n .pipe(take(1), takeUntil(this._onDestroy))\n .subscribe(() => {\n // setting the compareWith property to a comparison function\n // triggers initializing the selection according to the initial value of\n // the form control (i.e. _initializeSelection())\n // this needs to be done after the filteredBanks are loaded initially\n // and after the mat-option elements are available\n this.dropdown.compareWith = (a: ElementOption, b: ElementOption) => a && b && a.key === b.key;\n })\n }*/\n }\n\n protected filterOptions() {\n if (!this.element.options) {\n return;\n }\n // get the search keyword\n let search = this.element.search?.formControl?.value;\n if (!search) {\n this.filteredOptions.next(this.element.options.slice());\n return;\n } else {\n search = search.toLowerCase();\n }\n // filter the options\n this.filteredOptions.next(\n this.element.options.filter((option: { value: string; }) => option.value.toLowerCase().indexOf(search) > -1)\n );\n }\n}\n","<label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n</label>\n<mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft__border'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\">\n <mat-select\n #dropdown\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"true\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n ></ngx-mat-select-search>\n </mat-option>\n\n <mat-option *ngFor=\"let option of filteredOptions | async\" [value]=\"option.value\">\n {{ option.value }}\n </mat-option>\n </mat-select>\n</mat-form-field>\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { MatListModule } from \"@angular/material/list\";\nimport { MatIconModule } from \"@angular/material/icon\";\n\nimport { MapaDropdownComponent } from \"./dropdown.component\";\nimport { MAT_SELECT_CONFIG, MatSelectModule } from \"@angular/material/select\";\nimport { NgxMatSelectSearchModule } from \"ngx-mat-select-search\";\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from \"@angular/material/form-field\";\n\n@NgModule({\n declarations: [MapaDropdownComponent],\n exports: [MapaDropdownComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatListModule,\n MatIconModule,\n MatSelectModule,\n NgxMatSelectSearchModule,\n ],\n providers: [\n {\n provide: MAT_SELECT_CONFIG,\n useValue: { overlayPanelClass: \"mapa-overlay-dropdown\" },\n },\n {\n provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,\n useValue: { appearance: \"outline\" },\n },\n ],\n})\nexport class MapaDropdownModule {}\n","/*\n * Public API Surface of mapa-library-ui dropdown\n */\n\nexport * from './src/dropdown.component';\nexport * from './src/dropdown.module';\n","/*\n * Public API Surface of mapa-library-ui dropdown\n */\n\nexport * from './lib/core/elements/element-search';\nexport * from './lib/core/elements/element-base';\nexport * from './lib/core/elements/dropdown';\n\nexport * from './lib/components/dropdown/public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './dropdown';\n"],"names":[],"mappings":"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"}
@@ -108,10 +108,10 @@ class FiltersComponent {
108
108
  }
109
109
  }
110
110
  FiltersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
111
- 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$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.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"] }] });
111
+ 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$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.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"] }] });
112
112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FiltersComponent, decorators: [{
113
113
  type: Component,
114
- 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"] }]
114
+ 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"] }]
115
115
  }], propDecorators: { form: [{
116
116
  type: Input
117
117
  }], elements: [{
@@ -1 +1 @@
1
- {"version":3,"file":"mapa-library-ui-src-lib-components-filters.mjs","sources":["../../../projects/mapa-library-ui/src/lib/components/button/src/button.component.ts","../../../projects/mapa-library-ui/src/lib/components/button/src/button.component.html","../../../projects/mapa-library-ui/src/lib/components/button/src/button.module.ts","../../../projects/mapa-library-ui/src/lib/components/button/public-api.ts","../../../projects/mapa-library-ui/src/lib/components/icon/src/icon.component.ts","../../../projects/mapa-library-ui/src/lib/components/icon/src/icon.component.html","../../../projects/mapa-library-ui/src/lib/components/icon/src/icon.module.ts","../../../projects/mapa-library-ui/src/lib/components/icon/public-api.ts","../../../projects/mapa-library-ui/src/lib/components/filters/src/filters.component.ts","../../../projects/mapa-library-ui/src/lib/components/filters/src/filters.component.html","../../../projects/mapa-library-ui/src/lib/components/filters/src/filters.module.ts","../../../projects/mapa-library-ui/src/lib/components/filters/public-api.ts","../../../projects/mapa-library-ui/src/filters.ts","../../../projects/mapa-library-ui/src/mapa-library-ui-src-lib-components-filters.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'mapa-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss']\n})\nexport class ButtonComponent {\n @Input() color: 'primary' | 'accent' | 'basic' | null | undefined;\n @Input() disabled!: boolean;\n @Output() clicked: EventEmitter<void> = new EventEmitter<void>();\n\n onClick(): void {\n this.clicked.emit();\n }\n}\n","<button\n class=\"mapa-button\"\n (click)=\"onClick()\"\n [class.primary]=\"color === 'primary'\"\n [class.accent]=\"color === 'accent'\"\n [class.basic]=\"color === 'basic'\"\n [disabled]=\"disabled\"\n>\n <ng-content></ng-content>\n</button> ","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { ButtonComponent } from './button.component';\n\n@NgModule({\n declarations: [ButtonComponent],\n exports: [ButtonComponent],\n imports: [CommonModule, MatButtonModule],\n})\nexport class MapaButtonModule {}\n","/*\n * Public API Surface of mapa-library-ui button\n */\n\nexport * from './src/button.component';\nexport * from './src/button.module';\n","import { Component, Input } from '@angular/core';\nimport { MatIconRegistry } from \"@angular/material/icon\";\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Component({\n selector: 'mapa-icon',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss']\n})\nexport class IconComponent {\n @Input() svg: string | null | undefined;\n\n constructor(\n private matIconRegistry: MatIconRegistry,\n private domSanitizer: DomSanitizer\n ) {}\n\n ngOnChanges(): void {\n this.registerCustomIcons(this.svg!);\n }\n\n registerCustomIcons(svg: string): void {\n this.matIconRegistry.addSvgIcon(\n svg,\n this.domSanitizer.bypassSecurityTrustResourceUrl(`../../../../assets/${svg}.svg`)\n );\n }\n}\n","<mat-icon *ngIf=\"svg\" [svgIcon]=\"svg\"></mat-icon>\n<mat-icon *ngIf=\"!svg\"><ng-content></ng-content></mat-icon>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { IconComponent } from './icon.component';\n\n@NgModule({\n declarations: [IconComponent],\n exports: [IconComponent],\n imports: [CommonModule, MatIconModule],\n})\nexport class MapaIconModule {}\n","/*\n * Public API Surface of mapa-library-ui icon\n */\n\nexport * from './src/icon.component';\nexport * from './src/icon.module';","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\n\nimport { ElementBase } from 'mapa-library-ui';\n\n@Component({\n selector: 'mapa-filters',\n templateUrl: './filters.component.html',\n styleUrls: ['./filters.component.scss']\n})\nexport class FiltersComponent { //implements OnInit\n @Input() form!: FormGroup;\n @Input() elements!: ElementBase[];\n @Output() selectedValues = new EventEmitter<any>();\n\n getFormControl(filterKey: string): FormControl {\n return this.form.get(filterKey) as FormControl;\n }\n\n clearFilters() {\n this.form.reset();\n }\n\n emitSelectedValues() {\n this.selectedValues.emit(this.form.value);\n }\n\n /* \n public inputTextSearchAutoresize: InputText = new InputText({\n label: '',\n hint: 'Buscar pelo NOME, CPF ou EMAIL do avaliado',\n suffix: 'search',\n autosize: true,\n autosizeMinWidth: '535px',\n autosizeMaxWidth: '800px'\n }); \n \n isNoFilterSelected(): boolean {\n return this.arrayFilters.some(filter => {\n if (filter instanceof Dropdown) {\n const dropdownValue = this.formGroup.get(filter.key)?.value;\n return dropdownValue !== null && dropdownValue !== undefined && dropdownValue !== '';\n } else if (filter instanceof InputText) {\n const inputValue = this.formGroup.get(filter.key)?.value;\n return inputValue !== null && inputValue !== undefined && inputValue !== '';\n }\n return false;\n });\n }\n */\n \n}\n","<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","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MapaButtonModule } from 'mapa-library-ui/src/lib/components/button';\nimport { MapaCheckboxModule } from 'mapa-library-ui/src/lib/components/checkbox';\nimport { MapaDropdownModule } from 'mapa-library-ui/src/lib/components/dropdown';\nimport { MapaInputModule } from 'mapa-library-ui/src/lib/components/input';\n\nimport { FiltersComponent } from './filters.component';\n\n@NgModule({\n declarations: [\n FiltersComponent\n ],\n imports: [\n CommonModule,\n MapaButtonModule,\n MapaCheckboxModule,\n MapaDropdownModule,\n MapaInputModule,\n ],\n exports: [FiltersComponent],\n})\nexport class MapaFiltersModule {}\n","/*\n * Public API Surface of mapa-library-ui dropdown\n */\n\nexport * from './src/filters.component';\nexport * from './src/filters.module';\n","/*\n * Public API Surface of mapa-library-ui filters\n */\n\nexport * from './lib/components/button/public-api';\nexport * from './lib/components/icon/public-api';\nexport * from './lib/components/filters/public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './filters';\n"],"names":["i3","i1","i2","MapaButtonModule"],"mappings":"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"}
1
+ {"version":3,"file":"mapa-library-ui-src-lib-components-filters.mjs","sources":["../../../projects/mapa-library-ui/src/lib/components/button/src/button.component.ts","../../../projects/mapa-library-ui/src/lib/components/button/src/button.component.html","../../../projects/mapa-library-ui/src/lib/components/button/src/button.module.ts","../../../projects/mapa-library-ui/src/lib/components/button/public-api.ts","../../../projects/mapa-library-ui/src/lib/components/icon/src/icon.component.ts","../../../projects/mapa-library-ui/src/lib/components/icon/src/icon.component.html","../../../projects/mapa-library-ui/src/lib/components/icon/src/icon.module.ts","../../../projects/mapa-library-ui/src/lib/components/icon/public-api.ts","../../../projects/mapa-library-ui/src/lib/components/filters/src/filters.component.ts","../../../projects/mapa-library-ui/src/lib/components/filters/src/filters.component.html","../../../projects/mapa-library-ui/src/lib/components/filters/src/filters.module.ts","../../../projects/mapa-library-ui/src/lib/components/filters/public-api.ts","../../../projects/mapa-library-ui/src/filters.ts","../../../projects/mapa-library-ui/src/mapa-library-ui-src-lib-components-filters.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'mapa-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss']\n})\nexport class ButtonComponent {\n @Input() color: 'primary' | 'accent' | 'basic' | null | undefined;\n @Input() disabled!: boolean;\n @Output() clicked: EventEmitter<void> = new EventEmitter<void>();\n\n onClick(): void {\n this.clicked.emit();\n }\n}\n","<button\n class=\"mapa-button\"\n (click)=\"onClick()\"\n [class.primary]=\"color === 'primary'\"\n [class.accent]=\"color === 'accent'\"\n [class.basic]=\"color === 'basic'\"\n [disabled]=\"disabled\"\n>\n <ng-content></ng-content>\n</button> ","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { ButtonComponent } from './button.component';\n\n@NgModule({\n declarations: [ButtonComponent],\n exports: [ButtonComponent],\n imports: [CommonModule, MatButtonModule],\n})\nexport class MapaButtonModule {}\n","/*\n * Public API Surface of mapa-library-ui button\n */\n\nexport * from './src/button.component';\nexport * from './src/button.module';\n","import { Component, Input } from '@angular/core';\nimport { MatIconRegistry } from \"@angular/material/icon\";\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Component({\n selector: 'mapa-icon',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss']\n})\nexport class IconComponent {\n @Input() svg: string | null | undefined;\n\n constructor(\n private matIconRegistry: MatIconRegistry,\n private domSanitizer: DomSanitizer\n ) {}\n\n ngOnChanges(): void {\n this.registerCustomIcons(this.svg!);\n }\n\n registerCustomIcons(svg: string): void {\n this.matIconRegistry.addSvgIcon(\n svg,\n this.domSanitizer.bypassSecurityTrustResourceUrl(`../../../../assets/${svg}.svg`)\n );\n }\n}\n","<mat-icon *ngIf=\"svg\" [svgIcon]=\"svg\"></mat-icon>\n<mat-icon *ngIf=\"!svg\"><ng-content></ng-content></mat-icon>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { IconComponent } from './icon.component';\n\n@NgModule({\n declarations: [IconComponent],\n exports: [IconComponent],\n imports: [CommonModule, MatIconModule],\n})\nexport class MapaIconModule {}\n","/*\n * Public API Surface of mapa-library-ui icon\n */\n\nexport * from './src/icon.component';\nexport * from './src/icon.module';","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\n\nimport { ElementBase } from 'mapa-library-ui';\n\n@Component({\n selector: 'mapa-filters',\n templateUrl: './filters.component.html',\n styleUrls: ['./filters.component.scss']\n})\nexport class FiltersComponent { //implements OnInit\n @Input() form!: FormGroup;\n @Input() elements!: ElementBase[];\n @Output() selectedValues = new EventEmitter<any>();\n\n getFormControl(filterKey: string): FormControl {\n return this.form.get(filterKey) as FormControl;\n }\n\n clearFilters() {\n this.form.reset();\n }\n\n emitSelectedValues() {\n this.selectedValues.emit(this.form.value);\n }\n\n /* \n public inputTextSearchAutoresize: InputText = new InputText({\n label: '',\n hint: 'Buscar pelo NOME, CPF ou EMAIL do avaliado',\n suffix: 'search',\n autosize: true,\n autosizeMinWidth: '535px',\n autosizeMaxWidth: '800px'\n }); \n \n isNoFilterSelected(): boolean {\n return this.arrayFilters.some(filter => {\n if (filter instanceof Dropdown) {\n const dropdownValue = this.formGroup.get(filter.key)?.value;\n return dropdownValue !== null && dropdownValue !== undefined && dropdownValue !== '';\n } else if (filter instanceof InputText) {\n const inputValue = this.formGroup.get(filter.key)?.value;\n return inputValue !== null && inputValue !== undefined && inputValue !== '';\n }\n return false;\n });\n }\n */\n \n}\n","<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","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MapaButtonModule } from 'mapa-library-ui/src/lib/components/button';\nimport { MapaCheckboxModule } from 'mapa-library-ui/src/lib/components/checkbox';\nimport { MapaDropdownModule } from 'mapa-library-ui/src/lib/components/dropdown';\nimport { MapaInputModule } from 'mapa-library-ui/src/lib/components/input';\n\nimport { FiltersComponent } from './filters.component';\n\n@NgModule({\n declarations: [\n FiltersComponent\n ],\n imports: [\n CommonModule,\n MapaButtonModule,\n MapaCheckboxModule,\n MapaDropdownModule,\n MapaInputModule,\n ],\n exports: [FiltersComponent],\n})\nexport class MapaFiltersModule {}\n","/*\n * Public API Surface of mapa-library-ui dropdown\n */\n\nexport * from './src/filters.component';\nexport * from './src/filters.module';\n","/*\n * Public API Surface of mapa-library-ui filters\n */\n\nexport * from './lib/components/button/public-api';\nexport * from './lib/components/icon/public-api';\nexport * from './lib/components/filters/public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './filters';\n"],"names":["i3","i1","i2","MapaButtonModule"],"mappings":"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"}