@skyux/validation 5.9.4 → 6.0.0-beta.10

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.
Files changed (32) hide show
  1. package/documentation.json +7 -7
  2. package/esm2020/index.mjs +9 -0
  3. package/esm2020/lib/modules/email-validation/email-validation.directive.mjs +42 -0
  4. package/esm2020/lib/modules/email-validation/email-validation.module.mjs +18 -0
  5. package/esm2020/lib/modules/url-validation/url-validation.directive.mjs +42 -0
  6. package/esm2020/lib/modules/url-validation/url-validation.module.mjs +18 -0
  7. package/esm2020/lib/modules/validation/validation.mjs +13 -0
  8. package/esm2020/lib/modules/validators/validators.mjs +39 -0
  9. package/esm2020/skyux-validation.mjs +5 -0
  10. package/fesm2015/{skyux-validation.js → skyux-validation.mjs} +15 -20
  11. package/fesm2015/skyux-validation.mjs.map +1 -0
  12. package/fesm2020/skyux-validation.mjs +165 -0
  13. package/fesm2020/skyux-validation.mjs.map +1 -0
  14. package/package.json +25 -9
  15. package/bundles/skyux-validation.umd.js +0 -219
  16. package/esm2015/index.js +0 -9
  17. package/esm2015/index.js.map +0 -1
  18. package/esm2015/lib/modules/email-validation/email-validation.directive.js +0 -44
  19. package/esm2015/lib/modules/email-validation/email-validation.directive.js.map +0 -1
  20. package/esm2015/lib/modules/email-validation/email-validation.module.js +0 -18
  21. package/esm2015/lib/modules/email-validation/email-validation.module.js.map +0 -1
  22. package/esm2015/lib/modules/url-validation/url-validation.directive.js +0 -44
  23. package/esm2015/lib/modules/url-validation/url-validation.directive.js.map +0 -1
  24. package/esm2015/lib/modules/url-validation/url-validation.module.js +0 -18
  25. package/esm2015/lib/modules/url-validation/url-validation.module.js.map +0 -1
  26. package/esm2015/lib/modules/validation/validation.js +0 -14
  27. package/esm2015/lib/modules/validation/validation.js.map +0 -1
  28. package/esm2015/lib/modules/validators/validators.js +0 -39
  29. package/esm2015/lib/modules/validators/validators.js.map +0 -1
  30. package/esm2015/skyux-validation.js +0 -5
  31. package/esm2015/skyux-validation.js.map +0 -1
  32. package/fesm2015/skyux-validation.js.map +0 -1
@@ -155,7 +155,7 @@
155
155
  "sources": [
156
156
  {
157
157
  "fileName": "projects/validation/src/modules/validation/validation.ts",
158
- "line": 11,
158
+ "line": 10,
159
159
  "character": 16
160
160
  }
161
161
  ],
@@ -386,7 +386,7 @@
386
386
  "sources": [
387
387
  {
388
388
  "fileName": "projects/validation/src/modules/email-validation/email-validation.directive.ts",
389
- "line": 40,
389
+ "line": 38,
390
390
  "character": 9
391
391
  }
392
392
  ],
@@ -428,7 +428,7 @@
428
428
  "sources": [
429
429
  {
430
430
  "fileName": "projects/validation/src/modules/email-validation/email-validation.directive.ts",
431
- "line": 24,
431
+ "line": 22,
432
432
  "character": 9
433
433
  }
434
434
  ],
@@ -519,7 +519,7 @@
519
519
  "sources": [
520
520
  {
521
521
  "fileName": "projects/validation/src/modules/email-validation/email-validation.directive.ts",
522
- "line": 23,
522
+ "line": 21,
523
523
  "character": 13
524
524
  }
525
525
  ],
@@ -567,7 +567,7 @@
567
567
  "sources": [
568
568
  {
569
569
  "fileName": "projects/validation/src/modules/url-validation/url-validation.directive.ts",
570
- "line": 40,
570
+ "line": 38,
571
571
  "character": 9
572
572
  }
573
573
  ],
@@ -609,7 +609,7 @@
609
609
  "sources": [
610
610
  {
611
611
  "fileName": "projects/validation/src/modules/url-validation/url-validation.directive.ts",
612
- "line": 24,
612
+ "line": 22,
613
613
  "character": 9
614
614
  }
615
615
  ],
@@ -700,7 +700,7 @@
700
700
  "sources": [
701
701
  {
702
702
  "fileName": "projects/validation/src/modules/url-validation/url-validation.directive.ts",
703
- "line": 23,
703
+ "line": 21,
704
704
  "character": 13
705
705
  }
706
706
  ],
