@snabcentr/client-ui 3.3.0 → 3.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (133) hide show
  1. package/banner/sc-banner.component.d.ts +1 -1
  2. package/catalog/categories-list/sc-categories-list.component.d.ts +1 -1
  3. package/catalog/category-card/sc-category-card.component.d.ts +2 -2
  4. package/catalog/index.d.ts +1 -1
  5. package/catalog/price-card/sc-price-card.component.d.ts +0 -12
  6. package/catalog/price-card-inline/sc-price-card-inline.component.d.ts +0 -12
  7. package/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.d.ts +2 -2
  8. package/catalog/sc-catalog.module.d.ts +2 -2
  9. package/catalog/{sc-favorite-btn/sc-favorite-btn.component.d.ts → sc-favorite-button/sc-favorite-button.component.d.ts} +3 -3
  10. package/contacts/new-contact-form/sc-new-contact-form.component.d.ts +1 -1
  11. package/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.d.ts +2 -2
  12. package/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.d.ts +2 -2
  13. package/contragents/new-contragent-form/sc-new-contragent-form.component.d.ts +3 -3
  14. package/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.d.ts +1 -1
  15. package/directives/abstract-price-card/abstract-sc-price-card.directive.d.ts +10 -2
  16. package/esm2022/accordion/sc-accordion-content.directive.mjs +4 -4
  17. package/esm2022/accordion/sc-accordion.component.mjs +4 -4
  18. package/esm2022/accordion/sc-accordion.module.mjs +5 -5
  19. package/esm2022/auth/sc-auth.module.mjs +5 -5
  20. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.mjs +5 -4
  21. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.mjs +5 -4
  22. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form.component.mjs +4 -4
  23. package/esm2022/auth/sign-up-form/sc-sign-up-form.component.mjs +8 -5
  24. package/esm2022/banner/sc-banner.component.mjs +8 -6
  25. package/esm2022/banner/sc-banner.module.mjs +5 -5
  26. package/esm2022/brands-list/sc-brands-list.component.mjs +4 -4
  27. package/esm2022/brands-list/sc-brands-list.module.mjs +5 -5
  28. package/esm2022/cart/cart-item-mobile/sc-cart-item-mobile.component.mjs +4 -4
  29. package/esm2022/cart/sc-cart.module.mjs +5 -5
  30. package/esm2022/catalog/categories-list/sc-categories-list.component.mjs +6 -6
  31. package/esm2022/catalog/category-card/sc-category-card.component.mjs +7 -7
  32. package/esm2022/catalog/cost-with-discount/cost-with-discount.component.mjs +4 -4
  33. package/esm2022/catalog/hover-image-carousel/hover-image-carousel.component.mjs +4 -4
  34. package/esm2022/catalog/index.mjs +2 -2
  35. package/esm2022/catalog/input-quantity/sc-input-quantity.component.mjs +4 -4
  36. package/esm2022/catalog/price-card/sc-price-card.component.mjs +9 -21
  37. package/esm2022/catalog/price-card-inline/sc-price-card-inline.component.mjs +7 -22
  38. package/esm2022/catalog/price-history/sc-price-history.component.mjs +4 -4
  39. package/esm2022/catalog/price-list-pagination/sc-price-list-pagination.component.mjs +4 -4
  40. package/esm2022/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.mjs +6 -6
  41. package/esm2022/catalog/sc-catalog.module.mjs +6 -6
  42. package/esm2022/catalog/sc-favorite-button/sc-favorite-button.component.mjs +42 -0
  43. package/esm2022/contacts/add-contact-dialog/sc-add-contact-dialog.component.mjs +5 -4
  44. package/esm2022/contacts/contacts-accordion/sc-contacts-accordion.component.mjs +6 -6
  45. package/esm2022/contacts/new-contact-form/sc-new-contact-form.component.mjs +5 -5
  46. package/esm2022/contacts/sc-contacts.module.mjs +5 -5
  47. package/esm2022/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.mjs +5 -4
  48. package/esm2022/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.mjs +9 -6
  49. package/esm2022/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.mjs +5 -5
  50. package/esm2022/contragents/contragents-accordion/sc-contragents-accordion.component.mjs +6 -6
  51. package/esm2022/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.mjs +5 -5
  52. package/esm2022/contragents/new-contragent-form/sc-new-contragent-form.component.mjs +13 -8
  53. package/esm2022/contragents/sc-contragents.module.mjs +5 -5
  54. package/esm2022/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.mjs +7 -6
  55. package/esm2022/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.mjs +6 -6
  56. package/esm2022/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.mjs +6 -6
  57. package/esm2022/delivery-address/sc-delivery-address.module.mjs +5 -5
  58. package/esm2022/directives/abstract-price-card/abstract-sc-price-card.directive.mjs +15 -5
  59. package/esm2022/directives/next-input-focus/sc-next-input-focus.directive.mjs +4 -4
  60. package/esm2022/directives/next-input-focus/sc-next-input-focus.module.mjs +5 -5
  61. package/esm2022/directives/tel-link/sc-tel-link.directive.mjs +4 -4
  62. package/esm2022/directives/tel-link/sc-tel-link.module.mjs +5 -5
  63. package/esm2022/directives/terminal-link/sc-terminal-link.directive.mjs +4 -4
  64. package/esm2022/files/directives/tree-top.directive.mjs +4 -4
  65. package/esm2022/files/directives/tree.directive.mjs +5 -5
  66. package/esm2022/files/file-tree-item/file-tree-item.component.mjs +4 -4
  67. package/esm2022/files/files-and-documents/files-and-documents.component.mjs +4 -4
  68. package/esm2022/files/files-and-documents.module.mjs +5 -5
  69. package/esm2022/files/services/tree-icon.service.mjs +4 -4
  70. package/esm2022/files/services/tree-loader.service.mjs +7 -5
  71. package/esm2022/form-fields/addresses-selection-field/sc-addresses-selection-field.component.mjs +16 -7
  72. package/esm2022/form-fields/form-fields.module.mjs +5 -5
  73. package/esm2022/form-fields/suggestion-field/sc-suggestion-field.component.mjs +4 -4
  74. package/esm2022/helpers/sc-px-converter.mjs +5 -5
  75. package/esm2022/masks/sc-account-number-mask.mjs +2 -2
  76. package/esm2022/masks/sc-bic-mask.mjs +2 -2
  77. package/esm2022/masks/sc-correspondent-account-mask.mjs +2 -2
  78. package/esm2022/masks/sc-inn-mask.mjs +3 -3
  79. package/esm2022/masks/sc-kpp-mask.mjs +2 -2
  80. package/esm2022/masks/sc-okpo-mask.mjs +3 -3
  81. package/esm2022/masks/sc-phone-verification-code-mask.mjs +2 -2
  82. package/esm2022/news/news-card/sc-news-card.component.mjs +4 -4
  83. package/esm2022/news/news-card-skeleton/sc-news-card-skeleton.component.mjs +4 -4
  84. package/esm2022/news/sc-news.module.mjs +5 -5
  85. package/esm2022/order/order-item-mobile/sc-order-item-mobile.component.mjs +4 -4
  86. package/esm2022/order/sc-order.module.mjs +5 -5
  87. package/esm2022/order/sc-payment-status/sc-payment-status.component.mjs +5 -5
  88. package/esm2022/pipes/sc-formatted-phone.mjs +4 -4
  89. package/esm2022/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs +6 -6
  90. package/esm2022/profile/sc-profile.module.mjs +5 -5
  91. package/esm2022/providers/index.mjs +2 -2
  92. package/esm2022/providers/sc-user-providers.mjs +27 -0
  93. package/esm2022/qrcode/qrcode-dialog/sc-qrcode-dialog.component.mjs +4 -4
  94. package/esm2022/qrcode/sc-qrcode.module.mjs +5 -5
  95. package/esm2022/samples/ask-to-sample-form/sc-ask-to-sample-form.component.mjs +5 -5
  96. package/esm2022/samples/preview-sample/sc-preview-sample.component.mjs +5 -5
  97. package/esm2022/samples/sc-sample.module.mjs +5 -5
  98. package/esm2022/share-button/sc-share-button.component.mjs +4 -4
  99. package/esm2022/share-button/sc-share-button.module.mjs +5 -5
  100. package/esm2022/user/reset-user-password/sc-reset-user-password.component.mjs +9 -5
  101. package/esm2022/user/sc-user.module.mjs +5 -5
  102. package/esm2022/user/update-user-info-dialog/sc-update-user-info-dialog.component.mjs +6 -5
  103. package/esm2022/user/user-managers/sc-user-managers.component.mjs +4 -4
  104. package/esm2022/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.mjs +7 -6
  105. package/esm2022/validators/index.mjs +4 -4
  106. package/esm2022/validators/sc-bic-validator.mjs +10 -0
  107. package/esm2022/validators/sc-correspondent-account-validator.mjs +10 -0
  108. package/esm2022/validators/step-validator.mjs +18 -0
  109. package/esm2022/verification/sc-verification.module.mjs +5 -5
  110. package/esm2022/verification/verification-phone-check-form/sc-verification-phone-check-form.component.mjs +5 -5
  111. package/fesm2022/snabcentr-client-ui.mjs +380 -356
  112. package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
  113. package/files/directives/tree.directive.d.ts +6 -6
  114. package/files/services/tree-loader.service.d.ts +1 -1
  115. package/form-fields/addresses-selection-field/sc-addresses-selection-field.component.d.ts +0 -1
  116. package/news/news-card/sc-news-card.component.d.ts +1 -1
  117. package/package.json +28 -27
  118. package/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.d.ts +2 -2
  119. package/providers/index.d.ts +1 -1
  120. package/release_notes.tmp +2 -8
  121. package/samples/ask-to-sample-form/sc-ask-to-sample-form.component.d.ts +1 -1
  122. package/user/update-user-info-dialog/sc-update-user-info-dialog.component.d.ts +1 -1
  123. package/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.d.ts +1 -1
  124. package/validators/index.d.ts +3 -3
  125. package/validators/{scBicValidator.d.ts → sc-bic-validator.d.ts} +3 -0
  126. package/validators/{scCorrespondentAccountValidator.d.ts → sc-correspondent-account-validator.d.ts} +3 -0
  127. package/esm2022/catalog/sc-favorite-btn/sc-favorite-btn.component.mjs +0 -42
  128. package/esm2022/providers/scUserProviders.mjs +0 -27
  129. package/esm2022/validators/scBicValidator.mjs +0 -7
  130. package/esm2022/validators/scCorrespondentAccountValidator.mjs +0 -7
  131. package/esm2022/validators/stepValidator.mjs +0 -18
  132. /package/providers/{scUserProviders.d.ts → sc-user-providers.d.ts} +0 -0
  133. /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;
