ng-easycommerce-v18 0.4.1-beta.1 → 0.4.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 +121 -126
- package/assets/decidirFormEc.html +514 -514
- package/assets/ec-i18n/ct.json +282 -286
- package/assets/ec-i18n/en.json +1 -12
- package/assets/ec-i18n/es.json +434 -445
- package/assets/ec-i18n/fr.json +0 -4
- package/assets/ec-i18n/gl.json +282 -286
- package/assets/ec-i18n/pr.json +282 -286
- package/assets/images/cards-occasional.svg +21 -21
- package/assets/recaptcha/recaptcha-site-keys.json +3 -3
- package/assets/recaptcha/recaptcha-sites-prod.json +38 -38
- package/assets/recaptcha/recaptcha-sites.json +52 -52
- package/esm2022/lib/api/connection.service.mjs +1 -1
- package/esm2022/lib/classes/checkout/steps.mjs +1 -1
- package/esm2022/lib/classes/component-helper.mjs +1 -1
- package/esm2022/lib/classes/filters/attributes-filter.mjs +1 -1
- package/esm2022/lib/classes/filters/category-filter.mjs +1 -1
- package/esm2022/lib/classes/filters/dynamics-filter.mjs +1 -1
- package/esm2022/lib/classes/filters/filter-factory.mjs +1 -1
- package/esm2022/lib/classes/filters/filter.mjs +1 -1
- package/esm2022/lib/classes/filters/index.mjs +1 -1
- package/esm2022/lib/classes/filters/price_range-filter.mjs +1 -1
- package/esm2022/lib/classes/filters/sort-filter.mjs +1 -1
- package/esm2022/lib/classes/index.mjs +1 -1
- package/esm2022/lib/classes/user.mjs +1 -1
- package/esm2022/lib/constants/api.constants.service.mjs +1 -1
- package/esm2022/lib/constants/core.constants.service.mjs +1 -1
- package/esm2022/lib/constants/index.mjs +1 -1
- package/esm2022/lib/ec-components/abstractions-components/block-ec.component.mjs +1 -1
- package/esm2022/lib/ec-components/abstractions-components/index.mjs +1 -1
- package/esm2022/lib/ec-components/abstractions-components/menu-ec.component.mjs +1 -1
- package/esm2022/lib/ec-components/account-ec/account-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/account-ec/index.mjs +1 -1
- package/esm2022/lib/ec-components/account-ec/order-ec/order-ec.component.mjs +9 -5
- package/esm2022/lib/ec-components/account-ec/orders-list-ec/orders-list-ec.component.mjs +5 -11
- package/esm2022/lib/ec-components/auth-ec/auth-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/auth-ec/confirm-account-ec/confirm-account-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/auth-ec/forgot-password-ec/forgot-password-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/auth-ec/index.mjs +1 -1
- package/esm2022/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/auth-ec/password-reset-ec/password-reset-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/block-banner-box-ec/block-banner-box-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/block-form-contact-ec/block-form-contact-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/block-html-ec/block-html-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/block-newsletter-ec/block-newsletter-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/blocks-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/index.mjs +1 -1
- package/esm2022/lib/ec-components/breadcrumb-ec/breadcrumb-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/cart-ec/cart-ec.component.mjs +3 -12
- package/esm2022/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/cart-ec/index.mjs +1 -1
- package/esm2022/lib/ec-components/checkout-ec/checkout-ec.component.mjs +3 -10
- package/esm2022/lib/ec-components/checkout-ec/dataform-ec/dataform-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/dataform-ec/input-ec/input-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.mjs +3 -5
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.mjs +4 -44
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/bank-transfer-ec/bank-transfer-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/index.mjs +1 -1
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/offline-ec/offline-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/shipment-ec/shipment-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/step-container-ec/step-container-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/success-ec/success-ec.component.mjs +3 -4
- package/esm2022/lib/ec-components/collection-ec/collection-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/contact-ec/contact-ec.component.mjs +7 -3
- package/esm2022/lib/ec-components/coupon-ec/coupon-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/faqs-ec/faqs-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/filters-ec/filters-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/filters-sort-ec/filters-sort-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/footer-ec/footer-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/header-ec/header-ec.component.mjs +13 -27
- package/esm2022/lib/ec-components/home-ec/home-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/index.mjs +1 -2
- package/esm2022/lib/ec-components/price-range-filter/price-range-filter.component.mjs +3 -3
- package/esm2022/lib/ec-components/product-detail-ec/product-detail-ec.component.mjs +1 -1
- package/esm2022/lib/ec-components/product-ec/product-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/related-products-ec/related-products-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/reviews-ec/reviews-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/reviews-form-ec/reviews-form-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/section-container-ec/section-container-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/share-ec/share-buttons-ec/index.mjs +1 -1
- package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-email-ec/share-email-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-facebook-ec/share-facebook-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-pinterest-ec/share-pinterest-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-twitter-ec/share-twitter-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-whatsapp-ec/share-whatsapp-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/share-ec/share-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/sidebar-ec/sidebar-ec.component.mjs +7 -5
- package/esm2022/lib/ec-components/stores-ec/stores-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/variants-ec/variants-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/decidir-ec/decidir-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/index.mjs +1 -1
- package/esm2022/lib/ec-components/widgets-ec/loading/index.mjs +1 -1
- package/esm2022/lib/ec-components/widgets-ec/loading/loading-full-ec/loading-full-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/loading/loading-inline-ec/loading-inline-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/loading/loading-section-ec/loading-section-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/magnizoom-ec/magnizoom-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/price-ec/price-ec.component.mjs +11 -5
- package/esm2022/lib/ec-components/widgets-ec/rating-ec/rating-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/re-captcha-ec/re-captcha-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/redsys-catch-ec/redsys-catch-ec.component.mjs +3 -3
- package/esm2022/lib/ec-directive/index.mjs +1 -1
- package/esm2022/lib/ec-directive/product-off.directive.mjs +1 -1
- package/esm2022/lib/ec-directive/product-stock.directive.mjs +1 -1
- package/esm2022/lib/ec-guards/auth.guard.mjs +1 -1
- package/esm2022/lib/ec-pipe/ec-currency-symbol.pipe.mjs +1 -1
- package/esm2022/lib/ec-pipe/ec-safe-html.pipe.mjs +1 -1
- package/esm2022/lib/ec-pipe/index.mjs +1 -1
- package/esm2022/lib/ec-services/addressing.service.mjs +1 -1
- package/esm2022/lib/ec-services/analytics/analytics.service.mjs +1 -1
- package/esm2022/lib/ec-services/analytics/doppler.service.mjs +1 -1
- package/esm2022/lib/ec-services/analytics/facebook-pixel.service.mjs +1 -1
- package/esm2022/lib/ec-services/analytics/google-analytics.service.mjs +1 -1
- package/esm2022/lib/ec-services/analytics/gtm.service.mjs +1 -1
- package/esm2022/lib/ec-services/analytics/index.mjs +1 -1
- package/esm2022/lib/ec-services/analytics/metricool-pixel.service.mjs +11 -11
- package/esm2022/lib/ec-services/auth.service.mjs +1 -1
- package/esm2022/lib/ec-services/auth.storage.service.mjs +1 -1
- package/esm2022/lib/ec-services/base-api.service.mjs +1 -1
- package/esm2022/lib/ec-services/blocks-repository.service.mjs +1 -1
- package/esm2022/lib/ec-services/blocks.service.mjs +1 -1
- package/esm2022/lib/ec-services/cart.service.mjs +7 -42
- package/esm2022/lib/ec-services/channel.service.mjs +1 -1
- package/esm2022/lib/ec-services/checkout.service.mjs +1 -1
- package/esm2022/lib/ec-services/currency.service.mjs +1 -1
- package/esm2022/lib/ec-services/filters.service.mjs +1 -1
- package/esm2022/lib/ec-services/form.service.mjs +1 -1
- package/esm2022/lib/ec-services/index.mjs +1 -2
- package/esm2022/lib/ec-services/local-storage.service.mjs +1 -1
- package/esm2022/lib/ec-services/ngx-local-storage.service.mjs +1 -1
- package/esm2022/lib/ec-services/options.service.mjs +1 -1
- package/esm2022/lib/ec-services/order-utility.service.mjs +1 -1
- package/esm2022/lib/ec-services/orders.service.mjs +1 -1
- package/esm2022/lib/ec-services/pagination.service.mjs +1 -1
- package/esm2022/lib/ec-services/parameters.service.mjs +1 -1
- package/esm2022/lib/ec-services/payment.service.mjs +1 -1
- package/esm2022/lib/ec-services/product-detail.service.mjs +7 -45
- package/esm2022/lib/ec-services/products.service.mjs +1 -1
- package/esm2022/lib/ec-services/re-captcha.service.mjs +1 -1
- package/esm2022/lib/ec-services/reviews.service.mjs +1 -1
- package/esm2022/lib/ec-services/runtime-config.service.mjs +1 -1
- package/esm2022/lib/ec-services/shipment.service.mjs +1 -1
- package/esm2022/lib/ec-services/stores.service.mjs +1 -1
- package/esm2022/lib/ec-services/test.service.mjs +1 -1
- package/esm2022/lib/ec-services/toast.service.mjs +1 -1
- package/esm2022/lib/interceptors/auth.interceptor.mjs +1 -1
- package/esm2022/lib/interceptors/index.mjs +1 -1
- package/esm2022/lib/interceptors/runtime-config.interceptor.mjs +1 -1
- package/esm2022/lib/interfaces/analytics/event-key.mjs +1 -1
- package/esm2022/lib/interfaces/analytics/facebook-pixel-data.mjs +1 -1
- package/esm2022/lib/interfaces/analytics/gtm-config.mjs +1 -1
- package/esm2022/lib/interfaces/analytics/index.mjs +1 -1
- package/esm2022/lib/interfaces/blocks.mjs +1 -1
- package/esm2022/lib/interfaces/checkout.mjs +1 -1
- package/esm2022/lib/interfaces/connection.mjs +1 -1
- package/esm2022/lib/interfaces/coupon.mjs +1 -1
- package/esm2022/lib/interfaces/currency.mjs +1 -1
- package/esm2022/lib/interfaces/deserializable.mjs +1 -1
- package/esm2022/lib/interfaces/environment.mjs +1 -1
- package/esm2022/lib/interfaces/faqs.mjs +1 -1
- package/esm2022/lib/interfaces/filter.mjs +1 -1
- package/esm2022/lib/interfaces/index.mjs +1 -1
- package/esm2022/lib/interfaces/options.mjs +1 -1
- package/esm2022/lib/interfaces/pagination.mjs +1 -1
- package/esm2022/lib/interfaces/parameter.mjs +1 -1
- package/esm2022/lib/interfaces/product.mjs +1 -1
- package/esm2022/lib/interfaces/runtime-config.mjs +1 -1
- package/esm2022/lib/interfaces/step.mjs +1 -1
- package/esm2022/lib/interfaces/storage.mjs +1 -1
- package/esm2022/lib/interfaces/store.mjs +1 -1
- package/esm2022/lib/interfaces/types/user.type.mjs +1 -1
- package/esm2022/lib/providers/index.mjs +1 -1
- package/esm2022/lib/providers/provideEnvironment.mjs +1 -1
- package/esm2022/lib/providers/provideRuntimeConfig.mjs +1 -1
- package/esm2022/lib/stores/currency.store.mjs +1 -1
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/ng-easycommerce-v18.mjs +181 -412
- package/fesm2022/ng-easycommerce-v18.mjs.map +1 -1
- package/lib/ec-components/account-ec/order-ec/order-ec.component.d.ts +2 -2
- package/lib/ec-components/account-ec/orders-list-ec/orders-list-ec.component.d.ts +0 -3
- package/lib/ec-components/cart-ec/cart-ec.component.d.ts +2 -4
- package/lib/ec-components/checkout-ec/checkout-ec.component.d.ts +0 -2
- package/lib/ec-components/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.d.ts +0 -2
- package/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.d.ts +0 -6
- package/lib/ec-components/checkout-ec/success-ec/success-ec.component.d.ts +0 -1
- package/lib/ec-components/contact-ec/contact-ec.component.d.ts +1 -0
- package/lib/ec-components/header-ec/header-ec.component.d.ts +4 -12
- package/lib/ec-components/index.d.ts +0 -1
- package/lib/ec-components/sidebar-ec/sidebar-ec.component.d.ts +1 -2
- package/lib/ec-components/widgets-ec/price-ec/price-ec.component.d.ts +4 -2
- package/lib/ec-services/cart.service.d.ts +0 -1
- package/lib/ec-services/index.d.ts +0 -1
- package/lib/ec-services/product-detail.service.d.ts +0 -3
- package/package.json +1 -1
- package/esm2022/lib/ec-components/credit-account-banner-ec/credit-account-banner-ec.component.mjs +0 -79
- package/esm2022/lib/ec-services/price-visibility.service.mjs +0 -40
- package/lib/ec-components/credit-account-banner-ec/credit-account-banner-ec.component.d.ts +0 -27
- package/lib/ec-services/price-visibility.service.d.ts +0 -23
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
|
-
import { PriceVisibilityService } from '../../../ec-services/price-visibility.service';
|
|
3
2
|
import { Observable } from 'rxjs';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
4
|
export declare class OrderEcComponent implements OnInit {
|
|
@@ -10,10 +9,11 @@ export declare class OrderEcComponent implements OnInit {
|
|
|
10
9
|
private _cartService;
|
|
11
10
|
private _channelConfigService;
|
|
12
11
|
private _activedRoute;
|
|
13
|
-
readonly priceVisibility: PriceVisibilityService;
|
|
14
12
|
order$: Observable<any>;
|
|
15
13
|
allowRepeatOrders: boolean;
|
|
16
14
|
loading: boolean;
|
|
15
|
+
creditAccountShowPrices: boolean | null;
|
|
16
|
+
hidePrices: boolean;
|
|
17
17
|
hideDiscounts: boolean;
|
|
18
18
|
hideTaxes: boolean;
|
|
19
19
|
channelConfig: any;
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
|
-
import { PriceVisibilityService } from '../../../ec-services/price-visibility.service';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
export declare class OrdersListEcComponent implements OnInit {
|
|
5
4
|
private _ordersService;
|
|
6
5
|
private _router;
|
|
7
|
-
private _cartService;
|
|
8
|
-
readonly priceVisibility: PriceVisibilityService;
|
|
9
6
|
loading: boolean;
|
|
10
7
|
orders: any[];
|
|
11
8
|
private error;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Injector
|
|
1
|
+
import { Injector } from '@angular/core';
|
|
2
2
|
import { Router } from '@angular/router';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class CartEcComponent
|
|
4
|
+
export declare class CartEcComponent {
|
|
5
5
|
private _channelService;
|
|
6
6
|
channel: any;
|
|
7
7
|
private _toastrService;
|
|
@@ -12,7 +12,6 @@ export declare class CartEcComponent implements OnInit {
|
|
|
12
12
|
totalPromotionAmount$: import("rxjs").Observable<number>;
|
|
13
13
|
taxesAmount$: import("rxjs").Observable<number>;
|
|
14
14
|
totalAmount$: import("rxjs").Observable<any>;
|
|
15
|
-
creditAccountShowPrices$: import("rxjs").Observable<boolean | null>;
|
|
16
15
|
private _authService;
|
|
17
16
|
isAuthenticated$: boolean;
|
|
18
17
|
getTotalAmount: import("rxjs").Observable<any>;
|
|
@@ -20,7 +19,6 @@ export declare class CartEcComponent implements OnInit {
|
|
|
20
19
|
hideTaxes: boolean;
|
|
21
20
|
injector: Injector;
|
|
22
21
|
constructor();
|
|
23
|
-
ngOnInit(): void;
|
|
24
22
|
removeCoupon(): void;
|
|
25
23
|
redirectCheckout(): boolean;
|
|
26
24
|
getMinimumPurchaseAmount: () => any;
|
|
@@ -4,7 +4,6 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
export declare class CheckoutEcComponent implements OnInit {
|
|
5
5
|
private _channelService;
|
|
6
6
|
private _checkoutService;
|
|
7
|
-
private _router;
|
|
8
7
|
readonly ADDRESS: StepType;
|
|
9
8
|
readonly SHIPMENT: StepType;
|
|
10
9
|
readonly PAYMENT: StepType;
|
|
@@ -12,7 +11,6 @@ export declare class CheckoutEcComponent implements OnInit {
|
|
|
12
11
|
channel: any;
|
|
13
12
|
subCan: any;
|
|
14
13
|
canCheckout: boolean;
|
|
15
|
-
hidePrices: boolean;
|
|
16
14
|
constructor();
|
|
17
15
|
ngOnInit(): void;
|
|
18
16
|
initializeCheckout(): void;
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { PriceVisibilityService } from '../../../ec-services/price-visibility.service';
|
|
2
1
|
import * as i0 from "@angular/core";
|
|
3
2
|
export declare class DetailCheckoutBlockEcComponent {
|
|
4
3
|
private _checkoutService;
|
|
5
|
-
readonly priceVisibility: PriceVisibilityService;
|
|
6
4
|
data$: import("rxjs").Observable<any>;
|
|
7
5
|
data: any;
|
|
8
6
|
getIcon: (data_type: string) => "fas fa-ticket-alt fa-3x" | "fas fa-tags fa-3x" | "fas fa-shipping-fast fa-3x" | "fas fa-boxes fa-3x" | "fas fa-file-invoice-dollar fa-3x" | "fas fa-shopping-basket fa-3x";
|
|
@@ -5,7 +5,6 @@ export declare class PaymentEcComponent implements OnInit {
|
|
|
5
5
|
_paymentService: PaymentService;
|
|
6
6
|
private _checkoutService;
|
|
7
7
|
private _cartService;
|
|
8
|
-
private _toastService;
|
|
9
8
|
private _methodDataSubject;
|
|
10
9
|
private _loadingSubject;
|
|
11
10
|
methods$: import("rxjs").Observable<any[]>;
|
|
@@ -13,14 +12,10 @@ export declare class PaymentEcComponent implements OnInit {
|
|
|
13
12
|
methodData$: import("rxjs").Observable<any>;
|
|
14
13
|
loadingInternal: boolean;
|
|
15
14
|
total_amount: number;
|
|
16
|
-
allowAnyPaymentMethod: boolean | null;
|
|
17
|
-
balanceMethodRejected: boolean;
|
|
18
|
-
showMethodError: boolean;
|
|
19
15
|
constructor();
|
|
20
16
|
ngOnInit(): void;
|
|
21
17
|
setActive($event: any): void;
|
|
22
18
|
setMethod(method: any): Promise<void>;
|
|
23
|
-
private handleMethodError;
|
|
24
19
|
isRedirectRedsys: (code: string) => boolean;
|
|
25
20
|
isRedirectCecaBank: (code: string) => boolean;
|
|
26
21
|
isMP: (code: string) => boolean;
|
|
@@ -34,7 +29,6 @@ export declare class PaymentEcComponent implements OnInit {
|
|
|
34
29
|
isBankTransfer: (code: string) => boolean;
|
|
35
30
|
isCatastro: (code: string) => boolean;
|
|
36
31
|
isBamboo: (code: string) => boolean;
|
|
37
|
-
isBalanceInAccount: (code: string) => boolean;
|
|
38
32
|
allData(): any;
|
|
39
33
|
emitResult: () => Promise<void>;
|
|
40
34
|
setLoading: (estado?: boolean) => boolean;
|
|
@@ -25,7 +25,6 @@ export declare class SuccessEcComponent implements OnInit {
|
|
|
25
25
|
* @returns el bloque si lo encontro.
|
|
26
26
|
*/
|
|
27
27
|
containsBlock(codeBlock: string): any;
|
|
28
|
-
isBalanceInAccount: (code: string) => boolean | "";
|
|
29
28
|
static ɵfac: i0.ɵɵFactoryDeclaration<SuccessEcComponent, never>;
|
|
30
29
|
static ɵcmp: i0.ɵɵComponentDeclaration<SuccessEcComponent, "app-order-success-ec", never, {}, {}, never, never, true, never>;
|
|
31
30
|
}
|
|
@@ -4,6 +4,7 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
export declare class ContactEcComponent {
|
|
5
5
|
consts: CoreConstantsService;
|
|
6
6
|
private router;
|
|
7
|
+
private platformId;
|
|
7
8
|
private titlesMap;
|
|
8
9
|
constructor(consts: CoreConstantsService, router: Router);
|
|
9
10
|
lastPathSegment: () => string | undefined;
|
|
@@ -1,31 +1,26 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ChangeDetectorRef } from '@angular/core';
|
|
2
2
|
import { MenuEcComponent } from '../abstractions-components';
|
|
3
|
-
import { PriceVisibilityService } from '../../ec-services/price-visibility.service';
|
|
4
3
|
import { Observable } from 'rxjs';
|
|
5
4
|
import { AuthService } from '../../ec-services';
|
|
6
5
|
import { Router } from '@angular/router';
|
|
7
|
-
import { BalanceCustomer } from '../../interfaces';
|
|
8
6
|
import { ChannelService } from '../../ec-services';
|
|
9
7
|
import * as i0 from "@angular/core";
|
|
10
8
|
/**
|
|
11
9
|
* Componente que se encarga de manejar la funcionalidad del Header.
|
|
12
10
|
*/
|
|
13
|
-
export declare class HeaderEcComponent extends MenuEcComponent
|
|
11
|
+
export declare class HeaderEcComponent extends MenuEcComponent {
|
|
14
12
|
channel: string | undefined;
|
|
15
13
|
searchValue: string;
|
|
16
14
|
transparent: boolean;
|
|
17
15
|
isHome: boolean;
|
|
18
16
|
isScrolled: boolean;
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
showPricesOnlyToLoggedUsers: boolean;
|
|
18
|
+
hidePrices: boolean;
|
|
21
19
|
__authService: AuthService;
|
|
22
20
|
_channelService: ChannelService;
|
|
23
|
-
readonly priceVisibility: PriceVisibilityService;
|
|
24
21
|
changeDetector: ChangeDetectorRef;
|
|
25
22
|
appRouter: Router;
|
|
26
23
|
platformId: Object;
|
|
27
|
-
private _cartService;
|
|
28
|
-
balanceAttributes$: Observable<BalanceCustomer | null>;
|
|
29
24
|
mobileDropdownOpen: import("@angular/core").WritableSignal<boolean>;
|
|
30
25
|
isMenuOpen: import("@angular/core").WritableSignal<boolean>;
|
|
31
26
|
logged$: Observable<boolean>;
|
|
@@ -51,9 +46,6 @@ export declare class HeaderEcComponent extends MenuEcComponent implements OnInit
|
|
|
51
46
|
togglePanel(id: string): void;
|
|
52
47
|
openPanels: import("@angular/core").WritableSignal<Record<string, boolean>>;
|
|
53
48
|
collapseAllMenus(): void;
|
|
54
|
-
get canShowPrices(): boolean;
|
|
55
|
-
ngOnDestroy(): void;
|
|
56
|
-
private subscribeToBalance;
|
|
57
49
|
static ɵfac: i0.ɵɵFactoryDeclaration<HeaderEcComponent, never>;
|
|
58
50
|
static ɵcmp: i0.ɵɵComponentDeclaration<HeaderEcComponent, "lib-header-ec", never, {}, {}, never, never, true, never>;
|
|
59
51
|
}
|
|
@@ -32,4 +32,3 @@ export * from './reviews-form-ec/reviews-form-ec.component';
|
|
|
32
32
|
export * from './section-container-ec/section-container-ec.component';
|
|
33
33
|
export * from './stores-ec/stores-ec.component';
|
|
34
34
|
export * from './price-range-filter/price-range-filter.component';
|
|
35
|
-
export * from './credit-account-banner-ec/credit-account-banner-ec.component';
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { User } from '../../classes';
|
|
2
|
-
import { PriceVisibilityService } from '../../ec-services/price-visibility.service';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
export declare class SidebarEcComponent {
|
|
5
4
|
private _cartService;
|
|
@@ -8,13 +7,13 @@ export declare class SidebarEcComponent {
|
|
|
8
7
|
private _router;
|
|
9
8
|
private _toastrService;
|
|
10
9
|
private _channelService;
|
|
11
|
-
readonly priceVisibility: PriceVisibilityService;
|
|
12
10
|
user: User | null;
|
|
13
11
|
mediaUrl: string;
|
|
14
12
|
promotions: never[];
|
|
15
13
|
variantsToShow: string[];
|
|
16
14
|
hideDiscounts: boolean;
|
|
17
15
|
hideTaxes: boolean;
|
|
16
|
+
creditAccountShowPrices: boolean | null;
|
|
18
17
|
cartItems$: import("rxjs").Observable<any[]>;
|
|
19
18
|
subTotalAmount$: import("rxjs").Observable<number>;
|
|
20
19
|
totalPromotionAmount$: import("rxjs").Observable<number>;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { OnInit, TemplateRef } from '@angular/core';
|
|
2
|
-
import { PriceVisibilityService } from '../../../ec-services/price-visibility.service';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
/**
|
|
5
4
|
* Componente para manejar la vista del precio de un producto.
|
|
@@ -23,9 +22,12 @@ export declare class PriceEcComponent implements OnInit {
|
|
|
23
22
|
customTaxTemplate: TemplateRef<any> | null;
|
|
24
23
|
customOnlyTaxLabelTemplate: TemplateRef<any> | null;
|
|
25
24
|
private _channelService;
|
|
26
|
-
|
|
25
|
+
private _authService;
|
|
27
26
|
showTaxLegend: boolean;
|
|
28
27
|
hideTaxes: boolean;
|
|
28
|
+
showPricesOnlyToLoggedUsers: boolean;
|
|
29
|
+
logged: boolean;
|
|
30
|
+
hidePrices: boolean;
|
|
29
31
|
ngOnInit(): void;
|
|
30
32
|
/** Determina si mostrar la sección de impuestos */
|
|
31
33
|
get shouldShowTaxes(): boolean;
|
|
@@ -222,7 +222,6 @@ export declare class CartService {
|
|
|
222
222
|
getRemainingCredits: () => Observable<number | undefined>;
|
|
223
223
|
hasSufficientCreditsForCartTotal: () => boolean;
|
|
224
224
|
private validatePriceAndCredits;
|
|
225
|
-
private hasCreditsForNewItem;
|
|
226
225
|
addRepeatOrderToCart(items: any[]): void;
|
|
227
226
|
static ɵfac: i0.ɵɵFactoryDeclaration<CartService, never>;
|
|
228
227
|
static ɵprov: i0.ɵɵInjectableDeclaration<CartService>;
|
|
@@ -11,8 +11,6 @@ export declare class ProductDetailService {
|
|
|
11
11
|
options$: import("rxjs").Observable<any>;
|
|
12
12
|
associatedData$: import("rxjs").Observable<any>;
|
|
13
13
|
private variants;
|
|
14
|
-
private _currentTotalAmount;
|
|
15
|
-
private _balanceCustomer;
|
|
16
14
|
constructor();
|
|
17
15
|
/**
|
|
18
16
|
* Obtengo el producto a traves de su codigo e inicializo la configuración
|
|
@@ -94,7 +92,6 @@ export declare class ProductDetailService {
|
|
|
94
92
|
* @returns
|
|
95
93
|
*/
|
|
96
94
|
private validateQuantity;
|
|
97
|
-
private validatePriceAndCredits;
|
|
98
95
|
static ɵfac: i0.ɵɵFactoryDeclaration<ProductDetailService, never>;
|
|
99
96
|
static ɵprov: i0.ɵɵInjectableDeclaration<ProductDetailService>;
|
|
100
97
|
}
|
package/package.json
CHANGED
package/esm2022/lib/ec-components/credit-account-banner-ec/credit-account-banner-ec.component.mjs
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, computed, inject, Input } from '@angular/core';
|
|
3
|
-
import { toSignal } from '@angular/core/rxjs-interop';
|
|
4
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
5
|
-
import { AuthService } from '../../ec-services/auth.service';
|
|
6
|
-
import { CartService } from '../../ec-services/cart.service';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/common";
|
|
9
|
-
import * as i2 from "@ngx-translate/core";
|
|
10
|
-
export class CreditAccountBannerEcComponent {
|
|
11
|
-
cartService = inject(CartService);
|
|
12
|
-
authService = inject(AuthService);
|
|
13
|
-
layout = 'inline';
|
|
14
|
-
title;
|
|
15
|
-
subtitle;
|
|
16
|
-
availableLabel;
|
|
17
|
-
limitLabel;
|
|
18
|
-
titleKey = 'credit-account-banner.title';
|
|
19
|
-
subtitleKey = 'credit-account-banner.subtitle';
|
|
20
|
-
availableLabelKey = 'credit-account-banner.available';
|
|
21
|
-
limitLabelKey = 'credit-account-banner.limit';
|
|
22
|
-
requireLogged = false;
|
|
23
|
-
balance = toSignal(this.cartService.balanceCustomer$, { initialValue: null });
|
|
24
|
-
loggedIn = toSignal(this.authService.loggedIn$, { initialValue: this.authService.isAuthenticated() });
|
|
25
|
-
showMax = computed(() => !!this.balance()?.showMax);
|
|
26
|
-
canShowAmounts = computed(() => !!this.balance()?.showPrice);
|
|
27
|
-
remainingCredits = computed(() => this.balance()?.remainingCredits ?? 0);
|
|
28
|
-
creditAmount = computed(() => this.balance()?.creditAmount ?? 0);
|
|
29
|
-
progress = computed(() => {
|
|
30
|
-
const credit = this.creditAmount();
|
|
31
|
-
const remaining = this.remainingCredits();
|
|
32
|
-
if (!credit)
|
|
33
|
-
return 0;
|
|
34
|
-
const percentage = (remaining / credit) * 100;
|
|
35
|
-
return Math.max(0, Math.min(100, percentage));
|
|
36
|
-
});
|
|
37
|
-
barColor = computed(() => {
|
|
38
|
-
const credit = this.creditAmount();
|
|
39
|
-
const remaining = this.remainingCredits();
|
|
40
|
-
if (!credit)
|
|
41
|
-
return '#6c757d';
|
|
42
|
-
const ratio = remaining / credit;
|
|
43
|
-
if (ratio >= 0.66)
|
|
44
|
-
return '#198754';
|
|
45
|
-
if (ratio >= 0.33)
|
|
46
|
-
return '#ffc107';
|
|
47
|
-
return '#dc3545';
|
|
48
|
-
});
|
|
49
|
-
shouldRender() {
|
|
50
|
-
return this.showMax() && (!this.requireLogged || this.loggedIn());
|
|
51
|
-
}
|
|
52
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreditAccountBannerEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CreditAccountBannerEcComponent, isStandalone: true, selector: "app-credit-account-banner-ec", inputs: { layout: "layout", title: "title", subtitle: "subtitle", availableLabel: "availableLabel", limitLabel: "limitLabel", titleKey: "titleKey", subtitleKey: "subtitleKey", availableLabelKey: "availableLabelKey", limitLabelKey: "limitLabelKey", requireLogged: "requireLogged" }, ngImport: i0, template: "@if (shouldRender()) {\n\t<div class=\"credits-banner\" [class.credits-inline]=\"layout === 'inline'\" [class.credits-mobile]=\"layout === 'mobile'\">\n\t\t<div class=\"d-flex align-items-center gap-2\">\n\t\t\t<div class=\"credits-icon d-flex align-items-center justify-content-center\">\n\t\t\t\t<span class=\"credits-icon-text\">$</span>\n\t\t\t</div>\n\t\t\t<div class=\"d-flex flex-column\">\n\t\t\t\t@if (layout === 'mobile') {\n\t\t\t\t\t<span class=\"credits-label text-uppercase mb-1\">{{ title || (titleKey | translate) }}</span>\n\t\t\t\t\t<span class=\"credits-title\">{{ subtitle || (subtitleKey | translate) }}</span>\n\t\t\t\t} @else {\n\t\t\t\t\t<span class=\"credits-title\">{{ title || (titleKey | translate) }}</span>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"credits-content flex-grow-1\">\n\t\t\t@if (canShowAmounts()) {\n\t\t\t\t<div class=\"d-flex justify-content-between align-items-center flex-wrap gap-2 credits-summary\" [class.credits-mobile-values]=\"layout === 'mobile'\">\n\t\t\t\t\t<div class=\"credits-pill\" [class.credits-mobile-value]=\"layout === 'mobile'\">\n\t\t\t\t\t\t<small class=\"me-1 text-uppercase\">{{ availableLabel || (availableLabelKey | translate) }}</small>\n\t\t\t\t\t\t<span class=\"fw-700\">{{ remainingCredits() | number:'1.0-0' }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"credits-pill\" [class.credits-pill-light]=\"layout === 'inline'\" [class.credits-mobile-value]=\"layout === 'mobile'\" [class.text-end]=\"layout === 'mobile'\">\n\t\t\t\t\t\t<small class=\"me-1 text-uppercase\">{{ limitLabel || (limitLabelKey | translate) }}</small>\n\t\t\t\t\t\t<span class=\"fw-700\">{{ creditAmount() | number:'1.0-0' }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\t<div class=\"credits-progress mt-1\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"credits-progress-fill\"\n\t\t\t\t\t[ngStyle]=\"{ width: progress() + '%', background: barColor() }\"\n\t\t\t\t\t[attr.aria-valuenow]=\"remainingCredits()\"\n\t\t\t\t\t[attr.aria-valuemin]=\"0\"\n\t\t\t\t\t[attr.aria-valuemax]=\"creditAmount()\"\n\t\t\t\t></div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n}\n", styles: [":host{--ec-credits-bg: linear-gradient(120deg, #0c1536 0%, #1b3080 100%);--ec-credits-radius: 14px;--ec-credits-padding: 10px 12px;--ec-credits-color: #fff;--ec-credits-shadow: 0 8px 22px rgba(12, 21, 54, .18);--ec-credits-border: 1px solid rgba(255, 255, 255, .08);--ec-credits-icon-bg: rgba(255, 255, 255, .08);--ec-credits-icon-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12);--ec-credits-pill-bg: rgba(255, 255, 255, .08);--ec-credits-pill-border: 1px solid rgba(255, 255, 255, .12);--ec-credits-pill-light-bg: rgba(255, 255, 255, .04);--ec-credits-pill-light-color: #d7def8;--ec-credits-progress-bg: rgba(255, 255, 255, .14);--ec-credits-progress-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06)}.credits-banner{background:var(--ec-credits-bg);border-radius:var(--ec-credits-radius);padding:var(--ec-credits-padding);color:var(--ec-credits-color);box-shadow:var(--ec-credits-shadow);border:var(--ec-credits-border);display:flex;align-items:center;gap:12px}.credits-icon{width:44px;height:44px;border-radius:12px;background:var(--ec-credits-icon-bg);box-shadow:var(--ec-credits-icon-shadow);flex:0 0 auto}.credits-icon-text{color:#fff;font-weight:800;font-size:20px;letter-spacing:.04em}.credits-label{color:#ffffffb8;font-size:11px;letter-spacing:.08em}.credits-title{color:#fff;font-weight:700;line-height:1.1;font-size:16px}.credits-content .credits-pill{background:var(--ec-credits-pill-bg);color:var(--ec-credits-color);border:var(--ec-credits-pill-border);border-radius:12px;padding:6px 12px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.credits-content .credits-pill-light{background:var(--ec-credits-pill-light-bg);color:var(--ec-credits-pill-light-color)}.credits-progress{background:var(--ec-credits-progress-bg);border-radius:999px;height:12px;overflow:hidden;box-shadow:var(--ec-credits-progress-shadow)}.credits-progress-fill{height:100%;border-radius:inherit;transition:width .35s ease}.credits-footnote{color:#ffffffc7}.credits-footnote small{color:inherit;opacity:.9;font-size:11px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot-green{background-color:#198754}.dot-amber{background-color:#ffc107}.dot-red{background-color:#dc3545}@media (max-width: 768px){.credits-banner{padding:12px}.credits-footnote{gap:8px}}.credits-inline{min-width:280px;max-width:400px;height:68px;flex:0 0 auto;padding:8px 12px;overflow:hidden}.credits-inline .credits-icon{width:36px;height:36px;border-radius:10px}.credits-inline .credits-title{font-size:14px}.credits-inline .credits-label{font-size:10px}.credits-inline .credits-pill{padding:4px 10px}.credits-inline .credits-progress{height:8px}.credits-summary{flex-wrap:nowrap!important;gap:8px!important}.credits-mobile{width:100%;padding:12px;flex-direction:column;align-items:stretch}.credits-mobile .credits-progress{height:8px}.credits-mobile .credits-pill{padding:4px 10px}.credits-mobile-values{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;width:100%}.credits-mobile-value small{color:#ffffffb3;letter-spacing:.08em}.credits-mobile-value span{display:block;color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
|
|
54
|
-
}
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreditAccountBannerEcComponent, decorators: [{
|
|
56
|
-
type: Component,
|
|
57
|
-
args: [{ selector: 'app-credit-account-banner-ec', standalone: true, imports: [CommonModule, TranslateModule], template: "@if (shouldRender()) {\n\t<div class=\"credits-banner\" [class.credits-inline]=\"layout === 'inline'\" [class.credits-mobile]=\"layout === 'mobile'\">\n\t\t<div class=\"d-flex align-items-center gap-2\">\n\t\t\t<div class=\"credits-icon d-flex align-items-center justify-content-center\">\n\t\t\t\t<span class=\"credits-icon-text\">$</span>\n\t\t\t</div>\n\t\t\t<div class=\"d-flex flex-column\">\n\t\t\t\t@if (layout === 'mobile') {\n\t\t\t\t\t<span class=\"credits-label text-uppercase mb-1\">{{ title || (titleKey | translate) }}</span>\n\t\t\t\t\t<span class=\"credits-title\">{{ subtitle || (subtitleKey | translate) }}</span>\n\t\t\t\t} @else {\n\t\t\t\t\t<span class=\"credits-title\">{{ title || (titleKey | translate) }}</span>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"credits-content flex-grow-1\">\n\t\t\t@if (canShowAmounts()) {\n\t\t\t\t<div class=\"d-flex justify-content-between align-items-center flex-wrap gap-2 credits-summary\" [class.credits-mobile-values]=\"layout === 'mobile'\">\n\t\t\t\t\t<div class=\"credits-pill\" [class.credits-mobile-value]=\"layout === 'mobile'\">\n\t\t\t\t\t\t<small class=\"me-1 text-uppercase\">{{ availableLabel || (availableLabelKey | translate) }}</small>\n\t\t\t\t\t\t<span class=\"fw-700\">{{ remainingCredits() | number:'1.0-0' }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"credits-pill\" [class.credits-pill-light]=\"layout === 'inline'\" [class.credits-mobile-value]=\"layout === 'mobile'\" [class.text-end]=\"layout === 'mobile'\">\n\t\t\t\t\t\t<small class=\"me-1 text-uppercase\">{{ limitLabel || (limitLabelKey | translate) }}</small>\n\t\t\t\t\t\t<span class=\"fw-700\">{{ creditAmount() | number:'1.0-0' }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\t<div class=\"credits-progress mt-1\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"credits-progress-fill\"\n\t\t\t\t\t[ngStyle]=\"{ width: progress() + '%', background: barColor() }\"\n\t\t\t\t\t[attr.aria-valuenow]=\"remainingCredits()\"\n\t\t\t\t\t[attr.aria-valuemin]=\"0\"\n\t\t\t\t\t[attr.aria-valuemax]=\"creditAmount()\"\n\t\t\t\t></div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n}\n", styles: [":host{--ec-credits-bg: linear-gradient(120deg, #0c1536 0%, #1b3080 100%);--ec-credits-radius: 14px;--ec-credits-padding: 10px 12px;--ec-credits-color: #fff;--ec-credits-shadow: 0 8px 22px rgba(12, 21, 54, .18);--ec-credits-border: 1px solid rgba(255, 255, 255, .08);--ec-credits-icon-bg: rgba(255, 255, 255, .08);--ec-credits-icon-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12);--ec-credits-pill-bg: rgba(255, 255, 255, .08);--ec-credits-pill-border: 1px solid rgba(255, 255, 255, .12);--ec-credits-pill-light-bg: rgba(255, 255, 255, .04);--ec-credits-pill-light-color: #d7def8;--ec-credits-progress-bg: rgba(255, 255, 255, .14);--ec-credits-progress-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06)}.credits-banner{background:var(--ec-credits-bg);border-radius:var(--ec-credits-radius);padding:var(--ec-credits-padding);color:var(--ec-credits-color);box-shadow:var(--ec-credits-shadow);border:var(--ec-credits-border);display:flex;align-items:center;gap:12px}.credits-icon{width:44px;height:44px;border-radius:12px;background:var(--ec-credits-icon-bg);box-shadow:var(--ec-credits-icon-shadow);flex:0 0 auto}.credits-icon-text{color:#fff;font-weight:800;font-size:20px;letter-spacing:.04em}.credits-label{color:#ffffffb8;font-size:11px;letter-spacing:.08em}.credits-title{color:#fff;font-weight:700;line-height:1.1;font-size:16px}.credits-content .credits-pill{background:var(--ec-credits-pill-bg);color:var(--ec-credits-color);border:var(--ec-credits-pill-border);border-radius:12px;padding:6px 12px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.credits-content .credits-pill-light{background:var(--ec-credits-pill-light-bg);color:var(--ec-credits-pill-light-color)}.credits-progress{background:var(--ec-credits-progress-bg);border-radius:999px;height:12px;overflow:hidden;box-shadow:var(--ec-credits-progress-shadow)}.credits-progress-fill{height:100%;border-radius:inherit;transition:width .35s ease}.credits-footnote{color:#ffffffc7}.credits-footnote small{color:inherit;opacity:.9;font-size:11px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot-green{background-color:#198754}.dot-amber{background-color:#ffc107}.dot-red{background-color:#dc3545}@media (max-width: 768px){.credits-banner{padding:12px}.credits-footnote{gap:8px}}.credits-inline{min-width:280px;max-width:400px;height:68px;flex:0 0 auto;padding:8px 12px;overflow:hidden}.credits-inline .credits-icon{width:36px;height:36px;border-radius:10px}.credits-inline .credits-title{font-size:14px}.credits-inline .credits-label{font-size:10px}.credits-inline .credits-pill{padding:4px 10px}.credits-inline .credits-progress{height:8px}.credits-summary{flex-wrap:nowrap!important;gap:8px!important}.credits-mobile{width:100%;padding:12px;flex-direction:column;align-items:stretch}.credits-mobile .credits-progress{height:8px}.credits-mobile .credits-pill{padding:4px 10px}.credits-mobile-values{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;width:100%}.credits-mobile-value small{color:#ffffffb3;letter-spacing:.08em}.credits-mobile-value span{display:block;color:#fff}\n"] }]
|
|
58
|
-
}], propDecorators: { layout: [{
|
|
59
|
-
type: Input
|
|
60
|
-
}], title: [{
|
|
61
|
-
type: Input
|
|
62
|
-
}], subtitle: [{
|
|
63
|
-
type: Input
|
|
64
|
-
}], availableLabel: [{
|
|
65
|
-
type: Input
|
|
66
|
-
}], limitLabel: [{
|
|
67
|
-
type: Input
|
|
68
|
-
}], titleKey: [{
|
|
69
|
-
type: Input
|
|
70
|
-
}], subtitleKey: [{
|
|
71
|
-
type: Input
|
|
72
|
-
}], availableLabelKey: [{
|
|
73
|
-
type: Input
|
|
74
|
-
}], limitLabelKey: [{
|
|
75
|
-
type: Input
|
|
76
|
-
}], requireLogged: [{
|
|
77
|
-
type: Input
|
|
78
|
-
}] } });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGl0LWFjY291bnQtYmFubmVyLWVjLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1jb21wb25lbnRzL2NyZWRpdC1hY2NvdW50LWJhbm5lci1lYy9jcmVkaXQtYWNjb3VudC1iYW5uZXItZWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvY3JlZGl0LWFjY291bnQtYmFubmVyLWVjL2NyZWRpdC1hY2NvdW50LWJhbm5lci1lYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7QUFZN0QsTUFBTSxPQUFPLDhCQUE4QjtJQUN6QixXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFMUMsTUFBTSxHQUE4QixRQUFRLENBQUM7SUFDN0MsS0FBSyxDQUFVO0lBQ2YsUUFBUSxDQUFVO0lBQ2xCLGNBQWMsQ0FBVTtJQUN4QixVQUFVLENBQVU7SUFFcEIsUUFBUSxHQUFXLDZCQUE2QixDQUFDO0lBQ2pELFdBQVcsR0FBVyxnQ0FBZ0MsQ0FBQztJQUN2RCxpQkFBaUIsR0FBVyxpQ0FBaUMsQ0FBQztJQUM5RCxhQUFhLEdBQVcsNkJBQTZCLENBQUM7SUFDdEQsYUFBYSxHQUFZLEtBQUssQ0FBQztJQUV2QixPQUFPLEdBQUcsUUFBUSxDQUF5QixJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdEcsUUFBUSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUU5RyxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEQsY0FBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzdELGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsZ0JBQWdCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDekUsWUFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRWpFLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNuQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sVUFBVSxHQUFHLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUM5QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQyxDQUFDLENBQUM7SUFFTSxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUNqQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbkMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUU5QixNQUFNLEtBQUssR0FBRyxTQUFTLEdBQUcsTUFBTSxDQUFDO1FBQ2pDLElBQUksS0FBSyxJQUFJLElBQUk7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUNwQyxJQUFJLEtBQUssSUFBSSxJQUFJO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDcEMsT0FBTyxTQUFTLENBQUM7SUFDbEIsQ0FBQyxDQUFDLENBQUM7SUFFSCxZQUFZO1FBQ1gsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQzt3R0E3Q1csOEJBQThCOzRGQUE5Qiw4QkFBOEIsa1hDakIzQywra0VBMENBLHVrR0Q3QlcsWUFBWSwyS0FBRSxlQUFlOzs0RkFJM0IsOEJBQThCO2tCQVAxQyxTQUFTOytCQUNDLDhCQUE4QixjQUM1QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDOzhCQVEvQixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL2VjLXNlcnZpY2VzL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL2VjLXNlcnZpY2VzL2NhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBCYWxhbmNlQ3VzdG9tZXIgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IHR5cGUgQ3JlZGl0QWNjb3VudEJhbm5lckxheW91dCA9ICdpbmxpbmUnIHwgJ21vYmlsZSc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2FwcC1jcmVkaXQtYWNjb3VudC1iYW5uZXItZWMnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGVdLFxuXHR0ZW1wbGF0ZVVybDogJy4vY3JlZGl0LWFjY291bnQtYmFubmVyLWVjLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmw6ICcuL2NyZWRpdC1hY2NvdW50LWJhbm5lci1lYy5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgQ3JlZGl0QWNjb3VudEJhbm5lckVjQ29tcG9uZW50IHtcblx0cHJpdmF0ZSByZWFkb25seSBjYXJ0U2VydmljZSA9IGluamVjdChDYXJ0U2VydmljZSk7XG5cdHByaXZhdGUgcmVhZG9ubHkgYXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuXG5cdEBJbnB1dCgpIGxheW91dDogQ3JlZGl0QWNjb3VudEJhbm5lckxheW91dCA9ICdpbmxpbmUnO1xuXHRASW5wdXQoKSB0aXRsZT86IHN0cmluZztcblx0QElucHV0KCkgc3VidGl0bGU/OiBzdHJpbmc7XG5cdEBJbnB1dCgpIGF2YWlsYWJsZUxhYmVsPzogc3RyaW5nO1xuXHRASW5wdXQoKSBsaW1pdExhYmVsPzogc3RyaW5nO1xuXG5cdEBJbnB1dCgpIHRpdGxlS2V5OiBzdHJpbmcgPSAnY3JlZGl0LWFjY291bnQtYmFubmVyLnRpdGxlJztcblx0QElucHV0KCkgc3VidGl0bGVLZXk6IHN0cmluZyA9ICdjcmVkaXQtYWNjb3VudC1iYW5uZXIuc3VidGl0bGUnO1xuXHRASW5wdXQoKSBhdmFpbGFibGVMYWJlbEtleTogc3RyaW5nID0gJ2NyZWRpdC1hY2NvdW50LWJhbm5lci5hdmFpbGFibGUnO1xuXHRASW5wdXQoKSBsaW1pdExhYmVsS2V5OiBzdHJpbmcgPSAnY3JlZGl0LWFjY291bnQtYmFubmVyLmxpbWl0Jztcblx0QElucHV0KCkgcmVxdWlyZUxvZ2dlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG5cdHByaXZhdGUgcmVhZG9ubHkgYmFsYW5jZSA9IHRvU2lnbmFsPEJhbGFuY2VDdXN0b21lciB8IG51bGw+KHRoaXMuY2FydFNlcnZpY2UuYmFsYW5jZUN1c3RvbWVyJCwgeyBpbml0aWFsVmFsdWU6IG51bGwgfSk7XG5cdHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VkSW4gPSB0b1NpZ25hbCh0aGlzLmF1dGhTZXJ2aWNlLmxvZ2dlZEluJCwgeyBpbml0aWFsVmFsdWU6IHRoaXMuYXV0aFNlcnZpY2UuaXNBdXRoZW50aWNhdGVkKCkgfSk7XG5cblx0cmVhZG9ubHkgc2hvd01heCA9IGNvbXB1dGVkKCgpID0+ICEhdGhpcy5iYWxhbmNlKCk/LnNob3dNYXgpO1xuXHRyZWFkb25seSBjYW5TaG93QW1vdW50cyA9IGNvbXB1dGVkKCgpID0+ICEhdGhpcy5iYWxhbmNlKCk/LnNob3dQcmljZSk7XG5cdHJlYWRvbmx5IHJlbWFpbmluZ0NyZWRpdHMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmJhbGFuY2UoKT8ucmVtYWluaW5nQ3JlZGl0cyA/PyAwKTtcblx0cmVhZG9ubHkgY3JlZGl0QW1vdW50ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5iYWxhbmNlKCk/LmNyZWRpdEFtb3VudCA/PyAwKTtcblxuXHRyZWFkb25seSBwcm9ncmVzcyA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBjcmVkaXQgPSB0aGlzLmNyZWRpdEFtb3VudCgpO1xuXHRcdGNvbnN0IHJlbWFpbmluZyA9IHRoaXMucmVtYWluaW5nQ3JlZGl0cygpO1xuXHRcdGlmICghY3JlZGl0KSByZXR1cm4gMDtcblx0XHRjb25zdCBwZXJjZW50YWdlID0gKHJlbWFpbmluZyAvIGNyZWRpdCkgKiAxMDA7XG5cdFx0cmV0dXJuIE1hdGgubWF4KDAsIE1hdGgubWluKDEwMCwgcGVyY2VudGFnZSkpO1xuXHR9KTtcblxuXHRyZWFkb25seSBiYXJDb2xvciA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBjcmVkaXQgPSB0aGlzLmNyZWRpdEFtb3VudCgpO1xuXHRcdGNvbnN0IHJlbWFpbmluZyA9IHRoaXMucmVtYWluaW5nQ3JlZGl0cygpO1xuXHRcdGlmICghY3JlZGl0KSByZXR1cm4gJyM2Yzc1N2QnO1xuXG5cdFx0Y29uc3QgcmF0aW8gPSByZW1haW5pbmcgLyBjcmVkaXQ7XG5cdFx0aWYgKHJhdGlvID49IDAuNjYpIHJldHVybiAnIzE5ODc1NCc7XG5cdFx0aWYgKHJhdGlvID49IDAuMzMpIHJldHVybiAnI2ZmYzEwNyc7XG5cdFx0cmV0dXJuICcjZGMzNTQ1Jztcblx0fSk7XG5cblx0c2hvdWxkUmVuZGVyKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLnNob3dNYXgoKSAmJiAoIXRoaXMucmVxdWlyZUxvZ2dlZCB8fCB0aGlzLmxvZ2dlZEluKCkpO1xuXHR9XG59XG4iLCJAaWYgKHNob3VsZFJlbmRlcigpKSB7XG5cdDxkaXYgY2xhc3M9XCJjcmVkaXRzLWJhbm5lclwiIFtjbGFzcy5jcmVkaXRzLWlubGluZV09XCJsYXlvdXQgPT09ICdpbmxpbmUnXCIgW2NsYXNzLmNyZWRpdHMtbW9iaWxlXT1cImxheW91dCA9PT0gJ21vYmlsZSdcIj5cblx0XHQ8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuXHRcdFx0PGRpdiBjbGFzcz1cImNyZWRpdHMtaWNvbiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cblx0XHRcdFx0PHNwYW4gY2xhc3M9XCJjcmVkaXRzLWljb24tdGV4dFwiPiQ8L3NwYW4+XG5cdFx0XHQ8L2Rpdj5cblx0XHRcdDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW5cIj5cblx0XHRcdFx0QGlmIChsYXlvdXQgPT09ICdtb2JpbGUnKSB7XG5cdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJjcmVkaXRzLWxhYmVsIHRleHQtdXBwZXJjYXNlIG1iLTFcIj57eyB0aXRsZSB8fCAodGl0bGVLZXkgfCB0cmFuc2xhdGUpIH19PC9zcGFuPlxuXHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwiY3JlZGl0cy10aXRsZVwiPnt7IHN1YnRpdGxlIHx8IChzdWJ0aXRsZUtleSB8IHRyYW5zbGF0ZSkgfX08L3NwYW4+XG5cdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwiY3JlZGl0cy10aXRsZVwiPnt7IHRpdGxlIHx8ICh0aXRsZUtleSB8IHRyYW5zbGF0ZSkgfX08L3NwYW4+XG5cdFx0XHRcdH1cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXG5cdFx0PGRpdiBjbGFzcz1cImNyZWRpdHMtY29udGVudCBmbGV4LWdyb3ctMVwiPlxuXHRcdFx0QGlmIChjYW5TaG93QW1vdW50cygpKSB7XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtd3JhcCBnYXAtMiBjcmVkaXRzLXN1bW1hcnlcIiBbY2xhc3MuY3JlZGl0cy1tb2JpbGUtdmFsdWVzXT1cImxheW91dCA9PT0gJ21vYmlsZSdcIj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY3JlZGl0cy1waWxsXCIgW2NsYXNzLmNyZWRpdHMtbW9iaWxlLXZhbHVlXT1cImxheW91dCA9PT0gJ21vYmlsZSdcIj5cblx0XHRcdFx0XHRcdDxzbWFsbCBjbGFzcz1cIm1lLTEgdGV4dC11cHBlcmNhc2VcIj57eyBhdmFpbGFibGVMYWJlbCB8fCAoYXZhaWxhYmxlTGFiZWxLZXkgfCB0cmFuc2xhdGUpIH19PC9zbWFsbD5cblx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwiZnctNzAwXCI+e3sgcmVtYWluaW5nQ3JlZGl0cygpIHwgbnVtYmVyOicxLjAtMCcgfX08L3NwYW4+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNyZWRpdHMtcGlsbFwiIFtjbGFzcy5jcmVkaXRzLXBpbGwtbGlnaHRdPVwibGF5b3V0ID09PSAnaW5saW5lJ1wiIFtjbGFzcy5jcmVkaXRzLW1vYmlsZS12YWx1ZV09XCJsYXlvdXQgPT09ICdtb2JpbGUnXCIgW2NsYXNzLnRleHQtZW5kXT1cImxheW91dCA9PT0gJ21vYmlsZSdcIj5cblx0XHRcdFx0XHRcdDxzbWFsbCBjbGFzcz1cIm1lLTEgdGV4dC11cHBlcmNhc2VcIj57eyBsaW1pdExhYmVsIHx8IChsaW1pdExhYmVsS2V5IHwgdHJhbnNsYXRlKSB9fTwvc21hbGw+XG5cdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImZ3LTcwMFwiPnt7IGNyZWRpdEFtb3VudCgpIHwgbnVtYmVyOicxLjAtMCcgfX08L3NwYW4+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0fVxuXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY3JlZGl0cy1wcm9ncmVzcyBtdC0xXCI+XG5cdFx0XHRcdDxkaXZcblx0XHRcdFx0XHRjbGFzcz1cImNyZWRpdHMtcHJvZ3Jlc3MtZmlsbFwiXG5cdFx0XHRcdFx0W25nU3R5bGVdPVwieyB3aWR0aDogcHJvZ3Jlc3MoKSArICclJywgYmFja2dyb3VuZDogYmFyQ29sb3IoKSB9XCJcblx0XHRcdFx0XHRbYXR0ci5hcmlhLXZhbHVlbm93XT1cInJlbWFpbmluZ0NyZWRpdHMoKVwiXG5cdFx0XHRcdFx0W2F0dHIuYXJpYS12YWx1ZW1pbl09XCIwXCJcblx0XHRcdFx0XHRbYXR0ci5hcmlhLXZhbHVlbWF4XT1cImNyZWRpdEFtb3VudCgpXCJcblx0XHRcdFx0PjwvZGl2PlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdDwvZGl2PlxufVxuIl19
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { computed, inject, Injectable } from '@angular/core';
|
|
2
|
-
import { toObservable, toSignal } from '@angular/core/rxjs-interop';
|
|
3
|
-
import { AuthService } from './auth.service';
|
|
4
|
-
import { CartService } from './cart.service';
|
|
5
|
-
import { ChannelService } from './channel.service';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
/**
|
|
8
|
-
* Gestiona la visibilidad global de precios según:
|
|
9
|
-
* - configuración del canal (hidePrices, showPricesOnlyToLoggedUsers)
|
|
10
|
-
* - estado de autenticación
|
|
11
|
-
* - restricciones por cuenta corriente (showPrice desde balance)
|
|
12
|
-
*
|
|
13
|
-
* Nota: este servicio no contempla reglas por producto (shouldShowPrice, etc.).
|
|
14
|
-
*/
|
|
15
|
-
export class PriceVisibilityService {
|
|
16
|
-
channelService = inject(ChannelService);
|
|
17
|
-
authService = inject(AuthService);
|
|
18
|
-
cartService = inject(CartService);
|
|
19
|
-
channelConfig = toSignal(this.channelService.channel$, { initialValue: null });
|
|
20
|
-
loggedIn = toSignal(this.authService.loggedIn$, { initialValue: this.authService.isAuthenticated() });
|
|
21
|
-
creditAccountShowPrices = toSignal(this.cartService.showPrice$, { initialValue: null });
|
|
22
|
-
hidePrices = computed(() => !!this.channelConfig()?.hidePrices);
|
|
23
|
-
showPricesOnlyToLoggedUsers = computed(() => !!this.channelConfig()?.showPricesOnlyToLoggedUsers);
|
|
24
|
-
canShowPrices = computed(() => {
|
|
25
|
-
const hide = this.hidePrices();
|
|
26
|
-
const onlyLogged = this.showPricesOnlyToLoggedUsers();
|
|
27
|
-
const logged = this.loggedIn();
|
|
28
|
-
const creditAllowed = this.creditAccountShowPrices();
|
|
29
|
-
const creditPass = creditAllowed === null ? true : !!creditAllowed;
|
|
30
|
-
return !hide && (!onlyLogged || logged) && creditPass;
|
|
31
|
-
});
|
|
32
|
-
canShowPrices$ = toObservable(this.canShowPrices);
|
|
33
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PriceVisibilityService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
34
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PriceVisibilityService, providedIn: 'root' });
|
|
35
|
-
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PriceVisibilityService, decorators: [{
|
|
37
|
-
type: Injectable,
|
|
38
|
-
args: [{ providedIn: 'root' }]
|
|
39
|
-
}] });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpY2UtdmlzaWJpbGl0eS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL3ByaWNlLXZpc2liaWxpdHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFbkQ7Ozs7Ozs7R0FPRztBQUVILE1BQU0sT0FBTyxzQkFBc0I7SUFDakIsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4QyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFbEMsYUFBYSxHQUFHLFFBQVEsQ0FBYSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzNGLFFBQVEsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEcsdUJBQXVCLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFaEcsVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2hFLDJCQUEyQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLDJCQUEyQixDQUFDLENBQUM7SUFFbEcsYUFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDdEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQy9CLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBQ3RELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMvQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUNyRCxNQUFNLFVBQVUsR0FBRyxhQUFhLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFFbkUsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQyxJQUFJLFVBQVUsQ0FBQztJQUN2RCxDQUFDLENBQUMsQ0FBQztJQUVNLGNBQWMsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO3dHQXRCL0Msc0JBQXNCOzRHQUF0QixzQkFBc0IsY0FEVCxNQUFNOzs0RkFDbkIsc0JBQXNCO2tCQURsQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IENhcnRTZXJ2aWNlIH0gZnJvbSAnLi9jYXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hhbm5lbFNlcnZpY2UgfSBmcm9tICcuL2NoYW5uZWwuc2VydmljZSc7XG5cbi8qKlxuICogR2VzdGlvbmEgbGEgdmlzaWJpbGlkYWQgZ2xvYmFsIGRlIHByZWNpb3Mgc2Vnw7puOlxuICogLSBjb25maWd1cmFjacOzbiBkZWwgY2FuYWwgKGhpZGVQcmljZXMsIHNob3dQcmljZXNPbmx5VG9Mb2dnZWRVc2VycylcbiAqIC0gZXN0YWRvIGRlIGF1dGVudGljYWNpw7NuXG4gKiAtIHJlc3RyaWNjaW9uZXMgcG9yIGN1ZW50YSBjb3JyaWVudGUgKHNob3dQcmljZSBkZXNkZSBiYWxhbmNlKVxuICpcbiAqIE5vdGE6IGVzdGUgc2VydmljaW8gbm8gY29udGVtcGxhIHJlZ2xhcyBwb3IgcHJvZHVjdG8gKHNob3VsZFNob3dQcmljZSwgZXRjLikuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgUHJpY2VWaXNpYmlsaXR5U2VydmljZSB7XG5cdHByaXZhdGUgcmVhZG9ubHkgY2hhbm5lbFNlcnZpY2UgPSBpbmplY3QoQ2hhbm5lbFNlcnZpY2UpO1xuXHRwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcblx0cHJpdmF0ZSByZWFkb25seSBjYXJ0U2VydmljZSA9IGluamVjdChDYXJ0U2VydmljZSk7XG5cblx0cHJpdmF0ZSByZWFkb25seSBjaGFubmVsQ29uZmlnID0gdG9TaWduYWw8YW55IHwgbnVsbD4odGhpcy5jaGFubmVsU2VydmljZS5jaGFubmVsJCwgeyBpbml0aWFsVmFsdWU6IG51bGwgfSk7XG5cdHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VkSW4gPSB0b1NpZ25hbCh0aGlzLmF1dGhTZXJ2aWNlLmxvZ2dlZEluJCwgeyBpbml0aWFsVmFsdWU6IHRoaXMuYXV0aFNlcnZpY2UuaXNBdXRoZW50aWNhdGVkKCkgfSk7XG5cdHByaXZhdGUgcmVhZG9ubHkgY3JlZGl0QWNjb3VudFNob3dQcmljZXMgPSB0b1NpZ25hbCh0aGlzLmNhcnRTZXJ2aWNlLnNob3dQcmljZSQsIHsgaW5pdGlhbFZhbHVlOiBudWxsIH0pO1xuXG5cdHJlYWRvbmx5IGhpZGVQcmljZXMgPSBjb21wdXRlZCgoKSA9PiAhIXRoaXMuY2hhbm5lbENvbmZpZygpPy5oaWRlUHJpY2VzKTtcblx0cmVhZG9ubHkgc2hvd1ByaWNlc09ubHlUb0xvZ2dlZFVzZXJzID0gY29tcHV0ZWQoKCkgPT4gISF0aGlzLmNoYW5uZWxDb25maWcoKT8uc2hvd1ByaWNlc09ubHlUb0xvZ2dlZFVzZXJzKTtcblxuXHRyZWFkb25seSBjYW5TaG93UHJpY2VzID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IGhpZGUgPSB0aGlzLmhpZGVQcmljZXMoKTtcblx0XHRjb25zdCBvbmx5TG9nZ2VkID0gdGhpcy5zaG93UHJpY2VzT25seVRvTG9nZ2VkVXNlcnMoKTtcblx0XHRjb25zdCBsb2dnZWQgPSB0aGlzLmxvZ2dlZEluKCk7XG5cdFx0Y29uc3QgY3JlZGl0QWxsb3dlZCA9IHRoaXMuY3JlZGl0QWNjb3VudFNob3dQcmljZXMoKTtcblx0XHRjb25zdCBjcmVkaXRQYXNzID0gY3JlZGl0QWxsb3dlZCA9PT0gbnVsbCA/IHRydWUgOiAhIWNyZWRpdEFsbG93ZWQ7XG5cblx0XHRyZXR1cm4gIWhpZGUgJiYgKCFvbmx5TG9nZ2VkIHx8IGxvZ2dlZCkgJiYgY3JlZGl0UGFzcztcblx0fSk7XG5cblx0cmVhZG9ubHkgY2FuU2hvd1ByaWNlcyQgPSB0b09ic2VydmFibGUodGhpcy5jYW5TaG93UHJpY2VzKTtcbn1cblxuIl19
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
export type CreditAccountBannerLayout = 'inline' | 'mobile';
|
|
3
|
-
export declare class CreditAccountBannerEcComponent {
|
|
4
|
-
private readonly cartService;
|
|
5
|
-
private readonly authService;
|
|
6
|
-
layout: CreditAccountBannerLayout;
|
|
7
|
-
title?: string;
|
|
8
|
-
subtitle?: string;
|
|
9
|
-
availableLabel?: string;
|
|
10
|
-
limitLabel?: string;
|
|
11
|
-
titleKey: string;
|
|
12
|
-
subtitleKey: string;
|
|
13
|
-
availableLabelKey: string;
|
|
14
|
-
limitLabelKey: string;
|
|
15
|
-
requireLogged: boolean;
|
|
16
|
-
private readonly balance;
|
|
17
|
-
private readonly loggedIn;
|
|
18
|
-
readonly showMax: import("@angular/core").Signal<boolean>;
|
|
19
|
-
readonly canShowAmounts: import("@angular/core").Signal<boolean>;
|
|
20
|
-
readonly remainingCredits: import("@angular/core").Signal<number>;
|
|
21
|
-
readonly creditAmount: import("@angular/core").Signal<number>;
|
|
22
|
-
readonly progress: import("@angular/core").Signal<number>;
|
|
23
|
-
readonly barColor: import("@angular/core").Signal<"#6c757d" | "#198754" | "#ffc107" | "#dc3545">;
|
|
24
|
-
shouldRender(): boolean;
|
|
25
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<CreditAccountBannerEcComponent, never>;
|
|
26
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<CreditAccountBannerEcComponent, "app-credit-account-banner-ec", never, { "layout": { "alias": "layout"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "availableLabel": { "alias": "availableLabel"; "required": false; }; "limitLabel": { "alias": "limitLabel"; "required": false; }; "titleKey": { "alias": "titleKey"; "required": false; }; "subtitleKey": { "alias": "subtitleKey"; "required": false; }; "availableLabelKey": { "alias": "availableLabelKey"; "required": false; }; "limitLabelKey": { "alias": "limitLabelKey"; "required": false; }; "requireLogged": { "alias": "requireLogged"; "required": false; }; }, {}, never, never, true, never>;
|
|
27
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
/**
|
|
3
|
-
* Gestiona la visibilidad global de precios según:
|
|
4
|
-
* - configuración del canal (hidePrices, showPricesOnlyToLoggedUsers)
|
|
5
|
-
* - estado de autenticación
|
|
6
|
-
* - restricciones por cuenta corriente (showPrice desde balance)
|
|
7
|
-
*
|
|
8
|
-
* Nota: este servicio no contempla reglas por producto (shouldShowPrice, etc.).
|
|
9
|
-
*/
|
|
10
|
-
export declare class PriceVisibilityService {
|
|
11
|
-
private readonly channelService;
|
|
12
|
-
private readonly authService;
|
|
13
|
-
private readonly cartService;
|
|
14
|
-
private readonly channelConfig;
|
|
15
|
-
private readonly loggedIn;
|
|
16
|
-
private readonly creditAccountShowPrices;
|
|
17
|
-
readonly hidePrices: import("@angular/core").Signal<boolean>;
|
|
18
|
-
readonly showPricesOnlyToLoggedUsers: import("@angular/core").Signal<boolean>;
|
|
19
|
-
readonly canShowPrices: import("@angular/core").Signal<boolean>;
|
|
20
|
-
readonly canShowPrices$: import("rxjs").Observable<boolean>;
|
|
21
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<PriceVisibilityService, never>;
|
|
22
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<PriceVisibilityService>;
|
|
23
|
-
}
|