@cauca-911/input-validators 16.0.1 → 16.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,6 +2,8 @@ import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { SmsSegmentCalculatorDirective } from './shared/directives/sms-segment-calculator.directive';
4
4
  import { SmsAvoidCharactersDirective } from './shared/directives/sms-avoid-characters.directive';
5
+ import { PhoneNumberDetectorDirective } from './shared/directives/phone-number-detector.directive';
6
+ import { UrlDetectorDirective } from './shared/directives/url-detector.directive';
5
7
  import * as i0 from "@angular/core";
6
8
  export class CaucaInputValidatorsModule {
7
9
  static { this.ɵfac = function CaucaInputValidatorsModule_Factory(t) { return new (t || CaucaInputValidatorsModule)(); }; }
@@ -14,10 +16,14 @@ export class CaucaInputValidatorsModule {
14
16
  declarations: [
15
17
  SmsSegmentCalculatorDirective,
16
18
  SmsAvoidCharactersDirective,
19
+ PhoneNumberDetectorDirective,
20
+ UrlDetectorDirective,
17
21
  ],
18
22
  exports: [
19
23
  SmsSegmentCalculatorDirective,
20
24
  SmsAvoidCharactersDirective,
25
+ PhoneNumberDetectorDirective,
26
+ UrlDetectorDirective,
21
27
  ],
22
28
  imports: [
23
29
  CommonModule
@@ -25,6 +31,10 @@ export class CaucaInputValidatorsModule {
25
31
  }]
26
32
  }], null, null); })();
27
33
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(CaucaInputValidatorsModule, { declarations: [SmsSegmentCalculatorDirective,
28
- SmsAvoidCharactersDirective], imports: [CommonModule], exports: [SmsSegmentCalculatorDirective,
29
- SmsAvoidCharactersDirective] }); })();
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F1Y2EtaW5wdXQtdmFsaWRhdG9ycy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1pbnB1dC12YWxpZGF0b3JzL3NyYy9saWIvY2F1Y2EtaW5wdXQtdmFsaWRhdG9ycy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDckcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7O0FBZWpHLE1BQU0sT0FBTywwQkFBMEI7MkZBQTFCLDBCQUEwQjttRUFBMUIsMEJBQTBCO3VFQUhuQyxZQUFZOzt1RkFHSCwwQkFBMEI7Y0FidEMsUUFBUTtlQUFDO2dCQUNSLFlBQVksRUFBRTtvQkFDWiw2QkFBNkI7b0JBQzdCLDJCQUEyQjtpQkFDNUI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLDZCQUE2QjtvQkFDN0IsMkJBQTJCO2lCQUM1QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtpQkFDYjthQUNGOzt3RkFDWSwwQkFBMEIsbUJBWG5DLDZCQUE2QjtRQUM3QiwyQkFBMkIsYUFPM0IsWUFBWSxhQUpaLDZCQUE2QjtRQUM3QiwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNtc1NlZ21lbnRDYWxjdWxhdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi9zaGFyZWQvZGlyZWN0aXZlcy9zbXMtc2VnbWVudC1jYWxjdWxhdG9yLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTbXNBdm9pZENoYXJhY3RlcnNEaXJlY3RpdmUgfSBmcm9tICcuL3NoYXJlZC9kaXJlY3RpdmVzL3Ntcy1hdm9pZC1jaGFyYWN0ZXJzLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNtc1NlZ21lbnRDYWxjdWxhdG9yRGlyZWN0aXZlLFxuICAgIFNtc0F2b2lkQ2hhcmFjdGVyc0RpcmVjdGl2ZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNtc1NlZ21lbnRDYWxjdWxhdG9yRGlyZWN0aXZlLFxuICAgIFNtc0F2b2lkQ2hhcmFjdGVyc0RpcmVjdGl2ZSxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDYXVjYUlucHV0VmFsaWRhdG9yc01vZHVsZSB7IH1cbiJdfQ==
34
+ SmsAvoidCharactersDirective,
35
+ PhoneNumberDetectorDirective,
36
+ UrlDetectorDirective], imports: [CommonModule], exports: [SmsSegmentCalculatorDirective,
37
+ SmsAvoidCharactersDirective,
38
+ PhoneNumberDetectorDirective,
39
+ UrlDetectorDirective] }); })();
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F1Y2EtaW5wdXQtdmFsaWRhdG9ycy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1pbnB1dC12YWxpZGF0b3JzL3NyYy9saWIvY2F1Y2EtaW5wdXQtdmFsaWRhdG9ycy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDckcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDakcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDbkcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7O0FBbUJsRixNQUFNLE9BQU8sMEJBQTBCOzJGQUExQiwwQkFBMEI7bUVBQTFCLDBCQUEwQjt1RUFIbkMsWUFBWTs7dUZBR0gsMEJBQTBCO2NBakJ0QyxRQUFRO2VBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLDZCQUE2QjtvQkFDN0IsMkJBQTJCO29CQUMzQiw0QkFBNEI7b0JBQzVCLG9CQUFvQjtpQkFDckI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLDZCQUE2QjtvQkFDN0IsMkJBQTJCO29CQUMzQiw0QkFBNEI7b0JBQzVCLG9CQUFvQjtpQkFDckI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFlBQVk7aUJBQ2I7YUFDRjs7d0ZBQ1ksMEJBQTBCLG1CQWZuQyw2QkFBNkI7UUFDN0IsMkJBQTJCO1FBQzNCLDRCQUE0QjtRQUM1QixvQkFBb0IsYUFTcEIsWUFBWSxhQU5aLDZCQUE2QjtRQUM3QiwyQkFBMkI7UUFDM0IsNEJBQTRCO1FBQzVCLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU21zU2VnbWVudENhbGN1bGF0b3JEaXJlY3RpdmUgfSBmcm9tICcuL3NoYXJlZC9kaXJlY3RpdmVzL3Ntcy1zZWdtZW50LWNhbGN1bGF0b3IuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNtc0F2b2lkQ2hhcmFjdGVyc0RpcmVjdGl2ZSB9IGZyb20gJy4vc2hhcmVkL2RpcmVjdGl2ZXMvc21zLWF2b2lkLWNoYXJhY3RlcnMuZGlyZWN0aXZlJztcbmltcG9ydCB7IFBob25lTnVtYmVyRGV0ZWN0b3JEaXJlY3RpdmUgfSBmcm9tICcuL3NoYXJlZC9kaXJlY3RpdmVzL3Bob25lLW51bWJlci1kZXRlY3Rvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVXJsRGV0ZWN0b3JEaXJlY3RpdmUgfSBmcm9tICcuL3NoYXJlZC9kaXJlY3RpdmVzL3VybC1kZXRlY3Rvci5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTbXNTZWdtZW50Q2FsY3VsYXRvckRpcmVjdGl2ZSxcbiAgICBTbXNBdm9pZENoYXJhY3RlcnNEaXJlY3RpdmUsXG4gICAgUGhvbmVOdW1iZXJEZXRlY3RvckRpcmVjdGl2ZSxcbiAgICBVcmxEZXRlY3RvckRpcmVjdGl2ZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNtc1NlZ21lbnRDYWxjdWxhdG9yRGlyZWN0aXZlLFxuICAgIFNtc0F2b2lkQ2hhcmFjdGVyc0RpcmVjdGl2ZSxcbiAgICBQaG9uZU51bWJlckRldGVjdG9yRGlyZWN0aXZlLFxuICAgIFVybERldGVjdG9yRGlyZWN0aXZlLFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENhdWNhSW5wdXRWYWxpZGF0b3JzTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,45 @@
1
+ import { Directive, EventEmitter, HostListener, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class PhoneNumberDetectorDirective {
4
+ constructor(elementRef) {
5
+ this.elementRef = elementRef;
6
+ this.hasPhoneNumberChanged = new EventEmitter();
7
+ this.hasPhoneNumber = false;
8
+ }
9
+ ngAfterViewInit() {
10
+ this.onInput();
11
+ }
12
+ onInput() {
13
+ this.checkIfTextHasPhoneNumber(this.elementRef.nativeElement.value);
14
+ }
15
+ checkIfTextHasPhoneNumber(text) {
16
+ const hasPhoneNumber = this.checkForPhoneNumber(text);
17
+ if (this.hasPhoneNumber !== hasPhoneNumber) {
18
+ this.hasPhoneNumberChanged.emit(hasPhoneNumber);
19
+ this.hasPhoneNumber = hasPhoneNumber;
20
+ }
21
+ }
22
+ checkForPhoneNumber(text) {
23
+ if (!text) {
24
+ return false;
25
+ }
26
+ const regex = /^\(?(\d{3})\)?[- .]?(\d{3})[- .]?(\d{4})$/gm;
27
+ return regex.test(text);
28
+ }
29
+ static { this.ɵfac = function PhoneNumberDetectorDirective_Factory(t) { return new (t || PhoneNumberDetectorDirective)(i0.ɵɵdirectiveInject(i0.ElementRef)); }; }
30
+ static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PhoneNumberDetectorDirective, selectors: [["", "caucaPhoneNumberDetector", ""]], hostBindings: function PhoneNumberDetectorDirective_HostBindings(rf, ctx) { if (rf & 1) {
31
+ i0.ɵɵlistener("input", function PhoneNumberDetectorDirective_input_HostBindingHandler() { return ctx.onInput(); });
32
+ } }, outputs: { hasPhoneNumberChanged: "hasPhoneNumberChanged" } }); }
33
+ }
34
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PhoneNumberDetectorDirective, [{
35
+ type: Directive,
36
+ args: [{
37
+ selector: '[caucaPhoneNumberDetector]'
38
+ }]
39
+ }], function () { return [{ type: i0.ElementRef }]; }, { hasPhoneNumberChanged: [{
40
+ type: Output
41
+ }], onInput: [{
42
+ type: HostListener,
43
+ args: [':input']
44
+ }] }); })();
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtbnVtYmVyLWRldGVjdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhdWNhLWlucHV0LXZhbGlkYXRvcnMvc3JjL2xpYi9zaGFyZWQvZGlyZWN0aXZlcy9waG9uZS1udW1iZXItZGV0ZWN0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUt6RyxNQUFNLE9BQU8sNEJBQTRCO0lBTXZDLFlBQ1UsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUxmLDBCQUFxQixHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRXBGLG1CQUFjLEdBQUcsS0FBSyxDQUFDO0lBSTNCLENBQUM7SUFFRSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBR00sT0FBTztRQUNaLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRU8seUJBQXlCLENBQUMsSUFBWTtRQUM1QyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdEQsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLGNBQWMsRUFBRTtZQUMxQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ2hELElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQztJQUVPLG1CQUFtQixDQUFDLElBQVk7UUFDdEMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNQLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsTUFBTSxLQUFLLEdBQUcsNkNBQTZDLENBQUM7UUFFNUQsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7NkZBcENVLDRCQUE0QjtvRUFBNUIsNEJBQTRCOzZHQUE1QixhQUFTOzs7dUZBQVQsNEJBQTRCO2NBSHhDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsNEJBQTRCO2FBQ3ZDOzZEQUdrQixxQkFBcUI7a0JBQXJDLE1BQU07WUFhQSxPQUFPO2tCQURiLFlBQVk7bUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY2F1Y2FQaG9uZU51bWJlckRldGVjdG9yXSdcbn0pXG5leHBvcnQgY2xhc3MgUGhvbmVOdW1iZXJEZXRlY3RvckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgaGFzUGhvbmVOdW1iZXJDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHJpdmF0ZSBoYXNQaG9uZU51bWJlciA9IGZhbHNlO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgKSB7IH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMub25JbnB1dCgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignOmlucHV0JylcbiAgcHVibGljIG9uSW5wdXQoKSB7XG4gICAgdGhpcy5jaGVja0lmVGV4dEhhc1Bob25lTnVtYmVyKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tJZlRleHRIYXNQaG9uZU51bWJlcih0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBoYXNQaG9uZU51bWJlciA9IHRoaXMuY2hlY2tGb3JQaG9uZU51bWJlcih0ZXh0KTtcblxuICAgIGlmICh0aGlzLmhhc1Bob25lTnVtYmVyICE9PSBoYXNQaG9uZU51bWJlcikge1xuICAgICAgdGhpcy5oYXNQaG9uZU51bWJlckNoYW5nZWQuZW1pdChoYXNQaG9uZU51bWJlcik7XG4gICAgICB0aGlzLmhhc1Bob25lTnVtYmVyID0gaGFzUGhvbmVOdW1iZXI7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0ZvclBob25lTnVtYmVyKHRleHQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICghdGV4dCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgcmVnZXggPSAvXlxcKD8oXFxkezN9KVxcKT9bLSAuXT8oXFxkezN9KVstIC5dPyhcXGR7NH0pJC9nbTtcblxuICAgIHJldHVybiByZWdleC50ZXN0KHRleHQpO1xuICB9XG59XG4iXX0=
@@ -8,6 +8,8 @@ export class SmsAvoidCharactersDirective {
8
8
  this.charsToReplaceChanged = new EventEmitter();
9
9
  this.charsToAvoid = [];
10
10
  this.charsToReplace = [];
11
+ }
12
+ ngAfterViewInit() {
11
13
  this.onInput();
12
14
  }
