@carefirst/library 4.6.1 → 4.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -29,11 +29,9 @@ export class FormInputCurrencyComponent {
29
29
  this.inputShowCurrency = checkTruthAttribute(changes, 'showCurrency', this.inputShowCurrency);
30
30
  }
31
31
  checkValue(event) {
32
- this.customErrorMessage = null;
33
32
  if (!this.currencyTextInput)
34
33
  return;
35
34
  let newValue = event.detail.value.replace(/[^\d\.]/g, '');
36
- this.valueChange.emit(newValue);
37
35
  const parts = newValue.split('.');
38
36
  const cents = parts.slice(1).join('').slice(0, 2);
39
37
  if (parts.length > 1)
@@ -47,8 +45,8 @@ export class FormInputCurrencyComponent {
47
45
  }
48
46
  else {
49
47
  this.currencyTextInput.value = newValue;
50
- this.valueChange.emit(this.customErrorMessage ? undefined : newValue);
51
48
  }
49
+ this.valueChange.emit(this.customErrorMessage ? undefined : newValue);
52
50
  }
53
51
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormInputCurrencyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
54
52
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormInputCurrencyComponent, selector: "cf-form-input-currency", inputs: { label: "label", labelPlacement: "labelPlacement", placeholder: "placeholder", noClearButton: "noClearButton", control: "control", customErrorMessage: "customErrorMessage", currency: "currency", showCurrency: "showCurrency", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "currencyTextInput", first: true, predicate: ["currencyTextInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!-- ngModel -->\n<ion-input\n #currencyTextInput\n *ngIf=\"!control\"\n [ngClass]=\"{ error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"!inputClear\"\n mode=\"md\"\n (ionInput)=\"checkValue($event)\"\n [value]=\"value\"></ion-input>\n<!-- Form Control -->\n<ion-input\n #currencyTextInput\n *ngIf=\"control\"\n [ngClass]=\"{ error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"!inputClear\"\n mode=\"md\"\n [formControl]=\"control\"\n (ionInput)=\"checkValue($event)\">\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.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.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.FormValidationComponent, selector: "cf-form-validation", inputs: ["control", "customErrorMessage"] }] });
@@ -80,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
80
78
  }], valueChange: [{
81
79
  type: Output
82
80
  }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC1jdXJyZW5jeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXJlZmlyc3QvbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1pbnB1dC1jdXJyZW5jeS9mb3JtLWlucHV0LWN1cnJlbmN5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWlucHV0LWN1cnJlbmN5L2Zvcm0taW5wdXQtY3VycmVuY3kuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBc0MsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7QUFPOUQsTUFBTSxPQUFPLDBCQUEwQjtJQUNMLGlCQUFpQixDQUFZO0lBRXBELEtBQUssQ0FBVTtJQUNmLGNBQWMsQ0FBMkM7SUFDekQsV0FBVyxDQUFVO0lBQ3JCLGFBQWEsQ0FBZ0M7SUFDN0MsT0FBTyxDQUFzQjtJQUM3QixrQkFBa0IsR0FBa0IsSUFBSSxDQUFDO0lBRXpDLFFBQVEsR0FBWSxHQUFHLENBQUM7SUFDeEIsWUFBWSxHQUFZLElBQUksQ0FBQztJQUc3QixLQUFLLENBQXFCO0lBQ3pCLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztJQUc5RCxtQkFBbUIsQ0FBNkI7SUFDaEQsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNuQixpQkFBaUIsR0FB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IExpYnJhcnkgQ3VycmVuY3kgRm9ybSBJbnB1dFxuICpcbiAqIEBmaWxlICAgICAgICAgIGZvcm0taW5wdXQtY3VycmVuY3kuY29tcG9uZW50XG4gKiBAZGVzY3JpcHRpb24gICBDb250YWlucyBhbGwgdGhlIGxvZ2ljIGZvciBnZW5lcmF0aW5nIGEgQ2FyZUZpcnN0IEZvcm0gSW5wdXQgQ3VycmVuY3kgRmllbGRcbiAqIEBhdXRob3IgICAgICAgIEphY3F1ZXMgQ29ldHplZVxuICogQHNpbmNlICAgICAgICAgMjAyNSAtIDAxIC0gMTBcbiAqIEB1c2FnZSAgICAgICAgIDxjZi1mb3JtLWlucHV0LWN1cnJlbmN5XG4gKiAgICAgICAgICAgICAgICAgIGxhYmVsPVwiTGFiZWwgTmFtZVwiXG4gKiAgICAgICAgICAgICAgICAgICVsYWJlbFBsYWNlbWVudCVcbiAqICAgICAgICAgICAgICAgICAgJW5vQ2xlYXJCdXR0b24lXG4gKiAgICAgICAgICAgICAgICAgICVbKHZhbHVlKV09XCJ0d29XYXlDb21zXCIlXG4gKiAgICAgICAgICAgICAgICAgICUodmFsdWVDaGFuZ2UpPVwiY3VycmVudFZhbHVlRXZlbnRcIiVcbiAqICAgICAgICAgICAgICAgICAgJVtjb250cm9sXSU9XCJmb3JtTmFtZS5jb250cm9scy5jb250cm9sTmFtZVwiXG4gKiAgICAgICAgICAgICAgICAgICVbY3VzdG9tRXJyb3JNZXNzYWdlXSU9XCJlcnJvck1lc3NhZ2VcIlxuICogICAgICAgICAgICAgICAgPjwvY2YtZm9ybS1pbnB1dC1jdXJyZW5jeT5cbiAqICAgICAgICAgICAgICAgIGRpc2FibGUgaW5wdXQgYnkgZGlzYWJsaW5nIHRoZSBmb3JtIGNvbnRyb2xcbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIHR5cGUgT25DaGFuZ2VzLCB0eXBlIFNpbXBsZUNoYW5nZXMsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB0eXBlIHsgSW9uSW5wdXQgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG4vLy0tLSBVdGlsc1xuaW1wb3J0IHsgY2hlY2tUcnV0aEF0dHJpYnV0ZSwgdmFsaWRhdGVTdHJpbmdWYWx1ZSB9IGZyb20gJy4uLy4uL3V0aWxzL2F0dHJpYnV0ZS51dGlsJztcbi8vLS0tIEludGVyZmFjZXNcbmltcG9ydCB7IGlucHV0c0MgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2ludGVybmFsLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NmLWZvcm0taW5wdXQtY3VycmVuY3knLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1pbnB1dC1jdXJyZW5jeS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9mb3JtLWlucHV0LWN1cnJlbmN5LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUlucHV0Q3VycmVuY3lDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBAVmlld0NoaWxkKCdjdXJyZW5jeVRleHRJbnB1dCcpIGN1cnJlbmN5VGV4dElucHV0PzogSW9uSW5wdXQ7XG4gIC8vLS0tIElucHV0IEZpZWxkXG4gIEBJbnB1dCgpIGxhYmVsITogc3RyaW5nO1xuICBASW5wdXQoKSBsYWJlbFBsYWNlbWVudD86ICh0eXBlb2YgaW5wdXRzQy5sYWJlbFBsYWNlbWVudClbbnVtYmVyXTtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIG5vQ2xlYXJCdXR0b24/OiBib29sZWFuIHwgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBjb250cm9sPzogRm9ybUNvbnRyb2wgfCBudWxsO1xuICBASW5wdXQoKSBjdXN0b21FcnJvck1lc3NhZ2U6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAvLy0tLSBDdXJyZW5jeVxuICBASW5wdXQoKSBjdXJyZW5jeT86IHN0cmluZyA9ICdSJztcbiAgQElucHV0KCkgc2hvd0N1cnJlbmN5OiBib29sZWFuID0gdHJ1ZTtcblxuICAvLy0tLSBuZ01vZGVsXG4gIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8dHlwZW9mIHRoaXMudmFsdWU+KCk7XG5cbiAgLy8tLS0gTG9jYWwgdmFyaWFibGVzXG4gIGlucHV0TGFiZWxQbGFjZW1lbnQ6IHR5cGVvZiB0aGlzLmxhYmVsUGxhY2VtZW50O1xuICBpbnB1dENsZWFyID0gZmFsc2U7XG4gIGlucHV0U2hvd0N1cnJlbmN5ID0gdHJ1ZTtcblxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIEBuYW1lICAgICAgICAgIG5nT25DaGFuZ2VzXG4gICAqIEBkZXNjcmlwdGlvbiAgIERldGVjdCBjaGFuZ2VzIHRvIGlucHV0IHZhbHVlc1xuICAgKiBAcGFyYW0gICAgICAgICB7U2ltcGxlQ2hhbmdlc30gY2hhbmdlc1xuICAgKi9cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIC8vLS0tIExhYmVsIFBsYWNlbWVudFxuICAgIHRoaXMuaW5wdXRMYWJlbFBsYWNlbWVudCA9XG4gICAgICB2YWxpZGF0ZVN0cmluZ1ZhbHVlPCh0eXBlb2YgaW5wdXRzQy5sYWJlbFBsYWNlbWVudClbbnVtYmVyXT4oXG4gICAgICAgIGNoYW5nZXMsXG4gICAgICAgICdsYWJlbFBsYWNlbWVudCcsXG4gICAgICAgIGlucHV0c0MubGFiZWxQbGFjZW1lbnQuc2xpY2UoKSxcbiAgICAgICAgdGhpcy5pbnB1dExhYmVsUGxhY2VtZW50XG4gICAgICApIHx8ICdmbG9hdGluZyc7XG4gICAgLy8tLS0gQ2xlYXIgQnV0dG9uXG4gICAgdGhpcy5pbnB1dENsZWFyID0gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzLCAnbm9DbGVhckJ1dHRvbicsIHRoaXMuaW5wdXRDbGVhcik7XG4gICAgLy8tLS0gU2hvdyBDdXJyZW5jeVxuICAgIHRoaXMuaW5wdXRTaG93Q3VycmVuY3kgPSBjaGVja1RydXRoQXR0cmlidXRlKGNoYW5nZXMsICdzaG93Q3VycmVuY3knLCB0aGlzLmlucHV0U2hvd0N1cnJlbmN5KTtcbiAgfVxuXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQG5hbWUgICAgICAgICAgY2hlY2tWYWx1ZVxuICAgKiBAZGVzY3JpcHRpb24gICBDaGVjayB0aGUgY29udGVudCBvZiB0aGUgaW5wdXQgZmllbGRcbiAgICogQHBhcmFtICAgICAgICAge0N1c3RvbUV2ZW50fSBldmVudFxuICAgKi9cbiAgY2hlY2tWYWx1ZShldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcbiAgICAvLy0tLSBDbGVhciBlcnJvciBtZXNzYWdlc1xuICAgIHRoaXMuY3VzdG9tRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICBpZiAoIXRoaXMuY3VycmVuY3lUZXh0SW5wdXQpIHJldHVybjtcblxuICAgIC8vLS0tIFJlbW92ZSBhbGwgbm9uIG51bWVyaWMgY2hhcmFjdGVyc1xuICAgIGxldCBuZXdWYWx1ZTogc3RyaW5nID0gZXZlbnQuZGV0YWlsLnZhbHVlLnJlcGxhY2UoL1teXFxkXFwuXS9nLCAnJyk7XG5cbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQobmV3VmFsdWUpO1xuXG4gICAgLy8tLS0gUmVtb3ZlIGR1cGxpY2F0ZSBkb3RcbiAgICBjb25zdCBwYXJ0cyA9IG5ld1ZhbHVlLnNwbGl0KCcuJyk7XG4gICAgY29uc3QgY2VudHMgPSBwYXJ0cy5zbGljZSgxKS5qb2luKCcnKS5zbGljZSgwLCAyKTtcbiAgICBpZiAocGFydHMubGVuZ3RoID4gMSkgbmV3VmFsdWUgPSBbcGFydHNbMF0sIGNlbnRzXS5qb2luKCcuJyk7XG5cbiAgICAvLy0tLSBBZGQgY3VycmVuY3lcbiAgICBpZiAodGhpcy5zaG93Q3VycmVuY3kgJiYgbmV3VmFsdWUpIHtcbiAgICAgIG5ld1ZhbHVlID0gYCR7dGhpcy5jdXJyZW5jeX0gJHtuZXdWYWx1ZX1gO1xuICAgIH1cblxuICAgIC8vLS0tIFNldCBuZXcgdmFsdWVcbiAgICBpZiAodGhpcy5jb250cm9sKSB7XG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUobmV3VmFsdWUpO1xuICAgICAgdGhpcy5jb250cm9sLnNldEVycm9ycyh0aGlzLmN1c3RvbUVycm9yTWVzc2FnZSA/IHsgZXJyb3JNZXNzYWdlOiB0aGlzLmN1c3RvbUVycm9yTWVzc2FnZSB9IDogbnVsbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3VycmVuY3lUZXh0SW5wdXQudmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLmN1c3RvbUVycm9yTWVzc2FnZSA/IHVuZGVmaW5lZCA6IG5ld1ZhbHVlKTtcbiAgICB9XG4gIH1cbn1cbiIsIjwhLS0gbmdNb2RlbCAtLT5cbjxpb24taW5wdXRcbiAgI2N1cnJlbmN5VGV4dElucHV0XG4gICpuZ0lmPVwiIWNvbnRyb2xcIlxuICBbbmdDbGFzc109XCJ7IGVycm9yOiAhIWN1c3RvbUVycm9yTWVzc2FnZSB9XCJcbiAgW2xhYmVsXT1cImxhYmVsXCJcbiAgW2xhYmVsUGxhY2VtZW50XT1cImlucHV0TGFiZWxQbGFjZW1lbnRcIlxuICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICBmaWxsPVwib3V0bGluZVwiXG4gIFtjbGVhcklucHV0XT1cIiFpbnB1dENsZWFyXCJcbiAgbW9kZT1cIm1kXCJcbiAgKGlvbklucHV0KT1cImNoZWNrVmFsdWUoJGV2ZW50KVwiXG4gIFt2YWx1ZV09XCJ2YWx1ZVwiPjwvaW9uLWlucHV0PlxuPCEtLSBGb3JtIENvbnRyb2wgLS0+XG48aW9uLWlucHV0XG4gICNjdXJyZW5jeVRleHRJbnB1dFxuICAqbmdJZj1cImNvbnRyb2xcIlxuICBbbmdDbGFzc109XCJ7IGVycm9yOiAhIWN1c3RvbUVycm9yTWVzc2FnZSB9XCJcbiAgW2xhYmVsXT1cImxhYmVsXCJcbiAgW2xhYmVsUGxhY2VtZW50XT1cImlucHV0TGFiZWxQbGFjZW1lbnRcIlxuICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICBmaWxsPVwib3V0bGluZVwiXG4gIFtjbGVhcklucHV0XT1cIiFpbnB1dENsZWFyXCJcbiAgbW9kZT1cIm1kXCJcbiAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAoaW9uSW5wdXQpPVwiY2hlY2tWYWx1ZSgkZXZlbnQpXCI+XG48L2lvbi1pbnB1dD5cbjxjZi1mb3JtLXZhbGlkYXRpb24gKm5nSWY9XCJjb250cm9sIHx8IGN1c3RvbUVycm9yTWVzc2FnZVwiIFtjdXN0b21FcnJvck1lc3NhZ2VdPVwiY3VzdG9tRXJyb3JNZXNzYWdlXCIgW2NvbnRyb2xdPVwiY29udHJvbCB8fCBudWxsXCI+PC9jZi1mb3JtLXZhbGlkYXRpb24+XG4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC1jdXJyZW5jeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXJlZmlyc3QvbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1pbnB1dC1jdXJyZW5jeS9mb3JtLWlucHV0LWN1cnJlbmN5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWlucHV0LWN1cnJlbmN5L2Zvcm0taW5wdXQtY3VycmVuY3kuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBc0MsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7QUFPOUQsTUFBTSxPQUFPLDBCQUEwQjtJQUNMLGlCQUFpQixDQUFZO0lBRXBELEtBQUssQ0FBVTtJQUNmLGNBQWMsQ0FBMkM7SUFDekQsV0FBVyxDQUFVO0lBQ3JCLGFBQWEsQ0FBZ0M7SUFDN0MsT0FBTyxDQUFzQjtJQUM3QixrQkFBa0IsR0FBa0IsSUFBSSxDQUFDO0lBRXpDLFFBQVEsR0FBWSxHQUFHLENBQUM7SUFDeEIsWUFBWSxHQUFZLElBQUksQ0FBQztJQUc3QixLQUFLLENBQXFCO0lBQ3pCLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztJQUc5RCxtQkFBbUIsQ0FBNkI7SUFDaEQsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNuQixpQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFPekIsV0FBVyxDQUFDLE9BQXNCO1FBRWhDLElBQUksQ0FBQyxtQkFBbUI7WUFDdEIsbUJBQW1CLENBQ2pCLE9BQU8sRUFDUCxnQkFBZ0IsRUFDaEIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsRUFDOUIsSUFBSSxDQUFDLG1CQUFtQixDQUN6QixJQUFJLFVBQVUsQ0FBQztRQUVsQixJQUFJLENBQUMsVUFBVSxHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWpGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFPRCxVQUFVLENBQUMsS0FBa0I7UUFFM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUI7WUFBRSxPQUFPO1FBR3BDLElBQUksUUFBUSxHQUFXLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFHbEUsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2xELElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQUUsUUFBUSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUc3RCxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksUUFBUSxFQUFFLENBQUM7WUFDbEMsUUFBUSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUM1QyxDQUFDO1FBR0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckcsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztRQUMxQyxDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7d0dBekVVLDBCQUEwQjs0RkFBMUIsMEJBQTBCLGdmQ2hDdkMsMjNCQTRCQTs7NEZESWEsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHdCQUF3Qjs4QkFLRixpQkFBaUI7c0JBQWhELFNBQVM7dUJBQUMsbUJBQW1CO2dCQUVyQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENhcmVmaXJzdCBMaWJyYXJ5IEN1cnJlbmN5IEZvcm0gSW5wdXRcbiAqXG4gKiBAZmlsZSAgICAgICAgICBmb3JtLWlucHV0LWN1cnJlbmN5LmNvbXBvbmVudFxuICogQGRlc2NyaXB0aW9uICAgQ29udGFpbnMgYWxsIHRoZSBsb2dpYyBmb3IgZ2VuZXJhdGluZyBhIENhcmVGaXJzdCBGb3JtIElucHV0IEN1cnJlbmN5IEZpZWxkXG4gKiBAYXV0aG9yICAgICAgICBKYWNxdWVzIENvZXR6ZWVcbiAqIEBzaW5jZSAgICAgICAgIDIwMjUgLSAwMSAtIDEwXG4gKiBAdXNhZ2UgICAgICAgICA8Y2YtZm9ybS1pbnB1dC1jdXJyZW5jeVxuICogICAgICAgICAgICAgICAgICBsYWJlbD1cIkxhYmVsIE5hbWVcIlxuICogICAgICAgICAgICAgICAgICAlbGFiZWxQbGFjZW1lbnQlXG4gKiAgICAgICAgICAgICAgICAgICVub0NsZWFyQnV0dG9uJVxuICogICAgICAgICAgICAgICAgICAlWyh2YWx1ZSldPVwidHdvV2F5Q29tc1wiJVxuICogICAgICAgICAgICAgICAgICAlKHZhbHVlQ2hhbmdlKT1cImN1cnJlbnRWYWx1ZUV2ZW50XCIlXG4gKiAgICAgICAgICAgICAgICAgICVbY29udHJvbF0lPVwiZm9ybU5hbWUuY29udHJvbHMuY29udHJvbE5hbWVcIlxuICogICAgICAgICAgICAgICAgICAlW2N1c3RvbUVycm9yTWVzc2FnZV0lPVwiZXJyb3JNZXNzYWdlXCJcbiAqICAgICAgICAgICAgICAgID48L2NmLWZvcm0taW5wdXQtY3VycmVuY3k+XG4gKiAgICAgICAgICAgICAgICBkaXNhYmxlIGlucHV0IGJ5IGRpc2FibGluZyB0aGUgZm9ybSBjb250cm9sXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCB0eXBlIE9uQ2hhbmdlcywgdHlwZSBTaW1wbGVDaGFuZ2VzLCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgdHlwZSB7IElvbklucHV0IH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuLy8tLS0gVXRpbHNcbmltcG9ydCB7IGNoZWNrVHJ1dGhBdHRyaWJ1dGUsIHZhbGlkYXRlU3RyaW5nVmFsdWUgfSBmcm9tICcuLi8uLi91dGlscy9hdHRyaWJ1dGUudXRpbCc7XG4vLy0tLSBJbnRlcmZhY2VzXG5pbXBvcnQgeyBpbnB1dHNDIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pbnRlcm5hbC5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjZi1mb3JtLWlucHV0LWN1cnJlbmN5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0taW5wdXQtY3VycmVuY3kuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZm9ybS1pbnB1dC1jdXJyZW5jeS5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1JbnB1dEN1cnJlbmN5Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQFZpZXdDaGlsZCgnY3VycmVuY3lUZXh0SW5wdXQnKSBjdXJyZW5jeVRleHRJbnB1dD86IElvbklucHV0O1xuICAvLy0tLSBJbnB1dCBGaWVsZFxuICBASW5wdXQoKSBsYWJlbCE6IHN0cmluZztcbiAgQElucHV0KCkgbGFiZWxQbGFjZW1lbnQ/OiAodHlwZW9mIGlucHV0c0MubGFiZWxQbGFjZW1lbnQpW251bWJlcl07XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBASW5wdXQoKSBub0NsZWFyQnV0dG9uPzogYm9vbGVhbiB8IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgY29udHJvbD86IEZvcm1Db250cm9sIHwgbnVsbDtcbiAgQElucHV0KCkgY3VzdG9tRXJyb3JNZXNzYWdlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgLy8tLS0gQ3VycmVuY3lcbiAgQElucHV0KCkgY3VycmVuY3k/OiBzdHJpbmcgPSAnUic7XG4gIEBJbnB1dCgpIHNob3dDdXJyZW5jeTogYm9vbGVhbiA9IHRydWU7XG5cbiAgLy8tLS0gbmdNb2RlbFxuICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHR5cGVvZiB0aGlzLnZhbHVlPigpO1xuXG4gIC8vLS0tIExvY2FsIHZhcmlhYmxlc1xuICBpbnB1dExhYmVsUGxhY2VtZW50OiB0eXBlb2YgdGhpcy5sYWJlbFBsYWNlbWVudDtcbiAgaW5wdXRDbGVhciA9IGZhbHNlO1xuICBpbnB1dFNob3dDdXJyZW5jeSA9IHRydWU7XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICBuZ09uQ2hhbmdlc1xuICAgKiBAZGVzY3JpcHRpb24gICBEZXRlY3QgY2hhbmdlcyB0byBpbnB1dCB2YWx1ZXNcbiAgICogQHBhcmFtICAgICAgICAge1NpbXBsZUNoYW5nZXN9IGNoYW5nZXNcbiAgICovXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAvLy0tLSBMYWJlbCBQbGFjZW1lbnRcbiAgICB0aGlzLmlucHV0TGFiZWxQbGFjZW1lbnQgPVxuICAgICAgdmFsaWRhdGVTdHJpbmdWYWx1ZTwodHlwZW9mIGlucHV0c0MubGFiZWxQbGFjZW1lbnQpW251bWJlcl0+KFxuICAgICAgICBjaGFuZ2VzLFxuICAgICAgICAnbGFiZWxQbGFjZW1lbnQnLFxuICAgICAgICBpbnB1dHNDLmxhYmVsUGxhY2VtZW50LnNsaWNlKCksXG4gICAgICAgIHRoaXMuaW5wdXRMYWJlbFBsYWNlbWVudFxuICAgICAgKSB8fCAnZmxvYXRpbmcnO1xuICAgIC8vLS0tIENsZWFyIEJ1dHRvblxuICAgIHRoaXMuaW5wdXRDbGVhciA9IGNoZWNrVHJ1dGhBdHRyaWJ1dGUoY2hhbmdlcywgJ25vQ2xlYXJCdXR0b24nLCB0aGlzLmlucHV0Q2xlYXIpO1xuICAgIC8vLS0tIFNob3cgQ3VycmVuY3lcbiAgICB0aGlzLmlucHV0U2hvd0N1cnJlbmN5ID0gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzLCAnc2hvd0N1cnJlbmN5JywgdGhpcy5pbnB1dFNob3dDdXJyZW5jeSk7XG4gIH1cblxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIEBuYW1lICAgICAgICAgIGNoZWNrVmFsdWVcbiAgICogQGRlc2NyaXB0aW9uICAgQ2hlY2sgdGhlIGNvbnRlbnQgb2YgdGhlIGlucHV0IGZpZWxkXG4gICAqIEBwYXJhbSAgICAgICAgIHtDdXN0b21FdmVudH0gZXZlbnRcbiAgICovXG4gIGNoZWNrVmFsdWUoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgLy8tLS0gQ2xlYXIgZXJyb3IgbWVzc2FnZXNcbiAgICBpZiAoIXRoaXMuY3VycmVuY3lUZXh0SW5wdXQpIHJldHVybjtcblxuICAgIC8vLS0tIFJlbW92ZSBhbGwgbm9uIG51bWVyaWMgY2hhcmFjdGVyc1xuICAgIGxldCBuZXdWYWx1ZTogc3RyaW5nID0gZXZlbnQuZGV0YWlsLnZhbHVlLnJlcGxhY2UoL1teXFxkXFwuXS9nLCAnJyk7XG5cbiAgICAvLy0tLSBSZW1vdmUgZHVwbGljYXRlIGRvdFxuICAgIGNvbnN0IHBhcnRzID0gbmV3VmFsdWUuc3BsaXQoJy4nKTtcbiAgICBjb25zdCBjZW50cyA9IHBhcnRzLnNsaWNlKDEpLmpvaW4oJycpLnNsaWNlKDAsIDIpO1xuICAgIGlmIChwYXJ0cy5sZW5ndGggPiAxKSBuZXdWYWx1ZSA9IFtwYXJ0c1swXSwgY2VudHNdLmpvaW4oJy4nKTtcblxuICAgIC8vLS0tIEFkZCBjdXJyZW5jeVxuICAgIGlmICh0aGlzLnNob3dDdXJyZW5jeSAmJiBuZXdWYWx1ZSkge1xuICAgICAgbmV3VmFsdWUgPSBgJHt0aGlzLmN1cnJlbmN5fSAke25ld1ZhbHVlfWA7XG4gICAgfVxuXG4gICAgLy8tLS0gU2V0IG5ldyB2YWx1ZVxuICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShuZXdWYWx1ZSk7XG4gICAgICB0aGlzLmNvbnRyb2wuc2V0RXJyb3JzKHRoaXMuY3VzdG9tRXJyb3JNZXNzYWdlID8geyBlcnJvck1lc3NhZ2U6IHRoaXMuY3VzdG9tRXJyb3JNZXNzYWdlIH0gOiBudWxsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jdXJyZW5jeVRleHRJbnB1dC52YWx1ZSA9IG5ld1ZhbHVlO1xuICAgIH1cblxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLmN1c3RvbUVycm9yTWVzc2FnZSA/IHVuZGVmaW5lZCA6IG5ld1ZhbHVlKTtcbiAgfVxufVxuIiwiPCEtLSBuZ01vZGVsIC0tPlxuPGlvbi1pbnB1dFxuICAjY3VycmVuY3lUZXh0SW5wdXRcbiAgKm5nSWY9XCIhY29udHJvbFwiXG4gIFtuZ0NsYXNzXT1cInsgZXJyb3I6ICEhY3VzdG9tRXJyb3JNZXNzYWdlIH1cIlxuICBbbGFiZWxdPVwibGFiZWxcIlxuICBbbGFiZWxQbGFjZW1lbnRdPVwiaW5wdXRMYWJlbFBsYWNlbWVudFwiXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gIGZpbGw9XCJvdXRsaW5lXCJcbiAgW2NsZWFySW5wdXRdPVwiIWlucHV0Q2xlYXJcIlxuICBtb2RlPVwibWRcIlxuICAoaW9uSW5wdXQpPVwiY2hlY2tWYWx1ZSgkZXZlbnQpXCJcbiAgW3ZhbHVlXT1cInZhbHVlXCI+PC9pb24taW5wdXQ+XG48IS0tIEZvcm0gQ29udHJvbCAtLT5cbjxpb24taW5wdXRcbiAgI2N1cnJlbmN5VGV4dElucHV0XG4gICpuZ0lmPVwiY29udHJvbFwiXG4gIFtuZ0NsYXNzXT1cInsgZXJyb3I6ICEhY3VzdG9tRXJyb3JNZXNzYWdlIH1cIlxuICBbbGFiZWxdPVwibGFiZWxcIlxuICBbbGFiZWxQbGFjZW1lbnRdPVwiaW5wdXRMYWJlbFBsYWNlbWVudFwiXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gIGZpbGw9XCJvdXRsaW5lXCJcbiAgW2NsZWFySW5wdXRdPVwiIWlucHV0Q2xlYXJcIlxuICBtb2RlPVwibWRcIlxuICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gIChpb25JbnB1dCk9XCJjaGVja1ZhbHVlKCRldmVudClcIj5cbjwvaW9uLWlucHV0PlxuPGNmLWZvcm0tdmFsaWRhdGlvbiAqbmdJZj1cImNvbnRyb2wgfHwgY3VzdG9tRXJyb3JNZXNzYWdlXCIgW2N1c3RvbUVycm9yTWVzc2FnZV09XCJjdXN0b21FcnJvck1lc3NhZ2VcIiBbY29udHJvbF09XCJjb250cm9sIHx8IG51bGxcIj48L2NmLWZvcm0tdmFsaWRhdGlvbj5cbiJdfQ==
@@ -10,14 +10,14 @@ export class FormValidationComponent {
10
10
  }
11
11
  }
