@sapphire-ion/framework 0.30.3 → 0.30.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/esm2022/lib/classes/comparison/comparison-operator.mjs +1 -1
  2. package/esm2022/lib/classes/comparison/comparison-value-type.mjs +1 -1
  3. package/esm2022/lib/classes/comparison/comparison.mjs +1 -1
  4. package/esm2022/lib/classes/comparison/properties/bool-property.mjs +1 -1
  5. package/esm2022/lib/classes/comparison/properties/date-property.mjs +1 -1
  6. package/esm2022/lib/classes/comparison/properties/datetime-property.mjs +1 -1
  7. package/esm2022/lib/classes/comparison/properties/decimal-property.mjs +1 -1
  8. package/esm2022/lib/classes/comparison/properties/enum-property.mjs +1 -1
  9. package/esm2022/lib/classes/comparison/properties/implicit-property.mjs +1 -1
  10. package/esm2022/lib/classes/comparison/properties/int-property.mjs +1 -1
  11. package/esm2022/lib/classes/comparison/properties/long-property.mjs +1 -1
  12. package/esm2022/lib/classes/comparison/properties/string-property.mjs +1 -1
  13. package/esm2022/lib/classes/comparison/properties/time-property.mjs +1 -1
  14. package/esm2022/lib/classes/credentials.mjs +1 -1
  15. package/esm2022/lib/classes/environment.mjs +1 -1
  16. package/esm2022/lib/classes/filters/view-filtros.mjs +1 -1
  17. package/esm2022/lib/classes/infinite-scroll.mjs +1 -1
  18. package/esm2022/lib/classes/inputs/table-field-form-builder.mjs +1 -1
  19. package/esm2022/lib/classes/inputs/table-field.mjs +1 -1
  20. package/esm2022/lib/classes/page-option.mjs +1 -1
  21. package/esm2022/lib/classes/routes/default-routing-factory.mjs +1 -1
  22. package/esm2022/lib/classes/routes/id-preloader-configuration.mjs +1 -1
  23. package/esm2022/lib/classes/routes/route-data.mjs +1 -1
  24. package/esm2022/lib/components/carousel/carousel-image/carousel-image.component.mjs +1 -1
  25. package/esm2022/lib/components/carousel/carousel-item/carousel-item.component.mjs +1 -1
  26. package/esm2022/lib/components/carousel/carousel.component.mjs +1 -1
  27. package/esm2022/lib/components/carousel/carousel.module.mjs +1 -1
  28. package/esm2022/lib/components/carousel/i-carousel-item.component.mjs +1 -1
  29. package/esm2022/lib/components/content-block/content-block.component.mjs +1 -1
  30. package/esm2022/lib/components/default/default-list/abstract-list.mjs +1 -1
  31. package/esm2022/lib/components/default/default-list/default-list.component.mjs +1 -1
  32. package/esm2022/lib/components/default/default-list/header-list/header-list.component.mjs +1 -1
  33. package/esm2022/lib/components/default/default-list/list.mjs +9 -9
  34. package/esm2022/lib/components/default/default-pagination/default-pagination.component.mjs +1 -1
  35. package/esm2022/lib/components/default/default-table/default-table.component.mjs +1 -1
  36. package/esm2022/lib/components/default/default-table/th-filter/th-filter.component.mjs +1 -1
  37. package/esm2022/lib/components/default/default-view/abstract-view.mjs +1 -1
  38. package/esm2022/lib/components/default/default-view/default-view.component.mjs +1 -1
  39. package/esm2022/lib/components/default/default-view/header-view/header-view.component.mjs +1 -1
  40. package/esm2022/lib/components/default/default-view/view.mjs +1 -1
  41. package/esm2022/lib/components/default/default.module.mjs +1 -1
  42. package/esm2022/lib/components/default-page/default.page.mjs +1 -1
  43. package/esm2022/lib/components/drag-drop-file/drag-drop-file.directive.mjs +1 -1
  44. package/esm2022/lib/components/drag-drop-file/drag-drop-file.module.mjs +1 -1
  45. package/esm2022/lib/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.mjs +1 -1
  46. package/esm2022/lib/components/drawer/default-drawer-end/default-drawer-end.component.mjs +1 -1
  47. package/esm2022/lib/components/drawer/drawer-group/drawer-group.component.mjs +1 -1
  48. package/esm2022/lib/components/drawer/drawer.component.mjs +1 -1
  49. package/esm2022/lib/components/drawer/menu.mjs +1 -1
  50. package/esm2022/lib/components/filter/filter.component.mjs +1 -1
  51. package/esm2022/lib/components/http-responses-pages/forbidden-403/forbidden-403.component.mjs +1 -1
  52. package/esm2022/lib/components/image/image.component.mjs +1 -1
  53. package/esm2022/lib/components/info-popover/info-popover.component.mjs +1 -1
  54. package/esm2022/lib/components/inputs/custom-input.mjs +1 -1
  55. package/esm2022/lib/components/inputs/custom-signal-input.mjs +1 -1
  56. package/esm2022/lib/components/inputs/input-bool/input-bool.component.mjs +1 -1
  57. package/esm2022/lib/components/inputs/input-bool/input-bool.configuration.mjs +1 -1
  58. package/esm2022/lib/components/inputs/input-color/input-color.component.mjs +1 -1
  59. package/esm2022/lib/components/inputs/input-configuration.mjs +1 -1
  60. package/esm2022/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.mjs +1 -1
  61. package/esm2022/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.configuration.mjs +1 -1
  62. package/esm2022/lib/components/inputs/input-date/input-date.component.mjs +1 -1
  63. package/esm2022/lib/components/inputs/input-date/input-date.configuration.mjs +1 -1
  64. package/esm2022/lib/components/inputs/input-decimal/input-decimal.component.mjs +1 -1
  65. package/esm2022/lib/components/inputs/input-decimal/input-decimal.configuration.mjs +1 -1
  66. package/esm2022/lib/components/inputs/input-default-configurations.mjs +1 -1
  67. package/esm2022/lib/components/inputs/input-file/download-button/download-button.component.mjs +1 -1
  68. package/esm2022/lib/components/inputs/input-file/input-file.component.mjs +1 -1
  69. package/esm2022/lib/components/inputs/input-file/input-file.configuration.mjs +1 -1
  70. package/esm2022/lib/components/inputs/input-loading/input-loading.component.mjs +1 -1
  71. package/esm2022/lib/components/inputs/input-provider-factory.mjs +1 -1
  72. package/esm2022/lib/components/inputs/input-select/ISelect.mjs +1 -1
  73. package/esm2022/lib/components/inputs/input-select/input-select-internal-option/input-select-internal-option.component.mjs +1 -1
  74. package/esm2022/lib/components/inputs/input-select/input-select-option/input-select-option.component.mjs +1 -1
  75. package/esm2022/lib/components/inputs/input-select/input-select-template.directive.mjs +1 -1
  76. package/esm2022/lib/components/inputs/input-select/input-select.component.mjs +1 -1
  77. package/esm2022/lib/components/inputs/input-select/input.select.configuration.mjs +1 -1
  78. package/esm2022/lib/components/inputs/input-string/input-string.component.mjs +1 -1
  79. package/esm2022/lib/components/inputs/input-string/input-string.configuration.mjs +1 -1
  80. package/esm2022/lib/components/inputs/input-textarea/input-textarea.component.mjs +1 -1
  81. package/esm2022/lib/components/inputs/input-type.mjs +1 -1
  82. package/esm2022/lib/components/inputs/input-validators.mjs +1 -1
  83. package/esm2022/lib/components/inputs/inputs.module.mjs +1 -1
  84. package/esm2022/lib/components/loading/loading.component.mjs +1 -1
  85. package/esm2022/lib/components/login/login-admin/login-admin.component.mjs +1 -1
  86. package/esm2022/lib/components/login/login.component.mjs +1 -1
  87. package/esm2022/lib/components/main-content/main-content.component.mjs +3 -3
  88. package/esm2022/lib/components/stepper/step/step.component.mjs +1 -1
  89. package/esm2022/lib/components/stepper/stepper.component.mjs +1 -1
  90. package/esm2022/lib/components/stepper/stepper.module.mjs +1 -1
  91. package/esm2022/lib/components/tabs/tab/tab.component.mjs +1 -1
  92. package/esm2022/lib/components/tabs/tabs/tabs.component.mjs +1 -1
  93. package/esm2022/lib/components/tabs/tabs.module.mjs +1 -1
  94. package/esm2022/lib/components/text-tooltip/text-tooltip.component.mjs +1 -1
  95. package/esm2022/lib/components/tooltip/tooltip.component.mjs +1 -1
  96. package/esm2022/lib/core.module.mjs +1 -1
  97. package/esm2022/lib/directives/ng-var.directive.mjs +1 -1
  98. package/esm2022/lib/guards/auth.guard.mjs +1 -1
  99. package/esm2022/lib/guards/error.interceptor.mjs +1 -1
  100. package/esm2022/lib/guards/token.interceptor.mjs +1 -1
  101. package/esm2022/lib/index.mjs +1 -1
  102. package/esm2022/lib/pipes/secure.pipe.mjs +1 -1
  103. package/esm2022/lib/services/auth.service.mjs +1 -1
  104. package/esm2022/lib/services/environment.service.mjs +1 -1
  105. package/esm2022/lib/services/generics.service.mjs +1 -1
  106. package/esm2022/lib/services/route/route.cache.service.mjs +1 -1
  107. package/esm2022/lib/services/route/route.provider.service.mjs +1 -1
  108. package/esm2022/lib/services/usuario.service.mjs +1 -1
  109. package/esm2022/lib/services/utils.service.mjs +1 -1
  110. package/esm2022/lib/services/web/api-url-provider.service.mjs +1 -1
  111. package/esm2022/lib/services/web/http.ativo.service.mjs +1 -1
  112. package/esm2022/lib/services/web/http.service.mjs +21 -27
  113. package/esm2022/lib/services/web/storage.service.mjs +1 -1
  114. package/esm2022/public-api.mjs +1 -1
  115. package/esm2022/sapphire-ion-framework.mjs +1 -1
  116. package/fesm2022/sapphire-ion-framework.mjs +30 -36
  117. package/fesm2022/sapphire-ion-framework.mjs.map +1 -1
  118. package/lib/components/default/default-list/list.d.ts +1 -0
  119. package/lib/services/web/http.service.d.ts +4 -5
  120. package/package.json +1 -1
