@skyux/validation 7.0.0-beta.0 → 7.0.0-beta.1

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.
@@ -927,7 +927,7 @@
927
927
  {
928
928
  "fileName": "email-validation-demo.component.ts",
929
929
  "filePath": "/projects/validation/documentation/code-examples/email-validation/control-validator/email-validation-demo.component.ts",
930
- "rawContents": "import { Component, OnInit } from '@angular/core';\nimport {\n AbstractControl,\n UntypedFormBuilder,\n UntypedFormControl,\n UntypedFormGroup,\n Validators,\n} from '@angular/forms';\nimport { SkyValidators } from '@skyux/validation';\n\n@Component({\n selector: 'app-email-validation-demo',\n templateUrl: './email-validation-demo.component.html',\n})\nexport class EmailValidationDemoComponent implements OnInit {\n public get emailControl(): AbstractControl {\n return this.formGroup.get('email');\n }\n\n public formGroup: UntypedFormGroup;\n\n constructor(private formBuilder: UntypedFormBuilder) {}\n\n public ngOnInit(): void {\n this.formGroup = this.formBuilder.group({\n email: new UntypedFormControl(undefined, [\n Validators.required,\n SkyValidators.email,\n ]),\n });\n }\n}\n"
930
+ "rawContents": "import { Component, OnInit } from '@angular/core';\nimport {\n AbstractControl,\n UntypedFormBuilder,\n UntypedFormControl,\n UntypedFormGroup,\n Validators,\n} from '@angular/forms';\nimport { SkyValidators } from '@skyux/validation';\n\n@Component({\n selector: 'app-email-validation-demo',\n templateUrl: './email-validation-demo.component.html',\n})\nexport class EmailValidationDemoComponent implements OnInit {\n public get emailControl(): AbstractControl {\n return this.formGroup.get('email');\n }\n\n public formGroup: UntypedFormGroup;\n\n #formBuilder: UntypedFormBuilder;\n\n constructor(formBuilder: UntypedFormBuilder) {\n this.#formBuilder = formBuilder;\n }\n\n public ngOnInit(): void {\n this.formGroup = this.#formBuilder.group({\n email: new UntypedFormControl(undefined, [\n Validators.required,\n SkyValidators.email,\n ]),\n });\n }\n}\n"
931
931
  },
