lib-portal-angular 0.0.11 → 0.0.13

Sign up to get free protection for your applications and to get access to all the features.
@@ -22,6 +22,8 @@ export class ButtonComponent {
22
22
  this.marginBottom = 0;
23
23
  this.marginLeft = 0;
24
24
  this.marginRight = 0;
25
+ this.permissions = [];
26
+ this.permissionChecker = null;
25
27
  this.clickEvent = new EventEmitter();
26
28
  this.isHovered = false;
27
29
  this.isActive = false;
@@ -96,47 +98,57 @@ export class ButtonComponent {
96
98
  'filter': activeFilter
97
99
  };
98
100
  }
101
+ hasPermission() {
102
+ if (!this.permissionChecker || this.permissions.length === 0) {
103
+ return true;
104
+ }
105
+ return this.permissionChecker(this.permissions);
106
+ }
99
107
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
100
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonComponent, selector: "sim-app-button", inputs: { type: "type", label: "label", btnClass: "btnClass", fontSize: "fontSize", disabled: "disabled", autofocus: "autofocus", form: "form", formaction: "formaction", formenctype: "formenctype", formmethod: "formmethod", formnovalidate: "formnovalidate", formtarget: "formtarget", name: "name", value: "value", marginTop: "marginTop", marginBottom: "marginBottom", marginLeft: "marginLeft", marginRight: "marginRight" }, outputs: { clickEvent: "clickEvent" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "mousedown": "onMouseDown()", "mouseup": "onMouseUp()" } }, ngImport: i0, template: `
101
- <button [type]="type"
102
- class="btn"
103
- [ngClass]="btnClass"
104
- [ngStyle]="getDynamicStyles()"
105
- (click)="onClick($event)"
106
- [disabled]="disabled"
107
- [attr.autofocus]="autofocus ? true : null"
108
- [attr.form]="form"
109
- [attr.formaction]="formaction"
110
- [attr.formenctype]="formenctype"
111
- [attr.formmethod]="formmethod"
112
- [attr.formnovalidate]="formnovalidate"
113
- [attr.formtarget]="formtarget"
114
- [attr.name]="name"
115
- [attr.value]="value">
116
- {{ label }}
117
- </button>
118
- `, isInline: true, styles: [".btn{padding:.5rem 1rem;border-radius:.25rem;transition:background-color .3s,border-color .3s,filter .3s;font-family:Inter,sans-serif;font-size:16px;font-weight:600;line-height:24px;letter-spacing:.005em;text-align:left}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
108
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonComponent, selector: "sim-app-button", inputs: { type: "type", label: "label", btnClass: "btnClass", fontSize: "fontSize", disabled: "disabled", autofocus: "autofocus", form: "form", formaction: "formaction", formenctype: "formenctype", formmethod: "formmethod", formnovalidate: "formnovalidate", formtarget: "formtarget", name: "name", value: "value", marginTop: "marginTop", marginBottom: "marginBottom", marginLeft: "marginLeft", marginRight: "marginRight", permissions: "permissions", permissionChecker: "permissionChecker" }, outputs: { clickEvent: "clickEvent" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "mousedown": "onMouseDown()", "mouseup": "onMouseUp()" } }, ngImport: i0, template: `
109
+ <ng-container *ngIf="hasPermission()">
110
+ <button [type]="type"
111
+ class="btn"
112
+ [ngClass]="btnClass"
113
+ [ngStyle]="getDynamicStyles()"
114
+ (click)="onClick($event)"
115
+ [disabled]="disabled"
116
+ [attr.autofocus]="autofocus ? true : null"
117
+ [attr.form]="form"
118
+ [attr.formaction]="formaction"
119
+ [attr.formenctype]="formenctype"
120
+ [attr.formmethod]="formmethod"
121
+ [attr.formnovalidate]="formnovalidate"
122
+ [attr.formtarget]="formtarget"
123
+ [attr.name]="name"
124
+ [attr.value]="value">
125
+ {{ label }}
126
+ </button>
127
+ </ng-container>
128
+ `, isInline: true, styles: [".btn{padding:.5rem 1rem;border-radius:.25rem;transition:background-color .3s,border-color .3s,filter .3s;font-family:Inter,sans-serif;font-size:16px;font-weight:600;line-height:24px;letter-spacing:.005em;text-align:left}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
119
129
  }
