@skyux/validation 8.7.2 → 9.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation.json +35 -35
- package/{esm2020 → esm2022}/lib/modules/email-validation/email-validation.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/email-validation/email-validation.module.mjs +5 -5
- package/esm2022/lib/modules/url-validation/url-validation.directive.mjs +49 -0
- package/{esm2020 → esm2022}/lib/modules/url-validation/url-validation.module.mjs +5 -5
- package/{fesm2020 → fesm2022}/skyux-validation.mjs +21 -26
- package/{fesm2015 → fesm2022}/skyux-validation.mjs.map +1 -1
- package/lib/modules/url-validation/url-validation.directive.d.ts +1 -1
- package/package.json +8 -14
- package/esm2020/lib/modules/url-validation/url-validation.directive.mjs +0 -54
- package/fesm2015/skyux-validation.mjs +0 -199
- package/fesm2020/skyux-validation.mjs.map +0 -1
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/url-validation/url-validation-options.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/validation/validation.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/validators/validators.mjs +0 -0
- /package/{esm2020 → esm2022}/skyux-validation.mjs +0 -0
package/documentation.json
CHANGED
|
@@ -920,34 +920,29 @@
|
|
|
920
920
|
},
|
|
921
921
|
"codeExamples": [
|
|
922
922
|
{
|
|
923
|
-
"fileName": "
|
|
924
|
-
"filePath": "/projects/validation/documentation/code-examples/
|
|
925
|
-
"rawContents": "
|
|
926
|
-
},
|
|
927
|
-
{
|
|
928
|
-
"fileName": "email-validation-demo.component.ts",
|
|
929
|
-
"filePath": "/projects/validation/documentation/code-examples/email-validation/control-validator/email-validation-demo.component.ts",
|
|
930
|
-
"rawContents": "import { Component } from '@angular/core';\nimport {\n AbstractControl,\n UntypedFormBuilder,\n UntypedFormControl,\n UntypedFormGroup,\n Validators,\n} from '@angular/forms';\nimport { SkyValidators } from '@skyux/validation';\n\n@Component({\n selector: 'app-email-validation-demo',\n templateUrl: './email-validation-demo.component.html',\n})\nexport class EmailValidationDemoComponent {\n public get emailControl(): AbstractControl | null {\n return this.formGroup.get('email');\n }\n\n public formGroup: UntypedFormGroup;\n\n constructor(formBuilder: UntypedFormBuilder) {\n this.formGroup = formBuilder.group({\n email: new UntypedFormControl(undefined, [\n Validators.required,\n SkyValidators.email,\n ]),\n });\n }\n}\n"
|
|
923
|
+
"fileName": "url-validation-demo.module.ts",
|
|
924
|
+
"filePath": "/projects/validation/documentation/code-examples/url-validation/directive/url-validation-demo.module.ts",
|
|
925
|
+
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SkyInputBoxModule } from '@skyux/forms';\nimport { SkyStatusIndicatorModule } from '@skyux/indicators';\nimport { SkyUrlValidationModule } from '@skyux/validation';\n\nimport { UrlValidationDemoComponent } from './url-validation-demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n SkyInputBoxModule,\n SkyStatusIndicatorModule,\n SkyUrlValidationModule,\n ],\n exports: [UrlValidationDemoComponent],\n declarations: [UrlValidationDemoComponent],\n})\nexport class UrlValidationDemoModule {}\n"
|
|
931
926
|
},
|
|
932
927
|
{
|
|
933
|
-
"fileName": "
|
|
934
|
-
"filePath": "/projects/validation/documentation/code-examples/
|
|
935
|
-
"rawContents": "import {
|
|
928
|
+
"fileName": "url-validation-demo.component.ts",
|
|
929
|
+
"filePath": "/projects/validation/documentation/code-examples/url-validation/directive/url-validation-demo.component.ts",
|
|
930
|
+
"rawContents": "import { Component } from '@angular/core';\nimport { SkyUrlValidationOptions } from '@skyux/validation';\n\n@Component({\n selector: 'app-url-validation-demo',\n templateUrl: './url-validation-demo.component.html',\n})\nexport class UrlValidationDemoComponent {\n public demoModel: {\n url?: string;\n } = {};\n\n public skyUrlValidationOptions: SkyUrlValidationOptions = {\n rulesetVersion: 2,\n };\n}\n"
|
|
936
931
|
},
|
|
937
932
|
{
|
|
938
|
-
"fileName": "
|
|
939
|
-
"filePath": "/projects/validation/documentation/code-examples/
|
|
940
|
-
"rawContents": "<form novalidate>\n <div class=\"sky-form-group\">\n <sky-input-box labelText=\"
|
|
933
|
+
"fileName": "url-validation-demo.component.html",
|
|
934
|
+
"filePath": "/projects/validation/documentation/code-examples/url-validation/directive/url-validation-demo.component.html",
|
|
935
|
+
"rawContents": "<form novalidate>\n <div class=\"sky-form-group\">\n <sky-input-box labelText=\"URL\">\n <input\n name=\"url\"\n [skyUrlValidation]=\"skyUrlValidationOptions\"\n [(ngModel)]=\"demoModel.url\"\n />\n </sky-input-box>\n </div>\n</form>\n"
|
|
941
936
|
},
|
|
942
937
|
{
|
|
943
|
-
"fileName": "
|
|
944
|
-
"filePath": "/projects/validation/documentation/code-examples/
|
|
945
|
-
"rawContents": "import {
|
|
938
|
+
"fileName": "url-validation-demo.module.ts",
|
|
939
|
+
"filePath": "/projects/validation/documentation/code-examples/url-validation/control-validator/url-validation-demo.module.ts",
|
|
940
|
+
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SkyInputBoxModule } from '@skyux/forms';\nimport { SkyStatusIndicatorModule } from '@skyux/indicators';\nimport { SkyUrlValidationModule } from '@skyux/validation';\n\nimport { UrlValidationDemoComponent } from './url-validation-demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n SkyInputBoxModule,\n SkyStatusIndicatorModule,\n SkyUrlValidationModule,\n ],\n exports: [UrlValidationDemoComponent],\n declarations: [UrlValidationDemoComponent],\n})\nexport class UrlValidationDemoModule {}\n"
|
|
946
941
|
},
|
|
947
942
|
{
|
|
948
|
-
"fileName": "
|
|
949
|
-
"filePath": "/projects/validation/documentation/code-examples/
|
|
950
|
-
"rawContents": "import {
|
|
943
|
+
"fileName": "url-validation-demo.component.ts",
|
|
944
|
+
"filePath": "/projects/validation/documentation/code-examples/url-validation/control-validator/url-validation-demo.component.ts",
|
|
945
|
+
"rawContents": "import { Component } from '@angular/core';\nimport {\n AbstractControl,\n UntypedFormBuilder,\n UntypedFormControl,\n UntypedFormGroup,\n Validators,\n} from '@angular/forms';\nimport { SkyValidators } from '@skyux/validation';\n\n@Component({\n selector: 'app-url-validation-demo',\n templateUrl: './url-validation-demo.component.html',\n})\nexport class UrlValidationDemoComponent {\n public get urlControl(): AbstractControl | null {\n return this.formGroup.get('url');\n }\n\n public formGroup: UntypedFormGroup;\n\n constructor(formBuilder: UntypedFormBuilder) {\n this.formGroup = formBuilder.group({\n url: new UntypedFormControl(undefined, [\n Validators.required,\n SkyValidators.url({\n rulesetVersion: 2,\n }),\n ]),\n });\n }\n}\n"
|
|
951
946
|
},
|
|
952
947
|
{
|
|
953
948
|
"fileName": "url-validation-demo.component.html",
|
|
@@ -955,29 +950,34 @@
|
|
|
955
950
|
"rawContents": "<form novalidate [formGroup]=\"formGroup\">\n <div class=\"sky-form-group\">\n <sky-input-box labelText=\"URL\">\n <input formControlName=\"url\" type=\"text\" />\n </sky-input-box>\n </div>\n</form>\n"
|
|
956
951
|
},
|
|
957
952
|
{
|
|
958
|
-
"fileName": "
|
|
959
|
-
"filePath": "/projects/validation/documentation/code-examples/
|
|
960
|
-
"rawContents": "import {
|
|
953
|
+
"fileName": "email-validation-demo.module.ts",
|
|
954
|
+
"filePath": "/projects/validation/documentation/code-examples/email-validation/directive/email-validation-demo.module.ts",
|
|
955
|
+
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SkyInputBoxModule } from '@skyux/forms';\nimport { SkyStatusIndicatorModule } from '@skyux/indicators';\nimport { SkyEmailValidationModule } from '@skyux/validation';\n\nimport { EmailValidationDemoComponent } from './email-validation-demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n SkyEmailValidationModule,\n SkyInputBoxModule,\n SkyStatusIndicatorModule,\n ],\n exports: [EmailValidationDemoComponent],\n declarations: [EmailValidationDemoComponent],\n})\nexport class EmailValidationDemoModule {}\n"
|
|
961
956
|
},
|
|
962
957
|
{
|
|
963
|
-
"fileName": "
|
|
964
|
-
"filePath": "/projects/validation/documentation/code-examples/
|
|
965
|
-
"rawContents": "import {
|
|
958
|
+
"fileName": "email-validation-demo.component.ts",
|
|
959
|
+
"filePath": "/projects/validation/documentation/code-examples/email-validation/directive/email-validation-demo.component.ts",
|
|
960
|
+
"rawContents": "import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-email-validation-demo',\n templateUrl: './email-validation-demo.component.html',\n})\nexport class EmailValidationDemoComponent {\n public demoModel: {\n emailAddress?: string;\n } = {};\n}\n"
|
|
966
961
|
},
|
|
967
962
|
{
|
|
968
|
-
"fileName": "
|
|
969
|
-
"filePath": "/projects/validation/documentation/code-examples/
|
|
970
|
-
"rawContents": "<form novalidate>\n <div class=\"sky-form-group\">\n <sky-input-box labelText=\"
|
|
963
|
+
"fileName": "email-validation-demo.component.html",
|
|
964
|
+
"filePath": "/projects/validation/documentation/code-examples/email-validation/directive/email-validation-demo.component.html",
|
|
965
|
+
"rawContents": "<form novalidate>\n <div class=\"sky-form-group\">\n <sky-input-box labelText=\"Email address\">\n <input\n class=\"sky-form-control\"\n name=\"emailAddress\"\n skyEmailValidation\n type=\"text\"\n [(ngModel)]=\"demoModel.emailAddress\"\n />\n </sky-input-box>\n </div>\n</form>\n"
|
|
971
966
|
},
|
|
972
967
|
{
|
|
973
|
-
"fileName": "
|
|
974
|
-
"filePath": "/projects/validation/documentation/code-examples/
|
|
975
|
-
"rawContents": "import {
|
|
968
|
+
"fileName": "email-validation-demo.module.ts",
|
|
969
|
+
"filePath": "/projects/validation/documentation/code-examples/email-validation/control-validator/email-validation-demo.module.ts",
|
|
970
|
+
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SkyInputBoxModule } from '@skyux/forms';\nimport { SkyStatusIndicatorModule } from '@skyux/indicators';\nimport { SkyEmailValidationModule } from '@skyux/validation';\n\nimport { EmailValidationDemoComponent } from './email-validation-demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n SkyEmailValidationModule,\n SkyInputBoxModule,\n SkyStatusIndicatorModule,\n ],\n exports: [EmailValidationDemoComponent],\n declarations: [EmailValidationDemoComponent],\n})\nexport class EmailValidationDemoModule {}\n"
|
|
976
971
|
},
|
|
977
972
|
{
|
|
978
|
-
"fileName": "
|
|
979
|
-
"filePath": "/projects/validation/documentation/code-examples/
|
|
980
|
-
"rawContents": "import {
|
|
973
|
+
"fileName": "email-validation-demo.component.ts",
|
|
974
|
+
"filePath": "/projects/validation/documentation/code-examples/email-validation/control-validator/email-validation-demo.component.ts",
|
|
975
|
+
"rawContents": "import { Component } from '@angular/core';\nimport {\n AbstractControl,\n UntypedFormBuilder,\n UntypedFormControl,\n UntypedFormGroup,\n Validators,\n} from '@angular/forms';\nimport { SkyValidators } from '@skyux/validation';\n\n@Component({\n selector: 'app-email-validation-demo',\n templateUrl: './email-validation-demo.component.html',\n})\nexport class EmailValidationDemoComponent {\n public get emailControl(): AbstractControl | null {\n return this.formGroup.get('email');\n }\n\n public formGroup: UntypedFormGroup;\n\n constructor(formBuilder: UntypedFormBuilder) {\n this.formGroup = formBuilder.group({\n email: new UntypedFormControl(undefined, [\n Validators.required,\n SkyValidators.email,\n ]),\n });\n }\n}\n"
|
|
976
|
+
},
|
|
977
|
+
{
|
|
978
|
+
"fileName": "email-validation-demo.component.html",
|
|
979
|
+
"filePath": "/projects/validation/documentation/code-examples/email-validation/control-validator/email-validation-demo.component.html",
|
|
980
|
+
"rawContents": "<form novalidate [formGroup]=\"formGroup\">\n <div class=\"sky-form-group\">\n <sky-input-box labelText=\"Email address\">\n <input formControlName=\"email\" type=\"text\" />\n </sky-input-box>\n </div>\n</form>\n"
|
|
981
981
|
}
|
|
982
982
|
]
|
|
983
983
|
}
|
|
@@ -25,14 +25,14 @@ export class SkyEmailValidationDirective {
|
|
|
25
25
|
emailIsValid(email) {
|
|
26
26
|
return SkyValidation.isEmail(email);
|
|
27
27
|
}
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyEmailValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
29
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: SkyEmailValidationDirective, selector: "[skyEmailValidation]", providers: [SKY_EMAIL_VALIDATION_VALIDATOR], ngImport: i0 }); }
|
|
28
30
|
}
|
|
29
|
-
|
|
30
|
-
SkyEmailValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SkyEmailValidationDirective, selector: "[skyEmailValidation]", providers: [SKY_EMAIL_VALIDATION_VALIDATOR], ngImport: i0 });
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyEmailValidationDirective, decorators: [{
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyEmailValidationDirective, decorators: [{
|
|
32
32
|
type: Directive,
|
|
33
33
|
args: [{
|
|
34
34
|
selector: '[skyEmailValidation]',
|
|
35
35
|
providers: [SKY_EMAIL_VALIDATION_VALIDATOR],
|
|
36
36
|
}]
|
|
37
37
|
}] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtdmFsaWRhdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdmFsaWRhdGlvbi9zcmMvbGliL21vZHVsZXMvZW1haWwtdmFsaWRhdGlvbi9lbWFpbC12YWxpZGF0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBRUwsYUFBYSxHQUdkLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUV6RCxNQUFNLDhCQUE4QixHQUFHO0lBQ3JDLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUM7SUFDMUQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUY7O0dBRUc7QUFLSCxNQUFNLE9BQU8sMkJBQTJCO0lBQy9CLFFBQVEsQ0FBQyxPQUF3QjtRQUN0QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBRTVCLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN0QyxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsT0FBTztZQUNMLFFBQVEsRUFBRTtnQkFDUixPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUs7YUFDdkI7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFhO1FBQy9CLE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDOzhHQWpCVSwyQkFBMkI7a0dBQTNCLDJCQUEyQiwrQ0FGM0IsQ0FBQyw4QkFBOEIsQ0FBQzs7MkZBRWhDLDJCQUEyQjtrQkFKdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxTQUFTLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztpQkFDNUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgTkdfVkFMSURBVE9SUyxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9yLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFNreVZhbGlkYXRpb24gfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24nO1xuXG5jb25zdCBTS1lfRU1BSUxfVkFMSURBVElPTl9WQUxJREFUT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNreUVtYWlsVmFsaWRhdGlvbkRpcmVjdGl2ZSksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuLyoqXG4gKiBBZGRzIGVtYWlsIGFkZHJlc3MgdmFsaWRhdGlvbiB0byBhbiBpbnB1dCBlbGVtZW50LiBUaGUgZGlyZWN0aXZlIHVzZXMgYE5nTW9kZWxgIHRvIGJpbmQgZGF0YS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreUVtYWlsVmFsaWRhdGlvbl0nLFxuICBwcm92aWRlcnM6IFtTS1lfRU1BSUxfVkFMSURBVElPTl9WQUxJREFUT1JdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lFbWFpbFZhbGlkYXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBWYWxpZGF0b3Ige1xuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcblxuICAgIGlmICghdmFsdWUgfHwgdGhpcy5lbWFpbElzVmFsaWQodmFsdWUpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgc2t5RW1haWw6IHtcbiAgICAgICAgaW52YWxpZDogY29udHJvbC52YWx1ZSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBlbWFpbElzVmFsaWQoZW1haWw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBTa3lWYWxpZGF0aW9uLmlzRW1haWwoZW1haWwpO1xuICB9XG59XG4iXX0=
|
|
@@ -3,11 +3,11 @@ import { FormsModule } from '@angular/forms';
|
|
|
3
3
|
import { SkyEmailValidationDirective } from './email-validation.directive';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class SkyEmailValidationModule {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyEmailValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyEmailValidationModule, declarations: [SkyEmailValidationDirective], imports: [FormsModule], exports: [SkyEmailValidationDirective] }); }
|
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyEmailValidationModule, imports: [FormsModule] }); }
|
|
6
9
|
}
|
|
7
|
-
|
|
8
|
-
SkyEmailValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyEmailValidationModule, declarations: [SkyEmailValidationDirective], imports: [FormsModule], exports: [SkyEmailValidationDirective] });
|
|
9
|
-
SkyEmailValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyEmailValidationModule, imports: [FormsModule] });
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyEmailValidationModule, decorators: [{
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyEmailValidationModule, decorators: [{
|
|
11
11
|
type: NgModule,
|
|
12
12
|
args: [{
|
|
13
13
|
declarations: [SkyEmailValidationDirective],
|
|
@@ -15,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
15
15
|
exports: [SkyEmailValidationDirective],
|
|
16
16
|
}]
|
|
17
17
|
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtdmFsaWRhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdmFsaWRhdGlvbi9zcmMvbGliL21vZHVsZXMvZW1haWwtdmFsaWRhdGlvbi9lbWFpbC12YWxpZGF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFPM0UsTUFBTSxPQUFPLHdCQUF3Qjs4R0FBeEIsd0JBQXdCOytHQUF4Qix3QkFBd0IsaUJBSnBCLDJCQUEyQixhQUNoQyxXQUFXLGFBQ1gsMkJBQTJCOytHQUUxQix3QkFBd0IsWUFIekIsV0FBVzs7MkZBR1Ysd0JBQXdCO2tCQUxwQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLDJCQUEyQixDQUFDO29CQUMzQyxPQUFPLEVBQUUsQ0FBQyxXQUFXLENBQUM7b0JBQ3RCLE9BQU8sRUFBRSxDQUFDLDJCQUEyQixDQUFDO2lCQUN2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgU2t5RW1haWxWYWxpZGF0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9lbWFpbC12YWxpZGF0aW9uLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1NreUVtYWlsVmFsaWRhdGlvbkRpcmVjdGl2ZV0sXG4gIGltcG9ydHM6IFtGb3Jtc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtTa3lFbWFpbFZhbGlkYXRpb25EaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lFbWFpbFZhbGlkYXRpb25Nb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Directive, Input, 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
|
+
/**
|
|
12
|
+
* Adds URL validation to an input element. The directive uses `NgModel` to bind data.
|
|
13
|
+
*/
|
|
14
|
+
export class SkyUrlValidationDirective {
|
|
15
|
+
/**
|
|
16
|
+
* Configuration options for the URL validation component.
|
|
17
|
+
*/
|
|
18
|
+
set skyUrlValidation(value) {
|
|
19
|
+
this.#_skyUrlValidationOptions = value;
|
|
20
|
+
this.#validatorChange();
|
|
21
|
+
}
|
|
22
|
+
#_skyUrlValidationOptions;
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
24
|
+
#validatorChange = () => { };
|
|
25
|
+
validate(control) {
|
|
26
|
+
const value = control.value;
|
|
27
|
+
if (!value) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
return SkyValidation.isUrl(value, this.#_skyUrlValidationOptions)
|
|
31
|
+
? null
|
|
32
|
+
: { skyUrl: { invalid: value } };
|
|
33
|
+
}
|
|
34
|
+
registerOnValidatorChange(fn) {
|
|
35
|
+
this.#validatorChange = fn;
|
|
36
|
+
}
|
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyUrlValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
38
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: SkyUrlValidationDirective, selector: "[skyUrlValidation]", inputs: { skyUrlValidation: "skyUrlValidation" }, providers: [SKY_URL_VALIDATION_VALIDATOR], ngImport: i0 }); }
|
|
39
|
+
}
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyUrlValidationDirective, decorators: [{
|
|
41
|
+
type: Directive,
|
|
42
|
+
args: [{
|
|
43
|
+
selector: '[skyUrlValidation]',
|
|
44
|
+
providers: [SKY_URL_VALIDATION_VALIDATOR],
|
|
45
|
+
}]
|
|
46
|
+
}], propDecorators: { skyUrlValidation: [{
|
|
47
|
+
type: Input
|
|
48
|
+
}] } });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLXZhbGlkYXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3ZhbGlkYXRpb24vc3JjL2xpYi9tb2R1bGVzL3VybC12YWxpZGF0aW9uL3VybC12YWxpZGF0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUVMLGFBQWEsR0FHZCxNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFJekQsc0RBQXNEO0FBQ3RELE1BQU0sNEJBQTRCLEdBQUc7SUFDbkMsT0FBTyxFQUFFLGFBQWE7SUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztJQUN4RCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFFRjs7R0FFRztBQUtILE1BQU0sT0FBTyx5QkFBeUI7SUFDcEM7O09BRUc7SUFDSCxJQUNXLGdCQUFnQixDQUFDLEtBQTBDO1FBQ3BFLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxLQUFLLENBQUM7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELHlCQUF5QixDQUFzQztJQUUvRCxnRUFBZ0U7SUFDaEUsZ0JBQWdCLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBRXJCLFFBQVEsQ0FBQyxPQUF3QjtRQUN0QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBRTVCLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsT0FBTyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMseUJBQXlCLENBQUM7WUFDL0QsQ0FBQyxDQUFDLElBQUk7WUFDTixDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU0seUJBQXlCLENBQUMsRUFBYztRQUM3QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBQzdCLENBQUM7OEdBN0JVLHlCQUF5QjtrR0FBekIseUJBQXlCLCtGQUZ6QixDQUFDLDRCQUE0QixDQUFDOzsyRkFFOUIseUJBQXlCO2tCQUpyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFNBQVMsRUFBRSxDQUFDLDRCQUE0QixDQUFDO2lCQUMxQzs4QkFNWSxnQkFBZ0I7c0JBRDFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBTa3lWYWxpZGF0aW9uIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uJztcblxuaW1wb3J0IHsgU2t5VXJsVmFsaWRhdGlvbk9wdGlvbnMgfSBmcm9tICcuL3VybC12YWxpZGF0aW9uLW9wdGlvbnMnO1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZTpuby1mb3J3YXJkLXJlZiBuby11c2UtYmVmb3JlLWRlY2xhcmVcbmNvbnN0IFNLWV9VUkxfVkFMSURBVElPTl9WQUxJREFUT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNreVVybFZhbGlkYXRpb25EaXJlY3RpdmUpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbi8qKlxuICogQWRkcyBVUkwgdmFsaWRhdGlvbiB0byBhbiBpbnB1dCBlbGVtZW50LiBUaGUgZGlyZWN0aXZlIHVzZXMgYE5nTW9kZWxgIHRvIGJpbmQgZGF0YS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreVVybFZhbGlkYXRpb25dJyxcbiAgcHJvdmlkZXJzOiBbU0tZX1VSTF9WQUxJREFUSU9OX1ZBTElEQVRPUl0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVVybFZhbGlkYXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBWYWxpZGF0b3Ige1xuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgVVJMIHZhbGlkYXRpb24gY29tcG9uZW50LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBza3lVcmxWYWxpZGF0aW9uKHZhbHVlOiBTa3lVcmxWYWxpZGF0aW9uT3B0aW9ucyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19za3lVcmxWYWxpZGF0aW9uT3B0aW9ucyA9IHZhbHVlO1xuICAgIHRoaXMuI3ZhbGlkYXRvckNoYW5nZSgpO1xuICB9XG5cbiAgI19za3lVcmxWYWxpZGF0aW9uT3B0aW9uczogU2t5VXJsVmFsaWRhdGlvbk9wdGlvbnMgfCB1bmRlZmluZWQ7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAjdmFsaWRhdG9yQ2hhbmdlID0gKCkgPT4ge307XG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7XG5cbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gU2t5VmFsaWRhdGlvbi5pc1VybCh2YWx1ZSwgdGhpcy4jX3NreVVybFZhbGlkYXRpb25PcHRpb25zKVxuICAgICAgPyBudWxsXG4gICAgICA6IHsgc2t5VXJsOiB7IGludmFsaWQ6IHZhbHVlIH0gfTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy4jdmFsaWRhdG9yQ2hhbmdlID0gZm47XG4gIH1cbn1cbiJdfQ==
|
|
@@ -3,11 +3,11 @@ import { FormsModule } from '@angular/forms';
|
|
|
3
3
|
import { SkyUrlValidationDirective } from './url-validation.directive';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class SkyUrlValidationModule {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyUrlValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyUrlValidationModule, declarations: [SkyUrlValidationDirective], imports: [FormsModule], exports: [SkyUrlValidationDirective] }); }
|
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyUrlValidationModule, imports: [FormsModule] }); }
|
|
6
9
|
}
|
|
7
|
-
|
|
8
|
-
SkyUrlValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyUrlValidationModule, declarations: [SkyUrlValidationDirective], imports: [FormsModule], exports: [SkyUrlValidationDirective] });
|
|
9
|
-
SkyUrlValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyUrlValidationModule, imports: [FormsModule] });
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyUrlValidationModule, decorators: [{
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyUrlValidationModule, decorators: [{
|
|
11
11
|
type: NgModule,
|
|
12
12
|
args: [{
|
|
13
13
|
declarations: [SkyUrlValidationDirective],
|
|
@@ -15,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
15
15
|
exports: [SkyUrlValidationDirective],
|
|
16
16
|
}]
|
|
17
17
|
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLXZhbGlkYXRpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3ZhbGlkYXRpb24vc3JjL2xpYi9tb2R1bGVzL3VybC12YWxpZGF0aW9uL3VybC12YWxpZGF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFPdkUsTUFBTSxPQUFPLHNCQUFzQjs4R0FBdEIsc0JBQXNCOytHQUF0QixzQkFBc0IsaUJBSmxCLHlCQUF5QixhQUM5QixXQUFXLGFBQ1gseUJBQXlCOytHQUV4QixzQkFBc0IsWUFIdkIsV0FBVzs7MkZBR1Ysc0JBQXNCO2tCQUxsQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHlCQUF5QixDQUFDO29CQUN6QyxPQUFPLEVBQUUsQ0FBQyxXQUFXLENBQUM7b0JBQ3RCLE9BQU8sRUFBRSxDQUFDLHlCQUF5QixDQUFDO2lCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgU2t5VXJsVmFsaWRhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vdXJsLXZhbGlkYXRpb24uZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2t5VXJsVmFsaWRhdGlvbkRpcmVjdGl2ZV0sXG4gIGltcG9ydHM6IFtGb3Jtc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtTa3lVcmxWYWxpZGF0aW9uRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VXJsVmFsaWRhdGlvbk1vZHVsZSB7fVxuIl19
|
|
@@ -2,7 +2,6 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { forwardRef, Directive, NgModule, Input } from '@angular/core';
|
|
3
3
|
import { NG_VALIDATORS, FormsModule } from '@angular/forms';
|
|
4
4
|
import isURL from 'validator/es/lib/isURL';
|
|
5
|
-
import { __classPrivateFieldSet, __classPrivateFieldGet } from 'tslib';
|
|
6
5
|
|
|
7
6
|
class SkyValidation {
|
|
8
7
|
static isEmail(emailAddress) {
|
|
@@ -55,10 +54,10 @@ class SkyEmailValidationDirective {
|
|
|
55
54
|
emailIsValid(email) {
|
|
56
55
|
return SkyValidation.isEmail(email);
|
|
57
56
|
}
|
|
57
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyEmailValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
58
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: SkyEmailValidationDirective, selector: "[skyEmailValidation]", providers: [SKY_EMAIL_VALIDATION_VALIDATOR], ngImport: i0 }); }
|
|
58
59
|
}
|
|
59
|
-
|
|
60
|
-
SkyEmailValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SkyEmailValidationDirective, selector: "[skyEmailValidation]", providers: [SKY_EMAIL_VALIDATION_VALIDATOR], ngImport: i0 });
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyEmailValidationDirective, decorators: [{
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyEmailValidationDirective, decorators: [{
|
|
62
61
|
type: Directive,
|
|
63
62
|
args: [{
|
|
64
63
|
selector: '[skyEmailValidation]',
|
|
@@ -67,11 +66,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
67
66
|
}] });
|
|
68
67
|
|
|
69
68
|
class SkyEmailValidationModule {
|
|
69
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyEmailValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
70
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyEmailValidationModule, declarations: [SkyEmailValidationDirective], imports: [FormsModule], exports: [SkyEmailValidationDirective] }); }
|
|
71
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyEmailValidationModule, imports: [FormsModule] }); }
|
|
70
72
|
}
|
|
71
|
-
|
|
72
|
-
SkyEmailValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyEmailValidationModule, declarations: [SkyEmailValidationDirective], imports: [FormsModule], exports: [SkyEmailValidationDirective] });
|
|
73
|
-
SkyEmailValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyEmailValidationModule, imports: [FormsModule] });
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyEmailValidationModule, decorators: [{
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyEmailValidationModule, decorators: [{
|
|
75
74
|
type: NgModule,
|
|
76
75
|
args: [{
|
|
77
76
|
declarations: [SkyEmailValidationDirective],
|
|
@@ -80,7 +79,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
80
79
|
}]
|
|
81
80
|
}] });
|
|
82
81
|
|
|
83
|
-
var _SkyUrlValidationDirective__skyUrlValidationOptions, _SkyUrlValidationDirective_validatorChange;
|
|
84
82
|
// tslint:disable:no-forward-ref no-use-before-declare
|
|
85
83
|
const SKY_URL_VALIDATION_VALIDATOR = {
|
|
86
84
|
provide: NG_VALIDATORS,
|
|
@@ -91,35 +89,32 @@ const SKY_URL_VALIDATION_VALIDATOR = {
|
|
|
91
89
|
* Adds URL validation to an input element. The directive uses `NgModel` to bind data.
|
|
92
90
|
*/
|
|
93
91
|
class SkyUrlValidationDirective {
|
|
94
|
-
constructor() {
|
|
95
|
-
_SkyUrlValidationDirective__skyUrlValidationOptions.set(this, void 0);
|
|
96
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
97
|
-
_SkyUrlValidationDirective_validatorChange.set(this, () => { });
|
|
98
|
-
}
|
|
99
92
|
/**
|
|
100
93
|
* Configuration options for the URL validation component.
|
|
101
94
|
*/
|
|
102
95
|
set skyUrlValidation(value) {
|
|
103
|
-
|
|
104
|
-
|
|
96
|
+
this.#_skyUrlValidationOptions = value;
|
|
97
|
+
this.#validatorChange();
|
|
105
98
|
}
|
|
99
|
+
#_skyUrlValidationOptions;
|
|
100
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
101
|
+
#validatorChange = () => { };
|
|
106
102
|
validate(control) {
|
|
107
103
|
const value = control.value;
|
|
108
104
|
if (!value) {
|
|
109
105
|
return null;
|
|
110
106
|
}
|
|
111
|
-
return SkyValidation.isUrl(value,
|
|
107
|
+
return SkyValidation.isUrl(value, this.#_skyUrlValidationOptions)
|
|
112
108
|
? null
|
|
113
109
|
: { skyUrl: { invalid: value } };
|
|
114
110
|
}
|
|
115
111
|
registerOnValidatorChange(fn) {
|
|
116
|
-
|
|
112
|
+
this.#validatorChange = fn;
|
|
117
113
|
}
|
|
114
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyUrlValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
115
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: SkyUrlValidationDirective, selector: "[skyUrlValidation]", inputs: { skyUrlValidation: "skyUrlValidation" }, providers: [SKY_URL_VALIDATION_VALIDATOR], ngImport: i0 }); }
|
|
118
116
|
}
|
|
119
|
-
|
|
120
|
-
SkyUrlValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyUrlValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
121
|
-
SkyUrlValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SkyUrlValidationDirective, selector: "[skyUrlValidation]", inputs: { skyUrlValidation: "skyUrlValidation" }, providers: [SKY_URL_VALIDATION_VALIDATOR], ngImport: i0 });
|
|
122
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyUrlValidationDirective, decorators: [{
|
|
117
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyUrlValidationDirective, decorators: [{
|
|
123
118
|
type: Directive,
|
|
124
119
|
args: [{
|
|
125
120
|
selector: '[skyUrlValidation]',
|
|
@@ -130,11 +125,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
130
125
|
}] } });
|
|
131
126
|
|
|
132
127
|
class SkyUrlValidationModule {
|
|
128
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyUrlValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
129
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyUrlValidationModule, declarations: [SkyUrlValidationDirective], imports: [FormsModule], exports: [SkyUrlValidationDirective] }); }
|
|
130
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyUrlValidationModule, imports: [FormsModule] }); }
|
|
133
131
|
}
|
|
134
|
-
|
|
135
|
-
SkyUrlValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyUrlValidationModule, declarations: [SkyUrlValidationDirective], imports: [FormsModule], exports: [SkyUrlValidationDirective] });
|
|
136
|
-
SkyUrlValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyUrlValidationModule, imports: [FormsModule] });
|
|
137
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyUrlValidationModule, decorators: [{
|
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyUrlValidationModule, decorators: [{
|
|
138
133
|
type: NgModule,
|
|
139
134
|
args: [{
|
|
140
135
|
declarations: [SkyUrlValidationDirective],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-validation.mjs","sources":["../../../../../libs/components/validation/src/lib/modules/validation/validation.ts","../../../../../libs/components/validation/src/lib/modules/email-validation/email-validation.directive.ts","../../../../../libs/components/validation/src/lib/modules/email-validation/email-validation.module.ts","../../../../../libs/components/validation/src/lib/modules/url-validation/url-validation.directive.ts","../../../../../libs/components/validation/src/lib/modules/url-validation/url-validation.module.ts","../../../../../libs/components/validation/src/lib/modules/validators/validators.ts","../../../../../libs/components/validation/src/skyux-validation.ts"],"sourcesContent":["import isURL from 'validator/es/lib/isURL';\n\nimport { SkyUrlValidationOptions } from '../url-validation/url-validation-options';\n\nexport abstract class SkyValidation {\n public static isEmail(emailAddress: string): boolean {\n // The regex was obtained from http://emailregex.com/\n // which claims to correctly handle ~99% of all email addresses.\n const regex =\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return regex.test(emailAddress);\n }\n\n public static isUrl(\n value: unknown,\n options?: SkyUrlValidationOptions\n ): boolean {\n if (typeof value !== 'string') {\n return false;\n }\n\n const url: string = value;\n\n const regex = /^((http|https):\\/\\/)?([\\w-]+\\.)+[\\w-]+/i;\n if (options) {\n switch (options.rulesetVersion) {\n case 1:\n return regex.test(url);\n case 2:\n // we are using the `validator` package's default options\n return isURL(url);\n }\n } else {\n return regex.test(url);\n }\n }\n}\n","import { Directive, forwardRef } from '@angular/core';\nimport {\n AbstractControl,\n NG_VALIDATORS,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\n\nimport { SkyValidation } from '../validation/validation';\n\nconst SKY_EMAIL_VALIDATION_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyEmailValidationDirective),\n multi: true,\n};\n\n/**\n * Adds email address validation to an input element. The directive uses `NgModel` to bind data.\n */\n@Directive({\n selector: '[skyEmailValidation]',\n providers: [SKY_EMAIL_VALIDATION_VALIDATOR],\n})\nexport class SkyEmailValidationDirective implements Validator {\n public validate(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value || this.emailIsValid(value)) {\n return null;\n }\n\n return {\n skyEmail: {\n invalid: control.value,\n },\n };\n }\n\n public emailIsValid(email: string): boolean {\n return SkyValidation.isEmail(email);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { SkyEmailValidationDirective } from './email-validation.directive';\n\n@NgModule({\n declarations: [SkyEmailValidationDirective],\n imports: [FormsModule],\n exports: [SkyEmailValidationDirective],\n})\nexport class SkyEmailValidationModule {}\n","import { Directive, Input, forwardRef } from '@angular/core';\nimport {\n AbstractControl,\n NG_VALIDATORS,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\n\nimport { SkyValidation } from '../validation/validation';\n\nimport { SkyUrlValidationOptions } from './url-validation-options';\n\n// tslint:disable:no-forward-ref no-use-before-declare\nconst SKY_URL_VALIDATION_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyUrlValidationDirective),\n multi: true,\n};\n\n/**\n * Adds URL validation to an input element. The directive uses `NgModel` to bind data.\n */\n@Directive({\n selector: '[skyUrlValidation]',\n providers: [SKY_URL_VALIDATION_VALIDATOR],\n})\nexport class SkyUrlValidationDirective implements Validator {\n /**\n * Configuration options for the URL validation component.\n */\n @Input()\n public set skyUrlValidation(value: SkyUrlValidationOptions | undefined) {\n this.#_skyUrlValidationOptions = value;\n this.#validatorChange();\n }\n\n #_skyUrlValidationOptions: SkyUrlValidationOptions | undefined;\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n #validatorChange = () => {};\n\n public validate(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value) {\n return null;\n }\n\n return SkyValidation.isUrl(value, this.#_skyUrlValidationOptions)\n ? null\n : { skyUrl: { invalid: value } };\n }\n\n public registerOnValidatorChange(fn: () => void): void {\n this.#validatorChange = fn;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { SkyUrlValidationDirective } from './url-validation.directive';\n\n@NgModule({\n declarations: [SkyUrlValidationDirective],\n imports: [FormsModule],\n exports: [SkyUrlValidationDirective],\n})\nexport class SkyUrlValidationModule {}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\nimport { SkyUrlValidationOptions } from '../url-validation/url-validation-options';\nimport { SkyValidation } from '../validation/validation';\n\n// Need to add the following to classes which contain static methods.\n// See: https://github.com/ng-packagr/ng-packagr/issues/641\n// @dynamic\nexport class SkyValidators {\n /**\n * Validates email addresses in reactive forms. Add this validator directly to the form control\n * model in the component class. If users enter values that are not valid email addresses, the\n * validator throws an error. Since this is a sync validator, it returns a set of validation\n * errors or `null` immediately when users enter values.\n */\n public static email(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value) {\n return null;\n }\n\n return SkyValidation.isEmail(value)\n ? null\n : { skyEmail: { invalid: value } };\n }\n\n /**\n * Validates URLs in reactive forms. Add this validator directly to the form control model in\n * the component class. If users enter values that are not valid URLs, the validator throws an\n * error. Since this is a sync validator, it returns a set of validation errors or `null`\n * immediately when users enter values.\n */\n public static url(abstractControl: AbstractControl): ValidationErrors | null;\n\n /**\n * Validates URLs in reactive forms. Add this validator with ruleset parameters directly to\n * the form control model in the component class. If users enter values that are not valid\n * URLs, the validator throws an error. Since this is a sync validator, it returns a set of\n * validation errors or `null` immediately when users enter values.\n */\n public static url(\n skyUrlValidationOptions: SkyUrlValidationOptions\n ): ValidatorFn;\n\n public static url(\n value: AbstractControl | SkyUrlValidationOptions\n ): ValidatorFn | ValidationErrors | null {\n const typeTester = value as SkyUrlValidationOptions;\n if (typeTester.rulesetVersion === undefined) {\n // there are no SkyUrlValidationOptions passed in, so return ValidationErrors | null\n const abstractControl = value as AbstractControl;\n const abstractControlValue = abstractControl.value;\n if (!abstractControlValue) {\n return null;\n }\n return SkyValidation.isUrl(abstractControlValue)\n ? null\n : { skyUrl: { invalid: abstractControlValue } };\n } else {\n // there are SkyUrlValidationOptions passed in, so return ValidatorFn\n const skyUrlValidationOptions = value as SkyUrlValidationOptions;\n return (abstractControl: AbstractControl): ValidationErrors | null => {\n const abstractControlValue = abstractControl.value;\n if (!abstractControlValue) {\n return null;\n }\n\n return SkyValidation.isUrl(\n abstractControl.value,\n skyUrlValidationOptions\n )\n ? null\n : { skyUrl: { invalid: abstractControl.value } };\n };\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skyux-validation.mjs","sources":["../../../../../libs/components/validation/src/lib/modules/validation/validation.ts","../../../../../libs/components/validation/src/lib/modules/email-validation/email-validation.directive.ts","../../../../../libs/components/validation/src/lib/modules/email-validation/email-validation.module.ts","../../../../../libs/components/validation/src/lib/modules/url-validation/url-validation.directive.ts","../../../../../libs/components/validation/src/lib/modules/url-validation/url-validation.module.ts","../../../../../libs/components/validation/src/lib/modules/validators/validators.ts","../../../../../libs/components/validation/src/skyux-validation.ts"],"sourcesContent":["import isURL from 'validator/es/lib/isURL';\n\nimport { SkyUrlValidationOptions } from '../url-validation/url-validation-options';\n\nexport abstract class SkyValidation {\n public static isEmail(emailAddress: string): boolean {\n // The regex was obtained from http://emailregex.com/\n // which claims to correctly handle ~99% of all email addresses.\n const regex =\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return regex.test(emailAddress);\n }\n\n public static isUrl(\n value: unknown,\n options?: SkyUrlValidationOptions\n ): boolean {\n if (typeof value !== 'string') {\n return false;\n }\n\n const url: string = value;\n\n const regex = /^((http|https):\\/\\/)?([\\w-]+\\.)+[\\w-]+/i;\n if (options) {\n switch (options.rulesetVersion) {\n case 1:\n return regex.test(url);\n case 2:\n // we are using the `validator` package's default options\n return isURL(url);\n }\n } else {\n return regex.test(url);\n }\n }\n}\n","import { Directive, forwardRef } from '@angular/core';\nimport {\n AbstractControl,\n NG_VALIDATORS,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\n\nimport { SkyValidation } from '../validation/validation';\n\nconst SKY_EMAIL_VALIDATION_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyEmailValidationDirective),\n multi: true,\n};\n\n/**\n * Adds email address validation to an input element. The directive uses `NgModel` to bind data.\n */\n@Directive({\n selector: '[skyEmailValidation]',\n providers: [SKY_EMAIL_VALIDATION_VALIDATOR],\n})\nexport class SkyEmailValidationDirective implements Validator {\n public validate(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value || this.emailIsValid(value)) {\n return null;\n }\n\n return {\n skyEmail: {\n invalid: control.value,\n },\n };\n }\n\n public emailIsValid(email: string): boolean {\n return SkyValidation.isEmail(email);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { SkyEmailValidationDirective } from './email-validation.directive';\n\n@NgModule({\n declarations: [SkyEmailValidationDirective],\n imports: [FormsModule],\n exports: [SkyEmailValidationDirective],\n})\nexport class SkyEmailValidationModule {}\n","import { Directive, Input, forwardRef } from '@angular/core';\nimport {\n AbstractControl,\n NG_VALIDATORS,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\n\nimport { SkyValidation } from '../validation/validation';\n\nimport { SkyUrlValidationOptions } from './url-validation-options';\n\n// tslint:disable:no-forward-ref no-use-before-declare\nconst SKY_URL_VALIDATION_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyUrlValidationDirective),\n multi: true,\n};\n\n/**\n * Adds URL validation to an input element. The directive uses `NgModel` to bind data.\n */\n@Directive({\n selector: '[skyUrlValidation]',\n providers: [SKY_URL_VALIDATION_VALIDATOR],\n})\nexport class SkyUrlValidationDirective implements Validator {\n /**\n * Configuration options for the URL validation component.\n */\n @Input()\n public set skyUrlValidation(value: SkyUrlValidationOptions | undefined) {\n this.#_skyUrlValidationOptions = value;\n this.#validatorChange();\n }\n\n #_skyUrlValidationOptions: SkyUrlValidationOptions | undefined;\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n #validatorChange = () => {};\n\n public validate(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value) {\n return null;\n }\n\n return SkyValidation.isUrl(value, this.#_skyUrlValidationOptions)\n ? null\n : { skyUrl: { invalid: value } };\n }\n\n public registerOnValidatorChange(fn: () => void): void {\n this.#validatorChange = fn;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { SkyUrlValidationDirective } from './url-validation.directive';\n\n@NgModule({\n declarations: [SkyUrlValidationDirective],\n imports: [FormsModule],\n exports: [SkyUrlValidationDirective],\n})\nexport class SkyUrlValidationModule {}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\nimport { SkyUrlValidationOptions } from '../url-validation/url-validation-options';\nimport { SkyValidation } from '../validation/validation';\n\n// Need to add the following to classes which contain static methods.\n// See: https://github.com/ng-packagr/ng-packagr/issues/641\n// @dynamic\nexport class SkyValidators {\n /**\n * Validates email addresses in reactive forms. Add this validator directly to the form control\n * model in the component class. If users enter values that are not valid email addresses, the\n * validator throws an error. Since this is a sync validator, it returns a set of validation\n * errors or `null` immediately when users enter values.\n */\n public static email(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value) {\n return null;\n }\n\n return SkyValidation.isEmail(value)\n ? null\n : { skyEmail: { invalid: value } };\n }\n\n /**\n * Validates URLs in reactive forms. Add this validator directly to the form control model in\n * the component class. If users enter values that are not valid URLs, the validator throws an\n * error. Since this is a sync validator, it returns a set of validation errors or `null`\n * immediately when users enter values.\n */\n public static url(abstractControl: AbstractControl): ValidationErrors | null;\n\n /**\n * Validates URLs in reactive forms. Add this validator with ruleset parameters directly to\n * the form control model in the component class. If users enter values that are not valid\n * URLs, the validator throws an error. Since this is a sync validator, it returns a set of\n * validation errors or `null` immediately when users enter values.\n */\n public static url(\n skyUrlValidationOptions: SkyUrlValidationOptions\n ): ValidatorFn;\n\n public static url(\n value: AbstractControl | SkyUrlValidationOptions\n ): ValidatorFn | ValidationErrors | null {\n const typeTester = value as SkyUrlValidationOptions;\n if (typeTester.rulesetVersion === undefined) {\n // there are no SkyUrlValidationOptions passed in, so return ValidationErrors | null\n const abstractControl = value as AbstractControl;\n const abstractControlValue = abstractControl.value;\n if (!abstractControlValue) {\n return null;\n }\n return SkyValidation.isUrl(abstractControlValue)\n ? null\n : { skyUrl: { invalid: abstractControlValue } };\n } else {\n // there are SkyUrlValidationOptions passed in, so return ValidatorFn\n const skyUrlValidationOptions = value as SkyUrlValidationOptions;\n return (abstractControl: AbstractControl): ValidationErrors | null => {\n const abstractControlValue = abstractControl.value;\n if (!abstractControlValue) {\n return null;\n }\n\n return SkyValidation.isUrl(\n abstractControl.value,\n skyUrlValidationOptions\n )\n ? null\n : { skyUrl: { invalid: abstractControl.value } };\n };\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -13,5 +13,5 @@ export declare class SkyUrlValidationDirective implements Validator {
|
|
|
13
13
|
validate(control: AbstractControl): ValidationErrors | null;
|
|
14
14
|
registerOnValidatorChange(fn: () => void): void;
|
|
15
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<SkyUrlValidationDirective, never>;
|
|
16
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<SkyUrlValidationDirective, "[skyUrlValidation]", never, { "skyUrlValidation": "skyUrlValidation"; }, {}, never, never, false, never>;
|
|
16
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SkyUrlValidationDirective, "[skyUrlValidation]", never, { "skyUrlValidation": { "alias": "skyUrlValidation"; "required": false; }; }, {}, never, never, false, never>;
|
|
17
17
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyux/validation",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "9.0.0-alpha.1",
|
|
4
4
|
"author": "Blackbaud, Inc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"blackbaud",
|
|
@@ -21,30 +21,24 @@
|
|
|
21
21
|
},
|
|
22
22
|
".": {
|
|
23
23
|
"types": "./index.d.ts",
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"node": "./fesm2015/skyux-validation.mjs",
|
|
28
|
-
"default": "./fesm2020/skyux-validation.mjs"
|
|
24
|
+
"esm2022": "./esm2022/skyux-validation.mjs",
|
|
25
|
+
"esm": "./esm2022/skyux-validation.mjs",
|
|
26
|
+
"default": "./fesm2022/skyux-validation.mjs"
|
|
29
27
|
},
|
|
30
28
|
"./documentation.json": {
|
|
31
29
|
"default": "./documentation.json"
|
|
32
30
|
}
|
|
33
31
|
},
|
|
34
32
|
"peerDependencies": {
|
|
35
|
-
"@angular/common": "^
|
|
36
|
-
"@angular/core": "^
|
|
37
|
-
"@angular/forms": "^
|
|
33
|
+
"@angular/common": "^16.1.7",
|
|
34
|
+
"@angular/core": "^16.1.7",
|
|
35
|
+
"@angular/forms": "^16.1.7"
|
|
38
36
|
},
|
|
39
37
|
"dependencies": {
|
|
40
38
|
"tslib": "^2.5.0",
|
|
41
39
|
"validator": "13.9.0"
|
|
42
40
|
},
|
|
43
|
-
"module": "
|
|
44
|
-
"es2020": "fesm2020/skyux-validation.mjs",
|
|
45
|
-
"esm2020": "esm2020/skyux-validation.mjs",
|
|
46
|
-
"fesm2020": "fesm2020/skyux-validation.mjs",
|
|
47
|
-
"fesm2015": "fesm2015/skyux-validation.mjs",
|
|
41
|
+
"module": "fesm2022/skyux-validation.mjs",
|
|
48
42
|
"typings": "index.d.ts",
|
|
49
43
|
"sideEffects": false
|
|
50
44
|
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
var _SkyUrlValidationDirective__skyUrlValidationOptions, _SkyUrlValidationDirective_validatorChange;
|
|
2
|
-
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
-
import { Directive, Input, forwardRef } from '@angular/core';
|
|
4
|
-
import { NG_VALIDATORS, } from '@angular/forms';
|
|
5
|
-
import { SkyValidation } from '../validation/validation';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
// tslint:disable:no-forward-ref no-use-before-declare
|
|
8
|
-
const SKY_URL_VALIDATION_VALIDATOR = {
|
|
9
|
-
provide: NG_VALIDATORS,
|
|
10
|
-
useExisting: forwardRef(() => SkyUrlValidationDirective),
|
|
11
|
-
multi: true,
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* Adds URL validation to an input element. The directive uses `NgModel` to bind data.
|
|
15
|
-
*/
|
|
16
|
-
export class SkyUrlValidationDirective {
|
|
17
|
-
constructor() {
|
|
18
|
-
_SkyUrlValidationDirective__skyUrlValidationOptions.set(this, void 0);
|
|
19
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
20
|
-
_SkyUrlValidationDirective_validatorChange.set(this, () => { });
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Configuration options for the URL validation component.
|
|
24
|
-
*/
|
|
25
|
-
set skyUrlValidation(value) {
|
|
26
|
-
__classPrivateFieldSet(this, _SkyUrlValidationDirective__skyUrlValidationOptions, value, "f");
|
|
27
|
-
__classPrivateFieldGet(this, _SkyUrlValidationDirective_validatorChange, "f").call(this);
|
|
28
|
-
}
|
|
29
|
-
validate(control) {
|
|
30
|
-
const value = control.value;
|
|
31
|
-
if (!value) {
|
|
32
|
-
return null;
|
|
33
|
-
}
|
|
34
|
-
return SkyValidation.isUrl(value, __classPrivateFieldGet(this, _SkyUrlValidationDirective__skyUrlValidationOptions, "f"))
|
|
35
|
-
? null
|
|
36
|
-
: { skyUrl: { invalid: value } };
|
|
37
|
-
}
|
|
38
|
-
registerOnValidatorChange(fn) {
|
|
39
|
-
__classPrivateFieldSet(this, _SkyUrlValidationDirective_validatorChange, fn, "f");
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
_SkyUrlValidationDirective__skyUrlValidationOptions = new WeakMap(), _SkyUrlValidationDirective_validatorChange = new WeakMap();
|
|
43
|
-
SkyUrlValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyUrlValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
44
|
-
SkyUrlValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SkyUrlValidationDirective, selector: "[skyUrlValidation]", inputs: { skyUrlValidation: "skyUrlValidation" }, providers: [SKY_URL_VALIDATION_VALIDATOR], ngImport: i0 });
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyUrlValidationDirective, decorators: [{
|
|
46
|
-
type: Directive,
|
|
47
|
-
args: [{
|
|
48
|
-
selector: '[skyUrlValidation]',
|
|
49
|
-
providers: [SKY_URL_VALIDATION_VALIDATOR],
|
|
50
|
-
}]
|
|
51
|
-
}], propDecorators: { skyUrlValidation: [{
|
|
52
|
-
type: Input
|
|
53
|
-
}] } });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLXZhbGlkYXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3ZhbGlkYXRpb24vc3JjL2xpYi9tb2R1bGVzL3VybC12YWxpZGF0aW9uL3VybC12YWxpZGF0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBRUwsYUFBYSxHQUdkLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUl6RCxzREFBc0Q7QUFDdEQsTUFBTSw0QkFBNEIsR0FBRztJQUNuQyxPQUFPLEVBQUUsYUFBYTtJQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDO0lBQ3hELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUVGOztHQUVHO0FBS0gsTUFBTSxPQUFPLHlCQUF5QjtJQUp0QztRQWNFLHNFQUErRDtRQUUvRCxnRUFBZ0U7UUFDaEUscURBQW1CLEdBQUcsRUFBRSxHQUFFLENBQUMsRUFBQztLQWlCN0I7SUE3QkM7O09BRUc7SUFDSCxJQUNXLGdCQUFnQixDQUFDLEtBQTBDO1FBQ3BFLHVCQUFBLElBQUksdURBQTZCLEtBQUssTUFBQSxDQUFDO1FBQ3ZDLHVCQUFBLElBQUksa0RBQWlCLE1BQXJCLElBQUksQ0FBbUIsQ0FBQztJQUMxQixDQUFDO0lBT00sUUFBUSxDQUFDLE9BQXdCO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFFNUIsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLHVCQUFBLElBQUksMkRBQTBCLENBQUM7WUFDL0QsQ0FBQyxDQUFDLElBQUk7WUFDTixDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU0seUJBQXlCLENBQUMsRUFBYztRQUM3Qyx1QkFBQSxJQUFJLDhDQUFvQixFQUFFLE1BQUEsQ0FBQztJQUM3QixDQUFDOzs7c0hBN0JVLHlCQUF5QjswR0FBekIseUJBQXlCLCtGQUZ6QixDQUFDLDRCQUE0QixDQUFDOzJGQUU5Qix5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsU0FBUyxFQUFFLENBQUMsNEJBQTRCLENBQUM7aUJBQzFDOzhCQU1ZLGdCQUFnQjtzQkFEMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgTkdfVkFMSURBVE9SUyxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9yLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFNreVZhbGlkYXRpb24gfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24nO1xuXG5pbXBvcnQgeyBTa3lVcmxWYWxpZGF0aW9uT3B0aW9ucyB9IGZyb20gJy4vdXJsLXZhbGlkYXRpb24tb3B0aW9ucyc7XG5cbi8vIHRzbGludDpkaXNhYmxlOm5vLWZvcndhcmQtcmVmIG5vLXVzZS1iZWZvcmUtZGVjbGFyZVxuY29uc3QgU0tZX1VSTF9WQUxJREFUSU9OX1ZBTElEQVRPUiA9IHtcbiAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2t5VXJsVmFsaWRhdGlvbkRpcmVjdGl2ZSksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuLyoqXG4gKiBBZGRzIFVSTCB2YWxpZGF0aW9uIHRvIGFuIGlucHV0IGVsZW1lbnQuIFRoZSBkaXJlY3RpdmUgdXNlcyBgTmdNb2RlbGAgdG8gYmluZCBkYXRhLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2t5VXJsVmFsaWRhdGlvbl0nLFxuICBwcm92aWRlcnM6IFtTS1lfVVJMX1ZBTElEQVRJT05fVkFMSURBVE9SXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VXJsVmFsaWRhdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIFZhbGlkYXRvciB7XG4gIC8qKlxuICAgKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBVUkwgdmFsaWRhdGlvbiBjb21wb25lbnQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNreVVybFZhbGlkYXRpb24odmFsdWU6IFNreVVybFZhbGlkYXRpb25PcHRpb25zIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX3NreVVybFZhbGlkYXRpb25PcHRpb25zID0gdmFsdWU7XG4gICAgdGhpcy4jdmFsaWRhdG9yQ2hhbmdlKCk7XG4gIH1cblxuICAjX3NreVVybFZhbGlkYXRpb25PcHRpb25zOiBTa3lVcmxWYWxpZGF0aW9uT3B0aW9ucyB8IHVuZGVmaW5lZDtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICN2YWxpZGF0b3JDaGFuZ2UgPSAoKSA9PiB7fTtcblxuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBTa3lWYWxpZGF0aW9uLmlzVXJsKHZhbHVlLCB0aGlzLiNfc2t5VXJsVmFsaWRhdGlvbk9wdGlvbnMpXG4gICAgICA/IG51bGxcbiAgICAgIDogeyBza3lVcmw6IHsgaW52YWxpZDogdmFsdWUgfSB9O1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLiN2YWxpZGF0b3JDaGFuZ2UgPSBmbjtcbiAgfVxufVxuIl19
|
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { forwardRef, Directive, NgModule, Input } from '@angular/core';
|
|
3
|
-
import { NG_VALIDATORS, FormsModule } from '@angular/forms';
|
|
4
|
-
import isURL from 'validator/es/lib/isURL';
|
|
5
|
-
import { __classPrivateFieldSet, __classPrivateFieldGet } from 'tslib';
|
|
6
|
-
|
|
7
|
-
class SkyValidation {
|
|
8
|
-
static isEmail(emailAddress) {
|
|
9
|
-
// The regex was obtained from http://emailregex.com/
|
|
10
|
-
// which claims to correctly handle ~99% of all email addresses.
|
|
11
|
-
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,}))$/;
|
|
12
|
-
return regex.test(emailAddress);
|
|
13
|
-
}
|
|
14
|
-
static isUrl(value, options) {
|
|
15
|
-
if (typeof value !== 'string') {
|
|
16
|
-
return false;
|
|
17
|
-
}
|
|
18
|
-
const url = value;
|
|
19
|
-
const regex = /^((http|https):\/\/)?([\w-]+\.)+[\w-]+/i;
|
|
20
|
-
if (options) {
|
|
21
|
-
switch (options.rulesetVersion) {
|
|
22
|
-
case 1:
|
|
23
|
-
return regex.test(url);
|
|
24
|
-
case 2:
|
|
25
|
-
// we are using the `validator` package's default options
|
|
26
|
-
return isURL(url);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
return regex.test(url);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
const SKY_EMAIL_VALIDATION_VALIDATOR = {
|
|
36
|
-
provide: NG_VALIDATORS,
|
|
37
|
-
useExisting: forwardRef(() => SkyEmailValidationDirective),
|
|
38
|
-
multi: true,
|
|
39
|
-
};
|
|
40
|
-
/**
|
|
41
|
-
* Adds email address validation to an input element. The directive uses `NgModel` to bind data.
|
|
42
|
-
*/
|
|
43
|
-
class SkyEmailValidationDirective {
|
|
44
|
-
validate(control) {
|
|
45
|
-
const value = control.value;
|
|
46
|
-
if (!value || this.emailIsValid(value)) {
|
|
47
|
-
return null;
|
|
48
|
-
}
|
|
49
|
-
return {
|
|
50
|
-
skyEmail: {
|
|
51
|
-
invalid: control.value,
|
|
52
|
-
},
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
emailIsValid(email) {
|
|
56
|
-
return SkyValidation.isEmail(email);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
SkyEmailValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyEmailValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
60
|
-
SkyEmailValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SkyEmailValidationDirective, selector: "[skyEmailValidation]", providers: [SKY_EMAIL_VALIDATION_VALIDATOR], ngImport: i0 });
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyEmailValidationDirective, decorators: [{
|
|
62
|
-
type: Directive,
|
|
63
|
-
args: [{
|
|
64
|
-
selector: '[skyEmailValidation]',
|
|
65
|
-
providers: [SKY_EMAIL_VALIDATION_VALIDATOR],
|
|
66
|
-
}]
|
|
67
|
-
}] });
|
|
68
|
-
|
|
69
|
-
class SkyEmailValidationModule {
|
|
70
|
-
}
|
|
71
|
-
SkyEmailValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyEmailValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
72
|
-
SkyEmailValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyEmailValidationModule, declarations: [SkyEmailValidationDirective], imports: [FormsModule], exports: [SkyEmailValidationDirective] });
|
|
73
|
-
SkyEmailValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyEmailValidationModule, imports: [FormsModule] });
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyEmailValidationModule, decorators: [{
|
|
75
|
-
type: NgModule,
|
|
76
|
-
args: [{
|
|
77
|
-
declarations: [SkyEmailValidationDirective],
|
|
78
|
-
imports: [FormsModule],
|
|
79
|
-
exports: [SkyEmailValidationDirective],
|
|
80
|
-
}]
|
|
81
|
-
}] });
|
|
82
|
-
|
|
83
|
-
var _SkyUrlValidationDirective__skyUrlValidationOptions, _SkyUrlValidationDirective_validatorChange;
|
|
84
|
-
// tslint:disable:no-forward-ref no-use-before-declare
|
|
85
|
-
const SKY_URL_VALIDATION_VALIDATOR = {
|
|
86
|
-
provide: NG_VALIDATORS,
|
|
87
|
-
useExisting: forwardRef(() => SkyUrlValidationDirective),
|
|
88
|
-
multi: true,
|
|
89
|
-
};
|
|
90
|
-
/**
|
|
91
|
-
* Adds URL validation to an input element. The directive uses `NgModel` to bind data.
|
|
92
|
-
*/
|
|
93
|
-
class SkyUrlValidationDirective {
|
|
94
|
-
constructor() {
|
|
95
|
-
_SkyUrlValidationDirective__skyUrlValidationOptions.set(this, void 0);
|
|
96
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
97
|
-
_SkyUrlValidationDirective_validatorChange.set(this, () => { });
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Configuration options for the URL validation component.
|
|
101
|
-
*/
|
|
102
|
-
set skyUrlValidation(value) {
|
|
103
|
-
__classPrivateFieldSet(this, _SkyUrlValidationDirective__skyUrlValidationOptions, value, "f");
|
|
104
|
-
__classPrivateFieldGet(this, _SkyUrlValidationDirective_validatorChange, "f").call(this);
|
|
105
|
-
}
|
|
106
|
-
validate(control) {
|
|
107
|
-
const value = control.value;
|
|
108
|
-
if (!value) {
|
|
109
|
-
return null;
|
|
110
|
-
}
|
|
111
|
-
return SkyValidation.isUrl(value, __classPrivateFieldGet(this, _SkyUrlValidationDirective__skyUrlValidationOptions, "f"))
|
|
112
|
-
? null
|
|
113
|
-
: { skyUrl: { invalid: value } };
|
|
114
|
-
}
|
|
115
|
-
registerOnValidatorChange(fn) {
|
|
116
|
-
__classPrivateFieldSet(this, _SkyUrlValidationDirective_validatorChange, fn, "f");
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
_SkyUrlValidationDirective__skyUrlValidationOptions = new WeakMap(), _SkyUrlValidationDirective_validatorChange = new WeakMap();
|
|
120
|
-
SkyUrlValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyUrlValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
121
|
-
SkyUrlValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SkyUrlValidationDirective, selector: "[skyUrlValidation]", inputs: { skyUrlValidation: "skyUrlValidation" }, providers: [SKY_URL_VALIDATION_VALIDATOR], ngImport: i0 });
|
|
122
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyUrlValidationDirective, decorators: [{
|
|
123
|
-
type: Directive,
|
|
124
|
-
args: [{
|
|
125
|
-
selector: '[skyUrlValidation]',
|
|
126
|
-
providers: [SKY_URL_VALIDATION_VALIDATOR],
|
|
127
|
-
}]
|
|
128
|
-
}], propDecorators: { skyUrlValidation: [{
|
|
129
|
-
type: Input
|
|
130
|
-
}] } });
|
|
131
|
-
|
|
132
|
-
class SkyUrlValidationModule {
|
|
133
|
-
}
|
|
134
|
-
SkyUrlValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyUrlValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
135
|
-
SkyUrlValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyUrlValidationModule, declarations: [SkyUrlValidationDirective], imports: [FormsModule], exports: [SkyUrlValidationDirective] });
|
|
136
|
-
SkyUrlValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyUrlValidationModule, imports: [FormsModule] });
|
|
137
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyUrlValidationModule, decorators: [{
|
|
138
|
-
type: NgModule,
|
|
139
|
-
args: [{
|
|
140
|
-
declarations: [SkyUrlValidationDirective],
|
|
141
|
-
imports: [FormsModule],
|
|
142
|
-
exports: [SkyUrlValidationDirective],
|
|
143
|
-
}]
|
|
144
|
-
}] });
|
|
145
|
-
|
|
146
|
-
// Need to add the following to classes which contain static methods.
|
|
147
|
-
// See: https://github.com/ng-packagr/ng-packagr/issues/641
|
|
148
|
-
// @dynamic
|
|
149
|
-
class SkyValidators {
|
|
150
|
-
/**
|
|
151
|
-
* Validates email addresses in reactive forms. Add this validator directly to the form control
|
|
152
|
-
* model in the component class. If users enter values that are not valid email addresses, the
|
|
153
|
-
* validator throws an error. Since this is a sync validator, it returns a set of validation
|
|
154
|
-
* errors or `null` immediately when users enter values.
|
|
155
|
-
*/
|
|
156
|
-
static email(control) {
|
|
157
|
-
const value = control.value;
|
|
158
|
-
if (!value) {
|
|
159
|
-
return null;
|
|
160
|
-
}
|
|
161
|
-
return SkyValidation.isEmail(value)
|
|
162
|
-
? null
|
|
163
|
-
: { skyEmail: { invalid: value } };
|
|
164
|
-
}
|
|
165
|
-
static url(value) {
|
|
166
|
-
const typeTester = value;
|
|
167
|
-
if (typeTester.rulesetVersion === undefined) {
|
|
168
|
-
// there are no SkyUrlValidationOptions passed in, so return ValidationErrors | null
|
|
169
|
-
const abstractControl = value;
|
|
170
|
-
const abstractControlValue = abstractControl.value;
|
|
171
|
-
if (!abstractControlValue) {
|
|
172
|
-
return null;
|
|
173
|
-
}
|
|
174
|
-
return SkyValidation.isUrl(abstractControlValue)
|
|
175
|
-
? null
|
|
176
|
-
: { skyUrl: { invalid: abstractControlValue } };
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
// there are SkyUrlValidationOptions passed in, so return ValidatorFn
|
|
180
|
-
const skyUrlValidationOptions = value;
|
|
181
|
-
return (abstractControl) => {
|
|
182
|
-
const abstractControlValue = abstractControl.value;
|
|
183
|
-
if (!abstractControlValue) {
|
|
184
|
-
return null;
|
|
185
|
-
}
|
|
186
|
-
return SkyValidation.isUrl(abstractControl.value, skyUrlValidationOptions)
|
|
187
|
-
? null
|
|
188
|
-
: { skyUrl: { invalid: abstractControl.value } };
|
|
189
|
-
};
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
/**
|
|
195
|
-
* Generated bundle index. Do not edit.
|
|
196
|
-
*/
|
|
197
|
-
|
|
198
|
-
export { SkyEmailValidationModule, SkyUrlValidationModule, SkyValidation, SkyValidators, SkyEmailValidationDirective as λ1, SkyUrlValidationDirective as λ2 };
|
|
199
|
-
//# sourceMappingURL=skyux-validation.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-validation.mjs","sources":["../../../../../libs/components/validation/src/lib/modules/validation/validation.ts","../../../../../libs/components/validation/src/lib/modules/email-validation/email-validation.directive.ts","../../../../../libs/components/validation/src/lib/modules/email-validation/email-validation.module.ts","../../../../../libs/components/validation/src/lib/modules/url-validation/url-validation.directive.ts","../../../../../libs/components/validation/src/lib/modules/url-validation/url-validation.module.ts","../../../../../libs/components/validation/src/lib/modules/validators/validators.ts","../../../../../libs/components/validation/src/skyux-validation.ts"],"sourcesContent":["import isURL from 'validator/es/lib/isURL';\n\nimport { SkyUrlValidationOptions } from '../url-validation/url-validation-options';\n\nexport abstract class SkyValidation {\n public static isEmail(emailAddress: string): boolean {\n // The regex was obtained from http://emailregex.com/\n // which claims to correctly handle ~99% of all email addresses.\n const regex =\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return regex.test(emailAddress);\n }\n\n public static isUrl(\n value: unknown,\n options?: SkyUrlValidationOptions\n ): boolean {\n if (typeof value !== 'string') {\n return false;\n }\n\n const url: string = value;\n\n const regex = /^((http|https):\\/\\/)?([\\w-]+\\.)+[\\w-]+/i;\n if (options) {\n switch (options.rulesetVersion) {\n case 1:\n return regex.test(url);\n case 2:\n // we are using the `validator` package's default options\n return isURL(url);\n }\n } else {\n return regex.test(url);\n }\n }\n}\n","import { Directive, forwardRef } from '@angular/core';\nimport {\n AbstractControl,\n NG_VALIDATORS,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\n\nimport { SkyValidation } from '../validation/validation';\n\nconst SKY_EMAIL_VALIDATION_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyEmailValidationDirective),\n multi: true,\n};\n\n/**\n * Adds email address validation to an input element. The directive uses `NgModel` to bind data.\n */\n@Directive({\n selector: '[skyEmailValidation]',\n providers: [SKY_EMAIL_VALIDATION_VALIDATOR],\n})\nexport class SkyEmailValidationDirective implements Validator {\n public validate(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value || this.emailIsValid(value)) {\n return null;\n }\n\n return {\n skyEmail: {\n invalid: control.value,\n },\n };\n }\n\n public emailIsValid(email: string): boolean {\n return SkyValidation.isEmail(email);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { SkyEmailValidationDirective } from './email-validation.directive';\n\n@NgModule({\n declarations: [SkyEmailValidationDirective],\n imports: [FormsModule],\n exports: [SkyEmailValidationDirective],\n})\nexport class SkyEmailValidationModule {}\n","import { Directive, Input, forwardRef } from '@angular/core';\nimport {\n AbstractControl,\n NG_VALIDATORS,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\n\nimport { SkyValidation } from '../validation/validation';\n\nimport { SkyUrlValidationOptions } from './url-validation-options';\n\n// tslint:disable:no-forward-ref no-use-before-declare\nconst SKY_URL_VALIDATION_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyUrlValidationDirective),\n multi: true,\n};\n\n/**\n * Adds URL validation to an input element. The directive uses `NgModel` to bind data.\n */\n@Directive({\n selector: '[skyUrlValidation]',\n providers: [SKY_URL_VALIDATION_VALIDATOR],\n})\nexport class SkyUrlValidationDirective implements Validator {\n /**\n * Configuration options for the URL validation component.\n */\n @Input()\n public set skyUrlValidation(value: SkyUrlValidationOptions | undefined) {\n this.#_skyUrlValidationOptions = value;\n this.#validatorChange();\n }\n\n #_skyUrlValidationOptions: SkyUrlValidationOptions | undefined;\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n #validatorChange = () => {};\n\n public validate(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value) {\n return null;\n }\n\n return SkyValidation.isUrl(value, this.#_skyUrlValidationOptions)\n ? null\n : { skyUrl: { invalid: value } };\n }\n\n public registerOnValidatorChange(fn: () => void): void {\n this.#validatorChange = fn;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { SkyUrlValidationDirective } from './url-validation.directive';\n\n@NgModule({\n declarations: [SkyUrlValidationDirective],\n imports: [FormsModule],\n exports: [SkyUrlValidationDirective],\n})\nexport class SkyUrlValidationModule {}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\nimport { SkyUrlValidationOptions } from '../url-validation/url-validation-options';\nimport { SkyValidation } from '../validation/validation';\n\n// Need to add the following to classes which contain static methods.\n// See: https://github.com/ng-packagr/ng-packagr/issues/641\n// @dynamic\nexport class SkyValidators {\n /**\n * Validates email addresses in reactive forms. Add this validator directly to the form control\n * model in the component class. If users enter values that are not valid email addresses, the\n * validator throws an error. Since this is a sync validator, it returns a set of validation\n * errors or `null` immediately when users enter values.\n */\n public static email(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value) {\n return null;\n }\n\n return SkyValidation.isEmail(value)\n ? null\n : { skyEmail: { invalid: value } };\n }\n\n /**\n * Validates URLs in reactive forms. Add this validator directly to the form control model in\n * the component class. If users enter values that are not valid URLs, the validator throws an\n * error. Since this is a sync validator, it returns a set of validation errors or `null`\n * immediately when users enter values.\n */\n public static url(abstractControl: AbstractControl): ValidationErrors | null;\n\n /**\n * Validates URLs in reactive forms. Add this validator with ruleset parameters directly to\n * the form control model in the component class. If users enter values that are not valid\n * URLs, the validator throws an error. Since this is a sync validator, it returns a set of\n * validation errors or `null` immediately when users enter values.\n */\n public static url(\n skyUrlValidationOptions: SkyUrlValidationOptions\n ): ValidatorFn;\n\n public static url(\n value: AbstractControl | SkyUrlValidationOptions\n ): ValidatorFn | ValidationErrors | null {\n const typeTester = value as SkyUrlValidationOptions;\n if (typeTester.rulesetVersion === undefined) {\n // there are no SkyUrlValidationOptions passed in, so return ValidationErrors | null\n const abstractControl = value as AbstractControl;\n const abstractControlValue = abstractControl.value;\n if (!abstractControlValue) {\n return null;\n }\n return SkyValidation.isUrl(abstractControlValue)\n ? null\n : { skyUrl: { invalid: abstractControlValue } };\n } else {\n // there are SkyUrlValidationOptions passed in, so return ValidatorFn\n const skyUrlValidationOptions = value as SkyUrlValidationOptions;\n return (abstractControl: AbstractControl): ValidationErrors | null => {\n const abstractControlValue = abstractControl.value;\n if (!abstractControlValue) {\n return null;\n }\n\n return SkyValidation.isUrl(\n abstractControl.value,\n skyUrlValidationOptions\n )\n ? null\n : { skyUrl: { invalid: abstractControl.value } };\n };\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|