ngx-sp-infra 3.10.3 → 3.10.4

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.
@@ -2,37 +2,53 @@ import { Component, Input, ViewChild } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
4
  import * as i2 from "ngx-bootstrap/accordion";
5
+ import * as i3 from "../lib-icons/lib-icons.component";
6
+ /**
7
+ * Componente de acordion customizado, o seu conteúdo interno é informado pelo componente pai, podendo configurá-lo como necessário.
8
+ * O componente em si é responsável apenas pelo comportamento de acordion, ou seja, abrir e fechar o conteúdo interno.
9
+ *
10
+ * Propriedades:
11
+ * - name: string (default: 'Filtro avançado')
12
+ * - haveArrow: boolean (default: true)
13
+ * - haveMarginTop: boolean (default: false)
14
+ * - isOpen: boolean (default: false)
15
+ */
5
16
  export class CustomAcordionComponent {
17
+ // #endregion PUBLIC
18
+ // #endregion ==========> PROPERTIES <==========
19
+ // #region ==========> INITIALIZATION <==========
6
20
  constructor() {
7
- this.customClass = 'customClass';
21
+ // #region ==========> PROPERTIES <==========
22
+ // #region PUBLIC
8
23
  this.name = 'Filtro avançado';
9
24
  this.haveArrow = true;
10
25
  this.haveMarginTop = false;
26
+ this.iconDirection = 'baixo';
11
27
  }
12
28
  ngOnInit() {
13
- this.posicaoIcon = this.isOpen;
14
- this.toogleIcon();
29
+ //this.posicaoIcon = this.isOpen;
30
+ if (this.isOpen)
31
+ this.iconDirection = 'baixo';
32
+ else
33
+ this.iconDirection = 'cima';
15
34
  }
35
+ // #endregion ==========> INITIALIZATION <==========
36
+ // #region ==========> UTILS <==========
16
37
  setIsOpen() {
17
38
  this.toogleIcon();
18
- this.posicaoIcon = !this.posicaoIcon;
19
39
  }
20
40
  toogleIcon() {
21
- if (this.iconRef) {
22
- if (this.posicaoIcon) {
23
- this.iconRef.nativeElement.classList.add('invertImage');
24
- }
25
- else {
26
- this.iconRef.nativeElement.classList.remove('invertImage');
27
- }
28
- }
41
+ if (this.iconDirection === 'baixo')
42
+ this.iconDirection = 'cima';
43
+ else
44
+ this.iconDirection = 'baixo';
29
45
  }
30
46
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomAcordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CustomAcordionComponent, selector: "app-custom-acordion, lib-acordion", inputs: { name: "name", haveArrow: "haveArrow", haveMarginTop: "haveMarginTop", isOpen: "isOpen" }, viewQueries: [{ propertyName: "iconRef", first: true, predicate: ["icon"], descendants: true }], ngImport: i0, template: "<accordion [isAnimated]=\"true\" [class.mt-3]=\"haveMarginTop\">\n\t<accordion-group [panelClass]=\"customClass\" [isOpen]=\"isOpen ?? false\" style=\"padding: 0px\">\n\t\t<button class=\"btn btn-link btn-block justify-content-between d-flex w-100 shadow-none\" (click)=\"setIsOpen()\" \n\t\t\tstyle=\"align-items:center; padding-left: 0px; padding-right: 0px;\" accordion-heading type=\"button\">\n\t\t\t<div>\n\t\t\t\t<h5> {{name}} </h5>\n\t\t\t</div>\n\t\t\t<div *ngIf=\"haveArrow\">\n\t\t\t\t<span class=\"badge badge-secondary bg-secondary float-right pull-right\">\n\t\t\t\t\t<img src=\"assets/icons/down-arrow.svg\" alt=\"\" [class]=\"posicaoIcon ? 'invertImage' : ''\" #icon class=\"arrow-pos-size\"/>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</button>\n\n\t\t<div>\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</accordion-group>\n</accordion>", styles: ["h5{font-size:16px;font-weight:600;margin-bottom:0}.arrow-pos-size{background-color:#fff;border:none;width:15px;height:15px;transition:.3s}.invertImage{transform:rotate(180deg)}span{background-color:#fff!important}button,button:hover{color:#000;text-decoration:none}button:focus{color:#000;text-decoration:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AccordionComponent, selector: "accordion", inputs: ["isAnimated", "closeOthers"] }, { kind: "component", type: i2.AccordionPanelComponent, selector: "accordion-group, accordion-panel", inputs: ["heading", "panelClass", "isDisabled", "isOpen"], outputs: ["isOpenChange"] }] }); }
47
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CustomAcordionComponent, selector: "app-custom-acordion, lib-acordion", inputs: { name: "name", haveArrow: "haveArrow", haveMarginTop: "haveMarginTop", isOpen: "isOpen", customClass: "customClass" }, viewQueries: [{ propertyName: "iconRef", first: true, predicate: ["icon"], descendants: true }], ngImport: i0, template: "<accordion [isAnimated]=\"true\" [class.mt-3]=\"haveMarginTop\">\n\t<accordion-group class=\"p-0\" [isOpen]=\"isOpen ?? false\">\n\t\t<button accordion-heading class=\"btn btn-link d-flex align-items-center justify-content-between w-100 px-0 fw-bold\" (click)=\"setIsOpen()\">\n\t\t\t{{ name }}\n\t\t\t<lib-icon *ngIf=\"haveArrow\" #icon iconName=\"seta-{{iconDirection}}\" />\n\t\t</button>\n\n\t\t<div>\n\t\t\t<!-- Este conte\u00FAdo abaixo ser\u00E1 o conte\u00FAdo customizado informado pelo componente pai -->\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</accordion-group>\n</accordion>", styles: ["button,button:hover{color:#000;text-decoration:none}button:focus{color:#000;text-decoration:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AccordionComponent, selector: "accordion", inputs: ["isAnimated", "closeOthers"] }, { kind: "component", type: i2.AccordionPanelComponent, selector: "accordion-group, accordion-panel", inputs: ["heading", "panelClass", "isDisabled", "isOpen"], outputs: ["isOpenChange"] }, { kind: "component", type: i3.LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }] }); }
32
48
  }
33
49
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomAcordionComponent, decorators: [{
34
50
  type: Component,
35
- args: [{ selector: 'app-custom-acordion, lib-acordion', template: "<accordion [isAnimated]=\"true\" [class.mt-3]=\"haveMarginTop\">\n\t<accordion-group [panelClass]=\"customClass\" [isOpen]=\"isOpen ?? false\" style=\"padding: 0px\">\n\t\t<button class=\"btn btn-link btn-block justify-content-between d-flex w-100 shadow-none\" (click)=\"setIsOpen()\" \n\t\t\tstyle=\"align-items:center; padding-left: 0px; padding-right: 0px;\" accordion-heading type=\"button\">\n\t\t\t<div>\n\t\t\t\t<h5> {{name}} </h5>\n\t\t\t</div>\n\t\t\t<div *ngIf=\"haveArrow\">\n\t\t\t\t<span class=\"badge badge-secondary bg-secondary float-right pull-right\">\n\t\t\t\t\t<img src=\"assets/icons/down-arrow.svg\" alt=\"\" [class]=\"posicaoIcon ? 'invertImage' : ''\" #icon class=\"arrow-pos-size\"/>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</button>\n\n\t\t<div>\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</accordion-group>\n</accordion>", styles: ["h5{font-size:16px;font-weight:600;margin-bottom:0}.arrow-pos-size{background-color:#fff;border:none;width:15px;height:15px;transition:.3s}.invertImage{transform:rotate(180deg)}span{background-color:#fff!important}button,button:hover{color:#000;text-decoration:none}button:focus{color:#000;text-decoration:none}\n"] }]
51
+ args: [{ selector: 'app-custom-acordion, lib-acordion', template: "<accordion [isAnimated]=\"true\" [class.mt-3]=\"haveMarginTop\">\n\t<accordion-group class=\"p-0\" [isOpen]=\"isOpen ?? false\">\n\t\t<button accordion-heading class=\"btn btn-link d-flex align-items-center justify-content-between w-100 px-0 fw-bold\" (click)=\"setIsOpen()\">\n\t\t\t{{ name }}\n\t\t\t<lib-icon *ngIf=\"haveArrow\" #icon iconName=\"seta-{{iconDirection}}\" />\n\t\t</button>\n\n\t\t<div>\n\t\t\t<!-- Este conte\u00FAdo abaixo ser\u00E1 o conte\u00FAdo customizado informado pelo componente pai -->\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</accordion-group>\n</accordion>", styles: ["button,button:hover{color:#000;text-decoration:none}button:focus{color:#000;text-decoration:none}\n"] }]
36
52
  }], ctorParameters: () => [], propDecorators: { name: [{
37
53
  type: Input
38
54
  }], haveArrow: [{
@@ -41,8 +57,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
41
57
  type: Input
42
58
  }], isOpen: [{
43
59
  type: Input
60
+ }], customClass: [{
61
+ type: Input
44
62
  }], iconRef: [{
45
63
  type: ViewChild,
46
64
  args: ['icon']
47
65
  }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWFjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zcC1pbmZyYS9zcmMvbGliL3dpZGdldHMvY3VzdG9tLWFjb3JkaW9uL2N1c3RvbS1hY29yZGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi93aWRnZXRzL2N1c3RvbS1hY29yZGlvbi9jdXN0b20tYWNvcmRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBT2hGLE1BQU0sT0FBTyx1QkFBdUI7SUFDOUI7UUFDQSxnQkFBVyxHQUFHLGFBQWEsQ0FBQztRQUVaLFNBQUksR0FBRyxpQkFBaUIsQ0FBQztRQUN6QixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO0lBTHJCLENBQUM7SUFZbEIsUUFBUTtRQUNGLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUUvQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVNLFNBQVM7UUFFVixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFbEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDM0MsQ0FBQztJQUVNLFVBQVU7UUFDWCxJQUFHLElBQUksQ0FBQyxPQUFPLEVBQUMsQ0FBQztZQUNYLElBQUcsSUFBSSxDQUFDLFdBQVcsRUFBQyxDQUFDO2dCQUNmLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDOUQsQ0FBQztpQkFBTSxDQUFDO2dCQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDakUsQ0FBQztRQUNQLENBQUM7SUFDUCxDQUFDOytHQWxDTSx1QkFBdUI7bUdBQXZCLHVCQUF1Qiw4UUNQcEMsbTFCQWtCWTs7NEZEWEMsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNNLG1DQUFtQzt3REFRN0IsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFJUSxPQUFPO3NCQUF6QixTQUFTO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KCB7XG4gICAgICBzZWxlY3RvcjogJ2FwcC1jdXN0b20tYWNvcmRpb24sIGxpYi1hY29yZGlvbicsXG4gICAgICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tLWFjb3JkaW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICAgIHN0eWxlVXJsczogWyAnLi9jdXN0b20tYWNvcmRpb24uY29tcG9uZW50LnNjc3MnIF0sXG59IClcbmV4cG9ydCBjbGFzcyBDdXN0b21BY29yZGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgICBjb25zdHJ1Y3RvciAoKSB7IH1cbiAgICAgIGN1c3RvbUNsYXNzID0gJ2N1c3RvbUNsYXNzJztcblxuICAgICAgQElucHV0KCkgcHVibGljIG5hbWUgPSAnRmlsdHJvIGF2YW7Dp2Fkbyc7XG4gICAgICBASW5wdXQoKSBwdWJsaWMgaGF2ZUFycm93ID0gdHJ1ZTtcbiAgICAgIEBJbnB1dCgpIHB1YmxpYyBoYXZlTWFyZ2luVG9wID0gZmFsc2U7XG4gICAgICBASW5wdXQoKSBwdWJsaWMgaXNPcGVuPzogYm9vbGVhbjtcblxuICAgICAgcHVibGljIHBvc2ljYW9JY29uPzpib29sZWFuOyBcblxuXHRAVmlld0NoaWxkKCdpY29uJykgaWNvblJlZj86IEVsZW1lbnRSZWY7XG5cbiAgICAgIG5nT25Jbml0ICgpOiB2b2lkIHsgICAgICAgXG4gICAgICAgICAgICB0aGlzLnBvc2ljYW9JY29uID0gdGhpcy5pc09wZW47XG5cbiAgICAgICAgICAgIHRoaXMudG9vZ2xlSWNvbigpO1xuICAgICAgfVxuXG4gICAgICBwdWJsaWMgc2V0SXNPcGVuKCl7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHRoaXMudG9vZ2xlSWNvbigpO1xuXG4gICAgICAgICAgICB0aGlzLnBvc2ljYW9JY29uID0gIXRoaXMucG9zaWNhb0ljb247XG4gICAgICB9XG5cbiAgICAgIHB1YmxpYyB0b29nbGVJY29uKCl7XG4gICAgICAgICAgICBpZih0aGlzLmljb25SZWYpe1xuICAgICAgICAgICAgICAgICAgaWYodGhpcy5wb3NpY2FvSWNvbil7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmljb25SZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdpbnZlcnRJbWFnZScpO1xuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaWNvblJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2ludmVydEltYWdlJyk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICB9XG59XG4iLCI8YWNjb3JkaW9uIFtpc0FuaW1hdGVkXT1cInRydWVcIiBbY2xhc3MubXQtM109XCJoYXZlTWFyZ2luVG9wXCI+XG5cdDxhY2NvcmRpb24tZ3JvdXAgW3BhbmVsQ2xhc3NdPVwiY3VzdG9tQ2xhc3NcIiBbaXNPcGVuXT1cImlzT3BlbiA/PyBmYWxzZVwiIHN0eWxlPVwicGFkZGluZzogMHB4XCI+XG5cdFx0PGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tbGluayBidG4tYmxvY2sganVzdGlmeS1jb250ZW50LWJldHdlZW4gZC1mbGV4IHctMTAwIHNoYWRvdy1ub25lXCIgKGNsaWNrKT1cInNldElzT3BlbigpXCIgXG5cdFx0XHRzdHlsZT1cImFsaWduLWl0ZW1zOmNlbnRlcjsgcGFkZGluZy1sZWZ0OiAwcHg7IHBhZGRpbmctcmlnaHQ6IDBweDtcIiBhY2NvcmRpb24taGVhZGluZyB0eXBlPVwiYnV0dG9uXCI+XG5cdFx0XHQ8ZGl2PlxuXHRcdFx0XHQ8aDU+IHt7bmFtZX19IDwvaDU+XG5cdFx0XHQ8L2Rpdj5cblx0XHRcdDxkaXYgKm5nSWY9XCJoYXZlQXJyb3dcIj5cblx0XHRcdFx0PHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1zZWNvbmRhcnkgYmctc2Vjb25kYXJ5IGZsb2F0LXJpZ2h0IHB1bGwtcmlnaHRcIj5cblx0XHRcdFx0XHQ8aW1nIHNyYz1cImFzc2V0cy9pY29ucy9kb3duLWFycm93LnN2Z1wiIGFsdD1cIlwiIFtjbGFzc109XCJwb3NpY2FvSWNvbiA/ICdpbnZlcnRJbWFnZScgOiAnJ1wiICNpY29uIGNsYXNzPVwiYXJyb3ctcG9zLXNpemVcIi8+XG5cdFx0XHRcdDwvc3Bhbj5cblx0XHRcdDwvZGl2PlxuXHRcdDwvYnV0dG9uPlxuXG5cdFx0PGRpdj5cblx0XHRcdDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblx0XHQ8L2Rpdj5cblx0PC9hY2NvcmRpb24tZ3JvdXA+XG48L2FjY29yZGlvbj4iXX0=
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWFjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zcC1pbmZyYS9zcmMvbGliL3dpZGdldHMvY3VzdG9tLWFjb3JkaW9uL2N1c3RvbS1hY29yZGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi93aWRnZXRzL2N1c3RvbS1hY29yZGlvbi9jdXN0b20tYWNvcmRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUVoRjs7Ozs7Ozs7O0dBU0c7QUFNSCxNQUFNLE9BQU8sdUJBQXVCO0lBZTlCLG9CQUFvQjtJQUVwQixnREFBZ0Q7SUFHaEQsaURBQWlEO0lBQ2pEO1FBbkJBLDZDQUE2QztRQUU3QyxpQkFBaUI7UUFDRCxTQUFJLEdBQVcsaUJBQWlCLENBQUM7UUFDakMsY0FBUyxHQUFZLElBQUksQ0FBQztRQUMxQixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQU9yQyxrQkFBYSxHQUFxQixPQUFPLENBQUM7SUFPcEMsQ0FBQztJQUVqQixRQUFRO1FBQ0YsaUNBQWlDO1FBRWpDLElBQUksSUFBSSxDQUFDLE1BQU07WUFBRSxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQzs7WUFDekMsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUM7SUFDdkMsQ0FBQztJQUNELG9EQUFvRDtJQUdwRCx3Q0FBd0M7SUFDakMsU0FBUztRQUNWLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU0sVUFBVTtRQUNYLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxPQUFPO1lBQUUsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUM7O1lBQzNELElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDO0lBQ3hDLENBQUM7K0dBeENNLHVCQUF1QjttR0FBdkIsdUJBQXVCLDBTQ2pCcEMscWxCQVlZOzs0RkRLQyx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ00sbUNBQW1DO3dEQVM3QixJQUFJO3NCQUFuQixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFFVSxNQUFNO3NCQUFyQixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBRWEsT0FBTztzQkFBekIsU0FBUzt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBDb21wb25lbnRlIGRlIGFjb3JkaW9uIGN1c3RvbWl6YWRvLCBvIHNldSBjb250ZcO6ZG8gaW50ZXJubyDDqSBpbmZvcm1hZG8gcGVsbyBjb21wb25lbnRlIHBhaSwgcG9kZW5kbyBjb25maWd1csOhLWxvIGNvbW8gbmVjZXNzw6FyaW8uXG4gKiBPIGNvbXBvbmVudGUgZW0gc2kgw6kgcmVzcG9uc8OhdmVsIGFwZW5hcyBwZWxvIGNvbXBvcnRhbWVudG8gZGUgYWNvcmRpb24sIG91IHNlamEsIGFicmlyIGUgZmVjaGFyIG8gY29udGXDumRvIGludGVybm8uXG4gKiBcbiAqIFByb3ByaWVkYWRlczpcbiAqICAgIC0gbmFtZTogc3RyaW5nIChkZWZhdWx0OiAnRmlsdHJvIGF2YW7Dp2FkbycpXG4gKiAgICAtIGhhdmVBcnJvdzogYm9vbGVhbiAoZGVmYXVsdDogdHJ1ZSlcbiAqICAgIC0gaGF2ZU1hcmdpblRvcDogYm9vbGVhbiAoZGVmYXVsdDogZmFsc2UpXG4gKiAgICAtIGlzT3BlbjogYm9vbGVhbiAoZGVmYXVsdDogZmFsc2UpXG4gKi9cbkBDb21wb25lbnQoIHtcbiAgICAgIHNlbGVjdG9yOiAnYXBwLWN1c3RvbS1hY29yZGlvbiwgbGliLWFjb3JkaW9uJyxcbiAgICAgIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tYWNvcmRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgICAgc3R5bGVVcmxzOiBbICcuL2N1c3RvbS1hY29yZGlvbi5jb21wb25lbnQuc2NzcycgXSxcbn0gKVxuZXhwb3J0IGNsYXNzIEN1c3RvbUFjb3JkaW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgICAgLy8gI3JlZ2lvbiA9PT09PT09PT09PiBQUk9QRVJUSUVTIDw9PT09PT09PT09XG5cbiAgICAgIC8vICNyZWdpb24gUFVCTElDXG4gICAgICBASW5wdXQoKSBwdWJsaWMgbmFtZTogc3RyaW5nID0gJ0ZpbHRybyBhdmFuw6dhZG8nO1xuICAgICAgQElucHV0KCkgcHVibGljIGhhdmVBcnJvdzogYm9vbGVhbiA9IHRydWU7XG4gICAgICBASW5wdXQoKSBwdWJsaWMgaGF2ZU1hcmdpblRvcDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgICBASW5wdXQoKSBwdWJsaWMgaXNPcGVuPzogYm9vbGVhbjtcbiAgICAgIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21DbGFzcz86IHN0cmluZztcblxuICAgICAgQFZpZXdDaGlsZCgnaWNvbicpIGljb25SZWY/OiBFbGVtZW50UmVmO1xuXG4gICAgICBwcm90ZWN0ZWQgaWNvbkRpcmVjdGlvbjogJ2JhaXhvJyB8ICdjaW1hJyA9ICdiYWl4byc7XG4gICAgICAvLyAjZW5kcmVnaW9uIFBVQkxJQ1xuXG4gICAgICAvLyAjZW5kcmVnaW9uID09PT09PT09PT0+IFBST1BFUlRJRVMgPD09PT09PT09PT1cblxuXG4gICAgICAvLyAjcmVnaW9uID09PT09PT09PT0+IElOSVRJQUxJWkFUSU9OIDw9PT09PT09PT09XG4gICAgICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gICAgICBuZ09uSW5pdCgpOiB2b2lkIHsgICAgICAgXG4gICAgICAgICAgICAvL3RoaXMucG9zaWNhb0ljb24gPSB0aGlzLmlzT3BlbjtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaWYgKHRoaXMuaXNPcGVuKSB0aGlzLmljb25EaXJlY3Rpb24gPSAnYmFpeG8nO1xuICAgICAgICAgICAgZWxzZSB0aGlzLmljb25EaXJlY3Rpb24gPSAnY2ltYSc7XG4gICAgICB9XG4gICAgICAvLyAjZW5kcmVnaW9uID09PT09PT09PT0+IElOSVRJQUxJWkFUSU9OIDw9PT09PT09PT09XG5cblxuICAgICAgLy8gI3JlZ2lvbiA9PT09PT09PT09PiBVVElMUyA8PT09PT09PT09PVxuICAgICAgcHVibGljIHNldElzT3Blbigpe1xuICAgICAgICAgICAgdGhpcy50b29nbGVJY29uKCk7XG4gICAgICB9XG5cbiAgICAgIHB1YmxpYyB0b29nbGVJY29uKCl7XG4gICAgICAgICAgICBpZiAodGhpcy5pY29uRGlyZWN0aW9uID09PSAnYmFpeG8nKSB0aGlzLmljb25EaXJlY3Rpb24gPSAnY2ltYSc7XG4gICAgICAgICAgICBlbHNlIHRoaXMuaWNvbkRpcmVjdGlvbiA9ICdiYWl4byc7XG4gICAgICB9XG4gICAgICAvLyAjZW5kcmVnaW9uID09PT09PT09PT0+IFVUSUxTIDw9PT09PT09PT09XG5cbn1cbiIsIjxhY2NvcmRpb24gW2lzQW5pbWF0ZWRdPVwidHJ1ZVwiIFtjbGFzcy5tdC0zXT1cImhhdmVNYXJnaW5Ub3BcIj5cblx0PGFjY29yZGlvbi1ncm91cCBjbGFzcz1cInAtMFwiIFtpc09wZW5dPVwiaXNPcGVuID8/IGZhbHNlXCI+XG5cdFx0PGJ1dHRvbiBhY2NvcmRpb24taGVhZGluZyBjbGFzcz1cImJ0biBidG4tbGluayBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctMTAwIHB4LTAgZnctYm9sZFwiIChjbGljayk9XCJzZXRJc09wZW4oKVwiPlxuXHRcdFx0e3sgbmFtZSB9fVxuXHRcdFx0PGxpYi1pY29uICpuZ0lmPVwiaGF2ZUFycm93XCIgI2ljb24gaWNvbk5hbWU9XCJzZXRhLXt7aWNvbkRpcmVjdGlvbn19XCIgLz5cblx0XHQ8L2J1dHRvbj5cblxuXHRcdDxkaXY+XG5cdFx0XHQ8IS0tIEVzdGUgY29udGXDumRvIGFiYWl4byBzZXLDoSBvIGNvbnRlw7pkbyBjdXN0b21pemFkbyBpbmZvcm1hZG8gcGVsbyBjb21wb25lbnRlIHBhaSAtLT5cblx0XHRcdDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblx0XHQ8L2Rpdj5cblx0PC9hY2NvcmRpb24tZ3JvdXA+XG48L2FjY29yZGlvbj4iXX0=
@@ -4092,37 +4092,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
4092
4092
  type: Input
4093
4093
  }] } });
