lib-portal-angular 0.0.22 → 0.0.23

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,94 +1,361 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, Input, EventEmitter, ChangeDetectionStrategy, Output, HostListener, forwardRef, ViewChild, createComponent, Injectable, NgModule } from '@angular/core';
3
- import * as i1 from '@angular/common';
4
- import { CommonModule } from '@angular/common';
2
+ import { forwardRef, Component, ChangeDetectionStrategy, Input, EventEmitter, Output, HostListener, ViewChild, NgModule } from '@angular/core';
5
3
  import * as i2 from '@angular/forms';
6
4
  import { NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';
5
+ import Brazilian from 'flatpickr/dist/l10n/pt.js';
6
+ import * as i1 from '@angular/common';
7
+ import { CommonModule } from '@angular/common';
8
+ import * as i3 from 'angularx-flatpickr';
9
+ import { FlatpickrModule } from 'angularx-flatpickr';
7
10
  import hljs from 'highlight.js';
8
- import { of, Subject } from 'rxjs';
9
- import * as i3 from '@ng-select/ng-select';
11
+ import { of } from 'rxjs';
12
+ import * as i3$1 from '@ng-select/ng-select';
10
13
  import { NgSelectModule } from '@ng-select/ng-select';
11
- import * as i3$1 from 'ngx-pagination';
14
+ import * as i3$2 from 'ngx-pagination';
12
15
  import { NgxPaginationModule } from 'ngx-pagination';
13
16
 
14
- class AlertComponent {
17
+ class CalendarComponent {
15
18
  constructor() {
16
- this.alerts = [];
17
- this.closeTimeouts = {}; // Armazena os temporizadores para cada alerta
19
+ this.inputId = 'startDate';
20
+ this.label = 'Event Start Date';
21
+ this.placeholder = 'Not set';
22
+ this.marginTop = 0;
23
+ this.marginBottom = 0;
24
+ this.marginLeft = 0;
25
+ this.marginRight = 0;
26
+ this.altInput = true;
27
+ this.convertModelValue = true;
28
+ this.enableTime = true;
29
+ this.dateFormat = 'd/m/Y H:i';
30
+ this.altFormat = 'd/m/Y';
31
+ this.locale = Brazilian.pt; // Define o idioma como brasileiro por padrão
32
+ this.onChange = (_) => { };
33
+ this.onTouched = () => { };
18
34
  }
19
35
  ngOnInit() {
20
- // Inicia o temporizador de fechamento para cada alerta quando a página é carregada
21
- this.alerts.forEach(alert => {
22
- this.closeTimeouts[alert.message] = setTimeout(() => {
23
- this.closeAlert(alert);
24
- }, 6000); // Fecha após 8 segundos
25
- });
36
+ // Any necessary initialization
26
37
  }
27
- ngAfterViewInit() {
28
- // Adiciona a classe 'show' após um curto atraso para acionar a animação
29
- setTimeout(() => {
30
- this.alerts.forEach(alert => {
31
- const element = document.getElementById(`alert-${alert.message}`);
32
- if (element) {
33
- element.classList.add('show');
34
- }
35
- });
36
- }, 10); // Pequeno atraso para garantir que o elemento esteja no DOM
37
- }
38
- closeAlert(alert) {
39
- const element = document.getElementById(`alert-${alert.message}`);
40
- if (element) {
41
- element.classList.remove('show');
42
- setTimeout(() => {
43
- this.alerts = this.alerts.filter(a => a !== alert);
44
- }, 500); // Duração da animação de saída
45
- }
46
- else {
47
- this.alerts = this.alerts.filter(a => a !== alert);
48
- }
38
+ writeValue(value) {
39
+ this.value = value;
49
40
  }
50
- getAlertClass(alert) {
51
- return {
52
- 'alert-container': true,
53
- 'alert-dismissible': true,
54
- [`alert-${alert.type}`]: true
55
- };
41
+ registerOnChange(fn) {
42
+ this.onChange = fn;
56
43
  }
57
- getAlertIconClass(alert) {
58
- switch (alert.type) {
59
- case 'success':
60
- return 'success-icon'; // Classe para o ícone de sucesso
61
- case 'info':
62
- return 'info-icon'; // Classe para o ícone de informação
63
- case 'warning':
64
- return 'warning-icon'; // Classe para o ícone de aviso
65
- case 'danger':
66
- return 'danger-icon'; // Classe para o ícone de erro
67
- default:
68
- return '';
69
- }
44
+ registerOnTouched(fn) {
45
+ this.onTouched = fn;
70
46
  }
71
- onMouseEnter(alert) {
72
- // Cancela o temporizador quando o mouse entra no alerta
73
- if (this.closeTimeouts[alert.message]) {
74
- clearTimeout(this.closeTimeouts[alert.message]);
75
- delete this.closeTimeouts[alert.message];
76
- }
47
+ onNgModelChange(event) {
48
+ this.onChange(event);
49
+ this.onTouched();
77
50
  }
78
- onMouseLeave(alert) {
79
- // Inicia um novo temporizador para fechar o alerta após 2 segundos quando o mouse sai do alerta
80
- this.closeTimeouts[alert.message] = setTimeout(() => {
81
- this.closeAlert(alert);
82
- }, 2000); // Fechar após 2 segundos
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
52
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CalendarComponent, selector: "sim-advanced-calendar", inputs: { inputId: "inputId", label: "label", placeholder: "placeholder", marginTop: "marginTop", marginBottom: "marginBottom", marginLeft: "marginLeft", marginRight: "marginRight", altInput: "altInput", convertModelValue: "convertModelValue", enableTime: "enableTime", dateFormat: "dateFormat", altFormat: "altFormat", locale: "locale" }, providers: [
53
+ {
54
+ provide: NG_VALUE_ACCESSOR,
55
+ useExisting: forwardRef(() => CalendarComponent),
56
+ multi: true
57
+ }
58
+ ], ngImport: i0, template: `
59
+ <div class="form-group" [ngStyle]="{
60
+ 'margin-top': marginTop + 'rem',
61
+ 'margin-bottom': marginBottom + 'rem',
62
+ 'margin-left': marginLeft + 'rem',
63
+ 'margin-right': marginRight + 'rem'
64
+ }">
65
+ <label [for]="inputId" class="form-label">{{ label }}</label>
66
+ <input
67
+ [id]="inputId"
68
+ class="form-control"
69
+ type="text"
70
+ mwlFlatpickr
71
+ [(ngModel)]="value"
72
+ (ngModelChange)="onNgModelChange($event)"
73
+ [altInput]="altInput"
74
+ [convertModelValue]="convertModelValue"
75
+ [enableTime]="enableTime"
76
+ [dateFormat]="dateFormat"
77
+ [altFormat]="altFormat"
78
+ [placeholder]="placeholder"
79
+ [locale]="locale"
80
+ />
81
+ </div>
82
+ `, isInline: true, styles: [".form-group{font-family:Arial,sans-serif;font-size:1rem}.form-label{font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.FlatpickrDirective, selector: "[mwlFlatpickr]", inputs: ["options", "altFormat", "altInput", "altInputClass", "allowInput", "allowInvalidPreload", "appendTo", "ariaDateFormat", "clickOpens", "dateFormat", "defaultHour", "defaultMinute", "defaultSeconds", "disable", "disableMobile", "enable", "enableTime", "enableSeconds", "formatDate", "hourIncrement", "inline", "maxDate", "minDate", "maxTime", "minTime", "minuteIncrement", "mode", "nextArrow", "noCalendar", "now", "parseDate", "prevArrow", "shorthandCurrentMonth", "showMonths", "static", "time24hr", "weekNumbers", "getWeek", "wrap", "plugins", "locale", "convertModelValue", "monthSelectorType", "ignoredFocusElements"], outputs: ["flatpickrReady", "flatpickrChange", "flatpickrValueUpdate", "flatpickrOpen", "flatpickrClose", "flatpickrMonthChange", "flatpickrYearChange", "flatpickrDayCreate"], exportAs: ["mwlFlatpickr"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
83
+ }
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarComponent, decorators: [{
85
+ type: Component,
86
+ args: [{ selector: 'sim-advanced-calendar', template: `
87
+ <div class="form-group" [ngStyle]="{
88
+ 'margin-top': marginTop + 'rem',
89
+ 'margin-bottom': marginBottom + 'rem',
90
+ 'margin-left': marginLeft + 'rem',
91
+ 'margin-right': marginRight + 'rem'
92
+ }">
93
+ <label [for]="inputId" class="form-label">{{ label }}</label>
94
+ <input
95
+ [id]="inputId"
96
+ class="form-control"
97
+ type="text"
98
+ mwlFlatpickr
99
+ [(ngModel)]="value"
100
+ (ngModelChange)="onNgModelChange($event)"
101
+ [altInput]="altInput"
102
+ [convertModelValue]="convertModelValue"
103
+ [enableTime]="enableTime"
104
+ [dateFormat]="dateFormat"
105
+ [altFormat]="altFormat"
106
+ [placeholder]="placeholder"
107
+ [locale]="locale"
108
+ />
109
+ </div>
110
+ `, providers: [
111
+ {
112
+ provide: NG_VALUE_ACCESSOR,
113
+ useExisting: forwardRef(() => CalendarComponent),
114
+ multi: true
115
+ }
116
+ ], changeDetection: ChangeDetectionStrategy.OnPush, styles: [".form-group{font-family:Arial,sans-serif;font-size:1rem}.form-label{font-weight:700}\n"] }]
117
+ }], propDecorators: { inputId: [{
118
+ type: Input
119
+ }], label: [{
120
+ type: Input
121
+ }], placeholder: [{
122
+ type: Input
123
+ }], marginTop: [{
124
+ type: Input
125
+ }], marginBottom: [{
126
+ type: Input
127
+ }], marginLeft: [{
128
+ type: Input
129
+ }], marginRight: [{
130
+ type: Input
131
+ }], altInput: [{
132
+ type: Input
133
+ }], convertModelValue: [{
134
+ type: Input
135
+ }], enableTime: [{
136
+ type: Input
137
+ }], dateFormat: [{
138
+ type: Input
139
+ }], altFormat: [{
140
+ type: Input
141
+ }], locale: [{
142
+ type: Input
143
+ }] } });
144
+
145
+ class DatePickerComponent {
146
+ constructor() {
147
+ this.inputId = '';
148
+ this.label = '';
149
+ this.placeholder = '';
150
+ this.marginTop = 0;
151
+ this.marginBottom = 0;
152
+ this.marginLeft = 0;
153
+ this.marginRight = 0;
154
+ this.ngModelChange = new EventEmitter();
155
+ // ControlValueAccessor interface methods
156
+ this.onChange = () => { };
157
+ this.onTouched = () => { };
158
+ }
159
+ get value() {
160
+ return this.innerValue;
161
+ }
162
+ set value(val) {
163
+ this.innerValue = val;
164
+ this.onChange(val);
165
+ this.onTouched();
166
+ }
167
+ onNgModelChange(event) {
168
+ this.value = event;
169
+ this.ngModelChange.emit(event);
170
+ }
171
+ writeValue(value) {
172
+ this.value = value;
83
173
  }
84
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
85
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AlertComponent, selector: "lib-alert", inputs: { alerts: "alerts" }, ngImport: i0, template: "<div *ngFor=\"let alert of alerts\" \n [ngClass]=\"getAlertClass(alert)\" \n role=\"alert\" \n [id]=\"'alert-' + alert.message\"\n (mouseenter)=\"onMouseEnter(alert)\" \n (mouseleave)=\"onMouseLeave(alert)\">\n <button type=\"button\" class=\"close\" (click)=\"closeAlert(alert)\" aria-label=\"Close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n <div class=\"alert-header\">\n <span [ngClass]=\"getAlertIconClass(alert)\" class=\"alert-icon\"></span>\n <strong>{{ alert.title }}</strong>\n </div>\n <div class=\"alert-body\">\n {{ alert.message }}\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.alert-container{position:fixed;top:20px;right:20px;max-width:400px;margin:10px auto;padding:15px;border-radius:4px;background-color:#f8d7da;color:#721c24;word-wrap:break-word;opacity:0;transform:translateY(-20px);transition:opacity .5s ease,transform .5s ease;display:flex;flex-direction:column;align-items:flex-start}.alert-container.show{opacity:1;transform:translateY(0)}.alert-container .close{position:absolute;top:10px;right:10px;background:none;border:none;font-size:20px;color:#000;opacity:.5;cursor:pointer;outline:none}.alert-container .close:hover{opacity:1}.alert-container .alert-header{display:flex;align-items:center;margin-bottom:5px}.alert-container .alert-icon{margin-right:10px;font-size:20px}.alert-container .alert-body{margin-left:30px}.alert-container .alert-icon.success-icon:before{content:\"\\2714\\fe0f\"}.alert-container .alert-icon.info-icon:before{content:\"\\2139\\fe0f\"}.alert-container .alert-icon.warning-icon:before{content:\"\\26a0\\fe0f\"}.alert-container .alert-icon.danger-icon:before{content:\"\\274c\"}.alert-success{background-color:#d4edda;color:#155724}.alert-info{background-color:#d8f4f7;color:#0c5460}.alert-warning{background-color:#fff3cd;color:#856404}.alert-danger{background-color:#fdd9d7;color:#721c24}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
174
+ registerOnChange(fn) {
175
+ this.onChange = fn;
176
+ }
177
+ registerOnTouched(fn) {
178
+ this.onTouched = fn;
179
+ }
180
+ setDisabledState(isDisabled) {
181
+ // Logic for disabling the component
182
+ }
183
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
184
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DatePickerComponent, selector: "sim-date-picker", inputs: { inputId: "inputId", label: "label", placeholder: "placeholder", marginTop: "marginTop", marginBottom: "marginBottom", marginLeft: "marginLeft", marginRight: "marginRight" }, outputs: { ngModelChange: "ngModelChange" }, providers: [
185
+ {
186
+ provide: NG_VALUE_ACCESSOR,
187
+ useExisting: forwardRef(() => DatePickerComponent),
188
+ multi: true
189
+ }
190
+ ], ngImport: i0, template: `
191
+ <div class="form-group" [ngStyle]="{
192
+ 'margin-top': marginTop + 'rem',
193
+ 'margin-bottom': marginBottom + 'rem',
194
+ 'margin-left': marginLeft + 'rem',
195
+ 'margin-right': marginRight + 'rem'
196
+ }">
197
+ <label [for]="inputId" class="form-label">{{ label }}</label>
198
+ <input
199
+ [id]="inputId"
200
+ class="form-control"
201
+ type="date"
202
+ [(ngModel)]="value"
203
+ (ngModelChange)="onNgModelChange($event)"
204
+ [placeholder]="placeholder"
205
+ />
206
+ </div>
207
+ `, isInline: true, styles: [".form-label{font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
86
208
  }
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AlertComponent, decorators: [{
209
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatePickerComponent, decorators: [{
88
210
  type: Component,
89
- args: [{ selector: 'lib-alert', template: "<div *ngFor=\"let alert of alerts\" \n [ngClass]=\"getAlertClass(alert)\" \n role=\"alert\" \n [id]=\"'alert-' + alert.message\"\n (mouseenter)=\"onMouseEnter(alert)\" \n (mouseleave)=\"onMouseLeave(alert)\">\n <button type=\"button\" class=\"close\" (click)=\"closeAlert(alert)\" aria-label=\"Close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n <div class=\"alert-header\">\n <span [ngClass]=\"getAlertIconClass(alert)\" class=\"alert-icon\"></span>\n <strong>{{ alert.title }}</strong>\n </div>\n <div class=\"alert-body\">\n {{ alert.message }}\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.alert-container{position:fixed;top:20px;right:20px;max-width:400px;margin:10px auto;padding:15px;border-radius:4px;background-color:#f8d7da;color:#721c24;word-wrap:break-word;opacity:0;transform:translateY(-20px);transition:opacity .5s ease,transform .5s ease;display:flex;flex-direction:column;align-items:flex-start}.alert-container.show{opacity:1;transform:translateY(0)}.alert-container .close{position:absolute;top:10px;right:10px;background:none;border:none;font-size:20px;color:#000;opacity:.5;cursor:pointer;outline:none}.alert-container .close:hover{opacity:1}.alert-container .alert-header{display:flex;align-items:center;margin-bottom:5px}.alert-container .alert-icon{margin-right:10px;font-size:20px}.alert-container .alert-body{margin-left:30px}.alert-container .alert-icon.success-icon:before{content:\"\\2714\\fe0f\"}.alert-container .alert-icon.info-icon:before{content:\"\\2139\\fe0f\"}.alert-container .alert-icon.warning-icon:before{content:\"\\26a0\\fe0f\"}.alert-container .alert-icon.danger-icon:before{content:\"\\274c\"}.alert-success{background-color:#d4edda;color:#155724}.alert-info{background-color:#d8f4f7;color:#0c5460}.alert-warning{background-color:#fff3cd;color:#856404}.alert-danger{background-color:#fdd9d7;color:#721c24}\n"] }]
90
- }], propDecorators: { alerts: [{
211
+ args: [{ selector: 'sim-date-picker', template: `
212
+ <div class="form-group" [ngStyle]="{
213
+ 'margin-top': marginTop + 'rem',
214
+ 'margin-bottom': marginBottom + 'rem',
215
+ 'margin-left': marginLeft + 'rem',
216
+ 'margin-right': marginRight + 'rem'
217
+ }">
218
+ <label [for]="inputId" class="form-label">{{ label }}</label>
219
+ <input
220
+ [id]="inputId"
221
+ class="form-control"
222
+ type="date"
223
+ [(ngModel)]="value"
224
+ (ngModelChange)="onNgModelChange($event)"
225
+ [placeholder]="placeholder"
226
+ />
227
+ </div>
228
+ `, providers: [
229
+ {
230
+ provide: NG_VALUE_ACCESSOR,
231
+ useExisting: forwardRef(() => DatePickerComponent),
232
+ multi: true
233
+ }
234
+ ], styles: [".form-label{font-weight:700}\n"] }]
235
+ }], propDecorators: { inputId: [{
91
236
  type: Input
237
+ }], label: [{
238
+ type: Input
239
+ }], placeholder: [{
240
+ type: Input
241
+ }], marginTop: [{
242
+ type: Input
243
+ }], marginBottom: [{
244
+ type: Input
245
+ }], marginLeft: [{
246
+ type: Input
247
+ }], marginRight: [{
248
+ type: Input
249
+ }], ngModelChange: [{
250
+ type: Output
251
+ }] } });
252
+
253
+ class DateTimePickerComponent {
254
+ constructor() {
255
+ this.inputId = '';
256
+ this.label = '';
257
+ this.placeholder = '';
258
+ this.marginTop = 0;
259
+ this.marginBottom = 0;
260
+ this.marginLeft = 0;
261
+ this.marginRight = 0;
262
+ this.ngModelChange = new EventEmitter();
263
+ // ControlValueAccessor interface methods
264
+ this.onChange = () => { };
265
+ this.onTouched = () => { };
266
+ }
267
+ get value() {
268
+ return this._value;
269
+ }
270
+ set value(val) {
271
+ this._value = val;
272
+ this.onChange(val);
273
+ this.onTouched();
274
+ }
275
+ onNgModelChange(event) {
276
+ this.value = event;
277
+ this.ngModelChange.emit(event);
278
+ }
279
+ writeValue(value) {
280
+ this._value = value;
281
+ }
282
+ registerOnChange(fn) {
283
+ this.onChange = fn;
284
+ }
285
+ registerOnTouched(fn) {
286
+ this.onTouched = fn;
287
+ }
288
+ setDisabledState(isDisabled) {
289
+ // Logic for disabling the component
290
+ }
291
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateTimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
292
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DateTimePickerComponent, selector: "sim-date-time-picker", inputs: { inputId: "inputId", label: "label", placeholder: "placeholder", marginTop: "marginTop", marginBottom: "marginBottom", marginLeft: "marginLeft", marginRight: "marginRight" }, outputs: { ngModelChange: "ngModelChange" }, providers: [
293
+ {
294
+ provide: NG_VALUE_ACCESSOR,
295
+ useExisting: forwardRef(() => DateTimePickerComponent),
296
+ multi: true
297
+ }
298
+ ], ngImport: i0, template: `
299
+ <div class="form-group" [ngStyle]="{
300
+ 'margin-top': marginTop + 'rem',
301
+ 'margin-bottom': marginBottom + 'rem',
302
+ 'margin-left': marginLeft + 'rem',
303
+ 'margin-right': marginRight + 'rem'
304
+ }">
305
+ <label [for]="inputId" class="form-label">{{ label }}</label>
306
+ <input
307
+ [id]="inputId"
308
+ class="form-control"
309
+ type="datetime-local"
310
+ [(ngModel)]="value"
311
+ (ngModelChange)="onNgModelChange($event)"
312
+ [placeholder]="placeholder"
313
+ />
314
+ </div>
315
+ `, isInline: true, styles: [".form-label{font-weight:700}.custom-input{border:1px solid #9aa4b2;transition:border-color .3s,box-shadow .3s}.custom-input:hover{border-color:#2196f3;border-width:2px}.custom-input:focus{border-color:#2196f3;border-width:2px;box-shadow:0 0 5px #007bff80}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
316
+ }
317
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateTimePickerComponent, decorators: [{
318
+ type: Component,
319
+ args: [{ selector: 'sim-date-time-picker', template: `
320
+ <div class="form-group" [ngStyle]="{
321
+ 'margin-top': marginTop + 'rem',
322
+ 'margin-bottom': marginBottom + 'rem',
323
+ 'margin-left': marginLeft + 'rem',
324
+ 'margin-right': marginRight + 'rem'
325
+ }">
326
+ <label [for]="inputId" class="form-label">{{ label }}</label>
327
+ <input
328
+ [id]="inputId"
329
+ class="form-control"
330
+ type="datetime-local"
331
+ [(ngModel)]="value"
332
+ (ngModelChange)="onNgModelChange($event)"
333
+ [placeholder]="placeholder"
334
+ />
335
+ </div>
336
+ `, providers: [
337
+ {
338
+ provide: NG_VALUE_ACCESSOR,
339
+ useExisting: forwardRef(() => DateTimePickerComponent),
340
+ multi: true
341
+ }
342
+ ], changeDetection: ChangeDetectionStrategy.OnPush, styles: [".form-label{font-weight:700}.custom-input{border:1px solid #9aa4b2;transition:border-color .3s,box-shadow .3s}.custom-input:hover{border-color:#2196f3;border-width:2px}.custom-input:focus{border-color:#2196f3;border-width:2px;box-shadow:0 0 5px #007bff80}\n"] }]
343
+ }], propDecorators: { inputId: [{
344
+ type: Input
345
+ }], label: [{
346
+ type: Input
347
+ }], placeholder: [{
348
+ type: Input
349
+ }], marginTop: [{
350
+ type: Input
351
+ }], marginBottom: [{
352
+ type: Input
353
+ }], marginLeft: [{
354
+ type: Input
355
+ }], marginRight: [{
356
+ type: Input
357
+ }], ngModelChange: [{
358
+ type: Output
92
359
  }] } });
93
360
 
94
361
  var ButtonClasses;
@@ -271,8 +538,6 @@ class ButtonComponent {
271
538
  this.marginBottom = 0;
272
539
  this.marginLeft = 0;
273
540
  this.marginRight = 0;
274
- this.permissions = [];
275
- this.permissionChecker = null;
276
541
  this.clickEvent = new EventEmitter();
277
542
  this.isHovered = false;
278
543
  this.isActive = false;
@@ -347,57 +612,47 @@ class ButtonComponent {
347
612
  'filter': activeFilter
348
613
  };
349
614
  }
350
- hasPermission() {
351
- if (!this.permissionChecker || this.permissions.length === 0) {
352
- return true;
353
- }
354
- return this.permissionChecker(this.permissions);
355
- }
356
615
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
357
- 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: `
358
- <ng-container *ngIf="hasPermission()">
359
- <button [type]="type"
360
- class="btn"
361
- [ngClass]="btnClass"
362
- [ngStyle]="getDynamicStyles()"
363
- (click)="onClick($event)"
364
- [disabled]="disabled"
365
- [attr.autofocus]="autofocus ? true : null"
366
- [attr.form]="form"
367
- [attr.formaction]="formaction"
368
- [attr.formenctype]="formenctype"
369
- [attr.formmethod]="formmethod"
370
- [attr.formnovalidate]="formnovalidate"
371
- [attr.formtarget]="formtarget"
372
- [attr.name]="name"
373
- [attr.value]="value">
374
- {{ label }}
375
- </button>
376
- </ng-container>
377
- `, 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 }); }
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 }); }
378
635
  }