13
15
  onInput() {
@@ -54,4 +56,4 @@ export class SmsAvoidCharactersDirective {
54
56
  type: HostListener,
55
57
  args: [':input']
56
58
  }] }); })();
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21zLWF2b2lkLWNoYXJhY3RlcnMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2F1Y2EtaW5wdXQtdmFsaWRhdG9ycy9zcmMvbGliL3NoYXJlZC9kaXJlY3RpdmVzL3Ntcy1hdm9pZC1jaGFyYWN0ZXJzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFVeEQsTUFBTSxPQUFPLDJCQUEyQjtJQVF0QyxZQUNVLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFQZix3QkFBbUIsR0FBMkIsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUMzRSwwQkFBcUIsR0FBMkIsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUV0RixpQkFBWSxHQUFhLEVBQUUsQ0FBQztRQUM1QixtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUtwQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUdNLE9BQU87UUFDWixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVPLHVCQUF1QixDQUFDLElBQVk7UUFDMUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU1QyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUNwRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUM7U0FDNUM7UUFDRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUN4RSxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUMxRCxJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQyxjQUFjLENBQUM7U0FDaEQ7SUFDSCxDQUFDO0lBRU8sY0FBYyxDQUFDLElBQVk7UUFDakMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksR0FBRyxZQUFZLENBQUMsWUFBWSxHQUFHLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN6RyxNQUFNLGFBQWEsR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQyxlQUFlLEdBQUcsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3JILE1BQU0sV0FBVyxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDLGVBQWUsR0FBRyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUU3RyxPQUFPO1lBQ0wsWUFBWSxFQUFFLFdBQVcsSUFBSSxFQUFFO1lBQy9CLGNBQWMsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDN0QsQ0FBQztJQUNKLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFlLEVBQUUsS0FBZTtRQUN2RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6RCxDQUFDOzRGQTdDVSwyQkFBMkI7b0VBQTNCLDJCQUEyQjs0R0FBM0IsYUFBUzs7O3VGQUFULDJCQUEyQjtjQUh2QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjthQUN0Qzs2REFHa0IsbUJBQW1CO2tCQUFuQyxNQUFNO1lBQ1UscUJBQXFCO2tCQUFyQyxNQUFNO1lBWUEsT0FBTztrQkFEYixZQUFZO21CQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdzbTdiaXRDaGFycyB9IGZyb20gJy4uL21vZGVscy9nc20tN2JpdC1jaGFycyc7XG5cbmludGVyZmFjZSBDaGFyc0xpc3Qge1xuICBjaGFyc1RvQXZvaWQ6IHN0cmluZ1tdO1xuICBjaGFyc1RvUmVwbGFjZTogc3RyaW5nW107XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjYXVjYVNtc0F2b2lkQ2hhcmFjdGVyc10nXG59KVxuZXhwb3J0IGNsYXNzIFNtc0F2b2lkQ2hhcmFjdGVyc0RpcmVjdGl2ZSB7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBjaGFyc1RvQXZvaWRDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8c3RyaW5nW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBjaGFyc1RvUmVwbGFjZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuXG4gIHByaXZhdGUgY2hhcnNUb0F2b2lkOiBzdHJpbmdbXSA9IFtdO1xuICBwcml2YXRlIGNoYXJzVG9SZXBsYWNlOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgKSB7XG4gICAgdGhpcy5vbklucHV0KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCc6aW5wdXQnKVxuICBwdWJsaWMgb25JbnB1dCgpIHtcbiAgICB0aGlzLmNoZWNrQ2hhcmFjdGVyRXhjZXB0aW9uKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tDaGFyYWN0ZXJFeGNlcHRpb24odGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgY2hhcnNMaXN0ID0gdGhpcy5saXN0VVRGMTZDaGFycyh0ZXh0KTtcblxuICAgIGlmICh0aGlzLmNvbXBhcmVDaGFyc0xpc3QodGhpcy5jaGFyc1RvQXZvaWQsIGNoYXJzTGlzdC5jaGFyc1RvQXZvaWQpKSB7XG4gICAgICB0aGlzLmNoYXJzVG9Bdm9pZENoYW5nZWQuZW1pdChjaGFyc0xpc3QuY2hhcnNUb0F2b2lkKTtcbiAgICAgIHRoaXMuY2hhcnNUb0F2b2lkID0gY2hhcnNMaXN0LmNoYXJzVG9Bdm9pZDtcbiAgICB9XG4gICAgaWYgKHRoaXMuY29tcGFyZUNoYXJzTGlzdCh0aGlzLmNoYXJzVG9SZXBsYWNlLCBjaGFyc0xpc3QuY2hhcnNUb1JlcGxhY2UpKSB7XG4gICAgICB0aGlzLmNoYXJzVG9SZXBsYWNlQ2hhbmdlZC5lbWl0KGNoYXJzTGlzdC5jaGFyc1RvUmVwbGFjZSk7XG4gICAgICB0aGlzLmNoYXJzVG9SZXBsYWNlID0gY2hhcnNMaXN0LmNoYXJzVG9SZXBsYWNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbGlzdFVURjE2Q2hhcnModGV4dDogc3RyaW5nKTogQ2hhcnNMaXN0IHtcbiAgICBjb25zdCBjaGFyVG9Bdm9pZE9yUmVwbGFjZSA9IHRleHQucmVwbGFjZShuZXcgUmVnRXhwKCcoWycgKyBHc203Yml0Q2hhcnMuZ3NtN2JpdENoYXJzICsgJ10rKScsICdnJyksICcnKTtcbiAgICBjb25zdCBjaGFyVG9SZXBsYWNlID0gY2hhclRvQXZvaWRPclJlcGxhY2UucmVwbGFjZShuZXcgUmVnRXhwKCcoWycgKyBHc203Yml0Q2hhcnMuZ3NtN2JpdENoYXJzRXh0ICsgJ10rKScsICdnJyksICcnKTtcbiAgICBjb25zdCBjaGFyVG9Bdm9pZCA9IGNoYXJUb0F2b2lkT3JSZXBsYWNlLm1hdGNoKG5ldyBSZWdFeHAoJyhbJyArIEdzbTdiaXRDaGFycy5nc203Yml0Q2hhcnNFeHQgKyAnXSspJywgJ2cnKSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY2hhcnNUb0F2b2lkOiBjaGFyVG9Bdm9pZCB8fCBbXSxcbiAgICAgIGNoYXJzVG9SZXBsYWNlOiBjaGFyVG9SZXBsYWNlID8gY2hhclRvUmVwbGFjZS5zcGxpdCgnJykgOiBbXVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGNvbXBhcmVDaGFyc0xpc3QobGlzdDE6IHN0cmluZ1tdLCBsaXN0Mjogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkobGlzdDEpICE9PSBKU09OLnN0cmluZ2lmeShsaXN0Mik7XG4gIH1cbn1cbiJdfQ==
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21zLWF2b2lkLWNoYXJhY3RlcnMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2F1Y2EtaW5wdXQtdmFsaWRhdG9ycy9zcmMvbGliL3NoYXJlZC9kaXJlY3RpdmVzL3Ntcy1hdm9pZC1jaGFyYWN0ZXJzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBVXhELE1BQU0sT0FBTywyQkFBMkI7SUFRdEMsWUFDVSxVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBUGYsd0JBQW1CLEdBQTJCLElBQUksWUFBWSxFQUFZLENBQUM7UUFDM0UsMEJBQXFCLEdBQTJCLElBQUksWUFBWSxFQUFZLENBQUM7UUFFdEYsaUJBQVksR0FBYSxFQUFFLENBQUM7UUFDNUIsbUJBQWMsR0FBYSxFQUFFLENBQUM7SUFLdEMsQ0FBQztJQUVNLGVBQWU7UUFDcEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFHTSxPQUFPO1FBQ1osSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxJQUFZO1FBQzFDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDcEUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDO1NBQzVDO1FBQ0QsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDeEUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUMsY0FBYyxDQUFDO1NBQ2hEO0lBQ0gsQ0FBQztJQUVPLGNBQWMsQ0FBQyxJQUFZO1FBQ2pDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDLFlBQVksR0FBRyxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDekcsTUFBTSxhQUFhLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksR0FBRyxZQUFZLENBQUMsZUFBZSxHQUFHLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNySCxNQUFNLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQyxlQUFlLEdBQUcsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFN0csT0FBTztZQUNMLFlBQVksRUFBRSxXQUFXLElBQUksRUFBRTtZQUMvQixjQUFjLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQzdELENBQUM7SUFDSixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsS0FBZSxFQUFFLEtBQWU7UUFDdkQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQzs0RkFoRFUsMkJBQTJCO29FQUEzQiwyQkFBMkI7NEdBQTNCLGFBQVM7Ozt1RkFBVCwyQkFBMkI7Y0FIdkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSwyQkFBMkI7YUFDdEM7NkRBR2tCLG1CQUFtQjtrQkFBbkMsTUFBTTtZQUNVLHFCQUFxQjtrQkFBckMsTUFBTTtZQWVBLE9BQU87a0JBRGIsWUFBWTttQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHc203Yml0Q2hhcnMgfSBmcm9tICcuLi9tb2RlbHMvZ3NtLTdiaXQtY2hhcnMnO1xuXG5pbnRlcmZhY2UgQ2hhcnNMaXN0IHtcbiAgY2hhcnNUb0F2b2lkOiBzdHJpbmdbXTtcbiAgY2hhcnNUb1JlcGxhY2U6IHN0cmluZ1tdO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY2F1Y2FTbXNBdm9pZENoYXJhY3RlcnNdJ1xufSlcbmV4cG9ydCBjbGFzcyBTbXNBdm9pZENoYXJhY3RlcnNEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblxuICBAT3V0cHV0KCkgcHVibGljIGNoYXJzVG9Bdm9pZENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuICBAT3V0cHV0KCkgcHVibGljIGNoYXJzVG9SZXBsYWNlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPHN0cmluZ1tdPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG5cbiAgcHJpdmF0ZSBjaGFyc1RvQXZvaWQ6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgY2hhcnNUb1JlcGxhY2U6IHN0cmluZ1tdID0gW107XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZlxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vbklucHV0KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCc6aW5wdXQnKVxuICBwdWJsaWMgb25JbnB1dCgpIHtcbiAgICB0aGlzLmNoZWNrQ2hhcmFjdGVyRXhjZXB0aW9uKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tDaGFyYWN0ZXJFeGNlcHRpb24odGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgY2hhcnNMaXN0ID0gdGhpcy5saXN0VVRGMTZDaGFycyh0ZXh0KTtcblxuICAgIGlmICh0aGlzLmNvbXBhcmVDaGFyc0xpc3QodGhpcy5jaGFyc1RvQXZvaWQsIGNoYXJzTGlzdC5jaGFyc1RvQXZvaWQpKSB7XG4gICAgICB0aGlzLmNoYXJzVG9Bdm9pZENoYW5nZWQuZW1pdChjaGFyc0xpc3QuY2hhcnNUb0F2b2lkKTtcbiAgICAgIHRoaXMuY2hhcnNUb0F2b2lkID0gY2hhcnNMaXN0LmNoYXJzVG9Bdm9pZDtcbiAgICB9XG4gICAgaWYgKHRoaXMuY29tcGFyZUNoYXJzTGlzdCh0aGlzLmNoYXJzVG9SZXBsYWNlLCBjaGFyc0xpc3QuY2hhcnNUb1JlcGxhY2UpKSB7XG4gICAgICB0aGlzLmNoYXJzVG9SZXBsYWNlQ2hhbmdlZC5lbWl0KGNoYXJzTGlzdC5jaGFyc1RvUmVwbGFjZSk7XG4gICAgICB0aGlzLmNoYXJzVG9SZXBsYWNlID0gY2hhcnNMaXN0LmNoYXJzVG9SZXBsYWNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbGlzdFVURjE2Q2hhcnModGV4dDogc3RyaW5nKTogQ2hhcnNMaXN0IHtcbiAgICBjb25zdCBjaGFyVG9Bdm9pZE9yUmVwbGFjZSA9IHRleHQucmVwbGFjZShuZXcgUmVnRXhwKCcoWycgKyBHc203Yml0Q2hhcnMuZ3NtN2JpdENoYXJzICsgJ10rKScsICdnJyksICcnKTtcbiAgICBjb25zdCBjaGFyVG9SZXBsYWNlID0gY2hhclRvQXZvaWRPclJlcGxhY2UucmVwbGFjZShuZXcgUmVnRXhwKCcoWycgKyBHc203Yml0Q2hhcnMuZ3NtN2JpdENoYXJzRXh0ICsgJ10rKScsICdnJyksICcnKTtcbiAgICBjb25zdCBjaGFyVG9Bdm9pZCA9IGNoYXJUb0F2b2lkT3JSZXBsYWNlLm1hdGNoKG5ldyBSZWdFeHAoJyhbJyArIEdzbTdiaXRDaGFycy5nc203Yml0Q2hhcnNFeHQgKyAnXSspJywgJ2cnKSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY2hhcnNUb0F2b2lkOiBjaGFyVG9Bdm9pZCB8fCBbXSxcbiAgICAgIGNoYXJzVG9SZXBsYWNlOiBjaGFyVG9SZXBsYWNlID8gY2hhclRvUmVwbGFjZS5zcGxpdCgnJykgOiBbXVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGNvbXBhcmVDaGFyc0xpc3QobGlzdDE6IHN0cmluZ1tdLCBsaXN0Mjogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkobGlzdDEpICE9PSBKU09OLnN0cmluZ2lmeShsaXN0Mik7XG4gIH1cbn1cbiJdfQ==
@@ -22,6 +22,8 @@ export class SmsSegmentCalculatorDirective {
22
22
  // eslint-disable-next-line @typescript-eslint/naming-convention
23
23
  UTF16: 67
24
24
  };
