@skyux/validation 5.7.2 → 6.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/index.mjs +9 -0
- package/esm2020/lib/modules/email-validation/email-validation.directive.mjs +44 -0
- package/esm2020/lib/modules/email-validation/email-validation.module.mjs +18 -0
- package/esm2020/lib/modules/url-validation/url-validation.directive.mjs +44 -0
- package/esm2020/lib/modules/url-validation/url-validation.module.mjs +18 -0
- package/esm2020/lib/modules/validation/validation.mjs +14 -0
- package/esm2020/lib/modules/validators/validators.mjs +39 -0
- package/esm2020/skyux-validation.mjs +5 -0
- package/fesm2015/{skyux-validation.js → skyux-validation.mjs} +15 -15
- package/fesm2015/skyux-validation.mjs.map +1 -0
- package/fesm2020/skyux-validation.mjs +170 -0
- package/fesm2020/skyux-validation.mjs.map +1 -0
- package/package.json +26 -10
- package/bundles/skyux-validation.umd.js +0 -219
- package/esm2015/index.js +0 -9
- package/esm2015/index.js.map +0 -1
- package/esm2015/lib/modules/email-validation/email-validation.directive.js +0 -44
- package/esm2015/lib/modules/email-validation/email-validation.directive.js.map +0 -1
- package/esm2015/lib/modules/email-validation/email-validation.module.js +0 -18
- package/esm2015/lib/modules/email-validation/email-validation.module.js.map +0 -1
- package/esm2015/lib/modules/url-validation/url-validation.directive.js +0 -44
- package/esm2015/lib/modules/url-validation/url-validation.directive.js.map +0 -1
- package/esm2015/lib/modules/url-validation/url-validation.module.js +0 -18
- package/esm2015/lib/modules/url-validation/url-validation.module.js.map +0 -1
- package/esm2015/lib/modules/validation/validation.js +0 -14
- package/esm2015/lib/modules/validation/validation.js.map +0 -1
- package/esm2015/lib/modules/validators/validators.js +0 -39
- package/esm2015/lib/modules/validators/validators.js.map +0 -1
- package/esm2015/skyux-validation.js +0 -5
- package/esm2015/skyux-validation.js.map +0 -1
- package/fesm2015/skyux-validation.js.map +0 -1
|
@@ -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,44 @@
|
|
|
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: "13.2.7", ngImport: i0, type: SkyEmailValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
36
|
+
SkyEmailValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SkyEmailValidationDirective, selector: "[skyEmailValidation]", providers: [SKY_EMAIL_VALIDATION_VALIDATOR], ngImport: i0 });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyEmailValidationDirective, decorators: [{
|
|
38
|
+
type: Directive,
|
|
39
|
+
args: [{
|
|
40
|
+
selector: '[skyEmailValidation]',
|
|
41
|
+
providers: [SKY_EMAIL_VALIDATION_VALIDATOR],
|
|
42
|
+
}]
|
|
43
|
+
}] });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtdmFsaWRhdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdmFsaWRhdGlvbi9zcmMvbGliL21vZHVsZXMvZW1haWwtdmFsaWRhdGlvbi9lbWFpbC12YWxpZGF0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQW1CLGFBQWEsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBRTNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFekQsc0RBQXNEO0FBQ3RELE1BQU0sOEJBQThCLEdBQUc7SUFDckMsT0FBTyxFQUFFLGFBQWE7SUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztJQUMxRCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFDRixnQkFBZ0I7QUFFaEI7Ozs7R0FJRztBQUtILE1BQU0sT0FBTywyQkFBMkI7SUFDL0IsUUFBUSxDQUFDLE9BQXdCO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFFNUIsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzdCLE9BQU87Z0JBQ0wsUUFBUSxFQUFFO29CQUNSLE9BQU8sRUFBRSxPQUFPLENBQUMsS0FBSztpQkFDdkI7YUFDRixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQWE7UUFDL0IsT0FBTyxhQUFhLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7O3dIQW5CVSwyQkFBMkI7NEdBQTNCLDJCQUEyQiwrQ0FGM0IsQ0FBQyw4QkFBOEIsQ0FBQzsyRkFFaEMsMkJBQTJCO2tCQUp2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFNBQVMsRUFBRSxDQUFDLDhCQUE4QixDQUFDO2lCQUM1QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBOR19WQUxJREFUT1JTLCBWYWxpZGF0b3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFNreVZhbGlkYXRpb24gfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24nO1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZTpuby1mb3J3YXJkLXJlZiBuby11c2UtYmVmb3JlLWRlY2xhcmVcbmNvbnN0IFNLWV9FTUFJTF9WQUxJREFUSU9OX1ZBTElEQVRPUiA9IHtcbiAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2t5RW1haWxWYWxpZGF0aW9uRGlyZWN0aXZlKSxcbiAgbXVsdGk6IHRydWUsXG59O1xuLy8gdHNsaW50OmVuYWJsZVxuXG4vKipcbiAqIENyZWF0ZXMgYW4gaW5wdXQgdG8gdmFsaWRhdGUgZW1haWwgYWRkcmVzc2VzLiBQbGFjZSB0aGlzIGF0dHJpYnV0ZSBvbiBhbiBgaW5wdXRgIGVsZW1lbnQuXG4gKiBJZiB1c2VycyBlbnRlciB2YWx1ZXMgdGhhdCBhcmUgbm90IHZhbGlkIGVtYWlsIGFkZHJlc3NlcywgYW4gZXJyb3IgbWVzc2FnZSBhcHBlYXJzLlxuICogVGhlIGRpcmVjdGl2ZSB1c2VzIGBOZ01vZGVsYCB0byBiaW5kIGRhdGEuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tza3lFbWFpbFZhbGlkYXRpb25dJyxcbiAgcHJvdmlkZXJzOiBbU0tZX0VNQUlMX1ZBTElEQVRJT05fVkFMSURBVE9SXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RW1haWxWYWxpZGF0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgVmFsaWRhdG9yIHtcbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuZW1haWxJc1ZhbGlkKHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc2t5RW1haWw6IHtcbiAgICAgICAgICBpbnZhbGlkOiBjb250cm9sLnZhbHVlLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZW1haWxJc1ZhbGlkKGVtYWlsOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gU2t5VmFsaWRhdGlvbi5pc0VtYWlsKGVtYWlsKTtcbiAgfVxufVxuIl19
|
|
@@ -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.2.7", ngImport: i0, type: SkyEmailValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
SkyEmailValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyEmailValidationModule, declarations: [SkyEmailValidationDirective], imports: [FormsModule], exports: [SkyEmailValidationDirective] });
|
|
9
|
+
SkyEmailValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyEmailValidationModule, imports: [[FormsModule]] });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", 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,44 @@
|
|
|
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: "13.2.7", ngImport: i0, type: SkyUrlValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
36
|
+
SkyUrlValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SkyUrlValidationDirective, selector: "[skyUrlValidation]", providers: [SKY_URL_VALIDATION_VALIDATOR], ngImport: i0 });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyUrlValidationDirective, decorators: [{
|
|
38
|
+
type: Directive,
|
|
39
|
+
args: [{
|
|
40
|
+
selector: '[skyUrlValidation]',
|
|
41
|
+
providers: [SKY_URL_VALIDATION_VALIDATOR],
|
|
42
|
+
}]
|
|
43
|
+
}] });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLXZhbGlkYXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3ZhbGlkYXRpb24vc3JjL2xpYi9tb2R1bGVzL3VybC12YWxpZGF0aW9uL3VybC12YWxpZGF0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQW1CLGFBQWEsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBRTNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFekQsc0RBQXNEO0FBQ3RELE1BQU0sNEJBQTRCLEdBQUc7SUFDbkMsT0FBTyxFQUFFLGFBQWE7SUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztJQUN4RCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFDRixnQkFBZ0I7QUFFaEI7Ozs7R0FJRztBQUtILE1BQU0sT0FBTyx5QkFBeUI7SUFDN0IsUUFBUSxDQUFDLE9BQXdCO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFFNUIsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNCLE9BQU87Z0JBQ0wsTUFBTSxFQUFFO29CQUNOLE9BQU8sRUFBRSxPQUFPLENBQUMsS0FBSztpQkFDdkI7YUFDRixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRU0sVUFBVSxDQUFDLEdBQVc7UUFDM0IsT0FBTyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7O3NIQW5CVSx5QkFBeUI7MEdBQXpCLHlCQUF5Qiw2Q0FGekIsQ0FBQyw0QkFBNEIsQ0FBQzsyRkFFOUIseUJBQXlCO2tCQUpyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFNBQVMsRUFBRSxDQUFDLDRCQUE0QixDQUFDO2lCQUMxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBOR19WQUxJREFUT1JTLCBWYWxpZGF0b3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFNreVZhbGlkYXRpb24gfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24nO1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZTpuby1mb3J3YXJkLXJlZiBuby11c2UtYmVmb3JlLWRlY2xhcmVcbmNvbnN0IFNLWV9VUkxfVkFMSURBVElPTl9WQUxJREFUT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNreVVybFZhbGlkYXRpb25EaXJlY3RpdmUpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG4vLyB0c2xpbnQ6ZW5hYmxlXG5cbi8qKlxuICogQ3JlYXRlcyBhbiBpbnB1dCB0byB2YWxpZGF0ZSBVUkxzLiBQbGFjZSB0aGlzIGF0dHJpYnV0ZSBvbiBhbiBgaW5wdXRgIGVsZW1lbnQuXG4gKiBJZiB1c2VycyBlbnRlcnMgdmFsdWVzIHRoYXQgYXJlIG5vdCB2YWxpZCBVUkxzLCBhbiBlcnJvciBtZXNzYWdlIGFwcGVhcnMuXG4gKiBUaGlzIGRpcmVjdGl2ZSB1c2VzIGBOZ01vZGVsYCB0byBiaW5kIGRhdGEuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tza3lVcmxWYWxpZGF0aW9uXScsXG4gIHByb3ZpZGVyczogW1NLWV9VUkxfVkFMSURBVElPTl9WQUxJREFUT1JdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lVcmxWYWxpZGF0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgVmFsaWRhdG9yIHtcbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMudXJsSXNWYWxpZCh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNreVVybDoge1xuICAgICAgICAgIGludmFsaWQ6IGNvbnRyb2wudmFsdWUsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB1cmxJc1ZhbGlkKHVybDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFNreVZhbGlkYXRpb24uaXNVcmwodXJsKTtcbiAgfVxufVxuIl19
|
|
@@ -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.2.7", ngImport: i0, type: SkyUrlValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
SkyUrlValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyUrlValidationModule, declarations: [SkyUrlValidationDirective], imports: [FormsModule], exports: [SkyUrlValidationDirective] });
|
|
9
|
+
SkyUrlValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyUrlValidationModule, imports: [[FormsModule]] });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", 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,14 @@
|
|
|
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=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy92YWxpZGF0aW9uL3NyYy9saWIvbW9kdWxlcy92YWxpZGF0aW9uL3ZhbGlkYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFnQixhQUFhO0lBQzFCLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBb0I7UUFDeEMscURBQXFEO1FBQ3JELGdFQUFnRTtRQUNoRSwyQ0FBMkM7UUFDM0MsTUFBTSxLQUFLLEdBQ1Qsc0pBQXNKLENBQUM7UUFDekosT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQVc7UUFDN0IsTUFBTSxLQUFLLEdBQUcseUNBQXlDLENBQUM7UUFDeEQsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTa3lWYWxpZGF0aW9uIHtcbiAgcHVibGljIHN0YXRpYyBpc0VtYWlsKGVtYWlsQWRkcmVzczogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgLy8gVGhlIHJlZ2V4IHdhcyBvYnRhaW5lZCBmcm9tIGh0dHA6Ly9lbWFpbHJlZ2V4LmNvbS9cbiAgICAvLyB3aGljaCBjbGFpbXMgdG8gY29ycmVjdGx5IGhhbmRsZSB+OTklIG9mIGFsbCBlbWFpbCBhZGRyZXNzZXMuXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm1heC1saW5lLWxlbmd0aFxuICAgIGNvbnN0IHJlZ2V4ID1cbiAgICAgIC9eKChbXjw+KClbXFxdXFxcXC4sOzpcXHNAXCJdKyhcXC5bXjw+KClbXFxdXFxcXC4sOzpcXHNAXCJdKykqKXwoXCIuK1wiKSlAKChcXFtbMC05XXsxLDN9XFwuWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XSl8KChbYS16QS1aXFwtMC05XStcXC4pK1thLXpBLVpdezIsfSkpJC87XG4gICAgcmV0dXJuIHJlZ2V4LnRlc3QoZW1haWxBZGRyZXNzKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaXNVcmwodXJsOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCByZWdleCA9IC9eKChodHRwfGh0dHBzKTpcXC9cXC8pPyhbXFx3LV0rXFwuKStbXFx3LV0rL2k7XG4gICAgcmV0dXJuIHJlZ2V4LnRlc3QodXJsKTtcbiAgfVxufVxuIl19
|
|
@@ -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
|
|
@@ -46,9 +46,9 @@ class SkyEmailValidationDirective {
|
|
|
46
46
|
return SkyValidation.isEmail(email);
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
-
SkyEmailValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
50
|
-
SkyEmailValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
49
|
+
SkyEmailValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyEmailValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
50
|
+
SkyEmailValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SkyEmailValidationDirective, selector: "[skyEmailValidation]", providers: [SKY_EMAIL_VALIDATION_VALIDATOR], ngImport: i0 });
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyEmailValidationDirective, decorators: [{
|
|
52
52
|
type: Directive,
|
|
53
53
|
args: [{
|
|
54
54
|
selector: '[skyEmailValidation]',
|
|
@@ -58,10 +58,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
58
58
|
|
|
59
59
|
class SkyEmailValidationModule {
|
|
60
60
|
}
|
|
61
|
-
SkyEmailValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
62
|
-
SkyEmailValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
63
|
-
SkyEmailValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
61
|
+
SkyEmailValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyEmailValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
62
|
+
SkyEmailValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyEmailValidationModule, declarations: [SkyEmailValidationDirective], imports: [FormsModule], exports: [SkyEmailValidationDirective] });
|
|
63
|
+
SkyEmailValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyEmailValidationModule, imports: [[FormsModule]] });
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyEmailValidationModule, decorators: [{
|
|
65
65
|
type: NgModule,
|
|
66
66
|
args: [{
|
|
67
67
|
declarations: [SkyEmailValidationDirective],
|
|
@@ -100,9 +100,9 @@ class SkyUrlValidationDirective {
|
|
|
100
100
|
return SkyValidation.isUrl(url);
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
|
-
SkyUrlValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
104
|
-
SkyUrlValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
105
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
103
|
+
SkyUrlValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyUrlValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
104
|
+
SkyUrlValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SkyUrlValidationDirective, selector: "[skyUrlValidation]", providers: [SKY_URL_VALIDATION_VALIDATOR], ngImport: i0 });
|
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyUrlValidationDirective, decorators: [{
|
|
106
106
|
type: Directive,
|
|
107
107
|
args: [{
|
|
108
108
|
selector: '[skyUrlValidation]',
|
|
@@ -112,10 +112,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
112
112
|
|
|
113
113
|
class SkyUrlValidationModule {
|
|
114
114
|
}
|
|
115
|
-
SkyUrlValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
116
|
-
SkyUrlValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
117
|
-
SkyUrlValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
118
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
115
|
+
SkyUrlValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyUrlValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
116
|
+
SkyUrlValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyUrlValidationModule, declarations: [SkyUrlValidationDirective], imports: [FormsModule], exports: [SkyUrlValidationDirective] });
|
|
117
|
+
SkyUrlValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyUrlValidationModule, imports: [[FormsModule]] });
|
|
118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyUrlValidationModule, decorators: [{
|
|
119
119
|
type: NgModule,
|
|
120
120
|
args: [{
|
|
121
121
|
declarations: [SkyUrlValidationDirective],
|
|
@@ -167,4 +167,4 @@ class SkyValidators {
|
|
|
167
167
|
*/
|
|
168
168
|
|
|
169
169
|
export { SkyEmailValidationModule, SkyUrlValidationModule, SkyValidation, SkyValidators, SkyEmailValidationDirective as λ1, SkyUrlValidationDirective as λ2 };
|
|
170
|
-
//# sourceMappingURL=skyux-validation.
|
|
170
|
+
//# 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 // 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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"}
|
|
@@ -0,0 +1,170 @@
|
|
|
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
|
+
// tslint:disable-next-line:max-line-length
|
|
10
|
+
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
|
+
return regex.test(emailAddress);
|
|
12
|
+
}
|
|
13
|
+
static isUrl(url) {
|
|
14
|
+
const regex = /^((http|https):\/\/)?([\w-]+\.)+[\w-]+/i;
|
|
15
|
+
return regex.test(url);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// tslint:disable:no-forward-ref no-use-before-declare
|
|
20
|
+
const SKY_EMAIL_VALIDATION_VALIDATOR = {
|
|
21
|
+
provide: NG_VALIDATORS,
|
|
22
|
+
useExisting: forwardRef(() => SkyEmailValidationDirective),
|
|
23
|
+
multi: true,
|
|
24
|
+
};
|
|
25
|
+
// tslint:enable
|
|
26
|
+
/**
|
|
27
|
+
* Creates an input to validate email addresses. Place this attribute on an `input` element.
|
|
28
|
+
* If users enter values that are not valid email addresses, an error message appears.
|
|
29
|
+
* The directive uses `NgModel` to bind data.
|
|
30
|
+
*/
|
|
31
|
+
class SkyEmailValidationDirective {
|
|
32
|
+
validate(control) {
|
|
33
|
+
const value = control.value;
|
|
34
|
+
if (!value) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (!this.emailIsValid(value)) {
|
|
38
|
+
return {
|
|
39
|
+
skyEmail: {
|
|
40
|
+
invalid: control.value,
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
emailIsValid(email) {
|
|
46
|
+
return SkyValidation.isEmail(email);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
SkyEmailValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyEmailValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
50
|
+
SkyEmailValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SkyEmailValidationDirective, selector: "[skyEmailValidation]", providers: [SKY_EMAIL_VALIDATION_VALIDATOR], ngImport: i0 });
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyEmailValidationDirective, decorators: [{
|
|
52
|
+
type: Directive,
|
|
53
|
+
args: [{
|
|
54
|
+
selector: '[skyEmailValidation]',
|
|
55
|
+
providers: [SKY_EMAIL_VALIDATION_VALIDATOR],
|
|
56
|
+
}]
|
|
57
|
+
}] });
|
|
58
|
+
|
|
59
|
+
class SkyEmailValidationModule {
|
|
60
|
+
}
|
|
61
|
+
SkyEmailValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyEmailValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
62
|
+
SkyEmailValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyEmailValidationModule, declarations: [SkyEmailValidationDirective], imports: [FormsModule], exports: [SkyEmailValidationDirective] });
|
|
63
|
+
SkyEmailValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyEmailValidationModule, imports: [[FormsModule]] });
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyEmailValidationModule, decorators: [{
|
|
65
|
+
type: NgModule,
|
|
66
|
+
args: [{
|
|
67
|
+
declarations: [SkyEmailValidationDirective],
|
|
68
|
+
imports: [FormsModule],
|
|
69
|
+
exports: [SkyEmailValidationDirective],
|
|
70
|
+
}]
|
|
71
|
+
}] });
|
|
72
|
+
|
|
73
|
+
// tslint:disable:no-forward-ref no-use-before-declare
|
|
74
|
+
const SKY_URL_VALIDATION_VALIDATOR = {
|
|
75
|
+
provide: NG_VALIDATORS,
|
|
76
|
+
useExisting: forwardRef(() => SkyUrlValidationDirective),
|
|
77
|
+
multi: true,
|
|
78
|
+
};
|
|
79
|
+
// tslint:enable
|
|
80
|
+
/**
|
|
81
|
+
* Creates an input to validate URLs. Place this attribute on an `input` element.
|
|
82
|
+
* If users enters values that are not valid URLs, an error message appears.
|
|
83
|
+
* This directive uses `NgModel` to bind data.
|
|
84
|
+
*/
|
|
85
|
+
class SkyUrlValidationDirective {
|
|
86
|
+
validate(control) {
|
|
87
|
+
const value = control.value;
|
|
88
|
+
if (!value) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
if (!this.urlIsValid(value)) {
|
|
92
|
+
return {
|
|
93
|
+
skyUrl: {
|
|
94
|
+
invalid: control.value,
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
urlIsValid(url) {
|
|
100
|
+
return SkyValidation.isUrl(url);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
SkyUrlValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyUrlValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
104
|
+
SkyUrlValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SkyUrlValidationDirective, selector: "[skyUrlValidation]", providers: [SKY_URL_VALIDATION_VALIDATOR], ngImport: i0 });
|
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyUrlValidationDirective, decorators: [{
|
|
106
|
+
type: Directive,
|
|
107
|
+
args: [{
|
|
108
|
+
selector: '[skyUrlValidation]',
|
|
109
|
+
providers: [SKY_URL_VALIDATION_VALIDATOR],
|
|
110
|
+
}]
|
|
111
|
+
}] });
|
|
112
|
+
|
|
113
|
+
class SkyUrlValidationModule {
|
|
114
|
+
}
|
|
115
|
+
SkyUrlValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyUrlValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
116
|
+
SkyUrlValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyUrlValidationModule, declarations: [SkyUrlValidationDirective], imports: [FormsModule], exports: [SkyUrlValidationDirective] });
|
|
117
|
+
SkyUrlValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyUrlValidationModule, imports: [[FormsModule]] });
|
|
118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyUrlValidationModule, decorators: [{
|
|
119
|
+
type: NgModule,
|
|
120
|
+
args: [{
|
|
121
|
+
declarations: [SkyUrlValidationDirective],
|
|
122
|
+
imports: [FormsModule],
|
|
123
|
+
exports: [SkyUrlValidationDirective],
|
|
124
|
+
}]
|
|
125
|
+
}] });
|
|
126
|
+
|
|
127
|
+
// Need to add the following to classes which contain static methods.
|
|
128
|
+
// See: https://github.com/ng-packagr/ng-packagr/issues/641
|
|
129
|
+
// @dynamic
|
|
130
|
+
class SkyValidators {
|
|
131
|
+
/**
|
|
132
|
+
* Validates email addresses in reactive forms. Add this validator directly to the form control
|
|
133
|
+
* model in the component class. If users enter values that are not valid email addresses, the
|
|
134
|
+
* validator throws an error. Since this is a sync validator, it returns a set of validation
|
|
135
|
+
* errors or `undefined` immediately when users enter values.
|
|
136
|
+
* @param control
|
|
137
|
+
*/
|
|
138
|
+
static email(control) {
|
|
139
|
+
const value = control.value;
|
|
140
|
+
if (!value) {
|
|
141
|
+
return undefined;
|
|
142
|
+
}
|
|
143
|
+
return SkyValidation.isEmail(value)
|
|
144
|
+
? undefined
|
|
145
|
+
: { skyEmail: { invalid: value } };
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Validates URLs in reactive forms. Add this validator directly to the form control model in
|
|
149
|
+
* the component class. If users enter values that are not valid URLs, the validator throws an
|
|
150
|
+
* error. Since this is a sync validator, it returns a set of validation errors or `undefined`
|
|
151
|
+
* immediately when users enter values.
|
|
152
|
+
* @param control
|
|
153
|
+
*/
|
|
154
|
+
static url(control) {
|
|
155
|
+
const value = control.value;
|
|
156
|
+
if (!value) {
|
|
157
|
+
return undefined;
|
|
158
|
+
}
|
|
159
|
+
return SkyValidation.isUrl(value)
|
|
160
|
+
? undefined
|
|
161
|
+
: { skyUrl: { invalid: value } };
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Generated bundle index. Do not edit.
|
|
167
|
+
*/
|
|
168
|
+
|
|
169
|
+
export { SkyEmailValidationModule, SkyUrlValidationModule, SkyValidation, SkyValidators, SkyEmailValidationDirective as λ1, SkyUrlValidationDirective as λ2 };
|
|
170
|
+
//# 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 // 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":";;;;MAAsB,aAAa,CAAA;IAC1B,OAAO,OAAO,CAAC,YAAoB,EAAA;;;;QAIxC,MAAM,KAAK,GACT,sJAAsJ,CAAC;AACzJ,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACjC;IAEM,OAAO,KAAK,CAAC,GAAW,EAAA;QAC7B,MAAM,KAAK,GAAG,yCAAyC,CAAC;AACxD,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACxB;AACF;;ACTD;AACA,MAAM,8BAA8B,GAAG;AACrC,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,2BAA2B,CAAC;AAC1D,IAAA,KAAK,EAAE,IAAI;CACZ,CAAC;AACF;AAEA;;;;AAIG;MAKU,2BAA2B,CAAA;AAC/B,IAAA,QAAQ,CAAC,OAAwB,EAAA;AACtC,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAE5B,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;AACR,SAAA;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;YAC7B,OAAO;AACL,gBAAA,QAAQ,EAAE;oBACR,OAAO,EAAE,OAAO,CAAC,KAAK;AACvB,iBAAA;aACF,CAAC;AACH,SAAA;KACF;AAEM,IAAA,YAAY,CAAC,KAAa,EAAA;AAC/B,QAAA,OAAO,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;KACrC;;wHAnBU,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4GAA3B,2BAA2B,EAAA,QAAA,EAAA,sBAAA,EAAA,SAAA,EAF3B,CAAC,8BAA8B,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAEhC,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAJvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;oBAChC,SAAS,EAAE,CAAC,8BAA8B,CAAC;AAC5C,iBAAA,CAAA;;;MCXY,wBAAwB,CAAA;;qHAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,EAJpB,YAAA,EAAA,CAAA,2BAA2B,CAChC,EAAA,OAAA,EAAA,CAAA,WAAW,aACX,2BAA2B,CAAA,EAAA,CAAA,CAAA;sHAE1B,wBAAwB,EAAA,OAAA,EAAA,CAH1B,CAAC,WAAW,CAAC,CAAA,EAAA,CAAA,CAAA;2FAGX,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,2BAA2B,CAAC;oBAC3C,OAAO,EAAE,CAAC,WAAW,CAAC;oBACtB,OAAO,EAAE,CAAC,2BAA2B,CAAC;AACvC,iBAAA,CAAA;;;ACJD;AACA,MAAM,4BAA4B,GAAG;AACnC,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,yBAAyB,CAAC;AACxD,IAAA,KAAK,EAAE,IAAI;CACZ,CAAC;AACF;AAEA;;;;AAIG;MAKU,yBAAyB,CAAA;AAC7B,IAAA,QAAQ,CAAC,OAAwB,EAAA;AACtC,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAE5B,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;AACR,SAAA;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YAC3B,OAAO;AACL,gBAAA,MAAM,EAAE;oBACN,OAAO,EAAE,OAAO,CAAC,KAAK;AACvB,iBAAA;aACF,CAAC;AACH,SAAA;KACF;AAEM,IAAA,UAAU,CAAC,GAAW,EAAA;AAC3B,QAAA,OAAO,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KACjC;;sHAnBU,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;0GAAzB,yBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,SAAA,EAFzB,CAAC,4BAA4B,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAE9B,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;oBAC9B,SAAS,EAAE,CAAC,4BAA4B,CAAC;AAC1C,iBAAA,CAAA;;;MCXY,sBAAsB,CAAA;;mHAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,EAJlB,YAAA,EAAA,CAAA,yBAAyB,CAC9B,EAAA,OAAA,EAAA,CAAA,WAAW,aACX,yBAAyB,CAAA,EAAA,CAAA,CAAA;oHAExB,sBAAsB,EAAA,OAAA,EAAA,CAHxB,CAAC,WAAW,CAAC,CAAA,EAAA,CAAA,CAAA;2FAGX,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,yBAAyB,CAAC;oBACzC,OAAO,EAAE,CAAC,WAAW,CAAC;oBACtB,OAAO,EAAE,CAAC,yBAAyB,CAAC;AACrC,iBAAA,CAAA;;;ACLD;AACA;AACA;MACa,aAAa,CAAA;AACxB;;;;;;AAMG;IACI,OAAO,KAAK,CAAC,OAAwB,EAAA;AAC1C,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAE5B,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,OAAO,SAAS,CAAC;AAClB,SAAA;AAED,QAAA,OAAO,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC;AACjC,cAAE,SAAS;cACT,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;KACtC;AAED;;;;;;AAMG;IACI,OAAO,GAAG,CAAC,OAAwB,EAAA;AACxC,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAE5B,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,OAAO,SAAS,CAAC;AAClB,SAAA;AAED,QAAA,OAAO,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;AAC/B,cAAE,SAAS;cACT,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;KACpC;AACF;;AC7CD;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyux/validation",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0-beta.2",
|
|
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": "^
|
|
20
|
-
"@angular/core": "^
|
|
21
|
-
"@angular/forms": "^
|
|
35
|
+
"@angular/common": "^13.2.7",
|
|
36
|
+
"@angular/core": "^13.2.7",
|
|
37
|
+
"@angular/forms": "^13.2.7"
|
|
22
38
|
},
|
|
23
39
|
"dependencies": {
|
|
24
40
|
"tslib": "^2.3.1"
|
|
25
41
|
},
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"fesm2015": "fesm2015/skyux-validation.
|
|
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
|
package/esm2015/index.js.map
DELETED
|
@@ -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 +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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"}
|