@sapphire-ion/framework 1.0.17 → 1.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/classes/inputs/table-field-form-builder.mjs +1 -1
- package/esm2022/lib/components/default/default-list/abstract-list.mjs +1 -1
- package/esm2022/lib/components/default/default-list/default-list.component.mjs +4 -4
- package/esm2022/lib/components/default/default-list/header-list/header-list.component.mjs +1 -1
- package/esm2022/lib/components/default/default-list/list.mjs +1 -1
- package/esm2022/lib/components/default/default-pagination/default-pagination.component.mjs +5 -5
- package/esm2022/lib/components/default/default-table/default-table.component.mjs +161 -163
- package/esm2022/lib/components/default/default-table/th-filter/th-filter.component.mjs +3 -3
- package/esm2022/lib/components/default/default-view/abstract-view.mjs +1 -1
- package/esm2022/lib/components/default/default-view/default-view.component.mjs +3 -3
- package/esm2022/lib/components/default/default-view/view.mjs +19 -6
- package/esm2022/lib/components/default-page/default.page.mjs +3 -3
- package/esm2022/lib/components/drawer/drawer-group/drawer-group.component.mjs +3 -3
- package/esm2022/lib/components/drawer/drawer.component.mjs +5 -5
- package/esm2022/lib/components/filter/filter.component.mjs +8 -3
- package/esm2022/lib/components/inputs/custom-input.mjs +1 -1
- package/esm2022/lib/components/inputs/input-bool/input-bool.component.mjs +11 -5
- package/esm2022/lib/components/inputs/input-cep/input-cep.component.mjs +19 -10
- package/esm2022/lib/components/inputs/input-color/input-color.component.mjs +15 -8
- package/esm2022/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.mjs +46 -15
- package/esm2022/lib/components/inputs/input-date/input-date.component.mjs +12 -6
- package/esm2022/lib/components/inputs/input-decimal/input-decimal.component.mjs +11 -5
- package/esm2022/lib/components/inputs/input-file/input-file.component.mjs +14 -6
- package/esm2022/lib/components/inputs/input-icon/input-icon.component.mjs +12 -6
- package/esm2022/lib/components/inputs/input-select/directives/sion-label-template.directive.mjs +1 -1
- package/esm2022/lib/components/inputs/input-select/directives/sion-option-template.directive.mjs +1 -3
- package/esm2022/lib/components/inputs/input-select/directives/sion-placeholder-template.directive.mjs +1 -1
- package/esm2022/lib/components/inputs/input-select/input-select.component.mjs +13 -5
- package/esm2022/lib/components/inputs/input-select/input.select.configuration.mjs +5 -5
- package/esm2022/lib/components/inputs/input-string/input-string.component.mjs +12 -6
- package/esm2022/lib/components/inputs/input-telefone/input-telefone.component.mjs +22 -11
- package/esm2022/lib/components/inputs/input-textarea/input-textarea.component.mjs +12 -6
- package/esm2022/lib/components/login/login-admin/login-admin.component.mjs +2 -2
- package/esm2022/lib/components/login/login.component.mjs +4 -4
- package/esm2022/lib/components/popover/sion-popover/sion-popover.component.mjs +15 -4
- package/esm2022/lib/components/sion-card/sion-card.component.mjs +26 -0
- package/esm2022/lib/components/stepper/stepper.component.mjs +4 -4
- package/esm2022/lib/guards/error.interceptor.mjs +3 -3
- package/esm2022/lib/index.mjs +4 -2
- package/esm2022/lib/services/generic.service.mjs +84 -0
- package/esm2022/lib/services/usuario.service.mjs +3 -3
- package/esm2022/lib/services/web/http.ativo.service.mjs +4 -22
- package/esm2022/lib/services/web/http.service.mjs +26 -15
- package/esm2022/lib/services/web/storage.service.mjs +3 -3
- package/fesm2022/sapphire-ion-framework.mjs +662 -510
- package/fesm2022/sapphire-ion-framework.mjs.map +1 -1
- package/lib/classes/inputs/table-field-form-builder.d.ts +1 -1
- package/lib/components/default/default-list/abstract-list.d.ts +1 -1
- package/lib/components/default/default-list/default-list.component.d.ts +1 -1
- package/lib/components/default/default-list/list.d.ts +1 -1
- package/lib/components/default/default-pagination/default-pagination.component.d.ts +1 -1
- package/lib/components/default/default-table/default-table.component.d.ts +60 -44
- package/lib/components/default/default-view/abstract-view.d.ts +1 -1
- package/lib/components/default/default-view/default-view.component.d.ts +1 -1
- package/lib/components/default/default-view/view.d.ts +5 -2
- package/lib/components/default-page/default.page.d.ts +1 -1
- package/lib/components/drawer/drawer-group/drawer-group.component.d.ts +1 -1
- package/lib/components/drawer/drawer.component.d.ts +1 -1
- package/lib/components/inputs/custom-input.d.ts +1 -1
- package/lib/components/inputs/input-bool/input-bool.component.d.ts +1 -1
- package/lib/components/inputs/input-cep/input-cep.component.d.ts +3 -3
- package/lib/components/inputs/input-color/input-color.component.d.ts +2 -2
- package/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.d.ts +3 -4
- package/lib/components/inputs/input-date/input-date.component.d.ts +1 -1
- package/lib/components/inputs/input-decimal/input-decimal.component.d.ts +1 -1
- package/lib/components/inputs/input-file/input-file.component.d.ts +1 -1
- package/lib/components/inputs/input-icon/input-icon.component.d.ts +1 -1
- package/lib/components/inputs/input-select/directives/sion-label-template.directive.d.ts +6 -0
- package/lib/components/inputs/input-select/directives/sion-option-template.directive.d.ts +4 -1
- package/lib/components/inputs/input-select/directives/sion-placeholder-template.directive.d.ts +8 -2
- package/lib/components/inputs/input-select/input-select.component.d.ts +1 -1
- package/lib/components/inputs/input-select/input.select.configuration.d.ts +1 -1
- package/lib/components/inputs/input-string/input-string.component.d.ts +1 -1
- package/lib/components/inputs/input-telefone/input-telefone.component.d.ts +2 -1
- package/lib/components/inputs/input-textarea/input-textarea.component.d.ts +1 -1
- package/lib/components/login/login.component.d.ts +1 -1
- package/lib/components/popover/sion-popover/sion-popover.component.d.ts +1 -0
- package/lib/components/sion-card/sion-card.component.d.ts +11 -0
- package/lib/components/stepper/stepper.component.d.ts +2 -2
- package/lib/guards/error.interceptor.d.ts +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/services/usuario.service.d.ts +1 -1
- package/lib/services/web/http.ativo.service.d.ts +1 -12
- package/lib/services/web/http.service.d.ts +16 -7
- package/lib/services/web/storage.service.d.ts +1 -1
- package/package.json +5 -5
- package/themes/compiled-styles.scss +17 -6
- package/themes/components/default/default-pagination/default-pagination.component.scss +1 -4
- package/themes/components/default/default-table/default-table.component.scss +3 -19
- package/themes/components/inputs/inputs.scss +1 -1
- package/themes/components/popover/sion-popover/sion-popover.component.scss +1 -1
- package/themes/components/sion-card/sion-card.component.scss +0 -0
- package/themes/styles/core.styles.scss +16 -12
- package/themes/styles/login-default.scss +1 -1
- package/themes/styles/styles.scss +1 -1
- package/esm2022/lib/components/inputs/input-cep/input-cep.configuration.mjs +0 -6
- package/esm2022/lib/services/generics.service.mjs +0 -84
- package/lib/components/inputs/input-cep/input-cep.configuration.d.ts +0 -5
- /package/lib/services/{generics.service.d.ts → generic.service.d.ts} +0 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Component, ElementRef, model, ViewChild } from '@angular/core';
|
|
1
|
+
import { Component, ElementRef, forwardRef, model, ViewChild } from '@angular/core';
|
|
2
|
+
import { maskitoTransform } from '@maskito/core';
|
|
2
3
|
import { CustomInput } from '../custom-input';
|
|
3
4
|
import { InputCpfCnpjConfiguration } from './input-cpf-cnpj.configuration';
|
|
4
5
|
import { InputProviderFactory } from '../input-provider-factory';
|
|
@@ -7,8 +8,8 @@ import * as i1 from "@ionic/angular";
|
|
|
7
8
|
import * as i2 from "@angular/forms";
|
|
8
9
|
import * as i3 from "@maskito/angular";
|
|
9
10
|
export class InputCpfCnpjComponent extends CustomInput {
|
|
10
|
-
|
|
11
|
-
if (this.input && event.target == this.inputContainer.nativeElement) {
|
|
11
|
+
setFocus(event) {
|
|
12
|
+
if (this.input && (event == null || event.target == this.inputContainer.nativeElement)) {
|
|
12
13
|
this.input.nativeElement.focus();
|
|
13
14
|
}
|
|
14
15
|
}
|
|
@@ -16,34 +17,32 @@ export class InputCpfCnpjComponent extends CustomInput {
|
|
|
16
17
|
super();
|
|
17
18
|
this.elementRef = elementRef;
|
|
18
19
|
this.configuration = model(new InputCpfCnpjConfiguration());
|
|
19
|
-
this.cpfMask = [/\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, '-', /\d/, /\d/];
|
|
20
|
-
this.cnpjMask = [/\d/, /\d/, '.', /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/, '-', /\d/, /\d/];
|
|
21
20
|
this.mask = {
|
|
22
21
|
mask: (elementState) => {
|
|
23
22
|
if (this.configuration().type == 'CPFCNPJ') {
|
|
24
23
|
if (!elementState.value) {
|
|
25
|
-
return
|
|
24
|
+
return cpfMask;
|
|
26
25
|
}
|
|
27
26
|
else {
|
|
28
27
|
if (elementState.value.includes('.')) {
|
|
29
28
|
if (elementState.value.length <= 14) {
|
|
30
|
-
return
|
|
29
|
+
return cpfMask;
|
|
31
30
|
}
|
|
32
|
-
return
|
|
31
|
+
return cnpjMask;
|
|
33
32
|
}
|
|
34
33
|
else {
|
|
35
34
|
if (elementState.value.length <= 11) {
|
|
36
|
-
return
|
|
35
|
+
return cpfMask;
|
|
37
36
|
}
|
|
38
|
-
return
|
|
37
|
+
return cnpjMask;
|
|
39
38
|
}
|
|
40
39
|
}
|
|
41
40
|
}
|
|
42
41
|
if (this.configuration().type == 'CNPJ') {
|
|
43
|
-
return
|
|
42
|
+
return cnpjMask;
|
|
44
43
|
}
|
|
45
44
|
if (this.configuration().type == 'CPF') {
|
|
46
|
-
return
|
|
45
|
+
return cpfMask;
|
|
47
46
|
}
|
|
48
47
|
},
|
|
49
48
|
};
|
|
@@ -70,11 +69,17 @@ export class InputCpfCnpjComponent extends CustomInput {
|
|
|
70
69
|
this.propagateChange(obj.replaceAll('.', '').replaceAll('-', '').replaceAll('/', ''));
|
|
71
70
|
}
|
|
72
71
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputCpfCnpjComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
73
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: InputCpfCnpjComponent, selector: "input-cpf-cnpj, input-cpf, input-cnpj", inputs: { configuration: { classPropertyName: "configuration", publicName: "configuration", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { configuration: "configurationChange" }, providers: [
|
|
72
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: InputCpfCnpjComponent, selector: "input-cpf-cnpj, input-cpf, input-cnpj", inputs: { configuration: { classPropertyName: "configuration", publicName: "configuration", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { configuration: "configurationChange" }, providers: [
|
|
73
|
+
...InputProviderFactory.GetProviders(InputCpfCnpjComponent),
|
|
74
|
+
{ provide: CustomInput, useExisting: forwardRef(() => InputCpfCnpjComponent) },
|
|
75
|
+
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "inputContainer", first: true, predicate: ["inputContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"setFocus($event)\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"disabled() || loading()\"\r\n [class.loading]=\"loading()\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n <input #input\r\n [ngModel]=\"value()\" \r\n [maskito]=\"mask\"\r\n inputmode=\"numeric\"\r\n [type]=\"'text'\" \r\n (ngModelChange)=\"SetValue($event)\"\r\n [disabled]=\"disabled() || loading()\"\r\n />\r\n <div class=\"loading-container\" [class.loading]=\"loading()\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n</div>", styles: ["", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:auto;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"], dependencies: [{ kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }] }); }
|
|
74
76
|
}
|
|
75
77
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputCpfCnpjComponent, decorators: [{
|
|
76
78
|
type: Component,
|
|
77
|
-
args: [{ selector: 'input-cpf-cnpj, input-cpf, input-cnpj', providers: [
|
|
79
|
+
args: [{ selector: 'input-cpf-cnpj, input-cpf, input-cnpj', providers: [
|
|
80
|
+
...InputProviderFactory.GetProviders(InputCpfCnpjComponent),
|
|
81
|
+
{ provide: CustomInput, useExisting: forwardRef(() => InputCpfCnpjComponent) },
|
|
82
|
+
], template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"setFocus($event)\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"disabled() || loading()\"\r\n [class.loading]=\"loading()\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n <input #input\r\n [ngModel]=\"value()\" \r\n [maskito]=\"mask\"\r\n inputmode=\"numeric\"\r\n [type]=\"'text'\" \r\n (ngModelChange)=\"SetValue($event)\"\r\n [disabled]=\"disabled() || loading()\"\r\n />\r\n <div class=\"loading-container\" [class.loading]=\"loading()\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n</div>", styles: ["@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:auto;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"] }]
|
|
78
83
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { input: [{
|
|
79
84
|
type: ViewChild,
|
|
80
85
|
args: ['input']
|
|
@@ -82,4 +87,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
82
87
|
type: ViewChild,
|
|
83
88
|
args: ['inputContainer']
|
|
84
89
|
}] } });
|
|
85
|
-
|
|
90
|
+
const cpfMask = [/\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, '-', /\d/, /\d/];
|
|
91
|
+
const cnpjMask = [/\d/, /\d/, '.', /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/, '-', /\d/, /\d/];
|
|
92
|
+
const cpfCnpjMask = {
|
|
93
|
+
mask: (elementState) => {
|
|
94
|
+
if (!elementState.value) {
|
|
95
|
+
return cpfMask;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
if (elementState.value.includes('.')) {
|
|
99
|
+
if (elementState.value.length <= 14) {
|
|
100
|
+
return cpfMask;
|
|
101
|
+
}
|
|
102
|
+
return cnpjMask;
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
if (elementState.value.length <= 11) {
|
|
106
|
+
return cpfMask;
|
|
107
|
+
}
|
|
108
|
+
return cnpjMask;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
export function FormatCpfCnpj(value) {
|
|
114
|
+
return maskitoTransform(value, cpfCnpjMask);
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY3BmLWNucGouY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2lucHV0cy9pbnB1dC1jcGYtY25wai9pbnB1dC1jcGYtY25wai5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LWNwZi1jbnBqL2lucHV0LWNwZi1jbnBqLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQWUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBeUMsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztBQVdqRSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsV0FBbUI7SUFNbkQsUUFBUSxDQUFDLEtBQXdCO1FBQ3hDLElBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUFDLENBQUM7SUFDOUgsQ0FBQztJQUVELFlBQ3FCLFVBQXdDO1FBRTNELEtBQUssRUFBRSxDQUFDO1FBRlcsZUFBVSxHQUFWLFVBQVUsQ0FBOEI7UUFUN0Qsa0JBQWEsR0FBMkMsS0FBSyxDQUE0QixJQUFJLHlCQUF5QixFQUFFLENBQUMs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QUFLLENBQUMsTUFBTSxJQUFJLEVBQUUsRUFBRSxDQUFDO29CQUNuQyxPQUFPLE9BQU8sQ0FBQztnQkFDakIsQ0FBQztnQkFDRCxPQUFPLFFBQVEsQ0FBQztZQUNsQixDQUFDO2lCQUFJLENBQUM7Z0JBQ0osSUFBRyxZQUFZLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxFQUFFLEVBQUUsQ0FBQztvQkFDbkMsT0FBTyxPQUFPLENBQUM7Z0JBQ2pCLENBQUM7Z0JBQ0QsT0FBTyxRQUFRLENBQUM7WUFDbEIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0NBQ0YsQ0FBQTtBQUNELE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBYTtJQUN6QyxPQUFPLGdCQUFnQixDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztBQUM5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBtb2RlbCwgTW9kZWxTaWduYWwsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXNraXRvTWFza0V4cHJlc3Npb24sIE1hc2tpdG9PcHRpb25zLCBtYXNraXRvVHJhbnNmb3JtIH0gZnJvbSAnQG1hc2tpdG8vY29yZSc7XHJcbmltcG9ydCB7IEN1c3RvbUlucHV0IH0gZnJvbSAnLi4vY3VzdG9tLWlucHV0JztcclxuaW1wb3J0IHsgSW5wdXRDcGZDbnBqQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vaW5wdXQtY3BmLWNucGouY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IElucHV0UHJvdmlkZXJGYWN0b3J5IH0gZnJvbSAnLi4vaW5wdXQtcHJvdmlkZXItZmFjdG9yeSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lucHV0LWNwZi1jbnBqLCBpbnB1dC1jcGYsIGlucHV0LWNucGonLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1jcGYtY25wai5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtY3BmLWNucGouY29tcG9uZW50LnNjc3MnLCAnLi4vaW5wdXRzLnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIC4uLklucHV0UHJvdmlkZXJGYWN0b3J5LkdldFByb3ZpZGVycyhJbnB1dENwZkNucGpDb21wb25lbnQpLFxyXG4gICAgeyBwcm92aWRlOiBDdXN0b21JbnB1dCwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXRDcGZDbnBqQ29tcG9uZW50KSB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dENwZkNucGpDb21wb25lbnQgZXh0ZW5kcyBDdXN0b21JbnB1dDxzdHJpbmc+IHtcclxuXHJcbiAgY29uZmlndXJhdGlvbjogTW9kZWxTaWduYWw8SW5wdXRDcGZDbnBqQ29uZmlndXJhdGlvbj4gPSBtb2RlbDxJbnB1dENwZkNucGpDb25maWd1cmF0aW9uPihuZXcgSW5wdXRDcGZDbnBqQ29uZmlndXJhdGlvbigpKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdpbnB1dENvbnRhaW5lcicpIGlucHV0Q29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICBvdmVycmlkZSBzZXRGb2N1cyhldmVudDogTW91c2VFdmVudCB8IG51bGwpOiB2b2lkIHtcclxuICAgIGlmKHRoaXMuaW5wdXQgJiYgKGV2ZW50ID09IG51bGwgfHwgZXZlbnQudGFyZ2V0ID09IHRoaXMuaW5wdXRDb250YWluZXIubmF0aXZlRWxlbWVudCkpIHsgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7IH0gICAgICBcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD5cclxuICApIHsgXHJcbiAgICBzdXBlcigpOyBcclxuICAgIGlmKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PSAnaW5wdXQtY3BmLWNucGonKXtcclxuICAgICAgdGhpcy5jb25maWd1cmF0aW9uLnNldChuZXcgSW5wdXRDcGZDbnBqQ29uZmlndXJhdGlvbigpKTtcclxuICAgIH1lbHNle1xyXG4gICAgICBjb25zdCBzZWxlY3Rvcjogc3RyaW5nID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpLnNwbGl0KCctJylbMV07XHJcbiAgICAgIGlmKHNlbGVjdG9yID09ICdjcGYnICl7IHRoaXMuY29uZmlndXJhdGlvbi5zZXQobmV3IElucHV0Q3BmQ25wakNvbmZpZ3VyYXRpb24oJ0NQRicpKSAgfSBlbHNlXHJcbiAgICAgIGlmKHNlbGVjdG9yID09ICdjbnBqJyl7IHRoaXMuY29uZmlndXJhdGlvbi5zZXQobmV3IElucHV0Q3BmQ25wakNvbmZpZ3VyYXRpb24oJ0NOUEonKSkgfSBcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUob2JqOiBzdHJpbmcpOiB2b2lkIHwgUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLnZhbHVlLnNldChvYmopO1xyXG4gICAgdGhpcy5ydW5WYWxpZGF0aW9uKCk7XHJcbiAgfVxyXG4gIFxyXG4gIG92ZXJyaWRlIFNldFZhbHVlKG9iajogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlLnNldChvYmopO1xyXG4gICAgdGhpcy5ydW5WYWxpZGF0aW9uKCk7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZShvYmoucmVwbGFjZUFsbCgnLicsICcnKS5yZXBsYWNlQWxsKCctJywgJycpLnJlcGxhY2VBbGwoJy8nLCAnJykpO1xyXG4gIH1cclxuXHJcblxyXG4gIHJlYWRvbmx5IG1hc2s6IE1hc2tpdG9PcHRpb25zID0ge1xyXG4gICAgbWFzazogKGVsZW1lbnRTdGF0ZSkgPT4ge1xyXG4gICAgICBpZih0aGlzLmNvbmZpZ3VyYXRpb24oKS50eXBlID09ICdDUEZDTlBKJyl7XHJcbiAgICAgICAgaWYoIWVsZW1lbnRTdGF0ZS52YWx1ZSl7IFxyXG4gICAgICAgICAgcmV0dXJuIGNwZk1hc2s7XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICBpZihlbGVtZW50U3RhdGUudmFsdWUuaW5jbHVkZXMoJy4nKSl7XHJcbiAgICAgICAgICAgIGlmKGVsZW1lbnRTdGF0ZS52YWx1ZS5sZW5ndGggPD0gMTQpIHsgXHJcbiAgICAgICAgICAgICAgcmV0dXJuIGNwZk1hc2s7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBjbnBqTWFzaztcclxuICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICBpZihlbGVtZW50U3RhdGUudmFsdWUubGVuZ3RoIDw9IDExKSB7IFxyXG4gICAgICAgICAgICAgIHJldHVybiBjcGZNYXNrOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gY25wak1hc2s7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmKHRoaXMuY29uZmlndXJhdGlvbigpLnR5cGUgPT0gJ0NOUEonKXsgcmV0dXJuIGNucGpNYXNrOyB9XHJcbiAgICAgIGlmKHRoaXMuY29uZmlndXJhdGlvbigpLnR5cGUgPT0gJ0NQRicgKXsgcmV0dXJuIGNwZk1hc2s7ICB9XHJcbiAgICB9LFxyXG4gIH07XHJcbn1cclxuXHJcbmNvbnN0IGNwZk1hc2sgOiBNYXNraXRvTWFza0V4cHJlc3Npb24gPSBbIC9cXGQvLCAvXFxkLywgL1xcZC8sICcuJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJy4nLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAnLScsIC9cXGQvLCAvXFxkLyAgXTtcclxuY29uc3QgY25wak1hc2s6IE1hc2tpdG9NYXNrRXhwcmVzc2lvbiA9IFsgL1xcZC8sIC9cXGQvLCAnLicsIC9cXGQvLCAvXFxkLywgL1xcZC8sICcuJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJy8nLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJy0nLCAvXFxkLywgL1xcZC9dO1xyXG5jb25zdCBjcGZDbnBqTWFzazogTWFza2l0b09wdGlvbnMgPSB7XHJcbiAgbWFzazogKGVsZW1lbnRTdGF0ZSkgPT4ge1xyXG4gICAgaWYoIWVsZW1lbnRTdGF0ZS52YWx1ZSl7IFxyXG4gICAgICByZXR1cm4gY3BmTWFzaztcclxuICAgIH1lbHNle1xyXG4gICAgICBpZihlbGVtZW50U3RhdGUudmFsdWUuaW5jbHVkZXMoJy4nKSl7XHJcbiAgICAgICAgaWYoZWxlbWVudFN0YXRlLnZhbHVlLmxlbmd0aCA8PSAxNCkgeyBcclxuICAgICAgICAgIHJldHVybiBjcGZNYXNrOyBcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGNucGpNYXNrO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICBpZihlbGVtZW50U3RhdGUudmFsdWUubGVuZ3RoIDw9IDExKSB7IFxyXG4gICAgICAgICAgcmV0dXJuIGNwZk1hc2s7IFxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gY25wak1hc2s7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuZXhwb3J0IGZ1bmN0aW9uIEZvcm1hdENwZkNucGoodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIG1hc2tpdG9UcmFuc2Zvcm0odmFsdWUsIGNwZkNucGpNYXNrKTtcclxufSIsIjxkaXYgXHJcbiAgI2lucHV0Q29udGFpbmVyXHJcbiAgY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIiBcclxuICAoY2xpY2spPVwic2V0Rm9jdXMoJGV2ZW50KVwiXHJcbiAgW2NsYXNzLnJlcXVpcmVkXT1cInJlcXVpcmVkKClcIiBcclxuICBbY2xhc3Muc3VibWl0dGVkXT1cInN1Ym1pdHRlZCgpXCIgXHJcbiAgW2NsYXNzLmludmFsaWRdPVwiaW52YWxpZFwiIFxyXG4gIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZCgpIHx8IGxvYWRpbmcoKVwiXHJcbiAgW2NsYXNzLmxvYWRpbmddPVwibG9hZGluZygpXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJpbnB1dC1sYWJlbFwiPiBcclxuICAgIDxzcGFuIGNsYXNzPVwidHJ1bmNhdGVcIj5cclxuICAgICAge3tsYWJlbCgpfX0gXHJcbiAgICA8L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgPGlucHV0ICNpbnB1dFxyXG4gICAgW25nTW9kZWxdPVwidmFsdWUoKVwiIFxyXG4gICAgW21hc2tpdG9dPVwibWFza1wiXHJcbiAgICBpbnB1dG1vZGU9XCJudW1lcmljXCJcclxuICAgIFt0eXBlXT1cIid0ZXh0J1wiIFxyXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwiU2V0VmFsdWUoJGV2ZW50KVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKSB8fCBsb2FkaW5nKClcIlxyXG4gIC8+XHJcbiAgPGRpdiBjbGFzcz1cImxvYWRpbmctY29udGFpbmVyXCIgW2NsYXNzLmxvYWRpbmddPVwibG9hZGluZygpXCI+XHJcbiAgICA8aW9uLXNwaW5uZXI+PC9pb24tc3Bpbm5lcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, ElementRef, input, ViewChild } from '@angular/core';
|
|
1
|
+
import { Component, ElementRef, forwardRef, input, ViewChild } from '@angular/core';
|
|
2
2
|
import { maskitoDateTimeOptionsGenerator } from '@maskito/kit';
|
|
3
3
|
import { maskitoDateOptionsGenerator } from '@maskito/kit';
|
|
4
4
|
import { maskitoTimeOptionsGenerator } from '@maskito/kit';
|
|
@@ -14,8 +14,8 @@ import * as i3 from "@angular/forms";
|
|
|
14
14
|
import * as i4 from "@maskito/angular";
|
|
15
15
|
import * as i5 from "../../popover/sion-popover/sion-popover.component";
|
|
16
16
|
export class InputDateComponent extends CustomInput {
|
|
17
|
-
|
|
18
|
-
if (this.input && event.target == this.inputContainer.nativeElement) {
|
|
17
|
+
setFocus(event) {
|
|
18
|
+
if (this.input && (event == null || event.target == this.inputContainer.nativeElement)) {
|
|
19
19
|
this.input.nativeElement.focus();
|
|
20
20
|
}
|
|
21
21
|
}
|
|
@@ -93,11 +93,17 @@ export class InputDateComponent extends CustomInput {
|
|
|
93
93
|
this.SetValue(v.toString(), true);
|
|
94
94
|
}
|
|
95
95
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputDateComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
96
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: InputDateComponent, selector: "input-date, input-date-time, input-time", inputs: { configuration: { classPropertyName: "configuration", publicName: "configuration", isSignal: true, isRequired: false, transformFunction: null } }, providers: [...InputProviderFactory.GetProviders(InputDateComponent)], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "inputContainer", first: true, predicate: ["inputContainer"], descendants: true }, { propertyName: "datetime", first: true, predicate: IonDatetime, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"focus($event)\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"disabled() || loading()\"\r\n [class.loading]=\"loading()\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n \r\n <input #input\r\n [ngModel]=\"dtValue\" \r\n (ngModelChange)=\"SetValue($event)\"\r\n [maskito]=\"options\"\r\n [disabled]=\"disabled() || loading()\"\r\n />\r\n \r\n <ion-button tabindex=\"-1\" class=\"absolute right-1 bottom-1\" (click)=\"Present(modal, popover, $event)\" color=\"medium\" size=\"small\" fill=\"clear\" style=\"--border-radius: .5rem\">\r\n <ion-icon [name]=\"presentation == 'time' ? 'time' : 'calendar'\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n\r\n <div class=\"loading-container\" [class.loading]=\"loading()\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n</div>\r\n\r\n<sion-popover\r\n [anchor]=\"inputContainer\"\r\n #popover \r\n [class.time]=\"presentation == 'time'\" \r\n [class.date]=\"presentation == 'date'\" \r\n [class.datetime]=\"presentation == 'date-time'\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"datetimeTemplate; context: { $implicit: popover }\"></ng-container>\r\n</sion-popover>\r\n\r\n<ion-modal \r\n #modal\r\n [class.time]=\"presentation == 'time'\" \r\n [class.date]=\"presentation == 'date'\" \r\n [class.datetime]=\"presentation == 'date-time'\"\r\n>\r\n <ng-template>\r\n <ng-container *ngTemplateOutlet=\"datetimeTemplate; context: { $implicit: modal }\"></ng-container>\r\n </ng-template>\r\n</ion-modal>\r\n\r\n\r\n<ng-template #datetimeTemplate let-parent>\r\n <div class=\"flex items-center justify-center bg-[--ion-color-light] rounded-xl\" tabindex=\"-1\">\r\n @if(presentation.includes('date')) {\r\n <ion-datetime tabindex=\"-1\" [ngModel]=\"value()\" class=\"date\" presentation=\"date\" (ionChange)=\"ChangeDate($event.target.value);\"></ion-datetime>\r\n }\r\n @if(presentation == 'date-time') {\r\n <div class=\"flex flex-col items-center justify-center py-12 h-[21rem]\">\r\n <div class=\"h-full border-r-2 border-primary mask-y/30\"></div>\r\n </div>\r\n }\r\n @if(presentation.includes('time')) {\r\n <div class=\"h-[21rem] flex flex-col items-center justify-center gap-2\">\r\n <ion-icon class=\"text-2xl\" name=\"alarm\"></ion-icon>\r\n <ion-datetime tabindex=\"-1\" [ngModel]=\"value()\" class=\"time\" presentation=\"time\" hourCycle=\"h24\" (ionChange)=\"ChangeDate($event.target.value)\"></ion-datetime>\r\n </div>\r\n }\r\n </div>\r\n</ng-template>", styles: [".input-container{position:relative!important}.input-container input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}ion-popover{--height: auto}ion-popover.time{--width: 8rem}ion-popover.date{--width: 21.5rem}ion-popover.datetime{--width: 29rem}ion-modal{--height: auto}ion-modal.time{--width: 8rem}ion-modal.date{--width: 21.5rem}ion-modal.datetime{--width: 29rem}ion-datetime{--wheel-highlight-background: var(--ion-color-primary) !important}ion-datetime.date{width:21.5rem}ion-datetime.time{width:8rem}\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:transform;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.IonDatetime, selector: "ion-datetime", inputs: ["cancelText", "clearText", "color", "dayValues", "disabled", "doneText", "firstDayOfWeek", "formatOptions", "highlightedDates", "hourCycle", "hourValues", "isDateEnabled", "locale", "max", "min", "minuteValues", "mode", "monthValues", "multiple", "name", "preferWheel", "presentation", "readonly", "showClearButton", "showDefaultButtons", "showDefaultTimeLabel", "showDefaultTitle", "size", "titleSelectedDatesFormatter", "value", "yearValues"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i1.IonModal, selector: "ion-modal" }, { kind: "directive", type: i1.SelectValueAccessor, selector: "ion-select, ion-radio-group, ion-segment, ion-datetime" }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "component", type: i5.SIonPopoverComponent, selector: "sion-popover", inputs: ["fill", "arrow", "flip", "placement", "height", "width", "anchor"], outputs: ["onWillPresent", "onDidPresent", "onWillDismiss", "onDidDismiss", "isVisibleChange"] }] }); }
|
|
96
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: InputDateComponent, selector: "input-date, input-date-time, input-time", inputs: { configuration: { classPropertyName: "configuration", publicName: "configuration", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
97
|
+
...InputProviderFactory.GetProviders(InputDateComponent),
|
|
98
|
+
{ provide: CustomInput, useExisting: forwardRef(() => InputDateComponent) },
|
|
99
|
+
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "inputContainer", first: true, predicate: ["inputContainer"], descendants: true }, { propertyName: "datetime", first: true, predicate: IonDatetime, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"setFocus($event)\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"disabled() || loading()\"\r\n [class.loading]=\"loading()\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n \r\n <input #input\r\n [ngModel]=\"dtValue\" \r\n (ngModelChange)=\"SetValue($event)\"\r\n [maskito]=\"options\"\r\n [disabled]=\"disabled() || loading()\"\r\n />\r\n \r\n <ion-button tabindex=\"-1\" class=\"absolute right-1 bottom-1\" (click)=\"Present(modal, popover, $event)\" color=\"medium\" size=\"small\" fill=\"clear\" style=\"--border-radius: .5rem\">\r\n <ion-icon [name]=\"presentation == 'time' ? 'time' : 'calendar'\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n\r\n <div class=\"loading-container\" [class.loading]=\"loading()\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n</div>\r\n\r\n<sion-popover\r\n [anchor]=\"inputContainer\"\r\n #popover \r\n [class.time]=\"presentation == 'time'\" \r\n [class.date]=\"presentation == 'date'\" \r\n [class.datetime]=\"presentation == 'date-time'\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"datetimeTemplate; context: { $implicit: popover }\"></ng-container>\r\n</sion-popover>\r\n\r\n<ion-modal \r\n #modal\r\n [class.time]=\"presentation == 'time'\" \r\n [class.date]=\"presentation == 'date'\" \r\n [class.datetime]=\"presentation == 'date-time'\"\r\n>\r\n <ng-template>\r\n <ng-container *ngTemplateOutlet=\"datetimeTemplate; context: { $implicit: modal }\"></ng-container>\r\n </ng-template>\r\n</ion-modal>\r\n\r\n\r\n<ng-template #datetimeTemplate let-parent>\r\n <div class=\"flex items-center justify-center bg-[--ion-color-light] rounded-xl\" tabindex=\"-1\">\r\n @if(presentation.includes('date')) {\r\n <ion-datetime tabindex=\"-1\" [ngModel]=\"value()\" class=\"date\" presentation=\"date\" (ionChange)=\"ChangeDate($event.target.value);\"></ion-datetime>\r\n }\r\n @if(presentation == 'date-time') {\r\n <div class=\"flex flex-col items-center justify-center py-12 h-[21rem]\">\r\n <div class=\"h-full border-r-2 border-primary mask-y/30\"></div>\r\n </div>\r\n }\r\n @if(presentation.includes('time')) {\r\n <div class=\"h-[21rem] flex flex-col items-center justify-center gap-2\">\r\n <ion-icon class=\"text-2xl\" name=\"alarm\"></ion-icon>\r\n <ion-datetime tabindex=\"-1\" [ngModel]=\"value()\" class=\"time\" presentation=\"time\" hourCycle=\"h24\" (ionChange)=\"ChangeDate($event.target.value)\"></ion-datetime>\r\n </div>\r\n }\r\n </div>\r\n</ng-template>", styles: [".input-container{position:relative!important}.input-container input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}ion-popover{--height: auto}ion-popover.time{--width: 8rem}ion-popover.date{--width: 21.5rem}ion-popover.datetime{--width: 29rem}ion-modal{--height: auto}ion-modal.time{--width: 8rem}ion-modal.date{--width: 21.5rem}ion-modal.datetime{--width: 29rem}ion-datetime{--wheel-highlight-background: var(--ion-color-primary) !important}ion-datetime.date{width:21.5rem}ion-datetime.time{width:8rem}\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.IonDatetime, selector: "ion-datetime", inputs: ["cancelText", "clearText", "color", "dayValues", "disabled", "doneText", "firstDayOfWeek", "formatOptions", "highlightedDates", "hourCycle", "hourValues", "isDateEnabled", "locale", "max", "min", "minuteValues", "mode", "monthValues", "multiple", "name", "preferWheel", "presentation", "readonly", "showAdjacentDays", "showClearButton", "showDefaultButtons", "showDefaultTimeLabel", "showDefaultTitle", "size", "titleSelectedDatesFormatter", "value", "yearValues"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i1.IonModal, selector: "ion-modal" }, { kind: "directive", type: i1.SelectValueAccessor, selector: "ion-select, ion-radio-group, ion-segment, ion-datetime" }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "component", type: i5.SIonPopoverComponent, selector: "sion-popover", inputs: ["fill", "arrow", "flip", "placement", "height", "width", "anchor"], outputs: ["onWillPresent", "onDidPresent", "onWillDismiss", "onDidDismiss", "isVisibleChange"] }] }); }
|
|
97
100
|
}
|
|
98
101
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputDateComponent, decorators: [{
|
|
99
102
|
type: Component,
|
|
100
|
-
args: [{ selector: 'input-date, input-date-time, input-time', providers: [
|
|
103
|
+
args: [{ selector: 'input-date, input-date-time, input-time', providers: [
|
|
104
|
+
...InputProviderFactory.GetProviders(InputDateComponent),
|
|
105
|
+
{ provide: CustomInput, useExisting: forwardRef(() => InputDateComponent) },
|
|
106
|
+
], template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"setFocus($event)\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"disabled() || loading()\"\r\n [class.loading]=\"loading()\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n \r\n <input #input\r\n [ngModel]=\"dtValue\" \r\n (ngModelChange)=\"SetValue($event)\"\r\n [maskito]=\"options\"\r\n [disabled]=\"disabled() || loading()\"\r\n />\r\n \r\n <ion-button tabindex=\"-1\" class=\"absolute right-1 bottom-1\" (click)=\"Present(modal, popover, $event)\" color=\"medium\" size=\"small\" fill=\"clear\" style=\"--border-radius: .5rem\">\r\n <ion-icon [name]=\"presentation == 'time' ? 'time' : 'calendar'\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n\r\n <div class=\"loading-container\" [class.loading]=\"loading()\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n</div>\r\n\r\n<sion-popover\r\n [anchor]=\"inputContainer\"\r\n #popover \r\n [class.time]=\"presentation == 'time'\" \r\n [class.date]=\"presentation == 'date'\" \r\n [class.datetime]=\"presentation == 'date-time'\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"datetimeTemplate; context: { $implicit: popover }\"></ng-container>\r\n</sion-popover>\r\n\r\n<ion-modal \r\n #modal\r\n [class.time]=\"presentation == 'time'\" \r\n [class.date]=\"presentation == 'date'\" \r\n [class.datetime]=\"presentation == 'date-time'\"\r\n>\r\n <ng-template>\r\n <ng-container *ngTemplateOutlet=\"datetimeTemplate; context: { $implicit: modal }\"></ng-container>\r\n </ng-template>\r\n</ion-modal>\r\n\r\n\r\n<ng-template #datetimeTemplate let-parent>\r\n <div class=\"flex items-center justify-center bg-[--ion-color-light] rounded-xl\" tabindex=\"-1\">\r\n @if(presentation.includes('date')) {\r\n <ion-datetime tabindex=\"-1\" [ngModel]=\"value()\" class=\"date\" presentation=\"date\" (ionChange)=\"ChangeDate($event.target.value);\"></ion-datetime>\r\n }\r\n @if(presentation == 'date-time') {\r\n <div class=\"flex flex-col items-center justify-center py-12 h-[21rem]\">\r\n <div class=\"h-full border-r-2 border-primary mask-y/30\"></div>\r\n </div>\r\n }\r\n @if(presentation.includes('time')) {\r\n <div class=\"h-[21rem] flex flex-col items-center justify-center gap-2\">\r\n <ion-icon class=\"text-2xl\" name=\"alarm\"></ion-icon>\r\n <ion-datetime tabindex=\"-1\" [ngModel]=\"value()\" class=\"time\" presentation=\"time\" hourCycle=\"h24\" (ionChange)=\"ChangeDate($event.target.value)\"></ion-datetime>\r\n </div>\r\n }\r\n </div>\r\n</ng-template>", styles: [".input-container{position:relative!important}.input-container input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}ion-popover{--height: auto}ion-popover.time{--width: 8rem}ion-popover.date{--width: 21.5rem}ion-popover.datetime{--width: 29rem}ion-modal{--height: auto}ion-modal.time{--width: 8rem}ion-modal.date{--width: 21.5rem}ion-modal.datetime{--width: 29rem}ion-datetime{--wheel-highlight-background: var(--ion-color-primary) !important}ion-datetime.date{width:21.5rem}ion-datetime.time{width:8rem}\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"] }]
|
|
101
107
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { input: [{
|
|
102
108
|
type: ViewChild,
|
|
103
109
|
args: ['input']
|
|
@@ -108,4 +114,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
108
114
|
type: ViewChild,
|
|
109
115
|
args: [IonDatetime]
|
|
110
116
|
}] } });
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LWRhdGUvaW5wdXQtZGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LWRhdGUvaW5wdXQtZGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQXVCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0QsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUzRCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFTbkUsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFdBQW1CO0lBS2hELEtBQUssQ0FBQyxLQUFpQjtRQUM5QixJQUFHLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFBQyxDQUFDO0lBQzNHLENBQUM7SUFNRCxZQUNXLFVB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QUFsQixrQkFBa0IsOE5BRmxCLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQyx3UEF5RTFELFdBQVcsdUVDMUZ4Qiw2c0ZBdUVjOzs0RkRwREQsa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLHlDQUF5QyxhQUd4QyxDQUFDLEdBQUcsb0JBQW9CLENBQUMsWUFBWSxvQkFBb0IsQ0FBQzsrRUFLakQsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPO2dCQUNXLGNBQWM7c0JBQTFDLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQW1FSCxRQUFRO3NCQUEvQixTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGlucHV0LCBJbnB1dFNpZ25hbCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgbWFza2l0b0RhdGVUaW1lT3B0aW9uc0dlbmVyYXRvciB9IGZyb20gJ0BtYXNraXRvL2tpdCc7XHJcbmltcG9ydCB7IG1hc2tpdG9EYXRlT3B0aW9uc0dlbmVyYXRvciB9IGZyb20gJ0BtYXNraXRvL2tpdCc7XHJcbmltcG9ydCB7IG1hc2tpdG9UaW1lT3B0aW9uc0dlbmVyYXRvciB9IGZyb20gJ0BtYXNraXRvL2tpdCc7XHJcbmltcG9ydCB7IE1hc2tpdG9PcHRpb25zIH0gZnJvbSAnQG1hc2tpdG8vY29yZSc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuXHJcbmltcG9ydCB7IElucHV0RGF0ZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2lucHV0LWRhdGUuY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IElucHV0UHJvdmlkZXJGYWN0b3J5IH0gZnJvbSAnLi4vaW5wdXQtcHJvdmlkZXItZmFjdG9yeSc7XHJcbmltcG9ydCB7IEN1c3RvbUlucHV0IH0gZnJvbSAnLi4vY3VzdG9tLWlucHV0JztcclxuaW1wb3J0IHsgSW9uRGF0ZXRpbWUsIElvbk1vZGFsLCBJb25Qb3BvdmVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBTSW9uUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BvcG92ZXIvc2lvbi1wb3BvdmVyL3Npb24tcG9wb3Zlci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpbnB1dC1kYXRlLCBpbnB1dC1kYXRlLXRpbWUsIGlucHV0LXRpbWUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1kYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC1kYXRlLmNvbXBvbmVudC5zY3NzJywgJy4uL2lucHV0cy5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbLi4uSW5wdXRQcm92aWRlckZhY3RvcnkuR2V0UHJvdmlkZXJzKElucHV0RGF0ZUNvbXBvbmVudCldLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXREYXRlQ29tcG9uZW50IGV4dGVuZHMgQ3VzdG9tSW5wdXQ8c3RyaW5nPiB7XHJcblxyXG4gIGNvbmZpZ3VyYXRpb246IElucHV0U2lnbmFsPElucHV0RGF0ZUNvbmZpZ3VyYXRpb24+ID0gaW5wdXQ8SW5wdXREYXRlQ29uZmlndXJhdGlvbj4obmV3IElucHV0RGF0ZUNvbmZpZ3VyYXRpb24oKSk7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdpbnB1dENvbnRhaW5lcicpIGlucHV0Q29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICBvdmVycmlkZSBmb2N1cyhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgaWYodGhpcy5pbnB1dCAmJiBldmVudC50YXJnZXQgPT0gdGhpcy5pbnB1dENvbnRhaW5lci5uYXRpdmVFbGVtZW50KSB7IHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpOyB9ICAgICAgXHJcbiAgfVxyXG4gIFxyXG4gIG9wdGlvbnM6IE1hc2tpdG9PcHRpb25zO1xyXG4gIGR0VmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIG1vbWVudEZvcm1hdDogbW9tZW50Lk1vbWVudEZvcm1hdFNwZWNpZmljYXRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgb3ZlcnJpZGUgZWxlbWVudFJlZjogRWxlbWVudFJlZlxyXG4gICkgeyBcclxuICAgIHN1cGVyKCk7IFxyXG4gICAgdGhpcy5wcmVzZW50YXRpb24gPSAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpIGFzIHN0cmluZykucmVwbGFjZSgnaW5wdXQtJywgJycpO1xyXG5cclxuICAgIGlmKHRoaXMucHJlc2VudGF0aW9uID09IFwiZGF0ZS10aW1lXCIpeyBcclxuICAgICAgdGhpcy5tb21lbnRGb3JtYXQgPSAnREQvTU0vWVlZWSBISDptbSc7XHJcbiAgICAgIHRoaXMub3B0aW9ucyA9IG1hc2tpdG9EYXRlVGltZU9wdGlvbnNHZW5lcmF0b3Ioe1xyXG4gICAgICAgIGRhdGVNb2RlOiAnZGQvbW0veXl5eScsXHJcbiAgICAgICAgdGltZU1vZGU6ICdISDpNTScsXHJcbiAgICAgICAgZGF0ZVNlcGFyYXRvcjogJy8nLFxyXG4gICAgICAgIGRhdGVUaW1lU2VwYXJhdG9yOiAnICcsXHJcbiAgICAgICAgdGltZVN0ZXA6IDEsXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlXHJcbiAgICBpZih0aGlzLnByZXNlbnRhdGlvbiA9PSBcImRhdGVcIikgeyBcclxuICAgICAgdGhpcy5tb21lbnRGb3JtYXQgPSAnREQvTU0vWVlZWSc7XHJcbiAgICAgIHRoaXMub3B0aW9ucyA9IG1hc2tpdG9EYXRlT3B0aW9uc0dlbmVyYXRvcih7IG1vZGU6ICdkZC9tbS95eXl5Jywgc2VwYXJhdG9yOiAnLyd9KTtcclxuICAgIH0gZWxzZVxyXG4gICAgaWYodGhpcy5wcmVzZW50YXRpb24gPT0gXCJ0aW1lXCIpIHtcclxuICAgICAgdGhpcy5tb21lbnRGb3JtYXQgPSAnSEg6bW0nOyBcclxuICAgICAgdGhpcy5vcHRpb25zID0gbWFza2l0b1RpbWVPcHRpb25zR2VuZXJhdG9yKHtcclxuICAgICAgICBtb2RlOiAnSEg6TU0nLFxyXG4gICAgICAgIHN0ZXA6IDEsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBwdWJsaWMgcHJlc2VudGF0aW9uOiBcImRhdGUtdGltZVwiIHwgXCJkYXRlXCIgfCBcInRpbWVcIiB8IHN0cmluZyA9IFwiZGF0ZS10aW1lXCJcclxuXHJcbiAgb3ZlcnJpZGUgU2V0VmFsdWUodmFsdWU6IHN0cmluZywgZnJvbURhdGVUaW1lOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcclxuICAgIGlmKGZyb21EYXRlVGltZSl7XHJcbiAgICAgIHRoaXMuZHRWYWx1ZSA9IG1vbWVudCh2YWx1ZSwgbW9tZW50LklTT184NjAxLCB0cnVlKS5mb3JtYXQodGhpcy5tb21lbnRGb3JtYXQudG9TdHJpbmcoKSk7XHJcbiAgICAgIHRoaXMudmFsdWUuc2V0KHZhbHVlKTtcclxuICAgICAgdGhpcy5ydW5WYWxpZGF0aW9uKCk7XHJcbiAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMudmFsdWUoKSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoJ1onLCAnJyk7XHJcbiAgICBpZihbJ2RhdGUtdGltZScsICdkYXRlJ10uaW5jbHVkZXModGhpcy5wcmVzZW50YXRpb24pKXtcclxuICAgICAgY29uc3QgZGF0ZSA9IG1vbWVudCh2YWx1ZSwgdGhpcy5tb21lbnRGb3JtYXQsIHRydWUpLnV0YyhmYWxzZSk7XHJcbiAgICAgIGlmKGRhdGUuaXNWYWxpZCgpIHx8ICF2YWx1ZSl7XHJcbiAgICAgICAgaWYodmFsdWUpe1xyXG4gICAgICAgICAgdGhpcy52YWx1ZS5zZXQoZGF0ZS5mb3JtYXQoKS5yZXBsYWNlKCdaJywgJycpKTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHRoaXMudmFsdWUuc2V0KG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnJ1blZhbGlkYXRpb24oKTtcclxuICAgICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZhbHVlKCkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmKHZhbHVlLmxlbmd0aCA9PSA1KXtcclxuICAgICAgdGhpcy52YWx1ZS5zZXQodmFsdWUpO1xyXG4gICAgICB0aGlzLnJ1blZhbGlkYXRpb24oKTtcclxuICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZSgpKTtcclxuICAgIH1cclxuICB9XHJcbiAgQFZpZXdDaGlsZChJb25EYXRldGltZSkgZGF0ZXRpbWU6IElvbkRhdGV0aW1lO1xyXG4gIFxyXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUob2JqOiBzdHJpbmcpOiB2b2lkIHwgUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLnZhbHVlLnNldChvYmopO1xyXG4gICAgdGhpcy5kdFZhbHVlID0gbW9tZW50KHRoaXMudmFsdWUoKSwgbW9tZW50LklTT184NjAxLCB0cnVlKS5mb3JtYXQodGhpcy5tb21lbnRGb3JtYXQudG9TdHJpbmcoKSk7XHJcbiAgICB0aGlzLnJ1blZhbGlkYXRpb24oKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIFByZXNlbnQobW9kYWw6IElvbk1vZGFsLCBwb3BvdmVyOiBTSW9uUG9wb3ZlckNvbXBvbmVudCwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA+IHdpbmRvdy5pbm5lckhlaWdodCkge1xyXG4gICAgICByZXR1cm4gcG9wb3Zlci5wcmVzZW50KGV2ZW50KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBtb2RhbC5wcmVzZW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBDaGFuZ2VEYXRlKHY6IHN0cmluZyB8IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLlNldFZhbHVlKHYudG9TdHJpbmcoKSwgdHJ1ZSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgXHJcbiAgI2lucHV0Q29udGFpbmVyXHJcbiAgY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIiBcclxuICAoY2xpY2spPVwiZm9jdXMoJGV2ZW50KVwiXHJcbiAgW2NsYXNzLnJlcXVpcmVkXT1cInJlcXVpcmVkKClcIiBcclxuICBbY2xhc3Muc3VibWl0dGVkXT1cInN1Ym1pdHRlZCgpXCIgXHJcbiAgW2NsYXNzLmludmFsaWRdPVwiaW52YWxpZFwiIFxyXG4gIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZCgpIHx8IGxvYWRpbmcoKVwiXHJcbiAgW2NsYXNzLmxvYWRpbmddPVwibG9hZGluZygpXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJpbnB1dC1sYWJlbFwiPiBcclxuICAgIDxzcGFuIGNsYXNzPVwidHJ1bmNhdGVcIj5cclxuICAgICAge3tsYWJlbCgpfX0gXHJcbiAgICA8L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgXHJcbiAgPGlucHV0ICNpbnB1dFxyXG4gICAgW25nTW9kZWxdPVwiZHRWYWx1ZVwiIFxyXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwiU2V0VmFsdWUoJGV2ZW50KVwiXHJcbiAgICBbbWFza2l0b109XCJvcHRpb25zXCJcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpIHx8IGxvYWRpbmcoKVwiXHJcbiAgLz5cclxuICBcclxuICA8aW9uLWJ1dHRvbiB0YWJpbmRleD1cIi0xXCIgY2xhc3M9XCJhYnNvbHV0ZSByaWdodC0xIGJvdHRvbS0xXCIgKGNsaWNrKT1cIlByZXNlbnQobW9kYWwsIHBvcG92ZXIsICRldmVudClcIiBjb2xvcj1cIm1lZGl1bVwiIHNpemU9XCJzbWFsbFwiIGZpbGw9XCJjbGVhclwiIHN0eWxlPVwiLS1ib3JkZXItcmFkaXVzOiAuNXJlbVwiPlxyXG4gICAgPGlvbi1pY29uIFtuYW1lXT1cInByZXNlbnRhdGlvbiA9PSAndGltZScgPyAndGltZScgOiAnY2FsZW5kYXInXCIgc2xvdD1cImljb24tb25seVwiPjwvaW9uLWljb24+XHJcbiAgPC9pb24tYnV0dG9uPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwibG9hZGluZy1jb250YWluZXJcIiBbY2xhc3MubG9hZGluZ109XCJsb2FkaW5nKClcIj5cclxuICAgIDxpb24tc3Bpbm5lcj48L2lvbi1zcGlubmVyPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxzaW9uLXBvcG92ZXJcclxuICBbYW5jaG9yXT1cImlucHV0Q29udGFpbmVyXCJcclxuICAjcG9wb3ZlciBcclxuICBbY2xhc3MudGltZV09XCJwcmVzZW50YXRpb24gPT0gJ3RpbWUnXCIgXHJcbiAgW2NsYXNzLmRhdGVdPVwicHJlc2VudGF0aW9uID09ICdkYXRlJ1wiIFxyXG4gIFtjbGFzcy5kYXRldGltZV09XCJwcmVzZW50YXRpb24gPT0gJ2RhdGUtdGltZSdcIlxyXG4+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRhdGV0aW1lVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBwb3BvdmVyIH1cIj48L25nLWNvbnRhaW5lcj5cclxuPC9zaW9uLXBvcG92ZXI+XHJcblxyXG48aW9uLW1vZGFsIFxyXG4gICNtb2RhbFxyXG4gIFtjbGFzcy50aW1lXT1cInByZXNlbnRhdGlvbiA9PSAndGltZSdcIiBcclxuICBbY2xhc3MuZGF0ZV09XCJwcmVzZW50YXRpb24gPT0gJ2RhdGUnXCIgXHJcbiAgW2NsYXNzLmRhdGV0aW1lXT1cInByZXNlbnRhdGlvbiA9PSAnZGF0ZS10aW1lJ1wiXHJcbj5cclxuICA8bmctdGVtcGxhdGU+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGF0ZXRpbWVUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IG1vZGFsIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2lvbi1tb2RhbD5cclxuXHJcblxyXG48bmctdGVtcGxhdGUgI2RhdGV0aW1lVGVtcGxhdGUgbGV0LXBhcmVudD5cclxuICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYmctWy0taW9uLWNvbG9yLWxpZ2h0XSByb3VuZGVkLXhsXCIgdGFiaW5kZXg9XCItMVwiPlxyXG4gICAgQGlmKHByZXNlbnRhdGlvbi5pbmNsdWRlcygnZGF0ZScpKSB7XHJcbiAgICAgIDxpb24tZGF0ZXRpbWUgdGFiaW5kZXg9XCItMVwiIFtuZ01vZGVsXT1cInZhbHVlKClcIiBjbGFzcz1cImRhdGVcIiBwcmVzZW50YXRpb249XCJkYXRlXCIgKGlvbkNoYW5nZSk9XCJDaGFuZ2VEYXRlKCRldmVudC50YXJnZXQudmFsdWUpO1wiPjwvaW9uLWRhdGV0aW1lPlxyXG4gICAgfVxyXG4gICAgQGlmKHByZXNlbnRhdGlvbiA9PSAnZGF0ZS10aW1lJykge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcHktMTIgaC1bMjFyZW1dXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImgtZnVsbCBib3JkZXItci0yIGJvcmRlci1wcmltYXJ5IG1hc2steS8zMFwiPjwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIH1cclxuICAgIEBpZihwcmVzZW50YXRpb24uaW5jbHVkZXMoJ3RpbWUnKSkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiaC1bMjFyZW1dIGZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgPGlvbi1pY29uIGNsYXNzPVwidGV4dC0yeGxcIiBuYW1lPVwiYWxhcm1cIj48L2lvbi1pY29uPlxyXG4gICAgICAgIDxpb24tZGF0ZXRpbWUgdGFiaW5kZXg9XCItMVwiIFtuZ01vZGVsXT1cInZhbHVlKClcIiBjbGFzcz1cInRpbWVcIiBwcmVzZW50YXRpb249XCJ0aW1lXCIgaG91ckN5Y2xlPVwiaDI0XCIgKGlvbkNoYW5nZSk9XCJDaGFuZ2VEYXRlKCRldmVudC50YXJnZXQudmFsdWUpXCI+PC9pb24tZGF0ZXRpbWU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LWRhdGUvaW5wdXQtZGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LWRhdGUvaW5wdXQtZGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUF1QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFM0QsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUF3QixNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBWW5FLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxXQUFtQjtJQUtoRCxRQUFRLENBQUMsS0FBd0I7UUFDeEMsSUFBRyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssRUFB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QUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7K0dBekZVLGtCQUFrQjttR0FBbEIsa0JBQWtCLDhOQUxsQjtZQUNULEdBQUcsb0JBQW9CLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDO1lBQ3hELEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7U0FDNUUsd1BBeUVVLFdBQVcsdUVDN0Z4QixndEZBdUVjOzs0RkRqREQsa0JBQWtCO2tCQVQ5QixTQUFTOytCQUNFLHlDQUF5QyxhQUd4Qzt3QkFDVCxHQUFHLG9CQUFvQixDQUFDLFlBQVksb0JBQW9CO3dCQUN4RCxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUMsRUFBRTtxQkFDNUU7K0VBS21CLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTztnQkFDVyxjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFtRUgsUUFBUTtzQkFBL0IsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBpbnB1dCwgSW5wdXRTaWduYWwsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IG1hc2tpdG9EYXRlVGltZU9wdGlvbnNHZW5lcmF0b3IgfSBmcm9tICdAbWFza2l0by9raXQnO1xyXG5pbXBvcnQgeyBtYXNraXRvRGF0ZU9wdGlvbnNHZW5lcmF0b3IgfSBmcm9tICdAbWFza2l0by9raXQnO1xyXG5pbXBvcnQgeyBtYXNraXRvVGltZU9wdGlvbnNHZW5lcmF0b3IgfSBmcm9tICdAbWFza2l0by9raXQnO1xyXG5pbXBvcnQgeyBNYXNraXRvT3B0aW9ucyB9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcblxyXG5pbXBvcnQgeyBJbnB1dERhdGVDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9pbnB1dC1kYXRlLmNvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBJbnB1dFByb3ZpZGVyRmFjdG9yeSB9IGZyb20gJy4uL2lucHV0LXByb3ZpZGVyLWZhY3RvcnknO1xyXG5pbXBvcnQgeyBDdXN0b21JbnB1dCB9IGZyb20gJy4uL2N1c3RvbS1pbnB1dCc7XHJcbmltcG9ydCB7IElvbkRhdGV0aW1lLCBJb25Nb2RhbCwgSW9uUG9wb3ZlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgU0lvblBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wb3BvdmVyL3Npb24tcG9wb3Zlci9zaW9uLXBvcG92ZXIuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaW5wdXQtZGF0ZSwgaW5wdXQtZGF0ZS10aW1lLCBpbnB1dC10aW1lJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtZGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtZGF0ZS5jb21wb25lbnQuc2NzcycsICcuLi9pbnB1dHMuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgLi4uSW5wdXRQcm92aWRlckZhY3RvcnkuR2V0UHJvdmlkZXJzKElucHV0RGF0ZUNvbXBvbmVudCksXHJcbiAgICB7IHByb3ZpZGU6IEN1c3RvbUlucHV0LCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dERhdGVDb21wb25lbnQpIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0RGF0ZUNvbXBvbmVudCBleHRlbmRzIEN1c3RvbUlucHV0PHN0cmluZz4ge1xyXG5cclxuICBjb25maWd1cmF0aW9uOiBJbnB1dFNpZ25hbDxJbnB1dERhdGVDb25maWd1cmF0aW9uPiA9IGlucHV0PElucHV0RGF0ZUNvbmZpZ3VyYXRpb24+KG5ldyBJbnB1dERhdGVDb25maWd1cmF0aW9uKCkpO1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRDb250YWluZXInKSBpbnB1dENvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgb3ZlcnJpZGUgc2V0Rm9jdXMoZXZlbnQ6IE1vdXNlRXZlbnQgfCBudWxsKTogdm9pZCB7XHJcbiAgICBpZih0aGlzLmlucHV0ICYmIChldmVudCA9PSBudWxsIHx8IGV2ZW50LnRhcmdldCA9PSB0aGlzLmlucHV0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQpKSB7IHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpOyB9ICAgICAgXHJcbiAgfVxyXG4gIFxyXG4gIG9wdGlvbnM6IE1hc2tpdG9PcHRpb25zO1xyXG4gIGR0VmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIG1vbWVudEZvcm1hdDogbW9tZW50Lk1vbWVudEZvcm1hdFNwZWNpZmljYXRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgb3ZlcnJpZGUgZWxlbWVudFJlZjogRWxlbWVudFJlZlxyXG4gICkgeyBcclxuICAgIHN1cGVyKCk7IFxyXG4gICAgdGhpcy5wcmVzZW50YXRpb24gPSAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpIGFzIHN0cmluZykucmVwbGFjZSgnaW5wdXQtJywgJycpO1xyXG5cclxuICAgIGlmKHRoaXMucHJlc2VudGF0aW9uID09IFwiZGF0ZS10aW1lXCIpeyBcclxuICAgICAgdGhpcy5tb21lbnRGb3JtYXQgPSAnREQvTU0vWVlZWSBISDptbSc7XHJcbiAgICAgIHRoaXMub3B0aW9ucyA9IG1hc2tpdG9EYXRlVGltZU9wdGlvbnNHZW5lcmF0b3Ioe1xyXG4gICAgICAgIGRhdGVNb2RlOiAnZGQvbW0veXl5eScsXHJcbiAgICAgICAgdGltZU1vZGU6ICdISDpNTScsXHJcbiAgICAgICAgZGF0ZVNlcGFyYXRvcjogJy8nLFxyXG4gICAgICAgIGRhdGVUaW1lU2VwYXJhdG9yOiAnICcsXHJcbiAgICAgICAgdGltZVN0ZXA6IDEsXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlXHJcbiAgICBpZih0aGlzLnByZXNlbnRhdGlvbiA9PSBcImRhdGVcIikgeyBcclxuICAgICAgdGhpcy5tb21lbnRGb3JtYXQgPSAnREQvTU0vWVlZWSc7XHJcbiAgICAgIHRoaXMub3B0aW9ucyA9IG1hc2tpdG9EYXRlT3B0aW9uc0dlbmVyYXRvcih7IG1vZGU6ICdkZC9tbS95eXl5Jywgc2VwYXJhdG9yOiAnLyd9KTtcclxuICAgIH0gZWxzZVxyXG4gICAgaWYodGhpcy5wcmVzZW50YXRpb24gPT0gXCJ0aW1lXCIpIHtcclxuICAgICAgdGhpcy5tb21lbnRGb3JtYXQgPSAnSEg6bW0nOyBcclxuICAgICAgdGhpcy5vcHRpb25zID0gbWFza2l0b1RpbWVPcHRpb25zR2VuZXJhdG9yKHtcclxuICAgICAgICBtb2RlOiAnSEg6TU0nLFxyXG4gICAgICAgIHN0ZXA6IDEsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBwdWJsaWMgcHJlc2VudGF0aW9uOiBcImRhdGUtdGltZVwiIHwgXCJkYXRlXCIgfCBcInRpbWVcIiB8IHN0cmluZyA9IFwiZGF0ZS10aW1lXCJcclxuXHJcbiAgb3ZlcnJpZGUgU2V0VmFsdWUodmFsdWU6IHN0cmluZywgZnJvbURhdGVUaW1lOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcclxuICAgIGlmKGZyb21EYXRlVGltZSl7XHJcbiAgICAgIHRoaXMuZHRWYWx1ZSA9IG1vbWVudCh2YWx1ZSwgbW9tZW50LklTT184NjAxLCB0cnVlKS5mb3JtYXQodGhpcy5tb21lbnRGb3JtYXQudG9TdHJpbmcoKSk7XHJcbiAgICAgIHRoaXMudmFsdWUuc2V0KHZhbHVlKTtcclxuICAgICAgdGhpcy5ydW5WYWxpZGF0aW9uKCk7XHJcbiAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMudmFsdWUoKSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoJ1onLCAnJyk7XHJcbiAgICBpZihbJ2RhdGUtdGltZScsICdkYXRlJ10uaW5jbHVkZXModGhpcy5wcmVzZW50YXRpb24pKXtcclxuICAgICAgY29uc3QgZGF0ZSA9IG1vbWVudCh2YWx1ZSwgdGhpcy5tb21lbnRGb3JtYXQsIHRydWUpLnV0YyhmYWxzZSk7XHJcbiAgICAgIGlmKGRhdGUuaXNWYWxpZCgpIHx8ICF2YWx1ZSl7XHJcbiAgICAgICAgaWYodmFsdWUpe1xyXG4gICAgICAgICAgdGhpcy52YWx1ZS5zZXQoZGF0ZS5mb3JtYXQoKS5yZXBsYWNlKCdaJywgJycpKTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHRoaXMudmFsdWUuc2V0KG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnJ1blZhbGlkYXRpb24oKTtcclxuICAgICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZhbHVlKCkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmKHZhbHVlLmxlbmd0aCA9PSA1KXtcclxuICAgICAgdGhpcy52YWx1ZS5zZXQodmFsdWUpO1xyXG4gICAgICB0aGlzLnJ1blZhbGlkYXRpb24oKTtcclxuICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZSgpKTtcclxuICAgIH1cclxuICB9XHJcbiAgQFZpZXdDaGlsZChJb25EYXRldGltZSkgZGF0ZXRpbWU6IElvbkRhdGV0aW1lO1xyXG4gIFxyXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUob2JqOiBzdHJpbmcpOiB2b2lkIHwgUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLnZhbHVlLnNldChvYmopO1xyXG4gICAgdGhpcy5kdFZhbHVlID0gbW9tZW50KHRoaXMudmFsdWUoKSwgbW9tZW50LklTT184NjAxLCB0cnVlKS5mb3JtYXQodGhpcy5tb21lbnRGb3JtYXQudG9TdHJpbmcoKSk7XHJcbiAgICB0aGlzLnJ1blZhbGlkYXRpb24oKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIFByZXNlbnQobW9kYWw6IElvbk1vZGFsLCBwb3BvdmVyOiBTSW9uUG9wb3ZlckNvbXBvbmVudCwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA+IHdpbmRvdy5pbm5lckhlaWdodCkge1xyXG4gICAgICByZXR1cm4gcG9wb3Zlci5wcmVzZW50KGV2ZW50KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBtb2RhbC5wcmVzZW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBDaGFuZ2VEYXRlKHY6IHN0cmluZyB8IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLlNldFZhbHVlKHYudG9TdHJpbmcoKSwgdHJ1ZSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgXHJcbiAgI2lucHV0Q29udGFpbmVyXHJcbiAgY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIiBcclxuICAoY2xpY2spPVwic2V0Rm9jdXMoJGV2ZW50KVwiXHJcbiAgW2NsYXNzLnJlcXVpcmVkXT1cInJlcXVpcmVkKClcIiBcclxuICBbY2xhc3Muc3VibWl0dGVkXT1cInN1Ym1pdHRlZCgpXCIgXHJcbiAgW2NsYXNzLmludmFsaWRdPVwiaW52YWxpZFwiIFxyXG4gIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZCgpIHx8IGxvYWRpbmcoKVwiXHJcbiAgW2NsYXNzLmxvYWRpbmddPVwibG9hZGluZygpXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJpbnB1dC1sYWJlbFwiPiBcclxuICAgIDxzcGFuIGNsYXNzPVwidHJ1bmNhdGVcIj5cclxuICAgICAge3tsYWJlbCgpfX0gXHJcbiAgICA8L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgXHJcbiAgPGlucHV0ICNpbnB1dFxyXG4gICAgW25nTW9kZWxdPVwiZHRWYWx1ZVwiIFxyXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwiU2V0VmFsdWUoJGV2ZW50KVwiXHJcbiAgICBbbWFza2l0b109XCJvcHRpb25zXCJcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpIHx8IGxvYWRpbmcoKVwiXHJcbiAgLz5cclxuICBcclxuICA8aW9uLWJ1dHRvbiB0YWJpbmRleD1cIi0xXCIgY2xhc3M9XCJhYnNvbHV0ZSByaWdodC0xIGJvdHRvbS0xXCIgKGNsaWNrKT1cIlByZXNlbnQobW9kYWwsIHBvcG92ZXIsICRldmVudClcIiBjb2xvcj1cIm1lZGl1bVwiIHNpemU9XCJzbWFsbFwiIGZpbGw9XCJjbGVhclwiIHN0eWxlPVwiLS1ib3JkZXItcmFkaXVzOiAuNXJlbVwiPlxyXG4gICAgPGlvbi1pY29uIFtuYW1lXT1cInByZXNlbnRhdGlvbiA9PSAndGltZScgPyAndGltZScgOiAnY2FsZW5kYXInXCIgc2xvdD1cImljb24tb25seVwiPjwvaW9uLWljb24+XHJcbiAgPC9pb24tYnV0dG9uPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwibG9hZGluZy1jb250YWluZXJcIiBbY2xhc3MubG9hZGluZ109XCJsb2FkaW5nKClcIj5cclxuICAgIDxpb24tc3Bpbm5lcj48L2lvbi1zcGlubmVyPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxzaW9uLXBvcG92ZXJcclxuICBbYW5jaG9yXT1cImlucHV0Q29udGFpbmVyXCJcclxuICAjcG9wb3ZlciBcclxuICBbY2xhc3MudGltZV09XCJwcmVzZW50YXRpb24gPT0gJ3RpbWUnXCIgXHJcbiAgW2NsYXNzLmRhdGVdPVwicHJlc2VudGF0aW9uID09ICdkYXRlJ1wiIFxyXG4gIFtjbGFzcy5kYXRldGltZV09XCJwcmVzZW50YXRpb24gPT0gJ2RhdGUtdGltZSdcIlxyXG4+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRhdGV0aW1lVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBwb3BvdmVyIH1cIj48L25nLWNvbnRhaW5lcj5cclxuPC9zaW9uLXBvcG92ZXI+XHJcblxyXG48aW9uLW1vZGFsIFxyXG4gICNtb2RhbFxyXG4gIFtjbGFzcy50aW1lXT1cInByZXNlbnRhdGlvbiA9PSAndGltZSdcIiBcclxuICBbY2xhc3MuZGF0ZV09XCJwcmVzZW50YXRpb24gPT0gJ2RhdGUnXCIgXHJcbiAgW2NsYXNzLmRhdGV0aW1lXT1cInByZXNlbnRhdGlvbiA9PSAnZGF0ZS10aW1lJ1wiXHJcbj5cclxuICA8bmctdGVtcGxhdGU+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGF0ZXRpbWVUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IG1vZGFsIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2lvbi1tb2RhbD5cclxuXHJcblxyXG48bmctdGVtcGxhdGUgI2RhdGV0aW1lVGVtcGxhdGUgbGV0LXBhcmVudD5cclxuICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYmctWy0taW9uLWNvbG9yLWxpZ2h0XSByb3VuZGVkLXhsXCIgdGFiaW5kZXg9XCItMVwiPlxyXG4gICAgQGlmKHByZXNlbnRhdGlvbi5pbmNsdWRlcygnZGF0ZScpKSB7XHJcbiAgICAgIDxpb24tZGF0ZXRpbWUgdGFiaW5kZXg9XCItMVwiIFtuZ01vZGVsXT1cInZhbHVlKClcIiBjbGFzcz1cImRhdGVcIiBwcmVzZW50YXRpb249XCJkYXRlXCIgKGlvbkNoYW5nZSk9XCJDaGFuZ2VEYXRlKCRldmVudC50YXJnZXQudmFsdWUpO1wiPjwvaW9uLWRhdGV0aW1lPlxyXG4gICAgfVxyXG4gICAgQGlmKHByZXNlbnRhdGlvbiA9PSAnZGF0ZS10aW1lJykge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcHktMTIgaC1bMjFyZW1dXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImgtZnVsbCBib3JkZXItci0yIGJvcmRlci1wcmltYXJ5IG1hc2steS8zMFwiPjwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIH1cclxuICAgIEBpZihwcmVzZW50YXRpb24uaW5jbHVkZXMoJ3RpbWUnKSkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiaC1bMjFyZW1dIGZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgPGlvbi1pY29uIGNsYXNzPVwidGV4dC0yeGxcIiBuYW1lPVwiYWxhcm1cIj48L2lvbi1pY29uPlxyXG4gICAgICAgIDxpb24tZGF0ZXRpbWUgdGFiaW5kZXg9XCItMVwiIFtuZ01vZGVsXT1cInZhbHVlKClcIiBjbGFzcz1cInRpbWVcIiBwcmVzZW50YXRpb249XCJ0aW1lXCIgaG91ckN5Y2xlPVwiaDI0XCIgKGlvbkNoYW5nZSk9XCJDaGFuZ2VEYXRlKCRldmVudC50YXJnZXQudmFsdWUpXCI+PC9pb24tZGF0ZXRpbWU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
|