120
130
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonComponent, decorators: [{
121
131
  type: Component,
122
132
  args: [{ selector: 'sim-app-button', template: `
123
- <button [type]="type"
124
- class="btn"
125
- [ngClass]="btnClass"
126
- [ngStyle]="getDynamicStyles()"
127
- (click)="onClick($event)"
128
- [disabled]="disabled"
129
- [attr.autofocus]="autofocus ? true : null"
130
- [attr.form]="form"
131
- [attr.formaction]="formaction"
132
- [attr.formenctype]="formenctype"
133
- [attr.formmethod]="formmethod"
134
- [attr.formnovalidate]="formnovalidate"
135
- [attr.formtarget]="formtarget"
136
- [attr.name]="name"
137
- [attr.value]="value">
138
- {{ label }}
139
- </button>
133
+ <ng-container *ngIf="hasPermission()">
134
+ <button [type]="type"
135
+ class="btn"
136
+ [ngClass]="btnClass"
137
+ [ngStyle]="getDynamicStyles()"
138
+ (click)="onClick($event)"
139
+ [disabled]="disabled"
140
+ [attr.autofocus]="autofocus ? true : null"
141
+ [attr.form]="form"
142
+ [attr.formaction]="formaction"
143
+ [attr.formenctype]="formenctype"
144
+ [attr.formmethod]="formmethod"
145
+ [attr.formnovalidate]="formnovalidate"
146
+ [attr.formtarget]="formtarget"
147
+ [attr.name]="name"
148
+ [attr.value]="value">
149
+ {{ label }}
150
+ </button>
151
+ </ng-container>
140
152
  `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".btn{padding:.5rem 1rem;border-radius:.25rem;transition:background-color .3s,border-color .3s,filter .3s;font-family:Inter,sans-serif;font-size:16px;font-weight:600;line-height:24px;letter-spacing:.005em;text-align:left}\n"] }]
141
153
  }], propDecorators: { type: [{
142
154
  type: Input
@@ -174,6 +186,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
174
186
  type: Input
175
187
  }], marginRight: [{
176
188
  type: Input
189
+ }], permissions: [{
190
+ type: Input
191
+ }], permissionChecker: [{
192
+ type: Input
177
193
  }], clickEvent: [{
178
194
  type: Output
179
195
  }], onMouseEnter: [{
@@ -189,4 +205,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
189
205
  type: HostListener,
190
206
  args: ['mouseup']
191
207
  }] } });
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpYi1wb3J0YWwtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFzQzdELE1BQU0sT0FBTyxlQUFlO0lBcEM1QjtRQXFDVyxTQUFJLEdBQVcsUUFBUSxDQUFDO1FBQ3hCLFVBQUssR0FBVyxRQUFRLENBQUM7UUFDekIsYUFBUSxHQUFrQixhQUFhLENBQUMsT0FBTyxDQUFDO1FBQ2hELGFBQVEsR0FBVyxNQUFNLENBQUM7UUFDMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLFNBQUksR0FBa0IsSUFBSSxDQUFDO1FBQzNCLGVBQVUsR0FBa0IsSUFBSSxDQUFDO1FBQ2pDLGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUNsQyxlQUFVLEdBQWtCLElBQUksQ0FBQztRQUNqQyxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyxlQUFVLEdBQWtCLElBQUksQ0FBQztRQUNqQyxTQUFJLEdBQWtCLElBQUksQ0FBQztRQUMzQixVQUFLLEdBQWtCLElBQUksQ0FBQztRQUU1QixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLGlCQUFZLEdBQVcsQ0FBQyxDQUFDO1FBQ3pCLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFDdkIsZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFFdkIsZUFBVSxHQUF3QixJQUFJLFlBQVksRUFBUyxDQUFDO1FBRTlELGNBQVMsR0FBWSxLQUFL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QUNyRSxRQUFRLEVBQUUsWUFBWTtTQUN2QixDQUFDO0lBQ0osQ0FBQzsrR0F2R1UsZUFBZTttR0FBZixlQUFlLHNwQkFsQ2hCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQlQ7OzRGQWdCVSxlQUFlO2tCQXBDM0IsU0FBUzsrQkFDRSxnQkFBZ0IsWUFDaEI7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCVCxtQkFjZ0IsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLFVBQVU7c0JBQW5CLE1BQU07Z0JBS3FCLFlBQVk7c0JBQXZDLFlBQVk7dUJBQUMsWUFBWTtnQkFJRSxZQUFZO3NCQUF2QyxZQUFZO3VCQUFDLFlBQVk7Z0JBS0MsV0FBVztzQkFBckMsWUFBWTt1QkFBQyxXQUFXO2dCQUlBLFNBQVM7c0JBQWpDLFlBQVk7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCdXR0b25DbGFzc2VzIH0gZnJvbSAnLi4vLi4vZW51bS9CdXR0b25DbGFzc2VzRW51bSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpbS1hcHAtYnV0dG9uJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YnV0dG9uIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICAgICAgY2xhc3M9XCJidG5cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiYnRuQ2xhc3NcIlxuICAgICAgICAgICAgW25nU3R5bGVdPVwiZ2V0RHluYW1pY1N0eWxlcygpXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFthdHRyLmF1dG9mb2N1c109XCJhdXRvZm9jdXMgPyB0cnVlIDogbnVsbFwiXG4gICAgICAgICAgICBbYXR0ci5mb3JtXT1cImZvcm1cIlxuICAgICAgICAgICAgW2F0dHIuZm9ybWFjdGlvbl09XCJmb3JtYWN0aW9uXCJcbiAgICAgICAgICAgIFthdHRyLmZvcm1lbmN0eXBlXT1cImZvcm1lbmN0eXBlXCJcbiAgICAgICAgICAgIFthdHRyLmZvcm1tZXRob2RdPVwiZm9ybW1ldGhvZFwiXG4gICAgICAgICAgICBbYXR0ci5mb3Jtbm92YWxpZGF0ZV09XCJmb3Jtbm92YWxpZGF0ZVwiXG4gICAgICAgICAgICBbYXR0ci5mb3JtdGFyZ2V0XT1cImZvcm10YXJnZXRcIlxuICAgICAgICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgIFthdHRyLnZhbHVlXT1cInZhbHVlXCI+XG4gICAgICB7eyBsYWJlbCB9fVxuICAgIDwvYnV0dG9uPlxuICBgLFxuICBzdHlsZXM6IFtgXG4gICAgLmJ0biB7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGJvcmRlci1jb2xvciAwLjNzLCBmaWx0ZXIgMC4zcztcbiAgICAgIGZvbnQtZmFtaWx5OiAnSW50ZXInLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDA1ZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgYF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZyA9ICdidXR0b24nO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJ1N1Ym1pdCc7XG4gIEBJbnB1dCgpIGJ0bkNsYXNzOiBCdXR0b25DbGFzc2VzID0gQnV0dG9uQ2xhc3Nlcy5QcmltYXJ5O1xuICBASW5wdXQoKSBmb250U2l6ZTogc3RyaW5nID0gJzFyZW0nO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBhdXRvZm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZm9ybTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIGZvcm1hY3Rpb246IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBmb3JtZW5jdHlwZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIGZvcm1tZXRob2Q6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBmb3Jtbm92YWxpZGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBmb3JtdGFyZ2V0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKSBtYXJnaW5Ub3A6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIG1hcmdpbkJvdHRvbTogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgbWFyZ2luTGVmdDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgbWFyZ2luUmlnaHQ6IG51bWJlciA9IDA7XG5cbiAgQE91dHB1dCgpIGNsaWNrRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIHByaXZhdGUgaXNIb3ZlcmVkOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgaXNBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJykgb25Nb3VzZUVudGVyKCkge1xuICAgIHRoaXMuaXNIb3ZlcmVkID0gdHJ1ZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKSBvbk1vdXNlTGVhdmUoKSB7XG4gICAgdGhpcy5pc0hvdmVyZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzQWN0aXZlID0gZmFsc2U7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nKSBvbk1vdXNlRG93bigpIHtcbiAgICB0aGlzLmlzQWN0aXZlID0gdHJ1ZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNldXAnKSBvbk1vdXNlVXAoKSB7XG4gICAgdGhpcy5pc0FjdGl2ZSA9IGZhbHNlO1xuICB9XG5cbiAgb25DbGljayhldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmNsaWNrRXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBnZXREeW5hbWljU3R5bGVzKCkge1xuICAgIGxldCBiYWNrZ3JvdW5kQ29sb3IgPSAnJztcbiAgICBsZXQgdGV4dENvbG9yID0gJyNmZmYnOyAvLyBEZWZhdWx0IHRleHQgY29sb3JcbiAgICBsZXQgYm9yZGVyQ29sb3IgPSAnJztcblxuICAgIHN3aXRjaCAodGhpcy5idG5DbGFzcykge1xuICAgICAgY2FzZSBCdXR0b25DbGFzc2VzLlByaW1hcnk6XG4gICAgICAgIGJhY2tncm91bmRDb2xvciA9ICcjMDA0NDRDJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEJ1dHRvbkNsYXNzZXMuU2Vjb25kYXJ5OlxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3IgPSAnIzJDQTU4RCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBCdXR0b25DbGFzc2VzLlN1Y2Nlc3M6XG4gICAgICAgIGJhY2tncm91bmRDb2xvciA9ICcjMDBDODUzJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEJ1dHRvbkNsYXNzZXMuRGFuZ2VyOlxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3IgPSAnI0QzMkYyRic7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBCdXR0b25DbGFzc2VzLldhcm5pbmc6XG4gICAgICAgIGJhY2tncm91bmRDb2xvciA9ICcjRkZDMTA3JztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEJ1dHRvbkNsYXNzZXMuSW5mbzpcbiAgICAgICAgYmFja2dyb3VuZENvbG9yID0gJyMzRUM5RDYnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQnV0dG9uQ2xhc3Nlcy5MaWdodDpcbiAgICAgICAgYmFja2dyb3VuZENvbG9yID0gJyNFRUYyRjYnO1xuICAgICAgICB0ZXh0Q29sb3IgPSAnIzAwNDQ0Qyc7IC8vIEN1c3RvbSB0ZXh0IGNvbG9yIGZvciBMaWdodFxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQnV0dG9uQ2xhc3Nlcy5EYXJrOlxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3IgPSAnIzExMTkzNic7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBCdXR0b25DbGFzc2VzLkxpbms6XG4gICAgICAgIGJhY2tncm91bmRDb2xvciA9ICd0cmFuc3BhcmVudCc7XG4gICAgICAgIGJvcmRlckNvbG9yID0gJyNEREU1RTknO1xuICAgICAgICB0ZXh0Q29sb3IgPSAnIzAwNDQ0Qyc7IC8vIEN1c3RvbSB0ZXh0IGNvbG9yIGZvciBMaW5rXG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYmFja2dyb3VuZENvbG9yID0gJyMwMDQ0NEMnO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjb25zdCBob3ZlckZpbHRlciA9IHRoaXMuaXNIb3ZlcmVkID8gJ2JyaWdodG5lc3MoODAlKScgOiAnbm9uZSc7IC8vIEFkanVzdGVkIGhvdmVyIGJyaWdodG5lc3NcbiAgICBjb25zdCBhY3RpdmVGaWx0ZXIgPSB0aGlzLmlzQWN0aXZlID8gJ2JyaWdodG5lc3MoNjAlKScgOiBob3ZlckZpbHRlcjsgLy8gQWRqdXN0ZWQgYWN0aXZlIGJyaWdodG5lc3NcblxuICAgIHJldHVybiB7XG4gICAgICAnZm9udC1zaXplJzogdGhpcy5mb250U2l6ZSxcbiAgICAgICdtYXJnaW4tdG9wJzogYCR7dGhpcy5tYXJnaW5Ub3B9cmVtYCxcbiAgICAgICdtYXJnaW4tYm90dG9tJzogYCR7dGhpcy5tYXJnaW5Cb3R0b219cmVtYCxcbiAgICAgICdtYXJnaW4tbGVmdCc6IGAke3RoaXMubWFyZ2luTGVmdH1yZW1gLFxuICAgICAgJ21hcmdpbi1yaWdodCc6IGAke3RoaXMubWFyZ2luUmlnaHR9cmVtYCxcbiAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogYmFja2dyb3VuZENvbG9yLFxuICAgICAgJ2NvbG9yJzogdGV4dENvbG9yLFxuICAgICAgJ2JvcmRlcic6IGJvcmRlckNvbG9yID8gYDFweCBzb2xpZCAke2JvcmRlckNvbG9yfWAgOiAnbm9uZScsXG4gICAgICAndHJhbnNpdGlvbic6ICdiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGJvcmRlci1jb2xvciAwLjNzLCBmaWx0ZXIgMC4zcycsXG4gICAgICAnZmlsdGVyJzogYWN0aXZlRmlsdGVyXG4gICAgfTtcbiAgfVxufVxuIl19
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpYi1wb3J0YWwtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUF3QzdELE1BQU0sT0FBTyxlQUFlO0lBdEM1QjtRQXVDVyxTQUFJLEdBQVcsUUFBUSxDQUFDO1FBQ3hCLFVBQUssR0FBVyxRQUFRLENBQUM7UUFDekIsYUFBUSxHQUFrQixhQUFhLENBQUMsT0FBTyxDQUFDO1FBQ2hELGFBQVEsR0FBVyxNQUFNLENBQUM7UUFDMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLFNBQUksR0FBa0IsSUFBSSxDQUFDO1FBQzNCLGVBQVUsR0FBa0IsSUFBSSxDQUFDO1FBQ2pDLGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUNsQyxlQUFVLEdBQWtCLElBQUksQ0FBQztRQUNqQyxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyxlQUFVLEdBQWtCLElBQUksQ0FBQztRQUNqQyxTQUFJLEdBQWtCLElBQUksQ0FBQztRQUMzQixVQUFLLEdBQWtCLElBQUksQ0FBQztRQUM1QixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLGlCQUFZLEdBQVcsQ0FBQyxDQUFDO1FBQ3pCLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFDdkIsZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFFeEIsZ0JBQVcsR0FBYSxFQUFFLENBQUM7UUFDM0Isc0JBQWlCLEdBQWdELElBQUksQ0FBQztR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QUFuQixNQUFNO2dCQUtxQixZQUFZO3NCQUF2QyxZQUFZO3VCQUFDLFlBQVk7Z0JBSUUsWUFBWTtzQkFBdkMsWUFBWTt1QkFBQyxZQUFZO2dCQUtDLFdBQVc7c0JBQXJDLFlBQVk7dUJBQUMsV0FBVztnQkFJQSxTQUFTO3NCQUFqQyxZQUFZO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnV0dG9uQ2xhc3NlcyB9IGZyb20gJy4uLy4uL2VudW0vQnV0dG9uQ2xhc3Nlc0VudW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaW0tYXBwLWJ1dHRvbicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc1Blcm1pc3Npb24oKVwiPlxuICAgICAgPGJ1dHRvbiBbdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJidG5cIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJidG5DbGFzc1wiXG4gICAgICAgICAgICAgIFtuZ1N0eWxlXT1cImdldER5bmFtaWNTdHlsZXMoKVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICBbYXR0ci5hdXRvZm9jdXNdPVwiYXV0b2ZvY3VzID8gdHJ1ZSA6IG51bGxcIlxuICAgICAgICAgICAgICBbYXR0ci5mb3JtXT1cImZvcm1cIlxuICAgICAgICAgICAgICBbYXR0ci5mb3JtYWN0aW9uXT1cImZvcm1hY3Rpb25cIlxuICAgICAgICAgICAgICBbYXR0ci5mb3JtZW5jdHlwZV09XCJmb3JtZW5jdHlwZVwiXG4gICAgICAgICAgICAgIFthdHRyLmZvcm1tZXRob2RdPVwiZm9ybW1ldGhvZFwiXG4gICAgICAgICAgICAgIFthdHRyLmZvcm1ub3ZhbGlkYXRlXT1cImZvcm1ub3ZhbGlkYXRlXCJcbiAgICAgICAgICAgICAgW2F0dHIuZm9ybXRhcmdldF09XCJmb3JtdGFyZ2V0XCJcbiAgICAgICAgICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgICAgW2F0dHIudmFsdWVdPVwidmFsdWVcIj5cbiAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICBgLFxuICBzdHlsZXM6IFtgXG4gICAgLmJ0biB7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGJvcmRlci1jb2xvciAwLjNzLCBmaWx0ZXIgMC4zcztcbiAgICAgIGZvbnQtZmFtaWx5OiAnSW50ZXInLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDA1ZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgYF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZyA9ICdidXR0b24nO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJ1N1Ym1pdCc7XG4gIEBJbnB1dCgpIGJ0bkNsYXNzOiBCdXR0b25DbGFzc2VzID0gQnV0dG9uQ2xhc3Nlcy5QcmltYXJ5O1xuICBASW5wdXQoKSBmb250U2l6ZTogc3RyaW5nID0gJzFyZW0nO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBhdXRvZm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZm9ybTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIGZvcm1hY3Rpb246IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBmb3JtZW5jdHlwZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIGZvcm1tZXRob2Q6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBmb3Jtbm92YWxpZGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBmb3JtdGFyZ2V0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgbWFyZ2luVG9wOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBtYXJnaW5Cb3R0b206IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIG1hcmdpbkxlZnQ6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIG1hcmdpblJpZ2h0OiBudW1iZXIgPSAwO1xuXG4gIEBJbnB1dCgpIHBlcm1pc3Npb25zOiBzdHJpbmdbXSA9IFtdO1xuICBASW5wdXQoKSBwZXJtaXNzaW9uQ2hlY2tlcjogKChwZXJtaXNzaW9uczogc3RyaW5nW10pID0+IGJvb2xlYW4pIHwgbnVsbCA9IG51bGw7XG5cbiAgQE91dHB1dCgpIGNsaWNrRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIHByaXZhdGUgaXNIb3ZlcmVkOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgaXNBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJykgb25Nb3VzZUVudGVyKCkge1xuICAgIHRoaXMuaXNIb3ZlcmVkID0gdHJ1ZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKSBvbk1vdXNlTGVhdmUoKSB7XG4gICAgdGhpcy5pc0hvdmVyZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzQWN0aXZlID0gZmFsc2U7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nKSBvbk1vdXNlRG93bigpIHtcbiAgICB0aGlzLmlzQWN0aXZlID0gdHJ1ZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNldXAnKSBvbk1vdXNlVXAoKSB7XG4gICAgdGhpcy5pc0FjdGl2ZSA9IGZhbHNlO1xuICB9XG5cbiAgb25DbGljayhldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmNsaWNrRXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBnZXREeW5hbWljU3R5bGVzKCkge1xuICAgIGxldCBiYWNrZ3JvdW5kQ29sb3IgPSAnJztcbiAgICBsZXQgdGV4dENvbG9yID0gJyNmZmYnOyAvLyBEZWZhdWx0IHRleHQgY29sb3JcbiAgICBsZXQgYm9yZGVyQ29sb3IgPSAnJztcblxuICAgIHN3aXRjaCAodGhpcy5idG5DbGFzcykge1xuICAgICAgY2FzZSBCdXR0b25DbGFzc2VzLlByaW1hcnk6XG4gICAgICAgIGJhY2tncm91bmRDb2xvciA9ICcjMDA0NDRDJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEJ1dHRvbkNsYXNzZXMuU2Vjb25kYXJ5OlxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3IgPSAnIzJDQTU4RCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBCdXR0b25DbGFzc2VzLlN1Y2Nlc3M6XG4gICAgICAgIGJhY2tncm91bmRDb2xvciA9ICcjMDBDODUzJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEJ1dHRvbkNsYXNzZXMuRGFuZ2VyOlxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3IgPSAnI0QzMkYyRic7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBCdXR0b25DbGFzc2VzLldhcm5pbmc6XG4gICAgICAgIGJhY2tncm91bmRDb2xvciA9ICcjRkZDMTA3JztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEJ1dHRvbkNsYXNzZXMuSW5mbzpcbiAgICAgICAgYmFja2dyb3VuZENvbG9yID0gJyMzRUM5RDYnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQnV0dG9uQ2xhc3Nlcy5MaWdodDpcbiAgICAgICAgYmFja2dyb3VuZENvbG9yID0gJyNFRUYyRjYnO1xuICAgICAgICB0ZXh0Q29sb3IgPSAnIzAwNDQ0Qyc7IC8vIEN1c3RvbSB0ZXh0IGNvbG9yIGZvciBMaWdodFxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQnV0dG9uQ2xhc3Nlcy5EYXJrOlxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3IgPSAnIzExMTkzNic7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBCdXR0b25DbGFzc2VzLkxpbms6XG4gICAgICAgIGJhY2tncm91bmRDb2xvciA9ICd0cmFuc3BhcmVudCc7XG4gICAgICAgIGJvcmRlckNvbG9yID0gJyNEREU1RTknO1xuICAgICAgICB0ZXh0Q29sb3IgPSAnIzAwNDQ0Qyc7IC8vIEN1c3RvbSB0ZXh0IGNvbG9yIGZvciBMaW5rXG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYmFja2dyb3VuZENvbG9yID0gJyMwMDQ0NEMnO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjb25zdCBob3ZlckZpbHRlciA9IHRoaXMuaXNIb3ZlcmVkID8gJ2JyaWdodG5lc3MoODAlKScgOiAnbm9uZSc7IC8vIEFkanVzdGVkIGhvdmVyIGJyaWdodG5lc3NcbiAgICBjb25zdCBhY3RpdmVGaWx0ZXIgPSB0aGlzLmlzQWN0aXZlID8gJ2JyaWdodG5lc3MoNjAlKScgOiBob3ZlckZpbHRlcjsgLy8gQWRqdXN0ZWQgYWN0aXZlIGJyaWdodG5lc3NcblxuICAgIHJldHVybiB7XG4gICAgICAnZm9udC1zaXplJzogdGhpcy5mb250U2l6ZSxcbiAgICAgICdtYXJnaW4tdG9wJzogYCR7dGhpcy5tYXJnaW5Ub3B9cmVtYCxcbiAgICAgICdtYXJnaW4tYm90dG9tJzogYCR7dGhpcy5tYXJnaW5Cb3R0b219cmVtYCxcbiAgICAgICdtYXJnaW4tbGVmdCc6IGAke3RoaXMubWFyZ2luTGVmdH1yZW1gLFxuICAgICAgJ21hcmdpbi1yaWdodCc6IGAke3RoaXMubWFyZ2luUmlnaHR9cmVtYCxcbiAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogYmFja2dyb3VuZENvbG9yLFxuICAgICAgJ2NvbG9yJzogdGV4dENvbG9yLFxuICAgICAgJ2JvcmRlcic6IGJvcmRlckNvbG9yID8gYDFweCBzb2xpZCAke2JvcmRlckNvbG9yfWAgOiAnbm9uZScsXG4gICAgICAndHJhbnNpdGlvbic6ICdiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGJvcmRlci1jb2xvciAwLjNzLCBmaWx0ZXIgMC4zcycsXG4gICAgICAnZmlsdGVyJzogYWN0aXZlRmlsdGVyXG4gICAgfTtcbiAgfVxuXG4gIGhhc1Blcm1pc3Npb24oKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLnBlcm1pc3Npb25DaGVja2VyIHx8IHRoaXMucGVybWlzc2lvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucGVybWlzc2lvbkNoZWNrZXIodGhpcy5wZXJtaXNzaW9ucyk7XG4gIH1cbn1cbiJdfQ==
@@ -19,6 +19,9 @@ export class InputComponent {
19
19
  this.marginBottom = 0;
20
20
  this.marginLeft = 0;
21
21
  this.marginRight = 0;
22
+ this.labelFontWeight = 400;
23
+ this.permissions = [];
24
+ this.permissionChecker = null;
22
25
  this.inputEvent = new EventEmitter();
23
26
  this.changeEvent = new EventEmitter();
24
27
  this.focusEvent = new EventEmitter();
@@ -67,21 +70,42 @@ export class InputComponent {
67
70
  setDisabledState(isDisabled) {
68
71
  this.disabled = isDisabled;
69
72
  }
73
+ hasPermission() {
74
+ if (!this.permissionChecker || this.permissions.length === 0) {
75
+ return true;
76
+ }
77
+ return this.permissionChecker(this.permissions);
78
+ }
79
+ getLabelStyles() {
80
+ return {
81
+ 'font-weight': this.labelFontWeight,
82
+ 'width': '623px',
83
+ 'height': '19px',
84
+ 'top': '1608px',
85
+ 'left': '133px',
86
+ 'gap': '0px',
87
+ 'opacity': '0px',
88
+ 'font-family': 'Inter',
89
+ 'font-size': '16px',
90
+ 'line-height': '19.36px',
91
+ 'text-align': 'left'
92
+ };
93
+ }
70
94
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
71
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: InputComponent, selector: "sim-app-input", inputs: { label: "label", placeholder: "placeholder", id: "id", type: "type", disabled: "disabled", readonly: "readonly", maxlength: "maxlength", minlength: "minlength", required: "required", pattern: "pattern", autofocus: "autofocus", marginTop: "marginTop", marginBottom: "marginBottom", marginLeft: "marginLeft", marginRight: "marginRight" }, outputs: { inputEvent: "inputEvent", changeEvent: "changeEvent", focusEvent: "focusEvent", blurEvent: "blurEvent", keyupEvent: "keyupEvent", keydownEvent: "keydownEvent", keypressEvent: "keypressEvent" }, providers: [
95
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: InputComponent, selector: "sim-app-input", inputs: { label: "label", placeholder: "placeholder", id: "id", type: "type", disabled: "disabled", readonly: "readonly", maxlength: "maxlength", minlength: "minlength", required: "required", pattern: "pattern", autofocus: "autofocus", marginTop: "marginTop", marginBottom: "marginBottom", marginLeft: "marginLeft", marginRight: "marginRight", labelFontWeight: "labelFontWeight", permissions: "permissions", permissionChecker: "permissionChecker" }, outputs: { inputEvent: "inputEvent", changeEvent: "changeEvent", focusEvent: "focusEvent", blurEvent: "blurEvent", keyupEvent: "keyupEvent", keydownEvent: "keydownEvent", keypressEvent: "keypressEvent" }, providers: [
72
96
  {
73
97
  provide: NG_VALUE_ACCESSOR,
74
98
  useExisting: forwardRef(() => InputComponent),
75
99
  multi: true
76
100
  }
77
101
  ], ngImport: i0, template: `
78
- <div class="form-group" [ngStyle]="{
102
+ <div *ngIf="hasPermission()" class="form-group" [ngStyle]="{
79
103
  'margin-top': marginTop + 'rem',
80
104
  'margin-bottom': marginBottom + 'rem',
81
105
  'margin-left': marginLeft + 'rem',
82
106
  'margin-right': marginRight + 'rem'
83
107
  }">
84
- <label [for]="id">{{ label }}</label>
108
+ <label [for]="id" [ngStyle]="getLabelStyles()">{{ label }}</label>
85
109
  <input [type]="type"
86
110
  class="form-control custom-input"
87
111
  [id]="id"
@@ -102,18 +126,18 @@ export class InputComponent {
102
126
  [attr.pattern]="pattern"
103
127
  [autofocus]="autofocus">
104
128
  </div>
105
- `, isInline: true, styles: [".form-group{font-family:Arial,sans-serif;font-size:1rem;font-weight:700}.form-check-input{font-family:Arial,sans-serif;color:#333;font-size:.9rem}.form-check-label{font-family:Arial,sans-serif;color:#333;font-size:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
129
+ `, isInline: true, styles: [".form-group{font-family:Inter;font-size:1rem;font-weight:700}.form-check-input{font-family:Inter;color:#333;font-size:.9rem}.form-check-label{width:623px;height:19px;top:1608px;left:133px;gap:0px;opacity:0px;font-family:Inter;font-size:16px;line-height:19.36px;text-align:left}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
106
130
  }
107
131
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputComponent, decorators: [{
108
132
  type: Component,
109
133
  args: [{ selector: 'sim-app-input', template: `
110
- <div class="form-group" [ngStyle]="{
134
+ <div *ngIf="hasPermission()" class="form-group" [ngStyle]="{
111
135
  'margin-top': marginTop + 'rem',
112
136
  'margin-bottom': marginBottom + 'rem',
113
137
  'margin-left': marginLeft + 'rem',
114
138
  'margin-right': marginRight + 'rem'
115
139
  }">
116
- <label [for]="id">{{ label }}</label>
140
+ <label [for]="id" [ngStyle]="getLabelStyles()">{{ label }}</label>
117
141
  <input [type]="type"
118
142
  class="form-control custom-input"
119
143
  [id]="id"
@@ -140,7 +164,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
140
164
  useExisting: forwardRef(() => InputComponent),
141
165
  multi: true
142
166
  }
143
- ], changeDetection: ChangeDetectionStrategy.OnPush, styles: [".form-group{font-family:Arial,sans-serif;font-size:1rem;font-weight:700}.form-check-input{font-family:Arial,sans-serif;color:#333;font-size:.9rem}.form-check-label{font-family:Arial,sans-serif;color:#333;font-size:1rem}\n"] }]
167
+ ], changeDetection: ChangeDetectionStrategy.OnPush, styles: [".form-group{font-family:Inter;font-size:1rem;font-weight:700}.form-check-input{font-family:Inter;color:#333;font-size:.9rem}.form-check-label{width:623px;height:19px;top:1608px;left:133px;gap:0px;opacity:0px;font-family:Inter;font-size:16px;line-height:19.36px;text-align:left}\n"] }]
144
168
  }], propDecorators: { label: [{
145
169
  type: Input
146
170
  }], placeholder: [{
@@ -171,6 +195,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
171
195
  type: Input
172
196
  }], marginRight: [{
173
197
  type: Input
198
+ }], labelFontWeight: [{
199
+ type: Input
200
+ }], permissions: [{
201
+ type: Input
202
+ }], permissionChecker: [{
203
+ type: Input
174
204
  }], inputEvent: [{
175
205
  type: Output
176
206
  }], changeEvent: [{
@@ -186,4 +216,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
186
216
  }], keypressEvent: [{
187
217
  type: Output
188
218
  }] } });
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliLXBvcnRhbC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9pbXB1dC9pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUE0RHpFLE1BQU0sT0FBTyxjQUFjO0lBMUQzQjtRQTJEVyxVQUFLLEdBQVcsZUFBZSxDQUFDO1FBQ2hDLGdCQUFXLEdBQVcscUJBQXFCLENBQUM7UUFDNUMsT0FBRSxHQUFXLFNBQVMsQ0FBQztRQUN2QixTQUFJLEdBQVcsTUFBTSxDQUFDO1FBQ3RCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixjQUFTLEdBQWtCLElBQUksQ0FBQztRQUNoQyxjQUFTLEdBQWtCLElBQUksQ0FBQztRQUNoQyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFlBQU8sR0FBa0IsSUFBSSxDQUFDO1FBQzlCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFFM0IsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUN0QixpQkFBWSxHQUFXLENBQUMsQ0FBQztRQUN6QixlQUFVLEdBQVcsQ0FBQyxDQUFDO1FBQ3ZCLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBRXZCLGVBQVUsR0FBd0IsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQUM1RCxnQkFBVyxHQUF3QixJQUFJLFlBQVksRUFBUyxDQUFDO1FBQzdELGVBQVUsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUN0RSxjQUFTLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7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SztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2ltLWFwcC1pbnB1dCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbbmdTdHlsZV09XCJ7XG4gICAgICAnbWFyZ2luLXRvcCc6IG1hcmdpblRvcCArICdyZW0nLFxuICAgICAgJ21hcmdpbi1ib3R0b20nOiBtYXJnaW5Cb3R0b20gKyAncmVtJyxcbiAgICAgICdtYXJnaW4tbGVmdCc6IG1hcmdpbkxlZnQgKyAncmVtJyxcbiAgICAgICdtYXJnaW4tcmlnaHQnOiBtYXJnaW5SaWdodCArICdyZW0nXG4gICAgfVwiPlxuICAgICAgPGxhYmVsIFtmb3JdPVwiaWRcIj57eyBsYWJlbCB9fTwvbGFiZWw+XG4gICAgICA8aW5wdXQgW3R5cGVdPVwidHlwZVwiXG4gICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgY3VzdG9tLWlucHV0XCJcbiAgICAgICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgICAgICAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIlxuICAgICAgICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgICAgICAoa2V5dXApPVwib25LZXl1cCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgKGtleXByZXNzKT1cIm9uS2V5cHJlc3MoJGV2ZW50KVwiXG4gICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICAgICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhsZW5ndGhcIlxuICAgICAgICAgICAgIFthdHRyLm1pbmxlbmd0aF09XCJtaW5sZW5ndGhcIlxuICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgICAgICAgW2F0dHIucGF0dGVybl09XCJwYXR0ZXJuXCJcbiAgICAgICAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtgXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxcmVtOyAvKiBEZWZpbmUgbyB0YW1hbmhvIHBhZHLDo28gZGEgZm9udGUgKi9cbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICBjb2xvcjogIzMzMztcbiAgICAgIGZvbnQtc2l6ZTogMC45cmVtOyAvKiBEZWZpbmUgbyB0YW1hbmhvIHBhZHLDo28gZGEgZm9udGUgcGFyYSBvIGlucHV0ICovXG4gICAgfVxuICAgIC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgZm9udC1zaXplOiAxcmVtOyAvKiBEZWZpbmUgbyB0YW1hbmhvIHBhZHLDo28gZGEgZm9udGUgcGFyYSBvIGxhYmVsICovXG4gICAgfVxuXG4gIGBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElucHV0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICdEZWZhdWx0IExhYmVsJztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICdEZWZhdWx0IFBsYWNlaG9sZGVyJztcbiAgQElucHV0KCkgaWQ6IHN0cmluZyA9ICdpbnB1dElkJztcbiAgQElucHV0KCkgdHlwZTogc3RyaW5nID0gJ3RleHQnO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBtYXhsZW5ndGg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBtaW5sZW5ndGg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwYXR0ZXJuOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgYXV0b2ZvY3VzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgbWFyZ2luVG9wOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBtYXJnaW5Cb3R0b206IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIG1hcmdpbkxlZnQ6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIG1hcmdpblJpZ2h0OiBudW1iZXIgPSAwO1xuXG4gIEBPdXRwdXQoKSBpbnB1dEV2ZW50OiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcbiAgQE91dHB1dCgpIGNoYW5nZUV2ZW50OiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcbiAgQE91dHB1dCgpIGZvY3VzRXZlbnQ6IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcbiAgQE91dHB1dCgpIGJsdXJFdmVudDogRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PigpO1xuICBAT3V0cHV0KCkga2V5dXBFdmVudDogRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PigpO1xuICBAT3V0cHV0KCkga2V5ZG93bkV2ZW50OiBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBrZXlwcmVzc0V2ZW50OiBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgcHJpdmF0ZSBvbkNoYW5nZUNhbGxiYWNrOiAoXzogYW55KSA9PiB2b2lkID0gKCkgPT4geyB9O1xuICBwcml2YXRlIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gKCkgPT4geyB9O1xuXG4gIHZhbHVlOiBzdHJpbmcgPSAnJztcblxuICBvbklucHV0KGV2ZW50OiBFdmVudCkge1xuICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIHRoaXMudmFsdWUgPSBpbnB1dEVsZW1lbnQudmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHRoaXMudmFsdWUpO1xuICAgIHRoaXMuaW5wdXRFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uQ2hhbmdlKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuY2hhbmdlRXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBvbkZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgdGhpcy5mb2N1c0V2ZW50LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgb25CbHVyKGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuYmx1ckV2ZW50LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgb25LZXl1cChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIHRoaXMua2V5dXBFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIHRoaXMua2V5ZG93bkV2ZW50LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgb25LZXlwcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIHRoaXMua2V5cHJlc3NFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxufVxuIl19
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliLXBvcnRhbC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9pbXB1dC9pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFrRXpFLE1BQU0sT0FBTyxjQUFjO0lBaEUzQjtRQWlFVyxVQUFLLEdBQVcsZUFBZSxDQUFDO1FBQ2hDLGdCQUFXLEdBQVcscUJBQXFCLENBQUM7UUFDNUMsT0FBRSxHQUFXLFNBQVMsQ0FBQztRQUN2QixTQUFJLEdBQVcsTUFBTSxDQUFDO1FBQ3RCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixjQUFTLEdBQWtCLElBQUksQ0FBQztRQUNoQyxjQUFTLEdBQWtCLElBQUksQ0FBQztRQUNoQyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFlBQU8sR0FBa0IsSUFBSSxDQUFDO1FBQzlCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFFM0IsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUN0QixpQkFBWSxHQUFXLENBQUMsQ0FBQztRQUN6QixlQUFVLEdBQVcsQ0FBQyxDQUFDO1FBQ3ZCLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQ3hCLG9CQUFlLEdBQVcsR0FBRyxDQUFDO1FBRTlCLGdCQUFXLEdBQWEsRUFBRSxDQUFDO1FBQzNCLHNCQUFpQixHQUFnRCxJQUFJLENBQUM7UUFFckUsZUFBVSxHQUF3QixJQUFJLFlBQVksRUFBUyxDQUFDO1FBQzVELGdCQUFXLEdBQXdCLElBQUksWUFBWSxF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O3NCQUFsQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpbS1hcHAtaW5wdXQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgKm5nSWY9XCJoYXNQZXJtaXNzaW9uKClcIiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbbmdTdHlsZV09XCJ7XG4gICAgICAnbWFyZ2luLXRvcCc6IG1hcmdpblRvcCArICdyZW0nLFxuICAgICAgJ21hcmdpbi1ib3R0b20nOiBtYXJnaW5Cb3R0b20gKyAncmVtJyxcbiAgICAgICdtYXJnaW4tbGVmdCc6IG1hcmdpbkxlZnQgKyAncmVtJyxcbiAgICAgICdtYXJnaW4tcmlnaHQnOiBtYXJnaW5SaWdodCArICdyZW0nXG4gICAgfVwiPlxuICAgICAgPGxhYmVsIFtmb3JdPVwiaWRcIiBbbmdTdHlsZV09XCJnZXRMYWJlbFN0eWxlcygpXCI+e3sgbGFiZWwgfX08L2xhYmVsPlxuICAgICAgPGlucHV0IFt0eXBlXT1cInR5cGVcIlxuICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGN1c3RvbS1pbnB1dFwiXG4gICAgICAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgKGtleXVwKT1cIm9uS2V5dXAoJGV2ZW50KVwiXG4gICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAgICAgICAgICAgIChrZXlwcmVzcyk9XCJvbktleXByZXNzKCRldmVudClcIlxuICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCJcbiAgICAgICAgICAgICBbYXR0ci5taW5sZW5ndGhdPVwibWlubGVuZ3RoXCJcbiAgICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICAgICAgIFthdHRyLnBhdHRlcm5dPVwicGF0dGVyblwiXG4gICAgICAgICAgICAgW2F1dG9mb2N1c109XCJhdXRvZm9jdXNcIj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBJbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgLyogRGVmaW5lIG8gdGFtYW5obyBwYWRyw6NvIGRhIGZvbnRlICovXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgZm9udC1mYW1pbHk6IEludGVyO1xuICAgICAgY29sb3I6ICMzMzM7XG4gICAgICBmb250LXNpemU6IDAuOXJlbTsgLyogRGVmaW5lIG8gdGFtYW5obyBwYWRyw6NvIGRhIGZvbnRlIHBhcmEgbyBpbnB1dCAqL1xuICAgIH1cbiAgICAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICB3aWR0aDogNjIzcHg7XG4gICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICB0b3A6IDE2MDhweDtcbiAgICAgIGxlZnQ6IDEzM3B4O1xuICAgICAgZ2FwOiAwcHg7XG4gICAgICBvcGFjaXR5OiAwcHg7XG4gICAgICBmb250LWZhbWlseTogSW50ZXI7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTkuMzZweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICBgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnRGVmYXVsdCBMYWJlbCc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnRGVmYXVsdCBQbGFjZWhvbGRlcic7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmcgPSAnaW5wdXRJZCc7XG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZyA9ICd0ZXh0JztcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbWF4bGVuZ3RoOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgbWlubGVuZ3RoOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcGF0dGVybjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIGF1dG9mb2N1czogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIG1hcmdpblRvcDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgbWFyZ2luQm90dG9tOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBtYXJnaW5MZWZ0OiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBtYXJnaW5SaWdodDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgbGFiZWxGb250V2VpZ2h0OiBudW1iZXIgPSA0MDA7XG5cbiAgQElucHV0KCkgcGVybWlzc2lvbnM6IHN0cmluZ1tdID0gW107XG4gIEBJbnB1dCgpIHBlcm1pc3Npb25DaGVja2VyOiAoKHBlcm1pc3Npb25zOiBzdHJpbmdbXSkgPT4gYm9vbGVhbikgfCBudWxsID0gbnVsbDtcblxuICBAT3V0cHV0KCkgaW5wdXRFdmVudDogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBjaGFuZ2VFdmVudDogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBmb2N1c0V2ZW50OiBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBibHVyRXZlbnQ6IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcbiAgQE91dHB1dCgpIGtleXVwRXZlbnQ6IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcbiAgQE91dHB1dCgpIGtleWRvd25FdmVudDogRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PigpO1xuICBAT3V0cHV0KCkga2V5cHJlc3NFdmVudDogRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PigpO1xuXG4gIHByaXZhdGUgb25DaGFuZ2VDYWxsYmFjazogKF86IGFueSkgPT4gdm9pZCA9ICgpID0+IHsgfTtcbiAgcHJpdmF0ZSBvblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9ICgpID0+IHsgfTtcblxuICB2YWx1ZTogc3RyaW5nID0gJyc7XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICB0aGlzLnZhbHVlID0gaW5wdXRFbGVtZW50LnZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLmlucHV0RXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBvbkNoYW5nZShldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmNoYW5nZUV2ZW50LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgb25Gb2N1cyhldmVudDogRm9jdXNFdmVudCkge1xuICAgIHRoaXMuZm9jdXNFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uQmx1cihldmVudDogRm9jdXNFdmVudCkge1xuICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLmJsdXJFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uS2V5dXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICB0aGlzLmtleXVwRXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICB0aGlzLmtleWRvd25FdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uS2V5cHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICB0aGlzLmtleXByZXNzRXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICBoYXNQZXJtaXNzaW9uKCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5wZXJtaXNzaW9uQ2hlY2tlciB8fCB0aGlzLnBlcm1pc3Npb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnBlcm1pc3Npb25DaGVja2VyKHRoaXMucGVybWlzc2lvbnMpO1xuICB9XG5cbiAgZ2V0TGFiZWxTdHlsZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdmb250LXdlaWdodCc6IHRoaXMubGFiZWxGb250V2VpZ2h0LFxuICAgICAgJ3dpZHRoJzogJzYyM3B4JyxcbiAgICAgICdoZWlnaHQnOiAnMTlweCcsXG4gICAgICAndG9wJzogJzE2MDhweCcsXG4gICAgICAnbGVmdCc6ICcxMzNweCcsXG4gICAgICAnZ2FwJzogJzBweCcsXG4gICAgICAnb3BhY2l0eSc6ICcwcHgnLFxuICAgICAgJ2ZvbnQtZmFtaWx5JzogJ0ludGVyJyxcbiAgICAgICdmb250LXNpemUnOiAnMTZweCcsXG4gICAgICAnbGluZS1oZWlnaHQnOiAnMTkuMzZweCcsXG4gICAgICAndGV4dC1hbGlnbic6ICdsZWZ0J1xuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -538,6 +538,8 @@ class ButtonComponent {
538
538
  this.marginBottom = 0;
539
539
  this.marginLeft = 0;
540
540
  this.marginRight = 0;
541
+ this.permissions = [];
542
+ this.permissionChecker = null;
541
543
  this.clickEvent = new EventEmitter();
542
544
  this.isHovered = false;
543
545
  this.isActive = false;
@@ -612,47 +614,57 @@ class ButtonComponent {
612
614
  'filter': activeFilter
613
615
  };
614
616
  }
