ng-easycommerce-v18 0.0.1 → 0.0.2
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/README.md +24 -27
- package/{projects/ng-easycommerce/src/lib/assets → assets}/ec-i18n/ct.json +273 -273
- package/{projects/ng-easycommerce/src/lib/assets → assets}/ec-i18n/en.json +0 -0
- package/{projects/ng-easycommerce/src/lib/assets → assets}/ec-i18n/es.json +387 -387
- package/{projects/ng-easycommerce/src/lib/assets → assets}/ec-i18n/fr.json +0 -0
- package/{projects/ng-easycommerce/src/lib/assets → assets}/ec-i18n/gl.json +273 -273
- package/{projects/ng-easycommerce/src/lib/assets → assets}/ec-i18n/pr.json +273 -273
- package/{projects/ng-easycommerce/src/lib/assets → assets}/recaptcha/recaptcha-site-keys.json +3 -3
- package/{projects/ng-easycommerce/src/lib/assets → assets}/recaptcha/recaptcha-sites-prod.json +38 -38
- package/{projects/ng-easycommerce/src/lib/assets → assets}/recaptcha/recaptcha-sites.json +52 -52
- package/esm2022/lib/api/connection.service.mjs +75 -0
- package/esm2022/lib/api/index.mjs +2 -0
- package/esm2022/lib/classes/checkout/index.mjs +2 -0
- package/esm2022/lib/classes/checkout/steps.mjs +29 -0
- package/esm2022/lib/classes/filters/attributes-filter.mjs +73 -0
- package/esm2022/lib/classes/filters/category-filter.mjs +59 -0
- package/esm2022/lib/classes/filters/dynamics-filter.mjs +58 -0
- package/esm2022/lib/classes/filters/filter-factory.mjs +21 -0
- package/esm2022/lib/classes/filters/filter.mjs +83 -0
- package/esm2022/lib/classes/filters/index.mjs +7 -0
- package/esm2022/lib/classes/filters/sort-filter.mjs +88 -0
- package/esm2022/lib/classes/index.mjs +4 -0
- package/esm2022/lib/classes/user.mjs +59 -0
- package/esm2022/lib/constants/api.constants.service.mjs +71 -0
- package/esm2022/lib/constants/core.constants.service.mjs +196 -0
- package/esm2022/lib/constants/index.mjs +3 -0
- package/esm2022/lib/ec-components/abstractions-components/block-ec.component.mjs +110 -0
- package/esm2022/lib/ec-components/abstractions-components/index.mjs +3 -0
- package/esm2022/lib/ec-components/abstractions-components/menu-ec.component.mjs +97 -0
- package/esm2022/lib/ec-components/account-ec/account-ec.component.mjs +22 -0
- package/esm2022/lib/ec-components/account-ec/index.mjs +4 -0
- package/esm2022/lib/ec-components/account-ec/order-ec/order-ec.component.mjs +16 -0
- package/esm2022/lib/ec-components/account-ec/orders-list-ec/orders-list-ec.component.mjs +150 -0
- package/esm2022/lib/ec-components/auth-ec/auth-ec.component.mjs +12 -0
- package/esm2022/lib/ec-components/auth-ec/confirm-account-ec/confirm-account-ec.component.mjs +30 -0
- package/esm2022/lib/ec-components/auth-ec/forgot-password-ec/forgot-password-ec.component.mjs +54 -0
- package/esm2022/lib/ec-components/auth-ec/index.mjs +7 -0
- package/esm2022/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.mjs +91 -0
- package/esm2022/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.mjs +105 -0
- package/esm2022/lib/ec-components/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.mjs +153 -0
- package/esm2022/lib/ec-components/blocks-ec/block-banner-box-ec/block-banner-box-ec.component.mjs +104 -0
- package/esm2022/lib/ec-components/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.mjs +87 -0
- package/esm2022/lib/ec-components/blocks-ec/block-form-contact-ec/block-form-contact-ec.component.mjs +87 -0
- package/esm2022/lib/ec-components/blocks-ec/block-html-ec/block-html-ec.component.mjs +37 -0
- package/esm2022/lib/ec-components/blocks-ec/block-newsletter-ec/block-newsletter-ec.component.mjs +78 -0
- package/esm2022/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.mjs +109 -0
- package/esm2022/lib/ec-components/blocks-ec/blocks-ec.component.mjs +99 -0
- package/esm2022/lib/ec-components/blocks-ec/index.mjs +5 -0
- package/esm2022/lib/ec-components/breadcrumb-ec/breadcrumb-ec.component.mjs +27 -0
- package/esm2022/lib/ec-components/cart-ec/cart-ec.component.mjs +21 -0
- package/esm2022/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.mjs +47 -0
- package/esm2022/lib/ec-components/cart-ec/index.mjs +3 -0
- package/esm2022/lib/ec-components/checkout-ec/checkout-ec.component.mjs +60 -0
- package/esm2022/lib/ec-components/checkout-ec/dataform-ec/dataform-ec.component.mjs +271 -0
- package/esm2022/lib/ec-components/checkout-ec/dataform-ec/input-ec/input-ec.component.mjs +51 -0
- package/esm2022/lib/ec-components/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.mjs +45 -0
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.mjs +92 -0
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/bank-transfer-ec/bank-transfer-ec.component.mjs +30 -0
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/index.mjs +4 -0
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.mjs +119 -0
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/offline-ec/offline-ec.component.mjs +32 -0
- package/esm2022/lib/ec-components/checkout-ec/shipment-ec/shipment-ec.component.mjs +96 -0
- package/esm2022/lib/ec-components/checkout-ec/step-container-ec/step-container-ec.component.mjs +35 -0
- package/esm2022/lib/ec-components/checkout-ec/success-ec/success-ec.component.mjs +55 -0
- package/esm2022/lib/ec-components/collection-ec/collection-ec.component.mjs +72 -0
- package/esm2022/lib/ec-components/coupon-ec/coupon-ec.component.mjs +29 -0
- package/esm2022/lib/ec-components/filters-ec/filters-ec.component.mjs +38 -0
- package/esm2022/lib/ec-components/filters-sort-ec/filters-sort-ec.component.mjs +36 -0
- package/esm2022/lib/ec-components/footer-ec/footer-ec.component.mjs +17 -0
- package/esm2022/lib/ec-components/header-ec/header-ec.component.mjs +18 -0
- package/esm2022/lib/ec-components/home-ec/home-ec.component.mjs +14 -0
- package/esm2022/lib/ec-components/index.mjs +19 -0
- package/esm2022/lib/ec-components/product-detail-ec/product-detail-ec.component.mjs +74 -0
- package/esm2022/lib/ec-components/product-ec/product-ec.component.mjs +51 -0
- package/esm2022/lib/ec-components/variants-ec/variants-ec.component.mjs +18 -0
- package/esm2022/lib/ec-components/widgets-ec/index.mjs +5 -0
- package/esm2022/lib/ec-components/widgets-ec/loading/index.mjs +4 -0
- package/esm2022/lib/ec-components/widgets-ec/loading/loading-full-ec/loading-full-ec.component.mjs +11 -0
- package/esm2022/lib/ec-components/widgets-ec/loading/loading-inline-ec/loading-inline-ec.component.mjs +16 -0
- package/esm2022/lib/ec-components/widgets-ec/loading/loading-section-ec/loading-section-ec.component.mjs +12 -0
- package/esm2022/lib/ec-components/widgets-ec/magnizoom-ec/magnizoom-ec.component.mjs +178 -0
- package/esm2022/lib/ec-components/widgets-ec/price-ec/price-ec.component.mjs +27 -0
- package/esm2022/lib/ec-components/widgets-ec/re-captcha-ec/re-captcha-ec.component.mjs +71 -0
- package/esm2022/lib/ec-guards/auth.guard.mjs +18 -0
- package/esm2022/lib/ec-guards/index.mjs +2 -0
- package/esm2022/lib/ec-pipe/ec-currency-symbol.pipe.mjs +98 -0
- package/esm2022/lib/ec-pipe/index.mjs +2 -0
- package/esm2022/lib/ec-services/addressing.service.mjs +185 -0
- package/esm2022/lib/ec-services/analytics/analytics.service.mjs +80 -0
- package/esm2022/lib/ec-services/analytics/doppler.service.mjs +47 -0
- package/esm2022/lib/ec-services/analytics/facebook-pixel.service.mjs +212 -0
- package/esm2022/lib/ec-services/analytics/google-analytics.service.mjs +283 -0
- package/esm2022/lib/ec-services/analytics/gtm.service.mjs +414 -0
- package/esm2022/lib/ec-services/analytics/index.mjs +7 -0
- package/esm2022/lib/ec-services/analytics/metricool-pixel.service.mjs +55 -0
- package/esm2022/lib/ec-services/auth.service.mjs +440 -0
- package/esm2022/lib/ec-services/auth.storage.service.mjs +54 -0
- package/esm2022/lib/ec-services/blocks-repository.service.mjs +64 -0
- package/esm2022/lib/ec-services/blocks.service.mjs +52 -0
- package/esm2022/lib/ec-services/cart.service.mjs +465 -0
- package/esm2022/lib/ec-services/channel.service.mjs +83 -0
- package/esm2022/lib/ec-services/checkout.service.mjs +180 -0
- package/esm2022/lib/ec-services/currency.service.mjs +177 -0
- package/esm2022/lib/ec-services/filters.service.mjs +134 -0
- package/esm2022/lib/ec-services/form.service.mjs +81 -0
- package/esm2022/lib/ec-services/index.mjs +27 -0
- package/esm2022/lib/ec-services/local-storage.service.mjs +58 -0
- package/esm2022/lib/ec-services/ngx-local-storage.service.mjs +66 -0
- package/esm2022/lib/ec-services/options.service.mjs +273 -0
- package/esm2022/lib/ec-services/order-utility.service.mjs +61 -0
- package/esm2022/lib/ec-services/orders.service.mjs +48 -0
- package/esm2022/lib/ec-services/pagination.service.mjs +163 -0
- package/esm2022/lib/ec-services/parameters.service.mjs +65 -0
- package/esm2022/lib/ec-services/payment.service.mjs +54 -0
- package/esm2022/lib/ec-services/product-detail.service.mjs +285 -0
- package/esm2022/lib/ec-services/products.service.mjs +148 -0
- package/esm2022/lib/ec-services/re-captcha.service.mjs +114 -0
- package/esm2022/lib/ec-services/shipment.service.mjs +158 -0
- package/esm2022/lib/ec-services/stores.service.mjs +27 -0
- package/esm2022/lib/ec-services/test.service.mjs +16 -0
- package/esm2022/lib/ec-services/toast.service.mjs +81 -0
- package/esm2022/lib/interceptors/auth.interceptor.mjs +35 -0
- package/esm2022/lib/interceptors/index.mjs +2 -0
- package/esm2022/lib/interfaces/analytics/event-key.mjs +2 -0
- package/esm2022/lib/interfaces/analytics/facebook-pixel-data.mjs +2 -0
- package/esm2022/lib/interfaces/analytics/gtm-config.mjs +2 -0
- package/esm2022/lib/interfaces/analytics/index.mjs +4 -0
- package/esm2022/lib/interfaces/blocks.mjs +2 -0
- package/esm2022/lib/interfaces/checkout.mjs +2 -0
- package/esm2022/lib/interfaces/connection.mjs +2 -0
- package/esm2022/lib/interfaces/coupon.mjs +2 -0
- package/esm2022/lib/interfaces/currency.mjs +2 -0
- package/esm2022/lib/interfaces/deserializable.mjs +2 -0
- package/esm2022/lib/interfaces/environment.mjs +2 -0
- package/esm2022/lib/interfaces/filter.mjs +2 -0
- package/esm2022/lib/interfaces/index.mjs +19 -0
- package/esm2022/lib/interfaces/options.mjs +2 -0
- package/esm2022/lib/interfaces/pagination.mjs +2 -0
- package/esm2022/lib/interfaces/parameter.mjs +2 -0
- package/esm2022/lib/interfaces/product.mjs +2 -0
- package/esm2022/lib/interfaces/step.mjs +2 -0
- package/esm2022/lib/interfaces/storage.mjs +2 -0
- package/esm2022/lib/interfaces/store.mjs +2 -0
- package/esm2022/lib/interfaces/types/index.mjs +2 -0
- package/esm2022/lib/interfaces/types/user.type.mjs +2 -0
- package/esm2022/lib/providers/index.mjs +2 -0
- package/esm2022/lib/providers/provideEnvironment.mjs +20 -0
- package/esm2022/lib/stores/currency.store.mjs +10 -0
- package/esm2022/lib/stores/index.mjs +2 -0
- package/esm2022/ng-easycommerce-v18.mjs +5 -0
- package/esm2022/public-api.mjs +20 -0
- package/fesm2022/ng-easycommerce-v18.mjs +8190 -0
- package/fesm2022/ng-easycommerce-v18.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/api/connection.service.d.ts +52 -0
- package/lib/api/index.d.ts +1 -0
- package/lib/classes/checkout/index.d.ts +1 -0
- package/lib/classes/checkout/steps.d.ts +15 -0
- package/lib/classes/filters/attributes-filter.d.ts +14 -0
- package/lib/classes/filters/category-filter.d.ts +14 -0
- package/lib/classes/filters/dynamics-filter.d.ts +13 -0
- package/lib/classes/filters/filter-factory.d.ts +5 -0
- package/lib/classes/filters/filter.d.ts +19 -0
- package/lib/classes/filters/index.d.ts +6 -0
- package/lib/classes/filters/sort-filter.d.ts +14 -0
- package/{projects/ng-easycommerce/src/lib/classes/index.ts → lib/classes/index.d.ts} +3 -3
- package/lib/classes/user.d.ts +50 -0
- package/lib/constants/api.constants.service.d.ts +54 -0
- package/lib/constants/core.constants.service.d.ts +109 -0
- package/lib/constants/index.d.ts +2 -0
- package/lib/ec-components/abstractions-components/block-ec.component.d.ts +62 -0
- package/lib/ec-components/abstractions-components/index.d.ts +2 -0
- package/lib/ec-components/abstractions-components/menu-ec.component.d.ts +67 -0
- package/lib/ec-components/account-ec/account-ec.component.d.ts +10 -0
- package/lib/ec-components/account-ec/index.d.ts +3 -0
- package/lib/ec-components/account-ec/order-ec/order-ec.component.d.ts +8 -0
- package/lib/ec-components/account-ec/orders-list-ec/orders-list-ec.component.d.ts +55 -0
- package/lib/ec-components/auth-ec/auth-ec.component.d.ts +5 -0
- package/lib/ec-components/auth-ec/confirm-account-ec/confirm-account-ec.component.d.ts +11 -0
- package/lib/ec-components/auth-ec/forgot-password-ec/forgot-password-ec.component.d.ts +27 -0
- package/{projects/ng-easycommerce/src/lib/ec-components/auth-ec/index.ts → lib/ec-components/auth-ec/index.d.ts} +6 -6
- package/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.d.ts +42 -0
- package/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.d.ts +39 -0
- package/lib/ec-components/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.d.ts +62 -0
- package/lib/ec-components/blocks-ec/block-banner-box-ec/block-banner-box-ec.component.d.ts +46 -0
- package/lib/ec-components/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.d.ts +54 -0
- package/lib/ec-components/blocks-ec/block-form-contact-ec/block-form-contact-ec.component.d.ts +21 -0
- package/lib/ec-components/blocks-ec/block-html-ec/block-html-ec.component.d.ts +25 -0
- package/lib/ec-components/blocks-ec/block-newsletter-ec/block-newsletter-ec.component.d.ts +17 -0
- package/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.d.ts +51 -0
- package/lib/ec-components/blocks-ec/blocks-ec.component.d.ts +59 -0
- package/{projects/ng-easycommerce/src/lib/ec-components/blocks-ec/index.ts → lib/ec-components/blocks-ec/index.d.ts} +4 -4
- package/lib/ec-components/breadcrumb-ec/breadcrumb-ec.component.d.ts +11 -0
- package/lib/ec-components/cart-ec/cart-ec.component.d.ts +12 -0
- package/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.d.ts +17 -0
- package/lib/ec-components/cart-ec/index.d.ts +2 -0
- package/lib/ec-components/checkout-ec/checkout-ec.component.d.ts +20 -0
- package/lib/ec-components/checkout-ec/dataform-ec/dataform-ec.component.d.ts +83 -0
- package/lib/ec-components/checkout-ec/dataform-ec/input-ec/input-ec.component.d.ts +14 -0
- package/lib/ec-components/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.d.ts +11 -0
- package/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.d.ts +37 -0
- package/lib/ec-components/checkout-ec/payment-ec/payment-methods/bank-transfer-ec/bank-transfer-ec.component.d.ts +11 -0
- package/{projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/index.ts → lib/ec-components/checkout-ec/payment-ec/payment-methods/index.d.ts} +3 -3
- package/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.d.ts +30 -0
- package/lib/ec-components/checkout-ec/payment-ec/payment-methods/offline-ec/offline-ec.component.d.ts +11 -0
- package/lib/ec-components/checkout-ec/shipment-ec/shipment-ec.component.d.ts +30 -0
- package/lib/ec-components/checkout-ec/step-container-ec/step-container-ec.component.d.ts +11 -0
- package/lib/ec-components/checkout-ec/success-ec/success-ec.component.d.ts +30 -0
- package/lib/ec-components/collection-ec/collection-ec.component.d.ts +37 -0
- package/lib/ec-components/coupon-ec/coupon-ec.component.d.ts +12 -0
- package/lib/ec-components/filters-ec/filters-ec.component.d.ts +14 -0
- package/lib/ec-components/filters-sort-ec/filters-sort-ec.component.d.ts +14 -0
- package/lib/ec-components/footer-ec/footer-ec.component.d.ts +10 -0
- package/lib/ec-components/header-ec/header-ec.component.d.ts +12 -0
- package/lib/ec-components/home-ec/home-ec.component.d.ts +8 -0
- package/{projects/ng-easycommerce/src/lib/ec-components/index.ts → lib/ec-components/index.d.ts} +18 -17
- package/lib/ec-components/product-detail-ec/product-detail-ec.component.d.ts +35 -0
- package/lib/ec-components/product-ec/product-ec.component.d.ts +31 -0
- package/lib/ec-components/variants-ec/variants-ec.component.d.ts +8 -0
- package/{projects/ng-easycommerce/src/lib/ec-components/widgets-ec/index.ts → lib/ec-components/widgets-ec/index.d.ts} +4 -4
- package/{projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/index.ts → lib/ec-components/widgets-ec/loading/index.d.ts} +3 -3
- package/lib/ec-components/widgets-ec/loading/loading-full-ec/loading-full-ec.component.d.ts +5 -0
- package/lib/ec-components/widgets-ec/loading/loading-inline-ec/loading-inline-ec.component.d.ts +6 -0
- package/lib/ec-components/widgets-ec/loading/loading-section-ec/loading-section-ec.component.d.ts +5 -0
- package/lib/ec-components/widgets-ec/magnizoom-ec/magnizoom-ec.component.d.ts +70 -0
- package/lib/ec-components/widgets-ec/price-ec/price-ec.component.d.ts +16 -0
- package/lib/ec-components/widgets-ec/re-captcha-ec/re-captcha-ec.component.d.ts +26 -0
- package/lib/ec-guards/auth.guard.d.ts +8 -0
- package/lib/ec-guards/index.d.ts +1 -0
- package/lib/ec-pipe/ec-currency-symbol.pipe.d.ts +54 -0
- package/lib/ec-pipe/index.d.ts +1 -0
- package/lib/ec-services/addressing.service.d.ts +233 -0
- package/lib/ec-services/analytics/analytics.service.d.ts +50 -0
- package/lib/ec-services/analytics/doppler.service.d.ts +26 -0
- package/lib/ec-services/analytics/facebook-pixel.service.d.ts +102 -0
- package/lib/ec-services/analytics/google-analytics.service.d.ts +118 -0
- package/lib/ec-services/analytics/gtm.service.d.ts +153 -0
- package/{projects/ng-easycommerce/src/lib/ec-services/analytics/index.ts → lib/ec-services/analytics/index.d.ts} +6 -6
- package/lib/ec-services/analytics/metricool-pixel.service.d.ts +26 -0
- package/lib/ec-services/auth.service.d.ts +229 -0
- package/lib/ec-services/auth.storage.service.d.ts +24 -0
- package/lib/ec-services/blocks-repository.service.d.ts +40 -0
- package/lib/ec-services/blocks.service.d.ts +38 -0
- package/lib/ec-services/cart.service.d.ts +211 -0
- package/lib/ec-services/channel.service.d.ts +59 -0
- package/lib/ec-services/checkout.service.d.ts +49 -0
- package/lib/ec-services/currency.service.d.ts +108 -0
- package/lib/ec-services/filters.service.d.ts +56 -0
- package/lib/ec-services/form.service.d.ts +50 -0
- package/{projects/ng-easycommerce/src/lib/ec-services/index.ts → lib/ec-services/index.d.ts} +26 -24
- package/lib/ec-services/local-storage.service.d.ts +40 -0
- package/lib/ec-services/ngx-local-storage.service.d.ts +42 -0
- package/lib/ec-services/options.service.d.ts +121 -0
- package/lib/ec-services/order-utility.service.d.ts +15 -0
- package/lib/ec-services/orders.service.d.ts +14 -0
- package/lib/ec-services/pagination.service.d.ts +89 -0
- package/lib/ec-services/parameters.service.d.ts +41 -0
- package/lib/ec-services/payment.service.d.ts +22 -0
- package/lib/ec-services/product-detail.service.d.ts +97 -0
- package/lib/ec-services/products.service.d.ts +48 -0
- package/lib/ec-services/re-captcha.service.d.ts +65 -0
- package/lib/ec-services/shipment.service.d.ts +49 -0
- package/lib/ec-services/stores.service.d.ts +12 -0
- package/lib/ec-services/test.service.d.ts +6 -0
- package/lib/ec-services/toast.service.d.ts +59 -0
- package/lib/interceptors/auth.interceptor.d.ts +2 -0
- package/lib/interceptors/index.d.ts +1 -0
- package/lib/interfaces/analytics/event-key.d.ts +1 -0
- package/lib/interfaces/analytics/facebook-pixel-data.d.ts +5 -0
- package/{projects/ng-easycommerce/src/lib/interfaces/analytics/gtm-config.ts → lib/interfaces/analytics/gtm-config.d.ts} +6 -6
- package/{projects/ng-easycommerce/src/lib/interfaces/analytics/index.ts → lib/interfaces/analytics/index.d.ts} +3 -3
- package/lib/interfaces/blocks.d.ts +41 -0
- package/{projects/ng-easycommerce/src/lib/interfaces/checkout.ts → lib/interfaces/checkout.d.ts} +12 -14
- package/{projects/ng-easycommerce/src/lib/interfaces/connection.ts → lib/interfaces/connection.d.ts} +7 -8
- package/lib/interfaces/coupon.d.ts +5 -0
- package/lib/interfaces/currency.d.ts +9 -0
- package/{projects/ng-easycommerce/src/lib/interfaces/deserializable.ts → lib/interfaces/deserializable.d.ts} +3 -3
- package/{projects/ng-easycommerce/src/lib/interfaces/environment.ts → lib/interfaces/environment.d.ts} +6 -6
- package/{projects/ng-easycommerce/src/lib/interfaces/filter.ts → lib/interfaces/filter.d.ts} +38 -59
- package/{projects/ng-easycommerce/src/lib/interfaces/index.ts → lib/interfaces/index.d.ts} +16 -18
- package/lib/interfaces/options.d.ts +26 -0
- package/lib/interfaces/pagination.d.ts +24 -0
- package/lib/interfaces/parameter.d.ts +14 -0
- package/{projects/ng-easycommerce/src/lib/interfaces/product.ts → lib/interfaces/product.d.ts} +73 -81
- package/lib/interfaces/step.d.ts +15 -0
- package/lib/interfaces/storage.d.ts +7 -0
- package/{projects/ng-easycommerce/src/lib/interfaces/store.ts → lib/interfaces/store.d.ts} +17 -17
- package/lib/interfaces/types/index.d.ts +1 -0
- package/lib/interfaces/types/user.type.d.ts +5 -0
- package/lib/providers/index.d.ts +1 -0
- package/lib/providers/provideEnvironment.d.ts +13 -0
- package/lib/stores/currency.store.d.ts +7 -0
- package/lib/stores/index.d.ts +1 -0
- package/package.json +29 -58
- package/{projects/ng-easycommerce/src/public-api.ts → public-api.d.ts} +8 -24
- package/.editorconfig +0 -16
- package/angular.json +0 -48
- package/projects/ng-easycommerce/README.md +0 -24
- package/projects/ng-easycommerce/ng-package.json +0 -7
- package/projects/ng-easycommerce/package.json +0 -12
- package/projects/ng-easycommerce/src/lib/api/connection.service.ts +0 -79
- package/projects/ng-easycommerce/src/lib/api/index.ts +0 -1
- package/projects/ng-easycommerce/src/lib/classes/checkout/index.ts +0 -1
- package/projects/ng-easycommerce/src/lib/classes/checkout/steps.ts +0 -37
- package/projects/ng-easycommerce/src/lib/classes/filters/attributes-filter.ts +0 -74
- package/projects/ng-easycommerce/src/lib/classes/filters/category-filter.ts +0 -57
- package/projects/ng-easycommerce/src/lib/classes/filters/dynamics-filter.ts +0 -57
- package/projects/ng-easycommerce/src/lib/classes/filters/filter-factory.ts +0 -23
- package/projects/ng-easycommerce/src/lib/classes/filters/filter.ts +0 -89
- package/projects/ng-easycommerce/src/lib/classes/filters/index.ts +0 -6
- package/projects/ng-easycommerce/src/lib/classes/filters/sort-filter.ts +0 -93
- package/projects/ng-easycommerce/src/lib/classes/user.ts +0 -68
- package/projects/ng-easycommerce/src/lib/constants/api.constants.service.ts +0 -69
- package/projects/ng-easycommerce/src/lib/constants/core.constants.service.ts +0 -210
- package/projects/ng-easycommerce/src/lib/constants/index.ts +0 -2
- package/projects/ng-easycommerce/src/lib/ec-components/abstractions-components/block-ec.component.ts +0 -107
- package/projects/ng-easycommerce/src/lib/ec-components/abstractions-components/index.ts +0 -2
- package/projects/ng-easycommerce/src/lib/ec-components/abstractions-components/menu-ec.component.ts +0 -102
- package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/auth-ec.component.html +0 -10
- package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/auth-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/auth-ec.component.ts +0 -13
- package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/confirm-account-ec/confirm-account-ec.component.html +0 -19
- package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/confirm-account-ec/confirm-account-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/confirm-account-ec/confirm-account-ec.component.ts +0 -34
- package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/forgot-password-ec/forgot-password-ec.component.html +0 -31
- package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/forgot-password-ec/forgot-password-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/forgot-password-ec/forgot-password-ec.component.ts +0 -55
- package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.html +0 -30
- package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.ts +0 -92
- package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.html +0 -55
- package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.ts +0 -102
- package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.html +0 -233
- package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.ts +0 -149
- package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-banner-box-ec/block-banner-box-ec.component.html +0 -113
- package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-banner-box-ec/block-banner-box-ec.component.scss +0 -12
- package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-banner-box-ec/block-banner-box-ec.component.ts +0 -100
- package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.html +0 -111
- package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.ts +0 -77
- package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-form-contact-ec/block-form-contact-ec.component.html +0 -62
- package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-form-contact-ec/block-form-contact-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-form-contact-ec/block-form-contact-ec.component.ts +0 -89
- package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-html-ec/block-html-ec.component.html +0 -1
- package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-html-ec/block-html-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-html-ec/block-html-ec.component.ts +0 -33
- package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-newsletter-ec/block-newsletter-ec.component.html +0 -1
- package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-newsletter-ec/block-newsletter-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-newsletter-ec/block-newsletter-ec.component.ts +0 -81
- package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.html +0 -40
- package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.ts +0 -97
- package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/blocks-ec.component.html +0 -41
- package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/blocks-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/blocks-ec.component.ts +0 -86
- package/projects/ng-easycommerce/src/lib/ec-components/breadcrumb-ec/breadcrumb-ec.component.html +0 -20
- package/projects/ng-easycommerce/src/lib/ec-components/breadcrumb-ec/breadcrumb-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/breadcrumb-ec/breadcrumb-ec.component.ts +0 -30
- package/projects/ng-easycommerce/src/lib/ec-components/cart-ec/cart-ec.component.html +0 -1
- package/projects/ng-easycommerce/src/lib/ec-components/cart-ec/cart-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/cart-ec/cart-ec.component.ts +0 -24
- package/projects/ng-easycommerce/src/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.html +0 -1
- package/projects/ng-easycommerce/src/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.ts +0 -51
- package/projects/ng-easycommerce/src/lib/ec-components/cart-ec/index.ts +0 -2
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/checkout-ec.component.html +0 -56
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/checkout-ec.component.scss +0 -38
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/checkout-ec.component.ts +0 -67
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/dataform-ec/dataform-ec.component.html +0 -836
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/dataform-ec/dataform-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/dataform-ec/dataform-ec.component.ts +0 -302
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/dataform-ec/input-ec/input-ec.component.html +0 -32
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/dataform-ec/input-ec/input-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/dataform-ec/input-ec/input-ec.component.ts +0 -52
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.html +0 -12
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.ts +0 -48
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.html +0 -195
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.ts +0 -103
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/bank-transfer-ec/bank-transfer-ec.component.html +0 -28
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/bank-transfer-ec/bank-transfer-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/bank-transfer-ec/bank-transfer-ec.component.ts +0 -26
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.html +0 -33
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.ts +0 -116
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/offline-ec/offline-ec.component.html +0 -13
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/offline-ec/offline-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/offline-ec/offline-ec.component.ts +0 -26
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/shipment-ec/shipment-ec.component.html +0 -111
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/shipment-ec/shipment-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/shipment-ec/shipment-ec.component.ts +0 -111
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/step-container-ec/step-container-ec.component.html +0 -33
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/step-container-ec/step-container-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/step-container-ec/step-container-ec.component.ts +0 -39
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/success-ec/success-ec.component.html +0 -59
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/success-ec/success-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/success-ec/success-ec.component.ts +0 -65
- package/projects/ng-easycommerce/src/lib/ec-components/collection-ec/collection-ec.component.html +0 -16
- package/projects/ng-easycommerce/src/lib/ec-components/collection-ec/collection-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/collection-ec/collection-ec.component.ts +0 -83
- package/projects/ng-easycommerce/src/lib/ec-components/coupon-ec/coupon-ec.component.html +0 -1
- package/projects/ng-easycommerce/src/lib/ec-components/coupon-ec/coupon-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/coupon-ec/coupon-ec.component.ts +0 -32
- package/projects/ng-easycommerce/src/lib/ec-components/filters-ec/filters-ec.component.html +0 -1
- package/projects/ng-easycommerce/src/lib/ec-components/filters-ec/filters-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/filters-ec/filters-ec.component.ts +0 -45
- package/projects/ng-easycommerce/src/lib/ec-components/filters-sort-ec/filters-sort-ec.component.html +0 -1
- package/projects/ng-easycommerce/src/lib/ec-components/filters-sort-ec/filters-sort-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/filters-sort-ec/filters-sort-ec.component.ts +0 -49
- package/projects/ng-easycommerce/src/lib/ec-components/footer-ec/footer-ec.component.html +0 -1
- package/projects/ng-easycommerce/src/lib/ec-components/footer-ec/footer-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/footer-ec/footer-ec.component.spec.ts +0 -23
- package/projects/ng-easycommerce/src/lib/ec-components/footer-ec/footer-ec.component.ts +0 -18
- package/projects/ng-easycommerce/src/lib/ec-components/header-ec/header-ec.component.html +0 -1
- package/projects/ng-easycommerce/src/lib/ec-components/header-ec/header-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/header-ec/header-ec.component.spec.ts +0 -23
- package/projects/ng-easycommerce/src/lib/ec-components/header-ec/header-ec.component.ts +0 -22
- package/projects/ng-easycommerce/src/lib/ec-components/home-ec/home-ec.component.html +0 -1
- package/projects/ng-easycommerce/src/lib/ec-components/home-ec/home-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/home-ec/home-ec.component.spec.ts +0 -23
- package/projects/ng-easycommerce/src/lib/ec-components/home-ec/home-ec.component.ts +0 -16
- package/projects/ng-easycommerce/src/lib/ec-components/product-detail-ec/product-detail-ec.component.html +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/product-detail-ec/product-detail-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/product-detail-ec/product-detail-ec.component.ts +0 -82
- package/projects/ng-easycommerce/src/lib/ec-components/product-ec/product-ec.component.html +0 -31
- package/projects/ng-easycommerce/src/lib/ec-components/product-ec/product-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/product-ec/product-ec.component.ts +0 -46
- package/projects/ng-easycommerce/src/lib/ec-components/variants-ec/variants-ec.component.html +0 -65
- package/projects/ng-easycommerce/src/lib/ec-components/variants-ec/variants-ec.component.scss +0 -8
- package/projects/ng-easycommerce/src/lib/ec-components/variants-ec/variants-ec.component.ts +0 -20
- package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-full-ec/loading-full-ec.component.html +0 -7
- package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-full-ec/loading-full-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-full-ec/loading-full-ec.component.ts +0 -13
- package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-inline-ec/loading-inline-ec.component.html +0 -5
- package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-inline-ec/loading-inline-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-inline-ec/loading-inline-ec.component.ts +0 -13
- package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-section-ec/loading-section-ec.component.html +0 -3
- package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-section-ec/loading-section-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-section-ec/loading-section-ec.component.ts +0 -13
- package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/magnizoom-ec/magnizoom-ec.component.html +0 -11
- package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/magnizoom-ec/magnizoom-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/magnizoom-ec/magnizoom-ec.component.ts +0 -177
- package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/price-ec/price-ec.component.html +0 -47
- package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/price-ec/price-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/price-ec/price-ec.component.ts +0 -22
- package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/re-captcha-ec/re-captcha-ec.component.html +0 -6
- package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/re-captcha-ec/re-captcha-ec.component.scss +0 -0
- package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/re-captcha-ec/re-captcha-ec.component.ts +0 -70
- package/projects/ng-easycommerce/src/lib/ec-guards/auth.guard.ts +0 -19
- package/projects/ng-easycommerce/src/lib/ec-guards/index.ts +0 -1
- package/projects/ng-easycommerce/src/lib/ec-pipe/ec-currency-symbol.pipe.ts +0 -99
- package/projects/ng-easycommerce/src/lib/ec-pipe/index.ts +0 -1
- package/projects/ng-easycommerce/src/lib/ec-services/addressing.service.ts +0 -199
- package/projects/ng-easycommerce/src/lib/ec-services/analytics/analytics.service.ts +0 -76
- package/projects/ng-easycommerce/src/lib/ec-services/analytics/doppler.service.ts +0 -38
- package/projects/ng-easycommerce/src/lib/ec-services/analytics/facebook-pixel.service.ts +0 -214
- package/projects/ng-easycommerce/src/lib/ec-services/analytics/google-analytics.service.ts +0 -284
- package/projects/ng-easycommerce/src/lib/ec-services/analytics/gtm.service.ts +0 -413
- package/projects/ng-easycommerce/src/lib/ec-services/analytics/metricool-pixel.service.ts +0 -46
- package/projects/ng-easycommerce/src/lib/ec-services/auth.service.ts +0 -438
- package/projects/ng-easycommerce/src/lib/ec-services/auth.storage.service.ts +0 -54
- package/projects/ng-easycommerce/src/lib/ec-services/blocks-repository.service.ts +0 -67
- package/projects/ng-easycommerce/src/lib/ec-services/blocks.service.ts +0 -48
- package/projects/ng-easycommerce/src/lib/ec-services/cart.service.ts +0 -492
- package/projects/ng-easycommerce/src/lib/ec-services/channel.service.ts +0 -81
- package/projects/ng-easycommerce/src/lib/ec-services/checkout.service.ts +0 -196
- package/projects/ng-easycommerce/src/lib/ec-services/currency.service.ts +0 -179
- package/projects/ng-easycommerce/src/lib/ec-services/filters.service.ts +0 -133
- package/projects/ng-easycommerce/src/lib/ec-services/form.service.ts +0 -82
- package/projects/ng-easycommerce/src/lib/ec-services/local-storage.service.ts +0 -54
- package/projects/ng-easycommerce/src/lib/ec-services/ngx-local-storage.service.ts +0 -66
- package/projects/ng-easycommerce/src/lib/ec-services/options.service.ts +0 -274
- package/projects/ng-easycommerce/src/lib/ec-services/order-utility.service.ts +0 -52
- package/projects/ng-easycommerce/src/lib/ec-services/pagination.service.ts +0 -172
- package/projects/ng-easycommerce/src/lib/ec-services/parameters.service.ts +0 -67
- package/projects/ng-easycommerce/src/lib/ec-services/payment.service.ts +0 -63
- package/projects/ng-easycommerce/src/lib/ec-services/product-detail.service.ts +0 -288
- package/projects/ng-easycommerce/src/lib/ec-services/products.service.ts +0 -162
- package/projects/ng-easycommerce/src/lib/ec-services/re-captcha.service.ts +0 -126
- package/projects/ng-easycommerce/src/lib/ec-services/shipment.service.ts +0 -174
- package/projects/ng-easycommerce/src/lib/ec-services/stores.service.ts +0 -27
- package/projects/ng-easycommerce/src/lib/ec-services/toast.service.ts +0 -84
- package/projects/ng-easycommerce/src/lib/interceptors/auth.interceptor.ts +0 -43
- package/projects/ng-easycommerce/src/lib/interceptors/index.ts +0 -1
- package/projects/ng-easycommerce/src/lib/interfaces/analytics/event-key.ts +0 -14
- package/projects/ng-easycommerce/src/lib/interfaces/analytics/facebook-pixel-data.ts +0 -5
- package/projects/ng-easycommerce/src/lib/interfaces/blocks.ts +0 -56
- package/projects/ng-easycommerce/src/lib/interfaces/coupon.ts +0 -5
- package/projects/ng-easycommerce/src/lib/interfaces/currency.ts +0 -10
- package/projects/ng-easycommerce/src/lib/interfaces/options.ts +0 -28
- package/projects/ng-easycommerce/src/lib/interfaces/pagination.ts +0 -27
- package/projects/ng-easycommerce/src/lib/interfaces/parameter.ts +0 -15
- package/projects/ng-easycommerce/src/lib/interfaces/step.ts +0 -19
- package/projects/ng-easycommerce/src/lib/interfaces/storage.ts +0 -7
- package/projects/ng-easycommerce/src/lib/interfaces/types/index.ts +0 -1
- package/projects/ng-easycommerce/src/lib/interfaces/types/user.type.ts +0 -5
- package/projects/ng-easycommerce/src/lib/providers/index.ts +0 -1
- package/projects/ng-easycommerce/src/lib/providers/provideEnvironment.ts +0 -24
- package/projects/ng-easycommerce/src/lib/stores/currency.store.ts +0 -20
- package/projects/ng-easycommerce/src/lib/stores/index.ts +0 -1
- package/projects/ng-easycommerce/tsconfig.lib.json +0 -15
- package/projects/ng-easycommerce/tsconfig.lib.prod.json +0 -11
- package/projects/ng-easycommerce/tsconfig.spec.json +0 -15
- package/tsconfig.doc.json +0 -4
- package/tsconfig.json +0 -37
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Component, inject } from '@angular/core';
|
|
2
|
+
import { FormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';
|
|
3
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
4
|
+
import { LoadingInlineEcComponent } from "../../widgets-ec/loading";
|
|
5
|
+
import { firstValueFrom } from 'rxjs';
|
|
6
|
+
import { AuthService, ToastService } from '../../../ec-services';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@ngx-translate/core";
|
|
9
|
+
import * as i2 from "@angular/forms";
|
|
10
|
+
export class ForgotPasswordEcComponent {
|
|
11
|
+
_formBuilder = inject(FormBuilder);
|
|
12
|
+
_authService = inject(AuthService);
|
|
13
|
+
_toastService = inject(ToastService);
|
|
14
|
+
/**
|
|
15
|
+
* Para indicarle a la vista que se realizo con exito la petición
|
|
16
|
+
*/
|
|
17
|
+
ready = false;
|
|
18
|
+
/**
|
|
19
|
+
* Para mostrar el spinner.
|
|
20
|
+
*/
|
|
21
|
+
loading = false;
|
|
22
|
+
/**
|
|
23
|
+
* Contiene el formulario.
|
|
24
|
+
*/
|
|
25
|
+
form;
|
|
26
|
+
constructor() {
|
|
27
|
+
this.form = this._formBuilder.group({
|
|
28
|
+
email: ['', [Validators.required, Validators.email]],
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Genera una petición al backend para recuperar la contraseña.
|
|
33
|
+
* @param event
|
|
34
|
+
*/
|
|
35
|
+
recoverPassword = (event) => {
|
|
36
|
+
event.preventDefault();
|
|
37
|
+
this.loading = true;
|
|
38
|
+
firstValueFrom(this._authService.recoverPassword(this.form.value.email))
|
|
39
|
+
.then((res) => {
|
|
40
|
+
this.ready = true;
|
|
41
|
+
}).catch((res) => {
|
|
42
|
+
(!res || res.error)
|
|
43
|
+
? this._toastService.show('non-existent-email')
|
|
44
|
+
: this._toastService.show(res.error);
|
|
45
|
+
}).finally(() => this.loading = false);
|
|
46
|
+
};
|
|
47
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ForgotPasswordEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ForgotPasswordEcComponent, isStandalone: true, selector: "app-forgot-password-ec", ngImport: i0, template: "<div class=\"container\" id=\"passReset\">\n @if(!ready){\n <div>\n <form [formGroup]=\"form\" (submit)=\"recoverPassword($event)\" class=\"row justify-content-center\">\n <div class=\"col-12 col-md-10 text-center\">\n <h3>{{ 'set-forgot-email' | translate }}</h3>\n <div class=\"element-container\">\n <input type=\"email\" class=\"form-control\" formControlName=\"email\" />\n </div>\n <button class=\"btn btn-primary btn-passreset my-2\" type=\"submit\" [disabled]=\"form.invalid\">{{ 'recover-password' | translate\n }}</button>\n @if(loading)\n {\n <app-loading-inline-ec />\n }\n </div>\n </form>\n </div>\n } @else {\n <div class=\"row d-flex justify-content-center\">\n <div class=\"col-12 col-md-8\">\n <div class=\"element-container text-center\">\n <h3>{{ 'mail-sent' | translate }}</h3>\n </div>\n <div class=\"element-container text-center\">\n <h5 class=\"center-text\">{{ 'check-your-email' | translate }}</h5>\n </div>\n </div>\n </div>\n }\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: LoadingInlineEcComponent, selector: "app-loading-inline-ec", inputs: ["type"] }] });
|
|
49
|
+
}
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ForgotPasswordEcComponent, decorators: [{
|
|
51
|
+
type: Component,
|
|
52
|
+
args: [{ selector: 'app-forgot-password-ec', standalone: true, imports: [TranslateModule, ReactiveFormsModule, LoadingInlineEcComponent], template: "<div class=\"container\" id=\"passReset\">\n @if(!ready){\n <div>\n <form [formGroup]=\"form\" (submit)=\"recoverPassword($event)\" class=\"row justify-content-center\">\n <div class=\"col-12 col-md-10 text-center\">\n <h3>{{ 'set-forgot-email' | translate }}</h3>\n <div class=\"element-container\">\n <input type=\"email\" class=\"form-control\" formControlName=\"email\" />\n </div>\n <button class=\"btn btn-primary btn-passreset my-2\" type=\"submit\" [disabled]=\"form.invalid\">{{ 'recover-password' | translate\n }}</button>\n @if(loading)\n {\n <app-loading-inline-ec />\n }\n </div>\n </form>\n </div>\n } @else {\n <div class=\"row d-flex justify-content-center\">\n <div class=\"col-12 col-md-8\">\n <div class=\"element-container text-center\">\n <h3>{{ 'mail-sent' | translate }}</h3>\n </div>\n <div class=\"element-container text-center\">\n <h5 class=\"center-text\">{{ 'check-your-email' | translate }}</h5>\n </div>\n </div>\n </div>\n }\n</div>" }]
|
|
53
|
+
}], ctorParameters: () => [] });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZ290LXBhc3N3b3JkLWVjLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1jb21wb25lbnRzL2F1dGgtZWMvZm9yZ290LXBhc3N3b3JkLWVjL2ZvcmdvdC1wYXNzd29yZC1lYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hdXRoLWVjL2ZvcmdvdC1wYXNzd29yZC1lYy9mb3Jnb3QtcGFzc3dvcmQtZWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBYSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBU2pFLE1BQU0sT0FBTyx5QkFBeUI7SUFDN0IsWUFBWSxHQUFnQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEQsWUFBWSxHQUFnQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEQsYUFBYSxHQUFpQixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDM0Q7O09BRUc7SUFDSSxLQUFLLEdBQVksS0FBSyxDQUFDO0lBQzlCOztPQUVHO0lBQ0ksT0FBTyxHQUFZLEtBQUssQ0FBQztJQUVoQzs7T0FFRztJQUNJLElBQUksQ0FBVztJQUV0QjtRQUNDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7WUFDbkMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEQsQ0FBQyxDQUFBO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILGVBQWUsR0FBRyxDQUFDLEtBQVcsRUFBRSxFQUFFO1FBQ2pDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDdEUsSUFBSSxDQUFDLENBQUMsR0FBTyxFQUFFLEVBQUU7WUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUE7UUFDbEIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBTyxFQUFFLEVBQUU7WUFDcEIsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDO2dCQUNuQixDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUM7Z0JBQy9DLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUE7SUFDeEMsQ0FBQyxDQUFBO3VHQXZDVyx5QkFBeUI7MkZBQXpCLHlCQUF5QixrRkNkdEMscXZDQThCTSx5RERwQkssZUFBZSwyRkFBRSxtQkFBbUIsNjhCQUFFLHdCQUF3Qjs7MkZBSTVELHlCQUF5QjtrQkFQckMsU0FBUzsrQkFDQyx3QkFBd0IsY0FDdEIsSUFBSSxXQUNQLENBQUMsZUFBZSxFQUFFLG1CQUFtQixFQUFFLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTG9hZGluZ0lubGluZUVjQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL3dpZGdldHMtZWMvbG9hZGluZ1wiO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9lYy1zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2FwcC1mb3Jnb3QtcGFzc3dvcmQtZWMnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbVHJhbnNsYXRlTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBMb2FkaW5nSW5saW5lRWNDb21wb25lbnRdLFxuXHR0ZW1wbGF0ZVVybDogJy4vZm9yZ290LXBhc3N3b3JkLWVjLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmw6ICcuL2ZvcmdvdC1wYXNzd29yZC1lYy5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgRm9yZ290UGFzc3dvcmRFY0NvbXBvbmVudCB7XG5cdHByaXZhdGUgX2Zvcm1CdWlsZGVyOiBGb3JtQnVpbGRlciA9IGluamVjdChGb3JtQnVpbGRlcik7XG5cdHByaXZhdGUgX2F1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XG5cdHByaXZhdGUgX3RvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlID0gaW5qZWN0KFRvYXN0U2VydmljZSk7XG5cdC8qKlxuXHQgKiBQYXJhIGluZGljYXJsZSBhIGxhIHZpc3RhIHF1ZSBzZSByZWFsaXpvIGNvbiBleGl0byBsYSBwZXRpY2nDs25cblx0ICovXG5cdHB1YmxpYyByZWFkeTogYm9vbGVhbiA9IGZhbHNlO1xuXHQvKipcblx0ICogUGFyYSBtb3N0cmFyIGVsIHNwaW5uZXIuXG5cdCAqL1xuXHRwdWJsaWMgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG5cdC8qKlxuXHQgKiBDb250aWVuZSBlbCBmb3JtdWxhcmlvLlxuXHQgKi9cblx0cHVibGljIGZvcm06Rm9ybUdyb3VwO1xuXG5cdGNvbnN0cnVjdG9yKCl7XG5cdFx0dGhpcy5mb3JtID0gdGhpcy5fZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuXHRcdFx0ZW1haWw6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdXSxcblx0XHR9KVxuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYSB1bmEgcGV0aWNpw7NuIGFsIGJhY2tlbmQgcGFyYSByZWN1cGVyYXIgbGEgY29udHJhc2XDsWEuXG5cdCAqIEBwYXJhbSBldmVudCBcblx0ICovXG5cdHJlY292ZXJQYXNzd29yZCA9IChldmVudDpFdmVudCkgPT4ge1xuXHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0dGhpcy5sb2FkaW5nID0gdHJ1ZTtcblx0XHRmaXJzdFZhbHVlRnJvbSh0aGlzLl9hdXRoU2VydmljZS5yZWNvdmVyUGFzc3dvcmQodGhpcy5mb3JtLnZhbHVlLmVtYWlsKSlcblx0XHRcdC50aGVuKChyZXM6YW55KSA9PiB7XG5cdFx0XHRcdHRoaXMucmVhZHkgPSB0cnVlXG5cdFx0XHR9KS5jYXRjaCgocmVzOmFueSkgPT4ge1xuXHRcdFx0XHQoIXJlcyB8fCByZXMuZXJyb3IpXG5cdFx0XHRcdD8gdGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ25vbi1leGlzdGVudC1lbWFpbCcpXG5cdFx0XHRcdDogdGhpcy5fdG9hc3RTZXJ2aWNlLnNob3cocmVzLmVycm9yKTtcblx0XHRcdH0pLmZpbmFsbHkoKCkgPT4gdGhpcy5sb2FkaW5nID0gZmFsc2UpXG5cdH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXJcIiBpZD1cInBhc3NSZXNldFwiPlxuICAgIEBpZighcmVhZHkpe1xuICAgIDxkaXY+XG4gICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChzdWJtaXQpPVwicmVjb3ZlclBhc3N3b3JkKCRldmVudClcIiBjbGFzcz1cInJvdyBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1tZC0xMCB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxoMz57eyAnc2V0LWZvcmdvdC1lbWFpbCcgfCB0cmFuc2xhdGUgfX08L2gzPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbGVtZW50LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImVtYWlsXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbFwiIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tcGFzc3Jlc2V0IG15LTJcIiB0eXBlPVwic3VibWl0XCIgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZFwiPnt7ICdyZWNvdmVyLXBhc3N3b3JkJyB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgICAgICB9fTwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIEBpZihsb2FkaW5nKVxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICA8YXBwLWxvYWRpbmctaW5saW5lLWVjIC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZm9ybT5cbiAgICA8L2Rpdj5cbiAgICB9IEBlbHNlIHtcbiAgICA8ZGl2IGNsYXNzPVwicm93IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLW1kLThcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbGVtZW50LWNvbnRhaW5lciB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxoMz57eyAnbWFpbC1zZW50JyB8IHRyYW5zbGF0ZSB9fTwvaDM+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbGVtZW50LWNvbnRhaW5lciB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cImNlbnRlci10ZXh0XCI+e3sgJ2NoZWNrLXlvdXItZW1haWwnIHwgdHJhbnNsYXRlIH19PC9oNT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICB9XG48L2Rpdj4iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './auth-ec.component';
|
|
2
|
+
export * from './login-form-ec/login-form-ec.component';
|
|
3
|
+
export * from './forgot-password-ec/forgot-password-ec.component';
|
|
4
|
+
export * from './confirm-account-ec/confirm-account-ec.component';
|
|
5
|
+
export * from './register-form-ec/register-form-ec.component';
|
|
6
|
+
export * from './register-wholesaler-form-ec/register-wholesaler-form-ec.component';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hdXRoLWVjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHFFQUFxRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRoLWVjLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xvZ2luLWZvcm0tZWMvbG9naW4tZm9ybS1lYy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3Jnb3QtcGFzc3dvcmQtZWMvZm9yZ290LXBhc3N3b3JkLWVjLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpcm0tYWNjb3VudC1lYy9jb25maXJtLWFjY291bnQtZWMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmVnaXN0ZXItZm9ybS1lYy9yZWdpc3Rlci1mb3JtLWVjLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3JlZ2lzdGVyLXdob2xlc2FsZXItZm9ybS1lYy9yZWdpc3Rlci13aG9sZXNhbGVyLWZvcm0tZWMuY29tcG9uZW50JzsiXX0=
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { Component, EventEmitter, inject, Input, Output, signal } from '@angular/core';
|
|
2
|
+
import { LoadingSectionEcComponent } from '../../widgets-ec';
|
|
3
|
+
import { FormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';
|
|
4
|
+
import { Router, RouterLink } from '@angular/router';
|
|
5
|
+
import { AuthService, ToastService } from '../../../ec-services';
|
|
6
|
+
import { firstValueFrom } from 'rxjs';
|
|
7
|
+
import { JsonPipe } from '@angular/common';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/forms";
|
|
10
|
+
export class LoginFormEcComponent {
|
|
11
|
+
_authService = inject(AuthService);
|
|
12
|
+
_formBuilder = inject(FormBuilder);
|
|
13
|
+
_toastService = inject(ToastService);
|
|
14
|
+
_router = inject(Router);
|
|
15
|
+
/**
|
|
16
|
+
* Parametro para indicar si tras loguear
|
|
17
|
+
* debe redireccionar o no.
|
|
18
|
+
*/
|
|
19
|
+
redirect = true;
|
|
20
|
+
/**
|
|
21
|
+
* Parametro para indicar a donde redireccionar.
|
|
22
|
+
*/
|
|
23
|
+
redirectTo = '/';
|
|
24
|
+
ready = new EventEmitter();
|
|
25
|
+
/**
|
|
26
|
+
* Muestra si esta cargando o no.
|
|
27
|
+
*/
|
|
28
|
+
loading = false;
|
|
29
|
+
loggedIn = false;
|
|
30
|
+
/**
|
|
31
|
+
* Signal que guarda el formulario de login.
|
|
32
|
+
*/
|
|
33
|
+
loginForm = signal(this._formBuilder.group({
|
|
34
|
+
username: ['', Validators.required],
|
|
35
|
+
password: ['', Validators.required]
|
|
36
|
+
}));
|
|
37
|
+
/**
|
|
38
|
+
* Loguea al usuario en la plataforma.
|
|
39
|
+
* @param $event
|
|
40
|
+
* @param withRoles
|
|
41
|
+
* @returns
|
|
42
|
+
*/
|
|
43
|
+
login($event, withRoles = []) {
|
|
44
|
+
$event.preventDefault();
|
|
45
|
+
this.loading = true;
|
|
46
|
+
if (!this.loginForm().valid) {
|
|
47
|
+
this._toastService.show('login-form-incomplete');
|
|
48
|
+
this.loading = false;
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
firstValueFrom(this._authService.login(this.loginForm().value, withRoles)).then((res) => {
|
|
52
|
+
console.log(res);
|
|
53
|
+
if (res == 'ok') {
|
|
54
|
+
this.ready.emit(this.loginForm().value.username);
|
|
55
|
+
this.loggedIn = true;
|
|
56
|
+
this.redirect && this.redirectHome();
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
if (res == 'error') {
|
|
60
|
+
this._toastService.error('invalid-credentials');
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
this.loading = false;
|
|
64
|
+
}, (err) => {
|
|
65
|
+
this.loading = false;
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Si el servicio de auth tiene configurado a donde volver, se ejecutar ese caso.
|
|
70
|
+
* De lo contrario redirige al contenido de la variable `redirectTo`.
|
|
71
|
+
*/
|
|
72
|
+
redirectHome() {
|
|
73
|
+
const resolverFunction = this._authService.getHomeResolver();
|
|
74
|
+
resolverFunction
|
|
75
|
+
? resolverFunction()
|
|
76
|
+
: this._router.navigateByUrl(this.redirectTo);
|
|
77
|
+
}
|
|
78
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: LoginFormEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
79
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: LoginFormEcComponent, isStandalone: true, selector: "app-login-form-ec", inputs: { redirect: "redirect", redirectTo: "redirectTo" }, outputs: { ready: "ready" }, ngImport: i0, template: "<div class=\"d-flex flex-column position-relative\">\n <h1 class=\"right-line ff-ubuntu-light mb-2\"><span>Ingresar</span></h1>\n <p class=\"ff-ubuntu-light font-sm pr-4\">\n Si ya est\u00E1s registrado. Ingresa en tu cuenta con tu email y la\n contrase\u00F1a adecuada.\n </p>\n <div class=\"w-md-50 w-100 text-center\">\n <form [formGroup]=\"loginForm()\" (submit)=\"login($event)\">\n <input class=\"form-control mb-4 radius-0\" type=\"email\" formControlName=\"username\"\n placeholder=\"Correo Electr\u00F3nico\">\n <input class=\"form-control mb-4 radius-0\" type=\"password\" formControlName=\"password\"\n placeholder=\"Contrase\u00F1a\">\n\n <div class=\"row d-flex flex-column\">\n <div class=\"col-12\">\n <button type=\"submit\"\n class=\"bg-gray border-0 px-4 py-2 color-white ff-ubuntu-light\">INGRESAR</button>\n </div>\n <div class=\"col-12 d-flex justify-content-center align-items-center\">\n <a [routerLink]=\"'/auth/forgot-password'\" class=\"font-md ff-ubuntu-light\">\n \u00BFOlvid\u00F3 su contrase\u00F1a?\n </a>\n </div>\n </div>\n </form>\n </div>\n @if(loading){\n <app-loading-section-ec></app-loading-section-ec>\n }\n</div>", styles: [""], dependencies: [{ kind: "component", type: LoadingSectionEcComponent, selector: "app-loading-section-ec" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
|
|
80
|
+
}
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: LoginFormEcComponent, decorators: [{
|
|
82
|
+
type: Component,
|
|
83
|
+
args: [{ selector: 'app-login-form-ec', standalone: true, imports: [LoadingSectionEcComponent, ReactiveFormsModule, RouterLink, JsonPipe], template: "<div class=\"d-flex flex-column position-relative\">\n <h1 class=\"right-line ff-ubuntu-light mb-2\"><span>Ingresar</span></h1>\n <p class=\"ff-ubuntu-light font-sm pr-4\">\n Si ya est\u00E1s registrado. Ingresa en tu cuenta con tu email y la\n contrase\u00F1a adecuada.\n </p>\n <div class=\"w-md-50 w-100 text-center\">\n <form [formGroup]=\"loginForm()\" (submit)=\"login($event)\">\n <input class=\"form-control mb-4 radius-0\" type=\"email\" formControlName=\"username\"\n placeholder=\"Correo Electr\u00F3nico\">\n <input class=\"form-control mb-4 radius-0\" type=\"password\" formControlName=\"password\"\n placeholder=\"Contrase\u00F1a\">\n\n <div class=\"row d-flex flex-column\">\n <div class=\"col-12\">\n <button type=\"submit\"\n class=\"bg-gray border-0 px-4 py-2 color-white ff-ubuntu-light\">INGRESAR</button>\n </div>\n <div class=\"col-12 d-flex justify-content-center align-items-center\">\n <a [routerLink]=\"'/auth/forgot-password'\" class=\"font-md ff-ubuntu-light\">\n \u00BFOlvid\u00F3 su contrase\u00F1a?\n </a>\n </div>\n </div>\n </form>\n </div>\n @if(loading){\n <app-loading-section-ec></app-loading-section-ec>\n }\n</div>" }]
|
|
84
|
+
}], propDecorators: { redirect: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], redirectTo: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], ready: [{
|
|
89
|
+
type: Output
|
|
90
|
+
}] } });
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tZm9ybS1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hdXRoLWVjL2xvZ2luLWZvcm0tZWMvbG9naW4tZm9ybS1lYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hdXRoLWVjL2xvZ2luLWZvcm0tZWMvbG9naW4tZm9ybS1lYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBYSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVMzQyxNQUFNLE9BQU8sb0JBQW9CO0lBQ3hCLFlBQVksR0FBZSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0MsWUFBWSxHQUFlLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvQyxhQUFhLEdBQWdCLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsRCxPQUFPLEdB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ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9hZGluZ1NlY3Rpb25FY0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3dpZGdldHMtZWMnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJvdXRlciwgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBdXRoU2VydmljZSwgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZWMtc2VydmljZXMnO1xuaW1wb3J0IHsgVXNlclJvbGVUeXBlIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSnNvblBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdhcHAtbG9naW4tZm9ybS1lYycsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtMb2FkaW5nU2VjdGlvbkVjQ29tcG9uZW50LCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBSb3V0ZXJMaW5rLCBKc29uUGlwZV0sXG5cdHRlbXBsYXRlVXJsOiAnLi9sb2dpbi1mb3JtLWVjLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmw6ICcuL2xvZ2luLWZvcm0tZWMuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luRm9ybUVjQ29tcG9uZW50IHtcblx0cHJpdmF0ZSBfYXV0aFNlcnZpY2U6QXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuXHRwcml2YXRlIF9mb3JtQnVpbGRlcjpGb3JtQnVpbGRlciA9IGluamVjdChGb3JtQnVpbGRlcik7XG5cdHByaXZhdGUgX3RvYXN0U2VydmljZTpUb2FzdFNlcnZpY2UgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKTtcblx0cHJpdmF0ZSBfcm91dGVyOlJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXHQvKipcblx0ICogUGFyYW1ldHJvIHBhcmEgaW5kaWNhciBzaSB0cmFzIGxvZ3VlYXJcblx0ICogZGViZSByZWRpcmVjY2lvbmFyIG8gbm8uXG5cdCAqL1xuXHRASW5wdXQoKSByZWRpcmVjdDpib29sZWFuID0gdHJ1ZTtcblx0LyoqXG5cdCAqIFBhcmFtZXRybyBwYXJhIGluZGljYXIgYSBkb25kZSByZWRpcmVjY2lvbmFyLlxuXHQgKi9cblx0QElucHV0KCkgcmVkaXJlY3RUbzpzdHJpbmcgPSAnLyc7XG5cdEBPdXRwdXQoKSByZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblx0LyoqXG5cdCAqIE11ZXN0cmEgc2kgZXN0YSBjYXJnYW5kbyBvIG5vLlxuXHQgKi9cblx0cHVibGljIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblx0cHVibGljIGxvZ2dlZEluOiBib29sZWFuID0gZmFsc2U7XG5cdC8qKlxuXHQgKiBTaWduYWwgcXVlIGd1YXJkYSBlbCBmb3JtdWxhcmlvIGRlIGxvZ2luLlxuXHQgKi9cblx0cHVibGljIGxvZ2luRm9ybTogYW55ID0gc2lnbmFsPEZvcm1Hcm91cD4oXG5cdFx0dGhpcy5fZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuXHRcdFx0dXNlcm5hbWU6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG5cdFx0XHRwYXNzd29yZDogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXVxuXHRcdH0pXG5cdCk7XG5cdC8qKlxuXHQgKiBMb2d1ZWEgYWwgdXN1YXJpbyBlbiBsYSBwbGF0YWZvcm1hLlxuXHQgKiBAcGFyYW0gJGV2ZW50IFxuXHQgKiBAcGFyYW0gd2l0aFJvbGVzIFxuXHQgKiBAcmV0dXJucyBcblx0ICovXG5cdHB1YmxpYyBsb2dpbigkZXZlbnQ6IEV2ZW50LCB3aXRoUm9sZXM6IFVzZXJSb2xlVHlwZVtdID0gW10pe1xuXHRcdCRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdHRoaXMubG9hZGluZyA9IHRydWU7XG5cdFx0aWYoIXRoaXMubG9naW5Gb3JtKCkudmFsaWQpe1xuXHRcdFx0dGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ2xvZ2luLWZvcm0taW5jb21wbGV0ZScpXG5cdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0Zmlyc3RWYWx1ZUZyb20odGhpcy5fYXV0aFNlcnZpY2UubG9naW4odGhpcy5sb2dpbkZvcm0oKS52YWx1ZSwgd2l0aFJvbGVzKSkudGhlbihcblx0XHRcdChyZXM6YW55KSA9PiB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XG5cdFx0XHRcdGlmKHJlcyA9PSAnb2snKXtcblx0XHRcdFx0XHR0aGlzLnJlYWR5LmVtaXQodGhpcy5sb2dpbkZvcm0oKS52YWx1ZS51c2VybmFtZSk7XG5cdFx0XHRcdFx0dGhpcy5sb2dnZWRJbiA9IHRydWU7XG5cdFx0XHRcdFx0dGhpcy5yZWRpcmVjdCAmJiB0aGlzLnJlZGlyZWN0SG9tZSgpO1xuXG5cdFx0XHRcdH1cblx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0aWYocmVzID09ICdlcnJvcicpe1xuXHRcdFx0XHRcdFx0dGhpcy5fdG9hc3RTZXJ2aWNlLmVycm9yKCdpbnZhbGlkLWNyZWRlbnRpYWxzJylcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2U7XG5cdFx0XHR9LFxuXHRcdFx0KGVycjphbnkpID0+IHtcblx0XHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2U7XG5cdFx0XHR9XG5cdFx0KVxuXHR9XG5cdC8qKlxuXHQgKiBTaSBlbCBzZXJ2aWNpbyBkZSBhdXRoIHRpZW5lIGNvbmZpZ3VyYWRvIGEgZG9uZGUgdm9sdmVyLCBzZSBlamVjdXRhciBlc2UgY2Fzby5cblx0ICogRGUgbG8gY29udHJhcmlvIHJlZGlyaWdlIGFsIGNvbnRlbmlkbyBkZSBsYSB2YXJpYWJsZSBgcmVkaXJlY3RUb2AuXG5cdCAqL1xuXHRyZWRpcmVjdEhvbWUoKXtcbiAgICAgICAgY29uc3QgcmVzb2x2ZXJGdW5jdGlvbiA9IHRoaXMuX2F1dGhTZXJ2aWNlLmdldEhvbWVSZXNvbHZlcigpXG4gICAgICAgIHJlc29sdmVyRnVuY3Rpb25cbiAgICAgICAgICAgID8gcmVzb2x2ZXJGdW5jdGlvbigpXG4gICAgICAgICAgICA6IHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRoaXMucmVkaXJlY3RUbylcbiAgICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gcG9zaXRpb24tcmVsYXRpdmVcIj5cbiAgICA8aDEgY2xhc3M9XCJyaWdodC1saW5lIGZmLXVidW50dS1saWdodCBtYi0yXCI+PHNwYW4+SW5ncmVzYXI8L3NwYW4+PC9oMT5cbiAgICA8cCBjbGFzcz1cImZmLXVidW50dS1saWdodCBmb250LXNtIHByLTRcIj5cbiAgICAgICAgU2kgeWEgZXN0w6FzIHJlZ2lzdHJhZG8uIEluZ3Jlc2EgZW4gdHUgY3VlbnRhIGNvbiB0dSBlbWFpbCB5IGxhXG4gICAgICAgIGNvbnRyYXNlw7FhIGFkZWN1YWRhLlxuICAgIDwvcD5cbiAgICA8ZGl2IGNsYXNzPVwidy1tZC01MCB3LTEwMCB0ZXh0LWNlbnRlclwiPlxuICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImxvZ2luRm9ybSgpXCIgKHN1Ym1pdCk9XCJsb2dpbigkZXZlbnQpXCI+XG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbWItNCByYWRpdXMtMFwiIHR5cGU9XCJlbWFpbFwiIGZvcm1Db250cm9sTmFtZT1cInVzZXJuYW1lXCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkNvcnJlbyBFbGVjdHLDs25pY29cIj5cbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbCBtYi00IHJhZGl1cy0wXCIgdHlwZT1cInBhc3N3b3JkXCIgZm9ybUNvbnRyb2xOYW1lPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQ29udHJhc2XDsWFcIj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBkLWZsZXggZmxleC1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJnLWdyYXkgYm9yZGVyLTAgcHgtNCBweS0yIGNvbG9yLXdoaXRlIGZmLXVidW50dS1saWdodFwiPklOR1JFU0FSPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiJy9hdXRoL2ZvcmdvdC1wYXNzd29yZCdcIiBjbGFzcz1cImZvbnQtbWQgZmYtdWJ1bnR1LWxpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICDCv09sdmlkw7Mgc3UgY29udHJhc2XDsWE/XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Zvcm0+XG4gICAgPC9kaXY+XG4gICAgQGlmKGxvYWRpbmcpe1xuICAgIDxhcHAtbG9hZGluZy1zZWN0aW9uLWVjPjwvYXBwLWxvYWRpbmctc2VjdGlvbi1lYz5cbiAgICB9XG48L2Rpdj4iXX0=
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { Component, EventEmitter, inject, Input, Output } from '@angular/core';
|
|
2
|
+
import { AnalyticsService, AuthService, ToastService } from '../../../ec-services';
|
|
3
|
+
import { Router } from '@angular/router';
|
|
4
|
+
import { FormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';
|
|
5
|
+
import { LoadingSectionEcComponent } from "../../widgets-ec/loading";
|
|
6
|
+
import { firstValueFrom } from 'rxjs';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/forms";
|
|
9
|
+
export class RegisterFormEcComponent {
|
|
10
|
+
_authService = inject(AuthService);
|
|
11
|
+
_toastService = inject(ToastService);
|
|
12
|
+
_router = inject(Router);
|
|
13
|
+
_analyticsService = inject(AnalyticsService);
|
|
14
|
+
_formBuilder = inject(FormBuilder);
|
|
15
|
+
/**
|
|
16
|
+
* Indica si debe redireccionar o se queda en la misma pantalla
|
|
17
|
+
*/
|
|
18
|
+
redirect = true;
|
|
19
|
+
/**
|
|
20
|
+
* Para que se puede capturar el estado de la petición de registro.
|
|
21
|
+
*/
|
|
22
|
+
ready = new EventEmitter();
|
|
23
|
+
/**
|
|
24
|
+
* Contiene el formulario de registro.
|
|
25
|
+
*/
|
|
26
|
+
form;
|
|
27
|
+
/**
|
|
28
|
+
* Para indicar que se esta procesando la solicitud de registro.
|
|
29
|
+
*/
|
|
30
|
+
loading = false;
|
|
31
|
+
/**
|
|
32
|
+
* Para indicar el exito de la solicitud de registro.
|
|
33
|
+
*/
|
|
34
|
+
success = false;
|
|
35
|
+
constructor() {
|
|
36
|
+
this.form = this._formBuilder.group({
|
|
37
|
+
firstName: ['', Validators.required],
|
|
38
|
+
lastName: ['', Validators.required],
|
|
39
|
+
email: ['', [Validators.required, Validators.email]],
|
|
40
|
+
plainPassword: ['', Validators.required],
|
|
41
|
+
plainPassword2: ['', Validators.required],
|
|
42
|
+
newsletter: [false],
|
|
43
|
+
terms: ['', Validators.required],
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Registra un usuario.
|
|
48
|
+
* @param event
|
|
49
|
+
* @returns
|
|
50
|
+
*/
|
|
51
|
+
register(event) {
|
|
52
|
+
event.preventDefault();
|
|
53
|
+
this.loading = true;
|
|
54
|
+
if (!this.form.valid) {
|
|
55
|
+
this._toastService.show('fields-incomplete');
|
|
56
|
+
this.loading = false;
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
;
|
|
60
|
+
if (this.form.value.plainPassword != this.form.value.plainPassword2) {
|
|
61
|
+
this._toastService.show('mismatched-password');
|
|
62
|
+
this.loading = false;
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
if (this.form.valid) {
|
|
66
|
+
firstValueFrom(this._authService.singUp(this.form.value)).then(res => {
|
|
67
|
+
this.loading = false;
|
|
68
|
+
this._toastService.success('register-ok');
|
|
69
|
+
this._analyticsService.callEvent('sign_up', {
|
|
70
|
+
firstName: this.form.value.firstName,
|
|
71
|
+
lastName: this.form.value.lastName,
|
|
72
|
+
email: this.form.value.email
|
|
73
|
+
});
|
|
74
|
+
this.success = true;
|
|
75
|
+
this.ready.emit(true);
|
|
76
|
+
if (this.redirect) {
|
|
77
|
+
this._router.navigateByUrl('home');
|
|
78
|
+
}
|
|
79
|
+
}, err => {
|
|
80
|
+
this.loading = false;
|
|
81
|
+
if (err.status == 400) {
|
|
82
|
+
this._toastService.show('email-already-registered');
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
this._toastService.error('email-register-error');
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
this._toastService.show('invalid-form');
|
|
91
|
+
this.loading = false;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: RegisterFormEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
95
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: RegisterFormEcComponent, isStandalone: true, selector: "app-register-form-ec", inputs: { redirect: "redirect" }, outputs: { ready: "ready" }, ngImport: i0, template: "<div class=\"w-100 pl-md-5 position-relative\" id=\"register\">\n <div class=\"py-2\">\n <h5>CREAR CUENTA</h5>\n </div>\n <form id=\"registro\" [formGroup]=\"form\" (submit)=\"register($event)\">\n <div class=\"form-group\">\n <label for=\"\" class=\"form-label\">NOMBRE</label>\n <input formControlName=\"firstName\" class=\"form-control rounded-0\" type=\"text\" placeholder=\"Nombre\">\n </div>\n <div class=\"form-group\">\n <label for=\"\" class=\"form-label\">APELLIDO</label>\n <input formControlName=\"lastName\" class=\"form-control rounded-0\" type=\"text\" placeholder=\"Apellido\">\n </div>\n <div class=\"form-group\">\n <label for=\"\" class=\"\">CORREO ELECTRONICO</label>\n <input formControlName=\"email\" email required class=\"form-control rounded-0\" type=\"email\"\n placeholder=\"Correo electr\u00F3nico\">\n </div>\n <div class=\"form-group\">\n <label for=\"\" class=\"form-label\">CONTRASE\u00D1A</label>\n <input formControlName=\"plainPassword\" required class=\"form-control rounded-0\" type=\"password\"\n placeholder=\"Contrase\u00F1a\">\n </div>\n <div class=\"form-group\">\n <label for=\"\" class=\"form-label\">REPETIR CONTRASE\u00D1A</label>\n <input formControlName=\"plainPassword2\" required class=\"form-control rounded-0\" type=\"password\"\n placeholder=\"Repetir contrase\u00F1a\">\n </div>\n\n <div class=\"custom-control d-flex flex-row form-check custom-checkbox mr-sm-2 mt-4 mb-2\">\n <input type=\"checkbox\" formControlName=\"terms\" required class=\"custom-control-input form-check-input\" name=\"Color2\"\n id=\"Color2\">\n <label class=\"custom-control-label ff-ubuntu-light font-sm form-check-label\" for=\"Color2\"> He\n le\u00EDdo y acepto las pol\u00EDticas de privacidad y los t\u00E9rminos y\n condiciones</label>\n </div>\n\n <div class=\"custom-control d-flex flex-row form-check custom-checkbox mr-sm-2 mb-4\">\n <input type=\"checkbox\" formControlName=\"newsletter\" class=\"custom-control-input form-check-input\" name=\"Color3\" id=\"Color3\">\n <label class=\"custom-control-label form-check-label ff-ubuntu-light font-sm\" for=\"Color3\">\n Suscripci\u00F3n al Newsletter</label>\n </div>\n\n <div class=\"row\">\n <div class=\"col-12\">\n <button [disabled]=\"form.invalid\" type=\"submit\"\n class=\"btn btn-primary px-5 py-2 h-fit\">CREAR</button>\n </div>\n </div>\n </form>\n @if(loading){\n <app-loading-section-ec />\n }\n \n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.CheckboxRequiredValidator, selector: "input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]" }, { kind: "directive", type: i1.EmailValidator, selector: "[email][formControlName],[email][formControl],[email][ngModel]", inputs: ["email"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: LoadingSectionEcComponent, selector: "app-loading-section-ec" }] });
|
|
96
|
+
}
|
|
97
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: RegisterFormEcComponent, decorators: [{
|
|
98
|
+
type: Component,
|
|
99
|
+
args: [{ selector: 'app-register-form-ec', standalone: true, imports: [ReactiveFormsModule, LoadingSectionEcComponent], template: "<div class=\"w-100 pl-md-5 position-relative\" id=\"register\">\n <div class=\"py-2\">\n <h5>CREAR CUENTA</h5>\n </div>\n <form id=\"registro\" [formGroup]=\"form\" (submit)=\"register($event)\">\n <div class=\"form-group\">\n <label for=\"\" class=\"form-label\">NOMBRE</label>\n <input formControlName=\"firstName\" class=\"form-control rounded-0\" type=\"text\" placeholder=\"Nombre\">\n </div>\n <div class=\"form-group\">\n <label for=\"\" class=\"form-label\">APELLIDO</label>\n <input formControlName=\"lastName\" class=\"form-control rounded-0\" type=\"text\" placeholder=\"Apellido\">\n </div>\n <div class=\"form-group\">\n <label for=\"\" class=\"\">CORREO ELECTRONICO</label>\n <input formControlName=\"email\" email required class=\"form-control rounded-0\" type=\"email\"\n placeholder=\"Correo electr\u00F3nico\">\n </div>\n <div class=\"form-group\">\n <label for=\"\" class=\"form-label\">CONTRASE\u00D1A</label>\n <input formControlName=\"plainPassword\" required class=\"form-control rounded-0\" type=\"password\"\n placeholder=\"Contrase\u00F1a\">\n </div>\n <div class=\"form-group\">\n <label for=\"\" class=\"form-label\">REPETIR CONTRASE\u00D1A</label>\n <input formControlName=\"plainPassword2\" required class=\"form-control rounded-0\" type=\"password\"\n placeholder=\"Repetir contrase\u00F1a\">\n </div>\n\n <div class=\"custom-control d-flex flex-row form-check custom-checkbox mr-sm-2 mt-4 mb-2\">\n <input type=\"checkbox\" formControlName=\"terms\" required class=\"custom-control-input form-check-input\" name=\"Color2\"\n id=\"Color2\">\n <label class=\"custom-control-label ff-ubuntu-light font-sm form-check-label\" for=\"Color2\"> He\n le\u00EDdo y acepto las pol\u00EDticas de privacidad y los t\u00E9rminos y\n condiciones</label>\n </div>\n\n <div class=\"custom-control d-flex flex-row form-check custom-checkbox mr-sm-2 mb-4\">\n <input type=\"checkbox\" formControlName=\"newsletter\" class=\"custom-control-input form-check-input\" name=\"Color3\" id=\"Color3\">\n <label class=\"custom-control-label form-check-label ff-ubuntu-light font-sm\" for=\"Color3\">\n Suscripci\u00F3n al Newsletter</label>\n </div>\n\n <div class=\"row\">\n <div class=\"col-12\">\n <button [disabled]=\"form.invalid\" type=\"submit\"\n class=\"btn btn-primary px-5 py-2 h-fit\">CREAR</button>\n </div>\n </div>\n </form>\n @if(loading){\n <app-loading-section-ec />\n }\n \n</div>\n" }]
|
|
100
|
+
}], ctorParameters: () => [], propDecorators: { redirect: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], ready: [{
|
|
103
|
+
type: Output
|
|
104
|
+
}] } });
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItZm9ybS1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hdXRoLWVjL3JlZ2lzdGVyLWZvcm0tZWMvcmVnaXN0ZXItZm9ybS1lYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hdXRoLWVjL3JlZ2lzdGVyLWZvcm0tZWMvcmVnaXN0ZXItZm9ybS1lYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFhLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQVN0QyxNQUFNLE9BQU8sdUJBQXVCO0lBQzNCLFlBQVksR0FBZ0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hELGFBQWEsR0FBaUIsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ25ELE9BQU8sR0FBVyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsaUJBQWlCLEdBQXFCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lB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QUNuQyxDQUFDO1lBQ0YsQ0FBQyxFQUNELEdBQUcsQ0FBQyxFQUFFO2dCQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFBO2dCQUNwQixJQUFHLEdBQUcsQ0FBQyxNQUFNLElBQUksR0FBRyxFQUFDLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUE7Z0JBQ3BELENBQUM7cUJBQU0sQ0FBQztvQkFDUCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO2dCQUNqRCxDQUFDO1lBQ0YsQ0FBQyxDQUNELENBQUE7UUFDRixDQUFDO2FBQU0sQ0FBQztZQUNQLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1lBQ3ZDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFBO1FBQ3JCLENBQUM7SUFDRixDQUFDO3VHQXJGVyx1QkFBdUI7MkZBQXZCLHVCQUF1QiwrSUNkcEMsZ3RGQXVEQSx5REQ3Q1csbUJBQW1CLHNyREFBRSx5QkFBeUI7OzJGQUk1Qyx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0Msc0JBQXNCLGNBQ3BCLElBQUksV0FDUCxDQUFDLG1CQUFtQixFQUFFLHlCQUF5QixDQUFDO3dEQWFoRCxRQUFRO3NCQUFoQixLQUFLO2dCQUlJLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5hbHl0aWNzU2VydmljZSwgQXV0aFNlcnZpY2UsIFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2VjLXNlcnZpY2VzJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTG9hZGluZ1NlY3Rpb25FY0NvbXBvbmVudCB9IGZyb20gXCIuLi8uLi93aWRnZXRzLWVjL2xvYWRpbmdcIjtcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2FwcC1yZWdpc3Rlci1mb3JtLWVjJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGUsIExvYWRpbmdTZWN0aW9uRWNDb21wb25lbnRdLFxuXHR0ZW1wbGF0ZVVybDogJy4vcmVnaXN0ZXItZm9ybS1lYy5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL3JlZ2lzdGVyLWZvcm0tZWMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBSZWdpc3RlckZvcm1FY0NvbXBvbmVudCB7XG5cdHByaXZhdGUgX2F1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XG5cdHByaXZhdGUgX3RvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlID0gaW5qZWN0KFRvYXN0U2VydmljZSk7XG5cdHByaXZhdGUgX3JvdXRlcjogUm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG5cdHByaXZhdGUgX2FuYWx5dGljc1NlcnZpY2U6IEFuYWx5dGljc1NlcnZpY2UgPSBpbmplY3QoQW5hbHl0aWNzU2VydmljZSk7XG5cdHByaXZhdGUgX2Zvcm1CdWlsZGVyOiBGb3JtQnVpbGRlciA9IGluamVjdChGb3JtQnVpbGRlcik7XG5cdCAvKipcbiAgICAgKiBJbmRpY2Egc2kgZGViZSByZWRpcmVjY2lvbmFyIG8gc2UgcXVlZGEgZW4gbGEgbWlzbWEgcGFudGFsbGFcbiAgICAgKi9cblx0QElucHV0KCkgcmVkaXJlY3Q6Ym9vbGVhbiA9IHRydWU7XG5cdC8qKlxuICAgICAqIFBhcmEgcXVlIHNlIHB1ZWRlIGNhcHR1cmFyIGVsIGVzdGFkbyBkZSBsYSBwZXRpY2nDs24gZGUgcmVnaXN0cm8uXG4gICAgICovXG5cdEBPdXRwdXQoKSByZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblx0LyoqXG5cdCAqIENvbnRpZW5lIGVsIGZvcm11bGFyaW8gZGUgcmVnaXN0cm8uXG5cdCAqL1xuXHRwdWJsaWMgZm9ybTogRm9ybUdyb3VwO1xuXHQvKipcblx0ICogUGFyYSBpbmRpY2FyIHF1ZSBzZSBlc3RhIHByb2Nlc2FuZG8gbGEgc29saWNpdHVkIGRlIHJlZ2lzdHJvLlxuXHQgKi9cblx0cHVibGljIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblx0LyoqXG5cdCAqIFBhcmEgaW5kaWNhciBlbCBleGl0byBkZSBsYSBzb2xpY2l0dWQgZGUgcmVnaXN0cm8uXG5cdCAqL1xuXHRwdWJsaWMgc3VjY2VzczogYm9vbGVhbiA9IGZhbHNlO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHRoaXMuZm9ybSA9IHRoaXMuX2Zvcm1CdWlsZGVyLmdyb3VwKHtcblx0XHRcdGZpcnN0TmFtZTogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcblx0XHRcdGxhc3ROYW1lOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuXHRcdFx0ZW1haWw6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdXSxcblx0XHRcdHBsYWluUGFzc3dvcmQ6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG5cdFx0XHRwbGFpblBhc3N3b3JkMjogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcblx0XHRcdG5ld3NsZXR0ZXI6IFtmYWxzZV0sXG5cdFx0XHR0ZXJtczogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcblx0XHR9KTtcblx0fVxuXHQvKipcblx0ICogUmVnaXN0cmEgdW4gdXN1YXJpby5cblx0ICogQHBhcmFtIGV2ZW50IFxuXHQgKiBAcmV0dXJucyBcblx0ICovXG5cdHJlZ2lzdGVyKGV2ZW50OiBFdmVudCl7XG5cdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xuXHRcdGlmICghdGhpcy5mb3JtLnZhbGlkKSB7XG4gICAgICAgICAgICB0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnZmllbGRzLWluY29tcGxldGUnKTtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH07XG5cdFx0aWYgKHRoaXMuZm9ybS52YWx1ZS5wbGFpblBhc3N3b3JkICE9IHRoaXMuZm9ybS52YWx1ZS5wbGFpblBhc3N3b3JkMikge1xuICAgICAgICAgICAgdGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ21pc21hdGNoZWQtcGFzc3dvcmQnKTtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblx0XHRpZih0aGlzLmZvcm0udmFsaWQpe1xuXHRcdFx0Zmlyc3RWYWx1ZUZyb20odGhpcy5fYXV0aFNlcnZpY2Uuc2luZ1VwKHRoaXMuZm9ybS52YWx1ZSkpLnRoZW4oXG5cdFx0XHRcdHJlcyA9PiB7XG5cdFx0XHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2Vcblx0XHRcdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc3VjY2VzcygncmVnaXN0ZXItb2snKVxuXHRcdFx0XHRcdHRoaXMuX2FuYWx5dGljc1NlcnZpY2UuY2FsbEV2ZW50KCdzaWduX3VwJywge1xuXHRcdFx0XHRcdFx0Zmlyc3ROYW1lOiB0aGlzLmZvcm0udmFsdWUuZmlyc3ROYW1lLFxuXHRcdFx0XHRcdFx0bGFzdE5hbWU6IHRoaXMuZm9ybS52YWx1ZS5sYXN0TmFtZSxcblx0XHRcdFx0XHRcdGVtYWlsOiB0aGlzLmZvcm0udmFsdWUuZW1haWxcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdHRoaXMuc3VjY2VzcyA9IHRydWVcblx0XHRcdFx0XHR0aGlzLnJlYWR5LmVtaXQodHJ1ZSlcblx0XHRcdFx0XHRpZih0aGlzLnJlZGlyZWN0KXtcblx0XHRcdFx0XHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKCdob21lJylcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdGVyciA9PiB7XG5cdFx0XHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2Vcblx0XHRcdFx0XHRpZihlcnIuc3RhdHVzID09IDQwMCl7XG5cdFx0XHRcdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnZW1haWwtYWxyZWFkeS1yZWdpc3RlcmVkJylcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0dGhpcy5fdG9hc3RTZXJ2aWNlLmVycm9yKCdlbWFpbC1yZWdpc3Rlci1lcnJvcicpXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHQpXG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdpbnZhbGlkLWZvcm0nKVxuXHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2Vcblx0XHR9XG5cdH1cblxufVxuIiwiPGRpdiBjbGFzcz1cInctMTAwIHBsLW1kLTUgcG9zaXRpb24tcmVsYXRpdmVcIiBpZD1cInJlZ2lzdGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJweS0yXCI+XG4gICAgICA8aDU+Q1JFQVIgQ1VFTlRBPC9oNT5cbiAgPC9kaXY+XG4gIDxmb3JtIGlkPVwicmVnaXN0cm9cIiBbZm9ybUdyb3VwXT1cImZvcm1cIiAoc3VibWl0KT1cInJlZ2lzdGVyKCRldmVudClcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgPGxhYmVsIGZvcj1cIlwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPk5PTUJSRTwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cImZpcnN0TmFtZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sIHJvdW5kZWQtMFwiIHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJOb21icmVcIj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwiXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+QVBFTExJRE88L2xhYmVsPlxuICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJsYXN0TmFtZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sIHJvdW5kZWQtMFwiIHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJBcGVsbGlkb1wiPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIiBjbGFzcz1cIlwiPkNPUlJFTyBFTEVDVFJPTklDTzwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCIgZW1haWwgcmVxdWlyZWQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgcm91bmRlZC0wXCIgdHlwZT1cImVtYWlsXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJDb3JyZW8gZWxlY3Ryw7NuaWNvXCI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgPGxhYmVsIGZvcj1cIlwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkNPTlRSQVNFw5FBPC9sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwicGxhaW5QYXNzd29yZFwiIHJlcXVpcmVkIGNsYXNzPVwiZm9ybS1jb250cm9sIHJvdW5kZWQtMFwiIHR5cGU9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQ29udHJhc2XDsWFcIj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwiXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+UkVQRVRJUiBDT05UUkFTRcORQTwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cInBsYWluUGFzc3dvcmQyXCIgcmVxdWlyZWQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgcm91bmRlZC0wXCIgdHlwZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJSZXBldGlyIGNvbnRyYXNlw7FhXCI+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1jb250cm9sIGQtZmxleCBmbGV4LXJvdyBmb3JtLWNoZWNrIGN1c3RvbS1jaGVja2JveCBtci1zbS0yIG10LTQgbWItMlwiPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBmb3JtQ29udHJvbE5hbWU9XCJ0ZXJtc1wiIHJlcXVpcmVkIGNsYXNzPVwiY3VzdG9tLWNvbnRyb2wtaW5wdXQgZm9ybS1jaGVjay1pbnB1dFwiIG5hbWU9XCJDb2xvcjJcIlxuICAgICAgICAgICAgICBpZD1cIkNvbG9yMlwiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImN1c3RvbS1jb250cm9sLWxhYmVsIGZmLXVidW50dS1saWdodCBmb250LXNtIGZvcm0tY2hlY2stbGFiZWxcIiBmb3I9XCJDb2xvcjJcIj4gSGVcbiAgICAgICAgICAgICAgbGXDrWRvIHkgYWNlcHRvIGxhcyBwb2zDrXRpY2FzIGRlIHByaXZhY2lkYWQgeSBsb3MgdMOpcm1pbm9zIHlcbiAgICAgICAgICAgICAgY29uZGljaW9uZXM8L2xhYmVsPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tY29udHJvbCBkLWZsZXggZmxleC1yb3cgZm9ybS1jaGVjayBjdXN0b20tY2hlY2tib3ggbXItc20tMiBtYi00XCI+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGZvcm1Db250cm9sTmFtZT1cIm5ld3NsZXR0ZXJcIiBjbGFzcz1cImN1c3RvbS1jb250cm9sLWlucHV0IGZvcm0tY2hlY2staW5wdXRcIiBuYW1lPVwiQ29sb3IzXCIgaWQ9XCJDb2xvcjNcIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjdXN0b20tY29udHJvbC1sYWJlbCBmb3JtLWNoZWNrLWxhYmVsIGZmLXVidW50dS1saWdodCBmb250LXNtXCIgZm9yPVwiQ29sb3IzXCI+XG4gICAgICAgICAgICAgIFN1c2NyaXBjacOzbiBhbCBOZXdzbGV0dGVyPC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJmb3JtLmludmFsaWRcIiB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHB4LTUgcHktMiBoLWZpdFwiPkNSRUFSPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuICBAaWYobG9hZGluZyl7XG4gICAgPGFwcC1sb2FkaW5nLXNlY3Rpb24tZWMgLz5cbiAgfVxuICBcbjwvZGl2PlxuIl19
|