@snabcentr/client-ui 4.14.9 → 4.14.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/index.d.ts +3 -0
- package/accordion/sc-accordion-content.directive.d.ts +9 -0
- package/accordion/sc-accordion.component.d.ts +56 -0
- package/accordion/sc-accordion.module.d.ts +15 -0
- package/auth/enums/auth-method.d.ts +13 -0
- package/auth/index.d.ts +8 -0
- package/auth/interfaces/index.d.ts +2 -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 +27 -0
- package/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.d.ts +55 -0
- package/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.d.ts +45 -0
- package/auth/sc-sign-in-form/sc-sign-in-form.component.d.ts +53 -0
- package/auth/sc-simple-sign-up-form/sc-simple-sign-up-form.component.d.ts +113 -0
- package/auth/sign-up-form/sc-sign-up-form.component.d.ts +172 -0
- package/banner/index.d.ts +2 -0
- package/banner/sc-banner.component.d.ts +108 -0
- package/banner/sc-banner.module.d.ts +17 -0
- package/brands-list/index.d.ts +3 -0
- package/brands-list/sc-brand-list-item.d.ts +25 -0
- package/brands-list/sc-brands-list.component.d.ts +13 -0
- package/brands-list/sc-brands-list.module.d.ts +12 -0
- package/cart/add-or-editing-cart-item-dialog/add-or-editing-cart-item-form/sc-add-or-editing-cart-item-form.component.d.ts +106 -0
- package/cart/add-or-editing-cart-item-dialog/index.d.ts +2 -0
- package/cart/add-or-editing-cart-item-dialog/sc-add-or-editing-cart-item-dialog.component.d.ts +49 -0
- package/cart/index.d.ts +2 -0
- package/cart/sc-cart-add-products-from-csv-dialog/sc-cart-add-products-from-csv-dialog.component.d.ts +62 -0
- package/catalog/catalog-filters/collapsible/sc-catalog-filter-collapsible.component.d.ts +47 -0
- package/catalog/catalog-filters/index.d.ts +4 -0
- package/catalog/catalog-filters/sc-catalog-filters.component.d.ts +199 -0
- package/catalog/catalog-filters/tokens/sc-catalog-products-filters.d.ts +7 -0
- package/catalog/catalog-filters/tokens/sc-catalog-show-products-recursively.d.ts +5 -0
- package/catalog/category-card/sc-category-card.component.d.ts +76 -0
- package/catalog/cost-with-discount/cost-with-discount.component.d.ts +23 -0
- package/catalog/download-price-list/sc-download-price-list.component.d.ts +38 -0
- package/catalog/hover-image-carousel/sc-hover-image-carousel.component.d.ts +48 -0
- package/catalog/index.d.ts +15 -0
- package/catalog/input-quantity/sc-input-quantity.component.d.ts +82 -0
- package/catalog/notify-when-in-stock-dialog/index.d.ts +2 -0
- package/catalog/notify-when-in-stock-dialog/sc-notify-when-in-stock-dialog.component.d.ts +90 -0
- package/catalog/notify-when-in-stock-dialog/sc-product-in-all-warehouses.pipe.d.ts +22 -0
- package/catalog/price-card/sc-price-card.component.d.ts +18 -0
- package/catalog/price-card-inline/sc-price-card-inline.component.d.ts +10 -0
- package/catalog/price-history/sc-price-history.component.d.ts +92 -0
- package/catalog/price-list-pagination/sc-price-list-pagination.component.d.ts +40 -0
- package/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.d.ts +47 -0
- package/catalog/sc-catalog.module.d.ts +29 -0
- package/catalog/sc-favorite-button/sc-favorite-button.component.d.ts +25 -0
- package/catalog/seo-tags/sc-seo-tags.component.d.ts +20 -0
- package/configurators/index.d.ts +3 -0
- package/configurators/models/index.d.ts +3 -0
- package/configurators/models/sandwich/sc-i-configurator-search-product-sandwich.d.ts +22 -0
- package/configurators/models/sandwich/sc-i-sandwich-settings.d.ts +18 -0
- package/configurators/models/sandwich_m2/sc-i-sandwich-m2-settings.d.ts +18 -0
- package/configurators/sandwich/index.d.ts +3 -0
- package/configurators/sandwich/sandwich-skeleton/sc-sandwich-skeleton.component.d.ts +8 -0
- package/configurators/sandwich/sc-i-new-cart-item-sandwich.d.ts +14 -0
- package/configurators/sandwich/sc-sandwich.component.d.ts +186 -0
- package/configurators/sandwich_m2/index.d.ts +4 -0
- package/configurators/sandwich_m2/sandwich-m2-skeleton/sc-sandwich-m2-skeleton.component.d.ts +8 -0
- package/configurators/sandwich_m2/sc-i-new-cart-item-sandwich-m2.d.ts +23 -0
- package/configurators/sandwich_m2/sc-sandwich-m2-item-submit-state.d.ts +13 -0
- package/configurators/sandwich_m2/sc-sandwich-m2.component.d.ts +275 -0
- package/contacts/add-contact-dialog/sc-add-contact-dialog.component.d.ts +49 -0
- package/contacts/contacts-accordion/sc-contacts-accordion.component.d.ts +23 -0
- package/contacts/index.d.ts +7 -0
- package/contacts/manager-card/sc-manager-card.component.d.ts +22 -0
- package/contacts/manager-card-push/sc-manager-card-push.component.d.ts +18 -0
- package/contacts/new-contact-form/sc-new-contact-form.component.d.ts +28 -0
- package/contacts/sc-contacts.module.d.ts +28 -0
- package/contacts/tokens/index.d.ts +2 -0
- package/contacts/tokens/sc-manager-qr-handler.token.d.ts +6 -0
- package/contacts/tokens/sc-show-help-notification-in-phone-input.token.d.ts +5 -0
- package/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.d.ts +49 -0
- package/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.d.ts +158 -0
- package/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.d.ts +66 -0
- package/contragents/contragents-accordion/sc-contragents-accordion.component.d.ts +49 -0
- package/contragents/index.d.ts +7 -0
- package/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.d.ts +64 -0
- package/contragents/new-contragent-form/sc-new-contragent-form.component.d.ts +129 -0
- package/contragents/sc-contragents.module.d.ts +28 -0
- package/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.d.ts +148 -0
- package/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.d.ts +50 -0
- package/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.d.ts +49 -0
- package/delivery-address/index.d.ts +4 -0
- package/delivery-address/sc-delivery-address.module.d.ts +25 -0
- package/dialogs/index.d.ts +1 -0
- package/dialogs/sc-resource-preview/sc-resource-preview.component.d.ts +42 -0
- package/directives/abstract-price-card/abstract-sc-price-card.directive.d.ts +136 -0
- package/directives/address-quality/sc-address-quality.directive.d.ts +23 -0
- package/directives/address-quality/sc-address-quality.service.d.ts +122 -0
- package/directives/address-quality/sc-i-address-quality-state.d.ts +14 -0
- package/directives/index.d.ts +11 -0
- package/directives/links/index.d.ts +4 -0
- package/directives/links/sc-email-link.directive.d.ts +25 -0
- package/directives/links/sc-link-location.d.ts +5 -0
- package/directives/links/sc-links.d.ts +7 -0
- package/directives/links/sc-tel-link.directive.d.ts +40 -0
- package/directives/next-input-focus/sc-next-input-focus.directive.d.ts +27 -0
- package/directives/next-input-focus/sc-next-input-focus.module.d.ts +10 -0
- package/directives/print/sc-print.directive.d.ts +21 -0
- package/directives/sc-date-value-transformer.directive.d.ts +8 -0
- package/directives/sc-focus-first-invalid-field.directive.d.ts +30 -0
- package/directives/sc-null-on-empty-value-transformer.directive.d.ts +8 -0
- package/directives/select-on-focusin/sc-select-on-focusin.directive.d.ts +14 -0
- package/directives/terminal-link/sc-terminal-link.directive.d.ts +34 -0
- package/error-handler/consts/error-change-handler.providers.d.ts +6 -0
- package/error-handler/error-block-status/error-block-status.component.d.ts +55 -0
- package/error-handler/index.d.ts +4 -0
- package/error-handler/interfaces/i-block-error.d.ts +17 -0
- package/error-handler/sc-error-handler.component.d.ts +40 -0
- package/esm2022/accordion/index.mjs +4 -0
- package/esm2022/accordion/sc-accordion-content.directive.mjs +17 -0
- package/esm2022/accordion/sc-accordion.component.mjs +92 -0
- package/esm2022/accordion/sc-accordion.module.mjs +26 -0
- package/esm2022/auth/enums/auth-method.mjs +15 -0
- package/esm2022/auth/index.mjs +9 -0
- package/esm2022/auth/interfaces/index.mjs +3 -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 +103 -0
- package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.mjs +100 -0
- package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.mjs +81 -0
- package/esm2022/auth/sc-sign-in-form/sc-sign-in-form.component.mjs +89 -0
- package/esm2022/auth/sc-simple-sign-up-form/sc-simple-sign-up-form.component.mjs +203 -0
- package/esm2022/auth/sign-up-form/sc-sign-up-form.component.mjs +345 -0
- package/esm2022/banner/index.mjs +3 -0
- package/esm2022/banner/sc-banner.component.mjs +176 -0
- package/esm2022/banner/sc-banner.module.mjs +29 -0
- package/esm2022/brands-list/index.mjs +4 -0
- package/esm2022/brands-list/sc-brand-list-item.mjs +2 -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/add-or-editing-cart-item-dialog/add-or-editing-cart-item-form/sc-add-or-editing-cart-item-form.component.mjs +233 -0
- package/esm2022/cart/add-or-editing-cart-item-dialog/index.mjs +3 -0
- package/esm2022/cart/add-or-editing-cart-item-dialog/sc-add-or-editing-cart-item-dialog.component.mjs +75 -0
- package/esm2022/cart/index.mjs +3 -0
- package/esm2022/cart/sc-cart-add-products-from-csv-dialog/sc-cart-add-products-from-csv-dialog.component.mjs +110 -0
- package/esm2022/catalog/catalog-filters/collapsible/sc-catalog-filter-collapsible.component.mjs +59 -0
- package/esm2022/catalog/catalog-filters/index.mjs +5 -0
- package/esm2022/catalog/catalog-filters/sc-catalog-filters.component.mjs +451 -0
- package/esm2022/catalog/catalog-filters/tokens/sc-catalog-products-filters.mjs +10 -0
- package/esm2022/catalog/catalog-filters/tokens/sc-catalog-show-products-recursively.mjs +6 -0
- package/esm2022/catalog/category-card/sc-category-card.component.mjs +102 -0
- package/esm2022/catalog/cost-with-discount/cost-with-discount.component.mjs +38 -0
- package/esm2022/catalog/download-price-list/sc-download-price-list.component.mjs +56 -0
- package/esm2022/catalog/hover-image-carousel/sc-hover-image-carousel.component.mjs +76 -0
- package/esm2022/catalog/index.mjs +16 -0
- package/esm2022/catalog/input-quantity/sc-input-quantity.component.mjs +190 -0
- package/esm2022/catalog/notify-when-in-stock-dialog/index.mjs +3 -0
- package/esm2022/catalog/notify-when-in-stock-dialog/sc-notify-when-in-stock-dialog.component.mjs +173 -0
- package/esm2022/catalog/notify-when-in-stock-dialog/sc-product-in-all-warehouses.pipe.mjs +35 -0
- package/esm2022/catalog/price-card/sc-price-card.component.mjs +71 -0
- package/esm2022/catalog/price-card-inline/sc-price-card-inline.component.mjs +54 -0
- package/esm2022/catalog/price-history/sc-price-history.component.mjs +144 -0
- package/esm2022/catalog/price-list-pagination/sc-price-list-pagination.component.mjs +65 -0
- package/esm2022/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.mjs +61 -0
- package/esm2022/catalog/sc-catalog.module.mjs +128 -0
- package/esm2022/catalog/sc-favorite-button/sc-favorite-button.component.mjs +42 -0
- package/esm2022/catalog/seo-tags/sc-seo-tags.component.mjs +25 -0
- package/esm2022/configurators/index.mjs +4 -0
- package/esm2022/configurators/models/index.mjs +4 -0
- package/esm2022/configurators/models/sandwich/sc-i-configurator-search-product-sandwich.mjs +2 -0
- package/esm2022/configurators/models/sandwich/sc-i-sandwich-settings.mjs +2 -0
- package/esm2022/configurators/models/sandwich_m2/sc-i-sandwich-m2-settings.mjs +2 -0
- package/esm2022/configurators/sandwich/index.mjs +4 -0
- package/esm2022/configurators/sandwich/sandwich-skeleton/sc-sandwich-skeleton.component.mjs +14 -0
- package/esm2022/configurators/sandwich/sc-i-new-cart-item-sandwich.mjs +2 -0
- package/esm2022/configurators/sandwich/sc-sandwich.component.mjs +387 -0
- package/esm2022/configurators/sandwich_m2/index.mjs +5 -0
- package/esm2022/configurators/sandwich_m2/sandwich-m2-skeleton/sc-sandwich-m2-skeleton.component.mjs +14 -0
- package/esm2022/configurators/sandwich_m2/sc-i-new-cart-item-sandwich-m2.mjs +2 -0
- package/esm2022/configurators/sandwich_m2/sc-sandwich-m2-item-submit-state.mjs +5 -0
- package/esm2022/configurators/sandwich_m2/sc-sandwich-m2.component.mjs +569 -0
- package/esm2022/contacts/add-contact-dialog/sc-add-contact-dialog.component.mjs +91 -0
- package/esm2022/contacts/contacts-accordion/sc-contacts-accordion.component.mjs +37 -0
- package/esm2022/contacts/index.mjs +8 -0
- package/esm2022/contacts/manager-card/sc-manager-card.component.mjs +58 -0
- package/esm2022/contacts/manager-card-push/sc-manager-card-push.component.mjs +28 -0
- package/esm2022/contacts/new-contact-form/sc-new-contact-form.component.mjs +38 -0
- package/esm2022/contacts/sc-contacts.module.mjs +92 -0
- package/esm2022/contacts/tokens/index.mjs +3 -0
- package/esm2022/contacts/tokens/sc-manager-qr-handler.token.mjs +25 -0
- package/esm2022/contacts/tokens/sc-show-help-notification-in-phone-input.token.mjs +9 -0
- package/esm2022/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.mjs +81 -0
- package/esm2022/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.mjs +266 -0
- package/esm2022/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.mjs +79 -0
- package/esm2022/contragents/contragents-accordion/sc-contragents-accordion.component.mjs +68 -0
- package/esm2022/contragents/index.mjs +8 -0
- package/esm2022/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.mjs +72 -0
- package/esm2022/contragents/new-contragent-form/sc-new-contragent-form.component.mjs +241 -0
- package/esm2022/contragents/sc-contragents.module.mjs +121 -0
- package/esm2022/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.mjs +261 -0
- package/esm2022/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.mjs +60 -0
- package/esm2022/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.mjs +68 -0
- package/esm2022/delivery-address/index.mjs +5 -0
- package/esm2022/delivery-address/sc-delivery-address.module.mjs +96 -0
- package/esm2022/dialogs/index.mjs +2 -0
- package/esm2022/dialogs/sc-resource-preview/sc-resource-preview.component.mjs +73 -0
- package/esm2022/directives/abstract-price-card/abstract-sc-price-card.directive.mjs +170 -0
- package/esm2022/directives/address-quality/sc-address-quality.directive.mjs +40 -0
- package/esm2022/directives/address-quality/sc-address-quality.service.mjs +214 -0
- package/esm2022/directives/address-quality/sc-i-address-quality-state.mjs +2 -0
- package/esm2022/directives/index.mjs +12 -0
- package/esm2022/directives/links/index.mjs +5 -0
- package/esm2022/directives/links/sc-email-link.directive.mjs +49 -0
- package/esm2022/directives/links/sc-link-location.mjs +2 -0
- package/esm2022/directives/links/sc-links.mjs +8 -0
- package/esm2022/directives/links/sc-tel-link.directive.mjs +79 -0
- package/esm2022/directives/next-input-focus/sc-next-input-focus.directive.mjs +70 -0
- package/esm2022/directives/next-input-focus/sc-next-input-focus.module.mjs +19 -0
- package/esm2022/directives/print/sc-print.directive.mjs +36 -0
- package/esm2022/directives/sc-date-value-transformer.directive.mjs +30 -0
- package/esm2022/directives/sc-focus-first-invalid-field.directive.mjs +85 -0
- package/esm2022/directives/sc-null-on-empty-value-transformer.directive.mjs +30 -0
- package/esm2022/directives/select-on-focusin/sc-select-on-focusin.directive.mjs +36 -0
- package/esm2022/directives/terminal-link/sc-terminal-link.directive.mjs +69 -0
- package/esm2022/error-handler/consts/error-change-handler.providers.mjs +10 -0
- package/esm2022/error-handler/error-block-status/error-block-status.component.mjs +101 -0
- package/esm2022/error-handler/index.mjs +5 -0
- package/esm2022/error-handler/interfaces/i-block-error.mjs +2 -0
- package/esm2022/error-handler/sc-error-handler.component.mjs +58 -0
- package/esm2022/feedback/feedback-form/sc-feedback-form.component.mjs +344 -0
- package/esm2022/feedback/gratitude/sc-gratitude.component.mjs +32 -0
- package/esm2022/feedback/index.mjs +4 -0
- package/esm2022/feedback/interfaces/index.mjs +2 -0
- package/esm2022/feedback/interfaces/sc-feedback-form-config.mjs +2 -0
- package/esm2022/files/directives/index.mjs +3 -0
- package/esm2022/files/directives/tree-top.directive.mjs +63 -0
- package/esm2022/files/directives/tree.directive.mjs +47 -0
- package/esm2022/files/file-tree-item/file-tree-item.component.mjs +18 -0
- package/esm2022/files/files-and-documents/files-and-documents.component.mjs +61 -0
- package/esm2022/files/files-and-documents.module.mjs +28 -0
- package/esm2022/files/index.mjs +6 -0
- package/esm2022/files/interfaces/tree-node.mjs +2 -0
- package/esm2022/files/services/index.mjs +3 -0
- package/esm2022/files/services/tree-icon.service.mjs +49 -0
- package/esm2022/files/services/tree-loader.service.mjs +62 -0
- package/esm2022/form-fields/addresses-selection-field/sc-addresses-selection-field.component.mjs +155 -0
- package/esm2022/form-fields/form-fields.module.mjs +66 -0
- package/esm2022/form-fields/index.mjs +4 -0
- package/esm2022/form-fields/suggestion-field/sc-suggestion-field.component.mjs +235 -0
- package/esm2022/icons/index.mjs +2 -0
- package/esm2022/icons/sc-client-ui-icons-name.mjs +99 -0
- package/esm2022/loader/index.mjs +2 -0
- package/esm2022/loader/sc-i-loader.mjs +2 -0
- package/esm2022/masks/index.mjs +9 -0
- package/esm2022/masks/sc-account-number-mask.mjs +7 -0
- package/esm2022/masks/sc-bic-mask.mjs +7 -0
- package/esm2022/masks/sc-correspondent-account-mask.mjs +7 -0
- package/esm2022/masks/sc-inn-mask.mjs +13 -0
- package/esm2022/masks/sc-kpp-mask.mjs +7 -0
- package/esm2022/masks/sc-ogrn-mask.mjs +13 -0
- package/esm2022/masks/sc-okpo-mask.mjs +13 -0
- package/esm2022/masks/sc-phone-verification-code-mask.mjs +7 -0
- package/esm2022/methods/index.mjs +2 -0
- package/esm2022/methods/sc-get-current-route.mjs +14 -0
- package/esm2022/models/i-sc-image.mjs +2 -0
- package/esm2022/models/index.mjs +2 -0
- package/esm2022/news/index.mjs +4 -0
- package/esm2022/news/news-card/sc-news-card.component.mjs +34 -0
- package/esm2022/news/news-card-skeleton/sc-news-card-skeleton.component.mjs +31 -0
- package/esm2022/news/sc-news.module.mjs +25 -0
- package/esm2022/noindex-wrapper/directives/index.mjs +2 -0
- package/esm2022/noindex-wrapper/directives/sc-noindex.directive.mjs +58 -0
- package/esm2022/noindex-wrapper/index.mjs +3 -0
- package/esm2022/noindex-wrapper/sc-noindex-wrapper.component.mjs +18 -0
- package/esm2022/order/directives/index.mjs +3 -0
- package/esm2022/order/directives/sc-order-accessor.directive.mjs +28 -0
- package/esm2022/order/directives/sc-order-options.mjs +11 -0
- package/esm2022/order/draft/sc-draft.component.mjs +118 -0
- package/esm2022/order/index.mjs +14 -0
- package/esm2022/order/models/i-new-order-form.mjs +2 -0
- package/esm2022/order/models/sc-i-cart-items-by-direction.mjs +22 -0
- package/esm2022/order/order-direction-items/sc-order-direction-items.component.mjs +39 -0
- package/esm2022/order/order-form/sc-order-form.component.mjs +565 -0
- package/esm2022/order/order-form/sc-order-form.config.mjs +7 -0
- package/esm2022/order/order-item/sc-order-item.component.mjs +112 -0
- package/esm2022/order/order-items-list/sc-order-items-list.component.mjs +212 -0
- package/esm2022/order/order-items-list-by-directions/sc-order-items-list-by-directions.component.mjs +75 -0
- package/esm2022/order/order-items-list-by-stock/sc-order-items-list-by-stock.component.mjs +75 -0
- package/esm2022/order/sc-order.module.mjs +52 -0
- package/esm2022/order/sc-payment-status/sc-payment-status.component.mjs +35 -0
- package/esm2022/pages/frequently-asked-questions/sc-faq-query-params.mjs +5 -0
- package/esm2022/pages/frequently-asked-questions/sc-faq-question-anchor.mjs +23 -0
- package/esm2022/pages/frequently-asked-questions/sc-frequently-asked-questions.component.mjs +167 -0
- package/esm2022/pages/frequently-asked-questions/sc-get-faq-group-query-params.mjs +14 -0
- package/esm2022/pages/frequently-asked-questions/sc-page-size-options.mjs +8 -0
- package/esm2022/pages/frequently-asked-questions-group-selector/sc-frequently-asked-questions-group-selector.component.mjs +88 -0
- package/esm2022/pages/frequently-asked-questions-with-groups/sc-frequently-asked-questions-with-groups.component.mjs +123 -0
- package/esm2022/pages/index.mjs +11 -0
- package/esm2022/pages/news-list/sc-news-list.component.mjs +90 -0
- package/esm2022/pages/personal-data-processing-policy/sc-personal-data-processing-policy.component.mjs +46 -0
- package/esm2022/pages/privacy-policy/sc-privacy-policy.component.mjs +30 -0
- package/esm2022/pages/public-offer/sc-public-offer.component.mjs +50 -0
- package/esm2022/pagination/index.mjs +2 -0
- package/esm2022/pagination/sc-pagination-links/sc-pagination-links.component.mjs +99 -0
- package/esm2022/pipes/index.mjs +3 -0
- package/esm2022/pipes/sc-format-date.mjs +33 -0
- package/esm2022/pipes/sc-phone-format.mjs +44 -0
- package/esm2022/profile/index.mjs +3 -0
- package/esm2022/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs +174 -0
- package/esm2022/profile/sc-profile.module.mjs +73 -0
- package/esm2022/providers/cleanup-recaptcha-artifacts.mjs +30 -0
- package/esm2022/providers/date-value-transformer/index.mjs +4 -0
- package/esm2022/providers/date-value-transformer/sc-date-value-transformer-types.mjs +2 -0
- package/esm2022/providers/date-value-transformer/sc-date-value-transformer-with-end-time.mjs +26 -0
- package/esm2022/providers/date-value-transformer/sc-date-value-transformer-with-start-time.mjs +37 -0
- package/esm2022/providers/index.mjs +18 -0
- package/esm2022/providers/null-on-empty-value-transformer/index.mjs +2 -0
- package/esm2022/providers/null-on-empty-value-transformer/sc-null-on-empty-value-transformer.mjs +31 -0
- package/esm2022/providers/sc-allow-select-terminated.mjs +8 -0
- package/esm2022/providers/sc-banner-duration.mjs +8 -0
- package/esm2022/providers/sc-block-incomplete-address.mjs +8 -0
- package/esm2022/providers/sc-country-ids.mjs +8 -0
- package/esm2022/providers/sc-date-formatter.mjs +15 -0
- package/esm2022/providers/sc-date-value-transformer.mjs +12 -0
- package/esm2022/providers/sc-debounce-time-default.mjs +9 -0
- package/esm2022/providers/sc-dialog-service.providers.mjs +6 -0
- package/esm2022/providers/sc-help-notification-close.mjs +9 -0
- package/esm2022/providers/sc-help-notification-limit.mjs +8 -0
- package/esm2022/providers/sc-hidden-print-elements.token.mjs +10 -0
- package/esm2022/providers/sc-max-files-in-form-input.mjs +8 -0
- package/esm2022/providers/sc-notify-when-in-stock-required-fields.mjs +8 -0
- package/esm2022/providers/sc-page-size-options.mjs +8 -0
- package/esm2022/providers/sc-user-providers.mjs +38 -0
- package/esm2022/providers/sc-verification-code-timeout.mjs +8 -0
- package/esm2022/public-api.mjs +36 -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/index.mjs +5 -0
- package/esm2022/samples/interfaces/index.mjs +3 -0
- package/esm2022/samples/interfaces/sc-i-preview-sample.mjs +2 -0
- package/esm2022/samples/interfaces/sc-preview-mosquito-config.mjs +2 -0
- package/esm2022/samples/preview-sample/sc-preview-sample.component.mjs +42 -0
- package/esm2022/samples/sc-preview-samples-mosquito/sc-preview-samples-mosquito.component.mjs +63 -0
- package/esm2022/samples/sc-sample.module.mjs +66 -0
- package/esm2022/services/index.mjs +3 -0
- package/esm2022/services/print.service.mjs +49 -0
- package/esm2022/services/sc-help-notification.service.mjs +100 -0
- package/esm2022/share/index.mjs +6 -0
- package/esm2022/share/sc-share-dialog-data.mjs +2 -0
- package/esm2022/share/sc-share.service.mjs +40 -0
- package/esm2022/share/share-button/sc-share-button.component.mjs +99 -0
- package/esm2022/share/share-dialog/sc-share-dialog.component.mjs +139 -0
- package/esm2022/share/share-messengers-links/sc-share-messengers-links.component.mjs +84 -0
- package/esm2022/snabcentr-client-ui.mjs +5 -0
- package/esm2022/user/index.mjs +6 -0
- package/esm2022/user/reset-user-password/sc-reset-user-password.component.mjs +74 -0
- package/esm2022/user/sc-user.module.mjs +86 -0
- package/esm2022/user/update-user-info-dialog/sc-update-user-info-dialog.component.mjs +121 -0
- package/esm2022/user/user-managers/sc-user-managers.component.mjs +40 -0
- package/esm2022/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.mjs +105 -0
- package/esm2022/validators/index.mjs +7 -0
- package/esm2022/validators/sc-at-least-one-required-validator.mjs +25 -0
- package/esm2022/validators/sc-bic-validator.mjs +10 -0
- package/esm2022/validators/sc-correspondent-account-validator.mjs +10 -0
- package/esm2022/validators/sc-password-confirm-matching-validator.mjs +17 -0
- package/esm2022/validators/sc-phone-validator.mjs +14 -0
- package/esm2022/validators/step-validator.mjs +18 -0
- package/esm2022/verification/index.mjs +3 -0
- package/esm2022/verification/sc-verification.module.mjs +86 -0
- package/esm2022/verification/verification-phone-check-form/sc-verification-phone-check-form.component.mjs +259 -0
- package/feedback/feedback-form/sc-feedback-form.component.d.ts +163 -0
- package/feedback/gratitude/sc-gratitude.component.d.ts +20 -0
- package/feedback/index.d.ts +3 -0
- package/feedback/interfaces/index.d.ts +1 -0
- package/feedback/interfaces/sc-feedback-form-config.d.ts +23 -0
- package/fesm2022/snabcentr-client-ui.mjs +5826 -4942
- package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
- package/files/directives/index.d.ts +2 -0
- package/files/directives/tree-top.directive.d.ts +33 -0
- package/files/directives/tree.directive.d.ts +35 -0
- package/files/file-tree-item/file-tree-item.component.d.ts +9 -0
- package/files/files-and-documents/files-and-documents.component.d.ts +27 -0
- package/files/files-and-documents.module.d.ts +17 -0
- package/files/index.d.ts +5 -0
- package/files/interfaces/tree-node.d.ts +29 -0
- package/files/services/index.d.ts +2 -0
- package/files/services/tree-icon.service.d.ts +23 -0
- package/files/services/tree-loader.service.d.ts +43 -0
- package/form-fields/addresses-selection-field/sc-addresses-selection-field.component.d.ts +80 -0
- package/form-fields/form-fields.module.d.ts +18 -0
- package/form-fields/index.d.ts +3 -0
- package/form-fields/suggestion-field/sc-suggestion-field.component.d.ts +107 -0
- package/icons/index.d.ts +1 -0
- package/icons/sc-client-ui-icons-name.d.ts +4 -0
- package/icons/svg-pack/application.svg +1 -1
- package/icons/svg-pack/back.svg +1 -1
- package/icons/svg-pack/bag.svg +1 -1
- package/icons/svg-pack/banknote-arrow-in-top.svg +1 -1
- package/icons/svg-pack/catalog/aluminum-systems.svg +1 -1
- package/icons/svg-pack/catalog/arm-profile.svg +1 -1
- package/icons/svg-pack/catalog/batten.svg +1 -1
- package/icons/svg-pack/catalog/brusbox.svg +1 -1
- package/icons/svg-pack/catalog/canopy.svg +1 -1
- package/icons/svg-pack/catalog/configurator.svg +1 -1
- package/icons/svg-pack/catalog/covering-material.svg +1 -1
- package/icons/svg-pack/catalog/door-accessories.svg +1 -1
- package/icons/svg-pack/catalog/drainage-system.svg +1 -1
- package/icons/svg-pack/catalog/fastener.svg +1 -1
- package/icons/svg-pack/catalog/finishing-materials.svg +1 -1
- package/icons/svg-pack/catalog/fixing-impost.svg +1 -1
- package/icons/svg-pack/catalog/flask.svg +1 -1
- package/icons/svg-pack/catalog/foam-balloon.svg +1 -1
- package/icons/svg-pack/catalog/foam.svg +1 -1
- package/icons/svg-pack/catalog/glue.svg +1 -1
- package/icons/svg-pack/catalog/handle.svg +1 -1
- package/icons/svg-pack/catalog/instrument.svg +1 -1
- package/icons/svg-pack/catalog/kve-profile.svg +1 -1
- package/icons/svg-pack/catalog/lubricants.svg +1 -1
- package/icons/svg-pack/catalog/mosquito-net.svg +1 -1
- package/icons/svg-pack/catalog/mounting-accessories.svg +1 -1
- package/icons/svg-pack/catalog/net-order.svg +1 -1
- package/icons/svg-pack/catalog/panel-1.svg +1 -1
- package/icons/svg-pack/catalog/panel.svg +1 -1
- package/icons/svg-pack/catalog/polyethylene-film.svg +1 -1
- package/icons/svg-pack/catalog/profile-plastic.svg +1 -1
- package/icons/svg-pack/catalog/promo-materials.svg +1 -1
- package/icons/svg-pack/catalog/psul.svg +1 -1
- package/icons/svg-pack/catalog/rehau-profile.svg +1 -1
- package/icons/svg-pack/catalog/sandwich-plastic.svg +1 -1
- package/icons/svg-pack/catalog/sealer.svg +1 -1
- package/icons/svg-pack/catalog/siding-2.svg +1 -1
- package/icons/svg-pack/catalog/siding.svg +1 -1
- package/icons/svg-pack/catalog/start-finish-profile.svg +1 -1
- package/icons/svg-pack/catalog/steam-waterproofing.svg +1 -1
- package/icons/svg-pack/catalog/stiz.svg +1 -1
- package/icons/svg-pack/catalog/thermometer.svg +1 -1
- package/icons/svg-pack/catalog/windowsill.svg +1 -1
- package/icons/svg-pack/chart-column-plus.svg +1 -1
- package/icons/svg-pack/circle-arrow-in-right.svg +1 -1
- package/icons/svg-pack/contacts.svg +1 -1
- package/icons/svg-pack/deadline.svg +1 -1
- package/icons/svg-pack/file-p.svg +1 -1
- package/icons/svg-pack/file-search.svg +1 -1
- package/icons/svg-pack/file-w.svg +1 -1
- package/icons/svg-pack/file-x.svg +1 -1
- package/icons/svg-pack/grid-height-arrow.svg +1 -1
- package/icons/svg-pack/grid-width-arrow.svg +1 -1
- package/icons/svg-pack/layout-list-tree.svg +1 -1
- package/icons/svg-pack/list.svg +1 -1
- package/icons/svg-pack/puzzle.svg +1 -1
- package/icons/svg-pack/reclamation.svg +1 -1
- package/icons/svg-pack/retail-store.svg +1 -1
- package/icons/svg-pack/send.svg +1 -1
- package/index.d.ts +5 -0
- package/loader/index.d.ts +1 -0
- package/loader/sc-i-loader.d.ts +9 -0
- package/masks/index.d.ts +8 -0
- package/masks/sc-account-number-mask.d.ts +5 -0
- package/masks/sc-bic-mask.d.ts +5 -0
- package/masks/sc-correspondent-account-mask.d.ts +5 -0
- package/masks/sc-inn-mask.d.ts +9 -0
- package/masks/sc-kpp-mask.d.ts +5 -0
- package/masks/sc-ogrn-mask.d.ts +9 -0
- package/masks/sc-okpo-mask.d.ts +9 -0
- package/masks/sc-phone-verification-code-mask.d.ts +5 -0
- package/methods/index.d.ts +1 -0
- package/methods/sc-get-current-route.d.ts +8 -0
- package/models/i-sc-image.d.ts +17 -0
- package/models/index.d.ts +1 -0
- package/news/index.d.ts +3 -0
- package/news/news-card/sc-news-card.component.d.ts +22 -0
- package/news/news-card-skeleton/sc-news-card-skeleton.component.d.ts +16 -0
- package/news/sc-news.module.d.ts +15 -0
- package/noindex-wrapper/directives/index.d.ts +1 -0
- package/noindex-wrapper/directives/sc-noindex.directive.d.ts +29 -0
- package/noindex-wrapper/index.d.ts +2 -0
- package/noindex-wrapper/sc-noindex-wrapper.component.d.ts +9 -0
- package/order/directives/index.d.ts +2 -0
- package/order/directives/sc-order-accessor.directive.d.ts +13 -0
- package/order/directives/sc-order-options.d.ts +14 -0
- package/order/draft/sc-draft.component.d.ts +63 -0
- package/order/index.d.ts +13 -0
- package/order/models/i-new-order-form.d.ts +39 -0
- package/order/models/sc-i-cart-items-by-direction.d.ts +25 -0
- package/order/order-direction-items/sc-order-direction-items.component.d.ts +29 -0
- package/order/order-form/sc-order-form.component.d.ts +283 -0
- package/order/order-form/sc-order-form.config.d.ts +20 -0
- package/order/order-item/sc-order-item.component.d.ts +43 -0
- package/order/order-items-list/sc-order-items-list.component.d.ts +113 -0
- package/order/order-items-list-by-directions/sc-order-items-list-by-directions.component.d.ts +58 -0
- package/order/order-items-list-by-stock/sc-order-items-list-by-stock.component.d.ts +55 -0
- package/order/sc-order.module.d.ts +18 -0
- package/order/sc-payment-status/sc-payment-status.component.d.ts +25 -0
- package/package.json +37 -35
- package/pages/frequently-asked-questions/sc-faq-query-params.d.ts +4 -0
- package/pages/frequently-asked-questions/sc-faq-question-anchor.d.ts +16 -0
- package/pages/frequently-asked-questions/sc-frequently-asked-questions.component.d.ts +84 -0
- package/pages/frequently-asked-questions/sc-get-faq-group-query-params.d.ts +10 -0
- package/pages/frequently-asked-questions/sc-page-size-options.d.ts +5 -0
- package/pages/frequently-asked-questions-group-selector/sc-frequently-asked-questions-group-selector.component.d.ts +47 -0
- package/pages/frequently-asked-questions-with-groups/sc-frequently-asked-questions-with-groups.component.d.ts +89 -0
- package/pages/index.d.ts +10 -0
- package/pages/news-list/sc-news-list.component.d.ts +57 -0
- package/pages/personal-data-processing-policy/sc-personal-data-processing-policy.component.d.ts +17 -0
- package/pages/privacy-policy/sc-privacy-policy.component.d.ts +17 -0
- package/pages/public-offer/sc-public-offer.component.d.ts +22 -0
- package/pagination/index.d.ts +1 -0
- package/pagination/sc-pagination-links/sc-pagination-links.component.d.ts +60 -0
- package/pipes/index.d.ts +2 -0
- package/pipes/sc-format-date.d.ts +20 -0
- package/pipes/sc-phone-format.d.ts +21 -0
- package/profile/index.d.ts +2 -0
- package/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.d.ts +126 -0
- package/profile/sc-profile.module.d.ts +23 -0
- package/providers/cleanup-recaptcha-artifacts.d.ts +7 -0
- package/providers/date-value-transformer/index.d.ts +3 -0
- package/providers/date-value-transformer/sc-date-value-transformer-types.d.ts +9 -0
- package/providers/date-value-transformer/sc-date-value-transformer-with-end-time.d.ts +16 -0
- package/providers/date-value-transformer/sc-date-value-transformer-with-start-time.d.ts +22 -0
- package/providers/index.d.ts +17 -0
- package/providers/null-on-empty-value-transformer/index.d.ts +1 -0
- package/providers/null-on-empty-value-transformer/sc-null-on-empty-value-transformer.d.ts +21 -0
- package/providers/sc-allow-select-terminated.d.ts +5 -0
- package/providers/sc-banner-duration.d.ts +5 -0
- package/providers/sc-block-incomplete-address.d.ts +5 -0
- package/providers/sc-country-ids.d.ts +5 -0
- package/providers/sc-date-formatter.d.ts +6 -0
- package/providers/sc-date-value-transformer.d.ts +5 -0
- package/providers/sc-debounce-time-default.d.ts +5 -0
- package/providers/sc-dialog-service.providers.d.ts +45 -0
- package/providers/sc-help-notification-close.d.ts +6 -0
- package/providers/sc-help-notification-limit.d.ts +5 -0
- package/providers/sc-hidden-print-elements.token.d.ts +6 -0
- package/providers/sc-max-files-in-form-input.d.ts +5 -0
- package/providers/sc-notify-when-in-stock-required-fields.d.ts +5 -0
- package/providers/sc-page-size-options.d.ts +5 -0
- package/providers/sc-user-providers.d.ts +21 -0
- package/providers/sc-verification-code-timeout.d.ts +5 -0
- package/public-api.d.ts +35 -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/release_notes.tmp +2 -16
- package/samples/index.d.ts +4 -0
- package/samples/interfaces/index.d.ts +2 -0
- package/samples/interfaces/sc-i-preview-sample.d.ts +56 -0
- package/samples/interfaces/sc-preview-mosquito-config.d.ts +62 -0
- package/samples/preview-sample/sc-preview-sample.component.d.ts +30 -0
- package/samples/sc-preview-samples-mosquito/sc-preview-samples-mosquito.component.d.ts +50 -0
- package/samples/sc-sample.module.d.ts +19 -0
- package/services/index.d.ts +2 -0
- package/services/print.service.d.ts +31 -0
- package/services/sc-help-notification.service.d.ts +70 -0
- package/share/index.d.ts +5 -0
- package/share/sc-share-dialog-data.d.ts +13 -0
- package/share/sc-share.service.d.ts +19 -0
- package/share/share-button/sc-share-button.component.d.ts +78 -0
- package/share/share-dialog/sc-share-dialog.component.d.ts +87 -0
- package/share/share-messengers-links/sc-share-messengers-links.component.d.ts +49 -0
- package/styles/taiga/variables.less +17 -35
- package/styles/tailwind/tailwind.scss +14 -56
- package/user/index.d.ts +5 -0
- package/user/reset-user-password/sc-reset-user-password.component.d.ts +46 -0
- package/user/sc-user.module.d.ts +24 -0
- package/user/update-user-info-dialog/sc-update-user-info-dialog.component.d.ts +63 -0
- package/user/user-managers/sc-user-managers.component.d.ts +23 -0
- package/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.d.ts +53 -0
- package/validators/index.d.ts +6 -0
- package/validators/sc-at-least-one-required-validator.d.ts +10 -0
- package/validators/sc-bic-validator.d.ts +8 -0
- package/validators/sc-correspondent-account-validator.d.ts +8 -0
- package/validators/sc-password-confirm-matching-validator.d.ts +8 -0
- package/validators/sc-phone-validator.d.ts +5 -0
- package/validators/step-validator.d.ts +7 -0
- package/verification/index.d.ts +2 -0
- package/verification/sc-verification.module.d.ts +21 -0
- package/verification/verification-phone-check-form/sc-verification-phone-check-form.component.d.ts +145 -0
- package/types/snabcentr-client-ui.d.ts +0 -6787
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './sc-pagination-links/sc-pagination-links.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvcGFnaW5hdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFEQUFxRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zYy1wYWdpbmF0aW9uLWxpbmtzL3NjLXBhZ2luYXRpb24tbGlua3MuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { AsyncPipe } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';
|
|
3
|
+
import { RouterLink } from '@angular/router';
|
|
4
|
+
import { SC_PAGE_QUERY_PARAM } from '@snabcentr/client-core';
|
|
5
|
+
import { tuiClamp } from '@taiga-ui/cdk';
|
|
6
|
+
import { TUI_SPIN_ICONS, TuiButton } from '@taiga-ui/core';
|
|
7
|
+
import { TUI_PAGINATION_TEXTS } from '@taiga-ui/kit';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
/**
|
|
10
|
+
* Компонент пагинации, в котором страницы являются ссылками с номером страницы в query-параметрах.
|
|
11
|
+
*
|
|
12
|
+
* Ссылки позволяют переходить между страницами при отключенном JavaScript и корректно работают при SSR.
|
|
13
|
+
* Внешний вид повторяет tui-pagination из @taiga-ui/kit.
|
|
14
|
+
*
|
|
15
|
+
* TODO: [TAIGA:5]: Проверить, появилась ли в tui-pagination поддержка ссылок, и заменить компонент на неё.
|
|
16
|
+
*/
|
|
17
|
+
export class ScPaginationLinksComponent {
|
|
18
|
+
constructor() {
|
|
19
|
+
/**
|
|
20
|
+
* Иконки стрелок переключения страниц.
|
|
21
|
+
*/
|
|
22
|
+
this.icons = inject(TUI_SPIN_ICONS);
|
|
23
|
+
/**
|
|
24
|
+
* {@link Observable} подписей стрелок переключения страниц.
|
|
25
|
+
*/
|
|
26
|
+
this.texts$ = inject(TUI_PAGINATION_TEXTS);
|
|
27
|
+
/**
|
|
28
|
+
* {@link InputSignal} общего количества страниц.
|
|
29
|
+
*/
|
|
30
|
+
this.length = input.required();
|
|
31
|
+
/**
|
|
32
|
+
* {@link InputSignal} номера текущей страницы, начиная с единицы.
|
|
33
|
+
*/
|
|
34
|
+
this.index = input.required();
|
|
35
|
+
/**
|
|
36
|
+
* {@link InputSignal} наименования query-параметра, в котором хранится номер страницы.
|
|
37
|
+
*/
|
|
38
|
+
this.queryParam = input(SC_PAGE_QUERY_PARAM);
|
|
39
|
+
/**
|
|
40
|
+
* {@link InputSignal} количества страниц, отображаемых по обе стороны от текущей.
|
|
41
|
+
*/
|
|
42
|
+
this.activePadding = input(1);
|
|
43
|
+
/**
|
|
44
|
+
* {@link InputSignal} количества страниц, отображаемых по краям.
|
|
45
|
+
*/
|
|
46
|
+
this.sidePadding = input(1);
|
|
47
|
+
/**
|
|
48
|
+
* {@link Signal} номеров отображаемых страниц, где `null` - разделитель пропущенных страниц.
|
|
49
|
+
*
|
|
50
|
+
* Состав страниц рассчитывается так же, как в tui-pagination: количество отображаемых элементов постоянно,
|
|
51
|
+
* а окно вокруг текущей страницы расширяется у краёв списка.
|
|
52
|
+
*/
|
|
53
|
+
this.pages = computed(() => {
|
|
54
|
+
const length = this.length();
|
|
55
|
+
const sidePadding = this.sidePadding();
|
|
56
|
+
// Половина элементов: страницы у края, разделитель и страницы вокруг текущей.
|
|
57
|
+
const maxHalfLength = sidePadding + 1 + this.activePadding();
|
|
58
|
+
const maxElementsLength = maxHalfLength * 2 + 1;
|
|
59
|
+
const elementsLength = Math.min(length, maxElementsLength);
|
|
60
|
+
const lastIndex = length - 1;
|
|
61
|
+
const index = this.index() - 1;
|
|
62
|
+
const reverseIndex = lastIndex - index;
|
|
63
|
+
const hasCollapsedItems = (value) => length > maxElementsLength && value > maxHalfLength;
|
|
64
|
+
return Array.from({ length: elementsLength }, (_, elementIndex) => {
|
|
65
|
+
const reverseElementIndex = elementsLength - 1 - elementIndex;
|
|
66
|
+
if (elementIndex < sidePadding) {
|
|
67
|
+
return elementIndex + 1;
|
|
68
|
+
}
|
|
69
|
+
if (elementIndex === sidePadding && hasCollapsedItems(index)) {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
if (reverseElementIndex < sidePadding) {
|
|
73
|
+
return lastIndex - reverseElementIndex + 1;
|
|
74
|
+
}
|
|
75
|
+
if (reverseElementIndex === sidePadding && hasCollapsedItems(reverseIndex)) {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
return tuiClamp(index - maxHalfLength + elementIndex, elementIndex, lastIndex - reverseElementIndex) + 1;
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Возвращает query-параметры ссылки на страницу.
|
|
84
|
+
*
|
|
85
|
+
* Для первой страницы параметр удаляется, чтобы её адрес совпадал с адресом страницы без пагинации.
|
|
86
|
+
*
|
|
87
|
+
* @param page Номер страницы.
|
|
88
|
+
*/
|
|
89
|
+
getPageQueryParams(page) {
|
|
90
|
+
return { [this.queryParam()]: page > 1 ? page : null };
|
|
91
|
+
}
|
|
92
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPaginationLinksComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
93
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ScPaginationLinksComponent, isStandalone: true, selector: "sc-pagination-links", inputs: { length: { classPropertyName: "length", publicName: "length", isSignal: true, isRequired: true, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: true, transformFunction: null }, queryParam: { classPropertyName: "queryParam", publicName: "queryParam", isSignal: true, isRequired: false, transformFunction: null }, activePadding: { classPropertyName: "activePadding", publicName: "activePadding", isSignal: true, isRequired: false, transformFunction: null }, sidePadding: { classPropertyName: "sidePadding", publicName: "sidePadding", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@let texts = texts$ | async;\n\n@if (texts) {\n <div class=\"t-content\">\n @if (index() > 1) {\n <a\n tuiIconButton\n size=\"s\"\n appearance=\"flat\"\n tabIndex=\"-1\"\n class=\"t-button\"\n [iconStart]=\"icons.decrement\"\n [routerLink]=\"[]\"\n [queryParams]=\"getPageQueryParams(index() - 1)\"\n queryParamsHandling=\"merge\"\n >\n {{ texts[0] }}\n </a>\n } @else {\n <button\n tuiIconButton\n size=\"s\"\n appearance=\"flat\"\n type=\"button\"\n tabIndex=\"-1\"\n class=\"t-button\"\n [iconStart]=\"icons.decrement\"\n [disabled]=\"true\"\n >\n {{ texts[0] }}\n </button>\n }\n\n @for (page of pages(); track $index) {\n @if (page) {\n <a\n automation-id=\"sc-pagination-links__element\"\n tuiButton\n size=\"s\"\n class=\"t-button\"\n [appearance]=\"page === index() ? 'primary' : 'flat'\"\n [attr.aria-current]=\"page === index() ? 'page' : null\"\n [routerLink]=\"[]\"\n [queryParams]=\"getPageQueryParams(page)\"\n queryParamsHandling=\"merge\"\n >\n {{ page }}\n </a>\n } @else {\n <div class=\"t-dots\"></div>\n }\n }\n\n @if (index() < length()) {\n <a\n tuiIconButton\n size=\"s\"\n appearance=\"flat\"\n tabIndex=\"-1\"\n class=\"t-button\"\n [iconStart]=\"icons.increment\"\n [routerLink]=\"[]\"\n [queryParams]=\"getPageQueryParams(index() + 1)\"\n queryParamsHandling=\"merge\"\n >\n {{ texts[1] }}\n </a>\n } @else {\n <button\n tuiIconButton\n size=\"s\"\n appearance=\"flat\"\n type=\"button\"\n tabIndex=\"-1\"\n class=\"t-button\"\n [iconStart]=\"icons.increment\"\n [disabled]=\"true\"\n >\n {{ texts[1] }}\n </button>\n }\n </div>\n}\n", styles: ["@charset \"UTF-8\";:host{display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);text-align:center}.t-content{display:flex;justify-content:center}.t-button{flex-shrink:0;margin:0 .125rem}.t-button[tuiButton]{min-inline-size:var(--tui-height-s);padding:0 .5rem}.t-button:first-child{margin-inline-start:0}.t-button:last-child{margin-inline-end:0}.t-dots{flex-shrink:0;inline-size:var(--tui-height-s);block-size:var(--tui-height-s);line-height:var(--tui-height-s);margin:0 .125rem;color:var(--tui-text-action);text-align:center;cursor:default}.t-dots:before{content:\"\\2026\"}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
94
|
+
}
|
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPaginationLinksComponent, decorators: [{
|
|
96
|
+
type: Component,
|
|
97
|
+
args: [{ standalone: true, selector: 'sc-pagination-links', imports: [AsyncPipe, RouterLink, TuiButton], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let texts = texts$ | async;\n\n@if (texts) {\n <div class=\"t-content\">\n @if (index() > 1) {\n <a\n tuiIconButton\n size=\"s\"\n appearance=\"flat\"\n tabIndex=\"-1\"\n class=\"t-button\"\n [iconStart]=\"icons.decrement\"\n [routerLink]=\"[]\"\n [queryParams]=\"getPageQueryParams(index() - 1)\"\n queryParamsHandling=\"merge\"\n >\n {{ texts[0] }}\n </a>\n } @else {\n <button\n tuiIconButton\n size=\"s\"\n appearance=\"flat\"\n type=\"button\"\n tabIndex=\"-1\"\n class=\"t-button\"\n [iconStart]=\"icons.decrement\"\n [disabled]=\"true\"\n >\n {{ texts[0] }}\n </button>\n }\n\n @for (page of pages(); track $index) {\n @if (page) {\n <a\n automation-id=\"sc-pagination-links__element\"\n tuiButton\n size=\"s\"\n class=\"t-button\"\n [appearance]=\"page === index() ? 'primary' : 'flat'\"\n [attr.aria-current]=\"page === index() ? 'page' : null\"\n [routerLink]=\"[]\"\n [queryParams]=\"getPageQueryParams(page)\"\n queryParamsHandling=\"merge\"\n >\n {{ page }}\n </a>\n } @else {\n <div class=\"t-dots\"></div>\n }\n }\n\n @if (index() < length()) {\n <a\n tuiIconButton\n size=\"s\"\n appearance=\"flat\"\n tabIndex=\"-1\"\n class=\"t-button\"\n [iconStart]=\"icons.increment\"\n [routerLink]=\"[]\"\n [queryParams]=\"getPageQueryParams(index() + 1)\"\n queryParamsHandling=\"merge\"\n >\n {{ texts[1] }}\n </a>\n } @else {\n <button\n tuiIconButton\n size=\"s\"\n appearance=\"flat\"\n type=\"button\"\n tabIndex=\"-1\"\n class=\"t-button\"\n [iconStart]=\"icons.increment\"\n [disabled]=\"true\"\n >\n {{ texts[1] }}\n </button>\n }\n </div>\n}\n", styles: ["@charset \"UTF-8\";:host{display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);text-align:center}.t-content{display:flex;justify-content:center}.t-button{flex-shrink:0;margin:0 .125rem}.t-button[tuiButton]{min-inline-size:var(--tui-height-s);padding:0 .5rem}.t-button:first-child{margin-inline-start:0}.t-button:last-child{margin-inline-end:0}.t-dots{flex-shrink:0;inline-size:var(--tui-height-s);block-size:var(--tui-height-s);line-height:var(--tui-height-s);margin:0 .125rem;color:var(--tui-text-action);text-align:center;cursor:default}.t-dots:before{content:\"\\2026\"}\n"] }]
|
|
98
|
+
}] });
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcGFnaW5hdGlvbi1saW5rcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvcGFnaW5hdGlvbi9zYy1wYWdpbmF0aW9uLWxpbmtzL3NjLXBhZ2luYXRpb24tbGlua3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3BhZ2luYXRpb24vc2MtcGFnaW5hdGlvbi1saW5rcy9zYy1wYWdpbmF0aW9uLWxpbmtzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQVUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR3JEOzs7Ozs7O0dBT0c7QUFTSCxNQUFNLE9BQU8sMEJBQTBCO0lBUnZDO1FBU0k7O1dBRUc7UUFDZ0IsVUFBSyxHQUFpQixNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFaEU7O1dBRUc7UUFDZ0IsV0FBTSxHQUFrRSxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUV4SDs7V0FFRztRQUNhLFdBQU0sR0FBd0IsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBRXZFOztXQUVHO1FBQ2EsVUFBSyxHQUF3QixLQUFL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dCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5qZWN0LCBpbnB1dCwgSW5wdXRTaWduYWwsIFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGFyYW1zLCBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNDX1BBR0VfUVVFUllfUEFSQU0gfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IHR1aUNsYW1wIH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQgeyBUVUlfU1BJTl9JQ09OUywgVHVpQnV0dG9uLCBUdWlTcGluSWNvbnMgfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgeyBUVUlfUEFHSU5BVElPTl9URVhUUyB9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDQv9Cw0LPQuNC90LDRhtC40LgsINCyINC60L7RgtC+0YDQvtC8INGB0YLRgNCw0L3QuNGG0Ysg0Y/QstC70Y/RjtGC0YHRjyDRgdGB0YvQu9C60LDQvNC4INGBINC90L7QvNC10YDQvtC8INGB0YLRgNCw0L3QuNGG0Ysg0LIgcXVlcnkt0L/QsNGA0LDQvNC10YLRgNCw0YUuXG4gKlxuICog0KHRgdGL0LvQutC4INC/0L7Qt9Cy0L7Qu9GP0Y7RgiDQv9C10YDQtdGF0L7QtNC40YLRjCDQvNC10LbQtNGDINGB0YLRgNCw0L3QuNGG0LDQvNC4INC/0YDQuCDQvtGC0LrQu9GO0YfQtdC90L3QvtC8IEphdmFTY3JpcHQg0Lgg0LrQvtGA0YDQtdC60YLQvdC+INGA0LDQsdC+0YLQsNGO0YIg0L/RgNC4IFNTUi5cbiAqINCS0L3QtdGI0L3QuNC5INCy0LjQtCDQv9C+0LLRgtC+0YDRj9C10YIgdHVpLXBhZ2luYXRpb24g0LjQtyBAdGFpZ2EtdWkva2l0LlxuICpcbiAqIFRPRE86IFtUQUlHQTo1XTog0J/RgNC+0LLQtdGA0LjRgtGMLCDQv9C+0Y/QstC40LvQsNGB0Ywg0LvQuCDQsiB0dWktcGFnaW5hdGlvbiDQv9C+0LTQtNC10YDQttC60LAg0YHRgdGL0LvQvtC6LCDQuCDQt9Cw0LzQtdC90LjRgtGMINC60L7QvNC/0L7QvdC10L3RgiDQvdCwINC90LXRkS5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3NjLXBhZ2luYXRpb24tbGlua3MnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1wYWdpbmF0aW9uLWxpbmtzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vc2MtcGFnaW5hdGlvbi1saW5rcy5jb21wb25lbnQuc2NzcycsXG4gICAgaW1wb3J0czogW0FzeW5jUGlwZSwgUm91dGVyTGluaywgVHVpQnV0dG9uXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NQYWdpbmF0aW9uTGlua3NDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqINCY0LrQvtC90LrQuCDRgdGC0YDQtdC70L7QuiDQv9C10YDQtdC60LvRjtGH0LXQvdC40Y8g0YHRgtGA0LDQvdC40YYuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb25zOiBUdWlTcGluSWNvbnMgPSBpbmplY3QoVFVJX1NQSU5fSUNPTlMpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC/0L7QtNC/0LjRgdC10Lkg0YHRgtGA0LXQu9C+0Log0L/QtdGA0LXQutC70Y7Rh9C10L3QuNGPINGB0YLRgNCw0L3QuNGGLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSB0ZXh0cyQ6IE9ic2VydmFibGU8cmVhZG9ubHkgW3ByZXZpb3VzUGFnZTogc3RyaW5nLCBuZXh0UGFnZTogc3RyaW5nXT4gPSBpbmplY3QoVFVJX1BBR0lOQVRJT05fVEVYVFMpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIElucHV0U2lnbmFsfSDQvtCx0YnQtdCz0L4g0LrQvtC70LjRh9C10YHRgtCy0LAg0YHRgtGA0LDQvdC40YYuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGxlbmd0aDogSW5wdXRTaWduYWw8bnVtYmVyPiA9IGlucHV0LnJlcXVpcmVkPG51bWJlcj4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBJbnB1dFNpZ25hbH0g0L3QvtC80LXRgNCwINGC0LXQutGD0YnQtdC5INGB0YLRgNCw0L3QuNGG0YssINC90LDRh9C40L3QsNGPINGBINC10LTQuNC90LjRhtGLLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBpbmRleDogSW5wdXRTaWduYWw8bnVtYmVyPiA9IGlucHV0LnJlcXVpcmVkPG51bWJlcj4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBJbnB1dFNpZ25hbH0g0L3QsNC40LzQtdC90L7QstCw0L3QuNGPIHF1ZXJ5LdC/0LDRgNCw0LzQtdGC0YDQsCwg0LIg0LrQvtGC0L7RgNC+0Lwg0YXRgNCw0L3QuNGC0YHRjyDQvdC+0LzQtdGAINGB0YLRgNCw0L3QuNGG0YsuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHF1ZXJ5UGFyYW06IElucHV0U2lnbmFsPHN0cmluZz4gPSBpbnB1dDxzdHJpbmc+KFNDX1BBR0VfUVVFUllfUEFSQU0pO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIElucHV0U2lnbmFsfSDQutC+0LvQuNGH0LXRgdGC0LLQsCDRgdGC0YDQsNC90LjRhiwg0L7RgtC+0LHRgNCw0LbQsNC10LzRi9GFINC/0L4g0L7QsdC1INGB0YLQvtGA0L7QvdGLINC+0YIg0YLQtdC60YPRidC10LkuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGFjdGl2ZVBhZGRpbmc6IElucHV0U2lnbmFsPG51bWJlcj4gPSBpbnB1dDxudW1iZXI+KDEpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIElucHV0U2lnbmFsfSDQutC+0LvQuNGH0LXRgdGC0LLQsCDRgdGC0YDQsNC90LjRhiwg0L7RgtC+0LHRgNCw0LbQsNC10LzRi9GFINC/0L4g0LrRgNCw0Y/QvC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgc2lkZVBhZGRpbmc6IElucHV0U2lnbmFsPG51bWJlcj4gPSBpbnB1dDxudW1iZXI+KDEpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIFNpZ25hbH0g0L3QvtC80LXRgNC+0LIg0L7RgtC+0LHRgNCw0LbQsNC10LzRi9GFINGB0YLRgNCw0L3QuNGGLCDQs9C00LUgYG51bGxgIC0g0YDQsNC30LTQtdC70LjRgtC10LvRjCDQv9GA0L7Qv9GD0YnQtdC90L3Ri9GFINGB0YLRgNCw0L3QuNGGLlxuICAgICAqXG4gICAgICog0KHQvtGB0YLQsNCyINGB0YLRgNCw0L3QuNGGINGA0LDRgdGB0YfQuNGC0YvQstCw0LXRgtGB0Y8g0YLQsNC6INC20LUsINC60LDQuiDQsiB0dWktcGFnaW5hdGlvbjog0LrQvtC70LjRh9C10YHRgtCy0L4g0L7RgtC+0LHRgNCw0LbQsNC10LzRi9GFINGN0LvQtdC80LXQvdGC0L7QsiDQv9C+0YHRgtC+0Y/QvdC90L4sXG4gICAgICog0LAg0L7QutC90L4g0LLQvtC60YDRg9CzINGC0LXQutGD0YnQtdC5INGB0YLRgNCw0L3QuNGG0Ysg0YDQsNGB0YjQuNGA0Y/QtdGC0YHRjyDRgyDQutGA0LDRkdCyINGB0L/QuNGB0LrQsC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGFnZXM6IFNpZ25hbDxBcnJheTxudW1iZXIgfCBudWxsPj4gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMubGVuZ3RoKCk7XG4gICAgICAgIGNvbnN0IHNpZGVQYWRkaW5nID0gdGhpcy5zaWRlUGFkZGluZygpO1xuICAgICAgICAvLyDQn9C+0LvQvtCy0LjQvdCwINGN0LvQtdC80LXQvdGC0L7Qsjog0YHRgtGA0LDQvdC40YbRiyDRgyDQutGA0LDRjywg0YDQsNC30LTQtdC70LjRgtC10LvRjCDQuCDRgdGC0YDQsNC90LjRhtGLINCy0L7QutGA0YPQsyDRgtC10LrRg9GJ0LXQuS5cbiAgICAgICAgY29uc3QgbWF4SGFsZkxlbmd0aCA9IHNpZGVQYWRkaW5nICsgMSArIHRoaXMuYWN0aXZlUGFkZGluZygpO1xuICAgICAgICBjb25zdCBtYXhFbGVtZW50c0xlbmd0aCA9IG1heEhhbGZMZW5ndGggKiAyICsgMTtcbiAgICAgICAgY29uc3QgZWxlbWVudHNMZW5ndGggPSBNYXRoLm1pbihsZW5ndGgsIG1heEVsZW1lbnRzTGVuZ3RoKTtcbiAgICAgICAgY29uc3QgbGFzdEluZGV4ID0gbGVuZ3RoIC0gMTtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmluZGV4KCkgLSAxO1xuICAgICAgICBjb25zdCByZXZlcnNlSW5kZXggPSBsYXN0SW5kZXggLSBpbmRleDtcbiAgICAgICAgY29uc3QgaGFzQ29sbGFwc2VkSXRlbXMgPSAodmFsdWU6IG51bWJlcik6IGJvb2xlYW4gPT4gbGVuZ3RoID4gbWF4RWxlbWVudHNMZW5ndGggJiYgdmFsdWUgPiBtYXhIYWxmTGVuZ3RoO1xuXG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiBlbGVtZW50c0xlbmd0aCB9LCAoXywgZWxlbWVudEluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZXZlcnNlRWxlbWVudEluZGV4ID0gZWxlbWVudHNMZW5ndGggLSAxIC0gZWxlbWVudEluZGV4O1xuXG4gICAgICAgICAgICBpZiAoZWxlbWVudEluZGV4IDwgc2lkZVBhZGRpbmcpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudEluZGV4ICsgMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGVsZW1lbnRJbmRleCA9PT0gc2lkZVBhZGRpbmcgJiYgaGFzQ29sbGFwc2VkSXRlbXMoaW5kZXgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZXZlcnNlRWxlbWVudEluZGV4IDwgc2lkZVBhZGRpbmcpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbGFzdEluZGV4IC0gcmV2ZXJzZUVsZW1lbnRJbmRleCArIDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZXZlcnNlRWxlbWVudEluZGV4ID09PSBzaWRlUGFkZGluZyAmJiBoYXNDb2xsYXBzZWRJdGVtcyhyZXZlcnNlSW5kZXgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0dWlDbGFtcChpbmRleCAtIG1heEhhbGZMZW5ndGggKyBlbGVtZW50SW5kZXgsIGVsZW1lbnRJbmRleCwgbGFzdEluZGV4IC0gcmV2ZXJzZUVsZW1lbnRJbmRleCkgKyAxO1xuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHF1ZXJ5LdC/0LDRgNCw0LzQtdGC0YDRiyDRgdGB0YvQu9C60Lgg0L3QsCDRgdGC0YDQsNC90LjRhtGDLlxuICAgICAqXG4gICAgICog0JTQu9GPINC/0LXRgNCy0L7QuSDRgdGC0YDQsNC90LjRhtGLINC/0LDRgNCw0LzQtdGC0YAg0YPQtNCw0LvRj9C10YLRgdGPLCDRh9GC0L7QsdGLINC10ZEg0LDQtNGA0LXRgSDRgdC+0LLQv9Cw0LTQsNC7INGBINCw0LTRgNC10YHQvtC8INGB0YLRgNCw0L3QuNGG0Ysg0LHQtdC3INC/0LDQs9C40L3QsNGG0LjQuC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYWdlINCd0L7QvNC10YAg0YHRgtGA0LDQvdC40YbRiy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZ2V0UGFnZVF1ZXJ5UGFyYW1zKHBhZ2U6IG51bWJlcik6IFBhcmFtcyB7XG4gICAgICAgIHJldHVybiB7IFt0aGlzLnF1ZXJ5UGFyYW0oKV06IHBhZ2UgPiAxID8gcGFnZSA6IG51bGwgfTtcbiAgICB9XG59XG4iLCJAbGV0IHRleHRzID0gdGV4dHMkIHwgYXN5bmM7XG5cbkBpZiAodGV4dHMpIHtcbiAgICA8ZGl2IGNsYXNzPVwidC1jb250ZW50XCI+XG4gICAgICAgIEBpZiAoaW5kZXgoKSA+IDEpIHtcbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgdGFiSW5kZXg9XCItMVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW2ljb25TdGFydF09XCJpY29ucy5kZWNyZW1lbnRcIlxuICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIltdXCJcbiAgICAgICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwiZ2V0UGFnZVF1ZXJ5UGFyYW1zKGluZGV4KCkgLSAxKVwiXG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZz1cIm1lcmdlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyB0ZXh0c1swXSB9fVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJmbGF0XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICB0YWJJbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbaWNvblN0YXJ0XT1cImljb25zLmRlY3JlbWVudFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInRydWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHRleHRzWzBdIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuXG4gICAgICAgIEBmb3IgKHBhZ2Ugb2YgcGFnZXMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICBAaWYgKHBhZ2UpIHtcbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwic2MtcGFnaW5hdGlvbi1saW5rc19fZWxlbWVudFwiXG4gICAgICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJwYWdlID09PSBpbmRleCgpID8gJ3ByaW1hcnknIDogJ2ZsYXQnXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cInBhZ2UgPT09IGluZGV4KCkgPyAncGFnZScgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiW11cIlxuICAgICAgICAgICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwiZ2V0UGFnZVF1ZXJ5UGFyYW1zKHBhZ2UpXCJcbiAgICAgICAgICAgICAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZz1cIm1lcmdlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IHBhZ2UgfX1cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidC1kb3RzXCI+PC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGluZGV4KCkgPCBsZW5ndGgoKSkge1xuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJmbGF0XCJcbiAgICAgICAgICAgICAgICB0YWJJbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbaWNvblN0YXJ0XT1cImljb25zLmluY3JlbWVudFwiXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiW11cIlxuICAgICAgICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJnZXRQYWdlUXVlcnlQYXJhbXMoaW5kZXgoKSArIDEpXCJcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nPVwibWVyZ2VcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHRleHRzWzFdIH19XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImZsYXRcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIHRhYkluZGV4PVwiLTFcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1idXR0b25cIlxuICAgICAgICAgICAgICAgIFtpY29uU3RhcnRdPVwiaWNvbnMuaW5jcmVtZW50XCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdGV4dHNbMV0gfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './sc-format-date';
|
|
2
|
+
export * from './sc-phone-format';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvcGlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zYy1mb3JtYXQtZGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NjLXBob25lLWZvcm1hdCc7XG4iXX0=
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { inject, Pipe } from '@angular/core';
|
|
2
|
+
import { SC_DATE_FORMATTER } from '../providers';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Пайп для форматирования даты и времени.
|
|
6
|
+
*/
|
|
7
|
+
export class ScFormatDatePipe {
|
|
8
|
+
constructor() {
|
|
9
|
+
/**
|
|
10
|
+
* Функция форматирования даты и времени.
|
|
11
|
+
*/
|
|
12
|
+
this.formatter = inject(SC_DATE_FORMATTER);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Форматирует строку даты через {@link SC_DATE_FORMATTER}.
|
|
16
|
+
*
|
|
17
|
+
* @param timeString - Строка времени.
|
|
18
|
+
* @returns Форматированная дата и время.
|
|
19
|
+
*/
|
|
20
|
+
transform(timeString) {
|
|
21
|
+
return timeString && this.formatter(timeString);
|
|
22
|
+
}
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScFormatDatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
24
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ScFormatDatePipe, isStandalone: true, name: "scFormatDate" }); }
|
|
25
|
+
}
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScFormatDatePipe, decorators: [{
|
|
27
|
+
type: Pipe,
|
|
28
|
+
args: [{
|
|
29
|
+
standalone: true,
|
|
30
|
+
name: 'scFormatDate',
|
|
31
|
+
}]
|
|
32
|
+
}] });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZm9ybWF0LWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvcGlwZXMvc2MtZm9ybWF0LWRhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUVqRDs7R0FFRztBQUtILE1BQU0sT0FBTyxnQkFBZ0I7SUFKN0I7UUFLSTs7V0FFRztRQUNjLGNBQVMsR0FBNkIsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0FXcEY7SUFURzs7Ozs7T0FLRztJQUNJLFNBQVMsQ0FBQyxVQUFtQjtRQUNoQyxPQUFPLFVBQVUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7K0dBZFEsZ0JBQWdCOzZHQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBSjVCLElBQUk7bUJBQUM7b0JBQ0YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSxjQUFjO2lCQUN2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0LCBQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNDX0RBVEVfRk9STUFUVEVSIH0gZnJvbSAnLi4vcHJvdmlkZXJzJztcblxuLyoqXG4gKiDQn9Cw0LnQvyDQtNC70Y8g0YTQvtGA0LzQsNGC0LjRgNC+0LLQsNC90LjRjyDQtNCw0YLRiyDQuCDQstGA0LXQvNC10L3QuC5cbiAqL1xuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3NjRm9ybWF0RGF0ZScsXG59KVxuZXhwb3J0IGNsYXNzIFNjRm9ybWF0RGF0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICAvKipcbiAgICAgKiDQpNGD0L3QutGG0LjRjyDRhNC+0YDQvNCw0YLQuNGA0L7QstCw0L3QuNGPINC00LDRgtGLINC4INCy0YDQtdC80LXQvdC4LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybWF0dGVyOiAoZGF0ZTogc3RyaW5nKSA9PiBzdHJpbmcgPSBpbmplY3QoU0NfREFURV9GT1JNQVRURVIpO1xuXG4gICAgLyoqXG4gICAgICog0KTQvtGA0LzQsNGC0LjRgNGD0LXRgiDRgdGC0YDQvtC60YMg0LTQsNGC0Ysg0YfQtdGA0LXQtyB7QGxpbmsgU0NfREFURV9GT1JNQVRURVJ9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHRpbWVTdHJpbmcgLSDQodGC0YDQvtC60LAg0LLRgNC10LzQtdC90LguXG4gICAgICogQHJldHVybnMg0KTQvtGA0LzQsNGC0LjRgNC+0LLQsNC90L3QsNGPINC00LDRgtCwINC4INCy0YDQtdC80Y8uXG4gICAgICovXG4gICAgcHVibGljIHRyYW5zZm9ybSh0aW1lU3RyaW5nPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRpbWVTdHJpbmcgJiYgdGhpcy5mb3JtYXR0ZXIodGltZVN0cmluZyk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/* eslint-disable class-methods-use-this */
|
|
2
|
+
import { Pipe } from '@angular/core';
|
|
3
|
+
import { ScPhoneService } from '@snabcentr/client-core';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* Пайп для форматирования номера телефона.
|
|
7
|
+
*
|
|
8
|
+
* Если переданный номер телефона валиден, он будет отформатирован с использованием метода `formatPhoneNumber` сервиса `ScPhoneService`.
|
|
9
|
+
* Если номер невалиден, возвращается исходное значение.
|
|
10
|
+
*/
|
|
11
|
+
export class ScPhoneFormatPipe {
|
|
12
|
+
/**
|
|
13
|
+
* Преобразует строковое значение номера телефона.
|
|
14
|
+
*
|
|
15
|
+
* @param value Строка, содержащая номер телефона.
|
|
16
|
+
* @param format Формат возвращаемого значения. `normal` - удобочитаемое представление номера телефона, `clean` - очищенное от лишних символов представление номера телефона, `cleanWithPlus` - очищенное от лишних символов представление номера телефона с `+` в начале.
|
|
17
|
+
*
|
|
18
|
+
* @returns Отформатированный номер телефона, если он валиден, или исходное значение, если он невалиден.
|
|
19
|
+
*/
|
|
20
|
+
transform(value, format = 'normal') {
|
|
21
|
+
if (ScPhoneService.isValidPhoneNumber(value)) {
|
|
22
|
+
// eslint-disable-next-line default-case
|
|
23
|
+
switch (format) {
|
|
24
|
+
case 'normal':
|
|
25
|
+
return ScPhoneService.formatPhoneNumber(value);
|
|
26
|
+
case 'clean':
|
|
27
|
+
return ScPhoneService.cleanPhoneNumber(value);
|
|
28
|
+
case 'cleanWithPlus':
|
|
29
|
+
return `+${ScPhoneService.cleanPhoneNumber(value)}`;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return value; // Возвращаем оригинальный номер, если он невалиден.
|
|
33
|
+
}
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPhoneFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
35
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ScPhoneFormatPipe, isStandalone: true, name: "scPhoneFormat" }); }
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPhoneFormatPipe, decorators: [{
|
|
38
|
+
type: Pipe,
|
|
39
|
+
args: [{
|
|
40
|
+
standalone: true,
|
|
41
|
+
name: 'scPhoneFormat',
|
|
42
|
+
}]
|
|
43
|
+
}] });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcGhvbmUtZm9ybWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3BpcGVzL3NjLXBob25lLWZvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFFM0MsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUV4RDs7Ozs7R0FLRztBQUtILE1BQU0sT0FBTyxpQkFBaUI7SUFDMUI7Ozs7Ozs7T0FPRztJQUNJLFNBQVMsQ0FBQyxLQUFhLEVBQUUsU0FBK0MsUUFBUTtRQUNuRixJQUFJLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzNDLHdDQUF3QztZQUN4QyxRQUFRLE1BQU0sRUFBRSxDQUFDO2dCQUNiLEtBQUssUUFBUTtvQkFDVCxPQUFPLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbkQsS0FBSyxPQUFPO29CQUNSLE9BQU8sY0FBYyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNsRCxLQUFLLGVBQWU7b0JBQ2hCLE9BQU8sSUFBSSxjQUFjLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM1RCxDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDLENBQUMsb0RBQW9EO0lBQ3RFLENBQUM7K0dBdkJRLGlCQUFpQjs2R0FBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUo3QixJQUFJO21CQUFDO29CQUNGLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsZUFBZTtpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBjbGFzcy1tZXRob2RzLXVzZS10aGlzICovXG5cbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNjUGhvbmVTZXJ2aWNlIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5cbi8qKlxuICog0J/QsNC50L8g0LTQu9GPINGE0L7RgNC80LDRgtC40YDQvtCy0LDQvdC40Y8g0L3QvtC80LXRgNCwINGC0LXQu9C10YTQvtC90LAuXG4gKlxuICog0JXRgdC70Lgg0L/QtdGA0LXQtNCw0L3QvdGL0Lkg0L3QvtC80LXRgCDRgtC10LvQtdGE0L7QvdCwINCy0LDQu9C40LTQtdC9LCDQvtC9INCx0YPQtNC10YIg0L7RgtGE0L7RgNC80LDRgtC40YDQvtCy0LDQvSDRgSDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtdC8INC80LXRgtC+0LTQsCBgZm9ybWF0UGhvbmVOdW1iZXJgINGB0LXRgNCy0LjRgdCwIGBTY1Bob25lU2VydmljZWAuXG4gKiDQldGB0LvQuCDQvdC+0LzQtdGAINC90LXQstCw0LvQuNC00LXQvSwg0LLQvtC30LLRgNCw0YnQsNC10YLRgdGPINC40YHRhdC+0LTQvdC+0LUg0LfQvdCw0YfQtdC90LjQtS5cbiAqL1xuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3NjUGhvbmVGb3JtYXQnLFxufSlcbmV4cG9ydCBjbGFzcyBTY1Bob25lRm9ybWF0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIC8qKlxuICAgICAqINCf0YDQtdC+0LHRgNCw0LfRg9C10YIg0YHRgtGA0L7QutC+0LLQvtC1INC30L3QsNGH0LXQvdC40LUg0L3QvtC80LXRgNCwINGC0LXQu9C10YTQvtC90LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmFsdWUg0KHRgtGA0L7QutCwLCDRgdC+0LTQtdGA0LbQsNGJ0LDRjyDQvdC+0LzQtdGAINGC0LXQu9C10YTQvtC90LAuXG4gICAgICogQHBhcmFtIGZvcm1hdCDQpNC+0YDQvNCw0YIg0LLQvtC30LLRgNCw0YnQsNC10LzQvtCz0L4g0LfQvdCw0YfQtdC90LjRjy4gYG5vcm1hbGAgLSDRg9C00L7QsdC+0YfQuNGC0LDQtdC80L7QtSDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjQtSDQvdC+0LzQtdGA0LAg0YLQtdC70LXRhNC+0L3QsCwgYGNsZWFuYCAtINC+0YfQuNGJ0LXQvdC90L7QtSDQvtGCINC70LjRiNC90LjRhSDRgdC40LzQstC+0LvQvtCyINC/0YDQtdC00YHRgtCw0LLQu9C10L3QuNC1INC90L7QvNC10YDQsCDRgtC10LvQtdGE0L7QvdCwLCBgY2xlYW5XaXRoUGx1c2AgLSDQvtGH0LjRidC10L3QvdC+0LUg0L7RgiDQu9C40YjQvdC40YUg0YHQuNC80LLQvtC70L7QsiDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjQtSDQvdC+0LzQtdGA0LAg0YLQtdC70LXRhNC+0L3QsCDRgSBgK2Ag0LIg0L3QsNGH0LDQu9C1LlxuICAgICAqXG4gICAgICogQHJldHVybnMg0J7RgtGE0L7RgNC80LDRgtC40YDQvtCy0LDQvdC90YvQuSDQvdC+0LzQtdGAINGC0LXQu9C10YTQvtC90LAsINC10YHQu9C4INC+0L0g0LLQsNC70LjQtNC10L0sINC40LvQuCDQuNGB0YXQvtC00L3QvtC1INC30L3QsNGH0LXQvdC40LUsINC10YHQu9C4INC+0L0g0L3QtdCy0LDQu9C40LTQtdC9LlxuICAgICAqL1xuICAgIHB1YmxpYyB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgZm9ybWF0OiAnbm9ybWFsJyB8ICdjbGVhbicgfCAnY2xlYW5XaXRoUGx1cycgPSAnbm9ybWFsJyk6IHN0cmluZyB7XG4gICAgICAgIGlmIChTY1Bob25lU2VydmljZS5pc1ZhbGlkUGhvbmVOdW1iZXIodmFsdWUpKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVmYXVsdC1jYXNlXG4gICAgICAgICAgICBzd2l0Y2ggKGZvcm1hdCkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ25vcm1hbCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBTY1Bob25lU2VydmljZS5mb3JtYXRQaG9uZU51bWJlcih2YWx1ZSk7XG4gICAgICAgICAgICAgICAgY2FzZSAnY2xlYW4nOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gU2NQaG9uZVNlcnZpY2UuY2xlYW5QaG9uZU51bWJlcih2YWx1ZSk7XG4gICAgICAgICAgICAgICAgY2FzZSAnY2xlYW5XaXRoUGx1cyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgKyR7U2NQaG9uZVNlcnZpY2UuY2xlYW5QaG9uZU51bWJlcih2YWx1ZSl9YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZTsgLy8g0JLQvtC30LLRgNCw0YnQsNC10Lwg0L7RgNC40LPQuNC90LDQu9GM0L3Ri9C5INC90L7QvNC10YAsINC10YHQu9C4INC+0L0g0L3QtdCy0LDQu9C40LTQtdC9LlxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './sc-profile-accordions-content/sc-profile-accordions-content.component';
|
|
2
|
+
export * from './sc-profile.module';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvcHJvZmlsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlFQUF5RSxDQUFDO0FBQ3hGLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NjLXByb2ZpbGUtYWNjb3JkaW9ucy1jb250ZW50L3NjLXByb2ZpbGUtYWNjb3JkaW9ucy1jb250ZW50LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NjLXByb2ZpbGUubW9kdWxlJztcbiJdfQ==
|
package/esm2022/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, inject, Output } from '@angular/core';
|
|
2
|
+
import { FormControl } from '@angular/forms';
|
|
3
|
+
import { ScContactsService, ScUserService, ScVerificationService, } from '@snabcentr/client-core';
|
|
4
|
+
import { TUI_TRUE_HANDLER, tuiIsFalsy, tuiIsPresent } from '@taiga-ui/cdk';
|
|
5
|
+
import { tuiFadeIn } from '@taiga-ui/core';
|
|
6
|
+
import { filter, map, share, skip, startWith, Subject, switchMap, tap } from 'rxjs';
|
|
7
|
+
import { SC_USER_CITY_INFO, SC_USER_INFO } from '../../providers';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/common";
|
|
10
|
+
import * as i2 from "../../user/reset-user-password/sc-reset-user-password.component";
|
|
11
|
+
import * as i3 from "../../accordion/sc-accordion.component";
|
|
12
|
+
import * as i4 from "../../accordion/sc-accordion-content.directive";
|
|
13
|
+
import * as i5 from "../../contragents/contragents-accordion/sc-contragents-accordion.component";
|
|
14
|
+
import * as i6 from "../../delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component";
|
|
15
|
+
import * as i7 from "@taiga-ui/core";
|
|
16
|
+
import * as i8 from "@angular/forms";
|
|
17
|
+
import * as i9 from "../../contacts/contacts-accordion/sc-contacts-accordion.component";
|
|
18
|
+
import * as i10 from "../../directives/terminal-link/sc-terminal-link.directive";
|
|
19
|
+
import * as i11 from "../../directives/links/sc-tel-link.directive";
|
|
20
|
+
import * as i12 from "../../directives/links/sc-email-link.directive";
|
|
21
|
+
import * as i13 from "@taiga-ui/kit";
|
|
22
|
+
import * as i14 from "../../pipes/sc-phone-format";
|
|
23
|
+
/**
|
|
24
|
+
* Компонент контента профиля пользователя в виде раскрывающихся смысловых блоков.
|
|
25
|
+
*/
|
|
26
|
+
export class ScProfileAccordionsContentComponent {
|
|
27
|
+
constructor() {
|
|
28
|
+
/**
|
|
29
|
+
* Сервис данных о пользователе.
|
|
30
|
+
*/
|
|
31
|
+
this.userService = inject(ScUserService);
|
|
32
|
+
/**
|
|
33
|
+
* Сервис для работы с контактными лицами..
|
|
34
|
+
*/
|
|
35
|
+
this.contactsService = inject(ScContactsService);
|
|
36
|
+
/**
|
|
37
|
+
* Сервис верификации.
|
|
38
|
+
*/
|
|
39
|
+
this.verificationService = inject(ScVerificationService);
|
|
40
|
+
/**
|
|
41
|
+
* Поток данных о текущем пользователе.
|
|
42
|
+
*/
|
|
43
|
+
this.user$ = inject(SC_USER_INFO);
|
|
44
|
+
/**
|
|
45
|
+
* Поток данных о текущем городе пользователя.
|
|
46
|
+
*/
|
|
47
|
+
this.userCity$ = inject(SC_USER_CITY_INFO);
|
|
48
|
+
/**
|
|
49
|
+
* {@link FormControl} переключателя 'Я хочу получать рассылку'.
|
|
50
|
+
*/
|
|
51
|
+
this.getNewsControl = new FormControl(false, { nonNullable: true });
|
|
52
|
+
/**
|
|
53
|
+
* {@link Observable} запроса изменения признака пользователя 'Я хочу получать рассылку'.
|
|
54
|
+
*/
|
|
55
|
+
this.getNewsRequest$ = this.getNewsControl.valueChanges.pipe(skip(1), switchMap((value) => this.userService.updateUserInfo$({ getNews: value }).pipe(switchMap(() => this.userService.updateUserChange$().pipe(tap((user) => {
|
|
56
|
+
this.getNewsControl.patchValue(user.getNews, { emitEvent: false });
|
|
57
|
+
}), startWith(null))), startWith(null))), share());
|
|
58
|
+
/**
|
|
59
|
+
* {@link Observable} изменения состояния загрузки данных изменения признака пользователя 'Я хочу получать рассылку'.
|
|
60
|
+
*/
|
|
61
|
+
this.getNewsLoading$ = this.getNewsRequest$.pipe(map(tuiIsFalsy));
|
|
62
|
+
/**
|
|
63
|
+
* {@link Subject} события отправки сообщения для подтверждения адреса электронной почты.
|
|
64
|
+
*/
|
|
65
|
+
this.onSendApproveEmail = new Subject();
|
|
66
|
+
/**
|
|
67
|
+
* {@link Observable} запроса данных аутентификации.
|
|
68
|
+
*/
|
|
69
|
+
this.sendApproveEmailRequest$ = this.onSendApproveEmail.pipe(switchMap((value) => this.verificationService.sendEmailApproveCode(value).pipe(map(TUI_TRUE_HANDLER), startWith(null))), startWith(false), share());
|
|
70
|
+
/**
|
|
71
|
+
* {@link Observable} изменения состояния загрузки данных отправки сообщения для подтверждения адреса электронной почты.
|
|
72
|
+
*/
|
|
73
|
+
this.approveEmailLoading$ = this.sendApproveEmailRequest$.pipe(map(tuiIsFalsy));
|
|
74
|
+
/**
|
|
75
|
+
* {@link Observable} изменения состояния признака, отправлено ли сообщение для подтверждения адреса электронной почты.
|
|
76
|
+
*/
|
|
77
|
+
this.isSendApproveEmail$ = this.sendApproveEmailRequest$.pipe(filter(tuiIsPresent));
|
|
78
|
+
/**
|
|
79
|
+
* {@link Observable} изменения списка контактных лиц пользователя.
|
|
80
|
+
*/
|
|
81
|
+
this.userContacts$ = this.contactsService.userContacts.item$;
|
|
82
|
+
/**
|
|
83
|
+
* Событие нажатия на кнопку редактирование профиля пользователя.
|
|
84
|
+
*/
|
|
85
|
+
this.editProfileClick = new EventEmitter();
|
|
86
|
+
/**
|
|
87
|
+
* Событие нажатия на кнопку подтверждения телефона.
|
|
88
|
+
*/
|
|
89
|
+
this.approvePhoneClick = new EventEmitter();
|
|
90
|
+
/**
|
|
91
|
+
* Событие нажатия на кнопку добавления контрагента.
|
|
92
|
+
*/
|
|
93
|
+
this.addContragentClick = new EventEmitter();
|
|
94
|
+
/**
|
|
95
|
+
* Событие нажатия на кнопку удаления контрагента.
|
|
96
|
+
*/
|
|
97
|
+
this.deleteContragentClick = new EventEmitter();
|
|
98
|
+
/**
|
|
99
|
+
* Событие нажатия на кнопку добавления банковского счёта контрагенту.
|
|
100
|
+
*/
|
|
101
|
+
this.addContragentBankAccountClick = new EventEmitter();
|
|
102
|
+
/**
|
|
103
|
+
* Событие нажатия на кнопку удаления банковского счёта контрагента.
|
|
104
|
+
*/
|
|
105
|
+
this.deleteContragentBankAccountClick = new EventEmitter();
|
|
106
|
+
/**
|
|
107
|
+
* Событие нажатия на кнопку добавления контактного лица контрагенту.
|
|
108
|
+
*/
|
|
109
|
+
this.addContragentContactClick = new EventEmitter();
|
|
110
|
+
/**
|
|
111
|
+
* Событие нажатия на кнопку удаления контактного лица у контрагента.
|
|
112
|
+
*/
|
|
113
|
+
this.deleteContragentContactClick = new EventEmitter();
|
|
114
|
+
/**
|
|
115
|
+
* Событие нажатия на кнопку добавления адреса доставки клиента.
|
|
116
|
+
*/
|
|
117
|
+
this.addDeliveryAddressClick = new EventEmitter();
|
|
118
|
+
/**
|
|
119
|
+
* Событие нажатия на кнопку удаления адреса доставки у клиента.
|
|
120
|
+
*/
|
|
121
|
+
this.deleteDeliveryAddressClick = new EventEmitter();
|
|
122
|
+
/**
|
|
123
|
+
* Событие нажатия на кнопку добавления контактного лица для адреса доставки.
|
|
124
|
+
*/
|
|
125
|
+
this.addDeliveryAddressContactClick = new EventEmitter();
|
|
126
|
+
/**
|
|
127
|
+
* Событие нажатия на кнопку удаления контактного лица у адреса доставки.
|
|
128
|
+
*/
|
|
129
|
+
this.deleteDeliveryAddressContactClick = new EventEmitter();
|
|
130
|
+
/**
|
|
131
|
+
* Событие нажатия на кнопку добавления контактного лица клиенту.
|
|
132
|
+
*/
|
|
133
|
+
this.addUserContactClick = new EventEmitter();
|
|
134
|
+
/**
|
|
135
|
+
* Событие нажатия на кнопку удаления контактного лица у клиента.
|
|
136
|
+
*/
|
|
137
|
+
this.deleteUserContactClick = new EventEmitter();
|
|
138
|
+
}
|
|
139
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScProfileAccordionsContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
140
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ScProfileAccordionsContentComponent, selector: "sc-profile-accordions-content", outputs: { editProfileClick: "editProfileClick", approvePhoneClick: "approvePhoneClick", addContragentClick: "addContragentClick", deleteContragentClick: "deleteContragentClick", addContragentBankAccountClick: "addContragentBankAccountClick", deleteContragentBankAccountClick: "deleteContragentBankAccountClick", addContragentContactClick: "addContragentContactClick", deleteContragentContactClick: "deleteContragentContactClick", addDeliveryAddressClick: "addDeliveryAddressClick", deleteDeliveryAddressClick: "deleteDeliveryAddressClick", addDeliveryAddressContactClick: "addDeliveryAddressContactClick", deleteDeliveryAddressContactClick: "deleteDeliveryAddressContactClick", addUserContactClick: "addUserContactClick", deleteUserContactClick: "deleteUserContactClick" }, ngImport: i0, template: "@let user = user$ | async;\n<div class=\"flex flex-col gap-4\">\n <sc-accordion\n [showArrow]=\"false\"\n [showAddButton]=\"false\"\n [open]=\"true\"\n >\n \u041E\u0431\u0449\u0438\u0435 \u0434\u0430\u043D\u043D\u044B\u0435\n <ng-template scAccordionContent>\n <tui-loader\n [overlay]=\"true\"\n [showLoader]=\"user === null\"\n >\n <div class=\"flex gap-2 pl-4\">\n <div\n *ngIf=\"user\"\n class=\"flex grow flex-col gap-2\"\n >\n <span class=\"font-medium\">{{ user.name }}</span>\n <div\n *ngIf=\"user.city && (userCity$ | async) as city\"\n class=\"flex items-center gap-1\"\n >\n <tui-icon icon=\"@tui.map-pin\"></tui-icon>\n <div class=\"flex flex-wrap\">\n <span>\u0433. {{ city.name }}, </span>\n <span *ngIf=\"city.region\">{{ city.region.name }}</span>\n </div>\n </div>\n <div class=\"flex flex-wrap gap-2\">\n <a\n tuiLink\n [scTelLink]=\"user.contacts.phone.value\"\n iconStart=\"@tui.phone\"\n [pseudo]=\"true\"\n linkLocation=\"profile\"\n href=\"tel:{{ user.contacts.phone.value | scPhoneFormat }}\"\n >\n {{ user.contacts.phone.value | scPhoneFormat }}\n </a>\n <span\n *ngIf=\"!user.contacts.phone.isApproved\"\n class=\"text-tui-text-03\"\n >\n (\u0422\u0435\u043B\u0435\u0444\u043E\u043D \u043D\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D.\n <button\n tuiLink\n [pseudo]=\"true\"\n (click)=\"approvePhoneClick.emit()\"\n >\n \u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C</button\n >)\n </span>\n </div>\n @let isSendApproveEmail = !!(isSendApproveEmail$ | async);\n <div class=\"flex flex-wrap gap-x-2\">\n <a\n tuiLink\n iconStart=\"@tui.mail\"\n [pseudo]=\"true\"\n scEmailLink\n linkLocation=\"profile\"\n href=\"mailto:{{ user.contacts.email.value }}\"\n >\n {{ user.contacts.email.value }}\n </a>\n <span\n *ngIf=\"!isSendApproveEmail && !user.contacts.email.isApproved\"\n class=\"inline-flex flex-wrap gap-1 text-tui-text-03\"\n >\n E-mail \u043D\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D.\n <tui-loader\n [showLoader]=\"!!(approveEmailLoading$ | async)\"\n [overlay]=\"true\"\n >\n <button\n tuiLink\n [pseudo]=\"true\"\n (click)=\"onSendApproveEmail.next(user.contacts.email.value)\"\n >\n \u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C\n </button>\n </tui-loader>\n </span>\n <span\n *ngIf=\"isSendApproveEmail\"\n class=\"text-tui-success-fill\"\n @tuiFadeIn\n >\n \u041F\u0438\u0441\u044C\u043C\u043E \u0434\u043B\u044F \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E. \u041F\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043F\u043E \u0441\u0441\u044B\u043B\u043A\u0435 \u0432 \u043F\u0438\u0441\u044C\u043C\u0435 \u0438 \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u0435 \u044D\u0442\u0443 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443.\n </span>\n </div>\n <tui-loader\n [showLoader]=\"!!(getNewsLoading$ | async)\"\n [overlay]=\"true\"\n >\n <label tuiLabel>\n <input\n tuiCheckbox\n type=\"checkbox\"\n size=\"s\"\n class=\"w-full\"\n [formControl]=\"getNewsControl\"\n [ngModel]=\"user.getNews\"\n />\n \u042F \u0445\u043E\u0447\u0443 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u0440\u0430\u0441\u0441\u044B\u043B\u043A\u0443 \u0421\u043D\u0430\u0431\u0446\u0435\u043D\u0442\u0440 \u043E \u0441\u043A\u0438\u0434\u043A\u0430\u0445 \u0438 \u043D\u043E\u0432\u043E\u0441\u0442\u044F\u0445 \u043F\u043E \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u0435.\n </label>\n </tui-loader>\n </div>\n\n <button\n tuiIconButton\n size=\"m\"\n type=\"button\"\n iconStart=\"@tui.pencil\"\n appearance=\"flat\"\n (click)=\"editProfileClick.emit()\"\n ></button>\n </div>\n </tui-loader>\n </ng-template>\n </sc-accordion>\n <sc-contragents-accordion\n (addContragentClick)=\"addContragentClick.emit()\"\n (deleteContragentClick)=\"deleteContragentClick.emit($event)\"\n (addContragentBankAccountClick)=\"addContragentBankAccountClick.emit($event)\"\n (deleteContragentBankAccountClick)=\"deleteContragentBankAccountClick.emit($event)\"\n (addContragentContactClick)=\"addContragentContactClick.emit($event)\"\n (deleteContragentContactClick)=\"deleteContragentContactClick.emit($event)\"\n ></sc-contragents-accordion>\n <sc-delivery-address-accordion\n (addDeliveryAddressClick)=\"addDeliveryAddressClick.emit()\"\n (deleteDeliveryAddressClick)=\"deleteDeliveryAddressClick.emit($event)\"\n (addDeliveryAddressContactClick)=\"addDeliveryAddressContactClick.emit($event)\"\n (deleteDeliveryAddressContactClick)=\"deleteDeliveryAddressContactClick.emit($event)\"\n ></sc-delivery-address-accordion>\n <sc-contacts-accordion\n *ngIf=\"user\"\n [contacts$]=\"userContacts$\"\n (addContactClick)=\"addUserContactClick.emit(user.id)\"\n (deleteButtonClick)=\"deleteUserContactClick.emit($event)\"\n ></sc-contacts-accordion>\n <sc-accordion\n #passwordAccordion\n [showArrow]=\"false\"\n [showAddButton]=\"false\"\n >\n \u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0430\u0440\u043E\u043B\u044C\n <ng-template scAccordionContent>\n <sc-reset-user-password (successResetPassword)=\"passwordAccordion.close()\"></sc-reset-user-password>\n </ng-template>\n </sc-accordion>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ScResetUserPasswordComponent, selector: "sc-reset-user-password", outputs: ["successResetPassword"] }, { kind: "component", type: i3.ScAccordionComponent, selector: "sc-accordion", inputs: ["showAddButton", "showDeleteButton", "showArrow", "open", "size", "disabledButtons"], outputs: ["addButtonClick", "deleteButtonClick"] }, { kind: "directive", type: i4.ScAccordionContentDirective, selector: "ng-template[scAccordionContent]" }, { kind: "component", type: i5.ScContragentsAccordionComponent, selector: "sc-contragents-accordion", outputs: ["addContragentClick", "deleteContragentClick", "addContragentBankAccountClick", "deleteContragentBankAccountClick", "addContragentContactClick", "deleteContragentContactClick"] }, { kind: "component", type: i6.ScDeliveryAddressAccordionComponent, selector: "sc-delivery-address-accordion", outputs: ["addDeliveryAddressClick", "deleteDeliveryAddressClick", "addDeliveryAddressContactClick", "deleteDeliveryAddressContactClick"] }, { kind: "component", type: i7.TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "directive", type: i7.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: i7.TuiLabel, selector: "label[tuiLabel]" }, { kind: "component", type: i7.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: i8.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i9.ScContactsAccordionComponent, selector: "sc-contacts-accordion", inputs: ["contacts$"], outputs: ["addContactClick", "deleteButtonClick"] }, { kind: "directive", type: i10.ScTerminalLinkDirective, selector: "a[href]" }, { kind: "directive", type: i11.ScTelLinkDirective, selector: "a[scTelLink]", inputs: ["scTelLink", "linkLocation"] }, { kind: "directive", type: i12.ScEmailLinkDirective, selector: "a[scEmailLink]", inputs: ["linkLocation"] }, { kind: "component", type: i13.TuiCheckbox, selector: "input[type=\"checkbox\"][tuiCheckbox]", inputs: ["size"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i14.ScPhoneFormatPipe, name: "scPhoneFormat" }], animations: [tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
141
|
+
}
|
|
142
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScProfileAccordionsContentComponent, decorators: [{
|
|
143
|
+
type: Component,
|
|
144
|
+
args: [{ selector: 'sc-profile-accordions-content', animations: [tuiFadeIn], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let user = user$ | async;\n<div class=\"flex flex-col gap-4\">\n <sc-accordion\n [showArrow]=\"false\"\n [showAddButton]=\"false\"\n [open]=\"true\"\n >\n \u041E\u0431\u0449\u0438\u0435 \u0434\u0430\u043D\u043D\u044B\u0435\n <ng-template scAccordionContent>\n <tui-loader\n [overlay]=\"true\"\n [showLoader]=\"user === null\"\n >\n <div class=\"flex gap-2 pl-4\">\n <div\n *ngIf=\"user\"\n class=\"flex grow flex-col gap-2\"\n >\n <span class=\"font-medium\">{{ user.name }}</span>\n <div\n *ngIf=\"user.city && (userCity$ | async) as city\"\n class=\"flex items-center gap-1\"\n >\n <tui-icon icon=\"@tui.map-pin\"></tui-icon>\n <div class=\"flex flex-wrap\">\n <span>\u0433. {{ city.name }}, </span>\n <span *ngIf=\"city.region\">{{ city.region.name }}</span>\n </div>\n </div>\n <div class=\"flex flex-wrap gap-2\">\n <a\n tuiLink\n [scTelLink]=\"user.contacts.phone.value\"\n iconStart=\"@tui.phone\"\n [pseudo]=\"true\"\n linkLocation=\"profile\"\n href=\"tel:{{ user.contacts.phone.value | scPhoneFormat }}\"\n >\n {{ user.contacts.phone.value | scPhoneFormat }}\n </a>\n <span\n *ngIf=\"!user.contacts.phone.isApproved\"\n class=\"text-tui-text-03\"\n >\n (\u0422\u0435\u043B\u0435\u0444\u043E\u043D \u043D\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D.\n <button\n tuiLink\n [pseudo]=\"true\"\n (click)=\"approvePhoneClick.emit()\"\n >\n \u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C</button\n >)\n </span>\n </div>\n @let isSendApproveEmail = !!(isSendApproveEmail$ | async);\n <div class=\"flex flex-wrap gap-x-2\">\n <a\n tuiLink\n iconStart=\"@tui.mail\"\n [pseudo]=\"true\"\n scEmailLink\n linkLocation=\"profile\"\n href=\"mailto:{{ user.contacts.email.value }}\"\n >\n {{ user.contacts.email.value }}\n </a>\n <span\n *ngIf=\"!isSendApproveEmail && !user.contacts.email.isApproved\"\n class=\"inline-flex flex-wrap gap-1 text-tui-text-03\"\n >\n E-mail \u043D\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D.\n <tui-loader\n [showLoader]=\"!!(approveEmailLoading$ | async)\"\n [overlay]=\"true\"\n >\n <button\n tuiLink\n [pseudo]=\"true\"\n (click)=\"onSendApproveEmail.next(user.contacts.email.value)\"\n >\n \u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C\n </button>\n </tui-loader>\n </span>\n <span\n *ngIf=\"isSendApproveEmail\"\n class=\"text-tui-success-fill\"\n @tuiFadeIn\n >\n \u041F\u0438\u0441\u044C\u043C\u043E \u0434\u043B\u044F \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E. \u041F\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043F\u043E \u0441\u0441\u044B\u043B\u043A\u0435 \u0432 \u043F\u0438\u0441\u044C\u043C\u0435 \u0438 \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u0435 \u044D\u0442\u0443 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443.\n </span>\n </div>\n <tui-loader\n [showLoader]=\"!!(getNewsLoading$ | async)\"\n [overlay]=\"true\"\n >\n <label tuiLabel>\n <input\n tuiCheckbox\n type=\"checkbox\"\n size=\"s\"\n class=\"w-full\"\n [formControl]=\"getNewsControl\"\n [ngModel]=\"user.getNews\"\n />\n \u042F \u0445\u043E\u0447\u0443 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u0440\u0430\u0441\u0441\u044B\u043B\u043A\u0443 \u0421\u043D\u0430\u0431\u0446\u0435\u043D\u0442\u0440 \u043E \u0441\u043A\u0438\u0434\u043A\u0430\u0445 \u0438 \u043D\u043E\u0432\u043E\u0441\u0442\u044F\u0445 \u043F\u043E \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u0435.\n </label>\n </tui-loader>\n </div>\n\n <button\n tuiIconButton\n size=\"m\"\n type=\"button\"\n iconStart=\"@tui.pencil\"\n appearance=\"flat\"\n (click)=\"editProfileClick.emit()\"\n ></button>\n </div>\n </tui-loader>\n </ng-template>\n </sc-accordion>\n <sc-contragents-accordion\n (addContragentClick)=\"addContragentClick.emit()\"\n (deleteContragentClick)=\"deleteContragentClick.emit($event)\"\n (addContragentBankAccountClick)=\"addContragentBankAccountClick.emit($event)\"\n (deleteContragentBankAccountClick)=\"deleteContragentBankAccountClick.emit($event)\"\n (addContragentContactClick)=\"addContragentContactClick.emit($event)\"\n (deleteContragentContactClick)=\"deleteContragentContactClick.emit($event)\"\n ></sc-contragents-accordion>\n <sc-delivery-address-accordion\n (addDeliveryAddressClick)=\"addDeliveryAddressClick.emit()\"\n (deleteDeliveryAddressClick)=\"deleteDeliveryAddressClick.emit($event)\"\n (addDeliveryAddressContactClick)=\"addDeliveryAddressContactClick.emit($event)\"\n (deleteDeliveryAddressContactClick)=\"deleteDeliveryAddressContactClick.emit($event)\"\n ></sc-delivery-address-accordion>\n <sc-contacts-accordion\n *ngIf=\"user\"\n [contacts$]=\"userContacts$\"\n (addContactClick)=\"addUserContactClick.emit(user.id)\"\n (deleteButtonClick)=\"deleteUserContactClick.emit($event)\"\n ></sc-contacts-accordion>\n <sc-accordion\n #passwordAccordion\n [showArrow]=\"false\"\n [showAddButton]=\"false\"\n >\n \u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0430\u0440\u043E\u043B\u044C\n <ng-template scAccordionContent>\n <sc-reset-user-password (successResetPassword)=\"passwordAccordion.close()\"></sc-reset-user-password>\n </ng-template>\n </sc-accordion>\n</div>\n" }]
|
|
145
|
+
}], propDecorators: { editProfileClick: [{
|
|
146
|
+
type: Output
|
|
147
|
+
}], approvePhoneClick: [{
|
|
148
|
+
type: Output
|
|
149
|
+
}], addContragentClick: [{
|
|
150
|
+
type: Output
|
|
151
|
+
}], deleteContragentClick: [{
|
|
152
|
+
type: Output
|
|
153
|
+
}], addContragentBankAccountClick: [{
|
|
154
|
+
type: Output
|
|
155
|
+
}], deleteContragentBankAccountClick: [{
|
|
156
|
+
type: Output
|
|
157
|
+
}], addContragentContactClick: [{
|
|
158
|
+
type: Output
|
|
159
|
+
}], deleteContragentContactClick: [{
|
|
160
|
+
type: Output
|
|
161
|
+
}], addDeliveryAddressClick: [{
|
|
162
|
+
type: Output
|
|
163
|
+
}], deleteDeliveryAddressClick: [{
|
|
164
|
+
type: Output
|
|
165
|
+
}], addDeliveryAddressContactClick: [{
|
|
166
|
+
type: Output
|
|
167
|
+
}], deleteDeliveryAddressContactClick: [{
|
|
168
|
+
type: Output
|
|
169
|
+
}], addUserContactClick: [{
|
|
170
|
+
type: Output
|
|
171
|
+
}], deleteUserContactClick: [{
|
|
172
|
+
type: Output
|
|
173
|
+
}] } });
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3Byb2ZpbGUvc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQvc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3Byb2ZpbGUvc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQvc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUNILGlCQUFpQixFQU9qQixhQUFhLEVBQ2IscUJBQXFCLEdBQ3hCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFjLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQUVsRTs7R0FFRztBQU9ILE1BQU0sT0FBTyxtQ0FBbUM7SUFOaEQ7UUFPSTs7V0FFRztRQUNjLGdCQUFXLEdBQUcs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QkFPQSxzQkFBc0I7c0JBRDVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGluamVjdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgU2NDb250YWN0c1NlcnZpY2UsXG4gICAgU2NDb250cmFnZW50LFxuICAgIFNjSUJhbmtBY2NvdW50LFxuICAgIFNjSUNpdHlXaXRoUmVnaW9uQW5kQ291bnRyeSxcbiAgICBTY0lDb250YWN0LFxuICAgIFNjSURlbGl2ZXJ5QWRkcmVzcyxcbiAgICBTY1VzZXIsXG4gICAgU2NVc2VyU2VydmljZSxcbiAgICBTY1ZlcmlmaWNhdGlvblNlcnZpY2UsXG59IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgVFVJX1RSVUVfSEFORExFUiwgdHVpSXNGYWxzeSwgdHVpSXNQcmVzZW50IH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQgeyB0dWlGYWRlSW4gfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgc2hhcmUsIHNraXAsIHN0YXJ0V2l0aCwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU0NfVVNFUl9DSVRZX0lORk8sIFNDX1VTRVJfSU5GTyB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycyc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINC60L7QvdGC0LXQvdGC0LAg0L/RgNC+0YTQuNC70Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINCyINCy0LjQtNC1INGA0LDRgdC60YDRi9Cy0LDRjtGJ0LjRhdGB0Y8g0YHQvNGL0YHQu9C+0LLRi9GFINCx0LvQvtC60L7Qsi5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy1wcm9maWxlLWFjY29yZGlvbnMtY29udGVudCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLXByb2ZpbGUtYWNjb3JkaW9ucy1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgICBhbmltYXRpb25zOiBbdHVpRmFkZUluXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NQcm9maWxlQWNjb3JkaW9uc0NvbnRlbnRDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQtNCw0L3QvdGL0YUg0L4g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C1LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlclNlcnZpY2UgPSBpbmplY3QoU2NVc2VyU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQutC+0L3RgtCw0LrRgtC90YvQvNC4INC70LjRhtCw0LzQuC4uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250YWN0c1NlcnZpY2UgPSBpbmplY3QoU2NDb250YWN0c1NlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINCy0LXRgNC40YTQuNC60LDRhtC40LguXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB2ZXJpZmljYXRpb25TZXJ2aWNlID0gaW5qZWN0KFNjVmVyaWZpY2F0aW9uU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiDQn9C+0YLQvtC6INC00LDQvdC90YvRhSDQviDRgtC10LrRg9GJ0LXQvCDQv9C+0LvRjNC30L7QstCw0YLQtdC70LUuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHVzZXIkID0gaW5qZWN0PE9ic2VydmFibGU8U2NVc2VyPj4oU0NfVVNFUl9JTkZPKTtcblxuICAgIC8qKlxuICAgICAqINCf0L7RgtC+0Log0LTQsNC90L3Ri9GFINC+INGC0LXQutGD0YnQtdC8INCz0L7RgNC+0LTQtSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHVzZXJDaXR5JCA9IGluamVjdDxPYnNlcnZhYmxlPFNjSUNpdHlXaXRoUmVnaW9uQW5kQ291bnRyeT4+KFNDX1VTRVJfQ0lUWV9JTkZPKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBGb3JtQ29udHJvbH0g0L/QtdGA0LXQutC70Y7Rh9Cw0YLQtdC70Y8gJ9CvINGF0L7Rh9GDINC/0L7Qu9GD0YfQsNGC0Ywg0YDQsNGB0YHRi9C70LrRgycuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldE5ld3NDb250cm9sOiBGb3JtQ29udHJvbDxib29sZWFuPiA9IG5ldyBGb3JtQ29udHJvbDxib29sZWFuPihmYWxzZSwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQuNC30LzQtdC90LXQvdC40Y8g0L/RgNC40LfQvdCw0LrQsCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8gJ9CvINGF0L7Rh9GDINC/0L7Qu9GD0YfQsNGC0Ywg0YDQsNGB0YHRi9C70LrRgycuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBnZXROZXdzUmVxdWVzdCQgPSB0aGlzLmdldE5ld3NDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICBza2lwKDEpLFxuICAgICAgICBzd2l0Y2hNYXAoKHZhbHVlKSA9PlxuICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZS51cGRhdGVVc2VySW5mbyQoeyBnZXROZXdzOiB2YWx1ZSB9KS5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLnVwZGF0ZVVzZXJDaGFuZ2UkKCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcCgodXNlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0TmV3c0NvbnRyb2wucGF0Y2hWYWx1ZSh1c2VyLmdldE5ld3MsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRXaXRoKG51bGwpXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKVxuICAgICAgICAgICAgKVxuICAgICAgICApLFxuXG4gICAgICAgIHNoYXJlKClcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDRgdC+0YHRgtC+0Y/QvdC40Y8g0LfQsNCz0YDRg9C30LrQuCDQtNCw0L3QvdGL0YUg0LjQt9C80LXQvdC10L3QuNGPINC/0YDQuNC30L3QsNC60LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPICfQryDRhdC+0YfRgyDQv9C+0LvRg9GH0LDRgtGMINGA0LDRgdGB0YvQu9C60YMnLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBnZXROZXdzTG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmdldE5ld3NSZXF1ZXN0JC5waXBlKG1hcCh0dWlJc0ZhbHN5KSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgU3ViamVjdH0g0YHQvtCx0YvRgtC40Y8g0L7RgtC/0YDQsNCy0LrQuCDRgdC+0L7QsdGJ0LXQvdC40Y8g0LTQu9GPINC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPINCw0LTRgNC10YHQsCDRjdC70LXQutGC0YDQvtC90L3QvtC5INC/0L7Rh9GC0YsuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9uU2VuZEFwcHJvdmVFbWFpbDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC30LDQv9GA0L7RgdCwINC00LDQvdC90YvRhSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VuZEFwcHJvdmVFbWFpbFJlcXVlc3QkOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBudWxsPiA9IHRoaXMub25TZW5kQXBwcm92ZUVtYWlsLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgodmFsdWUpID0+IHRoaXMudmVyaWZpY2F0aW9uU2VydmljZS5zZW5kRW1haWxBcHByb3ZlQ29kZSh2YWx1ZSkucGlwZShtYXAoVFVJX1RSVUVfSEFORExFUiksIHN0YXJ0V2l0aChudWxsKSkpLFxuICAgICAgICBzdGFydFdpdGgoZmFsc2UpLFxuICAgICAgICBzaGFyZSgpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGB0YLQvtGP0L3QuNGPINC30LDQs9GA0YPQt9C60Lgg0LTQsNC90L3Ri9GFINC+0YLQv9GA0LDQstC60Lgg0YHQvtC+0LHRidC10L3QuNGPINC00LvRjyDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjyDQsNC00YDQtdGB0LAg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBhcHByb3ZlRW1haWxMb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuc2VuZEFwcHJvdmVFbWFpbFJlcXVlc3QkLnBpcGUobWFwKHR1aUlzRmFsc3kpKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGB0YLQvtGP0L3QuNGPINC/0YDQuNC30L3QsNC60LAsINC+0YLQv9GA0LDQstC70LXQvdC+INC70Lgg0YHQvtC+0LHRidC10L3QuNC1INC00LvRjyDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjyDQsNC00YDQtdGB0LAg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc1NlbmRBcHByb3ZlRW1haWwkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5zZW5kQXBwcm92ZUVtYWlsUmVxdWVzdCQucGlwZShmaWx0ZXIodHVpSXNQcmVzZW50KSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINGB0L/QuNGB0LrQsCDQutC+0L3RgtCw0LrRgtC90YvRhSDQu9C40YYg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSB1c2VyQ29udGFjdHMkID0gdGhpcy5jb250YWN0c1NlcnZpY2UudXNlckNvbnRhY3RzLml0ZW0kO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0YDQtdC00LDQutGC0LjRgNC+0LLQsNC90LjQtSDQv9GA0L7RhNC40LvRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGVkaXRQcm9maWxlQ2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPINGC0LXQu9C10YTQvtC90LAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGFwcHJvdmVQaG9uZUNsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDQtNC+0LHQsNCy0LvQtdC90LjRjyDQutC+0L3RgtGA0LDQs9C10L3RgtCwLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBhZGRDb250cmFnZW50Q2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINGD0LTQsNC70LXQvdC40Y8g0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgZGVsZXRlQ29udHJhZ2VudENsaWNrOiBFdmVudEVtaXR0ZXI8U2NDb250cmFnZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8U2NDb250cmFnZW50PigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0LTQvtCx0LDQstC70LXQvdC40Y8g0LHQsNC90LrQvtCy0YHQutC+0LPQviDRgdGH0ZHRgtCwINC60L7QvdGC0YDQsNCz0LXQvdGC0YMuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGFkZENvbnRyYWdlbnRCYW5rQWNjb3VudENsaWNrOiBFdmVudEVtaXR0ZXI8U2NDb250cmFnZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8U2NDb250cmFnZW50PigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0YPQtNCw0LvQtdC90LjRjyDQsdCw0L3QutC+0LLRgdC60L7Qs9C+INGB0YfRkdGC0LAg0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgZGVsZXRlQ29udHJhZ2VudEJhbmtBY2NvdW50Q2xpY2s6IEV2ZW50RW1pdHRlcjxTY0lCYW5rQWNjb3VudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFNjSUJhbmtBY2NvdW50PigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0LTQvtCx0LDQstC70LXQvdC40Y8g0LrQvtC90YLQsNC60YLQvdC+0LPQviDQu9C40YbQsCDQutC+0L3RgtGA0LDQs9C10L3RgtGDLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBhZGRDb250cmFnZW50Q29udGFjdENsaWNrOiBFdmVudEVtaXR0ZXI8U2NDb250cmFnZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8U2NDb250cmFnZW50PigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0YPQtNCw0LvQtdC90LjRjyDQutC+0L3RgtCw0LrRgtC90L7Qs9C+INC70LjRhtCwINGDINC60L7QvdGC0YDQsNCz0LXQvdGC0LAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGRlbGV0ZUNvbnRyYWdlbnRDb250YWN0Q2xpY2s6IEV2ZW50RW1pdHRlcjx7IGNvbnRhY3Q6IFNjSUNvbnRhY3Q7IGNvbnRyYWdlbnQ6IFNjQ29udHJhZ2VudCB9PiA9IG5ldyBFdmVudEVtaXR0ZXI8eyBjb250YWN0OiBTY0lDb250YWN0OyBjb250cmFnZW50OiBTY0NvbnRyYWdlbnQgfT4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINC00L7QsdCw0LLQu9C10L3QuNGPINCw0LTRgNC10YHQsCDQtNC+0YHRgtCw0LLQutC4INC60LvQuNC10L3RgtCwLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBhZGREZWxpdmVyeUFkZHJlc3NDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0YPQtNCw0LvQtdC90LjRjyDQsNC00YDQtdGB0LAg0LTQvtGB0YLQsNCy0LrQuCDRgyDQutC70LjQtdC90YLQsC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgZGVsZXRlRGVsaXZlcnlBZGRyZXNzQ2xpY2s6IEV2ZW50RW1pdHRlcjxTY0lEZWxpdmVyeUFkZHJlc3M+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY0lEZWxpdmVyeUFkZHJlc3M+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDQtNC+0LHQsNCy0LvQtdC90LjRjyDQutC+0L3RgtCw0LrRgtC90L7Qs9C+INC70LjRhtCwINC00LvRjyDQsNC00YDQtdGB0LAg0LTQvtGB0YLQsNCy0LrQuC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgYWRkRGVsaXZlcnlBZGRyZXNzQ29udGFjdENsaWNrOiBFdmVudEVtaXR0ZXI8U2NJRGVsaXZlcnlBZGRyZXNzPiA9IG5ldyBFdmVudEVtaXR0ZXI8U2NJRGVsaXZlcnlBZGRyZXNzPigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0YPQtNCw0LvQtdC90LjRjyDQutC+0L3RgtCw0LrRgtC90L7Qs9C+INC70LjRhtCwINGDINCw0LTRgNC10YHQsCDQtNC+0YHRgtCw0LLQutC4LlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBkZWxldGVEZWxpdmVyeUFkZHJlc3NDb250YWN0Q2xpY2s6IEV2ZW50RW1pdHRlcjx7IGNvbnRhY3Q6IFNjSUNvbnRhY3Q7IGFkZHJlc3M6IFNjSURlbGl2ZXJ5QWRkcmVzcyB9PiA9IG5ldyBFdmVudEVtaXR0ZXI8e1xuICAgICAgICBjb250YWN0OiBTY0lDb250YWN0O1xuICAgICAgICBhZGRyZXNzOiBTY0lEZWxpdmVyeUFkZHJlc3M7XG4gICAgfT4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINC00L7QsdCw0LLQu9C10L3QuNGPINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAg0LrQu9C40LXQvdGC0YMuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGFkZFVzZXJDb250YWN0Q2xpY2s6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDRg9C00LDQu9C10L3QuNGPINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAg0YMg0LrQu9C40LXQvdGC0LAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGRlbGV0ZVVzZXJDb250YWN0Q2xpY2s6IEV2ZW50RW1pdHRlcjxTY0lDb250YWN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8U2NJQ29udGFjdD4oKTtcbn1cbiIsIkBsZXQgdXNlciA9IHVzZXIkIHwgYXN5bmM7XG48ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtNFwiPlxuICAgIDxzYy1hY2NvcmRpb25cbiAgICAgICAgW3Nob3dBcnJvd109XCJmYWxzZVwiXG4gICAgICAgIFtzaG93QWRkQnV0dG9uXT1cImZhbHNlXCJcbiAgICAgICAgW29wZW5dPVwidHJ1ZVwiXG4gICAgPlxuICAgICAgICDQntCx0YnQuNC1INC00LDQvdC90YvQtVxuICAgICAgICA8bmctdGVtcGxhdGUgc2NBY2NvcmRpb25Db250ZW50PlxuICAgICAgICAgICAgPHR1aS1sb2FkZXJcbiAgICAgICAgICAgICAgICBbb3ZlcmxheV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbc2hvd0xvYWRlcl09XCJ1c2VyID09PSBudWxsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMiBwbC00XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidXNlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZ3JvdyBmbGV4LWNvbCBnYXAtMlwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1tZWRpdW1cIj57eyB1c2VyLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ1c2VyLmNpdHkgJiYgKHVzZXJDaXR5JCB8IGFzeW5jKSBhcyBjaXR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHVpLWljb24gaWNvbj1cIkB0dWkubWFwLXBpblwiPjwvdHVpLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPtCzLiB7eyBjaXR5Lm5hbWUgfX0sIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjaXR5LnJlZ2lvblwiPnt7IGNpdHkucmVnaW9uLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjVGVsTGlua109XCJ1c2VyLmNvbnRhY3RzLnBob25lLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5waG9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwc2V1ZG9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtMb2NhdGlvbj1cInByb2ZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwidGVsOnt7IHVzZXIuY29udGFjdHMucGhvbmUudmFsdWUgfCBzY1Bob25lRm9ybWF0IH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHVzZXIuY29udGFjdHMucGhvbmUudmFsdWUgfCBzY1Bob25lRm9ybWF0IH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIXVzZXIuY29udGFjdHMucGhvbmUuaXNBcHByb3ZlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC10dWktdGV4dC0wM1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo0KLQtdC70LXRhNC+0L0g0L3QtSDQv9C+0LTRgtCy0LXRgNC20LTQtdC9LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcHNldWRvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFwcHJvdmVQaG9uZUNsaWNrLmVtaXQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCf0L7QtNGC0LLQtdGA0LTQuNGC0Yw8L2J1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgQGxldCBpc1NlbmRBcHByb3ZlRW1haWwgPSAhIShpc1NlbmRBcHByb3ZlRW1haWwkIHwgYXN5bmMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwIGdhcC14LTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkubWFpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwc2V1ZG9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjRW1haWxMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtMb2NhdGlvbj1cInByb2ZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwibWFpbHRvOnt7IHVzZXIuY29udGFjdHMuZW1haWwudmFsdWUgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdXNlci5jb250YWN0cy5lbWFpbC52YWx1ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFpc1NlbmRBcHByb3ZlRW1haWwgJiYgIXVzZXIuY29udGFjdHMuZW1haWwuaXNBcHByb3ZlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5saW5lLWZsZXggZmxleC13cmFwIGdhcC0xIHRleHQtdHVpLXRleHQtMDNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRS1tYWlsINC90LUg0L/QvtC00YLQstC10YDQttC00LXQvS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1sb2FkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cIiEhKGFwcHJvdmVFbWFpbExvYWRpbmckIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvdmVybGF5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpTGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwc2V1ZG9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VuZEFwcHJvdmVFbWFpbC5uZXh0KHVzZXIuY29udGFjdHMuZW1haWwudmFsdWUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQn9C+0LTRgtCy0LXRgNC00LjRgtGMXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90dWktbG9hZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzU2VuZEFwcHJvdmVFbWFpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC10dWktc3VjY2Vzcy1maWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQHR1aUZhZGVJblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0J/QuNGB0YzQvNC+INC00LvRjyDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjyDRg9GB0L/QtdGI0L3QviDQvtGC0L/RgNCw0LLQu9C10L3Qvi4g0J/QtdGA0LXQudC00LjRgtC1INC/0L4g0YHRgdGL0LvQutC1INCyINC/0LjRgdGM0LzQtSDQuCDQvtCx0L3QvtCy0LjRgtC1INGN0YLRgyDRgdGC0YDQsNC90LjRhtGDLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1sb2FkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd0xvYWRlcl09XCIhIShnZXROZXdzTG9hZGluZyQgfCBhc3luYylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvdmVybGF5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCB0dWlMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlDaGVja2JveFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJnZXROZXdzQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJ1c2VyLmdldE5ld3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQryDRhdC+0YfRgyDQv9C+0LvRg9GH0LDRgtGMINGA0LDRgdGB0YvQu9C60YMg0KHQvdCw0LHRhtC10L3RgtGAINC+INGB0LrQuNC00LrQsNGFINC4INC90L7QstC+0YHRgtGP0YUg0L/QviDRjdC70LXQutGC0YDQvtC90L3QvtC5INC/0L7Rh9GC0LUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHVpLWxvYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLnBlbmNpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZWRpdFByb2ZpbGVDbGljay5lbWl0KClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3R1aS1sb2FkZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9zYy1hY2NvcmRpb24+XG4gICAgPHNjLWNvbnRyYWdlbnRzLWFjY29yZGlvblxuICAgICAgICAoYWRkQ29udHJhZ2VudENsaWNrKT1cImFkZENvbnRyYWdlbnRDbGljay5lbWl0KClcIlxuICAgICAgICAoZGVsZXRlQ29udHJhZ2VudENsaWNrKT1cImRlbGV0ZUNvbnRyYWdlbnRDbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICAoYWRkQ29udHJhZ2VudEJhbmtBY2NvdW50Q2xpY2spPVwiYWRkQ29udHJhZ2VudEJhbmtBY2NvdW50Q2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKGRlbGV0ZUNvbnRyYWdlbnRCYW5rQWNjb3VudENsaWNrKT1cImRlbGV0ZUNvbnRyYWdlbnRCYW5rQWNjb3VudENsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIChhZGRDb250cmFnZW50Q29udGFjdENsaWNrKT1cImFkZENvbnRyYWdlbnRDb250YWN0Q2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKGRlbGV0ZUNvbnRyYWdlbnRDb250YWN0Q2xpY2spPVwiZGVsZXRlQ29udHJhZ2VudENvbnRhY3RDbGljay5lbWl0KCRldmVudClcIlxuICAgID48L3NjLWNvbnRyYWdlbnRzLWFjY29yZGlvbj5cbiAgICA8c2MtZGVsaXZlcnktYWRkcmVzcy1hY2NvcmRpb25cbiAgICAgICAgKGFkZERlbGl2ZXJ5QWRkcmVzc0NsaWNrKT1cImFkZERlbGl2ZXJ5QWRkcmVzc0NsaWNrLmVtaXQoKVwiXG4gICAgICAgIChkZWxldGVEZWxpdmVyeUFkZHJlc3NDbGljayk9XCJkZWxldGVEZWxpdmVyeUFkZHJlc3NDbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICAoYWRkRGVsaXZlcnlBZGRyZXNzQ29udGFjdENsaWNrKT1cImFkZERlbGl2ZXJ5QWRkcmVzc0NvbnRhY3RDbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICAoZGVsZXRlRGVsaXZlcnlBZGRyZXNzQ29udGFjdENsaWNrKT1cImRlbGV0ZURlbGl2ZXJ5QWRkcmVzc0NvbnRhY3RDbGljay5lbWl0KCRldmVudClcIlxuICAgID48L3NjLWRlbGl2ZXJ5LWFkZHJlc3MtYWNjb3JkaW9uPlxuICAgIDxzYy1jb250YWN0cy1hY2NvcmRpb25cbiAgICAgICAgKm5nSWY9XCJ1c2VyXCJcbiAgICAgICAgW2NvbnRhY3RzJF09XCJ1c2VyQ29udGFjdHMkXCJcbiAgICAgICAgKGFkZENvbnRhY3RDbGljayk9XCJhZGRVc2VyQ29udGFjdENsaWNrLmVtaXQodXNlci5pZClcIlxuICAgICAgICAoZGVsZXRlQnV0dG9uQ2xpY2spPVwiZGVsZXRlVXNlckNvbnRhY3RDbGljay5lbWl0KCRldmVudClcIlxuICAgID48L3NjLWNvbnRhY3RzLWFjY29yZGlvbj5cbiAgICA8c2MtYWNjb3JkaW9uXG4gICAgICAgICNwYXNzd29yZEFjY29yZGlvblxuICAgICAgICBbc2hvd0Fycm93XT1cImZhbHNlXCJcbiAgICAgICAgW3Nob3dBZGRCdXR0b25dPVwiZmFsc2VcIlxuICAgID5cbiAgICAgICAg0JjQt9C80LXQvdC40YLRjCDQv9Cw0YDQvtC70YxcbiAgICAgICAgPG5nLXRlbXBsYXRlIHNjQWNjb3JkaW9uQ29udGVudD5cbiAgICAgICAgICAgIDxzYy1yZXNldC11c2VyLXBhc3N3b3JkIChzdWNjZXNzUmVzZXRQYXNzd29yZCk9XCJwYXNzd29yZEFjY29yZGlvbi5jbG9zZSgpXCI+PC9zYy1yZXNldC11c2VyLXBhc3N3b3JkPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvc2MtYWNjb3JkaW9uPlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { TuiButton, TuiIcon, TuiLabel, TuiLink, TuiLoader } from '@taiga-ui/core';
|
|
5
|
+
import { TuiCheckbox } from '@taiga-ui/kit';
|
|
6
|
+
import { ScAccordionModule } from '../accordion';
|
|
7
|
+
import { ScContactsModule } from '../contacts';
|
|
8
|
+
import { ScContragentsModule } from '../contragents';
|
|
9
|
+
import { ScDeliveryAddressModule } from '../delivery-address';
|
|
10
|
+
import { ScLinks, ScTerminalLinkDirective } from '../directives';
|
|
11
|
+
import { ScUserModule } from '../user';
|
|
12
|
+
import { ScProfileAccordionsContentComponent } from './sc-profile-accordions-content/sc-profile-accordions-content.component';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
import * as i1 from "../directives/links/sc-tel-link.directive";
|
|
15
|
+
import * as i2 from "../directives/links/sc-email-link.directive";
|
|
16
|
+
import * as i3 from "../pipes/sc-phone-format";
|
|
17
|
+
/**
|
|
18
|
+
* Модуль профиля пользователя.
|
|
19
|
+
*/
|
|
20
|
+
export class ScProfileModule {
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScProfileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
22
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ScProfileModule, declarations: [ScProfileAccordionsContentComponent], imports: [CommonModule,
|
|
23
|
+
ScUserModule,
|
|
24
|
+
ScAccordionModule,
|
|
25
|
+
ScContragentsModule,
|
|
26
|
+
ScDeliveryAddressModule,
|
|
27
|
+
TuiLoader,
|
|
28
|
+
TuiLink,
|
|
29
|
+
TuiLabel,
|
|
30
|
+
TuiIcon,
|
|
31
|
+
FormsModule,
|
|
32
|
+
ReactiveFormsModule,
|
|
33
|
+
TuiButton,
|
|
34
|
+
ScContactsModule,
|
|
35
|
+
ScTerminalLinkDirective, i1.ScTelLinkDirective, i2.ScEmailLinkDirective, i3.ScPhoneFormatPipe, TuiCheckbox], exports: [ScProfileAccordionsContentComponent] }); }
|
|
36
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScProfileModule, imports: [CommonModule,
|
|
37
|
+
ScUserModule,
|
|
38
|
+
ScAccordionModule,
|
|
39
|
+
ScContragentsModule,
|
|
40
|
+
ScDeliveryAddressModule,
|
|
41
|
+
TuiLoader,
|
|
42
|
+
TuiIcon,
|
|
43
|
+
FormsModule,
|
|
44
|
+
ReactiveFormsModule,
|
|
45
|
+
ScContactsModule,
|
|
46
|
+
TuiCheckbox] }); }
|
|
47
|
+
}
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScProfileModule, decorators: [{
|
|
49
|
+
type: NgModule,
|
|
50
|
+
args: [{
|
|
51
|
+
declarations: [ScProfileAccordionsContentComponent],
|
|
52
|
+
imports: [
|
|
53
|
+
CommonModule,
|
|
54
|
+
ScUserModule,
|
|
55
|
+
ScAccordionModule,
|
|
56
|
+
ScContragentsModule,
|
|
57
|
+
ScDeliveryAddressModule,
|
|
58
|
+
TuiLoader,
|
|
59
|
+
TuiLink,
|
|
60
|
+
TuiLabel,
|
|
61
|
+
TuiIcon,
|
|
62
|
+
FormsModule,
|
|
63
|
+
ReactiveFormsModule,
|
|
64
|
+
TuiButton,
|
|
65
|
+
ScContactsModule,
|
|
66
|
+
ScTerminalLinkDirective,
|
|
67
|
+
...ScLinks,
|
|
68
|
+
TuiCheckbox,
|
|
69
|
+
],
|
|
70
|
+
exports: [ScProfileAccordionsContentComponent],
|
|
71
|
+
}]
|
|
72
|
+
}] });
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJvZmlsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvcHJvZmlsZS9zYy1wcm9maWxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHlFQUF5RSxDQUFDOzs7OztBQUU5SDs7R0FFRztBQXVCSCxNQUFNLE9BQU8sZUFBZTsrR0FBZixlQUFlO2dIQUFmLGVBQWUsaUJBckJULG1DQUFtQyxhQUU5QyxZQUFZO1lBQ1osWUFBWTtZQUNaLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsdUJBQXVCO1lBQ3ZCLFNBQVM7WUFDVCxPQUFPO1lBQ1AsUUFBUTtZQUNSLE9BQU87WUFDUCxXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFNBQVM7WUFDVCxnQkFBZ0I7WUFDaEIsdUJBQXVCLHdFQUV2QixXQUFXLGFBRUwsbUNBQW1DO2dIQUVwQyxlQUFlLFlBbkJwQixZQUFZO1lBQ1osWUFBWTtZQUNaLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsdUJBQXVCO1lBQ3ZCLFNBQVM7WUFHVCxPQUFPO1lBQ1AsV0FBVztZQUNYLG1CQUFtQjtZQUVuQixnQkFBZ0I7WUFHaEIsV0FBVzs7NEZBSU4sZUFBZTtrQkF0QjNCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsbUNBQW1DLENBQUM7b0JBQ25ELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsU0FBUzt3QkFDVCxPQUFPO3dCQUNQLFFBQVE7d0JBQ1IsT0FBTzt3QkFDUCxXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsU0FBUzt3QkFDVCxnQkFBZ0I7d0JBQ2hCLHVCQUF1Qjt3QkFDdkIsR0FBRyxPQUFPO3dCQUNWLFdBQVc7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFLENBQUMsbUNBQW1DLENBQUM7aUJBQ2pEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFR1aUJ1dHRvbiwgVHVpSWNvbiwgVHVpTGFiZWwsIFR1aUxpbmssIFR1aUxvYWRlciB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFR1aUNoZWNrYm94IH0gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5cbmltcG9ydCB7IFNjQWNjb3JkaW9uTW9kdWxlIH0gZnJvbSAnLi4vYWNjb3JkaW9uJztcbmltcG9ydCB7IFNjQ29udGFjdHNNb2R1bGUgfSBmcm9tICcuLi9jb250YWN0cyc7XG5pbXBvcnQgeyBTY0NvbnRyYWdlbnRzTW9kdWxlIH0gZnJvbSAnLi4vY29udHJhZ2VudHMnO1xuaW1wb3J0IHsgU2NEZWxpdmVyeUFkZHJlc3NNb2R1bGUgfSBmcm9tICcuLi9kZWxpdmVyeS1hZGRyZXNzJztcbmltcG9ydCB7IFNjTGlua3MsIFNjVGVybWluYWxMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBTY1VzZXJNb2R1bGUgfSBmcm9tICcuLi91c2VyJztcbmltcG9ydCB7IFNjUHJvZmlsZUFjY29yZGlvbnNDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9zYy1wcm9maWxlLWFjY29yZGlvbnMtY29udGVudC9zYy1wcm9maWxlLWFjY29yZGlvbnMtY29udGVudC5jb21wb25lbnQnO1xuXG4vKipcbiAqINCc0L7QtNGD0LvRjCDQv9GA0L7RhNC40LvRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbU2NQcm9maWxlQWNjb3JkaW9uc0NvbnRlbnRDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBTY1VzZXJNb2R1bGUsXG4gICAgICAgIFNjQWNjb3JkaW9uTW9kdWxlLFxuICAgICAgICBTY0NvbnRyYWdlbnRzTW9kdWxlLFxuICAgICAgICBTY0RlbGl2ZXJ5QWRkcmVzc01vZHVsZSxcbiAgICAgICAgVHVpTG9hZGVyLFxuICAgICAgICBUdWlMaW5rLFxuICAgICAgICBUdWlMYWJlbCxcbiAgICAgICAgVHVpSWNvbixcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFR1aUJ1dHRvbixcbiAgICAgICAgU2NDb250YWN0c01vZHVsZSxcbiAgICAgICAgU2NUZXJtaW5hbExpbmtEaXJlY3RpdmUsXG4gICAgICAgIC4uLlNjTGlua3MsXG4gICAgICAgIFR1aUNoZWNrYm94LFxuICAgIF0sXG4gICAgZXhwb3J0czogW1NjUHJvZmlsZUFjY29yZGlvbnNDb250ZW50Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2NQcm9maWxlTW9kdWxlIHt9XG4iXX0=
|