617
+ hasPermission() {
618
+ if (!this.permissionChecker || this.permissions.length === 0) {
619
+ return true;
620
+ }
621
+ return this.permissionChecker(this.permissions);
622
+ }
615
623
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
616
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonComponent, selector: "sim-app-button", inputs: { type: "type", label: "label", btnClass: "btnClass", fontSize: "fontSize", disabled: "disabled", autofocus: "autofocus", form: "form", formaction: "formaction", formenctype: "formenctype", formmethod: "formmethod", formnovalidate: "formnovalidate", formtarget: "formtarget", name: "name", value: "value", marginTop: "marginTop", marginBottom: "marginBottom", marginLeft: "marginLeft", marginRight: "marginRight" }, outputs: { clickEvent: "clickEvent" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "mousedown": "onMouseDown()", "mouseup": "onMouseUp()" } }, ngImport: i0, template: `
617
- <button [type]="type"
618
- class="btn"
619
- [ngClass]="btnClass"
620
- [ngStyle]="getDynamicStyles()"
621
- (click)="onClick($event)"
622
- [disabled]="disabled"
623
- [attr.autofocus]="autofocus ? true : null"
624
- [attr.form]="form"
625
- [attr.formaction]="formaction"
626
- [attr.formenctype]="formenctype"
627
- [attr.formmethod]="formmethod"
628
- [attr.formnovalidate]="formnovalidate"
629
- [attr.formtarget]="formtarget"
630
- [attr.name]="name"
631
- [attr.value]="value">
632
- {{ label }}
633
- </button>
634
- `, isInline: true, styles: [".btn{padding:.5rem 1rem;border-radius:.25rem;transition:background-color .3s,border-color .3s,filter .3s;font-family:Inter,sans-serif;font-size:16px;font-weight:600;line-height:24px;letter-spacing:.005em;text-align:left}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
624
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonComponent, selector: "sim-app-button", inputs: { type: "type", label: "label", btnClass: "btnClass", fontSize: "fontSize", disabled: "disabled", autofocus: "autofocus", form: "form", formaction: "formaction", formenctype: "formenctype", formmethod: "formmethod", formnovalidate: "formnovalidate", formtarget: "formtarget", name: "name", value: "value", marginTop: "marginTop", marginBottom: "marginBottom", marginLeft: "marginLeft", marginRight: "marginRight", permissions: "permissions", permissionChecker: "permissionChecker" }, outputs: { clickEvent: "clickEvent" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "mousedown": "onMouseDown()", "mouseup": "onMouseUp()" } }, ngImport: i0, template: `
625
+ <ng-container *ngIf="hasPermission()">
626
+ <button [type]="type"
627
+ class="btn"
628
+ [ngClass]="btnClass"
629
+ [ngStyle]="getDynamicStyles()"
630
+ (click)="onClick($event)"
631
+ [disabled]="disabled"
632
+ [attr.autofocus]="autofocus ? true : null"
633
+ [attr.form]="form"
634
+ [attr.formaction]="formaction"
635
+ [attr.formenctype]="formenctype"
636
+ [attr.formmethod]="formmethod"
637
+ [attr.formnovalidate]="formnovalidate"
638
+ [attr.formtarget]="formtarget"
639
+ [attr.name]="name"
640
+ [attr.value]="value">
641
+ {{ label }}
642
+ </button>
643
+ </ng-container>
644
+ `, isInline: true, styles: [".btn{padding:.5rem 1rem;border-radius:.25rem;transition:background-color .3s,border-color .3s,filter .3s;font-family:Inter,sans-serif;font-size:16px;font-weight:600;line-height:24px;letter-spacing:.005em;text-align:left}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
635
645
  }