25
+ }
26
+ ngAfterViewInit() {
25
27
  this.onInput();
26
28
  }
27
29
  onInput() {
@@ -93,4 +95,4 @@ export class SmsSegmentCalculatorDirective {
93
95
  type: HostListener,
94
96
  args: [':input']
95
97
  }] }); })();
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21zLXNlZ21lbnQtY2FsY3VsYXRvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1pbnB1dC12YWxpZGF0b3JzL3NyYy9saWIvc2hhcmVkL2RpcmVjdGl2ZXMvc21zLXNlZ21lbnQtY2FsY3VsYXRvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBS3hELE1BQU0sT0FBTyw2QkFBNkI7SUFxQnhDLFlBQ1UsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQXJCZix3QkFBbUIsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUVoRixpQkFBWSxHQUFHLENBQUMsQ0FBQztRQUNqQixrQkFBYSxHQUFHO1lBQ3RCLGdFQUFnRTtZQUNoRSxJQUFJLEVBQUUsR0FBRztZQUNULGdFQUFnRTtZQUNoRSxPQUFPLEVBQUUsR0FBRztZQUNaLGdFQUFnRTtZQUNoRSxLQUFLLEVBQUUsRUFBRTtTQUNWLENBQUM7UUFDTSx1QkFBa0IsR0FBRztZQUN6QixnRUFBZ0U7WUFDaEUsSUFBSSxFQUFFLEdBQUc7WUFDVCxnRUFBZ0U7WUFDaEUsT0FBTyxFQUFFLEdBQUc7WUFDWixnRUFBZ0U7WUFDaEUsS0FBSyxFQUFFLEVBQUU7U0FDWixDQUFDO1FBS0EsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFHTSxPQUFPO1FBQ1osSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxJQUFZO1FBQ3ZDLE1BQU0sWUFBWSxHQUFH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aXN0ZW5lciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHc203Yml0Q2hhcnMgfSBmcm9tICcuLi9tb2RlbHMvZ3NtLTdiaXQtY2hhcnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY2F1Y2FTbXNTZWdtZW50Q2FsY3VsYXRvcl0nLFxufSlcbmV4cG9ydCBjbGFzcyBTbXNTZWdtZW50Q2FsY3VsYXRvckRpcmVjdGl2ZSB7XG4gIEBPdXRwdXQoKSBwdWJsaWMgc2VnbWVudENvdW50Q2hhbmdlZDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBwcml2YXRlIHNlZ21lbnRDb3VudCA9IDA7XG4gIHByaXZhdGUgbWVzc2FnZUxlbmd0aCA9IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgR1NNNzogMTYwLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICBHU003ZXh0OiAxNjAsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgIFVURjE2OiA3MFxuICB9O1xuICBwcml2YXRlIG11bHRpTWVzc2FnZUxlbmd0aCA9IHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAgIEdTTTc6IDE1MyxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAgIEdTTTdleHQ6IDE1MyxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAgIFVURjE2OiA2N1xuICB9O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgKSB7XG4gICAgdGhpcy5vbklucHV0KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCc6aW5wdXQnKVxuICBwdWJsaWMgb25JbnB1dCgpIHtcbiAgICB0aGlzLmNoZWNrTnVtYmVyT2ZTZWdtZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tOdW1iZXJPZlNlZ21lbnQodGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3Qgc2VnbWVudENvdW50ID0gdGhpcy5jb3VudE51bWJlck9mU2VnbWVudCh0ZXh0KTtcblxuICAgIGlmICh0aGlzLnNlZ21lbnRDb3VudCAhPT0gc2VnbWVudENvdW50KSB7XG4gICAgICB0aGlzLnNlZ21lbnRDb3VudENoYW5nZWQuZW1pdChzZWdtZW50Q291bnQpO1xuICAgICAgdGhpcy5zZWdtZW50Q291bnQgPSBzZWdtZW50Q291bnQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjb3VudE51bWJlck9mU2VnbWVudCh0ZXh0OiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGlmICghdGV4dCkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBjb25zdCBsZW5ndGggPSB0aGlzLmNvdW50U21zQ2hhcnModGV4dCk7XG4gICAgY29uc3QgY2hhcnNldCA9IHRoaXMuZ2V0Q2hhcnNldCh0ZXh0KTtcbiAgICBjb25zdCBwZXJNZXNzYWdlID0gKGxlbmd0aCA+IHRoaXMubWVzc2FnZUxlbmd0aFtjaGFyc2V0XSA/IHRoaXMubXVsdGlNZXNzYWdlTGVuZ3RoW2NoYXJzZXRdIDogdGhpcy5tZXNzYWdlTGVuZ3RoW2NoYXJzZXRdKTtcblxuICAgIHJldHVybiBNYXRoLmNlaWwobGVuZ3RoIC8gcGVyTWVzc2FnZSk7XG4gIH1cblxuICBwcml2YXRlIGNvdW50U21zQ2hhcnModGV4dDogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBsZXQgbGVuZ3RoID0gdGV4dC5sZW5ndGg7XG4gICAgY29uc3QgY2hhcnNldCA9IHRoaXMuZ2V0Q2hhcnNldCh0ZXh0KTtcblxuICAgIGlmIChjaGFyc2V0ID09PSAnR1NNN2V4dCcpIHtcbiAgICAgICAgbGVuZ3RoICs9IHRoaXMuY291bnRHc203Yml0RXh0KHRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiBsZW5ndGg7XG4gIH1cblxuICBwcml2YXRlIGNvdW50R3NtN2JpdEV4dCh0ZXh0OiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGxldCBjaGFyMjtcbiAgICBjb25zdCBjaGFycyA9ICgpID0+IHtcbiAgICAgICAgbGV0IF9pOyBsZXQgX2xlbjtcbiAgICAgICAgY29uc3QgX3Jlc3VsdHMgPSBbXTtcblxuICAgICAgICBmb3IgKF9pID0gMCwgX2xlbiA9IHRleHQubGVuZ3RoOyBfaSA8IF9sZW47IF9pKyspIHtcbiAgICAgICAgICAgIGNoYXIyID0gdGV4dFtfaV07XG4gICAgICAgICAgICBpZiAoY2hhcjIubWF0Y2goR3NtN2JpdENoYXJzLmdzbTdiaXRFeHRPbmx5UmVnRXhwKSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgX3Jlc3VsdHMucHVzaChjaGFyMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9yZXN1bHRzO1xuICAgIH07XG5cbiAgICByZXR1cm4gY2hhcnMubGVuZ3RoO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDaGFyc2V0KHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgc3dpdGNoIChmYWxzZSkge1xuICAgICAgICBjYXNlIHRleHQubWF0Y2goR3NtN2JpdENoYXJzLmdzbTdiaXRSZWdFeHApID09IG51bGw6XG4gICAgICAgICAgICByZXR1cm4gJ0dTTTcnO1xuICAgICAgICBjYXNlIHRleHQubWF0Y2goR3NtN2JpdENoYXJzLmdzbTdiaXRFeHRSZWdFeHApID09IG51bGw6XG4gICAgICAgICAgICByZXR1cm4gJ0dTTTdleHQnO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuICdVVEYxNic7XG4gICAgfVxuICB9XG59XG4iXX0=
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21zLXNlZ21lbnQtY2FsY3VsYXRvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1pbnB1dC12YWxpZGF0b3JzL3NyYy9saWIvc2hhcmVkL2RpcmVjdGl2ZXMvc21zLXNlZ21lbnQtY2FsY3VsYXRvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUt4RCxNQUFNLE9BQU8sNkJBQTZCO0lBcUJ4QyxZQUNVLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFyQmYsd0JBQW1CLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFFaEYsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFDakIsa0JBQWEsR0FBRztZQUN0QixnRUFBZ0U7WUFDaEUsSUFBSSxFQUFFLEdBQUc7WUFDVCxnRUFBZ0U7WUFDaEUsT0FBTyxFQUFFLEdBQUc7WUFDWixnRUFBZ0U7WUFDaEUsS0FBSyxFQUFFLEVBQUU7U0FDVixDQUFDO1FBQ00sdUJBQWtCLEdBQUc7WUFDekIsZ0VBQWdFO1lBQ2hFLElBQUksRUFBRSxHQUFHO1lBQ1QsZ0VBQWdFO1lBQ2hFLE9BQU8sRUFBRSxHQUFHO1lBQ1osZ0VBQWdFO1lBQ2hFLEtBQUssRUFBRSxFQUFFO1NBQ1osQ0FBQztJQUtGLENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBR00sT0FBTztRQUNaLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU8sb0JBQW9CLENBQUMsSUFB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dGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3NtN2JpdENoYXJzIH0gZnJvbSAnLi4vbW9kZWxzL2dzbS03Yml0LWNoYXJzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NhdWNhU21zU2VnbWVudENhbGN1bGF0b3JdJyxcbn0pXG5leHBvcnQgY2xhc3MgU21zU2VnbWVudENhbGN1bGF0b3JEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQE91dHB1dCgpIHB1YmxpYyBzZWdtZW50Q291bnRDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIHByaXZhdGUgc2VnbWVudENvdW50ID0gMDtcbiAgcHJpdmF0ZSBtZXNzYWdlTGVuZ3RoID0ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICBHU003OiAxNjAsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgIEdTTTdleHQ6IDE2MCxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgVVRGMTY6IDcwXG4gIH07XG4gIHByaXZhdGUgbXVsdGlNZXNzYWdlTGVuZ3RoID0ge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICAgR1NNNzogMTUzLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICAgR1NNN2V4dDogMTUzLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICAgVVRGMTY6IDY3XG4gIH07XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZlxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vbklucHV0KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCc6aW5wdXQnKVxuICBwdWJsaWMgb25JbnB1dCgpIHtcbiAgICB0aGlzLmNoZWNrTnVtYmVyT2ZTZWdtZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tOdW1iZXJPZlNlZ21lbnQodGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3Qgc2VnbWVudENvdW50ID0gdGhpcy5jb3VudE51bWJlck9mU2VnbWVudCh0ZXh0KTtcblxuICAgIGlmICh0aGlzLnNlZ21lbnRDb3VudCAhPT0gc2VnbWVudENvdW50KSB7XG4gICAgICB0aGlzLnNlZ21lbnRDb3VudENoYW5nZWQuZW1pdChzZWdtZW50Q291bnQpO1xuICAgICAgdGhpcy5zZWdtZW50Q291bnQgPSBzZWdtZW50Q291bnQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjb3VudE51bWJlck9mU2VnbWVudCh0ZXh0OiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGlmICghdGV4dCkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBjb25zdCBsZW5ndGggPSB0aGlzLmNvdW50U21zQ2hhcnModGV4dCk7XG4gICAgY29uc3QgY2hhcnNldCA9IHRoaXMuZ2V0Q2hhcnNldCh0ZXh0KTtcbiAgICBjb25zdCBwZXJNZXNzYWdlID0gKGxlbmd0aCA+IHRoaXMubWVzc2FnZUxlbmd0aFtjaGFyc2V0XSA/IHRoaXMubXVsdGlNZXNzYWdlTGVuZ3RoW2NoYXJzZXRdIDogdGhpcy5tZXNzYWdlTGVuZ3RoW2NoYXJzZXRdKTtcblxuICAgIHJldHVybiBNYXRoLmNlaWwobGVuZ3RoIC8gcGVyTWVzc2FnZSk7XG4gIH1cblxuICBwcml2YXRlIGNvdW50U21zQ2hhcnModGV4dDogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBsZXQgbGVuZ3RoID0gdGV4dC5sZW5ndGg7XG4gICAgY29uc3QgY2hhcnNldCA9IHRoaXMuZ2V0Q2hhcnNldCh0ZXh0KTtcblxuICAgIGlmIChjaGFyc2V0ID09PSAnR1NNN2V4dCcpIHtcbiAgICAgICAgbGVuZ3RoICs9IHRoaXMuY291bnRHc203Yml0RXh0KHRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiBsZW5ndGg7XG4gIH1cblxuICBwcml2YXRlIGNvdW50R3NtN2JpdEV4dCh0ZXh0OiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGxldCBjaGFyMjtcbiAgICBjb25zdCBjaGFycyA9ICgpID0+IHtcbiAgICAgICAgbGV0IF9pOyBsZXQgX2xlbjtcbiAgICAgICAgY29uc3QgX3Jlc3VsdHMgPSBbXTtcblxuICAgICAgICBmb3IgKF9pID0gMCwgX2xlbiA9IHRleHQubGVuZ3RoOyBfaSA8IF9sZW47IF9pKyspIHtcbiAgICAgICAgICAgIGNoYXIyID0gdGV4dFtfaV07XG4gICAgICAgICAgICBpZiAoY2hhcjIubWF0Y2goR3NtN2JpdENoYXJzLmdzbTdiaXRFeHRPbmx5UmVnRXhwKSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgX3Jlc3VsdHMucHVzaChjaGFyMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9yZXN1bHRzO1xuICAgIH07XG5cbiAgICByZXR1cm4gY2hhcnMubGVuZ3RoO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDaGFyc2V0KHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgc3dpdGNoIChmYWxzZSkge1xuICAgICAgICBjYXNlIHRleHQubWF0Y2goR3NtN2JpdENoYXJzLmdzbTdiaXRSZWdFeHApID09IG51bGw6XG4gICAgICAgICAgICByZXR1cm4gJ0dTTTcnO1xuICAgICAgICBjYXNlIHRleHQubWF0Y2goR3NtN2JpdENoYXJzLmdzbTdiaXRFeHRSZWdFeHApID09IG51bGw6XG4gICAgICAgICAgICByZXR1cm4gJ0dTTTdleHQnO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuICdVVEYxNic7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,46 @@
1
+ import { Directive, EventEmitter, HostListener, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class UrlDetectorDirective {
4
+ constructor(elementRef) {
5
+ this.elementRef = elementRef;
6
+ this.hasUrlChanged = new EventEmitter();
7
+ this.hasUrl = false;
8
+ }
9
+ ngAfterViewInit() {
10
+ this.onInput();
11
+ }
12
+ onInput() {
13
+ this.checkIfTextHasUrl(this.elementRef.nativeElement.value);
14
+ }
15
+ checkIfTextHasUrl(text) {
16
+ const hasUrl = this.checkForUrl(text);
17
+ if (this.hasUrl !== hasUrl) {
18
+ this.hasUrlChanged.emit(hasUrl);
19
+ this.hasUrl = hasUrl;
20
+ }
21
+ }
22
+ checkForUrl(text) {
23
+ if (!text) {
24
+ return false;
25
+ }
26
+ const fullUrl = /((?:(http|https|rtsp|file|ftp|ftps|sftp):\/\/(?:(?:[a-zA-Z0-9\$\-\_\.\+\!\*\'\(\)\,\;\?\&\=]|(?:\%[a-fA-F0-9]{2})){1,64}(?:\:(?:[a-zA-Z0-9\$\-\_\.\+\!\*\'\(\)\,\;\?\&\=]|(?:\%[a-fA-F0-9]{2})){1,25})?\@)?)?((?:(?:[a-zA-Z0-9][a-zA-Z0-9\-]{0,64}\.)+(?:(?:aero|arpa|asia|a[cdefgilmnoqrstuwxz])|(?:biz|b[abdefghijmnorstvwyz])|(?:cat|com|coop|c[acdfghiklmnoruvxyz])|d[ejkmoz]|(?:edu|e[cegrstu])|f[ijkmor]|(?:gov|g[abdefghilmnpqrstuwy])|h[kmnrtu]|(?:info|int|i[delmnoqrst])|(?:jobs|j[emop])|k[eghimnrwyz]|l[abcikrstuvy]|(?:mil|mobi|museum|m[acdghklmnopqrstuvwxyz])|(?:name|net|n[acefgilopruz])|(?:org|om)|(?:pro|p[aefghklmnrstwy])|qa|r[eouw]|s[abcdeghijklmnortuvyz]|(?:tel|travel|t[cdfghjklmnoprtvwz])|u[agkmsyz]|v[aceginu]|w[fs]|y[etu]|z[amw]))|(?:(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9])\.(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)\.(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)\.(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[0-9])))(?:\:\d{1,5})?)(\/(?:(?:[a-zA-Z0-9\;\/\?\:\@\&\=\#\~\-\.\+\!\*\'\(\)\,\_])|(?:\%[a-fA-F0-9]{2}))*)?(?:\b|$)/gim;
27
+ const partialUrl = /((?:(http|https|rtsp|file|ftp|ftps|sftp):\/\/(?:(?:[a-zA-Z0-9\$\-\_\.\+\!\*\'\(\)\,\;\?\&\=]|(?:\%[a-fA-F0-9]{2})){1,64}(?:\:(?:[a-zA-Z0-9\$\-\_\.\+\!\*\'\(\)\,\;\?\&\=]|(?:\%[a-fA-F0-9]{2})){1,25})?\@)?)?((?:(?:[a-zA-Z0-9][a-zA-Z0-9\-]{0,64}))))/gim;
28
+ return fullUrl.test(text) || partialUrl.test(text);
29
+ }
30
+ static { this.ɵfac = function UrlDetectorDirective_Factory(t) { return new (t || UrlDetectorDirective)(i0.ɵɵdirectiveInject(i0.ElementRef)); }; }
31
+ static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: UrlDetectorDirective, selectors: [["", "caucaUrlDetector", ""]], hostBindings: function UrlDetectorDirective_HostBindings(rf, ctx) { if (rf & 1) {
32
+ i0.ɵɵlistener("input", function UrlDetectorDirective_input_HostBindingHandler() { return ctx.onInput(); });
33
+ } }, outputs: { hasUrlChanged: "hasUrlChanged" } }); }
34
+ }
35
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UrlDetectorDirective, [{
36
+ type: Directive,
37
+ args: [{
38
+ selector: '[caucaUrlDetector]'
39
+ }]
40
+ }], function () { return [{ type: i0.ElementRef }]; }, { hasUrlChanged: [{
41
+ type: Output
42
+ }], onInput: [{
43
+ type: HostListener,
44
+ args: [':input']
45
+ }] }); })();
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLWRldGVjdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhdWNhLWlucHV0LXZhbGlkYXRvcnMvc3JjL2xpYi9zaGFyZWQvZGlyZWN0aXZlcy91cmwtZGV0ZWN0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUt6RyxNQUFNLE9BQU8sb0JBQW9CO0lBTS9CLFlBQ1UsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUxmLGtCQUFhLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFFNUUsV0FBTSxHQUFHLEtBQUssQ0FBQztJQUluQixDQUFDO0lBRUUsZUFBZTtRQUNwQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUdNLE9BQU87UUFDWixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLGlCQUFpQixDQUFDLElBQVk7UUFDcEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV0QyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFO1lBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVPLFdBQVcsQ0FBQyxJQUFZO1FBQzlCLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELE1BQU0sT0FBTyxHQUFHLDBqQ0FBMGpDLENBQUM7UUFDM2tDLE1BQU0sVUFBVSxHQUFHLDJQQUEyUCxDQUFDO1FBRS9RLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7cUZBckNVLG9CQUFvQjtvRUFBcEIsb0JBQW9CO3FHQUFwQixhQUFTOzs7dUZBQVQsb0JBQW9CO2NBSGhDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2FBQy9COzZEQUdrQixhQUFhO2tCQUE3QixNQUFNO1lBYUEsT0FBTztrQkFEYixZQUFZO21CQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NhdWNhVXJsRGV0ZWN0b3JdJ1xufSlcbmV4cG9ydCBjbGFzcyBVcmxEZXRlY3RvckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgaGFzVXJsQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHByaXZhdGUgaGFzVXJsID0gZmFsc2U7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZlxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vbklucHV0KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCc6aW5wdXQnKVxuICBwdWJsaWMgb25JbnB1dCgpIHtcbiAgICB0aGlzLmNoZWNrSWZUZXh0SGFzVXJsKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tJZlRleHRIYXNVcmwodGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgaGFzVXJsID0gdGhpcy5jaGVja0ZvclVybCh0ZXh0KTtcblxuICAgIGlmICh0aGlzLmhhc1VybCAhPT0gaGFzVXJsKSB7XG4gICAgICB0aGlzLmhhc1VybENoYW5nZWQuZW1pdChoYXNVcmwpO1xuICAgICAgdGhpcy5oYXNVcmwgPSBoYXNVcmw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0ZvclVybCh0ZXh0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoIXRleHQpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGZ1bGxVcmwgPSAvKCg/OihodHRwfGh0dHBzfHJ0c3B8ZmlsZXxmdHB8ZnRwc3xzZnRwKTpcXC9cXC8oPzooPzpbYS16QS1aMC05XFwkXFwtXFxfXFwuXFwrXFwhXFwqXFwnXFwoXFwpXFwsXFw7XFw/XFwmXFw9XXwoPzpcXCVbYS1mQS1GMC05XXsyfSkpezEsNjR9KD86XFw6KD86W2EtekEtWjAtOVxcJFxcLVxcX1xcLlxcK1xcIVxcKlxcJ1xcKFxcKVxcLFxcO1xcP1xcJlxcPV18KD86XFwlW2EtZkEtRjAtOV17Mn0pKXsxLDI1fSk/XFxAKT8pPygoPzooPzpbYS16QS1aMC05XVthLXpBLVowLTlcXC1dezAsNjR9XFwuKSsoPzooPzphZXJvfGFycGF8YXNpYXxhW2NkZWZnaWxtbm9xcnN0dXd4el0pfCg/OmJpenxiW2FiZGVmZ2hpam1ub3JzdHZ3eXpdKXwoPzpjYXR8Y29tfGNvb3B8Y1thY2RmZ2hpa2xtbm9ydXZ4eXpdKXxkW2Vqa21vel18KD86ZWR1fGVbY2VncnN0dV0pfGZbaWprbW9yXXwoPzpnb3Z8Z1thYmRlZmdoaWxtbnBxcnN0dXd5XSl8aFtrbW5ydHVdfCg/OmluZm98aW50fGlbZGVsbW5vcXJzdF0pfCg/OmpvYnN8altlbW9wXSl8a1tlZ2hpbW5yd3l6XXxsW2FiY2lrcnN0dXZ5XXwoPzptaWx8bW9iaXxtdXNldW18bVthY2RnaGtsbW5vcHFyc3R1dnd4eXpdKXwoPzpuYW1lfG5ldHxuW2FjZWZnaWxvcHJ1el0pfCg/Om9yZ3xvbSl8KD86cHJvfHBbYWVmZ2hrbG1ucnN0d3ldKXxxYXxyW2VvdXddfHNbYWJjZGVnaGlqa2xtbm9ydHV2eXpdfCg/OnRlbHx0cmF2ZWx8dFtjZGZnaGprbG1ub3BydHZ3el0pfHVbYWdrbXN5el18dlthY2VnaW51XXx3W2ZzXXx5W2V0dV18elthbXddKSl8KD86KD86MjVbMC01XXwyWzAtNF1bMC05XXxbMC0xXVswLTldezJ9fFsxLTldWzAtOV18WzEtOV0pXFwuKD86MjVbMC01XXwyWzAtNF1bMC05XXxbMC0xXVswLTldezJ9fFsxLTldWzAtOV18WzEtOV18MClcXC4oPzoyNVswLTVdfDJbMC00XVswLTldfFswLTFdWzAtOV17Mn18WzEtOV1bMC05XXxbMS05XXwwKVxcLig/OjI1WzAtNV18MlswLTRdWzAtOV18WzAtMV1bMC05XXsyfXxbMS05XVswLTldfFswLTldKSkpKD86XFw6XFxkezEsNX0pPykoXFwvKD86KD86W2EtekEtWjAtOVxcO1xcL1xcP1xcOlxcQFxcJlxcPVxcI1xcflxcLVxcLlxcK1xcIVxcKlxcJ1xcKFxcKVxcLFxcX10pfCg/OlxcJVthLWZBLUYwLTldezJ9KSkqKT8oPzpcXGJ8JCkvZ2ltO1xuICAgIGNvbnN0IHBhcnRpYWxVcmwgPSAvKCg/OihodHRwfGh0dHBzfHJ0c3B8ZmlsZXxmdHB8ZnRwc3xzZnRwKTpcXC9cXC8oPzooPzpbYS16QS1aMC05XFwkXFwtXFxfXFwuXFwrXFwhXFwqXFwnXFwoXFwpXFwsXFw7XFw/XFwmXFw9XXwoPzpcXCVbYS1mQS1GMC05XXsyfSkpezEsNjR9KD86XFw6KD86W2EtekEtWjAtOVxcJFxcLVxcX1xcLlxcK1xcIVxcKlxcJ1xcKFxcKVxcLFxcO1xcP1xcJlxcPV18KD86XFwlW2EtZkEtRjAtOV17Mn0pKXsxLDI1fSk/XFxAKT8pPygoPzooPzpbYS16QS1aMC05XVthLXpBLVowLTlcXC1dezAsNjR9KSkpKS9naW07XG5cbiAgICByZXR1cm4gZnVsbFVybC50ZXN0KHRleHQpIHx8IHBhcnRpYWxVcmwudGVzdCh0ZXh0KTtcbiAgfVxuXG59XG4iXX0=
@@ -4,4 +4,6 @@
4
4
  export * from './lib/cauca-input-validators.module';
5
5
  export { SmsAvoidCharactersDirective } from './lib/shared/directives/sms-avoid-characters.directive';
6
6
  export { SmsSegmentCalculatorDirective } from './lib/shared/directives/sms-segment-calculator.directive';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NhdWNhLWlucHV0LXZhbGlkYXRvcnMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHFDQUFxQyxDQUFDO0FBRXBELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjYXVjYS1pbnB1dC12YWxpZGF0b3JzXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY2F1Y2EtaW5wdXQtdmFsaWRhdG9ycy5tb2R1bGUnO1xuXG5leHBvcnQgeyBTbXNBdm9pZENoYXJhY3RlcnNEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9zaGFyZWQvZGlyZWN0aXZlcy9zbXMtYXZvaWQtY2hhcmFjdGVycy5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgU21zU2VnbWVudENhbGN1bGF0b3JEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9zaGFyZWQvZGlyZWN0aXZlcy9zbXMtc2VnbWVudC1jYWxjdWxhdG9yLmRpcmVjdGl2ZSc7Il19
7
+ export { PhoneNumberDetectorDirective } from './lib/shared/directives/phone-number-detector.directive';
8
+ export { UrlDetectorDirective } from './lib/shared/directives/url-detector.directive';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NhdWNhLWlucHV0LXZhbGlkYXRvcnMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHFDQUFxQyxDQUFDO0FBRXBELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjYXVjYS1pbnB1dC12YWxpZGF0b3JzXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY2F1Y2EtaW5wdXQtdmFsaWRhdG9ycy5tb2R1bGUnO1xuXG5leHBvcnQgeyBTbXNBdm9pZENoYXJhY3RlcnNEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9zaGFyZWQvZGlyZWN0aXZlcy9zbXMtYXZvaWQtY2hhcmFjdGVycy5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgU21zU2VnbWVudENhbGN1bGF0b3JEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9zaGFyZWQvZGlyZWN0aXZlcy9zbXMtc2VnbWVudC1jYWxjdWxhdG9yLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBQaG9uZU51bWJlckRldGVjdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi9saWIvc2hhcmVkL2RpcmVjdGl2ZXMvcGhvbmUtbnVtYmVyLWRldGVjdG9yLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBVcmxEZXRlY3RvckRpcmVjdGl2ZSB9IGZyb20gJy4vbGliL3NoYXJlZC9kaXJlY3RpdmVzL3VybC1kZXRlY3Rvci5kaXJlY3RpdmUnOyJdfQ==
@@ -31,6 +31,8 @@ class SmsSegmentCalculatorDirective {
31
31
  // eslint-disable-next-line @typescript-eslint/naming-convention
32
32
  UTF16: 67
33
33
  };
34
+ }
35
+ ngAfterViewInit() {
34
36
  this.onInput();
35
37
  }
36
38
  onInput() {
@@ -110,6 +112,8 @@ class SmsAvoidCharactersDirective {
110
112
  this.charsToReplaceChanged = new EventEmitter();
111
113
  this.charsToAvoid = [];
112
114
  this.charsToReplace = [];
115
+ }
116
+ ngAfterViewInit() {
113
117
  this.onInput();
114
118
  }
115
119
  onInput() {
@@ -157,6 +161,93 @@ class SmsAvoidCharactersDirective {
157
161
  args: [':input']
158
162
  }] }); })();
159
163
 
164
+ class PhoneNumberDetectorDirective {
165
+ constructor(elementRef) {
166
+ this.elementRef = elementRef;
167
+ this.hasPhoneNumberChanged = new EventEmitter();
168
+ this.hasPhoneNumber = false;
169
+ }
170
+ ngAfterViewInit() {
171
+ this.onInput();
172
+ }
173
+ onInput() {
174
+ this.checkIfTextHasPhoneNumber(this.elementRef.nativeElement.value);
175
+ }
176
+ checkIfTextHasPhoneNumber(text) {
177
+ const hasPhoneNumber = this.checkForPhoneNumber(text);
178
+ if (this.hasPhoneNumber !== hasPhoneNumber) {
179
+ this.hasPhoneNumberChanged.emit(hasPhoneNumber);
180
+ this.hasPhoneNumber = hasPhoneNumber;
181
+ }
182
+ }
183
+ checkForPhoneNumber(text) {
184
+ if (!text) {
185
+ return false;
186
+ }
187
+ const regex = /^\(?(\d{3})\)?[- .]?(\d{3})[- .]?(\d{4})$/gm;
188
+ return regex.test(text);
189
+ }
190
+ static { this.ɵfac = function PhoneNumberDetectorDirective_Factory(t) { return new (t || PhoneNumberDetectorDirective)(i0.ɵɵdirectiveInject(i0.ElementRef)); }; }
191
+ static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PhoneNumberDetectorDirective, selectors: [["", "caucaPhoneNumberDetector", ""]], hostBindings: function PhoneNumberDetectorDirective_HostBindings(rf, ctx) { if (rf & 1) {
192
+ i0.ɵɵlistener("input", function PhoneNumberDetectorDirective_input_HostBindingHandler() { return ctx.onInput(); });
193
+ } }, outputs: { hasPhoneNumberChanged: "hasPhoneNumberChanged" } }); }
194
+ }
195
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PhoneNumberDetectorDirective, [{
196
+ type: Directive,
197
+ args: [{
198
+ selector: '[caucaPhoneNumberDetector]'
199
+ }]
200
+ }], function () { return [{ type: i0.ElementRef }]; }, { hasPhoneNumberChanged: [{
201
+ type: Output
202
+ }], onInput: [{
203
+ type: HostListener,
204
+ args: [':input']
205
+ }] }); })();
206
+
207
+ class UrlDetectorDirective {
208
+ constructor(elementRef) {
209
+ this.elementRef = elementRef;
210
+ this.hasUrlChanged = new EventEmitter();
211
+ this.hasUrl = false;
212
+ }
213
+ ngAfterViewInit() {
214
+ this.onInput();
215
+ }
216
+ onInput() {
217
+ this.checkIfTextHasUrl(this.elementRef.nativeElement.value);
218
+ }
219
+ checkIfTextHasUrl(text) {
220
+ const hasUrl = this.checkForUrl(text);
221
+ if (this.hasUrl !== hasUrl) {
222
+ this.hasUrlChanged.emit(hasUrl);
223
+ this.hasUrl = hasUrl;
224
+ }
225
+ }
226
+ checkForUrl(text) {
227
+ if (!text) {
228
+ return false;
229
+ }
230
+ const fullUrl = /((?:(http|https|rtsp|file|ftp|ftps|sftp):\/\/(?:(?:[a-zA-Z0-9\$\-\_\.\+\!\*\'\(\)\,\;\?\&\=]|(?:\%[a-fA-F0-9]{2})){1,64}(?:\:(?:[a-zA-Z0-9\$\-\_\.\+\!\*\'\(\)\,\;\?\&\=]|(?:\%[a-fA-F0-9]{2})){1,25})?\@)?)?((?:(?:[a-zA-Z0-9][a-zA-Z0-9\-]{0,64}\.)+(?:(?:aero|arpa|asia|a[cdefgilmnoqrstuwxz])|(?:biz|b[abdefghijmnorstvwyz])|(?:cat|com|coop|c[acdfghiklmnoruvxyz])|d[ejkmoz]|(?:edu|e[cegrstu])|f[ijkmor]|(?:gov|g[abdefghilmnpqrstuwy])|h[kmnrtu]|(?:info|int|i[delmnoqrst])|(?:jobs|j[emop])|k[eghimnrwyz]|l[abcikrstuvy]|(?:mil|mobi|museum|m[acdghklmnopqrstuvwxyz])|(?:name|net|n[acefgilopruz])|(?:org|om)|(?:pro|p[aefghklmnrstwy])|qa|r[eouw]|s[abcdeghijklmnortuvyz]|(?:tel|travel|t[cdfghjklmnoprtvwz])|u[agkmsyz]|v[aceginu]|w[fs]|y[etu]|z[amw]))|(?:(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9])\.(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)\.(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)\.(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[0-9])))(?:\:\d{1,5})?)(\/(?:(?:[a-zA-Z0-9\;\/\?\:\@\&\=\#\~\-\.\+\!\*\'\(\)\,\_])|(?:\%[a-fA-F0-9]{2}))*)?(?:\b|$)/gim;
231
+ const partialUrl = /((?:(http|https|rtsp|file|ftp|ftps|sftp):\/\/(?:(?:[a-zA-Z0-9\$\-\_\.\+\!\*\'\(\)\,\;\?\&\=]|(?:\%[a-fA-F0-9]{2})){1,64}(?:\:(?:[a-zA-Z0-9\$\-\_\.\+\!\*\'\(\)\,\;\?\&\=]|(?:\%[a-fA-F0-9]{2})){1,25})?\@)?)?((?:(?:[a-zA-Z0-9][a-zA-Z0-9\-]{0,64}))))/gim;
232
+ return fullUrl.test(text) || partialUrl.test(text);
233
+ }
234
+ static { this.ɵfac = function UrlDetectorDirective_Factory(t) { return new (t || UrlDetectorDirective)(i0.ɵɵdirectiveInject(i0.ElementRef)); }; }
235
+ static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: UrlDetectorDirective, selectors: [["", "caucaUrlDetector", ""]], hostBindings: function UrlDetectorDirective_HostBindings(rf, ctx) { if (rf & 1) {
236
+ i0.ɵɵlistener("input", function UrlDetectorDirective_input_HostBindingHandler() { return ctx.onInput(); });
237
+ } }, outputs: { hasUrlChanged: "hasUrlChanged" } }); }
238
+ }
239
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UrlDetectorDirective, [{
240
+ type: Directive,
241
+ args: [{
242
+ selector: '[caucaUrlDetector]'
243
+ }]
244
+ }], function () { return [{ type: i0.ElementRef }]; }, { hasUrlChanged: [{
245
+ type: Output
246
+ }], onInput: [{
247
+ type: HostListener,
248
+ args: [':input']
249
+ }] }); })();
250
+
160
251
  class CaucaInputValidatorsModule {
161
252
  static { this.ɵfac = function CaucaInputValidatorsModule_Factory(t) { return new (t || CaucaInputValidatorsModule)(); }; }
162
253
  static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: CaucaInputValidatorsModule }); }
@@ -168,10 +259,14 @@ class CaucaInputValidatorsModule {
168
259
  declarations: [
169
260
  SmsSegmentCalculatorDirective,
170
261
  SmsAvoidCharactersDirective,
262
+ PhoneNumberDetectorDirective,
263
+ UrlDetectorDirective,
171
264
  ],
172
265
  exports: [
173
266
  SmsSegmentCalculatorDirective,
174
267
  SmsAvoidCharactersDirective,
268
+ PhoneNumberDetectorDirective,
269
+ UrlDetectorDirective,
175
270
  ],
176
271
  imports: [
177
272
  CommonModule
@@ -179,8 +274,12 @@ class CaucaInputValidatorsModule {
179
274
  }]
180
275
  }], null, null); })();