@@ -777,9 +777,10 @@ class HttpService {
777
777
  }
778
778
  object = obj.value;
779
779
  }
780
- const formData = new FormData();
781
- this.FilesToForm(object, formData);
782
- if (obj instanceof FormGroup && this.hasFileForm && !view) {
780
+ const formData = this.FilesToForm(object);
781
+ formData.append('view', JSON.stringify(object));
782
+ //Check in the case it has a file and the view is not passed
783
+ if (Object.entries(object).find(p => p[1] instanceof File) && this.hasFileForm && !view) {
783
784
  console.error("[ FormGroup contains file, but view isnt passed ]");
784
785
  }
785
786
  else if (view) {
@@ -856,31 +857,24 @@ class HttpService {
856
857
  const path = redirectPath.replace(":id", id.toString());
857
858
  this.navController.navigateRoot([`../${path}`], { relativeTo: activatedRoute });
858
859
  }
859
- FilesToForm(object, formData) {
860
- //TODO FIX
861
- Object.entries(object).forEach((prop) => {
862
- if (this.lstTableFieldsView.find(p => prop[0] == p.index && p.type == InputType.File)) {
863
- const formValue = prop[1];
864
- if (formValue && typeof (formValue) != "string") {
865
- var lstFiles = formValue;
866
- lstFiles.forEach(e => {
867
- if (e instanceof File) {
868
- const file = e;
869
- const name = `file-${formValue.indexOf(file)}-${prop[0]}`;
870
- formData.append(name, e, e.name);
871
- }
872
- else {
873
- var file = e;
874
- const fileToUpload = file.blob;
875
- const name = `file-${formValue.indexOf(file)}-${prop[0]}`;
876
- formData.append(name, fileToUpload, fileToUpload.name);
877
- }
878
- });
879
- object[prop[0]] = "";
860
+ FilesToForm(object, formData = new FormData(), lstTableFieldsView = null) {
861
+ if (!lstTableFieldsView) {
862
+ lstTableFieldsView = this.lstTableFieldsView.filter(p => p.type == InputType.File);
863
+ }
864
+ for (const [key, value] of Object.entries(object)) {
865
+ if (lstTableFieldsView.find(p => p.index == key && p.type == InputType.File)) {
866
+ if (value && typeof (value) != "string") {
867
+ var lstFiles = value;
868
+ for (const fileData of lstFiles) {
869
+ const file = fileData;
870
+ const name = `file-${lstFiles.indexOf(fileData)}-${key}`;
871
+ formData.append(name, fileData, fileData.name);
872
+ }
873
+ object[key] = "";
880
874
  }
881
875
  }
882
- });
883
- formData.append('view', JSON.stringify(object));
876
+ }
877
+ return formData;
884
878
  }
885
879
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HttpService, deps: [{ token: i1.HttpClient }, { token: i1$1.FormBuilder }, { token: GenericService }, { token: i3.NavController }, { token: ApiUrlProviderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
886
880
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HttpService, providedIn: 'root' }); }
@@ -1895,10 +1889,12 @@ class List {
1895
1889
  this.Refresh();
1896
1890
  }
1897
1891
  }
1892
+ /** Carrega os filtros pré-carregados e os filtros compilados */
1898
1893
  async SetFilters() {
1899
1894
  await this.LoadIdComparison();
1900
1895
  const compiled = CompileLstTableField(this.lstTableFields);
1901
1896
  const preloadFilter = this.preloadFilter();
1897
+ // Adiciona os filtros pré-carregados, os filtros compilados e os filtros originais e remove os nulos
1902
1898
  this.frm.filter = [...preloadFilter, ...compiled, ...this.originalFilters].filter(p => p);
1903
1899
  }
1904
1900
  async LoadIdComparison() {
@@ -1920,12 +1916,11 @@ class List {
1920
1916
  try {
1921
1917
  await this.Load();
1922
1918
  }
1923
- finally {
1924
- if (event) {
1925
- event.target.complete();
1926
- }
1927
- this.loading = false;
1919
+ finally { }
1920
+ if (event) {
1921
+ event.target.complete();
1928
1922
  }
1923
+ this.loading = false;
1929
1924
  }
1930
1925
  async Load() {
1931
1926
  var vRetorno;
@@ -1939,9 +1934,8 @@ class List {
1939
1934
  this.lstDados = vRetorno.lstDados;
1940
1935
  this.total = vRetorno.total;
1941
1936
  }
1942
- finally {
1943
- return;
1944
- }
1937
+ finally { }
1938
+ return;
1945
1939
  }
1946
1940
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: List, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1947
1941
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", 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" }, ngImport: i0, template: '', isInline: true, styles: [""] }); }
@@ -5818,11 +5812,11 @@ class MainContentComponent {
5818
5812
  }
5819
5813
  }