932
932
  {
933
933
  "fileName": "email-validation-demo.module.ts",
@@ -957,7 +957,7 @@
957
957
  {
958
958
  "fileName": "url-validation-demo.component.ts",
959
959
  "filePath": "/projects/validation/documentation/code-examples/url-validation/control-validator/url-validation-demo.component.ts",
960
- "rawContents": "import { Component, OnInit } from '@angular/core';\nimport {\n AbstractControl,\n UntypedFormBuilder,\n UntypedFormControl,\n UntypedFormGroup,\n Validators,\n} from '@angular/forms';\nimport { SkyValidators } from '@skyux/validation';\n\n@Component({\n selector: 'app-url-validation-demo',\n templateUrl: './url-validation-demo.component.html',\n})\nexport class UrlValidationDemoComponent implements OnInit {\n public get urlControl(): AbstractControl {\n return this.formGroup.get('url');\n }\n\n public formGroup: UntypedFormGroup;\n\n constructor(private formBuilder: UntypedFormBuilder) {}\n\n public ngOnInit(): void {\n this.formGroup = this.formBuilder.group({\n url: new UntypedFormControl(undefined, [\n Validators.required,\n SkyValidators.url({\n rulesetVersion: 2,\n }),\n ]),\n });\n }\n}\n"
960
+ "rawContents": "import { Component, OnInit } from '@angular/core';\nimport {\n AbstractControl,\n UntypedFormBuilder,\n UntypedFormControl,\n UntypedFormGroup,\n Validators,\n} from '@angular/forms';\nimport { SkyValidators } from '@skyux/validation';\n\n@Component({\n selector: 'app-url-validation-demo',\n templateUrl: './url-validation-demo.component.html',\n})\nexport class UrlValidationDemoComponent implements OnInit {\n public get urlControl(): AbstractControl {\n return this.formGroup.get('url');\n }\n\n public formGroup: UntypedFormGroup;\n\n #formBuilder: UntypedFormBuilder;\n\n constructor(formBuilder: UntypedFormBuilder) {\n this.#formBuilder = formBuilder;\n }\n\n public ngOnInit(): void {\n this.formGroup = this.#formBuilder.group({\n url: new UntypedFormControl(undefined, [\n Validators.required,\n SkyValidators.url({\n rulesetVersion: 2,\n }),\n ]),\n });\n }\n}\n"
961
961
  },
962
962
  {
963
963
  "fileName": "url-validation-demo.module.ts",
@@ -1,3 +1,5 @@
1
+ var _SkyUrlValidationDirective__skyUrlValidationOptions, _SkyUrlValidationDirective_validatorChange;
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
1
3
  import { Directive, Input, forwardRef } from '@angular/core';
2
4
  import { NG_VALIDATORS, } from '@angular/forms';
3
5
  import { SkyValidation } from '../validation/validation';
@@ -13,29 +15,31 @@ const SKY_URL_VALIDATION_VALIDATOR = {
13
15
  */
14
16
  export class SkyUrlValidationDirective {
15
17
  constructor() {
18
+ _SkyUrlValidationDirective__skyUrlValidationOptions.set(this, void 0);
16
19
  // eslint-disable-next-line @typescript-eslint/no-empty-function
17
- this._validatorChange = () => { };
20
+ _SkyUrlValidationDirective_validatorChange.set(this, () => { });
18
21
  }
19
22
  /**
20
23
  * Specifies configuration options for the URL validation component.
21
24
  */
22
25
  set skyUrlValidation(value) {
23
- this._skyUrlValidationOptions = value;
24
- this._validatorChange();
26
+ __classPrivateFieldSet(this, _SkyUrlValidationDirective__skyUrlValidationOptions, value, "f");
27
+ __classPrivateFieldGet(this, _SkyUrlValidationDirective_validatorChange, "f").call(this);
25
28
  }
26
29
  validate(control) {
27
30
  const value = control.value;
28
31
  if (!value) {
29
32
  return null;
30
33
  }
31
- return SkyValidation.isUrl(value, this._skyUrlValidationOptions)
34
+ return SkyValidation.isUrl(value, __classPrivateFieldGet(this, _SkyUrlValidationDirective__skyUrlValidationOptions, "f"))
32
35
  ? null
33
36
  : { skyUrl: { invalid: value } };
34
37
  }
35
38
  registerOnValidatorChange(fn) {
36
- this._validatorChange = fn;
39
+ __classPrivateFieldSet(this, _SkyUrlValidationDirective_validatorChange, fn, "f");
37
40
  }
38
41
  }
42
+ _SkyUrlValidationDirective__skyUrlValidationOptions = new WeakMap(), _SkyUrlValidationDirective_validatorChange = new WeakMap();
39
43
  SkyUrlValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyUrlValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
40
44
  SkyUrlValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: SkyUrlValidationDirective, selector: "[skyUrlValidation]", inputs: { skyUrlValidation: "skyUrlValidation" }, providers: [SKY_URL_VALIDATION_VALIDATOR], ngImport: i0 });
41
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyUrlValidationDirective, decorators: [{
@@ -47,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
47
51
  }], propDecorators: { skyUrlValidation: [{
48
52
  type: Input
49
53
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLXZhbGlkYXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3ZhbGlkYXRpb24vc3JjL2xpYi9tb2R1bGVzL3VybC12YWxpZGF0aW9uL3VybC12YWxpZGF0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUVMLGFBQWEsR0FHZCxNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFJekQsc0RBQXNEO0FBQ3RELE1BQU0sNEJBQTRCLEdBQUc7SUFDbkMsT0FBTyxFQUFFLGFBQWE7SUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztJQUN4RCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFFRjs7R0FFRztBQUtILE1BQU0sT0FBTyx5QkFBeUI7SUFKdEM7UUFnQkUsZ0VBQWdFO1FBQ3hELHFCQUFnQixHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztLQWlCckM7SUE3QkM7O09BRUc7SUFDSCxJQUNXLGdCQUFnQixDQUFDLEtBQTBDO1FBQ3BFLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxLQUFLLENBQUM7UUFDdEMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQU9NLFFBQVEsQ0FBQyxPQUF3QjtRQUN0QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBRTVCLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsT0FBTyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsd0JBQXdCLENBQUM7WUFDOUQsQ0FBQyxDQUFDLElBQUk7WUFDTixDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU0seUJBQXlCLENBQUMsRUFBYztRQUM3QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBQzdCLENBQUM7O3NIQTdCVSx5QkFBeUI7MEdBQXpCLHlCQUF5QiwrRkFGekIsQ0FBQyw0QkFBNEIsQ0FBQzsyRkFFOUIseUJBQXlCO2tCQUpyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFNBQVMsRUFBRSxDQUFDLDRCQUE0QixDQUFDO2lCQUMxQzs4QkFNWSxnQkFBZ0I7c0JBRDFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBTa3lWYWxpZGF0aW9uIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uJztcblxuaW1wb3J0IHsgU2t5VXJsVmFsaWRhdGlvbk9wdGlvbnMgfSBmcm9tICcuL3VybC12YWxpZGF0aW9uLW9wdGlvbnMnO1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZTpuby1mb3J3YXJkLXJlZiBuby11c2UtYmVmb3JlLWRlY2xhcmVcbmNvbnN0IFNLWV9VUkxfVkFMSURBVElPTl9WQUxJREFUT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNreVVybFZhbGlkYXRpb25EaXJlY3RpdmUpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbi8qKlxuICogQWRkcyBVUkwgdmFsaWRhdGlvbiB0byBhbiBpbnB1dCBlbGVtZW50LiBUaGUgZGlyZWN0aXZlIHVzZXMgYE5nTW9kZWxgIHRvIGJpbmQgZGF0YS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreVVybFZhbGlkYXRpb25dJyxcbiAgcHJvdmlkZXJzOiBbU0tZX1VSTF9WQUxJREFUSU9OX1ZBTElEQVRPUl0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVVybFZhbGlkYXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBWYWxpZGF0b3Ige1xuICAvKipcbiAgICogU3BlY2lmaWVzIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIFVSTCB2YWxpZGF0aW9uIGNvbXBvbmVudC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2t5VXJsVmFsaWRhdGlvbih2YWx1ZTogU2t5VXJsVmFsaWRhdGlvbk9wdGlvbnMgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9za3lVcmxWYWxpZGF0aW9uT3B0aW9ucyA9IHZhbHVlO1xuICAgIHRoaXMuX3ZhbGlkYXRvckNoYW5nZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2t5VXJsVmFsaWRhdGlvbk9wdGlvbnM6IFNreVVybFZhbGlkYXRpb25PcHRpb25zIHwgdW5kZWZpbmVkO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgcHJpdmF0ZSBfdmFsaWRhdG9yQ2hhbmdlID0gKCkgPT4ge307XG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7XG5cbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gU2t5VmFsaWRhdGlvbi5pc1VybCh2YWx1ZSwgdGhpcy5fc2t5VXJsVmFsaWRhdGlvbk9wdGlvbnMpXG4gICAgICA/IG51bGxcbiAgICAgIDogeyBza3lVcmw6IHsgaW52YWxpZDogdmFsdWUgfSB9O1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl92YWxpZGF0b3JDaGFuZ2UgPSBmbjtcbiAgfVxufVxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLXZhbGlkYXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3ZhbGlkYXRpb24vc3JjL2xpYi9tb2R1bGVzL3VybC12YWxpZGF0aW9uL3VybC12YWxpZGF0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBRUwsYUFBYSxHQUdkLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUl6RCxzREFBc0Q7QUFDdEQsTUFBTSw0QkFBNEIsR0FBRztJQUNuQyxPQUFPLEVBQUUsYUFBYTtJQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDO0lBQ3hELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUVGOztHQUVHO0FBS0gsTUFBTSxPQUFPLHlCQUF5QjtJQUp0QztRQWNFLHNFQUErRDtRQUUvRCxnRUFBZ0U7UUFDaEUscURBQW1CLEdBQUcsRUFBRSxHQUFFLENBQUMsRUFBQztLQWlCN0I7SUE3QkM7O09BRUc7SUFDSCxJQUNXLGdCQUFnQixDQUFDLEtBQTBDO1FBQ3BFLHVCQUFBLElBQUksdURBQTZCLEtBQUssTUFBQSxDQUFDO1FBQ3ZDLHVCQUFBLElBQUksa0RBQWlCLE1BQXJCLElBQUksQ0FBbUIsQ0FBQztJQUMxQixDQUFDO0lBT00sUUFBUSxDQUFDLE9BQXdCO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFFNUIsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLHVCQUFBLElBQUksMkRBQTBCLENBQUM7WUFDL0QsQ0FBQyxDQUFDLElBQUk7WUFDTixDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU0seUJBQXlCLENBQUMsRUFBYztRQUM3Qyx1QkFBQSxJQUFJLDhDQUFvQixFQUFFLE1BQUEsQ0FBQztJQUM3QixDQUFDOzs7c0hBN0JVLHlCQUF5QjswR0FBekIseUJBQXlCLCtGQUZ6QixDQUFDLDRCQUE0QixDQUFDOzJGQUU5Qix5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsU0FBUyxFQUFFLENBQUMsNEJBQTRCLENBQUM7aUJBQzFDOzhCQU1ZLGdCQUFnQjtzQkFEMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgTkdfVkFMSURBVE9SUyxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9yLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFNreVZhbGlkYXRpb24gfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24nO1xuXG5pbXBvcnQgeyBTa3lVcmxWYWxpZGF0aW9uT3B0aW9ucyB9IGZyb20gJy4vdXJsLXZhbGlkYXRpb24tb3B0aW9ucyc7XG5cbi8vIHRzbGludDpkaXNhYmxlOm5vLWZvcndhcmQtcmVmIG5vLXVzZS1iZWZvcmUtZGVjbGFyZVxuY29uc3QgU0tZX1VSTF9WQUxJREFUSU9OX1ZBTElEQVRPUiA9IHtcbiAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2t5VXJsVmFsaWRhdGlvbkRpcmVjdGl2ZSksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuLyoqXG4gKiBBZGRzIFVSTCB2YWxpZGF0aW9uIHRvIGFuIGlucHV0IGVsZW1lbnQuIFRoZSBkaXJlY3RpdmUgdXNlcyBgTmdNb2RlbGAgdG8gYmluZCBkYXRhLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2t5VXJsVmFsaWRhdGlvbl0nLFxuICBwcm92aWRlcnM6IFtTS1lfVVJMX1ZBTElEQVRJT05fVkFMSURBVE9SXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VXJsVmFsaWRhdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIFZhbGlkYXRvciB7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgVVJMIHZhbGlkYXRpb24gY29tcG9uZW50LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBza3lVcmxWYWxpZGF0aW9uKHZhbHVlOiBTa3lVcmxWYWxpZGF0aW9uT3B0aW9ucyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19za3lVcmxWYWxpZGF0aW9uT3B0aW9ucyA9IHZhbHVlO1xuICAgIHRoaXMuI3ZhbGlkYXRvckNoYW5nZSgpO1xuICB9XG5cbiAgI19za3lVcmxWYWxpZGF0aW9uT3B0aW9uczogU2t5VXJsVmFsaWRhdGlvbk9wdGlvbnMgfCB1bmRlZmluZWQ7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAjdmFsaWRhdG9yQ2hhbmdlID0gKCkgPT4ge307XG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7XG5cbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gU2t5VmFsaWRhdGlvbi5pc1VybCh2YWx1ZSwgdGhpcy4jX3NreVVybFZhbGlkYXRpb25PcHRpb25zKVxuICAgICAgPyBudWxsXG4gICAgICA6IHsgc2t5VXJsOiB7IGludmFsaWQ6IHZhbHVlIH0gfTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy4jdmFsaWRhdG9yQ2hhbmdlID0gZm47XG4gIH1cbn1cbiJdfQ==
@@ -2,6 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { forwardRef, Directive, NgModule, Input } from '@angular/core';
3
3
  import { NG_VALIDATORS, FormsModule } from '@angular/forms';
4
4
  import isURL from 'validator/es/lib/isURL';
5
+ import { __classPrivateFieldSet, __classPrivateFieldGet } from 'tslib';
5
6
 
6
7
  class SkyValidation {
7
8
  static isEmail(emailAddress) {
@@ -79,6 +80,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
79
80
  }]
80
81
  }] });
