lib-portal-angular 0.0.22 → 0.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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