@sapphire-ion/framework 1.2.48 → 1.2.50

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.
@@ -8,7 +8,6 @@ import * as i0 from "@angular/core";
8
8
  import * as i1 from "../../../services/utils.service";
9
9
  import * as i2 from "../../../services/web/storage.service";
10
10
  import * as i3 from "@ionic/angular";
11
- import * as i4 from "../../image/image.component";
12
11
  export class InputFileComponent extends CustomInput {
13
12
  setFocus(event) {
14
13
  if (event) {
@@ -70,14 +69,14 @@ export class InputFileComponent extends CustomInput {
70
69
  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: [
71
70
  ...InputProviderFactory.GetProviders(InputFileComponent),
72
71
  { provide: CustomInput, useExisting: forwardRef(() => InputFileComponent) },
73
- ], 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 (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 <div tabindex=\"0\" class=\"file-label-container text-dark\" [title]=\"valueString\" (click)=\"Upload()\">\r\n <ion-icon class=\"shrink-0\" color=\"dark\" name=\"document\"></ion-icon> \r\n <span class=\"shrink truncate\">\r\n {{valueString}}\r\n </span>\r\n\r\n <ion-button [class.available]=\"value()\" color=\"medium\" class=\"ellipsis-button ml-auto shrink-0\" fill=\"clear\" style=\"--border-radius: .5rem\" size=\"small\" (click)=\"popover.present($event); $event.stopPropagation()\">\r\n <ion-icon name=\"ellipsis-vertical\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n <ion-popover #popover>\r\n <ng-template>\r\n <ion-content>\r\n <div class=\"size-full flex flex-col\">\r\n @if(value()){\r\n <ion-button color=\"danger\"size=\"small\" style=\"--border-radius: 0rem\" (click)=\"Clear($event); popover.dismiss()\">\r\n <ion-icon color=\"dark\" name=\"trash\" slot=\"icon-only\"></ion-icon>\r\n Limpar\r\n </ion-button>\r\n }\r\n @if(isString){\r\n <ion-button color=\"secondary\" size=\"small\" style=\"--border-radius: 0rem\" (click)=\"Download()\">\r\n <ion-icon color=\"dark\" name=\"download\" slot=\"start\"></ion-icon>\r\n Download\r\n </ion-button>\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 </ion-content>\r\n </ng-template>\r\n </ion-popover>\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{padding-right:.25rem!important}.ellipsis-button{opacity:0;pointer-events:none;will-change:opacity;transition:opacity .2s ease-in-out}.ellipsis-button.available{pointer-events:auto;opacity:1}\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: 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.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.IonImg, selector: "ion-img", inputs: ["alt", "src"] }, { kind: "component", type: i3.IonProgressBar, selector: "ion-progress-bar", inputs: ["buffer", "color", "mode", "reversed", "type", "value"] }, { kind: "component", type: i3.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i3.IonPopover, selector: "ion-popover" }, { kind: "component", type: i4.ImageComponent, selector: "image", inputs: ["fill", "object", "src"] }] }); }
72
+ ], 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() || 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 <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 class=\"truncate overflow-hidden text-ellipsis min-w-0 flex-1 shrink\">\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\" fill=\"outline\" color=\"secondary\"size=\"small\" (click)=\"Download()\">\r\n <ion-icon name=\"cloud-download\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n }\r\n <ion-button class=\"rounded-full\" fill=\"outline\" color=\"secondary\" 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}\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: 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.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i3.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }] }); }
74
73
  }
75
74
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputFileComponent, decorators: [{
76
75
  type: Component,
77
76
  args: [{ selector: 'input-file', providers: [
78
77
  ...InputProviderFactory.GetProviders(InputFileComponent),
79
78
  { provide: CustomInput, useExisting: forwardRef(() => InputFileComponent) },
80
- ], 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 <div tabindex=\"0\" class=\"file-label-container text-dark\" [title]=\"valueString\" (click)=\"Upload()\">\r\n <ion-icon class=\"shrink-0\" color=\"dark\" name=\"document\"></ion-icon> \r\n <span class=\"shrink truncate\">\r\n {{valueString}}\r\n </span>\r\n\r\n <ion-button [class.available]=\"value()\" color=\"medium\" class=\"ellipsis-button ml-auto shrink-0\" fill=\"clear\" style=\"--border-radius: .5rem\" size=\"small\" (click)=\"popover.present($event); $event.stopPropagation()\">\r\n <ion-icon name=\"ellipsis-vertical\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n <ion-popover #popover>\r\n <ng-template>\r\n <ion-content>\r\n <div class=\"size-full flex flex-col\">\r\n @if(value()){\r\n <ion-button color=\"danger\"size=\"small\" style=\"--border-radius: 0rem\" (click)=\"Clear($event); popover.dismiss()\">\r\n <ion-icon color=\"dark\" name=\"trash\" slot=\"icon-only\"></ion-icon>\r\n Limpar\r\n </ion-button>\r\n }\r\n @if(isString){\r\n <ion-button color=\"secondary\" size=\"small\" style=\"--border-radius: 0rem\" (click)=\"Download()\">\r\n <ion-icon color=\"dark\" name=\"download\" slot=\"start\"></ion-icon>\r\n Download\r\n </ion-button>\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 </ion-content>\r\n </ng-template>\r\n </ion-popover>\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{padding-right:.25rem!important}.ellipsis-button{opacity:0;pointer-events:none;will-change:opacity;transition:opacity .2s ease-in-out}.ellipsis-button.available{pointer-events:auto;opacity:1}\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"] }]
79
+ ], 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() || 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 <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 class=\"truncate overflow-hidden text-ellipsis min-w-0 flex-1 shrink\">\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\" fill=\"outline\" color=\"secondary\"size=\"small\" (click)=\"Download()\">\r\n <ion-icon name=\"cloud-download\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n }\r\n <ion-button class=\"rounded-full\" fill=\"outline\" color=\"secondary\" 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}\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"] }]
81
80
  }], ctorParameters: () => [{ type: i1.UtilsService }, { type: i2.StorageService }], propDecorators: { inputContainer: [{
82
81
  type: ViewChild,
83
82
  args: ['inputContainer']
@@ -98,4 +97,4 @@ export const lstImage = [
98
97
  'jfif',
99
98
  'avif',
100
99
  ];
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LWZpbGUvaW5wdXQtZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LWZpbGUvaW5wdXQtZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUF1QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7OztBQVl2RSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsV0FBMEI7SUFLdkQsUUFBUSxDQUFDLEtBQXdCO1FBQ3hDLElBQUcsS0FBSyxFQUFDLENBQUM7WUFDUixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsQ0FBQztRQUNELElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRCxZQUNVLFlBQTBCLEVBQzNCLGNBQThCO1FBQ25DLEtBQUssRUFBRSxDQUFDO1FBRkYsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDM0IsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBWnZDLGtCQUFhLEdBQXdDLEtBQUssQ0FBeUIsSUFBSSxzQkFBc0IsRUFBRSxD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O2tCQVY5QixTQUFTOytCQUNFLFlBQVksYUFHWDt3QkFDVCxHQUFHLG9CQUFvQixDQUFDLFlBQVksb0JBQW9CO3dCQUN4RCxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUMsRUFBRTtxQkFDNUU7OEdBTzRCLGNBQWM7c0JBQTFDLFNBQVM7dUJBQUMsZ0JBQWdCOztBQTJEN0IsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFhO0lBQ2hDLEtBQUs7SUFDTCxLQUFLO0lBQ0wsTUFBTTtJQUNOLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsTUFBTTtJQUNOLEtBQUs7SUFDTCxNQUFNO0lBQ04sTUFBTTtJQUNOLE1BQU07SUFDTixNQUFNO0NBQ1AsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgaW5wdXQsIElucHV0U2lnbmFsLCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDdXN0b21JbnB1dCB9IGZyb20gJy4uL2N1c3RvbS1pbnB1dCc7XHJcbmltcG9ydCB7IElucHV0RmlsZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2lucHV0LWZpbGUuY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IElucHV0UHJvdmlkZXJGYWN0b3J5IH0gZnJvbSAnLi4vaW5wdXQtcHJvdmlkZXItZmFjdG9yeSc7XHJcbmltcG9ydCB7IFV0aWxzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3dlYi9zdG9yYWdlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpbnB1dC1maWxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtZmlsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtZmlsZS5jb21wb25lbnQuc2NzcycsICcuLi9pbnB1dHMuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgLi4uSW5wdXRQcm92aWRlckZhY3RvcnkuR2V0UHJvdmlkZXJzKElucHV0RmlsZUNvbXBvbmVudCksXHJcbiAgICB7IHByb3ZpZGU6IEN1c3RvbUlucHV0LCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dEZpbGVDb21wb25lbnQpIH0sXHJcbiAgXSxcclxuICBcclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0RmlsZUNvbXBvbmVudCBleHRlbmRzIEN1c3RvbUlucHV0PEZpbGUgfCBzdHJpbmc+IHtcclxuXHJcbiAgY29uZmlndXJhdGlvbjogSW5wdXRTaWduYWw8SW5wdXRGaWxlQ29uZmlndXJhdGlvbj4gPSBpbnB1dDxJbnB1dEZpbGVDb25maWd1cmF0aW9uPihuZXcgSW5wdXRGaWxlQ29uZmlndXJhdGlvbigpKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRDb250YWluZXInKSBpbnB1dENvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgb3ZlcnJpZGUgc2V0Rm9jdXMoZXZlbnQ6IE1vdXNlRXZlbnQgfCBudWxsKTogdm9pZCB7XHJcbiAgICBpZihldmVudCl7XHJcbiAgICAgIHRoaXMuVXBsb2FkKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlucHV0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB1dGlsc1NlcnZpY2U6IFV0aWxzU2VydmljZSxcclxuICAgIHB1YmxpYyBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2VcclxuICApIHsgc3VwZXIoKTsgfVxyXG5cclxuICB2YWx1ZVN0cmluZzogc3RyaW5nID0gXCJcIjtcclxuICBpc1N0cmluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGlzSW1hZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBvYmplY3RVUkw6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG5cclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZShvYmo6IEZpbGUgfCBzdHJpbmcpOiB2b2lkIHwgUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLnZhbHVlLnNldChvYmopO1xyXG4gICAgdGhpcy5TZXRWYWx1ZVN0cmluZygpO1xyXG4gICAgdGhpcy5ydW5WYWxpZGF0aW9uKCk7XHJcbiAgfVxyXG4gIG92ZXJyaWRlIFNldFZhbHVlKHZhbHVlOiBGaWxlIHwgc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlLnNldCh2YWx1ZSk7XHJcbiAgICB0aGlzLlNldFZhbHVlU3RyaW5nKCk7XHJcbiAgICB0aGlzLnJ1blZhbGlkYXRpb24oKTtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMudmFsdWUoKSk7XHJcbiAgfVxyXG4gIFxyXG4gIFNldFZhbHVlU3RyaW5nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5vYmplY3RVUkwgPSBudWxsO1xyXG4gICAgdGhpcy5pc1N0cmluZyA9IHR5cGVvZiB0aGlzLnZhbHVlKCkgPT0gXCJzdHJpbmdcIjtcclxuICAgIGlmKCF0aGlzLnZhbHVlKCkpIHsgdGhpcy52YWx1ZVN0cmluZyA9IFwiLi4uXCI7IHJldHVybjsgfVxyXG4gICAgdGhpcy52YWx1ZVN0cmluZyA9IHR5cGVvZiB0aGlzLnZhbHVlKCkgPT0gXCJzdHJpbmdcIiA/ICBTdG9yYWdlU2VydmljZS5TYW5pdGl6ZUZpbGVOYW1lKHRoaXMudmFsdWUoKS50b1N0cmluZygpKSA6ICh0aGlzLnZhbHVlKCkgYXMgRmlsZSkubmFtZTtcclxuICAgIFxyXG4gICAgdGhpcy5pc0ltYWdlID0gbHN0SW1hZ2UuaW5jbHVkZXModGhpcy52YWx1ZVN0cmluZy5zcGxpdCgnLicpLmF0KC0xKS50b0xvd2VyQ2FzZSgpKTtcclxuICAgIGlmKHRoaXMuaXNJbWFnZSAmJiAhdGhpcy5pc1N0cmluZyl7XHJcbiAgICAgIHRoaXMub2JqZWN0VVJMID0gVVJMLmNyZWF0ZU9iamVjdFVSTCh0aGlzLnZhbHVlKCkgYXMgRmlsZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBVcGxvYWQoKTogUHJvbWlzZTx2b2lkPntcclxuICAgIHRyeXtcclxuICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy51dGlsc1NlcnZpY2UuU2VsZWN0RmlsZSh0aGlzLmNvbmZpZ3VyYXRpb24oKSk7XHJcbiAgICAgIGlmKHJlcyl7IHRoaXMuU2V0VmFsdWUocmVzKTsgfVxyXG4gICAgfWNhdGNoe31cclxuICB9XHJcblxyXG4gIENsZWFyKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuU2V0VmFsdWUobnVsbCk7XHJcbiAgfVxyXG5cclxuICBEb3dubG9hZCgpOiB2b2lke1xyXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5TdGFydERvd25sb2FkKHRoaXMudmFsdWUoKSBhcyBzdHJpbmcpO1xyXG4gIH1cclxufVxyXG5leHBvcnQgY29uc3QgbHN0SW1hZ2U6IHN0cmluZ1tdID0gW1xyXG4gICdqcGUnLFxyXG4gICdqcGcnLFxyXG4gICdqcGVnJyxcclxuICAnZ2lmJyxcclxuICAncG5nJyxcclxuICAnYm1wJyxcclxuICAnaWNvJyxcclxuICAnc3ZnJyxcclxuICAnc3ZneicsXHJcbiAgJ3RpZicsXHJcbiAgJ3RpZmYnLFxyXG4gICd3ZWJwJyxcclxuICAnamZpZicsXHJcbiAgJ2F2aWYnLFxyXG5dICIsIjxkaXYgXHJcbiAgI2lucHV0Q29udGFpbmVyXHJcbiAgY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIiBcclxuICAoY2xpY2spPVwic2V0Rm9jdXMoJGV2ZW50KVwiXHJcbiAgW2NsYXNzLnJlcXVpcmVkXT1cInJlcXVpcmVkKClcIiBcclxuICBbY2xhc3Muc3VibWl0dGVkXT1cInN1Ym1pdHRlZCgpXCIgXHJcbiAgW2NsYXNzLmludmFsaWRdPVwiaW52YWxpZFwiIFxyXG4gIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZCgpIHx8IGxvYWRpbmcoKVwiXHJcbiAgW2NsYXNzLmxvYWRpbmddPVwibG9hZGluZygpXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJpbnB1dC1sYWJlbFwiPiBcclxuICAgIDxzcGFuIGNsYXNzPVwidHJ1bmNhdGVcIj5cclxuICAgICAge3tsYWJlbCgpfX0gXHJcbiAgICA8L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiB0YWJpbmRleD1cIjBcIiBjbGFzcz1cImZpbGUtbGFiZWwtY29udGFpbmVyIHRleHQtZGFya1wiIFt0aXRsZV09XCJ2YWx1ZVN0cmluZ1wiIChjbGljayk9XCJVcGxvYWQoKVwiPlxyXG4gICAgPGlvbi1pY29uIGNsYXNzPVwic2hyaW5rLTBcIiBjb2xvcj1cImRhcmtcIiBuYW1lPVwiZG9jdW1lbnRcIj48L2lvbi1pY29uPiBcclxuICAgIDxzcGFuIGNsYXNzPVwic2hyaW5rIHRydW5jYXRlXCI+XHJcbiAgICAgIHt7dmFsdWVTdHJpbmd9fVxyXG4gICAgPC9zcGFuPlxyXG5cclxuICAgIDxpb24tYnV0dG9uIFtjbGFzcy5hdmFpbGFibGVdPVwidmFsdWUoKVwiIGNvbG9yPVwibWVkaXVtXCIgY2xhc3M9XCJlbGxpcHNpcy1idXR0b24gbWwtYXV0byBzaHJpbmstMFwiIGZpbGw9XCJjbGVhclwiIHN0eWxlPVwiLS1ib3JkZXItcmFkaXVzOiAuNXJlbVwiIHNpemU9XCJzbWFsbFwiIChjbGljayk9XCJwb3BvdmVyLnByZXNlbnQoJGV2ZW50KTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XHJcbiAgICAgIDxpb24taWNvbiBuYW1lPVwiZWxsaXBzaXMtdmVydGljYWxcIiBzbG90PVwiaWNvbi1vbmx5XCI+PC9pb24taWNvbj5cclxuICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgIDxpb24tcG9wb3ZlciAjcG9wb3Zlcj5cclxuICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxpb24tY29udGVudD5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaXplLWZ1bGwgZmxleCBmbGV4LWNvbFwiPlxyXG4gICAgICAgICAgICBAaWYodmFsdWUoKSl7XHJcbiAgICAgICAgICAgICAgPGlvbi1idXR0b24gY29sb3I9XCJkYW5nZXJcInNpemU9XCJzbWFsbFwiICBzdHlsZT1cIi0tYm9yZGVyLXJhZGl1czogMHJlbVwiIChjbGljayk9XCJDbGVhcigkZXZlbnQpOyBwb3BvdmVyLmRpc21pc3MoKVwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIGNvbG9yPVwiZGFya1wiIG5hbWU9XCJ0cmFzaFwiIHNsb3Q9XCJpY29uLW9ubHlcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICAgICAgTGltcGFyXHJcbiAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZihpc1N0cmluZyl7XHJcbiAgICAgICAgICAgICAgPGlvbi1idXR0b24gY29sb3I9XCJzZWNvbmRhcnlcIiBzaXplPVwic21hbGxcIiBzdHlsZT1cIi0tYm9yZGVyLXJhZGl1czogMHJlbVwiIChjbGljayk9XCJEb3dubG9hZCgpXCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWljb24gY29sb3I9XCJkYXJrXCIgbmFtZT1cImRvd25sb2FkXCIgc2xvdD1cInN0YXJ0XCI+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgICAgIERvd25sb2FkXHJcbiAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIEBpZihzdG9yYWdlU2VydmljZS5HZXRQcm9ncmVzcyh0aGlzLnZhbHVlKCkudG9TdHJpbmcoKSkpe1xyXG4gICAgICAgICAgICAgICAgPGlvbi1wcm9ncmVzcy1iYXIgW3ZhbHVlXT1cInN0b3JhZ2VTZXJ2aWNlLkdldFByb2dyZXNzKHRoaXMudmFsdWUoKS50b1N0cmluZygpKVwiPjwvaW9uLXByb2dyZXNzLWJhcj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgQGlmKGlzSW1hZ2Upe1xyXG4gICAgICAgICAgICAgICAgPGltYWdlIGZpbGw9XCJjbGVhclwiIFtzcmNdPVwidmFsdWUoKS50b1N0cmluZygpXCI+PC9pbWFnZT5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGVsc2UgaWYoaXNJbWFnZSl7XHJcbiAgICAgICAgICAgICAgPGlvbi1pbWcgW3NyY109XCJvYmplY3RVUkxcIiBjbGFzcz1cInctZnVsbCBoLTMyXCI+PC9pb24taW1nPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2lvbi1jb250ZW50PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9pb24tcG9wb3Zlcj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImxvYWRpbmctY29udGFpbmVyXCIgW2NsYXNzLmxvYWRpbmddPVwibG9hZGluZygpXCI+XHJcbiAgICA8aW9uLXNwaW5uZXI+PC9pb24tc3Bpbm5lcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+Il19
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LWZpbGUvaW5wdXQtZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LWZpbGUvaW5wdXQtZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUF1QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7O0FBWXZFLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxXQUEwQjtJQUt2RCxRQUFRLENBQUMsS0FBd0I7UUFDeEMsSUFBRyxLQUFLLEVBQUMsQ0FBQztZQUNSLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQixDQUFDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELFlBQ1UsWUFBMEIsRUFDM0IsY0FBOEI7UUFDbkMsS0FBSyxFQUFFLENBQUM7UUFGRixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMzQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFadkMsa0JBQWEsR0FBd0MsS0FBSyxDQUF5QixJQUFJLHNCQUFzQixFQUFFLENB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a0JBVjlCLFNBQVM7K0JBQ0UsWUFBWSxhQUdYO3dCQUNULEdBQUcsb0JBQW9CLENBQUMsWUFBWSxvQkFBb0I7d0JBQ3hELEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQyxFQUFFO3FCQUM1RTs4R0FPNEIsY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0I7O0FBNEQ3QixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWE7SUFDaEMsS0FBSztJQUNMLEtBQUs7SUFDTCxNQUFNO0lBQ04sS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxNQUFNO0lBQ04sS0FBSztJQUNMLE1BQU07SUFDTixNQUFNO0lBQ04sTUFBTTtJQUNOLE1BQU07Q0FDUCxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBpbnB1dCwgSW5wdXRTaWduYWwsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEN1c3RvbUlucHV0IH0gZnJvbSAnLi4vY3VzdG9tLWlucHV0JztcclxuaW1wb3J0IHsgSW5wdXRGaWxlQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vaW5wdXQtZmlsZS5jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgSW5wdXRQcm92aWRlckZhY3RvcnkgfSBmcm9tICcuLi9pbnB1dC1wcm92aWRlci1mYWN0b3J5JztcclxuaW1wb3J0IHsgVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMuc2VydmljZSc7XHJcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvd2ViL3N0b3JhZ2Uuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lucHV0LWZpbGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1maWxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC1maWxlLmNvbXBvbmVudC5zY3NzJywgJy4uL2lucHV0cy5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICAuLi5JbnB1dFByb3ZpZGVyRmFjdG9yeS5HZXRQcm92aWRlcnMoSW5wdXRGaWxlQ29tcG9uZW50KSxcclxuICAgIHsgcHJvdmlkZTogQ3VzdG9tSW5wdXQsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElucHV0RmlsZUNvbXBvbmVudCkgfSxcclxuICBdLFxyXG4gIFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRGaWxlQ29tcG9uZW50IGV4dGVuZHMgQ3VzdG9tSW5wdXQ8RmlsZSB8IHN0cmluZz4ge1xyXG5cclxuICBjb25maWd1cmF0aW9uOiBJbnB1dFNpZ25hbDxJbnB1dEZpbGVDb25maWd1cmF0aW9uPiA9IGlucHV0PElucHV0RmlsZUNvbmZpZ3VyYXRpb24+KG5ldyBJbnB1dEZpbGVDb25maWd1cmF0aW9uKCkpO1xyXG5cclxuICBAVmlld0NoaWxkKCdpbnB1dENvbnRhaW5lcicpIGlucHV0Q29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICBvdmVycmlkZSBzZXRGb2N1cyhldmVudDogTW91c2VFdmVudCB8IG51bGwpOiB2b2lkIHtcclxuICAgIGlmKGV2ZW50KXtcclxuICAgICAgdGhpcy5VcGxvYWQoKTtcclxuICAgIH1cclxuICAgIHRoaXMuaW5wdXRDb250YWluZXIubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHV0aWxzU2VydmljZTogVXRpbHNTZXJ2aWNlLFxyXG4gICAgcHVibGljIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZVxyXG4gICkgeyBzdXBlcigpOyB9XHJcblxyXG4gIHZhbHVlU3RyaW5nOiBzdHJpbmcgPSBcIlwiO1xyXG4gIGlzU3RyaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNJbWFnZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIG9iamVjdFVSTDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcblxyXG5cclxuICBvdmVycmlkZSB3cml0ZVZhbHVlKG9iajogRmlsZSB8IHN0cmluZyk6IHZvaWQgfCBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMudmFsdWUuc2V0KG9iaik7XHJcbiAgICB0aGlzLlNldFZhbHVlU3RyaW5nKCk7XHJcbiAgICB0aGlzLnJ1blZhbGlkYXRpb24oKTtcclxuICB9XHJcbiAgb3ZlcnJpZGUgU2V0VmFsdWUodmFsdWU6IEZpbGUgfCBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUuc2V0KHZhbHVlKTtcclxuICAgIHRoaXMuU2V0VmFsdWVTdHJpbmcoKTtcclxuICAgIHRoaXMucnVuVmFsaWRhdGlvbigpO1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZSgpKTtcclxuICB9XHJcbiAgXHJcbiAgU2V0VmFsdWVTdHJpbmcoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9iamVjdFVSTCA9IG51bGw7XHJcbiAgICB0aGlzLmlzU3RyaW5nID0gdHlwZW9mIHRoaXMudmFsdWUoKSA9PSBcInN0cmluZ1wiO1xyXG4gICAgaWYoIXRoaXMudmFsdWUoKSkgeyB0aGlzLnZhbHVlU3RyaW5nID0gXCIuLi5cIjsgcmV0dXJuOyB9XHJcbiAgICB0aGlzLnZhbHVlU3RyaW5nID0gdHlwZW9mIHRoaXMudmFsdWUoKSA9PSBcInN0cmluZ1wiID8gIFN0b3JhZ2VTZXJ2aWNlLlNhbml0aXplRmlsZU5hbWUodGhpcy52YWx1ZSgpLnRvU3RyaW5nKCkpIDogKHRoaXMudmFsdWUoKSBhcyBGaWxlKS5uYW1lO1xyXG4gICAgXHJcbiAgICB0aGlzLmlzSW1hZ2UgPSBsc3RJbWFnZS5pbmNsdWRlcyh0aGlzLnZhbHVlU3RyaW5nLnNwbGl0KCcuJykuYXQoLTEpLnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgaWYodGhpcy5pc0ltYWdlICYmICF0aGlzLmlzU3RyaW5nKXtcclxuICAgICAgdGhpcy5vYmplY3RVUkwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKHRoaXMudmFsdWUoKSBhcyBGaWxlKTtcclxuICAgICAgXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBVcGxvYWQoKTogUHJvbWlzZTx2b2lkPntcclxuICAgIHRyeXtcclxuICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy51dGlsc1NlcnZpY2UuU2VsZWN0RmlsZSh0aGlzLmNvbmZpZ3VyYXRpb24oKSk7XHJcbiAgICAgIGlmKHJlcyl7IHRoaXMuU2V0VmFsdWUocmVzKTsgfVxyXG4gICAgfWNhdGNoe31cclxuICB9XHJcbicnXHJcbiAgQ2xlYXIoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5TZXRWYWx1ZShudWxsKTtcclxuICB9XHJcblxyXG4gIERvd25sb2FkKCk6IHZvaWR7XHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLlN0YXJ0RG93bmxvYWQodGhpcy52YWx1ZSgpIGFzIHN0cmluZyk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBsc3RJbWFnZTogc3RyaW5nW10gPSBbXHJcbiAgJ2pwZScsXHJcbiAgJ2pwZycsXHJcbiAgJ2pwZWcnLFxyXG4gICdnaWYnLFxyXG4gICdwbmcnLFxyXG4gICdibXAnLFxyXG4gICdpY28nLFxyXG4gICdzdmcnLFxyXG4gICdzdmd6JyxcclxuICAndGlmJyxcclxuICAndGlmZicsXHJcbiAgJ3dlYnAnLFxyXG4gICdqZmlmJyxcclxuICAnYXZpZicsXHJcbl0gIiwiPGRpdiBcclxuICAjaW5wdXRDb250YWluZXJcclxuICBjbGFzcz1cImlucHV0LWNvbnRhaW5lclwiIFxyXG4gIFxyXG4gIFtjbGFzcy5yZXF1aXJlZF09XCJyZXF1aXJlZCgpXCIgXHJcbiAgW2NsYXNzLnN1Ym1pdHRlZF09XCJzdWJtaXR0ZWQoKVwiIFxyXG4gIFtjbGFzcy5pbnZhbGlkXT1cImludmFsaWRcIiBcclxuICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWQoKSB8fCBsb2FkaW5nKClcIlxyXG4gIFtjbGFzcy5sb2FkaW5nXT1cImxvYWRpbmcoKVwiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtbGFiZWxcIj4gXHJcbiAgICA8c3BhbiBjbGFzcz1cInRydW5jYXRlXCI+XHJcbiAgICAgIHt7bGFiZWwoKX19IFxyXG4gICAgPC9zcGFuPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgdGFiaW5kZXg9XCIwXCIgY2xhc3M9XCJmaWxlLWxhYmVsLWNvbnRhaW5lciB0ZXh0LWRhcmsgIXBiLTFcIj5cclxuICAgICA8aW9uLWljb24gY2xhc3M9XCJzaHJpbmstMFwiIGNvbG9yPVwiZGFya1wiIG5hbWU9XCJkb2N1bWVudFwiPjwvaW9uLWljb24+IFxyXG4gICAgIDxzcGFuIGNsYXNzPVwidHJ1bmNhdGUgb3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMgbWluLXctMCBmbGV4LTEgc2hyaW5rXCI+XHJcbiAgICAgIHt7IHZhbHVlU3RyaW5nIH19XHJcbiAgICA8L3NwYW4+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInNpemUtZnVsbCBmbGV4IGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciBnYXAtMSBzaHJpbmstMCB3LWZpdFwiPlxyXG4gICAgICBAaWYodmFsdWUoKSl7XHJcbiAgICAgICAgPGlvbi1idXR0b24gY2xhc3M9XCJyb3VuZGVkLWZ1bGxcIiBmaWxsPVwib3V0bGluZVwiIGNvbG9yPVwiZGFuZ2VyXCIgc2l6ZT1cInNtYWxsXCIgICAoY2xpY2spPVwiQ2xlYXIoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJ0cmFzaFwiIHNsb3Q9XCJpY29uLW9ubHlcIj48L2lvbi1pY29uPlxyXG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgfVxyXG4gICAgICBAaWYoaXNTdHJpbmcpIHtcclxuICAgICAgICA8aW9uLWJ1dHRvbiBjbGFzcz1cInJvdW5kZWQtZnVsbFwiIGZpbGw9XCJvdXRsaW5lXCIgY29sb3I9XCJzZWNvbmRhcnlcInNpemU9XCJzbWFsbFwiICAgKGNsaWNrKT1cIkRvd25sb2FkKClcIj5cclxuICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2xvdWQtZG93bmxvYWRcIiBzbG90PVwiaWNvbi1vbmx5XCI+PC9pb24taWNvbj5cclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgIH1cclxuICAgICAgPGlvbi1idXR0b24gY2xhc3M9XCJyb3VuZGVkLWZ1bGxcIiBmaWxsPVwib3V0bGluZVwiIGNvbG9yPVwic2Vjb25kYXJ5XCIgc2l6ZT1cInNtYWxsXCIgIChjbGljayk9XCJVcGxvYWQoKVwiPlxyXG4gICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNsb3VkLXVwbG9hZFwiPjwvaW9uLWljb24+XHJcbiAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgPCEtLSBAaWYoaXNTdHJpbmcpe1xyXG4gICAgICAgICAgICAgIEBpZihzdG9yYWdlU2VydmljZS5HZXRQcm9ncmVzcyh0aGlzLnZhbHVlKCkudG9TdHJpbmcoKSkpe1xyXG4gICAgICAgICAgICAgICAgPGlvbi1wcm9ncmVzcy1iYXIgW3ZhbHVlXT1cInN0b3JhZ2VTZXJ2aWNlLkdldFByb2dyZXNzKHRoaXMudmFsdWUoKS50b1N0cmluZygpKVwiPjwvaW9uLXByb2dyZXNzLWJhcj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgQGlmKGlzSW1hZ2Upe1xyXG4gICAgICAgICAgICAgICAgPGltYWdlIGZpbGw9XCJjbGVhclwiIFtzcmNdPVwidmFsdWUoKS50b1N0cmluZygpXCI+PC9pbWFnZT5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGVsc2UgaWYoaXNJbWFnZSl7XHJcbiAgICAgICAgICAgICAgPGlvbi1pbWcgW3NyY109XCJvYmplY3RVUkxcIiBjbGFzcz1cInctZnVsbCBoLTMyXCI+PC9pb24taW1nPlxyXG4gICAgICAgICAgICB9IC0tPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwibG9hZGluZy1jb250YWluZXJcIiBbY2xhc3MubG9hZGluZ109XCJsb2FkaW5nKClcIj5cclxuICAgIDxpb24tc3Bpbm5lcj48L2lvbi1zcGlubmVyPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -5350,14 +5350,14 @@ class InputFileComponent extends CustomInput {
5350
5350
  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: [
5351
5351
  ...InputProviderFactory.GetProviders(InputFileComponent),
5352
5352
  { provide: CustomInput, useExisting: forwardRef(() => InputFileComponent) },
5353
- ], 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 (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 <div tabindex=\"0\" class=\"file-label-container text-dark\" [title]=\"valueString\" (click)=\"Upload()\">\r\n <ion-icon class=\"shrink-0\" color=\"dark\" name=\"document\"></ion-icon> \r\n <span class=\"shrink truncate\">\r\n {{valueString}}\r\n </span>\r\n\r\n <ion-button [class.available]=\"value()\" color=\"medium\" class=\"ellipsis-button ml-auto shrink-0\" fill=\"clear\" style=\"--border-radius: .5rem\" size=\"small\" (click)=\"popover.present($event); $event.stopPropagation()\">\r\n <ion-icon name=\"ellipsis-vertical\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n <ion-popover #popover>\r\n <ng-template>\r\n <ion-content>\r\n <div class=\"size-full flex flex-col\">\r\n @if(value()){\r\n <ion-button color=\"danger\"size=\"small\" style=\"--border-radius: 0rem\" (click)=\"Clear($event); popover.dismiss()\">\r\n <ion-icon color=\"dark\" name=\"trash\" slot=\"icon-only\"></ion-icon>\r\n Limpar\r\n </ion-button>\r\n }\r\n @if(isString){\r\n <ion-button color=\"secondary\" size=\"small\" style=\"--border-radius: 0rem\" (click)=\"Download()\">\r\n <ion-icon color=\"dark\" name=\"download\" slot=\"start\"></ion-icon>\r\n Download\r\n </ion-button>\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 </ion-content>\r\n </ng-template>\r\n </ion-popover>\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{padding-right:.25rem!important}.ellipsis-button{opacity:0;pointer-events:none;will-change:opacity;transition:opacity .2s ease-in-out}.ellipsis-button.available{pointer-events:auto;opacity:1}\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.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.IonProgressBar, selector: "ion-progress-bar", inputs: ["buffer", "color", "mode", "reversed", "type", "value"] }, { kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i1.IonPopover, selector: "ion-popover" }, { kind: "component", type: ImageComponent, selector: "image", inputs: ["fill", "object", "src"] }] }); }
5353
+ ], 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() || 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 <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 class=\"truncate overflow-hidden text-ellipsis min-w-0 flex-1 shrink\">\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\" fill=\"outline\" color=\"secondary\"size=\"small\" (click)=\"Download()\">\r\n <ion-icon name=\"cloud-download\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n }\r\n <ion-button class=\"rounded-full\" fill=\"outline\" color=\"secondary\" 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}\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"] }] }); }
5354
5354
  }