81
82
 
83
+ var _SkyUrlValidationDirective__skyUrlValidationOptions, _SkyUrlValidationDirective_validatorChange;
82
84
  // tslint:disable:no-forward-ref no-use-before-declare
83
85
  const SKY_URL_VALIDATION_VALIDATOR = {
84
86
  provide: NG_VALIDATORS,
@@ -90,29 +92,31 @@ const SKY_URL_VALIDATION_VALIDATOR = {
90
92
  */
91
93
  class SkyUrlValidationDirective {
92
94
  constructor() {
95
+ _SkyUrlValidationDirective__skyUrlValidationOptions.set(this, void 0);
93
96
  // eslint-disable-next-line @typescript-eslint/no-empty-function
94
- this._validatorChange = () => { };
97
+ _SkyUrlValidationDirective_validatorChange.set(this, () => { });
95
98
  }
96
99
  /**
97
100
  * Specifies configuration options for the URL validation component.
98
101
  */
99
102
  set skyUrlValidation(value) {
100
- this._skyUrlValidationOptions = value;
101
- this._validatorChange();
103
+ __classPrivateFieldSet(this, _SkyUrlValidationDirective__skyUrlValidationOptions, value, "f");
104
+ __classPrivateFieldGet(this, _SkyUrlValidationDirective_validatorChange, "f").call(this);
102
105
  }
103
106
  validate(control) {
104
107
  const value = control.value;
105
108
  if (!value) {
106
109
  return null;
107
110
  }
108
- return SkyValidation.isUrl(value, this._skyUrlValidationOptions)
111
+ return SkyValidation.isUrl(value, __classPrivateFieldGet(this, _SkyUrlValidationDirective__skyUrlValidationOptions, "f"))
109
112
  ? null
110
113
  : { skyUrl: { invalid: value } };
111
114
  }
112
115
  registerOnValidatorChange(fn) {
113
- this._validatorChange = fn;
116
+ __classPrivateFieldSet(this, _SkyUrlValidationDirective_validatorChange, fn, "f");
114
117
  }
115
118
  }
119
+ _SkyUrlValidationDirective__skyUrlValidationOptions = new WeakMap(), _SkyUrlValidationDirective_validatorChange = new WeakMap();
116
120
  SkyUrlValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyUrlValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
117
121
  SkyUrlValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: SkyUrlValidationDirective, selector: "[skyUrlValidation]", inputs: { skyUrlValidation: "skyUrlValidation" }, providers: [SKY_URL_VALIDATION_VALIDATOR], ngImport: i0 });
