@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
@@ -39,10 +39,10 @@ export class ScQRCodeDialogComponent {
39
39
  // eslint-disable-next-line unicorn/better-regex
40
40
  return /BEGIN:VCARD[\s\S]*END:VCARD/i.test(this.context.data.qrdata);
41
41
  }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScQRCodeDialogComponent, deps: [{ token: i1.ScVCardService }, { token: POLYMORPHEUS_CONTEXT }, { token: IS_RUNNING_ON_TERMINAL }], target: i0.ɵɵFactoryTarget.Component }); }
43
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ScQRCodeDialogComponent, selector: "sc-qrcode-dialog", host: { properties: { "attr.data-terminal-view": "this.terminalView" } }, ngImport: i0, template: "<p class=\"-mt-2 mb-3 text-tui-text-02\">{{ !terminal.isRunningOnTerminal && this.isVCardData() ? '\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0438\u043B\u0438 \u043E' : '\u041E' }}\u0442\u0441\u043A\u0430\u043D\u0438\u0440\u0443\u0439\u0442\u0435 QR-\u043A\u043E\u0434 \u0432\u0430\u0448\u0438\u043C \u043C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u043C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E\u043C.</p>\n<qrcode\n (click)=\"downloadVCard()\"\n [margin]=\"0\"\n [qrdata]=\"this.context.data.qrdata\"\n [width]=\"800\"\n elementType=\"img\"\n class=\"cursor-pointer\"\n></qrcode>\n", styles: ["::ng-deep tui-dialog:has([data-terminal-view=true]){width:21rem!important}::ng-deep tui-dialog:has([data-terminal-view=true]) .t-heading{margin-bottom:.5rem!important;font:var(--tui-font-heading-6)!important}\n"], dependencies: [{ kind: "component", type: i2.QRCodeComponent, selector: "qrcode", inputs: ["allowEmptyString", "colorDark", "colorLight", "cssClass", "elementType", "errorCorrectionLevel", "imageSrc", "imageHeight", "imageWidth", "margin", "qrdata", "scale", "version", "width", "alt", "ariaLabel", "title"], outputs: ["qrCodeURL"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScQRCodeDialogComponent, deps: [{ token: i1.ScVCardService }, { token: POLYMORPHEUS_CONTEXT }, { token: IS_RUNNING_ON_TERMINAL }], target: i0.ɵɵFactoryTarget.Component }); }
43
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ScQRCodeDialogComponent, selector: "sc-qrcode-dialog", host: { properties: { "attr.data-terminal-view": "this.terminalView" } }, ngImport: i0, template: "<p class=\"-mt-2 mb-3 text-tui-text-02\">{{ !terminal.isRunningOnTerminal && this.isVCardData() ? '\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0438\u043B\u0438 \u043E' : '\u041E' }}\u0442\u0441\u043A\u0430\u043D\u0438\u0440\u0443\u0439\u0442\u0435 QR-\u043A\u043E\u0434 \u0432\u0430\u0448\u0438\u043C \u043C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u043C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E\u043C.</p>\n<qrcode\n (click)=\"downloadVCard()\"\n [margin]=\"0\"\n [qrdata]=\"this.context.data.qrdata\"\n [width]=\"800\"\n elementType=\"img\"\n class=\"cursor-pointer\"\n></qrcode>\n", styles: ["::ng-deep tui-dialog:has([data-terminal-view=true]){width:21rem!important}::ng-deep tui-dialog:has([data-terminal-view=true]) .t-heading{margin-bottom:.5rem!important;font:var(--tui-font-heading-6)!important}\n"], dependencies: [{ kind: "component", type: i2.QRCodeComponent, selector: "qrcode", inputs: ["allowEmptyString", "colorDark", "colorLight", "cssClass", "elementType", "errorCorrectionLevel", "imageSrc", "imageHeight", "imageWidth", "margin", "qrdata", "scale", "version", "width", "alt", "ariaLabel", "title"], outputs: ["qrCodeURL"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
44
44
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScQRCodeDialogComponent, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScQRCodeDialogComponent, decorators: [{
46
46
  type: Component,
47
47
  args: [{ selector: 'sc-qrcode-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<p class=\"-mt-2 mb-3 text-tui-text-02\">{{ !terminal.isRunningOnTerminal && this.isVCardData() ? '\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0438\u043B\u0438 \u043E' : '\u041E' }}\u0442\u0441\u043A\u0430\u043D\u0438\u0440\u0443\u0439\u0442\u0435 QR-\u043A\u043E\u0434 \u0432\u0430\u0448\u0438\u043C \u043C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u043C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E\u043C.</p>\n<qrcode\n (click)=\"downloadVCard()\"\n [margin]=\"0\"\n [qrdata]=\"this.context.data.qrdata\"\n [width]=\"800\"\n elementType=\"img\"\n class=\"cursor-pointer\"\n></qrcode>\n", styles: ["::ng-deep tui-dialog:has([data-terminal-view=true]){width:21rem!important}::ng-deep tui-dialog:has([data-terminal-view=true]) .t-heading{margin-bottom:.5rem!important;font:var(--tui-font-heading-6)!important}\n"] }]
48
48
  }], ctorParameters: () => [{ type: i1.ScVCardService }, { type: undefined, decorators: [{
@@ -10,11 +10,11 @@ import * as i1 from "@taiga-ui/kit";
10
10
  * Модуль QR кода.
11
11
  */
12
12
  export class ScQRCodeModule {
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScQRCodeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ScQRCodeModule, declarations: [ScQRCodeDialogComponent], imports: [CommonModule, AngularxQRCodeModule, TuiButton, TuiDialog, i1.TuiPreviewComponent, i1.TuiPreviewTitle, i1.TuiPreviewPagination, i1.TuiPreviewAction, i1.TuiPreviewZoom], exports: [ScQRCodeDialogComponent] }); }
15
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScQRCodeModule, imports: [CommonModule, AngularxQRCodeModule, i1.TuiPreviewComponent, i1.TuiPreviewTitle, i1.TuiPreviewPagination, i1.TuiPreviewZoom] }); }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScQRCodeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ScQRCodeModule, declarations: [ScQRCodeDialogComponent], imports: [CommonModule, AngularxQRCodeModule, TuiButton, TuiDialog, i1.TuiPreviewComponent, i1.TuiPreviewTitle, i1.TuiPreviewPagination, i1.TuiPreviewAction, i1.TuiPreviewZoom], exports: [ScQRCodeDialogComponent] }); }
15
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScQRCodeModule, imports: [CommonModule, AngularxQRCodeModule, i1.TuiPreviewComponent, i1.TuiPreviewTitle, i1.TuiPreviewPagination, i1.TuiPreviewZoom] }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScQRCodeModule, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScQRCodeModule, decorators: [{
18
18
  type: NgModule,
19
19
  args: [{
20
20
  declarations: [ScQRCodeDialogComponent],
@@ -32,11 +32,11 @@ export class ScPreviewSampleComponent {
32
32
  */
33
33
  this.isReverse = input(false);
34
34
  }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScPreviewSampleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: ScPreviewSampleComponent, selector: "sc-preview-sample", inputs: { index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null }, duration: { classPropertyName: "duration", publicName: "duration", isSignal: true, isRequired: false, transformFunction: null }, sample: { classPropertyName: "sample", publicName: "sample", isSignal: true, isRequired: true, transformFunction: null }, isShowCarouselSwitches: { classPropertyName: "isShowCarouselSwitches", publicName: "isShowCarouselSwitches", isSignal: true, isRequired: false, transformFunction: null }, isReverse: { classPropertyName: "isReverse", publicName: "isReverse", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { index: "indexChange" }, host: { attributes: { "ngSkipHydration": "true" } }, ngImport: i0, template: "<div\n *ngIf=\"sample() as sample\"\n class=\"mb-4 flex flex-col-reverse gap-4 md:mb-0 md:flex-row md:gap-8\"\n [class.md:!flex-row-reverse]=\"isReverse()\"\n>\n @let isShownSwitches = sample.items && sample.items.length > 1;\n\n <div class=\"flex max-w-96 flex-1 flex-col justify-center self-center md:max-w-none md:gap-4\">\n <div class=\"flex w-full flex-col gap-3 md:gap-4 md:px-8\">\n <div class=\"text-body-l-bold\">{{ sample.title }}</div>\n <div\n *ngIf=\"isShownSwitches\"\n class=\"flex gap-4\"\n >\n <tui-avatar\n [round]=\"false\"\n *ngFor=\"let item of sample.items; let itemIndex = index\"\n (tuiHoveredChange)=\"index.set(itemIndex)\"\n [class.active]=\"index() === itemIndex\"\n >\n <picture>\n <source\n type=\"image/webp\"\n [srcset]=\"item.buttonImageUrl.webp\"\n />\n <img\n [src]=\"item.buttonImageUrl.defaultFormat\"\n [alt]=\"item.buttonImageUrl.alt ?? '\u041A\u043D\u043E\u043F\u043A\u0430 \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0442\u0435\u043B\u044F \u0446\u0432\u0435\u0442\u0430 ' + item.color\"\n />\n </picture>\n </tui-avatar>\n </div>\n <div\n *ngIf=\"sample.items as items\"\n class=\"text-body-m-bold\"\n >\n {{ items[index()].color }}\n </div>\n <div>{{ sample.description }}</div>\n <img\n *ngIf=\"sample.descriptionImageUrl\"\n [src]=\"sample.descriptionImageUrl\"\n alt=\"\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0442\u043E\u0432\u0430\u0440\u0430 \u0432 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0438 \u043E\u0431\u0440\u0430\u0437\u0446\u0430 {{ sample.title }}\"\n class=\"w-fit\"\n />\n <div\n *ngIf=\"sample.items && sample.items[index()].actions?.length\"\n class=\"flex flex-wrap gap-3 md:gap-4\"\n >\n <a\n *ngFor=\"let action of sample.items[index()].actions\"\n tuiButton\n [attr.href]=\"action.href\"\n (click)=\"action.handler ? $event.preventDefault() : {}; action.handler?.()\"\n [iconStart]=\"action.icon\"\n appearance=\"secondary\"\n >\n {{ action.label }}\n </a>\n </div>\n </div>\n </div>\n\n <div class=\"relative h-[19em] flex-1 overflow-hidden rounded-xl shadow-tui-shadow md:h-96 lg:h-[28rem]\">\n <button\n *ngIf=\"isShownSwitches && isShowCarouselSwitches()\"\n tuiIconButton\n (click)=\"carousel.prev()\"\n iconStart=\"@tui.chevron-left\"\n appearance=\"icon\"\n class=\"!absolute left-0 top-1/2 z-10 ml-2 -translate-y-1/2\"\n ></button>\n\n <tui-carousel\n #carousel\n [(index)]=\"index\"\n [duration]=\"duration()\"\n class=\"h-[19em] w-full md:h-96 lg:h-[28rem]\"\n >\n <ng-container *ngFor=\"let item of sample.items; let itemIndex = index\">\n <picture *tuiItem>\n <source\n type=\"image/webp\"\n [srcset]=\"item.carouselItemImage.webp\"\n />\n <img\n [src]=\"item.carouselItemImage.defaultFormat\"\n [alt]=\"item.carouselItemImage.alt ?? '\u041E\u0431\u0440\u0430\u0437\u0435\u0446 \u0442\u043E\u0432\u0430\u0440\u0430 ' + sample.title + ' \u0432 \u0446\u0432\u0435\u0442\u0435 ' + item.color + itemIndex\"\n class=\"h-[19em] w-full object-cover object-right md:h-96 lg:h-[28rem]\"\n />\n </picture>\n </ng-container>\n </tui-carousel>\n <button\n *ngIf=\"isShownSwitches && isShowCarouselSwitches()\"\n tuiIconButton\n (click)=\"carousel.next()\"\n iconStart=\"@tui.chevron-right\"\n appearance=\"icon\"\n class=\"!absolute right-0 top-1/2 z-10 mr-2 -translate-y-1/2\"\n ></button>\n </div>\n</div>\n", styles: [":host{--tui-carousel-padding: 0}tui-avatar.active{--tw-ring-color: var(--tui-background-accent-1);--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0, 0, 0, 0))}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TuiItem, selector: "[tuiItem]" }, { kind: "component", type: i3.TuiCarouselComponent, selector: "tui-carousel", inputs: ["draggable", "itemsCount", "index"], outputs: ["indexChange", "shift"] }, { kind: "component", type: i3.TuiAvatar, selector: "tui-avatar,button[tuiAvatar],a[tuiAvatar]", inputs: ["size", "round", "src"] }, { kind: "directive", type: i4.TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "directive", type: i5.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPreviewSampleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: ScPreviewSampleComponent, selector: "sc-preview-sample", inputs: { index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null }, duration: { classPropertyName: "duration", publicName: "duration", isSignal: true, isRequired: false, transformFunction: null }, sample: { classPropertyName: "sample", publicName: "sample", isSignal: true, isRequired: true, transformFunction: null }, isShowCarouselSwitches: { classPropertyName: "isShowCarouselSwitches", publicName: "isShowCarouselSwitches", isSignal: true, isRequired: false, transformFunction: null }, isReverse: { classPropertyName: "isReverse", publicName: "isReverse", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { index: "indexChange" }, host: { attributes: { "ngSkipHydration": "true" } }, ngImport: i0, template: "<div\n *ngIf=\"sample() as sample\"\n class=\"mb-4 flex flex-col-reverse gap-4 md:mb-0 md:flex-row md:gap-8\"\n [class.md:!flex-row-reverse]=\"isReverse()\"\n>\n @let isShownSwitches = sample.items && sample.items.length > 1;\n\n <div class=\"flex max-w-96 flex-1 flex-col justify-center self-center md:max-w-none md:gap-4\">\n <div class=\"flex w-full flex-col gap-3 md:gap-4 md:px-8\">\n <div class=\"text-body-l-bold\">{{ sample.title }}</div>\n <div\n *ngIf=\"isShownSwitches\"\n class=\"flex gap-4\"\n >\n <tui-avatar\n [round]=\"false\"\n *ngFor=\"let item of sample.items; let itemIndex = index\"\n (tuiHoveredChange)=\"index.set(itemIndex)\"\n [class.active]=\"index() === itemIndex\"\n >\n <picture>\n <source\n type=\"image/webp\"\n [srcset]=\"item.buttonImageUrl.webp\"\n />\n <img\n [src]=\"item.buttonImageUrl.defaultFormat\"\n [alt]=\"item.buttonImageUrl.alt ?? '\u041A\u043D\u043E\u043F\u043A\u0430 \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0442\u0435\u043B\u044F \u0446\u0432\u0435\u0442\u0430 ' + item.color\"\n />\n </picture>\n </tui-avatar>\n </div>\n <div\n *ngIf=\"sample.items as items\"\n class=\"text-body-m-bold\"\n >\n {{ items[index()].color }}\n </div>\n <div>{{ sample.description }}</div>\n <img\n *ngIf=\"sample.descriptionImageUrl\"\n [src]=\"sample.descriptionImageUrl\"\n alt=\"{{ sample.title }}\"\n class=\"w-fit\"\n />\n <div\n *ngIf=\"sample.items && sample.items[index()].actions?.length\"\n class=\"flex flex-wrap gap-3 md:gap-4\"\n >\n <a\n *ngFor=\"let action of sample.items[index()].actions\"\n tuiButton\n [attr.href]=\"action.href\"\n (click)=\"action.handler ? $event.preventDefault() : {}; action.handler?.()\"\n [iconStart]=\"action.icon\"\n appearance=\"secondary\"\n >\n {{ action.label }}\n </a>\n </div>\n </div>\n </div>\n\n <div class=\"relative h-[19em] flex-1 overflow-hidden rounded-xl shadow-tui-shadow md:h-96 lg:h-[28rem]\">\n <button\n *ngIf=\"isShownSwitches && isShowCarouselSwitches()\"\n tuiIconButton\n (click)=\"carousel.prev()\"\n iconStart=\"@tui.chevron-left\"\n appearance=\"icon\"\n class=\"!absolute left-0 top-1/2 z-10 ml-2 -translate-y-1/2\"\n ></button>\n\n <tui-carousel\n #carousel\n [(index)]=\"index\"\n [duration]=\"duration()\"\n class=\"h-[19em] w-full md:h-96 lg:h-[28rem]\"\n >\n <ng-container *ngFor=\"let item of sample.items; let itemIndex = index\">\n <picture *tuiItem>\n <source\n type=\"image/webp\"\n [srcset]=\"item.carouselItemImage.webp\"\n />\n <img\n [src]=\"item.carouselItemImage.defaultFormat\"\n [alt]=\"item.carouselItemImage.alt ?? sample.title + ' \u0432 \u0446\u0432\u0435\u0442\u0435 ' + item.color + itemIndex\"\n class=\"h-[19em] w-full object-cover object-right md:h-96 lg:h-[28rem]\"\n />\n </picture>\n </ng-container>\n </tui-carousel>\n <button\n *ngIf=\"isShownSwitches && isShowCarouselSwitches()\"\n tuiIconButton\n (click)=\"carousel.next()\"\n iconStart=\"@tui.chevron-right\"\n appearance=\"icon\"\n class=\"!absolute right-0 top-1/2 z-10 mr-2 -translate-y-1/2\"\n ></button>\n </div>\n</div>\n", styles: [":host{--tui-carousel-padding: 0}tui-avatar.active{--tw-ring-color: var(--tui-background-accent-1);--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0, 0, 0, 0))}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TuiItem, selector: "[tuiItem]" }, { kind: "component", type: i3.TuiCarouselComponent, selector: "tui-carousel", inputs: ["draggable", "itemsCount", "index"], outputs: ["indexChange", "shift"] }, { kind: "component", type: i3.TuiAvatar, selector: "tui-avatar,button[tuiAvatar],a[tuiAvatar]", inputs: ["size", "round", "src"] }, { kind: "directive", type: i4.TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "directive", type: i5.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
37
37
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScPreviewSampleComponent, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPreviewSampleComponent, decorators: [{
39
39
  type: Component,
40
- args: [{ selector: 'sc-preview-sample', host: { ngSkipHydration: 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"sample() as sample\"\n class=\"mb-4 flex flex-col-reverse gap-4 md:mb-0 md:flex-row md:gap-8\"\n [class.md:!flex-row-reverse]=\"isReverse()\"\n>\n @let isShownSwitches = sample.items && sample.items.length > 1;\n\n <div class=\"flex max-w-96 flex-1 flex-col justify-center self-center md:max-w-none md:gap-4\">\n <div class=\"flex w-full flex-col gap-3 md:gap-4 md:px-8\">\n <div class=\"text-body-l-bold\">{{ sample.title }}</div>\n <div\n *ngIf=\"isShownSwitches\"\n class=\"flex gap-4\"\n >\n <tui-avatar\n [round]=\"false\"\n *ngFor=\"let item of sample.items; let itemIndex = index\"\n (tuiHoveredChange)=\"index.set(itemIndex)\"\n [class.active]=\"index() === itemIndex\"\n >\n <picture>\n <source\n type=\"image/webp\"\n [srcset]=\"item.buttonImageUrl.webp\"\n />\n <img\n [src]=\"item.buttonImageUrl.defaultFormat\"\n [alt]=\"item.buttonImageUrl.alt ?? '\u041A\u043D\u043E\u043F\u043A\u0430 \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0442\u0435\u043B\u044F \u0446\u0432\u0435\u0442\u0430 ' + item.color\"\n />\n </picture>\n </tui-avatar>\n </div>\n <div\n *ngIf=\"sample.items as items\"\n class=\"text-body-m-bold\"\n >\n {{ items[index()].color }}\n </div>\n <div>{{ sample.description }}</div>\n <img\n *ngIf=\"sample.descriptionImageUrl\"\n [src]=\"sample.descriptionImageUrl\"\n alt=\"\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0442\u043E\u0432\u0430\u0440\u0430 \u0432 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0438 \u043E\u0431\u0440\u0430\u0437\u0446\u0430 {{ sample.title }}\"\n class=\"w-fit\"\n />\n <div\n *ngIf=\"sample.items && sample.items[index()].actions?.length\"\n class=\"flex flex-wrap gap-3 md:gap-4\"\n >\n <a\n *ngFor=\"let action of sample.items[index()].actions\"\n tuiButton\n [attr.href]=\"action.href\"\n (click)=\"action.handler ? $event.preventDefault() : {}; action.handler?.()\"\n [iconStart]=\"action.icon\"\n appearance=\"secondary\"\n >\n {{ action.label }}\n </a>\n </div>\n </div>\n </div>\n\n <div class=\"relative h-[19em] flex-1 overflow-hidden rounded-xl shadow-tui-shadow md:h-96 lg:h-[28rem]\">\n <button\n *ngIf=\"isShownSwitches && isShowCarouselSwitches()\"\n tuiIconButton\n (click)=\"carousel.prev()\"\n iconStart=\"@tui.chevron-left\"\n appearance=\"icon\"\n class=\"!absolute left-0 top-1/2 z-10 ml-2 -translate-y-1/2\"\n ></button>\n\n <tui-carousel\n #carousel\n [(index)]=\"index\"\n [duration]=\"duration()\"\n class=\"h-[19em] w-full md:h-96 lg:h-[28rem]\"\n >\n <ng-container *ngFor=\"let item of sample.items; let itemIndex = index\">\n <picture *tuiItem>\n <source\n type=\"image/webp\"\n [srcset]=\"item.carouselItemImage.webp\"\n />\n <img\n [src]=\"item.carouselItemImage.defaultFormat\"\n [alt]=\"item.carouselItemImage.alt ?? '\u041E\u0431\u0440\u0430\u0437\u0435\u0446 \u0442\u043E\u0432\u0430\u0440\u0430 ' + sample.title + ' \u0432 \u0446\u0432\u0435\u0442\u0435 ' + item.color + itemIndex\"\n class=\"h-[19em] w-full object-cover object-right md:h-96 lg:h-[28rem]\"\n />\n </picture>\n </ng-container>\n </tui-carousel>\n <button\n *ngIf=\"isShownSwitches && isShowCarouselSwitches()\"\n tuiIconButton\n (click)=\"carousel.next()\"\n iconStart=\"@tui.chevron-right\"\n appearance=\"icon\"\n class=\"!absolute right-0 top-1/2 z-10 mr-2 -translate-y-1/2\"\n ></button>\n </div>\n</div>\n", styles: [":host{--tui-carousel-padding: 0}tui-avatar.active{--tw-ring-color: var(--tui-background-accent-1);--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0, 0, 0, 0))}\n"] }]
40
+ args: [{ selector: 'sc-preview-sample', host: { ngSkipHydration: 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"sample() as sample\"\n class=\"mb-4 flex flex-col-reverse gap-4 md:mb-0 md:flex-row md:gap-8\"\n [class.md:!flex-row-reverse]=\"isReverse()\"\n>\n @let isShownSwitches = sample.items && sample.items.length > 1;\n\n <div class=\"flex max-w-96 flex-1 flex-col justify-center self-center md:max-w-none md:gap-4\">\n <div class=\"flex w-full flex-col gap-3 md:gap-4 md:px-8\">\n <div class=\"text-body-l-bold\">{{ sample.title }}</div>\n <div\n *ngIf=\"isShownSwitches\"\n class=\"flex gap-4\"\n >\n <tui-avatar\n [round]=\"false\"\n *ngFor=\"let item of sample.items; let itemIndex = index\"\n (tuiHoveredChange)=\"index.set(itemIndex)\"\n [class.active]=\"index() === itemIndex\"\n >\n <picture>\n <source\n type=\"image/webp\"\n [srcset]=\"item.buttonImageUrl.webp\"\n />\n <img\n [src]=\"item.buttonImageUrl.defaultFormat\"\n [alt]=\"item.buttonImageUrl.alt ?? '\u041A\u043D\u043E\u043F\u043A\u0430 \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0442\u0435\u043B\u044F \u0446\u0432\u0435\u0442\u0430 ' + item.color\"\n />\n </picture>\n </tui-avatar>\n </div>\n <div\n *ngIf=\"sample.items as items\"\n class=\"text-body-m-bold\"\n >\n {{ items[index()].color }}\n </div>\n <div>{{ sample.description }}</div>\n <img\n *ngIf=\"sample.descriptionImageUrl\"\n [src]=\"sample.descriptionImageUrl\"\n alt=\"{{ sample.title }}\"\n class=\"w-fit\"\n />\n <div\n *ngIf=\"sample.items && sample.items[index()].actions?.length\"\n class=\"flex flex-wrap gap-3 md:gap-4\"\n >\n <a\n *ngFor=\"let action of sample.items[index()].actions\"\n tuiButton\n [attr.href]=\"action.href\"\n (click)=\"action.handler ? $event.preventDefault() : {}; action.handler?.()\"\n [iconStart]=\"action.icon\"\n appearance=\"secondary\"\n >\n {{ action.label }}\n </a>\n </div>\n </div>\n </div>\n\n <div class=\"relative h-[19em] flex-1 overflow-hidden rounded-xl shadow-tui-shadow md:h-96 lg:h-[28rem]\">\n <button\n *ngIf=\"isShownSwitches && isShowCarouselSwitches()\"\n tuiIconButton\n (click)=\"carousel.prev()\"\n iconStart=\"@tui.chevron-left\"\n appearance=\"icon\"\n class=\"!absolute left-0 top-1/2 z-10 ml-2 -translate-y-1/2\"\n ></button>\n\n <tui-carousel\n #carousel\n [(index)]=\"index\"\n [duration]=\"duration()\"\n class=\"h-[19em] w-full md:h-96 lg:h-[28rem]\"\n >\n <ng-container *ngFor=\"let item of sample.items; let itemIndex = index\">\n <picture *tuiItem>\n <source\n type=\"image/webp\"\n [srcset]=\"item.carouselItemImage.webp\"\n />\n <img\n [src]=\"item.carouselItemImage.defaultFormat\"\n [alt]=\"item.carouselItemImage.alt ?? sample.title + ' \u0432 \u0446\u0432\u0435\u0442\u0435 ' + item.color + itemIndex\"\n class=\"h-[19em] w-full object-cover object-right md:h-96 lg:h-[28rem]\"\n />\n </picture>\n </ng-container>\n </tui-carousel>\n <button\n *ngIf=\"isShownSwitches && isShowCarouselSwitches()\"\n tuiIconButton\n (click)=\"carousel.next()\"\n iconStart=\"@tui.chevron-right\"\n appearance=\"icon\"\n class=\"!absolute right-0 top-1/2 z-10 mr-2 -translate-y-1/2\"\n ></button>\n </div>\n</div>\n", styles: [":host{--tui-carousel-padding: 0}tui-avatar.active{--tw-ring-color: var(--tui-background-accent-1);--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0, 0, 0, 0))}\n"] }]
41
41
  }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJldmlldy1zYW1wbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3NhbXBsZXMvcHJldmlldy1zYW1wbGUvc2MtcHJldmlldy1zYW1wbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3NhbXBsZXMvcHJldmlldy1zYW1wbGUvc2MtcHJldmlldy1zYW1wbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFlLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBSTlDOztHQUVHO0FBUUgsTUFBTSxPQUFPLHdCQUF3QjtJQVByQztRQVFJOztXQUVHO1FBQ2EsVUFBSyxHQUF3QixLQUFLLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFFOUQ7O1dBRUc7UUFDSSxhQUFRLEdBQXdCLEtBQUssQ0FBUyxJQUFJLENBQUMsQ0FBQztRQUUzRDs7V0FFRztRQUNJLFdBQU0sR0FBa0MsS0FBSyxDQUFDLFFBQVEsRUFBb0IsQ0FBQztRQUVsRjs7V0FFRztRQUNJLDJCQUFzQixHQUF5QixLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUVwRjs7V0FFRztRQUNJLGNBQVMsR0FBeUIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3pEOytHQXpCWSx3QkFBd0I7bUdBQXhCLHdCQUF3QiwrekJDZnJDLCtqSkF1R0E7OzRGRHhGYSx3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0ksbUJBQW1CLFFBR3ZCLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxtQkFDaEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIElucHV0U2lnbmFsLCBtb2RlbCwgTW9kZWxTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRVSV9JU19NT0JJTEUgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcblxuaW1wb3J0IHsgU2NJUHJldmlld1NhbXBsZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvc2MtaS1wcmV2aWV3LXNhbXBsZSc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINC/0YDQtdC00YHRgtCw0LLQu9C10L3QuNGPINC+0LHRgNCw0LfRhtC+0LIg0YLQvtCy0LDRgNCwLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXByZXZpZXctc2FtcGxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2MtcHJldmlldy1zYW1wbGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NjLXByZXZpZXctc2FtcGxlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaG9zdDogeyBuZ1NraXBIeWRyYXRpb246ICd0cnVlJyB9LFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY1ByZXZpZXdTYW1wbGVDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqINCY0L3QtNC10LrRgSDRjdC70LXQvNC10L3RgtCwINCyINCz0LDQu9C10YDQtdC1LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBpbmRleDogTW9kZWxTaWduYWw8bnVtYmVyPiA9IG1vZGVsPG51bWJlcj4oMCk7XG5cbiAgICAvKipcbiAgICAgKiDQlNC70LjRgtC10LvRjNC90L7RgdGC0Ywg0L/QtdGA0LXQutC70Y7Rh9C10L3QuNGPINC60LDRgNGD0YHQtdC70LguXG4gICAgICovXG4gICAgcHVibGljIGR1cmF0aW9uOiBJbnB1dFNpZ25hbDxudW1iZXI+ID0gaW5wdXQ8bnVtYmVyPig1MDAwKTtcblxuICAgIC8qKlxuICAgICAqINCe0LHRitC10LrRgiDQtNCw0L3QvdGL0YUg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBzYW1wbGU6IElucHV0U2lnbmFsPFNjSVByZXZpZXdTYW1wbGU+ID0gaW5wdXQucmVxdWlyZWQ8U2NJUHJldmlld1NhbXBsZT4oKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0L7RgtC+0LHRgNCw0LbQsNGC0Ywg0L/QtdGA0LXQutC70Y7Rh9Cw0YLQtdC70Lgg0L3QsCDQutCw0YDRg9GB0LXQu9C4LlxuICAgICAqL1xuICAgIHB1YmxpYyBpc1Nob3dDYXJvdXNlbFN3aXRjaGVzOiBJbnB1dFNpZ25hbDxib29sZWFuPiA9IGlucHV0KCFpbmplY3QoVFVJX0lTX01PQklMRSkpO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQv9GA0Lgg0LPQvtGA0LjQt9C+0L3RgtCw0LvRjNC90L7QvCDQvtGC0L7QsdGA0LDQttC10L3QuNC4INC60L7QvNC/0L7QvdC10L3RgiDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0YDQsNC30LLRkdGA0L3Rg9GCLlxuICAgICAqL1xuICAgIHB1YmxpYyBpc1JldmVyc2U6IElucHV0U2lnbmFsPGJvb2xlYW4+ID0gaW5wdXQoZmFsc2UpO1xufVxuIiwiPGRpdlxuICAgICpuZ0lmPVwic2FtcGxlKCkgYXMgc2FtcGxlXCJcbiAgICBjbGFzcz1cIm1iLTQgZmxleCBmbGV4LWNvbC1yZXZlcnNlIGdhcC00IG1kOm1iLTAgbWQ6ZmxleC1yb3cgbWQ6Z2FwLThcIlxuICAgIFtjbGFzcy5tZDohZmxleC1yb3ctcmV2ZXJzZV09XCJpc1JldmVyc2UoKVwiXG4+XG4gICAgQGxldCBpc1Nob3duU3dpdGNoZXMgPSBzYW1wbGUuaXRlbXMgJiYgc2FtcGxlLml0ZW1zLmxlbmd0aCA+IDE7XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBtYXgtdy05NiBmbGV4LTEgZmxleC1jb2wganVzdGlmeS1jZW50ZXIgc2VsZi1jZW50ZXIgbWQ6bWF4LXctbm9uZSBtZDpnYXAtNFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCB3LWZ1bGwgZmxleC1jb2wgZ2FwLTMgbWQ6Z2FwLTQgbWQ6cHgtOFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYm9keS1sLWJvbGRcIj57eyBzYW1wbGUudGl0bGUgfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cImlzU2hvd25Td2l0Y2hlc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGdhcC00XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHVpLWF2YXRhclxuICAgICAgICAgICAgICAgICAgICBbcm91bmRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzYW1wbGUuaXRlbXM7IGxldCBpdGVtSW5kZXggPSBpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICh0dWlIb3ZlcmVkQ2hhbmdlKT1cImluZGV4LnNldChpdGVtSW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpbmRleCgpID09PSBpdGVtSW5kZXhcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHBpY3R1cmU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImltYWdlL3dlYnBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNzZXRdPVwiaXRlbS5idXR0b25JbWFnZVVybC53ZWJwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLmJ1dHRvbkltYWdlVXJsLmRlZmF1bHRGb3JtYXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS5idXR0b25JbWFnZVVybC5hbHQgPz8gJ9Ca0L3QvtC/0LrQsCDQv9C10YDQtdC60LvRjtGH0LDRgtC10LvRjyDRhtCy0LXRgtCwICcgKyBpdGVtLmNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvcGljdHVyZT5cbiAgICAgICAgICAgICAgICA8L3R1aS1hdmF0YXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNhbXBsZS5pdGVtcyBhcyBpdGVtc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWJvZHktbS1ib2xkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBpdGVtc1tpbmRleCgpXS5jb2xvciB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2Pnt7IHNhbXBsZS5kZXNjcmlwdGlvbiB9fTwvZGl2PlxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICpuZ0lmPVwic2FtcGxlLmRlc2NyaXB0aW9uSW1hZ2VVcmxcIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwic2FtcGxlLmRlc2NyaXB0aW9uSW1hZ2VVcmxcIlxuICAgICAgICAgICAgICAgIGFsdD1cItCY0LfQvtCx0YDQsNC20LXQvdC40LUg0YLQvtCy0LDRgNCwINCyINC+0L/QuNGB0LDQvdC40Lgg0L7QsdGA0LDQt9GG0LAge3sgc2FtcGxlLnRpdGxlIH19XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctZml0XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzYW1wbGUuaXRlbXMgJiYgc2FtcGxlLml0ZW1zW2luZGV4KCldLmFjdGlvbnM/Lmxlbmd0aFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBnYXAtMyBtZDpnYXAtNFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBzYW1wbGUuaXRlbXNbaW5kZXgoKV0uYWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5ocmVmXT1cImFjdGlvbi5ocmVmXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGlvbi5oYW5kbGVyID8gJGV2ZW50LnByZXZlbnREZWZhdWx0KCkgOiB7fTsgYWN0aW9uLmhhbmRsZXI/LigpXCJcbiAgICAgICAgICAgICAgICAgICAgW2ljb25TdGFydF09XCJhY3Rpb24uaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgYWN0aW9uLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInJlbGF0aXZlIGgtWzE5ZW1dIGZsZXgtMSBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC14bCBzaGFkb3ctdHVpLXNoYWRvdyBtZDpoLTk2IGxnOmgtWzI4cmVtXVwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdJZj1cImlzU2hvd25Td2l0Y2hlcyAmJiBpc1Nob3dDYXJvdXNlbFN3aXRjaGVzKClcIlxuICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT1cImNhcm91c2VsLnByZXYoKVwiXG4gICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLmNoZXZyb24tbGVmdFwiXG4gICAgICAgICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgICAgICBjbGFzcz1cIiFhYnNvbHV0ZSBsZWZ0LTAgdG9wLTEvMiB6LTEwIG1sLTIgLXRyYW5zbGF0ZS15LTEvMlwiXG4gICAgICAgID48L2J1dHRvbj5cblxuICAgICAgICA8dHVpLWNhcm91c2VsXG4gICAgICAgICAgICAjY2Fyb3VzZWxcbiAgICAgICAgICAgIFsoaW5kZXgpXT1cImluZGV4XCJcbiAgICAgICAgICAgIFtkdXJhdGlvbl09XCJkdXJhdGlvbigpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaC1bMTllbV0gdy1mdWxsIG1kOmgtOTYgbGc6aC1bMjhyZW1dXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzYW1wbGUuaXRlbXM7IGxldCBpdGVtSW5kZXggPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgIDxwaWN0dXJlICp0dWlJdGVtPlxuICAgICAgICAgICAgICAgICAgICA8c291cmNlXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiaW1hZ2Uvd2VicFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3Jjc2V0XT1cIml0ZW0uY2Fyb3VzZWxJdGVtSW1hZ2Uud2VicFwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaXRlbS5jYXJvdXNlbEl0ZW1JbWFnZS5kZWZhdWx0Rm9ybWF0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS5jYXJvdXNlbEl0ZW1JbWFnZS5hbHQgPz8gJ9Ce0LHRgNCw0LfQtdGGINGC0L7QstCw0YDQsCAnICsgc2FtcGxlLnRpdGxlICsgJyDQsiDRhtCy0LXRgtC1ICcgKyBpdGVtLmNvbG9yICsgaXRlbUluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaC1bMTllbV0gdy1mdWxsIG9iamVjdC1jb3ZlciBvYmplY3QtcmlnaHQgbWQ6aC05NiBsZzpoLVsyOHJlbV1cIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvcGljdHVyZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3R1aS1jYXJvdXNlbD5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJpc1Nob3duU3dpdGNoZXMgJiYgaXNTaG93Q2Fyb3VzZWxTd2l0Y2hlcygpXCJcbiAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJjYXJvdXNlbC5uZXh0KClcIlxuICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5jaGV2cm9uLXJpZ2h0XCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiIWFic29sdXRlIHJpZ2h0LTAgdG9wLTEvMiB6LTEwIG1yLTIgLXRyYW5zbGF0ZS15LTEvMlwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJldmlldy1zYW1wbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3NhbXBsZXMvcHJldmlldy1zYW1wbGUvc2MtcHJldmlldy1zYW1wbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3NhbXBsZXMvcHJldmlldy1zYW1wbGUvc2MtcHJldmlldy1zYW1wbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFlLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBSTlDOztHQUVHO0FBUUgsTUFBTSxPQUFPLHdCQUF3QjtJQVByQztRQVFJOztXQUVHO1FBQ2EsVUFBSyxHQUF3QixLQUFLLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFFOUQ7O1dBRUc7UUFDSSxhQUFRLEdBQXdCLEtBQUssQ0FBUyxJQUFJLENBQUMsQ0FBQztRQUUzRDs7V0FFRztRQUNJLFdBQU0sR0FBa0MsS0FBSyxDQUFDLFFBQVEsRUFBb0IsQ0FBQztRQUVsRjs7V0FFRztRQUNJLDJCQUFzQixHQUF5QixLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUVwRjs7V0FFRztRQUNJLGNBQVMsR0FBeUIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3pEOytHQXpCWSx3QkFBd0I7bUdBQXhCLHdCQUF3QiwrekJDZnJDLCt4SUF1R0E7OzRGRHhGYSx3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0ksbUJBQW1CLFFBR3ZCLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxtQkFDaEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIElucHV0U2lnbmFsLCBtb2RlbCwgTW9kZWxTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRVSV9JU19NT0JJTEUgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcblxuaW1wb3J0IHsgU2NJUHJldmlld1NhbXBsZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvc2MtaS1wcmV2aWV3LXNhbXBsZSc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINC/0YDQtdC00YHRgtCw0LLQu9C10L3QuNGPINC+0LHRgNCw0LfRhtC+0LIg0YLQvtCy0LDRgNCwLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXByZXZpZXctc2FtcGxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2MtcHJldmlldy1zYW1wbGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NjLXByZXZpZXctc2FtcGxlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaG9zdDogeyBuZ1NraXBIeWRyYXRpb246ICd0cnVlJyB9LFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY1ByZXZpZXdTYW1wbGVDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqINCY0L3QtNC10LrRgSDRjdC70LXQvNC10L3RgtCwINCyINCz0LDQu9C10YDQtdC1LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBpbmRleDogTW9kZWxTaWduYWw8bnVtYmVyPiA9IG1vZGVsPG51bWJlcj4oMCk7XG5cbiAgICAvKipcbiAgICAgKiDQlNC70LjRgtC10LvRjNC90L7RgdGC0Ywg0L/QtdGA0LXQutC70Y7Rh9C10L3QuNGPINC60LDRgNGD0YHQtdC70LguXG4gICAgICovXG4gICAgcHVibGljIGR1cmF0aW9uOiBJbnB1dFNpZ25hbDxudW1iZXI+ID0gaW5wdXQ8bnVtYmVyPig1MDAwKTtcblxuICAgIC8qKlxuICAgICAqINCe0LHRitC10LrRgiDQtNCw0L3QvdGL0YUg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBzYW1wbGU6IElucHV0U2lnbmFsPFNjSVByZXZpZXdTYW1wbGU+ID0gaW5wdXQucmVxdWlyZWQ8U2NJUHJldmlld1NhbXBsZT4oKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0L7RgtC+0LHRgNCw0LbQsNGC0Ywg0L/QtdGA0LXQutC70Y7Rh9Cw0YLQtdC70Lgg0L3QsCDQutCw0YDRg9GB0LXQu9C4LlxuICAgICAqL1xuICAgIHB1YmxpYyBpc1Nob3dDYXJvdXNlbFN3aXRjaGVzOiBJbnB1dFNpZ25hbDxib29sZWFuPiA9IGlucHV0KCFpbmplY3QoVFVJX0lTX01PQklMRSkpO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQv9GA0Lgg0LPQvtGA0LjQt9C+0L3RgtCw0LvRjNC90L7QvCDQvtGC0L7QsdGA0LDQttC10L3QuNC4INC60L7QvNC/0L7QvdC10L3RgiDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0YDQsNC30LLRkdGA0L3Rg9GCLlxuICAgICAqL1xuICAgIHB1YmxpYyBpc1JldmVyc2U6IElucHV0U2lnbmFsPGJvb2xlYW4+ID0gaW5wdXQoZmFsc2UpO1xufVxuIiwiPGRpdlxuICAgICpuZ0lmPVwic2FtcGxlKCkgYXMgc2FtcGxlXCJcbiAgICBjbGFzcz1cIm1iLTQgZmxleCBmbGV4LWNvbC1yZXZlcnNlIGdhcC00IG1kOm1iLTAgbWQ6ZmxleC1yb3cgbWQ6Z2FwLThcIlxuICAgIFtjbGFzcy5tZDohZmxleC1yb3ctcmV2ZXJzZV09XCJpc1JldmVyc2UoKVwiXG4+XG4gICAgQGxldCBpc1Nob3duU3dpdGNoZXMgPSBzYW1wbGUuaXRlbXMgJiYgc2FtcGxlLml0ZW1zLmxlbmd0aCA+IDE7XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBtYXgtdy05NiBmbGV4LTEgZmxleC1jb2wganVzdGlmeS1jZW50ZXIgc2VsZi1jZW50ZXIgbWQ6bWF4LXctbm9uZSBtZDpnYXAtNFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCB3LWZ1bGwgZmxleC1jb2wgZ2FwLTMgbWQ6Z2FwLTQgbWQ6cHgtOFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYm9keS1sLWJvbGRcIj57eyBzYW1wbGUudGl0bGUgfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cImlzU2hvd25Td2l0Y2hlc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGdhcC00XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHVpLWF2YXRhclxuICAgICAgICAgICAgICAgICAgICBbcm91bmRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzYW1wbGUuaXRlbXM7IGxldCBpdGVtSW5kZXggPSBpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICh0dWlIb3ZlcmVkQ2hhbmdlKT1cImluZGV4LnNldChpdGVtSW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpbmRleCgpID09PSBpdGVtSW5kZXhcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHBpY3R1cmU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImltYWdlL3dlYnBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNzZXRdPVwiaXRlbS5idXR0b25JbWFnZVVybC53ZWJwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLmJ1dHRvbkltYWdlVXJsLmRlZmF1bHRGb3JtYXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS5idXR0b25JbWFnZVVybC5hbHQgPz8gJ9Ca0L3QvtC/0LrQsCDQv9C10YDQtdC60LvRjtGH0LDRgtC10LvRjyDRhtCy0LXRgtCwICcgKyBpdGVtLmNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvcGljdHVyZT5cbiAgICAgICAgICAgICAgICA8L3R1aS1hdmF0YXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNhbXBsZS5pdGVtcyBhcyBpdGVtc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWJvZHktbS1ib2xkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBpdGVtc1tpbmRleCgpXS5jb2xvciB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2Pnt7IHNhbXBsZS5kZXNjcmlwdGlvbiB9fTwvZGl2PlxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICpuZ0lmPVwic2FtcGxlLmRlc2NyaXB0aW9uSW1hZ2VVcmxcIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwic2FtcGxlLmRlc2NyaXB0aW9uSW1hZ2VVcmxcIlxuICAgICAgICAgICAgICAgIGFsdD1cInt7IHNhbXBsZS50aXRsZSB9fVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZpdFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwic2FtcGxlLml0ZW1zICYmIHNhbXBsZS5pdGVtc1tpbmRleCgpXS5hY3Rpb25zPy5sZW5ndGhcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgZ2FwLTMgbWQ6Z2FwLTRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBhY3Rpb24gb2Ygc2FtcGxlLml0ZW1zW2luZGV4KCldLmFjdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuaHJlZl09XCJhY3Rpb24uaHJlZlwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhY3Rpb24uaGFuZGxlciA/ICRldmVudC5wcmV2ZW50RGVmYXVsdCgpIDoge307IGFjdGlvbi5oYW5kbGVyPy4oKVwiXG4gICAgICAgICAgICAgICAgICAgIFtpY29uU3RhcnRdPVwiYWN0aW9uLmljb25cIlxuICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGFjdGlvbi5sYWJlbCB9fVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZSBoLVsxOWVtXSBmbGV4LTEgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQteGwgc2hhZG93LXR1aS1zaGFkb3cgbWQ6aC05NiBsZzpoLVsyOHJlbV1cIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJpc1Nob3duU3dpdGNoZXMgJiYgaXNTaG93Q2Fyb3VzZWxTd2l0Y2hlcygpXCJcbiAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJjYXJvdXNlbC5wcmV2KClcIlxuICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5jaGV2cm9uLWxlZnRcIlxuICAgICAgICAgICAgYXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgICAgICAgY2xhc3M9XCIhYWJzb2x1dGUgbGVmdC0wIHRvcC0xLzIgei0xMCBtbC0yIC10cmFuc2xhdGUteS0xLzJcIlxuICAgICAgICA+PC9idXR0b24+XG5cbiAgICAgICAgPHR1aS1jYXJvdXNlbFxuICAgICAgICAgICAgI2Nhcm91c2VsXG4gICAgICAgICAgICBbKGluZGV4KV09XCJpbmRleFwiXG4gICAgICAgICAgICBbZHVyYXRpb25dPVwiZHVyYXRpb24oKVwiXG4gICAgICAgICAgICBjbGFzcz1cImgtWzE5ZW1dIHctZnVsbCBtZDpoLTk2IGxnOmgtWzI4cmVtXVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc2FtcGxlLml0ZW1zOyBsZXQgaXRlbUluZGV4ID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICA8cGljdHVyZSAqdHVpSXRlbT5cbiAgICAgICAgICAgICAgICAgICAgPHNvdXJjZVxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImltYWdlL3dlYnBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NyY3NldF09XCJpdGVtLmNhcm91c2VsSXRlbUltYWdlLndlYnBcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIml0ZW0uY2Fyb3VzZWxJdGVtSW1hZ2UuZGVmYXVsdEZvcm1hdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cIml0ZW0uY2Fyb3VzZWxJdGVtSW1hZ2UuYWx0ID8/IHNhbXBsZS50aXRsZSArICcg0LIg0YbQstC10YLQtSAnICsgaXRlbS5jb2xvciArIGl0ZW1JbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImgtWzE5ZW1dIHctZnVsbCBvYmplY3QtY292ZXIgb2JqZWN0LXJpZ2h0IG1kOmgtOTYgbGc6aC1bMjhyZW1dXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L3BpY3R1cmU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC90dWktY2Fyb3VzZWw+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiaXNTaG93blN3aXRjaGVzICYmIGlzU2hvd0Nhcm91c2VsU3dpdGNoZXMoKVwiXG4gICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPVwiY2Fyb3VzZWwubmV4dCgpXCJcbiAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkuY2hldnJvbi1yaWdodFwiXG4gICAgICAgICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgICAgICBjbGFzcz1cIiFhYnNvbHV0ZSByaWdodC0wIHRvcC0xLzIgei0xMCBtci0yIC10cmFuc2xhdGUteS0xLzJcIlxuICAgICAgICA+PC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -53,10 +53,10 @@ export class ScPreviewSamplesMosquitoComponent {
53
53
  */
54
54
  this.isShowCarouselSwitches = input(!inject(TUI_IS_MOBILE));
55
55
  }
56
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScPreviewSamplesMosquitoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
57
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ScPreviewSamplesMosquitoComponent, isStandalone: true, selector: "sc-preview-samples-mosquito", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, configuratorPageUrl: { classPropertyName: "configuratorPageUrl", publicName: "configuratorPageUrl", isSignal: true, isRequired: false, transformFunction: null }, autoSlideIntervale: { classPropertyName: "autoSlideIntervale", publicName: "autoSlideIntervale", isSignal: true, isRequired: false, transformFunction: null }, isShowCarouselSwitches: { classPropertyName: "isShowCarouselSwitches", publicName: "isShowCarouselSwitches", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { openConfiguratorClick: "openConfiguratorClick", openConsultationClick: "openConsultationClick" }, ngImport: i0, template: "@let descriptions = config().descriptions;\n@let colors = config().color;\n@let netTypes = config().netType;\n\n<!-- \u041E\u0441\u043D\u043E\u0432\u043D\u043E\u0439 \u043A\u043E\u043D\u0442\u0435\u0439\u043D\u0435\u0440 \u0441 \u0441\u0435\u0442\u043A\u043E\u0439. -->\n<div class=\"grid grid-cols-1 gap-4 lg:grid-cols-2\">\n <!-- \u041B\u0435\u0432\u0430\u044F \u043A\u043E\u043B\u043E\u043D\u043A\u0430 \u0441 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0435\u0439. -->\n <div class=\"flex flex-col gap-4\">\n <!-- \u041A\u043D\u043E\u043F\u043A\u0438 \u0432\u044B\u0431\u043E\u0440\u0430 \u0442\u0438\u043F\u0430 \u0441\u0435\u0442\u043A\u0438. -->\n <div class=\"flex flex-wrap gap-4\">\n <button\n *ngFor=\"let item of netTypes; let itemIndex = index\"\n tuiCardLarge\n tuiHeader\n tuiSurface=\"floating\"\n type=\"button\"\n (click)=\"netTypeIndex.set(itemIndex)\"\n [class.active]=\"netTypeIndex() === itemIndex\"\n class=\"h-12 !items-center gap-2 !rounded-xl !px-4 !py-0\"\n >\n <img\n [src]=\"config().icons[item]\"\n [alt]=\"'\u041A\u043D\u043E\u043F\u043A\u0430 \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0442\u0435\u043B\u044F \u0442\u0438\u043F\u0430 \u0441\u0435\u0442\u043A\u0438 ' + descriptions['netType'][item]\"\n class=\"size-8\"\n />\n <div>{{ descriptions['netType'][item] }}</div>\n </button>\n </div>\n\n <!-- \u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0438\u043F\u0430 \u0441\u0435\u0442\u043A\u0438. -->\n <div class=\"text-body-l-bold\">\u0421\u0435\u0442\u043A\u0430 {{ descriptions['netType'][netTypeIndexSelected()] }}</div>\n {{ config().subtitles[netTypeIndexSelected()] }}\n\n <!-- \u0418\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0435 \u0431\u0435\u0439\u0434\u0436\u0438. -->\n <div class=\"flex flex-wrap items-center gap-1 text-body-m\">\n <tui-badge\n appearance=\"custom\"\n class=\"rounded-full border-2 border-solid border-tui-text-primary bg-white !p-[0.4rem] font-bold text-tui-text-primary\"\n >\n {{ colors.length }}\n </tui-badge>\n - \u043A\u043E\u043B\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0446\u0432\u0435\u0442\u043E\u0432 \u043F\u0440\u043E\u0444\u0438\u043B\u044F\n </div>\n <div class=\"flex flex-wrap items-center gap-1 text-body-m\">\n <tui-badge\n appearance=\"custom\"\n class=\"rounded-full border-2 border-solid border-tui-text-primary bg-white !p-[0.4rem] font-bold text-tui-text-primary\"\n >\n {{ netTypes.length }}\n </tui-badge>\n - \u043A\u043E\u043B\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0442\u0438\u043F\u043E\u0432 \u0441\u0435\u0442\u043E\u043A\n </div>\n\n <!-- \u0420\u0430\u0437\u043C\u0435\u0440\u044B \u0441\u0435\u0442\u043E\u043A. -->\n <div class=\"text-body-m\">\n <tui-icon icon=\"@tui.sc.grid-height-arrow\" />\n \u0412\u044B\u0441\u043E\u0442\u0430 \u0441\u0435\u0442\u043E\u043A \u043E\u0442 {{ config().minHeight }} \u0434\u043E {{ config().maxHeights[netTypeIndexSelected()] }} \u043C\u043C\n </div>\n <div class=\"text-body-m\">\n <tui-icon icon=\"@tui.sc.grid-width-arrow\" />\n \u0428\u0438\u0440\u0438\u043D\u0430 \u0441\u0435\u0442\u043E\u043A \u043E\u0442 {{ config().minWidth }} \u0434\u043E {{ config().maxWidths[netTypeIndexSelected()] }} \u043C\u043C\n </div>\n\n <!-- \u0422\u0435\u0433\u0438 \u0445\u0430\u0440\u0430\u043A\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043A. -->\n <div class=\"flex flex-wrap gap-2\">\n <button\n *ngFor=\"let tag of config().tags[netTypeIndexSelected()]\"\n tuiChip\n appearance=\"neutral\"\n >\n {{ tag }}\n </button>\n </div>\n\n <!-- \u0412\u044B\u0431\u043E\u0440 \u0446\u0432\u0435\u0442\u0430 \u043F\u0440\u043E\u0444\u0438\u043B\u044F. -->\n <div class=\"flex gap-4\">\n <picture\n *ngFor=\"let image of config().color; let itemIndex = index\"\n class=\"size-11 rounded-xl\"\n (tuiHoveredChange)=\"colorIndex.set(itemIndex)\"\n >\n @let color = config().color[colorIndex()];\n <source\n type=\"image/webp\"\n [srcset]=\"config().colorsIcons[image].webp\"\n />\n <img\n [class.active]=\"colorIndex() === itemIndex\"\n [src]=\"config().colorsIcons[image].defaultFormat\"\n [alt]=\"config().colorsIcons[image].alt ?? '\u041A\u043D\u043E\u043F\u043A\u0430 \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0442\u0435\u043B\u044F \u0446\u0432\u0435\u0442\u0430 ' + descriptions['color'][color]\"\n class=\"size-11 rounded-xl\"\n />\n </picture>\n </div>\n\n <!-- \u041A\u043D\u043E\u043F\u043A\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439. -->\n <div class=\"flex gap-2\">\n <a\n tuiButton\n [attr.href]=\"configuratorPageUrl()\"\n (click)=\"$event.preventDefault(); openConfiguratorClick.emit()\"\n iconStart=\"@tui.sliders-horizontal\"\n >\n \u0421\u0434\u0435\u043B\u0430\u0442\u044C \u0440\u0430\u0441\u0447\u0435\u0442\n </a>\n\n <button\n tuiButton\n (click)=\"openConsultationClick.emit()\"\n iconStart=\"@tui.messages-square\"\n >\n \u041A\u043E\u043D\u0441\u0443\u043B\u044C\u0442\u0430\u0446\u0438\u044F\n </button>\n </div>\n </div>\n\n <!-- \u041F\u0440\u0430\u0432\u0430\u044F \u043A\u043E\u043B\u043E\u043D\u043A\u0430 \u0441 \u043A\u0430\u0440\u0443\u0441\u0435\u043B\u044C\u044E \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439. -->\n <div class=\"relative -order-1 h-[19em] flex-1 overflow-hidden rounded-xl shadow-tui-shadow md:h-96 lg:order-2 lg:h-[28rem]\">\n <button\n tuiIconButton\n iconStart=\"@tui.chevron-left\"\n (click)=\"carousel.prev()\"\n appearance=\"icon\"\n class=\"!absolute left-0 top-1/2 z-10 ml-2 -translate-y-1/2\"\n ></button>\n\n @let imagePreviews = config().imagePreviewsByColor[colorIndexSelected()];\n\n <tui-carousel\n #carousel\n [duration]=\"autoSlideIntervale()\"\n class=\"h-[19em] w-full md:h-96 lg:h-[28rem]\"\n >\n @for (item of imagePreviews; track $index) {\n <picture *tuiItem>\n <source\n type=\"image/webp\"\n [srcset]=\"item.webp\"\n />\n <img\n [alt]=\"item.alt ?? '\u041C\u043E\u0441\u043A\u0438\u0442\u043D\u0430\u044F \u0441\u0435\u0442\u043A\u0430 \u0432 \u0446\u0432\u0435\u0442\u0435 ' + descriptions['color'][colorIndexSelected()] + $index\"\n [src]=\"item.defaultFormat\"\n class=\"h-[19em] w-full object-cover object-center md:h-96 lg:h-[28rem]\"\n />\n </picture>\n }\n </tui-carousel>\n <button\n tuiIconButton\n iconStart=\"@tui.chevron-right\"\n (click)=\"carousel.next()\"\n appearance=\"icon\"\n class=\"!absolute right-0 top-1/2 z-10 mr-2 -translate-y-1/2\"\n ></button>\n </div>\n</div>\n", styles: [":host{--tui-carousel-padding: 0}img.active{--tw-ring-color: var(--tui-background-accent-1);--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0, 0, 0, 0))}button[tuicardlarge]{border:solid 2px white}button[tuicardlarge].active{border-color:var(--tui-background-accent-1)}\n"], dependencies: [{ kind: "directive", type: i1.TuiItem, selector: "[tuiItem]" }, { kind: "component", type: i2.TuiCarouselComponent, selector: "tui-carousel", inputs: ["draggable", "itemsCount", "index"], outputs: ["indexChange", "shift"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: TuiChip, selector: "tui-chip,[tuiChip]", inputs: ["size"] }, { kind: "directive", type: TuiBadge, selector: "tui-badge,[tuiBadge]", inputs: ["size"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "directive", type: TuiCardLarge, selector: "[tuiCardLarge]", inputs: ["tuiCardLarge"] }, { kind: "directive", type: TuiHeader, selector: "[tuiHeader]", inputs: ["tuiHeader"] }, { kind: "directive", type: TuiSurface, selector: "[tuiSurface]", inputs: ["tuiSurface"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPreviewSamplesMosquitoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
57
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ScPreviewSamplesMosquitoComponent, isStandalone: true, selector: "sc-preview-samples-mosquito", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, configuratorPageUrl: { classPropertyName: "configuratorPageUrl", publicName: "configuratorPageUrl", isSignal: true, isRequired: false, transformFunction: null }, autoSlideIntervale: { classPropertyName: "autoSlideIntervale", publicName: "autoSlideIntervale", isSignal: true, isRequired: false, transformFunction: null }, isShowCarouselSwitches: { classPropertyName: "isShowCarouselSwitches", publicName: "isShowCarouselSwitches", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { openConfiguratorClick: "openConfiguratorClick", openConsultationClick: "openConsultationClick" }, ngImport: i0, template: "@let descriptions = config().descriptions;\n@let colors = config().color;\n@let netTypes = config().netType;\n\n<!-- \u041E\u0441\u043D\u043E\u0432\u043D\u043E\u0439 \u043A\u043E\u043D\u0442\u0435\u0439\u043D\u0435\u0440 \u0441 \u0441\u0435\u0442\u043A\u043E\u0439. -->\n<div class=\"grid grid-cols-1 gap-4 lg:grid-cols-2\">\n <!-- \u041B\u0435\u0432\u0430\u044F \u043A\u043E\u043B\u043E\u043D\u043A\u0430 \u0441 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0435\u0439. -->\n <div class=\"flex flex-col gap-4\">\n <!-- \u041A\u043D\u043E\u043F\u043A\u0438 \u0432\u044B\u0431\u043E\u0440\u0430 \u0442\u0438\u043F\u0430 \u0441\u0435\u0442\u043A\u0438. -->\n <div class=\"flex flex-wrap gap-4\">\n <button\n *ngFor=\"let item of netTypes; let itemIndex = index\"\n tuiCardLarge\n tuiHeader\n tuiSurface=\"floating\"\n type=\"button\"\n (click)=\"netTypeIndex.set(itemIndex)\"\n [class.active]=\"netTypeIndex() === itemIndex\"\n class=\"h-12 !items-center gap-2 !rounded-xl !px-4 !py-0\"\n >\n <img\n [src]=\"config().icons[item]\"\n [alt]=\"'\u041A\u043D\u043E\u043F\u043A\u0430 \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0442\u0435\u043B\u044F \u0442\u0438\u043F\u0430 \u0441\u0435\u0442\u043A\u0438 ' + descriptions['netType'][item]\"\n class=\"size-8\"\n />\n <div>{{ descriptions['netType'][item] }}</div>\n </button>\n </div>\n\n <!-- \u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0438\u043F\u0430 \u0441\u0435\u0442\u043A\u0438. -->\n <div class=\"text-body-l-bold\">\u0421\u0435\u0442\u043A\u0430 {{ descriptions['netType'][netTypeIndexSelected()] }}</div>\n {{ config().subtitles[netTypeIndexSelected()] }}\n\n <!-- \u0418\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0435 \u0431\u0435\u0439\u0434\u0436\u0438. -->\n <div class=\"flex flex-wrap items-center gap-1 text-body-m\">\n <tui-badge\n appearance=\"custom\"\n class=\"rounded-full border-2 border-solid border-tui-text-primary bg-white !p-[0.4rem] font-bold text-tui-text-primary\"\n >\n {{ colors.length }}\n </tui-badge>\n - \u043A\u043E\u043B\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0446\u0432\u0435\u0442\u043E\u0432 \u043F\u0440\u043E\u0444\u0438\u043B\u044F\n </div>\n <div class=\"flex flex-wrap items-center gap-1 text-body-m\">\n <tui-badge\n appearance=\"custom\"\n class=\"rounded-full border-2 border-solid border-tui-text-primary bg-white !p-[0.4rem] font-bold text-tui-text-primary\"\n >\n {{ netTypes.length }}\n </tui-badge>\n - \u043A\u043E\u043B\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0442\u0438\u043F\u043E\u0432 \u0441\u0435\u0442\u043E\u043A\n </div>\n\n <!-- \u0420\u0430\u0437\u043C\u0435\u0440\u044B \u0441\u0435\u0442\u043E\u043A. -->\n <div class=\"text-body-m\">\n <tui-icon icon=\"@tui.sc.grid-height-arrow\" />\n \u0412\u044B\u0441\u043E\u0442\u0430 \u0441\u0435\u0442\u043E\u043A \u043E\u0442 {{ config().minHeight }} \u0434\u043E {{ config().maxHeights[netTypeIndexSelected()] }} \u043C\u043C\n </div>\n <div class=\"text-body-m\">\n <tui-icon icon=\"@tui.sc.grid-width-arrow\" />\n \u0428\u0438\u0440\u0438\u043D\u0430 \u0441\u0435\u0442\u043E\u043A \u043E\u0442 {{ config().minWidth }} \u0434\u043E {{ config().maxWidths[netTypeIndexSelected()] }} \u043C\u043C\n </div>\n\n <!-- \u0422\u0435\u0433\u0438 \u0445\u0430\u0440\u0430\u043A\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043A. -->\n <div class=\"flex flex-wrap gap-2\">\n <button\n *ngFor=\"let tag of config().tags[netTypeIndexSelected()]\"\n tuiChip\n appearance=\"neutral\"\n >\n {{ tag }}\n </button>\n </div>\n\n <!-- \u0412\u044B\u0431\u043E\u0440 \u0446\u0432\u0435\u0442\u0430 \u043F\u0440\u043E\u0444\u0438\u043B\u044F. -->\n <div class=\"flex gap-4\">\n <picture\n *ngFor=\"let image of config().color; let itemIndex = index\"\n class=\"size-11 rounded-xl\"\n (tuiHoveredChange)=\"colorIndex.set(itemIndex)\"\n >\n @let color = config().color[colorIndex()];\n <source\n type=\"image/webp\"\n [srcset]=\"config().colorsIcons[image].webp\"\n />\n <img\n [class.active]=\"colorIndex() === itemIndex\"\n [src]=\"config().colorsIcons[image].defaultFormat\"\n [alt]=\"config().colorsIcons[image].alt ?? '\u041A\u043D\u043E\u043F\u043A\u0430 \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0442\u0435\u043B\u044F \u0446\u0432\u0435\u0442\u0430 ' + descriptions['color'][color]\"\n class=\"size-11 rounded-xl\"\n />\n </picture>\n </div>\n\n <!-- \u041A\u043D\u043E\u043F\u043A\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439. -->\n <div class=\"flex gap-2\">\n <a\n tuiButton\n [attr.href]=\"configuratorPageUrl()\"\n (click)=\"$event.preventDefault(); openConfiguratorClick.emit()\"\n iconStart=\"@tui.sliders-horizontal\"\n >\n \u0421\u0434\u0435\u043B\u0430\u0442\u044C \u0440\u0430\u0441\u0447\u0435\u0442\n </a>\n\n <button\n tuiButton\n (click)=\"openConsultationClick.emit()\"\n iconStart=\"@tui.messages-square\"\n >\n \u041A\u043E\u043D\u0441\u0443\u043B\u044C\u0442\u0430\u0446\u0438\u044F\n </button>\n </div>\n </div>\n\n <!-- \u041F\u0440\u0430\u0432\u0430\u044F \u043A\u043E\u043B\u043E\u043D\u043A\u0430 \u0441 \u043A\u0430\u0440\u0443\u0441\u0435\u043B\u044C\u044E \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439. -->\n <div class=\"relative -order-1 h-[19em] flex-1 overflow-hidden rounded-xl shadow-tui-shadow md:h-96 lg:order-2 lg:h-[28rem]\">\n <button\n tuiIconButton\n iconStart=\"@tui.chevron-left\"\n (click)=\"carousel.prev()\"\n appearance=\"icon\"\n class=\"!absolute left-0 top-1/2 z-10 ml-2 -translate-y-1/2\"\n ></button>\n\n @let imagePreviews = config().imagePreviewsByColor[colorIndexSelected()];\n\n <tui-carousel\n #carousel\n [duration]=\"autoSlideIntervale()\"\n class=\"h-[19em] w-full md:h-96 lg:h-[28rem]\"\n >\n @for (item of imagePreviews; track $index) {\n <picture *tuiItem>\n <source\n type=\"image/webp\"\n [srcset]=\"item.webp\"\n />\n <img\n [alt]=\"item.alt ?? '\u041C\u043E\u0441\u043A\u0438\u0442\u043D\u0430\u044F \u0441\u0435\u0442\u043A\u0430 \u0432 \u0446\u0432\u0435\u0442\u0435 ' + descriptions['color'][colorIndexSelected()] + $index\"\n [src]=\"item.defaultFormat\"\n class=\"h-[19em] w-full object-cover object-center md:h-96 lg:h-[28rem]\"\n />\n </picture>\n }\n </tui-carousel>\n <button\n tuiIconButton\n iconStart=\"@tui.chevron-right\"\n (click)=\"carousel.next()\"\n appearance=\"icon\"\n class=\"!absolute right-0 top-1/2 z-10 mr-2 -translate-y-1/2\"\n ></button>\n </div>\n</div>\n", styles: [":host{--tui-carousel-padding: 0}img.active{--tw-ring-color: var(--tui-background-accent-1);--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0, 0, 0, 0))}button[tuicardlarge]{border:solid 2px white}button[tuicardlarge].active{border-color:var(--tui-background-accent-1)}\n"], dependencies: [{ kind: "directive", type: i1.TuiItem, selector: "[tuiItem]" }, { kind: "component", type: i2.TuiCarouselComponent, selector: "tui-carousel", inputs: ["draggable", "itemsCount", "index"], outputs: ["indexChange", "shift"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: TuiChip, selector: "tui-chip,[tuiChip]", inputs: ["size"] }, { kind: "directive", type: TuiBadge, selector: "tui-badge,[tuiBadge]", inputs: ["size"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "directive", type: TuiCardLarge, selector: "[tuiCardLarge]", inputs: ["tuiCardLarge"] }, { kind: "directive", type: TuiHeader, selector: "[tuiHeader]", inputs: ["tuiHeader"] }, { kind: "directive", type: TuiSurface, selector: "[tuiSurface]", inputs: ["tuiSurface"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
58
58
  }
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScPreviewSamplesMosquitoComponent, decorators: [{
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPreviewSamplesMosquitoComponent, decorators: [{
60
60
  type: Component,
61
61
  args: [{ standalone: true, selector: 'sc-preview-samples-mosquito', imports: [TuiCarousel, TuiButton, TuiIcon, TuiChip, TuiBadge, NgFor, TuiAppearance, TuiHovered, TuiCardLarge, TuiHeader, TuiIcon, TuiSurface], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let descriptions = config().descriptions;\n@let colors = config().color;\n@let netTypes = config().netType;\n\n<!-- \u041E\u0441\u043D\u043E\u0432\u043D\u043E\u0439 \u043A\u043E\u043D\u0442\u0435\u0439\u043D\u0435\u0440 \u0441 \u0441\u0435\u0442\u043A\u043E\u0439. -->\n<div class=\"grid grid-cols-1 gap-4 lg:grid-cols-2\">\n <!-- \u041B\u0435\u0432\u0430\u044F \u043A\u043E\u043B\u043E\u043D\u043A\u0430 \u0441 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0435\u0439. -->\n <div class=\"flex flex-col gap-4\">\n <!-- \u041A\u043D\u043E\u043F\u043A\u0438 \u0432\u044B\u0431\u043E\u0440\u0430 \u0442\u0438\u043F\u0430 \u0441\u0435\u0442\u043A\u0438. -->\n <div class=\"flex flex-wrap gap-4\">\n <button\n *ngFor=\"let item of netTypes; let itemIndex = index\"\n tuiCardLarge\n tuiHeader\n tuiSurface=\"floating\"\n type=\"button\"\n (click)=\"netTypeIndex.set(itemIndex)\"\n [class.active]=\"netTypeIndex() === itemIndex\"\n class=\"h-12 !items-center gap-2 !rounded-xl !px-4 !py-0\"\n >\n <img\n [src]=\"config().icons[item]\"\n [alt]=\"'\u041A\u043D\u043E\u043F\u043A\u0430 \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0442\u0435\u043B\u044F \u0442\u0438\u043F\u0430 \u0441\u0435\u0442\u043A\u0438 ' + descriptions['netType'][item]\"\n class=\"size-8\"\n />\n <div>{{ descriptions['netType'][item] }}</div>\n </button>\n </div>\n\n <!-- \u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0438\u043F\u0430 \u0441\u0435\u0442\u043A\u0438. -->\n <div class=\"text-body-l-bold\">\u0421\u0435\u0442\u043A\u0430 {{ descriptions['netType'][netTypeIndexSelected()] }}</div>\n {{ config().subtitles[netTypeIndexSelected()] }}\n\n <!-- \u0418\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0435 \u0431\u0435\u0439\u0434\u0436\u0438. -->\n <div class=\"flex flex-wrap items-center gap-1 text-body-m\">\n <tui-badge\n appearance=\"custom\"\n class=\"rounded-full border-2 border-solid border-tui-text-primary bg-white !p-[0.4rem] font-bold text-tui-text-primary\"\n >\n {{ colors.length }}\n </tui-badge>\n - \u043A\u043E\u043B\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0446\u0432\u0435\u0442\u043E\u0432 \u043F\u0440\u043E\u0444\u0438\u043B\u044F\n </div>\n <div class=\"flex flex-wrap items-center gap-1 text-body-m\">\n <tui-badge\n appearance=\"custom\"\n class=\"rounded-full border-2 border-solid border-tui-text-primary bg-white !p-[0.4rem] font-bold text-tui-text-primary\"\n >\n {{ netTypes.length }}\n </tui-badge>\n - \u043A\u043E\u043B\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0442\u0438\u043F\u043E\u0432 \u0441\u0435\u0442\u043E\u043A\n </div>\n\n <!-- \u0420\u0430\u0437\u043C\u0435\u0440\u044B \u0441\u0435\u0442\u043E\u043A. -->\n <div class=\"text-body-m\">\n <tui-icon icon=\"@tui.sc.grid-height-arrow\" />\n \u0412\u044B\u0441\u043E\u0442\u0430 \u0441\u0435\u0442\u043E\u043A \u043E\u0442 {{ config().minHeight }} \u0434\u043E {{ config().maxHeights[netTypeIndexSelected()] }} \u043C\u043C\n </div>\n <div class=\"text-body-m\">\n <tui-icon icon=\"@tui.sc.grid-width-arrow\" />\n \u0428\u0438\u0440\u0438\u043D\u0430 \u0441\u0435\u0442\u043E\u043A \u043E\u0442 {{ config().minWidth }} \u0434\u043E {{ config().maxWidths[netTypeIndexSelected()] }} \u043C\u043C\n </div>\n\n <!-- \u0422\u0435\u0433\u0438 \u0445\u0430\u0440\u0430\u043A\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043A. -->\n <div class=\"flex flex-wrap gap-2\">\n <button\n *ngFor=\"let tag of config().tags[netTypeIndexSelected()]\"\n tuiChip\n appearance=\"neutral\"\n >\n {{ tag }}\n </button>\n </div>\n\n <!-- \u0412\u044B\u0431\u043E\u0440 \u0446\u0432\u0435\u0442\u0430 \u043F\u0440\u043E\u0444\u0438\u043B\u044F. -->\n <div class=\"flex gap-4\">\n <picture\n *ngFor=\"let image of config().color; let itemIndex = index\"\n class=\"size-11 rounded-xl\"\n (tuiHoveredChange)=\"colorIndex.set(itemIndex)\"\n >\n @let color = config().color[colorIndex()];\n <source\n type=\"image/webp\"\n [srcset]=\"config().colorsIcons[image].webp\"\n />\n <img\n [class.active]=\"colorIndex() === itemIndex\"\n [src]=\"config().colorsIcons[image].defaultFormat\"\n [alt]=\"config().colorsIcons[image].alt ?? '\u041A\u043D\u043E\u043F\u043A\u0430 \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0442\u0435\u043B\u044F \u0446\u0432\u0435\u0442\u0430 ' + descriptions['color'][color]\"\n class=\"size-11 rounded-xl\"\n />\n </picture>\n </div>\n\n <!-- \u041A\u043D\u043E\u043F\u043A\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439. -->\n <div class=\"flex gap-2\">\n <a\n tuiButton\n [attr.href]=\"configuratorPageUrl()\"\n (click)=\"$event.preventDefault(); openConfiguratorClick.emit()\"\n iconStart=\"@tui.sliders-horizontal\"\n >\n \u0421\u0434\u0435\u043B\u0430\u0442\u044C \u0440\u0430\u0441\u0447\u0435\u0442\n </a>\n\n <button\n tuiButton\n (click)=\"openConsultationClick.emit()\"\n iconStart=\"@tui.messages-square\"\n >\n \u041A\u043E\u043D\u0441\u0443\u043B\u044C\u0442\u0430\u0446\u0438\u044F\n </button>\n </div>\n </div>\n\n <!-- \u041F\u0440\u0430\u0432\u0430\u044F \u043A\u043E\u043B\u043E\u043D\u043A\u0430 \u0441 \u043A\u0430\u0440\u0443\u0441\u0435\u043B\u044C\u044E \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439. -->\n <div class=\"relative -order-1 h-[19em] flex-1 overflow-hidden rounded-xl shadow-tui-shadow md:h-96 lg:order-2 lg:h-[28rem]\">\n <button\n tuiIconButton\n iconStart=\"@tui.chevron-left\"\n (click)=\"carousel.prev()\"\n appearance=\"icon\"\n class=\"!absolute left-0 top-1/2 z-10 ml-2 -translate-y-1/2\"\n ></button>\n\n @let imagePreviews = config().imagePreviewsByColor[colorIndexSelected()];\n\n <tui-carousel\n #carousel\n [duration]=\"autoSlideIntervale()\"\n class=\"h-[19em] w-full md:h-96 lg:h-[28rem]\"\n >\n @for (item of imagePreviews; track $index) {\n <picture *tuiItem>\n <source\n type=\"image/webp\"\n [srcset]=\"item.webp\"\n />\n <img\n [alt]=\"item.alt ?? '\u041C\u043E\u0441\u043A\u0438\u0442\u043D\u0430\u044F \u0441\u0435\u0442\u043A\u0430 \u0432 \u0446\u0432\u0435\u0442\u0435 ' + descriptions['color'][colorIndexSelected()] + $index\"\n [src]=\"item.defaultFormat\"\n class=\"h-[19em] w-full object-cover object-center md:h-96 lg:h-[28rem]\"\n />\n </picture>\n }\n </tui-carousel>\n <button\n tuiIconButton\n iconStart=\"@tui.chevron-right\"\n (click)=\"carousel.next()\"\n appearance=\"icon\"\n class=\"!absolute right-0 top-1/2 z-10 mr-2 -translate-y-1/2\"\n ></button>\n </div>\n</div>\n", styles: [":host{--tui-carousel-padding: 0}img.active{--tw-ring-color: var(--tui-background-accent-1);--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0, 0, 0, 0))}button[tuicardlarge]{border:solid 2px white}button[tuicardlarge].active{border-color:var(--tui-background-accent-1)}\n"] }]
62
62
  }] });
@@ -15,8 +15,8 @@ import * as i2 from "@taiga-ui/kit";
15
15
  * Модуль представления образцов товара.
16
16
  */
17
17
  export class ScPreviewSampleModule {
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScPreviewSampleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
19
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ScPreviewSampleModule, declarations: [ScPreviewSampleComponent], imports: [CommonModule,
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPreviewSampleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
19
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ScPreviewSampleModule, declarations: [ScPreviewSampleComponent], imports: [CommonModule,
20
20
  ReactiveFormsModule,
21
21
  TuiError,
22
22
  TuiFieldErrorPipe,
@@ -30,7 +30,7 @@ export class ScPreviewSampleModule {
30
30
  TuiLabel,
31
31
  RecaptchaFormsModule,
32
32
  RecaptchaModule], exports: [ScPreviewSampleComponent] }); }
33
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScPreviewSampleModule, imports: [CommonModule,
33
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPreviewSampleModule, imports: [CommonModule,
34
34
  ReactiveFormsModule,
35
35
  TuiError,
36
36
  ScFormFieldsModule,
@@ -40,7 +40,7 @@ export class ScPreviewSampleModule {
40
40
  RecaptchaFormsModule,
41
41
  RecaptchaModule] }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScPreviewSampleModule, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPreviewSampleModule, decorators: [{
44
44
  type: NgModule,
45
45
  args: [{
46
46
  declarations: [ScPreviewSampleComponent],
@@ -182,10 +182,10 @@ export class ScJsonLdCategoryComponent {
182
182
  ],
183
183
  };
184
184
  }
185
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScJsonLdCategoryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
186
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: ScJsonLdCategoryComponent, isStandalone: true, selector: "sc-json-ld-category", inputs: { category: { classPropertyName: "category", publicName: "category", isSignal: true, isRequired: true, transformFunction: null }, products: { classPropertyName: "products", publicName: "products", isSignal: true, isRequired: false, transformFunction: null }, breadcrumbs: { classPropertyName: "breadcrumbs", publicName: "breadcrumbs", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<!-- \u0421\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435 \u0434\u043B\u044F CollectionPage -->\n<sc-json-ld [json]=\"schema()\" />\n", dependencies: [{ kind: "ngmodule", type: ScJsonLdModule }, { kind: "component", type: i1.ScJsonLdComponent, selector: "sc-json-ld", inputs: ["json"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
185
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScJsonLdCategoryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
186
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: ScJsonLdCategoryComponent, isStandalone: true, selector: "sc-json-ld-category", inputs: { category: { classPropertyName: "category", publicName: "category", isSignal: true, isRequired: true, transformFunction: null }, products: { classPropertyName: "products", publicName: "products", isSignal: true, isRequired: false, transformFunction: null }, breadcrumbs: { classPropertyName: "breadcrumbs", publicName: "breadcrumbs", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<!-- \u0421\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435 \u0434\u043B\u044F CollectionPage -->\n<sc-json-ld [json]=\"schema()\" />\n", dependencies: [{ kind: "ngmodule", type: ScJsonLdModule }, { kind: "component", type: i1.ScJsonLdComponent, selector: "sc-json-ld", inputs: ["json"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
187
187
  }
188
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScJsonLdCategoryComponent, decorators: [{
188
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScJsonLdCategoryComponent, decorators: [{
189
189
  type: Component,
190
190
  args: [{ standalone: true, selector: 'sc-json-ld-category', imports: [ScJsonLdModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- \u0421\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435 \u0434\u043B\u044F CollectionPage -->\n<sc-json-ld [json]=\"schema()\" />\n" }]
191
191
  }] });
@@ -88,10 +88,10 @@ export class ScHelpNotificationService {
88
88
  this.setShowContacts(...contacts);
89
89
  });
90
90
  }
91
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScHelpNotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
92
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScHelpNotificationService, providedIn: 'root' }); }
91
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScHelpNotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
92
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScHelpNotificationService, providedIn: 'root' }); }
93
93
  }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScHelpNotificationService, decorators: [{
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScHelpNotificationService, decorators: [{
95
95
  type: Injectable,
96
96
  args: [{
97
97
  providedIn: 'root',
@@ -19,10 +19,10 @@ export class ScShareButtonComponent {
19
19
  */
20
20
  this.clickShareEvent = new EventEmitter();
21
21
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScShareButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ScShareButtonComponent, selector: "sc-share-button", inputs: { appearance: "appearance", size: "size" }, outputs: { clickShareEvent: "clickShareEvent" }, ngImport: i0, template: "<button\n tuiIconButton\n iconStart=\"@tui.share-2\"\n [appearance]=\"appearance\"\n [size]=\"size\"\n (click)=\"$event.stopPropagation(); clickShareEvent.emit()\"\n></button>\n", dependencies: [{ kind: "directive", type: i1.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScShareButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ScShareButtonComponent, selector: "sc-share-button", inputs: { appearance: "appearance", size: "size" }, outputs: { clickShareEvent: "clickShareEvent" }, ngImport: i0, template: "<button\n tuiIconButton\n iconStart=\"@tui.share-2\"\n [appearance]=\"appearance\"\n [size]=\"size\"\n (click)=\"$event.stopPropagation(); clickShareEvent.emit()\"\n></button>\n", dependencies: [{ kind: "directive", type: i1.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScShareButtonComponent, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScShareButtonComponent, decorators: [{
26
26
  type: Component,
27
27
  args: [{ selector: 'sc-share-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n tuiIconButton\n iconStart=\"@tui.share-2\"\n [appearance]=\"appearance\"\n [size]=\"size\"\n (click)=\"$event.stopPropagation(); clickShareEvent.emit()\"\n></button>\n" }]
28
28
  }], propDecorators: { appearance: [{
@@ -7,11 +7,11 @@ import * as i0 from "@angular/core";
7
7
  * Модуль работы кнопки "Поделиться".
8
8
  */
9
9
  export class ScShareButtonModule {
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScShareButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ScShareButtonModule, declarations: [ScShareButtonComponent], imports: [CommonModule, TuiButton], exports: [ScShareButtonComponent] }); }
12
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScShareButtonModule, imports: [CommonModule] }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScShareButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ScShareButtonModule, declarations: [ScShareButtonComponent], imports: [CommonModule, TuiButton], exports: [ScShareButtonComponent] }); }
12
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScShareButtonModule, imports: [CommonModule] }); }
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScShareButtonModule, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScShareButtonModule, decorators: [{
15
15
  type: NgModule,
16
16
  args: [{
17
17
  declarations: [ScShareButtonComponent],
@@ -63,10 +63,10 @@ export class ScResetUserPasswordComponent {
63
63
  */
64
64
  this.successResetPassword = this.request$.pipe(filter(tuiIsPresent), filter(({ success }) => success));
65
65
  }
66
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScResetUserPasswordComponent, deps: [{ token: i1.ScUserService }], target: i0.ɵɵFactoryTarget.Component }); }
67
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ScResetUserPasswordComponent, selector: "sc-reset-user-password", outputs: { successResetPassword: "successResetPassword" }, ngImport: i0, template: "<form\n [formGroup]=\"form\"\n (ngSubmit)=\"onSubmit.next()\"\n class=\"flex flex-col gap-4 p-1 lg:flex-row\"\n>\n <div class=\"grid items-start gap-2 lg:grow lg:grid-cols-3 lg:grid-rows-1 lg:gap-4\">\n <label tuiLabel\n >\u0421\u0442\u0430\u0440\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <tui-input-password formControlName=\"currentPassword\">\n \u0421\u0442\u0430\u0440\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <input\n tuiTextfieldLegacy\n autocomplete=\"new-password\"\n />\n </tui-input-password>\n <tui-error\n formControlName=\"currentPassword\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <label tuiLabel\n >\u041F\u0440\u0438\u0434\u0443\u043C\u0430\u0439\u0442\u0435 \u043D\u043E\u0432\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <tui-input-password\n [pseudoInvalid]=\"form.hasError('passwordNotEquivalent')\"\n formControlName=\"password\"\n >\n \u041F\u0440\u0438\u0434\u0443\u043C\u0430\u0439\u0442\u0435 \u043D\u043E\u0432\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <input\n tuiTextfieldLegacy\n autocomplete=\"new-password\"\n />\n </tui-input-password>\n <tui-error\n formControlName=\"password\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <label tuiLabel\n >\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0435 \u043D\u043E\u0432\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <tui-input-password\n [pseudoInvalid]=\"form.hasError('passwordNotEquivalent')\"\n formControlName=\"passwordConfirm\"\n >\n \u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0435 \u043D\u043E\u0432\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <input\n tuiTextfieldLegacy\n autocomplete=\"new-password\"\n />\n </tui-input-password>\n <tui-error\n formControlName=\"passwordConfirm\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <tui-error\n *ngIf=\"form.invalid\"\n class=\"lg:!hidden\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </div>\n <div class=\"flex flex-col justify-center lg:mt-5 lg:h-11\">\n <button\n *tuiLet=\"!!(loading$ | async) as loading\"\n tuiButton\n [loading]=\"loading\"\n type=\"submit\"\n [disabled]=\"form.invalid || loading\"\n iconStart=\"@tui.save\"\n class=\"font-medium\"\n >\n \u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C\n </button>\n </div>\n</form>\n<tui-error\n class=\"!hidden lg:!block\"\n [formGroup]=\"form\"\n [error]=\"[] | tuiFieldError | async\"\n></tui-error>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.TuiInputPasswordComponent, selector: "tui-input-password" }, { kind: "directive", type: i4.TuiInputPasswordDirective, selector: "tui-input-password" }, { kind: "component", type: i5.TuiTextfieldComponent, selector: "input[tuiTextfieldLegacy], textarea[tuiTextfieldLegacy]" }, { kind: "directive", type: i6.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i6.TuiError, selector: "tui-error", inputs: ["error"] }, { kind: "directive", type: i6.TuiLabel, selector: "label[tuiLabel]" }, { kind: "directive", type: i7.TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "component", type: i8.TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TuiFieldErrorPipe, name: "tuiFieldError" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
66
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScResetUserPasswordComponent, deps: [{ token: i1.ScUserService }], target: i0.ɵɵFactoryTarget.Component }); }
67
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ScResetUserPasswordComponent, selector: "sc-reset-user-password", outputs: { successResetPassword: "successResetPassword" }, ngImport: i0, template: "<form\n [formGroup]=\"form\"\n (ngSubmit)=\"onSubmit.next()\"\n class=\"flex flex-col gap-4 p-1 lg:flex-row\"\n>\n <div class=\"grid items-start gap-2 lg:grow lg:grid-cols-3 lg:grid-rows-1 lg:gap-4\">\n <label tuiLabel\n >\u0421\u0442\u0430\u0440\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <tui-input-password formControlName=\"currentPassword\">\n \u0421\u0442\u0430\u0440\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <input\n tuiTextfieldLegacy\n autocomplete=\"new-password\"\n />\n </tui-input-password>\n <tui-error\n formControlName=\"currentPassword\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <label tuiLabel\n >\u041F\u0440\u0438\u0434\u0443\u043C\u0430\u0439\u0442\u0435 \u043D\u043E\u0432\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <tui-input-password\n [pseudoInvalid]=\"form.hasError('passwordNotEquivalent')\"\n formControlName=\"password\"\n >\n \u041F\u0440\u0438\u0434\u0443\u043C\u0430\u0439\u0442\u0435 \u043D\u043E\u0432\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <input\n tuiTextfieldLegacy\n autocomplete=\"new-password\"\n />\n </tui-input-password>\n <tui-error\n formControlName=\"password\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <label tuiLabel\n >\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0435 \u043D\u043E\u0432\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <tui-input-password\n [pseudoInvalid]=\"form.hasError('passwordNotEquivalent')\"\n formControlName=\"passwordConfirm\"\n >\n \u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0435 \u043D\u043E\u0432\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <input\n tuiTextfieldLegacy\n autocomplete=\"new-password\"\n />\n </tui-input-password>\n <tui-error\n formControlName=\"passwordConfirm\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <tui-error\n *ngIf=\"form.invalid\"\n class=\"lg:!hidden\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </div>\n <div class=\"flex flex-col justify-center lg:mt-5 lg:h-11\">\n <button\n *tuiLet=\"!!(loading$ | async) as loading\"\n tuiButton\n [loading]=\"loading\"\n type=\"submit\"\n [disabled]=\"form.invalid || loading\"\n iconStart=\"@tui.save\"\n class=\"font-medium\"\n >\n \u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C\n </button>\n </div>\n</form>\n<tui-error\n class=\"!hidden lg:!block\"\n [formGroup]=\"form\"\n [error]=\"[] | tuiFieldError | async\"\n></tui-error>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.TuiInputPasswordComponent, selector: "tui-input-password" }, { kind: "directive", type: i4.TuiInputPasswordDirective, selector: "tui-input-password" }, { kind: "component", type: i5.TuiTextfieldComponent, selector: "input[tuiTextfieldLegacy], textarea[tuiTextfieldLegacy]" }, { kind: "directive", type: i6.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i6.TuiError, selector: "tui-error", inputs: ["error"] }, { kind: "directive", type: i6.TuiLabel, selector: "label[tuiLabel]" }, { kind: "directive", type: i7.TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "component", type: i8.TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TuiFieldErrorPipe, name: "tuiFieldError" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
68
68
  }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScResetUserPasswordComponent, decorators: [{
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScResetUserPasswordComponent, decorators: [{
70
70
  type: Component,
71
71
  args: [{ selector: 'sc-reset-user-password', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\n [formGroup]=\"form\"\n (ngSubmit)=\"onSubmit.next()\"\n class=\"flex flex-col gap-4 p-1 lg:flex-row\"\n>\n <div class=\"grid items-start gap-2 lg:grow lg:grid-cols-3 lg:grid-rows-1 lg:gap-4\">\n <label tuiLabel\n >\u0421\u0442\u0430\u0440\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <tui-input-password formControlName=\"currentPassword\">\n \u0421\u0442\u0430\u0440\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <input\n tuiTextfieldLegacy\n autocomplete=\"new-password\"\n />\n </tui-input-password>\n <tui-error\n formControlName=\"currentPassword\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <label tuiLabel\n >\u041F\u0440\u0438\u0434\u0443\u043C\u0430\u0439\u0442\u0435 \u043D\u043E\u0432\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <tui-input-password\n [pseudoInvalid]=\"form.hasError('passwordNotEquivalent')\"\n formControlName=\"password\"\n >\n \u041F\u0440\u0438\u0434\u0443\u043C\u0430\u0439\u0442\u0435 \u043D\u043E\u0432\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <input\n tuiTextfieldLegacy\n autocomplete=\"new-password\"\n />\n </tui-input-password>\n <tui-error\n formControlName=\"password\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <label tuiLabel\n >\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0435 \u043D\u043E\u0432\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <tui-input-password\n [pseudoInvalid]=\"form.hasError('passwordNotEquivalent')\"\n formControlName=\"passwordConfirm\"\n >\n \u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0435 \u043D\u043E\u0432\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <input\n tuiTextfieldLegacy\n autocomplete=\"new-password\"\n />\n </tui-input-password>\n <tui-error\n formControlName=\"passwordConfirm\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <tui-error\n *ngIf=\"form.invalid\"\n class=\"lg:!hidden\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </div>\n <div class=\"flex flex-col justify-center lg:mt-5 lg:h-11\">\n <button\n *tuiLet=\"!!(loading$ | async) as loading\"\n tuiButton\n [loading]=\"loading\"\n type=\"submit\"\n [disabled]=\"form.invalid || loading\"\n iconStart=\"@tui.save\"\n class=\"font-medium\"\n >\n \u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C\n </button>\n </div>\n</form>\n<tui-error\n class=\"!hidden lg:!block\"\n [formGroup]=\"form\"\n [error]=\"[] | tuiFieldError | async\"\n></tui-error>\n" }]
72
72
  }], ctorParameters: () => [{ type: i1.ScUserService }], propDecorators: { successResetPassword: [{
@@ -22,8 +22,8 @@ import * as i4 from "../pipes/sc-phone-format";
22
22
  * Модуль компонентов пользователя.
23
23
  */
24
24
  export class ScUserModule {
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScUserModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
26
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ScUserModule, declarations: [ScResetUserPasswordComponent, ScUpdateUserInfoDialogComponent, ScUserPhoneApproveDialogComponent, ScUserManagersComponent], imports: [CommonModule,
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScUserModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
26
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ScUserModule, declarations: [ScResetUserPasswordComponent, ScUpdateUserInfoDialogComponent, ScUserPhoneApproveDialogComponent, ScUserManagersComponent], imports: [CommonModule,
27
27
  FormsModule,
28
28
  ReactiveFormsModule,
29
29
  TuiFieldErrorPipe,
@@ -41,7 +41,7 @@ export class ScUserModule {
41
41
  TuiCheckbox, i1.TuiDataListComponent, i1.TuiDataListDirective, i1.TuiOption, i1.TuiOptionNew, i1.TuiOptionWithValue, i1.TuiOptGroup, TuiSelectModule,
42
42
  TuiLink,
43
43
  ScTerminalLinkDirective, i2.ScTelLinkDirective, i3.ScEmailLinkDirective, i4.ScPhoneFormatPipe, TuiButtonLoading], exports: [ScResetUserPasswordComponent, ScUpdateUserInfoDialogComponent, ScUserPhoneApproveDialogComponent, ScUserManagersComponent] }); }
44
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScUserModule, imports: [CommonModule,
44
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScUserModule, imports: [CommonModule,
45
45
  FormsModule,
46
46
  ReactiveFormsModule,
47
47
  TuiInputPasswordModule,
@@ -55,7 +55,7 @@ export class ScUserModule {
55
55
  TuiCheckbox, i1.TuiDataListComponent, i1.TuiOption, TuiSelectModule,
56
56
  TuiButtonLoading] }); }
57
57
  }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScUserModule, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScUserModule, decorators: [{
59
59
  type: NgModule,
60
60
  args: [{
61
61
  declarations: [ScResetUserPasswordComponent, ScUpdateUserInfoDialogComponent, ScUserPhoneApproveDialogComponent, ScUserManagersComponent],
@@ -100,10 +100,10 @@ export class ScUpdateUserInfoDialogComponent {
100
100
  target: ScUserMetrikaGoalsEnum.userProfileEditShow,
101
101
  });
102
102
  }
103
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScUpdateUserInfoDialogComponent, deps: [{ token: SC_USER_INFO }, { token: i1.ScUserService }, { token: i1.ScUserMetrikaService }, { token: POLYMORPHEUS_CONTEXT, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
104
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ScUpdateUserInfoDialogComponent, selector: "sc-update-user-info-dialog", outputs: { cancelButtonClick: "cancelButtonClick", successUpdateDate: "successUpdateDate" }, ngImport: i0, template: "<form\n [formGroup]=\"form\"\n *ngIf=\"user$ | async as user\"\n (ngSubmit)=\"onSubmit.next()\"\n class=\"flex flex-col gap-4\"\n>\n <label tuiLabel\n >{{ user.isOrg ? '\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u043B\u0438 \u0418\u041F' : '\u0424.\u0418.\u041E.' }}\n <tui-input formControlName=\"name\">\n {{ user.isOrg ? '\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u043B\u0438 \u0418\u041F' : '\u0424.\u0418.\u041E.' }}\n <ng-container *ngIf=\"user.isOrg\">\n <sc-suggestion-field\n *tuiDataList\n [type]=\"suggestionType.organization\"\n ></sc-suggestion-field>\n </ng-container>\n </tui-input>\n <tui-error\n formControlName=\"name\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <sc-verification-phone-check-form\n *tuiLet=\"user.contacts.phone.value === form.value.phone as phoneIsChange\"\n [showCodeFields]=\"!phoneIsChange\"\n [shouldBeBusy]=\"phoneIsChange\"\n class=\"w-full\"\n ></sc-verification-phone-check-form>\n <label\n tuiLabel\n class=\"w-full\"\n >\u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <tui-input formControlName=\"email\">\n \u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <sc-suggestion-field\n *tuiDataList\n [type]=\"suggestionType.email\"\n ></sc-suggestion-field>\n </tui-input>\n <tui-error\n formControlName=\"email\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <sc-addresses-selection-field></sc-addresses-selection-field>\n <label tuiLabel>\n <input\n tuiCheckbox\n type=\"checkbox\"\n formControlName=\"getNews\"\n class=\"w-full\"\n />\n \u042F \u0445\u043E\u0447\u0443 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u0440\u0430\u0441\u0441\u044B\u043B\u043A\u0443 \u0421\u043D\u0430\u0431\u0446\u0435\u043D\u0442\u0440 \u043E \u0441\u043A\u0438\u0434\u043A\u0430\u0445 \u0438 \u043D\u043E\u0432\u043E\u0441\u0442\u044F\u0445 \u043F\u043E \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u0435.\n </label>\n <div class=\"flex justify-center gap-4\">\n <button\n tuiButton\n (click)=\"context ? context.$implicit.complete() : cancelButtonClick.emit()\"\n type=\"button\"\n iconStart=\"@tui.x\"\n appearance=\"secondary\"\n >\n \u041E\u0442\u043C\u0435\u043D\u0430\n </button>\n <button\n tuiButton\n [disabled]=\"form.invalid\"\n [loading]=\"!!(loading$ | async)\"\n type=\"submit\"\n iconStart=\"@tui.save\"\n >\n \u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C\n </button>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i4.TuiError, selector: "tui-error", inputs: ["error"] }, { kind: "directive", type: i4.TuiLabel, selector: "label[tuiLabel]" }, { kind: "directive", type: i5.TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "component", type: i6.ScVerificationPhoneCheckFormComponent, selector: "sc-verification-phone-check-form", inputs: ["showCodeFields", "readOnly", "pseudoInvalid", "required", "subtitle", "shouldBeBusy", "shouldBeConfirmed", "haveCode"], outputs: ["haveCodeChange", "isBusyChange", "isConfirmedChange"] }, { kind: "component", type: i7.ScAddressesSelectionFieldComponent, selector: "sc-addresses-selection-field", inputs: ["canSelectCountry"], outputs: ["canSelectCountryChange"] }, { kind: "component", type: i8.ScSuggestionFieldComponent, selector: "sc-suggestion-field", inputs: ["type"], outputs: ["selectedClick"] }, { kind: "component", type: i9.TuiInputComponent, selector: "tui-input" }, { kind: "directive", type: i9.TuiInputDirective, selector: "tui-input" }, { kind: "component", type: i10.TuiCheckbox, selector: "input[type=\"checkbox\"][tuiCheckbox]", inputs: ["size"] }, { kind: "directive", type: i11.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "component", type: i10.TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.TuiFieldErrorPipe, name: "tuiFieldError" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
103
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScUpdateUserInfoDialogComponent, deps: [{ token: SC_USER_INFO }, { token: i1.ScUserService }, { token: i1.ScUserMetrikaService }, { token: POLYMORPHEUS_CONTEXT, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
104
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ScUpdateUserInfoDialogComponent, selector: "sc-update-user-info-dialog", outputs: { cancelButtonClick: "cancelButtonClick", successUpdateDate: "successUpdateDate" }, ngImport: i0, template: "<form\n [formGroup]=\"form\"\n *ngIf=\"user$ | async as user\"\n (ngSubmit)=\"onSubmit.next()\"\n class=\"flex flex-col gap-4\"\n>\n <label tuiLabel\n >{{ user.isOrg ? '\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u043B\u0438 \u0418\u041F' : '\u0424.\u0418.\u041E.' }}\n <tui-input formControlName=\"name\">\n {{ user.isOrg ? '\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u043B\u0438 \u0418\u041F' : '\u0424.\u0418.\u041E.' }}\n <ng-container *ngIf=\"user.isOrg\">\n <sc-suggestion-field\n *tuiDataList\n [type]=\"suggestionType.organization\"\n ></sc-suggestion-field>\n </ng-container>\n </tui-input>\n <tui-error\n formControlName=\"name\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <sc-verification-phone-check-form\n *tuiLet=\"user.contacts.phone.value === form.value.phone as phoneIsChange\"\n [showCodeFields]=\"!phoneIsChange\"\n [shouldBeBusy]=\"phoneIsChange\"\n class=\"w-full\"\n ></sc-verification-phone-check-form>\n <label\n tuiLabel\n class=\"w-full\"\n >\u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <tui-input formControlName=\"email\">\n \u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <sc-suggestion-field\n *tuiDataList\n [type]=\"suggestionType.email\"\n ></sc-suggestion-field>\n </tui-input>\n <tui-error\n formControlName=\"email\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <sc-addresses-selection-field></sc-addresses-selection-field>\n <label tuiLabel>\n <input\n tuiCheckbox\n type=\"checkbox\"\n formControlName=\"getNews\"\n class=\"w-full\"\n />\n \u042F \u0445\u043E\u0447\u0443 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u0440\u0430\u0441\u0441\u044B\u043B\u043A\u0443 \u0421\u043D\u0430\u0431\u0446\u0435\u043D\u0442\u0440 \u043E \u0441\u043A\u0438\u0434\u043A\u0430\u0445 \u0438 \u043D\u043E\u0432\u043E\u0441\u0442\u044F\u0445 \u043F\u043E \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u0435.\n </label>\n <div class=\"flex justify-center gap-4\">\n <button\n tuiButton\n (click)=\"context ? context.$implicit.complete() : cancelButtonClick.emit()\"\n type=\"button\"\n iconStart=\"@tui.x\"\n appearance=\"secondary\"\n >\n \u041E\u0442\u043C\u0435\u043D\u0430\n </button>\n <button\n tuiButton\n [disabled]=\"form.invalid\"\n [loading]=\"!!(loading$ | async)\"\n type=\"submit\"\n iconStart=\"@tui.save\"\n >\n \u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C\n </button>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i4.TuiError, selector: "tui-error", inputs: ["error"] }, { kind: "directive", type: i4.TuiLabel, selector: "label[tuiLabel]" }, { kind: "directive", type: i5.TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "component", type: i6.ScVerificationPhoneCheckFormComponent, selector: "sc-verification-phone-check-form", inputs: ["showCodeFields", "readOnly", "pseudoInvalid", "required", "subtitle", "shouldBeBusy", "shouldBeConfirmed", "haveCode"], outputs: ["haveCodeChange", "isBusyChange", "isConfirmedChange"] }, { kind: "component", type: i7.ScAddressesSelectionFieldComponent, selector: "sc-addresses-selection-field", inputs: ["canSelectCountry"], outputs: ["canSelectCountryChange"] }, { kind: "component", type: i8.ScSuggestionFieldComponent, selector: "sc-suggestion-field", inputs: ["type"], outputs: ["selectedClick"] }, { kind: "component", type: i9.TuiInputComponent, selector: "tui-input" }, { kind: "directive", type: i9.TuiInputDirective, selector: "tui-input" }, { kind: "component", type: i10.TuiCheckbox, selector: "input[type=\"checkbox\"][tuiCheckbox]", inputs: ["size"] }, { kind: "directive", type: i11.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "component", type: i10.TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.TuiFieldErrorPipe, name: "tuiFieldError" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
105
105
  }
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScUpdateUserInfoDialogComponent, decorators: [{
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScUpdateUserInfoDialogComponent, decorators: [{
107
107
  type: Component,
108
108
  args: [{ selector: 'sc-update-user-info-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\n [formGroup]=\"form\"\n *ngIf=\"user$ | async as user\"\n (ngSubmit)=\"onSubmit.next()\"\n class=\"flex flex-col gap-4\"\n>\n <label tuiLabel\n >{{ user.isOrg ? '\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u043B\u0438 \u0418\u041F' : '\u0424.\u0418.\u041E.' }}\n <tui-input formControlName=\"name\">\n {{ user.isOrg ? '\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u043B\u0438 \u0418\u041F' : '\u0424.\u0418.\u041E.' }}\n <ng-container *ngIf=\"user.isOrg\">\n <sc-suggestion-field\n *tuiDataList\n [type]=\"suggestionType.organization\"\n ></sc-suggestion-field>\n </ng-container>\n </tui-input>\n <tui-error\n formControlName=\"name\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <sc-verification-phone-check-form\n *tuiLet=\"user.contacts.phone.value === form.value.phone as phoneIsChange\"\n [showCodeFields]=\"!phoneIsChange\"\n [shouldBeBusy]=\"phoneIsChange\"\n class=\"w-full\"\n ></sc-verification-phone-check-form>\n <label\n tuiLabel\n class=\"w-full\"\n >\u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <tui-input formControlName=\"email\">\n \u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <sc-suggestion-field\n *tuiDataList\n [type]=\"suggestionType.email\"\n ></sc-suggestion-field>\n </tui-input>\n <tui-error\n formControlName=\"email\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <sc-addresses-selection-field></sc-addresses-selection-field>\n <label tuiLabel>\n <input\n tuiCheckbox\n type=\"checkbox\"\n formControlName=\"getNews\"\n class=\"w-full\"\n />\n \u042F \u0445\u043E\u0447\u0443 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u0440\u0430\u0441\u0441\u044B\u043B\u043A\u0443 \u0421\u043D\u0430\u0431\u0446\u0435\u043D\u0442\u0440 \u043E \u0441\u043A\u0438\u0434\u043A\u0430\u0445 \u0438 \u043D\u043E\u0432\u043E\u0441\u0442\u044F\u0445 \u043F\u043E \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u0435.\n </label>\n <div class=\"flex justify-center gap-4\">\n <button\n tuiButton\n (click)=\"context ? context.$implicit.complete() : cancelButtonClick.emit()\"\n type=\"button\"\n iconStart=\"@tui.x\"\n appearance=\"secondary\"\n >\n \u041E\u0442\u043C\u0435\u043D\u0430\n </button>\n <button\n tuiButton\n [disabled]=\"form.invalid\"\n [loading]=\"!!(loading$ | async)\"\n type=\"submit\"\n iconStart=\"@tui.save\"\n >\n \u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C\n </button>\n </div>\n</form>\n" }]
109
109
  }], ctorParameters: () => [{ type: i12.Observable, decorators: [{