@snabcentr/client-ui 4.4.3 → 5.0.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.
- package/fesm2022/snabcentr-client-ui.mjs +3730 -3948
 - package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
 - package/index.d.ts +4466 -3
 - package/package.json +1 -3
 - package/release_notes.tmp +1 -10
 - package/styles/tailwind/tailwind.scss +5 -177
 - package/accordion/index.d.ts +0 -3
 - package/accordion/sc-accordion-content.directive.d.ts +0 -9
 - package/accordion/sc-accordion.component.d.ts +0 -56
 - package/accordion/sc-accordion.module.d.ts +0 -15
 - package/auth/enums/auth-method.d.ts +0 -13
 - package/auth/index.d.ts +0 -8
 - package/auth/interfaces/api-error-response.d.ts +0 -13
 - package/auth/interfaces/index.d.ts +0 -3
 - package/auth/interfaces/sc-bank-account-form-group.d.ts +0 -11
 - package/auth/interfaces/sc-contact-form-group.d.ts +0 -10
 - package/auth/sc-auth.module.d.ts +0 -26
 - package/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.d.ts +0 -39
 - package/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.d.ts +0 -41
 - package/auth/sc-sign-in-form/sc-sign-in-form.component.d.ts +0 -53
 - package/auth/sc-simple-sign-up-form/sc-simple-sign-up-form.component.d.ts +0 -106
 - package/auth/sign-up-form/sc-sign-up-form.component.d.ts +0 -161
 - package/banner/index.d.ts +0 -2
 - package/banner/sc-banner.component.d.ts +0 -88
 - package/banner/sc-banner.module.d.ts +0 -18
 - package/brands-list/index.d.ts +0 -2
 - package/brands-list/sc-brands-list.component.d.ts +0 -15
 - package/brands-list/sc-brands-list.module.d.ts +0 -12
 - package/cart/add-or-editing-cart-item-dialog/add-or-editing-cart-item-form/sc-add-or-editing-cart-item-form.component.d.ts +0 -102
 - package/cart/add-or-editing-cart-item-dialog/index.d.ts +0 -2
 - package/cart/add-or-editing-cart-item-dialog/sc-add-or-editing-cart-item-dialog.component.d.ts +0 -48
 - package/cart/cart-item/sc-cart-item.component.d.ts +0 -25
 - package/cart/index.d.ts +0 -3
 - package/cart/sc-cart-add-products-from-csv-dialog/sc-cart-add-products-from-csv-dialog.component.d.ts +0 -62
 - package/catalog/category-card/sc-category-card.component.d.ts +0 -76
 - package/catalog/cost-with-discount/cost-with-discount.component.d.ts +0 -23
 - package/catalog/download-price-list/sc-download-price-list.component.d.ts +0 -38
 - package/catalog/hover-image-carousel/sc-hover-image-carousel.component.d.ts +0 -48
 - package/catalog/index.d.ts +0 -12
 - package/catalog/input-quantity/sc-input-quantity.component.d.ts +0 -82
 - package/catalog/notify-when-in-stock-dialog/index.d.ts +0 -2
 - package/catalog/notify-when-in-stock-dialog/sc-notify-when-in-stock-dialog.component.d.ts +0 -90
 - package/catalog/notify-when-in-stock-dialog/sc-product-in-all-warehouses.pipe.d.ts +0 -22
 - package/catalog/price-card/sc-price-card.component.d.ts +0 -18
 - package/catalog/price-card-inline/sc-price-card-inline.component.d.ts +0 -10
 - package/catalog/price-history/sc-price-history.component.d.ts +0 -88
 - package/catalog/price-list-pagination/sc-price-list-pagination.component.d.ts +0 -40
 - package/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.d.ts +0 -47
 - package/catalog/sc-catalog.module.d.ts +0 -29
 - package/catalog/sc-favorite-button/sc-favorite-button.component.d.ts +0 -25
 - package/contacts/add-contact-dialog/sc-add-contact-dialog.component.d.ts +0 -49
 - package/contacts/contacts-accordion/sc-contacts-accordion.component.d.ts +0 -23
 - package/contacts/index.d.ts +0 -7
 - package/contacts/manager-card/sc-manager-card.component.d.ts +0 -22
 - package/contacts/manager-card-push/sc-manager-card-push.component.d.ts +0 -18
 - package/contacts/new-contact-form/sc-new-contact-form.component.d.ts +0 -28
 - package/contacts/sc-contacts.module.d.ts +0 -28
 - package/contacts/tokens/index.d.ts +0 -2
 - package/contacts/tokens/sc-manager-qr-handler.token.d.ts +0 -6
 - package/contacts/tokens/sc-show-help-notification-in-phone-input.token.d.ts +0 -5
 - package/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.d.ts +0 -49
 - package/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.d.ts +0 -161
 - package/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.d.ts +0 -62
 - package/contragents/contragents-accordion/sc-contragents-accordion.component.d.ts +0 -49
 - package/contragents/index.d.ts +0 -7
 - package/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.d.ts +0 -64
 - package/contragents/new-contragent-form/sc-new-contragent-form.component.d.ts +0 -125
 - package/contragents/sc-contragents.module.d.ts +0 -27
 - package/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.d.ts +0 -141
 - package/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.d.ts +0 -50
 - package/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.d.ts +0 -49
 - package/delivery-address/index.d.ts +0 -4
 - package/delivery-address/sc-delivery-address.module.d.ts +0 -26
 - package/dialogs/index.d.ts +0 -1
 - package/dialogs/sc-resource-preview/sc-resource-preview.component.d.ts +0 -42
 - package/directives/abstract-price-card/abstract-sc-price-card.directive.d.ts +0 -136
 - package/directives/index.d.ts +0 -7
 - package/directives/links/index.d.ts +0 -4
 - package/directives/links/sc-email-link.directive.d.ts +0 -25
 - package/directives/links/sc-link-location.d.ts +0 -5
 - package/directives/links/sc-links.d.ts +0 -7
 - package/directives/links/sc-tel-link.directive.d.ts +0 -40
 - package/directives/next-input-focus/sc-next-input-focus.directive.d.ts +0 -18
 - package/directives/next-input-focus/sc-next-input-focus.module.d.ts +0 -10
 - package/directives/sc-date-value-transformer.directive.d.ts +0 -8
 - package/directives/select-on-focusin/sc-select-on-focusin.directive.d.ts +0 -14
 - package/directives/terminal-link/sc-terminal-link.directive.d.ts +0 -34
 - package/error-handler/consts/error-change-handler.providers.d.ts +0 -5
 - package/error-handler/error-block-status/error-block-status.component.d.ts +0 -37
 - package/error-handler/index.d.ts +0 -4
 - package/error-handler/interfaces/i-block-error.d.ts +0 -17
 - package/error-handler/sc-error-handler.component.d.ts +0 -40
 - package/esm2022/accordion/index.mjs +0 -4
 - package/esm2022/accordion/sc-accordion-content.directive.mjs +0 -17
 - package/esm2022/accordion/sc-accordion.component.mjs +0 -92
 - package/esm2022/accordion/sc-accordion.module.mjs +0 -26
 - package/esm2022/auth/enums/auth-method.mjs +0 -15
 - package/esm2022/auth/index.mjs +0 -9
 - package/esm2022/auth/interfaces/api-error-response.mjs +0 -2
 - package/esm2022/auth/interfaces/index.mjs +0 -4
 - package/esm2022/auth/interfaces/sc-bank-account-form-group.mjs +0 -2
 - package/esm2022/auth/interfaces/sc-contact-form-group.mjs +0 -2
 - package/esm2022/auth/sc-auth.module.mjs +0 -99
 - package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.mjs +0 -87
 - package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.mjs +0 -86
 - package/esm2022/auth/sc-sign-in-form/sc-sign-in-form.component.mjs +0 -89
 - package/esm2022/auth/sc-simple-sign-up-form/sc-simple-sign-up-form.component.mjs +0 -187
 - package/esm2022/auth/sign-up-form/sc-sign-up-form.component.mjs +0 -333
 - package/esm2022/banner/index.mjs +0 -3
 - package/esm2022/banner/sc-banner.component.mjs +0 -143
 - package/esm2022/banner/sc-banner.module.mjs +0 -30
 - package/esm2022/brands-list/index.mjs +0 -3
 - package/esm2022/brands-list/sc-brands-list.component.mjs +0 -24
 - package/esm2022/brands-list/sc-brands-list.module.mjs +0 -22
 - package/esm2022/cart/add-or-editing-cart-item-dialog/add-or-editing-cart-item-form/sc-add-or-editing-cart-item-form.component.mjs +0 -233
 - package/esm2022/cart/add-or-editing-cart-item-dialog/index.mjs +0 -3
 - package/esm2022/cart/add-or-editing-cart-item-dialog/sc-add-or-editing-cart-item-dialog.component.mjs +0 -74
 - package/esm2022/cart/cart-item/sc-cart-item.component.mjs +0 -74
 - package/esm2022/cart/index.mjs +0 -4
 - package/esm2022/cart/sc-cart-add-products-from-csv-dialog/sc-cart-add-products-from-csv-dialog.component.mjs +0 -110
 - package/esm2022/catalog/category-card/sc-category-card.component.mjs +0 -102
 - package/esm2022/catalog/cost-with-discount/cost-with-discount.component.mjs +0 -38
 - package/esm2022/catalog/download-price-list/sc-download-price-list.component.mjs +0 -56
 - package/esm2022/catalog/hover-image-carousel/sc-hover-image-carousel.component.mjs +0 -76
 - package/esm2022/catalog/index.mjs +0 -13
 - package/esm2022/catalog/input-quantity/sc-input-quantity.component.mjs +0 -177
 - package/esm2022/catalog/notify-when-in-stock-dialog/index.mjs +0 -3
 - package/esm2022/catalog/notify-when-in-stock-dialog/sc-notify-when-in-stock-dialog.component.mjs +0 -173
 - package/esm2022/catalog/notify-when-in-stock-dialog/sc-product-in-all-warehouses.pipe.mjs +0 -35
 - package/esm2022/catalog/price-card/sc-price-card.component.mjs +0 -52
 - package/esm2022/catalog/price-card-inline/sc-price-card-inline.component.mjs +0 -56
 - package/esm2022/catalog/price-history/sc-price-history.component.mjs +0 -140
 - package/esm2022/catalog/price-list-pagination/sc-price-list-pagination.component.mjs +0 -65
 - package/esm2022/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.mjs +0 -54
 - package/esm2022/catalog/sc-catalog.module.mjs +0 -125
 - package/esm2022/catalog/sc-favorite-button/sc-favorite-button.component.mjs +0 -42
 - package/esm2022/contacts/add-contact-dialog/sc-add-contact-dialog.component.mjs +0 -91
 - package/esm2022/contacts/contacts-accordion/sc-contacts-accordion.component.mjs +0 -38
 - package/esm2022/contacts/index.mjs +0 -8
 - package/esm2022/contacts/manager-card/sc-manager-card.component.mjs +0 -58
 - package/esm2022/contacts/manager-card-push/sc-manager-card-push.component.mjs +0 -28
 - package/esm2022/contacts/new-contact-form/sc-new-contact-form.component.mjs +0 -37
 - package/esm2022/contacts/sc-contacts.module.mjs +0 -92
 - package/esm2022/contacts/tokens/index.mjs +0 -3
 - package/esm2022/contacts/tokens/sc-manager-qr-handler.token.mjs +0 -24
 - package/esm2022/contacts/tokens/sc-show-help-notification-in-phone-input.token.mjs +0 -7
 - package/esm2022/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.mjs +0 -81
 - package/esm2022/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.mjs +0 -278
 - package/esm2022/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.mjs +0 -75
 - package/esm2022/contragents/contragents-accordion/sc-contragents-accordion.component.mjs +0 -69
 - package/esm2022/contragents/index.mjs +0 -8
 - package/esm2022/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.mjs +0 -72
 - package/esm2022/contragents/new-contragent-form/sc-new-contragent-form.component.mjs +0 -242
 - package/esm2022/contragents/sc-contragents.module.mjs +0 -118
 - package/esm2022/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.mjs +0 -250
 - package/esm2022/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.mjs +0 -60
 - package/esm2022/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.mjs +0 -69
 - package/esm2022/delivery-address/index.mjs +0 -5
 - package/esm2022/delivery-address/sc-delivery-address.module.mjs +0 -99
 - package/esm2022/dialogs/index.mjs +0 -2
 - package/esm2022/dialogs/sc-resource-preview/sc-resource-preview.component.mjs +0 -68
 - package/esm2022/directives/abstract-price-card/abstract-sc-price-card.directive.mjs +0 -170
 - package/esm2022/directives/index.mjs +0 -8
 - package/esm2022/directives/links/index.mjs +0 -5
 - package/esm2022/directives/links/sc-email-link.directive.mjs +0 -49
 - package/esm2022/directives/links/sc-link-location.mjs +0 -2
 - package/esm2022/directives/links/sc-links.mjs +0 -8
 - package/esm2022/directives/links/sc-tel-link.directive.mjs +0 -79
 - package/esm2022/directives/next-input-focus/sc-next-input-focus.directive.mjs +0 -43
 - package/esm2022/directives/next-input-focus/sc-next-input-focus.module.mjs +0 -19
 - package/esm2022/directives/sc-date-value-transformer.directive.mjs +0 -30
 - package/esm2022/directives/select-on-focusin/sc-select-on-focusin.directive.mjs +0 -31
 - package/esm2022/directives/terminal-link/sc-terminal-link.directive.mjs +0 -69
 - package/esm2022/error-handler/consts/error-change-handler.providers.mjs +0 -8
 - package/esm2022/error-handler/error-block-status/error-block-status.component.mjs +0 -76
 - package/esm2022/error-handler/index.mjs +0 -5
 - package/esm2022/error-handler/interfaces/i-block-error.mjs +0 -2
 - package/esm2022/error-handler/sc-error-handler.component.mjs +0 -58
 - package/esm2022/feedback/feedback-form/sc-feedback-form.component.mjs +0 -344
 - package/esm2022/feedback/gratitude/sc-gratitude.component.mjs +0 -32
 - package/esm2022/feedback/index.mjs +0 -4
 - package/esm2022/feedback/interfaces/index.mjs +0 -2
 - package/esm2022/feedback/interfaces/sc-feedback-form-config.mjs +0 -2
 - package/esm2022/files/directives/index.mjs +0 -3
 - package/esm2022/files/directives/tree-top.directive.mjs +0 -63
 - package/esm2022/files/directives/tree.directive.mjs +0 -47
 - package/esm2022/files/file-tree-item/file-tree-item.component.mjs +0 -18
 - package/esm2022/files/files-and-documents/files-and-documents.component.mjs +0 -61
 - package/esm2022/files/files-and-documents.module.mjs +0 -28
 - package/esm2022/files/index.mjs +0 -6
 - package/esm2022/files/interfaces/tree-node.mjs +0 -2
 - package/esm2022/files/services/index.mjs +0 -3
 - package/esm2022/files/services/tree-icon.service.mjs +0 -49
 - package/esm2022/files/services/tree-loader.service.mjs +0 -62
 - package/esm2022/form-fields/addresses-selection-field/sc-addresses-selection-field.component.mjs +0 -155
 - package/esm2022/form-fields/form-fields.module.mjs +0 -69
 - package/esm2022/form-fields/index.mjs +0 -4
 - package/esm2022/form-fields/suggestion-field/sc-suggestion-field.component.mjs +0 -175
 - package/esm2022/helpers/index.mjs +0 -2
 - package/esm2022/helpers/sc-px-converter.mjs +0 -27
 - package/esm2022/icons/index.mjs +0 -2
 - package/esm2022/icons/sc-client-ui-icons-name.mjs +0 -99
 - package/esm2022/loader/index.mjs +0 -2
 - package/esm2022/loader/sc-i-loader.mjs +0 -2
 - package/esm2022/masks/index.mjs +0 -8
 - package/esm2022/masks/sc-account-number-mask.mjs +0 -7
 - package/esm2022/masks/sc-bic-mask.mjs +0 -7
 - package/esm2022/masks/sc-correspondent-account-mask.mjs +0 -7
 - package/esm2022/masks/sc-inn-mask.mjs +0 -13
 - package/esm2022/masks/sc-kpp-mask.mjs +0 -7
 - package/esm2022/masks/sc-okpo-mask.mjs +0 -13
 - package/esm2022/masks/sc-phone-verification-code-mask.mjs +0 -7
 - package/esm2022/models/i-sc-image.mjs +0 -2
 - package/esm2022/models/index.mjs +0 -2
 - package/esm2022/news/index.mjs +0 -4
 - package/esm2022/news/news-card/sc-news-card.component.mjs +0 -34
 - package/esm2022/news/news-card-skeleton/sc-news-card-skeleton.component.mjs +0 -31
 - package/esm2022/news/sc-news.module.mjs +0 -26
 - package/esm2022/order/index.mjs +0 -4
 - package/esm2022/order/order-item-mobile/sc-order-item-mobile.component.mjs +0 -60
 - package/esm2022/order/sc-order.module.mjs +0 -53
 - package/esm2022/order/sc-payment-status/sc-payment-status.component.mjs +0 -35
 - package/esm2022/pages/frequently-asked-questions/sc-frequently-asked-questions.component.mjs +0 -28
 - package/esm2022/pages/frequently-asked-questions/sc-page-size-options.mjs +0 -6
 - package/esm2022/pages/frequently-asked-questions-group-selector/sc-frequently-asked-questions-group-selector.component.mjs +0 -59
 - package/esm2022/pages/frequently-asked-questions-with-groups/sc-frequently-asked-questions-with-groups.component.mjs +0 -106
 - package/esm2022/pages/index.mjs +0 -7
 - package/esm2022/pages/personal-data-processing-policy/sc-personal-data-processing-policy.component.mjs +0 -46
 - package/esm2022/pages/privacy-policy/sc-privacy-policy.component.mjs +0 -30
 - package/esm2022/pages/public-offer/sc-public-offer.component.mjs +0 -50
 - package/esm2022/pipes/index.mjs +0 -3
 - package/esm2022/pipes/sc-format-date.mjs +0 -33
 - package/esm2022/pipes/sc-phone-format.mjs +0 -44
 - package/esm2022/profile/index.mjs +0 -3
 - package/esm2022/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs +0 -175
 - package/esm2022/profile/sc-profile.module.mjs +0 -76
 - package/esm2022/providers/date-value-transformer/index.mjs +0 -4
 - package/esm2022/providers/date-value-transformer/sc-date-value-transformer-types.mjs +0 -2
 - package/esm2022/providers/date-value-transformer/sc-date-value-transformer-with-end-time.mjs +0 -26
 - package/esm2022/providers/date-value-transformer/sc-date-value-transformer-with-start-time.mjs +0 -37
 - package/esm2022/providers/index.mjs +0 -12
 - package/esm2022/providers/sc-allow-select-terminated.mjs +0 -6
 - package/esm2022/providers/sc-country-ids.mjs +0 -6
 - package/esm2022/providers/sc-date-formatter.mjs +0 -12
 - package/esm2022/providers/sc-date-value-transformer.mjs +0 -12
 - package/esm2022/providers/sc-help-notification-close.mjs +0 -7
 - package/esm2022/providers/sc-help-notification-limit.mjs +0 -6
 - package/esm2022/providers/sc-max-files-in-form-input.mjs +0 -6
 - package/esm2022/providers/sc-notify-when-in-stock-required-fields.mjs +0 -6
 - package/esm2022/providers/sc-page-size-options.mjs +0 -6
 - package/esm2022/providers/sc-user-providers.mjs +0 -33
 - package/esm2022/providers/sc-verification-code-timeout.mjs +0 -6
 - package/esm2022/public-api.mjs +0 -35
 - package/esm2022/qrcode/index.mjs +0 -3
 - package/esm2022/qrcode/qrcode-dialog/sc-qrcode-dialog.component.mjs +0 -58
 - package/esm2022/qrcode/sc-qrcode.module.mjs +0 -25
 - package/esm2022/samples/index.mjs +0 -5
 - package/esm2022/samples/interfaces/index.mjs +0 -3
 - package/esm2022/samples/interfaces/sc-i-preview-sample.mjs +0 -2
 - package/esm2022/samples/interfaces/sc-preview-mosquito-config.mjs +0 -2
 - package/esm2022/samples/preview-sample/sc-preview-sample.component.mjs +0 -42
 - package/esm2022/samples/sc-preview-samples-mosquito/sc-preview-samples-mosquito.component.mjs +0 -63
 - package/esm2022/samples/sc-sample.module.mjs +0 -68
 - package/esm2022/services/index.mjs +0 -2
 - package/esm2022/services/sc-help-notification.service.mjs +0 -90
 - package/esm2022/share-button/index.mjs +0 -3
 - package/esm2022/share-button/sc-share-button.component.mjs +0 -35
 - package/esm2022/share-button/sc-share-button.module.mjs +0 -22
 - package/esm2022/snabcentr-client-ui.mjs +0 -5
 - package/esm2022/user/index.mjs +0 -6
 - package/esm2022/user/reset-user-password/sc-reset-user-password.component.mjs +0 -75
 - package/esm2022/user/sc-user.module.mjs +0 -89
 - package/esm2022/user/update-user-info-dialog/sc-update-user-info-dialog.component.mjs +0 -122
 - package/esm2022/user/user-managers/sc-user-managers.component.mjs +0 -42
 - package/esm2022/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.mjs +0 -106
 - package/esm2022/validators/index.mjs +0 -7
 - package/esm2022/validators/sc-at-least-one-required-validator.mjs +0 -25
 - package/esm2022/validators/sc-bic-validator.mjs +0 -10
 - package/esm2022/validators/sc-correspondent-account-validator.mjs +0 -10
 - package/esm2022/validators/sc-password-confirm-matching-validator.mjs +0 -17
 - package/esm2022/validators/sc-phone-validator.mjs +0 -14
 - package/esm2022/validators/step-validator.mjs +0 -18
 - package/esm2022/verification/index.mjs +0 -4
 - package/esm2022/verification/providers/index.mjs +0 -3
 - package/esm2022/verification/providers/sc-phone-approve-code-sender.provider.mjs +0 -12
 - package/esm2022/verification/providers/sc-phone-approve-code-sender.token.mjs +0 -7
 - package/esm2022/verification/sc-verification.module.mjs +0 -88
 - package/esm2022/verification/verification-phone-check-form/sc-verification-phone-check-form.component.mjs +0 -277
 - package/feedback/feedback-form/sc-feedback-form.component.d.ts +0 -163
 - package/feedback/gratitude/sc-gratitude.component.d.ts +0 -20
 - package/feedback/index.d.ts +0 -3
 - package/feedback/interfaces/index.d.ts +0 -1
 - package/feedback/interfaces/sc-feedback-form-config.d.ts +0 -23
 - package/files/directives/index.d.ts +0 -2
 - package/files/directives/tree-top.directive.d.ts +0 -33
 - package/files/directives/tree.directive.d.ts +0 -35
 - package/files/file-tree-item/file-tree-item.component.d.ts +0 -9
 - package/files/files-and-documents/files-and-documents.component.d.ts +0 -27
 - package/files/files-and-documents.module.d.ts +0 -17
 - package/files/index.d.ts +0 -5
 - package/files/interfaces/tree-node.d.ts +0 -29
 - package/files/services/index.d.ts +0 -2
 - package/files/services/tree-icon.service.d.ts +0 -23
 - package/files/services/tree-loader.service.d.ts +0 -43
 - package/form-fields/addresses-selection-field/sc-addresses-selection-field.component.d.ts +0 -78
 - package/form-fields/form-fields.module.d.ts +0 -19
 - package/form-fields/index.d.ts +0 -3
 - package/form-fields/suggestion-field/sc-suggestion-field.component.d.ts +0 -73
 - package/helpers/index.d.ts +0 -1
 - package/helpers/sc-px-converter.d.ts +0 -15
 - package/icons/index.d.ts +0 -1
 - package/icons/sc-client-ui-icons-name.d.ts +0 -4
 - package/loader/index.d.ts +0 -1
 - package/loader/sc-i-loader.d.ts +0 -9
 - package/masks/index.d.ts +0 -7
 - package/masks/sc-account-number-mask.d.ts +0 -5
 - package/masks/sc-bic-mask.d.ts +0 -5
 - package/masks/sc-correspondent-account-mask.d.ts +0 -5
 - package/masks/sc-inn-mask.d.ts +0 -9
 - package/masks/sc-kpp-mask.d.ts +0 -5
 - package/masks/sc-okpo-mask.d.ts +0 -9
 - package/masks/sc-phone-verification-code-mask.d.ts +0 -5
 - package/models/i-sc-image.d.ts +0 -17
 - package/models/index.d.ts +0 -1
 - package/news/index.d.ts +0 -3
 - package/news/news-card/sc-news-card.component.d.ts +0 -22
 - package/news/news-card-skeleton/sc-news-card-skeleton.component.d.ts +0 -16
 - package/news/sc-news.module.d.ts +0 -16
 - package/order/index.d.ts +0 -3
 - package/order/order-item-mobile/sc-order-item-mobile.component.d.ts +0 -39
 - package/order/sc-order.module.d.ts +0 -19
 - package/order/sc-payment-status/sc-payment-status.component.d.ts +0 -25
 - package/pages/frequently-asked-questions/sc-frequently-asked-questions.component.d.ts +0 -18
 - package/pages/frequently-asked-questions/sc-page-size-options.d.ts +0 -5
 - package/pages/frequently-asked-questions-group-selector/sc-frequently-asked-questions-group-selector.component.d.ts +0 -28
 - package/pages/frequently-asked-questions-with-groups/sc-frequently-asked-questions-with-groups.component.d.ts +0 -79
 - package/pages/index.d.ts +0 -6
 - package/pages/personal-data-processing-policy/sc-personal-data-processing-policy.component.d.ts +0 -17
 - package/pages/privacy-policy/sc-privacy-policy.component.d.ts +0 -17
 - package/pages/public-offer/sc-public-offer.component.d.ts +0 -22
 - package/pipes/index.d.ts +0 -2
 - package/pipes/sc-format-date.d.ts +0 -20
 - package/pipes/sc-phone-format.d.ts +0 -21
 - package/profile/index.d.ts +0 -2
 - package/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.d.ts +0 -126
 - package/profile/sc-profile.module.d.ts +0 -24
 - package/providers/date-value-transformer/index.d.ts +0 -3
 - package/providers/date-value-transformer/sc-date-value-transformer-types.d.ts +0 -9
 - package/providers/date-value-transformer/sc-date-value-transformer-with-end-time.d.ts +0 -16
 - package/providers/date-value-transformer/sc-date-value-transformer-with-start-time.d.ts +0 -22
 - package/providers/index.d.ts +0 -11
 - package/providers/sc-allow-select-terminated.d.ts +0 -5
 - package/providers/sc-country-ids.d.ts +0 -5
 - package/providers/sc-date-formatter.d.ts +0 -6
 - package/providers/sc-date-value-transformer.d.ts +0 -5
 - package/providers/sc-help-notification-close.d.ts +0 -6
 - package/providers/sc-help-notification-limit.d.ts +0 -5
 - package/providers/sc-max-files-in-form-input.d.ts +0 -5
 - package/providers/sc-notify-when-in-stock-required-fields.d.ts +0 -5
 - package/providers/sc-page-size-options.d.ts +0 -5
 - package/providers/sc-user-providers.d.ts +0 -21
 - package/providers/sc-verification-code-timeout.d.ts +0 -5
 - package/public-api.d.ts +0 -31
 - package/qrcode/index.d.ts +0 -2
 - package/qrcode/qrcode-dialog/sc-qrcode-dialog.component.d.ts +0 -37
 - package/qrcode/sc-qrcode.module.d.ts +0 -14
 - package/samples/index.d.ts +0 -4
 - package/samples/interfaces/index.d.ts +0 -2
 - package/samples/interfaces/sc-i-preview-sample.d.ts +0 -56
 - package/samples/interfaces/sc-preview-mosquito-config.d.ts +0 -62
 - package/samples/preview-sample/sc-preview-sample.component.d.ts +0 -30
 - package/samples/sc-preview-samples-mosquito/sc-preview-samples-mosquito.component.d.ts +0 -50
 - package/samples/sc-sample.module.d.ts +0 -19
 - package/services/index.d.ts +0 -1
 - package/services/sc-help-notification.service.d.ts +0 -64
 - package/share-button/index.d.ts +0 -2
 - package/share-button/sc-share-button.component.d.ts +0 -22
 - package/share-button/sc-share-button.module.d.ts +0 -12
 - package/user/index.d.ts +0 -5
 - package/user/reset-user-password/sc-reset-user-password.component.d.ts +0 -46
 - package/user/sc-user.module.d.ts +0 -25
 - package/user/update-user-info-dialog/sc-update-user-info-dialog.component.d.ts +0 -63
 - package/user/user-managers/sc-user-managers.component.d.ts +0 -26
 - package/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.d.ts +0 -53
 - package/validators/index.d.ts +0 -6
 - package/validators/sc-at-least-one-required-validator.d.ts +0 -10
 - package/validators/sc-bic-validator.d.ts +0 -8
 - package/validators/sc-correspondent-account-validator.d.ts +0 -8
 - package/validators/sc-password-confirm-matching-validator.d.ts +0 -8
 - package/validators/sc-phone-validator.d.ts +0 -5
 - package/validators/step-validator.d.ts +0 -8
 - package/verification/index.d.ts +0 -3
 - package/verification/providers/index.d.ts +0 -2
 - package/verification/providers/sc-phone-approve-code-sender.provider.d.ts +0 -6
 - package/verification/providers/sc-phone-approve-code-sender.token.d.ts +0 -7
 - package/verification/sc-verification.module.d.ts +0 -21
 - package/verification/verification-phone-check-form/sc-verification-phone-check-form.component.d.ts +0 -149
 