12
12
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormValidationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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" }] });
13
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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 === 'pattern'\">*Incorrect Pattern</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
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormValidationComponent, decorators: [{
16
16
  type: Component,
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"] }]
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 === 'pattern'\">*Incorrect Pattern</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: [{
19
19
  type: Input
20
20
  }], customErrorMessage: [{
21
21
  type: Input
22
22
  }] } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YWxpZGF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9mb3JtLXZhbGlkYXRpb24vZm9ybS12YWxpZGF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9mb3JtLXZhbGlkYXRpb24vZm9ybS12YWxpZGF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFzQyxNQUFNLGVBQWUsQ0FBQzs7O0FBU3JGLE1BQU0sT0FBTyx1QkFBdUI7SUFFekIsT0FBTyxHQUF1QixJQUFJLENBQUM7SUFDbkMsa0JBQWtCLEdBQWtCLElBQUksQ0FBQztJQU9sRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzFELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUNqRCxDQUFDO0lBQ0gsQ0FBQzt3R0FkVSx1QkFBdUI7NEZBQXZCLHVCQUF1Qix5SkNuQnBDLGl6QkFhQTs7NEZETWEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLG9CQUFvQjs4QkFNckIsT0FBTztzQkFBZixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ2FyZUZpcnN0IExpYnJhcnkgRm9ybSBWYWxpZGF0aW9uIEZlZWRiYWNrXG4gKlxuICogQGZpbGUgICAgICAgICAgZm9ybS12YWxpZGF0aW9uLmNvbXBvbmVudFxuICogQGRlc2NyaXB0aW9uICAgQ29udGFpbnMgYWxsIHRoZSBsb2dpYyBmb3IgZ2VuZXJhdGluZyBDYXJlRmlyc3QgRm9ybSBWYWxpZGF0aW9uIEZlZWRiYWNrXG4gKiBAYXV0aG9yICAgICAgICBBcm5vIEphbnNlbiB2YW4gVnV1cmVuXG4gKiBAc2luY2UgICAgICAgICAyMDIzIC0gMTIgLSAwNVxuICogQHVzYWdlICAgICAgICAgPGNmLWZvcm0tdmFsaWRhdGlvbiBbY29udHJvbF09XCJmb3JtTmFtZS5nZXQoJ2NvbnRyb2xOYW1lJylcIiBbY3VzdG9tRXJyb3JNZXNzYWdlXT1cImVycm9yTWVzc2FnZVwiPjwvY2YtZm9ybS12YWxpZGF0aW9uPlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIHR5cGUgT25DaGFuZ2VzLCB0eXBlIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbi8vLS0tIEludGVyZmFjZXNcbmltcG9ydCB0eXBlIHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NmLWZvcm0tdmFsaWRhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLXZhbGlkYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZm9ybS12YWxpZGF0aW9uLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybVZhbGlkYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAvLy0tLSBSZWNlaXZlIGZvcm0gY29udHJvbFxuICBASW5wdXQoKSBjb250cm9sOiBGb3JtQ29udHJvbCB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBjdXN0b21FcnJvck1lc3NhZ2U6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQG5hbWUgICAgICAgICAgbmdPbkNoYW5nZXNcbiAgICogQGRlc2NyaXB0aW9uICAgRGV0ZWN0IGNoYW5nZXMgdG8gaW5wdXQgdmFsdWVzXG4gICAqIEBwYXJhbSAgICAgICAgIHtTaW1wbGVDaGFuZ2VzfSBjaGFuZ2VzXG4gICAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ2NvbnRyb2wnXSAmJiBjaGFuZ2VzWydjb250cm9sJ10uY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLmNvbnRyb2wgPSBjaGFuZ2VzWydjb250cm9sJ10uY3VycmVudFZhbHVlO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImN1c3RvbUVycm9yTWVzc2FnZTsgZWxzZSB1c2VDb250cm9sXCIgY2xhc3M9XCJmb3JtLXZhbGlkLWZlZWRiYWNrXCI+XG4gIDxwIGNsYXNzPVwiYm9keS1tZWRpdW1cIj57eyBjdXN0b21FcnJvck1lc3NhZ2UgfX08L3A+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjdXNlQ29udHJvbD5cbiAgPGRpdiAqbmdJZj1cImNvbnRyb2w/LmRpcnR5ICYmIGNvbnRyb2w/LmVycm9yc1wiIGNsYXNzPVwiZm9ybS12YWxpZC1mZWVkYmFja1wiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGVycm9yIG9mIHRoaXMuY29udHJvbD8uZXJyb3JzIHwga2V5dmFsdWVcIj5cbiAgICAgIDxwIGNsYXNzPVwiYm9keS1tZWRpdW1cIiAqbmdJZj1cImVycm9yLmtleSA9PT0gJ2VtYWlsJ1wiPipJbnZhbGlkIGVtYWlsIGZvcm1hdDwvcD5cbiAgICAgIDxwIGNsYXNzPVwiYm9keS1tZWRpdW1cIiAqbmdJZj1cImVycm9yLmtleSA9PT0gJ21pbmxlbmd0aCdcIj4qTGVuZ3RoIHJlcXVpcmVkOiB7eyBlcnJvci52YWx1ZS5yZXF1aXJlZExlbmd0aCAtIGVycm9yLnZhbHVlLmFjdHVhbExlbmd0aCB9fTwvcD5cbiAgICAgIDxwIGNsYXNzPVwiYm9keS1tZWRpdW1cIiAqbmdJZj1cImVycm9yLmtleSA9PT0gJ21heGxlbmd0aCdcIj4qTWF4IExlbmd0aDoge3sgZXJyb3IudmFsdWUucmVxdWlyZWRMZW5ndGggfX08L3A+XG4gICAgICA8cCBjbGFzcz1cImJvZHktbWVkaXVtXCIgKm5nSWY9XCJlcnJvci5rZXkgPT09ICdlcnJvck1lc3NhZ2UnXCI+Knt7IGVycm9yLnZhbHVlIH19PC9wPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YWxpZGF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9mb3JtLXZhbGlkYXRpb24vZm9ybS12YWxpZGF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9mb3JtLXZhbGlkYXRpb24vZm9ybS12YWxpZGF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFzQyxNQUFNLGVBQWUsQ0FBQzs7O0FBU3JGLE1BQU0sT0FBTyx1QkFBdUI7SUFFekIsT0FBTyxHQUF1QixJQUFJLENBQUM7SUFDbkMsa0JBQWtCLEdBQWtCLElBQUksQ0FBQztJQU9sRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzFELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUNqRCxDQUFDO0lBQ0gsQ0FBQzt3R0FkVSx1QkFBdUI7NEZBQXZCLHVCQUF1Qix5SkNuQnBDLDA0QkFjQTs7NEZES2EsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLG9CQUFvQjs4QkFNckIsT0FBTztzQkFBZixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ2FyZUZpcnN0IExpYnJhcnkgRm9ybSBWYWxpZGF0aW9uIEZlZWRiYWNrXG4gKlxuICogQGZpbGUgICAgICAgICAgZm9ybS12YWxpZGF0aW9uLmNvbXBvbmVudFxuICogQGRlc2NyaXB0aW9uICAgQ29udGFpbnMgYWxsIHRoZSBsb2dpYyBmb3IgZ2VuZXJhdGluZyBDYXJlRmlyc3QgRm9ybSBWYWxpZGF0aW9uIEZlZWRiYWNrXG4gKiBAYXV0aG9yICAgICAgICBBcm5vIEphbnNlbiB2YW4gVnV1cmVuXG4gKiBAc2luY2UgICAgICAgICAyMDIzIC0gMTIgLSAwNVxuICogQHVzYWdlICAgICAgICAgPGNmLWZvcm0tdmFsaWRhdGlvbiBbY29udHJvbF09XCJmb3JtTmFtZS5nZXQoJ2NvbnRyb2xOYW1lJylcIiBbY3VzdG9tRXJyb3JNZXNzYWdlXT1cImVycm9yTWVzc2FnZVwiPjwvY2YtZm9ybS12YWxpZGF0aW9uPlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIHR5cGUgT25DaGFuZ2VzLCB0eXBlIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbi8vLS0tIEludGVyZmFjZXNcbmltcG9ydCB0eXBlIHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NmLWZvcm0tdmFsaWRhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLXZhbGlkYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZm9ybS12YWxpZGF0aW9uLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybVZhbGlkYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAvLy0tLSBSZWNlaXZlIGZvcm0gY29udHJvbFxuICBASW5wdXQoKSBjb250cm9sOiBGb3JtQ29udHJvbCB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBjdXN0b21FcnJvck1lc3NhZ2U6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQG5hbWUgICAgICAgICAgbmdPbkNoYW5nZXNcbiAgICogQGRlc2NyaXB0aW9uICAgRGV0ZWN0IGNoYW5nZXMgdG8gaW5wdXQgdmFsdWVzXG4gICAqIEBwYXJhbSAgICAgICAgIHtTaW1wbGVDaGFuZ2VzfSBjaGFuZ2VzXG4gICAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ2NvbnRyb2wnXSAmJiBjaGFuZ2VzWydjb250cm9sJ10uY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLmNvbnRyb2wgPSBjaGFuZ2VzWydjb250cm9sJ10uY3VycmVudFZhbHVlO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImN1c3RvbUVycm9yTWVzc2FnZTsgZWxzZSB1c2VDb250cm9sXCIgY2xhc3M9XCJmb3JtLXZhbGlkLWZlZWRiYWNrXCI+XG4gIDxwIGNsYXNzPVwiYm9keS1tZWRpdW1cIj57eyBjdXN0b21FcnJvck1lc3NhZ2UgfX08L3A+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjdXNlQ29udHJvbD5cbiAgPGRpdiAqbmdJZj1cImNvbnRyb2w/LmRpcnR5ICYmIGNvbnRyb2w/LmVycm9yc1wiIGNsYXNzPVwiZm9ybS12YWxpZC1mZWVkYmFja1wiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGVycm9yIG9mIHRoaXMuY29udHJvbD8uZXJyb3JzIHwga2V5dmFsdWVcIj5cbiAgICAgIDxwIGNsYXNzPVwiYm9keS1tZWRpdW1cIiAqbmdJZj1cImVycm9yLmtleSA9PT0gJ2VtYWlsJ1wiPipJbnZhbGlkIGVtYWlsIGZvcm1hdDwvcD5cbiAgICAgIDxwIGNsYXNzPVwiYm9keS1tZWRpdW1cIiAqbmdJZj1cImVycm9yLmtleSA9PT0gJ21pbmxlbmd0aCdcIj4qTGVuZ3RoIHJlcXVpcmVkOiB7eyBlcnJvci52YWx1ZS5yZXF1aXJlZExlbmd0aCAtIGVycm9yLnZhbHVlLmFjdHVhbExlbmd0aCB9fTwvcD5cbiAgICAgIDxwIGNsYXNzPVwiYm9keS1tZWRpdW1cIiAqbmdJZj1cImVycm9yLmtleSA9PT0gJ21heGxlbmd0aCdcIj4qTWF4IExlbmd0aDoge3sgZXJyb3IudmFsdWUucmVxdWlyZWRMZW5ndGggfX08L3A+XG4gICAgICA8cCBjbGFzcz1cImJvZHktbWVkaXVtXCIgKm5nSWY9XCJlcnJvci5rZXkgPT09ICdwYXR0ZXJuJ1wiPipJbmNvcnJlY3QgUGF0dGVybjwvcD5cbiAgICAgIDxwIGNsYXNzPVwiYm9keS1tZWRpdW1cIiAqbmdJZj1cImVycm9yLmtleSA9PT0gJ2Vycm9yTWVzc2FnZSdcIj4qe3sgZXJyb3IudmFsdWUgfX08L3A+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -590,11 +590,11 @@ class FormValidationComponent {
590
590
  }