@@ -0,0 +1,9 @@
1
+ export * from './lib/modules/email-validation/email-validation.module';
2
+ export * from './lib/modules/url-validation/url-validation.module';
3
+ export * from './lib/modules/validation/validation';
4
+ export * from './lib/modules/validators/validators';
5
+ // Components and directives must be exported to support Angular's "partial" Ivy compiler.
6
+ // Obscure names are used to indicate types are not part of the public API.
7
+ export { SkyEmailValidationDirective as λ1 } from './lib/modules/email-validation/email-validation.directive';
8
+ export { SkyUrlValidationDirective as λ2 } from './lib/modules/url-validation/url-validation.directive';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdmFsaWRhdGlvbi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRCwwRkFBMEY7QUFDMUYsMkVBQTJFO0FBQzNFLE9BQU8sRUFBRSwyQkFBMkIsSUFBSSxFQUFFLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUM5RyxPQUFPLEVBQUUseUJBQXlCLElBQUksRUFBRSxFQUFFLE1BQU0sdURBQXVELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2VtYWlsLXZhbGlkYXRpb24vZW1haWwtdmFsaWRhdGlvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy91cmwtdmFsaWRhdGlvbi91cmwtdmFsaWRhdGlvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy92YWxpZGF0aW9uL3ZhbGlkYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy92YWxpZGF0b3JzL3ZhbGlkYXRvcnMnO1xuXG4vLyBDb21wb25lbnRzIGFuZCBkaXJlY3RpdmVzIG11c3QgYmUgZXhwb3J0ZWQgdG8gc3VwcG9ydCBBbmd1bGFyJ3MgXCJwYXJ0aWFsXCIgSXZ5IGNvbXBpbGVyLlxuLy8gT2JzY3VyZSBuYW1lcyBhcmUgdXNlZCB0byBpbmRpY2F0ZSB0eXBlcyBhcmUgbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkuXG5leHBvcnQgeyBTa3lFbWFpbFZhbGlkYXRpb25EaXJlY3RpdmUgYXMgzrsxIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9lbWFpbC12YWxpZGF0aW9uL2VtYWlsLXZhbGlkYXRpb24uZGlyZWN0aXZlJztcbmV4cG9ydCB7IFNreVVybFZhbGlkYXRpb25EaXJlY3RpdmUgYXMgzrsyIH0gZnJvbSAnLi9saWIvbW9kdWxlcy91cmwtdmFsaWRhdGlvbi91cmwtdmFsaWRhdGlvbi5kaXJlY3RpdmUnO1xuIl19
@@ -0,0 +1,42 @@
1
+ import { Directive, forwardRef } from '@angular/core';
2
+ import { NG_VALIDATORS } from '@angular/forms';
3
+ import { SkyValidation } from '../validation/validation';
4
+ import * as i0 from "@angular/core";
5
+ const SKY_EMAIL_VALIDATION_VALIDATOR = {
6
+ provide: NG_VALIDATORS,
7
+ useExisting: forwardRef(() => SkyEmailValidationDirective),
8
+ multi: true,
9
+ };
10
+ /**
11
+ * Creates an input to validate email addresses. Place this attribute on an `input` element.
12
+ * If users enter values that are not valid email addresses, an error message appears.
13
+ * The directive uses `NgModel` to bind data.
14
+ */
15
+ export class SkyEmailValidationDirective {
16
+ validate(control) {
17
+ const value = control.value;
18
+ if (!value) {
19
+ return;
20
+ }
21
+ if (!this.emailIsValid(value)) {
22
+ return {
23
+ skyEmail: {
24
+ invalid: control.value,
25
+ },
26
+ };
27
+ }
28
+ }
29
+ emailIsValid(email) {
30
+ return SkyValidation.isEmail(email);
31
+ }
32
+ }
33
+ SkyEmailValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
34
+ SkyEmailValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: SkyEmailValidationDirective, selector: "[skyEmailValidation]", providers: [SKY_EMAIL_VALIDATION_VALIDATOR], ngImport: i0 });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationDirective, decorators: [{
36
+ type: Directive,
37
+ args: [{
38
+ selector: '[skyEmailValidation]',
39
+ providers: [SKY_EMAIL_VALIDATION_VALIDATOR],
40
+ }]
41
+ }] });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtdmFsaWRhdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdmFsaWRhdGlvbi9zcmMvbGliL21vZHVsZXMvZW1haWwtdmFsaWRhdGlvbi9lbWFpbC12YWxpZGF0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQW1CLGFBQWEsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBRTNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFekQsTUFBTSw4QkFBOEIsR0FBRztJQUNyQyxPQUFPLEVBQUUsYUFBYTtJQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUEyQixDQUFDO0lBQzFELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUVGOzs7O0dBSUc7QUFLSCxNQUFNLE9BQU8sMkJBQTJCO0lBQy9CLFFBQVEsQ0FBQyxPQUF3QjtRQUN0QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBRTVCLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM3QixPQUFPO2dCQUNMLFFBQVEsRUFBRTtvQkFDUixPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUs7aUJBQ3ZCO2FBQ0YsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFhO1FBQy9CLE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDOzt3SEFuQlUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsK0NBRjNCLENBQUMsOEJBQThCLENBQUM7MkZBRWhDLDJCQUEyQjtrQkFKdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxTQUFTLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztpQkFDNUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgTkdfVkFMSURBVE9SUywgVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBTa3lWYWxpZGF0aW9uIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uJztcblxuY29uc3QgU0tZX0VNQUlMX1ZBTElEQVRJT05fVkFMSURBVE9SID0ge1xuICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTa3lFbWFpbFZhbGlkYXRpb25EaXJlY3RpdmUpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBpbnB1dCB0byB2YWxpZGF0ZSBlbWFpbCBhZGRyZXNzZXMuIFBsYWNlIHRoaXMgYXR0cmlidXRlIG9uIGFuIGBpbnB1dGAgZWxlbWVudC5cbiAqIElmIHVzZXJzIGVudGVyIHZhbHVlcyB0aGF0IGFyZSBub3QgdmFsaWQgZW1haWwgYWRkcmVzc2VzLCBhbiBlcnJvciBtZXNzYWdlIGFwcGVhcnMuXG4gKiBUaGUgZGlyZWN0aXZlIHVzZXMgYE5nTW9kZWxgIHRvIGJpbmQgZGF0YS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreUVtYWlsVmFsaWRhdGlvbl0nLFxuICBwcm92aWRlcnM6IFtTS1lfRU1BSUxfVkFMSURBVElPTl9WQUxJREFUT1JdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lFbWFpbFZhbGlkYXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBWYWxpZGF0b3Ige1xuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xuXG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5lbWFpbElzVmFsaWQodmFsdWUpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBza3lFbWFpbDoge1xuICAgICAgICAgIGludmFsaWQ6IGNvbnRyb2wudmFsdWUsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBlbWFpbElzVmFsaWQoZW1haWw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBTa3lWYWxpZGF0aW9uLmlzRW1haWwoZW1haWwpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,18 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { FormsModule } from '@angular/forms';
3
+ import { SkyEmailValidationDirective } from './email-validation.directive';
4
+ import * as i0 from "@angular/core";
5
+ export class SkyEmailValidationModule {
6
+ }
7
+ SkyEmailValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ SkyEmailValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationModule, declarations: [SkyEmailValidationDirective], imports: [FormsModule], exports: [SkyEmailValidationDirective] });
9
+ SkyEmailValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationModule, imports: [[FormsModule]] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [SkyEmailValidationDirective],
14
+ imports: [FormsModule],
15
+ exports: [SkyEmailValidationDirective],
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtdmFsaWRhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdmFsaWRhdGlvbi9zcmMvbGliL21vZHVsZXMvZW1haWwtdmFsaWRhdGlvbi9lbWFpbC12YWxpZGF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFPM0UsTUFBTSxPQUFPLHdCQUF3Qjs7cUhBQXhCLHdCQUF3QjtzSEFBeEIsd0JBQXdCLGlCQUpwQiwyQkFBMkIsYUFDaEMsV0FBVyxhQUNYLDJCQUEyQjtzSEFFMUIsd0JBQXdCLFlBSDFCLENBQUMsV0FBVyxDQUFDOzJGQUdYLHdCQUF3QjtrQkFMcEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztvQkFDM0MsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDO29CQUN0QixPQUFPLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztpQkFDdkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFNreUVtYWlsVmFsaWRhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZW1haWwtdmFsaWRhdGlvbi5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTa3lFbWFpbFZhbGlkYXRpb25EaXJlY3RpdmVdLFxuICBpbXBvcnRzOiBbRm9ybXNNb2R1bGVdLFxuICBleHBvcnRzOiBbU2t5RW1haWxWYWxpZGF0aW9uRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RW1haWxWYWxpZGF0aW9uTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,42 @@
1
+ import { Directive, forwardRef } from '@angular/core';
2
+ import { NG_VALIDATORS } from '@angular/forms';
3
+ import { SkyValidation } from '../validation/validation';
4
+ import * as i0 from "@angular/core";
5
+ const SKY_URL_VALIDATION_VALIDATOR = {
6
+ provide: NG_VALIDATORS,
7
+ useExisting: forwardRef(() => SkyUrlValidationDirective),
8
+ multi: true,
9
+ };
10
+ /**
11
+ * Creates an input to validate URLs. Place this attribute on an `input` element.
12
+ * If users enters values that are not valid URLs, an error message appears.
13
+ * This directive uses `NgModel` to bind data.
14
+ */
15
+ export class SkyUrlValidationDirective {
16
+ validate(control) {
17
+ const value = control.value;
18
+ if (!value) {
19
+ return;
20
+ }
21
+ if (!this.urlIsValid(value)) {
22
+ return {
23
+ skyUrl: {
24
+ invalid: control.value,
25
+ },
26
+ };
27
+ }
28
+ }
29
+ urlIsValid(url) {
30
+ return SkyValidation.isUrl(url);
31
+ }
32
+ }
33
+ SkyUrlValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
34
+ SkyUrlValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: SkyUrlValidationDirective, selector: "[skyUrlValidation]", providers: [SKY_URL_VALIDATION_VALIDATOR], ngImport: i0 });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationDirective, decorators: [{
36
+ type: Directive,
37
+ args: [{
38
+ selector: '[skyUrlValidation]',
39
+ providers: [SKY_URL_VALIDATION_VALIDATOR],
40
+ }]
41
+ }] });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLXZhbGlkYXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3ZhbGlkYXRpb24vc3JjL2xpYi9tb2R1bGVzL3VybC12YWxpZGF0aW9uL3VybC12YWxpZGF0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQW1CLGFBQWEsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBRTNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFekQsTUFBTSw0QkFBNEIsR0FBRztJQUNuQyxPQUFPLEVBQUUsYUFBYTtJQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDO0lBQ3hELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUVGOzs7O0dBSUc7QUFLSCxNQUFNLE9BQU8seUJBQXlCO0lBQzdCLFFBQVEsQ0FBQyxPQUF3QjtRQUN0QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBRTVCLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMzQixPQUFPO2dCQUNMLE1BQU0sRUFBRTtvQkFDTixPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUs7aUJBQ3ZCO2FBQ0YsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVNLFVBQVUsQ0FBQyxHQUFXO1FBQzNCLE9BQU8sYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsQyxDQUFDOztzSEFuQlUseUJBQXlCOzBHQUF6Qix5QkFBeUIsNkNBRnpCLENBQUMsNEJBQTRCLENBQUM7MkZBRTlCLHlCQUF5QjtrQkFKckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixTQUFTLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztpQkFDMUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgTkdfVkFMSURBVE9SUywgVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBTa3lWYWxpZGF0aW9uIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uJztcblxuY29uc3QgU0tZX1VSTF9WQUxJREFUSU9OX1ZBTElEQVRPUiA9IHtcbiAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2t5VXJsVmFsaWRhdGlvbkRpcmVjdGl2ZSksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIGlucHV0IHRvIHZhbGlkYXRlIFVSTHMuIFBsYWNlIHRoaXMgYXR0cmlidXRlIG9uIGFuIGBpbnB1dGAgZWxlbWVudC5cbiAqIElmIHVzZXJzIGVudGVycyB2YWx1ZXMgdGhhdCBhcmUgbm90IHZhbGlkIFVSTHMsIGFuIGVycm9yIG1lc3NhZ2UgYXBwZWFycy5cbiAqIFRoaXMgZGlyZWN0aXZlIHVzZXMgYE5nTW9kZWxgIHRvIGJpbmQgZGF0YS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreVVybFZhbGlkYXRpb25dJyxcbiAgcHJvdmlkZXJzOiBbU0tZX1VSTF9WQUxJREFUSU9OX1ZBTElEQVRPUl0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVVybFZhbGlkYXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBWYWxpZGF0b3Ige1xuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xuXG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy51cmxJc1ZhbGlkKHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc2t5VXJsOiB7XG4gICAgICAgICAgaW52YWxpZDogY29udHJvbC52YWx1ZSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHVybElzVmFsaWQodXJsOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gU2t5VmFsaWRhdGlvbi5pc1VybCh1cmwpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,18 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { FormsModule } from '@angular/forms';
3
+ import { SkyUrlValidationDirective } from './url-validation.directive';
4
+ import * as i0 from "@angular/core";
5
+ export class SkyUrlValidationModule {
6
+ }
7
+ SkyUrlValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ SkyUrlValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationModule, declarations: [SkyUrlValidationDirective], imports: [FormsModule], exports: [SkyUrlValidationDirective] });
9
+ SkyUrlValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationModule, imports: [[FormsModule]] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [SkyUrlValidationDirective],
14
+ imports: [FormsModule],
15
+ exports: [SkyUrlValidationDirective],
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLXZhbGlkYXRpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3ZhbGlkYXRpb24vc3JjL2xpYi9tb2R1bGVzL3VybC12YWxpZGF0aW9uL3VybC12YWxpZGF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFPdkUsTUFBTSxPQUFPLHNCQUFzQjs7bUhBQXRCLHNCQUFzQjtvSEFBdEIsc0JBQXNCLGlCQUpsQix5QkFBeUIsYUFDOUIsV0FBVyxhQUNYLHlCQUF5QjtvSEFFeEIsc0JBQXNCLFlBSHhCLENBQUMsV0FBVyxDQUFDOzJGQUdYLHNCQUFzQjtrQkFMbEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDekMsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDO29CQUN0QixPQUFPLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztpQkFDckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFNreVVybFZhbGlkYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuL3VybC12YWxpZGF0aW9uLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1NreVVybFZhbGlkYXRpb25EaXJlY3RpdmVdLFxuICBpbXBvcnRzOiBbRm9ybXNNb2R1bGVdLFxuICBleHBvcnRzOiBbU2t5VXJsVmFsaWRhdGlvbkRpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVVybFZhbGlkYXRpb25Nb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,13 @@
1
+ export class SkyValidation {
2
+ static isEmail(emailAddress) {
3
+ // The regex was obtained from http://emailregex.com/
4
+ // which claims to correctly handle ~99% of all email addresses.
5
+ const regex = /^(([^<>()[\]\\.,;:\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,}))$/;
6
+ return regex.test(emailAddress);
7
+ }
8
+ static isUrl(url) {
9
+ const regex = /^((http|https):\/\/)?([\w-]+\.)+[\w-]+/i;
10
+ return regex.test(url);
11
+ }
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy92YWxpZGF0aW9uL3NyYy9saWIvbW9kdWxlcy92YWxpZGF0aW9uL3ZhbGlkYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFnQixhQUFhO0lBQzFCLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBb0I7UUFDeEMscURBQXFEO1FBQ3JELGdFQUFnRTtRQUNoRSxNQUFNLEtBQUssR0FDVCxzSkFBc0osQ0FBQztRQUN6SixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBVztRQUM3QixNQUFNLEtBQUssR0FBRyx5Q0FBeUMsQ0FBQztRQUN4RCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNreVZhbGlkYXRpb24ge1xuICBwdWJsaWMgc3RhdGljIGlzRW1haWwoZW1haWxBZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAvLyBUaGUgcmVnZXggd2FzIG9idGFpbmVkIGZyb20gaHR0cDovL2VtYWlscmVnZXguY29tL1xuICAgIC8vIHdoaWNoIGNsYWltcyB0byBjb3JyZWN0bHkgaGFuZGxlIH45OSUgb2YgYWxsIGVtYWlsIGFkZHJlc3Nlcy5cbiAgICBjb25zdCByZWdleCA9XG4gICAgICAvXigoW148PigpW1xcXVxcXFwuLDs6XFxzQFwiXSsoXFwuW148PigpW1xcXVxcXFwuLDs6XFxzQFwiXSspKil8KFwiLitcIikpQCgoXFxbWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XFwuWzAtOV17MSwzfV0pfCgoW2EtekEtWlxcLTAtOV0rXFwuKStbYS16QS1aXXsyLH0pKSQvO1xuICAgIHJldHVybiByZWdleC50ZXN0KGVtYWlsQWRkcmVzcyk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzVXJsKHVybDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcmVnZXggPSAvXigoaHR0cHxodHRwcyk6XFwvXFwvKT8oW1xcdy1dK1xcLikrW1xcdy1dKy9pO1xuICAgIHJldHVybiByZWdleC50ZXN0KHVybCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,39 @@
1
+ import { SkyValidation } from '../validation/validation';
2
+ // Need to add the following to classes which contain static methods.
3
+ // See: https://github.com/ng-packagr/ng-packagr/issues/641
4
+ // @dynamic
5
+ export class SkyValidators {
6
+ /**
7
+ * Validates email addresses in reactive forms. Add this validator directly to the form control
8
+ * model in the component class. If users enter values that are not valid email addresses, the
9
+ * validator throws an error. Since this is a sync validator, it returns a set of validation
10
+ * errors or `undefined` immediately when users enter values.
11
+ * @param control
12
+ */
13
+ static email(control) {
14
+ const value = control.value;
15
+ if (!value) {
16
+ return undefined;
17
+ }
18
+ return SkyValidation.isEmail(value)
19
+ ? undefined
20
+ : { skyEmail: { invalid: value } };
21
+ }
22
+ /**
23
+ * Validates URLs in reactive forms. Add this validator directly to the form control model in
24
+ * the component class. If users enter values that are not valid URLs, the validator throws an
25
+ * error. Since this is a sync validator, it returns a set of validation errors or `undefined`
26
+ * immediately when users enter values.
27
+ * @param control
28
+ */
29
+ static url(control) {
30
+ const value = control.value;
31
+ if (!value) {
32
+ return undefined;
33
+ }
34
+ return SkyValidation.isUrl(value)
35
+ ? undefined
36
+ : { skyUrl: { invalid: value } };
37
+ }
38
+ }
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy92YWxpZGF0aW9uL3NyYy9saWIvbW9kdWxlcy92YWxpZGF0b3JzL3ZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpELHFFQUFxRTtBQUNyRSwyREFBMkQ7QUFDM0QsV0FBVztBQUNYLE1BQU0sT0FBTyxhQUFhO0lBQ3hCOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBd0I7UUFDMUMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUU1QixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxTQUFTO1lBQ1gsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBd0I7UUFDeEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUU1QixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxPQUFPLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQy9CLENBQUMsQ0FBQyxTQUFTO1lBQ1gsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDckMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBTa3lWYWxpZGF0aW9uIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uJztcblxuLy8gTmVlZCB0byBhZGQgdGhlIGZvbGxvd2luZyB0byBjbGFzc2VzIHdoaWNoIGNvbnRhaW4gc3RhdGljIG1ldGhvZHMuXG4vLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1wYWNrYWdyL25nLXBhY2thZ3IvaXNzdWVzLzY0MVxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBTa3lWYWxpZGF0b3JzIHtcbiAgLyoqXG4gICAqIFZhbGlkYXRlcyBlbWFpbCBhZGRyZXNzZXMgaW4gcmVhY3RpdmUgZm9ybXMuIEFkZCB0aGlzIHZhbGlkYXRvciBkaXJlY3RseSB0byB0aGUgZm9ybSBjb250cm9sXG4gICAqIG1vZGVsIGluIHRoZSBjb21wb25lbnQgY2xhc3MuIElmIHVzZXJzIGVudGVyIHZhbHVlcyB0aGF0IGFyZSBub3QgdmFsaWQgZW1haWwgYWRkcmVzc2VzLCB0aGVcbiAgICogdmFsaWRhdG9yIHRocm93cyBhbiBlcnJvci4gU2luY2UgdGhpcyBpcyBhIHN5bmMgdmFsaWRhdG9yLCBpdCByZXR1cm5zIGEgc2V0IG9mIHZhbGlkYXRpb25cbiAgICogZXJyb3JzIG9yIGB1bmRlZmluZWRgIGltbWVkaWF0ZWx5IHdoZW4gdXNlcnMgZW50ZXIgdmFsdWVzLlxuICAgKiBAcGFyYW0gY29udHJvbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBlbWFpbChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xuXG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICByZXR1cm4gU2t5VmFsaWRhdGlvbi5pc0VtYWlsKHZhbHVlKVxuICAgICAgPyB1bmRlZmluZWRcbiAgICAgIDogeyBza3lFbWFpbDogeyBpbnZhbGlkOiB2YWx1ZSB9IH07XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIFVSTHMgaW4gcmVhY3RpdmUgZm9ybXMuIEFkZCB0aGlzIHZhbGlkYXRvciBkaXJlY3RseSB0byB0aGUgZm9ybSBjb250cm9sIG1vZGVsIGluXG4gICAqIHRoZSBjb21wb25lbnQgY2xhc3MuIElmIHVzZXJzIGVudGVyIHZhbHVlcyB0aGF0IGFyZSBub3QgdmFsaWQgVVJMcywgdGhlIHZhbGlkYXRvciB0aHJvd3MgYW5cbiAgICogZXJyb3IuIFNpbmNlIHRoaXMgaXMgYSBzeW5jIHZhbGlkYXRvciwgaXQgcmV0dXJucyBhIHNldCBvZiB2YWxpZGF0aW9uIGVycm9ycyBvciBgdW5kZWZpbmVkYFxuICAgKiBpbW1lZGlhdGVseSB3aGVuIHVzZXJzIGVudGVyIHZhbHVlcy5cbiAgICogQHBhcmFtIGNvbnRyb2xcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdXJsKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7XG5cbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiBTa3lWYWxpZGF0aW9uLmlzVXJsKHZhbHVlKVxuICAgICAgPyB1bmRlZmluZWRcbiAgICAgIDogeyBza3lVcmw6IHsgaW52YWxpZDogdmFsdWUgfSB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtdmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy92YWxpZGF0aW9uL3NyYy9za3l1eC12YWxpZGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -6,7 +6,6 @@ class SkyValidation {
6
6
  static isEmail(emailAddress) {
7
7
  // The regex was obtained from http://emailregex.com/
8
8
  // which claims to correctly handle ~99% of all email addresses.
9
- // tslint:disable-next-line:max-line-length
10
9
  const regex = /^(([^<>()[\]\\.,;:\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,}))$/;
11
10
  return regex.test(emailAddress);
12
11
  }
@@ -16,13 +15,11 @@ class SkyValidation {
16
15
  }
17
16
  }
18
17
 
19
- // tslint:disable:no-forward-ref no-use-before-declare
20
18
  const SKY_EMAIL_VALIDATION_VALIDATOR = {
21
19
  provide: NG_VALIDATORS,
22
20
  useExisting: forwardRef(() => SkyEmailValidationDirective),
23
21
  multi: true,
24
22
  };
25
- // tslint:enable
26
23
  /**
27
24
  * Creates an input to validate email addresses. Place this attribute on an `input` element.
28
25
  * If users enter values that are not valid email addresses, an error message appears.
@@ -46,9 +43,9 @@ class SkyEmailValidationDirective {
46
43
  return SkyValidation.isEmail(email);
47
44
  }
48
45
  }
49
- SkyEmailValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyEmailValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
50
- SkyEmailValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: SkyEmailValidationDirective, selector: "[skyEmailValidation]", providers: [SKY_EMAIL_VALIDATION_VALIDATOR], ngImport: i0 });
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyEmailValidationDirective, decorators: [{
46
+ SkyEmailValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
47
+ SkyEmailValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: SkyEmailValidationDirective, selector: "[skyEmailValidation]", providers: [SKY_EMAIL_VALIDATION_VALIDATOR], ngImport: i0 });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationDirective, decorators: [{
52
49
  type: Directive,
53
50
  args: [{
54
51
  selector: '[skyEmailValidation]',
@@ -58,10 +55,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
58
55
 
59
56
  class SkyEmailValidationModule {
60
57
  }
61
- SkyEmailValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyEmailValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
62
- SkyEmailValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyEmailValidationModule, declarations: [SkyEmailValidationDirective], imports: [FormsModule], exports: [SkyEmailValidationDirective] });
63
- SkyEmailValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyEmailValidationModule, imports: [[FormsModule]] });
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyEmailValidationModule, decorators: [{
58
+ SkyEmailValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
59
+ SkyEmailValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationModule, declarations: [SkyEmailValidationDirective], imports: [FormsModule], exports: [SkyEmailValidationDirective] });
60
+ SkyEmailValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationModule, imports: [[FormsModule]] });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationModule, decorators: [{
65
62
  type: NgModule,
66
63
  args: [{
67
64
  declarations: [SkyEmailValidationDirective],
@@ -70,13 +67,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
70
67
  }]
71
68
  }] });
72
69
 
73
- // tslint:disable:no-forward-ref no-use-before-declare
74
70
  const SKY_URL_VALIDATION_VALIDATOR = {
75
71
  provide: NG_VALIDATORS,
76
72
  useExisting: forwardRef(() => SkyUrlValidationDirective),
77
73
  multi: true,
78
74
  };
79
- // tslint:enable
80
75
  /**
81
76
  * Creates an input to validate URLs. Place this attribute on an `input` element.
82
77
  * If users enters values that are not valid URLs, an error message appears.
@@ -100,9 +95,9 @@ class SkyUrlValidationDirective {
100
95
  return SkyValidation.isUrl(url);
101
96
  }
102
97
  }
103
- SkyUrlValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyUrlValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
104
- SkyUrlValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: SkyUrlValidationDirective, selector: "[skyUrlValidation]", providers: [SKY_URL_VALIDATION_VALIDATOR], ngImport: i0 });
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyUrlValidationDirective, decorators: [{
98
+ SkyUrlValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
99
+ SkyUrlValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: SkyUrlValidationDirective, selector: "[skyUrlValidation]", providers: [SKY_URL_VALIDATION_VALIDATOR], ngImport: i0 });
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationDirective, decorators: [{
106
101
  type: Directive,
107
102
  args: [{
108
103
  selector: '[skyUrlValidation]',
@@ -112,10 +107,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
112
107
 
113
108
  class SkyUrlValidationModule {
114
109
  }
115
- SkyUrlValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyUrlValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
116
- SkyUrlValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyUrlValidationModule, declarations: [SkyUrlValidationDirective], imports: [FormsModule], exports: [SkyUrlValidationDirective] });
117
- SkyUrlValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyUrlValidationModule, imports: [[FormsModule]] });
118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyUrlValidationModule, decorators: [{
110
+ SkyUrlValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
111
+ SkyUrlValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationModule, declarations: [SkyUrlValidationDirective], imports: [FormsModule], exports: [SkyUrlValidationDirective] });
112
+ SkyUrlValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationModule, imports: [[FormsModule]] });
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationModule, decorators: [{
119
114
  type: NgModule,
120
115
  args: [{
121
116
  declarations: [SkyUrlValidationDirective],
@@ -167,4 +162,4 @@ class SkyValidators {
167
162
  */
168
163
 
169
164
  export { SkyEmailValidationModule, SkyUrlValidationModule, SkyValidation, SkyValidators, SkyEmailValidationDirective as λ1, SkyUrlValidationDirective as λ2 };
170
- //# sourceMappingURL=skyux-validation.js.map
165
+ //# sourceMappingURL=skyux-validation.mjs.map
@@ -0,0 +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":["export 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(url: string): boolean {\n const regex = /^((http|https):\\/\\/)?([\\w-]+\\.)+[\\w-]+/i;\n return regex.test(url);\n }\n}\n","import { Directive, forwardRef } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, Validator } 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 * Creates an input to validate email addresses. Place this attribute on an `input` element.\n * If users enter values that are not valid email addresses, an error message appears.\n * 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): { [key: string]: any } {\n const value = control.value;\n\n if (!value) {\n return;\n }\n\n if (!this.emailIsValid(value)) {\n return {\n skyEmail: {\n invalid: control.value,\n },\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, forwardRef } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, Validator } from '@angular/forms';\n\nimport { SkyValidation } from '../validation/validation';\n\nconst SKY_URL_VALIDATION_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyUrlValidationDirective),\n multi: true,\n};\n\n/**\n * Creates an input to validate URLs. Place this attribute on an `input` element.\n * If users enters values that are not valid URLs, an error message appears.\n * This 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 public validate(control: AbstractControl): { [key: string]: any } {\n const value = control.value;\n\n if (!value) {\n return;\n }\n\n if (!this.urlIsValid(value)) {\n return {\n skyUrl: {\n invalid: control.value,\n },\n };\n }\n }\n\n public urlIsValid(url: string): boolean {\n return SkyValidation.isUrl(url);\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 } from '@angular/forms';\n\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 `undefined` immediately when users enter values.\n * @param control\n */\n public static email(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value) {\n return undefined;\n }\n\n return SkyValidation.isEmail(value)\n ? undefined\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 `undefined`\n * immediately when users enter values.\n * @param control\n */\n public static url(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value) {\n return undefined;\n }\n\n return SkyValidation.isUrl(value)\n ? undefined\n : { skyUrl: { invalid: value } };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,165 @@
1
+ import * as i0 from '@angular/core';
2
+ import { forwardRef, Directive, NgModule } from '@angular/core';
3
+ import { NG_VALIDATORS, FormsModule } from '@angular/forms';
4
+
5
+ class SkyValidation {
6
+ static isEmail(emailAddress) {
7
+ // The regex was obtained from http://emailregex.com/
8
+ // which claims to correctly handle ~99% of all email addresses.
9
+ const regex = /^(([^<>()[\]\\.,;:\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,}))$/;
10
+ return regex.test(emailAddress);
11
+ }
12
+ static isUrl(url) {
13
+ const regex = /^((http|https):\/\/)?([\w-]+\.)+[\w-]+/i;
14
+ return regex.test(url);
15
+ }
16
+ }
17
+
18
+ const SKY_EMAIL_VALIDATION_VALIDATOR = {
19
+ provide: NG_VALIDATORS,
20
+ useExisting: forwardRef(() => SkyEmailValidationDirective),
21
+ multi: true,
22
+ };
23
+ /**
24
+ * Creates an input to validate email addresses. Place this attribute on an `input` element.
25
+ * If users enter values that are not valid email addresses, an error message appears.
26
+ * The directive uses `NgModel` to bind data.
27
+ */
28
+ class SkyEmailValidationDirective {
29
+ validate(control) {
30
+ const value = control.value;
31
+ if (!value) {
32
+ return;
33
+ }
34
+ if (!this.emailIsValid(value)) {
35
+ return {
36
+ skyEmail: {
37
+ invalid: control.value,
38
+ },
39
+ };
40
+ }
41
+ }
42
+ emailIsValid(email) {
43
+ return SkyValidation.isEmail(email);
44
+ }
45
+ }
46
+ SkyEmailValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
47
+ SkyEmailValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: SkyEmailValidationDirective, selector: "[skyEmailValidation]", providers: [SKY_EMAIL_VALIDATION_VALIDATOR], ngImport: i0 });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationDirective, decorators: [{
49
+ type: Directive,
50
+ args: [{
51
+ selector: '[skyEmailValidation]',
52
+ providers: [SKY_EMAIL_VALIDATION_VALIDATOR],
53
+ }]
54
+ }] });
55
+
56
+ class SkyEmailValidationModule {
57
+ }
58
+ SkyEmailValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
59
+ SkyEmailValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationModule, declarations: [SkyEmailValidationDirective], imports: [FormsModule], exports: [SkyEmailValidationDirective] });
60
+ SkyEmailValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationModule, imports: [[FormsModule]] });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationModule, decorators: [{
62
+ type: NgModule,
63
+ args: [{
64
+ declarations: [SkyEmailValidationDirective],
65
+ imports: [FormsModule],
66
+ exports: [SkyEmailValidationDirective],
67
+ }]
68
+ }] });
69
+
70
+ const SKY_URL_VALIDATION_VALIDATOR = {
71
+ provide: NG_VALIDATORS,
72
+ useExisting: forwardRef(() => SkyUrlValidationDirective),
73
+ multi: true,
74
+ };
75
+ /**
76
+ * Creates an input to validate URLs. Place this attribute on an `input` element.
77
+ * If users enters values that are not valid URLs, an error message appears.
78
+ * This directive uses `NgModel` to bind data.
79
+ */
80
+ class SkyUrlValidationDirective {
81
+ validate(control) {
82
+ const value = control.value;
83
+ if (!value) {
84
+ return;
85
+ }
86
+ if (!this.urlIsValid(value)) {
87
+ return {
88
+ skyUrl: {
89
+ invalid: control.value,
90
+ },
91
+ };
92
+ }
93
+ }
94
+ urlIsValid(url) {
95
+ return SkyValidation.isUrl(url);
96
+ }
97
+ }
98
+ SkyUrlValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
99
+ SkyUrlValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: SkyUrlValidationDirective, selector: "[skyUrlValidation]", providers: [SKY_URL_VALIDATION_VALIDATOR], ngImport: i0 });
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationDirective, decorators: [{
101
+ type: Directive,
102
+ args: [{
103
+ selector: '[skyUrlValidation]',
104
+ providers: [SKY_URL_VALIDATION_VALIDATOR],
105
+ }]
106
+ }] });
107
+
108
+ class SkyUrlValidationModule {
109
+ }
110
+ SkyUrlValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
111
+ SkyUrlValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationModule, declarations: [SkyUrlValidationDirective], imports: [FormsModule], exports: [SkyUrlValidationDirective] });
112
+ SkyUrlValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationModule, imports: [[FormsModule]] });
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationModule, decorators: [{
114
+ type: NgModule,
115
+ args: [{
116
+ declarations: [SkyUrlValidationDirective],
117
+ imports: [FormsModule],
118
+ exports: [SkyUrlValidationDirective],
119
+ }]
120
+ }] });
121
+
122
+ // Need to add the following to classes which contain static methods.
123
+ // See: https://github.com/ng-packagr/ng-packagr/issues/641
124
+ // @dynamic
125
+ class SkyValidators {
126
+ /**
127
+ * Validates email addresses in reactive forms. Add this validator directly to the form control
128
+ * model in the component class. If users enter values that are not valid email addresses, the
129
+ * validator throws an error. Since this is a sync validator, it returns a set of validation
130
+ * errors or `undefined` immediately when users enter values.
131
+ * @param control
132
+ */
133
+ static email(control) {
134
+ const value = control.value;
135
+ if (!value) {
136
+ return undefined;
137
+ }
138
+ return SkyValidation.isEmail(value)
139
+ ? undefined
140
+ : { skyEmail: { invalid: value } };
141
+ }
142
+ /**
143
+ * Validates URLs in reactive forms. Add this validator directly to the form control model in
144
+ * the component class. If users enter values that are not valid URLs, the validator throws an
145
+ * error. Since this is a sync validator, it returns a set of validation errors or `undefined`
146
+ * immediately when users enter values.
147
+ * @param control
148
+ */
149
+ static url(control) {
150
+ const value = control.value;
151
+ if (!value) {
152
+ return undefined;
153
+ }
154
+ return SkyValidation.isUrl(value)
155
+ ? undefined
156
+ : { skyUrl: { invalid: value } };
157
+ }
158
+ }
159
+
160
+ /**
161
+ * Generated bundle index. Do not edit.
162
+ */
163
+
164
+ export { SkyEmailValidationModule, SkyUrlValidationModule, SkyValidation, SkyValidators, SkyEmailValidationDirective as λ1, SkyUrlValidationDirective as λ2 };
165
+ //# sourceMappingURL=skyux-validation.mjs.map
@@ -0,0 +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":["export 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(url: string): boolean {\n const regex = /^((http|https):\\/\\/)?([\\w-]+\\.)+[\\w-]+/i;\n return regex.test(url);\n }\n}\n","import { Directive, forwardRef } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, Validator } 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 * Creates an input to validate email addresses. Place this attribute on an `input` element.\n * If users enter values that are not valid email addresses, an error message appears.\n * 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): { [key: string]: any } {\n const value = control.value;\n\n if (!value) {\n return;\n }\n\n if (!this.emailIsValid(value)) {\n return {\n skyEmail: {\n invalid: control.value,\n },\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, forwardRef } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, Validator } from '@angular/forms';\n\nimport { SkyValidation } from '../validation/validation';\n\nconst SKY_URL_VALIDATION_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyUrlValidationDirective),\n multi: true,\n};\n\n/**\n * Creates an input to validate URLs. Place this attribute on an `input` element.\n * If users enters values that are not valid URLs, an error message appears.\n * This 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 public validate(control: AbstractControl): { [key: string]: any } {\n const value = control.value;\n\n if (!value) {\n return;\n }\n\n if (!this.urlIsValid(value)) {\n return {\n skyUrl: {\n invalid: control.value,\n },\n };\n }\n }\n\n public urlIsValid(url: string): boolean {\n return SkyValidation.isUrl(url);\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 } from '@angular/forms';\n\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 `undefined` immediately when users enter values.\n * @param control\n */\n public static email(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value) {\n return undefined;\n }\n\n return SkyValidation.isEmail(value)\n ? undefined\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 `undefined`\n * immediately when users enter values.\n * @param control\n */\n public static url(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value) {\n return undefined;\n }\n\n return SkyValidation.isUrl(value)\n ? undefined\n : { skyUrl: { invalid: value } };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/validation",
3
- "version": "5.9.4",
3
+ "version": "6.0.0-beta.10",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "keywords": [
6
6
  "blackbaud",
@@ -15,19 +15,35 @@
15
15
  "url": "https://github.com/blackbaud/skyux/issues"
16
16
  },
