@snabcentr/client-ui 4.11.7 → 4.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. package/auth/sc-auth.module.d.ts +2 -1
  2. package/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.d.ts +19 -8
  3. package/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.d.ts +6 -7
  4. package/auth/sc-simple-sign-up-form/sc-simple-sign-up-form.component.d.ts +9 -2
  5. package/auth/sign-up-form/sc-sign-up-form.component.d.ts +14 -9
  6. package/cart/cart-item/sc-cart-item.component.d.ts +1 -1
  7. package/catalog/catalog-filters/index.d.ts +3 -0
  8. package/catalog/catalog-filters/sc-catalog-filters.component.d.ts +99 -0
  9. package/catalog/catalog-filters/tokens/sc-catalog-products-filters.d.ts +7 -0
  10. package/catalog/catalog-filters/tokens/sc-catalog-show-products-recursively.d.ts +5 -0
  11. package/catalog/index.d.ts +2 -0
  12. package/catalog/input-quantity/sc-input-quantity.component.d.ts +2 -2
  13. package/catalog/price-card/sc-price-card.component.d.ts +1 -1
  14. package/catalog/sc-catalog.module.d.ts +13 -13
  15. package/configurators/index.d.ts +2 -0
  16. package/configurators/models/index.d.ts +2 -0
  17. package/configurators/models/sandwich/sc-i-configurator-search-product-sandwich.d.ts +22 -0
  18. package/configurators/models/sandwich/sc-i-sandwich-settings.d.ts +18 -0
  19. package/configurators/sandwich/index.d.ts +3 -0
  20. package/configurators/sandwich/sandwich-skeleton/sc-sandwich-skeleton.component.d.ts +8 -0
  21. package/configurators/sandwich/sc-i-new-cart-item-sandwich.d.ts +14 -0
  22. package/configurators/sandwich/sc-sandwich.component.d.ts +146 -0
  23. package/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.d.ts +21 -24
  24. package/contragents/new-contragent-form/sc-new-contragent-form.component.d.ts +12 -18
  25. package/directives/index.d.ts +3 -3
  26. package/directives/links/sc-links.d.ts +1 -1
  27. package/directives/select-on-focusin/sc-select-on-focusin.directive.d.ts +1 -1
  28. package/esm2022/accordion/sc-accordion-content.directive.mjs +3 -3
  29. package/esm2022/accordion/sc-accordion.component.mjs +3 -3
  30. package/esm2022/accordion/sc-accordion.module.mjs +4 -4
  31. package/esm2022/auth/sc-auth.module.mjs +15 -9
  32. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.mjs +38 -19
  33. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.mjs +21 -19
  34. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form.component.mjs +3 -3
  35. package/esm2022/auth/sc-simple-sign-up-form/sc-simple-sign-up-form.component.mjs +22 -7
  36. package/esm2022/auth/sign-up-form/sc-sign-up-form.component.mjs +38 -37
  37. package/esm2022/banner/sc-banner.component.mjs +3 -3
  38. package/esm2022/banner/sc-banner.module.mjs +4 -4
  39. package/esm2022/brands-list/sc-brands-list.component.mjs +3 -3
  40. package/esm2022/brands-list/sc-brands-list.module.mjs +4 -4
  41. package/esm2022/cart/add-or-editing-cart-item-dialog/add-or-editing-cart-item-form/sc-add-or-editing-cart-item-form.component.mjs +6 -6
  42. package/esm2022/cart/add-or-editing-cart-item-dialog/sc-add-or-editing-cart-item-dialog.component.mjs +3 -3
  43. package/esm2022/cart/cart-item/sc-cart-item.component.mjs +9 -12
  44. package/esm2022/cart/sc-cart-add-products-from-csv-dialog/sc-cart-add-products-from-csv-dialog.component.mjs +3 -3
  45. package/esm2022/catalog/catalog-filters/index.mjs +4 -0
  46. package/esm2022/catalog/catalog-filters/sc-catalog-filters.component.mjs +202 -0
  47. package/esm2022/catalog/catalog-filters/tokens/sc-catalog-products-filters.mjs +10 -0
  48. package/esm2022/catalog/catalog-filters/tokens/sc-catalog-show-products-recursively.mjs +6 -0
  49. package/esm2022/catalog/category-card/sc-category-card.component.mjs +5 -5
  50. package/esm2022/catalog/cost-with-discount/cost-with-discount.component.mjs +6 -5
  51. package/esm2022/catalog/download-price-list/sc-download-price-list.component.mjs +3 -3
  52. package/esm2022/catalog/hover-image-carousel/sc-hover-image-carousel.component.mjs +3 -3
  53. package/esm2022/catalog/index.mjs +3 -1
  54. package/esm2022/catalog/input-quantity/sc-input-quantity.component.mjs +21 -9
  55. package/esm2022/catalog/notify-when-in-stock-dialog/sc-notify-when-in-stock-dialog.component.mjs +3 -3
  56. package/esm2022/catalog/notify-when-in-stock-dialog/sc-product-in-all-warehouses.pipe.mjs +3 -3
  57. package/esm2022/catalog/price-card/sc-price-card.component.mjs +34 -13
  58. package/esm2022/catalog/price-card-inline/sc-price-card-inline.component.mjs +7 -7
  59. package/esm2022/catalog/price-history/sc-price-history.component.mjs +3 -3
  60. package/esm2022/catalog/price-list-pagination/sc-price-list-pagination.component.mjs +3 -3
  61. package/esm2022/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.mjs +5 -5
  62. package/esm2022/catalog/sc-catalog.module.mjs +10 -7
  63. package/esm2022/catalog/sc-favorite-button/sc-favorite-button.component.mjs +3 -3
  64. package/esm2022/configurators/index.mjs +3 -0
  65. package/esm2022/configurators/models/index.mjs +3 -0
  66. package/esm2022/configurators/models/sandwich/sc-i-configurator-search-product-sandwich.mjs +2 -0
  67. package/esm2022/configurators/models/sandwich/sc-i-sandwich-settings.mjs +2 -0
  68. package/esm2022/configurators/sandwich/index.mjs +4 -0
  69. package/esm2022/configurators/sandwich/sandwich-skeleton/sc-sandwich-skeleton.component.mjs +14 -0
  70. package/esm2022/configurators/sandwich/sc-i-new-cart-item-sandwich.mjs +2 -0
  71. package/esm2022/configurators/sandwich/sc-sandwich.component.mjs +322 -0
  72. package/esm2022/contacts/add-contact-dialog/sc-add-contact-dialog.component.mjs +3 -3
  73. package/esm2022/contacts/contacts-accordion/sc-contacts-accordion.component.mjs +3 -3
  74. package/esm2022/contacts/manager-card/sc-manager-card.component.mjs +3 -3
  75. package/esm2022/contacts/manager-card-push/sc-manager-card-push.component.mjs +3 -3
  76. package/esm2022/contacts/new-contact-form/sc-new-contact-form.component.mjs +3 -3
  77. package/esm2022/contacts/sc-contacts.module.mjs +4 -4
  78. package/esm2022/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.mjs +3 -3
  79. package/esm2022/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.mjs +39 -51
  80. package/esm2022/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.mjs +3 -3
  81. package/esm2022/contragents/contragents-accordion/sc-contragents-accordion.component.mjs +3 -3
  82. package/esm2022/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.mjs +3 -3
  83. package/esm2022/contragents/new-contragent-form/sc-new-contragent-form.component.mjs +29 -47
  84. package/esm2022/contragents/sc-contragents.module.mjs +4 -4
  85. package/esm2022/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.mjs +3 -3
  86. package/esm2022/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.mjs +3 -3
  87. package/esm2022/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.mjs +3 -3
  88. package/esm2022/delivery-address/sc-delivery-address.module.mjs +4 -4
  89. package/esm2022/dialogs/sc-resource-preview/sc-resource-preview.component.mjs +3 -3
  90. package/esm2022/directives/abstract-price-card/abstract-sc-price-card.directive.mjs +3 -3
  91. package/esm2022/directives/index.mjs +4 -4
  92. package/esm2022/directives/links/sc-email-link.directive.mjs +3 -3
  93. package/esm2022/directives/links/sc-links.mjs +2 -2
  94. package/esm2022/directives/links/sc-tel-link.directive.mjs +3 -3
  95. package/esm2022/directives/next-input-focus/sc-next-input-focus.directive.mjs +3 -3
  96. package/esm2022/directives/next-input-focus/sc-next-input-focus.module.mjs +4 -4
  97. package/esm2022/directives/sc-date-value-transformer.directive.mjs +3 -3
  98. package/esm2022/directives/sc-focus-first-invalid-field.directive.mjs +3 -3
  99. package/esm2022/directives/select-on-focusin/sc-select-on-focusin.directive.mjs +5 -5
  100. package/esm2022/directives/terminal-link/sc-terminal-link.directive.mjs +3 -3
  101. package/esm2022/error-handler/error-block-status/error-block-status.component.mjs +3 -3
  102. package/esm2022/error-handler/sc-error-handler.component.mjs +3 -3
  103. package/esm2022/feedback/feedback-form/sc-feedback-form.component.mjs +3 -3
  104. package/esm2022/feedback/gratitude/sc-gratitude.component.mjs +3 -3
  105. package/esm2022/files/directives/tree-top.directive.mjs +3 -3
  106. package/esm2022/files/directives/tree.directive.mjs +3 -3
  107. package/esm2022/files/file-tree-item/file-tree-item.component.mjs +3 -3
  108. package/esm2022/files/files-and-documents/files-and-documents.component.mjs +3 -3
  109. package/esm2022/files/files-and-documents.module.mjs +4 -4
  110. package/esm2022/files/services/tree-icon.service.mjs +3 -3
  111. package/esm2022/files/services/tree-loader.service.mjs +3 -3
  112. package/esm2022/form-fields/addresses-selection-field/sc-addresses-selection-field.component.mjs +3 -3
  113. package/esm2022/form-fields/form-fields.module.mjs +4 -4
  114. package/esm2022/form-fields/suggestion-field/sc-suggestion-field.component.mjs +3 -3
  115. package/esm2022/helpers/sc-px-converter.mjs +3 -3
  116. package/esm2022/methods/index.mjs +2 -0
  117. package/esm2022/methods/sc-get-current-route.mjs +14 -0
  118. package/esm2022/news/news-card/sc-news-card.component.mjs +3 -3
  119. package/esm2022/news/news-card-skeleton/sc-news-card-skeleton.component.mjs +3 -3
  120. package/esm2022/news/sc-news.module.mjs +4 -4
  121. package/esm2022/noindex-wrapper/directives/index.mjs +2 -0
  122. package/esm2022/noindex-wrapper/directives/sc-noindex.directive.mjs +58 -0
  123. package/esm2022/noindex-wrapper/index.mjs +3 -0
  124. package/esm2022/noindex-wrapper/sc-noindex-wrapper.component.mjs +18 -0
  125. package/esm2022/order/order-item-mobile/sc-order-item-mobile.component.mjs +3 -3
  126. package/esm2022/order/sc-order.module.mjs +4 -4
  127. package/esm2022/order/sc-payment-status/sc-payment-status.component.mjs +3 -3
  128. package/esm2022/pages/frequently-asked-questions/sc-frequently-asked-questions.component.mjs +3 -3
  129. package/esm2022/pages/frequently-asked-questions-group-selector/sc-frequently-asked-questions-group-selector.component.mjs +3 -3
  130. package/esm2022/pages/frequently-asked-questions-with-groups/sc-frequently-asked-questions-with-groups.component.mjs +6 -5
  131. package/esm2022/pages/personal-data-processing-policy/sc-personal-data-processing-policy.component.mjs +3 -3
  132. package/esm2022/pages/privacy-policy/sc-privacy-policy.component.mjs +3 -3
  133. package/esm2022/pages/public-offer/sc-public-offer.component.mjs +3 -3
  134. package/esm2022/pipes/sc-format-date.mjs +3 -3
  135. package/esm2022/pipes/sc-phone-format.mjs +3 -3
  136. package/esm2022/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs +3 -3
  137. package/esm2022/profile/sc-profile.module.mjs +4 -4
  138. package/esm2022/providers/date-value-transformer/sc-date-value-transformer-with-end-time.mjs +3 -3
  139. package/esm2022/providers/date-value-transformer/sc-date-value-transformer-with-start-time.mjs +3 -3
  140. package/esm2022/providers/index.mjs +3 -1
  141. package/esm2022/providers/sc-category.providers.mjs +43 -0
  142. package/esm2022/providers/sc-debounce-time-default.mjs +9 -0
  143. package/esm2022/public-api.mjs +4 -1
  144. package/esm2022/qrcode/qrcode-dialog/sc-qrcode-dialog.component.mjs +3 -3
  145. package/esm2022/qrcode/sc-qrcode.module.mjs +4 -4
  146. package/esm2022/samples/preview-sample/sc-preview-sample.component.mjs +5 -5
  147. package/esm2022/samples/sc-preview-samples-mosquito/sc-preview-samples-mosquito.component.mjs +3 -3
  148. package/esm2022/samples/sc-sample.module.mjs +4 -4
  149. package/esm2022/schemas/sc-json-ld-category/sc-json-ld-category.component.mjs +3 -3
  150. package/esm2022/services/sc-help-notification.service.mjs +3 -3
  151. package/esm2022/share-button/sc-share-button.component.mjs +3 -3
  152. package/esm2022/share-button/sc-share-button.module.mjs +4 -4
  153. package/esm2022/user/reset-user-password/sc-reset-user-password.component.mjs +3 -3
  154. package/esm2022/user/sc-user.module.mjs +4 -4
  155. package/esm2022/user/update-user-info-dialog/sc-update-user-info-dialog.component.mjs +3 -3
  156. package/esm2022/user/user-managers/sc-user-managers.component.mjs +23 -25
  157. package/esm2022/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.mjs +3 -3
  158. package/esm2022/verification/sc-verification.module.mjs +4 -4
  159. package/esm2022/verification/verification-phone-check-form/sc-verification-phone-check-form.component.mjs +16 -16
  160. package/fesm2022/snabcentr-client-ui.mjs +2574 -1896
  161. package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
  162. package/methods/index.d.ts +1 -0
  163. package/methods/sc-get-current-route.d.ts +8 -0
  164. package/noindex-wrapper/directives/index.d.ts +1 -0
  165. package/noindex-wrapper/directives/sc-noindex.directive.d.ts +29 -0
  166. package/noindex-wrapper/index.d.ts +2 -0
  167. package/noindex-wrapper/sc-noindex-wrapper.component.d.ts +9 -0
  168. package/package.json +19 -19
  169. package/providers/index.d.ts +2 -0
  170. package/providers/sc-category.providers.d.ts +11 -0
  171. package/providers/sc-debounce-time-default.d.ts +5 -0
  172. package/public-api.d.ts +3 -0
  173. package/styles/tailwind/tailwind.scss +77 -173
  174. package/user/user-managers/sc-user-managers.component.d.ts +7 -10
