ng-easycommerce-v18 0.3.17-beta.3 → 0.3.18-beta.1

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 (196) hide show
  1. package/README.md +97 -98
  2. package/assets/decidirFormEc.html +514 -514
  3. package/assets/ec-i18n/ct.json +282 -281
  4. package/assets/ec-i18n/en.json +87 -83
  5. package/assets/ec-i18n/es.json +433 -429
  6. package/assets/ec-i18n/fr.json +1 -0
  7. package/assets/ec-i18n/gl.json +282 -281
  8. package/assets/ec-i18n/pr.json +282 -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 +53 -46
  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 -17
  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 +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 +11 -5
  49. package/esm2022/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.mjs +4 -4
  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 +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 -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 +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 -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 +7 -32
  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 +36 -6
  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 +3 -3
  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 +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 +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 +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 +2 -4
  117. package/esm2022/lib/ec-services/analytics/google-analytics.service.mjs +3 -5
  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 +148 -0
  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 +1 -1
  127. package/esm2022/lib/ec-services/channel.service.mjs +1 -1
  128. package/esm2022/lib/ec-services/checkout.service.mjs +4 -2
  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 +3 -1
  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 +3 -27
  136. package/esm2022/lib/ec-services/order-utility.service.mjs +11 -5
  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 +1 -1
  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 +149 -0
  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/interfaces/analytics/event-key.mjs +1 -1
  152. package/esm2022/lib/interfaces/analytics/facebook-pixel-data.mjs +1 -1
  153. package/esm2022/lib/interfaces/analytics/gtm-config.mjs +1 -1
  154. package/esm2022/lib/interfaces/analytics/index.mjs +1 -1
  155. package/esm2022/lib/interfaces/blocks.mjs +1 -1
  156. package/esm2022/lib/interfaces/checkout.mjs +1 -1
  157. package/esm2022/lib/interfaces/connection.mjs +1 -1
  158. package/esm2022/lib/interfaces/coupon.mjs +1 -1
  159. package/esm2022/lib/interfaces/currency.mjs +1 -1
  160. package/esm2022/lib/interfaces/deserializable.mjs +1 -1
  161. package/esm2022/lib/interfaces/environment.mjs +1 -1
  162. package/esm2022/lib/interfaces/faqs.mjs +1 -1
  163. package/esm2022/lib/interfaces/filter.mjs +1 -1
  164. package/esm2022/lib/interfaces/index.mjs +2 -1
  165. package/esm2022/lib/interfaces/options.mjs +1 -1
  166. package/esm2022/lib/interfaces/pagination.mjs +1 -1
  167. package/esm2022/lib/interfaces/parameter.mjs +1 -1
  168. package/esm2022/lib/interfaces/product.mjs +1 -1
  169. package/esm2022/lib/interfaces/runtime-config.mjs +2 -0
  170. package/esm2022/lib/interfaces/step.mjs +1 -1
  171. package/esm2022/lib/interfaces/storage.mjs +1 -1
  172. package/esm2022/lib/interfaces/store.mjs +1 -1
  173. package/esm2022/lib/interfaces/types/user.type.mjs +1 -1
  174. package/esm2022/lib/providers/index.mjs +2 -1
  175. package/esm2022/lib/providers/provideEnvironment.mjs +1 -1
  176. package/esm2022/lib/providers/provideRuntimeConfig.mjs +39 -0
  177. package/esm2022/lib/stores/currency.store.mjs +1 -1
  178. package/esm2022/public-api.mjs +1 -1
  179. package/fesm2022/ng-easycommerce-v18.mjs +596 -320
  180. package/fesm2022/ng-easycommerce-v18.mjs.map +1 -1
  181. package/lib/constants/api.constants.service.d.ts +25 -13
  182. package/lib/ec-components/abstractions-components/menu-ec.component.d.ts +0 -12
  183. package/lib/ec-components/filters-ec/filters-ec.component.d.ts +4 -12
  184. package/lib/ec-components/header-ec/header-ec.component.d.ts +14 -5
  185. package/lib/ec-services/base-api.service.d.ts +64 -0
  186. package/lib/ec-services/index.d.ts +2 -0
  187. package/lib/ec-services/options.service.d.ts +0 -4
  188. package/lib/ec-services/runtime-config.service.d.ts +56 -0
  189. package/lib/interfaces/environment.d.ts +1 -0
  190. package/lib/interfaces/filter.d.ts +0 -1
  191. package/lib/interfaces/index.d.ts +1 -0
  192. package/lib/interfaces/options.d.ts +0 -2
  193. package/lib/interfaces/runtime-config.d.ts +22 -0
  194. package/lib/providers/index.d.ts +1 -0
  195. package/lib/providers/provideRuntimeConfig.d.ts +12 -0
  196. package/package.json +1 -1
