@snabcentr/client-ui 2.6.4 → 2.8.1
Sign up to get free protection for your applications and to get access to all the features.
- package/banner/sc-banner.component.d.ts +1 -1
- package/cart/cart-item-mobile/sc-cart-item-mobile.component.d.ts +0 -2
- package/catalog/categories-list/sc-categories-list.component.d.ts +1 -1
- package/catalog/category-card/sc-category-card.component.d.ts +9 -3
- package/catalog/index.d.ts +1 -1
- package/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.d.ts +2 -2
- package/catalog/sc-catalog.module.d.ts +2 -2
- package/catalog/{sc-favorite-btn/sc-favorite-btn.component.d.ts → sc-favorite-button/sc-favorite-button.component.d.ts} +3 -3
- package/contacts/new-contact-form/sc-new-contact-form.component.d.ts +1 -1
- package/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.d.ts +2 -2
- package/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.d.ts +2 -2
- package/contragents/new-contragent-form/sc-new-contragent-form.component.d.ts +3 -3
- package/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.d.ts +1 -1
- package/directives/abstract-price-card/abstract-sc-price-card.directive.d.ts +2 -2
- package/esm2022/accordion/sc-accordion-content.directive.mjs +4 -4
- package/esm2022/accordion/sc-accordion.component.mjs +4 -4
- package/esm2022/accordion/sc-accordion.module.mjs +5 -5
- package/esm2022/auth/sc-auth.module.mjs +5 -5
- package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.mjs +5 -4
- package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.mjs +5 -4
- package/esm2022/auth/sc-sign-in-form/sc-sign-in-form.component.mjs +4 -4
- package/esm2022/auth/sign-up-form/sc-sign-up-form.component.mjs +8 -5
- package/esm2022/banner/sc-banner.component.mjs +8 -6
- package/esm2022/banner/sc-banner.module.mjs +5 -5
- package/esm2022/brands-list/sc-brands-list.component.mjs +4 -4
- package/esm2022/brands-list/sc-brands-list.module.mjs +5 -5
- package/esm2022/cart/cart-item-mobile/sc-cart-item-mobile.component.mjs +4 -6
- package/esm2022/cart/sc-cart.module.mjs +5 -5
- package/esm2022/catalog/categories-list/sc-categories-list.component.mjs +6 -6
- package/esm2022/catalog/category-card/sc-category-card.component.mjs +13 -9
- package/esm2022/catalog/index.mjs +2 -2
- package/esm2022/catalog/input-quantity/sc-input-quantity.component.mjs +4 -4
- package/esm2022/catalog/price-card/sc-price-card.component.mjs +6 -6
- package/esm2022/catalog/price-history/sc-price-history.component.mjs +4 -4
- package/esm2022/catalog/price-list-pagination/sc-price-list-pagination.component.mjs +4 -4
- package/esm2022/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.mjs +6 -6
- package/esm2022/catalog/sc-catalog.module.mjs +6 -6
- package/esm2022/catalog/sc-favorite-button/sc-favorite-button.component.mjs +42 -0
- package/esm2022/contacts/add-contact-dialog/sc-add-contact-dialog.component.mjs +5 -4
- package/esm2022/contacts/contacts-accordion/sc-contacts-accordion.component.mjs +6 -6
- package/esm2022/contacts/new-contact-form/sc-new-contact-form.component.mjs +5 -5
- package/esm2022/contacts/sc-contacts.module.mjs +5 -5
- package/esm2022/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.mjs +5 -4
- package/esm2022/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.mjs +9 -6
- package/esm2022/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.mjs +5 -5
- package/esm2022/contragents/contragents-accordion/sc-contragents-accordion.component.mjs +6 -6
- package/esm2022/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.mjs +5 -5
- package/esm2022/contragents/new-contragent-form/sc-new-contragent-form.component.mjs +13 -8
- package/esm2022/contragents/sc-contragents.module.mjs +5 -5
- package/esm2022/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.mjs +7 -6
- package/esm2022/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.mjs +6 -6
- package/esm2022/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.mjs +6 -6
- package/esm2022/delivery-address/sc-delivery-address.module.mjs +5 -5
- package/esm2022/directives/abstract-price-card/abstract-sc-price-card.directive.mjs +4 -4
- package/esm2022/directives/next-input-focus/sc-next-input-focus.directive.mjs +4 -4
- package/esm2022/directives/next-input-focus/sc-next-input-focus.module.mjs +5 -5
- package/esm2022/directives/tel-link/sc-tel-link.directive.mjs +4 -4
- package/esm2022/directives/tel-link/sc-tel-link.module.mjs +5 -5
- package/esm2022/directives/terminal-link/sc-terminal-link.directive.mjs +4 -4
- package/esm2022/files/directives/tree-top.directive.mjs +4 -4
- package/esm2022/files/directives/tree.directive.mjs +5 -5
- package/esm2022/files/file-tree-item/file-tree-item.component.mjs +4 -4
- package/esm2022/files/files-and-documents/files-and-documents.component.mjs +4 -4
- package/esm2022/files/files-and-documents.module.mjs +5 -5
- package/esm2022/files/services/tree-icon.service.mjs +4 -4
- package/esm2022/files/services/tree-loader.service.mjs +7 -5
- package/esm2022/form-fields/addresses-selection-field/sc-addresses-selection-field.component.mjs +16 -7
- package/esm2022/form-fields/form-fields.module.mjs +5 -5
- package/esm2022/form-fields/suggestion-field/sc-suggestion-field.component.mjs +4 -4
- package/esm2022/helpers/sc-px-converter.mjs +5 -5
- package/esm2022/masks/sc-account-number-mask.mjs +2 -2
- package/esm2022/masks/sc-bic-mask.mjs +2 -2
- package/esm2022/masks/sc-correspondent-account-mask.mjs +2 -2
- package/esm2022/masks/sc-inn-mask.mjs +3 -3
- package/esm2022/masks/sc-kpp-mask.mjs +2 -2
- package/esm2022/masks/sc-okpo-mask.mjs +3 -3
- package/esm2022/masks/sc-phone-verification-code-mask.mjs +2 -2
- package/esm2022/news/news-card/sc-news-card.component.mjs +4 -4
- package/esm2022/news/news-card-skeleton/sc-news-card-skeleton.component.mjs +4 -4
- package/esm2022/news/sc-news.module.mjs +5 -5
- package/esm2022/order/order-item-mobile/sc-order-item-mobile.component.mjs +4 -4
- package/esm2022/order/sc-order.module.mjs +5 -5
- package/esm2022/order/sc-payment-status/sc-payment-status.component.mjs +5 -5
- package/esm2022/pipes/sc-formatted-phone.mjs +4 -4
- package/esm2022/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs +6 -6
- package/esm2022/profile/sc-profile.module.mjs +5 -5
- package/esm2022/providers/index.mjs +2 -2
- package/esm2022/providers/sc-user-providers.mjs +27 -0
- package/esm2022/qrcode/qrcode-dialog/sc-qrcode-dialog.component.mjs +4 -4
- package/esm2022/qrcode/sc-qrcode.module.mjs +5 -5
- package/esm2022/samples/ask-to-sample-form/sc-ask-to-sample-form.component.mjs +5 -5
- package/esm2022/samples/preview-sample/sc-preview-sample.component.mjs +5 -5
- package/esm2022/samples/sc-sample.module.mjs +5 -5
- package/esm2022/share-button/sc-share-button.component.mjs +4 -4
- package/esm2022/share-button/sc-share-button.module.mjs +5 -5
- package/esm2022/user/reset-user-password/sc-reset-user-password.component.mjs +9 -5
- package/esm2022/user/sc-user.module.mjs +5 -5
- package/esm2022/user/update-user-info-dialog/sc-update-user-info-dialog.component.mjs +6 -5
- package/esm2022/user/user-managers/sc-user-managers.component.mjs +4 -4
- package/esm2022/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.mjs +7 -6
- package/esm2022/validators/index.mjs +4 -4
- package/esm2022/validators/sc-bic-validator.mjs +10 -0
- package/esm2022/validators/sc-correspondent-account-validator.mjs +10 -0
- package/esm2022/validators/step-validator.mjs +18 -0
- package/esm2022/verification/sc-verification.module.mjs +5 -5
- package/esm2022/verification/verification-phone-check-form/sc-verification-phone-check-form.component.mjs +5 -5
- package/fesm2022/snabcentr-client-ui.mjs +360 -317
- package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
- package/files/directives/tree.directive.d.ts +6 -6
- package/files/services/tree-loader.service.d.ts +1 -1
- package/form-fields/addresses-selection-field/sc-addresses-selection-field.component.d.ts +0 -1
- package/news/news-card/sc-news-card.component.d.ts +1 -1
- package/package.json +28 -27
- package/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.d.ts +2 -2
- package/providers/index.d.ts +1 -1
- package/release_notes.tmp +2 -8
- package/samples/ask-to-sample-form/sc-ask-to-sample-form.component.d.ts +1 -1
- package/user/update-user-info-dialog/sc-update-user-info-dialog.component.d.ts +1 -1
- package/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.d.ts +1 -1
- package/validators/index.d.ts +3 -3
- package/validators/{scBicValidator.d.ts → sc-bic-validator.d.ts} +3 -0
- package/validators/{scCorrespondentAccountValidator.d.ts → sc-correspondent-account-validator.d.ts} +3 -0
- package/esm2022/catalog/sc-favorite-btn/sc-favorite-btn.component.mjs +0 -42
- package/esm2022/providers/scUserProviders.mjs +0 -27
- package/esm2022/validators/scBicValidator.mjs +0 -7
- package/esm2022/validators/scCorrespondentAccountValidator.mjs +0 -7
- package/esm2022/validators/stepValidator.mjs +0 -18
- /package/providers/{scUserProviders.d.ts → sc-user-providers.d.ts} +0 -0
- /package/validators/{stepValidator.d.ts → step-validator.d.ts} +0 -0
@@ -11,12 +11,6 @@ export declare class TreeDirective {
|
|
11
11
|
* Карта данных дерева.
|
12
12
|
*/
|
13
13
|
map: Map<TreeNode, boolean>;
|
14
|
-
/**
|
15
|
-
* Инициализирует экземпляр класса {@link TreeDirective}.
|
16
|
-
*
|
17
|
-
* @param service Сервис для работы с деревом.
|
18
|
-
*/
|
19
|
-
constructor(service: TuiTreeService<TreeNode>);
|
20
14
|
/**
|
21
15
|
* Проверяет указанный элемент дерева на наличие дочерних элементов и возвращает массив дочерних элементов, если они есть, либо пустой массив.
|
22
16
|
*
|
@@ -24,6 +18,12 @@ export declare class TreeDirective {
|
|
24
18
|
* @returns Возвращает массив типа TreeNode[].
|
25
19
|
*/
|
26
20
|
childrenHandler: TuiHandler<TreeNode, readonly TreeNode[]>;
|
21
|
+
/**
|
22
|
+
* Инициализирует экземпляр класса {@link TreeDirective}.
|
23
|
+
*
|
24
|
+
* @param service Сервис для работы с деревом.
|
25
|
+
*/
|
26
|
+
constructor(service: TuiTreeService<TreeNode>);
|
27
27
|
/**
|
28
28
|
* Обрабатывает нажатие на указанный элемент дерева.
|
29
29
|
*
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { ScFilesService } from '@snabcentr/client-core';
|
2
2
|
import { TuiTreeLoader } from '@taiga-ui/kit';
|
3
3
|
import { Observable } from 'rxjs';
|
4
|
-
import { TreeIconService } from './tree-icon.service';
|
5
4
|
import { TreeNode } from '../interfaces/tree-node';
|
5
|
+
import { TreeIconService } from './tree-icon.service';
|
6
6
|
import * as i0 from "@angular/core";
|
7
7
|
/**
|
8
8
|
* Сервис для асинхронного раскрытия вложенности.
|
@@ -62,7 +62,6 @@ export declare class ScAddressesSelectionFieldComponent implements OnInit {
|
|
62
62
|
/**
|
63
63
|
* Заполнение полей банковских реквизитов на основе выбранной подсказки.
|
64
64
|
*
|
65
|
-
* @param suggestion Объект подсказки по банку.
|
66
65
|
* @param city Идентификатор записи города.
|
67
66
|
*/
|
68
67
|
onSelectedCity(city: ScICity | null): void;
|
package/package.json
CHANGED
@@ -1,39 +1,40 @@
|
|
1
1
|
{
|
2
2
|
"name": "@snabcentr/client-ui",
|
3
|
-
"version": "2.
|
3
|
+
"version": "2.8.1",
|
4
4
|
"author": "Snabcentr Ltd.",
|
5
5
|
"repository": "https://gitlab.snabcentr.met/web/angular/snabcentr-client-ui-lib",
|
6
6
|
"license": "Commercial",
|
7
7
|
"description": "Snabcentr client UI package.",
|
8
8
|
"peerDependencies": {
|
9
|
-
"@angular/common": "
|
10
|
-
"@angular/compiler": "
|
11
|
-
"@angular/core": "
|
12
|
-
"@angular/forms": "
|
13
|
-
"@
|
14
|
-
"@maskito/
|
15
|
-
"@
|
16
|
-
"@
|
17
|
-
"@
|
18
|
-
"@taiga-ui/addon-
|
19
|
-
"@taiga-ui/
|
20
|
-
"@taiga-ui/
|
21
|
-
"@taiga-ui/
|
22
|
-
"@taiga-ui/
|
23
|
-
"@taiga-ui/
|
24
|
-
"@taiga-ui/
|
25
|
-
"@taiga-ui/
|
26
|
-
"@taiga-ui/
|
27
|
-
"@taiga-ui/
|
28
|
-
"
|
29
|
-
"
|
30
|
-
"
|
31
|
-
"
|
32
|
-
"
|
33
|
-
"
|
9
|
+
"@angular/common": "^18.2.12",
|
10
|
+
"@angular/compiler": "^18.2.12",
|
11
|
+
"@angular/core": "^18.2.12",
|
12
|
+
"@angular/forms": "^18.2.12",
|
13
|
+
"@angular/router": "^18.2.12",
|
14
|
+
"@maskito/angular": "^3.2.0",
|
15
|
+
"@maskito/core": "^3.2.0",
|
16
|
+
"@ng-web-apis/intersection-observer": "^4.11.1",
|
17
|
+
"@snabcentr/client-core": "^2.10.3",
|
18
|
+
"@taiga-ui/addon-charts": "^4.16.0",
|
19
|
+
"@taiga-ui/addon-commerce": "^4.16.0",
|
20
|
+
"@taiga-ui/cdk": "^4.16.0",
|
21
|
+
"@taiga-ui/core": "^4.16.0",
|
22
|
+
"@taiga-ui/event-plugins": "^4.3.1",
|
23
|
+
"@taiga-ui/icons": "^4.16.0",
|
24
|
+
"@taiga-ui/kit": "^4.16.0",
|
25
|
+
"@taiga-ui/layout": "^4.16.0",
|
26
|
+
"@taiga-ui/legacy": "^4.16.0",
|
27
|
+
"@taiga-ui/polymorpheus": "^4.7.4",
|
28
|
+
"@taiga-ui/styles": "^4.16.0",
|
29
|
+
"ng-recaptcha-2": "^14.0.0",
|
30
|
+
"angular8-yandex-maps": "^18.2.0",
|
31
|
+
"angularx-qrcode": "^18.0.2",
|
32
|
+
"rxjs": "^7.8.1",
|
33
|
+
"schema-dts": "^1.1.2",
|
34
|
+
"zone.js": "~0.14.10"
|
34
35
|
},
|
35
36
|
"dependencies": {
|
36
|
-
"tslib": "
|
37
|
+
"tslib": "^2.8.1"
|
37
38
|
},
|
38
39
|
"sideEffects": false,
|
39
40
|
"module": "fesm2022/snabcentr-client-ui.mjs",
|
@@ -108,14 +108,14 @@ export declare class ScProfileAccordionsContentComponent {
|
|
108
108
|
/**
|
109
109
|
* Инициализирует экземпляр класса {@link ScProfileComponent}.
|
110
110
|
*
|
111
|
-
* @param user$ Поток
|
111
|
+
* @param user$ Поток данных о текущем пользователе.
|
112
112
|
* @param locationsService Сервис для получения списков стран, регионов, городов.
|
113
113
|
* @param userService Сервис данных о пользователе.
|
114
114
|
* @param verificationService Сервис верификации.
|
115
115
|
*/
|
116
116
|
constructor(user$: Observable<ScUser>, locationsService: ScLocationsService, userService: ScUserService, verificationService: ScVerificationService);
|
117
117
|
/**
|
118
|
-
* Создает запрос получения
|
118
|
+
* Создает запрос получения данных о городе текущего пользователя по идентификатору города.
|
119
119
|
*
|
120
120
|
* @param cityId Идентификатор записи города.
|
121
121
|
*/
|
package/providers/index.d.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export * from './
|
1
|
+
export * from './sc-user-providers';
|
package/release_notes.tmp
CHANGED
@@ -1,10 +1,4 @@
|
|
1
|
-
## 2.
|
1
|
+
## 2.8.1 (2024-11-21)
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
- [#10636: Доработаны ссылки компонентов](web_soft/libs/angular/snabcentr-client-ui-lib@64dbaf15ab1b4c1001e58390ae137f15bebc269e) ([merge request](web_soft/libs/angular/snabcentr-client-ui-lib!184))
|
6
|
-
|
7
|
-
### fixed (1 change)
|
8
|
-
|
9
|
-
- [#10649: Доработано поведение наведения на плитку товара](web_soft/libs/angular/snabcentr-client-ui-lib@c9f2a2946401b6d9d9f2180f83cac75354da8cf2) ([merge request](web_soft/libs/angular/snabcentr-client-ui-lib!183))
|
3
|
+
No changes.
|
10
4
|
|
@@ -12,7 +12,7 @@ export declare class ScAskToSampleFormComponent implements OnInit {
|
|
12
12
|
*/
|
13
13
|
private readonly samplesService;
|
14
14
|
/**
|
15
|
-
* Сервис
|
15
|
+
* Сервис данных о пользователе.
|
16
16
|
*/
|
17
17
|
readonly user$: Observable<import("@snabcentr/client-core").ScUser>;
|
18
18
|
/**
|
@@ -50,7 +50,7 @@ export declare class ScUpdateUserInfoDialogComponent implements AfterViewInit {
|
|
50
50
|
/**
|
51
51
|
* Инициализирует экземпляр класса {@link ScUpdateUserInfoDialogComponent}.
|
52
52
|
*
|
53
|
-
* @param user$ Поток
|
53
|
+
* @param user$ Поток данных о текущем пользователе.
|
54
54
|
* @param userService Сервис данных о пользователе.
|
55
55
|
* @param userMetrikaService Сервис для сбора метрик о действиях пользователей.
|
56
56
|
* @param context Контекст диалогового окна, в котором открыт компонент.
|
@@ -41,7 +41,7 @@ export declare class ScUserPhoneApproveDialogComponent implements AfterViewInit
|
|
41
41
|
*
|
42
42
|
* @param verificationService Сервис верификации.
|
43
43
|
* @param userMetrikaService Сервис для сбора метрик о действиях пользователей.
|
44
|
-
* @param user$ Поток
|
44
|
+
* @param user$ Поток данных о текущем пользователе.
|
45
45
|
* @param userService Сервис данных о пользователе.
|
46
46
|
* @param context Контекст диалогового окна, в котором открыт компонент.
|
47
47
|
*/
|
package/validators/index.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
export * from './
|
2
|
-
export * from './
|
1
|
+
export * from './sc-bic-validator';
|
2
|
+
export * from './sc-correspondent-account-validator';
|
3
3
|
export * from './sc-password-confirm-matching-validator';
|
4
|
-
export * from './
|
4
|
+
export * from './step-validator';
|
@@ -1,42 +0,0 @@
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
import * as i1 from "@taiga-ui/core";
|
4
|
-
import * as i2 from "@taiga-ui/kit";
|
5
|
-
/**
|
6
|
-
* Компонент кнопки избранных товаров и категорий.
|
7
|
-
*/
|
8
|
-
export class ScFavoriteBtnComponent {
|
9
|
-
constructor() {
|
10
|
-
/**
|
11
|
-
* Событие нажатия на кнопку.
|
12
|
-
*/
|
13
|
-
this.clickEvent = new EventEmitter();
|
14
|
-
/**
|
15
|
-
* Признак наличия товара или категории в избранных.
|
16
|
-
*/
|
17
|
-
this.isFavorite = false;
|
18
|
-
/**
|
19
|
-
* Признак, что необходимо отобразить загрузку на кнопке.
|
20
|
-
*/
|
21
|
-
this.showLoader = false;
|
22
|
-
/**
|
23
|
-
* Признак, что кнопка деактивирована.
|
24
|
-
*/
|
25
|
-
this.disabled = false;
|
26
|
-
}
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ScFavoriteBtnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
28
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: ScFavoriteBtnComponent, selector: "sc-favorite-btn", inputs: { isFavorite: "isFavorite", showLoader: "showLoader", disabled: "disabled" }, outputs: { clickEvent: "clickEvent" }, ngImport: i0, template: "<button\n tuiIconButton\n (click)=\"clickEvent.emit()\"\n [disabled]=\"disabled\"\n [loading]=\"showLoader\"\n appearance=\"flat\"\n size=\"s\"\n>\n <tui-icon\n class=\"text-tui-primary !text-xl\"\n [icon]=\"isFavorite ? '@tui.bookmark-filled' : '@tui.bookmark'\"\n ></tui-icon>\n</button>\n", dependencies: [{ kind: "directive", type: i1.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i1.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "component", type: i2.TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
29
|
-
}
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ScFavoriteBtnComponent, decorators: [{
|
31
|
-
type: Component,
|
32
|
-
args: [{ selector: 'sc-favorite-btn', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n tuiIconButton\n (click)=\"clickEvent.emit()\"\n [disabled]=\"disabled\"\n [loading]=\"showLoader\"\n appearance=\"flat\"\n size=\"s\"\n>\n <tui-icon\n class=\"text-tui-primary !text-xl\"\n [icon]=\"isFavorite ? '@tui.bookmark-filled' : '@tui.bookmark'\"\n ></tui-icon>\n</button>\n" }]
|
33
|
-
}], propDecorators: { clickEvent: [{
|
34
|
-
type: Output
|
35
|
-
}], isFavorite: [{
|
36
|
-
type: Input
|
37
|
-
}], showLoader: [{
|
38
|
-
type: Input
|
39
|
-
}], disabled: [{
|
40
|
-
type: Input
|
41
|
-
}] } });
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZmF2b3JpdGUtYnRuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9jYXRhbG9nL3NjLWZhdm9yaXRlLWJ0bi9zYy1mYXZvcml0ZS1idG4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvc2MtZmF2b3JpdGUtYnRuL3NjLWZhdm9yaXRlLWJ0bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBRWhHOztHQUVHO0FBTUgsTUFBTSxPQUFPLHNCQUFzQjtJQUxuQztRQU1JOztXQUVHO1FBRUksZUFBVSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRWpFOztXQUVHO1FBRUksZUFBVSxHQUFZLEtBQUssQ0FBQztRQUVuQzs7V0FFRztRQUVJLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFFbkM7O1dBRUc7UUFFSSxhQUFRLEdBQVksS0FBSyxDQUFDO0tBQ3BDOzhHQXhCWSxzQkFBc0I7a0dBQXRCLHNCQUFzQixvTENWbkMsMlVBYUE7OzJGREhhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDSSxpQkFBaUIsbUJBRVYsdUJBQXVCLENBQUMsTUFBTTs4QkFPeEMsVUFBVTtzQkFEaEIsTUFBTTtnQkFPQSxVQUFVO3NCQURoQixLQUFLO2dCQU9DLFVBQVU7c0JBRGhCLEtBQUs7Z0JBT0MsUUFBUTtzQkFEZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINC60L3QvtC/0LrQuCDQuNC30LHRgNCw0L3QvdGL0YUg0YLQvtCy0LDRgNC+0LIg0Lgg0LrQsNGC0LXQs9C+0YDQuNC5LlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLWZhdm9yaXRlLWJ0bicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLWZhdm9yaXRlLWJ0bi5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2NGYXZvcml0ZUJ0bkNvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNsaWNrRXZlbnQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6INC90LDQu9C40YfQuNGPINGC0L7QstCw0YDQsCDQuNC70Lgg0LrQsNGC0LXQs9C+0YDQuNC4INCyINC40LfQsdGA0LDQvdC90YvRhS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpc0Zhdm9yaXRlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INC90LXQvtCx0YXQvtC00LjQvNC+INC+0YLQvtCx0YDQsNC30LjRgtGMINC30LDQs9GA0YPQt9C60YMg0L3QsCDQutC90L7Qv9C60LUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvd0xvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQutC90L7Qv9C60LAg0LTQtdCw0LrRgtC40LLQuNGA0L7QstCw0L3QsC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xufVxuIiwiPGJ1dHRvblxuICAgIHR1aUljb25CdXR0b25cbiAgICAoY2xpY2spPVwiY2xpY2tFdmVudC5lbWl0KClcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2xvYWRpbmddPVwic2hvd0xvYWRlclwiXG4gICAgYXBwZWFyYW5jZT1cImZsYXRcIlxuICAgIHNpemU9XCJzXCJcbj5cbiAgICA8dHVpLWljb25cbiAgICAgICAgY2xhc3M9XCJ0ZXh0LXR1aS1wcmltYXJ5ICF0ZXh0LXhsXCJcbiAgICAgICAgW2ljb25dPVwiaXNGYXZvcml0ZSA/ICdAdHVpLmJvb2ttYXJrLWZpbGxlZCcgOiAnQHR1aS5ib29rbWFyaydcIlxuICAgID48L3R1aS1pY29uPlxuPC9idXR0b24+XG4iXX0=
|
@@ -1,27 +0,0 @@
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
2
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
3
|
-
import { ScUserService } from '@snabcentr/client-core';
|
4
|
-
/**
|
5
|
-
* Токен потока данных о текущем пользователе.
|
6
|
-
*/
|
7
|
-
export const SC_USER_INFO = new InjectionToken('A stream with current user information');
|
8
|
-
/**
|
9
|
-
* Фабрика создания потока данных о текущем пользователе.
|
10
|
-
*
|
11
|
-
* @param userService Сервис данных о пользователе.
|
12
|
-
*/
|
13
|
-
export function scUserFactory(userService) {
|
14
|
-
// TODO: TASK[#7615] Отслеживать выполнение запроса изменения информации о пользователе после доработки snabcentr-core-lib.
|
15
|
-
return userService.getUserChange$().pipe(takeUntilDestroyed());
|
16
|
-
}
|
17
|
-
/**
|
18
|
-
* Провайдер потока данных о текущем пользователе.
|
19
|
-
*/
|
20
|
-
export const SC_USER_PROVIDERS = [
|
21
|
-
{
|
22
|
-
provide: SC_USER_INFO,
|
23
|
-
deps: [ScUserService],
|
24
|
-
useFactory: scUserFactory,
|
25
|
-
},
|
26
|
-
];
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NVc2VyUHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3Byb3ZpZGVycy9zY1VzZXJQcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQVUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHL0Q7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxjQUFjLENBQWlDLHdDQUF3QyxDQUFDLENBQUM7QUFFekg7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsV0FBMEI7SUFDcEQsMkhBQTJIO0lBQzNILE9BQU8sV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7QUFDbkUsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQWU7SUFDekM7UUFDSSxPQUFPLEVBQUUsWUFBWTtRQUNyQixJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFDckIsVUFBVSxFQUFFLGFBQWE7S0FDNUI7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBTY1VzZXIsIFNjVXNlclNlcnZpY2UgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiDQotC+0LrQtdC9INC/0L7RgtC+0LrQsCDQtNCw0L3QvdGL0YUg0L4g0YLQtdC60YPRidC10Lwg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C1LlxuICovXG5leHBvcnQgY29uc3QgU0NfVVNFUl9JTkZPID0gbmV3IEluamVjdGlvblRva2VuPE9ic2VydmFibGU8U2NVc2VyIHwgdW5kZWZpbmVkPj4oJ0Egc3RyZWFtIHdpdGggY3VycmVudCB1c2VyIGluZm9ybWF0aW9uJyk7XG5cbi8qKlxuICog0KTQsNCx0YDQuNC60LAg0YHQvtC30LTQsNC90LjRjyDQv9C+0YLQvtC60LAg0LTQsNC90L3Ri9GFINC+INGC0LXQutGD0YnQtdC8INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtS5cbiAqXG4gKiBAcGFyYW0gdXNlclNlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LDQvdC90YvRhSDQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70LUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzY1VzZXJGYWN0b3J5KHVzZXJTZXJ2aWNlOiBTY1VzZXJTZXJ2aWNlKTogT2JzZXJ2YWJsZTxTY1VzZXIgfCB1bmRlZmluZWQ+IHtcbiAgICAvLyBUT0RPOiBUQVNLWyM3NjE1XSDQntGC0YHQu9C10LbQuNCy0LDRgtGMINCy0YvQv9C+0LvQvdC10L3QuNC1INC30LDQv9GA0L7RgdCwINC40LfQvNC10L3QtdC90LjRjyDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70LUg0L/QvtGB0LvQtSDQtNC+0YDQsNCx0L7RgtC60Lggc25hYmNlbnRyLWNvcmUtbGliLlxuICAgIHJldHVybiB1c2VyU2VydmljZS5nZXRVc2VyQ2hhbmdlJCgpLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpO1xufVxuXG4vKipcbiAqINCf0YDQvtCy0LDQudC00LXRgCDQv9C+0YLQvtC60LAg0LTQsNC90L3Ri9GFINC+INGC0LXQutGD0YnQtdC8INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtS5cbiAqL1xuZXhwb3J0IGNvbnN0IFNDX1VTRVJfUFJPVklERVJTOiBQcm92aWRlcltdID0gW1xuICAgIHtcbiAgICAgICAgcHJvdmlkZTogU0NfVVNFUl9JTkZPLFxuICAgICAgICBkZXBzOiBbU2NVc2VyU2VydmljZV0sXG4gICAgICAgIHVzZUZhY3Rvcnk6IHNjVXNlckZhY3RvcnksXG4gICAgfSxcbl07XG4iXX0=
|
@@ -1,7 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Проверяет БИК.
|
3
|
-
*/
|
4
|
-
export const scBicValidator = ({ value }) => {
|
5
|
-
return !value || /^0[1,4]\d{7}$/.test(value) ? null : { bic: true };
|
6
|
-
};
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NCaWNWYWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvdmFsaWRhdG9ycy9zY0JpY1ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBZ0IsQ0FBQyxFQUFFLEtBQUssRUFBa0MsRUFBMkIsRUFBRTtJQUM5RyxPQUFPLENBQUMsS0FBSyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDeEUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiDQn9GA0L7QstC10YDRj9C10YIg0JHQmNCaLlxuICovXG5leHBvcnQgY29uc3Qgc2NCaWNWYWxpZGF0b3I6IFZhbGlkYXRvckZuID0gKHsgdmFsdWUgfTogQWJzdHJhY3RDb250cm9sPHN0cmluZyB8IG51bGw+KTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgIHJldHVybiAhdmFsdWUgfHwgL14wWzEsNF1cXGR7N30kLy50ZXN0KHZhbHVlKSA/IG51bGwgOiB7IGJpYzogdHJ1ZSB9O1xufTtcbiJdfQ==
|
@@ -1,7 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Проверяет корреспондентский счет.
|
3
|
-
*/
|
4
|
-
export const scCorrespondentAccountValidator = ({ value }) => {
|
5
|
-
return !value || /^[3,4]01\d{17}$|^03\d{18}$/.test(value) ? null : { correspondentAccount: true };
|
6
|
-
};
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NDb3JyZXNwb25kZW50QWNjb3VudFZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS92YWxpZGF0b3JzL3NjQ29ycmVzcG9uZGVudEFjY291bnRWYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBZ0IsQ0FBQyxFQUFFLEtBQUssRUFBa0MsRUFBMkIsRUFBRTtJQUMvSCxPQUFPLENBQUMsS0FBSyxJQUFJLDRCQUE0QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxDQUFDO0FBQ3RHLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICog0J/RgNC+0LLQtdGA0Y/QtdGCINC60L7RgNGA0LXRgdC/0L7QvdC00LXQvdGC0YHQutC40Lkg0YHRh9C10YIuXG4gKi9cbmV4cG9ydCBjb25zdCBzY0NvcnJlc3BvbmRlbnRBY2NvdW50VmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9ICh7IHZhbHVlIH06IEFic3RyYWN0Q29udHJvbDxzdHJpbmcgfCBudWxsPik6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICByZXR1cm4gIXZhbHVlIHx8IC9eWzMsNF0wMVxcZHsxN30kfF4wM1xcZHsxOH0kLy50ZXN0KHZhbHVlKSA/IG51bGwgOiB7IGNvcnJlc3BvbmRlbnRBY2NvdW50OiB0cnVlIH07XG59O1xuIl19
|
@@ -1,18 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Проверяет кратность значения.
|
3
|
-
*
|
4
|
-
* @param step Шаг кратности.
|
5
|
-
* @param precision Точность, количество чисел после запятой.
|
6
|
-
*/
|
7
|
-
export function stepValidator(step, precision = 3) {
|
8
|
-
return ({ value }) => {
|
9
|
-
if (!step) {
|
10
|
-
return null;
|
11
|
-
}
|
12
|
-
if (value) {
|
13
|
-
return Number((value / step).toFixed(precision)) % 1 !== 0 ? { error: `Число не кратно ${step}` } : null;
|
14
|
-
}
|
15
|
-
return null;
|
16
|
-
};
|
17
|
-
}
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcFZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS92YWxpZGF0b3JzL3N0ZXBWYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFDLElBQVksRUFBRSxZQUFvQixDQUFDO0lBQzdELE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBa0MsRUFBMkIsRUFBRTtRQUMxRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDUixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBRUQsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLE9BQU8sTUFBTSxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDN0csQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvckZuLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKipcbiAqINCf0YDQvtCy0LXRgNGP0LXRgiDQutGA0LDRgtC90L7RgdGC0Ywg0LfQvdCw0YfQtdC90LjRjy5cbiAqXG4gKiBAcGFyYW0gc3RlcCDQqNCw0LMg0LrRgNCw0YLQvdC+0YHRgtC4LlxuICogQHBhcmFtIHByZWNpc2lvbiDQotC+0YfQvdC+0YHRgtGMLCDQutC+0LvQuNGH0LXRgdGC0LLQviDRh9C40YHQtdC7INC/0L7RgdC70LUg0LfQsNC/0Y/RgtC+0LkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdGVwVmFsaWRhdG9yKHN0ZXA6IG51bWJlciwgcHJlY2lzaW9uOiBudW1iZXIgPSAzKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoeyB2YWx1ZSB9OiBBYnN0cmFjdENvbnRyb2w8bnVtYmVyIHwgbnVsbD4pOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICAgIGlmICghc3RlcCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIoKHZhbHVlIC8gc3RlcCkudG9GaXhlZChwcmVjaXNpb24pKSAlIDEgIT09IDAgPyB7IGVycm9yOiBg0KfQuNGB0LvQviDQvdC1INC60YDQsNGC0L3QviAke3N0ZXB9YCB9IDogbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG59XG4iXX0=
|
File without changes
|
File without changes
|