17
17
  "homepage": "https://github.com/blackbaud/skyux#readme",
18
+ "exports": {
19
+ "./package.json": {
20
+ "default": "./package.json"
21
+ },
22
+ ".": {
23
+ "types": "./skyux-validation.d.ts",
24
+ "esm2020": "./esm2020/skyux-validation.mjs",
25
+ "es2020": "./fesm2020/skyux-validation.mjs",
26
+ "es2015": "./fesm2015/skyux-validation.mjs",
27
+ "node": "./fesm2015/skyux-validation.mjs",
28
+ "default": "./fesm2020/skyux-validation.mjs"
29
+ },
30
+ "./documentation.json": {
31
+ "default": "./documentation.json"
32
+ }
33
+ },
18
34
  "peerDependencies": {
19
- "@angular/common": "^12.2.16",
20
- "@angular/core": "^12.2.16",
21
- "@angular/forms": "^12.2.16"
35
+ "@angular/common": "^13.3.2",
36
+ "@angular/core": "^13.3.2",
37
+ "@angular/forms": "^13.3.2"
22
38
  },
23
39
  "dependencies": {
24
40
  "tslib": "^2.3.1"
25
41
  },
26
- "main": "bundles/skyux-validation.umd.js",
27
- "module": "fesm2015/skyux-validation.js",
28
- "es2015": "fesm2015/skyux-validation.js",
29
- "esm2015": "esm2015/skyux-validation.js",
30
- "fesm2015": "fesm2015/skyux-validation.js",
42
+ "module": "fesm2015/skyux-validation.mjs",
43
+ "es2020": "fesm2020/skyux-validation.mjs",
44
+ "esm2020": "esm2020/skyux-validation.mjs",
45
+ "fesm2020": "fesm2020/skyux-validation.mjs",
46
+ "fesm2015": "fesm2015/skyux-validation.mjs",
31
47
  "typings": "skyux-validation.d.ts",