118
122
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyUrlValidationDirective, decorators: [{
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-validation.mjs","sources":["../../../../../libs/components/validation/src/lib/modules/validation/validation.ts","../../../../../libs/components/validation/src/lib/modules/email-validation/email-validation.directive.ts","../../../../../libs/components/validation/src/lib/modules/email-validation/email-validation.module.ts","../../../../../libs/components/validation/src/lib/modules/url-validation/url-validation.directive.ts","../../../../../libs/components/validation/src/lib/modules/url-validation/url-validation.module.ts","../../../../../libs/components/validation/src/lib/modules/validators/validators.ts","../../../../../libs/components/validation/src/skyux-validation.ts"],"sourcesContent":["import isURL from 'validator/es/lib/isURL';\n\nimport { SkyUrlValidationOptions } from '../url-validation/url-validation-options';\n\nexport abstract class SkyValidation {\n public static isEmail(emailAddress: string): boolean {\n // The regex was obtained from http://emailregex.com/\n // which claims to correctly handle ~99% of all email addresses.\n const regex =\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return regex.test(emailAddress);\n }\n\n public static isUrl(\n value: unknown,\n options?: SkyUrlValidationOptions\n ): boolean {\n if (typeof value !== 'string') {\n return false;\n }\n\n const url: string = value;\n\n const regex = /^((http|https):\\/\\/)?([\\w-]+\\.)+[\\w-]+/i;\n if (options) {\n switch (options.rulesetVersion) {\n case 1:\n return regex.test(url);\n case 2:\n // we are using the `validator` package's default options\n return isURL(url);\n }\n } else {\n return regex.test(url);\n }\n }\n}\n","import { Directive, forwardRef } from '@angular/core';\nimport {\n AbstractControl,\n NG_VALIDATORS,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\n\nimport { SkyValidation } from '../validation/validation';\n\nconst SKY_EMAIL_VALIDATION_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyEmailValidationDirective),\n multi: true,\n};\n\n/**\n * Adds email address validation to an input element. The directive uses `NgModel` to bind data.\n */\n@Directive({\n selector: '[skyEmailValidation]',\n providers: [SKY_EMAIL_VALIDATION_VALIDATOR],\n})\nexport class SkyEmailValidationDirective implements Validator {\n public validate(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value || this.emailIsValid(value)) {\n return null;\n }\n\n return {\n skyEmail: {\n invalid: control.value,\n },\n };\n }\n\n public emailIsValid(email: string): boolean {\n return SkyValidation.isEmail(email);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { SkyEmailValidationDirective } from './email-validation.directive';\n\n@NgModule({\n declarations: [SkyEmailValidationDirective],\n imports: [FormsModule],\n exports: [SkyEmailValidationDirective],\n})\nexport class SkyEmailValidationModule {}\n","import { Directive, Input, forwardRef } from '@angular/core';\nimport {\n AbstractControl,\n NG_VALIDATORS,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\n\nimport { SkyValidation } from '../validation/validation';\n\nimport { SkyUrlValidationOptions } from './url-validation-options';\n\n// tslint:disable:no-forward-ref no-use-before-declare\nconst SKY_URL_VALIDATION_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyUrlValidationDirective),\n multi: true,\n};\n\n/**\n * Adds URL validation to an input element. The directive uses `NgModel` to bind data.\n */\n@Directive({\n selector: '[skyUrlValidation]',\n providers: [SKY_URL_VALIDATION_VALIDATOR],\n})\nexport class SkyUrlValidationDirective implements Validator {\n /**\n * Specifies configuration options for the URL validation component.\n */\n @Input()\n public set skyUrlValidation(value: SkyUrlValidationOptions | undefined) {\n this._skyUrlValidationOptions = value;\n this._validatorChange();\n }\n\n private _skyUrlValidationOptions: SkyUrlValidationOptions | undefined;\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private _validatorChange = () => {};\n\n public validate(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value) {\n return null;\n }\n\n return SkyValidation.isUrl(value, this._skyUrlValidationOptions)\n ? null\n : { skyUrl: { invalid: value } };\n }\n\n public registerOnValidatorChange(fn: () => void): void {\n this._validatorChange = fn;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { SkyUrlValidationDirective } from './url-validation.directive';\n\n@NgModule({\n declarations: [SkyUrlValidationDirective],\n imports: [FormsModule],\n exports: [SkyUrlValidationDirective],\n})\nexport class SkyUrlValidationModule {}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\nimport { SkyUrlValidationOptions } from '../url-validation/url-validation-options';\nimport { SkyValidation } from '../validation/validation';\n\n// Need to add the following to classes which contain static methods.\n// See: https://github.com/ng-packagr/ng-packagr/issues/641\n// @dynamic\nexport class SkyValidators {\n /**\n * Validates email addresses in reactive forms. Add this validator directly to the form control\n * model in the component class. If users enter values that are not valid email addresses, the\n * validator throws an error. Since this is a sync validator, it returns a set of validation\n * errors or `null` immediately when users enter values.\n */\n public static email(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value) {\n return null;\n }\n\n return SkyValidation.isEmail(value)\n ? null\n : { skyEmail: { invalid: value } };\n }\n\n /**\n * Validates URLs in reactive forms. Add this validator directly to the form control model in\n * the component class. If users enter values that are not valid URLs, the validator throws an\n * error. Since this is a sync validator, it returns a set of validation errors or `null`\n * immediately when users enter values.\n */\n public static url(abstractControl: AbstractControl): ValidationErrors | null;\n\n /**\n * Validates URLs in reactive forms. Add this validator with ruleset parameters directly to\n * the form control model in the component class. If users enter values that are not valid\n * URLs, the validator throws an error. Since this is a sync validator, it returns a set of\n * validation errors or `null` immediately when users enter values.\n */\n public static url(\n skyUrlValidationOptions: SkyUrlValidationOptions\n ): ValidatorFn | null;\n\n public static url(\n value: AbstractControl | SkyUrlValidationOptions\n ): ValidatorFn | ValidationErrors | null {\n const typeTester = value as SkyUrlValidationOptions;\n if (typeTester.rulesetVersion === undefined) {\n // there are no SkyUrlValidationOptions passed in, so return ValidationErrors | null\n const abstractControl = value as AbstractControl;\n const abstractControlValue = abstractControl.value;\n if (!abstractControlValue) {\n return null;\n }\n return SkyValidation.isUrl(abstractControlValue)\n ? null\n : { skyUrl: { invalid: abstractControlValue } };\n } else {\n // there are SkyUrlValidationOptions passed in, so return ValidatorFn\n const skyUrlValidationOptions = value as SkyUrlValidationOptions;\n return (abstractControl: AbstractControl): ValidationErrors | null => {\n const abstractControlValue = abstractControl.value;\n if (!abstractControlValue) {\n return null;\n }\n\n return SkyValidation.isUrl(\n abstractControl.value,\n skyUrlValidationOptions\n )\n ? null\n : { skyUrl: { invalid: abstractControl.value } };\n };\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skyux-validation.mjs","sources":["../../../../../libs/components/validation/src/lib/modules/validation/validation.ts","../../../../../libs/components/validation/src/lib/modules/email-validation/email-validation.directive.ts","../../../../../libs/components/validation/src/lib/modules/email-validation/email-validation.module.ts","../../../../../libs/components/validation/src/lib/modules/url-validation/url-validation.directive.ts","../../../../../libs/components/validation/src/lib/modules/url-validation/url-validation.module.ts","../../../../../libs/components/validation/src/lib/modules/validators/validators.ts","../../../../../libs/components/validation/src/skyux-validation.ts"],"sourcesContent":["import isURL from 'validator/es/lib/isURL';\n\nimport { SkyUrlValidationOptions } from '../url-validation/url-validation-options';\n\nexport abstract class SkyValidation {\n public static isEmail(emailAddress: string): boolean {\n // The regex was obtained from http://emailregex.com/\n // which claims to correctly handle ~99% of all email addresses.\n const regex =\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return regex.test(emailAddress);\n }\n\n public static isUrl(\n value: unknown,\n options?: SkyUrlValidationOptions\n ): boolean {\n if (typeof value !== 'string') {\n return false;\n }\n\n const url: string = value;\n\n const regex = /^((http|https):\\/\\/)?([\\w-]+\\.)+[\\w-]+/i;\n if (options) {\n switch (options.rulesetVersion) {\n case 1:\n return regex.test(url);\n case 2:\n // we are using the `validator` package's default options\n return isURL(url);\n }\n } else {\n return regex.test(url);\n }\n }\n}\n","import { Directive, forwardRef } from '@angular/core';\nimport {\n AbstractControl,\n NG_VALIDATORS,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\n\nimport { SkyValidation } from '../validation/validation';\n\nconst SKY_EMAIL_VALIDATION_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyEmailValidationDirective),\n multi: true,\n};\n\n/**\n * Adds email address validation to an input element. The directive uses `NgModel` to bind data.\n */\n@Directive({\n selector: '[skyEmailValidation]',\n providers: [SKY_EMAIL_VALIDATION_VALIDATOR],\n})\nexport class SkyEmailValidationDirective implements Validator {\n public validate(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value || this.emailIsValid(value)) {\n return null;\n }\n\n return {\n skyEmail: {\n invalid: control.value,\n },\n };\n }\n\n public emailIsValid(email: string): boolean {\n return SkyValidation.isEmail(email);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { SkyEmailValidationDirective } from './email-validation.directive';\n\n@NgModule({\n declarations: [SkyEmailValidationDirective],\n imports: [FormsModule],\n exports: [SkyEmailValidationDirective],\n})\nexport class SkyEmailValidationModule {}\n","import { Directive, Input, forwardRef } from '@angular/core';\nimport {\n AbstractControl,\n NG_VALIDATORS,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\n\nimport { SkyValidation } from '../validation/validation';\n\nimport { SkyUrlValidationOptions } from './url-validation-options';\n\n// tslint:disable:no-forward-ref no-use-before-declare\nconst SKY_URL_VALIDATION_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyUrlValidationDirective),\n multi: true,\n};\n\n/**\n * Adds URL validation to an input element. The directive uses `NgModel` to bind data.\n */\n@Directive({\n selector: '[skyUrlValidation]',\n providers: [SKY_URL_VALIDATION_VALIDATOR],\n})\nexport class SkyUrlValidationDirective implements Validator {\n /**\n * Specifies configuration options for the URL validation component.\n */\n @Input()\n public set skyUrlValidation(value: SkyUrlValidationOptions | undefined) {\n this.#_skyUrlValidationOptions = value;\n this.#validatorChange();\n }\n\n #_skyUrlValidationOptions: SkyUrlValidationOptions | undefined;\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n #validatorChange = () => {};\n\n public validate(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value) {\n return null;\n }\n\n return SkyValidation.isUrl(value, this.#_skyUrlValidationOptions)\n ? null\n : { skyUrl: { invalid: value } };\n }\n\n public registerOnValidatorChange(fn: () => void): void {\n this.#validatorChange = fn;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { SkyUrlValidationDirective } from './url-validation.directive';\n\n@NgModule({\n declarations: [SkyUrlValidationDirective],\n imports: [FormsModule],\n exports: [SkyUrlValidationDirective],\n})\nexport class SkyUrlValidationModule {}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\nimport { SkyUrlValidationOptions } from '../url-validation/url-validation-options';\nimport { SkyValidation } from '../validation/validation';\n\n// Need to add the following to classes which contain static methods.\n// See: https://github.com/ng-packagr/ng-packagr/issues/641\n// @dynamic\nexport class SkyValidators {\n /**\n * Validates email addresses in reactive forms. Add this validator directly to the form control\n * model in the component class. If users enter values that are not valid email addresses, the\n * validator throws an error. Since this is a sync validator, it returns a set of validation\n * errors or `null` immediately when users enter values.\n */\n public static email(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value) {\n return null;\n }\n\n return SkyValidation.isEmail(value)\n ? null\n : { skyEmail: { invalid: value } };\n }\n\n /**\n * Validates URLs in reactive forms. Add this validator directly to the form control model in\n * the component class. If users enter values that are not valid URLs, the validator throws an\n * error. Since this is a sync validator, it returns a set of validation errors or `null`\n * immediately when users enter values.\n */\n public static url(abstractControl: AbstractControl): ValidationErrors | null;\n\n /**\n * Validates URLs in reactive forms. Add this validator with ruleset parameters directly to\n * the form control model in the component class. If users enter values that are not valid\n * URLs, the validator throws an error. Since this is a sync validator, it returns a set of\n * validation errors or `null` immediately when users enter values.\n */\n public static url(\n skyUrlValidationOptions: SkyUrlValidationOptions\n ): ValidatorFn | null;\n\n public static url(\n value: AbstractControl | SkyUrlValidationOptions\n ): ValidatorFn | ValidationErrors | null {\n const typeTester = value as SkyUrlValidationOptions;\n if (typeTester.rulesetVersion === undefined) {\n // there are no SkyUrlValidationOptions passed in, so return ValidationErrors | null\n const abstractControl = value as AbstractControl;\n const abstractControlValue = abstractControl.value;\n if (!abstractControlValue) {\n return null;\n }\n return SkyValidation.isUrl(abstractControlValue)\n ? null\n : { skyUrl: { invalid: abstractControlValue } };\n } else {\n // there are SkyUrlValidationOptions passed in, so return ValidatorFn\n const skyUrlValidationOptions = value as SkyUrlValidationOptions;\n return (abstractControl: AbstractControl): ValidationErrors | null => {\n const abstractControlValue = abstractControl.value;\n if (!abstractControlValue) {\n return null;\n }\n\n return SkyValidation.isUrl(\n abstractControl.value,\n skyUrlValidationOptions\n )\n ? null\n : { skyUrl: { invalid: abstractControl.value } };\n };\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { forwardRef, Directive, NgModule, Input } from '@angular/core';
3
3
  import { NG_VALIDATORS, FormsModule } from '@angular/forms';
4
4
  import isURL from 'validator/es/lib/isURL';
5
+ import { __classPrivateFieldSet, __classPrivateFieldGet } from 'tslib';
5
6
 
6
7
  class SkyValidation {
7
8
  static isEmail(emailAddress) {
@@ -79,6 +80,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
79
80
  }]
80
81
  }] });