@@ -16,11 +16,12 @@ import * as i14 from "../form-fields/form-fields.module";
16
16
  import * as i15 from "@taiga-ui/core/components/data-list";
17
17
  import * as i16 from "../contragents/sc-contragents.module";
18
18
  import * as i17 from "../contacts/sc-contacts.module";
19
+ import * as i18 from "../contacts/manager-card/sc-manager-card.component";
19
20
  /**
20
21
  * Модуль аутентификации.
21
22
  */
22
23
  export declare class ScAuthModule {
23
24
  static ɵfac: i0.ɵɵFactoryDeclaration<ScAuthModule, never>;
24
- static ɵmod: i0.ɵɵNgModuleDeclaration<ScAuthModule, [typeof i1.ScSignInFormComponent, typeof i2.ScSignInFormByPhoneComponent, typeof i3.ScSignInFormByEmailComponent, typeof i4.ScSignUpFormComponent, typeof i5.ScSimpleSignUpFormComponent], [typeof i6.CommonModule, typeof i7.FormsModule, typeof i7.ReactiveFormsModule, typeof i8.TuiInputPasswordModule, typeof i8.TuiInputModule, typeof i8.TuiTextfieldControllerModule, typeof i9.TuiLink, typeof i9.TuiButton, typeof i9.TuiLabel, typeof i10.TuiFieldErrorPipe, typeof i9.TuiError, typeof i11.TuiLet, typeof i9.TuiLoader, typeof i8.TuiInputPhoneModule, typeof i12.MaskitoDirective, typeof i13.ScVerificationModule, typeof i14.ScFormFieldsModule, typeof i9.TuiDataListComponent, typeof i9.TuiDataListDirective, typeof i9.TuiOption, typeof i9.TuiOptionNew, typeof i9.TuiOptionWithValue, typeof i9.TuiOptGroup, typeof i10.TuiCheckbox, typeof i10.TuiElasticContainer, typeof i10.TuiDataListWrapperComponent, typeof i10.TuiDataListGroupWrapperComponent, typeof i15.TuiDataListDirective, typeof i8.TuiSelectModule, typeof i16.ScContragentsModule, typeof i17.ScContactsModule, typeof i10.TuiStepperComponent, typeof i10.TuiStep, typeof i11.TuiRepeatTimes, typeof i10.TuiButtonLoading], [typeof i1.ScSignInFormComponent, typeof i2.ScSignInFormByPhoneComponent, typeof i3.ScSignInFormByEmailComponent, typeof i4.ScSignUpFormComponent, typeof i5.ScSimpleSignUpFormComponent]>;
25
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ScAuthModule, [typeof i1.ScSignInFormComponent, typeof i2.ScSignInFormByPhoneComponent, typeof i3.ScSignInFormByEmailComponent, typeof i4.ScSignUpFormComponent, typeof i5.ScSimpleSignUpFormComponent], [typeof i6.CommonModule, typeof i7.FormsModule, typeof i7.ReactiveFormsModule, typeof i8.TuiInputPasswordModule, typeof i8.TuiInputModule, typeof i8.TuiTextfieldControllerModule, typeof i9.TuiLink, typeof i9.TuiButton, typeof i9.TuiLabel, typeof i10.TuiFieldErrorPipe, typeof i9.TuiError, typeof i11.TuiLet, typeof i9.TuiLoader, typeof i8.TuiInputPhoneModule, typeof i12.MaskitoDirective, typeof i13.ScVerificationModule, typeof i14.ScFormFieldsModule, typeof i9.TuiDataListComponent, typeof i9.TuiDataListDirective, typeof i9.TuiOption, typeof i9.TuiOptionNew, typeof i9.TuiOptionWithValue, typeof i9.TuiOptGroup, typeof i10.TuiCheckbox, typeof i10.TuiElasticContainer, typeof i10.TuiDataListWrapperComponent, typeof i10.TuiDataListGroupWrapperComponent, typeof i15.TuiDataListDirective, typeof i8.TuiSelectModule, typeof i16.ScContragentsModule, typeof i17.ScContactsModule, typeof i10.TuiStepperComponent, typeof i10.TuiStep, typeof i11.TuiRepeatTimes, typeof i10.TuiButtonLoading, typeof i10.TuiPushComponent, typeof i10.TuiPushAlert, typeof i10.TuiPushDirective, typeof i18.ScManagerCardComponent, typeof i9.TuiIcon], [typeof i1.ScSignInFormComponent, typeof i2.ScSignInFormByPhoneComponent, typeof i3.ScSignInFormByEmailComponent, typeof i4.ScSignUpFormComponent, typeof i5.ScSimpleSignUpFormComponent]>;
25
26
  static ɵinj: i0.ɵɵInjectorDeclaration<ScAuthModule>;
26
27
  }