| 
         @@ -1,110 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            import { NgIf } from '@angular/common';
         
     | 
| 
       2 
     | 
    
         
            -
            import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
         
     | 
| 
       3 
     | 
    
         
            -
            import { toSignal } from '@angular/core/rxjs-interop';
         
     | 
| 
       4 
     | 
    
         
            -
            import { FormControl, ReactiveFormsModule } from '@angular/forms';
         
     | 
| 
       5 
     | 
    
         
            -
            import { WA_WINDOW } from '@ng-web-apis/common';
         
     | 
| 
       6 
     | 
    
         
            -
            import { ScCartService, ScUploadedFile } from '@snabcentr/client-core';
         
     | 
| 
       7 
     | 
    
         
            -
            import { tuiIsPresent } from '@taiga-ui/cdk';
         
     | 
| 
       8 
     | 
    
         
            -
            import { TuiButton, TuiLink, TuiLoader } from '@taiga-ui/core';
         
     | 
| 
       9 
     | 
    
         
            -
            import { TuiButtonLoading, TuiFiles } from '@taiga-ui/kit';
         
     | 
| 
       10 
     | 
    
         
            -
            import { POLYMORPHEUS_CONTEXT } from '@taiga-ui/polymorpheus';
         
     | 
| 
       11 
     | 
    
         
            -
            import { filter, map, Observable, share, startWith, Subject, switchMap, tap } from 'rxjs';
         
     | 
| 
       12 
     | 
    
         
            -
            import * as i0 from "@angular/core";
         
     | 
| 
       13 
     | 
    
         
            -
            import * as i1 from "@taiga-ui/kit";
         
     | 
| 
       14 
     | 
    
         
            -
            import * as i2 from "@angular/forms";
         
     | 
| 
       15 
     | 
    
         
            -
            /**
         
     | 
| 
       16 
     | 
    
         
            -
             * Компонент диалога для добавления товаров в корзину из CSV файла.
         
     | 
| 
       17 
     | 
    
         
            -
             */
         
     | 