@@ -1,37 +1,49 @@
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
+ private _runtimeConfig;
11
+ /**
12
+ * Contiene los datos provisto por el frontend en el archivo environment.ts
13
+ */
9
14
  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
15
  /**
17
16
  * Canal actual del frontend
18
17
  */
19
18
  get CHANNEL(): string;
20
19
  set CHANNEL(value: string);
20
+ private _channel;
21
21
  /**
22
- * URL del backend para realizar las peticiones
22
+ * Locale actual del frontend
23
23
  */
24
- get API_URL(): string;
24
+ LOCALE: string;
25
25
  /**
26
- * URL base completa para shop-api con channel y locale
26
+ * URL para las peticiones a shop-api
27
27
  */
28
- getShopApiBase(): string;
28
+ readonly SHOP_API_URL: string;
29
+ /**
30
+ * URL para las peticiones a cms
31
+ */
32
+ readonly CMS_URL: string;
33
+ constructor();
34
+ /**
35
+ * URL del backend para realizar las peticiones
36
+ */
37
+ get API_URL(): string;
29
38
  /**
30
- * Retorna la url base general (sin shop-api)
39
+ * Retorna la url base
40
+ * @returns {string}
31
41
  */
32
42
  getUrlBase(): string;
33
43
  /**
34
44
  * Cambia el canal actual
45
+ * @param code
46
+ * @returns
35
47
  */
36
48
  setChannel(code: string): void;
37
49
  setLocale(locale: string): void;
@@ -75,18 +75,6 @@ export declare class MenuEcComponent {
75
75
  * @returns true si la categoría es visible, false en caso contrario
76
76
  */
77
77
  hasVisibleProperty(category: Category): boolean;
78
- private filterVisibleTree;
79
- categoriesVisible$: Observable<Category[]>;
80
- sectionsVisible$: Observable<Section[]>;
81
- attributesVisible$: Observable<Attribute[]>;
82
- getVisibleChildren<T extends {
83
- isVisible?: boolean;
84
- children?: T[];
85
- }>(node?: T): T[];
86
- hasVisibleChildren<T extends {
87
- isVisible?: boolean;
88
- children?: T[];
89
- }>(node?: T): boolean;
90
78
  static ɵfac: i0.ɵɵFactoryDeclaration<MenuEcComponent, never>;
91
79
  static ɵcmp: i0.ɵɵComponentDeclaration<MenuEcComponent, "lib-footer-ec", never, {}, {}, never, never, true, never>;
92
80
  }
