@sapphire-ion/framework 1.2.59 → 1.2.61
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.
- package/esm2022/lib/components/carousel/carousel-image/carousel-image.component.mjs +3 -3
- package/esm2022/lib/components/carousel/carousel-item/carousel-item.component.mjs +3 -3
- package/esm2022/lib/components/carousel/carousel.component.mjs +3 -3
- package/esm2022/lib/components/carousel/carousel.module.mjs +4 -4
- package/esm2022/lib/components/carousel/i-carousel-item.component.mjs +3 -3
- package/esm2022/lib/components/content-block/content-block.component.mjs +3 -3
- package/esm2022/lib/components/default/default-list/abstract-list.mjs +3 -3
- package/esm2022/lib/components/default/default-list/default-list.component.mjs +3 -3
- package/esm2022/lib/components/default/default-list/header-list/header-list.component.mjs +3 -3
- package/esm2022/lib/components/default/default-list/list.mjs +3 -3
- package/esm2022/lib/components/default/default-pagination/default-pagination.component.mjs +3 -3
- package/esm2022/lib/components/default/default-table/default-table.component.mjs +3 -3
- package/esm2022/lib/components/default/default-table/th-filter/th-filter.component.mjs +3 -3
- package/esm2022/lib/components/default/default-view/abstract-view.mjs +3 -3
- package/esm2022/lib/components/default/default-view/default-view.component.mjs +3 -3
- package/esm2022/lib/components/default/default-view/header-view/header-view.component.mjs +11 -18
- package/esm2022/lib/components/default/default-view/view.mjs +3 -3
- package/esm2022/lib/components/default/default.module.mjs +4 -4
- package/esm2022/lib/components/default-page/default.page.mjs +3 -3
- package/esm2022/lib/components/drag-drop-file/drag-drop-file.directive.mjs +3 -3
- package/esm2022/lib/components/drag-drop-file/drag-drop-file.module.mjs +4 -4
- package/esm2022/lib/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.mjs +3 -3
- package/esm2022/lib/components/drawer/default-drawer-end/default-drawer-end.component.mjs +3 -3
- package/esm2022/lib/components/drawer/drawer-group/drawer-group.component.mjs +3 -3
- package/esm2022/lib/components/drawer/drawer.component.mjs +3 -3
- package/esm2022/lib/components/filter/filter.component.mjs +3 -3
- package/esm2022/lib/components/http-responses-pages/forbidden-403/forbidden-403.component.mjs +3 -3
- package/esm2022/lib/components/image/image.component.mjs +3 -3
- package/esm2022/lib/components/info-popover/info-popover.component.mjs +3 -3
- package/esm2022/lib/components/inputs/custom-input.mjs +3 -3
- package/esm2022/lib/components/inputs/input-bool/input-bool.component.mjs +3 -3
- package/esm2022/lib/components/inputs/input-cep/input-cep.component.mjs +3 -3
- package/esm2022/lib/components/inputs/input-color/input-color.component.mjs +3 -3
- package/esm2022/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.mjs +3 -3
- package/esm2022/lib/components/inputs/input-date/input-date.component.mjs +27 -7
- package/esm2022/lib/components/inputs/input-date/input-date.configuration.mjs +5 -2
- package/esm2022/lib/components/inputs/input-decimal/input-decimal.component.mjs +42 -9
- package/esm2022/lib/components/inputs/input-file/download-button/download-button.component.mjs +3 -3
- package/esm2022/lib/components/inputs/input-file/input-file.component.mjs +3 -3
- package/esm2022/lib/components/inputs/input-icon/input-icon.component.mjs +3 -3
- package/esm2022/lib/components/inputs/input-select/directives/sion-label-template.directive.mjs +3 -3
- package/esm2022/lib/components/inputs/input-select/directives/sion-option-template.directive.mjs +3 -3
- package/esm2022/lib/components/inputs/input-select/directives/sion-placeholder-template.directive.mjs +3 -3
- package/esm2022/lib/components/inputs/input-select/input-select.component.mjs +13 -10
- package/esm2022/lib/components/inputs/input-select/input.select.configuration.mjs +7 -3
- package/esm2022/lib/components/inputs/input-string/input-string.component.mjs +3 -3
- package/esm2022/lib/components/inputs/input-telefone/input-telefone.component.mjs +3 -3
- package/esm2022/lib/components/inputs/input-textarea/input-textarea.component.mjs +3 -3
- package/esm2022/lib/components/inputs/inputs.module.mjs +4 -4
- package/esm2022/lib/components/loading/loading.component.mjs +3 -3
- package/esm2022/lib/components/login/login-admin/login-admin.component.mjs +3 -3
- package/esm2022/lib/components/login/login.component.mjs +3 -3
- package/esm2022/lib/components/main-content/main-content.component.mjs +3 -3
- package/esm2022/lib/components/popover/sion-popover/sion-popover.component.mjs +3 -3
- package/esm2022/lib/components/popover/sion-popover.module.mjs +4 -4
- package/esm2022/lib/components/sion-card/sion-card.component.mjs +3 -3
- package/esm2022/lib/components/stepper/step/step.component.mjs +3 -3
- package/esm2022/lib/components/stepper/stepper.component.mjs +3 -3
- package/esm2022/lib/components/stepper/stepper.module.mjs +4 -4
- package/esm2022/lib/components/tabs/tab/tab.component.mjs +3 -3
- package/esm2022/lib/components/tabs/tabs/tabs.component.mjs +3 -3
- package/esm2022/lib/components/tabs/tabs.module.mjs +4 -4
- package/esm2022/lib/components/text-tooltip/text-tooltip.component.mjs +3 -3
- package/esm2022/lib/components/tooltip/tooltip.component.mjs +3 -3
- package/esm2022/lib/core.module.mjs +4 -4
- package/esm2022/lib/directives/ng-var.directive.mjs +3 -3
- package/esm2022/lib/guards/auth.guard.mjs +3 -3
- package/esm2022/lib/guards/error.interceptor.mjs +3 -3
- package/esm2022/lib/guards/token.interceptor.mjs +3 -3
- package/esm2022/lib/index.mjs +2 -1
- package/esm2022/lib/pipes/secure.pipe.mjs +3 -3
- package/esm2022/lib/services/auth.service.mjs +3 -3
- package/esm2022/lib/services/environment.service.mjs +3 -3
- package/esm2022/lib/services/generic.service.mjs +3 -3
- package/esm2022/lib/services/modal-focus-trap.service.mjs +3 -3
- package/esm2022/lib/services/navigation-context.service.mjs +100 -0
- package/esm2022/lib/services/popover-focus-trap.service.mjs +3 -3
- package/esm2022/lib/services/route/route.provider.service.mjs +3 -3
- package/esm2022/lib/services/usuario.service.mjs +3 -3
- package/esm2022/lib/services/utils.service.mjs +3 -3
- package/esm2022/lib/services/web/api-url-provider.service.mjs +3 -3
- package/esm2022/lib/services/web/http.ativo.service.mjs +3 -3
- package/esm2022/lib/services/web/http.service.mjs +11 -6
- package/esm2022/lib/services/web/storage.service.mjs +3 -3
- package/fesm2022/sapphire-ion-framework.mjs +437 -283
- package/fesm2022/sapphire-ion-framework.mjs.map +1 -1
- package/lib/components/default/default-view/header-view/header-view.component.d.ts +3 -1
- package/lib/components/inputs/input-date/input-date.configuration.d.ts +5 -1
- package/lib/components/inputs/input-decimal/input-decimal.component.d.ts +4 -3
- package/lib/components/inputs/input-select/input-select.component.d.ts +1 -1
- package/lib/components/inputs/input-select/input.select.configuration.d.ts +6 -1
- package/lib/index.d.ts +1 -0
- package/lib/services/navigation-context.service.d.ts +14 -0
- package/package.json +1 -1
- package/themes/components/inputs/input-decimal/input-decimal.component.scss +1 -1
|
@@ -8,7 +8,7 @@ import moment from 'moment';
|
|
|
8
8
|
import { Buffer } from 'buffer';
|
|
9
9
|
import mime from 'mime';
|
|
10
10
|
import { Capacitor } from '@capacitor/core';
|
|
11
|
-
import { BehaviorSubject, firstValueFrom, from, switchMap, Subject, takeUntil, distinctUntilChanged, debounceTime, lastValueFrom, Observable, tap, finalize, share, catchError } from 'rxjs';
|
|
11
|
+
import { BehaviorSubject, firstValueFrom, from, switchMap, Subject, takeUntil, distinctUntilChanged, debounceTime, filter, lastValueFrom, Observable, tap, finalize, share, catchError } from 'rxjs';
|
|
12
12
|
import * as i1$1 from '@angular/common/http';
|
|
13
13
|
import { HttpClient, HttpEventType, HttpHeaders } from '@angular/common/http';
|
|
14
14
|
import * as i2$1 from '@angular/forms';
|
|
@@ -19,7 +19,7 @@ import * as i2 from '@angular/platform-browser';
|
|
|
19
19
|
import { Preferences } from '@capacitor/preferences';
|
|
20
20
|
import { jwtDecode } from 'jwt-decode';
|
|
21
21
|
import * as i2$2 from '@angular/router';
|
|
22
|
-
import { ActivatedRoute, RouterLinkWithHref, RouterModule, RouterOutlet, RouterLink } from '@angular/router';
|
|
22
|
+
import { NavigationEnd, ActivatedRoute, RouterLinkWithHref, RouterModule, RouterOutlet, RouterLink } from '@angular/router';
|
|
23
23
|
import { maskitoTransform } from '@maskito/core';
|
|
24
24
|
import { maskitoPhoneOptionsGenerator } from '@maskito/phone';
|
|
25
25
|
import metadata from 'libphonenumber-js/min/metadata';
|
|
@@ -372,10 +372,10 @@ class UtilsService {
|
|
|
372
372
|
return files.map(p => p.blob)[0];
|
|
373
373
|
}
|
|
374
374
|
}
|
|
375
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
376
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
375
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UtilsService, deps: [{ token: i1.ActionSheetController }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
376
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UtilsService, providedIn: 'root' }); }
|
|
377
377
|
}
|
|
378
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
378
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UtilsService, decorators: [{
|
|
379
379
|
type: Injectable,
|
|
380
380
|
args: [{
|
|
381
381
|
providedIn: 'root'
|
|
@@ -680,10 +680,10 @@ class ModalFocusTrapService {
|
|
|
680
680
|
modalElement.disableFocusTrap = true;
|
|
681
681
|
}
|
|
682
682
|
}
|
|
683
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
684
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
683
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ModalFocusTrapService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
684
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ModalFocusTrapService, providedIn: 'root' }); }
|
|
685
685
|
}
|
|
686
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
686
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ModalFocusTrapService, decorators: [{
|
|
687
687
|
type: Injectable,
|
|
688
688
|
args: [{
|
|
689
689
|
providedIn: 'root'
|
|
@@ -740,10 +740,10 @@ class PopoverFocusTrapService {
|
|
|
740
740
|
popoverElement.disableFocusTrap = true;
|
|
741
741
|
}
|
|
742
742
|
}
|
|
743
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
744
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
743
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PopoverFocusTrapService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
744
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PopoverFocusTrapService, providedIn: 'root' }); }
|
|
745
745
|
}
|
|
746
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
746
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PopoverFocusTrapService, decorators: [{
|
|
747
747
|
type: Injectable,
|
|
748
748
|
args: [{
|
|
749
749
|
providedIn: 'root'
|
|
@@ -766,11 +766,11 @@ class SapphireIonFrameworkModule {
|
|
|
766
766
|
]
|
|
767
767
|
};
|
|
768
768
|
}
|
|
769
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
770
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
771
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
769
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SapphireIonFrameworkModule, deps: [{ token: ModalFocusTrapService }, { token: PopoverFocusTrapService }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
770
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: SapphireIonFrameworkModule, imports: [CommonModule] }); }
|
|
771
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SapphireIonFrameworkModule, providers: [ModalFocusTrapService, PopoverFocusTrapService], imports: [CommonModule] }); }
|
|
772
772
|
}
|
|
773
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
773
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SapphireIonFrameworkModule, decorators: [{
|
|
774
774
|
type: NgModule,
|
|
775
775
|
args: [{
|
|
776
776
|
declarations: [],
|
|
@@ -820,10 +820,10 @@ class EnvironmentService {
|
|
|
820
820
|
get environment() {
|
|
821
821
|
return this._environment;
|
|
822
822
|
}
|
|
823
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
824
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
823
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EnvironmentService, deps: [{ token: EnvironmentInjectionToken }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
824
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EnvironmentService, providedIn: 'root' }); }
|
|
825
825
|
}
|
|
826
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
826
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EnvironmentService, decorators: [{
|
|
827
827
|
type: Injectable,
|
|
828
828
|
args: [{
|
|
829
829
|
providedIn: 'root'
|
|
@@ -848,10 +848,10 @@ class ApiUrlProviderService {
|
|
|
848
848
|
this._apiUrl = value;
|
|
849
849
|
}
|
|
850
850
|
get production() { return this._production; }
|
|
851
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
852
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
851
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ApiUrlProviderService, deps: [{ token: EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
852
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ApiUrlProviderService, providedIn: 'root' }); }
|
|
853
853
|
}
|
|
854
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
854
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ApiUrlProviderService, decorators: [{
|
|
855
855
|
type: Injectable,
|
|
856
856
|
args: [{
|
|
857
857
|
providedIn: 'root'
|
|
@@ -924,10 +924,10 @@ class GenericService {
|
|
|
924
924
|
return null;
|
|
925
925
|
}
|
|
926
926
|
}
|
|
927
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
928
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
927
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GenericService, deps: [{ token: i1.ToastController }, { token: i1.AlertController }, { token: i2.Title }, { token: EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
928
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GenericService, providedIn: 'root' }); }
|
|
929
929
|
}
|
|
930
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
930
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GenericService, decorators: [{
|
|
931
931
|
type: Injectable,
|
|
932
932
|
args: [{
|
|
933
933
|
providedIn: 'root'
|
|
@@ -1062,8 +1062,13 @@ class HttpService {
|
|
|
1062
1062
|
if (!redirectPath) {
|
|
1063
1063
|
return;
|
|
1064
1064
|
}
|
|
1065
|
-
const path = redirectPath.replace(
|
|
1066
|
-
this.navController.navigateRoot([`../${path}`], {
|
|
1065
|
+
const path = redirectPath.replace(':id', id.toString());
|
|
1066
|
+
this.navController.navigateRoot([`../${path}`], {
|
|
1067
|
+
relativeTo: activatedRoute,
|
|
1068
|
+
state: {
|
|
1069
|
+
__preserveBack: true
|
|
1070
|
+
}
|
|
1071
|
+
});
|
|
1067
1072
|
}
|
|
1068
1073
|
FilesToForm(object, formData = new FormData(), lstTableFieldsView = null) {
|
|
1069
1074
|
if (!lstTableFieldsView) {
|
|
@@ -1081,10 +1086,10 @@ class HttpService {
|
|
|
1081
1086
|
}
|
|
1082
1087
|
return formData;
|
|
1083
1088
|
}
|
|
1084
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
1085
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
1089
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HttpService, deps: [{ token: i1$1.HttpClient }, { token: i2$1.FormBuilder }, { token: GenericService }, { token: i1.NavController }, { token: ApiUrlProviderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1090
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HttpService, providedIn: 'root' }); }
|
|
1086
1091
|
}
|
|
1087
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
1092
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HttpService, decorators: [{
|
|
1088
1093
|
type: Injectable,
|
|
1089
1094
|
args: [{
|
|
1090
1095
|
providedIn: 'root'
|
|
@@ -1133,10 +1138,10 @@ class HttpServiceAtivo extends HttpService {
|
|
|
1133
1138
|
field.configuration = new InputBoolConfiguration(InputBoolType.Toggle);
|
|
1134
1139
|
return field;
|
|
1135
1140
|
}
|
|
1136
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
1137
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
1141
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HttpServiceAtivo, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1142
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HttpServiceAtivo, providedIn: 'root' }); }
|
|
1138
1143
|
}
|
|
1139
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
1144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HttpServiceAtivo, decorators: [{
|
|
1140
1145
|
type: Injectable,
|
|
1141
1146
|
args: [{
|
|
1142
1147
|
providedIn: 'root'
|
|
@@ -1155,7 +1160,7 @@ var SelectInterfaces;
|
|
|
1155
1160
|
})(SelectInterfaces || (SelectInterfaces = {}));
|
|
1156
1161
|
class InputSelectConfiguration {
|
|
1157
1162
|
static Create(options) {
|
|
1158
|
-
const config = new InputSelectConfiguration(options.bindValue, options.bindLabel, options.clearable, options.searcheable, options.loadFrom, options.multiple, options.vFiltros || null, options.disableConditional || null);
|
|
1163
|
+
const config = new InputSelectConfiguration(options.bindValue, options.bindLabel, options.clearable, options.searcheable, options.loadFrom, options.multiple, options.vFiltros || null, options.disableConditional || null, options.hasAtivo);
|
|
1159
1164
|
if (options.placeholder) {
|
|
1160
1165
|
config.placeholder = options.placeholder;
|
|
1161
1166
|
}
|
|
@@ -1168,6 +1173,7 @@ class InputSelectConfiguration {
|
|
|
1168
1173
|
if (options.interface) {
|
|
1169
1174
|
config.interface = options.interface;
|
|
1170
1175
|
}
|
|
1176
|
+
config.hasAtivo = options.hasAtivo ?? false;
|
|
1171
1177
|
return config;
|
|
1172
1178
|
}
|
|
1173
1179
|
;
|
|
@@ -1191,7 +1197,9 @@ class InputSelectConfiguration {
|
|
|
1191
1197
|
/** Aplica os filtros na pesquisa */
|
|
1192
1198
|
vFiltros = null,
|
|
1193
1199
|
/** Desativa os items que estão de acordo com a função */
|
|
1194
|
-
disableConditional = null
|
|
1200
|
+
disableConditional = null,
|
|
1201
|
+
/** Habilita o filtro de somente ativos */
|
|
1202
|
+
hasAtivo = false) {
|
|
1195
1203
|
this.bindValue = bindValue;
|
|
1196
1204
|
this.bindLabel = bindLabel;
|
|
1197
1205
|
this.clearable = clearable;
|
|
@@ -1199,6 +1207,7 @@ class InputSelectConfiguration {
|
|
|
1199
1207
|
this.loadFrom = loadFrom;
|
|
1200
1208
|
this.multiple = multiple;
|
|
1201
1209
|
this.disableConditional = disableConditional;
|
|
1210
|
+
this.hasAtivo = hasAtivo;
|
|
1202
1211
|
this.placeholder = "Selecione um item...";
|
|
1203
1212
|
this.noItensFoundText = "Sem items encontrados...";
|
|
1204
1213
|
this.popoverConfiguration = {
|
|
@@ -1370,8 +1379,11 @@ function BindLabelFactory(configuration) {
|
|
|
1370
1379
|
class InputDateConfiguration {
|
|
1371
1380
|
constructor(
|
|
1372
1381
|
/** Habilita o botão de limpar os dados */
|
|
1373
|
-
clearable = false
|
|
1382
|
+
clearable = false,
|
|
1383
|
+
/** Caso o Input for DateTime, pode inserir o parametro para setar hora do momento atual */
|
|
1384
|
+
setHourMoment = false) {
|
|
1374
1385
|
this.clearable = clearable;
|
|
1386
|
+
this.setHourMoment = setHourMoment;
|
|
1375
1387
|
}
|
|
1376
1388
|
}
|
|
1377
1389
|
|
|
@@ -1620,10 +1632,10 @@ class ICarouselItem {
|
|
|
1620
1632
|
this.carouselIndex = signal(0);
|
|
1621
1633
|
this.value = model(undefined);
|
|
1622
1634
|
}
|
|
1623
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
1624
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
1635
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ICarouselItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1636
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: ICarouselItem, selector: "ng-component", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, ngImport: i0, template: '', isInline: true }); }
|
|
1625
1637
|
}
|
|
1626
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
1638
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ICarouselItem, decorators: [{
|
|
1627
1639
|
type: Component,
|
|
1628
1640
|
args: [{ template: '' }]
|
|
1629
1641
|
}] });
|
|
@@ -1642,10 +1654,10 @@ class LoadingComponent {
|
|
|
1642
1654
|
this.loading = true;
|
|
1643
1655
|
}
|
|
1644
1656
|
ngOnInit() { }
|
|
1645
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
1646
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
1657
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1658
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: LoadingComponent, isStandalone: true, selector: "loading", inputs: { text: "text", type: "type", loading: "loading" }, ngImport: i0, template: "@switch (type) {\r\n @case (1) {\r\n <div class=\"w-full text-center h-16 flex items-center justify-center\">\r\n <div class=\"flex items-center justify-center\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n @if(text){\r\n <span>{{text}}</span>\r\n }\r\n </div>\r\n }\r\n @case (2) {\r\n <div class=\"w-full text-center h-16 flex items-center justify-center\">\r\n <div class=\"flex items-center justify-center\">\r\n <ion-spinner></ion-spinner> \r\n @if (text) {\r\n <span class=\"ml-3\">{{text}}</span>\r\n }\r\n </div>\r\n </div>\r\n }\r\n @case (3) {\r\n <div class=\"absolute top-0 left-0 size-full opacity-0 -z-50 default-transition -translate-y-12 flex items-center justify-center !translucid-background\" \r\n [ngClass]=\"{'!z-20 !opacity-100 !translate-y-0': loading}\">\r\n <loading [type]=\"2\" [text]=\"text\"></loading> \r\n </div>\r\n }\r\n}", styles: [""], dependencies: [{ kind: "component", type: LoadingComponent, selector: "loading", inputs: ["text", "type", "loading"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }] }); }
|
|
1647
1659
|
}
|
|
1648
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
1660
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LoadingComponent, decorators: [{
|
|
1649
1661
|
type: Component,
|
|
1650
1662
|
args: [{ standalone: true, imports: [CommonModule, IonicModule], selector: 'loading', template: "@switch (type) {\r\n @case (1) {\r\n <div class=\"w-full text-center h-16 flex items-center justify-center\">\r\n <div class=\"flex items-center justify-center\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n @if(text){\r\n <span>{{text}}</span>\r\n }\r\n </div>\r\n }\r\n @case (2) {\r\n <div class=\"w-full text-center h-16 flex items-center justify-center\">\r\n <div class=\"flex items-center justify-center\">\r\n <ion-spinner></ion-spinner> \r\n @if (text) {\r\n <span class=\"ml-3\">{{text}}</span>\r\n }\r\n </div>\r\n </div>\r\n }\r\n @case (3) {\r\n <div class=\"absolute top-0 left-0 size-full opacity-0 -z-50 default-transition -translate-y-12 flex items-center justify-center !translucid-background\" \r\n [ngClass]=\"{'!z-20 !opacity-100 !translate-y-0': loading}\">\r\n <loading [type]=\"2\" [text]=\"text\"></loading> \r\n </div>\r\n }\r\n}" }]
|
|
1651
1663
|
}], ctorParameters: () => [], propDecorators: { text: [{
|
|
@@ -1754,10 +1766,10 @@ class AuthService {
|
|
|
1754
1766
|
else
|
|
1755
1767
|
return !(Utils.UNIXToDate(Token.exp) < new Date());
|
|
1756
1768
|
}
|
|
1757
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
1758
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
1769
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuthService, deps: [{ token: i1$1.HttpClient }, { token: i1.NavController }, { token: EnvironmentService }, { token: ApiUrlProviderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1770
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuthService, providedIn: 'root' }); }
|
|
1759
1771
|
}
|
|
1760
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
1772
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuthService, decorators: [{
|
|
1761
1773
|
type: Injectable,
|
|
1762
1774
|
args: [{
|
|
1763
1775
|
providedIn: 'root'
|
|
@@ -1810,10 +1822,10 @@ class SecurePipe {
|
|
|
1810
1822
|
return Promise.resolve(src);
|
|
1811
1823
|
}
|
|
1812
1824
|
}
|
|
1813
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
1814
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
1825
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SecurePipe, deps: [{ token: i1$1.HttpClient }, { token: AuthService }, { token: ApiUrlProviderService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
1826
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: SecurePipe, isStandalone: true, name: "secure" }); }
|
|
1815
1827
|
}
|
|
1816
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
1828
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SecurePipe, decorators: [{
|
|
1817
1829
|
type: Pipe,
|
|
1818
1830
|
args: [{
|
|
1819
1831
|
name: 'secure',
|
|
@@ -1890,10 +1902,10 @@ class ImageComponent {
|
|
|
1890
1902
|
ngOnInit() {
|
|
1891
1903
|
this.SetClassFill();
|
|
1892
1904
|
}
|
|
1893
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
1894
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
1905
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ImageComponent, deps: [{ token: ApiUrlProviderService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1906
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ImageComponent, isStandalone: true, selector: "image", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: false, isRequired: false, transformFunction: null }, object: { classPropertyName: "object", publicName: "object", isSignal: false, isRequired: false, transformFunction: null }, src: { classPropertyName: "src", publicName: "src", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (!err && _src()) {\r\n <div class=\"animated-from-top flex items-center justify-center relative overflow-hidden size-full {{ClassObject}} {{ClassFill}}\" >\r\n <loading class=\"!text-sm\" [loading]=\"loading\" [type]=\"3\" text=\"\"></loading>\r\n <ion-img \r\n class=\"-translate-y-12 opacity-0 default-transition animated-from-top object-contain size-full\" \r\n [ngClass]=\"{'opacity-100 translate-y-0': !loading }\"\r\n [src]=\"src() ? (_src() | secure | async) : null\" \r\n (ionImgWillLoad)=\"loading = true\"\r\n (ionError)=\"loading = false; err = true\"\r\n (ionImgDidLoad)=\"loading = false;\"\r\n ></ion-img>\r\n </div>\r\n}@else {\r\n <div class=\"animated-from-top flex items-center justify-center size-full {{ClassObject}} {{ClassFill}}\">\r\n <ion-icon class=\"text-xl\" name=\"image\" color=\"dark\"></ion-icon>\r\n </div>\r\n}", styles: [""], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonImg, selector: "ion-img", inputs: ["alt", "src"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: LoadingComponent, selector: "loading", inputs: ["text", "type", "loading"] }, { kind: "pipe", type: SecurePipe, name: "secure" }] }); }
|
|
1895
1907
|
}
|
|
1896
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
1908
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ImageComponent, decorators: [{
|
|
1897
1909
|
type: Component,
|
|
1898
1910
|
args: [{ standalone: true, imports: [IonicModule, CommonModule, LoadingComponent, SecurePipe], selector: 'image', template: "@if (!err && _src()) {\r\n <div class=\"animated-from-top flex items-center justify-center relative overflow-hidden size-full {{ClassObject}} {{ClassFill}}\" >\r\n <loading class=\"!text-sm\" [loading]=\"loading\" [type]=\"3\" text=\"\"></loading>\r\n <ion-img \r\n class=\"-translate-y-12 opacity-0 default-transition animated-from-top object-contain size-full\" \r\n [ngClass]=\"{'opacity-100 translate-y-0': !loading }\"\r\n [src]=\"src() ? (_src() | secure | async) : null\" \r\n (ionImgWillLoad)=\"loading = true\"\r\n (ionError)=\"loading = false; err = true\"\r\n (ionImgDidLoad)=\"loading = false;\"\r\n ></ion-img>\r\n </div>\r\n}@else {\r\n <div class=\"animated-from-top flex items-center justify-center size-full {{ClassObject}} {{ClassFill}}\">\r\n <ion-icon class=\"text-xl\" name=\"image\" color=\"dark\"></ion-icon>\r\n </div>\r\n}" }]
|
|
1899
1911
|
}], ctorParameters: () => [{ type: ApiUrlProviderService }], propDecorators: { fill: [{
|
|
@@ -1905,10 +1917,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1905
1917
|
class CarouselImageComponent extends ICarouselItem {
|
|
1906
1918
|
constructor() { super(); }
|
|
1907
1919
|
ngOnInit() { }
|
|
1908
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
1909
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
1920
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CarouselImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1921
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CarouselImageComponent, selector: "carousel-image", inputs: { src: "src" }, providers: [{ provide: ICarouselItem, useExisting: CarouselImageComponent }], usesInheritance: true, ngImport: i0, template: "<image class=\"absolute top-0 left-0 block size-full default-transition rounded-xl\" fill=\"clear\" \r\n [ngClass]=\"{'opacity-20 -translate-x-full': carouselIndex() > index(), 'opacity-20 translate-x-full': carouselIndex() < index() }\" \r\n [src]=\"src\"\r\n></image>", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ImageComponent, selector: "image", inputs: ["fill", "object", "src"] }] }); }
|
|
1910
1922
|
}
|
|
1911
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
1923
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CarouselImageComponent, decorators: [{
|
|
1912
1924
|
type: Component,
|
|
1913
1925
|
args: [{ selector: 'carousel-image', providers: [{ provide: ICarouselItem, useExisting: CarouselImageComponent }], template: "<image class=\"absolute top-0 left-0 block size-full default-transition rounded-xl\" fill=\"clear\" \r\n [ngClass]=\"{'opacity-20 -translate-x-full': carouselIndex() > index(), 'opacity-20 translate-x-full': carouselIndex() < index() }\" \r\n [src]=\"src\"\r\n></image>" }]
|
|
1914
1926
|
}], ctorParameters: () => [], propDecorators: { src: [{
|
|
@@ -1918,10 +1930,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1918
1930
|
class CarouselItemComponent extends ICarouselItem {
|
|
1919
1931
|
constructor() { super(); }
|
|
1920
1932
|
ngOnInit() { }
|
|
1921
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
1922
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
1933
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CarouselItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1934
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CarouselItemComponent, selector: "carousel-item", providers: [{ provide: ICarouselItem, useExisting: CarouselItemComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"absolute top-0 left-0 size-full default-transition rounded-xl\" [ngClass]=\"{'opacity-20 -translate-x-full': carouselIndex() > index(), 'opacity-20 translate-x-full': carouselIndex() < index() }\">\r\n <ng-content></ng-content>\r\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
1923
1935
|
}
|
|
1924
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
1936
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CarouselItemComponent, decorators: [{
|
|
1925
1937
|
type: Component,
|
|
1926
1938
|
args: [{ selector: 'carousel-item', providers: [{ provide: ICarouselItem, useExisting: CarouselItemComponent }], template: "<div class=\"absolute top-0 left-0 size-full default-transition rounded-xl\" [ngClass]=\"{'opacity-20 -translate-x-full': carouselIndex() > index(), 'opacity-20 translate-x-full': carouselIndex() < index() }\">\r\n <ng-content></ng-content>\r\n</div>" }]
|
|
1927
1939
|
}], ctorParameters: () => [] });
|
|
@@ -1983,13 +1995,13 @@ class CarouselComponent {
|
|
|
1983
1995
|
propagateChange(obj) { this.onChange(obj); this.change.emit(obj); ; }
|
|
1984
1996
|
registerOnChange(fn) { this.onChange = fn; }
|
|
1985
1997
|
registerOnTouched(fn) { this.onTouch = fn; }
|
|
1986
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
1987
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
1998
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1999
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CarouselComponent, selector: "carousel", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { blur: "blur", change: "change" }, providers: [{ provide: NG_VALUE_ACCESSOR,
|
|
1988
2000
|
useExisting: forwardRef(() => CarouselComponent),
|
|
1989
2001
|
multi: true
|
|
1990
2002
|
}], queries: [{ propertyName: "lst", predicate: ICarouselItem, isSignal: true }, { propertyName: "components", predicate: ICarouselItem }], ngImport: i0, template: "<ion-card class=\"size-full m-0\">\r\n <ion-card-content class=\"size-full p-0 relative\">\r\n <ng-content></ng-content>\r\n\r\n <ion-button color=\"dark\" size=\"small\" class=\"absolute backdrop-blur-sm w-3 h-10 top-0 bottom-0 my-auto left-0 ml-2 default-transition\" [disabled]=\"index() == 0\" [ngClass]=\"{'opacity-0': index() == 0}\" style=\"--border-radius: .5rem;\" (click)=\"IndexDown()\">\r\n <ion-icon slot=\"icon-only\" name=\"chevron-back\"></ion-icon>\r\n </ion-button>\r\n <ion-button color=\"dark\" size=\"small\" class=\"absolute backdrop-blur-sm w-3 h-10 top-0 bottom-0 my-auto right-0 mr-2 default-transition\" [disabled]=\" index() >= lst().length - 1\" [ngClass]=\"{'opacity-0': index() >= lst().length - 1}\" style=\"--border-radius: .5rem;\" (click)=\"IndexUp()\">\r\n <ion-icon slot=\"icon-only\" name=\"chevron-forward\"></ion-icon>\r\n </ion-button>\r\n\r\n @if(lst().length){\r\n <div class=\"absolute left-0 bottom-0 h-8 w-full flex items-center justify-center\">\r\n <div class=\"bg-dark/50 h-3 rounded-full flex items-center justify-center default-transition gap-0.5 p-0.5\">\r\n @for (item of lst(); track $index) {\r\n <div class=\"bg-light cursor-pointer border border-light/40 h-full aspect-square rounded-full backdrop-blur-sm default-transition\" (click)=\"SetIndex($index)\" [ngClass]=\"{'bg-dark': $index != index()}\"></div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </ion-card-content>\r\n</ion-card>", styles: ["ion-button::part(native){background:color-mix(in srgb,var(--ion-color-dark) 30%,transparent)}ion-button::part(native):after{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ion-button::part(native):after:hover{background:color-mix(in srgb,var(--ion-color-dark) 50%,transparent)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
|
|
1991
2003
|
}
|
|
1992
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
2004
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CarouselComponent, decorators: [{
|
|
1993
2005
|
type: Component,
|
|
1994
2006
|
args: [{ selector: 'carousel', providers: [{ provide: NG_VALUE_ACCESSOR,
|
|
1995
2007
|
useExisting: forwardRef(() => CarouselComponent),
|
|
@@ -2001,15 +2013,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2001
2013
|
|
|
2002
2014
|
const lstComponents$2 = [CarouselComponent, CarouselImageComponent, CarouselItemComponent];
|
|
2003
2015
|
class CarouselModule {
|
|
2004
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
2005
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
2016
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CarouselModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
2017
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: CarouselModule, declarations: [CarouselComponent, CarouselImageComponent, CarouselItemComponent], imports: [CommonModule,
|
|
2006
2018
|
IonicModule,
|
|
2007
2019
|
ImageComponent], exports: [CarouselComponent, CarouselImageComponent, CarouselItemComponent] }); }
|
|
2008
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
2020
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CarouselModule, imports: [CommonModule,
|
|
2009
2021
|
IonicModule,
|
|
2010
2022
|
ImageComponent] }); }
|
|
2011
2023
|
}
|
|
2012
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
2024
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CarouselModule, decorators: [{
|
|
2013
2025
|
type: NgModule,
|
|
2014
2026
|
args: [{
|
|
2015
2027
|
declarations: [...lstComponents$2],
|
|
@@ -2033,10 +2045,10 @@ class ContentBlockComponent {
|
|
|
2033
2045
|
this.value = true;
|
|
2034
2046
|
}
|
|
2035
2047
|
ngOnInit() { }
|
|
2036
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
2037
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
2048
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ContentBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2049
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ContentBlockComponent, isStandalone: true, selector: "content-block", inputs: { text: "text", value: "value" }, ngImport: i0, template: "<div class=\"absolute top-0 left-0 size-full opacity-0 -z-50 default-transition -translate-y-12 flex items-center justify-center !translucid-background\" \r\n [ngClass]=\"{'!z-20 !opacity-100 !translate-y-0': value}\">\r\n <div class=\"w-full text-center h-16 flex items-center justify-center\">\r\n {{text}}\r\n </div>\r\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
2038
2050
|
}
|
|
2039
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
2051
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ContentBlockComponent, decorators: [{
|
|
2040
2052
|
type: Component,
|
|
2041
2053
|
args: [{ standalone: true, imports: [CommonModule], selector: 'content-block', template: "<div class=\"absolute top-0 left-0 size-full opacity-0 -z-50 default-transition -translate-y-12 flex items-center justify-center !translucid-background\" \r\n [ngClass]=\"{'!z-20 !opacity-100 !translate-y-0': value}\">\r\n <div class=\"w-full text-center h-16 flex items-center justify-center\">\r\n {{text}}\r\n </div>\r\n</div>" }]
|
|
2042
2054
|
}], ctorParameters: () => [], propDecorators: { text: [{
|
|
@@ -2095,10 +2107,10 @@ class HeaderListComponent {
|
|
|
2095
2107
|
$event.preventDefault();
|
|
2096
2108
|
}
|
|
2097
2109
|
}
|
|
2098
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
2099
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
2110
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HeaderListComponent, deps: [{ token: EnvironmentService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2111
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: HeaderListComponent, selector: "header-list", inputs: { limit: "limit", page: "page", search: "search", loading: "loading", link: "link", noNew: "noNew", noPage: "noPage", noSearch: "noSearch", overrideNew: "overrideNew" }, outputs: { limitChange: "limitChange", pageChange: "pageChange", searchChange: "searchChange", refreshEmitter: "refresh", onNewEmitter: "onNew" }, host: { listeners: { "window:keydown": "onKeyPress($event)" } }, ngImport: i0, template: "<div class=\"flex flex-wrap w-full gap-2\">\r\n @if (!noPage) {\r\n <div class=\"portrait:basis-[calc(50%-0.25rem)] landscape:w-48 portrait:order-1\">\r\n <ion-item class=\"rounded-2xl w-full h-full translucid-border\" lines=\"full\" style=\"--border-radius: 1rem !important; --background: transparent\" >\r\n <ion-select [disabled]=\"loading\" [(ngModel)]=\"limit\" (ionChange)=\"EmitLimit()\" interface=\"popover\">\r\n @for (limit of lstLimits; track limit) {\r\n <ion-select-option [value]=\"limit.value\">{{limit.label}}</ion-select-option>\r\n }\r\n </ion-select>\r\n </ion-item>\r\n </div>\r\n }\r\n \r\n <ng-content select=\"[slot=start]\"></ng-content>\r\n\r\n @if(!noSearch) {\r\n <div class=\"portrait:basis-full portrait:order-3 grow flex items-center justify-center\">\r\n <ion-searchbar class=\"w-full min-h-0 p-0 m-0\" [debounce]=\"500\" [(ngModel)]=\"search\" (ionInput)=\"this.EmitSearch()\" [animated]=\"true\" placeholder=\"Pesquisar...\"></ion-searchbar>\r\n </div>\r\n }\r\n\r\n <ng-content select=\"[slot=end]\"></ng-content>\r\n\r\n @if(!noNew){\r\n <div class=\"portrait:basis-[calc(50%-0.25rem)] landscape:basis-24 portrait:order-2\">\r\n <ion-button [routerLink]=\"overrideNew ? null : [link]\" (click)=\"onNew()\" class=\"size-full m-0 rounded-2xl text-base\" size=\"small\" fill=\"clear\">\r\n <ion-icon name=\"add\" slot=\"start\"></ion-icon>\r\n <ion-text class=\"text-base\">Novo</ion-text>\r\n </ion-button>\r\n </div>\r\n }\r\n</div>", styles: [""], dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonSearchbar, selector: "ion-searchbar", inputs: ["animated", "autocapitalize", "autocomplete", "autocorrect", "cancelButtonIcon", "cancelButtonText", "clearIcon", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "maxlength", "minlength", "mode", "name", "placeholder", "searchIcon", "showCancelButton", "showClearButton", "spellcheck", "type", "value"] }, { kind: "component", type: i1.IonSelect, selector: "ion-select", inputs: ["cancelText", "color", "compareWith", "disabled", "errorText", "expandedIcon", "fill", "helperText", "interface", "interfaceOptions", "justify", "label", "labelPlacement", "mode", "multiple", "name", "okText", "placeholder", "required", "selectedText", "shape", "toggleIcon", "value"] }, { kind: "component", type: i1.IonSelectOption, selector: "ion-select-option", inputs: ["disabled", "value"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "directive", type: i1.SelectValueAccessor, selector: "ion-select, ion-radio-group, ion-segment, ion-datetime" }, { kind: "directive", type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-input-otp[type=text],ion-textarea,ion-searchbar" }, { kind: "directive", type: i1.RouterLinkDelegate, selector: ":not(a):not(area)[routerLink]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
2100
2112
|
}
|
|
2101
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
2113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HeaderListComponent, decorators: [{
|
|
2102
2114
|
type: Component,
|
|
2103
2115
|
args: [{ selector: 'header-list', template: "<div class=\"flex flex-wrap w-full gap-2\">\r\n @if (!noPage) {\r\n <div class=\"portrait:basis-[calc(50%-0.25rem)] landscape:w-48 portrait:order-1\">\r\n <ion-item class=\"rounded-2xl w-full h-full translucid-border\" lines=\"full\" style=\"--border-radius: 1rem !important; --background: transparent\" >\r\n <ion-select [disabled]=\"loading\" [(ngModel)]=\"limit\" (ionChange)=\"EmitLimit()\" interface=\"popover\">\r\n @for (limit of lstLimits; track limit) {\r\n <ion-select-option [value]=\"limit.value\">{{limit.label}}</ion-select-option>\r\n }\r\n </ion-select>\r\n </ion-item>\r\n </div>\r\n }\r\n \r\n <ng-content select=\"[slot=start]\"></ng-content>\r\n\r\n @if(!noSearch) {\r\n <div class=\"portrait:basis-full portrait:order-3 grow flex items-center justify-center\">\r\n <ion-searchbar class=\"w-full min-h-0 p-0 m-0\" [debounce]=\"500\" [(ngModel)]=\"search\" (ionInput)=\"this.EmitSearch()\" [animated]=\"true\" placeholder=\"Pesquisar...\"></ion-searchbar>\r\n </div>\r\n }\r\n\r\n <ng-content select=\"[slot=end]\"></ng-content>\r\n\r\n @if(!noNew){\r\n <div class=\"portrait:basis-[calc(50%-0.25rem)] landscape:basis-24 portrait:order-2\">\r\n <ion-button [routerLink]=\"overrideNew ? null : [link]\" (click)=\"onNew()\" class=\"size-full m-0 rounded-2xl text-base\" size=\"small\" fill=\"clear\">\r\n <ion-icon name=\"add\" slot=\"start\"></ion-icon>\r\n <ion-text class=\"text-base\">Novo</ion-text>\r\n </ion-button>\r\n </div>\r\n }\r\n</div>" }]
|
|
2104
2116
|
}], ctorParameters: () => [{ type: EnvironmentService }], propDecorators: { limit: [{
|
|
@@ -2228,10 +2240,10 @@ class List {
|
|
|
2228
2240
|
finally { }
|
|
2229
2241
|
return;
|
|
2230
2242
|
}
|
|
2231
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
2232
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
2243
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: List, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2244
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: List, selector: "ng-component", inputs: { service: { classPropertyName: "service", publicName: "service", isSignal: false, isRequired: false, transformFunction: null }, preloadFilter: { classPropertyName: "preloadFilter", publicName: "preloadFilter", isSignal: true, isRequired: false, transformFunction: null }, loadFrom: { classPropertyName: "loadFrom", publicName: "loadFrom", isSignal: false, isRequired: false, transformFunction: null }, frm: { classPropertyName: "frm", publicName: "frm", isSignal: false, isRequired: false, transformFunction: null }, lstTableFields: { classPropertyName: "lstTableFields", publicName: "lstTableFields", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { preloadFilter: "preloadFilterChange", WillRefresh: "WillRefresh", DidRefresh: "DidRefresh" }, ngImport: i0, template: '', isInline: true, styles: [""] }); }
|
|
2233
2245
|
}
|
|
2234
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
2246
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: List, decorators: [{
|
|
2235
2247
|
type: Component,
|
|
2236
2248
|
args: [{ template: '' }]
|
|
2237
2249
|
}], ctorParameters: () => [], propDecorators: { service: [{
|
|
@@ -2333,12 +2345,12 @@ class CustomInput {
|
|
|
2333
2345
|
propagateChange(obj) { this.onChange(obj); this.change.emit(obj); ; }
|
|
2334
2346
|
registerOnChange(fn) { this.onChange = fn; }
|
|
2335
2347
|
registerOnTouched(fn) { this.onTouch = fn; }
|
|
2336
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
2337
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
2348
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CustomInput, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2349
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: CustomInput, selector: "ng-component", inputs: { loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, submitted: { classPropertyName: "submitted", publicName: "submitted", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, formControlName: { classPropertyName: "formControlName", publicName: "formControlName", isSignal: false, isRequired: false, transformFunction: null }, control: { classPropertyName: "control", publicName: "formControl", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { loading: "loadingChange", disabled: "disabledChange", submitted: "submittedChange", required: "requiredChange", blur: "blur", change: "change" }, providers: [
|
|
2338
2350
|
...InputProviderFactory.GetProviders(CustomInput)
|
|
2339
2351
|
], ngImport: i0, template: '', isInline: true }); }
|
|
2340
2352
|
}
|
|
2341
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
2353
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CustomInput, decorators: [{
|
|
2342
2354
|
type: Component,
|
|
2343
2355
|
args: [{
|
|
2344
2356
|
template: '',
|
|
@@ -2387,13 +2399,13 @@ class InputTelefoneComponent extends CustomInput {
|
|
|
2387
2399
|
this.runValidation();
|
|
2388
2400
|
this.propagateChange(obj.replaceAll('.', '').replaceAll('-', '').replaceAll(' ', ''));
|
|
2389
2401
|
}
|
|
2390
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
2391
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
2402
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputTelefoneComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2403
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: InputTelefoneComponent, selector: "input-telefone, input-celular, input-telefone-celular", inputs: { configuration: { classPropertyName: "configuration", publicName: "configuration", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { configuration: "configurationChange" }, providers: [
|
|
2392
2404
|
...InputProviderFactory.GetProviders(InputTelefoneComponent),
|
|
2393
2405
|
{ provide: CustomInput, useExisting: forwardRef(() => InputTelefoneComponent) },
|
|
2394
2406
|
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "inputContainer", first: true, predicate: ["inputContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"setFocus($event)\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"disabled() || loading()\"\r\n [class.loading]=\"loading()\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n <input #input\r\n (focus)=\"!value() ? SetValue('+55') : null\"\r\n [ngModel]=\"value()\" \r\n [maskito]=\"mask\"\r\n inputmode=\"numeric\"\r\n [type]=\"'text'\" \r\n (ngModelChange)=\"SetValue($event)\"\r\n [disabled]=\"disabled() || loading()\"\r\n (blur)=\"blur.emit($event)\"\r\n />\r\n <div class=\"loading-container\" [class.loading]=\"loading()\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n</div>", styles: ["", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:auto;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"], dependencies: [{ kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }] }); }
|
|
2395
2407
|
}
|
|
2396
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
2408
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputTelefoneComponent, decorators: [{
|
|
2397
2409
|
type: Component,
|
|
2398
2410
|
args: [{ selector: 'input-telefone, input-celular, input-telefone-celular', providers: [
|
|
2399
2411
|
...InputProviderFactory.GetProviders(InputTelefoneComponent),
|
|
@@ -2559,10 +2571,10 @@ class StorageService {
|
|
|
2559
2571
|
onUpdate?.(totalProgress, lstResponse[0], eventType);
|
|
2560
2572
|
}))[0];
|
|
2561
2573
|
}
|
|
2562
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
2563
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
2574
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StorageService, deps: [{ token: i1$1.HttpClient }, { token: ApiUrlProviderService }, { token: GenericService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2575
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StorageService, providedIn: 'root' }); }
|
|
2564
2576
|
}
|
|
2565
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
2577
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StorageService, decorators: [{
|
|
2566
2578
|
type: Injectable,
|
|
2567
2579
|
args: [{
|
|
2568
2580
|
providedIn: 'root'
|
|
@@ -2653,13 +2665,13 @@ class InputCpfCnpjComponent extends CustomInput {
|
|
|
2653
2665
|
this.runValidation();
|
|
2654
2666
|
this.propagateChange(obj.replaceAll('.', '').replaceAll('-', '').replaceAll('/', ''));
|
|
2655
2667
|
}
|
|
2656
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
2657
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
2668
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputCpfCnpjComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2669
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: InputCpfCnpjComponent, selector: "input-cpf-cnpj, input-cpf, input-cnpj", inputs: { configuration: { classPropertyName: "configuration", publicName: "configuration", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { configuration: "configurationChange" }, providers: [
|
|
2658
2670
|
...InputProviderFactory.GetProviders(InputCpfCnpjComponent),
|
|
2659
2671
|
{ provide: CustomInput, useExisting: forwardRef(() => InputCpfCnpjComponent) },
|
|
2660
2672
|
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "inputContainer", first: true, predicate: ["inputContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"setFocus($event)\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"disabled() || loading()\"\r\n [class.loading]=\"loading()\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n <input #input\r\n [ngModel]=\"value()\" \r\n [maskito]=\"mask\"\r\n inputmode=\"numeric\"\r\n [type]=\"'text'\" \r\n (ngModelChange)=\"SetValue($event)\"\r\n [disabled]=\"disabled() || loading()\"\r\n (blur)=\"blur.emit($event)\"\r\n />\r\n <div class=\"loading-container\" [class.loading]=\"loading()\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n</div>", styles: ["", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:auto;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"], dependencies: [{ kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }] }); }
|
|
2661
2673
|
}
|
|
2662
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
2674
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputCpfCnpjComponent, decorators: [{
|
|
2663
2675
|
type: Component,
|
|
2664
2676
|
args: [{ selector: 'input-cpf-cnpj, input-cpf, input-cnpj', providers: [
|
|
2665
2677
|
...InputProviderFactory.GetProviders(InputCpfCnpjComponent),
|
|
@@ -2719,13 +2731,13 @@ class InputCepComponent extends CustomInput {
|
|
|
2719
2731
|
this.value.set(obj);
|
|
2720
2732
|
this.runValidation();
|
|
2721
2733
|
}
|
|
2722
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
2723
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
2734
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputCepComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2735
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: InputCepComponent, selector: "input-cep", inputs: { configuration: { classPropertyName: "configuration", publicName: "configuration", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
2724
2736
|
...InputProviderFactory.GetProviders(InputCepComponent),
|
|
2725
2737
|
{ provide: CustomInput, useExisting: forwardRef(() => InputCepComponent) },
|
|
2726
2738
|
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "inputContainer", first: true, predicate: ["inputContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"setFocus($event)\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"disabled() || loading()\"\r\n [class.loading]=\"loading()\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n <input #input\r\n [ngModel]=\"value()\" \r\n [maskito]=\"mask\"\r\n inputmode=\"numeric\"\r\n (ngModelChange)=\"SetValue($event)\"\r\n [disabled]=\"disabled() || loading()\"\r\n (blur)=\"blur.emit($event)\"\r\n />\r\n <div class=\"loading-container\" [class.loading]=\"loading()\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n</div>", styles: ["", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:auto;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"], dependencies: [{ kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }] }); }
|
|
2727
2739
|
}
|
|
2728
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
2740
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputCepComponent, decorators: [{
|
|
2729
2741
|
type: Component,
|
|
2730
2742
|
args: [{ selector: 'input-cep', providers: [
|
|
2731
2743
|
...InputProviderFactory.GetProviders(InputCepComponent),
|
|
@@ -2758,10 +2770,10 @@ class NgVarDirective {
|
|
|
2758
2770
|
this.context = { $implicit: null, ngVar: null, };
|
|
2759
2771
|
this.hasView = false;
|
|
2760
2772
|
}
|
|
2761
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
2762
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
2773
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NgVarDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2774
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: NgVarDirective, isStandalone: true, selector: "[ngVar]", inputs: { ngVar: "ngVar" }, ngImport: i0 }); }
|
|
2763
2775
|
}
|
|
2764
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
2776
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NgVarDirective, decorators: [{
|
|
2765
2777
|
type: Directive,
|
|
2766
2778
|
args: [{
|
|
2767
2779
|
standalone: true,
|
|
@@ -2831,10 +2843,10 @@ class DownloadButtonComponent {
|
|
|
2831
2843
|
isLoading(path) {
|
|
2832
2844
|
return this.lstLoading.indexOf(path) != -1;
|
|
2833
2845
|
}
|
|
2834
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
2835
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
2846
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DownloadButtonComponent, deps: [{ token: StorageService }, { token: i0.ElementRef }, { token: ApiUrlProviderService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2847
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DownloadButtonComponent, selector: "download-button", inputs: { expand: { classPropertyName: "expand", publicName: "expand", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: false, isRequired: false, transformFunction: null }, params: { classPropertyName: "params", publicName: "params", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, post: { classPropertyName: "post", publicName: "post", isSignal: false, isRequired: false, transformFunction: null }, configuration: { classPropertyName: "configuration", publicName: "configuration", isSignal: false, isRequired: false, transformFunction: null }, customLabel: { classPropertyName: "customLabel", publicName: "customLabel", isSignal: false, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: false, transformFunction: null }, fileName: { classPropertyName: "fileName", publicName: "fileName", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, providers: InputProviderFactory.GetProviders(DownloadButtonComponent), ngImport: i0, template: "@if(lstFiles().length == 0){\r\n <ion-button [color]=\"color\" fill=\"outline\" [disabled]=\"true\" [size]=\"size\"> \r\n <ion-icon name=\"close-circle\" slot=\"start\"></ion-icon> \r\n <ion-label> Sem arquivos... </ion-label>\r\n </ion-button>\r\n}\r\n@else if(lstFiles().length == 1){\r\n <ion-button [color]=\"color\" *ngVar=\"storageService.GetProgress(lstFiles()[0]) as val\" class=\"relative block {{expand == 'block' ? 'size-full' : ''}}\" [disabled]=\"val != 0 || disabled\" (click)=\"Download(lstFiles()[0])\" fill=\"outline\" [size]=\"size\"> \r\n <ion-icon name=\"download\" slot=\"start\"></ion-icon> \r\n <ion-label> {{customLabel ? label : Sanitize(lstFiles()[0])}} </ion-label>\r\n <div class=\"absolute size-full h-[calc(100%+var(--padding-top)+var(--padding-bottom))] w-[calc(100%+var(--padding-end)+var(--padding-start))]\">\r\n <loading [type]=\"3\" [loading]=\"val != 0\"></loading>\r\n <div class=\"size-full flex flex-row-reverse relative\">\r\n <ion-progress-bar class=\"absolute bottom-0 left-0 w-full h-1 default-transition\" [ngClass]=\"{'-translate-y-4 opacity-0': (!val || val == 0)}\" [value]=\"val\"></ion-progress-bar>\r\n </div>\r\n </div>\r\n </ion-button>\r\n}\r\n@else{\r\n <ion-button [color]=\"color\" [id]=\"guid\" fill=\"outline\" [size]=\"size\"> \r\n <ion-icon name=\"download\" slot=\"start\"></ion-icon> \r\n <ion-label> {{lstFiles().length}} Arquivos </ion-label>\r\n </ion-button>\r\n\r\n <ion-popover [trigger]=\"guid\" [keepContentsMounted]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content class=\"p-0 bg-transparent\">\r\n <ion-list>\r\n @for (item of lstFiles(); track item; let i = $index; let l = $last) {\r\n <section *ngVar=\"storageService.GetProgress(item) as val\">\r\n <ion-item style=\"--background: transparent\" lines=\"{{l ? 'none' : 'full'}}\" button [detail]=\"false\">\r\n\r\n <ion-icon name=\"download\" (click)=\"Download(item)\" slot=\"start\"></ion-icon> \r\n @if (ExtensionIsImage(item)) {\r\n <ion-icon [id]=\"guid + '-' + i + '-nested-popover'\" name=\"image\" slot=\"start\"></ion-icon> \r\n }\r\n\r\n <ion-label>{{Sanitize(item)}}</ion-label>\r\n <ion-text *ngIf=\"val != 0\" slot=\"end\" class=\"text-sm\"><b>{{val * 100 | number : '1.2-2'}}%</b></ion-text>\r\n </ion-item>\r\n <ion-progress-bar class=\"h-0 default-transition\" [ngClass]=\"{'h-1': val != 0 }\" [value]=\"val\"></ion-progress-bar>\r\n <ion-popover *ngIf=\"ExtensionIsImage(item)\" side=\"end\" alignment=\"center\" [trigger]=\"guid + '-' + i + '-nested-popover'\" [dismissOnSelect]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content *ngVar=\"isLoading(item) as isLoading\">\r\n <loading [hidden]=\"!isLoading\"></loading>\r\n <ion-img [hidden]=\"isLoading\" [src]=\"apiUrl + item\" (ionImgWillLoad)=\"SetLoading(item)\" (ionImgDidLoad)=\"SetNotLoading(item)\"></ion-img>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n </section>\r\n }\r\n </ion-list>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n}", styles: ["ion-popover{--width: 30rem }\n"], dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonImg, selector: "ion-img", inputs: ["alt", "src"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i1.IonProgressBar, selector: "ion-progress-bar", inputs: ["buffer", "color", "mode", "reversed", "type", "value"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonPopover, selector: "ion-popover" }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LoadingComponent, selector: "loading", inputs: ["text", "type", "loading"] }, { kind: "directive", type: NgVarDirective, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "pipe", type: i1$2.DecimalPipe, name: "number" }] }); }
|
|
2836
2848
|
}
|
|
2837
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
2849
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DownloadButtonComponent, decorators: [{
|
|
2838
2850
|
type: Component,
|
|
2839
2851
|
args: [{ selector: 'download-button', providers: InputProviderFactory.GetProviders(DownloadButtonComponent), template: "@if(lstFiles().length == 0){\r\n <ion-button [color]=\"color\" fill=\"outline\" [disabled]=\"true\" [size]=\"size\"> \r\n <ion-icon name=\"close-circle\" slot=\"start\"></ion-icon> \r\n <ion-label> Sem arquivos... </ion-label>\r\n </ion-button>\r\n}\r\n@else if(lstFiles().length == 1){\r\n <ion-button [color]=\"color\" *ngVar=\"storageService.GetProgress(lstFiles()[0]) as val\" class=\"relative block {{expand == 'block' ? 'size-full' : ''}}\" [disabled]=\"val != 0 || disabled\" (click)=\"Download(lstFiles()[0])\" fill=\"outline\" [size]=\"size\"> \r\n <ion-icon name=\"download\" slot=\"start\"></ion-icon> \r\n <ion-label> {{customLabel ? label : Sanitize(lstFiles()[0])}} </ion-label>\r\n <div class=\"absolute size-full h-[calc(100%+var(--padding-top)+var(--padding-bottom))] w-[calc(100%+var(--padding-end)+var(--padding-start))]\">\r\n <loading [type]=\"3\" [loading]=\"val != 0\"></loading>\r\n <div class=\"size-full flex flex-row-reverse relative\">\r\n <ion-progress-bar class=\"absolute bottom-0 left-0 w-full h-1 default-transition\" [ngClass]=\"{'-translate-y-4 opacity-0': (!val || val == 0)}\" [value]=\"val\"></ion-progress-bar>\r\n </div>\r\n </div>\r\n </ion-button>\r\n}\r\n@else{\r\n <ion-button [color]=\"color\" [id]=\"guid\" fill=\"outline\" [size]=\"size\"> \r\n <ion-icon name=\"download\" slot=\"start\"></ion-icon> \r\n <ion-label> {{lstFiles().length}} Arquivos </ion-label>\r\n </ion-button>\r\n\r\n <ion-popover [trigger]=\"guid\" [keepContentsMounted]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content class=\"p-0 bg-transparent\">\r\n <ion-list>\r\n @for (item of lstFiles(); track item; let i = $index; let l = $last) {\r\n <section *ngVar=\"storageService.GetProgress(item) as val\">\r\n <ion-item style=\"--background: transparent\" lines=\"{{l ? 'none' : 'full'}}\" button [detail]=\"false\">\r\n\r\n <ion-icon name=\"download\" (click)=\"Download(item)\" slot=\"start\"></ion-icon> \r\n @if (ExtensionIsImage(item)) {\r\n <ion-icon [id]=\"guid + '-' + i + '-nested-popover'\" name=\"image\" slot=\"start\"></ion-icon> \r\n }\r\n\r\n <ion-label>{{Sanitize(item)}}</ion-label>\r\n <ion-text *ngIf=\"val != 0\" slot=\"end\" class=\"text-sm\"><b>{{val * 100 | number : '1.2-2'}}%</b></ion-text>\r\n </ion-item>\r\n <ion-progress-bar class=\"h-0 default-transition\" [ngClass]=\"{'h-1': val != 0 }\" [value]=\"val\"></ion-progress-bar>\r\n <ion-popover *ngIf=\"ExtensionIsImage(item)\" side=\"end\" alignment=\"center\" [trigger]=\"guid + '-' + i + '-nested-popover'\" [dismissOnSelect]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content *ngVar=\"isLoading(item) as isLoading\">\r\n <loading [hidden]=\"!isLoading\"></loading>\r\n <ion-img [hidden]=\"isLoading\" [src]=\"apiUrl + item\" (ionImgWillLoad)=\"SetLoading(item)\" (ionImgDidLoad)=\"SetNotLoading(item)\"></ion-img>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n </section>\r\n }\r\n </ion-list>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n}", styles: ["ion-popover{--width: 30rem }\n"] }]
|
|
2840
2852
|
}], ctorParameters: () => [{ type: StorageService }, { type: i0.ElementRef }, { type: ApiUrlProviderService }], propDecorators: { expand: [{
|
|
@@ -2949,10 +2961,10 @@ class DefaultPaginationComponent {
|
|
|
2949
2961
|
EmitChange() {
|
|
2950
2962
|
this.changeEmitter.emit();
|
|
2951
2963
|
}
|
|
2952
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
2953
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
2964
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DefaultPaginationComponent, deps: [{ token: GenericService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2965
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DefaultPaginationComponent, selector: "default-pagination", inputs: { _total: ["total", "_total"], _limit: ["limit", "_limit"], length: "length", loading: "loading", page: "page" }, outputs: { pageChange: "pageChange", changeEmitter: "change" }, ngImport: i0, template: "<div id=\"pagination\" class=\"flex items-center rounded-b-2xl p-2 portrait:flex-col\">\r\n <div class=\"w-full h-full items-center justify-start flex portrait:justify-center\">\r\n <ion-spinner [hidden]=\"!(loading && lstPages.length == 0)\"></ion-spinner>\r\n <ion-text [hidden]=\"loading && lstPages.length == 0\">\r\n <div class=\"flex\">\r\n Mostrando \r\n <ion-skeleton-text *ngIf=\"loading\" [animated]=\"true\" style=\"width: 2ch\"></ion-skeleton-text>\r\n <b *ngIf=\"!loading\">{{limit * page - limit + length}}</b> \r\n de \r\n @if (total != null) {\r\n <b> {{total}} </b> itens\r\n }\r\n @else{\r\n <b> - </b> itens\r\n }\r\n </div>\r\n </ion-text>\r\n </div>\r\n <div class=\"w-full h-full items-center justify-end flex portrait:justify-center\" *ngIf=\"total != null\">\r\n <button class=\"flex items-center\" [disabled]=\"loading\" (click)=\"PageSub()\">\r\n <ion-icon [ngClass]=\"{'opacity-20': page == 1}\" name=\"chevron-back\" class=\"cursor-pointer default transition\"></ion-icon>\r\n </button>\r\n\r\n <ion-spinner *ngIf=\"loading && lstPages.length == 0\"></ion-spinner>\r\n\r\n <button [disabled]=\"loading\" class=\"page\" *ngFor=\"let item of lstPages\" [ngClass]=\"{ 'selected' : page == item }\" (click)=\"SetPage(item)\"> {{item}} </button>\r\n\r\n <button class=\"flex items-center\" [disabled]=\"loading\" (click)=\"PageAdd()\">\r\n <ion-icon [ngClass]=\"{'opacity-20': page == TotalPages }\" name=\"chevron-forward\" class=\"cursor-pointer default transition\"></ion-icon>\r\n </button>\r\n\r\n @if (TotalPages > 5) {\r\n <button [disabled]=\"loading\" class=\"page\" [id]=\"pop_id\"><ion-icon name=\"search\"></ion-icon></button>\r\n <ion-popover [trigger]=\"pop_id\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content>\r\n <div class=\"grid grid-cols-10 pl-3\">\r\n <div class=\"col-span-8 pb-2\">\r\n <ion-input class=\"number-class\" [(ngModel)]=\"_page\" type=\"Number\" labelPlacement=\"stacked\" label=\"P\u00E1gina [Max. {{TotalPages}}]\"></ion-input>\r\n </div>\r\n <div class=\"col-span-2\">\r\n <ion-button [disabled]=\"loading\" class=\"size-full\" size=\"small\" (click)=\"SetPageManual()\" style=\"--border-radius: 0rem\">\r\n <ion-icon class=\"w-4 aspect-square\" slot=\"icon-only\" name=\"checkmark-circle\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n </div>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n }\r\n </div>\r\n</div>", styles: ["#pagination{background-color:color-mix(in srgb,var(--ion-color-dark) 10%,var(--ion-color-light));color:var(--ion-color-step-700)}button.page{margin-left:.25rem;margin-right:.25rem;display:flex;height:1.5rem;min-width:1.5rem;cursor:pointer;align-items:center;justify-content:center;border-radius:.375rem;border-width:1px;padding-left:.25rem;padding-right:.25rem;text-align:center;border:var(--ion-color-dark) solid 1px;color:var(--ion-color-dark);transition:all .25s}button.page:disabled{opacity:.75}button.page.selected{background-color:var(--ion-color-dark);color:var(--ion-color-dark-contrast)!important}\n"], dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonInput, selector: "ion-input", inputs: ["autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearInputIcon", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "spellcheck", "step", "type", "value"] }, { kind: "component", type: i1.IonSkeletonText, selector: "ion-skeleton-text", inputs: ["animated"] }, { kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonPopover, selector: "ion-popover" }, { kind: "directive", type: i1.NumericValueAccessor, selector: "ion-input[type=number],ion-input-otp:not([type=text]),ion-range" }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
2954
2966
|
}
|
|
2955
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
2967
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DefaultPaginationComponent, decorators: [{
|
|
2956
2968
|
type: Component,
|
|
2957
2969
|
args: [{ selector: 'default-pagination', template: "<div id=\"pagination\" class=\"flex items-center rounded-b-2xl p-2 portrait:flex-col\">\r\n <div class=\"w-full h-full items-center justify-start flex portrait:justify-center\">\r\n <ion-spinner [hidden]=\"!(loading && lstPages.length == 0)\"></ion-spinner>\r\n <ion-text [hidden]=\"loading && lstPages.length == 0\">\r\n <div class=\"flex\">\r\n Mostrando \r\n <ion-skeleton-text *ngIf=\"loading\" [animated]=\"true\" style=\"width: 2ch\"></ion-skeleton-text>\r\n <b *ngIf=\"!loading\">{{limit * page - limit + length}}</b> \r\n de \r\n @if (total != null) {\r\n <b> {{total}} </b> itens\r\n }\r\n @else{\r\n <b> - </b> itens\r\n }\r\n </div>\r\n </ion-text>\r\n </div>\r\n <div class=\"w-full h-full items-center justify-end flex portrait:justify-center\" *ngIf=\"total != null\">\r\n <button class=\"flex items-center\" [disabled]=\"loading\" (click)=\"PageSub()\">\r\n <ion-icon [ngClass]=\"{'opacity-20': page == 1}\" name=\"chevron-back\" class=\"cursor-pointer default transition\"></ion-icon>\r\n </button>\r\n\r\n <ion-spinner *ngIf=\"loading && lstPages.length == 0\"></ion-spinner>\r\n\r\n <button [disabled]=\"loading\" class=\"page\" *ngFor=\"let item of lstPages\" [ngClass]=\"{ 'selected' : page == item }\" (click)=\"SetPage(item)\"> {{item}} </button>\r\n\r\n <button class=\"flex items-center\" [disabled]=\"loading\" (click)=\"PageAdd()\">\r\n <ion-icon [ngClass]=\"{'opacity-20': page == TotalPages }\" name=\"chevron-forward\" class=\"cursor-pointer default transition\"></ion-icon>\r\n </button>\r\n\r\n @if (TotalPages > 5) {\r\n <button [disabled]=\"loading\" class=\"page\" [id]=\"pop_id\"><ion-icon name=\"search\"></ion-icon></button>\r\n <ion-popover [trigger]=\"pop_id\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content>\r\n <div class=\"grid grid-cols-10 pl-3\">\r\n <div class=\"col-span-8 pb-2\">\r\n <ion-input class=\"number-class\" [(ngModel)]=\"_page\" type=\"Number\" labelPlacement=\"stacked\" label=\"P\u00E1gina [Max. {{TotalPages}}]\"></ion-input>\r\n </div>\r\n <div class=\"col-span-2\">\r\n <ion-button [disabled]=\"loading\" class=\"size-full\" size=\"small\" (click)=\"SetPageManual()\" style=\"--border-radius: 0rem\">\r\n <ion-icon class=\"w-4 aspect-square\" slot=\"icon-only\" name=\"checkmark-circle\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n </div>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n }\r\n </div>\r\n</div>", styles: ["#pagination{background-color:color-mix(in srgb,var(--ion-color-dark) 10%,var(--ion-color-light));color:var(--ion-color-step-700)}button.page{margin-left:.25rem;margin-right:.25rem;display:flex;height:1.5rem;min-width:1.5rem;cursor:pointer;align-items:center;justify-content:center;border-radius:.375rem;border-width:1px;padding-left:.25rem;padding-right:.25rem;text-align:center;border:var(--ion-color-dark) solid 1px;color:var(--ion-color-dark);transition:all .25s}button.page:disabled{opacity:.75}button.page.selected{background-color:var(--ion-color-dark);color:var(--ion-color-dark-contrast)!important}\n"] }]
|
|
2958
2970
|
}], ctorParameters: () => [{ type: GenericService }], propDecorators: { _total: [{
|
|
@@ -3099,10 +3111,10 @@ class SIonPopoverComponent {
|
|
|
3099
3111
|
].filter(p => p),
|
|
3100
3112
|
});
|
|
3101
3113
|
}
|
|
3102
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
3103
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
3114
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SIonPopoverComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3115
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SIonPopoverComponent, selector: "sion-popover", inputs: { fill: "fill", arrow: "arrow", flip: "flip", placement: "placement", height: "height", width: "width", anchor: "anchor" }, outputs: { onWillPresent: "onWillPresent", onDidPresent: "onDidPresent", onWillDismiss: "onWillDismiss", onDidDismiss: "onDidDismiss" }, viewQueries: [{ propertyName: "contentContainer", first: true, predicate: ["popoverWrapper"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div #popoverWrapper \r\n class=\"popover-wrapper translucid-border\"\r\n [style.height]=\"height\"\r\n [style.width]=\"width\"\r\n [ngClass]=\"{\r\n 'bg-light' : fill == 'solid',\r\n 'bg-transparent' : fill == 'outline',\r\n 'bg-light/90' : fill == 'blur',\r\n '!border-0' : fill == 'clear',\r\n }\"\r\n> \r\n <div #popoverArrow class=\"popover-arrow size-4 translucid-border\"\r\n [ngClass]=\"{\r\n 'bg-light' : fill == 'solid',\r\n 'bg-transparent' : fill == 'outline',\r\n 'bg-light/90' : fill == 'blur',\r\n '!border-0' : fill == 'clear',\r\n }\"\r\n ></div>\r\n <ng-content #content></ng-content>\r\n</div>", styles: [".popover-wrapper{border-radius:.75rem;width:max-content;position:fixed;will-change:left,top,bottom,right,auto,opacity,filter;opacity:0;transition:opacity .15s ease-in-out,transform .15s ease-in-out,filter .15s ease-in-out;min-width:2rem;min-height:2rem;filter:grayscale(.9);transform:scale(.95);pointer-events:auto!important;z-index:10001!important}.popover-arrow{border-radius:.125rem;position:absolute;transform:scale(1) rotate(var(--rotation))!important;clip-path:var(--clip-path-triangle, polygon(0% 0%, 0% 100%, 100% 100%))}.show{filter:grayscale(0);transform:scale(1);opacity:1}.popover-wrapper:not(.show){pointer-events:none!important}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
3104
3116
|
}
|
|
3105
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
3117
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SIonPopoverComponent, decorators: [{
|
|
3106
3118
|
type: Component,
|
|
3107
3119
|
args: [{ selector: 'sion-popover', template: "<div #popoverWrapper \r\n class=\"popover-wrapper translucid-border\"\r\n [style.height]=\"height\"\r\n [style.width]=\"width\"\r\n [ngClass]=\"{\r\n 'bg-light' : fill == 'solid',\r\n 'bg-transparent' : fill == 'outline',\r\n 'bg-light/90' : fill == 'blur',\r\n '!border-0' : fill == 'clear',\r\n }\"\r\n> \r\n <div #popoverArrow class=\"popover-arrow size-4 translucid-border\"\r\n [ngClass]=\"{\r\n 'bg-light' : fill == 'solid',\r\n 'bg-transparent' : fill == 'outline',\r\n 'bg-light/90' : fill == 'blur',\r\n '!border-0' : fill == 'clear',\r\n }\"\r\n ></div>\r\n <ng-content #content></ng-content>\r\n</div>", styles: [".popover-wrapper{border-radius:.75rem;width:max-content;position:fixed;will-change:left,top,bottom,right,auto,opacity,filter;opacity:0;transition:opacity .15s ease-in-out,transform .15s ease-in-out,filter .15s ease-in-out;min-width:2rem;min-height:2rem;filter:grayscale(.9);transform:scale(.95);pointer-events:auto!important;z-index:10001!important}.popover-arrow{border-radius:.125rem;position:absolute;transform:scale(1) rotate(var(--rotation))!important;clip-path:var(--clip-path-triangle, polygon(0% 0%, 0% 100%, 100% 100%))}.show{filter:grayscale(0);transform:scale(1);opacity:1}.popover-wrapper:not(.show){pointer-events:none!important}\n"] }]
|
|
3108
3120
|
}], ctorParameters: () => [{ type: i0.NgZone }], propDecorators: { fill: [{
|
|
@@ -3227,15 +3239,35 @@ class InputDateComponent extends CustomInput {
|
|
|
3227
3239
|
this.SetValue(m);
|
|
3228
3240
|
}
|
|
3229
3241
|
SetValueFromMoment(value) {
|
|
3242
|
+
if (!value) {
|
|
3243
|
+
return;
|
|
3244
|
+
}
|
|
3230
3245
|
if (this.presentation === DatePresentation.Time) {
|
|
3231
|
-
const formatted = value
|
|
3246
|
+
const formatted = value.format('HH:mm');
|
|
3232
3247
|
this.value.set(formatted);
|
|
3233
3248
|
this.readableValue = formatted;
|
|
3234
3249
|
this.propagateChange(formatted);
|
|
3250
|
+
return;
|
|
3235
3251
|
}
|
|
3236
|
-
|
|
3237
|
-
|
|
3252
|
+
if (this.configuration().setHourMoment && this.presentation == DatePresentation.DateTime) {
|
|
3253
|
+
const now = moment();
|
|
3254
|
+
// Se ainda não existe momentValue OU hora/minuto zerados
|
|
3255
|
+
const aplicarHoraAtual = !this.momentValue ||
|
|
3256
|
+
(this.momentValue.hour() == 0 && this.momentValue.minute() == 0);
|
|
3257
|
+
if (aplicarHoraAtual) {
|
|
3258
|
+
value = value.clone()
|
|
3259
|
+
.hour(now.hour())
|
|
3260
|
+
.minute(now.minute())
|
|
3261
|
+
.second(0);
|
|
3262
|
+
}
|
|
3263
|
+
else {
|
|
3264
|
+
// mantém hora já escolhida anteriormente
|
|
3265
|
+
value = value.clone()
|
|
3266
|
+
.hour(this.hour ? Number(this.hour) : value.hour())
|
|
3267
|
+
.minute(this.minute ? Number(this.minute) : value.minute());
|
|
3268
|
+
}
|
|
3238
3269
|
}
|
|
3270
|
+
this.SetValue(value.format(InputDateComponent.FormatISO));
|
|
3239
3271
|
}
|
|
3240
3272
|
/**
|
|
3241
3273
|
* @param obj String in ISO format (YYYY-MM-DDThh:mm:ss)
|
|
@@ -3325,13 +3357,13 @@ class InputDateComponent extends CustomInput {
|
|
|
3325
3357
|
this.momentValue.set('minute', Number(event));
|
|
3326
3358
|
this.SetValueFromMoment(this.momentValue);
|
|
3327
3359
|
}
|
|
3328
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
3329
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
3360
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputDateComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3361
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: InputDateComponent, selector: "input-date, input-date-time, input-time", inputs: { configuration: { classPropertyName: "configuration", publicName: "configuration", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "window:resize": "onResize($event)", "keydown": "onKeyDown($event)" } }, providers: [
|
|
3330
3362
|
...InputProviderFactory.GetProviders(InputDateComponent),
|
|
3331
3363
|
{ provide: CustomInput, useExisting: forwardRef(() => InputDateComponent) },
|
|
3332
3364
|
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "inputContainer", first: true, predicate: ["inputContainer"], descendants: true }, { propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }, { propertyName: "datetime", first: true, predicate: IonDatetime, descendants: true }, { propertyName: "popover", first: true, predicate: SIonPopoverComponent, descendants: true }, { propertyName: "modal", first: true, predicate: IonModal, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"setFocus($event)\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"disabled() || loading()\"\r\n [class.loading]=\"loading()\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n \r\n <input #input\r\n [ngModel]=\"readableValue\" \r\n (ngModelChange)=\"SetValueFromReadable($event);\"\r\n [maskito]=\"options\"\r\n [disabled]=\"disabled() || loading()\"\r\n (blur)=\"blur.emit($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n />\r\n <ion-button *ngIf=\"configuration().clearable && readableValue\" tabindex=\"-1\" class=\"absolute right-8 bottom-1\" \r\n (click)=\"ClearValue($event)\" color=\"medium\" size=\"small\" fill=\"clear\" style=\"--border-radius: .5rem\"\r\n >\r\n <ion-icon name=\"close\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n \r\n <ion-button tabindex=\"-1\" class=\"absolute right-2 bottom-1\" (click)=\"Present($event)\" color=\"medium\" size=\"small\" fill=\"clear\" style=\"--border-radius: .5rem\">\r\n <ion-icon [name]=\"presentation == DatePresentation.Time ? 'time' : 'calendar'\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n\r\n <div class=\"loading-container\" [class.loading]=\"loading()\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n</div>\r\n\r\n@if (interface() == DateInterfaces.Popover) {\r\n <sion-popover\r\n #popover \r\n [anchor]=\"inputContainer\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"datetimeTemplate;\"></ng-container>\r\n </sion-popover>\r\n}\r\n@else {\r\n <ion-modal \r\n #modal\r\n [class.time]=\"presentation == DatePresentation.Time\" \r\n [class.date]=\"presentation == DatePresentation.Date\" \r\n [class.datetime]=\"presentation == DatePresentation.DateTime\"\r\n >\r\n <ng-template>\r\n <ng-container *ngTemplateOutlet=\"datetimeTemplate;\"></ng-container>\r\n </ng-template>\r\n </ion-modal>\r\n}\r\n\r\n\r\n<ng-template #datetimeTemplate>\r\n <div class=\"flex items-center justify-center bg-[--ion-color-light] rounded-xl\" tabindex=\"-1\">\r\n \r\n @if ([DatePresentation.DateTime, DatePresentation.Date].includes(presentation)) {\r\n <mat-calendar #calendar class=\"w-72 text-dark\" \r\n [(selected)]=\"momentValue\" \r\n (selectedChange)=\"SetValueFromMoment($event)\"\r\n ></mat-calendar>\r\n }\r\n @if ([DatePresentation.DateTime, DatePresentation.Time].includes(presentation)) {\r\n <div class=\"flex h-full mask-y/30 items-center justify-center\">\r\n <ion-picker>\r\n <ion-picker-column (ionChange)=\"OnChangeHour($event.target.value.toString())\" [value]=\"hour\">\r\n @for (item of lstHours; track $index) {\r\n <ion-picker-column-option [value]=\"item\">{{item}}</ion-picker-column-option>\r\n }\r\n </ion-picker-column>\r\n <ion-picker-column (ionChange)=\"OnChangeMinute($event.target.value.toString())\" [value]=\"minute\">\r\n @for (item of lstMinutes; track $index) {\r\n <ion-picker-column-option [value]=\"item\">{{item}}</ion-picker-column-option>\r\n }\r\n </ion-picker-column>\r\n </ion-picker>\r\n </div>\r\n }\r\n\r\n </div>\r\n</ng-template>\r\n", styles: [".input-container{position:relative!important}.input-container input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}ion-picker{height:100%;--fade-background-rgb: transparent}ion-modal{--width: fit-content;--height: fit-content}\n", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:auto;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"], dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonPicker, selector: "ion-picker", inputs: ["mode"] }, { kind: "component", type: i1.IonPickerColumn, selector: "ion-picker-column", inputs: ["color", "disabled", "mode", "value"] }, { kind: "component", type: i1.IonPickerColumnOption, selector: "ion-picker-column-option", inputs: ["color", "disabled", "value"] }, { kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i1.IonModal, selector: "ion-modal" }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "component", type: SIonPopoverComponent, selector: "sion-popover", inputs: ["fill", "arrow", "flip", "placement", "height", "width", "anchor"], outputs: ["onWillPresent", "onDidPresent", "onWillDismiss", "onDidDismiss"] }, { kind: "component", type: i6.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }] }); }
|
|
3333
3365
|
}
|
|
3334
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
3366
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputDateComponent, decorators: [{
|
|
3335
3367
|
type: Component,
|
|
3336
3368
|
args: [{ selector: 'input-date, input-date-time, input-time', providers: [
|
|
3337
3369
|
...InputProviderFactory.GetProviders(InputDateComponent),
|
|
@@ -3389,7 +3421,18 @@ class InputDecimalComponent extends CustomInput {
|
|
|
3389
3421
|
this.configuration = model();
|
|
3390
3422
|
this.digitsInfo = computed(() => `1.${this.configuration().precision}-${this.configuration().precision}`);
|
|
3391
3423
|
this.divider = computed(() => Math.pow(10, this.configuration().precision));
|
|
3392
|
-
this.
|
|
3424
|
+
this.placeholder = computed(() => {
|
|
3425
|
+
const selector = this.elementRef.nativeElement.tagName.toLowerCase().split('-').at(-1);
|
|
3426
|
+
if (selector == "number") {
|
|
3427
|
+
return `0`;
|
|
3428
|
+
}
|
|
3429
|
+
else {
|
|
3430
|
+
const zeros = '0'.repeat(this.configuration().precision);
|
|
3431
|
+
return `0,${zeros}`;
|
|
3432
|
+
}
|
|
3433
|
+
});
|
|
3434
|
+
this.value.set(null);
|
|
3435
|
+
this.valueString = '';
|
|
3393
3436
|
const selector = this.elementRef.nativeElement.tagName.toLowerCase().split('-').at(-1);
|
|
3394
3437
|
if (selector == "number" && !this.configuration()) {
|
|
3395
3438
|
this.configuration.set(new InputNumberConfiguration());
|
|
@@ -3407,12 +3450,22 @@ class InputDecimalComponent extends CustomInput {
|
|
|
3407
3450
|
}
|
|
3408
3451
|
writeValue(obj) {
|
|
3409
3452
|
this.value.set(obj);
|
|
3410
|
-
|
|
3453
|
+
if (!obj) {
|
|
3454
|
+
this.valueString = '';
|
|
3455
|
+
}
|
|
3456
|
+
else {
|
|
3457
|
+
this.SetValueString();
|
|
3458
|
+
}
|
|
3411
3459
|
this.runValidation();
|
|
3412
3460
|
}
|
|
3413
3461
|
SetValue(obj) {
|
|
3414
3462
|
this.value.set(obj);
|
|
3415
|
-
|
|
3463
|
+
if (!obj) {
|
|
3464
|
+
this.valueString = '';
|
|
3465
|
+
}
|
|
3466
|
+
else {
|
|
3467
|
+
this.SetValueString();
|
|
3468
|
+
}
|
|
3416
3469
|
this.runValidation();
|
|
3417
3470
|
this.propagateChange(obj);
|
|
3418
3471
|
}
|
|
@@ -3536,6 +3589,12 @@ class InputDecimalComponent extends CustomInput {
|
|
|
3536
3589
|
const isNumber = lstNumbers.includes(previousChar);
|
|
3537
3590
|
const f = atLeft.slice(0, atLeft.length - (isNumber ? 1 : 2)) + atRight;
|
|
3538
3591
|
const CurrentValue = this.SanitizeValue(f);
|
|
3592
|
+
if (f === '' || Sanitize(f) === '') {
|
|
3593
|
+
this.SetValue(null);
|
|
3594
|
+
await Timeout(0);
|
|
3595
|
+
this.input.nativeElement.setSelectionRange(0, 0);
|
|
3596
|
+
return;
|
|
3597
|
+
}
|
|
3539
3598
|
//[ Handle Set Cursor Position]
|
|
3540
3599
|
this.SetValue(CurrentValue);
|
|
3541
3600
|
await Timeout(0);
|
|
@@ -3551,6 +3610,12 @@ class InputDecimalComponent extends CustomInput {
|
|
|
3551
3610
|
const isNumber = lstNumbers.includes(nextChar);
|
|
3552
3611
|
const f = atLeft + atRight.slice(isNumber ? 1 : 2);
|
|
3553
3612
|
const CurrentValue = this.SanitizeValue(f);
|
|
3613
|
+
if (f === '' || Sanitize(f) === '') {
|
|
3614
|
+
this.SetValue(null);
|
|
3615
|
+
await Timeout(0);
|
|
3616
|
+
this.input.nativeElement.setSelectionRange(0, 0);
|
|
3617
|
+
return;
|
|
3618
|
+
}
|
|
3554
3619
|
//[ Handle Set Cursor Position]
|
|
3555
3620
|
this.SetValue(CurrentValue);
|
|
3556
3621
|
var pos = selectionStart;
|
|
@@ -3577,18 +3642,18 @@ class InputDecimalComponent extends CustomInput {
|
|
|
3577
3642
|
return;
|
|
3578
3643
|
}
|
|
3579
3644
|
}
|
|
3580
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
3581
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
3645
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputDecimalComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3646
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: InputDecimalComponent, selector: "input-decimal, input-number, input-currency, input-percentage", inputs: { configuration: { classPropertyName: "configuration", publicName: "configuration", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { configuration: "configurationChange" }, host: { listeners: { "paste": "onPaste($event)" } }, providers: [
|
|
3582
3647
|
...InputProviderFactory.GetProviders(InputDecimalComponent),
|
|
3583
3648
|
{ provide: CustomInput, useExisting: forwardRef(() => InputDecimalComponent) },
|
|
3584
|
-
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "inputContainer", first: true, predicate: ["inputContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"setFocus($event)\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"disabled() || loading()\"\r\n [class.loading]=\"loading()\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n\r\n <div class=\"decimal-input-container text-dark\">\r\n <span *ngIf=\"configuration().prefix\" slot=\"start\">{{configuration().prefix}}</span>\r\n <input #input\r\n inputmode=\"numeric\"\r\n [value]=\"valueString\" \r\n (keydown)=\"onKeyDown($event)\"\r\n [disabled]=\"disabled() || loading()\"\r\n (blur)=\"blur.emit($event)\"\r\n />\r\n <span *ngIf=\"configuration().sufix\" slot=\"end\" >{{configuration().sufix}}</span>\r\n </div>\r\n <div class=\"loading-container\" [class.loading]=\"loading()\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n</div>", styles: ["input{text-align:right;width:100%}.decimal-input-container{display:flex;width:100%;align-items:center;justify-content:center;gap:.25rem}.decimal-input-container span{flex-shrink:0}\n", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:auto;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"], dependencies: [{ kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
3649
|
+
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "inputContainer", first: true, predicate: ["inputContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"setFocus($event)\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"disabled() || loading()\"\r\n [class.loading]=\"loading()\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n\r\n <div class=\"decimal-input-container text-dark\">\r\n <span *ngIf=\"configuration().prefix\" slot=\"start\">{{configuration().prefix}}</span>\r\n <input #input\r\n inputmode=\"numeric\"\r\n [attr.placeholder]=\"!valueString ? placeholder() : null\"\r\n [value]=\"valueString\" \r\n (keydown)=\"onKeyDown($event)\"\r\n [disabled]=\"disabled() || loading()\"\r\n (blur)=\"blur.emit($event)\"\r\n />\r\n <span *ngIf=\"configuration().sufix\" slot=\"end\" >{{configuration().sufix}}</span>\r\n </div>\r\n <div class=\"loading-container\" [class.loading]=\"loading()\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n</div>", styles: ["input{text-align:right;width:100%}.decimal-input-container{display:flex;width:100%;align-items:center;justify-content:center;gap:.25rem}.decimal-input-container span{flex-shrink:0}\n", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:auto;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"], dependencies: [{ kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
3585
3650
|
}
|
|
3586
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
3651
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputDecimalComponent, decorators: [{
|
|
3587
3652
|
type: Component,
|
|
3588
3653
|
args: [{ selector: 'input-decimal, input-number, input-currency, input-percentage', providers: [
|
|
3589
3654
|
...InputProviderFactory.GetProviders(InputDecimalComponent),
|
|
3590
3655
|
{ provide: CustomInput, useExisting: forwardRef(() => InputDecimalComponent) },
|
|
3591
|
-
], template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"setFocus($event)\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"disabled() || loading()\"\r\n [class.loading]=\"loading()\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n\r\n <div class=\"decimal-input-container text-dark\">\r\n <span *ngIf=\"configuration().prefix\" slot=\"start\">{{configuration().prefix}}</span>\r\n <input #input\r\n inputmode=\"numeric\"\r\n [value]=\"valueString\" \r\n (keydown)=\"onKeyDown($event)\"\r\n [disabled]=\"disabled() || loading()\"\r\n (blur)=\"blur.emit($event)\"\r\n />\r\n <span *ngIf=\"configuration().sufix\" slot=\"end\" >{{configuration().sufix}}</span>\r\n </div>\r\n <div class=\"loading-container\" [class.loading]=\"loading()\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n</div>", styles: ["input{text-align:right;width:100%}.decimal-input-container{display:flex;width:100%;align-items:center;justify-content:center;gap:.25rem}.decimal-input-container span{flex-shrink:0}\n", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:auto;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"] }]
|
|
3656
|
+
], template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"setFocus($event)\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"disabled() || loading()\"\r\n [class.loading]=\"loading()\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n\r\n <div class=\"decimal-input-container text-dark\">\r\n <span *ngIf=\"configuration().prefix\" slot=\"start\">{{configuration().prefix}}</span>\r\n <input #input\r\n inputmode=\"numeric\"\r\n [attr.placeholder]=\"!valueString ? placeholder() : null\"\r\n [value]=\"valueString\" \r\n (keydown)=\"onKeyDown($event)\"\r\n [disabled]=\"disabled() || loading()\"\r\n (blur)=\"blur.emit($event)\"\r\n />\r\n <span *ngIf=\"configuration().sufix\" slot=\"end\" >{{configuration().sufix}}</span>\r\n </div>\r\n <div class=\"loading-container\" [class.loading]=\"loading()\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n</div>", styles: ["input{text-align:right;width:100%}.decimal-input-container{display:flex;width:100%;align-items:center;justify-content:center;gap:.25rem}.decimal-input-container span{flex-shrink:0}\n", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:auto;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"] }]
|
|
3592
3657
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { input: [{
|
|
3593
3658
|
type: ViewChild,
|
|
3594
3659
|
args: ['input']
|
|
@@ -3614,10 +3679,10 @@ class SIonPlaceholderTemplateDirective {
|
|
|
3614
3679
|
constructor(template) {
|
|
3615
3680
|
this.template = template;
|
|
3616
3681
|
}
|
|
3617
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
3618
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
3682
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SIonPlaceholderTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3683
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: SIonPlaceholderTemplateDirective, selector: "[sionPlaceholderTemplate]", ngImport: i0 }); }
|
|
3619
3684
|
}
|
|
3620
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
3685
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SIonPlaceholderTemplateDirective, decorators: [{
|
|
3621
3686
|
type: Directive,
|
|
3622
3687
|
args: [{
|
|
3623
3688
|
selector: '[sionPlaceholderTemplate]',
|
|
@@ -3628,10 +3693,10 @@ class SIonOptionTemplateDirective {
|
|
|
3628
3693
|
constructor(template) {
|
|
3629
3694
|
this.template = template;
|
|
3630
3695
|
}
|
|
3631
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
3632
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
3696
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SIonOptionTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3697
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: SIonOptionTemplateDirective, selector: "[sionOptionTemplate]", ngImport: i0 }); }
|
|
3633
3698
|
}
|
|
3634
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
3699
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SIonOptionTemplateDirective, decorators: [{
|
|
3635
3700
|
type: Directive,
|
|
3636
3701
|
args: [{
|
|
3637
3702
|
selector: '[sionOptionTemplate]',
|
|
@@ -3642,10 +3707,10 @@ class SIonLabelTemplateDirective {
|
|
|
3642
3707
|
constructor(template) {
|
|
3643
3708
|
this.template = template;
|
|
3644
3709
|
}
|
|
3645
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
3646
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
3710
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SIonLabelTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3711
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: SIonLabelTemplateDirective, selector: "[sionLabelTemplate]", ngImport: i0 }); }
|
|
3647
3712
|
}
|
|
3648
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
3713
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SIonLabelTemplateDirective, decorators: [{
|
|
3649
3714
|
type: Directive,
|
|
3650
3715
|
args: [{
|
|
3651
3716
|
selector: '[sionLabelTemplate]',
|
|
@@ -3740,13 +3805,13 @@ class InputSelectComponent extends CustomInput {
|
|
|
3740
3805
|
this.lstOptionsItemValue = computed(() => {
|
|
3741
3806
|
const bindLabel = BindLabelFactory(this.configuration());
|
|
3742
3807
|
const bindValue = BindValueFactory(this.configuration());
|
|
3743
|
-
return this.items().filter(p => (this.somenteAtivos() && this.
|
|
3808
|
+
return this.items().filter(p => (this.somenteAtivos() && this.hasAtivo()) ? p.ativo : true).map(p => {
|
|
3744
3809
|
const item = new ItemValue();
|
|
3745
3810
|
item.label = bindLabel(p);
|
|
3746
3811
|
item.value = bindValue(p);
|
|
3747
3812
|
item.item = p;
|
|
3748
3813
|
item.selected = this.value() == item.value;
|
|
3749
|
-
item.disabled = p.disabled || false || (this.
|
|
3814
|
+
item.disabled = p.disabled || false || (this.hasAtivo() && p.ativo == false);
|
|
3750
3815
|
return item;
|
|
3751
3816
|
});
|
|
3752
3817
|
});
|
|
@@ -3757,7 +3822,10 @@ class InputSelectComponent extends CustomInput {
|
|
|
3757
3822
|
this.lstButtonsAlert = [];
|
|
3758
3823
|
this.lstOptionsActionSheet = [];
|
|
3759
3824
|
this.infiniteScrollPage = signal(1);
|
|
3760
|
-
this.
|
|
3825
|
+
this.hasAtivo = computed(() => {
|
|
3826
|
+
return (this.configuration().hasAtivo == true ||
|
|
3827
|
+
this.configuration().loadFromService instanceof HttpServiceAtivo);
|
|
3828
|
+
});
|
|
3761
3829
|
this.somenteAtivos = signal(true);
|
|
3762
3830
|
this.selectedIndex = undefined;
|
|
3763
3831
|
this.searchBarControl = new FormControl('');
|
|
@@ -3807,7 +3875,7 @@ class InputSelectComponent extends CustomInput {
|
|
|
3807
3875
|
event.preventDefault();
|
|
3808
3876
|
// If the select is not ativo ignore the selected item
|
|
3809
3877
|
const item = this.lstOptions[this.selectedIndex];
|
|
3810
|
-
if (this.
|
|
3878
|
+
if (this.hasAtivo() && !item.item.ativo) {
|
|
3811
3879
|
return;
|
|
3812
3880
|
}
|
|
3813
3881
|
this.Select(item);
|
|
@@ -3942,18 +4010,18 @@ class InputSelectComponent extends CustomInput {
|
|
|
3942
4010
|
isArray(obj) {
|
|
3943
4011
|
return Array.isArray(obj);
|
|
3944
4012
|
}
|
|
3945
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
3946
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
4013
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputSelectComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4014
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: InputSelectComponent, selector: "input-select", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, configuration: { classPropertyName: "configuration", publicName: "configuration", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { items: "itemsChange" }, host: { listeners: { "window:resize": "onResize($event)", "document:keydown": "HandleKeyboardEvent($event)" } }, providers: [
|
|
3947
4015
|
...InputProviderFactory.GetProviders(InputSelectComponent),
|
|
3948
4016
|
{ provide: CustomInput, useExisting: forwardRef(() => InputSelectComponent) },
|
|
3949
|
-
], queries: [{ propertyName: "labelTemplate", first: true, predicate: SIonLabelTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "optionTemplate", first: true, predicate: SIonOptionTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "placeholderTemplate", first: true, predicate: SIonPlaceholderTemplateDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "inputContainer", first: true, predicate: ["inputContainer"], descendants: true }, { propertyName: "inputSelectLabel", first: true, predicate: ["inputSelectLabel"], descendants: true }, { propertyName: "inputSearchBar", first: true, predicate: ["inputSearchBar"], descendants: true }, { propertyName: "selectContent", first: true, predicate: ["selectContent"], descendants: true }, { propertyName: "popover", first: true, predicate: SIonPopoverComponent, descendants: true }, { propertyName: "modal", first: true, predicate: IonModal, descendants: true }, { propertyName: "alert", first: true, predicate: IonAlert, descendants: true }, { propertyName: "actionSheet", first: true, predicate: IonActionSheet, descendants: true }, { propertyName: "ionContent", first: true, predicate: ["scrollContent"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"setFocus($event);\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.manual-focus]=\"floatingVisible\"\r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"loading() || loadingFromLoader || disabled()\"\r\n [class.loading]=\"loading() || loadingFromLoader\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n \r\n <div class=\"w-full truncate outline-none\" [class.pr-7]=\"!configuration().clearable\" [class.pr-10]=\"configuration().clearable\" #inputSelectLabel tabindex=\"0\">\r\n @if (!configuration().multiple && currentLabel){\r\n @if(labelTemplate){\r\n <ng-container \r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: currentLabel, item: currentItems.item }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"input-select-label\"> {{currentLabel}} </span>\r\n }\r\n }\r\n @else if (configuration().multiple && isArray(currentItems) && $any(currentItems).length) {\r\n <div class=\"w-full min-h-6 overflow-hidden relative\">\r\n <div class=\"absolute left-0 top-0 overflow-x-auto flex gap-2 size-full mask-x/2\">\r\n @for (item of currentItems; track $index) {\r\n <div class=\"translucid-border rounded-lg flex items-center justify-center gap-2 pl-2\">\r\n @if(labelTemplate){\r\n <ng-container \r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item.label, item: item.item }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"input-select-label\"> {{item.label}} </span>\r\n }\r\n \r\n <div class=\"h-full aspect-square flex items-center justify-center cursor-pointer\" (click)=\"Select(item); $event.stopPropagation()\">\r\n <ion-icon name=\"close\" color=\"danger\" slot=\"icon-only\"></ion-icon>\r\n </div>\r\n <!-- <ion-button class=\"m-0 h-full\" (click)=\"Select(item.value); $event.stopPropagation()\" color=\"medium\" size=\"small\" fill=\"outline\" style=\"--border-radius: .5rem\">\r\n <ion-icon name=\"close\" color=\"danger\" slot=\"icon-only\"></ion-icon>\r\n </ion-button> -->\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n @else {\r\n @if(placeholderTemplate){\r\n <ng-container \r\n [ngTemplateOutlet]=\"placeholderTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: this.configuration().placeholder, placeholder: this.configuration().placeholder }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"input-select-label !text-medium\"> {{this.configuration().placeholder}} </span>\r\n }\r\n }\r\n </div>\r\n\r\n <div class=\"absolute bottom-1 flex flex-col items-center justify-center size-7\" [class.right-1]=\"!configuration().clearable\" [class.right-8]=\"configuration().clearable\">\r\n <ion-icon class=\"-mb-0.5\" name=\"chevron-up\"></ion-icon>\r\n <ion-icon class=\"-mt-0.5\" name=\"chevron-down\"></ion-icon>\r\n </div>\r\n @if(configuration().clearable){\r\n <ion-button class=\"absolute right-1 bottom-1\" (click)=\"Clear($event)\" color=\"medium\" size=\"small\" fill=\"clear\" style=\"--border-radius: .5rem\">\r\n <ion-icon name=\"close\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n } \r\n\r\n <div class=\"loading-container\" [class.loading]=\"loading() || loadingFromLoader\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n <div class=\"error-container\" (click)=\"configuration().loader.Refresh()\" [class.active]=\"configuration().loader.error && !loadingFromLoader\">\r\n <ion-icon class=\"text-xl\" color=\"danger\" name=\"refresh-circle\"></ion-icon>\r\n </div>\r\n</div>\r\n\r\n@if(!disabled() && renderInterface){\r\n @switch (interface()) {\r\n @case (SelectInterfaces.Popover) {\r\n <sion-popover \r\n #popover \r\n [width]=\"inputContainer.offsetWidth + 'px'\" \r\n (onWillPresent)=\"OnPresent()\" \r\n (onDidDismiss)=\"OnDismiss()\" \r\n [anchor]=\"inputContainer\" \r\n [placement]=\"configuration().popoverConfiguration.placement\" \r\n [flip]=\"configuration().popoverConfiguration.flip\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"selectContentTemplate\"></ng-container>\r\n </sion-popover>\r\n }\r\n @case (SelectInterfaces.Modal) {\r\n <ion-modal #modal (ionModalWillPresent)=\"OnPresent()\" (didDismiss)=\"OnDismiss()\" [initialBreakpoint]=\"0.9\" [keepContentsMounted]=\"true\">\r\n <ng-template>\r\n <ion-header>\r\n <ion-toolbar>\r\n <ion-title class=\"text-center\">\r\n {{label()}}\r\n </ion-title>\r\n <ion-buttons slot=\"end\">\r\n <ion-button (click)=\"modal.dismiss()\">\r\n <ion-icon name=\"close-circle\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n </ion-toolbar>\r\n </ion-header>\r\n \r\n <ng-container [ngTemplateOutlet]=\"selectContentTemplate\" [ngTemplateOutletContext]=\"{ modal: true }\"></ng-container>\r\n </ng-template>\r\n </ion-modal>\r\n }\r\n @case (SelectInterfaces.ActionSheet) {\r\n <ion-action-sheet #actionSheet trigger=\"open-action-sheet\" [header]=\"label()\" [buttons]=\"lstOptionsActionSheet\"></ion-action-sheet>\r\n }\r\n }\r\n}\r\n\r\n<ng-template #selectContentTemplate let-modal=\"modal\">\r\n <div #selectContent class=\"select-content\" [class.!size-full]=\"modal\">\r\n <div class=\"select-search-bar-container\">\r\n <div class=\"select-search-bar-icon-container !border-r-0 border-primary/70 bg-primary/70 shrink-0\">\r\n <ion-icon color=\"dark\" name=\"search\"></ion-icon>\r\n </div>\r\n <input #inputSearchBar tabindex=\"-1\" class=\"select-search-bar border-primary/70 !rounded-l-none\" [formControl]=\"searchBarControl\"/>\r\n </div> \r\n <ul class=\"select-item-list mask-y\" role=\"listbox\" [attr.aria-activedescendant]=\"'sion-is-' + selectedIndex\">\r\n <ion-content #scrollContent class=\"size-full\" [scrollY]=\"true\">\r\n @for (item of lstOptions; track item.value) { \r\n <ng-container \r\n [ngTemplateOutlet]=\"baseOptionTemplate\"\r\n [ngTemplateOutletContext]=\"{ item: item, index: $index }\">\r\n </ng-container>\r\n }\r\n @if(configuration().useInfiniteScroll){\r\n <ion-infinite-scroll threshold=\"10px\" *ngIf=\"lstOptions.length && lstOptions.length != lstOptionsItemValue().length\" (ionInfinite)=\"AddPage($event)\">\r\n <ion-infinite-scroll-content></ion-infinite-scroll-content>\r\n </ion-infinite-scroll>\r\n }\r\n </ion-content>\r\n </ul>\r\n @if(isServiceAtivo()){\r\n <div class=\"w-full text-xs flex items-center justify-end\">\r\n <ion-checkbox [ngModel]=\"somenteAtivos()\" (ngModelChange)=\"somenteAtivos.set($event)\" class=\"scale-75\"> Somente ativos </ion-checkbox>\r\n </div>\r\n }\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #baseOptionTemplate let-item=\"item\" let-index=\"index\">\r\n <li [id]=\"'sion-is-' + index\" class=\"select-item\" [class.disabled]=\"item.disabled\" [attr.aria-selected]=\"index == selectedIndex\" (mouseenter)=\"selectedIndex = index\" (click)=\"Select(item)\">\r\n <div class=\"select-item-checkmark-conteiner\">\r\n @if(item.selected) {\r\n <ion-icon class=\"select-item-checkmark\" color=\"primary\" name=\"checkmark\"></ion-icon>\r\n }\r\n </div>\r\n @if (optionTemplate) {\r\n <ng-container \r\n [ngTemplateOutlet]=\"optionTemplate\"\r\n [ngTemplateOutletContext]=\"{ item: item.item }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"select-item-label\"> {{item.label}} </span>\r\n }\r\n </li>\r\n</ng-template>", styles: [".input-container{cursor:pointer!important}.input-select-label{pointer-events:none;min-height:1.5rem;width:100%;outline:2px solid transparent;outline-offset:2px;color:var(--ion-color-dark)}.select-content{display:flex;height:18rem;width:100%;flex-direction:column;gap:.25rem;overflow:hidden;padding:.25rem}.select-content .select-search-bar-container{display:flex;width:100%;flex-shrink:1}.select-content .select-search-bar-container .select-search-bar-icon-container{display:flex;height:100%;width:1.75rem;align-items:center;justify-content:center;border-top-left-radius:.375rem;border-bottom-left-radius:.375rem;border-width:1px}.select-content .select-search-bar-container .select-search-bar{width:100%;flex-shrink:1;border-radius:.375rem;border-width:1px;background-color:transparent;padding-left:.5rem;padding-right:.5rem;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}@media (orientation: portrait){.select-content .select-search-bar-container .select-search-bar{height:2.5rem}}@media (orientation: landscape){.select-content .select-search-bar-container .select-search-bar{height:1.75rem}}.select-item-list{width:100%;height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem}.select-item-list .select-item{color:var(--ion-color-dark);display:flex;width:100%;flex-shrink:0;align-items:center;justify-content:flex-start;border-radius:.375rem;padding-right:.5rem}@media (orientation: portrait){.select-item-list .select-item{min-height:2.5rem}}@media (orientation: landscape){.select-item-list .select-item{min-height:2rem}}.select-item-list .select-item{cursor:pointer}.select-item-list .select-item.disabled{opacity:.5;pointer-events:none}.select-item-list .select-item:hover,.select-item-list .select-item:focus,.select-item-list .select-item[aria-selected=true]{background-color:color-mix(in srgb,var(--ion-color-dark) 20%,transparent)}.select-item-list .select-item .select-item-checkmark-conteiner{display:flex;height:100%;width:1.75rem;flex-shrink:0;align-items:center;justify-content:center}.select-item-list .select-item .select-item-label{width:100%}.error-container{pointer-events:none;position:absolute;bottom:0;left:0;z-index:200;display:flex;width:100%;height:100%;--tw-translate-y: -3rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));align-items:center;justify-content:center;opacity:0;will-change:opacity,auto;transition:opacity .2s ease-in-out,transform .2s ease-in-out}.error-container.active{pointer-events:auto!important;--tw-translate-y: 0px !important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important;opacity:1!important}\n", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:auto;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"], dependencies: [{ kind: "component", type: i1.IonActionSheet, selector: "ion-action-sheet", inputs: ["animated", "backdropDismiss", "buttons", "cssClass", "enterAnimation", "header", "htmlAttributes", "isOpen", "keyboardClose", "leaveAnimation", "mode", "subHeader", "translucent", "trigger"] }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i1.IonCheckbox, selector: "ion-checkbox", inputs: ["alignment", "checked", "color", "disabled", "errorText", "helperText", "indeterminate", "justify", "labelPlacement", "mode", "name", "required", "value"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonInfiniteScroll, selector: "ion-infinite-scroll", inputs: ["disabled", "position", "threshold"] }, { kind: "component", type: i1.IonInfiniteScrollContent, selector: "ion-infinite-scroll-content", inputs: ["loadingSpinner", "loadingText"] }, { kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i1.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonModal, selector: "ion-modal" }, { kind: "directive", type: i1.BooleanValueAccessor, selector: "ion-checkbox,ion-toggle" }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SIonPopoverComponent, selector: "sion-popover", inputs: ["fill", "arrow", "flip", "placement", "height", "width", "anchor"], outputs: ["onWillPresent", "onDidPresent", "onWillDismiss", "onDidDismiss"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4017
|
+
], queries: [{ propertyName: "labelTemplate", first: true, predicate: SIonLabelTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "optionTemplate", first: true, predicate: SIonOptionTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "placeholderTemplate", first: true, predicate: SIonPlaceholderTemplateDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "inputContainer", first: true, predicate: ["inputContainer"], descendants: true }, { propertyName: "inputSelectLabel", first: true, predicate: ["inputSelectLabel"], descendants: true }, { propertyName: "inputSearchBar", first: true, predicate: ["inputSearchBar"], descendants: true }, { propertyName: "selectContent", first: true, predicate: ["selectContent"], descendants: true }, { propertyName: "popover", first: true, predicate: SIonPopoverComponent, descendants: true }, { propertyName: "modal", first: true, predicate: IonModal, descendants: true }, { propertyName: "alert", first: true, predicate: IonAlert, descendants: true }, { propertyName: "actionSheet", first: true, predicate: IonActionSheet, descendants: true }, { propertyName: "ionContent", first: true, predicate: ["scrollContent"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"setFocus($event);\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.manual-focus]=\"floatingVisible\"\r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"loading() || loadingFromLoader || disabled()\"\r\n [class.loading]=\"loading() || loadingFromLoader\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n \r\n <div class=\"w-full truncate outline-none\" [class.pr-7]=\"!configuration().clearable\" [class.pr-10]=\"configuration().clearable\" #inputSelectLabel tabindex=\"0\">\r\n @if (!configuration().multiple && currentLabel){\r\n @if(labelTemplate){\r\n <ng-container \r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: currentLabel, item: currentItems.item }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"input-select-label\"> {{currentLabel}} </span>\r\n }\r\n }\r\n @else if (configuration().multiple && isArray(currentItems) && $any(currentItems).length) {\r\n <div class=\"w-full min-h-6 overflow-hidden relative\">\r\n <div class=\"absolute left-0 top-0 overflow-x-auto flex gap-2 size-full mask-x/2\">\r\n @for (item of currentItems; track $index) {\r\n <div class=\"translucid-border rounded-lg flex items-center justify-center gap-2 pl-2\">\r\n @if(labelTemplate){\r\n <ng-container \r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item.label, item: item.item }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"input-select-label\"> {{item.label}} </span>\r\n }\r\n \r\n <div class=\"h-full aspect-square flex items-center justify-center cursor-pointer\" (click)=\"Select(item); $event.stopPropagation()\">\r\n <ion-icon name=\"close\" color=\"danger\" slot=\"icon-only\"></ion-icon>\r\n </div>\r\n <!-- <ion-button class=\"m-0 h-full\" (click)=\"Select(item.value); $event.stopPropagation()\" color=\"medium\" size=\"small\" fill=\"outline\" style=\"--border-radius: .5rem\">\r\n <ion-icon name=\"close\" color=\"danger\" slot=\"icon-only\"></ion-icon>\r\n </ion-button> -->\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n @else {\r\n @if(placeholderTemplate){\r\n <ng-container \r\n [ngTemplateOutlet]=\"placeholderTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: this.configuration().placeholder, placeholder: this.configuration().placeholder }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"input-select-label !text-medium\"> {{this.configuration().placeholder}} </span>\r\n }\r\n }\r\n </div>\r\n\r\n <div class=\"absolute bottom-1 flex flex-col items-center justify-center size-7\" [class.right-1]=\"!configuration().clearable\" [class.right-8]=\"configuration().clearable\">\r\n <ion-icon class=\"-mb-0.5\" name=\"chevron-up\"></ion-icon>\r\n <ion-icon class=\"-mt-0.5\" name=\"chevron-down\"></ion-icon>\r\n </div>\r\n @if(configuration().clearable){\r\n <ion-button class=\"absolute right-1 bottom-1\" (click)=\"Clear($event)\" color=\"medium\" size=\"small\" fill=\"clear\" style=\"--border-radius: .5rem\">\r\n <ion-icon name=\"close\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n } \r\n\r\n <div class=\"loading-container\" [class.loading]=\"loading() || loadingFromLoader\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n <div class=\"error-container\" (click)=\"configuration().loader.Refresh()\" [class.active]=\"configuration().loader.error && !loadingFromLoader\">\r\n <ion-icon class=\"text-xl\" color=\"danger\" name=\"refresh-circle\"></ion-icon>\r\n </div>\r\n</div>\r\n\r\n@if(!disabled() && renderInterface){\r\n @switch (interface()) {\r\n @case (SelectInterfaces.Popover) {\r\n <sion-popover \r\n #popover \r\n [width]=\"inputContainer.offsetWidth + 'px'\" \r\n (onWillPresent)=\"OnPresent()\" \r\n (onDidDismiss)=\"OnDismiss()\" \r\n [anchor]=\"inputContainer\" \r\n [placement]=\"configuration().popoverConfiguration.placement\" \r\n [flip]=\"configuration().popoverConfiguration.flip\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"selectContentTemplate\"></ng-container>\r\n </sion-popover>\r\n }\r\n @case (SelectInterfaces.Modal) {\r\n <ion-modal #modal (ionModalWillPresent)=\"OnPresent()\" (didDismiss)=\"OnDismiss()\" [initialBreakpoint]=\"0.9\" [keepContentsMounted]=\"true\">\r\n <ng-template>\r\n <ion-header>\r\n <ion-toolbar>\r\n <ion-title class=\"text-center\">\r\n {{label()}}\r\n </ion-title>\r\n <ion-buttons slot=\"end\">\r\n <ion-button (click)=\"modal.dismiss()\">\r\n <ion-icon name=\"close-circle\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n </ion-toolbar>\r\n </ion-header>\r\n \r\n <ng-container [ngTemplateOutlet]=\"selectContentTemplate\" [ngTemplateOutletContext]=\"{ modal: true }\"></ng-container>\r\n </ng-template>\r\n </ion-modal>\r\n }\r\n @case (SelectInterfaces.ActionSheet) {\r\n <ion-action-sheet #actionSheet trigger=\"open-action-sheet\" [header]=\"label()\" [buttons]=\"lstOptionsActionSheet\"></ion-action-sheet>\r\n }\r\n }\r\n}\r\n\r\n<ng-template #selectContentTemplate let-modal=\"modal\">\r\n <div #selectContent class=\"select-content\" [class.!size-full]=\"modal\">\r\n <div class=\"select-search-bar-container\">\r\n <div class=\"select-search-bar-icon-container !border-r-0 border-primary/70 bg-primary/70 shrink-0\">\r\n <ion-icon color=\"dark\" name=\"search\"></ion-icon>\r\n </div>\r\n <input #inputSearchBar tabindex=\"-1\" class=\"select-search-bar border-primary/70 !rounded-l-none\" [formControl]=\"searchBarControl\"/>\r\n </div> \r\n <ul class=\"select-item-list mask-y\" role=\"listbox\" [attr.aria-activedescendant]=\"'sion-is-' + selectedIndex\">\r\n <ion-content #scrollContent class=\"size-full\" [scrollY]=\"true\">\r\n @for (item of lstOptions; track item.value) { \r\n <ng-container \r\n [ngTemplateOutlet]=\"baseOptionTemplate\"\r\n [ngTemplateOutletContext]=\"{ item: item, index: $index }\">\r\n </ng-container>\r\n }\r\n @if(configuration().useInfiniteScroll){\r\n <ion-infinite-scroll threshold=\"10px\" *ngIf=\"lstOptions.length && lstOptions.length != lstOptionsItemValue().length\" (ionInfinite)=\"AddPage($event)\">\r\n <ion-infinite-scroll-content></ion-infinite-scroll-content>\r\n </ion-infinite-scroll>\r\n }\r\n </ion-content>\r\n </ul>\r\n @if(hasAtivo()){\r\n <div class=\"w-full text-xs flex items-center justify-end\">\r\n <ion-checkbox [ngModel]=\"somenteAtivos()\" (ngModelChange)=\"somenteAtivos.set($event)\" class=\"scale-75\"> Somente ativos </ion-checkbox>\r\n </div>\r\n }\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #baseOptionTemplate let-item=\"item\" let-index=\"index\">\r\n <li [id]=\"'sion-is-' + index\" class=\"select-item\" [class.disabled]=\"item.disabled\" [attr.aria-selected]=\"index == selectedIndex\" (mouseenter)=\"selectedIndex = index\" (click)=\"Select(item)\">\r\n <div class=\"select-item-checkmark-conteiner\">\r\n @if(item.selected) {\r\n <ion-icon class=\"select-item-checkmark\" color=\"primary\" name=\"checkmark\"></ion-icon>\r\n }\r\n </div>\r\n @if (optionTemplate) {\r\n <ng-container \r\n [ngTemplateOutlet]=\"optionTemplate\"\r\n [ngTemplateOutletContext]=\"{ item: item.item }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"select-item-label\"> {{item.label}} </span>\r\n }\r\n </li>\r\n</ng-template>", styles: [".input-container{cursor:pointer!important}.input-select-label{pointer-events:none;min-height:1.5rem;width:100%;outline:2px solid transparent;outline-offset:2px;color:var(--ion-color-dark)}.select-content{display:flex;height:18rem;width:100%;flex-direction:column;gap:.25rem;overflow:hidden;padding:.25rem}.select-content .select-search-bar-container{display:flex;width:100%;flex-shrink:1}.select-content .select-search-bar-container .select-search-bar-icon-container{display:flex;height:100%;width:1.75rem;align-items:center;justify-content:center;border-top-left-radius:.375rem;border-bottom-left-radius:.375rem;border-width:1px}.select-content .select-search-bar-container .select-search-bar{width:100%;flex-shrink:1;border-radius:.375rem;border-width:1px;background-color:transparent;padding-left:.5rem;padding-right:.5rem;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}@media (orientation: portrait){.select-content .select-search-bar-container .select-search-bar{height:2.5rem}}@media (orientation: landscape){.select-content .select-search-bar-container .select-search-bar{height:1.75rem}}.select-item-list{width:100%;height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem}.select-item-list .select-item{color:var(--ion-color-dark);display:flex;width:100%;flex-shrink:0;align-items:center;justify-content:flex-start;border-radius:.375rem;padding-right:.5rem}@media (orientation: portrait){.select-item-list .select-item{min-height:2.5rem}}@media (orientation: landscape){.select-item-list .select-item{min-height:2rem}}.select-item-list .select-item{cursor:pointer}.select-item-list .select-item.disabled{opacity:.5;pointer-events:none}.select-item-list .select-item:hover,.select-item-list .select-item:focus,.select-item-list .select-item[aria-selected=true]{background-color:color-mix(in srgb,var(--ion-color-dark) 20%,transparent)}.select-item-list .select-item .select-item-checkmark-conteiner{display:flex;height:100%;width:1.75rem;flex-shrink:0;align-items:center;justify-content:center}.select-item-list .select-item .select-item-label{width:100%}.error-container{pointer-events:none;position:absolute;bottom:0;left:0;z-index:200;display:flex;width:100%;height:100%;--tw-translate-y: -3rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));align-items:center;justify-content:center;opacity:0;will-change:opacity,auto;transition:opacity .2s ease-in-out,transform .2s ease-in-out}.error-container.active{pointer-events:auto!important;--tw-translate-y: 0px !important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important;opacity:1!important}\n", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:auto;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"], dependencies: [{ kind: "component", type: i1.IonActionSheet, selector: "ion-action-sheet", inputs: ["animated", "backdropDismiss", "buttons", "cssClass", "enterAnimation", "header", "htmlAttributes", "isOpen", "keyboardClose", "leaveAnimation", "mode", "subHeader", "translucent", "trigger"] }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i1.IonCheckbox, selector: "ion-checkbox", inputs: ["alignment", "checked", "color", "disabled", "errorText", "helperText", "indeterminate", "justify", "labelPlacement", "mode", "name", "required", "value"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonInfiniteScroll, selector: "ion-infinite-scroll", inputs: ["disabled", "position", "threshold"] }, { kind: "component", type: i1.IonInfiniteScrollContent, selector: "ion-infinite-scroll-content", inputs: ["loadingSpinner", "loadingText"] }, { kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i1.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonModal, selector: "ion-modal" }, { kind: "directive", type: i1.BooleanValueAccessor, selector: "ion-checkbox,ion-toggle" }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SIonPopoverComponent, selector: "sion-popover", inputs: ["fill", "arrow", "flip", "placement", "height", "width", "anchor"], outputs: ["onWillPresent", "onDidPresent", "onWillDismiss", "onDidDismiss"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3950
4018
|
}
|
|
3951
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
4019
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputSelectComponent, decorators: [{
|
|
3952
4020
|
type: Component,
|
|
3953
4021
|
args: [{ selector: 'input-select', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
3954
4022
|
...InputProviderFactory.GetProviders(InputSelectComponent),
|
|
3955
4023
|
{ provide: CustomInput, useExisting: forwardRef(() => InputSelectComponent) },
|
|
3956
|
-
], template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"setFocus($event);\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.manual-focus]=\"floatingVisible\"\r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"loading() || loadingFromLoader || disabled()\"\r\n [class.loading]=\"loading() || loadingFromLoader\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n \r\n <div class=\"w-full truncate outline-none\" [class.pr-7]=\"!configuration().clearable\" [class.pr-10]=\"configuration().clearable\" #inputSelectLabel tabindex=\"0\">\r\n @if (!configuration().multiple && currentLabel){\r\n @if(labelTemplate){\r\n <ng-container \r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: currentLabel, item: currentItems.item }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"input-select-label\"> {{currentLabel}} </span>\r\n }\r\n }\r\n @else if (configuration().multiple && isArray(currentItems) && $any(currentItems).length) {\r\n <div class=\"w-full min-h-6 overflow-hidden relative\">\r\n <div class=\"absolute left-0 top-0 overflow-x-auto flex gap-2 size-full mask-x/2\">\r\n @for (item of currentItems; track $index) {\r\n <div class=\"translucid-border rounded-lg flex items-center justify-center gap-2 pl-2\">\r\n @if(labelTemplate){\r\n <ng-container \r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item.label, item: item.item }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"input-select-label\"> {{item.label}} </span>\r\n }\r\n \r\n <div class=\"h-full aspect-square flex items-center justify-center cursor-pointer\" (click)=\"Select(item); $event.stopPropagation()\">\r\n <ion-icon name=\"close\" color=\"danger\" slot=\"icon-only\"></ion-icon>\r\n </div>\r\n <!-- <ion-button class=\"m-0 h-full\" (click)=\"Select(item.value); $event.stopPropagation()\" color=\"medium\" size=\"small\" fill=\"outline\" style=\"--border-radius: .5rem\">\r\n <ion-icon name=\"close\" color=\"danger\" slot=\"icon-only\"></ion-icon>\r\n </ion-button> -->\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n @else {\r\n @if(placeholderTemplate){\r\n <ng-container \r\n [ngTemplateOutlet]=\"placeholderTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: this.configuration().placeholder, placeholder: this.configuration().placeholder }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"input-select-label !text-medium\"> {{this.configuration().placeholder}} </span>\r\n }\r\n }\r\n </div>\r\n\r\n <div class=\"absolute bottom-1 flex flex-col items-center justify-center size-7\" [class.right-1]=\"!configuration().clearable\" [class.right-8]=\"configuration().clearable\">\r\n <ion-icon class=\"-mb-0.5\" name=\"chevron-up\"></ion-icon>\r\n <ion-icon class=\"-mt-0.5\" name=\"chevron-down\"></ion-icon>\r\n </div>\r\n @if(configuration().clearable){\r\n <ion-button class=\"absolute right-1 bottom-1\" (click)=\"Clear($event)\" color=\"medium\" size=\"small\" fill=\"clear\" style=\"--border-radius: .5rem\">\r\n <ion-icon name=\"close\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n } \r\n\r\n <div class=\"loading-container\" [class.loading]=\"loading() || loadingFromLoader\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n <div class=\"error-container\" (click)=\"configuration().loader.Refresh()\" [class.active]=\"configuration().loader.error && !loadingFromLoader\">\r\n <ion-icon class=\"text-xl\" color=\"danger\" name=\"refresh-circle\"></ion-icon>\r\n </div>\r\n</div>\r\n\r\n@if(!disabled() && renderInterface){\r\n @switch (interface()) {\r\n @case (SelectInterfaces.Popover) {\r\n <sion-popover \r\n #popover \r\n [width]=\"inputContainer.offsetWidth + 'px'\" \r\n (onWillPresent)=\"OnPresent()\" \r\n (onDidDismiss)=\"OnDismiss()\" \r\n [anchor]=\"inputContainer\" \r\n [placement]=\"configuration().popoverConfiguration.placement\" \r\n [flip]=\"configuration().popoverConfiguration.flip\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"selectContentTemplate\"></ng-container>\r\n </sion-popover>\r\n }\r\n @case (SelectInterfaces.Modal) {\r\n <ion-modal #modal (ionModalWillPresent)=\"OnPresent()\" (didDismiss)=\"OnDismiss()\" [initialBreakpoint]=\"0.9\" [keepContentsMounted]=\"true\">\r\n <ng-template>\r\n <ion-header>\r\n <ion-toolbar>\r\n <ion-title class=\"text-center\">\r\n {{label()}}\r\n </ion-title>\r\n <ion-buttons slot=\"end\">\r\n <ion-button (click)=\"modal.dismiss()\">\r\n <ion-icon name=\"close-circle\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n </ion-toolbar>\r\n </ion-header>\r\n \r\n <ng-container [ngTemplateOutlet]=\"selectContentTemplate\" [ngTemplateOutletContext]=\"{ modal: true }\"></ng-container>\r\n </ng-template>\r\n </ion-modal>\r\n }\r\n @case (SelectInterfaces.ActionSheet) {\r\n <ion-action-sheet #actionSheet trigger=\"open-action-sheet\" [header]=\"label()\" [buttons]=\"lstOptionsActionSheet\"></ion-action-sheet>\r\n }\r\n }\r\n}\r\n\r\n<ng-template #selectContentTemplate let-modal=\"modal\">\r\n <div #selectContent class=\"select-content\" [class.!size-full]=\"modal\">\r\n <div class=\"select-search-bar-container\">\r\n <div class=\"select-search-bar-icon-container !border-r-0 border-primary/70 bg-primary/70 shrink-0\">\r\n <ion-icon color=\"dark\" name=\"search\"></ion-icon>\r\n </div>\r\n <input #inputSearchBar tabindex=\"-1\" class=\"select-search-bar border-primary/70 !rounded-l-none\" [formControl]=\"searchBarControl\"/>\r\n </div> \r\n <ul class=\"select-item-list mask-y\" role=\"listbox\" [attr.aria-activedescendant]=\"'sion-is-' + selectedIndex\">\r\n <ion-content #scrollContent class=\"size-full\" [scrollY]=\"true\">\r\n @for (item of lstOptions; track item.value) { \r\n <ng-container \r\n [ngTemplateOutlet]=\"baseOptionTemplate\"\r\n [ngTemplateOutletContext]=\"{ item: item, index: $index }\">\r\n </ng-container>\r\n }\r\n @if(configuration().useInfiniteScroll){\r\n <ion-infinite-scroll threshold=\"10px\" *ngIf=\"lstOptions.length && lstOptions.length != lstOptionsItemValue().length\" (ionInfinite)=\"AddPage($event)\">\r\n <ion-infinite-scroll-content></ion-infinite-scroll-content>\r\n </ion-infinite-scroll>\r\n }\r\n </ion-content>\r\n </ul>\r\n @if(isServiceAtivo()){\r\n <div class=\"w-full text-xs flex items-center justify-end\">\r\n <ion-checkbox [ngModel]=\"somenteAtivos()\" (ngModelChange)=\"somenteAtivos.set($event)\" class=\"scale-75\"> Somente ativos </ion-checkbox>\r\n </div>\r\n }\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #baseOptionTemplate let-item=\"item\" let-index=\"index\">\r\n <li [id]=\"'sion-is-' + index\" class=\"select-item\" [class.disabled]=\"item.disabled\" [attr.aria-selected]=\"index == selectedIndex\" (mouseenter)=\"selectedIndex = index\" (click)=\"Select(item)\">\r\n <div class=\"select-item-checkmark-conteiner\">\r\n @if(item.selected) {\r\n <ion-icon class=\"select-item-checkmark\" color=\"primary\" name=\"checkmark\"></ion-icon>\r\n }\r\n </div>\r\n @if (optionTemplate) {\r\n <ng-container \r\n [ngTemplateOutlet]=\"optionTemplate\"\r\n [ngTemplateOutletContext]=\"{ item: item.item }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"select-item-label\"> {{item.label}} </span>\r\n }\r\n </li>\r\n</ng-template>", styles: [".input-container{cursor:pointer!important}.input-select-label{pointer-events:none;min-height:1.5rem;width:100%;outline:2px solid transparent;outline-offset:2px;color:var(--ion-color-dark)}.select-content{display:flex;height:18rem;width:100%;flex-direction:column;gap:.25rem;overflow:hidden;padding:.25rem}.select-content .select-search-bar-container{display:flex;width:100%;flex-shrink:1}.select-content .select-search-bar-container .select-search-bar-icon-container{display:flex;height:100%;width:1.75rem;align-items:center;justify-content:center;border-top-left-radius:.375rem;border-bottom-left-radius:.375rem;border-width:1px}.select-content .select-search-bar-container .select-search-bar{width:100%;flex-shrink:1;border-radius:.375rem;border-width:1px;background-color:transparent;padding-left:.5rem;padding-right:.5rem;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}@media (orientation: portrait){.select-content .select-search-bar-container .select-search-bar{height:2.5rem}}@media (orientation: landscape){.select-content .select-search-bar-container .select-search-bar{height:1.75rem}}.select-item-list{width:100%;height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem}.select-item-list .select-item{color:var(--ion-color-dark);display:flex;width:100%;flex-shrink:0;align-items:center;justify-content:flex-start;border-radius:.375rem;padding-right:.5rem}@media (orientation: portrait){.select-item-list .select-item{min-height:2.5rem}}@media (orientation: landscape){.select-item-list .select-item{min-height:2rem}}.select-item-list .select-item{cursor:pointer}.select-item-list .select-item.disabled{opacity:.5;pointer-events:none}.select-item-list .select-item:hover,.select-item-list .select-item:focus,.select-item-list .select-item[aria-selected=true]{background-color:color-mix(in srgb,var(--ion-color-dark) 20%,transparent)}.select-item-list .select-item .select-item-checkmark-conteiner{display:flex;height:100%;width:1.75rem;flex-shrink:0;align-items:center;justify-content:center}.select-item-list .select-item .select-item-label{width:100%}.error-container{pointer-events:none;position:absolute;bottom:0;left:0;z-index:200;display:flex;width:100%;height:100%;--tw-translate-y: -3rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));align-items:center;justify-content:center;opacity:0;will-change:opacity,auto;transition:opacity .2s ease-in-out,transform .2s ease-in-out}.error-container.active{pointer-events:auto!important;--tw-translate-y: 0px !important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important;opacity:1!important}\n", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:auto;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"] }]
|
|
4024
|
+
], template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"setFocus($event);\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.manual-focus]=\"floatingVisible\"\r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"loading() || loadingFromLoader || disabled()\"\r\n [class.loading]=\"loading() || loadingFromLoader\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n \r\n <div class=\"w-full truncate outline-none\" [class.pr-7]=\"!configuration().clearable\" [class.pr-10]=\"configuration().clearable\" #inputSelectLabel tabindex=\"0\">\r\n @if (!configuration().multiple && currentLabel){\r\n @if(labelTemplate){\r\n <ng-container \r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: currentLabel, item: currentItems.item }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"input-select-label\"> {{currentLabel}} </span>\r\n }\r\n }\r\n @else if (configuration().multiple && isArray(currentItems) && $any(currentItems).length) {\r\n <div class=\"w-full min-h-6 overflow-hidden relative\">\r\n <div class=\"absolute left-0 top-0 overflow-x-auto flex gap-2 size-full mask-x/2\">\r\n @for (item of currentItems; track $index) {\r\n <div class=\"translucid-border rounded-lg flex items-center justify-center gap-2 pl-2\">\r\n @if(labelTemplate){\r\n <ng-container \r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item.label, item: item.item }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"input-select-label\"> {{item.label}} </span>\r\n }\r\n \r\n <div class=\"h-full aspect-square flex items-center justify-center cursor-pointer\" (click)=\"Select(item); $event.stopPropagation()\">\r\n <ion-icon name=\"close\" color=\"danger\" slot=\"icon-only\"></ion-icon>\r\n </div>\r\n <!-- <ion-button class=\"m-0 h-full\" (click)=\"Select(item.value); $event.stopPropagation()\" color=\"medium\" size=\"small\" fill=\"outline\" style=\"--border-radius: .5rem\">\r\n <ion-icon name=\"close\" color=\"danger\" slot=\"icon-only\"></ion-icon>\r\n </ion-button> -->\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n @else {\r\n @if(placeholderTemplate){\r\n <ng-container \r\n [ngTemplateOutlet]=\"placeholderTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: this.configuration().placeholder, placeholder: this.configuration().placeholder }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"input-select-label !text-medium\"> {{this.configuration().placeholder}} </span>\r\n }\r\n }\r\n </div>\r\n\r\n <div class=\"absolute bottom-1 flex flex-col items-center justify-center size-7\" [class.right-1]=\"!configuration().clearable\" [class.right-8]=\"configuration().clearable\">\r\n <ion-icon class=\"-mb-0.5\" name=\"chevron-up\"></ion-icon>\r\n <ion-icon class=\"-mt-0.5\" name=\"chevron-down\"></ion-icon>\r\n </div>\r\n @if(configuration().clearable){\r\n <ion-button class=\"absolute right-1 bottom-1\" (click)=\"Clear($event)\" color=\"medium\" size=\"small\" fill=\"clear\" style=\"--border-radius: .5rem\">\r\n <ion-icon name=\"close\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n } \r\n\r\n <div class=\"loading-container\" [class.loading]=\"loading() || loadingFromLoader\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n <div class=\"error-container\" (click)=\"configuration().loader.Refresh()\" [class.active]=\"configuration().loader.error && !loadingFromLoader\">\r\n <ion-icon class=\"text-xl\" color=\"danger\" name=\"refresh-circle\"></ion-icon>\r\n </div>\r\n</div>\r\n\r\n@if(!disabled() && renderInterface){\r\n @switch (interface()) {\r\n @case (SelectInterfaces.Popover) {\r\n <sion-popover \r\n #popover \r\n [width]=\"inputContainer.offsetWidth + 'px'\" \r\n (onWillPresent)=\"OnPresent()\" \r\n (onDidDismiss)=\"OnDismiss()\" \r\n [anchor]=\"inputContainer\" \r\n [placement]=\"configuration().popoverConfiguration.placement\" \r\n [flip]=\"configuration().popoverConfiguration.flip\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"selectContentTemplate\"></ng-container>\r\n </sion-popover>\r\n }\r\n @case (SelectInterfaces.Modal) {\r\n <ion-modal #modal (ionModalWillPresent)=\"OnPresent()\" (didDismiss)=\"OnDismiss()\" [initialBreakpoint]=\"0.9\" [keepContentsMounted]=\"true\">\r\n <ng-template>\r\n <ion-header>\r\n <ion-toolbar>\r\n <ion-title class=\"text-center\">\r\n {{label()}}\r\n </ion-title>\r\n <ion-buttons slot=\"end\">\r\n <ion-button (click)=\"modal.dismiss()\">\r\n <ion-icon name=\"close-circle\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n </ion-toolbar>\r\n </ion-header>\r\n \r\n <ng-container [ngTemplateOutlet]=\"selectContentTemplate\" [ngTemplateOutletContext]=\"{ modal: true }\"></ng-container>\r\n </ng-template>\r\n </ion-modal>\r\n }\r\n @case (SelectInterfaces.ActionSheet) {\r\n <ion-action-sheet #actionSheet trigger=\"open-action-sheet\" [header]=\"label()\" [buttons]=\"lstOptionsActionSheet\"></ion-action-sheet>\r\n }\r\n }\r\n}\r\n\r\n<ng-template #selectContentTemplate let-modal=\"modal\">\r\n <div #selectContent class=\"select-content\" [class.!size-full]=\"modal\">\r\n <div class=\"select-search-bar-container\">\r\n <div class=\"select-search-bar-icon-container !border-r-0 border-primary/70 bg-primary/70 shrink-0\">\r\n <ion-icon color=\"dark\" name=\"search\"></ion-icon>\r\n </div>\r\n <input #inputSearchBar tabindex=\"-1\" class=\"select-search-bar border-primary/70 !rounded-l-none\" [formControl]=\"searchBarControl\"/>\r\n </div> \r\n <ul class=\"select-item-list mask-y\" role=\"listbox\" [attr.aria-activedescendant]=\"'sion-is-' + selectedIndex\">\r\n <ion-content #scrollContent class=\"size-full\" [scrollY]=\"true\">\r\n @for (item of lstOptions; track item.value) { \r\n <ng-container \r\n [ngTemplateOutlet]=\"baseOptionTemplate\"\r\n [ngTemplateOutletContext]=\"{ item: item, index: $index }\">\r\n </ng-container>\r\n }\r\n @if(configuration().useInfiniteScroll){\r\n <ion-infinite-scroll threshold=\"10px\" *ngIf=\"lstOptions.length && lstOptions.length != lstOptionsItemValue().length\" (ionInfinite)=\"AddPage($event)\">\r\n <ion-infinite-scroll-content></ion-infinite-scroll-content>\r\n </ion-infinite-scroll>\r\n }\r\n </ion-content>\r\n </ul>\r\n @if(hasAtivo()){\r\n <div class=\"w-full text-xs flex items-center justify-end\">\r\n <ion-checkbox [ngModel]=\"somenteAtivos()\" (ngModelChange)=\"somenteAtivos.set($event)\" class=\"scale-75\"> Somente ativos </ion-checkbox>\r\n </div>\r\n }\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #baseOptionTemplate let-item=\"item\" let-index=\"index\">\r\n <li [id]=\"'sion-is-' + index\" class=\"select-item\" [class.disabled]=\"item.disabled\" [attr.aria-selected]=\"index == selectedIndex\" (mouseenter)=\"selectedIndex = index\" (click)=\"Select(item)\">\r\n <div class=\"select-item-checkmark-conteiner\">\r\n @if(item.selected) {\r\n <ion-icon class=\"select-item-checkmark\" color=\"primary\" name=\"checkmark\"></ion-icon>\r\n }\r\n </div>\r\n @if (optionTemplate) {\r\n <ng-container \r\n [ngTemplateOutlet]=\"optionTemplate\"\r\n [ngTemplateOutletContext]=\"{ item: item.item }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"select-item-label\"> {{item.label}} </span>\r\n }\r\n </li>\r\n</ng-template>", styles: [".input-container{cursor:pointer!important}.input-select-label{pointer-events:none;min-height:1.5rem;width:100%;outline:2px solid transparent;outline-offset:2px;color:var(--ion-color-dark)}.select-content{display:flex;height:18rem;width:100%;flex-direction:column;gap:.25rem;overflow:hidden;padding:.25rem}.select-content .select-search-bar-container{display:flex;width:100%;flex-shrink:1}.select-content .select-search-bar-container .select-search-bar-icon-container{display:flex;height:100%;width:1.75rem;align-items:center;justify-content:center;border-top-left-radius:.375rem;border-bottom-left-radius:.375rem;border-width:1px}.select-content .select-search-bar-container .select-search-bar{width:100%;flex-shrink:1;border-radius:.375rem;border-width:1px;background-color:transparent;padding-left:.5rem;padding-right:.5rem;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}@media (orientation: portrait){.select-content .select-search-bar-container .select-search-bar{height:2.5rem}}@media (orientation: landscape){.select-content .select-search-bar-container .select-search-bar{height:1.75rem}}.select-item-list{width:100%;height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem}.select-item-list .select-item{color:var(--ion-color-dark);display:flex;width:100%;flex-shrink:0;align-items:center;justify-content:flex-start;border-radius:.375rem;padding-right:.5rem}@media (orientation: portrait){.select-item-list .select-item{min-height:2.5rem}}@media (orientation: landscape){.select-item-list .select-item{min-height:2rem}}.select-item-list .select-item{cursor:pointer}.select-item-list .select-item.disabled{opacity:.5;pointer-events:none}.select-item-list .select-item:hover,.select-item-list .select-item:focus,.select-item-list .select-item[aria-selected=true]{background-color:color-mix(in srgb,var(--ion-color-dark) 20%,transparent)}.select-item-list .select-item .select-item-checkmark-conteiner{display:flex;height:100%;width:1.75rem;flex-shrink:0;align-items:center;justify-content:center}.select-item-list .select-item .select-item-label{width:100%}.error-container{pointer-events:none;position:absolute;bottom:0;left:0;z-index:200;display:flex;width:100%;height:100%;--tw-translate-y: -3rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));align-items:center;justify-content:center;opacity:0;will-change:opacity,auto;transition:opacity .2s ease-in-out,transform .2s ease-in-out}.error-container.active{pointer-events:auto!important;--tw-translate-y: 0px !important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important;opacity:1!important}\n", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:auto;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"] }]
|
|
3957
4025
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { onResize: [{
|
|
3958
4026
|
type: HostListener,
|
|
3959
4027
|
args: ['window:resize', ['$event']]
|
|
@@ -4021,13 +4089,13 @@ class InputStringComponent extends CustomInput {
|
|
|
4021
4089
|
this.value.set(obj);
|
|
4022
4090
|
this.runValidation();
|
|
4023
4091
|
}
|
|
4024
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
4025
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
4092
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputStringComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4093
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: InputStringComponent, selector: "input-string", inputs: { configuration: { classPropertyName: "configuration", publicName: "configuration", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
4026
4094
|
...InputProviderFactory.GetProviders(InputStringComponent),
|
|
4027
4095
|
{ provide: CustomInput, useExisting: forwardRef(() => InputStringComponent) },
|
|
4028
4096
|
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "inputContainer", first: true, predicate: ["inputContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"setFocus($event)\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"disabled() || loading()\"\r\n [class.loading]=\"loading()\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n <input #input\r\n [ngModel]=\"value()\" \r\n [type]=\"configuration().type\" \r\n (ngModelChange)=\"SetValue($event)\"\r\n [disabled]=\"disabled() || loading()\"\r\n [maxlength]=\"configuration().maxlength\"\r\n (blur)=\"blur.emit($event)\"\r\n />\r\n <div class=\"loading-container\" [class.loading]=\"loading()\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n</div>", styles: ["", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:auto;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"], dependencies: [{ kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
4029
4097
|
}
|
|
4030
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
4098
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputStringComponent, decorators: [{
|
|
4031
4099
|
type: Component,
|
|
4032
4100
|
args: [{ selector: 'input-string', providers: [
|
|
4033
4101
|
...InputProviderFactory.GetProviders(InputStringComponent),
|
|
@@ -4209,10 +4277,10 @@ class ThFilterComponent {
|
|
|
4209
4277
|
console.log(this.lstInputDate.toArray());
|
|
4210
4278
|
this.lstInputDate.forEach(i => i.Dismiss());
|
|
4211
4279
|
}
|
|
4212
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
4213
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
4280
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ThFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4281
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ThFilterComponent, selector: "th-filter", inputs: { field: "field" }, outputs: { changeEmitter: "change" }, viewQueries: [{ propertyName: "lstInputDate", predicate: InputDateComponent, descendants: true }], ngImport: i0, template: "<div #anchor class=\"h-5 aspect-square flex items-center justify-center cursor-pointer\">\r\n <ion-icon name=\"filter-circle\" (click)=\"popover.present($event)\" class=\"text-xl align-sub size-full\" [color]=\"isFilterActive ? 'secondary' : 'medium' \"></ion-icon>\r\n</div>\r\n\r\n<ion-popover class=\"th-filter\" fill=\"solid\" #popover triggerAction=\"click\" (onWillDismiss)=\"WillDismiss()\">\r\n <ng-template>\r\n <div class=\"w-72 flex flex-col gap-2 p-2\" >\r\n @if(!['Select', 'Bool', 'String', 'TextArea', 'Cpf', 'Cnpj', 'CpfCnpj', 'Cep'].includes(field.type)){\r\n <ion-label class=\"w-full flex items-center justify-center\"> Filtro - {{field.header}} </ion-label>\r\n }\r\n @switch (field.type) {\r\n @case ('String') {\r\n <input-string [(ngModel)]=\"model\" class=\"th-select\" label=\"Filtro - {{field.header}}\" (blur)=\"Change()\"></input-string>\r\n }\r\n @case ('Number') {\r\n <div class=\"grid grid-cols-1 gap-2\">\r\n <input-number (change)=\"Change()\" [(ngModel)]=\"modelMinimum\" label=\"Valor M\u00EDnimo\" [configuration]=\"field.configuration\"></input-number>\r\n <input-number (change)=\"Change()\" [(ngModel)]=\"modelMaximum\" label=\"Valor Maximo\" [configuration]=\"field.configuration\"></input-number>\r\n </div>\r\n }\r\n @case ('Decimal') {\r\n <div class=\"grid grid-cols-1 gap-2\">\r\n <input-decimal (change)=\"Change()\" [(ngModel)]=\"modelMinimum\" label=\"Valor M\u00EDnimo\" [configuration]=\"field.configuration\"></input-decimal>\r\n <input-decimal (change)=\"Change()\" [(ngModel)]=\"modelMaximum\" label=\"Valor Maximo\" [configuration]=\"field.configuration\"></input-decimal>\r\n </div>\r\n }\r\n @case ('Currency') {\r\n <div class=\"grid grid-cols-1 gap-2\">\r\n <input-currency (change)=\"Change()\" [(ngModel)]=\"modelMinimum\" label=\"Valor M\u00EDnimo\" [configuration]=\"field.configuration\"></input-currency>\r\n <input-currency (change)=\"Change()\" [(ngModel)]=\"modelMaximum\" label=\"Valor Maximo\" [configuration]=\"field.configuration\"></input-currency>\r\n </div>\r\n }\r\n @case ('Select') {\r\n <input-select (change)=\"Change()\" [(ngModel)]=\"model\" class=\"th-select\" label=\"Filtro - {{field.header}}\" [configuration]=\"configuration\"></input-select>\r\n }\r\n @case ('TextArea') {\r\n <input-string (change)=\"Change()\" [(ngModel)]=\"model\" class=\"th-select\" label=\"Filtro - {{field.header}}\"></input-string>\r\n }\r\n @case ('Bool') {\r\n <input-select (change)=\"Change()\" [(ngModel)]=\"model\" class=\"th-select\" label=\"Filtro - {{field.header}}\" placeholder=\"\" [configuration]=\"configuration\"></input-select>\r\n }\r\n @case ('Date') {\r\n <div class=\"size-full grid grid-cols-1 gap-2\">\r\n <input-date (change)=\"Change()\" [(ngModel)]=\"modelMinimum\" label=\"Data M\u00EDnima\" [configuration]=\"configuration\"></input-date>\r\n <input-date (change)=\"Change()\" [(ngModel)]=\"modelMaximum\" label=\"Data Maxima\" [configuration]=\"configuration\"></input-date>\r\n </div>\r\n }\r\n @case ('DateTime') {\r\n <div class=\"grid grid-cols-1 gap-2\">\r\n <input-date-time (change)=\"Change()\" [(ngModel)]=\"modelMinimum\" label=\"Data M\u00EDnima\" [configuration]=\"configuration\"></input-date-time>\r\n <input-date-time (change)=\"Change()\" [(ngModel)]=\"modelMaximum\" label=\"Data Maxima\" [configuration]=\"configuration\"></input-date-time>\r\n </div>\r\n }\r\n @case(\"Cep\") {\r\n <input-cep (change)=\"Change()\" [(ngModel)]=\"model\" class=\"th-select\" label=\"Filtro - {{field.header}}\"></input-cep>\r\n }\r\n @case ('Cpf') {\r\n <input-cpf (change)=\"Change()\" [(ngModel)]=\"model\" class=\"th-select\" label=\"Filtro - {{field.header}}\"></input-cpf>\r\n }\r\n @case ('Cnpj') {\r\n <input-cnpj (change)=\"Change()\" [(ngModel)]=\"model\" class=\"th-select\" label=\"Filtro - {{field.header}}\"></input-cnpj>\r\n }\r\n @case ('CpfCnpj') {\r\n <input-cpf-cnpj (change)=\"Change()\" [(ngModel)]=\"model\" class=\"th-select\" label=\"Filtro - {{field.header}}\"></input-cpf-cnpj>\r\n }\r\n }\r\n </div>\r\n </ng-template>\r\n</ion-popover>\r\n", styles: [".th-select{border-radius:0!important}.th-select ion-card{--border-radius: 0 !important;--border-width: 0 !important;border-radius:0!important;border-width:0!important}.th-select ion-card ion-item{--border-radius: 0 !important;--border-width: 0 !important;border-radius:0!important;border-width:0!important}.th-select ion-card div.w-12 ion-button{--border-width: 1px !important;--border-radius: 0rem 0rem 1rem 0rem !important}\n"], dependencies: [{ kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonPopover, selector: "ion-popover" }, { kind: "component", type: InputCepComponent, selector: "input-cep", inputs: ["configuration"] }, { kind: "component", type: InputCpfCnpjComponent, selector: "input-cpf-cnpj, input-cpf, input-cnpj", inputs: ["configuration"], outputs: ["configurationChange"] }, { kind: "component", type: InputDateComponent, selector: "input-date, input-date-time, input-time", inputs: ["configuration"] }, { kind: "component", type: InputDecimalComponent, selector: "input-decimal, input-number, input-currency, input-percentage", inputs: ["configuration"], outputs: ["configurationChange"] }, { kind: "component", type: InputSelectComponent, selector: "input-select", inputs: ["items", "configuration"], outputs: ["itemsChange"] }, { kind: "component", type: InputStringComponent, selector: "input-string", inputs: ["configuration"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
4214
4282
|
}
|
|
4215
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
4283
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ThFilterComponent, decorators: [{
|
|
4216
4284
|
type: Component,
|
|
4217
4285
|
args: [{ selector: 'th-filter', template: "<div #anchor class=\"h-5 aspect-square flex items-center justify-center cursor-pointer\">\r\n <ion-icon name=\"filter-circle\" (click)=\"popover.present($event)\" class=\"text-xl align-sub size-full\" [color]=\"isFilterActive ? 'secondary' : 'medium' \"></ion-icon>\r\n</div>\r\n\r\n<ion-popover class=\"th-filter\" fill=\"solid\" #popover triggerAction=\"click\" (onWillDismiss)=\"WillDismiss()\">\r\n <ng-template>\r\n <div class=\"w-72 flex flex-col gap-2 p-2\" >\r\n @if(!['Select', 'Bool', 'String', 'TextArea', 'Cpf', 'Cnpj', 'CpfCnpj', 'Cep'].includes(field.type)){\r\n <ion-label class=\"w-full flex items-center justify-center\"> Filtro - {{field.header}} </ion-label>\r\n }\r\n @switch (field.type) {\r\n @case ('String') {\r\n <input-string [(ngModel)]=\"model\" class=\"th-select\" label=\"Filtro - {{field.header}}\" (blur)=\"Change()\"></input-string>\r\n }\r\n @case ('Number') {\r\n <div class=\"grid grid-cols-1 gap-2\">\r\n <input-number (change)=\"Change()\" [(ngModel)]=\"modelMinimum\" label=\"Valor M\u00EDnimo\" [configuration]=\"field.configuration\"></input-number>\r\n <input-number (change)=\"Change()\" [(ngModel)]=\"modelMaximum\" label=\"Valor Maximo\" [configuration]=\"field.configuration\"></input-number>\r\n </div>\r\n }\r\n @case ('Decimal') {\r\n <div class=\"grid grid-cols-1 gap-2\">\r\n <input-decimal (change)=\"Change()\" [(ngModel)]=\"modelMinimum\" label=\"Valor M\u00EDnimo\" [configuration]=\"field.configuration\"></input-decimal>\r\n <input-decimal (change)=\"Change()\" [(ngModel)]=\"modelMaximum\" label=\"Valor Maximo\" [configuration]=\"field.configuration\"></input-decimal>\r\n </div>\r\n }\r\n @case ('Currency') {\r\n <div class=\"grid grid-cols-1 gap-2\">\r\n <input-currency (change)=\"Change()\" [(ngModel)]=\"modelMinimum\" label=\"Valor M\u00EDnimo\" [configuration]=\"field.configuration\"></input-currency>\r\n <input-currency (change)=\"Change()\" [(ngModel)]=\"modelMaximum\" label=\"Valor Maximo\" [configuration]=\"field.configuration\"></input-currency>\r\n </div>\r\n }\r\n @case ('Select') {\r\n <input-select (change)=\"Change()\" [(ngModel)]=\"model\" class=\"th-select\" label=\"Filtro - {{field.header}}\" [configuration]=\"configuration\"></input-select>\r\n }\r\n @case ('TextArea') {\r\n <input-string (change)=\"Change()\" [(ngModel)]=\"model\" class=\"th-select\" label=\"Filtro - {{field.header}}\"></input-string>\r\n }\r\n @case ('Bool') {\r\n <input-select (change)=\"Change()\" [(ngModel)]=\"model\" class=\"th-select\" label=\"Filtro - {{field.header}}\" placeholder=\"\" [configuration]=\"configuration\"></input-select>\r\n }\r\n @case ('Date') {\r\n <div class=\"size-full grid grid-cols-1 gap-2\">\r\n <input-date (change)=\"Change()\" [(ngModel)]=\"modelMinimum\" label=\"Data M\u00EDnima\" [configuration]=\"configuration\"></input-date>\r\n <input-date (change)=\"Change()\" [(ngModel)]=\"modelMaximum\" label=\"Data Maxima\" [configuration]=\"configuration\"></input-date>\r\n </div>\r\n }\r\n @case ('DateTime') {\r\n <div class=\"grid grid-cols-1 gap-2\">\r\n <input-date-time (change)=\"Change()\" [(ngModel)]=\"modelMinimum\" label=\"Data M\u00EDnima\" [configuration]=\"configuration\"></input-date-time>\r\n <input-date-time (change)=\"Change()\" [(ngModel)]=\"modelMaximum\" label=\"Data Maxima\" [configuration]=\"configuration\"></input-date-time>\r\n </div>\r\n }\r\n @case(\"Cep\") {\r\n <input-cep (change)=\"Change()\" [(ngModel)]=\"model\" class=\"th-select\" label=\"Filtro - {{field.header}}\"></input-cep>\r\n }\r\n @case ('Cpf') {\r\n <input-cpf (change)=\"Change()\" [(ngModel)]=\"model\" class=\"th-select\" label=\"Filtro - {{field.header}}\"></input-cpf>\r\n }\r\n @case ('Cnpj') {\r\n <input-cnpj (change)=\"Change()\" [(ngModel)]=\"model\" class=\"th-select\" label=\"Filtro - {{field.header}}\"></input-cnpj>\r\n }\r\n @case ('CpfCnpj') {\r\n <input-cpf-cnpj (change)=\"Change()\" [(ngModel)]=\"model\" class=\"th-select\" label=\"Filtro - {{field.header}}\"></input-cpf-cnpj>\r\n }\r\n }\r\n </div>\r\n </ng-template>\r\n</ion-popover>\r\n", styles: [".th-select{border-radius:0!important}.th-select ion-card{--border-radius: 0 !important;--border-width: 0 !important;border-radius:0!important;border-width:0!important}.th-select ion-card ion-item{--border-radius: 0 !important;--border-width: 0 !important;border-radius:0!important;border-width:0!important}.th-select ion-card div.w-12 ion-button{--border-width: 1px !important;--border-radius: 0rem 0rem 1rem 0rem !important}\n"] }]
|
|
4218
4286
|
}], ctorParameters: () => [], propDecorators: { field: [{
|
|
@@ -4385,10 +4453,10 @@ class DefaultTableComponent {
|
|
|
4385
4453
|
Ativar(id) {
|
|
4386
4454
|
this.ativar.emit(id);
|
|
4387
4455
|
}
|
|
4388
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
4389
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DefaultTableComponent, selector: "default-table", inputs: { acoesTemplate: { classPropertyName: "acoesTemplate", publicName: "acoesTemplate", isSignal: false, isRequired: false, transformFunction: null }, service: { classPropertyName: "service", publicName: "service", isSignal: true, isRequired: false, transformFunction: null }, total: { classPropertyName: "total", publicName: "total", isSignal: true, isRequired: false, transformFunction: null }, limit: { classPropertyName: "limit", publicName: "limit", isSignal: true, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null }, orderByProperty: { classPropertyName: "orderByProperty", publicName: "orderByProperty", isSignal: true, isRequired: false, transformFunction: null }, ascending: { classPropertyName: "ascending", publicName: "ascending", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, lstTableFields: { classPropertyName: "lstTableFields", publicName: "lstTableFields", isSignal: true, isRequired: false, transformFunction: null }, noFilters: { classPropertyName: "noFilters", publicName: "noFilters", isSignal: true, isRequired: false, transformFunction: null }, columnClass: { classPropertyName: "columnClass", publicName: "columnClass", isSignal: true, isRequired: false, transformFunction: null }, columnStyle: { classPropertyName: "columnStyle", publicName: "columnStyle", isSignal: true, isRequired: false, transformFunction: null }, noPagination: { classPropertyName: "noPagination", publicName: "noPagination", isSignal: true, isRequired: false, transformFunction: null }, itemPath: { classPropertyName: "itemPath", publicName: "itemPath", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { total: "totalChange", limit: "limitChange", page: "pageChange", orderByProperty: "orderByPropertyChange", ascending: "ascendingChange", filter: "filterChange", ativar: "ativar", refresh: "refresh", loading: "loadingChange", items: "itemsChange", lstTableFields: "lstTableFieldsChange", itemClick: "itemClick" }, ngImport: i0, template: "<div class=\"size-full rounded-xl flex flex-col overflow-hidden relative\">\r\n <loading [type]=\"3\" [loading]=\"loading()\"></loading>\r\n <content-block text=\"Sem Dados\" [value]=\"!(items.length != 0 || loading)\"></content-block>\r\n\r\n <div class=\"size-full shrink relative overflow-y-auto\">\r\n <table>\r\n <thead>\r\n <tr>\r\n @if(acoesTemplate){\r\n <th scope=\"col\" class=\"p-2\"> \r\n A\u00E7\u00F5es \r\n </th>\r\n }\r\n\r\n @for (tfa of lstTableFieldsAvailable(); track tfa.tf.index) {\r\n <th scope=\"col\" class=\"p-2\"> \r\n <div class=\"flex gap-2 items-center justify-start th\">\r\n @if(!noFilters()){\r\n <th-filter class=\"!text-base\" style=\"text-transform: none !important\" \r\n *ngIf=\"((tfa.tf.type != InputType.File || (tfa.tf.filter && tfa.tf.disabledChange())) && !noFilters())\"\r\n [field]=\"tfa.tf\"\r\n (change)=\"ChangeFilter()\"\r\n ></th-filter>\r\n }\r\n\r\n {{tfa.tf.header}} \r\n\r\n @if((tfa.tf.type != InputType.File || (tfa.tf.filter && tfa.tf.disabledChange())) && !noFilters()){\r\n <a [ngClass]=\"{ 'bg-light/10 !opacity-100': tfa.ascending || tfa.descending }\"\r\n class=\"order h-4 w-5 relative cursor-pointer rounded-lg opacity-0 default-transition\" \r\n (click)=\"SwitchOrder(tfa.tf)\"\r\n >\r\n <ion-icon \r\n [class.text-primary]=\"tfa.ascending\"\r\n class=\"absolute left-0 top-0\" \r\n name=\"arrow-up\"\r\n ></ion-icon> \r\n <ion-icon \r\n [class.text-primary]=\"tfa.descending\"\r\n class=\"absolute right-0 bottom-0\" \r\n name=\"arrow-down\"\r\n ></ion-icon> \r\n </a>\r\n }\r\n </div>\r\n </th>\r\n }\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (row of lstRows; track row.id || $index) {\r\n <tr [hidden]=\"loading()\">\r\n @if(acoesTemplate){\r\n <td (click)=\"Redirect(undefined, row.item)\" class=\"whitespace-nowrap py-1 px-3 {{row.acoesClass}}\" [style]=\"row.acoesStyle\" >\r\n <ng-container *ngTemplateOutlet=\"acoesTemplate; context: { $implicit: row.item }\"></ng-container>\r\n </td>\r\n }\r\n\r\n @for (col of row.lstColumns; track col.tf.index) {\r\n <td class=\"{{col.class}} p-2 cursor-pointer\" (click)=\"Redirect(col.tf, row.item)\" [style]=\"'white-space: var(--ion-table-row-wrap);' + col.style\">\r\n @if(col.tf.index == 'ativo') {\r\n <div class=\"size-full flex items-center justify-start\" [routerLink]=\"null\">\r\n <ion-toggle [checked]=\"col.value\" [disabled]=\"loading()\" (ionChange)=\"Ativar(row.id)\" ></ion-toggle>\r\n </div>\r\n }\r\n @else if (col.tf.type == InputType.Bool){\r\n <div class=\"h-full flex items-center justify-start\">\r\n @if(col.tf.configuration.type == 'toggle') {\r\n <ion-toggle [checked]=\"col.value\" [disabled]=\"true\"></ion-toggle>\r\n }\r\n @else {\r\n <ion-checkbox [checked]=\"col.value\" [disabled]=\"true\"></ion-checkbox>\r\n }\r\n </div>\r\n }\r\n @else if (col.tf.type == InputType.File) {\r\n <download-button [(ngModel)]=\"col.value\" [configuration]=\"col.tf.configuration\"></download-button>\r\n }\r\n @else if (col.loading){\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n } @else {\r\n <span [ngClass]=\"col.class\">{{ col.label }}</span>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n <ng-content select=\"[slot=item-end]\"></ng-content>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n @if(!noPagination()){\r\n <div class=\"shrink-0 z-[100]\">\r\n <default-pagination\r\n [page]=\"page()\"\r\n (pageChange)=\"page.set($event); refresh.emit()\"\r\n [total]=\"total()\"\r\n [limit]=\"limit()\"\r\n [length]=\"items().length\"\r\n [loading]=\"loading()\"\r\n ></default-pagination>\r\n </div>\r\n }\r\n</div>", styles: [".th:hover>.order{opacity:1;background-color:color-mix(in srgb,var(--ion-color-light) 10%,transparent)}\n"], dependencies: [{ kind: "component", type: i1.IonCheckbox, selector: "ion-checkbox", inputs: ["alignment", "checked", "color", "disabled", "errorText", "helperText", "indeterminate", "justify", "labelPlacement", "mode", "name", "required", "value"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i1.IonToggle, selector: "ion-toggle", inputs: ["alignment", "checked", "color", "disabled", "enableOnOffLabels", "errorText", "helperText", "justify", "labelPlacement", "mode", "name", "required", "value"] }, { kind: "directive", type: i1.BooleanValueAccessor, selector: "ion-checkbox,ion-toggle" }, { kind: "directive", type: i1.RouterLinkDelegate, selector: ":not(a):not(area)[routerLink]" }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DownloadButtonComponent, selector: "download-button", inputs: ["expand", "value", "size", "color", "params", "disabled", "post", "configuration", "customLabel", "label", "fileName"], outputs: ["valueChange"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: LoadingComponent, selector: "loading", inputs: ["text", "type", "loading"] }, { kind: "component", type: ContentBlockComponent, selector: "content-block", inputs: ["text", "value"] }, { kind: "component", type: DefaultPaginationComponent, selector: "default-pagination", inputs: ["total", "limit", "length", "loading", "page"], outputs: ["pageChange", "change"] }, { kind: "component", type: ThFilterComponent, selector: "th-filter", inputs: ["field"], outputs: ["change"] }] }); }
|
|
4456
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DefaultTableComponent, deps: [{ token: StorageService }, { token: i2$2.ActivatedRoute }, { token: i2$2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4457
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DefaultTableComponent, selector: "default-table", inputs: { acoesTemplate: { classPropertyName: "acoesTemplate", publicName: "acoesTemplate", isSignal: false, isRequired: false, transformFunction: null }, service: { classPropertyName: "service", publicName: "service", isSignal: true, isRequired: false, transformFunction: null }, total: { classPropertyName: "total", publicName: "total", isSignal: true, isRequired: false, transformFunction: null }, limit: { classPropertyName: "limit", publicName: "limit", isSignal: true, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null }, orderByProperty: { classPropertyName: "orderByProperty", publicName: "orderByProperty", isSignal: true, isRequired: false, transformFunction: null }, ascending: { classPropertyName: "ascending", publicName: "ascending", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, lstTableFields: { classPropertyName: "lstTableFields", publicName: "lstTableFields", isSignal: true, isRequired: false, transformFunction: null }, noFilters: { classPropertyName: "noFilters", publicName: "noFilters", isSignal: true, isRequired: false, transformFunction: null }, columnClass: { classPropertyName: "columnClass", publicName: "columnClass", isSignal: true, isRequired: false, transformFunction: null }, columnStyle: { classPropertyName: "columnStyle", publicName: "columnStyle", isSignal: true, isRequired: false, transformFunction: null }, noPagination: { classPropertyName: "noPagination", publicName: "noPagination", isSignal: true, isRequired: false, transformFunction: null }, itemPath: { classPropertyName: "itemPath", publicName: "itemPath", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { total: "totalChange", limit: "limitChange", page: "pageChange", orderByProperty: "orderByPropertyChange", ascending: "ascendingChange", filter: "filterChange", ativar: "ativar", refresh: "refresh", loading: "loadingChange", items: "itemsChange", lstTableFields: "lstTableFieldsChange", itemClick: "itemClick" }, ngImport: i0, template: "<div class=\"size-full rounded-xl flex flex-col overflow-hidden relative\">\r\n <loading [type]=\"3\" [loading]=\"loading()\"></loading>\r\n <content-block text=\"Sem Dados\" [value]=\"!(items.length != 0 || loading)\"></content-block>\r\n\r\n <div class=\"size-full shrink relative overflow-y-auto\">\r\n <table>\r\n <thead>\r\n <tr>\r\n @if(acoesTemplate){\r\n <th scope=\"col\" class=\"p-2\"> \r\n A\u00E7\u00F5es \r\n </th>\r\n }\r\n\r\n @for (tfa of lstTableFieldsAvailable(); track tfa.tf.index) {\r\n <th scope=\"col\" class=\"p-2\"> \r\n <div class=\"flex gap-2 items-center justify-start th\">\r\n @if(!noFilters()){\r\n <th-filter class=\"!text-base\" style=\"text-transform: none !important\" \r\n *ngIf=\"((tfa.tf.type != InputType.File || (tfa.tf.filter && tfa.tf.disabledChange())) && !noFilters())\"\r\n [field]=\"tfa.tf\"\r\n (change)=\"ChangeFilter()\"\r\n ></th-filter>\r\n }\r\n\r\n {{tfa.tf.header}} \r\n\r\n @if((tfa.tf.type != InputType.File || (tfa.tf.filter && tfa.tf.disabledChange())) && !noFilters()){\r\n <a [ngClass]=\"{ 'bg-light/10 !opacity-100': tfa.ascending || tfa.descending }\"\r\n class=\"order h-4 w-5 relative cursor-pointer rounded-lg opacity-0 default-transition\" \r\n (click)=\"SwitchOrder(tfa.tf)\"\r\n >\r\n <ion-icon \r\n [class.text-primary]=\"tfa.ascending\"\r\n class=\"absolute left-0 top-0\" \r\n name=\"arrow-up\"\r\n ></ion-icon> \r\n <ion-icon \r\n [class.text-primary]=\"tfa.descending\"\r\n class=\"absolute right-0 bottom-0\" \r\n name=\"arrow-down\"\r\n ></ion-icon> \r\n </a>\r\n }\r\n </div>\r\n </th>\r\n }\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (row of lstRows; track row.id || $index) {\r\n <tr [hidden]=\"loading()\">\r\n @if(acoesTemplate){\r\n <td (click)=\"Redirect(undefined, row.item)\" class=\"whitespace-nowrap py-1 px-3 {{row.acoesClass}}\" [style]=\"row.acoesStyle\" >\r\n <ng-container *ngTemplateOutlet=\"acoesTemplate; context: { $implicit: row.item }\"></ng-container>\r\n </td>\r\n }\r\n\r\n @for (col of row.lstColumns; track col.tf.index) {\r\n <td class=\"{{col.class}} p-2 cursor-pointer\" (click)=\"Redirect(col.tf, row.item)\" [style]=\"'white-space: var(--ion-table-row-wrap);' + col.style\">\r\n @if(col.tf.index == 'ativo') {\r\n <div class=\"size-full flex items-center justify-start\" [routerLink]=\"null\">\r\n <ion-toggle [checked]=\"col.value\" [disabled]=\"loading()\" (ionChange)=\"Ativar(row.id)\" ></ion-toggle>\r\n </div>\r\n }\r\n @else if (col.tf.type == InputType.Bool){\r\n <div class=\"h-full flex items-center justify-start\">\r\n @if(col.tf.configuration.type == 'toggle') {\r\n <ion-toggle [checked]=\"col.value\" [disabled]=\"true\"></ion-toggle>\r\n }\r\n @else {\r\n <ion-checkbox [checked]=\"col.value\" [disabled]=\"true\"></ion-checkbox>\r\n }\r\n </div>\r\n }\r\n @else if (col.tf.type == InputType.File) {\r\n <download-button [(ngModel)]=\"col.value\" [configuration]=\"col.tf.configuration\"></download-button>\r\n }\r\n @else if (col.loading){\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n } @else {\r\n <span [ngClass]=\"col.class\">{{ col.label }}</span>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n <ng-content select=\"[slot=item-end]\"></ng-content>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n @if(!noPagination()){\r\n <div class=\"shrink-0 z-[100]\">\r\n <default-pagination\r\n [page]=\"page()\"\r\n (pageChange)=\"page.set($event); refresh.emit()\"\r\n [total]=\"total()\"\r\n [limit]=\"limit()\"\r\n [length]=\"items().length\"\r\n [loading]=\"loading()\"\r\n ></default-pagination>\r\n </div>\r\n }\r\n</div>", styles: [".th:hover>.order{opacity:1;background-color:color-mix(in srgb,var(--ion-color-light) 10%,transparent)}\n"], dependencies: [{ kind: "component", type: i1.IonCheckbox, selector: "ion-checkbox", inputs: ["alignment", "checked", "color", "disabled", "errorText", "helperText", "indeterminate", "justify", "labelPlacement", "mode", "name", "required", "value"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i1.IonToggle, selector: "ion-toggle", inputs: ["alignment", "checked", "color", "disabled", "enableOnOffLabels", "errorText", "helperText", "justify", "labelPlacement", "mode", "name", "required", "value"] }, { kind: "directive", type: i1.BooleanValueAccessor, selector: "ion-checkbox,ion-toggle" }, { kind: "directive", type: i1.RouterLinkDelegate, selector: ":not(a):not(area)[routerLink]" }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DownloadButtonComponent, selector: "download-button", inputs: ["expand", "value", "size", "color", "params", "disabled", "post", "configuration", "customLabel", "label", "fileName"], outputs: ["valueChange"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: LoadingComponent, selector: "loading", inputs: ["text", "type", "loading"] }, { kind: "component", type: ContentBlockComponent, selector: "content-block", inputs: ["text", "value"] }, { kind: "component", type: DefaultPaginationComponent, selector: "default-pagination", inputs: ["total", "limit", "length", "loading", "page"], outputs: ["pageChange", "change"] }, { kind: "component", type: ThFilterComponent, selector: "th-filter", inputs: ["field"], outputs: ["change"] }] }); }
|
|
4390
4458
|
}
|
|
4391
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
4459
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DefaultTableComponent, decorators: [{
|
|
4392
4460
|
type: Component,
|
|
4393
4461
|
args: [{ selector: 'default-table', template: "<div class=\"size-full rounded-xl flex flex-col overflow-hidden relative\">\r\n <loading [type]=\"3\" [loading]=\"loading()\"></loading>\r\n <content-block text=\"Sem Dados\" [value]=\"!(items.length != 0 || loading)\"></content-block>\r\n\r\n <div class=\"size-full shrink relative overflow-y-auto\">\r\n <table>\r\n <thead>\r\n <tr>\r\n @if(acoesTemplate){\r\n <th scope=\"col\" class=\"p-2\"> \r\n A\u00E7\u00F5es \r\n </th>\r\n }\r\n\r\n @for (tfa of lstTableFieldsAvailable(); track tfa.tf.index) {\r\n <th scope=\"col\" class=\"p-2\"> \r\n <div class=\"flex gap-2 items-center justify-start th\">\r\n @if(!noFilters()){\r\n <th-filter class=\"!text-base\" style=\"text-transform: none !important\" \r\n *ngIf=\"((tfa.tf.type != InputType.File || (tfa.tf.filter && tfa.tf.disabledChange())) && !noFilters())\"\r\n [field]=\"tfa.tf\"\r\n (change)=\"ChangeFilter()\"\r\n ></th-filter>\r\n }\r\n\r\n {{tfa.tf.header}} \r\n\r\n @if((tfa.tf.type != InputType.File || (tfa.tf.filter && tfa.tf.disabledChange())) && !noFilters()){\r\n <a [ngClass]=\"{ 'bg-light/10 !opacity-100': tfa.ascending || tfa.descending }\"\r\n class=\"order h-4 w-5 relative cursor-pointer rounded-lg opacity-0 default-transition\" \r\n (click)=\"SwitchOrder(tfa.tf)\"\r\n >\r\n <ion-icon \r\n [class.text-primary]=\"tfa.ascending\"\r\n class=\"absolute left-0 top-0\" \r\n name=\"arrow-up\"\r\n ></ion-icon> \r\n <ion-icon \r\n [class.text-primary]=\"tfa.descending\"\r\n class=\"absolute right-0 bottom-0\" \r\n name=\"arrow-down\"\r\n ></ion-icon> \r\n </a>\r\n }\r\n </div>\r\n </th>\r\n }\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (row of lstRows; track row.id || $index) {\r\n <tr [hidden]=\"loading()\">\r\n @if(acoesTemplate){\r\n <td (click)=\"Redirect(undefined, row.item)\" class=\"whitespace-nowrap py-1 px-3 {{row.acoesClass}}\" [style]=\"row.acoesStyle\" >\r\n <ng-container *ngTemplateOutlet=\"acoesTemplate; context: { $implicit: row.item }\"></ng-container>\r\n </td>\r\n }\r\n\r\n @for (col of row.lstColumns; track col.tf.index) {\r\n <td class=\"{{col.class}} p-2 cursor-pointer\" (click)=\"Redirect(col.tf, row.item)\" [style]=\"'white-space: var(--ion-table-row-wrap);' + col.style\">\r\n @if(col.tf.index == 'ativo') {\r\n <div class=\"size-full flex items-center justify-start\" [routerLink]=\"null\">\r\n <ion-toggle [checked]=\"col.value\" [disabled]=\"loading()\" (ionChange)=\"Ativar(row.id)\" ></ion-toggle>\r\n </div>\r\n }\r\n @else if (col.tf.type == InputType.Bool){\r\n <div class=\"h-full flex items-center justify-start\">\r\n @if(col.tf.configuration.type == 'toggle') {\r\n <ion-toggle [checked]=\"col.value\" [disabled]=\"true\"></ion-toggle>\r\n }\r\n @else {\r\n <ion-checkbox [checked]=\"col.value\" [disabled]=\"true\"></ion-checkbox>\r\n }\r\n </div>\r\n }\r\n @else if (col.tf.type == InputType.File) {\r\n <download-button [(ngModel)]=\"col.value\" [configuration]=\"col.tf.configuration\"></download-button>\r\n }\r\n @else if (col.loading){\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n } @else {\r\n <span [ngClass]=\"col.class\">{{ col.label }}</span>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n <ng-content select=\"[slot=item-end]\"></ng-content>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n @if(!noPagination()){\r\n <div class=\"shrink-0 z-[100]\">\r\n <default-pagination\r\n [page]=\"page()\"\r\n (pageChange)=\"page.set($event); refresh.emit()\"\r\n [total]=\"total()\"\r\n [limit]=\"limit()\"\r\n [length]=\"items().length\"\r\n [loading]=\"loading()\"\r\n ></default-pagination>\r\n </div>\r\n }\r\n</div>", styles: [".th:hover>.order{opacity:1;background-color:color-mix(in srgb,var(--ion-color-light) 10%,transparent)}\n"] }]
|
|
4394
4462
|
}], ctorParameters: () => [{ type: StorageService }, { type: i2$2.ActivatedRoute }, { type: i2$2.Router }], propDecorators: { acoesTemplate: [{
|
|
@@ -4470,10 +4538,10 @@ class DefaultListComponent extends List {
|
|
|
4470
4538
|
async ngOnInit() {
|
|
4471
4539
|
await super.ngOnInit();
|
|
4472
4540
|
}
|
|
4473
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
4474
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
4541
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DefaultListComponent, deps: [{ token: i0.ElementRef }, { token: i2$2.ActivatedRoute }, { token: GenericService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4542
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DefaultListComponent, selector: "default-list", inputs: { noNew: "noNew", noPage: "noPage", noSearch: "noSearch", columnClass: "columnClass", columnStyle: "columnStyle", overrideNew: "overrideNew", noPagination: "noPagination", noBreadcrumbs: "noBreadcrumbs", itemPath: "itemPath" }, outputs: { onNewEmitter: "onNew", itemClick: "itemClick" }, queries: [{ propertyName: "acoesTemplate", first: true, predicate: ["tmpAcoes"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ion-content class=\"bg-transparent\">\r\n <div class=\"wrapper\" [ngClass]=\"{'!p-0 translucid-primary-background': nested}\">\r\n @if (!noBreadcrumbs) {\r\n <ion-breadcrumbs>\r\n <ion-breadcrumb [routerLink]=\"[service ? service.route : '']\" [replaceUrl]=\"true\">{{service.title}}</ion-breadcrumb>\r\n </ion-breadcrumbs>\r\n }\r\n <ion-card>\r\n <ion-card-header [ngClass]=\"{'!px-0 !pb-0': noNew && noPage && noSearch}\">\r\n <header-list \r\n [(limit)]=\"frm.limit\"\r\n [(search)]=\"frm.search\" \r\n [(page)]=\"frm.page\" \r\n [loading]=\"loading\" \r\n (refresh)=\"Refresh()\"\r\n [noNew]=\"noNew\"\r\n [noPage]=\"noPage\"\r\n [noSearch]=\"noSearch\"\r\n [overrideNew]=\"overrideNew\"\r\n (onNew)=\"onNewEmitter.emit()\"\r\n > \r\n <ng-content slot=\"start\" select=\"[slot=header-start]\"></ng-content>\r\n <ng-content slot=\"end\" select=\"[slot=header-end]\"></ng-content>\r\n </header-list>\r\n </ion-card-header>\r\n <ion-card-content>\r\n <ion-refresher slot=\"fixed\" class=\"z-20\" (ionRefresh)=\"Refresh($event)\">\r\n <ion-refresher-content></ion-refresher-content>\r\n </ion-refresher>\r\n <div class=\"size-full ion-content-scroll-host\">\r\n @if(frm){\r\n <default-table \r\n class=\"block size-full relative\" \r\n [ngClass]=\"{ 'translate-y-0' : !loading }\"\r\n [loading]=\"loading\"\r\n [items]=\"lstDados\" \r\n [total]=\"total\"\r\n [(limit)]=\"frm.limit\"\r\n [(page)]=\"frm.page\"\r\n [(ascending)]=\"frm.ascending\"\r\n [(orderByProperty)]=\"frm.orderByProperty\"\r\n [(filter)]=\"frm.filter\"\r\n (itemClick)=\"itemClick.emit($event)\"\r\n [itemPath]=\"itemPath\"\r\n [columnClass]=\"columnClass\"\r\n [columnStyle]=\"columnStyle\"\r\n [service]=\"service\"\r\n [acoesTemplate]=\"acoesTemplate\"\r\n (refresh)=\"Refresh();\"\r\n (ativar)=\"Ativar($event)\"\r\n [lstTableFields]=\"lstTableFields\"\r\n [noPagination]=\"noPagination\"\r\n >\r\n </default-table>\r\n }\r\n </div>\r\n </ion-card-content>\r\n </ion-card>\r\n </div>\r\n</ion-content>", styles: [""], dependencies: [{ kind: "component", type: i1.IonBreadcrumb, selector: "ion-breadcrumb", inputs: ["active", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "separator", "target"] }, { kind: "component", type: i1.IonBreadcrumbs, selector: "ion-breadcrumbs", inputs: ["color", "itemsAfterCollapse", "itemsBeforeCollapse", "maxItems", "mode"] }, { kind: "component", type: i1.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i1.IonCardHeader, selector: "ion-card-header", inputs: ["color", "mode", "translucent"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonRefresher, selector: "ion-refresher", inputs: ["closeDuration", "disabled", "mode", "pullFactor", "pullMax", "pullMin", "snapbackDuration"] }, { kind: "component", type: i1.IonRefresherContent, selector: "ion-refresher-content", inputs: ["pullingIcon", "pullingText", "refreshingSpinner", "refreshingText"] }, { kind: "directive", type: i1.RouterLinkDelegate, selector: ":not(a):not(area)[routerLink]" }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: HeaderListComponent, selector: "header-list", inputs: ["limit", "page", "search", "loading", "link", "noNew", "noPage", "noSearch", "overrideNew"], outputs: ["limitChange", "pageChange", "searchChange", "refresh", "onNew"] }, { kind: "component", type: DefaultTableComponent, selector: "default-table", inputs: ["acoesTemplate", "service", "total", "limit", "page", "orderByProperty", "ascending", "filter", "loading", "items", "lstTableFields", "noFilters", "columnClass", "columnStyle", "noPagination", "itemPath"], outputs: ["totalChange", "limitChange", "pageChange", "orderByPropertyChange", "ascendingChange", "filterChange", "ativar", "refresh", "loadingChange", "itemsChange", "lstTableFieldsChange", "itemClick"] }] }); }
|
|
4475
4543
|
}
|
|
4476
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
4544
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DefaultListComponent, decorators: [{
|
|
4477
4545
|
type: Component,
|
|
4478
4546
|
args: [{ selector: 'default-list', template: "<ion-content class=\"bg-transparent\">\r\n <div class=\"wrapper\" [ngClass]=\"{'!p-0 translucid-primary-background': nested}\">\r\n @if (!noBreadcrumbs) {\r\n <ion-breadcrumbs>\r\n <ion-breadcrumb [routerLink]=\"[service ? service.route : '']\" [replaceUrl]=\"true\">{{service.title}}</ion-breadcrumb>\r\n </ion-breadcrumbs>\r\n }\r\n <ion-card>\r\n <ion-card-header [ngClass]=\"{'!px-0 !pb-0': noNew && noPage && noSearch}\">\r\n <header-list \r\n [(limit)]=\"frm.limit\"\r\n [(search)]=\"frm.search\" \r\n [(page)]=\"frm.page\" \r\n [loading]=\"loading\" \r\n (refresh)=\"Refresh()\"\r\n [noNew]=\"noNew\"\r\n [noPage]=\"noPage\"\r\n [noSearch]=\"noSearch\"\r\n [overrideNew]=\"overrideNew\"\r\n (onNew)=\"onNewEmitter.emit()\"\r\n > \r\n <ng-content slot=\"start\" select=\"[slot=header-start]\"></ng-content>\r\n <ng-content slot=\"end\" select=\"[slot=header-end]\"></ng-content>\r\n </header-list>\r\n </ion-card-header>\r\n <ion-card-content>\r\n <ion-refresher slot=\"fixed\" class=\"z-20\" (ionRefresh)=\"Refresh($event)\">\r\n <ion-refresher-content></ion-refresher-content>\r\n </ion-refresher>\r\n <div class=\"size-full ion-content-scroll-host\">\r\n @if(frm){\r\n <default-table \r\n class=\"block size-full relative\" \r\n [ngClass]=\"{ 'translate-y-0' : !loading }\"\r\n [loading]=\"loading\"\r\n [items]=\"lstDados\" \r\n [total]=\"total\"\r\n [(limit)]=\"frm.limit\"\r\n [(page)]=\"frm.page\"\r\n [(ascending)]=\"frm.ascending\"\r\n [(orderByProperty)]=\"frm.orderByProperty\"\r\n [(filter)]=\"frm.filter\"\r\n (itemClick)=\"itemClick.emit($event)\"\r\n [itemPath]=\"itemPath\"\r\n [columnClass]=\"columnClass\"\r\n [columnStyle]=\"columnStyle\"\r\n [service]=\"service\"\r\n [acoesTemplate]=\"acoesTemplate\"\r\n (refresh)=\"Refresh();\"\r\n (ativar)=\"Ativar($event)\"\r\n [lstTableFields]=\"lstTableFields\"\r\n [noPagination]=\"noPagination\"\r\n >\r\n </default-table>\r\n }\r\n </div>\r\n </ion-card-content>\r\n </ion-card>\r\n </div>\r\n</ion-content>" }]
|
|
4479
4547
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i2$2.ActivatedRoute }, { type: GenericService }], propDecorators: { noNew: [{
|
|
@@ -4536,10 +4604,10 @@ class AbstractList {
|
|
|
4536
4604
|
];
|
|
4537
4605
|
this.genericService.PresentAlert("Atenção!", "Tem certeza que deseja excluir o dado?", buttons);
|
|
4538
4606
|
}
|
|
4539
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
4540
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
4607
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AbstractList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4608
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AbstractList, selector: "ng-component", viewQueries: [{ propertyName: "DefaultList", first: true, predicate: ["defList"], descendants: true }], ngImport: i0, template: '', isInline: true, styles: [""] }); }
|
|
4541
4609
|
}
|
|
4542
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
4610
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AbstractList, decorators: [{
|
|
4543
4611
|
type: Component,
|
|
4544
4612
|
args: [{ template: '' }]
|
|
4545
4613
|
}], propDecorators: { DefaultList: [{
|
|
@@ -4547,10 +4615,106 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
4547
4615
|
args: ['defList']
|
|
4548
4616
|
}] } });
|
|
4549
4617
|
|
|
4618
|
+
class NavigationContextService {
|
|
4619
|
+
constructor(router) {
|
|
4620
|
+
this.router = router;
|
|
4621
|
+
this.previousUrl = null;
|
|
4622
|
+
this.currentUrl = null;
|
|
4623
|
+
this.currentUrl = this.router.url;
|
|
4624
|
+
this.router.events.pipe(filter(e => e instanceof NavigationEnd)).subscribe((e) => {
|
|
4625
|
+
const nextUrl = e.urlAfterRedirects;
|
|
4626
|
+
const preserve = history.state?.__preserveBack == true;
|
|
4627
|
+
const currentBase = this.currentUrl ? this.getBaseRoute(this.currentUrl) : null;
|
|
4628
|
+
const nextBase = this.getBaseRoute(nextUrl);
|
|
4629
|
+
const nav = this.router.getCurrentNavigation();
|
|
4630
|
+
const isBack = nav?.trigger == 'popstate';
|
|
4631
|
+
// Redirect técnico - ignora
|
|
4632
|
+
if (preserve) {
|
|
4633
|
+
this.currentUrl = nextUrl;
|
|
4634
|
+
return;
|
|
4635
|
+
}
|
|
4636
|
+
// Navegação interna da mesma view (Ex: Item <-> View Principal)
|
|
4637
|
+
if (currentBase && currentBase == nextBase) {
|
|
4638
|
+
// ajustes no histórico baseando-se estritamente na hierarquia.
|
|
4639
|
+
const cleanNext = nextUrl.split('?')[0].replace(/\/$/, '');
|
|
4640
|
+
const cleanBase = nextBase.replace(/\/$/, '');
|
|
4641
|
+
if (cleanNext == cleanBase) {
|
|
4642
|
+
// voltou para a raiz da entidade
|
|
4643
|
+
this.previousUrl = this.getListRoute(nextBase);
|
|
4644
|
+
}
|
|
4645
|
+
else {
|
|
4646
|
+
// voltou de um filho → pai REAL
|
|
4647
|
+
this.previousUrl = this.getParentRoute(nextUrl);
|
|
4648
|
+
}
|
|
4649
|
+
this.currentUrl = nextUrl;
|
|
4650
|
+
return;
|
|
4651
|
+
}
|
|
4652
|
+
// Chegou numa view base VIA BACK (de outro módulo)
|
|
4653
|
+
if (isBack) {
|
|
4654
|
+
// Se voltou de fora (OS -> Obra), recalcula para garantir
|
|
4655
|
+
const cleanNext = nextUrl.split('?')[0].replace(/\/$/, '');
|
|
4656
|
+
const cleanBase = nextBase.replace(/\/$/, '');
|
|
4657
|
+
if (cleanNext === cleanBase) {
|
|
4658
|
+
this.previousUrl = this.getListRoute(nextBase);
|
|
4659
|
+
}
|
|
4660
|
+
else {
|
|
4661
|
+
this.previousUrl = nextBase;
|
|
4662
|
+
}
|
|
4663
|
+
this.currentUrl = nextUrl;
|
|
4664
|
+
return;
|
|
4665
|
+
}
|
|
4666
|
+
// Navegação real (Entrando em um módulo novo ou avançando)
|
|
4667
|
+
this.previousUrl = this.currentUrl;
|
|
4668
|
+
this.currentUrl = nextUrl;
|
|
4669
|
+
});
|
|
4670
|
+
}
|
|
4671
|
+
getBaseRoute(url) {
|
|
4672
|
+
//pega a rota base
|
|
4673
|
+
const parts = url.split('/').filter(Boolean);
|
|
4674
|
+
const base = [];
|
|
4675
|
+
for (const part of parts) {
|
|
4676
|
+
base.push(part);
|
|
4677
|
+
if (!isNaN(Number(part))) {
|
|
4678
|
+
break;
|
|
4679
|
+
}
|
|
4680
|
+
}
|
|
4681
|
+
return '/' + base.join('/');
|
|
4682
|
+
}
|
|
4683
|
+
getListRoute(baseRoute) {
|
|
4684
|
+
//verifica se a rota de retorno é a inicial
|
|
4685
|
+
const parts = baseRoute.split('/').filter(Boolean);
|
|
4686
|
+
return '/' + parts[0];
|
|
4687
|
+
}
|
|
4688
|
+
getParentRoute(url) {
|
|
4689
|
+
const clean = url.split('?')[0].replace(/\/$/, '');
|
|
4690
|
+
const parts = clean.split('/').filter(Boolean);
|
|
4691
|
+
if (parts.length <= 1) {
|
|
4692
|
+
return '/' + parts.join('/');
|
|
4693
|
+
}
|
|
4694
|
+
if (!isNaN(Number(parts[parts.length - 1]))) {
|
|
4695
|
+
parts.pop();
|
|
4696
|
+
}
|
|
4697
|
+
if (parts[parts.length - 1] === 'view') {
|
|
4698
|
+
parts.pop();
|
|
4699
|
+
}
|
|
4700
|
+
return '/' + parts.join('/');
|
|
4701
|
+
}
|
|
4702
|
+
getBackRoute() {
|
|
4703
|
+
return this.previousUrl;
|
|
4704
|
+
}
|
|
4705
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavigationContextService, deps: [{ token: i2$2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4706
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavigationContextService, providedIn: 'root' }); }
|
|
4707
|
+
}
|
|
4708
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavigationContextService, decorators: [{
|
|
4709
|
+
type: Injectable,
|
|
4710
|
+
args: [{ providedIn: 'root' }]
|
|
4711
|
+
}], ctorParameters: () => [{ type: i2$2.Router }] });
|
|
4712
|
+
|
|
4550
4713
|
class HeaderViewComponent {
|
|
4551
|
-
constructor(navController, activatedRoute) {
|
|
4714
|
+
constructor(navController, activatedRoute, navContext) {
|
|
4552
4715
|
this.navController = navController;
|
|
4553
4716
|
this.activatedRoute = activatedRoute;
|
|
4717
|
+
this.navContext = navContext;
|
|
4554
4718
|
this.novo = false;
|
|
4555
4719
|
this.progress = null;
|
|
4556
4720
|
this.saveEmitter = new EventEmitter();
|
|
@@ -4569,17 +4733,7 @@ class HeaderViewComponent {
|
|
|
4569
4733
|
}
|
|
4570
4734
|
ngOnInit() { }
|
|
4571
4735
|
get DefaultBackRoute() {
|
|
4572
|
-
|
|
4573
|
-
const li = fullRoute[fullRoute.length - 1];
|
|
4574
|
-
var offset = 1;
|
|
4575
|
-
if (Number(li)) {
|
|
4576
|
-
offset++;
|
|
4577
|
-
}
|
|
4578
|
-
let route = [];
|
|
4579
|
-
for (let i = 0; i < fullRoute.length - offset; i++) {
|
|
4580
|
-
route.push(fullRoute[i]);
|
|
4581
|
-
}
|
|
4582
|
-
return route.join('/');
|
|
4736
|
+
return this.navContext.getBackRoute() ?? '/';
|
|
4583
4737
|
}
|
|
4584
4738
|
Back($event = null) {
|
|
4585
4739
|
this.IonBackButtonElement.onClick($event);
|
|
@@ -4592,13 +4746,13 @@ class HeaderViewComponent {
|
|
|
4592
4746
|
Save() {
|
|
4593
4747
|
this.saveEmitter.emit();
|
|
4594
4748
|
}
|
|
4595
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
4596
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
4749
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HeaderViewComponent, deps: [{ token: i1.NavController }, { token: i2$2.ActivatedRoute }, { token: NavigationContextService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4750
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: HeaderViewComponent, selector: "header-view", inputs: { novo: "novo", loading: "loading", progress: "progress", focusInFirstField: "focusInFirstField", noBack: "noBack", noNew: "noNew", useDefaultRouting: "useDefaultRouting", backRouterLink: "backRouterLink" }, outputs: { saveEmitter: "save" }, viewQueries: [{ propertyName: "IonBackButtonElement", first: true, predicate: IonBackButton, descendants: true }, { propertyName: "NewIonButtonElement", first: true, predicate: ["new"], descendants: true }], ngImport: i0, template: "<div class=\"w-full h-7 flex\">\r\n <div class=\"w-1/2 flex items-center justify-start gap-3\">\r\n @if(!noBack){\r\n @if(useDefaultRouting || backRouterLink){\r\n <ion-button class=\"m-0\" fill=\"clear\" size=\"small\" [routerLink]=\"backRouterLink ? backRouterLink : DefaultBackRoute\">\r\n <ion-icon class=\"text-[1.7rem]\" name=\"chevron-back\" slot=\"icon-only\"></ion-icon>\r\n <ion-text class=\"text-base\">Voltar</ion-text>\r\n </ion-button>\r\n }\r\n @else{\r\n <ion-back-button style=\"--min-height: 100%;\" [disabled]=\"loading\" text=\"Voltar\" [defaultHref]=\"DefaultBackRoute\"></ion-back-button>\r\n }\r\n\r\n <!-- <ion-card button [disabled]=\"loading\" class=\"h-full w-12 m-0 default-transition\" style=\"border-color: var(--ion-color-primary)\">\r\n <ion-card-content class=\"p-0 bg-transparent\">\r\n @if(!useDefaultRouting){\r\n <ion-back-button class=\"scale-75 size-full\" style=\"--min-height: 100%;\" text=\"\" [defaultHref]=\"BackRoute\" >\r\n </ion-back-button>\r\n }@else {\r\n <ion-button class=\"size-full\" size=\"small\" fill=\"clear\" [routerLink]=\"BackRoute\">\r\n <ion-icon name=\"chevron-back\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n }\r\n </ion-card-content>\r\n </ion-card> -->\r\n }\r\n @if(!noBack){\r\n <div class=\"h-full border-r-2 border-r-primary border-solid mask-y/50\"></div>\r\n }\r\n\r\n <div class=\"relative\">\r\n <ion-button class=\"-mx-2\" [disabled]=\"loading\" fill=\"clear\" size=\"small\" (click)=\"Save()\">\r\n <ion-icon class=\"text-base\" slot=\"start\" name=\"save\"></ion-icon>\r\n <ion-text class=\"text-base\">\r\n Salvar\r\n </ion-text>\r\n </ion-button>\r\n\r\n <div class=\"absolute w-[125%] h-[125%] -top-[12.5%] -left-[12.5%] flex flex-col items-center justify-center default-transition backdrop-blur-sm\" [ngClass]=\"{'opacity-0 -translate-y-8': !loading}\">\r\n <ion-text color=\"success\" class=\"text-sm mt-1\"><b>\r\n @if(progress){\r\n {{(progress * 100) | number: '1.1-1'}}%\r\n }@else {\r\n {{0 | number: '1.1-1'}}%\r\n }\r\n </b></ion-text>\r\n <ion-progress-bar [value]=\"progress\" color=\"success\" class=\"w-full default-transition\"></ion-progress-bar>\r\n </div>\r\n </div>\r\n <ng-content select=\"[slot=start]\"></ng-content>\r\n </div>\r\n <div class=\"w-1/2 flex justify-end items-center gap-2\">\r\n <ng-content select=\"[slot=end]\"></ng-content>\r\n\r\n @if(!(noNew || novo)){\r\n <ion-button #new [routerLink]=\"['../']\" class=\"m-0\" fill=\"clear\" size=\"small\">\r\n <ion-icon class=\"text-base\" name=\"add\" slot=\"start\"></ion-icon> \r\n <ion-text class=\"text-base\">\r\n Novo\r\n </ion-text>\r\n </ion-button>\r\n }\r\n </div>\r\n</div>", styles: ["#back{margin:0;margin-right:.5rem;width:2rem;border-radius:1rem;padding:0}#back::part(native){padding-left:.5rem;padding-right:.5rem}\n"], dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonProgressBar, selector: "ion-progress-bar", inputs: ["buffer", "color", "mode", "reversed", "type", "value"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonBackButton, selector: "ion-back-button" }, { kind: "directive", type: i1.RouterLinkDelegate, selector: ":not(a):not(area)[routerLink]" }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i1$2.DecimalPipe, name: "number" }] }); }
|
|
4597
4751
|
}
|
|
4598
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
4752
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HeaderViewComponent, decorators: [{
|
|
4599
4753
|
type: Component,
|
|
4600
4754
|
args: [{ selector: 'header-view', template: "<div class=\"w-full h-7 flex\">\r\n <div class=\"w-1/2 flex items-center justify-start gap-3\">\r\n @if(!noBack){\r\n @if(useDefaultRouting || backRouterLink){\r\n <ion-button class=\"m-0\" fill=\"clear\" size=\"small\" [routerLink]=\"backRouterLink ? backRouterLink : DefaultBackRoute\">\r\n <ion-icon class=\"text-[1.7rem]\" name=\"chevron-back\" slot=\"icon-only\"></ion-icon>\r\n <ion-text class=\"text-base\">Voltar</ion-text>\r\n </ion-button>\r\n }\r\n @else{\r\n <ion-back-button style=\"--min-height: 100%;\" [disabled]=\"loading\" text=\"Voltar\" [defaultHref]=\"DefaultBackRoute\"></ion-back-button>\r\n }\r\n\r\n <!-- <ion-card button [disabled]=\"loading\" class=\"h-full w-12 m-0 default-transition\" style=\"border-color: var(--ion-color-primary)\">\r\n <ion-card-content class=\"p-0 bg-transparent\">\r\n @if(!useDefaultRouting){\r\n <ion-back-button class=\"scale-75 size-full\" style=\"--min-height: 100%;\" text=\"\" [defaultHref]=\"BackRoute\" >\r\n </ion-back-button>\r\n }@else {\r\n <ion-button class=\"size-full\" size=\"small\" fill=\"clear\" [routerLink]=\"BackRoute\">\r\n <ion-icon name=\"chevron-back\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n }\r\n </ion-card-content>\r\n </ion-card> -->\r\n }\r\n @if(!noBack){\r\n <div class=\"h-full border-r-2 border-r-primary border-solid mask-y/50\"></div>\r\n }\r\n\r\n <div class=\"relative\">\r\n <ion-button class=\"-mx-2\" [disabled]=\"loading\" fill=\"clear\" size=\"small\" (click)=\"Save()\">\r\n <ion-icon class=\"text-base\" slot=\"start\" name=\"save\"></ion-icon>\r\n <ion-text class=\"text-base\">\r\n Salvar\r\n </ion-text>\r\n </ion-button>\r\n\r\n <div class=\"absolute w-[125%] h-[125%] -top-[12.5%] -left-[12.5%] flex flex-col items-center justify-center default-transition backdrop-blur-sm\" [ngClass]=\"{'opacity-0 -translate-y-8': !loading}\">\r\n <ion-text color=\"success\" class=\"text-sm mt-1\"><b>\r\n @if(progress){\r\n {{(progress * 100) | number: '1.1-1'}}%\r\n }@else {\r\n {{0 | number: '1.1-1'}}%\r\n }\r\n </b></ion-text>\r\n <ion-progress-bar [value]=\"progress\" color=\"success\" class=\"w-full default-transition\"></ion-progress-bar>\r\n </div>\r\n </div>\r\n <ng-content select=\"[slot=start]\"></ng-content>\r\n </div>\r\n <div class=\"w-1/2 flex justify-end items-center gap-2\">\r\n <ng-content select=\"[slot=end]\"></ng-content>\r\n\r\n @if(!(noNew || novo)){\r\n <ion-button #new [routerLink]=\"['../']\" class=\"m-0\" fill=\"clear\" size=\"small\">\r\n <ion-icon class=\"text-base\" name=\"add\" slot=\"start\"></ion-icon> \r\n <ion-text class=\"text-base\">\r\n Novo\r\n </ion-text>\r\n </ion-button>\r\n }\r\n </div>\r\n</div>", styles: ["#back{margin:0;margin-right:.5rem;width:2rem;border-radius:1rem;padding:0}#back::part(native){padding-left:.5rem;padding-right:.5rem}\n"] }]
|
|
4601
|
-
}], ctorParameters: () => [{ type: i1.NavController }, { type: i2$2.ActivatedRoute }], propDecorators: { novo: [{
|
|
4755
|
+
}], ctorParameters: () => [{ type: i1.NavController }, { type: i2$2.ActivatedRoute }, { type: NavigationContextService }], propDecorators: { novo: [{
|
|
4602
4756
|
type: Input
|
|
4603
4757
|
}], loading: [{
|
|
4604
4758
|
type: Input
|
|
@@ -4770,10 +4924,10 @@ class View {
|
|
|
4770
4924
|
return;
|
|
4771
4925
|
}
|
|
4772
4926
|
}
|
|
4773
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
4774
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
4927
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: View, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4928
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: View, selector: "ng-component", inputs: { id: "id", loading: "loading", submitted: "submitted", progress: "progress", service: "service", startInFirstField: "startInFirstField", lstTableFields: "lstTableFields", redirectPath: "redirectPath" }, outputs: { ViewDidRefreshEmitter: "ViewDidRefresh", SaveEmitter: "Save" }, host: { listeners: { "window:keydown": "onKeyPress($event)" } }, viewQueries: [{ propertyName: "Wrapper", first: true, predicate: [".wrapper"], descendants: true }, { propertyName: "HeaderViewComponentElement", first: true, predicate: HeaderViewComponent, descendants: true }, { propertyName: "lstCustomInputs", predicate: CustomInput, descendants: true }], ngImport: i0, template: '', isInline: true, styles: [""] }); }
|
|
4775
4929
|
}
|
|
4776
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
4930
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: View, decorators: [{
|
|
4777
4931
|
type: Component,
|
|
4778
4932
|
args: [{ template: '' }]
|
|
4779
4933
|
}], ctorParameters: () => [], propDecorators: { id: [{
|
|
@@ -4833,13 +4987,13 @@ class InputBoolComponent extends CustomInput {
|
|
|
4833
4987
|
this.value.set(obj);
|
|
4834
4988
|
this.runValidation();
|
|
4835
4989
|
}
|
|
4836
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
4837
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
4990
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputBoolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4991
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: InputBoolComponent, selector: "input-bool", inputs: { configuration: { classPropertyName: "configuration", publicName: "configuration", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
4838
4992
|
...InputProviderFactory.GetProviders(InputBoolComponent),
|
|
4839
4993
|
{ provide: CustomInput, useExisting: forwardRef(() => InputBoolComponent) },
|
|
4840
4994
|
], viewQueries: [{ propertyName: "ionCheckbox", first: true, predicate: IonCheckbox, descendants: true }, { propertyName: "ionToggle", first: true, predicate: IonToggle, descendants: true }, { propertyName: "inputContainer", first: true, predicate: ["inputContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div \r\n #inputContainer\r\n tabindex=\"-1\"\r\n class=\"input-container\" \r\n (click)=\"setFocus($event)\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"disabled() || loading()\"\r\n [class.loading]=\"loading()\"\r\n>\r\n @if(configuration().type == \"checkbox\"){\r\n <ion-checkbox (click)=\"$event.stopPropagation()\" #checkbox [ngModel]=\"value()\" (ngModelChange)=\"SetValue(!value())\" class=\"text-sm text-dark my-1.5 truncate\">\r\n {{label()}}\r\n </ion-checkbox>\r\n }\r\n @else { \r\n <!-- toogle -->\r\n <ion-toggle (click)=\"$event.stopPropagation()\" #toggle [ngModel]=\"value()\" (ngModelChange)=\"SetValue(!value())\" class=\"text-sm text-dark truncate\">\r\n {{label()}}\r\n </ion-toggle>\r\n }\r\n <div class=\"loading-container\" [class.loading]=\"loading()\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n</div>", styles: [".input-container{cursor:pointer!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;padding:.375rem!important}\n", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:auto;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"], dependencies: [{ kind: "component", type: i1.IonCheckbox, selector: "ion-checkbox", inputs: ["alignment", "checked", "color", "disabled", "errorText", "helperText", "indeterminate", "justify", "labelPlacement", "mode", "name", "required", "value"] }, { kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i1.IonToggle, selector: "ion-toggle", inputs: ["alignment", "checked", "color", "disabled", "enableOnOffLabels", "errorText", "helperText", "justify", "labelPlacement", "mode", "name", "required", "value"] }, { kind: "directive", type: i1.BooleanValueAccessor, selector: "ion-checkbox,ion-toggle" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
4841
4995
|
}
|
|
4842
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
4996
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputBoolComponent, decorators: [{
|
|
4843
4997
|
type: Component,
|
|
4844
4998
|
args: [{ selector: 'input-bool', providers: [
|
|
4845
4999
|
...InputProviderFactory.GetProviders(InputBoolComponent),
|
|
@@ -5213,13 +5367,13 @@ class InputColorComponent extends CustomInput {
|
|
|
5213
5367
|
// Ensure the position stays within bounds
|
|
5214
5368
|
this.indicatorY = Math.max(0, Math.min(100, this.indicatorY));
|
|
5215
5369
|
}
|
|
5216
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
5217
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
5370
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputColorComponent, deps: [{ token: GenericService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5371
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: InputColorComponent, selector: "input-color", providers: [
|
|
5218
5372
|
...InputProviderFactory.GetProviders(InputColorComponent),
|
|
5219
5373
|
{ provide: CustomInput, useExisting: forwardRef(() => InputColorComponent) },
|
|
5220
5374
|
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "inputContainer", first: true, predicate: ["inputContainer"], descendants: true }, { propertyName: "popover", first: true, predicate: SIonPopoverComponent, descendants: true }, { propertyName: "gradient", first: true, predicate: ["gradient"], descendants: true }, { propertyName: "hueSlider", first: true, predicate: ["hueSlider"], descendants: true }, { propertyName: "alphaSlider", first: true, predicate: ["alphaSlider"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"setFocus($event); Present($event)\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"disabled() || loading()\"\r\n [class.loading]=\"loading()\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n <input #input\r\n [maskito]=\"HEXMask\"\r\n [ngModel]=\"value()\"\r\n (ngModelChange)=\"SetColorFromHex($event, true, true)\" \r\n [disabled]=\"disabled() || loading()\"\r\n (blur)=\"blur.emit($event)\"\r\n />\r\n <div class=\" absolute bottom-2 right-8 size-5 rounded-sm overflow-hidden\" [style]=\"{ 'background': value() }\"> </div>\r\n\r\n <ion-button tabindex=\"-1\" class=\"absolute right-1 bottom-1\" (click)=\"CopyToClipboard(); $event.stopPropagation();\" color=\"medium\" size=\"small\" fill=\"clear\" style=\"--border-radius: .5rem\">\r\n <ion-icon name=\"clipboard\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n\r\n <!-- [maxlength]=\"configuration().maxlength\" -->\r\n <!-- [type]=\"configuration().type\" -->\r\n <div class=\"loading-container\" [class.loading]=\"loading()\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n</div>\r\n\r\n<sion-popover\r\n #popover \r\n width=\"fit-content\" \r\n [anchor]=\"inputContainer\" \r\n>\r\n <div class=\"size-full p-2 flex gap-1\"> \r\n <div class=\"flex flex-col w-44 shrink-0 gap-1\">\r\n <div id=\"gradientWrapper\" class=\"w-44 h-32 relative\">\r\n <canvas #gradient width=\"176\" height=\"128\" class=\"size-full rounded-sm translucid-border\"></canvas>\r\n <div class=\"color-indicator quick-transition\" [style.left.%]=\"indicatorX\" [style.top.%]=\"indicatorY\"></div>\r\n </div>\r\n\r\n <div id=\"hueWrapper\" class=\"w-full relative\">\r\n <canvas #hueSlider class=\"w-full rounded h-[22px]\" width=\"176\" height=\"22\"></canvas>\r\n <div class=\"indicator quick-transition\" [style.left.%]=\"hslColor.h / 3.6\"></div>\r\n </div>\r\n\r\n <div id=\"alphaWrapper\" class=\"w-full relative\">\r\n <canvas #alphaSlider class=\"w-full rounded h-[22px]\" width=\"176\" height=\"22\"></canvas>\r\n <div class=\"indicator quick-transition\" [style.left.%]=\"alpha\"></div>\r\n </div>\r\n\r\n <div class=\"w-full flex shrink-0\">\r\n <div class=\"w-full grid grid-cols-5 gap-1\">\r\n <ng-container *ngTemplateOutlet=\"templateColor; context: { $implicit: '#000000FF' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"templateColor; context: { $implicit: '#3880FFFF' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"templateColor; context: { $implicit: '#2DD36FFF' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"templateColor; context: { $implicit: '#FFC409FF' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"templateColor; context: { $implicit: '#EB445AFF' }\"></ng-container>\r\n \r\n <ng-container *ngTemplateOutlet=\"templateColor; context: { $implicit: '#FFFFFFFF' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"templateColor; context: { $implicit: '#59168bFF' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"templateColor; context: { $implicit: '#C6005CFF' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"templateColor; context: { $implicit: '#FB2C36FF' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"templateColor; context: { $implicit: '#314158FF' }\"></ng-container>\r\n </div>\r\n </div> \r\n </div>\r\n </div>\r\n</sion-popover>\r\n\r\n<ng-template #templateColor let-color>\r\n <div class=\"size-8 rounded translucid-border cursor-pointer\" (click)=\"SetColorFromHex(color, true, true)\" [style.background]=\"color\"></div>\r\n</ng-template>", styles: ["input:focus{outline:solid 1px color-mix(in srgb,var(--ion-color-primary) 30%,transparent)}input{height:1.25rem;border-radius:.25rem;outline:1px solid transparent;transition-property:outline;transition-duration:.2s}.color-indicator{position:absolute;width:12px;height:12px;border-radius:50%;border:2px solid white;box-shadow:0 0 2px #00000080;transform:translate(-50%,-50%);pointer-events:none}.indicator{position:absolute;top:50%;width:6px;height:24px;background-color:#fff;border-radius:3px;box-shadow:0 0 2px #00000080;transform:translate(-50%,-50%);pointer-events:none}.quick-transition{transition:all 75ms}ion-popover{--width: fit-content;--height: fit-content}\n", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:auto;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"], dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "component", type: SIonPopoverComponent, selector: "sion-popover", inputs: ["fill", "arrow", "flip", "placement", "height", "width", "anchor"], outputs: ["onWillPresent", "onDidPresent", "onWillDismiss", "onDidDismiss"] }] }); }
|
|
5221
5375
|
}
|
|
5222
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
5376
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputColorComponent, decorators: [{
|
|
5223
5377
|
type: Component,
|
|
5224
5378
|
args: [{ selector: 'input-color', providers: [
|
|
5225
5379
|
...InputProviderFactory.GetProviders(InputColorComponent),
|
|
@@ -5381,13 +5535,13 @@ class InputFileComponent extends CustomInput {
|
|
|
5381
5535
|
Download() {
|
|
5382
5536
|
this.storageService.StartDownload(this.value());
|
|
5383
5537
|
}
|
|
5384
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
5385
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
5538
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputFileComponent, deps: [{ token: UtilsService }, { token: StorageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5539
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: InputFileComponent, selector: "input-file", inputs: { configuration: { classPropertyName: "configuration", publicName: "configuration", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
5386
5540
|
...InputProviderFactory.GetProviders(InputFileComponent),
|
|
5387
5541
|
{ provide: CustomInput, useExisting: forwardRef(() => InputFileComponent) },
|
|
5388
5542
|
], viewQueries: [{ propertyName: "inputContainer", first: true, predicate: ["inputContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n \r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"disabled()\"\r\n [class.loading]=\"loading()\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n <div tabindex=\"0\" class=\"file-label-container text-dark !pb-1\">\r\n <ion-icon class=\"shrink-0\" color=\"dark\" name=\"document\"></ion-icon> \r\n <span\r\n class=\"block flex-1 min-w-0 truncate\"\r\n [title]=\"valueString\"\r\n >\r\n {{ valueString }}\r\n </span>\r\n\r\n <div class=\"size-full flex justify-center items-center gap-1 shrink-0 w-fit\">\r\n @if(value()){\r\n <ion-button class=\"rounded-full\" fill=\"outline\" color=\"danger\" size=\"small\" (click)=\"Clear($event)\">\r\n <ion-icon name=\"trash\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n }\r\n @if(isString) {\r\n <ion-button class=\"rounded-full allow-click !opacity-100\" fill=\"outline\" color=\"dark\" size=\"small\" (click)=\"Download()\">\r\n <ion-icon class=\"!opacity-100\" name=\"cloud-download\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n }\r\n <ion-button class=\"rounded-full\" fill=\"outline\" color=\"dark\" size=\"small\" (click)=\"Upload()\">\r\n <ion-icon slot=\"icon-only\" name=\"cloud-upload\"></ion-icon>\r\n </ion-button>\r\n <!-- @if(isString){\r\n @if(storageService.GetProgress(this.value().toString())){\r\n <ion-progress-bar [value]=\"storageService.GetProgress(this.value().toString())\"></ion-progress-bar>\r\n }\r\n @if(isImage){\r\n <image fill=\"clear\" [src]=\"value().toString()\"></image>\r\n }\r\n }\r\n @else if(isImage){\r\n <ion-img [src]=\"objectURL\" class=\"w-full h-32\"></ion-img>\r\n } -->\r\n </div>\r\n </div>\r\n\r\n <div class=\"loading-container\" [class.loading]=\"loading()\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n</div>", styles: [".file-label-container{position:relative;display:flex;height:1.5rem;width:100%;align-items:center;justify-content:flex-start;gap:.25rem}.input-container{overflow:hidden;position:relative}.ellipsis-button{opacity:0;pointer-events:none;will-change:opacity;transition:opacity .2s ease-in-out}.ellipsis-button.available{pointer-events:auto;opacity:1}.input-container.disabled .allow-click{pointer-events:auto;opacity:1!important;transition:opacity .2s ease-in-out}\n", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:auto;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"], dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }] }); }
|
|
5389
5543
|
}
|
|
5390
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
5544
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputFileComponent, decorators: [{
|
|
5391
5545
|
type: Component,
|
|
5392
5546
|
args: [{ selector: 'input-file', providers: [
|
|
5393
5547
|
...InputProviderFactory.GetProviders(InputFileComponent),
|
|
@@ -10534,13 +10688,13 @@ class InputIconComponent extends CustomInput {
|
|
|
10534
10688
|
this.runValidation();
|
|
10535
10689
|
this.propagateChange(obj);
|
|
10536
10690
|
}
|
|
10537
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
10538
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
10691
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputIconComponent, deps: [{ token: EnvironmentService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10692
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: InputIconComponent, selector: "input-icon", providers: [
|
|
10539
10693
|
...InputProviderFactory.GetProviders(InputIconComponent),
|
|
10540
10694
|
{ provide: CustomInput, useExisting: forwardRef(() => InputIconComponent) },
|
|
10541
10695
|
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "inputContainer", first: true, predicate: ["inputContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<input-select [ngModel]=\"value()\" (ngModelChange)=\"SetValue($event)\" [items]=\"lstIcons\" [configuration]=\"config\" [submitted]=\"submitted()\" [label]=\"label()\" [required]=\"required()\" [disabled]=\"disabled()\" [loading]=\"loading()\">\r\n <ng-template sionLabelTemplate sionOptionTemplate let-item=\"item\">\r\n <div class=\"flex truncate items-center justify-start gap-2 text-dark\">\r\n <ion-icon [name]=\"item.name\" class=\"size-5\"></ion-icon>\r\n <span class=\"truncate\">{{item.name}}</span>\r\n </div>\r\n </ng-template>\r\n</input-select>", styles: ["", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:auto;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"], dependencies: [{ kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: InputSelectComponent, selector: "input-select", inputs: ["items", "configuration"], outputs: ["itemsChange"] }, { kind: "directive", type: SIonLabelTemplateDirective, selector: "[sionLabelTemplate]" }, { kind: "directive", type: SIonOptionTemplateDirective, selector: "[sionOptionTemplate]" }] }); }
|
|
10542
10696
|
}
|
|
10543
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
10697
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputIconComponent, decorators: [{
|
|
10544
10698
|
type: Component,
|
|
10545
10699
|
args: [{ selector: 'input-icon', providers: [
|
|
10546
10700
|
...InputProviderFactory.GetProviders(InputIconComponent),
|
|
@@ -10612,13 +10766,13 @@ class InputTextareaComponent extends CustomInput {
|
|
|
10612
10766
|
this.runValidation();
|
|
10613
10767
|
requestAnimationFrame(() => this.resize());
|
|
10614
10768
|
}
|
|
10615
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
10616
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
10769
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputTextareaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10770
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: InputTextareaComponent, selector: "input-textarea", inputs: { configuration: { classPropertyName: "configuration", publicName: "configuration", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "input": "onInput()" } }, providers: [
|
|
10617
10771
|
...InputProviderFactory.GetProviders(InputTextareaComponent),
|
|
10618
10772
|
{ provide: CustomInput, useExisting: forwardRef(() => InputTextareaComponent) },
|
|
10619
10773
|
], viewQueries: [{ propertyName: "input", first: true, predicate: ["textarea"], descendants: true }, { propertyName: "inputContainer", first: true, predicate: ["inputContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"setFocus($event)\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"disabled() || loading()\"\r\n [class.loading]=\"loading()\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n <textarea #textarea\r\n [ngModel]=\"value()\" \r\n (ngModelChange)=\"SetValue($event)\"\r\n [disabled]=\"disabled() || loading()\"\r\n [maxlength]=\"configuration().maxlength\"\r\n (blur)=\"blur.emit($event)\"\r\n >\r\n </textarea>\r\n <div class=\"loading-container\" [class.loading]=\"loading()\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n</div>", styles: [".input-container{padding-right:.25rem!important}.loading-container{padding-top:.5rem;align-items:start!important}textarea::-webkit-scrollbar{width:10px}textarea::-webkit-scrollbar-track{background:transparent}textarea::-webkit-scrollbar-thumb{background-color:#ffffff40;border-radius:10px;border:2px solid transparent;background-clip:content-box}textarea::-webkit-scrollbar-thumb:hover{background-color:#fff6}\n", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:auto;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"], dependencies: [{ kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
10620
10774
|
}
|
|
10621
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
10775
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputTextareaComponent, decorators: [{
|
|
10622
10776
|
type: Component,
|
|
10623
10777
|
args: [{ selector: 'input-textarea', providers: [
|
|
10624
10778
|
...InputProviderFactory.GetProviders(InputTextareaComponent),
|
|
@@ -10667,10 +10821,10 @@ class DefaultViewComponent extends View {
|
|
|
10667
10821
|
this.startInFirstField = this.focusInFirstField;
|
|
10668
10822
|
await super.ngOnInit();
|
|
10669
10823
|
}
|
|
10670
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
10671
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DefaultViewComponent, selector: "default-view", inputs: { noBack: "noBack", noNew: "noNew", noBreadcrumbs: "noBreadcrumbs", focusInFirstField: "focusInFirstField", backRouterLink: "backRouterLink" }, usesInheritance: true, ngImport: i0, template: "<ion-content class=\"bg-transparent\"> \r\n <div class=\"wrapper\" [ngClass]=\"{'!p-0 translucid-primary-background': nested}\" tabindex=\"-1\">\r\n @if (!noBreadcrumbs) {\r\n <ion-breadcrumbs>\r\n <ion-breadcrumb class=\"cursor-pointer\" (click)=\"NavigateToList()\">\r\n {{service.title}}\r\n </ion-breadcrumb>\r\n <ion-breadcrumb> \r\n {{id == 0 ? 'Novo Registro' : 'Editar Registro' }} \r\n </ion-breadcrumb>\r\n </ion-breadcrumbs>\r\n }\r\n \r\n <ion-card>\r\n <ion-card-header class=\"!block\">\r\n @if (service) {\r\n <header-view \r\n *ngIf=\"service\" \r\n [novo]=\"id == 0\" \r\n [useDefaultRouting]=\"nested\" \r\n [loading]=\"loading\" \r\n [progress]=\"progress\" \r\n (save)=\"Save()\" \r\n [noBack]=\"noBack\" \r\n [noNew]=\"noNew\"\r\n [backRouterLink]=\"backRouterLink\"\r\n ></header-view>\r\n }\r\n </ion-card-header>\r\n <ion-card-content class=\"p-0 h-full !overflow-y-auto overflow-x-hidden\">\r\n <div class=\"grid grid-cols-12 gap-2 w-full\" *ngIf=\"frm\" [formGroup]=\"frm\">\r\n \r\n @for (field of lstTableFields; track $index) {\r\n @if (field.index != 'id') {\r\n @if (!field.hiddenView) {\r\n @switch (field.type) {\r\n @case (InputType.Bool) {\r\n <input-bool [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\" ></input-bool>\r\n }\r\n @case (InputType.Cep){\r\n <input-cep [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\"></input-cep>\r\n }\r\n @case (InputType.Color){\r\n <input-color [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\"></input-color>\r\n }\r\n @case (InputType.CpfCnpj) {\r\n <input-cpf [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-cpf>\r\n }\r\n @case (InputType.Cpf) {\r\n <input-cpf [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-cpf>\r\n }\r\n @case (InputType.Cnpj) {\r\n <input-cnpj [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-cnpj>\r\n }\r\n @case (InputType.Date) {\r\n <input-date [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-date>\r\n }\r\n @case (InputType.DateTime) {\r\n <input-date-time [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-date-time>\r\n }\r\n @case (InputType.Time) {\r\n <input-time [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-time>\r\n }\r\n @case (InputType.Decimal) {\r\n <input-decimal [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-decimal>\r\n }\r\n @case (InputType.Currency) {\r\n <input-currency [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-currency>\r\n }\r\n @case (InputType.Number) {\r\n <input-number [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-number>\r\n }\r\n @case (InputType.File) {\r\n <input-file [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-file>\r\n }\r\n @case (InputType.Icon) {\r\n <input-icon [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\"></input-icon>\r\n }\r\n @case (InputType.Select) {\r\n <input-select [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-select>\r\n }\r\n @case (InputType.String) {\r\n <input-string [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-string>\r\n }\r\n @case (InputType.TelefoneCelular) {\r\n <input-telefone-celular [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-telefone-celular>\r\n }\r\n @case (InputType.Telefone) {\r\n <input-telefone [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-telefone>\r\n }\r\n @case (InputType.Celular) {\r\n <input-celular [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-celular>\r\n }\r\n @case (InputType.TextArea) {\r\n <input-textarea [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-textarea>\r\n }\r\n }\r\n }\r\n }\r\n }\r\n \r\n <div class=\"col-span-full rounded-2xl p-3 flex items-center justify-center\" *ngIf=\"!service || service.lstTableFields.length == 0\" style=\"background: var(--ion-color-danger);\">\r\n <ion-text class=\"text-2xl text-light\">\r\n <ion-icon class=\"align-sub text-3xl\" name=\"alert-circle\"></ion-icon> [ Invalid Configuration ]\r\n </ion-text>\r\n </div>\r\n </div>\r\n </ion-card-content>\r\n </ion-card>\r\n </div>\r\n</ion-content>", styles: ["ion-card-header{padding:0}\n"], dependencies: [{ kind: "component", type: i1.IonBreadcrumb, selector: "ion-breadcrumb", inputs: ["active", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "separator", "target"] }, { kind: "component", type: i1.IonBreadcrumbs, selector: "ion-breadcrumbs", inputs: ["color", "itemsAfterCollapse", "itemsBeforeCollapse", "maxItems", "mode"] }, { kind: "component", type: i1.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i1.IonCardHeader, selector: "ion-card-header", inputs: ["color", "mode", "translucent"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputBoolComponent, selector: "input-bool", inputs: ["configuration"] }, { kind: "component", type: InputCepComponent, selector: "input-cep", inputs: ["configuration"] }, { kind: "component", type: InputColorComponent, selector: "input-color" }, { kind: "component", type: InputCpfCnpjComponent, selector: "input-cpf-cnpj, input-cpf, input-cnpj", inputs: ["configuration"], outputs: ["configurationChange"] }, { kind: "component", type: InputDateComponent, selector: "input-date, input-date-time, input-time", inputs: ["configuration"] }, { kind: "component", type: InputDecimalComponent, selector: "input-decimal, input-number, input-currency, input-percentage", inputs: ["configuration"], outputs: ["configurationChange"] }, { kind: "component", type: InputFileComponent, selector: "input-file", inputs: ["configuration"] }, { kind: "component", type: InputIconComponent, selector: "input-icon" }, { kind: "component", type: InputSelectComponent, selector: "input-select", inputs: ["items", "configuration"], outputs: ["itemsChange"] }, { kind: "component", type: InputStringComponent, selector: "input-string", inputs: ["configuration"] }, { kind: "component", type: InputTelefoneComponent, selector: "input-telefone, input-celular, input-telefone-celular", inputs: ["configuration"], outputs: ["configurationChange"] }, { kind: "component", type: InputTextareaComponent, selector: "input-textarea", inputs: ["configuration"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: HeaderViewComponent, selector: "header-view", inputs: ["novo", "loading", "progress", "focusInFirstField", "noBack", "noNew", "useDefaultRouting", "backRouterLink"], outputs: ["save"] }] }); }
|
|
10824
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DefaultViewComponent, deps: [{ token: i2$1.FormBuilder }, { token: i0.ElementRef }, { token: i2$2.ActivatedRoute }, { token: GenericService }, { token: i1.NavController }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10825
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DefaultViewComponent, selector: "default-view", inputs: { noBack: "noBack", noNew: "noNew", noBreadcrumbs: "noBreadcrumbs", focusInFirstField: "focusInFirstField", backRouterLink: "backRouterLink" }, usesInheritance: true, ngImport: i0, template: "<ion-content class=\"bg-transparent\"> \r\n <div class=\"wrapper\" [ngClass]=\"{'!p-0 translucid-primary-background': nested}\" tabindex=\"-1\">\r\n @if (!noBreadcrumbs) {\r\n <ion-breadcrumbs>\r\n <ion-breadcrumb class=\"cursor-pointer\" (click)=\"NavigateToList()\">\r\n {{service.title}}\r\n </ion-breadcrumb>\r\n <ion-breadcrumb> \r\n {{id == 0 ? 'Novo Registro' : 'Editar Registro' }} \r\n </ion-breadcrumb>\r\n </ion-breadcrumbs>\r\n }\r\n \r\n <ion-card>\r\n <ion-card-header class=\"!block\">\r\n @if (service) {\r\n <header-view \r\n *ngIf=\"service\" \r\n [novo]=\"id == 0\" \r\n [useDefaultRouting]=\"nested\" \r\n [loading]=\"loading\" \r\n [progress]=\"progress\" \r\n (save)=\"Save()\" \r\n [noBack]=\"noBack\" \r\n [noNew]=\"noNew\"\r\n [backRouterLink]=\"backRouterLink\"\r\n ></header-view>\r\n }\r\n </ion-card-header>\r\n <ion-card-content class=\"p-0 h-full !overflow-y-auto overflow-x-hidden\">\r\n <div class=\"grid grid-cols-12 gap-2 w-full\" *ngIf=\"frm\" [formGroup]=\"frm\">\r\n \r\n @for (field of lstTableFields; track $index) {\r\n @if (field.index != 'id') {\r\n @if (!field.hiddenView) {\r\n @switch (field.type) {\r\n @case (InputType.Bool) {\r\n <input-bool [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\" ></input-bool>\r\n }\r\n @case (InputType.Cep){\r\n <input-cep [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\"></input-cep>\r\n }\r\n @case (InputType.Color){\r\n <input-color [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\"></input-color>\r\n }\r\n @case (InputType.CpfCnpj) {\r\n <input-cpf [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-cpf>\r\n }\r\n @case (InputType.Cpf) {\r\n <input-cpf [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-cpf>\r\n }\r\n @case (InputType.Cnpj) {\r\n <input-cnpj [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-cnpj>\r\n }\r\n @case (InputType.Date) {\r\n <input-date [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-date>\r\n }\r\n @case (InputType.DateTime) {\r\n <input-date-time [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-date-time>\r\n }\r\n @case (InputType.Time) {\r\n <input-time [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-time>\r\n }\r\n @case (InputType.Decimal) {\r\n <input-decimal [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-decimal>\r\n }\r\n @case (InputType.Currency) {\r\n <input-currency [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-currency>\r\n }\r\n @case (InputType.Number) {\r\n <input-number [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-number>\r\n }\r\n @case (InputType.File) {\r\n <input-file [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-file>\r\n }\r\n @case (InputType.Icon) {\r\n <input-icon [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\"></input-icon>\r\n }\r\n @case (InputType.Select) {\r\n <input-select [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-select>\r\n }\r\n @case (InputType.String) {\r\n <input-string [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-string>\r\n }\r\n @case (InputType.TelefoneCelular) {\r\n <input-telefone-celular [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-telefone-celular>\r\n }\r\n @case (InputType.Telefone) {\r\n <input-telefone [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-telefone>\r\n }\r\n @case (InputType.Celular) {\r\n <input-celular [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-celular>\r\n }\r\n @case (InputType.TextArea) {\r\n <input-textarea [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-textarea>\r\n }\r\n }\r\n }\r\n }\r\n }\r\n \r\n <div class=\"col-span-full rounded-2xl p-3 flex items-center justify-center\" *ngIf=\"!service || service.lstTableFields.length == 0\" style=\"background: var(--ion-color-danger);\">\r\n <ion-text class=\"text-2xl text-light\">\r\n <ion-icon class=\"align-sub text-3xl\" name=\"alert-circle\"></ion-icon> [ Invalid Configuration ]\r\n </ion-text>\r\n </div>\r\n </div>\r\n </ion-card-content>\r\n </ion-card>\r\n </div>\r\n</ion-content>", styles: ["ion-card-header{padding:0}\n"], dependencies: [{ kind: "component", type: i1.IonBreadcrumb, selector: "ion-breadcrumb", inputs: ["active", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "separator", "target"] }, { kind: "component", type: i1.IonBreadcrumbs, selector: "ion-breadcrumbs", inputs: ["color", "itemsAfterCollapse", "itemsBeforeCollapse", "maxItems", "mode"] }, { kind: "component", type: i1.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i1.IonCardHeader, selector: "ion-card-header", inputs: ["color", "mode", "translucent"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputBoolComponent, selector: "input-bool", inputs: ["configuration"] }, { kind: "component", type: InputCepComponent, selector: "input-cep", inputs: ["configuration"] }, { kind: "component", type: InputColorComponent, selector: "input-color" }, { kind: "component", type: InputCpfCnpjComponent, selector: "input-cpf-cnpj, input-cpf, input-cnpj", inputs: ["configuration"], outputs: ["configurationChange"] }, { kind: "component", type: InputDateComponent, selector: "input-date, input-date-time, input-time", inputs: ["configuration"] }, { kind: "component", type: InputDecimalComponent, selector: "input-decimal, input-number, input-currency, input-percentage", inputs: ["configuration"], outputs: ["configurationChange"] }, { kind: "component", type: InputFileComponent, selector: "input-file", inputs: ["configuration"] }, { kind: "component", type: InputIconComponent, selector: "input-icon" }, { kind: "component", type: InputSelectComponent, selector: "input-select", inputs: ["items", "configuration"], outputs: ["itemsChange"] }, { kind: "component", type: InputStringComponent, selector: "input-string", inputs: ["configuration"] }, { kind: "component", type: InputTelefoneComponent, selector: "input-telefone, input-celular, input-telefone-celular", inputs: ["configuration"], outputs: ["configurationChange"] }, { kind: "component", type: InputTextareaComponent, selector: "input-textarea", inputs: ["configuration"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: HeaderViewComponent, selector: "header-view", inputs: ["novo", "loading", "progress", "focusInFirstField", "noBack", "noNew", "useDefaultRouting", "backRouterLink"], outputs: ["save"] }] }); }
|
|
10672
10826
|
}
|
|
10673
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
10827
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DefaultViewComponent, decorators: [{
|
|
10674
10828
|
type: Component,
|
|
10675
10829
|
args: [{ selector: 'default-view', template: "<ion-content class=\"bg-transparent\"> \r\n <div class=\"wrapper\" [ngClass]=\"{'!p-0 translucid-primary-background': nested}\" tabindex=\"-1\">\r\n @if (!noBreadcrumbs) {\r\n <ion-breadcrumbs>\r\n <ion-breadcrumb class=\"cursor-pointer\" (click)=\"NavigateToList()\">\r\n {{service.title}}\r\n </ion-breadcrumb>\r\n <ion-breadcrumb> \r\n {{id == 0 ? 'Novo Registro' : 'Editar Registro' }} \r\n </ion-breadcrumb>\r\n </ion-breadcrumbs>\r\n }\r\n \r\n <ion-card>\r\n <ion-card-header class=\"!block\">\r\n @if (service) {\r\n <header-view \r\n *ngIf=\"service\" \r\n [novo]=\"id == 0\" \r\n [useDefaultRouting]=\"nested\" \r\n [loading]=\"loading\" \r\n [progress]=\"progress\" \r\n (save)=\"Save()\" \r\n [noBack]=\"noBack\" \r\n [noNew]=\"noNew\"\r\n [backRouterLink]=\"backRouterLink\"\r\n ></header-view>\r\n }\r\n </ion-card-header>\r\n <ion-card-content class=\"p-0 h-full !overflow-y-auto overflow-x-hidden\">\r\n <div class=\"grid grid-cols-12 gap-2 w-full\" *ngIf=\"frm\" [formGroup]=\"frm\">\r\n \r\n @for (field of lstTableFields; track $index) {\r\n @if (field.index != 'id') {\r\n @if (!field.hiddenView) {\r\n @switch (field.type) {\r\n @case (InputType.Bool) {\r\n <input-bool [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\" ></input-bool>\r\n }\r\n @case (InputType.Cep){\r\n <input-cep [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\"></input-cep>\r\n }\r\n @case (InputType.Color){\r\n <input-color [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\"></input-color>\r\n }\r\n @case (InputType.CpfCnpj) {\r\n <input-cpf [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-cpf>\r\n }\r\n @case (InputType.Cpf) {\r\n <input-cpf [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-cpf>\r\n }\r\n @case (InputType.Cnpj) {\r\n <input-cnpj [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-cnpj>\r\n }\r\n @case (InputType.Date) {\r\n <input-date [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-date>\r\n }\r\n @case (InputType.DateTime) {\r\n <input-date-time [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-date-time>\r\n }\r\n @case (InputType.Time) {\r\n <input-time [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-time>\r\n }\r\n @case (InputType.Decimal) {\r\n <input-decimal [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-decimal>\r\n }\r\n @case (InputType.Currency) {\r\n <input-currency [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-currency>\r\n }\r\n @case (InputType.Number) {\r\n <input-number [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-number>\r\n }\r\n @case (InputType.File) {\r\n <input-file [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-file>\r\n }\r\n @case (InputType.Icon) {\r\n <input-icon [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\"></input-icon>\r\n }\r\n @case (InputType.Select) {\r\n <input-select [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-select>\r\n }\r\n @case (InputType.String) {\r\n <input-string [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-string>\r\n }\r\n @case (InputType.TelefoneCelular) {\r\n <input-telefone-celular [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-telefone-celular>\r\n }\r\n @case (InputType.Telefone) {\r\n <input-telefone [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-telefone>\r\n }\r\n @case (InputType.Celular) {\r\n <input-celular [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-celular>\r\n }\r\n @case (InputType.TextArea) {\r\n <input-textarea [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-textarea>\r\n }\r\n }\r\n }\r\n }\r\n }\r\n \r\n <div class=\"col-span-full rounded-2xl p-3 flex items-center justify-center\" *ngIf=\"!service || service.lstTableFields.length == 0\" style=\"background: var(--ion-color-danger);\">\r\n <ion-text class=\"text-2xl text-light\">\r\n <ion-icon class=\"align-sub text-3xl\" name=\"alert-circle\"></ion-icon> [ Invalid Configuration ]\r\n </ion-text>\r\n </div>\r\n </div>\r\n </ion-card-content>\r\n </ion-card>\r\n </div>\r\n</ion-content>", styles: ["ion-card-header{padding:0}\n"] }]
|
|
10676
10830
|
}], ctorParameters: () => [{ type: i2$1.FormBuilder }, { type: i0.ElementRef }, { type: i2$2.ActivatedRoute }, { type: GenericService }, { type: i1.NavController }], propDecorators: { noBack: [{
|
|
@@ -10693,10 +10847,10 @@ class AbstractView {
|
|
|
10693
10847
|
static GetProvider(component) {
|
|
10694
10848
|
return [{ provide: AbstractView, useExisting: component }];
|
|
10695
10849
|
}
|
|
10696
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
10697
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
10850
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AbstractView, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10851
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AbstractView, selector: "ng-component", viewQueries: [{ propertyName: "DefaultView", first: true, predicate: (DefaultViewComponent), descendants: true }], ngImport: i0, template: '', isInline: true, styles: [""] }); }
|
|
10698
10852
|
}
|
|
10699
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
10853
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AbstractView, decorators: [{
|
|
10700
10854
|
type: Component,
|
|
10701
10855
|
args: [{ template: '' }]
|
|
10702
10856
|
}], propDecorators: { DefaultView: [{
|
|
@@ -10705,11 +10859,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
10705
10859
|
}] } });
|
|
10706
10860
|
|
|
10707
10861
|
class SIonPopoverModule {
|
|
10708
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
10709
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
10710
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
10862
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SIonPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10863
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: SIonPopoverModule, declarations: [SIonPopoverComponent], imports: [CommonModule, OverlayModule], exports: [SIonPopoverComponent] }); }
|
|
10864
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SIonPopoverModule, imports: [CommonModule, OverlayModule] }); }
|
|
10711
10865
|
}
|
|
10712
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
10866
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SIonPopoverModule, decorators: [{
|
|
10713
10867
|
type: NgModule,
|
|
10714
10868
|
args: [{
|
|
10715
10869
|
declarations: [SIonPopoverComponent],
|
|
@@ -10739,8 +10893,8 @@ const lstComponents$1 = [
|
|
|
10739
10893
|
DownloadButtonComponent,
|
|
10740
10894
|
];
|
|
10741
10895
|
class InputsModule {
|
|
10742
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
10743
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
10896
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10897
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: InputsModule, declarations: [InputBoolComponent,
|
|
10744
10898
|
InputCepComponent,
|
|
10745
10899
|
InputColorComponent,
|
|
10746
10900
|
InputCpfCnpjComponent,
|
|
@@ -10782,7 +10936,7 @@ class InputsModule {
|
|
|
10782
10936
|
InputTelefoneComponent,
|
|
10783
10937
|
InputTextareaComponent,
|
|
10784
10938
|
DownloadButtonComponent] }); }
|
|
10785
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
10939
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputsModule, providers: [
|
|
10786
10940
|
{ provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },
|
|
10787
10941
|
{ provide: MAT_DATE_FORMATS, useValue: MAT_MOMENT_DATE_FORMATS },
|
|
10788
10942
|
], imports: [IonicModule,
|
|
@@ -10796,7 +10950,7 @@ class InputsModule {
|
|
|
10796
10950
|
MatDatepickerModule,
|
|
10797
10951
|
MatCardModule] }); }
|
|
10798
10952
|
}
|
|
10799
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
10953
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputsModule, decorators: [{
|
|
10800
10954
|
type: NgModule,
|
|
10801
10955
|
args: [{
|
|
10802
10956
|
declarations: [...lstComponents$1],
|
|
@@ -10840,8 +10994,8 @@ const lstComponents = [
|
|
|
10840
10994
|
- DefaultPaginationComponent,
|
|
10841
10995
|
*/
|
|
10842
10996
|
class DefaultModule {
|
|
10843
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
10844
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
10997
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DefaultModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10998
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: DefaultModule, declarations: [HeaderListComponent,
|
|
10845
10999
|
DefaultListComponent,
|
|
10846
11000
|
DefaultViewComponent,
|
|
10847
11001
|
HeaderViewComponent,
|
|
@@ -10867,7 +11021,7 @@ class DefaultModule {
|
|
|
10867
11021
|
DefaultTableComponent,
|
|
10868
11022
|
DefaultPaginationComponent,
|
|
10869
11023
|
ThFilterComponent] }); }
|
|
10870
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
11024
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DefaultModule, imports: [IonicModule,
|
|
10871
11025
|
CommonModule,
|
|
10872
11026
|
InputsModule,
|
|
10873
11027
|
ReactiveFormsModule,
|
|
@@ -10877,7 +11031,7 @@ class DefaultModule {
|
|
|
10877
11031
|
SIonPopoverModule,
|
|
10878
11032
|
ContentBlockComponent] }); }
|
|
10879
11033
|
}
|
|
10880
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
11034
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DefaultModule, decorators: [{
|
|
10881
11035
|
type: NgModule,
|
|
10882
11036
|
args: [{
|
|
10883
11037
|
declarations: [...lstComponents],
|
|
@@ -10944,10 +11098,10 @@ class RouteProviderService {
|
|
|
10944
11098
|
return this.loading$;
|
|
10945
11099
|
}
|
|
10946
11100
|
}
|
|
10947
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
10948
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
11101
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RouteProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
11102
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RouteProviderService, providedIn: 'root' }); }
|
|
10949
11103
|
}
|
|
10950
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
11104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RouteProviderService, decorators: [{
|
|
10951
11105
|
type: Injectable,
|
|
10952
11106
|
args: [{
|
|
10953
11107
|
providedIn: 'root'
|
|
@@ -10981,10 +11135,10 @@ class DefaultPage {
|
|
|
10981
11135
|
SetTitle(item) {
|
|
10982
11136
|
this.genericService.SetTitle(item.title);
|
|
10983
11137
|
}
|
|
10984
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
10985
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
11138
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DefaultPage, deps: [{ token: i2$2.ActivatedRoute }, { token: EnvironmentService }, { token: GenericService }, { token: RouteProviderService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11139
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DefaultPage, isStandalone: true, selector: "app-default", ngImport: i0, template: "<ion-content [fullscreen]=\"true\">\r\n <div class=\"wrapper\">\r\n <ion-breadcrumbs>\r\n <ion-breadcrumb [routerLink]=\"[null]\">\r\n <ion-icon slot=\"start\" name=\"home\"></ion-icon> Inicio\r\n </ion-breadcrumb>\r\n </ion-breadcrumbs>\r\n \r\n <ion-card>\r\n <ion-card-content class=\"flex flex-col items-center justify-center !p-6\">\r\n <div class=\"w-full shrink-0 text-center\">\r\n @if(lstImage){\r\n @for (item of lstImage; track $index) {\r\n <ion-img [class]=\"item.classes\" [src]=\"item.src\" (ion-error)=\"lstImage\"></ion-img>\r\n }\r\n }\r\n @else {\r\n <ion-text class=\"text-8xl font-poppins w-full\"> {{title}} </ion-text>\r\n }\r\n </div>\r\n\r\n <div class=\"overflow-hidden p-2 w-full relative\">\r\n <loading [type]=\"3\" [loading]=\"loading\"></loading>\r\n <div class=\"size-full flex flex-wrap portrait:!grid gap-2\">\r\n @for (item of lstMenu; track item; let i = $index) {\r\n @if(item.type == \"Menu\"){\r\n <ion-button fill=\"outline\" class=\"grow min-w-fit\" [routerLink]=\"[item.route]\">\r\n <ion-icon slot=\"start\" [name]=\"item.icon\"></ion-icon> \r\n {{useTranslation ? (TranslationModule.Permissao + item.id | translate) : item.title}}\r\n </ion-button>\r\n }\r\n @if(item.type == \"MenuGroup\"){\r\n <ion-button fill=\"outline\" class=\"grow min-w-fit\" (click)=\"popover.present($event)\">\r\n <ion-icon slot=\"start\" [name]=\"item.icon\"></ion-icon> \r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + item.id | translate) : item.title}}\r\n </ion-button>\r\n\r\n <ion-popover #popover class=\"overflow-y-auto\" [dismissOnSelect]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-list class=\"no-outer-border\">\r\n <ion-item class=\"bg-transparent\" (click)=\"SetTitle(menu)\" *ngFor=\"let menu of item.lstMenu\" [routerLink]=\"['./' + menu.route]\" lines=\"none\" detail=\"false\" routerLinkActive=\"selected\">\r\n <ion-icon [name]=\"menu.icon\" slot=\"start\"></ion-icon> \r\n <ion-label> \r\n {{useTranslation ? (TranslationModule.Permissao + menu.id | translate) : menu.title}} \r\n </ion-label>\r\n </ion-item>\r\n </ion-list>\r\n </ng-template>\r\n </ion-popover>\r\n }\r\n }\r\n </div>\r\n </div>\r\n\r\n <!-- <div class=\"!overflow-y-auto w-full portrait:grow relative\">\r\n <loading [type]=\"3\" [loading]=\"loading\"></loading>\r\n <div class=\"flex flex-wrap items-start justify-start mt-4 portrait:!grid portrait:!grid-cols-1\"> \r\n </div>\r\n </div> -->\r\n </ion-card-content>\r\n </ion-card>\r\n </div>\r\n</ion-content>", styles: ["ion-popover::part(content){overflow-y:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonBreadcrumb, selector: "ion-breadcrumb", inputs: ["active", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "separator", "target"] }, { kind: "component", type: i1.IonBreadcrumbs, selector: "ion-breadcrumbs", inputs: ["color", "itemsAfterCollapse", "itemsBeforeCollapse", "maxItems", "mode"] }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonImg, selector: "ion-img", inputs: ["alt", "src"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonPopover, selector: "ion-popover" }, { kind: "directive", type: i1.RouterLinkDelegate, selector: ":not(a):not(area)[routerLink]" }, { kind: "ngmodule", type: InputsModule }, { kind: "directive", type: RouterLinkWithHref, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: LoadingComponent, selector: "loading", inputs: ["text", "type", "loading"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
|
|
10986
11140
|
}
|
|
10987
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
11141
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DefaultPage, decorators: [{
|
|
10988
11142
|
type: Component,
|
|
10989
11143
|
args: [{ standalone: true, selector: 'app-default', imports: [
|
|
10990
11144
|
CommonModule,
|
|
@@ -11012,10 +11166,10 @@ class DefaultPageImage {
|
|
|
11012
11166
|
class DragDropOverlayComponent {
|
|
11013
11167
|
constructor() { }
|
|
11014
11168
|
ngOnInit() { }
|
|
11015
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
11016
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
11169
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DragDropOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11170
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DragDropOverlayComponent, selector: "drag-drop-overlay", ngImport: i0, template: "<div class=\"absolute top-0 left-0 size-full z-50 p-4 pointer-events-none\" [ngClass]=\"{'fileOver': fileOver}\">\r\n <div class=\"border-4 border-dashed border-transparent default-transition rounded-2xl size-full flex items-center justify-center\">\r\n <ion-icon class=\"text-9xl text-transparent\" name=\"cloud-upload\"></ion-icon>\r\n </div>\r\n</div>", styles: [".fileOver{top:0!important;--tw-backdrop-blur: blur(4px) !important;--tw-backdrop-grayscale: grayscale(.5) !important;-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)!important;backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)!important}.fileOver div{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.fileOver div ion-icon{color:var(--ion-color-dark)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
|
|
11017
11171
|
}
|
|
11018
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
11172
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DragDropOverlayComponent, decorators: [{
|
|
11019
11173
|
type: Component,
|
|
11020
11174
|
args: [{ selector: 'drag-drop-overlay', template: "<div class=\"absolute top-0 left-0 size-full z-50 p-4 pointer-events-none\" [ngClass]=\"{'fileOver': fileOver}\">\r\n <div class=\"border-4 border-dashed border-transparent default-transition rounded-2xl size-full flex items-center justify-center\">\r\n <ion-icon class=\"text-9xl text-transparent\" name=\"cloud-upload\"></ion-icon>\r\n </div>\r\n</div>", styles: [".fileOver{top:0!important;--tw-backdrop-blur: blur(4px) !important;--tw-backdrop-grayscale: grayscale(.5) !important;-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)!important;backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)!important}.fileOver div{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.fileOver div ion-icon{color:var(--ion-color-dark)}\n"] }]
|
|
11021
11175
|
}], ctorParameters: () => [] });
|
|
@@ -11049,10 +11203,10 @@ class DragDropFileDirective {
|
|
|
11049
11203
|
this.fileDropped.emit(Array.from(files));
|
|
11050
11204
|
}
|
|
11051
11205
|
}
|
|
11052
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
11053
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
11206
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DragDropFileDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
11207
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: DragDropFileDirective, selector: "[DragDropFile]", outputs: { fileDropped: "fileDropped" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "onDrop($event)" }, properties: { "class.fileOver": "this.fileOver" } }, queries: [{ propertyName: "dragDropOverlay", first: true, predicate: DragDropOverlayComponent, descendants: true }], ngImport: i0 }); }
|
|
11054
11208
|
}
|
|
11055
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
11209
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DragDropFileDirective, decorators: [{
|
|
11056
11210
|
type: Directive,
|
|
11057
11211
|
args: [{
|
|
11058
11212
|
selector: '[DragDropFile]'
|
|
@@ -11081,15 +11235,15 @@ const values = [
|
|
|
11081
11235
|
DragDropOverlayComponent
|
|
11082
11236
|
];
|
|
11083
11237
|
class DragDropFileModule {
|
|
11084
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
11085
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
11238
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DragDropFileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11239
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: DragDropFileModule, declarations: [DragDropFileDirective,
|
|
11086
11240
|
DragDropOverlayComponent], imports: [CommonModule,
|
|
11087
11241
|
IonicModule], exports: [DragDropFileDirective,
|
|
11088
11242
|
DragDropOverlayComponent] }); }
|
|
11089
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
11243
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DragDropFileModule, imports: [CommonModule,
|
|
11090
11244
|
IonicModule] }); }
|
|
11091
11245
|
}
|
|
11092
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
11246
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DragDropFileModule, decorators: [{
|
|
11093
11247
|
type: NgModule,
|
|
11094
11248
|
args: [{
|
|
11095
11249
|
declarations: [...values],
|
|
@@ -11112,10 +11266,10 @@ class DefaultDrawerEndComponent {
|
|
|
11112
11266
|
});
|
|
11113
11267
|
}
|
|
11114
11268
|
Loggout() { this.authService.Loggout(); }
|
|
11115
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
11116
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
11269
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DefaultDrawerEndComponent, deps: [{ token: AuthService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11270
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DefaultDrawerEndComponent, isStandalone: true, selector: "default-drawer-end", inputs: { colapsed: "colapsed" }, ngImport: i0, template: "<div class=\"w-full default-transition flex\" [ngClass]=\"{'!w-16': colapsed}\">\r\n <div class=\"w-10 shrink-0 aspect-square rounded-2xl flex items-center justify-center default-transition\" style=\"background-color: var(--ion-color-primary);\">\r\n <span class=\"uppercase text-white\">{{Token ? Token.Nome[0] : ''}}</span>\r\n </div>\r\n <div class=\"grow min-w-10 p-2 justify-center items-center whitespace-nowrap text-ellipsis overflow-hidden block default-transition\" [ngClass]=\"{'opacity-0 w-0': colapsed}\">\r\n <span>{{Token ? Token.Nome : ''}}</span>\r\n </div>\r\n\r\n <ion-button (click)=\"Loggout()\" class=\"size-10 shrink-0\" size=\"small\" color=\"danger\">\r\n <ion-icon slot=\"icon-only\" name=\"exit-outline\"></ion-icon> \r\n </ion-button>\r\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
|
|
11117
11271
|
}
|
|
11118
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
11272
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DefaultDrawerEndComponent, decorators: [{
|
|
11119
11273
|
type: Component,
|
|
11120
11274
|
args: [{ standalone: true, imports: [
|
|
11121
11275
|
CommonModule,
|
|
@@ -11164,10 +11318,10 @@ class DrawerGroupComponent {
|
|
|
11164
11318
|
SetTitle(item) {
|
|
11165
11319
|
this.genericService.SetTitle(item.title);
|
|
11166
11320
|
}
|
|
11167
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
11168
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
11321
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerGroupComponent, deps: [{ token: i2$2.Router }, { token: i1.NavController }, { token: GenericService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11322
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DrawerGroupComponent, isStandalone: true, selector: "drawer-group", inputs: { MenuGroup: "MenuGroup", colapsed: "colapsed", useTranslation: "useTranslation" }, viewQueries: [{ propertyName: "lstIonAcordionGroup", predicate: IonAccordionGroup, descendants: true }], ngImport: i0, template: "<div class=\"size-full flex flex-col verflow-hidden\">\r\n <div class=\"w-full text-center\">\r\n <!-- <ion-item class=\"bg-inactive bg-active\" lines=\"none\" style=\"--border-radius: 1rem\">\r\n <ion-label class=\"text-center\">\r\n <ion-icon class=\"text-2xl\" [name]=\"MenuGroup.icon\"></ion-icon> <br>\r\n <ion-text class=\"text-lg\">\r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + MenuGroup.id | translate) : MenuGroup.title}} \r\n </ion-text>\r\n </ion-label>\r\n </ion-item> -->\r\n <div class=\"gradient-background header flex flex-col gap-1 p-2 text-center items-center justify-center rounded-xl\">\r\n <ion-icon class=\"text-2xl\" [name]=\"MenuGroup.icon\"></ion-icon>\r\n <ion-text class=\"text-dark\">\r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + MenuGroup.id | translate) : MenuGroup.title}} \r\n </ion-text>\r\n </div>\r\n </div>\r\n <div class=\"flex flex-col gap-2 w-full pt-2 mask-y overflow-y-auto\">\r\n @for (mGroup of MenuGroup.lstMenu; track $index) {\r\n <!-- Menu -->\r\n @if(mGroup.type == \"Menu\"){\r\n <div (click)=\"HandleNav(mGroup, $event)\" \r\n class=\"bg-inactive gradient-background menu\"\r\n [class.bg-active]=\"router.isActive('/' + mGroup.route, false)\"\r\n >\r\n <div class=\"content\">\r\n <ion-icon class=\"shrink-0\" [name]=\"mGroup.icon\"></ion-icon>\r\n <ion-label class=\"shrink\">\r\n {{useTranslation ? (TranslationModule.Permissao + mGroup.id | translate) : mGroup.title}} \r\n </ion-label>\r\n </div>\r\n </div>\r\n <!-- <ion-item \r\n class=\"bg-inactive shrink-0\" lines=\"none\" \r\n (click)=\"HandleNav(mGroup)\"\r\n [ngClass]=\"{'colapsed': colapsed, 'bg-active' : router.isActive('/' + mGroup.route, false)}\">\r\n <ion-icon slot=\"start\" [name]=\"mGroup.icon\"></ion-icon>\r\n <ion-label class=\"ion-text-nowrap\">\r\n {{useTranslation ? (TranslationModule.Permissao + mGroup.id | translate) : mGroup.title}} \r\n </ion-label>\r\n </ion-item> -->\r\n } \r\n @else if (mGroup.type == \"MenuGroup\") {\r\n <!-- MenuGroup -->\r\n <!-- <div class=\"w-full overflow-hidden shrink-0\">\r\n <ion-accordion-group class=\"ion-text-nowrap w-full\">\r\n <ion-accordion class=\"bg-transparent\" [value]=\"mGroup\">\r\n <ion-item slot=\"header\" color=\"light\" class=\"ion-text-nowrap bg-inactive\" style=\"--ion-color-base: var(--background) !important\">\r\n <ion-icon slot=\"start\" [name]=\"mGroup.icon\"></ion-icon>\r\n <ion-label>\r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + mGroup.id | translate) : mGroup.title}}\r\n </ion-label>\r\n </ion-item>\r\n <div slot=\"content\">\r\n <div class=\"pl-8\">\r\n <div class=\"w-full border-l-2 border-solid rounded-bl-2xl grid gap-2 pl-2 py-2\" style=\"border-color: color-mix(in srgb, var(--ion-color-primary) 30%, transparent 70%)\">\r\n @for (mMenu of mGroup.lstMenu; track $index) {\r\n @if (mMenu.type == \"Menu\") {\r\n <ion-item \r\n class=\"bg-inactive\" lines=\"none\" \r\n (click)=\"HandleNav(mMenu)\"\r\n [ngClass]=\"{'colapsed': colapsed, 'bg-active' : router.isActive('/' + mMenu.route, false)}\">\r\n <ion-icon slot=\"start\" [name]=\"mMenu.icon\"></ion-icon>\r\n <ion-label class=\"ion-text-nowrap\">\r\n {{useTranslation ? (TranslationModule.Permissao + mMenu.id | translate) : mMenu.title}}\r\n </ion-label>\r\n </ion-item>\r\n }\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </ion-accordion>\r\n </ion-accordion-group>\r\n </div> -->\r\n }\r\n }\r\n </div>\r\n</div>", styles: [".menu{display:flex;flex-shrink:0;cursor:pointer;align-items:center;justify-content:flex-start;overflow:hidden;border-radius:.75rem;padding:.375rem;transition:--color-primary,--step-1-opacity,--step-2-opacity .2s ease-in-out;--inset: var(--color-primary) 0px 1.75px 2px 0px inset;box-shadow:var(--inset)}.menu .content{display:flex;align-items:center;justify-content:flex-start;gap:.5rem}.menu.bg-active:after{content:\"\";position:absolute;top:50%;right:0;width:.375rem;height:75%;transform:translateY(-50%);border-radius:inherit;background-color:color-mix(in srgb,var(--ion-color-primary) 70%,transparent);opacity:1!important;filter:drop-shadow(color-mix(in srgb,var(--ion-color-primary) 70%,transparent) 0px 0px 3px)}.menu.bg-active:before{content:\"\";position:absolute;top:50%;right:-2.3rem;width:5rem;height:7rem;transform:translateY(-50%);border-radius:inherit;opacity:.5!important;background:radial-gradient(color-mix(in srgb,var(--ion-color-primary) 70%,transparent) 0%,transparent 66%)}.menu.bg-inactive{--color-primary: var(--ion-color-step-250);--step-1-opacity: .5;--step-2-opacity: .4;--step-3-opacity: .8;position:relative}.menu.bg-inactive:after{content:\"\";opacity:0;transition:opacity .2s ease-in-out;will-change:opacity}.menu.bg-inactive:before{content:\"\";opacity:0;transition:opacity .2s ease-in-out;will-change:opacity}.header{--color-primary: var(--ion-color-primary) !important;--step-1-opacity: .7 !important;--step-2-opacity: .3 !important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
|
|
11169
11323
|
}
|
|
11170
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
11324
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerGroupComponent, decorators: [{
|
|
11171
11325
|
type: Component,
|
|
11172
11326
|
args: [{ standalone: true, imports: [CommonModule, IonicModule, RouterLinkWithHref, TranslateModule], selector: 'drawer-group', template: "<div class=\"size-full flex flex-col verflow-hidden\">\r\n <div class=\"w-full text-center\">\r\n <!-- <ion-item class=\"bg-inactive bg-active\" lines=\"none\" style=\"--border-radius: 1rem\">\r\n <ion-label class=\"text-center\">\r\n <ion-icon class=\"text-2xl\" [name]=\"MenuGroup.icon\"></ion-icon> <br>\r\n <ion-text class=\"text-lg\">\r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + MenuGroup.id | translate) : MenuGroup.title}} \r\n </ion-text>\r\n </ion-label>\r\n </ion-item> -->\r\n <div class=\"gradient-background header flex flex-col gap-1 p-2 text-center items-center justify-center rounded-xl\">\r\n <ion-icon class=\"text-2xl\" [name]=\"MenuGroup.icon\"></ion-icon>\r\n <ion-text class=\"text-dark\">\r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + MenuGroup.id | translate) : MenuGroup.title}} \r\n </ion-text>\r\n </div>\r\n </div>\r\n <div class=\"flex flex-col gap-2 w-full pt-2 mask-y overflow-y-auto\">\r\n @for (mGroup of MenuGroup.lstMenu; track $index) {\r\n <!-- Menu -->\r\n @if(mGroup.type == \"Menu\"){\r\n <div (click)=\"HandleNav(mGroup, $event)\" \r\n class=\"bg-inactive gradient-background menu\"\r\n [class.bg-active]=\"router.isActive('/' + mGroup.route, false)\"\r\n >\r\n <div class=\"content\">\r\n <ion-icon class=\"shrink-0\" [name]=\"mGroup.icon\"></ion-icon>\r\n <ion-label class=\"shrink\">\r\n {{useTranslation ? (TranslationModule.Permissao + mGroup.id | translate) : mGroup.title}} \r\n </ion-label>\r\n </div>\r\n </div>\r\n <!-- <ion-item \r\n class=\"bg-inactive shrink-0\" lines=\"none\" \r\n (click)=\"HandleNav(mGroup)\"\r\n [ngClass]=\"{'colapsed': colapsed, 'bg-active' : router.isActive('/' + mGroup.route, false)}\">\r\n <ion-icon slot=\"start\" [name]=\"mGroup.icon\"></ion-icon>\r\n <ion-label class=\"ion-text-nowrap\">\r\n {{useTranslation ? (TranslationModule.Permissao + mGroup.id | translate) : mGroup.title}} \r\n </ion-label>\r\n </ion-item> -->\r\n } \r\n @else if (mGroup.type == \"MenuGroup\") {\r\n <!-- MenuGroup -->\r\n <!-- <div class=\"w-full overflow-hidden shrink-0\">\r\n <ion-accordion-group class=\"ion-text-nowrap w-full\">\r\n <ion-accordion class=\"bg-transparent\" [value]=\"mGroup\">\r\n <ion-item slot=\"header\" color=\"light\" class=\"ion-text-nowrap bg-inactive\" style=\"--ion-color-base: var(--background) !important\">\r\n <ion-icon slot=\"start\" [name]=\"mGroup.icon\"></ion-icon>\r\n <ion-label>\r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + mGroup.id | translate) : mGroup.title}}\r\n </ion-label>\r\n </ion-item>\r\n <div slot=\"content\">\r\n <div class=\"pl-8\">\r\n <div class=\"w-full border-l-2 border-solid rounded-bl-2xl grid gap-2 pl-2 py-2\" style=\"border-color: color-mix(in srgb, var(--ion-color-primary) 30%, transparent 70%)\">\r\n @for (mMenu of mGroup.lstMenu; track $index) {\r\n @if (mMenu.type == \"Menu\") {\r\n <ion-item \r\n class=\"bg-inactive\" lines=\"none\" \r\n (click)=\"HandleNav(mMenu)\"\r\n [ngClass]=\"{'colapsed': colapsed, 'bg-active' : router.isActive('/' + mMenu.route, false)}\">\r\n <ion-icon slot=\"start\" [name]=\"mMenu.icon\"></ion-icon>\r\n <ion-label class=\"ion-text-nowrap\">\r\n {{useTranslation ? (TranslationModule.Permissao + mMenu.id | translate) : mMenu.title}}\r\n </ion-label>\r\n </ion-item>\r\n }\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </ion-accordion>\r\n </ion-accordion-group>\r\n </div> -->\r\n }\r\n }\r\n </div>\r\n</div>", styles: [".menu{display:flex;flex-shrink:0;cursor:pointer;align-items:center;justify-content:flex-start;overflow:hidden;border-radius:.75rem;padding:.375rem;transition:--color-primary,--step-1-opacity,--step-2-opacity .2s ease-in-out;--inset: var(--color-primary) 0px 1.75px 2px 0px inset;box-shadow:var(--inset)}.menu .content{display:flex;align-items:center;justify-content:flex-start;gap:.5rem}.menu.bg-active:after{content:\"\";position:absolute;top:50%;right:0;width:.375rem;height:75%;transform:translateY(-50%);border-radius:inherit;background-color:color-mix(in srgb,var(--ion-color-primary) 70%,transparent);opacity:1!important;filter:drop-shadow(color-mix(in srgb,var(--ion-color-primary) 70%,transparent) 0px 0px 3px)}.menu.bg-active:before{content:\"\";position:absolute;top:50%;right:-2.3rem;width:5rem;height:7rem;transform:translateY(-50%);border-radius:inherit;opacity:.5!important;background:radial-gradient(color-mix(in srgb,var(--ion-color-primary) 70%,transparent) 0%,transparent 66%)}.menu.bg-inactive{--color-primary: var(--ion-color-step-250);--step-1-opacity: .5;--step-2-opacity: .4;--step-3-opacity: .8;position:relative}.menu.bg-inactive:after{content:\"\";opacity:0;transition:opacity .2s ease-in-out;will-change:opacity}.menu.bg-inactive:before{content:\"\";opacity:0;transition:opacity .2s ease-in-out;will-change:opacity}.header{--color-primary: var(--ion-color-primary) !important;--step-1-opacity: .7 !important;--step-2-opacity: .3 !important}\n"] }]
|
|
11173
11327
|
}], ctorParameters: () => [{ type: i2$2.Router }, { type: i1.NavController }, { type: GenericService }], propDecorators: { MenuGroup: [{
|
|
@@ -11253,10 +11407,10 @@ class DrawerComponent {
|
|
|
11253
11407
|
SetTitle(item) {
|
|
11254
11408
|
this.genericService.SetTitle(item.title);
|
|
11255
11409
|
}
|
|
11256
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
11257
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DrawerComponent, isStandalone: true, selector: "drawer", inputs: { loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: null }, lstMenu: { classPropertyName: "lstMenu", publicName: "lstMenu", isSignal: true, isRequired: false, transformFunction: null }, colapsed: { classPropertyName: "colapsed", publicName: "colapsed", isSignal: false, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: false, isRequired: false, transformFunction: null }, useTranslation: { classPropertyName: "useTranslation", publicName: "useTranslation", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { colapsedChange: "colapsedChange" }, ngImport: i0, template: "<div class=\"absolute left-0 top-0 h-full bg-light size-full flex flex-col p-2 !pr-0 w-[19rem] overflow-hidden\" (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\r\n <!-- [ Header ] -->\r\n <div class=\"shrink-0 w-full flex justify-between items-center\">\r\n <div #anchor\r\n (click)=\"ToggleCollapsed()\" \r\n class=\"toggle size-10 aspect-square shrink-0 rounded-xl bg-inactive gradient-background menu\"\r\n >\r\n <ion-icon name=\"menu\" slot=\"icon-only\"></ion-icon>\r\n </div>\r\n <!-- <ion-button class=\"size-10 shrink-0 aspect-square\" size=\"small\" color=\"medium\" (click)=\"ToggleCollapsed()\">\r\n <ion-icon name=\"menu\" slot=\"icon-only\"></ion-icon>\r\n </ion-button> -->\r\n\r\n <div class=\"size-full shrink flex pl-2 \">\r\n <div class=\"size-full max-h-10 flex flex-wrap overflow-hidden\">\r\n @if (!ref.children.length) {\r\n <ion-text class=\"size-full flex items-center justify-center default-transition z-0\" [ngClass]=\"{'opacity-0 -translate-x-1/2 pointer-events-none': colapsed }\"> \r\n {{title}}\r\n </ion-text>\r\n }\r\n <div #ref class=\"size-full flex items-center justify-center shrink-0\">\r\n <ng-content select=\"[slot=logo]\"></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- [ Content ] -->\r\n <div class=\"size-full shrink flex flex-col relative overflow-hidden\">\r\n <loading [type]=\"3\" [loading]=\"loading\" text=\"\"></loading>\r\n <div class=\"size-full shrink flex gap-2\">\r\n <div class=\"h-full w-12 pr-2 py-2 mask-y shrink-0 flex flex-col gap-2 overflow-y-auto overflow-x-hidden border-dashed border-r border-r-medium/30\">\r\n <div #searchAnchor (click)=\"modal.present()\" class=\"search-button size-10 aspect-square shrink-0 rounded-xl bg-inactive gradient-background menu\">\r\n <ion-icon name=\"search\" slot=\"icon-only\"></ion-icon>\r\n </div>\r\n\r\n @for (item of lstMenu(); track $index) {\r\n <div>\r\n <div\r\n [class.bg-active]=\"CurrentGroupActive == item\"\r\n #anchor (mouseenter)=\"popover.present($event)\" \r\n (mouseleave)=\"popover.dismiss()\" \r\n (click)=\"CurrentGroupActive = item\" \r\n class=\"w-10 aspect-square shrink-0 rounded-xl bg-inactive gradient-background menu\"\r\n >\r\n <ion-icon [name]=\"item.icon\"></ion-icon>\r\n </div>\r\n <sion-popover #popover [anchor]=\"anchor\" [flip]=\"false\" placement=\"right\" fill=\"solid\">\r\n <div class=\"p-1\">\r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + item.id | translate) : item.title}}\r\n </div>\r\n </sion-popover>\r\n </div>\r\n }\r\n\r\n </div>\r\n <div class=\"size-full shrink relative\">\r\n @for (mGroup of lstMenu(); track $index) {\r\n <div class=\"absolute top-0 left-0 size-full py-2 default-transition opacity-0 translate-x-full z-0 overflow-hidden\" [ngClass]=\"{'opacity-100 !translate-x-0': CurrentGroupActive == mGroup}\">\r\n <drawer-group [MenuGroup]=\"mGroup\" [useTranslation]=\"useTranslation\" [colapsed]=\"colapsed\"></drawer-group>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- [ End ] -->\r\n <div class=\"shrink-0 w-full\">\r\n <ng-content select=\"[slot=drawer]\"></ng-content>\r\n </div>\r\n</div>\r\n\r\n<ion-modal #modal [keepContentsMounted]=\"true\" (onWillDismiss)=\"search.set('')\">\r\n <ng-template>\r\n <ion-content>\r\n <ion-card class=\"size-full m-0 overflow-hidden\">\r\n <ion-card-content class=\"size-full flex flex-col overflow-hidden p-0\">\r\n <div class=\"shrink-0 w-full flex items-center justify-center\">\r\n <ion-searchbar class=\"p-0 !pl-2 !py-2\" [ngModel]=\"this.search()\" (ngModelChange)=\"this.search.set($event)\" [debounce]=\"200\"></ion-searchbar>\r\n <ion-button size=\"small\" fill=\"clear\" (click)=\"modal.dismiss()\">\r\n <ion-icon name=\"close\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n <div class=\"size-full flex flex-col shrink gap-2 overflow-y-auto p-2 mask-y\">\r\n @for (vGroup of lstMenuFiltered(); track $index) {\r\n <ion-card class=\"m-0 shrink-0\">\r\n <ion-card-content class=\"p-0 gradient-background bg-inactive flex flex-col\">\r\n <div class=\"w-10 flex items-center !justify-start gap-2 text-dark shrink-0 p-2\">\r\n <ion-icon [name]=\"vGroup.icon\"></ion-icon>\r\n <ion-text>\r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + vGroup.id | translate) : vGroup.title}} \r\n </ion-text>\r\n </div>\r\n @for (vMenu of vGroup.lstMenu; track $index) {\r\n <div \r\n (click)=\"HandleNav(vMenu, $event); modal.dismiss()\"\r\n [class.bg-active]=\"router.isActive('/' + vMenu.route, false)\"\r\n class=\"w-full flex items-center !justify-start gap-2 text-dark shrink-0 !pl-8 p-1.5 border-t border-t-medium/30 menu-search\">\r\n <ion-icon [name]=\"vMenu.icon\"></ion-icon>\r\n <ion-text>\r\n {{useTranslation ? (TranslationModule.Permissao + vMenu.id | translate) : vMenu.title}} \r\n </ion-text>\r\n </div>\r\n }\r\n </ion-card-content>\r\n </ion-card>\r\n }\r\n\r\n @if (lstMenuFiltered().length == 0) {\r\n <ion-text class=\"text-center text-medium\">\r\n {{useTranslation ? (TranslationModule.SemResultado | translate) : 'Sem resultados encontrados'}}\r\n </ion-text>\r\n }\r\n </div>\r\n </ion-card-content>\r\n </ion-card>\r\n </ion-content>\r\n </ng-template>\r\n</ion-modal>", styles: [".bg-active{--color-primary: var(--ion-color-primary) !important;--step-1-opacity: .7 !important;--step-2-opacity: .3 !important}.bg-inactive{--color-primary: var(--ion-color-step-250);--step-1-opacity: .5;--step-2-opacity: .4;--step-3-opacity: .8}.menu{display:flex;cursor:pointer;align-items:center;justify-content:center;gap:.5rem;border-radius:.75rem;padding:.5rem;transition:--color-primary,--step-1-opacity,--step-2-opacity .2s ease-in-out;--inset: var(--color-primary) 0px 1.75px 2px 0px inset;box-shadow:var(--inset)}.toggle:hover{--color-primary: var(--ion-color-step-500) !important;transition:--color-primary .2s ease-in-out}.search-button{--inset2: var(--ion-color-medium) 0px 0px 5px -1px inset;box-shadow:var(--inset2)}.menu-search{position:relative;cursor:pointer;overflow:hidden}.menu-search.bg-active:after{content:\"\";position:absolute;top:50%;right:0;width:.375rem;height:75%;transform:translateY(-50%);border-radius:1rem;background-color:color-mix(in srgb,var(--ion-color-primary) 70%,transparent);opacity:1!important;filter:drop-shadow(color-mix(in srgb,var(--ion-color-primary) 70%,transparent) 0px 0px 3px)}.menu-search.bg-active:before{content:\"\";position:absolute;top:50%;right:-2.3rem;width:5rem;height:7rem;transform:translateY(-50%);border-radius:1rem;opacity:.5!important;background:radial-gradient(color-mix(in srgb,var(--ion-color-primary) 70%,transparent) 0%,transparent 66%)}.menu-search.bg-inactive{--color-primary: var(--ion-color-step-250);--step-1-opacity: .5;--step-2-opacity: .4;--step-3-opacity: .8;position:relative}.menu-search.bg-inactive:after{content:\"\";opacity:0;transition:opacity .2s ease-in-out;will-change:opacity}.menu-search.bg-inactive:before{content:\"\";opacity:0;transition:opacity .2s ease-in-out;will-change:opacity}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonSearchbar, selector: "ion-searchbar", inputs: ["animated", "autocapitalize", "autocomplete", "autocorrect", "cancelButtonIcon", "cancelButtonText", "clearIcon", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "maxlength", "minlength", "mode", "name", "placeholder", "searchIcon", "showCancelButton", "showClearButton", "spellcheck", "type", "value"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonModal, selector: "ion-modal" }, { kind: "directive", type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-input-otp[type=text],ion-textarea,ion-searchbar" }, { kind: "component", type: LoadingComponent, selector: "loading", inputs: ["text", "type", "loading"] }, { kind: "component", type: DrawerGroupComponent, selector: "drawer-group", inputs: ["MenuGroup", "colapsed", "useTranslation"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: SIonPopoverModule }, { kind: "component", type: SIonPopoverComponent, selector: "sion-popover", inputs: ["fill", "arrow", "flip", "placement", "height", "width", "anchor"], outputs: ["onWillPresent", "onDidPresent", "onWillDismiss", "onDidDismiss"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
11410
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerComponent, deps: [{ token: i2$2.Router }, { token: i1.NavController }, { token: GenericService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11411
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DrawerComponent, isStandalone: true, selector: "drawer", inputs: { loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: null }, lstMenu: { classPropertyName: "lstMenu", publicName: "lstMenu", isSignal: true, isRequired: false, transformFunction: null }, colapsed: { classPropertyName: "colapsed", publicName: "colapsed", isSignal: false, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: false, isRequired: false, transformFunction: null }, useTranslation: { classPropertyName: "useTranslation", publicName: "useTranslation", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { colapsedChange: "colapsedChange" }, ngImport: i0, template: "<div class=\"absolute left-0 top-0 h-full bg-light size-full flex flex-col p-2 !pr-0 w-[19rem] overflow-hidden\" (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\r\n <!-- [ Header ] -->\r\n <div class=\"shrink-0 w-full flex justify-between items-center\">\r\n <div #anchor\r\n (click)=\"ToggleCollapsed()\" \r\n class=\"toggle size-10 aspect-square shrink-0 rounded-xl bg-inactive gradient-background menu\"\r\n >\r\n <ion-icon name=\"menu\" slot=\"icon-only\"></ion-icon>\r\n </div>\r\n <!-- <ion-button class=\"size-10 shrink-0 aspect-square\" size=\"small\" color=\"medium\" (click)=\"ToggleCollapsed()\">\r\n <ion-icon name=\"menu\" slot=\"icon-only\"></ion-icon>\r\n </ion-button> -->\r\n\r\n <div class=\"size-full shrink flex pl-2 \">\r\n <div class=\"size-full max-h-10 flex flex-wrap overflow-hidden\">\r\n @if (!ref.children.length) {\r\n <ion-text class=\"size-full flex items-center justify-center default-transition z-0\" [ngClass]=\"{'opacity-0 -translate-x-1/2 pointer-events-none': colapsed }\"> \r\n {{title}}\r\n </ion-text>\r\n }\r\n <div #ref class=\"size-full flex items-center justify-center shrink-0\">\r\n <ng-content select=\"[slot=logo]\"></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- [ Content ] -->\r\n <div class=\"size-full shrink flex flex-col relative overflow-hidden\">\r\n <loading [type]=\"3\" [loading]=\"loading\" text=\"\"></loading>\r\n <div class=\"size-full shrink flex gap-2\">\r\n <div class=\"h-full w-12 pr-2 py-2 mask-y shrink-0 flex flex-col gap-2 overflow-y-auto overflow-x-hidden border-dashed border-r border-r-medium/30\">\r\n <div #searchAnchor (click)=\"modal.present()\" class=\"search-button size-10 aspect-square shrink-0 rounded-xl bg-inactive gradient-background menu\">\r\n <ion-icon name=\"search\" slot=\"icon-only\"></ion-icon>\r\n </div>\r\n\r\n @for (item of lstMenu(); track $index) {\r\n <div>\r\n <div\r\n [class.bg-active]=\"CurrentGroupActive == item\"\r\n #anchor (mouseenter)=\"popover.present($event)\" \r\n (mouseleave)=\"popover.dismiss()\" \r\n (click)=\"CurrentGroupActive = item\" \r\n class=\"w-10 aspect-square shrink-0 rounded-xl bg-inactive gradient-background menu\"\r\n >\r\n <ion-icon [name]=\"item.icon\"></ion-icon>\r\n </div>\r\n <sion-popover #popover [anchor]=\"anchor\" [flip]=\"false\" placement=\"right\" fill=\"solid\">\r\n <div class=\"p-1\">\r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + item.id | translate) : item.title}}\r\n </div>\r\n </sion-popover>\r\n </div>\r\n }\r\n\r\n </div>\r\n <div class=\"size-full shrink relative\">\r\n @for (mGroup of lstMenu(); track $index) {\r\n <div class=\"absolute top-0 left-0 size-full py-2 default-transition opacity-0 translate-x-full z-0 overflow-hidden\" [ngClass]=\"{'opacity-100 !translate-x-0': CurrentGroupActive == mGroup}\">\r\n <drawer-group [MenuGroup]=\"mGroup\" [useTranslation]=\"useTranslation\" [colapsed]=\"colapsed\"></drawer-group>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- [ End ] -->\r\n <div class=\"shrink-0 w-full\">\r\n <ng-content select=\"[slot=drawer]\"></ng-content>\r\n </div>\r\n</div>\r\n\r\n<ion-modal #modal [keepContentsMounted]=\"true\" (onWillDismiss)=\"search.set('')\">\r\n <ng-template>\r\n <ion-content>\r\n <ion-card class=\"size-full m-0 overflow-hidden\">\r\n <ion-card-content class=\"size-full flex flex-col overflow-hidden p-0\">\r\n <div class=\"shrink-0 w-full flex items-center justify-center\">\r\n <ion-searchbar class=\"p-0 !pl-2 !py-2\" [ngModel]=\"this.search()\" (ngModelChange)=\"this.search.set($event)\" [debounce]=\"200\"></ion-searchbar>\r\n <ion-button size=\"small\" fill=\"clear\" (click)=\"modal.dismiss()\">\r\n <ion-icon name=\"close\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n <div class=\"size-full flex flex-col shrink gap-2 overflow-y-auto p-2 mask-y\">\r\n @for (vGroup of lstMenuFiltered(); track $index) {\r\n <ion-card class=\"m-0 shrink-0\">\r\n <ion-card-content class=\"p-0 gradient-background bg-inactive flex flex-col\">\r\n <div class=\"w-10 flex items-center !justify-start gap-2 text-dark shrink-0 p-2\">\r\n <ion-icon [name]=\"vGroup.icon\"></ion-icon>\r\n <ion-text>\r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + vGroup.id | translate) : vGroup.title}} \r\n </ion-text>\r\n </div>\r\n @for (vMenu of vGroup.lstMenu; track $index) {\r\n <div \r\n (click)=\"HandleNav(vMenu, $event); modal.dismiss()\"\r\n [class.bg-active]=\"router.isActive('/' + vMenu.route, false)\"\r\n class=\"w-full flex items-center !justify-start gap-2 text-dark shrink-0 !pl-8 p-1.5 border-t border-t-medium/30 menu-search\">\r\n <ion-icon [name]=\"vMenu.icon\"></ion-icon>\r\n <ion-text>\r\n {{useTranslation ? (TranslationModule.Permissao + vMenu.id | translate) : vMenu.title}} \r\n </ion-text>\r\n </div>\r\n }\r\n </ion-card-content>\r\n </ion-card>\r\n }\r\n\r\n @if (lstMenuFiltered().length == 0) {\r\n <ion-text class=\"text-center text-medium\">\r\n {{useTranslation ? (TranslationModule.SemResultado | translate) : 'Sem resultados encontrados'}}\r\n </ion-text>\r\n }\r\n </div>\r\n </ion-card-content>\r\n </ion-card>\r\n </ion-content>\r\n </ng-template>\r\n</ion-modal>", styles: [".bg-active{--color-primary: var(--ion-color-primary) !important;--step-1-opacity: .7 !important;--step-2-opacity: .3 !important}.bg-inactive{--color-primary: var(--ion-color-step-250);--step-1-opacity: .5;--step-2-opacity: .4;--step-3-opacity: .8}.menu{display:flex;cursor:pointer;align-items:center;justify-content:center;gap:.5rem;border-radius:.75rem;padding:.5rem;transition:--color-primary,--step-1-opacity,--step-2-opacity .2s ease-in-out;--inset: var(--color-primary) 0px 1.75px 2px 0px inset;box-shadow:var(--inset)}.toggle:hover{--color-primary: var(--ion-color-step-500) !important;transition:--color-primary .2s ease-in-out}.search-button{--inset2: var(--ion-color-medium) 0px 0px 5px -1px inset;box-shadow:var(--inset2)}.menu-search{position:relative;cursor:pointer;overflow:hidden}.menu-search.bg-active:after{content:\"\";position:absolute;top:50%;right:0;width:.375rem;height:75%;transform:translateY(-50%);border-radius:1rem;background-color:color-mix(in srgb,var(--ion-color-primary) 70%,transparent);opacity:1!important;filter:drop-shadow(color-mix(in srgb,var(--ion-color-primary) 70%,transparent) 0px 0px 3px)}.menu-search.bg-active:before{content:\"\";position:absolute;top:50%;right:-2.3rem;width:5rem;height:7rem;transform:translateY(-50%);border-radius:1rem;opacity:.5!important;background:radial-gradient(color-mix(in srgb,var(--ion-color-primary) 70%,transparent) 0%,transparent 66%)}.menu-search.bg-inactive{--color-primary: var(--ion-color-step-250);--step-1-opacity: .5;--step-2-opacity: .4;--step-3-opacity: .8;position:relative}.menu-search.bg-inactive:after{content:\"\";opacity:0;transition:opacity .2s ease-in-out;will-change:opacity}.menu-search.bg-inactive:before{content:\"\";opacity:0;transition:opacity .2s ease-in-out;will-change:opacity}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonSearchbar, selector: "ion-searchbar", inputs: ["animated", "autocapitalize", "autocomplete", "autocorrect", "cancelButtonIcon", "cancelButtonText", "clearIcon", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "maxlength", "minlength", "mode", "name", "placeholder", "searchIcon", "showCancelButton", "showClearButton", "spellcheck", "type", "value"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonModal, selector: "ion-modal" }, { kind: "directive", type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-input-otp[type=text],ion-textarea,ion-searchbar" }, { kind: "component", type: LoadingComponent, selector: "loading", inputs: ["text", "type", "loading"] }, { kind: "component", type: DrawerGroupComponent, selector: "drawer-group", inputs: ["MenuGroup", "colapsed", "useTranslation"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: SIonPopoverModule }, { kind: "component", type: SIonPopoverComponent, selector: "sion-popover", inputs: ["fill", "arrow", "flip", "placement", "height", "width", "anchor"], outputs: ["onWillPresent", "onDidPresent", "onWillDismiss", "onDidDismiss"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
11258
11412
|
}
|
|
11259
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
11413
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerComponent, decorators: [{
|
|
11260
11414
|
type: Component,
|
|
11261
11415
|
args: [{ standalone: true, imports: [
|
|
11262
11416
|
CommonModule,
|
|
@@ -11423,10 +11577,10 @@ class FilterComponent {
|
|
|
11423
11577
|
FormatDateModel(model) {
|
|
11424
11578
|
return moment(model).format("YYYY-MM-DDTHH:mm:ss");
|
|
11425
11579
|
}
|
|
11426
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
11427
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
11580
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11581
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FilterComponent, isStandalone: true, selector: "filter", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: false, isRequired: false, transformFunction: null }, configuration: { classPropertyName: "configuration", publicName: "configuration", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { filter: "filterChange", configuration: "configurationChange", changeEmitter: "change" }, ngImport: i0, template: "@if(_configuration){\r\n @switch (type) {\r\n @case ('String') {\r\n <input-string [(ngModel)]=\"model\" [label]=\"label\" (blur)=\"Change()\"></input-string>\r\n }\r\n @case ('Number') {\r\n <input-number (change)=\"Change()\" [(ngModel)]=\"model\" [label]=\"label\" [configuration]=\"_configuration\"></input-number>\r\n }\r\n @case ('Decimal') {\r\n <input-decimal (change)=\"Change()\" [(ngModel)]=\"model\" [label]=\"label\" [configuration]=\"_configuration\"></input-decimal>\r\n }\r\n @case ('Currency') {\r\n <input-currency (change)=\"Change()\" [(ngModel)]=\"model\" [label]=\"label\" [configuration]=\"_configuration\"></input-currency>\r\n }\r\n @case ('Select') {\r\n <input-select (change)=\"Change()\" [(ngModel)]=\"model\" class=\"th-select\" [label]=\"label\" [configuration]=\"_configuration\"></input-select>\r\n }\r\n @case ('TextArea') {\r\n <input-string (change)=\"Change()\" [(ngModel)]=\"model\" class=\"th-select\" [label]=\"label\"></input-string>\r\n }\r\n @case ('Bool') {\r\n <input-select (change)=\"Change()\" [(ngModel)]=\"model\" class=\"th-select\" [label]=\"label\" placeholder=\"\" [configuration]=\"_configuration\"></input-select>\r\n }\r\n @case ('Date') {\r\n <input-date (change)=\"Change()\" [(ngModel)]=\"model\" [label]=\"label\" [configuration]=\"_configuration\"></input-date>\r\n }\r\n @case ('DateTime') {\r\n <input-date-time (change)=\"Change()\" [(ngModel)]=\"model\" [label]=\"label\" [configuration]=\"_configuration\"></input-date-time>\r\n }\r\n @case (\"Cep\") {\r\n <input-cep (change)=\"Change()\" [(ngModel)]=\"model\" [label]=\"label\"></input-cep>\r\n }\r\n @case (\"Cpf\") {\r\n <input-cpf (change)=\"Change()\" [(ngModel)]=\"model\" [label]=\"label\" [configuration]=\"_configuration\"></input-cpf>\r\n }\r\n @case (\"Cnpj\") {\r\n <input-cnpj (change)=\"Change()\" [(ngModel)]=\"model\" [label]=\"label\" [configuration]=\"_configuration\"></input-cnpj>\r\n }\r\n @case (\"CpfCnpj\") {\r\n <input-cpf-cnpj (change)=\"Change()\" [(ngModel)]=\"model\" [label]=\"label\" [configuration]=\"_configuration\"></input-cpf-cnpj>\r\n }\r\n }\r\n}", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: IonicModule }, { kind: "ngmodule", type: InputsModule }, { kind: "component", type: InputCepComponent, selector: "input-cep", inputs: ["configuration"] }, { kind: "component", type: InputCpfCnpjComponent, selector: "input-cpf-cnpj, input-cpf, input-cnpj", inputs: ["configuration"], outputs: ["configurationChange"] }, { kind: "component", type: InputDateComponent, selector: "input-date, input-date-time, input-time", inputs: ["configuration"] }, { kind: "component", type: InputDecimalComponent, selector: "input-decimal, input-number, input-currency, input-percentage", inputs: ["configuration"], outputs: ["configurationChange"] }, { kind: "component", type: InputSelectComponent, selector: "input-select", inputs: ["items", "configuration"], outputs: ["itemsChange"] }, { kind: "component", type: InputStringComponent, selector: "input-string", inputs: ["configuration"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
11428
11582
|
}
|
|
11429
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
11583
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterComponent, decorators: [{
|
|
11430
11584
|
type: Component,
|
|
11431
11585
|
args: [{ standalone: true, imports: [CommonModule, IonicModule, InputsModule, ReactiveFormsModule, FormsModule], selector: 'filter', template: "@if(_configuration){\r\n @switch (type) {\r\n @case ('String') {\r\n <input-string [(ngModel)]=\"model\" [label]=\"label\" (blur)=\"Change()\"></input-string>\r\n }\r\n @case ('Number') {\r\n <input-number (change)=\"Change()\" [(ngModel)]=\"model\" [label]=\"label\" [configuration]=\"_configuration\"></input-number>\r\n }\r\n @case ('Decimal') {\r\n <input-decimal (change)=\"Change()\" [(ngModel)]=\"model\" [label]=\"label\" [configuration]=\"_configuration\"></input-decimal>\r\n }\r\n @case ('Currency') {\r\n <input-currency (change)=\"Change()\" [(ngModel)]=\"model\" [label]=\"label\" [configuration]=\"_configuration\"></input-currency>\r\n }\r\n @case ('Select') {\r\n <input-select (change)=\"Change()\" [(ngModel)]=\"model\" class=\"th-select\" [label]=\"label\" [configuration]=\"_configuration\"></input-select>\r\n }\r\n @case ('TextArea') {\r\n <input-string (change)=\"Change()\" [(ngModel)]=\"model\" class=\"th-select\" [label]=\"label\"></input-string>\r\n }\r\n @case ('Bool') {\r\n <input-select (change)=\"Change()\" [(ngModel)]=\"model\" class=\"th-select\" [label]=\"label\" placeholder=\"\" [configuration]=\"_configuration\"></input-select>\r\n }\r\n @case ('Date') {\r\n <input-date (change)=\"Change()\" [(ngModel)]=\"model\" [label]=\"label\" [configuration]=\"_configuration\"></input-date>\r\n }\r\n @case ('DateTime') {\r\n <input-date-time (change)=\"Change()\" [(ngModel)]=\"model\" [label]=\"label\" [configuration]=\"_configuration\"></input-date-time>\r\n }\r\n @case (\"Cep\") {\r\n <input-cep (change)=\"Change()\" [(ngModel)]=\"model\" [label]=\"label\"></input-cep>\r\n }\r\n @case (\"Cpf\") {\r\n <input-cpf (change)=\"Change()\" [(ngModel)]=\"model\" [label]=\"label\" [configuration]=\"_configuration\"></input-cpf>\r\n }\r\n @case (\"Cnpj\") {\r\n <input-cnpj (change)=\"Change()\" [(ngModel)]=\"model\" [label]=\"label\" [configuration]=\"_configuration\"></input-cnpj>\r\n }\r\n @case (\"CpfCnpj\") {\r\n <input-cpf-cnpj (change)=\"Change()\" [(ngModel)]=\"model\" [label]=\"label\" [configuration]=\"_configuration\"></input-cpf-cnpj>\r\n }\r\n }\r\n}" }]
|
|
11432
11586
|
}], ctorParameters: () => [], propDecorators: { label: [{
|
|
@@ -11441,10 +11595,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
11441
11595
|
class Forbidden403Component {
|
|
11442
11596
|
constructor() { }
|
|
11443
11597
|
ngOnInit() { }
|
|
11444
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
11445
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
11598
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: Forbidden403Component, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11599
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: Forbidden403Component, isStandalone: true, selector: "forbidden-403", ngImport: i0, template: "<div class=\"bg-white size-full\">\r\n <div class=\"relative flex flex-col items-center justify-center min-h-screen overflow-hidden\">\r\n <div class=\"absolute inset-0 w-full h-full bg-gradient-to-br from-red-500 to-red-900 animate-gradient-fade\"></div>\r\n \r\n <ion-card class=\"m-0 max-w-md\">\r\n <ion-card-content class=\"size-full bg-light/10 p-8 flex flex-col items-center justify-center text-center space-y-6\">\r\n <div class=\"p-3 rounded-full relative translucid-border\">\r\n <div class=\"size-12 flex items-center justify-center\">\r\n <ion-icon class=\"text-5xl text-white/70\" name=\"shield-outline\"></ion-icon>\r\n </div>\r\n \r\n \r\n <div class=\"absolute -inset-1 rounded-full bg-gradient-to-r from-rose-400 to-pink-500 opacity-25 blur-sm\"></div>\r\n </div>\r\n \r\n <ion-text class=\"text-4xl font-bold tracking-tight text-white/70\">\r\n Acesso Negado\r\n </ion-text>\r\n \r\n <ion-text color=\"light\" class=\"text-white/70\">\r\n Voc\u00EA n\u00E3o tem permiss\u00E3o para acessar este recurso. Por favor, entre em contato com o administrador se acreditar que isso \u00E9 um erro.\r\n </ion-text>\r\n \r\n <div class=\"flex flex-col sm:flex-row gap-4 mt-4\">\r\n <ion-button [routerLink]=\"['/']\" color=\"danger\" class=\"text-red-600 px-4 py-2 rounded-md font-medium\">\r\n <ion-icon name=\"chevron-back\" slot=\"start\"></ion-icon>\r\n Retornar a navega\u00E7\u00E3o\r\n </ion-button>\r\n </div>\r\n \r\n </ion-card-content>\r\n </ion-card>\r\n </div>\r\n</div>\r\n ", styles: ["@keyframes gradientFade{0%{background-position:0% 50%;opacity:1}50%{background-position:100% 50%;opacity:.7}to{background-position:0% 50%;opacity:1}}.animate-gradient-fade{background-size:200% 200%;animation:gradientFade 8s ease 1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "directive", type: i1.RouterLinkDelegate, selector: ":not(a):not(area)[routerLink]" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
|
|
11446
11600
|
}
|
|
11447
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
11601
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: Forbidden403Component, decorators: [{
|
|
11448
11602
|
type: Component,
|
|
11449
11603
|
args: [{ selector: 'forbidden-403', standalone: true, imports: [CommonModule, IonicModule, RouterLink], template: "<div class=\"bg-white size-full\">\r\n <div class=\"relative flex flex-col items-center justify-center min-h-screen overflow-hidden\">\r\n <div class=\"absolute inset-0 w-full h-full bg-gradient-to-br from-red-500 to-red-900 animate-gradient-fade\"></div>\r\n \r\n <ion-card class=\"m-0 max-w-md\">\r\n <ion-card-content class=\"size-full bg-light/10 p-8 flex flex-col items-center justify-center text-center space-y-6\">\r\n <div class=\"p-3 rounded-full relative translucid-border\">\r\n <div class=\"size-12 flex items-center justify-center\">\r\n <ion-icon class=\"text-5xl text-white/70\" name=\"shield-outline\"></ion-icon>\r\n </div>\r\n \r\n \r\n <div class=\"absolute -inset-1 rounded-full bg-gradient-to-r from-rose-400 to-pink-500 opacity-25 blur-sm\"></div>\r\n </div>\r\n \r\n <ion-text class=\"text-4xl font-bold tracking-tight text-white/70\">\r\n Acesso Negado\r\n </ion-text>\r\n \r\n <ion-text color=\"light\" class=\"text-white/70\">\r\n Voc\u00EA n\u00E3o tem permiss\u00E3o para acessar este recurso. Por favor, entre em contato com o administrador se acreditar que isso \u00E9 um erro.\r\n </ion-text>\r\n \r\n <div class=\"flex flex-col sm:flex-row gap-4 mt-4\">\r\n <ion-button [routerLink]=\"['/']\" color=\"danger\" class=\"text-red-600 px-4 py-2 rounded-md font-medium\">\r\n <ion-icon name=\"chevron-back\" slot=\"start\"></ion-icon>\r\n Retornar a navega\u00E7\u00E3o\r\n </ion-button>\r\n </div>\r\n \r\n </ion-card-content>\r\n </ion-card>\r\n </div>\r\n</div>\r\n ", styles: ["@keyframes gradientFade{0%{background-position:0% 50%;opacity:1}50%{background-position:100% 50%;opacity:.7}to{background-position:0% 50%;opacity:1}}.animate-gradient-fade{background-size:200% 200%;animation:gradientFade 8s ease 1}\n"] }]
|
|
11450
11604
|
}], ctorParameters: () => [] });
|
|
@@ -11517,10 +11671,10 @@ class InfoPopoverComponent {
|
|
|
11517
11671
|
ClickEvent() {
|
|
11518
11672
|
this.clickEventEmitter.emit();
|
|
11519
11673
|
}
|
|
11520
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
11521
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
11674
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InfoPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11675
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: InfoPopoverComponent, isStandalone: true, selector: "info-popover", inputs: { button: "button", fill: "fill", _position: ["position", "_position"] }, outputs: { clickEventEmitter: "OnClick" }, ngImport: i0, template: "<div class=\"min-w-fit min-h-fit {{position}}\">\r\n <ion-button [fill]=\"fill\" size=\"small\" class=\"size-8 m-0\" (click)=\"button ? popover.present($event) : null\" (mouseenter)=\"!button ? popover.present($event) : null\">\r\n <ion-icon slot=\"icon-only\" name=\"help\"></ion-icon>\r\n </ion-button>\r\n \r\n <ion-popover #popover triggerAction=\"hover\">\r\n <ng-template>\r\n <ion-content class=\"ion-padding\">\r\n <div class=\"w-56 text-sm\">\r\n <ng-content></ng-content>\r\n </div>\r\n \r\n @if (button) {\r\n <div class=\"w-56 h-8 flex items-center justify-center mt-3\">\r\n <ion-text class=\"cursor-pointer\" color=\"primary\" (click)=\"ClickEvent()\">\r\n <ion-icon class=\"align-sub\" name=\"information-circle\"></ion-icon> Clique para saber mais\r\n </ion-text>\r\n </div>\r\n }\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n</div>", styles: ["ion-popover{--width: fit-content}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonPopover, selector: "ion-popover" }, { kind: "ngmodule", type: CommonModule }] }); }
|
|
11522
11676
|
}
|
|
11523
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
11677
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InfoPopoverComponent, decorators: [{
|
|
11524
11678
|
type: Component,
|
|
11525
11679
|
args: [{ standalone: true, imports: [IonicModule, CommonModule], selector: 'info-popover', template: "<div class=\"min-w-fit min-h-fit {{position}}\">\r\n <ion-button [fill]=\"fill\" size=\"small\" class=\"size-8 m-0\" (click)=\"button ? popover.present($event) : null\" (mouseenter)=\"!button ? popover.present($event) : null\">\r\n <ion-icon slot=\"icon-only\" name=\"help\"></ion-icon>\r\n </ion-button>\r\n \r\n <ion-popover #popover triggerAction=\"hover\">\r\n <ng-template>\r\n <ion-content class=\"ion-padding\">\r\n <div class=\"w-56 text-sm\">\r\n <ng-content></ng-content>\r\n </div>\r\n \r\n @if (button) {\r\n <div class=\"w-56 h-8 flex items-center justify-center mt-3\">\r\n <ion-text class=\"cursor-pointer\" color=\"primary\" (click)=\"ClickEvent()\">\r\n <ion-icon class=\"align-sub\" name=\"information-circle\"></ion-icon> Clique para saber mais\r\n </ion-text>\r\n </div>\r\n }\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n</div>", styles: ["ion-popover{--width: fit-content}\n"] }]
|
|
11526
11680
|
}], ctorParameters: () => [], propDecorators: { clickEventEmitter: [{
|
|
@@ -11691,10 +11845,10 @@ class UsuarioService extends HttpServiceAtivo {
|
|
|
11691
11845
|
return lst;
|
|
11692
11846
|
}
|
|
11693
11847
|
;
|
|
11694
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
11695
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
11848
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UsuarioService, deps: [{ token: i1$1.HttpClient }, { token: i2$1.FormBuilder }, { token: GenericService }, { token: i1.NavController }, { token: ApiUrlProviderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
11849
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UsuarioService, providedIn: 'root' }); }
|
|
11696
11850
|
}
|
|
11697
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
11851
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UsuarioService, decorators: [{
|
|
11698
11852
|
type: Injectable,
|
|
11699
11853
|
args: [{
|
|
11700
11854
|
providedIn: 'root'
|
|
@@ -11723,10 +11877,10 @@ class LoginAdminComponent {
|
|
|
11723
11877
|
SetApiUrl() {
|
|
11724
11878
|
this.apiUrlProviderService.apiUrl = this.apiUrl;
|
|
11725
11879
|
}
|
|
11726
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
11727
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
11880
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LoginAdminComponent, deps: [{ token: ApiUrlProviderService }, { token: AuthService }, { token: UsuarioService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11881
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: LoginAdminComponent, isStandalone: true, selector: "login-admin", ngImport: i0, template: "@if (this.authService.isAdmin || !this.apiUrlProviderService.production) {\r\n <ion-button (click)=\"adminPopover.present($event)\" fill=\"outline\" class=\"aspect-square h-8 z-50\" size=\"small\">\r\n <ion-icon name=\"shield\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n <ion-popover id=\"admin-popover\" #adminPopover>\r\n <ng-template>\r\n <ion-content class=\"p-2 bg-transparent\">\r\n <div class=\"p-2\">\r\n <input-select\r\n [(ngModel)]=\"idUsuario\"\r\n label=\"Logar como...\"\r\n (change)=\"SelectUser($event)\"\r\n [configuration]=\"selectUserConfiguration\"\r\n ></input-select>\r\n \r\n <div class=\"rounded-2xl mt-2 overflow-hidden border border-primary/30\">\r\n <div class=\"py-2 text-center border-b border-b-medium/30\">\r\n <span class=\"font-poppins\"> API </span>\r\n </div>\r\n <ion-item lines=\"none\" style=\"--border-width: 0 !important;\">\r\n <ion-input [(ngModel)]=\"apiUrl\" (ngModelChange)=\"SetApiUrl()\"></ion-input>\r\n </ion-item>\r\n </div>\r\n </div>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n}", styles: ["#admin-popover{--width: 17rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonInput, selector: "ion-input", inputs: ["autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearInputIcon", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "spellcheck", "step", "type", "value"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonPopover, selector: "ion-popover" }, { kind: "directive", type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-input-otp[type=text],ion-textarea,ion-searchbar" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: InputsModule }, { kind: "component", type: InputSelectComponent, selector: "input-select", inputs: ["items", "configuration"], outputs: ["itemsChange"] }] }); }
|
|
11728
11882
|
}
|
|
11729
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
11883
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LoginAdminComponent, decorators: [{
|
|
11730
11884
|
type: Component,
|
|
11731
11885
|
args: [{ standalone: true, imports: [
|
|
11732
11886
|
CommonModule,
|
|
@@ -11797,10 +11951,10 @@ class DefaultLoginComponent {
|
|
|
11797
11951
|
this.loading = false;
|
|
11798
11952
|
}
|
|
11799
11953
|
}
|
|
11800
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
11801
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DefaultLoginComponent, isStandalone: true, selector: "login", outputs: { OnLogin: "OnLogin" }, host: { listeners: { "window:keydown": "Login($event)" } }, viewQueries: [{ propertyName: "loginContainer", first: true, predicate: ["loginContainer"], descendants: true }], ngImport: i0, template: "<!-- <div class=\"size-full flex justify-center items-center relative\">\r\n <div class=\"landscape:w-4/5 portrait:w-full landscape:h-2/3 portrait:h-full landscape:max-w-[60rem] translucid-border landscape:rounded-3xl landscape:backdrop-blur-xl overflow-hidden\">\r\n <div class=\"size-full flex portrait:flex-col\" style=\"background-color: color-mix(in srgb, var(--ion-color-light) 20%, transparent 80%);\">\r\n <div class=\"shrink-0 w-96 portrait:w-full portrait:h-32 h-full p-3\">\r\n <div class=\"rounded-2xl size-full overflow-x-hidden\">\r\n <ng-content class=\"size-full\"></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"grow flex items-center justify-center h-full py-3 pr-3 portrait:pl-3\">\r\n <div class=\"w-96 h-full flex flex-col items-center justify-center gap-2\" *ngIf=\"frm\" [formGroup]=\"frm\">\r\n\r\n <ion-text class=\"text-5xl my-10 portrait:mt-[-5rem]\"> Login </ion-text>\r\n\r\n <ion-card class=\"w-full backdrop-blur-xl\">\r\n <ion-card-content>\r\n <ion-item lines=\"none\" label=\"Senha\" labelPlacement=\"stacked\" class=\"rounded-2xl my-3 w-full\">\r\n <ion-icon name=\"person\" slot=\"start\"></ion-icon>\r\n <ion-input placeholder=\"Usu\u00E1rio / User\" formControlName=\"apelido\"></ion-input>\r\n </ion-item>\r\n </ion-card-content>\r\n </ion-card>\r\n\r\n <ion-card class=\"w-full backdrop-blur-xl\"> \r\n <ion-card-content>\r\n <ion-item lines=\"none\" class=\"rounded-2xl my-3 w-full\">\r\n <ion-icon name=\"lock-closed\" slot=\"start\"></ion-icon>\r\n <ion-input type=\"password\" formControlName=\"senha\" placeholder=\"Senha / Password\">\r\n <ion-input-password-toggle slot=\"end\"></ion-input-password-toggle>\r\n </ion-input>\r\n </ion-item>\r\n </ion-card-content>\r\n </ion-card>\r\n\r\n <div class=\"w-full\">\r\n <a href=\"\">Esqueceu a senha?</a>\r\n </div>\r\n\r\n <div class=\"flex w-full\">\r\n <ion-button class=\"rounded-2xl shadow-xl default-transition w-full\" expand=\"block\" (click)=\"Login()\" [disabled]=\"loading\">\r\n <ion-spinner class=\"default-transition\" [ngClass]=\"{'-translate-x-12 opacity-0 size-0': !loading, 'mr-2' : loading}\" slot=\"start\"></ion-spinner>\r\n <ion-icon class=\"default-transition\" [ngClass]=\"{'-translate-x-12 opacity-0 size-0': loading}\" name=\"enter-outline\" slot=\"start\" ></ion-icon>\r\n <span class=\"default-transition\" > Login </span>\r\n </ion-button>\r\n\r\n <ion-button class=\"shrink-0 aspect-square ml-3\" color=\"dark\" hidden>\r\n <svg class=\"size-8\" slot=\"icon-only\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 32 32\" width=\"64\" height=\"64\"><defs><path id=\"A\" d=\"M44.5 20H24v8.5h11.8C34.7 33.9 30.1 37 24 37c-7.2 0-13-5.8-13-13s5.8-13 13-13c3.1 0 5.9 1.1 8.1 2.9l6.4-6.4C34.6 4.1 29.6 2 24 2 11.8 2 2 11.8 2 24s9.8 22 22 22c11 0 21-8 21-22 0-1.3-.2-2.7-.5-4z\"/></defs><clipPath id=\"B\"><use xlink:href=\"#A\"/></clipPath><g transform=\"matrix(.727273 0 0 .727273 -.954545 -1.45455)\"><path d=\"M0 37V11l17 13z\" clip-path=\"url(#B)\" fill=\"#fbbc05\"/><path d=\"M0 11l17 13 7-6.1L48 14V0H0z\" clip-path=\"url(#B)\" fill=\"#ea4335\"/><path d=\"M0 37l30-23 7.9 1L48 0v48H0z\" clip-path=\"url(#B)\" fill=\"#34a853\"/><path d=\"M48 48L17 24l-4-3 35-10z\" clip-path=\"url(#B)\" fill=\"#4285f4\"/></g></svg>\r\n </ion-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div> -->\r\n\r\n<div #loginContainer class=\"size-full flex justify-center items-center relative portrait:p-4\">\r\n <div class=\"landscape:w-4/5 landscape:h-2/3 landscape:xl:max-w-[60rem] portrait:size-full translucid-border backdrop-blur-xl rounded-3xl overflow-hidden\">\r\n <div class=\"size-full flex portrait:flex-col\" style=\"background-color: color-mix(in srgb, var(--ion-color-light) 20%, transparent 80%);\">\r\n <div class=\"shrink-0 w-96 portrait:w-full portrait:h-40 landscape:h-full p-2\">\r\n <div class=\"size-full rounded-2xl overflow-hidden\">\r\n <ng-content select=\"[slot=logo]\" class=\"size-full\"></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"shrink size-full flex flex-col items-center justify-center gap-3 px-10 relative\" *ngIf=\"frm\" [formGroup]=\"frm\">\r\n <ion-text class=\"h-24 text-5xl\"> Login </ion-text>\r\n\r\n <ion-card class=\"w-full backdrop-blur-xl\">\r\n <ion-card-content>\r\n <ion-item lines=\"none\" label=\"Senha\" labelPlacement=\"stacked\" class=\"rounded-2xl my-3 w-full\">\r\n <ion-icon name=\"person\" slot=\"start\"></ion-icon>\r\n <ion-input placeholder=\"Usu\u00E1rio / User\" formControlName=\"apelido\" (keydown.enter)=\"Login()\"></ion-input>\r\n </ion-item>\r\n </ion-card-content>\r\n </ion-card>\r\n\r\n <ion-card class=\"w-full backdrop-blur-xl\"> \r\n <ion-card-content>\r\n <ion-item lines=\"none\" class=\"rounded-2xl my-3 w-full\">\r\n <ion-icon name=\"lock-closed\" slot=\"start\"></ion-icon>\r\n <ion-input type=\"password\" formControlName=\"senha\" placeholder=\"Senha / Password\" (keydown.enter)=\"Login()\">\r\n <ion-input-password-toggle slot=\"end\"></ion-input-password-toggle>\r\n </ion-input>\r\n </ion-item>\r\n </ion-card-content>\r\n </ion-card>\r\n\r\n <div class=\"flex w-full\">\r\n <ion-button class=\"transition-all rounded-2xl shadow-xl default-transition w-full\" expand=\"block\" (click)=\"Login()\" [disabled]=\"loading\">\r\n <ion-spinner class=\"default-transition\" [ngClass]=\"{'-translate-x-12 opacity-0 size-0': !loading, 'mr-2' : loading}\" slot=\"start\"></ion-spinner>\r\n <ion-icon class=\"default-transition\" [ngClass]=\"{'-translate-x-12 opacity-0 size-0': loading}\" name=\"enter-outline\" slot=\"start\" ></ion-icon>\r\n <span class=\"default-transition\"> Login </span>\r\n </ion-button>\r\n\r\n <!-- <ion-button class=\"shrink-0 aspect-square ml-3\" color=\"dark\" hidden>\r\n <svg class=\"size-8\" slot=\"icon-only\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 32 32\" width=\"64\" height=\"64\"><defs><path id=\"A\" d=\"M44.5 20H24v8.5h11.8C34.7 33.9 30.1 37 24 37c-7.2 0-13-5.8-13-13s5.8-13 13-13c3.1 0 5.9 1.1 8.1 2.9l6.4-6.4C34.6 4.1 29.6 2 24 2 11.8 2 2 11.8 2 24s9.8 22 22 22c11 0 21-8 21-22 0-1.3-.2-2.7-.5-4z\"/></defs><clipPath id=\"B\"><use xlink:href=\"#A\"/></clipPath><g transform=\"matrix(.727273 0 0 .727273 -.954545 -1.45455)\"><path d=\"M0 37V11l17 13z\" clip-path=\"url(#B)\" fill=\"#fbbc05\"/><path d=\"M0 11l17 13 7-6.1L48 14V0H0z\" clip-path=\"url(#B)\" fill=\"#ea4335\"/><path d=\"M0 37l30-23 7.9 1L48 0v48H0z\" clip-path=\"url(#B)\" fill=\"#34a853\"/><path d=\"M48 48L17 24l-4-3 35-10z\" clip-path=\"url(#B)\" fill=\"#4285f4\"/></g></svg>\r\n </ion-button> -->\r\n </div>\r\n\r\n <div class=\"w-full\">\r\n <ng-content select=\"[slot=end]\"></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: ["ion-card{margin:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:1rem;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);background:color-mix(in srgb,var(--ion-color-light) 15%,transparent 93%);border-bottom-color:var(--ion-color-medium);border-right-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-top-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-left-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-width:1px 1px 2px 1px}ion-card ion-card-content{padding:0}ion-card:hover{background:color-mix(in srgb,var(--ion-color-dark) 15%,transparent 93%)}ion-card.submitted.invalid{border-color:color-mix(in srgb,var(--ion-color-danger) 75%,transparent 25%)!important}ion-card ion-card-content{width:100%;height:100%;background-color:transparent;padding:0}ion-item{--background: transparent;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonInput, selector: "ion-input", inputs: ["autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearInputIcon", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "spellcheck", "step", "type", "value"] }, { kind: "component", type: i1.IonInputPasswordToggle, selector: "ion-input-password-toggle", inputs: ["color", "hideIcon", "mode", "showIcon"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "directive", type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-input-otp[type=text],ion-textarea,ion-searchbar" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
|
|
11954
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DefaultLoginComponent, deps: [{ token: i2$1.FormBuilder }, { token: GenericService }, { token: i1.NavController }, { token: AuthService }, { token: ApiUrlProviderService }, { token: EnvironmentService }, { token: i2$2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11955
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DefaultLoginComponent, isStandalone: true, selector: "login", outputs: { OnLogin: "OnLogin" }, host: { listeners: { "window:keydown": "Login($event)" } }, viewQueries: [{ propertyName: "loginContainer", first: true, predicate: ["loginContainer"], descendants: true }], ngImport: i0, template: "<!-- <div class=\"size-full flex justify-center items-center relative\">\r\n <div class=\"landscape:w-4/5 portrait:w-full landscape:h-2/3 portrait:h-full landscape:max-w-[60rem] translucid-border landscape:rounded-3xl landscape:backdrop-blur-xl overflow-hidden\">\r\n <div class=\"size-full flex portrait:flex-col\" style=\"background-color: color-mix(in srgb, var(--ion-color-light) 20%, transparent 80%);\">\r\n <div class=\"shrink-0 w-96 portrait:w-full portrait:h-32 h-full p-3\">\r\n <div class=\"rounded-2xl size-full overflow-x-hidden\">\r\n <ng-content class=\"size-full\"></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"grow flex items-center justify-center h-full py-3 pr-3 portrait:pl-3\">\r\n <div class=\"w-96 h-full flex flex-col items-center justify-center gap-2\" *ngIf=\"frm\" [formGroup]=\"frm\">\r\n\r\n <ion-text class=\"text-5xl my-10 portrait:mt-[-5rem]\"> Login </ion-text>\r\n\r\n <ion-card class=\"w-full backdrop-blur-xl\">\r\n <ion-card-content>\r\n <ion-item lines=\"none\" label=\"Senha\" labelPlacement=\"stacked\" class=\"rounded-2xl my-3 w-full\">\r\n <ion-icon name=\"person\" slot=\"start\"></ion-icon>\r\n <ion-input placeholder=\"Usu\u00E1rio / User\" formControlName=\"apelido\"></ion-input>\r\n </ion-item>\r\n </ion-card-content>\r\n </ion-card>\r\n\r\n <ion-card class=\"w-full backdrop-blur-xl\"> \r\n <ion-card-content>\r\n <ion-item lines=\"none\" class=\"rounded-2xl my-3 w-full\">\r\n <ion-icon name=\"lock-closed\" slot=\"start\"></ion-icon>\r\n <ion-input type=\"password\" formControlName=\"senha\" placeholder=\"Senha / Password\">\r\n <ion-input-password-toggle slot=\"end\"></ion-input-password-toggle>\r\n </ion-input>\r\n </ion-item>\r\n </ion-card-content>\r\n </ion-card>\r\n\r\n <div class=\"w-full\">\r\n <a href=\"\">Esqueceu a senha?</a>\r\n </div>\r\n\r\n <div class=\"flex w-full\">\r\n <ion-button class=\"rounded-2xl shadow-xl default-transition w-full\" expand=\"block\" (click)=\"Login()\" [disabled]=\"loading\">\r\n <ion-spinner class=\"default-transition\" [ngClass]=\"{'-translate-x-12 opacity-0 size-0': !loading, 'mr-2' : loading}\" slot=\"start\"></ion-spinner>\r\n <ion-icon class=\"default-transition\" [ngClass]=\"{'-translate-x-12 opacity-0 size-0': loading}\" name=\"enter-outline\" slot=\"start\" ></ion-icon>\r\n <span class=\"default-transition\" > Login </span>\r\n </ion-button>\r\n\r\n <ion-button class=\"shrink-0 aspect-square ml-3\" color=\"dark\" hidden>\r\n <svg class=\"size-8\" slot=\"icon-only\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 32 32\" width=\"64\" height=\"64\"><defs><path id=\"A\" d=\"M44.5 20H24v8.5h11.8C34.7 33.9 30.1 37 24 37c-7.2 0-13-5.8-13-13s5.8-13 13-13c3.1 0 5.9 1.1 8.1 2.9l6.4-6.4C34.6 4.1 29.6 2 24 2 11.8 2 2 11.8 2 24s9.8 22 22 22c11 0 21-8 21-22 0-1.3-.2-2.7-.5-4z\"/></defs><clipPath id=\"B\"><use xlink:href=\"#A\"/></clipPath><g transform=\"matrix(.727273 0 0 .727273 -.954545 -1.45455)\"><path d=\"M0 37V11l17 13z\" clip-path=\"url(#B)\" fill=\"#fbbc05\"/><path d=\"M0 11l17 13 7-6.1L48 14V0H0z\" clip-path=\"url(#B)\" fill=\"#ea4335\"/><path d=\"M0 37l30-23 7.9 1L48 0v48H0z\" clip-path=\"url(#B)\" fill=\"#34a853\"/><path d=\"M48 48L17 24l-4-3 35-10z\" clip-path=\"url(#B)\" fill=\"#4285f4\"/></g></svg>\r\n </ion-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div> -->\r\n\r\n<div #loginContainer class=\"size-full flex justify-center items-center relative portrait:p-4\">\r\n <div class=\"landscape:w-4/5 landscape:h-2/3 landscape:xl:max-w-[60rem] portrait:size-full translucid-border backdrop-blur-xl rounded-3xl overflow-hidden\">\r\n <div class=\"size-full flex portrait:flex-col\" style=\"background-color: color-mix(in srgb, var(--ion-color-light) 20%, transparent 80%);\">\r\n <div class=\"shrink-0 w-96 portrait:w-full portrait:h-40 landscape:h-full p-2\">\r\n <div class=\"size-full rounded-2xl overflow-hidden\">\r\n <ng-content select=\"[slot=logo]\" class=\"size-full\"></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"shrink size-full flex flex-col items-center justify-center gap-3 px-10 relative\" *ngIf=\"frm\" [formGroup]=\"frm\">\r\n <ion-text class=\"h-24 text-5xl\"> Login </ion-text>\r\n\r\n <ion-card class=\"w-full backdrop-blur-xl\">\r\n <ion-card-content>\r\n <ion-item lines=\"none\" label=\"Senha\" labelPlacement=\"stacked\" class=\"rounded-2xl my-3 w-full\">\r\n <ion-icon name=\"person\" slot=\"start\"></ion-icon>\r\n <ion-input placeholder=\"Usu\u00E1rio / User\" formControlName=\"apelido\" (keydown.enter)=\"Login()\"></ion-input>\r\n </ion-item>\r\n </ion-card-content>\r\n </ion-card>\r\n\r\n <ion-card class=\"w-full backdrop-blur-xl\"> \r\n <ion-card-content>\r\n <ion-item lines=\"none\" class=\"rounded-2xl my-3 w-full\">\r\n <ion-icon name=\"lock-closed\" slot=\"start\"></ion-icon>\r\n <ion-input type=\"password\" formControlName=\"senha\" placeholder=\"Senha / Password\" (keydown.enter)=\"Login()\">\r\n <ion-input-password-toggle slot=\"end\"></ion-input-password-toggle>\r\n </ion-input>\r\n </ion-item>\r\n </ion-card-content>\r\n </ion-card>\r\n\r\n <div class=\"flex w-full\">\r\n <ion-button class=\"transition-all rounded-2xl shadow-xl default-transition w-full\" expand=\"block\" (click)=\"Login()\" [disabled]=\"loading\">\r\n <ion-spinner class=\"default-transition\" [ngClass]=\"{'-translate-x-12 opacity-0 size-0': !loading, 'mr-2' : loading}\" slot=\"start\"></ion-spinner>\r\n <ion-icon class=\"default-transition\" [ngClass]=\"{'-translate-x-12 opacity-0 size-0': loading}\" name=\"enter-outline\" slot=\"start\" ></ion-icon>\r\n <span class=\"default-transition\"> Login </span>\r\n </ion-button>\r\n\r\n <!-- <ion-button class=\"shrink-0 aspect-square ml-3\" color=\"dark\" hidden>\r\n <svg class=\"size-8\" slot=\"icon-only\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 32 32\" width=\"64\" height=\"64\"><defs><path id=\"A\" d=\"M44.5 20H24v8.5h11.8C34.7 33.9 30.1 37 24 37c-7.2 0-13-5.8-13-13s5.8-13 13-13c3.1 0 5.9 1.1 8.1 2.9l6.4-6.4C34.6 4.1 29.6 2 24 2 11.8 2 2 11.8 2 24s9.8 22 22 22c11 0 21-8 21-22 0-1.3-.2-2.7-.5-4z\"/></defs><clipPath id=\"B\"><use xlink:href=\"#A\"/></clipPath><g transform=\"matrix(.727273 0 0 .727273 -.954545 -1.45455)\"><path d=\"M0 37V11l17 13z\" clip-path=\"url(#B)\" fill=\"#fbbc05\"/><path d=\"M0 11l17 13 7-6.1L48 14V0H0z\" clip-path=\"url(#B)\" fill=\"#ea4335\"/><path d=\"M0 37l30-23 7.9 1L48 0v48H0z\" clip-path=\"url(#B)\" fill=\"#34a853\"/><path d=\"M48 48L17 24l-4-3 35-10z\" clip-path=\"url(#B)\" fill=\"#4285f4\"/></g></svg>\r\n </ion-button> -->\r\n </div>\r\n\r\n <div class=\"w-full\">\r\n <ng-content select=\"[slot=end]\"></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: ["ion-card{margin:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:1rem;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);background:color-mix(in srgb,var(--ion-color-light) 15%,transparent 93%);border-bottom-color:var(--ion-color-medium);border-right-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-top-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-left-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-width:1px 1px 2px 1px}ion-card ion-card-content{padding:0}ion-card:hover{background:color-mix(in srgb,var(--ion-color-dark) 15%,transparent 93%)}ion-card.submitted.invalid{border-color:color-mix(in srgb,var(--ion-color-danger) 75%,transparent 25%)!important}ion-card ion-card-content{width:100%;height:100%;background-color:transparent;padding:0}ion-item{--background: transparent;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonInput, selector: "ion-input", inputs: ["autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearInputIcon", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "spellcheck", "step", "type", "value"] }, { kind: "component", type: i1.IonInputPasswordToggle, selector: "ion-input-password-toggle", inputs: ["color", "hideIcon", "mode", "showIcon"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "directive", type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-input-otp[type=text],ion-textarea,ion-searchbar" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
|
|
11802
11956
|
}
|
|
11803
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
11957
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DefaultLoginComponent, decorators: [{
|
|
11804
11958
|
type: Component,
|
|
11805
11959
|
args: [{ standalone: true, imports: [
|
|
11806
11960
|
CommonModule,
|
|
@@ -11880,10 +12034,10 @@ class MainContentComponent {
|
|
|
11880
12034
|
document.exitFullscreen();
|
|
11881
12035
|
}
|
|
11882
12036
|
}
|
|
11883
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
11884
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MainContentComponent, isStandalone: true, selector: "main-content", inputs: { backdrop: "backdrop", shadowColor: "shadowColor", colapsed: "colapsed", drawerComponent: "drawerComponent" }, viewQueries: [{ propertyName: "FullScreenConteiner", first: true, predicate: ["target"], descendants: true }], ngImport: i0, template: "<div class=\"size-full flex flex-col\" [ngClass]=\"{'bg-light/50': fullScreen}\" #target>\r\n <div class=\"w-full h-14 relative shrink-0\">\r\n <ion-card class=\"m-0 rounded-none size-full border-none\">\r\n <ion-card-content class=\"p-0 px-2 size-full flex\">\r\n <div class=\"w-1/2 h-full flex items-center justify-start\">\r\n @if (!fullScreen) {\r\n <ion-menu-button [routerLink]=\"['/']\" [autoHide]=\"true\"></ion-menu-button>\r\n }\r\n <ng-content select=\"[slot=start]\"></ng-content>\r\n </div>\r\n\r\n <div class=\"w-1/2 h-full flex items-center justify-end gap-2\">\r\n <ng-content select=\"[slot=end]\"></ng-content>\r\n\r\n <ion-button (click)=\"FullScreen()\" fill=\"outline\" color=\"dark\" size=\"small\" class=\"size-10 aspect-square portrait:hidden\">\r\n <ion-icon slot=\"icon-only\" name=\"expand\"></ion-icon>\r\n </ion-button>\r\n\r\n\r\n @if (!fullScreen) {\r\n <div #anchor>\r\n <ion-button (click)=\"userPopover.present($event)\" size=\"small\" class=\"size-10 aspect-square\">\r\n <span class=\"uppercase text-white\">{{Token ? Token.Nome[0] : ''}}</span>\r\n </ion-button>\r\n </div>\r\n <sion-popover #userPopover [anchor]=\"anchor\" [flip]=\"false\" width=\"13rem\">\r\n <div class=\"w-full flex flex-col overflow-hidden\">\r\n <div class=\"w-full flex p-2 gap-2 overflow-hidden\">\r\n <div class=\"size-10 shrink-0 aspect-square rounded-2xl text-sm flex items-center justify-center bg-primary\">\r\n <span class=\"uppercase text-white\">{{Token ? Token.Nome[0] : ''}}</span>\r\n </div>\r\n\r\n <div class=\"shrink-0 w-full flex flex-col justify-center items-start overflow-hidden text-sm\">\r\n <span class=\"truncate\"> {{Token ? Token.Nome : ''}} </span>\r\n <span class=\"truncate text-secondary\"> @{{Token ? Token.Apelido : ''}} </span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"w-full\">\r\n <ng-content class=\"size-full\" select=\"[slot=user-popover]\"></ng-content>\r\n </div>\r\n\r\n <div class=\"w-full p-1 !pb-0 translucid-border !border-x-0 !border-b-0\">\r\n <div class=\"rounded-xl flex gap-2 items-center justify-start default-transition py-1 px-2\">\r\n <ion-icon name=\"contrast\"></ion-icon>\r\n <ion-text> Tema </ion-text>\r\n </div>\r\n\r\n <div class=\"flex flex-col pl-4\">\r\n <ion-radio-group alignment=\"start\" [allowEmptySelection]=\"false\" [value]=\"Theme\" (ionChange)=\"SetTheme($event.detail.value)\">\r\n <ion-item class=\"bg-transparent\" lines=\"full\">\r\n <ion-icon name=\"cog\" slot=\"start\"></ion-icon>\r\n <ion-radio class=\"w-full\" [value]=\"0\">Sistema</ion-radio>\r\n </ion-item>\r\n <ion-item class=\"bg-transparent\" lines=\"full\">\r\n <ion-icon name=\"sunny\" slot=\"start\"></ion-icon>\r\n <ion-radio class=\"w-full\" [value]=\"1\">Claro</ion-radio>\r\n </ion-item>\r\n <ion-item class=\"bg-transparent\" lines=\"none\">\r\n <ion-icon name=\"moon\" slot=\"start\"></ion-icon>\r\n <ion-radio class=\"w-full\" [value]=\"2\">Escuro</ion-radio>\r\n </ion-item>\r\n </ion-radio-group>\r\n\r\n\r\n <!-- <div class=\"w-full p-1 translucid-border !border-x-0 !border-b-0 overflow-hidden\">\r\n <div class=\"rounded-xl flex gap-2 items-center justify-start cursor-pointer hover:bg-medium/30 default-transition py-1 px-2\">\r\n <ion-checkbox [checked]=\"Theme == 0\" (ionChange)=\"SetTheme(0)\" ></ion-checkbox>\r\n <ion-icon name=\"cog\"></ion-icon>\r\n <ion-text> Sistema </ion-text>\r\n </div>\r\n </div>\r\n <div class=\"w-full p-1 translucid-border !border-x-0 !border-b-0 overflow-hidden\">\r\n <div class=\"rounded-xl flex gap-2 items-center justify-start cursor-pointer hover:bg-medium/30 default-transition py-1 px-2\">\r\n <ion-checkbox [checked]=\"Theme == 1\" (ionChange)=\"SetTheme(1)\" ></ion-checkbox>\r\n <ion-icon name=\"sunny\"></ion-icon>\r\n <ion-text> Claro </ion-text>\r\n </div>\r\n </div>\r\n <div class=\"w-full p-1 translucid-border !border-x-0 !border-b-0 overflow-hidden\">\r\n <div class=\"rounded-xl flex gap-2 items-center justify-start cursor-pointer hover:bg-medium/30 default-transition py-1 px-2\">\r\n <ion-checkbox [checked]=\"Theme == 2\" (ionChange)=\"SetTheme(2)\" ></ion-checkbox>\r\n <ion-icon name=\"moon\"></ion-icon>\r\n <ion-text> Escuro </ion-text>\r\n </div>\r\n </div> -->\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"w-full p-1 translucid-border !border-x-0 !border-b-0\">\r\n <div (click)=\"authService.Loggout()\" class=\"rounded-xl flex gap-2 cursor-pointer items-center justify-start hover:bg-medium/10 default-transition py-1 px-2\">\r\n <ion-icon color=\"danger\" name=\"exit\"></ion-icon>\r\n <ion-text> Log Out </ion-text>\r\n </div>\r\n\r\n <!-- <ion-text> Log Out </ion-text>\r\n <ion-button (click)=\"authService.Loggout()\" class=\"size-8 shrink-0\" size=\"small\" fill=\"clear\" color=\"danger\">\r\n <ion-icon slot=\"icon-only\" name=\"exit-outline\"></ion-icon> \r\n </ion-button> -->\r\n </div>\r\n </div>\r\n\r\n <!-- <div class=\"size-full\">\r\n <div class=\"w-full p-1 flex items-center\">\r\n <div class=\"size-10 shrink-0 aspect-square rounded-2xl text-sm flex items-center justify-center default-transition\" style=\"background-color: var(--ion-color-primary);\">\r\n <span class=\"uppercase text-white\">{{Token ? Token.Nome[0] : ''}}</span>\r\n </div>\r\n <div class=\"grow min-w-10 p-2 justify-center items-center whitespace-nowrap text-ellipsis overflow-hidden block default-transition\" [ngClass]=\"{'opacity-0 w-0': colapsed}\">\r\n <span>{{Token ? Token.Nome : ''}}</span> <br>\r\n <ion-text color=\"secondary\" class=\"text-sm\">\r\n @{{Token ? Token.Apelido : ''}}\r\n </ion-text>\r\n </div>\r\n </div>\r\n <div class=\"w-full\">\r\n <ng-content class=\"size-full\" select=\"[slot=user-popover]\"></ng-content>\r\n </div>\r\n <div class=\"w-full p-1 px-2 translucid-border !border-x-0 !border-b-0 flex items-center justify-between\">\r\n <div class=\"hover:bg-medium/30 default-transition size-full\">\r\n <ion-button color=\"dark\" fill=\"clear\" size=\"small\" class=\"rounded-xl w-full text-left overflow-hidden\">\r\n <ion-icon slot=\"start\" name=\"contrast\"></ion-icon>\r\n <ion-label class=\"text-sm\">Tema</ion-label>\r\n </ion-button>\r\n </div>\r\n </div>\r\n <div class=\"w-full p-1 px-2 translucid-border !border-x-0 !border-b-0 flex items-center justify-between\">\r\n <ion-text> Log Out </ion-text>\r\n <ion-button (click)=\"authService.Loggout()\" class=\"size-8 shrink-0\" size=\"small\" fill=\"clear\" color=\"danger\">\r\n <ion-icon slot=\"icon-only\" name=\"exit-outline\"></ion-icon> \r\n </ion-button>\r\n </div>\r\n </div> -->\r\n </sion-popover>\r\n }\r\n </div>\r\n </ion-card-content>\r\n </ion-card>\r\n </div>\r\n <div class=\"size-full relative p-2 pt-0 bg-light\">\r\n <div class=\"size-full relative rounded-2xl content-shadow overflow-hidden {{backdrop}}\" style=\"--shadow-color: {{shadowColor}}\">\r\n <ng-content></ng-content> \r\n </div>\r\n </div>\r\n</div>", styles: ["#popover-user{--width: 17rem}.content-shadow{--shadow-color: color-mix(in srgb, var(--ion-color-primary) 15%, transparent);box-shadow:0 0 0 1px var(--shadow-color),0 6px 10px -4px var(--shadow-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonMenuButton, selector: "ion-menu-button", inputs: ["autoHide", "color", "disabled", "menu", "mode", "type"] }, { kind: "component", type: i1.IonRadio, selector: "ion-radio", inputs: ["alignment", "color", "disabled", "justify", "labelPlacement", "mode", "name", "value"] }, { kind: "component", type: i1.IonRadioGroup, selector: "ion-radio-group", inputs: ["allowEmptySelection", "compareWith", "errorText", "helperText", "name", "value"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "directive", type: i1.SelectValueAccessor, selector: "ion-select, ion-radio-group, ion-segment, ion-datetime" }, { kind: "directive", type: i1.RouterLinkDelegate, selector: ":not(a):not(area)[routerLink]" }, { kind: "directive", type: RouterLinkWithHref, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: SIonPopoverModule }, { kind: "component", type: SIonPopoverComponent, selector: "sion-popover", inputs: ["fill", "arrow", "flip", "placement", "height", "width", "anchor"], outputs: ["onWillPresent", "onDidPresent", "onWillDismiss", "onDidDismiss"] }] }); }
|
|
12037
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MainContentComponent, deps: [{ token: AuthService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12038
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: MainContentComponent, isStandalone: true, selector: "main-content", inputs: { backdrop: "backdrop", shadowColor: "shadowColor", colapsed: "colapsed", drawerComponent: "drawerComponent" }, viewQueries: [{ propertyName: "FullScreenConteiner", first: true, predicate: ["target"], descendants: true }], ngImport: i0, template: "<div class=\"size-full flex flex-col\" [ngClass]=\"{'bg-light/50': fullScreen}\" #target>\r\n <div class=\"w-full h-14 relative shrink-0\">\r\n <ion-card class=\"m-0 rounded-none size-full border-none\">\r\n <ion-card-content class=\"p-0 px-2 size-full flex\">\r\n <div class=\"w-1/2 h-full flex items-center justify-start\">\r\n @if (!fullScreen) {\r\n <ion-menu-button [routerLink]=\"['/']\" [autoHide]=\"true\"></ion-menu-button>\r\n }\r\n <ng-content select=\"[slot=start]\"></ng-content>\r\n </div>\r\n\r\n <div class=\"w-1/2 h-full flex items-center justify-end gap-2\">\r\n <ng-content select=\"[slot=end]\"></ng-content>\r\n\r\n <ion-button (click)=\"FullScreen()\" fill=\"outline\" color=\"dark\" size=\"small\" class=\"size-10 aspect-square portrait:hidden\">\r\n <ion-icon slot=\"icon-only\" name=\"expand\"></ion-icon>\r\n </ion-button>\r\n\r\n\r\n @if (!fullScreen) {\r\n <div #anchor>\r\n <ion-button (click)=\"userPopover.present($event)\" size=\"small\" class=\"size-10 aspect-square\">\r\n <span class=\"uppercase text-white\">{{Token ? Token.Nome[0] : ''}}</span>\r\n </ion-button>\r\n </div>\r\n <sion-popover #userPopover [anchor]=\"anchor\" [flip]=\"false\" width=\"13rem\">\r\n <div class=\"w-full flex flex-col overflow-hidden\">\r\n <div class=\"w-full flex p-2 gap-2 overflow-hidden\">\r\n <div class=\"size-10 shrink-0 aspect-square rounded-2xl text-sm flex items-center justify-center bg-primary\">\r\n <span class=\"uppercase text-white\">{{Token ? Token.Nome[0] : ''}}</span>\r\n </div>\r\n\r\n <div class=\"shrink-0 w-full flex flex-col justify-center items-start overflow-hidden text-sm\">\r\n <span class=\"truncate\"> {{Token ? Token.Nome : ''}} </span>\r\n <span class=\"truncate text-secondary\"> @{{Token ? Token.Apelido : ''}} </span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"w-full\">\r\n <ng-content class=\"size-full\" select=\"[slot=user-popover]\"></ng-content>\r\n </div>\r\n\r\n <div class=\"w-full p-1 !pb-0 translucid-border !border-x-0 !border-b-0\">\r\n <div class=\"rounded-xl flex gap-2 items-center justify-start default-transition py-1 px-2\">\r\n <ion-icon name=\"contrast\"></ion-icon>\r\n <ion-text> Tema </ion-text>\r\n </div>\r\n\r\n <div class=\"flex flex-col pl-4\">\r\n <ion-radio-group alignment=\"start\" [allowEmptySelection]=\"false\" [value]=\"Theme\" (ionChange)=\"SetTheme($event.detail.value)\">\r\n <ion-item class=\"bg-transparent\" lines=\"full\">\r\n <ion-icon name=\"cog\" slot=\"start\"></ion-icon>\r\n <ion-radio class=\"w-full\" [value]=\"0\">Sistema</ion-radio>\r\n </ion-item>\r\n <ion-item class=\"bg-transparent\" lines=\"full\">\r\n <ion-icon name=\"sunny\" slot=\"start\"></ion-icon>\r\n <ion-radio class=\"w-full\" [value]=\"1\">Claro</ion-radio>\r\n </ion-item>\r\n <ion-item class=\"bg-transparent\" lines=\"none\">\r\n <ion-icon name=\"moon\" slot=\"start\"></ion-icon>\r\n <ion-radio class=\"w-full\" [value]=\"2\">Escuro</ion-radio>\r\n </ion-item>\r\n </ion-radio-group>\r\n\r\n\r\n <!-- <div class=\"w-full p-1 translucid-border !border-x-0 !border-b-0 overflow-hidden\">\r\n <div class=\"rounded-xl flex gap-2 items-center justify-start cursor-pointer hover:bg-medium/30 default-transition py-1 px-2\">\r\n <ion-checkbox [checked]=\"Theme == 0\" (ionChange)=\"SetTheme(0)\" ></ion-checkbox>\r\n <ion-icon name=\"cog\"></ion-icon>\r\n <ion-text> Sistema </ion-text>\r\n </div>\r\n </div>\r\n <div class=\"w-full p-1 translucid-border !border-x-0 !border-b-0 overflow-hidden\">\r\n <div class=\"rounded-xl flex gap-2 items-center justify-start cursor-pointer hover:bg-medium/30 default-transition py-1 px-2\">\r\n <ion-checkbox [checked]=\"Theme == 1\" (ionChange)=\"SetTheme(1)\" ></ion-checkbox>\r\n <ion-icon name=\"sunny\"></ion-icon>\r\n <ion-text> Claro </ion-text>\r\n </div>\r\n </div>\r\n <div class=\"w-full p-1 translucid-border !border-x-0 !border-b-0 overflow-hidden\">\r\n <div class=\"rounded-xl flex gap-2 items-center justify-start cursor-pointer hover:bg-medium/30 default-transition py-1 px-2\">\r\n <ion-checkbox [checked]=\"Theme == 2\" (ionChange)=\"SetTheme(2)\" ></ion-checkbox>\r\n <ion-icon name=\"moon\"></ion-icon>\r\n <ion-text> Escuro </ion-text>\r\n </div>\r\n </div> -->\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"w-full p-1 translucid-border !border-x-0 !border-b-0\">\r\n <div (click)=\"authService.Loggout()\" class=\"rounded-xl flex gap-2 cursor-pointer items-center justify-start hover:bg-medium/10 default-transition py-1 px-2\">\r\n <ion-icon color=\"danger\" name=\"exit\"></ion-icon>\r\n <ion-text> Log Out </ion-text>\r\n </div>\r\n\r\n <!-- <ion-text> Log Out </ion-text>\r\n <ion-button (click)=\"authService.Loggout()\" class=\"size-8 shrink-0\" size=\"small\" fill=\"clear\" color=\"danger\">\r\n <ion-icon slot=\"icon-only\" name=\"exit-outline\"></ion-icon> \r\n </ion-button> -->\r\n </div>\r\n </div>\r\n\r\n <!-- <div class=\"size-full\">\r\n <div class=\"w-full p-1 flex items-center\">\r\n <div class=\"size-10 shrink-0 aspect-square rounded-2xl text-sm flex items-center justify-center default-transition\" style=\"background-color: var(--ion-color-primary);\">\r\n <span class=\"uppercase text-white\">{{Token ? Token.Nome[0] : ''}}</span>\r\n </div>\r\n <div class=\"grow min-w-10 p-2 justify-center items-center whitespace-nowrap text-ellipsis overflow-hidden block default-transition\" [ngClass]=\"{'opacity-0 w-0': colapsed}\">\r\n <span>{{Token ? Token.Nome : ''}}</span> <br>\r\n <ion-text color=\"secondary\" class=\"text-sm\">\r\n @{{Token ? Token.Apelido : ''}}\r\n </ion-text>\r\n </div>\r\n </div>\r\n <div class=\"w-full\">\r\n <ng-content class=\"size-full\" select=\"[slot=user-popover]\"></ng-content>\r\n </div>\r\n <div class=\"w-full p-1 px-2 translucid-border !border-x-0 !border-b-0 flex items-center justify-between\">\r\n <div class=\"hover:bg-medium/30 default-transition size-full\">\r\n <ion-button color=\"dark\" fill=\"clear\" size=\"small\" class=\"rounded-xl w-full text-left overflow-hidden\">\r\n <ion-icon slot=\"start\" name=\"contrast\"></ion-icon>\r\n <ion-label class=\"text-sm\">Tema</ion-label>\r\n </ion-button>\r\n </div>\r\n </div>\r\n <div class=\"w-full p-1 px-2 translucid-border !border-x-0 !border-b-0 flex items-center justify-between\">\r\n <ion-text> Log Out </ion-text>\r\n <ion-button (click)=\"authService.Loggout()\" class=\"size-8 shrink-0\" size=\"small\" fill=\"clear\" color=\"danger\">\r\n <ion-icon slot=\"icon-only\" name=\"exit-outline\"></ion-icon> \r\n </ion-button>\r\n </div>\r\n </div> -->\r\n </sion-popover>\r\n }\r\n </div>\r\n </ion-card-content>\r\n </ion-card>\r\n </div>\r\n <div class=\"size-full relative p-2 pt-0 bg-light\">\r\n <div class=\"size-full relative rounded-2xl content-shadow overflow-hidden {{backdrop}}\" style=\"--shadow-color: {{shadowColor}}\">\r\n <ng-content></ng-content> \r\n </div>\r\n </div>\r\n</div>", styles: ["#popover-user{--width: 17rem}.content-shadow{--shadow-color: color-mix(in srgb, var(--ion-color-primary) 15%, transparent);box-shadow:0 0 0 1px var(--shadow-color),0 6px 10px -4px var(--shadow-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonMenuButton, selector: "ion-menu-button", inputs: ["autoHide", "color", "disabled", "menu", "mode", "type"] }, { kind: "component", type: i1.IonRadio, selector: "ion-radio", inputs: ["alignment", "color", "disabled", "justify", "labelPlacement", "mode", "name", "value"] }, { kind: "component", type: i1.IonRadioGroup, selector: "ion-radio-group", inputs: ["allowEmptySelection", "compareWith", "errorText", "helperText", "name", "value"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "directive", type: i1.SelectValueAccessor, selector: "ion-select, ion-radio-group, ion-segment, ion-datetime" }, { kind: "directive", type: i1.RouterLinkDelegate, selector: ":not(a):not(area)[routerLink]" }, { kind: "directive", type: RouterLinkWithHref, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: SIonPopoverModule }, { kind: "component", type: SIonPopoverComponent, selector: "sion-popover", inputs: ["fill", "arrow", "flip", "placement", "height", "width", "anchor"], outputs: ["onWillPresent", "onDidPresent", "onWillDismiss", "onDidDismiss"] }] }); }
|
|
11885
12039
|
}
|
|
11886
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
12040
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MainContentComponent, decorators: [{
|
|
11887
12041
|
type: Component,
|
|
11888
12042
|
args: [{ standalone: true, imports: [CommonModule, IonicModule, RouterLinkWithHref, SIonPopoverModule], selector: 'main-content', template: "<div class=\"size-full flex flex-col\" [ngClass]=\"{'bg-light/50': fullScreen}\" #target>\r\n <div class=\"w-full h-14 relative shrink-0\">\r\n <ion-card class=\"m-0 rounded-none size-full border-none\">\r\n <ion-card-content class=\"p-0 px-2 size-full flex\">\r\n <div class=\"w-1/2 h-full flex items-center justify-start\">\r\n @if (!fullScreen) {\r\n <ion-menu-button [routerLink]=\"['/']\" [autoHide]=\"true\"></ion-menu-button>\r\n }\r\n <ng-content select=\"[slot=start]\"></ng-content>\r\n </div>\r\n\r\n <div class=\"w-1/2 h-full flex items-center justify-end gap-2\">\r\n <ng-content select=\"[slot=end]\"></ng-content>\r\n\r\n <ion-button (click)=\"FullScreen()\" fill=\"outline\" color=\"dark\" size=\"small\" class=\"size-10 aspect-square portrait:hidden\">\r\n <ion-icon slot=\"icon-only\" name=\"expand\"></ion-icon>\r\n </ion-button>\r\n\r\n\r\n @if (!fullScreen) {\r\n <div #anchor>\r\n <ion-button (click)=\"userPopover.present($event)\" size=\"small\" class=\"size-10 aspect-square\">\r\n <span class=\"uppercase text-white\">{{Token ? Token.Nome[0] : ''}}</span>\r\n </ion-button>\r\n </div>\r\n <sion-popover #userPopover [anchor]=\"anchor\" [flip]=\"false\" width=\"13rem\">\r\n <div class=\"w-full flex flex-col overflow-hidden\">\r\n <div class=\"w-full flex p-2 gap-2 overflow-hidden\">\r\n <div class=\"size-10 shrink-0 aspect-square rounded-2xl text-sm flex items-center justify-center bg-primary\">\r\n <span class=\"uppercase text-white\">{{Token ? Token.Nome[0] : ''}}</span>\r\n </div>\r\n\r\n <div class=\"shrink-0 w-full flex flex-col justify-center items-start overflow-hidden text-sm\">\r\n <span class=\"truncate\"> {{Token ? Token.Nome : ''}} </span>\r\n <span class=\"truncate text-secondary\"> @{{Token ? Token.Apelido : ''}} </span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"w-full\">\r\n <ng-content class=\"size-full\" select=\"[slot=user-popover]\"></ng-content>\r\n </div>\r\n\r\n <div class=\"w-full p-1 !pb-0 translucid-border !border-x-0 !border-b-0\">\r\n <div class=\"rounded-xl flex gap-2 items-center justify-start default-transition py-1 px-2\">\r\n <ion-icon name=\"contrast\"></ion-icon>\r\n <ion-text> Tema </ion-text>\r\n </div>\r\n\r\n <div class=\"flex flex-col pl-4\">\r\n <ion-radio-group alignment=\"start\" [allowEmptySelection]=\"false\" [value]=\"Theme\" (ionChange)=\"SetTheme($event.detail.value)\">\r\n <ion-item class=\"bg-transparent\" lines=\"full\">\r\n <ion-icon name=\"cog\" slot=\"start\"></ion-icon>\r\n <ion-radio class=\"w-full\" [value]=\"0\">Sistema</ion-radio>\r\n </ion-item>\r\n <ion-item class=\"bg-transparent\" lines=\"full\">\r\n <ion-icon name=\"sunny\" slot=\"start\"></ion-icon>\r\n <ion-radio class=\"w-full\" [value]=\"1\">Claro</ion-radio>\r\n </ion-item>\r\n <ion-item class=\"bg-transparent\" lines=\"none\">\r\n <ion-icon name=\"moon\" slot=\"start\"></ion-icon>\r\n <ion-radio class=\"w-full\" [value]=\"2\">Escuro</ion-radio>\r\n </ion-item>\r\n </ion-radio-group>\r\n\r\n\r\n <!-- <div class=\"w-full p-1 translucid-border !border-x-0 !border-b-0 overflow-hidden\">\r\n <div class=\"rounded-xl flex gap-2 items-center justify-start cursor-pointer hover:bg-medium/30 default-transition py-1 px-2\">\r\n <ion-checkbox [checked]=\"Theme == 0\" (ionChange)=\"SetTheme(0)\" ></ion-checkbox>\r\n <ion-icon name=\"cog\"></ion-icon>\r\n <ion-text> Sistema </ion-text>\r\n </div>\r\n </div>\r\n <div class=\"w-full p-1 translucid-border !border-x-0 !border-b-0 overflow-hidden\">\r\n <div class=\"rounded-xl flex gap-2 items-center justify-start cursor-pointer hover:bg-medium/30 default-transition py-1 px-2\">\r\n <ion-checkbox [checked]=\"Theme == 1\" (ionChange)=\"SetTheme(1)\" ></ion-checkbox>\r\n <ion-icon name=\"sunny\"></ion-icon>\r\n <ion-text> Claro </ion-text>\r\n </div>\r\n </div>\r\n <div class=\"w-full p-1 translucid-border !border-x-0 !border-b-0 overflow-hidden\">\r\n <div class=\"rounded-xl flex gap-2 items-center justify-start cursor-pointer hover:bg-medium/30 default-transition py-1 px-2\">\r\n <ion-checkbox [checked]=\"Theme == 2\" (ionChange)=\"SetTheme(2)\" ></ion-checkbox>\r\n <ion-icon name=\"moon\"></ion-icon>\r\n <ion-text> Escuro </ion-text>\r\n </div>\r\n </div> -->\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"w-full p-1 translucid-border !border-x-0 !border-b-0\">\r\n <div (click)=\"authService.Loggout()\" class=\"rounded-xl flex gap-2 cursor-pointer items-center justify-start hover:bg-medium/10 default-transition py-1 px-2\">\r\n <ion-icon color=\"danger\" name=\"exit\"></ion-icon>\r\n <ion-text> Log Out </ion-text>\r\n </div>\r\n\r\n <!-- <ion-text> Log Out </ion-text>\r\n <ion-button (click)=\"authService.Loggout()\" class=\"size-8 shrink-0\" size=\"small\" fill=\"clear\" color=\"danger\">\r\n <ion-icon slot=\"icon-only\" name=\"exit-outline\"></ion-icon> \r\n </ion-button> -->\r\n </div>\r\n </div>\r\n\r\n <!-- <div class=\"size-full\">\r\n <div class=\"w-full p-1 flex items-center\">\r\n <div class=\"size-10 shrink-0 aspect-square rounded-2xl text-sm flex items-center justify-center default-transition\" style=\"background-color: var(--ion-color-primary);\">\r\n <span class=\"uppercase text-white\">{{Token ? Token.Nome[0] : ''}}</span>\r\n </div>\r\n <div class=\"grow min-w-10 p-2 justify-center items-center whitespace-nowrap text-ellipsis overflow-hidden block default-transition\" [ngClass]=\"{'opacity-0 w-0': colapsed}\">\r\n <span>{{Token ? Token.Nome : ''}}</span> <br>\r\n <ion-text color=\"secondary\" class=\"text-sm\">\r\n @{{Token ? Token.Apelido : ''}}\r\n </ion-text>\r\n </div>\r\n </div>\r\n <div class=\"w-full\">\r\n <ng-content class=\"size-full\" select=\"[slot=user-popover]\"></ng-content>\r\n </div>\r\n <div class=\"w-full p-1 px-2 translucid-border !border-x-0 !border-b-0 flex items-center justify-between\">\r\n <div class=\"hover:bg-medium/30 default-transition size-full\">\r\n <ion-button color=\"dark\" fill=\"clear\" size=\"small\" class=\"rounded-xl w-full text-left overflow-hidden\">\r\n <ion-icon slot=\"start\" name=\"contrast\"></ion-icon>\r\n <ion-label class=\"text-sm\">Tema</ion-label>\r\n </ion-button>\r\n </div>\r\n </div>\r\n <div class=\"w-full p-1 px-2 translucid-border !border-x-0 !border-b-0 flex items-center justify-between\">\r\n <ion-text> Log Out </ion-text>\r\n <ion-button (click)=\"authService.Loggout()\" class=\"size-8 shrink-0\" size=\"small\" fill=\"clear\" color=\"danger\">\r\n <ion-icon slot=\"icon-only\" name=\"exit-outline\"></ion-icon> \r\n </ion-button>\r\n </div>\r\n </div> -->\r\n </sion-popover>\r\n }\r\n </div>\r\n </ion-card-content>\r\n </ion-card>\r\n </div>\r\n <div class=\"size-full relative p-2 pt-0 bg-light\">\r\n <div class=\"size-full relative rounded-2xl content-shadow overflow-hidden {{backdrop}}\" style=\"--shadow-color: {{shadowColor}}\">\r\n <ng-content></ng-content> \r\n </div>\r\n </div>\r\n</div>", styles: ["#popover-user{--width: 17rem}.content-shadow{--shadow-color: color-mix(in srgb, var(--ion-color-primary) 15%, transparent);box-shadow:0 0 0 1px var(--shadow-color),0 6px 10px -4px var(--shadow-color)}\n"] }]
|
|
11889
12043
|
}], ctorParameters: () => [{ type: AuthService }], propDecorators: { backdrop: [{
|
|
@@ -11912,10 +12066,10 @@ class SionCardComponent {
|
|
|
11912
12066
|
this.justify = 'justify-center';
|
|
11913
12067
|
}
|
|
11914
12068
|
ngOnInit() { }
|
|
11915
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
11916
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
12069
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SionCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12070
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SionCardComponent, isStandalone: true, selector: "sion-card", inputs: { background: "background", backdrop: "backdrop", justify: "justify" }, ngImport: i0, template: "<ion-card class=\"m-0 size-full\">\r\n <ion-card-content class=\"size-full p-0\">\r\n <div class=\"size-full {{backdrop}} flex flex-col overflow-hidden\">\r\n <div class=\"flex items-center {{justify}} p-2 min-h-8 shrink-0\">\r\n <ng-content select=\"[slot=header]\"></ng-content>\r\n </div>\r\n <div class=\"{{background}} size-full rounded-t-2xl overflow-hidden\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </ion-card-content>\r\n</ion-card>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }] }); }
|
|
11917
12071
|
}
|
|
11918
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
12072
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SionCardComponent, decorators: [{
|
|
11919
12073
|
type: Component,
|
|
11920
12074
|
args: [{ selector: 'sion-card', standalone: true, imports: [CommonModule, IonicModule], template: "<ion-card class=\"m-0 size-full\">\r\n <ion-card-content class=\"size-full p-0\">\r\n <div class=\"size-full {{backdrop}} flex flex-col overflow-hidden\">\r\n <div class=\"flex items-center {{justify}} p-2 min-h-8 shrink-0\">\r\n <ng-content select=\"[slot=header]\"></ng-content>\r\n </div>\r\n <div class=\"{{background}} size-full rounded-t-2xl overflow-hidden\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </ion-card-content>\r\n</ion-card>" }]
|
|
11921
12075
|
}], ctorParameters: () => [], propDecorators: { background: [{
|
|
@@ -11955,10 +12109,10 @@ class StepComponent {
|
|
|
11955
12109
|
get _fill() {
|
|
11956
12110
|
return this.fill ? 1 : 0;
|
|
11957
12111
|
}
|
|
11958
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
11959
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
12112
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StepComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12113
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: StepComponent, selector: "step", inputs: { label: "label" }, ngImport: i0, template: "<div class=\"px-1 flex flex-col items-center justify-center text-center animated\">\r\n <div [ngClass]=\"{'selected': selected}\" class=\"default-transition min-h-8 min-w-8 bg-red-400 flex items-center justify-center rounded-2xl step\">\r\n <div class=\"wrapper\"><ng-content select=\"ion-icon, ion-text\"></ng-content></div>\r\n <div class=\"default\">\r\n {{index + 1}}\r\n </div>\r\n </div>\r\n \r\n <ion-text> {{label}} </ion-text>\r\n <ion-progress-bar [color]=\"selected ? 'secondary' : 'primary'\" class=\"h-2 ease-in-out\" [value]=\"_fill\"></ion-progress-bar>\r\n</div>", styles: [":host{--stepper-selected-color: var(--ion-color-primary);--stepper-color: var(--ion-color-light-shade)}.step{background-color:var(--stepper-color);color:var(--ion-color-dark)}.selected{background-color:var(--stepper-selected-color);color:var(--ion-color-light)}ion-progress-bar::part(progress){transition:all ease-in-out .3s!important}.wrapper:not(:empty)+.default{display:none}.wrapper:empty{display:none}.animated{animation-name:slidein;animation-duration:.3s;animation-iteration-count:1;animation-timing-function:ease-in-out}@keyframes slidein{0%{opacity:0;transform:translate(3rem)}to{opacity:1;transform:translateX()}}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i1.IonProgressBar, selector: "ion-progress-bar", inputs: ["buffer", "color", "mode", "reversed", "type", "value"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }] }); }
|
|
11960
12114
|
}
|
|
11961
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
12115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StepComponent, decorators: [{
|
|
11962
12116
|
type: Component,
|
|
11963
12117
|
args: [{ selector: 'step', template: "<div class=\"px-1 flex flex-col items-center justify-center text-center animated\">\r\n <div [ngClass]=\"{'selected': selected}\" class=\"default-transition min-h-8 min-w-8 bg-red-400 flex items-center justify-center rounded-2xl step\">\r\n <div class=\"wrapper\"><ng-content select=\"ion-icon, ion-text\"></ng-content></div>\r\n <div class=\"default\">\r\n {{index + 1}}\r\n </div>\r\n </div>\r\n \r\n <ion-text> {{label}} </ion-text>\r\n <ion-progress-bar [color]=\"selected ? 'secondary' : 'primary'\" class=\"h-2 ease-in-out\" [value]=\"_fill\"></ion-progress-bar>\r\n</div>", styles: [":host{--stepper-selected-color: var(--ion-color-primary);--stepper-color: var(--ion-color-light-shade)}.step{background-color:var(--stepper-color);color:var(--ion-color-dark)}.selected{background-color:var(--stepper-selected-color);color:var(--ion-color-light)}ion-progress-bar::part(progress){transition:all ease-in-out .3s!important}.wrapper:not(:empty)+.default{display:none}.wrapper:empty{display:none}.animated{animation-name:slidein;animation-duration:.3s;animation-iteration-count:1;animation-timing-function:ease-in-out}@keyframes slidein{0%{opacity:0;transform:translate(3rem)}to{opacity:1;transform:translateX()}}\n"] }]
|
|
11964
12118
|
}], ctorParameters: () => [], propDecorators: { label: [{
|
|
@@ -11985,10 +12139,10 @@ class StepperComponent extends CustomInput {
|
|
|
11985
12139
|
this.runValidation();
|
|
11986
12140
|
this.propagateChange(obj);
|
|
11987
12141
|
}
|
|
11988
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
11989
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
12142
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StepperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12143
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: StepperComponent, selector: "stepper", providers: InputProviderFactory.GetProviders(StepperComponent), queries: [{ propertyName: "lstSteps", predicate: StepComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"flex w-full justify-evenly\">\r\n <ng-content select=\"step\" class=\"grow\"></ng-content>\r\n</div>", styles: [""] }); }
|
|
11990
12144
|
}
|
|
11991
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
12145
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StepperComponent, decorators: [{
|
|
11992
12146
|
type: Component,
|
|
11993
12147
|
args: [{ selector: 'stepper', providers: InputProviderFactory.GetProviders(StepperComponent), template: "<div class=\"flex w-full justify-evenly\">\r\n <ng-content select=\"step\" class=\"grow\"></ng-content>\r\n</div>" }]
|
|
11994
12148
|
}], ctorParameters: () => [], propDecorators: { lstSteps: [{
|
|
@@ -11997,13 +12151,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
11997
12151
|
}] } });
|
|
11998
12152
|
|
|
11999
12153
|
class StepperModule {
|
|
12000
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
12001
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
12154
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StepperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
12155
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: StepperModule, declarations: [StepComponent, StepperComponent], imports: [CommonModule,
|
|
12002
12156
|
IonicModule], exports: [StepComponent, StepperComponent] }); }
|
|
12003
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
12157
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StepperModule, imports: [CommonModule,
|
|
12004
12158
|
IonicModule] }); }
|
|
12005
12159
|
}
|
|
12006
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
12160
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StepperModule, decorators: [{
|
|
12007
12161
|
type: NgModule,
|
|
12008
12162
|
args: [{
|
|
12009
12163
|
declarations: [StepComponent, StepperComponent],
|
|
@@ -12028,10 +12182,10 @@ class TabComponent {
|
|
|
12028
12182
|
this.routerOutlet = null;
|
|
12029
12183
|
this.guid = Utils.GenerateGUID();
|
|
12030
12184
|
}
|
|
12031
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
12032
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
12185
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12186
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TabComponent, selector: "tab", inputs: { id: "id", label: "label", name: "name", route: "route", active: "active", relative: "relative" }, viewQueries: [{ propertyName: "placeToRender", first: true, predicate: ["placeToRender"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div [ngClass]=\"{'-translate-x-full opacity-0': !active,\r\n '!relative': relative }\" class=\"default-transition overflow-hidden max-h-full size-full absolute top-0 left-0\">\r\n @if(route && active){\r\n <router-outlet class=\"size-full\"></router-outlet>\r\n }@else {\r\n <ng-content></ng-content>\r\n }\r\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
|
|
12033
12187
|
}
|
|
12034
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
12188
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabComponent, decorators: [{
|
|
12035
12189
|
type: Component,
|
|
12036
12190
|
args: [{ selector: 'tab', template: "<div [ngClass]=\"{'-translate-x-full opacity-0': !active,\r\n '!relative': relative }\" class=\"default-transition overflow-hidden max-h-full size-full absolute top-0 left-0\">\r\n @if(route && active){\r\n <router-outlet class=\"size-full\"></router-outlet>\r\n }@else {\r\n <ng-content></ng-content>\r\n }\r\n</div>" }]
|
|
12037
12191
|
}], ctorParameters: () => [], propDecorators: { id: [{
|
|
@@ -12083,10 +12237,10 @@ class TabsComponent {
|
|
|
12083
12237
|
GetElse() {
|
|
12084
12238
|
return this.lstTabs.some(p => p.route != null) ? './' : undefined;
|
|
12085
12239
|
}
|
|
12086
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
12087
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
12240
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12241
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TabsComponent, selector: "tabs", outputs: { changeEmitter: "change" }, queries: [{ propertyName: "router", first: true, predicate: RouterOutlet, descendants: true }, { propertyName: "lstTabs", predicate: TabComponent }], ngImport: i0, template: "<div class=\"flex flex-col size-full\">\r\n <div class=\"h-10 w-full flex px-3 mask-x/3 overflow-x-auto\">\r\n @for (tab of lstTabs; track $index) {\r\n <div [routerLink]=\"tab.route ? '.' + tab.route : GetElse()\" [ngClass]=\"{'selected': tab.active}\" class=\"default-transition !translucid-background translucid-border tab-selector !border-b-0 animated-from-right whitespace-nowrap\" (click)=\"SetActiveTab(tab)\">\r\n <ion-text class=\"mx-auto\" [color]=\"tab.active ? 'dark' : ''\">\r\n <ion-icon [name]=\"tab.name\" class=\"align-sub mr-1\"></ion-icon> {{tab.label}}\r\n </ion-text>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"translucid-border tab-content !overflow-hidden relative\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>", styles: [".tab-selector{display:flex;cursor:pointer;align-items:center;justify-content:center;height:100%;min-width:8rem;overflow:hidden;border-top-left-radius:1rem;border-top-right-radius:1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}.tab-selector:hover{margin-right:0;border-color:var(--ion-color-secondary)!important}.tab-selector.selected{margin-right:.5rem;margin-left:1.5rem;border-color:var(--ion-color-primary);background:color-mix(in srgb,var(--ion-color-primary) 30%,transparent 70%)!important}.tab-selector:first-of-type.selected{margin-left:0}.tab-content{width:100%;height:100%;overflow:hidden;border-radius:1rem;border-top-width:.5px;border-top-color:color-mix(in srgb,var(--ion-color-primary) 50%,transparent 50%)!important}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "directive", type: i1.RouterLinkDelegate, selector: ":not(a):not(area)[routerLink]" }, { kind: "directive", type: i2$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
|
|
12088
12242
|
}
|
|
12089
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
12243
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabsComponent, decorators: [{
|
|
12090
12244
|
type: Component,
|
|
12091
12245
|
args: [{ selector: 'tabs', template: "<div class=\"flex flex-col size-full\">\r\n <div class=\"h-10 w-full flex px-3 mask-x/3 overflow-x-auto\">\r\n @for (tab of lstTabs; track $index) {\r\n <div [routerLink]=\"tab.route ? '.' + tab.route : GetElse()\" [ngClass]=\"{'selected': tab.active}\" class=\"default-transition !translucid-background translucid-border tab-selector !border-b-0 animated-from-right whitespace-nowrap\" (click)=\"SetActiveTab(tab)\">\r\n <ion-text class=\"mx-auto\" [color]=\"tab.active ? 'dark' : ''\">\r\n <ion-icon [name]=\"tab.name\" class=\"align-sub mr-1\"></ion-icon> {{tab.label}}\r\n </ion-text>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"translucid-border tab-content !overflow-hidden relative\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>", styles: [".tab-selector{display:flex;cursor:pointer;align-items:center;justify-content:center;height:100%;min-width:8rem;overflow:hidden;border-top-left-radius:1rem;border-top-right-radius:1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}.tab-selector:hover{margin-right:0;border-color:var(--ion-color-secondary)!important}.tab-selector.selected{margin-right:.5rem;margin-left:1.5rem;border-color:var(--ion-color-primary);background:color-mix(in srgb,var(--ion-color-primary) 30%,transparent 70%)!important}.tab-selector:first-of-type.selected{margin-left:0}.tab-content{width:100%;height:100%;overflow:hidden;border-radius:1rem;border-top-width:.5px;border-top-color:color-mix(in srgb,var(--ion-color-primary) 50%,transparent 50%)!important}\n"] }]
|
|
12092
12246
|
}], ctorParameters: () => [], propDecorators: { lstTabs: [{
|
|
@@ -12101,11 +12255,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
12101
12255
|
}] } });
|
|
12102
12256
|
|
|
12103
12257
|
class TabsModule {
|
|
12104
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
12105
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
12106
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
12258
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
12259
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: TabsModule, declarations: [TabsComponent, TabComponent], imports: [CommonModule, IonicModule, NgVarDirective, RouterLinkWithHref, RouterModule], exports: [TabsComponent, TabComponent] }); }
|
|
12260
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabsModule, imports: [CommonModule, IonicModule, RouterModule] }); }
|
|
12107
12261
|
}
|
|
12108
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
12262
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabsModule, decorators: [{
|
|
12109
12263
|
type: NgModule,
|
|
12110
12264
|
args: [{
|
|
12111
12265
|
declarations: [TabsComponent, TabComponent],
|
|
@@ -12119,10 +12273,10 @@ class TooltipComponent {
|
|
|
12119
12273
|
this.align = 'right';
|
|
12120
12274
|
this.color = 'secondary';
|
|
12121
12275
|
}
|
|
12122
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
12123
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
12276
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12277
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TooltipComponent, isStandalone: true, selector: "tooltip", inputs: { align: "align", color: "color" }, ngImport: i0, template: "<!-- <div\r\n class=\"\r\n absolute\r\n \r\n\r\n default-transition px-2\r\n min-w-fit h-fit py-1\r\n bg-[var(--ion-color-secondary)] \r\n rounded-xl\r\n \"\r\n [ngClass]=\"{'!translate-x-0 !translate-y-0 !opacity-100': _active}\"\r\n> \r\n <div class=\"absolute -left-1 top-0 rounded bottom-0 my-auto rotate-45 h-4 aspect-square bg-red-500 [clip-path:polygon(0_20%,_0%_100%,_80%_100%)]\"></div>\r\n <div class=\"z-[100] whitespace-nowrap\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div> -->\r\n<div #wrapper id=\"wrapper\" class=\"size-full absolute left-0 right-0 animated\">\r\n <div\r\n id=\"tooltip\"\r\n style=\"--background: var(--ion-color-{{color}})\"\r\n class=\"\r\n !pointer-events-none\r\n absolute\r\n default-transition px-2\r\n min-w-fit h-fit py-1\r\n bg-[var(--background)]\r\n rounded-xl blur-sm\r\n opacity-0\r\n max-w-full\r\n {{align}}\r\n \"\r\n > \r\n @switch (align) {\r\n @case ('top') {\r\n <div class=\"absolute rounded -bottom-1 left-0 right-0 mx-auto -rotate-45 h-4 aspect-square bg-[var(--background)] [clip-path:polygon(0_20%,_0%_100%,_80%_100%)]\"></div>\r\n }\r\n @case ('bottom') {\r\n <div class=\"absolute rounded -top-1 left-0 right-0 mx-auto rotate-[135deg] h-4 aspect-square bg-[var(--background)] [clip-path:polygon(0_20%,_0%_100%,_80%_100%)]\"></div>\r\n }\r\n @case ('right') {\r\n <div class=\"absolute rounded -left-1 top-0 bottom-0 my-auto rotate-45 h-4 aspect-square bg-[var(--background)] [clip-path:polygon(0_20%,_0%_100%,_80%_100%)]\"></div>\r\n }\r\n @case ('left') {\r\n <div class=\"absolute rounded -right-1 top-0 bottom-0 my-auto -rotate-[135deg] h-4 aspect-square bg-[var(--background)] [clip-path:polygon(0_20%,_0%_100%,_80%_100%)]\"></div>\r\n }\r\n }\r\n <div class=\"z-[100] block text-dark text-sm\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div> \r\n</div>\r\n\r\n", styles: [".right{left:calc(100% + .5rem);top:0;bottom:0;margin-top:auto;margin-bottom:auto;--tw-translate-x: -1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.left{right:calc(100% + .5rem);top:0;bottom:0;margin-top:auto;margin-bottom:auto;--tw-translate-x: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.top{bottom:calc(100% + .5rem);left:0;right:0;margin-left:auto;margin-right:auto;--tw-translate-y: -1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.bottom{top:calc(100% + .5rem);left:0;right:0;margin-left:auto;margin-right:auto;--tw-translate-y: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#wrapper:hover #tooltip{--tw-translate-x: 0px !important;--tw-translate-y: 0px !important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important;opacity:1!important;filter:none!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: IonicModule }] }); }
|
|
12124
12278
|
}
|
|
12125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
12279
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TooltipComponent, decorators: [{
|
|
12126
12280
|
type: Component,
|
|
12127
12281
|
args: [{ selector: 'tooltip', standalone: true, imports: [CommonModule, IonicModule], template: "<!-- <div\r\n class=\"\r\n absolute\r\n \r\n\r\n default-transition px-2\r\n min-w-fit h-fit py-1\r\n bg-[var(--ion-color-secondary)] \r\n rounded-xl\r\n \"\r\n [ngClass]=\"{'!translate-x-0 !translate-y-0 !opacity-100': _active}\"\r\n> \r\n <div class=\"absolute -left-1 top-0 rounded bottom-0 my-auto rotate-45 h-4 aspect-square bg-red-500 [clip-path:polygon(0_20%,_0%_100%,_80%_100%)]\"></div>\r\n <div class=\"z-[100] whitespace-nowrap\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div> -->\r\n<div #wrapper id=\"wrapper\" class=\"size-full absolute left-0 right-0 animated\">\r\n <div\r\n id=\"tooltip\"\r\n style=\"--background: var(--ion-color-{{color}})\"\r\n class=\"\r\n !pointer-events-none\r\n absolute\r\n default-transition px-2\r\n min-w-fit h-fit py-1\r\n bg-[var(--background)]\r\n rounded-xl blur-sm\r\n opacity-0\r\n max-w-full\r\n {{align}}\r\n \"\r\n > \r\n @switch (align) {\r\n @case ('top') {\r\n <div class=\"absolute rounded -bottom-1 left-0 right-0 mx-auto -rotate-45 h-4 aspect-square bg-[var(--background)] [clip-path:polygon(0_20%,_0%_100%,_80%_100%)]\"></div>\r\n }\r\n @case ('bottom') {\r\n <div class=\"absolute rounded -top-1 left-0 right-0 mx-auto rotate-[135deg] h-4 aspect-square bg-[var(--background)] [clip-path:polygon(0_20%,_0%_100%,_80%_100%)]\"></div>\r\n }\r\n @case ('right') {\r\n <div class=\"absolute rounded -left-1 top-0 bottom-0 my-auto rotate-45 h-4 aspect-square bg-[var(--background)] [clip-path:polygon(0_20%,_0%_100%,_80%_100%)]\"></div>\r\n }\r\n @case ('left') {\r\n <div class=\"absolute rounded -right-1 top-0 bottom-0 my-auto -rotate-[135deg] h-4 aspect-square bg-[var(--background)] [clip-path:polygon(0_20%,_0%_100%,_80%_100%)]\"></div>\r\n }\r\n }\r\n <div class=\"z-[100] block text-dark text-sm\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div> \r\n</div>\r\n\r\n", styles: [".right{left:calc(100% + .5rem);top:0;bottom:0;margin-top:auto;margin-bottom:auto;--tw-translate-x: -1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.left{right:calc(100% + .5rem);top:0;bottom:0;margin-top:auto;margin-bottom:auto;--tw-translate-x: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.top{bottom:calc(100% + .5rem);left:0;right:0;margin-left:auto;margin-right:auto;--tw-translate-y: -1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.bottom{top:calc(100% + .5rem);left:0;right:0;margin-left:auto;margin-right:auto;--tw-translate-y: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#wrapper:hover #tooltip{--tw-translate-x: 0px !important;--tw-translate-y: 0px !important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important;opacity:1!important;filter:none!important}\n"] }]
|
|
12128
12282
|
}], propDecorators: { align: [{
|
|
@@ -12155,10 +12309,10 @@ class TextTooltipComponent {
|
|
|
12155
12309
|
onResize() {
|
|
12156
12310
|
this.CheckOverflowHandler();
|
|
12157
12311
|
}
|
|
12158
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
12159
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
12312
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TextTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12313
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: TextTooltipComponent, isStandalone: true, selector: "text-tooltip", inputs: { align: "align", color: "color" }, host: { listeners: { "mouseenter": "onMouseEnter()", "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "text", first: true, predicate: ["text"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #text class=\"w-full truncate relative overflow-hidden\">\r\n <ng-content select=\"[slot=content]\"></ng-content>\r\n</div>\r\n<div class=\"absolute top-0 left-0 size-full\">\r\n <tooltip [color]=\"color\" [align]=\"align\" *ngIf=\"isOverflowing\" [hidden]=\"!isOverflowing\">\r\n <ng-content select=\"[slot=tooltip]\"></ng-content>\r\n </tooltip>\r\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: TooltipComponent, selector: "tooltip", inputs: ["align", "color"] }] }); }
|
|
12160
12314
|
}
|
|
12161
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
12315
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TextTooltipComponent, decorators: [{
|
|
12162
12316
|
type: Component,
|
|
12163
12317
|
args: [{ selector: 'text-tooltip', standalone: true, imports: [CommonModule, IonicModule, TooltipComponent], template: "<div #text class=\"w-full truncate relative overflow-hidden\">\r\n <ng-content select=\"[slot=content]\"></ng-content>\r\n</div>\r\n<div class=\"absolute top-0 left-0 size-full\">\r\n <tooltip [color]=\"color\" [align]=\"align\" *ngIf=\"isOverflowing\" [hidden]=\"!isOverflowing\">\r\n <ng-content select=\"[slot=tooltip]\"></ng-content>\r\n </tooltip>\r\n</div>" }]
|
|
12164
12318
|
}], ctorParameters: () => [], propDecorators: { text: [{
|
|
@@ -12189,10 +12343,10 @@ class AuthGuard {
|
|
|
12189
12343
|
}
|
|
12190
12344
|
return Authenticated;
|
|
12191
12345
|
}
|
|
12192
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
12193
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
12346
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuthGuard, deps: [{ token: AuthService }, { token: i2$2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
12347
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuthGuard }); }
|
|
12194
12348
|
}
|
|
12195
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
12349
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuthGuard, decorators: [{
|
|
12196
12350
|
type: Injectable
|
|
12197
12351
|
}], ctorParameters: () => [{ type: AuthService }, { type: i2$2.Router }] });
|
|
12198
12352
|
|
|
@@ -12276,10 +12430,10 @@ class ErrorInterceptor {
|
|
|
12276
12430
|
apiUrl: this.apiUrlProviderService.apiUrl
|
|
12277
12431
|
});
|
|
12278
12432
|
}
|
|
12279
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
12280
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
12433
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ErrorInterceptor, deps: [{ token: AuthService }, { token: i1$1.HttpClient }, { token: GenericService }, { token: i1.ToastController }, { token: ApiUrlProviderService }, { token: i2$2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
12434
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ErrorInterceptor, providedIn: 'root' }); }
|
|
12281
12435
|
}
|
|
12282
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
12436
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ErrorInterceptor, decorators: [{
|
|
12283
12437
|
type: Injectable,
|
|
12284
12438
|
args: [{
|
|
12285
12439
|
providedIn: 'root'
|
|
@@ -12298,10 +12452,10 @@ class TokenInterceptor {
|
|
|
12298
12452
|
return next.handle(authReq);
|
|
12299
12453
|
}));
|
|
12300
12454
|
}
|
|
12301
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
12302
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
12455
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TokenInterceptor, deps: [{ token: AuthService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
12456
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TokenInterceptor, providedIn: 'root' }); }
|
|
12303
12457
|
}
|
|
12304
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
12458
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TokenInterceptor, decorators: [{
|
|
12305
12459
|
type: Injectable,
|
|
12306
12460
|
args: [{
|
|
12307
12461
|
providedIn: 'root'
|
|
@@ -12323,5 +12477,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
12323
12477
|
* Generated bundle index. Do not edit.
|
|
12324
12478
|
*/
|
|
12325
12479
|
|
|
12326
|
-
export { AbstractList, AbstractView, ApiUrlProviderService, AuthGuard, AuthService, BindLabelFactory, BindValueFactory, BoolProperty, CarouselComponent, CarouselImageComponent, CarouselItemComponent, CarouselModule, Comparison, ComparisonOperator, ComparisonOperatorString, ComparisonValueType, CompileFilters, CompileLstTableField, ContentBlockComponent, ControlError, DateProperty, DateTimeProperty, DecimalProperty, DefaultDrawerEndComponent, DefaultListComponent, DefaultLoginComponent, DefaultModule, DefaultPage, DefaultPageConfiguration, DefaultPageImage, DefaultPaginationComponent, DefaultRoutingFactory, DefaultTableComponent, DefaultViewComponent, Download, DownloadButtonComponent, DragDropFileDirective, DragDropFileModule, DragDropOverlayComponent, DrawerComponent, DrawerGroupComponent, EnumProperty, Environment, EnvironmentInjectionToken, EnvironmentService, ErrorInterceptor, FilterComponent, Forbidden403Component, FormValidators, FormatCep, FormatCpfCnpj, FormatTelefoneCelular, GenericService, HeaderListComponent, HeaderViewComponent, HttpService, HttpServiceAtivo, ICarouselItem, INT_MAX, ImageComponent, ImplicitProperty, InfiniteScroll, InfiniteScrollConfiguration, InfoPopoverComponent, InputBoolComponent, InputBoolConfiguration, InputBoolType, InputCepComponent, InputCepConfiguration, InputColorComponent, InputCpfCnpjComponent, InputCpfCnpjConfiguration, InputCurrencyConfiguration, InputDateComponent, InputDateConfiguration, InputDecimalComponent, InputDecimalConfiguration, InputFileComponent, InputFileConfiguration, InputIconComponent, InputNumberConfiguration, InputPercentageConfiguration, InputProviderFactory, InputSelectComponent, InputSelectConfiguration, InputSelectDataLoader, InputStringComponent, InputStringConfiguration, InputStringType, InputTelefoneCelularConfiguration, InputTelefoneComponent, InputTextareaComponent, InputType, InputsDefaultConfigurations, InputsModule, IntProperty, List, LoadingComponent, LoginAdminComponent, LongProperty, MainContentComponent, Menu, NgVarDirective, RouteCacheService, RouteData, RouteProviderService, SIonLabelTemplateDirective, SIonOptionTemplateDirective, SIonPlaceholderTemplateDirective, SIonPopoverComponent, SIonPopoverModule, SapphireIonFrameworkModule, Search, SecurePipe, SelectInterfaces, SionCardComponent, StepComponent, StepperComponent, StepperModule, StorageService, StringProperty, TabComponent, TableField, TableFieldFormBuilder, TabsComponent, TabsModule, TelefoneCelular, TextTooltipComponent, ThFilterComponent, TimeProperty, Timeout, TokenInterceptor, TooltipComponent, UsuarioService, Utils, UtilsService, View, ViewFiltros, ViewRetorno, idPreloaderConfiguration, lstImage, lstImageTypes };
|
|
12480
|
+
export { AbstractList, AbstractView, ApiUrlProviderService, AuthGuard, AuthService, BindLabelFactory, BindValueFactory, BoolProperty, CarouselComponent, CarouselImageComponent, CarouselItemComponent, CarouselModule, Comparison, ComparisonOperator, ComparisonOperatorString, ComparisonValueType, CompileFilters, CompileLstTableField, ContentBlockComponent, ControlError, DateProperty, DateTimeProperty, DecimalProperty, DefaultDrawerEndComponent, DefaultListComponent, DefaultLoginComponent, DefaultModule, DefaultPage, DefaultPageConfiguration, DefaultPageImage, DefaultPaginationComponent, DefaultRoutingFactory, DefaultTableComponent, DefaultViewComponent, Download, DownloadButtonComponent, DragDropFileDirective, DragDropFileModule, DragDropOverlayComponent, DrawerComponent, DrawerGroupComponent, EnumProperty, Environment, EnvironmentInjectionToken, EnvironmentService, ErrorInterceptor, FilterComponent, Forbidden403Component, FormValidators, FormatCep, FormatCpfCnpj, FormatTelefoneCelular, GenericService, HeaderListComponent, HeaderViewComponent, HttpService, HttpServiceAtivo, ICarouselItem, INT_MAX, ImageComponent, ImplicitProperty, InfiniteScroll, InfiniteScrollConfiguration, InfoPopoverComponent, InputBoolComponent, InputBoolConfiguration, InputBoolType, InputCepComponent, InputCepConfiguration, InputColorComponent, InputCpfCnpjComponent, InputCpfCnpjConfiguration, InputCurrencyConfiguration, InputDateComponent, InputDateConfiguration, InputDecimalComponent, InputDecimalConfiguration, InputFileComponent, InputFileConfiguration, InputIconComponent, InputNumberConfiguration, InputPercentageConfiguration, InputProviderFactory, InputSelectComponent, InputSelectConfiguration, InputSelectDataLoader, InputStringComponent, InputStringConfiguration, InputStringType, InputTelefoneCelularConfiguration, InputTelefoneComponent, InputTextareaComponent, InputType, InputsDefaultConfigurations, InputsModule, IntProperty, List, LoadingComponent, LoginAdminComponent, LongProperty, MainContentComponent, Menu, NavigationContextService, NgVarDirective, RouteCacheService, RouteData, RouteProviderService, SIonLabelTemplateDirective, SIonOptionTemplateDirective, SIonPlaceholderTemplateDirective, SIonPopoverComponent, SIonPopoverModule, SapphireIonFrameworkModule, Search, SecurePipe, SelectInterfaces, SionCardComponent, StepComponent, StepperComponent, StepperModule, StorageService, StringProperty, TabComponent, TableField, TableFieldFormBuilder, TabsComponent, TabsModule, TelefoneCelular, TextTooltipComponent, ThFilterComponent, TimeProperty, Timeout, TokenInterceptor, TooltipComponent, UsuarioService, Utils, UtilsService, View, ViewFiltros, ViewRetorno, idPreloaderConfiguration, lstImage, lstImageTypes };
|
|
12327
12481
|
//# sourceMappingURL=sapphire-ion-framework.mjs.map
|