81
82
 
83
+ var _SkyUrlValidationDirective__skyUrlValidationOptions, _SkyUrlValidationDirective_validatorChange;
82
84
  // tslint:disable:no-forward-ref no-use-before-declare
83
85
  const SKY_URL_VALIDATION_VALIDATOR = {
84
86
  provide: NG_VALIDATORS,
@@ -90,29 +92,31 @@ const SKY_URL_VALIDATION_VALIDATOR = {
90
92
  */
91
93
  class SkyUrlValidationDirective {
92
94
  constructor() {
95
+ _SkyUrlValidationDirective__skyUrlValidationOptions.set(this, void 0);
93
96
  // eslint-disable-next-line @typescript-eslint/no-empty-function
94
- this._validatorChange = () => { };
97
+ _SkyUrlValidationDirective_validatorChange.set(this, () => { });
95
98
  }
96
99
  /**
97
100
  * Specifies configuration options for the URL validation component.
98
101
  */
99
102
  set skyUrlValidation(value) {
100
- this._skyUrlValidationOptions = value;
101
- this._validatorChange();
103
+ __classPrivateFieldSet(this, _SkyUrlValidationDirective__skyUrlValidationOptions, value, "f");
104
+ __classPrivateFieldGet(this, _SkyUrlValidationDirective_validatorChange, "f").call(this);
102
105
  }
103
106
  validate(control) {
104
107
  const value = control.value;
105
108
  if (!value) {
106
109
  return null;
107
110
  }
108
- return SkyValidation.isUrl(value, this._skyUrlValidationOptions)
111
+ return SkyValidation.isUrl(value, __classPrivateFieldGet(this, _SkyUrlValidationDirective__skyUrlValidationOptions, "f"))
109
112
  ? null
110
113
  : { skyUrl: { invalid: value } };
111
114
  }
112
115
  registerOnValidatorChange(fn) {
113
- this._validatorChange = fn;
116
+ __classPrivateFieldSet(this, _SkyUrlValidationDirective_validatorChange, fn, "f");
114
117
  }
115
118
  }
119
+ _SkyUrlValidationDirective__skyUrlValidationOptions = new WeakMap(), _SkyUrlValidationDirective_validatorChange = new WeakMap();
116
120
  SkyUrlValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyUrlValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
117
121
  SkyUrlValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: SkyUrlValidationDirective, selector: "[skyUrlValidation]", inputs: { skyUrlValidation: "skyUrlValidation" }, providers: [SKY_URL_VALIDATION_VALIDATOR], ngImport: i0 });