| 
       18 
     | 
    
         
            -
            export class ScCartAddProductsFromCsvDialogComponent {
         
     | 
| 
       19 
     | 
    
         
            -
                constructor() {
         
     | 
| 
       20 
     | 
    
         
            -
                    /**
         
     | 
| 
       21 
     | 
    
         
            -
                     * Контекст диалогового окна, в котором открыт компонент.
         
     | 
| 
       22 
     | 
    
         
            -
                     */
         
     | 
| 
       23 
     | 
    
         
            -
                    this.context = inject(POLYMORPHEUS_CONTEXT);
         
     | 
| 
       24 
     | 
    
         
            -
                    /**
         
     | 
| 
       25 
     | 
    
         
            -
                     * Сервис для работы с корзиной.
         
     | 
| 
       26 
     | 
    
         
            -
                     */
         
     | 
| 
       27 
     | 
    
         
            -
                    this.cartService = inject(ScCartService);
         
     | 
| 
       28 
     | 
    
         
            -
                    /**
         
     | 
| 
       29 
     | 
    
         
            -
                     * Объект окна.
         
     | 
| 
       30 
     | 
    
         
            -
                     */
         
     | 
| 
       31 
     | 
    
         
            -
                    this.window = inject(WA_WINDOW);
         
     | 
| 
       32 
     | 
    
         
            -
                    /**
         
     | 
| 
       33 
     | 
    
         
            -
                     * {@link Subject} события скачивания цен каталога.
         
     | 
| 
       34 
     | 
    
         
            -
                     */
         
     | 
| 
       35 
     | 
    
         
            -
                    this.onDownloadClick = new Subject();
         
     | 
| 
       36 
     | 
    
         
            -
                    /**
         
     | 
| 
       37 
     | 
    
         
            -
                     * {@link Observable} запроса на скачивание цен каталога.
         
     | 
| 
       38 
     | 
    
         
            -
                     */
         
     | 
| 
       39 
     | 
    
         
            -
                    this.downloadRequest$ = this.onDownloadClick.pipe(switchMap(() => this.cartService.getCartCsvExample$().pipe(tap((blob) => {
         
     | 
| 
       40 
     | 
    
         
            -
                        this.downloadExampleFile(blob);
         
     | 
| 
       41 
     | 
    
         
            -
                    }), startWith(null))), share(), 
         
     | 
| 
       42 
     | 
    
         
            -
                    // eslint-disable-next-line unicorn/no-useless-undefined
         
     | 
| 
       43 
     | 
    
         
            -
                    startWith(undefined));
         
     | 
| 
       44 
     | 
    
         
            -
                    /**
         
     | 
| 
       45 
     | 
    
         
            -
                     * Признак того, что запрос выполняется.
         
     | 
| 
       46 
     | 
    
         
            -
                     */
         
     | 
| 
       47 
     | 
    
         
            -
                    this.isDownloadLoading = toSignal(this.downloadRequest$.pipe(map((value) => value === null)), {
         
     | 
| 
       48 
     | 
    
         
            -
                        initialValue: false,
         
     | 
| 
       49 
     | 
    
         
            -
                    });
         
     | 
| 
       50 
     | 
    
         
            -
                    /**
         
     | 
| 
       51 
     | 
    
         
            -
                     * {@link Subject} события отправки формы.
         
     | 
| 
       52 
     | 
    
         
            -
                     */
         
     | 
| 
       53 
     | 
    
         
            -
                    this.onSubmit$ = new Subject();
         
     | 
| 
       54 
     | 
    
         
            -
                    /**
         
     | 
| 
       55 
     | 
    
         
            -
                     * {@link Observable} запроса на добавление товаров из CSV файла.
         
     | 
| 
       56 
     | 
    
         
            -
                     */
         
     | 
| 
       57 
     | 
    
         
            -
                    this.submitRequest$ = this.onSubmit$.pipe(map(() => this.control.value), filter(tuiIsPresent), switchMap((file) => new Observable((observer) => {
         
     | 
| 
       58 
     | 
    
         
            -
                        const reader = new FileReader();
         
     | 
| 
       59 
     | 
    
         
            -
                        reader.addEventListener('load', () => {
         
     | 
| 
       60 
     | 
    
         
            -
                            observer.next(new ScUploadedFile(file.name, reader.result));
         
     | 
| 
       61 
     | 
    
         
            -
                        });
         
     | 
| 
       62 
     | 
    
         
            -
                        reader.addEventListener('error', (e) => {
         
     | 
| 
       63 
     | 
    
         
            -
                            observer.error(e);
         
     | 
| 
       64 
     | 
    
         
            -
                        });
         
     | 
| 
       65 
     | 
    
         
            -
                        reader.readAsDataURL(file);
         
     | 
| 
       66 
     | 
    
         
            -
                        return () => {
         
     | 
| 
       67 
     | 
    
         
            -
                            reader.abort();
         
     | 
| 
       68 
     | 
    
         
            -
                        };
         
     | 
| 
       69 
     | 
    
         
            -
                    })), switchMap((file) => this.cartService.addProductsFromCsv$(file).pipe(tap(() => {
         
     | 
| 
       70 
     | 
    
         
            -
                        this.context.$implicit.complete();
         
     | 
| 
       71 
     | 
    
         
            -
                    }), startWith(null))));
         
     | 
| 
       72 
     | 
    
         
            -
                    /**
         
     | 
| 
       73 
     | 
    
         
            -
                     * Признак того, что запрос на добавление товаров выполняется.
         
     | 
| 
       74 
     | 
    
         
            -
                     */
         
     | 
| 
       75 
     | 
    
         
            -
                    this.isSubmitLoading = toSignal(this.submitRequest$.pipe(map((value) => value === null)), {
         
     | 
| 
       76 
     | 
    
         
            -
                        initialValue: false,
         
     | 
| 
       77 
     | 
    
         
            -
                    });
         
     | 
| 
       78 
     | 
    
         
            -
                    /**
         
     | 
| 
       79 
     | 
    
         
            -
                     * Поле для загрузки файла.
         
     | 
| 
       80 
     | 
    
         
            -
                     */
         
     | 
| 
       81 
     | 
    
         
            -
                    this.control = new FormControl(null);
         
     | 
| 
       82 
     | 
    
         
            -
                }
         
     | 
| 
       83 
     | 
    
         
            -
                /**
         
     | 
| 
       84 
     | 
    
         
            -
                 * Метод для удаления загруженного файла.
         
     | 
| 
       85 
     | 
    
         
            -
                 */
         
     | 
| 
       86 
     | 
    
         
            -
                removeFile() {
         
     | 
| 
       87 
     | 
    
         
            -
                    this.control.setValue(null);
         
     | 
| 
       88 
     | 
    
         
            -
                }
         
     | 
| 
       89 
     | 
    
         
            -
                /**
         
     | 
| 
       90 
     | 
    
         
            -
                 * Метод для скачивания примера файла.
         
     | 
| 
       91 
     | 
    
         
            -
                 *
         
     | 
| 
       92 
     | 
    
         
            -
                 * @param blob Бинарный объект.
         
     | 
| 
       93 
     | 
    
         
            -
                 */
         
     | 
| 
       94 
     | 
    
         
            -
                downloadExampleFile(blob) {
         
     | 
| 
       95 
     | 
    
         
            -
                    const url = this.window.URL.createObjectURL(blob);
         
     | 
| 
       96 
     | 
    
         
            -
                    // используем ссылку и download, чтобы указать название файла.
         
     | 
| 
       97 
     | 
    
         
            -
                    const a = this.window.document.createElement('a');
         
     | 
| 
       98 
     | 
    
         
            -
                    a.href = url;
         
     | 
| 
       99 
     | 
    
         
            -
                    a.download = 'Пример файла добавления товаров в корзину.csv';
         
     | 
| 
       100 
     | 
    
         
            -
                    a.click();
         
     | 
| 
       101 
     | 
    
         
            -
                    this.window.URL.revokeObjectURL(url);
         
     | 
| 
       102 
     | 
    
         
            -
                }
         
     | 
| 
       103 
     | 
    
         
            -
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScCartAddProductsFromCsvDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
       104 
     | 
    
         
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ScCartAddProductsFromCsvDialogComponent, isStandalone: true, selector: "sc-cart-add-products-from-csv-dialog", ngImport: i0, template: "<div class=\"flex flex-col items-center gap-8\">\n    <tui-loader\n        [overlay]=\"true\"\n        [showLoader]=\"isDownloadLoading()\"\n        size=\"s\"\n        class=\"mt-8\"\n    >\n        <button\n            tuiLink\n            [pseudo]=\"true\"\n            type=\"button\"\n            (click)=\"onDownloadClick.next()\"\n        >\n            \u041F\u0440\u0438\u043C\u0435\u0440 .csv \u0444\u0430\u0439\u043B\u0430\n        </button>\n    </tui-loader>\n\n    <div class=\"flex w-full flex-col gap-1\">\n        <label\n            tuiInputFiles\n            class=\"w-full\"\n        >\n            <input\n                accept=\"text/csv\"\n                tuiInputFiles\n                [formControl]=\"control\"\n            />\n        </label>\n\n        <tui-files class=\"tui-space_top-1\">\n            <tui-file\n                *ngIf=\"control.value as file\"\n                [file]=\"file\"\n                (remove)=\"removeFile()\"\n            />\n        </tui-files>\n    </div>\n    <div class=\"flex gap-2\">\n        <button\n            tuiButton\n            [disabled]=\"!control.value\"\n            [loading]=\"isSubmitLoading()\"\n            iconStart=\"@tui.sc.send\"\n            class=\"self-center\"\n            (click)=\"onSubmit$.next()\"\n        >\n            \u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C\n        </button>\n        <button\n            tuiButton\n            (click)=\"context.$implicit.complete()\"\n            type=\"button\"\n            appearance=\"secondary\"\n        >\n            \u041E\u0442\u043C\u0435\u043D\u0430\n        </button>\n    </div>\n</div>\n", dependencies: [{ kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "component", type: TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "component", type: i1.TuiFile, selector: "tui-file,a[tuiFile],button[tuiFile]", inputs: ["file", "state", "size", "showDelete", "showSize", "leftContent"], outputs: ["remove"] }, { kind: "component", type: i1.TuiInputFiles, selector: "label[tuiInputFiles]" }, { kind: "component", type: i1.TuiFilesComponent, selector: "tui-files", inputs: ["max", "expanded"], outputs: ["expandedChange"] }, { kind: "directive", type: i1.TuiInputFilesDirective, selector: "input[tuiInputFiles]", outputs: ["reject"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
         
     | 
| 
       105 
     | 
    
         
            -
            }
         
     | 
| 
       106 
     | 
    
         
            -
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScCartAddProductsFromCsvDialogComponent, decorators: [{
         
     | 
| 
       107 
     | 
    
         
            -
                        type: Component,
         
     | 
| 
       108 
     | 
    
         
            -
                        args: [{ standalone: true, selector: 'sc-cart-add-products-from-csv-dialog', imports: [TuiLink, TuiLoader, TuiFiles, ReactiveFormsModule, NgIf, TuiButton, TuiButtonLoading], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col items-center gap-8\">\n    <tui-loader\n        [overlay]=\"true\"\n        [showLoader]=\"isDownloadLoading()\"\n        size=\"s\"\n        class=\"mt-8\"\n    >\n        <button\n            tuiLink\n            [pseudo]=\"true\"\n            type=\"button\"\n            (click)=\"onDownloadClick.next()\"\n        >\n            \u041F\u0440\u0438\u043C\u0435\u0440 .csv \u0444\u0430\u0439\u043B\u0430\n        </button>\n    </tui-loader>\n\n    <div class=\"flex w-full flex-col gap-1\">\n        <label\n            tuiInputFiles\n            class=\"w-full\"\n        >\n            <input\n                accept=\"text/csv\"\n                tuiInputFiles\n                [formControl]=\"control\"\n            />\n        </label>\n\n        <tui-files class=\"tui-space_top-1\">\n            <tui-file\n                *ngIf=\"control.value as file\"\n                [file]=\"file\"\n                (remove)=\"removeFile()\"\n            />\n        </tui-files>\n    </div>\n    <div class=\"flex gap-2\">\n        <button\n            tuiButton\n            [disabled]=\"!control.value\"\n            [loading]=\"isSubmitLoading()\"\n            iconStart=\"@tui.sc.send\"\n            class=\"self-center\"\n            (click)=\"onSubmit$.next()\"\n        >\n            \u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C\n        </button>\n        <button\n            tuiButton\n            (click)=\"context.$implicit.complete()\"\n            type=\"button\"\n            appearance=\"secondary\"\n        >\n            \u041E\u0442\u043C\u0435\u043D\u0430\n        </button>\n    </div>\n</div>\n" }]
         
     | 
| 
       109 
     | 
    
         
            -
                    }] });
         
     | 
| 
       110 
     | 
    
         
            -
            //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2FydC1hZGQtcHJvZHVjdHMtZnJvbS1jc3YtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9jYXJ0L3NjLWNhcnQtYWRkLXByb2R1Y3RzLWZyb20tY3N2LWRpYWxvZy9zYy1jYXJ0LWFkZC1wcm9kdWN0cy1mcm9tLWNzdi1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhcnQvc2MtY2FydC1hZGQtcHJvZHVjdHMtZnJvbS1jc3YtZGlhbG9nL3NjLWNhcnQtYWRkLXByb2R1Y3RzLWZyb20tY3N2LWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQW9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBRTFGOztHQUVHO0FBUUgsTUFBTSxPQUFPLHVDQUF1QztJQVBwRDtRQVFJOztXQUVHO1FBQ2dCLFlBQU8sR0FBcUIsTUFBTSxDQUFtQixvQkFBb0IsQ0FBQyxDQUFDO1FBRTlGOztXQUVHO1FBQ2MsZ0JBQVcsR0FBa0IsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXBFOztXQUVHO1FBQ2MsV0FBTSxHQUErQixNQUFNLENBQTZCLFNBQVMsQ0FBQyxDQUFDO1FBRXBHOztXQUVHO1FBQ2dCLG9CQUFlLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFFeEU7O1dBRUc7UUFDZ0IscUJBQWdCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQzNELFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FDWCxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixFQUFFLENBQUMsSUFBSSxDQUN0QyxHQUFHLENBQUMsQ0FBQyxJQUFVLEVBQUUsRUFBRTtZQUNmLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLENBQ2xCLENBQ0osRUFDRCxLQUFLLEVBQUU7UUFDUCx3REFBd0Q7UUFDeEQsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUN2QixDQUFDO1FBRUY7O1dBRUc7UUFDZ0Isc0JBQWlCLEdBQW9CLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLEVBQUU7WUFDekgsWUFBWSxFQUFFLEtBQUs7U0FDdEIsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDZ0IsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRWxFOztXQUVHO1FBQ2dCLG1CQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ25ELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUM3QixNQUFNLENBQUMsWUFBWSxDQUFDLEVBQ3BCLFNBQVMsQ0FDTCxDQUFDLElBQVUsRUFBRSxFQUFFLENBQ1gsSUFBSSxVQUFVLENBQWlCLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDeEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUVoQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtnQkFDakMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFnQixDQUFDLENBQUMsQ0FBQztZQUMxRSxDQUFDLENBQUMsQ0FBQztZQUVILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDbkMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0QixDQUFDLENBQUMsQ0FBQztZQUVILE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFM0IsT0FBTyxHQUFHLEVBQUU7Z0JBQ1IsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25CLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUNULEVBQ0QsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDZixJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDM0MsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FDbEIsQ0FDSixDQUNKLENBQUM7UUFFRjs7V0FFRztRQUNnQixvQkFBZSxHQUFvQixRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsRUFBRTtZQUNySCxZQUFZLEVBQUUsS0FBSztTQUN0QixDQUFDLENBQUM7UUFFSDs7V0FFRztRQUNnQixZQUFPLEdBQTZCLElBQUksV0FBVyxDQUFjLElBQUksQ0FBQyxDQUFDO0tBd0I3RjtJQXRCRzs7T0FFRztJQUNPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxtQkFBbUIsQ0FBQyxJQUFVO1FBQ2xDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRCw4REFBOEQ7UUFDOUQsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWxELENBQUMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLFFBQVEsR0FBRywrQ0FBK0MsQ0FBQztRQUM3RCxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQzsrR0F2SFEsdUNBQXVDO21HQUF2Qyx1Q0FBdUMsZ0dDdEJwRCx5bkRBMERBLDRDRHZDYyxPQUFPLDRGQUFFLFNBQVMsK25CQUFZLG1CQUFtQiwwa0JBQUUsSUFBSSw2RkFBRSxTQUFTLG9JQUFFLGdCQUFnQjs7NEZBR3JGLHVDQUF1QztrQkFQbkQsU0FBUztpQ0FDTSxJQUFJLFlBQ04sc0NBQXNDLFdBRXZDLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxtQkFDOUUsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBXQV9XSU5ET1cgfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7IFNjQ2FydFNlcnZpY2UsIFNjVXBsb2FkZWRGaWxlIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyB0dWlJc1ByZXNlbnQgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IFR1aUJ1dHRvbiwgVHVpRGlhbG9nQ29udGV4dCwgVHVpTGluaywgVHVpTG9hZGVyIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgVHVpQnV0dG9uTG9hZGluZywgVHVpRmlsZXMgfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcbmltcG9ydCB7IFBPTFlNT1JQSEVVU19DT05URVhUIH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgc2hhcmUsIHN0YXJ0V2l0aCwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0LTQuNCw0LvQvtCz0LAg0LTQu9GPINC00L7QsdCw0LLQu9C10L3QuNGPINGC0L7QstCw0YDQvtCyINCyINC60L7RgNC30LjQvdGDINC40LcgQ1NWINGE0LDQudC70LAuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdzYy1jYXJ0LWFkZC1wcm9kdWN0cy1mcm9tLWNzdi1kaWFsb2cnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1jYXJ0LWFkZC1wcm9kdWN0cy1mcm9tLWNzdi1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIGltcG9ydHM6IFtUdWlMaW5rLCBUdWlMb2FkZXIsIFR1aUZpbGVzLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBOZ0lmLCBUdWlCdXR0b24sIFR1aUJ1dHRvbkxvYWRpbmddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY0NhcnRBZGRQcm9kdWN0c0Zyb21Dc3ZEaWFsb2dDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqINCa0L7QvdGC0LXQutGB0YIg0LTQuNCw0LvQvtCz0L7QstC+0LPQviDQvtC60L3QsCwg0LIg0LrQvtGC0L7RgNC+0Lwg0L7RgtC60YDRi9GCINC60L7QvNC/0L7QvdC10L3Rgi5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udGV4dDogVHVpRGlhbG9nQ29udGV4dCA9IGluamVjdDxUdWlEaWFsb2dDb250ZXh0PihQT0xZTU9SUEhFVVNfQ09OVEVYVCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQutC+0YDQt9C40L3QvtC5LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FydFNlcnZpY2U6IFNjQ2FydFNlcnZpY2UgPSBpbmplY3QoU2NDYXJ0U2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiDQntCx0YrQtdC60YIg0L7QutC90LAuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IFdpbmRvdyAmIHR5cGVvZiBnbG9iYWxUaGlzID0gaW5qZWN0PFdpbmRvdyAmIHR5cGVvZiBnbG9iYWxUaGlzPihXQV9XSU5ET1cpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIFN1YmplY3R9INGB0L7QsdGL0YLQuNGPINGB0LrQsNGH0LjQstCw0L3QuNGPINGG0LXQvSDQutCw0YLQsNC70L7Qs9CwLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvbkRvd25sb2FkQ2xpY2s6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC30LDQv9GA0L7RgdCwINC90LAg0YHQutCw0YfQuNCy0LDQvdC40LUg0YbQtdC9INC60LDRgtCw0LvQvtCz0LAuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRvd25sb2FkUmVxdWVzdCQgPSB0aGlzLm9uRG93bmxvYWRDbGljay5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICAgIHRoaXMuY2FydFNlcnZpY2UuZ2V0Q2FydENzdkV4YW1wbGUkKCkucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKGJsb2I6IEJsb2IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kb3dubG9hZEV4YW1wbGVGaWxlKGJsb2IpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKVxuICAgICAgICAgICAgKVxuICAgICAgICApLFxuICAgICAgICBzaGFyZSgpLFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9uby11c2VsZXNzLXVuZGVmaW5lZFxuICAgICAgICBzdGFydFdpdGgodW5kZWZpbmVkKVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiDRgtC+0LPQviwg0YfRgtC+INC30LDQv9GA0L7RgSDQstGL0L/QvtC70L3Rj9C10YLRgdGPLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc0Rvd25sb2FkTG9hZGluZzogU2lnbmFsPGJvb2xlYW4+ID0gdG9TaWduYWwodGhpcy5kb3dubG9hZFJlcXVlc3QkLnBpcGUobWFwKCh2YWx1ZSkgPT4gdmFsdWUgPT09IG51bGwpKSwge1xuICAgICAgICBpbml0aWFsVmFsdWU6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIFN1YmplY3R9INGB0L7QsdGL0YLQuNGPINC+0YLQv9GA0LDQstC60Lgg0YTQvtGA0LzRiy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb25TdWJtaXQkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQvdCwINC00L7QsdCw0LLQu9C10L3QuNC1INGC0L7QstCw0YDQvtCyINC40LcgQ1NWINGE0LDQudC70LAuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN1Ym1pdFJlcXVlc3QkID0gdGhpcy5vblN1Ym1pdCQucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHRoaXMuY29udHJvbC52YWx1ZSksXG4gICAgICAgIGZpbHRlcih0dWlJc1ByZXNlbnQpLFxuICAgICAgICBzd2l0Y2hNYXAoXG4gICAgICAgICAgICAoZmlsZTogRmlsZSkgPT5cbiAgICAgICAgICAgICAgICBuZXcgT2JzZXJ2YWJsZTxTY1VwbG9hZGVkRmlsZT4oKG9ic2VydmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KG5ldyBTY1VwbG9hZGVkRmlsZShmaWxlLm5hbWUsIHJlYWRlci5yZXN1bHQgYXMgc3RyaW5nKSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIHJlYWRlci5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5lcnJvcihlKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5hYm9ydCgpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgICAgIHN3aXRjaE1hcCgoZmlsZSkgPT5cbiAgICAgICAgICAgIHRoaXMuY2FydFNlcnZpY2UuYWRkUHJvZHVjdHNGcm9tQ3N2JChmaWxlKS5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC4kaW1wbGljaXQuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgobnVsbClcbiAgICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiDRgtC+0LPQviwg0YfRgtC+INC30LDQv9GA0L7RgSDQvdCwINC00L7QsdCw0LLQu9C10L3QuNC1INGC0L7QstCw0YDQvtCyINCy0YvQv9C+0LvQvdGP0LXRgtGB0Y8uXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzU3VibWl0TG9hZGluZzogU2lnbmFsPGJvb2xlYW4+ID0gdG9TaWduYWwodGhpcy5zdWJtaXRSZXF1ZXN0JC5waXBlKG1hcCgodmFsdWUpID0+IHZhbHVlID09PSBudWxsKSksIHtcbiAgICAgICAgaW5pdGlhbFZhbHVlOiBmYWxzZSxcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqINCf0L7Qu9C1INC00LvRjyDQt9Cw0LPRgNGD0LfQutC4INGE0LDQudC70LAuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRyb2w6IEZvcm1Db250cm9sPEZpbGUgfCBudWxsPiA9IG5ldyBGb3JtQ29udHJvbDxGaWxlIHwgbnVsbD4obnVsbCk7XG5cbiAgICAvKipcbiAgICAgKiDQnNC10YLQvtC0INC00LvRjyDRg9C00LDQu9C10L3QuNGPINC30LDQs9GA0YPQttC10L3QvdC+0LPQviDRhNCw0LnQu9CwLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZW1vdmVGaWxlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JzQtdGC0L7QtCDQtNC70Y8g0YHQutCw0YfQuNCy0LDQvdC40Y8g0L/RgNC40LzQtdGA0LAg0YTQsNC50LvQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBibG9iINCR0LjQvdCw0YDQvdGL0Lkg0L7QsdGK0LXQutGCLlxuICAgICAqL1xuICAgIHByaXZhdGUgZG93bmxvYWRFeGFtcGxlRmlsZShibG9iOiBCbG9iKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMud2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgICAgIC8vINC40YHQv9C+0LvRjNC30YPQtdC8INGB0YHRi9C70LrRgyDQuCBkb3dubG9hZCwg0YfRgtC+0LHRiyDRg9C60LDQt9Cw0YLRjCDQvdCw0LfQstCw0L3QuNC1INGE0LDQudC70LAuXG4gICAgICAgIGNvbnN0IGEgPSB0aGlzLndpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG5cbiAgICAgICAgYS5ocmVmID0gdXJsO1xuICAgICAgICBhLmRvd25sb2FkID0gJ9Cf0YDQuNC80LXRgCDRhNCw0LnQu9CwINC00L7QsdCw0LLQu9C10L3QuNGPINGC0L7QstCw0YDQvtCyINCyINC60L7RgNC30LjQvdGDLmNzdic7XG4gICAgICAgIGEuY2xpY2soKTtcbiAgICAgICAgdGhpcy53aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBnYXAtOFwiPlxuICAgIDx0dWktbG9hZGVyXG4gICAgICAgIFtvdmVybGF5XT1cInRydWVcIlxuICAgICAgICBbc2hvd0xvYWRlcl09XCJpc0Rvd25sb2FkTG9hZGluZygpXCJcbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICBjbGFzcz1cIm10LThcIlxuICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHVpTGlua1xuICAgICAgICAgICAgW3BzZXVkb109XCJ0cnVlXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uRG93bmxvYWRDbGljay5uZXh0KClcIlxuICAgICAgICA+XG4gICAgICAgICAgICDQn9GA0LjQvNC10YAgLmNzdiDRhNCw0LnQu9CwXG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvdHVpLWxvYWRlcj5cblxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IHctZnVsbCBmbGV4LWNvbCBnYXAtMVwiPlxuICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgIHR1aUlucHV0RmlsZXNcbiAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgYWNjZXB0PVwidGV4dC9jc3ZcIlxuICAgICAgICAgICAgICAgIHR1aUlucHV0RmlsZXNcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L2xhYmVsPlxuXG4gICAgICAgIDx0dWktZmlsZXMgY2xhc3M9XCJ0dWktc3BhY2VfdG9wLTFcIj5cbiAgICAgICAgICAgIDx0dWktZmlsZVxuICAgICAgICAgICAgICAgICpuZ0lmPVwiY29udHJvbC52YWx1ZSBhcyBmaWxlXCJcbiAgICAgICAgICAgICAgICBbZmlsZV09XCJmaWxlXCJcbiAgICAgICAgICAgICAgICAocmVtb3ZlKT1cInJlbW92ZUZpbGUoKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L3R1aS1maWxlcz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMlwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhY29udHJvbC52YWx1ZVwiXG4gICAgICAgICAgICBbbG9hZGluZ109XCJpc1N1Ym1pdExvYWRpbmcoKVwiXG4gICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLnNjLnNlbmRcIlxuICAgICAgICAgICAgY2xhc3M9XCJzZWxmLWNlbnRlclwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25TdWJtaXQkLm5leHQoKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgINCX0LDQs9GA0YPQt9C40YLRjFxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPVwiY29udGV4dC4kaW1wbGljaXQuY29tcGxldGUoKVwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIlxuICAgICAgICA+XG4gICAgICAgICAgICDQntGC0LzQtdC90LBcbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
         
     | 
| 
         @@ -1,102 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Inject, inject, Input, input, Output } from '@angular/core';
         
     | 