379
636
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonComponent, decorators: [{
380
637
  type: Component,
381
638
  args: [{ selector: 'sim-app-button', template: `
382
- <ng-container *ngIf="hasPermission()">
383
- <button [type]="type"
384
- class="btn"
385
- [ngClass]="btnClass"
386
- [ngStyle]="getDynamicStyles()"
387
- (click)="onClick($event)"
388
- [disabled]="disabled"
389
- [attr.autofocus]="autofocus ? true : null"
390
- [attr.form]="form"
391
- [attr.formaction]="formaction"
392
- [attr.formenctype]="formenctype"
393
- [attr.formmethod]="formmethod"
394
- [attr.formnovalidate]="formnovalidate"
395
- [attr.formtarget]="formtarget"
396
- [attr.name]="name"
397
- [attr.value]="value">
398
- {{ label }}
399
- </button>
400
- </ng-container>
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>
401
656
  `, 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"] }]
402
657
  }], propDecorators: { type: [{
403
658
  type: Input
@@ -435,10 +690,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
435
690
  type: Input
436
691
  }], marginRight: [{
437
692
  type: Input
438
- }], permissions: [{
439
- type: Input
440
- }], permissionChecker: [{
441
- type: Input
442
693
  }], clickEvent: [{
443
694
  type: Output
444
695
  }], onMouseEnter: [{
@@ -649,67 +900,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
649
900
  class FormComponent {
650
901
  constructor() {
651
902
  this.cardTitle = 'Default Form Title';
652
- this.colClasses = 'col-12'; // Classes de coluna responsiva
653
- // Valores de margem dinâmica
654
- this.marginTop = 0; // Em rem
655
- this.marginLeft = 0; // Em rem
656
- this.marginRight = 0; // Em rem
657
- }
658
- getRowStyles() {
659
- return {
660
- 'margin-top': `${this.marginTop}rem`,
661
- 'margin-left': `${this.marginLeft}rem`,
662
- 'margin-right': `${this.marginRight}rem`
663
- };
664
903
  }
665
904
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
666
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormComponent, selector: "sim-app-form", inputs: { cardTitle: "cardTitle", colClasses: "colClasses", marginTop: "marginTop", marginLeft: "marginLeft", marginRight: "marginRight" }, ngImport: i0, template: `
667
- <div class="row" [ngStyle]="getRowStyles()">
668
- <div [ngClass]="colClasses">
669
- <div class="card">
670
- <div class="card-title">
671
- {{ cardTitle }}
672
- </div>
673
- <div class="card-content">
674
- <ng-content></ng-content>
675
- </div>
676
- </div>
905
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormComponent, selector: "sim-app-form", inputs: { cardTitle: "cardTitle" }, ngImport: i0, template: `
906
+ <div class="row mt-2 mx-1">
907
+ <div class="col-sm-12">
908
+ <sim-app-card [cardTitle]="cardTitle">
909
+ <ng-content></ng-content>
910
+ </sim-app-card>
677
911
  </div>
678
912
  </div>
679
- `, isInline: true, styles: [".row{margin-top:.5rem;margin-left:.25rem;margin-right:.25rem}.col-12{padding:0}.card{border:1px solid #ddd;border-radius:.25rem;padding:1rem}.card-title{font-family:Inter,sans-serif;font-size:42px;font-weight:700;line-height:50.83px;text-align:left;width:98%;height:51px;gap:0px;opacity:0px;margin-bottom:1rem}.card-content{font-family:Arial,sans-serif}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
913
+ `, isInline: true, dependencies: [{ kind: "component", type: CardComponent, selector: "sim-app-card", inputs: ["cardTitle"] }] }); }
680
914
  }
681
915
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormComponent, decorators: [{
682
916
  type: Component,
683
- args: [{ selector: 'sim-app-form', template: `
684
- <div class="row" [ngStyle]="getRowStyles()">
685
- <div [ngClass]="colClasses">
686
- <div class="card">
687
- <div class="card-title">
688
- {{ cardTitle }}
689
- </div>
690
- <div class="card-content">
691
- <ng-content></ng-content>
692
- </div>
693
- </div>
917
+ args: [{
918
+ selector: 'sim-app-form',
919
+ template: `
920
+ <div class="row mt-2 mx-1">
921
+ <div class="col-sm-12">
922
+ <sim-app-card [cardTitle]="cardTitle">
923
+ <ng-content></ng-content>
924
+ </sim-app-card>
694
925
  </div>
695
926
  </div>
696
- `, styles: [".row{margin-top:.5rem;margin-left:.25rem;margin-right:.25rem}.col-12{padding:0}.card{border:1px solid #ddd;border-radius:.25rem;padding:1rem}.card-title{font-family:Inter,sans-serif;font-size:42px;font-weight:700;line-height:50.83px;text-align:left;width:98%;height:51px;gap:0px;opacity:0px;margin-bottom:1rem}.card-content{font-family:Arial,sans-serif}\n"] }]
927
+ `
928
+ }]
697
929
  }], propDecorators: { cardTitle: [{
698
930
  type: Input
699
- }], colClasses: [{
700
- type: Input
701
- }], marginTop: [{
702
- type: Input
703
- }], marginLeft: [{
704
- type: Input
705
- }], marginRight: [{
706
- type: Input
707
931
  }] } });