118
122
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyUrlValidationDirective, decorators: [{
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-validation.mjs","sources":["../../../../../libs/components/validation/src/lib/modules/validation/validation.ts","../../../../../libs/components/validation/src/lib/modules/email-validation/email-validation.directive.ts","../../../../../libs/components/validation/src/lib/modules/email-validation/email-validation.module.ts","../../../../../libs/components/validation/src/lib/modules/url-validation/url-validation.directive.ts","../../../../../libs/components/validation/src/lib/modules/url-validation/url-validation.module.ts","../../../../../libs/components/validation/src/lib/modules/validators/validators.ts","../../../../../libs/components/validation/src/skyux-validation.ts"],"sourcesContent":["import isURL from 'validator/es/lib/isURL';\n\nimport { SkyUrlValidationOptions } from '../url-validation/url-validation-options';\n\nexport abstract class SkyValidation {\n public static isEmail(emailAddress: string): boolean {\n // The regex was obtained from http://emailregex.com/\n // which claims to correctly handle ~99% of all email addresses.\n const regex =\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return regex.test(emailAddress);\n }\n\n public static isUrl(\n value: unknown,\n options?: SkyUrlValidationOptions\n ): boolean {\n if (typeof value !== 'string') {\n return false;\n }\n\n const url: string = value;\n\n const regex = /^((http|https):\\/\\/)?([\\w-]+\\.)+[\\w-]+/i;\n if (options) {\n switch (options.rulesetVersion) {\n case 1:\n return regex.test(url);\n case 2:\n // we are using the `validator` package's default options\n return isURL(url);\n }\n } else {\n return regex.test(url);\n }\n }\n}\n","import { Directive, forwardRef } from '@angular/core';\nimport {\n AbstractControl,\n NG_VALIDATORS,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\n\nimport { SkyValidation } from '../validation/validation';\n\nconst SKY_EMAIL_VALIDATION_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyEmailValidationDirective),\n multi: true,\n};\n\n/**\n * Adds email address validation to an input element. The directive uses `NgModel` to bind data.\n */\n@Directive({\n selector: '[skyEmailValidation]',\n providers: [SKY_EMAIL_VALIDATION_VALIDATOR],\n})\nexport class SkyEmailValidationDirective implements Validator {\n public validate(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value || this.emailIsValid(value)) {\n return null;\n }\n\n return {\n skyEmail: {\n invalid: control.value,\n },\n };\n }\n\n public emailIsValid(email: string): boolean {\n return SkyValidation.isEmail(email);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { SkyEmailValidationDirective } from './email-validation.directive';\n\n@NgModule({\n declarations: [SkyEmailValidationDirective],\n imports: [FormsModule],\n exports: [SkyEmailValidationDirective],\n})\nexport class SkyEmailValidationModule {}\n","import { Directive, Input, forwardRef } from '@angular/core';\nimport {\n AbstractControl,\n NG_VALIDATORS,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\n\nimport { SkyValidation } from '../validation/validation';\n\nimport { SkyUrlValidationOptions } from './url-validation-options';\n\n// tslint:disable:no-forward-ref no-use-before-declare\nconst SKY_URL_VALIDATION_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyUrlValidationDirective),\n multi: true,\n};\n\n/**\n * Adds URL validation to an input element. The directive uses `NgModel` to bind data.\n */\n@Directive({\n selector: '[skyUrlValidation]',\n providers: [SKY_URL_VALIDATION_VALIDATOR],\n})\nexport class SkyUrlValidationDirective implements Validator {\n /**\n * Specifies configuration options for the URL validation component.\n */\n @Input()\n public set skyUrlValidation(value: SkyUrlValidationOptions | undefined) {\n this._skyUrlValidationOptions = value;\n this._validatorChange();\n }\n\n private _skyUrlValidationOptions: SkyUrlValidationOptions | undefined;\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private _validatorChange = () => {};\n\n public validate(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value) {\n return null;\n }\n\n return SkyValidation.isUrl(value, this._skyUrlValidationOptions)\n ? null\n : { skyUrl: { invalid: value } };\n }\n\n public registerOnValidatorChange(fn: () => void): void {\n this._validatorChange = fn;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { SkyUrlValidationDirective } from './url-validation.directive';\n\n@NgModule({\n declarations: [SkyUrlValidationDirective],\n imports: [FormsModule],\n exports: [SkyUrlValidationDirective],\n})\nexport class SkyUrlValidationModule {}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\nimport { SkyUrlValidationOptions } from '../url-validation/url-validation-options';\nimport { SkyValidation } from '../validation/validation';\n\n// Need to add the following to classes which contain static methods.\n// See: https://github.com/ng-packagr/ng-packagr/issues/641\n// @dynamic\nexport class SkyValidators {\n /**\n * Validates email addresses in reactive forms. Add this validator directly to the form control\n * model in the component class. If users enter values that are not valid email addresses, the\n * validator throws an error. Since this is a sync validator, it returns a set of validation\n * errors or `null` immediately when users enter values.\n */\n public static email(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value) {\n return null;\n }\n\n return SkyValidation.isEmail(value)\n ? null\n : { skyEmail: { invalid: value } };\n }\n\n /**\n * Validates URLs in reactive forms. Add this validator directly to the form control model in\n * the component class. If users enter values that are not valid URLs, the validator throws an\n * error. Since this is a sync validator, it returns a set of validation errors or `null`\n * immediately when users enter values.\n */\n public static url(abstractControl: AbstractControl): ValidationErrors | null;\n\n /**\n * Validates URLs in reactive forms. Add this validator with ruleset parameters directly to\n * the form control model in the component class. If users enter values that are not valid\n * URLs, the validator throws an error. Since this is a sync validator, it returns a set of\n * validation errors or `null` immediately when users enter values.\n */\n public static url(\n skyUrlValidationOptions: SkyUrlValidationOptions\n ): ValidatorFn | null;\n\n public static url(\n value: AbstractControl | SkyUrlValidationOptions\n ): ValidatorFn | ValidationErrors | null {\n const typeTester = value as SkyUrlValidationOptions;\n if (typeTester.rulesetVersion === undefined) {\n // there are no SkyUrlValidationOptions passed in, so return ValidationErrors | null\n const abstractControl = value as AbstractControl;\n const abstractControlValue = abstractControl.value;\n if (!abstractControlValue) {\n return null;\n }\n return SkyValidation.isUrl(abstractControlValue)\n ? null\n : { skyUrl: { invalid: abstractControlValue } };\n } else {\n // there are SkyUrlValidationOptions passed in, so return ValidatorFn\n const skyUrlValidationOptions = value as SkyUrlValidationOptions;\n return (abstractControl: AbstractControl): ValidationErrors | null => {\n const abstractControlValue = abstractControl.value;\n if (!abstractControlValue) {\n return null;\n }\n\n return SkyValidation.isUrl(\n abstractControl.value,\n skyUrlValidationOptions\n )\n ? null\n : { skyUrl: { invalid: abstractControl.value } };\n };\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skyux-validation.mjs","sources":["../../../../../libs/components/validation/src/lib/modules/validation/validation.ts","../../../../../libs/components/validation/src/lib/modules/email-validation/email-validation.directive.ts","../../../../../libs/components/validation/src/lib/modules/email-validation/email-validation.module.ts","../../../../../libs/components/validation/src/lib/modules/url-validation/url-validation.directive.ts","../../../../../libs/components/validation/src/lib/modules/url-validation/url-validation.module.ts","../../../../../libs/components/validation/src/lib/modules/validators/validators.ts","../../../../../libs/components/validation/src/skyux-validation.ts"],"sourcesContent":["import isURL from 'validator/es/lib/isURL';\n\nimport { SkyUrlValidationOptions } from '../url-validation/url-validation-options';\n\nexport abstract class SkyValidation {\n public static isEmail(emailAddress: string): boolean {\n // The regex was obtained from http://emailregex.com/\n // which claims to correctly handle ~99% of all email addresses.\n const regex =\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return regex.test(emailAddress);\n }\n\n public static isUrl(\n value: unknown,\n options?: SkyUrlValidationOptions\n ): boolean {\n if (typeof value !== 'string') {\n return false;\n }\n\n const url: string = value;\n\n const regex = /^((http|https):\\/\\/)?([\\w-]+\\.)+[\\w-]+/i;\n if (options) {\n switch (options.rulesetVersion) {\n case 1:\n return regex.test(url);\n case 2:\n // we are using the `validator` package's default options\n return isURL(url);\n }\n } else {\n return regex.test(url);\n }\n }\n}\n","import { Directive, forwardRef } from '@angular/core';\nimport {\n AbstractControl,\n NG_VALIDATORS,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\n\nimport { SkyValidation } from '../validation/validation';\n\nconst SKY_EMAIL_VALIDATION_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyEmailValidationDirective),\n multi: true,\n};\n\n/**\n * Adds email address validation to an input element. The directive uses `NgModel` to bind data.\n */\n@Directive({\n selector: '[skyEmailValidation]',\n providers: [SKY_EMAIL_VALIDATION_VALIDATOR],\n})\nexport class SkyEmailValidationDirective implements Validator {\n public validate(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value || this.emailIsValid(value)) {\n return null;\n }\n\n return {\n skyEmail: {\n invalid: control.value,\n },\n };\n }\n\n public emailIsValid(email: string): boolean {\n return SkyValidation.isEmail(email);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { SkyEmailValidationDirective } from './email-validation.directive';\n\n@NgModule({\n declarations: [SkyEmailValidationDirective],\n imports: [FormsModule],\n exports: [SkyEmailValidationDirective],\n})\nexport class SkyEmailValidationModule {}\n","import { Directive, Input, forwardRef } from '@angular/core';\nimport {\n AbstractControl,\n NG_VALIDATORS,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\n\nimport { SkyValidation } from '../validation/validation';\n\nimport { SkyUrlValidationOptions } from './url-validation-options';\n\n// tslint:disable:no-forward-ref no-use-before-declare\nconst SKY_URL_VALIDATION_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyUrlValidationDirective),\n multi: true,\n};\n\n/**\n * Adds URL validation to an input element. The directive uses `NgModel` to bind data.\n */\n@Directive({\n selector: '[skyUrlValidation]',\n providers: [SKY_URL_VALIDATION_VALIDATOR],\n})\nexport class SkyUrlValidationDirective implements Validator {\n /**\n * Specifies configuration options for the URL validation component.\n */\n @Input()\n public set skyUrlValidation(value: SkyUrlValidationOptions | undefined) {\n this.#_skyUrlValidationOptions = value;\n this.#validatorChange();\n }\n\n #_skyUrlValidationOptions: SkyUrlValidationOptions | undefined;\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n #validatorChange = () => {};\n\n public validate(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value) {\n return null;\n }\n\n return SkyValidation.isUrl(value, this.#_skyUrlValidationOptions)\n ? null\n : { skyUrl: { invalid: value } };\n }\n\n public registerOnValidatorChange(fn: () => void): void {\n this.#validatorChange = fn;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { SkyUrlValidationDirective } from './url-validation.directive';\n\n@NgModule({\n declarations: [SkyUrlValidationDirective],\n imports: [FormsModule],\n exports: [SkyUrlValidationDirective],\n})\nexport class SkyUrlValidationModule {}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\nimport { SkyUrlValidationOptions } from '../url-validation/url-validation-options';\nimport { SkyValidation } from '../validation/validation';\n\n// Need to add the following to classes which contain static methods.\n// See: https://github.com/ng-packagr/ng-packagr/issues/641\n// @dynamic\nexport class SkyValidators {\n /**\n * Validates email addresses in reactive forms. Add this validator directly to the form control\n * model in the component class. If users enter values that are not valid email addresses, the\n * validator throws an error. Since this is a sync validator, it returns a set of validation\n * errors or `null` immediately when users enter values.\n */\n public static email(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value) {\n return null;\n }\n\n return SkyValidation.isEmail(value)\n ? null\n : { skyEmail: { invalid: value } };\n }\n\n /**\n * Validates URLs in reactive forms. Add this validator directly to the form control model in\n * the component class. If users enter values that are not valid URLs, the validator throws an\n * error. Since this is a sync validator, it returns a set of validation errors or `null`\n * immediately when users enter values.\n */\n public static url(abstractControl: AbstractControl): ValidationErrors | null;\n\n /**\n * Validates URLs in reactive forms. Add this validator with ruleset parameters directly to\n * the form control model in the component class. If users enter values that are not valid\n * URLs, the validator throws an error. Since this is a sync validator, it returns a set of\n * validation errors or `null` immediately when users enter values.\n */\n public static url(\n skyUrlValidationOptions: SkyUrlValidationOptions\n ): ValidatorFn | null;\n\n public static url(\n value: AbstractControl | SkyUrlValidationOptions\n ): ValidatorFn | ValidationErrors | null {\n const typeTester = value as SkyUrlValidationOptions;\n if (typeTester.rulesetVersion === undefined) {\n // there are no SkyUrlValidationOptions passed in, so return ValidationErrors | null\n const abstractControl = value as AbstractControl;\n const abstractControlValue = abstractControl.value;\n if (!abstractControlValue) {\n return null;\n }\n return SkyValidation.isUrl(abstractControlValue)\n ? null\n : { skyUrl: { invalid: abstractControlValue } };\n } else {\n // there are SkyUrlValidationOptions passed in, so return ValidatorFn\n const skyUrlValidationOptions = value as SkyUrlValidationOptions;\n return (abstractControl: AbstractControl): ValidationErrors | null => {\n const abstractControlValue = abstractControl.value;\n if (!abstractControlValue) {\n return null;\n }\n\n return SkyValidation.isUrl(\n abstractControl.value,\n skyUrlValidationOptions\n )\n ? null\n : { skyUrl: { invalid: abstractControl.value } };\n };\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -5,12 +5,11 @@ import * as i0 from "@angular/core";
5
5
  * Adds URL validation to an input element. The directive uses `NgModel` to bind data.
6
6
  */
7
7
  export declare class SkyUrlValidationDirective implements Validator {
8
+ #private;
8
9
  /**
9
10
  * Specifies configuration options for the URL validation component.
10
11
  */
11
12
  set skyUrlValidation(value: SkyUrlValidationOptions | undefined);
12
- private _skyUrlValidationOptions;
13
- private _validatorChange;
14
13
  validate(control: AbstractControl): ValidationErrors | null;
15
14
  registerOnValidatorChange(fn: () => void): void;
16
15
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyUrlValidationDirective, never>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/validation",
3
- "version": "7.0.0-beta.0",
3
+ "version": "7.0.0-beta.1",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "keywords": [
6
6
  "blackbaud",