181
276
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(CaucaInputValidatorsModule, { declarations: [SmsSegmentCalculatorDirective,
182
- SmsAvoidCharactersDirective], imports: [CommonModule], exports: [SmsSegmentCalculatorDirective,
183
- SmsAvoidCharactersDirective] }); })();
277
+ SmsAvoidCharactersDirective,
278
+ PhoneNumberDetectorDirective,
279
+ UrlDetectorDirective], imports: [CommonModule], exports: [SmsSegmentCalculatorDirective,
280
+ SmsAvoidCharactersDirective,
281
+ PhoneNumberDetectorDirective,
282
+ UrlDetectorDirective] }); })();
184
283
 
185
284
  /*
186
285
  * Public API Surface of cauca-input-validators
@@ -190,5 +289,5 @@ class CaucaInputValidatorsModule {
190
289
  * Generated bundle index. Do not edit.
191
290
  */
192
291
 
193
- export { CaucaInputValidatorsModule, SmsAvoidCharactersDirective, SmsSegmentCalculatorDirective };
292
+ export { CaucaInputValidatorsModule, PhoneNumberDetectorDirective, SmsAvoidCharactersDirective, SmsSegmentCalculatorDirective, UrlDetectorDirective };
194
293
  //# sourceMappingURL=cauca-911-input-validators.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"cauca-911-input-validators.mjs","sources":["../../../projects/cauca-input-validators/src/lib/shared/models/gsm-7bit-chars.ts","../../../projects/cauca-input-validators/src/lib/shared/directives/sms-segment-calculator.directive.ts","../../../projects/cauca-input-validators/src/lib/shared/directives/sms-avoid-characters.directive.ts","../../../projects/cauca-input-validators/src/lib/cauca-input-validators.module.ts","../../../projects/cauca-input-validators/src/public-api.ts","../../../projects/cauca-input-validators/src/cauca-911-input-validators.ts"],"sourcesContent":["export class Gsm7bitChars {\n public static gsm7bitChars = '@£$¥èéùìòÇ\\\\nØø\\\\rÅåΔ_ΦΓΛΩΠΨΣΘΞÆæßÉ !\\\\\"#¤%&\\'()*+,-./0123456789:;<=>?¡ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÑܧ¿abcdefghijklmnopqrstuvwxyzäöñüà';\n public static gsm7bitCharsExt = '\\\\^{}\\\\\\\\\\\\[~\\\\]|€';\n public static gsm7bitRegExp = RegExp('^[' + Gsm7bitChars.gsm7bitChars + ']*$');\n public static gsm7bitExtRegExp = RegExp('^[' + Gsm7bitChars.gsm7bitChars + Gsm7bitChars.gsm7bitCharsExt + ']*$');\n public static gsm7bitExtOnlyRegExp = RegExp('^[' + Gsm7bitChars.gsm7bitCharsExt + ']*$');\n}","import { Directive, ElementRef, EventEmitter, HostListener, Output } from '@angular/core';\nimport { Gsm7bitChars } from '../models/gsm-7bit-chars';\n\n@Directive({\n selector: '[caucaSmsSegmentCalculator]',\n})\nexport class SmsSegmentCalculatorDirective {\n @Output() public segmentCountChanged: EventEmitter<number> = new EventEmitter<number>();\n\n private segmentCount = 0;\n private messageLength = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n GSM7: 160,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n GSM7ext: 160,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n UTF16: 70\n };\n private multiMessageLength = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n GSM7: 153,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n GSM7ext: 153,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n UTF16: 67\n };\n\n public constructor(\n private elementRef: ElementRef\n ) {\n this.onInput();\n }\n\n @HostListener(':input')\n public onInput() {\n this.checkNumberOfSegment(this.elementRef.nativeElement.value);\n }\n\n private checkNumberOfSegment(text: string): void {\n const segmentCount = this.countNumberOfSegment(text);\n\n if (this.segmentCount !== segmentCount) {\n this.segmentCountChanged.emit(segmentCount);\n this.segmentCount = segmentCount;\n }\n }\n\n private countNumberOfSegment(text: string): number {\n if (!text) {\n return 0;\n }\n\n const length = this.countSmsChars(text);\n const charset = this.getCharset(text);\n const perMessage = (length > this.messageLength[charset] ? this.multiMessageLength[charset] : this.messageLength[charset]);\n\n return Math.ceil(length / perMessage);\n }\n\n private countSmsChars(text: string): number {\n let length = text.length;\n const charset = this.getCharset(text);\n\n if (charset === 'GSM7ext') {\n length += this.countGsm7bitExt(text);\n }\n\n return length;\n }\n\n private countGsm7bitExt(text: string): number {\n let char2;\n const chars = () => {\n let _i; let _len;\n const _results = [];\n\n for (_i = 0, _len = text.length; _i < _len; _i++) {\n char2 = text[_i];\n if (char2.match(Gsm7bitChars.gsm7bitExtOnlyRegExp) != null) {\n _results.push(char2);\n }\n }\n return _results;\n };\n\n return chars.length;\n }\n\n private getCharset(text: string): string {\n switch (false) {\n case text.match(Gsm7bitChars.gsm7bitRegExp) == null:\n return 'GSM7';\n case text.match(Gsm7bitChars.gsm7bitExtRegExp) == null:\n return 'GSM7ext';\n default:\n return 'UTF16';\n }\n }\n}\n","import { Directive, ElementRef, EventEmitter, HostListener, Output } from '@angular/core';\nimport { Gsm7bitChars } from '../models/gsm-7bit-chars';\n\ninterface CharsList {\n charsToAvoid: string[];\n charsToReplace: string[];\n}\n\n@Directive({\n selector: '[caucaSmsAvoidCharacters]'\n})\nexport class SmsAvoidCharactersDirective {\n\n @Output() public charsToAvoidChanged: EventEmitter<string[]> = new EventEmitter<string[]>();\n @Output() public charsToReplaceChanged: EventEmitter<string[]> = new EventEmitter<string[]>();\n\n private charsToAvoid: string[] = [];\n private charsToReplace: string[] = [];\n\n public constructor(\n private elementRef: ElementRef\n ) {\n this.onInput();\n }\n\n @HostListener(':input')\n public onInput() {\n this.checkCharacterException(this.elementRef.nativeElement.value);\n }\n\n private checkCharacterException(text: string): void {\n const charsList = this.listUTF16Chars(text);\n\n if (this.compareCharsList(this.charsToAvoid, charsList.charsToAvoid)) {\n this.charsToAvoidChanged.emit(charsList.charsToAvoid);\n this.charsToAvoid = charsList.charsToAvoid;\n }\n if (this.compareCharsList(this.charsToReplace, charsList.charsToReplace)) {\n this.charsToReplaceChanged.emit(charsList.charsToReplace);\n this.charsToReplace = charsList.charsToReplace;\n }\n }\n\n private listUTF16Chars(text: string): CharsList {\n const charToAvoidOrReplace = text.replace(new RegExp('([' + Gsm7bitChars.gsm7bitChars + ']+)', 'g'), '');\n const charToReplace = charToAvoidOrReplace.replace(new RegExp('([' + Gsm7bitChars.gsm7bitCharsExt + ']+)', 'g'), '');\n const charToAvoid = charToAvoidOrReplace.match(new RegExp('([' + Gsm7bitChars.gsm7bitCharsExt + ']+)', 'g'));\n\n return {\n charsToAvoid: charToAvoid || [],\n charsToReplace: charToReplace ? charToReplace.split('') : []\n };\n }\n\n private compareCharsList(list1: string[], list2: string[]): boolean {\n return JSON.stringify(list1) !== JSON.stringify(list2);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SmsSegmentCalculatorDirective } from './shared/directives/sms-segment-calculator.directive';\nimport { SmsAvoidCharactersDirective } from './shared/directives/sms-avoid-characters.directive';\n\n@NgModule({\n declarations: [\n SmsSegmentCalculatorDirective,\n SmsAvoidCharactersDirective,\n ],\n exports: [\n SmsSegmentCalculatorDirective,\n SmsAvoidCharactersDirective,\n ],\n imports: [\n CommonModule\n ],\n})\nexport class CaucaInputValidatorsModule { }\n","/*\n * Public API Surface of cauca-input-validators\n */\n\nexport * from './lib/cauca-input-validators.module';\n\nexport { SmsAvoidCharactersDirective } from './lib/shared/directives/sms-avoid-characters.directive';\nexport { SmsSegmentCalculatorDirective } from './lib/shared/directives/sms-segment-calculator.directive';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cauca-911-input-validators.mjs","sources":["../../../projects/cauca-input-validators/src/lib/shared/models/gsm-7bit-chars.ts","../../../projects/cauca-input-validators/src/lib/shared/directives/sms-segment-calculator.directive.ts","../../../projects/cauca-input-validators/src/lib/shared/directives/sms-avoid-characters.directive.ts","../../../projects/cauca-input-validators/src/lib/shared/directives/phone-number-detector.directive.ts","../../../projects/cauca-input-validators/src/lib/shared/directives/url-detector.directive.ts","../../../projects/cauca-input-validators/src/lib/cauca-input-validators.module.ts","../../../projects/cauca-input-validators/src/public-api.ts","../../../projects/cauca-input-validators/src/cauca-911-input-validators.ts"],"sourcesContent":["export class Gsm7bitChars {\n public static gsm7bitChars = '@£$¥èéùìòÇ\\\\nØø\\\\rÅåΔ_ΦΓΛΩΠΨΣΘΞÆæßÉ !\\\\\"#¤%&\\'()*+,-./0123456789:;<=>?¡ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÑܧ¿abcdefghijklmnopqrstuvwxyzäöñüà';\n public static gsm7bitCharsExt = '\\\\^{}\\\\\\\\\\\\[~\\\\]|€';\n public static gsm7bitRegExp = RegExp('^[' + Gsm7bitChars.gsm7bitChars + ']*$');\n public static gsm7bitExtRegExp = RegExp('^[' + Gsm7bitChars.gsm7bitChars + Gsm7bitChars.gsm7bitCharsExt + ']*$');\n public static gsm7bitExtOnlyRegExp = RegExp('^[' + Gsm7bitChars.gsm7bitCharsExt + ']*$');\n}","import { AfterViewInit, Directive, ElementRef, EventEmitter, HostListener, Output } from '@angular/core';\nimport { Gsm7bitChars } from '../models/gsm-7bit-chars';\n\n@Directive({\n selector: '[caucaSmsSegmentCalculator]',\n})\nexport class SmsSegmentCalculatorDirective implements AfterViewInit {\n @Output() public segmentCountChanged: EventEmitter<number> = new EventEmitter<number>();\n\n private segmentCount = 0;\n private messageLength = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n GSM7: 160,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n GSM7ext: 160,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n UTF16: 70\n };\n private multiMessageLength = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n GSM7: 153,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n GSM7ext: 153,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n UTF16: 67\n };\n\n public constructor(\n private elementRef: ElementRef\n ) {\n }\n\n public ngAfterViewInit(): void {\n this.onInput();\n }\n\n @HostListener(':input')\n public onInput() {\n this.checkNumberOfSegment(this.elementRef.nativeElement.value);\n }\n\n private checkNumberOfSegment(text: string): void {\n const segmentCount = this.countNumberOfSegment(text);\n\n if (this.segmentCount !== segmentCount) {\n this.segmentCountChanged.emit(segmentCount);\n this.segmentCount = segmentCount;\n }\n }\n\n private countNumberOfSegment(text: string): number {\n if (!text) {\n return 0;\n }\n\n const length = this.countSmsChars(text);\n const charset = this.getCharset(text);\n const perMessage = (length > this.messageLength[charset] ? this.multiMessageLength[charset] : this.messageLength[charset]);\n\n return Math.ceil(length / perMessage);\n }\n\n private countSmsChars(text: string): number {\n let length = text.length;\n const charset = this.getCharset(text);\n\n if (charset === 'GSM7ext') {\n length += this.countGsm7bitExt(text);\n }\n\n return length;\n }\n\n private countGsm7bitExt(text: string): number {\n let char2;\n const chars = () => {\n let _i; let _len;\n const _results = [];\n\n for (_i = 0, _len = text.length; _i < _len; _i++) {\n char2 = text[_i];\n if (char2.match(Gsm7bitChars.gsm7bitExtOnlyRegExp) != null) {\n _results.push(char2);\n }\n }\n return _results;\n };\n\n return chars.length;\n }\n\n private getCharset(text: string): string {\n switch (false) {\n case text.match(Gsm7bitChars.gsm7bitRegExp) == null:\n return 'GSM7';\n case text.match(Gsm7bitChars.gsm7bitExtRegExp) == null:\n return 'GSM7ext';\n default:\n return 'UTF16';\n }\n }\n}\n","import { AfterViewInit, Directive, ElementRef, EventEmitter, HostListener, Output } from '@angular/core';\nimport { Gsm7bitChars } from '../models/gsm-7bit-chars';\n\ninterface CharsList {\n charsToAvoid: string[];\n charsToReplace: string[];\n}\n\n@Directive({\n selector: '[caucaSmsAvoidCharacters]'\n})\nexport class SmsAvoidCharactersDirective implements AfterViewInit {\n\n @Output() public charsToAvoidChanged: EventEmitter<string[]> = new EventEmitter<string[]>();\n @Output() public charsToReplaceChanged: EventEmitter<string[]> = new EventEmitter<string[]>();\n\n private charsToAvoid: string[] = [];\n private charsToReplace: string[] = [];\n\n public constructor(\n private elementRef: ElementRef\n ) {\n }\n\n public ngAfterViewInit(): void {\n this.onInput();\n }\n\n @HostListener(':input')\n public onInput() {\n this.checkCharacterException(this.elementRef.nativeElement.value);\n }\n\n private checkCharacterException(text: string): void {\n const charsList = this.listUTF16Chars(text);\n\n if (this.compareCharsList(this.charsToAvoid, charsList.charsToAvoid)) {\n this.charsToAvoidChanged.emit(charsList.charsToAvoid);\n this.charsToAvoid = charsList.charsToAvoid;\n }\n if (this.compareCharsList(this.charsToReplace, charsList.charsToReplace)) {\n this.charsToReplaceChanged.emit(charsList.charsToReplace);\n this.charsToReplace = charsList.charsToReplace;\n }\n }\n\n private listUTF16Chars(text: string): CharsList {\n const charToAvoidOrReplace = text.replace(new RegExp('([' + Gsm7bitChars.gsm7bitChars + ']+)', 'g'), '');\n const charToReplace = charToAvoidOrReplace.replace(new RegExp('([' + Gsm7bitChars.gsm7bitCharsExt + ']+)', 'g'), '');\n const charToAvoid = charToAvoidOrReplace.match(new RegExp('([' + Gsm7bitChars.gsm7bitCharsExt + ']+)', 'g'));\n\n return {\n charsToAvoid: charToAvoid || [],\n charsToReplace: charToReplace ? charToReplace.split('') : []\n };\n }\n\n private compareCharsList(list1: string[], list2: string[]): boolean {\n return JSON.stringify(list1) !== JSON.stringify(list2);\n }\n}\n","import { AfterViewInit, Directive, ElementRef, EventEmitter, HostListener, Output } from '@angular/core';\n\n@Directive({\n selector: '[caucaPhoneNumberDetector]'\n})\nexport class PhoneNumberDetectorDirective implements AfterViewInit {\n\n @Output() public hasPhoneNumberChanged: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private hasPhoneNumber = false;\n\n public constructor(\n private elementRef: ElementRef\n ) { }\n\n public ngAfterViewInit(): void {\n this.onInput();\n }\n\n @HostListener(':input')\n public onInput() {\n this.checkIfTextHasPhoneNumber(this.elementRef.nativeElement.value);\n }\n\n private checkIfTextHasPhoneNumber(text: string): void {\n const hasPhoneNumber = this.checkForPhoneNumber(text);\n\n if (this.hasPhoneNumber !== hasPhoneNumber) {\n this.hasPhoneNumberChanged.emit(hasPhoneNumber);\n this.hasPhoneNumber = hasPhoneNumber;\n }\n }\n\n private checkForPhoneNumber(text: string): boolean {\n if (!text) {\n return false;\n }\n\n const regex = /^\\(?(\\d{3})\\)?[- .]?(\\d{3})[- .]?(\\d{4})$/gm;\n\n return regex.test(text);\n }\n}\n","import { AfterViewInit, Directive, ElementRef, EventEmitter, HostListener, Output } from '@angular/core';\n\n@Directive({\n selector: '[caucaUrlDetector]'\n})\nexport class UrlDetectorDirective implements AfterViewInit {\n\n @Output() public hasUrlChanged: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private hasUrl = false;\n\n public constructor(\n private elementRef: ElementRef\n ) { }\n\n public ngAfterViewInit(): void {\n this.onInput();\n }\n\n @HostListener(':input')\n public onInput() {\n this.checkIfTextHasUrl(this.elementRef.nativeElement.value);\n }\n\n private checkIfTextHasUrl(text: string): void {\n const hasUrl = this.checkForUrl(text);\n\n if (this.hasUrl !== hasUrl) {\n this.hasUrlChanged.emit(hasUrl);\n this.hasUrl = hasUrl;\n }\n }\n\n private checkForUrl(text: string): boolean {\n if (!text) {\n return false;\n }\n\n const fullUrl = /((?:(http|https|rtsp|file|ftp|ftps|sftp):\\/\\/(?:(?:[a-zA-Z0-9\\$\\-\\_\\.\\+\\!\\*\\'\\(\\)\\,\\;\\?\\&\\=]|(?:\\%[a-fA-F0-9]{2})){1,64}(?:\\:(?:[a-zA-Z0-9\\$\\-\\_\\.\\+\\!\\*\\'\\(\\)\\,\\;\\?\\&\\=]|(?:\\%[a-fA-F0-9]{2})){1,25})?\\@)?)?((?:(?:[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64}\\.)+(?:(?:aero|arpa|asia|a[cdefgilmnoqrstuwxz])|(?:biz|b[abdefghijmnorstvwyz])|(?:cat|com|coop|c[acdfghiklmnoruvxyz])|d[ejkmoz]|(?:edu|e[cegrstu])|f[ijkmor]|(?:gov|g[abdefghilmnpqrstuwy])|h[kmnrtu]|(?:info|int|i[delmnoqrst])|(?:jobs|j[emop])|k[eghimnrwyz]|l[abcikrstuvy]|(?:mil|mobi|museum|m[acdghklmnopqrstuvwxyz])|(?:name|net|n[acefgilopruz])|(?:org|om)|(?:pro|p[aefghklmnrstwy])|qa|r[eouw]|s[abcdeghijklmnortuvyz]|(?:tel|travel|t[cdfghjklmnoprtvwz])|u[agkmsyz]|v[aceginu]|w[fs]|y[etu]|z[amw]))|(?:(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9])\\.(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[0-9])))(?:\\:\\d{1,5})?)(\\/(?:(?:[a-zA-Z0-9\\;\\/\\?\\:\\@\\&\\=\\#\\~\\-\\.\\+\\!\\*\\'\\(\\)\\,\\_])|(?:\\%[a-fA-F0-9]{2}))*)?(?:\\b|$)/gim;\n const partialUrl = /((?:(http|https|rtsp|file|ftp|ftps|sftp):\\/\\/(?:(?:[a-zA-Z0-9\\$\\-\\_\\.\\+\\!\\*\\'\\(\\)\\,\\;\\?\\&\\=]|(?:\\%[a-fA-F0-9]{2})){1,64}(?:\\:(?:[a-zA-Z0-9\\$\\-\\_\\.\\+\\!\\*\\'\\(\\)\\,\\;\\?\\&\\=]|(?:\\%[a-fA-F0-9]{2})){1,25})?\\@)?)?((?:(?:[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64}))))/gim;\n\n return fullUrl.test(text) || partialUrl.test(text);\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SmsSegmentCalculatorDirective } from './shared/directives/sms-segment-calculator.directive';\nimport { SmsAvoidCharactersDirective } from './shared/directives/sms-avoid-characters.directive';\nimport { PhoneNumberDetectorDirective } from './shared/directives/phone-number-detector.directive';\nimport { UrlDetectorDirective } from './shared/directives/url-detector.directive';\n\n@NgModule({\n declarations: [\n SmsSegmentCalculatorDirective,\n SmsAvoidCharactersDirective,\n PhoneNumberDetectorDirective,\n UrlDetectorDirective,\n ],\n exports: [\n SmsSegmentCalculatorDirective,\n SmsAvoidCharactersDirective,\n PhoneNumberDetectorDirective,\n UrlDetectorDirective,\n ],\n imports: [\n CommonModule\n ],\n})\nexport class CaucaInputValidatorsModule { }\n","/*\n * Public API Surface of cauca-input-validators\n */\n\nexport * from './lib/cauca-input-validators.module';\n\nexport { SmsAvoidCharactersDirective } from './lib/shared/directives/sms-avoid-characters.directive';\nexport { SmsSegmentCalculatorDirective } from './lib/shared/directives/sms-segment-calculator.directive';\nexport { PhoneNumberDetectorDirective } from './lib/shared/directives/phone-number-detector.directive';\nexport { UrlDetectorDirective } from './lib/shared/directives/url-detector.directive';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./shared/directives/sms-segment-calculator.directive";
