ng-easycommerce-v18 0.3.14-beta.2 → 0.3.15-beta.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 (186) hide show
  1. package/README.md +92 -82
  2. package/assets/decidirFormEc.html +514 -514
  3. package/assets/ec-i18n/ct.json +281 -281
  4. package/assets/ec-i18n/en.json +0 -0
  5. package/assets/ec-i18n/es.json +429 -429
  6. package/assets/ec-i18n/fr.json +0 -0
  7. package/assets/ec-i18n/gl.json +281 -281
  8. package/assets/ec-i18n/pr.json +281 -281
  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 +2 -27
  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 +44 -41
  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 +3 -3
  35. package/esm2022/lib/ec-components/account-ec/orders-list-ec/orders-list-ec.component.mjs +3 -3
  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 +7 -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 +7 -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 +5 -7
  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 -3
  54. package/esm2022/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.mjs +8 -4
  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 -3
  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 -3
  60. package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.mjs +3 -3
  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 +141 -75
  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 -3
  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 +1 -1
  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 +47 -36
  76. package/esm2022/lib/ec-components/home-ec/home-ec.component.mjs +3 -3
  77. package/esm2022/lib/ec-components/index.mjs +1 -1
  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 +95 -5
  81. package/esm2022/lib/ec-components/related-products-ec/related-products-ec.component.mjs +6 -8
  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 +3 -3
  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 +2 -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 +4 -6
  102. package/esm2022/lib/ec-components/widgets-ec/price-ec/price-ec.component.mjs +3 -3
  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 +193 -0
  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 +2 -4
  117. package/esm2022/lib/ec-services/analytics/google-analytics.service.mjs +2 -4
  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/blocks-repository.service.mjs +1 -1
  124. package/esm2022/lib/ec-services/blocks.service.mjs +1 -1
  125. package/esm2022/lib/ec-services/cart.service.mjs +1 -1
  126. package/esm2022/lib/ec-services/channel.service.mjs +1 -1
  127. package/esm2022/lib/ec-services/checkout.service.mjs +1 -1
  128. package/esm2022/lib/ec-services/currency.service.mjs +1 -1
  129. package/esm2022/lib/ec-services/filters.service.mjs +1 -1
  130. package/esm2022/lib/ec-services/form.service.mjs +1 -1
  131. package/esm2022/lib/ec-services/index.mjs +1 -1
  132. package/esm2022/lib/ec-services/local-storage.service.mjs +1 -1
  133. package/esm2022/lib/ec-services/ngx-local-storage.service.mjs +1 -1
  134. package/esm2022/lib/ec-services/options.service.mjs +3 -27
  135. package/esm2022/lib/ec-services/order-utility.service.mjs +1 -1
  136. package/esm2022/lib/ec-services/orders.service.mjs +1 -1
  137. package/esm2022/lib/ec-services/pagination.service.mjs +1 -1
  138. package/esm2022/lib/ec-services/parameters.service.mjs +1 -1
  139. package/esm2022/lib/ec-services/payment.service.mjs +1 -1
  140. package/esm2022/lib/ec-services/product-detail.service.mjs +1 -1
  141. package/esm2022/lib/ec-services/products.service.mjs +1 -1
  142. package/esm2022/lib/ec-services/re-captcha.service.mjs +1 -1
  143. package/esm2022/lib/ec-services/reviews.service.mjs +1 -1
  144. package/esm2022/lib/ec-services/shipment.service.mjs +1 -1
  145. package/esm2022/lib/ec-services/stores.service.mjs +1 -1
  146. package/esm2022/lib/ec-services/test.service.mjs +1 -1
  147. package/esm2022/lib/ec-services/toast.service.mjs +1 -1
  148. package/esm2022/lib/interceptors/auth.interceptor.mjs +1 -1
  149. package/esm2022/lib/interfaces/analytics/event-key.mjs +1 -1
  150. package/esm2022/lib/interfaces/analytics/facebook-pixel-data.mjs +1 -1
  151. package/esm2022/lib/interfaces/analytics/gtm-config.mjs +1 -1
  152. package/esm2022/lib/interfaces/analytics/index.mjs +1 -1
  153. package/esm2022/lib/interfaces/blocks.mjs +1 -1
  154. package/esm2022/lib/interfaces/checkout.mjs +1 -1
  155. package/esm2022/lib/interfaces/connection.mjs +1 -1
  156. package/esm2022/lib/interfaces/coupon.mjs +1 -1
  157. package/esm2022/lib/interfaces/currency.mjs +1 -1
  158. package/esm2022/lib/interfaces/deserializable.mjs +1 -1
  159. package/esm2022/lib/interfaces/environment.mjs +1 -1
  160. package/esm2022/lib/interfaces/faqs.mjs +1 -1
  161. package/esm2022/lib/interfaces/filter.mjs +1 -1
  162. package/esm2022/lib/interfaces/index.mjs +1 -1
  163. package/esm2022/lib/interfaces/options.mjs +1 -1
  164. package/esm2022/lib/interfaces/pagination.mjs +1 -1
  165. package/esm2022/lib/interfaces/parameter.mjs +1 -1
  166. package/esm2022/lib/interfaces/product.mjs +1 -1
  167. package/esm2022/lib/interfaces/step.mjs +1 -1
  168. package/esm2022/lib/interfaces/storage.mjs +1 -1
  169. package/esm2022/lib/interfaces/store.mjs +1 -1
  170. package/esm2022/lib/interfaces/types/user.type.mjs +1 -1
  171. package/esm2022/lib/providers/provideEnvironment.mjs +1 -1
  172. package/esm2022/lib/stores/currency.store.mjs +1 -1
  173. package/esm2022/public-api.mjs +1 -1
  174. package/fesm2022/ng-easycommerce-v18.mjs +673 -367
  175. package/fesm2022/ng-easycommerce-v18.mjs.map +1 -1
  176. package/lib/constants/api.constants.service.d.ts +24 -13
  177. package/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.d.ts +2 -0
  178. package/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.d.ts +2 -0
  179. package/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.d.ts +5 -0
  180. package/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.d.ts +38 -16
  181. package/lib/ec-components/header-ec/header-ec.component.d.ts +5 -1
  182. package/lib/ec-components/product-ec/product-ec.component.d.ts +10 -1
  183. package/lib/ec-components/widgets-ec/index.d.ts +1 -0
  184. package/lib/ec-components/widgets-ec/redsys-catch-ec/redsys-catch-ec.component.d.ts +47 -0
  185. package/lib/ec-services/options.service.d.ts +0 -4
  186. package/package.json +1 -1