@@ -6,7 +6,7 @@ import * as i0 from "@angular/core";
6
6
  */
7
7
  export declare class ScNewsCardComponent {
8
8
  /**
9
- * Информация о новости.
9
+ * Данные о новости.
10
10
  */
11
11
  news: ScNewsTile;
12
12
  /**
package/package.json CHANGED
@@ -1,39 +1,40 @@
1
1
  {
2
2
  "name": "@snabcentr/client-ui",
3
- "version": "3.3.0",
3
+ "version": "3.4.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": ">=18.2.0",
10
- "@angular/compiler": ">=18.2.0",
11
- "@angular/core": ">=18.2.0",
12
- "@angular/forms": ">=18.2.0",
13
- "@maskito/angular": ">=3.1.0",
14
- "@maskito/core": ">=3.1.0",
15
- "@ng-web-apis/intersection-observer": ">=4.2.1",
16
- "@snabcentr/client-core": "^2.8.0",
17
- "@taiga-ui/addon-charts": ">=4.10.0",
18
- "@taiga-ui/addon-commerce": ">=4.10.0",
19
- "@taiga-ui/cdk": ">=4.10.0",
20
- "@taiga-ui/core": ">=4.10.0",
21
- "@taiga-ui/event-plugins": ">=4.0.1",
22
- "@taiga-ui/icons": ">=4.10.0",
23
- "@taiga-ui/kit": ">=4.10.0",
24
- "@taiga-ui/layout": ">=4.10.0",
25
- "@taiga-ui/legacy": ">=4.10.0",
26
- "@taiga-ui/polymorpheus": ">=4.7.4",
27
- "@taiga-ui/styles": ">=4.10.0",
28
- "ng-recaptcha-2": ">=14.0.0",
29
- "angular8-yandex-maps": ">=18.2.0",
30
- "angularx-qrcode": ">=18.0.1",
31
- "rxjs": ">=7.8.0",
32
- "schema-dts": ">=1.1.2",
33
- "zone.js": ">=0.14.10"
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": ">=2.3.0"
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
  */
@@ -1 +1 @@
1
- export * from './scUserProviders';
1
+ export * from './sc-user-providers';
package/release_notes.tmp CHANGED
@@ -1,10 +1,4 @@
1
- ## 3.3.0 (2024-11-15)
1
+ ## 3.4.1 (2024-11-21)
2
2
 
3
- ### removed (1 change)
4
-
5
- - [Удалены неиспользуемые свойства конфигурации](web_soft/libs/angular/snabcentr-client-ui-lib@071649c2538605c40d1a8f278fadd1dbce44dae7) ([merge request](web_soft/libs/angular/snabcentr-client-ui-lib!186))
6
-
7
- ### changed (1 change)
8
-
9
- - [#10636: Доработаны ссылки категорий](web_soft/libs/angular/snabcentr-client-ui-lib@a6d62bdbf1f3762080d235aabe110091637dfadd) ([merge request](web_soft/libs/angular/snabcentr-client-ui-lib!185))
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
  */
@@ -1,4 +1,4 @@
1
- export * from './scBicValidator';
2
- export * from './scCorrespondentAccountValidator';
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 './stepValidator';
4
+ export * from './step-validator';
@@ -1,5 +1,8 @@
1
1
  import { ValidatorFn } from '@angular/forms';
2
2
  /**
3
3
  * Проверяет БИК.
4
+ *
5
+ * @param root0 Проверяемое значение.
6
+ * @param root0.value Проверяемое значение.
4
7
  */
5
8
  export declare const scBicValidator: ValidatorFn;
@@ -1,5 +1,8 @@
1
1
  import { ValidatorFn } from '@angular/forms';
2
2
  /**
3
3
  * Проверяет корреспондентский счет.
4
+ *
5
+ * @param root0 Проверяемое значение.
6
+ * @param root0.value Проверяемое значение.
4
7
  */
5
8
  export declare const scCorrespondentAccountValidator: ValidatorFn;
@@ -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=