| 
       2 
     | 
    
         
            -
            import { SC_PATH_IMAGE_NOT_FOUND, SC_URLS, ScAuthService } from '@snabcentr/client-core';
         
     | 
| 
       3 
     | 
    
         
            -
            import { TUI_IS_MOBILE } from '@taiga-ui/cdk';
         
     | 
| 
       4 
     | 
    
         
            -
            import * as i0 from "@angular/core";
         
     | 
| 
       5 
     | 
    
         
            -
            import * as i1 from "@angular/common";
         
     | 
| 
       6 
     | 
    
         
            -
            import * as i2 from "@angular/router";
         
     | 
| 
       7 
     | 
    
         
            -
            import * as i3 from "@taiga-ui/kit";
         
     | 
| 
       8 
     | 
    
         
            -
            import * as i4 from "@taiga-ui/cdk";
         
     | 
| 
       9 
     | 
    
         
            -
            import * as i5 from "../sc-favorite-button/sc-favorite-button.component";
         
     | 
| 
       10 
     | 
    
         
            -
            import * as i6 from "@snabcentr/client-core";
         
     | 
| 
       11 
     | 
    
         
            -
            /**
         
     | 
| 
       12 
     | 
    
         
            -
             * Карточка категории.
         
     | 
| 
       13 
     | 
    
         
            -
             */
         
     | 