4094
4094
 
4095
+ /**
4096
+ * Componente de acordion customizado, o seu conteúdo interno é informado pelo componente pai, podendo configurá-lo como necessário.
4097
+ * O componente em si é responsável apenas pelo comportamento de acordion, ou seja, abrir e fechar o conteúdo interno.
4098
+ *
4099
+ * Propriedades:
4100
+ * - name: string (default: 'Filtro avançado')
4101
+ * - haveArrow: boolean (default: true)
4102
+ * - haveMarginTop: boolean (default: false)
4103
+ * - isOpen: boolean (default: false)
4104
+ */
4095
4105
  class CustomAcordionComponent {
4106
+ // #endregion PUBLIC
4107
+ // #endregion ==========> PROPERTIES <==========
4108
+ // #region ==========> INITIALIZATION <==========
4096
4109
  constructor() {
4097
- this.customClass = 'customClass';
4110
+ // #region ==========> PROPERTIES <==========
4111
+ // #region PUBLIC
4098
4112
  this.name = 'Filtro avançado';
4099
4113
  this.haveArrow = true;
4100
4114
  this.haveMarginTop = false;
4115
+ this.iconDirection = 'baixo';
4101
4116
  }
4102
4117
  ngOnInit() {
4103
- this.posicaoIcon = this.isOpen;
4104
- this.toogleIcon();
4118
+ //this.posicaoIcon = this.isOpen;
4119
+ if (this.isOpen)
4120
+ this.iconDirection = 'baixo';
4121
+ else
4122
+ this.iconDirection = 'cima';
4105
4123
  }
4124
+ // #endregion ==========> INITIALIZATION <==========
4125
+ // #region ==========> UTILS <==========
4106
4126
  setIsOpen() {
4107
4127
  this.toogleIcon();
4108
- this.posicaoIcon = !this.posicaoIcon;
4109
4128
  }
4110
4129
  toogleIcon() {
4111
- if (this.iconRef) {
4112
- if (this.posicaoIcon) {
4113
- this.iconRef.nativeElement.classList.add('invertImage');
4114
- }
4115
- else {
4116
- this.iconRef.nativeElement.classList.remove('invertImage');
4117
- }
4118
- }
4130
+ if (this.iconDirection === 'baixo')
4131
+ this.iconDirection = 'cima';
4132
+ else
4133
+ this.iconDirection = 'baixo';
4119
4134
  }
4120
4135
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomAcordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4121
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CustomAcordionComponent, selector: "app-custom-acordion, lib-acordion", inputs: { name: "name", haveArrow: "haveArrow", haveMarginTop: "haveMarginTop", isOpen: "isOpen" }, viewQueries: [{ propertyName: "iconRef", first: true, predicate: ["icon"], descendants: true }], ngImport: i0, template: "<accordion [isAnimated]=\"true\" [class.mt-3]=\"haveMarginTop\">\n\t<accordion-group [panelClass]=\"customClass\" [isOpen]=\"isOpen ?? false\" style=\"padding: 0px\">\n\t\t<button class=\"btn btn-link btn-block justify-content-between d-flex w-100 shadow-none\" (click)=\"setIsOpen()\" \n\t\t\tstyle=\"align-items:center; padding-left: 0px; padding-right: 0px;\" accordion-heading type=\"button\">\n\t\t\t<div>\n\t\t\t\t<h5> {{name}} </h5>\n\t\t\t</div>\n\t\t\t<div *ngIf=\"haveArrow\">\n\t\t\t\t<span class=\"badge badge-secondary bg-secondary float-right pull-right\">\n\t\t\t\t\t<img src=\"assets/icons/down-arrow.svg\" alt=\"\" [class]=\"posicaoIcon ? 'invertImage' : ''\" #icon class=\"arrow-pos-size\"/>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</button>\n\n\t\t<div>\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</accordion-group>\n</accordion>", styles: ["h5{font-size:16px;font-weight:600;margin-bottom:0}.arrow-pos-size{background-color:#fff;border:none;width:15px;height:15px;transition:.3s}.invertImage{transform:rotate(180deg)}span{background-color:#fff!important}button,button:hover{color:#000;text-decoration:none}button:focus{color:#000;text-decoration:none}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.AccordionComponent, selector: "accordion", inputs: ["isAnimated", "closeOthers"] }, { kind: "component", type: i2$2.AccordionPanelComponent, selector: "accordion-group, accordion-panel", inputs: ["heading", "panelClass", "isDisabled", "isOpen"], outputs: ["isOpenChange"] }] }); }
4136
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CustomAcordionComponent, selector: "app-custom-acordion, lib-acordion", inputs: { name: "name", haveArrow: "haveArrow", haveMarginTop: "haveMarginTop", isOpen: "isOpen", customClass: "customClass" }, viewQueries: [{ propertyName: "iconRef", first: true, predicate: ["icon"], descendants: true }], ngImport: i0, template: "<accordion [isAnimated]=\"true\" [class.mt-3]=\"haveMarginTop\">\n\t<accordion-group class=\"p-0\" [isOpen]=\"isOpen ?? false\">\n\t\t<button accordion-heading class=\"btn btn-link d-flex align-items-center justify-content-between w-100 px-0 fw-bold\" (click)=\"setIsOpen()\">\n\t\t\t{{ name }}\n\t\t\t<lib-icon *ngIf=\"haveArrow\" #icon iconName=\"seta-{{iconDirection}}\" />\n\t\t</button>\n\n\t\t<div>\n\t\t\t<!-- Este conte\u00FAdo abaixo ser\u00E1 o conte\u00FAdo customizado informado pelo componente pai -->\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</accordion-group>\n</accordion>", styles: ["button,button:hover{color:#000;text-decoration:none}button:focus{color:#000;text-decoration:none}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.AccordionComponent, selector: "accordion", inputs: ["isAnimated", "closeOthers"] }, { kind: "component", type: i2$2.AccordionPanelComponent, selector: "accordion-group, accordion-panel", inputs: ["heading", "panelClass", "isDisabled", "isOpen"], outputs: ["isOpenChange"] }, { kind: "component", type: LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }] }); }
4122
4137
  }
4123
4138
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomAcordionComponent, decorators: [{
4124
4139
  type: Component,
4125
- args: [{ selector: 'app-custom-acordion, lib-acordion', template: "<accordion [isAnimated]=\"true\" [class.mt-3]=\"haveMarginTop\">\n\t<accordion-group [panelClass]=\"customClass\" [isOpen]=\"isOpen ?? false\" style=\"padding: 0px\">\n\t\t<button class=\"btn btn-link btn-block justify-content-between d-flex w-100 shadow-none\" (click)=\"setIsOpen()\" \n\t\t\tstyle=\"align-items:center; padding-left: 0px; padding-right: 0px;\" accordion-heading type=\"button\">\n\t\t\t<div>\n\t\t\t\t<h5> {{name}} </h5>\n\t\t\t</div>\n\t\t\t<div *ngIf=\"haveArrow\">\n\t\t\t\t<span class=\"badge badge-secondary bg-secondary float-right pull-right\">\n\t\t\t\t\t<img src=\"assets/icons/down-arrow.svg\" alt=\"\" [class]=\"posicaoIcon ? 'invertImage' : ''\" #icon class=\"arrow-pos-size\"/>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</button>\n\n\t\t<div>\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</accordion-group>\n</accordion>", styles: ["h5{font-size:16px;font-weight:600;margin-bottom:0}.arrow-pos-size{background-color:#fff;border:none;width:15px;height:15px;transition:.3s}.invertImage{transform:rotate(180deg)}span{background-color:#fff!important}button,button:hover{color:#000;text-decoration:none}button:focus{color:#000;text-decoration:none}\n"] }]
4140
+ args: [{ selector: 'app-custom-acordion, lib-acordion', template: "<accordion [isAnimated]=\"true\" [class.mt-3]=\"haveMarginTop\">\n\t<accordion-group class=\"p-0\" [isOpen]=\"isOpen ?? false\">\n\t\t<button accordion-heading class=\"btn btn-link d-flex align-items-center justify-content-between w-100 px-0 fw-bold\" (click)=\"setIsOpen()\">\n\t\t\t{{ name }}\n\t\t\t<lib-icon *ngIf=\"haveArrow\" #icon iconName=\"seta-{{iconDirection}}\" />\n\t\t</button>\n\n\t\t<div>\n\t\t\t<!-- Este conte\u00FAdo abaixo ser\u00E1 o conte\u00FAdo customizado informado pelo componente pai -->\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</accordion-group>\n</accordion>", styles: ["button,button:hover{color:#000;text-decoration:none}button:focus{color:#000;text-decoration:none}\n"] }]
4126
4141
  }], ctorParameters: () => [], propDecorators: { name: [{
4127
4142
  type: Input
4128
4143
  }], haveArrow: [{
@@ -4131,6 +4146,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
4131
4146
  type: Input
4132
4147
  }], isOpen: [{
4133
4148
  type: Input
4149
+ }], customClass: [{
4150
+ type: Input
4134
4151
  }], iconRef: [{
4135
4152
  type: ViewChild,
4136
4153
  args: ['icon']