636
646
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonComponent, decorators: [{
637
647
  type: Component,
638
648
  args: [{ selector: 'sim-app-button', template: `
639
- <button [type]="type"
640
- class="btn"
641
- [ngClass]="btnClass"
642
- [ngStyle]="getDynamicStyles()"
643
- (click)="onClick($event)"
644
- [disabled]="disabled"
645
- [attr.autofocus]="autofocus ? true : null"
646
- [attr.form]="form"
647
- [attr.formaction]="formaction"
648
- [attr.formenctype]="formenctype"
649
- [attr.formmethod]="formmethod"
650
- [attr.formnovalidate]="formnovalidate"
651
- [attr.formtarget]="formtarget"
652
- [attr.name]="name"
653
- [attr.value]="value">
654
- {{ label }}
655
- </button>
649
+ <ng-container *ngIf="hasPermission()">
650
+ <button [type]="type"
651
+ class="btn"
652
+ [ngClass]="btnClass"
653
+ [ngStyle]="getDynamicStyles()"
654
+ (click)="onClick($event)"
655
+ [disabled]="disabled"
656
+ [attr.autofocus]="autofocus ? true : null"
657
+ [attr.form]="form"
658
+ [attr.formaction]="formaction"
659
+ [attr.formenctype]="formenctype"
660
+ [attr.formmethod]="formmethod"
661
+ [attr.formnovalidate]="formnovalidate"
662
+ [attr.formtarget]="formtarget"
663
+ [attr.name]="name"
664
+ [attr.value]="value">
665
+ {{ label }}
666
+ </button>
667
+ </ng-container>
656
668
  `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".btn{padding:.5rem 1rem;border-radius:.25rem;transition:background-color .3s,border-color .3s,filter .3s;font-family:Inter,sans-serif;font-size:16px;font-weight:600;line-height:24px;letter-spacing:.005em;text-align:left}\n"] }]
657
669
  }], propDecorators: { type: [{
658
670
  type: Input
@@ -690,6 +702,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
690
702
  type: Input
691
703
  }], marginRight: [{
692
704
  type: Input
705
+ }], permissions: [{
706
+ type: Input
707
+ }], permissionChecker: [{
708
+ type: Input
693
709
  }], clickEvent: [{
694
710
  type: Output
695
711
  }], onMouseEnter: [{
@@ -947,6 +963,9 @@ class InputComponent {
947
963
  this.marginBottom = 0;
948
964
  this.marginLeft = 0;
949
965
  this.marginRight = 0;
966
+ this.labelFontWeight = 400;
967
+ this.permissions = [];
968
+ this.permissionChecker = null;
950
969
  this.inputEvent = new EventEmitter();
951
970
  this.changeEvent = new EventEmitter();
952
971
  this.focusEvent = new EventEmitter();
@@ -995,21 +1014,42 @@ class InputComponent {
995
1014
  setDisabledState(isDisabled) {
996
1015
  this.disabled = isDisabled;
997
1016
  }
1017
+ hasPermission() {
1018
+ if (!this.permissionChecker || this.permissions.length === 0) {
1019
+ return true;
1020
+ }
1021
+ return this.permissionChecker(this.permissions);
1022
+ }
1023
+ getLabelStyles() {
1024
+ return {
1025
+ 'font-weight': this.labelFontWeight,
1026
+ 'width': '623px',
1027
+ 'height': '19px',
1028
+ 'top': '1608px',
1029
+ 'left': '133px',
1030
+ 'gap': '0px',
1031
+ 'opacity': '0px',
1032
+ 'font-family': 'Inter',
1033
+ 'font-size': '16px',
1034
+ 'line-height': '19.36px',
1035
+ 'text-align': 'left'
1036
+ };
1037
+ }
998
1038
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
999
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: InputComponent, selector: "sim-app-input", inputs: { label: "label", placeholder: "placeholder", id: "id", type: "type", disabled: "disabled", readonly: "readonly", maxlength: "maxlength", minlength: "minlength", required: "required", pattern: "pattern", autofocus: "autofocus", marginTop: "marginTop", marginBottom: "marginBottom", marginLeft: "marginLeft", marginRight: "marginRight" }, outputs: { inputEvent: "inputEvent", changeEvent: "changeEvent", focusEvent: "focusEvent", blurEvent: "blurEvent", keyupEvent: "keyupEvent", keydownEvent: "keydownEvent", keypressEvent: "keypressEvent" }, providers: [
1039
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: InputComponent, selector: "sim-app-input", inputs: { label: "label", placeholder: "placeholder", id: "id", type: "type", disabled: "disabled", readonly: "readonly", maxlength: "maxlength", minlength: "minlength", required: "required", pattern: "pattern", autofocus: "autofocus", marginTop: "marginTop", marginBottom: "marginBottom", marginLeft: "marginLeft", marginRight: "marginRight", labelFontWeight: "labelFontWeight", permissions: "permissions", permissionChecker: "permissionChecker" }, outputs: { inputEvent: "inputEvent", changeEvent: "changeEvent", focusEvent: "focusEvent", blurEvent: "blurEvent", keyupEvent: "keyupEvent", keydownEvent: "keydownEvent", keypressEvent: "keypressEvent" }, providers: [
1000
1040
  {
1001
1041
  provide: NG_VALUE_ACCESSOR,
1002
1042
  useExisting: forwardRef(() => InputComponent),
1003
1043
  multi: true
1004
1044
  }
1005
1045
  ], ngImport: i0, template: `
1006
- <div class="form-group" [ngStyle]="{
1046
+ <div *ngIf="hasPermission()" class="form-group" [ngStyle]="{
1007
1047
  'margin-top': marginTop + 'rem',
1008
1048
  'margin-bottom': marginBottom + 'rem',
1009
1049
  'margin-left': marginLeft + 'rem',
1010
1050
  'margin-right': marginRight + 'rem'
1011
1051
  }">
1012
- <label [for]="id">{{ label }}</label>
1052
+ <label [for]="id" [ngStyle]="getLabelStyles()">{{ label }}</label>
1013
1053
  <input [type]="type"
1014
1054
  class="form-control custom-input"
1015
1055
  [id]="id"
@@ -1030,18 +1070,18 @@ class InputComponent {
1030
1070
  [attr.pattern]="pattern"
1031
1071
  [autofocus]="autofocus">
1032
1072
  </div>
1033
- `, isInline: true, styles: [".form-group{font-family:Arial,sans-serif;font-size:1rem;font-weight:700}.form-check-input{font-family:Arial,sans-serif;color:#333;font-size:.9rem}.form-check-label{font-family:Arial,sans-serif;color:#333;font-size:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1073
+ `, isInline: true, styles: [".form-group{font-family:Inter;font-size:1rem;font-weight:700}.form-check-input{font-family:Inter;color:#333;font-size:.9rem}.form-check-label{width:623px;height:19px;top:1608px;left:133px;gap:0px;opacity:0px;font-family:Inter;font-size:16px;line-height:19.36px;text-align:left}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1034
1074
  }
1035
1075
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputComponent, decorators: [{
1036
1076
  type: Component,
1037
1077
  args: [{ selector: 'sim-app-input', template: `
1038
- <div class="form-group" [ngStyle]="{
1078
+ <div *ngIf="hasPermission()" class="form-group" [ngStyle]="{
1039
1079
  'margin-top': marginTop + 'rem',
1040
1080
  'margin-bottom': marginBottom + 'rem',
1041
1081
  'margin-left': marginLeft + 'rem',
1042
1082
  'margin-right': marginRight + 'rem'
1043
1083
  }">
1044
- <label [for]="id">{{ label }}</label>
1084
+ <label [for]="id" [ngStyle]="getLabelStyles()">{{ label }}</label>
1045
1085
  <input [type]="type"
1046
1086
  class="form-control custom-input"
1047
1087
  [id]="id"
@@ -1068,7 +1108,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1068
1108
  useExisting: forwardRef(() => InputComponent),
1069
1109
  multi: true
1070
1110
  }
1071
- ], changeDetection: ChangeDetectionStrategy.OnPush, styles: [".form-group{font-family:Arial,sans-serif;font-size:1rem;font-weight:700}.form-check-input{font-family:Arial,sans-serif;color:#333;font-size:.9rem}.form-check-label{font-family:Arial,sans-serif;color:#333;font-size:1rem}\n"] }]
1111
+ ], changeDetection: ChangeDetectionStrategy.OnPush, styles: [".form-group{font-family:Inter;font-size:1rem;font-weight:700}.form-check-input{font-family:Inter;color:#333;font-size:.9rem}.form-check-label{width:623px;height:19px;top:1608px;left:133px;gap:0px;opacity:0px;font-family:Inter;font-size:16px;line-height:19.36px;text-align:left}\n"] }]
1072
1112
  }], propDecorators: { label: [{
1073
1113
  type: Input
1074
1114
  }], placeholder: [{
@@ -1099,6 +1139,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1099
1139
  type: Input
1100
1140
  }], marginRight: [{
1101
1141
  type: Input
1142
+ }], labelFontWeight: [{
1143
+ type: Input
1144
+ }], permissions: [{
1145
+ type: Input
1146
+ }], permissionChecker: [{
1147
+ type: Input
1102
1148
  }], inputEvent: [{
1103
1149
  type: Output
1104
1150
  }], changeEvent: [{
@@ -1 +1 @@
1
- {"version":3,"file":"lib-portal-angular.mjs","sources":["../../../projects/lib-portal-angular/src/lib/components/advanced-calendar/calendar.component.ts","../../../projects/lib-portal-angular/src/lib/components/advanced-calendar/date-picker.component.ts","../../../projects/lib-portal-angular/src/lib/components/advanced-calendar/date-time-picker.component.ts","../../../projects/lib-portal-angular/src/lib/enum/ButtonClassesEnum.ts","../../../projects/lib-portal-angular/src/lib/components/badge/badge.component.ts","../../../projects/lib-portal-angular/src/lib/components/button/button.component.ts","../../../projects/lib-portal-angular/src/lib/components/card/card.component.ts","../../../projects/lib-portal-angular/src/lib/components/checkbox/checkbox.component.ts","../../../projects/lib-portal-angular/src/lib/components/code-highlight/code-highlight.component.ts","../../../projects/lib-portal-angular/src/lib/components/form/form.component.ts","../../../projects/lib-portal-angular/src/lib/components/imput/input.component.ts","../../../projects/lib-portal-angular/src/lib/components/multi-select/multi-select.component.ts","../../../projects/lib-portal-angular/src/lib/components/radio/radio.component.ts","../../../projects/lib-portal-angular/src/lib/components/select/select.component.ts","../../../projects/lib-portal-angular/src/lib/components/tables/bootstrap-table.component.ts","../../../projects/lib-portal-angular/src/lib/components/tables/bootstrap-table.component.html","../../../projects/lib-portal-angular/src/lib/components/textarea/textarea.component.ts","../../../projects/lib-portal-angular/src/lib/components/components.module.ts","../../../projects/lib-portal-angular/src/lib/lib-portal-angular.module.ts","../../../projects/lib-portal-angular/src/public-api.ts","../../../projects/lib-portal-angular/src/lib-portal-angular.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, Input, OnInit } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport Brazilian from 'flatpickr/dist/l10n/pt.js'; // Importa a localização brasileira\n\n@Component({\n selector: 'sim-advanced-calendar',\n template: `\n <div class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <label [for]=\"inputId\" class=\"form-label\">{{ label }}</label>\n <input\n [id]=\"inputId\"\n class=\"form-control\"\n type=\"text\"\n mwlFlatpickr\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onNgModelChange($event)\"\n [altInput]=\"altInput\"\n [convertModelValue]=\"convertModelValue\"\n [enableTime]=\"enableTime\"\n [dateFormat]=\"dateFormat\"\n [altFormat]=\"altFormat\"\n [placeholder]=\"placeholder\"\n [locale]=\"locale\"\n />\n </div>\n `,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CalendarComponent),\n multi: true\n }\n ],\n styles: [`\n .form-group {\n font-family: Arial, sans-serif;\n font-size: 1rem;\n }\n .form-label {\n font-weight: bold;\n }\n `],\n\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CalendarComponent implements ControlValueAccessor, OnInit {\n @Input() inputId: string = 'startDate';\n @Input() label: string = 'Event Start Date';\n @Input() placeholder: string = 'Not set';\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n @Input() altInput: boolean = true;\n @Input() convertModelValue: boolean = true;\n @Input() enableTime: boolean = true;\n @Input() dateFormat: string = 'd/m/Y H:i';\n @Input() altFormat: string = 'd/m/Y';\n @Input() locale: any = Brazilian.pt; // Define o idioma como brasileiro por padrão\n\n value: any;\n\n private onChange = (_: any) => { };\n private onTouched = () => { };\n\n ngOnInit(): void {\n // Any necessary initialization\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onNgModelChange(event: any) {\n this.onChange(event);\n this.onTouched();\n }\n}\n","import { Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-date-picker',\n template: `\n <div class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <label [for]=\"inputId\" class=\"form-label\">{{ label }}</label>\n <input\n [id]=\"inputId\"\n class=\"form-control\"\n type=\"date\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onNgModelChange($event)\"\n [placeholder]=\"placeholder\"\n />\n </div>\n `,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DatePickerComponent),\n multi: true\n }\n ],\n styles: [`\n .form-label {\n font-weight: bold;\n }\n `]\n})\nexport class DatePickerComponent implements ControlValueAccessor {\n @Input() inputId: string = '';\n @Input() label: string = '';\n @Input() placeholder: string = '';\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() ngModelChange: EventEmitter<any> = new EventEmitter();\n\n private innerValue: any;\n\n get value(): any {\n return this.innerValue;\n }\n\n set value(val: any) {\n this.innerValue = val;\n this.onChange(val);\n this.onTouched();\n }\n\n onNgModelChange(event: any) {\n this.value = event;\n this.ngModelChange.emit(event);\n }\n\n // ControlValueAccessor interface methods\n onChange: any = () => { };\n onTouched: any = () => { };\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n // Logic for disabling the component\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-date-time-picker',\n template: `\n <div class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <label [for]=\"inputId\" class=\"form-label\">{{ label }}</label>\n <input\n [id]=\"inputId\"\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onNgModelChange($event)\"\n [placeholder]=\"placeholder\"\n />\n </div>\n `,\n styles: [`\n .form-label {\n font-weight: bold;\n }\n .custom-input {\n border: 1px solid #9aa4b2; /* Cinza mais escuro */\n transition: border-color 0.3s, box-shadow 0.3s; /* Suaviza a transição */\n }\n .custom-input:hover {\n border-color: #2196f3; /* Azul mais intenso ao passar o mouse */\n border-width: 2px; /* Espessura da borda ao passar o mouse */\n }\n .custom-input:focus {\n border-color: #2196f3; /* Azul mais intenso ao focar */\n border-width: 2px; /* Espessura da borda ao focar */\n box-shadow: 0 0 5px rgba(0, 123, 255, 0.5); /* Efeito de foco mais pronunciado */\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DateTimePickerComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DateTimePickerComponent implements ControlValueAccessor {\n @Input() inputId: string = '';\n @Input() label: string = '';\n @Input() placeholder: string = '';\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() ngModelChange: EventEmitter<any> = new EventEmitter();\n\n private _value: any;\n\n get value(): any {\n return this._value;\n }\n\n set value(val: any) {\n this._value = val;\n this.onChange(val);\n this.onTouched();\n }\n\n onNgModelChange(event: any) {\n this.value = event;\n this.ngModelChange.emit(event);\n }\n\n // ControlValueAccessor interface methods\n onChange: any = () => { };\n onTouched: any = () => { };\n\n writeValue(value: any): void {\n this._value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n // Logic for disabling the component\n }\n}\n","export enum ButtonClasses {\n Primary = 'btn-primary',\n Secondary = 'btn-secondary',\n Success = 'btn-success',\n Danger = 'btn-danger',\n Warning = 'btn-warning',\n Info = 'btn-info',\n Light = 'btn-light',\n Dark = 'btn-dark',\n Link = 'btn-link'\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { ButtonClasses } from '../../enum/ButtonClassesEnum';\n\n@Component({\n selector: 'sim-app-badge',\n template: `\n <button\n class=\"notification-button\"\n [ngStyle]=\"getDynamicStyles()\"\n (click)=\"onClick()\"\n [class.hovered]=\"isHovered\"\n [class.clicked]=\"isClicked\"\n (mousedown)=\"onMouseDown()\"\n (mouseup)=\"onMouseUp()\"\n (mouseleave)=\"onMouseLeave()\"\n (mouseenter)=\"onMouseEnter()\">\n {{ label }}\n <span class=\"badge\">{{ badgeContent }}</span>\n </button>\n `,\n styles: [`\n .notification-button {\n position: relative;\n display: inline-block;\n width: 155px;\n height: 58px;\n padding: 14px 29px 14px 36px;\n border-radius: 6px;\n border: none;\n font-size: 16px;\n font-weight: bold;\n text-align: center;\n transition: opacity 0.3s;\n }\n .badge {\n position: absolute;\n width: 52px; /* Largura fixa */\n height: 32px; /* Altura fixa */\n top: -15px;\n right: -20px;\n background-color: #dc3545;\n color: #FFFFFF;\n border-radius: 16px; /* Arredondamento das bordas */\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: bold;\n font-size: 14px;\n font-family: 'Inter', sans-serif;\n }\n .notification-button.hovered {\n opacity: 0.8;\n }\n .notification-button.clicked {\n opacity: 0.6;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BadgeComponent {\n @Input() label: string = 'Mensagem';\n @Input() badgeContent: string = '+45';\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n @Input() btnClass: ButtonClasses = ButtonClasses.Primary;\n @Output() buttonClick: EventEmitter<void> = new EventEmitter<void>();\n\n isHovered: boolean = false;\n isClicked: boolean = false;\n isActive: boolean = false;\n\n getDynamicStyles() {\n let backgroundColor = '';\n let textColor = '#fff'; // Default text color\n let borderColor = '';\n\n switch (this.btnClass) {\n case ButtonClasses.Primary:\n backgroundColor = '#00444C';\n break;\n case ButtonClasses.Secondary:\n backgroundColor = '#2CA58D';\n break;\n case ButtonClasses.Success:\n backgroundColor = '#00C853';\n break;\n case ButtonClasses.Danger:\n backgroundColor = '#D32F2F';\n break;\n case ButtonClasses.Warning:\n backgroundColor = '#FFC107';\n break;\n case ButtonClasses.Info:\n backgroundColor = '#3EC9D6';\n break;\n case ButtonClasses.Light:\n backgroundColor = '#EEF2F6';\n textColor = '#00444C'; // Custom text color for Light\n break;\n case ButtonClasses.Dark:\n backgroundColor = '#111936';\n break;\n case ButtonClasses.Link:\n backgroundColor = 'transparent';\n borderColor = '#DDE5E9';\n textColor = '#00444C'; // Custom text color for Link\n break;\n default:\n backgroundColor = '#00444C';\n break;\n }\n\n const hoverFilter = this.isHovered ? 'brightness(80%)' : 'none'; // Adjusted hover brightness\n const activeFilter = this.isClicked ? 'brightness(60%)' : hoverFilter; // Adjusted active brightness\n\n return {\n 'margin-top': `${this.marginTop}rem`,\n 'margin-bottom': `${this.marginBottom}rem`,\n 'margin-left': `${this.marginLeft}rem`,\n 'margin-right': `${this.marginRight}rem`,\n 'background-color': backgroundColor,\n 'color': textColor,\n 'border': borderColor ? `1px solid ${borderColor}` : 'none',\n 'transition': 'background-color 0.3s, border-color 0.3s, filter 0.3s',\n 'filter': activeFilter\n };\n }\n\n onClick() {\n this.buttonClick.emit();\n }\n\n @HostListener('mouseenter')\n onMouseEnter() {\n this.isHovered = true;\n }\n\n @HostListener('mouseleave')\n onMouseLeave() {\n this.isHovered = false;\n this.isClicked = false;\n }\n\n @HostListener('mousedown')\n onMouseDown() {\n this.isClicked = true;\n }\n\n @HostListener('mouseup')\n onMouseUp() {\n this.isClicked = false;\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { ButtonClasses } from '../../enum/ButtonClassesEnum';\n\n@Component({\n selector: 'sim-app-button',\n template: `\n <button [type]=\"type\"\n class=\"btn\"\n [ngClass]=\"btnClass\"\n [ngStyle]=\"getDynamicStyles()\"\n (click)=\"onClick($event)\"\n [disabled]=\"disabled\"\n [attr.autofocus]=\"autofocus ? true : null\"\n [attr.form]=\"form\"\n [attr.formaction]=\"formaction\"\n [attr.formenctype]=\"formenctype\"\n [attr.formmethod]=\"formmethod\"\n [attr.formnovalidate]=\"formnovalidate\"\n [attr.formtarget]=\"formtarget\"\n [attr.name]=\"name\"\n [attr.value]=\"value\">\n {{ label }}\n </button>\n `,\n styles: [`\n .btn {\n padding: 0.5rem 1rem;\n border-radius: 0.25rem;\n transition: background-color 0.3s, border-color 0.3s, filter 0.3s;\n font-family: 'Inter', sans-serif;\n font-size: 16px;\n font-weight: 600;\n line-height: 24px;\n letter-spacing: 0.005em;\n text-align: left;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ButtonComponent {\n @Input() type: string = 'button';\n @Input() label: string = 'Submit';\n @Input() btnClass: ButtonClasses = ButtonClasses.Primary;\n @Input() fontSize: string = '1rem';\n @Input() disabled: boolean = false;\n @Input() autofocus: boolean = false;\n @Input() form: string | null = null;\n @Input() formaction: string | null = null;\n @Input() formenctype: string | null = null;\n @Input() formmethod: string | null = null;\n @Input() formnovalidate: boolean = false;\n @Input() formtarget: string | null = null;\n @Input() name: string | null = null;\n @Input() value: string | null = null;\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() clickEvent: EventEmitter<Event> = new EventEmitter<Event>();\n\n private isHovered: boolean = false;\n private isActive: boolean = false;\n\n @HostListener('mouseenter') onMouseEnter() {\n this.isHovered = true;\n }\n\n @HostListener('mouseleave') onMouseLeave() {\n this.isHovered = false;\n this.isActive = false;\n }\n\n @HostListener('mousedown') onMouseDown() {\n this.isActive = true;\n }\n\n @HostListener('mouseup') onMouseUp() {\n this.isActive = false;\n }\n\n onClick(event: Event) {\n this.clickEvent.emit(event);\n }\n\n getDynamicStyles() {\n let backgroundColor = '';\n let textColor = '#fff'; // Default text color\n let borderColor = '';\n\n switch (this.btnClass) {\n case ButtonClasses.Primary:\n backgroundColor = '#00444C';\n break;\n case ButtonClasses.Secondary:\n backgroundColor = '#2CA58D';\n break;\n case ButtonClasses.Success:\n backgroundColor = '#00C853';\n break;\n case ButtonClasses.Danger:\n backgroundColor = '#D32F2F';\n break;\n case ButtonClasses.Warning:\n backgroundColor = '#FFC107';\n break;\n case ButtonClasses.Info:\n backgroundColor = '#3EC9D6';\n break;\n case ButtonClasses.Light:\n backgroundColor = '#EEF2F6';\n textColor = '#00444C'; // Custom text color for Light\n break;\n case ButtonClasses.Dark:\n backgroundColor = '#111936';\n break;\n case ButtonClasses.Link:\n backgroundColor = 'transparent';\n borderColor = '#DDE5E9';\n textColor = '#00444C'; // Custom text color for Link\n break;\n default:\n backgroundColor = '#00444C';\n break;\n }\n\n const hoverFilter = this.isHovered ? 'brightness(80%)' : 'none'; // Adjusted hover brightness\n const activeFilter = this.isActive ? 'brightness(60%)' : hoverFilter; // Adjusted active brightness\n\n return {\n 'font-size': this.fontSize,\n 'margin-top': `${this.marginTop}rem`,\n 'margin-bottom': `${this.marginBottom}rem`,\n 'margin-left': `${this.marginLeft}rem`,\n 'margin-right': `${this.marginRight}rem`,\n 'background-color': backgroundColor,\n 'color': textColor,\n 'border': borderColor ? `1px solid ${borderColor}` : 'none',\n 'transition': 'background-color 0.3s, border-color 0.3s, filter 0.3s',\n 'filter': activeFilter\n };\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'sim-app-card',\n template: `\n <div class=\"card mb-3\">\n <div class=\"card-header\">\n <h3>{{ cardTitle }}</h3>\n </div>\n <div class=\"card-body\">\n <ng-content></ng-content>\n </div>\n </div>\n `\n})\nexport class CardComponent {\n @Input() cardTitle: string = 'Default Title';\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-app-checkbox',\n template: `\n <div\n class=\"form-group form-check\"\n [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n [id]=\"id\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (change)=\"onChange($event)\"\n />\n <label class=\"form-check-label\" [for]=\"id\">{{ label }}</label>\n </div>\n `,\n styles: [`\n .form-check-input {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem; /* Define o tamanho padrão da fonte para o input */\n }\n .form-check-label {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem; /* Define o tamanho padrão da fonte para o label */\n font-weight: bold;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input() id: string = 'defaultCheckbox';\n @Input() checked: boolean = false;\n @Input() disabled: boolean = false;\n @Input() label: string = 'Check me out';\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() checkedChange = new EventEmitter<boolean>();\n\n private onChangeFn: (value: boolean) => void = () => { };\n private onTouchedFn: () => void = () => { };\n\n onChange(event: Event): void {\n const input = event.target as HTMLInputElement;\n this.checked = input.checked;\n this.onChangeFn(this.checked);\n this.checkedChange.emit(this.checked);\n }\n\n writeValue(value: boolean): void {\n this.checked = value;\n }\n\n registerOnChange(fn: (value: boolean) => void): void {\n this.onChangeFn = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouchedFn = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport hljs from 'highlight.js';\n\n@Component({\n selector: 'app-code-highlight',\n template: `\n <div class=\"code-container\">\n <pre><code #codeElement [innerHTML]=\"highlightedCode\"></code></pre>\n <button (click)=\"copyCode()\">Copy</button>\n </div>\n `,\n styles: [`\n .code-container {\n position: relative;\n }\n pre {\n background-color: #2d2d2d;\n color: #f8f8f2;\n padding: 1rem;\n border-radius: 5px;\n overflow-x: auto;\n }\n button {\n position: absolute;\n top: 10px;\n right: 10px;\n background-color: #f8f8f2;\n border: none;\n padding: 0.5rem 1rem;\n cursor: pointer;\n border-radius: 5px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n transition: background-color 0.3s, transform 0.2s, box-shadow 0.2s;\n }\n button:hover {\n background-color: #e0e0e0;\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);\n }\n button:active {\n background-color: #d0d0d0;\n transform: scale(0.98);\n }\n `]\n})\nexport class CodeHighlightComponent implements AfterViewInit {\n @Input() code: string = ''; // Definindo um valor padrão\n @Input() language: string = 'typescript';\n @ViewChild('codeElement') codeElement!: ElementRef; // Usando operador de asserção não nula\n\n highlightedCode: string = '';\n\n constructor(private cdr: ChangeDetectorRef) { }\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.highlightCode();\n this.cdr.detectChanges();\n });\n }\n\n highlightCode() {\n const code = hljs.highlight(this.language, this.code).value;\n this.highlightedCode = code;\n }\n\n copyCode() {\n const codeElement = this.codeElement.nativeElement;\n navigator.clipboard.writeText(codeElement.innerText).then(() => {\n alert('Code copied to clipboard!');\n });\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'sim-app-form',\n template: `\n <div class=\"row mt-2 mx-1\">\n <div class=\"col-sm-12\">\n <sim-app-card [cardTitle]=\"cardTitle\">\n <ng-content></ng-content>\n </sim-app-card>\n </div>\n </div>\n `\n})\nexport class FormComponent {\n @Input() cardTitle: string = 'Default Form Title';\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-app-input',\n template: `\n <div class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <label [for]=\"id\">{{ label }}</label>\n <input [type]=\"type\"\n class=\"form-control custom-input\"\n [id]=\"id\"\n [placeholder]=\"placeholder\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (keyup)=\"onKeyup($event)\"\n (keydown)=\"onKeydown($event)\"\n (keypress)=\"onKeypress($event)\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [required]=\"required\"\n [attr.pattern]=\"pattern\"\n [autofocus]=\"autofocus\">\n </div>\n `,\n styles: [`\n .form-group {\n font-family: Arial, sans-serif;\n font-size: 1rem; /* Define o tamanho padrão da fonte */\n font-weight: bold;\n }\n .form-check-input {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 0.9rem; /* Define o tamanho padrão da fonte para o input */\n }\n .form-check-label {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem; /* Define o tamanho padrão da fonte para o label */\n }\n\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class InputComponent implements ControlValueAccessor {\n @Input() label: string = 'Default Label';\n @Input() placeholder: string = 'Default Placeholder';\n @Input() id: string = 'inputId';\n @Input() type: string = 'text';\n @Input() disabled: boolean = false;\n @Input() readonly: boolean = false;\n @Input() maxlength: number | null = null;\n @Input() minlength: number | null = null;\n @Input() required: boolean = false;\n @Input() pattern: string | null = null;\n @Input() autofocus: boolean = false;\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() inputEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() changeEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() focusEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output() blurEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output() keyupEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n @Output() keydownEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n @Output() keypressEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n value: string = '';\n\n onInput(event: Event) {\n const inputElement = event.target as HTMLInputElement;\n this.value = inputElement.value;\n this.onChangeCallback(this.value);\n this.inputEvent.emit(event);\n }\n\n onChange(event: Event) {\n this.changeEvent.emit(event);\n }\n\n onFocus(event: FocusEvent) {\n this.focusEvent.emit(event);\n }\n\n onBlur(event: FocusEvent) {\n this.onTouchedCallback();\n this.blurEvent.emit(event);\n }\n\n onKeyup(event: KeyboardEvent) {\n this.keyupEvent.emit(event);\n }\n\n onKeydown(event: KeyboardEvent) {\n this.keydownEvent.emit(event);\n }\n\n onKeypress(event: KeyboardEvent) {\n this.keypressEvent.emit(event);\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Observable, of } from 'rxjs';\n\n@Component({\n selector: 'sim-app-multi-select',\n template: `\n <div class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <label [for]=\"id\" class=\"form-label\">{{ label }}</label>\n <ng-select\n [class.course-entry]=\"isCourseEntered\"\n class=\"ng-select\"\n [items]=\"items | async\"\n [multiple]=\"true\"\n [closeOnSelect]=\"false\"\n [hideSelected]=\"true\"\n [bindLabel]=\"bindLabel\"\n [(ngModel)]=\"selected\"\n (keyup)=\"onKeyUp($event)\"\n [id]=\"id\"\n [placeholder]=\"selected && selected.length === 0 ? placeholder : ''\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n >\n <ng-template ng-option-tmp let-item=\"item\">\n {{ item[bindLabel] }}\n </ng-template>\n </ng-select>\n </div>\n `,\n styles: [`\n .form-group {\n font-family: Arial, sans-serif;\n font-size: 1rem;\n }\n .form-label {\n font-weight: bold;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MultiSelectComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MultiSelectComponent implements ControlValueAccessor, OnInit {\n @Input() label: string = 'Multi Select';\n @Input() data: any[] = []; // Aceita um array de objetos genéricos\n @Input() placeholder: string = 'Select items';\n @Input() selected: any[] = []; // A variável selected deve ser um array\n @Input() id: string = 'multiSelectId';\n @Input() bindLabel: string = ''; // Label dinâmico genérico\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() keyupEvent: EventEmitter<any> = new EventEmitter<any>();\n\n items: Observable<any[]> = of([]); // Inicialização da propriedade\n\n ngOnInit(): void {\n this.items = of(this.data);\n }\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n isCourseEntered = false;\n\n onFocus() {\n this.isCourseEntered = true;\n }\n\n onBlur() {\n this.isCourseEntered = false;\n }\n\n onKeyUp(event: KeyboardEvent) {\n this.keyupEvent.emit(event);\n }\n\n writeValue(value: any): void {\n this.selected = value || [];\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n // No implementation needed for this example\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-app-radio',\n template: `\n <div class=\"form-check\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <input class=\"form-check-input\"\n type=\"radio\"\n [name]=\"name\"\n [id]=\"id\"\n [value]=\"value\"\n [checked]=\"checked\"\n (change)=\"handleRadioChange($event)\"\n [disabled]=\"disabled\">\n <label class=\"form-check-label\" [for]=\"id\">{{ label }}</label>\n </div>\n `,\n styles: [`\n .form-check {\n font-family: Arial, sans-serif;\n font-size: 1rem; /* Define o tamanho padrão da fonte */\n }\n .form-check-input {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem;\n margin-right: 0.5rem;\n }\n .form-check-label {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem;\n font-weight: bold;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RadioComponent implements ControlValueAccessor {\n @Input() name: string = 'defaultRadio';\n @Input() id: string = 'radioId';\n @Input() value: string = 'default';\n @Input() checked: boolean = false;\n @Input() disabled: boolean = false;\n @Input() label: string = 'Radio label';\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() changeEvent: EventEmitter<Event> = new EventEmitter<Event>();\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n handleRadioChange(event: Event) {\n const inputElement = event.target as HTMLInputElement;\n this.checked = inputElement.checked;\n this.onChangeCallback(this.checked);\n this.changeEvent.emit(event);\n }\n\n writeValue(value: any): void {\n this.checked = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-app-select',\n template: `\n <div class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <label [for]=\"id\">{{ label }}</label>\n <select class=\"form-control custom-select\"\n [id]=\"id\"\n [value]=\"value\"\n (change)=\"onSelectChange($event)\"\n [disabled]=\"disabled\">\n <option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.label }}</option>\n </select>\n </div>\n `,\n styles: [`\n .form-group {\n margin-bottom: 1rem;\n }\n .form-label {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem;\n font-weight: bold;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SelectComponent implements ControlValueAccessor {\n @Input() label: string = 'Default Label';\n @Input() id: string = 'selectId';\n @Input() disabled: boolean = false;\n @Input() options: { value: any, label: string }[] = [];\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() changeEvent: EventEmitter<any> = new EventEmitter<any>();\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n value: any;\n\n onSelectChange(event: Event) {\n const selectElement = event.target as HTMLSelectElement;\n this.value = selectElement.value;\n this.onChangeCallback(this.value);\n this.changeEvent.emit(this.value);\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { PaginationInstance } from 'ngx-pagination';\n\n@Component({\n selector: 'sim-bootstrap-table',\n templateUrl: './bootstrap-table.component.html',\n styleUrls: ['./bootstrap-table.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BootstrapTableComponent implements OnInit, OnChanges {\n @Input() columns: any[] = [];\n @Input() data: any[] = [];\n @Input() itemsPerPageOptions: number[] = [5, 10, 15, 20];\n @Input() defaultItemsPerPage: number = 10;\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n @Input() showActionColumn: boolean = false;\n @Input() actionColumnLabel: string = 'Actions';\n\n @Output() sortChange: EventEmitter<any> = new EventEmitter();\n @Output() pageChange: EventEmitter<number> = new EventEmitter();\n @Output() itemsPerPageChange: EventEmitter<number> = new EventEmitter();\n @Output() onEditTable: EventEmitter<any> = new EventEmitter();\n @Output() onDeleteTable: EventEmitter<any> = new EventEmitter();\n @Output() onViewTable: EventEmitter<any> = new EventEmitter();\n\n currentPage: number = 1;\n totalItems: number = 0;\n config: PaginationInstance = {\n id: 'bootstrap-table',\n itemsPerPage: this.defaultItemsPerPage,\n currentPage: this.currentPage,\n totalItems: this.totalItems\n };\n\n ngOnInit() {\n this.totalItems = this.data.length;\n this.updateConfig();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['data']) {\n this.totalItems = this.data.length;\n this.updateConfig();\n }\n }\n\n updateConfig() {\n this.config.itemsPerPage = this.defaultItemsPerPage;\n this.config.currentPage = this.currentPage;\n this.config.totalItems = this.totalItems;\n }\n\n onSort(column: string) {\n this.sortChange.emit(column);\n }\n\n onPageChange(page: number) {\n this.currentPage = page;\n this.config.currentPage = page;\n this.pageChange.emit(page);\n }\n\n onItemsPerPageChange(event: any) {\n const itemsPerPage = parseInt(event, 10);\n this.defaultItemsPerPage = itemsPerPage;\n this.config.itemsPerPage = itemsPerPage;\n this.itemsPerPageChange.emit(itemsPerPage);\n this.updateConfig();\n }\n\n handleAction(action: string, item: any, index: number) {\n switch (action) {\n case 'edit':\n this.onEditTable.emit({ item, index });\n break;\n case 'delete':\n this.onDeleteTable.emit({ item, index });\n break;\n case 'view':\n this.onViewTable.emit({ item, index });\n break;\n }\n }\n}\n","<div class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n}\" style=\"text-align: right;\">\n <label for=\"itemsPerPageSelect\" style=\"margin-right: 0.5rem; margin-bottom: 0.7rem;\">Itens por Página:</label>\n <select\n id=\"itemsPerPageSelect\"\n class=\"form-control form-control-sm d-inline-block w-auto\"\n [(ngModel)]=\"defaultItemsPerPage\"\n (ngModelChange)=\"onItemsPerPageChange($event)\">\n <option *ngFor=\"let option of itemsPerPageOptions\" [value]=\"option\">{{ option }}</option>\n </select>\n</div>\n\n<div class=\"table-responsive\">\n <table class=\"table table-hover\">\n <thead>\n <tr>\n <th *ngFor=\"let column of columns\" (click)=\"onSort(column.prop)\">\n {{ column.label }}\n </th>\n <th *ngIf=\"showActionColumn\">{{ actionColumnLabel }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of data | paginate: config; let i = index\">\n <td *ngFor=\"let column of columns\">\n {{ item[column.prop] }}\n </td>\n <td *ngIf=\"showActionColumn\">\n <div class=\"d-flex justify-content-center\">\n <button *ngIf=\"onEditTable.observers.length > 0\" (click)=\"handleAction('edit', item, i)\" class=\"btn btn-sm btn-primary mx-1\">Edit</button>\n <button *ngIf=\"onDeleteTable.observers.length > 0\" (click)=\"handleAction('delete', item, i)\" class=\"btn btn-sm btn-danger mx-1\">Delete</button>\n <button *ngIf=\"onViewTable.observers.length > 0\" (click)=\"handleAction('view', item, i)\" class=\"btn btn-sm btn-info mx-1\">View</button>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n\n<div class=\"text-center\">\n <pagination-controls id=\"bootstrap-table\" (pageChange)=\"onPageChange($event)\" previousLabel=\"Anterior\" nextLabel=\"Próximo\" [responsive]=\"true\"></pagination-controls>\n</div>\n\n\n<!-- Estilos CSS diretamente no HTML -->\n<style>\n .table thead th {\n background-color: #343a40; /* Tom de cinza escuro */\n color: #fff;\n }\n</style>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-app-textarea',\n template: `\n <div class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <label [for]=\"id\" class=\"form-label\">{{ label }}</label>\n <textarea class=\"form-control custom-textarea\"\n [id]=\"id\"\n [rows]=\"rows\"\n [placeholder]=\"placeholder\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (keyup)=\"onKeyup($event)\"\n (keydown)=\"onKeydown($event)\"\n (keypress)=\"onKeypress($event)\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [autofocus]=\"autofocus\"></textarea>\n </div>\n `,\n styles: [`\n .form-group {\n margin-bottom: 1rem;\n }\n .form-label {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem;\n font-weight: bold;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TextareaComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TextareaComponent implements ControlValueAccessor {\n @Input() label: string = 'Default Label';\n @Input() placeholder: string = 'Default Placeholder';\n @Input() id: string = 'textareaId';\n @Input() rows: number = 3;\n @Input() disabled: boolean = false;\n @Input() readonly: boolean = false;\n @Input() maxlength: number | null = null;\n @Input() minlength: number | null = null;\n @Input() required: boolean = false;\n @Input() autofocus: boolean = false;\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() inputEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() changeEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() focusEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output() blurEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output() keyupEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n @Output() keydownEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n @Output() keypressEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n value: string = '';\n\n onInput(event: Event) {\n const inputElement = event.target as HTMLTextAreaElement;\n this.value = inputElement.value;\n this.onChangeCallback(this.value);\n this.inputEvent.emit(event);\n }\n\n onChange(event: Event) {\n this.changeEvent.emit(event);\n }\n\n onFocus(event: FocusEvent) {\n this.focusEvent.emit(event);\n }\n\n onBlur(event: FocusEvent) {\n this.onTouchedCallback();\n this.blurEvent.emit(event);\n }\n\n onKeyup(event: KeyboardEvent) {\n this.keyupEvent.emit(event);\n }\n\n onKeydown(event: KeyboardEvent) {\n this.keydownEvent.emit(event);\n }\n\n onKeypress(event: KeyboardEvent) {\n this.keypressEvent.emit(event);\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { FlatpickrModule } from 'angularx-flatpickr';\nimport { NgxPaginationModule } from 'ngx-pagination';\nimport { CalendarComponent } from './advanced-calendar/calendar.component';\nimport { DatePickerComponent } from './advanced-calendar/date-picker.component';\nimport { DateTimePickerComponent } from './advanced-calendar/date-time-picker.component';\nimport { BadgeComponent } from './badge/badge.component';\nimport { ButtonComponent } from './button/button.component';\nimport { CardComponent } from './card/card.component';\nimport { CheckboxComponent } from './checkbox/checkbox.component';\nimport { CodeHighlightComponent } from './code-highlight/code-highlight.component';\nimport { FormComponent } from './form/form.component';\nimport { InputComponent } from './imput/input.component';\nimport { MultiSelectComponent } from './multi-select/multi-select.component';\nimport { RadioComponent } from './radio/radio.component';\nimport { SelectComponent } from './select/select.component';\nimport { BootstrapTableComponent } from './tables/bootstrap-table.component';\nimport { TextareaComponent } from './textarea/textarea.component';\n\n@NgModule({\n declarations: [\n ButtonComponent,\n CardComponent,\n FormComponent,\n InputComponent,\n CheckboxComponent,\n TextareaComponent,\n SelectComponent,\n RadioComponent,\n MultiSelectComponent,\n CalendarComponent,\n DatePickerComponent,\n DateTimePickerComponent,\n BootstrapTableComponent,\n CodeHighlightComponent,\n BadgeComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NgSelectModule,\n FlatpickrModule.forRoot(),\n NgxPaginationModule\n ],\n exports: [\n ButtonComponent,\n CardComponent,\n FormComponent,\n InputComponent,\n CheckboxComponent,\n TextareaComponent,\n SelectComponent,\n RadioComponent,\n MultiSelectComponent,\n FormsModule,\n ReactiveFormsModule,\n NgSelectModule,\n CalendarComponent,\n DatePickerComponent,\n DateTimePickerComponent,\n BootstrapTableComponent,\n CodeHighlightComponent,\n BadgeComponent\n ]\n})\nexport class ComponentsModule { }\n","import { NgModule } from '@angular/core';\nimport { ComponentsModule } from './components/components.module';\n\n@NgModule({\n imports: [\n ComponentsModule,\n ],\n exports: [\n ComponentsModule\n ]\n})\nexport class LibPortalAngularModule { }\n","/*\n * Public API Surface of sim-lib\n *\n * Este arquivo exporta todos os componentes, enums e módulos necessários\n * para que os consumidores da biblioteca possam utilizá-los em suas aplicações.\n */\n\n// Componentes\nexport * from './lib/components/advanced-calendar/calendar.component';\nexport * from './lib/components/advanced-calendar/date-picker.component';\nexport * from './lib/components/advanced-calendar/date-time-picker.component';\nexport * from './lib/components/badge/badge.component';\nexport * from './lib/components/button/button.component';\nexport * from './lib/components/card/card.component';\nexport * from './lib/components/checkbox/checkbox.component';\nexport * from './lib/components/code-highlight/code-highlight.component';\nexport * from './lib/components/form/form.component';\nexport * from './lib/components/imput/input.component';\nexport * from './lib/components/multi-select/multi-select.component';\nexport * from './lib/components/radio/radio.component';\nexport * from './lib/components/select/select.component';\nexport * from './lib/components/tables/bootstrap-table.component';\nexport * from './lib/components/textarea/textarea.component';\n\n// Enums\nexport * from './lib/enum/ButtonClassesEnum';\n\n// Módulos\nexport * from './lib/components/components.module';\nexport * from './lib/lib-portal-angular.module';\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.CardComponent","i3","i1"],"mappings":"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"}
1
+ {"version":3,"file":"lib-portal-angular.mjs","sources":["../../../projects/lib-portal-angular/src/lib/components/advanced-calendar/calendar.component.ts","../../../projects/lib-portal-angular/src/lib/components/advanced-calendar/date-picker.component.ts","../../../projects/lib-portal-angular/src/lib/components/advanced-calendar/date-time-picker.component.ts","../../../projects/lib-portal-angular/src/lib/enum/ButtonClassesEnum.ts","../../../projects/lib-portal-angular/src/lib/components/badge/badge.component.ts","../../../projects/lib-portal-angular/src/lib/components/button/button.component.ts","../../../projects/lib-portal-angular/src/lib/components/card/card.component.ts","../../../projects/lib-portal-angular/src/lib/components/checkbox/checkbox.component.ts","../../../projects/lib-portal-angular/src/lib/components/code-highlight/code-highlight.component.ts","../../../projects/lib-portal-angular/src/lib/components/form/form.component.ts","../../../projects/lib-portal-angular/src/lib/components/imput/input.component.ts","../../../projects/lib-portal-angular/src/lib/components/multi-select/multi-select.component.ts","../../../projects/lib-portal-angular/src/lib/components/radio/radio.component.ts","../../../projects/lib-portal-angular/src/lib/components/select/select.component.ts","../../../projects/lib-portal-angular/src/lib/components/tables/bootstrap-table.component.ts","../../../projects/lib-portal-angular/src/lib/components/tables/bootstrap-table.component.html","../../../projects/lib-portal-angular/src/lib/components/textarea/textarea.component.ts","../../../projects/lib-portal-angular/src/lib/components/components.module.ts","../../../projects/lib-portal-angular/src/lib/lib-portal-angular.module.ts","../../../projects/lib-portal-angular/src/public-api.ts","../../../projects/lib-portal-angular/src/lib-portal-angular.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, Input, OnInit } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport Brazilian from 'flatpickr/dist/l10n/pt.js'; // Importa a localização brasileira\n\n@Component({\n selector: 'sim-advanced-calendar',\n template: `\n <div class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <label [for]=\"inputId\" class=\"form-label\">{{ label }}</label>\n <input\n [id]=\"inputId\"\n class=\"form-control\"\n type=\"text\"\n mwlFlatpickr\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onNgModelChange($event)\"\n [altInput]=\"altInput\"\n [convertModelValue]=\"convertModelValue\"\n [enableTime]=\"enableTime\"\n [dateFormat]=\"dateFormat\"\n [altFormat]=\"altFormat\"\n [placeholder]=\"placeholder\"\n [locale]=\"locale\"\n />\n </div>\n `,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CalendarComponent),\n multi: true\n }\n ],\n styles: [`\n .form-group {\n font-family: Arial, sans-serif;\n font-size: 1rem;\n }\n .form-label {\n font-weight: bold;\n }\n `],\n\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CalendarComponent implements ControlValueAccessor, OnInit {\n @Input() inputId: string = 'startDate';\n @Input() label: string = 'Event Start Date';\n @Input() placeholder: string = 'Not set';\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n @Input() altInput: boolean = true;\n @Input() convertModelValue: boolean = true;\n @Input() enableTime: boolean = true;\n @Input() dateFormat: string = 'd/m/Y H:i';\n @Input() altFormat: string = 'd/m/Y';\n @Input() locale: any = Brazilian.pt; // Define o idioma como brasileiro por padrão\n\n value: any;\n\n private onChange = (_: any) => { };\n private onTouched = () => { };\n\n ngOnInit(): void {\n // Any necessary initialization\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onNgModelChange(event: any) {\n this.onChange(event);\n this.onTouched();\n }\n}\n","import { Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-date-picker',\n template: `\n <div class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <label [for]=\"inputId\" class=\"form-label\">{{ label }}</label>\n <input\n [id]=\"inputId\"\n class=\"form-control\"\n type=\"date\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onNgModelChange($event)\"\n [placeholder]=\"placeholder\"\n />\n </div>\n `,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DatePickerComponent),\n multi: true\n }\n ],\n styles: [`\n .form-label {\n font-weight: bold;\n }\n `]\n})\nexport class DatePickerComponent implements ControlValueAccessor {\n @Input() inputId: string = '';\n @Input() label: string = '';\n @Input() placeholder: string = '';\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() ngModelChange: EventEmitter<any> = new EventEmitter();\n\n private innerValue: any;\n\n get value(): any {\n return this.innerValue;\n }\n\n set value(val: any) {\n this.innerValue = val;\n this.onChange(val);\n this.onTouched();\n }\n\n onNgModelChange(event: any) {\n this.value = event;\n this.ngModelChange.emit(event);\n }\n\n // ControlValueAccessor interface methods\n onChange: any = () => { };\n onTouched: any = () => { };\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n // Logic for disabling the component\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-date-time-picker',\n template: `\n <div class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <label [for]=\"inputId\" class=\"form-label\">{{ label }}</label>\n <input\n [id]=\"inputId\"\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onNgModelChange($event)\"\n [placeholder]=\"placeholder\"\n />\n </div>\n `,\n styles: [`\n .form-label {\n font-weight: bold;\n }\n .custom-input {\n border: 1px solid #9aa4b2; /* Cinza mais escuro */\n transition: border-color 0.3s, box-shadow 0.3s; /* Suaviza a transição */\n }\n .custom-input:hover {\n border-color: #2196f3; /* Azul mais intenso ao passar o mouse */\n border-width: 2px; /* Espessura da borda ao passar o mouse */\n }\n .custom-input:focus {\n border-color: #2196f3; /* Azul mais intenso ao focar */\n border-width: 2px; /* Espessura da borda ao focar */\n box-shadow: 0 0 5px rgba(0, 123, 255, 0.5); /* Efeito de foco mais pronunciado */\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DateTimePickerComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DateTimePickerComponent implements ControlValueAccessor {\n @Input() inputId: string = '';\n @Input() label: string = '';\n @Input() placeholder: string = '';\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() ngModelChange: EventEmitter<any> = new EventEmitter();\n\n private _value: any;\n\n get value(): any {\n return this._value;\n }\n\n set value(val: any) {\n this._value = val;\n this.onChange(val);\n this.onTouched();\n }\n\n onNgModelChange(event: any) {\n this.value = event;\n this.ngModelChange.emit(event);\n }\n\n // ControlValueAccessor interface methods\n onChange: any = () => { };\n onTouched: any = () => { };\n\n writeValue(value: any): void {\n this._value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n // Logic for disabling the component\n }\n}\n","export enum ButtonClasses {\n Primary = 'btn-primary',\n Secondary = 'btn-secondary',\n Success = 'btn-success',\n Danger = 'btn-danger',\n Warning = 'btn-warning',\n Info = 'btn-info',\n Light = 'btn-light',\n Dark = 'btn-dark',\n Link = 'btn-link'\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { ButtonClasses } from '../../enum/ButtonClassesEnum';\n\n@Component({\n selector: 'sim-app-badge',\n template: `\n <button\n class=\"notification-button\"\n [ngStyle]=\"getDynamicStyles()\"\n (click)=\"onClick()\"\n [class.hovered]=\"isHovered\"\n [class.clicked]=\"isClicked\"\n (mousedown)=\"onMouseDown()\"\n (mouseup)=\"onMouseUp()\"\n (mouseleave)=\"onMouseLeave()\"\n (mouseenter)=\"onMouseEnter()\">\n {{ label }}\n <span class=\"badge\">{{ badgeContent }}</span>\n </button>\n `,\n styles: [`\n .notification-button {\n position: relative;\n display: inline-block;\n width: 155px;\n height: 58px;\n padding: 14px 29px 14px 36px;\n border-radius: 6px;\n border: none;\n font-size: 16px;\n font-weight: bold;\n text-align: center;\n transition: opacity 0.3s;\n }\n .badge {\n position: absolute;\n width: 52px; /* Largura fixa */\n height: 32px; /* Altura fixa */\n top: -15px;\n right: -20px;\n background-color: #dc3545;\n color: #FFFFFF;\n border-radius: 16px; /* Arredondamento das bordas */\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: bold;\n font-size: 14px;\n font-family: 'Inter', sans-serif;\n }\n .notification-button.hovered {\n opacity: 0.8;\n }\n .notification-button.clicked {\n opacity: 0.6;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BadgeComponent {\n @Input() label: string = 'Mensagem';\n @Input() badgeContent: string = '+45';\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n @Input() btnClass: ButtonClasses = ButtonClasses.Primary;\n @Output() buttonClick: EventEmitter<void> = new EventEmitter<void>();\n\n isHovered: boolean = false;\n isClicked: boolean = false;\n isActive: boolean = false;\n\n getDynamicStyles() {\n let backgroundColor = '';\n let textColor = '#fff'; // Default text color\n let borderColor = '';\n\n switch (this.btnClass) {\n case ButtonClasses.Primary:\n backgroundColor = '#00444C';\n break;\n case ButtonClasses.Secondary:\n backgroundColor = '#2CA58D';\n break;\n case ButtonClasses.Success:\n backgroundColor = '#00C853';\n break;\n case ButtonClasses.Danger:\n backgroundColor = '#D32F2F';\n break;\n case ButtonClasses.Warning:\n backgroundColor = '#FFC107';\n break;\n case ButtonClasses.Info:\n backgroundColor = '#3EC9D6';\n break;\n case ButtonClasses.Light:\n backgroundColor = '#EEF2F6';\n textColor = '#00444C'; // Custom text color for Light\n break;\n case ButtonClasses.Dark:\n backgroundColor = '#111936';\n break;\n case ButtonClasses.Link:\n backgroundColor = 'transparent';\n borderColor = '#DDE5E9';\n textColor = '#00444C'; // Custom text color for Link\n break;\n default:\n backgroundColor = '#00444C';\n break;\n }\n\n const hoverFilter = this.isHovered ? 'brightness(80%)' : 'none'; // Adjusted hover brightness\n const activeFilter = this.isClicked ? 'brightness(60%)' : hoverFilter; // Adjusted active brightness\n\n return {\n 'margin-top': `${this.marginTop}rem`,\n 'margin-bottom': `${this.marginBottom}rem`,\n 'margin-left': `${this.marginLeft}rem`,\n 'margin-right': `${this.marginRight}rem`,\n 'background-color': backgroundColor,\n 'color': textColor,\n 'border': borderColor ? `1px solid ${borderColor}` : 'none',\n 'transition': 'background-color 0.3s, border-color 0.3s, filter 0.3s',\n 'filter': activeFilter\n };\n }\n\n onClick() {\n this.buttonClick.emit();\n }\n\n @HostListener('mouseenter')\n onMouseEnter() {\n this.isHovered = true;\n }\n\n @HostListener('mouseleave')\n onMouseLeave() {\n this.isHovered = false;\n this.isClicked = false;\n }\n\n @HostListener('mousedown')\n onMouseDown() {\n this.isClicked = true;\n }\n\n @HostListener('mouseup')\n onMouseUp() {\n this.isClicked = false;\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { ButtonClasses } from '../../enum/ButtonClassesEnum';\n\n@Component({\n selector: 'sim-app-button',\n template: `\n <ng-container *ngIf=\"hasPermission()\">\n <button [type]=\"type\"\n class=\"btn\"\n [ngClass]=\"btnClass\"\n [ngStyle]=\"getDynamicStyles()\"\n (click)=\"onClick($event)\"\n [disabled]=\"disabled\"\n [attr.autofocus]=\"autofocus ? true : null\"\n [attr.form]=\"form\"\n [attr.formaction]=\"formaction\"\n [attr.formenctype]=\"formenctype\"\n [attr.formmethod]=\"formmethod\"\n [attr.formnovalidate]=\"formnovalidate\"\n [attr.formtarget]=\"formtarget\"\n [attr.name]=\"name\"\n [attr.value]=\"value\">\n {{ label }}\n </button>\n </ng-container>\n `,\n styles: [`\n .btn {\n padding: 0.5rem 1rem;\n border-radius: 0.25rem;\n transition: background-color 0.3s, border-color 0.3s, filter 0.3s;\n font-family: 'Inter', sans-serif;\n font-size: 16px;\n font-weight: 600;\n line-height: 24px;\n letter-spacing: 0.005em;\n text-align: left;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ButtonComponent {\n @Input() type: string = 'button';\n @Input() label: string = 'Submit';\n @Input() btnClass: ButtonClasses = ButtonClasses.Primary;\n @Input() fontSize: string = '1rem';\n @Input() disabled: boolean = false;\n @Input() autofocus: boolean = false;\n @Input() form: string | null = null;\n @Input() formaction: string | null = null;\n @Input() formenctype: string | null = null;\n @Input() formmethod: string | null = null;\n @Input() formnovalidate: boolean = false;\n @Input() formtarget: string | null = null;\n @Input() name: string | null = null;\n @Input() value: string | null = null;\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Input() permissions: string[] = [];\n @Input() permissionChecker: ((permissions: string[]) => boolean) | null = null;\n\n @Output() clickEvent: EventEmitter<Event> = new EventEmitter<Event>();\n\n private isHovered: boolean = false;\n private isActive: boolean = false;\n\n @HostListener('mouseenter') onMouseEnter() {\n this.isHovered = true;\n }\n\n @HostListener('mouseleave') onMouseLeave() {\n this.isHovered = false;\n this.isActive = false;\n }\n\n @HostListener('mousedown') onMouseDown() {\n this.isActive = true;\n }\n\n @HostListener('mouseup') onMouseUp() {\n this.isActive = false;\n }\n\n onClick(event: Event) {\n this.clickEvent.emit(event);\n }\n\n getDynamicStyles() {\n let backgroundColor = '';\n let textColor = '#fff'; // Default text color\n let borderColor = '';\n\n switch (this.btnClass) {\n case ButtonClasses.Primary:\n backgroundColor = '#00444C';\n break;\n case ButtonClasses.Secondary:\n backgroundColor = '#2CA58D';\n break;\n case ButtonClasses.Success:\n backgroundColor = '#00C853';\n break;\n case ButtonClasses.Danger:\n backgroundColor = '#D32F2F';\n break;\n case ButtonClasses.Warning:\n backgroundColor = '#FFC107';\n break;\n case ButtonClasses.Info:\n backgroundColor = '#3EC9D6';\n break;\n case ButtonClasses.Light:\n backgroundColor = '#EEF2F6';\n textColor = '#00444C'; // Custom text color for Light\n break;\n case ButtonClasses.Dark:\n backgroundColor = '#111936';\n break;\n case ButtonClasses.Link:\n backgroundColor = 'transparent';\n borderColor = '#DDE5E9';\n textColor = '#00444C'; // Custom text color for Link\n break;\n default:\n backgroundColor = '#00444C';\n break;\n }\n\n const hoverFilter = this.isHovered ? 'brightness(80%)' : 'none'; // Adjusted hover brightness\n const activeFilter = this.isActive ? 'brightness(60%)' : hoverFilter; // Adjusted active brightness\n\n return {\n 'font-size': this.fontSize,\n 'margin-top': `${this.marginTop}rem`,\n 'margin-bottom': `${this.marginBottom}rem`,\n 'margin-left': `${this.marginLeft}rem`,\n 'margin-right': `${this.marginRight}rem`,\n 'background-color': backgroundColor,\n 'color': textColor,\n 'border': borderColor ? `1px solid ${borderColor}` : 'none',\n 'transition': 'background-color 0.3s, border-color 0.3s, filter 0.3s',\n 'filter': activeFilter\n };\n }\n\n hasPermission(): boolean {\n if (!this.permissionChecker || this.permissions.length === 0) {\n return true;\n }\n return this.permissionChecker(this.permissions);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'sim-app-card',\n template: `\n <div class=\"card mb-3\">\n <div class=\"card-header\">\n <h3>{{ cardTitle }}</h3>\n </div>\n <div class=\"card-body\">\n <ng-content></ng-content>\n </div>\n </div>\n `\n})\nexport class CardComponent {\n @Input() cardTitle: string = 'Default Title';\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-app-checkbox',\n template: `\n <div\n class=\"form-group form-check\"\n [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n [id]=\"id\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (change)=\"onChange($event)\"\n />\n <label class=\"form-check-label\" [for]=\"id\">{{ label }}</label>\n </div>\n `,\n styles: [`\n .form-check-input {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem; /* Define o tamanho padrão da fonte para o input */\n }\n .form-check-label {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem; /* Define o tamanho padrão da fonte para o label */\n font-weight: bold;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input() id: string = 'defaultCheckbox';\n @Input() checked: boolean = false;\n @Input() disabled: boolean = false;\n @Input() label: string = 'Check me out';\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() checkedChange = new EventEmitter<boolean>();\n\n private onChangeFn: (value: boolean) => void = () => { };\n private onTouchedFn: () => void = () => { };\n\n onChange(event: Event): void {\n const input = event.target as HTMLInputElement;\n this.checked = input.checked;\n this.onChangeFn(this.checked);\n this.checkedChange.emit(this.checked);\n }\n\n writeValue(value: boolean): void {\n this.checked = value;\n }\n\n registerOnChange(fn: (value: boolean) => void): void {\n this.onChangeFn = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouchedFn = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport hljs from 'highlight.js';\n\n@Component({\n selector: 'app-code-highlight',\n template: `\n <div class=\"code-container\">\n <pre><code #codeElement [innerHTML]=\"highlightedCode\"></code></pre>\n <button (click)=\"copyCode()\">Copy</button>\n </div>\n `,\n styles: [`\n .code-container {\n position: relative;\n }\n pre {\n background-color: #2d2d2d;\n color: #f8f8f2;\n padding: 1rem;\n border-radius: 5px;\n overflow-x: auto;\n }\n button {\n position: absolute;\n top: 10px;\n right: 10px;\n background-color: #f8f8f2;\n border: none;\n padding: 0.5rem 1rem;\n cursor: pointer;\n border-radius: 5px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n transition: background-color 0.3s, transform 0.2s, box-shadow 0.2s;\n }\n button:hover {\n background-color: #e0e0e0;\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);\n }\n button:active {\n background-color: #d0d0d0;\n transform: scale(0.98);\n }\n `]\n})\nexport class CodeHighlightComponent implements AfterViewInit {\n @Input() code: string = ''; // Definindo um valor padrão\n @Input() language: string = 'typescript';\n @ViewChild('codeElement') codeElement!: ElementRef; // Usando operador de asserção não nula\n\n highlightedCode: string = '';\n\n constructor(private cdr: ChangeDetectorRef) { }\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.highlightCode();\n this.cdr.detectChanges();\n });\n }\n\n highlightCode() {\n const code = hljs.highlight(this.language, this.code).value;\n this.highlightedCode = code;\n }\n\n copyCode() {\n const codeElement = this.codeElement.nativeElement;\n navigator.clipboard.writeText(codeElement.innerText).then(() => {\n alert('Code copied to clipboard!');\n });\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'sim-app-form',\n template: `\n <div class=\"row mt-2 mx-1\">\n <div class=\"col-sm-12\">\n <sim-app-card [cardTitle]=\"cardTitle\">\n <ng-content></ng-content>\n </sim-app-card>\n </div>\n </div>\n `\n})\nexport class FormComponent {\n @Input() cardTitle: string = 'Default Form Title';\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-app-input',\n template: `\n <div *ngIf=\"hasPermission()\" class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <label [for]=\"id\" [ngStyle]=\"getLabelStyles()\">{{ label }}</label>\n <input [type]=\"type\"\n class=\"form-control custom-input\"\n [id]=\"id\"\n [placeholder]=\"placeholder\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (keyup)=\"onKeyup($event)\"\n (keydown)=\"onKeydown($event)\"\n (keypress)=\"onKeypress($event)\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [required]=\"required\"\n [attr.pattern]=\"pattern\"\n [autofocus]=\"autofocus\">\n </div>\n `,\n styles: [`\n .form-group {\n font-family: Inter;\n font-size: 1rem; /* Define o tamanho padrão da fonte */\n font-weight: bold;\n }\n .form-check-input {\n font-family: Inter;\n color: #333;\n font-size: 0.9rem; /* Define o tamanho padrão da fonte para o input */\n }\n .form-check-label {\n width: 623px;\n height: 19px;\n top: 1608px;\n left: 133px;\n gap: 0px;\n opacity: 0px;\n font-family: Inter;\n font-size: 16px;\n line-height: 19.36px;\n text-align: left;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class InputComponent implements ControlValueAccessor {\n @Input() label: string = 'Default Label';\n @Input() placeholder: string = 'Default Placeholder';\n @Input() id: string = 'inputId';\n @Input() type: string = 'text';\n @Input() disabled: boolean = false;\n @Input() readonly: boolean = false;\n @Input() maxlength: number | null = null;\n @Input() minlength: number | null = null;\n @Input() required: boolean = false;\n @Input() pattern: string | null = null;\n @Input() autofocus: boolean = false;\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n @Input() labelFontWeight: number = 400;\n\n @Input() permissions: string[] = [];\n @Input() permissionChecker: ((permissions: string[]) => boolean) | null = null;\n\n @Output() inputEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() changeEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() focusEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output() blurEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output() keyupEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n @Output() keydownEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n @Output() keypressEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n value: string = '';\n\n onInput(event: Event) {\n const inputElement = event.target as HTMLInputElement;\n this.value = inputElement.value;\n this.onChangeCallback(this.value);\n this.inputEvent.emit(event);\n }\n\n onChange(event: Event) {\n this.changeEvent.emit(event);\n }\n\n onFocus(event: FocusEvent) {\n this.focusEvent.emit(event);\n }\n\n onBlur(event: FocusEvent) {\n this.onTouchedCallback();\n this.blurEvent.emit(event);\n }\n\n onKeyup(event: KeyboardEvent) {\n this.keyupEvent.emit(event);\n }\n\n onKeydown(event: KeyboardEvent) {\n this.keydownEvent.emit(event);\n }\n\n onKeypress(event: KeyboardEvent) {\n this.keypressEvent.emit(event);\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n hasPermission(): boolean {\n if (!this.permissionChecker || this.permissions.length === 0) {\n return true;\n }\n return this.permissionChecker(this.permissions);\n }\n\n getLabelStyles() {\n return {\n 'font-weight': this.labelFontWeight,\n 'width': '623px',\n 'height': '19px',\n 'top': '1608px',\n 'left': '133px',\n 'gap': '0px',\n 'opacity': '0px',\n 'font-family': 'Inter',\n 'font-size': '16px',\n 'line-height': '19.36px',\n 'text-align': 'left'\n };\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Observable, of } from 'rxjs';\n\n@Component({\n selector: 'sim-app-multi-select',\n template: `\n <div class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <label [for]=\"id\" class=\"form-label\">{{ label }}</label>\n <ng-select\n [class.course-entry]=\"isCourseEntered\"\n class=\"ng-select\"\n [items]=\"items | async\"\n [multiple]=\"true\"\n [closeOnSelect]=\"false\"\n [hideSelected]=\"true\"\n [bindLabel]=\"bindLabel\"\n [(ngModel)]=\"selected\"\n (keyup)=\"onKeyUp($event)\"\n [id]=\"id\"\n [placeholder]=\"selected && selected.length === 0 ? placeholder : ''\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n >\n <ng-template ng-option-tmp let-item=\"item\">\n {{ item[bindLabel] }}\n </ng-template>\n </ng-select>\n </div>\n `,\n styles: [`\n .form-group {\n font-family: Arial, sans-serif;\n font-size: 1rem;\n }\n .form-label {\n font-weight: bold;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MultiSelectComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MultiSelectComponent implements ControlValueAccessor, OnInit {\n @Input() label: string = 'Multi Select';\n @Input() data: any[] = []; // Aceita um array de objetos genéricos\n @Input() placeholder: string = 'Select items';\n @Input() selected: any[] = []; // A variável selected deve ser um array\n @Input() id: string = 'multiSelectId';\n @Input() bindLabel: string = ''; // Label dinâmico genérico\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() keyupEvent: EventEmitter<any> = new EventEmitter<any>();\n\n items: Observable<any[]> = of([]); // Inicialização da propriedade\n\n ngOnInit(): void {\n this.items = of(this.data);\n }\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n isCourseEntered = false;\n\n onFocus() {\n this.isCourseEntered = true;\n }\n\n onBlur() {\n this.isCourseEntered = false;\n }\n\n onKeyUp(event: KeyboardEvent) {\n this.keyupEvent.emit(event);\n }\n\n writeValue(value: any): void {\n this.selected = value || [];\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n // No implementation needed for this example\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-app-radio',\n template: `\n <div class=\"form-check\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <input class=\"form-check-input\"\n type=\"radio\"\n [name]=\"name\"\n [id]=\"id\"\n [value]=\"value\"\n [checked]=\"checked\"\n (change)=\"handleRadioChange($event)\"\n [disabled]=\"disabled\">\n <label class=\"form-check-label\" [for]=\"id\">{{ label }}</label>\n </div>\n `,\n styles: [`\n .form-check {\n font-family: Arial, sans-serif;\n font-size: 1rem; /* Define o tamanho padrão da fonte */\n }\n .form-check-input {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem;\n margin-right: 0.5rem;\n }\n .form-check-label {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem;\n font-weight: bold;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RadioComponent implements ControlValueAccessor {\n @Input() name: string = 'defaultRadio';\n @Input() id: string = 'radioId';\n @Input() value: string = 'default';\n @Input() checked: boolean = false;\n @Input() disabled: boolean = false;\n @Input() label: string = 'Radio label';\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() changeEvent: EventEmitter<Event> = new EventEmitter<Event>();\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n handleRadioChange(event: Event) {\n const inputElement = event.target as HTMLInputElement;\n this.checked = inputElement.checked;\n this.onChangeCallback(this.checked);\n this.changeEvent.emit(event);\n }\n\n writeValue(value: any): void {\n this.checked = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-app-select',\n template: `\n <div class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <label [for]=\"id\">{{ label }}</label>\n <select class=\"form-control custom-select\"\n [id]=\"id\"\n [value]=\"value\"\n (change)=\"onSelectChange($event)\"\n [disabled]=\"disabled\">\n <option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.label }}</option>\n </select>\n </div>\n `,\n styles: [`\n .form-group {\n margin-bottom: 1rem;\n }\n .form-label {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem;\n font-weight: bold;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SelectComponent implements ControlValueAccessor {\n @Input() label: string = 'Default Label';\n @Input() id: string = 'selectId';\n @Input() disabled: boolean = false;\n @Input() options: { value: any, label: string }[] = [];\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() changeEvent: EventEmitter<any> = new EventEmitter<any>();\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n value: any;\n\n onSelectChange(event: Event) {\n const selectElement = event.target as HTMLSelectElement;\n this.value = selectElement.value;\n this.onChangeCallback(this.value);\n this.changeEvent.emit(this.value);\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { PaginationInstance } from 'ngx-pagination';\n\n@Component({\n selector: 'sim-bootstrap-table',\n templateUrl: './bootstrap-table.component.html',\n styleUrls: ['./bootstrap-table.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BootstrapTableComponent implements OnInit, OnChanges {\n @Input() columns: any[] = [];\n @Input() data: any[] = [];\n @Input() itemsPerPageOptions: number[] = [5, 10, 15, 20];\n @Input() defaultItemsPerPage: number = 10;\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n @Input() showActionColumn: boolean = false;\n @Input() actionColumnLabel: string = 'Actions';\n\n @Output() sortChange: EventEmitter<any> = new EventEmitter();\n @Output() pageChange: EventEmitter<number> = new EventEmitter();\n @Output() itemsPerPageChange: EventEmitter<number> = new EventEmitter();\n @Output() onEditTable: EventEmitter<any> = new EventEmitter();\n @Output() onDeleteTable: EventEmitter<any> = new EventEmitter();\n @Output() onViewTable: EventEmitter<any> = new EventEmitter();\n\n currentPage: number = 1;\n totalItems: number = 0;\n config: PaginationInstance = {\n id: 'bootstrap-table',\n itemsPerPage: this.defaultItemsPerPage,\n currentPage: this.currentPage,\n totalItems: this.totalItems\n };\n\n ngOnInit() {\n this.totalItems = this.data.length;\n this.updateConfig();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['data']) {\n this.totalItems = this.data.length;\n this.updateConfig();\n }\n }\n\n updateConfig() {\n this.config.itemsPerPage = this.defaultItemsPerPage;\n this.config.currentPage = this.currentPage;\n this.config.totalItems = this.totalItems;\n }\n\n onSort(column: string) {\n this.sortChange.emit(column);\n }\n\n onPageChange(page: number) {\n this.currentPage = page;\n this.config.currentPage = page;\n this.pageChange.emit(page);\n }\n\n onItemsPerPageChange(event: any) {\n const itemsPerPage = parseInt(event, 10);\n this.defaultItemsPerPage = itemsPerPage;\n this.config.itemsPerPage = itemsPerPage;\n this.itemsPerPageChange.emit(itemsPerPage);\n this.updateConfig();\n }\n\n handleAction(action: string, item: any, index: number) {\n switch (action) {\n case 'edit':\n this.onEditTable.emit({ item, index });\n break;\n case 'delete':\n this.onDeleteTable.emit({ item, index });\n break;\n case 'view':\n this.onViewTable.emit({ item, index });\n break;\n }\n }\n}\n","<div class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n}\" style=\"text-align: right;\">\n <label for=\"itemsPerPageSelect\" style=\"margin-right: 0.5rem; margin-bottom: 0.7rem;\">Itens por Página:</label>\n <select\n id=\"itemsPerPageSelect\"\n class=\"form-control form-control-sm d-inline-block w-auto\"\n [(ngModel)]=\"defaultItemsPerPage\"\n (ngModelChange)=\"onItemsPerPageChange($event)\">\n <option *ngFor=\"let option of itemsPerPageOptions\" [value]=\"option\">{{ option }}</option>\n </select>\n</div>\n\n<div class=\"table-responsive\">\n <table class=\"table table-hover\">\n <thead>\n <tr>\n <th *ngFor=\"let column of columns\" (click)=\"onSort(column.prop)\">\n {{ column.label }}\n </th>\n <th *ngIf=\"showActionColumn\">{{ actionColumnLabel }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of data | paginate: config; let i = index\">\n <td *ngFor=\"let column of columns\">\n {{ item[column.prop] }}\n </td>\n <td *ngIf=\"showActionColumn\">\n <div class=\"d-flex justify-content-center\">\n <button *ngIf=\"onEditTable.observers.length > 0\" (click)=\"handleAction('edit', item, i)\" class=\"btn btn-sm btn-primary mx-1\">Edit</button>\n <button *ngIf=\"onDeleteTable.observers.length > 0\" (click)=\"handleAction('delete', item, i)\" class=\"btn btn-sm btn-danger mx-1\">Delete</button>\n <button *ngIf=\"onViewTable.observers.length > 0\" (click)=\"handleAction('view', item, i)\" class=\"btn btn-sm btn-info mx-1\">View</button>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n\n<div class=\"text-center\">\n <pagination-controls id=\"bootstrap-table\" (pageChange)=\"onPageChange($event)\" previousLabel=\"Anterior\" nextLabel=\"Próximo\" [responsive]=\"true\"></pagination-controls>\n</div>\n\n\n<!-- Estilos CSS diretamente no HTML -->\n<style>\n .table thead th {\n background-color: #343a40; /* Tom de cinza escuro */\n color: #fff;\n }\n</style>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-app-textarea',\n template: `\n <div class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <label [for]=\"id\" class=\"form-label\">{{ label }}</label>\n <textarea class=\"form-control custom-textarea\"\n [id]=\"id\"\n [rows]=\"rows\"\n [placeholder]=\"placeholder\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (keyup)=\"onKeyup($event)\"\n (keydown)=\"onKeydown($event)\"\n (keypress)=\"onKeypress($event)\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [autofocus]=\"autofocus\"></textarea>\n </div>\n `,\n styles: [`\n .form-group {\n margin-bottom: 1rem;\n }\n .form-label {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem;\n font-weight: bold;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TextareaComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TextareaComponent implements ControlValueAccessor {\n @Input() label: string = 'Default Label';\n @Input() placeholder: string = 'Default Placeholder';\n @Input() id: string = 'textareaId';\n @Input() rows: number = 3;\n @Input() disabled: boolean = false;\n @Input() readonly: boolean = false;\n @Input() maxlength: number | null = null;\n @Input() minlength: number | null = null;\n @Input() required: boolean = false;\n @Input() autofocus: boolean = false;\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() inputEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() changeEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() focusEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output() blurEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output() keyupEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n @Output() keydownEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n @Output() keypressEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n value: string = '';\n\n onInput(event: Event) {\n const inputElement = event.target as HTMLTextAreaElement;\n this.value = inputElement.value;\n this.onChangeCallback(this.value);\n this.inputEvent.emit(event);\n }\n\n onChange(event: Event) {\n this.changeEvent.emit(event);\n }\n\n onFocus(event: FocusEvent) {\n this.focusEvent.emit(event);\n }\n\n onBlur(event: FocusEvent) {\n this.onTouchedCallback();\n this.blurEvent.emit(event);\n }\n\n onKeyup(event: KeyboardEvent) {\n this.keyupEvent.emit(event);\n }\n\n onKeydown(event: KeyboardEvent) {\n this.keydownEvent.emit(event);\n }\n\n onKeypress(event: KeyboardEvent) {\n this.keypressEvent.emit(event);\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { FlatpickrModule } from 'angularx-flatpickr';\nimport { NgxPaginationModule } from 'ngx-pagination';\nimport { CalendarComponent } from './advanced-calendar/calendar.component';\nimport { DatePickerComponent } from './advanced-calendar/date-picker.component';\nimport { DateTimePickerComponent } from './advanced-calendar/date-time-picker.component';\nimport { BadgeComponent } from './badge/badge.component';\nimport { ButtonComponent } from './button/button.component';\nimport { CardComponent } from './card/card.component';\nimport { CheckboxComponent } from './checkbox/checkbox.component';\nimport { CodeHighlightComponent } from './code-highlight/code-highlight.component';\nimport { FormComponent } from './form/form.component';\nimport { InputComponent } from './imput/input.component';\nimport { MultiSelectComponent } from './multi-select/multi-select.component';\nimport { RadioComponent } from './radio/radio.component';\nimport { SelectComponent } from './select/select.component';\nimport { BootstrapTableComponent } from './tables/bootstrap-table.component';\nimport { TextareaComponent } from './textarea/textarea.component';\n\n@NgModule({\n declarations: [\n ButtonComponent,\n CardComponent,\n FormComponent,\n InputComponent,\n CheckboxComponent,\n TextareaComponent,\n SelectComponent,\n RadioComponent,\n MultiSelectComponent,\n CalendarComponent,\n DatePickerComponent,\n DateTimePickerComponent,\n BootstrapTableComponent,\n CodeHighlightComponent,\n BadgeComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NgSelectModule,\n FlatpickrModule.forRoot(),\n NgxPaginationModule\n ],\n exports: [\n ButtonComponent,\n CardComponent,\n FormComponent,\n InputComponent,\n CheckboxComponent,\n TextareaComponent,\n SelectComponent,\n RadioComponent,\n MultiSelectComponent,\n FormsModule,\n ReactiveFormsModule,\n NgSelectModule,\n CalendarComponent,\n DatePickerComponent,\n DateTimePickerComponent,\n BootstrapTableComponent,\n CodeHighlightComponent,\n BadgeComponent\n ]\n})\nexport class ComponentsModule { }\n","import { NgModule } from '@angular/core';\nimport { ComponentsModule } from './components/components.module';\n\n@NgModule({\n imports: [\n ComponentsModule,\n ],\n exports: [\n ComponentsModule\n ]\n})\nexport class LibPortalAngularModule { }\n","/*\n * Public API Surface of sim-lib\n *\n * Este arquivo exporta todos os componentes, enums e módulos necessários\n * para que os consumidores da biblioteca possam utilizá-los em suas aplicações.\n */\n\n// Componentes\nexport * from './lib/components/advanced-calendar/calendar.component';\nexport * from './lib/components/advanced-calendar/date-picker.component';\nexport * from './lib/components/advanced-calendar/date-time-picker.component';\nexport * from './lib/components/badge/badge.component';\nexport * from './lib/components/button/button.component';\nexport * from './lib/components/card/card.component';\nexport * from './lib/components/checkbox/checkbox.component';\nexport * from './lib/components/code-highlight/code-highlight.component';\nexport * from './lib/components/form/form.component';\nexport * from './lib/components/imput/input.component';\nexport * from './lib/components/multi-select/multi-select.component';\nexport * from './lib/components/radio/radio.component';\nexport * from './lib/components/select/select.component';\nexport * from './lib/components/tables/bootstrap-table.component';\nexport * from './lib/components/textarea/textarea.component';\n\n// Enums\nexport * from './lib/enum/ButtonClassesEnum';\n\n// Módulos\nexport * from './lib/components/components.module';\nexport * from './lib/lib-portal-angular.module';\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.CardComponent","i3","i1"],"mappings":"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"}
@@ -20,6 +20,8 @@ export declare class ButtonComponent {
20
20
  marginBottom: number;
21
21
  marginLeft: number;
22
22
  marginRight: number;
23
+ permissions: string[];
24
+ permissionChecker: ((permissions: string[]) => boolean) | null;
23
25
  clickEvent: EventEmitter<Event>;
24
26
  private isHovered;
25
27
  private isActive;
@@ -40,6 +42,7 @@ export declare class ButtonComponent {
40
42
  transition: string;
41
43
  filter: string;
42
44
  };
45
+ hasPermission(): boolean;
43
46
  static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
44
- static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "sim-app-button", never, { "type": { "alias": "type"; "required": false; }; "label": { "alias": "label"; "required": false; }; "btnClass": { "alias": "btnClass"; "required": false; }; "fontSize": { "alias": "fontSize"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "form": { "alias": "form"; "required": false; }; "formaction": { "alias": "formaction"; "required": false; }; "formenctype": { "alias": "formenctype"; "required": false; }; "formmethod": { "alias": "formmethod"; "required": false; }; "formnovalidate": { "alias": "formnovalidate"; "required": false; }; "formtarget": { "alias": "formtarget"; "required": false; }; "name": { "alias": "name"; "required": false; }; "value": { "alias": "value"; "required": false; }; "marginTop": { "alias": "marginTop"; "required": false; }; "marginBottom": { "alias": "marginBottom"; "required": false; }; "marginLeft": { "alias": "marginLeft"; "required": false; }; "marginRight": { "alias": "marginRight"; "required": false; }; }, { "clickEvent": "clickEvent"; }, never, never, false, never>;
47
+ static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "sim-app-button", never, { "type": { "alias": "type"; "required": false; }; "label": { "alias": "label"; "required": false; }; "btnClass": { "alias": "btnClass"; "required": false; }; "fontSize": { "alias": "fontSize"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "form": { "alias": "form"; "required": false; }; "formaction": { "alias": "formaction"; "required": false; }; "formenctype": { "alias": "formenctype"; "required": false; }; "formmethod": { "alias": "formmethod"; "required": false; }; "formnovalidate": { "alias": "formnovalidate"; "required": false; }; "formtarget": { "alias": "formtarget"; "required": false; }; "name": { "alias": "name"; "required": false; }; "value": { "alias": "value"; "required": false; }; "marginTop": { "alias": "marginTop"; "required": false; }; "marginBottom": { "alias": "marginBottom"; "required": false; }; "marginLeft": { "alias": "marginLeft"; "required": false; }; "marginRight": { "alias": "marginRight"; "required": false; }; "permissions": { "alias": "permissions"; "required": false; }; "permissionChecker": { "alias": "permissionChecker"; "required": false; }; }, { "clickEvent": "clickEvent"; }, never, never, false, never>;
45
48
  }
@@ -17,6 +17,9 @@ export declare class InputComponent implements ControlValueAccessor {
17
17
  marginBottom: number;
18
18
  marginLeft: number;
19
19
  marginRight: number;
20
+ labelFontWeight: number;
21
+ permissions: string[];
22
+ permissionChecker: ((permissions: string[]) => boolean) | null;
20
23
  inputEvent: EventEmitter<Event>;
21
24
  changeEvent: EventEmitter<Event>;
22
25
  focusEvent: EventEmitter<FocusEvent>;
@@ -38,6 +41,20 @@ export declare class InputComponent implements ControlValueAccessor {
38
41
  registerOnChange(fn: any): void;
39
42
  registerOnTouched(fn: any): void;
40
43
  setDisabledState?(isDisabled: boolean): void;
44
+ hasPermission(): boolean;
45
+ getLabelStyles(): {
46
+ 'font-weight': number;
47
+ width: string;
48
+ height: string;
49
+ top: string;
50
+ left: string;
51
+ gap: string;
52
+ opacity: string;
53
+ 'font-family': string;
54
+ 'font-size': string;
55
+ 'line-height': string;
56
+ 'text-align': string;
57
+ };
41
58
  static ɵfac: i0.ɵɵFactoryDeclaration<InputComponent, never>;
42
- static ɵcmp: i0.ɵɵComponentDeclaration<InputComponent, "sim-app-input", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "id": { "alias": "id"; "required": false; }; "type": { "alias": "type"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "required": { "alias": "required"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "marginTop": { "alias": "marginTop"; "required": false; }; "marginBottom": { "alias": "marginBottom"; "required": false; }; "marginLeft": { "alias": "marginLeft"; "required": false; }; "marginRight": { "alias": "marginRight"; "required": false; }; }, { "inputEvent": "inputEvent"; "changeEvent": "changeEvent"; "focusEvent": "focusEvent"; "blurEvent": "blurEvent"; "keyupEvent": "keyupEvent"; "keydownEvent": "keydownEvent"; "keypressEvent": "keypressEvent"; }, never, never, false, never>;
59
+ static ɵcmp: i0.ɵɵComponentDeclaration<InputComponent, "sim-app-input", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "id": { "alias": "id"; "required": false; }; "type": { "alias": "type"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "required": { "alias": "required"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "marginTop": { "alias": "marginTop"; "required": false; }; "marginBottom": { "alias": "marginBottom"; "required": false; }; "marginLeft": { "alias": "marginLeft"; "required": false; }; "marginRight": { "alias": "marginRight"; "required": false; }; "labelFontWeight": { "alias": "labelFontWeight"; "required": false; }; "permissions": { "alias": "permissions"; "required": false; }; "permissionChecker": { "alias": "permissionChecker"; "required": false; }; }, { "inputEvent": "inputEvent"; "changeEvent": "changeEvent"; "focusEvent": "focusEvent"; "blurEvent": "blurEvent"; "keyupEvent": "keyupEvent"; "keydownEvent": "keydownEvent"; "keypressEvent": "keypressEvent"; }, never, never, false, never>;
43
60
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lib-portal-angular",
3
- "version": "0.0.11",
3
+ "version": "0.0.13",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^16.2.0",
6
6
  "@angular/core": "^16.2.0"