5820
5814
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MainContentComponent, deps: [{ token: AuthService }], target: i0.ɵɵFactoryTarget.Component }); }
5821
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MainContentComponent, isStandalone: true, selector: "main-content", inputs: { 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 flex-row-reverse items-center justify-start gap-2\">\r\n <ng-content select=\"[slot=end]\"></ng-content>\r\n \r\n @if (!fullScreen) {\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 <ion-popover #userPopover [dismissOnSelect]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content>\r\n <div class=\"size-full\">\r\n <div class=\"w-full px-3 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 &#64;{{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 px-3 py-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-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>\r\n </div>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n }\r\n\r\n <ion-button (click)=\"FullScreen()\" fill=\"outline\" color=\"dark\" size=\"small\" class=\"size-10 aspect-square\">\r\n <ion-icon slot=\"icon-only\" name=\"expand\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n </ion-card-content>\r\n </ion-card>\r\n </div>\r\n <div class=\"size-full relative p-2 bg-light\">\r\n <div class=\"size-full relative rounded-2xl bg-primary/30 content-shadow overflow-hidden\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>", styles: ["#popover-user{--width: 17rem}.content-shadow{--color: color-mix(in srgb, var(--ion-color-primary) 15%, transparent);box-shadow:0 0 0 1px var(--color),0 6px 10px -4px var(--color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i3.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: i3.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i3.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i3.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i3.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i3.IonMenuButton, selector: "ion-menu-button", inputs: ["autoHide", "color", "disabled", "menu", "mode", "type"] }, { kind: "component", type: i3.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i3.IonPopover, selector: "ion-popover" }, { kind: "directive", type: i3.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"] }] }); }
5815
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MainContentComponent, isStandalone: true, selector: "main-content", inputs: { 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 flex-row-reverse items-center justify-start gap-2\">\r\n <ng-content select=\"[slot=end]\"></ng-content>\r\n \r\n @if (!fullScreen) {\r\n <ion-button (click)=\"userPopover.present($event)\" size=\"small\" class=\"size-10 aspect-square portrait:hidden\">\r\n <span class=\"uppercase text-white\">{{Token ? Token.Nome[0] : ''}}</span>\r\n </ion-button>\r\n <ion-popover #userPopover [dismissOnSelect]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content>\r\n <div class=\"size-full\">\r\n <div class=\"w-full px-3 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 &#64;{{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 px-3 py-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-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>\r\n </div>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n }\r\n\r\n <ion-button (click)=\"FullScreen()\" fill=\"outline\" color=\"dark\" size=\"small\" class=\"size-10 aspect-square\">\r\n <ion-icon slot=\"icon-only\" name=\"expand\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n </ion-card-content>\r\n </ion-card>\r\n </div>\r\n <div class=\"size-full relative p-2 bg-light\">\r\n <div class=\"size-full relative rounded-2xl bg-primary/30 content-shadow overflow-hidden\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>", styles: ["#popover-user{--width: 17rem}.content-shadow{--color: color-mix(in srgb, var(--ion-color-primary) 15%, transparent);box-shadow:0 0 0 1px var(--color),0 6px 10px -4px var(--color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i3.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: i3.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i3.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i3.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i3.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i3.IonMenuButton, selector: "ion-menu-button", inputs: ["autoHide", "color", "disabled", "menu", "mode", "type"] }, { kind: "component", type: i3.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i3.IonPopover, selector: "ion-popover" }, { kind: "directive", type: i3.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"] }] }); }
5822
5816
  }
