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.
Files changed (202) hide show
  1. package/README.md +121 -126
  2. package/assets/decidirFormEc.html +514 -514
  3. package/assets/ec-i18n/ct.json +282 -286
  4. package/assets/ec-i18n/en.json +1 -12
  5. package/assets/ec-i18n/es.json +434 -445
  6. package/assets/ec-i18n/fr.json +0 -4
  7. package/assets/ec-i18n/gl.json +282 -286
  8. package/assets/ec-i18n/pr.json +282 -286
  9. package/assets/images/cards-occasional.svg +21 -21
  10. package/assets/recaptcha/recaptcha-site-keys.json +3 -3
  11. package/assets/recaptcha/recaptcha-sites-prod.json +38 -38
  12. package/assets/recaptcha/recaptcha-sites.json +52 -52
  13. package/esm2022/lib/api/connection.service.mjs +1 -1
  14. package/esm2022/lib/classes/checkout/steps.mjs +1 -1
  15. package/esm2022/lib/classes/component-helper.mjs +1 -1
  16. package/esm2022/lib/classes/filters/attributes-filter.mjs +1 -1
  17. package/esm2022/lib/classes/filters/category-filter.mjs +1 -1
  18. package/esm2022/lib/classes/filters/dynamics-filter.mjs +1 -1
  19. package/esm2022/lib/classes/filters/filter-factory.mjs +1 -1
  20. package/esm2022/lib/classes/filters/filter.mjs +1 -1
  21. package/esm2022/lib/classes/filters/index.mjs +1 -1
  22. package/esm2022/lib/classes/filters/price_range-filter.mjs +1 -1
  23. package/esm2022/lib/classes/filters/sort-filter.mjs +1 -1
  24. package/esm2022/lib/classes/index.mjs +1 -1
  25. package/esm2022/lib/classes/user.mjs +1 -1
  26. package/esm2022/lib/constants/api.constants.service.mjs +1 -1
  27. package/esm2022/lib/constants/core.constants.service.mjs +1 -1
  28. package/esm2022/lib/constants/index.mjs +1 -1
  29. package/esm2022/lib/ec-components/abstractions-components/block-ec.component.mjs +1 -1
  30. package/esm2022/lib/ec-components/abstractions-components/index.mjs +1 -1
  31. package/esm2022/lib/ec-components/abstractions-components/menu-ec.component.mjs +1 -1
  32. package/esm2022/lib/ec-components/account-ec/account-ec.component.mjs +3 -3
  33. package/esm2022/lib/ec-components/account-ec/index.mjs +1 -1
  34. package/esm2022/lib/ec-components/account-ec/order-ec/order-ec.component.mjs +9 -5
  35. package/esm2022/lib/ec-components/account-ec/orders-list-ec/orders-list-ec.component.mjs +5 -11
  36. package/esm2022/lib/ec-components/auth-ec/auth-ec.component.mjs +3 -3
  37. package/esm2022/lib/ec-components/auth-ec/confirm-account-ec/confirm-account-ec.component.mjs +3 -3
  38. package/esm2022/lib/ec-components/auth-ec/forgot-password-ec/forgot-password-ec.component.mjs +3 -3
  39. package/esm2022/lib/ec-components/auth-ec/index.mjs +1 -1
  40. package/esm2022/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.mjs +3 -3
  41. package/esm2022/lib/ec-components/auth-ec/password-reset-ec/password-reset-ec.component.mjs +3 -3
  42. package/esm2022/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.mjs +3 -3
  43. package/esm2022/lib/ec-components/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.mjs +3 -3
  44. package/esm2022/lib/ec-components/blocks-ec/block-banner-box-ec/block-banner-box-ec.component.mjs +3 -3
  45. package/esm2022/lib/ec-components/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.mjs +3 -3
  46. package/esm2022/lib/ec-components/blocks-ec/block-form-contact-ec/block-form-contact-ec.component.mjs +3 -3
  47. package/esm2022/lib/ec-components/blocks-ec/block-html-ec/block-html-ec.component.mjs +3 -3
  48. package/esm2022/lib/ec-components/blocks-ec/block-newsletter-ec/block-newsletter-ec.component.mjs +3 -3
  49. package/esm2022/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.mjs +3 -3
  50. package/esm2022/lib/ec-components/blocks-ec/blocks-ec.component.mjs +3 -3
  51. package/esm2022/lib/ec-components/blocks-ec/index.mjs +1 -1
  52. package/esm2022/lib/ec-components/breadcrumb-ec/breadcrumb-ec.component.mjs +3 -3
  53. package/esm2022/lib/ec-components/cart-ec/cart-ec.component.mjs +3 -12
  54. package/esm2022/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.mjs +3 -3
  55. package/esm2022/lib/ec-components/cart-ec/index.mjs +1 -1
  56. package/esm2022/lib/ec-components/checkout-ec/checkout-ec.component.mjs +3 -10
  57. package/esm2022/lib/ec-components/checkout-ec/dataform-ec/dataform-ec.component.mjs +3 -3
  58. package/esm2022/lib/ec-components/checkout-ec/dataform-ec/input-ec/input-ec.component.mjs +3 -3
  59. package/esm2022/lib/ec-components/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.mjs +3 -5
  60. package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.mjs +4 -44
  61. package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/bank-transfer-ec/bank-transfer-ec.component.mjs +3 -3
  62. package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/index.mjs +1 -1
  63. package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.mjs +3 -3
  64. package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/offline-ec/offline-ec.component.mjs +3 -3
  65. package/esm2022/lib/ec-components/checkout-ec/shipment-ec/shipment-ec.component.mjs +3 -3
  66. package/esm2022/lib/ec-components/checkout-ec/step-container-ec/step-container-ec.component.mjs +3 -3
  67. package/esm2022/lib/ec-components/checkout-ec/success-ec/success-ec.component.mjs +3 -4
  68. package/esm2022/lib/ec-components/collection-ec/collection-ec.component.mjs +3 -3
  69. package/esm2022/lib/ec-components/contact-ec/contact-ec.component.mjs +7 -3
  70. package/esm2022/lib/ec-components/coupon-ec/coupon-ec.component.mjs +3 -3
  71. package/esm2022/lib/ec-components/faqs-ec/faqs-ec.component.mjs +3 -3
  72. package/esm2022/lib/ec-components/filters-ec/filters-ec.component.mjs +3 -3
  73. package/esm2022/lib/ec-components/filters-sort-ec/filters-sort-ec.component.mjs +3 -3
  74. package/esm2022/lib/ec-components/footer-ec/footer-ec.component.mjs +3 -3
  75. package/esm2022/lib/ec-components/header-ec/header-ec.component.mjs +13 -27
  76. package/esm2022/lib/ec-components/home-ec/home-ec.component.mjs +3 -3
  77. package/esm2022/lib/ec-components/index.mjs +1 -2
  78. package/esm2022/lib/ec-components/price-range-filter/price-range-filter.component.mjs +3 -3
  79. package/esm2022/lib/ec-components/product-detail-ec/product-detail-ec.component.mjs +1 -1
  80. package/esm2022/lib/ec-components/product-ec/product-ec.component.mjs +3 -3
  81. package/esm2022/lib/ec-components/related-products-ec/related-products-ec.component.mjs +3 -3
  82. package/esm2022/lib/ec-components/reviews-ec/reviews-ec.component.mjs +3 -3
  83. package/esm2022/lib/ec-components/reviews-form-ec/reviews-form-ec.component.mjs +3 -3
  84. package/esm2022/lib/ec-components/section-container-ec/section-container-ec.component.mjs +3 -3
  85. package/esm2022/lib/ec-components/share-ec/share-buttons-ec/index.mjs +1 -1
  86. package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-email-ec/share-email-ec.component.mjs +3 -3
  87. package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-facebook-ec/share-facebook-ec.component.mjs +3 -3
  88. package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-pinterest-ec/share-pinterest-ec.component.mjs +3 -3
  89. package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-twitter-ec/share-twitter-ec.component.mjs +3 -3
  90. package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-whatsapp-ec/share-whatsapp-ec.component.mjs +3 -3
  91. package/esm2022/lib/ec-components/share-ec/share-ec.component.mjs +3 -3
  92. package/esm2022/lib/ec-components/sidebar-ec/sidebar-ec.component.mjs +7 -5
  93. package/esm2022/lib/ec-components/stores-ec/stores-ec.component.mjs +3 -3
  94. package/esm2022/lib/ec-components/variants-ec/variants-ec.component.mjs +3 -3
  95. package/esm2022/lib/ec-components/widgets-ec/decidir-ec/decidir-ec.component.mjs +3 -3
  96. package/esm2022/lib/ec-components/widgets-ec/index.mjs +1 -1
  97. package/esm2022/lib/ec-components/widgets-ec/loading/index.mjs +1 -1
  98. package/esm2022/lib/ec-components/widgets-ec/loading/loading-full-ec/loading-full-ec.component.mjs +3 -3
  99. package/esm2022/lib/ec-components/widgets-ec/loading/loading-inline-ec/loading-inline-ec.component.mjs +3 -3
  100. package/esm2022/lib/ec-components/widgets-ec/loading/loading-section-ec/loading-section-ec.component.mjs +3 -3
  101. package/esm2022/lib/ec-components/widgets-ec/magnizoom-ec/magnizoom-ec.component.mjs +3 -3
  102. package/esm2022/lib/ec-components/widgets-ec/price-ec/price-ec.component.mjs +11 -5
  103. package/esm2022/lib/ec-components/widgets-ec/rating-ec/rating-ec.component.mjs +3 -3
  104. package/esm2022/lib/ec-components/widgets-ec/re-captcha-ec/re-captcha-ec.component.mjs +3 -3
  105. package/esm2022/lib/ec-components/widgets-ec/redsys-catch-ec/redsys-catch-ec.component.mjs +3 -3
  106. package/esm2022/lib/ec-directive/index.mjs +1 -1
  107. package/esm2022/lib/ec-directive/product-off.directive.mjs +1 -1
  108. package/esm2022/lib/ec-directive/product-stock.directive.mjs +1 -1
  109. package/esm2022/lib/ec-guards/auth.guard.mjs +1 -1
  110. package/esm2022/lib/ec-pipe/ec-currency-symbol.pipe.mjs +1 -1
  111. package/esm2022/lib/ec-pipe/ec-safe-html.pipe.mjs +1 -1
  112. package/esm2022/lib/ec-pipe/index.mjs +1 -1
  113. package/esm2022/lib/ec-services/addressing.service.mjs +1 -1
  114. package/esm2022/lib/ec-services/analytics/analytics.service.mjs +1 -1
  115. package/esm2022/lib/ec-services/analytics/doppler.service.mjs +1 -1
  116. package/esm2022/lib/ec-services/analytics/facebook-pixel.service.mjs +1 -1
  117. package/esm2022/lib/ec-services/analytics/google-analytics.service.mjs +1 -1
  118. package/esm2022/lib/ec-services/analytics/gtm.service.mjs +1 -1
  119. package/esm2022/lib/ec-services/analytics/index.mjs +1 -1
  120. package/esm2022/lib/ec-services/analytics/metricool-pixel.service.mjs +11 -11
  121. package/esm2022/lib/ec-services/auth.service.mjs +1 -1
  122. package/esm2022/lib/ec-services/auth.storage.service.mjs +1 -1
  123. package/esm2022/lib/ec-services/base-api.service.mjs +1 -1
  124. package/esm2022/lib/ec-services/blocks-repository.service.mjs +1 -1
  125. package/esm2022/lib/ec-services/blocks.service.mjs +1 -1
  126. package/esm2022/lib/ec-services/cart.service.mjs +7 -42
  127. package/esm2022/lib/ec-services/channel.service.mjs +1 -1
  128. package/esm2022/lib/ec-services/checkout.service.mjs +1 -1
  129. package/esm2022/lib/ec-services/currency.service.mjs +1 -1
  130. package/esm2022/lib/ec-services/filters.service.mjs +1 -1
  131. package/esm2022/lib/ec-services/form.service.mjs +1 -1
  132. package/esm2022/lib/ec-services/index.mjs +1 -2
  133. package/esm2022/lib/ec-services/local-storage.service.mjs +1 -1
  134. package/esm2022/lib/ec-services/ngx-local-storage.service.mjs +1 -1
  135. package/esm2022/lib/ec-services/options.service.mjs +1 -1
  136. package/esm2022/lib/ec-services/order-utility.service.mjs +1 -1
  137. package/esm2022/lib/ec-services/orders.service.mjs +1 -1
  138. package/esm2022/lib/ec-services/pagination.service.mjs +1 -1
  139. package/esm2022/lib/ec-services/parameters.service.mjs +1 -1
  140. package/esm2022/lib/ec-services/payment.service.mjs +1 -1
  141. package/esm2022/lib/ec-services/product-detail.service.mjs +7 -45
  142. package/esm2022/lib/ec-services/products.service.mjs +1 -1
  143. package/esm2022/lib/ec-services/re-captcha.service.mjs +1 -1
  144. package/esm2022/lib/ec-services/reviews.service.mjs +1 -1
  145. package/esm2022/lib/ec-services/runtime-config.service.mjs +1 -1
  146. package/esm2022/lib/ec-services/shipment.service.mjs +1 -1
  147. package/esm2022/lib/ec-services/stores.service.mjs +1 -1
  148. package/esm2022/lib/ec-services/test.service.mjs +1 -1
  149. package/esm2022/lib/ec-services/toast.service.mjs +1 -1
  150. package/esm2022/lib/interceptors/auth.interceptor.mjs +1 -1
  151. package/esm2022/lib/interceptors/index.mjs +1 -1
  152. package/esm2022/lib/interceptors/runtime-config.interceptor.mjs +1 -1
  153. package/esm2022/lib/interfaces/analytics/event-key.mjs +1 -1
  154. package/esm2022/lib/interfaces/analytics/facebook-pixel-data.mjs +1 -1
  155. package/esm2022/lib/interfaces/analytics/gtm-config.mjs +1 -1
  156. package/esm2022/lib/interfaces/analytics/index.mjs +1 -1
  157. package/esm2022/lib/interfaces/blocks.mjs +1 -1
  158. package/esm2022/lib/interfaces/checkout.mjs +1 -1
  159. package/esm2022/lib/interfaces/connection.mjs +1 -1
  160. package/esm2022/lib/interfaces/coupon.mjs +1 -1
  161. package/esm2022/lib/interfaces/currency.mjs +1 -1
  162. package/esm2022/lib/interfaces/deserializable.mjs +1 -1
  163. package/esm2022/lib/interfaces/environment.mjs +1 -1
  164. package/esm2022/lib/interfaces/faqs.mjs +1 -1
  165. package/esm2022/lib/interfaces/filter.mjs +1 -1
  166. package/esm2022/lib/interfaces/index.mjs +1 -1
  167. package/esm2022/lib/interfaces/options.mjs +1 -1
  168. package/esm2022/lib/interfaces/pagination.mjs +1 -1
  169. package/esm2022/lib/interfaces/parameter.mjs +1 -1
  170. package/esm2022/lib/interfaces/product.mjs +1 -1
  171. package/esm2022/lib/interfaces/runtime-config.mjs +1 -1
  172. package/esm2022/lib/interfaces/step.mjs +1 -1
  173. package/esm2022/lib/interfaces/storage.mjs +1 -1
  174. package/esm2022/lib/interfaces/store.mjs +1 -1
  175. package/esm2022/lib/interfaces/types/user.type.mjs +1 -1
  176. package/esm2022/lib/providers/index.mjs +1 -1
  177. package/esm2022/lib/providers/provideEnvironment.mjs +1 -1
  178. package/esm2022/lib/providers/provideRuntimeConfig.mjs +1 -1
  179. package/esm2022/lib/stores/currency.store.mjs +1 -1
  180. package/esm2022/public-api.mjs +1 -1
  181. package/fesm2022/ng-easycommerce-v18.mjs +181 -412
  182. package/fesm2022/ng-easycommerce-v18.mjs.map +1 -1
  183. package/lib/ec-components/account-ec/order-ec/order-ec.component.d.ts +2 -2
  184. package/lib/ec-components/account-ec/orders-list-ec/orders-list-ec.component.d.ts +0 -3
  185. package/lib/ec-components/cart-ec/cart-ec.component.d.ts +2 -4
  186. package/lib/ec-components/checkout-ec/checkout-ec.component.d.ts +0 -2
  187. package/lib/ec-components/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.d.ts +0 -2
  188. package/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.d.ts +0 -6
  189. package/lib/ec-components/checkout-ec/success-ec/success-ec.component.d.ts +0 -1
  190. package/lib/ec-components/contact-ec/contact-ec.component.d.ts +1 -0
  191. package/lib/ec-components/header-ec/header-ec.component.d.ts +4 -12
  192. package/lib/ec-components/index.d.ts +0 -1
  193. package/lib/ec-components/sidebar-ec/sidebar-ec.component.d.ts +1 -2
  194. package/lib/ec-components/widgets-ec/price-ec/price-ec.component.d.ts +4 -2
  195. package/lib/ec-services/cart.service.d.ts +0 -1
  196. package/lib/ec-services/index.d.ts +0 -1
  197. package/lib/ec-services/product-detail.service.d.ts +0 -3
  198. package/package.json +1 -1
  199. package/esm2022/lib/ec-components/credit-account-banner-ec/credit-account-banner-ec.component.mjs +0 -79
  200. package/esm2022/lib/ec-services/price-visibility.service.mjs +0 -40
  201. package/lib/ec-components/credit-account-banner-ec/credit-account-banner-ec.component.d.ts +0 -27
  202. 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, OnInit } from '@angular/core';
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 implements OnInit {
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 { OnInit, ChangeDetectorRef, OnDestroy } from '@angular/core';
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 implements OnInit, OnDestroy {
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
- balanceAttributes: BalanceCustomer | null;
20
- private subscriptions;
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
- readonly priceVisibility: PriceVisibilityService;
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>;
@@ -26,4 +26,3 @@ export * from './test.service';
26
26
  export * from './orders.service';
27
27
  export * from './runtime-config.service';
28
28
  export * from './base-api.service';
29
- export * from './price-visibility.service';
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ng-easycommerce-v18",
3
- "version": "0.4.1-beta.1",
3
+ "version": "0.4.2",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.2.0",
6
6
  "@angular/core": "^18.2.0"
@@ -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
- }