32
48
  "sideEffects": false
33
49
  }
@@ -1,219 +0,0 @@
1
- (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/forms')) :
3
- typeof define === 'function' && define.amd ? define('@skyux/validation', ['exports', '@angular/core', '@angular/forms'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.skyux = global.skyux || {}, global.skyux.validation = {}), global.ng.core, global.ng.forms));
5
- })(this, (function (exports, i0, forms) { 'use strict';
6
-
7
- function _interopNamespace(e) {
8
- if (e && e.__esModule) return e;
9
- var n = Object.create(null);
10
- if (e) {
11
- Object.keys(e).forEach(function (k) {
12
- if (k !== 'default') {
13
- var d = Object.getOwnPropertyDescriptor(e, k);
14
- Object.defineProperty(n, k, d.get ? d : {
15
- enumerable: true,
16
- get: function () { return e[k]; }
17
- });
18
- }
19
- });
20
- }
21
- n["default"] = e;
22
- return Object.freeze(n);
23
- }
24
-
25
- var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
26
-
27
- var SkyValidation = /** @class */ (function () {
28
- function SkyValidation() {
29
- }
30
- SkyValidation.isEmail = function (emailAddress) {
31
- // The regex was obtained from http://emailregex.com/
32
- // which claims to correctly handle ~99% of all email addresses.
33
- // tslint:disable-next-line:max-line-length
34
- var regex = /^(([^<>()[\]\\.,;:\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,}))$/;
35
- return regex.test(emailAddress);
36
- };
37
- SkyValidation.isUrl = function (url) {
38
- var regex = /^((http|https):\/\/)?([\w-]+\.)+[\w-]+/i;
39
- return regex.test(url);
40
- };
41
- return SkyValidation;
42
- }());
43
-
44
- // tslint:disable:no-forward-ref no-use-before-declare
45
- var SKY_EMAIL_VALIDATION_VALIDATOR = {
46
- provide: forms.NG_VALIDATORS,
47
- useExisting: i0.forwardRef(function () { return SkyEmailValidationDirective; }),
48
- multi: true,
49
- };
50
- // tslint:enable
51
- /**
52
- * Creates an input to validate email addresses. Place this attribute on an `input` element.
53
- * If users enter values that are not valid email addresses, an error message appears.
54
- * The directive uses `NgModel` to bind data.
55
- */
56
- var SkyEmailValidationDirective = /** @class */ (function () {
57
- function SkyEmailValidationDirective() {
58
- }
59
- SkyEmailValidationDirective.prototype.validate = function (control) {
60
- var value = control.value;
61
- if (!value) {
62
- return;
63
- }
64
- if (!this.emailIsValid(value)) {
65
- return {
66
- skyEmail: {
67
- invalid: control.value,
68
- },
69
- };
70
- }
71
- };
72
- SkyEmailValidationDirective.prototype.emailIsValid = function (email) {
73
- return SkyValidation.isEmail(email);
74
- };
75
- return SkyEmailValidationDirective;
76
- }());
77
- SkyEmailValidationDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyEmailValidationDirective, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
78
- SkyEmailValidationDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: SkyEmailValidationDirective, selector: "[skyEmailValidation]", providers: [SKY_EMAIL_VALIDATION_VALIDATOR], ngImport: i0__namespace });
79
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyEmailValidationDirective, decorators: [{
80
- type: i0.Directive,
81
- args: [{
82
- selector: '[skyEmailValidation]',
83
- providers: [SKY_EMAIL_VALIDATION_VALIDATOR],
84
- }]
85
- }] });
86
-
87
- var SkyEmailValidationModule = /** @class */ (function () {
88
- function SkyEmailValidationModule() {
89
- }
90
- return SkyEmailValidationModule;
91
- }());
92
- SkyEmailValidationModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyEmailValidationModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
93
- SkyEmailValidationModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyEmailValidationModule, declarations: [SkyEmailValidationDirective], imports: [forms.FormsModule], exports: [SkyEmailValidationDirective] });
94
- SkyEmailValidationModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyEmailValidationModule, imports: [[forms.FormsModule]] });
95
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyEmailValidationModule, decorators: [{
96
- type: i0.NgModule,
97
- args: [{
98
- declarations: [SkyEmailValidationDirective],
99
- imports: [forms.FormsModule],
100
- exports: [SkyEmailValidationDirective],
101
- }]
102
- }] });
103
-
104
- // tslint:disable:no-forward-ref no-use-before-declare
105
- var SKY_URL_VALIDATION_VALIDATOR = {
106
- provide: forms.NG_VALIDATORS,
107
- useExisting: i0.forwardRef(function () { return SkyUrlValidationDirective; }),
108
- multi: true,
109
- };
110
- // tslint:enable
111
- /**
112
- * Creates an input to validate URLs. Place this attribute on an `input` element.
113
- * If users enters values that are not valid URLs, an error message appears.
114
- * This directive uses `NgModel` to bind data.
115
- */
116
- var SkyUrlValidationDirective = /** @class */ (function () {
117
- function SkyUrlValidationDirective() {
118
- }
119
- SkyUrlValidationDirective.prototype.validate = function (control) {
120
- var value = control.value;
121
- if (!value) {
122
- return;
123
- }
124
- if (!this.urlIsValid(value)) {
125
- return {
126
- skyUrl: {
127
- invalid: control.value,
128
- },
129
- };
130
- }
131
- };
132
- SkyUrlValidationDirective.prototype.urlIsValid = function (url) {
133
- return SkyValidation.isUrl(url);
134
- };
135
- return SkyUrlValidationDirective;
136
- }());
137
- SkyUrlValidationDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyUrlValidationDirective, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
138
- SkyUrlValidationDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: SkyUrlValidationDirective, selector: "[skyUrlValidation]", providers: [SKY_URL_VALIDATION_VALIDATOR], ngImport: i0__namespace });
139
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyUrlValidationDirective, decorators: [{
140
- type: i0.Directive,
141
- args: [{
142
- selector: '[skyUrlValidation]',
143
- providers: [SKY_URL_VALIDATION_VALIDATOR],
144
- }]
145
- }] });
146
-
147
- var SkyUrlValidationModule = /** @class */ (function () {
148
- function SkyUrlValidationModule() {
149
- }
150
- return SkyUrlValidationModule;
151
- }());
152
- SkyUrlValidationModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyUrlValidationModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
153
- SkyUrlValidationModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyUrlValidationModule, declarations: [SkyUrlValidationDirective], imports: [forms.FormsModule], exports: [SkyUrlValidationDirective] });
154
- SkyUrlValidationModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyUrlValidationModule, imports: [[forms.FormsModule]] });
155
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyUrlValidationModule, decorators: [{
156
- type: i0.NgModule,
157
- args: [{
158
- declarations: [SkyUrlValidationDirective],
159
- imports: [forms.FormsModule],
160
- exports: [SkyUrlValidationDirective],
161
- }]
162
- }] });
163
-
164
- // Need to add the following to classes which contain static methods.
165
- // See: https://github.com/ng-packagr/ng-packagr/issues/641
166
- // @dynamic
167
- var SkyValidators = /** @class */ (function () {
168
- function SkyValidators() {
169
- }
170
- /**
171
- * Validates email addresses in reactive forms. Add this validator directly to the form control
172
- * model in the component class. If users enter values that are not valid email addresses, the
173
- * validator throws an error. Since this is a sync validator, it returns a set of validation
174
- * errors or `undefined` immediately when users enter values.
175
- * @param control
176
- */
177
- SkyValidators.email = function (control) {
178
- var value = control.value;
179
- if (!value) {
180
- return undefined;
181
- }
182
- return SkyValidation.isEmail(value)
183
- ? undefined
184
- : { skyEmail: { invalid: value } };
185
- };
186
- /**
187
- * Validates URLs in reactive forms. Add this validator directly to the form control model in
188
- * the component class. If users enter values that are not valid URLs, the validator throws an
189
- * error. Since this is a sync validator, it returns a set of validation errors or `undefined`
190
- * immediately when users enter values.
191
- * @param control
192
- */
193
- SkyValidators.url = function (control) {
194
- var value = control.value;
195
- if (!value) {
196
- return undefined;
197
- }
198
- return SkyValidation.isUrl(value)
199
- ? undefined
200
- : { skyUrl: { invalid: value } };
201
- };
202
- return SkyValidators;
203
- }());
204
-
205
- /**
206
- * Generated bundle index. Do not edit.
207
- */
208
-
209
- exports.SkyEmailValidationModule = SkyEmailValidationModule;
210
- exports.SkyUrlValidationModule = SkyUrlValidationModule;
211
- exports.SkyValidation = SkyValidation;
212
- exports.SkyValidators = SkyValidators;
213
- exports["λ1"] = SkyEmailValidationDirective;
214
- exports["λ2"] = SkyUrlValidationDirective;
215
-
216
- Object.defineProperty(exports, '__esModule', { value: true });
217
-
218
- }));
219
- //# sourceMappingURL=skyux-validation.umd.js.map
package/esm2015/index.js DELETED
@@ -1,9 +0,0 @@
1
- export * from './lib/modules/email-validation/email-validation.module';
2
- export * from './lib/modules/url-validation/url-validation.module';
3
- export * from './lib/modules/validation/validation';
4
- export * from './lib/modules/validators/validators';
5
- // Components and directives must be exported to support Angular's "partial" Ivy compiler.
6
- // Obscure names are used to indicate types are not part of the public API.
7
- export { SkyEmailValidationDirective as λ1 } from './lib/modules/email-validation/email-validation.directive';
8
- export { SkyUrlValidationDirective as λ2 } from './lib/modules/url-validation/url-validation.directive';
9
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/components/validation/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wDAAwD,CAAC;AACvE,cAAc,oDAAoD,CAAC;AACnE,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AAEpD,0FAA0F;AAC1F,2EAA2E;AAC3E,OAAO,EAAE,2BAA2B,IAAI,EAAE,EAAE,MAAM,2DAA2D,CAAC;AAC9G,OAAO,EAAE,yBAAyB,IAAI,EAAE,EAAE,MAAM,uDAAuD,CAAC","sourcesContent":["export * from './lib/modules/email-validation/email-validation.module';\nexport * from './lib/modules/url-validation/url-validation.module';\nexport * from './lib/modules/validation/validation';\nexport * from './lib/modules/validators/validators';\n\n// Components and directives must be exported to support Angular's \"partial\" Ivy compiler.\n// Obscure names are used to indicate types are not part of the public API.\nexport { SkyEmailValidationDirective as λ1 } from './lib/modules/email-validation/email-validation.directive';\nexport { SkyUrlValidationDirective as λ2 } from './lib/modules/url-validation/url-validation.directive';\n"]}
@@ -1,44 +0,0 @@
1
- import { Directive, forwardRef } from '@angular/core';
2
- import { NG_VALIDATORS } from '@angular/forms';
3
- import { SkyValidation } from '../validation/validation';
4
- import * as i0 from "@angular/core";
5
- // tslint:disable:no-forward-ref no-use-before-declare
6
- const SKY_EMAIL_VALIDATION_VALIDATOR = {
7
- provide: NG_VALIDATORS,
8
- useExisting: forwardRef(() => SkyEmailValidationDirective),
9
- multi: true,
10
- };
11
- // tslint:enable
12
- /**
13
- * Creates an input to validate email addresses. Place this attribute on an `input` element.
14
- * If users enter values that are not valid email addresses, an error message appears.
15
- * The directive uses `NgModel` to bind data.
16
- */
17
- export class SkyEmailValidationDirective {
18
- validate(control) {
19
- const value = control.value;
20
- if (!value) {
21
- return;
22
- }
23
- if (!this.emailIsValid(value)) {
24
- return {
25
- skyEmail: {
26
- invalid: control.value,
27
- },
28
- };
29
- }
30
- }
31
- emailIsValid(email) {
32
- return SkyValidation.isEmail(email);
33
- }
34
- }
35
- SkyEmailValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyEmailValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
36
- SkyEmailValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: SkyEmailValidationDirective, selector: "[skyEmailValidation]", providers: [SKY_EMAIL_VALIDATION_VALIDATOR], ngImport: i0 });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyEmailValidationDirective, decorators: [{
38
- type: Directive,
39
- args: [{
40
- selector: '[skyEmailValidation]',
41
- providers: [SKY_EMAIL_VALIDATION_VALIDATOR],
42
- }]
43
- }] });
44
- //# sourceMappingURL=email-validation.directive.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"email-validation.directive.js","sourceRoot":"","sources":["../../../../../../../../libs/components/validation/src/lib/modules/email-validation/email-validation.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAmB,aAAa,EAAa,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;;AAEzD,sDAAsD;AACtD,MAAM,8BAA8B,GAAG;IACrC,OAAO,EAAE,aAAa;IACtB,WAAW,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,2BAA2B,CAAC;IAC1D,KAAK,EAAE,IAAI;CACZ,CAAC;AACF,gBAAgB;AAEhB;;;;GAIG;AAKH,MAAM,OAAO,2BAA2B;IAC/B,QAAQ,CAAC,OAAwB;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAE5B,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;YAC7B,OAAO;gBACL,QAAQ,EAAE;oBACR,OAAO,EAAE,OAAO,CAAC,KAAK;iBACvB;aACF,CAAC;SACH;IACH,CAAC;IAEM,YAAY,CAAC,KAAa;QAC/B,OAAO,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;;yHAnBU,2BAA2B;6GAA3B,2BAA2B,+CAF3B,CAAC,8BAA8B,CAAC;4FAEhC,2BAA2B;kBAJvC,SAAS;mBAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,SAAS,EAAE,CAAC,8BAA8B,CAAC;iBAC5C","sourcesContent":["import { Directive, forwardRef } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, Validator } from '@angular/forms';\n\nimport { SkyValidation } from '../validation/validation';\n\n// tslint:disable:no-forward-ref no-use-before-declare\nconst SKY_EMAIL_VALIDATION_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyEmailValidationDirective),\n multi: true,\n};\n// tslint:enable\n\n/**\n * Creates an input to validate email addresses. Place this attribute on an `input` element.\n * If users enter values that are not valid email addresses, an error message appears.\n * 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): { [key: string]: any } {\n const value = control.value;\n\n if (!value) {\n return;\n }\n\n if (!this.emailIsValid(value)) {\n return {\n skyEmail: {\n invalid: control.value,\n },\n };\n }\n }\n\n public emailIsValid(email: string): boolean {\n return SkyValidation.isEmail(email);\n }\n}\n"]}
@@ -1,18 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { FormsModule } from '@angular/forms';
3
- import { SkyEmailValidationDirective } from './email-validation.directive';
4
- import * as i0 from "@angular/core";
5
- export class SkyEmailValidationModule {
6
- }
7
- SkyEmailValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyEmailValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- SkyEmailValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyEmailValidationModule, declarations: [SkyEmailValidationDirective], imports: [FormsModule], exports: [SkyEmailValidationDirective] });
9
- SkyEmailValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyEmailValidationModule, imports: [[FormsModule]] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyEmailValidationModule, decorators: [{
11
- type: NgModule,
12
- args: [{
13
- declarations: [SkyEmailValidationDirective],
14
- imports: [FormsModule],
15
- exports: [SkyEmailValidationDirective],
16
- }]
17
- }] });
18
- //# sourceMappingURL=email-validation.module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"email-validation.module.js","sourceRoot":"","sources":["../../../../../../../../libs/components/validation/src/lib/modules/email-validation/email-validation.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;;AAO3E,MAAM,OAAO,wBAAwB;;sHAAxB,wBAAwB;uHAAxB,wBAAwB,iBAJpB,2BAA2B,aAChC,WAAW,aACX,2BAA2B;uHAE1B,wBAAwB,YAH1B,CAAC,WAAW,CAAC;4FAGX,wBAAwB;kBALpC,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,2BAA2B,CAAC;oBAC3C,OAAO,EAAE,CAAC,WAAW,CAAC;oBACtB,OAAO,EAAE,CAAC,2BAA2B,CAAC;iBACvC","sourcesContent":["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"]}
@@ -1,44 +0,0 @@
1
- import { Directive, forwardRef } from '@angular/core';
2
- import { NG_VALIDATORS } from '@angular/forms';
3
- import { SkyValidation } from '../validation/validation';
4
- import * as i0 from "@angular/core";
5
- // tslint:disable:no-forward-ref no-use-before-declare
6
- const SKY_URL_VALIDATION_VALIDATOR = {
7
- provide: NG_VALIDATORS,
8
- useExisting: forwardRef(() => SkyUrlValidationDirective),
9
- multi: true,
10
- };
11
- // tslint:enable
12
- /**
13
- * Creates an input to validate URLs. Place this attribute on an `input` element.
14
- * If users enters values that are not valid URLs, an error message appears.
15
- * This directive uses `NgModel` to bind data.
16
- */
17
- export class SkyUrlValidationDirective {
18
- validate(control) {
19
- const value = control.value;
20
- if (!value) {
21
- return;
22
- }
23
- if (!this.urlIsValid(value)) {
24
- return {
25
- skyUrl: {
26
- invalid: control.value,
27
- },
28
- };
29
- }
30
- }
31
- urlIsValid(url) {
32
- return SkyValidation.isUrl(url);
33
- }
34
- }
35
- SkyUrlValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyUrlValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
36
- SkyUrlValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: SkyUrlValidationDirective, selector: "[skyUrlValidation]", providers: [SKY_URL_VALIDATION_VALIDATOR], ngImport: i0 });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyUrlValidationDirective, decorators: [{
38
- type: Directive,
39
- args: [{
40
- selector: '[skyUrlValidation]',
41
- providers: [SKY_URL_VALIDATION_VALIDATOR],
42
- }]
43
- }] });
44
- //# sourceMappingURL=url-validation.directive.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"url-validation.directive.js","sourceRoot":"","sources":["../../../../../../../../libs/components/validation/src/lib/modules/url-validation/url-validation.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAmB,aAAa,EAAa,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;;AAEzD,sDAAsD;AACtD,MAAM,4BAA4B,GAAG;IACnC,OAAO,EAAE,aAAa;IACtB,WAAW,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,yBAAyB,CAAC;IACxD,KAAK,EAAE,IAAI;CACZ,CAAC;AACF,gBAAgB;AAEhB;;;;GAIG;AAKH,MAAM,OAAO,yBAAyB;IAC7B,QAAQ,CAAC,OAAwB;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAE5B,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YAC3B,OAAO;gBACL,MAAM,EAAE;oBACN,OAAO,EAAE,OAAO,CAAC,KAAK;iBACvB;aACF,CAAC;SACH;IACH,CAAC;IAEM,UAAU,CAAC,GAAW;QAC3B,OAAO,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;;uHAnBU,yBAAyB;2GAAzB,yBAAyB,6CAFzB,CAAC,4BAA4B,CAAC;4FAE9B,yBAAyB;kBAJrC,SAAS;mBAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,SAAS,EAAE,CAAC,4BAA4B,CAAC;iBAC1C","sourcesContent":["import { Directive, forwardRef } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, Validator } from '@angular/forms';\n\nimport { SkyValidation } from '../validation/validation';\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// tslint:enable\n\n/**\n * Creates an input to validate URLs. Place this attribute on an `input` element.\n * If users enters values that are not valid URLs, an error message appears.\n * This 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 public validate(control: AbstractControl): { [key: string]: any } {\n const value = control.value;\n\n if (!value) {\n return;\n }\n\n if (!this.urlIsValid(value)) {\n return {\n skyUrl: {\n invalid: control.value,\n },\n };\n }\n }\n\n public urlIsValid(url: string): boolean {\n return SkyValidation.isUrl(url);\n }\n}\n"]}
@@ -1,18 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { FormsModule } from '@angular/forms';
3
- import { SkyUrlValidationDirective } from './url-validation.directive';
4
- import * as i0 from "@angular/core";
5
- export class SkyUrlValidationModule {
6
- }
7
- SkyUrlValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyUrlValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- SkyUrlValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyUrlValidationModule, declarations: [SkyUrlValidationDirective], imports: [FormsModule], exports: [SkyUrlValidationDirective] });
9
- SkyUrlValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyUrlValidationModule, imports: [[FormsModule]] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyUrlValidationModule, decorators: [{
11
- type: NgModule,
12
- args: [{
13
- declarations: [SkyUrlValidationDirective],
14
- imports: [FormsModule],
15
- exports: [SkyUrlValidationDirective],
16
- }]
17
- }] });
18
- //# sourceMappingURL=url-validation.module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"url-validation.module.js","sourceRoot":"","sources":["../../../../../../../../libs/components/validation/src/lib/modules/url-validation/url-validation.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;;AAOvE,MAAM,OAAO,sBAAsB;;oHAAtB,sBAAsB;qHAAtB,sBAAsB,iBAJlB,yBAAyB,aAC9B,WAAW,aACX,yBAAyB;qHAExB,sBAAsB,YAHxB,CAAC,WAAW,CAAC;4FAGX,sBAAsB;kBALlC,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,yBAAyB,CAAC;oBACzC,OAAO,EAAE,CAAC,WAAW,CAAC;oBACtB,OAAO,EAAE,CAAC,yBAAyB,CAAC;iBACrC","sourcesContent":["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"]}
@@ -1,14 +0,0 @@
1
- export class SkyValidation {
2
- static isEmail(emailAddress) {
3
- // The regex was obtained from http://emailregex.com/
4
- // which claims to correctly handle ~99% of all email addresses.
5
- // tslint:disable-next-line:max-line-length
6
- const regex = /^(([^<>()[\]\\.,;:\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,}))$/;
7
- return regex.test(emailAddress);
8
- }
9
- static isUrl(url) {
10
- const regex = /^((http|https):\/\/)?([\w-]+\.)+[\w-]+/i;
11
- return regex.test(url);
12
- }
13
- }
14
- //# sourceMappingURL=validation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../../../../../libs/components/validation/src/lib/modules/validation/validation.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,aAAa;IAC1B,MAAM,CAAC,OAAO,CAAC,YAAoB;QACxC,qDAAqD;QACrD,gEAAgE;QAChE,2CAA2C;QAC3C,MAAM,KAAK,GACT,sJAAsJ,CAAC;QACzJ,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,GAAW;QAC7B,MAAM,KAAK,GAAG,yCAAyC,CAAC;QACxD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;CACF","sourcesContent":["export 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 // tslint:disable-next-line:max-line-length\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(url: string): boolean {\n const regex = /^((http|https):\\/\\/)?([\\w-]+\\.)+[\\w-]+/i;\n return regex.test(url);\n }\n}\n"]}
@@ -1,39 +0,0 @@
1
- import { SkyValidation } from '../validation/validation';
2
- // Need to add the following to classes which contain static methods.
3
- // See: https://github.com/ng-packagr/ng-packagr/issues/641
4
- // @dynamic
5
- export class SkyValidators {
6
- /**
7
- * Validates email addresses in reactive forms. Add this validator directly to the form control
8
- * model in the component class. If users enter values that are not valid email addresses, the
9
- * validator throws an error. Since this is a sync validator, it returns a set of validation
10
- * errors or `undefined` immediately when users enter values.
11
- * @param control
12
- */
13
- static email(control) {
14
- const value = control.value;
15
- if (!value) {
16
- return undefined;
17
- }
18
- return SkyValidation.isEmail(value)
19
- ? undefined
20
- : { skyEmail: { invalid: value } };
21
- }
22
- /**
23
- * Validates URLs in reactive forms. Add this validator directly to the form control model in
24
- * the component class. If users enter values that are not valid URLs, the validator throws an
25
- * error. Since this is a sync validator, it returns a set of validation errors or `undefined`
26
- * immediately when users enter values.
27
- * @param control
28
- */
29
- static url(control) {
30
- const value = control.value;
31
- if (!value) {
32
- return undefined;
33
- }
34
- return SkyValidation.isUrl(value)
35
- ? undefined
36
- : { skyUrl: { invalid: value } };
37
- }
38
- }
39
- //# sourceMappingURL=validators.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../../../../../../libs/components/validation/src/lib/modules/validators/validators.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,qEAAqE;AACrE,2DAA2D;AAC3D,WAAW;AACX,MAAM,OAAO,aAAa;IACxB;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,OAAwB;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAE5B,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC;YACjC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;IACvC,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,GAAG,CAAC,OAAwB;QACxC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAE5B,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;YAC/B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;IACrC,CAAC;CACF","sourcesContent":["import { AbstractControl, ValidationErrors } from '@angular/forms';\n\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 `undefined` immediately when users enter values.\n * @param control\n */\n public static email(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value) {\n return undefined;\n }\n\n return SkyValidation.isEmail(value)\n ? undefined\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 `undefined`\n * immediately when users enter values.\n * @param control\n */\n public static url(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value) {\n return undefined;\n }\n\n return SkyValidation.isUrl(value)\n ? undefined\n : { skyUrl: { invalid: value } };\n }\n}\n"]}
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=skyux-validation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skyux-validation.js","sourceRoot":"","sources":["../../../../../libs/components/validation/src/skyux-validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC","sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"skyux-validation.js","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":["export 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 // tslint:disable-next-line:max-line-length\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(url: string): boolean {\n const regex = /^((http|https):\\/\\/)?([\\w-]+\\.)+[\\w-]+/i;\n return regex.test(url);\n }\n}\n","import { Directive, forwardRef } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, Validator } from '@angular/forms';\n\nimport { SkyValidation } from '../validation/validation';\n\n// tslint:disable:no-forward-ref no-use-before-declare\nconst SKY_EMAIL_VALIDATION_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyEmailValidationDirective),\n multi: true,\n};\n// tslint:enable\n\n/**\n * Creates an input to validate email addresses. Place this attribute on an `input` element.\n * If users enter values that are not valid email addresses, an error message appears.\n * 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): { [key: string]: any } {\n const value = control.value;\n\n if (!value) {\n return;\n }\n\n if (!this.emailIsValid(value)) {\n return {\n skyEmail: {\n invalid: control.value,\n },\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, forwardRef } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, Validator } from '@angular/forms';\n\nimport { SkyValidation } from '../validation/validation';\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// tslint:enable\n\n/**\n * Creates an input to validate URLs. Place this attribute on an `input` element.\n * If users enters values that are not valid URLs, an error message appears.\n * This 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 public validate(control: AbstractControl): { [key: string]: any } {\n const value = control.value;\n\n if (!value) {\n return;\n }\n\n if (!this.urlIsValid(value)) {\n return {\n skyUrl: {\n invalid: control.value,\n },\n };\n }\n }\n\n public urlIsValid(url: string): boolean {\n return SkyValidation.isUrl(url);\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 } from '@angular/forms';\n\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 `undefined` immediately when users enter values.\n * @param control\n */\n public static email(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value) {\n return undefined;\n }\n\n return SkyValidation.isEmail(value)\n ? undefined\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 `undefined`\n * immediately when users enter values.\n * @param control\n */\n public static url(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value) {\n return undefined;\n }\n\n return SkyValidation.isUrl(value)\n ? undefined\n : { skyUrl: { invalid: value } };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}