mapa-library-ui 0.4.2 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/esm2020/lib/core/elements/element-base.mjs +1 -1
  2. package/esm2020/lib/core/interfaces/element-group.interface.mjs +2 -0
  3. package/esm2020/src/lib/components/capability/lib/components/dropdown/src/dropdown.component.mjs +61 -17
  4. package/esm2020/src/lib/components/capability/lib/core/elements/element-base.mjs +1 -1
  5. package/esm2020/src/lib/components/capability/lib/core/interfaces/element-group.interface.mjs +2 -0
  6. package/esm2020/src/lib/components/chart/lib/components/dropdown/src/dropdown.component.mjs +61 -17
  7. package/esm2020/src/lib/components/chart/lib/core/elements/element-base.mjs +1 -1
  8. package/esm2020/src/lib/components/chart/lib/core/interfaces/element-group.interface.mjs +2 -0
  9. package/esm2020/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.component.mjs +61 -17
  10. package/esm2020/src/lib/components/dropdown/lib/core/elements/element-base.mjs +1 -1
  11. package/esm2020/src/lib/components/dropdown/lib/core/interfaces/element-group.interface.mjs +2 -0
  12. package/esm2020/src/lib/components/radio-button/lib/components/radio-button/src/radio-button.component.mjs +7 -3
  13. package/esm2020/src/lib/components/radio-button/lib/core/elements/element-base.mjs +1 -1
  14. package/esm2020/src/lib/components/radio-button/lib/core/interfaces/element-group.interface.mjs +2 -0
  15. package/esm2020/src/lib/components/table/lib/components/table/src/table.component.mjs +22 -3
  16. package/esm2020/src/lib/components/textarea/lib/core/elements/element-base.mjs +1 -1
  17. package/esm2020/src/lib/components/textarea/lib/core/interfaces/element-group.interface.mjs +2 -0
  18. package/esm2020/src/lib/components/warning/src/warning.component.mjs +29 -7
  19. package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs +61 -16
  20. package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
  21. package/fesm2015/mapa-library-ui-src-lib-components-chart.mjs +61 -16
  22. package/fesm2015/mapa-library-ui-src-lib-components-chart.mjs.map +1 -1
  23. package/fesm2015/mapa-library-ui-src-lib-components-dropdown.mjs +61 -16
  24. package/fesm2015/mapa-library-ui-src-lib-components-dropdown.mjs.map +1 -1
  25. package/fesm2015/mapa-library-ui-src-lib-components-radio-button.mjs +6 -2
  26. package/fesm2015/mapa-library-ui-src-lib-components-radio-button.mjs.map +1 -1
  27. package/fesm2015/mapa-library-ui-src-lib-components-table.mjs +21 -2
  28. package/fesm2015/mapa-library-ui-src-lib-components-table.mjs.map +1 -1
  29. package/fesm2015/mapa-library-ui-src-lib-components-warning.mjs +29 -7
  30. package/fesm2015/mapa-library-ui-src-lib-components-warning.mjs.map +1 -1
  31. package/fesm2015/mapa-library-ui.mjs.map +1 -1
  32. package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs +60 -16
  33. package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
  34. package/fesm2020/mapa-library-ui-src-lib-components-chart.mjs +60 -16
  35. package/fesm2020/mapa-library-ui-src-lib-components-chart.mjs.map +1 -1
  36. package/fesm2020/mapa-library-ui-src-lib-components-dropdown.mjs +60 -16
  37. package/fesm2020/mapa-library-ui-src-lib-components-dropdown.mjs.map +1 -1
  38. package/fesm2020/mapa-library-ui-src-lib-components-radio-button.mjs +6 -2
  39. package/fesm2020/mapa-library-ui-src-lib-components-radio-button.mjs.map +1 -1
  40. package/fesm2020/mapa-library-ui-src-lib-components-table.mjs +21 -2
  41. package/fesm2020/mapa-library-ui-src-lib-components-table.mjs.map +1 -1
  42. package/fesm2020/mapa-library-ui-src-lib-components-warning.mjs +29 -7
  43. package/fesm2020/mapa-library-ui-src-lib-components-warning.mjs.map +1 -1
  44. package/fesm2020/mapa-library-ui.mjs.map +1 -1
  45. package/lib/core/elements/element-base.d.ts +3 -2
  46. package/lib/core/interfaces/element-group.interface.d.ts +5 -0
  47. package/mapa-library-ui-0.5.1.tgz +0 -0
  48. package/package.json +1 -1
  49. package/src/lib/components/capability/lib/components/dropdown/src/dropdown.component.d.ts +6 -0
  50. package/src/lib/components/capability/lib/core/elements/element-base.d.ts +3 -2
  51. package/src/lib/components/capability/lib/core/interfaces/element-group.interface.d.ts +5 -0
  52. package/src/lib/components/chart/lib/components/dropdown/src/dropdown.component.d.ts +6 -0
  53. package/src/lib/components/chart/lib/core/elements/element-base.d.ts +3 -2
  54. package/src/lib/components/chart/lib/core/interfaces/element-group.interface.d.ts +5 -0
  55. package/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.component.d.ts +6 -0
  56. package/src/lib/components/dropdown/lib/core/elements/element-base.d.ts +3 -2
  57. package/src/lib/components/dropdown/lib/core/interfaces/element-group.interface.d.ts +5 -0
  58. package/src/lib/components/radio-button/lib/components/radio-button/src/radio-button.component.d.ts +4 -2
  59. package/src/lib/components/radio-button/lib/core/elements/element-base.d.ts +3 -2
  60. package/src/lib/components/radio-button/lib/core/interfaces/element-group.interface.d.ts +5 -0
  61. package/src/lib/components/table/lib/components/table/src/table.component.d.ts +6 -3
  62. package/src/lib/components/textarea/lib/core/elements/element-base.d.ts +3 -2
  63. package/src/lib/components/textarea/lib/core/interfaces/element-group.interface.d.ts +5 -0
  64. package/src/lib/components/warning/src/warning.component.d.ts +11 -4
  65. package/mapa-library-ui-0.4.2.tgz +0 -0
@@ -1,19 +1,41 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Component, Input, NgModule } from '@angular/core';
3
- import * as i1 from '@angular/material/icon';
4
- import { MatIconModule } from '@angular/material/icon';
3
+ import * as i1 from '@angular/common';
5
4
  import { CommonModule } from '@angular/common';
5
+ import * as i2 from '@angular/material/icon';
6
+ import { MatIconModule } from '@angular/material/icon';
6
7
 
7
8
  class MapaWarningComponent {
9
+ constructor() {
10
+ this.lowReliabilityReports = [];
11
+ this.showFirstLine = false;
12
+ this.showSecondLine = false;
13
+ this.expirationDateReports = [];
14
+ this.nonExpirationDateReports = [];
15
+ }
16
+ ngOnInit() {
17
+ this.updateVisibilityFlags();
18
+ this.generateReportArrays();
19
+ }
20
+ updateVisibilityFlags() {
21
+ this.showFirstLine = this.lowReliabilityReports.some(report => report.instrument && report.date);
22
+ this.showSecondLine = this.lowReliabilityReports.some(report => report.isExpirationDate);
23
+ }
24
+ generateReportArrays() {
25
+ this.expirationDateReports = this.lowReliabilityReports
26
+ .filter(report => report.isExpirationDate)
27
+ .map((report, index, array) => `${report.instrument} - ${report.date}${index < array.length - 1 ? ', ' : ''}`);
28
+ this.nonExpirationDateReports = this.lowReliabilityReports
29
+ .filter(report => !report.isExpirationDate)
30
+ .map((report, index, array) => `${report.instrument} - ${report.date}${index < array.length - 1 ? ', ' : ''}`);
31
+ }
8
32
  }
9
33
  MapaWarningComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaWarningComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
- MapaWarningComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaWarningComponent, selector: "mapa-warning", inputs: { firstLine: "firstLine", secondLine: "secondLine" }, ngImport: i0, template: "<div class=\"warning\">\n <div class=\"material-icons\">\n <mat-icon>warning</mat-icon>\n </div>\n <div>\n <p>\n {{ firstLine }}\n </p>\n <p>\n {{ secondLine }}\n </p>\n </div>\n</div>\n", styles: [".warning{background:#eedb2a;display:flex;padding:21px 45px;align-items:flex-start}.warning p{font-family:SF-Pro;font-size:14px;font-style:normal;font-weight:500;line-height:20px;margin:0}.warning .material-icons{margin-right:16px;margin-top:auto;margin-bottom:auto;display:flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
34
+ MapaWarningComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaWarningComponent, selector: "mapa-warning", inputs: { lowReliabilityReports: "lowReliabilityReports" }, ngImport: i0, template: "<div class=\"warning\">\n <div class=\"material-icons\">\n <mat-icon>warning</mat-icon>\n </div>\n <div>\n <p *ngIf=\"showFirstLine\">\n N\u00EDvel baixo de confiabilidade no(s) teste(s): \n <span *ngFor=\"let report of nonExpirationDateReports\">{{ report }}</span>.\n </p>\n <p *ngIf=\"showSecondLine\">\n O prazo de validade do(s) teste(s) est\u00E1 no limite: \n <span *ngFor=\"let report of expirationDateReports\">{{ report }}</span>.\n </p>\n </div>\n</div>\n", styles: [".warning{background:#eedb2a;display:flex;padding:21px 45px;align-items:flex-start}.warning p{font-family:SF-Pro;font-size:14px;font-style:normal;font-weight:500;line-height:20px;margin:0}.warning .material-icons{margin-right:16px;margin-top:auto;margin-bottom:auto;display:flex;align-items:center;justify-content:center}\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.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
11
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaWarningComponent, decorators: [{
12
36
  type: Component,
13
- args: [{ selector: 'mapa-warning', template: "<div class=\"warning\">\n <div class=\"material-icons\">\n <mat-icon>warning</mat-icon>\n </div>\n <div>\n <p>\n {{ firstLine }}\n </p>\n <p>\n {{ secondLine }}\n </p>\n </div>\n</div>\n", styles: [".warning{background:#eedb2a;display:flex;padding:21px 45px;align-items:flex-start}.warning p{font-family:SF-Pro;font-size:14px;font-style:normal;font-weight:500;line-height:20px;margin:0}.warning .material-icons{margin-right:16px;margin-top:auto;margin-bottom:auto;display:flex;align-items:center;justify-content:center}\n"] }]
14
- }], propDecorators: { firstLine: [{
15
- type: Input
16
- }], secondLine: [{
37
+ args: [{ selector: 'mapa-warning', template: "<div class=\"warning\">\n <div class=\"material-icons\">\n <mat-icon>warning</mat-icon>\n </div>\n <div>\n <p *ngIf=\"showFirstLine\">\n N\u00EDvel baixo de confiabilidade no(s) teste(s): \n <span *ngFor=\"let report of nonExpirationDateReports\">{{ report }}</span>.\n </p>\n <p *ngIf=\"showSecondLine\">\n O prazo de validade do(s) teste(s) est\u00E1 no limite: \n <span *ngFor=\"let report of expirationDateReports\">{{ report }}</span>.\n </p>\n </div>\n</div>\n", styles: [".warning{background:#eedb2a;display:flex;padding:21px 45px;align-items:flex-start}.warning p{font-family:SF-Pro;font-size:14px;font-style:normal;font-weight:500;line-height:20px;margin:0}.warning .material-icons{margin-right:16px;margin-top:auto;margin-bottom:auto;display:flex;align-items:center;justify-content:center}\n"] }]
38
+ }], propDecorators: { lowReliabilityReports: [{
17
39
  type: Input
18
40
  }] } });
19
41
 
@@ -1 +1 @@
1
- {"version":3,"file":"mapa-library-ui-src-lib-components-warning.mjs","sources":["../../../projects/mapa-library-ui/src/lib/components/warning/src/warning.component.ts","../../../projects/mapa-library-ui/src/lib/components/warning/src/warning.component.html","../../../projects/mapa-library-ui/src/lib/components/warning/src/warning.module.ts","../../../projects/mapa-library-ui/src/lib/components/warning/public-api.ts","../../../projects/mapa-library-ui/src/lib/components/warning/mapa-library-ui-src-lib-components-warning.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'mapa-warning',\n templateUrl: './warning.component.html',\n styleUrls: ['./warning.component.scss']\n})\nexport class MapaWarningComponent {\n @Input() firstLine: string | undefined;\n @Input() secondLine: string | undefined;\n}\n","<div class=\"warning\">\n <div class=\"material-icons\">\n <mat-icon>warning</mat-icon>\n </div>\n <div>\n <p>\n {{ firstLine }}\n </p>\n <p>\n {{ secondLine }}\n </p>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MapaWarningComponent } from './warning.component';\nimport { MatIconModule } from '@angular/material/icon';\n\n\n\n@NgModule({\n declarations: [\n MapaWarningComponent\n ],\n imports: [\n CommonModule,\n MatIconModule\n ],\n exports: [MapaWarningComponent],\n})\nexport class MapaWarningModule { }\n","/*\n * Public API Surface of mapa-library-ui icon\n */\n\nexport * from './src/warning.component';\nexport * from './src/warning.module';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAOa,oBAAoB,CAAA;;kHAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,kHCPjC,yNAaA,EAAA,MAAA,EAAA,CAAA,oUAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDNa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACE,cAAc,EAAA,QAAA,EAAA,yNAAA,EAAA,MAAA,EAAA,CAAA,oUAAA,CAAA,EAAA,CAAA;8BAKf,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;;;MEQK,iBAAiB,CAAA;;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAjB,iBAAiB,EAAA,YAAA,EAAA,CAR1B,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAGpB,YAAY;AACZ,QAAA,aAAa,aAEL,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAEnB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAL1B,YAAY;QACZ,aAAa,CAAA,EAAA,CAAA,CAAA;4FAIJ,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAV7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,oBAAoB;AACrB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,aAAa;AACd,qBAAA;oBACD,OAAO,EAAE,CAAC,oBAAoB,CAAC;AAChC,iBAAA,CAAA;;;AChBD;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"mapa-library-ui-src-lib-components-warning.mjs","sources":["../../../projects/mapa-library-ui/src/lib/components/warning/src/warning.component.ts","../../../projects/mapa-library-ui/src/lib/components/warning/src/warning.component.html","../../../projects/mapa-library-ui/src/lib/components/warning/src/warning.module.ts","../../../projects/mapa-library-ui/src/lib/components/warning/public-api.ts","../../../projects/mapa-library-ui/src/lib/components/warning/mapa-library-ui-src-lib-components-warning.ts"],"sourcesContent":["import { Component, Input, OnInit, SimpleChanges } from '@angular/core';\n\n@Component({\n selector: 'mapa-warning',\n templateUrl: './warning.component.html',\n styleUrls: ['./warning.component.scss']\n})\nexport class MapaWarningComponent implements OnInit{\n @Input()lowReliabilityReports: any [] = [];\n showFirstLine: boolean = false;\n showSecondLine: boolean = false;\n expirationDateReports: string[] = [];\n nonExpirationDateReports: string[] = [];\n\n ngOnInit() {\n this.updateVisibilityFlags();\n this.generateReportArrays();\n }\n\n updateVisibilityFlags() {\n this.showFirstLine = this.lowReliabilityReports.some(report => report.instrument && report.date);\n this.showSecondLine = this.lowReliabilityReports.some(report => report.isExpirationDate);\n }\n\n generateReportArrays() {\n this.expirationDateReports = this.lowReliabilityReports\n .filter(report => report.isExpirationDate)\n .map((report, index, array) => `${report.instrument} - ${report.date}${index < array.length - 1 ? ', ' : ''}`);\n\n this.nonExpirationDateReports = this.lowReliabilityReports\n .filter(report => !report.isExpirationDate)\n .map((report, index, array) => `${report.instrument} - ${report.date}${index < array.length - 1 ? ', ' : ''}`);\n }\n}\n","<div class=\"warning\">\n <div class=\"material-icons\">\n <mat-icon>warning</mat-icon>\n </div>\n <div>\n <p *ngIf=\"showFirstLine\">\n Nível baixo de confiabilidade no(s) teste(s): \n <span *ngFor=\"let report of nonExpirationDateReports\">{{ report }}</span>.\n </p>\n <p *ngIf=\"showSecondLine\">\n O prazo de validade do(s) teste(s) está no limite: \n <span *ngFor=\"let report of expirationDateReports\">{{ report }}</span>.\n </p>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MapaWarningComponent } from './warning.component';\nimport { MatIconModule } from '@angular/material/icon';\n\n\n\n@NgModule({\n declarations: [\n MapaWarningComponent\n ],\n imports: [\n CommonModule,\n MatIconModule\n ],\n exports: [MapaWarningComponent],\n})\nexport class MapaWarningModule { }\n","/*\n * Public API Surface of mapa-library-ui icon\n */\n\nexport * from './src/warning.component';\nexport * from './src/warning.module';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mapa-library-ui.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/core/elements/input-text.ts","../../../projects/mapa-library-ui/src/lib/core/elements/radio-button.ts","../../../projects/mapa-library-ui/src/lib/core/elements/textarea.ts","../../../projects/mapa-library-ui/src/lib/core/directives/mat-input-autosize.directive.ts","../../../projects/mapa-library-ui/src/lib/core/directives/custom-paginator-legacy.directive.ts","../../../projects/mapa-library-ui/src/public-api.ts","../../../projects/mapa-library-ui/src/mapa-library-ui.ts"],"sourcesContent":["import { ElementOption } from \"../interfaces/element-option.interface\";\nimport { ElementSearch } from \"./element-search\";\nimport { Errors } from \"./errors\";\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 autosizeMinRow?: number;\n autosizeMaxRow?: number;\n options: ElementOption[];\n multiple?: boolean;\n search?: ElementSearch;\n maxLength!: string | number | null;\n errors?: Errors;\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 autosizeMinRow?: number;\n autosizeMaxRow?: number;\n options?: ElementOption[];\n multiple?: boolean;\n search?: ElementSearch;\n maxLength?: string | number | null;\n errors?: Errors;\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.autosizeMinRow = options.autosizeMinRow || 2;\n this.autosizeMaxRow = options.autosizeMaxRow || 5;\n this.options = options.options || [];\n this.multiple = options.multiple || false;\n this.search = options.search || undefined;\n this.maxLength = options.maxLength || null;\n this.errors = options.errors || undefined;\n }\n}\n","import { ElementBase } from './element-base';\n\nexport class Dropdown extends ElementBase {\n override controlType = 'dropdown';\n}\n","import { ElementBase } from './element-base';\n\nexport class InputText extends ElementBase {\n override controlType = 'input';\n}\n","import { ElementBase } from './element-base';\n\nexport class RadioButton extends ElementBase {\n override controlType = 'radio-button';\n}\n","import { ElementBase } from './element-base';\n\nexport class Textarea extends ElementBase {\n override controlType = 'textarea';\n}\n","/*\n* Originally from: https://github.com/anotherkitten/mat-input-autosize\n* @author: Ellie Larson (anotherkitten)\n*/\n\nimport {\n AfterViewInit,\n Directive,\n ElementRef,\n Input,\n OnDestroy,\n Optional,\n Self,\n} from '@angular/core';\nimport { NgModel } from '@angular/forms';\nimport { MatInput } from '@angular/material/input';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n selector: '[matInputAutosize]',\n standalone: true,\n})\nexport class MatInputAutosizeDirective implements AfterViewInit, OnDestroy {\n inputElement: HTMLInputElement;\n hiddenText!: Text;\n changeDetectSub!: Subscription;\n\n @Input() matInputAutosizeMaxWidth: any;\n @Input() matInputAutosizeMinWidth = '120px';\n @Input() matInputAutosizeFontStyle: any;\n\n constructor(\n el: ElementRef<HTMLInputElement>,\n @Self() private childMatInput: MatInput,\n @Optional() @Self() private childNgModel: NgModel\n ) {\n this.inputElement = el.nativeElement;\n }\n\n ngAfterViewInit(): void {\n this.checkErrors();\n this.overwriteParentWidth();\n this.createHiddenTextContainer();\n this.setOwnStyles();\n this.subscribeToChanges();\n }\n\n ngOnDestroy(): void {\n if (this.changeDetectSub) {\n this.changeDetectSub.unsubscribe();\n }\n }\n\n checkErrors(): void {\n if (!(this.inputElement instanceof HTMLInputElement)) {\n throw new Error('matInputAutosize directive must be on an input element');\n }\n\n if (!this.childMatInput) {\n throw new Error(\n 'Element with matInputAutosize directive must also have the matInput directive'\n );\n }\n }\n\n overwriteParentWidth(): void {\n Object.assign((this.inputElement.parentNode as HTMLElement).style, {\n width: '100%',\n });\n }\n\n createHiddenTextContainer(): void {\n const textContainer = document.createElement('div');\n Object.assign(textContainer.style, {\n display: 'inline-block',\n 'max-width': this.matInputAutosizeMaxWidth || null,\n 'min-width': this.matInputAutosizeMinWidth,\n font: this.matInputAutosizeFontStyle || null,\n visibility: 'hidden',\n 'white-space': 'pre',\n });\n this.inputElement.parentNode?.appendChild(textContainer);\n\n this.hiddenText = document.createTextNode(' ');\n textContainer.appendChild(this.hiddenText);\n }\n\n setOwnStyles(): void {\n Object.assign(this.inputElement.style, {\n position: 'absolute',\n left: '0',\n });\n }\n\n subscribeToChanges(): void {\n if (this.childNgModel) {\n this.changeDetectSub = this.childNgModel.control.valueChanges.subscribe(\n this.changeHiddenText\n );\n } else {\n this.inputElement.addEventListener('input', () =>\n this.changeHiddenText(this.inputElement.value)\n );\n }\n }\n\n changeHiddenText = (newValue: string): void => {\n if (this.hiddenText) {\n this.hiddenText.data = newValue + ' ';\n }\n };\n}\n","import {\n AfterViewInit,\n Directive,\n DoCheck,\n Host,\n Optional,\n Renderer2,\n Self,\n ViewContainerRef,\n} from '@angular/core';\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\nimport { MatButton } from '@angular/material/button';\n\n@Directive({\n selector: '[appStylePaginatorMv]',\n standalone: true\n})\nexport class PaginatorLegacyDirective implements DoCheck, AfterViewInit {\n private currentPage: number;\n private pageGapTxt: string[];\n private rangeStart!: number;\n private rangeEnd!: number;\n private buttons: MatButton[] = [];\n private showTotalPages: number;\n private checkPage: number[];\n\n constructor(\n @Host() @Self() @Optional() private readonly matPag: MatPaginator,\n private readonly ViewContainer: ViewContainerRef,\n private readonly renderer: Renderer2\n ) {\n this.currentPage = 1;\n this.pageGapTxt = ['•••', '---'];\n this.showTotalPages = 2;\n this.checkPage = [0, 0, 0];\n // Display custom range label text\n this.matPag._intl.getRangeLabel = (\n page: number,\n pageSize: number,\n length: number\n ): string => {\n const startIndex = page * pageSize;\n const endIndex =\n startIndex < length\n ? Math.min(startIndex + pageSize, length)\n : startIndex + pageSize;\n if (length === 0) {\n return 'Mostrando 0 – 0 de 0 item';\n }\n if (length === 1) {\n return (\n 'Mostrando ' +\n (startIndex + 1) +\n ' – ' +\n endIndex +\n ' de ' +\n length +\n ' item'\n );\n } else {\n return (\n 'Mostrando ' +\n (startIndex + 1) +\n ' – ' +\n endIndex +\n ' de ' +\n length +\n ' itens'\n );\n }\n };\n // Subscribe to rerender buttons when next page and last page button is used\n this.matPag.page.subscribe((paginator: PageEvent) => {\n this.currentPage = paginator.pageIndex;\n this.matPag.pageIndex = paginator.pageIndex;\n this.initPageRange();\n });\n this.matPag._intl.itemsPerPageLabel = 'Itens por página';\n const paginatorIntl = this.matPag._intl;\n paginatorIntl.nextPageLabel = '';\n paginatorIntl.previousPageLabel = '';\n }\n\n ngDoCheck(): void {\n // Reset paginator if the pageSize, pageIndex, length changes\n if (\n this.matPag?.length !== this.checkPage[0] ||\n this.matPag?.pageSize !== this.checkPage[1] ||\n this.matPag?.pageIndex !== this.checkPage[2]\n ) {\n const pageCount = this.matPag.getNumberOfPages();\n if (this.currentPage > pageCount && pageCount !== 0) {\n this.currentPage = 1;\n this.matPag.pageIndex = 0;\n }\n this.currentPage = this.matPag.pageIndex;\n this.initPageRange();\n this.checkPage = [\n this.matPag.length,\n this.matPag.pageSize,\n this.matPag.pageIndex,\n ];\n }\n }\n\n private buildPageNumbers = () => {\n let dots: boolean[];\n let page: number;\n let pageDifference: number;\n let startIndex: number;\n let totalPages: number;\n totalPages = this.matPag.getNumberOfPages();\n // Container div with paginator elements\n const actionContainer =\n this.ViewContainer.element.nativeElement.querySelector(\n 'div.mat-paginator-range-actions'\n );\n // Button that triggers the next page action\n const nextPageNode = this.ViewContainer.element.nativeElement.querySelector(\n 'button.mat-paginator-navigation-next'\n );\n // Label showing the page range\n const pageRange = this.ViewContainer.element.nativeElement.querySelector(\n 'div.mat-paginator-range-label'\n );\n\n let prevButtonCount = this.buttons.length;\n\n // Remove buttons before creating new ones\n if (prevButtonCount > 0) {\n this.buttons.forEach((button) => {\n this.renderer.removeChild(actionContainer, button);\n });\n // Empty state array\n prevButtonCount = 0;\n }\n\n this.renderer.addClass(pageRange, 'custom-paginator-counter');\n this.renderer.addClass(actionContainer, 'custom-paginator-container');\n\n // Initialize next page and last page buttons\n if (prevButtonCount === 0) {\n const nodeArray = actionContainer.childNodes;\n setTimeout(() => {\n for (const node of nodeArray) {\n if (node.nodeName === 'BUTTON') {\n // Next Button styles\n if (node.innerHTML.length > 100 && node.disabled) {\n this.renderer.addClass(node, 'custom-paginator-arrow-disabled');\n this.renderer.removeClass(node, 'custom-paginator-arrow-enabled');\n } else if (node.innerHTML.length > 100 && !node.disabled) {\n this.renderer.addClass(node, 'custom-paginator-arrow-enabled');\n this.renderer.removeClass(\n node,\n 'custom-paginator-arrow-disabled'\n );\n }\n }\n }\n });\n }\n\n dots = [false, false];\n\n if (totalPages > 0) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton('0', this.matPag.pageIndex),\n nextPageNode\n );\n }\n\n page = this.showTotalPages + 2;\n pageDifference = totalPages - page;\n startIndex = Math.max(this.currentPage - this.showTotalPages - 2, 1);\n\n for (let index = startIndex; index < totalPages - 1; index = index + 1) {\n if (\n (index < page && this.currentPage <= this.showTotalPages) ||\n (index >= this.rangeStart && index <= this.rangeEnd) ||\n (this.currentPage > pageDifference && index >= pageDifference) ||\n totalPages < this.showTotalPages + page\n ) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(`${index}`, this.matPag.pageIndex),\n nextPageNode\n );\n } else {\n if (index > this.rangeEnd && !dots[0]) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(this.pageGapTxt[0], this.matPag.pageIndex),\n nextPageNode\n );\n dots[0] = true;\n break;\n }\n if (index < this.rangeEnd && !dots[1]) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(this.pageGapTxt[1], this.matPag.pageIndex),\n nextPageNode\n );\n dots[1] = true;\n }\n }\n }\n\n if (totalPages > 1) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(`${totalPages - 1}`, this.matPag.pageIndex),\n nextPageNode\n );\n }\n };\n\n private createButton(index: string, pageIndex: number): MatButton {\n const linkBtn: MatButton = this.renderer.createElement('button');\n this.renderer.setAttribute(linkBtn, 'class', 'custom-paginator-page');\n this.renderer.addClass(linkBtn, 'custom-paginator-page-enabled');\n if (index === this.pageGapTxt[0] || index === this.pageGapTxt[1]) {\n this.renderer.addClass(linkBtn, 'custom-paginator-arrow-enabled');\n }\n const pagingTxt = isNaN(+index) ? this.pageGapTxt[0] : +index + 1;\n const text = this.renderer.createText(pagingTxt + '');\n this.renderer.addClass(linkBtn, 'mat-custom-page');\n switch (index) {\n case `${pageIndex}`:\n this.renderer.setAttribute(linkBtn, 'disabled', 'disabled');\n this.renderer.removeClass(linkBtn, 'custom-paginator-page-enabled');\n this.renderer.addClass(linkBtn, 'custom-paginator-page-disabled');\n break;\n case this.pageGapTxt[0]:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(\n this.currentPage < this.showTotalPages + 1\n ? this.showTotalPages + 2\n : this.currentPage + this.showTotalPages - 1\n );\n });\n break;\n case this.pageGapTxt[1]:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(\n this.currentPage >\n this.matPag.getNumberOfPages() - this.showTotalPages - 2\n ? this.matPag.getNumberOfPages() - this.showTotalPages - 3\n : this.currentPage - this.showTotalPages + 1\n );\n });\n break;\n default:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(+index);\n });\n break;\n }\n this.renderer.appendChild(linkBtn, text);\n // Add button to private array for state\n this.buttons.push(linkBtn);\n return linkBtn;\n }\n\n /**\n * @description calculates the button range based on class input parameters and based on current page index value.\n */\n private initPageRange(): void {\n this.rangeStart = this.currentPage - this.showTotalPages / 2;\n this.rangeEnd = this.currentPage + this.showTotalPages / 2;\n this.buildPageNumbers();\n }\n\n private switchPage(index: number): void {\n this.matPag.pageIndex = index;\n this.matPag.page.emit({\n previousPageIndex: this.currentPage,\n pageIndex: index,\n pageSize: this.matPag.pageSize,\n length: this.matPag.length,\n });\n this.currentPage = index;\n this.initPageRange();\n }\n\n public ngAfterViewInit(): void {\n this.rangeStart = 0;\n this.rangeEnd = this.showTotalPages - 1;\n this.initPageRange();\n }\n}\n","/*\n * Public API Surface of mapa-library-ui\n */\n\nexport * from './lib/core/elements/element-search';\nexport * from './lib/core/elements/element-base';\nexport * from './lib/core/elements/dropdown';\nexport * from './lib/core/elements/input-text';\nexport * from './lib/core/elements/radio-button';\nexport * from './lib/core/elements/textarea';\n\nexport * from './lib/core/interfaces/button-icon.interface';\nexport * from './lib/core/interfaces/chart-options.interface';\nexport * from './lib/core/interfaces/dialog-data.interface';\nexport * from './lib/core/interfaces/element-option.interface';\n\nexport * from './lib/core/directives/mat-input-autosize.directive';\nexport * from './lib/core/directives/custom-paginator-legacy.directive';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":";;;;;;MAIa,WAAW,CAAA;AAuBtB,IAAA,WAAA,CACE,UAsBI,EAAE,EAAA;QAEN,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;AACnC,QAAA,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;QAC7D,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;QAC1C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC;QAC5D,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC;QAC5D,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;KAC3C;AACF;;ACxEK,MAAO,QAAS,SAAQ,WAAW,CAAA;AAAzC,IAAA,WAAA,GAAA;;QACW,IAAW,CAAA,WAAA,GAAG,UAAU,CAAC;KACnC;AAAA;;ACFK,MAAO,SAAU,SAAQ,WAAW,CAAA;AAA1C,IAAA,WAAA,GAAA;;QACW,IAAW,CAAA,WAAA,GAAG,OAAO,CAAC;KAChC;AAAA;;ACFK,MAAO,WAAY,SAAQ,WAAW,CAAA;AAA5C,IAAA,WAAA,GAAA;;QACW,IAAW,CAAA,WAAA,GAAG,cAAc,CAAC;KACvC;AAAA;;ACFK,MAAO,QAAS,SAAQ,WAAW,CAAA;AAAzC,IAAA,WAAA,GAAA;;QACW,IAAW,CAAA,WAAA,GAAG,UAAU,CAAC;KACnC;AAAA;;ACJD;;;AAGE;MAmBW,yBAAyB,CAAA;AASpC,IAAA,WAAA,CACE,EAAgC,EAChB,aAAuB,EACX,YAAqB,EAAA;QADjC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAU;QACX,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAS;QAN1C,IAAwB,CAAA,wBAAA,GAAG,OAAO,CAAC;AA8E5C,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,QAAgB,KAAU;YAC5C,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,QAAQ,GAAG,GAAG,CAAC;AACvC,aAAA;AACH,SAAC,CAAC;AA1EA,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,aAAa,CAAC;KACtC;IAED,eAAe,GAAA;QACb,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,YAAA,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;AACpC,SAAA;KACF;IAED,WAAW,GAAA;QACT,IAAI,EAAE,IAAI,CAAC,YAAY,YAAY,gBAAgB,CAAC,EAAE;AACpD,YAAA,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;AAC3E,SAAA;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACvB,YAAA,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;AACH,SAAA;KACF;IAED,oBAAoB,GAAA;QAClB,MAAM,CAAC,MAAM,CAAE,IAAI,CAAC,YAAY,CAAC,UAA0B,CAAC,KAAK,EAAE;AACjE,YAAA,KAAK,EAAE,MAAM;AACd,SAAA,CAAC,CAAC;KACJ;IAED,yBAAyB,GAAA;QACvB,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACpD,QAAA,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE;AACjC,YAAA,OAAO,EAAE,cAAc;AACvB,YAAA,WAAW,EAAE,IAAI,CAAC,wBAAwB,IAAI,IAAI;YAClD,WAAW,EAAE,IAAI,CAAC,wBAAwB;AAC1C,YAAA,IAAI,EAAE,IAAI,CAAC,yBAAyB,IAAI,IAAI;AAC5C,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,aAAa,EAAE,KAAK;AACrB,SAAA,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;QAEzD,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;AAC/C,QAAA,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC5C;IAED,YAAY,GAAA;QACV,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;AACrC,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,IAAI,EAAE,GAAG;AACV,SAAA,CAAC,CAAC;KACJ;IAED,kBAAkB,GAAA;QAChB,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CACrE,IAAI,CAAC,gBAAgB,CACtB,CAAC;AACH,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAC1C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAC/C,CAAC;AACH,SAAA;KACF;;uHAlFU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2GAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;0BAYI,IAAI;;0BACJ,QAAQ;;0BAAI,IAAI;4CAPV,wBAAwB,EAAA,CAAA;sBAAhC,KAAK;gBACG,wBAAwB,EAAA,CAAA;sBAAhC,KAAK;gBACG,yBAAyB,EAAA,CAAA;sBAAjC,KAAK;;;MCZK,wBAAwB,CAAA;AASnC,IAAA,WAAA,CAC+C,MAAoB,EAChD,aAA+B,EAC/B,QAAmB,EAAA;QAFS,IAAM,CAAA,MAAA,GAAN,MAAM,CAAc;QAChD,IAAa,CAAA,aAAA,GAAb,aAAa,CAAkB;QAC/B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QAP9B,IAAO,CAAA,OAAA,GAAgB,EAAE,CAAC;QAmF1B,IAAgB,CAAA,gBAAA,GAAG,MAAK;AAC9B,YAAA,IAAI,IAAe,CAAC;AACpB,YAAA,IAAI,IAAY,CAAC;AACjB,YAAA,IAAI,cAAsB,CAAC;AAC3B,YAAA,IAAI,UAAkB,CAAC;AACvB,YAAA,IAAI,UAAkB,CAAC;AACvB,YAAA,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;;AAE5C,YAAA,MAAM,eAAe,GACnB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CACpD,iCAAiC,CAClC,CAAC;;AAEJ,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CACzE,sCAAsC,CACvC,CAAC;;AAEF,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CACtE,+BAA+B,CAChC,CAAC;AAEF,YAAA,IAAI,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;;YAG1C,IAAI,eAAe,GAAG,CAAC,EAAE;gBACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAI;oBAC9B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AACrD,iBAAC,CAAC,CAAC;;gBAEH,eAAe,GAAG,CAAC,CAAC;AACrB,aAAA;YAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,0BAA0B,CAAC,CAAC;YAC9D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,4BAA4B,CAAC,CAAC;;YAGtE,IAAI,eAAe,KAAK,CAAC,EAAE;AACzB,gBAAA,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,CAAC;gBAC7C,UAAU,CAAC,MAAK;AACd,oBAAA,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE;AAC5B,wBAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE;;4BAE9B,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE;gCAChD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,iCAAiC,CAAC,CAAC;gCAChE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;AACnE,6BAAA;AAAM,iCAAA,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gCACxD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;gCAC/D,IAAI,CAAC,QAAQ,CAAC,WAAW,CACvB,IAAI,EACJ,iCAAiC,CAClC,CAAC;AACH,6BAAA;AACF,yBAAA;AACF,qBAAA;AACH,iBAAC,CAAC,CAAC;AACJ,aAAA;AAED,YAAA,IAAI,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAEtB,IAAI,UAAU,GAAG,CAAC,EAAE;gBAClB,IAAI,CAAC,QAAQ,CAAC,YAAY,CACxB,eAAe,EACf,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAC7C,YAAY,CACb,CAAC;AACH,aAAA;AAED,YAAA,IAAI,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;AAC/B,YAAA,cAAc,GAAG,UAAU,GAAG,IAAI,CAAC;AACnC,YAAA,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAErE,YAAA,KAAK,IAAI,KAAK,GAAG,UAAU,EAAE,KAAK,GAAG,UAAU,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE;AACtE,gBAAA,IACE,CAAC,KAAK,GAAG,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,cAAc;qBACvD,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC;qBACnD,IAAI,CAAC,WAAW,GAAG,cAAc,IAAI,KAAK,IAAI,cAAc,CAAC;AAC9D,oBAAA,UAAU,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,EACvC;oBACA,IAAI,CAAC,QAAQ,CAAC,YAAY,CACxB,eAAe,EACf,IAAI,CAAC,YAAY,CAAC,CAAA,EAAG,KAAK,CAAE,CAAA,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EACpD,YAAY,CACb,CAAC;AACH,iBAAA;AAAM,qBAAA;oBACL,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;wBACrC,IAAI,CAAC,QAAQ,CAAC,YAAY,CACxB,eAAe,EACf,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAC5D,YAAY,CACb,CAAC;AACF,wBAAA,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;wBACf,MAAM;AACP,qBAAA;oBACD,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;wBACrC,IAAI,CAAC,QAAQ,CAAC,YAAY,CACxB,eAAe,EACf,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAC5D,YAAY,CACb,CAAC;AACF,wBAAA,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AAChB,qBAAA;AACF,iBAAA;AACF,aAAA;YAED,IAAI,UAAU,GAAG,CAAC,EAAE;gBAClB,IAAI,CAAC,QAAQ,CAAC,YAAY,CACxB,eAAe,EACf,IAAI,CAAC,YAAY,CAAC,CAAG,EAAA,UAAU,GAAG,CAAC,CAAA,CAAE,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAC7D,YAAY,CACb,CAAC;AACH,aAAA;AACH,SAAC,CAAC;AAzLA,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;;AAE3B,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,CAChC,IAAY,EACZ,QAAgB,EAChB,MAAc,KACJ;AACV,YAAA,MAAM,UAAU,GAAG,IAAI,GAAG,QAAQ,CAAC;AACnC,YAAA,MAAM,QAAQ,GACZ,UAAU,GAAG,MAAM;kBACf,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,QAAQ,EAAE,MAAM,CAAC;AACzC,kBAAE,UAAU,GAAG,QAAQ,CAAC;YAC5B,IAAI,MAAM,KAAK,CAAC,EAAE;AAChB,gBAAA,OAAO,2BAA2B,CAAC;AACpC,aAAA;YACD,IAAI,MAAM,KAAK,CAAC,EAAE;AAChB,gBAAA,QACE,YAAY;qBACX,UAAU,GAAG,CAAC,CAAC;oBAChB,KAAK;oBACL,QAAQ;oBACR,MAAM;oBACN,MAAM;AACN,oBAAA,OAAO,EACP;AACH,aAAA;AAAM,iBAAA;AACL,gBAAA,QACE,YAAY;qBACX,UAAU,GAAG,CAAC,CAAC;oBAChB,KAAK;oBACL,QAAQ;oBACR,MAAM;oBACN,MAAM;AACN,oBAAA,QAAQ,EACR;AACH,aAAA;AACH,SAAC,CAAC;;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAoB,KAAI;AAClD,YAAA,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;YAC5C,IAAI,CAAC,aAAa,EAAE,CAAC;AACvB,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,GAAG,kBAAkB,CAAC;AACzD,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AACxC,QAAA,aAAa,CAAC,aAAa,GAAG,EAAE,CAAC;AACjC,QAAA,aAAa,CAAC,iBAAiB,GAAG,EAAE,CAAC;KACtC;IAED,SAAS,GAAA;;QAEP,IACE,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAC5C;YACA,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACjD,IAAI,IAAI,CAAC,WAAW,GAAG,SAAS,IAAI,SAAS,KAAK,CAAC,EAAE;AACnD,gBAAA,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;AACrB,gBAAA,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;AAC3B,aAAA;YACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YACzC,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,GAAG;gBACf,IAAI,CAAC,MAAM,CAAC,MAAM;gBAClB,IAAI,CAAC,MAAM,CAAC,QAAQ;gBACpB,IAAI,CAAC,MAAM,CAAC,SAAS;aACtB,CAAC;AACH,SAAA;KACF;IAmHO,YAAY,CAAC,KAAa,EAAE,SAAiB,EAAA;QACnD,MAAM,OAAO,GAAc,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAC;AACjE,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;YAChE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAC;AACnE,SAAA;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;AAClE,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;AACnD,QAAA,QAAQ,KAAK;YACX,KAAK,CAAA,EAAG,SAAS,CAAE,CAAA;gBACjB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;gBAC5D,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAC;gBACpE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAC;gBAClE,MAAM;AACR,YAAA,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAK;oBAC1C,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC;AACxC,0BAAE,IAAI,CAAC,cAAc,GAAG,CAAC;0BACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,CAC/C,CAAC;AACJ,iBAAC,CAAC,CAAC;gBACH,MAAM;AACR,YAAA,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAK;AAC1C,oBAAA,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,WAAW;wBACd,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC;AACxD,0BAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC;0BACxD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,CAC/C,CAAC;AACJ,iBAAC,CAAC,CAAC;gBACH,MAAM;AACR,YAAA;gBACE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAK;AAC1C,oBAAA,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC;AAC1B,iBAAC,CAAC,CAAC;gBACH,MAAM;AACT,SAAA;QACD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;;AAEzC,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3B,QAAA,OAAO,OAAO,CAAC;KAChB;AAED;;AAEG;IACK,aAAa,GAAA;AACnB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;AAC7D,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QAC3D,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;AAEO,IAAA,UAAU,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;AAC9B,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YACpB,iBAAiB,EAAE,IAAI,CAAC,WAAW;AACnC,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;AAC9B,YAAA,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;AAC3B,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAEM,eAAe,GAAA;AACpB,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;;sHAjRU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;0GAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;0BAWI,IAAI;;0BAAI,IAAI;;0BAAI,QAAQ;;;AC3B7B;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"mapa-library-ui.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/core/elements/input-text.ts","../../../projects/mapa-library-ui/src/lib/core/elements/radio-button.ts","../../../projects/mapa-library-ui/src/lib/core/elements/textarea.ts","../../../projects/mapa-library-ui/src/lib/core/directives/mat-input-autosize.directive.ts","../../../projects/mapa-library-ui/src/lib/core/directives/custom-paginator-legacy.directive.ts","../../../projects/mapa-library-ui/src/public-api.ts","../../../projects/mapa-library-ui/src/mapa-library-ui.ts"],"sourcesContent":["import { ElementGroup } from \"../interfaces/element-group.interface\";\nimport { ElementOption } from \"../interfaces/element-option.interface\";\nimport { ElementSearch } from \"./element-search\";\nimport { Errors } from \"./errors\";\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 autosizeMinRow?: number;\n autosizeMaxRow?: number;\n options: ElementOption[] | ElementGroup[];\n multiple?: boolean;\n search?: ElementSearch;\n maxLength!: string | number | null;\n errors?: Errors;\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 autosizeMinRow?: number;\n autosizeMaxRow?: number;\n options?: ElementOption[] | ElementGroup[];\n multiple?: boolean;\n search?: ElementSearch;\n maxLength?: string | number | null;\n errors?: Errors;\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.autosizeMinRow = options.autosizeMinRow || 2;\n this.autosizeMaxRow = options.autosizeMaxRow || 5;\n this.options = options.options || [];\n this.multiple = options.multiple || false;\n this.search = options.search || undefined;\n this.maxLength = options.maxLength || null;\n this.errors = options.errors || undefined;\n }\n}\n","import { ElementBase } from './element-base';\n\nexport class Dropdown extends ElementBase {\n override controlType = 'dropdown';\n}\n","import { ElementBase } from './element-base';\n\nexport class InputText extends ElementBase {\n override controlType = 'input';\n}\n","import { ElementBase } from './element-base';\n\nexport class RadioButton extends ElementBase {\n override controlType = 'radio-button';\n}\n","import { ElementBase } from './element-base';\n\nexport class Textarea extends ElementBase {\n override controlType = 'textarea';\n}\n","/*\n* Originally from: https://github.com/anotherkitten/mat-input-autosize\n* @author: Ellie Larson (anotherkitten)\n*/\n\nimport {\n AfterViewInit,\n Directive,\n ElementRef,\n Input,\n OnDestroy,\n Optional,\n Self,\n} from '@angular/core';\nimport { NgModel } from '@angular/forms';\nimport { MatInput } from '@angular/material/input';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n selector: '[matInputAutosize]',\n standalone: true,\n})\nexport class MatInputAutosizeDirective implements AfterViewInit, OnDestroy {\n inputElement: HTMLInputElement;\n hiddenText!: Text;\n changeDetectSub!: Subscription;\n\n @Input() matInputAutosizeMaxWidth: any;\n @Input() matInputAutosizeMinWidth = '120px';\n @Input() matInputAutosizeFontStyle: any;\n\n constructor(\n el: ElementRef<HTMLInputElement>,\n @Self() private childMatInput: MatInput,\n @Optional() @Self() private childNgModel: NgModel\n ) {\n this.inputElement = el.nativeElement;\n }\n\n ngAfterViewInit(): void {\n this.checkErrors();\n this.overwriteParentWidth();\n this.createHiddenTextContainer();\n this.setOwnStyles();\n this.subscribeToChanges();\n }\n\n ngOnDestroy(): void {\n if (this.changeDetectSub) {\n this.changeDetectSub.unsubscribe();\n }\n }\n\n checkErrors(): void {\n if (!(this.inputElement instanceof HTMLInputElement)) {\n throw new Error('matInputAutosize directive must be on an input element');\n }\n\n if (!this.childMatInput) {\n throw new Error(\n 'Element with matInputAutosize directive must also have the matInput directive'\n );\n }\n }\n\n overwriteParentWidth(): void {\n Object.assign((this.inputElement.parentNode as HTMLElement).style, {\n width: '100%',\n });\n }\n\n createHiddenTextContainer(): void {\n const textContainer = document.createElement('div');\n Object.assign(textContainer.style, {\n display: 'inline-block',\n 'max-width': this.matInputAutosizeMaxWidth || null,\n 'min-width': this.matInputAutosizeMinWidth,\n font: this.matInputAutosizeFontStyle || null,\n visibility: 'hidden',\n 'white-space': 'pre',\n });\n this.inputElement.parentNode?.appendChild(textContainer);\n\n this.hiddenText = document.createTextNode(' ');\n textContainer.appendChild(this.hiddenText);\n }\n\n setOwnStyles(): void {\n Object.assign(this.inputElement.style, {\n position: 'absolute',\n left: '0',\n });\n }\n\n subscribeToChanges(): void {\n if (this.childNgModel) {\n this.changeDetectSub = this.childNgModel.control.valueChanges.subscribe(\n this.changeHiddenText\n );\n } else {\n this.inputElement.addEventListener('input', () =>\n this.changeHiddenText(this.inputElement.value)\n );\n }\n }\n\n changeHiddenText = (newValue: string): void => {\n if (this.hiddenText) {\n this.hiddenText.data = newValue + ' ';\n }\n };\n}\n","import {\n AfterViewInit,\n Directive,\n DoCheck,\n Host,\n Optional,\n Renderer2,\n Self,\n ViewContainerRef,\n} from '@angular/core';\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\nimport { MatButton } from '@angular/material/button';\n\n@Directive({\n selector: '[appStylePaginatorMv]',\n standalone: true\n})\nexport class PaginatorLegacyDirective implements DoCheck, AfterViewInit {\n private currentPage: number;\n private pageGapTxt: string[];\n private rangeStart!: number;\n private rangeEnd!: number;\n private buttons: MatButton[] = [];\n private showTotalPages: number;\n private checkPage: number[];\n\n constructor(\n @Host() @Self() @Optional() private readonly matPag: MatPaginator,\n private readonly ViewContainer: ViewContainerRef,\n private readonly renderer: Renderer2\n ) {\n this.currentPage = 1;\n this.pageGapTxt = ['•••', '---'];\n this.showTotalPages = 2;\n this.checkPage = [0, 0, 0];\n // Display custom range label text\n this.matPag._intl.getRangeLabel = (\n page: number,\n pageSize: number,\n length: number\n ): string => {\n const startIndex = page * pageSize;\n const endIndex =\n startIndex < length\n ? Math.min(startIndex + pageSize, length)\n : startIndex + pageSize;\n if (length === 0) {\n return 'Mostrando 0 – 0 de 0 item';\n }\n if (length === 1) {\n return (\n 'Mostrando ' +\n (startIndex + 1) +\n ' – ' +\n endIndex +\n ' de ' +\n length +\n ' item'\n );\n } else {\n return (\n 'Mostrando ' +\n (startIndex + 1) +\n ' – ' +\n endIndex +\n ' de ' +\n length +\n ' itens'\n );\n }\n };\n // Subscribe to rerender buttons when next page and last page button is used\n this.matPag.page.subscribe((paginator: PageEvent) => {\n this.currentPage = paginator.pageIndex;\n this.matPag.pageIndex = paginator.pageIndex;\n this.initPageRange();\n });\n this.matPag._intl.itemsPerPageLabel = 'Itens por página';\n const paginatorIntl = this.matPag._intl;\n paginatorIntl.nextPageLabel = '';\n paginatorIntl.previousPageLabel = '';\n }\n\n ngDoCheck(): void {\n // Reset paginator if the pageSize, pageIndex, length changes\n if (\n this.matPag?.length !== this.checkPage[0] ||\n this.matPag?.pageSize !== this.checkPage[1] ||\n this.matPag?.pageIndex !== this.checkPage[2]\n ) {\n const pageCount = this.matPag.getNumberOfPages();\n if (this.currentPage > pageCount && pageCount !== 0) {\n this.currentPage = 1;\n this.matPag.pageIndex = 0;\n }\n this.currentPage = this.matPag.pageIndex;\n this.initPageRange();\n this.checkPage = [\n this.matPag.length,\n this.matPag.pageSize,\n this.matPag.pageIndex,\n ];\n }\n }\n\n private buildPageNumbers = () => {\n let dots: boolean[];\n let page: number;\n let pageDifference: number;\n let startIndex: number;\n let totalPages: number;\n totalPages = this.matPag.getNumberOfPages();\n // Container div with paginator elements\n const actionContainer =\n this.ViewContainer.element.nativeElement.querySelector(\n 'div.mat-paginator-range-actions'\n );\n // Button that triggers the next page action\n const nextPageNode = this.ViewContainer.element.nativeElement.querySelector(\n 'button.mat-paginator-navigation-next'\n );\n // Label showing the page range\n const pageRange = this.ViewContainer.element.nativeElement.querySelector(\n 'div.mat-paginator-range-label'\n );\n\n let prevButtonCount = this.buttons.length;\n\n // Remove buttons before creating new ones\n if (prevButtonCount > 0) {\n this.buttons.forEach((button) => {\n this.renderer.removeChild(actionContainer, button);\n });\n // Empty state array\n prevButtonCount = 0;\n }\n\n this.renderer.addClass(pageRange, 'custom-paginator-counter');\n this.renderer.addClass(actionContainer, 'custom-paginator-container');\n\n // Initialize next page and last page buttons\n if (prevButtonCount === 0) {\n const nodeArray = actionContainer.childNodes;\n setTimeout(() => {\n for (const node of nodeArray) {\n if (node.nodeName === 'BUTTON') {\n // Next Button styles\n if (node.innerHTML.length > 100 && node.disabled) {\n this.renderer.addClass(node, 'custom-paginator-arrow-disabled');\n this.renderer.removeClass(node, 'custom-paginator-arrow-enabled');\n } else if (node.innerHTML.length > 100 && !node.disabled) {\n this.renderer.addClass(node, 'custom-paginator-arrow-enabled');\n this.renderer.removeClass(\n node,\n 'custom-paginator-arrow-disabled'\n );\n }\n }\n }\n });\n }\n\n dots = [false, false];\n\n if (totalPages > 0) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton('0', this.matPag.pageIndex),\n nextPageNode\n );\n }\n\n page = this.showTotalPages + 2;\n pageDifference = totalPages - page;\n startIndex = Math.max(this.currentPage - this.showTotalPages - 2, 1);\n\n for (let index = startIndex; index < totalPages - 1; index = index + 1) {\n if (\n (index < page && this.currentPage <= this.showTotalPages) ||\n (index >= this.rangeStart && index <= this.rangeEnd) ||\n (this.currentPage > pageDifference && index >= pageDifference) ||\n totalPages < this.showTotalPages + page\n ) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(`${index}`, this.matPag.pageIndex),\n nextPageNode\n );\n } else {\n if (index > this.rangeEnd && !dots[0]) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(this.pageGapTxt[0], this.matPag.pageIndex),\n nextPageNode\n );\n dots[0] = true;\n break;\n }\n if (index < this.rangeEnd && !dots[1]) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(this.pageGapTxt[1], this.matPag.pageIndex),\n nextPageNode\n );\n dots[1] = true;\n }\n }\n }\n\n if (totalPages > 1) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(`${totalPages - 1}`, this.matPag.pageIndex),\n nextPageNode\n );\n }\n };\n\n private createButton(index: string, pageIndex: number): MatButton {\n const linkBtn: MatButton = this.renderer.createElement('button');\n this.renderer.setAttribute(linkBtn, 'class', 'custom-paginator-page');\n this.renderer.addClass(linkBtn, 'custom-paginator-page-enabled');\n if (index === this.pageGapTxt[0] || index === this.pageGapTxt[1]) {\n this.renderer.addClass(linkBtn, 'custom-paginator-arrow-enabled');\n }\n const pagingTxt = isNaN(+index) ? this.pageGapTxt[0] : +index + 1;\n const text = this.renderer.createText(pagingTxt + '');\n this.renderer.addClass(linkBtn, 'mat-custom-page');\n switch (index) {\n case `${pageIndex}`:\n this.renderer.setAttribute(linkBtn, 'disabled', 'disabled');\n this.renderer.removeClass(linkBtn, 'custom-paginator-page-enabled');\n this.renderer.addClass(linkBtn, 'custom-paginator-page-disabled');\n break;\n case this.pageGapTxt[0]:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(\n this.currentPage < this.showTotalPages + 1\n ? this.showTotalPages + 2\n : this.currentPage + this.showTotalPages - 1\n );\n });\n break;\n case this.pageGapTxt[1]:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(\n this.currentPage >\n this.matPag.getNumberOfPages() - this.showTotalPages - 2\n ? this.matPag.getNumberOfPages() - this.showTotalPages - 3\n : this.currentPage - this.showTotalPages + 1\n );\n });\n break;\n default:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(+index);\n });\n break;\n }\n this.renderer.appendChild(linkBtn, text);\n // Add button to private array for state\n this.buttons.push(linkBtn);\n return linkBtn;\n }\n\n /**\n * @description calculates the button range based on class input parameters and based on current page index value.\n */\n private initPageRange(): void {\n this.rangeStart = this.currentPage - this.showTotalPages / 2;\n this.rangeEnd = this.currentPage + this.showTotalPages / 2;\n this.buildPageNumbers();\n }\n\n private switchPage(index: number): void {\n this.matPag.pageIndex = index;\n this.matPag.page.emit({\n previousPageIndex: this.currentPage,\n pageIndex: index,\n pageSize: this.matPag.pageSize,\n length: this.matPag.length,\n });\n this.currentPage = index;\n this.initPageRange();\n }\n\n public ngAfterViewInit(): void {\n this.rangeStart = 0;\n this.rangeEnd = this.showTotalPages - 1;\n this.initPageRange();\n }\n}\n","/*\n * Public API Surface of mapa-library-ui\n */\n\nexport * from './lib/core/elements/element-search';\nexport * from './lib/core/elements/element-base';\nexport * from './lib/core/elements/dropdown';\nexport * from './lib/core/elements/input-text';\nexport * from './lib/core/elements/radio-button';\nexport * from './lib/core/elements/textarea';\n\nexport * from './lib/core/interfaces/button-icon.interface';\nexport * from './lib/core/interfaces/chart-options.interface';\nexport * from './lib/core/interfaces/dialog-data.interface';\nexport * from './lib/core/interfaces/element-option.interface';\n\nexport * from './lib/core/directives/mat-input-autosize.directive';\nexport * from './lib/core/directives/custom-paginator-legacy.directive';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { ElementGroup } from "../interfaces/element-group.interface";
1
2
  import { ElementOption } from "../interfaces/element-option.interface";
2
3
  import { ElementSearch } from "./element-search";
3
4
  import { Errors } from "./errors";
@@ -18,7 +19,7 @@ export declare class ElementBase {
18
19
  autosizeMaxWidth?: string;
19
20
  autosizeMinRow?: number;
20
21
  autosizeMaxRow?: number;
21
- options: ElementOption[];
22
+ options: ElementOption[] | ElementGroup[];
22
23
  multiple?: boolean;
23
24
  search?: ElementSearch;
24
25
  maxLength: string | number | null;
@@ -40,7 +41,7 @@ export declare class ElementBase {
40
41
  autosizeMaxWidth?: string;
41
42
  autosizeMinRow?: number;
42
43
  autosizeMaxRow?: number;
43
- options?: ElementOption[];
44
+ options?: ElementOption[] | ElementGroup[];
44
45
  multiple?: boolean;
45
46
  search?: ElementSearch;
46
47
  maxLength?: string | number | null;
@@ -0,0 +1,5 @@
1
+ import { ElementOption } from "./element-option.interface";
2
+ export interface ElementGroup {
3
+ label: string;
4
+ options: ElementOption[];
5
+ }
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mapa-library-ui",
3
- "version": "0.4.2",
3
+ "version": "0.5.1",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^15.2.0",
6
6
  "@angular/core": "^15.2.0"
@@ -5,6 +5,7 @@ import { ReplaySubject } from "rxjs/internal/ReplaySubject";
5
5
  import { Subject } from "rxjs/internal/Subject";
6
6
  import { ElementOption } from "../../../core/interfaces/element-option.interface";
7
7
  import { Dropdown } from "../../../core/elements/dropdown";
8
+ import { ElementGroup } from "../../../core/interfaces/element-group.interface";
8
9
  import * as i0 from "@angular/core";
9
10
  export declare class MapaDropdownComponent implements OnInit, AfterViewInit, OnDestroy {
10
11
  formControl: FormControl;
@@ -13,18 +14,23 @@ export declare class MapaDropdownComponent implements OnInit, AfterViewInit, OnD
13
14
  border: "soft" | "tag" | "highlight" | null | undefined;
14
15
  dropdown: MatSelect;
15
16
  filteredOptions: ReplaySubject<ElementOption[]>;
17
+ filteredGroups: ReplaySubject<ElementGroup[]>;
16
18
  protected filteredOptionsCache: ElementOption[];
19
+ protected filteredGroupCache: ElementGroup[];
17
20
  protected _onDestroy: Subject<void>;
18
21
  isIndeterminate: boolean;
19
22
  isChecked: boolean;
23
+ isOptionsGroup: boolean;
20
24
  constructor();
21
25
  ngOnInit(): void;
22
26
  ngAfterViewInit(): void;
23
27
  ngOnDestroy(): void;
28
+ protected filterOptionsFromGroup(group: ElementGroup, value: string): ElementOption[];
24
29
  protected filterOptions(): void;
25
30
  protected setInitialValue(): void;
26
31
  protected setToggleAllCheckboxState(): void;
27
32
  toggleSelectAll(selectAllValue: boolean): void;
33
+ isElementGroup(object: ElementGroup | ElementOption): object is ElementGroup;
28
34
  static ɵfac: i0.ɵɵFactoryDeclaration<MapaDropdownComponent, never>;
29
35
  static ɵcmp: i0.ɵɵComponentDeclaration<MapaDropdownComponent, "mapa-dropdown", never, { "formControl": "formControl"; "formControlSearch": "formControlSearch"; "element": "element"; "border": "border"; }, {}, never, never, false, never>;
30
36
  }
@@ -1,3 +1,4 @@
1
+ import { ElementGroup } from "../interfaces/element-group.interface";
1
2
  import { ElementOption } from "../interfaces/element-option.interface";
2
3
  import { ElementSearch } from "./element-search";
3
4
  import { Errors } from "./errors";
@@ -18,7 +19,7 @@ export declare class ElementBase {
18
19
  autosizeMaxWidth?: string;
19
20
  autosizeMinRow?: number;
20
21
  autosizeMaxRow?: number;
21
- options: ElementOption[];
22
+ options: ElementOption[] | ElementGroup[];
22
23
  multiple?: boolean;
23
24
  search?: ElementSearch;
24
25
  maxLength: string | number | null;
@@ -40,7 +41,7 @@ export declare class ElementBase {
40
41
  autosizeMaxWidth?: string;
41
42
  autosizeMinRow?: number;
42
43
  autosizeMaxRow?: number;
43
- options?: ElementOption[];
44
+ options?: ElementOption[] | ElementGroup[];
44
45
  multiple?: boolean;
45
46
  search?: ElementSearch;
46
47
  maxLength?: string | number | null;
@@ -0,0 +1,5 @@
1
+ import { ElementOption } from "./element-option.interface";
2
+ export interface ElementGroup {
3
+ label: string;
4
+ options: ElementOption[];
5
+ }
@@ -5,6 +5,7 @@ import { ReplaySubject } from "rxjs/internal/ReplaySubject";
5
5
  import { Subject } from "rxjs/internal/Subject";
6
6
  import { ElementOption } from "../../../core/interfaces/element-option.interface";
7
7
  import { Dropdown } from "../../../core/elements/dropdown";
8
+ import { ElementGroup } from "../../../core/interfaces/element-group.interface";
8
9
  import * as i0 from "@angular/core";
9
10
  export declare class MapaDropdownComponent implements OnInit, AfterViewInit, OnDestroy {
10
11
  formControl: FormControl;
@@ -13,18 +14,23 @@ export declare class MapaDropdownComponent implements OnInit, AfterViewInit, OnD
13
14
  border: "soft" | "tag" | "highlight" | null | undefined;
14
15
  dropdown: MatSelect;
15
16
  filteredOptions: ReplaySubject<ElementOption[]>;
17
+ filteredGroups: ReplaySubject<ElementGroup[]>;
16
18
  protected filteredOptionsCache: ElementOption[];
19
+ protected filteredGroupCache: ElementGroup[];
17
20
  protected _onDestroy: Subject<void>;
18
21
  isIndeterminate: boolean;
19
22
  isChecked: boolean;
23
+ isOptionsGroup: boolean;
20
24
  constructor();
21
25
  ngOnInit(): void;
22
26
  ngAfterViewInit(): void;
23
27
  ngOnDestroy(): void;
28
+ protected filterOptionsFromGroup(group: ElementGroup, value: string): ElementOption[];
24
29
  protected filterOptions(): void;
25
30
  protected setInitialValue(): void;
26
31
  protected setToggleAllCheckboxState(): void;
27
32
  toggleSelectAll(selectAllValue: boolean): void;
33
+ isElementGroup(object: ElementGroup | ElementOption): object is ElementGroup;
28
34
  static ɵfac: i0.ɵɵFactoryDeclaration<MapaDropdownComponent, never>;
29
35
  static ɵcmp: i0.ɵɵComponentDeclaration<MapaDropdownComponent, "mapa-dropdown", never, { "formControl": "formControl"; "formControlSearch": "formControlSearch"; "element": "element"; "border": "border"; }, {}, never, never, false, never>;
30
36
  }
@@ -1,3 +1,4 @@
1
+ import { ElementGroup } from "../interfaces/element-group.interface";
1
2
  import { ElementOption } from "../interfaces/element-option.interface";
2
3
  import { ElementSearch } from "./element-search";
3
4
  import { Errors } from "./errors";
@@ -18,7 +19,7 @@ export declare class ElementBase {
18
19
  autosizeMaxWidth?: string;
19
20
  autosizeMinRow?: number;
20
21
  autosizeMaxRow?: number;
21
- options: ElementOption[];
22
+ options: ElementOption[] | ElementGroup[];
22
23
  multiple?: boolean;
23
24
  search?: ElementSearch;
24
25
  maxLength: string | number | null;
@@ -40,7 +41,7 @@ export declare class ElementBase {
40
41
  autosizeMaxWidth?: string;
41
42
  autosizeMinRow?: number;
42
43
  autosizeMaxRow?: number;
43
- options?: ElementOption[];
44
+ options?: ElementOption[] | ElementGroup[];
44
45
  multiple?: boolean;
45
46
  search?: ElementSearch;
46
47
  maxLength?: string | number | null;
@@ -0,0 +1,5 @@
1
+ import { ElementOption } from "./element-option.interface";
2
+ export interface ElementGroup {
3
+ label: string;
4
+ options: ElementOption[];
5
+ }
@@ -5,6 +5,7 @@ import { ReplaySubject } from "rxjs/internal/ReplaySubject";
5
5
  import { Subject } from "rxjs/internal/Subject";
6
6
  import { ElementOption } from "../../../core/interfaces/element-option.interface";
7
7
  import { Dropdown } from "../../../core/elements/dropdown";
8
+ import { ElementGroup } from "../../../core/interfaces/element-group.interface";
8
9
  import * as i0 from "@angular/core";
9
10
  export declare class MapaDropdownComponent implements OnInit, AfterViewInit, OnDestroy {
10
11
  formControl: FormControl;
@@ -13,18 +14,23 @@ export declare class MapaDropdownComponent implements OnInit, AfterViewInit, OnD
13
14
  border: "soft" | "tag" | "highlight" | null | undefined;
14
15
  dropdown: MatSelect;
15
16
  filteredOptions: ReplaySubject<ElementOption[]>;
17
+ filteredGroups: ReplaySubject<ElementGroup[]>;
16
18
  protected filteredOptionsCache: ElementOption[];
19
+ protected filteredGroupCache: ElementGroup[];
17
20
  protected _onDestroy: Subject<void>;
18
21
  isIndeterminate: boolean;
19
22
  isChecked: boolean;
23
+ isOptionsGroup: boolean;
20
24
  constructor();
21
25
  ngOnInit(): void;
22
26
  ngAfterViewInit(): void;
23
27
  ngOnDestroy(): void;
28
+ protected filterOptionsFromGroup(group: ElementGroup, value: string): ElementOption[];
24
29
  protected filterOptions(): void;
25
30
  protected setInitialValue(): void;
26
31
  protected setToggleAllCheckboxState(): void;
27
32
  toggleSelectAll(selectAllValue: boolean): void;
33
+ isElementGroup(object: ElementGroup | ElementOption): object is ElementGroup;
28
34
  static ɵfac: i0.ɵɵFactoryDeclaration<MapaDropdownComponent, never>;
29
35
  static ɵcmp: i0.ɵɵComponentDeclaration<MapaDropdownComponent, "mapa-dropdown", never, { "formControl": "formControl"; "formControlSearch": "formControlSearch"; "element": "element"; "border": "border"; }, {}, never, never, false, never>;
30
36
  }
@@ -1,3 +1,4 @@
1
+ import { ElementGroup } from "../interfaces/element-group.interface";
1
2
  import { ElementOption } from "../interfaces/element-option.interface";
2
3
  import { ElementSearch } from "./element-search";
3
4
  import { Errors } from "./errors";
@@ -18,7 +19,7 @@ export declare class ElementBase {
18
19
  autosizeMaxWidth?: string;
19
20
  autosizeMinRow?: number;
20
21
  autosizeMaxRow?: number;
21
- options: ElementOption[];
22
+ options: ElementOption[] | ElementGroup[];
22
23
  multiple?: boolean;
23
24
  search?: ElementSearch;
24
25
  maxLength: string | number | null;
@@ -40,7 +41,7 @@ export declare class ElementBase {
40
41
  autosizeMaxWidth?: string;
41
42
  autosizeMinRow?: number;
42
43
  autosizeMaxRow?: number;
43
- options?: ElementOption[];
44
+ options?: ElementOption[] | ElementGroup[];
44
45
  multiple?: boolean;
45
46
  search?: ElementSearch;
46
47
  maxLength?: string | number | null;
@@ -0,0 +1,5 @@
1
+ import { ElementOption } from "./element-option.interface";
2
+ export interface ElementGroup {
3
+ label: string;
4
+ options: ElementOption[];
5
+ }
@@ -1,14 +1,16 @@
1
- import { EventEmitter } from '@angular/core';
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
2
  import { FormControl } from '@angular/forms';
3
3
  import { ElementOption } from '../../../core/interfaces/element-option.interface';
4
4
  import { ElementBase } from '../../../core/elements/element-base';
5
5
  import * as i0 from "@angular/core";
6
- export declare class RadioButtonComponent {
6
+ export declare class RadioButtonComponent implements OnInit {
7
7
  formControl: FormControl;
8
8
  element: ElementBase;
9
9
  optionSelected: EventEmitter<ElementOption>;
10
10
  selectedOption: ElementOption;
11
+ options: ElementOption[];
11
12
  constructor();
13
+ ngOnInit(): void;
12
14
  onChange(optionValue: ElementOption): void;
13
15
  static ɵfac: i0.ɵɵFactoryDeclaration<RadioButtonComponent, never>;
14
16
  static ɵcmp: i0.ɵɵComponentDeclaration<RadioButtonComponent, "mapa-radio-button", never, { "formControl": "formControl"; "element": "element"; }, { "optionSelected": "optionSelected"; }, never, never, false, never>;
@@ -1,3 +1,4 @@
1
+ import { ElementGroup } from "../interfaces/element-group.interface";
1
2
  import { ElementOption } from "../interfaces/element-option.interface";
2
3
  import { ElementSearch } from "./element-search";
3
4
  import { Errors } from "./errors";
@@ -18,7 +19,7 @@ export declare class ElementBase {
18
19
  autosizeMaxWidth?: string;
19
20
  autosizeMinRow?: number;
20
21
  autosizeMaxRow?: number;
21
- options: ElementOption[];
22
+ options: ElementOption[] | ElementGroup[];
22
23
  multiple?: boolean;
23
24
  search?: ElementSearch;
24
25
  maxLength: string | number | null;
@@ -40,7 +41,7 @@ export declare class ElementBase {
40
41
  autosizeMaxWidth?: string;
41
42
  autosizeMinRow?: number;
42
43
  autosizeMaxRow?: number;
43
- options?: ElementOption[];
44
+ options?: ElementOption[] | ElementGroup[];
44
45
  multiple?: boolean;
45
46
  search?: ElementSearch;
46
47
  maxLength?: string | number | null;
@@ -0,0 +1,5 @@
1
+ import { ElementOption } from "./element-option.interface";
2
+ export interface ElementGroup {
3
+ label: string;
4
+ options: ElementOption[];
5
+ }
@@ -1,6 +1,6 @@
1
1
  import { SelectionModel } from "@angular/cdk/collections";
2
- import { AfterViewInit, EventEmitter, OnInit } from "@angular/core";
3
- import { FormGroup } from "@angular/forms";
2
+ import { AfterViewInit, EventEmitter, OnInit, SimpleChanges } from "@angular/core";
3
+ import { FormGroup, FormControl } from "@angular/forms";
4
4
  import { MatPaginator } from "@angular/material/paginator";
5
5
  import { MatSort, Sort } from "@angular/material/sort";
6
6
  import { MatTableDataSource } from "@angular/material/table";
@@ -13,6 +13,7 @@ export declare class MapaTableComponent implements OnInit, AfterViewInit {
13
13
  data: Object[];
14
14
  checkbox: boolean | undefined;
15
15
  actions: boolean | undefined;
16
+ filterControl: FormControl | undefined;
16
17
  rowClick: EventEmitter<RowClickEvent>;
17
18
  selectedRows: EventEmitter<any[]>;
18
19
  groupReport: GroupReportItem[];
@@ -27,6 +28,8 @@ export declare class MapaTableComponent implements OnInit, AfterViewInit {
27
28
  constructor();
28
29
  ngOnInit(): void;
29
30
  ngAfterViewInit(): void;
31
+ ngOnChanges(changes: SimpleChanges): void;
32
+ setupFilter(): void;
30
33
  isAllSelected(): boolean;
31
34
  toggleAllRows(): void;
32
35
  checkboxLabel(row?: any): string;
@@ -49,5 +52,5 @@ export declare class MapaTableComponent implements OnInit, AfterViewInit {
49
52
  [key: string]: boolean;
50
53
  };
51
54
  static ɵfac: i0.ɵɵFactoryDeclaration<MapaTableComponent, never>;
52
- static ɵcmp: i0.ɵɵComponentDeclaration<MapaTableComponent, "mapa-table", never, { "columns": "columns"; "data": "data"; "checkbox": "checkbox"; "actions": "actions"; "groupReport": "groupReport"; "isGroupReport": "isGroupReport"; }, { "rowClick": "rowClick"; "selectedRows": "selectedRows"; }, never, never, false, never>;
55
+ static ɵcmp: i0.ɵɵComponentDeclaration<MapaTableComponent, "mapa-table", never, { "columns": "columns"; "data": "data"; "checkbox": "checkbox"; "actions": "actions"; "filterControl": "filterControl"; "groupReport": "groupReport"; "isGroupReport": "isGroupReport"; }, { "rowClick": "rowClick"; "selectedRows": "selectedRows"; }, never, never, false, never>;
53
56
  }
@@ -1,3 +1,4 @@
1
+ import { ElementGroup } from "../interfaces/element-group.interface";
1
2
  import { ElementOption } from "../interfaces/element-option.interface";
2
3
  import { ElementSearch } from "./element-search";
3
4
  import { Errors } from "./errors";
@@ -18,7 +19,7 @@ export declare class ElementBase {
18
19
  autosizeMaxWidth?: string;
19
20
  autosizeMinRow?: number;
20
21
  autosizeMaxRow?: number;
21
- options: ElementOption[];
22
+ options: ElementOption[] | ElementGroup[];
22
23
  multiple?: boolean;
23
24
  search?: ElementSearch;
24
25
  maxLength: string | number | null;
@@ -40,7 +41,7 @@ export declare class ElementBase {
40
41
  autosizeMaxWidth?: string;
41
42
  autosizeMinRow?: number;
42
43
  autosizeMaxRow?: number;
43
- options?: ElementOption[];
44
+ options?: ElementOption[] | ElementGroup[];
44
45
  multiple?: boolean;
45
46
  search?: ElementSearch;
46
47
  maxLength?: string | number | null;
@@ -0,0 +1,5 @@
1
+ import { ElementOption } from "./element-option.interface";
2
+ export interface ElementGroup {
3
+ label: string;
4
+ options: ElementOption[];
5
+ }
@@ -1,7 +1,14 @@
1
+ import { OnInit } from '@angular/core';
1
2
  import * as i0 from "@angular/core";
2
- export declare class MapaWarningComponent {
3
- firstLine: string | undefined;
4
- secondLine: string | undefined;
3
+ export declare class MapaWarningComponent implements OnInit {
4
+ lowReliabilityReports: any[];
5
+ showFirstLine: boolean;
6
+ showSecondLine: boolean;
7
+ expirationDateReports: string[];
8
+ nonExpirationDateReports: string[];
9
+ ngOnInit(): void;
10
+ updateVisibilityFlags(): void;
11
+ generateReportArrays(): void;
5
12
  static ɵfac: i0.ɵɵFactoryDeclaration<MapaWarningComponent, never>;
6
- static ɵcmp: i0.ɵɵComponentDeclaration<MapaWarningComponent, "mapa-warning", never, { "firstLine": "firstLine"; "secondLine": "secondLine"; }, {}, never, never, false, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<MapaWarningComponent, "mapa-warning", never, { "lowReliabilityReports": "lowReliabilityReports"; }, {}, never, never, false, never>;
7
14
  }
Binary file