@sam-senior/phone-mask 1.0.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -20
- package/esm2022/lib/phone-mask.component.mjs +115 -0
- package/esm2022/lib/phone-mask.enum.mjs +5 -0
- package/esm2022/lib/phone-mask.module.mjs +25 -0
- package/esm2022/lib/phone-mask.pipe.mjs +33 -0
- package/esm2022/public_api.mjs +7 -0
- package/esm2022/sam-senior-phone-mask.mjs +5 -0
- package/fesm2022/sam-senior-phone-mask.mjs +180 -0
- package/fesm2022/sam-senior-phone-mask.mjs.map +1 -0
- package/{sam-senior-phone-mask.d.ts → index.d.ts} +1 -0
- package/lib/phone-mask.component.d.ts +5 -4
- package/lib/phone-mask.module.d.ts +8 -0
- package/lib/phone-mask.pipe.d.ts +3 -0
- package/package.json +19 -17
- package/bundles/sam-senior-phone-mask.umd.js +0 -281
- package/bundles/sam-senior-phone-mask.umd.js.map +0 -1
- package/bundles/sam-senior-phone-mask.umd.min.js +0 -2
- package/bundles/sam-senior-phone-mask.umd.min.js.map +0 -1
- package/esm2015/lib/phone-mask.component.js +0 -164
- package/esm2015/lib/phone-mask.enum.js +0 -11
- package/esm2015/lib/phone-mask.module.js +0 -24
- package/esm2015/lib/phone-mask.pipe.js +0 -44
- package/esm2015/public_api.js +0 -11
- package/esm2015/sam-senior-phone-mask.js +0 -9
- package/esm5/lib/phone-mask.component.js +0 -207
- package/esm5/lib/phone-mask.enum.js +0 -11
- package/esm5/lib/phone-mask.module.js +0 -28
- package/esm5/lib/phone-mask.pipe.js +0 -52
- package/esm5/public_api.js +0 -11
- package/esm5/sam-senior-phone-mask.js +0 -9
- package/fesm2015/sam-senior-phone-mask.js +0 -225
- package/fesm2015/sam-senior-phone-mask.js.map +0 -1
- package/fesm5/sam-senior-phone-mask.js +0 -277
- package/fesm5/sam-senior-phone-mask.js.map +0 -1
- package/sam-senior-phone-mask.metadata.json +0 -1
package/README.md
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
# Phone mask
|
|
2
|
-
***Como usar***
|
|
3
|
-
|
|
4
|
-
Importe o `phone-mask` para o projeto e adicione a tag `<sam-phone-mask>` no HTML.
|
|
5
|
-
|
|
6
|
-
**Parâmetros**
|
|
7
|
-
|
|
8
|
-
1. `formControlName`: Devido ao componente implementar a interface `ControlValueAcessor` é possível vincular diretamente com a API de Forms do Angular.
|
|
9
|
-
2. `inputId`: Id referente ao elemento HTML.
|
|
10
|
-
3. `placeholder`: Placeholder a ser exibido no elemento.
|
|
11
|
-
4. `disabled`: Parâmetro para desabilitar o elemento, também é possível pela API de Forms do Angular.
|
|
12
|
-
5. `styleClass`: utilizar para passagem de classes CSS para dentro do container.
|
|
13
|
-
|
|
14
|
-
**Exemplo de implementação .html**
|
|
15
|
-
|
|
16
|
-
<sam-phone-mask formControlName="number"
|
|
17
|
-
placeholder="{{'sam.lobby.visitor_form_number_placeholder' | translate}}"
|
|
18
|
-
inputId="number">
|
|
19
|
-
</sam-phone-mask>
|
|
20
|
-
|
|
1
|
+
# Phone mask
|
|
2
|
+
***Como usar***
|
|
3
|
+
|
|
4
|
+
Importe o `phone-mask` para o projeto e adicione a tag `<sam-phone-mask>` no HTML.
|
|
5
|
+
|
|
6
|
+
**Parâmetros**
|
|
7
|
+
|
|
8
|
+
1. `formControlName`: Devido ao componente implementar a interface `ControlValueAcessor` é possível vincular diretamente com a API de Forms do Angular.
|
|
9
|
+
2. `inputId`: Id referente ao elemento HTML.
|
|
10
|
+
3. `placeholder`: Placeholder a ser exibido no elemento.
|
|
11
|
+
4. `disabled`: Parâmetro para desabilitar o elemento, também é possível pela API de Forms do Angular.
|
|
12
|
+
5. `styleClass`: utilizar para passagem de classes CSS para dentro do container.
|
|
13
|
+
|
|
14
|
+
**Exemplo de implementação .html**
|
|
15
|
+
|
|
16
|
+
<sam-phone-mask formControlName="number"
|
|
17
|
+
placeholder="{{'sam.lobby.visitor_form_number_placeholder' | translate}}"
|
|
18
|
+
inputId="number">
|
|
19
|
+
</sam-phone-mask>
|
|
20
|
+
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { Component, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { PhoneMaskEnum } from './phone-mask.enum';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/forms";
|
|
6
|
+
import * as i2 from "primeng/inputtext";
|
|
7
|
+
export class PhoneMaskComponent {
|
|
8
|
+
inputId;
|
|
9
|
+
styleClass = '';
|
|
10
|
+
placeholder = '';
|
|
11
|
+
disabled = false;
|
|
12
|
+
phone = '';
|
|
13
|
+
onChange = (_) => { };
|
|
14
|
+
onTouched = () => { };
|
|
15
|
+
ngOnInit() {
|
|
16
|
+
}
|
|
17
|
+
registerOnChange(fn) {
|
|
18
|
+
this.onChange = fn;
|
|
19
|
+
}
|
|
20
|
+
registerOnTouched(fn) {
|
|
21
|
+
this.onTouched = fn;
|
|
22
|
+
}
|
|
23
|
+
writeValue(phone) {
|
|
24
|
+
if (phone) {
|
|
25
|
+
this.phone = this.applyMask(phone);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
this.phone = '';
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
setDisabledState(state) {
|
|
32
|
+
this.disabled = state;
|
|
33
|
+
}
|
|
34
|
+
onBlur() {
|
|
35
|
+
this.onTouched();
|
|
36
|
+
const raw = this.removeMask(this.phone);
|
|
37
|
+
this.onChange(raw);
|
|
38
|
+
}
|
|
39
|
+
onkeyup() {
|
|
40
|
+
const raw = this.removeMask(this.phone);
|
|
41
|
+
this.onChange(raw);
|
|
42
|
+
}
|
|
43
|
+
onInput(event) {
|
|
44
|
+
const input = event.target;
|
|
45
|
+
const raw = this.removeMask(input.value);
|
|
46
|
+
const masked = this.applyMask(raw);
|
|
47
|
+
this.phone = masked;
|
|
48
|
+
input.value = masked;
|
|
49
|
+
}
|
|
50
|
+
removeMask(value) {
|
|
51
|
+
return (value || '').replace(/[^0-9]/g, '');
|
|
52
|
+
}
|
|
53
|
+
applyMask(raw) {
|
|
54
|
+
if (!raw)
|
|
55
|
+
return '';
|
|
56
|
+
const digits = raw.replace(/[^0-9]/g, '').substring(0, 11);
|
|
57
|
+
if (digits.length <= PhoneMaskEnum.PHONE_DIGIT) {
|
|
58
|
+
// (XX) XXXX-XXXX
|
|
59
|
+
return digits.replace(/^(\d{0,2})(\d{0,4})(\d{0,4}).*/, (_, ddd, p1, p2) => {
|
|
60
|
+
let result = '';
|
|
61
|
+
if (ddd)
|
|
62
|
+
result += `(${ddd}`;
|
|
63
|
+
if (ddd.length === 2)
|
|
64
|
+
result += ') ';
|
|
65
|
+
if (p1)
|
|
66
|
+
result += p1;
|
|
67
|
+
if (p1.length === 4 && p2)
|
|
68
|
+
result += `-${p2}`;
|
|
69
|
+
return result;
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
// (XX) XXXXX-XXXX
|
|
74
|
+
return digits.replace(/^(\d{0,2})(\d{0,5})(\d{0,4}).*/, (_, ddd, p1, p2) => {
|
|
75
|
+
let result = '';
|
|
76
|
+
if (ddd)
|
|
77
|
+
result += `(${ddd}`;
|
|
78
|
+
if (ddd.length === 2)
|
|
79
|
+
result += ') ';
|
|
80
|
+
if (p1)
|
|
81
|
+
result += p1;
|
|
82
|
+
if (p1.length === 5 && p2)
|
|
83
|
+
result += `-${p2}`;
|
|
84
|
+
return result;
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PhoneMaskComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
89
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: PhoneMaskComponent, selector: "sam-phone-mask", inputs: { inputId: "inputId", styleClass: "styleClass", placeholder: "placeholder", disabled: "disabled" }, providers: [
|
|
90
|
+
{
|
|
91
|
+
provide: NG_VALUE_ACCESSOR,
|
|
92
|
+
useExisting: PhoneMaskComponent,
|
|
93
|
+
multi: true
|
|
94
|
+
}
|
|
95
|
+
], ngImport: i0, template: "<div class=\"required\">\r\n <input [id]=\"inputId\" [class]=\"styleClass\" [placeholder]=\"placeholder\" [disabled]=\"disabled\"\r\n [(ngModel)]=\"phone\" class=\"ui-inputtext\" pInputText (blur)=\"onBlur()\" (keyup)=\"onkeyup()\" (input)=\"onInput($event)\" />\r\n</div>\r\n", styles: ["lib-sam-phone-mask.ng-dirty.ng-invalid input{border-color:#e74c3c}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.InputText, selector: "[pInputText]", inputs: ["variant"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
96
|
+
}
|
|
97
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PhoneMaskComponent, decorators: [{
|
|
98
|
+
type: Component,
|
|
99
|
+
args: [{ selector: 'sam-phone-mask', providers: [
|
|
100
|
+
{
|
|
101
|
+
provide: NG_VALUE_ACCESSOR,
|
|
102
|
+
useExisting: PhoneMaskComponent,
|
|
103
|
+
multi: true
|
|
104
|
+
}
|
|
105
|
+
], encapsulation: ViewEncapsulation.None, template: "<div class=\"required\">\r\n <input [id]=\"inputId\" [class]=\"styleClass\" [placeholder]=\"placeholder\" [disabled]=\"disabled\"\r\n [(ngModel)]=\"phone\" class=\"ui-inputtext\" pInputText (blur)=\"onBlur()\" (keyup)=\"onkeyup()\" (input)=\"onInput($event)\" />\r\n</div>\r\n", styles: ["lib-sam-phone-mask.ng-dirty.ng-invalid input{border-color:#e74c3c}\n"] }]
|
|
106
|
+
}], propDecorators: { inputId: [{
|
|
107
|
+
type: Input
|
|
108
|
+
}], styleClass: [{
|
|
109
|
+
type: Input
|
|
110
|
+
}], placeholder: [{
|
|
111
|
+
type: Input
|
|
112
|
+
}], disabled: [{
|
|
113
|
+
type: Input
|
|
114
|
+
}] } });
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtbWFzay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zYW0tcGhvbmUtbWFzay9zcmMvbGliL3Bob25lLW1hc2suY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FtLXBob25lLW1hc2svc3JjL2xpYi9waG9uZS1tYXNrLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLEtBQUssRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7O0FBZWxELE1BQU0sT0FBTyxrQkFBa0I7SUFFcEIsT0FBTyxDQUFTO0lBQ2hCLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDaEIsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUNqQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRW5CLEtBQUssR0FBRyxFQUFFLENBQUM7SUFFVixRQUFRLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMzQixTQUFTLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRTlCLFFBQVE7SUFDUixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBb0I7UUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQWM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFhO1FBQ3RCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMs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QUU7b0JBQUUsTUFBTSxJQUFJLElBQUksRUFBRSxFQUFFLENBQUM7Z0JBQzlDLE9BQU8sTUFBTSxDQUFDO1lBQ2hCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7d0dBbkZVLGtCQUFrQjs0RkFBbEIsa0JBQWtCLHFKQVRsQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxrQkFBa0I7Z0JBQy9CLEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkNmSCwwUkFJQTs7NEZEY2Esa0JBQWtCO2tCQWI5QixTQUFTOytCQUNFLGdCQUFnQixhQUdmO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsb0JBQW9COzRCQUMvQixLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJOzhCQUk1QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgUGhvbmVNYXNrRW51bSB9IGZyb20gJy4vcGhvbmUtbWFzay5lbnVtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2FtLXBob25lLW1hc2snLFxyXG4gIHRlbXBsYXRlVXJsOiAncGhvbmUtbWFzay5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcGhvbmUtbWFzay5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IFBob25lTWFza0NvbXBvbmVudCxcclxuICAgICAgbXVsdGk6IHRydWVcclxuICAgIH1cclxuICBdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQaG9uZU1hc2tDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgaW5wdXRJZDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHN0eWxlQ2xhc3MgPSAnJztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBwaG9uZSA9ICcnO1xyXG5cclxuICBwcml2YXRlIG9uQ2hhbmdlID0gKF86IGFueSkgPT4geyB9O1xyXG4gIHByaXZhdGUgb25Ub3VjaGVkID0gKCkgPT4geyB9O1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChfOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZShwaG9uZTogc3RyaW5nKSB7XHJcbiAgICBpZiAocGhvbmUpIHtcclxuICAgICAgdGhpcy5waG9uZSA9IHRoaXMuYXBwbHlNYXNrKHBob25lKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucGhvbmUgPSAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGUoc3RhdGU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBzdGF0ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkJsdXIoKSB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgY29uc3QgcmF3ID0gdGhpcy5yZW1vdmVNYXNrKHRoaXMucGhvbmUpO1xyXG4gICAgdGhpcy5vbkNoYW5nZShyYXcpO1xyXG4gIH1cclxuXHJcbiAgb25rZXl1cCgpIHtcclxuICAgIGNvbnN0IHJhdyA9IHRoaXMucmVtb3ZlTWFzayh0aGlzLnBob25lKTtcclxuICAgIHRoaXMub25DaGFuZ2UocmF3KTtcclxuICB9XHJcblxyXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgY29uc3QgcmF3ID0gdGhpcy5yZW1vdmVNYXNrKGlucHV0LnZhbHVlKTtcclxuICAgIGNvbnN0IG1hc2tlZCA9IHRoaXMuYXBwbHlNYXNrKHJhdyk7XHJcbiAgICB0aGlzLnBob25lID0gbWFza2VkO1xyXG4gICAgaW5wdXQudmFsdWUgPSBtYXNrZWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbW92ZU1hc2sodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gKHZhbHVlIHx8ICcnKS5yZXBsYWNlKC9bXjAtOV0vZywgJycpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhcHBseU1hc2socmF3OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKCFyYXcpIHJldHVybiAnJztcclxuICAgIGNvbnN0IGRpZ2l0cyA9IHJhdy5yZXBsYWNlKC9bXjAtOV0vZywgJycpLnN1YnN0cmluZygwLCAxMSk7XHJcblxyXG4gICAgaWYgKGRpZ2l0cy5sZW5ndGggPD0gUGhvbmVNYXNrRW51bS5QSE9ORV9ESUdJVCkge1xyXG4gICAgICAvLyAoWFgpIFhYWFgtWFhYWFxyXG4gICAgICByZXR1cm4gZGlnaXRzLnJlcGxhY2UoL14oXFxkezAsMn0pKFxcZHswLDR9KShcXGR7MCw0fSkuKi8sIChfLCBkZGQsIHAxLCBwMikgPT4ge1xyXG4gICAgICAgIGxldCByZXN1bHQgPSAnJztcclxuICAgICAgICBpZiAoZGRkKSByZXN1bHQgKz0gYCgke2RkZH1gO1xyXG4gICAgICAgIGlmIChkZGQubGVuZ3RoID09PSAyKSByZXN1bHQgKz0gJykgJztcclxuICAgICAgICBpZiAocDEpIHJlc3VsdCArPSBwMTtcclxuICAgICAgICBpZiAocDEubGVuZ3RoID09PSA0ICYmIHAyKSByZXN1bHQgKz0gYC0ke3AyfWA7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyAoWFgpIFhYWFhYLVhYWFhcclxuICAgICAgcmV0dXJuIGRpZ2l0cy5yZXBsYWNlKC9eKFxcZHswLDJ9KShcXGR7MCw1fSkoXFxkezAsNH0pLiovLCAoXywgZGRkLCBwMSwgcDIpID0+IHtcclxuICAgICAgICBsZXQgcmVzdWx0ID0gJyc7XHJcbiAgICAgICAgaWYgKGRkZCkgcmVzdWx0ICs9IGAoJHtkZGR9YDtcclxuICAgICAgICBpZiAoZGRkLmxlbmd0aCA9PT0gMikgcmVzdWx0ICs9ICcpICc7XHJcbiAgICAgICAgaWYgKHAxKSByZXN1bHQgKz0gcDE7XHJcbiAgICAgICAgaWYgKHAxLmxlbmd0aCA9PT0gNSAmJiBwMikgcmVzdWx0ICs9IGAtJHtwMn1gO1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicmVxdWlyZWRcIj5cclxuICA8aW5wdXQgW2lkXT1cImlucHV0SWRcIiBbY2xhc3NdPVwic3R5bGVDbGFzc1wiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICBbKG5nTW9kZWwpXT1cInBob25lXCIgY2xhc3M9XCJ1aS1pbnB1dHRleHRcIiBwSW5wdXRUZXh0IChibHVyKT1cIm9uQmx1cigpXCIgKGtleXVwKT1cIm9ua2V5dXAoKVwiIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIiAvPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export var PhoneMaskEnum;
|
|
2
|
+
(function (PhoneMaskEnum) {
|
|
3
|
+
PhoneMaskEnum[PhoneMaskEnum["PHONE_DIGIT"] = 10] = "PHONE_DIGIT";
|
|
4
|
+
})(PhoneMaskEnum || (PhoneMaskEnum = {}));
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtbWFzay5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FtLXBob25lLW1hc2svc3JjL2xpYi9waG9uZS1tYXNrLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksYUFFWDtBQUZELFdBQVksYUFBYTtJQUN2QixnRUFBZ0IsQ0FBQTtBQUNsQixDQUFDLEVBRlcsYUFBYSxLQUFiLGFBQWEsUUFFeEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBQaG9uZU1hc2tFbnVtIHtcclxuICBQSE9ORV9ESUdJVCA9IDEwXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { FormsModule } from '@angular/forms';
|
|
3
|
+
import { InputTextModule } from 'primeng/inputtext';
|
|
4
|
+
import { PhoneMaskComponent } from './phone-mask.component';
|
|
5
|
+
import { PhoneMaskPipe } from './phone-mask.pipe';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class PhoneMaskModule {
|
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PhoneMaskModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: PhoneMaskModule, declarations: [PhoneMaskComponent, PhoneMaskPipe], imports: [FormsModule,
|
|
10
|
+
InputTextModule], exports: [PhoneMaskComponent, PhoneMaskPipe] });
|
|
11
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PhoneMaskModule, imports: [FormsModule,
|
|
12
|
+
InputTextModule] });
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PhoneMaskModule, decorators: [{
|
|
15
|
+
type: NgModule,
|
|
16
|
+
args: [{
|
|
17
|
+
imports: [
|
|
18
|
+
FormsModule,
|
|
19
|
+
InputTextModule
|
|
20
|
+
],
|
|
21
|
+
declarations: [PhoneMaskComponent, PhoneMaskPipe],
|
|
22
|
+
exports: [PhoneMaskComponent, PhoneMaskPipe]
|
|
23
|
+
}]
|
|
24
|
+
}] });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtbWFzay5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zYW0tcGhvbmUtbWFzay9zcmMvbGliL3Bob25lLW1hc2subW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBVWxELE1BQU0sT0FBTyxlQUFlO3dHQUFmLGVBQWU7eUdBQWYsZUFBZSxpQkFIWCxrQkFBa0IsRUFBRSxhQUFhLGFBSDlDLFdBQVc7WUFDWCxlQUFlLGFBR1Asa0JBQWtCLEVBQUUsYUFBYTt5R0FFaEMsZUFBZSxZQU54QixXQUFXO1lBQ1gsZUFBZTs7NEZBS04sZUFBZTtrQkFSM0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsV0FBVzt3QkFDWCxlQUFlO3FCQUNoQjtvQkFDRCxZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxhQUFhLENBQUM7b0JBQ2pELE9BQU8sRUFBRSxDQUFDLGtCQUFrQixFQUFFLGFBQWEsQ0FBQztpQkFDN0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHQnO1xyXG5cclxuaW1wb3J0IHsgUGhvbmVNYXNrQ29tcG9uZW50IH0gZnJvbSAnLi9waG9uZS1tYXNrLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBob25lTWFza1BpcGUgfSBmcm9tICcuL3Bob25lLW1hc2sucGlwZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgSW5wdXRUZXh0TW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtQaG9uZU1hc2tDb21wb25lbnQsIFBob25lTWFza1BpcGVdLFxyXG4gIGV4cG9ydHM6IFtQaG9uZU1hc2tDb21wb25lbnQsIFBob25lTWFza1BpcGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQaG9uZU1hc2tNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { PhoneMaskEnum } from './phone-mask.enum';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class PhoneMaskPipe {
|
|
5
|
+
transform(phone) {
|
|
6
|
+
if (phone && phone.length >= PhoneMaskEnum.PHONE_DIGIT) {
|
|
7
|
+
const phoneArray = phone.split('');
|
|
8
|
+
const mask = `( )_ ${phoneArray.length > PhoneMaskEnum.PHONE_DIGIT ? ' ' : ''}_-_ `;
|
|
9
|
+
return mask.split('').reduce((maskedValue, value) => {
|
|
10
|
+
if (phoneArray && phoneArray.length > 0) {
|
|
11
|
+
if (value.match(' ')) {
|
|
12
|
+
return (maskedValue += phoneArray.shift());
|
|
13
|
+
}
|
|
14
|
+
else if (value.match('_')) {
|
|
15
|
+
return (maskedValue += ' ');
|
|
16
|
+
}
|
|
17
|
+
return (maskedValue += value ? value : '');
|
|
18
|
+
}
|
|
19
|
+
return maskedValue;
|
|
20
|
+
}, '');
|
|
21
|
+
}
|
|
22
|
+
return phone;
|
|
23
|
+
}
|
|
24
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PhoneMaskPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
25
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: PhoneMaskPipe, name: "samPhoneMaskPipe" });
|
|
26
|
+
}
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PhoneMaskPipe, decorators: [{
|
|
28
|
+
type: Pipe,
|
|
29
|
+
args: [{
|
|
30
|
+
name: 'samPhoneMaskPipe'
|
|
31
|
+
}]
|
|
32
|
+
}] });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtbWFzay5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FtLXBob25lLW1hc2svc3JjL2xpYi9waG9uZS1tYXNrLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUtsRCxNQUFNLE9BQU8sYUFBYTtJQUN4QixTQUFTLENBQUMsS0FBYTtRQUNyQixJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN2RCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ25DLE1BQU0sSUFBSSxHQUFHLFlBQVksVUFBVSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDO1lBQzNGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ2xELElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQ3hDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO3dCQUNyQixPQUFPLENBQUMsV0FBVyxJQUFJLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO29CQUM3QyxDQUFDO3lCQUFNLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO3dCQUM1QixPQUFPLENBQUMsV0FBVyxJQUFJLEdBQUcsQ0FBQyxDQUFDO29CQUM5QixDQUFDO29CQUNELE9BQU8sQ0FBQyxXQUFXLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUM3QyxDQUFDO2dCQUNELE9BQU8sV0FBVyxDQUFDO1lBQ3JCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNULENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7d0dBbEJVLGFBQWE7c0dBQWIsYUFBYTs7NEZBQWIsYUFBYTtrQkFIekIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsa0JBQWtCO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFBob25lTWFza0VudW0gfSBmcm9tICcuL3Bob25lLW1hc2suZW51bSc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ3NhbVBob25lTWFza1BpcGUnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQaG9uZU1hc2tQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKHBob25lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKHBob25lICYmIHBob25lLmxlbmd0aCA+PSBQaG9uZU1hc2tFbnVtLlBIT05FX0RJR0lUKSB7XHJcbiAgICAgIGNvbnN0IHBob25lQXJyYXkgPSBwaG9uZS5zcGxpdCgnJyk7XHJcbiAgICAgIGNvbnN0IG1hc2sgPSBgKCAgKV8gICAgJHtwaG9uZUFycmF5Lmxlbmd0aCA+IFBob25lTWFza0VudW0uUEhPTkVfRElHSVQgPyAnICcgOiAnJ31fLV8gICAgYDtcclxuICAgICAgcmV0dXJuIG1hc2suc3BsaXQoJycpLnJlZHVjZSgobWFza2VkVmFsdWUsIHZhbHVlKSA9PiB7XHJcbiAgICAgICAgaWYgKHBob25lQXJyYXkgJiYgcGhvbmVBcnJheS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBpZiAodmFsdWUubWF0Y2goJyAnKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gKG1hc2tlZFZhbHVlICs9IHBob25lQXJyYXkuc2hpZnQoKSk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlLm1hdGNoKCdfJykpIHtcclxuICAgICAgICAgICAgcmV0dXJuIChtYXNrZWRWYWx1ZSArPSAnICcpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIChtYXNrZWRWYWx1ZSArPSB2YWx1ZSA/IHZhbHVlIDogJycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbWFza2VkVmFsdWU7XHJcbiAgICAgIH0sICcnKTtcclxuICAgIH1cclxuICAgIHJldHVybiBwaG9uZTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of sam-phone-mask
|
|
3
|
+
*/
|
|
4
|
+
export * from './lib/phone-mask.pipe';
|
|
5
|
+
export * from './lib/phone-mask.component';
|
|
6
|
+
export * from './lib/phone-mask.module';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3NhbS1waG9uZS1tYXNrL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygc2FtLXBob25lLW1hc2tcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Bob25lLW1hc2sucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Bob25lLW1hc2suY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGhvbmUtbWFzay5tb2R1bGUnO1xyXG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public_api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FtLXNlbmlvci1waG9uZS1tYXNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvc2FtLXBob25lLW1hc2svc3JjL3NhbS1zZW5pb3ItcGhvbmUtbWFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Pipe, Component, ViewEncapsulation, Input, NgModule } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/forms';
|
|
4
|
+
import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
|
|
5
|
+
import * as i2 from 'primeng/inputtext';
|
|
6
|
+
import { InputTextModule } from 'primeng/inputtext';
|
|
7
|
+
|
|
8
|
+
var PhoneMaskEnum;
|
|
9
|
+
(function (PhoneMaskEnum) {
|
|
10
|
+
PhoneMaskEnum[PhoneMaskEnum["PHONE_DIGIT"] = 10] = "PHONE_DIGIT";
|
|
11
|
+
})(PhoneMaskEnum || (PhoneMaskEnum = {}));
|
|
12
|
+
|
|
13
|
+
class PhoneMaskPipe {
|
|
14
|
+
transform(phone) {
|
|
15
|
+
if (phone && phone.length >= PhoneMaskEnum.PHONE_DIGIT) {
|
|
16
|
+
const phoneArray = phone.split('');
|
|
17
|
+
const mask = `( )_ ${phoneArray.length > PhoneMaskEnum.PHONE_DIGIT ? ' ' : ''}_-_ `;
|
|
18
|
+
return mask.split('').reduce((maskedValue, value) => {
|
|
19
|
+
if (phoneArray && phoneArray.length > 0) {
|
|
20
|
+
if (value.match(' ')) {
|
|
21
|
+
return (maskedValue += phoneArray.shift());
|
|
22
|
+
}
|
|
23
|
+
else if (value.match('_')) {
|
|
24
|
+
return (maskedValue += ' ');
|
|
25
|
+
}
|
|
26
|
+
return (maskedValue += value ? value : '');
|
|
27
|
+
}
|
|
28
|
+
return maskedValue;
|
|
29
|
+
}, '');
|
|
30
|
+
}
|
|
31
|
+
return phone;
|
|
32
|
+
}
|
|
33
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PhoneMaskPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
34
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: PhoneMaskPipe, name: "samPhoneMaskPipe" });
|
|
35
|
+
}
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PhoneMaskPipe, decorators: [{
|
|
37
|
+
type: Pipe,
|
|
38
|
+
args: [{
|
|
39
|
+
name: 'samPhoneMaskPipe'
|
|
40
|
+
}]
|
|
41
|
+
}] });
|
|
42
|
+
|
|
43
|
+
class PhoneMaskComponent {
|
|
44
|
+
inputId;
|
|
45
|
+
styleClass = '';
|
|
46
|
+
placeholder = '';
|
|
47
|
+
disabled = false;
|
|
48
|
+
phone = '';
|
|
49
|
+
onChange = (_) => { };
|
|
50
|
+
onTouched = () => { };
|
|
51
|
+
ngOnInit() {
|
|
52
|
+
}
|
|
53
|
+
registerOnChange(fn) {
|
|
54
|
+
this.onChange = fn;
|
|
55
|
+
}
|
|
56
|
+
registerOnTouched(fn) {
|
|
57
|
+
this.onTouched = fn;
|
|
58
|
+
}
|
|
59
|
+
writeValue(phone) {
|
|
60
|
+
if (phone) {
|
|
61
|
+
this.phone = this.applyMask(phone);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
this.phone = '';
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
setDisabledState(state) {
|
|
68
|
+
this.disabled = state;
|
|
69
|
+
}
|
|
70
|
+
onBlur() {
|
|
71
|
+
this.onTouched();
|
|
72
|
+
const raw = this.removeMask(this.phone);
|
|
73
|
+
this.onChange(raw);
|
|
74
|
+
}
|
|
75
|
+
onkeyup() {
|
|
76
|
+
const raw = this.removeMask(this.phone);
|
|
77
|
+
this.onChange(raw);
|
|
78
|
+
}
|
|
79
|
+
onInput(event) {
|
|
80
|
+
const input = event.target;
|
|
81
|
+
const raw = this.removeMask(input.value);
|
|
82
|
+
const masked = this.applyMask(raw);
|
|
83
|
+
this.phone = masked;
|
|
84
|
+
input.value = masked;
|
|
85
|
+
}
|
|
86
|
+
removeMask(value) {
|
|
87
|
+
return (value || '').replace(/[^0-9]/g, '');
|
|
88
|
+
}
|
|
89
|
+
applyMask(raw) {
|
|
90
|
+
if (!raw)
|
|
91
|
+
return '';
|
|
92
|
+
const digits = raw.replace(/[^0-9]/g, '').substring(0, 11);
|
|
93
|
+
if (digits.length <= PhoneMaskEnum.PHONE_DIGIT) {
|
|
94
|
+
// (XX) XXXX-XXXX
|
|
95
|
+
return digits.replace(/^(\d{0,2})(\d{0,4})(\d{0,4}).*/, (_, ddd, p1, p2) => {
|
|
96
|
+
let result = '';
|
|
97
|
+
if (ddd)
|
|
98
|
+
result += `(${ddd}`;
|
|
99
|
+
if (ddd.length === 2)
|
|
100
|
+
result += ') ';
|
|
101
|
+
if (p1)
|
|
102
|
+
result += p1;
|
|
103
|
+
if (p1.length === 4 && p2)
|
|
104
|
+
result += `-${p2}`;
|
|
105
|
+
return result;
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
// (XX) XXXXX-XXXX
|
|
110
|
+
return digits.replace(/^(\d{0,2})(\d{0,5})(\d{0,4}).*/, (_, ddd, p1, p2) => {
|
|
111
|
+
let result = '';
|
|
112
|
+
if (ddd)
|
|
113
|
+
result += `(${ddd}`;
|
|
114
|
+
if (ddd.length === 2)
|
|
115
|
+
result += ') ';
|
|
116
|
+
if (p1)
|
|
117
|
+
result += p1;
|
|
118
|
+
if (p1.length === 5 && p2)
|
|
119
|
+
result += `-${p2}`;
|
|
120
|
+
return result;
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PhoneMaskComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
125
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: PhoneMaskComponent, selector: "sam-phone-mask", inputs: { inputId: "inputId", styleClass: "styleClass", placeholder: "placeholder", disabled: "disabled" }, providers: [
|
|
126
|
+
{
|
|
127
|
+
provide: NG_VALUE_ACCESSOR,
|
|
128
|
+
useExisting: PhoneMaskComponent,
|
|
129
|
+
multi: true
|
|
130
|
+
}
|
|
131
|
+
], ngImport: i0, template: "<div class=\"required\">\r\n <input [id]=\"inputId\" [class]=\"styleClass\" [placeholder]=\"placeholder\" [disabled]=\"disabled\"\r\n [(ngModel)]=\"phone\" class=\"ui-inputtext\" pInputText (blur)=\"onBlur()\" (keyup)=\"onkeyup()\" (input)=\"onInput($event)\" />\r\n</div>\r\n", styles: ["lib-sam-phone-mask.ng-dirty.ng-invalid input{border-color:#e74c3c}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.InputText, selector: "[pInputText]", inputs: ["variant"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
132
|
+
}
|
|
133
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PhoneMaskComponent, decorators: [{
|
|
134
|
+
type: Component,
|
|
135
|
+
args: [{ selector: 'sam-phone-mask', providers: [
|
|
136
|
+
{
|
|
137
|
+
provide: NG_VALUE_ACCESSOR,
|
|
138
|
+
useExisting: PhoneMaskComponent,
|
|
139
|
+
multi: true
|
|
140
|
+
}
|
|
141
|
+
], encapsulation: ViewEncapsulation.None, template: "<div class=\"required\">\r\n <input [id]=\"inputId\" [class]=\"styleClass\" [placeholder]=\"placeholder\" [disabled]=\"disabled\"\r\n [(ngModel)]=\"phone\" class=\"ui-inputtext\" pInputText (blur)=\"onBlur()\" (keyup)=\"onkeyup()\" (input)=\"onInput($event)\" />\r\n</div>\r\n", styles: ["lib-sam-phone-mask.ng-dirty.ng-invalid input{border-color:#e74c3c}\n"] }]
|
|
142
|
+
}], propDecorators: { inputId: [{
|
|
143
|
+
type: Input
|
|
144
|
+
}], styleClass: [{
|
|
145
|
+
type: Input
|
|
146
|
+
}], placeholder: [{
|
|
147
|
+
type: Input
|
|
148
|
+
}], disabled: [{
|
|
149
|
+
type: Input
|
|
150
|
+
}] } });
|
|
151
|
+
|
|
152
|
+
class PhoneMaskModule {
|
|
153
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PhoneMaskModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
154
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: PhoneMaskModule, declarations: [PhoneMaskComponent, PhoneMaskPipe], imports: [FormsModule,
|
|
155
|
+
InputTextModule], exports: [PhoneMaskComponent, PhoneMaskPipe] });
|
|
156
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PhoneMaskModule, imports: [FormsModule,
|
|
157
|
+
InputTextModule] });
|
|
158
|
+
}
|
|
159
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PhoneMaskModule, decorators: [{
|
|
160
|
+
type: NgModule,
|
|
161
|
+
args: [{
|
|
162
|
+
imports: [
|
|
163
|
+
FormsModule,
|
|
164
|
+
InputTextModule
|
|
165
|
+
],
|
|
166
|
+
declarations: [PhoneMaskComponent, PhoneMaskPipe],
|
|
167
|
+
exports: [PhoneMaskComponent, PhoneMaskPipe]
|
|
168
|
+
}]
|
|
169
|
+
}] });
|
|
170
|
+
|
|
171
|
+
/*
|
|
172
|
+
* Public API Surface of sam-phone-mask
|
|
173
|
+
*/
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* Generated bundle index. Do not edit.
|
|
177
|
+
*/
|
|
178
|
+
|
|
179
|
+
export { PhoneMaskComponent, PhoneMaskModule, PhoneMaskPipe };
|
|
180
|
+
//# sourceMappingURL=sam-senior-phone-mask.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sam-senior-phone-mask.mjs","sources":["../../../projects/sam-phone-mask/src/lib/phone-mask.enum.ts","../../../projects/sam-phone-mask/src/lib/phone-mask.pipe.ts","../../../projects/sam-phone-mask/src/lib/phone-mask.component.ts","../../../projects/sam-phone-mask/src/lib/phone-mask.component.html","../../../projects/sam-phone-mask/src/lib/phone-mask.module.ts","../../../projects/sam-phone-mask/src/public_api.ts","../../../projects/sam-phone-mask/src/sam-senior-phone-mask.ts"],"sourcesContent":["export enum PhoneMaskEnum {\r\n PHONE_DIGIT = 10\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\nimport { PhoneMaskEnum } from './phone-mask.enum';\r\n\r\n@Pipe({\r\n name: 'samPhoneMaskPipe'\r\n})\r\nexport class PhoneMaskPipe implements PipeTransform {\r\n transform(phone: string): string {\r\n if (phone && phone.length >= PhoneMaskEnum.PHONE_DIGIT) {\r\n const phoneArray = phone.split('');\r\n const mask = `( )_ ${phoneArray.length > PhoneMaskEnum.PHONE_DIGIT ? ' ' : ''}_-_ `;\r\n return mask.split('').reduce((maskedValue, value) => {\r\n if (phoneArray && phoneArray.length > 0) {\r\n if (value.match(' ')) {\r\n return (maskedValue += phoneArray.shift());\r\n } else if (value.match('_')) {\r\n return (maskedValue += ' ');\r\n }\r\n return (maskedValue += value ? value : '');\r\n }\r\n return maskedValue;\r\n }, '');\r\n }\r\n return phone;\r\n }\r\n}\r\n","import { Component, HostListener, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nimport { PhoneMaskEnum } from './phone-mask.enum';\r\n\r\n@Component({\r\n selector: 'sam-phone-mask',\r\n templateUrl: 'phone-mask.component.html',\r\n styleUrls: ['./phone-mask.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: PhoneMaskComponent,\r\n multi: true\r\n }\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class PhoneMaskComponent implements ControlValueAccessor, OnInit {\r\n\r\n @Input() inputId: string;\r\n @Input() styleClass = '';\r\n @Input() placeholder = '';\r\n @Input() disabled = false;\r\n\r\n public phone = '';\r\n\r\n private onChange = (_: any) => { };\r\n private onTouched = () => { };\r\n\r\n ngOnInit() {\r\n }\r\n\r\n registerOnChange(fn: (_: any) => void): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n writeValue(phone: string) {\r\n if (phone) {\r\n this.phone = this.applyMask(phone);\r\n } else {\r\n this.phone = '';\r\n }\r\n }\r\n\r\n setDisabledState(state: boolean) {\r\n this.disabled = state;\r\n }\r\n\r\n public onBlur() {\r\n this.onTouched();\r\n const raw = this.removeMask(this.phone);\r\n this.onChange(raw);\r\n }\r\n\r\n onkeyup() {\r\n const raw = this.removeMask(this.phone);\r\n this.onChange(raw);\r\n }\r\n\r\n onInput(event: Event) {\r\n const input = event.target as HTMLInputElement;\r\n const raw = this.removeMask(input.value);\r\n const masked = this.applyMask(raw);\r\n this.phone = masked;\r\n input.value = masked;\r\n }\r\n\r\n private removeMask(value: string): string {\r\n return (value || '').replace(/[^0-9]/g, '');\r\n }\r\n\r\n private applyMask(raw: string): string {\r\n if (!raw) return '';\r\n const digits = raw.replace(/[^0-9]/g, '').substring(0, 11);\r\n\r\n if (digits.length <= PhoneMaskEnum.PHONE_DIGIT) {\r\n // (XX) XXXX-XXXX\r\n return digits.replace(/^(\\d{0,2})(\\d{0,4})(\\d{0,4}).*/, (_, ddd, p1, p2) => {\r\n let result = '';\r\n if (ddd) result += `(${ddd}`;\r\n if (ddd.length === 2) result += ') ';\r\n if (p1) result += p1;\r\n if (p1.length === 4 && p2) result += `-${p2}`;\r\n return result;\r\n });\r\n } else {\r\n // (XX) XXXXX-XXXX\r\n return digits.replace(/^(\\d{0,2})(\\d{0,5})(\\d{0,4}).*/, (_, ddd, p1, p2) => {\r\n let result = '';\r\n if (ddd) result += `(${ddd}`;\r\n if (ddd.length === 2) result += ') ';\r\n if (p1) result += p1;\r\n if (p1.length === 5 && p2) result += `-${p2}`;\r\n return result;\r\n });\r\n }\r\n }\r\n}\r\n","<div class=\"required\">\r\n <input [id]=\"inputId\" [class]=\"styleClass\" [placeholder]=\"placeholder\" [disabled]=\"disabled\"\r\n [(ngModel)]=\"phone\" class=\"ui-inputtext\" pInputText (blur)=\"onBlur()\" (keyup)=\"onkeyup()\" (input)=\"onInput($event)\" />\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\n\r\nimport { PhoneMaskComponent } from './phone-mask.component';\r\nimport { PhoneMaskPipe } from './phone-mask.pipe';\r\n\r\n@NgModule({\r\n imports: [\r\n FormsModule,\r\n InputTextModule\r\n ],\r\n declarations: [PhoneMaskComponent, PhoneMaskPipe],\r\n exports: [PhoneMaskComponent, PhoneMaskPipe]\r\n})\r\nexport class PhoneMaskModule { }\r\n","/*\r\n * Public API Surface of sam-phone-mask\r\n */\r\nexport * from './lib/phone-mask.pipe';\r\nexport * from './lib/phone-mask.component';\r\nexport * from './lib/phone-mask.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
2
|
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
3
4
|
export declare class PhoneMaskComponent implements ControlValueAccessor, OnInit {
|
|
4
5
|
inputId: string;
|
|
5
6
|
styleClass: string;
|
|
6
7
|
placeholder: string;
|
|
7
8
|
disabled: boolean;
|
|
8
9
|
phone: string;
|
|
9
|
-
mask: any;
|
|
10
10
|
private onChange;
|
|
11
11
|
private onTouched;
|
|
12
12
|
ngOnInit(): void;
|
|
@@ -16,8 +16,9 @@ export declare class PhoneMaskComponent implements ControlValueAccessor, OnInit
|
|
|
16
16
|
setDisabledState(state: boolean): void;
|
|
17
17
|
onBlur(): void;
|
|
18
18
|
onkeyup(): void;
|
|
19
|
+
onInput(event: Event): void;
|
|
19
20
|
private removeMask;
|
|
20
|
-
private
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
private applyMask;
|
|
22
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PhoneMaskComponent, never>;
|
|
23
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PhoneMaskComponent, "sam-phone-mask", never, { "inputId": { "alias": "inputId"; "required": false; }; "styleClass": { "alias": "styleClass"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, false, never>;
|
|
23
24
|
}
|
|
@@ -1,2 +1,10 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./phone-mask.component";
|
|
3
|
+
import * as i2 from "./phone-mask.pipe";
|
|
4
|
+
import * as i3 from "@angular/forms";
|
|
5
|
+
import * as i4 from "primeng/inputtext";
|
|
1
6
|
export declare class PhoneMaskModule {
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PhoneMaskModule, never>;
|
|
8
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<PhoneMaskModule, [typeof i1.PhoneMaskComponent, typeof i2.PhoneMaskPipe], [typeof i3.FormsModule, typeof i4.InputTextModule], [typeof i1.PhoneMaskComponent, typeof i2.PhoneMaskPipe]>;
|
|
9
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<PhoneMaskModule>;
|
|
2
10
|
}
|
package/lib/phone-mask.pipe.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { PipeTransform } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
2
3
|
export declare class PhoneMaskPipe implements PipeTransform {
|
|
3
4
|
transform(phone: string): string;
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PhoneMaskPipe, never>;
|
|
6
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<PhoneMaskPipe, "samPhoneMaskPipe", false>;
|
|
4
7
|
}
|
package/package.json
CHANGED
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sam-senior/phone-mask",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^
|
|
6
|
-
"@angular/core": "^
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
"@angular/common": "^18.0.0",
|
|
6
|
+
"@angular/core": "^18.0.0",
|
|
7
|
+
"@seniorsistemas/primeng-theme": "^10.0.7"
|
|
8
|
+
},
|
|
9
|
+
"module": "fesm2022/sam-senior-phone-mask.mjs",
|
|
10
|
+
"typings": "index.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
"./package.json": {
|
|
13
|
+
"default": "./package.json"
|
|
14
|
+
},
|
|
15
|
+
".": {
|
|
16
|
+
"types": "./index.d.ts",
|
|
17
|
+
"esm2022": "./esm2022/sam-senior-phone-mask.mjs",
|
|
18
|
+
"esm": "./esm2022/sam-senior-phone-mask.mjs",
|
|
19
|
+
"default": "./fesm2022/sam-senior-phone-mask.mjs"
|
|
20
|
+
}
|
|
10
21
|
},
|
|
11
|
-
"main": "bundles/sam-senior-phone-mask.umd.js",
|
|
12
|
-
"module": "fesm5/sam-senior-phone-mask.js",
|
|
13
|
-
"es2015": "fesm2015/sam-senior-phone-mask.js",
|
|
14
|
-
"esm5": "esm5/sam-senior-phone-mask.js",
|
|
15
|
-
"esm2015": "esm2015/sam-senior-phone-mask.js",
|
|
16
|
-
"fesm5": "fesm5/sam-senior-phone-mask.js",
|
|
17
|
-
"fesm2015": "fesm2015/sam-senior-phone-mask.js",
|
|
18
|
-
"typings": "sam-senior-phone-mask.d.ts",
|
|
19
|
-
"metadata": "sam-senior-phone-mask.metadata.json",
|
|
20
22
|
"sideEffects": false,
|
|
21
23
|
"dependencies": {
|
|
22
|
-
"tslib": "^
|
|
24
|
+
"tslib": "^2.3.0"
|
|
23
25
|
}
|
|
24
|
-
}
|
|
26
|
+
}
|