@@ -1,37 +1,48 @@
1
1
  import * as i0 from "@angular/core";
2
2
  /**
3
- * Servicio que provee de datos relacionados con las peticiones a la API
3
+ * Servicio que provee de datos que estan relacionado con las peticiones a la API
4
+ * @export
5
+ * @class ApiConstantsService
4
6
  */
5
7
  export declare class ApiConstantsService {
6
- private ssrApiUrl;
7
8
  private _localStorage;
8
9
  private _translate;
10
+ /**
11
+ * Contiene los datos provisto por el frontend en el archivo environment.ts
12
+ */
9
13
  private environment;
10
- private platformId;
11
- private _channel;
12
- LOCALE: string;
13
- readonly SHOP_API_URL: string;
14
- readonly CMS_URL: string;
15
- constructor(ssrApiUrl: string);
16
14
  /**
17
15
  * Canal actual del frontend
18
16
  */
19
17
  get CHANNEL(): string;
20
18
  set CHANNEL(value: string);
19
+ private _channel;
21
20
  /**
22
- * URL del backend para realizar las peticiones
21
+ * Locale actual del frontend
23
22
  */
24
- get API_URL(): string;
23
+ LOCALE: string;
25
24
  /**
26
- * URL base completa para shop-api con channel y locale
25
+ * URL para las peticiones a shop-api
27
26
  */
28
- getShopApiBase(): string;
27
+ readonly SHOP_API_URL: string;
28
+ /**
29
+ * URL para las peticiones a cms
30
+ */
31
+ readonly CMS_URL: string;
32
+ constructor();
33
+ /**
34
+ * URL del backend para realizar las peticiones
35
+ */
36
+ get API_URL(): string;
29
37
  /**
30
- * Retorna la url base general (sin shop-api)
38
+ * Retorna la url base
39
+ * @returns {string}
31
40
  */
32
41
  getUrlBase(): string;
33
42
  /**
34
43
  * Cambia el canal actual
44
+ * @param code
45
+ * @returns
35
46
  */
36
47
  setChannel(code: string): void;
37
48
  setLocale(locale: string): void;
@@ -6,6 +6,7 @@ export declare class LoginFormEcComponent {
6
6
  private _formBuilder;
7
7
  private _toastService;
8
8
  private _router;
9
+ showPassword: boolean;
9
10
  /**
10
11
  * Parametro para indicar si tras loguear
11
12
  * debe redireccionar o no.
@@ -38,6 +39,7 @@ export declare class LoginFormEcComponent {
38
39
  * De lo contrario redirige al contenido de la variable `redirectTo`.
39
40
  */
40
41
  redirectHome(): void;
42
+ togglePassword(): void;
41
43
  static ɵfac: i0.ɵɵFactoryDeclaration<LoginFormEcComponent, never>;
42
44
  static ɵcmp: i0.ɵɵComponentDeclaration<LoginFormEcComponent, "app-login-form-ec", never, { "redirect": { "alias": "redirect"; "required": false; }; "redirectTo": { "alias": "redirectTo"; "required": false; }; "inCart": { "alias": "inCart"; "required": false; }; }, { "ready": "ready"; }, never, never, true, never>;
43
45
  }
@@ -8,6 +8,7 @@ export declare class RegisterFormEcComponent {
8
8
  private _analyticsService;
9
9
  private _formBuilder;
10
10
  private channelConfigService;
11
+ showPassword: boolean;
11
12
  /**
12
13
  * Indica si debe redireccionar o se queda en la misma pantalla
13
14
  */
@@ -41,6 +42,7 @@ export declare class RegisterFormEcComponent {
41
42
  * @returns
42
43
  */
43
44
  register(event: Event): void;
45
+ togglePassword(): void;
44
46
  static ɵfac: i0.ɵɵFactoryDeclaration<RegisterFormEcComponent, never>;
45
47
  static ɵcmp: i0.ɵɵComponentDeclaration<RegisterFormEcComponent, "app-register-form-ec", never, { "redirect": { "alias": "redirect"; "required": false; }; }, { "ready": "ready"; }, never, never, true, never>;
46
48
  }
@@ -1,4 +1,6 @@
1
1
  import { OnInit } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { Parameter } from '../../../interfaces';
2
4
  import * as i0 from "@angular/core";
3
5
  export declare class CartItemEcComponent implements OnInit {
4
6
  item: any;
@@ -6,6 +8,7 @@ export declare class CartItemEcComponent implements OnInit {
6
8
  private _cartService;
7
9
  private _toastService;
8
10
  private _constants;
11
+ private parametersService;
9
12
  mediaUrl: string;
10
13
  quantity: number;
11
14
  variantsToShow: string[];
@@ -19,6 +22,8 @@ export declare class CartItemEcComponent implements OnInit {
19
22
  getVariants(product: any): any;
20
23
  createDiscountMessage(saleprice: number, price: number): string;
21
24
  checkStock(product: any): any;
25
+ parameters$: Observable<Parameter[] | null>;
26
+ hasParams: (params: any, code: string) => any;
22
27
  static ɵfac: i0.ɵɵFactoryDeclaration<CartItemEcComponent, never>;
23
28
  static ɵcmp: i0.ɵɵComponentDeclaration<CartItemEcComponent, "app-cart-item-ec", never, { "item": { "alias": "item"; "required": true; }; "inSidebar": { "alias": "inSidebar"; "required": false; }; }, {}, never, never, true, never>;
24
29
  }
@@ -1,30 +1,52 @@
1
- import { EventEmitter, OnInit } from '@angular/core';
1
+ import { EventEmitter, OnInit, OnDestroy } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- export declare class MpRedirectEcComponent implements OnInit {
3
+ type Phase = 'idle' | 'paying' | 'finalizing';
4
+ export declare class MpRedirectEcComponent implements OnInit, OnDestroy {
4
5
  private _paymentService;
5
6
  private _toastService;
7
+ private platformId;
8
+ private finished;
6
9
  method: null;
7
10
  total_amount: number;
8
11
  allData: any;
9
- ready: EventEmitter<any>;
12
+ ready: EventEmitter<boolean>;
10
13
  protected preference: any;
11
- loading: boolean;
12
- url: any;
13
- closeModal: string;
14
- ventana: any;
15
- window?: Window;
16
- localStorage?: Storage;
17
- private platformId;
18
- constructor();
14
+ url?: string;
15
+ phase: Phase;
16
+ get isIdle(): boolean;
17
+ get isPaying(): boolean;
18
+ get isFinalizing(): boolean;
19
+ private ventana;
20
+ private windowRef?;
21
+ private sid;
22
+ private bc?;
23
+ private pollTimer?;
24
+ private pollStartedAt;
19
25
  ngOnInit(): void;
26
+ ngOnDestroy(): void;
27
+ /** Cancela manualmente el pago y finaliza el flujo con estado "cancel". */
20
28
  clickClose: () => void;
29
+ /**
30
+ * Inicia el pago abriendo `init_point` en una ventana/pestaña nueva.
31
+ * Genera un SID y lo persiste para casar la respuesta del catch.
32
+ * Si el popup es bloqueado, hace fallback navegando en la misma pestaña.
33
+ */
21
34
  iniciar: () => void;
22
- callState: () => void;
23
- processError: (err: any) => void;
35
+ private onWindowMessage;
36
+ private onStorage;
37
+ private onMpMessage;
38
+ private checkLocalStorageOnce;
39
+ /** Cierra el flujo de pago con el estado final y notifica al padre. */
40
+ private finishWithState;
41
+ private genSid;
42
+ private processError;
43
+ /** Limpia posibles residuos de estado en storages. */
24
44
  clearStorageState: () => void;
25
- getPreference: () => Promise<void>;
26
- setError: (message: any) => void;
27
- renderMP: (preference: any) => void;
45
+ /** Obtiene la preferencia e inicializa `url` (init_point). */
46
+ private getPreference;
47
+ private setError;
48
+ private renderMP;
28
49
  static ɵfac: i0.ɵɵFactoryDeclaration<MpRedirectEcComponent, never>;
29
50
  static ɵcmp: i0.ɵɵComponentDeclaration<MpRedirectEcComponent, "app-mp-redirect-ec", never, { "method": { "alias": "method"; "required": false; }; "total_amount": { "alias": "total_amount"; "required": false; }; "allData": { "alias": "allData"; "required": false; }; }, { "ready": "ready"; }, never, never, true, never>;
30
51
  }
52
+ export {};
@@ -1,4 +1,5 @@
1
1
  import { MenuEcComponent } from '../abstractions-components';
2
+ import { Observable } from 'rxjs';
2
3
  import * as i0 from "@angular/core";
3
4
  /**
4
5
  * Componente que se encarga de manejar la funcionalidad del Header.
@@ -13,12 +14,15 @@ export declare class HeaderEcComponent extends MenuEcComponent {
13
14
  hidePrices: boolean;
14
15
  private __authService;
15
16
  private _channelService;
17
+ private changeDetector;
18
+ private appRouter;
19
+ private platformId;
20
+ logged$: Observable<boolean>;
16
21
  isAuthenticated$: boolean;
17
22
  constructor();
18
23
  private coreConstantsService;
19
24
  private router;
20
25
  private cdr;
21
- protected platformId: Object;
22
26
  ngOnInit(): void;
23
27
  ngAfterViewInit(): void;
24
28
  /**
@@ -1,4 +1,4 @@
1
- import { EventEmitter, OnInit, Injector } from '@angular/core';
1
+ import { EventEmitter, OnInit, Injector, WritableSignal } from '@angular/core';
2
2
  import { Product } from '../../interfaces';
3
3
  import * as i0 from "@angular/core";
4
4
  /**
@@ -8,6 +8,10 @@ import * as i0 from "@angular/core";
8
8
  export declare class ProductEcComponent implements OnInit {
9
9
  injector: Injector;
10
10
  private routerService;
11
+ private _cartService;
12
+ private _toastService;
13
+ isAddingToCart: WritableSignal<boolean>;
14
+ quantity: WritableSignal<number>;
11
15
  /**
12
16
  * Navega al detalle del producto y sube al inicio de la página
13
17
  * @param productId ID del producto
@@ -43,6 +47,11 @@ export declare class ProductEcComponent implements OnInit {
43
47
  get shouldShowPrice(): boolean;
44
48
  get hasDiscount(): boolean;
45
49
  get discountPercentage(): number | null;
50
+ plus(stock?: number, multipleQuantity?: number): void;
51
+ less(multipleQuantity?: number): void;
52
+ addToCart(): void;
53
+ checkStock(stock: number): void;
54
+ onQuantityChange(event: Event): void;
46
55
  static ɵfac: i0.ɵɵFactoryDeclaration<ProductEcComponent, never>;
47
56
  static ɵcmp: i0.ɵɵComponentDeclaration<ProductEcComponent, "app-product-ec", never, { "product": { "alias": "product"; "required": true; }; "isProductBox": { "alias": "isProductBox"; "required": false; }; "isCollection": { "alias": "isCollection"; "required": false; }; }, { "loaded": "loaded"; }, never, never, true, never>;
48
57
  }
@@ -2,3 +2,4 @@ export * from './loading';
2
2
  export * from './price-ec/price-ec.component';
3
3
  export * from './re-captcha-ec/re-captcha-ec.component';
4
4
  export * from './magnizoom-ec/magnizoom-ec.component';
5
+ export * from './redsys-catch-ec/redsys-catch-ec.component';
@@ -0,0 +1,47 @@
1
+ import { OnInit, OnDestroy, Renderer2, ElementRef } from '@angular/core';
2
+ import { ActivatedRoute, Router } from '@angular/router';
3
+ import { ComponentHelper } from '../../../classes/component-helper';
4
+ import { CheckoutService } from '../../../ec-services';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Catch genérico para redirecciones de pagos.
8
+ * - Normaliza el estado recibido por params/query.
9
+ * - Informa el resultado al opener (postMessage), BroadcastChannel y localStorage.
10
+ * - Intenta cerrarse; si el cierre falla, redirige según el estado.
11
+ */
12
+ export declare class RedsysCatchEcComponent extends ComponentHelper implements OnInit, OnDestroy {
13
+ activedRoute: ActivatedRoute;
14
+ router: Router;
15
+ checkoutService: CheckoutService;
16
+ private renderer;
17
+ private elementRef;
18
+ private document;
19
+ private platformId;
20
+ message: string;
21
+ private subscription;
22
+ private sid;
23
+ private bc?;
24
+ constructor(activedRoute: ActivatedRoute, router: Router, checkoutService: CheckoutService, renderer: Renderer2, elementRef: ElementRef, document: Document, platformId: any);
25
+ ngOnInit(): void;
26
+ ngOnDestroy(): void;
27
+ /** Guarda total_amount si viene desde el PSP. */
28
+ private storeTotalAmount;
29
+ /** Setea mensaje y estado en storages. */
30
+ private setStateInLocal;
31
+ /** Normaliza estados heterogéneos de distintos gateways. */
32
+ private normalizeState;
33
+ /**
34
+ * Informa el resultado: postMessage al opener, BroadcastChannel y localStorage
35
+ * (este último permite polling en la pestaña madre).
36
+ */
37
+ private signalState;
38
+ /** Intenta cerrar la pestaña actual; si falla, ejecuta el callback de fallback. */
39
+ private tryCloseSelf;
40
+ /** Oculta header/footer para esta pantalla mínima. */
41
+ private hideHeaderFooter;
42
+ /** Restaura header/footer al salir. */
43
+ private showHeaderFooter;
44
+ private setStateInSession;
45
+ static ɵfac: i0.ɵɵFactoryDeclaration<RedsysCatchEcComponent, never>;
46
+ static ɵcmp: i0.ɵɵComponentDeclaration<RedsysCatchEcComponent, "app-redsys-catch-ec", never, {}, {}, never, never, true, never>;
47
+ }
@@ -11,10 +11,6 @@ export declare class OptionsService {
11
11
  * Maneja las peticiones a la API
12
12
  */
13
13
  private connection;
14
- /**
15
- * Platform ID para verificar si estamos en el navegador
16
- */
17
- private platformId;
18
14
  /**
19
15
  * Constantes del core
20
16
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ng-easycommerce-v18",
3
- "version": "0.3.14-beta.2",
3
+ "version": "0.3.15-beta.2",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.2.0",
6
6
  "@angular/core": "^18.2.0"