708
932
 
709
933
  class InputComponent {
710
934
  constructor() {
711
935
  this.label = 'Default Label';
712
- this.placeholder = '';
936
+ this.placeholder = 'Default Placeholder';
713
937
  this.id = 'inputId';
714
938
  this.type = 'text';
715
939
  this.disabled = false;
@@ -723,9 +947,6 @@ class InputComponent {
723
947
  this.marginBottom = 0;
724
948
  this.marginLeft = 0;
725
949
  this.marginRight = 0;
726
- this.labelFontWeight = 400;
727
- this.permissions = [];
728
- this.permissionChecker = null;
729
950
  this.inputEvent = new EventEmitter();
730
951
  this.changeEvent = new EventEmitter();
731
952
  this.focusEvent = new EventEmitter();
@@ -774,47 +995,26 @@ class InputComponent {
774
995
  setDisabledState(isDisabled) {
775
996
  this.disabled = isDisabled;
776
997
  }
777
- hasPermission() {
778
- if (!this.permissionChecker || this.permissions.length === 0) {
779
- return true;
780
- }
781
- return this.permissionChecker(this.permissions);
782
- }
783
- getLabelStyles() {
784
- return {
785
- 'font-weight': this.labelFontWeight,
786
- 'width': '623px',
787
- 'height': '19px',
788
- 'top': '1608px',
789
- 'left': '133px',
790
- 'gap': '0px',
791
- 'opacity': '0px',
792
- 'font-family': 'Inter',
793
- 'font-size': '16px',
794
- 'line-height': '19.36px',
795
- 'text-align': 'left'
796
- };
797
- }
798
998
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
799
- 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: [
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: [
800
1000
  {
801
1001
  provide: NG_VALUE_ACCESSOR,
802
1002
  useExisting: forwardRef(() => InputComponent),
803
1003
  multi: true
804
1004
  }
805
1005
  ], ngImport: i0, template: `
806
- <div *ngIf="hasPermission()" class="form-group" [ngStyle]="{
1006
+ <div class="form-group" [ngStyle]="{
807
1007
  'margin-top': marginTop + 'rem',
808
1008
  'margin-bottom': marginBottom + 'rem',
809
1009
  'margin-left': marginLeft + 'rem',
810
1010
  'margin-right': marginRight + 'rem'
811
1011
  }">
812
- <label [for]="id" [ngStyle]="getLabelStyles()">{{ label }}</label>
1012
+ <label [for]="id">{{ label }}</label>
813
1013
  <input [type]="type"
814
1014
  class="form-control custom-input"
815
1015
  [id]="id"
816
1016
  [placeholder]="placeholder"
817
- [(ngModel)]="value"
1017
+ [value]="value"
818
1018
  (input)="onInput($event)"
819
1019
  (change)="onChange($event)"
820
1020
  (focus)="onFocus($event)"
@@ -830,23 +1030,23 @@ class InputComponent {
830
1030
  [attr.pattern]="pattern"
831
1031
  [autofocus]="autofocus">
832
1032
  </div>
833
- `, 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"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
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 }); }
834
1034
  }
835
1035
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputComponent, decorators: [{
836
1036
  type: Component,
837
1037
  args: [{ selector: 'sim-app-input', template: `
838
- <div *ngIf="hasPermission()" class="form-group" [ngStyle]="{
1038
+ <div class="form-group" [ngStyle]="{
839
1039
  'margin-top': marginTop + 'rem',
840
1040
  'margin-bottom': marginBottom + 'rem',
841
1041
  'margin-left': marginLeft + 'rem',
842
1042
  'margin-right': marginRight + 'rem'
843
1043
  }">
844
- <label [for]="id" [ngStyle]="getLabelStyles()">{{ label }}</label>
1044
+ <label [for]="id">{{ label }}</label>
845
1045
  <input [type]="type"
846
1046
  class="form-control custom-input"
847
1047
  [id]="id"
848
1048
  [placeholder]="placeholder"
849
- [(ngModel)]="value"
1049
+ [value]="value"
850
1050
  (input)="onInput($event)"
851
1051
  (change)="onChange($event)"
852
1052
  (focus)="onFocus($event)"
@@ -868,7 +1068,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
868
1068
  useExisting: forwardRef(() => InputComponent),
869
1069
  multi: true
870
1070
  }
871
- ], 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"] }]
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"] }]
872
1072
  }], propDecorators: { label: [{
873
1073
  type: Input
874
1074
  }], placeholder: [{
@@ -899,12 +1099,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
899
1099
  type: Input
900
1100
  }], marginRight: [{
901
1101
  type: Input
902
- }], labelFontWeight: [{
903
- type: Input
904
- }], permissions: [{
905
- type: Input
906
- }], permissionChecker: [{
907
- type: Input
908
1102
  }], inputEvent: [{
909
1103
  type: Output
910
1104
  }], changeEvent: [{
@@ -998,7 +1192,7 @@ class MultiSelectComponent {
998
1192
  </ng-template>
999
1193
  </ng-select>
1000
1194
  </div>
1001
- `, isInline: true, styles: [".form-group{font-family:Arial,sans-serif;font-size:1rem}.form-label{font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1195
+ `, isInline: true, styles: [".form-group{font-family:Arial,sans-serif;font-size:1rem}.form-label{font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3$1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1002
1196
  }
1003
1197
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MultiSelectComponent, decorators: [{
1004
1198
  type: Component,
@@ -1344,7 +1538,7 @@ class BootstrapTableComponent {
1344
1538
  }
1345
1539
  }
1346
1540
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BootstrapTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1347
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BootstrapTableComponent, selector: "sim-bootstrap-table", inputs: { columns: "columns", data: "data", itemsPerPageOptions: "itemsPerPageOptions", defaultItemsPerPage: "defaultItemsPerPage", marginTop: "marginTop", marginBottom: "marginBottom", marginLeft: "marginLeft", marginRight: "marginRight", showActionColumn: "showActionColumn", actionColumnLabel: "actionColumnLabel" }, outputs: { sortChange: "sortChange", pageChange: "pageChange", itemsPerPageChange: "itemsPerPageChange", onEditTable: "onEditTable", onDeleteTable: "onDeleteTable", onViewTable: "onViewTable" }, usesOnChanges: true, ngImport: i0, template: "<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\u00E1gina:</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\u00F3ximo\" [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", styles: ["", "\n .table thead th {\n background-color: #343a40; /* Tom de cinza escuro */\n color: #fff;\n }\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.PaginationControlsComponent, selector: "pagination-controls", inputs: ["id", "maxSize", "directionLinks", "autoHide", "responsive", "previousLabel", "nextLabel", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], outputs: ["pageChange", "pageBoundsCorrection"] }, { kind: "pipe", type: i3$1.PaginatePipe, name: "paginate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1541
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BootstrapTableComponent, selector: "sim-bootstrap-table", inputs: { columns: "columns", data: "data", itemsPerPageOptions: "itemsPerPageOptions", defaultItemsPerPage: "defaultItemsPerPage", marginTop: "marginTop", marginBottom: "marginBottom", marginLeft: "marginLeft", marginRight: "marginRight", showActionColumn: "showActionColumn", actionColumnLabel: "actionColumnLabel" }, outputs: { sortChange: "sortChange", pageChange: "pageChange", itemsPerPageChange: "itemsPerPageChange", onEditTable: "onEditTable", onDeleteTable: "onDeleteTable", onViewTable: "onViewTable" }, usesOnChanges: true, ngImport: i0, template: "<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\u00E1gina:</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\u00F3ximo\" [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", styles: ["", "\n .table thead th {\n background-color: #343a40; /* Tom de cinza escuro */\n color: #fff;\n }\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$2.PaginationControlsComponent, selector: "pagination-controls", inputs: ["id", "maxSize", "directionLinks", "autoHide", "responsive", "previousLabel", "nextLabel", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], outputs: ["pageChange", "pageBoundsCorrection"] }, { kind: "pipe", type: i3$2.PaginatePipe, name: "paginate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1348
1542
  }
1349
1543
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BootstrapTableComponent, decorators: [{
1350
1544
  type: Component,
@@ -1563,33 +1757,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1563
1757
  type: Output
1564
1758
  }] } });
1565
1759
 
1566
- class NotificationService {
1567
- constructor(appRef, injector) {
1568
- this.appRef = appRef;
1569
- this.injector = injector;
1570
- this.alertsSubject = new Subject();
1571
- this.alerts$ = this.alertsSubject.asObservable();
1572
- }
1573
- showAlert(type, title, message) {
1574
- const alert = { type, title, message };
1575
- this.alertsSubject.next(alert);
1576
- // Create the alert component dynamically
1577
- const componentRef = createComponent(AlertComponent, { environmentInjector: this.appRef.injector });
1578
- componentRef.instance.alerts = [alert];
1579
- this.appRef.attachView(componentRef.hostView);
1580
- const domElem = componentRef.hostView.rootNodes[0];
1581
- document.body.appendChild(domElem);
1582
- }
1583
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationService, deps: [{ token: i0.ApplicationRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
1584
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationService, providedIn: 'root' }); }
1585
- }
1586
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationService, decorators: [{
1587
- type: Injectable,
1588
- args: [{
1589
- providedIn: 'root'
1590
- }]
1591
- }], ctorParameters: function () { return [{ type: i0.ApplicationRef }, { type: i0.Injector }]; } });
1592
-
1593
1760
  class ComponentsModule {
1594
1761
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1595
1762
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ComponentsModule, declarations: [ButtonComponent,
@@ -1601,14 +1768,15 @@ class ComponentsModule {
1601
1768
  SelectComponent,
1602
1769
  RadioComponent,
1603
1770
  MultiSelectComponent,
1771
+ CalendarComponent,
1772
+ DatePickerComponent,
1773
+ DateTimePickerComponent,
1604
1774
  BootstrapTableComponent,
1605
1775
  CodeHighlightComponent,
1606
- BadgeComponent,
1607
- AlertComponent], imports: [CommonModule,
1776
+ BadgeComponent], imports: [CommonModule,
1608
1777
  FormsModule,
1609
1778
  ReactiveFormsModule,
1610
- NgSelectModule,
1611
- NgxPaginationModule], exports: [ButtonComponent,
1779
+ NgSelectModule, i3.FlatpickrModule, NgxPaginationModule], exports: [ButtonComponent,
1612
1780
  CardComponent,
1613
1781
  FormComponent,
1614
1782
  InputComponent,
@@ -1620,16 +1788,17 @@ class ComponentsModule {
1620
1788
  FormsModule,
1621
1789
  ReactiveFormsModule,
1622
1790
  NgSelectModule,
1791
+ CalendarComponent,
1792
+ DatePickerComponent,
1793
+ DateTimePickerComponent,
1623
1794
  BootstrapTableComponent,
1624
1795
  CodeHighlightComponent,
1625
- BadgeComponent,
1626
- AlertComponent] }); }
1627
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ComponentsModule, providers: [
1628
- NotificationService
1629
- ], imports: [CommonModule,
1796
+ BadgeComponent] }); }
1797
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ComponentsModule, imports: [CommonModule,
1630
1798
  FormsModule,
1631
1799
  ReactiveFormsModule,
1632
1800
  NgSelectModule,
1801
+ FlatpickrModule.forRoot(),
1633
1802
  NgxPaginationModule, FormsModule,
1634
1803
  ReactiveFormsModule,
1635
1804
  NgSelectModule] }); }
@@ -1647,17 +1816,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1647
1816
  SelectComponent,
1648
1817
  RadioComponent,
1649
1818
  MultiSelectComponent,
1819
+ CalendarComponent,
1820
+ DatePickerComponent,
1821
+ DateTimePickerComponent,
1650
1822
  BootstrapTableComponent,
1651
1823
  CodeHighlightComponent,
1652
- BadgeComponent,
1653
- AlertComponent,
1824
+ BadgeComponent
1654
1825
  ],
1655
1826
  imports: [
1656
1827
  CommonModule,
1657
1828
  FormsModule,
1658
1829
  ReactiveFormsModule,
1659
1830
  NgSelectModule,
1660
- NgxPaginationModule,
1831
+ FlatpickrModule.forRoot(),
1832
+ NgxPaginationModule
1661
1833
  ],
1662
1834
  exports: [
1663
1835
  ButtonComponent,
@@ -1672,14 +1844,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1672
1844
  FormsModule,
1673
1845
  ReactiveFormsModule,
1674
1846
  NgSelectModule,
1847
+ CalendarComponent,
1848
+ DatePickerComponent,
1849
+ DateTimePickerComponent,
1675
1850
  BootstrapTableComponent,
1676
1851
  CodeHighlightComponent,
1677
- BadgeComponent,
1678
- AlertComponent
1679
- ],
1680
- providers: [
1681
- NotificationService
1682
- ],
1852
+ BadgeComponent
1853
+ ]
1683
1854
  }]
1684
1855
  }] });
1685
1856
 
@@ -1712,5 +1883,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1712
1883
  * Generated bundle index. Do not edit.
1713
1884
  */
1714
1885
 
1715
- export { AlertComponent, BadgeComponent, BootstrapTableComponent, ButtonClasses, ButtonComponent, CardComponent, CheckboxComponent, CodeHighlightComponent, ComponentsModule, FormComponent, InputComponent, LibPortalAngularModule, MultiSelectComponent, NotificationService, RadioComponent, SelectComponent, TextareaComponent };
1886
+ export { BadgeComponent, BootstrapTableComponent, ButtonClasses, ButtonComponent, CalendarComponent, CardComponent, CheckboxComponent, CodeHighlightComponent, ComponentsModule, DatePickerComponent, DateTimePickerComponent, FormComponent, InputComponent, LibPortalAngularModule, MultiSelectComponent, RadioComponent, SelectComponent, TextareaComponent };
1716
1887
  //# sourceMappingURL=lib-portal-angular.mjs.map