| 
       14 
     | 
    
         
            -
            export class ScCategoryCardComponent {
         
     | 
| 
       15 
     | 
    
         
            -
                /**
         
     | 
| 
       16 
     | 
    
         
            -
                 * Инициализирует экземпляр класса {@link CategoryCardComponent}.
         
     | 
| 
       17 
     | 
    
         
            -
                 *
         
     | 
| 
       18 
     | 
    
         
            -
                 * @param urls Список ссылок приложения.
         
     | 
| 
       19 
     | 
    
         
            -
                 * @param pathImageNotFound Путь до изображения 'Товар не найден'.
         
     | 
| 
       20 
     | 
    
         
            -
                 * @param cdr Объект для работы с обнаружением изменений.
         
     | 
| 
       21 
     | 
    
         
            -
                 */
         
     | 
| 
       22 
     | 
    
         
            -
                constructor(urls, pathImageNotFound, cdr) {
         
     | 
| 
       23 
     | 
    
         
            -
                    this.urls = urls;
         
     | 
| 
       24 
     | 
    
         
            -
                    this.pathImageNotFound = pathImageNotFound;
         
     | 
| 
       25 
     | 
    
         
            -
                    this.cdr = cdr;
         
     | 
| 
       26 
     | 
    
         
            -
                    /**
         
     | 
| 
       27 
     | 
    
         
            -
                     * Размер карточки категории.
         
     | 
| 
       28 
     | 
    
         
            -
                     */
         
     | 
| 
       29 
     | 
    
         
            -
                    this.size = 'm';
         
     | 
| 
       30 
     | 
    
         
            -
                    // TODO: Переделать на HostBinding.
         
     | 
| 
       31 
     | 
    
         
            -
                    /**
         
     | 
| 
       32 
     | 
    
         
            -
                     * Вид отображения карточки.
         
     | 
| 
       33 
     | 
    
         
            -
                     */
         
     | 
| 
       34 
     | 
    
         
            -
                    this.appearance = input('normal');
         
     | 
| 
       35 
     | 
    
         
            -
                    /**
         
     | 
| 
       36 
     | 
    
         
            -
                     * Признак, что необходимо отобразить лоадер для кнопки избранных товаров и категорий.
         
     | 
| 
       37 
     | 
    
         
            -
                     */
         
     | 
| 
       38 
     | 
    
         
            -
                    this.favoriteShowLoader = false;
         
     | 
| 
       39 
     | 
    
         
            -
                    /**
         
     | 
| 
       40 
     | 
    
         
            -
                     * {@link Observable} изменения статуса авторизации.
         
     | 
| 
       41 
     | 
    
         
            -
                     */
         
     | 
| 
       42 
     | 
    
         
            -
                    this.authStatus$ = inject(ScAuthService).getAuthChange();
         
     | 
| 
       43 
     | 
    
         
            -
                    /**
         
     | 
| 
       44 
     | 
    
         
            -
                     * Признак наведения на карточку.
         
     | 
| 
       45 
     | 
    
         
            -
                     */
         
     | 
| 
       46 
     | 
    
         
            -
                    this.isHover = false;
         
     | 
| 
       47 
     | 
    
         
            -
                    /**
         
     | 
| 
       48 
     | 
    
         
            -
                     * Признак что категория имеет поведение наведения и скрытия названия.
         
     | 
| 
       49 
     | 
    
         
            -
                     */
         
     | 
| 
       50 
     | 
    
         
            -
                    this.enableHover = false;
         
     | 
| 
       51 
     | 
    
         
            -
                    /**
         
     | 
| 
       52 
     | 
    
         
            -
                     * Признак того, отображается этот компонент на мобильном устройстве или нет.
         
     | 
| 
       53 
     | 
    
         
            -
                     */
         
     | 
| 
       54 
     | 
    
         
            -
                    this.isMobile = inject(TUI_IS_MOBILE);
         
     | 
| 
       55 
     | 
    
         
            -
                    /**
         
     | 
| 
       56 
     | 
    
         
            -
                     * Событие нажатия на кнопку избранной категории.
         
     | 
| 
       57 
     | 
    
         
            -
                     */
         
     | 
| 
       58 
     | 
    
         
            -
                    this.clickOnFavoriteEvent = new EventEmitter();
         
     | 
| 
       59 
     | 
    
         
            -
                }
         
     | 
| 
       60 
     | 
    
         
            -
                /**
         
     | 
| 
       61 
     | 
    
         
            -
                 * Обработчик события наведения.
         
     | 
| 
       62 
     | 
    
         
            -
                 *
         
     | 
| 
       63 
     | 
    
         
            -
                 * @param isHover Признак наведения на карточку.
         
     | 
| 
       64 
     | 
    
         
            -
                 */
         
     | 
| 
       65 
     | 
    
         
            -
                onHovered(isHover) {
         
     | 
| 
       66 
     | 
    
         
            -
                    this.isHover = isHover;
         
     | 
| 
       67 
     | 
    
         
            -
                }
         
     | 
| 
       68 
     | 
    
         
            -
                /**
         
     | 
| 
       69 
     | 
    
         
            -
                 * Устанавливает компонент в очередь на обновление.
         
     | 
| 
       70 
     | 
    
         
            -
                 *
         
     | 
| 
       71 
     | 
    
         
            -
                 * @deprecated
         
     | 
| 
       72 
     | 
    
         
            -
                 */
         
     | 
| 
       73 
     | 
    
         
            -
                markForCheck() {
         
     | 
| 
       74 
     | 
    
         
            -
                    this.cdr.markForCheck();
         
     | 
| 
       75 
     | 
    
         
            -
                }
         
     | 
| 
       76 
     | 
    
         
            -
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScCategoryCardComponent, deps: [{ token: SC_URLS }, { token: SC_PATH_IMAGE_NOT_FOUND }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
       77 
     | 
    
         
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ScCategoryCardComponent, selector: "sc-category-card", inputs: { category: { classPropertyName: "category", publicName: "category", isSignal: false, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, enableHover: { classPropertyName: "enableHover", publicName: "enableHover", isSignal: false, isRequired: false, transformFunction: null }, href: { classPropertyName: "href", publicName: "href", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { clickOnFavoriteEvent: "clickOnFavoriteEvent" }, host: { properties: { "attr.data-size": "this.size" } }, ngImport: i0, template: "<div class=\"relative\">\n    <a\n        (tuiHoveredChange)=\"onHovered($event)\"\n        [routerLink]=\"href ?? null\"\n        class=\"category-button flex flex-col overflow-hidden rounded-tui-radius-m border border-tui-base-04 text-center\"\n    >\n        <div class=\"img-wrapper w-full grow overflow-hidden\">\n            <picture *ngIf=\"category\">\n                @if (category.properties?.imageWebp) {\n                    <source\n                        type=\"image/webp\"\n                        [srcset]=\"category.properties?.imageWebp | scMediaImageTransformer\"\n                    />\n                }\n                <img\n                    [src]=\"category.properties?.image | scMediaImageTransformer: true\"\n                    [alt]=\"category.name\"\n                    [ngClass]=\"{ '!object-contain p-2': appearance() === 'normal' || !category.properties?.image }\"\n                    class=\"size-full rounded-xl object-cover\"\n                />\n            </picture>\n            <!-- \u0411\u043B\u043E\u043A \u0434\u043B\u044F \u0441\u043A\u0435\u043B\u0435\u0442\u043E\u043D\u0430 \u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0438 -->\n            <div\n                *ngIf=\"!category\"\n                class=\"img-wrapper size-full bg-tui-base-02\"\n            ></div>\n        </div>\n\n        <div class=\"name flex w-full items-center justify-center break-all\">\n            @if (category) {\n                @if (enableHover && !isMobile) {\n                    <tui-line-clamp\n                        [content]=\"category.name\"\n                        class=\"pointer-events-none\"\n                        [lineHeight]=\"size === 'm' ? 26 : 24\"\n                        [linesLimit]=\"isHover ? 4 : 2\"\n                    />\n                } @else {\n                    {{ category.name }}\n                }\n            } @else {\n                <div class=\"skeleton-name rounded-tui-radius-s bg-tui-base-02\"></div>\n            }\n        </div>\n    </a>\n    <sc-favorite-button\n        *ngIf=\"category && (authStatus$ | async)\"\n        [showLoader]=\"favoriteShowLoader\"\n        [isFavorite]=\"category.isFavorite\"\n        (clickEvent)=\"clickOnFavoriteEvent.emit()\"\n        class=\"absolute left-1 top-1\"\n    />\n</div>\n", styles: [":host{--tui-duration: .15s}:host[data-size=m] a.category-button{width:100%;height:12.5rem}:host[data-size=m] a.category-button .img-wrapper{max-height:8.75rem}:host[data-size=m] a.category-button .name{padding:.25rem 1rem;margin-block:auto;font-size:.9375rem;line-height:1.5rem;font-weight:800}:host[data-size=m] a.category-button .name .skeleton-name{width:10rem;height:1rem}:host[data-size=s] a.category-button{width:100%;height:10rem}:host[data-size=s] a.category-button .img-wrapper{max-height:7rem}:host[data-size=s] a.category-button .name{padding:.25rem .5rem;margin-block:auto;font-size:.8125rem;line-height:1.25rem;font-weight:800}:host[data-size=s] a.category-button .name .skeleton-name{width:7rem;height:.75rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3.TuiLineClamp, selector: "tui-line-clamp", inputs: ["lineHeight", "content", "linesLimit"], outputs: ["overflownChange"] }, { kind: "directive", type: i4.TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "component", type: i5.ScFavoriteButtonComponent, selector: "sc-favorite-button", inputs: ["isFavorite", "showLoader", "disabled"], outputs: ["clickEvent"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.ScMediaImageTransformerPipe, name: "scMediaImageTransformer" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
         
     | 
| 
       78 
     | 
    
         
            -
            }
         
     | 
| 
       79 
     | 
    
         
            -
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScCategoryCardComponent, decorators: [{
         
     | 
| 
       80 
     | 
    
         
            -
                        type: Component,
         
     | 
| 
       81 
     | 
    
         
            -
                        args: [{ selector: 'sc-category-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"relative\">\n    <a\n        (tuiHoveredChange)=\"onHovered($event)\"\n        [routerLink]=\"href ?? null\"\n        class=\"category-button flex flex-col overflow-hidden rounded-tui-radius-m border border-tui-base-04 text-center\"\n    >\n        <div class=\"img-wrapper w-full grow overflow-hidden\">\n            <picture *ngIf=\"category\">\n                @if (category.properties?.imageWebp) {\n                    <source\n                        type=\"image/webp\"\n                        [srcset]=\"category.properties?.imageWebp | scMediaImageTransformer\"\n                    />\n                }\n                <img\n                    [src]=\"category.properties?.image | scMediaImageTransformer: true\"\n                    [alt]=\"category.name\"\n                    [ngClass]=\"{ '!object-contain p-2': appearance() === 'normal' || !category.properties?.image }\"\n                    class=\"size-full rounded-xl object-cover\"\n                />\n            </picture>\n            <!-- \u0411\u043B\u043E\u043A \u0434\u043B\u044F \u0441\u043A\u0435\u043B\u0435\u0442\u043E\u043D\u0430 \u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0438 -->\n            <div\n                *ngIf=\"!category\"\n                class=\"img-wrapper size-full bg-tui-base-02\"\n            ></div>\n        </div>\n\n        <div class=\"name flex w-full items-center justify-center break-all\">\n            @if (category) {\n                @if (enableHover && !isMobile) {\n                    <tui-line-clamp\n                        [content]=\"category.name\"\n                        class=\"pointer-events-none\"\n                        [lineHeight]=\"size === 'm' ? 26 : 24\"\n                        [linesLimit]=\"isHover ? 4 : 2\"\n                    />\n                } @else {\n                    {{ category.name }}\n                }\n            } @else {\n                <div class=\"skeleton-name rounded-tui-radius-s bg-tui-base-02\"></div>\n            }\n        </div>\n    </a>\n    <sc-favorite-button\n        *ngIf=\"category && (authStatus$ | async)\"\n        [showLoader]=\"favoriteShowLoader\"\n        [isFavorite]=\"category.isFavorite\"\n        (clickEvent)=\"clickOnFavoriteEvent.emit()\"\n        class=\"absolute left-1 top-1\"\n    />\n</div>\n", styles: [":host{--tui-duration: .15s}:host[data-size=m] a.category-button{width:100%;height:12.5rem}:host[data-size=m] a.category-button .img-wrapper{max-height:8.75rem}:host[data-size=m] a.category-button .name{padding:.25rem 1rem;margin-block:auto;font-size:.9375rem;line-height:1.5rem;font-weight:800}:host[data-size=m] a.category-button .name .skeleton-name{width:10rem;height:1rem}:host[data-size=s] a.category-button{width:100%;height:10rem}:host[data-size=s] a.category-button .img-wrapper{max-height:7rem}:host[data-size=s] a.category-button .name{padding:.25rem .5rem;margin-block:auto;font-size:.8125rem;line-height:1.25rem;font-weight:800}:host[data-size=s] a.category-button .name .skeleton-name{width:7rem;height:.75rem}\n"] }]
         
     | 
| 
       82 
     | 
    
         
            -
                    }], ctorParameters: () => [{ type: undefined, decorators: [{
         
     | 
| 
       83 
     | 
    
         
            -
                                type: Inject,
         
     | 
| 
       84 
     | 
    
         
            -
                                args: [SC_URLS]
         
     | 
| 
       85 
     | 
    
         
            -
                            }] }, { type: undefined, decorators: [{
         
     | 
| 
       86 
     | 
    
         
            -
                                type: Inject,
         
     | 
| 
       87 
     | 
    
         
            -
                                args: [SC_PATH_IMAGE_NOT_FOUND]
         
     | 
| 
       88 
     | 
    
         
            -
                            }] }, { type: i0.ChangeDetectorRef }], propDecorators: { category: [{
         
     | 
| 
       89 
     | 
    
         
            -
                            type: Input
         
     | 
| 
       90 
     | 
    
         
            -
                        }], size: [{
         
     | 
| 
       91 
     | 
    
         
            -
                            type: Input
         
     | 
| 
       92 
     | 
    
         
            -
                        }, {
         
     | 
| 
       93 
     | 
    
         
            -
                            type: HostBinding,
         
     | 
| 
       94 
     | 
    
         
            -
                            args: ['attr.data-size']
         
     | 
| 
       95 
     | 
    
         
            -
                        }], enableHover: [{
         
     | 
| 
       96 
     | 
    
         
            -
                            type: Input
         
     | 
| 
       97 
     | 
    
         
            -
                        }], clickOnFavoriteEvent: [{
         
     | 
| 
       98 
     | 
    
         
            -
                            type: Output
         
     | 
| 
       99 
     | 
    
         
            -
                        }], href: [{
         
     | 
| 
       100 
     | 
    
         
            -
                            type: Input
         
     | 
| 
       101 
     | 
    
         
            -
                        }] } });
         
     | 
| 
       102 
     | 
    
         
            -
            //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2F0ZWdvcnktY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9jYXRlZ29yeS1jYXJkL3NjLWNhdGVnb3J5LWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvY2F0ZWdvcnktY2FyZC9zYy1jYXRlZ29yeS1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFlLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBdUIsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RyxPQUFPLEVBQUUsYUFBYSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFJN0Q7O0dBRUc7QUFPSCxNQUFNLE9BQU8sdUJBQXVCO0lBMERoQzs7Ozs7O09BTUc7SUFDSCxZQUNzQyxJQUFhLEVBQ0csaUJBQXlCLEVBQzFELEdBQXNCO1FBRkwsU0FBSSxHQUFKLElBQUksQ0FBUztRQUNHLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUTtRQUMxRCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQTdEM0M7O1dBRUc7UUFHSSxTQUFJLEdBQWEsR0FBRyxDQUFDO1FBRTVCLG1DQUFtQztRQUNuQzs7V0FFRztRQUNJLGVBQVUsR0FBa0QsS0FBSyxDQUFtQyxRQUFRLENBQUMsQ0FBQztRQUVySDs7V0FFRztRQUNJLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUUzQzs7V0FFRztRQUNhLGdCQUFXLEdBQXdCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUV6Rjs7V0FFRztRQUNPLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFbkM7O1dBRUc7UUFFSSxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUVwQzs7V0FFRztRQUNhLGFBQVEsR0FBWSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFMUQ7O1dBRUc7UUFFSSx5QkFBb0IsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztJQW1CcEYsQ0FBQztJQUVKOzs7O09BSUc7SUFDTyxTQUFTLENBQUMsT0FBZ0I7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxZQUFZO1FBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QixDQUFDOytHQXZGUSx1QkFBdUIsa0JBa0VwQixPQUFPLGFBQ1AsdUJBQXVCO21HQW5FMUIsdUJBQXVCLHd6QkNmcEMsNHdFQXFEQTs7NEZEdENhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDSSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTs7MEJBb0UxQyxNQUFNOzJCQUFDLE9BQU87OzBCQUNkLE1BQU07MkJBQUMsdUJBQXVCO3lFQTlENUIsUUFBUTtzQkFEZCxLQUFLO2dCQVFDLElBQUk7c0JBRlYsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBNEJ0QixXQUFXO3NCQURqQixLQUFLO2dCQVlDLG9CQUFvQjtzQkFEMUIsTUFBTTtnQkFPQSxJQUFJO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5qZWN0LCBpbmplY3QsIElucHV0LCBpbnB1dCwgSW5wdXRTaWduYWwsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU0NfUEFUSF9JTUFHRV9OT1RfRk9VTkQsIFNDX1VSTFMsIFNjQXV0aFNlcnZpY2UsIFNjQ2F0ZWdvcnksIFNjSVVybHMgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFRVSV9JU19NT0JJTEUsIFR1aUxvb3NlVW5pb24gfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IFR1aVNpemVTIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqINCa0LDRgNGC0L7Rh9C60LAg0LrQsNGC0LXQs9C+0YDQuNC4LlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLWNhdGVnb3J5LWNhcmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1jYXRlZ29yeS1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zYy1jYXRlZ29yeS1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjQ2F0ZWdvcnlDYXJkQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDQlNCw0L3QvdGL0LUg0L4g0LrQsNGC0LXQs9C+0YDQuNC4LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNhdGVnb3J5PzogU2NDYXRlZ29yeTtcblxuICAgIC8qKlxuICAgICAqINCg0LDQt9C80LXRgCDQutCw0YDRgtC+0YfQutC4INC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIHB1YmxpYyBzaXplOiBUdWlTaXplUyA9ICdtJztcblxuICAgIC8vIFRPRE86INCf0LXRgNC10LTQtdC70LDRgtGMINC90LAgSG9zdEJpbmRpbmcuXG4gICAgLyoqXG4gICAgICog0JLQuNC0INC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0LrQsNGA0YLQvtGH0LrQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXBwZWFyYW5jZTogSW5wdXRTaWduYWw8VHVpTG9vc2VVbmlvbjwncm9vdCcgfCAnbm9ybWFsJz4+ID0gaW5wdXQ8VHVpTG9vc2VVbmlvbjwncm9vdCcgfCAnbm9ybWFsJz4+KCdub3JtYWwnKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0L7RgtC+0LHRgNCw0LfQuNGC0Ywg0LvQvtCw0LTQtdGAINC00LvRjyDQutC90L7Qv9C60Lgg0LjQt9Cx0YDQsNC90L3Ri9GFINGC0L7QstCw0YDQvtCyINC4INC60LDRgtC10LPQvtGA0LjQuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZmF2b3JpdGVTaG93TG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINGB0YLQsNGC0YPRgdCwINCw0LLRgtC+0YDQuNC30LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF1dGhTdGF0dXMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gaW5qZWN0KFNjQXV0aFNlcnZpY2UpLmdldEF1dGhDaGFuZ2UoKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6INC90LDQstC10LTQtdC90LjRjyDQvdCwINC60LDRgNGC0L7Rh9C60YMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGlzSG92ZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6INGH0YLQviDQutCw0YLQtdCz0L7RgNC40Y8g0LjQvNC10LXRgiDQv9C+0LLQtdC00LXQvdC40LUg0L3QsNCy0LXQtNC10L3QuNGPINC4INGB0LrRgNGL0YLQuNGPINC90LDQt9Cy0LDQvdC40Y8uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZW5hYmxlSG92ZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6INGC0L7Qs9C+LCDQvtGC0L7QsdGA0LDQttCw0LXRgtGB0Y8g0Y3RgtC+0YIg0LrQvtC80L/QvtC90LXQvdGCINC90LAg0LzQvtCx0LjQu9GM0L3QvtC8INGD0YHRgtGA0L7QudGB0YLQstC1INC40LvQuCDQvdC10YIuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGlzTW9iaWxlOiBib29sZWFuID0gaW5qZWN0KFRVSV9JU19NT0JJTEUpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0LjQt9Cx0YDQsNC90L3QvtC5INC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2xpY2tPbkZhdm9yaXRlRXZlbnQ6IEV2ZW50RW1pdHRlcjxTY0NhdGVnb3J5PiA9IG5ldyBFdmVudEVtaXR0ZXI8U2NDYXRlZ29yeT4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0YHRi9C70LrQsCDQvdCwINGB0YLRgNCw0L3QuNGG0YMg0LrQsNGC0LXQs9C+0YDQuNC4LiDQmNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0LjQvNC10L3QvdC+IGBocmVmYCwg0YLQsNC6INC60LDQuiDQvtGB0YLQsNC90L7QstC40YLRjCDRgdC+0LHRi9GC0LjQtSDQutC70LjQutCwINC00LvRjyBgcm91dGVyTGlua2Ag0L3QtSDQstGL0YjQu9C+LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGhyZWY/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIENhdGVnb3J5Q2FyZENvbXBvbmVudH0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdXJscyDQodC/0LjRgdC+0Log0YHRgdGL0LvQvtC6INC/0YDQuNC70L7QttC10L3QuNGPLlxuICAgICAqIEBwYXJhbSBwYXRoSW1hZ2VOb3RGb3VuZCDQn9GD0YLRjCDQtNC+INC40LfQvtCx0YDQsNC20LXQvdC40Y8gJ9Ci0L7QstCw0YAg0L3QtSDQvdCw0LnQtNC10L0nLlxuICAgICAqIEBwYXJhbSBjZHIg0J7QsdGK0LXQutGCINC00LvRjyDRgNCw0LHQvtGC0Ysg0YEg0L7QsdC90LDRgNGD0LbQtdC90LjQtdC8INC40LfQvNC10L3QtdC90LjQuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoU0NfVVJMUykgcHJpdmF0ZSByZWFkb25seSB1cmxzOiBTY0lVcmxzLFxuICAgICAgICBASW5qZWN0KFNDX1BBVEhfSU1BR0VfTk9UX0ZPVU5EKSBwcml2YXRlIHJlYWRvbmx5IHBhdGhJbWFnZU5vdEZvdW5kOiBzdHJpbmcsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge31cblxuICAgIC8qKlxuICAgICAqINCe0LHRgNCw0LHQvtGC0YfQuNC6INGB0L7QsdGL0YLQuNGPINC90LDQstC10LTQtdC90LjRjy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpc0hvdmVyINCf0YDQuNC30L3QsNC6INC90LDQstC10LTQtdC90LjRjyDQvdCwINC60LDRgNGC0L7Rh9C60YMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIG9uSG92ZXJlZChpc0hvdmVyOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNIb3ZlciA9IGlzSG92ZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0LrQvtC80L/QvtC90LXQvdGCINCyINC+0YfQtdGA0LXQtNGMINC90LAg0L7QsdC90L7QstC70LXQvdC40LUuXG4gICAgICpcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqL1xuICAgIHB1YmxpYyBtYXJrRm9yQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyZWxhdGl2ZVwiPlxuICAgIDxhXG4gICAgICAgICh0dWlIb3ZlcmVkQ2hhbmdlKT1cIm9uSG92ZXJlZCgkZXZlbnQpXCJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwiaHJlZiA/PyBudWxsXCJcbiAgICAgICAgY2xhc3M9XCJjYXRlZ29yeS1idXR0b24gZmxleCBmbGV4LWNvbCBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC10dWktcmFkaXVzLW0gYm9yZGVyIGJvcmRlci10dWktYmFzZS0wNCB0ZXh0LWNlbnRlclwiXG4gICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW1nLXdyYXBwZXIgdy1mdWxsIGdyb3cgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgICAgICA8cGljdHVyZSAqbmdJZj1cImNhdGVnb3J5XCI+XG4gICAgICAgICAgICAgICAgQGlmIChjYXRlZ29yeS5wcm9wZXJ0aWVzPy5pbWFnZVdlYnApIHtcbiAgICAgICAgICAgICAgICAgICAgPHNvdXJjZVxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImltYWdlL3dlYnBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NyY3NldF09XCJjYXRlZ29yeS5wcm9wZXJ0aWVzPy5pbWFnZVdlYnAgfCBzY01lZGlhSW1hZ2VUcmFuc2Zvcm1lclwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJjYXRlZ29yeS5wcm9wZXJ0aWVzPy5pbWFnZSB8IHNjTWVkaWFJbWFnZVRyYW5zZm9ybWVyOiB0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJjYXRlZ29yeS5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnIW9iamVjdC1jb250YWluIHAtMic6IGFwcGVhcmFuY2UoKSA9PT0gJ25vcm1hbCcgfHwgIWNhdGVnb3J5LnByb3BlcnRpZXM/LmltYWdlIH1cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNpemUtZnVsbCByb3VuZGVkLXhsIG9iamVjdC1jb3ZlclwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvcGljdHVyZT5cbiAgICAgICAgICAgIDwhLS0g0JHQu9C+0Log0LTQu9GPINGB0LrQtdC70LXRgtC+0L3QsCDQutCw0YDRgtC+0YfQutC4IC0tPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIWNhdGVnb3J5XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImltZy13cmFwcGVyIHNpemUtZnVsbCBiZy10dWktYmFzZS0wMlwiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lIGZsZXggdy1mdWxsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBicmVhay1hbGxcIj5cbiAgICAgICAgICAgIEBpZiAoY2F0ZWdvcnkpIHtcbiAgICAgICAgICAgICAgICBAaWYgKGVuYWJsZUhvdmVyICYmICFpc01vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICA8dHVpLWxpbmUtY2xhbXBcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb250ZW50XT1cImNhdGVnb3J5Lm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwb2ludGVyLWV2ZW50cy1ub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5lSGVpZ2h0XT1cInNpemUgPT09ICdtJyA/IDI2IDogMjRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmVzTGltaXRdPVwiaXNIb3ZlciA/IDQgOiAyXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAge3sgY2F0ZWdvcnkubmFtZSB9fVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJza2VsZXRvbi1uYW1lIHJvdW5kZWQtdHVpLXJhZGl1cy1zIGJnLXR1aS1iYXNlLTAyXCI+PC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvYT5cbiAgICA8c2MtZmF2b3JpdGUtYnV0dG9uXG4gICAgICAgICpuZ0lmPVwiY2F0ZWdvcnkgJiYgKGF1dGhTdGF0dXMkIHwgYXN5bmMpXCJcbiAgICAgICAgW3Nob3dMb2FkZXJdPVwiZmF2b3JpdGVTaG93TG9hZGVyXCJcbiAgICAgICAgW2lzRmF2b3JpdGVdPVwiY2F0ZWdvcnkuaXNGYXZvcml0ZVwiXG4gICAgICAgIChjbGlja0V2ZW50KT1cImNsaWNrT25GYXZvcml0ZUV2ZW50LmVtaXQoKVwiXG4gICAgICAgIGNsYXNzPVwiYWJzb2x1dGUgbGVmdC0xIHRvcC0xXCJcbiAgICAvPlxuPC9kaXY+XG4iXX0=
         
     | 
| 
         @@ -1,38 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            import { CommonModule } from '@angular/common';
         
     | 
| 
       2 
     | 
    
         
            -
            import { ChangeDetectionStrategy, Component, HostBinding, inject, Input } from '@angular/core';
         
     | 
| 
       3 
     | 
    
         
            -
            import { ScWarehouseService } from '@snabcentr/client-core';
         
     | 
| 
       4 
     | 
    
         
            -
            import { TuiHint } from '@taiga-ui/core';
         
     | 
| 
       5 
     | 
    
         
            -
            import { TuiBadge } from '@taiga-ui/kit';
         
     | 
| 
       6 
     | 
    
         
            -
            import { ScFormatDatePipe } from '../../pipes';
         
     | 
| 
       7 
     | 
    
         
            -
            import * as i0 from "@angular/core";
         
     | 
| 
       8 
     | 
    
         
            -
            import * as i1 from "@angular/common";
         
     | 
| 
       9 
     | 
    
         
            -
            import * as i2 from "@taiga-ui/core";
         
     | 
| 
       10 
     | 
    
         
            -
            /**
         
     | 
| 
       11 
     | 
    
         
            -
             * Компонент центы товара с отображением скидки.
         
     | 
| 
       12 
     | 
    
         
            -
             */
         
     | 
| 
       13 
     | 
    
         
            -
            export class CostWithDiscountComponent {
         
     | 
| 
       14 
     | 
    
         
            -
                constructor() {
         
     | 
| 
       15 
     | 
    
         
            -
                    /**
         
     | 
| 
       16 
     | 
    
         
            -
                     * {@link Observable} изменения выбранного склада.
         
     | 
| 
       17 
     | 
    
         
            -
                     */
         
     | 
| 
       18 
     | 
    
         
            -
                    this.warehouseSelect$ = inject(ScWarehouseService).getWarehouseSelectChange$();
         
     | 
| 
       19 
     | 
    
         
            -
                    /**
         
     | 
| 
       20 
     | 
    
         
            -
                     * Размер компонента.
         
     | 
| 
       21 
     | 
    
         
            -
                     */
         
     | 
| 
       22 
     | 
    
         
            -
                    this.size = 'm';
         
     | 
| 
       23 
     | 
    
         
            -
                }
         
     | 
| 
       24 
     | 
    
         
            -
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CostWithDiscountComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
       25 
     | 
    
         
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CostWithDiscountComponent, isStandalone: true, selector: "sc-cost-with-discount", inputs: { product: "product", size: "size" }, host: { properties: { "attr.data-size": "this.size" } }, ngImport: i0, template: "@if (product) {\n    <div\n        *ngIf=\"warehouseSelect$ | async as warehouseSelect\"\n        class=\"flex flex-wrap items-center gap-x-2 gap-y-1\"\n    >\n        <div class=\"flex flex-wrap items-center gap-x-2 gap-y-1\">\n            <span\n                [class.text-tui-text-02]=\"!product.isWarehouseStockExist(warehouseSelect.id)\"\n                class=\"cost\"\n                >{{ product.costRubString }}</span\n            >\n            <tui-badge\n                *ngIf=\"product.discount as discount\"\n                size=\"m\"\n                [style.background]=\"'var(--tui-status-positive)'\"\n                [tuiHint]=\"discountHint\"\n                [tuiHintShowDelay]=\"100\"\n                tuiHintDirection=\"top\"\n                class=\"text-body-xs\"\n            >\n                <tui-badge\n                    *ngIf=\"product.discount as discount\"\n                    size=\"s\"\n                    [style.background]=\"'var(--tui-background-base)'\"\n                    class=\"text-body-xs-bold text-tui-text-02\"\n                >\n                    {{ discount.percent }}%\n                </tui-badge>\n\n                @let expiredAt = product.discount.expiredAt | scFormatDate;\n\n                <div class=\"flex gap-0.5\">\n                    <p class=\"flex line-through\">{{ product.discountCostString }}</p>\n                    <div *ngIf=\"expiredAt\">\u0434\u043E {{ expiredAt.substring(0, 5) }}</div>\n                </div>\n                <ng-template #discountHint>\n                    <div class=\"font-bold\">{{ product.discount.name }}</div>\n                    <div *ngIf=\"expiredAt\">\u0414\u0430\u0442\u0430 \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F: {{ expiredAt }}</div>\n                </ng-template>\n            </tui-badge>\n        </div>\n        <span\n            *ngIf=\"!product.priceInRub\"\n            class=\"font-extrabold text-tui-text-02\"\n            >{{ product.costString }}</span\n        >\n    </div>\n}\n", styles: [":host tui-badge{--t-padding: .25rem !important}:host[data-size=s]{font-size:.6875rem;line-height:1rem;font-weight:500}:host[data-size=s] .cost{font-size:.8125rem;line-height:1.25rem;font-weight:800}:host[data-size=m],:host[data-size=l]{font-size:.8125rem;line-height:1.25rem;font-weight:500}:host[data-size=m] .cost,:host[data-size=l] .cost{font-size:.9375rem;line-height:1.5rem;font-weight:800}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: TuiBadge, selector: "tui-badge,[tuiBadge]", inputs: ["size"] }, { kind: "directive", type: i2.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"] }, { kind: "pipe", type: ScFormatDatePipe, name: "scFormatDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
         
     | 
| 
       26 
     | 
    
         
            -
            }
         
     | 
| 
       27 
     | 
    
         
            -
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CostWithDiscountComponent, decorators: [{
         
     | 
| 
       28 
     | 
    
         
            -
                        type: Component,
         
     | 
| 
       29 
     | 
    
         
            -
                        args: [{ standalone: true, selector: 'sc-cost-with-discount', imports: [CommonModule, TuiBadge, ...TuiHint, ScFormatDatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (product) {\n    <div\n        *ngIf=\"warehouseSelect$ | async as warehouseSelect\"\n        class=\"flex flex-wrap items-center gap-x-2 gap-y-1\"\n    >\n        <div class=\"flex flex-wrap items-center gap-x-2 gap-y-1\">\n            <span\n                [class.text-tui-text-02]=\"!product.isWarehouseStockExist(warehouseSelect.id)\"\n                class=\"cost\"\n                >{{ product.costRubString }}</span\n            >\n            <tui-badge\n                *ngIf=\"product.discount as discount\"\n                size=\"m\"\n                [style.background]=\"'var(--tui-status-positive)'\"\n                [tuiHint]=\"discountHint\"\n                [tuiHintShowDelay]=\"100\"\n                tuiHintDirection=\"top\"\n                class=\"text-body-xs\"\n            >\n                <tui-badge\n                    *ngIf=\"product.discount as discount\"\n                    size=\"s\"\n                    [style.background]=\"'var(--tui-background-base)'\"\n                    class=\"text-body-xs-bold text-tui-text-02\"\n                >\n                    {{ discount.percent }}%\n                </tui-badge>\n\n                @let expiredAt = product.discount.expiredAt | scFormatDate;\n\n                <div class=\"flex gap-0.5\">\n                    <p class=\"flex line-through\">{{ product.discountCostString }}</p>\n                    <div *ngIf=\"expiredAt\">\u0434\u043E {{ expiredAt.substring(0, 5) }}</div>\n                </div>\n                <ng-template #discountHint>\n                    <div class=\"font-bold\">{{ product.discount.name }}</div>\n                    <div *ngIf=\"expiredAt\">\u0414\u0430\u0442\u0430 \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F: {{ expiredAt }}</div>\n                </ng-template>\n            </tui-badge>\n        </div>\n        <span\n            *ngIf=\"!product.priceInRub\"\n            class=\"font-extrabold text-tui-text-02\"\n            >{{ product.costString }}</span\n        >\n    </div>\n}\n", styles: [":host tui-badge{--t-padding: .25rem !important}:host[data-size=s]{font-size:.6875rem;line-height:1rem;font-weight:500}:host[data-size=s] .cost{font-size:.8125rem;line-height:1.25rem;font-weight:800}:host[data-size=m],:host[data-size=l]{font-size:.8125rem;line-height:1.25rem;font-weight:500}:host[data-size=m] .cost,:host[data-size=l] .cost{font-size:.9375rem;line-height:1.5rem;font-weight:800}\n"] }]
         
     | 
| 
       30 
     | 
    
         
            -
                    }], propDecorators: { product: [{
         
     | 
| 
       31 
     | 
    
         
            -
                            type: Input
         
     | 
| 
       32 
     | 
    
         
            -
                        }], size: [{
         
     | 
| 
       33 
     | 
    
         
            -
                            type: Input
         
     | 
| 
       34 
     | 
    
         
            -
                        }, {
         
     | 
| 
       35 
     | 
    
         
            -
                            type: HostBinding,
         
     | 
| 
       36 
     | 
    
         
            -
                            args: ['attr.data-size']
         
     | 
| 
       37 
     | 
    
         
            -
                        }] } });
         
     | 
| 
       38 
     | 
    
         
            -
            //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zdC13aXRoLWRpc2NvdW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9jYXRhbG9nL2Nvc3Qtd2l0aC1kaXNjb3VudC9jb3N0LXdpdGgtZGlzY291bnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvY29zdC13aXRoLWRpc2NvdW50L2Nvc3Qtd2l0aC1kaXNjb3VudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQTJCLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckYsT0FBTyxFQUFFLE9BQU8sRUFBc0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQUUvQzs7R0FFRztBQVNILE1BQU0sT0FBTyx5QkFBeUI7SUFSdEM7UUFTSTs7V0FFRztRQUNhLHFCQUFnQixHQUFvQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBUTNIOztXQUVHO1FBR0ksU0FBSSxHQUF3QixHQUFHLENBQUM7S0FDMUM7K0dBbEJZLHlCQUF5QjttR0FBekIseUJBQXlCLHdMQ3BCdEMsOCtEQWdEQSxzY0RqQ2MsWUFBWSx3TEFBRSxRQUFRLHNQQUFjLGdCQUFnQjs7NEZBS3JELHlCQUF5QjtrQkFSckMsU0FBUztpQ0FDTSxJQUFJLFlBQ04sdUJBQXVCLFdBQ3hCLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxtQkFHOUMsdUJBQXVCLENBQUMsTUFBTTs4QkFZeEMsT0FBTztzQkFEYixLQUFLO2dCQVFDLElBQUk7c0JBRlYsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIGluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNjSVdhcmVob3VzZSwgU2NQcm9kdWN0LCBTY1dhcmVob3VzZVNlcnZpY2UgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFR1aUhpbnQsIFR1aVNpemVMLCBUdWlTaXplUyB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFR1aUJhZGdlIH0gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNjRm9ybWF0RGF0ZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcyc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINGG0LXQvdGC0Ysg0YLQvtCy0LDRgNCwINGBINC+0YLQvtCx0YDQsNC20LXQvdC40LXQvCDRgdC60LjQtNC60LguXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdzYy1jb3N0LXdpdGgtZGlzY291bnQnLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFR1aUJhZGdlLCAuLi5UdWlIaW50LCBTY0Zvcm1hdERhdGVQaXBlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29zdC13aXRoLWRpc2NvdW50LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vY29zdC13aXRoLWRpc2NvdW50LmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ29zdFdpdGhEaXNjb3VudENvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDQstGL0LHRgNCw0L3QvdC+0LPQviDRgdC60LvQsNC00LAuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHdhcmVob3VzZVNlbGVjdCQ6IE9ic2VydmFibGU8U2NJV2FyZWhvdXNlIHwgbnVsbD4gPSBpbmplY3QoU2NXYXJlaG91c2VTZXJ2aWNlKS5nZXRXYXJlaG91c2VTZWxlY3RDaGFuZ2UkKCk7XG5cbiAgICAvKipcbiAgICAgKiDQntCx0YrQtdC60YIg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHByb2R1Y3Q6IFNjUHJvZHVjdDtcblxuICAgIC8qKlxuICAgICAqINCg0LDQt9C80LXRgCDQutC+0LzQv9C+0L3QtdC90YLQsC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIHB1YmxpYyBzaXplOiBUdWlTaXplUyB8IFR1aVNpemVMID0gJ20nO1xufVxuIiwiQGlmIChwcm9kdWN0KSB7XG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cIndhcmVob3VzZVNlbGVjdCQgfCBhc3luYyBhcyB3YXJlaG91c2VTZWxlY3RcIlxuICAgICAgICBjbGFzcz1cImZsZXggZmxleC13cmFwIGl0ZW1zLWNlbnRlciBnYXAteC0yIGdhcC15LTFcIlxuICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwIGl0ZW1zLWNlbnRlciBnYXAteC0yIGdhcC15LTFcIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgW2NsYXNzLnRleHQtdHVpLXRleHQtMDJdPVwiIXByb2R1Y3QuaXNXYXJlaG91c2VTdG9ja0V4aXN0KHdhcmVob3VzZVNlbGVjdC5pZClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY29zdFwiXG4gICAgICAgICAgICAgICAgPnt7IHByb2R1Y3QuY29zdFJ1YlN0cmluZyB9fTwvc3BhblxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPHR1aS1iYWRnZVxuICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvZHVjdC5kaXNjb3VudCBhcyBkaXNjb3VudFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cIid2YXIoLS10dWktc3RhdHVzLXBvc2l0aXZlKSdcIlxuICAgICAgICAgICAgICAgIFt0dWlIaW50XT1cImRpc2NvdW50SGludFwiXG4gICAgICAgICAgICAgICAgW3R1aUhpbnRTaG93RGVsYXldPVwiMTAwXCJcbiAgICAgICAgICAgICAgICB0dWlIaW50RGlyZWN0aW9uPVwidG9wXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtYm9keS14c1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHR1aS1iYWRnZVxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInByb2R1Y3QuZGlzY291bnQgYXMgZGlzY291bnRcIlxuICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cIid2YXIoLS10dWktYmFja2dyb3VuZC1iYXNlKSdcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtYm9keS14cy1ib2xkIHRleHQtdHVpLXRleHQtMDJcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgZGlzY291bnQucGVyY2VudCB9fSVcbiAgICAgICAgICAgICAgICA8L3R1aS1iYWRnZT5cblxuICAgICAgICAgICAgICAgIEBsZXQgZXhwaXJlZEF0ID0gcHJvZHVjdC5kaXNjb3VudC5leHBpcmVkQXQgfCBzY0Zvcm1hdERhdGU7XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMC41XCI+XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiZmxleCBsaW5lLXRocm91Z2hcIj57eyBwcm9kdWN0LmRpc2NvdW50Q29zdFN0cmluZyB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImV4cGlyZWRBdFwiPtC00L4ge3sgZXhwaXJlZEF0LnN1YnN0cmluZygwLCA1KSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGlzY291bnRIaW50PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9udC1ib2xkXCI+e3sgcHJvZHVjdC5kaXNjb3VudC5uYW1lIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJleHBpcmVkQXRcIj7QlNCw0YLQsCDQvtC60L7QvdGH0LDQvdC40Y86IHt7IGV4cGlyZWRBdCB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3R1aS1iYWRnZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICAqbmdJZj1cIiFwcm9kdWN0LnByaWNlSW5SdWJcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb250LWV4dHJhYm9sZCB0ZXh0LXR1aS10ZXh0LTAyXCJcbiAgICAgICAgICAgID57eyBwcm9kdWN0LmNvc3RTdHJpbmcgfX08L3NwYW5cbiAgICAgICAgPlxuICAgIDwvZGl2PlxufVxuIl19
         
     | 
| 
         @@ -1,56 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            import { AsyncPipe } from '@angular/common';
         
     | 
| 
       2 
     | 
    
         
            -
            import { Component, inject, input } from '@angular/core';
         
     | 
| 
       3 
     | 
    
         
            -
            import { WA_WINDOW } from '@ng-web-apis/common';
         
     | 
| 
       4 
     | 
    
         
            -
            import { ScCatalogService, ScMimeTypes } from '@snabcentr/client-core';
         
     | 
| 
       5 
     | 
    
         
            -
            import { TuiAppearance, TuiButton, TuiHint, TuiIcons, TuiWithAppearance, TuiWithIcons } from '@taiga-ui/core';
         
     | 
| 
       6 
     | 
    
         
            -
            import { TuiButtonLoading } from '@taiga-ui/kit';
         
     | 
| 
       7 
     | 
    
         
            -
            import { share, startWith, Subject, switchMap, tap } from 'rxjs';
         
     | 
| 
       8 
     | 
    
         
            -
            import * as i0 from "@angular/core";
         
     | 
| 
       9 
     | 
    
         
            -
            import * as i1 from "@taiga-ui/core";
         
     | 
| 
       10 
     | 
    
         
            -
            /**
         
     | 
| 
       11 
     | 
    
         
            -
             * Компонент скачивания каталога.
         
     | 
| 
       12 
     | 
    
         
            -
             */
         
     | 
| 
       13 
     | 
    
         
            -
            export class ScDownloadPriceListComponent {
         
     | 
| 
       14 
     | 
    
         
            -
                constructor() {
         
     | 
| 
       15 
     | 
    
         
            -
                    /**
         
     | 
| 
       16 
     | 
    
         
            -
                     * Идентификатор категории, для которой нужно скачать прайс.
         
     | 
| 
       17 
     | 
    
         
            -
                     */
         
     | 
| 
       18 
     | 
    
         
            -
                    this.categoryId = input();
         
     | 
| 
       19 
     | 
    
         
            -
                    /**
         
     | 
| 
       20 
     | 
    
         
            -
                     * {@link Subject} события скачивания цен каталога.
         
     | 
| 
       21 
     | 
    
         
            -
                     */
         
     | 
| 
       22 
     | 
    
         
            -
                    this.onDownload = new Subject();
         
     | 
| 
       23 
     | 
    
         
            -
                    /**
         
     | 
| 
       24 
     | 
    
         
            -
                     * {@link Observable} запроса на скачивание цен каталога.
         
     | 
| 
       25 
     | 
    
         
            -
                     */
         
     | 
| 
       26 
     | 
    
         
            -
                    this.request$ = this.onDownload.pipe(switchMap((type) => this.catalogService.downloadPrice$(type, this.categoryId()).pipe(tap((blob) => {
         
     | 
| 
       27 
     | 
    
         
            -
                        const priceWindow = type === ScMimeTypes.pdf ? this.window.open('/', '_blank', 'rel="nofollow noreferrer"') : this.window;
         
     | 
| 
       28 
     | 
    
         
            -
                        (priceWindow ?? this.window).location.assign(this.window.URL.createObjectURL(blob));
         
     | 
| 
       29 
     | 
    
         
            -
                    }), startWith(type))), share(), 
         
     | 
| 
       30 
     | 
    
         
            -
                    // eslint-disable-next-line unicorn/no-useless-undefined
         
     | 
| 
       31 
     | 
    
         
            -
                    startWith(undefined));
         
     | 
| 
       32 
     | 
    
         
            -
                    /**
         
     | 
| 
       33 
     | 
    
         
            -
                     * Текст подсказки при скачивании.
         
     | 
| 
       34 
     | 
    
         
            -
                     */
         
     | 
| 
       35 
     | 
    
         
            -
                    this.pdfLoadingHint = 'Скачивание каталога может занять некоторое время...';
         
     | 
| 
       36 
     | 
    
         
            -
                    /**
         
     | 
| 
       37 
     | 
    
         
            -
                     * Сервис для работы с каталогом.
         
     | 
| 
       38 
     | 
    
         
            -
                     */
         
     | 
| 
       39 
     | 
    
         
            -
                    this.catalogService = inject(ScCatalogService);
         
     | 
| 
       40 
     | 
    
         
            -
                    /**
         
     | 
| 
       41 
     | 
    
         
            -
                     * Объект окна.
         
     | 
| 
       42 
     | 
    
         
            -
                     */
         
     | 
| 
       43 
     | 
    
         
            -
                    this.window = inject(WA_WINDOW);
         
     | 
| 
       44 
     | 
    
         
            -
                    /**
         
     | 
| 
       45 
     | 
    
         
            -
                     * Перечисление MIME-типов.
         
     | 
| 
       46 
     | 
    
         
            -
                     */
         
     | 
| 
       47 
     | 
    
         
            -
                    this.mimeTypes = ScMimeTypes;
         
     | 
| 
       48 
     | 
    
         
            -
                }
         
     | 
| 
       49 
     | 
    
         
            -
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScDownloadPriceListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
       50 
     | 
    
         
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: ScDownloadPriceListComponent, isStandalone: true, selector: "sc-download-price-list", inputs: { categoryId: { classPropertyName: "categoryId", publicName: "categoryId", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@let request = request$ | async;\n@let pdfLoading = request === mimeTypes.pdf;\n@let csvLoading = request === mimeTypes.csv;\n\n<div class=\"dropdown flex flex-col gap-2 p-4\">\n    <button\n        tuiButton\n        [loading]=\"pdfLoading\"\n        (click)=\"onDownload.next(mimeTypes.pdf)\"\n        iconStart=\"@tui.sc.file-p\"\n        size=\"s\"\n        [tuiHint]=\"pdfLoading ? pdfLoadingHint : null\"\n        appearance=\"mono\"\n    >\n        \u0421\u043A\u0430\u0447\u0430\u0442\u044C \u043F\u0440\u0430\u0439\u0441 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 PDF\n    </button>\n    <button\n        tuiButton\n        [loading]=\"csvLoading\"\n        (click)=\"onDownload.next(mimeTypes.csv)\"\n        iconStart=\"@tui.sc.file-x\"\n        size=\"s\"\n        appearance=\"mono\"\n    >\n        \u0421\u043A\u0430\u0447\u0430\u0442\u044C \u043F\u0440\u0430\u0439\u0441 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 CSV\n    </button>\n</div>\n", dependencies: [{ kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: i1.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"] }] }); }
         
     | 
| 
       51 
     | 
    
         
            -
            }
         
     | 
| 
       52 
     | 
    
         
            -
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScDownloadPriceListComponent, decorators: [{
         
     | 
| 
       53 
     | 
    
         
            -
                        type: Component,
         
     | 
| 
       54 
     | 
    
         
            -
                        args: [{ standalone: true, selector: 'sc-download-price-list', imports: [TuiAppearance, TuiWithAppearance, TuiIcons, TuiWithIcons, TuiButton, TuiButtonLoading, AsyncPipe, TuiHint], template: "@let request = request$ | async;\n@let pdfLoading = request === mimeTypes.pdf;\n@let csvLoading = request === mimeTypes.csv;\n\n<div class=\"dropdown flex flex-col gap-2 p-4\">\n    <button\n        tuiButton\n        [loading]=\"pdfLoading\"\n        (click)=\"onDownload.next(mimeTypes.pdf)\"\n        iconStart=\"@tui.sc.file-p\"\n        size=\"s\"\n        [tuiHint]=\"pdfLoading ? pdfLoadingHint : null\"\n        appearance=\"mono\"\n    >\n        \u0421\u043A\u0430\u0447\u0430\u0442\u044C \u043F\u0440\u0430\u0439\u0441 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 PDF\n    </button>\n    <button\n        tuiButton\n        [loading]=\"csvLoading\"\n        (click)=\"onDownload.next(mimeTypes.csv)\"\n        iconStart=\"@tui.sc.file-x\"\n        size=\"s\"\n        appearance=\"mono\"\n    >\n        \u0421\u043A\u0430\u0447\u0430\u0442\u044C \u043F\u0440\u0430\u0439\u0441 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 CSV\n    </button>\n</div>\n" }]
         
     | 
| 
       55 
     | 
    
         
            -
                    }] });
         
     | 
| 
       56 
     | 
    
         
            -
            //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZG93bmxvYWQtcHJpY2UtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9kb3dubG9hZC1wcmljZS1saXN0L3NjLWRvd25sb2FkLXByaWNlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvZG93bmxvYWQtcHJpY2UtbGlzdC9zYy1kb3dubG9hZC1wcmljZS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBRWpFOztHQUVHO0FBT0gsTUFBTSxPQUFPLDRCQUE0QjtJQU56QztRQU9JOztXQUVHO1FBQ0ksZUFBVSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBRXBDOztXQUVHO1FBQ2dCLGVBQVUsR0FBeUIsSUFBSSxPQUFPLEVBQWUsQ0FBQztRQUVqRjs7V0FFRztRQUNnQixhQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQzlDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDNUQsR0FBRyxDQUFDLENBQUMsSUFBVSxFQUFFLEVBQUU7WUFDZixNQUFNLFdBQVcsR0FBRyxJQUFJLEtBQUssV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSwyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzFILENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3hGLENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FDbEIsQ0FDSixFQUNELEtBQUssRUFBRTtRQUNQLHdEQUF3RDtRQUN4RCxTQUFTLENBQUMsU0FBUyxDQUFDLENBQ3ZCLENBQUM7UUFFRjs7V0FFRztRQUNnQixtQkFBYyxHQUFXLHFEQUFxRCxDQUFDO1FBRWxHOztXQUVHO1FBQ2MsbUJBQWMsR0FBcUIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFN0U7O1dBRUc7UUFDYyxXQUFNLEdBQStCLE1BQU0sQ0FBNkIsU0FBUyxDQUFDLENBQUM7UUFFcEc7O1dBRUc7UUFDZ0IsY0FBUyxHQUF1QixXQUFXLENBQUM7S0FDbEU7K0dBaERZLDRCQUE0QjttR0FBNUIsNEJBQTRCLHFPQ2pCekMsODhCQTJCQSw0Q0Rad0UsU0FBUyxvSUFBRSxnQkFBZ0Isa0hBQUUsU0FBUzs7NEZBRWpHLDRCQUE0QjtrQkFOeEMsU0FBUztpQ0FDTSxJQUFJLFlBQ04sd0JBQXdCLFdBRXpCLENBQUMsYUFBYSxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXQV9XSU5ET1cgfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7IFNjQ2F0YWxvZ1NlcnZpY2UsIFNjTWltZVR5cGVzIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUdWlBcHBlYXJhbmNlLCBUdWlCdXR0b24sIFR1aUhpbnQsIFR1aUljb25zLCBUdWlXaXRoQXBwZWFyYW5jZSwgVHVpV2l0aEljb25zIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgVHVpQnV0dG9uTG9hZGluZyB9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuaW1wb3J0IHsgc2hhcmUsIHN0YXJ0V2l0aCwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0YHQutCw0YfQuNCy0LDQvdC40Y8g0LrQsNGC0LDQu9C+0LPQsC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3NjLWRvd25sb2FkLXByaWNlLWxpc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1kb3dubG9hZC1wcmljZS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBpbXBvcnRzOiBbVHVpQXBwZWFyYW5jZSwgVHVpV2l0aEFwcGVhcmFuY2UsIFR1aUljb25zLCBUdWlXaXRoSWNvbnMsIFR1aUJ1dHRvbiwgVHVpQnV0dG9uTG9hZGluZywgQXN5bmNQaXBlLCBUdWlIaW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2NEb3dubG9hZFByaWNlTGlzdENvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LrQsNGC0LXQs9C+0YDQuNC4LCDQtNC70Y8g0LrQvtGC0L7RgNC+0Lkg0L3Rg9C20L3QviDRgdC60LDRh9Cw0YLRjCDQv9GA0LDQudGBLlxuICAgICAqL1xuICAgIHB1YmxpYyBjYXRlZ29yeUlkID0gaW5wdXQ8bnVtYmVyPigpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIFN1YmplY3R9INGB0L7QsdGL0YLQuNGPINGB0LrQsNGH0LjQstCw0L3QuNGPINGG0LXQvSDQutCw0YLQsNC70L7Qs9CwLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvbkRvd25sb2FkOiBTdWJqZWN0PFNjTWltZVR5cGVzPiA9IG5ldyBTdWJqZWN0PFNjTWltZVR5cGVzPigpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC30LDQv9GA0L7RgdCwINC90LAg0YHQutCw0YfQuNCy0LDQvdC40LUg0YbQtdC9INC60LDRgtCw0LvQvtCz0LAuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlcXVlc3QkID0gdGhpcy5vbkRvd25sb2FkLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgodHlwZSkgPT5cbiAgICAgICAgICAgIHRoaXMuY2F0YWxvZ1NlcnZpY2UuZG93bmxvYWRQcmljZSQodHlwZSwgdGhpcy5jYXRlZ29yeUlkKCkpLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKChibG9iOiBCbG9iKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHByaWNlV2luZG93ID0gdHlwZSA9PT0gU2NNaW1lVHlwZXMucGRmID8gdGhpcy53aW5kb3cub3BlbignLycsICdfYmxhbmsnLCAncmVsPVwibm9mb2xsb3cgbm9yZWZlcnJlclwiJykgOiB0aGlzLndpbmRvdztcbiAgICAgICAgICAgICAgICAgICAgKHByaWNlV2luZG93ID8/IHRoaXMud2luZG93KS5sb2NhdGlvbi5hc3NpZ24odGhpcy53aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKHR5cGUpXG4gICAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIHNoYXJlKCksXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB1bmljb3JuL25vLXVzZWxlc3MtdW5kZWZpbmVkXG4gICAgICAgIHN0YXJ0V2l0aCh1bmRlZmluZWQpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqINCi0LXQutGB0YIg0L/QvtC00YHQutCw0LfQutC4INC/0YDQuCDRgdC60LDRh9C40LLQsNC90LjQuC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGRmTG9hZGluZ0hpbnQ6IHN0cmluZyA9ICfQodC60LDRh9C40LLQsNC90LjQtSDQutCw0YLQsNC70L7Qs9CwINC80L7QttC10YIg0LfQsNC90Y/RgtGMINC90LXQutC+0YLQvtGA0L7QtSDQstGA0LXQvNGPLi4uJztcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINC60LDRgtCw0LvQvtCz0L7QvC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhdGFsb2dTZXJ2aWNlOiBTY0NhdGFsb2dTZXJ2aWNlID0gaW5qZWN0KFNjQ2F0YWxvZ1NlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICog0J7QsdGK0LXQutGCINC+0LrQvdCwLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgd2luZG93OiBXaW5kb3cgJiB0eXBlb2YgZ2xvYmFsVGhpcyA9IGluamVjdDxXaW5kb3cgJiB0eXBlb2YgZ2xvYmFsVGhpcz4oV0FfV0lORE9XKTtcblxuICAgIC8qKlxuICAgICAqINCf0LXRgNC10YfQuNGB0LvQtdC90LjQtSBNSU1FLdGC0LjQv9C+0LIuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1pbWVUeXBlczogdHlwZW9mIFNjTWltZVR5cGVzID0gU2NNaW1lVHlwZXM7XG59XG4iLCJAbGV0IHJlcXVlc3QgPSByZXF1ZXN0JCB8IGFzeW5jO1xuQGxldCBwZGZMb2FkaW5nID0gcmVxdWVzdCA9PT0gbWltZVR5cGVzLnBkZjtcbkBsZXQgY3N2TG9hZGluZyA9IHJlcXVlc3QgPT09IG1pbWVUeXBlcy5jc3Y7XG5cbjxkaXYgY2xhc3M9XCJkcm9wZG93biBmbGV4IGZsZXgtY29sIGdhcC0yIHAtNFwiPlxuICAgIDxidXR0b25cbiAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgIFtsb2FkaW5nXT1cInBkZkxvYWRpbmdcIlxuICAgICAgICAoY2xpY2spPVwib25Eb3dubG9hZC5uZXh0KG1pbWVUeXBlcy5wZGYpXCJcbiAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5zYy5maWxlLXBcIlxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIFt0dWlIaW50XT1cInBkZkxvYWRpbmcgPyBwZGZMb2FkaW5nSGludCA6IG51bGxcIlxuICAgICAgICBhcHBlYXJhbmNlPVwibW9ub1wiXG4gICAgPlxuICAgICAgICDQodC60LDRh9Cw0YLRjCDQv9GA0LDQudGBINCyINGE0L7RgNC80LDRgtC1IFBERlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgIFtsb2FkaW5nXT1cImNzdkxvYWRpbmdcIlxuICAgICAgICAoY2xpY2spPVwib25Eb3dubG9hZC5uZXh0KG1pbWVUeXBlcy5jc3YpXCJcbiAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5zYy5maWxlLXhcIlxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIGFwcGVhcmFuY2U9XCJtb25vXCJcbiAgICA+XG4gICAgICAgINCh0LrQsNGH0LDRgtGMINC/0YDQsNC50YEg0LIg0YTQvtGA0LzQsNGC0LUgQ1NWXG4gICAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
         
     | 
| 
         @@ -1,76 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            import { ChangeDetectionStrategy, Component, computed, input, signal } from '@angular/core';
         
     | 
| 
       2 
     | 
    
         
            -
            import { TuiHovered, TuiRepeatTimes } from '@taiga-ui/cdk';
         
     | 
| 
       3 
     | 
    
         
            -
            import { TuiButton } from '@taiga-ui/core';
         
     | 
| 
       4 
     | 
    
         
            -
            import * as i0 from "@angular/core";
         
     | 
| 
       5 
     | 
    
         
            -
            /**
         
     | 
| 
       6 
     | 
    
         
            -
             * Компонент просмотра изображений через событие наведения.
         
     | 
| 
       7 
     | 
    
         
            -
             */
         
     | 
| 
       8 
     | 
    
         
            -
            export class ScHoverImageCarouselComponent {
         
     | 
| 
       9 
     | 
    
         
            -
                constructor() {
         
     | 
| 
       10 
     | 
    
         
            -
                    /**
         
     | 
| 
       11 
     | 
    
         
            -
                     * Массив изображений.
         
     | 
| 
       12 
     | 
    
         
            -
                     */
         
     | 
| 
       13 
     | 
    
         
            -
                    this.images = input.required();
         
     | 
| 
       14 
     | 
    
         
            -
                    /**
         
     | 
| 
       15 
     | 
    
         
            -
                     * Признак что необходимо отобразить элементы управления.
         
     | 
| 
       16 
     | 
    
         
            -
                     */
         
     | 
| 
       17 
     | 
    
         
            -
                    this.isShowActions = input(true);
         
     | 
| 
       18 
     | 
    
         
            -
                    /**
         
     | 
| 
       19 
     | 
    
         
            -
                     * {@link WritableSignal} для отслеживания текущего индекса изображения.
         
     | 
| 
       20 
     | 
    
         
            -
                     */
         
     | 
| 
       21 
     | 
    
         
            -
                    this.currentIndex = signal(0);
         
     | 
| 
       22 
     | 
    
         
            -
                    /**
         
     | 
| 
       23 
     | 
    
         
            -
                     * {@link WritableSignal} для отслеживания текущего индекса изображения.
         
     | 
| 
       24 
     | 
    
         
            -
                     */
         
     | 
| 
       25 
     | 
    
         
            -
                    this.currentImage = computed(() => this.images()[this.currentIndex()]);
         
     | 
| 
       26 
     | 
    
         
            -
                    /**
         
     | 
| 
       27 
     | 
    
         
            -
                     * Название товара.
         
     | 
| 
       28 
     | 
    
         
            -
                     */
         
     | 
| 
       29 
     | 
    
         
            -
                    this.productName = input();
         
     | 
| 
       30 
     | 
    
         
            -
                }
         
     | 
| 
       31 
     | 
    
         
            -
                /**
         
     | 
| 
       32 
     | 
    
         
            -
                 * Обработчик события `mousemove.silent`.
         
     | 
| 
       33 
     | 
    
         
            -
                 *
         
     | 
| 
       34 
     | 
    
         
            -
                 * @param offsetX Отступ курсора мыши по оси X от края {@link HTMLElement}.
         
     | 
| 
       35 
     | 
    
         
            -
                 * @param target Объект {@link HTMLElement} в котором лежат изображения
         
     | 
| 
       36 
     | 
    
         
            -
                 */
         
     | 
| 
       37 
     | 
    
         
            -
                onHover(offsetX, target) {
         
     | 
| 
       38 
     | 
    
         
            -
                    if (this.images().length <= 1 || offsetX < 0) {
         
     | 
| 
       39 
     | 
    
         
            -
                        return;
         
     | 
| 
       40 
     | 
    
         
            -
                    }
         
     | 
| 
       41 
     | 
    
         
            -
                    const elementWidth = target.offsetWidth;
         
     | 
| 
       42 
     | 
    
         
            -
                    const hoverPercentage = Math.min(offsetX / elementWidth, 1);
         
     | 
| 
       43 
     | 
    
         
            -
                    const newIndex = Math.min(Math.floor(hoverPercentage * this.images().length), this.images().length - 1);
         
     | 
| 
       44 
     | 
    
         
            -
                    this.currentIndex.set(newIndex);
         
     | 
| 
       45 
     | 
    
         
            -
                }
         
     | 
| 
       46 
     | 
    
         
            -
                /**
         
     | 
| 
       47 
     | 
    
         
            -
                 * Обработчик события `mouseleave.silent`.
         
     | 
| 
       48 
     | 
    
         
            -
                 */
         
     | 
| 
       49 
     | 
    
         
            -
                onLeave() {
         
     | 
| 
       50 
     | 
    
         
            -
                    if (this.images().length <= 1) {
         
     | 
| 
       51 
     | 
    
         
            -
                        return;
         
     | 
| 
       52 
     | 
    
         
            -
                    }
         
     | 
| 
       53 
     | 
    
         
            -
                    this.currentIndex.set(0);
         
     | 
| 
       54 
     | 
    
         
            -
                }
         
     | 
| 
       55 
     | 
    
         
            -
                /**
         
     | 
| 
       56 
     | 
    
         
            -
                 * Обработчик события наведения указателя мыши на точку.
         
     | 
| 
       57 
     | 
    
         
            -
                 *
         
     | 
| 
       58 
     | 
    
         
            -
                 * @param hovered Признак что указатель мыши наведен на точку.
         
     | 
| 
       59 
     | 
    
         
            -
                 * @param index Индекс изображения, который соответствует точке.
         
     | 
| 
       60 
     | 
    
         
            -
                 */
         
     | 
| 
       61 
     | 
    
         
            -
                onDotHovered(hovered, index) {
         
     | 
| 
       62 
     | 
    
         
            -
                    if (hovered) {
         
     | 
| 
       63 
     | 
    
         
            -
                        this.currentIndex.set(index);
         
     | 
| 
       64 
     | 
    
         
            -
                    }
         
     | 
| 
       65 
     | 
    
         
            -
                }
         
     | 
| 
       66 
     | 
    
         
            -
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScHoverImageCarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
       67 
     | 
    
         
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ScHoverImageCarouselComponent, isStandalone: true, selector: "sc-hover-image-carousel", inputs: { images: { classPropertyName: "images", publicName: "images", isSignal: true, isRequired: true, transformFunction: null }, isShowActions: { classPropertyName: "isShowActions", publicName: "isShowActions", isSignal: true, isRequired: false, transformFunction: null }, productName: { classPropertyName: "productName", publicName: "productName", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mousemove.silent": "onHover($event.offsetX, $event.target)", "mouseleave.silent": "onLeave()" } }, ngImport: i0, template: "<div\n    class=\"overflow-hidden rounded-xl\"\n    [class.mb-2]=\"images().length <= 1 && isShowActions()\"\n    [style.aspect-ratio]=\"'20/19'\"\n>\n    @let image = currentImage();\n    <picture>\n        @if (image.imageWebp) {\n            <source\n                type=\"image/webp\"\n                [srcset]=\"image.imageWebp\"\n            />\n        }\n\n        @if (image.image) {\n            <img\n                [src]=\"image.image\"\n                [alt]=\"image.alt\"\n                class=\"size-full rounded-xl object-contain\"\n            />\n        }\n    </picture>\n</div>\n@if (images().length > 1 && isShowActions()) {\n    <div\n        (mousemove.silent)=\"$event.stopPropagation()\"\n        class=\"flex justify-center\"\n    >\n        <button\n            *tuiRepeatTimes=\"let indexItem of images().length\"\n            #element\n            tuiButton\n            type=\"button\"\n            class=\"button button_small\"\n            [appearance]=\"indexItem === currentIndex() ? 'primary' : 'secondary'\"\n            (tuiHoveredChange)=\"onDotHovered($event, indexItem)\"\n        ></button>\n    </div>\n}\n", styles: [".button{flex-shrink:0}.button:first-child{margin-inline-start:0}.button:last-child{margin-inline-end:0}.button_small{inline-size:.5rem;block-size:.5rem;font-size:0;padding:0;margin:0}.button_small:not(:first-child){margin-left:.5rem}\n"], dependencies: [{ kind: "directive", type: TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
         
     | 
| 
       68 
     | 
    
         
            -
            }
         
     | 
| 
       69 
     | 
    
         
            -
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScHoverImageCarouselComponent, decorators: [{
         
     | 
| 
       70 
     | 
    
         
            -
                        type: Component,
         
     | 
| 
       71 
     | 
    
         
            -
                        args: [{ standalone: true, selector: 'sc-hover-image-carousel', imports: [TuiRepeatTimes, TuiButton, TuiHovered], host: {
         
     | 
| 
       72 
     | 
    
         
            -
                                    '(mousemove.silent)': 'onHover($event.offsetX, $event.target)',
         
     | 
| 
       73 
     | 
    
         
            -
                                    '(mouseleave.silent)': 'onLeave()',
         
     | 
| 
       74 
     | 
    
         
            -
                                }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n    class=\"overflow-hidden rounded-xl\"\n    [class.mb-2]=\"images().length <= 1 && isShowActions()\"\n    [style.aspect-ratio]=\"'20/19'\"\n>\n    @let image = currentImage();\n    <picture>\n        @if (image.imageWebp) {\n            <source\n                type=\"image/webp\"\n                [srcset]=\"image.imageWebp\"\n            />\n        }\n\n        @if (image.image) {\n            <img\n                [src]=\"image.image\"\n                [alt]=\"image.alt\"\n                class=\"size-full rounded-xl object-contain\"\n            />\n        }\n    </picture>\n</div>\n@if (images().length > 1 && isShowActions()) {\n    <div\n        (mousemove.silent)=\"$event.stopPropagation()\"\n        class=\"flex justify-center\"\n    >\n        <button\n            *tuiRepeatTimes=\"let indexItem of images().length\"\n            #element\n            tuiButton\n            type=\"button\"\n            class=\"button button_small\"\n            [appearance]=\"indexItem === currentIndex() ? 'primary' : 'secondary'\"\n            (tuiHoveredChange)=\"onDotHovered($event, indexItem)\"\n        ></button>\n    </div>\n}\n", styles: [".button{flex-shrink:0}.button:first-child{margin-inline-start:0}.button:last-child{margin-inline-end:0}.button_small{inline-size:.5rem;block-size:.5rem;font-size:0;padding:0;margin:0}.button_small:not(:first-child){margin-left:.5rem}\n"] }]
         
     | 
| 
       75 
     | 
    
         
            -
                    }] });
         
     | 
| 
       76 
     | 
    
         
            -
            //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaG92ZXItaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvaG92ZXItaW1hZ2UtY2Fyb3VzZWwvc2MtaG92ZXItaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvaG92ZXItaW1hZ2UtY2Fyb3VzZWwvc2MtaG92ZXItaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUF1QixNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBRWpJLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFM0M7O0dBRUc7QUFhSCxNQUFNLE9BQU8sNkJBQTZCO0lBWjFDO1FBYUk7O1dBRUc7UUFDYSxXQUFNLEdBQTRCLEtBQUssQ0FBQyxRQUFRLEVBQWMsQ0FBQztRQUUvRTs7V0FFRztRQUNhLGtCQUFhLEdBQXlCLEtBQUssQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUUzRTs7V0FFRztRQUNhLGlCQUFZLEdBQTJCLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVqRTs7V0FFRztRQUNhLGlCQUFZLEdBQXFCLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVwRzs7V0FFRztRQUNhLGdCQUFXLEdBQW9DLEtBQUssRUFBc0IsQ0FBQztLQTJDOUY7SUF6Q0c7Ozs7O09BS0c7SUFDSyxPQUFPLENBQUMsT0FBZSxFQUFFLE1BQW1CO1FBQ2hELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzNDLE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUN4QyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFNUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUV4RyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSyxPQUFPO1FBQ1gsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzVCLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ08sWUFBWSxDQUFDLE9BQWdCLEVBQUUsS0FBYTtRQUNsRCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNMLENBQUM7K0dBbEVRLDZCQUE2QjttR0FBN0IsNkJBQTZCLDRtQkNwQjFDLGtvQ0F1Q0EscVNENUJjLGNBQWMsNkdBQUUsU0FBUyxvSUFBRSxVQUFVOzs0RkFTdEMsNkJBQTZCO2tCQVp6QyxTQUFTO2lDQUNNLElBQUksWUFDTix5QkFBeUIsV0FDMUIsQ0FBQyxjQUFjLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxRQUcxQzt3QkFDRixvQkFBb0IsRUFBRSx3Q0FBd0M7d0JBQzlELHFCQUFxQixFQUFFLFdBQVc7cUJBQ3JDLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0LCBJbnB1dFNpZ25hbCwgU2lnbmFsLCBzaWduYWwsIFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTY0lJbWFnZSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgVHVpSG92ZXJlZCwgVHVpUmVwZWF0VGltZXMgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IFR1aUJ1dHRvbiB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0L/RgNC+0YHQvNC+0YLRgNCwINC40LfQvtCx0YDQsNC20LXQvdC40Lkg0YfQtdGA0LXQtyDRgdC+0LHRi9GC0LjQtSDQvdCw0LLQtdC00LXQvdC40Y8uXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdzYy1ob3Zlci1pbWFnZS1jYXJvdXNlbCcsXG4gICAgaW1wb3J0czogW1R1aVJlcGVhdFRpbWVzLCBUdWlCdXR0b24sIFR1aUhvdmVyZWRdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1ob3Zlci1pbWFnZS1jYXJvdXNlbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3NjLWhvdmVyLWltYWdlLWNhcm91c2VsLmNvbXBvbmVudC5zY3NzJyxcbiAgICBob3N0OiB7XG4gICAgICAgICcobW91c2Vtb3ZlLnNpbGVudCknOiAnb25Ib3ZlcigkZXZlbnQub2Zmc2V0WCwgJGV2ZW50LnRhcmdldCknLFxuICAgICAgICAnKG1vdXNlbGVhdmUuc2lsZW50KSc6ICdvbkxlYXZlKCknLFxuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjSG92ZXJJbWFnZUNhcm91c2VsQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDQnNCw0YHRgdC40LIg0LjQt9C+0LHRgNCw0LbQtdC90LjQuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgaW1hZ2VzOiBJbnB1dFNpZ25hbDxTY0lJbWFnZVtdPiA9IGlucHV0LnJlcXVpcmVkPFNjSUltYWdlW10+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiDRh9GC0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0L7RgtC+0LHRgNCw0LfQuNGC0Ywg0Y3Qu9C10LzQtdC90YLRiyDRg9C/0YDQsNCy0LvQtdC90LjRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgaXNTaG93QWN0aW9uczogSW5wdXRTaWduYWw8Ym9vbGVhbj4gPSBpbnB1dDxib29sZWFuPih0cnVlKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBXcml0YWJsZVNpZ25hbH0g0LTQu9GPINC+0YLRgdC70LXQttC40LLQsNC90LjRjyDRgtC10LrRg9GJ0LXQs9C+INC40L3QtNC10LrRgdCwINC40LfQvtCx0YDQsNC20LXQvdC40Y8uXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGN1cnJlbnRJbmRleDogV3JpdGFibGVTaWduYWw8bnVtYmVyPiA9IHNpZ25hbCgwKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBXcml0YWJsZVNpZ25hbH0g0LTQu9GPINC+0YLRgdC70LXQttC40LLQsNC90LjRjyDRgtC10LrRg9GJ0LXQs9C+INC40L3QtNC10LrRgdCwINC40LfQvtCx0YDQsNC20LXQvdC40Y8uXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGN1cnJlbnRJbWFnZTogU2lnbmFsPFNjSUltYWdlPiA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaW1hZ2VzKClbdGhpcy5jdXJyZW50SW5kZXgoKV0pO1xuXG4gICAgLyoqXG4gICAgICog0J3QsNC30LLQsNC90LjQtSDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHByb2R1Y3ROYW1lOiBJbnB1dFNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+ID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gICAgLyoqXG4gICAgICog0J7QsdGA0LDQsdC+0YLRh9C40Log0YHQvtCx0YvRgtC40Y8gYG1vdXNlbW92ZS5zaWxlbnRgLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9mZnNldFgg0J7RgtGB0YLRg9C/INC60YPRgNGB0L7RgNCwINC80YvRiNC4INC/0L4g0L7RgdC4IFgg0L7RgiDQutGA0LDRjyB7QGxpbmsgSFRNTEVsZW1lbnR9LlxuICAgICAqIEBwYXJhbSB0YXJnZXQg0J7QsdGK0LXQutGCIHtAbGluayBIVE1MRWxlbWVudH0g0LIg0LrQvtGC0L7RgNC+0Lwg0LvQtdC20LDRgiDQuNC30L7QsdGA0LDQttC10L3QuNGPXG4gICAgICovXG4gICAgcHJpdmF0ZSBvbkhvdmVyKG9mZnNldFg6IG51bWJlciwgdGFyZ2V0OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pbWFnZXMoKS5sZW5ndGggPD0gMSB8fCBvZmZzZXRYIDwgMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZWxlbWVudFdpZHRoID0gdGFyZ2V0Lm9mZnNldFdpZHRoO1xuICAgICAgICBjb25zdCBob3ZlclBlcmNlbnRhZ2UgPSBNYXRoLm1pbihvZmZzZXRYIC8gZWxlbWVudFdpZHRoLCAxKTtcblxuICAgICAgICBjb25zdCBuZXdJbmRleCA9IE1hdGgubWluKE1hdGguZmxvb3IoaG92ZXJQZXJjZW50YWdlICogdGhpcy5pbWFnZXMoKS5sZW5ndGgpLCB0aGlzLmltYWdlcygpLmxlbmd0aCAtIDEpO1xuXG4gICAgICAgIHRoaXMuY3VycmVudEluZGV4LnNldChuZXdJbmRleCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7QsdGA0LDQsdC+0YLRh9C40Log0YHQvtCx0YvRgtC40Y8gYG1vdXNlbGVhdmUuc2lsZW50YC5cbiAgICAgKi9cbiAgICBwcml2YXRlIG9uTGVhdmUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmltYWdlcygpLmxlbmd0aCA8PSAxKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmN1cnJlbnRJbmRleC5zZXQoMCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7QsdGA0LDQsdC+0YLRh9C40Log0YHQvtCx0YvRgtC40Y8g0L3QsNCy0LXQtNC10L3QuNGPINGD0LrQsNC30LDRgtC10LvRjyDQvNGL0YjQuCDQvdCwINGC0L7Rh9C60YMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaG92ZXJlZCDQn9GA0LjQt9C90LDQuiDRh9GC0L4g0YPQutCw0LfQsNGC0LXQu9GMINC80YvRiNC4INC90LDQstC10LTQtdC9INC90LAg0YLQvtGH0LrRgy5cbiAgICAgKiBAcGFyYW0gaW5kZXgg0JjQvdC00LXQutGBINC40LfQvtCx0YDQsNC20LXQvdC40Y8sINC60L7RgtC+0YDRi9C5INGB0L7QvtGC0LLQtdGC0YHRgtCy0YPQtdGCINGC0L7Rh9C60LUuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIG9uRG90SG92ZXJlZChob3ZlcmVkOiBib29sZWFuLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmIChob3ZlcmVkKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRJbmRleC5zZXQoaW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwib3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQteGxcIlxuICAgIFtjbGFzcy5tYi0yXT1cImltYWdlcygpLmxlbmd0aCA8PSAxICYmIGlzU2hvd0FjdGlvbnMoKVwiXG4gICAgW3N0eWxlLmFzcGVjdC1yYXRpb109XCInMjAvMTknXCJcbj5cbiAgICBAbGV0IGltYWdlID0gY3VycmVudEltYWdlKCk7XG4gICAgPHBpY3R1cmU+XG4gICAgICAgIEBpZiAoaW1hZ2UuaW1hZ2VXZWJwKSB7XG4gICAgICAgICAgICA8c291cmNlXG4gICAgICAgICAgICAgICAgdHlwZT1cImltYWdlL3dlYnBcIlxuICAgICAgICAgICAgICAgIFtzcmNzZXRdPVwiaW1hZ2UuaW1hZ2VXZWJwXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGltYWdlLmltYWdlKSB7XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgW3NyY109XCJpbWFnZS5pbWFnZVwiXG4gICAgICAgICAgICAgICAgW2FsdF09XCJpbWFnZS5hbHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2l6ZS1mdWxsIHJvdW5kZWQteGwgb2JqZWN0LWNvbnRhaW5cIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgIDwvcGljdHVyZT5cbjwvZGl2PlxuQGlmIChpbWFnZXMoKS5sZW5ndGggPiAxICYmIGlzU2hvd0FjdGlvbnMoKSkge1xuICAgIDxkaXZcbiAgICAgICAgKG1vdXNlbW92ZS5zaWxlbnQpPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgY2xhc3M9XCJmbGV4IGp1c3RpZnktY2VudGVyXCJcbiAgICA+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICp0dWlSZXBlYXRUaW1lcz1cImxldCBpbmRleEl0ZW0gb2YgaW1hZ2VzKCkubGVuZ3RoXCJcbiAgICAgICAgICAgICNlbGVtZW50XG4gICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJidXR0b24gYnV0dG9uX3NtYWxsXCJcbiAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImluZGV4SXRlbSA9PT0gY3VycmVudEluZGV4KCkgPyAncHJpbWFyeScgOiAnc2Vjb25kYXJ5J1wiXG4gICAgICAgICAgICAodHVpSG92ZXJlZENoYW5nZSk9XCJvbkRvdEhvdmVyZWQoJGV2ZW50LCBpbmRleEl0ZW0pXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxufVxuIl19
         
     | 
| 
         @@ -1,13 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            export * from './download-price-list/sc-download-price-list.component';
         
     | 
| 
       2 
     | 
    
         
            -
            export * from './category-card/sc-category-card.component';
         
     | 
| 
       3 
     | 
    
         
            -
            export * from './hover-image-carousel/sc-hover-image-carousel.component';
         
     | 
| 
       4 
     | 
    
         
            -
            export * from './input-quantity/sc-input-quantity.component';
         
     | 
| 
       5 
     | 
    
         
            -
            export * from './notify-when-in-stock-dialog';
         
     | 
| 
       6 
     | 
    
         
            -
            export * from './price-card/sc-price-card.component';
         
     | 
| 
       7 
     | 
    
         
            -
            export * from './price-card-inline/sc-price-card-inline.component';
         
     | 
| 
       8 
     | 
    
         
            -
            export * from './price-history/sc-price-history.component';
         
     | 
| 
       9 
     | 
    
         
            -
            export * from './price-list-pagination/sc-price-list-pagination.component';
         
     | 
| 
       10 
     | 
    
         
            -
            export * from './price-warehouse-stock/sc-price-warehouse-stock.component';
         
     | 
| 
       11 
     | 
    
         
            -
            export * from './sc-favorite-button/sc-favorite-button.component';
         
     | 
| 
       12 
     | 
    
         
            -
            export * from './sc-catalog.module';
         
     | 
| 
       13 
     | 
    
         
            -
            //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZG93bmxvYWQtcHJpY2UtbGlzdC9zYy1kb3dubG9hZC1wcmljZS1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NhdGVnb3J5LWNhcmQvc2MtY2F0ZWdvcnktY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9ob3Zlci1pbWFnZS1jYXJvdXNlbC9zYy1ob3Zlci1pbWFnZS1jYXJvdXNlbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1xdWFudGl0eS9zYy1pbnB1dC1xdWFudGl0eS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9ub3RpZnktd2hlbi1pbi1zdG9jay1kaWFsb2cnO1xuZXhwb3J0ICogZnJvbSAnLi9wcmljZS1jYXJkL3NjLXByaWNlLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcHJpY2UtY2FyZC1pbmxpbmUvc2MtcHJpY2UtY2FyZC1pbmxpbmUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcHJpY2UtaGlzdG9yeS9zYy1wcmljZS1oaXN0b3J5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3ByaWNlLWxpc3QtcGFnaW5hdGlvbi9zYy1wcmljZS1saXN0LXBhZ2luYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcHJpY2Utd2FyZWhvdXNlLXN0b2NrL3NjLXByaWNlLXdhcmVob3VzZS1zdG9jay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1mYXZvcml0ZS1idXR0b24vc2MtZmF2b3JpdGUtYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWNhdGFsb2cubW9kdWxlJztcbiJdfQ==
         
     |