@@ -31,19 +31,11 @@ export declare class FiltersEcComponent {
31
31
  scrollUp: () => boolean;
32
32
  hasAppliedFilters(): boolean;
33
33
  /**
34
- * Verifica si una categoría tiene la propiedad isVisible y está marcada como visible
35
- * @param category - La categoría a verificar
36
- * @returns true si la categoría es visible, false en caso contrario
37
- */
34
+ * Verifica si una categoría tiene la propiedad isVisible y está marcada como visible
35
+ * @param category - La categoría a verificar
36
+ * @returns true si la categoría es visible, false en caso contrario
37
+ */
38
38
  hasVisibleProperty(category: FilterElement): boolean;
39
- /** Lista visible (filtra recursivo por isVisible) */
40
- getVisibleData(filter: Filter | null): FilterElement[];
41
- /** Children visibles de un nodo */
42
- getVisibleChildren(node?: FilterElement): FilterElement[];
43
- /** Tiene hijos visibles? */
44
- hasVisibleChildren(node?: FilterElement): boolean;
45
- /** Utilidad recursiva */
46
- private filterVisibleTree;
47
39
  static ɵfac: i0.ɵɵFactoryDeclaration<FiltersEcComponent, never>;
48
40
  static ɵcmp: i0.ɵɵComponentDeclaration<FiltersEcComponent, "lib-filters-ec", never, { "setSelect": { "alias": "setSelect"; "required": false; }; }, {}, never, never, true, never>;
49
41
  }
@@ -1,5 +1,9 @@
1
+ import { ChangeDetectorRef } from '@angular/core';
1
2
  import { MenuEcComponent } from '../abstractions-components';
2
3
  import { Observable } from 'rxjs';
4
+ import { AuthService } from '../../ec-services';
5
+ import { Router } from '@angular/router';
6
+ import { ChannelService } from '../../ec-services';
3
7
  import * as i0 from "@angular/core";
4
8
  /**
5
9
  * Componente que se encarga de manejar la funcionalidad del Header.
@@ -12,17 +16,19 @@ export declare class HeaderEcComponent extends MenuEcComponent {
12
16
  isScrolled: boolean;
13
17
  showPricesOnlyToLoggedUsers: boolean;
14
18
  hidePrices: boolean;
15
- private __authService;
16
- private _channelService;
17
- private changeDetector;
18
- private appRouter;
19
+ __authService: AuthService;
20
+ _channelService: ChannelService;
21
+ changeDetector: ChangeDetectorRef;
22
+ appRouter: Router;
23
+ platformId: Object;
24
+ mobileDropdownOpen: import("@angular/core").WritableSignal<boolean>;
25
+ isMenuOpen: import("@angular/core").WritableSignal<boolean>;
19
26
  logged$: Observable<boolean>;
20
27
  isAuthenticated$: boolean;
21
28
  constructor();
22
29
  private coreConstantsService;
23
30
  private router;
24
31
  private cdr;
25
- protected platformId: Object;
26
32
  ngOnInit(): void;
27
33
  ngAfterViewInit(): void;
28
34
  /**
@@ -37,6 +43,9 @@ export declare class HeaderEcComponent extends MenuEcComponent {
37
43
  borrarInput(inputId?: string): void;
38
44
  setupMobileMenu(): void;
39
45
  setupSearchInputs(): void;
46
+ togglePanel(id: string): void;
47
+ openPanels: import("@angular/core").WritableSignal<Record<string, boolean>>;
48
+ collapseAllMenus(): void;
40
49
  static ɵfac: i0.ɵɵFactoryDeclaration<HeaderEcComponent, never>;
41
50
  static ɵcmp: i0.ɵɵComponentDeclaration<HeaderEcComponent, "lib-header-ec", never, {}, {}, never, never, true, never>;
42
51
  }
@@ -0,0 +1,64 @@
1
+ import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
2
+ import { Observable } from 'rxjs';
3
+ import { RuntimeConfigService } from './runtime-config.service';
4
+ import * as i0 from "@angular/core";
5
+ export interface ApiRequestOptions {
6
+ headers?: HttpHeaders | {
7
+ [header: string]: string | string[];
8
+ };
9
+ params?: HttpParams | {
10
+ [param: string]: string | string[];
11
+ };
12
+ withCredentials?: boolean;
13
+ }
14
+ /**
15
+ * Servicio base para realizar peticiones HTTP usando configuración dinámica
16
+ * Todos los servicios de la aplicación deben extender este servicio o usar sus métodos
17
+ */
18
+ export declare class BaseApiService {
19
+ protected http: HttpClient;
20
+ protected runtimeConfigService: RuntimeConfigService;
21
+ constructor(http: HttpClient, runtimeConfigService: RuntimeConfigService);
22
+ /**
23
+ * Construye una URL completa usando la API_URL del runtime
24
+ */
25
+ protected buildApiUrl(endpoint: string): string;
26
+ /**
27
+ * Obtiene headers comunes que incluyen información del runtime
28
+ */
29
+ protected getCommonHeaders(): HttpHeaders;
30
+ /**
31
+ * Método GET genérico
32
+ */
33
+ get<T>(endpoint: string, options?: ApiRequestOptions): Observable<T>;
34
+ /**
35
+ * Método POST genérico
36
+ */
37
+ post<T>(endpoint: string, data: any, options?: ApiRequestOptions): Observable<T>;
38
+ /**
39
+ * Método PUT genérico
40
+ */
41
+ put<T>(endpoint: string, data: any, options?: ApiRequestOptions): Observable<T>;
42
+ /**
43
+ * Método PATCH genérico
44
+ */
45
+ patch<T>(endpoint: string, data: any, options?: ApiRequestOptions): Observable<T>;
46
+ /**
47
+ * Método DELETE genérico
48
+ */
49
+ delete<T>(endpoint: string, options?: ApiRequestOptions): Observable<T>;
50
+ /**
51
+ * Método para peticiones que necesitan esperar a que la config esté cargada
52
+ */
53
+ getWithConfig<T>(endpoint: string, options?: ApiRequestOptions): Observable<T>;
54
+ /**
55
+ * Método para POST que necesitan esperar a que la config esté cargada
56
+ */
57
+ postWithConfig<T>(endpoint: string, data: any, options?: ApiRequestOptions): Observable<T>;
58
+ /**
59
+ * Combina headers personalizados con los headers comunes
60
+ */
61
+ private mergeHeaders;
62
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseApiService, never>;
63
+ static ɵprov: i0.ɵɵInjectableDeclaration<BaseApiService>;
64
+ }
@@ -24,3 +24,5 @@ export * from './order-utility.service';
24
24
  export * from './payment.service';