3
3
  import * as i2 from "./shared/directives/sms-avoid-characters.directive";
4
- import * as i3 from "@angular/common";
4
+ import * as i3 from "./shared/directives/phone-number-detector.directive";
5
+ import * as i4 from "./shared/directives/url-detector.directive";
6
+ import * as i5 from "@angular/common";
5
7
  export declare class CaucaInputValidatorsModule {
6
8
  static ɵfac: i0.ɵɵFactoryDeclaration<CaucaInputValidatorsModule, never>;
7
- static ɵmod: i0.ɵɵNgModuleDeclaration<CaucaInputValidatorsModule, [typeof i1.SmsSegmentCalculatorDirective, typeof i2.SmsAvoidCharactersDirective], [typeof i3.CommonModule], [typeof i1.SmsSegmentCalculatorDirective, typeof i2.SmsAvoidCharactersDirective]>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CaucaInputValidatorsModule, [typeof i1.SmsSegmentCalculatorDirective, typeof i2.SmsAvoidCharactersDirective, typeof i3.PhoneNumberDetectorDirective, typeof i4.UrlDetectorDirective], [typeof i5.CommonModule], [typeof i1.SmsSegmentCalculatorDirective, typeof i2.SmsAvoidCharactersDirective, typeof i3.PhoneNumberDetectorDirective, typeof i4.UrlDetectorDirective]>;
8
10
  static ɵinj: i0.ɵɵInjectorDeclaration<CaucaInputValidatorsModule>;
9
11
  }
