@snabcentr/client-ui 1.6.3 → 1.7.0
Sign up to get free protection for your applications and to get access to all the features.
- package/contacts/sc-contacts.module.d.ts +3 -1
- package/directives/index.d.ts +1 -0
- package/directives/tel-link/sc-tel-link.directive.d.ts +27 -0
- package/directives/tel-link/sc-tel-link.module.d.ts +11 -0
- package/esm2020/contacts/contacts-accordion/sc-contacts-accordion.component.mjs +5 -3
- package/esm2020/contacts/sc-contacts.module.mjs +9 -7
- package/esm2020/directives/index.mjs +2 -1
- package/esm2020/directives/tel-link/sc-tel-link.directive.mjs +58 -0
- package/esm2020/directives/tel-link/sc-tel-link.module.mjs +20 -0
- package/esm2020/pipes/index.mjs +2 -0
- package/esm2020/pipes/sc-formatted-phone.mjs +34 -0
- package/esm2020/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs +7 -5
- package/esm2020/profile/sc-profile.module.mjs +8 -7
- package/esm2020/public-api.mjs +2 -1
- package/esm2020/user/sc-user.module.mjs +7 -6
- package/esm2020/user/user-managers/sc-user-managers.component.mjs +5 -3
- package/fesm2015/snabcentr-client-ui.mjs +126 -23
- package/fesm2015/snabcentr-client-ui.mjs.map +1 -1
- package/fesm2020/snabcentr-client-ui.mjs +126 -23
- package/fesm2020/snabcentr-client-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/pipes/index.d.ts +1 -0
- package/pipes/sc-formatted-phone.d.ts +19 -0
- package/profile/sc-profile.module.d.ts +2 -1
- package/public-api.d.ts +1 -0
- package/styles/tailwind/tailwind.scss +1 -1
- package/user/sc-user.module.d.ts +2 -1
@@ -11,11 +11,13 @@ import * as i9 from "../form-fields/form-fields.module";
|
|
11
11
|
import * as i10 from "@maskito/angular";
|
12
12
|
import * as i11 from "@taiga-ui/kit";
|
13
13
|
import * as i12 from "../directives/terminal-link/sc-terminal-link.directive";
|
14
|
+
import * as i13 from "../pipes/sc-formatted-phone";
|
15
|
+
import * as i14 from "../directives/tel-link/sc-tel-link.directive";
|
14
16
|
/**
|
15
17
|
* Модуль контактных лиц.
|
16
18
|
*/
|
17
19
|
export declare class ScContactsModule {
|
18
20
|
static ɵfac: i0.ɵɵFactoryDeclaration<ScContactsModule, never>;
|
19
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<ScContactsModule, [typeof i1.ScContactsAccordionComponent, typeof i2.ScNewContactFormComponent, typeof i3.ScAddContactDialogComponent], [typeof i4.CommonModule, typeof i5.FormsModule, typeof i5.ReactiveFormsModule, typeof i6.ScAccordionModule, typeof i7.TuiButtonModule, typeof i7.TuiLoaderModule, typeof i8.TuiLetModule, typeof i7.TuiNotificationModule, typeof i7.TuiLinkModule, typeof
|
21
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ScContactsModule, [typeof i1.ScContactsAccordionComponent, typeof i2.ScNewContactFormComponent, typeof i3.ScAddContactDialogComponent], [typeof i4.CommonModule, typeof i5.FormsModule, typeof i5.ReactiveFormsModule, typeof i6.ScAccordionModule, typeof i7.TuiButtonModule, typeof i7.TuiLoaderModule, typeof i8.TuiLetModule, typeof i7.TuiNotificationModule, typeof i7.TuiLinkModule, typeof i9.ScFormFieldsModule, typeof i10.MaskitoModule, typeof i11.TuiFieldErrorPipeModule, typeof i11.TuiSelectModule, typeof i7.TuiDataListModule, typeof i11.TuiDataListWrapperModule, typeof i7.TuiLabelModule, typeof i11.TuiInputModule, typeof i11.TuiInputPhoneModule, typeof i7.TuiErrorModule, typeof i12.ScTerminalLinkDirective, typeof i13.ScFormatePhonePipe, typeof i14.ScTelLinkDirective], [typeof i1.ScContactsAccordionComponent, typeof i2.ScNewContactFormComponent, typeof i3.ScAddContactDialogComponent]>;
|
20
22
|
static ɵinj: i0.ɵɵInjectorDeclaration<ScContactsModule>;
|
21
23
|
}
|
package/directives/index.d.ts
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
export * from './next-input-focus/sc-next-input-focus.directive';
|
2
2
|
export * from './next-input-focus/sc-next-input-focus.module';
|
3
3
|
export * from './abstract-price-card/abstract-sc-price-card.directive';
|
4
|
+
export * from './tel-link/sc-tel-link.directive';
|
4
5
|
export * from './terminal-link/sc-terminal-link.directive';
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { OnChanges, SimpleChanges } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
/**
|
4
|
+
* Директива, которая управляет свойствами ссылки номера телефона для валидации значения номера телефона.
|
5
|
+
*/
|
6
|
+
export declare class ScTelLinkDirective implements OnChanges {
|
7
|
+
/**
|
8
|
+
* Экземпляр базового класса для реализации пользовательского рендеринга.
|
9
|
+
*/
|
10
|
+
private readonly renderer;
|
11
|
+
/**
|
12
|
+
* Ссылка на HTML элемент тега `<a>`.
|
13
|
+
*/
|
14
|
+
private elementReference;
|
15
|
+
/**
|
16
|
+
* Номер телефона, который будет проверен на валидность.
|
17
|
+
*/
|
18
|
+
scTelLink: string;
|
19
|
+
/** @inheritDoc */
|
20
|
+
ngOnChanges(changes: SimpleChanges): void;
|
21
|
+
/**
|
22
|
+
* Обновляет состояние ссылки на основе валидности номера телефона.
|
23
|
+
*/
|
24
|
+
private updateLinkState;
|
25
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ScTelLinkDirective, never>;
|
26
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ScTelLinkDirective, "[scTelLink]", never, { "scTelLink": "scTelLink"; }, {}, never, never, true>;
|
27
|
+
}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
import * as i1 from "../../pipes/sc-formatted-phone";
|
3
|
+
import * as i2 from "./sc-tel-link.directive";
|
4
|
+
/**
|
5
|
+
* Модуль валидации значения номера телефона.
|
6
|
+
*/
|
7
|
+
export declare class ScTelLinkModule {
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ScTelLinkModule, never>;
|
9
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ScTelLinkModule, never, [typeof i1.ScFormatePhonePipe, typeof i2.ScTelLinkDirective], [typeof i1.ScFormatePhonePipe, typeof i2.ScTelLinkDirective]>;
|
10
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<ScTelLinkModule>;
|
11
|
+
}
|
@@ -6,6 +6,8 @@ import * as i3 from "../../accordion/sc-accordion-content.directive";
|
|
6
6
|
import * as i4 from "@taiga-ui/core";
|
7
7
|
import * as i5 from "@taiga-ui/cdk";
|
8
8
|
import * as i6 from "../../directives/terminal-link/sc-terminal-link.directive";
|
9
|
+
import * as i7 from "../../directives/tel-link/sc-tel-link.directive";
|
10
|
+
import * as i8 from "../../pipes/sc-formatted-phone";
|
9
11
|
/**
|
10
12
|
* Компонент контактного лица в списке.
|
11
13
|
*/
|
@@ -22,10 +24,10 @@ export class ScContactsAccordionComponent {
|
|
22
24
|
}
|
23
25
|
}
|
24
26
|
ScContactsAccordionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScContactsAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
25
|
-
ScContactsAccordionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScContactsAccordionComponent, selector: "sc-contacts-accordion", inputs: { contacts$: "contacts$" }, outputs: { addContactClick: "addContactClick", deleteButtonClick: "deleteButtonClick" }, ngImport: i0, template: "<sc-accordion (addButtonClick)=\"addContactClick.emit()\">\n \u041A\u043E\u043D\u0442\u0430\u043A\u0442\u044B\n <ng-template scAccordionContent>\n <tui-loader\n *tuiLet=\"contacts$ | async as contacts\"\n [overlay]=\"true\"\n [showLoader]=\"contacts === null\"\n >\n <div class=\"flex flex-col gap-2\">\n <ng-container *ngIf=\"!contacts || contacts.length; else contactsNotExist\">\n <div\n *ngFor=\"let contact of contacts\"\n class=\"flex gap-2 border-b border-tui-base-03\"\n >\n <div class=\"flex grow flex-col gap-2\">\n {{ contact.name }}\n <a\n tuiLink\n icon=\"tuiIconPhoneLarge\"\n iconAlign=\"left\"\n [pseudo]=\"true\"\n href=\"tel:{{ contact.phone }}\"\n >{{ contact.phone |
|
27
|
+
ScContactsAccordionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScContactsAccordionComponent, selector: "sc-contacts-accordion", inputs: { contacts$: "contacts$" }, outputs: { addContactClick: "addContactClick", deleteButtonClick: "deleteButtonClick" }, ngImport: i0, template: "<sc-accordion (addButtonClick)=\"addContactClick.emit()\">\n \u041A\u043E\u043D\u0442\u0430\u043A\u0442\u044B\n <ng-template scAccordionContent>\n <tui-loader\n *tuiLet=\"contacts$ | async as contacts\"\n [overlay]=\"true\"\n [showLoader]=\"contacts === null\"\n >\n <div class=\"flex flex-col gap-2\">\n <ng-container *ngIf=\"!contacts || contacts.length; else contactsNotExist\">\n <div\n *ngFor=\"let contact of contacts\"\n class=\"flex gap-2 border-b border-tui-base-03\"\n >\n <div class=\"flex grow flex-col gap-2\">\n {{ contact.name }}\n <a\n tuiLink\n [scTelLink]=\"contact.phone\"\n icon=\"tuiIconPhoneLarge\"\n iconAlign=\"left\"\n [pseudo]=\"true\"\n href=\"tel:{{ contact.phone | scFormatePhone }}\"\n >{{ contact.phone | scFormatePhone }}</a\n >\n <a\n tuiLink\n icon=\"tuiIconMailLarge\"\n iconAlign=\"left\"\n [pseudo]=\"true\"\n href=\"mailto:{{ contact.email }}\"\n >\n {{ contact.email }}\n </a>\n </div>\n <!-- \u0424\u0443\u043D\u043A\u0446\u0438\u043E\u043D\u0430\u043B \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E \u043D\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044E. -->\n <!-- <div class=\"flex flex-col md:flex-row gap-1\">\n <button\n tuiIconButton\n size=\"m\"\n type=\"button\"\n icon=\"tuiIconTrash2Large\"\n appearance=\"flat\"\n (click)=\"$event.stopPropagation(); deleteButtonClick.emit(contact)\"\n ></button>\n </div> -->\n </div>\n </ng-container>\n\n <ng-template #contactsNotExist>\n <tui-notification size=\"l\">\n <div class=\"flex flex-wrap gap-2 font-medium\">\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u044B \u043D\u0435 \u0443\u043A\u0430\u0437\u0430\u043D\u044B.</div>\n </tui-notification>\n </ng-template>\n </div>\n </tui-loader>\n </ng-template>\n</sc-accordion>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ScAccordionComponent, selector: "sc-accordion", inputs: ["showAddButton", "showDeleteButton", "showArrow", "open", "size"], outputs: ["addButtonClick", "deleteButtonClick"] }, { kind: "directive", type: i3.ScAccordionContentDirective, selector: "ng-template[scAccordionContent]" }, { kind: "component", type: i4.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "directive", type: i5.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "component", type: i4.TuiNotificationComponent, selector: "tui-notification,a[tuiNotification],button[tuiNotification]", inputs: ["hasIcon", "icon", "status", "size", "hideClose"], outputs: ["close"] }, { kind: "component", type: i4.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }, { kind: "directive", type: i6.ScTerminalLinkDirective, selector: "a[href]" }, { kind: "directive", type: i7.ScTelLinkDirective, selector: "[scTelLink]", inputs: ["scTelLink"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.ScFormatePhonePipe, name: "scFormatePhone" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
26
28
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScContactsAccordionComponent, decorators: [{
|
27
29
|
type: Component,
|
28
|
-
args: [{ selector: 'sc-contacts-accordion', changeDetection: ChangeDetectionStrategy.OnPush, template: "<sc-accordion (addButtonClick)=\"addContactClick.emit()\">\n \u041A\u043E\u043D\u0442\u0430\u043A\u0442\u044B\n <ng-template scAccordionContent>\n <tui-loader\n *tuiLet=\"contacts$ | async as contacts\"\n [overlay]=\"true\"\n [showLoader]=\"contacts === null\"\n >\n <div class=\"flex flex-col gap-2\">\n <ng-container *ngIf=\"!contacts || contacts.length; else contactsNotExist\">\n <div\n *ngFor=\"let contact of contacts\"\n class=\"flex gap-2 border-b border-tui-base-03\"\n >\n <div class=\"flex grow flex-col gap-2\">\n {{ contact.name }}\n <a\n tuiLink\n icon=\"tuiIconPhoneLarge\"\n iconAlign=\"left\"\n [pseudo]=\"true\"\n href=\"tel:{{ contact.phone }}\"\n >{{ contact.phone |
|
30
|
+
args: [{ selector: 'sc-contacts-accordion', changeDetection: ChangeDetectionStrategy.OnPush, template: "<sc-accordion (addButtonClick)=\"addContactClick.emit()\">\n \u041A\u043E\u043D\u0442\u0430\u043A\u0442\u044B\n <ng-template scAccordionContent>\n <tui-loader\n *tuiLet=\"contacts$ | async as contacts\"\n [overlay]=\"true\"\n [showLoader]=\"contacts === null\"\n >\n <div class=\"flex flex-col gap-2\">\n <ng-container *ngIf=\"!contacts || contacts.length; else contactsNotExist\">\n <div\n *ngFor=\"let contact of contacts\"\n class=\"flex gap-2 border-b border-tui-base-03\"\n >\n <div class=\"flex grow flex-col gap-2\">\n {{ contact.name }}\n <a\n tuiLink\n [scTelLink]=\"contact.phone\"\n icon=\"tuiIconPhoneLarge\"\n iconAlign=\"left\"\n [pseudo]=\"true\"\n href=\"tel:{{ contact.phone | scFormatePhone }}\"\n >{{ contact.phone | scFormatePhone }}</a\n >\n <a\n tuiLink\n icon=\"tuiIconMailLarge\"\n iconAlign=\"left\"\n [pseudo]=\"true\"\n href=\"mailto:{{ contact.email }}\"\n >\n {{ contact.email }}\n </a>\n </div>\n <!-- \u0424\u0443\u043D\u043A\u0446\u0438\u043E\u043D\u0430\u043B \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E \u043D\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044E. -->\n <!-- <div class=\"flex flex-col md:flex-row gap-1\">\n <button\n tuiIconButton\n size=\"m\"\n type=\"button\"\n icon=\"tuiIconTrash2Large\"\n appearance=\"flat\"\n (click)=\"$event.stopPropagation(); deleteButtonClick.emit(contact)\"\n ></button>\n </div> -->\n </div>\n </ng-container>\n\n <ng-template #contactsNotExist>\n <tui-notification size=\"l\">\n <div class=\"flex flex-wrap gap-2 font-medium\">\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u044B \u043D\u0435 \u0443\u043A\u0430\u0437\u0430\u043D\u044B.</div>\n </tui-notification>\n </ng-template>\n </div>\n </tui-loader>\n </ng-template>\n</sc-accordion>\n" }]
|
29
31
|
}], propDecorators: { contacts$: [{
|
30
32
|
type: Input
|
31
33
|
}], addContactClick: [{
|
@@ -33,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
33
35
|
}], deleteButtonClick: [{
|
34
36
|
type: Output
|
35
37
|
}] } });
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY29udGFjdHMtYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9jb250YWN0cy9jb250YWN0cy1hY2NvcmRpb24vc2MtY29udGFjdHMtYWNjb3JkaW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9jb250YWN0cy9jb250YWN0cy1hY2NvcmRpb24vc2MtY29udGFjdHMtYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7QUFJaEc7O0dBRUc7QUFNSCxNQUFNLE9BQU8sNEJBQTRCO0lBTHpDO1FBWUk7O1dBRUc7UUFFSSxvQkFBZSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXRFOztXQUVHO1FBRUksc0JBQWlCLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7S0FDdkY7O3lIQWxCWSw0QkFBNEI7NkdBQTVCLDRCQUE0QiwwTENaekMsd2dHQTBEQTsyRkQ5Q2EsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNJLHVCQUF1QixtQkFFaEIsdUJBQXVCLENBQUMsTUFBTTs4QkFPeEMsU0FBUztzQkFEZixLQUFLO2dCQU9DLGVBQWU7c0JBRHJCLE1BQU07Z0JBT0EsaUJBQWlCO3NCQUR2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTY0lDb250YWN0IH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAg0LIg0YHQv9C40YHQutC1LlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLWNvbnRhY3RzLWFjY29yZGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLWNvbnRhY3RzLWFjY29yZGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2NDb250YWN0c0FjY29yZGlvbkNvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICog0JrQvtC90YLQsNC60YLQvdGL0LUg0LvQuNGG0LAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY29udGFjdHMkOiBPYnNlcnZhYmxlPFNjSUNvbnRhY3RbXSB8IG51bGw+O1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0LTQvtCx0LDQstC70LXQvdC40Y8g0LrQvtC90YLQsNC60YLQvdC+0LPQviDQu9C40YbQsC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgYWRkQ29udGFjdENsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDRg9C00LDQu9C10L3QuNGPINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGRlbGV0ZUJ1dHRvbkNsaWNrOiBFdmVudEVtaXR0ZXI8U2NJQ29udGFjdD4gPSBuZXcgRXZlbnRFbWl0dGVyPFNjSUNvbnRhY3Q+KCk7XG59XG4iLCI8c2MtYWNjb3JkaW9uIChhZGRCdXR0b25DbGljayk9XCJhZGRDb250YWN0Q2xpY2suZW1pdCgpXCI+XG4gICAg0JrQvtC90YLQsNC60YLRi1xuICAgIDxuZy10ZW1wbGF0ZSBzY0FjY29yZGlvbkNvbnRlbnQ+XG4gICAgICAgIDx0dWktbG9hZGVyXG4gICAgICAgICAgICAqdHVpTGV0PVwiY29udGFjdHMkIHwgYXN5bmMgYXMgY29udGFjdHNcIlxuICAgICAgICAgICAgW292ZXJsYXldPVwidHJ1ZVwiXG4gICAgICAgICAgICBbc2hvd0xvYWRlcl09XCJjb250YWN0cyA9PT0gbnVsbFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb250YWN0cyB8fCBjb250YWN0cy5sZW5ndGg7IGVsc2UgY29udGFjdHNOb3RFeGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29udGFjdCBvZiBjb250YWN0c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZ2FwLTIgYm9yZGVyLWIgYm9yZGVyLXR1aS1iYXNlLTAzXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ3JvdyBmbGV4LWNvbCBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNvbnRhY3QubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjVGVsTGlua109XCJjb250YWN0LnBob25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInR1aUljb25QaG9uZUxhcmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbkFsaWduPVwibGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwc2V1ZG9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCJ0ZWw6e3sgY29udGFjdC5waG9uZSB8IHNjRm9ybWF0ZVBob25lIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7IGNvbnRhY3QucGhvbmUgfCBzY0Zvcm1hdGVQaG9uZSB9fTwvYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJ0dWlJY29uTWFpbExhcmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbkFsaWduPVwibGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwc2V1ZG9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCJtYWlsdG86e3sgY29udGFjdC5lbWFpbCB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjb250YWN0LmVtYWlsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tINCk0YPQvdC60YbQuNC+0L3QsNC7INGD0LTQsNC70LXQvdC40Y8g0LLRgNC10LzQtdC90L3QviDQvdC1INC00L7RgdGC0YPQv9C10L0g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GOLiAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgbWQ6ZmxleC1yb3cgZ2FwLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInR1aUljb25UcmFzaDJMYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJmbGF0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgZGVsZXRlQnV0dG9uQ2xpY2suZW1pdChjb250YWN0KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY29udGFjdHNOb3RFeGlzdD5cbiAgICAgICAgICAgICAgICAgICAgPHR1aS1ub3RpZmljYXRpb24gc2l6ZT1cImxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBnYXAtMiBmb250LW1lZGl1bVwiPtCa0L7QvdGC0LDQutGC0Ysg0L3QtSDRg9C60LDQt9Cw0L3Riy48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC90dWktbm90aWZpY2F0aW9uPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90dWktbG9hZGVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L3NjLWFjY29yZGlvbj5cbiJdfQ==
|
@@ -3,11 +3,12 @@ import { NgModule } from '@angular/core';
|
|
3
3
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
4
4
|
import { MaskitoModule } from '@maskito/angular';
|
5
5
|
import { TuiLetModule } from '@taiga-ui/cdk';
|
6
|
-
import { TuiButtonModule, TuiDataListModule, TuiErrorModule,
|
6
|
+
import { TuiButtonModule, TuiDataListModule, TuiErrorModule, TuiLabelModule, TuiLinkModule, TuiLoaderModule, TuiNotificationModule } from '@taiga-ui/core';
|
7
7
|
import { TuiDataListWrapperModule, TuiFieldErrorPipeModule, TuiInputModule, TuiInputPhoneModule, TuiSelectModule } from '@taiga-ui/kit';
|
8
8
|
import { ScAccordionModule } from '../accordion';
|
9
|
-
import { ScTerminalLinkDirective } from '../directives';
|
9
|
+
import { ScTelLinkDirective, ScTerminalLinkDirective } from '../directives';
|
10
10
|
import { ScFormFieldsModule } from '../form-fields/form-fields.module';
|
11
|
+
import { ScFormatePhonePipe } from '../pipes';
|
11
12
|
import { ScAddContactDialogComponent } from './add-contact-dialog/sc-add-contact-dialog.component';
|
12
13
|
import { ScContactsAccordionComponent } from './contacts-accordion/sc-contacts-accordion.component';
|
13
14
|
import { ScNewContactFormComponent } from './new-contact-form/sc-new-contact-form.component';
|
@@ -27,7 +28,6 @@ ScContactsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
|
|
27
28
|
TuiLetModule,
|
28
29
|
TuiNotificationModule,
|
29
30
|
TuiLinkModule,
|
30
|
-
TuiFormatPhonePipeModule,
|
31
31
|
ScFormFieldsModule,
|
32
32
|
MaskitoModule,
|
33
33
|
TuiFieldErrorPipeModule,
|
@@ -38,7 +38,9 @@ ScContactsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
|
|
38
38
|
TuiInputModule,
|
39
39
|
TuiInputPhoneModule,
|
40
40
|
TuiErrorModule,
|
41
|
-
ScTerminalLinkDirective
|
41
|
+
ScTerminalLinkDirective,
|
42
|
+
ScFormatePhonePipe,
|
43
|
+
ScTelLinkDirective], exports: [ScContactsAccordionComponent, ScNewContactFormComponent, ScAddContactDialogComponent] });
|
42
44
|
ScContactsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScContactsModule, imports: [CommonModule,
|
43
45
|
FormsModule,
|
44
46
|
ReactiveFormsModule,
|
@@ -48,7 +50,6 @@ ScContactsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versio
|
|
48
50
|
TuiLetModule,
|
49
51
|
TuiNotificationModule,
|
50
52
|
TuiLinkModule,
|
51
|
-
TuiFormatPhonePipeModule,
|
52
53
|
ScFormFieldsModule,
|
53
54
|
MaskitoModule,
|
54
55
|
TuiFieldErrorPipeModule,
|
@@ -73,7 +74,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
73
74
|
TuiLetModule,
|
74
75
|
TuiNotificationModule,
|
75
76
|
TuiLinkModule,
|
76
|
-
TuiFormatPhonePipeModule,
|
77
77
|
ScFormFieldsModule,
|
78
78
|
MaskitoModule,
|
79
79
|
TuiFieldErrorPipeModule,
|
@@ -85,8 +85,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
85
85
|
TuiInputPhoneModule,
|
86
86
|
TuiErrorModule,
|
87
87
|
ScTerminalLinkDirective,
|
88
|
+
ScFormatePhonePipe,
|
89
|
+
ScTelLinkDirective,
|
88
90
|
],
|
89
91
|
exports: [ScContactsAccordionComponent, ScNewContactFormComponent, ScAddContactDialogComponent],
|
90
92
|
}]
|
91
93
|
}] });
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY29udGFjdHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NvbnRhY3RzL3NjLWNvbnRhY3RzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzSixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsdUJBQXVCLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4SSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNuRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNwRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7QUFFN0Y7O0dBRUc7QUE2QkgsTUFBTSxPQUFPLGdCQUFnQjs7NkdBQWhCLGdCQUFnQjs4R0FBaEIsZ0JBQWdCLGlCQTNCViw0QkFBNEIsRUFBRSx5QkFBeUIsRUFBRSwyQkFBMkIsYUFFL0YsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZixlQUFlO1FBQ2YsWUFBWTtRQUNaLHFCQUFxQjtRQUNyQixhQUFhO1FBQ2Isa0JBQWtCO1FBQ2xCLGFBQWE7UUFDYix1QkFBdUI7UUFDdkIsZUFBZTtRQUNmLGlCQUFpQjtRQUNqQix3QkFBd0I7UUFDeEIsY0FBYztRQUNkLGNBQWM7UUFDZCxtQkFBbUI7UUFDbkIsY0FBYztRQUNkLHVCQUF1QjtRQUN2QixrQkFBa0I7UUFDbEIsa0JBQWtCLGFBRVosNEJBQTRCLEVBQUUseUJBQXlCLEVBQUUsMkJBQTJCOzhHQUVyRixnQkFBZ0IsWUF6QnJCLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGlCQUFpQjtRQUNqQixlQUFlO1FBQ2YsZUFBZTtRQUNmLFlBQVk7UUFDWixxQkFBcUI7UUFDckIsYUFBYTtRQUNiLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2IsdUJBQXVCO1FBQ3ZCLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsd0JBQXdCO1FBQ3hCLGNBQWM7UUFDZCxjQUFjO1FBQ2QsbUJBQW1CO1FBQ25CLGNBQWM7MkZBT1QsZ0JBQWdCO2tCQTVCNUIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyw0QkFBNEIsRUFBRSx5QkFBeUIsRUFBRSwyQkFBMkIsQ0FBQztvQkFDcEcsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLFlBQVk7d0JBQ1oscUJBQXFCO3dCQUNyQixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYix1QkFBdUI7d0JBQ3ZCLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQix3QkFBd0I7d0JBQ3hCLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLGtCQUFrQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsNEJBQTRCLEVBQUUseUJBQXlCLEVBQUUsMkJBQTJCLENBQUM7aUJBQ2xHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hc2tpdG9Nb2R1bGUgfSBmcm9tICdAbWFza2l0by9hbmd1bGFyJztcbmltcG9ydCB7IFR1aUxldE1vZHVsZSB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgVHVpQnV0dG9uTW9kdWxlLCBUdWlEYXRhTGlzdE1vZHVsZSwgVHVpRXJyb3JNb2R1bGUsIFR1aUxhYmVsTW9kdWxlLCBUdWlMaW5rTW9kdWxlLCBUdWlMb2FkZXJNb2R1bGUsIFR1aU5vdGlmaWNhdGlvbk1vZHVsZSB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFR1aURhdGFMaXN0V3JhcHBlck1vZHVsZSwgVHVpRmllbGRFcnJvclBpcGVNb2R1bGUsIFR1aUlucHV0TW9kdWxlLCBUdWlJbnB1dFBob25lTW9kdWxlLCBUdWlTZWxlY3RNb2R1bGUgfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcblxuaW1wb3J0IHsgU2NBY2NvcmRpb25Nb2R1bGUgfSBmcm9tICcuLi9hY2NvcmRpb24nO1xuaW1wb3J0IHsgU2NUZWxMaW5rRGlyZWN0aXZlLCBTY1Rlcm1pbmFsTGlua0RpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgU2NGb3JtRmllbGRzTW9kdWxlIH0gZnJvbSAnLi4vZm9ybS1maWVsZHMvZm9ybS1maWVsZHMubW9kdWxlJztcbmltcG9ydCB7IFNjRm9ybWF0ZVBob25lUGlwZSB9IGZyb20gJy4uL3BpcGVzJztcbmltcG9ydCB7IFNjQWRkQ29udGFjdERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vYWRkLWNvbnRhY3QtZGlhbG9nL3NjLWFkZC1jb250YWN0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2NDb250YWN0c0FjY29yZGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29udGFjdHMtYWNjb3JkaW9uL3NjLWNvbnRhY3RzLWFjY29yZGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2NOZXdDb250YWN0Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4vbmV3LWNvbnRhY3QtZm9ybS9zYy1uZXctY29udGFjdC1mb3JtLmNvbXBvbmVudCc7XG5cbi8qKlxuICog0JzQvtC00YPQu9GMINC60L7QvdGC0LDQutGC0L3Ri9GFINC70LjRhi5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtTY0NvbnRhY3RzQWNjb3JkaW9uQ29tcG9uZW50LCBTY05ld0NvbnRhY3RGb3JtQ29tcG9uZW50LCBTY0FkZENvbnRhY3REaWFsb2dDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgU2NBY2NvcmRpb25Nb2R1bGUsXG4gICAgICAgIFR1aUJ1dHRvbk1vZHVsZSxcbiAgICAgICAgVHVpTG9hZGVyTW9kdWxlLFxuICAgICAgICBUdWlMZXRNb2R1bGUsXG4gICAgICAgIFR1aU5vdGlmaWNhdGlvbk1vZHVsZSxcbiAgICAgICAgVHVpTGlua01vZHVsZSxcbiAgICAgICAgU2NGb3JtRmllbGRzTW9kdWxlLFxuICAgICAgICBNYXNraXRvTW9kdWxlLFxuICAgICAgICBUdWlGaWVsZEVycm9yUGlwZU1vZHVsZSxcbiAgICAgICAgVHVpU2VsZWN0TW9kdWxlLFxuICAgICAgICBUdWlEYXRhTGlzdE1vZHVsZSxcbiAgICAgICAgVHVpRGF0YUxpc3RXcmFwcGVyTW9kdWxlLFxuICAgICAgICBUdWlMYWJlbE1vZHVsZSxcbiAgICAgICAgVHVpSW5wdXRNb2R1bGUsXG4gICAgICAgIFR1aUlucHV0UGhvbmVNb2R1bGUsXG4gICAgICAgIFR1aUVycm9yTW9kdWxlLFxuICAgICAgICBTY1Rlcm1pbmFsTGlua0RpcmVjdGl2ZSxcbiAgICAgICAgU2NGb3JtYXRlUGhvbmVQaXBlLFxuICAgICAgICBTY1RlbExpbmtEaXJlY3RpdmUsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbU2NDb250YWN0c0FjY29yZGlvbkNvbXBvbmVudCwgU2NOZXdDb250YWN0Rm9ybUNvbXBvbmVudCwgU2NBZGRDb250YWN0RGlhbG9nQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2NDb250YWN0c01vZHVsZSB7fVxuIl19
|
@@ -1,5 +1,6 @@
|
|
1
1
|
export * from './next-input-focus/sc-next-input-focus.directive';
|
2
2
|
export * from './next-input-focus/sc-next-input-focus.module';
|
3
3
|
export * from './abstract-price-card/abstract-sc-price-card.directive';
|
4
|
+
export * from './tel-link/sc-tel-link.directive';
|
4
5
|
export * from './terminal-link/sc-terminal-link.directive';
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvZGlyZWN0aXZlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsNENBQTRDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL25leHQtaW5wdXQtZm9jdXMvc2MtbmV4dC1pbnB1dC1mb2N1cy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9uZXh0LWlucHV0LWZvY3VzL3NjLW5leHQtaW5wdXQtZm9jdXMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vYWJzdHJhY3QtcHJpY2UtY2FyZC9hYnN0cmFjdC1zYy1wcmljZS1jYXJkLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3RlbC1saW5rL3NjLXRlbC1saW5rLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rlcm1pbmFsLWxpbmsvc2MtdGVybWluYWwtbGluay5kaXJlY3RpdmUnO1xuIl19
|
@@ -0,0 +1,58 @@
|
|
1
|
+
import { Directive, ElementRef, inject, Input, Renderer2 } from '@angular/core';
|
2
|
+
import { ScPhoneService } from '@snabcentr/client-core';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
/**
|
5
|
+
* Директива, которая управляет свойствами ссылки номера телефона для валидации значения номера телефона.
|
6
|
+
*/
|
7
|
+
export class ScTelLinkDirective {
|
8
|
+
constructor() {
|
9
|
+
/**
|
10
|
+
* Экземпляр базового класса для реализации пользовательского рендеринга.
|
11
|
+
*/
|
12
|
+
this.renderer = inject(Renderer2);
|
13
|
+
/**
|
14
|
+
* Ссылка на HTML элемент тега `<a>`.
|
15
|
+
*/
|
16
|
+
this.elementReference = inject(ElementRef);
|
17
|
+
/**
|
18
|
+
* Номер телефона, который будет проверен на валидность.
|
19
|
+
*/
|
20
|
+
this.scTelLink = '';
|
21
|
+
}
|
22
|
+
/** @inheritDoc */
|
23
|
+
ngOnChanges(changes) {
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
25
|
+
if (changes['scTelLink']) {
|
26
|
+
this.updateLinkState();
|
27
|
+
}
|
28
|
+
}
|
29
|
+
/**
|
30
|
+
* Обновляет состояние ссылки на основе валидности номера телефона.
|
31
|
+
*/
|
32
|
+
updateLinkState() {
|
33
|
+
if (ScPhoneService.isValidPhoneNumber(this.scTelLink)) {
|
34
|
+
// Если номер валиден, активируем ссылку
|
35
|
+
this.renderer.removeAttribute(this.elementReference.nativeElement, 'aria-disabled');
|
36
|
+
this.renderer.removeClass(this.elementReference.nativeElement, 'disabled');
|
37
|
+
this.renderer.setAttribute(this.elementReference.nativeElement, 'href', `tel:${ScPhoneService.formatPhoneNumber(this.scTelLink)}`);
|
38
|
+
}
|
39
|
+
else {
|
40
|
+
// Если номер невалиден, отключаем ссылку
|
41
|
+
this.renderer.setAttribute(this.elementReference.nativeElement, 'aria-disabled', 'true');
|
42
|
+
this.renderer.addClass(this.elementReference.nativeElement, 'disabled');
|
43
|
+
this.renderer.removeAttribute(this.elementReference.nativeElement, 'href');
|
44
|
+
}
|
45
|
+
}
|
46
|
+
}
|
47
|
+
ScTelLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScTelLinkDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
48
|
+
ScTelLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: ScTelLinkDirective, isStandalone: true, selector: "[scTelLink]", inputs: { scTelLink: "scTelLink" }, usesOnChanges: true, ngImport: i0 });
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScTelLinkDirective, decorators: [{
|
50
|
+
type: Directive,
|
51
|
+
args: [{
|
52
|
+
standalone: true,
|
53
|
+
selector: '[scTelLink]',
|
54
|
+
}]
|
55
|
+
}], propDecorators: { scTelLink: [{
|
56
|
+
type: Input
|
57
|
+
}] } });
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdGVsLWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2RpcmVjdGl2ZXMvdGVsLWxpbmsvc2MtdGVsLWxpbmsuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsU0FBUyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRXhEOztHQUVHO0FBS0gsTUFBTSxPQUFPLGtCQUFrQjtJQUovQjtRQUtJOztXQUVHO1FBQ2MsYUFBUSxHQUFjLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV6RDs7V0FFRztRQUNLLHFCQUFnQixHQUFrQyxNQUFNLENBQWdDLFVBQVUsQ0FBQyxDQUFDO1FBRTVHOztXQUVHO1FBQ00sY0FBUyxHQUFXLEVBQUUsQ0FBQztLQTBCbkM7SUF4Qkcsa0JBQWtCO0lBQ1gsV0FBVyxDQUFDLE9BQXNCO1FBQ3JDLHVFQUF1RTtRQUN2RSxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN0QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDMUI7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxlQUFlO1FBQ25CLElBQUksY0FBYyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNuRCx3Q0FBd0M7WUFDeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxlQUFlLENBQUMsQ0FBQztZQUNwRixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQzNFLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLE9BQU8sY0FBYyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDdEk7YUFBTTtZQUNILHlDQUF5QztZQUN6QyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN6RixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3hFLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDOUU7SUFDTCxDQUFDOzsrR0F2Q1Esa0JBQWtCO21HQUFsQixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFKOUIsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGFBQWE7aUJBQzFCOzhCQWVZLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgUmVuZGVyZXIyLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTY1Bob25lU2VydmljZSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuXG4vKipcbiAqINCU0LjRgNC10LrRgtC40LLQsCwg0LrQvtGC0L7RgNCw0Y8g0YPQv9GA0LDQstC70Y/QtdGCINGB0LLQvtC50YHRgtCy0LDQvNC4INGB0YHRi9C70LrQuCDQvdC+0LzQtdGA0LAg0YLQtdC70LXRhNC+0L3QsCDQtNC70Y8g0LLQsNC70LjQtNCw0YbQuNC4INC30L3QsNGH0LXQvdC40Y8g0L3QvtC80LXRgNCwINGC0LXQu9C10YTQvtC90LAuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbc2NUZWxMaW5rXScsXG59KVxuZXhwb3J0IGNsYXNzIFNjVGVsTGlua0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgLyoqXG4gICAgICog0K3QutC30LXQvNC/0LvRj9GAINCx0LDQt9C+0LLQvtCz0L4g0LrQu9Cw0YHRgdCwINC00LvRjyDRgNC10LDQu9C40LfQsNGG0LjQuCDQv9C+0LvRjNC30L7QstCw0YLQtdC70YzRgdC60L7Qs9C+INGA0LXQvdC00LXRgNC40L3Qs9CwLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMiA9IGluamVjdChSZW5kZXJlcjIpO1xuXG4gICAgLyoqXG4gICAgICog0KHRgdGL0LvQutCwINC90LAgSFRNTCDRjdC70LXQvNC10L3RgiDRgtC10LPQsCBgPGE+YC5cbiAgICAgKi9cbiAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEFuY2hvckVsZW1lbnQ+ID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEFuY2hvckVsZW1lbnQ+PihFbGVtZW50UmVmKTtcblxuICAgIC8qKlxuICAgICAqINCd0L7QvNC10YAg0YLQtdC70LXRhNC+0L3QsCwg0LrQvtGC0L7RgNGL0Lkg0LHRg9C00LXRgiDQv9GA0L7QstC10YDQtdC9INC90LAg0LLQsNC70LjQtNC90L7RgdGC0YwuXG4gICAgICovXG4gICAgQElucHV0KCkgc2NUZWxMaW5rOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKiBAaW5oZXJpdERvYyAqL1xuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uXG4gICAgICAgIGlmIChjaGFuZ2VzWydzY1RlbExpbmsnXSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVMaW5rU3RhdGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0LHQvdC+0LLQu9GP0LXRgiDRgdC+0YHRgtC+0Y/QvdC40LUg0YHRgdGL0LvQutC4INC90LAg0L7RgdC90L7QstC1INCy0LDQu9C40LTQvdC+0YHRgtC4INC90L7QvNC10YDQsCDRgtC10LvQtdGE0L7QvdCwLlxuICAgICAqL1xuICAgIHByaXZhdGUgdXBkYXRlTGlua1N0YXRlKCk6IHZvaWQge1xuICAgICAgICBpZiAoU2NQaG9uZVNlcnZpY2UuaXNWYWxpZFBob25lTnVtYmVyKHRoaXMuc2NUZWxMaW5rKSkge1xuICAgICAgICAgICAgLy8g0JXRgdC70Lgg0L3QvtC80LXRgCDQstCw0LvQuNC00LXQvSwg0LDQutGC0LjQstC40YDRg9C10Lwg0YHRgdGL0LvQutGDXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudCwgJ2FyaWEtZGlzYWJsZWQnKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQsICdocmVmJywgYHRlbDoke1NjUGhvbmVTZXJ2aWNlLmZvcm1hdFBob25lTnVtYmVyKHRoaXMuc2NUZWxMaW5rKX1gKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vINCV0YHQu9C4INC90L7QvNC10YAg0L3QtdCy0LDQu9C40LTQtdC9LCDQvtGC0LrQu9GO0YfQsNC10Lwg0YHRgdGL0LvQutGDXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudCwgJ2FyaWEtZGlzYWJsZWQnLCAndHJ1ZScpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudCwgJ2Rpc2FibGVkJyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudCwgJ2hyZWYnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import { ScFormatePhonePipe } from '../../pipes';
|
3
|
+
import { ScTelLinkDirective } from './sc-tel-link.directive';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
/**
|
6
|
+
* Модуль валидации значения номера телефона.
|
7
|
+
*/
|
8
|
+
export class ScTelLinkModule {
|
9
|
+
}
|
10
|
+
ScTelLinkModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScTelLinkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
11
|
+
ScTelLinkModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: ScTelLinkModule, imports: [ScFormatePhonePipe, ScTelLinkDirective], exports: [ScFormatePhonePipe, ScTelLinkDirective] });
|
12
|
+
ScTelLinkModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScTelLinkModule });
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScTelLinkModule, decorators: [{
|
14
|
+
type: NgModule,
|
15
|
+
args: [{
|
16
|
+
imports: [ScFormatePhonePipe, ScTelLinkDirective],
|
17
|
+
exports: [ScFormatePhonePipe, ScTelLinkDirective],
|
18
|
+
}]
|
19
|
+
}] });
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdGVsLWxpbmsubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2RpcmVjdGl2ZXMvdGVsLWxpbmsvc2MtdGVsLWxpbmsubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUU3RDs7R0FFRztBQUtILE1BQU0sT0FBTyxlQUFlOzs0R0FBZixlQUFlOzZHQUFmLGVBQWUsWUFIZCxrQkFBa0IsRUFBRSxrQkFBa0IsYUFDdEMsa0JBQWtCLEVBQUUsa0JBQWtCOzZHQUV2QyxlQUFlOzJGQUFmLGVBQWU7a0JBSjNCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsa0JBQWtCLENBQUM7b0JBQ2pELE9BQU8sRUFBRSxDQUFDLGtCQUFrQixFQUFFLGtCQUFrQixDQUFDO2lCQUNwRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNjRm9ybWF0ZVBob25lUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzJztcbmltcG9ydCB7IFNjVGVsTGlua0RpcmVjdGl2ZSB9IGZyb20gJy4vc2MtdGVsLWxpbmsuZGlyZWN0aXZlJztcblxuLyoqXG4gKiDQnNC+0LTRg9C70Ywg0LLQsNC70LjQtNCw0YbQuNC4INC30L3QsNGH0LXQvdC40Y8g0L3QvtC80LXRgNCwINGC0LXQu9C10YTQvtC90LAuXG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1NjRm9ybWF0ZVBob25lUGlwZSwgU2NUZWxMaW5rRGlyZWN0aXZlXSxcbiAgICBleHBvcnRzOiBbU2NGb3JtYXRlUGhvbmVQaXBlLCBTY1RlbExpbmtEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBTY1RlbExpbmtNb2R1bGUge31cbiJdfQ==
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export * from './sc-formatted-phone';
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvcGlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2MtZm9ybWF0dGVkLXBob25lJztcbiJdfQ==
|
@@ -0,0 +1,34 @@
|
|
1
|
+
/* eslint-disable class-methods-use-this */
|
2
|
+
import { Pipe } from '@angular/core';
|
3
|
+
import { ScPhoneService } from '@snabcentr/client-core';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
/**
|
6
|
+
* Пайп для форматирования номера телефона.
|
7
|
+
*
|
8
|
+
* Если переданный номер телефона валиден, он будет отформатирован с использованием метода `formatPhoneNumber` сервиса `ScPhoneService`.
|
9
|
+
* Если номер невалиден, возвращается исходное значение.
|
10
|
+
*/
|
11
|
+
export class ScFormatePhonePipe {
|
12
|
+
/**
|
13
|
+
* Преобразует строковое значение номера телефона.
|
14
|
+
*
|
15
|
+
* @param value Строка, содержащая номер телефона.
|
16
|
+
* @returns Отформатированный номер телефона, если он валиден, или исходное значение, если он невалиден.
|
17
|
+
*/
|
18
|
+
transform(value) {
|
19
|
+
if (ScPhoneService.isValidPhoneNumber(value)) {
|
20
|
+
return ScPhoneService.formatPhoneNumber(value);
|
21
|
+
}
|
22
|
+
return value; // Возвращаем оригинальный номер, если он невалиден
|
23
|
+
}
|
24
|
+
}
|
25
|
+
ScFormatePhonePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScFormatePhonePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
26
|
+
ScFormatePhonePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: ScFormatePhonePipe, isStandalone: true, name: "scFormatePhone" });
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScFormatePhonePipe, decorators: [{
|
28
|
+
type: Pipe,
|
29
|
+
args: [{
|
30
|
+
standalone: true,
|
31
|
+
name: 'scFormatePhone',
|
32
|
+
}]
|
33
|
+
}] });
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZm9ybWF0dGVkLXBob25lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3BpcGVzL3NjLWZvcm1hdHRlZC1waG9uZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUV4RDs7Ozs7R0FLRztBQUtILE1BQU0sT0FBTyxrQkFBa0I7SUFDM0I7Ozs7O09BS0c7SUFDSSxTQUFTLENBQUMsS0FBYTtRQUMxQixJQUFJLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMxQyxPQUFPLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNsRDtRQUNELE9BQU8sS0FBSyxDQUFDLENBQUMsbURBQW1EO0lBQ3JFLENBQUM7OytHQVpRLGtCQUFrQjs2R0FBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBSjlCLElBQUk7bUJBQUM7b0JBQ0YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSxnQkFBZ0I7aUJBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgY2xhc3MtbWV0aG9kcy11c2UtdGhpcyAqL1xuaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2NQaG9uZVNlcnZpY2UgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcblxuLyoqXG4gKiDQn9Cw0LnQvyDQtNC70Y8g0YTQvtGA0LzQsNGC0LjRgNC+0LLQsNC90LjRjyDQvdC+0LzQtdGA0LAg0YLQtdC70LXRhNC+0L3QsC5cbiAqXG4gKiDQldGB0LvQuCDQv9C10YDQtdC00LDQvdC90YvQuSDQvdC+0LzQtdGAINGC0LXQu9C10YTQvtC90LAg0LLQsNC70LjQtNC10L0sINC+0L0g0LHRg9C00LXRgiDQvtGC0YTQvtGA0LzQsNGC0LjRgNC+0LLQsNC9INGBINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC10Lwg0LzQtdGC0L7QtNCwIGBmb3JtYXRQaG9uZU51bWJlcmAg0YHQtdGA0LLQuNGB0LAgYFNjUGhvbmVTZXJ2aWNlYC5cbiAqINCV0YHQu9C4INC90L7QvNC10YAg0L3QtdCy0LDQu9C40LTQtdC9LCDQstC+0LfQstGA0LDRidCw0LXRgtGB0Y8g0LjRgdGF0L7QtNC90L7QtSDQt9C90LDRh9C10L3QuNC1LlxuICovXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAnc2NGb3JtYXRlUGhvbmUnLFxufSlcbmV4cG9ydCBjbGFzcyBTY0Zvcm1hdGVQaG9uZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICAvKipcbiAgICAgKiDQn9GA0LXQvtCx0YDQsNC30YPQtdGCINGB0YLRgNC+0LrQvtCy0L7QtSDQt9C90LDRh9C10L3QuNC1INC90L7QvNC10YDQsCDRgtC10LvQtdGE0L7QvdCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIHZhbHVlINCh0YLRgNC+0LrQsCwg0YHQvtC00LXRgNC20LDRidCw0Y8g0L3QvtC80LXRgCDRgtC10LvQtdGE0L7QvdCwLlxuICAgICAqIEByZXR1cm5zINCe0YLRhNC+0YDQvNCw0YLQuNGA0L7QstCw0L3QvdGL0Lkg0L3QvtC80LXRgCDRgtC10LvQtdGE0L7QvdCwLCDQtdGB0LvQuCDQvtC9INCy0LDQu9C40LTQtdC9LCDQuNC70Lgg0LjRgdGF0L7QtNC90L7QtSDQt9C90LDRh9C10L3QuNC1LCDQtdGB0LvQuCDQvtC9INC90LXQstCw0LvQuNC00LXQvS5cbiAgICAgKi9cbiAgICBwdWJsaWMgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoU2NQaG9uZVNlcnZpY2UuaXNWYWxpZFBob25lTnVtYmVyKHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIFNjUGhvbmVTZXJ2aWNlLmZvcm1hdFBob25lTnVtYmVyKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7IC8vINCS0L7Qt9Cy0YDQsNGJ0LDQtdC8INC+0YDQuNCz0LjQvdCw0LvRjNC90YvQuSDQvdC+0LzQtdGALCDQtdGB0LvQuCDQvtC9INC90LXQstCw0LvQuNC00LXQvVxuICAgIH1cbn1cbiJdfQ==
|