25
25
  export * from './test.service';
26
26
  export * from './orders.service';
27
+ export * from './runtime-config.service';
28
+ export * from './base-api.service';
@@ -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
  */
@@ -0,0 +1,56 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Observable } from 'rxjs';
3
+ import { RuntimeConfig } from '../interfaces/runtime-config';
4
+ import * as i0 from "@angular/core";
5
+ export declare class RuntimeConfigService {
6
+ private platformId;
7
+ private http;
8
+ private configSubject;
9
+ config$: Observable<RuntimeConfig | null>;
10
+ private _config;
11
+ constructor(platformId: Object, http: HttpClient);
12
+ /**
13
+ * Carga la configuración en runtime
14
+ * - En SSR: Lee desde el objeto window inyectado por el servidor
15
+ * - En Browser: Hace petición HTTP a /runtime-config.json
16
+ */
17
+ loadConfig(): Observable<RuntimeConfig>;
18
+ /**
19
+ * Obtiene la configuración actual (síncrono)
20
+ */
21
+ getConfig(): RuntimeConfig | null;
22
+ /**
23
+ * Obtiene la API URL actual
24
+ */
25
+ getApiUrl(): string;
26
+ /**
27
+ * Obtiene la Frontend URL actual
28
+ */
29
+ getFrontendUrl(): string | undefined;
30
+ /**
31
+ * Obtiene el entorno actual
32
+ */
33
+ getAppEnv(): string;
34
+ /**
35
+ * Verifica si estamos en producción
36
+ */
37
+ isProduction(): boolean;
38
+ /**
39
+ * Obtiene el locale actual
40
+ */
41
+ getLocale(): string;
42
+ /**
43
+ * Obtiene el canal actual
44
+ */
45
+ getChannel(): string;
46
+ /**
47
+ * Método helper para construir URLs de API
48
+ */
49
+ buildApiUrl(endpoint: string): string;
50
+ /**
51
+ * Método helper para construir URLs del frontend
52
+ */
53
+ buildFrontendUrl(path: string): string;
54
+ static ɵfac: i0.ɵɵFactoryDeclaration<RuntimeConfigService, never>;
55
+ static ɵprov: i0.ɵɵInjectableDeclaration<RuntimeConfigService>;
56
+ }
@@ -4,4 +4,5 @@ export interface Environment {
4
4
  frontendUrl?: string;
5
5
  locale: string;
6
6
  channel: string;
7
+ appEnv?: string;
7
8
  }
