@carefirst/library 3.2.61 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (24) hide show
  1. package/esm2022/lib/components/alert/alert.component.mjs +3 -3
  2. package/esm2022/lib/components/badge/badge.component.mjs +3 -3
  3. package/esm2022/lib/components/button/button.component.mjs +5 -5
  4. package/esm2022/lib/components/calendar/calendar.component.mjs +3 -3
  5. package/esm2022/lib/components/chat-bubble/chat-bubble.component.mjs +3 -3
  6. package/esm2022/lib/components/form-input/form-input.component.mjs +3 -3
  7. package/esm2022/lib/components/form-input-select/form-input-select.component.mjs +4 -4
  8. package/esm2022/lib/components/form-input-text-area/form-input-text-area.component.mjs +3 -3
  9. package/esm2022/lib/components/form-validation/form-validation.component.mjs +3 -3
  10. package/esm2022/lib/components/icon/icon.component.mjs +3 -3
  11. package/esm2022/lib/components/logo/logo.component.mjs +3 -3
  12. package/esm2022/lib/components/mix-p/mix-p.component.mjs +3 -3
  13. package/esm2022/lib/components/notification/notification.component.mjs +8 -5
  14. package/esm2022/lib/components/page/page.component.mjs +3 -3
  15. package/esm2022/lib/components/spacer/spacer.component.mjs +3 -3
  16. package/esm2022/lib/components/spinner/spinner.component.mjs +3 -3
  17. package/esm2022/lib/components/verification-code/verification-code.component.mjs +3 -3
  18. package/esm2022/lib/directives/button-loader.directive.mjs +6 -6
  19. package/esm2022/lib/library.module.mjs +4 -4
  20. package/fesm2022/carefirst-library.mjs +66 -63
  21. package/fesm2022/carefirst-library.mjs.map +1 -1
  22. package/lib/components/form-input-select/form-input-select.component.d.ts +5 -5
  23. package/lib/components/notification/notification.component.d.ts +3 -2
  24. package/package.json +5 -5
@@ -42,10 +42,10 @@ export class AlertComponent {
42
42
  });
43
43
  alert.present();
44
44
  }