591
591
  }
592
592
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormValidationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
593
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.KeyValuePipe, name: "keyvalue" }] });
593
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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 === 'pattern'\">*Incorrect Pattern</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: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.KeyValuePipe, name: "keyvalue" }] });
594
594
  }
595
595
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormValidationComponent, decorators: [{
596
596
  type: Component,
597
- 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"] }]
597
+ 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 === 'pattern'\">*Incorrect Pattern</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"] }]
598
598
  }], propDecorators: { control: [{
599
599
  type: Input
600
600
  }], customErrorMessage: [{
@@ -1317,11 +1317,9 @@ class FormInputCurrencyComponent {
1317
1317
  this.inputShowCurrency = checkTruthAttribute(changes, 'showCurrency', this.inputShowCurrency);
1318
1318
  }
1319
1319
  checkValue(event) {
1320
- this.customErrorMessage = null;
1321
1320
  if (!this.currencyTextInput)
1322
1321
  return;
1323
1322
  let newValue = event.detail.value.replace(/[^\d\.]/g, '');
1324
- this.valueChange.emit(newValue);
1325
1323
  const parts = newValue.split('.');
1326
1324
  const cents = parts.slice(1).join('').slice(0, 2);
1327
1325
  if (parts.length > 1)
@@ -1335,8 +1333,8 @@ class FormInputCurrencyComponent {
1335
1333
  }
1336
1334
  else {
1337
1335
  this.currencyTextInput.value = newValue;
1338
- this.valueChange.emit(this.customErrorMessage ? undefined : newValue);
1339
1336
  }
1337
+ this.valueChange.emit(this.customErrorMessage ? undefined : newValue);
1340
1338
  }
1341
1339
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormInputCurrencyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1342
1340
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormInputCurrencyComponent, selector: "cf-form-input-currency", inputs: { label: "label", labelPlacement: "labelPlacement", placeholder: "placeholder", noClearButton: "noClearButton", control: "control", customErrorMessage: "customErrorMessage", currency: "currency", showCurrency: "showCurrency", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "currencyTextInput", first: true, predicate: ["currencyTextInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!-- ngModel -->\n<ion-input\n #currencyTextInput\n *ngIf=\"!control\"\n [ngClass]=\"{ error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"!inputClear\"\n mode=\"md\"\n (ionInput)=\"checkValue($event)\"\n [value]=\"value\"></ion-input>\n<!-- Form Control -->\n<ion-input\n #currencyTextInput\n *ngIf=\"control\"\n [ngClass]=\"{ error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"!inputClear\"\n mode=\"md\"\n [formControl]=\"control\"\n (ionInput)=\"checkValue($event)\">\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.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.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: FormValidationComponent, selector: "cf-form-validation", inputs: ["control", "customErrorMessage"] }] });