5355
5355
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputFileComponent, decorators: [{
5356
5356
  type: Component,
5357
5357
  args: [{ selector: 'input-file', providers: [
5358
5358
  ...InputProviderFactory.GetProviders(InputFileComponent),
5359
5359
  { provide: CustomInput, useExisting: forwardRef(() => InputFileComponent) },
5360
- ], 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 <div tabindex=\"0\" class=\"file-label-container text-dark\" [title]=\"valueString\" (click)=\"Upload()\">\r\n <ion-icon class=\"shrink-0\" color=\"dark\" name=\"document\"></ion-icon> \r\n <span class=\"shrink truncate\">\r\n {{valueString}}\r\n </span>\r\n\r\n <ion-button [class.available]=\"value()\" color=\"medium\" class=\"ellipsis-button ml-auto shrink-0\" fill=\"clear\" style=\"--border-radius: .5rem\" size=\"small\" (click)=\"popover.present($event); $event.stopPropagation()\">\r\n <ion-icon name=\"ellipsis-vertical\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n <ion-popover #popover>\r\n <ng-template>\r\n <ion-content>\r\n <div class=\"size-full flex flex-col\">\r\n @if(value()){\r\n <ion-button color=\"danger\"size=\"small\" style=\"--border-radius: 0rem\" (click)=\"Clear($event); popover.dismiss()\">\r\n <ion-icon color=\"dark\" name=\"trash\" slot=\"icon-only\"></ion-icon>\r\n Limpar\r\n </ion-button>\r\n }\r\n @if(isString){\r\n <ion-button color=\"secondary\" size=\"small\" style=\"--border-radius: 0rem\" (click)=\"Download()\">\r\n <ion-icon color=\"dark\" name=\"download\" slot=\"start\"></ion-icon>\r\n Download\r\n </ion-button>\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 </ion-content>\r\n </ng-template>\r\n </ion-popover>\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{padding-right:.25rem!important}.ellipsis-button{opacity:0;pointer-events:none;will-change:opacity;transition:opacity .2s ease-in-out}.ellipsis-button.available{pointer-events:auto;opacity:1}\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"] }]
5360
+ ], 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() || 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 <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 class=\"truncate overflow-hidden text-ellipsis min-w-0 flex-1 shrink\">\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\" fill=\"outline\" color=\"secondary\"size=\"small\" (click)=\"Download()\">\r\n <ion-icon name=\"cloud-download\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n }\r\n <ion-button class=\"rounded-full\" fill=\"outline\" color=\"secondary\" 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}\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"] }]
5361
5361
  }], ctorParameters: () => [{ type: UtilsService }, { type: StorageService }], propDecorators: { inputContainer: [{
5362
5362
  type: ViewChild,
5363
5363
  args: ['inputContainer']