5823
5817
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MainContentComponent, decorators: [{
5824
5818
  type: Component,
5825
- args: [{ standalone: true, imports: [CommonModule, IonicModule, RouterLinkWithHref], 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 flex-row-reverse items-center justify-start gap-2\">\r\n <ng-content select=\"[slot=end]\"></ng-content>\r\n \r\n @if (!fullScreen) {\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 <ion-popover #userPopover [dismissOnSelect]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content>\r\n <div class=\"size-full\">\r\n <div class=\"w-full px-3 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 &#64;{{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 px-3 py-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-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>\r\n </div>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n }\r\n\r\n <ion-button (click)=\"FullScreen()\" fill=\"outline\" color=\"dark\" size=\"small\" class=\"size-10 aspect-square\">\r\n <ion-icon slot=\"icon-only\" name=\"expand\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n </ion-card-content>\r\n </ion-card>\r\n </div>\r\n <div class=\"size-full relative p-2 bg-light\">\r\n <div class=\"size-full relative rounded-2xl bg-primary/30 content-shadow overflow-hidden\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>", styles: ["#popover-user{--width: 17rem}.content-shadow{--color: color-mix(in srgb, var(--ion-color-primary) 15%, transparent);box-shadow:0 0 0 1px var(--color),0 6px 10px -4px var(--color)}\n"] }]
5819
+ args: [{ standalone: true, imports: [CommonModule, IonicModule, RouterLinkWithHref], 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 flex-row-reverse items-center justify-start gap-2\">\r\n <ng-content select=\"[slot=end]\"></ng-content>\r\n \r\n @if (!fullScreen) {\r\n <ion-button (click)=\"userPopover.present($event)\" size=\"small\" class=\"size-10 aspect-square portrait:hidden\">\r\n <span class=\"uppercase text-white\">{{Token ? Token.Nome[0] : ''}}</span>\r\n </ion-button>\r\n <ion-popover #userPopover [dismissOnSelect]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content>\r\n <div class=\"size-full\">\r\n <div class=\"w-full px-3 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 &#64;{{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 px-3 py-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-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>\r\n </div>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n }\r\n\r\n <ion-button (click)=\"FullScreen()\" fill=\"outline\" color=\"dark\" size=\"small\" class=\"size-10 aspect-square\">\r\n <ion-icon slot=\"icon-only\" name=\"expand\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n </ion-card-content>\r\n </ion-card>\r\n </div>\r\n <div class=\"size-full relative p-2 bg-light\">\r\n <div class=\"size-full relative rounded-2xl bg-primary/30 content-shadow overflow-hidden\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>", styles: ["#popover-user{--width: 17rem}.content-shadow{--color: color-mix(in srgb, var(--ion-color-primary) 15%, transparent);box-shadow:0 0 0 1px var(--color),0 6px 10px -4px var(--color)}\n"] }]
5826
5820
  }], ctorParameters: () => [{ type: AuthService }], propDecorators: { colapsed: [{
5827
5821
  type: Input
5828
5822
  }], drawerComponent: [{