45
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: AlertComponent, deps: [{ token: i1.AlertController }], target: i0.ɵɵFactoryTarget.Component });
46
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: AlertComponent, selector: "cf-alert", inputs: { data: "data" }, outputs: { alertEvent: "alertEvent" }, usesOnChanges: true, ngImport: i0, template: "", styles: ["::ng-deep .care-first-alert .alert-wrapper{max-width:280px;padding:1.6rem;border-radius:1.6rem;background-color:var(--cf-app-background-light)}::ng-deep .care-first-alert .alert-wrapper>*{text-align:center;padding:0}::ng-deep .care-first-alert .alert-wrapper .alert-title{font-weight:900;font-size:1.8rem;color:var(--cf-app-text-color-default)}::ng-deep .care-first-alert .alert-wrapper .alert-message{font-size:1.4rem;margin-top:1.2rem;color:var(--cf-app-text-color-default)}@media (min-width: 768px){::ng-deep .care-first-alert .alert-wrapper{max-width:420px}::ng-deep .care-first-alert .alert-wrapper .alert-title{font-size:2.8rem}::ng-deep .care-first-alert .alert-wrapper .alert-message{font-size:1.8rem}}::ng-deep .care-first-alert .alert-wrapper .alert-button-group{margin-top:1.6rem;display:flex;justify-content:center;gap:4rem}@media (min-width: 768px){::ng-deep .care-first-alert .alert-wrapper .alert-button-group{gap:2rem}}::ng-deep .care-first-alert .alert-wrapper button.alert-button{font-size:1.6rem;padding:.6rem 2rem;margin:0;min-height:24px}::ng-deep .care-first-alert .alert-wrapper button.alert-button.alert-button-cancel{color:var(--cf-app-system-color-error)}::ng-deep .care-first-alert .alert-wrapper button.alert-button.alert-button-confirm{border-radius:.6rem;background-color:var(--cf-app-color-primary);color:var(--cf-app-text-color-light)}\n"] });
45
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: AlertComponent, deps: [{ token: i1.AlertController }], target: i0.ɵɵFactoryTarget.Component });
46
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: AlertComponent, selector: "cf-alert", inputs: { data: "data" }, outputs: { alertEvent: "alertEvent" }, usesOnChanges: true, ngImport: i0, template: "", styles: ["::ng-deep .care-first-alert .alert-wrapper{max-width:280px;padding:1.6rem;border-radius:1.6rem;background-color:var(--cf-app-background-light)}::ng-deep .care-first-alert .alert-wrapper>*{text-align:center;padding:0}::ng-deep .care-first-alert .alert-wrapper .alert-title{font-weight:900;font-size:1.8rem;color:var(--cf-app-text-color-default)}::ng-deep .care-first-alert .alert-wrapper .alert-message{font-size:1.4rem;margin-top:1.2rem;color:var(--cf-app-text-color-default)}@media (min-width: 768px){::ng-deep .care-first-alert .alert-wrapper{max-width:420px}::ng-deep .care-first-alert .alert-wrapper .alert-title{font-size:2.8rem}::ng-deep .care-first-alert .alert-wrapper .alert-message{font-size:1.8rem}}::ng-deep .care-first-alert .alert-wrapper .alert-button-group{margin-top:1.6rem;display:flex;justify-content:center;gap:4rem}@media (min-width: 768px){::ng-deep .care-first-alert .alert-wrapper .alert-button-group{gap:2rem}}::ng-deep .care-first-alert .alert-wrapper button.alert-button{font-size:1.6rem;padding:.6rem 2rem;margin:0;min-height:24px}::ng-deep .care-first-alert .alert-wrapper button.alert-button.alert-button-cancel{color:var(--cf-app-system-color-error)}::ng-deep .care-first-alert .alert-wrapper button.alert-button.alert-button-confirm{border-radius:.6rem;background-color:var(--cf-app-color-primary);color:var(--cf-app-text-color-light)}\n"] });
47
47
  }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: AlertComponent, decorators: [{
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: AlertComponent, decorators: [{
49
49
  type: Component,
50
50
  args: [{ selector: 'cf-alert', template: "", styles: ["::ng-deep .care-first-alert .alert-wrapper{max-width:280px;padding:1.6rem;border-radius:1.6rem;background-color:var(--cf-app-background-light)}::ng-deep .care-first-alert .alert-wrapper>*{text-align:center;padding:0}::ng-deep .care-first-alert .alert-wrapper .alert-title{font-weight:900;font-size:1.8rem;color:var(--cf-app-text-color-default)}::ng-deep .care-first-alert .alert-wrapper .alert-message{font-size:1.4rem;margin-top:1.2rem;color:var(--cf-app-text-color-default)}@media (min-width: 768px){::ng-deep .care-first-alert .alert-wrapper{max-width:420px}::ng-deep .care-first-alert .alert-wrapper .alert-title{font-size:2.8rem}::ng-deep .care-first-alert .alert-wrapper .alert-message{font-size:1.8rem}}::ng-deep .care-first-alert .alert-wrapper .alert-button-group{margin-top:1.6rem;display:flex;justify-content:center;gap:4rem}@media (min-width: 768px){::ng-deep .care-first-alert .alert-wrapper .alert-button-group{gap:2rem}}::ng-deep .care-first-alert .alert-wrapper button.alert-button{font-size:1.6rem;padding:.6rem 2rem;margin:0;min-height:24px}::ng-deep .care-first-alert .alert-wrapper button.alert-button.alert-button-cancel{color:var(--cf-app-system-color-error)}::ng-deep .care-first-alert .alert-wrapper button.alert-button.alert-button-confirm{border-radius:.6rem;background-color:var(--cf-app-color-primary);color:var(--cf-app-text-color-light)}\n"] }]
51
51
  }], ctorParameters: () => [{ type: i1.AlertController }], propDecorators: { data: [{
@@ -29,10 +29,10 @@ export class BadgeComponent {
29
29
  this.fontsize = 16;
30
30
  this.inputStretch = checkTruthAttribute(changes, 'stretch', this.inputStretch);
31
31
  }
32
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: BadgeComponent, selector: "cf-badge", inputs: { type: "type", icon: "icon", small: "small", large: "large", stretch: "stretch" }, usesOnChanges: true, ngImport: i0, template: "<div [className]=\"'cf-badge-' + inputType\" [ngClass]=\"{ small: inputSmall, large: inputLarge, stretch: inputStretch }\">\n <cf-icon *ngIf=\"inputIcon && inputType !== 'feedback-busy'\" [icon]=\"inputIcon\" [height]=\"fontsize\"></cf-icon>\n <ion-spinner *ngIf=\"inputType === 'feedback-busy'\"></ion-spinner>\n <p><ng-content></ng-content></p>\n</div>\n", styles: ["div[class^=cf-badge-]{--cf-badge-background: var(--cf-app-color-primary);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-badge-background);--cf-svg-overwrite-stroke-color: var(--cf-badge-text-color);display:flex;flex-direction:row;gap:8px;justify-content:center;align-items:center;padding:0 16px;border-radius:6px;width:fit-content;background:var(--cf-badge-background);border:.2rem solid var(--cf-badge-border-color);height:3.4rem}div[class^=cf-badge-]>p{width:fit-content;font-size:1.2rem;font-weight:500;font-style:normal;line-height:auto;color:var(--cf-badge-text-color)}div[class^=cf-badge-].small{height:2.8rem}div[class^=cf-badge-].small>p{font-size:1rem}div[class^=cf-badge-].large{height:4rem}div[class^=cf-badge-].large>p{font-size:1.6rem}div[class^=cf-badge-].stretch{width:100%}div.cf-badge-feedback-primary{--cf-badge-background: var(--cf-app-color-primary);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-badge-background)}div.cf-badge-white{--cf-badge-background: #fff;--cf-badge-text-color: var(--cf-app-text-color-default);--cf-badge-border-color: #fff}div.cf-badge-success{--cf-badge-background: var(--cf-app-system-color-success);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-app-system-color-success)}div.cf-badge-alert{--cf-badge-background: var(--cf-app-system-color-error);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-app-system-color-error)}div.cf-badge-accent{--cf-badge-background: var(--cf-app-color-accent);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-app-color-accent)}div.cf-badge-warning{--cf-badge-background: var(--cf-app-system-color-warning);--cf-badge-text-color: var(--cf-app-text-color-default);--cf-badge-border-color: var(--cf-app-system-color-warning)}div.cf-badge-disabled{--cf-badge-background: var(--cf-app-system-color-disabled);--cf-badge-text-color: var(--cf-app-text-color-grey);--cf-badge-border-color: var(--cf-app-system-color-disabled)}div.cf-badge-feedback-success{--cf-badge-background: var(--cf-app-system-color-light-success);--cf-badge-text-color: var(--cf-app-system-color-success);--cf-badge-border-color: var(--cf-app-system-color-success)}div.cf-badge-feedback-error{--cf-badge-background: var(--cf-app-system-color-light-error);--cf-badge-text-color: var(--cf-app-system-color-error);--cf-badge-border-color: var(--cf-app-system-color-error)}div.cf-badge-feedback-warning,div.cf-badge-feedback-busy{--cf-badge-background: var(--cf-app-system-color-light-warning);--cf-badge-text-color: var(--cf-app-system-color-warning);--cf-badge-border-color: var(--cf-app-system-color-warning)}div.cf-badge-feedback-busy ion-spinner{color:var(--cf-app-system-color-warning);height:1.2rem;width:1.2rem}div.cf-badge-custom-color{--cf-badge-background: var(--custom-color, var(--cf-app-color-primary));--cf-badge-text-color: var(--custom-color-text, var(--cf-app-text-color-light));--cf-badge-border-color: var(--cf-badge-background)}\n"], dependencies: [{ kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IconComponent, selector: "cf-icon", inputs: ["icon", "height", "heightMobile", "heightDesktop", "iconColor"] }] });
32
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: BadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: BadgeComponent, selector: "cf-badge", inputs: { type: "type", icon: "icon", small: "small", large: "large", stretch: "stretch" }, usesOnChanges: true, ngImport: i0, template: "<div [className]=\"'cf-badge-' + inputType\" [ngClass]=\"{ small: inputSmall, large: inputLarge, stretch: inputStretch }\">\n <cf-icon *ngIf=\"inputIcon && inputType !== 'feedback-busy'\" [icon]=\"inputIcon\" [height]=\"fontsize\"></cf-icon>\n <ion-spinner *ngIf=\"inputType === 'feedback-busy'\"></ion-spinner>\n <p><ng-content></ng-content></p>\n</div>\n", styles: ["div[class^=cf-badge-]{--cf-badge-background: var(--cf-app-color-primary);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-badge-background);--cf-svg-overwrite-stroke-color: var(--cf-badge-text-color);display:flex;flex-direction:row;gap:8px;justify-content:center;align-items:center;padding:0 16px;border-radius:6px;width:fit-content;background:var(--cf-badge-background);border:.2rem solid var(--cf-badge-border-color);height:3.4rem}div[class^=cf-badge-]>p{width:fit-content;font-size:1.2rem;font-weight:500;font-style:normal;line-height:auto;color:var(--cf-badge-text-color)}div[class^=cf-badge-].small{height:2.8rem}div[class^=cf-badge-].small>p{font-size:1rem}div[class^=cf-badge-].large{height:4rem}div[class^=cf-badge-].large>p{font-size:1.6rem}div[class^=cf-badge-].stretch{width:100%}div.cf-badge-feedback-primary{--cf-badge-background: var(--cf-app-color-primary);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-badge-background)}div.cf-badge-white{--cf-badge-background: #fff;--cf-badge-text-color: var(--cf-app-text-color-default);--cf-badge-border-color: #fff}div.cf-badge-success{--cf-badge-background: var(--cf-app-system-color-success);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-app-system-color-success)}div.cf-badge-alert{--cf-badge-background: var(--cf-app-system-color-error);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-app-system-color-error)}div.cf-badge-accent{--cf-badge-background: var(--cf-app-color-accent);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-app-color-accent)}div.cf-badge-warning{--cf-badge-background: var(--cf-app-system-color-warning);--cf-badge-text-color: var(--cf-app-text-color-default);--cf-badge-border-color: var(--cf-app-system-color-warning)}div.cf-badge-disabled{--cf-badge-background: var(--cf-app-system-color-disabled);--cf-badge-text-color: var(--cf-app-text-color-grey);--cf-badge-border-color: var(--cf-app-system-color-disabled)}div.cf-badge-feedback-success{--cf-badge-background: var(--cf-app-system-color-light-success);--cf-badge-text-color: var(--cf-app-system-color-success);--cf-badge-border-color: var(--cf-app-system-color-success)}div.cf-badge-feedback-error{--cf-badge-background: var(--cf-app-system-color-light-error);--cf-badge-text-color: var(--cf-app-system-color-error);--cf-badge-border-color: var(--cf-app-system-color-error)}div.cf-badge-feedback-warning,div.cf-badge-feedback-busy{--cf-badge-background: var(--cf-app-system-color-light-warning);--cf-badge-text-color: var(--cf-app-system-color-warning);--cf-badge-border-color: var(--cf-app-system-color-warning)}div.cf-badge-feedback-busy ion-spinner{color:var(--cf-app-system-color-warning);height:1.2rem;width:1.2rem}div.cf-badge-custom-color{--cf-badge-background: var(--custom-color, var(--cf-app-color-primary));--cf-badge-text-color: var(--custom-color-text, var(--cf-app-text-color-light));--cf-badge-border-color: var(--cf-badge-background)}\n"], dependencies: [{ kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IconComponent, selector: "cf-icon", inputs: ["icon", "height", "heightMobile", "heightDesktop", "iconColor"] }] });
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BadgeComponent, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: BadgeComponent, decorators: [{
36
36
  type: Component,
37
37
  args: [{ selector: 'cf-badge', template: "<div [className]=\"'cf-badge-' + inputType\" [ngClass]=\"{ small: inputSmall, large: inputLarge, stretch: inputStretch }\">\n <cf-icon *ngIf=\"inputIcon && inputType !== 'feedback-busy'\" [icon]=\"inputIcon\" [height]=\"fontsize\"></cf-icon>\n <ion-spinner *ngIf=\"inputType === 'feedback-busy'\"></ion-spinner>\n <p><ng-content></ng-content></p>\n</div>\n", styles: ["div[class^=cf-badge-]{--cf-badge-background: var(--cf-app-color-primary);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-badge-background);--cf-svg-overwrite-stroke-color: var(--cf-badge-text-color);display:flex;flex-direction:row;gap:8px;justify-content:center;align-items:center;padding:0 16px;border-radius:6px;width:fit-content;background:var(--cf-badge-background);border:.2rem solid var(--cf-badge-border-color);height:3.4rem}div[class^=cf-badge-]>p{width:fit-content;font-size:1.2rem;font-weight:500;font-style:normal;line-height:auto;color:var(--cf-badge-text-color)}div[class^=cf-badge-].small{height:2.8rem}div[class^=cf-badge-].small>p{font-size:1rem}div[class^=cf-badge-].large{height:4rem}div[class^=cf-badge-].large>p{font-size:1.6rem}div[class^=cf-badge-].stretch{width:100%}div.cf-badge-feedback-primary{--cf-badge-background: var(--cf-app-color-primary);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-badge-background)}div.cf-badge-white{--cf-badge-background: #fff;--cf-badge-text-color: var(--cf-app-text-color-default);--cf-badge-border-color: #fff}div.cf-badge-success{--cf-badge-background: var(--cf-app-system-color-success);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-app-system-color-success)}div.cf-badge-alert{--cf-badge-background: var(--cf-app-system-color-error);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-app-system-color-error)}div.cf-badge-accent{--cf-badge-background: var(--cf-app-color-accent);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-app-color-accent)}div.cf-badge-warning{--cf-badge-background: var(--cf-app-system-color-warning);--cf-badge-text-color: var(--cf-app-text-color-default);--cf-badge-border-color: var(--cf-app-system-color-warning)}div.cf-badge-disabled{--cf-badge-background: var(--cf-app-system-color-disabled);--cf-badge-text-color: var(--cf-app-text-color-grey);--cf-badge-border-color: var(--cf-app-system-color-disabled)}div.cf-badge-feedback-success{--cf-badge-background: var(--cf-app-system-color-light-success);--cf-badge-text-color: var(--cf-app-system-color-success);--cf-badge-border-color: var(--cf-app-system-color-success)}div.cf-badge-feedback-error{--cf-badge-background: var(--cf-app-system-color-light-error);--cf-badge-text-color: var(--cf-app-system-color-error);--cf-badge-border-color: var(--cf-app-system-color-error)}div.cf-badge-feedback-warning,div.cf-badge-feedback-busy{--cf-badge-background: var(--cf-app-system-color-light-warning);--cf-badge-text-color: var(--cf-app-system-color-warning);--cf-badge-border-color: var(--cf-app-system-color-warning)}div.cf-badge-feedback-busy ion-spinner{color:var(--cf-app-system-color-warning);height:1.2rem;width:1.2rem}div.cf-badge-custom-color{--cf-badge-background: var(--custom-color, var(--cf-app-color-primary));--cf-badge-text-color: var(--custom-color-text, var(--cf-app-text-color-light));--cf-badge-border-color: var(--cf-badge-background)}\n"] }]
38
38
  }], propDecorators: { type: [{
@@ -62,12 +62,12 @@ export class ButtonComponent {
62
62
  return color;
63
63
  return '';
64
64
  }
65
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
66
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: ButtonComponent, selector: "cf-btn", inputs: { type: "type", disabled: "disabled", alert: "alert", action: "action", white: "white", snug: "snug", accent: "accent", fontSize: "fontSize", iconStart: "iconStart", iconEnd: "iconEnd", loading: "loading", loadingText: "loadingText", customColor: "customColor" }, host: { properties: { "style.pointer-events": "this.parentEvents" } }, usesOnChanges: true, ngImport: i0, template: "<ion-button\n [style]=\"'--custom-color: ' + inputCustomColor\"\n [ngClass]=\"{\n 'cf-button-primary': inputType === 'primary',\n 'cf-button-secondary': inputType === 'secondary',\n 'cf-button-tertiary': inputType === 'tertiary',\n 'text-large': inputFontSize === 'large',\n 'text-small': inputFontSize === 'small',\n alert: inputAlert,\n action: inputAction,\n snug: inputSnug,\n accent: inputAccent,\n white: inputWhite,\n }\"\n mode=\"md\"\n [disabled]=\"inputDisabled || inputLoading\">\n <cf-icon *ngIf=\"inputIconStart\" [icon]=\"inputIconStart\" style=\"--cf-svg-overwrite-stroke-color: var(--button-text-color)\"></cf-icon>\n <ng-container *ngIf=\"loadingText && inputLoading; else originalText\">\n <cf-spinner [icon]=\"inputIconStart\" [size]=\"inputFontSize === 'large' ? 16 : inputFontSize === 'small' ? 10 : 12\"></cf-spinner>\n <p>{{ loadingText }}</p>\n </ng-container>\n <ng-template #originalText>\n <p *cfButtonLoader=\"inputLoading\"><ng-content></ng-content></p>\n </ng-template>\n <cf-icon *ngIf=\"inputIconEnd\" [icon]=\"inputIconEnd\" style=\"--cf-svg-overwrite-stroke-color: var(--button-text-color)\"></cf-icon>\n</ion-button>\n", styles: ["ion-button[class^=cf-button-]{--custom-color: var(--cf-app-color-primary);--core: var(--custom-color, var(--cf-app-color-primary));width:100%;min-height:5.6rem;border-radius:1rem .4rem 1rem 1rem;text-transform:capitalize;overflow:hidden;margin:0;--padding-top: 1.6rem;--padding-bottom: 1.6rem;--padding-start: 2.4rem;--padding-end: 2.4rem;font-size:1.2rem}ion-button[class^=cf-button-]>p{width:fit-content;font-weight:500;font-style:normal;line-height:auto;color:var(--button-text-color)}ion-button[class^=cf-button-]>:not(:first-child){margin-left:2rem}ion-button[class^=cf-button-]::part(native){border-radius:1rem .4rem 1rem 1rem;box-shadow:none}ion-button[class^=cf-button-].action{border-radius:.6rem;min-height:3.6rem;--padding-top: .6rem;--padding-bottom: .6rem;--padding-start: 2rem;--padding-end: 2rem}ion-button[class^=cf-button-].action::part(native){border-radius:.6rem}ion-button[class^=cf-button-].snug{width:fit-content}ion-button[class^=cf-button-].text-large{font-size:1.6rem}ion-button[class^=cf-button-].text-small{font-size:1rem}.cf-button-primary{--background: var(--core);--button-text-color: var(--cf-app-text-color-light)}.cf-button-primary[class*=disabled]{--background: var(--cf-app-system-color-disabled);--button-text-color: #9d9d9d}.cf-button-primary.accent:not([class*=disabled]){--background: var(--cf-app-color-accent)}.cf-button-primary.alert:not([class*=disabled]){--background: var(--cf-app-system-color-error)}.cf-button-primary.white:not([class*=disabled]){--background: var(--cf-app-background-light);--button-text-color: var(--cf-app-text-color-default)}.cf-button-secondary{--background: transparent;--button-text-color: var(--core)}.cf-button-secondary::part(native){border:.2rem solid var(--core)}.cf-button-secondary[class*=disabled]{--button-text-color: var(--cf-app-system-color-disabled)}.cf-button-secondary[class*=disabled]::part(native){border:.2rem solid var(--cf-app-system-color-disabled)}.cf-button-secondary.accent:not([class*=disabled]){--button-text-color: var(--cf-app-color-accent)}.cf-button-secondary.accent:not([class*=disabled])::part(native){border:.2rem solid var(--cf-app-color-accent)}.cf-button-secondary.alert:not([class*=disabled]){--button-text-color: var(--cf-app-system-color-error)}.cf-button-secondary.alert:not([class*=disabled])::part(native){border:.2rem solid var(--cf-app-system-color-error)}.cf-button-secondary.white:not([class*=disabled]){--background: var(--cf-app-color-primary);--button-text-color: var(--cf-app-text-color-light)}.cf-button-secondary.white:not([class*=disabled])::part(native){border:.2rem solid var(--cf-app-background-light)}.cf-button-tertiary{--background: transparent;--button-text-color: var(--core)}.cf-button-tertiary[class*=disabled]{--button-text-color: var(--cf-app-system-color-disabled)}.cf-button-tertiary.accent:not([class*=disabled]){--button-text-color: var(--cf-app-color-accent)}.cf-button-tertiary.alert:not([class*=disabled]){--button-text-color: var(--cf-app-system-color-error)}.cf-button-tertiary.white:not([class*=disabled]){--button-text-color: var(--cf-app-text-color-light)}\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: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IconComponent, selector: "cf-icon", inputs: ["icon", "height", "heightMobile", "heightDesktop", "iconColor"] }, { kind: "directive", type: i4.ButtonLoaderDirective, selector: "[cfButtonLoader]", inputs: ["cfButtonLoader"] }, { kind: "component", type: i5.SpinnerComponent, selector: "cf-spinner", inputs: ["size"] }] });
65
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
66
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: ButtonComponent, selector: "cf-btn", inputs: { type: "type", disabled: "disabled", alert: "alert", action: "action", white: "white", snug: "snug", accent: "accent", fontSize: "fontSize", iconStart: "iconStart", iconEnd: "iconEnd", loading: "loading", loadingText: "loadingText", customColor: "customColor" }, host: { properties: { "style.pointer-events": "this.parentEvents" } }, usesOnChanges: true, ngImport: i0, template: "<ion-button\n [style]=\"'--custom-color: ' + inputCustomColor\"\n [ngClass]=\"{\n 'cf-button-primary': inputType === 'primary',\n 'cf-button-secondary': inputType === 'secondary',\n 'cf-button-tertiary': inputType === 'tertiary',\n 'text-large': inputFontSize === 'large',\n 'text-small': inputFontSize === 'small',\n alert: inputAlert,\n action: inputAction,\n snug: inputSnug,\n accent: inputAccent,\n white: inputWhite\n }\"\n mode=\"md\"\n [disabled]=\"inputDisabled || inputLoading\">\n <cf-icon *ngIf=\"inputIconStart\" [icon]=\"inputIconStart\" style=\"--cf-svg-overwrite-stroke-color: var(--button-text-color)\"></cf-icon>\n <ng-container *ngIf=\"loadingText && inputLoading; else originalText\">\n <cf-spinner [icon]=\"inputIconStart\" [size]=\"inputFontSize === 'large' ? 16 : inputFontSize === 'small' ? 10 : 12\"></cf-spinner>\n <p>{{ loadingText }}</p>\n </ng-container>\n <ng-template #originalText>\n <p *cfButtonLoader=\"inputLoading\"><ng-content></ng-content></p>\n </ng-template>\n <cf-icon *ngIf=\"inputIconEnd\" [icon]=\"inputIconEnd\" style=\"--cf-svg-overwrite-stroke-color: var(--button-text-color)\"></cf-icon>\n</ion-button>\n", styles: ["ion-button[class^=cf-button-]{--custom-color: var(--cf-app-color-primary);--core: var(--custom-color, var(--cf-app-color-primary));width:100%;min-height:5.6rem;border-radius:1rem .4rem 1rem 1rem;text-transform:capitalize;overflow:hidden;margin:0;--padding-top: 1.6rem;--padding-bottom: 1.6rem;--padding-start: 2.4rem;--padding-end: 2.4rem;font-size:1.2rem}ion-button[class^=cf-button-]>p{width:fit-content;font-weight:500;font-style:normal;line-height:auto;color:var(--button-text-color)}ion-button[class^=cf-button-]>:not(:first-child){margin-left:2rem}ion-button[class^=cf-button-]::part(native){border-radius:1rem .4rem 1rem 1rem;box-shadow:none}ion-button[class^=cf-button-].action{border-radius:.6rem;min-height:3.6rem;--padding-top: .6rem;--padding-bottom: .6rem;--padding-start: 2rem;--padding-end: 2rem}ion-button[class^=cf-button-].action::part(native){border-radius:.6rem}ion-button[class^=cf-button-].snug{width:fit-content}ion-button[class^=cf-button-].text-large{font-size:1.6rem}ion-button[class^=cf-button-].text-small{font-size:1rem}.cf-button-primary{--background: var(--core);--button-text-color: var(--cf-app-text-color-light)}.cf-button-primary[class*=disabled]{--background: var(--cf-app-system-color-disabled);--button-text-color: #9d9d9d}.cf-button-primary.accent:not([class*=disabled]){--background: var(--cf-app-color-accent)}.cf-button-primary.alert:not([class*=disabled]){--background: var(--cf-app-system-color-error)}.cf-button-primary.white:not([class*=disabled]){--background: var(--cf-app-background-light);--button-text-color: var(--cf-app-text-color-default)}.cf-button-secondary{--background: transparent;--button-text-color: var(--core)}.cf-button-secondary::part(native){border:.2rem solid var(--core)}.cf-button-secondary[class*=disabled]{--button-text-color: var(--cf-app-system-color-disabled)}.cf-button-secondary[class*=disabled]::part(native){border:.2rem solid var(--cf-app-system-color-disabled)}.cf-button-secondary.accent:not([class*=disabled]){--button-text-color: var(--cf-app-color-accent)}.cf-button-secondary.accent:not([class*=disabled])::part(native){border:.2rem solid var(--cf-app-color-accent)}.cf-button-secondary.alert:not([class*=disabled]){--button-text-color: var(--cf-app-system-color-error)}.cf-button-secondary.alert:not([class*=disabled])::part(native){border:.2rem solid var(--cf-app-system-color-error)}.cf-button-secondary.white:not([class*=disabled]){--background: var(--cf-app-color-primary);--button-text-color: var(--cf-app-text-color-light)}.cf-button-secondary.white:not([class*=disabled])::part(native){border:.2rem solid var(--cf-app-background-light)}.cf-button-tertiary{--background: transparent;--button-text-color: var(--core)}.cf-button-tertiary[class*=disabled]{--button-text-color: var(--cf-app-system-color-disabled)}.cf-button-tertiary.accent:not([class*=disabled]){--button-text-color: var(--cf-app-color-accent)}.cf-button-tertiary.alert:not([class*=disabled]){--button-text-color: var(--cf-app-system-color-error)}.cf-button-tertiary.white:not([class*=disabled]){--button-text-color: var(--cf-app-text-color-light)}\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: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IconComponent, selector: "cf-icon", inputs: ["icon", "height", "heightMobile", "heightDesktop", "iconColor"] }, { kind: "directive", type: i4.ButtonLoaderDirective, selector: "[cfButtonLoader]", inputs: ["cfButtonLoader"] }, { kind: "component", type: i5.SpinnerComponent, selector: "cf-spinner", inputs: ["size"] }] });
67
67
  }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ButtonComponent, decorators: [{
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ButtonComponent, decorators: [{
69
69
  type: Component,
70
- args: [{ selector: 'cf-btn', template: "<ion-button\n [style]=\"'--custom-color: ' + inputCustomColor\"\n [ngClass]=\"{\n 'cf-button-primary': inputType === 'primary',\n 'cf-button-secondary': inputType === 'secondary',\n 'cf-button-tertiary': inputType === 'tertiary',\n 'text-large': inputFontSize === 'large',\n 'text-small': inputFontSize === 'small',\n alert: inputAlert,\n action: inputAction,\n snug: inputSnug,\n accent: inputAccent,\n white: inputWhite,\n }\"\n mode=\"md\"\n [disabled]=\"inputDisabled || inputLoading\">\n <cf-icon *ngIf=\"inputIconStart\" [icon]=\"inputIconStart\" style=\"--cf-svg-overwrite-stroke-color: var(--button-text-color)\"></cf-icon>\n <ng-container *ngIf=\"loadingText && inputLoading; else originalText\">\n <cf-spinner [icon]=\"inputIconStart\" [size]=\"inputFontSize === 'large' ? 16 : inputFontSize === 'small' ? 10 : 12\"></cf-spinner>\n <p>{{ loadingText }}</p>\n </ng-container>\n <ng-template #originalText>\n <p *cfButtonLoader=\"inputLoading\"><ng-content></ng-content></p>\n </ng-template>\n <cf-icon *ngIf=\"inputIconEnd\" [icon]=\"inputIconEnd\" style=\"--cf-svg-overwrite-stroke-color: var(--button-text-color)\"></cf-icon>\n</ion-button>\n", styles: ["ion-button[class^=cf-button-]{--custom-color: var(--cf-app-color-primary);--core: var(--custom-color, var(--cf-app-color-primary));width:100%;min-height:5.6rem;border-radius:1rem .4rem 1rem 1rem;text-transform:capitalize;overflow:hidden;margin:0;--padding-top: 1.6rem;--padding-bottom: 1.6rem;--padding-start: 2.4rem;--padding-end: 2.4rem;font-size:1.2rem}ion-button[class^=cf-button-]>p{width:fit-content;font-weight:500;font-style:normal;line-height:auto;color:var(--button-text-color)}ion-button[class^=cf-button-]>:not(:first-child){margin-left:2rem}ion-button[class^=cf-button-]::part(native){border-radius:1rem .4rem 1rem 1rem;box-shadow:none}ion-button[class^=cf-button-].action{border-radius:.6rem;min-height:3.6rem;--padding-top: .6rem;--padding-bottom: .6rem;--padding-start: 2rem;--padding-end: 2rem}ion-button[class^=cf-button-].action::part(native){border-radius:.6rem}ion-button[class^=cf-button-].snug{width:fit-content}ion-button[class^=cf-button-].text-large{font-size:1.6rem}ion-button[class^=cf-button-].text-small{font-size:1rem}.cf-button-primary{--background: var(--core);--button-text-color: var(--cf-app-text-color-light)}.cf-button-primary[class*=disabled]{--background: var(--cf-app-system-color-disabled);--button-text-color: #9d9d9d}.cf-button-primary.accent:not([class*=disabled]){--background: var(--cf-app-color-accent)}.cf-button-primary.alert:not([class*=disabled]){--background: var(--cf-app-system-color-error)}.cf-button-primary.white:not([class*=disabled]){--background: var(--cf-app-background-light);--button-text-color: var(--cf-app-text-color-default)}.cf-button-secondary{--background: transparent;--button-text-color: var(--core)}.cf-button-secondary::part(native){border:.2rem solid var(--core)}.cf-button-secondary[class*=disabled]{--button-text-color: var(--cf-app-system-color-disabled)}.cf-button-secondary[class*=disabled]::part(native){border:.2rem solid var(--cf-app-system-color-disabled)}.cf-button-secondary.accent:not([class*=disabled]){--button-text-color: var(--cf-app-color-accent)}.cf-button-secondary.accent:not([class*=disabled])::part(native){border:.2rem solid var(--cf-app-color-accent)}.cf-button-secondary.alert:not([class*=disabled]){--button-text-color: var(--cf-app-system-color-error)}.cf-button-secondary.alert:not([class*=disabled])::part(native){border:.2rem solid var(--cf-app-system-color-error)}.cf-button-secondary.white:not([class*=disabled]){--background: var(--cf-app-color-primary);--button-text-color: var(--cf-app-text-color-light)}.cf-button-secondary.white:not([class*=disabled])::part(native){border:.2rem solid var(--cf-app-background-light)}.cf-button-tertiary{--background: transparent;--button-text-color: var(--core)}.cf-button-tertiary[class*=disabled]{--button-text-color: var(--cf-app-system-color-disabled)}.cf-button-tertiary.accent:not([class*=disabled]){--button-text-color: var(--cf-app-color-accent)}.cf-button-tertiary.alert:not([class*=disabled]){--button-text-color: var(--cf-app-system-color-error)}.cf-button-tertiary.white:not([class*=disabled]){--button-text-color: var(--cf-app-text-color-light)}\n"] }]
70
+ args: [{ selector: 'cf-btn', template: "<ion-button\n [style]=\"'--custom-color: ' + inputCustomColor\"\n [ngClass]=\"{\n 'cf-button-primary': inputType === 'primary',\n 'cf-button-secondary': inputType === 'secondary',\n 'cf-button-tertiary': inputType === 'tertiary',\n 'text-large': inputFontSize === 'large',\n 'text-small': inputFontSize === 'small',\n alert: inputAlert,\n action: inputAction,\n snug: inputSnug,\n accent: inputAccent,\n white: inputWhite\n }\"\n mode=\"md\"\n [disabled]=\"inputDisabled || inputLoading\">\n <cf-icon *ngIf=\"inputIconStart\" [icon]=\"inputIconStart\" style=\"--cf-svg-overwrite-stroke-color: var(--button-text-color)\"></cf-icon>\n <ng-container *ngIf=\"loadingText && inputLoading; else originalText\">\n <cf-spinner [icon]=\"inputIconStart\" [size]=\"inputFontSize === 'large' ? 16 : inputFontSize === 'small' ? 10 : 12\"></cf-spinner>\n <p>{{ loadingText }}</p>\n </ng-container>\n <ng-template #originalText>\n <p *cfButtonLoader=\"inputLoading\"><ng-content></ng-content></p>\n </ng-template>\n <cf-icon *ngIf=\"inputIconEnd\" [icon]=\"inputIconEnd\" style=\"--cf-svg-overwrite-stroke-color: var(--button-text-color)\"></cf-icon>\n</ion-button>\n", styles: ["ion-button[class^=cf-button-]{--custom-color: var(--cf-app-color-primary);--core: var(--custom-color, var(--cf-app-color-primary));width:100%;min-height:5.6rem;border-radius:1rem .4rem 1rem 1rem;text-transform:capitalize;overflow:hidden;margin:0;--padding-top: 1.6rem;--padding-bottom: 1.6rem;--padding-start: 2.4rem;--padding-end: 2.4rem;font-size:1.2rem}ion-button[class^=cf-button-]>p{width:fit-content;font-weight:500;font-style:normal;line-height:auto;color:var(--button-text-color)}ion-button[class^=cf-button-]>:not(:first-child){margin-left:2rem}ion-button[class^=cf-button-]::part(native){border-radius:1rem .4rem 1rem 1rem;box-shadow:none}ion-button[class^=cf-button-].action{border-radius:.6rem;min-height:3.6rem;--padding-top: .6rem;--padding-bottom: .6rem;--padding-start: 2rem;--padding-end: 2rem}ion-button[class^=cf-button-].action::part(native){border-radius:.6rem}ion-button[class^=cf-button-].snug{width:fit-content}ion-button[class^=cf-button-].text-large{font-size:1.6rem}ion-button[class^=cf-button-].text-small{font-size:1rem}.cf-button-primary{--background: var(--core);--button-text-color: var(--cf-app-text-color-light)}.cf-button-primary[class*=disabled]{--background: var(--cf-app-system-color-disabled);--button-text-color: #9d9d9d}.cf-button-primary.accent:not([class*=disabled]){--background: var(--cf-app-color-accent)}.cf-button-primary.alert:not([class*=disabled]){--background: var(--cf-app-system-color-error)}.cf-button-primary.white:not([class*=disabled]){--background: var(--cf-app-background-light);--button-text-color: var(--cf-app-text-color-default)}.cf-button-secondary{--background: transparent;--button-text-color: var(--core)}.cf-button-secondary::part(native){border:.2rem solid var(--core)}.cf-button-secondary[class*=disabled]{--button-text-color: var(--cf-app-system-color-disabled)}.cf-button-secondary[class*=disabled]::part(native){border:.2rem solid var(--cf-app-system-color-disabled)}.cf-button-secondary.accent:not([class*=disabled]){--button-text-color: var(--cf-app-color-accent)}.cf-button-secondary.accent:not([class*=disabled])::part(native){border:.2rem solid var(--cf-app-color-accent)}.cf-button-secondary.alert:not([class*=disabled]){--button-text-color: var(--cf-app-system-color-error)}.cf-button-secondary.alert:not([class*=disabled])::part(native){border:.2rem solid var(--cf-app-system-color-error)}.cf-button-secondary.white:not([class*=disabled]){--background: var(--cf-app-color-primary);--button-text-color: var(--cf-app-text-color-light)}.cf-button-secondary.white:not([class*=disabled])::part(native){border:.2rem solid var(--cf-app-background-light)}.cf-button-tertiary{--background: transparent;--button-text-color: var(--core)}.cf-button-tertiary[class*=disabled]{--button-text-color: var(--cf-app-system-color-disabled)}.cf-button-tertiary.accent:not([class*=disabled]){--button-text-color: var(--cf-app-color-accent)}.cf-button-tertiary.alert:not([class*=disabled]){--button-text-color: var(--cf-app-system-color-error)}.cf-button-tertiary.white:not([class*=disabled]){--button-text-color: var(--cf-app-text-color-light)}\n"] }]
71
71
  }], propDecorators: { type: [{
72
72
  type: Input
73
73
  }], disabled: [{
@@ -98,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
98
98
  type: HostBinding,
99
99
  args: ['style.pointer-events']
100
100
  }] } });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtCQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBc0MsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxNQUFNLEVBQWUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7OztBQU90RSxNQUFNLE9BQU8sZUFBZTtJQUNqQixJQUFJLEdBQXlDLFNBQVMsQ0FBQztJQUN2RCxRQUFRLENBQWdDO0lBQ3hDLEtBQUssQ0FBZ0M7SUFDckMsTUFBTSxDQUFnQztJQUN0QyxLQUFLLENBQXNCO0lBQzNCLElBQUksQ0FBZ0M7SUFDcEMsTUFBTSxDQUFnQztJQUN0QyxRQUFRLENBQXFCO0lBQzdCLFNBQVMsQ0FBc0I7SUFDL0IsT0FBTyxDQUFzQjtJQUM3QixPQUFPLENBQWdDO0lBQ3ZDLFdBQVcsQ0FBVTtJQUNyQixXQUFXLENBQXNCO0lBRTFDLElBQXlDLFlBQVk7UUFDbkQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFHRCxTQUFTLEdBQXFCLFNBQVMsQ0FBQztJQUN4QyxhQUFhLEdBQXFDLFNBQVMsQ0FBQztJQUM1RCxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUNwQixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ2xCLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNuQixjQUFjLEdBQXNDLFNBQVMsQ0FBQztJQUM5RCxZQUFZLEdBQW9DLFNBQVMsQ0FBQztJQUMxRCxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQU90QixXQUFXLENBQUMsT0FBc0I7UUFFaEMsSUFBSSxDQUFDLFNBQVM7WUFDWixtQkFBbUIsQ0FBdUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQztRQUVoSixJQUFJLENBQUMsYUFBYSxHQUFHLG1CQUFtQixDQUFvQixPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV6SCxJQUFJLENBQUMsYUFBYSxHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRWxGLElBQUksQ0FBQyxVQUFVLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFekUsSUFBSSxDQUFDLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU1RSxJQUFJLENBQUMsU0FBUyxHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXRFLElBQUksQ0FBQyxXQUFXLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV6RSxJQUFJLENBQUMsY0FBYyxHQUFHLG1CQUFtQixDQUFTLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUU3RyxJQUFJLENBQUMsWUFBWSxHQUFHLG1CQUFtQixDQUFTLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUV2RyxJQUFJLENBQUMsWUFBWSxHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRS9FLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLFlBQVk7WUFBRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvSCxDQUFDO0lBUUQsZ0JBQWdCLENBQUMsS0FBYTtRQUU1QixJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFMUMsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNySSxPQUFPLEtBQUssQ0FBQztRQUNmLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzt1R0FsRlUsZUFBZTsyRkFBZixlQUFlLDBaQzNCNUIscXJDQTBCQTs7MkZEQ2EsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxRQUFROzhCQUtULElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVtQyxZQUFZO3NCQUFwRCxXQUFXO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ2FyZUZpcnN0IExpYnJhcnkgLSBCdXR0b25cbiAqXG4gKiBAZmlsZSAgICAgICAgICBidXR0b24uY29tcG9uZW50XG4gKiBAZGVzY3JpcHRpb24gICBDb250YWlucyBhbGwgdGhlIGxvZ2ljIGZvciBnZW5lcmF0aW5nIGEgQ2FyZUZpcnN0IEJ1dHRvblxuICogQGF1dGhvciAgICAgICAgSmFjcXVlcyBDb2V0emVlXG4gKiBAc2luY2UgICAgICAgICAyMDIzIC0gMTEgLSAwN1xuICogQHVzYWdlICAgICAgICAgPGNmLWJ0blxuICogICAgICAgICAgICAgICAgICAgdHlwZT1cIidwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3RlcnRpYXJ5J1wiXG4gKiAgICAgICAgICAgICAgICAgICBmb250U2l6ZT1cIidzbWFsbCcgfCAnbGFyZ2UnXCJcbiAqICAgICAgICAgICAgICAgICAgICVjdXN0b21Db2xvcj1cInZhcigpIHwgaGV4XCIlXG4gKiAgICAgICAgICAgICAgICAgICAlZGlzYWJsZWQlXG4gKiAgICAgICAgICAgICAgICAgICAlYWxlcnQlXG4gKiAgICAgICAgICAgICAgICAgICAlYWN0aW9uJVxuICogICAgICAgICAgICAgICAgICAgJXNudWclXG4gKiAgICAgICAgICAgICAgICA+VEVYVDwvY2YtYnRuPlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIHR5cGUgU2ltcGxlQ2hhbmdlcywgdHlwZSBPbkNoYW5nZXMsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjaGVja1RydXRoQXR0cmlidXRlLCB2YWxpZGF0ZVN0cmluZ1ZhbHVlIH0gZnJvbSAnLi4vLi4vdXRpbHMvYXR0cmlidXRlLnV0aWwnO1xuaW1wb3J0IHsgaWNvbnNDLCB0eXBlIEljb25zVCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaWNvbi5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjZi1idG4nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHR5cGU6ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3RlcnRpYXJ5JyA9ICdwcmltYXJ5JztcbiAgQElucHV0KCkgZGlzYWJsZWQ/OiBib29sZWFuIHwgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBhbGVydD86IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGFjdGlvbj86IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHdoaXRlPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBzbnVnPzogYm9vbGVhbiB8IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgYWNjZW50PzogYm9vbGVhbiB8IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgZm9udFNpemU/OiAnc21hbGwnIHwgJ2xhcmdlJztcbiAgQElucHV0KCkgaWNvblN0YXJ0PzogSWNvbnNUIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBpY29uRW5kPzogSWNvbnNUIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBsb2FkaW5nPzogYm9vbGVhbiB8IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgbG9hZGluZ1RleHQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGN1c3RvbUNvbG9yPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUucG9pbnRlci1ldmVudHMnKSBnZXQgcGFyZW50RXZlbnRzKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiAnbm9uZSc7XG4gICAgfVxuICAgIHJldHVybiAnYXV0byc7XG4gIH1cblxuICAvLy0tLSBMb2NhbCB2YXJpYWJsZXNcbiAgaW5wdXRUeXBlOiB0eXBlb2YgdGhpcy50eXBlID0gJ3ByaW1hcnknO1xuICBpbnB1dEZvbnRTaXplOiB0eXBlb2YgdGhpcy5mb250U2l6ZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgaW5wdXREaXNhYmxlZCA9IGZhbHNlO1xuICBpbnB1dEFsZXJ0ID0gZmFsc2U7XG4gIGlucHV0QWN0aW9uID0gZmFsc2U7XG4gIGlucHV0U251ZyA9IGZhbHNlO1xuICBpbnB1dEFjY2VudCA9IGZhbHNlO1xuICBpbnB1dFdoaXRlID0gZmFsc2U7XG4gIGlucHV0SWNvblN0YXJ0OiB0eXBlb2YgdGhpcy5pY29uU3RhcnQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gIGlucHV0SWNvbkVuZDogdHlwZW9mIHRoaXMuaWNvbkVuZCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgaW5wdXRMb2FkaW5nID0gZmFsc2U7XG4gIGlucHV0Q3VzdG9tQ29sb3IgPSAnJztcblxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIEBuYW1lICAgICAgICAgIG5nT25DaGFuZ2VzXG4gICAqIEBkZXNjcmlwdGlvbiAgIFVwZGF0ZSB2YXJpb3VzIHZhbHVlcyBvbiBpbnB1dCBjaGFuZ2VzXG4gICAqIEByZXR1cm5zICAgICAgIHt2b2lkfVxuICAgKi9cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIC8vLS0tIFR5cGVcbiAgICB0aGlzLmlucHV0VHlwZSA9XG4gICAgICB2YWxpZGF0ZVN0cmluZ1ZhbHVlPCdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3RlcnRpYXJ5Jz4oY2hhbmdlcywgJ3R5cGUnLCBbJ3ByaW1hcnknLCAnc2Vjb25kYXJ5JywgJ3RlcnRpYXJ5J10sIHRoaXMuaW5wdXRUeXBlKSB8fCAncHJpbWFyeSc7XG4gICAgLy8tLS0gRm9udCBTaXplXG4gICAgdGhpcy5pbnB1dEZvbnRTaXplID0gdmFsaWRhdGVTdHJpbmdWYWx1ZTwnc21hbGwnIHwgJ2xhcmdlJz4oY2hhbmdlcywgJ2ZvbnRTaXplJywgWydzbWFsbCcsICdsYXJnZSddLCB0aGlzLmlucHV0Rm9udFNpemUpO1xuICAgIC8vLS0tIERpc2FibGVkXG4gICAgdGhpcy5pbnB1dERpc2FibGVkID0gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzLCAnZGlzYWJsZWQnLCB0aGlzLmlucHV0RGlzYWJsZWQpO1xuICAgIC8vLS0tIEFsZXJ0XG4gICAgdGhpcy5pbnB1dEFsZXJ0ID0gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzLCAnYWxlcnQnLCB0aGlzLmlucHV0QWxlcnQpO1xuICAgIC8vLS0tIEFjdGlvblxuICAgIHRoaXMuaW5wdXRBY3Rpb24gPSBjaGVja1RydXRoQXR0cmlidXRlKGNoYW5nZXMsICdhY3Rpb24nLCB0aGlzLmlucHV0QWN0aW9uKTtcbiAgICAvLy0tLSBTbnVnXG4gICAgdGhpcy5pbnB1dFNudWcgPSBjaGVja1RydXRoQXR0cmlidXRlKGNoYW5nZXMsICdzbnVnJywgdGhpcy5pbnB1dFNudWcpO1xuICAgIC8vLS0tIEFjY2VudFxuICAgIHRoaXMuaW5wdXRBY2NlbnQgPSBjaGVja1RydXRoQXR0cmlidXRlKGNoYW5nZXMsICdhY2NlbnQnLCB0aGlzLmlucHV0QWNjZW50KTtcbiAgICAvLy0tLSBXaGl0ZVxuICAgIHRoaXMuaW5wdXRXaGl0ZSA9IGNoZWNrVHJ1dGhBdHRyaWJ1dGUoY2hhbmdlcywgJ3doaXRlJywgdGhpcy5pbnB1dFdoaXRlKTtcbiAgICAvLy0tLSBJY29uIFN0YXJ0XG4gICAgdGhpcy5pbnB1dEljb25TdGFydCA9IHZhbGlkYXRlU3RyaW5nVmFsdWU8SWNvbnNUPihjaGFuZ2VzLCAnaWNvblN0YXJ0JywgaWNvbnNDLnNsaWNlKCksIHRoaXMuaW5wdXRJY29uU3RhcnQpO1xuICAgIC8vLS0tIEljb24gU3RhcnRcbiAgICB0aGlzLmlucHV0SWNvbkVuZCA9IHZhbGlkYXRlU3RyaW5nVmFsdWU8SWNvbnNUPihjaGFuZ2VzLCAnaWNvbkVuZCcsIGljb25zQy5zbGljZSgpLCB0aGlzLmlucHV0SWNvbkVuZCk7XG4gICAgLy8tLS0gTG9hZGluZ1xuICAgIHRoaXMuaW5wdXRMb2FkaW5nID0gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzLCAnbG9hZGluZycsIHRoaXMuaW5wdXRMb2FkaW5nKTtcbiAgICAvLy0tLSBDdXN0b20gY29sb3JcbiAgICBpZiAoY2hhbmdlc1snY3VzdG9tQ29sb3InXT8uY3VycmVudFZhbHVlKSB0aGlzLmlucHV0Q3VzdG9tQ29sb3IgPSB0aGlzLmNoZWNrQ3VzdG9tQ29sb3IoY2hhbmdlc1snY3VzdG9tQ29sb3InXS5jdXJyZW50VmFsdWUpO1xuICB9XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICBjaGVja0N1c3RvbUNvbG9yXG4gICAqIEBkZXNjcmlwdGlvbiAgIENoZWNrIGlmIHRoZSBjdXN0b20gY29sb3IgaXMgdmFsaWRcbiAgICogQHBhcmFtICAgICAgICAge3N0cmluZ30gY29sb3JcbiAgICogQHJldHVybnMgICAgICAge3N0cmluZ31cbiAgICovXG4gIGNoZWNrQ3VzdG9tQ29sb3IoY29sb3I6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgLy8tLS0gQ2hlY2sgZm9yIGEgY3NzIHZhcmlhYmxlXG4gICAgaWYgKGNvbG9yLnN0YXJ0c1dpdGgoJ3ZhcicpKSByZXR1cm4gY29sb3I7XG4gICAgLy8tLS0gQ2hlY2sgaGV4XG4gICAgaWYgKGNvbG9yLnN0YXJ0c1dpdGgoJyMnKSAmJiAoY29sb3IubGVuZ3RoID09PSA0IHx8IGNvbG9yLmxlbmd0aCA9PT0gNykgJiYgY29sb3Iuc3BsaXQoJycpLmV2ZXJ5KChjaGFyKSA9PiBjaGFyLm1hdGNoKC9bIzAtOWEtZkEtRl0rLykpKVxuICAgICAgcmV0dXJuIGNvbG9yO1xuICAgIHJldHVybiAnJztcbiAgfVxufVxuIiwiPGlvbi1idXR0b25cbiAgW3N0eWxlXT1cIictLWN1c3RvbS1jb2xvcjogJyArIGlucHV0Q3VzdG9tQ29sb3JcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ2NmLWJ1dHRvbi1wcmltYXJ5JzogaW5wdXRUeXBlID09PSAncHJpbWFyeScsXG4gICAgJ2NmLWJ1dHRvbi1zZWNvbmRhcnknOiBpbnB1dFR5cGUgPT09ICdzZWNvbmRhcnknLFxuICAgICdjZi1idXR0b24tdGVydGlhcnknOiBpbnB1dFR5cGUgPT09ICd0ZXJ0aWFyeScsXG4gICAgJ3RleHQtbGFyZ2UnOiBpbnB1dEZvbnRTaXplID09PSAnbGFyZ2UnLFxuICAgICd0ZXh0LXNtYWxsJzogaW5wdXRGb250U2l6ZSA9PT0gJ3NtYWxsJyxcbiAgICBhbGVydDogaW5wdXRBbGVydCxcbiAgICBhY3Rpb246IGlucHV0QWN0aW9uLFxuICAgIHNudWc6IGlucHV0U251ZyxcbiAgICBhY2NlbnQ6IGlucHV0QWNjZW50LFxuICAgIHdoaXRlOiBpbnB1dFdoaXRlLFxuICB9XCJcbiAgbW9kZT1cIm1kXCJcbiAgW2Rpc2FibGVkXT1cImlucHV0RGlzYWJsZWQgfHwgaW5wdXRMb2FkaW5nXCI+XG4gIDxjZi1pY29uICpuZ0lmPVwiaW5wdXRJY29uU3RhcnRcIiBbaWNvbl09XCJpbnB1dEljb25TdGFydFwiIHN0eWxlPVwiLS1jZi1zdmctb3ZlcndyaXRlLXN0cm9rZS1jb2xvcjogdmFyKC0tYnV0dG9uLXRleHQtY29sb3IpXCI+PC9jZi1pY29uPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1RleHQgJiYgaW5wdXRMb2FkaW5nOyBlbHNlIG9yaWdpbmFsVGV4dFwiPlxuICAgIDxjZi1zcGlubmVyIFtpY29uXT1cImlucHV0SWNvblN0YXJ0XCIgW3NpemVdPVwiaW5wdXRGb250U2l6ZSA9PT0gJ2xhcmdlJyA/IDE2IDogaW5wdXRGb250U2l6ZSA9PT0gJ3NtYWxsJyA/IDEwIDogMTJcIj48L2NmLXNwaW5uZXI+XG4gICAgPHA+e3sgbG9hZGluZ1RleHQgfX08L3A+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI29yaWdpbmFsVGV4dD5cbiAgICA8cCAqY2ZCdXR0b25Mb2FkZXI9XCJpbnB1dExvYWRpbmdcIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9wPlxuICA8L25nLXRlbXBsYXRlPlxuICA8Y2YtaWNvbiAqbmdJZj1cImlucHV0SWNvbkVuZFwiIFtpY29uXT1cImlucHV0SWNvbkVuZFwiIHN0eWxlPVwiLS1jZi1zdmctb3ZlcndyaXRlLXN0cm9rZS1jb2xvcjogdmFyKC0tYnV0dG9uLXRleHQtY29sb3IpXCI+PC9jZi1pY29uPlxuPC9pb24tYnV0dG9uPlxuIl19
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtCQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBc0MsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxNQUFNLEVBQWUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7OztBQU90RSxNQUFNLE9BQU8sZUFBZTtJQUNqQixJQUFJLEdBQXlDLFNBQVMsQ0FBQztJQUN2RCxRQUFRLENBQWdDO0lBQ3hDLEtBQUssQ0FBZ0M7SUFDckMsTUFBTSxDQUFnQztJQUN0QyxLQUFLLENBQXNCO0lBQzNCLElBQUksQ0FBZ0M7SUFDcEMsTUFBTSxDQUFnQztJQUN0QyxRQUFRLENBQXFCO0lBQzdCLFNBQVMsQ0FBc0I7SUFDL0IsT0FBTyxDQUFzQjtJQUM3QixPQUFPLENBQWdDO0lBQ3ZDLFdBQVcsQ0FBVTtJQUNyQixXQUFXLENBQXNCO0lBRTFDLElBQXlDLFlBQVk7UUFDbkQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFHRCxTQUFTLEdBQXFCLFNBQVMsQ0FBQztJQUN4QyxhQUFhLEdBQXFDLFNBQVMsQ0FBQztJQUM1RCxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUNwQixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ2xCLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNuQixjQUFjLEdBQXNDLFNBQVMsQ0FBQztJQUM5RCxZQUFZLEdBQW9DLFNBQVMsQ0FBQztJQUMxRCxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQU90QixXQUFXLENBQUMsT0FBc0I7UUFFaEMsSUFBSSxDQUFDLFNBQVM7WUFDWixtQkFBbUIsQ0FBdUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQztRQUVoSixJQUFJLENBQUMsYUFBYSxHQUFHLG1CQUFtQixDQUFvQixPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV6SCxJQUFJLENBQUMsYUFBYSxHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRWxGLElBQUksQ0FBQyxVQUFVLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFekUsSUFBSSxDQUFDLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU1RSxJQUFJLENBQUMsU0FBUyxHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXRFLElBQUksQ0FBQyxXQUFXLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV6RSxJQUFJLENBQUMsY0FBYyxHQUFHLG1CQUFtQixDQUFTLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUU3RyxJQUFJLENBQUMsWUFBWSxHQUFHLG1CQUFtQixDQUFTLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUV2RyxJQUFJLENBQUMsWUFBWSxHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRS9FLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLFlBQVk7WUFBRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvSCxDQUFDO0lBUUQsZ0JBQWdCLENBQUMsS0FBYTtRQUU1QixJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFMUMsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNySSxPQUFPLEtBQUssQ0FBQztRQUNmLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzt1R0FsRlUsZUFBZTsyRkFBZixlQUFlLDBaQzNCNUIsb3JDQTBCQTs7MkZEQ2EsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxRQUFROzhCQUtULElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVtQyxZQUFZO3NCQUFwRCxXQUFXO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ2FyZUZpcnN0IExpYnJhcnkgLSBCdXR0b25cbiAqXG4gKiBAZmlsZSAgICAgICAgICBidXR0b24uY29tcG9uZW50XG4gKiBAZGVzY3JpcHRpb24gICBDb250YWlucyBhbGwgdGhlIGxvZ2ljIGZvciBnZW5lcmF0aW5nIGEgQ2FyZUZpcnN0IEJ1dHRvblxuICogQGF1dGhvciAgICAgICAgSmFjcXVlcyBDb2V0emVlXG4gKiBAc2luY2UgICAgICAgICAyMDIzIC0gMTEgLSAwN1xuICogQHVzYWdlICAgICAgICAgPGNmLWJ0blxuICogICAgICAgICAgICAgICAgICAgdHlwZT1cIidwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3RlcnRpYXJ5J1wiXG4gKiAgICAgICAgICAgICAgICAgICBmb250U2l6ZT1cIidzbWFsbCcgfCAnbGFyZ2UnXCJcbiAqICAgICAgICAgICAgICAgICAgICVjdXN0b21Db2xvcj1cInZhcigpIHwgaGV4XCIlXG4gKiAgICAgICAgICAgICAgICAgICAlZGlzYWJsZWQlXG4gKiAgICAgICAgICAgICAgICAgICAlYWxlcnQlXG4gKiAgICAgICAgICAgICAgICAgICAlYWN0aW9uJVxuICogICAgICAgICAgICAgICAgICAgJXNudWclXG4gKiAgICAgICAgICAgICAgICA+VEVYVDwvY2YtYnRuPlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIHR5cGUgU2ltcGxlQ2hhbmdlcywgdHlwZSBPbkNoYW5nZXMsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjaGVja1RydXRoQXR0cmlidXRlLCB2YWxpZGF0ZVN0cmluZ1ZhbHVlIH0gZnJvbSAnLi4vLi4vdXRpbHMvYXR0cmlidXRlLnV0aWwnO1xuaW1wb3J0IHsgaWNvbnNDLCB0eXBlIEljb25zVCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaWNvbi5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjZi1idG4nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHR5cGU6ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3RlcnRpYXJ5JyA9ICdwcmltYXJ5JztcbiAgQElucHV0KCkgZGlzYWJsZWQ/OiBib29sZWFuIHwgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBhbGVydD86IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGFjdGlvbj86IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHdoaXRlPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBzbnVnPzogYm9vbGVhbiB8IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgYWNjZW50PzogYm9vbGVhbiB8IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgZm9udFNpemU/OiAnc21hbGwnIHwgJ2xhcmdlJztcbiAgQElucHV0KCkgaWNvblN0YXJ0PzogSWNvbnNUIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBpY29uRW5kPzogSWNvbnNUIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBsb2FkaW5nPzogYm9vbGVhbiB8IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgbG9hZGluZ1RleHQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGN1c3RvbUNvbG9yPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUucG9pbnRlci1ldmVudHMnKSBnZXQgcGFyZW50RXZlbnRzKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiAnbm9uZSc7XG4gICAgfVxuICAgIHJldHVybiAnYXV0byc7XG4gIH1cblxuICAvLy0tLSBMb2NhbCB2YXJpYWJsZXNcbiAgaW5wdXRUeXBlOiB0eXBlb2YgdGhpcy50eXBlID0gJ3ByaW1hcnknO1xuICBpbnB1dEZvbnRTaXplOiB0eXBlb2YgdGhpcy5mb250U2l6ZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgaW5wdXREaXNhYmxlZCA9IGZhbHNlO1xuICBpbnB1dEFsZXJ0ID0gZmFsc2U7XG4gIGlucHV0QWN0aW9uID0gZmFsc2U7XG4gIGlucHV0U251ZyA9IGZhbHNlO1xuICBpbnB1dEFjY2VudCA9IGZhbHNlO1xuICBpbnB1dFdoaXRlID0gZmFsc2U7XG4gIGlucHV0SWNvblN0YXJ0OiB0eXBlb2YgdGhpcy5pY29uU3RhcnQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gIGlucHV0SWNvbkVuZDogdHlwZW9mIHRoaXMuaWNvbkVuZCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgaW5wdXRMb2FkaW5nID0gZmFsc2U7XG4gIGlucHV0Q3VzdG9tQ29sb3IgPSAnJztcblxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIEBuYW1lICAgICAgICAgIG5nT25DaGFuZ2VzXG4gICAqIEBkZXNjcmlwdGlvbiAgIFVwZGF0ZSB2YXJpb3VzIHZhbHVlcyBvbiBpbnB1dCBjaGFuZ2VzXG4gICAqIEByZXR1cm5zICAgICAgIHt2b2lkfVxuICAgKi9cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIC8vLS0tIFR5cGVcbiAgICB0aGlzLmlucHV0VHlwZSA9XG4gICAgICB2YWxpZGF0ZVN0cmluZ1ZhbHVlPCdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3RlcnRpYXJ5Jz4oY2hhbmdlcywgJ3R5cGUnLCBbJ3ByaW1hcnknLCAnc2Vjb25kYXJ5JywgJ3RlcnRpYXJ5J10sIHRoaXMuaW5wdXRUeXBlKSB8fCAncHJpbWFyeSc7XG4gICAgLy8tLS0gRm9udCBTaXplXG4gICAgdGhpcy5pbnB1dEZvbnRTaXplID0gdmFsaWRhdGVTdHJpbmdWYWx1ZTwnc21hbGwnIHwgJ2xhcmdlJz4oY2hhbmdlcywgJ2ZvbnRTaXplJywgWydzbWFsbCcsICdsYXJnZSddLCB0aGlzLmlucHV0Rm9udFNpemUpO1xuICAgIC8vLS0tIERpc2FibGVkXG4gICAgdGhpcy5pbnB1dERpc2FibGVkID0gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzLCAnZGlzYWJsZWQnLCB0aGlzLmlucHV0RGlzYWJsZWQpO1xuICAgIC8vLS0tIEFsZXJ0XG4gICAgdGhpcy5pbnB1dEFsZXJ0ID0gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzLCAnYWxlcnQnLCB0aGlzLmlucHV0QWxlcnQpO1xuICAgIC8vLS0tIEFjdGlvblxuICAgIHRoaXMuaW5wdXRBY3Rpb24gPSBjaGVja1RydXRoQXR0cmlidXRlKGNoYW5nZXMsICdhY3Rpb24nLCB0aGlzLmlucHV0QWN0aW9uKTtcbiAgICAvLy0tLSBTbnVnXG4gICAgdGhpcy5pbnB1dFNudWcgPSBjaGVja1RydXRoQXR0cmlidXRlKGNoYW5nZXMsICdzbnVnJywgdGhpcy5pbnB1dFNudWcpO1xuICAgIC8vLS0tIEFjY2VudFxuICAgIHRoaXMuaW5wdXRBY2NlbnQgPSBjaGVja1RydXRoQXR0cmlidXRlKGNoYW5nZXMsICdhY2NlbnQnLCB0aGlzLmlucHV0QWNjZW50KTtcbiAgICAvLy0tLSBXaGl0ZVxuICAgIHRoaXMuaW5wdXRXaGl0ZSA9IGNoZWNrVHJ1dGhBdHRyaWJ1dGUoY2hhbmdlcywgJ3doaXRlJywgdGhpcy5pbnB1dFdoaXRlKTtcbiAgICAvLy0tLSBJY29uIFN0YXJ0XG4gICAgdGhpcy5pbnB1dEljb25TdGFydCA9IHZhbGlkYXRlU3RyaW5nVmFsdWU8SWNvbnNUPihjaGFuZ2VzLCAnaWNvblN0YXJ0JywgaWNvbnNDLnNsaWNlKCksIHRoaXMuaW5wdXRJY29uU3RhcnQpO1xuICAgIC8vLS0tIEljb24gU3RhcnRcbiAgICB0aGlzLmlucHV0SWNvbkVuZCA9IHZhbGlkYXRlU3RyaW5nVmFsdWU8SWNvbnNUPihjaGFuZ2VzLCAnaWNvbkVuZCcsIGljb25zQy5zbGljZSgpLCB0aGlzLmlucHV0SWNvbkVuZCk7XG4gICAgLy8tLS0gTG9hZGluZ1xuICAgIHRoaXMuaW5wdXRMb2FkaW5nID0gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzLCAnbG9hZGluZycsIHRoaXMuaW5wdXRMb2FkaW5nKTtcbiAgICAvLy0tLSBDdXN0b20gY29sb3JcbiAgICBpZiAoY2hhbmdlc1snY3VzdG9tQ29sb3InXT8uY3VycmVudFZhbHVlKSB0aGlzLmlucHV0Q3VzdG9tQ29sb3IgPSB0aGlzLmNoZWNrQ3VzdG9tQ29sb3IoY2hhbmdlc1snY3VzdG9tQ29sb3InXS5jdXJyZW50VmFsdWUpO1xuICB9XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICBjaGVja0N1c3RvbUNvbG9yXG4gICAqIEBkZXNjcmlwdGlvbiAgIENoZWNrIGlmIHRoZSBjdXN0b20gY29sb3IgaXMgdmFsaWRcbiAgICogQHBhcmFtICAgICAgICAge3N0cmluZ30gY29sb3JcbiAgICogQHJldHVybnMgICAgICAge3N0cmluZ31cbiAgICovXG4gIGNoZWNrQ3VzdG9tQ29sb3IoY29sb3I6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgLy8tLS0gQ2hlY2sgZm9yIGEgY3NzIHZhcmlhYmxlXG4gICAgaWYgKGNvbG9yLnN0YXJ0c1dpdGgoJ3ZhcicpKSByZXR1cm4gY29sb3I7XG4gICAgLy8tLS0gQ2hlY2sgaGV4XG4gICAgaWYgKGNvbG9yLnN0YXJ0c1dpdGgoJyMnKSAmJiAoY29sb3IubGVuZ3RoID09PSA0IHx8IGNvbG9yLmxlbmd0aCA9PT0gNykgJiYgY29sb3Iuc3BsaXQoJycpLmV2ZXJ5KChjaGFyKSA9PiBjaGFyLm1hdGNoKC9bIzAtOWEtZkEtRl0rLykpKVxuICAgICAgcmV0dXJuIGNvbG9yO1xuICAgIHJldHVybiAnJztcbiAgfVxufVxuIiwiPGlvbi1idXR0b25cbiAgW3N0eWxlXT1cIictLWN1c3RvbS1jb2xvcjogJyArIGlucHV0Q3VzdG9tQ29sb3JcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ2NmLWJ1dHRvbi1wcmltYXJ5JzogaW5wdXRUeXBlID09PSAncHJpbWFyeScsXG4gICAgJ2NmLWJ1dHRvbi1zZWNvbmRhcnknOiBpbnB1dFR5cGUgPT09ICdzZWNvbmRhcnknLFxuICAgICdjZi1idXR0b24tdGVydGlhcnknOiBpbnB1dFR5cGUgPT09ICd0ZXJ0aWFyeScsXG4gICAgJ3RleHQtbGFyZ2UnOiBpbnB1dEZvbnRTaXplID09PSAnbGFyZ2UnLFxuICAgICd0ZXh0LXNtYWxsJzogaW5wdXRGb250U2l6ZSA9PT0gJ3NtYWxsJyxcbiAgICBhbGVydDogaW5wdXRBbGVydCxcbiAgICBhY3Rpb246IGlucHV0QWN0aW9uLFxuICAgIHNudWc6IGlucHV0U251ZyxcbiAgICBhY2NlbnQ6IGlucHV0QWNjZW50LFxuICAgIHdoaXRlOiBpbnB1dFdoaXRlXG4gIH1cIlxuICBtb2RlPVwibWRcIlxuICBbZGlzYWJsZWRdPVwiaW5wdXREaXNhYmxlZCB8fCBpbnB1dExvYWRpbmdcIj5cbiAgPGNmLWljb24gKm5nSWY9XCJpbnB1dEljb25TdGFydFwiIFtpY29uXT1cImlucHV0SWNvblN0YXJ0XCIgc3R5bGU9XCItLWNmLXN2Zy1vdmVyd3JpdGUtc3Ryb2tlLWNvbG9yOiB2YXIoLS1idXR0b24tdGV4dC1jb2xvcilcIj48L2NmLWljb24+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nVGV4dCAmJiBpbnB1dExvYWRpbmc7IGVsc2Ugb3JpZ2luYWxUZXh0XCI+XG4gICAgPGNmLXNwaW5uZXIgW2ljb25dPVwiaW5wdXRJY29uU3RhcnRcIiBbc2l6ZV09XCJpbnB1dEZvbnRTaXplID09PSAnbGFyZ2UnID8gMTYgOiBpbnB1dEZvbnRTaXplID09PSAnc21hbGwnID8gMTAgOiAxMlwiPjwvY2Ytc3Bpbm5lcj5cbiAgICA8cD57eyBsb2FkaW5nVGV4dCB9fTwvcD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjb3JpZ2luYWxUZXh0PlxuICAgIDxwICpjZkJ1dHRvbkxvYWRlcj1cImlucHV0TG9hZGluZ1wiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L3A+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxjZi1pY29uICpuZ0lmPVwiaW5wdXRJY29uRW5kXCIgW2ljb25dPVwiaW5wdXRJY29uRW5kXCIgc3R5bGU9XCItLWNmLXN2Zy1vdmVyd3JpdGUtc3Ryb2tlLWNvbG9yOiB2YXIoLS1idXR0b24tdGV4dC1jb2xvcilcIj48L2NmLWljb24+XG48L2lvbi1idXR0b24+XG4iXX0=
@@ -19,10 +19,10 @@ export class CalendarComponent {
19
19
  if (typeof value === 'string')
20
20
  this.value.emit(dayjs(value).format('YYYY-MM-DD' + (this.inputTime ? ' HH:mm' : '')));
21
21
  }
22
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: CalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: CalendarComponent, selector: "cf-calendar", inputs: { displayTime: "displayTime", color: "color", min: "min", max: "max" }, outputs: { value: "value" }, usesOnChanges: true, ngImport: i0, template: "<ion-datetime\n [class]=\"inputColor\"\n mode=\"ios\"\n firstDayOfWeek=\"1\"\n [min]=\"min\"\n [max]=\"max\"\n [presentation]=\"inputTime ? 'date-time' : 'date'\"\n (ionChange)=\"setValue($event.detail.value)\">\n</ion-datetime>\n", styles: ["ion-datetime{--background: var(--cf-app-background-light);color:var(--cf-app-text-color-default)}ion-datetime::part(calendar-day){font-size:1.6rem}ion-datetime::part(month-year-button){font-size:1.8rem;font-weight:900;color:var(--cf-app-text-color-default)}ion-datetime.accent::part(today){border:1px solid var(--cf-app-color-accent);color:var(--cf-app-color-accent)}ion-datetime.accent::part(active){background-color:var(--cf-app-color-accent);color:var(--cf-app-text-color-light)}ion-datetime.success::part(today){border:1px solid var(--cf-app-system-color-success);color:var(--cf-app-text-color-default)}ion-datetime.success::part(active){background-color:var(--cf-app-system-color-success);color:var(--cf-app-text-color-light)}\n"], dependencies: [{ 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: "directive", type: i1.SelectValueAccessor, selector: "ion-select, ion-radio-group, ion-segment, ion-datetime" }] });
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: CalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: CalendarComponent, selector: "cf-calendar", inputs: { displayTime: "displayTime", color: "color", min: "min", max: "max" }, outputs: { value: "value" }, usesOnChanges: true, ngImport: i0, template: "<ion-datetime\n [class]=\"inputColor\"\n mode=\"ios\"\n firstDayOfWeek=\"1\"\n [min]=\"min\"\n [max]=\"max\"\n [presentation]=\"inputTime ? 'date-time' : 'date'\"\n (ionChange)=\"setValue($event.detail.value)\">\n</ion-datetime>\n", styles: ["ion-datetime{--background: var(--cf-app-background-light);color:var(--cf-app-text-color-default)}ion-datetime::part(calendar-day){font-size:1.6rem}ion-datetime::part(month-year-button){font-size:1.8rem;font-weight:900;color:var(--cf-app-text-color-default)}ion-datetime.accent::part(today){border:1px solid var(--cf-app-color-accent);color:var(--cf-app-color-accent)}ion-datetime.accent::part(active){background-color:var(--cf-app-color-accent);color:var(--cf-app-text-color-light)}ion-datetime.success::part(today){border:1px solid var(--cf-app-system-color-success);color:var(--cf-app-text-color-default)}ion-datetime.success::part(active){background-color:var(--cf-app-system-color-success);color:var(--cf-app-text-color-light)}\n"], dependencies: [{ 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: "directive", type: i1.SelectValueAccessor, selector: "ion-select, ion-radio-group, ion-segment, ion-datetime" }] });
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: CalendarComponent, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: CalendarComponent, decorators: [{
26
26
  type: Component,
27
27
  args: [{ selector: 'cf-calendar', template: "<ion-datetime\n [class]=\"inputColor\"\n mode=\"ios\"\n firstDayOfWeek=\"1\"\n [min]=\"min\"\n [max]=\"max\"\n [presentation]=\"inputTime ? 'date-time' : 'date'\"\n (ionChange)=\"setValue($event.detail.value)\">\n</ion-datetime>\n", styles: ["ion-datetime{--background: var(--cf-app-background-light);color:var(--cf-app-text-color-default)}ion-datetime::part(calendar-day){font-size:1.6rem}ion-datetime::part(month-year-button){font-size:1.8rem;font-weight:900;color:var(--cf-app-text-color-default)}ion-datetime.accent::part(today){border:1px solid var(--cf-app-color-accent);color:var(--cf-app-color-accent)}ion-datetime.accent::part(active){background-color:var(--cf-app-color-accent);color:var(--cf-app-text-color-light)}ion-datetime.success::part(today){border:1px solid var(--cf-app-system-color-success);color:var(--cf-app-text-color-default)}ion-datetime.success::part(active){background-color:var(--cf-app-system-color-success);color:var(--cf-app-text-color-light)}\n"] }]
28
28
  }], propDecorators: { displayTime: [{
@@ -20,10 +20,10 @@ export class ChatBubbleComponent {
20
20
  this.inputMessage = changes['message']?.currentValue || '';
21
21
  this.inputDarkMode = checkTruthAttribute(changes, 'darkMode', this.inputDarkMode);
22
22
  }
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ChatBubbleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: ChatBubbleComponent, selector: "cf-chat-bubble", inputs: { type: "type", date: "date", message: "message", darkMode: "darkMode" }, usesOnChanges: true, ngImport: i0, template: "<div id=\"container\" [ngClass]=\"inputType\">\n <div id=\"message\">\n <p class=\"body-extra-small\" [ngClass]=\"{ light: inputDarkMode }\">{{ inputDate }}</p>\n <cf-spacer default=\"4\"></cf-spacer>\n <div id=\"bubble\">\n <p class=\"body-extra-small\">{{ inputMessage }}</p>\n </div>\n </div>\n</div>\n", styles: ["#container{display:flex}#container #message p{color:var(--cf-app-text-color-default)}#container #message p.light{color:var(--cf-app-text-color-light)}#container #message #bubble{background:var(--message-background-color);border-radius:var(--border-radius);padding:12px 16px}#container #message #bubble p{color:var(--cf-app-text-color-light)}#container.outgoing{justify-content:end;text-align:end;--border-radius: 16px 4px 16px 16px;--message-background-color: var(--cf-app-color-primary)}#container.incoming{justify-content:start;text-align:start;--border-radius: 4px 16px 16px 16px;--message-background-color: var(--cf-app-color-secondary)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.SpacerComponent, selector: "cf-spacer", inputs: ["default", "mobile", "desktop"] }] });
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ChatBubbleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: ChatBubbleComponent, selector: "cf-chat-bubble", inputs: { type: "type", date: "date", message: "message", darkMode: "darkMode" }, usesOnChanges: true, ngImport: i0, template: "<div id=\"container\" [ngClass]=\"inputType\">\n <div id=\"message\">\n <p class=\"body-extra-small\" [ngClass]=\"{ light: inputDarkMode }\">{{ inputDate }}</p>\n <cf-spacer default=\"4\"></cf-spacer>\n <div id=\"bubble\">\n <p class=\"body-extra-small\">{{ inputMessage }}</p>\n </div>\n </div>\n</div>\n", styles: ["#container{display:flex}#container #message p{color:var(--cf-app-text-color-default)}#container #message p.light{color:var(--cf-app-text-color-light)}#container #message #bubble{background:var(--message-background-color);border-radius:var(--border-radius);padding:12px 16px}#container #message #bubble p{color:var(--cf-app-text-color-light)}#container.outgoing{justify-content:end;text-align:end;--border-radius: 16px 4px 16px 16px;--message-background-color: var(--cf-app-color-primary)}#container.incoming{justify-content:start;text-align:start;--border-radius: 4px 16px 16px 16px;--message-background-color: var(--cf-app-color-secondary)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.SpacerComponent, selector: "cf-spacer", inputs: ["default", "mobile", "desktop"] }] });
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ChatBubbleComponent, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ChatBubbleComponent, decorators: [{
27
27
  type: Component,
28
28
  args: [{ selector: 'cf-chat-bubble', template: "<div id=\"container\" [ngClass]=\"inputType\">\n <div id=\"message\">\n <p class=\"body-extra-small\" [ngClass]=\"{ light: inputDarkMode }\">{{ inputDate }}</p>\n <cf-spacer default=\"4\"></cf-spacer>\n <div id=\"bubble\">\n <p class=\"body-extra-small\">{{ inputMessage }}</p>\n </div>\n </div>\n</div>\n", styles: ["#container{display:flex}#container #message p{color:var(--cf-app-text-color-default)}#container #message p.light{color:var(--cf-app-text-color-light)}#container #message #bubble{background:var(--message-background-color);border-radius:var(--border-radius);padding:12px 16px}#container #message #bubble p{color:var(--cf-app-text-color-light)}#container.outgoing{justify-content:end;text-align:end;--border-radius: 16px 4px 16px 16px;--message-background-color: var(--cf-app-color-primary)}#container.incoming{justify-content:start;text-align:start;--border-radius: 4px 16px 16px 16px;--message-background-color: var(--cf-app-color-secondary)}\n"] }]
29
29
  }], propDecorators: { type: [{
@@ -64,10 +64,10 @@ export class FormInputComponent {
64
64
  this.showPassword = !this.showPassword;
65
65
  this.inputType = this.inputType === 'password' ? 'text' : 'password';
66
66
  }
67
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: FormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
68
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: FormInputComponent, selector: "cf-form-input", inputs: { label: "label", min: "min", max: "max", labelPlacement: "labelPlacement", placeholder: "placeholder", inputmode: "inputmode", autoCapitalize: "autoCapitalize", type: "type", noClearButton: "noClearButton", control: "control", textCenter: "textCenter", maxLength: "maxLength", greyBackground: "greyBackground", customErrorMessage: "customErrorMessage", value: "value" }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<!-- ngModel -->\n<ion-input\n #normalInput\n *ngIf=\"!control\"\n [ngClass]=\"{ 'text-center': inputTextCenter, 'grey-background': inputGreyBackground, error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"type === 'password' ? false : !inputClear\"\n [autocapitalize]=\"autoCapitalize\"\n mode=\"md\"\n [inputmode]=\"localInputMode\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxLength || null\"\n [type]=\"inputType\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [value]=\"value\">\n <cf-icon\n slot=\"end\"\n style=\"cursor: pointer\"\n *ngIf=\"normalInput.value && type === 'password'\"\n [icon]=\"showPassword ? 'hide-password' : 'show-password'\"\n [height]=\"24\"\n (click)=\"togglePasswordShow()\"></cf-icon\n></ion-input>\n<!-- Form Control -->\n<ion-input\n #formControlInput\n *ngIf=\"control\"\n [ngClass]=\"{ 'text-center': inputTextCenter, 'grey-background': inputGreyBackground, error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"type === 'password' ? false : !inputClear\"\n [autocapitalize]=\"autoCapitalize\"\n mode=\"md\"\n [inputmode]=\"localInputMode\"\n [formControl]=\"control\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxLength || null\"\n [type]=\"inputType\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\">\n <cf-icon\n slot=\"end\"\n style=\"cursor: pointer\"\n *ngIf=\"formControlInput.value && type === 'password'\"\n [icon]=\"showPassword ? 'hide-password' : 'show-password'\"\n [height]=\"24\"\n (click)=\"togglePasswordShow()\"></cf-icon>\n</ion-input>\n<cf-form-validation *ngIf=\"control || customErrorMessage\" [customErrorMessage]=\"customErrorMessage\" [control]=\"control || null\"></cf-form-validation>\n", styles: ["::ng-deep ion-input.error .label-text{color:var(--cf-app-system-color-error)}ion-input{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start;--border-radius: 8px !important;--highlight-color-focused: var(--cf-app-color-primary);--highlight-color-invalid: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-color-primary)}ion-input.text-center{text-align:center}ion-input.grey-background{--background: var(--cf-app-system-color-outline)}ion-input.error{--border-color: var(--cf-app-system-color-error);--highlight-color-focused: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-system-color-error)}\n"], dependencies: [{ kind: "component", type: i1.IonInput, selector: "ion-input", inputs: ["autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearInputIcon", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "spellcheck", "step", "type", "value"] }, { kind: "directive", type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.IconComponent, selector: "cf-icon", inputs: ["icon", "height", "heightMobile", "heightDesktop", "iconColor"] }, { kind: "component", type: i5.FormValidationComponent, selector: "cf-form-validation", inputs: ["control", "customErrorMessage"] }] });
67
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
68
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: FormInputComponent, selector: "cf-form-input", inputs: { label: "label", min: "min", max: "max", labelPlacement: "labelPlacement", placeholder: "placeholder", inputmode: "inputmode", autoCapitalize: "autoCapitalize", type: "type", noClearButton: "noClearButton", control: "control", textCenter: "textCenter", maxLength: "maxLength", greyBackground: "greyBackground", customErrorMessage: "customErrorMessage", value: "value" }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<!-- ngModel -->\n<ion-input\n #normalInput\n *ngIf=\"!control\"\n [ngClass]=\"{ 'text-center': inputTextCenter, 'grey-background': inputGreyBackground, error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"type === 'password' ? false : !inputClear\"\n [autocapitalize]=\"autoCapitalize\"\n mode=\"md\"\n [inputmode]=\"localInputMode\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxLength || null\"\n [type]=\"inputType\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [value]=\"value\">\n <cf-icon\n slot=\"end\"\n style=\"cursor: pointer\"\n *ngIf=\"normalInput.value && type === 'password'\"\n [icon]=\"showPassword ? 'hide-password' : 'show-password'\"\n [height]=\"24\"\n (click)=\"togglePasswordShow()\"></cf-icon\n></ion-input>\n<!-- Form Control -->\n<ion-input\n #formControlInput\n *ngIf=\"control\"\n [ngClass]=\"{ 'text-center': inputTextCenter, 'grey-background': inputGreyBackground, error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"type === 'password' ? false : !inputClear\"\n [autocapitalize]=\"autoCapitalize\"\n mode=\"md\"\n [inputmode]=\"localInputMode\"\n [formControl]=\"control\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxLength || null\"\n [type]=\"inputType\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\">\n <cf-icon\n slot=\"end\"\n style=\"cursor: pointer\"\n *ngIf=\"formControlInput.value && type === 'password'\"\n [icon]=\"showPassword ? 'hide-password' : 'show-password'\"\n [height]=\"24\"\n (click)=\"togglePasswordShow()\"></cf-icon>\n</ion-input>\n<cf-form-validation *ngIf=\"control || customErrorMessage\" [customErrorMessage]=\"customErrorMessage\" [control]=\"control || null\"></cf-form-validation>\n", styles: ["::ng-deep ion-input.error .label-text{color:var(--cf-app-system-color-error)}ion-input{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start;--border-radius: 8px !important;--highlight-color-focused: var(--cf-app-color-primary);--highlight-color-invalid: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-color-primary)}ion-input.text-center{text-align:center}ion-input.grey-background{--background: var(--cf-app-system-color-outline)}ion-input.error{--border-color: var(--cf-app-system-color-error);--highlight-color-focused: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-system-color-error)}\n"], dependencies: [{ kind: "component", type: i1.IonInput, selector: "ion-input", inputs: ["autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearInputIcon", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "spellcheck", "step", "type", "value"] }, { kind: "directive", type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.IconComponent, selector: "cf-icon", inputs: ["icon", "height", "heightMobile", "heightDesktop", "iconColor"] }, { kind: "component", type: i5.FormValidationComponent, selector: "cf-form-validation", inputs: ["control", "customErrorMessage"] }] });
69
69
  }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: FormInputComponent, decorators: [{
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormInputComponent, decorators: [{
71
71
  type: Component,
72
72
  args: [{ selector: 'cf-form-input', template: "<!-- ngModel -->\n<ion-input\n #normalInput\n *ngIf=\"!control\"\n [ngClass]=\"{ 'text-center': inputTextCenter, 'grey-background': inputGreyBackground, error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"type === 'password' ? false : !inputClear\"\n [autocapitalize]=\"autoCapitalize\"\n mode=\"md\"\n [inputmode]=\"localInputMode\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxLength || null\"\n [type]=\"inputType\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [value]=\"value\">\n <cf-icon\n slot=\"end\"\n style=\"cursor: pointer\"\n *ngIf=\"normalInput.value && type === 'password'\"\n [icon]=\"showPassword ? 'hide-password' : 'show-password'\"\n [height]=\"24\"\n (click)=\"togglePasswordShow()\"></cf-icon\n></ion-input>\n<!-- Form Control -->\n<ion-input\n #formControlInput\n *ngIf=\"control\"\n [ngClass]=\"{ 'text-center': inputTextCenter, 'grey-background': inputGreyBackground, error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"type === 'password' ? false : !inputClear\"\n [autocapitalize]=\"autoCapitalize\"\n mode=\"md\"\n [inputmode]=\"localInputMode\"\n [formControl]=\"control\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxLength || null\"\n [type]=\"inputType\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\">\n <cf-icon\n slot=\"end\"\n style=\"cursor: pointer\"\n *ngIf=\"formControlInput.value && type === 'password'\"\n [icon]=\"showPassword ? 'hide-password' : 'show-password'\"\n [height]=\"24\"\n (click)=\"togglePasswordShow()\"></cf-icon>\n</ion-input>\n<cf-form-validation *ngIf=\"control || customErrorMessage\" [customErrorMessage]=\"customErrorMessage\" [control]=\"control || null\"></cf-form-validation>\n", styles: ["::ng-deep ion-input.error .label-text{color:var(--cf-app-system-color-error)}ion-input{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start;--border-radius: 8px !important;--highlight-color-focused: var(--cf-app-color-primary);--highlight-color-invalid: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-color-primary)}ion-input.text-center{text-align:center}ion-input.grey-background{--background: var(--cf-app-system-color-outline)}ion-input.error{--border-color: var(--cf-app-system-color-error);--highlight-color-focused: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-system-color-error)}\n"] }]
73
73
  }], propDecorators: { label: [{
@@ -23,10 +23,10 @@ export class FormInputSelectComponent {
23
23
  this.inputLabelPlacement =
24
24
  validateStringValue(changes, 'labelPlacement', inputSelectC.labelPlacement.slice(), this.inputLabelPlacement) || 'floating';
25
25
  }
26
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: FormInputSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
27
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: FormInputSelectComponent, selector: "cf-form-input-select", inputs: { label: "label", options: "options", labelPlacement: "labelPlacement", placeholder: "placeholder", control: "control", customErrorMessage: "customErrorMessage", value: "value" }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<!-- ngModel -->\n<ion-select\n *ngIf=\"!control\"\n [ngClass]=\"{ error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n mode=\"md\"\n interface=\"popover\"\n (ionChange)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [value]=\"value\">\n <ion-select-option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.displayName }}</ion-select-option>\n</ion-select>\n<!-- Form Control -->\n<ion-select\n *ngIf=\"control\"\n [ngClass]=\"{ error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n mode=\"md\"\n interface=\"popover\"\n [formControl]=\"control\"\n (ionChange)=\"valueChange.emit($event.detail.value ?? undefined)\">\n <ion-select-option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.displayName }}</ion-select-option>\n</ion-select>\n<cf-form-validation *ngIf=\"control || customErrorMessage\" [customErrorMessage]=\"customErrorMessage\" [control]=\"control || null\"></cf-form-validation>\n", styles: ["ion-select{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start;--border-radius: 8px !important;--highlight-color-focused: var(--cf-app-color-primary);--highlight-color-invalid: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-color-primary)}::ng-deep ion-select-popover ion-list[class*=popover]{background:var(--cf-app-background-light)}::ng-deep ion-select-popover ion-list[class*=popover] ion-item[class*=popover]{--background: transparent;--border-radius: 8px;--background-focused: var(--cf-app-color-accent);--background-focused-opacity: .5;--background-hover: var(--cf-app-color-primary);--background-hover-opacity: .1;padding:4px}::ng-deep ion-select-popover ion-list[class*=popover] ion-item[class*=popover] ion-radio{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start}ion-select.error{--border-color: var(--cf-app-system-color-error);--highlight-color-focused: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-system-color-error)}ion-select.error::part(label){color:var(--cf-app-system-color-error)}\n"], dependencies: [{ kind: "component", type: i1.IonSelect, selector: "ion-select", inputs: ["cancelText", "color", "compareWith", "disabled", "expandedIcon", "fill", "interface", "interfaceOptions", "justify", "label", "labelPlacement", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "shape", "toggleIcon", "value"] }, { kind: "component", type: i1.IonSelectOption, selector: "ion-select-option", inputs: ["disabled", "value"] }, { kind: "directive", type: i1.SelectValueAccessor, selector: "ion-select, ion-radio-group, ion-segment, ion-datetime" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.FormValidationComponent, selector: "cf-form-validation", inputs: ["control", "customErrorMessage"] }] });
26
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormInputSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
27
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: FormInputSelectComponent, selector: "cf-form-input-select", inputs: { label: "label", options: "options", labelPlacement: "labelPlacement", placeholder: "placeholder", control: "control", customErrorMessage: "customErrorMessage", value: "value" }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<!-- ngModel -->\n<ion-select\n *ngIf=\"!control\"\n [ngClass]=\"{ error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n mode=\"md\"\n interface=\"popover\"\n (ionChange)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [value]=\"value\">\n <ion-select-option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.displayName }}</ion-select-option>\n</ion-select>\n<!-- Form Control -->\n<ion-select\n *ngIf=\"control\"\n [ngClass]=\"{ error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n mode=\"md\"\n interface=\"popover\"\n [formControl]=\"control\"\n (ionChange)=\"valueChange.emit($event.detail.value ?? undefined)\">\n <ion-select-option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.displayName }}</ion-select-option>\n</ion-select>\n<cf-form-validation *ngIf=\"control || customErrorMessage\" [customErrorMessage]=\"customErrorMessage\" [control]=\"control || null\"></cf-form-validation>\n", styles: ["ion-select{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start;--border-radius: 8px !important;--highlight-color-focused: var(--cf-app-color-primary);--highlight-color-invalid: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-color-primary)}::ng-deep ion-select-popover ion-list[class*=popover]{background:var(--cf-app-background-light)}::ng-deep ion-select-popover ion-list[class*=popover] ion-item[class*=popover]{--background: transparent;--border-radius: 8px;--background-focused: var(--cf-app-color-accent);--background-focused-opacity: .5;--background-hover: var(--cf-app-color-primary);--background-hover-opacity: .1;padding:4px}::ng-deep ion-select-popover ion-list[class*=popover] ion-item[class*=popover] ion-radio{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start}ion-select.error{--border-color: var(--cf-app-system-color-error);--highlight-color-focused: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-system-color-error)}ion-select.error::part(label){color:var(--cf-app-system-color-error)}\n"], dependencies: [{ kind: "component", type: i1.IonSelect, selector: "ion-select", inputs: ["cancelText", "color", "compareWith", "disabled", "expandedIcon", "fill", "interface", "interfaceOptions", "justify", "label", "labelPlacement", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "shape", "toggleIcon", "value"] }, { kind: "component", type: i1.IonSelectOption, selector: "ion-select-option", inputs: ["disabled", "value"] }, { kind: "directive", type: i1.SelectValueAccessor, selector: "ion-select, ion-radio-group, ion-segment, ion-datetime" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.FormValidationComponent, selector: "cf-form-validation", inputs: ["control", "customErrorMessage"] }] });
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: FormInputSelectComponent, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormInputSelectComponent, decorators: [{
30
30
  type: Component,
31
31
  args: [{ selector: 'cf-form-input-select', template: "<!-- ngModel -->\n<ion-select\n *ngIf=\"!control\"\n [ngClass]=\"{ error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n mode=\"md\"\n interface=\"popover\"\n (ionChange)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [value]=\"value\">\n <ion-select-option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.displayName }}</ion-select-option>\n</ion-select>\n<!-- Form Control -->\n<ion-select\n *ngIf=\"control\"\n [ngClass]=\"{ error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n mode=\"md\"\n interface=\"popover\"\n [formControl]=\"control\"\n (ionChange)=\"valueChange.emit($event.detail.value ?? undefined)\">\n <ion-select-option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.displayName }}</ion-select-option>\n</ion-select>\n<cf-form-validation *ngIf=\"control || customErrorMessage\" [customErrorMessage]=\"customErrorMessage\" [control]=\"control || null\"></cf-form-validation>\n", styles: ["ion-select{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start;--border-radius: 8px !important;--highlight-color-focused: var(--cf-app-color-primary);--highlight-color-invalid: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-color-primary)}::ng-deep ion-select-popover ion-list[class*=popover]{background:var(--cf-app-background-light)}::ng-deep ion-select-popover ion-list[class*=popover] ion-item[class*=popover]{--background: transparent;--border-radius: 8px;--background-focused: var(--cf-app-color-accent);--background-focused-opacity: .5;--background-hover: var(--cf-app-color-primary);--background-hover-opacity: .1;padding:4px}::ng-deep ion-select-popover ion-list[class*=popover] ion-item[class*=popover] ion-radio{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start}ion-select.error{--border-color: var(--cf-app-system-color-error);--highlight-color-focused: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-system-color-error)}ion-select.error::part(label){color:var(--cf-app-system-color-error)}\n"] }]
32
32
  }], propDecorators: { label: [{
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
46
46
  }], valueChange: [{
47
47
  type: Output
48
48
  }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2FyZWZpcnN0L2xpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0taW5wdXQtc2VsZWN0L2Zvcm0taW5wdXQtc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWlucHV0LXNlbGVjdC9mb3JtLWlucHV0LXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQkEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBc0MsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7QUFRakUsTUFBTSxZQUFZLEdBQUc7SUFDbkIsY0FBYyxFQUFFLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQztDQUN4RCxDQUFDO0FBT1gsTUFBTSxPQUFPLHdCQUF3QjtJQUMxQixLQUFLLENBQVU7SUFDZixPQUFPLENBQWdDO0lBQ3ZDLGNBQWMsQ0FBZ0Q7SUFDOUQsV0FBVyxDQUFzQjtJQUNqQyxPQUFPLENBQXNCO0lBQzdCLGtCQUFrQixHQUFrQixJQUFJLENBQUM7SUFHekMsS0FBSyxDQUFrRDtJQUN0RCxXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7SUFHOUQsbUJBQW1CLENBQTZCO0lBT2hELFdBQVcsQ0FBQyxPQUFzQjtRQUVoQyxJQUFJLENBQUMsbUJBQW1CO1lBQ3RCLG1CQUFtQixDQUNqQixPQUFPLEVBQ1AsZ0JBQWdCLEVBQ2hCLFlBQVksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLEVBQ25DLElBQUksQ0FBQyxtQkFBbUIsQ0FDekIsSUFBSSxVQUFVLENBQUM7SUFDcEIsQ0FBQzt1R0E3QlUsd0JBQXdCOzJGQUF4Qix3QkFBd0Isc1RDdkNyQyxtb0NBNkJBOzsyRkRVYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0Usc0JBQXNCOzhCQUt2QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUdHLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDYXJlZmlyc3QgTGlicmFyeSBGb3JtIElucHV0IFNlbGVjdFxuICpcbiAqIEBmaWxlICAgICAgICAgIGZvcm0taW5wdXQtc2VsZWN0LmNvbXBvbmVudFxuICogQGRlc2NyaXB0aW9uICAgQ29udGFpbnMgYWxsIHRoZSBsb2dpYyBmb3IgZ2VuZXJhdGluZyBhIENhcmVGaXJzdCBTZWxlY3RcbiAqIEBhdXRob3IgICAgICAgIEFybm8gSmFuc2VuIHZhbiBWdXVyZW5cbiAqIEBzaW5jZSAgICAgICAgIDIwMjMgLSAxMiAtIDE0XG4gKiBAdXNhZ2UgICAgICAgICA8Y2YtZm9ybS1pbnB1dC1zZWxlY3RcbiAqICAgICAgICAgICAgICAgICAgbGFiZWw9XCJMYWJlbCBOYW1lXCJcbiAqICAgICAgICAgICAgICAgICAgW29wdGlvbnNdPVwiW3sgZGlzcGxheU5hbWU6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkIH1dXCJcbiAqICAgICAgICAgICAgICAgICAgJWxhYmVsUGxhY2VtZW50JVxuICogICAgICAgICAgICAgICAgICAlKHZhbHVlQ2hhbmdlKT1cImN1cnJlbnRWYWx1ZVwiJVxuICogICAgICAgICAgICAgICAgICAlWyh2YWx1ZSldPVwidHdvV2F5Q29tc1wiJVxuICogICAgICAgICAgICAgICAgICAlW2NvbnRyb2xdJT1cImZvcm1OYW1lLmNvbnRyb2xzLmNvbnRyb2xOYW1lXCJcbiAqICAgICAgICAgICAgICAgICAgJVtjdXN0b21FcnJvck1lc3NhZ2VdJT1cImVycm9yTWVzc2FnZVwiXG4gKiAgICAgICAgICAgICAgICA+PC9jZi1mb3JtLWlucHV0LXNlbGVjdD5cbiAqICAgICAgICAgICAgICAgIGRpc2FibGUgaW5wdXQgYnkgZGlzYWJsaW5nIHRoZSBmb3JtIGNvbnRyb2xcbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgdHlwZSBPbkNoYW5nZXMsIHR5cGUgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG4vLy0tLSBVdGlsc1xuaW1wb3J0IHsgdmFsaWRhdGVTdHJpbmdWYWx1ZSB9IGZyb20gJy4uLy4uL3V0aWxzL2F0dHJpYnV0ZS51dGlsJztcbi8vLS0tIEludGVyZmFjZXNcbmltcG9ydCB0eXBlIHsgRm9ybUlucHV0U2VsZWN0T3B0aW9uc0kgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2lucHV0LmludGVyZmFjZSc7XG5cbi8qKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIEBpbnRlcmZhY2UgICAgIGlucHV0U2VsZWN0Q1xuICogQGRlc2NyaXB0aW9uICAgRGVmaW5lIGF2YWlsYWJsZSBpbnB1dCBzZWxlY3QgdmFsdWVzXG4gKi9cbmNvbnN0IGlucHV0U2VsZWN0QyA9IHtcbiAgbGFiZWxQbGFjZW1lbnQ6IFsnZml4ZWQnLCAnZmxvYXRpbmcnLCAnc3RhY2tlZCcsICdzdGFydCcsICdlbmQnXSxcbn0gYXMgY29uc3Q7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NmLWZvcm0taW5wdXQtc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0taW5wdXQtc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2Zvcm0taW5wdXQtc2VsZWN0LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUlucHV0U2VsZWN0Q29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgbGFiZWwhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG9wdGlvbnMhOiBGb3JtSW5wdXRTZWxlY3RPcHRpb25zSTxUPltdO1xuICBASW5wdXQoKSBsYWJlbFBsYWNlbWVudD86ICh0eXBlb2YgaW5wdXRTZWxlY3RDLmxhYmVsUGxhY2VtZW50KVtudW1iZXJdO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcj86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgY29udHJvbD86IEZvcm1Db250cm9sIHwgbnVsbDtcbiAgQElucHV0KCkgY3VzdG9tRXJyb3JNZXNzYWdlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAvLy0tLSBuZ01vZGVsXG4gIEBJbnB1dCgpIHZhbHVlOiBGb3JtSW5wdXRTZWxlY3RPcHRpb25zSTxUPlsndmFsdWUnXSB8IHVuZGVmaW5lZDtcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx0eXBlb2YgdGhpcy52YWx1ZT4oKTtcblxuICAvLy0tLSBMb2NhbCB2YXJpYWJsZXNcbiAgaW5wdXRMYWJlbFBsYWNlbWVudDogdHlwZW9mIHRoaXMubGFiZWxQbGFjZW1lbnQ7XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICBuZ09uQ2hhbmdlc1xuICAgKiBAZGVzY3JpcHRpb24gICBEZXRlY3QgY2hhbmdlcyB0byBpbnB1dCB2YWx1ZXNcbiAgICogQHBhcmFtICAgICAgICAge1NpbXBsZUNoYW5nZXN9IGNoYW5nZXNcbiAgICovXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAvLy0tLSBMYWJlbCBQbGFjZW1lbnRcbiAgICB0aGlzLmlucHV0TGFiZWxQbGFjZW1lbnQgPVxuICAgICAgdmFsaWRhdGVTdHJpbmdWYWx1ZTwodHlwZW9mIGlucHV0U2VsZWN0Qy5sYWJlbFBsYWNlbWVudClbbnVtYmVyXT4oXG4gICAgICAgIGNoYW5nZXMsXG4gICAgICAgICdsYWJlbFBsYWNlbWVudCcsXG4gICAgICAgIGlucHV0U2VsZWN0Qy5sYWJlbFBsYWNlbWVudC5zbGljZSgpLFxuICAgICAgICB0aGlzLmlucHV0TGFiZWxQbGFjZW1lbnRcbiAgICAgICkgfHwgJ2Zsb2F0aW5nJztcbiAgfVxufVxuIiwiPCEtLSBuZ01vZGVsIC0tPlxuPGlvbi1zZWxlY3RcbiAgKm5nSWY9XCIhY29udHJvbFwiXG4gIFtuZ0NsYXNzXT1cInsgZXJyb3I6ICEhY3VzdG9tRXJyb3JNZXNzYWdlIH1cIlxuICBbbGFiZWxdPVwibGFiZWxcIlxuICBbbGFiZWxQbGFjZW1lbnRdPVwiaW5wdXRMYWJlbFBsYWNlbWVudFwiXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gIGZpbGw9XCJvdXRsaW5lXCJcbiAgbW9kZT1cIm1kXCJcbiAgaW50ZXJmYWNlPVwicG9wb3ZlclwiXG4gIChpb25DaGFuZ2UpPVwidmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQuZGV0YWlsLnZhbHVlID8/IHVuZGVmaW5lZClcIlxuICBbdmFsdWVdPVwidmFsdWVcIj5cbiAgPGlvbi1zZWxlY3Qtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIj57eyBvcHRpb24uZGlzcGxheU5hbWUgfX08L2lvbi1zZWxlY3Qtb3B0aW9uPlxuPC9pb24tc2VsZWN0PlxuPCEtLSBGb3JtIENvbnRyb2wgLS0+XG48aW9uLXNlbGVjdFxuICAqbmdJZj1cImNvbnRyb2xcIlxuICBbbmdDbGFzc109XCJ7IGVycm9yOiAhIWN1c3RvbUVycm9yTWVzc2FnZSB9XCJcbiAgW2xhYmVsXT1cImxhYmVsXCJcbiAgW2xhYmVsUGxhY2VtZW50XT1cImlucHV0TGFiZWxQbGFjZW1lbnRcIlxuICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICBmaWxsPVwib3V0bGluZVwiXG4gIG1vZGU9XCJtZFwiXG4gIGludGVyZmFjZT1cInBvcG92ZXJcIlxuICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gIChpb25DaGFuZ2UpPVwidmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQuZGV0YWlsLnZhbHVlID8/IHVuZGVmaW5lZClcIj5cbiAgPGlvbi1zZWxlY3Qtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIj57eyBvcHRpb24uZGlzcGxheU5hbWUgfX08L2lvbi1zZWxlY3Qtb3B0aW9uPlxuPC9pb24tc2VsZWN0PlxuPGNmLWZvcm0tdmFsaWRhdGlvbiAqbmdJZj1cImNvbnRyb2wgfHwgY3VzdG9tRXJyb3JNZXNzYWdlXCIgW2N1c3RvbUVycm9yTWVzc2FnZV09XCJjdXN0b21FcnJvck1lc3NhZ2VcIiBbY29udHJvbF09XCJjb250cm9sIHx8IG51bGxcIj48L2NmLWZvcm0tdmFsaWRhdGlvbj5cbiJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2FyZWZpcnN0L2xpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0taW5wdXQtc2VsZWN0L2Zvcm0taW5wdXQtc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWlucHV0LXNlbGVjdC9mb3JtLWlucHV0LXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQkEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBc0MsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7QUFRakUsTUFBTSxZQUFZLEdBQUc7SUFDbkIsY0FBYyxFQUFFLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQztDQUN4RCxDQUFDO0FBT1gsTUFBTSxPQUFPLHdCQUF3QjtJQUMxQixLQUFLLENBQVU7SUFDZixPQUFPLENBQWdDO0lBQ3ZDLGNBQWMsQ0FBZ0Q7SUFDOUQsV0FBVyxDQUFzQjtJQUNqQyxPQUFPLENBQXNCO0lBQzdCLGtCQUFrQixHQUFrQixJQUFJLENBQUM7SUFHekMsS0FBSyxDQUFnQjtJQUNwQixXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7SUFHOUQsbUJBQW1CLENBQTZCO0lBT2hELFdBQVcsQ0FBQyxPQUFzQjtRQUVoQyxJQUFJLENBQUMsbUJBQW1CO1lBQ3RCLG1CQUFtQixDQUNqQixPQUFPLEVBQ1AsZ0JBQWdCLEVBQ2hCLFlBQVksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLEVBQ25DLElBQUksQ0FBQyxtQkFBbUIsQ0FDekIsSUFBSSxVQUFVLENBQUM7SUFDcEIsQ0FBQzt1R0E3QlUsd0JBQXdCOzJGQUF4Qix3QkFBd0Isc1RDdkNyQyxtb0NBNkJBOzsyRkRVYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0Usc0JBQXNCOzhCQUt2QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUdHLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDYXJlZmlyc3QgTGlicmFyeSBGb3JtIElucHV0IFNlbGVjdFxuICpcbiAqIEBmaWxlICAgICAgICAgIGZvcm0taW5wdXQtc2VsZWN0LmNvbXBvbmVudFxuICogQGRlc2NyaXB0aW9uICAgQ29udGFpbnMgYWxsIHRoZSBsb2dpYyBmb3IgZ2VuZXJhdGluZyBhIENhcmVGaXJzdCBTZWxlY3RcbiAqIEBhdXRob3IgICAgICAgIEFybm8gSmFuc2VuIHZhbiBWdXVyZW5cbiAqIEBzaW5jZSAgICAgICAgIDIwMjMgLSAxMiAtIDE0XG4gKiBAdXNhZ2UgICAgICAgICA8Y2YtZm9ybS1pbnB1dC1zZWxlY3RcbiAqICAgICAgICAgICAgICAgICAgbGFiZWw9XCJMYWJlbCBOYW1lXCJcbiAqICAgICAgICAgICAgICAgICAgW29wdGlvbnNdPVwiW3sgZGlzcGxheU5hbWU6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkIH1dXCJcbiAqICAgICAgICAgICAgICAgICAgJWxhYmVsUGxhY2VtZW50JVxuICogICAgICAgICAgICAgICAgICAlKHZhbHVlQ2hhbmdlKT1cImN1cnJlbnRWYWx1ZVwiJVxuICogICAgICAgICAgICAgICAgICAlWyh2YWx1ZSldPVwidHdvV2F5Q29tc1wiJVxuICogICAgICAgICAgICAgICAgICAlW2NvbnRyb2xdJT1cImZvcm1OYW1lLmNvbnRyb2xzLmNvbnRyb2xOYW1lXCJcbiAqICAgICAgICAgICAgICAgICAgJVtjdXN0b21FcnJvck1lc3NhZ2VdJT1cImVycm9yTWVzc2FnZVwiXG4gKiAgICAgICAgICAgICAgICA+PC9jZi1mb3JtLWlucHV0LXNlbGVjdD5cbiAqICAgICAgICAgICAgICAgIGRpc2FibGUgaW5wdXQgYnkgZGlzYWJsaW5nIHRoZSBmb3JtIGNvbnRyb2xcbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgdHlwZSBPbkNoYW5nZXMsIHR5cGUgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG4vLy0tLSBVdGlsc1xuaW1wb3J0IHsgdmFsaWRhdGVTdHJpbmdWYWx1ZSB9IGZyb20gJy4uLy4uL3V0aWxzL2F0dHJpYnV0ZS51dGlsJztcbi8vLS0tIEludGVyZmFjZXNcbmltcG9ydCB0eXBlIHsgRm9ybUlucHV0U2VsZWN0T3B0aW9uc0kgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2lucHV0LmludGVyZmFjZSc7XG5cbi8qKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIEBpbnRlcmZhY2UgICAgIGlucHV0U2VsZWN0Q1xuICogQGRlc2NyaXB0aW9uICAgRGVmaW5lIGF2YWlsYWJsZSBpbnB1dCBzZWxlY3QgdmFsdWVzXG4gKi9cbmNvbnN0IGlucHV0U2VsZWN0QyA9IHtcbiAgbGFiZWxQbGFjZW1lbnQ6IFsnZml4ZWQnLCAnZmxvYXRpbmcnLCAnc3RhY2tlZCcsICdzdGFydCcsICdlbmQnXSxcbn0gYXMgY29uc3Q7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NmLWZvcm0taW5wdXQtc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0taW5wdXQtc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2Zvcm0taW5wdXQtc2VsZWN0LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUlucHV0U2VsZWN0Q29tcG9uZW50PFQsIFEgZXh0ZW5kcyBUPiBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGxhYmVsITogc3RyaW5nO1xuICBASW5wdXQoKSBvcHRpb25zITogRm9ybUlucHV0U2VsZWN0T3B0aW9uc0k8VD5bXTtcbiAgQElucHV0KCkgbGFiZWxQbGFjZW1lbnQ/OiAodHlwZW9mIGlucHV0U2VsZWN0Qy5sYWJlbFBsYWNlbWVudClbbnVtYmVyXTtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGNvbnRyb2w/OiBGb3JtQ29udHJvbCB8IG51bGw7XG4gIEBJbnB1dCgpIGN1c3RvbUVycm9yTWVzc2FnZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgLy8tLS0gbmdNb2RlbFxuICBASW5wdXQoKSB2YWx1ZTogUSB8IHVuZGVmaW5lZDtcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx0eXBlb2YgdGhpcy52YWx1ZT4oKTtcblxuICAvLy0tLSBMb2NhbCB2YXJpYWJsZXNcbiAgaW5wdXRMYWJlbFBsYWNlbWVudDogdHlwZW9mIHRoaXMubGFiZWxQbGFjZW1lbnQ7XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICBuZ09uQ2hhbmdlc1xuICAgKiBAZGVzY3JpcHRpb24gICBEZXRlY3QgY2hhbmdlcyB0byBpbnB1dCB2YWx1ZXNcbiAgICogQHBhcmFtICAgICAgICAge1NpbXBsZUNoYW5nZXN9IGNoYW5nZXNcbiAgICovXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAvLy0tLSBMYWJlbCBQbGFjZW1lbnRcbiAgICB0aGlzLmlucHV0TGFiZWxQbGFjZW1lbnQgPVxuICAgICAgdmFsaWRhdGVTdHJpbmdWYWx1ZTwodHlwZW9mIGlucHV0U2VsZWN0Qy5sYWJlbFBsYWNlbWVudClbbnVtYmVyXT4oXG4gICAgICAgIGNoYW5nZXMsXG4gICAgICAgICdsYWJlbFBsYWNlbWVudCcsXG4gICAgICAgIGlucHV0U2VsZWN0Qy5sYWJlbFBsYWNlbWVudC5zbGljZSgpLFxuICAgICAgICB0aGlzLmlucHV0TGFiZWxQbGFjZW1lbnRcbiAgICAgICkgfHwgJ2Zsb2F0aW5nJztcbiAgfVxufVxuIiwiPCEtLSBuZ01vZGVsIC0tPlxuPGlvbi1zZWxlY3RcbiAgKm5nSWY9XCIhY29udHJvbFwiXG4gIFtuZ0NsYXNzXT1cInsgZXJyb3I6ICEhY3VzdG9tRXJyb3JNZXNzYWdlIH1cIlxuICBbbGFiZWxdPVwibGFiZWxcIlxuICBbbGFiZWxQbGFjZW1lbnRdPVwiaW5wdXRMYWJlbFBsYWNlbWVudFwiXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gIGZpbGw9XCJvdXRsaW5lXCJcbiAgbW9kZT1cIm1kXCJcbiAgaW50ZXJmYWNlPVwicG9wb3ZlclwiXG4gIChpb25DaGFuZ2UpPVwidmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQuZGV0YWlsLnZhbHVlID8/IHVuZGVmaW5lZClcIlxuICBbdmFsdWVdPVwidmFsdWVcIj5cbiAgPGlvbi1zZWxlY3Qtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIj57eyBvcHRpb24uZGlzcGxheU5hbWUgfX08L2lvbi1zZWxlY3Qtb3B0aW9uPlxuPC9pb24tc2VsZWN0PlxuPCEtLSBGb3JtIENvbnRyb2wgLS0+XG48aW9uLXNlbGVjdFxuICAqbmdJZj1cImNvbnRyb2xcIlxuICBbbmdDbGFzc109XCJ7IGVycm9yOiAhIWN1c3RvbUVycm9yTWVzc2FnZSB9XCJcbiAgW2xhYmVsXT1cImxhYmVsXCJcbiAgW2xhYmVsUGxhY2VtZW50XT1cImlucHV0TGFiZWxQbGFjZW1lbnRcIlxuICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICBmaWxsPVwib3V0bGluZVwiXG4gIG1vZGU9XCJtZFwiXG4gIGludGVyZmFjZT1cInBvcG92ZXJcIlxuICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gIChpb25DaGFuZ2UpPVwidmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQuZGV0YWlsLnZhbHVlID8/IHVuZGVmaW5lZClcIj5cbiAgPGlvbi1zZWxlY3Qtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIj57eyBvcHRpb24uZGlzcGxheU5hbWUgfX08L2lvbi1zZWxlY3Qtb3B0aW9uPlxuPC9pb24tc2VsZWN0PlxuPGNmLWZvcm0tdmFsaWRhdGlvbiAqbmdJZj1cImNvbnRyb2wgfHwgY3VzdG9tRXJyb3JNZXNzYWdlXCIgW2N1c3RvbUVycm9yTWVzc2FnZV09XCJjdXN0b21FcnJvck1lc3NhZ2VcIiBbY29udHJvbF09XCJjb250cm9sIHx8IG51bGxcIj48L2NmLWZvcm0tdmFsaWRhdGlvbj5cbiJdfQ==
@@ -32,10 +32,10 @@ export class FormInputTextAreaComponent {
32
32
  this.inputAutoCapitalize =
33
33
  validateStringValue(changes, 'autoCapitalize', inputTextAreaC.autoCapitalize.slice(), this.inputAutoCapitalize) || 'none';
34
34
  }
35
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: FormInputTextAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
36
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: FormInputTextAreaComponent, selector: "cf-form-input-text-area", inputs: { label: "label", labelPlacement: "labelPlacement", placeholder: "placeholder", autoCapitalize: "autoCapitalize", control: "control", textCenter: "textCenter", minHeight: "minHeight", maxHeight: "maxHeight", customErrorMessage: "customErrorMessage", value: "value" }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<!-- ngModel -->\n<ion-textarea\n [style]=\"'min-height: ' + minHeight + '; max-height: ' + maxHeight\"\n *ngIf=\"!control\"\n [placeholder]=\"placeholder\"\n [ngClass]=\"{ 'text-center': inputTextCenter, error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n fill=\"outline\"\n [autocapitalize]=\"autoCapitalize\"\n [autoGrow]=\"true\"\n mode=\"md\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [value]=\"value\"></ion-textarea>\n<!-- Form Control -->\n<ion-textarea\n [style]=\"'min-height: ' + minHeight + '; max-height: ' + maxHeight\"\n *ngIf=\"control\"\n [placeholder]=\"placeholder\"\n [ngClass]=\"{ 'text-center': inputTextCenter, error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n fill=\"outline\"\n [autocapitalize]=\"autoCapitalize\"\n [autoGrow]=\"true\"\n mode=\"md\"\n [formControl]=\"control\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"></ion-textarea>\n<cf-form-validation *ngIf=\"control || customErrorMessage\" [customErrorMessage]=\"customErrorMessage\" [control]=\"control || null\"></cf-form-validation>\n", styles: ["::ng-deep ion-textarea.error .label-text{color:var(--cf-app-system-color-error)}ion-textarea{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start;--border-radius: 8px !important;--highlight-color-focused: var(--cf-app-color-primary);--highlight-color-invalid: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-color-primary)}ion-textarea.text-center{text-align:center}ion-textarea.error{--border-color: var(--cf-app-system-color-error);--highlight-color-focused: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-system-color-error)}\n"], dependencies: [{ kind: "component", type: i1.IonTextarea, selector: "ion-textarea", inputs: ["autoGrow", "autocapitalize", "autofocus", "clearOnEdit", "color", "cols", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "maxlength", "minlength", "mode", "name", "placeholder", "readonly", "required", "rows", "shape", "spellcheck", "value", "wrap"] }, { kind: "directive", type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.FormValidationComponent, selector: "cf-form-validation", inputs: ["control", "customErrorMessage"] }] });
35
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormInputTextAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
36
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: FormInputTextAreaComponent, selector: "cf-form-input-text-area", inputs: { label: "label", labelPlacement: "labelPlacement", placeholder: "placeholder", autoCapitalize: "autoCapitalize", control: "control", textCenter: "textCenter", minHeight: "minHeight", maxHeight: "maxHeight", customErrorMessage: "customErrorMessage", value: "value" }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<!-- ngModel -->\n<ion-textarea\n [style]=\"'min-height: ' + minHeight + '; max-height: ' + maxHeight\"\n *ngIf=\"!control\"\n [placeholder]=\"placeholder\"\n [ngClass]=\"{ 'text-center': inputTextCenter, error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n fill=\"outline\"\n [autocapitalize]=\"autoCapitalize\"\n [autoGrow]=\"true\"\n mode=\"md\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [value]=\"value\"></ion-textarea>\n<!-- Form Control -->\n<ion-textarea\n [style]=\"'min-height: ' + minHeight + '; max-height: ' + maxHeight\"\n *ngIf=\"control\"\n [placeholder]=\"placeholder\"\n [ngClass]=\"{ 'text-center': inputTextCenter, error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n fill=\"outline\"\n [autocapitalize]=\"autoCapitalize\"\n [autoGrow]=\"true\"\n mode=\"md\"\n [formControl]=\"control\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"></ion-textarea>\n<cf-form-validation *ngIf=\"control || customErrorMessage\" [customErrorMessage]=\"customErrorMessage\" [control]=\"control || null\"></cf-form-validation>\n", styles: ["::ng-deep ion-textarea.error .label-text{color:var(--cf-app-system-color-error)}ion-textarea{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start;--border-radius: 8px !important;--highlight-color-focused: var(--cf-app-color-primary);--highlight-color-invalid: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-color-primary)}ion-textarea.text-center{text-align:center}ion-textarea.error{--border-color: var(--cf-app-system-color-error);--highlight-color-focused: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-system-color-error)}\n"], dependencies: [{ kind: "component", type: i1.IonTextarea, selector: "ion-textarea", inputs: ["autoGrow", "autocapitalize", "autofocus", "clearOnEdit", "color", "cols", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "maxlength", "minlength", "mode", "name", "placeholder", "readonly", "required", "rows", "shape", "spellcheck", "value", "wrap"] }, { kind: "directive", type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.FormValidationComponent, selector: "cf-form-validation", inputs: ["control", "customErrorMessage"] }] });
37
37
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: FormInputTextAreaComponent, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormInputTextAreaComponent, decorators: [{
39
39
  type: Component,
40
40
  args: [{ selector: 'cf-form-input-text-area', template: "<!-- ngModel -->\n<ion-textarea\n [style]=\"'min-height: ' + minHeight + '; max-height: ' + maxHeight\"\n *ngIf=\"!control\"\n [placeholder]=\"placeholder\"\n [ngClass]=\"{ 'text-center': inputTextCenter, error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n fill=\"outline\"\n [autocapitalize]=\"autoCapitalize\"\n [autoGrow]=\"true\"\n mode=\"md\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [value]=\"value\"></ion-textarea>\n<!-- Form Control -->\n<ion-textarea\n [style]=\"'min-height: ' + minHeight + '; max-height: ' + maxHeight\"\n *ngIf=\"control\"\n [placeholder]=\"placeholder\"\n [ngClass]=\"{ 'text-center': inputTextCenter, error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n fill=\"outline\"\n [autocapitalize]=\"autoCapitalize\"\n [autoGrow]=\"true\"\n mode=\"md\"\n [formControl]=\"control\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"></ion-textarea>\n<cf-form-validation *ngIf=\"control || customErrorMessage\" [customErrorMessage]=\"customErrorMessage\" [control]=\"control || null\"></cf-form-validation>\n", styles: ["::ng-deep ion-textarea.error .label-text{color:var(--cf-app-system-color-error)}ion-textarea{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start;--border-radius: 8px !important;--highlight-color-focused: var(--cf-app-color-primary);--highlight-color-invalid: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-color-primary)}ion-textarea.text-center{text-align:center}ion-textarea.error{--border-color: var(--cf-app-system-color-error);--highlight-color-focused: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-system-color-error)}\n"] }]
41
41
  }], propDecorators: { label: [{
@@ -9,10 +9,10 @@ export class FormValidationComponent {
9
9
  this.control = changes['control'].currentValue;
10
10
  }
11
11
  }
12
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: FormValidationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: FormValidationComponent, selector: "cf-form-validation", inputs: { control: "control", customErrorMessage: "customErrorMessage" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"customErrorMessage; else useControl\" class=\"form-valid-feedback\">\n <p class=\"body-medium\">{{ customErrorMessage }}</p>\n</div>\n<ng-template #useControl>\n <div *ngIf=\"control?.dirty && control?.errors\" class=\"form-valid-feedback\">\n <div *ngFor=\"let error of this.control?.errors | keyvalue\">\n <p class=\"body-medium\" *ngIf=\"error.key === 'email'\">*Invalid email format</p>\n <p class=\"body-medium\" *ngIf=\"error.key === 'minlength'\">*Length required: {{ error.value.requiredLength - error.value.actualLength }}</p>\n <p class=\"body-medium\" *ngIf=\"error.key === 'maxlength'\">*Max Length: {{ error.value.requiredLength }}</p>\n <p class=\"body-medium\" *ngIf=\"error.key === 'errorMessage'\">*{{ error.value }}</p>\n </div>\n </div>\n</ng-template>\n", styles: [".form-valid-feedback{padding:4px 0 0 10px}.form-valid-feedback p{font-size:1.2rem;text-align:left;color:var(--cf-app-system-color-error)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.KeyValuePipe, name: "keyvalue" }] });
12
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormValidationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: FormValidationComponent, selector: "cf-form-validation", inputs: { control: "control", customErrorMessage: "customErrorMessage" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"customErrorMessage; else useControl\" class=\"form-valid-feedback\">\n <p class=\"body-medium\">{{ customErrorMessage }}</p>\n</div>\n<ng-template #useControl>\n <div *ngIf=\"control?.dirty && control?.errors\" class=\"form-valid-feedback\">\n <div *ngFor=\"let error of this.control?.errors | keyvalue\">\n <p class=\"body-medium\" *ngIf=\"error.key === 'email'\">*Invalid email format</p>\n <p class=\"body-medium\" *ngIf=\"error.key === 'minlength'\">*Length required: {{ error.value.requiredLength - error.value.actualLength }}</p>\n <p class=\"body-medium\" *ngIf=\"error.key === 'maxlength'\">*Max Length: {{ error.value.requiredLength }}</p>\n <p class=\"body-medium\" *ngIf=\"error.key === 'errorMessage'\">*{{ error.value }}</p>\n </div>\n </div>\n</ng-template>\n", styles: [".form-valid-feedback{padding:4px 0 0 10px}.form-valid-feedback p{font-size:1.2rem;text-align:left;color:var(--cf-app-system-color-error)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.KeyValuePipe, name: "keyvalue" }] });
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: FormValidationComponent, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormValidationComponent, decorators: [{
16
16
  type: Component,
17
17
  args: [{ selector: 'cf-form-validation', template: "<div *ngIf=\"customErrorMessage; else useControl\" class=\"form-valid-feedback\">\n <p class=\"body-medium\">{{ customErrorMessage }}</p>\n</div>\n<ng-template #useControl>\n <div *ngIf=\"control?.dirty && control?.errors\" class=\"form-valid-feedback\">\n <div *ngFor=\"let error of this.control?.errors | keyvalue\">\n <p class=\"body-medium\" *ngIf=\"error.key === 'email'\">*Invalid email format</p>\n <p class=\"body-medium\" *ngIf=\"error.key === 'minlength'\">*Length required: {{ error.value.requiredLength - error.value.actualLength }}</p>\n <p class=\"body-medium\" *ngIf=\"error.key === 'maxlength'\">*Max Length: {{ error.value.requiredLength }}</p>\n <p class=\"body-medium\" *ngIf=\"error.key === 'errorMessage'\">*{{ error.value }}</p>\n </div>\n </div>\n</ng-template>\n", styles: [".form-valid-feedback{padding:4px 0 0 10px}.form-valid-feedback p{font-size:1.2rem;text-align:left;color:var(--cf-app-system-color-error)}\n"] }]
18
18
  }], propDecorators: { control: [{