@@ -1,14 +1,13 @@
1
- import { EventEmitter } from '@angular/core';
1
+ import { EventEmitter, OnDestroy, Signal } from '@angular/core';
2
2
  import { FormGroup } from '@angular/forms';
3
- import { ScAuthService } from '@snabcentr/client-core';
3
+ import { ScIOrgContact } from '@snabcentr/client-core';
4
4
  import { Observable, Subject } from 'rxjs';
5
5
  import { ScHelpNotificationService } from '../../../services/sc-help-notification.service';
6
6
  import * as i0 from "@angular/core";
7
7
  /**
8
8
  * Компонент аутентификации по адресу электронной почты и паролю.
9
9
  */
10
- export declare class ScSignInFormByEmailComponent {
11
- private readonly authService;
10
+ export declare class ScSignInFormByEmailComponent implements OnDestroy {
12
11
  /**
13
12
  * Группа полей ввода для формы «Вход на сайт».
14
13
  */
@@ -21,6 +20,14 @@ export declare class ScSignInFormByEmailComponent {
21
20
  * Сервис для отображения Push-уведомлений с контактами для помощи клиенту.
22
21
  */
23
22
  protected readonly helpNotificationService: ScHelpNotificationService;
23
+ /**
24
+ * Список контактов для отправки push-уведомлений.
25
+ */
26
+ protected readonly pushContacts: Signal<ScIOrgContact[] | undefined>;
27
+ /**
28
+ * Токен показа уведомления помощи.
29
+ */
30
+ protected readonly showHelpNotification: boolean;
24
31
  /**
25
32
  * {@link Observable} запроса данных аутентификации.
26
33
  */
@@ -34,11 +41,15 @@ export declare class ScSignInFormByEmailComponent {
34
41
  */
35
42
  readonly forgotPassword: EventEmitter<void>;
36
43
  /**
37
- * Инициализирует экземпляр класса {@link ScSignInFormByEmailComponent}.
38
- *
39
- * @param authService Сервис аутентификации.
44
+ * Сервис аутентификации.
45
+ */
46
+ private readonly authService;
47
+ /**
48
+ * Закрытие уведомления.
40
49
  */
41
- constructor(authService: ScAuthService);
50
+ protected closeNotification(): void;
51
+ /** @inheritDoc */
52
+ ngOnDestroy(): void;
42
53
  static ɵfac: i0.ɵɵFactoryDeclaration<ScSignInFormByEmailComponent, never>;
43
54
  static ɵcmp: i0.ɵɵComponentDeclaration<ScSignInFormByEmailComponent, "sc-sign-in-form-by-email", never, {}, { "forgotPassword": "forgotPassword"; }, never, never, false, never>;
44
55
  }
@@ -1,12 +1,11 @@
1
+ import { OnDestroy } from '@angular/core';
1
2
  import { FormControl, FormGroup } from '@angular/forms';
2
- import { ScAuthService } from '@snabcentr/client-core';
3
3
  import { Observable, Subject } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
6
  * Компонент аутентификации по номеру телефона и коду подтверждения.
7
7
  */
8
- export declare class ScSignInFormByPhoneComponent {
9
- private readonly authService;
8
+ export declare class ScSignInFormByPhoneComponent implements OnDestroy {
10
9
  /**
11
10
  * Наличие кода подтверждения у пользователя.
12
11
  */
@@ -35,11 +34,11 @@ export declare class ScSignInFormByPhoneComponent {
35
34
  */
36
35
  readonly loading$: Observable<boolean>;
37
36
  /**
38
- * Инициализирует экземпляр класса {@link ScSignInFormByPhoneComponent}.
39
- *
40
- * @param authService Сервис аутентификации.
37
+ * Сервис аутентификации.
41
38
  */
42
- constructor(authService: ScAuthService);
39
+ private readonly authService;
40
+ /** @inheritDoc */
41
+ ngOnDestroy(): void;
43
42
  static ɵfac: i0.ɵɵFactoryDeclaration<ScSignInFormByPhoneComponent, never>;
44
43
  static ɵcmp: i0.ɵɵComponentDeclaration<ScSignInFormByPhoneComponent, "sc-sign-in-form-by-phone", never, {}, {}, never, never, false, never>;
45
44
  }
@@ -1,12 +1,13 @@
1
- import { OnInit, OutputEmitterRef, OutputRef, Signal } from '@angular/core';
1
+ import { OnDestroy, OnInit, OutputEmitterRef, OutputRef, Signal } from '@angular/core';
2
2
  import { FormControl, FormGroup } from '@angular/forms';
3
3
  import { ScIOrgContact, ScISuggestionType, ScUser } from '@snabcentr/client-core';
4
4
  import { Subject } from 'rxjs';
5
+ import { ScHelpNotificationService } from '../../services';
5
6
  import * as i0 from "@angular/core";
6
7
  /**
7
8
  * Компонент упрощенной регистрации.
8
9
  */
9
- export declare class ScSimpleSignUpFormComponent implements OnInit {
10
+ export declare class ScSimpleSignUpFormComponent implements OnInit, OnDestroy {
10
11
  /**
11
12
  * Сервис данных о пользователе.
12
13
  */
@@ -71,6 +72,10 @@ export declare class ScSimpleSignUpFormComponent implements OnInit {
71
72
  * Сигнал события аутентификации после успешной регистрации.
72
73
  */
73
74
  readonly successAuth: OutputRef<ScUser>;
75
+ /**
76
+ * Сервис для отображения Push-уведомлений с контактами для помощи клиенту.
77
+ */
78
+ protected readonly helpNotificationService: ScHelpNotificationService;
74
79
  /**
75
80
  * Сигнал нажатия на "Договор оферты".
76
81
  */
@@ -101,6 +106,8 @@ export declare class ScSimpleSignUpFormComponent implements OnInit {
101
106
  * @param formValue Значение формы при регистрации
102
107
  */
103
108
  private createBaseContragent;
109
+ /** @inheritDoc */
110
+ ngOnDestroy(): void;
104
111
  static ɵfac: i0.ɵɵFactoryDeclaration<ScSimpleSignUpFormComponent, never>;
105
112
  static ɵcmp: i0.ɵɵComponentDeclaration<ScSimpleSignUpFormComponent, "sc-simple-sign-up-form", never, {}, { "successAuth": "successAuth"; "clickOffer": "clickOffer"; }, never, never, false, never>;
106
113
  }
@@ -1,6 +1,6 @@
1
1
  import { OnInit, OutputEmitterRef, OutputRef } from '@angular/core';
2
2
  import { FormArray, FormControl, FormGroup } from '@angular/forms';
3
- import { ScAuthService, ScConvertersService, ScIReferencesTypes, ScISuggestionType, ScOpfList, ScReferencesService, ScSuggestion, ScUser, ScUserMetrikaService, ScUserService } from '@snabcentr/client-core';
3
+ import { ScIReferencesTypes, ScISuggestionType, ScOpfList, ScSuggestion, ScUser } from '@snabcentr/client-core';
4
4
  import { Observable, Subject } from 'rxjs';
5
5
  import { ScContactFormGroup } from '../interfaces';
6
6
  import * as i0 from "@angular/core";
@@ -8,10 +8,21 @@ import * as i0 from "@angular/core";
8
8
  * Компонент формы регистрация пользователя.
9
9
  */
10
10
  export declare class ScSignUpFormComponent implements OnInit {
11
+ /**
12
+ * Сервис данных о пользователе.
13
+ */
11
14
  private readonly userService;
12
- private readonly authService;
15
+ /**
16
+ * Сервис справочников.
17
+ */
13
18
  private readonly referencesService;
19
+ /**
20
+ * Сервис конвертации данных.
21
+ */
14
22
  private readonly convertersService;
23
+ /**
24
+ * Сервис для сбора метрик о действиях пользователей.
25
+ */
15
26
  private readonly userMetrikaService;
16
27
  /**
17
28
  * Поле ввода организационно-правовых форм.
@@ -70,14 +81,8 @@ export declare class ScSignUpFormComponent implements OnInit {
70
81
  readonly steps: string[];
71
82
  /**
72
83
  * Инициализирует экземпляр класса {@link ScSignUpFormComponent}.
73
- *
74
- * @param userService Сервис данных о пользователе.
75
- * @param authService Сервис аутентификации.
76
- * @param referencesService Сервис справочников.
77
- * @param convertersService Сервис конвертации данных.
78
- * @param userMetrikaService Сервис для сбора метрик о действиях пользователей.
79
84
  */
80
- constructor(userService: ScUserService, authService: ScAuthService, referencesService: ScReferencesService, convertersService: ScConvertersService, userMetrikaService: ScUserMetrikaService);
85
+ constructor();
81
86
  /**
82
87
  * Список групп полей банковских реквизитов.
83
88
  */
@@ -1,6 +1,6 @@
1
1
  import { OutputEmitterRef, TemplateRef } from '@angular/core';
2
2
  import { TuiDialogContext } from '@taiga-ui/core';
3
- import { AbstractScPriceCard } from '../../directives/abstract-price-card/abstract-sc-price-card.directive';
3
+ import { AbstractScPriceCard } from '../../directives';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
6
  * Компонент карточки элемента корзины.
@@ -0,0 +1,3 @@
1
+ export * from './tokens/sc-catalog-products-filters';
2
+ export * from './tokens/sc-catalog-show-products-recursively';
3
+ export * from './sc-catalog-filters.component';
@@ -0,0 +1,99 @@
1
+ import { FormControl, FormGroup } from '@angular/forms';
2
+ import { ScCatalogFilter, ScICheckboxFilter, ScPropertyFilters, ScRangeFilter, ScToggleFilter } from '@snabcentr/client-core';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Компонент вывода фильтров каталога.
6
+ */
7
+ export declare class ScCatalogFiltersComponent {
8
+ /**
9
+ * Состояние открытия accordion.
10
+ */
11
+ readonly isOpenAccordion: import("@angular/core").InputSignal<boolean>;
12
+ /**
13
+ * Сервис для работы с фильтрами каталога.
14
+ */
15
+ private readonly catalogFilterService;
16
+ /**
17
+ * Пайп, возвращающий идентификатор или символьное обозначение (slug) исходя из настроек окружения.
18
+ */
19
+ private readonly idOrSlugPipe;
20
+ /**
21
+ * Subject для хранения фильтров продуктов.
22
+ */
23
+ private readonly catalogProductsFilters$;
24
+ /**
25
+ * Признак необходимости отображать фильтры для вложенных категорий.
26
+ */
27
+ private readonly isRecursively;
28
+ /**
29
+ * {@link Observable} фильтров категории.
30
+ */
31
+ protected readonly filters: import("@angular/core").Signal<ScCatalogFilter[]>;
32
+ /**
33
+ * FormGroup для фильтров.
34
+ */
35
+ readonly form: FormGroup<Record<string, FormControl<boolean> | FormGroup<Record<string, FormControl<boolean>>> | FormControl<[number, number]>>>;
36
+ /**
37
+ * Инициализирует экземпляр класса {@link ScCatalogFiltersComponent}.
38
+ */
39
+ constructor();
40
+ /**
41
+ * Обновляет состав контролов формы на основе переданных фильтров.
42
+ *
43
+ * @param filters Массив фильтров для создания контролов.
44
+ */
45
+ protected updateFormControls(filters: ScCatalogFilter[]): void;
46
+ /**
47
+ * Преобразует значения формы в объект фильтров свойств.
48
+ *
49
+ * @param value Значения формы.
50
+ * @returns Объект фильтров свойств.
51
+ */
52
+ protected buildPropertyFilters(value: Partial<Record<string, boolean | Record<string, boolean> | [number, number]>> | Record<string, unknown>): ScPropertyFilters;
53
+ /**
54
+ * Создает FormGroup для checkbox.
55
+ *
56
+ * @param checkboxFilter Фильтр типа checkbox.
57
+ */
58
+ protected createCheckboxFormControl(checkboxFilter: ScICheckboxFilter): FormGroup<Record<string, FormControl<boolean>>>;
59
+ /**
60
+ * Создает FormControl для range.
61
+ *
62
+ * @param rangeFilter Фильтр типа range.
63
+ */
64
+ protected createRangeFormControl(rangeFilter: ScRangeFilter): FormControl<[number, number]>;
65
+ /**
66
+ * Создает FormControl для toggle.
67
+ *
68
+ * @param toggleFilter Фильтр типа toggle.
69
+ */
70
+ protected createToggleFormControl(toggleFilter: ScToggleFilter): FormControl<boolean>;
71
+ /**
72
+ * Обрабатывает checkbox фильтр.
73
+ *
74
+ * @param result Объект результата для заполнения.
75
+ * @param filterId Идентификатор фильтра.
76
+ * @param controlValue Значение контрола формы.
77
+ */
78
+ private processCheckboxFilter;
79
+ /**
80
+ * Обрабатывает range фильтр.
81
+ *
82
+ * @param result Объект результата для заполнения.
83
+ * @param filterId Идентификатор фильтра.
84
+ * @param controlValue Значение контрола формы.
85
+ * @param controlValue.0 Начальное значение диапазона.
86
+ * @param controlValue.1 Конечное значение диапазона.
87
+ */
88
+ private processRangeFilter;
89
+ /**
90
+ * Обрабатывает toggle фильтр.
91
+ *
92
+ * @param result Объект результата для заполнения.
93
+ * @param filterId Идентификатор фильтра.
94
+ * @param controlValue Значение контрола формы.
95
+ */
96
+ private processToggleFilter;
97
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScCatalogFiltersComponent, never>;
98
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScCatalogFiltersComponent, "sc-catalog-filters", never, { "isOpenAccordion": { "alias": "isOpenAccordion"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
99
+ }
@@ -0,0 +1,7 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { ScPropertyFilters } from '@snabcentr/client-core';
3
+ import { Subject } from 'rxjs';
4
+ /**
5
+ * Токен для инъекции {@link Subject} для хранения фильтров продуктов.
6
+ */
7
+ export declare const SC_CATALOG_PRODUCTS_FILTERS: InjectionToken<Subject<ScPropertyFilters>>;
@@ -0,0 +1,5 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ /**
3
+ * Токен для инъекции признака необходимости отображать фильтры для вложенных категорий.
4
+ */
5
+ export declare const SC_CATALOG_SHOW_PRODUCTS_RECURSIVELY: InjectionToken<boolean>;
@@ -1,5 +1,6 @@
1
1
  export * from './download-price-list/sc-download-price-list.component';
2
2
  export * from './category-card/sc-category-card.component';
3
+ export * from './cost-with-discount/cost-with-discount.component';
3
4
  export * from './hover-image-carousel/sc-hover-image-carousel.component';
4
5
  export * from './input-quantity/sc-input-quantity.component';
5
6
  export * from './notify-when-in-stock-dialog';
@@ -10,3 +11,4 @@ export * from './price-list-pagination/sc-price-list-pagination.component';
10
11
  export * from './price-warehouse-stock/sc-price-warehouse-stock.component';
11
12
  export * from './sc-favorite-button/sc-favorite-button.component';
12
13
  export * from './sc-catalog.module';
14
+ export * from './catalog-filters';
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter, OnInit } from '@angular/core';
2
2
  import { FormControl } from '@angular/forms';
3
- import { TuiSizeL, TuiSizeM, TuiSizeS } from '@taiga-ui/core';
3
+ import { TuiSizeL, TuiSizeS } from '@taiga-ui/core';
4
4
  import { AbstractTuiNullableControl } from '@taiga-ui/legacy';
5
5
  import * as i0 from "@angular/core";
6
6
  /**
@@ -38,7 +38,7 @@ export declare class ScInputQuantityComponent extends AbstractTuiNullableControl
38
38
  /**
39
39
  * Размер компонента.
40
40
  */
41
- size: TuiSizeL | TuiSizeM | TuiSizeS;
41
+ size: TuiSizeL | TuiSizeS;
42
42
  /**
43
43
  * Событие нажатия на кнопку "Очистить".
44
44
  */
@@ -14,5 +14,5 @@ export declare class ScPriceCardComponent extends AbstractScPriceCard {
14
14
  */
15
15
  protected getToCartButtonSize(): "m" | "s" | "xs";
16
16
  static ɵfac: i0.ɵɵFactoryDeclaration<ScPriceCardComponent, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<ScPriceCardComponent, "sc-price-card", never, { "size": { "alias": "size"; "required": false; }; }, {}, never, never, false, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScPriceCardComponent, "sc-price-card", never, { "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
18
18
  }
@@ -1,18 +1,18 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./price-list-pagination/sc-price-list-pagination.component";
3
3
  import * as i2 from "./category-card/sc-category-card.component";
4
- import * as i3 from "./price-card/sc-price-card.component";
5
- import * as i4 from "./price-history/sc-price-history.component";
6
- import * as i5 from "@angular/common";
7
- import * as i6 from "@angular/router";
8
- import * as i7 from "@taiga-ui/core";
9
- import * as i8 from "@taiga-ui/legacy";
10
- import * as i9 from "@angular/forms";
11
- import * as i10 from "@taiga-ui/kit";
12
- import * as i11 from "@taiga-ui/cdk";
13
- import * as i12 from "@taiga-ui/addon-charts";
14
- import * as i13 from "./hover-image-carousel/sc-hover-image-carousel.component";
15
- import * as i14 from "./cost-with-discount/cost-with-discount.component";
4
+ import * as i3 from "./price-history/sc-price-history.component";
5
+ import * as i4 from "@angular/common";
6
+ import * as i5 from "@angular/router";
7
+ import * as i6 from "@taiga-ui/core";
8
+ import * as i7 from "@taiga-ui/legacy";
9
+ import * as i8 from "@angular/forms";
10
+ import * as i9 from "@taiga-ui/kit";
11
+ import * as i10 from "@taiga-ui/cdk";
12
+ import * as i11 from "@taiga-ui/addon-charts";
13
+ import * as i12 from "./hover-image-carousel/sc-hover-image-carousel.component";
14
+ import * as i13 from "./cost-with-discount/cost-with-discount.component";
15
+ import * as i14 from "./price-card/sc-price-card.component";
16
16
  import * as i15 from "./price-card-inline/sc-price-card-inline.component";
17
17
  import * as i16 from "./price-warehouse-stock/sc-price-warehouse-stock.component";
18
18
  import * as i17 from "./sc-favorite-button/sc-favorite-button.component";
@@ -24,6 +24,6 @@ import * as i20 from "@snabcentr/client-core";
24
24
  */
25
25
  export declare class ScCatalogModule {
26
26
  static ɵfac: i0.ɵɵFactoryDeclaration<ScCatalogModule, never>;
27
- static ɵmod: i0.ɵɵNgModuleDeclaration<ScCatalogModule, [typeof i1.ScPriceListPaginationComponent, typeof i2.ScCategoryCardComponent, typeof i3.ScPriceCardComponent, typeof i4.ScPriceHistoryComponent], [typeof i5.CommonModule, typeof i6.RouterModule, typeof i7.TuiButton, typeof i7.TuiIcon, typeof i8.TuiIslandDirective, typeof i8.TuiInputNumberModule, typeof i7.TuiLabel, typeof i8.TuiTextfieldControllerModule, typeof i9.FormsModule, typeof i9.ReactiveFormsModule, typeof i7.TuiHintComponent, typeof i7.TuiHintDirective, typeof i7.TuiHintOptionsDirective, typeof i7.TuiHintUnstyled, typeof i7.TuiHintDriver, typeof i7.TuiHintPosition, typeof i7.TuiHintHover, typeof i7.TuiHintOverflow, typeof i7.TuiHintDescribe, typeof i7.TuiHintHost, typeof i7.TuiHintManual, typeof i7.TuiHintPointer, typeof i10.TuiFieldErrorPipe, typeof i7.TuiLoader, typeof i7.TuiLink, typeof i10.TuiElasticContainer, typeof i11.TuiLet, typeof i11.TuiRepeatTimes, typeof i10.TuiHighlight, typeof i12.TuiLineDaysChart, typeof i11.TuiAutoFocus, typeof i12.TuiLineDaysChartHint, typeof i12.TuiAxes, typeof i10.TuiButtonLoading, typeof i10.TuiAvatar, typeof i10.TuiBadge, typeof i13.ScHoverImageCarouselComponent, typeof i10.TuiLineClamp, typeof i11.TuiHovered, typeof i14.CostWithDiscountComponent, typeof i15.ScPriceCardInlineComponent, typeof i16.ScPriceWarehouseStockComponent, typeof i17.ScFavoriteButtonComponent, typeof i18.ScInputQuantityComponent, typeof i19.ScFormatDatePipe, typeof i20.ScMediaImageTransformerPipe], [typeof i1.ScPriceListPaginationComponent, typeof i2.ScCategoryCardComponent, typeof i3.ScPriceCardComponent, typeof i4.ScPriceHistoryComponent]>;
27
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ScCatalogModule, [typeof i1.ScPriceListPaginationComponent, typeof i2.ScCategoryCardComponent, typeof i3.ScPriceHistoryComponent], [typeof i4.CommonModule, typeof i5.RouterModule, typeof i6.TuiButton, typeof i6.TuiIcon, typeof i7.TuiIslandDirective, typeof i7.TuiInputNumberModule, typeof i6.TuiLabel, typeof i7.TuiTextfieldControllerModule, typeof i8.FormsModule, typeof i8.ReactiveFormsModule, typeof i6.TuiHintComponent, typeof i6.TuiHintDirective, typeof i6.TuiHintOptionsDirective, typeof i6.TuiHintUnstyled, typeof i6.TuiHintDriver, typeof i6.TuiHintPosition, typeof i6.TuiHintHover, typeof i6.TuiHintOverflow, typeof i6.TuiHintDescribe, typeof i6.TuiHintHost, typeof i6.TuiHintManual, typeof i6.TuiHintPointer, typeof i9.TuiFieldErrorPipe, typeof i6.TuiLoader, typeof i6.TuiLink, typeof i9.TuiElasticContainer, typeof i10.TuiLet, typeof i10.TuiRepeatTimes, typeof i9.TuiHighlight, typeof i11.TuiLineDaysChart, typeof i10.TuiAutoFocus, typeof i11.TuiLineDaysChartHint, typeof i11.TuiAxes, typeof i9.TuiButtonLoading, typeof i9.TuiAvatar, typeof i9.TuiBadge, typeof i12.ScHoverImageCarouselComponent, typeof i9.TuiLineClamp, typeof i10.TuiHovered, typeof i13.CostWithDiscountComponent, typeof i14.ScPriceCardComponent, typeof i15.ScPriceCardInlineComponent, typeof i16.ScPriceWarehouseStockComponent, typeof i17.ScFavoriteButtonComponent, typeof i18.ScInputQuantityComponent, typeof i19.ScFormatDatePipe, typeof i20.ScMediaImageTransformerPipe], [typeof i1.ScPriceListPaginationComponent, typeof i2.ScCategoryCardComponent, typeof i14.ScPriceCardComponent, typeof i3.ScPriceHistoryComponent]>;
28
28
  static ɵinj: i0.ɵɵInjectorDeclaration<ScCatalogModule>;
29
29
  }
@@ -0,0 +1,2 @@
1
+ export * from './sandwich';
2
+ export * from './models';
@@ -0,0 +1,2 @@
1
+ export * from './sandwich/sc-i-sandwich-settings';
2
+ export * from './sandwich/sc-i-configurator-search-product-sandwich';
@@ -0,0 +1,22 @@
1
+ import { ScIConfiguratorSearchProductBase } from '@snabcentr/client-core';
2
+ /**
3
+ * Модель данных конфигурации для поиска подходящего товара с помощью конфигуратора распила сэндвич-панелей.
4
+ */
5
+ export interface ScIConfiguratorSearchProductSandwich extends ScIConfiguratorSearchProductBase {
6
+ /**
7
+ * Идентификатор записи продукта.
8
+ */
9
+ productId: number;
10
+ /**
11
+ * Идентификатор записи категории.
12
+ */
13
+ productCategoryId: number;
14
+ /**
15
+ * Идентификатор расчета.
16
+ */
17
+ calculationId: string;
18
+ /**
19
+ * Количество продукта.
20
+ */
21
+ quantity: number;
22
+ }
@@ -0,0 +1,18 @@
1
+ import { ScIConfiguratorSettingsBase } from '@snabcentr/client-core';
2
+ /**
3
+ * Модель данных настроек для конфигуратора сэндвич-панелей.
4
+ */
5
+ export interface ScISandwichSettings extends ScIConfiguratorSettingsBase {
6
+ /**
7
+ * Минимальная ширина изделия в миллиметрах.
8
+ */
9
+ minWidth: number;
10
+ /**
11
+ * Минимальная длина изделия в миллиметрах.
12
+ */
13
+ minLength: number;
14
+ /**
15
+ * Признак, что в конфигураторе разрешено просматривать товары в виде таблицы.
16
+ */
17
+ allowShowTable: boolean;
18
+ }
@@ -0,0 +1,3 @@
1
+ export * from './sc-sandwich.component';
2
+ export * from './sandwich-skeleton/sc-sandwich-skeleton.component';
3
+ export * from './sc-i-new-cart-item-sandwich';
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ /**
3
+ * Skeleton конфигуратора сэндвич-панелей.
4
+ */
5
+ export declare class ScSandwichSkeletonComponent {
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScSandwichSkeletonComponent, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScSandwichSkeletonComponent, "sc-sandwich-skeleton", never, {}, {}, never, never, true, never>;
8
+ }
@@ -0,0 +1,14 @@
1
+ import { ScINewCartItemBase } from '@snabcentr/client-core';
2
+ /**
3
+ * Модель данных товара, который необходимо добавить в корзину, используя конфигуратор распила сэндвич-панелей.
4
+ */
5
+ export interface ScINewCartItemSandwich extends ScINewCartItemBase {
6
+ /**
7
+ * Идентификатор записи категории.
8
+ */
9
+ productCategoryId: number;
10
+ /**
11
+ * Идентификатор расчета.
12
+ */
13
+ calculationId: string;
14
+ }
@@ -0,0 +1,146 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { FormArray, FormControl, FormGroup, ValidatorFn } from '@angular/forms';
3
+ import { ScCartItem, ScIConfiguratorCalculateResult, ScProduct } from '@snabcentr/client-core';
4
+ import { Observable } from 'rxjs';
5
+ import { ScISandwichSettings } from '../models/sandwich/sc-i-sandwich-settings';
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * Конфигуратор распила сэндвич-панелей.
9
+ */
10
+ export declare class ScSandwichComponent implements OnInit {
11
+ /**
12
+ * Данные настроек окружения.
13
+ */
14
+ private readonly debounceTimeDefault;
15
+ /**
16
+ * Настройки для конфигуратора сэндвич-панелей.
17
+ */
18
+ readonly settings: import("@angular/core").InputSignal<ScISandwichSettings | undefined>;
19
+ /**
20
+ * Идентификатор категории.
21
+ */
22
+ readonly categoryId: import("@angular/core").InputSignal<string | number>;
23
+ /**
24
+ * Название конфигуратора.
25
+ */
26
+ readonly editor: import("@angular/core").InputSignal<string>;
27
+ /**
28
+ * Позиция товара/услуги в корзине.
29
+ */
30
+ readonly cartItem: import("@angular/core").InputSignal<ScCartItem | undefined>;
31
+ /**
32
+ * Событие переключения отображения товаров.
33
+ */
34
+ readonly toggleShowEvent: import("@angular/core").OutputEmitterRef<void>;
35
+ /**
36
+ * Форма добавления/редактирования продукта в корзине.
37
+ */
38
+ protected readonly form: FormGroup<{
39
+ productCategoryId: FormControl<number | null>;
40
+ configurator: FormControl<string | null>;
41
+ quantity: FormControl<number | null>;
42
+ marker: FormControl<string>;
43
+ items: FormArray<FormGroup<{
44
+ width: FormControl<number>;
45
+ length: FormControl<number>;
46
+ quantity: FormControl<number>;
47
+ }>>;
48
+ calculationId: FormControl<string | null>;
49
+ }>;
50
+ /**
51
+ * Сервис для работы с корзиной.
52
+ */
53
+ private readonly cartService;
54
+ /**
55
+ * Сервис конвертации данных.
56
+ */
57
+ private readonly convertersService;
58
+ /**
59
+ * Контекст диалогового окна, в котором открыт компонент.
60
+ */
61
+ private readonly context;
62
+ /**
63
+ * Сервис для работы с каталогом.
64
+ */
65
+ private readonly catalogService;
66
+ /**
67
+ * Сервис для работы с конфигураторами.
68
+ */
69
+ private readonly configuratorService;
70
+ /**
71
+ * {@link Observable} списка товаров категории.
72
+ */
73
+ protected readonly products$: Observable<ScProduct[]>;
74
+ /**
75
+ * Выбранный продукт (материал для раскроя).
76
+ */
77
+ protected readonly product: FormControl<ScProduct | null>;
78
+ /**
79
+ * {@link Observable} расчета оптимизации раскладки.
80
+ */
81
+ private readonly calculate$;
82
+ /**
83
+ * Результат расчета оптимизации раскладки.
84
+ */
85
+ protected readonly calculateResult$: Observable<ScIConfiguratorCalculateResult>;
86
+ /**
87
+ * Сигнал состояния загрузки расчета.
88
+ */
89
+ protected readonly isCalculateLoading: import("@angular/core").Signal<boolean>;
90
+ /**
91
+ * Валидатор для ширины изделия.
92
+ */
93
+ protected readonly validatorWidth$: Observable<ValidatorFn | null>;
94
+ /**
95
+ * Валидатор для длины изделия.
96
+ */
97
+ protected readonly validatorLength$: Observable<ValidatorFn | null>;
98
+ /**
99
+ * Признак того, что выполняется запрос на отправку данных выполняется.
100
+ */
101
+ protected readonly isSubmitLoading: import("@angular/core").WritableSignal<boolean>;
102
+ /**
103
+ * Ссылка для автоматического управления уничтожением зависимостей.
104
+ */
105
+ private readonly destroyRef;
106
+ /**
107
+ * Массив изделий.
108
+ */
109
+ get items(): FormArray<ReturnType<ScSandwichComponent['createItemGroup']>>;
110
+ /** @inheritDoc */
111
+ ngOnInit(): void;
112
+ /**
113
+ * Создает группу для изделия.
114
+ *
115
+ * @param item Параметры изделия.
116
+ */
117
+ private createItemGroup;
118
+ /**
119
+ * Добавляет новое изделие в форму.
120
+ */
121
+ protected addItem(): void;
122
+ /**
123
+ * Удаляет изделие из формы.
124
+ *
125
+ * @param index Индекс изделия.
126
+ */
127
+ protected removeItem(index: number): void;
128
+ /**
129
+ * Возвращает итоговую стоимость.
130
+ *
131
+ * @param calculateResult Результат расчета оптимизации раскладки.
132
+ */
133
+ protected getTotalCost(calculateResult: ScIConfiguratorCalculateResult): number;
134
+ /**
135
+ * Обработчик добавления/редактирования продукта в корзине.
136
+ *
137
+ * @param calculateResult Результат расчета оптимизации раскладки.
138
+ */
139
+ protected onSubmit(calculateResult: ScIConfiguratorCalculateResult | null): void;
140
+ /**
141
+ * Устанавливает начальные значения для полей формы.
142
+ */
143
+ private setDefaultFormValue;
144
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScSandwichComponent, never>;
145
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScSandwichComponent, "sc-sandwich", never, { "settings": { "alias": "settings"; "required": false; "isSignal": true; }; "categoryId": { "alias": "categoryId"; "required": true; "isSignal": true; }; "editor": { "alias": "editor"; "required": true; "isSignal": true; }; "cartItem": { "alias": "cartItem"; "required": true; "isSignal": true; }; }, { "toggleShowEvent": "toggleShowEvent"; }, never, never, true, never>;
146
+ }