@snabcentr/client-ui 1.18.1 → 2.0.0
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 +5 -9
- package/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.d.ts +4 -9
- package/auth/sc-sign-in-form/sc-sign-in-form.component.d.ts +9 -5
- 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/esm2022/auth/sc-sign-in-form/sc-sign-in-form.component.mjs +89 -0
- 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 +42 -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 -76
- package/esm2020/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.mjs +0 -75
- package/esm2020/auth/sc-sign-in-form/sc-sign-in-form.component.mjs +0 -71
- package/esm2020/banner/sc-banner.component.mjs +0 -232
- 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 -4861
- package/fesm2015/snabcentr-client-ui.mjs.map +0 -1
- package/fesm2020/snabcentr-client-ui.mjs +0 -4781
- 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
@@ -0,0 +1,88 @@
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';
|
2
|
+
import { TuiAccordionItem } from '@taiga-ui/kit';
|
3
|
+
import { ScAccordionContentDirective } from './sc-accordion-content.directive';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
import * as i1 from "@angular/common";
|
6
|
+
import * as i2 from "@taiga-ui/polymorpheus";
|
7
|
+
import * as i3 from "@taiga-ui/core";
|
8
|
+
import * as i4 from "@taiga-ui/kit";
|
9
|
+
/**
|
10
|
+
* Компонент, позволяющий отображать и скрывать содержимое в разделах.
|
11
|
+
*/
|
12
|
+
export class ScAccordionComponent {
|
13
|
+
constructor() {
|
14
|
+
/**
|
15
|
+
* Состояние отображения кнопки добавления.
|
16
|
+
*/
|
17
|
+
this.showAddButton = true;
|
18
|
+
/**
|
19
|
+
* Состояние отображения кнопки удаления.
|
20
|
+
*/
|
21
|
+
this.showDeleteButton = false;
|
22
|
+
/**
|
23
|
+
* Состояние отображения стрелки.
|
24
|
+
*/
|
25
|
+
this.showArrow = true;
|
26
|
+
/**
|
27
|
+
* Состояние открытия содержимого компонента.
|
28
|
+
*/
|
29
|
+
this.open = false;
|
30
|
+
/**
|
31
|
+
* Размер элементов {@link TuiAccordionItemComponent}.
|
32
|
+
*/
|
33
|
+
this.size = 's';
|
34
|
+
/**
|
35
|
+
* Событие нажатия на кнопку добавления.
|
36
|
+
*/
|
37
|
+
this.addButtonClick = new EventEmitter();
|
38
|
+
/**
|
39
|
+
* Событие нажатия на кнопку удаления.
|
40
|
+
*/
|
41
|
+
this.deleteButtonClick = new EventEmitter();
|
42
|
+
}
|
43
|
+
/**
|
44
|
+
* Закрывает акордион.
|
45
|
+
*/
|
46
|
+
close() {
|
47
|
+
this.accordion?.close();
|
48
|
+
}
|
49
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
50
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.3", type: ScAccordionComponent, selector: "sc-accordion", inputs: { showAddButton: "showAddButton", showDeleteButton: "showDeleteButton", showArrow: "showArrow", open: "open", size: "size" }, outputs: { addButtonClick: "addButtonClick", deleteButtonClick: "deleteButtonClick" }, host: { properties: { "class._has-add-button": "this.showAddButton", "class._has-delete-button": "this.showDeleteButton", "class._has-arrow": "this.showArrow", "attr.data-size": "this.size" } }, queries: [{ propertyName: "content", first: true, predicate: ScAccordionContentDirective, descendants: true }], viewQueries: [{ propertyName: "accordion", first: true, predicate: TuiAccordionItem, descendants: true }], ngImport: i0, template: "<tui-accordion [rounded]=\"false\">\n <tui-accordion-item\n #accordion\n [size]=\"size\"\n [borders]=\"null\"\n [showArrow]=\"showArrow\"\n [open]=\"open\"\n >\n <div class=\"flex grow justify-between\">\n <div class=\"self-center font-bold\">\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"showAddButton || showDeleteButton\"\n class=\"flex\"\n >\n <ng-container *ngIf=\"showDeleteButton\">\n <button\n tuiIconButton\n size=\"m\"\n type=\"button\"\n iconStart=\"@tui.trash-2\"\n appearance=\"secondary\"\n (click)=\"$event.stopPropagation(); deleteButtonClick.emit()\"\n ></button>\n </ng-container>\n <ng-container *ngIf=\"showAddButton\">\n <button\n tuiIconButton\n size=\"m\"\n type=\"button\"\n iconStart=\"@tui.plus\"\n appearance=\"secondary\"\n (click)=\"$event.stopPropagation(); addButtonClick.emit()\"\n ></button>\n </ng-container>\n </div>\n </div>\n <ng-template tuiAccordionItemContent>\n <tui-elastic-container *ngIf=\"content\">\n <ng-container *polymorpheusOutlet=\"content as text\">\n {{ text }}\n </ng-container>\n </tui-elastic-container>\n </ng-template>\n </tui-accordion-item>\n</tui-accordion>\n", styles: ["::ng-deep tui-accordion-item>.t-wrapper .t-header{border-radius:.75rem;flex-direction:row-reverse;min-height:var(--tui-height-m);font:var(--tui-font-text-m);padding:0 .5rem 0 1rem;gap:.75rem;background:var(--tui-background-base-alt)}:host[data-size=s] ::ng-deep tui-accordion-item>.t-wrapper .t-header{padding:0 .5rem 0 1rem;font:var(--tui-font-text-s)}:host._has-arrow ::ng-deep tui-accordion-item>.t-wrapper .t-header{padding-left:.75rem}:host._has-add-button ::ng-deep tui-accordion-item>.t-wrapper .t-header,:host._has-delete-button ::ng-deep tui-accordion-item>.t-wrapper .t-header{padding-right:0}::ng-deep tui-accordion-item>.t-wrapper .t-header_hoverable:hover:not([data-mode]){background:var(--tui-background-neutral-1-hover)!important}::ng-deep tui-accordion-item>.t-wrapper .t-header .t-icon{color:var(--tui-text-action)}:host:hover:not([data-mode]) ::ng-deep tui-accordion-item>.t-wrapper .t-header .t-icon{color:var(--tui-text-action)}::ng-deep tui-accordion-item>.t-wrapper .t-title{white-space:normal}:host._has-arrow ::ng-deep tui-accordion-item>.t-wrapper .t-title{margin-right:0}::ng-deep tui-accordion-item>.t-wrapper tui-expand>.t-wrapper>.t-content{padding-inline:0!important;padding-block:1rem}:host._has-arrow ::ng-deep tui-accordion-item>.t-wrapper tui-expand>.t-wrapper>.t-content,:host[data-size=s]:host._has-arrow ::ng-deep tui-accordion-item>.t-wrapper tui-expand>.t-wrapper>.t-content{padding-left:1rem!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: i3.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i4.TuiAccordionItem, selector: "tui-accordion-item", inputs: ["noPadding", "showArrow", "borders", "size", "disabled", "disableHover", "open", "async"], outputs: ["openChange"] }, { kind: "directive", type: i4.TuiAccordionDirective, selector: "tui-accordion", inputs: ["closeOthers"] }, { kind: "directive", type: i4.TuiAccordionItemContent, selector: "ng-template[tuiAccordionItemContent]" }, { kind: "component", type: i4.TuiElasticContainer, selector: "tui-elastic-container" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
51
|
+
}
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScAccordionComponent, decorators: [{
|
53
|
+
type: Component,
|
54
|
+
args: [{ selector: 'sc-accordion', changeDetection: ChangeDetectionStrategy.OnPush, template: "<tui-accordion [rounded]=\"false\">\n <tui-accordion-item\n #accordion\n [size]=\"size\"\n [borders]=\"null\"\n [showArrow]=\"showArrow\"\n [open]=\"open\"\n >\n <div class=\"flex grow justify-between\">\n <div class=\"self-center font-bold\">\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"showAddButton || showDeleteButton\"\n class=\"flex\"\n >\n <ng-container *ngIf=\"showDeleteButton\">\n <button\n tuiIconButton\n size=\"m\"\n type=\"button\"\n iconStart=\"@tui.trash-2\"\n appearance=\"secondary\"\n (click)=\"$event.stopPropagation(); deleteButtonClick.emit()\"\n ></button>\n </ng-container>\n <ng-container *ngIf=\"showAddButton\">\n <button\n tuiIconButton\n size=\"m\"\n type=\"button\"\n iconStart=\"@tui.plus\"\n appearance=\"secondary\"\n (click)=\"$event.stopPropagation(); addButtonClick.emit()\"\n ></button>\n </ng-container>\n </div>\n </div>\n <ng-template tuiAccordionItemContent>\n <tui-elastic-container *ngIf=\"content\">\n <ng-container *polymorpheusOutlet=\"content as text\">\n {{ text }}\n </ng-container>\n </tui-elastic-container>\n </ng-template>\n </tui-accordion-item>\n</tui-accordion>\n", styles: ["::ng-deep tui-accordion-item>.t-wrapper .t-header{border-radius:.75rem;flex-direction:row-reverse;min-height:var(--tui-height-m);font:var(--tui-font-text-m);padding:0 .5rem 0 1rem;gap:.75rem;background:var(--tui-background-base-alt)}:host[data-size=s] ::ng-deep tui-accordion-item>.t-wrapper .t-header{padding:0 .5rem 0 1rem;font:var(--tui-font-text-s)}:host._has-arrow ::ng-deep tui-accordion-item>.t-wrapper .t-header{padding-left:.75rem}:host._has-add-button ::ng-deep tui-accordion-item>.t-wrapper .t-header,:host._has-delete-button ::ng-deep tui-accordion-item>.t-wrapper .t-header{padding-right:0}::ng-deep tui-accordion-item>.t-wrapper .t-header_hoverable:hover:not([data-mode]){background:var(--tui-background-neutral-1-hover)!important}::ng-deep tui-accordion-item>.t-wrapper .t-header .t-icon{color:var(--tui-text-action)}:host:hover:not([data-mode]) ::ng-deep tui-accordion-item>.t-wrapper .t-header .t-icon{color:var(--tui-text-action)}::ng-deep tui-accordion-item>.t-wrapper .t-title{white-space:normal}:host._has-arrow ::ng-deep tui-accordion-item>.t-wrapper .t-title{margin-right:0}::ng-deep tui-accordion-item>.t-wrapper tui-expand>.t-wrapper>.t-content{padding-inline:0!important;padding-block:1rem}:host._has-arrow ::ng-deep tui-accordion-item>.t-wrapper tui-expand>.t-wrapper>.t-content,:host[data-size=s]:host._has-arrow ::ng-deep tui-accordion-item>.t-wrapper tui-expand>.t-wrapper>.t-content{padding-left:1rem!important}\n"] }]
|
55
|
+
}], propDecorators: { showAddButton: [{
|
56
|
+
type: Input
|
57
|
+
}, {
|
58
|
+
type: HostBinding,
|
59
|
+
args: ['class._has-add-button']
|
60
|
+
}], showDeleteButton: [{
|
61
|
+
type: Input
|
62
|
+
}, {
|
63
|
+
type: HostBinding,
|
64
|
+
args: ['class._has-delete-button']
|
65
|
+
}], showArrow: [{
|
66
|
+
type: Input
|
67
|
+
}, {
|
68
|
+
type: HostBinding,
|
69
|
+
args: ['class._has-arrow']
|
70
|
+
}], open: [{
|
71
|
+
type: Input
|
72
|
+
}], size: [{
|
73
|
+
type: Input
|
74
|
+
}, {
|
75
|
+
type: HostBinding,
|
76
|
+
args: ['attr.data-size']
|
77
|
+
}], content: [{
|
78
|
+
type: ContentChild,
|
79
|
+
args: [ScAccordionContentDirective]
|
80
|
+
}], accordion: [{
|
81
|
+
type: ViewChild,
|
82
|
+
args: [TuiAccordionItem]
|
83
|
+
}], addButtonClick: [{
|
84
|
+
type: Output
|
85
|
+
}], deleteButtonClick: [{
|
86
|
+
type: Output
|
87
|
+
}] } });
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9hY2NvcmRpb24vc2MtYWNjb3JkaW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9hY2NvcmRpb24vc2MtYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7QUFFL0U7O0dBRUc7QUFPSCxNQUFNLE9BQU8sb0JBQW9CO0lBTmpDO1FBT0k7O1dBRUc7UUFHSSxrQkFBYSxHQUFHLElBQUksQ0FBQztRQUU1Qjs7V0FFRztRQUdJLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUV6Qzs7V0FFRztRQUdJLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFFakM7O1dBRUc7UUFFSSxTQUFJLEdBQVksS0FBSyxDQUFDO1FBRTdCOztXQUVHO1FBR0ksU0FBSSxHQUFhLEdBQUcsQ0FBQztRQWM1Qjs7V0FFRztRQUVJLG1CQUFjLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFckU7O1dBRUc7UUFFSSxzQkFBaUIsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQVEzRTtJQU5HOztPQUVHO0lBQ0ksS0FBSztRQUNSLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDNUIsQ0FBQzs4R0FoRVEsb0JBQW9CO2tHQUFwQixvQkFBb0IseWZBc0NmLDJCQUEyQiwyRkFNOUIsZ0JBQWdCLGdEQzNEL0IsMHZEQStDQTs7MkZEaENhLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDSSxjQUFjLG1CQUdQLHVCQUF1QixDQUFDLE1BQU07OEJBUXhDLGFBQWE7c0JBRm5CLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsdUJBQXVCO2dCQVE3QixnQkFBZ0I7c0JBRnRCLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsMEJBQTBCO2dCQVFoQyxTQUFTO3NCQUZmLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsa0JBQWtCO2dCQU94QixJQUFJO3NCQURWLEtBQUs7Z0JBUUMsSUFBSTtzQkFGVixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGdCQUFnQjtnQkFPVixPQUFPO3NCQUR6QixZQUFZO3VCQUFDLDJCQUEyQjtnQkFPekIsU0FBUztzQkFEeEIsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBT3BCLGNBQWM7c0JBRHBCLE1BQU07Z0JBT0EsaUJBQWlCO3NCQUR2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFR1aVNpemVTIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgVHVpQWNjb3JkaW9uSXRlbSB9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuXG5pbXBvcnQgeyBTY0FjY29yZGlvbkNvbnRlbnREaXJlY3RpdmUgfSBmcm9tICcuL3NjLWFjY29yZGlvbi1jb250ZW50LmRpcmVjdGl2ZSc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCLCDQv9C+0LfQstC+0LvRj9GO0YnQuNC5INC+0YLQvtCx0YDQsNC20LDRgtGMINC4INGB0LrRgNGL0LLQsNGC0Ywg0YHQvtC00LXRgNC20LjQvNC+0LUg0LIg0YDQsNC30LTQtdC70LDRhS5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy1hY2NvcmRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1hY2NvcmRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NjLWFjY29yZGlvbi5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY0FjY29yZGlvbkNvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICog0KHQvtGB0YLQvtGP0L3QuNC1INC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0LrQvdC+0L/QutC4INC00L7QsdCw0LLQu9C10L3QuNGPLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5faGFzLWFkZC1idXR0b24nKVxuICAgIHB1YmxpYyBzaG93QWRkQnV0dG9uID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqINCh0L7RgdGC0L7Rj9C90LjQtSDQvtGC0L7QsdGA0LDQttC10L3QuNGPINC60L3QvtC/0LrQuCDRg9C00LDQu9C10L3QuNGPLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5faGFzLWRlbGV0ZS1idXR0b24nKVxuICAgIHB1YmxpYyBzaG93RGVsZXRlQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0YHRgtC+0Y/QvdC40LUg0L7RgtC+0LHRgNCw0LbQtdC90LjRjyDRgdGC0YDQtdC70LrQuC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2hhcy1hcnJvdycpXG4gICAgcHVibGljIHNob3dBcnJvdzogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0YHRgtC+0Y/QvdC40LUg0L7RgtC60YDRi9GC0LjRjyDRgdC+0LTQtdGA0LbQuNC80L7Qs9C+INC60L7QvNC/0L7QvdC10L3RgtCwLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG9wZW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqINCg0LDQt9C80LXRgCDRjdC70LXQvNC10L3RgtC+0LIge0BsaW5rIFR1aUFjY29yZGlvbkl0ZW1Db21wb25lbnR9LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gICAgcHVibGljIHNpemU6IFR1aVNpemVTID0gJ3MnO1xuXG4gICAgLyoqXG4gICAgICog0JTQvtGH0LXRgNC90LjQuSDRjdC70LXQvNC10L3RgiDQutC+0L3RgtC10L3RgtCwLlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoU2NBY2NvcmRpb25Db250ZW50RGlyZWN0aXZlKVxuICAgIHByb3RlY3RlZCByZWFkb25seSBjb250ZW50PzogU2NBY2NvcmRpb25Db250ZW50RGlyZWN0aXZlO1xuXG4gICAgLyoqXG4gICAgICog0KHRgdGL0LvQutCwINC90LAg0YjQsNCx0LvQvtC9INC/0YDQtdCy0YzRji3Qv9GA0L7RgdC80L7RgtGA0LAg0LIg0YDQsNC30LzQtdGC0LrQtS5cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKFR1aUFjY29yZGlvbkl0ZW0pXG4gICAgcHVibGljIHJlYWRvbmx5IGFjY29yZGlvbj86IFR1aUFjY29yZGlvbkl0ZW07XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDQtNC+0LHQsNCy0LvQtdC90LjRjy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgYWRkQnV0dG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINGD0LTQsNC70LXQvdC40Y8uXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGRlbGV0ZUJ1dHRvbkNsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQl9Cw0LrRgNGL0LLQsNC10YIg0LDQutC+0YDQtNC40L7QvS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWNjb3JkaW9uPy5jbG9zZSgpO1xuICAgIH1cbn1cbiIsIjx0dWktYWNjb3JkaW9uIFtyb3VuZGVkXT1cImZhbHNlXCI+XG4gICAgPHR1aS1hY2NvcmRpb24taXRlbVxuICAgICAgICAjYWNjb3JkaW9uXG4gICAgICAgIFtzaXplXT1cInNpemVcIlxuICAgICAgICBbYm9yZGVyc109XCJudWxsXCJcbiAgICAgICAgW3Nob3dBcnJvd109XCJzaG93QXJyb3dcIlxuICAgICAgICBbb3Blbl09XCJvcGVuXCJcbiAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdyb3cganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZi1jZW50ZXIgZm9udC1ib2xkXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93QWRkQnV0dG9uIHx8IHNob3dEZWxldGVCdXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dEZWxldGVCdXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLnRyYXNoLTJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBkZWxldGVCdXR0b25DbGljay5lbWl0KClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dBZGRCdXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLnBsdXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBhZGRCdXR0b25DbGljay5lbWl0KClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSB0dWlBY2NvcmRpb25JdGVtQ29udGVudD5cbiAgICAgICAgICAgIDx0dWktZWxhc3RpYy1jb250YWluZXIgKm5nSWY9XCJjb250ZW50XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29udGVudCBhcyB0ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvdHVpLWVsYXN0aWMtY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvdHVpLWFjY29yZGlvbi1pdGVtPlxuPC90dWktYWNjb3JkaW9uPlxuIl19
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
2
|
+
import { NgModule } from '@angular/core';
|
3
|
+
import { TuiButton } from '@taiga-ui/core';
|
4
|
+
import { TuiAccordion, TuiElasticContainer } from '@taiga-ui/kit';
|
5
|
+
import { PolymorpheusOutlet, PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
|
6
|
+
import { ScAccordionComponent } from './sc-accordion.component';
|
7
|
+
import { ScAccordionContentDirective } from './sc-accordion-content.directive';
|
8
|
+
import * as i0 from "@angular/core";
|
9
|
+
import * as i1 from "@taiga-ui/kit";
|
10
|
+
/**
|
11
|
+
* Модуль для отображение контента разделами, с возможностью скрывать и отображать содержимое.
|
12
|
+
*/
|
13
|
+
export class ScAccordionModule {
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScAccordionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
15
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.3", ngImport: i0, type: ScAccordionModule, declarations: [ScAccordionComponent, ScAccordionContentDirective], imports: [CommonModule, PolymorpheusTemplate, PolymorpheusOutlet, TuiButton, i1.TuiAccordionItem, i1.TuiAccordionDirective, i1.TuiAccordionItemContent, i1.TuiAccordionItemEagerContent, TuiElasticContainer], exports: [ScAccordionComponent, ScAccordionContentDirective] }); }
|
16
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScAccordionModule, imports: [CommonModule, i1.TuiAccordionItem, TuiElasticContainer] }); }
|
17
|
+
}
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScAccordionModule, decorators: [{
|
19
|
+
type: NgModule,
|
20
|
+
args: [{
|
21
|
+
declarations: [ScAccordionComponent, ScAccordionContentDirective],
|
22
|
+
imports: [CommonModule, PolymorpheusTemplate, PolymorpheusOutlet, TuiButton, ...TuiAccordion, TuiElasticContainer],
|
23
|
+
exports: [ScAccordionComponent, ScAccordionContentDirective],
|
24
|
+
}]
|
25
|
+
}] });
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYWNjb3JkaW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9hY2NvcmRpb24vc2MtYWNjb3JkaW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVsRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBRS9FOztHQUVHO0FBTUgsTUFBTSxPQUFPLGlCQUFpQjs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsaUJBSlgsb0JBQW9CLEVBQUUsMkJBQTJCLGFBQ3RELFlBQVksRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLDhHQUFtQixtQkFBbUIsYUFDdkcsb0JBQW9CLEVBQUUsMkJBQTJCOytHQUVsRCxpQkFBaUIsWUFIaEIsWUFBWSx1QkFBd0UsbUJBQW1COzsyRkFHeEcsaUJBQWlCO2tCQUw3QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLG9CQUFvQixFQUFFLDJCQUEyQixDQUFDO29CQUNqRSxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLEdBQUcsWUFBWSxFQUFFLG1CQUFtQixDQUFDO29CQUNsSCxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSwyQkFBMkIsQ0FBQztpQkFDL0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFR1aUJ1dHRvbiB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFR1aUFjY29yZGlvbiwgVHVpRWxhc3RpY0NvbnRhaW5lciB9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuaW1wb3J0IHsgUG9seW1vcnBoZXVzT3V0bGV0LCBQb2x5bW9ycGhldXNUZW1wbGF0ZSB9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQgeyBTY0FjY29yZGlvbkNvbXBvbmVudCB9IGZyb20gJy4vc2MtYWNjb3JkaW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY0FjY29yZGlvbkNvbnRlbnREaXJlY3RpdmUgfSBmcm9tICcuL3NjLWFjY29yZGlvbi1jb250ZW50LmRpcmVjdGl2ZSc7XG5cbi8qKlxuICog0JzQvtC00YPQu9GMINC00LvRjyDQvtGC0L7QsdGA0LDQttC10L3QuNC1INC60L7QvdGC0LXQvdGC0LAg0YDQsNC30LTQtdC70LDQvNC4LCDRgSDQstC+0LfQvNC+0LbQvdC+0YHRgtGM0Y4g0YHQutGA0YvQstCw0YLRjCDQuCDQvtGC0L7QsdGA0LDQttCw0YLRjCDRgdC+0LTQtdGA0LbQuNC80L7QtS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtTY0FjY29yZGlvbkNvbXBvbmVudCwgU2NBY2NvcmRpb25Db250ZW50RGlyZWN0aXZlXSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBQb2x5bW9ycGhldXNUZW1wbGF0ZSwgUG9seW1vcnBoZXVzT3V0bGV0LCBUdWlCdXR0b24sIC4uLlR1aUFjY29yZGlvbiwgVHVpRWxhc3RpY0NvbnRhaW5lcl0sXG4gICAgZXhwb3J0czogW1NjQWNjb3JkaW9uQ29tcG9uZW50LCBTY0FjY29yZGlvbkNvbnRlbnREaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBTY0FjY29yZGlvbk1vZHVsZSB7fVxuIl19
|
@@ -0,0 +1,8 @@
|
|
1
|
+
export * from './sc-sign-in-form/sc-sign-in-form.component';
|
2
|
+
export * from './sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component';
|
3
|
+
export * from './sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component';
|
4
|
+
export * from './sign-up-form/sc-sign-up-form.component';
|
5
|
+
export * from './enums/auth-method';
|
6
|
+
export * from './interfaces';
|
7
|
+
export * from './sc-auth.module';
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvYXV0aC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsK0VBQStFLENBQUM7QUFDOUYsY0FBYywrRUFBK0UsQ0FBQztBQUM5RixjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2Mtc2lnbi1pbi1mb3JtL3NjLXNpZ24taW4tZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1zaWduLWluLWZvcm0vc2Mtc2lnbi1pbi1mb3JtLWJ5LWVtYWlsL3NjLXNpZ24taW4tZm9ybS1ieS1lbWFpbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1zaWduLWluLWZvcm0vc2Mtc2lnbi1pbi1mb3JtLWJ5LXBob25lL3NjLXNpZ24taW4tZm9ybS1ieS1waG9uZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaWduLXVwLWZvcm0vc2Mtc2lnbi11cC1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VudW1zL2F1dGgtbWV0aG9kJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWF1dGgubW9kdWxlJztcbiJdfQ==
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWVycm9yLXJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2F1dGgvaW50ZXJmYWNlcy9hcGktZXJyb3ItcmVzcG9uc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICog0JTQsNC90L3Ri9C1INC+0LEg0L7RiNC40LHQutCw0YUg0LLQsNC70LjQtNCw0YbQuNC4IEFQSSDQt9Cw0L/RgNC+0YHQvtCyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwaUVycm9yUmVzcG9uc2Uge1xuICAgIC8qKlxuICAgICAqINCe0LHQvtCx0YnRkdC90L3QvtC1INGB0L7QvtCx0YnQtdC90LjQtSDQvtCxINC+0YjQuNCx0LrQtS5cbiAgICAgKi9cbiAgICBtZXNzYWdlOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQn9C+0LTRgNC+0LHQvdC+0LUg0L7Qv9C40YHQsNC90LjQtSDQutCw0LbQtNC+0Lkg0L7RiNC40LHQutC4LiDQodC+0LTQtdGA0LbQuNGCINGB0L/QuNGB0L7QuiDQv9C+0LvQtdC5INGBINC00LXRgtCw0LvRjNC90YvQvCDQvtC/0LjRgdCw0L3QuNC10Lwg0L7RiNC40LHQvtC6INCy0LDQu9C40LTQsNGG0LjQuCDQtNC70Y8g0LrQsNC20LTQvtCz0L4g0L/QvtC70Y8uXG4gICAgICovXG4gICAgZXJyb3JzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+O1xufVxuIl19
|
@@ -0,0 +1,4 @@
|
|
1
|
+
export * from './api-error-response';
|
2
|
+
export * from './sc-bank-account-form-group';
|
3
|
+
export * from './sc-contact-form-group';
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvYXV0aC9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hcGktZXJyb3ItcmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1iYW5rLWFjY291bnQtZm9ybS1ncm91cCc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWNvbnRhY3QtZm9ybS1ncm91cCc7XG4iXX0=
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYmFuay1hY2NvdW50LWZvcm0tZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvYXV0aC9pbnRlcmZhY2VzL3NjLWJhbmstYWNjb3VudC1mb3JtLWdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKipcbiAqINCc0L7QtNC10LvRjCDQtNCw0L3QvdGL0YUg0L/QvtC70LXQuSDRhNC+0YDQvNGLINCx0LDQvdC60L7QstGB0LrQvtCz0L4g0LDQutC60LDRg9C90YLQsC5cbiAqL1xuZXhwb3J0IHR5cGUgU2NCYW5rQWNjb3VudEZvcm1Hcm91cCA9IEZvcm1Hcm91cDx7XG4gICAgYmFua05hbWU6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuICAgIGJpYzogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XG4gICAgYWNjb3VudE51bWJlcjogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XG4gICAgY29ycmVzcG9uZGVudEFjY291bnQ6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuICAgIGN1cnJlbmN5SWQ6IEZvcm1Db250cm9sPG51bWJlciB8IG51bGw+O1xufT47XG4iXX0=
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY29udGFjdC1mb3JtLWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2F1dGgvaW50ZXJmYWNlcy9zYy1jb250YWN0LWZvcm0tZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICog0JzQvtC00LXQu9GMINC00LDQvdC90YvRhSDQv9C+0LvQtdC5INGE0L7RgNC80Ysg0LrQvtC90YLQsNC60YLQvdC+0LPQviDQu9C40YbQsC5cbiAqL1xuZXhwb3J0IHR5cGUgU2NDb250YWN0Rm9ybUdyb3VwID0gRm9ybUdyb3VwPHtcbiAgICBuYW1lOiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPjtcbiAgICBwaG9uZTogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XG4gICAgZW1haWw6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuICAgIHBvc2l0aW9uOiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPjtcbn0+O1xuIl19
|
@@ -0,0 +1,98 @@
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
2
|
+
import { NgModule } from '@angular/core';
|
3
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
4
|
+
import { MaskitoDirective } from '@maskito/angular';
|
5
|
+
import { TuiLet, TuiRepeatTimes } from '@taiga-ui/cdk';
|
6
|
+
import { TuiButton, TuiDataList, TuiError, TuiLabel, TuiLink, TuiLoader } from '@taiga-ui/core';
|
7
|
+
import { TuiButtonLoading, TuiCheckbox, TuiDataListWrapper, TuiElasticContainer, TuiFieldErrorPipe, TuiStepper } from '@taiga-ui/kit';
|
8
|
+
import { TuiInputModule, TuiInputPasswordModule, TuiInputPhoneModule, TuiSelectModule, TuiTextfieldControllerModule } from '@taiga-ui/legacy';
|
9
|
+
import { ScContactsModule } from '../contacts/sc-contacts.module';
|
10
|
+
import { ScContragentsModule } from '../contragents/sc-contragents.module';
|
11
|
+
import { ScFormFieldsModule } from '../form-fields/form-fields.module';
|
12
|
+
import { ScVerificationModule } from '../verification';
|
13
|
+
import { ScSignInFormComponent } from './sc-sign-in-form/sc-sign-in-form.component';
|
14
|
+
import { ScSignInFormByEmailComponent } from './sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component';
|
15
|
+
import { ScSignInFormByPhoneComponent } from './sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component';
|
16
|
+
import { ScSignUpFormComponent } from './sign-up-form/sc-sign-up-form.component';
|
17
|
+
import * as i0 from "@angular/core";
|
18
|
+
import * as i1 from "@taiga-ui/core";
|
19
|
+
import * as i2 from "@taiga-ui/kit";
|
20
|
+
import * as i3 from "@taiga-ui/core/components/data-list";
|
21
|
+
/**
|
22
|
+
* Модуль аутентификации.
|
23
|
+
*/
|
24
|
+
export class ScAuthModule {
|
25
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
26
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.3", ngImport: i0, type: ScAuthModule, declarations: [ScSignInFormComponent, ScSignInFormByPhoneComponent, ScSignInFormByEmailComponent, ScSignUpFormComponent], imports: [CommonModule,
|
27
|
+
FormsModule,
|
28
|
+
ReactiveFormsModule,
|
29
|
+
TuiInputPasswordModule,
|
30
|
+
TuiInputModule,
|
31
|
+
TuiTextfieldControllerModule,
|
32
|
+
TuiLink,
|
33
|
+
TuiButton,
|
34
|
+
TuiLabel,
|
35
|
+
TuiFieldErrorPipe,
|
36
|
+
TuiError,
|
37
|
+
TuiLet,
|
38
|
+
TuiLoader,
|
39
|
+
TuiInputPhoneModule,
|
40
|
+
MaskitoDirective,
|
41
|
+
ScVerificationModule,
|
42
|
+
ScFormFieldsModule, i1.TuiDataListComponent, i1.TuiDataListDirective, i1.TuiOption, i1.TuiOptGroup, TuiCheckbox,
|
43
|
+
TuiElasticContainer, i2.TuiDataListWrapperComponent, i2.TuiDataListGroupWrapperComponent, i3.TuiDataListDirective, TuiSelectModule,
|
44
|
+
ScContragentsModule,
|
45
|
+
ScContactsModule, i2.TuiStepperComponent, i2.TuiStep, TuiRepeatTimes,
|
46
|
+
TuiButtonLoading], exports: [ScSignInFormComponent, ScSignInFormByPhoneComponent, ScSignInFormByEmailComponent, ScSignUpFormComponent] }); }
|
47
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScAuthModule, imports: [CommonModule,
|
48
|
+
FormsModule,
|
49
|
+
ReactiveFormsModule,
|
50
|
+
TuiInputPasswordModule,
|
51
|
+
TuiInputModule,
|
52
|
+
TuiTextfieldControllerModule,
|
53
|
+
TuiError,
|
54
|
+
TuiLoader,
|
55
|
+
TuiInputPhoneModule,
|
56
|
+
ScVerificationModule,
|
57
|
+
ScFormFieldsModule, i1.TuiDataListComponent, i1.TuiOption, TuiCheckbox,
|
58
|
+
TuiElasticContainer, i2.TuiDataListWrapperComponent, i2.TuiDataListGroupWrapperComponent, TuiSelectModule,
|
59
|
+
ScContragentsModule,
|
60
|
+
ScContactsModule, TuiStepper, TuiButtonLoading] }); }
|
61
|
+
}
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScAuthModule, decorators: [{
|
63
|
+
type: NgModule,
|
64
|
+
args: [{
|
65
|
+
declarations: [ScSignInFormComponent, ScSignInFormByPhoneComponent, ScSignInFormByEmailComponent, ScSignUpFormComponent],
|
66
|
+
imports: [
|
67
|
+
CommonModule,
|
68
|
+
FormsModule,
|
69
|
+
ReactiveFormsModule,
|
70
|
+
TuiInputPasswordModule,
|
71
|
+
TuiInputModule,
|
72
|
+
TuiTextfieldControllerModule,
|
73
|
+
TuiLink,
|
74
|
+
TuiButton,
|
75
|
+
TuiLabel,
|
76
|
+
TuiFieldErrorPipe,
|
77
|
+
TuiError,
|
78
|
+
TuiLet,
|
79
|
+
TuiLoader,
|
80
|
+
TuiInputPhoneModule,
|
81
|
+
MaskitoDirective,
|
82
|
+
ScVerificationModule,
|
83
|
+
ScFormFieldsModule,
|
84
|
+
...TuiDataList,
|
85
|
+
TuiCheckbox,
|
86
|
+
TuiElasticContainer,
|
87
|
+
...TuiDataListWrapper,
|
88
|
+
TuiSelectModule,
|
89
|
+
ScContragentsModule,
|
90
|
+
ScContactsModule,
|
91
|
+
...TuiStepper,
|
92
|
+
TuiRepeatTimes,
|
93
|
+
TuiButtonLoading,
|
94
|
+
],
|
95
|
+
exports: [ScSignInFormComponent, ScSignInFormByPhoneComponent, ScSignInFormByEmailComponent, ScSignUpFormComponent],
|
96
|
+
}]
|
97
|
+
}] });
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvYXV0aC9zYy1hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEksT0FBTyxFQUFFLGNBQWMsRUFBRSxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5SSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNwRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUM3SCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUM3SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7QUFFakY7O0dBRUc7QUFrQ0gsTUFBTSxPQUFPLFlBQVk7OEdBQVosWUFBWTsrR0FBWixZQUFZLGlCQWhDTixxQkFBcUIsRUFBRSw0QkFBNEIsRUFBRSw0QkFBNEIsRUFBRSxxQkFBcUIsYUFFbkgsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsc0JBQXNCO1lBQ3RCLGNBQWM7WUFDZCw0QkFBNEI7WUFDNUIsT0FBTztZQUNQLFNBQVM7WUFDVCxRQUFRO1lBQ1IsaUJBQWlCO1lBQ2pCLFFBQVE7WUFDUixNQUFNO1lBQ04sU0FBUztZQUNULG1CQUFtQjtZQUNuQixnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLGtCQUFrQixrRkFFbEIsV0FBVztZQUNYLG1CQUFtQixnR0FFbkIsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixnQkFBZ0Isc0NBRWhCLGNBQWM7WUFDZCxnQkFBZ0IsYUFFVixxQkFBcUIsRUFBRSw0QkFBNEIsRUFBRSw0QkFBNEIsRUFBRSxxQkFBcUI7K0dBRXpHLFlBQVksWUE5QmpCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLHNCQUFzQjtZQUN0QixjQUFjO1lBQ2QsNEJBQTRCO1lBSzVCLFFBQVE7WUFFUixTQUFTO1lBQ1QsbUJBQW1CO1lBRW5CLG9CQUFvQjtZQUNwQixrQkFBa0IseUNBRWxCLFdBQVc7WUFDWCxtQkFBbUIsdUVBRW5CLGVBQWU7WUFDZixtQkFBbUI7WUFDbkIsZ0JBQWdCLEVBQ2IsVUFBVSxFQUViLGdCQUFnQjs7MkZBSVgsWUFBWTtrQkFqQ3hCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMscUJBQXFCLEVBQUUsNEJBQTRCLEVBQUUsNEJBQTRCLEVBQUUscUJBQXFCLENBQUM7b0JBQ3hILE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixzQkFBc0I7d0JBQ3RCLGNBQWM7d0JBQ2QsNEJBQTRCO3dCQUM1QixPQUFPO3dCQUNQLFNBQVM7d0JBQ1QsUUFBUTt3QkFDUixpQkFBaUI7d0JBQ2pCLFFBQVE7d0JBQ1IsTUFBTTt3QkFDTixTQUFTO3dCQUNULG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLGtCQUFrQjt3QkFDbEIsR0FBRyxXQUFXO3dCQUNkLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixHQUFHLGtCQUFrQjt3QkFDckIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsR0FBRyxVQUFVO3dCQUNiLGNBQWM7d0JBQ2QsZ0JBQWdCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSw0QkFBNEIsRUFBRSw0QkFBNEIsRUFBRSxxQkFBcUIsQ0FBQztpQkFDdEgiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWFza2l0b0RpcmVjdGl2ZSB9IGZyb20gJ0BtYXNraXRvL2FuZ3VsYXInO1xuaW1wb3J0IHsgVHVpTGV0LCBUdWlSZXBlYXRUaW1lcyB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgVHVpQnV0dG9uLCBUdWlEYXRhTGlzdCwgVHVpRXJyb3IsIFR1aUxhYmVsLCBUdWlMaW5rLCBUdWlMb2FkZXIgfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgeyBUdWlCdXR0b25Mb2FkaW5nLCBUdWlDaGVja2JveCwgVHVpRGF0YUxpc3RXcmFwcGVyLCBUdWlFbGFzdGljQ29udGFpbmVyLCBUdWlGaWVsZEVycm9yUGlwZSwgVHVpU3RlcHBlciB9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuaW1wb3J0IHsgVHVpSW5wdXRNb2R1bGUsIFR1aUlucHV0UGFzc3dvcmRNb2R1bGUsIFR1aUlucHV0UGhvbmVNb2R1bGUsIFR1aVNlbGVjdE1vZHVsZSwgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSB9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3knO1xuXG5pbXBvcnQgeyBTY0NvbnRhY3RzTW9kdWxlIH0gZnJvbSAnLi4vY29udGFjdHMvc2MtY29udGFjdHMubW9kdWxlJztcbmltcG9ydCB7IFNjQ29udHJhZ2VudHNNb2R1bGUgfSBmcm9tICcuLi9jb250cmFnZW50cy9zYy1jb250cmFnZW50cy5tb2R1bGUnO1xuaW1wb3J0IHsgU2NGb3JtRmllbGRzTW9kdWxlIH0gZnJvbSAnLi4vZm9ybS1maWVsZHMvZm9ybS1maWVsZHMubW9kdWxlJztcbmltcG9ydCB7IFNjVmVyaWZpY2F0aW9uTW9kdWxlIH0gZnJvbSAnLi4vdmVyaWZpY2F0aW9uJztcbmltcG9ydCB7IFNjU2lnbkluRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vc2Mtc2lnbi1pbi1mb3JtL3NjLXNpZ24taW4tZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2NTaWduSW5Gb3JtQnlFbWFpbENvbXBvbmVudCB9IGZyb20gJy4vc2Mtc2lnbi1pbi1mb3JtL3NjLXNpZ24taW4tZm9ybS1ieS1lbWFpbC9zYy1zaWduLWluLWZvcm0tYnktZW1haWwuY29tcG9uZW50JztcbmltcG9ydCB7IFNjU2lnbkluRm9ybUJ5UGhvbmVDb21wb25lbnQgfSBmcm9tICcuL3NjLXNpZ24taW4tZm9ybS9zYy1zaWduLWluLWZvcm0tYnktcGhvbmUvc2Mtc2lnbi1pbi1mb3JtLWJ5LXBob25lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY1NpZ25VcEZvcm1Db21wb25lbnQgfSBmcm9tICcuL3NpZ24tdXAtZm9ybS9zYy1zaWduLXVwLWZvcm0uY29tcG9uZW50JztcblxuLyoqXG4gKiDQnNC+0LTRg9C70Ywg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtTY1NpZ25JbkZvcm1Db21wb25lbnQsIFNjU2lnbkluRm9ybUJ5UGhvbmVDb21wb25lbnQsIFNjU2lnbkluRm9ybUJ5RW1haWxDb21wb25lbnQsIFNjU2lnblVwRm9ybUNvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUdWlJbnB1dFBhc3N3b3JkTW9kdWxlLFxuICAgICAgICBUdWlJbnB1dE1vZHVsZSxcbiAgICAgICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSxcbiAgICAgICAgVHVpTGluayxcbiAgICAgICAgVHVpQnV0dG9uLFxuICAgICAgICBUdWlMYWJlbCxcbiAgICAgICAgVHVpRmllbGRFcnJvclBpcGUsXG4gICAgICAgIFR1aUVycm9yLFxuICAgICAgICBUdWlMZXQsXG4gICAgICAgIFR1aUxvYWRlcixcbiAgICAgICAgVHVpSW5wdXRQaG9uZU1vZHVsZSxcbiAgICAgICAgTWFza2l0b0RpcmVjdGl2ZSxcbiAgICAgICAgU2NWZXJpZmljYXRpb25Nb2R1bGUsXG4gICAgICAgIFNjRm9ybUZpZWxkc01vZHVsZSxcbiAgICAgICAgLi4uVHVpRGF0YUxpc3QsXG4gICAgICAgIFR1aUNoZWNrYm94LFxuICAgICAgICBUdWlFbGFzdGljQ29udGFpbmVyLFxuICAgICAgICAuLi5UdWlEYXRhTGlzdFdyYXBwZXIsXG4gICAgICAgIFR1aVNlbGVjdE1vZHVsZSxcbiAgICAgICAgU2NDb250cmFnZW50c01vZHVsZSxcbiAgICAgICAgU2NDb250YWN0c01vZHVsZSxcbiAgICAgICAgLi4uVHVpU3RlcHBlcixcbiAgICAgICAgVHVpUmVwZWF0VGltZXMsXG4gICAgICAgIFR1aUJ1dHRvbkxvYWRpbmcsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbU2NTaWduSW5Gb3JtQ29tcG9uZW50LCBTY1NpZ25JbkZvcm1CeVBob25lQ29tcG9uZW50LCBTY1NpZ25JbkZvcm1CeUVtYWlsQ29tcG9uZW50LCBTY1NpZ25VcEZvcm1Db21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTY0F1dGhNb2R1bGUge31cbiJdfQ==
|
package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.mjs
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
/* eslint-disable no-restricted-syntax,@typescript-eslint/unbound-method */
|
2
|
+
import { HttpErrorResponse } from '@angular/common/http';
|
3
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core';
|
4
|
+
import { FormControl, FormGroup, Validators } from '@angular/forms';
|
5
|
+
import { tuiIsFalsy } from '@taiga-ui/cdk';
|
6
|
+
import { catchError, filter, map, of, share, startWith, Subject, switchMap } from 'rxjs';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
import * as i1 from "@snabcentr/client-core";
|
9
|
+
import * as i2 from "@angular/forms";
|
10
|
+
import * as i3 from "@taiga-ui/legacy";
|
11
|
+
import * as i4 from "@taiga-ui/legacy/components/primitive-textfield";
|
12
|
+
import * as i5 from "@taiga-ui/core";
|
13
|
+
import * as i6 from "@taiga-ui/kit";
|
14
|
+
import * as i7 from "@angular/common";
|
15
|
+
/**
|
16
|
+
* Компонент аутентификации по адресу электронной почты и паролю.
|
17
|
+
*/
|
18
|
+
export class ScSignInFormByEmailComponent {
|
19
|
+
/**
|
20
|
+
* Инициализирует экземпляр класса {@link ScSignInFormByEmailComponent}.
|
21
|
+
*
|
22
|
+
* @param authService Сервис аутентификации.
|
23
|
+
*/
|
24
|
+
constructor(authService) {
|
25
|
+
this.authService = authService;
|
26
|
+
/**
|
27
|
+
* Группа полей ввода для формы «Вход на сайт».
|
28
|
+
*/
|
29
|
+
this.formByEmail = new FormGroup({
|
30
|
+
login: new FormControl(null, [Validators.required, Validators.email]),
|
31
|
+
password: new FormControl(null, Validators.required),
|
32
|
+
});
|
33
|
+
/**
|
34
|
+
* {@link Subject} события отправки формы.
|
35
|
+
*/
|
36
|
+
this.onSubmit = new Subject();
|
37
|
+
/**
|
38
|
+
* {@link Observable} запроса данных аутентификации.
|
39
|
+
*/
|
40
|
+
this.emailRequest$ = this.onSubmit.pipe(filter(() => this.formByEmail.valid), map(() => this.formByEmail.value), switchMap((value) => this.authService.getSignIn$(value).pipe(catchError((error) => {
|
41
|
+
if (error instanceof HttpErrorResponse) {
|
42
|
+
const { errors, message } = error.error;
|
43
|
+
for (const key in errors) {
|
44
|
+
if (Object.hasOwn(errors, key)) {
|
45
|
+
this.formByEmail.get(key)?.setErrors({ serverResponse: errors[key] });
|
46
|
+
}
|
47
|
+
}
|
48
|
+
if (!errors && message) {
|
49
|
+
this.formByEmail.setErrors({ serverResponse: [message] });
|
50
|
+
}
|
51
|
+
}
|
52
|
+
return of({});
|
53
|
+
}), startWith(null))), share());
|
54
|
+
/**
|
55
|
+
* {@link Observable} изменения состояния загрузки данных аутентификации по email.
|
56
|
+
*/
|
57
|
+
this.loadingEmailAuth$ = this.emailRequest$.pipe(map(tuiIsFalsy));
|
58
|
+
/**
|
59
|
+
* Сигнал нажатия на кнопку "Забыли пароль".
|
60
|
+
*/
|
61
|
+
this.forgotPassword = new EventEmitter();
|
62
|
+
}
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScSignInFormByEmailComponent, deps: [{ token: i1.ScAuthService }], target: i0.ɵɵFactoryTarget.Component }); }
|
64
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.3", type: ScSignInFormByEmailComponent, selector: "sc-sign-in-form-by-email", outputs: { forgotPassword: "forgotPassword" }, ngImport: i0, template: "<form [formGroup]=\"formByEmail\" (ngSubmit)=\"onSubmit.next()\">\n <div class=\"flex flex-col gap-4 mb-8\">\n <label tuiLabel>\u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <tui-input formControlName=\"login\">\n \u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <input tuiTextfieldLegacy autocomplete=\"email\" />\n </tui-input>\n <tui-error formControlName=\"login\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n <label tuiLabel>\u041F\u0430\u0440\u043E\u043B\u044C\n <tui-input-password formControlName=\"password\">\n \u041F\u0430\u0440\u043E\u043B\u044C\n <input tuiTextfieldLegacy autocomplete=\"current-password\" />\n </tui-input-password>\n <tui-error formControlName=\"password\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n <tui-error [error]=\"[] | tuiFieldError | async\"></tui-error>\n </div>\n <div class=\"flex flex-col gap-4 items-center mb-4\">\n <a tuiLink [pseudo]=\"true\" (click)=\"forgotPassword.emit()\" class=\"text-base\">\u0417\u0430\u0431\u044B\u043B\u0438 \u043F\u0430\u0440\u043E\u043B\u044C?</a>\n <button tuiButton type=\"submit\" [loading]=\"!!(loadingEmailAuth$ | async)\" [disabled]=\"formByEmail.invalid || !!(loadingEmailAuth$ | async)\" iconStart=\"scIconLogIn\">\n \u0412\u043E\u0439\u0442\u0438\n </button>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.TuiInputPasswordComponent, selector: "tui-input-password" }, { kind: "directive", type: i3.TuiInputPasswordDirective, selector: "tui-input-password" }, { kind: "component", type: i4.TuiTextfieldComponent, selector: "input[tuiTextfieldLegacy], textarea[tuiTextfieldLegacy]" }, { kind: "component", type: i3.TuiInputComponent, selector: "tui-input" }, { kind: "directive", type: i3.TuiInputDirective, selector: "tui-input" }, { kind: "directive", type: i5.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: i5.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: i5.TuiLabel, selector: "label[tuiLabel]" }, { kind: "component", type: i5.TuiError, selector: "tui-error", inputs: ["error"] }, { kind: "component", type: i6.TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TuiFieldErrorPipe, name: "tuiFieldError" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
65
|
+
}
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScSignInFormByEmailComponent, decorators: [{
|
67
|
+
type: Component,
|
68
|
+
args: [{ selector: 'sc-sign-in-form-by-email', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"formByEmail\" (ngSubmit)=\"onSubmit.next()\">\n <div class=\"flex flex-col gap-4 mb-8\">\n <label tuiLabel>\u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <tui-input formControlName=\"login\">\n \u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <input tuiTextfieldLegacy autocomplete=\"email\" />\n </tui-input>\n <tui-error formControlName=\"login\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n <label tuiLabel>\u041F\u0430\u0440\u043E\u043B\u044C\n <tui-input-password formControlName=\"password\">\n \u041F\u0430\u0440\u043E\u043B\u044C\n <input tuiTextfieldLegacy autocomplete=\"current-password\" />\n </tui-input-password>\n <tui-error formControlName=\"password\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n <tui-error [error]=\"[] | tuiFieldError | async\"></tui-error>\n </div>\n <div class=\"flex flex-col gap-4 items-center mb-4\">\n <a tuiLink [pseudo]=\"true\" (click)=\"forgotPassword.emit()\" class=\"text-base\">\u0417\u0430\u0431\u044B\u043B\u0438 \u043F\u0430\u0440\u043E\u043B\u044C?</a>\n <button tuiButton type=\"submit\" [loading]=\"!!(loadingEmailAuth$ | async)\" [disabled]=\"formByEmail.invalid || !!(loadingEmailAuth$ | async)\" iconStart=\"scIconLogIn\">\n \u0412\u043E\u0439\u0442\u0438\n </button>\n </div>\n</form>\n" }]
|
69
|
+
}], ctorParameters: () => [{ type: i1.ScAuthService }], propDecorators: { forgotPassword: [{
|
70
|
+
type: Output
|
71
|
+
}] } });
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc2lnbi1pbi1mb3JtLWJ5LWVtYWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9hdXRoL3NjLXNpZ24taW4tZm9ybS9zYy1zaWduLWluLWZvcm0tYnktZW1haWwvc2Mtc2lnbi1pbi1mb3JtLWJ5LWVtYWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9hdXRoL3NjLXNpZ24taW4tZm9ybS9zYy1zaWduLWluLWZvcm0tYnktZW1haWwvc2Mtc2lnbi1pbi1mb3JtLWJ5LWVtYWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJFQUEyRTtBQUUzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7O0FBSXJHOztHQUVHO0FBTUgsTUFBTSxPQUFPLDRCQUE0QjtJQXVEckM7Ozs7T0FJRztJQUNILFlBQW9DLFdBQTBCO1FBQTFCLGdCQUFXLEdBQVgsV0FBVyxDQUFlO1FBM0Q5RDs7V0FFRztRQUNhLGdCQUFXLEdBQWMsSUFBSSxTQUFTLENBQUM7WUFDbkQsS0FBSyxFQUFFLElBQUksV0FBVyxDQUFnQixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwRixRQUFRLEVBQUUsSUFBSSxXQUFXLENBQWdCLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3RFLENBQUMsQ0FBQztRQUVIOztXQUVHO1FBQ2EsYUFBUSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRTlEOztXQUVHO1FBQ2Msa0JBQWEsR0FBa0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQzlFLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUNwQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFlLENBQUMsRUFDM0MsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUNuQyxVQUFVLENBQUMsQ0FBQyxLQUFjLEVBQUUsRUFBRTtZQUMxQixJQUFJLEtBQUssWUFBWSxpQkFBaUIsRUFBRSxDQUFDO2dCQUNyQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQyxLQUF5QixDQUFDO2dCQUU1RCxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFDO29CQUN2QixJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7d0JBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUMxRSxDQUFDO2dCQUNMLENBQUM7Z0JBRUQsSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztvQkFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsRUFBRSxjQUFjLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzlELENBQUM7WUFDTCxDQUFDO1lBRUQsT0FBTyxFQUFFLENBQUMsRUFBZ0IsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FDbEIsQ0FDSixFQUNELEtBQUssRUFBRSxDQUNWLENBQUM7UUFFRjs7V0FFRztRQUNhLHNCQUFpQixHQUF3QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUVsRzs7V0FFRztRQUN1QixtQkFBYyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBT3ZCLENBQUM7OEdBNUR6RCw0QkFBNEI7a0dBQTVCLDRCQUE0QiwrR0NuQnpDLDhvREF5QkE7OzJGRE5hLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDSSwwQkFBMEIsbUJBRW5CLHVCQUF1QixDQUFDLE1BQU07a0ZBdURyQixjQUFjO3NCQUF2QyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmVzdHJpY3RlZC1zeW50YXgsQHR5cGVzY3JpcHQtZXNsaW50L3VuYm91bmQtbWV0aG9kICovXG5cbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJQXV0aFRva2VuLCBJTG9naW4sIFNjQXV0aFNlcnZpY2UgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IHR1aUlzRmFsc3kgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc2hhcmUsIHN0YXJ0V2l0aCwgU3ViamVjdCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFwaUVycm9yUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2FwaS1lcnJvci1yZXNwb25zZSc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40Lgg0L/QviDQsNC00YDQtdGB0YMg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLINC4INC/0LDRgNC+0LvRji5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy1zaWduLWluLWZvcm0tYnktZW1haWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1zaWduLWluLWZvcm0tYnktZW1haWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY1NpZ25JbkZvcm1CeUVtYWlsQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDQk9GA0YPQv9C/0LAg0L/QvtC70LXQuSDQstCy0L7QtNCwINC00LvRjyDRhNC+0YDQvNGLIMKr0JLRhdC+0LQg0L3QsCDRgdCw0LnRgsK7LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBmb3JtQnlFbWFpbDogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgIGxvZ2luOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdKSxcbiAgICAgICAgcGFzc3dvcmQ6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBTdWJqZWN0fSDRgdC+0LHRi9GC0LjRjyDQvtGC0L/RgNCw0LLQutC4INGE0L7RgNC80YsuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IG9uU3VibWl0OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQtNCw0L3QvdGL0YUg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGVtYWlsUmVxdWVzdCQ6IE9ic2VydmFibGU8SUF1dGhUb2tlbiB8IG51bGw+ID0gdGhpcy5vblN1Ym1pdC5waXBlKFxuICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5mb3JtQnlFbWFpbC52YWxpZCksXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLmZvcm1CeUVtYWlsLnZhbHVlIGFzIElMb2dpbiksXG4gICAgICAgIHN3aXRjaE1hcCgodmFsdWUpID0+XG4gICAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldFNpZ25JbiQodmFsdWUpLnBpcGUoXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgZXJyb3JzLCBtZXNzYWdlIH0gPSBlcnJvci5lcnJvciBhcyBBcGlFcnJvclJlc3BvbnNlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBlcnJvcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoT2JqZWN0Lmhhc093bihlcnJvcnMsIGtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtQnlFbWFpbC5nZXQoa2V5KT8uc2V0RXJyb3JzKHsgc2VydmVyUmVzcG9uc2U6IGVycm9yc1trZXldIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFlcnJvcnMgJiYgbWVzc2FnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUJ5RW1haWwuc2V0RXJyb3JzKHsgc2VydmVyUmVzcG9uc2U6IFttZXNzYWdlXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZih7fSBhcyBJQXV0aFRva2VuKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgobnVsbClcbiAgICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgICAgc2hhcmUoKVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINGB0L7RgdGC0L7Rj9C90LjRjyDQt9Cw0LPRgNGD0LfQutC4INC00LDQvdC90YvRhSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC/0L4gZW1haWwuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGxvYWRpbmdFbWFpbEF1dGgkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5lbWFpbFJlcXVlc3QkLnBpcGUobWFwKHR1aUlzRmFsc3kpKTtcblxuICAgIC8qKlxuICAgICAqINCh0LjQs9C90LDQuyDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyBcItCX0LDQsdGL0LvQuCDQv9Cw0YDQvtC70YxcIi5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IGZvcmdvdFBhc3N3b3JkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjU2lnbkluRm9ybUJ5RW1haWxDb21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGF1dGhTZXJ2aWNlINCh0LXRgNCy0LjRgSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBTY0F1dGhTZXJ2aWNlKSB7fVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtQnlFbWFpbFwiIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdC5uZXh0KClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtNCBtYi04XCI+XG4gICAgICAgIDxsYWJlbCB0dWlMYWJlbD7QkNC00YDQtdGBINGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLRi1xuICAgICAgICAgICAgPHR1aS1pbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJsb2dpblwiPlxuICAgICAgICAgICAgICAgINCQ0LTRgNC10YEg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLXG4gICAgICAgICAgICAgICAgPGlucHV0IHR1aVRleHRmaWVsZExlZ2FjeSBhdXRvY29tcGxldGU9XCJlbWFpbFwiIC8+XG4gICAgICAgICAgICA8L3R1aS1pbnB1dD5cbiAgICAgICAgICAgIDx0dWktZXJyb3IgZm9ybUNvbnRyb2xOYW1lPVwibG9naW5cIiBbZXJyb3JdPVwiW10gfCB0dWlGaWVsZEVycm9yIHwgYXN5bmNcIj48L3R1aS1lcnJvcj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPGxhYmVsIHR1aUxhYmVsPtCf0LDRgNC+0LvRjFxuICAgICAgICAgICAgPHR1aS1pbnB1dC1wYXNzd29yZCBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiPlxuICAgICAgICAgICAgICAgINCf0LDRgNC+0LvRjFxuICAgICAgICAgICAgICAgIDxpbnB1dCB0dWlUZXh0ZmllbGRMZWdhY3kgYXV0b2NvbXBsZXRlPVwiY3VycmVudC1wYXNzd29yZFwiIC8+XG4gICAgICAgICAgICA8L3R1aS1pbnB1dC1wYXNzd29yZD5cbiAgICAgICAgICAgIDx0dWktZXJyb3IgZm9ybUNvbnRyb2xOYW1lPVwicGFzc3dvcmRcIiBbZXJyb3JdPVwiW10gfCB0dWlGaWVsZEVycm9yIHwgYXN5bmNcIj48L3R1aS1lcnJvcj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPHR1aS1lcnJvciBbZXJyb3JdPVwiW10gfCB0dWlGaWVsZEVycm9yIHwgYXN5bmNcIj48L3R1aS1lcnJvcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtNCBpdGVtcy1jZW50ZXIgbWItNFwiPlxuICAgICAgICA8YSB0dWlMaW5rIFtwc2V1ZG9dPVwidHJ1ZVwiIChjbGljayk9XCJmb3Jnb3RQYXNzd29yZC5lbWl0KClcIiBjbGFzcz1cInRleHQtYmFzZVwiPtCX0LDQsdGL0LvQuCDQv9Cw0YDQvtC70Yw/PC9hPlxuICAgICAgICA8YnV0dG9uIHR1aUJ1dHRvbiB0eXBlPVwic3VibWl0XCIgW2xvYWRpbmddPVwiISEobG9hZGluZ0VtYWlsQXV0aCQgfCBhc3luYylcIiBbZGlzYWJsZWRdPVwiZm9ybUJ5RW1haWwuaW52YWxpZCB8fCAhIShsb2FkaW5nRW1haWxBdXRoJCB8IGFzeW5jKVwiIGljb25TdGFydD1cInNjSWNvbkxvZ0luXCI+XG4gICAgICAgICAgICDQktC+0LnRgtC4XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9mb3JtPlxuIl19
|
package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.mjs
ADDED
@@ -0,0 +1,70 @@
|
|
1
|
+
/* eslint-disable no-restricted-syntax,@typescript-eslint/unbound-method */
|
2
|
+
import { HttpErrorResponse } from '@angular/common/http';
|
3
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
4
|
+
import { FormControl, FormGroup, Validators } from '@angular/forms';
|
5
|
+
import { tuiIsFalsy } from '@taiga-ui/cdk';
|
6
|
+
import { catchError, filter, map, of, share, startWith, Subject, switchMap } 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 "@angular/forms";
|
11
|
+
import * as i4 from "@taiga-ui/core";
|
12
|
+
import * as i5 from "@taiga-ui/cdk";
|
13
|
+
import * as i6 from "../../../verification/verification-phone-check-form/sc-verification-phone-check-form.component";
|
14
|
+
import * as i7 from "@taiga-ui/kit";
|
15
|
+
/**
|
16
|
+
* Компонент аутентификации по номеру телефона и коду подтверждения.
|
17
|
+
*/
|
18
|
+
export class ScSignInFormByPhoneComponent {
|
19
|
+
/**
|
20
|
+
* Инициализирует экземпляр класса {@link ScSignInFormByPhoneComponent}.
|
21
|
+
*
|
22
|
+
* @param authService Сервис аутентификации.
|
23
|
+
*/
|
24
|
+
constructor(authService) {
|
25
|
+
this.authService = authService;
|
26
|
+
/**
|
27
|
+
* Наличие кода подтверждения у пользователя.
|
28
|
+
*/
|
29
|
+
this.haveCode = false;
|
30
|
+
/**
|
31
|
+
* Группа полей ввода для формы «Вход на сайт».
|
32
|
+
*/
|
33
|
+
this.form = new FormGroup({
|
34
|
+
phone: new FormControl(null, [Validators.required, Validators.minLength(12)]),
|
35
|
+
verificationCode: new FormControl(null, [Validators.required, Validators.minLength(6)]),
|
36
|
+
});
|
37
|
+
/**
|
38
|
+
* {@link Subject} события отправки формы.
|
39
|
+
*/
|
40
|
+
this.onSubmit = new Subject();
|
41
|
+
/**
|
42
|
+
* {@link Observable} запроса данных аутентификации.
|
43
|
+
*/
|
44
|
+
this.request$ = this.onSubmit.pipe(map(() => this.form.value), filter((value) => this.form.valid), switchMap((value) => this.authService.getSignIn$(value).pipe(catchError((error) => {
|
45
|
+
if (error instanceof HttpErrorResponse) {
|
46
|
+
const { errors, message } = error.error;
|
47
|
+
for (const key in errors) {
|
48
|
+
if (Object.hasOwn(errors, key)) {
|
49
|
+
this.form.get(key)?.setErrors({ serverResponse: errors[key] });
|
50
|
+
}
|
51
|
+
}
|
52
|
+
if (!errors && message) {
|
53
|
+
this.form.setErrors({ serverResponse: [message] });
|
54
|
+
}
|
55
|
+
}
|
56
|
+
return of({});
|
57
|
+
}), startWith(null))), share());
|
58
|
+
/**
|
59
|
+
* {@link Observable} изменения состояния загрузки данных аутентификации по номеру телефона.
|
60
|
+
*/
|
61
|
+
this.loading$ = this.request$.pipe(map(tuiIsFalsy));
|
62
|
+
}
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScSignInFormByPhoneComponent, deps: [{ token: i1.ScAuthService }], target: i0.ɵɵFactoryTarget.Component }); }
|
64
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.3", type: ScSignInFormByPhoneComponent, selector: "sc-sign-in-form-by-phone", ngImport: i0, template: "<form [formGroup]=\"form\" *tuiLet=\"!!(loading$ | async) as loading\" (ngSubmit)=\"onSubmit.next()\" class=\"flex flex-col gap-4 items-center mb-4\">\n <sc-verification-phone-check-form [(haveCode)]=\"haveCode\" [shouldBeBusy]=\"true\" [shouldBeConfirmed]=\"true\" class=\"w-full\"></sc-verification-phone-check-form>\n <button *ngIf=\"haveCode\" tuiButton type=\"submit\" [loading]=\"loading\" [disabled]=\"form.invalid || loading\" iconStart=\"scIconLogIn\">\u0412\u043E\u0439\u0442\u0438</button>\n</form>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: i5.TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "component", type: i6.ScVerificationPhoneCheckFormComponent, selector: "sc-verification-phone-check-form", inputs: ["showCodeFields", "readOnly", "shouldBeBusy", "shouldBeConfirmed", "haveCode"], outputs: ["haveCodeChange"] }, { kind: "component", type: i7.TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
65
|
+
}
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScSignInFormByPhoneComponent, decorators: [{
|
67
|
+
type: Component,
|
68
|
+
args: [{ selector: 'sc-sign-in-form-by-phone', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"form\" *tuiLet=\"!!(loading$ | async) as loading\" (ngSubmit)=\"onSubmit.next()\" class=\"flex flex-col gap-4 items-center mb-4\">\n <sc-verification-phone-check-form [(haveCode)]=\"haveCode\" [shouldBeBusy]=\"true\" [shouldBeConfirmed]=\"true\" class=\"w-full\"></sc-verification-phone-check-form>\n <button *ngIf=\"haveCode\" tuiButton type=\"submit\" [loading]=\"loading\" [disabled]=\"form.invalid || loading\" iconStart=\"scIconLogIn\">\u0412\u043E\u0439\u0442\u0438</button>\n</form>\n" }]
|
69
|
+
}], ctorParameters: () => [{ type: i1.ScAuthService }] });
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc2lnbi1pbi1mb3JtLWJ5LXBob25lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9hdXRoL3NjLXNpZ24taW4tZm9ybS9zYy1zaWduLWluLWZvcm0tYnktcGhvbmUvc2Mtc2lnbi1pbi1mb3JtLWJ5LXBob25lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9hdXRoL3NjLXNpZ24taW4tZm9ybS9zYy1zaWduLWluLWZvcm0tYnktcGhvbmUvc2Mtc2lnbi1pbi1mb3JtLWJ5LXBob25lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJFQUEyRTtBQUUzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQUlyRzs7R0FFRztBQU1ILE1BQU0sT0FBTyw0QkFBNEI7SUF1RHJDOzs7O09BSUc7SUFDSCxZQUFvQyxXQUEwQjtRQUExQixnQkFBVyxHQUFYLFdBQVcsQ0FBZTtRQTNEOUQ7O1dBRUc7UUFDSSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRWpDOztXQUVHO1FBQ2EsU0FBSSxHQUFHLElBQUksU0FBUyxDQUFDO1lBQ2pDLEtBQUssRUFBRSxJQUFJLFdBQVcsQ0FBZ0IsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDNUYsZ0JBQWdCLEVBQUUsSUFBSSxXQUFXLENBQWdCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3pHLENBQUMsQ0FBQztRQUVIOztXQUVHO1FBQ2EsYUFBUSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRTlEOztXQUVHO1FBQ2MsYUFBUSxHQUFrQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDekUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQzFCLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBd0IsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQ3hELFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDbkMsVUFBVSxDQUFDLENBQUMsS0FBYyxFQUFFLEVBQUU7WUFDMUIsSUFBSSxLQUFLLFlBQVksaUJBQWlCLEVBQUUsQ0FBQztnQkFDckMsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUMsS0FBeUIsQ0FBQztnQkFFNUQsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztvQkFDdkIsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO3dCQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsRUFBRSxjQUFjLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDbkUsQ0FBQztnQkFDTCxDQUFDO2dCQUVELElBQUksQ0FBQyxNQUFNLElBQUksT0FBTyxFQUFFLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsY0FBYyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN2RCxDQUFDO1lBQ0wsQ0FBQztZQUVELE9BQU8sRUFBRSxDQUFDLEVBQWdCLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLENBQ2xCLENBQ0osRUFDRCxLQUFLLEVBQUUsQ0FDVixDQUFDO1FBRUY7O1dBRUc7UUFDYSxhQUFRLEdBQXdCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBT25CLENBQUM7OEdBNUR6RCw0QkFBNEI7a0dBQTVCLDRCQUE0QixnRUNuQnpDLHVnQkFJQTs7MkZEZWEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNJLDBCQUEwQixtQkFFbkIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXJlc3RyaWN0ZWQtc3ludGF4LEB0eXBlc2NyaXB0LWVzbGludC91bmJvdW5kLW1ldGhvZCAqL1xuXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJQXV0aFRva2VuLCBJUGhvbmVMb2dpbiwgU2NBdXRoU2VydmljZSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgdHVpSXNGYWxzeSB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIG9mLCBzaGFyZSwgc3RhcnRXaXRoLCBTdWJqZWN0LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQXBpRXJyb3JSZXNwb25zZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvYXBpLWVycm9yLXJlc3BvbnNlJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuCDQv9C+INC90L7QvNC10YDRgyDRgtC10LvQtdGE0L7QvdCwINC4INC60L7QtNGDINC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXNpZ24taW4tZm9ybS1ieS1waG9uZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLXNpZ24taW4tZm9ybS1ieS1waG9uZS5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjU2lnbkluRm9ybUJ5UGhvbmVDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqINCd0LDQu9C40YfQuNC1INC60L7QtNCwINC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPINGDINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgaGF2ZUNvZGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqINCT0YDRg9C/0L/QsCDQv9C+0LvQtdC5INCy0LLQvtC00LAg0LTQu9GPINGE0L7RgNC80YsgwqvQktGF0L7QtCDQvdCwINGB0LDQudGCwrsuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgcGhvbmU6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoMTIpXSksXG4gICAgICAgIHZlcmlmaWNhdGlvbkNvZGU6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoNildKSxcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBTdWJqZWN0fSDRgdC+0LHRi9GC0LjRjyDQvtGC0L/RgNCw0LLQutC4INGE0L7RgNC80YsuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IG9uU3VibWl0OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQtNCw0L3QvdGL0YUg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlcXVlc3QkOiBPYnNlcnZhYmxlPElBdXRoVG9rZW4gfCBudWxsPiA9IHRoaXMub25TdWJtaXQucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHRoaXMuZm9ybS52YWx1ZSksXG4gICAgICAgIGZpbHRlcigodmFsdWUpOiB2YWx1ZSBpcyBJUGhvbmVMb2dpbiA9PiB0aGlzLmZvcm0udmFsaWQpLFxuICAgICAgICBzd2l0Y2hNYXAoKHZhbHVlKSA9PlxuICAgICAgICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRTaWduSW4kKHZhbHVlKS5waXBlKFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGVycm9ycywgbWVzc2FnZSB9ID0gZXJyb3IuZXJyb3IgYXMgQXBpRXJyb3JSZXNwb25zZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gZXJyb3JzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKE9iamVjdC5oYXNPd24oZXJyb3JzLCBrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5nZXQoa2V5KT8uc2V0RXJyb3JzKHsgc2VydmVyUmVzcG9uc2U6IGVycm9yc1trZXldIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFlcnJvcnMgJiYgbWVzc2FnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5zZXRFcnJvcnMoeyBzZXJ2ZXJSZXNwb25zZTogW21lc3NhZ2VdIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHt9IGFzIElBdXRoVG9rZW4pO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKVxuICAgICAgICAgICAgKVxuICAgICAgICApLFxuICAgICAgICBzaGFyZSgpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGB0YLQvtGP0L3QuNGPINC30LDQs9GA0YPQt9C60Lgg0LTQsNC90L3Ri9GFINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40Lgg0L/QviDQvdC+0LzQtdGA0YMg0YLQtdC70LXRhNC+0L3QsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgbG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLnJlcXVlc3QkLnBpcGUobWFwKHR1aUlzRmFsc3kpKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NTaWduSW5Gb3JtQnlQaG9uZUNvbXBvbmVudH0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXV0aFNlcnZpY2Ug0KHQtdGA0LLQuNGBINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYXV0aFNlcnZpY2U6IFNjQXV0aFNlcnZpY2UpIHt9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiAqdHVpTGV0PVwiISEobG9hZGluZyQgfCBhc3luYykgYXMgbG9hZGluZ1wiIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdC5uZXh0KClcIiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTQgaXRlbXMtY2VudGVyIG1iLTRcIj5cbiAgICA8c2MtdmVyaWZpY2F0aW9uLXBob25lLWNoZWNrLWZvcm0gWyhoYXZlQ29kZSldPVwiaGF2ZUNvZGVcIiBbc2hvdWxkQmVCdXN5XT1cInRydWVcIiBbc2hvdWxkQmVDb25maXJtZWRdPVwidHJ1ZVwiIGNsYXNzPVwidy1mdWxsXCI+PC9zYy12ZXJpZmljYXRpb24tcGhvbmUtY2hlY2stZm9ybT5cbiAgICA8YnV0dG9uICpuZ0lmPVwiaGF2ZUNvZGVcIiB0dWlCdXR0b24gdHlwZT1cInN1Ym1pdFwiIFtsb2FkaW5nXT1cImxvYWRpbmdcIiBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkIHx8IGxvYWRpbmdcIiBpY29uU3RhcnQ9XCJzY0ljb25Mb2dJblwiPtCS0L7QudGC0Lg8L2J1dHRvbj5cbjwvZm9ybT5cbiJdfQ==
|
@@ -0,0 +1,89 @@
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
2
|
+
import { ScUserMetrikaGoalsEnum } from '@snabcentr/client-core';
|
3
|
+
import { filter } from 'rxjs';
|
4
|
+
import { AuthMethod } from '../enums/auth-method';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
import * as i1 from "@snabcentr/client-core";
|
7
|
+
import * as i2 from "@angular/common";
|
8
|
+
import * as i3 from "@taiga-ui/core";
|
9
|
+
import * as i4 from "./sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component";
|
10
|
+
import * as i5 from "./sc-sign-in-form-by-email/sc-sign-in-form-by-email.component";
|
11
|
+
/**
|
12
|
+
* Компонент аутентификации пользователя.
|
13
|
+
*/
|
14
|
+
export class ScSignInFormComponent {
|
15
|
+
/**
|
16
|
+
* Инициализирует экземпляр класса {@link ScSignInFormComponent}.
|
17
|
+
*
|
18
|
+
* @param authService Сервис аутентификации.
|
19
|
+
* @param userMetrikaService Сервис для сбора метрик о действиях пользователей.
|
20
|
+
*/
|
21
|
+
constructor(authService, userMetrikaService) {
|
22
|
+
this.authService = authService;
|
23
|
+
this.userMetrikaService = userMetrikaService;
|
24
|
+
/**
|
25
|
+
* Выбранный способ аутентификации.
|
26
|
+
*/
|
27
|
+
this.authMethod = AuthMethod.byEmail;
|
28
|
+
/**
|
29
|
+
* Перечисление способов аутентификации.
|
30
|
+
*/
|
31
|
+
this.method = AuthMethod;
|
32
|
+
/**
|
33
|
+
* Сигнал нажатия на кнопку "Забыли пароль".
|
34
|
+
*/
|
35
|
+
this.forgotPassword = new EventEmitter();
|
36
|
+
/**
|
37
|
+
* Сигнал нажатия на кнопку "Зарегистрироваться".
|
38
|
+
*/
|
39
|
+
this.signUp = new EventEmitter();
|
40
|
+
/**
|
41
|
+
* Сигнал события аутентификации.
|
42
|
+
*/
|
43
|
+
this.successAuth = this.authService.getAuthChange().pipe(filter((state) => state));
|
44
|
+
}
|
45
|
+
/** @inheritDoc */
|
46
|
+
ngOnInit() {
|
47
|
+
this.userMetrikaService.emitUserMetrikaEvent({
|
48
|
+
target: ScUserMetrikaGoalsEnum.signInShow,
|
49
|
+
params: {
|
50
|
+
type: this.authMethod,
|
51
|
+
},
|
52
|
+
});
|
53
|
+
}
|
54
|
+
/**
|
55
|
+
* Осуществляет переключение способов аутентификации.
|
56
|
+
*
|
57
|
+
* @param authMethod Выбранный способ аутентификации.
|
58
|
+
*/
|
59
|
+
switchAuth(authMethod) {
|
60
|
+
this.authMethod = authMethod;
|
61
|
+
this.userMetrikaService.emitUserMetrikaEvent({
|
62
|
+
target: ScUserMetrikaGoalsEnum.signInShow,
|
63
|
+
params: {
|
64
|
+
type: authMethod,
|
65
|
+
},
|
66
|
+
});
|
67
|
+
}
|
68
|
+
/**
|
69
|
+
* Обрабатывает нажатие на кнопку "Забыли пароль" и выдает сигнал об этом.
|
70
|
+
*/
|
71
|
+
onForgotPassword() {
|
72
|
+
this.forgotPassword.emit();
|
73
|
+
}
|
74
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScSignInFormComponent, deps: [{ token: i1.ScAuthService }, { token: i1.ScUserMetrikaService }], target: i0.ɵɵFactoryTarget.Component }); }
|
75
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.3", type: ScSignInFormComponent, selector: "sc-sign-in-form", inputs: { authMethod: "authMethod" }, outputs: { forgotPassword: "forgotPassword", signUp: "signUp", successAuth: "successAuth" }, ngImport: i0, template: "<div class=\"mb-4 flex justify-center\">\n <button\n tuiButton\n [appearance]=\"authMethod === 'by_phone' ? 'primary' : 'secondary'\"\n (click)=\"switchAuth(method.byPhone)\"\n class=\"tui-space_right-3 tui-space_bottom-3 !font-bold\"\n >\n \u041F\u043E \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0443\n </button>\n\n <button\n tuiButton\n [appearance]=\"authMethod === 'by_email' ? 'primary' : 'secondary'\"\n (click)=\"switchAuth(method.byEmail)\"\n class=\"tui-space_left-3 tui-space_bottom-3 !font-bold\"\n >\n \u041F\u043E e-mail\n </button>\n</div>\n\n<sc-sign-in-form-by-email\n *ngIf=\"authMethod === 'by_email'\"\n (forgotPassword)=\"onForgotPassword()\"\n></sc-sign-in-form-by-email>\n\n<sc-sign-in-form-by-phone [class.hidden]=\"authMethod !== 'by_phone'\"></sc-sign-in-form-by-phone>\n\n<div class=\"flex flex-col items-center gap-4\">\n <span class=\"font-medium text-tui-text-02\">\u0415\u0449\u0435 \u043D\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u044B?</span>\n <button\n tuiButton\n (click)=\"signUp.emit()\"\n type=\"button\"\n iconStart=\"scIconAddProfile\"\n appearance=\"secondary\"\n >\n \u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C\u0441\u044F\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i4.ScSignInFormByPhoneComponent, selector: "sc-sign-in-form-by-phone" }, { kind: "component", type: i5.ScSignInFormByEmailComponent, selector: "sc-sign-in-form-by-email", outputs: ["forgotPassword"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
76
|
+
}
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScSignInFormComponent, decorators: [{
|
78
|
+
type: Component,
|
79
|
+
args: [{ selector: 'sc-sign-in-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mb-4 flex justify-center\">\n <button\n tuiButton\n [appearance]=\"authMethod === 'by_phone' ? 'primary' : 'secondary'\"\n (click)=\"switchAuth(method.byPhone)\"\n class=\"tui-space_right-3 tui-space_bottom-3 !font-bold\"\n >\n \u041F\u043E \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0443\n </button>\n\n <button\n tuiButton\n [appearance]=\"authMethod === 'by_email' ? 'primary' : 'secondary'\"\n (click)=\"switchAuth(method.byEmail)\"\n class=\"tui-space_left-3 tui-space_bottom-3 !font-bold\"\n >\n \u041F\u043E e-mail\n </button>\n</div>\n\n<sc-sign-in-form-by-email\n *ngIf=\"authMethod === 'by_email'\"\n (forgotPassword)=\"onForgotPassword()\"\n></sc-sign-in-form-by-email>\n\n<sc-sign-in-form-by-phone [class.hidden]=\"authMethod !== 'by_phone'\"></sc-sign-in-form-by-phone>\n\n<div class=\"flex flex-col items-center gap-4\">\n <span class=\"font-medium text-tui-text-02\">\u0415\u0449\u0435 \u043D\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u044B?</span>\n <button\n tuiButton\n (click)=\"signUp.emit()\"\n type=\"button\"\n iconStart=\"scIconAddProfile\"\n appearance=\"secondary\"\n >\n \u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C\u0441\u044F\n </button>\n</div>\n" }]
|
80
|
+
}], ctorParameters: () => [{ type: i1.ScAuthService }, { type: i1.ScUserMetrikaService }], propDecorators: { authMethod: [{
|
81
|
+
type: Input
|
82
|
+
}], forgotPassword: [{
|
83
|
+
type: Output
|
84
|
+
}], signUp: [{
|
85
|
+
type: Output
|
86
|
+
}], successAuth: [{
|
87
|
+
type: Output
|
88
|
+
}] } });
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc2lnbi1pbi1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9hdXRoL3NjLXNpZ24taW4tZm9ybS9zYy1zaWduLWluLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2F1dGgvc2Mtc2lnbi1pbi1mb3JtL3NjLXNpZ24taW4tZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBaUIsc0JBQXNCLEVBQXdCLE1BQU0sd0JBQXdCLENBQUM7QUFDckcsT0FBTyxFQUFFLE1BQU0sRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUUxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFFbEQ7O0dBRUc7QUFNSCxNQUFNLE9BQU8scUJBQXFCO0lBMEI5Qjs7Ozs7T0FLRztJQUNILFlBQ3FCLFdBQTBCLEVBQzFCLGtCQUF3QztRQUR4QyxnQkFBVyxHQUFYLFdBQVcsQ0FBZTtRQUMxQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXNCO1FBakM3RDs7V0FFRztRQUNhLGVBQVUsR0FBZSxVQUFVLENBQUMsT0FBTyxDQUFDO1FBRTVEOztXQUVHO1FBQ0ksV0FBTSxHQUFzQixVQUFVLENBQUM7UUFFOUM7O1dBRUc7UUFDdUIsbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV4Rjs7V0FFRztRQUN1QixXQUFNLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFaEY7O1dBRUc7UUFDdUIsZ0JBQVcsR0FBd0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBVzFILENBQUM7SUFFSixrQkFBa0I7SUFDWCxRQUFRO1FBQ1gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDO1lBQ3pDLE1BQU0sRUFBRSxzQkFBc0IsQ0FBQyxVQUFVO1lBQ3pDLE1BQU0sRUFBRTtnQkFDSixJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7YUFDeEI7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFVBQVUsQ0FBQyxVQUFzQjtRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUU3QixJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUM7WUFDekMsTUFBTSxFQUFFLHNCQUFzQixDQUFDLFVBQVU7WUFDekMsTUFBTSxFQUFFO2dCQUNKLElBQUksRUFBRSxVQUFVO2FBQ25CO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHO0lBQ0ksZ0JBQWdCO1FBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0IsQ0FBQzs4R0FwRVEscUJBQXFCO2tHQUFyQixxQkFBcUIsMExDZGxDLHU2Q0F1Q0E7OzJGRHpCYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0ksaUJBQWlCLG1CQUVWLHVCQUF1QixDQUFDLE1BQU07cUhBTS9CLFVBQVU7c0JBQXpCLEtBQUs7Z0JBVW9CLGNBQWM7c0JBQXZDLE1BQU07Z0JBS21CLE1BQU07c0JBQS9CLE1BQU07Z0JBS21CLFdBQVc7c0JBQXBDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2NBdXRoU2VydmljZSwgU2NVc2VyTWV0cmlrYUdvYWxzRW51bSwgU2NVc2VyTWV0cmlrYVNlcnZpY2UgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IGZpbHRlciwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBdXRoTWV0aG9kIH0gZnJvbSAnLi4vZW51bXMvYXV0aC1tZXRob2QnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy1zaWduLWluLWZvcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1zaWduLWluLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY1NpZ25JbkZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKlxuICAgICAqINCS0YvQsdGA0LDQvdC90YvQuSDRgdC/0L7RgdC+0LEg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgYXV0aE1ldGhvZDogQXV0aE1ldGhvZCA9IEF1dGhNZXRob2QuYnlFbWFpbDtcblxuICAgIC8qKlxuICAgICAqINCf0LXRgNC10YfQuNGB0LvQtdC90LjQtSDRgdC/0L7RgdC+0LHQvtCyINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIG1ldGhvZDogdHlwZW9mIEF1dGhNZXRob2QgPSBBdXRoTWV0aG9kO1xuXG4gICAgLyoqXG4gICAgICog0KHQuNCz0L3QsNC7INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDIFwi0JfQsNCx0YvQu9C4INC/0LDRgNC+0LvRjFwiLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgZm9yZ290UGFzc3dvcmQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0LjQs9C90LDQuyDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyBcItCX0LDRgNC10LPQuNGB0YLRgNC40YDQvtCy0LDRgtGM0YHRj1wiLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgc2lnblVwOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC40LPQvdCw0Lsg0YHQvtCx0YvRgtC40Y8g0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IHN1Y2Nlc3NBdXRoOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5hdXRoU2VydmljZS5nZXRBdXRoQ2hhbmdlKCkucGlwZShmaWx0ZXIoKHN0YXRlKSA9PiBzdGF0ZSkpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY1NpZ25JbkZvcm1Db21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGF1dGhTZXJ2aWNlINCh0LXRgNCy0LjRgSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqIEBwYXJhbSB1c2VyTWV0cmlrYVNlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LvRjyDRgdCx0L7RgNCwINC80LXRgtGA0LjQuiDQviDQtNC10LnRgdGC0LLQuNGP0YUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LkuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBTY0F1dGhTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJNZXRyaWthU2VydmljZTogU2NVc2VyTWV0cmlrYVNlcnZpY2VcbiAgICApIHt9XG5cbiAgICAvKiogQGluaGVyaXREb2MgKi9cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS5zaWduSW5TaG93LFxuICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogdGhpcy5hdXRoTWV0aG9kLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7RgdGD0YnQtdGB0YLQstC70Y/QtdGCINC/0LXRgNC10LrQu9GO0YfQtdC90LjQtSDRgdC/0L7RgdC+0LHQvtCyINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40LguXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXV0aE1ldGhvZCDQktGL0LHRgNCw0L3QvdGL0Lkg0YHQv9C+0YHQvtCxINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIHN3aXRjaEF1dGgoYXV0aE1ldGhvZDogQXV0aE1ldGhvZCk6IHZvaWQge1xuICAgICAgICB0aGlzLmF1dGhNZXRob2QgPSBhdXRoTWV0aG9kO1xuXG4gICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS5zaWduSW5TaG93LFxuICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogYXV0aE1ldGhvZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0LHRgNCw0LHQsNGC0YvQstCw0LXRgiDQvdCw0LbQsNGC0LjQtSDQvdCwINC60L3QvtC/0LrRgyBcItCX0LDQsdGL0LvQuCDQv9Cw0YDQvtC70YxcIiDQuCDQstGL0LTQsNC10YIg0YHQuNCz0L3QsNC7INC+0LEg0Y3RgtC+0LwuXG4gICAgICovXG4gICAgcHVibGljIG9uRm9yZ290UGFzc3dvcmQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9yZ290UGFzc3dvcmQuZW1pdCgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtYi00IGZsZXgganVzdGlmeS1jZW50ZXJcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgIHR1aUJ1dHRvblxuICAgICAgICBbYXBwZWFyYW5jZV09XCJhdXRoTWV0aG9kID09PSAnYnlfcGhvbmUnID8gJ3ByaW1hcnknIDogJ3NlY29uZGFyeSdcIlxuICAgICAgICAoY2xpY2spPVwic3dpdGNoQXV0aChtZXRob2QuYnlQaG9uZSlcIlxuICAgICAgICBjbGFzcz1cInR1aS1zcGFjZV9yaWdodC0zIHR1aS1zcGFjZV9ib3R0b20tMyAhZm9udC1ib2xkXCJcbiAgICA+XG4gICAgICAgINCf0L4g0YLQtdC70LXRhNC+0L3Rg1xuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvblxuICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgW2FwcGVhcmFuY2VdPVwiYXV0aE1ldGhvZCA9PT0gJ2J5X2VtYWlsJyA/ICdwcmltYXJ5JyA6ICdzZWNvbmRhcnknXCJcbiAgICAgICAgKGNsaWNrKT1cInN3aXRjaEF1dGgobWV0aG9kLmJ5RW1haWwpXCJcbiAgICAgICAgY2xhc3M9XCJ0dWktc3BhY2VfbGVmdC0zIHR1aS1zcGFjZV9ib3R0b20tMyAhZm9udC1ib2xkXCJcbiAgICA+XG4gICAgICAgINCf0L4gZS1tYWlsXG4gICAgPC9idXR0b24+XG48L2Rpdj5cblxuPHNjLXNpZ24taW4tZm9ybS1ieS1lbWFpbFxuICAgICpuZ0lmPVwiYXV0aE1ldGhvZCA9PT0gJ2J5X2VtYWlsJ1wiXG4gICAgKGZvcmdvdFBhc3N3b3JkKT1cIm9uRm9yZ290UGFzc3dvcmQoKVwiXG4+PC9zYy1zaWduLWluLWZvcm0tYnktZW1haWw+XG5cbjxzYy1zaWduLWluLWZvcm0tYnktcGhvbmUgW2NsYXNzLmhpZGRlbl09XCJhdXRoTWV0aG9kICE9PSAnYnlfcGhvbmUnXCI+PC9zYy1zaWduLWluLWZvcm0tYnktcGhvbmU+XG5cbjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBnYXAtNFwiPlxuICAgIDxzcGFuIGNsYXNzPVwiZm9udC1tZWRpdW0gdGV4dC10dWktdGV4dC0wMlwiPtCV0YnQtSDQvdC1INC30LDRgNC10LPQuNGB0YLRgNC40YDQvtCy0LDQvdGLPzwvc3Bhbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAoY2xpY2spPVwic2lnblVwLmVtaXQoKVwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBpY29uU3RhcnQ9XCJzY0ljb25BZGRQcm9maWxlXCJcbiAgICAgICAgYXBwZWFyYW5jZT1cInNlY29uZGFyeVwiXG4gICAgPlxuICAgICAgICDQl9Cw0YDQtdCz0LjRgdGC0YDQuNGA0L7QstCw0YLRjNGB0Y9cbiAgICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
|