@@ -0,0 +1,14 @@
1
+ import { AfterViewInit, ElementRef, EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class PhoneNumberDetectorDirective implements AfterViewInit {
4
+ private elementRef;
5
+ hasPhoneNumberChanged: EventEmitter<boolean>;
6
+ private hasPhoneNumber;
7
+ constructor(elementRef: ElementRef);
8
+ ngAfterViewInit(): void;
9
+ onInput(): void;
10
+ private checkIfTextHasPhoneNumber;
11
+ private checkForPhoneNumber;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<PhoneNumberDetectorDirective, never>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PhoneNumberDetectorDirective, "[caucaPhoneNumberDetector]", never, {}, { "hasPhoneNumberChanged": "hasPhoneNumberChanged"; }, never, never, false, never>;
14
+ }
@@ -1,12 +1,13 @@
1
- import { ElementRef, EventEmitter } from '@angular/core';
1
+ import { AfterViewInit, ElementRef, EventEmitter } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- export declare class SmsAvoidCharactersDirective {
3
+ export declare class SmsAvoidCharactersDirective implements AfterViewInit {
4
4
  private elementRef;
5
5
  charsToAvoidChanged: EventEmitter<string[]>;
6
6
  charsToReplaceChanged: EventEmitter<string[]>;
7
7
  private charsToAvoid;
8
8
  private charsToReplace;
9
9
  constructor(elementRef: ElementRef);
10
+ ngAfterViewInit(): void;
10
11
  onInput(): void;
11
12
  private checkCharacterException;
12
13
  private listUTF16Chars;
@@ -1,12 +1,13 @@
1
- import { ElementRef, EventEmitter } from '@angular/core';
1
+ import { AfterViewInit, ElementRef, EventEmitter } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- export declare class SmsSegmentCalculatorDirective {
3
+ export declare class SmsSegmentCalculatorDirective implements AfterViewInit {
4
4
  private elementRef;
5
5
  segmentCountChanged: EventEmitter<number>;
6
6
  private segmentCount;
7
7
  private messageLength;
8
8
  private multiMessageLength;
9
9
  constructor(elementRef: ElementRef);
10
+ ngAfterViewInit(): void;
10
11
  onInput(): void;
11
12
  private checkNumberOfSegment;
12
13
  private countNumberOfSegment;
@@ -0,0 +1,14 @@
1
+ import { AfterViewInit, ElementRef, EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class UrlDetectorDirective implements AfterViewInit {
4
+ private elementRef;
5
+ hasUrlChanged: EventEmitter<boolean>;
6
+ private hasUrl;
7
+ constructor(elementRef: ElementRef);
8
+ ngAfterViewInit(): void;
9
+ onInput(): void;
10
+ private checkIfTextHasUrl;
11
+ private checkForUrl;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<UrlDetectorDirective, never>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UrlDetectorDirective, "[caucaUrlDetector]", never, {}, { "hasUrlChanged": "hasUrlChanged"; }, never, never, false, never>;
14
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cauca-911/input-validators",
3
- "version": "16.0.1",
3
+ "version": "16.0.3",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=16.0.0",
6
6
  "@angular/core": ">=16.0.0",
package/public-api.d.ts CHANGED
@@ -1,3 +1,5 @@
1
1
  export * from './lib/cauca-input-validators.module';
2
2
  export { SmsAvoidCharactersDirective } from './lib/shared/directives/sms-avoid-characters.directive';
3
3
  export { SmsSegmentCalculatorDirective } from './lib/shared/directives/sms-segment-calculator.directive';
4
+ export { PhoneNumberDetectorDirective } from './lib/shared/directives/phone-number-detector.directive';
5
+ export { UrlDetectorDirective } from './lib/shared/directives/url-detector.directive';