@cauca-911/input-validators 20.2.5-beta3 → 20.2.5-beta5
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.
|
@@ -19,9 +19,9 @@ class SmsAvoidCharactersDirective {
|
|
|
19
19
|
this.elementRef = inject(ElementRef);
|
|
20
20
|
}
|
|
21
21
|
ngAfterViewInit() {
|
|
22
|
-
this.
|
|
22
|
+
this.onCheck();
|
|
23
23
|
}
|
|
24
|
-
|
|
24
|
+
onCheck() {
|
|
25
25
|
this.checkCharacterException(this.elementRef.nativeElement.value);
|
|
26
26
|
}
|
|
27
27
|
checkCharacterException(text) {
|
|
@@ -52,7 +52,7 @@ class SmsAvoidCharactersDirective {
|
|
|
52
52
|
}
|
|
53
53
|
static { this.ɵfac = function SmsAvoidCharactersDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SmsAvoidCharactersDirective)(); }; }
|
|
54
54
|
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: SmsAvoidCharactersDirective, selectors: [["", "caucaSmsAvoidCharacters", ""]], hostBindings: function SmsAvoidCharactersDirective_HostBindings(rf, ctx) { if (rf & 1) {
|
|
55
|
-
i0.ɵɵlistener("input", function SmsAvoidCharactersDirective_input_HostBindingHandler() { return ctx.
|
|
55
|
+
i0.ɵɵlistener("input", function SmsAvoidCharactersDirective_input_HostBindingHandler() { return ctx.onCheck(); });
|
|
56
56
|
} }, outputs: { charsToAvoidChanged: "charsToAvoidChanged", charsToReplaceChanged: "charsToReplaceChanged" } }); }
|
|
57
57
|
}
|
|
58
58
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SmsAvoidCharactersDirective, [{
|
|
@@ -64,9 +64,9 @@ class SmsAvoidCharactersDirective {
|
|
|
64
64
|
type: Output
|
|
65
65
|
}], charsToReplaceChanged: [{
|
|
66
66
|
type: Output
|
|
67
|
-
}],
|
|
67
|
+
}], onCheck: [{
|
|
68
68
|
type: HostListener,
|
|
69
|
-
args: ['
|
|
69
|
+
args: ['input']
|
|
70
70
|
}] }); })();
|
|
71
71
|
|
|
72
72
|
class SmsSegmentCalculatorDirective {
|
|
@@ -92,9 +92,9 @@ class SmsSegmentCalculatorDirective {
|
|
|
92
92
|
};
|
|
93
93
|
}
|
|
94
94
|
ngAfterViewInit() {
|
|
95
|
-
this.
|
|
95
|
+
this.onCheck();
|
|
96
96
|
}
|
|
97
|
-
|
|
97
|
+
onCheck() {
|
|
98
98
|
this.checkNumberOfSegment(this.elementRef.nativeElement.value);
|
|
99
99
|
}
|
|
100
100
|
checkNumberOfSegment(text) {
|
|
@@ -149,7 +149,7 @@ class SmsSegmentCalculatorDirective {
|
|
|
149
149
|
}
|
|
150
150
|
static { this.ɵfac = function SmsSegmentCalculatorDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SmsSegmentCalculatorDirective)(); }; }
|
|
151
151
|
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: SmsSegmentCalculatorDirective, selectors: [["", "caucaSmsSegmentCalculator", ""]], hostBindings: function SmsSegmentCalculatorDirective_HostBindings(rf, ctx) { if (rf & 1) {
|
|
152
|
-
i0.ɵɵlistener("input", function SmsSegmentCalculatorDirective_input_HostBindingHandler() { return ctx.
|
|
152
|
+
i0.ɵɵlistener("input", function SmsSegmentCalculatorDirective_input_HostBindingHandler() { return ctx.onCheck(); });
|
|
153
153
|
} }, outputs: { segmentCountChanged: "segmentCountChanged" } }); }
|
|
154
154
|
}
|
|
155
155
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SmsSegmentCalculatorDirective, [{
|
|
@@ -159,9 +159,9 @@ class SmsSegmentCalculatorDirective {
|
|
|
159
159
|
}]
|
|
160
160
|
}], null, { segmentCountChanged: [{
|
|
161
161
|
type: Output
|
|
162
|
-
}],
|
|
162
|
+
}], onCheck: [{
|
|
163
163
|
type: HostListener,
|
|
164
|
-
args: ['
|
|
164
|
+
args: ['input']
|
|
165
165
|
}] }); })();
|
|
166
166
|
|
|
167
167
|
class PhoneNumberDetectorDirective {
|
|
@@ -171,9 +171,9 @@ class PhoneNumberDetectorDirective {
|
|
|
171
171
|
this.elementRef = inject(ElementRef);
|
|
172
172
|
}
|
|
173
173
|
ngAfterViewInit() {
|
|
174
|
-
this.
|
|
174
|
+
this.onCheck();
|
|
175
175
|
}
|
|
176
|
-
|
|
176
|
+
onCheck() {
|
|
177
177
|
this.checkIfTextHasPhoneNumber(this.elementRef.nativeElement.value);
|
|
178
178
|
}
|
|
179
179
|
checkIfTextHasPhoneNumber(text) {
|
|
@@ -192,7 +192,7 @@ class PhoneNumberDetectorDirective {
|
|
|
192
192
|
}
|
|
193
193
|
static { this.ɵfac = function PhoneNumberDetectorDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PhoneNumberDetectorDirective)(); }; }
|
|
194
194
|
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PhoneNumberDetectorDirective, selectors: [["", "caucaPhoneNumberDetector", ""]], hostBindings: function PhoneNumberDetectorDirective_HostBindings(rf, ctx) { if (rf & 1) {
|
|
195
|
-
i0.ɵɵlistener("input", function PhoneNumberDetectorDirective_input_HostBindingHandler() { return ctx.
|
|
195
|
+
i0.ɵɵlistener("input", function PhoneNumberDetectorDirective_input_HostBindingHandler() { return ctx.onCheck(); });
|
|
196
196
|
} }, outputs: { hasPhoneNumberChanged: "hasPhoneNumberChanged" } }); }
|
|
197
197
|
}
|
|
198
198
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PhoneNumberDetectorDirective, [{
|
|
@@ -202,9 +202,9 @@ class PhoneNumberDetectorDirective {
|
|
|
202
202
|
}]
|
|
203
203
|
}], null, { hasPhoneNumberChanged: [{
|
|
204
204
|
type: Output
|
|
205
|
-
}],
|
|
205
|
+
}], onCheck: [{
|
|
206
206
|
type: HostListener,
|
|
207
|
-
args: ['
|
|
207
|
+
args: ['input']
|
|
208
208
|
}] }); })();
|
|
209
209
|
|
|
210
210
|
class UrlDetectorDirective {
|
|
@@ -219,7 +219,9 @@ class UrlDetectorDirective {
|
|
|
219
219
|
}
|
|
220
220
|
ngAfterViewInit() {
|
|
221
221
|
if (this.ngControl && this.ngControl.control) {
|
|
222
|
+
console.log('NgControl detected, subscribing to value changes for URL detection.', this.ngControl.value || '--');
|
|
222
223
|
this.valueChangesSub = this.ngControl.control.valueChanges.subscribe(value => {
|
|
224
|
+
console.log('Value change detected in NgControl, checking for URLs:', value);
|
|
223
225
|
this.checkIfTextHasUrl(value || '');
|
|
224
226
|
});
|
|
225
227
|
this.checkIfTextHasUrl(this.ngControl.value || '');
|
|
@@ -232,11 +234,17 @@ class UrlDetectorDirective {
|
|
|
232
234
|
this.valueChangesSub?.unsubscribe();
|
|
233
235
|
}
|
|
234
236
|
onCheck() {
|
|
237
|
+
console.log('Input or paste event detected, checking for URLs...');
|
|
235
238
|
setTimeout(() => {
|
|
236
239
|
this.checkIfTextHasUrl(this.elementRef.nativeElement.value);
|
|
237
240
|
}, 100);
|
|
238
241
|
}
|
|
242
|
+
onBlur() {
|
|
243
|
+
console.log('Blur event detected, checking for URLs...');
|
|
244
|
+
this.checkIfTextHasUrl(this.elementRef.nativeElement.value);
|
|
245
|
+
}
|
|
239
246
|
checkIfTextHasUrl(text) {
|
|
247
|
+
console.log('Checking text for URLs:', text);
|
|
240
248
|
const hasUrl = this.checkForUrl(text) || this.checkForScheme(text);
|
|
241
249
|
const hasLongUrl = this.checkForLongUrl(text);
|
|
242
250
|
if (this.hasUrl !== hasUrl) {
|
|
@@ -274,7 +282,7 @@ class UrlDetectorDirective {
|
|
|
274
282
|
}
|
|
275
283
|
static { this.ɵfac = function UrlDetectorDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UrlDetectorDirective)(); }; }
|
|
276
284
|
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: UrlDetectorDirective, selectors: [["", "caucaUrlDetector", ""]], hostBindings: function UrlDetectorDirective_HostBindings(rf, ctx) { if (rf & 1) {
|
|
277
|
-
i0.ɵɵlistener("input", function UrlDetectorDirective_input_HostBindingHandler() { return ctx.onCheck(); })("paste", function UrlDetectorDirective_paste_HostBindingHandler() { return ctx.onCheck(); })("blur", function UrlDetectorDirective_blur_HostBindingHandler() { return ctx.
|
|
285
|
+
i0.ɵɵlistener("input", function UrlDetectorDirective_input_HostBindingHandler() { return ctx.onCheck(); })("paste", function UrlDetectorDirective_paste_HostBindingHandler() { return ctx.onCheck(); })("blur", function UrlDetectorDirective_blur_HostBindingHandler() { return ctx.onBlur(); });
|
|
278
286
|
} }, outputs: { hasUrlChanged: "hasUrlChanged", hasLongUrlChanged: "hasLongUrlChanged" } }); }
|
|
279
287
|
}
|
|
280
288
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UrlDetectorDirective, [{
|
|
@@ -292,7 +300,7 @@ class UrlDetectorDirective {
|
|
|
292
300
|
}, {
|
|
293
301
|
type: HostListener,
|
|
294
302
|
args: ['paste']
|
|
295
|
-
}, {
|
|
303
|
+
}], onBlur: [{
|
|
296
304
|
type: HostListener,
|
|
297
305
|
args: ['blur']
|
|
298
306
|
}] }); })();
|
|
@@ -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-avoid-characters.directive.ts","../../../projects/cauca-input-validators/src/lib/shared/directives/sms-segment-calculator.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/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, inject } 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 private readonly elementRef = inject(ElementRef);\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.charsToAvoid = this.removeDuplicates(charsList.charsToAvoid);\n this.charsToAvoidChanged.emit(this.charsToAvoid);\n }\n if (this.compareCharsList(this.charsToReplace, charsList.charsToReplace)) {\n this.charsToReplace = this.removeDuplicates(charsList.charsToReplace);\n this.charsToReplaceChanged.emit(this.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 ? charToAvoid[0].split('') : [],\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 private removeDuplicates(items: string[]): string[] {\n return [...new Set(items)];\n }\n}\n","import { AfterViewInit, Directive, ElementRef, EventEmitter, HostListener, Output, inject } 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 readonly elementRef = inject(ElementRef);\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 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, inject } 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 private readonly elementRef = inject(ElementRef);\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, inject, OnDestroy } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n selector: '[caucaUrlDetector]',\n})\nexport class UrlDetectorDirective implements AfterViewInit, OnDestroy {\n\n @Output() public hasUrlChanged: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() public hasLongUrlChanged: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private hasUrl = false;\n private hasLongUrl = false;\n private readonly elementRef = inject(ElementRef);\n private readonly ngControl = inject(NgControl, { optional: true, self: true });\n private valueChangesSub?: Subscription;\n private readonly urlRegex = /((https?:\\/\\/)?(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*))/gi;\n\n public ngAfterViewInit(): void {\n if (this.ngControl && this.ngControl.control) {\n this.valueChangesSub = this.ngControl.control.valueChanges.subscribe(value => {\n this.checkIfTextHasUrl(value || '');\n });\n this.checkIfTextHasUrl(this.ngControl.value || '');\n } else {\n this.onCheck();\n }\n }\n\n public ngOnDestroy(): void {\n this.valueChangesSub?.unsubscribe();\n }\n\n @HostListener('input')\n @HostListener('paste')\n @HostListener('blur')\n public onCheck() {\n setTimeout(() => {\n this.checkIfTextHasUrl(this.elementRef.nativeElement.value);\n }, 100);\n }\n\n private checkIfTextHasUrl(text: string): void {\n const hasUrl = this.checkForUrl(text) || this.checkForScheme(text);\n const hasLongUrl = this.checkForLongUrl(text);\n\n if (this.hasUrl !== hasUrl) {\n this.hasUrl = hasUrl;\n this.hasUrlChanged.emit(hasUrl);\n }\n\n if (this.hasLongUrl !== hasLongUrl) {\n this.hasLongUrl = hasLongUrl;\n this.hasLongUrlChanged.emit(hasLongUrl);\n }\n\n }\n\n private checkForScheme(text: string): boolean {\n if (!text) {\n return false;\n }\n\n const urlScheme = /[a-zA-Z]{3,5}:\\/\\//gim;\n return urlScheme.test(text);\n }\n\n private checkForUrl(text: string): boolean {\n if (!text) {\n return false;\n }\n\n this.urlRegex.lastIndex = 0;\n const url = this.urlRegex;\n return url.test(text);\n }\n\n private checkForLongUrl(text: string): boolean {\n if (!text) {\n return false;\n }\n\n this.urlRegex.lastIndex = 0;\n const fullUrl = this.urlRegex;\n const urls = text.match(fullUrl) || [];\n\n return urls.some((url: string) => url.length > 120);\n }\n}\n","/*\n * Public API Surface of cauca-input-validators\n */\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
|
+
{"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-avoid-characters.directive.ts","../../../projects/cauca-input-validators/src/lib/shared/directives/sms-segment-calculator.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/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, inject } 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 private readonly elementRef = inject(ElementRef);\n\n public ngAfterViewInit(): void {\n this.onCheck();\n }\n\n @HostListener('input')\n public onCheck() {\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.charsToAvoid = this.removeDuplicates(charsList.charsToAvoid);\n this.charsToAvoidChanged.emit(this.charsToAvoid);\n }\n if (this.compareCharsList(this.charsToReplace, charsList.charsToReplace)) {\n this.charsToReplace = this.removeDuplicates(charsList.charsToReplace);\n this.charsToReplaceChanged.emit(this.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 ? charToAvoid[0].split('') : [],\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 private removeDuplicates(items: string[]): string[] {\n return [...new Set(items)];\n }\n}\n","import { AfterViewInit, Directive, ElementRef, EventEmitter, HostListener, Output, inject } 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 readonly elementRef = inject(ElementRef);\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 ngAfterViewInit(): void {\n this.onCheck();\n }\n\n @HostListener('input')\n public onCheck() {\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, inject } 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 private readonly elementRef = inject(ElementRef);\n\n public ngAfterViewInit(): void {\n this.onCheck();\n }\n\n @HostListener('input')\n public onCheck() {\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, inject, OnDestroy } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n selector: '[caucaUrlDetector]',\n})\nexport class UrlDetectorDirective implements AfterViewInit, OnDestroy {\n\n @Output() public hasUrlChanged: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() public hasLongUrlChanged: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private hasUrl = false;\n private hasLongUrl = false;\n private readonly elementRef = inject(ElementRef);\n private readonly ngControl = inject(NgControl, { optional: true, self: true });\n private valueChangesSub?: Subscription;\n private readonly urlRegex = /((https?:\\/\\/)?(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*))/gi;\n\n public ngAfterViewInit(): void {\n if (this.ngControl && this.ngControl.control) {\n console.log('NgControl detected, subscribing to value changes for URL detection.', this.ngControl.value || '--');\n this.valueChangesSub = this.ngControl.control.valueChanges.subscribe(value => {\n console.log('Value change detected in NgControl, checking for URLs:', value);\n this.checkIfTextHasUrl(value || '');\n });\n this.checkIfTextHasUrl(this.ngControl.value || '');\n } else {\n this.onCheck();\n }\n }\n\n public ngOnDestroy(): void {\n this.valueChangesSub?.unsubscribe();\n }\n\n @HostListener('input')\n @HostListener('paste')\n public onCheck() {\n console.log('Input or paste event detected, checking for URLs...');\n setTimeout(() => {\n this.checkIfTextHasUrl(this.elementRef.nativeElement.value);\n }, 100);\n }\n\n @HostListener('blur')\n public onBlur() {\n console.log('Blur event detected, checking for URLs...');\n this.checkIfTextHasUrl(this.elementRef.nativeElement.value);\n }\n\n private checkIfTextHasUrl(text: string): void {\n console.log('Checking text for URLs:', text);\n const hasUrl = this.checkForUrl(text) || this.checkForScheme(text);\n const hasLongUrl = this.checkForLongUrl(text);\n\n if (this.hasUrl !== hasUrl) {\n this.hasUrl = hasUrl;\n this.hasUrlChanged.emit(hasUrl);\n }\n\n if (this.hasLongUrl !== hasLongUrl) {\n this.hasLongUrl = hasLongUrl;\n this.hasLongUrlChanged.emit(hasLongUrl);\n }\n\n }\n\n private checkForScheme(text: string): boolean {\n if (!text) {\n return false;\n }\n\n const urlScheme = /[a-zA-Z]{3,5}:\\/\\//gim;\n return urlScheme.test(text);\n }\n\n private checkForUrl(text: string): boolean {\n if (!text) {\n return false;\n }\n\n this.urlRegex.lastIndex = 0;\n const url = this.urlRegex;\n return url.test(text);\n }\n\n private checkForLongUrl(text: string): boolean {\n if (!text) {\n return false;\n }\n\n this.urlRegex.lastIndex = 0;\n const fullUrl = this.urlRegex;\n const urls = text.match(fullUrl) || [];\n\n return urls.some((url: string) => url.length > 120);\n }\n}\n","/*\n * Public API Surface of cauca-input-validators\n */\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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"}
|
package/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ declare class SmsAvoidCharactersDirective implements AfterViewInit {
|
|
|
8
8
|
private charsToReplace;
|
|
9
9
|
private readonly elementRef;
|
|
10
10
|
ngAfterViewInit(): void;
|
|
11
|
-
|
|
11
|
+
onCheck(): void;
|
|
12
12
|
private checkCharacterException;
|
|
13
13
|
private listUTF16Chars;
|
|
14
14
|
private compareCharsList;
|
|
@@ -24,7 +24,7 @@ declare class SmsSegmentCalculatorDirective implements AfterViewInit {
|
|
|
24
24
|
private messageLength;
|
|
25
25
|
private multiMessageLength;
|
|
26
26
|
ngAfterViewInit(): void;
|
|
27
|
-
|
|
27
|
+
onCheck(): void;
|
|
28
28
|
private checkNumberOfSegment;
|
|
29
29
|
private countNumberOfSegment;
|
|
30
30
|
private countSmsChars;
|
|
@@ -39,7 +39,7 @@ declare class PhoneNumberDetectorDirective implements AfterViewInit {
|
|
|
39
39
|
private hasPhoneNumber;
|
|
40
40
|
private readonly elementRef;
|
|
41
41
|
ngAfterViewInit(): void;
|
|
42
|
-
|
|
42
|
+
onCheck(): void;
|
|
43
43
|
private checkIfTextHasPhoneNumber;
|
|
44
44
|
private checkForPhoneNumber;
|
|
45
45
|
static ɵfac: i0.ɵɵFactoryDeclaration<PhoneNumberDetectorDirective, never>;
|
|
@@ -58,6 +58,7 @@ declare class UrlDetectorDirective implements AfterViewInit, OnDestroy {
|
|
|
58
58
|
ngAfterViewInit(): void;
|
|
59
59
|
ngOnDestroy(): void;
|
|
60
60
|
onCheck(): void;
|
|
61
|
+
onBlur(): void;
|
|
61
62
|
private checkIfTextHasUrl;
|
|
62
63
|
private checkForScheme;
|
|
63
64
|
private checkForUrl;
|