@snabcentr/client-ui 1.19.0 → 2.0.1
Sign up to get free protection for your applications and to get access to all the features.
- package/accordion/sc-accordion-content.directive.d.ts +2 -2
- package/accordion/sc-accordion.component.d.ts +4 -4
- package/accordion/sc-accordion.module.d.ts +2 -2
- package/auth/index.d.ts +2 -1
- package/auth/interfaces/{ApiErrorResponse.d.ts → api-error-response.d.ts} +1 -3
- package/auth/interfaces/index.d.ts +3 -0
- package/auth/interfaces/sc-bank-account-form-group.d.ts +11 -0
- package/auth/interfaces/sc-contact-form-group.d.ts +10 -0
- package/auth/sc-auth.module.d.ts +14 -8
- package/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.d.ts +1 -1
- package/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.d.ts +1 -1
- package/auth/sc-sign-in-form/sc-sign-in-form.component.d.ts +1 -1
- package/auth/sign-up-form/sc-sign-up-form.component.d.ts +153 -0
- package/banner/sc-banner.component.d.ts +9 -5
- package/banner/sc-banner.module.d.ts +5 -4
- package/brands-list/index.d.ts +2 -0
- package/brands-list/sc-brands-list.component.d.ts +15 -0
- package/brands-list/sc-brands-list.module.d.ts +12 -0
- package/cart/cart-item-mobile/sc-cart-item-mobile.component.d.ts +16 -16
- package/cart/sc-cart.module.d.ts +3 -3
- package/catalog/categories-list/sc-categories-list.component.d.ts +9 -3
- package/catalog/category-card/sc-category-card.component.d.ts +1 -1
- package/catalog/input-quantity/sc-input-quantity.component.d.ts +6 -14
- package/catalog/price-card/sc-price-card.component.d.ts +11 -105
- package/catalog/price-history/sc-price-history.component.d.ts +11 -5
- package/catalog/price-list-pagination/sc-price-list-pagination.component.d.ts +10 -5
- package/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.d.ts +1 -1
- package/catalog/sc-catalog.module.d.ts +5 -4
- package/catalog/sc-favorite-btn/sc-favorite-btn.component.d.ts +1 -1
- package/contacts/add-contact-dialog/sc-add-contact-dialog.component.d.ts +11 -6
- package/contacts/contacts-accordion/sc-contacts-accordion.component.d.ts +1 -1
- package/contacts/new-contact-form/sc-new-contact-form.component.d.ts +1 -1
- package/contacts/sc-contacts.module.d.ts +6 -1
- package/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.d.ts +3 -3
- package/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.d.ts +23 -15
- package/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.d.ts +1 -1
- package/contragents/contragents-accordion/sc-contragents-accordion.component.d.ts +1 -1
- package/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.d.ts +1 -1
- package/contragents/new-contragent-form/sc-new-contragent-form.component.d.ts +31 -16
- package/contragents/sc-contragents.module.d.ts +6 -4
- package/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.d.ts +83 -8
- package/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.d.ts +1 -1
- package/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.d.ts +1 -1
- package/delivery-address/sc-delivery-address.module.d.ts +4 -2
- package/directives/abstract-price-card/abstract-sc-price-card.directive.d.ts +107 -0
- package/directives/index.d.ts +6 -2
- package/directives/next-input-focus/sc-next-input-focus.directive.d.ts +18 -0
- package/directives/next-input-focus/sc-next-input-focus.module.d.ts +10 -0
- package/directives/tel-link/sc-tel-link.directive.d.ts +27 -0
- package/directives/tel-link/sc-tel-link.module.d.ts +11 -0
- package/directives/terminal-link/sc-terminal-link.directive.d.ts +34 -0
- package/esm2022/accordion/sc-accordion-content.directive.mjs +17 -0
- package/esm2022/accordion/sc-accordion.component.mjs +88 -0
- package/esm2022/accordion/sc-accordion.module.mjs +26 -0
- package/esm2022/auth/index.mjs +8 -0
- package/esm2022/auth/interfaces/api-error-response.mjs +2 -0
- package/esm2022/auth/interfaces/index.mjs +4 -0
- package/esm2022/auth/interfaces/sc-bank-account-form-group.mjs +2 -0
- package/esm2022/auth/interfaces/sc-contact-form-group.mjs +2 -0
- package/esm2022/auth/sc-auth.module.mjs +98 -0
- package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.mjs +72 -0
- package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.mjs +70 -0
- package/{esm2020 → esm2022}/auth/sc-sign-in-form/sc-sign-in-form.component.mjs +6 -6
- package/esm2022/auth/sign-up-form/sc-sign-up-form.component.mjs +321 -0
- package/esm2022/banner/sc-banner.component.mjs +234 -0
- package/esm2022/banner/sc-banner.module.mjs +29 -0
- package/esm2022/brands-list/index.mjs +3 -0
- package/esm2022/brands-list/sc-brands-list.component.mjs +24 -0
- package/esm2022/brands-list/sc-brands-list.module.mjs +22 -0
- package/esm2022/cart/cart-item-mobile/sc-cart-item-mobile.component.mjs +121 -0
- package/esm2022/cart/sc-cart.module.mjs +54 -0
- package/esm2022/catalog/categories-list/sc-categories-list.component.mjs +92 -0
- package/esm2022/catalog/category-card/sc-category-card.component.mjs +120 -0
- package/esm2022/catalog/input-quantity/sc-input-quantity.component.mjs +141 -0
- package/esm2022/catalog/price-card/sc-price-card.component.mjs +64 -0
- package/esm2022/catalog/price-history/sc-price-history.component.mjs +126 -0
- package/esm2022/catalog/price-list-pagination/sc-price-list-pagination.component.mjs +49 -0
- package/{esm2020 → esm2022}/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.mjs +6 -6
- package/esm2022/catalog/sc-catalog.module.mjs +120 -0
- package/esm2022/catalog/sc-favorite-btn/sc-favorite-btn.component.mjs +42 -0
- package/esm2022/contacts/add-contact-dialog/sc-add-contact-dialog.component.mjs +89 -0
- package/esm2022/contacts/contacts-accordion/sc-contacts-accordion.component.mjs +38 -0
- package/esm2022/contacts/new-contact-form/sc-new-contact-form.component.mjs +30 -0
- package/esm2022/contacts/sc-contacts.module.mjs +88 -0
- package/esm2022/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.mjs +80 -0
- package/esm2022/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.mjs +262 -0
- package/esm2022/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.mjs +75 -0
- package/{esm2020 → esm2022}/contragents/contragents-accordion/sc-contragents-accordion.component.mjs +6 -6
- package/esm2022/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.mjs +64 -0
- package/esm2022/contragents/new-contragent-form/sc-new-contragent-form.component.mjs +220 -0
- package/esm2022/contragents/sc-contragents.module.mjs +110 -0
- package/esm2022/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.mjs +230 -0
- package/{esm2020 → esm2022}/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.mjs +6 -6
- package/{esm2020 → esm2022}/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.mjs +6 -6
- package/esm2022/delivery-address/sc-delivery-address.module.mjs +84 -0
- package/esm2022/directives/abstract-price-card/abstract-sc-price-card.directive.mjs +131 -0
- package/esm2022/directives/index.mjs +7 -0
- package/esm2022/directives/next-input-focus/sc-next-input-focus.directive.mjs +43 -0
- package/esm2022/directives/next-input-focus/sc-next-input-focus.module.mjs +19 -0
- package/esm2022/directives/tel-link/sc-tel-link.directive.mjs +58 -0
- package/esm2022/directives/tel-link/sc-tel-link.module.mjs +20 -0
- package/esm2022/directives/terminal-link/sc-terminal-link.directive.mjs +69 -0
- package/esm2022/files/directives/tree-top.directive.mjs +63 -0
- package/{esm2020 → esm2022}/files/directives/tree.directive.mjs +5 -5
- package/esm2022/files/file-tree-item/file-tree-item.component.mjs +18 -0
- package/esm2022/files/files-and-documents/files-and-documents.component.mjs +60 -0
- package/esm2022/files/files-and-documents.module.mjs +27 -0
- package/esm2022/files/services/tree-icon.service.mjs +49 -0
- package/{esm2020 → esm2022}/files/services/tree-loader.service.mjs +5 -5
- package/esm2022/form-fields/addresses-selection-field/sc-addresses-selection-field.component.mjs +128 -0
- package/esm2022/form-fields/form-fields.module.mjs +69 -0
- package/esm2022/form-fields/suggestion-field/sc-suggestion-field.component.mjs +134 -0
- package/{esm2020 → esm2022}/helpers/sc-px-converter.mjs +4 -4
- package/esm2022/helpers/sc-units-helper.mjs +45 -0
- package/{esm2020 → esm2022}/news/news-card/sc-news-card.component.mjs +4 -4
- package/{esm2020 → esm2022}/news/news-card-skeleton/sc-news-card-skeleton.component.mjs +4 -4
- package/{esm2020 → esm2022}/news/sc-news.module.mjs +5 -5
- package/esm2022/order/order-item-mobile/order-item-mobile.component.mjs +80 -0
- package/esm2022/order/sc-order.module.mjs +29 -0
- package/esm2022/order/sc-payment-status/sc-payment-status.component.mjs +35 -0
- package/esm2022/pipes/index.mjs +2 -0
- package/esm2022/pipes/sc-formatted-phone.mjs +34 -0
- package/esm2022/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs +182 -0
- package/esm2022/profile/sc-profile.module.mjs +77 -0
- package/{esm2020 → esm2022}/providers/index.mjs +1 -2
- package/esm2022/providers/scUserProviders.mjs +27 -0
- package/esm2022/public-api.mjs +30 -0
- package/esm2022/qrcode/index.mjs +3 -0
- package/esm2022/qrcode/qrcode-dialog/sc-qrcode-dialog.component.mjs +58 -0
- package/esm2022/qrcode/sc-qrcode.module.mjs +25 -0
- package/esm2022/samples/ask-to-sample-form/sc-ask-to-sample-form.component.mjs +37 -0
- package/esm2022/samples/index.mjs +5 -0
- package/esm2022/samples/interfaces/sc-i-preview-sample.mjs +2 -0
- package/esm2022/samples/preview-sample/sc-preview-sample.component.mjs +83 -0
- package/esm2022/samples/sc-sample.module.mjs +59 -0
- package/{esm2020 → esm2022}/share-button/sc-share-button.component.mjs +5 -5
- package/esm2022/share-button/sc-share-button.module.mjs +22 -0
- package/esm2022/user/index.mjs +6 -0
- package/esm2022/user/reset-user-password/sc-reset-user-password.component.mjs +71 -0
- package/esm2022/user/sc-user.module.mjs +89 -0
- package/esm2022/user/update-user-info-dialog/sc-update-user-info-dialog.component.mjs +117 -0
- package/esm2022/user/user-managers/sc-user-managers.component.mjs +41 -0
- package/esm2022/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.mjs +102 -0
- package/{esm2020 → esm2022}/validators/index.mjs +2 -2
- package/esm2022/validators/sc-password-confirm-matching-validator.mjs +17 -0
- package/esm2022/validators/stepValidator.mjs +18 -0
- package/esm2022/verification/sc-verification.module.mjs +68 -0
- package/esm2022/verification/verification-phone-check-form/sc-verification-phone-check-form.component.mjs +198 -0
- package/fesm2022/snabcentr-client-ui.mjs +5710 -0
- package/fesm2022/snabcentr-client-ui.mjs.map +1 -0
- package/files/directives/tree-top.directive.d.ts +1 -1
- package/files/directives/tree.directive.d.ts +1 -1
- package/files/file-tree-item/file-tree-item.component.d.ts +3 -3
- package/files/files-and-documents/files-and-documents.component.d.ts +1 -1
- package/files/files-and-documents.module.d.ts +1 -1
- package/form-fields/addresses-selection-field/sc-addresses-selection-field.component.d.ts +17 -11
- package/form-fields/form-fields.module.d.ts +5 -3
- package/form-fields/suggestion-field/sc-suggestion-field.component.d.ts +10 -2
- package/helpers/sc-units-helper.d.ts +6 -6
- package/news/news-card/sc-news-card.component.d.ts +1 -1
- package/news/news-card-skeleton/sc-news-card-skeleton.component.d.ts +1 -1
- package/order/order-item-mobile/order-item-mobile.component.d.ts +9 -9
- package/order/sc-order.module.d.ts +4 -2
- package/order/sc-payment-status/sc-payment-status.component.d.ts +1 -1
- package/package.json +40 -45
- package/pipes/index.d.ts +1 -0
- package/pipes/sc-formatted-phone.d.ts +19 -0
- package/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.d.ts +3 -3
- package/profile/sc-profile.module.d.ts +6 -4
- package/providers/index.d.ts +0 -1
- package/providers/scUserProviders.d.ts +2 -3
- package/public-api.d.ts +4 -0
- package/qrcode/index.d.ts +2 -0
- package/qrcode/qrcode-dialog/sc-qrcode-dialog.component.d.ts +37 -0
- package/qrcode/sc-qrcode.module.d.ts +14 -0
- package/samples/ask-to-sample-form/sc-ask-to-sample-form.component.d.ts +18 -0
- package/samples/index.d.ts +4 -0
- package/samples/interfaces/sc-i-preview-sample.d.ts +47 -0
- package/samples/preview-sample/sc-preview-sample.component.d.ts +48 -0
- package/samples/sc-sample.module.d.ts +19 -0
- package/share-button/sc-share-button.component.d.ts +1 -1
- package/share-button/sc-share-button.module.d.ts +1 -1
- package/styles/taiga/taiga-tailwind-preset.js +121 -0
- package/styles/taiga/variables.less +17 -14
- package/styles/tailwind/tailwind.scss +252 -61
- package/user/index.d.ts +1 -0
- package/user/reset-user-password/sc-reset-user-password.component.d.ts +3 -3
- package/user/sc-user.module.d.ts +12 -8
- package/user/update-user-info-dialog/sc-update-user-info-dialog.component.d.ts +13 -9
- package/user/user-managers/sc-user-managers.component.d.ts +26 -0
- package/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.d.ts +13 -8
- package/validators/index.d.ts +1 -1
- package/validators/{scPasswordConfirmMatchingValidator.d.ts → sc-password-confirm-matching-validator.d.ts} +1 -1
- package/verification/sc-verification.module.d.ts +5 -4
- package/verification/verification-phone-check-form/sc-verification-phone-check-form.component.d.ts +18 -18
- package/directives/carousel-item-hidden/sc-carousel-item-hidden.directive.d.ts +0 -24
- package/directives/carousel-item-hidden/sc-carousel-item-hidden.module.d.ts +0 -11
- package/esm2020/accordion/sc-accordion-content.directive.mjs +0 -17
- package/esm2020/accordion/sc-accordion.component.mjs +0 -88
- package/esm2020/accordion/sc-accordion.module.mjs +0 -25
- package/esm2020/auth/index.mjs +0 -7
- package/esm2020/auth/interfaces/ApiErrorResponse.mjs +0 -2
- package/esm2020/auth/sc-auth.module.mjs +0 -79
- package/esm2020/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.mjs +0 -64
- package/esm2020/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.mjs +0 -63
- package/esm2020/banner/sc-banner.component.mjs +0 -234
- package/esm2020/banner/sc-banner.module.mjs +0 -26
- package/esm2020/cart/cart-item-mobile/sc-cart-item-mobile.component.mjs +0 -120
- package/esm2020/cart/sc-cart.module.mjs +0 -65
- package/esm2020/catalog/categories-list/sc-categories-list.component.mjs +0 -84
- package/esm2020/catalog/category-card/sc-category-card.component.mjs +0 -120
- package/esm2020/catalog/input-quantity/sc-input-quantity.component.mjs +0 -163
- package/esm2020/catalog/price-card/sc-price-card.component.mjs +0 -175
- package/esm2020/catalog/price-history/sc-price-history.component.mjs +0 -114
- package/esm2020/catalog/price-list-pagination/sc-price-list-pagination.component.mjs +0 -37
- package/esm2020/catalog/sc-catalog.module.mjs +0 -128
- package/esm2020/catalog/sc-favorite-btn/sc-favorite-btn.component.mjs +0 -41
- package/esm2020/contacts/add-contact-dialog/sc-add-contact-dialog.component.mjs +0 -71
- package/esm2020/contacts/contacts-accordion/sc-contacts-accordion.component.mjs +0 -35
- package/esm2020/contacts/new-contact-form/sc-new-contact-form.component.mjs +0 -28
- package/esm2020/contacts/sc-contacts.module.mjs +0 -92
- package/esm2020/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.mjs +0 -71
- package/esm2020/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.mjs +0 -249
- package/esm2020/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.mjs +0 -75
- package/esm2020/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.mjs +0 -61
- package/esm2020/contragents/new-contragent-form/sc-new-contragent-form.component.mjs +0 -183
- package/esm2020/contragents/sc-contragents.module.mjs +0 -103
- package/esm2020/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.mjs +0 -79
- package/esm2020/delivery-address/sc-delivery-address.module.mjs +0 -77
- package/esm2020/directives/carousel-item-hidden/sc-carousel-item-hidden.directive.mjs +0 -40
- package/esm2020/directives/carousel-item-hidden/sc-carousel-item-hidden.module.mjs +0 -21
- package/esm2020/directives/index.mjs +0 -3
- package/esm2020/files/directives/tree-top.directive.mjs +0 -63
- package/esm2020/files/file-tree-item/file-tree-item.component.mjs +0 -18
- package/esm2020/files/files-and-documents/files-and-documents.component.mjs +0 -60
- package/esm2020/files/files-and-documents.module.mjs +0 -26
- package/esm2020/files/services/tree-icon.service.mjs +0 -48
- package/esm2020/form-fields/addresses-selection-field/sc-addresses-selection-field.component.mjs +0 -122
- package/esm2020/form-fields/form-fields.module.mjs +0 -80
- package/esm2020/form-fields/suggestion-field/sc-suggestion-field.component.mjs +0 -116
- package/esm2020/helpers/sc-units-helper.mjs +0 -44
- package/esm2020/order/order-item-mobile/order-item-mobile.component.mjs +0 -79
- package/esm2020/order/sc-order.module.mjs +0 -25
- package/esm2020/order/sc-payment-status/sc-payment-status.component.mjs +0 -35
- package/esm2020/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs +0 -177
- package/esm2020/profile/sc-profile.module.mjs +0 -80
- package/esm2020/providers/productsPagination.mjs +0 -99
- package/esm2020/providers/scUserProviders.mjs +0 -30
- package/esm2020/public-api.mjs +0 -26
- package/esm2020/share-button/sc-share-button.module.mjs +0 -22
- package/esm2020/user/index.mjs +0 -5
- package/esm2020/user/reset-user-password/sc-reset-user-password.component.mjs +0 -67
- package/esm2020/user/sc-user.module.mjs +0 -88
- package/esm2020/user/update-user-info-dialog/sc-update-user-info-dialog.component.mjs +0 -105
- package/esm2020/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.mjs +0 -91
- package/esm2020/validators/scPasswordConfirmMatchingValidator.mjs +0 -17
- package/esm2020/validators/stepValidator.mjs +0 -18
- package/esm2020/verification/sc-verification.module.mjs +0 -73
- package/esm2020/verification/verification-phone-check-form/sc-verification-phone-check-form.component.mjs +0 -184
- package/fesm2015/snabcentr-client-ui.mjs +0 -4858
- package/fesm2015/snabcentr-client-ui.mjs.map +0 -1
- package/fesm2020/snabcentr-client-ui.mjs +0 -4778
- package/fesm2020/snabcentr-client-ui.mjs.map +0 -1
- package/providers/productsPagination.d.ts +0 -43
- /package/{esm2020 → esm2022}/accordion/index.mjs +0 -0
- /package/{esm2020 → esm2022}/auth/enums/auth-method.mjs +0 -0
- /package/{esm2020 → esm2022}/banner/index.mjs +0 -0
- /package/{esm2020 → esm2022}/cart/index.mjs +0 -0
- /package/{esm2020 → esm2022}/catalog/index.mjs +0 -0
- /package/{esm2020 → esm2022}/contacts/index.mjs +0 -0
- /package/{esm2020 → esm2022}/contragents/index.mjs +0 -0
- /package/{esm2020 → esm2022}/delivery-address/index.mjs +0 -0
- /package/{esm2020 → esm2022}/files/directives/index.mjs +0 -0
- /package/{esm2020 → esm2022}/files/index.mjs +0 -0
- /package/{esm2020 → esm2022}/files/interfaces/tree-node.mjs +0 -0
- /package/{esm2020 → esm2022}/files/services/index.mjs +0 -0
- /package/{esm2020 → esm2022}/form-fields/index.mjs +0 -0
- /package/{esm2020 → esm2022}/helpers/index.mjs +0 -0
- /package/{esm2020 → esm2022}/icons/index.mjs +0 -0
- /package/{esm2020 → esm2022}/icons/sc-client-ui-icons-name.mjs +0 -0
- /package/{esm2020 → esm2022}/loader/index.mjs +0 -0
- /package/{esm2020 → esm2022}/loader/sc-i-loader.mjs +0 -0
- /package/{esm2020 → esm2022}/masks/index.mjs +0 -0
- /package/{esm2020 → esm2022}/masks/sc-account-number-mask.mjs +0 -0
- /package/{esm2020 → esm2022}/masks/sc-bic-mask.mjs +0 -0
- /package/{esm2020 → esm2022}/masks/sc-correspondent-account-mask.mjs +0 -0
- /package/{esm2020 → esm2022}/masks/sc-inn-mask.mjs +0 -0
- /package/{esm2020 → esm2022}/masks/sc-kpp-mask.mjs +0 -0
- /package/{esm2020 → esm2022}/masks/sc-okpo-mask.mjs +0 -0
- /package/{esm2020 → esm2022}/masks/sc-phone-verification-code-mask.mjs +0 -0
- /package/{esm2020 → esm2022}/news/index.mjs +0 -0
- /package/{esm2020 → esm2022}/order/index.mjs +0 -0
- /package/{esm2020 → esm2022}/profile/index.mjs +0 -0
- /package/{esm2020 → esm2022}/share-button/index.mjs +0 -0
- /package/{esm2020 → esm2022}/snabcentr-client-ui.mjs +0 -0
- /package/{esm2020 → esm2022}/tokens/index.mjs +0 -0
- /package/{esm2020 → esm2022}/tokens/sc-linear-values-token.mjs +0 -0
- /package/{esm2020 → esm2022}/validators/scBicValidator.mjs +0 -0
- /package/{esm2020 → esm2022}/validators/scCorrespondentAccountValidator.mjs +0 -0
- /package/{esm2020 → esm2022}/verification/index.mjs +0 -0
@@ -1,65 +0,0 @@
|
|
1
|
-
import { NgModule } from '@angular/core';
|
2
|
-
import { CommonModule } from '@angular/common';
|
3
|
-
import { ScCartItemMobileComponent } from './cart-item-mobile/sc-cart-item-mobile.component';
|
4
|
-
import { TuiButtonModule, TuiFormatNumberPipeModule, TuiHintModule, TuiLinkModule, TuiModeModule, TuiSvgModule } from '@taiga-ui/core';
|
5
|
-
import { ScCatalogModule } from '../catalog';
|
6
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
7
|
-
import { TuiCurrencyPipeModule } from '@taiga-ui/addon-commerce';
|
8
|
-
import { TuiPreviewModule } from '@taiga-ui/addon-preview';
|
9
|
-
import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
|
10
|
-
import * as i0 from "@angular/core";
|
11
|
-
/**
|
12
|
-
* Модуль корзины.
|
13
|
-
*/
|
14
|
-
export class ScCartModule {
|
15
|
-
}
|
16
|
-
ScCartModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScCartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
17
|
-
ScCartModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: ScCartModule, declarations: [ScCartItemMobileComponent], imports: [CommonModule,
|
18
|
-
TuiLinkModule,
|
19
|
-
ScCatalogModule,
|
20
|
-
TuiButtonModule,
|
21
|
-
TuiCurrencyPipeModule,
|
22
|
-
TuiFormatNumberPipeModule,
|
23
|
-
TuiModeModule,
|
24
|
-
TuiSvgModule,
|
25
|
-
TuiHintModule,
|
26
|
-
FormsModule,
|
27
|
-
ReactiveFormsModule,
|
28
|
-
TuiPreviewModule,
|
29
|
-
PolymorpheusModule], exports: [ScCartItemMobileComponent] });
|
30
|
-
ScCartModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScCartModule, imports: [CommonModule,
|
31
|
-
TuiLinkModule,
|
32
|
-
ScCatalogModule,
|
33
|
-
TuiButtonModule,
|
34
|
-
TuiCurrencyPipeModule,
|
35
|
-
TuiFormatNumberPipeModule,
|
36
|
-
TuiModeModule,
|
37
|
-
TuiSvgModule,
|
38
|
-
TuiHintModule,
|
39
|
-
FormsModule,
|
40
|
-
ReactiveFormsModule,
|
41
|
-
TuiPreviewModule,
|
42
|
-
PolymorpheusModule] });
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScCartModule, decorators: [{
|
44
|
-
type: NgModule,
|
45
|
-
args: [{
|
46
|
-
declarations: [ScCartItemMobileComponent],
|
47
|
-
exports: [ScCartItemMobileComponent],
|
48
|
-
imports: [
|
49
|
-
CommonModule,
|
50
|
-
TuiLinkModule,
|
51
|
-
ScCatalogModule,
|
52
|
-
TuiButtonModule,
|
53
|
-
TuiCurrencyPipeModule,
|
54
|
-
TuiFormatNumberPipeModule,
|
55
|
-
TuiModeModule,
|
56
|
-
TuiSvgModule,
|
57
|
-
TuiHintModule,
|
58
|
-
FormsModule,
|
59
|
-
ReactiveFormsModule,
|
60
|
-
TuiPreviewModule,
|
61
|
-
PolymorpheusModule
|
62
|
-
]
|
63
|
-
}]
|
64
|
-
}] });
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2FydC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2FydC9zYy1jYXJ0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM3RixPQUFPLEVBQUUsZUFBZSxFQUFFLHlCQUF5QixFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZJLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUU5RDs7R0FFRztBQW9CSCxNQUFNLE9BQU8sWUFBWTs7eUdBQVosWUFBWTswR0FBWixZQUFZLGlCQWxCTix5QkFBeUIsYUFHcEMsWUFBWTtRQUNaLGFBQWE7UUFDYixlQUFlO1FBQ2YsZUFBZTtRQUNmLHFCQUFxQjtRQUNyQix5QkFBeUI7UUFDekIsYUFBYTtRQUNiLFlBQVk7UUFDWixhQUFhO1FBQ2IsV0FBVztRQUNYLG1CQUFtQjtRQUNuQixnQkFBZ0I7UUFDaEIsa0JBQWtCLGFBZFoseUJBQXlCOzBHQWlCMUIsWUFBWSxZQWZqQixZQUFZO1FBQ1osYUFBYTtRQUNiLGVBQWU7UUFDZixlQUFlO1FBQ2YscUJBQXFCO1FBQ3JCLHlCQUF5QjtRQUN6QixhQUFhO1FBQ2IsWUFBWTtRQUNaLGFBQWE7UUFDYixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGdCQUFnQjtRQUNoQixrQkFBa0I7MkZBR2IsWUFBWTtrQkFuQnhCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3pDLE9BQU8sRUFBRSxDQUFDLHlCQUF5QixDQUFDO29CQUNwQyxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLHlCQUF5Qjt3QkFDekIsYUFBYTt3QkFDYixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3FCQUNyQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU2NDYXJ0SXRlbU1vYmlsZUNvbXBvbmVudCB9IGZyb20gJy4vY2FydC1pdGVtLW1vYmlsZS9zYy1jYXJ0LWl0ZW0tbW9iaWxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUdWlCdXR0b25Nb2R1bGUsIFR1aUZvcm1hdE51bWJlclBpcGVNb2R1bGUsIFR1aUhpbnRNb2R1bGUsIFR1aUxpbmtNb2R1bGUsIFR1aU1vZGVNb2R1bGUsIFR1aVN2Z01vZHVsZSB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFNjQ2F0YWxvZ01vZHVsZSB9IGZyb20gJy4uL2NhdGFsb2cnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUdWlDdXJyZW5jeVBpcGVNb2R1bGUgfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UnO1xuaW1wb3J0IHsgVHVpUHJldmlld01vZHVsZSB9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1wcmV2aWV3JztcbmltcG9ydCB7IFBvbHltb3JwaGV1c01vZHVsZSB9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbi8qKlxuICog0JzQvtC00YPQu9GMINC60L7RgNC30LjQvdGLLlxuICovXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1NjQ2FydEl0ZW1Nb2JpbGVDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtTY0NhcnRJdGVtTW9iaWxlQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgVHVpTGlua01vZHVsZSxcbiAgICAgICAgU2NDYXRhbG9nTW9kdWxlLFxuICAgICAgICBUdWlCdXR0b25Nb2R1bGUsXG4gICAgICAgIFR1aUN1cnJlbmN5UGlwZU1vZHVsZSxcbiAgICAgICAgVHVpRm9ybWF0TnVtYmVyUGlwZU1vZHVsZSxcbiAgICAgICAgVHVpTW9kZU1vZHVsZSxcbiAgICAgICAgVHVpU3ZnTW9kdWxlLFxuICAgICAgICBUdWlIaW50TW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgVHVpUHJldmlld01vZHVsZSxcbiAgICAgICAgUG9seW1vcnBoZXVzTW9kdWxlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBTY0NhcnRNb2R1bGUge31cbiJdfQ==
|
@@ -1,84 +0,0 @@
|
|
1
|
-
import { __decorate } from "tslib";
|
2
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Output, inject } from '@angular/core';
|
3
|
-
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
4
|
-
import { SC_URLS } from '@snabcentr/client-core';
|
5
|
-
import { TUI_IS_MOBILE, tuiPure } from '@taiga-ui/cdk';
|
6
|
-
import { filter, tap } from 'rxjs';
|
7
|
-
import * as i0 from "@angular/core";
|
8
|
-
import * as i1 from "@snabcentr/client-core";
|
9
|
-
import * as i2 from "@angular/common";
|
10
|
-
import * as i3 from "@taiga-ui/core";
|
11
|
-
import * as i4 from "@taiga-ui/cdk";
|
12
|
-
/**
|
13
|
-
* Компонент списка категорий.
|
14
|
-
*/
|
15
|
-
let ScCategoriesListComponent = class ScCategoriesListComponent {
|
16
|
-
/**
|
17
|
-
* Инициализирует экземпляр класса {@link ScCategoriesListComponent}.
|
18
|
-
*
|
19
|
-
* @param urls объект информации о базовом списке ссылок приложения.
|
20
|
-
* @param favoriteService Сервис для работы с корзиной.
|
21
|
-
* @param cdr Объект для работы с обнаружением изменений.
|
22
|
-
*/
|
23
|
-
constructor(urls, favoriteService, cdr) {
|
24
|
-
this.urls = urls;
|
25
|
-
this.favoriteService = favoriteService;
|
26
|
-
this.cdr = cdr;
|
27
|
-
/**
|
28
|
-
* Признак того, отображается этот компонент на мобильном устройстве или нет.
|
29
|
-
*/
|
30
|
-
this.isMobile = inject(TUI_IS_MOBILE);
|
31
|
-
/**
|
32
|
-
* Событие нажатия на категорию.
|
33
|
-
*/
|
34
|
-
this.clickCategoryEvent = new EventEmitter();
|
35
|
-
}
|
36
|
-
/** @inheritDoc */
|
37
|
-
ngOnInit() {
|
38
|
-
this.favoriteService.categories$
|
39
|
-
.pipe(filter(() => !!this.categories && Boolean(this.categories.length) && 'id' in this.categories[0]), tap((categories) => {
|
40
|
-
this.categories?.forEach(category => {
|
41
|
-
category.isFavorite = categories.findIndex(item => category.id === item.id) !== -1;
|
42
|
-
});
|
43
|
-
}), untilDestroyed(this))
|
44
|
-
.subscribe(() => this.cdr.markForCheck());
|
45
|
-
}
|
46
|
-
/**
|
47
|
-
* Возвращает путь до изображения на сервере.
|
48
|
-
*
|
49
|
-
* @param imgPath путь, где хранится изображение.
|
50
|
-
*/
|
51
|
-
getCategoryImage(imgPath) {
|
52
|
-
return this.urls.imgServerUrl + '/' + imgPath;
|
53
|
-
}
|
54
|
-
/**
|
55
|
-
* Проверяет наличие хотя бы одного изображения.
|
56
|
-
*
|
57
|
-
* @param categories Список категорий.
|
58
|
-
*/
|
59
|
-
checkImagesExists(categories) {
|
60
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
61
|
-
return categories.some((item) => item.properties?.image);
|
62
|
-
}
|
63
|
-
};
|
64
|
-
ScCategoriesListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScCategoriesListComponent, deps: [{ token: SC_URLS }, { token: i1.ScFavoriteService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
65
|
-
ScCategoriesListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScCategoriesListComponent, selector: "sc-categories-list", inputs: { categories: "categories" }, outputs: { clickCategoryEvent: "clickCategoryEvent" }, ngImport: i0, template: "<div class=\"grid grid-cols-[repeat(auto-fill,minmax(21rem,1fr))] gap-x-8 gap-y-2\">\n <ng-container *ngIf=\"categories; else categoriesSkeleton\">\n <button\n *ngFor=\"let item of $any(categories)\"\n class=\"group flex gap-2 py-1.5 px-3 bg-tui-base-02 rounded-xl h-11 items-center text-left hover-hover:hover:ring-2 hover-none:active:ring-2 ring-tui-primary duration-150\"\n (click)=\"clickCategoryEvent.emit(item)\"\n >\n <img *ngIf=\"item.properties?.image as image\" [src]=\"getCategoryImage(image)\" [alt]=\"item.name\" class=\"w-8 h-8 object-cover rounded bg-tui-base-03\" />\n <tui-svg *ngIf=\"!item.properties?.image && checkImagesExists(categories)\" src=\"tuiIconCameraOffLarge\" class=\"bg-tui-base-03 !w-8 !h-8 rounded text-tui-base-05\"></tui-svg>\n <div *tuiLet=\"\" class=\"flex grow truncate\">\n <p class=\"text-base font-bold truncate\">{{ item.name }}</p>\n <tui-svg *ngIf=\"item.isFavorite\" src=\"scIconFavoriteFill\" class=\"text-tui-primary !text-sm mr-auto\"></tui-svg>\n </div>\n <tui-svg src=\"tuiIconChevronRightLarge\" class=\"hover-hover:group-hover:text-tui-primary hover-none:group-active:text-tui-primary duration-150\"></tui-svg>\n </button>\n </ng-container>\n</div>\n\n<ng-template #categoriesSkeleton>\n <button\n *tuiRepeatTimes=\"let index of isMobile ? 3 : 6\"\n class=\"group flex gap-2 py-1.5 px-3 bg-tui-base-02 rounded-xl h-11 items-center text-left hover-hover:hover:ring-2 hover-none:active:ring-2 ring-tui-base-05 duration-150\"\n >\n <div class=\"w-8 h-8 tui-skeleton\"></div>\n <div class=\"h-4 grow tui-skeleton\"></div>\n <tui-svg src=\"tuiIconChevronRightLarge\" class=\"hover-hover:group-hover:text-tui-primary hover-none:group-active:text-tui-primary duration-150 tui-skeleton\"></tui-svg>\n </button>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { kind: "directive", type: i4.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "directive", type: i4.TuiRepeatTimesDirective, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
66
|
-
__decorate([
|
67
|
-
tuiPure
|
68
|
-
], ScCategoriesListComponent.prototype, "checkImagesExists", null);
|
69
|
-
ScCategoriesListComponent = __decorate([
|
70
|
-
UntilDestroy({ checkProperties: true })
|
71
|
-
], ScCategoriesListComponent);
|
72
|
-
export { ScCategoriesListComponent };
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScCategoriesListComponent, decorators: [{
|
74
|
-
type: Component,
|
75
|
-
args: [{ selector: 'sc-categories-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"grid grid-cols-[repeat(auto-fill,minmax(21rem,1fr))] gap-x-8 gap-y-2\">\n <ng-container *ngIf=\"categories; else categoriesSkeleton\">\n <button\n *ngFor=\"let item of $any(categories)\"\n class=\"group flex gap-2 py-1.5 px-3 bg-tui-base-02 rounded-xl h-11 items-center text-left hover-hover:hover:ring-2 hover-none:active:ring-2 ring-tui-primary duration-150\"\n (click)=\"clickCategoryEvent.emit(item)\"\n >\n <img *ngIf=\"item.properties?.image as image\" [src]=\"getCategoryImage(image)\" [alt]=\"item.name\" class=\"w-8 h-8 object-cover rounded bg-tui-base-03\" />\n <tui-svg *ngIf=\"!item.properties?.image && checkImagesExists(categories)\" src=\"tuiIconCameraOffLarge\" class=\"bg-tui-base-03 !w-8 !h-8 rounded text-tui-base-05\"></tui-svg>\n <div *tuiLet=\"\" class=\"flex grow truncate\">\n <p class=\"text-base font-bold truncate\">{{ item.name }}</p>\n <tui-svg *ngIf=\"item.isFavorite\" src=\"scIconFavoriteFill\" class=\"text-tui-primary !text-sm mr-auto\"></tui-svg>\n </div>\n <tui-svg src=\"tuiIconChevronRightLarge\" class=\"hover-hover:group-hover:text-tui-primary hover-none:group-active:text-tui-primary duration-150\"></tui-svg>\n </button>\n </ng-container>\n</div>\n\n<ng-template #categoriesSkeleton>\n <button\n *tuiRepeatTimes=\"let index of isMobile ? 3 : 6\"\n class=\"group flex gap-2 py-1.5 px-3 bg-tui-base-02 rounded-xl h-11 items-center text-left hover-hover:hover:ring-2 hover-none:active:ring-2 ring-tui-base-05 duration-150\"\n >\n <div class=\"w-8 h-8 tui-skeleton\"></div>\n <div class=\"h-4 grow tui-skeleton\"></div>\n <tui-svg src=\"tuiIconChevronRightLarge\" class=\"hover-hover:group-hover:text-tui-primary hover-none:group-active:text-tui-primary duration-150 tui-skeleton\"></tui-svg>\n </button>\n</ng-template>\n" }]
|
76
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
77
|
-
type: Inject,
|
78
|
-
args: [SC_URLS]
|
79
|
-
}] }, { type: i1.ScFavoriteService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { categories: [{
|
80
|
-
type: Input
|
81
|
-
}], clickCategoryEvent: [{
|
82
|
-
type: Output
|
83
|
-
}], checkImagesExists: [] } });
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2F0ZWdvcmllcy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9jYXRhbG9nL2NhdGVnb3JpZXMtbGlzdC9zYy1jYXRlZ29yaWVzLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvY2F0ZWdvcmllcy1saXN0L3NjLWNhdGVnb3JpZXMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzSSxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxPQUFPLEVBQTBDLE1BQU0sd0JBQXdCLENBQUM7QUFDekYsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7OztBQUVuQzs7R0FFRztBQU9JLElBQU0seUJBQXlCLEdBQS9CLE1BQU0seUJBQXlCO0lBa0JsQzs7Ozs7O09BTUc7SUFDSCxZQUNzQyxJQUFhLEVBQzlCLGVBQWtDLEVBQ2xDLEdBQXNCO1FBRkwsU0FBSSxHQUFKLElBQUksQ0FBUztRQUM5QixvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUFDbEMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFyQjNDOztXQUVHO1FBQ2EsYUFBUSxHQUFZLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUUxRDs7V0FFRztRQUVJLHVCQUFrQixHQUFvQixJQUFJLFlBQVksRUFBSyxDQUFDO0lBYWhFLENBQUM7SUFFSixrQkFBa0I7SUFDWCxRQUFRO1FBQ1gsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXO2FBQzNCLElBQUksQ0FDRCxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDaEcsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDZCxJQUFJLENBQUMsVUFBMkIsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ2xELFFBQVEsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3ZGLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLEVBQ0YsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUN2QjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxnQkFBZ0IsQ0FBQyxPQUFlO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxHQUFHLE9BQU8sQ0FBQztJQUNsRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUVJLGlCQUFpQixDQUFDLFVBQWlCO1FBQ3RDLHNFQUFzRTtRQUN0RSxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDN0QsQ0FBQzs7c0hBaEVRLHlCQUF5QixrQkEwQnRCLE9BQU87MEdBMUJWLHlCQUF5Qix1SkNmdEMsNjZEQTRCQTtBRGdESTtJQURDLE9BQU87a0VBSVA7QUFoRVEseUJBQXlCO0lBRHJDLFlBQVksQ0FBQyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQztHQUMzQix5QkFBeUIsQ0FpRXJDO1NBakVZLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNJLG9CQUFvQixtQkFFYix1QkFBdUIsQ0FBQyxNQUFNOzswQkE2QjFDLE1BQU07MkJBQUMsT0FBTzs0R0FyQlosVUFBVTtzQkFEaEIsS0FBSztnQkFZQyxrQkFBa0I7c0JBRHhCLE1BQU07Z0JBOENBLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgU0NfVVJMUywgU2NDYXRlZ29yeSwgU2NGYXZvcml0ZVNlcnZpY2UsIFNjSVVybHMgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFRVSV9JU19NT0JJTEUsIHR1aVB1cmUgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IGZpbHRlciwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINGB0L/QuNGB0LrQsCDQutCw0YLQtdCz0L7RgNC40LkuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2MtY2F0ZWdvcmllcy1saXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2MtY2F0ZWdvcmllcy1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbkBVbnRpbERlc3Ryb3koeyBjaGVja1Byb3BlcnRpZXM6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBTY0NhdGVnb3JpZXNMaXN0Q29tcG9uZW50PFQgZXh0ZW5kcyBvYmplY3Q+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKipcbiAgICAgKiDQodC/0LjRgdC+0Log0LrQsNGC0LXQs9C+0YDQuNC5LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNhdGVnb3JpZXM6IFRbXSB8IHVuZGVmaW5lZCB8IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiDRgtC+0LPQviwg0L7RgtC+0LHRgNCw0LbQsNC10YLRgdGPINGN0YLQvtGCINC60L7QvNC/0L7QvdC10L3RgiDQvdCwINC80L7QsdC40LvRjNC90L7QvCDRg9GB0YLRgNC+0LnRgdGC0LLQtSDQuNC70Lgg0L3QtdGCLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBpc01vYmlsZTogYm9vbGVhbiA9IGluamVjdChUVUlfSVNfTU9CSUxFKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQsNGC0LXQs9C+0YDQuNGOLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjbGlja0NhdGVnb3J5RXZlbnQ6IEV2ZW50RW1pdHRlcjxUPiA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NDYXRlZ29yaWVzTGlzdENvbXBvbmVudH0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdXJscyDQvtCx0YrQtdC60YIg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0LHQsNC30L7QstC+0Lwg0YHQv9C40YHQutC1INGB0YHRi9C70L7QuiDQv9GA0LjQu9C+0LbQtdC90LjRjy5cbiAgICAgKiBAcGFyYW0gZmF2b3JpdGVTZXJ2aWNlINCh0LXRgNCy0LjRgSDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINC60L7RgNC30LjQvdC+0LkuXG4gICAgICogQHBhcmFtIGNkciDQntCx0YrQtdC60YIg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQvtCx0L3QsNGA0YPQttC10L3QuNC10Lwg0LjQt9C80LXQvdC10L3QuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChTQ19VUkxTKSBwcml2YXRlIHJlYWRvbmx5IHVybHM6IFNjSVVybHMsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZmF2b3JpdGVTZXJ2aWNlOiBTY0Zhdm9yaXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7fVxuXG4gICAgLyoqIEBpbmhlcml0RG9jICovXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZhdm9yaXRlU2VydmljZS5jYXRlZ29yaWVzJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+ICEhdGhpcy5jYXRlZ29yaWVzICYmIEJvb2xlYW4odGhpcy5jYXRlZ29yaWVzLmxlbmd0aCkgJiYgJ2lkJyBpbiB0aGlzLmNhdGVnb3JpZXNbMF0pLFxuICAgICAgICAgICAgICAgIHRhcCgoY2F0ZWdvcmllcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAodGhpcy5jYXRlZ29yaWVzIGFzIFNjQ2F0ZWdvcnlbXSk/LmZvckVhY2goY2F0ZWdvcnkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnkuaXNGYXZvcml0ZSA9IGNhdGVnb3JpZXMuZmluZEluZGV4KGl0ZW0gPT4gY2F0ZWdvcnkuaWQgPT09IGl0ZW0uaWQpICE9PSAtMTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jZHIubWFya0ZvckNoZWNrKCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC/0YPRgtGMINC00L4g0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDQvdCwINGB0LXRgNCy0LXRgNC1LlxuICAgICAqXG4gICAgICogQHBhcmFtIGltZ1BhdGgg0L/Rg9GC0YwsINCz0LTQtSDRhdGA0LDQvdC40YLRgdGPINC40LfQvtCx0YDQsNC20LXQvdC40LUuXG4gICAgICovXG4gICAgcHVibGljIGdldENhdGVnb3J5SW1hZ2UoaW1nUGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXJscy5pbWdTZXJ2ZXJVcmwgKyAnLycgKyBpbWdQYXRoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCf0YDQvtCy0LXRgNGP0LXRgiDQvdCw0LvQuNGH0LjQtSDRhdC+0YLRjyDQsdGLINC+0LTQvdC+0LPQviDQuNC30L7QsdGA0LDQttC10L3QuNGPLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNhdGVnb3JpZXMg0KHQv9C40YHQvtC6INC60LDRgtC10LPQvtGA0LjQuS5cbiAgICAgKi9cbiAgICBAdHVpUHVyZVxuICAgIHB1YmxpYyBjaGVja0ltYWdlc0V4aXN0cyhjYXRlZ29yaWVzOiBhbnlbXSk6IGJvb2xlYW4ge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1tZW1iZXItYWNjZXNzXG4gICAgICAgIHJldHVybiBjYXRlZ29yaWVzLnNvbWUoKGl0ZW0pID0+IGl0ZW0ucHJvcGVydGllcz8uaW1hZ2UpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJncmlkIGdyaWQtY29scy1bcmVwZWF0KGF1dG8tZmlsbCxtaW5tYXgoMjFyZW0sMWZyKSldIGdhcC14LTggZ2FwLXktMlwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYXRlZ29yaWVzOyBlbHNlIGNhdGVnb3JpZXNTa2VsZXRvblwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiAkYW55KGNhdGVnb3JpZXMpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZ3JvdXAgZmxleCBnYXAtMiBweS0xLjUgcHgtMyBiZy10dWktYmFzZS0wMiByb3VuZGVkLXhsIGgtMTEgaXRlbXMtY2VudGVyIHRleHQtbGVmdCBob3Zlci1ob3Zlcjpob3ZlcjpyaW5nLTIgaG92ZXItbm9uZTphY3RpdmU6cmluZy0yIHJpbmctdHVpLXByaW1hcnkgZHVyYXRpb24tMTUwXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGlja0NhdGVnb3J5RXZlbnQuZW1pdChpdGVtKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJpdGVtLnByb3BlcnRpZXM/LmltYWdlIGFzIGltYWdlXCIgW3NyY109XCJnZXRDYXRlZ29yeUltYWdlKGltYWdlKVwiIFthbHRdPVwiaXRlbS5uYW1lXCIgY2xhc3M9XCJ3LTggaC04IG9iamVjdC1jb3ZlciByb3VuZGVkIGJnLXR1aS1iYXNlLTAzXCIgLz5cbiAgICAgICAgICAgIDx0dWktc3ZnICpuZ0lmPVwiIWl0ZW0ucHJvcGVydGllcz8uaW1hZ2UgJiYgY2hlY2tJbWFnZXNFeGlzdHMoY2F0ZWdvcmllcylcIiBzcmM9XCJ0dWlJY29uQ2FtZXJhT2ZmTGFyZ2VcIiBjbGFzcz1cImJnLXR1aS1iYXNlLTAzICF3LTggIWgtOCByb3VuZGVkIHRleHQtdHVpLWJhc2UtMDVcIj48L3R1aS1zdmc+XG4gICAgICAgICAgICA8ZGl2ICp0dWlMZXQ9XCJcIiBjbGFzcz1cImZsZXggZ3JvdyB0cnVuY2F0ZVwiPlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidGV4dC1iYXNlIGZvbnQtYm9sZCB0cnVuY2F0ZVwiPnt7IGl0ZW0ubmFtZSB9fTwvcD5cbiAgICAgICAgICAgICAgICA8dHVpLXN2ZyAqbmdJZj1cIml0ZW0uaXNGYXZvcml0ZVwiIHNyYz1cInNjSWNvbkZhdm9yaXRlRmlsbFwiIGNsYXNzPVwidGV4dC10dWktcHJpbWFyeSAhdGV4dC1zbSBtci1hdXRvXCI+PC90dWktc3ZnPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8dHVpLXN2ZyBzcmM9XCJ0dWlJY29uQ2hldnJvblJpZ2h0TGFyZ2VcIiBjbGFzcz1cImhvdmVyLWhvdmVyOmdyb3VwLWhvdmVyOnRleHQtdHVpLXByaW1hcnkgaG92ZXItbm9uZTpncm91cC1hY3RpdmU6dGV4dC10dWktcHJpbWFyeSBkdXJhdGlvbi0xNTBcIj48L3R1aS1zdmc+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjY2F0ZWdvcmllc1NrZWxldG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgKnR1aVJlcGVhdFRpbWVzPVwibGV0IGluZGV4IG9mIGlzTW9iaWxlID8gMyA6IDZcIlxuICAgICAgICBjbGFzcz1cImdyb3VwIGZsZXggZ2FwLTIgcHktMS41IHB4LTMgYmctdHVpLWJhc2UtMDIgcm91bmRlZC14bCBoLTExIGl0ZW1zLWNlbnRlciB0ZXh0LWxlZnQgaG92ZXItaG92ZXI6aG92ZXI6cmluZy0yIGhvdmVyLW5vbmU6YWN0aXZlOnJpbmctMiByaW5nLXR1aS1iYXNlLTA1IGR1cmF0aW9uLTE1MFwiXG4gICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidy04IGgtOCB0dWktc2tlbGV0b25cIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImgtNCBncm93IHR1aS1za2VsZXRvblwiPjwvZGl2PlxuICAgICAgICA8dHVpLXN2ZyBzcmM9XCJ0dWlJY29uQ2hldnJvblJpZ2h0TGFyZ2VcIiBjbGFzcz1cImhvdmVyLWhvdmVyOmdyb3VwLWhvdmVyOnRleHQtdHVpLXByaW1hcnkgaG92ZXItbm9uZTpncm91cC1hY3RpdmU6dGV4dC10dWktcHJpbWFyeSBkdXJhdGlvbi0xNTAgIHR1aS1za2VsZXRvblwiPjwvdHVpLXN2Zz5cbiAgICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
@@ -1,120 +0,0 @@
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, HostListener, Inject, Input, Output, ViewChild } from '@angular/core';
|
2
|
-
import { SC_PATH_IMAGE_NOT_FOUND, SC_URLS } from '@snabcentr/client-core';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
import * as i1 from "@snabcentr/client-core";
|
5
|
-
import * as i2 from "@angular/common";
|
6
|
-
import * as i3 from "../sc-favorite-btn/sc-favorite-btn.component";
|
7
|
-
/**
|
8
|
-
* Карточка категории.
|
9
|
-
*/
|
10
|
-
export class ScCategoryCardComponent {
|
11
|
-
/**
|
12
|
-
* Инициализирует экземпляр класса {@link CategoryCardComponent}.
|
13
|
-
*
|
14
|
-
* @param urls Список ссылок на разделы backend'a.
|
15
|
-
* @param renderer Экземпляр базового класса для реализации пользовательского рендеринга.
|
16
|
-
* @param pathImageNotFound Путь до изображения 'Товар не найден'.
|
17
|
-
*/
|
18
|
-
constructor(urls, renderer, pathImageNotFound, authService, cdr) {
|
19
|
-
this.urls = urls;
|
20
|
-
this.renderer = renderer;
|
21
|
-
this.pathImageNotFound = pathImageNotFound;
|
22
|
-
this.authService = authService;
|
23
|
-
this.cdr = cdr;
|
24
|
-
/**
|
25
|
-
* Размер карточки категории.
|
26
|
-
*/
|
27
|
-
this.size = 'm';
|
28
|
-
/**
|
29
|
-
* Признак, что карточка является скелетоном.
|
30
|
-
*/
|
31
|
-
this.isSkeleton = false;
|
32
|
-
/**
|
33
|
-
* Признак, что необходимо отобразить лоадер для кнопки избранных товаров и категорий.
|
34
|
-
*/
|
35
|
-
this.favoriteShowLoader = false;
|
36
|
-
/**
|
37
|
-
* {@link Observable} изменения статуса авторизации.
|
38
|
-
*/
|
39
|
-
this.authStatus$ = this.authService.getAuthChange();
|
40
|
-
/**
|
41
|
-
* Признак что категория имеет поведение наведения и скрытия названия.
|
42
|
-
*/
|
43
|
-
this.isHovered = false;
|
44
|
-
/**
|
45
|
-
* Событие нажатия на карточку категории.
|
46
|
-
*/
|
47
|
-
this.clickOnCardEvent = new EventEmitter();
|
48
|
-
/**
|
49
|
-
* Событие нажатия на кнопку избранной категории.
|
50
|
-
*/
|
51
|
-
this.clickOnFavoriteEvent = new EventEmitter();
|
52
|
-
}
|
53
|
-
/**
|
54
|
-
* Возвращает путь к изображению категории. Если путь отсутствует, то вернёт изображение по-умолчанию ("product_not_found").
|
55
|
-
*
|
56
|
-
* @param category Информация о категории.
|
57
|
-
*/
|
58
|
-
getCategoryImgURL(category) {
|
59
|
-
return category.properties?.image ? this.urls.imgServerUrl + '/' + category.properties?.image : this.pathImageNotFound;
|
60
|
-
}
|
61
|
-
/**
|
62
|
-
* Обработчик события mousemove.
|
63
|
-
*/
|
64
|
-
moveEnterHandler() {
|
65
|
-
if (this.isHovered) {
|
66
|
-
this.name.nativeElement.style.maxHeight = `${this.name.nativeElement.scrollHeight / 16}rem`;
|
67
|
-
}
|
68
|
-
}
|
69
|
-
/**
|
70
|
-
* Обработчик события mouseleave.
|
71
|
-
*/
|
72
|
-
mouseLeaveHandler() {
|
73
|
-
if (this.isHovered) {
|
74
|
-
this.renderer.setStyle(this.name.nativeElement, 'maxHeight', null);
|
75
|
-
}
|
76
|
-
}
|
77
|
-
/**
|
78
|
-
* Устанавливает компонент в очередь на обновление.
|
79
|
-
*/
|
80
|
-
markForCheck() {
|
81
|
-
this.cdr.markForCheck();
|
82
|
-
}
|
83
|
-
}
|
84
|
-
ScCategoryCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScCategoryCardComponent, deps: [{ token: SC_URLS }, { token: i0.Renderer2 }, { token: SC_PATH_IMAGE_NOT_FOUND }, { token: i1.ScAuthService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
85
|
-
ScCategoryCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScCategoryCardComponent, selector: "sc-category-card", inputs: { category: "category", size: "size", isSkeleton: "isSkeleton", isHovered: "isHovered" }, outputs: { clickOnCardEvent: "clickOnCardEvent", clickOnFavoriteEvent: "clickOnFavoriteEvent" }, host: { listeners: { "mousemove": "moveEnterHandler()", "mouseleave": "mouseLeaveHandler()" }, properties: { "attr.data-size": "this.size" } }, viewQueries: [{ propertyName: "name", first: true, predicate: ["name"], descendants: true }], ngImport: i0, template: "<div class=\"relative group\">\n <button\n (click)=\"clickOnCardEvent.emit(category)\"\n [class.pointer-events-none]=\"!category || isSkeleton\"\n class=\"category-btn flex flex-col relative rounded-tui-radius-m overflow-hidden shadow-sc-2\"\n >\n <div class=\"img-wrapper w-full grow bg-tui-base-02 overflow-hidden\">\n <img *ngIf=\"category && !isSkeleton\" [src]=\"getCategoryImgURL(category)\" [alt]=\"category.name\" class=\"w-full\" />\n </div>\n <div #name [attr.data-is-hovered]=\"!isHovered\" class=\"name grid items-center justify-center font-bold bg-white w-full overflow-hidden shrink-0 duration-300\">\n <span *ngIf=\"category && !isSkeleton; else skeletonName\">{{ category.name }}</span>\n <ng-template #skeletonName>\n <div class=\"skeleton-name bg-tui-base-02 rounded-tui-radius-s\"></div>\n </ng-template>\n </div>\n </button>\n <sc-favorite-btn\n *ngIf=\"category && !isSkeleton && (authStatus$ | async)\"\n [showLoader]=\"favoriteShowLoader\"\n [isFavorite]=\"category.isFavorite\"\n (clickEvent)=\"clickOnFavoriteEvent.emit()\"\n class=\"absolute left-1 top-1\"\n ></sc-favorite-btn>\n</div>\n", styles: [":host[data-size=m] button.category-btn{width:100%;height:12.5rem}:host[data-size=m] button.category-btn .img-wrapper{max-height:8.75rem}:host[data-size=m] button.category-btn .name{min-height:2.5rem;padding-inline:.75rem;margin-block:.75rem}:host[data-size=m] button.category-btn .name:not([data-is-hovered=true]){max-height:2.5rem}:host[data-size=m] button.category-btn .name .skeleton-name{width:10rem;height:1rem}:host[data-size=s] button.category-btn{width:100%;height:10rem}:host[data-size=s] button.category-btn .img-wrapper{max-height:8.75rem}:host[data-size=s] button.category-btn .name{min-height:2rem;font-size:.75rem;line-height:1rem;padding-inline:.5rem;margin-block:.5rem}:host[data-size=s] button.category-btn .name:not([data-is-hovered=true]){max-height:2rem}:host[data-size=s] button.category-btn .name .skeleton-name{width:7rem;height:.75rem}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ScFavoriteBtnComponent, selector: "sc-favorite-btn", inputs: ["isFavorite", "showLoader", "disabled"], outputs: ["clickEvent"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScCategoryCardComponent, decorators: [{
|
87
|
-
type: Component,
|
88
|
-
args: [{ selector: 'sc-category-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"relative group\">\n <button\n (click)=\"clickOnCardEvent.emit(category)\"\n [class.pointer-events-none]=\"!category || isSkeleton\"\n class=\"category-btn flex flex-col relative rounded-tui-radius-m overflow-hidden shadow-sc-2\"\n >\n <div class=\"img-wrapper w-full grow bg-tui-base-02 overflow-hidden\">\n <img *ngIf=\"category && !isSkeleton\" [src]=\"getCategoryImgURL(category)\" [alt]=\"category.name\" class=\"w-full\" />\n </div>\n <div #name [attr.data-is-hovered]=\"!isHovered\" class=\"name grid items-center justify-center font-bold bg-white w-full overflow-hidden shrink-0 duration-300\">\n <span *ngIf=\"category && !isSkeleton; else skeletonName\">{{ category.name }}</span>\n <ng-template #skeletonName>\n <div class=\"skeleton-name bg-tui-base-02 rounded-tui-radius-s\"></div>\n </ng-template>\n </div>\n </button>\n <sc-favorite-btn\n *ngIf=\"category && !isSkeleton && (authStatus$ | async)\"\n [showLoader]=\"favoriteShowLoader\"\n [isFavorite]=\"category.isFavorite\"\n (clickEvent)=\"clickOnFavoriteEvent.emit()\"\n class=\"absolute left-1 top-1\"\n ></sc-favorite-btn>\n</div>\n", styles: [":host[data-size=m] button.category-btn{width:100%;height:12.5rem}:host[data-size=m] button.category-btn .img-wrapper{max-height:8.75rem}:host[data-size=m] button.category-btn .name{min-height:2.5rem;padding-inline:.75rem;margin-block:.75rem}:host[data-size=m] button.category-btn .name:not([data-is-hovered=true]){max-height:2.5rem}:host[data-size=m] button.category-btn .name .skeleton-name{width:10rem;height:1rem}:host[data-size=s] button.category-btn{width:100%;height:10rem}:host[data-size=s] button.category-btn .img-wrapper{max-height:8.75rem}:host[data-size=s] button.category-btn .name{min-height:2rem;font-size:.75rem;line-height:1rem;padding-inline:.5rem;margin-block:.5rem}:host[data-size=s] button.category-btn .name:not([data-is-hovered=true]){max-height:2rem}:host[data-size=s] button.category-btn .name .skeleton-name{width:7rem;height:.75rem}\n"] }]
|
89
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
90
|
-
type: Inject,
|
91
|
-
args: [SC_URLS]
|
92
|
-
}] }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
93
|
-
type: Inject,
|
94
|
-
args: [SC_PATH_IMAGE_NOT_FOUND]
|
95
|
-
}] }, { type: i1.ScAuthService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { category: [{
|
96
|
-
type: Input
|
97
|
-
}], name: [{
|
98
|
-
type: ViewChild,
|
99
|
-
args: ['name']
|
100
|
-
}], size: [{
|
101
|
-
type: Input
|
102
|
-
}, {
|
103
|
-
type: HostBinding,
|
104
|
-
args: ['attr.data-size']
|
105
|
-
}], isSkeleton: [{
|
106
|
-
type: Input
|
107
|
-
}], isHovered: [{
|
108
|
-
type: Input
|
109
|
-
}], clickOnCardEvent: [{
|
110
|
-
type: Output
|
111
|
-
}], clickOnFavoriteEvent: [{
|
112
|
-
type: Output
|
113
|
-
}], moveEnterHandler: [{
|
114
|
-
type: HostListener,
|
115
|
-
args: ['mousemove']
|
116
|
-
}], mouseLeaveHandler: [{
|
117
|
-
type: HostListener,
|
118
|
-
args: ['mouseleave']
|
119
|
-
}] } });
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2F0ZWdvcnktY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9jYXRlZ29yeS1jYXJkL3NjLWNhdGVnb3J5LWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvY2F0ZWdvcnktY2FyZC9zYy1jYXRlZ29yeS1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsT0FBTyxFQUFzQyxNQUFNLHdCQUF3QixDQUFDOzs7OztBQUk5Rzs7R0FFRztBQU9ILE1BQU0sT0FBTyx1QkFBdUI7SUFzRGhDOzs7Ozs7T0FNRztJQUNILFlBQ3NDLElBQWEsRUFDdkMsUUFBbUIsRUFDdUIsaUJBQXlCLEVBQzFELFdBQTBCLEVBQzFCLEdBQXNCO1FBSkwsU0FBSSxHQUFKLElBQUksQ0FBUztRQUN2QyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ3VCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUTtRQUMxRCxnQkFBVyxHQUFYLFdBQVcsQ0FBZTtRQUMxQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXJEM0M7O1dBRUc7UUFHSSxTQUFJLEdBQWEsR0FBRyxDQUFDO1FBRTVCOztXQUVHO1FBRUksZUFBVSxHQUFZLEtBQUssQ0FBQztRQUVuQzs7V0FFRztRQUNJLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUUzQzs7V0FFRztRQUNhLGdCQUFXLEdBQXdCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFcEY7O1dBRUc7UUFFSSxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRWxDOztXQUVHO1FBRUkscUJBQWdCLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFFbkY7O1dBRUc7UUFFSSx5QkFBb0IsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztJQWVwRixDQUFDO0lBRUo7Ozs7T0FJRztJQUNJLGlCQUFpQixDQUFDLFFBQW9CO1FBQ3pDLE9BQU8sUUFBUSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQzNILENBQUM7SUFFRDs7T0FFRztJQUVLLGdCQUFnQjtRQUNwQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksR0FBRyxFQUFFLEtBQUssQ0FBQztTQUMvRjtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUVLLGlCQUFpQjtRQUNyQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3RFO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksWUFBWTtRQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7b0hBdkdRLHVCQUF1QixrQkE4RHBCLE9BQU8sc0NBRVAsdUJBQXVCO3dHQWhFMUIsdUJBQXVCLHllQzNCcEMsMHZDQXdCQTsyRkRHYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0ksa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU07OzBCQWdFMUMsTUFBTTsyQkFBQyxPQUFPOzswQkFFZCxNQUFNOzJCQUFDLHVCQUF1Qjt3R0EzRDVCLFFBQVE7c0JBRGQsS0FBSztnQkFPRSxJQUFJO3NCQURYLFNBQVM7dUJBQUMsTUFBTTtnQkFRVixJQUFJO3NCQUZWLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQU90QixVQUFVO3NCQURoQixLQUFLO2dCQWlCQyxTQUFTO3NCQURmLEtBQUs7Z0JBT0MsZ0JBQWdCO3NCQUR0QixNQUFNO2dCQU9BLG9CQUFvQjtzQkFEMUIsTUFBTTtnQkErQkMsZ0JBQWdCO3NCQUR2QixZQUFZO3VCQUFDLFdBQVc7Z0JBV2pCLGlCQUFpQjtzQkFEeEIsWUFBWTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNDX1BBVEhfSU1BR0VfTk9UX0ZPVU5ELCBTQ19VUkxTLCBTY0F1dGhTZXJ2aWNlLCBTY0NhdGVnb3J5LCBTY0lVcmxzIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUdWlTaXplUyB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiDQmtCw0YDRgtC+0YfQutCwINC60LDRgtC10LPQvtGA0LjQuC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy1jYXRlZ29yeS1jYXJkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2MtY2F0ZWdvcnktY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2MtY2F0ZWdvcnktY2FyZC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNjQ2F0ZWdvcnlDYXJkQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDQmNC90YTQvtGA0LzQsNGG0LjRjyDQviDQutCw0YLQtdCz0L7RgNC40LguXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY2F0ZWdvcnk/OiBTY0NhdGVnb3J5O1xuXG4gICAgLyoqXG4gICAgICog0KHRgdGL0LvQutCwINC90LAge0BsaW5rIEhUTUxFbGVtZW50fSDQsdC70L7QutCwINC90LDQt9Cy0LDQvdC40Y8uXG4gICAgICovXG4gICAgQFZpZXdDaGlsZCgnbmFtZScpXG4gICAgcHJpdmF0ZSBuYW1lOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKlxuICAgICAqINCg0LDQt9C80LXRgCDQutCw0YDRgtC+0YfQutC4INC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIHB1YmxpYyBzaXplOiBUdWlTaXplUyA9ICdtJztcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0LrQsNGA0YLQvtGH0LrQsCDRj9Cy0LvRj9C10YLRgdGPINGB0LrQtdC70LXRgtC+0L3QvtC8LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlzU2tlbGV0b246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0L7RgtC+0LHRgNCw0LfQuNGC0Ywg0LvQvtCw0LTQtdGAINC00LvRjyDQutC90L7Qv9C60Lgg0LjQt9Cx0YDQsNC90L3Ri9GFINGC0L7QstCw0YDQvtCyINC4INC60LDRgtC10LPQvtGA0LjQuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZmF2b3JpdGVTaG93TG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINGB0YLQsNGC0YPRgdCwINCw0LLRgtC+0YDQuNC30LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF1dGhTdGF0dXMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5hdXRoU2VydmljZS5nZXRBdXRoQ2hhbmdlKCk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiDRh9GC0L4g0LrQsNGC0LXQs9C+0YDQuNGPINC40LzQtdC10YIg0L/QvtCy0LXQtNC10L3QuNC1INC90LDQstC10LTQtdC90LjRjyDQuCDRgdC60YDRi9GC0LjRjyDQvdCw0LfQstCw0L3QuNGPLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlzSG92ZXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutCw0YDRgtC+0YfQutGDINC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2xpY2tPbkNhcmRFdmVudDogRXZlbnRFbWl0dGVyPFNjQ2F0ZWdvcnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY0NhdGVnb3J5PigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0LjQt9Cx0YDQsNC90L3QvtC5INC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2xpY2tPbkZhdm9yaXRlRXZlbnQ6IEV2ZW50RW1pdHRlcjxTY0NhdGVnb3J5PiA9IG5ldyBFdmVudEVtaXR0ZXI8U2NDYXRlZ29yeT4oKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgQ2F0ZWdvcnlDYXJkQ29tcG9uZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB1cmxzINCh0L/QuNGB0L7QuiDRgdGB0YvQu9C+0Log0L3QsCDRgNCw0LfQtNC10LvRiyBiYWNrZW5kJ2EuXG4gICAgICogQHBhcmFtIHJlbmRlcmVyINCt0LrQt9C10LzQv9C70Y/RgCDQsdCw0LfQvtCy0L7Qs9C+INC60LvQsNGB0YHQsCDQtNC70Y8g0YDQtdCw0LvQuNC30LDRhtC40Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GM0YHQutC+0LPQviDRgNC10L3QtNC10YDQuNC90LPQsC5cbiAgICAgKiBAcGFyYW0gcGF0aEltYWdlTm90Rm91bmQg0J/Rg9GC0Ywg0LTQviDQuNC30L7QsdGA0LDQttC10L3QuNGPICfQotC+0LLQsNGAINC90LUg0L3QsNC50LTQtdC9Jy5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoU0NfVVJMUykgcHJpdmF0ZSByZWFkb25seSB1cmxzOiBTY0lVcmxzLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIEBJbmplY3QoU0NfUEFUSF9JTUFHRV9OT1RfRk9VTkQpIHByaXZhdGUgcmVhZG9ubHkgcGF0aEltYWdlTm90Rm91bmQ6IHN0cmluZyxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhdXRoU2VydmljZTogU2NBdXRoU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0L/Rg9GC0Ywg0Log0LjQt9C+0LHRgNCw0LbQtdC90LjRjiDQutCw0YLQtdCz0L7RgNC40LguINCV0YHQu9C4INC/0YPRgtGMINC+0YLRgdGD0YLRgdGC0LLRg9C10YIsINGC0L4g0LLQtdGA0L3RkdGCINC40LfQvtCx0YDQsNC20LXQvdC40LUg0L/Qvi3Rg9C80L7Qu9GH0LDQvdC40Y4gKFwicHJvZHVjdF9ub3RfZm91bmRcIikuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2F0ZWdvcnkg0JjQvdGE0L7RgNC80LDRhtC40Y8g0L4g0LrQsNGC0LXQs9C+0YDQuNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDYXRlZ29yeUltZ1VSTChjYXRlZ29yeTogU2NDYXRlZ29yeSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBjYXRlZ29yeS5wcm9wZXJ0aWVzPy5pbWFnZSA/IHRoaXMudXJscy5pbWdTZXJ2ZXJVcmwgKyAnLycgKyBjYXRlZ29yeS5wcm9wZXJ0aWVzPy5pbWFnZSA6IHRoaXMucGF0aEltYWdlTm90Rm91bmQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7QsdGA0LDQsdC+0YLRh9C40Log0YHQvtCx0YvRgtC40Y8gbW91c2Vtb3ZlLlxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlbW92ZScpXG4gICAgcHJpdmF0ZSBtb3ZlRW50ZXJIYW5kbGVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0hvdmVyZWQpIHtcbiAgICAgICAgICAgIHRoaXMubmFtZS5uYXRpdmVFbGVtZW50LnN0eWxlLm1heEhlaWdodCA9IGAke3RoaXMubmFtZS5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodCAvIDE2fXJlbWA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntCx0YDQsNCx0L7RgtGH0LjQuiDRgdC+0LHRi9GC0LjRjyBtb3VzZWxlYXZlLlxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKVxuICAgIHByaXZhdGUgbW91c2VMZWF2ZUhhbmRsZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzSG92ZXJlZCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm5hbWUubmF0aXZlRWxlbWVudCwgJ21heEhlaWdodCcsIG51bGwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0LrQvtC80L/QvtC90LXQvdGCINCyINC+0YfQtdGA0LXQtNGMINC90LAg0L7QsdC90L7QstC70LXQvdC40LUuXG4gICAgICovXG4gICAgcHVibGljIG1hcmtGb3JDaGVjaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJlbGF0aXZlIGdyb3VwXCI+XG4gICAgPGJ1dHRvblxuICAgICAgICAoY2xpY2spPVwiY2xpY2tPbkNhcmRFdmVudC5lbWl0KGNhdGVnb3J5KVwiXG4gICAgICAgIFtjbGFzcy5wb2ludGVyLWV2ZW50cy1ub25lXT1cIiFjYXRlZ29yeSB8fCBpc1NrZWxldG9uXCJcbiAgICAgICAgY2xhc3M9XCJjYXRlZ29yeS1idG4gZmxleCBmbGV4LWNvbCByZWxhdGl2ZSByb3VuZGVkLXR1aS1yYWRpdXMtbSBvdmVyZmxvdy1oaWRkZW4gc2hhZG93LXNjLTJcIlxuICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImltZy13cmFwcGVyIHctZnVsbCBncm93IGJnLXR1aS1iYXNlLTAyIG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICAgICAgPGltZyAqbmdJZj1cImNhdGVnb3J5ICYmICFpc1NrZWxldG9uXCIgW3NyY109XCJnZXRDYXRlZ29yeUltZ1VSTChjYXRlZ29yeSlcIiBbYWx0XT1cImNhdGVnb3J5Lm5hbWVcIiBjbGFzcz1cInctZnVsbFwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICNuYW1lIFthdHRyLmRhdGEtaXMtaG92ZXJlZF09XCIhaXNIb3ZlcmVkXCIgY2xhc3M9XCJuYW1lIGdyaWQgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZvbnQtYm9sZCBiZy13aGl0ZSB3LWZ1bGwgb3ZlcmZsb3ctaGlkZGVuIHNocmluay0wIGR1cmF0aW9uLTMwMFwiPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjYXRlZ29yeSAmJiAhaXNTa2VsZXRvbjsgZWxzZSBza2VsZXRvbk5hbWVcIj57eyBjYXRlZ29yeS5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNza2VsZXRvbk5hbWU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNrZWxldG9uLW5hbWUgYmctdHVpLWJhc2UtMDIgcm91bmRlZC10dWktcmFkaXVzLXNcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvYnV0dG9uPlxuICAgIDxzYy1mYXZvcml0ZS1idG5cbiAgICAgICAgKm5nSWY9XCJjYXRlZ29yeSAmJiAhaXNTa2VsZXRvbiAmJiAoYXV0aFN0YXR1cyQgfCBhc3luYylcIlxuICAgICAgICBbc2hvd0xvYWRlcl09XCJmYXZvcml0ZVNob3dMb2FkZXJcIlxuICAgICAgICBbaXNGYXZvcml0ZV09XCJjYXRlZ29yeS5pc0Zhdm9yaXRlXCJcbiAgICAgICAgKGNsaWNrRXZlbnQpPVwiY2xpY2tPbkZhdm9yaXRlRXZlbnQuZW1pdCgpXCJcbiAgICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBsZWZ0LTEgdG9wLTFcIlxuICAgID48L3NjLWZhdm9yaXRlLWJ0bj5cbjwvZGl2PlxuIl19
|
@@ -1,163 +0,0 @@
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostBinding, HostListener, Inject, Input, Optional, Output, Self, ViewChild } from '@angular/core';
|
2
|
-
import { NgControl } from '@angular/forms';
|
3
|
-
import { stepValidator } from '../../validators';
|
4
|
-
import { TUI_NUMBER_VALUE_TRANSFORMER, TuiInputNumberComponent } from '@taiga-ui/kit';
|
5
|
-
import { AbstractTuiNullableControl } from '@taiga-ui/cdk';
|
6
|
-
import * as i0 from "@angular/core";
|
7
|
-
import * as i1 from "@angular/common";
|
8
|
-
import * as i2 from "@taiga-ui/core";
|
9
|
-
import * as i3 from "@taiga-ui/kit";
|
10
|
-
import * as i4 from "@angular/forms";
|
11
|
-
import * as i5 from "@taiga-ui/cdk";
|
12
|
-
/**
|
13
|
-
* Компонент поля ввода количества.
|
14
|
-
*/
|
15
|
-
export class ScInputQuantityComponent extends AbstractTuiNullableControl {
|
16
|
-
/**
|
17
|
-
* Инициализирует экземпляр класса {@link ScInputQuantityComponent}.
|
18
|
-
*
|
19
|
-
* @param ngControl Объект поля ввода для настройки валидации.
|
20
|
-
* @param cdr Объект для работы с обнаружением изменений.
|
21
|
-
* @param transformer Преобразователь значений элемента формы.
|
22
|
-
*/
|
23
|
-
constructor(ngControl, cdr, transformer) {
|
24
|
-
super(ngControl, cdr, transformer);
|
25
|
-
/**
|
26
|
-
* Шаг увеличения количества. Отвечает за проверку кратности ввода.
|
27
|
-
*/
|
28
|
-
this.step = 1;
|
29
|
-
/**
|
30
|
-
* Признак, что необходимо отобразить {@link TuiLoaderComponent} над компонентом.
|
31
|
-
*/
|
32
|
-
this.showLoader = false;
|
33
|
-
/**
|
34
|
-
* Признак, что необходимо отобразить кнопку очистки поля ввода.
|
35
|
-
*/
|
36
|
-
this.showCross = true;
|
37
|
-
/**
|
38
|
-
* Формат внешнего вида компонента.
|
39
|
-
*/
|
40
|
-
this.appearance = 'primary';
|
41
|
-
/**
|
42
|
-
* Признак, что компонент деактивирован.
|
43
|
-
*/
|
44
|
-
this.isDisabled = false;
|
45
|
-
/**
|
46
|
-
* Размер компонента.
|
47
|
-
*/
|
48
|
-
this.size = 'm';
|
49
|
-
/**
|
50
|
-
* Событие нажатия на кнопку "Очистить".
|
51
|
-
*/
|
52
|
-
this.clickClearEvent = new EventEmitter();
|
53
|
-
}
|
54
|
-
/**
|
55
|
-
* Возвращает элемент, который может быть сфокусирован.
|
56
|
-
*/
|
57
|
-
get nativeFocusableElement() {
|
58
|
-
return this.numberInput.nativeFocusableElement;
|
59
|
-
}
|
60
|
-
get focused() {
|
61
|
-
return !!this.numberInput?.focused;
|
62
|
-
}
|
63
|
-
get formControl() {
|
64
|
-
return this.control;
|
65
|
-
}
|
66
|
-
/** @inheritDoc */
|
67
|
-
ngOnInit() {
|
68
|
-
if (this.control) {
|
69
|
-
this.control.setValidators(stepValidator(this.step));
|
70
|
-
}
|
71
|
-
}
|
72
|
-
/**
|
73
|
-
* Обработчик события нажатия стрелок клавиатуры.
|
74
|
-
*
|
75
|
-
* @param step Шаг изменения количества.
|
76
|
-
*/
|
77
|
-
onArrow(step) {
|
78
|
-
if (!step) {
|
79
|
-
return;
|
80
|
-
}
|
81
|
-
if (step > 0) {
|
82
|
-
this.incident();
|
83
|
-
}
|
84
|
-
else {
|
85
|
-
this.decrement();
|
86
|
-
}
|
87
|
-
}
|
88
|
-
/**
|
89
|
-
* Увеличивает значение в поле ввода на 1 шаг. Если число в поле ввода не кратно шагу, то увеличит до ближайшего кратного значения.
|
90
|
-
*/
|
91
|
-
incident() {
|
92
|
-
this.numberInput.onArrow(this.step - ((this.numberInput.value || 0) % this.step));
|
93
|
-
this.numberInput.nativeFocusableElement?.blur();
|
94
|
-
}
|
95
|
-
/**
|
96
|
-
* Уменьшает значение в поле ввода на 1 шаг. Если число в поле ввода не кратно шагу, то уменьшит до ближайшего кратного значения.
|
97
|
-
*/
|
98
|
-
decrement() {
|
99
|
-
this.numberInput.onArrow(-((this.numberInput.value || 0) % this.step) || -this.step);
|
100
|
-
this.numberInput.nativeFocusableElement?.blur();
|
101
|
-
}
|
102
|
-
/**
|
103
|
-
* Очищает поля ввода.
|
104
|
-
*/
|
105
|
-
clear() {
|
106
|
-
this.control?.patchValue(null);
|
107
|
-
this.clickClearEvent.emit();
|
108
|
-
}
|
109
|
-
}
|
110
|
-
ScInputQuantityComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScInputQuantityComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: TUI_NUMBER_VALUE_TRANSFORMER, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
111
|
-
ScInputQuantityComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScInputQuantityComponent, selector: "sc-input-quantity", inputs: { step: "step", showLoader: "showLoader", showCross: "showCross", appearance: "appearance", isDisabled: "isDisabled", size: "size" }, outputs: { clickClearEvent: "clickClearEvent" }, host: { listeners: { "keydown.arrowDown": "onArrow(-step)", "keydown.arrowUp": "onArrow(step)" }, properties: { "attr.data-appearance": "this.appearance", "attr.data-disabled": "this.isDisabled", "attr.data-size": "this.size" } }, viewQueries: [{ propertyName: "numberInput", first: true, predicate: TuiInputNumberComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-loader *ngIf=\"formControl\" class=\"w-full\" [overlay]=\"true\" [showLoader]=\"showLoader\" [size]=\"size\">\n <div class=\"flex items-center text-center gap-1\">\n <div class=\"field-with-button flex grow rounded-xl\">\n <button\n tuiIconButton\n tuiMode=\"onLight\"\n [appearance]=\"appearance\"\n [disabled]=\"!numberInput.canDecrement\"\n [focusable]=\"false\"\n [size]=\"size\"\n (click.prevent)=\"decrement()\"\n (mousedown.prevent)=\"numberInput.nativeFocusableElement?.focus()\"\n >\n <tui-svg src=\"tuiIconMinusLarge\"></tui-svg>\n </button>\n <tui-input-number\n #numberInput\n [formControl]=\"formControl\"\n [tuiHint]=\"([] | tuiFieldError | async )?.message\"\n [tuiTextfieldLabelOutside]=\"true\"\n [min]=\"step\"\n [tuiTextfieldSize]=\"size\"\n [required]=\"true\"\n [style.text-align]=\"'center'\"\n [style.font-weight]=\"700\"\n (focusin)=\"$any($event.target).select()\"\n oncontextmenu=\"return false;\"\n class=\"grow\"\n >\n </tui-input-number>\n <button\n tuiIconButton\n tuiMode=\"onLight\"\n [appearance]=\"appearance\"\n [size]=\"size\"\n [disabled]=\"!numberInput.canIncrement\"\n [focusable]=\"false\"\n (click.prevent)=\"incident()\"\n (mousedown.prevent)=\"numberInput.nativeFocusableElement?.focus()\"\n >\n <tui-svg src=\"tuiIconPlusLarge\"></tui-svg>\n </button>\n </div>\n <button\n *ngIf=\"showCross\"\n tuiIconButton\n tuiMode=\"onLight\"\n [appearance]=\"appearance\"\n [size]=\"size\"\n [disabled]=\"!numberInput.canIncrement\"\n [focusable]=\"false\"\n (click.prevent)=\"clear()\"\n (mousedown.prevent)=\"numberInput.nativeFocusableElement?.focus()\"\n >\n <tui-svg src=\"tuiIconCloseLarge\"></tui-svg>\n </button>\n </div>\n</tui-loader>\n", styles: [":host [data-size=l]{--tui-height-l: var(--tui-height-m);--tui-font-text-m: bold .875rem/1.25rem var(--tui-font-text);--tui-padding-l: 0}:host [data-size=m]{--tui-height-m: var(--tui-height-s);--tui-font-text-s: bold .75rem/1rem var(--tui-font-text);--tui-padding-m: 0}:host [data-size=m] tui-svg{font-size:12px!important}:host [data-size=s]{--tui-height-s: var(--tui-height-xs);--tui-font-text-s: bold .75rem/1rem var(--tui-font-text);--tui-padding-s: 0}:host [data-size=s] tui-svg{font-size:12px!important}:host[data-disabled=true]{pointer-events:none;opacity:var(--tui-disabled-opacity)}:host[data-appearance=secondary] .field-with-button{background-color:var(--tui-base-01);box-shadow:inset 0 0 0 .0625rem var(--tui-base-03)}:host[data-appearance=primary] .field-with-button{background-color:var(--tui-warning-bg)}:host .field-with-button:has(._invalid){background-color:var(--tui-error-bg)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { kind: "component", type: i2.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { kind: "component", type: i3.TuiInputNumberComponent, selector: "tui-input-number", inputs: ["min", "max", "decimal", "precision", "step", "prefix", "postfix"] }, { kind: "directive", type: i3.TuiInputNumberDirective, selector: "tui-input-number" }, { kind: "directive", type: i2.TuiTextfieldLabelOutsideDirective, selector: "[tuiTextfieldLabelOutside]", inputs: ["tuiTextfieldLabelOutside"] }, { kind: "directive", type: i2.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"] }, { kind: "directive", type: i2.TuiHintDriverDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)" }, { kind: "directive", type: i2.TuiHintHoverDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintShowDelay", "tuiHintHideDelay"], exportAs: ["tuiHintHover"] }, { kind: "directive", type: i2.TuiHintPositionDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintDirection"] }, { kind: "directive", type: i2.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { kind: "component", type: i2.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TuiFieldErrorPipe, name: "tuiFieldError" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScInputQuantityComponent, decorators: [{
|
113
|
-
type: Component,
|
114
|
-
args: [{ selector: 'sc-input-quantity', changeDetection: ChangeDetectionStrategy.OnPush, template: "<tui-loader *ngIf=\"formControl\" class=\"w-full\" [overlay]=\"true\" [showLoader]=\"showLoader\" [size]=\"size\">\n <div class=\"flex items-center text-center gap-1\">\n <div class=\"field-with-button flex grow rounded-xl\">\n <button\n tuiIconButton\n tuiMode=\"onLight\"\n [appearance]=\"appearance\"\n [disabled]=\"!numberInput.canDecrement\"\n [focusable]=\"false\"\n [size]=\"size\"\n (click.prevent)=\"decrement()\"\n (mousedown.prevent)=\"numberInput.nativeFocusableElement?.focus()\"\n >\n <tui-svg src=\"tuiIconMinusLarge\"></tui-svg>\n </button>\n <tui-input-number\n #numberInput\n [formControl]=\"formControl\"\n [tuiHint]=\"([] | tuiFieldError | async )?.message\"\n [tuiTextfieldLabelOutside]=\"true\"\n [min]=\"step\"\n [tuiTextfieldSize]=\"size\"\n [required]=\"true\"\n [style.text-align]=\"'center'\"\n [style.font-weight]=\"700\"\n (focusin)=\"$any($event.target).select()\"\n oncontextmenu=\"return false;\"\n class=\"grow\"\n >\n </tui-input-number>\n <button\n tuiIconButton\n tuiMode=\"onLight\"\n [appearance]=\"appearance\"\n [size]=\"size\"\n [disabled]=\"!numberInput.canIncrement\"\n [focusable]=\"false\"\n (click.prevent)=\"incident()\"\n (mousedown.prevent)=\"numberInput.nativeFocusableElement?.focus()\"\n >\n <tui-svg src=\"tuiIconPlusLarge\"></tui-svg>\n </button>\n </div>\n <button\n *ngIf=\"showCross\"\n tuiIconButton\n tuiMode=\"onLight\"\n [appearance]=\"appearance\"\n [size]=\"size\"\n [disabled]=\"!numberInput.canIncrement\"\n [focusable]=\"false\"\n (click.prevent)=\"clear()\"\n (mousedown.prevent)=\"numberInput.nativeFocusableElement?.focus()\"\n >\n <tui-svg src=\"tuiIconCloseLarge\"></tui-svg>\n </button>\n </div>\n</tui-loader>\n", styles: [":host [data-size=l]{--tui-height-l: var(--tui-height-m);--tui-font-text-m: bold .875rem/1.25rem var(--tui-font-text);--tui-padding-l: 0}:host [data-size=m]{--tui-height-m: var(--tui-height-s);--tui-font-text-s: bold .75rem/1rem var(--tui-font-text);--tui-padding-m: 0}:host [data-size=m] tui-svg{font-size:12px!important}:host [data-size=s]{--tui-height-s: var(--tui-height-xs);--tui-font-text-s: bold .75rem/1rem var(--tui-font-text);--tui-padding-s: 0}:host [data-size=s] tui-svg{font-size:12px!important}:host[data-disabled=true]{pointer-events:none;opacity:var(--tui-disabled-opacity)}:host[data-appearance=secondary] .field-with-button{background-color:var(--tui-base-01);box-shadow:inset 0 0 0 .0625rem var(--tui-base-03)}:host[data-appearance=primary] .field-with-button{background-color:var(--tui-warning-bg)}:host .field-with-button:has(._invalid){background-color:var(--tui-error-bg)}\n"] }]
|
115
|
-
}], ctorParameters: function () { return [{ type: i4.NgControl, decorators: [{
|
116
|
-
type: Optional
|
117
|
-
}, {
|
118
|
-
type: Self
|
119
|
-
}, {
|
120
|
-
type: Inject,
|
121
|
-
args: [NgControl]
|
122
|
-
}] }, { type: i0.ChangeDetectorRef, decorators: [{
|
123
|
-
type: Inject,
|
124
|
-
args: [ChangeDetectorRef]
|
125
|
-
}] }, { type: i5.AbstractTuiValueTransformer, decorators: [{
|
126
|
-
type: Optional
|
127
|
-
}, {
|
128
|
-
type: Inject,
|
129
|
-
args: [TUI_NUMBER_VALUE_TRANSFORMER]
|
130
|
-
}] }]; }, propDecorators: { numberInput: [{
|
131
|
-
type: ViewChild,
|
132
|
-
args: [TuiInputNumberComponent]
|
133
|
-
}], step: [{
|
134
|
-
type: Input
|
135
|
-
}], showLoader: [{
|
136
|
-
type: Input
|
137
|
-
}], showCross: [{
|
138
|
-
type: Input
|
139
|
-
}], appearance: [{
|
140
|
-
type: Input
|
141
|
-
}, {
|
142
|
-
type: HostBinding,
|
143
|
-
args: ['attr.data-appearance']
|
144
|
-
}], isDisabled: [{
|
145
|
-
type: Input
|
146
|
-
}, {
|
147
|
-
type: HostBinding,
|
148
|
-
args: ['attr.data-disabled']
|
149
|
-
}], size: [{
|
150
|
-
type: Input
|
151
|
-
}, {
|
152
|
-
type: HostBinding,
|
153
|
-
args: ['attr.data-size']
|
154
|
-
}], clickClearEvent: [{
|
155
|
-
type: Output
|
156
|
-
}], onArrow: [{
|
157
|
-
type: HostListener,
|
158
|
-
args: ['keydown.arrowDown', ['-step']]
|
159
|
-
}, {
|
160
|
-
type: HostListener,
|
161
|
-
args: ['keydown.arrowUp', ['step']]
|
162
|
-
}] } });
|
163
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaW5wdXQtcXVhbnRpdHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvaW5wdXQtcXVhbnRpdHkvc2MtaW5wdXQtcXVhbnRpdHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvaW5wdXQtcXVhbnRpdHkvc2MtaW5wdXQtcXVhbnRpdHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBQ0osU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3RGLE9BQU8sRUFBRSwwQkFBMEIsRUFBK0IsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFFeEY7O0dBRUc7QUFPSCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsMEJBQWtDO0lBMkQ1RTs7Ozs7O09BTUc7SUFDSCxZQUlRLFNBQTJCLEVBRTNCLEdBQXNCLEVBR3RCLFdBQXVEO1FBRTNELEtBQUssQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBdEV2Qzs7V0FFRztRQUVJLFNBQUksR0FBVyxDQUFDLENBQUM7UUFFeEI7O1dBRUc7UUFFSSxlQUFVLEdBQVksS0FBSyxDQUFDO1FBRW5DOztXQUVHO1FBRUksY0FBUyxHQUFZLElBQUksQ0FBQztRQUVqQzs7V0FFRztRQUdJLGVBQVUsR0FBNEIsU0FBUyxDQUFDO1FBRXZEOztXQUVHO1FBR0ksZUFBVSxHQUFZLEtBQUssQ0FBQztRQUVuQzs7V0FFRztRQUdJLFNBQUksR0FBbUMsR0FBRyxDQUFDO1FBRWxEOztXQUVHO1FBRUksb0JBQWUsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQTRCdEUsQ0FBQztJQTFCRDs7T0FFRztJQUNILElBQVcsc0JBQXNCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQztJQUNuRCxDQUFDO0lBdUJELElBQVcsT0FBTztRQUNkLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsT0FBa0MsQ0FBQztJQUNuRCxDQUFDO0lBRUQsa0JBQWtCO0lBQ0YsUUFBUTtRQUNwQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDeEQ7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUdJLE9BQU8sQ0FBQyxJQUFtQjtRQUM5QixJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1AsT0FBTztTQUNWO1FBRUQsSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFO1lBQ1YsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ25CO2FBQU07WUFDSCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDcEI7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRO1FBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxTQUFTO1FBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JGLElBQUksQ0FBQyxXQUFXLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSztRQUNSLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEMsQ0FBQzs7cUhBeElRLHdCQUF3QixrQkFxRXJCLFNBQVMseUNBRVQsaUJBQWlCLGFBR2pCLDRCQUE0Qjt5R0ExRS9CLHdCQUF3Qiw0Z0JBSXRCLHVCQUF1Qix1RUNuQ3RDLGsxRUEwREE7MkZEM0JhLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDSSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTTs7MEJBcUUxQyxRQUFROzswQkFDUixJQUFJOzswQkFDSixNQUFNOzJCQUFDLFNBQVM7OzBCQUVoQixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBRXhCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsNEJBQTRCOzRDQXJFdkIsV0FBVztzQkFEM0IsU0FBUzt1QkFBQyx1QkFBdUI7Z0JBTzNCLElBQUk7c0JBRFYsS0FBSztnQkFPQyxVQUFVO3NCQURoQixLQUFLO2dCQU9DLFNBQVM7c0JBRGYsS0FBSztnQkFRQyxVQUFVO3NCQUZoQixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLHNCQUFzQjtnQkFRNUIsVUFBVTtzQkFGaEIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBUTFCLElBQUk7c0JBRlYsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBT3RCLGVBQWU7c0JBRHJCLE1BQU07Z0JBcURBLE9BQU87c0JBRmIsWUFBWTt1QkFBQyxtQkFBbUIsRUFBRSxDQUFDLE9BQU8sQ0FBQzs7c0JBQzNDLFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsQ0FBQyxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHN0ZXBWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi92YWxpZGF0b3JzJztcbmltcG9ydCB7IFRVSV9OVU1CRVJfVkFMVUVfVFJBTlNGT1JNRVIsIFR1aUlucHV0TnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5pbXBvcnQgeyBUdWlMb2FkZXJDb21wb25lbnQsIFR1aVNpemVMLCBUdWlTaXplTSwgVHVpU2l6ZVMgfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCwgQWJzdHJhY3RUdWlWYWx1ZVRyYW5zZm9ybWVyIH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINC/0L7Qu9GPINCy0LLQvtC00LAg0LrQvtC70LjRh9C10YHRgtCy0LAuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2MtaW5wdXQtcXVhbnRpdHknLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1pbnB1dC1xdWFudGl0eS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2MtaW5wdXQtcXVhbnRpdHkuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTY0lucHV0UXVhbnRpdHlDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxudW1iZXI+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKipcbiAgICAgKiDQmtC+0LzQv9C+0L3QtdC90YIg0L/QvtC70Y8g0LLQstC+0LTQsC5cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKFR1aUlucHV0TnVtYmVyQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgbnVtYmVySW5wdXQ6IFR1aUlucHV0TnVtYmVyQ29tcG9uZW50O1xuXG4gICAgLyoqXG4gICAgICog0KjQsNCzINGD0LLQtdC70LjRh9C10L3QuNGPINC60L7Qu9C40YfQtdGB0YLQstCwLiDQntGC0LLQtdGH0LDQtdGCINC30LAg0L/RgNC+0LLQtdGA0LrRgyDQutGA0LDRgtC90L7RgdGC0Lgg0LLQstC+0LTQsC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzdGVwOiBudW1iZXIgPSAxO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQvdC10L7QsdGF0L7QtNC40LzQviDQvtGC0L7QsdGA0LDQt9C40YLRjCB7QGxpbmsgVHVpTG9hZGVyQ29tcG9uZW50fSDQvdCw0LQg0LrQvtC80L/QvtC90LXQvdGC0L7QvC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaG93TG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INC90LXQvtCx0YXQvtC00LjQvNC+INC+0YLQvtCx0YDQsNC30LjRgtGMINC60L3QvtC/0LrRgyDQvtGH0LjRgdGC0LrQuCDQv9C+0LvRjyDQstCy0L7QtNCwLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNob3dDcm9zczogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDQpNC+0YDQvNCw0YIg0LLQvdC10YjQvdC10LPQviDQstC40LTQsCDQutC+0LzQv9C+0L3QtdC90YLQsC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWFwcGVhcmFuY2UnKVxuICAgIHB1YmxpYyBhcHBlYXJhbmNlOiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyA9ICdwcmltYXJ5JztcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0LrQvtC80L/QvtC90LXQvdGCINC00LXQsNC60YLQuNCy0LjRgNC+0LLQsNC9LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtZGlzYWJsZWQnKVxuICAgIHB1YmxpYyBpc0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDQoNCw0LfQvNC10YAg0LrQvtC80L/QvtC90LXQvdGC0LAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zaXplJylcbiAgICBwdWJsaWMgc2l6ZTogVHVpU2l6ZUwgfCBUdWlTaXplTSB8IFR1aVNpemVTID0gJ20nO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMgXCLQntGH0LjRgdGC0LjRgtGMXCIuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNsaWNrQ2xlYXJFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0Y3Qu9C10LzQtdC90YIsINC60L7RgtC+0YDRi9C5INC80L7QttC10YIg0LHRi9GC0Ywg0YHRhNC+0LrRg9GB0LjRgNC+0LLQsNC9LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLm51bWJlcklucHV0Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY0lucHV0UXVhbnRpdHlDb21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIG5nQ29udHJvbCDQntCx0YrQtdC60YIg0L/QvtC70Y8g0LLQstC+0LTQsCDQtNC70Y8g0L3QsNGB0YLRgNC+0LnQutC4INCy0LDQu9C40LTQsNGG0LjQuC5cbiAgICAgKiBAcGFyYW0gY2RyINCe0LHRitC10LrRgiDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINC+0LHQvdCw0YDRg9C20LXQvdC40LXQvCDQuNC30LzQtdC90LXQvdC40LkuXG4gICAgICogQHBhcmFtIHRyYW5zZm9ybWVyINCf0YDQtdC+0LHRgNCw0LfQvtCy0LDRgtC10LvRjCDQt9C90LDRh9C10L3QuNC5INGN0LvQtdC80LXQvdGC0LAg0YTQvtGA0LzRiy5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgICAgICBuZ0NvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpXG4gICAgICAgICAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRVSV9OVU1CRVJfVkFMVUVfVFJBTlNGT1JNRVIpXG4gICAgICAgICAgICB0cmFuc2Zvcm1lcjogQWJzdHJhY3RUdWlWYWx1ZVRyYW5zZm9ybWVyPG51bWJlciB8IG51bGw+XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKG5nQ29udHJvbCwgY2RyLCB0cmFuc2Zvcm1lcik7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLm51bWJlcklucHV0Py5mb2N1c2VkO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZm9ybUNvbnRyb2woKTogRm9ybUNvbnRyb2w8YW55PiB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sIGFzIEZvcm1Db250cm9sPGFueT4gfCBudWxsO1xuICAgIH1cblxuICAgIC8qKiBAaW5oZXJpdERvYyAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sLnNldFZhbGlkYXRvcnMoc3RlcFZhbGlkYXRvcih0aGlzLnN0ZXApKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0LHRgNCw0LHQvtGC0YfQuNC6INGB0L7QsdGL0YLQuNGPINC90LDQttCw0YLQuNGPINGB0YLRgNC10LvQvtC6INC60LvQsNCy0LjQsNGC0YPRgNGLLlxuICAgICAqXG4gICAgICogQHBhcmFtIHN0ZXAg0KjQsNCzINC40LfQvNC10L3QtdC90LjRjyDQutC+0LvQuNGH0LXRgdGC0LLQsC5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93RG93bicsIFsnLXN0ZXAnXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93VXAnLCBbJ3N0ZXAnXSlcbiAgICBwdWJsaWMgb25BcnJvdyhzdGVwOiBudW1iZXIgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIGlmICghc3RlcCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN0ZXAgPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmluY2lkZW50KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRlY3JlbWVudCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPQstC10LvQuNGH0LjQstCw0LXRgiDQt9C90LDRh9C10L3QuNC1INCyINC/0L7Qu9C1INCy0LLQvtC00LAg0L3QsCAxINGI0LDQsy4g0JXRgdC70Lgg0YfQuNGB0LvQviDQsiDQv9C+0LvQtSDQstCy0L7QtNCwINC90LUg0LrRgNCw0YLQvdC+INGI0LDQs9GDLCDRgtC+INGD0LLQtdC70LjRh9C40YIg0LTQviDQsdC70LjQttCw0LnRiNC10LPQviDQutGA0LDRgtC90L7Qs9C+INC30L3QsNGH0LXQvdC40Y8uXG4gICAgICovXG4gICAgcHVibGljIGluY2lkZW50KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm51bWJlcklucHV0Lm9uQXJyb3codGhpcy5zdGVwIC0gKCh0aGlzLm51bWJlcklucHV0LnZhbHVlIHx8IDApICUgdGhpcy5zdGVwKSk7XG4gICAgICAgIHRoaXMubnVtYmVySW5wdXQubmF0aXZlRm9jdXNhYmxlRWxlbWVudD8uYmx1cigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0LzQtdC90YzRiNCw0LXRgiDQt9C90LDRh9C10L3QuNC1INCyINC/0L7Qu9C1INCy0LLQvtC00LAg0L3QsCAxINGI0LDQsy4g0JXRgdC70Lgg0YfQuNGB0LvQviDQsiDQv9C+0LvQtSDQstCy0L7QtNCwINC90LUg0LrRgNCw0YLQvdC+INGI0LDQs9GDLCDRgtC+INGD0LzQtdC90YzRiNC40YIg0LTQviDQsdC70LjQttCw0LnRiNC10LPQviDQutGA0LDRgtC90L7Qs9C+INC30L3QsNGH0LXQvdC40Y8uXG4gICAgICovXG4gICAgcHVibGljIGRlY3JlbWVudCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5udW1iZXJJbnB1dC5vbkFycm93KC0oKHRoaXMubnVtYmVySW5wdXQudmFsdWUgfHwgMCkgJSB0aGlzLnN0ZXApIHx8IC10aGlzLnN0ZXApO1xuICAgICAgICB0aGlzLm51bWJlcklucHV0Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ/LmJsdXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntGH0LjRidCw0LXRgiDQv9C+0LvRjyDQstCy0L7QtNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250cm9sPy5wYXRjaFZhbHVlKG51bGwpO1xuICAgICAgICB0aGlzLmNsaWNrQ2xlYXJFdmVudC5lbWl0KCk7XG4gICAgfVxufVxuIiwiPHR1aS1sb2FkZXIgKm5nSWY9XCJmb3JtQ29udHJvbFwiIGNsYXNzPVwidy1mdWxsXCIgW292ZXJsYXldPVwidHJ1ZVwiIFtzaG93TG9hZGVyXT1cInNob3dMb2FkZXJcIiBbc2l6ZV09XCJzaXplXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIHRleHQtY2VudGVyIGdhcC0xXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZC13aXRoLWJ1dHRvbiBmbGV4IGdyb3cgcm91bmRlZC14bFwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICB0dWlNb2RlPVwib25MaWdodFwiXG4gICAgICAgICAgICAgICAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFudW1iZXJJbnB1dC5jYW5EZWNyZW1lbnRcIlxuICAgICAgICAgICAgICAgIFtmb2N1c2FibGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIFtzaXplXT1cInNpemVcIlxuICAgICAgICAgICAgICAgIChjbGljay5wcmV2ZW50KT1cImRlY3JlbWVudCgpXCJcbiAgICAgICAgICAgICAgICAobW91c2Vkb3duLnByZXZlbnQpPVwibnVtYmVySW5wdXQubmF0aXZlRm9jdXNhYmxlRWxlbWVudD8uZm9jdXMoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHR1aS1zdmcgc3JjPVwidHVpSWNvbk1pbnVzTGFyZ2VcIj48L3R1aS1zdmc+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDx0dWktaW5wdXQtbnVtYmVyXG4gICAgICAgICAgICAgICAgI251bWJlcklucHV0XG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgICAgICAgICBbdHVpSGludF09XCIoW10gfCB0dWlGaWVsZEVycm9yIHwgYXN5bmMgKT8ubWVzc2FnZVwiXG4gICAgICAgICAgICAgICAgW3R1aVRleHRmaWVsZExhYmVsT3V0c2lkZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbbWluXT1cInN0ZXBcIlxuICAgICAgICAgICAgICAgIFt0dWlUZXh0ZmllbGRTaXplXT1cInNpemVcIlxuICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUudGV4dC1hbGlnbl09XCInY2VudGVyJ1wiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmZvbnQtd2VpZ2h0XT1cIjcwMFwiXG4gICAgICAgICAgICAgICAgKGZvY3VzaW4pPVwiJGFueSgkZXZlbnQudGFyZ2V0KS5zZWxlY3QoKVwiXG4gICAgICAgICAgICAgICAgb25jb250ZXh0bWVudT1cInJldHVybiBmYWxzZTtcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZ3Jvd1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3R1aS1pbnB1dC1udW1iZXI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgIHR1aU1vZGU9XCJvbkxpZ2h0XCJcbiAgICAgICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCJzaXplXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIW51bWJlcklucHV0LmNhbkluY3JlbWVudFwiXG4gICAgICAgICAgICAgICAgW2ZvY3VzYWJsZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrLnByZXZlbnQpPVwiaW5jaWRlbnQoKVwiXG4gICAgICAgICAgICAgICAgKG1vdXNlZG93bi5wcmV2ZW50KT1cIm51bWJlcklucHV0Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ/LmZvY3VzKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0dWktc3ZnIHNyYz1cInR1aUljb25QbHVzTGFyZ2VcIj48L3R1aS1zdmc+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwic2hvd0Nyb3NzXCJcbiAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgIHR1aU1vZGU9XCJvbkxpZ2h0XCJcbiAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIlxuICAgICAgICAgICAgW3NpemVdPVwic2l6ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIW51bWJlcklucHV0LmNhbkluY3JlbWVudFwiXG4gICAgICAgICAgICBbZm9jdXNhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgIChjbGljay5wcmV2ZW50KT1cImNsZWFyKClcIlxuICAgICAgICAgICAgKG1vdXNlZG93bi5wcmV2ZW50KT1cIm51bWJlcklucHV0Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ/LmZvY3VzKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8dHVpLXN2ZyBzcmM9XCJ0dWlJY29uQ2xvc2VMYXJnZVwiPjwvdHVpLXN2Zz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG48L3R1aS1sb2FkZXI+XG4iXX0=
|