@@ -20,7 +20,6 @@ export interface FilterElement {
20
20
  title: string;
21
21
  type: ElementType;
22
22
  code: string;
23
- isVisible?: boolean;
24
23
  multi?: boolean;
25
24
  children?: FilterElement[];
26
25
  shape?: FilterShape;
@@ -16,3 +16,4 @@ export * from './coupon';
16
16
  export * from './step';
17
17
  export * from './checkout';
18
18
  export * from './faqs';
19
+ export * from './runtime-config';
@@ -4,7 +4,6 @@ export interface Category {
4
4
  slug: string;
5
5
  position: number;
6
6
  path: string;
7
- isVisible?: boolean;
8
7
  children?: Category[];
9
8
  images?: any[];
10
9
  }
@@ -24,5 +23,4 @@ export interface Attribute {
24
23
  slug: string;
25
24
  useToFilter: boolean;
26
25
  styles?: any[];
27
- isVisible?: boolean;
28
26
  }
@@ -0,0 +1,22 @@
1
+ export interface RuntimeConfig {
2
+ apiUrl: string;
3
+ frontendUrl?: string;
4
+ /** Ambiente de la aplicación. Valores válidos: 'prod', 'preprod', 'test' */
5
+ appEnv: 'prod' | 'preprod' | 'test';
6
+ production: boolean;
7
+ locale: string;
8
+ channel: string;
9
+ port?: number;
10
+ host?: string;
11
+ }
12
+ export interface ServerEnvironmentVariables {
13
+ API_URL?: string;
14
+ FRONTEND_URL?: string;
15
+ /** Ambiente de la aplicación. Valores válidos: 'prod', 'preprod', 'test' */
16
+ APP_ENV?: 'prod' | 'preprod' | 'test';
17
+ PORT?: string;
18
+ HOST?: string;
19
+ NODE_ENV?: 'development' | 'production';
20
+ LOCALE?: string;
21
+ CHANNEL?: string;
22
+ }
@@ -1 +1,2 @@
1
1
  export * from './provideEnvironment';
2
+ export * from './provideRuntimeConfig';
@@ -0,0 +1,12 @@
1
+ import { EnvironmentProviders } from '@angular/core';
2
+ import { RuntimeConfigService } from '../ec-services/runtime-config.service';
3
+ /**
4
+ * Factory function para APP_INITIALIZER
5
+ * Carga la configuración runtime antes de que Angular bootstrap la aplicación
6
+ */
7
+ export declare function initializeRuntimeConfig(runtimeConfigService: RuntimeConfigService): () => Promise<any>;
8
+ /**
9
+ * Función que configura el RuntimeConfigService y su inicialización
10
+ * Debe ser usado en app.config.ts junto con provideEnvironment
11
+ */
12
+ export declare function provideRuntimeConfig(): EnvironmentProviders;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ng-easycommerce-v18",
3
- "version": "0.3.17-beta.3",
3
+ "version": "0.3.18-beta.1",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.2.0",
6
6
  "@angular/core": "^18.2.0"