ng-easycommerce-v18 0.4.4-beta.2 → 0.4.4-beta.4

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 (203) hide show
  1. package/README.md +139 -125
  2. package/assets/decidirFormEc.html +514 -514
  3. package/assets/ec-i18n/ct.json +286 -282
  4. package/assets/ec-i18n/en.json +12 -1
  5. package/assets/ec-i18n/es.json +445 -434
  6. package/assets/ec-i18n/fr.json +4 -0
  7. package/assets/ec-i18n/gl.json +286 -282
  8. package/assets/ec-i18n/pr.json +286 -282
  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 +2 -2
  17. package/esm2022/lib/classes/filters/category-filter.mjs +4 -4
  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 +4 -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 +5 -9
  35. package/esm2022/lib/ec-components/account-ec/orders-list-ec/orders-list-ec.component.mjs +11 -5
  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 +12 -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 +10 -3
  57. package/esm2022/lib/ec-components/checkout-ec/dataform-ec/dataform-ec.component.mjs +11 -4
  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 +5 -3
  60. package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.mjs +44 -4
  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 +4 -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/credit-account-banner-ec/credit-account-banner-ec.component.mjs +79 -0
  72. package/esm2022/lib/ec-components/faqs-ec/faqs-ec.component.mjs +3 -3
  73. package/esm2022/lib/ec-components/filters-ec/filters-ec.component.mjs +3 -3
  74. package/esm2022/lib/ec-components/filters-sort-ec/filters-sort-ec.component.mjs +3 -3
  75. package/esm2022/lib/ec-components/footer-ec/footer-ec.component.mjs +3 -3
  76. package/esm2022/lib/ec-components/header-ec/header-ec.component.mjs +27 -13
  77. package/esm2022/lib/ec-components/home-ec/home-ec.component.mjs +3 -3
  78. package/esm2022/lib/ec-components/index.mjs +2 -1
  79. package/esm2022/lib/ec-components/price-range-filter/price-range-filter.component.mjs +3 -3
  80. package/esm2022/lib/ec-components/product-detail-ec/product-detail-ec.component.mjs +1 -1
  81. package/esm2022/lib/ec-components/product-ec/product-ec.component.mjs +3 -3
  82. package/esm2022/lib/ec-components/related-products-ec/related-products-ec.component.mjs +3 -3
  83. package/esm2022/lib/ec-components/reviews-ec/reviews-ec.component.mjs +3 -3
  84. package/esm2022/lib/ec-components/reviews-form-ec/reviews-form-ec.component.mjs +3 -3
  85. package/esm2022/lib/ec-components/section-container-ec/section-container-ec.component.mjs +3 -3
  86. package/esm2022/lib/ec-components/share-ec/share-buttons-ec/index.mjs +1 -1
  87. package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-email-ec/share-email-ec.component.mjs +3 -3
  88. package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-facebook-ec/share-facebook-ec.component.mjs +3 -3
  89. package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-pinterest-ec/share-pinterest-ec.component.mjs +3 -3
  90. package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-twitter-ec/share-twitter-ec.component.mjs +3 -3
  91. package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-whatsapp-ec/share-whatsapp-ec.component.mjs +3 -3
  92. package/esm2022/lib/ec-components/share-ec/share-ec.component.mjs +3 -3
  93. package/esm2022/lib/ec-components/sidebar-ec/sidebar-ec.component.mjs +5 -7
  94. package/esm2022/lib/ec-components/stores-ec/stores-ec.component.mjs +3 -3
  95. package/esm2022/lib/ec-components/variants-ec/variants-ec.component.mjs +3 -3
  96. package/esm2022/lib/ec-components/widgets-ec/decidir-ec/decidir-ec.component.mjs +3 -3
  97. package/esm2022/lib/ec-components/widgets-ec/index.mjs +1 -1
  98. package/esm2022/lib/ec-components/widgets-ec/loading/index.mjs +1 -1
  99. package/esm2022/lib/ec-components/widgets-ec/loading/loading-full-ec/loading-full-ec.component.mjs +3 -3
  100. package/esm2022/lib/ec-components/widgets-ec/loading/loading-inline-ec/loading-inline-ec.component.mjs +3 -3
  101. package/esm2022/lib/ec-components/widgets-ec/loading/loading-section-ec/loading-section-ec.component.mjs +3 -3
  102. package/esm2022/lib/ec-components/widgets-ec/magnizoom-ec/magnizoom-ec.component.mjs +3 -3
  103. package/esm2022/lib/ec-components/widgets-ec/price-ec/price-ec.component.mjs +5 -11
  104. package/esm2022/lib/ec-components/widgets-ec/rating-ec/rating-ec.component.mjs +3 -3
  105. package/esm2022/lib/ec-components/widgets-ec/re-captcha-ec/re-captcha-ec.component.mjs +3 -3
  106. package/esm2022/lib/ec-components/widgets-ec/redsys-catch-ec/redsys-catch-ec.component.mjs +3 -3
  107. package/esm2022/lib/ec-directive/index.mjs +1 -1
  108. package/esm2022/lib/ec-directive/product-off.directive.mjs +1 -1
  109. package/esm2022/lib/ec-directive/product-stock.directive.mjs +1 -1
  110. package/esm2022/lib/ec-guards/auth.guard.mjs +1 -1
  111. package/esm2022/lib/ec-pipe/ec-currency-symbol.pipe.mjs +1 -1
  112. package/esm2022/lib/ec-pipe/ec-safe-html.pipe.mjs +1 -1
  113. package/esm2022/lib/ec-pipe/index.mjs +1 -1
  114. package/esm2022/lib/ec-services/addressing.service.mjs +1 -1
  115. package/esm2022/lib/ec-services/analytics/analytics.service.mjs +1 -1
  116. package/esm2022/lib/ec-services/analytics/doppler.service.mjs +4 -1
  117. package/esm2022/lib/ec-services/analytics/facebook-pixel.service.mjs +4 -1
  118. package/esm2022/lib/ec-services/analytics/google-analytics.service.mjs +1 -1
  119. package/esm2022/lib/ec-services/analytics/gtm.service.mjs +1 -1
  120. package/esm2022/lib/ec-services/analytics/index.mjs +1 -1
  121. package/esm2022/lib/ec-services/analytics/metricool-pixel.service.mjs +16 -13
  122. package/esm2022/lib/ec-services/auth.service.mjs +1 -1
  123. package/esm2022/lib/ec-services/auth.storage.service.mjs +1 -1
  124. package/esm2022/lib/ec-services/base-api.service.mjs +1 -1
  125. package/esm2022/lib/ec-services/blocks-repository.service.mjs +1 -1
  126. package/esm2022/lib/ec-services/blocks.service.mjs +1 -1
  127. package/esm2022/lib/ec-services/cart.service.mjs +42 -7
  128. package/esm2022/lib/ec-services/channel.service.mjs +1 -1
  129. package/esm2022/lib/ec-services/checkout.service.mjs +1 -1
  130. package/esm2022/lib/ec-services/currency.service.mjs +1 -1
  131. package/esm2022/lib/ec-services/filters.service.mjs +1 -1
  132. package/esm2022/lib/ec-services/form.service.mjs +1 -1
  133. package/esm2022/lib/ec-services/index.mjs +2 -1
  134. package/esm2022/lib/ec-services/local-storage.service.mjs +1 -1
  135. package/esm2022/lib/ec-services/ngx-local-storage.service.mjs +1 -1
  136. package/esm2022/lib/ec-services/options.service.mjs +4 -1
  137. package/esm2022/lib/ec-services/order-utility.service.mjs +1 -1
  138. package/esm2022/lib/ec-services/orders.service.mjs +1 -1
  139. package/esm2022/lib/ec-services/pagination.service.mjs +1 -1
  140. package/esm2022/lib/ec-services/parameters.service.mjs +1 -1
  141. package/esm2022/lib/ec-services/payment.service.mjs +1 -1
  142. package/esm2022/lib/ec-services/price-visibility.service.mjs +40 -0
  143. package/esm2022/lib/ec-services/product-detail.service.mjs +45 -7
  144. package/esm2022/lib/ec-services/products.service.mjs +1 -1
  145. package/esm2022/lib/ec-services/re-captcha.service.mjs +1 -1
  146. package/esm2022/lib/ec-services/reviews.service.mjs +1 -1
  147. package/esm2022/lib/ec-services/runtime-config.service.mjs +1 -1
  148. package/esm2022/lib/ec-services/shipment.service.mjs +1 -1
  149. package/esm2022/lib/ec-services/stores.service.mjs +1 -1
  150. package/esm2022/lib/ec-services/test.service.mjs +1 -1
  151. package/esm2022/lib/ec-services/toast.service.mjs +1 -1
  152. package/esm2022/lib/interceptors/auth.interceptor.mjs +1 -1
  153. package/esm2022/lib/interceptors/index.mjs +1 -1
  154. package/esm2022/lib/interceptors/runtime-config.interceptor.mjs +1 -1
  155. package/esm2022/lib/interfaces/analytics/event-key.mjs +1 -1
  156. package/esm2022/lib/interfaces/analytics/facebook-pixel-data.mjs +1 -1
  157. package/esm2022/lib/interfaces/analytics/gtm-config.mjs +1 -1
  158. package/esm2022/lib/interfaces/analytics/index.mjs +1 -1
  159. package/esm2022/lib/interfaces/blocks.mjs +1 -1
  160. package/esm2022/lib/interfaces/checkout.mjs +1 -1
  161. package/esm2022/lib/interfaces/connection.mjs +1 -1
  162. package/esm2022/lib/interfaces/coupon.mjs +1 -1
  163. package/esm2022/lib/interfaces/currency.mjs +1 -1
  164. package/esm2022/lib/interfaces/deserializable.mjs +1 -1
  165. package/esm2022/lib/interfaces/environment.mjs +1 -1
  166. package/esm2022/lib/interfaces/faqs.mjs +1 -1
  167. package/esm2022/lib/interfaces/filter.mjs +1 -1
  168. package/esm2022/lib/interfaces/index.mjs +1 -1
  169. package/esm2022/lib/interfaces/options.mjs +1 -1
  170. package/esm2022/lib/interfaces/pagination.mjs +1 -1
  171. package/esm2022/lib/interfaces/parameter.mjs +1 -1
  172. package/esm2022/lib/interfaces/product.mjs +1 -1
  173. package/esm2022/lib/interfaces/runtime-config.mjs +1 -1
  174. package/esm2022/lib/interfaces/step.mjs +1 -1
  175. package/esm2022/lib/interfaces/storage.mjs +1 -1
  176. package/esm2022/lib/interfaces/store.mjs +1 -1
  177. package/esm2022/lib/interfaces/types/user.type.mjs +1 -1
  178. package/esm2022/lib/providers/index.mjs +1 -1
  179. package/esm2022/lib/providers/provideEnvironment.mjs +1 -1
  180. package/esm2022/lib/providers/provideRuntimeConfig.mjs +1 -1
  181. package/esm2022/lib/providers/provideServerRuntimeConfig.mjs +1 -1
  182. package/esm2022/lib/stores/currency.store.mjs +1 -1
  183. package/esm2022/public-api.mjs +1 -1
  184. package/fesm2022/ng-easycommerce-v18.mjs +440 -184
  185. package/fesm2022/ng-easycommerce-v18.mjs.map +1 -1
  186. package/lib/classes/filters/filter.d.ts +1 -1
  187. package/lib/ec-components/account-ec/order-ec/order-ec.component.d.ts +2 -2
  188. package/lib/ec-components/account-ec/orders-list-ec/orders-list-ec.component.d.ts +3 -0
  189. package/lib/ec-components/cart-ec/cart-ec.component.d.ts +4 -2
  190. package/lib/ec-components/checkout-ec/checkout-ec.component.d.ts +2 -0
  191. package/lib/ec-components/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.d.ts +2 -0
  192. package/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.d.ts +6 -0
  193. package/lib/ec-components/checkout-ec/success-ec/success-ec.component.d.ts +1 -0
  194. package/lib/ec-components/credit-account-banner-ec/credit-account-banner-ec.component.d.ts +27 -0
  195. package/lib/ec-components/header-ec/header-ec.component.d.ts +12 -4
  196. package/lib/ec-components/index.d.ts +1 -0
  197. package/lib/ec-components/sidebar-ec/sidebar-ec.component.d.ts +2 -1
  198. package/lib/ec-components/widgets-ec/price-ec/price-ec.component.d.ts +2 -4
  199. package/lib/ec-services/cart.service.d.ts +1 -0
  200. package/lib/ec-services/index.d.ts +1 -0
  201. package/lib/ec-services/price-visibility.service.d.ts +23 -0
  202. package/lib/ec-services/product-detail.service.d.ts +3 -0
  203. package/package.json +1 -1
@@ -1,8 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, makeEnvironmentProviders, PLATFORM_ID, Injectable, Inject, Optional, APP_INITIALIZER, inject, RendererFactory2, afterNextRender, signal, EnvironmentInjector, runInInjectionContext, Component, ChangeDetectorRef, HostListener, CUSTOM_ELEMENTS_SCHEMA, Input, Pipe, Injector, EventEmitter, Output, forwardRef, afterRender, ViewChild, computed, NgZone, Renderer2, ChangeDetectionStrategy, Directive } from '@angular/core';
2
+ import { InjectionToken, makeEnvironmentProviders, PLATFORM_ID, Injectable, Inject, Optional, APP_INITIALIZER, inject, RendererFactory2, afterNextRender, signal, EnvironmentInjector, runInInjectionContext, computed, Component, ChangeDetectorRef, HostListener, CUSTOM_ELEMENTS_SCHEMA, Input, Pipe, Injector, EventEmitter, Output, forwardRef, afterRender, ViewChild, NgZone, Renderer2, ChangeDetectionStrategy, Directive } from '@angular/core';
3
3
  import * as i1$1 from '@angular/common';
4
4
  import { isPlatformBrowser, DOCUMENT, AsyncPipe, CommonModule, TitleCasePipe, JsonPipe, UpperCasePipe, Location } from '@angular/common';
5
- import { BehaviorSubject, of, take, shareReplay as shareReplay$1, map, catchError as catchError$1, filter, ReplaySubject, firstValueFrom, concatMap, throwError, tap as tap$1, distinctUntilChanged, switchMap, combineLatest, Subject, takeUntil } from 'rxjs';
5
+ import { BehaviorSubject, of, take, shareReplay as shareReplay$1, map, catchError as catchError$1, filter, ReplaySubject, firstValueFrom, concatMap, throwError, tap as tap$1, distinctUntilChanged, switchMap, combineLatest, Subscription, Subject, takeUntil } from 'rxjs';
6
6
  import * as i1 from '@angular/common/http';
7
7
  import { HttpClient, HttpHeaders } from '@angular/common/http';
8
8
  import { tap, shareReplay, catchError, filter as filter$1, skipWhile, take as take$1, switchMap as switchMap$1 } from 'rxjs/operators';
@@ -17,6 +17,7 @@ import moment from 'moment';
17
17
  import { StorageMap } from '@ngx-pwa/local-storage';
18
18
  import * as i1$4 from '@angular/forms';
19
19
  import { Validators, FormsModule, FormBuilder, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
20
+ import { toSignal, toObservable } from '@angular/core/rxjs-interop';
20
21
  import { register } from 'swiper/element/bundle';
21
22
  import { register as register$1 } from 'swiper/element';
22
23
  import * as i1$5 from '@angular/platform-browser';
@@ -955,6 +956,9 @@ class OptionsService {
955
956
  * @returns
956
957
  */
957
958
  removeAccents(str) {
959
+ if (!str || typeof str !== 'string') {
960
+ return '';
961
+ }
958
962
  if (isPlatformBrowser(this.platformId) && typeof String.prototype.normalize === 'function') {
959
963
  return str.normalize("NFD").replace(/[\u0300-\u036f]/g, "");
960
964
  }
@@ -1183,6 +1187,9 @@ class FacebookPixelService {
1183
1187
  * @param pixel_id id provisto por Facebook Pixel.
1184
1188
  */
1185
1189
  initialize(pixel_id) {
1190
+ if (!isPlatformBrowser(this.platformId) || !this.document?.body) {
1191
+ return;
1192
+ }
1186
1193
  if (!this.document?.getElementById('facebook_pixel')) {
1187
1194
  let new_analityc_script = this.renderer.createElement('script');
1188
1195
  new_analityc_script.id = "facebook_pixel";
@@ -2143,6 +2150,9 @@ class DopplerService {
2143
2150
  * @param pixelSrc path que se usa en el atributo `src` del elemento html.
2144
2151
  */
2145
2152
  initialize = (pixelSrc) => {
2153
+ if (!isPlatformBrowser(this.platformId) || !this.document?.body) {
2154
+ return;
2155
+ }
2146
2156
  this.isLoaded = true;
2147
2157
  let scriptInsert = this.renderer.createElement("script");
2148
2158
  this.renderer.setAttribute(scriptInsert, 'type', 'text/javascript');
@@ -2169,7 +2179,7 @@ class MetricoolPixelService {
2169
2179
  */
2170
2180
  isLoaded = false;
2171
2181
  rendererFactory = inject(RendererFactory2);
2172
- document = inject(DOCUMENT);
2182
+ document = null;
2173
2183
  platformId = inject(PLATFORM_ID);
2174
2184
  /**
2175
2185
  * Se encarga de crear el elemento HTML con las configuraciones para
@@ -2178,7 +2188,7 @@ class MetricoolPixelService {
2178
2188
  renderer;
2179
2189
  constructor() {
2180
2190
  if (isPlatformBrowser(this.platformId)) {
2181
- this.document = document;
2191
+ this.document = inject(DOCUMENT);
2182
2192
  }
2183
2193
  this.renderer = this.rendererFactory.createRenderer(null, null);
2184
2194
  }
@@ -2187,18 +2197,21 @@ class MetricoolPixelService {
2187
2197
  * @param pixel_hash hash provisto por Metricool Pixel.
2188
2198
  */
2189
2199
  initialize = (pixel_hash) => {
2200
+ if (!isPlatformBrowser(this.platformId) || !this.document?.body) {
2201
+ return;
2202
+ }
2190
2203
  let new_analityc_script = this.renderer.createElement('script');
2191
2204
  new_analityc_script.type = 'text/javascript';
2192
- new_analityc_script.text = `
2193
- function loadScript(a) {
2194
- var b = document.getElementsByTagName("head")[0], c = document.createElement("script");
2195
- c.type = "text/javascript",
2196
- c.src = "https://tracker.metricool.com/resources/be.js",
2197
- c.onreadystatechange = a,
2198
- c.onload = a, b.appendChild(c)
2199
- } loadScript(function () {
2200
- beTracker.t({ hash: "${pixel_hash}" })
2201
- });
2205
+ new_analityc_script.text = `
2206
+ function loadScript(a) {
2207
+ var b = document.getElementsByTagName("head")[0], c = document.createElement("script");
2208
+ c.type = "text/javascript",
2209
+ c.src = "https://tracker.metricool.com/resources/be.js",
2210
+ c.onreadystatechange = a,
2211
+ c.onload = a, b.appendChild(c)
2212
+ } loadScript(function () {
2213
+ beTracker.t({ hash: "${pixel_hash}" })
2214
+ });
2202
2215
  `;
2203
2216
  this.renderer.appendChild(this.document?.body, new_analityc_script);
2204
2217
  };
@@ -3082,6 +3095,9 @@ class User {
3082
3095
  * Función auxiliar para remover acentos de forma segura para SSR
3083
3096
  */
3084
3097
  function safeRemoveAccents(str) {
3098
+ if (!str || typeof str !== 'string') {
3099
+ return '';
3100
+ }
3085
3101
  if (typeof window !== 'undefined' && typeof String.prototype.normalize === 'function') {
3086
3102
  return str.normalize("NFD").replace(/[\u0300-\u036f]/g, "");
3087
3103
  }
@@ -3246,14 +3262,14 @@ class CategoryFilter extends Filter {
3246
3262
  filter.shape = 'text';
3247
3263
  filter.value = original.code;
3248
3264
  filter.selected = (initialValue &&
3249
- this.removeAccents(original.slug?.toLowerCase()) ===
3265
+ this.removeAccents(String(original.slug).toLowerCase()) ===
3250
3266
  this.removeAccents(String(initialValue).toLowerCase()));
3251
3267
  filter.children = filter.children.map((child, i) => this.createElement(child, original.children[i], initialValue));
3252
3268
  }
3253
3269
  else {
3254
3270
  filter.value = original.code;
3255
3271
  filter.selected = (initialValue &&
3256
- this.removeAccents(original.slug?.toLowerCase()) ===
3272
+ this.removeAccents(String(original.slug).toLowerCase()) ===
3257
3273
  this.removeAccents(String(initialValue).toLowerCase()));
3258
3274
  }
3259
3275
  return filter;
@@ -3276,7 +3292,7 @@ class CategoryFilter extends Filter {
3276
3292
  n.name
3277
3293
  ]
3278
3294
  .filter(Boolean)
3279
- .map((s) => this.removeAccents(s.toLowerCase()));
3295
+ .map((s) => this.removeAccents(String(s).toLowerCase()));
3280
3296
  if (candidates.includes(target)) {
3281
3297
  n.selected = true;
3282
3298
  }
@@ -3401,7 +3417,7 @@ class AttributesFilter extends Filter {
3401
3417
  filter.value = original.code;
3402
3418
  filter.multi = false;
3403
3419
  filter.selected = (initialValue &&
3404
- this.removeAccents(original.slug?.toLowerCase()) === this.removeAccents(initialValue?.toLowerCase()));
3420
+ this.removeAccents(String(original.slug).toLowerCase()) === this.removeAccents(String(initialValue).toLowerCase()));
3405
3421
  }
3406
3422
  return filter;
3407
3423
  }
@@ -5058,16 +5074,19 @@ class CartService {
5058
5074
  this._items = JSON.parse(this._localStorage.getItem(this.CART_KEY) || '[]');
5059
5075
  this.cartToken = this._localStorage.getItem(this.CART_TOKEN_KEY) || null;
5060
5076
  // 🔑 CLAVE: Suscripción a cambios de estado de login
5061
- this._authService.loggedIn$.subscribe(isLoggedIn => {
5062
- if (isLoggedIn && !this._cartInitialized) {
5077
+ this._authService.loggedIn$.pipe(distinctUntilChanged()).subscribe(isLoggedIn => {
5078
+ if (isLoggedIn) {
5079
+ // Al pasar de invitado -> logueado, siempre sincronizar para traer balanceCustomer
5080
+ // (si no, el header no muestra cuenta corriente hasta recargar).
5063
5081
  this.syncCartOnLogin();
5064
5082
  this._cartInitialized = true;
5083
+ return;
5065
5084
  }
5066
- else if (!isLoggedIn && this._cartInitialized) {
5085
+ if (this._cartInitialized) {
5067
5086
  // Usuario cerró sesión, limpiar y resetear carrito
5068
5087
  this.clearAndResetCustomerCart();
5069
- this._cartInitialized = false; // Reset flag para permitir nueva inicialización
5070
5088
  }
5089
+ this._cartInitialized = false; // Reset flag para permitir nueva inicialización
5071
5090
  });
5072
5091
  this._channelService.channel$.subscribe(res => this.channelConfig = res);
5073
5092
  // ⚠️ FIX: Solo inicializar para usuarios no autenticados
@@ -5159,6 +5178,11 @@ class CartService {
5159
5178
  this._toastService.show('must-select-customer');
5160
5179
  return;
5161
5180
  }
5181
+ const isExistingItem = this._items.some((item) => item.product.id === product.id && item.variant_id === variantId);
5182
+ // Validación de saldo para items nuevos (los existentes se validan en updateItemQuantity)
5183
+ if (!isExistingItem && !this.hasCreditsForNewItem(product, quantity, variantId)) {
5184
+ return;
5185
+ }
5162
5186
  this._requestInProcess.next(true);
5163
5187
  let added = this.addIfAllreadyExists(product, variantId, quantity);
5164
5188
  if (!added) {
@@ -5529,10 +5553,14 @@ class CartService {
5529
5553
  if (!balance || balance.creditAmount === null || balance.creditAmount === undefined) {
5530
5554
  return true;
5531
5555
  }
5556
+ if (balance.allowAnyPaymentMethod) {
5557
+ return true;
5558
+ }
5532
5559
  if (balance.remainingCredits === undefined) {
5533
5560
  return false;
5534
5561
  }
5535
- if ((this._cartSubject.value?.totals?.total ?? 0) > balance.creditAmount) {
5562
+ const total = this._cartSubject.value?.totals?.total ?? 0;
5563
+ if (!balance.allowExceedBalance && total > balance.creditAmount) {
5536
5564
  this._toastService.show('not-enough-credits');
5537
5565
  return false;
5538
5566
  }
@@ -5543,6 +5571,9 @@ class CartService {
5543
5571
  if (!balance || balance.creditAmount === null || balance.creditAmount === undefined) {
5544
5572
  return true;
5545
5573
  }
5574
+ if (balance.allowAnyPaymentMethod) {
5575
+ return true;
5576
+ }
5546
5577
  if (balance.remainingCredits === undefined) {
5547
5578
  return false;
5548
5579
  }
@@ -5558,6 +5589,26 @@ class CartService {
5558
5589
  }
5559
5590
  return true;
5560
5591
  };
5592
+ hasCreditsForNewItem = (product, quantity, variantId) => {
5593
+ const balance = this._balanceCustomerSubject.value;
5594
+ if (!balance || balance.creditAmount === null || balance.creditAmount === undefined) {
5595
+ return true;
5596
+ }
5597
+ if (balance.allowAnyPaymentMethod) {
5598
+ return true;
5599
+ }
5600
+ if (balance.remainingCredits === undefined) {
5601
+ return false;
5602
+ }
5603
+ const variant = product?.variants?.find(v => v.code === variantId) ?? product?.variants?.[0];
5604
+ const unitPrice = variant?.saleprice ?? variant?.price ?? product?.price ?? 0;
5605
+ const totalCost = unitPrice * quantity;
5606
+ if (!balance.allowExceedBalance && totalCost > balance.remainingCredits) {
5607
+ this._toastService.show('not-enough-credits');
5608
+ return false;
5609
+ }
5610
+ return true;
5611
+ };
5561
5612
  addRepeatOrderToCart(items) {
5562
5613
  if (this._cartItemsSubject.value.length > 0) {
5563
5614
  this._toastService.show('cart-not-empty');
@@ -5633,7 +5684,16 @@ class ProductDetailService {
5633
5684
  options$ = this._optionsSubject.asObservable();
5634
5685
  associatedData$ = this._associatedDataSubject.asObservable();
5635
5686
  variants = [];
5636
- constructor() { }
5687
+ _currentTotalAmount = null;
5688
+ _balanceCustomer = null;
5689
+ constructor() {
5690
+ this._cartService.getTotalAmount().subscribe(total => {
5691
+ this._currentTotalAmount = total ?? null;
5692
+ });
5693
+ this._cartService.balanceCustomer$.subscribe(balanceCustomer => {
5694
+ this._balanceCustomer = balanceCustomer;
5695
+ });
5696
+ }
5637
5697
  /**
5638
5698
  * Obtengo el producto a traves de su codigo e inicializo la configuración
5639
5699
  * del Servicio.
@@ -5883,7 +5943,12 @@ class ProductDetailService {
5883
5943
  }
5884
5944
  if (!variant)
5885
5945
  return;
5886
- if (!this.validateQuantity(quantity))
5946
+ if (!this.validateQuantity(quantity, variant.code))
5947
+ return;
5948
+ const priceToValidate = productSelected.saleprice
5949
+ ? productSelected.saleprice * quantity
5950
+ : productSelected.price * quantity;
5951
+ if (!this.validatePriceAndCredits(priceToValidate))
5887
5952
  return;
5888
5953
  //agregar al servicio del carrito
5889
5954
  this._cartService.addToCart(this.makeAffordableProduct(productSelected), quantity, variant.code);
@@ -5907,14 +5972,22 @@ class ProductDetailService {
5907
5972
  * @param quantity
5908
5973
  * @returns
5909
5974
  */
5910
- validateQuantity = (quantity) => {
5911
- const actualQuantity = this._cartService.getCountFromItemInCart(this.variants[0].code);
5975
+ validateQuantity = (quantity, variantCode) => {
5976
+ const codeToCheck = variantCode || this.variants[0].code;
5977
+ const actualQuantity = this._cartService.getCountFromItemInCart(codeToCheck);
5912
5978
  const asociatedData = this._associatedDataSubject.value;
5913
- if ((actualQuantity + quantity) > asociatedData.maximumItemsQuantity) {
5979
+ const variant = this.variants.find(v => v.code === codeToCheck);
5980
+ const stock = variant?.stock ?? 0;
5981
+ const totalQuantity = actualQuantity + quantity;
5982
+ if (totalQuantity > stock) {
5983
+ this._toastService.show('out-of-stock-actually');
5984
+ return false;
5985
+ }
5986
+ if ((totalQuantity) > asociatedData.maximumItemsQuantity) {
5914
5987
  this._toastService.show('maximum-items-quantity', { quantity: asociatedData.maximumItemsQuantity });
5915
5988
  return false;
5916
5989
  }
5917
- if ((actualQuantity + quantity) < asociatedData.minimumItemsQuantity) {
5990
+ if ((totalQuantity) < asociatedData.minimumItemsQuantity) {
5918
5991
  this._toastService.show('minimum-items-quantity', { quantity: asociatedData.minimumItemsQuantity });
5919
5992
  return false;
5920
5993
  }
@@ -5929,6 +6002,22 @@ class ProductDetailService {
5929
6002
  }
5930
6003
  return true;
5931
6004
  };
6005
+ validatePriceAndCredits = (price) => {
6006
+ if (this._balanceCustomer === null) {
6007
+ return true;
6008
+ }
6009
+ if (this._balanceCustomer.allowAnyPaymentMethod) {
6010
+ return true;
6011
+ }
6012
+ if (this._balanceCustomer.remainingCredits === undefined) {
6013
+ return false;
6014
+ }
6015
+ if (price > this._balanceCustomer.remainingCredits) {
6016
+ this._toastService.show('not-enough-credits');
6017
+ return false;
6018
+ }
6019
+ return true;
6020
+ };
5932
6021
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductDetailService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5933
6022
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductDetailService, providedIn: 'root' });
5934
6023
  }
@@ -6840,6 +6929,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
6840
6929
  }]
6841
6930
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: RuntimeConfigService }] });
6842
6931
 
6932
+ /**
6933
+ * Gestiona la visibilidad global de precios según:
6934
+ * - configuración del canal (hidePrices, showPricesOnlyToLoggedUsers)
6935
+ * - estado de autenticación
6936
+ * - restricciones por cuenta corriente (showPrice desde balance)
6937
+ *
6938
+ * Nota: este servicio no contempla reglas por producto (shouldShowPrice, etc.).
6939
+ */
6940
+ class PriceVisibilityService {
6941
+ channelService = inject(ChannelService);
6942
+ authService = inject(AuthService);
6943
+ cartService = inject(CartService);
6944
+ channelConfig = toSignal(this.channelService.channel$, { initialValue: null });
6945
+ loggedIn = toSignal(this.authService.loggedIn$, { initialValue: this.authService.isAuthenticated() });
6946
+ creditAccountShowPrices = toSignal(this.cartService.showPrice$, { initialValue: null });
6947
+ hidePrices = computed(() => !!this.channelConfig()?.hidePrices);
6948
+ showPricesOnlyToLoggedUsers = computed(() => !!this.channelConfig()?.showPricesOnlyToLoggedUsers);
6949
+ canShowPrices = computed(() => {
6950
+ const hide = this.hidePrices();
6951
+ const onlyLogged = this.showPricesOnlyToLoggedUsers();
6952
+ const logged = this.loggedIn();
6953
+ const creditAllowed = this.creditAccountShowPrices();
6954
+ const creditPass = creditAllowed === null ? true : !!creditAllowed;
6955
+ return !hide && (!onlyLogged || logged) && creditPass;
6956
+ });
6957
+ canShowPrices$ = toObservable(this.canShowPrices);
6958
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PriceVisibilityService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6959
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PriceVisibilityService, providedIn: 'root' });
6960
+ }
6961
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PriceVisibilityService, decorators: [{
6962
+ type: Injectable,
6963
+ args: [{ providedIn: 'root' }]
6964
+ }] });
6965
+
6843
6966
  /**
6844
6967
  * Componente que sirve para abstraer la funcionalidad que comparten
6845
6968
  * el menú y el footer.
@@ -7095,11 +7218,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
7095
7218
  */
7096
7219
  class FooterEcComponent extends MenuEcComponent {
7097
7220
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FooterEcComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
7098
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FooterEcComponent, isStandalone: true, selector: "lib-footer-ec", usesInheritance: true, ngImport: i0, template: "<p>footer-ec works!</p>\r\n", styles: [""] });
7221
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FooterEcComponent, isStandalone: true, selector: "lib-footer-ec", usesInheritance: true, ngImport: i0, template: "<p>footer-ec works!</p>\n", styles: [""] });
7099
7222
  }
7100
7223
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FooterEcComponent, decorators: [{
7101
7224
  type: Component,
7102
- args: [{ selector: 'lib-footer-ec', standalone: true, imports: [AsyncPipe], template: "<p>footer-ec works!</p>\r\n" }]
7225
+ args: [{ selector: 'lib-footer-ec', standalone: true, imports: [AsyncPipe], template: "<p>footer-ec works!</p>\n" }]
7103
7226
  }] });
7104
7227
 
7105
7228
  /**
@@ -7111,13 +7234,16 @@ class HeaderEcComponent extends MenuEcComponent {
7111
7234
  transparent = false;
7112
7235
  isHome = false; // Nueva variable para verificar si estamos en /home
7113
7236
  isScrolled = false;
7114
- showPricesOnlyToLoggedUsers = false;
7115
- hidePrices = false;
7237
+ balanceAttributes = null;
7238
+ subscriptions = new Subscription();
7116
7239
  __authService = inject(AuthService);
7117
7240
  _channelService = inject(ChannelService);
7241
+ priceVisibility = inject(PriceVisibilityService);
7118
7242
  changeDetector = inject(ChangeDetectorRef);
7119
7243
  appRouter = inject(Router);
7120
7244
  platformId = inject(PLATFORM_ID);
7245
+ _cartService = inject(CartService);
7246
+ balanceAttributes$ = this._cartService.balanceCustomer$;
7121
7247
  mobileDropdownOpen = signal(false);
7122
7248
  isMenuOpen = signal(false);
7123
7249
  // Observable del estado de autenticación
@@ -7125,10 +7251,6 @@ class HeaderEcComponent extends MenuEcComponent {
7125
7251
  isAuthenticated$ = this.__authService.isAuthenticated();
7126
7252
  constructor() {
7127
7253
  super();
7128
- this._channelService.channel$.subscribe(cfg => {
7129
- this.showPricesOnlyToLoggedUsers = !!cfg.showPricesOnlyToLoggedUsers;
7130
- this.hidePrices = !!cfg.hidePrices;
7131
- });
7132
7254
  }
7133
7255
  coreConstantsService = inject(CoreConstantsService);
7134
7256
  router = inject(Router);
@@ -7144,18 +7266,19 @@ class HeaderEcComponent extends MenuEcComponent {
7144
7266
  // Usar el Observable del AuthService
7145
7267
  this.logged$ = this.__authService.loggedIn$;
7146
7268
  // Suscribirse al Observable y forzar detección de cambios cuando sea necesario
7147
- this.logged$.subscribe(isLoggedIn => {
7269
+ this.subscriptions.add(this.logged$.subscribe(isLoggedIn => {
7148
7270
  this.changeDetector.detectChanges();
7149
- });
7271
+ }));
7272
+ this.subscribeToBalance();
7150
7273
  if (isPlatformBrowser(this.platformId)) {
7151
- this.appRouter.events.subscribe(evt => {
7274
+ this.subscriptions.add(this.appRouter.events.subscribe(evt => {
7152
7275
  if (evt instanceof NavigationEnd) {
7153
7276
  // Forzar detección de cambios después de navegación
7154
7277
  setTimeout(() => {
7155
7278
  this.changeDetector.detectChanges();
7156
7279
  }, 100);
7157
7280
  }
7158
- });
7281
+ }));
7159
7282
  }
7160
7283
  }
7161
7284
  ngAfterViewInit() {
@@ -7340,12 +7463,23 @@ class HeaderEcComponent extends MenuEcComponent {
7340
7463
  });
7341
7464
  }
7342
7465
  }
7466
+ get canShowPrices() {
7467
+ return this.priceVisibility.canShowPrices();
7468
+ }
7469
+ ngOnDestroy() {
7470
+ this.subscriptions.unsubscribe();
7471
+ }
7472
+ subscribeToBalance() {
7473
+ this.subscriptions.add(this._cartService.balanceCustomer$.subscribe(balanceData => {
7474
+ this.balanceAttributes = balanceData;
7475
+ }));
7476
+ }
7343
7477
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeaderEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7344
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: HeaderEcComponent, isStandalone: true, selector: "lib-header-ec", host: { listeners: { "window:scroll": "onWindowScroll()" } }, usesInheritance: true, ngImport: i0, template: "<p>header-ec works!</p>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
7478
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: HeaderEcComponent, isStandalone: true, selector: "lib-header-ec", host: { listeners: { "window:scroll": "onWindowScroll()" } }, usesInheritance: true, ngImport: i0, template: "<p>header-ec works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
7345
7479
  }
7346
7480
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeaderEcComponent, decorators: [{
7347
7481
  type: Component,
7348
- args: [{ selector: 'lib-header-ec', standalone: true, imports: [CommonModule, TitleCasePipe, AsyncPipe, JsonPipe, RouterLink, RouterLinkActive], template: "<p>header-ec works!</p>\r\n" }]
7482
+ args: [{ selector: 'lib-header-ec', standalone: true, imports: [CommonModule, TitleCasePipe, AsyncPipe, JsonPipe, RouterLink, RouterLinkActive], template: "<p>header-ec works!</p>\n" }]
7349
7483
  }], ctorParameters: () => [], propDecorators: { onWindowScroll: [{
7350
7484
  type: HostListener,
7351
7485
  args: ['window:scroll', []]
@@ -7356,11 +7490,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
7356
7490
  */
7357
7491
  class HomeEcComponent {
7358
7492
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HomeEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7359
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: HomeEcComponent, isStandalone: true, selector: "lib-home-ec", ngImport: i0, template: "<p>home-ec works!</p>\r\n", styles: [""] });
7493
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: HomeEcComponent, isStandalone: true, selector: "lib-home-ec", ngImport: i0, template: "<p>home-ec works!</p>\n", styles: [""] });
7360
7494
  }
7361
7495
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HomeEcComponent, decorators: [{
7362
7496
  type: Component,
7363
- args: [{ selector: 'lib-home-ec', standalone: true, imports: [], template: "<p>home-ec works!</p>\r\n" }]
7497
+ args: [{ selector: 'lib-home-ec', standalone: true, imports: [], template: "<p>home-ec works!</p>\n" }]
7364
7498
  }] });
7365
7499
 
7366
7500
  register();
@@ -7552,11 +7686,11 @@ class BlockBannerFullEcComponent extends BlockEcComponent {
7552
7686
  };
7553
7687
  }
7554
7688
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BlockBannerFullEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7555
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BlockBannerFullEcComponent, isStandalone: true, selector: "app-block-banner-full-ec", inputs: { banners: "banners", meta: "meta", prevArrowImage: "prevArrowImage", nextArrowImage: "nextArrowImage", prevArrowText: "prevArrowText", nextArrowText: "nextArrowText", enableCustomNavigation: "enableCustomNavigation" }, usesInheritance: true, ngImport: i0, template: "@if(banners.length > 0) {\r\n <section [ngClass]=\"trimClassBlock(meta?.code)+' container-fluid px-0'\"\r\n [style.background-color]=\"meta.styles?.backgroundColor\"\r\n [style.background-image]=\"meta.styles?.backgroundImage ? 'url(' + mediaUrl + meta.styles?.backgroundImage +')' : 'inherit'\">\r\n\r\n @if (banners.length == 1) {\r\n <!-- si es formato fijo -->\r\n <div class=\"row justify-content-center\">\r\n @let banner = banners[0];\r\n @if(!banners.styles?.button?.text){\r\n <!-- banner sin boton -->\r\n <a [href]=\"banner.url\" >\r\n <div class=\"item col-12\">\r\n <img class=\"img-fluid\" [src]=\"mediaBannerUrl + getImage(banner)\" alt=\"\">\r\n <div class=\"position-absolute w-100 h-100 start-0 top-0\">\r\n @if(banner.title){\r\n <h2 [class]=\"'item-title-full px-2 item-position-vertical-' + (banner.styles?.description?.position)\"\r\n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#fff' \">\r\n {{banner.title}}\r\n </h2>\r\n }\r\n @if(banner.subtitle){\r\n <p [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\r\n [class]=\"'px-4 item-subtitle-full item-position-vertical-' + (banner.styles?.description?.position)\">\r\n {{banner.subtitle}}\r\n </p>\r\n }\r\n </div>\r\n </div>\r\n </a>\r\n }@else {\r\n <!-- banner fijo con boton -->\r\n <div class=\"item col-12\">\r\n <img class=\"img-fluid\" [src]=\"mediaBannerUrl + getImage(banner)\" alt=\"\">\r\n <div class=\"position-absolute w-100 h-100 start-0 top-0\">\r\n @if(banner.title){\r\n <h2 [class]=\"'item-title-full px-2 item-position-vertical-' + (banner.styles?.description?.position)\"\r\n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \">\r\n {{banner.title}}\r\n </h2>\r\n }\r\n @if(banner.subtitle){\r\n <p \r\n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\r\n [class]=\"'px-4 item-subtitle-full item-position-vertical-' + (banner.styles?.description?.position)\">\r\n {{banner.subtitle}}\r\n </p>\r\n <div [class]=\"'item-position-vertical-' + (banner.styles?.button?.position)\">\r\n @if(banner.styles?.button?.text){\r\n <a href=\"{{banner.url}}\"\r\n [class]=\"'item-button-full btn btn-light '\">\r\n {{banner.styles.button.text}}\r\n </a> \r\n }\r\n \r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }@else {\r\n <!-- si es carrousel -->\r\n <!-- @if(swiperElement() != null){ -->\r\n <swiper-container init=\"false\" [id]=\"meta?.code\">\r\n @for (banner of banners; track $index) {\r\n <swiper-slide>\r\n <div class=\"item\">\r\n @if (!banner.styles?.button?.text) {\r\n <!-- banner sin boton -->\r\n @if(banner.url){\r\n <a [href]=\"banner.url\" class=\"\">\r\n <img [src]=\"mediaBannerUrl + getImage(banner)\" alt=\"\" class=\"img-fluid w-100\" />\r\n </a>\r\n }@else {\r\n <img [src]=\"mediaBannerUrl + getImage(banner)\" alt=\"\" class=\"img-fluid w-100\" />\r\n }\r\n }@else {\r\n <!-- banner con boton -->\r\n <img [src]=\"mediaBannerUrl + getImage(banner)\" alt=\"\" />\r\n <div class=\"position-absolute w-100 h-100 start-0 top-0\">\r\n @if(banner.title){\r\n <h2 [class]=\"'item-title-full px-2 item-position-vertical-'+ (banner.styles?.description?.position)\"\r\n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \">\r\n {{banner.title}}\r\n </h2>\r\n }\r\n @if(banner.subtitle){\r\n <p [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\r\n [class]=\"'px-4 item-subtitle-full item-position-vertical-' + (banner.styles?.description?.position)\">\r\n {{banner.subtitle}}\r\n </p>\r\n }\r\n <div [class]=\"'item-position-vertical-' + (banner.styles?.button?.position)\">\r\n @if(banner.styles?.button?.text){\r\n <a href=\"{{banner.url}}\" [class]=\"'item-button-full btn btn-light'\">\r\n {{banner.styles.button.text}}\r\n </a>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </swiper-slide>\r\n }\r\n </swiper-container>\r\n <!-- } -->\r\n \r\n }\r\n </section>\r\n}", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
7689
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BlockBannerFullEcComponent, isStandalone: true, selector: "app-block-banner-full-ec", inputs: { banners: "banners", meta: "meta", prevArrowImage: "prevArrowImage", nextArrowImage: "nextArrowImage", prevArrowText: "prevArrowText", nextArrowText: "nextArrowText", enableCustomNavigation: "enableCustomNavigation" }, usesInheritance: true, ngImport: i0, template: "@if(banners.length > 0) {\n <section [ngClass]=\"trimClassBlock(meta?.code)+' container-fluid px-0'\"\n [style.background-color]=\"meta.styles?.backgroundColor\"\n [style.background-image]=\"meta.styles?.backgroundImage ? 'url(' + mediaUrl + meta.styles?.backgroundImage +')' : 'inherit'\">\n\n @if (banners.length == 1) {\n <!-- si es formato fijo -->\n <div class=\"row justify-content-center\">\n @let banner = banners[0];\n @if(!banners.styles?.button?.text){\n <!-- banner sin boton -->\n <a [href]=\"banner.url\" >\n <div class=\"item col-12\">\n <img class=\"img-fluid\" [src]=\"mediaBannerUrl + getImage(banner)\" alt=\"\">\n <div class=\"position-absolute w-100 h-100 start-0 top-0\">\n @if(banner.title){\n <h2 [class]=\"'item-title-full px-2 item-position-vertical-' + (banner.styles?.description?.position)\"\n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#fff' \">\n {{banner.title}}\n </h2>\n }\n @if(banner.subtitle){\n <p [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\n [class]=\"'px-4 item-subtitle-full item-position-vertical-' + (banner.styles?.description?.position)\">\n {{banner.subtitle}}\n </p>\n }\n </div>\n </div>\n </a>\n }@else {\n <!-- banner fijo con boton -->\n <div class=\"item col-12\">\n <img class=\"img-fluid\" [src]=\"mediaBannerUrl + getImage(banner)\" alt=\"\">\n <div class=\"position-absolute w-100 h-100 start-0 top-0\">\n @if(banner.title){\n <h2 [class]=\"'item-title-full px-2 item-position-vertical-' + (banner.styles?.description?.position)\"\n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \">\n {{banner.title}}\n </h2>\n }\n @if(banner.subtitle){\n <p \n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\n [class]=\"'px-4 item-subtitle-full item-position-vertical-' + (banner.styles?.description?.position)\">\n {{banner.subtitle}}\n </p>\n <div [class]=\"'item-position-vertical-' + (banner.styles?.button?.position)\">\n @if(banner.styles?.button?.text){\n <a href=\"{{banner.url}}\"\n [class]=\"'item-button-full btn btn-light '\">\n {{banner.styles.button.text}}\n </a> \n }\n \n </div>\n }\n </div>\n </div>\n }\n </div>\n }@else {\n <!-- si es carrousel -->\n <!-- @if(swiperElement() != null){ -->\n <swiper-container init=\"false\" [id]=\"meta?.code\">\n @for (banner of banners; track $index) {\n <swiper-slide>\n <div class=\"item\">\n @if (!banner.styles?.button?.text) {\n <!-- banner sin boton -->\n @if(banner.url){\n <a [href]=\"banner.url\" class=\"\">\n <img [src]=\"mediaBannerUrl + getImage(banner)\" alt=\"\" class=\"img-fluid w-100\" />\n </a>\n }@else {\n <img [src]=\"mediaBannerUrl + getImage(banner)\" alt=\"\" class=\"img-fluid w-100\" />\n }\n }@else {\n <!-- banner con boton -->\n <img [src]=\"mediaBannerUrl + getImage(banner)\" alt=\"\" />\n <div class=\"position-absolute w-100 h-100 start-0 top-0\">\n @if(banner.title){\n <h2 [class]=\"'item-title-full px-2 item-position-vertical-'+ (banner.styles?.description?.position)\"\n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \">\n {{banner.title}}\n </h2>\n }\n @if(banner.subtitle){\n <p [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\n [class]=\"'px-4 item-subtitle-full item-position-vertical-' + (banner.styles?.description?.position)\">\n {{banner.subtitle}}\n </p>\n }\n <div [class]=\"'item-position-vertical-' + (banner.styles?.button?.position)\">\n @if(banner.styles?.button?.text){\n <a href=\"{{banner.url}}\" [class]=\"'item-button-full btn btn-light'\">\n {{banner.styles.button.text}}\n </a>\n }\n </div>\n </div>\n }\n </div>\n </swiper-slide>\n }\n </swiper-container>\n <!-- } -->\n \n }\n </section>\n}", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
7556
7690
  }
7557
7691
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BlockBannerFullEcComponent, decorators: [{
7558
7692
  type: Component,
7559
- args: [{ selector: 'app-block-banner-full-ec', standalone: true, imports: [CommonModule, RouterLink], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "@if(banners.length > 0) {\r\n <section [ngClass]=\"trimClassBlock(meta?.code)+' container-fluid px-0'\"\r\n [style.background-color]=\"meta.styles?.backgroundColor\"\r\n [style.background-image]=\"meta.styles?.backgroundImage ? 'url(' + mediaUrl + meta.styles?.backgroundImage +')' : 'inherit'\">\r\n\r\n @if (banners.length == 1) {\r\n <!-- si es formato fijo -->\r\n <div class=\"row justify-content-center\">\r\n @let banner = banners[0];\r\n @if(!banners.styles?.button?.text){\r\n <!-- banner sin boton -->\r\n <a [href]=\"banner.url\" >\r\n <div class=\"item col-12\">\r\n <img class=\"img-fluid\" [src]=\"mediaBannerUrl + getImage(banner)\" alt=\"\">\r\n <div class=\"position-absolute w-100 h-100 start-0 top-0\">\r\n @if(banner.title){\r\n <h2 [class]=\"'item-title-full px-2 item-position-vertical-' + (banner.styles?.description?.position)\"\r\n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#fff' \">\r\n {{banner.title}}\r\n </h2>\r\n }\r\n @if(banner.subtitle){\r\n <p [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\r\n [class]=\"'px-4 item-subtitle-full item-position-vertical-' + (banner.styles?.description?.position)\">\r\n {{banner.subtitle}}\r\n </p>\r\n }\r\n </div>\r\n </div>\r\n </a>\r\n }@else {\r\n <!-- banner fijo con boton -->\r\n <div class=\"item col-12\">\r\n <img class=\"img-fluid\" [src]=\"mediaBannerUrl + getImage(banner)\" alt=\"\">\r\n <div class=\"position-absolute w-100 h-100 start-0 top-0\">\r\n @if(banner.title){\r\n <h2 [class]=\"'item-title-full px-2 item-position-vertical-' + (banner.styles?.description?.position)\"\r\n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \">\r\n {{banner.title}}\r\n </h2>\r\n }\r\n @if(banner.subtitle){\r\n <p \r\n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\r\n [class]=\"'px-4 item-subtitle-full item-position-vertical-' + (banner.styles?.description?.position)\">\r\n {{banner.subtitle}}\r\n </p>\r\n <div [class]=\"'item-position-vertical-' + (banner.styles?.button?.position)\">\r\n @if(banner.styles?.button?.text){\r\n <a href=\"{{banner.url}}\"\r\n [class]=\"'item-button-full btn btn-light '\">\r\n {{banner.styles.button.text}}\r\n </a> \r\n }\r\n \r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }@else {\r\n <!-- si es carrousel -->\r\n <!-- @if(swiperElement() != null){ -->\r\n <swiper-container init=\"false\" [id]=\"meta?.code\">\r\n @for (banner of banners; track $index) {\r\n <swiper-slide>\r\n <div class=\"item\">\r\n @if (!banner.styles?.button?.text) {\r\n <!-- banner sin boton -->\r\n @if(banner.url){\r\n <a [href]=\"banner.url\" class=\"\">\r\n <img [src]=\"mediaBannerUrl + getImage(banner)\" alt=\"\" class=\"img-fluid w-100\" />\r\n </a>\r\n }@else {\r\n <img [src]=\"mediaBannerUrl + getImage(banner)\" alt=\"\" class=\"img-fluid w-100\" />\r\n }\r\n }@else {\r\n <!-- banner con boton -->\r\n <img [src]=\"mediaBannerUrl + getImage(banner)\" alt=\"\" />\r\n <div class=\"position-absolute w-100 h-100 start-0 top-0\">\r\n @if(banner.title){\r\n <h2 [class]=\"'item-title-full px-2 item-position-vertical-'+ (banner.styles?.description?.position)\"\r\n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \">\r\n {{banner.title}}\r\n </h2>\r\n }\r\n @if(banner.subtitle){\r\n <p [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\r\n [class]=\"'px-4 item-subtitle-full item-position-vertical-' + (banner.styles?.description?.position)\">\r\n {{banner.subtitle}}\r\n </p>\r\n }\r\n <div [class]=\"'item-position-vertical-' + (banner.styles?.button?.position)\">\r\n @if(banner.styles?.button?.text){\r\n <a href=\"{{banner.url}}\" [class]=\"'item-button-full btn btn-light'\">\r\n {{banner.styles.button.text}}\r\n </a>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </swiper-slide>\r\n }\r\n </swiper-container>\r\n <!-- } -->\r\n \r\n }\r\n </section>\r\n}" }]
7693
+ args: [{ selector: 'app-block-banner-full-ec', standalone: true, imports: [CommonModule, RouterLink], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "@if(banners.length > 0) {\n <section [ngClass]=\"trimClassBlock(meta?.code)+' container-fluid px-0'\"\n [style.background-color]=\"meta.styles?.backgroundColor\"\n [style.background-image]=\"meta.styles?.backgroundImage ? 'url(' + mediaUrl + meta.styles?.backgroundImage +')' : 'inherit'\">\n\n @if (banners.length == 1) {\n <!-- si es formato fijo -->\n <div class=\"row justify-content-center\">\n @let banner = banners[0];\n @if(!banners.styles?.button?.text){\n <!-- banner sin boton -->\n <a [href]=\"banner.url\" >\n <div class=\"item col-12\">\n <img class=\"img-fluid\" [src]=\"mediaBannerUrl + getImage(banner)\" alt=\"\">\n <div class=\"position-absolute w-100 h-100 start-0 top-0\">\n @if(banner.title){\n <h2 [class]=\"'item-title-full px-2 item-position-vertical-' + (banner.styles?.description?.position)\"\n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#fff' \">\n {{banner.title}}\n </h2>\n }\n @if(banner.subtitle){\n <p [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\n [class]=\"'px-4 item-subtitle-full item-position-vertical-' + (banner.styles?.description?.position)\">\n {{banner.subtitle}}\n </p>\n }\n </div>\n </div>\n </a>\n }@else {\n <!-- banner fijo con boton -->\n <div class=\"item col-12\">\n <img class=\"img-fluid\" [src]=\"mediaBannerUrl + getImage(banner)\" alt=\"\">\n <div class=\"position-absolute w-100 h-100 start-0 top-0\">\n @if(banner.title){\n <h2 [class]=\"'item-title-full px-2 item-position-vertical-' + (banner.styles?.description?.position)\"\n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \">\n {{banner.title}}\n </h2>\n }\n @if(banner.subtitle){\n <p \n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\n [class]=\"'px-4 item-subtitle-full item-position-vertical-' + (banner.styles?.description?.position)\">\n {{banner.subtitle}}\n </p>\n <div [class]=\"'item-position-vertical-' + (banner.styles?.button?.position)\">\n @if(banner.styles?.button?.text){\n <a href=\"{{banner.url}}\"\n [class]=\"'item-button-full btn btn-light '\">\n {{banner.styles.button.text}}\n </a> \n }\n \n </div>\n }\n </div>\n </div>\n }\n </div>\n }@else {\n <!-- si es carrousel -->\n <!-- @if(swiperElement() != null){ -->\n <swiper-container init=\"false\" [id]=\"meta?.code\">\n @for (banner of banners; track $index) {\n <swiper-slide>\n <div class=\"item\">\n @if (!banner.styles?.button?.text) {\n <!-- banner sin boton -->\n @if(banner.url){\n <a [href]=\"banner.url\" class=\"\">\n <img [src]=\"mediaBannerUrl + getImage(banner)\" alt=\"\" class=\"img-fluid w-100\" />\n </a>\n }@else {\n <img [src]=\"mediaBannerUrl + getImage(banner)\" alt=\"\" class=\"img-fluid w-100\" />\n }\n }@else {\n <!-- banner con boton -->\n <img [src]=\"mediaBannerUrl + getImage(banner)\" alt=\"\" />\n <div class=\"position-absolute w-100 h-100 start-0 top-0\">\n @if(banner.title){\n <h2 [class]=\"'item-title-full px-2 item-position-vertical-'+ (banner.styles?.description?.position)\"\n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \">\n {{banner.title}}\n </h2>\n }\n @if(banner.subtitle){\n <p [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\n [class]=\"'px-4 item-subtitle-full item-position-vertical-' + (banner.styles?.description?.position)\">\n {{banner.subtitle}}\n </p>\n }\n <div [class]=\"'item-position-vertical-' + (banner.styles?.button?.position)\">\n @if(banner.styles?.button?.text){\n <a href=\"{{banner.url}}\" [class]=\"'item-button-full btn btn-light'\">\n {{banner.styles.button.text}}\n </a>\n }\n </div>\n </div>\n }\n </div>\n </swiper-slide>\n }\n </swiper-container>\n <!-- } -->\n \n }\n </section>\n}" }]
7560
7694
  }], ctorParameters: () => [], propDecorators: { banners: [{
7561
7695
  type: Input,
7562
7696
  args: [{
@@ -7663,11 +7797,11 @@ class BlockBannerBoxEcComponent extends BlockEcComponent {
7663
7797
  }
7664
7798
  boxesInlcudesCode = (box) => this.meta.code.toUpperCase().includes(box.toUpperCase());
7665
7799
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BlockBannerBoxEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7666
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BlockBannerBoxEcComponent, isStandalone: true, selector: "app-block-banner-box-ec", inputs: { banners: "banners", meta: "meta" }, usesInheritance: true, ngImport: i0, template: "@if(banners.length){\r\n <section [ngClass]=\"trimClassBlock(meta.code) + ' container'\" \r\n [style.background-color]=\"meta.styles?.backgroundColor\"\r\n [style.background-image]=\"meta.styles?.backgroundImage ? 'url(' + mediaUrl + meta.styles?.backgroundImage +')' : 'inherit'\">\r\n\r\n <div class=\"block-boxes\">\r\n @if(meta.name){\r\n <div class=\"row\">\r\n a\r\n <div class=\"col-12 mt-4\">\r\n <h2 class=\"font-weight-normal font-gd\">\r\n <span>{{meta.name}}</span>\r\n </h2>\r\n </div>\r\n </div> \r\n }\r\n \r\n @if(meta.styles && meta.styles.carrousel == false){\r\n <!-- Si es formato fijo -->\r\n <div class=\"banner-content\">\r\n <div class=\"row g-0\">\r\n @for (banner of banners; track $index) {\r\n <div [ngClass]=\"'item '+'col-md-6 '+'col-lg-'+(12/banners.length) \" [id]=\"$index\">\r\n <img class=\"img-fluid\" [src]=\" mediaBannerUrl+getImage(banner)\" alt=\"\" />\r\n <div class=\"position-absolute w-100 top-0 start-0 h-100\">\r\n <h2 [ngClass]=\"'item-title px-2 item-position-vertical-'+ (banner.styles?.description?.position)\"\r\n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000'\">\r\n {{banner.title}}\r\n </h2>\r\n @if(banner.subtitle){\r\n <p [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\r\n [class]=\"'px-4 item-subtitle item-position-vertical-' + (banner.styles?.description?.position)\">\r\n {{banner.subtitle}}\r\n </p>\r\n }\r\n </div>\r\n <div [class]=\"'item-position-vertical-' + (banner.styles?.button?.position)\">\r\n @if(banner.styles?.button?.text){\r\n <a href=\"{{banner.url}}\" [class]=\"'item-button btn btn-light'\">\r\n {{banner.styles.button.text}}\r\n </a>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }@else {\r\n <!-- Si es Carrousel -->\r\n <swiper-container init=\"false\" [id]=\"meta?.code\">\r\n @for (banner of banners; track $index) {\r\n <!-- Si es de Categorias -->\r\n @if (banner.taxons[0]) {\r\n <swiper-slide>\r\n\r\n <a class=\"banner-content carrousel item\" (click)='redirectRoute(banner.taxons[0].slug)' [routerLink]=\"['/collection/categories/', banner.taxons[0].slug]\" routerLinkActive=\"router-link-active\" style=\"text-decoration: none; cursor: pointer; background-color: white;\">\r\n <div class=\"image-container\">\r\n <img [src]=\"mediaBannerUrl+getImage(banner)\" alt=\"Banner Image\" class=\"banner-image\">\r\n </div>\r\n @if(banner.title){\r\n <h2 [class]=\"'box-text item-title-full px-2 item-position-vertical-'+ (banner.styles?.description?.position)\"\r\n style=\"color:#fff\">\r\n {{banner.title}}\r\n </h2>\r\n }\r\n @if(banner.taxons && banner.taxons.length){\r\n <h5 class=\"item-subtitle-full item-position-vertical-center text-center box-text\">\r\n {{banner.translations.es_AR.title}}\r\n </h5>\r\n }\r\n @if(banner.subtitle){\r\n <p [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\r\n [class]=\"'box-text px-4 item-subtitle-full item-position-vertical-' + (banner.styles?.description?.position)\">\r\n {{banner.subtitle}}\r\n </p>\r\n }\r\n </a>\r\n </swiper-slide>\r\n } @else {\r\n <swiper-slide>\r\n\r\n <a class=\"banner-content carrousel item\" style=\"cursor: pointer;\">\r\n <div class=\"image-container\">\r\n <img [src]=\"mediaBannerUrl+getImage(banner)\" alt=\"Banner Image\" class=\"banner-image\">\r\n </div>\r\n @if(banner.title){\r\n <h2 [class]=\"'box-text item-title-full px-2 item-position-vertical-'+ (banner.styles?.description?.position)\"\r\n style=\"color:#fff\">\r\n {{banner.title}}\r\n </h2>\r\n }\r\n @if(banner.taxons && banner.taxons.length){\r\n <h5 class=\"item-subtitle-full item-position-vertical-center text-center box-text\">\r\n {{banner.translations.es_AR.title}}\r\n </h5>\r\n }\r\n @if(banner.subtitle){\r\n <p [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\r\n [class]=\"'box-text px-4 item-subtitle-full item-position-vertical-' + (banner.styles?.description?.position)\">\r\n {{banner.subtitle}}\r\n </p>\r\n }\r\n </a>\r\n </swiper-slide>\r\n }\r\n \r\n }\r\n </swiper-container> \r\n }\r\n </div>\r\n\r\n </section>\r\n}", styles: ["@charset \"UTF-8\";.banner-container{text-align:center}.banner-image{display:block;margin:0 auto}.item-subtitle-full{margin-top:10px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }] });
7800
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BlockBannerBoxEcComponent, isStandalone: true, selector: "app-block-banner-box-ec", inputs: { banners: "banners", meta: "meta" }, usesInheritance: true, ngImport: i0, template: "@if(banners.length){\n <section [ngClass]=\"trimClassBlock(meta.code) + ' container'\" \n [style.background-color]=\"meta.styles?.backgroundColor\"\n [style.background-image]=\"meta.styles?.backgroundImage ? 'url(' + mediaUrl + meta.styles?.backgroundImage +')' : 'inherit'\">\n\n <div class=\"block-boxes\">\n @if(meta.name){\n <div class=\"row\">\n a\n <div class=\"col-12 mt-4\">\n <h2 class=\"font-weight-normal font-gd\">\n <span>{{meta.name}}</span>\n </h2>\n </div>\n </div> \n }\n \n @if(meta.styles && meta.styles.carrousel == false){\n <!-- Si es formato fijo -->\n <div class=\"banner-content\">\n <div class=\"row g-0\">\n @for (banner of banners; track $index) {\n <div [ngClass]=\"'item '+'col-md-6 '+'col-lg-'+(12/banners.length) \" [id]=\"$index\">\n <img class=\"img-fluid\" [src]=\" mediaBannerUrl+getImage(banner)\" alt=\"\" />\n <div class=\"position-absolute w-100 top-0 start-0 h-100\">\n <h2 [ngClass]=\"'item-title px-2 item-position-vertical-'+ (banner.styles?.description?.position)\"\n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000'\">\n {{banner.title}}\n </h2>\n @if(banner.subtitle){\n <p [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\n [class]=\"'px-4 item-subtitle item-position-vertical-' + (banner.styles?.description?.position)\">\n {{banner.subtitle}}\n </p>\n }\n </div>\n <div [class]=\"'item-position-vertical-' + (banner.styles?.button?.position)\">\n @if(banner.styles?.button?.text){\n <a href=\"{{banner.url}}\" [class]=\"'item-button btn btn-light'\">\n {{banner.styles.button.text}}\n </a>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }@else {\n <!-- Si es Carrousel -->\n <swiper-container init=\"false\" [id]=\"meta?.code\">\n @for (banner of banners; track $index) {\n <!-- Si es de Categorias -->\n @if (banner.taxons[0]) {\n <swiper-slide>\n\n <a class=\"banner-content carrousel item\" (click)='redirectRoute(banner.taxons[0].slug)' [routerLink]=\"['/collection/categories/', banner.taxons[0].slug]\" routerLinkActive=\"router-link-active\" style=\"text-decoration: none; cursor: pointer; background-color: white;\">\n <div class=\"image-container\">\n <img [src]=\"mediaBannerUrl+getImage(banner)\" alt=\"Banner Image\" class=\"banner-image\">\n </div>\n @if(banner.title){\n <h2 [class]=\"'box-text item-title-full px-2 item-position-vertical-'+ (banner.styles?.description?.position)\"\n style=\"color:#fff\">\n {{banner.title}}\n </h2>\n }\n @if(banner.taxons && banner.taxons.length){\n <h5 class=\"item-subtitle-full item-position-vertical-center text-center box-text\">\n {{banner.translations.es_AR.title}}\n </h5>\n }\n @if(banner.subtitle){\n <p [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\n [class]=\"'box-text px-4 item-subtitle-full item-position-vertical-' + (banner.styles?.description?.position)\">\n {{banner.subtitle}}\n </p>\n }\n </a>\n </swiper-slide>\n } @else {\n <swiper-slide>\n\n <a class=\"banner-content carrousel item\" style=\"cursor: pointer;\">\n <div class=\"image-container\">\n <img [src]=\"mediaBannerUrl+getImage(banner)\" alt=\"Banner Image\" class=\"banner-image\">\n </div>\n @if(banner.title){\n <h2 [class]=\"'box-text item-title-full px-2 item-position-vertical-'+ (banner.styles?.description?.position)\"\n style=\"color:#fff\">\n {{banner.title}}\n </h2>\n }\n @if(banner.taxons && banner.taxons.length){\n <h5 class=\"item-subtitle-full item-position-vertical-center text-center box-text\">\n {{banner.translations.es_AR.title}}\n </h5>\n }\n @if(banner.subtitle){\n <p [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\n [class]=\"'box-text px-4 item-subtitle-full item-position-vertical-' + (banner.styles?.description?.position)\">\n {{banner.subtitle}}\n </p>\n }\n </a>\n </swiper-slide>\n }\n \n }\n </swiper-container> \n }\n </div>\n\n </section>\n}", styles: ["@charset \"UTF-8\";.banner-container{text-align:center}.banner-image{display:block;margin:0 auto}.item-subtitle-full{margin-top:10px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }] });
7667
7801
  }
7668
7802
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BlockBannerBoxEcComponent, decorators: [{
7669
7803
  type: Component,
7670
- args: [{ selector: 'app-block-banner-box-ec', standalone: true, imports: [CommonModule, RouterModule], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "@if(banners.length){\r\n <section [ngClass]=\"trimClassBlock(meta.code) + ' container'\" \r\n [style.background-color]=\"meta.styles?.backgroundColor\"\r\n [style.background-image]=\"meta.styles?.backgroundImage ? 'url(' + mediaUrl + meta.styles?.backgroundImage +')' : 'inherit'\">\r\n\r\n <div class=\"block-boxes\">\r\n @if(meta.name){\r\n <div class=\"row\">\r\n a\r\n <div class=\"col-12 mt-4\">\r\n <h2 class=\"font-weight-normal font-gd\">\r\n <span>{{meta.name}}</span>\r\n </h2>\r\n </div>\r\n </div> \r\n }\r\n \r\n @if(meta.styles && meta.styles.carrousel == false){\r\n <!-- Si es formato fijo -->\r\n <div class=\"banner-content\">\r\n <div class=\"row g-0\">\r\n @for (banner of banners; track $index) {\r\n <div [ngClass]=\"'item '+'col-md-6 '+'col-lg-'+(12/banners.length) \" [id]=\"$index\">\r\n <img class=\"img-fluid\" [src]=\" mediaBannerUrl+getImage(banner)\" alt=\"\" />\r\n <div class=\"position-absolute w-100 top-0 start-0 h-100\">\r\n <h2 [ngClass]=\"'item-title px-2 item-position-vertical-'+ (banner.styles?.description?.position)\"\r\n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000'\">\r\n {{banner.title}}\r\n </h2>\r\n @if(banner.subtitle){\r\n <p [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\r\n [class]=\"'px-4 item-subtitle item-position-vertical-' + (banner.styles?.description?.position)\">\r\n {{banner.subtitle}}\r\n </p>\r\n }\r\n </div>\r\n <div [class]=\"'item-position-vertical-' + (banner.styles?.button?.position)\">\r\n @if(banner.styles?.button?.text){\r\n <a href=\"{{banner.url}}\" [class]=\"'item-button btn btn-light'\">\r\n {{banner.styles.button.text}}\r\n </a>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }@else {\r\n <!-- Si es Carrousel -->\r\n <swiper-container init=\"false\" [id]=\"meta?.code\">\r\n @for (banner of banners; track $index) {\r\n <!-- Si es de Categorias -->\r\n @if (banner.taxons[0]) {\r\n <swiper-slide>\r\n\r\n <a class=\"banner-content carrousel item\" (click)='redirectRoute(banner.taxons[0].slug)' [routerLink]=\"['/collection/categories/', banner.taxons[0].slug]\" routerLinkActive=\"router-link-active\" style=\"text-decoration: none; cursor: pointer; background-color: white;\">\r\n <div class=\"image-container\">\r\n <img [src]=\"mediaBannerUrl+getImage(banner)\" alt=\"Banner Image\" class=\"banner-image\">\r\n </div>\r\n @if(banner.title){\r\n <h2 [class]=\"'box-text item-title-full px-2 item-position-vertical-'+ (banner.styles?.description?.position)\"\r\n style=\"color:#fff\">\r\n {{banner.title}}\r\n </h2>\r\n }\r\n @if(banner.taxons && banner.taxons.length){\r\n <h5 class=\"item-subtitle-full item-position-vertical-center text-center box-text\">\r\n {{banner.translations.es_AR.title}}\r\n </h5>\r\n }\r\n @if(banner.subtitle){\r\n <p [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\r\n [class]=\"'box-text px-4 item-subtitle-full item-position-vertical-' + (banner.styles?.description?.position)\">\r\n {{banner.subtitle}}\r\n </p>\r\n }\r\n </a>\r\n </swiper-slide>\r\n } @else {\r\n <swiper-slide>\r\n\r\n <a class=\"banner-content carrousel item\" style=\"cursor: pointer;\">\r\n <div class=\"image-container\">\r\n <img [src]=\"mediaBannerUrl+getImage(banner)\" alt=\"Banner Image\" class=\"banner-image\">\r\n </div>\r\n @if(banner.title){\r\n <h2 [class]=\"'box-text item-title-full px-2 item-position-vertical-'+ (banner.styles?.description?.position)\"\r\n style=\"color:#fff\">\r\n {{banner.title}}\r\n </h2>\r\n }\r\n @if(banner.taxons && banner.taxons.length){\r\n <h5 class=\"item-subtitle-full item-position-vertical-center text-center box-text\">\r\n {{banner.translations.es_AR.title}}\r\n </h5>\r\n }\r\n @if(banner.subtitle){\r\n <p [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\r\n [class]=\"'box-text px-4 item-subtitle-full item-position-vertical-' + (banner.styles?.description?.position)\">\r\n {{banner.subtitle}}\r\n </p>\r\n }\r\n </a>\r\n </swiper-slide>\r\n }\r\n \r\n }\r\n </swiper-container> \r\n }\r\n </div>\r\n\r\n </section>\r\n}", styles: ["@charset \"UTF-8\";.banner-container{text-align:center}.banner-image{display:block;margin:0 auto}.item-subtitle-full{margin-top:10px}\n"] }]
7804
+ args: [{ selector: 'app-block-banner-box-ec', standalone: true, imports: [CommonModule, RouterModule], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "@if(banners.length){\n <section [ngClass]=\"trimClassBlock(meta.code) + ' container'\" \n [style.background-color]=\"meta.styles?.backgroundColor\"\n [style.background-image]=\"meta.styles?.backgroundImage ? 'url(' + mediaUrl + meta.styles?.backgroundImage +')' : 'inherit'\">\n\n <div class=\"block-boxes\">\n @if(meta.name){\n <div class=\"row\">\n a\n <div class=\"col-12 mt-4\">\n <h2 class=\"font-weight-normal font-gd\">\n <span>{{meta.name}}</span>\n </h2>\n </div>\n </div> \n }\n \n @if(meta.styles && meta.styles.carrousel == false){\n <!-- Si es formato fijo -->\n <div class=\"banner-content\">\n <div class=\"row g-0\">\n @for (banner of banners; track $index) {\n <div [ngClass]=\"'item '+'col-md-6 '+'col-lg-'+(12/banners.length) \" [id]=\"$index\">\n <img class=\"img-fluid\" [src]=\" mediaBannerUrl+getImage(banner)\" alt=\"\" />\n <div class=\"position-absolute w-100 top-0 start-0 h-100\">\n <h2 [ngClass]=\"'item-title px-2 item-position-vertical-'+ (banner.styles?.description?.position)\"\n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000'\">\n {{banner.title}}\n </h2>\n @if(banner.subtitle){\n <p [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\n [class]=\"'px-4 item-subtitle item-position-vertical-' + (banner.styles?.description?.position)\">\n {{banner.subtitle}}\n </p>\n }\n </div>\n <div [class]=\"'item-position-vertical-' + (banner.styles?.button?.position)\">\n @if(banner.styles?.button?.text){\n <a href=\"{{banner.url}}\" [class]=\"'item-button btn btn-light'\">\n {{banner.styles.button.text}}\n </a>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }@else {\n <!-- Si es Carrousel -->\n <swiper-container init=\"false\" [id]=\"meta?.code\">\n @for (banner of banners; track $index) {\n <!-- Si es de Categorias -->\n @if (banner.taxons[0]) {\n <swiper-slide>\n\n <a class=\"banner-content carrousel item\" (click)='redirectRoute(banner.taxons[0].slug)' [routerLink]=\"['/collection/categories/', banner.taxons[0].slug]\" routerLinkActive=\"router-link-active\" style=\"text-decoration: none; cursor: pointer; background-color: white;\">\n <div class=\"image-container\">\n <img [src]=\"mediaBannerUrl+getImage(banner)\" alt=\"Banner Image\" class=\"banner-image\">\n </div>\n @if(banner.title){\n <h2 [class]=\"'box-text item-title-full px-2 item-position-vertical-'+ (banner.styles?.description?.position)\"\n style=\"color:#fff\">\n {{banner.title}}\n </h2>\n }\n @if(banner.taxons && banner.taxons.length){\n <h5 class=\"item-subtitle-full item-position-vertical-center text-center box-text\">\n {{banner.translations.es_AR.title}}\n </h5>\n }\n @if(banner.subtitle){\n <p [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\n [class]=\"'box-text px-4 item-subtitle-full item-position-vertical-' + (banner.styles?.description?.position)\">\n {{banner.subtitle}}\n </p>\n }\n </a>\n </swiper-slide>\n } @else {\n <swiper-slide>\n\n <a class=\"banner-content carrousel item\" style=\"cursor: pointer;\">\n <div class=\"image-container\">\n <img [src]=\"mediaBannerUrl+getImage(banner)\" alt=\"Banner Image\" class=\"banner-image\">\n </div>\n @if(banner.title){\n <h2 [class]=\"'box-text item-title-full px-2 item-position-vertical-'+ (banner.styles?.description?.position)\"\n style=\"color:#fff\">\n {{banner.title}}\n </h2>\n }\n @if(banner.taxons && banner.taxons.length){\n <h5 class=\"item-subtitle-full item-position-vertical-center text-center box-text\">\n {{banner.translations.es_AR.title}}\n </h5>\n }\n @if(banner.subtitle){\n <p [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\n [class]=\"'box-text px-4 item-subtitle-full item-position-vertical-' + (banner.styles?.description?.position)\">\n {{banner.subtitle}}\n </p>\n }\n </a>\n </swiper-slide>\n }\n \n }\n </swiper-container> \n }\n </div>\n\n </section>\n}", styles: ["@charset \"UTF-8\";.banner-container{text-align:center}.banner-image{display:block;margin:0 auto}.item-subtitle-full{margin-top:10px}\n"] }]
7671
7805
  }], ctorParameters: () => [], propDecorators: { banners: [{
7672
7806
  type: Input,
7673
7807
  args: [{
@@ -7699,11 +7833,11 @@ class BlockHtmlEcComponent extends BlockEcComponent {
7699
7833
  this.html_content = this.sanitizer.bypassSecurityTrustHtml(this.html_content);
7700
7834
  }
7701
7835
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BlockHtmlEcComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
7702
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BlockHtmlEcComponent, isStandalone: true, selector: "app-block-html-ec", inputs: { html_content: "html_content" }, usesInheritance: true, ngImport: i0, template: "<div [innerHTML]=\"html_content\"></div>\r\n", styles: [""] });
7836
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BlockHtmlEcComponent, isStandalone: true, selector: "app-block-html-ec", inputs: { html_content: "html_content" }, usesInheritance: true, ngImport: i0, template: "<div [innerHTML]=\"html_content\"></div>\n", styles: [""] });
7703
7837
  }
7704
7838
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BlockHtmlEcComponent, decorators: [{
7705
7839
  type: Component,
7706
- args: [{ selector: 'app-block-html-ec', standalone: true, imports: [], template: "<div [innerHTML]=\"html_content\"></div>\r\n" }]
7840
+ args: [{ selector: 'app-block-html-ec', standalone: true, imports: [], template: "<div [innerHTML]=\"html_content\"></div>\n" }]
7707
7841
  }], propDecorators: { html_content: [{
7708
7842
  type: Input,
7709
7843
  args: [{
@@ -7833,20 +7967,14 @@ class PriceEcComponent {
7833
7967
  customTaxTemplate = null;
7834
7968
  customOnlyTaxLabelTemplate = null;
7835
7969
  _channelService = inject(ChannelService);
7836
- _authService = inject(AuthService);
7970
+ priceVisibility = inject(PriceVisibilityService);
7837
7971
  showTaxLegend = false;
7838
7972
  hideTaxes = false;
7839
- showPricesOnlyToLoggedUsers = false;
7840
- logged = false;
7841
- hidePrices = false;
7842
7973
  ngOnInit() {
7843
7974
  this._channelService.channel$.subscribe(cfg => {
7844
7975
  this.showTaxLegend = !!cfg.showTaxLegend;
7845
7976
  this.hideTaxes = !!cfg.hideTaxes;
7846
- this.showPricesOnlyToLoggedUsers = !!cfg.showPricesOnlyToLoggedUsers;
7847
- this.hidePrices = !!cfg.hidePrices;
7848
7977
  });
7849
- this.logged = this._authService.isAuthenticated();
7850
7978
  }
7851
7979
  /** Determina si mostrar la sección de impuestos */
7852
7980
  get shouldShowTaxes() {
@@ -7865,11 +7993,11 @@ class PriceEcComponent {
7865
7993
  return !!value && value.split(' - ').length === 2;
7866
7994
  }
7867
7995
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PriceEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7868
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: PriceEcComponent, isStandalone: true, selector: "app-price-ec", inputs: { price: "price", saleprice: "saleprice", basePrice: "basePrice", taxeAmount: "taxeAmount", taxes: "taxes", priceSize: "priceSize", showTaxLegendOnly: "showTaxLegendOnly", disableTaxInfo: "disableTaxInfo", customPriceTemplate: "customPriceTemplate", customSalePriceTemplate: "customSalePriceTemplate", customSimplePriceTemplate: "customSimplePriceTemplate", customSimpleSalePriceTemplate: "customSimpleSalePriceTemplate", customTaxTemplate: "customTaxTemplate", customOnlyTaxLabelTemplate: "customOnlyTaxLabelTemplate" }, ngImport: i0, template: "@if(!hidePrices){\r\n@if (!showPricesOnlyToLoggedUsers || logged) {\r\n<ng-container *ngIf=\"customSalePriceTemplate || customPriceTemplate; else defaultPriceBlock\">\r\n <ng-container *ngTemplateOutlet=\"customSalePriceTemplate || customPriceTemplate\">\r\n </ng-container>\r\n</ng-container>\r\n\r\n<ng-template #defaultPriceBlock>\r\n <div class=\"price\">\r\n <!-- Con precio de oferta -->\r\n <div *ngIf=\"saleprice; else onlyPriceBlock\" class=\"line-height-custom\">\r\n\r\n <!-- Precio original como rango o tachado simple -->\r\n <div *ngIf=\"hasRange(price); else simplePriceDel\" class=\"price-whithSaleprice\">\r\n <del class=\"\">\r\n {{\r\n price!.split(' - ')[0] | ecCurrencySymbol\r\n }}\r\n {{\r\n price!.split(' - ')[1] | ecCurrencySymbol\r\n }}\r\n </del>\r\n </div>\r\n\r\n <!-- Oferta como rango o simple -->\r\n <div *ngIf=\"hasRange(saleprice); else simpleSalePrice\" class=\"\">\r\n {{\r\n saleprice!.split(' - ')[0] | ecCurrencySymbol\r\n }}\r\n {{\r\n saleprice!.split(' - ')[1] | ecCurrencySymbol\r\n }}\r\n </div>\r\n </div>\r\n\r\n <!-- S\u00F3lo precio sin oferta -->\r\n <ng-template #onlyPriceBlock>\r\n <div *ngIf=\"hasRange(price); else simplePrice\" class=\"price-onlyPrice\">\r\n {{\r\n price!.split(' - ')[0] | ecCurrencySymbol\r\n }} -\r\n {{\r\n price!.split(' - ')[1] | ecCurrencySymbol\r\n }}\r\n </div>\r\n </ng-template>\r\n\r\n <!-- Fallback simple price -->\r\n <ng-template #simplePrice>\r\n <ng-container *ngIf=\"customSimplePriceTemplate; else fallbackSimplePrice\">\r\n <ng-container *ngTemplateOutlet=\"customSimplePriceTemplate\"></ng-container>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #fallbackSimplePrice>\r\n <del>&nbsp;</del>\r\n <div class=\"price-simplePrice\">\r\n {{ price | ecCurrencySymbol }}\r\n </div>\r\n </ng-template>\r\n\r\n <!-- Fallback simple price-del -->\r\n <ng-template #simplePriceDel>\r\n <div class=\"price-simpleDel\">\r\n <del class=\"\">{{ price | ecCurrencySymbol }}</del>\r\n </div>\r\n </ng-template>\r\n\r\n <!-- Fallback simple saleprice -->\r\n <ng-template #simpleSalePrice>\r\n <ng-container *ngIf=\"customSimpleSalePriceTemplate; else fallbackSimpleSalePrice\">\r\n <ng-container *ngTemplateOutlet=\"customSimpleSalePriceTemplate\"></ng-container>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #fallbackSimpleSalePrice>\r\n <div class=\"price-simpleSaleprice\">\r\n {{ saleprice | ecCurrencySymbol }}\r\n </div>\r\n </ng-template>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- Secci\u00F3n de impuestos -->\r\n<ng-container *ngIf=\"shouldShowTaxes\">\r\n <!-- S\u00F3lo leyenda -->\r\n <ng-container *ngIf=\"showTaxLegendOnly; else detailedTaxBlock\">\r\n <ng-container *ngIf=\"customOnlyTaxLabelTemplate; else defaultOnlyTaxLabel\">\r\n <ng-container *ngTemplateOutlet=\"customOnlyTaxLabelTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-template #defaultOnlyTaxLabel>\r\n <p class=\"taxes-title\">\r\n {{ 'price-without-national-taxes' | translate }}:\r\n {{ basePrice! | ecCurrencySymbol }}\r\n </p>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <!-- Detalle impuestos -->\r\n <ng-template #detailedTaxBlock>\r\n <ng-container *ngIf=\"customTaxTemplate; else defaultTaxBlock\">\r\n <ng-container *ngTemplateOutlet=\"customTaxTemplate\"></ng-container>\r\n </ng-container>\r\n </ng-template>\r\n</ng-container>\r\n\r\n<ng-template #defaultTaxBlock>\r\n <div class=\"taxes-section\">\r\n <p class=\"taxes-title\">\r\n {{ 'price-without-national-taxes' | translate }}:\r\n {{ basePrice! | ecCurrencySymbol }}\r\n </p>\r\n <ul class=\"taxes-list\">\r\n <li>\r\n {{ taxes.Name }}: {{ taxeAmount | ecCurrencySymbol }}\r\n </li>\r\n </ul>\r\n </div>\r\n</ng-template>\r\n}\r\n}", styles: [".price-sm{font-size:13px}.price{font-size:18px}.line-height-custom{line-height:1.2}.lnth{text-decoration:line-through;color:gray}.taxes-section{margin-top:.5rem;border-radius:.5rem;font-size:.95rem;color:#333;line-height:1.4;max-width:400px}.taxes-title{font-weight:500;margin-bottom:.2rem;font-size:.7rem;color:#222}.taxes-list{list-style:none;padding:0;margin:0}.taxes-list li{display:flex;justify-content:space-between;margin-bottom:.1rem;font-size:.65rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: EcCurrencySymbolPipe, name: "ecCurrencySymbol" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] });
7996
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: PriceEcComponent, isStandalone: true, selector: "app-price-ec", inputs: { price: "price", saleprice: "saleprice", basePrice: "basePrice", taxeAmount: "taxeAmount", taxes: "taxes", priceSize: "priceSize", showTaxLegendOnly: "showTaxLegendOnly", disableTaxInfo: "disableTaxInfo", customPriceTemplate: "customPriceTemplate", customSalePriceTemplate: "customSalePriceTemplate", customSimplePriceTemplate: "customSimplePriceTemplate", customSimpleSalePriceTemplate: "customSimpleSalePriceTemplate", customTaxTemplate: "customTaxTemplate", customOnlyTaxLabelTemplate: "customOnlyTaxLabelTemplate" }, ngImport: i0, template: "@if (priceVisibility.canShowPrices()) {\n<ng-container *ngIf=\"customSalePriceTemplate || customPriceTemplate; else defaultPriceBlock\">\n <ng-container *ngTemplateOutlet=\"customSalePriceTemplate || customPriceTemplate\">\n </ng-container>\n</ng-container>\n\n<ng-template #defaultPriceBlock>\n <div class=\"price\">\n <!-- Con precio de oferta -->\n <div *ngIf=\"saleprice; else onlyPriceBlock\" class=\"line-height-custom\">\n\n <!-- Precio original como rango o tachado simple -->\n <div *ngIf=\"hasRange(price); else simplePriceDel\" class=\"price-whithSaleprice\">\n <del class=\"\">\n {{\n price!.split(' - ')[0] | ecCurrencySymbol\n }}\n {{\n price!.split(' - ')[1] | ecCurrencySymbol\n }}\n </del>\n </div>\n\n <!-- Oferta como rango o simple -->\n <div *ngIf=\"hasRange(saleprice); else simpleSalePrice\" class=\"\">\n {{\n saleprice!.split(' - ')[0] | ecCurrencySymbol\n }}\n {{\n saleprice!.split(' - ')[1] | ecCurrencySymbol\n }}\n </div>\n </div>\n\n <!-- S\u00F3lo precio sin oferta -->\n <ng-template #onlyPriceBlock>\n <div *ngIf=\"hasRange(price); else simplePrice\" class=\"price-onlyPrice\">\n {{\n price!.split(' - ')[0] | ecCurrencySymbol\n }} -\n {{\n price!.split(' - ')[1] | ecCurrencySymbol\n }}\n </div>\n </ng-template>\n\n <!-- Fallback simple price -->\n <ng-template #simplePrice>\n <ng-container *ngIf=\"customSimplePriceTemplate; else fallbackSimplePrice\">\n <ng-container *ngTemplateOutlet=\"customSimplePriceTemplate\"></ng-container>\n </ng-container>\n </ng-template>\n <ng-template #fallbackSimplePrice>\n <del>&nbsp;</del>\n <div class=\"price-simplePrice\">\n {{ price | ecCurrencySymbol }}\n </div>\n </ng-template>\n\n <!-- Fallback simple price-del -->\n <ng-template #simplePriceDel>\n <div class=\"price-simpleDel\">\n <del class=\"\">{{ price | ecCurrencySymbol }}</del>\n </div>\n </ng-template>\n\n <!-- Fallback simple saleprice -->\n <ng-template #simpleSalePrice>\n <ng-container *ngIf=\"customSimpleSalePriceTemplate; else fallbackSimpleSalePrice\">\n <ng-container *ngTemplateOutlet=\"customSimpleSalePriceTemplate\"></ng-container>\n </ng-container>\n </ng-template>\n <ng-template #fallbackSimpleSalePrice>\n <div class=\"price-simpleSaleprice\">\n {{ saleprice | ecCurrencySymbol }}\n </div>\n </ng-template>\n </div>\n</ng-template>\n\n<!-- Secci\u00F3n de impuestos -->\n<ng-container *ngIf=\"shouldShowTaxes\">\n <!-- S\u00F3lo leyenda -->\n <ng-container *ngIf=\"showTaxLegendOnly; else detailedTaxBlock\">\n <ng-container *ngIf=\"customOnlyTaxLabelTemplate; else defaultOnlyTaxLabel\">\n <ng-container *ngTemplateOutlet=\"customOnlyTaxLabelTemplate\"></ng-container>\n </ng-container>\n <ng-template #defaultOnlyTaxLabel>\n <p class=\"taxes-title\">\n {{ 'price-without-national-taxes' | translate }}:\n {{ basePrice! | ecCurrencySymbol }}\n </p>\n </ng-template>\n </ng-container>\n\n <!-- Detalle impuestos -->\n <ng-template #detailedTaxBlock>\n <ng-container *ngIf=\"customTaxTemplate; else defaultTaxBlock\">\n <ng-container *ngTemplateOutlet=\"customTaxTemplate\"></ng-container>\n </ng-container>\n </ng-template>\n</ng-container>\n\n<ng-template #defaultTaxBlock>\n <div class=\"taxes-section\">\n <p class=\"taxes-title\">\n {{ 'price-without-national-taxes' | translate }}:\n {{ basePrice! | ecCurrencySymbol }}\n </p>\n <ul class=\"taxes-list\">\n <li>\n {{ taxes.Name }}: {{ taxeAmount | ecCurrencySymbol }}\n </li>\n </ul>\n </div>\n</ng-template>\n}\n", styles: [".price-sm{font-size:13px}.price{font-size:18px}.line-height-custom{line-height:1.2}.lnth{text-decoration:line-through;color:gray}.taxes-section{margin-top:.5rem;border-radius:.5rem;font-size:.95rem;color:#333;line-height:1.4;max-width:400px}.taxes-title{font-weight:500;margin-bottom:.2rem;font-size:.7rem;color:#222}.taxes-list{list-style:none;padding:0;margin:0}.taxes-list li{display:flex;justify-content:space-between;margin-bottom:.1rem;font-size:.65rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: EcCurrencySymbolPipe, name: "ecCurrencySymbol" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] });
7869
7997
  }
7870
7998
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PriceEcComponent, decorators: [{
7871
7999
  type: Component,
7872
- args: [{ selector: 'app-price-ec', standalone: true, imports: [CommonModule, EcCurrencySymbolPipe, TranslateModule], template: "@if(!hidePrices){\r\n@if (!showPricesOnlyToLoggedUsers || logged) {\r\n<ng-container *ngIf=\"customSalePriceTemplate || customPriceTemplate; else defaultPriceBlock\">\r\n <ng-container *ngTemplateOutlet=\"customSalePriceTemplate || customPriceTemplate\">\r\n </ng-container>\r\n</ng-container>\r\n\r\n<ng-template #defaultPriceBlock>\r\n <div class=\"price\">\r\n <!-- Con precio de oferta -->\r\n <div *ngIf=\"saleprice; else onlyPriceBlock\" class=\"line-height-custom\">\r\n\r\n <!-- Precio original como rango o tachado simple -->\r\n <div *ngIf=\"hasRange(price); else simplePriceDel\" class=\"price-whithSaleprice\">\r\n <del class=\"\">\r\n {{\r\n price!.split(' - ')[0] | ecCurrencySymbol\r\n }}\r\n {{\r\n price!.split(' - ')[1] | ecCurrencySymbol\r\n }}\r\n </del>\r\n </div>\r\n\r\n <!-- Oferta como rango o simple -->\r\n <div *ngIf=\"hasRange(saleprice); else simpleSalePrice\" class=\"\">\r\n {{\r\n saleprice!.split(' - ')[0] | ecCurrencySymbol\r\n }}\r\n {{\r\n saleprice!.split(' - ')[1] | ecCurrencySymbol\r\n }}\r\n </div>\r\n </div>\r\n\r\n <!-- S\u00F3lo precio sin oferta -->\r\n <ng-template #onlyPriceBlock>\r\n <div *ngIf=\"hasRange(price); else simplePrice\" class=\"price-onlyPrice\">\r\n {{\r\n price!.split(' - ')[0] | ecCurrencySymbol\r\n }} -\r\n {{\r\n price!.split(' - ')[1] | ecCurrencySymbol\r\n }}\r\n </div>\r\n </ng-template>\r\n\r\n <!-- Fallback simple price -->\r\n <ng-template #simplePrice>\r\n <ng-container *ngIf=\"customSimplePriceTemplate; else fallbackSimplePrice\">\r\n <ng-container *ngTemplateOutlet=\"customSimplePriceTemplate\"></ng-container>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #fallbackSimplePrice>\r\n <del>&nbsp;</del>\r\n <div class=\"price-simplePrice\">\r\n {{ price | ecCurrencySymbol }}\r\n </div>\r\n </ng-template>\r\n\r\n <!-- Fallback simple price-del -->\r\n <ng-template #simplePriceDel>\r\n <div class=\"price-simpleDel\">\r\n <del class=\"\">{{ price | ecCurrencySymbol }}</del>\r\n </div>\r\n </ng-template>\r\n\r\n <!-- Fallback simple saleprice -->\r\n <ng-template #simpleSalePrice>\r\n <ng-container *ngIf=\"customSimpleSalePriceTemplate; else fallbackSimpleSalePrice\">\r\n <ng-container *ngTemplateOutlet=\"customSimpleSalePriceTemplate\"></ng-container>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #fallbackSimpleSalePrice>\r\n <div class=\"price-simpleSaleprice\">\r\n {{ saleprice | ecCurrencySymbol }}\r\n </div>\r\n </ng-template>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- Secci\u00F3n de impuestos -->\r\n<ng-container *ngIf=\"shouldShowTaxes\">\r\n <!-- S\u00F3lo leyenda -->\r\n <ng-container *ngIf=\"showTaxLegendOnly; else detailedTaxBlock\">\r\n <ng-container *ngIf=\"customOnlyTaxLabelTemplate; else defaultOnlyTaxLabel\">\r\n <ng-container *ngTemplateOutlet=\"customOnlyTaxLabelTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-template #defaultOnlyTaxLabel>\r\n <p class=\"taxes-title\">\r\n {{ 'price-without-national-taxes' | translate }}:\r\n {{ basePrice! | ecCurrencySymbol }}\r\n </p>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <!-- Detalle impuestos -->\r\n <ng-template #detailedTaxBlock>\r\n <ng-container *ngIf=\"customTaxTemplate; else defaultTaxBlock\">\r\n <ng-container *ngTemplateOutlet=\"customTaxTemplate\"></ng-container>\r\n </ng-container>\r\n </ng-template>\r\n</ng-container>\r\n\r\n<ng-template #defaultTaxBlock>\r\n <div class=\"taxes-section\">\r\n <p class=\"taxes-title\">\r\n {{ 'price-without-national-taxes' | translate }}:\r\n {{ basePrice! | ecCurrencySymbol }}\r\n </p>\r\n <ul class=\"taxes-list\">\r\n <li>\r\n {{ taxes.Name }}: {{ taxeAmount | ecCurrencySymbol }}\r\n </li>\r\n </ul>\r\n </div>\r\n</ng-template>\r\n}\r\n}", styles: [".price-sm{font-size:13px}.price{font-size:18px}.line-height-custom{line-height:1.2}.lnth{text-decoration:line-through;color:gray}.taxes-section{margin-top:.5rem;border-radius:.5rem;font-size:.95rem;color:#333;line-height:1.4;max-width:400px}.taxes-title{font-weight:500;margin-bottom:.2rem;font-size:.7rem;color:#222}.taxes-list{list-style:none;padding:0;margin:0}.taxes-list li{display:flex;justify-content:space-between;margin-bottom:.1rem;font-size:.65rem}\n"] }]
8000
+ args: [{ selector: 'app-price-ec', standalone: true, imports: [CommonModule, EcCurrencySymbolPipe, TranslateModule], template: "@if (priceVisibility.canShowPrices()) {\n<ng-container *ngIf=\"customSalePriceTemplate || customPriceTemplate; else defaultPriceBlock\">\n <ng-container *ngTemplateOutlet=\"customSalePriceTemplate || customPriceTemplate\">\n </ng-container>\n</ng-container>\n\n<ng-template #defaultPriceBlock>\n <div class=\"price\">\n <!-- Con precio de oferta -->\n <div *ngIf=\"saleprice; else onlyPriceBlock\" class=\"line-height-custom\">\n\n <!-- Precio original como rango o tachado simple -->\n <div *ngIf=\"hasRange(price); else simplePriceDel\" class=\"price-whithSaleprice\">\n <del class=\"\">\n {{\n price!.split(' - ')[0] | ecCurrencySymbol\n }}\n {{\n price!.split(' - ')[1] | ecCurrencySymbol\n }}\n </del>\n </div>\n\n <!-- Oferta como rango o simple -->\n <div *ngIf=\"hasRange(saleprice); else simpleSalePrice\" class=\"\">\n {{\n saleprice!.split(' - ')[0] | ecCurrencySymbol\n }}\n {{\n saleprice!.split(' - ')[1] | ecCurrencySymbol\n }}\n </div>\n </div>\n\n <!-- S\u00F3lo precio sin oferta -->\n <ng-template #onlyPriceBlock>\n <div *ngIf=\"hasRange(price); else simplePrice\" class=\"price-onlyPrice\">\n {{\n price!.split(' - ')[0] | ecCurrencySymbol\n }} -\n {{\n price!.split(' - ')[1] | ecCurrencySymbol\n }}\n </div>\n </ng-template>\n\n <!-- Fallback simple price -->\n <ng-template #simplePrice>\n <ng-container *ngIf=\"customSimplePriceTemplate; else fallbackSimplePrice\">\n <ng-container *ngTemplateOutlet=\"customSimplePriceTemplate\"></ng-container>\n </ng-container>\n </ng-template>\n <ng-template #fallbackSimplePrice>\n <del>&nbsp;</del>\n <div class=\"price-simplePrice\">\n {{ price | ecCurrencySymbol }}\n </div>\n </ng-template>\n\n <!-- Fallback simple price-del -->\n <ng-template #simplePriceDel>\n <div class=\"price-simpleDel\">\n <del class=\"\">{{ price | ecCurrencySymbol }}</del>\n </div>\n </ng-template>\n\n <!-- Fallback simple saleprice -->\n <ng-template #simpleSalePrice>\n <ng-container *ngIf=\"customSimpleSalePriceTemplate; else fallbackSimpleSalePrice\">\n <ng-container *ngTemplateOutlet=\"customSimpleSalePriceTemplate\"></ng-container>\n </ng-container>\n </ng-template>\n <ng-template #fallbackSimpleSalePrice>\n <div class=\"price-simpleSaleprice\">\n {{ saleprice | ecCurrencySymbol }}\n </div>\n </ng-template>\n </div>\n</ng-template>\n\n<!-- Secci\u00F3n de impuestos -->\n<ng-container *ngIf=\"shouldShowTaxes\">\n <!-- S\u00F3lo leyenda -->\n <ng-container *ngIf=\"showTaxLegendOnly; else detailedTaxBlock\">\n <ng-container *ngIf=\"customOnlyTaxLabelTemplate; else defaultOnlyTaxLabel\">\n <ng-container *ngTemplateOutlet=\"customOnlyTaxLabelTemplate\"></ng-container>\n </ng-container>\n <ng-template #defaultOnlyTaxLabel>\n <p class=\"taxes-title\">\n {{ 'price-without-national-taxes' | translate }}:\n {{ basePrice! | ecCurrencySymbol }}\n </p>\n </ng-template>\n </ng-container>\n\n <!-- Detalle impuestos -->\n <ng-template #detailedTaxBlock>\n <ng-container *ngIf=\"customTaxTemplate; else defaultTaxBlock\">\n <ng-container *ngTemplateOutlet=\"customTaxTemplate\"></ng-container>\n </ng-container>\n </ng-template>\n</ng-container>\n\n<ng-template #defaultTaxBlock>\n <div class=\"taxes-section\">\n <p class=\"taxes-title\">\n {{ 'price-without-national-taxes' | translate }}:\n {{ basePrice! | ecCurrencySymbol }}\n </p>\n <ul class=\"taxes-list\">\n <li>\n {{ taxes.Name }}: {{ taxeAmount | ecCurrencySymbol }}\n </li>\n </ul>\n </div>\n</ng-template>\n}\n", styles: [".price-sm{font-size:13px}.price{font-size:18px}.line-height-custom{line-height:1.2}.lnth{text-decoration:line-through;color:gray}.taxes-section{margin-top:.5rem;border-radius:.5rem;font-size:.95rem;color:#333;line-height:1.4;max-width:400px}.taxes-title{font-weight:500;margin-bottom:.2rem;font-size:.7rem;color:#222}.taxes-list{list-style:none;padding:0;margin:0}.taxes-list li{display:flex;justify-content:space-between;margin-bottom:.1rem;font-size:.65rem}\n"] }]
7873
8001
  }], propDecorators: { price: [{
7874
8002
  type: Input
7875
8003
  }], saleprice: [{
@@ -8117,11 +8245,11 @@ class ProductEcComponent {
8117
8245
  }
8118
8246
  }
8119
8247
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8120
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ProductEcComponent, isStandalone: true, selector: "app-product-ec", inputs: { product: "product", isProductBox: "isProductBox", isCollection: "isCollection" }, outputs: { loaded: "loaded" }, ngImport: i0, template: "<a [routerLink]=\"['/product', product.id]\" class=\"text-decoration-none producto\">\r\n <!-- Marca especial y descuento -->\r\n <!-- <div *ngIf=\"product.saleprice || (product.special_mark && product.special_mark !== null && product.special_mark !== undefined && product.special_mark.length >0)\"\r\n class=\"marcas\">\r\n <div *ecProductStock=\"product\" [ecProductMini]=\"product.special_mark\"></div>\r\n <ng-container *ngIf=\"shouldShowPrice\">\r\n <div *ecProductStock=\"product\" [ngClass]=\"{'tag-dsc float-right': product.saleprice}\"\r\n [ecProductOff]=\"product\">\r\n </div>\r\n </ng-container>\r\n </div> -->\r\n\r\n <!-- Imagen del producto -->\r\n <div class=\"foto\">\r\n @if(product.picturesdefault){\r\n @if (product.picturesdefault && product.picturesdefault.length > 1 ) {\r\n <img [src]=\"mediaUrl + product.picturesdefault[0]\" alt=\"Imagen principal\" class=\"w-100 pic01\" />\r\n <img [src]=\"mediaUrl + product.picturesdefault[1]\" alt=\"Imagen secundaria\" class=\"w-100 pic02\" />\r\n } @else {\r\n <img [src]=\"mediaUrl + product.picturesdefault[0]\" alt=\"Imagen principal\" class=\"w-100 pic01\" />\r\n }\r\n }\r\n </div>\r\n <!-- Precio -->\r\n\r\n\r\n <!-- Nombre del producto -->\r\n <h6 class=\"title\">{{ product.name | titlecase }}</h6>\r\n\r\n <div class=\"sku\" [innerHTML]=\"product.shortdetails\"></div>\r\n\r\n @if (shouldShowPrice) {\r\n <app-price-ec [price]=\"product.price\" [saleprice]=\"product.saleprice\" class=\"\" />\r\n }\r\n @if(!hidePrices){\r\n @if(!showPricesOnlyToLoggedUsers || isAuthenticated$){\r\n\r\n <div class=\"fixBottom\">\r\n\r\n <!-- Bot\u00F3n de acciones -->\r\n <!-- <ng-container *ecProductStock=\"product; else noStock\"> -->\r\n <!-- Cuando no tiene marca especial o es de tipo 'standard' -->\r\n @if (!product.special_mark || product.special_mark.length === 0 || product.special_mark[0]?.type ===\r\n 'standard') {\r\n <button class=\"btn standard\" [ngClass]=\"isCollection ? 'px-2 w-100 d-sm-block' : 'py-2 px-4'\">\r\n <ng-container *ngIf=\"isCollection; else normalText\">\r\n <span> {{(\"buy\" | translate) | uppercase}} </span>\r\n </ng-container>\r\n <ng-template #normalText>\r\n {{(\"buy\" | translate) | uppercase}}\r\n </ng-template>\r\n </button>\r\n }@else {\r\n <!-- Caso 1: Agotado o Disponible muy pronto -->\r\n @if (product.special_mark[0]?.type === 'out_of_stock' || product.special_mark[0]?.type === 'coming_soon') {\r\n <button class=\"btn\" [ngClass]=\"isCollection ? 'px-2 w-100 d-sm-block' : 'py-2 px-4'\">\r\n @if(isCollection){\r\n <span>{{ product.special_mark[0].name | uppercase }} </span>\r\n }@else {\r\n {{ product.special_mark[0]?.name | uppercase }}\r\n }\r\n </button>}\r\n <!-- Caso 2: Contacto por WhatsApp -->\r\n @if (product.special_mark[0].type === 'whatsapp_contact') {\r\n <button class=\"btn\" [ngClass]=\"isCollection ? 'px-2 w-100 d-sm-block' : 'py-2 px-4'\"\r\n (click)=\"openWhatsApp(product.special_mark[0]?.whatsappContact)\">\r\n @if(isCollection){\r\n <span>{{ product.special_mark[0]?.name | uppercase }}</span>\r\n }@else {\r\n {{ product.special_mark[0]?.name | uppercase }}\r\n }\r\n\r\n </button>\r\n }\r\n <!-- Caso 3: Solicitar m\u00E1s informaci\u00F3n -->\r\n @if (product.special_mark[0]?.type === 'more_info') {\r\n <button class=\"btn\" [ngClass]=\"isCollection ? 'px-2 w-100 d-sm-block' : 'py-2 px-4'\">\r\n @if(isCollection){\r\n <span>{{ product.special_mark[0]?.name | uppercase }}</span>\r\n }@else {\r\n {{ product.special_mark[0]?.name | uppercase }}\r\n }\r\n </button>\r\n }\r\n }\r\n </div>\r\n }}\r\n</a>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i1$1.TitleCasePipe, name: "titlecase" }, { kind: "component", type: PriceEcComponent, selector: "app-price-ec", inputs: ["price", "saleprice", "basePrice", "taxeAmount", "taxes", "priceSize", "showTaxLegendOnly", "disableTaxInfo", "customPriceTemplate", "customSalePriceTemplate", "customSimplePriceTemplate", "customSimpleSalePriceTemplate", "customTaxTemplate", "customOnlyTaxLabelTemplate"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormsModule }] });
8248
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ProductEcComponent, isStandalone: true, selector: "app-product-ec", inputs: { product: "product", isProductBox: "isProductBox", isCollection: "isCollection" }, outputs: { loaded: "loaded" }, ngImport: i0, template: "<a [routerLink]=\"['/product', product.id]\" class=\"text-decoration-none producto\">\n <!-- Marca especial y descuento -->\n <!-- <div *ngIf=\"product.saleprice || (product.special_mark && product.special_mark !== null && product.special_mark !== undefined && product.special_mark.length >0)\"\n class=\"marcas\">\n <div *ecProductStock=\"product\" [ecProductMini]=\"product.special_mark\"></div>\n <ng-container *ngIf=\"shouldShowPrice\">\n <div *ecProductStock=\"product\" [ngClass]=\"{'tag-dsc float-right': product.saleprice}\"\n [ecProductOff]=\"product\">\n </div>\n </ng-container>\n </div> -->\n\n <!-- Imagen del producto -->\n <div class=\"foto\">\n @if(product.picturesdefault){\n @if (product.picturesdefault && product.picturesdefault.length > 1 ) {\n <img [src]=\"mediaUrl + product.picturesdefault[0]\" alt=\"Imagen principal\" class=\"w-100 pic01\" />\n <img [src]=\"mediaUrl + product.picturesdefault[1]\" alt=\"Imagen secundaria\" class=\"w-100 pic02\" />\n } @else {\n <img [src]=\"mediaUrl + product.picturesdefault[0]\" alt=\"Imagen principal\" class=\"w-100 pic01\" />\n }\n }\n </div>\n <!-- Precio -->\n\n\n <!-- Nombre del producto -->\n <h6 class=\"title\">{{ product.name | titlecase }}</h6>\n\n <div class=\"sku\" [innerHTML]=\"product.shortdetails\"></div>\n\n @if (shouldShowPrice) {\n <app-price-ec [price]=\"product.price\" [saleprice]=\"product.saleprice\" class=\"\" />\n }\n @if(!hidePrices){\n @if(!showPricesOnlyToLoggedUsers || isAuthenticated$){\n\n <div class=\"fixBottom\">\n\n <!-- Bot\u00F3n de acciones -->\n <!-- <ng-container *ecProductStock=\"product; else noStock\"> -->\n <!-- Cuando no tiene marca especial o es de tipo 'standard' -->\n @if (!product.special_mark || product.special_mark.length === 0 || product.special_mark[0]?.type ===\n 'standard') {\n <button class=\"btn standard\" [ngClass]=\"isCollection ? 'px-2 w-100 d-sm-block' : 'py-2 px-4'\">\n <ng-container *ngIf=\"isCollection; else normalText\">\n <span> {{(\"buy\" | translate) | uppercase}} </span>\n </ng-container>\n <ng-template #normalText>\n {{(\"buy\" | translate) | uppercase}}\n </ng-template>\n </button>\n }@else {\n <!-- Caso 1: Agotado o Disponible muy pronto -->\n @if (product.special_mark[0]?.type === 'out_of_stock' || product.special_mark[0]?.type === 'coming_soon') {\n <button class=\"btn\" [ngClass]=\"isCollection ? 'px-2 w-100 d-sm-block' : 'py-2 px-4'\">\n @if(isCollection){\n <span>{{ product.special_mark[0].name | uppercase }} </span>\n }@else {\n {{ product.special_mark[0]?.name | uppercase }}\n }\n </button>}\n <!-- Caso 2: Contacto por WhatsApp -->\n @if (product.special_mark[0].type === 'whatsapp_contact') {\n <button class=\"btn\" [ngClass]=\"isCollection ? 'px-2 w-100 d-sm-block' : 'py-2 px-4'\"\n (click)=\"openWhatsApp(product.special_mark[0]?.whatsappContact)\">\n @if(isCollection){\n <span>{{ product.special_mark[0]?.name | uppercase }}</span>\n }@else {\n {{ product.special_mark[0]?.name | uppercase }}\n }\n\n </button>\n }\n <!-- Caso 3: Solicitar m\u00E1s informaci\u00F3n -->\n @if (product.special_mark[0]?.type === 'more_info') {\n <button class=\"btn\" [ngClass]=\"isCollection ? 'px-2 w-100 d-sm-block' : 'py-2 px-4'\">\n @if(isCollection){\n <span>{{ product.special_mark[0]?.name | uppercase }}</span>\n }@else {\n {{ product.special_mark[0]?.name | uppercase }}\n }\n </button>\n }\n }\n </div>\n }}\n</a>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i1$1.TitleCasePipe, name: "titlecase" }, { kind: "component", type: PriceEcComponent, selector: "app-price-ec", inputs: ["price", "saleprice", "basePrice", "taxeAmount", "taxes", "priceSize", "showTaxLegendOnly", "disableTaxInfo", "customPriceTemplate", "customSalePriceTemplate", "customSimplePriceTemplate", "customSimpleSalePriceTemplate", "customTaxTemplate", "customOnlyTaxLabelTemplate"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormsModule }] });
8121
8249
  }
8122
8250
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductEcComponent, decorators: [{
8123
8251
  type: Component,
8124
- args: [{ selector: 'app-product-ec', standalone: true, imports: [CommonModule, PriceEcComponent, RouterLink, TranslateModule, FormsModule], template: "<a [routerLink]=\"['/product', product.id]\" class=\"text-decoration-none producto\">\r\n <!-- Marca especial y descuento -->\r\n <!-- <div *ngIf=\"product.saleprice || (product.special_mark && product.special_mark !== null && product.special_mark !== undefined && product.special_mark.length >0)\"\r\n class=\"marcas\">\r\n <div *ecProductStock=\"product\" [ecProductMini]=\"product.special_mark\"></div>\r\n <ng-container *ngIf=\"shouldShowPrice\">\r\n <div *ecProductStock=\"product\" [ngClass]=\"{'tag-dsc float-right': product.saleprice}\"\r\n [ecProductOff]=\"product\">\r\n </div>\r\n </ng-container>\r\n </div> -->\r\n\r\n <!-- Imagen del producto -->\r\n <div class=\"foto\">\r\n @if(product.picturesdefault){\r\n @if (product.picturesdefault && product.picturesdefault.length > 1 ) {\r\n <img [src]=\"mediaUrl + product.picturesdefault[0]\" alt=\"Imagen principal\" class=\"w-100 pic01\" />\r\n <img [src]=\"mediaUrl + product.picturesdefault[1]\" alt=\"Imagen secundaria\" class=\"w-100 pic02\" />\r\n } @else {\r\n <img [src]=\"mediaUrl + product.picturesdefault[0]\" alt=\"Imagen principal\" class=\"w-100 pic01\" />\r\n }\r\n }\r\n </div>\r\n <!-- Precio -->\r\n\r\n\r\n <!-- Nombre del producto -->\r\n <h6 class=\"title\">{{ product.name | titlecase }}</h6>\r\n\r\n <div class=\"sku\" [innerHTML]=\"product.shortdetails\"></div>\r\n\r\n @if (shouldShowPrice) {\r\n <app-price-ec [price]=\"product.price\" [saleprice]=\"product.saleprice\" class=\"\" />\r\n }\r\n @if(!hidePrices){\r\n @if(!showPricesOnlyToLoggedUsers || isAuthenticated$){\r\n\r\n <div class=\"fixBottom\">\r\n\r\n <!-- Bot\u00F3n de acciones -->\r\n <!-- <ng-container *ecProductStock=\"product; else noStock\"> -->\r\n <!-- Cuando no tiene marca especial o es de tipo 'standard' -->\r\n @if (!product.special_mark || product.special_mark.length === 0 || product.special_mark[0]?.type ===\r\n 'standard') {\r\n <button class=\"btn standard\" [ngClass]=\"isCollection ? 'px-2 w-100 d-sm-block' : 'py-2 px-4'\">\r\n <ng-container *ngIf=\"isCollection; else normalText\">\r\n <span> {{(\"buy\" | translate) | uppercase}} </span>\r\n </ng-container>\r\n <ng-template #normalText>\r\n {{(\"buy\" | translate) | uppercase}}\r\n </ng-template>\r\n </button>\r\n }@else {\r\n <!-- Caso 1: Agotado o Disponible muy pronto -->\r\n @if (product.special_mark[0]?.type === 'out_of_stock' || product.special_mark[0]?.type === 'coming_soon') {\r\n <button class=\"btn\" [ngClass]=\"isCollection ? 'px-2 w-100 d-sm-block' : 'py-2 px-4'\">\r\n @if(isCollection){\r\n <span>{{ product.special_mark[0].name | uppercase }} </span>\r\n }@else {\r\n {{ product.special_mark[0]?.name | uppercase }}\r\n }\r\n </button>}\r\n <!-- Caso 2: Contacto por WhatsApp -->\r\n @if (product.special_mark[0].type === 'whatsapp_contact') {\r\n <button class=\"btn\" [ngClass]=\"isCollection ? 'px-2 w-100 d-sm-block' : 'py-2 px-4'\"\r\n (click)=\"openWhatsApp(product.special_mark[0]?.whatsappContact)\">\r\n @if(isCollection){\r\n <span>{{ product.special_mark[0]?.name | uppercase }}</span>\r\n }@else {\r\n {{ product.special_mark[0]?.name | uppercase }}\r\n }\r\n\r\n </button>\r\n }\r\n <!-- Caso 3: Solicitar m\u00E1s informaci\u00F3n -->\r\n @if (product.special_mark[0]?.type === 'more_info') {\r\n <button class=\"btn\" [ngClass]=\"isCollection ? 'px-2 w-100 d-sm-block' : 'py-2 px-4'\">\r\n @if(isCollection){\r\n <span>{{ product.special_mark[0]?.name | uppercase }}</span>\r\n }@else {\r\n {{ product.special_mark[0]?.name | uppercase }}\r\n }\r\n </button>\r\n }\r\n }\r\n </div>\r\n }}\r\n</a>" }]
8252
+ args: [{ selector: 'app-product-ec', standalone: true, imports: [CommonModule, PriceEcComponent, RouterLink, TranslateModule, FormsModule], template: "<a [routerLink]=\"['/product', product.id]\" class=\"text-decoration-none producto\">\n <!-- Marca especial y descuento -->\n <!-- <div *ngIf=\"product.saleprice || (product.special_mark && product.special_mark !== null && product.special_mark !== undefined && product.special_mark.length >0)\"\n class=\"marcas\">\n <div *ecProductStock=\"product\" [ecProductMini]=\"product.special_mark\"></div>\n <ng-container *ngIf=\"shouldShowPrice\">\n <div *ecProductStock=\"product\" [ngClass]=\"{'tag-dsc float-right': product.saleprice}\"\n [ecProductOff]=\"product\">\n </div>\n </ng-container>\n </div> -->\n\n <!-- Imagen del producto -->\n <div class=\"foto\">\n @if(product.picturesdefault){\n @if (product.picturesdefault && product.picturesdefault.length > 1 ) {\n <img [src]=\"mediaUrl + product.picturesdefault[0]\" alt=\"Imagen principal\" class=\"w-100 pic01\" />\n <img [src]=\"mediaUrl + product.picturesdefault[1]\" alt=\"Imagen secundaria\" class=\"w-100 pic02\" />\n } @else {\n <img [src]=\"mediaUrl + product.picturesdefault[0]\" alt=\"Imagen principal\" class=\"w-100 pic01\" />\n }\n }\n </div>\n <!-- Precio -->\n\n\n <!-- Nombre del producto -->\n <h6 class=\"title\">{{ product.name | titlecase }}</h6>\n\n <div class=\"sku\" [innerHTML]=\"product.shortdetails\"></div>\n\n @if (shouldShowPrice) {\n <app-price-ec [price]=\"product.price\" [saleprice]=\"product.saleprice\" class=\"\" />\n }\n @if(!hidePrices){\n @if(!showPricesOnlyToLoggedUsers || isAuthenticated$){\n\n <div class=\"fixBottom\">\n\n <!-- Bot\u00F3n de acciones -->\n <!-- <ng-container *ecProductStock=\"product; else noStock\"> -->\n <!-- Cuando no tiene marca especial o es de tipo 'standard' -->\n @if (!product.special_mark || product.special_mark.length === 0 || product.special_mark[0]?.type ===\n 'standard') {\n <button class=\"btn standard\" [ngClass]=\"isCollection ? 'px-2 w-100 d-sm-block' : 'py-2 px-4'\">\n <ng-container *ngIf=\"isCollection; else normalText\">\n <span> {{(\"buy\" | translate) | uppercase}} </span>\n </ng-container>\n <ng-template #normalText>\n {{(\"buy\" | translate) | uppercase}}\n </ng-template>\n </button>\n }@else {\n <!-- Caso 1: Agotado o Disponible muy pronto -->\n @if (product.special_mark[0]?.type === 'out_of_stock' || product.special_mark[0]?.type === 'coming_soon') {\n <button class=\"btn\" [ngClass]=\"isCollection ? 'px-2 w-100 d-sm-block' : 'py-2 px-4'\">\n @if(isCollection){\n <span>{{ product.special_mark[0].name | uppercase }} </span>\n }@else {\n {{ product.special_mark[0]?.name | uppercase }}\n }\n </button>}\n <!-- Caso 2: Contacto por WhatsApp -->\n @if (product.special_mark[0].type === 'whatsapp_contact') {\n <button class=\"btn\" [ngClass]=\"isCollection ? 'px-2 w-100 d-sm-block' : 'py-2 px-4'\"\n (click)=\"openWhatsApp(product.special_mark[0]?.whatsappContact)\">\n @if(isCollection){\n <span>{{ product.special_mark[0]?.name | uppercase }}</span>\n }@else {\n {{ product.special_mark[0]?.name | uppercase }}\n }\n\n </button>\n }\n <!-- Caso 3: Solicitar m\u00E1s informaci\u00F3n -->\n @if (product.special_mark[0]?.type === 'more_info') {\n <button class=\"btn\" [ngClass]=\"isCollection ? 'px-2 w-100 d-sm-block' : 'py-2 px-4'\">\n @if(isCollection){\n <span>{{ product.special_mark[0]?.name | uppercase }}</span>\n }@else {\n {{ product.special_mark[0]?.name | uppercase }}\n }\n </button>\n }\n }\n </div>\n }}\n</a>" }]
8125
8253
  }], ctorParameters: () => [], propDecorators: { product: [{
8126
8254
  type: Input,
8127
8255
  args: [{
@@ -8323,11 +8451,11 @@ class BlockProductsEcComponent extends BlockEcComponent {
8323
8451
  });
8324
8452
  }
8325
8453
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BlockProductsEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8326
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BlockProductsEcComponent, isStandalone: true, selector: "app-block-products-ec", inputs: { prevArrowImage: "prevArrowImage", nextArrowImage: "nextArrowImage", prevArrowText: "prevArrowText", nextArrowText: "nextArrowText", appProduct: "appProduct", products: "products", meta: "meta" }, usesInheritance: true, ngImport: i0, template: "<section [ngClass]=\"trimClassBlock(meta.code) + ' container-fluid'\">\r\n\r\n <div class=\"blockProduct block-product\">\r\n @if(meta.name){\r\n <div class=\"row\">\r\n <div class=\"col-12 mt-4\">\r\n <h2 class=\"font-weight-normal font-gd\">\r\n <span>{{meta.name}}</span>\r\n </h2>\r\n </div>\r\n </div>\r\n }\r\n\r\n\r\n @if(meta.styles && meta.styles.carrousel == false){\r\n <div class=\"row \">\r\n @for (product of products; track $index) {\r\n <div [class]=\"'item '+ ' col-'+ (meta.styles.items?.sm) + ' col-md-' + (meta.styles.items?.md) + ' col-lg-' + (meta.styles.items?.lg) + ' px-2'\" [id]=\"$index\">\r\n <!-- verifica que si vienen un template para un custom appProduct llamado \"appProduct\" con un objeto \"product\"- sino usa por defecto el del core -->\r\n <ng-container *ngTemplateOutlet=\"appProduct ? appProduct : defaultAppProduct; context: {product:product}\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"container position-relative\">\r\n <swiper-container \r\n init=\"false\" \r\n [id]=\"meta?.code\"\r\n slides-per-view=\"auto\"\r\n space-between=\"16\"\r\n slides-per-group=\"1\"\r\n navigation=\"false\"\r\n pagination=\"false\"\r\n loop=\"false\">\r\n @for (product of products; track $index) {\r\n <swiper-slide id=\"swiper-slide\">\r\n <ng-container\r\n *ngTemplateOutlet=\"appProduct ? appProduct : defaultAppProduct; context: {product:product}\"></ng-container>\r\n </swiper-slide>\r\n }\r\n </swiper-container>\r\n \r\n <!-- Botones de navegaci\u00F3n personalizados -->\r\n <div class=\"swiper-navigation\">\r\n <div class=\"swiper-button-prev\" [id]=\"meta?.code + '-prev'\">\r\n @if(prevArrowImage) {\r\n <img [src]=\"prevArrowImage\" alt=\"Anterior\" />\r\n } @else {\r\n <span class=\"arrow-text\">{{prevArrowText}}</span>\r\n }\r\n </div>\r\n <div class=\"swiper-button-next\" [id]=\"meta?.code + '-next'\">\r\n @if(nextArrowImage) {\r\n <img [src]=\"nextArrowImage\" alt=\"Siguiente\" />\r\n } @else {\r\n <span class=\"arrow-text\">{{nextArrowText}}</span>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</section>\r\n\r\n\r\n<!-- componente por defecto (tomara como producto el contexto pasado como \"product\") -->\r\n<ng-template #defaultAppProduct let-product=\"product\">\r\n <app-product-ec [product]=\"product\"></app-product-ec>\r\n</ng-template>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ProductEcComponent, selector: "app-product-ec", inputs: ["product", "isProductBox", "isCollection"], outputs: ["loaded"] }] });
8454
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BlockProductsEcComponent, isStandalone: true, selector: "app-block-products-ec", inputs: { prevArrowImage: "prevArrowImage", nextArrowImage: "nextArrowImage", prevArrowText: "prevArrowText", nextArrowText: "nextArrowText", appProduct: "appProduct", products: "products", meta: "meta" }, usesInheritance: true, ngImport: i0, template: "<section [ngClass]=\"trimClassBlock(meta.code) + ' container-fluid'\">\n\n <div class=\"blockProduct block-product\">\n @if(meta.name){\n <div class=\"row\">\n <div class=\"col-12 mt-4\">\n <h2 class=\"font-weight-normal font-gd\">\n <span>{{meta.name}}</span>\n </h2>\n </div>\n </div>\n }\n\n\n @if(meta.styles && meta.styles.carrousel == false){\n <div class=\"row \">\n @for (product of products; track $index) {\n <div [class]=\"'item '+ ' col-'+ (meta.styles.items?.sm) + ' col-md-' + (meta.styles.items?.md) + ' col-lg-' + (meta.styles.items?.lg) + ' px-2'\" [id]=\"$index\">\n <!-- verifica que si vienen un template para un custom appProduct llamado \"appProduct\" con un objeto \"product\"- sino usa por defecto el del core -->\n <ng-container *ngTemplateOutlet=\"appProduct ? appProduct : defaultAppProduct; context: {product:product}\"></ng-container>\n </div>\n }\n </div>\n } @else {\n <div class=\"container position-relative\">\n <swiper-container \n init=\"false\" \n [id]=\"meta?.code\"\n slides-per-view=\"auto\"\n space-between=\"16\"\n slides-per-group=\"1\"\n navigation=\"false\"\n pagination=\"false\"\n loop=\"false\">\n @for (product of products; track $index) {\n <swiper-slide id=\"swiper-slide\">\n <ng-container\n *ngTemplateOutlet=\"appProduct ? appProduct : defaultAppProduct; context: {product:product}\"></ng-container>\n </swiper-slide>\n }\n </swiper-container>\n \n <!-- Botones de navegaci\u00F3n personalizados -->\n <div class=\"swiper-navigation\">\n <div class=\"swiper-button-prev\" [id]=\"meta?.code + '-prev'\">\n @if(prevArrowImage) {\n <img [src]=\"prevArrowImage\" alt=\"Anterior\" />\n } @else {\n <span class=\"arrow-text\">{{prevArrowText}}</span>\n }\n </div>\n <div class=\"swiper-button-next\" [id]=\"meta?.code + '-next'\">\n @if(nextArrowImage) {\n <img [src]=\"nextArrowImage\" alt=\"Siguiente\" />\n } @else {\n <span class=\"arrow-text\">{{nextArrowText}}</span>\n }\n </div>\n </div>\n </div>\n }\n </div>\n</section>\n\n\n<!-- componente por defecto (tomara como producto el contexto pasado como \"product\") -->\n<ng-template #defaultAppProduct let-product=\"product\">\n <app-product-ec [product]=\"product\"></app-product-ec>\n</ng-template>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ProductEcComponent, selector: "app-product-ec", inputs: ["product", "isProductBox", "isCollection"], outputs: ["loaded"] }] });
8327
8455
  }
8328
8456
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BlockProductsEcComponent, decorators: [{
8329
8457
  type: Component,
8330
- args: [{ selector: 'app-block-products-ec', standalone: true, imports: [CommonModule, ProductEcComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<section [ngClass]=\"trimClassBlock(meta.code) + ' container-fluid'\">\r\n\r\n <div class=\"blockProduct block-product\">\r\n @if(meta.name){\r\n <div class=\"row\">\r\n <div class=\"col-12 mt-4\">\r\n <h2 class=\"font-weight-normal font-gd\">\r\n <span>{{meta.name}}</span>\r\n </h2>\r\n </div>\r\n </div>\r\n }\r\n\r\n\r\n @if(meta.styles && meta.styles.carrousel == false){\r\n <div class=\"row \">\r\n @for (product of products; track $index) {\r\n <div [class]=\"'item '+ ' col-'+ (meta.styles.items?.sm) + ' col-md-' + (meta.styles.items?.md) + ' col-lg-' + (meta.styles.items?.lg) + ' px-2'\" [id]=\"$index\">\r\n <!-- verifica que si vienen un template para un custom appProduct llamado \"appProduct\" con un objeto \"product\"- sino usa por defecto el del core -->\r\n <ng-container *ngTemplateOutlet=\"appProduct ? appProduct : defaultAppProduct; context: {product:product}\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"container position-relative\">\r\n <swiper-container \r\n init=\"false\" \r\n [id]=\"meta?.code\"\r\n slides-per-view=\"auto\"\r\n space-between=\"16\"\r\n slides-per-group=\"1\"\r\n navigation=\"false\"\r\n pagination=\"false\"\r\n loop=\"false\">\r\n @for (product of products; track $index) {\r\n <swiper-slide id=\"swiper-slide\">\r\n <ng-container\r\n *ngTemplateOutlet=\"appProduct ? appProduct : defaultAppProduct; context: {product:product}\"></ng-container>\r\n </swiper-slide>\r\n }\r\n </swiper-container>\r\n \r\n <!-- Botones de navegaci\u00F3n personalizados -->\r\n <div class=\"swiper-navigation\">\r\n <div class=\"swiper-button-prev\" [id]=\"meta?.code + '-prev'\">\r\n @if(prevArrowImage) {\r\n <img [src]=\"prevArrowImage\" alt=\"Anterior\" />\r\n } @else {\r\n <span class=\"arrow-text\">{{prevArrowText}}</span>\r\n }\r\n </div>\r\n <div class=\"swiper-button-next\" [id]=\"meta?.code + '-next'\">\r\n @if(nextArrowImage) {\r\n <img [src]=\"nextArrowImage\" alt=\"Siguiente\" />\r\n } @else {\r\n <span class=\"arrow-text\">{{nextArrowText}}</span>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</section>\r\n\r\n\r\n<!-- componente por defecto (tomara como producto el contexto pasado como \"product\") -->\r\n<ng-template #defaultAppProduct let-product=\"product\">\r\n <app-product-ec [product]=\"product\"></app-product-ec>\r\n</ng-template>" }]
8458
+ args: [{ selector: 'app-block-products-ec', standalone: true, imports: [CommonModule, ProductEcComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<section [ngClass]=\"trimClassBlock(meta.code) + ' container-fluid'\">\n\n <div class=\"blockProduct block-product\">\n @if(meta.name){\n <div class=\"row\">\n <div class=\"col-12 mt-4\">\n <h2 class=\"font-weight-normal font-gd\">\n <span>{{meta.name}}</span>\n </h2>\n </div>\n </div>\n }\n\n\n @if(meta.styles && meta.styles.carrousel == false){\n <div class=\"row \">\n @for (product of products; track $index) {\n <div [class]=\"'item '+ ' col-'+ (meta.styles.items?.sm) + ' col-md-' + (meta.styles.items?.md) + ' col-lg-' + (meta.styles.items?.lg) + ' px-2'\" [id]=\"$index\">\n <!-- verifica que si vienen un template para un custom appProduct llamado \"appProduct\" con un objeto \"product\"- sino usa por defecto el del core -->\n <ng-container *ngTemplateOutlet=\"appProduct ? appProduct : defaultAppProduct; context: {product:product}\"></ng-container>\n </div>\n }\n </div>\n } @else {\n <div class=\"container position-relative\">\n <swiper-container \n init=\"false\" \n [id]=\"meta?.code\"\n slides-per-view=\"auto\"\n space-between=\"16\"\n slides-per-group=\"1\"\n navigation=\"false\"\n pagination=\"false\"\n loop=\"false\">\n @for (product of products; track $index) {\n <swiper-slide id=\"swiper-slide\">\n <ng-container\n *ngTemplateOutlet=\"appProduct ? appProduct : defaultAppProduct; context: {product:product}\"></ng-container>\n </swiper-slide>\n }\n </swiper-container>\n \n <!-- Botones de navegaci\u00F3n personalizados -->\n <div class=\"swiper-navigation\">\n <div class=\"swiper-button-prev\" [id]=\"meta?.code + '-prev'\">\n @if(prevArrowImage) {\n <img [src]=\"prevArrowImage\" alt=\"Anterior\" />\n } @else {\n <span class=\"arrow-text\">{{prevArrowText}}</span>\n }\n </div>\n <div class=\"swiper-button-next\" [id]=\"meta?.code + '-next'\">\n @if(nextArrowImage) {\n <img [src]=\"nextArrowImage\" alt=\"Siguiente\" />\n } @else {\n <span class=\"arrow-text\">{{nextArrowText}}</span>\n }\n </div>\n </div>\n </div>\n }\n </div>\n</section>\n\n\n<!-- componente por defecto (tomara como producto el contexto pasado como \"product\") -->\n<ng-template #defaultAppProduct let-product=\"product\">\n <app-product-ec [product]=\"product\"></app-product-ec>\n</ng-template>" }]
8331
8459
  }], ctorParameters: () => [], propDecorators: { prevArrowImage: [{
8332
8460
  type: Input
8333
8461
  }], nextArrowImage: [{
@@ -8425,11 +8553,11 @@ class BlockNewsletterEcComponent {
8425
8553
  this.sendForm(this.newsletter_form, 'newsletter-thanks');
8426
8554
  };
8427
8555
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BlockNewsletterEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8428
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BlockNewsletterEcComponent, isStandalone: true, selector: "app-block-newsletter-ec", inputs: { block: "block", success_message: "success_message", subject: "subject" }, ngImport: i0, template: "<p>block-newsletter-ec works!</p>\r\n", styles: [""] });
8556
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BlockNewsletterEcComponent, isStandalone: true, selector: "app-block-newsletter-ec", inputs: { block: "block", success_message: "success_message", subject: "subject" }, ngImport: i0, template: "<p>block-newsletter-ec works!</p>\n", styles: [""] });
8429
8557
  }
8430
8558
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BlockNewsletterEcComponent, decorators: [{
8431
8559
  type: Component,
8432
- args: [{ selector: 'app-block-newsletter-ec', standalone: true, imports: [], template: "<p>block-newsletter-ec works!</p>\r\n" }]
8560
+ args: [{ selector: 'app-block-newsletter-ec', standalone: true, imports: [], template: "<p>block-newsletter-ec works!</p>\n" }]
8433
8561
  }], ctorParameters: () => [], propDecorators: { block: [{
8434
8562
  type: Input,
8435
8563
  args: [{ required: true }]
@@ -8441,30 +8569,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
8441
8569
 
8442
8570
  class LoadingFullEcComponent {
8443
8571
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoadingFullEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8444
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LoadingFullEcComponent, isStandalone: true, selector: "app-loading-full-ec", ngImport: i0, template: "<div [class]=\"'d-flex w-100'\">\r\n <div class=\"w-100 h-100 d-flex flex-row justify-content-center align-items-center\">\r\n <div class=\"spinner-border text-dark spinner-color\" id=\"loading\" role=\"status\">\r\n <span class=\"visually-hidden\">{{ 'loading' }}</span><!-- | translate -->\r\n </div>\r\n </div>\r\n</div>", styles: [""] });
8572
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LoadingFullEcComponent, isStandalone: true, selector: "app-loading-full-ec", ngImport: i0, template: "<div [class]=\"'d-flex w-100'\">\n <div class=\"w-100 h-100 d-flex flex-row justify-content-center align-items-center\">\n <div class=\"spinner-border text-dark spinner-color\" id=\"loading\" role=\"status\">\n <span class=\"visually-hidden\">{{ 'loading' }}</span><!-- | translate -->\n </div>\n </div>\n</div>", styles: [""] });
8445
8573
  }
8446
8574
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoadingFullEcComponent, decorators: [{
8447
8575
  type: Component,
8448
- args: [{ selector: 'app-loading-full-ec', standalone: true, imports: [], template: "<div [class]=\"'d-flex w-100'\">\r\n <div class=\"w-100 h-100 d-flex flex-row justify-content-center align-items-center\">\r\n <div class=\"spinner-border text-dark spinner-color\" id=\"loading\" role=\"status\">\r\n <span class=\"visually-hidden\">{{ 'loading' }}</span><!-- | translate -->\r\n </div>\r\n </div>\r\n</div>" }]
8576
+ args: [{ selector: 'app-loading-full-ec', standalone: true, imports: [], template: "<div [class]=\"'d-flex w-100'\">\n <div class=\"w-100 h-100 d-flex flex-row justify-content-center align-items-center\">\n <div class=\"spinner-border text-dark spinner-color\" id=\"loading\" role=\"status\">\n <span class=\"visually-hidden\">{{ 'loading' }}</span><!-- | translate -->\n </div>\n </div>\n</div>" }]
8449
8577
  }] });
8450
8578
 
8451
8579
  class LoadingSectionEcComponent {
8452
8580
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoadingSectionEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8453
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LoadingSectionEcComponent, isStandalone: true, selector: "app-loading-section-ec", ngImport: i0, template: "<div id=\"sectionLoading\" class=\"d-flex flex-column position-absolute top-0 opacity-75 bg-white w-100 h-100 justify-content-center align-items-center\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: LoadingFullEcComponent, selector: "app-loading-full-ec" }] });
8581
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LoadingSectionEcComponent, isStandalone: true, selector: "app-loading-section-ec", ngImport: i0, template: "<div id=\"sectionLoading\" class=\"d-flex flex-column position-absolute top-0 opacity-75 bg-white w-100 h-100 justify-content-center align-items-center\">\n <app-loading-full-ec></app-loading-full-ec>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: LoadingFullEcComponent, selector: "app-loading-full-ec" }] });
8454
8582
  }
8455
8583
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoadingSectionEcComponent, decorators: [{
8456
8584
  type: Component,
8457
- args: [{ selector: 'app-loading-section-ec', standalone: true, imports: [LoadingFullEcComponent], template: "<div id=\"sectionLoading\" class=\"d-flex flex-column position-absolute top-0 opacity-75 bg-white w-100 h-100 justify-content-center align-items-center\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n</div>\r\n" }]
8585
+ args: [{ selector: 'app-loading-section-ec', standalone: true, imports: [LoadingFullEcComponent], template: "<div id=\"sectionLoading\" class=\"d-flex flex-column position-absolute top-0 opacity-75 bg-white w-100 h-100 justify-content-center align-items-center\">\n <app-loading-full-ec></app-loading-full-ec>\n</div>\n" }]
8458
8586
  }] });
8459
8587
 
8460
8588
  class LoadingInlineEcComponent {
8461
8589
  type = 'border';
8462
8590
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoadingInlineEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8463
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LoadingInlineEcComponent, isStandalone: true, selector: "app-loading-inline-ec", inputs: { type: "type" }, ngImport: i0, template: "<div class=\"loading-inline-container\">\r\n <div [class]=\"'spinner-'+type+' text-dark spinner-colo'\" id=\"loading\" role=\"status\">\r\n <span class=\"visually-hidden\">{{ 'loading' | translate }}</span>\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] });
8591
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LoadingInlineEcComponent, isStandalone: true, selector: "app-loading-inline-ec", inputs: { type: "type" }, ngImport: i0, template: "<div class=\"loading-inline-container\">\n <div [class]=\"'spinner-'+type+' text-dark spinner-colo'\" id=\"loading\" role=\"status\">\n <span class=\"visually-hidden\">{{ 'loading' | translate }}</span>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] });
8464
8592
  }
8465
8593
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoadingInlineEcComponent, decorators: [{
8466
8594
  type: Component,
8467
- args: [{ selector: 'app-loading-inline-ec', standalone: true, imports: [TranslateModule], template: "<div class=\"loading-inline-container\">\r\n <div [class]=\"'spinner-'+type+' text-dark spinner-colo'\" id=\"loading\" role=\"status\">\r\n <span class=\"visually-hidden\">{{ 'loading' | translate }}</span>\r\n </div>\r\n</div>\r\n" }]
8595
+ args: [{ selector: 'app-loading-inline-ec', standalone: true, imports: [TranslateModule], template: "<div class=\"loading-inline-container\">\n <div [class]=\"'spinner-'+type+' text-dark spinner-colo'\" id=\"loading\" role=\"status\">\n <span class=\"visually-hidden\">{{ 'loading' | translate }}</span>\n </div>\n</div>\n" }]
8468
8596
  }], propDecorators: { type: [{
8469
8597
  type: Input
8470
8598
  }] } });
@@ -8518,7 +8646,7 @@ class ReCaptchaEcComponent {
8518
8646
  useExisting: forwardRef(() => ReCaptchaEcComponent),
8519
8647
  multi: true
8520
8648
  }
8521
- ], ngImport: i0, template: "@if(captcha.siteKey){\r\n <re-captcha (resolved)=\"resolved($event)\" siteKey=\"{{captcha.siteKey}}\">\r\n </re-captcha>\r\n}@else {\r\n <app-loading-full-ec></app-loading-full-ec>\r\n}", styles: [""], dependencies: [{ kind: "component", type: LoadingFullEcComponent, selector: "app-loading-full-ec" }, { kind: "ngmodule", type: RecaptchaModule }, { kind: "component", type: i1$3.RecaptchaComponent, selector: "re-captcha", inputs: ["id", "siteKey", "theme", "type", "size", "tabIndex", "badge", "errorMode"], outputs: ["resolved", "error", "errored"], exportAs: ["reCaptcha"] }, { kind: "ngmodule", type: ReactiveFormsModule }] });
8649
+ ], ngImport: i0, template: "@if(captcha.siteKey){\n <re-captcha (resolved)=\"resolved($event)\" siteKey=\"{{captcha.siteKey}}\">\n </re-captcha>\n}@else {\n <app-loading-full-ec></app-loading-full-ec>\n}", styles: [""], dependencies: [{ kind: "component", type: LoadingFullEcComponent, selector: "app-loading-full-ec" }, { kind: "ngmodule", type: RecaptchaModule }, { kind: "component", type: i1$3.RecaptchaComponent, selector: "re-captcha", inputs: ["id", "siteKey", "theme", "type", "size", "tabIndex", "badge", "errorMode"], outputs: ["resolved", "error", "errored"], exportAs: ["reCaptcha"] }, { kind: "ngmodule", type: ReactiveFormsModule }] });
8522
8650
  }
8523
8651
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ReCaptchaEcComponent, decorators: [{
8524
8652
  type: Component,
@@ -8528,7 +8656,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
8528
8656
  useExisting: forwardRef(() => ReCaptchaEcComponent),
8529
8657
  multi: true
8530
8658
  }
8531
- ], template: "@if(captcha.siteKey){\r\n <re-captcha (resolved)=\"resolved($event)\" siteKey=\"{{captcha.siteKey}}\">\r\n </re-captcha>\r\n}@else {\r\n <app-loading-full-ec></app-loading-full-ec>\r\n}" }]
8659
+ ], template: "@if(captcha.siteKey){\n <re-captcha (resolved)=\"resolved($event)\" siteKey=\"{{captcha.siteKey}}\">\n </re-captcha>\n}@else {\n <app-loading-full-ec></app-loading-full-ec>\n}" }]
8532
8660
  }], propDecorators: { siteKey: [{
8533
8661
  type: Input
8534
8662
  }] } });
@@ -8687,11 +8815,11 @@ class MagnizoomEcComponent {
8687
8815
  event.stopPropagation();
8688
8816
  }
8689
8817
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MagnizoomEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8690
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MagnizoomEcComponent, isStandalone: true, selector: "[app-magnizoom-ec]", inputs: { ImageSrc: "ImageSrc", zoomMode: "zoomMode", minZoomFactor: "minZoomFactor", maxZoomFactor: "maxZoomFactor", imageStyle: "imageStyle", imageClass: "imageClass" }, viewQueries: [{ propertyName: "mainCanvasRef", first: true, predicate: ["mainCanvas"], descendants: true, static: true }], ngImport: i0, template: "<canvas #mainCanvas\r\n class=\"main-canvas\"\r\n [ngClass]=\"imageClass\"\r\n [ngStyle]=\"imageStyle\"\r\n [width]=\"canvasWidth\"\r\n [height]=\"canvasHeight\"\r\n (mouseleave)=\"onMouseLeave($event)\"\r\n (mouseenter)=\"onMouseEnterOrMove($event)\"\r\n (mousemove)=\"onMouseEnterOrMove($event)\"\r\n (wheel)=\"onMouseScroll($event)\">\r\n</canvas>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
8818
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MagnizoomEcComponent, isStandalone: true, selector: "[app-magnizoom-ec]", inputs: { ImageSrc: "ImageSrc", zoomMode: "zoomMode", minZoomFactor: "minZoomFactor", maxZoomFactor: "maxZoomFactor", imageStyle: "imageStyle", imageClass: "imageClass" }, viewQueries: [{ propertyName: "mainCanvasRef", first: true, predicate: ["mainCanvas"], descendants: true, static: true }], ngImport: i0, template: "<canvas #mainCanvas\n class=\"main-canvas\"\n [ngClass]=\"imageClass\"\n [ngStyle]=\"imageStyle\"\n [width]=\"canvasWidth\"\n [height]=\"canvasHeight\"\n (mouseleave)=\"onMouseLeave($event)\"\n (mouseenter)=\"onMouseEnterOrMove($event)\"\n (mousemove)=\"onMouseEnterOrMove($event)\"\n (wheel)=\"onMouseScroll($event)\">\n</canvas>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
8691
8819
  }
8692
8820
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MagnizoomEcComponent, decorators: [{
8693
8821
  type: Component,
8694
- args: [{ selector: '[app-magnizoom-ec]', standalone: true, imports: [CommonModule], template: "<canvas #mainCanvas\r\n class=\"main-canvas\"\r\n [ngClass]=\"imageClass\"\r\n [ngStyle]=\"imageStyle\"\r\n [width]=\"canvasWidth\"\r\n [height]=\"canvasHeight\"\r\n (mouseleave)=\"onMouseLeave($event)\"\r\n (mouseenter)=\"onMouseEnterOrMove($event)\"\r\n (mousemove)=\"onMouseEnterOrMove($event)\"\r\n (wheel)=\"onMouseScroll($event)\">\r\n</canvas>\r\n" }]
8822
+ args: [{ selector: '[app-magnizoom-ec]', standalone: true, imports: [CommonModule], template: "<canvas #mainCanvas\n class=\"main-canvas\"\n [ngClass]=\"imageClass\"\n [ngStyle]=\"imageStyle\"\n [width]=\"canvasWidth\"\n [height]=\"canvasHeight\"\n (mouseleave)=\"onMouseLeave($event)\"\n (mouseenter)=\"onMouseEnterOrMove($event)\"\n (mousemove)=\"onMouseEnterOrMove($event)\"\n (wheel)=\"onMouseScroll($event)\">\n</canvas>\n" }]
8695
8823
  }], ctorParameters: () => [], propDecorators: { ImageSrc: [{
8696
8824
  type: Input
8697
8825
  }], zoomMode: [{
@@ -8912,11 +9040,11 @@ class RedsysCatchEcComponent extends ComponentHelper {
8912
9040
  catch { }
8913
9041
  }
8914
9042
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RedsysCatchEcComponent, deps: [{ token: i2.ActivatedRoute }, { token: i2.Router }, { token: CheckoutService }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
8915
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RedsysCatchEcComponent, isStandalone: true, selector: "app-redsys-catch-ec", usesInheritance: true, ngImport: i0, template: "<div id=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col align-self-center\">\r\n <h4 class=\"titpage center-block text-center font-nexa font-lg my-3\">{{ message | uppercase }}</h4>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col align-self-center\">\r\n <h5 class=\"center-block text-center font-nexa my-3\">Redirigiendo en segundos...</h5>\r\n <br>\r\n <div class=\"d-flex flex-column jusitfy-content-center align-items-center\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".loader{border:16px solid #f3f3f3;border-top:16px solid #dc3545;border-radius:50%;width:50px;height:50px;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.flex-container{display:flex;justify-content:center;align-items:center;height:80vh;width:100%}.flex-container>div{width:90%;height:100px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.UpperCasePipe, name: "uppercase" }, { kind: "component", type: LoadingFullEcComponent, selector: "app-loading-full-ec" }] });
9043
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RedsysCatchEcComponent, isStandalone: true, selector: "app-redsys-catch-ec", usesInheritance: true, ngImport: i0, template: "<div id=\"container\">\n <div class=\"row\">\n <div class=\"col align-self-center\">\n <h4 class=\"titpage center-block text-center font-nexa font-lg my-3\">{{ message | uppercase }}</h4>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col align-self-center\">\n <h5 class=\"center-block text-center font-nexa my-3\">Redirigiendo en segundos...</h5>\n <br>\n <div class=\"d-flex flex-column jusitfy-content-center align-items-center\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n </div>\n </div>\n</div>", styles: [".loader{border:16px solid #f3f3f3;border-top:16px solid #dc3545;border-radius:50%;width:50px;height:50px;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.flex-container{display:flex;justify-content:center;align-items:center;height:80vh;width:100%}.flex-container>div{width:90%;height:100px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.UpperCasePipe, name: "uppercase" }, { kind: "component", type: LoadingFullEcComponent, selector: "app-loading-full-ec" }] });
8916
9044
  }
8917
9045
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RedsysCatchEcComponent, decorators: [{
8918
9046
  type: Component,
8919
- args: [{ selector: 'app-redsys-catch-ec', standalone: true, imports: [CommonModule, LoadingFullEcComponent], template: "<div id=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col align-self-center\">\r\n <h4 class=\"titpage center-block text-center font-nexa font-lg my-3\">{{ message | uppercase }}</h4>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col align-self-center\">\r\n <h5 class=\"center-block text-center font-nexa my-3\">Redirigiendo en segundos...</h5>\r\n <br>\r\n <div class=\"d-flex flex-column jusitfy-content-center align-items-center\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".loader{border:16px solid #f3f3f3;border-top:16px solid #dc3545;border-radius:50%;width:50px;height:50px;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.flex-container{display:flex;justify-content:center;align-items:center;height:80vh;width:100%}.flex-container>div{width:90%;height:100px}\n"] }]
9047
+ args: [{ selector: 'app-redsys-catch-ec', standalone: true, imports: [CommonModule, LoadingFullEcComponent], template: "<div id=\"container\">\n <div class=\"row\">\n <div class=\"col align-self-center\">\n <h4 class=\"titpage center-block text-center font-nexa font-lg my-3\">{{ message | uppercase }}</h4>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col align-self-center\">\n <h5 class=\"center-block text-center font-nexa my-3\">Redirigiendo en segundos...</h5>\n <br>\n <div class=\"d-flex flex-column jusitfy-content-center align-items-center\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n </div>\n </div>\n</div>", styles: [".loader{border:16px solid #f3f3f3;border-top:16px solid #dc3545;border-radius:50%;width:50px;height:50px;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.flex-container{display:flex;justify-content:center;align-items:center;height:80vh;width:100%}.flex-container>div{width:90%;height:100px}\n"] }]
8920
9048
  }], ctorParameters: () => [{ type: i2.ActivatedRoute }, { type: i2.Router }, { type: CheckoutService }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: Document, decorators: [{
8921
9049
  type: Inject,
8922
9050
  args: [DOCUMENT]
@@ -8991,11 +9119,11 @@ class BlockFormContactEcComponent extends BlockEcComponent {
8991
9119
  }
8992
9120
  }
8993
9121
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BlockFormContactEcComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
8994
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BlockFormContactEcComponent, isStandalone: true, selector: "app-block-form-contact-ec", inputs: { block: "block", success_message: "success_message", redirect: "redirect", subject: "subject" }, usesInheritance: true, ngImport: i0, template: "@if(block){\r\n<div [class]=\"trimClassBlock(block.code) + ' container-fluid'\">\r\n <div class=\"row justify-content-center\">\r\n <div class=\"col-12 col-md-12\">\r\n <div class=\"row w-100 m-auto\">\r\n <h5>{{block.name || 'Dejanos tu consulta'}}</h5>\r\n <p class=\"w-100\">{{ block.description || 'Completa el siguiente formulario y responderemos tu consulta a la brevedad' }}</p>\r\n </div>\r\n <form [formGroup]=\"form()\" (submit)=\"onSubmit($event)\" class=\"position-relative\" ><!-- (submit)=\"toastCompleteForm($event)\" -->\r\n @if(block.sendName){\r\n <div class=\"form-group mt-1\">\r\n <label class=\"sr-only\" for=\"nombre\">Nombre</label>\r\n <input formControlName=\"name\" type=\"text\"\r\n class=\"form-control form-control-sm required\" id=\"nombre\" placeholder=\"Nombre\">\r\n </div>\r\n }\r\n @if(block.sendEmail){\r\n <div class=\"form-group mt-1\">\r\n <label class=\"sr-only\" for=\"mail\">Email</label>\r\n <input formControlName=\"email\" type=\"email\"\r\n class=\"form-control form-control-sm required\" id=\"mail\" placeholder=\"Email\">\r\n </div>\r\n }\r\n @if(block.sendTelephone){\r\n <div class=\"form-group mt-1\">\r\n <label class=\"sr-only\" for=\"telefono\">Tel\u00E9fono</label>\r\n <input formControlName=\"telephone\" type=\"text\"\r\n class=\"form-control form-control-sm required\" id=\"telefono\" placeholder=\"Tel\u00E9fono\">\r\n </div>\r\n }\r\n @if(block.sendSubject){\r\n <div class=\"form-group mt-1\">\r\n <label class=\"sr-only\" for=\"subject\">Asunto</label>\r\n <input formControlName=\"subject\" type=\"text\"\r\n class=\"form-control form-control-sm required\" id=\"subject\" placeholder=\"Asunto\">\r\n </div>\r\n }\r\n @if(block.sendBody){\r\n <div class=\"form-group mt-1\">\r\n <label class=\"sr-only\" for=\"mensaje\">Mensaje</label>\r\n <textarea formControlName=\"body\" name=\"mensaje\" id=\"mensaje \" cols=\"30\"\r\n rows=\"5\" placeholder=\"Dejanos tu mensaje\"\r\n class=\"form-control form-control-sm required\"></textarea>\r\n </div>\r\n }\r\n <div class=\"boxContenidoCapcha mb-3 mt-1\">\r\n <div class=\"contenedorCaptcha\">\r\n <re-captcha-ec formControlName=\"recaptcha\"></re-captcha-ec>\r\n </div>\r\n </div>\r\n\r\n <button type=\"submit\" class=\"btn btn-dark text-uppercase px-5\"\r\n [disabled]=\"form().invalid\">ENVIAR</button>\r\n @if(loading){\r\n <app-loading-section-ec/>\r\n }\r\n </form>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n}", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: LoadingSectionEcComponent, selector: "app-loading-section-ec" }, { kind: "component", type: ReCaptchaEcComponent, selector: "re-captcha-ec", inputs: ["siteKey"] }] });
9122
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BlockFormContactEcComponent, isStandalone: true, selector: "app-block-form-contact-ec", inputs: { block: "block", success_message: "success_message", redirect: "redirect", subject: "subject" }, usesInheritance: true, ngImport: i0, template: "@if(block){\n<div [class]=\"trimClassBlock(block.code) + ' container-fluid'\">\n <div class=\"row justify-content-center\">\n <div class=\"col-12 col-md-12\">\n <div class=\"row w-100 m-auto\">\n <h5>{{block.name || 'Dejanos tu consulta'}}</h5>\n <p class=\"w-100\">{{ block.description || 'Completa el siguiente formulario y responderemos tu consulta a la brevedad' }}</p>\n </div>\n <form [formGroup]=\"form()\" (submit)=\"onSubmit($event)\" class=\"position-relative\" ><!-- (submit)=\"toastCompleteForm($event)\" -->\n @if(block.sendName){\n <div class=\"form-group mt-1\">\n <label class=\"sr-only\" for=\"nombre\">Nombre</label>\n <input formControlName=\"name\" type=\"text\"\n class=\"form-control form-control-sm required\" id=\"nombre\" placeholder=\"Nombre\">\n </div>\n }\n @if(block.sendEmail){\n <div class=\"form-group mt-1\">\n <label class=\"sr-only\" for=\"mail\">Email</label>\n <input formControlName=\"email\" type=\"email\"\n class=\"form-control form-control-sm required\" id=\"mail\" placeholder=\"Email\">\n </div>\n }\n @if(block.sendTelephone){\n <div class=\"form-group mt-1\">\n <label class=\"sr-only\" for=\"telefono\">Tel\u00E9fono</label>\n <input formControlName=\"telephone\" type=\"text\"\n class=\"form-control form-control-sm required\" id=\"telefono\" placeholder=\"Tel\u00E9fono\">\n </div>\n }\n @if(block.sendSubject){\n <div class=\"form-group mt-1\">\n <label class=\"sr-only\" for=\"subject\">Asunto</label>\n <input formControlName=\"subject\" type=\"text\"\n class=\"form-control form-control-sm required\" id=\"subject\" placeholder=\"Asunto\">\n </div>\n }\n @if(block.sendBody){\n <div class=\"form-group mt-1\">\n <label class=\"sr-only\" for=\"mensaje\">Mensaje</label>\n <textarea formControlName=\"body\" name=\"mensaje\" id=\"mensaje \" cols=\"30\"\n rows=\"5\" placeholder=\"Dejanos tu mensaje\"\n class=\"form-control form-control-sm required\"></textarea>\n </div>\n }\n <div class=\"boxContenidoCapcha mb-3 mt-1\">\n <div class=\"contenedorCaptcha\">\n <re-captcha-ec formControlName=\"recaptcha\"></re-captcha-ec>\n </div>\n </div>\n\n <button type=\"submit\" class=\"btn btn-dark text-uppercase px-5\"\n [disabled]=\"form().invalid\">ENVIAR</button>\n @if(loading){\n <app-loading-section-ec/>\n }\n </form>\n </div>\n\n </div>\n</div>\n}", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: LoadingSectionEcComponent, selector: "app-loading-section-ec" }, { kind: "component", type: ReCaptchaEcComponent, selector: "re-captcha-ec", inputs: ["siteKey"] }] });
8995
9123
  }
8996
9124
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BlockFormContactEcComponent, decorators: [{
8997
9125
  type: Component,
8998
- args: [{ selector: 'app-block-form-contact-ec', standalone: true, imports: [ReactiveFormsModule, LoadingSectionEcComponent, ReCaptchaEcComponent], template: "@if(block){\r\n<div [class]=\"trimClassBlock(block.code) + ' container-fluid'\">\r\n <div class=\"row justify-content-center\">\r\n <div class=\"col-12 col-md-12\">\r\n <div class=\"row w-100 m-auto\">\r\n <h5>{{block.name || 'Dejanos tu consulta'}}</h5>\r\n <p class=\"w-100\">{{ block.description || 'Completa el siguiente formulario y responderemos tu consulta a la brevedad' }}</p>\r\n </div>\r\n <form [formGroup]=\"form()\" (submit)=\"onSubmit($event)\" class=\"position-relative\" ><!-- (submit)=\"toastCompleteForm($event)\" -->\r\n @if(block.sendName){\r\n <div class=\"form-group mt-1\">\r\n <label class=\"sr-only\" for=\"nombre\">Nombre</label>\r\n <input formControlName=\"name\" type=\"text\"\r\n class=\"form-control form-control-sm required\" id=\"nombre\" placeholder=\"Nombre\">\r\n </div>\r\n }\r\n @if(block.sendEmail){\r\n <div class=\"form-group mt-1\">\r\n <label class=\"sr-only\" for=\"mail\">Email</label>\r\n <input formControlName=\"email\" type=\"email\"\r\n class=\"form-control form-control-sm required\" id=\"mail\" placeholder=\"Email\">\r\n </div>\r\n }\r\n @if(block.sendTelephone){\r\n <div class=\"form-group mt-1\">\r\n <label class=\"sr-only\" for=\"telefono\">Tel\u00E9fono</label>\r\n <input formControlName=\"telephone\" type=\"text\"\r\n class=\"form-control form-control-sm required\" id=\"telefono\" placeholder=\"Tel\u00E9fono\">\r\n </div>\r\n }\r\n @if(block.sendSubject){\r\n <div class=\"form-group mt-1\">\r\n <label class=\"sr-only\" for=\"subject\">Asunto</label>\r\n <input formControlName=\"subject\" type=\"text\"\r\n class=\"form-control form-control-sm required\" id=\"subject\" placeholder=\"Asunto\">\r\n </div>\r\n }\r\n @if(block.sendBody){\r\n <div class=\"form-group mt-1\">\r\n <label class=\"sr-only\" for=\"mensaje\">Mensaje</label>\r\n <textarea formControlName=\"body\" name=\"mensaje\" id=\"mensaje \" cols=\"30\"\r\n rows=\"5\" placeholder=\"Dejanos tu mensaje\"\r\n class=\"form-control form-control-sm required\"></textarea>\r\n </div>\r\n }\r\n <div class=\"boxContenidoCapcha mb-3 mt-1\">\r\n <div class=\"contenedorCaptcha\">\r\n <re-captcha-ec formControlName=\"recaptcha\"></re-captcha-ec>\r\n </div>\r\n </div>\r\n\r\n <button type=\"submit\" class=\"btn btn-dark text-uppercase px-5\"\r\n [disabled]=\"form().invalid\">ENVIAR</button>\r\n @if(loading){\r\n <app-loading-section-ec/>\r\n }\r\n </form>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n}" }]
9126
+ args: [{ selector: 'app-block-form-contact-ec', standalone: true, imports: [ReactiveFormsModule, LoadingSectionEcComponent, ReCaptchaEcComponent], template: "@if(block){\n<div [class]=\"trimClassBlock(block.code) + ' container-fluid'\">\n <div class=\"row justify-content-center\">\n <div class=\"col-12 col-md-12\">\n <div class=\"row w-100 m-auto\">\n <h5>{{block.name || 'Dejanos tu consulta'}}</h5>\n <p class=\"w-100\">{{ block.description || 'Completa el siguiente formulario y responderemos tu consulta a la brevedad' }}</p>\n </div>\n <form [formGroup]=\"form()\" (submit)=\"onSubmit($event)\" class=\"position-relative\" ><!-- (submit)=\"toastCompleteForm($event)\" -->\n @if(block.sendName){\n <div class=\"form-group mt-1\">\n <label class=\"sr-only\" for=\"nombre\">Nombre</label>\n <input formControlName=\"name\" type=\"text\"\n class=\"form-control form-control-sm required\" id=\"nombre\" placeholder=\"Nombre\">\n </div>\n }\n @if(block.sendEmail){\n <div class=\"form-group mt-1\">\n <label class=\"sr-only\" for=\"mail\">Email</label>\n <input formControlName=\"email\" type=\"email\"\n class=\"form-control form-control-sm required\" id=\"mail\" placeholder=\"Email\">\n </div>\n }\n @if(block.sendTelephone){\n <div class=\"form-group mt-1\">\n <label class=\"sr-only\" for=\"telefono\">Tel\u00E9fono</label>\n <input formControlName=\"telephone\" type=\"text\"\n class=\"form-control form-control-sm required\" id=\"telefono\" placeholder=\"Tel\u00E9fono\">\n </div>\n }\n @if(block.sendSubject){\n <div class=\"form-group mt-1\">\n <label class=\"sr-only\" for=\"subject\">Asunto</label>\n <input formControlName=\"subject\" type=\"text\"\n class=\"form-control form-control-sm required\" id=\"subject\" placeholder=\"Asunto\">\n </div>\n }\n @if(block.sendBody){\n <div class=\"form-group mt-1\">\n <label class=\"sr-only\" for=\"mensaje\">Mensaje</label>\n <textarea formControlName=\"body\" name=\"mensaje\" id=\"mensaje \" cols=\"30\"\n rows=\"5\" placeholder=\"Dejanos tu mensaje\"\n class=\"form-control form-control-sm required\"></textarea>\n </div>\n }\n <div class=\"boxContenidoCapcha mb-3 mt-1\">\n <div class=\"contenedorCaptcha\">\n <re-captcha-ec formControlName=\"recaptcha\"></re-captcha-ec>\n </div>\n </div>\n\n <button type=\"submit\" class=\"btn btn-dark text-uppercase px-5\"\n [disabled]=\"form().invalid\">ENVIAR</button>\n @if(loading){\n <app-loading-section-ec/>\n }\n </form>\n </div>\n\n </div>\n</div>\n}" }]
8999
9127
  }], propDecorators: { block: [{
9000
9128
  type: Input,
9001
9129
  args: [{ required: true }]
@@ -9068,7 +9196,7 @@ class BlocksEcComponent {
9068
9196
  }
9069
9197
  }
9070
9198
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BlocksEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9071
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BlocksEcComponent, isStandalone: true, selector: "app-blocks-ec", inputs: { templates: "templates", show_loading: "show_loading", section: "section", blockFilters: "blockFilters" }, ngImport: i0, template: "@if(blocks$ | async; as blocks){\r\n @if(blocks.length > 0){\r\n <div class=\"container-fluid px-0\">\r\n <div class=\"row\">\r\n @for (block of blocks; track $index) {\r\n @switch (block.contentType) {\r\n @case ('banner') {\r\n @switch(block.design){\r\n @case ('full') {\r\n <app-block-banner-full-ec [banners]=\"block.banners\" [meta]=\"block\" />\r\n }\r\n @case ('boxes') {\r\n <app-block-banner-box-ec [banners]=\"block.banners\" [meta]=\"block\"/>\r\n }\r\n }\r\n }\r\n @case ('html') {\r\n @if(showBlock(block)){\r\n <app-block-html-ec [html_content]=\"getHTMLContent(block)\" />\r\n }\r\n }\r\n @case ('products') {\r\n <app-block-products-ec [products]=\"block.products?.items\" [meta]=\"block\" />\r\n }\r\n @case ('contact_form') {\r\n @if(isNewsletter(block)){\r\n <app-block-newsletter-ec [block]=\"block.contactForm\" />\r\n } @else {\r\n <app-block-form-contact-ec [block]=\"block.contactForm\" />\r\n }\r\n }\r\n }\r\n }\r\n </div>\r\n </div>\r\n }\r\n}", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: BlockBannerFullEcComponent, selector: "app-block-banner-full-ec", inputs: ["banners", "meta", "prevArrowImage", "nextArrowImage", "prevArrowText", "nextArrowText", "enableCustomNavigation"] }, { kind: "component", type: BlockBannerBoxEcComponent, selector: "app-block-banner-box-ec", inputs: ["banners", "meta"] }, { kind: "component", type: BlockHtmlEcComponent, selector: "app-block-html-ec", inputs: ["html_content"] }, { kind: "component", type: BlockProductsEcComponent, selector: "app-block-products-ec", inputs: ["prevArrowImage", "nextArrowImage", "prevArrowText", "nextArrowText", "appProduct", "products", "meta"] }, { kind: "component", type: BlockNewsletterEcComponent, selector: "app-block-newsletter-ec", inputs: ["block", "success_message", "subject"] }, { kind: "component", type: BlockFormContactEcComponent, selector: "app-block-form-contact-ec", inputs: ["block", "success_message", "redirect", "subject"] }] });
9199
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BlocksEcComponent, isStandalone: true, selector: "app-blocks-ec", inputs: { templates: "templates", show_loading: "show_loading", section: "section", blockFilters: "blockFilters" }, ngImport: i0, template: "@if(blocks$ | async; as blocks){\n @if(blocks.length > 0){\n <div class=\"container-fluid px-0\">\n <div class=\"row\">\n @for (block of blocks; track $index) {\n @switch (block.contentType) {\n @case ('banner') {\n @switch(block.design){\n @case ('full') {\n <app-block-banner-full-ec [banners]=\"block.banners\" [meta]=\"block\" />\n }\n @case ('boxes') {\n <app-block-banner-box-ec [banners]=\"block.banners\" [meta]=\"block\"/>\n }\n }\n }\n @case ('html') {\n @if(showBlock(block)){\n <app-block-html-ec [html_content]=\"getHTMLContent(block)\" />\n }\n }\n @case ('products') {\n <app-block-products-ec [products]=\"block.products?.items\" [meta]=\"block\" />\n }\n @case ('contact_form') {\n @if(isNewsletter(block)){\n <app-block-newsletter-ec [block]=\"block.contactForm\" />\n } @else {\n <app-block-form-contact-ec [block]=\"block.contactForm\" />\n }\n }\n }\n }\n </div>\n </div>\n }\n}", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: BlockBannerFullEcComponent, selector: "app-block-banner-full-ec", inputs: ["banners", "meta", "prevArrowImage", "nextArrowImage", "prevArrowText", "nextArrowText", "enableCustomNavigation"] }, { kind: "component", type: BlockBannerBoxEcComponent, selector: "app-block-banner-box-ec", inputs: ["banners", "meta"] }, { kind: "component", type: BlockHtmlEcComponent, selector: "app-block-html-ec", inputs: ["html_content"] }, { kind: "component", type: BlockProductsEcComponent, selector: "app-block-products-ec", inputs: ["prevArrowImage", "nextArrowImage", "prevArrowText", "nextArrowText", "appProduct", "products", "meta"] }, { kind: "component", type: BlockNewsletterEcComponent, selector: "app-block-newsletter-ec", inputs: ["block", "success_message", "subject"] }, { kind: "component", type: BlockFormContactEcComponent, selector: "app-block-form-contact-ec", inputs: ["block", "success_message", "redirect", "subject"] }] });
9072
9200
  }
9073
9201
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BlocksEcComponent, decorators: [{
9074
9202
  type: Component,
@@ -9081,7 +9209,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
9081
9209
  BlockProductsEcComponent,
9082
9210
  BlockNewsletterEcComponent,
9083
9211
  BlockFormContactEcComponent
9084
- ], template: "@if(blocks$ | async; as blocks){\r\n @if(blocks.length > 0){\r\n <div class=\"container-fluid px-0\">\r\n <div class=\"row\">\r\n @for (block of blocks; track $index) {\r\n @switch (block.contentType) {\r\n @case ('banner') {\r\n @switch(block.design){\r\n @case ('full') {\r\n <app-block-banner-full-ec [banners]=\"block.banners\" [meta]=\"block\" />\r\n }\r\n @case ('boxes') {\r\n <app-block-banner-box-ec [banners]=\"block.banners\" [meta]=\"block\"/>\r\n }\r\n }\r\n }\r\n @case ('html') {\r\n @if(showBlock(block)){\r\n <app-block-html-ec [html_content]=\"getHTMLContent(block)\" />\r\n }\r\n }\r\n @case ('products') {\r\n <app-block-products-ec [products]=\"block.products?.items\" [meta]=\"block\" />\r\n }\r\n @case ('contact_form') {\r\n @if(isNewsletter(block)){\r\n <app-block-newsletter-ec [block]=\"block.contactForm\" />\r\n } @else {\r\n <app-block-form-contact-ec [block]=\"block.contactForm\" />\r\n }\r\n }\r\n }\r\n }\r\n </div>\r\n </div>\r\n }\r\n}" }]
9212
+ ], template: "@if(blocks$ | async; as blocks){\n @if(blocks.length > 0){\n <div class=\"container-fluid px-0\">\n <div class=\"row\">\n @for (block of blocks; track $index) {\n @switch (block.contentType) {\n @case ('banner') {\n @switch(block.design){\n @case ('full') {\n <app-block-banner-full-ec [banners]=\"block.banners\" [meta]=\"block\" />\n }\n @case ('boxes') {\n <app-block-banner-box-ec [banners]=\"block.banners\" [meta]=\"block\"/>\n }\n }\n }\n @case ('html') {\n @if(showBlock(block)){\n <app-block-html-ec [html_content]=\"getHTMLContent(block)\" />\n }\n }\n @case ('products') {\n <app-block-products-ec [products]=\"block.products?.items\" [meta]=\"block\" />\n }\n @case ('contact_form') {\n @if(isNewsletter(block)){\n <app-block-newsletter-ec [block]=\"block.contactForm\" />\n } @else {\n <app-block-form-contact-ec [block]=\"block.contactForm\" />\n }\n }\n }\n }\n </div>\n </div>\n }\n}" }]
9085
9213
  }], ctorParameters: () => [], propDecorators: { templates: [{
9086
9214
  type: Input
9087
9215
  }], show_loading: [{
@@ -9177,11 +9305,11 @@ class CollectionEcComponent {
9177
9305
  return this._productsService.hasStock(product);
9178
9306
  }
9179
9307
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CollectionEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9180
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CollectionEcComponent, isStandalone: true, selector: "lib-collection-ec", inputs: { optionsFilters: "optionsFilters" }, ngImport: i0, template: "<section class=\"container-xl mb-5\">\r\n <div class=\"row m-0 p-0\">\r\n <div class=\"d-none d-lg-block col-3\">\r\n <!--Filtros-->\r\n </div>\r\n\r\n <div class=\"col-12 col-lg-9 mt-2 p-0\">\r\n <div class=\"container\">\r\n <!-- @for(['a', 'b', 'c', 'd'] as product){\r\n\r\n } -->\r\n </div>\r\n </div>\r\n\r\n </div>\r\n</section>\r\n", styles: [""] });
9308
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CollectionEcComponent, isStandalone: true, selector: "lib-collection-ec", inputs: { optionsFilters: "optionsFilters" }, ngImport: i0, template: "<section class=\"container-xl mb-5\">\n <div class=\"row m-0 p-0\">\n <div class=\"d-none d-lg-block col-3\">\n <!--Filtros-->\n </div>\n\n <div class=\"col-12 col-lg-9 mt-2 p-0\">\n <div class=\"container\">\n <!-- @for(['a', 'b', 'c', 'd'] as product){\n\n } -->\n </div>\n </div>\n\n </div>\n</section>\n", styles: [""] });
9181
9309
  }
9182
9310
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CollectionEcComponent, decorators: [{
9183
9311
  type: Component,
9184
- args: [{ selector: 'lib-collection-ec', standalone: true, imports: [InfiniteScrollDirective], template: "<section class=\"container-xl mb-5\">\r\n <div class=\"row m-0 p-0\">\r\n <div class=\"d-none d-lg-block col-3\">\r\n <!--Filtros-->\r\n </div>\r\n\r\n <div class=\"col-12 col-lg-9 mt-2 p-0\">\r\n <div class=\"container\">\r\n <!-- @for(['a', 'b', 'c', 'd'] as product){\r\n\r\n } -->\r\n </div>\r\n </div>\r\n\r\n </div>\r\n</section>\r\n" }]
9312
+ args: [{ selector: 'lib-collection-ec', standalone: true, imports: [InfiniteScrollDirective], template: "<section class=\"container-xl mb-5\">\n <div class=\"row m-0 p-0\">\n <div class=\"d-none d-lg-block col-3\">\n <!--Filtros-->\n </div>\n\n <div class=\"col-12 col-lg-9 mt-2 p-0\">\n <div class=\"container\">\n <!-- @for(['a', 'b', 'c', 'd'] as product){\n\n } -->\n </div>\n </div>\n\n </div>\n</section>\n" }]
9185
9313
  }], ctorParameters: () => [], propDecorators: { optionsFilters: [{
9186
9314
  type: Input
9187
9315
  }] } });
@@ -9210,11 +9338,11 @@ class FiltersSortEcComponent {
9210
9338
  selectedOption && this._filtersService.setFilterSelected(this.filters[0], selectedOption);
9211
9339
  }
9212
9340
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FiltersSortEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9213
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FiltersSortEcComponent, isStandalone: true, selector: "app-filters-sort-ec", outputs: { changeFilter: "changeFilter" }, ngImport: i0, template: "<p>filters-sort works!</p>\r\n", styles: [""] });
9341
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FiltersSortEcComponent, isStandalone: true, selector: "app-filters-sort-ec", outputs: { changeFilter: "changeFilter" }, ngImport: i0, template: "<p>filters-sort works!</p>\n", styles: [""] });
9214
9342
  }
9215
9343
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FiltersSortEcComponent, decorators: [{
9216
9344
  type: Component,
9217
- args: [{ selector: 'app-filters-sort-ec', standalone: true, imports: [], template: "<p>filters-sort works!</p>\r\n" }]
9345
+ args: [{ selector: 'app-filters-sort-ec', standalone: true, imports: [], template: "<p>filters-sort works!</p>\n" }]
9218
9346
  }], ctorParameters: () => [], propDecorators: { changeFilter: [{
9219
9347
  type: Output
9220
9348
  }] } });
@@ -9324,11 +9452,11 @@ class LoginFormEcComponent {
9324
9452
  this.showPassword = !this.showPassword;
9325
9453
  }
9326
9454
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginFormEcComponent, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
9327
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LoginFormEcComponent, isStandalone: true, selector: "app-login-form-ec", inputs: { redirect: "redirect", redirectTo: "redirectTo", inCart: "inCart" }, outputs: { ready: "ready" }, ngImport: i0, template: "<div class=\"d-flex flex-column position-relative\">\r\n <h1 class=\"right-line ff-ubuntu-light mb-4\"><span>Ingresar</span></h1>\r\n <p class=\"ff-ubuntu-light font-sm pr-4 mb-4\">\r\n Si ya est\u00E1s registrado. Ingresa en tu cuenta con tu email y la\r\n contrase\u00F1a adecuada.\r\n </p>\r\n <div class=\"w-md-50 w-100 text-center\">\r\n <form [formGroup]=\"loginForm()\" (submit)=\"login($event)\">\r\n <input class=\"form-control mb-4 radius-0\" type=\"email\" formControlName=\"username\"\r\n placeholder=\"Correo Electr\u00F3nico\">\r\n <input class=\"form-control mb-4 radius-0\" type=\"password\" formControlName=\"password\"\r\n placeholder=\"Contrase\u00F1a\">\r\n\r\n <div class=\"row d-flex flex-column\">\r\n <div class=\"col-12 mb-4\">\r\n <button type=\"submit\"\r\n class=\"bg-gray border-0 px-4 py-2 color-white ff-ubuntu-light\">INGRESAR</button>\r\n </div>\r\n <div class=\"col-12 d-flex justify-content-center align-items-center\">\r\n <a [routerLink]=\"'/auth/forgot-password'\" class=\"font-md ff-ubuntu-light\">\r\n \u00BFOlvid\u00F3 su contrase\u00F1a?\r\n </a>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n @if(loading){\r\n <app-loading-section-ec></app-loading-section-ec>\r\n }\r\n</div>", styles: [""], dependencies: [{ kind: "component", type: LoadingSectionEcComponent, selector: "app-loading-section-ec" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
9455
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LoginFormEcComponent, isStandalone: true, selector: "app-login-form-ec", inputs: { redirect: "redirect", redirectTo: "redirectTo", inCart: "inCart" }, outputs: { ready: "ready" }, ngImport: i0, template: "<div class=\"d-flex flex-column position-relative\">\n <h1 class=\"right-line ff-ubuntu-light mb-4\"><span>Ingresar</span></h1>\n <p class=\"ff-ubuntu-light font-sm pr-4 mb-4\">\n Si ya est\u00E1s registrado. Ingresa en tu cuenta con tu email y la\n contrase\u00F1a adecuada.\n </p>\n <div class=\"w-md-50 w-100 text-center\">\n <form [formGroup]=\"loginForm()\" (submit)=\"login($event)\">\n <input class=\"form-control mb-4 radius-0\" type=\"email\" formControlName=\"username\"\n placeholder=\"Correo Electr\u00F3nico\">\n <input class=\"form-control mb-4 radius-0\" type=\"password\" formControlName=\"password\"\n placeholder=\"Contrase\u00F1a\">\n\n <div class=\"row d-flex flex-column\">\n <div class=\"col-12 mb-4\">\n <button type=\"submit\"\n class=\"bg-gray border-0 px-4 py-2 color-white ff-ubuntu-light\">INGRESAR</button>\n </div>\n <div class=\"col-12 d-flex justify-content-center align-items-center\">\n <a [routerLink]=\"'/auth/forgot-password'\" class=\"font-md ff-ubuntu-light\">\n \u00BFOlvid\u00F3 su contrase\u00F1a?\n </a>\n </div>\n </div>\n </form>\n </div>\n @if(loading){\n <app-loading-section-ec></app-loading-section-ec>\n }\n</div>", styles: [""], dependencies: [{ kind: "component", type: LoadingSectionEcComponent, selector: "app-loading-section-ec" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
9328
9456
  }
9329
9457
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginFormEcComponent, decorators: [{
9330
9458
  type: Component,
9331
- args: [{ selector: 'app-login-form-ec', standalone: true, imports: [LoadingSectionEcComponent, ReactiveFormsModule, RouterLink, JsonPipe], template: "<div class=\"d-flex flex-column position-relative\">\r\n <h1 class=\"right-line ff-ubuntu-light mb-4\"><span>Ingresar</span></h1>\r\n <p class=\"ff-ubuntu-light font-sm pr-4 mb-4\">\r\n Si ya est\u00E1s registrado. Ingresa en tu cuenta con tu email y la\r\n contrase\u00F1a adecuada.\r\n </p>\r\n <div class=\"w-md-50 w-100 text-center\">\r\n <form [formGroup]=\"loginForm()\" (submit)=\"login($event)\">\r\n <input class=\"form-control mb-4 radius-0\" type=\"email\" formControlName=\"username\"\r\n placeholder=\"Correo Electr\u00F3nico\">\r\n <input class=\"form-control mb-4 radius-0\" type=\"password\" formControlName=\"password\"\r\n placeholder=\"Contrase\u00F1a\">\r\n\r\n <div class=\"row d-flex flex-column\">\r\n <div class=\"col-12 mb-4\">\r\n <button type=\"submit\"\r\n class=\"bg-gray border-0 px-4 py-2 color-white ff-ubuntu-light\">INGRESAR</button>\r\n </div>\r\n <div class=\"col-12 d-flex justify-content-center align-items-center\">\r\n <a [routerLink]=\"'/auth/forgot-password'\" class=\"font-md ff-ubuntu-light\">\r\n \u00BFOlvid\u00F3 su contrase\u00F1a?\r\n </a>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n @if(loading){\r\n <app-loading-section-ec></app-loading-section-ec>\r\n }\r\n</div>" }]
9459
+ args: [{ selector: 'app-login-form-ec', standalone: true, imports: [LoadingSectionEcComponent, ReactiveFormsModule, RouterLink, JsonPipe], template: "<div class=\"d-flex flex-column position-relative\">\n <h1 class=\"right-line ff-ubuntu-light mb-4\"><span>Ingresar</span></h1>\n <p class=\"ff-ubuntu-light font-sm pr-4 mb-4\">\n Si ya est\u00E1s registrado. Ingresa en tu cuenta con tu email y la\n contrase\u00F1a adecuada.\n </p>\n <div class=\"w-md-50 w-100 text-center\">\n <form [formGroup]=\"loginForm()\" (submit)=\"login($event)\">\n <input class=\"form-control mb-4 radius-0\" type=\"email\" formControlName=\"username\"\n placeholder=\"Correo Electr\u00F3nico\">\n <input class=\"form-control mb-4 radius-0\" type=\"password\" formControlName=\"password\"\n placeholder=\"Contrase\u00F1a\">\n\n <div class=\"row d-flex flex-column\">\n <div class=\"col-12 mb-4\">\n <button type=\"submit\"\n class=\"bg-gray border-0 px-4 py-2 color-white ff-ubuntu-light\">INGRESAR</button>\n </div>\n <div class=\"col-12 d-flex justify-content-center align-items-center\">\n <a [routerLink]=\"'/auth/forgot-password'\" class=\"font-md ff-ubuntu-light\">\n \u00BFOlvid\u00F3 su contrase\u00F1a?\n </a>\n </div>\n </div>\n </form>\n </div>\n @if(loading){\n <app-loading-section-ec></app-loading-section-ec>\n }\n</div>" }]
9332
9460
  }], ctorParameters: () => [{ type: Object, decorators: [{
9333
9461
  type: Inject,
9334
9462
  args: [PLATFORM_ID]
@@ -9344,11 +9472,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
9344
9472
 
9345
9473
  class AuthEcComponent {
9346
9474
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9347
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AuthEcComponent, isStandalone: true, selector: "app-auth-ec", ngImport: i0, template: "<div class=\"container-xl\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6 col-12\">\r\n <app-login-form-ec />\r\n </div>\r\n <div class=\"col-md-6 col-12\">\r\n \r\n </div>\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: LoginFormEcComponent, selector: "app-login-form-ec", inputs: ["redirect", "redirectTo", "inCart"], outputs: ["ready"] }] });
9475
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AuthEcComponent, isStandalone: true, selector: "app-auth-ec", ngImport: i0, template: "<div class=\"container-xl\">\n <div class=\"row\">\n <div class=\"col-md-6 col-12\">\n <app-login-form-ec />\n </div>\n <div class=\"col-md-6 col-12\">\n \n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: LoginFormEcComponent, selector: "app-login-form-ec", inputs: ["redirect", "redirectTo", "inCart"], outputs: ["ready"] }] });
9348
9476
  }
9349
9477
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthEcComponent, decorators: [{
9350
9478
  type: Component,
9351
- args: [{ selector: 'app-auth-ec', standalone: true, imports: [LoginFormEcComponent], template: "<div class=\"container-xl\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6 col-12\">\r\n <app-login-form-ec />\r\n </div>\r\n <div class=\"col-md-6 col-12\">\r\n \r\n </div>\r\n </div>\r\n</div>\r\n" }]
9479
+ args: [{ selector: 'app-auth-ec', standalone: true, imports: [LoginFormEcComponent], template: "<div class=\"container-xl\">\n <div class=\"row\">\n <div class=\"col-md-6 col-12\">\n <app-login-form-ec />\n </div>\n <div class=\"col-md-6 col-12\">\n \n </div>\n </div>\n</div>\n" }]
9352
9480
  }] });
9353
9481
 
9354
9482
  class ForgotPasswordEcComponent {
@@ -9389,11 +9517,11 @@ class ForgotPasswordEcComponent {
9389
9517
  }).finally(() => this.loading = false);
9390
9518
  };
9391
9519
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ForgotPasswordEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9392
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ForgotPasswordEcComponent, isStandalone: true, selector: "app-forgot-password-ec", ngImport: i0, template: "\r\n<!-- CONTENIDO -->\r\n @if(!ready){\r\n<section class=\"container-fluid mb-3 py-3 py-md-4 bloqueContact\">\r\n <div class=\"container-xl\">\r\n <div class=\"row\">\r\n\r\n <div class=\"col-12 col-md-8 col-lg-5 m-auto recuperar mt-5\">\r\n <h2 class=\"fw-600 mt-0 mb-4\">{{ 'recover-password' | translate\r\n }}</h2>\r\n <form [formGroup]=\"form\" (submit)=\"recoverPassword($event)\" class=\"mt-0\">\r\n\r\n <p for=\"nombre\">{{ 'set-forgot-email' | translate }}</p>\r\n <input class=\"form-control\" formControlName=\"email\" type='text' name='nombre' id=\"nombre\" value='' placeholder=''>\r\n\r\n <div class=\"contSend mt-4\">\r\n <input class=\"comprar\" type=\"submit\" [disabled]=\"form.invalid\" name='' value='ENVIAR' placeholder=''>\r\n </div>\r\n\r\n </form>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n</section>\r\n} @else {\r\n <div class=\"row d-flex justify-content-center py-5 \">\r\n <div class=\"col-12 col-md-8 my-5\">\r\n <div class=\"element-container text-center\">\r\n <h3>{{ 'mail-sent' | translate }}</h3>\r\n </div>\r\n <div class=\"element-container text-center\">\r\n <h5 class=\"center-text\">{{ 'check-your-email' | translate }}</h5>\r\n </div>\r\n </div>\r\n </div>\r\n }", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
9520
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ForgotPasswordEcComponent, isStandalone: true, selector: "app-forgot-password-ec", ngImport: i0, template: "\n<!-- CONTENIDO -->\n @if(!ready){\n<section class=\"container-fluid mb-3 py-3 py-md-4 bloqueContact\">\n <div class=\"container-xl\">\n <div class=\"row\">\n\n <div class=\"col-12 col-md-8 col-lg-5 m-auto recuperar mt-5\">\n <h2 class=\"fw-600 mt-0 mb-4\">{{ 'recover-password' | translate\n }}</h2>\n <form [formGroup]=\"form\" (submit)=\"recoverPassword($event)\" class=\"mt-0\">\n\n <p for=\"nombre\">{{ 'set-forgot-email' | translate }}</p>\n <input class=\"form-control\" formControlName=\"email\" type='text' name='nombre' id=\"nombre\" value='' placeholder=''>\n\n <div class=\"contSend mt-4\">\n <input class=\"comprar\" type=\"submit\" [disabled]=\"form.invalid\" name='' value='ENVIAR' placeholder=''>\n </div>\n\n </form>\n </div>\n\n </div>\n </div>\n</section>\n} @else {\n <div class=\"row d-flex justify-content-center py-5 \">\n <div class=\"col-12 col-md-8 my-5\">\n <div class=\"element-container text-center\">\n <h3>{{ 'mail-sent' | translate }}</h3>\n </div>\n <div class=\"element-container text-center\">\n <h5 class=\"center-text\">{{ 'check-your-email' | translate }}</h5>\n </div>\n </div>\n </div>\n }", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
9393
9521
  }
9394
9522
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ForgotPasswordEcComponent, decorators: [{
9395
9523
  type: Component,
9396
- args: [{ selector: 'app-forgot-password-ec', standalone: true, imports: [TranslateModule, ReactiveFormsModule, LoadingInlineEcComponent], template: "\r\n<!-- CONTENIDO -->\r\n @if(!ready){\r\n<section class=\"container-fluid mb-3 py-3 py-md-4 bloqueContact\">\r\n <div class=\"container-xl\">\r\n <div class=\"row\">\r\n\r\n <div class=\"col-12 col-md-8 col-lg-5 m-auto recuperar mt-5\">\r\n <h2 class=\"fw-600 mt-0 mb-4\">{{ 'recover-password' | translate\r\n }}</h2>\r\n <form [formGroup]=\"form\" (submit)=\"recoverPassword($event)\" class=\"mt-0\">\r\n\r\n <p for=\"nombre\">{{ 'set-forgot-email' | translate }}</p>\r\n <input class=\"form-control\" formControlName=\"email\" type='text' name='nombre' id=\"nombre\" value='' placeholder=''>\r\n\r\n <div class=\"contSend mt-4\">\r\n <input class=\"comprar\" type=\"submit\" [disabled]=\"form.invalid\" name='' value='ENVIAR' placeholder=''>\r\n </div>\r\n\r\n </form>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n</section>\r\n} @else {\r\n <div class=\"row d-flex justify-content-center py-5 \">\r\n <div class=\"col-12 col-md-8 my-5\">\r\n <div class=\"element-container text-center\">\r\n <h3>{{ 'mail-sent' | translate }}</h3>\r\n </div>\r\n <div class=\"element-container text-center\">\r\n <h5 class=\"center-text\">{{ 'check-your-email' | translate }}</h5>\r\n </div>\r\n </div>\r\n </div>\r\n }" }]
9524
+ args: [{ selector: 'app-forgot-password-ec', standalone: true, imports: [TranslateModule, ReactiveFormsModule, LoadingInlineEcComponent], template: "\n<!-- CONTENIDO -->\n @if(!ready){\n<section class=\"container-fluid mb-3 py-3 py-md-4 bloqueContact\">\n <div class=\"container-xl\">\n <div class=\"row\">\n\n <div class=\"col-12 col-md-8 col-lg-5 m-auto recuperar mt-5\">\n <h2 class=\"fw-600 mt-0 mb-4\">{{ 'recover-password' | translate\n }}</h2>\n <form [formGroup]=\"form\" (submit)=\"recoverPassword($event)\" class=\"mt-0\">\n\n <p for=\"nombre\">{{ 'set-forgot-email' | translate }}</p>\n <input class=\"form-control\" formControlName=\"email\" type='text' name='nombre' id=\"nombre\" value='' placeholder=''>\n\n <div class=\"contSend mt-4\">\n <input class=\"comprar\" type=\"submit\" [disabled]=\"form.invalid\" name='' value='ENVIAR' placeholder=''>\n </div>\n\n </form>\n </div>\n\n </div>\n </div>\n</section>\n} @else {\n <div class=\"row d-flex justify-content-center py-5 \">\n <div class=\"col-12 col-md-8 my-5\">\n <div class=\"element-container text-center\">\n <h3>{{ 'mail-sent' | translate }}</h3>\n </div>\n <div class=\"element-container text-center\">\n <h5 class=\"center-text\">{{ 'check-your-email' | translate }}</h5>\n </div>\n </div>\n </div>\n }" }]
9397
9525
  }], ctorParameters: () => [] });
9398
9526
 
9399
9527
  class ConfirmAccountEcComponent {
@@ -9411,11 +9539,11 @@ class ConfirmAccountEcComponent {
9411
9539
  });
9412
9540
  }
9413
9541
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfirmAccountEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9414
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ConfirmAccountEcComponent, isStandalone: true, selector: "app-confirm-account-ec", ngImport: i0, template: "<div class=\"my-5 py-5\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-12 text-center\">\r\n <h4 class=\"confirm-title py-3 text-uppercase d-inline-block\">\r\n {{ ('thanks-for-register' | translate) | uppercase }}</h4>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-12 text-center\">\r\n <h4>{{ 'thanks-for-register-detail' | translate }}</h4>\r\n <a href=\"/auth/login\">\r\n <button class=\"btn btn-primary my-4\" type=\"button\">{{ 'login' | translate |\r\n uppercase }}</button>\r\n </a>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }] });
9542
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ConfirmAccountEcComponent, isStandalone: true, selector: "app-confirm-account-ec", ngImport: i0, template: "<div class=\"my-5 py-5\">\n <div class=\"row\">\n <div class=\"col-md-12 col-12 text-center\">\n <h4 class=\"confirm-title py-3 text-uppercase d-inline-block\">\n {{ ('thanks-for-register' | translate) | uppercase }}</h4>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-md-12 col-12 text-center\">\n <h4>{{ 'thanks-for-register-detail' | translate }}</h4>\n <a href=\"/auth/login\">\n <button class=\"btn btn-primary my-4\" type=\"button\">{{ 'login' | translate |\n uppercase }}</button>\n </a>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }] });
9415
9543
  }
9416
9544
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfirmAccountEcComponent, decorators: [{
9417
9545
  type: Component,
9418
- args: [{ selector: 'app-confirm-account-ec', standalone: true, imports: [TranslateModule, UpperCasePipe], template: "<div class=\"my-5 py-5\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-12 text-center\">\r\n <h4 class=\"confirm-title py-3 text-uppercase d-inline-block\">\r\n {{ ('thanks-for-register' | translate) | uppercase }}</h4>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-12 text-center\">\r\n <h4>{{ 'thanks-for-register-detail' | translate }}</h4>\r\n <a href=\"/auth/login\">\r\n <button class=\"btn btn-primary my-4\" type=\"button\">{{ 'login' | translate |\r\n uppercase }}</button>\r\n </a>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
9546
+ args: [{ selector: 'app-confirm-account-ec', standalone: true, imports: [TranslateModule, UpperCasePipe], template: "<div class=\"my-5 py-5\">\n <div class=\"row\">\n <div class=\"col-md-12 col-12 text-center\">\n <h4 class=\"confirm-title py-3 text-uppercase d-inline-block\">\n {{ ('thanks-for-register' | translate) | uppercase }}</h4>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-md-12 col-12 text-center\">\n <h4>{{ 'thanks-for-register-detail' | translate }}</h4>\n <a href=\"/auth/login\">\n <button class=\"btn btn-primary my-4\" type=\"button\">{{ 'login' | translate |\n uppercase }}</button>\n </a>\n </div>\n </div>\n</div>\n" }]
9419
9547
  }] });
9420
9548
 
9421
9549
  class RegisterFormEcComponent {
@@ -9545,11 +9673,11 @@ class RegisterFormEcComponent {
9545
9673
  this.showPassword = !this.showPassword;
9546
9674
  }
9547
9675
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RegisterFormEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9548
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: RegisterFormEcComponent, isStandalone: true, selector: "app-register-form-ec", inputs: { redirect: "redirect" }, outputs: { ready: "ready" }, ngImport: i0, template: "<div class=\"w-100 pl-md-5 position-relative\" id=\"register\">\r\n <div class=\"py-2\">\r\n <h5>CREAR CUENTA</h5>\r\n </div>\r\n <form id=\"registro\" [formGroup]=\"registerForm\" (submit)=\"register($event)\">\r\n <div class=\"form-group\">\r\n <label for=\"\" class=\"form-label\">NOMBRE</label>\r\n <input formControlName=\"firstName\" class=\"form-control rounded-0\" type=\"text\" placeholder=\"Nombre\">\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"\" class=\"form-label\">APELLIDO</label>\r\n <input formControlName=\"lastName\" class=\"form-control rounded-0\" type=\"text\" placeholder=\"Apellido\">\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"\" class=\"\">CORREO ELECTRONICO</label>\r\n <input formControlName=\"email\" email required class=\"form-control rounded-0\" type=\"email\"\r\n placeholder=\"Correo electr\u00F3nico\">\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"\" class=\"form-label\">CONTRASE\u00D1A</label>\r\n <input formControlName=\"plainPassword\" required class=\"form-control rounded-0\" type=\"password\"\r\n placeholder=\"Contrase\u00F1a\">\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"\" class=\"form-label\">REPETIR CONTRASE\u00D1A</label>\r\n <input formControlName=\"plainPassword2\" required class=\"form-control rounded-0\" type=\"password\"\r\n placeholder=\"Repetir contrase\u00F1a\">\r\n </div>\r\n\r\n <div class=\"custom-control d-flex flex-row form-check custom-checkbox mr-sm-2 mt-4 mb-2\">\r\n <input type=\"checkbox\" formControlName=\"terms\" required class=\"custom-control-input form-check-input\" name=\"Color2\"\r\n id=\"Color2\">\r\n <label class=\"custom-control-label ff-ubuntu-light font-sm form-check-label\" for=\"Color2\"> He\r\n le\u00EDdo y acepto las pol\u00EDticas de privacidad y los t\u00E9rminos y\r\n condiciones</label>\r\n </div>\r\n\r\n <div class=\"custom-control d-flex flex-row form-check custom-checkbox mr-sm-2 mb-4\">\r\n <input type=\"checkbox\" formControlName=\"newsletter\" class=\"custom-control-input form-check-input\" name=\"Color3\" id=\"Color3\">\r\n <label class=\"custom-control-label form-check-label ff-ubuntu-light font-sm\" for=\"Color3\">\r\n Suscripci\u00F3n al Newsletter</label>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <button [disabled]=\"registerForm.invalid\" type=\"submit\"\r\n class=\"btn btn-primary px-5 py-2 h-fit\">CREAR</button>\r\n </div>\r\n </div>\r\n </form>\r\n @if(loading){\r\n <app-loading-section-ec />\r\n }\r\n \r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.CheckboxRequiredValidator, selector: "input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]" }, { kind: "directive", type: i1$4.EmailValidator, selector: "[email][formControlName],[email][formControl],[email][ngModel]", inputs: ["email"] }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: LoadingSectionEcComponent, selector: "app-loading-section-ec" }] });
9676
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: RegisterFormEcComponent, isStandalone: true, selector: "app-register-form-ec", inputs: { redirect: "redirect" }, outputs: { ready: "ready" }, ngImport: i0, template: "<div class=\"w-100 pl-md-5 position-relative\" id=\"register\">\n <div class=\"py-2\">\n <h5>CREAR CUENTA</h5>\n </div>\n <form id=\"registro\" [formGroup]=\"registerForm\" (submit)=\"register($event)\">\n <div class=\"form-group\">\n <label for=\"\" class=\"form-label\">NOMBRE</label>\n <input formControlName=\"firstName\" class=\"form-control rounded-0\" type=\"text\" placeholder=\"Nombre\">\n </div>\n <div class=\"form-group\">\n <label for=\"\" class=\"form-label\">APELLIDO</label>\n <input formControlName=\"lastName\" class=\"form-control rounded-0\" type=\"text\" placeholder=\"Apellido\">\n </div>\n <div class=\"form-group\">\n <label for=\"\" class=\"\">CORREO ELECTRONICO</label>\n <input formControlName=\"email\" email required class=\"form-control rounded-0\" type=\"email\"\n placeholder=\"Correo electr\u00F3nico\">\n </div>\n <div class=\"form-group\">\n <label for=\"\" class=\"form-label\">CONTRASE\u00D1A</label>\n <input formControlName=\"plainPassword\" required class=\"form-control rounded-0\" type=\"password\"\n placeholder=\"Contrase\u00F1a\">\n </div>\n <div class=\"form-group\">\n <label for=\"\" class=\"form-label\">REPETIR CONTRASE\u00D1A</label>\n <input formControlName=\"plainPassword2\" required class=\"form-control rounded-0\" type=\"password\"\n placeholder=\"Repetir contrase\u00F1a\">\n </div>\n\n <div class=\"custom-control d-flex flex-row form-check custom-checkbox mr-sm-2 mt-4 mb-2\">\n <input type=\"checkbox\" formControlName=\"terms\" required class=\"custom-control-input form-check-input\" name=\"Color2\"\n id=\"Color2\">\n <label class=\"custom-control-label ff-ubuntu-light font-sm form-check-label\" for=\"Color2\"> He\n le\u00EDdo y acepto las pol\u00EDticas de privacidad y los t\u00E9rminos y\n condiciones</label>\n </div>\n\n <div class=\"custom-control d-flex flex-row form-check custom-checkbox mr-sm-2 mb-4\">\n <input type=\"checkbox\" formControlName=\"newsletter\" class=\"custom-control-input form-check-input\" name=\"Color3\" id=\"Color3\">\n <label class=\"custom-control-label form-check-label ff-ubuntu-light font-sm\" for=\"Color3\">\n Suscripci\u00F3n al Newsletter</label>\n </div>\n\n <div class=\"row\">\n <div class=\"col-12\">\n <button [disabled]=\"registerForm.invalid\" type=\"submit\"\n class=\"btn btn-primary px-5 py-2 h-fit\">CREAR</button>\n </div>\n </div>\n </form>\n @if(loading){\n <app-loading-section-ec />\n }\n \n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.CheckboxRequiredValidator, selector: "input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]" }, { kind: "directive", type: i1$4.EmailValidator, selector: "[email][formControlName],[email][formControl],[email][ngModel]", inputs: ["email"] }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: LoadingSectionEcComponent, selector: "app-loading-section-ec" }] });
9549
9677
  }
9550
9678
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RegisterFormEcComponent, decorators: [{
9551
9679
  type: Component,
9552
- args: [{ selector: 'app-register-form-ec', standalone: true, imports: [ReactiveFormsModule, LoadingSectionEcComponent], template: "<div class=\"w-100 pl-md-5 position-relative\" id=\"register\">\r\n <div class=\"py-2\">\r\n <h5>CREAR CUENTA</h5>\r\n </div>\r\n <form id=\"registro\" [formGroup]=\"registerForm\" (submit)=\"register($event)\">\r\n <div class=\"form-group\">\r\n <label for=\"\" class=\"form-label\">NOMBRE</label>\r\n <input formControlName=\"firstName\" class=\"form-control rounded-0\" type=\"text\" placeholder=\"Nombre\">\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"\" class=\"form-label\">APELLIDO</label>\r\n <input formControlName=\"lastName\" class=\"form-control rounded-0\" type=\"text\" placeholder=\"Apellido\">\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"\" class=\"\">CORREO ELECTRONICO</label>\r\n <input formControlName=\"email\" email required class=\"form-control rounded-0\" type=\"email\"\r\n placeholder=\"Correo electr\u00F3nico\">\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"\" class=\"form-label\">CONTRASE\u00D1A</label>\r\n <input formControlName=\"plainPassword\" required class=\"form-control rounded-0\" type=\"password\"\r\n placeholder=\"Contrase\u00F1a\">\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"\" class=\"form-label\">REPETIR CONTRASE\u00D1A</label>\r\n <input formControlName=\"plainPassword2\" required class=\"form-control rounded-0\" type=\"password\"\r\n placeholder=\"Repetir contrase\u00F1a\">\r\n </div>\r\n\r\n <div class=\"custom-control d-flex flex-row form-check custom-checkbox mr-sm-2 mt-4 mb-2\">\r\n <input type=\"checkbox\" formControlName=\"terms\" required class=\"custom-control-input form-check-input\" name=\"Color2\"\r\n id=\"Color2\">\r\n <label class=\"custom-control-label ff-ubuntu-light font-sm form-check-label\" for=\"Color2\"> He\r\n le\u00EDdo y acepto las pol\u00EDticas de privacidad y los t\u00E9rminos y\r\n condiciones</label>\r\n </div>\r\n\r\n <div class=\"custom-control d-flex flex-row form-check custom-checkbox mr-sm-2 mb-4\">\r\n <input type=\"checkbox\" formControlName=\"newsletter\" class=\"custom-control-input form-check-input\" name=\"Color3\" id=\"Color3\">\r\n <label class=\"custom-control-label form-check-label ff-ubuntu-light font-sm\" for=\"Color3\">\r\n Suscripci\u00F3n al Newsletter</label>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <button [disabled]=\"registerForm.invalid\" type=\"submit\"\r\n class=\"btn btn-primary px-5 py-2 h-fit\">CREAR</button>\r\n </div>\r\n </div>\r\n </form>\r\n @if(loading){\r\n <app-loading-section-ec />\r\n }\r\n \r\n</div>\r\n" }]
9680
+ args: [{ selector: 'app-register-form-ec', standalone: true, imports: [ReactiveFormsModule, LoadingSectionEcComponent], template: "<div class=\"w-100 pl-md-5 position-relative\" id=\"register\">\n <div class=\"py-2\">\n <h5>CREAR CUENTA</h5>\n </div>\n <form id=\"registro\" [formGroup]=\"registerForm\" (submit)=\"register($event)\">\n <div class=\"form-group\">\n <label for=\"\" class=\"form-label\">NOMBRE</label>\n <input formControlName=\"firstName\" class=\"form-control rounded-0\" type=\"text\" placeholder=\"Nombre\">\n </div>\n <div class=\"form-group\">\n <label for=\"\" class=\"form-label\">APELLIDO</label>\n <input formControlName=\"lastName\" class=\"form-control rounded-0\" type=\"text\" placeholder=\"Apellido\">\n </div>\n <div class=\"form-group\">\n <label for=\"\" class=\"\">CORREO ELECTRONICO</label>\n <input formControlName=\"email\" email required class=\"form-control rounded-0\" type=\"email\"\n placeholder=\"Correo electr\u00F3nico\">\n </div>\n <div class=\"form-group\">\n <label for=\"\" class=\"form-label\">CONTRASE\u00D1A</label>\n <input formControlName=\"plainPassword\" required class=\"form-control rounded-0\" type=\"password\"\n placeholder=\"Contrase\u00F1a\">\n </div>\n <div class=\"form-group\">\n <label for=\"\" class=\"form-label\">REPETIR CONTRASE\u00D1A</label>\n <input formControlName=\"plainPassword2\" required class=\"form-control rounded-0\" type=\"password\"\n placeholder=\"Repetir contrase\u00F1a\">\n </div>\n\n <div class=\"custom-control d-flex flex-row form-check custom-checkbox mr-sm-2 mt-4 mb-2\">\n <input type=\"checkbox\" formControlName=\"terms\" required class=\"custom-control-input form-check-input\" name=\"Color2\"\n id=\"Color2\">\n <label class=\"custom-control-label ff-ubuntu-light font-sm form-check-label\" for=\"Color2\"> He\n le\u00EDdo y acepto las pol\u00EDticas de privacidad y los t\u00E9rminos y\n condiciones</label>\n </div>\n\n <div class=\"custom-control d-flex flex-row form-check custom-checkbox mr-sm-2 mb-4\">\n <input type=\"checkbox\" formControlName=\"newsletter\" class=\"custom-control-input form-check-input\" name=\"Color3\" id=\"Color3\">\n <label class=\"custom-control-label form-check-label ff-ubuntu-light font-sm\" for=\"Color3\">\n Suscripci\u00F3n al Newsletter</label>\n </div>\n\n <div class=\"row\">\n <div class=\"col-12\">\n <button [disabled]=\"registerForm.invalid\" type=\"submit\"\n class=\"btn btn-primary px-5 py-2 h-fit\">CREAR</button>\n </div>\n </div>\n </form>\n @if(loading){\n <app-loading-section-ec />\n }\n \n</div>\n" }]
9553
9681
  }], ctorParameters: () => [], propDecorators: { redirect: [{
9554
9682
  type: Input
9555
9683
  }], ready: [{
@@ -9687,11 +9815,11 @@ class RegisterWholesalerFormEcComponent {
9687
9815
  this.form.controls['provinceName'].setValue(provinces.find((province) => province.code == value).name);
9688
9816
  };
9689
9817
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RegisterWholesalerFormEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9690
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: RegisterWholesalerFormEcComponent, isStandalone: true, selector: "app-register-wholesaler-form-ec", inputs: { redirect: "redirect" }, outputs: { ready: "ready" }, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"\">\r\n <div class=\"pt-5 pb-3 border-bottom\">\r\n <h3 class=\"my-auto mx-2 text-left w-fit bold text-beige1 white-space-md-nowrap\">CREAR CUENTA\r\n MAYORISTA</h3>\r\n </div>\r\n <div class=\" py-3\">\r\n <p>Si todavia no tienes una cuenta de grandes consumidores en nuestra plataforma, registrate\r\n ingresando estos\r\n datos:</p>\r\n </div>\r\n <form [formGroup]=\"form\" (submit)=\"register($event)\" class=\"position-relative\">\r\n <div class=\"row w-100 mx-auto d-flex justify-content-center px-0 py-3\">\r\n\r\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">Nombre</label>\r\n <input type=\"text\" id=\"\" placeholder=\"Nombre\" required name=\"firstName\"\r\n formControlName=\"firstName\"\r\n [class]=\"form.controls['firstName'].touched ? (form.controls['firstName'].valid && form.controls['firstName'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <span class=\"invalid-feedback\">El nombre es un campo obligatorio.</span>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">Apellidos</label>\r\n <input type=\"text\" id=\"\" placeholder=\"Apellido\" required name=\"lastName\"\r\n formControlName=\"lastName\"\r\n [class]=\"form.controls['lastName'].touched ? (form.controls['lastName'].valid && form.controls['lastName'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <span class=\"invalid-feedback\">El apellido es un campo obligatorio.</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">Email</label>\r\n <input type=\"email\" id=\"\" placeholder=\"Email\" email required name=\"email\"\r\n formControlName=\"email\"\r\n [class]=\"form.controls['email'].touched ? (form.controls['email'].valid && form.controls['email'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <span class=\"invalid-feedback\">El email no posee un formato correcto.</span>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">Contrase\u00F1a</label>\r\n <input type=\"password\" id=\"\" placeholder=\"Contrase\u00F1a\" required name=\"plainPassword\"\r\n formControlName=\"plainPassword\"\r\n [class]=\"form.controls['plainPassword'].touched ? (form.controls['plainPassword'].valid && form.controls['plainPassword'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <span class=\"invalid-feedback\">La contrase\u00F1a es un campo obligatorio.</span>\r\n </div>\r\n </div>\r\n @if(documentTypes$ | async; as documentTypes){\r\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">{{'document-type'|translate}}</label>\r\n <select name=\"documentType\" formControlName=\"documentType\" required\r\n [class]=\"form.controls['documentType'].touched ? (form.controls['documentType'].valid && form.controls['documentType'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <option [value]=\"null\" id=\"selectDocumentType\" disabled>Seleccione un tipo</option>\r\n @for (type of documentTypes; track $index) {\r\n <option [value]=\"type.code\">{{ type.name }}</option>\r\n }\r\n </select>\r\n <span class=\"invalid-feedback\">{{'document-type-help'|translate}}</span>\r\n </div>\r\n </div>\r\n }\r\n\r\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">{{'document-number'|translate}}</label>\r\n <input type=\"text\" id=\"\" placeholder=\"{{'document-number'|translate}}\" required\r\n name=\"documentNumber\" formControlName=\"documentNumber\"\r\n [class]=\"form.controls['documentNumber'].touched ? (form.controls['documentNumber'].valid && form.controls['documentNumber'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <span class=\"invalid-feedback\">{{'document-type-help'|translate}}</span>\r\n </div>\r\n </div>\r\n\r\n @if(countries$ | async; as countries ){\r\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">{{'country'|translate}}</label>\r\n <select name=\"countryCode\" formControlName=\"countryCode\" required (change)=\"onCountrySelected($event)\"\r\n [class]=\"form.controls['countryCode'].touched ? (form.controls['countryCode'].valid && form.controls['countryCode'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <option [value]=\"null\" id=\"selectOpPais\" disabled>Seleccione un pais</option>\r\n @for (country of countries; track $index) {\r\n <option [value]=\"country.code\"> {{ country.name }}</option>\r\n }\r\n </select>\r\n <span class=\"invalid-feedback\">{{'country-help'|translate}}</span>\r\n </div>\r\n </div>\r\n }\r\n @if(provinces$ |async ; as provinces){\r\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">{{'state'|translate}}</label>\r\n <select name=\"provinceCode\" formControlName=\"provinceCode\" required (change)=\"onProvincesSelected($event, provinces)\"\r\n [class]=\"form.controls['provinceCode'].touched ? (form.controls['provinceCode'].valid && form.controls['provinceCode'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <option [value]=\"null\" id=\"selectOpProvincia\" disabled>Seleccione una provincia\r\n </option>\r\n @for (province of provinces; track $index) {\r\n <option [value]=\"province.code\">{{ province.name }}</option>\r\n }\r\n </select>\r\n <span class=\"invalid-feedback\">{{'state-help'|translate}}</span>\r\n </div>\r\n </div>\r\n }\r\n\r\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">{{'address'|translate}}</label>\r\n <input placeholder=\"{{'address'|translate}}\" required type=\"text\" name=\"street\"\r\n formControlName=\"street\"\r\n [class]=\"form.controls['street'].touched ? (form.controls['street'].valid && form.controls['street'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <span class=\"invalid-feedback\">{{'address-help1'|translate}}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">{{'town-city'|translate}}</label>\r\n <input placeholder=\"{{'town-city'|translate}}\" required type=\"text\" name=\"city\"\r\n formControlName=\"city\"\r\n [class]=\"form.controls['city'].touched ? (form.controls['city'].valid && form.controls['city'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <span class=\"invalid-feedback\">{{'town-city-help'|translate}}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">{{'postal-code'|translate}}</label>\r\n <input placeholder=\"{{'postal-code'|translate}}\" required type=\"text\" name=\"postcode\"\r\n formControlName=\"postcode\"\r\n [class]=\"form.controls['postcode'].touched ? (form.controls['postcode'].valid && form.controls['postcode'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <span class=\"invalid-feedback\">{{'postal-code-help'|translate}}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">Nombre compa\u00F1\u00EDa</label>\r\n <input type=\"text\" id=\"\" placeholder=\"Nombre compa\u00F1\u00EDa\" required name=\"companyName\"\r\n formControlName=\"companyName\"\r\n [class]=\"form.controls['companyName'].touched ? (form.controls['companyName'].valid && form.controls['companyName'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <span class=\"invalid-feedback\">El nombre compa\u00F1\u00EDa es un campo obligatorio.</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">{{'phone'|translate}}</label>\r\n <input type=\"text\" id=\"\" placeholder=\"{{'phone'|translate}}\" required name=\"phoneNumber\"\r\n formControlName=\"phoneNumber\"\r\n [class]=\"form.controls['phoneNumber'].touched ? (form.controls['phoneNumber'].valid && form.controls['phoneNumber'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <span class=\"invalid-feedback\">El numero de telefono es un campo obligatorio.</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">Sexo</label>\r\n <select required name=\"gender\" formControlName=\"gender\"\r\n [class]=\"form.controls['gender'].touched ? (form.controls['gender'].valid && form.controls['gender'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <option value=\"null\" id=\"selectOpSexo\">Sexo</option>\r\n <option value=\"u\">Desconocido</option>\r\n <option value=\"s\">Femenino</option>\r\n <option value=\"m\">Masculino</option>\r\n </select>\r\n <span class=\"invalid-feedback\">El sexo es un campo obligatorio.</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">Fecha creacion</label>\r\n <input type=\"date\" id=\"\" placeholder=\"Fecha creacion\" required name=\"birthday\"\r\n formControlName=\"birthday\"\r\n [class]=\"form.controls['birthday'].touched ? (form.controls['birthday'].valid && form.controls['birthday'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <span class=\"invalid-feedback\">La fecha de creacion es un campo obligatorio.</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">Identificacion</label>\r\n <input type=\"text\" id=\"\" placeholder=\"Identificacion\" required name=\"taxIdentification\"\r\n formControlName=\"taxIdentification\"\r\n [class]=\"form.controls['taxIdentification'].touched ? (form.controls['taxIdentification'].valid && form.controls['taxIdentification'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <span class=\"invalid-feedback\">La identificacion de la compa\u00F1\u00EDa es un campo\r\n obligatorio.</span>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-md-6 px-0 py-4 pl-md-1 \">\r\n <div class=\"form-check py-2\">\r\n <input class=\"form-check-input\" type=\"checkbox\" value=\"\" id=\"terms\" name=\"terms\"\r\n formControlName=\"terms\" type=\"checkbox\">\r\n <label for=\"terms\" class=\"form-check-label\">Acepto los <a\r\n [routerLink]=\"['/section/terminos-y-condiciones']\"\r\n routerLinkActive=\"router-link-active\" class=\"text-primary\">t\u00E9rminos y\r\n condiciones *</a></label>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-md-6 px-0 py-4 pl-md-1\">\r\n <div class=\"form-check py-2\">\r\n <input class=\"form-check-input\" type=\"checkbox\" value=\"\" id=\"defaultCheck2\"\r\n name=\"subscribedToNewsletter\" formControlName=\"subscribedToNewsletter\"\r\n type=\"checkbox\">\r\n <label class=\"form-check-label\" for=\"defaultCheck2\">\r\n Suscripci\u00F3n al newsletter\r\n </label>\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"col-12 col-md-6 px-0 py-4 pr-md-1 d-flex justify-content-md-start order-2 order-md-1\">\r\n\r\n <button type=\"submit\" role=\"button\" [disabled]=\"form.invalid\"\r\n class=\"btn btn-primary rounded-0 px-5 py-2 w-100 w-md-auto h-fit\">REGISTRATE</button>\r\n </div>\r\n\r\n </div>\r\n <pre>{{form.value | json}}</pre>\r\n @if(loading){\r\n <app-loading-section-ec />\r\n }\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [""], dependencies: [{ kind: "component", type: LoadingSectionEcComponent, selector: "app-loading-section-ec" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.EmailValidator, selector: "[email][formControlName],[email][formControl],[email][ngModel]", inputs: ["email"] }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: JsonPipe, name: "json" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
9818
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: RegisterWholesalerFormEcComponent, isStandalone: true, selector: "app-register-wholesaler-form-ec", inputs: { redirect: "redirect" }, outputs: { ready: "ready" }, ngImport: i0, template: "<div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"\">\n <div class=\"pt-5 pb-3 border-bottom\">\n <h3 class=\"my-auto mx-2 text-left w-fit bold text-beige1 white-space-md-nowrap\">CREAR CUENTA\n MAYORISTA</h3>\n </div>\n <div class=\" py-3\">\n <p>Si todavia no tienes una cuenta de grandes consumidores en nuestra plataforma, registrate\n ingresando estos\n datos:</p>\n </div>\n <form [formGroup]=\"form\" (submit)=\"register($event)\" class=\"position-relative\">\n <div class=\"row w-100 mx-auto d-flex justify-content-center px-0 py-3\">\n\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\n <div class=\"form-group\">\n <label for=\"\">Nombre</label>\n <input type=\"text\" id=\"\" placeholder=\"Nombre\" required name=\"firstName\"\n formControlName=\"firstName\"\n [class]=\"form.controls['firstName'].touched ? (form.controls['firstName'].valid && form.controls['firstName'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <span class=\"invalid-feedback\">El nombre es un campo obligatorio.</span>\n </div>\n </div>\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\n <div class=\"form-group\">\n <label for=\"\">Apellidos</label>\n <input type=\"text\" id=\"\" placeholder=\"Apellido\" required name=\"lastName\"\n formControlName=\"lastName\"\n [class]=\"form.controls['lastName'].touched ? (form.controls['lastName'].valid && form.controls['lastName'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <span class=\"invalid-feedback\">El apellido es un campo obligatorio.</span>\n </div>\n </div>\n\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\n <div class=\"form-group\">\n <label for=\"\">Email</label>\n <input type=\"email\" id=\"\" placeholder=\"Email\" email required name=\"email\"\n formControlName=\"email\"\n [class]=\"form.controls['email'].touched ? (form.controls['email'].valid && form.controls['email'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <span class=\"invalid-feedback\">El email no posee un formato correcto.</span>\n </div>\n </div>\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\n <div class=\"form-group\">\n <label for=\"\">Contrase\u00F1a</label>\n <input type=\"password\" id=\"\" placeholder=\"Contrase\u00F1a\" required name=\"plainPassword\"\n formControlName=\"plainPassword\"\n [class]=\"form.controls['plainPassword'].touched ? (form.controls['plainPassword'].valid && form.controls['plainPassword'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <span class=\"invalid-feedback\">La contrase\u00F1a es un campo obligatorio.</span>\n </div>\n </div>\n @if(documentTypes$ | async; as documentTypes){\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\n <div class=\"form-group\">\n <label for=\"\">{{'document-type'|translate}}</label>\n <select name=\"documentType\" formControlName=\"documentType\" required\n [class]=\"form.controls['documentType'].touched ? (form.controls['documentType'].valid && form.controls['documentType'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <option [value]=\"null\" id=\"selectDocumentType\" disabled>Seleccione un tipo</option>\n @for (type of documentTypes; track $index) {\n <option [value]=\"type.code\">{{ type.name }}</option>\n }\n </select>\n <span class=\"invalid-feedback\">{{'document-type-help'|translate}}</span>\n </div>\n </div>\n }\n\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\n <div class=\"form-group\">\n <label for=\"\">{{'document-number'|translate}}</label>\n <input type=\"text\" id=\"\" placeholder=\"{{'document-number'|translate}}\" required\n name=\"documentNumber\" formControlName=\"documentNumber\"\n [class]=\"form.controls['documentNumber'].touched ? (form.controls['documentNumber'].valid && form.controls['documentNumber'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <span class=\"invalid-feedback\">{{'document-type-help'|translate}}</span>\n </div>\n </div>\n\n @if(countries$ | async; as countries ){\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\n <div class=\"form-group\">\n <label for=\"\">{{'country'|translate}}</label>\n <select name=\"countryCode\" formControlName=\"countryCode\" required (change)=\"onCountrySelected($event)\"\n [class]=\"form.controls['countryCode'].touched ? (form.controls['countryCode'].valid && form.controls['countryCode'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <option [value]=\"null\" id=\"selectOpPais\" disabled>Seleccione un pais</option>\n @for (country of countries; track $index) {\n <option [value]=\"country.code\"> {{ country.name }}</option>\n }\n </select>\n <span class=\"invalid-feedback\">{{'country-help'|translate}}</span>\n </div>\n </div>\n }\n @if(provinces$ |async ; as provinces){\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\n <div class=\"form-group\">\n <label for=\"\">{{'state'|translate}}</label>\n <select name=\"provinceCode\" formControlName=\"provinceCode\" required (change)=\"onProvincesSelected($event, provinces)\"\n [class]=\"form.controls['provinceCode'].touched ? (form.controls['provinceCode'].valid && form.controls['provinceCode'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <option [value]=\"null\" id=\"selectOpProvincia\" disabled>Seleccione una provincia\n </option>\n @for (province of provinces; track $index) {\n <option [value]=\"province.code\">{{ province.name }}</option>\n }\n </select>\n <span class=\"invalid-feedback\">{{'state-help'|translate}}</span>\n </div>\n </div>\n }\n\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\n <div class=\"form-group\">\n <label for=\"\">{{'address'|translate}}</label>\n <input placeholder=\"{{'address'|translate}}\" required type=\"text\" name=\"street\"\n formControlName=\"street\"\n [class]=\"form.controls['street'].touched ? (form.controls['street'].valid && form.controls['street'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <span class=\"invalid-feedback\">{{'address-help1'|translate}}</span>\n </div>\n </div>\n\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\n <div class=\"form-group\">\n <label for=\"\">{{'town-city'|translate}}</label>\n <input placeholder=\"{{'town-city'|translate}}\" required type=\"text\" name=\"city\"\n formControlName=\"city\"\n [class]=\"form.controls['city'].touched ? (form.controls['city'].valid && form.controls['city'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <span class=\"invalid-feedback\">{{'town-city-help'|translate}}</span>\n </div>\n </div>\n\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\n <div class=\"form-group\">\n <label for=\"\">{{'postal-code'|translate}}</label>\n <input placeholder=\"{{'postal-code'|translate}}\" required type=\"text\" name=\"postcode\"\n formControlName=\"postcode\"\n [class]=\"form.controls['postcode'].touched ? (form.controls['postcode'].valid && form.controls['postcode'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <span class=\"invalid-feedback\">{{'postal-code-help'|translate}}</span>\n </div>\n </div>\n\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\n <div class=\"form-group\">\n <label for=\"\">Nombre compa\u00F1\u00EDa</label>\n <input type=\"text\" id=\"\" placeholder=\"Nombre compa\u00F1\u00EDa\" required name=\"companyName\"\n formControlName=\"companyName\"\n [class]=\"form.controls['companyName'].touched ? (form.controls['companyName'].valid && form.controls['companyName'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <span class=\"invalid-feedback\">El nombre compa\u00F1\u00EDa es un campo obligatorio.</span>\n </div>\n </div>\n\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\n <div class=\"form-group\">\n <label for=\"\">{{'phone'|translate}}</label>\n <input type=\"text\" id=\"\" placeholder=\"{{'phone'|translate}}\" required name=\"phoneNumber\"\n formControlName=\"phoneNumber\"\n [class]=\"form.controls['phoneNumber'].touched ? (form.controls['phoneNumber'].valid && form.controls['phoneNumber'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <span class=\"invalid-feedback\">El numero de telefono es un campo obligatorio.</span>\n </div>\n </div>\n\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\n <div class=\"form-group\">\n <label for=\"\">Sexo</label>\n <select required name=\"gender\" formControlName=\"gender\"\n [class]=\"form.controls['gender'].touched ? (form.controls['gender'].valid && form.controls['gender'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <option value=\"null\" id=\"selectOpSexo\">Sexo</option>\n <option value=\"u\">Desconocido</option>\n <option value=\"s\">Femenino</option>\n <option value=\"m\">Masculino</option>\n </select>\n <span class=\"invalid-feedback\">El sexo es un campo obligatorio.</span>\n </div>\n </div>\n\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\n <div class=\"form-group\">\n <label for=\"\">Fecha creacion</label>\n <input type=\"date\" id=\"\" placeholder=\"Fecha creacion\" required name=\"birthday\"\n formControlName=\"birthday\"\n [class]=\"form.controls['birthday'].touched ? (form.controls['birthday'].valid && form.controls['birthday'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <span class=\"invalid-feedback\">La fecha de creacion es un campo obligatorio.</span>\n </div>\n </div>\n\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\n <div class=\"form-group\">\n <label for=\"\">Identificacion</label>\n <input type=\"text\" id=\"\" placeholder=\"Identificacion\" required name=\"taxIdentification\"\n formControlName=\"taxIdentification\"\n [class]=\"form.controls['taxIdentification'].touched ? (form.controls['taxIdentification'].valid && form.controls['taxIdentification'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <span class=\"invalid-feedback\">La identificacion de la compa\u00F1\u00EDa es un campo\n obligatorio.</span>\n </div>\n </div>\n <div class=\"col-12 col-md-6 px-0 py-4 pl-md-1 \">\n <div class=\"form-check py-2\">\n <input class=\"form-check-input\" type=\"checkbox\" value=\"\" id=\"terms\" name=\"terms\"\n formControlName=\"terms\" type=\"checkbox\">\n <label for=\"terms\" class=\"form-check-label\">Acepto los <a\n [routerLink]=\"['/section/terminos-y-condiciones']\"\n routerLinkActive=\"router-link-active\" class=\"text-primary\">t\u00E9rminos y\n condiciones *</a></label>\n </div>\n </div>\n <div class=\"col-12 col-md-6 px-0 py-4 pl-md-1\">\n <div class=\"form-check py-2\">\n <input class=\"form-check-input\" type=\"checkbox\" value=\"\" id=\"defaultCheck2\"\n name=\"subscribedToNewsletter\" formControlName=\"subscribedToNewsletter\"\n type=\"checkbox\">\n <label class=\"form-check-label\" for=\"defaultCheck2\">\n Suscripci\u00F3n al newsletter\n </label>\n </div>\n </div>\n\n <div\n class=\"col-12 col-md-6 px-0 py-4 pr-md-1 d-flex justify-content-md-start order-2 order-md-1\">\n\n <button type=\"submit\" role=\"button\" [disabled]=\"form.invalid\"\n class=\"btn btn-primary rounded-0 px-5 py-2 w-100 w-md-auto h-fit\">REGISTRATE</button>\n </div>\n\n </div>\n <pre>{{form.value | json}}</pre>\n @if(loading){\n <app-loading-section-ec />\n }\n </form>\n </div>\n </div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "component", type: LoadingSectionEcComponent, selector: "app-loading-section-ec" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.EmailValidator, selector: "[email][formControlName],[email][formControl],[email][ngModel]", inputs: ["email"] }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: JsonPipe, name: "json" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
9691
9819
  }
9692
9820
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RegisterWholesalerFormEcComponent, decorators: [{
9693
9821
  type: Component,
9694
- args: [{ selector: 'app-register-wholesaler-form-ec', standalone: true, imports: [LoadingSectionEcComponent, ReactiveFormsModule, TranslateModule, AsyncPipe, JsonPipe, RouterLink], template: "<div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"\">\r\n <div class=\"pt-5 pb-3 border-bottom\">\r\n <h3 class=\"my-auto mx-2 text-left w-fit bold text-beige1 white-space-md-nowrap\">CREAR CUENTA\r\n MAYORISTA</h3>\r\n </div>\r\n <div class=\" py-3\">\r\n <p>Si todavia no tienes una cuenta de grandes consumidores en nuestra plataforma, registrate\r\n ingresando estos\r\n datos:</p>\r\n </div>\r\n <form [formGroup]=\"form\" (submit)=\"register($event)\" class=\"position-relative\">\r\n <div class=\"row w-100 mx-auto d-flex justify-content-center px-0 py-3\">\r\n\r\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">Nombre</label>\r\n <input type=\"text\" id=\"\" placeholder=\"Nombre\" required name=\"firstName\"\r\n formControlName=\"firstName\"\r\n [class]=\"form.controls['firstName'].touched ? (form.controls['firstName'].valid && form.controls['firstName'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <span class=\"invalid-feedback\">El nombre es un campo obligatorio.</span>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">Apellidos</label>\r\n <input type=\"text\" id=\"\" placeholder=\"Apellido\" required name=\"lastName\"\r\n formControlName=\"lastName\"\r\n [class]=\"form.controls['lastName'].touched ? (form.controls['lastName'].valid && form.controls['lastName'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <span class=\"invalid-feedback\">El apellido es un campo obligatorio.</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">Email</label>\r\n <input type=\"email\" id=\"\" placeholder=\"Email\" email required name=\"email\"\r\n formControlName=\"email\"\r\n [class]=\"form.controls['email'].touched ? (form.controls['email'].valid && form.controls['email'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <span class=\"invalid-feedback\">El email no posee un formato correcto.</span>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">Contrase\u00F1a</label>\r\n <input type=\"password\" id=\"\" placeholder=\"Contrase\u00F1a\" required name=\"plainPassword\"\r\n formControlName=\"plainPassword\"\r\n [class]=\"form.controls['plainPassword'].touched ? (form.controls['plainPassword'].valid && form.controls['plainPassword'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <span class=\"invalid-feedback\">La contrase\u00F1a es un campo obligatorio.</span>\r\n </div>\r\n </div>\r\n @if(documentTypes$ | async; as documentTypes){\r\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">{{'document-type'|translate}}</label>\r\n <select name=\"documentType\" formControlName=\"documentType\" required\r\n [class]=\"form.controls['documentType'].touched ? (form.controls['documentType'].valid && form.controls['documentType'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <option [value]=\"null\" id=\"selectDocumentType\" disabled>Seleccione un tipo</option>\r\n @for (type of documentTypes; track $index) {\r\n <option [value]=\"type.code\">{{ type.name }}</option>\r\n }\r\n </select>\r\n <span class=\"invalid-feedback\">{{'document-type-help'|translate}}</span>\r\n </div>\r\n </div>\r\n }\r\n\r\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">{{'document-number'|translate}}</label>\r\n <input type=\"text\" id=\"\" placeholder=\"{{'document-number'|translate}}\" required\r\n name=\"documentNumber\" formControlName=\"documentNumber\"\r\n [class]=\"form.controls['documentNumber'].touched ? (form.controls['documentNumber'].valid && form.controls['documentNumber'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <span class=\"invalid-feedback\">{{'document-type-help'|translate}}</span>\r\n </div>\r\n </div>\r\n\r\n @if(countries$ | async; as countries ){\r\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">{{'country'|translate}}</label>\r\n <select name=\"countryCode\" formControlName=\"countryCode\" required (change)=\"onCountrySelected($event)\"\r\n [class]=\"form.controls['countryCode'].touched ? (form.controls['countryCode'].valid && form.controls['countryCode'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <option [value]=\"null\" id=\"selectOpPais\" disabled>Seleccione un pais</option>\r\n @for (country of countries; track $index) {\r\n <option [value]=\"country.code\"> {{ country.name }}</option>\r\n }\r\n </select>\r\n <span class=\"invalid-feedback\">{{'country-help'|translate}}</span>\r\n </div>\r\n </div>\r\n }\r\n @if(provinces$ |async ; as provinces){\r\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">{{'state'|translate}}</label>\r\n <select name=\"provinceCode\" formControlName=\"provinceCode\" required (change)=\"onProvincesSelected($event, provinces)\"\r\n [class]=\"form.controls['provinceCode'].touched ? (form.controls['provinceCode'].valid && form.controls['provinceCode'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <option [value]=\"null\" id=\"selectOpProvincia\" disabled>Seleccione una provincia\r\n </option>\r\n @for (province of provinces; track $index) {\r\n <option [value]=\"province.code\">{{ province.name }}</option>\r\n }\r\n </select>\r\n <span class=\"invalid-feedback\">{{'state-help'|translate}}</span>\r\n </div>\r\n </div>\r\n }\r\n\r\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">{{'address'|translate}}</label>\r\n <input placeholder=\"{{'address'|translate}}\" required type=\"text\" name=\"street\"\r\n formControlName=\"street\"\r\n [class]=\"form.controls['street'].touched ? (form.controls['street'].valid && form.controls['street'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <span class=\"invalid-feedback\">{{'address-help1'|translate}}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">{{'town-city'|translate}}</label>\r\n <input placeholder=\"{{'town-city'|translate}}\" required type=\"text\" name=\"city\"\r\n formControlName=\"city\"\r\n [class]=\"form.controls['city'].touched ? (form.controls['city'].valid && form.controls['city'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <span class=\"invalid-feedback\">{{'town-city-help'|translate}}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">{{'postal-code'|translate}}</label>\r\n <input placeholder=\"{{'postal-code'|translate}}\" required type=\"text\" name=\"postcode\"\r\n formControlName=\"postcode\"\r\n [class]=\"form.controls['postcode'].touched ? (form.controls['postcode'].valid && form.controls['postcode'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <span class=\"invalid-feedback\">{{'postal-code-help'|translate}}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">Nombre compa\u00F1\u00EDa</label>\r\n <input type=\"text\" id=\"\" placeholder=\"Nombre compa\u00F1\u00EDa\" required name=\"companyName\"\r\n formControlName=\"companyName\"\r\n [class]=\"form.controls['companyName'].touched ? (form.controls['companyName'].valid && form.controls['companyName'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <span class=\"invalid-feedback\">El nombre compa\u00F1\u00EDa es un campo obligatorio.</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">{{'phone'|translate}}</label>\r\n <input type=\"text\" id=\"\" placeholder=\"{{'phone'|translate}}\" required name=\"phoneNumber\"\r\n formControlName=\"phoneNumber\"\r\n [class]=\"form.controls['phoneNumber'].touched ? (form.controls['phoneNumber'].valid && form.controls['phoneNumber'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <span class=\"invalid-feedback\">El numero de telefono es un campo obligatorio.</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">Sexo</label>\r\n <select required name=\"gender\" formControlName=\"gender\"\r\n [class]=\"form.controls['gender'].touched ? (form.controls['gender'].valid && form.controls['gender'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <option value=\"null\" id=\"selectOpSexo\">Sexo</option>\r\n <option value=\"u\">Desconocido</option>\r\n <option value=\"s\">Femenino</option>\r\n <option value=\"m\">Masculino</option>\r\n </select>\r\n <span class=\"invalid-feedback\">El sexo es un campo obligatorio.</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">Fecha creacion</label>\r\n <input type=\"date\" id=\"\" placeholder=\"Fecha creacion\" required name=\"birthday\"\r\n formControlName=\"birthday\"\r\n [class]=\"form.controls['birthday'].touched ? (form.controls['birthday'].valid && form.controls['birthday'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <span class=\"invalid-feedback\">La fecha de creacion es un campo obligatorio.</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\r\n <div class=\"form-group\">\r\n <label for=\"\">Identificacion</label>\r\n <input type=\"text\" id=\"\" placeholder=\"Identificacion\" required name=\"taxIdentification\"\r\n formControlName=\"taxIdentification\"\r\n [class]=\"form.controls['taxIdentification'].touched ? (form.controls['taxIdentification'].valid && form.controls['taxIdentification'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\r\n <span class=\"invalid-feedback\">La identificacion de la compa\u00F1\u00EDa es un campo\r\n obligatorio.</span>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-md-6 px-0 py-4 pl-md-1 \">\r\n <div class=\"form-check py-2\">\r\n <input class=\"form-check-input\" type=\"checkbox\" value=\"\" id=\"terms\" name=\"terms\"\r\n formControlName=\"terms\" type=\"checkbox\">\r\n <label for=\"terms\" class=\"form-check-label\">Acepto los <a\r\n [routerLink]=\"['/section/terminos-y-condiciones']\"\r\n routerLinkActive=\"router-link-active\" class=\"text-primary\">t\u00E9rminos y\r\n condiciones *</a></label>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-md-6 px-0 py-4 pl-md-1\">\r\n <div class=\"form-check py-2\">\r\n <input class=\"form-check-input\" type=\"checkbox\" value=\"\" id=\"defaultCheck2\"\r\n name=\"subscribedToNewsletter\" formControlName=\"subscribedToNewsletter\"\r\n type=\"checkbox\">\r\n <label class=\"form-check-label\" for=\"defaultCheck2\">\r\n Suscripci\u00F3n al newsletter\r\n </label>\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"col-12 col-md-6 px-0 py-4 pr-md-1 d-flex justify-content-md-start order-2 order-md-1\">\r\n\r\n <button type=\"submit\" role=\"button\" [disabled]=\"form.invalid\"\r\n class=\"btn btn-primary rounded-0 px-5 py-2 w-100 w-md-auto h-fit\">REGISTRATE</button>\r\n </div>\r\n\r\n </div>\r\n <pre>{{form.value | json}}</pre>\r\n @if(loading){\r\n <app-loading-section-ec />\r\n }\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
9822
+ args: [{ selector: 'app-register-wholesaler-form-ec', standalone: true, imports: [LoadingSectionEcComponent, ReactiveFormsModule, TranslateModule, AsyncPipe, JsonPipe, RouterLink], template: "<div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"\">\n <div class=\"pt-5 pb-3 border-bottom\">\n <h3 class=\"my-auto mx-2 text-left w-fit bold text-beige1 white-space-md-nowrap\">CREAR CUENTA\n MAYORISTA</h3>\n </div>\n <div class=\" py-3\">\n <p>Si todavia no tienes una cuenta de grandes consumidores en nuestra plataforma, registrate\n ingresando estos\n datos:</p>\n </div>\n <form [formGroup]=\"form\" (submit)=\"register($event)\" class=\"position-relative\">\n <div class=\"row w-100 mx-auto d-flex justify-content-center px-0 py-3\">\n\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\n <div class=\"form-group\">\n <label for=\"\">Nombre</label>\n <input type=\"text\" id=\"\" placeholder=\"Nombre\" required name=\"firstName\"\n formControlName=\"firstName\"\n [class]=\"form.controls['firstName'].touched ? (form.controls['firstName'].valid && form.controls['firstName'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <span class=\"invalid-feedback\">El nombre es un campo obligatorio.</span>\n </div>\n </div>\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\n <div class=\"form-group\">\n <label for=\"\">Apellidos</label>\n <input type=\"text\" id=\"\" placeholder=\"Apellido\" required name=\"lastName\"\n formControlName=\"lastName\"\n [class]=\"form.controls['lastName'].touched ? (form.controls['lastName'].valid && form.controls['lastName'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <span class=\"invalid-feedback\">El apellido es un campo obligatorio.</span>\n </div>\n </div>\n\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\n <div class=\"form-group\">\n <label for=\"\">Email</label>\n <input type=\"email\" id=\"\" placeholder=\"Email\" email required name=\"email\"\n formControlName=\"email\"\n [class]=\"form.controls['email'].touched ? (form.controls['email'].valid && form.controls['email'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <span class=\"invalid-feedback\">El email no posee un formato correcto.</span>\n </div>\n </div>\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\n <div class=\"form-group\">\n <label for=\"\">Contrase\u00F1a</label>\n <input type=\"password\" id=\"\" placeholder=\"Contrase\u00F1a\" required name=\"plainPassword\"\n formControlName=\"plainPassword\"\n [class]=\"form.controls['plainPassword'].touched ? (form.controls['plainPassword'].valid && form.controls['plainPassword'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <span class=\"invalid-feedback\">La contrase\u00F1a es un campo obligatorio.</span>\n </div>\n </div>\n @if(documentTypes$ | async; as documentTypes){\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\n <div class=\"form-group\">\n <label for=\"\">{{'document-type'|translate}}</label>\n <select name=\"documentType\" formControlName=\"documentType\" required\n [class]=\"form.controls['documentType'].touched ? (form.controls['documentType'].valid && form.controls['documentType'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <option [value]=\"null\" id=\"selectDocumentType\" disabled>Seleccione un tipo</option>\n @for (type of documentTypes; track $index) {\n <option [value]=\"type.code\">{{ type.name }}</option>\n }\n </select>\n <span class=\"invalid-feedback\">{{'document-type-help'|translate}}</span>\n </div>\n </div>\n }\n\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\n <div class=\"form-group\">\n <label for=\"\">{{'document-number'|translate}}</label>\n <input type=\"text\" id=\"\" placeholder=\"{{'document-number'|translate}}\" required\n name=\"documentNumber\" formControlName=\"documentNumber\"\n [class]=\"form.controls['documentNumber'].touched ? (form.controls['documentNumber'].valid && form.controls['documentNumber'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <span class=\"invalid-feedback\">{{'document-type-help'|translate}}</span>\n </div>\n </div>\n\n @if(countries$ | async; as countries ){\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\n <div class=\"form-group\">\n <label for=\"\">{{'country'|translate}}</label>\n <select name=\"countryCode\" formControlName=\"countryCode\" required (change)=\"onCountrySelected($event)\"\n [class]=\"form.controls['countryCode'].touched ? (form.controls['countryCode'].valid && form.controls['countryCode'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <option [value]=\"null\" id=\"selectOpPais\" disabled>Seleccione un pais</option>\n @for (country of countries; track $index) {\n <option [value]=\"country.code\"> {{ country.name }}</option>\n }\n </select>\n <span class=\"invalid-feedback\">{{'country-help'|translate}}</span>\n </div>\n </div>\n }\n @if(provinces$ |async ; as provinces){\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\n <div class=\"form-group\">\n <label for=\"\">{{'state'|translate}}</label>\n <select name=\"provinceCode\" formControlName=\"provinceCode\" required (change)=\"onProvincesSelected($event, provinces)\"\n [class]=\"form.controls['provinceCode'].touched ? (form.controls['provinceCode'].valid && form.controls['provinceCode'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <option [value]=\"null\" id=\"selectOpProvincia\" disabled>Seleccione una provincia\n </option>\n @for (province of provinces; track $index) {\n <option [value]=\"province.code\">{{ province.name }}</option>\n }\n </select>\n <span class=\"invalid-feedback\">{{'state-help'|translate}}</span>\n </div>\n </div>\n }\n\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\n <div class=\"form-group\">\n <label for=\"\">{{'address'|translate}}</label>\n <input placeholder=\"{{'address'|translate}}\" required type=\"text\" name=\"street\"\n formControlName=\"street\"\n [class]=\"form.controls['street'].touched ? (form.controls['street'].valid && form.controls['street'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <span class=\"invalid-feedback\">{{'address-help1'|translate}}</span>\n </div>\n </div>\n\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\n <div class=\"form-group\">\n <label for=\"\">{{'town-city'|translate}}</label>\n <input placeholder=\"{{'town-city'|translate}}\" required type=\"text\" name=\"city\"\n formControlName=\"city\"\n [class]=\"form.controls['city'].touched ? (form.controls['city'].valid && form.controls['city'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <span class=\"invalid-feedback\">{{'town-city-help'|translate}}</span>\n </div>\n </div>\n\n <div class=\"col-12 col-md-6 px-0 pl-md-1\">\n <div class=\"form-group\">\n <label for=\"\">{{'postal-code'|translate}}</label>\n <input placeholder=\"{{'postal-code'|translate}}\" required type=\"text\" name=\"postcode\"\n formControlName=\"postcode\"\n [class]=\"form.controls['postcode'].touched ? (form.controls['postcode'].valid && form.controls['postcode'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <span class=\"invalid-feedback\">{{'postal-code-help'|translate}}</span>\n </div>\n </div>\n\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\n <div class=\"form-group\">\n <label for=\"\">Nombre compa\u00F1\u00EDa</label>\n <input type=\"text\" id=\"\" placeholder=\"Nombre compa\u00F1\u00EDa\" required name=\"companyName\"\n formControlName=\"companyName\"\n [class]=\"form.controls['companyName'].touched ? (form.controls['companyName'].valid && form.controls['companyName'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <span class=\"invalid-feedback\">El nombre compa\u00F1\u00EDa es un campo obligatorio.</span>\n </div>\n </div>\n\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\n <div class=\"form-group\">\n <label for=\"\">{{'phone'|translate}}</label>\n <input type=\"text\" id=\"\" placeholder=\"{{'phone'|translate}}\" required name=\"phoneNumber\"\n formControlName=\"phoneNumber\"\n [class]=\"form.controls['phoneNumber'].touched ? (form.controls['phoneNumber'].valid && form.controls['phoneNumber'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <span class=\"invalid-feedback\">El numero de telefono es un campo obligatorio.</span>\n </div>\n </div>\n\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\n <div class=\"form-group\">\n <label for=\"\">Sexo</label>\n <select required name=\"gender\" formControlName=\"gender\"\n [class]=\"form.controls['gender'].touched ? (form.controls['gender'].valid && form.controls['gender'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <option value=\"null\" id=\"selectOpSexo\">Sexo</option>\n <option value=\"u\">Desconocido</option>\n <option value=\"s\">Femenino</option>\n <option value=\"m\">Masculino</option>\n </select>\n <span class=\"invalid-feedback\">El sexo es un campo obligatorio.</span>\n </div>\n </div>\n\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\n <div class=\"form-group\">\n <label for=\"\">Fecha creacion</label>\n <input type=\"date\" id=\"\" placeholder=\"Fecha creacion\" required name=\"birthday\"\n formControlName=\"birthday\"\n [class]=\"form.controls['birthday'].touched ? (form.controls['birthday'].valid && form.controls['birthday'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <span class=\"invalid-feedback\">La fecha de creacion es un campo obligatorio.</span>\n </div>\n </div>\n\n <div class=\"col-12 col-md-6 px-0 pr-md-1\">\n <div class=\"form-group\">\n <label for=\"\">Identificacion</label>\n <input type=\"text\" id=\"\" placeholder=\"Identificacion\" required name=\"taxIdentification\"\n formControlName=\"taxIdentification\"\n [class]=\"form.controls['taxIdentification'].touched ? (form.controls['taxIdentification'].valid && form.controls['taxIdentification'].touched) ? 'form-control rounded-0 is-valid' : 'form-control rounded-0 is-invalid' : 'form-control rounded-0'\">\n <span class=\"invalid-feedback\">La identificacion de la compa\u00F1\u00EDa es un campo\n obligatorio.</span>\n </div>\n </div>\n <div class=\"col-12 col-md-6 px-0 py-4 pl-md-1 \">\n <div class=\"form-check py-2\">\n <input class=\"form-check-input\" type=\"checkbox\" value=\"\" id=\"terms\" name=\"terms\"\n formControlName=\"terms\" type=\"checkbox\">\n <label for=\"terms\" class=\"form-check-label\">Acepto los <a\n [routerLink]=\"['/section/terminos-y-condiciones']\"\n routerLinkActive=\"router-link-active\" class=\"text-primary\">t\u00E9rminos y\n condiciones *</a></label>\n </div>\n </div>\n <div class=\"col-12 col-md-6 px-0 py-4 pl-md-1\">\n <div class=\"form-check py-2\">\n <input class=\"form-check-input\" type=\"checkbox\" value=\"\" id=\"defaultCheck2\"\n name=\"subscribedToNewsletter\" formControlName=\"subscribedToNewsletter\"\n type=\"checkbox\">\n <label class=\"form-check-label\" for=\"defaultCheck2\">\n Suscripci\u00F3n al newsletter\n </label>\n </div>\n </div>\n\n <div\n class=\"col-12 col-md-6 px-0 py-4 pr-md-1 d-flex justify-content-md-start order-2 order-md-1\">\n\n <button type=\"submit\" role=\"button\" [disabled]=\"form.invalid\"\n class=\"btn btn-primary rounded-0 px-5 py-2 w-100 w-md-auto h-fit\">REGISTRATE</button>\n </div>\n\n </div>\n <pre>{{form.value | json}}</pre>\n @if(loading){\n <app-loading-section-ec />\n }\n </form>\n </div>\n </div>\n </div>\n</div>" }]
9695
9823
  }], ctorParameters: () => [], propDecorators: { redirect: [{
9696
9824
  type: Input
9697
9825
  }], ready: [{
@@ -9790,11 +9918,11 @@ class PasswordResetEcComponent extends ComponentHelper {
9790
9918
  }
9791
9919
  };
9792
9920
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PasswordResetEcComponent, deps: [{ token: AuthService }, { token: ToastService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: i1$4.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
9793
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: PasswordResetEcComponent, isStandalone: true, selector: "app-password-reset-ec", usesInheritance: true, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"row justify-content-center py-5\">\r\n <div class=\"col-12 col-md-6 col-lg-4\">\r\n @if(!ready){\r\n <form [formGroup]=\"formGroup\" (submit)=\"sendNewPassword($event)\">\r\n <div class=\"mb-4 text-center\">\r\n <h3>{{ 'set-new-password' | translate }}</h3>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{ 'set-password' | translate }}</label>\r\n <div class=\"input-group\">\r\n <input type=\"password\" formControlName=\"first\" class=\"form-control\" id=\"contrase\u00F1a1\" />\r\n <button class=\"btn btn-outline-secondary btn-password\" type=\"button\" (click)=\"showPassword()\">\r\n <i id=\"show1\" class=\"fas fa-eye i-show-password\"></i>\r\n <i id=\"hide1\" class=\"fas fa-eye-slash d-none i-show-password\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{ 'repeat-password' | translate }}</label>\r\n <div class=\"input-group\">\r\n <input type=\"password\" formControlName=\"second\" class=\"form-control\" id=\"contrase\u00F1a2\" />\r\n <button class=\"btn btn-outline-secondary btn-password\" type=\"button\" (click)=\"showPassword2()\">\r\n <i id=\"show2\" class=\"fas fa-eye i-show-password\"></i>\r\n <i id=\"hide2\" class=\"fas fa-eye-slash d-none i-show-password\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"mt-4 text-center\">\r\n <button type=\"submit\" class=\"comprar w-100\">{{ 'update' | translate }}</button>\r\n </div>\r\n @if(loading){\r\n <app-loading-inline-ec></app-loading-inline-ec>\r\n }\r\n </form>\r\n }@else {<div class=\"row justify-content-center mt-5 mb-5\">\r\n <div class=\"text-center\">\r\n <div class=\"mb-4\">\r\n <h3>{{ 'updated-password' | translate }}</h3>\r\n </div>\r\n <div class=\"mb-4\">\r\n <h5>{{ 'updated-password-detail' | translate }}</h5>\r\n </div>\r\n <button class=\"comprar\" (click)=\"sendToLogin()\">{{ 'login' | translate }}</button>\r\n </div>\r\n </div>}\r\n\r\n\r\n\r\n </div>\r\n </div>\r\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "component", type: LoadingInlineEcComponent, selector: "app-loading-inline-ec", inputs: ["type"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
9921
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: PasswordResetEcComponent, isStandalone: true, selector: "app-password-reset-ec", usesInheritance: true, ngImport: i0, template: "<div class=\"container\">\n <div class=\"row justify-content-center py-5\">\n <div class=\"col-12 col-md-6 col-lg-4\">\n @if(!ready){\n <form [formGroup]=\"formGroup\" (submit)=\"sendNewPassword($event)\">\n <div class=\"mb-4 text-center\">\n <h3>{{ 'set-new-password' | translate }}</h3>\n </div>\n <div class=\"mb-3\">\n <label class=\"form-label\">{{ 'set-password' | translate }}</label>\n <div class=\"input-group\">\n <input type=\"password\" formControlName=\"first\" class=\"form-control\" id=\"contrase\u00F1a1\" />\n <button class=\"btn btn-outline-secondary btn-password\" type=\"button\" (click)=\"showPassword()\">\n <i id=\"show1\" class=\"fas fa-eye i-show-password\"></i>\n <i id=\"hide1\" class=\"fas fa-eye-slash d-none i-show-password\"></i>\n </button>\n </div>\n </div>\n <div class=\"mb-3\">\n <label class=\"form-label\">{{ 'repeat-password' | translate }}</label>\n <div class=\"input-group\">\n <input type=\"password\" formControlName=\"second\" class=\"form-control\" id=\"contrase\u00F1a2\" />\n <button class=\"btn btn-outline-secondary btn-password\" type=\"button\" (click)=\"showPassword2()\">\n <i id=\"show2\" class=\"fas fa-eye i-show-password\"></i>\n <i id=\"hide2\" class=\"fas fa-eye-slash d-none i-show-password\"></i>\n </button>\n </div>\n </div>\n <div class=\"mt-4 text-center\">\n <button type=\"submit\" class=\"comprar w-100\">{{ 'update' | translate }}</button>\n </div>\n @if(loading){\n <app-loading-inline-ec></app-loading-inline-ec>\n }\n </form>\n }@else {<div class=\"row justify-content-center mt-5 mb-5\">\n <div class=\"text-center\">\n <div class=\"mb-4\">\n <h3>{{ 'updated-password' | translate }}</h3>\n </div>\n <div class=\"mb-4\">\n <h5>{{ 'updated-password-detail' | translate }}</h5>\n </div>\n <button class=\"comprar\" (click)=\"sendToLogin()\">{{ 'login' | translate }}</button>\n </div>\n </div>}\n\n\n\n </div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "component", type: LoadingInlineEcComponent, selector: "app-loading-inline-ec", inputs: ["type"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
9794
9922
  }
9795
9923
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PasswordResetEcComponent, decorators: [{
9796
9924
  type: Component,
9797
- args: [{ selector: 'app-password-reset-ec', imports: [TranslateModule, LoadingInlineEcComponent, ReactiveFormsModule], standalone: true, template: "<div class=\"container\">\r\n <div class=\"row justify-content-center py-5\">\r\n <div class=\"col-12 col-md-6 col-lg-4\">\r\n @if(!ready){\r\n <form [formGroup]=\"formGroup\" (submit)=\"sendNewPassword($event)\">\r\n <div class=\"mb-4 text-center\">\r\n <h3>{{ 'set-new-password' | translate }}</h3>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{ 'set-password' | translate }}</label>\r\n <div class=\"input-group\">\r\n <input type=\"password\" formControlName=\"first\" class=\"form-control\" id=\"contrase\u00F1a1\" />\r\n <button class=\"btn btn-outline-secondary btn-password\" type=\"button\" (click)=\"showPassword()\">\r\n <i id=\"show1\" class=\"fas fa-eye i-show-password\"></i>\r\n <i id=\"hide1\" class=\"fas fa-eye-slash d-none i-show-password\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{ 'repeat-password' | translate }}</label>\r\n <div class=\"input-group\">\r\n <input type=\"password\" formControlName=\"second\" class=\"form-control\" id=\"contrase\u00F1a2\" />\r\n <button class=\"btn btn-outline-secondary btn-password\" type=\"button\" (click)=\"showPassword2()\">\r\n <i id=\"show2\" class=\"fas fa-eye i-show-password\"></i>\r\n <i id=\"hide2\" class=\"fas fa-eye-slash d-none i-show-password\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"mt-4 text-center\">\r\n <button type=\"submit\" class=\"comprar w-100\">{{ 'update' | translate }}</button>\r\n </div>\r\n @if(loading){\r\n <app-loading-inline-ec></app-loading-inline-ec>\r\n }\r\n </form>\r\n }@else {<div class=\"row justify-content-center mt-5 mb-5\">\r\n <div class=\"text-center\">\r\n <div class=\"mb-4\">\r\n <h3>{{ 'updated-password' | translate }}</h3>\r\n </div>\r\n <div class=\"mb-4\">\r\n <h5>{{ 'updated-password-detail' | translate }}</h5>\r\n </div>\r\n <button class=\"comprar\" (click)=\"sendToLogin()\">{{ 'login' | translate }}</button>\r\n </div>\r\n </div>}\r\n\r\n\r\n\r\n </div>\r\n </div>\r\n</div>" }]
9925
+ args: [{ selector: 'app-password-reset-ec', imports: [TranslateModule, LoadingInlineEcComponent, ReactiveFormsModule], standalone: true, template: "<div class=\"container\">\n <div class=\"row justify-content-center py-5\">\n <div class=\"col-12 col-md-6 col-lg-4\">\n @if(!ready){\n <form [formGroup]=\"formGroup\" (submit)=\"sendNewPassword($event)\">\n <div class=\"mb-4 text-center\">\n <h3>{{ 'set-new-password' | translate }}</h3>\n </div>\n <div class=\"mb-3\">\n <label class=\"form-label\">{{ 'set-password' | translate }}</label>\n <div class=\"input-group\">\n <input type=\"password\" formControlName=\"first\" class=\"form-control\" id=\"contrase\u00F1a1\" />\n <button class=\"btn btn-outline-secondary btn-password\" type=\"button\" (click)=\"showPassword()\">\n <i id=\"show1\" class=\"fas fa-eye i-show-password\"></i>\n <i id=\"hide1\" class=\"fas fa-eye-slash d-none i-show-password\"></i>\n </button>\n </div>\n </div>\n <div class=\"mb-3\">\n <label class=\"form-label\">{{ 'repeat-password' | translate }}</label>\n <div class=\"input-group\">\n <input type=\"password\" formControlName=\"second\" class=\"form-control\" id=\"contrase\u00F1a2\" />\n <button class=\"btn btn-outline-secondary btn-password\" type=\"button\" (click)=\"showPassword2()\">\n <i id=\"show2\" class=\"fas fa-eye i-show-password\"></i>\n <i id=\"hide2\" class=\"fas fa-eye-slash d-none i-show-password\"></i>\n </button>\n </div>\n </div>\n <div class=\"mt-4 text-center\">\n <button type=\"submit\" class=\"comprar w-100\">{{ 'update' | translate }}</button>\n </div>\n @if(loading){\n <app-loading-inline-ec></app-loading-inline-ec>\n }\n </form>\n }@else {<div class=\"row justify-content-center mt-5 mb-5\">\n <div class=\"text-center\">\n <div class=\"mb-4\">\n <h3>{{ 'updated-password' | translate }}</h3>\n </div>\n <div class=\"mb-4\">\n <h5>{{ 'updated-password-detail' | translate }}</h5>\n </div>\n <button class=\"comprar\" (click)=\"sendToLogin()\">{{ 'login' | translate }}</button>\n </div>\n </div>}\n\n\n\n </div>\n </div>\n</div>" }]
9798
9926
  }], ctorParameters: () => [{ type: AuthService }, { type: ToastService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: i1$4.FormBuilder }] });
9799
9927
 
9800
9928
  class FiltersEcComponent {
@@ -9976,11 +10104,11 @@ class FiltersEcComponent {
9976
10104
  }));
9977
10105
  }
9978
10106
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FiltersEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9979
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FiltersEcComponent, isStandalone: true, selector: "lib-filters-ec", inputs: { setSelect: "setSelect" }, ngImport: i0, template: "<p>filters-ec works!</p>\r\n", styles: [""] });
10107
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FiltersEcComponent, isStandalone: true, selector: "lib-filters-ec", inputs: { setSelect: "setSelect" }, ngImport: i0, template: "<p>filters-ec works!</p>\n", styles: [""] });
9980
10108
  }
9981
10109
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FiltersEcComponent, decorators: [{
9982
10110
  type: Component,
9983
- args: [{ selector: 'lib-filters-ec', standalone: true, imports: [], template: "<p>filters-ec works!</p>\r\n" }]
10111
+ args: [{ selector: 'lib-filters-ec', standalone: true, imports: [], template: "<p>filters-ec works!</p>\n" }]
9984
10112
  }], ctorParameters: () => [], propDecorators: { setSelect: [{
9985
10113
  type: Input
9986
10114
  }] } });
@@ -10024,11 +10152,11 @@ class VariantsEcComponent {
10024
10152
  return products[index].stock;
10025
10153
  }
10026
10154
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: VariantsEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10027
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: VariantsEcComponent, isStandalone: true, selector: "app-variants-ec", inputs: { setImages: "setImages", product: "product" }, ngImport: i0, template: "@if(options$ | async; as options){\r\n@if(options && options.length ){\r\n@for(option of options; track $index){\r\n\r\n@switch (option.type) {\r\n@case ('color') {\r\n@if(option.values && option.values.length > 1) {\r\n<h5>{{option.name | uppercase}}</h5>\r\n<div class=\"row w-100 mx-auto pb-3 mb-3\">\r\n @for(value of option.values; track $index; let x = $index){\r\n <a role=\"button\" (click)=\"setValuesImages(value.name, option.code) && setOption(option.code, value.name)\"\r\n [class]=\"'rounded-circle color-item m-1 ' + (value.selected ? 'shadow' : '')\" [id]=\"x + value.name\"\r\n [style.border]=\"'1px solid black'\"\r\n [style.background]=\"value.image && (value.image.endsWith('.jpg') || value.image.endsWith('.png') || value.image.endsWith('.svg')) ? 'url(' + this.consts.mediaUrl(value.image) + ')' : '#' + value.name\"\r\n [style.background-size]=\"'cover'\" [style.background-repeat]=\"'no-repeat'\" [style.background-position]=\"'center'\"\r\n [style.box-shadow]=\"(value.selected ? '0px 0px 0px 2px #000' : 'none')\"></a>\r\n }\r\n</div>\r\n}\r\n}\r\n@case ('size') {\r\n@if(option.values && option.values.length > 1) {\r\n<h5>{{option.name | uppercase}}</h5>\r\n<div class=\"row w-100 mx-auto pb-3\">\r\n <div class=\"btn-group ps-0\">\r\n <a class=\"btn btn-light dropdown-toggle cursor-pointer border border-1 d-flex flex-row justify-content-between align-items-center\"\r\n data-bs-toggle=\"dropdown\" aria-expanded=\"false\"> {{ itemSelected ? itemSelected :\r\n getValueSelect(option.values)}}</a>\r\n <ul class=\"dropdown-menu\">\r\n @for(value of option.values; track $index; let x = $index){\r\n <li [class]=\" (value.selected ? 'selected-size' : 'unselected-size')\">\r\n <a [class]=\"'dropdown-item cursor-pointer '+ (value.selected ? 'text-light' : '')\"\r\n (click)=\"chosenOption(option.code, value.name)\">{{ value.name }}</a>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n\r\n</div>\r\n}\r\n}\r\n@default {\r\n\r\n}\r\n}\r\n}\r\n}\r\n}", styles: [".circle{width:32px;height:32px;border-radius:50%}.shadow{border:1px solid #000}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.UpperCasePipe, name: "uppercase" }] });
10155
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: VariantsEcComponent, isStandalone: true, selector: "app-variants-ec", inputs: { setImages: "setImages", product: "product" }, ngImport: i0, template: "@if(options$ | async; as options){\n@if(options && options.length ){\n@for(option of options; track $index){\n\n@switch (option.type) {\n@case ('color') {\n@if(option.values && option.values.length > 1) {\n<h5>{{option.name | uppercase}}</h5>\n<div class=\"row w-100 mx-auto pb-3 mb-3\">\n @for(value of option.values; track $index; let x = $index){\n <a role=\"button\" (click)=\"setValuesImages(value.name, option.code) && setOption(option.code, value.name)\"\n [class]=\"'rounded-circle color-item m-1 ' + (value.selected ? 'shadow' : '')\" [id]=\"x + value.name\"\n [style.border]=\"'1px solid black'\"\n [style.background]=\"value.image && (value.image.endsWith('.jpg') || value.image.endsWith('.png') || value.image.endsWith('.svg')) ? 'url(' + this.consts.mediaUrl(value.image) + ')' : '#' + value.name\"\n [style.background-size]=\"'cover'\" [style.background-repeat]=\"'no-repeat'\" [style.background-position]=\"'center'\"\n [style.box-shadow]=\"(value.selected ? '0px 0px 0px 2px #000' : 'none')\"></a>\n }\n</div>\n}\n}\n@case ('size') {\n@if(option.values && option.values.length > 1) {\n<h5>{{option.name | uppercase}}</h5>\n<div class=\"row w-100 mx-auto pb-3\">\n <div class=\"btn-group ps-0\">\n <a class=\"btn btn-light dropdown-toggle cursor-pointer border border-1 d-flex flex-row justify-content-between align-items-center\"\n data-bs-toggle=\"dropdown\" aria-expanded=\"false\"> {{ itemSelected ? itemSelected :\n getValueSelect(option.values)}}</a>\n <ul class=\"dropdown-menu\">\n @for(value of option.values; track $index; let x = $index){\n <li [class]=\" (value.selected ? 'selected-size' : 'unselected-size')\">\n <a [class]=\"'dropdown-item cursor-pointer '+ (value.selected ? 'text-light' : '')\"\n (click)=\"chosenOption(option.code, value.name)\">{{ value.name }}</a>\n </li>\n }\n </ul>\n </div>\n\n</div>\n}\n}\n@default {\n\n}\n}\n}\n}\n}", styles: [".circle{width:32px;height:32px;border-radius:50%}.shadow{border:1px solid #000}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.UpperCasePipe, name: "uppercase" }] });
10028
10156
  }
10029
10157
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: VariantsEcComponent, decorators: [{
10030
10158
  type: Component,
10031
- args: [{ selector: 'app-variants-ec', standalone: true, imports: [AsyncPipe, CommonModule], template: "@if(options$ | async; as options){\r\n@if(options && options.length ){\r\n@for(option of options; track $index){\r\n\r\n@switch (option.type) {\r\n@case ('color') {\r\n@if(option.values && option.values.length > 1) {\r\n<h5>{{option.name | uppercase}}</h5>\r\n<div class=\"row w-100 mx-auto pb-3 mb-3\">\r\n @for(value of option.values; track $index; let x = $index){\r\n <a role=\"button\" (click)=\"setValuesImages(value.name, option.code) && setOption(option.code, value.name)\"\r\n [class]=\"'rounded-circle color-item m-1 ' + (value.selected ? 'shadow' : '')\" [id]=\"x + value.name\"\r\n [style.border]=\"'1px solid black'\"\r\n [style.background]=\"value.image && (value.image.endsWith('.jpg') || value.image.endsWith('.png') || value.image.endsWith('.svg')) ? 'url(' + this.consts.mediaUrl(value.image) + ')' : '#' + value.name\"\r\n [style.background-size]=\"'cover'\" [style.background-repeat]=\"'no-repeat'\" [style.background-position]=\"'center'\"\r\n [style.box-shadow]=\"(value.selected ? '0px 0px 0px 2px #000' : 'none')\"></a>\r\n }\r\n</div>\r\n}\r\n}\r\n@case ('size') {\r\n@if(option.values && option.values.length > 1) {\r\n<h5>{{option.name | uppercase}}</h5>\r\n<div class=\"row w-100 mx-auto pb-3\">\r\n <div class=\"btn-group ps-0\">\r\n <a class=\"btn btn-light dropdown-toggle cursor-pointer border border-1 d-flex flex-row justify-content-between align-items-center\"\r\n data-bs-toggle=\"dropdown\" aria-expanded=\"false\"> {{ itemSelected ? itemSelected :\r\n getValueSelect(option.values)}}</a>\r\n <ul class=\"dropdown-menu\">\r\n @for(value of option.values; track $index; let x = $index){\r\n <li [class]=\" (value.selected ? 'selected-size' : 'unselected-size')\">\r\n <a [class]=\"'dropdown-item cursor-pointer '+ (value.selected ? 'text-light' : '')\"\r\n (click)=\"chosenOption(option.code, value.name)\">{{ value.name }}</a>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n\r\n</div>\r\n}\r\n}\r\n@default {\r\n\r\n}\r\n}\r\n}\r\n}\r\n}", styles: [".circle{width:32px;height:32px;border-radius:50%}.shadow{border:1px solid #000}\n"] }]
10159
+ args: [{ selector: 'app-variants-ec', standalone: true, imports: [AsyncPipe, CommonModule], template: "@if(options$ | async; as options){\n@if(options && options.length ){\n@for(option of options; track $index){\n\n@switch (option.type) {\n@case ('color') {\n@if(option.values && option.values.length > 1) {\n<h5>{{option.name | uppercase}}</h5>\n<div class=\"row w-100 mx-auto pb-3 mb-3\">\n @for(value of option.values; track $index; let x = $index){\n <a role=\"button\" (click)=\"setValuesImages(value.name, option.code) && setOption(option.code, value.name)\"\n [class]=\"'rounded-circle color-item m-1 ' + (value.selected ? 'shadow' : '')\" [id]=\"x + value.name\"\n [style.border]=\"'1px solid black'\"\n [style.background]=\"value.image && (value.image.endsWith('.jpg') || value.image.endsWith('.png') || value.image.endsWith('.svg')) ? 'url(' + this.consts.mediaUrl(value.image) + ')' : '#' + value.name\"\n [style.background-size]=\"'cover'\" [style.background-repeat]=\"'no-repeat'\" [style.background-position]=\"'center'\"\n [style.box-shadow]=\"(value.selected ? '0px 0px 0px 2px #000' : 'none')\"></a>\n }\n</div>\n}\n}\n@case ('size') {\n@if(option.values && option.values.length > 1) {\n<h5>{{option.name | uppercase}}</h5>\n<div class=\"row w-100 mx-auto pb-3\">\n <div class=\"btn-group ps-0\">\n <a class=\"btn btn-light dropdown-toggle cursor-pointer border border-1 d-flex flex-row justify-content-between align-items-center\"\n data-bs-toggle=\"dropdown\" aria-expanded=\"false\"> {{ itemSelected ? itemSelected :\n getValueSelect(option.values)}}</a>\n <ul class=\"dropdown-menu\">\n @for(value of option.values; track $index; let x = $index){\n <li [class]=\" (value.selected ? 'selected-size' : 'unselected-size')\">\n <a [class]=\"'dropdown-item cursor-pointer '+ (value.selected ? 'text-light' : '')\"\n (click)=\"chosenOption(option.code, value.name)\">{{ value.name }}</a>\n </li>\n }\n </ul>\n </div>\n\n</div>\n}\n}\n@default {\n\n}\n}\n}\n}\n}", styles: [".circle{width:32px;height:32px;border-radius:50%}.shadow{border:1px solid #000}\n"] }]
10032
10160
  }], propDecorators: { setImages: [{
10033
10161
  type: Input
10034
10162
  }], product: [{
@@ -10257,11 +10385,11 @@ class BreadcrumbEcComponent {
10257
10385
  return this._optionsService.getBreadcrumbByFilters(filters);
10258
10386
  }
10259
10387
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BreadcrumbEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10260
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BreadcrumbEcComponent, isStandalone: true, selector: "app-breadcrumb-ec", ngImport: i0, template: "<nav aria-label=\"breadcrumb\">\r\n <ol class=\"breadcrumb\">\r\n <li class=\"breadcrumb-item\"><a routerLink=\"/home\">Home</a></li>\r\n @for (crumb of breadcrumb; track $index) {\r\n @if(breadcrumb.length === $index+1){\r\n <li class=\"breadcrumb-item active\" aria-current=\"page\">\r\n {{\r\n crumb.title | translate | titlecase\r\n }}\r\n </li>\r\n }@else {\r\n <li class=\"breadcrumb-item\">\r\n <a [routerLink]=\"'/'+crumb.path\">{{\r\n crumb.title | translate | titlecase\r\n }}</a>\r\n </li>\r\n }\r\n }\r\n </ol>\r\n</nav>", styles: [""], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] });
10388
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BreadcrumbEcComponent, isStandalone: true, selector: "app-breadcrumb-ec", ngImport: i0, template: "<nav aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb\">\n <li class=\"breadcrumb-item\"><a routerLink=\"/home\">Home</a></li>\n @for (crumb of breadcrumb; track $index) {\n @if(breadcrumb.length === $index+1){\n <li class=\"breadcrumb-item active\" aria-current=\"page\">\n {{\n crumb.title | translate | titlecase\n }}\n </li>\n }@else {\n <li class=\"breadcrumb-item\">\n <a [routerLink]=\"'/'+crumb.path\">{{\n crumb.title | translate | titlecase\n }}</a>\n </li>\n }\n }\n </ol>\n</nav>", styles: [""], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] });
10261
10389
  }
10262
10390
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BreadcrumbEcComponent, decorators: [{
10263
10391
  type: Component,
10264
- args: [{ selector: 'app-breadcrumb-ec', standalone: true, imports: [RouterLink, RouterLinkActive, TitleCasePipe, TranslateModule, JsonPipe], template: "<nav aria-label=\"breadcrumb\">\r\n <ol class=\"breadcrumb\">\r\n <li class=\"breadcrumb-item\"><a routerLink=\"/home\">Home</a></li>\r\n @for (crumb of breadcrumb; track $index) {\r\n @if(breadcrumb.length === $index+1){\r\n <li class=\"breadcrumb-item active\" aria-current=\"page\">\r\n {{\r\n crumb.title | translate | titlecase\r\n }}\r\n </li>\r\n }@else {\r\n <li class=\"breadcrumb-item\">\r\n <a [routerLink]=\"'/'+crumb.path\">{{\r\n crumb.title | translate | titlecase\r\n }}</a>\r\n </li>\r\n }\r\n }\r\n </ol>\r\n</nav>" }]
10392
+ args: [{ selector: 'app-breadcrumb-ec', standalone: true, imports: [RouterLink, RouterLinkActive, TitleCasePipe, TranslateModule, JsonPipe], template: "<nav aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb\">\n <li class=\"breadcrumb-item\"><a routerLink=\"/home\">Home</a></li>\n @for (crumb of breadcrumb; track $index) {\n @if(breadcrumb.length === $index+1){\n <li class=\"breadcrumb-item active\" aria-current=\"page\">\n {{\n crumb.title | translate | titlecase\n }}\n </li>\n }@else {\n <li class=\"breadcrumb-item\">\n <a [routerLink]=\"'/'+crumb.path\">{{\n crumb.title | translate | titlecase\n }}</a>\n </li>\n }\n }\n </ol>\n</nav>" }]
10265
10393
  }], ctorParameters: () => [] });
10266
10394
 
10267
10395
  class CartEcComponent {
@@ -10275,6 +10403,7 @@ class CartEcComponent {
10275
10403
  totalPromotionAmount$ = this._cartService.getTotalPromotionAmount();
10276
10404
  taxesAmount$ = this._cartService.getTaxesAmount();
10277
10405
  totalAmount$ = this._cartService.getTotalAmount();
10406
+ creditAccountShowPrices$ = this._cartService.showPrice$;
10278
10407
  _authService = inject(AuthService);
10279
10408
  isAuthenticated$ = this._authService.isAuthenticated();
10280
10409
  getTotalAmount = this._cartService.getTotalAmount();
@@ -10293,6 +10422,12 @@ class CartEcComponent {
10293
10422
  this.hideTaxes = !!channel.hideTaxes;
10294
10423
  });
10295
10424
  }
10425
+ ngOnInit() {
10426
+ this._channelService.channel$.subscribe(channel => {
10427
+ this.hideTaxes = !!channel?.hideTaxes;
10428
+ this.channel = channel;
10429
+ });
10430
+ }
10296
10431
  removeCoupon() {
10297
10432
  // console.log(this.couponCode$)
10298
10433
  this._cartService.removeCoupon();
@@ -10329,11 +10464,11 @@ class CartEcComponent {
10329
10464
  }
10330
10465
  };
10331
10466
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CartEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10332
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CartEcComponent, isStandalone: true, selector: "lib-cart-ec", ngImport: i0, template: "<p>cart-ec works!</p>\r\n", styles: [""] });
10467
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CartEcComponent, isStandalone: true, selector: "lib-cart-ec", ngImport: i0, template: "<p>cart-ec works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }] });
10333
10468
  }
10334
10469
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CartEcComponent, decorators: [{
10335
10470
  type: Component,
10336
- args: [{ selector: 'lib-cart-ec', standalone: true, imports: [], template: "<p>cart-ec works!</p>\r\n" }]
10471
+ args: [{ selector: 'lib-cart-ec', standalone: true, imports: [CommonModule, TranslateModule], template: "<p>cart-ec works!</p>\n" }]
10337
10472
  }], ctorParameters: () => [] });
10338
10473
 
10339
10474
  class EcSafeHtmlPipe {
@@ -10482,11 +10617,11 @@ class CartItemEcComponent {
10482
10617
  parameters$ = this.parametersService.getParameters();
10483
10618
  hasParams = this.parametersService.hasParams;
10484
10619
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CartItemEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10485
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CartItemEcComponent, isStandalone: true, selector: "app-cart-item-ec", inputs: { item: "item", inSidebar: "inSidebar" }, ngImport: i0, template: "@if(!inSidebar){\r\n<p>cart-item-ec works!</p>\r\n}@else{\r\n\r\n<div class=\"row\">\r\n <div class=\"col-3\">\r\n @let product= item.product;\r\n @if(item.variant_id && product.variants.length>0){\r\n <img [src]=\"mediaUrl + product.variants[0].images[0]\" alt=\"\" class=\"img-fluid\">\r\n }@else{\r\n <img [src]=\"mediaUrl + product.picturesdefault[0]\" alt=\"\" class=\"img-fluid\">\r\n }\r\n </div>\r\n <div class=\"col-7\">\r\n <div class=\"info d-flex flex-column align-items-start\">\r\n @if (item.product.special_mark?.length > 0 || item.product.saleprice) {\r\n <div class=\"marcas\">\r\n <img [src]=\"mediaUrl + (item.product.special_mark?.[0]?.images[0] || '')\" alt=\"\">\r\n\r\n @if (item.product.saleprice) {\r\n <div class=\"tag-dsc\">\r\n {{\r\n createDiscountMessage(item.product.saleprice,\r\n item.product.price)\r\n }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n <a class=\"title text-dark text-decoration-none m-0 p-0 h6 mb-0\"\r\n [routerLink]=\"['/product', item.variant_id]\">{{\r\n item.product.name | titlecase\r\n }}</a>\r\n <div class=\"qty1\">\r\n <span>{{ item.product.id}}</span>\r\n </div>\r\n <div class=\"price h6 fw-bold mb-0 pb-0\">{{ item.product.price | ecCurrencySymbol\r\n }}</div>\r\n @if(getVariants(item); as options){\r\n <div class=\"d-flex align-items-center p-0\">\r\n @for(option of options; track $index){\r\n <span class=\"me-1\"> {{option.name | titlecase}}:</span>\r\n @if(option.name == 'COLOR'){\r\n <div class=\"p-2 rounded\" [style.background]=\"'#' + option.value\"></div>\r\n }@else{\r\n <b>{{option.value}}</b>\r\n }\r\n }\r\n </div>\r\n }\r\n <div class=\"campoCantidad mt-2\">\r\n <div class=\"numero\">\r\n <button (click)=\"less(item.product.variants[0]?.stock)\" class=\"btn btn-outline-secondary\"\r\n type=\"button\" id=\"button-addon1\">\r\n <i class=\"fa fa-minus\" aria-hidden=\"true\"></i>\r\n </button>\r\n <input type=\"text\" class=\"form-control text-center\" placeholder=\"\"\r\n aria-label=\"Example text with button addon\" aria-describedby=\"button-addon1\"\r\n [value]=\"item.quantity\" min=\"1\" step=\"1\" [(ngModel)]=\"quantity\"\r\n (change)=\"updateQuantity(item.product.variants[0]?.stock)\">\r\n <button (click)=\"plus(item.product.variants[0]?.stock)\" class=\"btn btn-outline-secondary\"\r\n type=\"button\" id=\"button-addon1\">\r\n <i class=\"fa fa-plus\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-2\">\r\n <a (click)=\"deleteCartItem()\" class=\"btn botBorrar\"><i class=\"fa fa-trash\" aria-hidden=\"true\"></i></a>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n}", styles: [""], dependencies: [{ kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: EcCurrencySymbolPipe, name: "ecCurrencySymbol" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
10620
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CartItemEcComponent, isStandalone: true, selector: "app-cart-item-ec", inputs: { item: "item", inSidebar: "inSidebar" }, ngImport: i0, template: "@if(!inSidebar){\n<p>cart-item-ec works!</p>\n}@else{\n\n<div class=\"row\">\n <div class=\"col-3\">\n @let product= item.product;\n @if(item.variant_id && product.variants.length>0){\n <img [src]=\"mediaUrl + product.variants[0].images[0]\" alt=\"\" class=\"img-fluid\">\n }@else{\n <img [src]=\"mediaUrl + product.picturesdefault[0]\" alt=\"\" class=\"img-fluid\">\n }\n </div>\n <div class=\"col-7\">\n <div class=\"info d-flex flex-column align-items-start\">\n @if (item.product.special_mark?.length > 0 || item.product.saleprice) {\n <div class=\"marcas\">\n <img [src]=\"mediaUrl + (item.product.special_mark?.[0]?.images[0] || '')\" alt=\"\">\n\n @if (item.product.saleprice) {\n <div class=\"tag-dsc\">\n {{\n createDiscountMessage(item.product.saleprice,\n item.product.price)\n }}\n </div>\n }\n </div>\n }\n <a class=\"title text-dark text-decoration-none m-0 p-0 h6 mb-0\"\n [routerLink]=\"['/product', item.variant_id]\">{{\n item.product.name | titlecase\n }}</a>\n <div class=\"qty1\">\n <span>{{ item.product.id}}</span>\n </div>\n <div class=\"price h6 fw-bold mb-0 pb-0\">{{ item.product.price | ecCurrencySymbol\n }}</div>\n @if(getVariants(item); as options){\n <div class=\"d-flex align-items-center p-0\">\n @for(option of options; track $index){\n <span class=\"me-1\"> {{option.name | titlecase}}:</span>\n @if(option.name == 'COLOR'){\n <div class=\"p-2 rounded\" [style.background]=\"'#' + option.value\"></div>\n }@else{\n <b>{{option.value}}</b>\n }\n }\n </div>\n }\n <div class=\"campoCantidad mt-2\">\n <div class=\"numero\">\n <button (click)=\"less(item.product.variants[0]?.stock)\" class=\"btn btn-outline-secondary\"\n type=\"button\" id=\"button-addon1\">\n <i class=\"fa fa-minus\" aria-hidden=\"true\"></i>\n </button>\n <input type=\"text\" class=\"form-control text-center\" placeholder=\"\"\n aria-label=\"Example text with button addon\" aria-describedby=\"button-addon1\"\n [value]=\"item.quantity\" min=\"1\" step=\"1\" [(ngModel)]=\"quantity\"\n (change)=\"updateQuantity(item.product.variants[0]?.stock)\">\n <button (click)=\"plus(item.product.variants[0]?.stock)\" class=\"btn btn-outline-secondary\"\n type=\"button\" id=\"button-addon1\">\n <i class=\"fa fa-plus\" aria-hidden=\"true\"></i>\n </button>\n </div>\n\n </div>\n </div>\n </div>\n <div class=\"col-2\">\n <a (click)=\"deleteCartItem()\" class=\"btn botBorrar\"><i class=\"fa fa-trash\" aria-hidden=\"true\"></i></a>\n </div>\n</div>\n\n\n\n\n\n}", styles: [""], dependencies: [{ kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: EcCurrencySymbolPipe, name: "ecCurrencySymbol" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
10486
10621
  }
10487
10622
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CartItemEcComponent, decorators: [{
10488
10623
  type: Component,
10489
- args: [{ selector: 'app-cart-item-ec', standalone: true, imports: [TitleCasePipe, EcCurrencySymbolPipe, RouterLink, FormsModule], template: "@if(!inSidebar){\r\n<p>cart-item-ec works!</p>\r\n}@else{\r\n\r\n<div class=\"row\">\r\n <div class=\"col-3\">\r\n @let product= item.product;\r\n @if(item.variant_id && product.variants.length>0){\r\n <img [src]=\"mediaUrl + product.variants[0].images[0]\" alt=\"\" class=\"img-fluid\">\r\n }@else{\r\n <img [src]=\"mediaUrl + product.picturesdefault[0]\" alt=\"\" class=\"img-fluid\">\r\n }\r\n </div>\r\n <div class=\"col-7\">\r\n <div class=\"info d-flex flex-column align-items-start\">\r\n @if (item.product.special_mark?.length > 0 || item.product.saleprice) {\r\n <div class=\"marcas\">\r\n <img [src]=\"mediaUrl + (item.product.special_mark?.[0]?.images[0] || '')\" alt=\"\">\r\n\r\n @if (item.product.saleprice) {\r\n <div class=\"tag-dsc\">\r\n {{\r\n createDiscountMessage(item.product.saleprice,\r\n item.product.price)\r\n }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n <a class=\"title text-dark text-decoration-none m-0 p-0 h6 mb-0\"\r\n [routerLink]=\"['/product', item.variant_id]\">{{\r\n item.product.name | titlecase\r\n }}</a>\r\n <div class=\"qty1\">\r\n <span>{{ item.product.id}}</span>\r\n </div>\r\n <div class=\"price h6 fw-bold mb-0 pb-0\">{{ item.product.price | ecCurrencySymbol\r\n }}</div>\r\n @if(getVariants(item); as options){\r\n <div class=\"d-flex align-items-center p-0\">\r\n @for(option of options; track $index){\r\n <span class=\"me-1\"> {{option.name | titlecase}}:</span>\r\n @if(option.name == 'COLOR'){\r\n <div class=\"p-2 rounded\" [style.background]=\"'#' + option.value\"></div>\r\n }@else{\r\n <b>{{option.value}}</b>\r\n }\r\n }\r\n </div>\r\n }\r\n <div class=\"campoCantidad mt-2\">\r\n <div class=\"numero\">\r\n <button (click)=\"less(item.product.variants[0]?.stock)\" class=\"btn btn-outline-secondary\"\r\n type=\"button\" id=\"button-addon1\">\r\n <i class=\"fa fa-minus\" aria-hidden=\"true\"></i>\r\n </button>\r\n <input type=\"text\" class=\"form-control text-center\" placeholder=\"\"\r\n aria-label=\"Example text with button addon\" aria-describedby=\"button-addon1\"\r\n [value]=\"item.quantity\" min=\"1\" step=\"1\" [(ngModel)]=\"quantity\"\r\n (change)=\"updateQuantity(item.product.variants[0]?.stock)\">\r\n <button (click)=\"plus(item.product.variants[0]?.stock)\" class=\"btn btn-outline-secondary\"\r\n type=\"button\" id=\"button-addon1\">\r\n <i class=\"fa fa-plus\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-2\">\r\n <a (click)=\"deleteCartItem()\" class=\"btn botBorrar\"><i class=\"fa fa-trash\" aria-hidden=\"true\"></i></a>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n}" }]
10624
+ args: [{ selector: 'app-cart-item-ec', standalone: true, imports: [TitleCasePipe, EcCurrencySymbolPipe, RouterLink, FormsModule], template: "@if(!inSidebar){\n<p>cart-item-ec works!</p>\n}@else{\n\n<div class=\"row\">\n <div class=\"col-3\">\n @let product= item.product;\n @if(item.variant_id && product.variants.length>0){\n <img [src]=\"mediaUrl + product.variants[0].images[0]\" alt=\"\" class=\"img-fluid\">\n }@else{\n <img [src]=\"mediaUrl + product.picturesdefault[0]\" alt=\"\" class=\"img-fluid\">\n }\n </div>\n <div class=\"col-7\">\n <div class=\"info d-flex flex-column align-items-start\">\n @if (item.product.special_mark?.length > 0 || item.product.saleprice) {\n <div class=\"marcas\">\n <img [src]=\"mediaUrl + (item.product.special_mark?.[0]?.images[0] || '')\" alt=\"\">\n\n @if (item.product.saleprice) {\n <div class=\"tag-dsc\">\n {{\n createDiscountMessage(item.product.saleprice,\n item.product.price)\n }}\n </div>\n }\n </div>\n }\n <a class=\"title text-dark text-decoration-none m-0 p-0 h6 mb-0\"\n [routerLink]=\"['/product', item.variant_id]\">{{\n item.product.name | titlecase\n }}</a>\n <div class=\"qty1\">\n <span>{{ item.product.id}}</span>\n </div>\n <div class=\"price h6 fw-bold mb-0 pb-0\">{{ item.product.price | ecCurrencySymbol\n }}</div>\n @if(getVariants(item); as options){\n <div class=\"d-flex align-items-center p-0\">\n @for(option of options; track $index){\n <span class=\"me-1\"> {{option.name | titlecase}}:</span>\n @if(option.name == 'COLOR'){\n <div class=\"p-2 rounded\" [style.background]=\"'#' + option.value\"></div>\n }@else{\n <b>{{option.value}}</b>\n }\n }\n </div>\n }\n <div class=\"campoCantidad mt-2\">\n <div class=\"numero\">\n <button (click)=\"less(item.product.variants[0]?.stock)\" class=\"btn btn-outline-secondary\"\n type=\"button\" id=\"button-addon1\">\n <i class=\"fa fa-minus\" aria-hidden=\"true\"></i>\n </button>\n <input type=\"text\" class=\"form-control text-center\" placeholder=\"\"\n aria-label=\"Example text with button addon\" aria-describedby=\"button-addon1\"\n [value]=\"item.quantity\" min=\"1\" step=\"1\" [(ngModel)]=\"quantity\"\n (change)=\"updateQuantity(item.product.variants[0]?.stock)\">\n <button (click)=\"plus(item.product.variants[0]?.stock)\" class=\"btn btn-outline-secondary\"\n type=\"button\" id=\"button-addon1\">\n <i class=\"fa fa-plus\" aria-hidden=\"true\"></i>\n </button>\n </div>\n\n </div>\n </div>\n </div>\n <div class=\"col-2\">\n <a (click)=\"deleteCartItem()\" class=\"btn botBorrar\"><i class=\"fa fa-trash\" aria-hidden=\"true\"></i></a>\n </div>\n</div>\n\n\n\n\n\n}" }]
10490
10625
  }], propDecorators: { item: [{
10491
10626
  type: Input,
10492
10627
  args: [{
@@ -10518,11 +10653,11 @@ class CouponEcComponent {
10518
10653
  }
10519
10654
  setLoading = () => this.loading = true;
10520
10655
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CouponEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10521
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CouponEcComponent, isStandalone: true, selector: "app-coupon-ec", ngImport: i0, template: "<div class=\"border border-bottom card p-2\">\r\n <p class=\"w-100 mb-1\">C\u00F3digo de descuento</p>\r\n \r\n @if(coupon$ | async; as coupon){\r\n <div class=\"d-flex justify-content-between align-items-center px-1\">\r\n <p class=\"m-0\">{{coupon.code}}</p>\r\n <button class=\"btn\" (click)=\"removeCoupon()\"><i class=\"bi bi-trash\"></i></button>\r\n </div>\r\n }@else {\r\n <form class=\"campo d-flex align-items-center\">\r\n <input type='text' class=\"elcampo\" [(ngModel)]=\"couponValue\" name=\"coupon_value\" />\r\n <input type='button' value='VALIDAR' class=\"btn btn-primary btnSend py-1\"\r\n (click)=\" addCoupon()\" />\r\n </form> \r\n }\r\n</div>", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
10656
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CouponEcComponent, isStandalone: true, selector: "app-coupon-ec", ngImport: i0, template: "<div class=\"border border-bottom card p-2\">\n <p class=\"w-100 mb-1\">C\u00F3digo de descuento</p>\n \n @if(coupon$ | async; as coupon){\n <div class=\"d-flex justify-content-between align-items-center px-1\">\n <p class=\"m-0\">{{coupon.code}}</p>\n <button class=\"btn\" (click)=\"removeCoupon()\"><i class=\"bi bi-trash\"></i></button>\n </div>\n }@else {\n <form class=\"campo d-flex align-items-center\">\n <input type='text' class=\"elcampo\" [(ngModel)]=\"couponValue\" name=\"coupon_value\" />\n <input type='button' value='VALIDAR' class=\"btn btn-primary btnSend py-1\"\n (click)=\" addCoupon()\" />\n </form> \n }\n</div>", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
10522
10657
  }
10523
10658
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CouponEcComponent, decorators: [{
10524
10659
  type: Component,
10525
- args: [{ selector: 'app-coupon-ec', standalone: true, imports: [AsyncPipe, FormsModule, UpperCasePipe], template: "<div class=\"border border-bottom card p-2\">\r\n <p class=\"w-100 mb-1\">C\u00F3digo de descuento</p>\r\n \r\n @if(coupon$ | async; as coupon){\r\n <div class=\"d-flex justify-content-between align-items-center px-1\">\r\n <p class=\"m-0\">{{coupon.code}}</p>\r\n <button class=\"btn\" (click)=\"removeCoupon()\"><i class=\"bi bi-trash\"></i></button>\r\n </div>\r\n }@else {\r\n <form class=\"campo d-flex align-items-center\">\r\n <input type='text' class=\"elcampo\" [(ngModel)]=\"couponValue\" name=\"coupon_value\" />\r\n <input type='button' value='VALIDAR' class=\"btn btn-primary btnSend py-1\"\r\n (click)=\" addCoupon()\" />\r\n </form> \r\n }\r\n</div>" }]
10660
+ args: [{ selector: 'app-coupon-ec', standalone: true, imports: [AsyncPipe, FormsModule, UpperCasePipe], template: "<div class=\"border border-bottom card p-2\">\n <p class=\"w-100 mb-1\">C\u00F3digo de descuento</p>\n \n @if(coupon$ | async; as coupon){\n <div class=\"d-flex justify-content-between align-items-center px-1\">\n <p class=\"m-0\">{{coupon.code}}</p>\n <button class=\"btn\" (click)=\"removeCoupon()\"><i class=\"bi bi-trash\"></i></button>\n </div>\n }@else {\n <form class=\"campo d-flex align-items-center\">\n <input type='text' class=\"elcampo\" [(ngModel)]=\"couponValue\" name=\"coupon_value\" />\n <input type='button' value='VALIDAR' class=\"btn btn-primary btnSend py-1\"\n (click)=\" addCoupon()\" />\n </form> \n }\n</div>" }]
10526
10661
  }] });
10527
10662
 
10528
10663
  class ContactEcComponent {
@@ -10622,7 +10757,14 @@ class DataformEcComponent {
10622
10757
  (this._addressingService.modeSelectAddress == 'LOAD_ADDRESS_AND_SELECTION' || this._addressingService.modeSelectAddress == 'ONLY_ADDRESS_SELECTION')
10623
10758
  && firstValueFrom(this._addressingService.getAddressBook()).then(res => {
10624
10759
  this.addressBook = res && res || null;
10625
- this.addressBook == null && this.setMode('carga');
10760
+ if (this.addressBook && this.addressBook.length > 0) {
10761
+ // Seleccionar la primera dirección por defecto
10762
+ this.addressBook[0].selected = true;
10763
+ this.addressBookSelected.id = this.addressBook[0].id;
10764
+ }
10765
+ else {
10766
+ this.addressBook == null && this.setMode('carga');
10767
+ }
10626
10768
  }).catch(err => console.error(err.error.message));
10627
10769
  // Para formulario principal
10628
10770
  this.countries$.subscribe(countries => {
@@ -10836,7 +10978,7 @@ class DataformEcComponent {
10836
10978
  this._checkoutService.next();
10837
10979
  }
10838
10980
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataformEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10839
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DataformEcComponent, isStandalone: true, selector: "app-dataform-ec", ngImport: i0, template: "@if(channel$ | async; as channelConfig){\r\n@if(channelConfig.channelType != 'b2b' || (channelConfig.channelType == 'b2b' && isAuthenticated())){\r\n@if( modeSelectAddress == 'LOAD_ADDRESS_AND_SELECTION' && isAuthenticated() && this.addressBook != null){\r\n<!--Selector de modos-->\r\n<div class=\"container card p-4 mb-3\">\r\n <div class=\"row justify-content-center\">\r\n <div class=\"col-12 col-md-10 col-lg-8 text-center\">\r\n <div class=\"btn-group btn-group-toggle\" data-bs-toggle=\"buttons\">\r\n <label [class]=\"'btn btn-outline-secondary ' + (!getMode() ? 'active' : '')\">\r\n <input type=\"radio\" name=\"options\" id=\"option1\" autocomplete=\"off\" checked\r\n (change)=\"setMode('seleccion')\"> {{'select-address' | translate | titlecase}}\r\n </label>\r\n @if(!getParamByChannelAndLanguage('btn_new_address_')){\r\n <label [class]=\"'btn btn-outline-secondary ' + (getMode() ? 'active' : '')\">\r\n <input type=\"radio\" name=\"options\" id=\"option2\" autocomplete=\"off\" (change)=\"setMode('carga')\">\r\n {{ 'new-address' | translate | titlecase}}\r\n </label>\r\n }\r\n @if(getParamByChannelAndLanguage('btn_new_address_'); as param){\r\n <label [class]=\"'btn btn-outline-secondary ' + (selectAddress ? 'active' : '')\">\r\n <input type=\"radio\" name=\"options\" id=\"option2\" autocomplete=\"off\" (change)=\"setMode('carga')\">\r\n {{ param.value}}\r\n </label>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n}\r\n\r\n@if(getMode()){\r\n@if(!require_login){\r\n<div>\r\n @if(modeSelectAddress == 'ONLY_LOAD_ADDRESS'){\r\n <div class=\"checkout-title my-2\">\r\n <h3>{{'billing-details'|translate}}</h3>\r\n </div>\r\n }\r\n <!--Formulario-->\r\n <form [formGroup]=\"checkoutForm\" (submit)=\"verifyValidate($event)\"> <!-- //this.cartService.items -->\r\n <div class=\"row mt-2\"><!--Fila 1-->\r\n\r\n @if(getTypeForm().viewForms.firstName.enabled){\r\n <div class=\"form-group col-12 col-md-6\">\r\n <!--Si es required-->\r\n <label class=\"form-label\">{{'first-name'|translate}}\r\n @if(getTypeForm().viewForms.firstName.required){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n <!--Input-->\r\n <input class=\"form-control\" type=\"text\" name=\"firstName\" formControlName=\"firstName\" value=\"\"\r\n placeholder=\"\" autocomplete=\"off\">\r\n @if(checkoutForm.controls['firstName'].touched &&\r\n checkoutForm.controls['firstName'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'first-name-help1'|translate}}</span>\r\n </div>\r\n }\r\n <!--Error info-->\r\n @if(checkoutForm.controls['firstName'].touched &&\r\n checkoutForm.controls['firstName'].errors?.['pattern']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'first-name-help2'|translate}}\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n @if(getTypeForm().viewForms.lastName.enabled){\r\n <div class=\"form-group col-12 col-md-6\">\r\n <label class=\"form-label\">{{'last-name'|translate}}\r\n @if(getTypeForm().viewForms.lastName.required){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n <input class=\"form-control\" type=\"text\" name=\"lastName\" formControlName=\"lastName\" value=\"\"\r\n placeholder=\"\" autocomplete=\"off\">\r\n @if(checkoutForm.controls['lastName'].touched &&\r\n checkoutForm.controls['lastName'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'last-name-help1'|translate}}</span>\r\n </div>\r\n }\r\n @if(checkoutForm.controls['lastName'].touched && checkoutForm.controls['lastName'].errors?.['pattern']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'last-name-help2'|translate}}</span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"row mt-2\"><!--Fila 2-->\r\n @if(getTypeForm().viewForms.phoneNumber.enabled){\r\n <div class=\"form-group col-12 col-md-6\">\r\n <label class=\"form-label\">{{'phone'|translate}}\r\n @if(getTypeForm().viewForms.phoneNumber.required){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"phoneNumber\"\r\n formControlName='phoneNumber' value=\"\" placeholder=\"\" autocomplete=\"off\">\r\n @if(checkoutForm.controls['phoneNumber'].touched &&\r\n checkoutForm.controls['phoneNumber'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'phone-help1'|translate}}\r\n </span>\r\n </div>\r\n }\r\n @if(checkoutForm.controls['phoneNumber'].touched &&\r\n checkoutForm.controls['phoneNumber'].errors?.['pattern']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'phone-help2'|translate}}\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n @if(getTypeForm().viewForms.email.enabled){\r\n <div class=\"form-group col-12 col-md-6\">\r\n <label class=\"form-label\">{{'email-address'|translate}}\r\n @if(getTypeForm().viewForms.email.required){\r\n <span class=\"required\">*</span>\r\n }</label>\r\n <input class=\"form-control\" type=\"email\" name=\"email\" formControlName='email' value=\"\" placeholder=\"\"\r\n autocomplete=\"off\">\r\n @if(checkoutForm.controls['email'].touched && checkoutForm.controls['email'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'email-address-help1'|translate}}\r\n </span>\r\n </div>\r\n }\r\n @if(checkoutForm.controls['email'].touched && checkoutForm.controls['email'].errors?.['email']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'email-address-help2'|translate}}\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"row mt-2\"><!--Fila 3-->\r\n @if(getTypeForm().viewForms.countryCode.enabled){\r\n @if(countries$ | async; as countries){\r\n <div class=\"form-group col-12 col-md-4\">\r\n <label class=\"form-label\">{{'country'|translate}}\r\n @if(getTypeForm().viewForms.countryCode.required){\r\n <span class=\"required\">*</span>\r\n }</label>\r\n <select class=\"form-select\" name=\"countryCode\" formControlName='countryCode'\r\n (change)=\"onCountrySelected($event)\">\r\n @for(country of countries; track $index){\r\n <option [value]=\"country.code\">{{ country.name }}</option>\r\n }\r\n </select>\r\n @if(checkoutForm.controls['countryCode'].touched &&\r\n checkoutForm.controls['countryCode'].errors?.['required']){\r\n <div class=\"text text-danger\">\r\n {{'country-help'|translate}}\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n @if(getTypeForm().viewForms.provinceCode.enabled){\r\n @if(provinces$ | async; as provinces){\r\n <div class=\"form-group col-12 col-md-4\">\r\n <label class=\"form-label\">{{'state'|translate}}\r\n @if(getTypeForm().viewForms.provinceCode.required){\r\n <span class=\"required\">*</span>\r\n }</label>\r\n <select class=\"form-select\" name=\"provinceCode\" (change)=\"onProvincesSelected($event, provinces)\"\r\n formControlName='provinceCode'>\r\n <option value=\"\">{{'select-state'|translate}}</option>\r\n @for(province of provinces; track $index){\r\n <option [value]=\"province.code\">{{ province.name }}\r\n </option>\r\n }\r\n </select>\r\n @if(checkoutForm.controls['provinceCode'].touched &&\r\n checkoutForm.controls['provinceCode'].errors?.['required']){\r\n <div class=\"text text-danger\">\r\n {{'state-help'|translate}}\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n @if(getTypeForm().viewForms.city.enabled){\r\n <div class=\"form-group col-12 col-md-4\">\r\n <label class=\"form-label\">{{'town-city'|translate}}\r\n @if(getTypeForm().viewForms.city.required){\r\n <span class=\"required\">*</span>\r\n }</label>\r\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"city\" formControlName='city'\r\n value=\"\" placeholder=\"\" autocomplete=\"off\">\r\n @if(checkoutForm.controls['city'].touched && checkoutForm.controls['city'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'town-city-help'|translate}}</span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"row mt-df\"><!--Fila 4-->\r\n @if(getTypeForm().viewForms.street.enabled){\r\n <div class=\"form-group col-12 col-md-8\">\r\n <label class=\"field-label\">{{'address'|translate}}\r\n @if(getTypeForm().viewForms.street.required){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"street\"\r\n formControlName='street' value=\"\" placeholder=\"\" autocomplete=\"off\">\r\n @if(checkoutForm.controls['street'].touched && checkoutForm.controls['street'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'address-help1'|translate}}</span>\r\n </div>\r\n }\r\n @if(checkoutForm.controls['street'].touched && checkoutForm.controls['street'].errors?.['maxlength']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'address-help2'|translate}}</span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n <!-- form direcci\u00F3n -->\r\n @if(getTypeForm().viewForms.postcode.enabled){\r\n <div class=\"form-group col-12 col-md-4\">\r\n <label class=\"field-label\">{{'postal-code'|translate}}\r\n @if(getTypeForm().viewForms.postcode.required){\r\n <span class=\"required\">*</span>\r\n }</label>\r\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"postcode\"\r\n formControlName='postcode' value=\"\" placeholder=\"\" autocomplete=\"off\">\r\n @if(checkoutForm.controls['postcode'].touched &&\r\n checkoutForm.controls['postcode'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'postal-code-help'|translate}}</span>\r\n </div>\r\n }\r\n @if(checkoutForm.controls['postcode'].touched && checkoutForm.controls['postcode'].errors?.['pattern']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\"> {{'postal-code-pattern-error' | translate}} </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"row mt-df\"><!--Fila 5-->\r\n @if(getTypeForm().viewForms.documentType.enabled){\r\n @if(documentTypes$ | async; as documentTypes){\r\n <div class=\"form-group col-12 col-md-4\">\r\n <label class=\"field-label\">{{'document-type'|translate}}\r\n @if(getTypeForm().viewForms.documentType.required){\r\n <span class=\"required\">*</span>\r\n }</label>\r\n <select name=\"documentType\" class=\"form-select\" (change)=\"onDocumentTypesSelected($event)\"\r\n formControlName='documentType'>\r\n @for(item of documentTypes; track $index){\r\n <option [value]=\"item.code\">{{item.name}}</option>\r\n }\r\n </select>\r\n @if(checkoutForm.controls['documentType'].touched &&\r\n checkoutForm.controls['documentType'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'type-document-help'|translate}}\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n @if(getTypeForm().viewForms.documentNumber.enabled){\r\n <div class=\"form-group col-12 col-md-4\">\r\n <label class=\"field-label\">{{'document-number'|translate}}\r\n @if(getTypeForm().viewForms.documentNumber.required){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n <input (change)=\"onInputChange()\" class=\"form-control\" [type]=\"'text'\" name=\"documentNumber\"\r\n formControlName='documentNumber' min=\"1\" max=\"99999999999\" value=\"\" placeholder=\"\"\r\n autocomplete=\"off\">\r\n @if(checkoutForm.controls['documentNumber'].touched &&\r\n checkoutForm.controls['documentNumber'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'document-number-help'|translate}}\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"row mt-df\"><!--Fila 6-->\r\n @if(this.channel.checkoutNotesField == 'required' || this.channel.checkoutNotesField == 'show'){\r\n <div class=\"form-group col-12 col-md-12\">\r\n @if(!getLabelNotesParam()){\r\n <label class=\"field-label\">{{'notes'|translate}}\r\n @if(this.channel.checkoutNotesField == 'required'){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n }\r\n @if(getLabelNotesParam(); as labelnotes){\r\n <label class=\"field-label\" [innerHTML]=\"labelnotes.value\">\r\n @if(this.channel.checkoutNotesField == 'required'){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n }\r\n\r\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"notes\" formControlName='notes'\r\n value=\"\" placeholder=\"\" autocomplete=\"off\">\r\n @if(this.channel.checkoutNotesField == 'required' && checkoutForm.controls['notes'].touched &&\r\n checkoutForm.controls['notes'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'notes-help'|translate}}</span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"row mt-df\"><!--Fila 7-->\r\n <div class=\"form-group col-12 col-md-12\">\r\n <label for=\"formFact\"><b>{{ 'same-billing-address' | translate }}</b> <input type=\"checkbox\"\r\n class=\"ms-2\" [checked]=\"viewDataFacturacion\" (change)=\"showFormFacturacion()\"\r\n id=\"formFact\"></label>\r\n </div>\r\n </div>\r\n <div class=\"row mt-df\">\r\n <div class=\"col-12\">\r\n <p>\r\n <label class=\"required text-underline text-danger\">* {{ 'required-fields' | translate }}</label>\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"row mt-df\">\r\n @if(getTypeForm().viewForms.terms.enabled){\r\n <div class=\"form-group col-12 col-md-12\">\r\n @if(getTypeForm().viewForms.terms.required){\r\n <span class=\"required\">*</span>\r\n }\r\n <label class=\"\" for=\"\"> {{ 'accept-terms' | translate }} <input class=\"ms-2\" name=\"terms\"\r\n formControlName='terms' type=\"checkbox\" required (change)=\"onInputChange()\" /> </label><br />\r\n <button type=\"button\" class=\"btn btn-primary\" data-bs-toggle=\"modal\"\r\n data-bs-target=\"#terminos-y-condiciones\">\r\n {{ 'whats-this' | translate }}\r\n </button>\r\n @if(checkoutForm.controls['terms'].touched && !checkoutForm.controls['terms'].value){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{ 'must-accept-terms' | translate }}</span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n @if(!viewDataFacturacion){\r\n <!--Formulario de Facturaci\u00F3n-->\r\n <div class=\"card\">\r\n <div class=\"card-header text-center\">\r\n <h2>{{ 'billing-data' | translate }}</h2>\r\n </div>\r\n <div class=\"card-body\">\r\n <form [formGroup]=\"checkoutFormFacturacion\">\r\n <div class=\"row mt-2\"><!--Fila 1-->\r\n\r\n @if(getTypeForm().viewForms.firstName.enabled){\r\n <div class=\"form-group col-12 col-md-6\">\r\n <!--Si es required-->\r\n <label class=\"form-label\">{{'first-name'|translate}}\r\n @if(getTypeForm().viewForms.firstName.required){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n <!--Input-->\r\n <input class=\"form-control\" type=\"text\" name=\"firstName\" formControlName=\"firstName\"\r\n value=\"\" placeholder=\"\" autocomplete=\"off\">\r\n @if(checkoutFormFacturacion.controls['firstName'].touched &&\r\n checkoutFormFacturacion.controls['firstName'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'first-name-help1'|translate}}</span>\r\n </div>\r\n }\r\n <!--Error info-->\r\n @if(checkoutFormFacturacion.controls['firstName'].touched &&\r\n checkoutFormFacturacion.controls['firstName'].errors?.['pattern']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'first-name-help2'|translate}}\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n @if(getTypeForm().viewForms.lastName.enabled){\r\n <div class=\"form-group col-12 col-md-6\">\r\n <label class=\"form-label\">{{'last-name'|translate}}\r\n @if(getTypeForm().viewForms.lastName.required){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n <input class=\"form-control\" type=\"text\" name=\"lastName\" formControlName=\"lastName\" value=\"\"\r\n placeholder=\"\" autocomplete=\"off\">\r\n @if(checkoutFormFacturacion.controls['lastName'].touched &&\r\n checkoutFormFacturacion.controls['lastName'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'last-name-help1'|translate}}</span>\r\n </div>\r\n }\r\n @if(checkoutFormFacturacion.controls['lastName'].touched &&\r\n checkoutFormFacturacion.controls['lastName'].errors?.['pattern']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'last-name-help2'|translate}}</span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"row mt-2\"><!--Fila 2-->\r\n @if(getTypeForm().viewForms.phoneNumber.enabled){\r\n <div class=\"form-group col-12 col-md-6\">\r\n <label class=\"form-label\">{{'phone'|translate}}\r\n @if(getTypeForm().viewForms.phoneNumber.required){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"phoneNumber\"\r\n formControlName='phoneNumber' value=\"\" placeholder=\"\" autocomplete=\"off\">\r\n @if(checkoutFormFacturacion.controls['phoneNumber'].touched &&\r\n checkoutFormFacturacion.controls['phoneNumber'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'phone-help1'|translate}}\r\n </span>\r\n </div>\r\n }\r\n @if(checkoutFormFacturacion.controls['phoneNumber'].touched &&\r\n checkoutFormFacturacion.controls['phoneNumber'].errors?.['pattern']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'phone-help2'|translate}}\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n @if(getTypeForm().viewForms.email.enabled){\r\n <div class=\"form-group col-12 col-md-6\">\r\n <label class=\"form-label\">{{'email-address'|translate}}\r\n @if(getTypeForm().viewForms.email.required){\r\n <span class=\"required\">*</span>\r\n }</label>\r\n <input class=\"form-control\" type=\"email\" name=\"email\" formControlName='email' value=\"\"\r\n placeholder=\"\" autocomplete=\"off\">\r\n @if(checkoutFormFacturacion.controls['email'].touched &&\r\n checkoutFormFacturacion.controls['email'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'email-address-help1'|translate}}\r\n </span>\r\n </div>\r\n }\r\n @if(checkoutFormFacturacion.controls['email'].touched &&\r\n checkoutFormFacturacion.controls['email'].errors?.['email']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'email-address-help2'|translate}}\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"row mt-2\"><!--Fila 3-->\r\n @if(getTypeForm().viewForms.countryCode.enabled){\r\n @if(countries$ | async; as countries){\r\n <div class=\"form-group col-12 col-md-4\">\r\n <label class=\"form-label\">{{'country'|translate}}\r\n @if(getTypeForm().viewForms.countryCode.required){\r\n <span class=\"required\">*</span>\r\n }</label>\r\n <select class=\"form-select\" name=\"countryCode\" formControlName='countryCode'\r\n (change)=\"onCountrySelected($event, true)\">\r\n @for(country of countries; track $index){\r\n <option [value]=\"country.code\">{{ country.name }}</option>\r\n }\r\n </select>\r\n @if(checkoutFormFacturacion.controls['countryCode'].touched &&\r\n checkoutFormFacturacion.controls['countryCode'].errors?.['required']){\r\n <div class=\"text text-danger\">\r\n {{'country-help'|translate}}\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n @if(getTypeForm().viewForms.provinceCode.enabled){\r\n @if(provinces$ | async; as provinces){\r\n <div class=\"form-group col-12 col-md-4\">\r\n <label class=\"form-label\">{{'state'|translate}}\r\n @if(getTypeForm().viewForms.provinceCode.required){\r\n <span class=\"required\">*</span>\r\n }</label>\r\n <select class=\"form-select\" name=\"provinceCode\"\r\n (change)=\"onProvincesSelected($event, provinces, true)\" formControlName='provinceCode'>\r\n <option value=\"\">{{'select-state'|translate}}</option>\r\n @for(province of provinces; track $index){\r\n <option [value]=\"province.code\">{{ province.name }}\r\n </option>\r\n }\r\n </select>\r\n @if(checkoutFormFacturacion.controls['provinceCode'].touched &&\r\n checkoutFormFacturacion.controls['provinceCode'].errors?.['required']){\r\n <div class=\"text text-danger\">\r\n {{'state-help'|translate}}\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n @if(getTypeForm().viewForms.city.enabled){\r\n <div class=\"form-group col-12 col-md-4\">\r\n <label class=\"form-label\">{{'town-city'|translate}}\r\n @if(getTypeForm().viewForms.city.required){\r\n <span class=\"required\">*</span>\r\n }</label>\r\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"city\"\r\n formControlName='city' value=\"\" placeholder=\"\" autocomplete=\"off\">\r\n @if(checkoutFormFacturacion.controls['city'].touched &&\r\n checkoutFormFacturacion.controls['city'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'town-city-help'|translate}}</span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"row mt-df\"><!--Fila 4-->\r\n @if(getTypeForm().viewForms.street.enabled){\r\n <div class=\"form-group col-12 col-md-8\">\r\n <label class=\"field-label\">{{'address'|translate}}\r\n @if(getTypeForm().viewForms.street.required){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"street\"\r\n formControlName='street' value=\"\" placeholder=\"\" autocomplete=\"off\">\r\n @if(checkoutFormFacturacion.controls['street'].touched &&\r\n checkoutFormFacturacion.controls['street'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'address-help1'|translate}}</span>\r\n </div>\r\n }\r\n @if(checkoutFormFacturacion.controls['street'].touched &&\r\n checkoutFormFacturacion.controls['street'].errors?.['maxlength']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'address-help2'|translate}}</span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n <!-- form direcci\u00F3n -->\r\n @if(getTypeForm().viewForms.postcode.enabled){\r\n <div class=\"form-group col-12 col-md-4\">\r\n <label class=\"field-label\">{{'postal-code'|translate}}\r\n @if(getTypeForm().viewForms.postcode.required){\r\n <span class=\"required\">*</span>\r\n }</label>\r\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"postcode\"\r\n formControlName='postcode' value=\"\" placeholder=\"\" autocomplete=\"off\">\r\n @if(checkoutFormFacturacion.controls['postcode'].touched &&\r\n checkoutFormFacturacion.controls['postcode'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'postal-code-help'|translate}}</span>\r\n </div>\r\n }\r\n @if(checkoutFormFacturacion.controls['postcode'].touched &&\r\n checkoutFormFacturacion.controls['postcode'].errors?.['pattern']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\"> {{'postal-code-pattern-error' | translate}} </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"row mt-df\"><!--Fila 5-->\r\n @if(getTypeForm().viewForms.documentType.enabled){\r\n @if(documentTypes$ | async; as documentTypes){\r\n <div class=\"form-group col-12 col-md-4\">\r\n <label class=\"field-label\">{{'document-type'|translate}}\r\n @if(getTypeForm().viewForms.documentType.required){\r\n <span class=\"required\">*</span>\r\n }</label>\r\n <select name=\"documentType\" class=\"form-select\"\r\n (change)=\"onDocumentTypesSelected($event, true)\" formControlName='documentType'>\r\n @for(item of documentTypes; track $index){\r\n <option [value]=\"item.code\">{{item.name}}</option>\r\n }\r\n </select>\r\n @if(checkoutFormFacturacion.controls['documentType'].touched &&\r\n checkoutFormFacturacion.controls['documentType'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'type-document-help'|translate}}\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n @if(getTypeForm().viewForms.documentNumber.enabled){\r\n <div class=\"form-group col-12 col-md-4\">\r\n <label class=\"field-label\">{{'document-number'|translate}}\r\n @if(getTypeForm().viewForms.documentNumber.required){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n <input (change)=\"onInputChange()\" class=\"form-control\" [type]=\"'text'\" name=\"documentNumber\"\r\n formControlName='documentNumber' min=\"1\" max=\"99999999999\" value=\"\" placeholder=\"\"\r\n autocomplete=\"off\">\r\n @if(checkoutFormFacturacion.controls['documentNumber'].touched &&\r\n checkoutFormFacturacion.controls['documentNumber'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'document-number-help'|translate}}\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"row mt-df\"><!--Fila 6-->\r\n @if(this.channel.checkoutNotesField == 'required' || this.channel.checkoutNotesField == 'show'){\r\n <div class=\"form-group col-12 col-md-12\">\r\n @if(!getLabelNotesParam()){\r\n <label class=\"field-label\">{{'notes'|translate}}\r\n @if(this.channel.checkoutNotesField == 'required'){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n }\r\n @if(getLabelNotesParam(); as labelnotes){\r\n <label class=\"field-label\" [innerHTML]=\"labelnotes.value\">\r\n @if(this.channel.checkoutNotesField == 'required'){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n }\r\n\r\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"notes\"\r\n formControlName='notes' value=\"\" placeholder=\"\" autocomplete=\"off\">\r\n @if(this.channel.checkoutNotesField == 'required' &&\r\n checkoutFormFacturacion.controls['notes'].touched &&\r\n checkoutFormFacturacion.controls['notes'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'notes-help'|translate}}</span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n }\r\n <div class=\"row d-flex flex-row\">\r\n <div class=\"col-12 d-flex justify-content-end\">\r\n <button type=\"submit\" class=\"btn btn-primary text-white\"\r\n [disabled]=\"checkoutForm.invalid || (this.channel.checkoutNotesField == 'required' && (!checkoutForm.get('notes')?.value || checkoutForm.get('notes')?.value.trim() === '')) || (!viewDataFacturacion && checkoutFormFacturacion && (checkoutFormFacturacion.invalid || (this.channel.checkoutNotesField == 'required' && (!checkoutFormFacturacion.get('notes')?.value || checkoutFormFacturacion.get('notes')?.value.trim() === ''))))\">{{(isLastOne\r\n ? 'finish-checkout' : (allready_data ? 'update' :\r\n 'ready-form')) | translate}}\r\n <!-- {{(allready_data ? 'update' : (isLastOne ? 'finish-checkout' : 'ready-form')) | translate}} -->\r\n </button>\r\n </div>\r\n </div>\r\n @if(loading){\r\n <div class=\"d-flex flex-column justify-content-center align-items-center\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n }\r\n\r\n </form>\r\n</div>\r\n} @else {\r\n<div id=\"loginCheckout\">\r\n @if(require_login){\r\n <div class=\"d-flex flex-column justify-content-center align-items-center my-5 \">\r\n <div class=\"col-12 col-md-6 \">\r\n <app-login-form-ec (ready)=\"verifyValidate($event)\" [redirect]=\"false\" [title]=\"'need-login'\">\r\n </app-login-form-ec>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n}\r\n} @else {\r\n@if(modeSelectAddress == 'ONLY_ADDRESS_SELECTION'){\r\n<div class=\"checkout-title my-2\">\r\n <h3>{{'address-selection'|translate}}</h3>\r\n</div>\r\n}\r\n\r\n@if(this.addressBook){\r\n@if(this.addressBook?.length){\r\n<div class=\"container\">\r\n <div class=\"row\">\r\n @for(item of addressBook; track $index; let i = $index){\r\n <div class=\"col-sm-6 col-12 my-3\">\r\n <div class=\"card p-3\">\r\n <input class=\"ms-1 mt-3 form-check-input input-size-lg\" type=\"radio\" [name]=\"'n-'+i\" [id]=\"i\"\r\n [checked]=\"item.selected\" (click)=\"setSelectAddress(item)\" (change)=\"onInputChange()\">\r\n <div class=\"ms-5\">\r\n <h4 class=\"card-title\">\r\n <strong>{{'address'|translate}}</strong><br>\r\n <span class=\"text-uppercase h3\">{{item.street}}</span>\r\n </h4>\r\n <div class=\"row\">\r\n <h5 class=\"card-subtitle mb-2 text-muted col-auto\">\r\n <strong>{{'country'|translate}}</strong> {{getCountry(item.countryCode)}}\r\n </h5>\r\n <h5 class=\"card-subtitle mb-2 text-muted col-auto\">\r\n <strong>{{'state'|translate}}</strong> {{getProvince(item.provinceCode)}}\r\n </h5>\r\n <h5 class=\"card-subtitle mb-2 text-muted col-auto\">\r\n <strong>{{'town-city'|translate}}</strong> {{item.city}}\r\n </h5>\r\n <h5 class=\"card-subtitle mb-2 text-muted col-auto\">\r\n <strong>{{'postal-code'|translate}}</strong> {{item.postcode}}\r\n </h5>\r\n </div>\r\n <div class=\"row px-3\">\r\n <div class=\"card p-2 bg-light w-100\">\r\n <div class=\"card-body\">\r\n <h5 class=\"card-title\">{{'address-contact'|translate}}</h5>\r\n <h6 class=\"card-subtitle mb-2 text-muted\">\r\n <strong>{{'first-name'|translate}}</strong>\r\n {{item.addressContact.firstName}}\r\n </h6>\r\n <h6 class=\"card-subtitle mb-2 text-muted\">\r\n <strong>{{'last-name'|translate}}</strong>\r\n {{item.addressContact.lastName}}\r\n </h6>\r\n <h6 class=\"card-subtitle mb-2 text-muted\">\r\n <strong>{{'document-type'|translate}}</strong>\r\n {{getDocumentType(item.addressContact.documentType)}}\r\n </h6>\r\n <h6 class=\"card-subtitle mb-2 text-muted\">\r\n <strong>{{'document-number'|translate}}</strong>\r\n {{item.addressContact.documentNumber}}\r\n </h6>\r\n <h6 class=\"card-subtitle mb-2 text-muted\">\r\n <strong>{{'email-address'|translate}}</strong>\r\n {{item.addressContact.email}}\r\n </h6>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n </div>\r\n\r\n <div class=\"w-100\">\r\n @if(this.channel.checkoutNotesField == 'required' || this.channel.checkoutNotesField == 'show'){\r\n <div class=\"row mt-df\">\r\n <div class=\"form-group col-12 col-md-12\">\r\n @if(!getLabelNotesParam()){\r\n <label class=\"form-label\">{{'notes'|translate}}\r\n @if(this.channel.checkoutNotesField == 'required'){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n }\r\n @if(getLabelNotesParam(); as labelnotes){\r\n <label class=\"form-label\" [innerHTML]=\"labelnotes.value\">\r\n @if(this.channel.checkoutNotesField == 'required'){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n }\r\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"notes\"\r\n [(ngModel)]=\"this.addressBookSelected.notes\" #ctrl=\"ngModel\" value=\"\" placeholder=\"\"\r\n autocomplete=\"off\" [required]=\"this.channel.checkoutNotesField == 'required'\">\r\n @if(this.channel.checkoutNotesField == 'required' && ctrl.touched && ctrl.invalid){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'notes-help'|translate}}</span>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"row d-flex flex-row\">\r\n <div class=\"col-12 d-flex justify-content-end\">\r\n <button (click)=\"onSelectAddress(cartItems)\" class=\"btn btn-primary text-white\"\r\n [disabled]=\"loadingStep || (this.channel.checkoutNotesField == 'required' && (!this.addressBookSelected.notes || this.addressBookSelected.notes.trim() === ''))\">{{(isLastOne\r\n ? 'finish-checkout' : (allready_data ? 'update' :\r\n 'ready-form')) | translate}}\r\n <!-- {{(allready_data ? 'update' : (isLastOne ? 'finish-checkout' : 'ready-form')) | translate}} -->\r\n </button>\r\n\r\n </div>\r\n </div>\r\n @if(loading){\r\n <div class=\"d-flex flex-column jusitfy-content-center align-items-center\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n }\r\n</div>\r\n} @else {\r\n<div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-12 text-center my-2\">\r\n <div class=\"d-flex flex-column justify-content-center align-items-center\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n}\r\n} @else {\r\n<div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-12 text-center my-2\">\r\n <h4> {{'address-book-not-result' | translate }} </h4>\r\n </div>\r\n </div>\r\n</div>\r\n}\r\n\r\n}\r\n\r\n}\r\n@else {\r\n<div class=\"container\">\r\n <p>Por favor <a [routerLink]=\"['/auth/login']\"> Inicie Sesi\u00F3n</a></p>\r\n</div>\r\n}\r\n}\r\n@if(getTypeForm().viewForms.terms.enabled){\r\n<div class=\"modal fade\" id=\"terminos-y-condiciones\" tabindex=\"-1\" aria-labelledby=\"modalLabel\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog modal-xl modal-dialog-scrollable\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h5 class=\"modal-title\" id=\"modalLabel\">T\u00E9rminos y condiciones</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <app-blocks-ec [section]=\"'terminos-y-condiciones'\" />\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n}", styles: [""], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.CheckboxRequiredValidator, selector: "input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: LoginFormEcComponent, selector: "app-login-form-ec", inputs: ["redirect", "redirectTo", "inCart"], outputs: ["ready"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "component", type: LoadingFullEcComponent, selector: "app-loading-full-ec" }, { kind: "component", type: BlocksEcComponent, selector: "app-blocks-ec", inputs: ["templates", "show_loading", "section", "blockFilters"] }] });
10981
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DataformEcComponent, isStandalone: true, selector: "app-dataform-ec", ngImport: i0, template: "@if(channel$ | async; as channelConfig){\n@if(channelConfig.channelType != 'b2b' || (channelConfig.channelType == 'b2b' && isAuthenticated())){\n@if( modeSelectAddress == 'LOAD_ADDRESS_AND_SELECTION' && isAuthenticated() && this.addressBook != null){\n<!--Selector de modos-->\n<div class=\"container card p-4 mb-3\">\n <div class=\"row justify-content-center\">\n <div class=\"col-12 col-md-10 col-lg-8 text-center\">\n <div class=\"btn-group btn-group-toggle\" data-bs-toggle=\"buttons\">\n <label [class]=\"'btn btn-outline-secondary ' + (!getMode() ? 'active' : '')\">\n <input type=\"radio\" name=\"options\" id=\"option1\" autocomplete=\"off\" checked\n (change)=\"setMode('seleccion')\"> {{'select-address' | translate | titlecase}}\n </label>\n @if(!getParamByChannelAndLanguage('btn_new_address_')){\n <label [class]=\"'btn btn-outline-secondary ' + (getMode() ? 'active' : '')\">\n <input type=\"radio\" name=\"options\" id=\"option2\" autocomplete=\"off\" (change)=\"setMode('carga')\">\n {{ 'new-address' | translate | titlecase}}\n </label>\n }\n @if(getParamByChannelAndLanguage('btn_new_address_'); as param){\n <label [class]=\"'btn btn-outline-secondary ' + (selectAddress ? 'active' : '')\">\n <input type=\"radio\" name=\"options\" id=\"option2\" autocomplete=\"off\" (change)=\"setMode('carga')\">\n {{ param.value}}\n </label>\n }\n </div>\n </div>\n </div>\n</div>\n}\n\n@if(getMode()){\n@if(!require_login){\n<div>\n @if(modeSelectAddress == 'ONLY_LOAD_ADDRESS'){\n <div class=\"checkout-title my-2\">\n <h3>{{'billing-details'|translate}}</h3>\n </div>\n }\n <!--Formulario-->\n <form [formGroup]=\"checkoutForm\" (submit)=\"verifyValidate($event)\"> <!-- //this.cartService.items -->\n <div class=\"row mt-2\"><!--Fila 1-->\n\n @if(getTypeForm().viewForms.firstName.enabled){\n <div class=\"form-group col-12 col-md-6\">\n <!--Si es required-->\n <label class=\"form-label\">{{'first-name'|translate}}\n @if(getTypeForm().viewForms.firstName.required){\n <span class=\"required\">*</span>\n }\n </label>\n <!--Input-->\n <input class=\"form-control\" type=\"text\" name=\"firstName\" formControlName=\"firstName\" value=\"\"\n placeholder=\"\" autocomplete=\"off\">\n @if(checkoutForm.controls['firstName'].touched &&\n checkoutForm.controls['firstName'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'first-name-help1'|translate}}</span>\n </div>\n }\n <!--Error info-->\n @if(checkoutForm.controls['firstName'].touched &&\n checkoutForm.controls['firstName'].errors?.['pattern']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'first-name-help2'|translate}}\n </span>\n </div>\n }\n </div>\n }\n @if(getTypeForm().viewForms.lastName.enabled){\n <div class=\"form-group col-12 col-md-6\">\n <label class=\"form-label\">{{'last-name'|translate}}\n @if(getTypeForm().viewForms.lastName.required){\n <span class=\"required\">*</span>\n }\n </label>\n <input class=\"form-control\" type=\"text\" name=\"lastName\" formControlName=\"lastName\" value=\"\"\n placeholder=\"\" autocomplete=\"off\">\n @if(checkoutForm.controls['lastName'].touched &&\n checkoutForm.controls['lastName'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'last-name-help1'|translate}}</span>\n </div>\n }\n @if(checkoutForm.controls['lastName'].touched && checkoutForm.controls['lastName'].errors?.['pattern']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'last-name-help2'|translate}}</span>\n </div>\n }\n </div>\n }\n </div>\n <div class=\"row mt-2\"><!--Fila 2-->\n @if(getTypeForm().viewForms.phoneNumber.enabled){\n <div class=\"form-group col-12 col-md-6\">\n <label class=\"form-label\">{{'phone'|translate}}\n @if(getTypeForm().viewForms.phoneNumber.required){\n <span class=\"required\">*</span>\n }\n </label>\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"phoneNumber\"\n formControlName='phoneNumber' value=\"\" placeholder=\"\" autocomplete=\"off\">\n @if(checkoutForm.controls['phoneNumber'].touched &&\n checkoutForm.controls['phoneNumber'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'phone-help1'|translate}}\n </span>\n </div>\n }\n @if(checkoutForm.controls['phoneNumber'].touched &&\n checkoutForm.controls['phoneNumber'].errors?.['pattern']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'phone-help2'|translate}}\n </span>\n </div>\n }\n </div>\n }\n @if(getTypeForm().viewForms.email.enabled){\n <div class=\"form-group col-12 col-md-6\">\n <label class=\"form-label\">{{'email-address'|translate}}\n @if(getTypeForm().viewForms.email.required){\n <span class=\"required\">*</span>\n }</label>\n <input class=\"form-control\" type=\"email\" name=\"email\" formControlName='email' value=\"\" placeholder=\"\"\n autocomplete=\"off\">\n @if(checkoutForm.controls['email'].touched && checkoutForm.controls['email'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'email-address-help1'|translate}}\n </span>\n </div>\n }\n @if(checkoutForm.controls['email'].touched && checkoutForm.controls['email'].errors?.['email']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'email-address-help2'|translate}}\n </span>\n </div>\n }\n </div>\n }\n </div>\n <div class=\"row mt-2\"><!--Fila 3-->\n @if(getTypeForm().viewForms.countryCode.enabled){\n @if(countries$ | async; as countries){\n <div class=\"form-group col-12 col-md-4\">\n <label class=\"form-label\">{{'country'|translate}}\n @if(getTypeForm().viewForms.countryCode.required){\n <span class=\"required\">*</span>\n }</label>\n <select class=\"form-select\" name=\"countryCode\" formControlName='countryCode'\n (change)=\"onCountrySelected($event)\">\n @for(country of countries; track $index){\n <option [value]=\"country.code\">{{ country.name }}</option>\n }\n </select>\n @if(checkoutForm.controls['countryCode'].touched &&\n checkoutForm.controls['countryCode'].errors?.['required']){\n <div class=\"text text-danger\">\n {{'country-help'|translate}}\n </div>\n }\n </div>\n }\n }\n @if(getTypeForm().viewForms.provinceCode.enabled){\n @if(provinces$ | async; as provinces){\n <div class=\"form-group col-12 col-md-4\">\n <label class=\"form-label\">{{'state'|translate}}\n @if(getTypeForm().viewForms.provinceCode.required){\n <span class=\"required\">*</span>\n }</label>\n <select class=\"form-select\" name=\"provinceCode\" (change)=\"onProvincesSelected($event, provinces)\"\n formControlName='provinceCode'>\n <option value=\"\">{{'select-state'|translate}}</option>\n @for(province of provinces; track $index){\n <option [value]=\"province.code\">{{ province.name }}\n </option>\n }\n </select>\n @if(checkoutForm.controls['provinceCode'].touched &&\n checkoutForm.controls['provinceCode'].errors?.['required']){\n <div class=\"text text-danger\">\n {{'state-help'|translate}}\n </div>\n }\n </div>\n }\n }\n @if(getTypeForm().viewForms.city.enabled){\n <div class=\"form-group col-12 col-md-4\">\n <label class=\"form-label\">{{'town-city'|translate}}\n @if(getTypeForm().viewForms.city.required){\n <span class=\"required\">*</span>\n }</label>\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"city\" formControlName='city'\n value=\"\" placeholder=\"\" autocomplete=\"off\">\n @if(checkoutForm.controls['city'].touched && checkoutForm.controls['city'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'town-city-help'|translate}}</span>\n </div>\n }\n </div>\n }\n </div>\n <div class=\"row mt-df\"><!--Fila 4-->\n @if(getTypeForm().viewForms.street.enabled){\n <div class=\"form-group col-12 col-md-8\">\n <label class=\"field-label\">{{'address'|translate}}\n @if(getTypeForm().viewForms.street.required){\n <span class=\"required\">*</span>\n }\n </label>\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"street\"\n formControlName='street' value=\"\" placeholder=\"\" autocomplete=\"off\">\n @if(checkoutForm.controls['street'].touched && checkoutForm.controls['street'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'address-help1'|translate}}</span>\n </div>\n }\n @if(checkoutForm.controls['street'].touched && checkoutForm.controls['street'].errors?.['maxlength']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'address-help2'|translate}}</span>\n </div>\n }\n </div>\n }\n\n <!-- form direcci\u00F3n -->\n @if(getTypeForm().viewForms.postcode.enabled){\n <div class=\"form-group col-12 col-md-4\">\n <label class=\"field-label\">{{'postal-code'|translate}}\n @if(getTypeForm().viewForms.postcode.required){\n <span class=\"required\">*</span>\n }</label>\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"postcode\"\n formControlName='postcode' value=\"\" placeholder=\"\" autocomplete=\"off\">\n @if(checkoutForm.controls['postcode'].touched &&\n checkoutForm.controls['postcode'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'postal-code-help'|translate}}</span>\n </div>\n }\n @if(checkoutForm.controls['postcode'].touched && checkoutForm.controls['postcode'].errors?.['pattern']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\"> {{'postal-code-pattern-error' | translate}} </span>\n </div>\n }\n </div>\n }\n </div>\n <div class=\"row mt-df\"><!--Fila 5-->\n @if(getTypeForm().viewForms.documentType.enabled){\n @if(documentTypes$ | async; as documentTypes){\n <div class=\"form-group col-12 col-md-4\">\n <label class=\"field-label\">{{'document-type'|translate}}\n @if(getTypeForm().viewForms.documentType.required){\n <span class=\"required\">*</span>\n }</label>\n <select name=\"documentType\" class=\"form-select\" (change)=\"onDocumentTypesSelected($event)\"\n formControlName='documentType'>\n @for(item of documentTypes; track $index){\n <option [value]=\"item.code\">{{item.name}}</option>\n }\n </select>\n @if(checkoutForm.controls['documentType'].touched &&\n checkoutForm.controls['documentType'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'type-document-help'|translate}}\n </span>\n </div>\n }\n </div>\n }\n }\n @if(getTypeForm().viewForms.documentNumber.enabled){\n <div class=\"form-group col-12 col-md-4\">\n <label class=\"field-label\">{{'document-number'|translate}}\n @if(getTypeForm().viewForms.documentNumber.required){\n <span class=\"required\">*</span>\n }\n </label>\n <input (change)=\"onInputChange()\" class=\"form-control\" [type]=\"'text'\" name=\"documentNumber\"\n formControlName='documentNumber' min=\"1\" max=\"99999999999\" value=\"\" placeholder=\"\"\n autocomplete=\"off\">\n @if(checkoutForm.controls['documentNumber'].touched &&\n checkoutForm.controls['documentNumber'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'document-number-help'|translate}}\n </span>\n </div>\n }\n </div>\n }\n </div>\n <div class=\"row mt-df\"><!--Fila 6-->\n @if(this.channel.checkoutNotesField == 'required' || this.channel.checkoutNotesField == 'show'){\n <div class=\"form-group col-12 col-md-12\">\n @if(!getLabelNotesParam()){\n <label class=\"field-label\">{{'notes'|translate}}\n @if(this.channel.checkoutNotesField == 'required'){\n <span class=\"required\">*</span>\n }\n </label>\n }\n @if(getLabelNotesParam(); as labelnotes){\n <label class=\"field-label\" [innerHTML]=\"labelnotes.value\">\n @if(this.channel.checkoutNotesField == 'required'){\n <span class=\"required\">*</span>\n }\n </label>\n }\n\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"notes\" formControlName='notes'\n value=\"\" placeholder=\"\" autocomplete=\"off\">\n @if(this.channel.checkoutNotesField == 'required' && checkoutForm.controls['notes'].touched &&\n checkoutForm.controls['notes'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'notes-help'|translate}}</span>\n </div>\n }\n </div>\n }\n </div>\n <div class=\"row mt-df\"><!--Fila 7-->\n <div class=\"form-group col-12 col-md-12\">\n <label for=\"formFact\"><b>{{ 'same-billing-address' | translate }}</b> <input type=\"checkbox\"\n class=\"ms-2\" [checked]=\"viewDataFacturacion\" (change)=\"showFormFacturacion()\"\n id=\"formFact\"></label>\n </div>\n </div>\n <div class=\"row mt-df\">\n <div class=\"col-12\">\n <p>\n <label class=\"required text-underline text-danger\">* {{ 'required-fields' | translate }}</label>\n </p>\n </div>\n </div>\n <div class=\"row mt-df\">\n @if(getTypeForm().viewForms.terms.enabled){\n <div class=\"form-group col-12 col-md-12\">\n @if(getTypeForm().viewForms.terms.required){\n <span class=\"required\">*</span>\n }\n <label class=\"\" for=\"\"> {{ 'accept-terms' | translate }} <input class=\"ms-2\" name=\"terms\"\n formControlName='terms' type=\"checkbox\" required (change)=\"onInputChange()\" /> </label><br />\n <button type=\"button\" class=\"btn btn-primary\" data-bs-toggle=\"modal\"\n data-bs-target=\"#terminos-y-condiciones\">\n {{ 'whats-this' | translate }}\n </button>\n @if(checkoutForm.controls['terms'].touched && !checkoutForm.controls['terms'].value){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{ 'must-accept-terms' | translate }}</span>\n </div>\n }\n </div>\n }\n </div>\n @if(!viewDataFacturacion){\n <!--Formulario de Facturaci\u00F3n-->\n <div class=\"card\">\n <div class=\"card-header text-center\">\n <h2>{{ 'billing-data' | translate }}</h2>\n </div>\n <div class=\"card-body\">\n <form [formGroup]=\"checkoutFormFacturacion\">\n <div class=\"row mt-2\"><!--Fila 1-->\n\n @if(getTypeForm().viewForms.firstName.enabled){\n <div class=\"form-group col-12 col-md-6\">\n <!--Si es required-->\n <label class=\"form-label\">{{'first-name'|translate}}\n @if(getTypeForm().viewForms.firstName.required){\n <span class=\"required\">*</span>\n }\n </label>\n <!--Input-->\n <input class=\"form-control\" type=\"text\" name=\"firstName\" formControlName=\"firstName\"\n value=\"\" placeholder=\"\" autocomplete=\"off\">\n @if(checkoutFormFacturacion.controls['firstName'].touched &&\n checkoutFormFacturacion.controls['firstName'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'first-name-help1'|translate}}</span>\n </div>\n }\n <!--Error info-->\n @if(checkoutFormFacturacion.controls['firstName'].touched &&\n checkoutFormFacturacion.controls['firstName'].errors?.['pattern']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'first-name-help2'|translate}}\n </span>\n </div>\n }\n </div>\n }\n @if(getTypeForm().viewForms.lastName.enabled){\n <div class=\"form-group col-12 col-md-6\">\n <label class=\"form-label\">{{'last-name'|translate}}\n @if(getTypeForm().viewForms.lastName.required){\n <span class=\"required\">*</span>\n }\n </label>\n <input class=\"form-control\" type=\"text\" name=\"lastName\" formControlName=\"lastName\" value=\"\"\n placeholder=\"\" autocomplete=\"off\">\n @if(checkoutFormFacturacion.controls['lastName'].touched &&\n checkoutFormFacturacion.controls['lastName'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'last-name-help1'|translate}}</span>\n </div>\n }\n @if(checkoutFormFacturacion.controls['lastName'].touched &&\n checkoutFormFacturacion.controls['lastName'].errors?.['pattern']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'last-name-help2'|translate}}</span>\n </div>\n }\n </div>\n }\n </div>\n <div class=\"row mt-2\"><!--Fila 2-->\n @if(getTypeForm().viewForms.phoneNumber.enabled){\n <div class=\"form-group col-12 col-md-6\">\n <label class=\"form-label\">{{'phone'|translate}}\n @if(getTypeForm().viewForms.phoneNumber.required){\n <span class=\"required\">*</span>\n }\n </label>\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"phoneNumber\"\n formControlName='phoneNumber' value=\"\" placeholder=\"\" autocomplete=\"off\">\n @if(checkoutFormFacturacion.controls['phoneNumber'].touched &&\n checkoutFormFacturacion.controls['phoneNumber'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'phone-help1'|translate}}\n </span>\n </div>\n }\n @if(checkoutFormFacturacion.controls['phoneNumber'].touched &&\n checkoutFormFacturacion.controls['phoneNumber'].errors?.['pattern']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'phone-help2'|translate}}\n </span>\n </div>\n }\n </div>\n }\n @if(getTypeForm().viewForms.email.enabled){\n <div class=\"form-group col-12 col-md-6\">\n <label class=\"form-label\">{{'email-address'|translate}}\n @if(getTypeForm().viewForms.email.required){\n <span class=\"required\">*</span>\n }</label>\n <input class=\"form-control\" type=\"email\" name=\"email\" formControlName='email' value=\"\"\n placeholder=\"\" autocomplete=\"off\">\n @if(checkoutFormFacturacion.controls['email'].touched &&\n checkoutFormFacturacion.controls['email'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'email-address-help1'|translate}}\n </span>\n </div>\n }\n @if(checkoutFormFacturacion.controls['email'].touched &&\n checkoutFormFacturacion.controls['email'].errors?.['email']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'email-address-help2'|translate}}\n </span>\n </div>\n }\n </div>\n }\n </div>\n <div class=\"row mt-2\"><!--Fila 3-->\n @if(getTypeForm().viewForms.countryCode.enabled){\n @if(countries$ | async; as countries){\n <div class=\"form-group col-12 col-md-4\">\n <label class=\"form-label\">{{'country'|translate}}\n @if(getTypeForm().viewForms.countryCode.required){\n <span class=\"required\">*</span>\n }</label>\n <select class=\"form-select\" name=\"countryCode\" formControlName='countryCode'\n (change)=\"onCountrySelected($event, true)\">\n @for(country of countries; track $index){\n <option [value]=\"country.code\">{{ country.name }}</option>\n }\n </select>\n @if(checkoutFormFacturacion.controls['countryCode'].touched &&\n checkoutFormFacturacion.controls['countryCode'].errors?.['required']){\n <div class=\"text text-danger\">\n {{'country-help'|translate}}\n </div>\n }\n </div>\n }\n }\n @if(getTypeForm().viewForms.provinceCode.enabled){\n @if(provinces$ | async; as provinces){\n <div class=\"form-group col-12 col-md-4\">\n <label class=\"form-label\">{{'state'|translate}}\n @if(getTypeForm().viewForms.provinceCode.required){\n <span class=\"required\">*</span>\n }</label>\n <select class=\"form-select\" name=\"provinceCode\"\n (change)=\"onProvincesSelected($event, provinces, true)\" formControlName='provinceCode'>\n <option value=\"\">{{'select-state'|translate}}</option>\n @for(province of provinces; track $index){\n <option [value]=\"province.code\">{{ province.name }}\n </option>\n }\n </select>\n @if(checkoutFormFacturacion.controls['provinceCode'].touched &&\n checkoutFormFacturacion.controls['provinceCode'].errors?.['required']){\n <div class=\"text text-danger\">\n {{'state-help'|translate}}\n </div>\n }\n </div>\n }\n }\n @if(getTypeForm().viewForms.city.enabled){\n <div class=\"form-group col-12 col-md-4\">\n <label class=\"form-label\">{{'town-city'|translate}}\n @if(getTypeForm().viewForms.city.required){\n <span class=\"required\">*</span>\n }</label>\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"city\"\n formControlName='city' value=\"\" placeholder=\"\" autocomplete=\"off\">\n @if(checkoutFormFacturacion.controls['city'].touched &&\n checkoutFormFacturacion.controls['city'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'town-city-help'|translate}}</span>\n </div>\n }\n </div>\n }\n </div>\n <div class=\"row mt-df\"><!--Fila 4-->\n @if(getTypeForm().viewForms.street.enabled){\n <div class=\"form-group col-12 col-md-8\">\n <label class=\"field-label\">{{'address'|translate}}\n @if(getTypeForm().viewForms.street.required){\n <span class=\"required\">*</span>\n }\n </label>\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"street\"\n formControlName='street' value=\"\" placeholder=\"\" autocomplete=\"off\">\n @if(checkoutFormFacturacion.controls['street'].touched &&\n checkoutFormFacturacion.controls['street'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'address-help1'|translate}}</span>\n </div>\n }\n @if(checkoutFormFacturacion.controls['street'].touched &&\n checkoutFormFacturacion.controls['street'].errors?.['maxlength']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'address-help2'|translate}}</span>\n </div>\n }\n </div>\n }\n\n <!-- form direcci\u00F3n -->\n @if(getTypeForm().viewForms.postcode.enabled){\n <div class=\"form-group col-12 col-md-4\">\n <label class=\"field-label\">{{'postal-code'|translate}}\n @if(getTypeForm().viewForms.postcode.required){\n <span class=\"required\">*</span>\n }</label>\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"postcode\"\n formControlName='postcode' value=\"\" placeholder=\"\" autocomplete=\"off\">\n @if(checkoutFormFacturacion.controls['postcode'].touched &&\n checkoutFormFacturacion.controls['postcode'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'postal-code-help'|translate}}</span>\n </div>\n }\n @if(checkoutFormFacturacion.controls['postcode'].touched &&\n checkoutFormFacturacion.controls['postcode'].errors?.['pattern']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\"> {{'postal-code-pattern-error' | translate}} </span>\n </div>\n }\n </div>\n }\n </div>\n <div class=\"row mt-df\"><!--Fila 5-->\n @if(getTypeForm().viewForms.documentType.enabled){\n @if(documentTypes$ | async; as documentTypes){\n <div class=\"form-group col-12 col-md-4\">\n <label class=\"field-label\">{{'document-type'|translate}}\n @if(getTypeForm().viewForms.documentType.required){\n <span class=\"required\">*</span>\n }</label>\n <select name=\"documentType\" class=\"form-select\"\n (change)=\"onDocumentTypesSelected($event, true)\" formControlName='documentType'>\n @for(item of documentTypes; track $index){\n <option [value]=\"item.code\">{{item.name}}</option>\n }\n </select>\n @if(checkoutFormFacturacion.controls['documentType'].touched &&\n checkoutFormFacturacion.controls['documentType'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'type-document-help'|translate}}\n </span>\n </div>\n }\n </div>\n }\n }\n @if(getTypeForm().viewForms.documentNumber.enabled){\n <div class=\"form-group col-12 col-md-4\">\n <label class=\"field-label\">{{'document-number'|translate}}\n @if(getTypeForm().viewForms.documentNumber.required){\n <span class=\"required\">*</span>\n }\n </label>\n <input (change)=\"onInputChange()\" class=\"form-control\" [type]=\"'text'\" name=\"documentNumber\"\n formControlName='documentNumber' min=\"1\" max=\"99999999999\" value=\"\" placeholder=\"\"\n autocomplete=\"off\">\n @if(checkoutFormFacturacion.controls['documentNumber'].touched &&\n checkoutFormFacturacion.controls['documentNumber'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'document-number-help'|translate}}\n </span>\n </div>\n }\n </div>\n }\n </div>\n <div class=\"row mt-df\"><!--Fila 6-->\n @if(this.channel.checkoutNotesField == 'required' || this.channel.checkoutNotesField == 'show'){\n <div class=\"form-group col-12 col-md-12\">\n @if(!getLabelNotesParam()){\n <label class=\"field-label\">{{'notes'|translate}}\n @if(this.channel.checkoutNotesField == 'required'){\n <span class=\"required\">*</span>\n }\n </label>\n }\n @if(getLabelNotesParam(); as labelnotes){\n <label class=\"field-label\" [innerHTML]=\"labelnotes.value\">\n @if(this.channel.checkoutNotesField == 'required'){\n <span class=\"required\">*</span>\n }\n </label>\n }\n\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"notes\"\n formControlName='notes' value=\"\" placeholder=\"\" autocomplete=\"off\">\n @if(this.channel.checkoutNotesField == 'required' &&\n checkoutFormFacturacion.controls['notes'].touched &&\n checkoutFormFacturacion.controls['notes'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'notes-help'|translate}}</span>\n </div>\n }\n </div>\n }\n </div>\n </form>\n </div>\n </div>\n }\n <div class=\"row d-flex flex-row\">\n <div class=\"col-12 d-flex justify-content-end\">\n <button type=\"submit\" class=\"btn btn-primary text-white\"\n [disabled]=\"checkoutForm.invalid || (this.channel.checkoutNotesField == 'required' && (!checkoutForm.get('notes')?.value || checkoutForm.get('notes')?.value.trim() === '')) || (!viewDataFacturacion && checkoutFormFacturacion && (checkoutFormFacturacion.invalid || (this.channel.checkoutNotesField == 'required' && (!checkoutFormFacturacion.get('notes')?.value || checkoutFormFacturacion.get('notes')?.value.trim() === ''))))\">{{(isLastOne\n ? 'finish-checkout' : (allready_data ? 'update' :\n 'ready-form')) | translate}}\n <!-- {{(allready_data ? 'update' : (isLastOne ? 'finish-checkout' : 'ready-form')) | translate}} -->\n </button>\n </div>\n </div>\n @if(loading){\n <div class=\"d-flex flex-column justify-content-center align-items-center\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n }\n\n </form>\n</div>\n} @else {\n<div id=\"loginCheckout\">\n @if(require_login){\n <div class=\"d-flex flex-column justify-content-center align-items-center my-5 \">\n <div class=\"col-12 col-md-6 \">\n <app-login-form-ec (ready)=\"verifyValidate($event)\" [redirect]=\"false\" [title]=\"'need-login'\">\n </app-login-form-ec>\n </div>\n </div>\n }\n</div>\n}\n} @else {\n@if(modeSelectAddress == 'ONLY_ADDRESS_SELECTION'){\n<div class=\"checkout-title my-2\">\n <h3>{{'address-selection'|translate}}</h3>\n</div>\n}\n\n@if(this.addressBook){\n@if(this.addressBook?.length){\n<div class=\"container\">\n <div class=\"row\">\n @for(item of addressBook; track $index; let i = $index){\n <div class=\"col-sm-6 col-12 my-3\">\n <div class=\"card p-3\">\n <input class=\"ms-1 mt-3 form-check-input input-size-lg\" type=\"radio\" [name]=\"'n-'+i\" [id]=\"i\"\n [checked]=\"item.selected\" (click)=\"setSelectAddress(item)\" (change)=\"onInputChange()\">\n <div class=\"ms-5\">\n <h4 class=\"card-title\">\n <strong>{{'address'|translate}}</strong><br>\n <span class=\"text-uppercase h3\">{{item.street}}</span>\n </h4>\n <div class=\"row\">\n <h5 class=\"card-subtitle mb-2 text-muted col-auto\">\n <strong>{{'country'|translate}}</strong> {{getCountry(item.countryCode)}}\n </h5>\n <h5 class=\"card-subtitle mb-2 text-muted col-auto\">\n <strong>{{'state'|translate}}</strong> {{getProvince(item.provinceCode)}}\n </h5>\n <h5 class=\"card-subtitle mb-2 text-muted col-auto\">\n <strong>{{'town-city'|translate}}</strong> {{item.city}}\n </h5>\n <h5 class=\"card-subtitle mb-2 text-muted col-auto\">\n <strong>{{'postal-code'|translate}}</strong> {{item.postcode}}\n </h5>\n </div>\n <div class=\"row px-3\">\n <div class=\"card p-2 bg-light w-100\">\n <div class=\"card-body\">\n <h5 class=\"card-title\">{{'address-contact'|translate}}</h5>\n <h6 class=\"card-subtitle mb-2 text-muted\">\n <strong>{{'first-name'|translate}}</strong>\n {{item.addressContact.firstName}}\n </h6>\n <h6 class=\"card-subtitle mb-2 text-muted\">\n <strong>{{'last-name'|translate}}</strong>\n {{item.addressContact.lastName}}\n </h6>\n <h6 class=\"card-subtitle mb-2 text-muted\">\n <strong>{{'document-type'|translate}}</strong>\n {{getDocumentType(item.addressContact.documentType)}}\n </h6>\n <h6 class=\"card-subtitle mb-2 text-muted\">\n <strong>{{'document-number'|translate}}</strong>\n {{item.addressContact.documentNumber}}\n </h6>\n <h6 class=\"card-subtitle mb-2 text-muted\">\n <strong>{{'email-address'|translate}}</strong>\n {{item.addressContact.email}}\n </h6>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n\n </div>\n\n <div class=\"w-100\">\n @if(this.channel.checkoutNotesField == 'required' || this.channel.checkoutNotesField == 'show'){\n <div class=\"row mt-df\">\n <div class=\"form-group col-12 col-md-12\">\n @if(!getLabelNotesParam()){\n <label class=\"form-label\">{{'notes'|translate}}\n @if(this.channel.checkoutNotesField == 'required'){\n <span class=\"required\">*</span>\n }\n </label>\n }\n @if(getLabelNotesParam(); as labelnotes){\n <label class=\"form-label\" [innerHTML]=\"labelnotes.value\">\n @if(this.channel.checkoutNotesField == 'required'){\n <span class=\"required\">*</span>\n }\n </label>\n }\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"notes\"\n [(ngModel)]=\"this.addressBookSelected.notes\" #ctrl=\"ngModel\" value=\"\" placeholder=\"\"\n autocomplete=\"off\" [required]=\"this.channel.checkoutNotesField == 'required'\">\n @if(this.channel.checkoutNotesField == 'required' && ctrl.touched && ctrl.invalid){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'notes-help'|translate}}</span>\n </div>\n }\n </div>\n </div>\n }\n </div>\n <div class=\"row d-flex flex-row\">\n <div class=\"col-12 d-flex justify-content-end\">\n <button (click)=\"onSelectAddress(cartItems)\" class=\"btn btn-primary text-white\"\n [disabled]=\"loadingStep || (this.channel.checkoutNotesField == 'required' && (!this.addressBookSelected.notes || this.addressBookSelected.notes.trim() === ''))\">{{(isLastOne\n ? 'finish-checkout' : (allready_data ? 'update' :\n 'ready-form')) | translate}}\n <!-- {{(allready_data ? 'update' : (isLastOne ? 'finish-checkout' : 'ready-form')) | translate}} -->\n </button>\n\n </div>\n </div>\n @if(loading){\n <div class=\"d-flex flex-column jusitfy-content-center align-items-center\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n }\n</div>\n} @else {\n<div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12 text-center my-2\">\n <div class=\"d-flex flex-column justify-content-center align-items-center\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n </div>\n </div>\n</div>\n}\n} @else {\n<div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12 text-center my-2\">\n <h4> {{'address-book-not-result' | translate }} </h4>\n </div>\n </div>\n</div>\n}\n\n}\n\n}\n@else {\n<div class=\"container\">\n <p>Por favor <a [routerLink]=\"['/auth/login']\"> Inicie Sesi\u00F3n</a></p>\n</div>\n}\n}\n@if(getTypeForm().viewForms.terms.enabled){\n<div class=\"modal fade\" id=\"terminos-y-condiciones\" tabindex=\"-1\" aria-labelledby=\"modalLabel\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-xl modal-dialog-scrollable\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\" id=\"modalLabel\">T\u00E9rminos y condiciones</h5>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\n </div>\n <div class=\"modal-body\">\n <app-blocks-ec [section]=\"'terminos-y-condiciones'\" />\n </div>\n </div>\n </div>\n</div>\n}", styles: [""], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.CheckboxRequiredValidator, selector: "input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: LoginFormEcComponent, selector: "app-login-form-ec", inputs: ["redirect", "redirectTo", "inCart"], outputs: ["ready"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "component", type: LoadingFullEcComponent, selector: "app-loading-full-ec" }, { kind: "component", type: BlocksEcComponent, selector: "app-blocks-ec", inputs: ["templates", "show_loading", "section", "blockFilters"] }] });
10840
10982
  }
10841
10983
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataformEcComponent, decorators: [{
10842
10984
  type: Component,
@@ -10851,7 +10993,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
10851
10993
  LoadingFullEcComponent,
10852
10994
  JsonPipe,
10853
10995
  BlocksEcComponent
10854
- ], template: "@if(channel$ | async; as channelConfig){\r\n@if(channelConfig.channelType != 'b2b' || (channelConfig.channelType == 'b2b' && isAuthenticated())){\r\n@if( modeSelectAddress == 'LOAD_ADDRESS_AND_SELECTION' && isAuthenticated() && this.addressBook != null){\r\n<!--Selector de modos-->\r\n<div class=\"container card p-4 mb-3\">\r\n <div class=\"row justify-content-center\">\r\n <div class=\"col-12 col-md-10 col-lg-8 text-center\">\r\n <div class=\"btn-group btn-group-toggle\" data-bs-toggle=\"buttons\">\r\n <label [class]=\"'btn btn-outline-secondary ' + (!getMode() ? 'active' : '')\">\r\n <input type=\"radio\" name=\"options\" id=\"option1\" autocomplete=\"off\" checked\r\n (change)=\"setMode('seleccion')\"> {{'select-address' | translate | titlecase}}\r\n </label>\r\n @if(!getParamByChannelAndLanguage('btn_new_address_')){\r\n <label [class]=\"'btn btn-outline-secondary ' + (getMode() ? 'active' : '')\">\r\n <input type=\"radio\" name=\"options\" id=\"option2\" autocomplete=\"off\" (change)=\"setMode('carga')\">\r\n {{ 'new-address' | translate | titlecase}}\r\n </label>\r\n }\r\n @if(getParamByChannelAndLanguage('btn_new_address_'); as param){\r\n <label [class]=\"'btn btn-outline-secondary ' + (selectAddress ? 'active' : '')\">\r\n <input type=\"radio\" name=\"options\" id=\"option2\" autocomplete=\"off\" (change)=\"setMode('carga')\">\r\n {{ param.value}}\r\n </label>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n}\r\n\r\n@if(getMode()){\r\n@if(!require_login){\r\n<div>\r\n @if(modeSelectAddress == 'ONLY_LOAD_ADDRESS'){\r\n <div class=\"checkout-title my-2\">\r\n <h3>{{'billing-details'|translate}}</h3>\r\n </div>\r\n }\r\n <!--Formulario-->\r\n <form [formGroup]=\"checkoutForm\" (submit)=\"verifyValidate($event)\"> <!-- //this.cartService.items -->\r\n <div class=\"row mt-2\"><!--Fila 1-->\r\n\r\n @if(getTypeForm().viewForms.firstName.enabled){\r\n <div class=\"form-group col-12 col-md-6\">\r\n <!--Si es required-->\r\n <label class=\"form-label\">{{'first-name'|translate}}\r\n @if(getTypeForm().viewForms.firstName.required){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n <!--Input-->\r\n <input class=\"form-control\" type=\"text\" name=\"firstName\" formControlName=\"firstName\" value=\"\"\r\n placeholder=\"\" autocomplete=\"off\">\r\n @if(checkoutForm.controls['firstName'].touched &&\r\n checkoutForm.controls['firstName'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'first-name-help1'|translate}}</span>\r\n </div>\r\n }\r\n <!--Error info-->\r\n @if(checkoutForm.controls['firstName'].touched &&\r\n checkoutForm.controls['firstName'].errors?.['pattern']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'first-name-help2'|translate}}\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n @if(getTypeForm().viewForms.lastName.enabled){\r\n <div class=\"form-group col-12 col-md-6\">\r\n <label class=\"form-label\">{{'last-name'|translate}}\r\n @if(getTypeForm().viewForms.lastName.required){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n <input class=\"form-control\" type=\"text\" name=\"lastName\" formControlName=\"lastName\" value=\"\"\r\n placeholder=\"\" autocomplete=\"off\">\r\n @if(checkoutForm.controls['lastName'].touched &&\r\n checkoutForm.controls['lastName'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'last-name-help1'|translate}}</span>\r\n </div>\r\n }\r\n @if(checkoutForm.controls['lastName'].touched && checkoutForm.controls['lastName'].errors?.['pattern']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'last-name-help2'|translate}}</span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"row mt-2\"><!--Fila 2-->\r\n @if(getTypeForm().viewForms.phoneNumber.enabled){\r\n <div class=\"form-group col-12 col-md-6\">\r\n <label class=\"form-label\">{{'phone'|translate}}\r\n @if(getTypeForm().viewForms.phoneNumber.required){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"phoneNumber\"\r\n formControlName='phoneNumber' value=\"\" placeholder=\"\" autocomplete=\"off\">\r\n @if(checkoutForm.controls['phoneNumber'].touched &&\r\n checkoutForm.controls['phoneNumber'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'phone-help1'|translate}}\r\n </span>\r\n </div>\r\n }\r\n @if(checkoutForm.controls['phoneNumber'].touched &&\r\n checkoutForm.controls['phoneNumber'].errors?.['pattern']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'phone-help2'|translate}}\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n @if(getTypeForm().viewForms.email.enabled){\r\n <div class=\"form-group col-12 col-md-6\">\r\n <label class=\"form-label\">{{'email-address'|translate}}\r\n @if(getTypeForm().viewForms.email.required){\r\n <span class=\"required\">*</span>\r\n }</label>\r\n <input class=\"form-control\" type=\"email\" name=\"email\" formControlName='email' value=\"\" placeholder=\"\"\r\n autocomplete=\"off\">\r\n @if(checkoutForm.controls['email'].touched && checkoutForm.controls['email'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'email-address-help1'|translate}}\r\n </span>\r\n </div>\r\n }\r\n @if(checkoutForm.controls['email'].touched && checkoutForm.controls['email'].errors?.['email']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'email-address-help2'|translate}}\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"row mt-2\"><!--Fila 3-->\r\n @if(getTypeForm().viewForms.countryCode.enabled){\r\n @if(countries$ | async; as countries){\r\n <div class=\"form-group col-12 col-md-4\">\r\n <label class=\"form-label\">{{'country'|translate}}\r\n @if(getTypeForm().viewForms.countryCode.required){\r\n <span class=\"required\">*</span>\r\n }</label>\r\n <select class=\"form-select\" name=\"countryCode\" formControlName='countryCode'\r\n (change)=\"onCountrySelected($event)\">\r\n @for(country of countries; track $index){\r\n <option [value]=\"country.code\">{{ country.name }}</option>\r\n }\r\n </select>\r\n @if(checkoutForm.controls['countryCode'].touched &&\r\n checkoutForm.controls['countryCode'].errors?.['required']){\r\n <div class=\"text text-danger\">\r\n {{'country-help'|translate}}\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n @if(getTypeForm().viewForms.provinceCode.enabled){\r\n @if(provinces$ | async; as provinces){\r\n <div class=\"form-group col-12 col-md-4\">\r\n <label class=\"form-label\">{{'state'|translate}}\r\n @if(getTypeForm().viewForms.provinceCode.required){\r\n <span class=\"required\">*</span>\r\n }</label>\r\n <select class=\"form-select\" name=\"provinceCode\" (change)=\"onProvincesSelected($event, provinces)\"\r\n formControlName='provinceCode'>\r\n <option value=\"\">{{'select-state'|translate}}</option>\r\n @for(province of provinces; track $index){\r\n <option [value]=\"province.code\">{{ province.name }}\r\n </option>\r\n }\r\n </select>\r\n @if(checkoutForm.controls['provinceCode'].touched &&\r\n checkoutForm.controls['provinceCode'].errors?.['required']){\r\n <div class=\"text text-danger\">\r\n {{'state-help'|translate}}\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n @if(getTypeForm().viewForms.city.enabled){\r\n <div class=\"form-group col-12 col-md-4\">\r\n <label class=\"form-label\">{{'town-city'|translate}}\r\n @if(getTypeForm().viewForms.city.required){\r\n <span class=\"required\">*</span>\r\n }</label>\r\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"city\" formControlName='city'\r\n value=\"\" placeholder=\"\" autocomplete=\"off\">\r\n @if(checkoutForm.controls['city'].touched && checkoutForm.controls['city'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'town-city-help'|translate}}</span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"row mt-df\"><!--Fila 4-->\r\n @if(getTypeForm().viewForms.street.enabled){\r\n <div class=\"form-group col-12 col-md-8\">\r\n <label class=\"field-label\">{{'address'|translate}}\r\n @if(getTypeForm().viewForms.street.required){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"street\"\r\n formControlName='street' value=\"\" placeholder=\"\" autocomplete=\"off\">\r\n @if(checkoutForm.controls['street'].touched && checkoutForm.controls['street'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'address-help1'|translate}}</span>\r\n </div>\r\n }\r\n @if(checkoutForm.controls['street'].touched && checkoutForm.controls['street'].errors?.['maxlength']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'address-help2'|translate}}</span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n <!-- form direcci\u00F3n -->\r\n @if(getTypeForm().viewForms.postcode.enabled){\r\n <div class=\"form-group col-12 col-md-4\">\r\n <label class=\"field-label\">{{'postal-code'|translate}}\r\n @if(getTypeForm().viewForms.postcode.required){\r\n <span class=\"required\">*</span>\r\n }</label>\r\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"postcode\"\r\n formControlName='postcode' value=\"\" placeholder=\"\" autocomplete=\"off\">\r\n @if(checkoutForm.controls['postcode'].touched &&\r\n checkoutForm.controls['postcode'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'postal-code-help'|translate}}</span>\r\n </div>\r\n }\r\n @if(checkoutForm.controls['postcode'].touched && checkoutForm.controls['postcode'].errors?.['pattern']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\"> {{'postal-code-pattern-error' | translate}} </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"row mt-df\"><!--Fila 5-->\r\n @if(getTypeForm().viewForms.documentType.enabled){\r\n @if(documentTypes$ | async; as documentTypes){\r\n <div class=\"form-group col-12 col-md-4\">\r\n <label class=\"field-label\">{{'document-type'|translate}}\r\n @if(getTypeForm().viewForms.documentType.required){\r\n <span class=\"required\">*</span>\r\n }</label>\r\n <select name=\"documentType\" class=\"form-select\" (change)=\"onDocumentTypesSelected($event)\"\r\n formControlName='documentType'>\r\n @for(item of documentTypes; track $index){\r\n <option [value]=\"item.code\">{{item.name}}</option>\r\n }\r\n </select>\r\n @if(checkoutForm.controls['documentType'].touched &&\r\n checkoutForm.controls['documentType'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'type-document-help'|translate}}\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n @if(getTypeForm().viewForms.documentNumber.enabled){\r\n <div class=\"form-group col-12 col-md-4\">\r\n <label class=\"field-label\">{{'document-number'|translate}}\r\n @if(getTypeForm().viewForms.documentNumber.required){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n <input (change)=\"onInputChange()\" class=\"form-control\" [type]=\"'text'\" name=\"documentNumber\"\r\n formControlName='documentNumber' min=\"1\" max=\"99999999999\" value=\"\" placeholder=\"\"\r\n autocomplete=\"off\">\r\n @if(checkoutForm.controls['documentNumber'].touched &&\r\n checkoutForm.controls['documentNumber'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'document-number-help'|translate}}\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"row mt-df\"><!--Fila 6-->\r\n @if(this.channel.checkoutNotesField == 'required' || this.channel.checkoutNotesField == 'show'){\r\n <div class=\"form-group col-12 col-md-12\">\r\n @if(!getLabelNotesParam()){\r\n <label class=\"field-label\">{{'notes'|translate}}\r\n @if(this.channel.checkoutNotesField == 'required'){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n }\r\n @if(getLabelNotesParam(); as labelnotes){\r\n <label class=\"field-label\" [innerHTML]=\"labelnotes.value\">\r\n @if(this.channel.checkoutNotesField == 'required'){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n }\r\n\r\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"notes\" formControlName='notes'\r\n value=\"\" placeholder=\"\" autocomplete=\"off\">\r\n @if(this.channel.checkoutNotesField == 'required' && checkoutForm.controls['notes'].touched &&\r\n checkoutForm.controls['notes'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'notes-help'|translate}}</span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"row mt-df\"><!--Fila 7-->\r\n <div class=\"form-group col-12 col-md-12\">\r\n <label for=\"formFact\"><b>{{ 'same-billing-address' | translate }}</b> <input type=\"checkbox\"\r\n class=\"ms-2\" [checked]=\"viewDataFacturacion\" (change)=\"showFormFacturacion()\"\r\n id=\"formFact\"></label>\r\n </div>\r\n </div>\r\n <div class=\"row mt-df\">\r\n <div class=\"col-12\">\r\n <p>\r\n <label class=\"required text-underline text-danger\">* {{ 'required-fields' | translate }}</label>\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"row mt-df\">\r\n @if(getTypeForm().viewForms.terms.enabled){\r\n <div class=\"form-group col-12 col-md-12\">\r\n @if(getTypeForm().viewForms.terms.required){\r\n <span class=\"required\">*</span>\r\n }\r\n <label class=\"\" for=\"\"> {{ 'accept-terms' | translate }} <input class=\"ms-2\" name=\"terms\"\r\n formControlName='terms' type=\"checkbox\" required (change)=\"onInputChange()\" /> </label><br />\r\n <button type=\"button\" class=\"btn btn-primary\" data-bs-toggle=\"modal\"\r\n data-bs-target=\"#terminos-y-condiciones\">\r\n {{ 'whats-this' | translate }}\r\n </button>\r\n @if(checkoutForm.controls['terms'].touched && !checkoutForm.controls['terms'].value){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{ 'must-accept-terms' | translate }}</span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n @if(!viewDataFacturacion){\r\n <!--Formulario de Facturaci\u00F3n-->\r\n <div class=\"card\">\r\n <div class=\"card-header text-center\">\r\n <h2>{{ 'billing-data' | translate }}</h2>\r\n </div>\r\n <div class=\"card-body\">\r\n <form [formGroup]=\"checkoutFormFacturacion\">\r\n <div class=\"row mt-2\"><!--Fila 1-->\r\n\r\n @if(getTypeForm().viewForms.firstName.enabled){\r\n <div class=\"form-group col-12 col-md-6\">\r\n <!--Si es required-->\r\n <label class=\"form-label\">{{'first-name'|translate}}\r\n @if(getTypeForm().viewForms.firstName.required){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n <!--Input-->\r\n <input class=\"form-control\" type=\"text\" name=\"firstName\" formControlName=\"firstName\"\r\n value=\"\" placeholder=\"\" autocomplete=\"off\">\r\n @if(checkoutFormFacturacion.controls['firstName'].touched &&\r\n checkoutFormFacturacion.controls['firstName'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'first-name-help1'|translate}}</span>\r\n </div>\r\n }\r\n <!--Error info-->\r\n @if(checkoutFormFacturacion.controls['firstName'].touched &&\r\n checkoutFormFacturacion.controls['firstName'].errors?.['pattern']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'first-name-help2'|translate}}\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n @if(getTypeForm().viewForms.lastName.enabled){\r\n <div class=\"form-group col-12 col-md-6\">\r\n <label class=\"form-label\">{{'last-name'|translate}}\r\n @if(getTypeForm().viewForms.lastName.required){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n <input class=\"form-control\" type=\"text\" name=\"lastName\" formControlName=\"lastName\" value=\"\"\r\n placeholder=\"\" autocomplete=\"off\">\r\n @if(checkoutFormFacturacion.controls['lastName'].touched &&\r\n checkoutFormFacturacion.controls['lastName'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'last-name-help1'|translate}}</span>\r\n </div>\r\n }\r\n @if(checkoutFormFacturacion.controls['lastName'].touched &&\r\n checkoutFormFacturacion.controls['lastName'].errors?.['pattern']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'last-name-help2'|translate}}</span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"row mt-2\"><!--Fila 2-->\r\n @if(getTypeForm().viewForms.phoneNumber.enabled){\r\n <div class=\"form-group col-12 col-md-6\">\r\n <label class=\"form-label\">{{'phone'|translate}}\r\n @if(getTypeForm().viewForms.phoneNumber.required){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"phoneNumber\"\r\n formControlName='phoneNumber' value=\"\" placeholder=\"\" autocomplete=\"off\">\r\n @if(checkoutFormFacturacion.controls['phoneNumber'].touched &&\r\n checkoutFormFacturacion.controls['phoneNumber'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'phone-help1'|translate}}\r\n </span>\r\n </div>\r\n }\r\n @if(checkoutFormFacturacion.controls['phoneNumber'].touched &&\r\n checkoutFormFacturacion.controls['phoneNumber'].errors?.['pattern']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'phone-help2'|translate}}\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n @if(getTypeForm().viewForms.email.enabled){\r\n <div class=\"form-group col-12 col-md-6\">\r\n <label class=\"form-label\">{{'email-address'|translate}}\r\n @if(getTypeForm().viewForms.email.required){\r\n <span class=\"required\">*</span>\r\n }</label>\r\n <input class=\"form-control\" type=\"email\" name=\"email\" formControlName='email' value=\"\"\r\n placeholder=\"\" autocomplete=\"off\">\r\n @if(checkoutFormFacturacion.controls['email'].touched &&\r\n checkoutFormFacturacion.controls['email'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'email-address-help1'|translate}}\r\n </span>\r\n </div>\r\n }\r\n @if(checkoutFormFacturacion.controls['email'].touched &&\r\n checkoutFormFacturacion.controls['email'].errors?.['email']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'email-address-help2'|translate}}\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"row mt-2\"><!--Fila 3-->\r\n @if(getTypeForm().viewForms.countryCode.enabled){\r\n @if(countries$ | async; as countries){\r\n <div class=\"form-group col-12 col-md-4\">\r\n <label class=\"form-label\">{{'country'|translate}}\r\n @if(getTypeForm().viewForms.countryCode.required){\r\n <span class=\"required\">*</span>\r\n }</label>\r\n <select class=\"form-select\" name=\"countryCode\" formControlName='countryCode'\r\n (change)=\"onCountrySelected($event, true)\">\r\n @for(country of countries; track $index){\r\n <option [value]=\"country.code\">{{ country.name }}</option>\r\n }\r\n </select>\r\n @if(checkoutFormFacturacion.controls['countryCode'].touched &&\r\n checkoutFormFacturacion.controls['countryCode'].errors?.['required']){\r\n <div class=\"text text-danger\">\r\n {{'country-help'|translate}}\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n @if(getTypeForm().viewForms.provinceCode.enabled){\r\n @if(provinces$ | async; as provinces){\r\n <div class=\"form-group col-12 col-md-4\">\r\n <label class=\"form-label\">{{'state'|translate}}\r\n @if(getTypeForm().viewForms.provinceCode.required){\r\n <span class=\"required\">*</span>\r\n }</label>\r\n <select class=\"form-select\" name=\"provinceCode\"\r\n (change)=\"onProvincesSelected($event, provinces, true)\" formControlName='provinceCode'>\r\n <option value=\"\">{{'select-state'|translate}}</option>\r\n @for(province of provinces; track $index){\r\n <option [value]=\"province.code\">{{ province.name }}\r\n </option>\r\n }\r\n </select>\r\n @if(checkoutFormFacturacion.controls['provinceCode'].touched &&\r\n checkoutFormFacturacion.controls['provinceCode'].errors?.['required']){\r\n <div class=\"text text-danger\">\r\n {{'state-help'|translate}}\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n @if(getTypeForm().viewForms.city.enabled){\r\n <div class=\"form-group col-12 col-md-4\">\r\n <label class=\"form-label\">{{'town-city'|translate}}\r\n @if(getTypeForm().viewForms.city.required){\r\n <span class=\"required\">*</span>\r\n }</label>\r\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"city\"\r\n formControlName='city' value=\"\" placeholder=\"\" autocomplete=\"off\">\r\n @if(checkoutFormFacturacion.controls['city'].touched &&\r\n checkoutFormFacturacion.controls['city'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'town-city-help'|translate}}</span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"row mt-df\"><!--Fila 4-->\r\n @if(getTypeForm().viewForms.street.enabled){\r\n <div class=\"form-group col-12 col-md-8\">\r\n <label class=\"field-label\">{{'address'|translate}}\r\n @if(getTypeForm().viewForms.street.required){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"street\"\r\n formControlName='street' value=\"\" placeholder=\"\" autocomplete=\"off\">\r\n @if(checkoutFormFacturacion.controls['street'].touched &&\r\n checkoutFormFacturacion.controls['street'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'address-help1'|translate}}</span>\r\n </div>\r\n }\r\n @if(checkoutFormFacturacion.controls['street'].touched &&\r\n checkoutFormFacturacion.controls['street'].errors?.['maxlength']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'address-help2'|translate}}</span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n <!-- form direcci\u00F3n -->\r\n @if(getTypeForm().viewForms.postcode.enabled){\r\n <div class=\"form-group col-12 col-md-4\">\r\n <label class=\"field-label\">{{'postal-code'|translate}}\r\n @if(getTypeForm().viewForms.postcode.required){\r\n <span class=\"required\">*</span>\r\n }</label>\r\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"postcode\"\r\n formControlName='postcode' value=\"\" placeholder=\"\" autocomplete=\"off\">\r\n @if(checkoutFormFacturacion.controls['postcode'].touched &&\r\n checkoutFormFacturacion.controls['postcode'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'postal-code-help'|translate}}</span>\r\n </div>\r\n }\r\n @if(checkoutFormFacturacion.controls['postcode'].touched &&\r\n checkoutFormFacturacion.controls['postcode'].errors?.['pattern']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\"> {{'postal-code-pattern-error' | translate}} </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"row mt-df\"><!--Fila 5-->\r\n @if(getTypeForm().viewForms.documentType.enabled){\r\n @if(documentTypes$ | async; as documentTypes){\r\n <div class=\"form-group col-12 col-md-4\">\r\n <label class=\"field-label\">{{'document-type'|translate}}\r\n @if(getTypeForm().viewForms.documentType.required){\r\n <span class=\"required\">*</span>\r\n }</label>\r\n <select name=\"documentType\" class=\"form-select\"\r\n (change)=\"onDocumentTypesSelected($event, true)\" formControlName='documentType'>\r\n @for(item of documentTypes; track $index){\r\n <option [value]=\"item.code\">{{item.name}}</option>\r\n }\r\n </select>\r\n @if(checkoutFormFacturacion.controls['documentType'].touched &&\r\n checkoutFormFacturacion.controls['documentType'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'type-document-help'|translate}}\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n @if(getTypeForm().viewForms.documentNumber.enabled){\r\n <div class=\"form-group col-12 col-md-4\">\r\n <label class=\"field-label\">{{'document-number'|translate}}\r\n @if(getTypeForm().viewForms.documentNumber.required){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n <input (change)=\"onInputChange()\" class=\"form-control\" [type]=\"'text'\" name=\"documentNumber\"\r\n formControlName='documentNumber' min=\"1\" max=\"99999999999\" value=\"\" placeholder=\"\"\r\n autocomplete=\"off\">\r\n @if(checkoutFormFacturacion.controls['documentNumber'].touched &&\r\n checkoutFormFacturacion.controls['documentNumber'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">\r\n {{'document-number-help'|translate}}\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"row mt-df\"><!--Fila 6-->\r\n @if(this.channel.checkoutNotesField == 'required' || this.channel.checkoutNotesField == 'show'){\r\n <div class=\"form-group col-12 col-md-12\">\r\n @if(!getLabelNotesParam()){\r\n <label class=\"field-label\">{{'notes'|translate}}\r\n @if(this.channel.checkoutNotesField == 'required'){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n }\r\n @if(getLabelNotesParam(); as labelnotes){\r\n <label class=\"field-label\" [innerHTML]=\"labelnotes.value\">\r\n @if(this.channel.checkoutNotesField == 'required'){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n }\r\n\r\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"notes\"\r\n formControlName='notes' value=\"\" placeholder=\"\" autocomplete=\"off\">\r\n @if(this.channel.checkoutNotesField == 'required' &&\r\n checkoutFormFacturacion.controls['notes'].touched &&\r\n checkoutFormFacturacion.controls['notes'].errors?.['required']){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'notes-help'|translate}}</span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n }\r\n <div class=\"row d-flex flex-row\">\r\n <div class=\"col-12 d-flex justify-content-end\">\r\n <button type=\"submit\" class=\"btn btn-primary text-white\"\r\n [disabled]=\"checkoutForm.invalid || (this.channel.checkoutNotesField == 'required' && (!checkoutForm.get('notes')?.value || checkoutForm.get('notes')?.value.trim() === '')) || (!viewDataFacturacion && checkoutFormFacturacion && (checkoutFormFacturacion.invalid || (this.channel.checkoutNotesField == 'required' && (!checkoutFormFacturacion.get('notes')?.value || checkoutFormFacturacion.get('notes')?.value.trim() === ''))))\">{{(isLastOne\r\n ? 'finish-checkout' : (allready_data ? 'update' :\r\n 'ready-form')) | translate}}\r\n <!-- {{(allready_data ? 'update' : (isLastOne ? 'finish-checkout' : 'ready-form')) | translate}} -->\r\n </button>\r\n </div>\r\n </div>\r\n @if(loading){\r\n <div class=\"d-flex flex-column justify-content-center align-items-center\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n }\r\n\r\n </form>\r\n</div>\r\n} @else {\r\n<div id=\"loginCheckout\">\r\n @if(require_login){\r\n <div class=\"d-flex flex-column justify-content-center align-items-center my-5 \">\r\n <div class=\"col-12 col-md-6 \">\r\n <app-login-form-ec (ready)=\"verifyValidate($event)\" [redirect]=\"false\" [title]=\"'need-login'\">\r\n </app-login-form-ec>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n}\r\n} @else {\r\n@if(modeSelectAddress == 'ONLY_ADDRESS_SELECTION'){\r\n<div class=\"checkout-title my-2\">\r\n <h3>{{'address-selection'|translate}}</h3>\r\n</div>\r\n}\r\n\r\n@if(this.addressBook){\r\n@if(this.addressBook?.length){\r\n<div class=\"container\">\r\n <div class=\"row\">\r\n @for(item of addressBook; track $index; let i = $index){\r\n <div class=\"col-sm-6 col-12 my-3\">\r\n <div class=\"card p-3\">\r\n <input class=\"ms-1 mt-3 form-check-input input-size-lg\" type=\"radio\" [name]=\"'n-'+i\" [id]=\"i\"\r\n [checked]=\"item.selected\" (click)=\"setSelectAddress(item)\" (change)=\"onInputChange()\">\r\n <div class=\"ms-5\">\r\n <h4 class=\"card-title\">\r\n <strong>{{'address'|translate}}</strong><br>\r\n <span class=\"text-uppercase h3\">{{item.street}}</span>\r\n </h4>\r\n <div class=\"row\">\r\n <h5 class=\"card-subtitle mb-2 text-muted col-auto\">\r\n <strong>{{'country'|translate}}</strong> {{getCountry(item.countryCode)}}\r\n </h5>\r\n <h5 class=\"card-subtitle mb-2 text-muted col-auto\">\r\n <strong>{{'state'|translate}}</strong> {{getProvince(item.provinceCode)}}\r\n </h5>\r\n <h5 class=\"card-subtitle mb-2 text-muted col-auto\">\r\n <strong>{{'town-city'|translate}}</strong> {{item.city}}\r\n </h5>\r\n <h5 class=\"card-subtitle mb-2 text-muted col-auto\">\r\n <strong>{{'postal-code'|translate}}</strong> {{item.postcode}}\r\n </h5>\r\n </div>\r\n <div class=\"row px-3\">\r\n <div class=\"card p-2 bg-light w-100\">\r\n <div class=\"card-body\">\r\n <h5 class=\"card-title\">{{'address-contact'|translate}}</h5>\r\n <h6 class=\"card-subtitle mb-2 text-muted\">\r\n <strong>{{'first-name'|translate}}</strong>\r\n {{item.addressContact.firstName}}\r\n </h6>\r\n <h6 class=\"card-subtitle mb-2 text-muted\">\r\n <strong>{{'last-name'|translate}}</strong>\r\n {{item.addressContact.lastName}}\r\n </h6>\r\n <h6 class=\"card-subtitle mb-2 text-muted\">\r\n <strong>{{'document-type'|translate}}</strong>\r\n {{getDocumentType(item.addressContact.documentType)}}\r\n </h6>\r\n <h6 class=\"card-subtitle mb-2 text-muted\">\r\n <strong>{{'document-number'|translate}}</strong>\r\n {{item.addressContact.documentNumber}}\r\n </h6>\r\n <h6 class=\"card-subtitle mb-2 text-muted\">\r\n <strong>{{'email-address'|translate}}</strong>\r\n {{item.addressContact.email}}\r\n </h6>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n </div>\r\n\r\n <div class=\"w-100\">\r\n @if(this.channel.checkoutNotesField == 'required' || this.channel.checkoutNotesField == 'show'){\r\n <div class=\"row mt-df\">\r\n <div class=\"form-group col-12 col-md-12\">\r\n @if(!getLabelNotesParam()){\r\n <label class=\"form-label\">{{'notes'|translate}}\r\n @if(this.channel.checkoutNotesField == 'required'){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n }\r\n @if(getLabelNotesParam(); as labelnotes){\r\n <label class=\"form-label\" [innerHTML]=\"labelnotes.value\">\r\n @if(this.channel.checkoutNotesField == 'required'){\r\n <span class=\"required\">*</span>\r\n }\r\n </label>\r\n }\r\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"notes\"\r\n [(ngModel)]=\"this.addressBookSelected.notes\" #ctrl=\"ngModel\" value=\"\" placeholder=\"\"\r\n autocomplete=\"off\" [required]=\"this.channel.checkoutNotesField == 'required'\">\r\n @if(this.channel.checkoutNotesField == 'required' && ctrl.touched && ctrl.invalid){\r\n <div class=\"text-danger-container\">\r\n <span class=\"text-danger\">{{'notes-help'|translate}}</span>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"row d-flex flex-row\">\r\n <div class=\"col-12 d-flex justify-content-end\">\r\n <button (click)=\"onSelectAddress(cartItems)\" class=\"btn btn-primary text-white\"\r\n [disabled]=\"loadingStep || (this.channel.checkoutNotesField == 'required' && (!this.addressBookSelected.notes || this.addressBookSelected.notes.trim() === ''))\">{{(isLastOne\r\n ? 'finish-checkout' : (allready_data ? 'update' :\r\n 'ready-form')) | translate}}\r\n <!-- {{(allready_data ? 'update' : (isLastOne ? 'finish-checkout' : 'ready-form')) | translate}} -->\r\n </button>\r\n\r\n </div>\r\n </div>\r\n @if(loading){\r\n <div class=\"d-flex flex-column jusitfy-content-center align-items-center\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n }\r\n</div>\r\n} @else {\r\n<div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-12 text-center my-2\">\r\n <div class=\"d-flex flex-column justify-content-center align-items-center\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n}\r\n} @else {\r\n<div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-12 text-center my-2\">\r\n <h4> {{'address-book-not-result' | translate }} </h4>\r\n </div>\r\n </div>\r\n</div>\r\n}\r\n\r\n}\r\n\r\n}\r\n@else {\r\n<div class=\"container\">\r\n <p>Por favor <a [routerLink]=\"['/auth/login']\"> Inicie Sesi\u00F3n</a></p>\r\n</div>\r\n}\r\n}\r\n@if(getTypeForm().viewForms.terms.enabled){\r\n<div class=\"modal fade\" id=\"terminos-y-condiciones\" tabindex=\"-1\" aria-labelledby=\"modalLabel\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog modal-xl modal-dialog-scrollable\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h5 class=\"modal-title\" id=\"modalLabel\">T\u00E9rminos y condiciones</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <app-blocks-ec [section]=\"'terminos-y-condiciones'\" />\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n}" }]
10996
+ ], template: "@if(channel$ | async; as channelConfig){\n@if(channelConfig.channelType != 'b2b' || (channelConfig.channelType == 'b2b' && isAuthenticated())){\n@if( modeSelectAddress == 'LOAD_ADDRESS_AND_SELECTION' && isAuthenticated() && this.addressBook != null){\n<!--Selector de modos-->\n<div class=\"container card p-4 mb-3\">\n <div class=\"row justify-content-center\">\n <div class=\"col-12 col-md-10 col-lg-8 text-center\">\n <div class=\"btn-group btn-group-toggle\" data-bs-toggle=\"buttons\">\n <label [class]=\"'btn btn-outline-secondary ' + (!getMode() ? 'active' : '')\">\n <input type=\"radio\" name=\"options\" id=\"option1\" autocomplete=\"off\" checked\n (change)=\"setMode('seleccion')\"> {{'select-address' | translate | titlecase}}\n </label>\n @if(!getParamByChannelAndLanguage('btn_new_address_')){\n <label [class]=\"'btn btn-outline-secondary ' + (getMode() ? 'active' : '')\">\n <input type=\"radio\" name=\"options\" id=\"option2\" autocomplete=\"off\" (change)=\"setMode('carga')\">\n {{ 'new-address' | translate | titlecase}}\n </label>\n }\n @if(getParamByChannelAndLanguage('btn_new_address_'); as param){\n <label [class]=\"'btn btn-outline-secondary ' + (selectAddress ? 'active' : '')\">\n <input type=\"radio\" name=\"options\" id=\"option2\" autocomplete=\"off\" (change)=\"setMode('carga')\">\n {{ param.value}}\n </label>\n }\n </div>\n </div>\n </div>\n</div>\n}\n\n@if(getMode()){\n@if(!require_login){\n<div>\n @if(modeSelectAddress == 'ONLY_LOAD_ADDRESS'){\n <div class=\"checkout-title my-2\">\n <h3>{{'billing-details'|translate}}</h3>\n </div>\n }\n <!--Formulario-->\n <form [formGroup]=\"checkoutForm\" (submit)=\"verifyValidate($event)\"> <!-- //this.cartService.items -->\n <div class=\"row mt-2\"><!--Fila 1-->\n\n @if(getTypeForm().viewForms.firstName.enabled){\n <div class=\"form-group col-12 col-md-6\">\n <!--Si es required-->\n <label class=\"form-label\">{{'first-name'|translate}}\n @if(getTypeForm().viewForms.firstName.required){\n <span class=\"required\">*</span>\n }\n </label>\n <!--Input-->\n <input class=\"form-control\" type=\"text\" name=\"firstName\" formControlName=\"firstName\" value=\"\"\n placeholder=\"\" autocomplete=\"off\">\n @if(checkoutForm.controls['firstName'].touched &&\n checkoutForm.controls['firstName'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'first-name-help1'|translate}}</span>\n </div>\n }\n <!--Error info-->\n @if(checkoutForm.controls['firstName'].touched &&\n checkoutForm.controls['firstName'].errors?.['pattern']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'first-name-help2'|translate}}\n </span>\n </div>\n }\n </div>\n }\n @if(getTypeForm().viewForms.lastName.enabled){\n <div class=\"form-group col-12 col-md-6\">\n <label class=\"form-label\">{{'last-name'|translate}}\n @if(getTypeForm().viewForms.lastName.required){\n <span class=\"required\">*</span>\n }\n </label>\n <input class=\"form-control\" type=\"text\" name=\"lastName\" formControlName=\"lastName\" value=\"\"\n placeholder=\"\" autocomplete=\"off\">\n @if(checkoutForm.controls['lastName'].touched &&\n checkoutForm.controls['lastName'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'last-name-help1'|translate}}</span>\n </div>\n }\n @if(checkoutForm.controls['lastName'].touched && checkoutForm.controls['lastName'].errors?.['pattern']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'last-name-help2'|translate}}</span>\n </div>\n }\n </div>\n }\n </div>\n <div class=\"row mt-2\"><!--Fila 2-->\n @if(getTypeForm().viewForms.phoneNumber.enabled){\n <div class=\"form-group col-12 col-md-6\">\n <label class=\"form-label\">{{'phone'|translate}}\n @if(getTypeForm().viewForms.phoneNumber.required){\n <span class=\"required\">*</span>\n }\n </label>\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"phoneNumber\"\n formControlName='phoneNumber' value=\"\" placeholder=\"\" autocomplete=\"off\">\n @if(checkoutForm.controls['phoneNumber'].touched &&\n checkoutForm.controls['phoneNumber'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'phone-help1'|translate}}\n </span>\n </div>\n }\n @if(checkoutForm.controls['phoneNumber'].touched &&\n checkoutForm.controls['phoneNumber'].errors?.['pattern']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'phone-help2'|translate}}\n </span>\n </div>\n }\n </div>\n }\n @if(getTypeForm().viewForms.email.enabled){\n <div class=\"form-group col-12 col-md-6\">\n <label class=\"form-label\">{{'email-address'|translate}}\n @if(getTypeForm().viewForms.email.required){\n <span class=\"required\">*</span>\n }</label>\n <input class=\"form-control\" type=\"email\" name=\"email\" formControlName='email' value=\"\" placeholder=\"\"\n autocomplete=\"off\">\n @if(checkoutForm.controls['email'].touched && checkoutForm.controls['email'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'email-address-help1'|translate}}\n </span>\n </div>\n }\n @if(checkoutForm.controls['email'].touched && checkoutForm.controls['email'].errors?.['email']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'email-address-help2'|translate}}\n </span>\n </div>\n }\n </div>\n }\n </div>\n <div class=\"row mt-2\"><!--Fila 3-->\n @if(getTypeForm().viewForms.countryCode.enabled){\n @if(countries$ | async; as countries){\n <div class=\"form-group col-12 col-md-4\">\n <label class=\"form-label\">{{'country'|translate}}\n @if(getTypeForm().viewForms.countryCode.required){\n <span class=\"required\">*</span>\n }</label>\n <select class=\"form-select\" name=\"countryCode\" formControlName='countryCode'\n (change)=\"onCountrySelected($event)\">\n @for(country of countries; track $index){\n <option [value]=\"country.code\">{{ country.name }}</option>\n }\n </select>\n @if(checkoutForm.controls['countryCode'].touched &&\n checkoutForm.controls['countryCode'].errors?.['required']){\n <div class=\"text text-danger\">\n {{'country-help'|translate}}\n </div>\n }\n </div>\n }\n }\n @if(getTypeForm().viewForms.provinceCode.enabled){\n @if(provinces$ | async; as provinces){\n <div class=\"form-group col-12 col-md-4\">\n <label class=\"form-label\">{{'state'|translate}}\n @if(getTypeForm().viewForms.provinceCode.required){\n <span class=\"required\">*</span>\n }</label>\n <select class=\"form-select\" name=\"provinceCode\" (change)=\"onProvincesSelected($event, provinces)\"\n formControlName='provinceCode'>\n <option value=\"\">{{'select-state'|translate}}</option>\n @for(province of provinces; track $index){\n <option [value]=\"province.code\">{{ province.name }}\n </option>\n }\n </select>\n @if(checkoutForm.controls['provinceCode'].touched &&\n checkoutForm.controls['provinceCode'].errors?.['required']){\n <div class=\"text text-danger\">\n {{'state-help'|translate}}\n </div>\n }\n </div>\n }\n }\n @if(getTypeForm().viewForms.city.enabled){\n <div class=\"form-group col-12 col-md-4\">\n <label class=\"form-label\">{{'town-city'|translate}}\n @if(getTypeForm().viewForms.city.required){\n <span class=\"required\">*</span>\n }</label>\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"city\" formControlName='city'\n value=\"\" placeholder=\"\" autocomplete=\"off\">\n @if(checkoutForm.controls['city'].touched && checkoutForm.controls['city'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'town-city-help'|translate}}</span>\n </div>\n }\n </div>\n }\n </div>\n <div class=\"row mt-df\"><!--Fila 4-->\n @if(getTypeForm().viewForms.street.enabled){\n <div class=\"form-group col-12 col-md-8\">\n <label class=\"field-label\">{{'address'|translate}}\n @if(getTypeForm().viewForms.street.required){\n <span class=\"required\">*</span>\n }\n </label>\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"street\"\n formControlName='street' value=\"\" placeholder=\"\" autocomplete=\"off\">\n @if(checkoutForm.controls['street'].touched && checkoutForm.controls['street'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'address-help1'|translate}}</span>\n </div>\n }\n @if(checkoutForm.controls['street'].touched && checkoutForm.controls['street'].errors?.['maxlength']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'address-help2'|translate}}</span>\n </div>\n }\n </div>\n }\n\n <!-- form direcci\u00F3n -->\n @if(getTypeForm().viewForms.postcode.enabled){\n <div class=\"form-group col-12 col-md-4\">\n <label class=\"field-label\">{{'postal-code'|translate}}\n @if(getTypeForm().viewForms.postcode.required){\n <span class=\"required\">*</span>\n }</label>\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"postcode\"\n formControlName='postcode' value=\"\" placeholder=\"\" autocomplete=\"off\">\n @if(checkoutForm.controls['postcode'].touched &&\n checkoutForm.controls['postcode'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'postal-code-help'|translate}}</span>\n </div>\n }\n @if(checkoutForm.controls['postcode'].touched && checkoutForm.controls['postcode'].errors?.['pattern']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\"> {{'postal-code-pattern-error' | translate}} </span>\n </div>\n }\n </div>\n }\n </div>\n <div class=\"row mt-df\"><!--Fila 5-->\n @if(getTypeForm().viewForms.documentType.enabled){\n @if(documentTypes$ | async; as documentTypes){\n <div class=\"form-group col-12 col-md-4\">\n <label class=\"field-label\">{{'document-type'|translate}}\n @if(getTypeForm().viewForms.documentType.required){\n <span class=\"required\">*</span>\n }</label>\n <select name=\"documentType\" class=\"form-select\" (change)=\"onDocumentTypesSelected($event)\"\n formControlName='documentType'>\n @for(item of documentTypes; track $index){\n <option [value]=\"item.code\">{{item.name}}</option>\n }\n </select>\n @if(checkoutForm.controls['documentType'].touched &&\n checkoutForm.controls['documentType'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'type-document-help'|translate}}\n </span>\n </div>\n }\n </div>\n }\n }\n @if(getTypeForm().viewForms.documentNumber.enabled){\n <div class=\"form-group col-12 col-md-4\">\n <label class=\"field-label\">{{'document-number'|translate}}\n @if(getTypeForm().viewForms.documentNumber.required){\n <span class=\"required\">*</span>\n }\n </label>\n <input (change)=\"onInputChange()\" class=\"form-control\" [type]=\"'text'\" name=\"documentNumber\"\n formControlName='documentNumber' min=\"1\" max=\"99999999999\" value=\"\" placeholder=\"\"\n autocomplete=\"off\">\n @if(checkoutForm.controls['documentNumber'].touched &&\n checkoutForm.controls['documentNumber'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'document-number-help'|translate}}\n </span>\n </div>\n }\n </div>\n }\n </div>\n <div class=\"row mt-df\"><!--Fila 6-->\n @if(this.channel.checkoutNotesField == 'required' || this.channel.checkoutNotesField == 'show'){\n <div class=\"form-group col-12 col-md-12\">\n @if(!getLabelNotesParam()){\n <label class=\"field-label\">{{'notes'|translate}}\n @if(this.channel.checkoutNotesField == 'required'){\n <span class=\"required\">*</span>\n }\n </label>\n }\n @if(getLabelNotesParam(); as labelnotes){\n <label class=\"field-label\" [innerHTML]=\"labelnotes.value\">\n @if(this.channel.checkoutNotesField == 'required'){\n <span class=\"required\">*</span>\n }\n </label>\n }\n\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"notes\" formControlName='notes'\n value=\"\" placeholder=\"\" autocomplete=\"off\">\n @if(this.channel.checkoutNotesField == 'required' && checkoutForm.controls['notes'].touched &&\n checkoutForm.controls['notes'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'notes-help'|translate}}</span>\n </div>\n }\n </div>\n }\n </div>\n <div class=\"row mt-df\"><!--Fila 7-->\n <div class=\"form-group col-12 col-md-12\">\n <label for=\"formFact\"><b>{{ 'same-billing-address' | translate }}</b> <input type=\"checkbox\"\n class=\"ms-2\" [checked]=\"viewDataFacturacion\" (change)=\"showFormFacturacion()\"\n id=\"formFact\"></label>\n </div>\n </div>\n <div class=\"row mt-df\">\n <div class=\"col-12\">\n <p>\n <label class=\"required text-underline text-danger\">* {{ 'required-fields' | translate }}</label>\n </p>\n </div>\n </div>\n <div class=\"row mt-df\">\n @if(getTypeForm().viewForms.terms.enabled){\n <div class=\"form-group col-12 col-md-12\">\n @if(getTypeForm().viewForms.terms.required){\n <span class=\"required\">*</span>\n }\n <label class=\"\" for=\"\"> {{ 'accept-terms' | translate }} <input class=\"ms-2\" name=\"terms\"\n formControlName='terms' type=\"checkbox\" required (change)=\"onInputChange()\" /> </label><br />\n <button type=\"button\" class=\"btn btn-primary\" data-bs-toggle=\"modal\"\n data-bs-target=\"#terminos-y-condiciones\">\n {{ 'whats-this' | translate }}\n </button>\n @if(checkoutForm.controls['terms'].touched && !checkoutForm.controls['terms'].value){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{ 'must-accept-terms' | translate }}</span>\n </div>\n }\n </div>\n }\n </div>\n @if(!viewDataFacturacion){\n <!--Formulario de Facturaci\u00F3n-->\n <div class=\"card\">\n <div class=\"card-header text-center\">\n <h2>{{ 'billing-data' | translate }}</h2>\n </div>\n <div class=\"card-body\">\n <form [formGroup]=\"checkoutFormFacturacion\">\n <div class=\"row mt-2\"><!--Fila 1-->\n\n @if(getTypeForm().viewForms.firstName.enabled){\n <div class=\"form-group col-12 col-md-6\">\n <!--Si es required-->\n <label class=\"form-label\">{{'first-name'|translate}}\n @if(getTypeForm().viewForms.firstName.required){\n <span class=\"required\">*</span>\n }\n </label>\n <!--Input-->\n <input class=\"form-control\" type=\"text\" name=\"firstName\" formControlName=\"firstName\"\n value=\"\" placeholder=\"\" autocomplete=\"off\">\n @if(checkoutFormFacturacion.controls['firstName'].touched &&\n checkoutFormFacturacion.controls['firstName'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'first-name-help1'|translate}}</span>\n </div>\n }\n <!--Error info-->\n @if(checkoutFormFacturacion.controls['firstName'].touched &&\n checkoutFormFacturacion.controls['firstName'].errors?.['pattern']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'first-name-help2'|translate}}\n </span>\n </div>\n }\n </div>\n }\n @if(getTypeForm().viewForms.lastName.enabled){\n <div class=\"form-group col-12 col-md-6\">\n <label class=\"form-label\">{{'last-name'|translate}}\n @if(getTypeForm().viewForms.lastName.required){\n <span class=\"required\">*</span>\n }\n </label>\n <input class=\"form-control\" type=\"text\" name=\"lastName\" formControlName=\"lastName\" value=\"\"\n placeholder=\"\" autocomplete=\"off\">\n @if(checkoutFormFacturacion.controls['lastName'].touched &&\n checkoutFormFacturacion.controls['lastName'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'last-name-help1'|translate}}</span>\n </div>\n }\n @if(checkoutFormFacturacion.controls['lastName'].touched &&\n checkoutFormFacturacion.controls['lastName'].errors?.['pattern']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'last-name-help2'|translate}}</span>\n </div>\n }\n </div>\n }\n </div>\n <div class=\"row mt-2\"><!--Fila 2-->\n @if(getTypeForm().viewForms.phoneNumber.enabled){\n <div class=\"form-group col-12 col-md-6\">\n <label class=\"form-label\">{{'phone'|translate}}\n @if(getTypeForm().viewForms.phoneNumber.required){\n <span class=\"required\">*</span>\n }\n </label>\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"phoneNumber\"\n formControlName='phoneNumber' value=\"\" placeholder=\"\" autocomplete=\"off\">\n @if(checkoutFormFacturacion.controls['phoneNumber'].touched &&\n checkoutFormFacturacion.controls['phoneNumber'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'phone-help1'|translate}}\n </span>\n </div>\n }\n @if(checkoutFormFacturacion.controls['phoneNumber'].touched &&\n checkoutFormFacturacion.controls['phoneNumber'].errors?.['pattern']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'phone-help2'|translate}}\n </span>\n </div>\n }\n </div>\n }\n @if(getTypeForm().viewForms.email.enabled){\n <div class=\"form-group col-12 col-md-6\">\n <label class=\"form-label\">{{'email-address'|translate}}\n @if(getTypeForm().viewForms.email.required){\n <span class=\"required\">*</span>\n }</label>\n <input class=\"form-control\" type=\"email\" name=\"email\" formControlName='email' value=\"\"\n placeholder=\"\" autocomplete=\"off\">\n @if(checkoutFormFacturacion.controls['email'].touched &&\n checkoutFormFacturacion.controls['email'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'email-address-help1'|translate}}\n </span>\n </div>\n }\n @if(checkoutFormFacturacion.controls['email'].touched &&\n checkoutFormFacturacion.controls['email'].errors?.['email']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'email-address-help2'|translate}}\n </span>\n </div>\n }\n </div>\n }\n </div>\n <div class=\"row mt-2\"><!--Fila 3-->\n @if(getTypeForm().viewForms.countryCode.enabled){\n @if(countries$ | async; as countries){\n <div class=\"form-group col-12 col-md-4\">\n <label class=\"form-label\">{{'country'|translate}}\n @if(getTypeForm().viewForms.countryCode.required){\n <span class=\"required\">*</span>\n }</label>\n <select class=\"form-select\" name=\"countryCode\" formControlName='countryCode'\n (change)=\"onCountrySelected($event, true)\">\n @for(country of countries; track $index){\n <option [value]=\"country.code\">{{ country.name }}</option>\n }\n </select>\n @if(checkoutFormFacturacion.controls['countryCode'].touched &&\n checkoutFormFacturacion.controls['countryCode'].errors?.['required']){\n <div class=\"text text-danger\">\n {{'country-help'|translate}}\n </div>\n }\n </div>\n }\n }\n @if(getTypeForm().viewForms.provinceCode.enabled){\n @if(provinces$ | async; as provinces){\n <div class=\"form-group col-12 col-md-4\">\n <label class=\"form-label\">{{'state'|translate}}\n @if(getTypeForm().viewForms.provinceCode.required){\n <span class=\"required\">*</span>\n }</label>\n <select class=\"form-select\" name=\"provinceCode\"\n (change)=\"onProvincesSelected($event, provinces, true)\" formControlName='provinceCode'>\n <option value=\"\">{{'select-state'|translate}}</option>\n @for(province of provinces; track $index){\n <option [value]=\"province.code\">{{ province.name }}\n </option>\n }\n </select>\n @if(checkoutFormFacturacion.controls['provinceCode'].touched &&\n checkoutFormFacturacion.controls['provinceCode'].errors?.['required']){\n <div class=\"text text-danger\">\n {{'state-help'|translate}}\n </div>\n }\n </div>\n }\n }\n @if(getTypeForm().viewForms.city.enabled){\n <div class=\"form-group col-12 col-md-4\">\n <label class=\"form-label\">{{'town-city'|translate}}\n @if(getTypeForm().viewForms.city.required){\n <span class=\"required\">*</span>\n }</label>\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"city\"\n formControlName='city' value=\"\" placeholder=\"\" autocomplete=\"off\">\n @if(checkoutFormFacturacion.controls['city'].touched &&\n checkoutFormFacturacion.controls['city'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'town-city-help'|translate}}</span>\n </div>\n }\n </div>\n }\n </div>\n <div class=\"row mt-df\"><!--Fila 4-->\n @if(getTypeForm().viewForms.street.enabled){\n <div class=\"form-group col-12 col-md-8\">\n <label class=\"field-label\">{{'address'|translate}}\n @if(getTypeForm().viewForms.street.required){\n <span class=\"required\">*</span>\n }\n </label>\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"street\"\n formControlName='street' value=\"\" placeholder=\"\" autocomplete=\"off\">\n @if(checkoutFormFacturacion.controls['street'].touched &&\n checkoutFormFacturacion.controls['street'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'address-help1'|translate}}</span>\n </div>\n }\n @if(checkoutFormFacturacion.controls['street'].touched &&\n checkoutFormFacturacion.controls['street'].errors?.['maxlength']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'address-help2'|translate}}</span>\n </div>\n }\n </div>\n }\n\n <!-- form direcci\u00F3n -->\n @if(getTypeForm().viewForms.postcode.enabled){\n <div class=\"form-group col-12 col-md-4\">\n <label class=\"field-label\">{{'postal-code'|translate}}\n @if(getTypeForm().viewForms.postcode.required){\n <span class=\"required\">*</span>\n }</label>\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"postcode\"\n formControlName='postcode' value=\"\" placeholder=\"\" autocomplete=\"off\">\n @if(checkoutFormFacturacion.controls['postcode'].touched &&\n checkoutFormFacturacion.controls['postcode'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'postal-code-help'|translate}}</span>\n </div>\n }\n @if(checkoutFormFacturacion.controls['postcode'].touched &&\n checkoutFormFacturacion.controls['postcode'].errors?.['pattern']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\"> {{'postal-code-pattern-error' | translate}} </span>\n </div>\n }\n </div>\n }\n </div>\n <div class=\"row mt-df\"><!--Fila 5-->\n @if(getTypeForm().viewForms.documentType.enabled){\n @if(documentTypes$ | async; as documentTypes){\n <div class=\"form-group col-12 col-md-4\">\n <label class=\"field-label\">{{'document-type'|translate}}\n @if(getTypeForm().viewForms.documentType.required){\n <span class=\"required\">*</span>\n }</label>\n <select name=\"documentType\" class=\"form-select\"\n (change)=\"onDocumentTypesSelected($event, true)\" formControlName='documentType'>\n @for(item of documentTypes; track $index){\n <option [value]=\"item.code\">{{item.name}}</option>\n }\n </select>\n @if(checkoutFormFacturacion.controls['documentType'].touched &&\n checkoutFormFacturacion.controls['documentType'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'type-document-help'|translate}}\n </span>\n </div>\n }\n </div>\n }\n }\n @if(getTypeForm().viewForms.documentNumber.enabled){\n <div class=\"form-group col-12 col-md-4\">\n <label class=\"field-label\">{{'document-number'|translate}}\n @if(getTypeForm().viewForms.documentNumber.required){\n <span class=\"required\">*</span>\n }\n </label>\n <input (change)=\"onInputChange()\" class=\"form-control\" [type]=\"'text'\" name=\"documentNumber\"\n formControlName='documentNumber' min=\"1\" max=\"99999999999\" value=\"\" placeholder=\"\"\n autocomplete=\"off\">\n @if(checkoutFormFacturacion.controls['documentNumber'].touched &&\n checkoutFormFacturacion.controls['documentNumber'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">\n {{'document-number-help'|translate}}\n </span>\n </div>\n }\n </div>\n }\n </div>\n <div class=\"row mt-df\"><!--Fila 6-->\n @if(this.channel.checkoutNotesField == 'required' || this.channel.checkoutNotesField == 'show'){\n <div class=\"form-group col-12 col-md-12\">\n @if(!getLabelNotesParam()){\n <label class=\"field-label\">{{'notes'|translate}}\n @if(this.channel.checkoutNotesField == 'required'){\n <span class=\"required\">*</span>\n }\n </label>\n }\n @if(getLabelNotesParam(); as labelnotes){\n <label class=\"field-label\" [innerHTML]=\"labelnotes.value\">\n @if(this.channel.checkoutNotesField == 'required'){\n <span class=\"required\">*</span>\n }\n </label>\n }\n\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"notes\"\n formControlName='notes' value=\"\" placeholder=\"\" autocomplete=\"off\">\n @if(this.channel.checkoutNotesField == 'required' &&\n checkoutFormFacturacion.controls['notes'].touched &&\n checkoutFormFacturacion.controls['notes'].errors?.['required']){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'notes-help'|translate}}</span>\n </div>\n }\n </div>\n }\n </div>\n </form>\n </div>\n </div>\n }\n <div class=\"row d-flex flex-row\">\n <div class=\"col-12 d-flex justify-content-end\">\n <button type=\"submit\" class=\"btn btn-primary text-white\"\n [disabled]=\"checkoutForm.invalid || (this.channel.checkoutNotesField == 'required' && (!checkoutForm.get('notes')?.value || checkoutForm.get('notes')?.value.trim() === '')) || (!viewDataFacturacion && checkoutFormFacturacion && (checkoutFormFacturacion.invalid || (this.channel.checkoutNotesField == 'required' && (!checkoutFormFacturacion.get('notes')?.value || checkoutFormFacturacion.get('notes')?.value.trim() === ''))))\">{{(isLastOne\n ? 'finish-checkout' : (allready_data ? 'update' :\n 'ready-form')) | translate}}\n <!-- {{(allready_data ? 'update' : (isLastOne ? 'finish-checkout' : 'ready-form')) | translate}} -->\n </button>\n </div>\n </div>\n @if(loading){\n <div class=\"d-flex flex-column justify-content-center align-items-center\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n }\n\n </form>\n</div>\n} @else {\n<div id=\"loginCheckout\">\n @if(require_login){\n <div class=\"d-flex flex-column justify-content-center align-items-center my-5 \">\n <div class=\"col-12 col-md-6 \">\n <app-login-form-ec (ready)=\"verifyValidate($event)\" [redirect]=\"false\" [title]=\"'need-login'\">\n </app-login-form-ec>\n </div>\n </div>\n }\n</div>\n}\n} @else {\n@if(modeSelectAddress == 'ONLY_ADDRESS_SELECTION'){\n<div class=\"checkout-title my-2\">\n <h3>{{'address-selection'|translate}}</h3>\n</div>\n}\n\n@if(this.addressBook){\n@if(this.addressBook?.length){\n<div class=\"container\">\n <div class=\"row\">\n @for(item of addressBook; track $index; let i = $index){\n <div class=\"col-sm-6 col-12 my-3\">\n <div class=\"card p-3\">\n <input class=\"ms-1 mt-3 form-check-input input-size-lg\" type=\"radio\" [name]=\"'n-'+i\" [id]=\"i\"\n [checked]=\"item.selected\" (click)=\"setSelectAddress(item)\" (change)=\"onInputChange()\">\n <div class=\"ms-5\">\n <h4 class=\"card-title\">\n <strong>{{'address'|translate}}</strong><br>\n <span class=\"text-uppercase h3\">{{item.street}}</span>\n </h4>\n <div class=\"row\">\n <h5 class=\"card-subtitle mb-2 text-muted col-auto\">\n <strong>{{'country'|translate}}</strong> {{getCountry(item.countryCode)}}\n </h5>\n <h5 class=\"card-subtitle mb-2 text-muted col-auto\">\n <strong>{{'state'|translate}}</strong> {{getProvince(item.provinceCode)}}\n </h5>\n <h5 class=\"card-subtitle mb-2 text-muted col-auto\">\n <strong>{{'town-city'|translate}}</strong> {{item.city}}\n </h5>\n <h5 class=\"card-subtitle mb-2 text-muted col-auto\">\n <strong>{{'postal-code'|translate}}</strong> {{item.postcode}}\n </h5>\n </div>\n <div class=\"row px-3\">\n <div class=\"card p-2 bg-light w-100\">\n <div class=\"card-body\">\n <h5 class=\"card-title\">{{'address-contact'|translate}}</h5>\n <h6 class=\"card-subtitle mb-2 text-muted\">\n <strong>{{'first-name'|translate}}</strong>\n {{item.addressContact.firstName}}\n </h6>\n <h6 class=\"card-subtitle mb-2 text-muted\">\n <strong>{{'last-name'|translate}}</strong>\n {{item.addressContact.lastName}}\n </h6>\n <h6 class=\"card-subtitle mb-2 text-muted\">\n <strong>{{'document-type'|translate}}</strong>\n {{getDocumentType(item.addressContact.documentType)}}\n </h6>\n <h6 class=\"card-subtitle mb-2 text-muted\">\n <strong>{{'document-number'|translate}}</strong>\n {{item.addressContact.documentNumber}}\n </h6>\n <h6 class=\"card-subtitle mb-2 text-muted\">\n <strong>{{'email-address'|translate}}</strong>\n {{item.addressContact.email}}\n </h6>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n\n </div>\n\n <div class=\"w-100\">\n @if(this.channel.checkoutNotesField == 'required' || this.channel.checkoutNotesField == 'show'){\n <div class=\"row mt-df\">\n <div class=\"form-group col-12 col-md-12\">\n @if(!getLabelNotesParam()){\n <label class=\"form-label\">{{'notes'|translate}}\n @if(this.channel.checkoutNotesField == 'required'){\n <span class=\"required\">*</span>\n }\n </label>\n }\n @if(getLabelNotesParam(); as labelnotes){\n <label class=\"form-label\" [innerHTML]=\"labelnotes.value\">\n @if(this.channel.checkoutNotesField == 'required'){\n <span class=\"required\">*</span>\n }\n </label>\n }\n <input (change)=\"onInputChange()\" class=\"form-control\" type=\"text\" name=\"notes\"\n [(ngModel)]=\"this.addressBookSelected.notes\" #ctrl=\"ngModel\" value=\"\" placeholder=\"\"\n autocomplete=\"off\" [required]=\"this.channel.checkoutNotesField == 'required'\">\n @if(this.channel.checkoutNotesField == 'required' && ctrl.touched && ctrl.invalid){\n <div class=\"text-danger-container\">\n <span class=\"text-danger\">{{'notes-help'|translate}}</span>\n </div>\n }\n </div>\n </div>\n }\n </div>\n <div class=\"row d-flex flex-row\">\n <div class=\"col-12 d-flex justify-content-end\">\n <button (click)=\"onSelectAddress(cartItems)\" class=\"btn btn-primary text-white\"\n [disabled]=\"loadingStep || (this.channel.checkoutNotesField == 'required' && (!this.addressBookSelected.notes || this.addressBookSelected.notes.trim() === ''))\">{{(isLastOne\n ? 'finish-checkout' : (allready_data ? 'update' :\n 'ready-form')) | translate}}\n <!-- {{(allready_data ? 'update' : (isLastOne ? 'finish-checkout' : 'ready-form')) | translate}} -->\n </button>\n\n </div>\n </div>\n @if(loading){\n <div class=\"d-flex flex-column jusitfy-content-center align-items-center\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n }\n</div>\n} @else {\n<div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12 text-center my-2\">\n <div class=\"d-flex flex-column justify-content-center align-items-center\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n </div>\n </div>\n</div>\n}\n} @else {\n<div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12 text-center my-2\">\n <h4> {{'address-book-not-result' | translate }} </h4>\n </div>\n </div>\n</div>\n}\n\n}\n\n}\n@else {\n<div class=\"container\">\n <p>Por favor <a [routerLink]=\"['/auth/login']\"> Inicie Sesi\u00F3n</a></p>\n</div>\n}\n}\n@if(getTypeForm().viewForms.terms.enabled){\n<div class=\"modal fade\" id=\"terminos-y-condiciones\" tabindex=\"-1\" aria-labelledby=\"modalLabel\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-xl modal-dialog-scrollable\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\" id=\"modalLabel\">T\u00E9rminos y condiciones</h5>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\n </div>\n <div class=\"modal-body\">\n <app-blocks-ec [section]=\"'terminos-y-condiciones'\" />\n </div>\n </div>\n </div>\n</div>\n}" }]
10855
10997
  }], ctorParameters: () => [] });
10856
10998
 
10857
10999
  class ShipmentEcComponent {
@@ -10985,11 +11127,11 @@ class ShipmentEcComponent {
10985
11127
  this._checkoutService.next();
10986
11128
  }
10987
11129
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShipmentEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10988
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ShipmentEcComponent, isStandalone: true, selector: "app-shipment-ec", ngImport: i0, template: "<div class=\"container-fluid\">\r\n\t<div class=\"col-12\">\r\n\t\t<div class=\"card text-center\">\r\n\t\t\t<div class=\"card-header text-dark\">\r\n\t\t\t\t<h4>{{ 'select-method' | translate }}</h4>\r\n\t\t\t\t@if(methods$ | async; as methods){\r\n\t\t\t\t\t<div class=\"btn-toolbar justify-content-center\" role=\"toolbar\" aria-label=\"Envios toolbar\">\r\n\t\t\t\t\t\t<div class=\"\" role=\"group\" aria-label=\"Grupo botones envio\">\r\n\t\t\t\t\t\t\t<div class=\"d-flex align-content-start justify-content-center flex-wrap\">\r\n\t\t\t\t\t\t\t\t@for(method of filterMethods(methods); track $index){\r\n\t\t\t\t\t\t\t\t<button [disabled]=\"buttonsDisabled\" type=\"button\"\r\n\t\t\t\t\t\t\t\t\t[class]=\"'btn btn-outline-secondary mx-1 mb-1' + (isMethodActive(method.code) ? ' active' : '')\"\r\n\t\t\t\t\t\t\t\t\t(click)=\"setMethod(method)\">\r\n\t\t\t\t\t\t\t\t\t{{ method.name | translate }}\r\n\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t}@else {\r\n\t\t\t\t\t<div class=\"d-flex flex-row w-100 justify-content-center mt-2\">\r\n\t\t\t\t\t\t<h5 class=\"text-secondary\">{{'no-shipment-methods'|translate}}</h5>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"card-body\">\r\n\t\t\t\t@if(moreInfoInMethod && methodSelect && methodSelect.description){\r\n <div class=\"row justify-content-center mb-2\">\r\n <div class=\"col-12 col-md-6 col-lg-4 d-flex flex-column mb-2\" [id]=\"methodSelect.code\">\r\n @for(line of methodSelect.description.split('\\r\\n'); track $index; let i=$index){\r\n <span [id]=\"methodSelect.code+'-'+i\" [class]=\"'line-'+i\">{{line}}</span>\r\n\t\t\t\t\t }\r\n </div>\r\n </div>}\r\n\t\t\t\t@if(costs$ | async; as costs){\r\n<!-- \t\t\t\t @if(costs){ -->\r\n <div class=\"row justify-content-center\">\r\n @if(!loadingInternal){\r\n\t\t\t\t\t\t@for(cost of costs; track $index; let y = $index){\r\n <div class=\"col-auto text-dark\">\r\n\t\t\t\t\t\t\t@if(cost.contracts.length > 0){\r\n\t\t\t\t\t\t\t\t@if(costs.length > 1){\r\n\t\t\t\t\t\t\t\t\t<span><b>{{ cost.name | translate }}</b></span>\r\n\t\t\t\t\t\t\t\t\t<hr />\r\n\t\t\t\t\t\t\t\t}@else{\r\n\t\t\t\t\t\t\t\t\t<span><b>{{ methodSelect.name | translate }}</b></span>\r\n\t\t\t\t\t\t\t\t\t<hr />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@for(contract of cost.contracts; track $index; let i = $index){\r\n <div class=\"option\">\r\n <div class=\"form-check current-contract\">\r\n <input class=\"form-check-input\" [checked]=\"(y === 0 && i === 0) ? true : contract.selected\" type=\"radio\" name=\"card\" [id]=\"cost.name + i\"\r\n value=\"dark\" (click)=\"verifyValidate(costs,cost.name, contract)\">\r\n <label class=\"form-check-label\" [for]=\"cost.name + i\" aria-label=\"Dark grey\">\r\n @if(validName(contract.name)){\r\n\t\t\t\t\t\t\t\t\t\t\t<span\r\n [class]=\"(cost.name == 'home_delivery') ? 'shipment-contractname home_delivery' : 'shipment-contractname' \">\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ contract.name | translate }}\r\n\t\t\t\t\t\t\t\t\t\t\t</span>}\r\n\t\t\t\t\t\t\t\t\t\t\t@if(contract.computed){\r\n\t\t\t\t\t\t\t\t\t\t\t\t<span><br class=\"shipment-contractname\">{{ contract.computed | translate }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<br class=\"shipment-contractname\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t@if(contract.detail){\r\n <div class=\"contract-detail\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t@for(line of contract.detail.split(' - '); track $index; let i = $index){\r\n <div [class]=\"'contrat-item-'+i\">\r\n @if(i == 0){<span><b>{{ line }}</b></span>}\r\n @if(i > 0){<span class=\"inside-detail\">{{ line }}</span>}\r\n </div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n </div>\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t@if(contract.price > 0){\r\n <span [class]=\"'inside-detail ' + ( costos?.amount == 0 ? ' free ' : '') \">\r\n @if(!contract.computed){<br class=\"shipment-contractname\">}\r\n {{ ('price'|translate) + ': ' + (contract.price | ecCurrencySymbol) }}</span>\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n <br>\r\n </label>\r\n </div>\r\n </div>\r\n\t\t\t\t\t\t\t\t}\r\n \r\n\t\t\t\t\t\t\t}\r\n </div>\r\n\t\t\t\t\t\t}\r\n }@else {\r\n\t\t\t\t\t\t<app-loading-full-ec></app-loading-full-ec>\r\n\t\t\t\t\t}\r\n </div>\r\n\t\t\t\t}\r\n\t\t\t\t\r\n </div>\r\n\r\n\t\t</div>\r\n\t\t<div class=\"row d-flex flex-row\">\r\n\t\t\t<div class=\"col-12 d-flex justify-content-between\">\r\n\t\t\t\t<button class=\"btn btn-primary text-white\" (click)=\"goBack()\">{{'back'|translate}}</button>\r\n\t\t\t\t<button type=\"submit\" (click)=\"next()\" [disabled]=\"!enabledConfirmButton\" class=\"btn btn-primary text-white\">{{(isLastOne\r\n\t\t\t\t\t? 'finish-checkout' :'ready-form') | translate}}\r\n\t\t\t\t\t<!-- {{(allready_data ? 'update' : (isLastOne ? 'finish-checkout' : 'ready-form')) | translate}} -->\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n</div>", styles: [""], dependencies: [{ kind: "component", type: LoadingFullEcComponent, selector: "app-loading-full-ec" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: EcCurrencySymbolPipe, name: "ecCurrencySymbol" }] });
11130
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ShipmentEcComponent, isStandalone: true, selector: "app-shipment-ec", ngImport: i0, template: "<div class=\"container-fluid\">\n\t<div class=\"col-12\">\n\t\t<div class=\"card text-center\">\n\t\t\t<div class=\"card-header text-dark\">\n\t\t\t\t<h4>{{ 'select-method' | translate }}</h4>\n\t\t\t\t@if(methods$ | async; as methods){\n\t\t\t\t\t<div class=\"btn-toolbar justify-content-center\" role=\"toolbar\" aria-label=\"Envios toolbar\">\n\t\t\t\t\t\t<div class=\"\" role=\"group\" aria-label=\"Grupo botones envio\">\n\t\t\t\t\t\t\t<div class=\"d-flex align-content-start justify-content-center flex-wrap\">\n\t\t\t\t\t\t\t\t@for(method of filterMethods(methods); track $index){\n\t\t\t\t\t\t\t\t<button [disabled]=\"buttonsDisabled\" type=\"button\"\n\t\t\t\t\t\t\t\t\t[class]=\"'btn btn-outline-secondary mx-1 mb-1' + (isMethodActive(method.code) ? ' active' : '')\"\n\t\t\t\t\t\t\t\t\t(click)=\"setMethod(method)\">\n\t\t\t\t\t\t\t\t\t{{ method.name | translate }}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t}@else {\n\t\t\t\t\t<div class=\"d-flex flex-row w-100 justify-content-center mt-2\">\n\t\t\t\t\t\t<h5 class=\"text-secondary\">{{'no-shipment-methods'|translate}}</h5>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t<div class=\"card-body\">\n\t\t\t\t@if(moreInfoInMethod && methodSelect && methodSelect.description){\n <div class=\"row justify-content-center mb-2\">\n <div class=\"col-12 col-md-6 col-lg-4 d-flex flex-column mb-2\" [id]=\"methodSelect.code\">\n @for(line of methodSelect.description.split('\\r\\n'); track $index; let i=$index){\n <span [id]=\"methodSelect.code+'-'+i\" [class]=\"'line-'+i\">{{line}}</span>\n\t\t\t\t\t }\n </div>\n </div>}\n\t\t\t\t@if(costs$ | async; as costs){\n<!-- \t\t\t\t @if(costs){ -->\n <div class=\"row justify-content-center\">\n @if(!loadingInternal){\n\t\t\t\t\t\t@for(cost of costs; track $index; let y = $index){\n <div class=\"col-auto text-dark\">\n\t\t\t\t\t\t\t@if(cost.contracts.length > 0){\n\t\t\t\t\t\t\t\t@if(costs.length > 1){\n\t\t\t\t\t\t\t\t\t<span><b>{{ cost.name | translate }}</b></span>\n\t\t\t\t\t\t\t\t\t<hr />\n\t\t\t\t\t\t\t\t}@else{\n\t\t\t\t\t\t\t\t\t<span><b>{{ methodSelect.name | translate }}</b></span>\n\t\t\t\t\t\t\t\t\t<hr />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t@for(contract of cost.contracts; track $index; let i = $index){\n <div class=\"option\">\n <div class=\"form-check current-contract\">\n <input class=\"form-check-input\" [checked]=\"(y === 0 && i === 0) ? true : contract.selected\" type=\"radio\" name=\"card\" [id]=\"cost.name + i\"\n value=\"dark\" (click)=\"verifyValidate(costs,cost.name, contract)\">\n <label class=\"form-check-label\" [for]=\"cost.name + i\" aria-label=\"Dark grey\">\n @if(validName(contract.name)){\n\t\t\t\t\t\t\t\t\t\t\t<span\n [class]=\"(cost.name == 'home_delivery') ? 'shipment-contractname home_delivery' : 'shipment-contractname' \">\n\t\t\t\t\t\t\t\t\t\t\t\t{{ contract.name | translate }}\n\t\t\t\t\t\t\t\t\t\t\t</span>}\n\t\t\t\t\t\t\t\t\t\t\t@if(contract.computed){\n\t\t\t\t\t\t\t\t\t\t\t\t<span><br class=\"shipment-contractname\">{{ contract.computed | translate }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t<br class=\"shipment-contractname\">\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t@if(contract.detail){\n <div class=\"contract-detail\">\n\t\t\t\t\t\t\t\t\t\t\t\t@for(line of contract.detail.split(' - '); track $index; let i = $index){\n <div [class]=\"'contrat-item-'+i\">\n @if(i == 0){<span><b>{{ line }}</b></span>}\n @if(i > 0){<span class=\"inside-detail\">{{ line }}</span>}\n </div>\n\t\t\t\t\t\t\t\t\t\t\t\t}\n </div>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t@if(contract.price > 0){\n <span [class]=\"'inside-detail ' + ( costos?.amount == 0 ? ' free ' : '') \">\n @if(!contract.computed){<br class=\"shipment-contractname\">}\n {{ ('price'|translate) + ': ' + (contract.price | ecCurrencySymbol) }}</span>\n\t\t\t\t\t\t\t\t\t\t\t}\n <br>\n </label>\n </div>\n </div>\n\t\t\t\t\t\t\t\t}\n \n\t\t\t\t\t\t\t}\n </div>\n\t\t\t\t\t\t}\n }@else {\n\t\t\t\t\t\t<app-loading-full-ec></app-loading-full-ec>\n\t\t\t\t\t}\n </div>\n\t\t\t\t}\n\t\t\t\t\n </div>\n\n\t\t</div>\n\t\t<div class=\"row d-flex flex-row\">\n\t\t\t<div class=\"col-12 d-flex justify-content-between\">\n\t\t\t\t<button class=\"btn btn-primary text-white\" (click)=\"goBack()\">{{'back'|translate}}</button>\n\t\t\t\t<button type=\"submit\" (click)=\"next()\" [disabled]=\"!enabledConfirmButton\" class=\"btn btn-primary text-white\">{{(isLastOne\n\t\t\t\t\t? 'finish-checkout' :'ready-form') | translate}}\n\t\t\t\t\t<!-- {{(allready_data ? 'update' : (isLastOne ? 'finish-checkout' : 'ready-form')) | translate}} -->\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n</div>", styles: [""], dependencies: [{ kind: "component", type: LoadingFullEcComponent, selector: "app-loading-full-ec" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: EcCurrencySymbolPipe, name: "ecCurrencySymbol" }] });
10989
11131
  }
10990
11132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShipmentEcComponent, decorators: [{
10991
11133
  type: Component,
10992
- args: [{ selector: 'app-shipment-ec', standalone: true, imports: [LoadingFullEcComponent, TranslateModule, AsyncPipe, EcCurrencySymbolPipe, JsonPipe], template: "<div class=\"container-fluid\">\r\n\t<div class=\"col-12\">\r\n\t\t<div class=\"card text-center\">\r\n\t\t\t<div class=\"card-header text-dark\">\r\n\t\t\t\t<h4>{{ 'select-method' | translate }}</h4>\r\n\t\t\t\t@if(methods$ | async; as methods){\r\n\t\t\t\t\t<div class=\"btn-toolbar justify-content-center\" role=\"toolbar\" aria-label=\"Envios toolbar\">\r\n\t\t\t\t\t\t<div class=\"\" role=\"group\" aria-label=\"Grupo botones envio\">\r\n\t\t\t\t\t\t\t<div class=\"d-flex align-content-start justify-content-center flex-wrap\">\r\n\t\t\t\t\t\t\t\t@for(method of filterMethods(methods); track $index){\r\n\t\t\t\t\t\t\t\t<button [disabled]=\"buttonsDisabled\" type=\"button\"\r\n\t\t\t\t\t\t\t\t\t[class]=\"'btn btn-outline-secondary mx-1 mb-1' + (isMethodActive(method.code) ? ' active' : '')\"\r\n\t\t\t\t\t\t\t\t\t(click)=\"setMethod(method)\">\r\n\t\t\t\t\t\t\t\t\t{{ method.name | translate }}\r\n\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t}@else {\r\n\t\t\t\t\t<div class=\"d-flex flex-row w-100 justify-content-center mt-2\">\r\n\t\t\t\t\t\t<h5 class=\"text-secondary\">{{'no-shipment-methods'|translate}}</h5>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"card-body\">\r\n\t\t\t\t@if(moreInfoInMethod && methodSelect && methodSelect.description){\r\n <div class=\"row justify-content-center mb-2\">\r\n <div class=\"col-12 col-md-6 col-lg-4 d-flex flex-column mb-2\" [id]=\"methodSelect.code\">\r\n @for(line of methodSelect.description.split('\\r\\n'); track $index; let i=$index){\r\n <span [id]=\"methodSelect.code+'-'+i\" [class]=\"'line-'+i\">{{line}}</span>\r\n\t\t\t\t\t }\r\n </div>\r\n </div>}\r\n\t\t\t\t@if(costs$ | async; as costs){\r\n<!-- \t\t\t\t @if(costs){ -->\r\n <div class=\"row justify-content-center\">\r\n @if(!loadingInternal){\r\n\t\t\t\t\t\t@for(cost of costs; track $index; let y = $index){\r\n <div class=\"col-auto text-dark\">\r\n\t\t\t\t\t\t\t@if(cost.contracts.length > 0){\r\n\t\t\t\t\t\t\t\t@if(costs.length > 1){\r\n\t\t\t\t\t\t\t\t\t<span><b>{{ cost.name | translate }}</b></span>\r\n\t\t\t\t\t\t\t\t\t<hr />\r\n\t\t\t\t\t\t\t\t}@else{\r\n\t\t\t\t\t\t\t\t\t<span><b>{{ methodSelect.name | translate }}</b></span>\r\n\t\t\t\t\t\t\t\t\t<hr />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@for(contract of cost.contracts; track $index; let i = $index){\r\n <div class=\"option\">\r\n <div class=\"form-check current-contract\">\r\n <input class=\"form-check-input\" [checked]=\"(y === 0 && i === 0) ? true : contract.selected\" type=\"radio\" name=\"card\" [id]=\"cost.name + i\"\r\n value=\"dark\" (click)=\"verifyValidate(costs,cost.name, contract)\">\r\n <label class=\"form-check-label\" [for]=\"cost.name + i\" aria-label=\"Dark grey\">\r\n @if(validName(contract.name)){\r\n\t\t\t\t\t\t\t\t\t\t\t<span\r\n [class]=\"(cost.name == 'home_delivery') ? 'shipment-contractname home_delivery' : 'shipment-contractname' \">\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ contract.name | translate }}\r\n\t\t\t\t\t\t\t\t\t\t\t</span>}\r\n\t\t\t\t\t\t\t\t\t\t\t@if(contract.computed){\r\n\t\t\t\t\t\t\t\t\t\t\t\t<span><br class=\"shipment-contractname\">{{ contract.computed | translate }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<br class=\"shipment-contractname\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t@if(contract.detail){\r\n <div class=\"contract-detail\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t@for(line of contract.detail.split(' - '); track $index; let i = $index){\r\n <div [class]=\"'contrat-item-'+i\">\r\n @if(i == 0){<span><b>{{ line }}</b></span>}\r\n @if(i > 0){<span class=\"inside-detail\">{{ line }}</span>}\r\n </div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n </div>\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t@if(contract.price > 0){\r\n <span [class]=\"'inside-detail ' + ( costos?.amount == 0 ? ' free ' : '') \">\r\n @if(!contract.computed){<br class=\"shipment-contractname\">}\r\n {{ ('price'|translate) + ': ' + (contract.price | ecCurrencySymbol) }}</span>\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n <br>\r\n </label>\r\n </div>\r\n </div>\r\n\t\t\t\t\t\t\t\t}\r\n \r\n\t\t\t\t\t\t\t}\r\n </div>\r\n\t\t\t\t\t\t}\r\n }@else {\r\n\t\t\t\t\t\t<app-loading-full-ec></app-loading-full-ec>\r\n\t\t\t\t\t}\r\n </div>\r\n\t\t\t\t}\r\n\t\t\t\t\r\n </div>\r\n\r\n\t\t</div>\r\n\t\t<div class=\"row d-flex flex-row\">\r\n\t\t\t<div class=\"col-12 d-flex justify-content-between\">\r\n\t\t\t\t<button class=\"btn btn-primary text-white\" (click)=\"goBack()\">{{'back'|translate}}</button>\r\n\t\t\t\t<button type=\"submit\" (click)=\"next()\" [disabled]=\"!enabledConfirmButton\" class=\"btn btn-primary text-white\">{{(isLastOne\r\n\t\t\t\t\t? 'finish-checkout' :'ready-form') | translate}}\r\n\t\t\t\t\t<!-- {{(allready_data ? 'update' : (isLastOne ? 'finish-checkout' : 'ready-form')) | translate}} -->\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n</div>" }]
11134
+ args: [{ selector: 'app-shipment-ec', standalone: true, imports: [LoadingFullEcComponent, TranslateModule, AsyncPipe, EcCurrencySymbolPipe, JsonPipe], template: "<div class=\"container-fluid\">\n\t<div class=\"col-12\">\n\t\t<div class=\"card text-center\">\n\t\t\t<div class=\"card-header text-dark\">\n\t\t\t\t<h4>{{ 'select-method' | translate }}</h4>\n\t\t\t\t@if(methods$ | async; as methods){\n\t\t\t\t\t<div class=\"btn-toolbar justify-content-center\" role=\"toolbar\" aria-label=\"Envios toolbar\">\n\t\t\t\t\t\t<div class=\"\" role=\"group\" aria-label=\"Grupo botones envio\">\n\t\t\t\t\t\t\t<div class=\"d-flex align-content-start justify-content-center flex-wrap\">\n\t\t\t\t\t\t\t\t@for(method of filterMethods(methods); track $index){\n\t\t\t\t\t\t\t\t<button [disabled]=\"buttonsDisabled\" type=\"button\"\n\t\t\t\t\t\t\t\t\t[class]=\"'btn btn-outline-secondary mx-1 mb-1' + (isMethodActive(method.code) ? ' active' : '')\"\n\t\t\t\t\t\t\t\t\t(click)=\"setMethod(method)\">\n\t\t\t\t\t\t\t\t\t{{ method.name | translate }}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t}@else {\n\t\t\t\t\t<div class=\"d-flex flex-row w-100 justify-content-center mt-2\">\n\t\t\t\t\t\t<h5 class=\"text-secondary\">{{'no-shipment-methods'|translate}}</h5>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t<div class=\"card-body\">\n\t\t\t\t@if(moreInfoInMethod && methodSelect && methodSelect.description){\n <div class=\"row justify-content-center mb-2\">\n <div class=\"col-12 col-md-6 col-lg-4 d-flex flex-column mb-2\" [id]=\"methodSelect.code\">\n @for(line of methodSelect.description.split('\\r\\n'); track $index; let i=$index){\n <span [id]=\"methodSelect.code+'-'+i\" [class]=\"'line-'+i\">{{line}}</span>\n\t\t\t\t\t }\n </div>\n </div>}\n\t\t\t\t@if(costs$ | async; as costs){\n<!-- \t\t\t\t @if(costs){ -->\n <div class=\"row justify-content-center\">\n @if(!loadingInternal){\n\t\t\t\t\t\t@for(cost of costs; track $index; let y = $index){\n <div class=\"col-auto text-dark\">\n\t\t\t\t\t\t\t@if(cost.contracts.length > 0){\n\t\t\t\t\t\t\t\t@if(costs.length > 1){\n\t\t\t\t\t\t\t\t\t<span><b>{{ cost.name | translate }}</b></span>\n\t\t\t\t\t\t\t\t\t<hr />\n\t\t\t\t\t\t\t\t}@else{\n\t\t\t\t\t\t\t\t\t<span><b>{{ methodSelect.name | translate }}</b></span>\n\t\t\t\t\t\t\t\t\t<hr />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t@for(contract of cost.contracts; track $index; let i = $index){\n <div class=\"option\">\n <div class=\"form-check current-contract\">\n <input class=\"form-check-input\" [checked]=\"(y === 0 && i === 0) ? true : contract.selected\" type=\"radio\" name=\"card\" [id]=\"cost.name + i\"\n value=\"dark\" (click)=\"verifyValidate(costs,cost.name, contract)\">\n <label class=\"form-check-label\" [for]=\"cost.name + i\" aria-label=\"Dark grey\">\n @if(validName(contract.name)){\n\t\t\t\t\t\t\t\t\t\t\t<span\n [class]=\"(cost.name == 'home_delivery') ? 'shipment-contractname home_delivery' : 'shipment-contractname' \">\n\t\t\t\t\t\t\t\t\t\t\t\t{{ contract.name | translate }}\n\t\t\t\t\t\t\t\t\t\t\t</span>}\n\t\t\t\t\t\t\t\t\t\t\t@if(contract.computed){\n\t\t\t\t\t\t\t\t\t\t\t\t<span><br class=\"shipment-contractname\">{{ contract.computed | translate }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t<br class=\"shipment-contractname\">\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t@if(contract.detail){\n <div class=\"contract-detail\">\n\t\t\t\t\t\t\t\t\t\t\t\t@for(line of contract.detail.split(' - '); track $index; let i = $index){\n <div [class]=\"'contrat-item-'+i\">\n @if(i == 0){<span><b>{{ line }}</b></span>}\n @if(i > 0){<span class=\"inside-detail\">{{ line }}</span>}\n </div>\n\t\t\t\t\t\t\t\t\t\t\t\t}\n </div>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t@if(contract.price > 0){\n <span [class]=\"'inside-detail ' + ( costos?.amount == 0 ? ' free ' : '') \">\n @if(!contract.computed){<br class=\"shipment-contractname\">}\n {{ ('price'|translate) + ': ' + (contract.price | ecCurrencySymbol) }}</span>\n\t\t\t\t\t\t\t\t\t\t\t}\n <br>\n </label>\n </div>\n </div>\n\t\t\t\t\t\t\t\t}\n \n\t\t\t\t\t\t\t}\n </div>\n\t\t\t\t\t\t}\n }@else {\n\t\t\t\t\t\t<app-loading-full-ec></app-loading-full-ec>\n\t\t\t\t\t}\n </div>\n\t\t\t\t}\n\t\t\t\t\n </div>\n\n\t\t</div>\n\t\t<div class=\"row d-flex flex-row\">\n\t\t\t<div class=\"col-12 d-flex justify-content-between\">\n\t\t\t\t<button class=\"btn btn-primary text-white\" (click)=\"goBack()\">{{'back'|translate}}</button>\n\t\t\t\t<button type=\"submit\" (click)=\"next()\" [disabled]=\"!enabledConfirmButton\" class=\"btn btn-primary text-white\">{{(isLastOne\n\t\t\t\t\t? 'finish-checkout' :'ready-form') | translate}}\n\t\t\t\t\t<!-- {{(allready_data ? 'update' : (isLastOne ? 'finish-checkout' : 'ready-form')) | translate}} -->\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n</div>" }]
10993
11135
  }], ctorParameters: () => [] });
10994
11136
 
10995
11137
  class MpRedirectEcComponent {
@@ -11166,11 +11308,11 @@ class MpRedirectEcComponent {
11166
11308
  };
11167
11309
  renderMP = (_pref) => { };
11168
11310
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MpRedirectEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11169
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MpRedirectEcComponent, isStandalone: true, selector: "app-mp-redirect-ec", inputs: { method: "method", total_amount: "total_amount", allData: "allData" }, outputs: { ready: "ready" }, ngImport: i0, template: "<div class=\"text-center\">\r\n\t@if(url) {\r\n\r\n\t@if(isIdle) {\r\n\t<button (click)=\"iniciar()\" class=\"btn btn-outline-primary rounded-0 comprar mt-3\">Pagar</button>\r\n\t}\r\n\r\n\t@if(isPaying) {\r\n\t<div class=\"d-flex flex-column jusitfy-content-center align-items-center mt-2\">\r\n\t\t<h3>Procesando el pago por Mercado Pago</h3>\r\n\t\t<h5>Record\u00E1 tocar \u201CVolver al sitio\u201D en Mercado Pago para finalizar.</h5>\r\n\t\t<app-loading-full-ec></app-loading-full-ec>\r\n\t</div>\r\n\r\n\t<div class=\"container-fluid\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-5\">\r\n\t\t\t\t<hr>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-2 text-center\"><label>o</label></div>\r\n\t\t\t<div class=\"col-5\">\r\n\t\t\t\t<hr>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class=\"d-flex flex-column justify-content-center align-items-center mt-2\">\r\n\t\t<button (click)=\"clickClose()\" class=\"btn btn-outline-secondary\">Cancelar pago</button>\r\n\t</div>\r\n\t}\r\n\r\n\t@if(isFinalizing) {\r\n\t<div class=\"d-flex flex-column jusitfy-content-center align-items-center mt-2\">\r\n\t\t<h3>Confirmando pago y redirigiendo\u2026</h3>\r\n\t\t<h5>No cierres ni recargues esta p\u00E1gina.</h5>\r\n\t\t<app-loading-full-ec></app-loading-full-ec>\r\n\t</div>\r\n\t}\r\n\r\n\t} @else {\r\n\t<div class=\"d-flex flex-column justify-content-center align-items-center mt-2\">\r\n\t\t<app-loading-full-ec></app-loading-full-ec>\r\n\t</div>\r\n\t}\r\n</div>", styles: [""], dependencies: [{ kind: "component", type: LoadingFullEcComponent, selector: "app-loading-full-ec" }] });
11311
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MpRedirectEcComponent, isStandalone: true, selector: "app-mp-redirect-ec", inputs: { method: "method", total_amount: "total_amount", allData: "allData" }, outputs: { ready: "ready" }, ngImport: i0, template: "<div class=\"text-center\">\n\t@if(url) {\n\n\t@if(isIdle) {\n\t<button (click)=\"iniciar()\" class=\"btn btn-outline-primary rounded-0 comprar mt-3\">Pagar</button>\n\t}\n\n\t@if(isPaying) {\n\t<div class=\"d-flex flex-column jusitfy-content-center align-items-center mt-2\">\n\t\t<h3>Procesando el pago por Mercado Pago</h3>\n\t\t<h5>Record\u00E1 tocar \u201CVolver al sitio\u201D en Mercado Pago para finalizar.</h5>\n\t\t<app-loading-full-ec></app-loading-full-ec>\n\t</div>\n\n\t<div class=\"container-fluid\">\n\t\t<div class=\"row\">\n\t\t\t<div class=\"col-5\">\n\t\t\t\t<hr>\n\t\t\t</div>\n\t\t\t<div class=\"col-2 text-center\"><label>o</label></div>\n\t\t\t<div class=\"col-5\">\n\t\t\t\t<hr>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"d-flex flex-column justify-content-center align-items-center mt-2\">\n\t\t<button (click)=\"clickClose()\" class=\"btn btn-outline-secondary\">Cancelar pago</button>\n\t</div>\n\t}\n\n\t@if(isFinalizing) {\n\t<div class=\"d-flex flex-column jusitfy-content-center align-items-center mt-2\">\n\t\t<h3>Confirmando pago y redirigiendo\u2026</h3>\n\t\t<h5>No cierres ni recargues esta p\u00E1gina.</h5>\n\t\t<app-loading-full-ec></app-loading-full-ec>\n\t</div>\n\t}\n\n\t} @else {\n\t<div class=\"d-flex flex-column justify-content-center align-items-center mt-2\">\n\t\t<app-loading-full-ec></app-loading-full-ec>\n\t</div>\n\t}\n</div>", styles: [""], dependencies: [{ kind: "component", type: LoadingFullEcComponent, selector: "app-loading-full-ec" }] });
11170
11312
  }
11171
11313
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MpRedirectEcComponent, decorators: [{
11172
11314
  type: Component,
11173
- args: [{ selector: 'app-mp-redirect-ec', standalone: true, imports: [LoadingFullEcComponent], template: "<div class=\"text-center\">\r\n\t@if(url) {\r\n\r\n\t@if(isIdle) {\r\n\t<button (click)=\"iniciar()\" class=\"btn btn-outline-primary rounded-0 comprar mt-3\">Pagar</button>\r\n\t}\r\n\r\n\t@if(isPaying) {\r\n\t<div class=\"d-flex flex-column jusitfy-content-center align-items-center mt-2\">\r\n\t\t<h3>Procesando el pago por Mercado Pago</h3>\r\n\t\t<h5>Record\u00E1 tocar \u201CVolver al sitio\u201D en Mercado Pago para finalizar.</h5>\r\n\t\t<app-loading-full-ec></app-loading-full-ec>\r\n\t</div>\r\n\r\n\t<div class=\"container-fluid\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-5\">\r\n\t\t\t\t<hr>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-2 text-center\"><label>o</label></div>\r\n\t\t\t<div class=\"col-5\">\r\n\t\t\t\t<hr>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class=\"d-flex flex-column justify-content-center align-items-center mt-2\">\r\n\t\t<button (click)=\"clickClose()\" class=\"btn btn-outline-secondary\">Cancelar pago</button>\r\n\t</div>\r\n\t}\r\n\r\n\t@if(isFinalizing) {\r\n\t<div class=\"d-flex flex-column jusitfy-content-center align-items-center mt-2\">\r\n\t\t<h3>Confirmando pago y redirigiendo\u2026</h3>\r\n\t\t<h5>No cierres ni recargues esta p\u00E1gina.</h5>\r\n\t\t<app-loading-full-ec></app-loading-full-ec>\r\n\t</div>\r\n\t}\r\n\r\n\t} @else {\r\n\t<div class=\"d-flex flex-column justify-content-center align-items-center mt-2\">\r\n\t\t<app-loading-full-ec></app-loading-full-ec>\r\n\t</div>\r\n\t}\r\n</div>" }]
11315
+ args: [{ selector: 'app-mp-redirect-ec', standalone: true, imports: [LoadingFullEcComponent], template: "<div class=\"text-center\">\n\t@if(url) {\n\n\t@if(isIdle) {\n\t<button (click)=\"iniciar()\" class=\"btn btn-outline-primary rounded-0 comprar mt-3\">Pagar</button>\n\t}\n\n\t@if(isPaying) {\n\t<div class=\"d-flex flex-column jusitfy-content-center align-items-center mt-2\">\n\t\t<h3>Procesando el pago por Mercado Pago</h3>\n\t\t<h5>Record\u00E1 tocar \u201CVolver al sitio\u201D en Mercado Pago para finalizar.</h5>\n\t\t<app-loading-full-ec></app-loading-full-ec>\n\t</div>\n\n\t<div class=\"container-fluid\">\n\t\t<div class=\"row\">\n\t\t\t<div class=\"col-5\">\n\t\t\t\t<hr>\n\t\t\t</div>\n\t\t\t<div class=\"col-2 text-center\"><label>o</label></div>\n\t\t\t<div class=\"col-5\">\n\t\t\t\t<hr>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"d-flex flex-column justify-content-center align-items-center mt-2\">\n\t\t<button (click)=\"clickClose()\" class=\"btn btn-outline-secondary\">Cancelar pago</button>\n\t</div>\n\t}\n\n\t@if(isFinalizing) {\n\t<div class=\"d-flex flex-column jusitfy-content-center align-items-center mt-2\">\n\t\t<h3>Confirmando pago y redirigiendo\u2026</h3>\n\t\t<h5>No cierres ni recargues esta p\u00E1gina.</h5>\n\t\t<app-loading-full-ec></app-loading-full-ec>\n\t</div>\n\t}\n\n\t} @else {\n\t<div class=\"d-flex flex-column justify-content-center align-items-center mt-2\">\n\t\t<app-loading-full-ec></app-loading-full-ec>\n\t</div>\n\t}\n</div>" }]
11174
11316
  }], propDecorators: { method: [{
11175
11317
  type: Input
11176
11318
  }], total_amount: [{
@@ -11189,11 +11331,11 @@ class BankTransferEcComponent {
11189
11331
  ngOnInit() {
11190
11332
  }
11191
11333
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BankTransferEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11192
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BankTransferEcComponent, isStandalone: true, selector: "app-bank-transfer-ec", inputs: { method: "method", verifyValidate: "verifyValidate", setLoading: "setLoading" }, ngImport: i0, template: "<div class=\"row px-0 description-cont\">\r\n\r\n @for(line of method.description.split('\\r\\n');track $index; let i=$index){\r\n <p [id]=\"'faqs-'+i\" [class]=\"'qt px-5 m-0 line-'+i\">{{ line }}</p>\r\n }\r\n</div>\r\n@if(method.instructions){\r\n <hr />\r\n <div class=\"row px-0 instructions-cont mb-1\">\r\n <h5 class=\"instructions-title\">{{ ('instructions' | translate) }}</h5>\r\n @for(line of method.instructions.split('\\r\\n'); track $index; let i=$index){\r\n <p [class]=\"'px-5 m-0 instructions-text line-'+i \">{{ line }}</p>\r\n }\r\n</div>\r\n}\r\n\r\n<div class=\"end-button\">\r\n <button class=\"btn btn-outline-primary\" (click)=\"setLoading() && verifyValidate()\">{{\r\n ('pay-with-transfer'\r\n | translate) }}</button>\r\n</div>\r\n<!-- @if(loading$ | async; as loading){\r\n @if(loading){\r\n <div class=\"mt-2\">\r\n <app-loading-inline-ec></app-loading-inline-ec>\r\n </div>\r\n }\r\n} -->", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] });
11334
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BankTransferEcComponent, isStandalone: true, selector: "app-bank-transfer-ec", inputs: { method: "method", verifyValidate: "verifyValidate", setLoading: "setLoading" }, ngImport: i0, template: "<div class=\"row px-0 description-cont\">\n\n @for(line of method.description.split('\\r\\n');track $index; let i=$index){\n <p [id]=\"'faqs-'+i\" [class]=\"'qt px-5 m-0 line-'+i\">{{ line }}</p>\n }\n</div>\n@if(method.instructions){\n <hr />\n <div class=\"row px-0 instructions-cont mb-1\">\n <h5 class=\"instructions-title\">{{ ('instructions' | translate) }}</h5>\n @for(line of method.instructions.split('\\r\\n'); track $index; let i=$index){\n <p [class]=\"'px-5 m-0 instructions-text line-'+i \">{{ line }}</p>\n }\n</div>\n}\n\n<div class=\"end-button\">\n <button class=\"btn btn-outline-primary\" (click)=\"setLoading() && verifyValidate()\">{{\n ('pay-with-transfer'\n | translate) }}</button>\n</div>\n<!-- @if(loading$ | async; as loading){\n @if(loading){\n <div class=\"mt-2\">\n <app-loading-inline-ec></app-loading-inline-ec>\n </div>\n }\n} -->", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] });
11193
11335
  }
11194
11336
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BankTransferEcComponent, decorators: [{
11195
11337
  type: Component,
11196
- args: [{ selector: 'app-bank-transfer-ec', standalone: true, imports: [LoadingInlineEcComponent, TranslateModule, AsyncPipe], template: "<div class=\"row px-0 description-cont\">\r\n\r\n @for(line of method.description.split('\\r\\n');track $index; let i=$index){\r\n <p [id]=\"'faqs-'+i\" [class]=\"'qt px-5 m-0 line-'+i\">{{ line }}</p>\r\n }\r\n</div>\r\n@if(method.instructions){\r\n <hr />\r\n <div class=\"row px-0 instructions-cont mb-1\">\r\n <h5 class=\"instructions-title\">{{ ('instructions' | translate) }}</h5>\r\n @for(line of method.instructions.split('\\r\\n'); track $index; let i=$index){\r\n <p [class]=\"'px-5 m-0 instructions-text line-'+i \">{{ line }}</p>\r\n }\r\n</div>\r\n}\r\n\r\n<div class=\"end-button\">\r\n <button class=\"btn btn-outline-primary\" (click)=\"setLoading() && verifyValidate()\">{{\r\n ('pay-with-transfer'\r\n | translate) }}</button>\r\n</div>\r\n<!-- @if(loading$ | async; as loading){\r\n @if(loading){\r\n <div class=\"mt-2\">\r\n <app-loading-inline-ec></app-loading-inline-ec>\r\n </div>\r\n }\r\n} -->" }]
11338
+ args: [{ selector: 'app-bank-transfer-ec', standalone: true, imports: [LoadingInlineEcComponent, TranslateModule, AsyncPipe], template: "<div class=\"row px-0 description-cont\">\n\n @for(line of method.description.split('\\r\\n');track $index; let i=$index){\n <p [id]=\"'faqs-'+i\" [class]=\"'qt px-5 m-0 line-'+i\">{{ line }}</p>\n }\n</div>\n@if(method.instructions){\n <hr />\n <div class=\"row px-0 instructions-cont mb-1\">\n <h5 class=\"instructions-title\">{{ ('instructions' | translate) }}</h5>\n @for(line of method.instructions.split('\\r\\n'); track $index; let i=$index){\n <p [class]=\"'px-5 m-0 instructions-text line-'+i \">{{ line }}</p>\n }\n</div>\n}\n\n<div class=\"end-button\">\n <button class=\"btn btn-outline-primary\" (click)=\"setLoading() && verifyValidate()\">{{\n ('pay-with-transfer'\n | translate) }}</button>\n</div>\n<!-- @if(loading$ | async; as loading){\n @if(loading){\n <div class=\"mt-2\">\n <app-loading-inline-ec></app-loading-inline-ec>\n </div>\n }\n} -->" }]
11197
11339
  }], ctorParameters: () => [], propDecorators: { method: [{
11198
11340
  type: Input,
11199
11341
  args: [{
@@ -11213,14 +11355,14 @@ class OfflineEcComponent {
11213
11355
  ngOnInit() {
11214
11356
  }
11215
11357
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OfflineEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11216
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OfflineEcComponent, isStandalone: true, selector: "app-offline-ec", inputs: { method: "method", verifyValidate: "verifyValidate", setLoading: "setLoading" }, ngImport: i0, template: "<p id=\"faqs\" class=\"qt px-5\">{{ method.description }}</p>\r\n<p class=\"px-5\">{{ method.instructions }}</p>\r\n<div class=\"end-button\">\r\n\t<button class=\"btn btn-outline-primary\" (click)=\"setLoading() && verifyValidate()\">{{\r\n\t\t('pay-with-offline'| translate) }}</button>\r\n</div>\r\n<!-- @if(loading$ | async; as loading){\r\n @if(loading){\r\n <div class=\"mt-2\">\r\n <app-loading-inline-ec></app-loading-inline-ec>\r\n </div>\r\n }\r\n} -->", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] });
11358
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OfflineEcComponent, isStandalone: true, selector: "app-offline-ec", inputs: { method: "method", verifyValidate: "verifyValidate", setLoading: "setLoading" }, ngImport: i0, template: "<p id=\"faqs\" class=\"qt px-5\">{{ method.description }}</p>\n<p class=\"px-5\">{{ method.instructions }}</p>\n<div class=\"end-button\">\n\t<button class=\"btn btn-outline-primary\" (click)=\"setLoading() && verifyValidate()\">{{\n\t\t('pay-with-offline'| translate) }}</button>\n</div>\n<!-- @if(loading$ | async; as loading){\n @if(loading){\n <div class=\"mt-2\">\n <app-loading-inline-ec></app-loading-inline-ec>\n </div>\n }\n} -->", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] });
11217
11359
  }
11218
11360
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OfflineEcComponent, decorators: [{
11219
11361
  type: Component,
11220
11362
  args: [{ selector: 'app-offline-ec', standalone: true, imports: [
11221
11363
  LoadingInlineEcComponent,
11222
11364
  TranslateModule
11223
- ], template: "<p id=\"faqs\" class=\"qt px-5\">{{ method.description }}</p>\r\n<p class=\"px-5\">{{ method.instructions }}</p>\r\n<div class=\"end-button\">\r\n\t<button class=\"btn btn-outline-primary\" (click)=\"setLoading() && verifyValidate()\">{{\r\n\t\t('pay-with-offline'| translate) }}</button>\r\n</div>\r\n<!-- @if(loading$ | async; as loading){\r\n @if(loading){\r\n <div class=\"mt-2\">\r\n <app-loading-inline-ec></app-loading-inline-ec>\r\n </div>\r\n }\r\n} -->" }]
11365
+ ], template: "<p id=\"faqs\" class=\"qt px-5\">{{ method.description }}</p>\n<p class=\"px-5\">{{ method.instructions }}</p>\n<div class=\"end-button\">\n\t<button class=\"btn btn-outline-primary\" (click)=\"setLoading() && verifyValidate()\">{{\n\t\t('pay-with-offline'| translate) }}</button>\n</div>\n<!-- @if(loading$ | async; as loading){\n @if(loading){\n <div class=\"mt-2\">\n <app-loading-inline-ec></app-loading-inline-ec>\n </div>\n }\n} -->" }]
11224
11366
  }], ctorParameters: () => [], propDecorators: { method: [{
11225
11367
  type: Input,
11226
11368
  args: [{
@@ -11420,11 +11562,11 @@ class DecidirEcComponent extends ComponentHelper {
11420
11562
  }
11421
11563
  };
11422
11564
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DecidirEcComponent, deps: [{ token: i0.Renderer2 }, { token: ConnectionService }, { token: ToastService }, { token: CoreConstantsService }, { token: ApiConstantsService }, { token: CartService }, { token: i2.ActivatedRoute }, { token: i1$5.DomSanitizer }, { token: ParametersService }], target: i0.ɵɵFactoryTarget.Component });
11423
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DecidirEcComponent, isStandalone: true, selector: "app-decidir-ec", inputs: { paymentServiceInst: "paymentServiceInst", method: "method", total_amount: "total_amount", allData: "allData", user_data: "user_data" }, outputs: { ready: "ready" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"text-center\">\r\n <h3>Continuar con el pago en Decidir</h3>\r\n @if (method) {\r\n <p class=\"px-5\">{{ method.description }}</p>\r\n <p class=\"px-5\">{{ method.instructions }}</p>\r\n }\r\n @if (!loading) {\r\n <button class=\"btn btn-outline-secondary comprar\" (click)=\"openModal()\">Pagar</button>\r\n } @else {\r\n <div class=\"d-flex flex-column jusitfy-content-center align-items-center mt-2\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n }\r\n </div>\r\n\r\n@if (showModal) {\r\n<div class=\"modal-backdrop\" (click)=\"clickClose()\">\r\n <div class=\"modal-dialog modal-lg\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"modal-content\">\r\n\r\n <div class=\"modal-body\">\r\n <div class=\"payment-container\">\r\n \r\n <!-- Iframe del formulario de decidir -->\r\n <div class=\"iframe-container\">\r\n <iframe [src]=\"url\" frameborder=\"0\" class=\"payment-iframe\"></iframe>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n}\r\n", styles: [".modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1050;backdrop-filter:blur(2px)}.modal-dialog{max-width:90%;max-height:90%;width:800px;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:modalFadeIn .3s ease-out}.modal-dialog.modal-lg{max-width:900px;width:90%}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-content{display:flex;flex-direction:column;height:100%;border:none;border-radius:16px;background:#fff}.modal-header{padding:1.5rem 2rem;border-bottom:1px solid #e9ecef;background:linear-gradient(135deg,#f8f9fa,#e9ecef);display:flex;justify-content:space-between;align-items:center;position:relative}.modal-header:after{content:\"\";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,#dee2e6 50%,transparent 100%)}.modal-header .modal-title{margin:0;font-size:1.5rem;font-weight:700;color:#2c3e50;text-shadow:0 1px 2px rgba(0,0,0,.1)}.modal-header .btn-close{background:none;border:none;font-size:1.8rem;color:#6c757d;cursor:pointer;padding:0;width:35px;height:35px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease;position:relative}.modal-header .btn-close:hover{background-color:#dc3545;color:#fff;transform:rotate(90deg);box-shadow:0 4px 12px #dc35454d}.modal-header .btn-close:active{transform:rotate(90deg) scale(.95)}.modal-body{padding:0;flex:1;overflow:hidden;background:#fff}.payment-container{height:100%;display:flex;flex-direction:column;background:#fff}.cards-accepted{padding:1.5rem 2rem;text-align:center;border-bottom:1px solid #e9ecef;background:linear-gradient(135deg,#fff,#f8f9fa);position:relative}.cards-accepted:after{content:\"\";position:absolute;bottom:0;left:5%;right:5%;height:1px;background:linear-gradient(90deg,transparent 0%,#dee2e6 50%,transparent 100%)}.cards-accepted .cards-img{height:45px;max-width:100%;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));transition:transform .2s ease}.cards-accepted .cards-img:hover{transform:scale(1.05)}.iframe-container{flex:1;padding:1.5rem;background:#fff;position:relative}.iframe-container:before{content:\"\";position:absolute;top:0;left:1.5rem;right:1.5rem;height:1px;background:linear-gradient(90deg,transparent 0%,#e9ecef 50%,transparent 100%)}.payment-iframe{width:100%;height:620px;border:none;border-radius:12px;background:#fff;box-shadow:inset 0 2px 8px #0000000d}.half-width{width:49%!important}.ml-1{margin-left:1%}#card-form{height:450px}.iframeStyle{height:520px;width:100%}@media only screen and (max-width: 1024px){.modal-dialog,.modal-dialog.modal-lg{max-width:95%;width:95%}.payment-iframe{height:650px}.modal-header{padding:1rem 1.5rem}.modal-header .modal-title{font-size:1.125rem}.cards-accepted{padding:.75rem 1.5rem}}@media only screen and (max-width: 680px){.modal-dialog{max-width:98%;width:98%;margin:1rem;max-height:calc(100vh - 2rem)}.modal-dialog.modal-lg{max-width:98%;width:98%}.payment-iframe{height:550px}.modal-header{padding:1rem}.modal-header .modal-title{font-size:1rem}.modal-header .btn-close{width:28px;height:28px;font-size:1.25rem}.cards-accepted{padding:.5rem 1rem}.cards-accepted .cards-img{height:35px}.iframe-container{padding:.5rem}}@media only screen and (max-width: 480px){.modal-dialog{margin:.5rem;max-height:calc(100vh - 1rem);border-radius:8px}.modal-content{border-radius:8px}.payment-iframe{height:500px}.cards-accepted .cards-img{height:30px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: LoadingFullEcComponent, selector: "app-loading-full-ec" }] });
11565
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DecidirEcComponent, isStandalone: true, selector: "app-decidir-ec", inputs: { paymentServiceInst: "paymentServiceInst", method: "method", total_amount: "total_amount", allData: "allData", user_data: "user_data" }, outputs: { ready: "ready" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"text-center\">\n <h3>Continuar con el pago en Decidir</h3>\n @if (method) {\n <p class=\"px-5\">{{ method.description }}</p>\n <p class=\"px-5\">{{ method.instructions }}</p>\n }\n @if (!loading) {\n <button class=\"btn btn-outline-secondary comprar\" (click)=\"openModal()\">Pagar</button>\n } @else {\n <div class=\"d-flex flex-column jusitfy-content-center align-items-center mt-2\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n }\n </div>\n\n@if (showModal) {\n<div class=\"modal-backdrop\" (click)=\"clickClose()\">\n <div class=\"modal-dialog modal-lg\" (click)=\"$event.stopPropagation()\">\n <div class=\"modal-content\">\n\n <div class=\"modal-body\">\n <div class=\"payment-container\">\n \n <!-- Iframe del formulario de decidir -->\n <div class=\"iframe-container\">\n <iframe [src]=\"url\" frameborder=\"0\" class=\"payment-iframe\"></iframe>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n}\n", styles: [".modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1050;backdrop-filter:blur(2px)}.modal-dialog{max-width:90%;max-height:90%;width:800px;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:modalFadeIn .3s ease-out}.modal-dialog.modal-lg{max-width:900px;width:90%}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-content{display:flex;flex-direction:column;height:100%;border:none;border-radius:16px;background:#fff}.modal-header{padding:1.5rem 2rem;border-bottom:1px solid #e9ecef;background:linear-gradient(135deg,#f8f9fa,#e9ecef);display:flex;justify-content:space-between;align-items:center;position:relative}.modal-header:after{content:\"\";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,#dee2e6 50%,transparent 100%)}.modal-header .modal-title{margin:0;font-size:1.5rem;font-weight:700;color:#2c3e50;text-shadow:0 1px 2px rgba(0,0,0,.1)}.modal-header .btn-close{background:none;border:none;font-size:1.8rem;color:#6c757d;cursor:pointer;padding:0;width:35px;height:35px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease;position:relative}.modal-header .btn-close:hover{background-color:#dc3545;color:#fff;transform:rotate(90deg);box-shadow:0 4px 12px #dc35454d}.modal-header .btn-close:active{transform:rotate(90deg) scale(.95)}.modal-body{padding:0;flex:1;overflow:hidden;background:#fff}.payment-container{height:100%;display:flex;flex-direction:column;background:#fff}.cards-accepted{padding:1.5rem 2rem;text-align:center;border-bottom:1px solid #e9ecef;background:linear-gradient(135deg,#fff,#f8f9fa);position:relative}.cards-accepted:after{content:\"\";position:absolute;bottom:0;left:5%;right:5%;height:1px;background:linear-gradient(90deg,transparent 0%,#dee2e6 50%,transparent 100%)}.cards-accepted .cards-img{height:45px;max-width:100%;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));transition:transform .2s ease}.cards-accepted .cards-img:hover{transform:scale(1.05)}.iframe-container{flex:1;padding:1.5rem;background:#fff;position:relative}.iframe-container:before{content:\"\";position:absolute;top:0;left:1.5rem;right:1.5rem;height:1px;background:linear-gradient(90deg,transparent 0%,#e9ecef 50%,transparent 100%)}.payment-iframe{width:100%;height:620px;border:none;border-radius:12px;background:#fff;box-shadow:inset 0 2px 8px #0000000d}.half-width{width:49%!important}.ml-1{margin-left:1%}#card-form{height:450px}.iframeStyle{height:520px;width:100%}@media only screen and (max-width: 1024px){.modal-dialog,.modal-dialog.modal-lg{max-width:95%;width:95%}.payment-iframe{height:650px}.modal-header{padding:1rem 1.5rem}.modal-header .modal-title{font-size:1.125rem}.cards-accepted{padding:.75rem 1.5rem}}@media only screen and (max-width: 680px){.modal-dialog{max-width:98%;width:98%;margin:1rem;max-height:calc(100vh - 2rem)}.modal-dialog.modal-lg{max-width:98%;width:98%}.payment-iframe{height:550px}.modal-header{padding:1rem}.modal-header .modal-title{font-size:1rem}.modal-header .btn-close{width:28px;height:28px;font-size:1.25rem}.cards-accepted{padding:.5rem 1rem}.cards-accepted .cards-img{height:35px}.iframe-container{padding:.5rem}}@media only screen and (max-width: 480px){.modal-dialog{margin:.5rem;max-height:calc(100vh - 1rem);border-radius:8px}.modal-content{border-radius:8px}.payment-iframe{height:500px}.cards-accepted .cards-img{height:30px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: LoadingFullEcComponent, selector: "app-loading-full-ec" }] });
11424
11566
  }
11425
11567
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DecidirEcComponent, decorators: [{
11426
11568
  type: Component,
11427
- args: [{ selector: 'app-decidir-ec', standalone: true, imports: [CommonModule, FormsModule, LoadingFullEcComponent], template: "<div class=\"text-center\">\r\n <h3>Continuar con el pago en Decidir</h3>\r\n @if (method) {\r\n <p class=\"px-5\">{{ method.description }}</p>\r\n <p class=\"px-5\">{{ method.instructions }}</p>\r\n }\r\n @if (!loading) {\r\n <button class=\"btn btn-outline-secondary comprar\" (click)=\"openModal()\">Pagar</button>\r\n } @else {\r\n <div class=\"d-flex flex-column jusitfy-content-center align-items-center mt-2\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n }\r\n </div>\r\n\r\n@if (showModal) {\r\n<div class=\"modal-backdrop\" (click)=\"clickClose()\">\r\n <div class=\"modal-dialog modal-lg\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"modal-content\">\r\n\r\n <div class=\"modal-body\">\r\n <div class=\"payment-container\">\r\n \r\n <!-- Iframe del formulario de decidir -->\r\n <div class=\"iframe-container\">\r\n <iframe [src]=\"url\" frameborder=\"0\" class=\"payment-iframe\"></iframe>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n}\r\n", styles: [".modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1050;backdrop-filter:blur(2px)}.modal-dialog{max-width:90%;max-height:90%;width:800px;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:modalFadeIn .3s ease-out}.modal-dialog.modal-lg{max-width:900px;width:90%}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-content{display:flex;flex-direction:column;height:100%;border:none;border-radius:16px;background:#fff}.modal-header{padding:1.5rem 2rem;border-bottom:1px solid #e9ecef;background:linear-gradient(135deg,#f8f9fa,#e9ecef);display:flex;justify-content:space-between;align-items:center;position:relative}.modal-header:after{content:\"\";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,#dee2e6 50%,transparent 100%)}.modal-header .modal-title{margin:0;font-size:1.5rem;font-weight:700;color:#2c3e50;text-shadow:0 1px 2px rgba(0,0,0,.1)}.modal-header .btn-close{background:none;border:none;font-size:1.8rem;color:#6c757d;cursor:pointer;padding:0;width:35px;height:35px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease;position:relative}.modal-header .btn-close:hover{background-color:#dc3545;color:#fff;transform:rotate(90deg);box-shadow:0 4px 12px #dc35454d}.modal-header .btn-close:active{transform:rotate(90deg) scale(.95)}.modal-body{padding:0;flex:1;overflow:hidden;background:#fff}.payment-container{height:100%;display:flex;flex-direction:column;background:#fff}.cards-accepted{padding:1.5rem 2rem;text-align:center;border-bottom:1px solid #e9ecef;background:linear-gradient(135deg,#fff,#f8f9fa);position:relative}.cards-accepted:after{content:\"\";position:absolute;bottom:0;left:5%;right:5%;height:1px;background:linear-gradient(90deg,transparent 0%,#dee2e6 50%,transparent 100%)}.cards-accepted .cards-img{height:45px;max-width:100%;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));transition:transform .2s ease}.cards-accepted .cards-img:hover{transform:scale(1.05)}.iframe-container{flex:1;padding:1.5rem;background:#fff;position:relative}.iframe-container:before{content:\"\";position:absolute;top:0;left:1.5rem;right:1.5rem;height:1px;background:linear-gradient(90deg,transparent 0%,#e9ecef 50%,transparent 100%)}.payment-iframe{width:100%;height:620px;border:none;border-radius:12px;background:#fff;box-shadow:inset 0 2px 8px #0000000d}.half-width{width:49%!important}.ml-1{margin-left:1%}#card-form{height:450px}.iframeStyle{height:520px;width:100%}@media only screen and (max-width: 1024px){.modal-dialog,.modal-dialog.modal-lg{max-width:95%;width:95%}.payment-iframe{height:650px}.modal-header{padding:1rem 1.5rem}.modal-header .modal-title{font-size:1.125rem}.cards-accepted{padding:.75rem 1.5rem}}@media only screen and (max-width: 680px){.modal-dialog{max-width:98%;width:98%;margin:1rem;max-height:calc(100vh - 2rem)}.modal-dialog.modal-lg{max-width:98%;width:98%}.payment-iframe{height:550px}.modal-header{padding:1rem}.modal-header .modal-title{font-size:1rem}.modal-header .btn-close{width:28px;height:28px;font-size:1.25rem}.cards-accepted{padding:.5rem 1rem}.cards-accepted .cards-img{height:35px}.iframe-container{padding:.5rem}}@media only screen and (max-width: 480px){.modal-dialog{margin:.5rem;max-height:calc(100vh - 1rem);border-radius:8px}.modal-content{border-radius:8px}.payment-iframe{height:500px}.cards-accepted .cards-img{height:30px}}\n"] }]
11569
+ args: [{ selector: 'app-decidir-ec', standalone: true, imports: [CommonModule, FormsModule, LoadingFullEcComponent], template: "<div class=\"text-center\">\n <h3>Continuar con el pago en Decidir</h3>\n @if (method) {\n <p class=\"px-5\">{{ method.description }}</p>\n <p class=\"px-5\">{{ method.instructions }}</p>\n }\n @if (!loading) {\n <button class=\"btn btn-outline-secondary comprar\" (click)=\"openModal()\">Pagar</button>\n } @else {\n <div class=\"d-flex flex-column jusitfy-content-center align-items-center mt-2\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n }\n </div>\n\n@if (showModal) {\n<div class=\"modal-backdrop\" (click)=\"clickClose()\">\n <div class=\"modal-dialog modal-lg\" (click)=\"$event.stopPropagation()\">\n <div class=\"modal-content\">\n\n <div class=\"modal-body\">\n <div class=\"payment-container\">\n \n <!-- Iframe del formulario de decidir -->\n <div class=\"iframe-container\">\n <iframe [src]=\"url\" frameborder=\"0\" class=\"payment-iframe\"></iframe>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n}\n", styles: [".modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1050;backdrop-filter:blur(2px)}.modal-dialog{max-width:90%;max-height:90%;width:800px;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:modalFadeIn .3s ease-out}.modal-dialog.modal-lg{max-width:900px;width:90%}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-content{display:flex;flex-direction:column;height:100%;border:none;border-radius:16px;background:#fff}.modal-header{padding:1.5rem 2rem;border-bottom:1px solid #e9ecef;background:linear-gradient(135deg,#f8f9fa,#e9ecef);display:flex;justify-content:space-between;align-items:center;position:relative}.modal-header:after{content:\"\";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,#dee2e6 50%,transparent 100%)}.modal-header .modal-title{margin:0;font-size:1.5rem;font-weight:700;color:#2c3e50;text-shadow:0 1px 2px rgba(0,0,0,.1)}.modal-header .btn-close{background:none;border:none;font-size:1.8rem;color:#6c757d;cursor:pointer;padding:0;width:35px;height:35px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease;position:relative}.modal-header .btn-close:hover{background-color:#dc3545;color:#fff;transform:rotate(90deg);box-shadow:0 4px 12px #dc35454d}.modal-header .btn-close:active{transform:rotate(90deg) scale(.95)}.modal-body{padding:0;flex:1;overflow:hidden;background:#fff}.payment-container{height:100%;display:flex;flex-direction:column;background:#fff}.cards-accepted{padding:1.5rem 2rem;text-align:center;border-bottom:1px solid #e9ecef;background:linear-gradient(135deg,#fff,#f8f9fa);position:relative}.cards-accepted:after{content:\"\";position:absolute;bottom:0;left:5%;right:5%;height:1px;background:linear-gradient(90deg,transparent 0%,#dee2e6 50%,transparent 100%)}.cards-accepted .cards-img{height:45px;max-width:100%;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));transition:transform .2s ease}.cards-accepted .cards-img:hover{transform:scale(1.05)}.iframe-container{flex:1;padding:1.5rem;background:#fff;position:relative}.iframe-container:before{content:\"\";position:absolute;top:0;left:1.5rem;right:1.5rem;height:1px;background:linear-gradient(90deg,transparent 0%,#e9ecef 50%,transparent 100%)}.payment-iframe{width:100%;height:620px;border:none;border-radius:12px;background:#fff;box-shadow:inset 0 2px 8px #0000000d}.half-width{width:49%!important}.ml-1{margin-left:1%}#card-form{height:450px}.iframeStyle{height:520px;width:100%}@media only screen and (max-width: 1024px){.modal-dialog,.modal-dialog.modal-lg{max-width:95%;width:95%}.payment-iframe{height:650px}.modal-header{padding:1rem 1.5rem}.modal-header .modal-title{font-size:1.125rem}.cards-accepted{padding:.75rem 1.5rem}}@media only screen and (max-width: 680px){.modal-dialog{max-width:98%;width:98%;margin:1rem;max-height:calc(100vh - 2rem)}.modal-dialog.modal-lg{max-width:98%;width:98%}.payment-iframe{height:550px}.modal-header{padding:1rem}.modal-header .modal-title{font-size:1rem}.modal-header .btn-close{width:28px;height:28px;font-size:1.25rem}.cards-accepted{padding:.5rem 1rem}.cards-accepted .cards-img{height:35px}.iframe-container{padding:.5rem}}@media only screen and (max-width: 480px){.modal-dialog{margin:.5rem;max-height:calc(100vh - 1rem);border-radius:8px}.modal-content{border-radius:8px}.payment-iframe{height:500px}.cards-accepted .cards-img{height:30px}}\n"] }]
11428
11570
  }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: ConnectionService }, { type: ToastService }, { type: CoreConstantsService }, { type: ApiConstantsService }, { type: CartService }, { type: i2.ActivatedRoute }, { type: i1$5.DomSanitizer }, { type: ParametersService }], propDecorators: { paymentServiceInst: [{
11429
11571
  type: Input
11430
11572
  }], method: [{
@@ -11443,6 +11585,7 @@ class PaymentEcComponent {
11443
11585
  _paymentService = inject(PaymentService);
11444
11586
  _checkoutService = inject(CheckoutService);
11445
11587
  _cartService = inject(CartService);
11588
+ _toastService = inject(ToastService);
11446
11589
  _methodDataSubject = new BehaviorSubject(null);
11447
11590
  _loadingSubject = new BehaviorSubject(false);
11448
11591
  methods$ = this._paymentService.methods$;
@@ -11450,12 +11593,18 @@ class PaymentEcComponent {
11450
11593
  methodData$ = this._methodDataSubject.asObservable();
11451
11594
  loadingInternal = false;
11452
11595
  total_amount = 0;
11596
+ allowAnyPaymentMethod = null;
11597
+ balanceMethodRejected = false;
11598
+ showMethodError = false;
11453
11599
  constructor() { }
11454
11600
  ngOnInit() {
11455
11601
  this._checkoutService.associatedData$.subscribe((data) => {
11456
11602
  const totalItem = data.find(item => item.type == 'total');
11457
11603
  this.total_amount = totalItem?.amount ?? 0;
11458
11604
  });
11605
+ this._cartService.allowAnyPaymentMethod$.subscribe(value => {
11606
+ this.allowAnyPaymentMethod = value;
11607
+ });
11459
11608
  // console.log('PaymentEcComponent initialized with total_amount:', this.total_amount);
11460
11609
  }
11461
11610
  setActive($event) {
@@ -11469,7 +11618,34 @@ class PaymentEcComponent {
11469
11618
  }
11470
11619
  async setMethod(method) {
11471
11620
  this._methodDataSubject.next(null);
11472
- let result = await this._paymentService.putPayment(method.code);
11621
+ this.showMethodError = false;
11622
+ const result = await this._paymentService.putPayment(method.code);
11623
+ const balanceCustomer = result?.balanceCustomer;
11624
+ const totals = result?.totals;
11625
+ this._cartService.updateBalanceAttributes(balanceCustomer, totals?.total);
11626
+ const isBalanceMethod = this.isBalanceInAccount(method.code);
11627
+ const allowAny = balanceCustomer?.allowAnyPaymentMethod;
11628
+ if ((balanceCustomer && allowAny === false && !isBalanceMethod) ||
11629
+ (isBalanceMethod && !balanceCustomer)) {
11630
+ this.handleMethodError('this-payment-method-cannot-be-used', method);
11631
+ return;
11632
+ }
11633
+ if (isBalanceMethod &&
11634
+ balanceCustomer &&
11635
+ totals &&
11636
+ balanceCustomer.allowExceedBalance === false &&
11637
+ balanceCustomer.creditAmount < totals.total) {
11638
+ this._toastService.show('insufficient_credit');
11639
+ this.balanceMethodRejected = true;
11640
+ }
11641
+ else if (isBalanceMethod) {
11642
+ this.balanceMethodRejected = false;
11643
+ }
11644
+ this._methodDataSubject.next(method);
11645
+ }
11646
+ handleMethodError(message, method) {
11647
+ this.showMethodError = true;
11648
+ this._toastService.show(message);
11473
11649
  this._methodDataSubject.next(method);
11474
11650
  }
11475
11651
  //Funciones para chequear el metodo de pago.
@@ -11492,6 +11668,7 @@ class PaymentEcComponent {
11492
11668
  isBankTransfer = (code) => !!code?.toLowerCase().includes('bank_transfer');
11493
11669
  isCatastro = (code) => !!code?.toLowerCase().includes('catastro');
11494
11670
  isBamboo = (code) => !!code?.toLowerCase().includes('bamboo');
11671
+ isBalanceInAccount = (code) => !!code?.toLowerCase().includes('balance_in_account');
11495
11672
  allData() {
11496
11673
  return {
11497
11674
  ...this._paymentService.getUserData().shippingAddress,
@@ -11508,6 +11685,10 @@ class PaymentEcComponent {
11508
11685
  return true;
11509
11686
  };
11510
11687
  verifyValidate = ($event = true) => {
11688
+ if (this.balanceMethodRejected) {
11689
+ this.setLoading(false);
11690
+ return;
11691
+ }
11511
11692
  if ($event === false) {
11512
11693
  this.setLoading(false);
11513
11694
  return;
@@ -11522,7 +11703,7 @@ class PaymentEcComponent {
11522
11703
  this._checkoutService.back();
11523
11704
  };
11524
11705
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PaymentEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11525
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: PaymentEcComponent, isStandalone: true, selector: "app-payment-ec", ngImport: i0, template: "@if(methods$ | async; as methods){\r\n<div class=\"container-fluid\">\r\n\r\n\t<div class=\"row\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<div class=\"card \">\r\n\t\t\t\t<div class=\"card-header text-dark text-center\">\r\n\t\t\t\t\t<h4>{{ 'select-method' | translate }}</h4>\r\n\t\t\t\t\t<div class=\"btn-toolbar justify-content-center\" role=\"toolbar\" aria-label=\"Envios toolbar\">\r\n\t\t\t\t\t\t<div class=\"\" role=\"group\" aria-label=\"Grupo botones envio\">\r\n\t\t\t\t\t\t\t<div class=\"d-flex align-content-start justify-content-center flex-wrap\">\r\n\t\t\t\t\t\t\t\t@for (method of methods; track $index; let x = $index) {\r\n\t\t\t\t\t\t\t\t<button type=\"button\" class=\"btn btn-outline-secondary mx-1 mb-1\"(click)=\"setMethod(method) ; setActive($event)\">\r\n\t\t\t\t\t\t\t\t\t{{ method.name | translate }}\r\n\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"card-body text-center\">\r\n\t\t\t\t\t@if(methodData$ | async; as method){\r\n\t\t\t\t\t<div class=\"row justify-content-center\">\r\n\t\t\t\t\t\t@if(!loadingInternal){\r\n\t\t\t\t\t\t\t@if(isMP(method.code)){\r\n\t\t\t\t\t\t\t\t<div class=\"method-container text-dark\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t\t\t<p id=\"faqs\" class=\"qt px-5 \">{{ method.description }}</p>\r\n\t\t\t\t\t\t\t\t\t\t\t<p class=\"px-5\">{{ method.instructions }}</p>\r\n\t\t\t\t\t\t\t\t\t\t<app-mp-redirect-ec (ready)=\"verifyValidate($event)\" \t[method]=\"method\"></app-mp-redirect-ec>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t<!-- <div class=\"method-container text-dark text-left\" *ngIf=\"isMPTarjetaDeCredito(method.code)\">\r\n\t\t\t\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t\t<p id=\"faqs\" class=\"qt px-5 \">{{ method.description }}</p>\r\n\t\t\t\t\t\t\t\t\t\t<p class=\"px-5\">{{ method.instructions }}</p>\r\n\t\t\t\t\t\t\t\t\t\t<div app-mp-credit-ec (ready)=\"verifyValidate()\" [public_key]=\"getPK(method)\"\r\n\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\" [total_amount]=\"total_amount\">\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isRedirectRedsys(method.code)\">\r\n\t\t\t\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t\t\t\t\t*ngIf=\"!method.code.includes('bizum') && !method.code.includes('_out_')\">\r\n\t\t\t\t\t\t\t\t\t\t\t<app-redsys-redirect-ec (ready)=\"verifyValidate($event)\" [method]=\"method\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\">\r\n\t\t\t\t\t\t\t\t\t\t\t</app-redsys-redirect-ec>\r\n\t\t\t\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t\t\t\t\t*ngIf=\"method.code.includes('bizum') || method.code.includes('_out_')\">\r\n\t\t\t\t\t\t\t\t\t\t\t<app-redsys-redirect-out-ec (ready)=\"verifyValidate($event)\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[method]=\"method\" [user_data]=\"allData()\">\r\n\t\t\t\t\t\t\t\t\t\t\t</app-redsys-redirect-out-ec>\r\n\t\t\t\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isRedirectCecaBank(method.code)\">\r\n\t\t\t\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t\t<app-ceca-redirect-ec (ready)=\"verifyValidate($event)\" [method]=\"method\"\r\n\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\">\r\n\t\t\t\t\t\t\t\t\t\t</app-ceca-redirect-ec>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isPeyPalExpress(method.code)\">\r\n\t\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"row justify-content-center\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t\t\t<app-paypal-express-ec (ready)=\"verifyValidate($event)\" [method]=\"method\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\" [total_amount]=\"total_amount\">\r\n\t\t\t\t\t\t\t\t\t\t\t</app-paypal-express-ec>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isMobbex(method.code)\">\r\n\t\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"row justify-content-center\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t\t\t<app-mobbex-ec (ready)=\"verifyValidate($event)\" [method]=\"method\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\" [paymentServiceInst]=\"paymentService\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[total_amount]=\"total_amount\">\r\n\t\t\t\t\t\t\t\t\t\t\t</app-mobbex-ec>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isBancard(method.code)\">\r\n\t\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"row justify-content-center\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t\t\t<app-bancard-ec (ready)=\"verifyValidate($event)\" [method]=\"method\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\" [paymentServiceInst]=\"paymentService\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[total_amount]=\"total_amount\">\r\n\t\t\t\t\t\t\t\t\t\t\t</app-bancard-ec>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>-->\r\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isDecidir(method.code)\">\r\n\t\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"row justify-content-center\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t\t\t<app-decidir-ec (ready)=\"verifyValidate($event)\" [method]=\"method\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\" [paymentServiceInst]=\"_paymentService\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[total_amount]=\"total_amount\">\r\n\t\t\t\t\t\t\t\t\t\t\t</app-decidir-ec>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div> \r\n\t\t\t\t\t\t\t@if(isMethodOffline(method.code)){\r\n\t\t\t\t\t\t\t<div class=\"method-container text-dark\">\r\n\t\t\t\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t\t<app-offline-ec \r\n\t\t\t\t\t\t\t\t\t\t[method]=\"method\" \r\n\t\t\t\t\t\t\t\t\t\t[verifyValidate]= \"verifyValidate\"\r\n\t\t\t\t\t\t\t\t\t\t[setLoading] = \"setLoading\" />\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<!--\r\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isCulqi(method.code)\">\r\n\t\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"row justify-content-center\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t\t\t<app-culqi-ec [apiKey]=\"getPKCulqi(method)\" [method]=\"method\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[amount]=\"total_amount\" [customStyle]=\"true\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t(ready)=\"verifyValidate()\"></app-culqi-ec>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isCatastro(method.code)\">\r\n\t\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"row justify-content-center\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t\t\t<app-bancard-catastro-ec (ready)=\"verifyValidate($event)\" [method]=\"method\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\" [paymentServiceInst]=\"paymentService\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[total_amount]=\"total_amount\"></app-bancard-catastro-ec>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isBamboo(method.code)\">\r\n\t\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"row justify-content-center\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t\t\t<app-bamboo-ec (ready)=\"verifyValidate($event)\" [method]=\"method\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\" [paymentServiceInst]=\"paymentService\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[total_amount]=\"total_amount\"></app-bamboo-ec>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div> -->\r\n\t\t\t\t\t\t\t@if(isBankTransfer(method.code)){\r\n\t\t\t\t\t\t\t\t<div class=\"method-container text-dark\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t\t\t<app-bank-transfer-ec \r\n\t\t\t\t\t\t\t\t\t\t\t\t[method]=\"method\" \r\n\t\t\t\t\t\t\t\t\t\t\t\t[verifyValidate]= \"verifyValidate\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[setLoading] = \"setLoading\" />\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t\t<app-loading-inline-ec></app-loading-inline-ec>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"row d-flex flex-row\">\r\n\t\t\t\t<div class=\"col-12 d-flex justify-content-between\">\r\n\t\t\t\t\t<button class=\"btn btn-primary text-white\" (click)=\"goBack()\">{{'back'|translate}}</button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n}", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "component", type: LoadingInlineEcComponent, selector: "app-loading-inline-ec", inputs: ["type"] }, { kind: "component", type: MpRedirectEcComponent, selector: "app-mp-redirect-ec", inputs: ["method", "total_amount", "allData"], outputs: ["ready"] }, { kind: "component", type: BankTransferEcComponent, selector: "app-bank-transfer-ec", inputs: ["method", "verifyValidate", "setLoading"] }, { kind: "component", type: OfflineEcComponent, selector: "app-offline-ec", inputs: ["method", "verifyValidate", "setLoading"] }, { kind: "component", type: DecidirEcComponent, selector: "app-decidir-ec", inputs: ["paymentServiceInst", "method", "total_amount", "allData", "user_data"], outputs: ["ready"] }] });
11706
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: PaymentEcComponent, isStandalone: true, selector: "app-payment-ec", ngImport: i0, template: "@if(methods$ | async; as methods){\n<div class=\"container-fluid\">\n\n\t<div class=\"row\">\n\t\t<div class=\"col-12\">\n\t\t\t<div class=\"card \">\n\t\t\t\t<div class=\"card-header text-dark text-center\">\n\t\t\t\t\t<h4>{{ 'select-method' | translate }}</h4>\n\t\t\t\t\t<div class=\"btn-toolbar justify-content-center\" role=\"toolbar\" aria-label=\"Envios toolbar\">\n\t\t\t\t\t\t<div class=\"\" role=\"group\" aria-label=\"Grupo botones envio\">\n\t\t\t\t\t\t\t<div class=\"d-flex align-content-start justify-content-center flex-wrap\">\n\t\t\t\t\t\t\t\t@for (method of methods; track $index; let x = $index) {\n\t\t\t\t\t\t\t\t<button type=\"button\" class=\"btn btn-outline-secondary mx-1 mb-1\" (click)=\"setMethod(method) ; setActive($event)\">\n\t\t\t\t\t\t\t\t\t{{ method.name | translate }}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"card-body text-center\">\n\t\t\t\t\t@if(methodData$ | async; as method){\n\t\t\t\t\t<div class=\"row justify-content-center\">\n\t\t\t\t\t\t@if(!loadingInternal){\n\t\t\t\t\t\t\t@if(method && !showMethodError){\n\t\t\t\t\t\t\t\t@if(isMP(method.code)){\n\t\t\t\t\t\t\t\t\t<div class=\"method-container text-dark\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t\t\t\t<p id=\"faqs\" class=\"qt px-5 \">{{ method.description }}</p>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"px-5\">{{ method.instructions }}</p>\n\t\t\t\t\t\t\t\t\t\t\t<app-mp-redirect-ec (ready)=\"verifyValidate($event)\" \t[method]=\"method\"></app-mp-redirect-ec>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isDecidir(method.code)\">\n\t\t\t\t\t\t\t\t\t<div class=\"container\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"row justify-content-center\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t\t\t\t<app-decidir-ec (ready)=\"verifyValidate($event)\" [method]=\"method\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\" [paymentServiceInst]=\"_paymentService\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t[total_amount]=\"total_amount\">\n\t\t\t\t\t\t\t\t\t\t\t\t</app-decidir-ec>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div> \n\t\t\t\t\t\t\t\t@if(isMethodOffline(method.code)){\n\t\t\t\t\t\t\t\t<div class=\"method-container text-dark\">\n\t\t\t\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t\t\t<app-offline-ec \n\t\t\t\t\t\t\t\t\t\t\t[method]=\"method\" \n\t\t\t\t\t\t\t\t\t\t\t[verifyValidate]= \"verifyValidate\"\n\t\t\t\t\t\t\t\t\t\t\t[setLoading] = \"setLoading\" />\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t@if(isBankTransfer(method.code)){\n\t\t\t\t\t\t\t\t\t<div class=\"method-container text-dark\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t\t\t\t<app-bank-transfer-ec \n\t\t\t\t\t\t\t\t\t\t\t\t\t[method]=\"method\" \n\t\t\t\t\t\t\t\t\t\t\t\t\t[verifyValidate]= \"verifyValidate\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t[setLoading] = \"setLoading\" />\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t@if(showMethodError){\n\t\t\t\t\t\t\t\t<div class=\"text-danger mt-2 px-3 fw-bold\">\n\t\t\t\t\t\t\t\t\t{{ 'this-payment-method-cannot-be-used' | translate }}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t@if(isBalanceInAccount(method.code) && !showMethodError){\n\t\t\t\t\t\t\t\t<div class=\"method-container text-dark\">\n\t\t\t\t\t\t\t\t\t<div class=\"row px-0 description-cont\" *ngIf=\"method.description\">\n\t\t\t\t\t\t\t\t\t\t<ng-container *ngFor=\"let line of method.description.split('\\r\\n'); let i = index\">\n\t\t\t\t\t\t\t\t\t\t\t<p [id]=\"'cc-desc-'+i\" [class]=\"'qt px-5 m-0 line-'+i\">{{ line }}</p>\n\t\t\t\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<hr *ngIf=\"method.instructions\">\n\t\t\t\t\t\t\t\t\t<div *ngIf=\"method.instructions\" class=\"row px-0 instructions-cont mb-1\">\n\t\t\t\t\t\t\t\t\t\t<h5 class=\"instructions-title\">{{ ('instructions' | translate) }}</h5>\n\t\t\t\t\t\t\t\t\t\t<ng-container *ngFor=\"let line of method.instructions.split('\\r\\n'); let i = index\">\n\t\t\t\t\t\t\t\t\t\t\t<p [class]=\"'px-5 m-0 instructions-text line-'+i \">{{ line }}</p>\n\t\t\t\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t<ng-container *ngIf=\"!balanceMethodRejected; else showCreditError\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"end-button\">\n\t\t\t\t\t\t\t\t\t\t\t<button class=\"btn comprar\" (click)=\"setLoading() && verifyValidate()\">\n\t\t\t\t\t\t\t\t\t\t\t\t{{ 'pay-with' | translate }} {{ method.name }}\n\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</ng-container>\n\n\t\t\t\t\t\t\t\t\t<ng-template #showCreditError>\n\t\t\t\t\t\t\t\t\t\t<div class=\"text-danger mt-2 px-3 fw-bold\">\n\t\t\t\t\t\t\t\t\t\t\t{{ 'not-enough-credits-to-complete' | translate }}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</ng-template>\n\n\t\t\t\t\t\t\t\t\t<ng-container *ngIf=\"(loading$ | async) as load\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"mt-2\" *ngIf=\"load\">\n\t\t\t\t\t\t\t\t\t\t\t<app-loading-inline-ec></app-loading-inline-ec>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t<app-loading-inline-ec></app-loading-inline-ec>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"row d-flex flex-row\">\n\t\t\t\t<div class=\"col-12 d-flex justify-content-between\">\n\t\t\t\t\t<button class=\"btn btn-primary text-white\" (click)=\"goBack()\">{{'back'|translate}}</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n}\n", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "component", type: LoadingInlineEcComponent, selector: "app-loading-inline-ec", inputs: ["type"] }, { kind: "component", type: MpRedirectEcComponent, selector: "app-mp-redirect-ec", inputs: ["method", "total_amount", "allData"], outputs: ["ready"] }, { kind: "component", type: BankTransferEcComponent, selector: "app-bank-transfer-ec", inputs: ["method", "verifyValidate", "setLoading"] }, { kind: "component", type: OfflineEcComponent, selector: "app-offline-ec", inputs: ["method", "verifyValidate", "setLoading"] }, { kind: "component", type: DecidirEcComponent, selector: "app-decidir-ec", inputs: ["paymentServiceInst", "method", "total_amount", "allData", "user_data"], outputs: ["ready"] }] });
11526
11707
  }
11527
11708
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PaymentEcComponent, decorators: [{
11528
11709
  type: Component,
@@ -11534,7 +11715,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
11534
11715
  BankTransferEcComponent,
11535
11716
  OfflineEcComponent,
11536
11717
  DecidirEcComponent
11537
- ], template: "@if(methods$ | async; as methods){\r\n<div class=\"container-fluid\">\r\n\r\n\t<div class=\"row\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<div class=\"card \">\r\n\t\t\t\t<div class=\"card-header text-dark text-center\">\r\n\t\t\t\t\t<h4>{{ 'select-method' | translate }}</h4>\r\n\t\t\t\t\t<div class=\"btn-toolbar justify-content-center\" role=\"toolbar\" aria-label=\"Envios toolbar\">\r\n\t\t\t\t\t\t<div class=\"\" role=\"group\" aria-label=\"Grupo botones envio\">\r\n\t\t\t\t\t\t\t<div class=\"d-flex align-content-start justify-content-center flex-wrap\">\r\n\t\t\t\t\t\t\t\t@for (method of methods; track $index; let x = $index) {\r\n\t\t\t\t\t\t\t\t<button type=\"button\" class=\"btn btn-outline-secondary mx-1 mb-1\"(click)=\"setMethod(method) ; setActive($event)\">\r\n\t\t\t\t\t\t\t\t\t{{ method.name | translate }}\r\n\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"card-body text-center\">\r\n\t\t\t\t\t@if(methodData$ | async; as method){\r\n\t\t\t\t\t<div class=\"row justify-content-center\">\r\n\t\t\t\t\t\t@if(!loadingInternal){\r\n\t\t\t\t\t\t\t@if(isMP(method.code)){\r\n\t\t\t\t\t\t\t\t<div class=\"method-container text-dark\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t\t\t<p id=\"faqs\" class=\"qt px-5 \">{{ method.description }}</p>\r\n\t\t\t\t\t\t\t\t\t\t\t<p class=\"px-5\">{{ method.instructions }}</p>\r\n\t\t\t\t\t\t\t\t\t\t<app-mp-redirect-ec (ready)=\"verifyValidate($event)\" \t[method]=\"method\"></app-mp-redirect-ec>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t<!-- <div class=\"method-container text-dark text-left\" *ngIf=\"isMPTarjetaDeCredito(method.code)\">\r\n\t\t\t\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t\t<p id=\"faqs\" class=\"qt px-5 \">{{ method.description }}</p>\r\n\t\t\t\t\t\t\t\t\t\t<p class=\"px-5\">{{ method.instructions }}</p>\r\n\t\t\t\t\t\t\t\t\t\t<div app-mp-credit-ec (ready)=\"verifyValidate()\" [public_key]=\"getPK(method)\"\r\n\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\" [total_amount]=\"total_amount\">\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isRedirectRedsys(method.code)\">\r\n\t\t\t\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t\t\t\t\t*ngIf=\"!method.code.includes('bizum') && !method.code.includes('_out_')\">\r\n\t\t\t\t\t\t\t\t\t\t\t<app-redsys-redirect-ec (ready)=\"verifyValidate($event)\" [method]=\"method\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\">\r\n\t\t\t\t\t\t\t\t\t\t\t</app-redsys-redirect-ec>\r\n\t\t\t\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t\t\t\t\t*ngIf=\"method.code.includes('bizum') || method.code.includes('_out_')\">\r\n\t\t\t\t\t\t\t\t\t\t\t<app-redsys-redirect-out-ec (ready)=\"verifyValidate($event)\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[method]=\"method\" [user_data]=\"allData()\">\r\n\t\t\t\t\t\t\t\t\t\t\t</app-redsys-redirect-out-ec>\r\n\t\t\t\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isRedirectCecaBank(method.code)\">\r\n\t\t\t\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t\t<app-ceca-redirect-ec (ready)=\"verifyValidate($event)\" [method]=\"method\"\r\n\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\">\r\n\t\t\t\t\t\t\t\t\t\t</app-ceca-redirect-ec>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isPeyPalExpress(method.code)\">\r\n\t\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"row justify-content-center\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t\t\t<app-paypal-express-ec (ready)=\"verifyValidate($event)\" [method]=\"method\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\" [total_amount]=\"total_amount\">\r\n\t\t\t\t\t\t\t\t\t\t\t</app-paypal-express-ec>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isMobbex(method.code)\">\r\n\t\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"row justify-content-center\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t\t\t<app-mobbex-ec (ready)=\"verifyValidate($event)\" [method]=\"method\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\" [paymentServiceInst]=\"paymentService\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[total_amount]=\"total_amount\">\r\n\t\t\t\t\t\t\t\t\t\t\t</app-mobbex-ec>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isBancard(method.code)\">\r\n\t\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"row justify-content-center\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t\t\t<app-bancard-ec (ready)=\"verifyValidate($event)\" [method]=\"method\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\" [paymentServiceInst]=\"paymentService\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[total_amount]=\"total_amount\">\r\n\t\t\t\t\t\t\t\t\t\t\t</app-bancard-ec>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>-->\r\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isDecidir(method.code)\">\r\n\t\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"row justify-content-center\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t\t\t<app-decidir-ec (ready)=\"verifyValidate($event)\" [method]=\"method\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\" [paymentServiceInst]=\"_paymentService\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[total_amount]=\"total_amount\">\r\n\t\t\t\t\t\t\t\t\t\t\t</app-decidir-ec>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div> \r\n\t\t\t\t\t\t\t@if(isMethodOffline(method.code)){\r\n\t\t\t\t\t\t\t<div class=\"method-container text-dark\">\r\n\t\t\t\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t\t<app-offline-ec \r\n\t\t\t\t\t\t\t\t\t\t[method]=\"method\" \r\n\t\t\t\t\t\t\t\t\t\t[verifyValidate]= \"verifyValidate\"\r\n\t\t\t\t\t\t\t\t\t\t[setLoading] = \"setLoading\" />\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<!--\r\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isCulqi(method.code)\">\r\n\t\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"row justify-content-center\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t\t\t<app-culqi-ec [apiKey]=\"getPKCulqi(method)\" [method]=\"method\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[amount]=\"total_amount\" [customStyle]=\"true\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t(ready)=\"verifyValidate()\"></app-culqi-ec>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isCatastro(method.code)\">\r\n\t\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"row justify-content-center\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t\t\t<app-bancard-catastro-ec (ready)=\"verifyValidate($event)\" [method]=\"method\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\" [paymentServiceInst]=\"paymentService\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[total_amount]=\"total_amount\"></app-bancard-catastro-ec>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isBamboo(method.code)\">\r\n\t\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"row justify-content-center\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t\t\t<app-bamboo-ec (ready)=\"verifyValidate($event)\" [method]=\"method\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\" [paymentServiceInst]=\"paymentService\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[total_amount]=\"total_amount\"></app-bamboo-ec>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div> -->\r\n\t\t\t\t\t\t\t@if(isBankTransfer(method.code)){\r\n\t\t\t\t\t\t\t\t<div class=\"method-container text-dark\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t\t\t<app-bank-transfer-ec \r\n\t\t\t\t\t\t\t\t\t\t\t\t[method]=\"method\" \r\n\t\t\t\t\t\t\t\t\t\t\t\t[verifyValidate]= \"verifyValidate\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[setLoading] = \"setLoading\" />\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t\t<app-loading-inline-ec></app-loading-inline-ec>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"row d-flex flex-row\">\r\n\t\t\t\t<div class=\"col-12 d-flex justify-content-between\">\r\n\t\t\t\t\t<button class=\"btn btn-primary text-white\" (click)=\"goBack()\">{{'back'|translate}}</button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n}" }]
11718
+ ], template: "@if(methods$ | async; as methods){\n<div class=\"container-fluid\">\n\n\t<div class=\"row\">\n\t\t<div class=\"col-12\">\n\t\t\t<div class=\"card \">\n\t\t\t\t<div class=\"card-header text-dark text-center\">\n\t\t\t\t\t<h4>{{ 'select-method' | translate }}</h4>\n\t\t\t\t\t<div class=\"btn-toolbar justify-content-center\" role=\"toolbar\" aria-label=\"Envios toolbar\">\n\t\t\t\t\t\t<div class=\"\" role=\"group\" aria-label=\"Grupo botones envio\">\n\t\t\t\t\t\t\t<div class=\"d-flex align-content-start justify-content-center flex-wrap\">\n\t\t\t\t\t\t\t\t@for (method of methods; track $index; let x = $index) {\n\t\t\t\t\t\t\t\t<button type=\"button\" class=\"btn btn-outline-secondary mx-1 mb-1\" (click)=\"setMethod(method) ; setActive($event)\">\n\t\t\t\t\t\t\t\t\t{{ method.name | translate }}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"card-body text-center\">\n\t\t\t\t\t@if(methodData$ | async; as method){\n\t\t\t\t\t<div class=\"row justify-content-center\">\n\t\t\t\t\t\t@if(!loadingInternal){\n\t\t\t\t\t\t\t@if(method && !showMethodError){\n\t\t\t\t\t\t\t\t@if(isMP(method.code)){\n\t\t\t\t\t\t\t\t\t<div class=\"method-container text-dark\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t\t\t\t<p id=\"faqs\" class=\"qt px-5 \">{{ method.description }}</p>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"px-5\">{{ method.instructions }}</p>\n\t\t\t\t\t\t\t\t\t\t\t<app-mp-redirect-ec (ready)=\"verifyValidate($event)\" \t[method]=\"method\"></app-mp-redirect-ec>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isDecidir(method.code)\">\n\t\t\t\t\t\t\t\t\t<div class=\"container\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"row justify-content-center\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t\t\t\t<app-decidir-ec (ready)=\"verifyValidate($event)\" [method]=\"method\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\" [paymentServiceInst]=\"_paymentService\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t[total_amount]=\"total_amount\">\n\t\t\t\t\t\t\t\t\t\t\t\t</app-decidir-ec>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div> \n\t\t\t\t\t\t\t\t@if(isMethodOffline(method.code)){\n\t\t\t\t\t\t\t\t<div class=\"method-container text-dark\">\n\t\t\t\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t\t\t<app-offline-ec \n\t\t\t\t\t\t\t\t\t\t\t[method]=\"method\" \n\t\t\t\t\t\t\t\t\t\t\t[verifyValidate]= \"verifyValidate\"\n\t\t\t\t\t\t\t\t\t\t\t[setLoading] = \"setLoading\" />\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t@if(isBankTransfer(method.code)){\n\t\t\t\t\t\t\t\t\t<div class=\"method-container text-dark\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t\t\t\t<app-bank-transfer-ec \n\t\t\t\t\t\t\t\t\t\t\t\t\t[method]=\"method\" \n\t\t\t\t\t\t\t\t\t\t\t\t\t[verifyValidate]= \"verifyValidate\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t[setLoading] = \"setLoading\" />\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t@if(showMethodError){\n\t\t\t\t\t\t\t\t<div class=\"text-danger mt-2 px-3 fw-bold\">\n\t\t\t\t\t\t\t\t\t{{ 'this-payment-method-cannot-be-used' | translate }}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t@if(isBalanceInAccount(method.code) && !showMethodError){\n\t\t\t\t\t\t\t\t<div class=\"method-container text-dark\">\n\t\t\t\t\t\t\t\t\t<div class=\"row px-0 description-cont\" *ngIf=\"method.description\">\n\t\t\t\t\t\t\t\t\t\t<ng-container *ngFor=\"let line of method.description.split('\\r\\n'); let i = index\">\n\t\t\t\t\t\t\t\t\t\t\t<p [id]=\"'cc-desc-'+i\" [class]=\"'qt px-5 m-0 line-'+i\">{{ line }}</p>\n\t\t\t\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<hr *ngIf=\"method.instructions\">\n\t\t\t\t\t\t\t\t\t<div *ngIf=\"method.instructions\" class=\"row px-0 instructions-cont mb-1\">\n\t\t\t\t\t\t\t\t\t\t<h5 class=\"instructions-title\">{{ ('instructions' | translate) }}</h5>\n\t\t\t\t\t\t\t\t\t\t<ng-container *ngFor=\"let line of method.instructions.split('\\r\\n'); let i = index\">\n\t\t\t\t\t\t\t\t\t\t\t<p [class]=\"'px-5 m-0 instructions-text line-'+i \">{{ line }}</p>\n\t\t\t\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t<ng-container *ngIf=\"!balanceMethodRejected; else showCreditError\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"end-button\">\n\t\t\t\t\t\t\t\t\t\t\t<button class=\"btn comprar\" (click)=\"setLoading() && verifyValidate()\">\n\t\t\t\t\t\t\t\t\t\t\t\t{{ 'pay-with' | translate }} {{ method.name }}\n\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</ng-container>\n\n\t\t\t\t\t\t\t\t\t<ng-template #showCreditError>\n\t\t\t\t\t\t\t\t\t\t<div class=\"text-danger mt-2 px-3 fw-bold\">\n\t\t\t\t\t\t\t\t\t\t\t{{ 'not-enough-credits-to-complete' | translate }}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</ng-template>\n\n\t\t\t\t\t\t\t\t\t<ng-container *ngIf=\"(loading$ | async) as load\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"mt-2\" *ngIf=\"load\">\n\t\t\t\t\t\t\t\t\t\t\t<app-loading-inline-ec></app-loading-inline-ec>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t<app-loading-inline-ec></app-loading-inline-ec>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"row d-flex flex-row\">\n\t\t\t\t<div class=\"col-12 d-flex justify-content-between\">\n\t\t\t\t\t<button class=\"btn btn-primary text-white\" (click)=\"goBack()\">{{'back'|translate}}</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n}\n" }]
11538
11719
  }], ctorParameters: () => [] });
11539
11720
 
11540
11721
  class StepContainerEcComponent {
@@ -11550,7 +11731,7 @@ class StepContainerEcComponent {
11550
11731
  this._checkoutService.back();
11551
11732
  }
11552
11733
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StepContainerEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11553
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: StepContainerEcComponent, isStandalone: true, selector: "app-step-container-ec", inputs: { steps: "steps" }, ngImport: i0, template: "<div>\r\n @for(step of steps; track $index; let x=$index){\r\n <div [id]=\"'test-l-'+step.priority\" class=\"content\">\r\n <!-- <app-step-ec [step_id]=\"step.step\" [id_step]=\"x+1\" [previousStep]=\"steps[x-1] ? steps[x-1].name : step.name\" [nextStep]=\"steps[x+1] ? next : endCheckout\" [goBack]=\"goBack\" [lastStep]=\"steps[x+1] ? false : true\">\r\n </app-step-ec> -->\r\n @switch (step.name) {\r\n @case ('address') {\r\n @if(step.state == 'ready') {\r\n <app-dataform-ec />\r\n }\r\n }\r\n @case ('payment') {\r\n @if(step.state == 'ready') {\r\n <app-payment-ec />\r\n }\r\n }\r\n @case ('shipment') {\r\n @if(step.state == 'ready') {\r\n <app-shipment-ec />\r\n }\r\n }\r\n }\r\n </div>\r\n }\r\n <!-- <div class=\"row d-flex flex-row\">\r\n <div class=\"col-6 d-flex justify-content-start\">\r\n <button type=\"button\" class=\"btn btn-primary text-white\" (click)=\"back()\">Anterior</button>\r\n </div>\r\n <div class=\"col-6 d-flex justify-content-end\">\r\n <button type=\"button\" class=\"btn btn-primary text-white\" (click)=\"next()\">Siguiente</button>\r\n </div>\r\n </div> -->\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: DataformEcComponent, selector: "app-dataform-ec" }, { kind: "component", type: ShipmentEcComponent, selector: "app-shipment-ec" }, { kind: "component", type: PaymentEcComponent, selector: "app-payment-ec" }] });
11734
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: StepContainerEcComponent, isStandalone: true, selector: "app-step-container-ec", inputs: { steps: "steps" }, ngImport: i0, template: "<div>\n @for(step of steps; track $index; let x=$index){\n <div [id]=\"'test-l-'+step.priority\" class=\"content\">\n <!-- <app-step-ec [step_id]=\"step.step\" [id_step]=\"x+1\" [previousStep]=\"steps[x-1] ? steps[x-1].name : step.name\" [nextStep]=\"steps[x+1] ? next : endCheckout\" [goBack]=\"goBack\" [lastStep]=\"steps[x+1] ? false : true\">\n </app-step-ec> -->\n @switch (step.name) {\n @case ('address') {\n @if(step.state == 'ready') {\n <app-dataform-ec />\n }\n }\n @case ('payment') {\n @if(step.state == 'ready') {\n <app-payment-ec />\n }\n }\n @case ('shipment') {\n @if(step.state == 'ready') {\n <app-shipment-ec />\n }\n }\n }\n </div>\n }\n <!-- <div class=\"row d-flex flex-row\">\n <div class=\"col-6 d-flex justify-content-start\">\n <button type=\"button\" class=\"btn btn-primary text-white\" (click)=\"back()\">Anterior</button>\n </div>\n <div class=\"col-6 d-flex justify-content-end\">\n <button type=\"button\" class=\"btn btn-primary text-white\" (click)=\"next()\">Siguiente</button>\n </div>\n </div> -->\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: DataformEcComponent, selector: "app-dataform-ec" }, { kind: "component", type: ShipmentEcComponent, selector: "app-shipment-ec" }, { kind: "component", type: PaymentEcComponent, selector: "app-payment-ec" }] });
11554
11735
  }
11555
11736
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StepContainerEcComponent, decorators: [{
11556
11737
  type: Component,
@@ -11558,7 +11739,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
11558
11739
  DataformEcComponent,
11559
11740
  ShipmentEcComponent,
11560
11741
  PaymentEcComponent
11561
- ], template: "<div>\r\n @for(step of steps; track $index; let x=$index){\r\n <div [id]=\"'test-l-'+step.priority\" class=\"content\">\r\n <!-- <app-step-ec [step_id]=\"step.step\" [id_step]=\"x+1\" [previousStep]=\"steps[x-1] ? steps[x-1].name : step.name\" [nextStep]=\"steps[x+1] ? next : endCheckout\" [goBack]=\"goBack\" [lastStep]=\"steps[x+1] ? false : true\">\r\n </app-step-ec> -->\r\n @switch (step.name) {\r\n @case ('address') {\r\n @if(step.state == 'ready') {\r\n <app-dataform-ec />\r\n }\r\n }\r\n @case ('payment') {\r\n @if(step.state == 'ready') {\r\n <app-payment-ec />\r\n }\r\n }\r\n @case ('shipment') {\r\n @if(step.state == 'ready') {\r\n <app-shipment-ec />\r\n }\r\n }\r\n }\r\n </div>\r\n }\r\n <!-- <div class=\"row d-flex flex-row\">\r\n <div class=\"col-6 d-flex justify-content-start\">\r\n <button type=\"button\" class=\"btn btn-primary text-white\" (click)=\"back()\">Anterior</button>\r\n </div>\r\n <div class=\"col-6 d-flex justify-content-end\">\r\n <button type=\"button\" class=\"btn btn-primary text-white\" (click)=\"next()\">Siguiente</button>\r\n </div>\r\n </div> -->\r\n</div>\r\n" }]
11742
+ ], template: "<div>\n @for(step of steps; track $index; let x=$index){\n <div [id]=\"'test-l-'+step.priority\" class=\"content\">\n <!-- <app-step-ec [step_id]=\"step.step\" [id_step]=\"x+1\" [previousStep]=\"steps[x-1] ? steps[x-1].name : step.name\" [nextStep]=\"steps[x+1] ? next : endCheckout\" [goBack]=\"goBack\" [lastStep]=\"steps[x+1] ? false : true\">\n </app-step-ec> -->\n @switch (step.name) {\n @case ('address') {\n @if(step.state == 'ready') {\n <app-dataform-ec />\n }\n }\n @case ('payment') {\n @if(step.state == 'ready') {\n <app-payment-ec />\n }\n }\n @case ('shipment') {\n @if(step.state == 'ready') {\n <app-shipment-ec />\n }\n }\n }\n </div>\n }\n <!-- <div class=\"row d-flex flex-row\">\n <div class=\"col-6 d-flex justify-content-start\">\n <button type=\"button\" class=\"btn btn-primary text-white\" (click)=\"back()\">Anterior</button>\n </div>\n <div class=\"col-6 d-flex justify-content-end\">\n <button type=\"button\" class=\"btn btn-primary text-white\" (click)=\"next()\">Siguiente</button>\n </div>\n </div> -->\n</div>\n" }]
11562
11743
  }], ctorParameters: () => [], propDecorators: { steps: [{
11563
11744
  type: Input,
11564
11745
  args: [{
@@ -11568,6 +11749,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
11568
11749
 
11569
11750
  class DetailCheckoutBlockEcComponent {
11570
11751
  _checkoutService = inject(CheckoutService);
11752
+ priceVisibility = inject(PriceVisibilityService);
11571
11753
  data$ = this._checkoutService.associatedData$;
11572
11754
  data = null;
11573
11755
  getIcon = (data_type) => {
@@ -11597,16 +11779,17 @@ class DetailCheckoutBlockEcComponent {
11597
11779
  }
11598
11780
  }
11599
11781
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DetailCheckoutBlockEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11600
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DetailCheckoutBlockEcComponent, isStandalone: true, selector: "app-detail-checkout-block-ec", ngImport: i0, template: "@if(data$ | async; as datos){\r\n <div id=\"appDetailCheckoutBlockEc\" class=\"d-flex flex-row w-100 justify-content-center flex-wrap\">\r\n @for(item of data; track $index; let i = $index){\r\n <div class=\"d-flex flex-column justify-content-center mx-sm-3 mx-2 text-center mb-4 resumen\">\r\n <i ngClass=\"mb-2 colorIconoCheckout\" [class]=\"getIcon(item.type)\"></i>\r\n <strong class=\"text-center w-100 font-brandon font-md mb-1\">{{ item.type | translate }}</strong>\r\n <span class=\"text-center w-100 font-brandon font-md text-gray\">{{ (item.amount != 0 ) ? (item.amount |\r\n ecCurrencySymbol) : ('free' | translate) }}</span>\r\n </div>\r\n }\r\n </div>\r\n}", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: EcCurrencySymbolPipe, name: "ecCurrencySymbol" }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
11782
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DetailCheckoutBlockEcComponent, isStandalone: true, selector: "app-detail-checkout-block-ec", ngImport: i0, template: "@if (priceVisibility.canShowPrices()) {\n@if(data$ | async; as datos){\n <div id=\"appDetailCheckoutBlockEc\" class=\"d-flex flex-row w-100 justify-content-center flex-wrap\">\n @for(item of data; track $index; let i = $index){\n <div class=\"d-flex flex-column justify-content-center mx-sm-3 mx-2 text-center mb-4 resumen\">\n <i ngClass=\"mb-2 colorIconoCheckout\" [class]=\"getIcon(item.type)\"></i>\n <strong class=\"text-center w-100 font-brandon font-md mb-1\">{{ item.type | translate }}</strong>\n <span class=\"text-center w-100 font-brandon font-md text-gray\">{{ (item.amount != 0 ) ? (item.amount |\n ecCurrencySymbol) : ('free' | translate) }}</span>\n </div>\n }\n </div>\n}\n}", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: EcCurrencySymbolPipe, name: "ecCurrencySymbol" }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
11601
11783
  }
11602
11784
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DetailCheckoutBlockEcComponent, decorators: [{
11603
11785
  type: Component,
11604
- args: [{ selector: 'app-detail-checkout-block-ec', standalone: true, imports: [TranslateModule, EcCurrencySymbolPipe, AsyncPipe], template: "@if(data$ | async; as datos){\r\n <div id=\"appDetailCheckoutBlockEc\" class=\"d-flex flex-row w-100 justify-content-center flex-wrap\">\r\n @for(item of data; track $index; let i = $index){\r\n <div class=\"d-flex flex-column justify-content-center mx-sm-3 mx-2 text-center mb-4 resumen\">\r\n <i ngClass=\"mb-2 colorIconoCheckout\" [class]=\"getIcon(item.type)\"></i>\r\n <strong class=\"text-center w-100 font-brandon font-md mb-1\">{{ item.type | translate }}</strong>\r\n <span class=\"text-center w-100 font-brandon font-md text-gray\">{{ (item.amount != 0 ) ? (item.amount |\r\n ecCurrencySymbol) : ('free' | translate) }}</span>\r\n </div>\r\n }\r\n </div>\r\n}" }]
11786
+ args: [{ selector: 'app-detail-checkout-block-ec', standalone: true, imports: [TranslateModule, EcCurrencySymbolPipe, AsyncPipe], template: "@if (priceVisibility.canShowPrices()) {\n@if(data$ | async; as datos){\n <div id=\"appDetailCheckoutBlockEc\" class=\"d-flex flex-row w-100 justify-content-center flex-wrap\">\n @for(item of data; track $index; let i = $index){\n <div class=\"d-flex flex-column justify-content-center mx-sm-3 mx-2 text-center mb-4 resumen\">\n <i ngClass=\"mb-2 colorIconoCheckout\" [class]=\"getIcon(item.type)\"></i>\n <strong class=\"text-center w-100 font-brandon font-md mb-1\">{{ item.type | translate }}</strong>\n <span class=\"text-center w-100 font-brandon font-md text-gray\">{{ (item.amount != 0 ) ? (item.amount |\n ecCurrencySymbol) : ('free' | translate) }}</span>\n </div>\n }\n </div>\n}\n}" }]
11605
11787
  }], ctorParameters: () => [] });
11606
11788
 
11607
11789
  class CheckoutEcComponent {
11608
11790
  _channelService = inject(ChannelService);
11609
11791
  _checkoutService = inject(CheckoutService);
11792
+ _router = inject(Router);
11610
11793
  ADDRESS = 'address';
11611
11794
  SHIPMENT = 'shipment';
11612
11795
  PAYMENT = 'payment';
@@ -11617,11 +11800,16 @@ class CheckoutEcComponent {
11617
11800
  //public steps: Step[] = [];
11618
11801
  subCan;
11619
11802
  canCheckout = false;
11803
+ hidePrices = false;
11620
11804
  constructor() {
11621
11805
  //console.log("constructo.....");
11622
11806
  this._channelService.channel$.subscribe((res) => {
11623
11807
  //console.log("construct")
11624
11808
  this.channel = res;
11809
+ this.hidePrices = !!res?.hidePrices;
11810
+ if (this.hidePrices) {
11811
+ this._router.navigate(['/']);
11812
+ }
11625
11813
  //this.initializeSteps();
11626
11814
  });
11627
11815
  }
@@ -11648,11 +11836,11 @@ class CheckoutEcComponent {
11648
11836
  this._checkoutService.setSteps(steps);
11649
11837
  }
11650
11838
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckoutEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11651
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CheckoutEcComponent, isStandalone: true, selector: "lib-checkout-ec", ngImport: i0, template: "<main class=\"py-4\" id=\"appCheckoutEc\">\r\n @if(canCheckout){\r\n <app-detail-checkout-block-ec></app-detail-checkout-block-ec>\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-12\">\r\n @if(state$ | async; as steps){ \r\n <div id=\"stepper\" class=\"bs-stepper\">\r\n <div class=\"mb-3 row d-flex justify-content-center position-relative stepperContainer\">\r\n @for(step of steps; track $index; let x=$index){\r\n <div [class]=\"'d-flex flex-column justify-content-center align-items-center px-0 col-2'\">\r\n <div [class]=\"'step d-inline-flex align-items-center'\" [attr.data-target]=\"'#test-l-'+step.step\">\r\n <span\r\n [class]=\"'px-2 rounded-circle text-white font-bold bs-stepper-number ' + (step.state == 'ready' ? 'bg-primary' : 'bg-secondary') \">{{x+1}}</span>\r\n <span class=\"bs-stepper-label\">{{ step.label |translate}}</span>\r\n </div>\r\n \r\n </div>\r\n @if(x < steps.length-1){\r\n <div class=\"col-3 d-flex align-items-center\"><hr [class]=\"'w-100 line ' + (step.state == 'doing' ? 'line-active' : 'line-default')\" ></div>\r\n }\r\n }\r\n </div>\r\n <!-- CONTENT -->\r\n <div class=\"bs-stepper-content margin-bottom-i\">\r\n <app-step-container-ec [steps]=\"steps\" />\r\n </div>\r\n </div>\r\n } \r\n </div>\r\n <!--@if(loading$ | async; as load){\r\n <div class=\"col-md-12 col-12\">\r\n <div *ngIf=\"load\" class=\"d-flex flex-column jusitfy-content-center align-items-center mt-2\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n <h5>{{ 'processing-payment' | translate }}</h5> \r\n </div>\r\n </div>\r\n }-->\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"wrap\">\r\n <!-- <div *ngIf=\"(loading$ | async) as load\">\r\n <app-loading-full-ec *ngIf=\"canCheckout\"></app-loading-full-ec>\r\n </div>\r\n <section id=\"cart\" *ngIf=\"!canCheckout\">\r\n <section id=\"cart bg-white h-50\">\r\n <div class=\"d-flex flex-column justify-content-center align-items-center text-center\">\r\n <h4>{{ 'empty-cart' | translate }}</h4>\r\n <h5>{{ 'empty-cart-detail' | translate }}</h5>\r\n </div>\r\n </section>\r\n </section> -->\r\n </div>\r\n }\r\n</main>\r\n", styles: [".bs-stepper-label{font-size:10px;padding-left:.5rem;font-weight:700}@media (max-width: 767.98px){.bs-stepper-label{font-size:10px;line-height:1.1;white-space:normal;word-wrap:break-word;max-width:65px;text-align:center;padding-left:0;padding-top:.2rem}}.bs-stepper-number{font-size:10px;font-weight:700;padding-top:.2rem;padding-bottom:.2rem}@media (max-width: 767.98px){.bs-stepper-number{font-size:9px;padding:.2rem .35rem;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center}}@media (max-width: 767.98px){.step{flex-direction:column!important;align-items:center!important;text-align:center;width:100%}}@media (max-width: 767.98px){.stepperContainer{margin-bottom:1.5rem!important}.stepperContainer .col-2{display:flex;justify-content:center;align-items:flex-start;min-height:50px}.stepperContainer .col-3{display:flex;align-items:center}.stepperContainer .col-3 hr{margin-top:-10px}}.line{height:1px;border:none;background-color:var(--bs-secondary);position:relative;overflow:hidden;margin:0;opacity:.75!important}.line:before{content:\"\";position:absolute;top:0;left:0;width:0;height:100%;background-color:var(--bs-primary);transition:width .5s}.line-active:before{width:100%;left:0}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "component", type: StepContainerEcComponent, selector: "app-step-container-ec", inputs: ["steps"] }, { kind: "component", type: DetailCheckoutBlockEcComponent, selector: "app-detail-checkout-block-ec" }] });
11839
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CheckoutEcComponent, isStandalone: true, selector: "lib-checkout-ec", ngImport: i0, template: "<main class=\"py-4\" id=\"appCheckoutEc\">\n @if(canCheckout){\n <app-detail-checkout-block-ec></app-detail-checkout-block-ec>\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-md-12 col-12\">\n @if(state$ | async; as steps){ \n <div id=\"stepper\" class=\"bs-stepper\">\n <div class=\"mb-3 row d-flex justify-content-center position-relative stepperContainer\">\n @for(step of steps; track $index; let x=$index){\n <div [class]=\"'d-flex flex-column justify-content-center align-items-center px-0 col-2'\">\n <div [class]=\"'step d-inline-flex align-items-center'\" [attr.data-target]=\"'#test-l-'+step.step\">\n <span\n [class]=\"'px-2 rounded-circle text-white font-bold bs-stepper-number ' + (step.state == 'ready' ? 'bg-primary' : 'bg-secondary') \">{{x+1}}</span>\n <span class=\"bs-stepper-label\">{{ step.label |translate}}</span>\n </div>\n \n </div>\n @if(x < steps.length-1){\n <div class=\"col-3 d-flex align-items-center\"><hr [class]=\"'w-100 line ' + (step.state == 'doing' ? 'line-active' : 'line-default')\" ></div>\n }\n }\n </div>\n <!-- CONTENT -->\n <div class=\"bs-stepper-content margin-bottom-i\">\n <app-step-container-ec [steps]=\"steps\" />\n </div>\n </div>\n } \n </div>\n <!--@if(loading$ | async; as load){\n <div class=\"col-md-12 col-12\">\n <div *ngIf=\"load\" class=\"d-flex flex-column jusitfy-content-center align-items-center mt-2\">\n <app-loading-full-ec></app-loading-full-ec>\n <h5>{{ 'processing-payment' | translate }}</h5> \n </div>\n </div>\n }-->\n </div>\n </div>\n } @else {\n <div class=\"wrap\">\n <!-- <div *ngIf=\"(loading$ | async) as load\">\n <app-loading-full-ec *ngIf=\"canCheckout\"></app-loading-full-ec>\n </div>\n <section id=\"cart\" *ngIf=\"!canCheckout\">\n <section id=\"cart bg-white h-50\">\n <div class=\"d-flex flex-column justify-content-center align-items-center text-center\">\n <h4>{{ 'empty-cart' | translate }}</h4>\n <h5>{{ 'empty-cart-detail' | translate }}</h5>\n </div>\n </section>\n </section> -->\n </div>\n }\n</main>\n", styles: [".bs-stepper-label{font-size:10px;padding-left:.5rem;font-weight:700}@media (max-width: 767.98px){.bs-stepper-label{font-size:10px;line-height:1.1;white-space:normal;word-wrap:break-word;max-width:65px;text-align:center;padding-left:0;padding-top:.2rem}}.bs-stepper-number{font-size:10px;font-weight:700;padding-top:.2rem;padding-bottom:.2rem}@media (max-width: 767.98px){.bs-stepper-number{font-size:9px;padding:.2rem .35rem;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center}}@media (max-width: 767.98px){.step{flex-direction:column!important;align-items:center!important;text-align:center;width:100%}}@media (max-width: 767.98px){.stepperContainer{margin-bottom:1.5rem!important}.stepperContainer .col-2{display:flex;justify-content:center;align-items:flex-start;min-height:50px}.stepperContainer .col-3{display:flex;align-items:center}.stepperContainer .col-3 hr{margin-top:-10px}}.line{height:1px;border:none;background-color:var(--bs-secondary);position:relative;overflow:hidden;margin:0;opacity:.75!important}.line:before{content:\"\";position:absolute;top:0;left:0;width:0;height:100%;background-color:var(--bs-primary);transition:width .5s}.line-active:before{width:100%;left:0}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "component", type: StepContainerEcComponent, selector: "app-step-container-ec", inputs: ["steps"] }, { kind: "component", type: DetailCheckoutBlockEcComponent, selector: "app-detail-checkout-block-ec" }] });
11652
11840
  }
11653
11841
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckoutEcComponent, decorators: [{
11654
11842
  type: Component,
11655
- args: [{ selector: 'lib-checkout-ec', standalone: true, imports: [AsyncPipe, TranslateModule, StepContainerEcComponent, DetailCheckoutBlockEcComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<main class=\"py-4\" id=\"appCheckoutEc\">\r\n @if(canCheckout){\r\n <app-detail-checkout-block-ec></app-detail-checkout-block-ec>\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-12\">\r\n @if(state$ | async; as steps){ \r\n <div id=\"stepper\" class=\"bs-stepper\">\r\n <div class=\"mb-3 row d-flex justify-content-center position-relative stepperContainer\">\r\n @for(step of steps; track $index; let x=$index){\r\n <div [class]=\"'d-flex flex-column justify-content-center align-items-center px-0 col-2'\">\r\n <div [class]=\"'step d-inline-flex align-items-center'\" [attr.data-target]=\"'#test-l-'+step.step\">\r\n <span\r\n [class]=\"'px-2 rounded-circle text-white font-bold bs-stepper-number ' + (step.state == 'ready' ? 'bg-primary' : 'bg-secondary') \">{{x+1}}</span>\r\n <span class=\"bs-stepper-label\">{{ step.label |translate}}</span>\r\n </div>\r\n \r\n </div>\r\n @if(x < steps.length-1){\r\n <div class=\"col-3 d-flex align-items-center\"><hr [class]=\"'w-100 line ' + (step.state == 'doing' ? 'line-active' : 'line-default')\" ></div>\r\n }\r\n }\r\n </div>\r\n <!-- CONTENT -->\r\n <div class=\"bs-stepper-content margin-bottom-i\">\r\n <app-step-container-ec [steps]=\"steps\" />\r\n </div>\r\n </div>\r\n } \r\n </div>\r\n <!--@if(loading$ | async; as load){\r\n <div class=\"col-md-12 col-12\">\r\n <div *ngIf=\"load\" class=\"d-flex flex-column jusitfy-content-center align-items-center mt-2\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n <h5>{{ 'processing-payment' | translate }}</h5> \r\n </div>\r\n </div>\r\n }-->\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"wrap\">\r\n <!-- <div *ngIf=\"(loading$ | async) as load\">\r\n <app-loading-full-ec *ngIf=\"canCheckout\"></app-loading-full-ec>\r\n </div>\r\n <section id=\"cart\" *ngIf=\"!canCheckout\">\r\n <section id=\"cart bg-white h-50\">\r\n <div class=\"d-flex flex-column justify-content-center align-items-center text-center\">\r\n <h4>{{ 'empty-cart' | translate }}</h4>\r\n <h5>{{ 'empty-cart-detail' | translate }}</h5>\r\n </div>\r\n </section>\r\n </section> -->\r\n </div>\r\n }\r\n</main>\r\n", styles: [".bs-stepper-label{font-size:10px;padding-left:.5rem;font-weight:700}@media (max-width: 767.98px){.bs-stepper-label{font-size:10px;line-height:1.1;white-space:normal;word-wrap:break-word;max-width:65px;text-align:center;padding-left:0;padding-top:.2rem}}.bs-stepper-number{font-size:10px;font-weight:700;padding-top:.2rem;padding-bottom:.2rem}@media (max-width: 767.98px){.bs-stepper-number{font-size:9px;padding:.2rem .35rem;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center}}@media (max-width: 767.98px){.step{flex-direction:column!important;align-items:center!important;text-align:center;width:100%}}@media (max-width: 767.98px){.stepperContainer{margin-bottom:1.5rem!important}.stepperContainer .col-2{display:flex;justify-content:center;align-items:flex-start;min-height:50px}.stepperContainer .col-3{display:flex;align-items:center}.stepperContainer .col-3 hr{margin-top:-10px}}.line{height:1px;border:none;background-color:var(--bs-secondary);position:relative;overflow:hidden;margin:0;opacity:.75!important}.line:before{content:\"\";position:absolute;top:0;left:0;width:0;height:100%;background-color:var(--bs-primary);transition:width .5s}.line-active:before{width:100%;left:0}\n"] }]
11843
+ args: [{ selector: 'lib-checkout-ec', standalone: true, imports: [AsyncPipe, TranslateModule, StepContainerEcComponent, DetailCheckoutBlockEcComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<main class=\"py-4\" id=\"appCheckoutEc\">\n @if(canCheckout){\n <app-detail-checkout-block-ec></app-detail-checkout-block-ec>\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-md-12 col-12\">\n @if(state$ | async; as steps){ \n <div id=\"stepper\" class=\"bs-stepper\">\n <div class=\"mb-3 row d-flex justify-content-center position-relative stepperContainer\">\n @for(step of steps; track $index; let x=$index){\n <div [class]=\"'d-flex flex-column justify-content-center align-items-center px-0 col-2'\">\n <div [class]=\"'step d-inline-flex align-items-center'\" [attr.data-target]=\"'#test-l-'+step.step\">\n <span\n [class]=\"'px-2 rounded-circle text-white font-bold bs-stepper-number ' + (step.state == 'ready' ? 'bg-primary' : 'bg-secondary') \">{{x+1}}</span>\n <span class=\"bs-stepper-label\">{{ step.label |translate}}</span>\n </div>\n \n </div>\n @if(x < steps.length-1){\n <div class=\"col-3 d-flex align-items-center\"><hr [class]=\"'w-100 line ' + (step.state == 'doing' ? 'line-active' : 'line-default')\" ></div>\n }\n }\n </div>\n <!-- CONTENT -->\n <div class=\"bs-stepper-content margin-bottom-i\">\n <app-step-container-ec [steps]=\"steps\" />\n </div>\n </div>\n } \n </div>\n <!--@if(loading$ | async; as load){\n <div class=\"col-md-12 col-12\">\n <div *ngIf=\"load\" class=\"d-flex flex-column jusitfy-content-center align-items-center mt-2\">\n <app-loading-full-ec></app-loading-full-ec>\n <h5>{{ 'processing-payment' | translate }}</h5> \n </div>\n </div>\n }-->\n </div>\n </div>\n } @else {\n <div class=\"wrap\">\n <!-- <div *ngIf=\"(loading$ | async) as load\">\n <app-loading-full-ec *ngIf=\"canCheckout\"></app-loading-full-ec>\n </div>\n <section id=\"cart\" *ngIf=\"!canCheckout\">\n <section id=\"cart bg-white h-50\">\n <div class=\"d-flex flex-column justify-content-center align-items-center text-center\">\n <h4>{{ 'empty-cart' | translate }}</h4>\n <h5>{{ 'empty-cart-detail' | translate }}</h5>\n </div>\n </section>\n </section> -->\n </div>\n }\n</main>\n", styles: [".bs-stepper-label{font-size:10px;padding-left:.5rem;font-weight:700}@media (max-width: 767.98px){.bs-stepper-label{font-size:10px;line-height:1.1;white-space:normal;word-wrap:break-word;max-width:65px;text-align:center;padding-left:0;padding-top:.2rem}}.bs-stepper-number{font-size:10px;font-weight:700;padding-top:.2rem;padding-bottom:.2rem}@media (max-width: 767.98px){.bs-stepper-number{font-size:9px;padding:.2rem .35rem;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center}}@media (max-width: 767.98px){.step{flex-direction:column!important;align-items:center!important;text-align:center;width:100%}}@media (max-width: 767.98px){.stepperContainer{margin-bottom:1.5rem!important}.stepperContainer .col-2{display:flex;justify-content:center;align-items:flex-start;min-height:50px}.stepperContainer .col-3{display:flex;align-items:center}.stepperContainer .col-3 hr{margin-top:-10px}}.line{height:1px;border:none;background-color:var(--bs-secondary);position:relative;overflow:hidden;margin:0;opacity:.75!important}.line:before{content:\"\";position:absolute;top:0;left:0;width:0;height:100%;background-color:var(--bs-primary);transition:width .5s}.line-active:before{width:100%;left:0}\n"] }]
11656
11844
  }], ctorParameters: () => [] });
11657
11845
 
11658
11846
  class SuccessEcComponent {
@@ -11691,22 +11879,25 @@ class SuccessEcComponent {
11691
11879
  * @returns el bloque si lo encontro.
11692
11880
  */
11693
11881
  containsBlock(codeBlock) { return this.blocks.find((block) => block.code == codeBlock); }
11882
+ isBalanceInAccount = (code) => code && code.toLocaleLowerCase().includes('balance_in_account');
11694
11883
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SuccessEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11695
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SuccessEcComponent, isStandalone: true, selector: "app-order-success-ec", ngImport: i0, template: "<div id=\"container \" class=\"flex-center generalContainer container-xl py-5\">\r\n\t@if(payments && payments[0].method.code){\r\n\t<div class=\"Main card my-2\">\r\n\t\t@if(this.blocks && this.blocks.length > 0){ \r\n\t\t\t@if(containsBlock(this.payments[0].method.code); as bloque) {\r\n\t\t\t\t<div class=\"wrap my-4 card-body\" [id]=\"bloque.code\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-md-12 col-12\">\r\n\t\t\t\t\t\t\t<h5 [class]=\"bloque.code+'-title'\">{{ (bloque?.translations[locale]?.name ?\r\n\t\t\t\t\t\t\t\tbloque.translations[locale].name :\r\n\t\t\t\t\t\t\t\t'thanks-for-buying') | translate\r\n\t\t\t\t\t\t\t\t| uppercase }}</h5>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-md-12 col-12 text-start\">\r\n\t\t\t\t\t\t\t<app-blocks-ec [section]=\"'info_metodo_pago'\" [blockFilters]=\"payments[0].method.code\">\r\n\t\t\t\t\t\t\t</app-blocks-ec>\r\n\t\t\t\t\t\t\t<div class=\"d-flex flex-column details\">\r\n\t\t\t\t\t\t\t\t<p class=\"card-text\">{{ ('number' | translate) + ': ' + params.external_reference }}</p>\r\n\t\t\t\t\t\t\t\t<p class=\"card-text\">{{((params.payment_status || 'pending') | translate)}}</p>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t}@else {\r\n\t\t\t\t<ng-container *ngTemplateOutlet=\"notInfoToMethodTemplate ? notInfoToMethodTemplate : notInfoToMethod; context: { $implicit: params }\"></ng-container>\r\n\t\t\t}\r\n\t\t} @else{\r\n\t\t\t<ng-container *ngTemplateOutlet=\"notInfoToMethodTemplate ? notInfoToMethodTemplate : notInfoToMethod; context: { $implicit: params }\"></ng-container>\r\n\t}\r\n\t</div>\r\n\t} @else {\r\n\t\t<app-loading-full-ec></app-loading-full-ec>\t\r\n\t}\r\n</div>\r\n\r\n<ng-template #notInfoToMethod let-params>\r\n\r\n\t<div class=\"wrap my-4 card-body\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-md-12 col-12\">\r\n\t\t\t\t<h5 class=\"card-title titpage center-block text-center\">\r\n\t\t\t\t\t{{ 'thanks-for-buying' | translate | uppercase }}\r\n\t\t\t\t</h5>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-md-12 col-12 text-center py-3\">\r\n\t\t\t\t<h4 class=\"thanks-details\">{{ 'thanks-details' | translate }}</h4>\r\n\t\t\t\t<h5 class=\"number\">{{ ('number' | translate) + ': ' + params.external_reference }}</h5>\r\n\t\t\t\t<h5 class=\"pending\">{{ ((params.payment_status || 'pending') | translate) }}</h5>\r\n\t\t\t\t<!-- <h5 *ngIf=\"!from_mp\">{{ ('will_contact' | translate) }}</h5> -->\r\n\r\n\t\t\t\t<!-- <a routerLink=\"/collection\"><button class=\"comprar\">{{ 'continue-shopping' | translate }}</button></a> -->\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>", styles: [""], dependencies: [{ kind: "component", type: BlocksEcComponent, selector: "app-blocks-ec", inputs: ["templates", "show_loading", "section", "blockFilters"] }, { kind: "component", type: LoadingFullEcComponent, selector: "app-loading-full-ec" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
11884
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SuccessEcComponent, isStandalone: true, selector: "app-order-success-ec", ngImport: i0, template: "<div id=\"container \" class=\"flex-center generalContainer container-xl py-5\">\n\t@if(payments && payments[0].method.code){\n\t<div class=\"Main card my-2\">\n\t\t@if(this.blocks && this.blocks.length > 0){ \n\t\t\t@if(containsBlock(this.payments[0].method.code); as bloque) {\n\t\t\t\t<div class=\"wrap my-4 card-body\" [id]=\"bloque.code\">\n\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t<div class=\"col-md-12 col-12\">\n\t\t\t\t\t\t\t<h5 [class]=\"bloque.code+'-title'\">{{ (bloque?.translations[locale]?.name ?\n\t\t\t\t\t\t\t\tbloque.translations[locale].name :\n\t\t\t\t\t\t\t\t'thanks-for-buying') | translate\n\t\t\t\t\t\t\t\t| uppercase }}</h5>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t<div class=\"col-md-12 col-12 text-start\">\n\t\t\t\t\t\t\t\t\t<app-blocks-ec [section]=\"'info_metodo_pago'\" [blockFilters]=\"payments[0].method.code\">\n\t\t\t\t\t\t\t\t\t</app-blocks-ec>\n\t\t\t\t\t\t\t\t\t<div class=\"d-flex flex-column details\">\n\t\t\t\t\t\t\t\t\t\t<p class=\"card-text\">{{ ('number' | translate) + ': ' + params.external_reference }}</p>\n\t\t\t\t\t\t\t\t\t\t<p class=\"card-text\">\n\t\t\t\t\t\t\t\t\t\t\t{{ isBalanceInAccount(payments[0].method.code)\n\t\t\t\t\t\t\t\t\t\t\t\t? ('balance-in-account-message' | translate)\n\t\t\t\t\t\t\t\t\t\t\t\t: ((params.payment_status || 'pending') | translate) }}\n\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}@else {\n\t\t\t\t<ng-container *ngTemplateOutlet=\"notInfoToMethodTemplate ? notInfoToMethodTemplate : notInfoToMethod; context: { $implicit: params }\"></ng-container>\n\t\t\t}\n\t\t} @else{\n\t\t\t<ng-container *ngTemplateOutlet=\"notInfoToMethodTemplate ? notInfoToMethodTemplate : notInfoToMethod; context: { $implicit: params }\"></ng-container>\n\t}\n\t</div>\n\t} @else {\n\t\t<app-loading-full-ec></app-loading-full-ec>\t\n\t}\n</div>\n\n<ng-template #notInfoToMethod let-params>\n\n\t<div class=\"wrap my-4 card-body\">\n\t\t<div class=\"row\">\n\t\t\t<div class=\"col-md-12 col-12\">\n\t\t\t\t<h5 class=\"card-title titpage center-block text-center\">\n\t\t\t\t\t{{ 'thanks-for-buying' | translate | uppercase }}\n\t\t\t\t</h5>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"row\">\n\t\t\t<div class=\"col-md-12 col-12 text-center py-3\">\n\t\t\t\t<h4 class=\"thanks-details\">{{ 'thanks-details' | translate }}</h4>\n\t\t\t\t<h5 class=\"number\">{{ ('number' | translate) + ': ' + params.external_reference }}</h5>\n\t\t\t\t<h5 class=\"pending\">\n\t\t\t\t\t{{ payments && payments[0]?.method?.code && isBalanceInAccount(payments[0].method.code)\n\t\t\t\t\t\t? ('balance-in-account-message' | translate)\n\t\t\t\t\t\t: ((params.payment_status || 'pending') | translate) }}\n\t\t\t\t</h5>\n\t\t\t\t<!-- <h5 *ngIf=\"!from_mp\">{{ ('will_contact' | translate) }}</h5> -->\n\n\t\t\t\t<!-- <a routerLink=\"/collection\"><button class=\"comprar\">{{ 'continue-shopping' | translate }}</button></a> -->\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</ng-template>", styles: [""], dependencies: [{ kind: "component", type: BlocksEcComponent, selector: "app-blocks-ec", inputs: ["templates", "show_loading", "section", "blockFilters"] }, { kind: "component", type: LoadingFullEcComponent, selector: "app-loading-full-ec" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
11696
11885
  }
11697
11886
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SuccessEcComponent, decorators: [{
11698
11887
  type: Component,
11699
- args: [{ selector: 'app-order-success-ec', standalone: true, imports: [BlocksEcComponent, LoadingFullEcComponent, TranslateModule, UpperCasePipe, CommonModule], template: "<div id=\"container \" class=\"flex-center generalContainer container-xl py-5\">\r\n\t@if(payments && payments[0].method.code){\r\n\t<div class=\"Main card my-2\">\r\n\t\t@if(this.blocks && this.blocks.length > 0){ \r\n\t\t\t@if(containsBlock(this.payments[0].method.code); as bloque) {\r\n\t\t\t\t<div class=\"wrap my-4 card-body\" [id]=\"bloque.code\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-md-12 col-12\">\r\n\t\t\t\t\t\t\t<h5 [class]=\"bloque.code+'-title'\">{{ (bloque?.translations[locale]?.name ?\r\n\t\t\t\t\t\t\t\tbloque.translations[locale].name :\r\n\t\t\t\t\t\t\t\t'thanks-for-buying') | translate\r\n\t\t\t\t\t\t\t\t| uppercase }}</h5>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-md-12 col-12 text-start\">\r\n\t\t\t\t\t\t\t<app-blocks-ec [section]=\"'info_metodo_pago'\" [blockFilters]=\"payments[0].method.code\">\r\n\t\t\t\t\t\t\t</app-blocks-ec>\r\n\t\t\t\t\t\t\t<div class=\"d-flex flex-column details\">\r\n\t\t\t\t\t\t\t\t<p class=\"card-text\">{{ ('number' | translate) + ': ' + params.external_reference }}</p>\r\n\t\t\t\t\t\t\t\t<p class=\"card-text\">{{((params.payment_status || 'pending') | translate)}}</p>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t}@else {\r\n\t\t\t\t<ng-container *ngTemplateOutlet=\"notInfoToMethodTemplate ? notInfoToMethodTemplate : notInfoToMethod; context: { $implicit: params }\"></ng-container>\r\n\t\t\t}\r\n\t\t} @else{\r\n\t\t\t<ng-container *ngTemplateOutlet=\"notInfoToMethodTemplate ? notInfoToMethodTemplate : notInfoToMethod; context: { $implicit: params }\"></ng-container>\r\n\t}\r\n\t</div>\r\n\t} @else {\r\n\t\t<app-loading-full-ec></app-loading-full-ec>\t\r\n\t}\r\n</div>\r\n\r\n<ng-template #notInfoToMethod let-params>\r\n\r\n\t<div class=\"wrap my-4 card-body\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-md-12 col-12\">\r\n\t\t\t\t<h5 class=\"card-title titpage center-block text-center\">\r\n\t\t\t\t\t{{ 'thanks-for-buying' | translate | uppercase }}\r\n\t\t\t\t</h5>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-md-12 col-12 text-center py-3\">\r\n\t\t\t\t<h4 class=\"thanks-details\">{{ 'thanks-details' | translate }}</h4>\r\n\t\t\t\t<h5 class=\"number\">{{ ('number' | translate) + ': ' + params.external_reference }}</h5>\r\n\t\t\t\t<h5 class=\"pending\">{{ ((params.payment_status || 'pending') | translate) }}</h5>\r\n\t\t\t\t<!-- <h5 *ngIf=\"!from_mp\">{{ ('will_contact' | translate) }}</h5> -->\r\n\r\n\t\t\t\t<!-- <a routerLink=\"/collection\"><button class=\"comprar\">{{ 'continue-shopping' | translate }}</button></a> -->\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>" }]
11888
+ args: [{ selector: 'app-order-success-ec', standalone: true, imports: [BlocksEcComponent, LoadingFullEcComponent, TranslateModule, UpperCasePipe, CommonModule], template: "<div id=\"container \" class=\"flex-center generalContainer container-xl py-5\">\n\t@if(payments && payments[0].method.code){\n\t<div class=\"Main card my-2\">\n\t\t@if(this.blocks && this.blocks.length > 0){ \n\t\t\t@if(containsBlock(this.payments[0].method.code); as bloque) {\n\t\t\t\t<div class=\"wrap my-4 card-body\" [id]=\"bloque.code\">\n\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t<div class=\"col-md-12 col-12\">\n\t\t\t\t\t\t\t<h5 [class]=\"bloque.code+'-title'\">{{ (bloque?.translations[locale]?.name ?\n\t\t\t\t\t\t\t\tbloque.translations[locale].name :\n\t\t\t\t\t\t\t\t'thanks-for-buying') | translate\n\t\t\t\t\t\t\t\t| uppercase }}</h5>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t<div class=\"col-md-12 col-12 text-start\">\n\t\t\t\t\t\t\t\t\t<app-blocks-ec [section]=\"'info_metodo_pago'\" [blockFilters]=\"payments[0].method.code\">\n\t\t\t\t\t\t\t\t\t</app-blocks-ec>\n\t\t\t\t\t\t\t\t\t<div class=\"d-flex flex-column details\">\n\t\t\t\t\t\t\t\t\t\t<p class=\"card-text\">{{ ('number' | translate) + ': ' + params.external_reference }}</p>\n\t\t\t\t\t\t\t\t\t\t<p class=\"card-text\">\n\t\t\t\t\t\t\t\t\t\t\t{{ isBalanceInAccount(payments[0].method.code)\n\t\t\t\t\t\t\t\t\t\t\t\t? ('balance-in-account-message' | translate)\n\t\t\t\t\t\t\t\t\t\t\t\t: ((params.payment_status || 'pending') | translate) }}\n\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}@else {\n\t\t\t\t<ng-container *ngTemplateOutlet=\"notInfoToMethodTemplate ? notInfoToMethodTemplate : notInfoToMethod; context: { $implicit: params }\"></ng-container>\n\t\t\t}\n\t\t} @else{\n\t\t\t<ng-container *ngTemplateOutlet=\"notInfoToMethodTemplate ? notInfoToMethodTemplate : notInfoToMethod; context: { $implicit: params }\"></ng-container>\n\t}\n\t</div>\n\t} @else {\n\t\t<app-loading-full-ec></app-loading-full-ec>\t\n\t}\n</div>\n\n<ng-template #notInfoToMethod let-params>\n\n\t<div class=\"wrap my-4 card-body\">\n\t\t<div class=\"row\">\n\t\t\t<div class=\"col-md-12 col-12\">\n\t\t\t\t<h5 class=\"card-title titpage center-block text-center\">\n\t\t\t\t\t{{ 'thanks-for-buying' | translate | uppercase }}\n\t\t\t\t</h5>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"row\">\n\t\t\t<div class=\"col-md-12 col-12 text-center py-3\">\n\t\t\t\t<h4 class=\"thanks-details\">{{ 'thanks-details' | translate }}</h4>\n\t\t\t\t<h5 class=\"number\">{{ ('number' | translate) + ': ' + params.external_reference }}</h5>\n\t\t\t\t<h5 class=\"pending\">\n\t\t\t\t\t{{ payments && payments[0]?.method?.code && isBalanceInAccount(payments[0].method.code)\n\t\t\t\t\t\t? ('balance-in-account-message' | translate)\n\t\t\t\t\t\t: ((params.payment_status || 'pending') | translate) }}\n\t\t\t\t</h5>\n\t\t\t\t<!-- <h5 *ngIf=\"!from_mp\">{{ ('will_contact' | translate) }}</h5> -->\n\n\t\t\t\t<!-- <a routerLink=\"/collection\"><button class=\"comprar\">{{ 'continue-shopping' | translate }}</button></a> -->\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</ng-template>" }]
11700
11889
  }], ctorParameters: () => [] });
11701
11890
 
11702
11891
  class OrdersListEcComponent {
11703
11892
  _ordersService = inject(OrdersService);
11704
11893
  _router = inject(Router);
11894
+ _cartService = inject(CartService);
11895
+ priceVisibility = inject(PriceVisibilityService);
11705
11896
  loading = false;
11706
11897
  orders = [];
11707
11898
  error = "";
11708
11899
  sortValue;
11709
- showPrice = false;
11900
+ showPrice = true;
11710
11901
  creditAmountConfigured = false;
11711
11902
  /**
11712
11903
  * @description name -> nombre de clave de valuesToSort; asc -> true: ascendente, false: descendente
@@ -11736,6 +11927,9 @@ class OrdersListEcComponent {
11736
11927
  this.error = 'orders-error';
11737
11928
  }
11738
11929
  });
11930
+ this._cartService.creditAmount$.subscribe(amount => {
11931
+ this.creditAmountConfigured = amount !== null;
11932
+ });
11739
11933
  }
11740
11934
  sortedByNewest(orders) {
11741
11935
  return orders && orders.length && orders.sort((anOrder, otherOrder) => anOrder.number > otherOrder.number ? -1 : 1);
@@ -11831,11 +12025,11 @@ class OrdersListEcComponent {
11831
12025
  this._router.navigateByUrl((`account/orders/${order.number}`));
11832
12026
  }
11833
12027
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OrdersListEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11834
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: OrdersListEcComponent, isStandalone: true, selector: "app-orders-ec", ngImport: i0, template: "<div class=\"container-fluid\" id=\"ordersEcComponent\">\r\n @if(!loading){\r\n <section id=\"orders\" class=\"w-100\">\r\n @if(orders && orders.length){\r\n <div class=\"row mb-1 border-bottom\">\r\n <div class=\"col-lg-2 col-12\">\r\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'number' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\r\n (click)=\"sortOrders('number')\">{{ 'order' | translate }}:</p>\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'paymentState' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\r\n (click)=\"sortOrders('paymentState')\">{{ 'payment-state' | translate }}:</p>\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'method' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\r\n (click)=\"sortOrders('method')\">{{ 'shipment-method' | translate }}:</p>\r\n </div>\r\n <div class=\"col-lg-2 col-12 \">\r\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'methodState' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\r\n (click)=\"sortOrders('methodState')\">\r\n {{ 'shipment-state' | translate }}:</p>\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'date' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\r\n (click)=\"sortOrders('date')\">{{ 'date' | translate }}:</p>\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'total' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\r\n (click)=\"sortOrders('total')\">{{ 'total' | translate }}:</p>\r\n </div>\r\n </div>\r\n @for(order of orders; track $index){\r\n <div class=\"row item border-bottom py-2\">\r\n <div class=\"col-lg-2 col-12\">\r\n <h5 class=\"fw-bold\">\r\n {{ order.number }}\r\n </h5>\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n @if(order.payments && order.payments.length > 0){\r\n <p class=\"price\">\r\n {{ order.payments[0].state | translate | titlecase }}\r\n </p>\r\n }\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n <p class=\"price\">\r\n {{ order.shipments[0].method.name }}\r\n </p>\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n <p class=\"price\">\r\n {{ order.shipments[0].state | translate | titlecase }}\r\n </p>\r\n <!-- ACA DEBERIA IR EL LINK DE SEGUIMIENTO -->\r\n <!-- <button class=\"btn btn-outline-dark btnLogout px-3 py-1 font-size-10 w-auto btn-sm\">Ver seguimiento</button> -->\r\n @if(order.tracking){\r\n <a [href]=\"order.tracking\"\r\n class=\"btn btn-outline-dark btnLogout px-3 py-1 font-size-10 w-auto btn-sm\">Ver seguimiento</a>\r\n }\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n <p class=\"price\">\r\n {{ toDate(order.checkoutCompletedAt, 'DD/MM/YYYY') | translate }}<br>\r\n {{ toDate(order.checkoutCompletedAt, 'h:mm:ss a') | translate }}\r\n </p>\r\n </div>\r\n <div class=\"col-lg-2 col-12 d-flex\">\r\n @if(creditAmountConfigured ? showPrice : true){\r\n <h5 class=\"fw-bold text-nowrap\">\r\n {{ (order.totals.total) | ecCurrencySymbol }}\r\n </h5>\r\n }\r\n <!-- <button class=\"btn px-0 w-100 btdetalle\" (click)=\"goToOrder(order)\">{{\r\n 'see-order' | translate }}</button> -->\r\n <button class=\"btn px-0 w-100 btdetalle\" (click)=\"goToOrder(order)\">\r\n <i class=\"bi bi-box-arrow-in-right\"></i></button>\r\n </div>\r\n </div>\r\n }\r\n }@else {\r\n <div class=\"w-100 h-50\">\r\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\r\n <h5>{{ 'no-orders' | translate }}</h5>\r\n </div>\r\n </div>\r\n }\r\n </section>\r\n }@else {\r\n <div class=\"w-100 h-50 py-5\">\r\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n\r\n<ng-template #errorView>\r\n <div class=\"w-100 h-50\">\r\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\r\n <h4>{{ 'orders-error' | translate }}</h4>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [""], dependencies: [{ kind: "component", type: LoadingFullEcComponent, selector: "app-loading-full-ec" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: EcCurrencySymbolPipe, name: "ecCurrencySymbol" }] });
12028
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: OrdersListEcComponent, isStandalone: true, selector: "app-orders-ec", ngImport: i0, template: "<div class=\"container-fluid\" id=\"ordersEcComponent\">\n @if(!loading){\n <section id=\"orders\" class=\"w-100\">\n @if(!priceVisibility.hidePrices()){\n @if(orders && orders.length){\n <div class=\"row mb-1 border-bottom\">\n <div class=\"col-lg-2 col-12\">\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'number' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\n (click)=\"sortOrders('number')\">{{ 'order' | translate }}:</p>\n </div>\n <div class=\"col-lg-2 col-12\">\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'paymentState' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\n (click)=\"sortOrders('paymentState')\">{{ 'payment-state' | translate }}:</p>\n </div>\n <div class=\"col-lg-2 col-12\">\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'method' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\n (click)=\"sortOrders('method')\">{{ 'shipment-method' | translate }}:</p>\n </div>\n <div class=\"col-lg-2 col-12 \">\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'methodState' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\n (click)=\"sortOrders('methodState')\">\n {{ 'shipment-state' | translate }}:</p>\n </div>\n <div class=\"col-lg-2 col-12\">\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'date' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\n (click)=\"sortOrders('date')\">{{ 'date' | translate }}:</p>\n </div>\n <div class=\"col-lg-2 col-12\">\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'total' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\n (click)=\"sortOrders('total')\">{{ 'total' | translate }}:</p>\n </div>\n </div>\n @for(order of orders; track $index){\n <div class=\"row item border-bottom py-2\">\n <div class=\"col-lg-2 col-12\">\n <h5 class=\"fw-bold\">\n {{ order.number }}\n </h5>\n </div>\n <div class=\"col-lg-2 col-12\">\n @if(order.payments && order.payments.length > 0){\n <p class=\"price\">\n {{ order.payments[0].state | translate | titlecase }}\n </p>\n }\n </div>\n <div class=\"col-lg-2 col-12\">\n <p class=\"price\">\n {{ order.shipments[0].method.name }}\n </p>\n </div>\n <div class=\"col-lg-2 col-12\">\n <p class=\"price\">\n {{ order.shipments[0].state | translate | titlecase }}\n </p>\n <!-- ACA DEBERIA IR EL LINK DE SEGUIMIENTO -->\n <!-- <button class=\"btn btn-outline-dark btnLogout px-3 py-1 font-size-10 w-auto btn-sm\">Ver seguimiento</button> -->\n @if(order.tracking){\n <a [href]=\"order.tracking\"\n class=\"btn btn-outline-dark btnLogout px-3 py-1 font-size-10 w-auto btn-sm\">Ver seguimiento</a>\n }\n </div>\n <div class=\"col-lg-2 col-12\">\n <p class=\"price\">\n {{ toDate(order.checkoutCompletedAt, 'DD/MM/YYYY') | translate }}<br>\n {{ toDate(order.checkoutCompletedAt, 'h:mm:ss a') | translate }}\n </p>\n </div>\n <div class=\"col-lg-2 col-12 d-flex\">\n @if(priceVisibility.canShowPrices()){\n <h5 class=\"fw-bold text-nowrap\">\n {{ (order.totals.total) | ecCurrencySymbol }}\n </h5>\n }\n <!-- <button class=\"btn px-0 w-100 btdetalle\" (click)=\"goToOrder(order)\">{{\n 'see-order' | translate }}</button> -->\n <button class=\"btn px-0 w-100 btdetalle\" (click)=\"goToOrder(order)\">\n <i class=\"bi bi-box-arrow-in-right\"></i></button>\n </div>\n </div>\n }\n }@else {\n <div class=\"w-100 h-50\">\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\n <h5>{{ 'no-orders' | translate }}</h5>\n </div>\n </div>\n }\n }\n </section>\n }@else {\n <div class=\"w-100 h-50 py-5\">\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n </div>\n }\n</div>\n\n<ng-template #errorView>\n <div class=\"w-100 h-50\">\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\n <h4>{{ 'orders-error' | translate }}</h4>\n </div>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "component", type: LoadingFullEcComponent, selector: "app-loading-full-ec" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: EcCurrencySymbolPipe, name: "ecCurrencySymbol" }] });
11835
12029
  }
11836
12030
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OrdersListEcComponent, decorators: [{
11837
12031
  type: Component,
11838
- args: [{ selector: 'app-orders-ec', standalone: true, imports: [LoadingFullEcComponent, TranslateModule, TitleCasePipe, EcCurrencySymbolPipe], template: "<div class=\"container-fluid\" id=\"ordersEcComponent\">\r\n @if(!loading){\r\n <section id=\"orders\" class=\"w-100\">\r\n @if(orders && orders.length){\r\n <div class=\"row mb-1 border-bottom\">\r\n <div class=\"col-lg-2 col-12\">\r\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'number' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\r\n (click)=\"sortOrders('number')\">{{ 'order' | translate }}:</p>\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'paymentState' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\r\n (click)=\"sortOrders('paymentState')\">{{ 'payment-state' | translate }}:</p>\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'method' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\r\n (click)=\"sortOrders('method')\">{{ 'shipment-method' | translate }}:</p>\r\n </div>\r\n <div class=\"col-lg-2 col-12 \">\r\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'methodState' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\r\n (click)=\"sortOrders('methodState')\">\r\n {{ 'shipment-state' | translate }}:</p>\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'date' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\r\n (click)=\"sortOrders('date')\">{{ 'date' | translate }}:</p>\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'total' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\r\n (click)=\"sortOrders('total')\">{{ 'total' | translate }}:</p>\r\n </div>\r\n </div>\r\n @for(order of orders; track $index){\r\n <div class=\"row item border-bottom py-2\">\r\n <div class=\"col-lg-2 col-12\">\r\n <h5 class=\"fw-bold\">\r\n {{ order.number }}\r\n </h5>\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n @if(order.payments && order.payments.length > 0){\r\n <p class=\"price\">\r\n {{ order.payments[0].state | translate | titlecase }}\r\n </p>\r\n }\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n <p class=\"price\">\r\n {{ order.shipments[0].method.name }}\r\n </p>\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n <p class=\"price\">\r\n {{ order.shipments[0].state | translate | titlecase }}\r\n </p>\r\n <!-- ACA DEBERIA IR EL LINK DE SEGUIMIENTO -->\r\n <!-- <button class=\"btn btn-outline-dark btnLogout px-3 py-1 font-size-10 w-auto btn-sm\">Ver seguimiento</button> -->\r\n @if(order.tracking){\r\n <a [href]=\"order.tracking\"\r\n class=\"btn btn-outline-dark btnLogout px-3 py-1 font-size-10 w-auto btn-sm\">Ver seguimiento</a>\r\n }\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n <p class=\"price\">\r\n {{ toDate(order.checkoutCompletedAt, 'DD/MM/YYYY') | translate }}<br>\r\n {{ toDate(order.checkoutCompletedAt, 'h:mm:ss a') | translate }}\r\n </p>\r\n </div>\r\n <div class=\"col-lg-2 col-12 d-flex\">\r\n @if(creditAmountConfigured ? showPrice : true){\r\n <h5 class=\"fw-bold text-nowrap\">\r\n {{ (order.totals.total) | ecCurrencySymbol }}\r\n </h5>\r\n }\r\n <!-- <button class=\"btn px-0 w-100 btdetalle\" (click)=\"goToOrder(order)\">{{\r\n 'see-order' | translate }}</button> -->\r\n <button class=\"btn px-0 w-100 btdetalle\" (click)=\"goToOrder(order)\">\r\n <i class=\"bi bi-box-arrow-in-right\"></i></button>\r\n </div>\r\n </div>\r\n }\r\n }@else {\r\n <div class=\"w-100 h-50\">\r\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\r\n <h5>{{ 'no-orders' | translate }}</h5>\r\n </div>\r\n </div>\r\n }\r\n </section>\r\n }@else {\r\n <div class=\"w-100 h-50 py-5\">\r\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n\r\n<ng-template #errorView>\r\n <div class=\"w-100 h-50\">\r\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\r\n <h4>{{ 'orders-error' | translate }}</h4>\r\n </div>\r\n </div>\r\n</ng-template>\r\n" }]
12032
+ args: [{ selector: 'app-orders-ec', standalone: true, imports: [LoadingFullEcComponent, TranslateModule, TitleCasePipe, EcCurrencySymbolPipe], template: "<div class=\"container-fluid\" id=\"ordersEcComponent\">\n @if(!loading){\n <section id=\"orders\" class=\"w-100\">\n @if(!priceVisibility.hidePrices()){\n @if(orders && orders.length){\n <div class=\"row mb-1 border-bottom\">\n <div class=\"col-lg-2 col-12\">\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'number' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\n (click)=\"sortOrders('number')\">{{ 'order' | translate }}:</p>\n </div>\n <div class=\"col-lg-2 col-12\">\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'paymentState' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\n (click)=\"sortOrders('paymentState')\">{{ 'payment-state' | translate }}:</p>\n </div>\n <div class=\"col-lg-2 col-12\">\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'method' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\n (click)=\"sortOrders('method')\">{{ 'shipment-method' | translate }}:</p>\n </div>\n <div class=\"col-lg-2 col-12 \">\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'methodState' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\n (click)=\"sortOrders('methodState')\">\n {{ 'shipment-state' | translate }}:</p>\n </div>\n <div class=\"col-lg-2 col-12\">\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'date' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\n (click)=\"sortOrders('date')\">{{ 'date' | translate }}:</p>\n </div>\n <div class=\"col-lg-2 col-12\">\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'total' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\n (click)=\"sortOrders('total')\">{{ 'total' | translate }}:</p>\n </div>\n </div>\n @for(order of orders; track $index){\n <div class=\"row item border-bottom py-2\">\n <div class=\"col-lg-2 col-12\">\n <h5 class=\"fw-bold\">\n {{ order.number }}\n </h5>\n </div>\n <div class=\"col-lg-2 col-12\">\n @if(order.payments && order.payments.length > 0){\n <p class=\"price\">\n {{ order.payments[0].state | translate | titlecase }}\n </p>\n }\n </div>\n <div class=\"col-lg-2 col-12\">\n <p class=\"price\">\n {{ order.shipments[0].method.name }}\n </p>\n </div>\n <div class=\"col-lg-2 col-12\">\n <p class=\"price\">\n {{ order.shipments[0].state | translate | titlecase }}\n </p>\n <!-- ACA DEBERIA IR EL LINK DE SEGUIMIENTO -->\n <!-- <button class=\"btn btn-outline-dark btnLogout px-3 py-1 font-size-10 w-auto btn-sm\">Ver seguimiento</button> -->\n @if(order.tracking){\n <a [href]=\"order.tracking\"\n class=\"btn btn-outline-dark btnLogout px-3 py-1 font-size-10 w-auto btn-sm\">Ver seguimiento</a>\n }\n </div>\n <div class=\"col-lg-2 col-12\">\n <p class=\"price\">\n {{ toDate(order.checkoutCompletedAt, 'DD/MM/YYYY') | translate }}<br>\n {{ toDate(order.checkoutCompletedAt, 'h:mm:ss a') | translate }}\n </p>\n </div>\n <div class=\"col-lg-2 col-12 d-flex\">\n @if(priceVisibility.canShowPrices()){\n <h5 class=\"fw-bold text-nowrap\">\n {{ (order.totals.total) | ecCurrencySymbol }}\n </h5>\n }\n <!-- <button class=\"btn px-0 w-100 btdetalle\" (click)=\"goToOrder(order)\">{{\n 'see-order' | translate }}</button> -->\n <button class=\"btn px-0 w-100 btdetalle\" (click)=\"goToOrder(order)\">\n <i class=\"bi bi-box-arrow-in-right\"></i></button>\n </div>\n </div>\n }\n }@else {\n <div class=\"w-100 h-50\">\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\n <h5>{{ 'no-orders' | translate }}</h5>\n </div>\n </div>\n }\n }\n </section>\n }@else {\n <div class=\"w-100 h-50 py-5\">\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n </div>\n }\n</div>\n\n<ng-template #errorView>\n <div class=\"w-100 h-50\">\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\n <h4>{{ 'orders-error' | translate }}</h4>\n </div>\n </div>\n</ng-template>\n" }]
11839
12033
  }] });
11840
12034
 
11841
12035
  class AccountEcComponent {
@@ -11848,11 +12042,11 @@ class AccountEcComponent {
11848
12042
  this._router.navigateByUrl(path);
11849
12043
  };
11850
12044
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AccountEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11851
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AccountEcComponent, isStandalone: true, selector: "lib-account-ec", ngImport: i0, template: "<section class=\"perfil mt-0\" id=\"accountEcComponent\">\r\n <div class=\"container row w-100 mx-auto py-md-3\">\r\n <div class=\"col-12 py-3\">\r\n <div class=\"row w-100 mx-auto border-bottom justify-content-between align-items-center py-3\">\r\n <h3 class=\"text-black w-auto\">MIS PEDIDOS</h3>\r\n <button class=\"btn btn-outline-dark px-3 py-1 font-size-10 w-auto\" (click)=\"logout()\">CERRAR\r\n SESI\u00D3N</button>\r\n </div>\r\n <app-orders-ec></app-orders-ec>\r\n </div>\r\n </div>\r\n</section>\r\n", styles: [""], dependencies: [{ kind: "component", type: OrdersListEcComponent, selector: "app-orders-ec" }] });
12045
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AccountEcComponent, isStandalone: true, selector: "lib-account-ec", ngImport: i0, template: "<section class=\"perfil mt-0\" id=\"accountEcComponent\">\n <div class=\"container row w-100 mx-auto py-md-3\">\n <div class=\"col-12 py-3\">\n <div class=\"row w-100 mx-auto border-bottom justify-content-between align-items-center py-3\">\n <h3 class=\"text-black w-auto\">MIS PEDIDOS</h3>\n <button class=\"btn btn-outline-dark px-3 py-1 font-size-10 w-auto\" (click)=\"logout()\">CERRAR\n SESI\u00D3N</button>\n </div>\n <app-orders-ec></app-orders-ec>\n </div>\n </div>\n</section>\n", styles: [""], dependencies: [{ kind: "component", type: OrdersListEcComponent, selector: "app-orders-ec" }] });
11852
12046
  }
11853
12047
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AccountEcComponent, decorators: [{
11854
12048
  type: Component,
11855
- args: [{ selector: 'lib-account-ec', standalone: true, imports: [OrdersListEcComponent], template: "<section class=\"perfil mt-0\" id=\"accountEcComponent\">\r\n <div class=\"container row w-100 mx-auto py-md-3\">\r\n <div class=\"col-12 py-3\">\r\n <div class=\"row w-100 mx-auto border-bottom justify-content-between align-items-center py-3\">\r\n <h3 class=\"text-black w-auto\">MIS PEDIDOS</h3>\r\n <button class=\"btn btn-outline-dark px-3 py-1 font-size-10 w-auto\" (click)=\"logout()\">CERRAR\r\n SESI\u00D3N</button>\r\n </div>\r\n <app-orders-ec></app-orders-ec>\r\n </div>\r\n </div>\r\n</section>\r\n" }]
12049
+ args: [{ selector: 'lib-account-ec', standalone: true, imports: [OrdersListEcComponent], template: "<section class=\"perfil mt-0\" id=\"accountEcComponent\">\n <div class=\"container row w-100 mx-auto py-md-3\">\n <div class=\"col-12 py-3\">\n <div class=\"row w-100 mx-auto border-bottom justify-content-between align-items-center py-3\">\n <h3 class=\"text-black w-auto\">MIS PEDIDOS</h3>\n <button class=\"btn btn-outline-dark px-3 py-1 font-size-10 w-auto\" (click)=\"logout()\">CERRAR\n SESI\u00D3N</button>\n </div>\n <app-orders-ec></app-orders-ec>\n </div>\n </div>\n</section>\n" }]
11856
12050
  }] });
11857
12051
 
11858
12052
  class OrderEcComponent {
@@ -11863,11 +12057,10 @@ class OrderEcComponent {
11863
12057
  _cartService = inject(CartService);
11864
12058
  _channelConfigService = inject(ChannelService);
11865
12059
  _activedRoute = inject(ActivatedRoute);
12060
+ priceVisibility = inject(PriceVisibilityService);
11866
12061
  order$ = this._ordersService.selectedOrder$;
11867
12062
  allowRepeatOrders = false;
11868
12063
  loading = false;
11869
- creditAccountShowPrices = null;
11870
- hidePrices = false;
11871
12064
  hideDiscounts = false;
11872
12065
  hideTaxes = false;
11873
12066
  channelConfig = this._ordersService.channelConfig;
@@ -11892,13 +12085,9 @@ class OrderEcComponent {
11892
12085
  else {
11893
12086
  this.allowRepeatOrders = false;
11894
12087
  }
11895
- this.hidePrices = config?.hidePrices ?? false;
11896
12088
  this.hideDiscounts = config?.hideDiscounts ?? false;
11897
12089
  this.hideTaxes = config?.hideTaxes ?? false;
11898
12090
  });
11899
- this._cartService.showPrice$.subscribe((showPrice) => {
11900
- this.creditAccountShowPrices = showPrice;
11901
- });
11902
12091
  }
11903
12092
  getUrlBase() {
11904
12093
  return this._consts.getUrlBase();
@@ -11916,7 +12105,7 @@ class OrderEcComponent {
11916
12105
  }
11917
12106
  mediaUrl = () => this._constants.mediaUrl();
11918
12107
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OrderEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11919
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: OrderEcComponent, isStandalone: true, selector: "app-order-ec", ngImport: i0, template: "<main class=\"py-5\" id=\"orderEcComponent\">\r\n <div class=\"container\">\r\n @if(order$ | async; as order){\r\n <div class=\"wrap\">\r\n @if(order){\r\n\r\n <div class=\"row justify-content-between \">\r\n <div class=\"col-sm-auto col-12 font-brandon\">\r\n <h4 class=\"tit1 fw-bold\">{{ ('order' | translate) + ': ' + order.number }}</h4>\r\n </div>\r\n @if(order?.invoice){\r\n <div class=\"col-sm col-12 font-brandon\">\r\n <a target=\"_blank\" [href]=\"getUrlBase().slice(0, -1) + order.invoice\"\r\n class=\"btn btn-link btn-invoice\">\r\n <i class=\"fas fa-file-download me-1\"></i>\r\n {{ 'download' | translate }} {{ 'invoices' | translate | titlecase }}\r\n </a>\r\n </div>\r\n }\r\n <a (click)=\"back()\" class=\"col-auto text-end\">\r\n <button class=\"btn btn-outline-dark btvolver border\">{{ 'back-to-orders' | translate }}</button>\r\n </a>\r\n </div>\r\n\r\n <section id=\"orders\">\r\n <div class=\"row pt-2\">\r\n <div class=\"col-md-2 col-12\">\r\n <p class=\"st\">{{ 'payment-state' | translate }}:</p>\r\n <p class=\"\">\r\n {{ order.payments[0].state | translate }}\r\n </p>\r\n </div>\r\n <div class=\"col-md-2 col-12 font-brandon\">\r\n <p class=\"st\">{{ 'shipment-state' | translate }}:</p>\r\n <p class=\"\">\r\n {{ order.shipments[0].state | translate }}\r\n </p>\r\n </div>\r\n <div class=\"col-md-2 col-12 font-brandon\">\r\n <p class=\"st\">{{ 'payment-method' | translate }}:</p>\r\n <p class=\"\">\r\n {{ order.payments[0]?.method?.name | translate }}\r\n </p>\r\n </div>\r\n <div class=\"col-md-2 col-12 font-brandon\">\r\n <p class=\"st\">{{ 'shipment-method' | translate }}:</p>\r\n <p class=\"\">\r\n {{ order.shipments[0].method.name }}\r\n </p>\r\n <!-- ACA DEBERIA IR EL LINK DE SEGUIMIENTO -->\r\n @if(order.tracking){\r\n <a [href]=\"order.tracking\"\r\n class=\"btn btn-outline-dark btnLogout px-3 py-1 font-size-10 w-auto btn-sm\">\r\n Ver seguimiento</a>\r\n }\r\n </div>\r\n <div class=\"col-md-2 col-12 font-brandon\">\r\n <p class=\"st\">{{ 'date' | translate }}:</p>\r\n <p class=\"\">\r\n {{ toDate(order.checkoutCompletedAt, 'DD/MM/YYYY') | translate }}<br>\r\n {{ toDate(order.checkoutCompletedAt, 'h:mm:ss a') | translate }}\r\n </p>\r\n </div>\r\n @if(creditAccountShowPrices !== null ? creditAccountShowPrices : true){\r\n <div class=\"col-md-2 col-12 font-brandon\">\r\n <p class=\"st\">{{ 'total' | translate }}:</p>\r\n <h5 class=\"fw-bold\">\r\n {{ (order.totals.total) | ecCurrencySymbol}}\r\n\r\n </h5>\r\n </div>\r\n }\r\n </div>\r\n </section>\r\n @if(!hidePrices && allowRepeatOrders){\r\n <div class=\"text-end mt-3\">\r\n <button class=\"btn btn-primary mb-2 btnRepeatOrder\" (click)=\"repeatOrder()\">\r\n {{ 'repeat-order' | translate }}\r\n </button>\r\n </div> \r\n }\r\n\r\n <div class=\"container py-3 border-top border-bottom\">\r\n @if(order.items.length){\r\n <div class=\"row\">\r\n <div class=\"col-2 font-sm font-brandon d-none d-md-block\">\r\n {{ 'product' | translate | uppercase }}\r\n </div>\r\n <div class=\"col-4 font-sm font-brandon d-none d-md-block\">\r\n {{ 'description' | translate | uppercase }}\r\n </div>\r\n @if(channelConfig.applyOrderLot){\r\n <div id=\"colLots\" class=\"col-1 font-sm font-brandon d-none d-md-block\">\r\n <!-- {{ 'description' | translate | uppercase }} -->\r\n {{ 'lots' | translate | uppercase }}\r\n </div>\r\n }\r\n @if(creditAccountShowPrices !== null ? creditAccountShowPrices : true){\r\n <div class=\"col-2 text-center font-sm font-brandon d-none d-md-block\">\r\n {{ 'unit-price' | translate | uppercase }}\r\n </div>\r\n }\r\n <div class=\"col-1 text-center font-sm font-brandon d-none d-md-block\">\r\n {{ 'quantity' | translate | uppercase }}\r\n </div>\r\n @if(creditAccountShowPrices !== null ? creditAccountShowPrices : true){\r\n <div class=\"col-2 text-end font-sm font-brandon d-none d-md-block\">\r\n {{ 'total' | translate | uppercase }}\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n\r\n }\r\n @for(item of order.items; track $index; let i = $index){\r\n <div class=\"row cart-items\">\r\n <div class=\"col-5 col-md-2 py-2\">\r\n @if(item.product.variants[0]?.images?.length){\r\n <img class=\"smc maxwidth img-fluid rounded-custom \"\r\n [src]=\"mediaUrl() + item.product.variants[0].images[0]\" alt=\"\">\r\n } @else {\r\n @if(item.product.picturesdefault){\r\n <img class=\"smc maxwidth img-fluid rounded-custom\"\r\n [src]=\"mediaUrl() + item.product.picturesdefault[0]\" alt=\"\">\r\n }\r\n }\r\n </div>\r\n <div\r\n class=\"col-md-4 col-7 flex-column flex-md-row justify-content-start d-flex align-items-center\">\r\n <p class=\"font-brandon d-flex w-100 mb-0\">\r\n {{ item.product.name }} (Cod:{{ item.product.variants[0].code }})\r\n </p>\r\n </div>\r\n @if(channelConfig.applyOrderLot){\r\n <div class=\"col-md-1 col-1 flex-column flex-md-row justify-content-start d-flex align-items-center\">\r\n <input type=\"button\" class=\"btn btn-primary btnSeguir m-0 text-center\" type=\"button\"\r\n [attr.data-bs-toggle]=\"'collapse'\" [attr.data-bs-target]=\"'#collapseExample'+i\"\r\n aria-expanded=\"false\" [attr.aria-controls]=\"'collapseExample'+i\"\r\n value=\"{{ 'see' | translate | uppercase }}\">\r\n </div>\r\n }\r\n <div class=\"container d-md-none\">\r\n <div class=\"row\">\r\n <div class=\"col-4\">\r\n <p class=\"text-center w-100 m-0\"> {{ item.quantity }}</p>\r\n </div>\r\n @if(creditAccountShowPrices !== null ? creditAccountShowPrices : true){\r\n <div class=\"col-4 font-xl\">\r\n <p class=\"text-center w-100 m-0\"> {{ (item.product.variants[0].saleprice ?\r\n item.product.variants[0].saleprice : item.product.variants[0].price) |\r\n ecCurrencySymbol}}</p>\r\n </div>\r\n }\r\n @if(creditAccountShowPrices !== null ? creditAccountShowPrices : true){\r\n <div class=\"col-4 font-xl\">\r\n <p class=\"text-center w-100 m-0\"> {{ ((item.product.variants[0].saleprice ?\r\n item.product.variants[0].saleprice : item.product.variants[0].price) *\r\n item.quantity) | ecCurrencySymbol}}aaaa</p>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n @if(creditAccountShowPrices !== null ? creditAccountShowPrices : true){\r\n <div class=\"col-2 d-none d-md-flex align-items-center\">\r\n <p class=\"text-center w-100 m-0\">\r\n {{ (item.product.variants[0].saleprice ? item.product.variants[0].saleprice :\r\n item.product.variants[0].price) | ecCurrencySymbol}}\r\n </p>\r\n </div>\r\n }\r\n <div class=\"col-1 d-none d-md-flex align-items-center\">\r\n <p class=\"text-center w-100 m-0\"> {{ item.quantity }}</p>\r\n </div>\r\n @if(creditAccountShowPrices !== null ? creditAccountShowPrices : true){\r\n <div class=\"col-2 d-none d-md-flex align-items-center\">\r\n <p class=\"text-end w-100 m-0\">\r\n {{ ((item.product.variants[0].saleprice ? item.product.variants[0].saleprice :\r\n item.product.variants[0].price) * item.quantity) | ecCurrencySymbol}}</p>\r\n </div>\r\n }\r\n <div class=\"collapse\" [attr.id]=\"'collapseExample'+i\">\r\n <div class=\"card card-body\">\r\n <table class=\"table table-striped\">\r\n <thead>\r\n <tr>\r\n <th scope=\"col\">#</th>\r\n <th scope=\"col\">Estado</th>\r\n <th scope=\"col\">Cantidad</th>\r\n <th scope=\"col\">Fecha Solicitada</th>\r\n <th scope=\"col\">Fecha Estimada</th>\r\n <th scope=\"col\">Sede</th>\r\n <th scope=\"col\">Nota</th>\r\n <th scope=\"col\">Total Lote</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for( lot of item.orderItemLot; track $index){\r\n <tr>\r\n <th scope=\"row\">{{lot.id}}</th>\r\n <td>{{lot.lot_status}}</td>\r\n <td>{{lot.quantity}}</td>\r\n <td>{{ toDate(lot.date_request, 'DD/MM/YYYY') | translate }}</td>\r\n @if(lot.date_deliver){\r\n <td>{{\r\n toDate(lot.date_deliver, 'DD/MM/YYYY') | translate }}</td>\r\n } @else {\r\n <td>Pendiente</td>\r\n }\r\n <td>{{lot.shipping_address_name}}</td>\r\n <td>{{lot.notes}}</td>\r\n <td>{{lot.total_lot | ecCurrencySymbol}}</td>\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-6\"></div>\r\n @if(creditAccountShowPrices !== null ? creditAccountShowPrices : true){\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"row py-4\">\r\n <div class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'total-products' |\r\n translate }}</div>\r\n <div class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\r\n {{ (order.totals.items) | ecCurrencySymbol }}\r\n </div>\r\n\r\n <div class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'shipment' |\r\n translate }}</div>\r\n <div class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\r\n {{ (order.totals.shipping || '0') | ecCurrencySymbol }}\r\n\r\n </div>\r\n @if(!hideDiscounts && order.totals.promotion && order.totals.promotion != 0){\r\n <div class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'discount' |\r\n translate }}</div>\r\n }\r\n @if(!hideDiscounts && order.totals.promotion && order.totals.promotion != 0){\r\n <div class=\"col-6 font-brandon font-md text-gray border-bottom text-end text-end\">\r\n {{ (order.totals.promotion) | ecCurrencySymbol }}</div>\r\n }\r\n @if(!hideTaxes && order.totals.taxes && order.totals.taxes != 0 ){\r\n <div class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'taxes' | translate }}</div>\r\n }\r\n @if(!hideTaxes && order.totals.taxes && order.totals.taxes != 0){\r\n <div class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\r\n {{ (order.totals.taxes) | ecCurrencySymbol }}</div>\r\n }\r\n\r\n <div class=\"col-6 font-brandon font-md\">{{ 'total' | translate | uppercase }}</div>\r\n <div class=\"col-6 font-brandon font-md text-end\">\r\n {{ (order.totals.total) | ecCurrencySymbol }}\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n\r\n } @else {\r\n <div class=\"w-100 h-50\">\r\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\r\n <h5>{{ 'no-orders' | translate }}</h5>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n\r\n } @else {\r\n <div class=\"w-100 h-50 py-5\">\r\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</main>", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: EcCurrencySymbolPipe, name: "ecCurrencySymbol" }, { kind: "component", type: LoadingFullEcComponent, selector: "app-loading-full-ec" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }] });
12108
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: OrderEcComponent, isStandalone: true, selector: "app-order-ec", ngImport: i0, template: "<main class=\"py-5\" id=\"orderEcComponent\">\n <div class=\"container\">\n @if(order$ | async; as order){\n <div class=\"wrap\">\n @if(order){\n\n <div class=\"row justify-content-between \">\n <div class=\"col-sm-auto col-12 font-brandon\">\n <h4 class=\"tit1 fw-bold\">{{ ('order' | translate) + ': ' + order.number }}</h4>\n </div>\n @if(order?.invoice){\n <div class=\"col-sm col-12 font-brandon\">\n <a target=\"_blank\" [href]=\"getUrlBase().slice(0, -1) + order.invoice\"\n class=\"btn btn-link btn-invoice\">\n <i class=\"fas fa-file-download me-1\"></i>\n {{ 'download' | translate }} {{ 'invoices' | translate | titlecase }}\n </a>\n </div>\n }\n <a (click)=\"back()\" class=\"col-auto text-end\">\n <button class=\"btn btn-outline-dark btvolver border\">{{ 'back-to-orders' | translate }}</button>\n </a>\n </div>\n\n <section id=\"orders\">\n <div class=\"row pt-2\">\n <div class=\"col-md-2 col-12\">\n <p class=\"st\">{{ 'payment-state' | translate }}:</p>\n <p class=\"\">\n {{ order.payments[0].state | translate }}\n </p>\n </div>\n <div class=\"col-md-2 col-12 font-brandon\">\n <p class=\"st\">{{ 'shipment-state' | translate }}:</p>\n <p class=\"\">\n {{ order.shipments[0].state | translate }}\n </p>\n </div>\n <div class=\"col-md-2 col-12 font-brandon\">\n <p class=\"st\">{{ 'payment-method' | translate }}:</p>\n <p class=\"\">\n {{ order.payments[0]?.method?.name | translate }}\n </p>\n </div>\n <div class=\"col-md-2 col-12 font-brandon\">\n <p class=\"st\">{{ 'shipment-method' | translate }}:</p>\n <p class=\"\">\n {{ order.shipments[0].method.name }}\n </p>\n <!-- ACA DEBERIA IR EL LINK DE SEGUIMIENTO -->\n @if(order.tracking){\n <a [href]=\"order.tracking\"\n class=\"btn btn-outline-dark btnLogout px-3 py-1 font-size-10 w-auto btn-sm\">\n Ver seguimiento</a>\n }\n </div>\n <div class=\"col-md-2 col-12 font-brandon\">\n <p class=\"st\">{{ 'date' | translate }}:</p>\n <p class=\"\">\n {{ toDate(order.checkoutCompletedAt, 'DD/MM/YYYY') | translate }}<br>\n {{ toDate(order.checkoutCompletedAt, 'h:mm:ss a') | translate }}\n </p>\n </div>\n @if(priceVisibility.canShowPrices()){\n <div class=\"col-md-2 col-12 font-brandon\">\n <p class=\"st\">{{ 'total' | translate }}:</p>\n <h5 class=\"fw-bold\">\n {{ (order.totals.total) | ecCurrencySymbol}}\n\n </h5>\n </div>\n }\n </div>\n </section>\n @if(!priceVisibility.hidePrices() && allowRepeatOrders){\n <div class=\"text-end mt-3\">\n <button class=\"btn btn-primary mb-2 btnRepeatOrder\" (click)=\"repeatOrder()\">\n {{ 'repeat-order' | translate }}\n </button>\n </div> \n }\n\n <div class=\"container py-3 border-top border-bottom\">\n @if(order.items.length){\n <div class=\"row\">\n <div class=\"col-2 font-sm font-brandon d-none d-md-block\">\n {{ 'product' | translate | uppercase }}\n </div>\n <div class=\"col-4 font-sm font-brandon d-none d-md-block\">\n {{ 'description' | translate | uppercase }}\n </div>\n @if(channelConfig.applyOrderLot){\n <div id=\"colLots\" class=\"col-1 font-sm font-brandon d-none d-md-block\">\n <!-- {{ 'description' | translate | uppercase }} -->\n {{ 'lots' | translate | uppercase }}\n </div>\n }\n @if(priceVisibility.canShowPrices()){\n <div class=\"col-2 text-center font-sm font-brandon d-none d-md-block\">\n {{ 'unit-price' | translate | uppercase }}\n </div>\n }\n <div class=\"col-1 text-center font-sm font-brandon d-none d-md-block\">\n {{ 'quantity' | translate | uppercase }}\n </div>\n @if(priceVisibility.canShowPrices()){\n <div class=\"col-2 text-end font-sm font-brandon d-none d-md-block\">\n {{ 'total' | translate | uppercase }}\n </div>\n }\n </div>\n } @else {\n\n }\n @for(item of order.items; track $index; let i = $index){\n <div class=\"row cart-items\">\n <div class=\"col-5 col-md-2 py-2\">\n @if(item.product.variants[0]?.images?.length){\n <img class=\"smc maxwidth img-fluid rounded-custom \"\n [src]=\"mediaUrl() + item.product.variants[0].images[0]\" alt=\"\">\n } @else {\n @if(item.product.picturesdefault){\n <img class=\"smc maxwidth img-fluid rounded-custom\"\n [src]=\"mediaUrl() + item.product.picturesdefault[0]\" alt=\"\">\n }\n }\n </div>\n <div\n class=\"col-md-4 col-7 flex-column flex-md-row justify-content-start d-flex align-items-center\">\n <p class=\"font-brandon d-flex w-100 mb-0\">\n {{ item.product.name }} (Cod:{{ item.product.variants[0].code }})\n </p>\n </div>\n @if(channelConfig.applyOrderLot){\n <div class=\"col-md-1 col-1 flex-column flex-md-row justify-content-start d-flex align-items-center\">\n <input type=\"button\" class=\"btn btn-primary btnSeguir m-0 text-center\" type=\"button\"\n [attr.data-bs-toggle]=\"'collapse'\" [attr.data-bs-target]=\"'#collapseExample'+i\"\n aria-expanded=\"false\" [attr.aria-controls]=\"'collapseExample'+i\"\n value=\"{{ 'see' | translate | uppercase }}\">\n </div>\n }\n <div class=\"container d-md-none\">\n <div class=\"row\">\n <div class=\"col-4\">\n <p class=\"text-center w-100 m-0\"> {{ item.quantity }}</p>\n </div>\n @if(priceVisibility.canShowPrices()){\n <div class=\"col-4 font-xl\">\n <p class=\"text-center w-100 m-0\"> {{ (item.product.variants[0].saleprice ?\n item.product.variants[0].saleprice : item.product.variants[0].price) |\n ecCurrencySymbol}}</p>\n </div>\n }\n @if(priceVisibility.canShowPrices()){\n <div class=\"col-4 font-xl\">\n <p class=\"text-center w-100 m-0\"> {{ ((item.product.variants[0].saleprice ?\n item.product.variants[0].saleprice : item.product.variants[0].price) *\n item.quantity) | ecCurrencySymbol}}aaaa</p>\n </div>\n }\n </div>\n </div>\n @if(priceVisibility.canShowPrices()){\n <div class=\"col-2 d-none d-md-flex align-items-center\">\n <p class=\"text-center w-100 m-0\">\n {{ (item.product.variants[0].saleprice ? item.product.variants[0].saleprice :\n item.product.variants[0].price) | ecCurrencySymbol}}\n </p>\n </div>\n }\n <div class=\"col-1 d-none d-md-flex align-items-center\">\n <p class=\"text-center w-100 m-0\"> {{ item.quantity }}</p>\n </div>\n @if(priceVisibility.canShowPrices()){\n <div class=\"col-2 d-none d-md-flex align-items-center\">\n <p class=\"text-end w-100 m-0\">\n {{ ((item.product.variants[0].saleprice ? item.product.variants[0].saleprice :\n item.product.variants[0].price) * item.quantity) | ecCurrencySymbol}}</p>\n </div>\n }\n <div class=\"collapse\" [attr.id]=\"'collapseExample'+i\">\n <div class=\"card card-body\">\n <table class=\"table table-striped\">\n <thead>\n <tr>\n <th scope=\"col\">#</th>\n <th scope=\"col\">Estado</th>\n <th scope=\"col\">Cantidad</th>\n <th scope=\"col\">Fecha Solicitada</th>\n <th scope=\"col\">Fecha Estimada</th>\n <th scope=\"col\">Sede</th>\n <th scope=\"col\">Nota</th>\n <th scope=\"col\">Total Lote</th>\n </tr>\n </thead>\n <tbody>\n @for( lot of item.orderItemLot; track $index){\n <tr>\n <th scope=\"row\">{{lot.id}}</th>\n <td>{{lot.lot_status}}</td>\n <td>{{lot.quantity}}</td>\n <td>{{ toDate(lot.date_request, 'DD/MM/YYYY') | translate }}</td>\n @if(lot.date_deliver){\n <td>{{\n toDate(lot.date_deliver, 'DD/MM/YYYY') | translate }}</td>\n } @else {\n <td>Pendiente</td>\n }\n <td>{{lot.shipping_address_name}}</td>\n <td>{{lot.notes}}</td>\n <td>{{lot.total_lot | ecCurrencySymbol}}</td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n </div>\n </div>\n }\n </div>\n\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12 col-md-6\"></div>\n @if(priceVisibility.canShowPrices()){\n <div class=\"col-12 col-md-6\">\n <div class=\"row py-4\">\n <div class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'total-products' |\n translate }}</div>\n <div class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\n {{ (order.totals.items) | ecCurrencySymbol }}\n </div>\n\n <div class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'shipment' |\n translate }}</div>\n <div class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\n {{ (order.totals.shipping || '0') | ecCurrencySymbol }}\n\n </div>\n @if(!hideDiscounts && order.totals.promotion && order.totals.promotion != 0){\n <div class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'discount' |\n translate }}</div>\n }\n @if(!hideDiscounts && order.totals.promotion && order.totals.promotion != 0){\n <div class=\"col-6 font-brandon font-md text-gray border-bottom text-end text-end\">\n {{ (order.totals.promotion) | ecCurrencySymbol }}</div>\n }\n @if(!hideTaxes && order.totals.taxes && order.totals.taxes != 0 ){\n <div class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'taxes' | translate }}</div>\n }\n @if(!hideTaxes && order.totals.taxes && order.totals.taxes != 0){\n <div class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\n {{ (order.totals.taxes) | ecCurrencySymbol }}</div>\n }\n\n <div class=\"col-6 font-brandon font-md\">{{ 'total' | translate | uppercase }}</div>\n <div class=\"col-6 font-brandon font-md text-end\">\n {{ (order.totals.total) | ecCurrencySymbol }}\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n\n } @else {\n <div class=\"w-100 h-50\">\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\n <h5>{{ 'no-orders' | translate }}</h5>\n </div>\n </div>\n }\n </div>\n\n } @else {\n <div class=\"w-100 h-50 py-5\">\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n </div>\n }\n </div>\n</main>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: EcCurrencySymbolPipe, name: "ecCurrencySymbol" }, { kind: "component", type: LoadingFullEcComponent, selector: "app-loading-full-ec" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }] });
11920
12109
  }
11921
12110
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OrderEcComponent, decorators: [{
11922
12111
  type: Component,
@@ -11926,7 +12115,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
11926
12115
  AsyncPipe,
11927
12116
  TitleCasePipe,
11928
12117
  UpperCasePipe
11929
- ], template: "<main class=\"py-5\" id=\"orderEcComponent\">\r\n <div class=\"container\">\r\n @if(order$ | async; as order){\r\n <div class=\"wrap\">\r\n @if(order){\r\n\r\n <div class=\"row justify-content-between \">\r\n <div class=\"col-sm-auto col-12 font-brandon\">\r\n <h4 class=\"tit1 fw-bold\">{{ ('order' | translate) + ': ' + order.number }}</h4>\r\n </div>\r\n @if(order?.invoice){\r\n <div class=\"col-sm col-12 font-brandon\">\r\n <a target=\"_blank\" [href]=\"getUrlBase().slice(0, -1) + order.invoice\"\r\n class=\"btn btn-link btn-invoice\">\r\n <i class=\"fas fa-file-download me-1\"></i>\r\n {{ 'download' | translate }} {{ 'invoices' | translate | titlecase }}\r\n </a>\r\n </div>\r\n }\r\n <a (click)=\"back()\" class=\"col-auto text-end\">\r\n <button class=\"btn btn-outline-dark btvolver border\">{{ 'back-to-orders' | translate }}</button>\r\n </a>\r\n </div>\r\n\r\n <section id=\"orders\">\r\n <div class=\"row pt-2\">\r\n <div class=\"col-md-2 col-12\">\r\n <p class=\"st\">{{ 'payment-state' | translate }}:</p>\r\n <p class=\"\">\r\n {{ order.payments[0].state | translate }}\r\n </p>\r\n </div>\r\n <div class=\"col-md-2 col-12 font-brandon\">\r\n <p class=\"st\">{{ 'shipment-state' | translate }}:</p>\r\n <p class=\"\">\r\n {{ order.shipments[0].state | translate }}\r\n </p>\r\n </div>\r\n <div class=\"col-md-2 col-12 font-brandon\">\r\n <p class=\"st\">{{ 'payment-method' | translate }}:</p>\r\n <p class=\"\">\r\n {{ order.payments[0]?.method?.name | translate }}\r\n </p>\r\n </div>\r\n <div class=\"col-md-2 col-12 font-brandon\">\r\n <p class=\"st\">{{ 'shipment-method' | translate }}:</p>\r\n <p class=\"\">\r\n {{ order.shipments[0].method.name }}\r\n </p>\r\n <!-- ACA DEBERIA IR EL LINK DE SEGUIMIENTO -->\r\n @if(order.tracking){\r\n <a [href]=\"order.tracking\"\r\n class=\"btn btn-outline-dark btnLogout px-3 py-1 font-size-10 w-auto btn-sm\">\r\n Ver seguimiento</a>\r\n }\r\n </div>\r\n <div class=\"col-md-2 col-12 font-brandon\">\r\n <p class=\"st\">{{ 'date' | translate }}:</p>\r\n <p class=\"\">\r\n {{ toDate(order.checkoutCompletedAt, 'DD/MM/YYYY') | translate }}<br>\r\n {{ toDate(order.checkoutCompletedAt, 'h:mm:ss a') | translate }}\r\n </p>\r\n </div>\r\n @if(creditAccountShowPrices !== null ? creditAccountShowPrices : true){\r\n <div class=\"col-md-2 col-12 font-brandon\">\r\n <p class=\"st\">{{ 'total' | translate }}:</p>\r\n <h5 class=\"fw-bold\">\r\n {{ (order.totals.total) | ecCurrencySymbol}}\r\n\r\n </h5>\r\n </div>\r\n }\r\n </div>\r\n </section>\r\n @if(!hidePrices && allowRepeatOrders){\r\n <div class=\"text-end mt-3\">\r\n <button class=\"btn btn-primary mb-2 btnRepeatOrder\" (click)=\"repeatOrder()\">\r\n {{ 'repeat-order' | translate }}\r\n </button>\r\n </div> \r\n }\r\n\r\n <div class=\"container py-3 border-top border-bottom\">\r\n @if(order.items.length){\r\n <div class=\"row\">\r\n <div class=\"col-2 font-sm font-brandon d-none d-md-block\">\r\n {{ 'product' | translate | uppercase }}\r\n </div>\r\n <div class=\"col-4 font-sm font-brandon d-none d-md-block\">\r\n {{ 'description' | translate | uppercase }}\r\n </div>\r\n @if(channelConfig.applyOrderLot){\r\n <div id=\"colLots\" class=\"col-1 font-sm font-brandon d-none d-md-block\">\r\n <!-- {{ 'description' | translate | uppercase }} -->\r\n {{ 'lots' | translate | uppercase }}\r\n </div>\r\n }\r\n @if(creditAccountShowPrices !== null ? creditAccountShowPrices : true){\r\n <div class=\"col-2 text-center font-sm font-brandon d-none d-md-block\">\r\n {{ 'unit-price' | translate | uppercase }}\r\n </div>\r\n }\r\n <div class=\"col-1 text-center font-sm font-brandon d-none d-md-block\">\r\n {{ 'quantity' | translate | uppercase }}\r\n </div>\r\n @if(creditAccountShowPrices !== null ? creditAccountShowPrices : true){\r\n <div class=\"col-2 text-end font-sm font-brandon d-none d-md-block\">\r\n {{ 'total' | translate | uppercase }}\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n\r\n }\r\n @for(item of order.items; track $index; let i = $index){\r\n <div class=\"row cart-items\">\r\n <div class=\"col-5 col-md-2 py-2\">\r\n @if(item.product.variants[0]?.images?.length){\r\n <img class=\"smc maxwidth img-fluid rounded-custom \"\r\n [src]=\"mediaUrl() + item.product.variants[0].images[0]\" alt=\"\">\r\n } @else {\r\n @if(item.product.picturesdefault){\r\n <img class=\"smc maxwidth img-fluid rounded-custom\"\r\n [src]=\"mediaUrl() + item.product.picturesdefault[0]\" alt=\"\">\r\n }\r\n }\r\n </div>\r\n <div\r\n class=\"col-md-4 col-7 flex-column flex-md-row justify-content-start d-flex align-items-center\">\r\n <p class=\"font-brandon d-flex w-100 mb-0\">\r\n {{ item.product.name }} (Cod:{{ item.product.variants[0].code }})\r\n </p>\r\n </div>\r\n @if(channelConfig.applyOrderLot){\r\n <div class=\"col-md-1 col-1 flex-column flex-md-row justify-content-start d-flex align-items-center\">\r\n <input type=\"button\" class=\"btn btn-primary btnSeguir m-0 text-center\" type=\"button\"\r\n [attr.data-bs-toggle]=\"'collapse'\" [attr.data-bs-target]=\"'#collapseExample'+i\"\r\n aria-expanded=\"false\" [attr.aria-controls]=\"'collapseExample'+i\"\r\n value=\"{{ 'see' | translate | uppercase }}\">\r\n </div>\r\n }\r\n <div class=\"container d-md-none\">\r\n <div class=\"row\">\r\n <div class=\"col-4\">\r\n <p class=\"text-center w-100 m-0\"> {{ item.quantity }}</p>\r\n </div>\r\n @if(creditAccountShowPrices !== null ? creditAccountShowPrices : true){\r\n <div class=\"col-4 font-xl\">\r\n <p class=\"text-center w-100 m-0\"> {{ (item.product.variants[0].saleprice ?\r\n item.product.variants[0].saleprice : item.product.variants[0].price) |\r\n ecCurrencySymbol}}</p>\r\n </div>\r\n }\r\n @if(creditAccountShowPrices !== null ? creditAccountShowPrices : true){\r\n <div class=\"col-4 font-xl\">\r\n <p class=\"text-center w-100 m-0\"> {{ ((item.product.variants[0].saleprice ?\r\n item.product.variants[0].saleprice : item.product.variants[0].price) *\r\n item.quantity) | ecCurrencySymbol}}aaaa</p>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n @if(creditAccountShowPrices !== null ? creditAccountShowPrices : true){\r\n <div class=\"col-2 d-none d-md-flex align-items-center\">\r\n <p class=\"text-center w-100 m-0\">\r\n {{ (item.product.variants[0].saleprice ? item.product.variants[0].saleprice :\r\n item.product.variants[0].price) | ecCurrencySymbol}}\r\n </p>\r\n </div>\r\n }\r\n <div class=\"col-1 d-none d-md-flex align-items-center\">\r\n <p class=\"text-center w-100 m-0\"> {{ item.quantity }}</p>\r\n </div>\r\n @if(creditAccountShowPrices !== null ? creditAccountShowPrices : true){\r\n <div class=\"col-2 d-none d-md-flex align-items-center\">\r\n <p class=\"text-end w-100 m-0\">\r\n {{ ((item.product.variants[0].saleprice ? item.product.variants[0].saleprice :\r\n item.product.variants[0].price) * item.quantity) | ecCurrencySymbol}}</p>\r\n </div>\r\n }\r\n <div class=\"collapse\" [attr.id]=\"'collapseExample'+i\">\r\n <div class=\"card card-body\">\r\n <table class=\"table table-striped\">\r\n <thead>\r\n <tr>\r\n <th scope=\"col\">#</th>\r\n <th scope=\"col\">Estado</th>\r\n <th scope=\"col\">Cantidad</th>\r\n <th scope=\"col\">Fecha Solicitada</th>\r\n <th scope=\"col\">Fecha Estimada</th>\r\n <th scope=\"col\">Sede</th>\r\n <th scope=\"col\">Nota</th>\r\n <th scope=\"col\">Total Lote</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for( lot of item.orderItemLot; track $index){\r\n <tr>\r\n <th scope=\"row\">{{lot.id}}</th>\r\n <td>{{lot.lot_status}}</td>\r\n <td>{{lot.quantity}}</td>\r\n <td>{{ toDate(lot.date_request, 'DD/MM/YYYY') | translate }}</td>\r\n @if(lot.date_deliver){\r\n <td>{{\r\n toDate(lot.date_deliver, 'DD/MM/YYYY') | translate }}</td>\r\n } @else {\r\n <td>Pendiente</td>\r\n }\r\n <td>{{lot.shipping_address_name}}</td>\r\n <td>{{lot.notes}}</td>\r\n <td>{{lot.total_lot | ecCurrencySymbol}}</td>\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-6\"></div>\r\n @if(creditAccountShowPrices !== null ? creditAccountShowPrices : true){\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"row py-4\">\r\n <div class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'total-products' |\r\n translate }}</div>\r\n <div class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\r\n {{ (order.totals.items) | ecCurrencySymbol }}\r\n </div>\r\n\r\n <div class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'shipment' |\r\n translate }}</div>\r\n <div class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\r\n {{ (order.totals.shipping || '0') | ecCurrencySymbol }}\r\n\r\n </div>\r\n @if(!hideDiscounts && order.totals.promotion && order.totals.promotion != 0){\r\n <div class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'discount' |\r\n translate }}</div>\r\n }\r\n @if(!hideDiscounts && order.totals.promotion && order.totals.promotion != 0){\r\n <div class=\"col-6 font-brandon font-md text-gray border-bottom text-end text-end\">\r\n {{ (order.totals.promotion) | ecCurrencySymbol }}</div>\r\n }\r\n @if(!hideTaxes && order.totals.taxes && order.totals.taxes != 0 ){\r\n <div class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'taxes' | translate }}</div>\r\n }\r\n @if(!hideTaxes && order.totals.taxes && order.totals.taxes != 0){\r\n <div class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\r\n {{ (order.totals.taxes) | ecCurrencySymbol }}</div>\r\n }\r\n\r\n <div class=\"col-6 font-brandon font-md\">{{ 'total' | translate | uppercase }}</div>\r\n <div class=\"col-6 font-brandon font-md text-end\">\r\n {{ (order.totals.total) | ecCurrencySymbol }}\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n\r\n } @else {\r\n <div class=\"w-100 h-50\">\r\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\r\n <h5>{{ 'no-orders' | translate }}</h5>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n\r\n } @else {\r\n <div class=\"w-100 h-50 py-5\">\r\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</main>" }]
12118
+ ], template: "<main class=\"py-5\" id=\"orderEcComponent\">\n <div class=\"container\">\n @if(order$ | async; as order){\n <div class=\"wrap\">\n @if(order){\n\n <div class=\"row justify-content-between \">\n <div class=\"col-sm-auto col-12 font-brandon\">\n <h4 class=\"tit1 fw-bold\">{{ ('order' | translate) + ': ' + order.number }}</h4>\n </div>\n @if(order?.invoice){\n <div class=\"col-sm col-12 font-brandon\">\n <a target=\"_blank\" [href]=\"getUrlBase().slice(0, -1) + order.invoice\"\n class=\"btn btn-link btn-invoice\">\n <i class=\"fas fa-file-download me-1\"></i>\n {{ 'download' | translate }} {{ 'invoices' | translate | titlecase }}\n </a>\n </div>\n }\n <a (click)=\"back()\" class=\"col-auto text-end\">\n <button class=\"btn btn-outline-dark btvolver border\">{{ 'back-to-orders' | translate }}</button>\n </a>\n </div>\n\n <section id=\"orders\">\n <div class=\"row pt-2\">\n <div class=\"col-md-2 col-12\">\n <p class=\"st\">{{ 'payment-state' | translate }}:</p>\n <p class=\"\">\n {{ order.payments[0].state | translate }}\n </p>\n </div>\n <div class=\"col-md-2 col-12 font-brandon\">\n <p class=\"st\">{{ 'shipment-state' | translate }}:</p>\n <p class=\"\">\n {{ order.shipments[0].state | translate }}\n </p>\n </div>\n <div class=\"col-md-2 col-12 font-brandon\">\n <p class=\"st\">{{ 'payment-method' | translate }}:</p>\n <p class=\"\">\n {{ order.payments[0]?.method?.name | translate }}\n </p>\n </div>\n <div class=\"col-md-2 col-12 font-brandon\">\n <p class=\"st\">{{ 'shipment-method' | translate }}:</p>\n <p class=\"\">\n {{ order.shipments[0].method.name }}\n </p>\n <!-- ACA DEBERIA IR EL LINK DE SEGUIMIENTO -->\n @if(order.tracking){\n <a [href]=\"order.tracking\"\n class=\"btn btn-outline-dark btnLogout px-3 py-1 font-size-10 w-auto btn-sm\">\n Ver seguimiento</a>\n }\n </div>\n <div class=\"col-md-2 col-12 font-brandon\">\n <p class=\"st\">{{ 'date' | translate }}:</p>\n <p class=\"\">\n {{ toDate(order.checkoutCompletedAt, 'DD/MM/YYYY') | translate }}<br>\n {{ toDate(order.checkoutCompletedAt, 'h:mm:ss a') | translate }}\n </p>\n </div>\n @if(priceVisibility.canShowPrices()){\n <div class=\"col-md-2 col-12 font-brandon\">\n <p class=\"st\">{{ 'total' | translate }}:</p>\n <h5 class=\"fw-bold\">\n {{ (order.totals.total) | ecCurrencySymbol}}\n\n </h5>\n </div>\n }\n </div>\n </section>\n @if(!priceVisibility.hidePrices() && allowRepeatOrders){\n <div class=\"text-end mt-3\">\n <button class=\"btn btn-primary mb-2 btnRepeatOrder\" (click)=\"repeatOrder()\">\n {{ 'repeat-order' | translate }}\n </button>\n </div> \n }\n\n <div class=\"container py-3 border-top border-bottom\">\n @if(order.items.length){\n <div class=\"row\">\n <div class=\"col-2 font-sm font-brandon d-none d-md-block\">\n {{ 'product' | translate | uppercase }}\n </div>\n <div class=\"col-4 font-sm font-brandon d-none d-md-block\">\n {{ 'description' | translate | uppercase }}\n </div>\n @if(channelConfig.applyOrderLot){\n <div id=\"colLots\" class=\"col-1 font-sm font-brandon d-none d-md-block\">\n <!-- {{ 'description' | translate | uppercase }} -->\n {{ 'lots' | translate | uppercase }}\n </div>\n }\n @if(priceVisibility.canShowPrices()){\n <div class=\"col-2 text-center font-sm font-brandon d-none d-md-block\">\n {{ 'unit-price' | translate | uppercase }}\n </div>\n }\n <div class=\"col-1 text-center font-sm font-brandon d-none d-md-block\">\n {{ 'quantity' | translate | uppercase }}\n </div>\n @if(priceVisibility.canShowPrices()){\n <div class=\"col-2 text-end font-sm font-brandon d-none d-md-block\">\n {{ 'total' | translate | uppercase }}\n </div>\n }\n </div>\n } @else {\n\n }\n @for(item of order.items; track $index; let i = $index){\n <div class=\"row cart-items\">\n <div class=\"col-5 col-md-2 py-2\">\n @if(item.product.variants[0]?.images?.length){\n <img class=\"smc maxwidth img-fluid rounded-custom \"\n [src]=\"mediaUrl() + item.product.variants[0].images[0]\" alt=\"\">\n } @else {\n @if(item.product.picturesdefault){\n <img class=\"smc maxwidth img-fluid rounded-custom\"\n [src]=\"mediaUrl() + item.product.picturesdefault[0]\" alt=\"\">\n }\n }\n </div>\n <div\n class=\"col-md-4 col-7 flex-column flex-md-row justify-content-start d-flex align-items-center\">\n <p class=\"font-brandon d-flex w-100 mb-0\">\n {{ item.product.name }} (Cod:{{ item.product.variants[0].code }})\n </p>\n </div>\n @if(channelConfig.applyOrderLot){\n <div class=\"col-md-1 col-1 flex-column flex-md-row justify-content-start d-flex align-items-center\">\n <input type=\"button\" class=\"btn btn-primary btnSeguir m-0 text-center\" type=\"button\"\n [attr.data-bs-toggle]=\"'collapse'\" [attr.data-bs-target]=\"'#collapseExample'+i\"\n aria-expanded=\"false\" [attr.aria-controls]=\"'collapseExample'+i\"\n value=\"{{ 'see' | translate | uppercase }}\">\n </div>\n }\n <div class=\"container d-md-none\">\n <div class=\"row\">\n <div class=\"col-4\">\n <p class=\"text-center w-100 m-0\"> {{ item.quantity }}</p>\n </div>\n @if(priceVisibility.canShowPrices()){\n <div class=\"col-4 font-xl\">\n <p class=\"text-center w-100 m-0\"> {{ (item.product.variants[0].saleprice ?\n item.product.variants[0].saleprice : item.product.variants[0].price) |\n ecCurrencySymbol}}</p>\n </div>\n }\n @if(priceVisibility.canShowPrices()){\n <div class=\"col-4 font-xl\">\n <p class=\"text-center w-100 m-0\"> {{ ((item.product.variants[0].saleprice ?\n item.product.variants[0].saleprice : item.product.variants[0].price) *\n item.quantity) | ecCurrencySymbol}}aaaa</p>\n </div>\n }\n </div>\n </div>\n @if(priceVisibility.canShowPrices()){\n <div class=\"col-2 d-none d-md-flex align-items-center\">\n <p class=\"text-center w-100 m-0\">\n {{ (item.product.variants[0].saleprice ? item.product.variants[0].saleprice :\n item.product.variants[0].price) | ecCurrencySymbol}}\n </p>\n </div>\n }\n <div class=\"col-1 d-none d-md-flex align-items-center\">\n <p class=\"text-center w-100 m-0\"> {{ item.quantity }}</p>\n </div>\n @if(priceVisibility.canShowPrices()){\n <div class=\"col-2 d-none d-md-flex align-items-center\">\n <p class=\"text-end w-100 m-0\">\n {{ ((item.product.variants[0].saleprice ? item.product.variants[0].saleprice :\n item.product.variants[0].price) * item.quantity) | ecCurrencySymbol}}</p>\n </div>\n }\n <div class=\"collapse\" [attr.id]=\"'collapseExample'+i\">\n <div class=\"card card-body\">\n <table class=\"table table-striped\">\n <thead>\n <tr>\n <th scope=\"col\">#</th>\n <th scope=\"col\">Estado</th>\n <th scope=\"col\">Cantidad</th>\n <th scope=\"col\">Fecha Solicitada</th>\n <th scope=\"col\">Fecha Estimada</th>\n <th scope=\"col\">Sede</th>\n <th scope=\"col\">Nota</th>\n <th scope=\"col\">Total Lote</th>\n </tr>\n </thead>\n <tbody>\n @for( lot of item.orderItemLot; track $index){\n <tr>\n <th scope=\"row\">{{lot.id}}</th>\n <td>{{lot.lot_status}}</td>\n <td>{{lot.quantity}}</td>\n <td>{{ toDate(lot.date_request, 'DD/MM/YYYY') | translate }}</td>\n @if(lot.date_deliver){\n <td>{{\n toDate(lot.date_deliver, 'DD/MM/YYYY') | translate }}</td>\n } @else {\n <td>Pendiente</td>\n }\n <td>{{lot.shipping_address_name}}</td>\n <td>{{lot.notes}}</td>\n <td>{{lot.total_lot | ecCurrencySymbol}}</td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n </div>\n </div>\n }\n </div>\n\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12 col-md-6\"></div>\n @if(priceVisibility.canShowPrices()){\n <div class=\"col-12 col-md-6\">\n <div class=\"row py-4\">\n <div class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'total-products' |\n translate }}</div>\n <div class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\n {{ (order.totals.items) | ecCurrencySymbol }}\n </div>\n\n <div class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'shipment' |\n translate }}</div>\n <div class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\n {{ (order.totals.shipping || '0') | ecCurrencySymbol }}\n\n </div>\n @if(!hideDiscounts && order.totals.promotion && order.totals.promotion != 0){\n <div class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'discount' |\n translate }}</div>\n }\n @if(!hideDiscounts && order.totals.promotion && order.totals.promotion != 0){\n <div class=\"col-6 font-brandon font-md text-gray border-bottom text-end text-end\">\n {{ (order.totals.promotion) | ecCurrencySymbol }}</div>\n }\n @if(!hideTaxes && order.totals.taxes && order.totals.taxes != 0 ){\n <div class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'taxes' | translate }}</div>\n }\n @if(!hideTaxes && order.totals.taxes && order.totals.taxes != 0){\n <div class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\n {{ (order.totals.taxes) | ecCurrencySymbol }}</div>\n }\n\n <div class=\"col-6 font-brandon font-md\">{{ 'total' | translate | uppercase }}</div>\n <div class=\"col-6 font-brandon font-md text-end\">\n {{ (order.totals.total) | ecCurrencySymbol }}\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n\n } @else {\n <div class=\"w-100 h-50\">\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\n <h5>{{ 'no-orders' | translate }}</h5>\n </div>\n </div>\n }\n </div>\n\n } @else {\n <div class=\"w-100 h-50 py-5\">\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n </div>\n }\n </div>\n</main>\n" }]
11930
12119
  }] });
11931
12120
 
11932
12121
  class SidebarEcComponent {
@@ -11936,13 +12125,13 @@ class SidebarEcComponent {
11936
12125
  _router = inject(Router);
11937
12126
  _toastrService = inject(ToastService);
11938
12127
  _channelService = inject(ChannelService);
12128
+ priceVisibility = inject(PriceVisibilityService);
11939
12129
  user = null;
11940
12130
  mediaUrl = this._consts.mediaUrl();
11941
12131
  promotions = [];
11942
12132
  variantsToShow = ['TALLE', 'COLOR'];
11943
12133
  hideDiscounts = false;
11944
12134
  hideTaxes = false;
11945
- creditAccountShowPrices = null;
11946
12135
  cartItems$ = this._cartService.cartItems$;
11947
12136
  subTotalAmount$ = this._cartService.getSubTotalAmount();
11948
12137
  totalPromotionAmount$ = this._cartService.getTotalPromotionAmount();
@@ -11957,9 +12146,6 @@ class SidebarEcComponent {
11957
12146
  this.hideDiscounts = channel?.hideDiscounts ?? false;
11958
12147
  this.hideTaxes = channel?.hideTaxes ?? false;
11959
12148
  });
11960
- this._cartService.showPrice$.subscribe((showPrice) => {
11961
- this.creditAccountShowPrices = showPrice;
11962
- });
11963
12149
  }
11964
12150
  actualizarCantidad(_t13, arg1, arg2, arg3, arg4) {
11965
12151
  throw new Error('Method not implemented.');
@@ -11977,11 +12163,11 @@ class SidebarEcComponent {
11977
12163
  throw new Error('Method not implemented.');
11978
12164
  }
11979
12165
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SidebarEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11980
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SidebarEcComponent, isStandalone: true, selector: "app-sidebar-ec", ngImport: i0, template: "<div class=\"nav nav-sidebar py-4 mx-0 position-relative text-center shadow-sm border-bottom d-flex justify-content-center\">\r\n <h2 class=\"row text-center\">Mi pedido</h2>\r\n <div class=\" me-3 closeCart position-absolute end-0\" data-bs-dismiss=\"offcanvas\" aria-label=\"Close\">\r\n <i class=\"fa fa-times-circle fs-5\" aria-hidden=\"true\"></i>\r\n </div>\r\n</div>\r\n\r\n\r\n@if(cartItems$ | async; as items){\r\n @if(items.length > 0){\r\n <!-- PRODUCTO -->\r\n <div class=\"d-flex flex-column mb-4 items border-bottom\">\r\n @for(item of items; track $index; let i = $index){\r\n <div class=\"productoCarrito mt-1 mb-2 w-100\">\r\n <app-cart-item-ec [inSidebar]=\"true\" [item]=\"item\"></app-cart-item-ec>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"d-flex mx-4 justify-content-between mt-2 \">\r\n <p class=\"fw-bold\">Subtotal</p>\r\n <p class=\"fw-700\">{{ (subTotalAmount$ | async) | ecCurrencySymbol}}</p>\r\n </div>\r\n <div class=\"mx-4 bordeBot py-2\">\r\n <app-coupon-ec></app-coupon-ec>\r\n </div>\r\n <div class=\"d-flex mx-4 justify-content-between bordeBot2 mt-2\">\r\n <p class=\"fw-bold\">Descuentos:</p>\r\n <p>{{ (totalPromotionAmount$ | async) |ecCurrencySymbol }}</p>\r\n </div>\r\n\r\n <div class=\"d-flex mx-4 justify-content-between bordeBot2 pt-2\">\r\n <!-- @if(this._cartService.cart.source.value.couponCode){\r\n <a class=\"quitar-cupon text-dark\" role=\"button\"\r\n (click)=\"removeCoupon()\">(Quitar cup\u00F3n)</a>\r\n } -->\r\n </div>\r\n <div class=\"d-flex mx-4 justify-content-between mb-3 mt-2\">\r\n <p class=\"fw-bold h5\">TOTAL</p>\r\n <p class=\"fw-bold h5\">{{(totalAmount$ | async) | ecCurrencySymbol}}</p>\r\n </div>\r\n <div class=\"d-flex flex-column mx-4 justify-content-between mb-3\" data-bs-dismiss=\"offcanvas\" aria-label=\"Close\">\r\n <a [routerLink]=\"['/cart']\" class=\"btn btnPedido mb-2\">FINALIZAR PEDIDO</a>\r\n <a [routerLink]=\"['/collection']\" class=\"btn btnSeguir mb-3\">SEGUIR COMPRANDO</a>\r\n </div>\r\n\r\n\r\n } @else {\r\n <div class=\"container-lg px-lg-0 px-md-4 my-5\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <h5 class=\"text-center mb-sm-4 text-uppercase\"> \u00B7 Su carrito se\r\n encuentra vac\u00EDo \u00B7 </h5>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n}", styles: [""], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: CouponEcComponent, selector: "app-coupon-ec" }, { kind: "component", type: CartItemEcComponent, selector: "app-cart-item-ec", inputs: ["item", "inSidebar"] }, { kind: "pipe", type: EcCurrencySymbolPipe, name: "ecCurrencySymbol" }] });
12166
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SidebarEcComponent, isStandalone: true, selector: "app-sidebar-ec", ngImport: i0, template: "<div class=\"nav nav-sidebar py-4 mx-0 position-relative text-center shadow-sm border-bottom d-flex justify-content-center\">\n <h2 class=\"row text-center\">Mi pedido</h2>\n <div class=\" me-3 closeCart position-absolute end-0\" data-bs-dismiss=\"offcanvas\" aria-label=\"Close\">\n <i class=\"fa fa-times-circle fs-5\" aria-hidden=\"true\"></i>\n </div>\n</div>\n\n\n@if(cartItems$ | async; as items){\n @if(items.length > 0){\n <!-- PRODUCTO -->\n <div class=\"d-flex flex-column mb-4 items border-bottom\">\n @for(item of items; track $index; let i = $index){\n <div class=\"productoCarrito mt-1 mb-2 w-100\">\n <app-cart-item-ec [inSidebar]=\"true\" [item]=\"item\"></app-cart-item-ec>\n </div>\n }\n </div>\n @if (priceVisibility.canShowPrices()) {\n <div class=\"d-flex mx-4 justify-content-between mt-2 \">\n <p class=\"fw-bold\">Subtotal</p>\n <p class=\"fw-700\">{{ (subTotalAmount$ | async) | ecCurrencySymbol}}</p>\n </div>\n <div class=\"mx-4 bordeBot py-2\">\n <app-coupon-ec></app-coupon-ec>\n </div>\n <div class=\"d-flex mx-4 justify-content-between bordeBot2 mt-2\">\n <p class=\"fw-bold\">Descuentos:</p>\n <p>{{ (totalPromotionAmount$ | async) |ecCurrencySymbol }}</p>\n </div>\n\n <div class=\"d-flex mx-4 justify-content-between bordeBot2 pt-2\">\n <!-- @if(this._cartService.cart.source.value.couponCode){\n <a class=\"quitar-cupon text-dark\" role=\"button\"\n (click)=\"removeCoupon()\">(Quitar cup\u00F3n)</a>\n } -->\n </div>\n <div class=\"d-flex mx-4 justify-content-between mb-3 mt-2\">\n <p class=\"fw-bold h5\">TOTAL</p>\n <p class=\"fw-bold h5\">{{(totalAmount$ | async) | ecCurrencySymbol}}</p>\n </div>\n }\n <div class=\"d-flex flex-column mx-4 justify-content-between mb-3\" data-bs-dismiss=\"offcanvas\" aria-label=\"Close\">\n <a [routerLink]=\"['/cart']\" class=\"btn btnPedido mb-2\">FINALIZAR PEDIDO</a>\n <a [routerLink]=\"['/collection']\" class=\"btn btnSeguir mb-3\">SEGUIR COMPRANDO</a>\n </div>\n\n\n } @else {\n <div class=\"container-lg px-lg-0 px-md-4 my-5\">\n <div class=\"row\">\n <div class=\"col-12\">\n <h5 class=\"text-center mb-sm-4 text-uppercase\"> \u00B7 Su carrito se\n encuentra vac\u00EDo \u00B7 </h5>\n </div>\n </div>\n </div>\n }\n}", styles: [""], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: CouponEcComponent, selector: "app-coupon-ec" }, { kind: "component", type: CartItemEcComponent, selector: "app-cart-item-ec", inputs: ["item", "inSidebar"] }, { kind: "pipe", type: EcCurrencySymbolPipe, name: "ecCurrencySymbol" }] });
11981
12167
  }
11982
12168
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SidebarEcComponent, decorators: [{
11983
12169
  type: Component,
11984
- args: [{ selector: 'app-sidebar-ec', standalone: true, imports: [RouterLink, AsyncPipe, CouponEcComponent, CartItemEcComponent, EcCurrencySymbolPipe, CouponEcComponent], template: "<div class=\"nav nav-sidebar py-4 mx-0 position-relative text-center shadow-sm border-bottom d-flex justify-content-center\">\r\n <h2 class=\"row text-center\">Mi pedido</h2>\r\n <div class=\" me-3 closeCart position-absolute end-0\" data-bs-dismiss=\"offcanvas\" aria-label=\"Close\">\r\n <i class=\"fa fa-times-circle fs-5\" aria-hidden=\"true\"></i>\r\n </div>\r\n</div>\r\n\r\n\r\n@if(cartItems$ | async; as items){\r\n @if(items.length > 0){\r\n <!-- PRODUCTO -->\r\n <div class=\"d-flex flex-column mb-4 items border-bottom\">\r\n @for(item of items; track $index; let i = $index){\r\n <div class=\"productoCarrito mt-1 mb-2 w-100\">\r\n <app-cart-item-ec [inSidebar]=\"true\" [item]=\"item\"></app-cart-item-ec>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"d-flex mx-4 justify-content-between mt-2 \">\r\n <p class=\"fw-bold\">Subtotal</p>\r\n <p class=\"fw-700\">{{ (subTotalAmount$ | async) | ecCurrencySymbol}}</p>\r\n </div>\r\n <div class=\"mx-4 bordeBot py-2\">\r\n <app-coupon-ec></app-coupon-ec>\r\n </div>\r\n <div class=\"d-flex mx-4 justify-content-between bordeBot2 mt-2\">\r\n <p class=\"fw-bold\">Descuentos:</p>\r\n <p>{{ (totalPromotionAmount$ | async) |ecCurrencySymbol }}</p>\r\n </div>\r\n\r\n <div class=\"d-flex mx-4 justify-content-between bordeBot2 pt-2\">\r\n <!-- @if(this._cartService.cart.source.value.couponCode){\r\n <a class=\"quitar-cupon text-dark\" role=\"button\"\r\n (click)=\"removeCoupon()\">(Quitar cup\u00F3n)</a>\r\n } -->\r\n </div>\r\n <div class=\"d-flex mx-4 justify-content-between mb-3 mt-2\">\r\n <p class=\"fw-bold h5\">TOTAL</p>\r\n <p class=\"fw-bold h5\">{{(totalAmount$ | async) | ecCurrencySymbol}}</p>\r\n </div>\r\n <div class=\"d-flex flex-column mx-4 justify-content-between mb-3\" data-bs-dismiss=\"offcanvas\" aria-label=\"Close\">\r\n <a [routerLink]=\"['/cart']\" class=\"btn btnPedido mb-2\">FINALIZAR PEDIDO</a>\r\n <a [routerLink]=\"['/collection']\" class=\"btn btnSeguir mb-3\">SEGUIR COMPRANDO</a>\r\n </div>\r\n\r\n\r\n } @else {\r\n <div class=\"container-lg px-lg-0 px-md-4 my-5\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <h5 class=\"text-center mb-sm-4 text-uppercase\"> \u00B7 Su carrito se\r\n encuentra vac\u00EDo \u00B7 </h5>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n}" }]
12170
+ args: [{ selector: 'app-sidebar-ec', standalone: true, imports: [RouterLink, AsyncPipe, CouponEcComponent, CartItemEcComponent, EcCurrencySymbolPipe, CouponEcComponent], template: "<div class=\"nav nav-sidebar py-4 mx-0 position-relative text-center shadow-sm border-bottom d-flex justify-content-center\">\n <h2 class=\"row text-center\">Mi pedido</h2>\n <div class=\" me-3 closeCart position-absolute end-0\" data-bs-dismiss=\"offcanvas\" aria-label=\"Close\">\n <i class=\"fa fa-times-circle fs-5\" aria-hidden=\"true\"></i>\n </div>\n</div>\n\n\n@if(cartItems$ | async; as items){\n @if(items.length > 0){\n <!-- PRODUCTO -->\n <div class=\"d-flex flex-column mb-4 items border-bottom\">\n @for(item of items; track $index; let i = $index){\n <div class=\"productoCarrito mt-1 mb-2 w-100\">\n <app-cart-item-ec [inSidebar]=\"true\" [item]=\"item\"></app-cart-item-ec>\n </div>\n }\n </div>\n @if (priceVisibility.canShowPrices()) {\n <div class=\"d-flex mx-4 justify-content-between mt-2 \">\n <p class=\"fw-bold\">Subtotal</p>\n <p class=\"fw-700\">{{ (subTotalAmount$ | async) | ecCurrencySymbol}}</p>\n </div>\n <div class=\"mx-4 bordeBot py-2\">\n <app-coupon-ec></app-coupon-ec>\n </div>\n <div class=\"d-flex mx-4 justify-content-between bordeBot2 mt-2\">\n <p class=\"fw-bold\">Descuentos:</p>\n <p>{{ (totalPromotionAmount$ | async) |ecCurrencySymbol }}</p>\n </div>\n\n <div class=\"d-flex mx-4 justify-content-between bordeBot2 pt-2\">\n <!-- @if(this._cartService.cart.source.value.couponCode){\n <a class=\"quitar-cupon text-dark\" role=\"button\"\n (click)=\"removeCoupon()\">(Quitar cup\u00F3n)</a>\n } -->\n </div>\n <div class=\"d-flex mx-4 justify-content-between mb-3 mt-2\">\n <p class=\"fw-bold h5\">TOTAL</p>\n <p class=\"fw-bold h5\">{{(totalAmount$ | async) | ecCurrencySymbol}}</p>\n </div>\n }\n <div class=\"d-flex flex-column mx-4 justify-content-between mb-3\" data-bs-dismiss=\"offcanvas\" aria-label=\"Close\">\n <a [routerLink]=\"['/cart']\" class=\"btn btnPedido mb-2\">FINALIZAR PEDIDO</a>\n <a [routerLink]=\"['/collection']\" class=\"btn btnSeguir mb-3\">SEGUIR COMPRANDO</a>\n </div>\n\n\n } @else {\n <div class=\"container-lg px-lg-0 px-md-4 my-5\">\n <div class=\"row\">\n <div class=\"col-12\">\n <h5 class=\"text-center mb-sm-4 text-uppercase\"> \u00B7 Su carrito se\n encuentra vac\u00EDo \u00B7 </h5>\n </div>\n </div>\n </div>\n }\n}" }]
11985
12171
  }] });
11986
12172
 
11987
12173
  class RelatedProductsEcComponent extends BlockEcComponent {
@@ -12077,11 +12263,11 @@ class RelatedProductsEcComponent extends BlockEcComponent {
12077
12263
  }
12078
12264
  }
12079
12265
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RelatedProductsEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12080
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RelatedProductsEcComponent, isStandalone: true, selector: "app-related-products-ec", inputs: { appProduct: "appProduct", productID: "productID" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
12266
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RelatedProductsEcComponent, isStandalone: true, selector: "app-related-products-ec", inputs: { appProduct: "appProduct", productID: "productID" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
12081
12267
  }
12082
12268
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RelatedProductsEcComponent, decorators: [{
12083
12269
  type: Component,
12084
- args: [{ selector: 'app-related-products-ec', standalone: true, imports: [AsyncPipe, ProductEcComponent, CommonModule], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "\r\n" }]
12270
+ args: [{ selector: 'app-related-products-ec', standalone: true, imports: [AsyncPipe, ProductEcComponent, CommonModule], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "\n" }]
12085
12271
  }], ctorParameters: () => [], propDecorators: { appProduct: [{
12086
12272
  type: Input
12087
12273
  }], productID: [{
@@ -12111,21 +12297,21 @@ class FaqsEcComponent {
12111
12297
  }).catch(err => this._toastService.show('empty-faqs'));
12112
12298
  }
12113
12299
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FaqsEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12114
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FaqsEcComponent, isStandalone: true, selector: "app-faqs-ec", ngImport: i0, template: "<section class=\"formulario container py-2\">\r\n@if(faqs$ | async; as faqs){\r\n @if(!empty_faqs){\r\n <div class=\"d-flex align-items-start row\">\r\n <div class=\"nav flex-column nav-pills me-3 col-2\" id=\"v-pills-tab\" role=\"tablist\" aria-orientation=\"vertical\">\r\n @for(faq of faqs; track $index; let i = $index){\r\n <button [class]=\"'nav-link '+(i==0 ? 'active': '')\" [id]=\"'v-pills-'+faq.code+'-tab'\" data-bs-toggle=\"pill\" [attr.data-bs-target]=\"'#v-pills-'+faq.code\" type=\"button\" role=\"tab\" [attr.aria-controls]=\"'v-pills-'+faq.code\" [attr.aria-selected]=\"(i==0)\">{{faq.title}}</button>\r\n }\r\n </div>\r\n <div class=\"tab-content col-9\" id=\"v-pills-tabContent\">\r\n @for(faq of faqs; track $index; let i = $index){\r\n <div [class]=\"'tab-pane fade '+(i==0 ? 'show active' : '')\" [id]=\"'v-pills-'+faq.code\" role=\"tabpanel\" [attr.aria-labelledby]=\"'v-pills-'+faq.code+'-tab'\" tabindex=\"0\">\r\n <div class=\"accordion\" id=\"accordionFaqs\">\r\n @for(item of faq.questions; track $index; let i = $index){\r\n <div class=\"accordion-item\">\r\n <h2 class=\"accordion-header\">\r\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\"\r\n [attr.data-bs-target]=\"'#collapse-'+i\" aria-expanded=\"false\" [attr.aria-controls]=\"'collapse-'+i\">\r\n {{item.question}}\r\n </button>\r\n </h2>\r\n <div [id]=\"'collapse-'+i\" class=\"accordion-collapse collapse\" data-bs-parent=\"#accordionFaqs\">\r\n <div class=\"accordion-body\">\r\n <p>{{item.answer}}</p>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }@else {\r\n <div class=\"d-flex justify-content-center\">\r\n {{ 'empty_faqs' | translate }}\r\n </div>\r\n }\r\n}@else {\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-12 align-items-center\">\r\n <div class=\"d-flex flex-column jusitfy-content-center align-items-center my-5\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n</section>", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: LoadingFullEcComponent, selector: "app-loading-full-ec" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] });
12300
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FaqsEcComponent, isStandalone: true, selector: "app-faqs-ec", ngImport: i0, template: "<section class=\"formulario container py-2\">\n@if(faqs$ | async; as faqs){\n @if(!empty_faqs){\n <div class=\"d-flex align-items-start row\">\n <div class=\"nav flex-column nav-pills me-3 col-2\" id=\"v-pills-tab\" role=\"tablist\" aria-orientation=\"vertical\">\n @for(faq of faqs; track $index; let i = $index){\n <button [class]=\"'nav-link '+(i==0 ? 'active': '')\" [id]=\"'v-pills-'+faq.code+'-tab'\" data-bs-toggle=\"pill\" [attr.data-bs-target]=\"'#v-pills-'+faq.code\" type=\"button\" role=\"tab\" [attr.aria-controls]=\"'v-pills-'+faq.code\" [attr.aria-selected]=\"(i==0)\">{{faq.title}}</button>\n }\n </div>\n <div class=\"tab-content col-9\" id=\"v-pills-tabContent\">\n @for(faq of faqs; track $index; let i = $index){\n <div [class]=\"'tab-pane fade '+(i==0 ? 'show active' : '')\" [id]=\"'v-pills-'+faq.code\" role=\"tabpanel\" [attr.aria-labelledby]=\"'v-pills-'+faq.code+'-tab'\" tabindex=\"0\">\n <div class=\"accordion\" id=\"accordionFaqs\">\n @for(item of faq.questions; track $index; let i = $index){\n <div class=\"accordion-item\">\n <h2 class=\"accordion-header\">\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\"\n [attr.data-bs-target]=\"'#collapse-'+i\" aria-expanded=\"false\" [attr.aria-controls]=\"'collapse-'+i\">\n {{item.question}}\n </button>\n </h2>\n <div [id]=\"'collapse-'+i\" class=\"accordion-collapse collapse\" data-bs-parent=\"#accordionFaqs\">\n <div class=\"accordion-body\">\n <p>{{item.answer}}</p>\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }@else {\n <div class=\"d-flex justify-content-center\">\n {{ 'empty_faqs' | translate }}\n </div>\n }\n}@else {\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12 align-items-center\">\n <div class=\"d-flex flex-column jusitfy-content-center align-items-center my-5\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n </div>\n </div>\n </div>\n}\n</section>", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: LoadingFullEcComponent, selector: "app-loading-full-ec" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] });
12115
12301
  }
12116
12302
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FaqsEcComponent, decorators: [{
12117
12303
  type: Component,
12118
- args: [{ selector: 'app-faqs-ec', standalone: true, imports: [AsyncPipe, LoadingFullEcComponent, TranslateModule], template: "<section class=\"formulario container py-2\">\r\n@if(faqs$ | async; as faqs){\r\n @if(!empty_faqs){\r\n <div class=\"d-flex align-items-start row\">\r\n <div class=\"nav flex-column nav-pills me-3 col-2\" id=\"v-pills-tab\" role=\"tablist\" aria-orientation=\"vertical\">\r\n @for(faq of faqs; track $index; let i = $index){\r\n <button [class]=\"'nav-link '+(i==0 ? 'active': '')\" [id]=\"'v-pills-'+faq.code+'-tab'\" data-bs-toggle=\"pill\" [attr.data-bs-target]=\"'#v-pills-'+faq.code\" type=\"button\" role=\"tab\" [attr.aria-controls]=\"'v-pills-'+faq.code\" [attr.aria-selected]=\"(i==0)\">{{faq.title}}</button>\r\n }\r\n </div>\r\n <div class=\"tab-content col-9\" id=\"v-pills-tabContent\">\r\n @for(faq of faqs; track $index; let i = $index){\r\n <div [class]=\"'tab-pane fade '+(i==0 ? 'show active' : '')\" [id]=\"'v-pills-'+faq.code\" role=\"tabpanel\" [attr.aria-labelledby]=\"'v-pills-'+faq.code+'-tab'\" tabindex=\"0\">\r\n <div class=\"accordion\" id=\"accordionFaqs\">\r\n @for(item of faq.questions; track $index; let i = $index){\r\n <div class=\"accordion-item\">\r\n <h2 class=\"accordion-header\">\r\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\"\r\n [attr.data-bs-target]=\"'#collapse-'+i\" aria-expanded=\"false\" [attr.aria-controls]=\"'collapse-'+i\">\r\n {{item.question}}\r\n </button>\r\n </h2>\r\n <div [id]=\"'collapse-'+i\" class=\"accordion-collapse collapse\" data-bs-parent=\"#accordionFaqs\">\r\n <div class=\"accordion-body\">\r\n <p>{{item.answer}}</p>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }@else {\r\n <div class=\"d-flex justify-content-center\">\r\n {{ 'empty_faqs' | translate }}\r\n </div>\r\n }\r\n}@else {\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-12 align-items-center\">\r\n <div class=\"d-flex flex-column jusitfy-content-center align-items-center my-5\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n</section>" }]
12304
+ args: [{ selector: 'app-faqs-ec', standalone: true, imports: [AsyncPipe, LoadingFullEcComponent, TranslateModule], template: "<section class=\"formulario container py-2\">\n@if(faqs$ | async; as faqs){\n @if(!empty_faqs){\n <div class=\"d-flex align-items-start row\">\n <div class=\"nav flex-column nav-pills me-3 col-2\" id=\"v-pills-tab\" role=\"tablist\" aria-orientation=\"vertical\">\n @for(faq of faqs; track $index; let i = $index){\n <button [class]=\"'nav-link '+(i==0 ? 'active': '')\" [id]=\"'v-pills-'+faq.code+'-tab'\" data-bs-toggle=\"pill\" [attr.data-bs-target]=\"'#v-pills-'+faq.code\" type=\"button\" role=\"tab\" [attr.aria-controls]=\"'v-pills-'+faq.code\" [attr.aria-selected]=\"(i==0)\">{{faq.title}}</button>\n }\n </div>\n <div class=\"tab-content col-9\" id=\"v-pills-tabContent\">\n @for(faq of faqs; track $index; let i = $index){\n <div [class]=\"'tab-pane fade '+(i==0 ? 'show active' : '')\" [id]=\"'v-pills-'+faq.code\" role=\"tabpanel\" [attr.aria-labelledby]=\"'v-pills-'+faq.code+'-tab'\" tabindex=\"0\">\n <div class=\"accordion\" id=\"accordionFaqs\">\n @for(item of faq.questions; track $index; let i = $index){\n <div class=\"accordion-item\">\n <h2 class=\"accordion-header\">\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\"\n [attr.data-bs-target]=\"'#collapse-'+i\" aria-expanded=\"false\" [attr.aria-controls]=\"'collapse-'+i\">\n {{item.question}}\n </button>\n </h2>\n <div [id]=\"'collapse-'+i\" class=\"accordion-collapse collapse\" data-bs-parent=\"#accordionFaqs\">\n <div class=\"accordion-body\">\n <p>{{item.answer}}</p>\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }@else {\n <div class=\"d-flex justify-content-center\">\n {{ 'empty_faqs' | translate }}\n </div>\n }\n}@else {\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12 align-items-center\">\n <div class=\"d-flex flex-column jusitfy-content-center align-items-center my-5\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n </div>\n </div>\n </div>\n}\n</section>" }]
12119
12305
  }] });
12120
12306
 
12121
12307
  class ShareFacebookEcComponent {
12122
12308
  shareLink;
12123
12309
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShareFacebookEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12124
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ShareFacebookEcComponent, isStandalone: true, selector: "app-share-facebook-ec", inputs: { shareLink: "shareLink" }, ngImport: i0, template: "<a target=\"_blank\" [href]=\"shareLink\" class=\"social-sharing__link\" title=\"Compartir en Facebook\">\r\n <svg aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" class=\"icon icon-facebook\" viewBox=\"0 0 32 32\">\r\n <path fill=\"#444\"\r\n d=\"M18.56 31.36V17.28h4.48l.64-5.12h-5.12v-3.2c0-1.28.64-2.56 2.56-2.56h2.56V1.28H19.2c-3.84 0-7.04 2.56-7.04 7.04v3.84H7.68v5.12h4.48v14.08h6.4z\">\r\n </path>\r\n </svg>\r\n <span class=\"social-sharing__title\" aria-hidden=\"true\">Compartir</span>\r\n</a>", styles: [""] });
12310
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ShareFacebookEcComponent, isStandalone: true, selector: "app-share-facebook-ec", inputs: { shareLink: "shareLink" }, ngImport: i0, template: "<a target=\"_blank\" [href]=\"shareLink\" class=\"social-sharing__link\" title=\"Compartir en Facebook\">\n <svg aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" class=\"icon icon-facebook\" viewBox=\"0 0 32 32\">\n <path fill=\"#444\"\n d=\"M18.56 31.36V17.28h4.48l.64-5.12h-5.12v-3.2c0-1.28.64-2.56 2.56-2.56h2.56V1.28H19.2c-3.84 0-7.04 2.56-7.04 7.04v3.84H7.68v5.12h4.48v14.08h6.4z\">\n </path>\n </svg>\n <span class=\"social-sharing__title\" aria-hidden=\"true\">Compartir</span>\n</a>", styles: [""] });
12125
12311
  }
12126
12312
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShareFacebookEcComponent, decorators: [{
12127
12313
  type: Component,
12128
- args: [{ selector: 'app-share-facebook-ec', standalone: true, template: "<a target=\"_blank\" [href]=\"shareLink\" class=\"social-sharing__link\" title=\"Compartir en Facebook\">\r\n <svg aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" class=\"icon icon-facebook\" viewBox=\"0 0 32 32\">\r\n <path fill=\"#444\"\r\n d=\"M18.56 31.36V17.28h4.48l.64-5.12h-5.12v-3.2c0-1.28.64-2.56 2.56-2.56h2.56V1.28H19.2c-3.84 0-7.04 2.56-7.04 7.04v3.84H7.68v5.12h4.48v14.08h6.4z\">\r\n </path>\r\n </svg>\r\n <span class=\"social-sharing__title\" aria-hidden=\"true\">Compartir</span>\r\n</a>" }]
12314
+ args: [{ selector: 'app-share-facebook-ec', standalone: true, template: "<a target=\"_blank\" [href]=\"shareLink\" class=\"social-sharing__link\" title=\"Compartir en Facebook\">\n <svg aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" class=\"icon icon-facebook\" viewBox=\"0 0 32 32\">\n <path fill=\"#444\"\n d=\"M18.56 31.36V17.28h4.48l.64-5.12h-5.12v-3.2c0-1.28.64-2.56 2.56-2.56h2.56V1.28H19.2c-3.84 0-7.04 2.56-7.04 7.04v3.84H7.68v5.12h4.48v14.08h6.4z\">\n </path>\n </svg>\n <span class=\"social-sharing__title\" aria-hidden=\"true\">Compartir</span>\n</a>" }]
12129
12315
  }], propDecorators: { shareLink: [{
12130
12316
  type: Input,
12131
12317
  args: [{
@@ -12136,11 +12322,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
12136
12322
  class ShareTwitterEcComponent {
12137
12323
  shareLink;
12138
12324
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShareTwitterEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12139
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ShareTwitterEcComponent, isStandalone: true, selector: "app-share-twitter-ec", inputs: { shareLink: "shareLink" }, ngImport: i0, template: "<a target=\"_blank\" [href]=\"shareLink\" class=\"social-sharing__link\" title=\"Tuitear en Twitter\">\r\n <svg aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" class=\"icon icon-twitter\" viewBox=\"0 0 32 32\">\r\n <path fill=\"#444\"\r\n d=\"M31.281 6.733q-1.304 1.924-3.13 3.26 0 .13.033.408t.033.408q0 2.543-.75 5.086t-2.282 4.858-3.635 4.108-5.053 2.869-6.341 1.076q-5.282 0-9.65-2.836.913.065 1.5.065 4.401 0 7.857-2.673-2.054-.033-3.668-1.255t-2.266-3.146q.554.13 1.206.13.88 0 1.663-.261-2.184-.456-3.619-2.184t-1.435-3.977v-.065q1.239.652 2.836.717-1.271-.848-2.021-2.233t-.75-2.983q0-1.63.815-3.195 2.38 2.967 5.754 4.678t7.319 1.907q-.228-.815-.228-1.434 0-2.608 1.858-4.45t4.532-1.842q1.304 0 2.51.522t2.054 1.467q2.152-.424 4.01-1.532-.685 2.217-2.771 3.488 1.989-.261 3.619-.978z\">\r\n </path>\r\n </svg>\r\n <span class=\"social-sharing__title\" aria-hidden=\"true\">Tuitear</span>\r\n</a>", styles: [""] });
12325
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ShareTwitterEcComponent, isStandalone: true, selector: "app-share-twitter-ec", inputs: { shareLink: "shareLink" }, ngImport: i0, template: "<a target=\"_blank\" [href]=\"shareLink\" class=\"social-sharing__link\" title=\"Tuitear en Twitter\">\n <svg aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" class=\"icon icon-twitter\" viewBox=\"0 0 32 32\">\n <path fill=\"#444\"\n d=\"M31.281 6.733q-1.304 1.924-3.13 3.26 0 .13.033.408t.033.408q0 2.543-.75 5.086t-2.282 4.858-3.635 4.108-5.053 2.869-6.341 1.076q-5.282 0-9.65-2.836.913.065 1.5.065 4.401 0 7.857-2.673-2.054-.033-3.668-1.255t-2.266-3.146q.554.13 1.206.13.88 0 1.663-.261-2.184-.456-3.619-2.184t-1.435-3.977v-.065q1.239.652 2.836.717-1.271-.848-2.021-2.233t-.75-2.983q0-1.63.815-3.195 2.38 2.967 5.754 4.678t7.319 1.907q-.228-.815-.228-1.434 0-2.608 1.858-4.45t4.532-1.842q1.304 0 2.51.522t2.054 1.467q2.152-.424 4.01-1.532-.685 2.217-2.771 3.488 1.989-.261 3.619-.978z\">\n </path>\n </svg>\n <span class=\"social-sharing__title\" aria-hidden=\"true\">Tuitear</span>\n</a>", styles: [""] });
12140
12326
  }
12141
12327
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShareTwitterEcComponent, decorators: [{
12142
12328
  type: Component,
12143
- args: [{ selector: 'app-share-twitter-ec', standalone: true, template: "<a target=\"_blank\" [href]=\"shareLink\" class=\"social-sharing__link\" title=\"Tuitear en Twitter\">\r\n <svg aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" class=\"icon icon-twitter\" viewBox=\"0 0 32 32\">\r\n <path fill=\"#444\"\r\n d=\"M31.281 6.733q-1.304 1.924-3.13 3.26 0 .13.033.408t.033.408q0 2.543-.75 5.086t-2.282 4.858-3.635 4.108-5.053 2.869-6.341 1.076q-5.282 0-9.65-2.836.913.065 1.5.065 4.401 0 7.857-2.673-2.054-.033-3.668-1.255t-2.266-3.146q.554.13 1.206.13.88 0 1.663-.261-2.184-.456-3.619-2.184t-1.435-3.977v-.065q1.239.652 2.836.717-1.271-.848-2.021-2.233t-.75-2.983q0-1.63.815-3.195 2.38 2.967 5.754 4.678t7.319 1.907q-.228-.815-.228-1.434 0-2.608 1.858-4.45t4.532-1.842q1.304 0 2.51.522t2.054 1.467q2.152-.424 4.01-1.532-.685 2.217-2.771 3.488 1.989-.261 3.619-.978z\">\r\n </path>\r\n </svg>\r\n <span class=\"social-sharing__title\" aria-hidden=\"true\">Tuitear</span>\r\n</a>" }]
12329
+ args: [{ selector: 'app-share-twitter-ec', standalone: true, template: "<a target=\"_blank\" [href]=\"shareLink\" class=\"social-sharing__link\" title=\"Tuitear en Twitter\">\n <svg aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" class=\"icon icon-twitter\" viewBox=\"0 0 32 32\">\n <path fill=\"#444\"\n d=\"M31.281 6.733q-1.304 1.924-3.13 3.26 0 .13.033.408t.033.408q0 2.543-.75 5.086t-2.282 4.858-3.635 4.108-5.053 2.869-6.341 1.076q-5.282 0-9.65-2.836.913.065 1.5.065 4.401 0 7.857-2.673-2.054-.033-3.668-1.255t-2.266-3.146q.554.13 1.206.13.88 0 1.663-.261-2.184-.456-3.619-2.184t-1.435-3.977v-.065q1.239.652 2.836.717-1.271-.848-2.021-2.233t-.75-2.983q0-1.63.815-3.195 2.38 2.967 5.754 4.678t7.319 1.907q-.228-.815-.228-1.434 0-2.608 1.858-4.45t4.532-1.842q1.304 0 2.51.522t2.054 1.467q2.152-.424 4.01-1.532-.685 2.217-2.771 3.488 1.989-.261 3.619-.978z\">\n </path>\n </svg>\n <span class=\"social-sharing__title\" aria-hidden=\"true\">Tuitear</span>\n</a>" }]
12144
12330
  }], propDecorators: { shareLink: [{
12145
12331
  type: Input,
12146
12332
  args: [{
@@ -12151,11 +12337,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
12151
12337
  class SharePinterestEcComponent {
12152
12338
  shareLink;
12153
12339
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SharePinterestEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12154
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SharePinterestEcComponent, isStandalone: true, selector: "app-share-pinterest-ec", inputs: { shareLink: "shareLink" }, ngImport: i0, template: "<a target=\"_blank\" [href]=\"shareLink\" class=\"social-sharing__link\" title=\"Pinear en Pinterest\">\r\n <svg aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" class=\"icon icon-pinterest\" viewBox=\"0 0 32 32\">\r\n <path fill=\"#444\"\r\n d=\"M27.52 9.6c-.64-5.76-6.4-8.32-12.8-7.68-4.48.64-9.6 4.48-9.6 10.24 0 3.2.64 5.76 3.84 6.4 1.28-2.56-.64-3.2-.64-4.48-1.28-7.04 8.32-12.16 13.44-7.04 3.2 3.84 1.28 14.08-4.48 13.44-5.12-1.28 2.56-9.6-1.92-11.52-3.2-1.28-5.12 4.48-3.84 7.04-1.28 4.48-3.2 8.96-1.92 15.36 2.56-1.92 3.84-5.76 4.48-9.6 1.28.64 1.92 1.92 3.84 1.92 6.4-.64 10.24-7.68 9.6-14.08z\">\r\n </path>\r\n </svg>\r\n <span class=\"social-sharing__title\" aria-hidden=\"true\">Hacer pin</span>\r\n</a>", styles: [""] });
12340
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SharePinterestEcComponent, isStandalone: true, selector: "app-share-pinterest-ec", inputs: { shareLink: "shareLink" }, ngImport: i0, template: "<a target=\"_blank\" [href]=\"shareLink\" class=\"social-sharing__link\" title=\"Pinear en Pinterest\">\n <svg aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" class=\"icon icon-pinterest\" viewBox=\"0 0 32 32\">\n <path fill=\"#444\"\n d=\"M27.52 9.6c-.64-5.76-6.4-8.32-12.8-7.68-4.48.64-9.6 4.48-9.6 10.24 0 3.2.64 5.76 3.84 6.4 1.28-2.56-.64-3.2-.64-4.48-1.28-7.04 8.32-12.16 13.44-7.04 3.2 3.84 1.28 14.08-4.48 13.44-5.12-1.28 2.56-9.6-1.92-11.52-3.2-1.28-5.12 4.48-3.84 7.04-1.28 4.48-3.2 8.96-1.92 15.36 2.56-1.92 3.84-5.76 4.48-9.6 1.28.64 1.92 1.92 3.84 1.92 6.4-.64 10.24-7.68 9.6-14.08z\">\n </path>\n </svg>\n <span class=\"social-sharing__title\" aria-hidden=\"true\">Hacer pin</span>\n</a>", styles: [""] });
12155
12341
  }
12156
12342
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SharePinterestEcComponent, decorators: [{
12157
12343
  type: Component,
12158
- args: [{ selector: 'app-share-pinterest-ec', standalone: true, template: "<a target=\"_blank\" [href]=\"shareLink\" class=\"social-sharing__link\" title=\"Pinear en Pinterest\">\r\n <svg aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" class=\"icon icon-pinterest\" viewBox=\"0 0 32 32\">\r\n <path fill=\"#444\"\r\n d=\"M27.52 9.6c-.64-5.76-6.4-8.32-12.8-7.68-4.48.64-9.6 4.48-9.6 10.24 0 3.2.64 5.76 3.84 6.4 1.28-2.56-.64-3.2-.64-4.48-1.28-7.04 8.32-12.16 13.44-7.04 3.2 3.84 1.28 14.08-4.48 13.44-5.12-1.28 2.56-9.6-1.92-11.52-3.2-1.28-5.12 4.48-3.84 7.04-1.28 4.48-3.2 8.96-1.92 15.36 2.56-1.92 3.84-5.76 4.48-9.6 1.28.64 1.92 1.92 3.84 1.92 6.4-.64 10.24-7.68 9.6-14.08z\">\r\n </path>\r\n </svg>\r\n <span class=\"social-sharing__title\" aria-hidden=\"true\">Hacer pin</span>\r\n</a>" }]
12344
+ args: [{ selector: 'app-share-pinterest-ec', standalone: true, template: "<a target=\"_blank\" [href]=\"shareLink\" class=\"social-sharing__link\" title=\"Pinear en Pinterest\">\n <svg aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" class=\"icon icon-pinterest\" viewBox=\"0 0 32 32\">\n <path fill=\"#444\"\n d=\"M27.52 9.6c-.64-5.76-6.4-8.32-12.8-7.68-4.48.64-9.6 4.48-9.6 10.24 0 3.2.64 5.76 3.84 6.4 1.28-2.56-.64-3.2-.64-4.48-1.28-7.04 8.32-12.16 13.44-7.04 3.2 3.84 1.28 14.08-4.48 13.44-5.12-1.28 2.56-9.6-1.92-11.52-3.2-1.28-5.12 4.48-3.84 7.04-1.28 4.48-3.2 8.96-1.92 15.36 2.56-1.92 3.84-5.76 4.48-9.6 1.28.64 1.92 1.92 3.84 1.92 6.4-.64 10.24-7.68 9.6-14.08z\">\n </path>\n </svg>\n <span class=\"social-sharing__title\" aria-hidden=\"true\">Hacer pin</span>\n</a>" }]
12159
12345
  }], propDecorators: { shareLink: [{
12160
12346
  type: Input,
12161
12347
  args: [{
@@ -12166,11 +12352,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
12166
12352
  class ShareWhatsappEcComponent {
12167
12353
  shareLink;
12168
12354
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShareWhatsappEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12169
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ShareWhatsappEcComponent, isStandalone: true, selector: "app-share-whatsapp-ec", inputs: { shareLink: "shareLink" }, ngImport: i0, template: "<a target=\"_blank\" [href]=\"shareLink\" class=\"social-sharing__link\" title=\"Whatsapp\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" fill=\"currentColor\"\r\n class=\"bi bi-whatsapp\" viewBox=\"0 0 16 16\">\r\n <path\r\n d=\"M13.601 2.326A7.854 7.854 0 0 0 7.994 0C3.627 0 .068 3.558.064 7.926c0 1.399.366 2.76 1.057 3.965L0 16l4.204-1.102a7.933 7.933 0 0 0 3.79.965h.004c4.368 0 7.926-3.558 7.93-7.93A7.898 7.898 0 0 0 13.6 2.326zM7.994 14.521a6.573 6.573 0 0 1-3.356-.92l-.24-.144-2.494.654.666-2.433-.156-.251a6.56 6.56 0 0 1-1.007-3.505c0-3.626 2.957-6.584 6.591-6.584a6.56 6.56 0 0 1 4.66 1.931 6.557 6.557 0 0 1 1.928 4.66c-.004 3.639-2.961 6.592-6.592 6.592zm3.615-4.934c-.197-.099-1.17-.578-1.353-.646-.182-.065-.315-.099-.445.099-.133.197-.513.646-.627.775-.114.133-.232.148-.43.05-.197-.1-.836-.308-1.592-.985-.59-.525-.985-1.175-1.103-1.372-.114-.198-.011-.304.088-.403.087-.088.197-.232.296-.346.1-.114.133-.198.198-.33.065-.134.034-.248-.015-.347-.05-.099-.445-1.076-.612-1.47-.16-.389-.323-.335-.445-.34-.114-.007-.247-.007-.38-.007a.729.729 0 0 0-.529.247c-.182.198-.691.677-.691 1.654 0 .977.71 1.916.81 2.049.098.133 1.394 2.132 3.383 2.992.47.205.84.326 1.129.418.475.152.904.129 1.246.08.38-.058 1.171-.48 1.338-.943.164-.464.164-.86.114-.943-.049-.084-.182-.133-.38-.232z\" />\r\n </svg>\r\n <span class=\"social-sharing__title\" aria-hidden=\"true\">Whatsapp</span>\r\n</a>\r\n", styles: [""] });
12355
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ShareWhatsappEcComponent, isStandalone: true, selector: "app-share-whatsapp-ec", inputs: { shareLink: "shareLink" }, ngImport: i0, template: "<a target=\"_blank\" [href]=\"shareLink\" class=\"social-sharing__link\" title=\"Whatsapp\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" fill=\"currentColor\"\n class=\"bi bi-whatsapp\" viewBox=\"0 0 16 16\">\n <path\n d=\"M13.601 2.326A7.854 7.854 0 0 0 7.994 0C3.627 0 .068 3.558.064 7.926c0 1.399.366 2.76 1.057 3.965L0 16l4.204-1.102a7.933 7.933 0 0 0 3.79.965h.004c4.368 0 7.926-3.558 7.93-7.93A7.898 7.898 0 0 0 13.6 2.326zM7.994 14.521a6.573 6.573 0 0 1-3.356-.92l-.24-.144-2.494.654.666-2.433-.156-.251a6.56 6.56 0 0 1-1.007-3.505c0-3.626 2.957-6.584 6.591-6.584a6.56 6.56 0 0 1 4.66 1.931 6.557 6.557 0 0 1 1.928 4.66c-.004 3.639-2.961 6.592-6.592 6.592zm3.615-4.934c-.197-.099-1.17-.578-1.353-.646-.182-.065-.315-.099-.445.099-.133.197-.513.646-.627.775-.114.133-.232.148-.43.05-.197-.1-.836-.308-1.592-.985-.59-.525-.985-1.175-1.103-1.372-.114-.198-.011-.304.088-.403.087-.088.197-.232.296-.346.1-.114.133-.198.198-.33.065-.134.034-.248-.015-.347-.05-.099-.445-1.076-.612-1.47-.16-.389-.323-.335-.445-.34-.114-.007-.247-.007-.38-.007a.729.729 0 0 0-.529.247c-.182.198-.691.677-.691 1.654 0 .977.71 1.916.81 2.049.098.133 1.394 2.132 3.383 2.992.47.205.84.326 1.129.418.475.152.904.129 1.246.08.38-.058 1.171-.48 1.338-.943.164-.464.164-.86.114-.943-.049-.084-.182-.133-.38-.232z\" />\n </svg>\n <span class=\"social-sharing__title\" aria-hidden=\"true\">Whatsapp</span>\n</a>\n", styles: [""] });
12170
12356
  }
12171
12357
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShareWhatsappEcComponent, decorators: [{
12172
12358
  type: Component,
12173
- args: [{ selector: 'app-share-whatsapp-ec', standalone: true, imports: [], template: "<a target=\"_blank\" [href]=\"shareLink\" class=\"social-sharing__link\" title=\"Whatsapp\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" fill=\"currentColor\"\r\n class=\"bi bi-whatsapp\" viewBox=\"0 0 16 16\">\r\n <path\r\n d=\"M13.601 2.326A7.854 7.854 0 0 0 7.994 0C3.627 0 .068 3.558.064 7.926c0 1.399.366 2.76 1.057 3.965L0 16l4.204-1.102a7.933 7.933 0 0 0 3.79.965h.004c4.368 0 7.926-3.558 7.93-7.93A7.898 7.898 0 0 0 13.6 2.326zM7.994 14.521a6.573 6.573 0 0 1-3.356-.92l-.24-.144-2.494.654.666-2.433-.156-.251a6.56 6.56 0 0 1-1.007-3.505c0-3.626 2.957-6.584 6.591-6.584a6.56 6.56 0 0 1 4.66 1.931 6.557 6.557 0 0 1 1.928 4.66c-.004 3.639-2.961 6.592-6.592 6.592zm3.615-4.934c-.197-.099-1.17-.578-1.353-.646-.182-.065-.315-.099-.445.099-.133.197-.513.646-.627.775-.114.133-.232.148-.43.05-.197-.1-.836-.308-1.592-.985-.59-.525-.985-1.175-1.103-1.372-.114-.198-.011-.304.088-.403.087-.088.197-.232.296-.346.1-.114.133-.198.198-.33.065-.134.034-.248-.015-.347-.05-.099-.445-1.076-.612-1.47-.16-.389-.323-.335-.445-.34-.114-.007-.247-.007-.38-.007a.729.729 0 0 0-.529.247c-.182.198-.691.677-.691 1.654 0 .977.71 1.916.81 2.049.098.133 1.394 2.132 3.383 2.992.47.205.84.326 1.129.418.475.152.904.129 1.246.08.38-.058 1.171-.48 1.338-.943.164-.464.164-.86.114-.943-.049-.084-.182-.133-.38-.232z\" />\r\n </svg>\r\n <span class=\"social-sharing__title\" aria-hidden=\"true\">Whatsapp</span>\r\n</a>\r\n" }]
12359
+ args: [{ selector: 'app-share-whatsapp-ec', standalone: true, imports: [], template: "<a target=\"_blank\" [href]=\"shareLink\" class=\"social-sharing__link\" title=\"Whatsapp\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" fill=\"currentColor\"\n class=\"bi bi-whatsapp\" viewBox=\"0 0 16 16\">\n <path\n d=\"M13.601 2.326A7.854 7.854 0 0 0 7.994 0C3.627 0 .068 3.558.064 7.926c0 1.399.366 2.76 1.057 3.965L0 16l4.204-1.102a7.933 7.933 0 0 0 3.79.965h.004c4.368 0 7.926-3.558 7.93-7.93A7.898 7.898 0 0 0 13.6 2.326zM7.994 14.521a6.573 6.573 0 0 1-3.356-.92l-.24-.144-2.494.654.666-2.433-.156-.251a6.56 6.56 0 0 1-1.007-3.505c0-3.626 2.957-6.584 6.591-6.584a6.56 6.56 0 0 1 4.66 1.931 6.557 6.557 0 0 1 1.928 4.66c-.004 3.639-2.961 6.592-6.592 6.592zm3.615-4.934c-.197-.099-1.17-.578-1.353-.646-.182-.065-.315-.099-.445.099-.133.197-.513.646-.627.775-.114.133-.232.148-.43.05-.197-.1-.836-.308-1.592-.985-.59-.525-.985-1.175-1.103-1.372-.114-.198-.011-.304.088-.403.087-.088.197-.232.296-.346.1-.114.133-.198.198-.33.065-.134.034-.248-.015-.347-.05-.099-.445-1.076-.612-1.47-.16-.389-.323-.335-.445-.34-.114-.007-.247-.007-.38-.007a.729.729 0 0 0-.529.247c-.182.198-.691.677-.691 1.654 0 .977.71 1.916.81 2.049.098.133 1.394 2.132 3.383 2.992.47.205.84.326 1.129.418.475.152.904.129 1.246.08.38-.058 1.171-.48 1.338-.943.164-.464.164-.86.114-.943-.049-.084-.182-.133-.38-.232z\" />\n </svg>\n <span class=\"social-sharing__title\" aria-hidden=\"true\">Whatsapp</span>\n</a>\n" }]
12174
12360
  }], propDecorators: { shareLink: [{
12175
12361
  type: Input,
12176
12362
  args: [{
@@ -12181,11 +12367,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
12181
12367
  class ShareEmailEcComponent {
12182
12368
  shareLink;
12183
12369
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShareEmailEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12184
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ShareEmailEcComponent, isStandalone: true, selector: "app-share-email-ec", inputs: { shareLink: "shareLink" }, ngImport: i0, template: "<a target=\"_blank\" [href]=\"shareLink\" class=\"social-sharing__link\" title=\"Email\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" fill=\"currentColor\"\r\n class=\"bi bi-envelope-fill\" viewBox=\"0 0 16 16\">\r\n <path\r\n d=\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555ZM0 4.697v7.104l5.803-3.558L0 4.697ZM6.761 8.83l-6.57 4.027A2 2 0 0 0 2 14h12a2 2 0 0 0 1.808-1.144l-6.57-4.027L8 9.586l-1.239-.757Zm3.436-.586L16 11.801V4.697l-5.803 3.546Z\" />\r\n </svg>\r\n <span class=\"social-sharing__title\" aria-hidden=\"true\">Email</span>\r\n</a>", styles: [""] });
12370
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ShareEmailEcComponent, isStandalone: true, selector: "app-share-email-ec", inputs: { shareLink: "shareLink" }, ngImport: i0, template: "<a target=\"_blank\" [href]=\"shareLink\" class=\"social-sharing__link\" title=\"Email\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" fill=\"currentColor\"\n class=\"bi bi-envelope-fill\" viewBox=\"0 0 16 16\">\n <path\n d=\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555ZM0 4.697v7.104l5.803-3.558L0 4.697ZM6.761 8.83l-6.57 4.027A2 2 0 0 0 2 14h12a2 2 0 0 0 1.808-1.144l-6.57-4.027L8 9.586l-1.239-.757Zm3.436-.586L16 11.801V4.697l-5.803 3.546Z\" />\n </svg>\n <span class=\"social-sharing__title\" aria-hidden=\"true\">Email</span>\n</a>", styles: [""] });
12185
12371
  }
12186
12372
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShareEmailEcComponent, decorators: [{
12187
12373
  type: Component,
12188
- args: [{ selector: 'app-share-email-ec', standalone: true, imports: [], template: "<a target=\"_blank\" [href]=\"shareLink\" class=\"social-sharing__link\" title=\"Email\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" fill=\"currentColor\"\r\n class=\"bi bi-envelope-fill\" viewBox=\"0 0 16 16\">\r\n <path\r\n d=\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555ZM0 4.697v7.104l5.803-3.558L0 4.697ZM6.761 8.83l-6.57 4.027A2 2 0 0 0 2 14h12a2 2 0 0 0 1.808-1.144l-6.57-4.027L8 9.586l-1.239-.757Zm3.436-.586L16 11.801V4.697l-5.803 3.546Z\" />\r\n </svg>\r\n <span class=\"social-sharing__title\" aria-hidden=\"true\">Email</span>\r\n</a>" }]
12374
+ args: [{ selector: 'app-share-email-ec', standalone: true, imports: [], template: "<a target=\"_blank\" [href]=\"shareLink\" class=\"social-sharing__link\" title=\"Email\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" fill=\"currentColor\"\n class=\"bi bi-envelope-fill\" viewBox=\"0 0 16 16\">\n <path\n d=\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555ZM0 4.697v7.104l5.803-3.558L0 4.697ZM6.761 8.83l-6.57 4.027A2 2 0 0 0 2 14h12a2 2 0 0 0 1.808-1.144l-6.57-4.027L8 9.586l-1.239-.757Zm3.436-.586L16 11.801V4.697l-5.803 3.546Z\" />\n </svg>\n <span class=\"social-sharing__title\" aria-hidden=\"true\">Email</span>\n</a>" }]
12189
12375
  }], propDecorators: { shareLink: [{
12190
12376
  type: Input,
12191
12377
  args: [{
@@ -12292,7 +12478,7 @@ class ShareEcComponent {
12292
12478
  return `mailto:${mail.value}?subject=Consulta%20sobre%20el%20producto:%20${this.description}&body=Artículo:%20${this.url}`;
12293
12479
  };
12294
12480
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShareEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12295
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ShareEcComponent, isStandalone: true, selector: "app-share-ec", inputs: { product: "product" }, ngImport: i0, template: "<div class=\"w-100 d-flex justify-content-around\">\r\n @if(params && params.length > 0){ \r\n @if(hasParams(params, 'facebook')){\r\n <app-share-facebook-ec [shareLink]=\"toShareFacebook()\" />\r\n }\r\n @if(hasParams(params, 'twitter')){\r\n <app-share-twitter-ec [shareLink]=\"toShareTwitter()\" />\r\n }\r\n @if(hasParams(params, 'pinterest')){\r\n <app-share-pinterest-ec [shareLink]=\"toSharePinterest()\" />\r\n }\r\n @if(hasParams(params, 'whatsapp'); as wsp){\r\n <app-share-whatsapp-ec [shareLink]=\"toShareWhatsapp(wsp)\" />\r\n }\r\n @if(hasParams(params, 'email'); as email){\r\n <app-share-email-ec [shareLink]=\"toShareEmail(email)\" />\r\n }\r\n } @else {\r\n <!-- VISTA DEFAULT CON LINKS QUE NO REQUIEREN PARAMETROS-->\r\n <app-share-facebook-ec [shareLink]=\"toShareFacebook()\" />\r\n \r\n <app-share-twitter-ec [shareLink]=\"toShareTwitter()\" />\r\n\r\n <app-share-pinterest-ec [shareLink]=\"toSharePinterest()\" />\r\n }\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: ShareFacebookEcComponent, selector: "app-share-facebook-ec", inputs: ["shareLink"] }, { kind: "component", type: ShareTwitterEcComponent, selector: "app-share-twitter-ec", inputs: ["shareLink"] }, { kind: "component", type: SharePinterestEcComponent, selector: "app-share-pinterest-ec", inputs: ["shareLink"] }, { kind: "component", type: ShareWhatsappEcComponent, selector: "app-share-whatsapp-ec", inputs: ["shareLink"] }, { kind: "component", type: ShareEmailEcComponent, selector: "app-share-email-ec", inputs: ["shareLink"] }] });
12481
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ShareEcComponent, isStandalone: true, selector: "app-share-ec", inputs: { product: "product" }, ngImport: i0, template: "<div class=\"w-100 d-flex justify-content-around\">\n @if(params && params.length > 0){ \n @if(hasParams(params, 'facebook')){\n <app-share-facebook-ec [shareLink]=\"toShareFacebook()\" />\n }\n @if(hasParams(params, 'twitter')){\n <app-share-twitter-ec [shareLink]=\"toShareTwitter()\" />\n }\n @if(hasParams(params, 'pinterest')){\n <app-share-pinterest-ec [shareLink]=\"toSharePinterest()\" />\n }\n @if(hasParams(params, 'whatsapp'); as wsp){\n <app-share-whatsapp-ec [shareLink]=\"toShareWhatsapp(wsp)\" />\n }\n @if(hasParams(params, 'email'); as email){\n <app-share-email-ec [shareLink]=\"toShareEmail(email)\" />\n }\n } @else {\n <!-- VISTA DEFAULT CON LINKS QUE NO REQUIEREN PARAMETROS-->\n <app-share-facebook-ec [shareLink]=\"toShareFacebook()\" />\n \n <app-share-twitter-ec [shareLink]=\"toShareTwitter()\" />\n\n <app-share-pinterest-ec [shareLink]=\"toSharePinterest()\" />\n }\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ShareFacebookEcComponent, selector: "app-share-facebook-ec", inputs: ["shareLink"] }, { kind: "component", type: ShareTwitterEcComponent, selector: "app-share-twitter-ec", inputs: ["shareLink"] }, { kind: "component", type: SharePinterestEcComponent, selector: "app-share-pinterest-ec", inputs: ["shareLink"] }, { kind: "component", type: ShareWhatsappEcComponent, selector: "app-share-whatsapp-ec", inputs: ["shareLink"] }, { kind: "component", type: ShareEmailEcComponent, selector: "app-share-email-ec", inputs: ["shareLink"] }] });
12296
12482
  }
12297
12483
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShareEcComponent, decorators: [{
12298
12484
  type: Component,
@@ -12302,7 +12488,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
12302
12488
  SharePinterestEcComponent,
12303
12489
  ShareWhatsappEcComponent,
12304
12490
  ShareEmailEcComponent
12305
- ], template: "<div class=\"w-100 d-flex justify-content-around\">\r\n @if(params && params.length > 0){ \r\n @if(hasParams(params, 'facebook')){\r\n <app-share-facebook-ec [shareLink]=\"toShareFacebook()\" />\r\n }\r\n @if(hasParams(params, 'twitter')){\r\n <app-share-twitter-ec [shareLink]=\"toShareTwitter()\" />\r\n }\r\n @if(hasParams(params, 'pinterest')){\r\n <app-share-pinterest-ec [shareLink]=\"toSharePinterest()\" />\r\n }\r\n @if(hasParams(params, 'whatsapp'); as wsp){\r\n <app-share-whatsapp-ec [shareLink]=\"toShareWhatsapp(wsp)\" />\r\n }\r\n @if(hasParams(params, 'email'); as email){\r\n <app-share-email-ec [shareLink]=\"toShareEmail(email)\" />\r\n }\r\n } @else {\r\n <!-- VISTA DEFAULT CON LINKS QUE NO REQUIEREN PARAMETROS-->\r\n <app-share-facebook-ec [shareLink]=\"toShareFacebook()\" />\r\n \r\n <app-share-twitter-ec [shareLink]=\"toShareTwitter()\" />\r\n\r\n <app-share-pinterest-ec [shareLink]=\"toSharePinterest()\" />\r\n }\r\n</div>\r\n" }]
12491
+ ], template: "<div class=\"w-100 d-flex justify-content-around\">\n @if(params && params.length > 0){ \n @if(hasParams(params, 'facebook')){\n <app-share-facebook-ec [shareLink]=\"toShareFacebook()\" />\n }\n @if(hasParams(params, 'twitter')){\n <app-share-twitter-ec [shareLink]=\"toShareTwitter()\" />\n }\n @if(hasParams(params, 'pinterest')){\n <app-share-pinterest-ec [shareLink]=\"toSharePinterest()\" />\n }\n @if(hasParams(params, 'whatsapp'); as wsp){\n <app-share-whatsapp-ec [shareLink]=\"toShareWhatsapp(wsp)\" />\n }\n @if(hasParams(params, 'email'); as email){\n <app-share-email-ec [shareLink]=\"toShareEmail(email)\" />\n }\n } @else {\n <!-- VISTA DEFAULT CON LINKS QUE NO REQUIEREN PARAMETROS-->\n <app-share-facebook-ec [shareLink]=\"toShareFacebook()\" />\n \n <app-share-twitter-ec [shareLink]=\"toShareTwitter()\" />\n\n <app-share-pinterest-ec [shareLink]=\"toSharePinterest()\" />\n }\n</div>\n" }]
12306
12492
  }], ctorParameters: () => [], propDecorators: { product: [{
12307
12493
  type: Input,
12308
12494
  args: [{
@@ -12366,11 +12552,11 @@ class RatingEcComponent extends ComponentHelper {
12366
12552
  }
12367
12553
  };
12368
12554
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RatingEcComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
12369
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: RatingEcComponent, isStandalone: true, selector: "app-rating-ec", inputs: { template: "template", type: "type", ratingValue: "ratingValue" }, usesInheritance: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\r\n <ng-template #stars let-score=\"score\">\r\n @for (value of score; track $index) {\r\n @switch (value) {\r\n @case (1) {\r\n <i class=\"me-1 bi bi-star-fill text-warning star\"></i> \r\n }\r\n @case (0.5) {\r\n <i class=\"me-1 bi bi-star-half text-warning star\"></i>\r\n } \r\n @default {\r\n <i class=\"me-1 bi bi-star text-muted star\"></i>\r\n }\r\n }\r\n }\r\n </ng-template>\r\n <ng-container *ngSwitchCase=\"'stars'\"\r\n [ngTemplateOutlet]=\"template ? template : stars\"\r\n [ngTemplateOutletContext]=\"{score:score, ratingValue:ratingValue}\">\r\n </ng-container>\r\n</ng-container> \r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
12555
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: RatingEcComponent, isStandalone: true, selector: "app-rating-ec", inputs: { template: "template", type: "type", ratingValue: "ratingValue" }, usesInheritance: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\n <ng-template #stars let-score=\"score\">\n @for (value of score; track $index) {\n @switch (value) {\n @case (1) {\n <i class=\"me-1 bi bi-star-fill text-warning star\"></i> \n }\n @case (0.5) {\n <i class=\"me-1 bi bi-star-half text-warning star\"></i>\n } \n @default {\n <i class=\"me-1 bi bi-star text-muted star\"></i>\n }\n }\n }\n </ng-template>\n <ng-container *ngSwitchCase=\"'stars'\"\n [ngTemplateOutlet]=\"template ? template : stars\"\n [ngTemplateOutletContext]=\"{score:score, ratingValue:ratingValue}\">\n </ng-container>\n</ng-container> \n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
12370
12556
  }
12371
12557
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RatingEcComponent, decorators: [{
12372
12558
  type: Component,
12373
- args: [{ selector: 'app-rating-ec', standalone: true, imports: [CommonModule], template: "<ng-container [ngSwitch]=\"type\">\r\n <ng-template #stars let-score=\"score\">\r\n @for (value of score; track $index) {\r\n @switch (value) {\r\n @case (1) {\r\n <i class=\"me-1 bi bi-star-fill text-warning star\"></i> \r\n }\r\n @case (0.5) {\r\n <i class=\"me-1 bi bi-star-half text-warning star\"></i>\r\n } \r\n @default {\r\n <i class=\"me-1 bi bi-star text-muted star\"></i>\r\n }\r\n }\r\n }\r\n </ng-template>\r\n <ng-container *ngSwitchCase=\"'stars'\"\r\n [ngTemplateOutlet]=\"template ? template : stars\"\r\n [ngTemplateOutletContext]=\"{score:score, ratingValue:ratingValue}\">\r\n </ng-container>\r\n</ng-container> \r\n" }]
12559
+ args: [{ selector: 'app-rating-ec', standalone: true, imports: [CommonModule], template: "<ng-container [ngSwitch]=\"type\">\n <ng-template #stars let-score=\"score\">\n @for (value of score; track $index) {\n @switch (value) {\n @case (1) {\n <i class=\"me-1 bi bi-star-fill text-warning star\"></i> \n }\n @case (0.5) {\n <i class=\"me-1 bi bi-star-half text-warning star\"></i>\n } \n @default {\n <i class=\"me-1 bi bi-star text-muted star\"></i>\n }\n }\n }\n </ng-template>\n <ng-container *ngSwitchCase=\"'stars'\"\n [ngTemplateOutlet]=\"template ? template : stars\"\n [ngTemplateOutletContext]=\"{score:score, ratingValue:ratingValue}\">\n </ng-container>\n</ng-container> \n" }]
12374
12560
  }], propDecorators: { template: [{
12375
12561
  type: Input
12376
12562
  }], type: [{
@@ -12533,11 +12719,11 @@ class ReviewsEcComponent extends ComponentHelper {
12533
12719
  _authService = inject(AuthService);
12534
12720
  isAuthenticated$ = this._authService.isAuthenticated();
12535
12721
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ReviewsEcComponent, deps: [{ token: ReviewsService }, { token: CoreConstantsService }], target: i0.ɵɵFactoryTarget.Component });
12536
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ReviewsEcComponent, isStandalone: true, selector: "app-reviews-ec", inputs: { product: "product" }, usesInheritance: true, ngImport: i0, template: "<div class=\"row px-3\">\r\n <div class=\"col-12 pb-2 pb-md-0\">\r\n <div class=\"row w-100\">\r\n <div class=\"col-12 col-md-6\">\r\n <h4 class=\"mb-0 pt-2 pb-1\">{{\"product-review\" | translate}}</h4>\r\n @if(isAuthenticated$ ){\r\n <small class=\"pb-2 escribir\" data-bs-toggle=\"modal\" href=\"#modalReview\">\r\n {{\"write-a-review\" | translate}}\r\n <i class=\"bi bi-pencil-square\"></i>\r\n </small>\r\n }\r\n </div>\r\n <div class=\"col-12 col-md-6 d-flex align-items-center justify-content-start justify-content-md-end\">\r\n <div class=\"puntaje d-flex\">\r\n <ng-template #number let-ratingValue=\"ratingValue\">\r\n <p class=\"puntos mb-0\">\r\n {{ratingValue}}\r\n </p>\r\n </ng-template>\r\n <app-rating-ec [ratingValue]=\"product.rating\" [template]=\"number\"></app-rating-ec>\r\n <div class=\"ms-2\">\r\n <div class=\"stars mb-1\">\r\n <app-rating-ec [ratingValue]=\"product.rating\"></app-rating-ec>\r\n </div>\r\n <small><strong>{{reviews.total}} {{\"reviews\" | translate}}</strong></small>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <hr>\r\n\r\n <div class=\"tab-content mt-4\" id=\"myTabContent\">\r\n <div class=\"row g-5\">\r\n @for (item of reviews.items; track $index) {\r\n <div class=\"col-12 col-sm-6 col-md-4\">\r\n <div class=\"row\">\r\n <div class=\"col-9 col-sm-10\">\r\n <div class=\"ranking\">\r\n <app-rating-ec [ratingValue]=\"item.rating\"></app-rating-ec>\r\n </div>\r\n <h4 class=\"text-uppercase\">{{item.title}}</h4>\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"ususario\">\r\n <i class=\"bi bi-person-fill\"></i> {{ getAuthorName(item.author) }}\r\n </div>\r\n </div>\r\n <div class=\"resenia mt-2\">\r\n <p style=\"font-size: 14px;\"> {{item.comment}}</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n }\r\n @if (getPages() && getPages().length > 1) {\r\n <nav aria-label=\"Page navigation example\">\r\n <ul class=\"pagination custom-pagination\">\r\n <li class=\"page-item\">\r\n <a class=\"page-link cursor-pointer\" (click)=\"first()\" aria-label=\"Previous\">\r\n <span aria-hidden=\"true\">&laquo;</span>\r\n </a>\r\n </li>\r\n @for (page of getPages(); track $index) {\r\n <li class=\"page-item\">\r\n <a class=\"page-link cursor-pointer\" (click)=\"goPage(page)\">{{ page }}</a>\r\n </li>\r\n }\r\n <li class=\"page-item\">\r\n <a class=\"page-link cursor-pointer\" (click)=\"next()\" aria-label=\"Next\">\r\n <span aria-hidden=\"true\">&raquo;</span>\r\n </a>\r\n </li>\r\n </ul>\r\n </nav>\r\n\r\n }\r\n\r\n </div>\r\n </div>\r\n\r\n</div>", styles: [".custom-pagination{display:flex;justify-content:center;list-style:none;padding:0;margin-top:20px}.custom-pagination .page-item{margin:0 5px}.custom-pagination .page-link{color:#131716;background-color:#f3f3f3;border:1px solid #ccc;padding:8px 12px;border-radius:5px;text-decoration:none;transition:background-color .3s ease}.custom-pagination .page-link:hover{background-color:#0b0c0c;color:#fff}.custom-pagination .page-item.active .page-link{background-color:#131716;color:#fff;font-weight:700}.cursor-pointer{cursor:pointer}\n"], dependencies: [{ kind: "component", type: RatingEcComponent, selector: "app-rating-ec", inputs: ["template", "type", "ratingValue"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] });
12722
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ReviewsEcComponent, isStandalone: true, selector: "app-reviews-ec", inputs: { product: "product" }, usesInheritance: true, ngImport: i0, template: "<div class=\"row px-3\">\n <div class=\"col-12 pb-2 pb-md-0\">\n <div class=\"row w-100\">\n <div class=\"col-12 col-md-6\">\n <h4 class=\"mb-0 pt-2 pb-1\">{{\"product-review\" | translate}}</h4>\n @if(isAuthenticated$ ){\n <small class=\"pb-2 escribir\" data-bs-toggle=\"modal\" href=\"#modalReview\">\n {{\"write-a-review\" | translate}}\n <i class=\"bi bi-pencil-square\"></i>\n </small>\n }\n </div>\n <div class=\"col-12 col-md-6 d-flex align-items-center justify-content-start justify-content-md-end\">\n <div class=\"puntaje d-flex\">\n <ng-template #number let-ratingValue=\"ratingValue\">\n <p class=\"puntos mb-0\">\n {{ratingValue}}\n </p>\n </ng-template>\n <app-rating-ec [ratingValue]=\"product.rating\" [template]=\"number\"></app-rating-ec>\n <div class=\"ms-2\">\n <div class=\"stars mb-1\">\n <app-rating-ec [ratingValue]=\"product.rating\"></app-rating-ec>\n </div>\n <small><strong>{{reviews.total}} {{\"reviews\" | translate}}</strong></small>\n </div>\n </div>\n </div>\n </div>\n </div>\n <hr>\n\n <div class=\"tab-content mt-4\" id=\"myTabContent\">\n <div class=\"row g-5\">\n @for (item of reviews.items; track $index) {\n <div class=\"col-12 col-sm-6 col-md-4\">\n <div class=\"row\">\n <div class=\"col-9 col-sm-10\">\n <div class=\"ranking\">\n <app-rating-ec [ratingValue]=\"item.rating\"></app-rating-ec>\n </div>\n <h4 class=\"text-uppercase\">{{item.title}}</h4>\n <div class=\"d-flex justify-content-between\">\n <div class=\"ususario\">\n <i class=\"bi bi-person-fill\"></i> {{ getAuthorName(item.author) }}\n </div>\n </div>\n <div class=\"resenia mt-2\">\n <p style=\"font-size: 14px;\"> {{item.comment}}</p>\n </div>\n </div>\n </div>\n\n </div>\n }\n @if (getPages() && getPages().length > 1) {\n <nav aria-label=\"Page navigation example\">\n <ul class=\"pagination custom-pagination\">\n <li class=\"page-item\">\n <a class=\"page-link cursor-pointer\" (click)=\"first()\" aria-label=\"Previous\">\n <span aria-hidden=\"true\">&laquo;</span>\n </a>\n </li>\n @for (page of getPages(); track $index) {\n <li class=\"page-item\">\n <a class=\"page-link cursor-pointer\" (click)=\"goPage(page)\">{{ page }}</a>\n </li>\n }\n <li class=\"page-item\">\n <a class=\"page-link cursor-pointer\" (click)=\"next()\" aria-label=\"Next\">\n <span aria-hidden=\"true\">&raquo;</span>\n </a>\n </li>\n </ul>\n </nav>\n\n }\n\n </div>\n </div>\n\n</div>", styles: [".custom-pagination{display:flex;justify-content:center;list-style:none;padding:0;margin-top:20px}.custom-pagination .page-item{margin:0 5px}.custom-pagination .page-link{color:#131716;background-color:#f3f3f3;border:1px solid #ccc;padding:8px 12px;border-radius:5px;text-decoration:none;transition:background-color .3s ease}.custom-pagination .page-link:hover{background-color:#0b0c0c;color:#fff}.custom-pagination .page-item.active .page-link{background-color:#131716;color:#fff;font-weight:700}.cursor-pointer{cursor:pointer}\n"], dependencies: [{ kind: "component", type: RatingEcComponent, selector: "app-rating-ec", inputs: ["template", "type", "ratingValue"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] });
12537
12723
  }
12538
12724
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ReviewsEcComponent, decorators: [{
12539
12725
  type: Component,
12540
- args: [{ selector: 'app-reviews-ec', standalone: true, imports: [RatingEcComponent, TranslateModule], template: "<div class=\"row px-3\">\r\n <div class=\"col-12 pb-2 pb-md-0\">\r\n <div class=\"row w-100\">\r\n <div class=\"col-12 col-md-6\">\r\n <h4 class=\"mb-0 pt-2 pb-1\">{{\"product-review\" | translate}}</h4>\r\n @if(isAuthenticated$ ){\r\n <small class=\"pb-2 escribir\" data-bs-toggle=\"modal\" href=\"#modalReview\">\r\n {{\"write-a-review\" | translate}}\r\n <i class=\"bi bi-pencil-square\"></i>\r\n </small>\r\n }\r\n </div>\r\n <div class=\"col-12 col-md-6 d-flex align-items-center justify-content-start justify-content-md-end\">\r\n <div class=\"puntaje d-flex\">\r\n <ng-template #number let-ratingValue=\"ratingValue\">\r\n <p class=\"puntos mb-0\">\r\n {{ratingValue}}\r\n </p>\r\n </ng-template>\r\n <app-rating-ec [ratingValue]=\"product.rating\" [template]=\"number\"></app-rating-ec>\r\n <div class=\"ms-2\">\r\n <div class=\"stars mb-1\">\r\n <app-rating-ec [ratingValue]=\"product.rating\"></app-rating-ec>\r\n </div>\r\n <small><strong>{{reviews.total}} {{\"reviews\" | translate}}</strong></small>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <hr>\r\n\r\n <div class=\"tab-content mt-4\" id=\"myTabContent\">\r\n <div class=\"row g-5\">\r\n @for (item of reviews.items; track $index) {\r\n <div class=\"col-12 col-sm-6 col-md-4\">\r\n <div class=\"row\">\r\n <div class=\"col-9 col-sm-10\">\r\n <div class=\"ranking\">\r\n <app-rating-ec [ratingValue]=\"item.rating\"></app-rating-ec>\r\n </div>\r\n <h4 class=\"text-uppercase\">{{item.title}}</h4>\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"ususario\">\r\n <i class=\"bi bi-person-fill\"></i> {{ getAuthorName(item.author) }}\r\n </div>\r\n </div>\r\n <div class=\"resenia mt-2\">\r\n <p style=\"font-size: 14px;\"> {{item.comment}}</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n }\r\n @if (getPages() && getPages().length > 1) {\r\n <nav aria-label=\"Page navigation example\">\r\n <ul class=\"pagination custom-pagination\">\r\n <li class=\"page-item\">\r\n <a class=\"page-link cursor-pointer\" (click)=\"first()\" aria-label=\"Previous\">\r\n <span aria-hidden=\"true\">&laquo;</span>\r\n </a>\r\n </li>\r\n @for (page of getPages(); track $index) {\r\n <li class=\"page-item\">\r\n <a class=\"page-link cursor-pointer\" (click)=\"goPage(page)\">{{ page }}</a>\r\n </li>\r\n }\r\n <li class=\"page-item\">\r\n <a class=\"page-link cursor-pointer\" (click)=\"next()\" aria-label=\"Next\">\r\n <span aria-hidden=\"true\">&raquo;</span>\r\n </a>\r\n </li>\r\n </ul>\r\n </nav>\r\n\r\n }\r\n\r\n </div>\r\n </div>\r\n\r\n</div>", styles: [".custom-pagination{display:flex;justify-content:center;list-style:none;padding:0;margin-top:20px}.custom-pagination .page-item{margin:0 5px}.custom-pagination .page-link{color:#131716;background-color:#f3f3f3;border:1px solid #ccc;padding:8px 12px;border-radius:5px;text-decoration:none;transition:background-color .3s ease}.custom-pagination .page-link:hover{background-color:#0b0c0c;color:#fff}.custom-pagination .page-item.active .page-link{background-color:#131716;color:#fff;font-weight:700}.cursor-pointer{cursor:pointer}\n"] }]
12726
+ args: [{ selector: 'app-reviews-ec', standalone: true, imports: [RatingEcComponent, TranslateModule], template: "<div class=\"row px-3\">\n <div class=\"col-12 pb-2 pb-md-0\">\n <div class=\"row w-100\">\n <div class=\"col-12 col-md-6\">\n <h4 class=\"mb-0 pt-2 pb-1\">{{\"product-review\" | translate}}</h4>\n @if(isAuthenticated$ ){\n <small class=\"pb-2 escribir\" data-bs-toggle=\"modal\" href=\"#modalReview\">\n {{\"write-a-review\" | translate}}\n <i class=\"bi bi-pencil-square\"></i>\n </small>\n }\n </div>\n <div class=\"col-12 col-md-6 d-flex align-items-center justify-content-start justify-content-md-end\">\n <div class=\"puntaje d-flex\">\n <ng-template #number let-ratingValue=\"ratingValue\">\n <p class=\"puntos mb-0\">\n {{ratingValue}}\n </p>\n </ng-template>\n <app-rating-ec [ratingValue]=\"product.rating\" [template]=\"number\"></app-rating-ec>\n <div class=\"ms-2\">\n <div class=\"stars mb-1\">\n <app-rating-ec [ratingValue]=\"product.rating\"></app-rating-ec>\n </div>\n <small><strong>{{reviews.total}} {{\"reviews\" | translate}}</strong></small>\n </div>\n </div>\n </div>\n </div>\n </div>\n <hr>\n\n <div class=\"tab-content mt-4\" id=\"myTabContent\">\n <div class=\"row g-5\">\n @for (item of reviews.items; track $index) {\n <div class=\"col-12 col-sm-6 col-md-4\">\n <div class=\"row\">\n <div class=\"col-9 col-sm-10\">\n <div class=\"ranking\">\n <app-rating-ec [ratingValue]=\"item.rating\"></app-rating-ec>\n </div>\n <h4 class=\"text-uppercase\">{{item.title}}</h4>\n <div class=\"d-flex justify-content-between\">\n <div class=\"ususario\">\n <i class=\"bi bi-person-fill\"></i> {{ getAuthorName(item.author) }}\n </div>\n </div>\n <div class=\"resenia mt-2\">\n <p style=\"font-size: 14px;\"> {{item.comment}}</p>\n </div>\n </div>\n </div>\n\n </div>\n }\n @if (getPages() && getPages().length > 1) {\n <nav aria-label=\"Page navigation example\">\n <ul class=\"pagination custom-pagination\">\n <li class=\"page-item\">\n <a class=\"page-link cursor-pointer\" (click)=\"first()\" aria-label=\"Previous\">\n <span aria-hidden=\"true\">&laquo;</span>\n </a>\n </li>\n @for (page of getPages(); track $index) {\n <li class=\"page-item\">\n <a class=\"page-link cursor-pointer\" (click)=\"goPage(page)\">{{ page }}</a>\n </li>\n }\n <li class=\"page-item\">\n <a class=\"page-link cursor-pointer\" (click)=\"next()\" aria-label=\"Next\">\n <span aria-hidden=\"true\">&raquo;</span>\n </a>\n </li>\n </ul>\n </nav>\n\n }\n\n </div>\n </div>\n\n</div>", styles: [".custom-pagination{display:flex;justify-content:center;list-style:none;padding:0;margin-top:20px}.custom-pagination .page-item{margin:0 5px}.custom-pagination .page-link{color:#131716;background-color:#f3f3f3;border:1px solid #ccc;padding:8px 12px;border-radius:5px;text-decoration:none;transition:background-color .3s ease}.custom-pagination .page-link:hover{background-color:#0b0c0c;color:#fff}.custom-pagination .page-item.active .page-link{background-color:#131716;color:#fff;font-weight:700}.cursor-pointer{cursor:pointer}\n"] }]
12541
12727
  }], ctorParameters: () => [{ type: ReviewsService }, { type: CoreConstantsService }], propDecorators: { product: [{
12542
12728
  type: Input
12543
12729
  }] } });
@@ -12648,11 +12834,11 @@ class ReviewsFormEcComponent extends ComponentHelper {
12648
12834
  */
12649
12835
  updateReviews = () => this.reviewsService.updateReviewsByCode(this.product.id);
12650
12836
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ReviewsFormEcComponent, deps: [{ token: ToastService }, { token: i2.Router }, { token: CoreConstantsService }, { token: i1$4.FormBuilder }, { token: ProductsService }, { token: AuthService }, { token: ReviewsService }], target: i0.ɵɵFactoryTarget.Component });
12651
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ReviewsFormEcComponent, isStandalone: true, selector: "app-reviews-form-ec", inputs: { product: "product", withAuthenticated: "withAuthenticated", max: "max" }, outputs: { ready: "ready" }, usesInheritance: true, ngImport: i0, template: "<form class=\"formResenia\" [formGroup]=\"reviews_form\" (submit)=\"toastReviewsForm($event)\">\r\n <div class=\"row\">\r\n <div class=\"col-4\">\r\n <label class=\"pt-2\">{{\"product\" | translate }}*</label>\r\n </div>\r\n <div class=\"col-8\">\r\n <p class=\"mt-1 mb-3\">{{ product.name }}</p>\r\n </div>\r\n </div>\r\n\r\n <!-- Calificaci\u00F3n -->\r\n <div class=\"row\">\r\n <div class=\"col-4\">\r\n <label class=\"pt-2\">{{\"rating\" | translate}}*</label>\r\n </div>\r\n <div class=\"col-8\">\r\n <div class=\"cont-star mt-1 mb-3\">\r\n @for(star of limit; track $index){\r\n <input type=\"radio\" class=\"d-none\" [id]=\"'star-' + (limit.length - $index)\" [value]=\"limit.length - $index\"\r\n formControlName=\"rating\">\r\n <label class=\"star-label\" [for]=\"'star-' + (limit.length - $index)\">\r\n <i class=\"bi bi-star-fill\"></i>\r\n </label>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Resumen -->\r\n <div class=\"row\">\r\n <div class=\"col-4\">\r\n <label for=\"review-summary\" class=\"pt-2\">{{\"summary\" | translate }}*</label>\r\n </div>\r\n <div class=\"col-8\">\r\n <textarea id=\"review-summary\" class=\"w-100\" placeholder=\"\u00BFC\u00F3mo fue tu experiencia?\" formControlName=\"title\"></textarea>\r\n </div>\r\n </div>\r\n\r\n <!-- Detalle -->\r\n <div class=\"row\">\r\n <div class=\"col-4\">\r\n <label for=\"review-detail\" class=\"pt-2\">{{\"detail\" | translate }}*</label>\r\n </div>\r\n <div class=\"col-8\">\r\n <textarea id=\"review-detail\" class=\"w-100\" placeholder=\"Contanos por qu\u00E9\" formControlName=\"comment\"></textarea>\r\n <small class=\"text-uppercase\">(*) {{\"mandatory-fields\" | translate }}</small>\r\n </div>\r\n </div>\r\n\r\n <!-- Bot\u00F3n de env\u00EDo -->\r\n <div class=\"row\">\r\n <div class=\"col-4\"></div>\r\n <div class=\"col-8\">\r\n <button type=\"submit\" class=\"btn btn-dark py-2 px-4 rounded-0 mt-4\"\r\n [disabled]=\"reviews_form.invalid\">{{\"submit-review\" | translate }}</button>\r\n </div>\r\n </div> \r\n</form>", styles: [".cont-star{direction:rtl;unicode-bidi:bidi-override;display:flex;justify-content:end}.cont-star label{display:flex}.cont-star label i{color:#ccc!important;cursor:pointer;font-size:26px;line-height:30px}.cont-star label i:hover,.cont-star label:hover~label i{color:#ffc107!important}input[type=radio]:checked~label i{color:#ffc107!important}input[type=radio]:checked~label i:before,label:hover i:before{content:\"\\f586\"}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
12837
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ReviewsFormEcComponent, isStandalone: true, selector: "app-reviews-form-ec", inputs: { product: "product", withAuthenticated: "withAuthenticated", max: "max" }, outputs: { ready: "ready" }, usesInheritance: true, ngImport: i0, template: "<form class=\"formResenia\" [formGroup]=\"reviews_form\" (submit)=\"toastReviewsForm($event)\">\n <div class=\"row\">\n <div class=\"col-4\">\n <label class=\"pt-2\">{{\"product\" | translate }}*</label>\n </div>\n <div class=\"col-8\">\n <p class=\"mt-1 mb-3\">{{ product.name }}</p>\n </div>\n </div>\n\n <!-- Calificaci\u00F3n -->\n <div class=\"row\">\n <div class=\"col-4\">\n <label class=\"pt-2\">{{\"rating\" | translate}}*</label>\n </div>\n <div class=\"col-8\">\n <div class=\"cont-star mt-1 mb-3\">\n @for(star of limit; track $index){\n <input type=\"radio\" class=\"d-none\" [id]=\"'star-' + (limit.length - $index)\" [value]=\"limit.length - $index\"\n formControlName=\"rating\">\n <label class=\"star-label\" [for]=\"'star-' + (limit.length - $index)\">\n <i class=\"bi bi-star-fill\"></i>\n </label>\n }\n </div>\n </div>\n </div>\n\n <!-- Resumen -->\n <div class=\"row\">\n <div class=\"col-4\">\n <label for=\"review-summary\" class=\"pt-2\">{{\"summary\" | translate }}*</label>\n </div>\n <div class=\"col-8\">\n <textarea id=\"review-summary\" class=\"w-100\" placeholder=\"\u00BFC\u00F3mo fue tu experiencia?\" formControlName=\"title\"></textarea>\n </div>\n </div>\n\n <!-- Detalle -->\n <div class=\"row\">\n <div class=\"col-4\">\n <label for=\"review-detail\" class=\"pt-2\">{{\"detail\" | translate }}*</label>\n </div>\n <div class=\"col-8\">\n <textarea id=\"review-detail\" class=\"w-100\" placeholder=\"Contanos por qu\u00E9\" formControlName=\"comment\"></textarea>\n <small class=\"text-uppercase\">(*) {{\"mandatory-fields\" | translate }}</small>\n </div>\n </div>\n\n <!-- Bot\u00F3n de env\u00EDo -->\n <div class=\"row\">\n <div class=\"col-4\"></div>\n <div class=\"col-8\">\n <button type=\"submit\" class=\"btn btn-dark py-2 px-4 rounded-0 mt-4\"\n [disabled]=\"reviews_form.invalid\">{{\"submit-review\" | translate }}</button>\n </div>\n </div> \n</form>", styles: [".cont-star{direction:rtl;unicode-bidi:bidi-override;display:flex;justify-content:end}.cont-star label{display:flex}.cont-star label i{color:#ccc!important;cursor:pointer;font-size:26px;line-height:30px}.cont-star label i:hover,.cont-star label:hover~label i{color:#ffc107!important}input[type=radio]:checked~label i{color:#ffc107!important}input[type=radio]:checked~label i:before,label:hover i:before{content:\"\\f586\"}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
12652
12838
  }
12653
12839
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ReviewsFormEcComponent, decorators: [{
12654
12840
  type: Component,
12655
- args: [{ selector: 'app-reviews-form-ec', standalone: true, imports: [TranslateModule, ReactiveFormsModule], template: "<form class=\"formResenia\" [formGroup]=\"reviews_form\" (submit)=\"toastReviewsForm($event)\">\r\n <div class=\"row\">\r\n <div class=\"col-4\">\r\n <label class=\"pt-2\">{{\"product\" | translate }}*</label>\r\n </div>\r\n <div class=\"col-8\">\r\n <p class=\"mt-1 mb-3\">{{ product.name }}</p>\r\n </div>\r\n </div>\r\n\r\n <!-- Calificaci\u00F3n -->\r\n <div class=\"row\">\r\n <div class=\"col-4\">\r\n <label class=\"pt-2\">{{\"rating\" | translate}}*</label>\r\n </div>\r\n <div class=\"col-8\">\r\n <div class=\"cont-star mt-1 mb-3\">\r\n @for(star of limit; track $index){\r\n <input type=\"radio\" class=\"d-none\" [id]=\"'star-' + (limit.length - $index)\" [value]=\"limit.length - $index\"\r\n formControlName=\"rating\">\r\n <label class=\"star-label\" [for]=\"'star-' + (limit.length - $index)\">\r\n <i class=\"bi bi-star-fill\"></i>\r\n </label>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Resumen -->\r\n <div class=\"row\">\r\n <div class=\"col-4\">\r\n <label for=\"review-summary\" class=\"pt-2\">{{\"summary\" | translate }}*</label>\r\n </div>\r\n <div class=\"col-8\">\r\n <textarea id=\"review-summary\" class=\"w-100\" placeholder=\"\u00BFC\u00F3mo fue tu experiencia?\" formControlName=\"title\"></textarea>\r\n </div>\r\n </div>\r\n\r\n <!-- Detalle -->\r\n <div class=\"row\">\r\n <div class=\"col-4\">\r\n <label for=\"review-detail\" class=\"pt-2\">{{\"detail\" | translate }}*</label>\r\n </div>\r\n <div class=\"col-8\">\r\n <textarea id=\"review-detail\" class=\"w-100\" placeholder=\"Contanos por qu\u00E9\" formControlName=\"comment\"></textarea>\r\n <small class=\"text-uppercase\">(*) {{\"mandatory-fields\" | translate }}</small>\r\n </div>\r\n </div>\r\n\r\n <!-- Bot\u00F3n de env\u00EDo -->\r\n <div class=\"row\">\r\n <div class=\"col-4\"></div>\r\n <div class=\"col-8\">\r\n <button type=\"submit\" class=\"btn btn-dark py-2 px-4 rounded-0 mt-4\"\r\n [disabled]=\"reviews_form.invalid\">{{\"submit-review\" | translate }}</button>\r\n </div>\r\n </div> \r\n</form>", styles: [".cont-star{direction:rtl;unicode-bidi:bidi-override;display:flex;justify-content:end}.cont-star label{display:flex}.cont-star label i{color:#ccc!important;cursor:pointer;font-size:26px;line-height:30px}.cont-star label i:hover,.cont-star label:hover~label i{color:#ffc107!important}input[type=radio]:checked~label i{color:#ffc107!important}input[type=radio]:checked~label i:before,label:hover i:before{content:\"\\f586\"}\n"] }]
12841
+ args: [{ selector: 'app-reviews-form-ec', standalone: true, imports: [TranslateModule, ReactiveFormsModule], template: "<form class=\"formResenia\" [formGroup]=\"reviews_form\" (submit)=\"toastReviewsForm($event)\">\n <div class=\"row\">\n <div class=\"col-4\">\n <label class=\"pt-2\">{{\"product\" | translate }}*</label>\n </div>\n <div class=\"col-8\">\n <p class=\"mt-1 mb-3\">{{ product.name }}</p>\n </div>\n </div>\n\n <!-- Calificaci\u00F3n -->\n <div class=\"row\">\n <div class=\"col-4\">\n <label class=\"pt-2\">{{\"rating\" | translate}}*</label>\n </div>\n <div class=\"col-8\">\n <div class=\"cont-star mt-1 mb-3\">\n @for(star of limit; track $index){\n <input type=\"radio\" class=\"d-none\" [id]=\"'star-' + (limit.length - $index)\" [value]=\"limit.length - $index\"\n formControlName=\"rating\">\n <label class=\"star-label\" [for]=\"'star-' + (limit.length - $index)\">\n <i class=\"bi bi-star-fill\"></i>\n </label>\n }\n </div>\n </div>\n </div>\n\n <!-- Resumen -->\n <div class=\"row\">\n <div class=\"col-4\">\n <label for=\"review-summary\" class=\"pt-2\">{{\"summary\" | translate }}*</label>\n </div>\n <div class=\"col-8\">\n <textarea id=\"review-summary\" class=\"w-100\" placeholder=\"\u00BFC\u00F3mo fue tu experiencia?\" formControlName=\"title\"></textarea>\n </div>\n </div>\n\n <!-- Detalle -->\n <div class=\"row\">\n <div class=\"col-4\">\n <label for=\"review-detail\" class=\"pt-2\">{{\"detail\" | translate }}*</label>\n </div>\n <div class=\"col-8\">\n <textarea id=\"review-detail\" class=\"w-100\" placeholder=\"Contanos por qu\u00E9\" formControlName=\"comment\"></textarea>\n <small class=\"text-uppercase\">(*) {{\"mandatory-fields\" | translate }}</small>\n </div>\n </div>\n\n <!-- Bot\u00F3n de env\u00EDo -->\n <div class=\"row\">\n <div class=\"col-4\"></div>\n <div class=\"col-8\">\n <button type=\"submit\" class=\"btn btn-dark py-2 px-4 rounded-0 mt-4\"\n [disabled]=\"reviews_form.invalid\">{{\"submit-review\" | translate }}</button>\n </div>\n </div> \n</form>", styles: [".cont-star{direction:rtl;unicode-bidi:bidi-override;display:flex;justify-content:end}.cont-star label{display:flex}.cont-star label i{color:#ccc!important;cursor:pointer;font-size:26px;line-height:30px}.cont-star label i:hover,.cont-star label:hover~label i{color:#ffc107!important}input[type=radio]:checked~label i{color:#ffc107!important}input[type=radio]:checked~label i:before,label:hover i:before{content:\"\\f586\"}\n"] }]
12656
12842
  }], ctorParameters: () => [{ type: ToastService }, { type: i2.Router }, { type: CoreConstantsService }, { type: i1$4.FormBuilder }, { type: ProductsService }, { type: AuthService }, { type: ReviewsService }], propDecorators: { product: [{
12657
12843
  type: Input
12658
12844
  }], withAuthenticated: [{
@@ -12718,11 +12904,11 @@ class SectionContainerEcComponent extends ComponentHelper {
12718
12904
  this.dataSection = this.sections.find(section => section.code == code);
12719
12905
  };
12720
12906
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SectionContainerEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12721
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SectionContainerEcComponent, isStandalone: true, selector: "app-section-container-ec", inputs: { sanitizeHtml: "sanitizeHtml", name: "name" }, usesInheritance: true, ngImport: i0, template: "<div class=\"container-fluid\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"scrol-if\">\r\n @if (loadSection){\r\n <div [innerHtml]=\"content_html\"></div>\r\n } @else {\r\n <div class=\"col-12 align-items-center\">\r\n <div class=\"d-flex flex-column jusitfy-content-center align-items-center my-5\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n </div>\r\n }\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<app-blocks-ec [section]=\"name\"></app-blocks-ec>", styles: [".custom-page{background-color:#fff!important;padding-top:5%!important;padding-bottom:5%!important}.scrol-if{overflow:auto}\n"], dependencies: [{ kind: "component", type: BlocksEcComponent, selector: "app-blocks-ec", inputs: ["templates", "show_loading", "section", "blockFilters"] }, { kind: "component", type: LoadingFullEcComponent, selector: "app-loading-full-ec" }] });
12907
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SectionContainerEcComponent, isStandalone: true, selector: "app-section-container-ec", inputs: { sanitizeHtml: "sanitizeHtml", name: "name" }, usesInheritance: true, ngImport: i0, template: "<div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"scrol-if\">\n @if (loadSection){\n <div [innerHtml]=\"content_html\"></div>\n } @else {\n <div class=\"col-12 align-items-center\">\n <div class=\"d-flex flex-column jusitfy-content-center align-items-center my-5\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n </div>\n }\n\n </div>\n </div>\n </div>\n</div>\n\n<app-blocks-ec [section]=\"name\"></app-blocks-ec>", styles: [".custom-page{background-color:#fff!important;padding-top:5%!important;padding-bottom:5%!important}.scrol-if{overflow:auto}\n"], dependencies: [{ kind: "component", type: BlocksEcComponent, selector: "app-blocks-ec", inputs: ["templates", "show_loading", "section", "blockFilters"] }, { kind: "component", type: LoadingFullEcComponent, selector: "app-loading-full-ec" }] });
12722
12908
  }
12723
12909
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SectionContainerEcComponent, decorators: [{
12724
12910
  type: Component,
12725
- args: [{ selector: 'app-section-container-ec', standalone: true, imports: [BlocksEcComponent, LoadingFullEcComponent], template: "<div class=\"container-fluid\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"scrol-if\">\r\n @if (loadSection){\r\n <div [innerHtml]=\"content_html\"></div>\r\n } @else {\r\n <div class=\"col-12 align-items-center\">\r\n <div class=\"d-flex flex-column jusitfy-content-center align-items-center my-5\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n </div>\r\n }\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<app-blocks-ec [section]=\"name\"></app-blocks-ec>", styles: [".custom-page{background-color:#fff!important;padding-top:5%!important;padding-bottom:5%!important}.scrol-if{overflow:auto}\n"] }]
12911
+ args: [{ selector: 'app-section-container-ec', standalone: true, imports: [BlocksEcComponent, LoadingFullEcComponent], template: "<div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"scrol-if\">\n @if (loadSection){\n <div [innerHtml]=\"content_html\"></div>\n } @else {\n <div class=\"col-12 align-items-center\">\n <div class=\"d-flex flex-column jusitfy-content-center align-items-center my-5\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n </div>\n }\n\n </div>\n </div>\n </div>\n</div>\n\n<app-blocks-ec [section]=\"name\"></app-blocks-ec>", styles: [".custom-page{background-color:#fff!important;padding-top:5%!important;padding-bottom:5%!important}.scrol-if{overflow:auto}\n"] }]
12726
12912
  }], ctorParameters: () => [], propDecorators: { sanitizeHtml: [{
12727
12913
  type: Input
12728
12914
  }], name: [{
@@ -12918,11 +13104,11 @@ class StoresEcComponent extends ComponentHelper {
12918
13104
  });
12919
13105
  }
12920
13106
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StoresEcComponent, deps: [{ token: StoresService }, { token: CoreConstantsService }, { token: i1$5.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
12921
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: StoresEcComponent, isStandalone: true, selector: "app-store-ec", usesInheritance: true, ngImport: i0, template: "<!-- <div class=\"row w-100 mx-auto my-4 px-3 bb-s bt-md-s py-1\">\r\n <strong>{{ 'stores' | translate }}</strong>\r\n</div>\r\n@if(stores){\r\n<div class=\"row\">\r\n <div class=\"col-12 col-md-3 order-1 order-md-1\">\r\n <div class=\"row\">\r\n <div class=\"form-group w-100\">\r\n <select (change)=\"selectChange($event.target.value)\" class=\"rounded-0 form-control form-control-sm\"\r\n id=\"exampleFormControlSelect1\">\r\n <option selected [value]=\"''\">Seleccione provincia</option>\r\n <option [value]=\"item.code\" *ngFor=\"let item of getProvices(stores)\"> {{item.name}}\r\n </option>\r\n </select>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-md-3 order-3 order-md-2\">\r\n <div class=\"container-fluid scrolleable\" *ngIf=\"filterStores && filterStores.length\">\r\n <div class=\"row mb-1\" *ngFor=\"let store of filterStores; let i = index\">\r\n <div class=\"col-12\">\r\n <h6 class=\"\"><strong>{{ store.name }}</strong></h6>\r\n <label>{{ store.address }}</label>\r\n <label>{{ store.phone }}</label>\r\n <div [innerHtml]=\"store.note\"></div>\r\n <div class=\"text-right\">\r\n\r\n <a *ngIf=\"store.urlMap\" (click)=\"updateMap (store.urlMap)\" class=\"custom-a\">Ver mapa</a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-md-6 order-2 order-md-3 my-4 mt-md-0\">\r\n\r\n <iframe id=\"map-iframe\" [src]=\"urlmap\" frameborder=\"0\"></iframe>\r\n </div>\r\n</div>\r\n}@else {\r\n<div class=\"d-flex flex-row justify-content-center my-5 align-items-center alto-total\">\r\n <h5 class=\"text-center\">{{ 'no-stores' | translate }}</h5>\r\n</div>\r\n}\r\n\r\n\r\n\r\n<ng-template #loading>\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-12 align-items-center\">\r\n <div class=\"d-flex flex-column justify-content-center align-items-center my-5\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template> -->", styles: [".scrolleable{height:70vh;overflow:auto}@media screen and (max-width: 768px){.scrolleable{height:auto}}.background-white{background-color:#fff}.alto-total{height:60vh}.custom-a{color:#000}#map-iframe{width:100%;border:0;height:100%}@media screen and (max-width: 425px){#map-iframe{height:400px}}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }] });
13107
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: StoresEcComponent, isStandalone: true, selector: "app-store-ec", usesInheritance: true, ngImport: i0, template: "<!-- <div class=\"row w-100 mx-auto my-4 px-3 bb-s bt-md-s py-1\">\n <strong>{{ 'stores' | translate }}</strong>\n</div>\n@if(stores){\n<div class=\"row\">\n <div class=\"col-12 col-md-3 order-1 order-md-1\">\n <div class=\"row\">\n <div class=\"form-group w-100\">\n <select (change)=\"selectChange($event.target.value)\" class=\"rounded-0 form-control form-control-sm\"\n id=\"exampleFormControlSelect1\">\n <option selected [value]=\"''\">Seleccione provincia</option>\n <option [value]=\"item.code\" *ngFor=\"let item of getProvices(stores)\"> {{item.name}}\n </option>\n </select>\n </div>\n </div>\n </div>\n <div class=\"col-12 col-md-3 order-3 order-md-2\">\n <div class=\"container-fluid scrolleable\" *ngIf=\"filterStores && filterStores.length\">\n <div class=\"row mb-1\" *ngFor=\"let store of filterStores; let i = index\">\n <div class=\"col-12\">\n <h6 class=\"\"><strong>{{ store.name }}</strong></h6>\n <label>{{ store.address }}</label>\n <label>{{ store.phone }}</label>\n <div [innerHtml]=\"store.note\"></div>\n <div class=\"text-right\">\n\n <a *ngIf=\"store.urlMap\" (click)=\"updateMap (store.urlMap)\" class=\"custom-a\">Ver mapa</a>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-12 col-md-6 order-2 order-md-3 my-4 mt-md-0\">\n\n <iframe id=\"map-iframe\" [src]=\"urlmap\" frameborder=\"0\"></iframe>\n </div>\n</div>\n}@else {\n<div class=\"d-flex flex-row justify-content-center my-5 align-items-center alto-total\">\n <h5 class=\"text-center\">{{ 'no-stores' | translate }}</h5>\n</div>\n}\n\n\n\n<ng-template #loading>\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12 align-items-center\">\n <div class=\"d-flex flex-column justify-content-center align-items-center my-5\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n </div>\n </div>\n </div>\n</ng-template> -->", styles: [".scrolleable{height:70vh;overflow:auto}@media screen and (max-width: 768px){.scrolleable{height:auto}}.background-white{background-color:#fff}.alto-total{height:60vh}.custom-a{color:#000}#map-iframe{width:100%;border:0;height:100%}@media screen and (max-width: 425px){#map-iframe{height:400px}}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }] });
12922
13108
  }
12923
13109
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StoresEcComponent, decorators: [{
12924
13110
  type: Component,
12925
- args: [{ selector: 'app-store-ec', standalone: true, imports: [TranslateModule], template: "<!-- <div class=\"row w-100 mx-auto my-4 px-3 bb-s bt-md-s py-1\">\r\n <strong>{{ 'stores' | translate }}</strong>\r\n</div>\r\n@if(stores){\r\n<div class=\"row\">\r\n <div class=\"col-12 col-md-3 order-1 order-md-1\">\r\n <div class=\"row\">\r\n <div class=\"form-group w-100\">\r\n <select (change)=\"selectChange($event.target.value)\" class=\"rounded-0 form-control form-control-sm\"\r\n id=\"exampleFormControlSelect1\">\r\n <option selected [value]=\"''\">Seleccione provincia</option>\r\n <option [value]=\"item.code\" *ngFor=\"let item of getProvices(stores)\"> {{item.name}}\r\n </option>\r\n </select>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-md-3 order-3 order-md-2\">\r\n <div class=\"container-fluid scrolleable\" *ngIf=\"filterStores && filterStores.length\">\r\n <div class=\"row mb-1\" *ngFor=\"let store of filterStores; let i = index\">\r\n <div class=\"col-12\">\r\n <h6 class=\"\"><strong>{{ store.name }}</strong></h6>\r\n <label>{{ store.address }}</label>\r\n <label>{{ store.phone }}</label>\r\n <div [innerHtml]=\"store.note\"></div>\r\n <div class=\"text-right\">\r\n\r\n <a *ngIf=\"store.urlMap\" (click)=\"updateMap (store.urlMap)\" class=\"custom-a\">Ver mapa</a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-md-6 order-2 order-md-3 my-4 mt-md-0\">\r\n\r\n <iframe id=\"map-iframe\" [src]=\"urlmap\" frameborder=\"0\"></iframe>\r\n </div>\r\n</div>\r\n}@else {\r\n<div class=\"d-flex flex-row justify-content-center my-5 align-items-center alto-total\">\r\n <h5 class=\"text-center\">{{ 'no-stores' | translate }}</h5>\r\n</div>\r\n}\r\n\r\n\r\n\r\n<ng-template #loading>\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-12 align-items-center\">\r\n <div class=\"d-flex flex-column justify-content-center align-items-center my-5\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template> -->", styles: [".scrolleable{height:70vh;overflow:auto}@media screen and (max-width: 768px){.scrolleable{height:auto}}.background-white{background-color:#fff}.alto-total{height:60vh}.custom-a{color:#000}#map-iframe{width:100%;border:0;height:100%}@media screen and (max-width: 425px){#map-iframe{height:400px}}\n"] }]
13111
+ args: [{ selector: 'app-store-ec', standalone: true, imports: [TranslateModule], template: "<!-- <div class=\"row w-100 mx-auto my-4 px-3 bb-s bt-md-s py-1\">\n <strong>{{ 'stores' | translate }}</strong>\n</div>\n@if(stores){\n<div class=\"row\">\n <div class=\"col-12 col-md-3 order-1 order-md-1\">\n <div class=\"row\">\n <div class=\"form-group w-100\">\n <select (change)=\"selectChange($event.target.value)\" class=\"rounded-0 form-control form-control-sm\"\n id=\"exampleFormControlSelect1\">\n <option selected [value]=\"''\">Seleccione provincia</option>\n <option [value]=\"item.code\" *ngFor=\"let item of getProvices(stores)\"> {{item.name}}\n </option>\n </select>\n </div>\n </div>\n </div>\n <div class=\"col-12 col-md-3 order-3 order-md-2\">\n <div class=\"container-fluid scrolleable\" *ngIf=\"filterStores && filterStores.length\">\n <div class=\"row mb-1\" *ngFor=\"let store of filterStores; let i = index\">\n <div class=\"col-12\">\n <h6 class=\"\"><strong>{{ store.name }}</strong></h6>\n <label>{{ store.address }}</label>\n <label>{{ store.phone }}</label>\n <div [innerHtml]=\"store.note\"></div>\n <div class=\"text-right\">\n\n <a *ngIf=\"store.urlMap\" (click)=\"updateMap (store.urlMap)\" class=\"custom-a\">Ver mapa</a>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-12 col-md-6 order-2 order-md-3 my-4 mt-md-0\">\n\n <iframe id=\"map-iframe\" [src]=\"urlmap\" frameborder=\"0\"></iframe>\n </div>\n</div>\n}@else {\n<div class=\"d-flex flex-row justify-content-center my-5 align-items-center alto-total\">\n <h5 class=\"text-center\">{{ 'no-stores' | translate }}</h5>\n</div>\n}\n\n\n\n<ng-template #loading>\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12 align-items-center\">\n <div class=\"d-flex flex-column justify-content-center align-items-center my-5\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n </div>\n </div>\n </div>\n</ng-template> -->", styles: [".scrolleable{height:70vh;overflow:auto}@media screen and (max-width: 768px){.scrolleable{height:auto}}.background-white{background-color:#fff}.alto-total{height:60vh}.custom-a{color:#000}#map-iframe{width:100%;border:0;height:100%}@media screen and (max-width: 425px){#map-iframe{height:400px}}\n"] }]
12926
13112
  }], ctorParameters: () => [{ type: StoresService }, { type: CoreConstantsService }, { type: i1$5.DomSanitizer }] });
12927
13113
 
12928
13114
  class PriceRangeFilterComponent {
@@ -13060,17 +13246,87 @@ class PriceRangeFilterComponent {
13060
13246
  return value;
13061
13247
  }
13062
13248
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PriceRangeFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13063
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PriceRangeFilterComponent, isStandalone: true, selector: "lib-price-range-filter", inputs: { filter: "filter" }, outputs: { rangeChanged: "rangeChanged" }, ngImport: i0, template: "<div class=\"slider\">\r\n <div class=\"slider\">\r\n <div class=\"progress\" [ngStyle]=\"getSliderStyle(filter)\">\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"range-input d-flex gap-2\">\r\n <input #rangeMin type=\"range\" class=\"range-min\" [min]=\"filter.minPrice\" [max]=\"filter.maxPrice\"\r\n [value]=\"getMinValue(filter)\" (input)=\"onRangeChange($event, 'min', filter)\"\r\n (change)=\"updatePriceRange(filter); scrollUp()\">\r\n <input #rangeMax type=\"range\" class=\"range-max\" [min]=\"filter.minPrice\" [max]=\"filter.maxPrice\"\r\n [value]=\"getMaxValue(filter)\" (input)=\"onRangeChange($event, 'max', filter)\"\r\n (change)=\"updatePriceRange(filter); scrollUp()\">\r\n</div>\r\n<!-- precios M\u00EDnimo / M\u00E1ximo -->\r\n<div class=\"price-container mt-2\">\r\n <div class=\"price-label-wrapper\">\r\n <span class=\"price-label\">M\u00EDnimo:</span>\r\n <span class=\"price-value\">\r\n {{ (getFormattedMinPrice(filter) | ecCurrencySymbol) || '0' }}\r\n </span>\r\n </div>\r\n <div class=\"price-label-wrapper\">\r\n <span class=\"price-label\">M\u00E1ximo:</span>\r\n <span class=\"price-value price-value-right\">\r\n {{ getFormattedMaxPrice(filter) | ecCurrencySymbol }}\r\n </span>\r\n </div>\r\n</div>", styles: [":root{--slider-bg: #ddd;--slider-progress-bg: #0FA3AF;--thumb-bg: #0FA3AF;--thumb-border: #fff;--text-color: #131716;--label-color: #0FA3AF;--shadow-color: rgba(15, 163, 175, .4)}.slider{height:6px;border-radius:5px;background:var(--slider-bg);position:relative;overflow:hidden}.slider .progress{height:6px;position:absolute;left:0;right:0;border-radius:5px;background:var(--slider-progress-bg)}.range-input{position:relative;margin-bottom:14px}.range-input input[type=range]{position:absolute;top:-5px;width:100%;height:5px;background:none;pointer-events:none;-webkit-appearance:none}.range-input input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;height:20px;width:20px;border-radius:50%;background:var(--thumb-bg);border:3px solid var(--thumb-border);cursor:pointer;box-shadow:0 4px 8px #0003}.range-input input[type=range]::-moz-range-thumb{-moz-appearance:none;pointer-events:auto;height:20px;width:20px;border-radius:50%;background:var(--thumb-bg);border:3px solid var(--thumb-border);cursor:pointer;box-shadow:0 4px 8px #0003}.range-input input[type=range]:focus::-webkit-slider-thumb,.range-input input[type=range]:focus::-moz-range-thumb{box-shadow:0 0 0 4px var(--shadow-color);outline:none}.price-container{display:flex;flex-wrap:wrap;gap:1rem}.price-label-wrapper{display:flex;flex-direction:column;flex:0 1 auto;min-width:0}.price-label{font-weight:600;color:var(--label-color);margin-bottom:.25rem}.price-value{white-space:nowrap;font-weight:700;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;font-size:14px}.price-value-right{text-align:right}\n"], dependencies: [{ kind: "pipe", type: EcCurrencySymbolPipe, name: "ecCurrencySymbol" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13249
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PriceRangeFilterComponent, isStandalone: true, selector: "lib-price-range-filter", inputs: { filter: "filter" }, outputs: { rangeChanged: "rangeChanged" }, ngImport: i0, template: "<div class=\"slider\">\n <div class=\"slider\">\n <div class=\"progress\" [ngStyle]=\"getSliderStyle(filter)\">\n </div>\n </div>\n</div>\n<div class=\"range-input d-flex gap-2\">\n <input #rangeMin type=\"range\" class=\"range-min\" [min]=\"filter.minPrice\" [max]=\"filter.maxPrice\"\n [value]=\"getMinValue(filter)\" (input)=\"onRangeChange($event, 'min', filter)\"\n (change)=\"updatePriceRange(filter); scrollUp()\">\n <input #rangeMax type=\"range\" class=\"range-max\" [min]=\"filter.minPrice\" [max]=\"filter.maxPrice\"\n [value]=\"getMaxValue(filter)\" (input)=\"onRangeChange($event, 'max', filter)\"\n (change)=\"updatePriceRange(filter); scrollUp()\">\n</div>\n<!-- precios M\u00EDnimo / M\u00E1ximo -->\n<div class=\"price-container mt-2\">\n <div class=\"price-label-wrapper\">\n <span class=\"price-label\">M\u00EDnimo:</span>\n <span class=\"price-value\">\n {{ (getFormattedMinPrice(filter) | ecCurrencySymbol) || '0' }}\n </span>\n </div>\n <div class=\"price-label-wrapper\">\n <span class=\"price-label\">M\u00E1ximo:</span>\n <span class=\"price-value price-value-right\">\n {{ getFormattedMaxPrice(filter) | ecCurrencySymbol }}\n </span>\n </div>\n</div>", styles: [":root{--slider-bg: #ddd;--slider-progress-bg: #0FA3AF;--thumb-bg: #0FA3AF;--thumb-border: #fff;--text-color: #131716;--label-color: #0FA3AF;--shadow-color: rgba(15, 163, 175, .4)}.slider{height:6px;border-radius:5px;background:var(--slider-bg);position:relative;overflow:hidden}.slider .progress{height:6px;position:absolute;left:0;right:0;border-radius:5px;background:var(--slider-progress-bg)}.range-input{position:relative;margin-bottom:14px}.range-input input[type=range]{position:absolute;top:-5px;width:100%;height:5px;background:none;pointer-events:none;-webkit-appearance:none}.range-input input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;height:20px;width:20px;border-radius:50%;background:var(--thumb-bg);border:3px solid var(--thumb-border);cursor:pointer;box-shadow:0 4px 8px #0003}.range-input input[type=range]::-moz-range-thumb{-moz-appearance:none;pointer-events:auto;height:20px;width:20px;border-radius:50%;background:var(--thumb-bg);border:3px solid var(--thumb-border);cursor:pointer;box-shadow:0 4px 8px #0003}.range-input input[type=range]:focus::-webkit-slider-thumb,.range-input input[type=range]:focus::-moz-range-thumb{box-shadow:0 0 0 4px var(--shadow-color);outline:none}.price-container{display:flex;flex-wrap:wrap;gap:1rem}.price-label-wrapper{display:flex;flex-direction:column;flex:0 1 auto;min-width:0}.price-label{font-weight:600;color:var(--label-color);margin-bottom:.25rem}.price-value{white-space:nowrap;font-weight:700;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;font-size:14px}.price-value-right{text-align:right}\n"], dependencies: [{ kind: "pipe", type: EcCurrencySymbolPipe, name: "ecCurrencySymbol" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13064
13250
  }
13065
13251
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PriceRangeFilterComponent, decorators: [{
13066
13252
  type: Component,
13067
- args: [{ selector: 'lib-price-range-filter', standalone: true, imports: [EcCurrencySymbolPipe, CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"slider\">\r\n <div class=\"slider\">\r\n <div class=\"progress\" [ngStyle]=\"getSliderStyle(filter)\">\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"range-input d-flex gap-2\">\r\n <input #rangeMin type=\"range\" class=\"range-min\" [min]=\"filter.minPrice\" [max]=\"filter.maxPrice\"\r\n [value]=\"getMinValue(filter)\" (input)=\"onRangeChange($event, 'min', filter)\"\r\n (change)=\"updatePriceRange(filter); scrollUp()\">\r\n <input #rangeMax type=\"range\" class=\"range-max\" [min]=\"filter.minPrice\" [max]=\"filter.maxPrice\"\r\n [value]=\"getMaxValue(filter)\" (input)=\"onRangeChange($event, 'max', filter)\"\r\n (change)=\"updatePriceRange(filter); scrollUp()\">\r\n</div>\r\n<!-- precios M\u00EDnimo / M\u00E1ximo -->\r\n<div class=\"price-container mt-2\">\r\n <div class=\"price-label-wrapper\">\r\n <span class=\"price-label\">M\u00EDnimo:</span>\r\n <span class=\"price-value\">\r\n {{ (getFormattedMinPrice(filter) | ecCurrencySymbol) || '0' }}\r\n </span>\r\n </div>\r\n <div class=\"price-label-wrapper\">\r\n <span class=\"price-label\">M\u00E1ximo:</span>\r\n <span class=\"price-value price-value-right\">\r\n {{ getFormattedMaxPrice(filter) | ecCurrencySymbol }}\r\n </span>\r\n </div>\r\n</div>", styles: [":root{--slider-bg: #ddd;--slider-progress-bg: #0FA3AF;--thumb-bg: #0FA3AF;--thumb-border: #fff;--text-color: #131716;--label-color: #0FA3AF;--shadow-color: rgba(15, 163, 175, .4)}.slider{height:6px;border-radius:5px;background:var(--slider-bg);position:relative;overflow:hidden}.slider .progress{height:6px;position:absolute;left:0;right:0;border-radius:5px;background:var(--slider-progress-bg)}.range-input{position:relative;margin-bottom:14px}.range-input input[type=range]{position:absolute;top:-5px;width:100%;height:5px;background:none;pointer-events:none;-webkit-appearance:none}.range-input input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;height:20px;width:20px;border-radius:50%;background:var(--thumb-bg);border:3px solid var(--thumb-border);cursor:pointer;box-shadow:0 4px 8px #0003}.range-input input[type=range]::-moz-range-thumb{-moz-appearance:none;pointer-events:auto;height:20px;width:20px;border-radius:50%;background:var(--thumb-bg);border:3px solid var(--thumb-border);cursor:pointer;box-shadow:0 4px 8px #0003}.range-input input[type=range]:focus::-webkit-slider-thumb,.range-input input[type=range]:focus::-moz-range-thumb{box-shadow:0 0 0 4px var(--shadow-color);outline:none}.price-container{display:flex;flex-wrap:wrap;gap:1rem}.price-label-wrapper{display:flex;flex-direction:column;flex:0 1 auto;min-width:0}.price-label{font-weight:600;color:var(--label-color);margin-bottom:.25rem}.price-value{white-space:nowrap;font-weight:700;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;font-size:14px}.price-value-right{text-align:right}\n"] }]
13253
+ args: [{ selector: 'lib-price-range-filter', standalone: true, imports: [EcCurrencySymbolPipe, CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"slider\">\n <div class=\"slider\">\n <div class=\"progress\" [ngStyle]=\"getSliderStyle(filter)\">\n </div>\n </div>\n</div>\n<div class=\"range-input d-flex gap-2\">\n <input #rangeMin type=\"range\" class=\"range-min\" [min]=\"filter.minPrice\" [max]=\"filter.maxPrice\"\n [value]=\"getMinValue(filter)\" (input)=\"onRangeChange($event, 'min', filter)\"\n (change)=\"updatePriceRange(filter); scrollUp()\">\n <input #rangeMax type=\"range\" class=\"range-max\" [min]=\"filter.minPrice\" [max]=\"filter.maxPrice\"\n [value]=\"getMaxValue(filter)\" (input)=\"onRangeChange($event, 'max', filter)\"\n (change)=\"updatePriceRange(filter); scrollUp()\">\n</div>\n<!-- precios M\u00EDnimo / M\u00E1ximo -->\n<div class=\"price-container mt-2\">\n <div class=\"price-label-wrapper\">\n <span class=\"price-label\">M\u00EDnimo:</span>\n <span class=\"price-value\">\n {{ (getFormattedMinPrice(filter) | ecCurrencySymbol) || '0' }}\n </span>\n </div>\n <div class=\"price-label-wrapper\">\n <span class=\"price-label\">M\u00E1ximo:</span>\n <span class=\"price-value price-value-right\">\n {{ getFormattedMaxPrice(filter) | ecCurrencySymbol }}\n </span>\n </div>\n</div>", styles: [":root{--slider-bg: #ddd;--slider-progress-bg: #0FA3AF;--thumb-bg: #0FA3AF;--thumb-border: #fff;--text-color: #131716;--label-color: #0FA3AF;--shadow-color: rgba(15, 163, 175, .4)}.slider{height:6px;border-radius:5px;background:var(--slider-bg);position:relative;overflow:hidden}.slider .progress{height:6px;position:absolute;left:0;right:0;border-radius:5px;background:var(--slider-progress-bg)}.range-input{position:relative;margin-bottom:14px}.range-input input[type=range]{position:absolute;top:-5px;width:100%;height:5px;background:none;pointer-events:none;-webkit-appearance:none}.range-input input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;height:20px;width:20px;border-radius:50%;background:var(--thumb-bg);border:3px solid var(--thumb-border);cursor:pointer;box-shadow:0 4px 8px #0003}.range-input input[type=range]::-moz-range-thumb{-moz-appearance:none;pointer-events:auto;height:20px;width:20px;border-radius:50%;background:var(--thumb-bg);border:3px solid var(--thumb-border);cursor:pointer;box-shadow:0 4px 8px #0003}.range-input input[type=range]:focus::-webkit-slider-thumb,.range-input input[type=range]:focus::-moz-range-thumb{box-shadow:0 0 0 4px var(--shadow-color);outline:none}.price-container{display:flex;flex-wrap:wrap;gap:1rem}.price-label-wrapper{display:flex;flex-direction:column;flex:0 1 auto;min-width:0}.price-label{font-weight:600;color:var(--label-color);margin-bottom:.25rem}.price-value{white-space:nowrap;font-weight:700;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;font-size:14px}.price-value-right{text-align:right}\n"] }]
13068
13254
  }], propDecorators: { filter: [{
13069
13255
  type: Input
13070
13256
  }], rangeChanged: [{
13071
13257
  type: Output
13072
13258
  }] } });
13073
13259
 
13260
+ class CreditAccountBannerEcComponent {
13261
+ cartService = inject(CartService);
13262
+ authService = inject(AuthService);
13263
+ layout = 'inline';
13264
+ title;
13265
+ subtitle;
13266
+ availableLabel;
13267
+ limitLabel;
13268
+ titleKey = 'credit-account-banner.title';
13269
+ subtitleKey = 'credit-account-banner.subtitle';
13270
+ availableLabelKey = 'credit-account-banner.available';
13271
+ limitLabelKey = 'credit-account-banner.limit';
13272
+ requireLogged = false;
13273
+ balance = toSignal(this.cartService.balanceCustomer$, { initialValue: null });
13274
+ loggedIn = toSignal(this.authService.loggedIn$, { initialValue: this.authService.isAuthenticated() });
13275
+ showMax = computed(() => !!this.balance()?.showMax);
13276
+ canShowAmounts = computed(() => !!this.balance()?.showPrice);
13277
+ remainingCredits = computed(() => this.balance()?.remainingCredits ?? 0);
13278
+ creditAmount = computed(() => this.balance()?.creditAmount ?? 0);
13279
+ progress = computed(() => {
13280
+ const credit = this.creditAmount();
13281
+ const remaining = this.remainingCredits();
13282
+ if (!credit)
13283
+ return 0;
13284
+ const percentage = (remaining / credit) * 100;
13285
+ return Math.max(0, Math.min(100, percentage));
13286
+ });
13287
+ barColor = computed(() => {
13288
+ const credit = this.creditAmount();
13289
+ const remaining = this.remainingCredits();
13290
+ if (!credit)
13291
+ return '#6c757d';
13292
+ const ratio = remaining / credit;
13293
+ if (ratio >= 0.66)
13294
+ return '#198754';
13295
+ if (ratio >= 0.33)
13296
+ return '#ffc107';
13297
+ return '#dc3545';
13298
+ });
13299
+ shouldRender() {
13300
+ return this.showMax() && (!this.requireLogged || this.loggedIn());
13301
+ }
13302
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreditAccountBannerEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13303
+ 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$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i1$1.DecimalPipe, name: "number" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] });
13304
+ }
13305
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreditAccountBannerEcComponent, decorators: [{
13306
+ type: Component,
13307
+ 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"] }]
13308
+ }], propDecorators: { layout: [{
13309
+ type: Input
13310
+ }], title: [{
13311
+ type: Input
13312
+ }], subtitle: [{
13313
+ type: Input
13314
+ }], availableLabel: [{
13315
+ type: Input
13316
+ }], limitLabel: [{
13317
+ type: Input
13318
+ }], titleKey: [{
13319
+ type: Input
13320
+ }], subtitleKey: [{
13321
+ type: Input
13322
+ }], availableLabelKey: [{
13323
+ type: Input
13324
+ }], limitLabelKey: [{
13325
+ type: Input
13326
+ }], requireLogged: [{
13327
+ type: Input
13328
+ }] } });
13329
+
13074
13330
  //Types
13075
13331
 
13076
13332
  /**
@@ -13358,5 +13614,5 @@ const directives = [
13358
13614
  * Generated bundle index. Do not edit.
13359
13615
  */
13360
13616
 
13361
- export { AccountEcComponent, AddressingService, AnalyticsService, AuthEcComponent, AuthService, AuthStorageService, BaseApiService, BlockBannerBoxEcComponent, BlockBannerFullEcComponent, BlockFormContactEcComponent, BlockHtmlEcComponent, BlockNewsletterEcComponent, BlockProductsEcComponent, BlocksEcComponent, BlocksRepositoryService, BlocksService, BreadcrumbEcComponent, CartEcComponent, CartItemEcComponent, CartService, ChannelService, CheckoutEcComponent, CheckoutService, CollectionEcComponent, ConfirmAccountEcComponent, ContactEcComponent, CoreConstantsService, CouponEcComponent, CurrencyService, DopplerService, ENVIRONMENT_TOKEN, EcCurrencySymbolPipe, EcSafeHtmlPipe, FacebookPixelService, FaqsEcComponent, FiltersEcComponent, FiltersService, FiltersSortEcComponent, FooterEcComponent, ForgotPasswordEcComponent, FormService, GTMService, GoogleAnalyticsService, HeaderEcComponent, HomeEcComponent, LoadingFullEcComponent, LoadingInlineEcComponent, LoadingSectionEcComponent, LocalStorageService, LoginFormEcComponent, MagnizoomEcComponent, MetricoolPixelService, NgxLocalStorageService, OptionsService, OrderEcComponent, OrderUtilityService, OrdersListEcComponent, OrdersService, PaginationService, ParametersService, ParamsContext, PasswordResetEcComponent, PaymentService, PriceEcComponent, PriceRangeFilterComponent, ProductDetailEcComponent, ProductDetailService, ProductEcComponent, ProductOffDirective, ProductStockDirective, ProductsService, ReCaptchaEcComponent, ReCaptchaService, RedsysCatchEcComponent, RegisterFormEcComponent, RegisterWholesalerFormEcComponent, RelatedProductsEcComponent, ReviewsEcComponent, ReviewsFormEcComponent, RuntimeConfigService, SERVER_RUNTIME_CONFIG, SectionContainerEcComponent, ShareEcComponent, ShipmentService, SidebarEcComponent, StoresEcComponent, SuccessEcComponent, TestService, ToastService, VariantsEcComponent, authGuard, authInterceptor, directives, initializeRuntimeConfig, provideEnvironment, provideRuntimeConfig, provideServerRuntimeConfig, runtimeConfigInterceptor };
13617
+ export { AccountEcComponent, AddressingService, AnalyticsService, AuthEcComponent, AuthService, AuthStorageService, BaseApiService, BlockBannerBoxEcComponent, BlockBannerFullEcComponent, BlockFormContactEcComponent, BlockHtmlEcComponent, BlockNewsletterEcComponent, BlockProductsEcComponent, BlocksEcComponent, BlocksRepositoryService, BlocksService, BreadcrumbEcComponent, CartEcComponent, CartItemEcComponent, CartService, ChannelService, CheckoutEcComponent, CheckoutService, CollectionEcComponent, ConfirmAccountEcComponent, ContactEcComponent, CoreConstantsService, CouponEcComponent, CreditAccountBannerEcComponent, CurrencyService, DopplerService, ENVIRONMENT_TOKEN, EcCurrencySymbolPipe, EcSafeHtmlPipe, FacebookPixelService, FaqsEcComponent, FiltersEcComponent, FiltersService, FiltersSortEcComponent, FooterEcComponent, ForgotPasswordEcComponent, FormService, GTMService, GoogleAnalyticsService, HeaderEcComponent, HomeEcComponent, LoadingFullEcComponent, LoadingInlineEcComponent, LoadingSectionEcComponent, LocalStorageService, LoginFormEcComponent, MagnizoomEcComponent, MetricoolPixelService, NgxLocalStorageService, OptionsService, OrderEcComponent, OrderUtilityService, OrdersListEcComponent, OrdersService, PaginationService, ParametersService, ParamsContext, PasswordResetEcComponent, PaymentService, PriceEcComponent, PriceRangeFilterComponent, PriceVisibilityService, ProductDetailEcComponent, ProductDetailService, ProductEcComponent, ProductOffDirective, ProductStockDirective, ProductsService, ReCaptchaEcComponent, ReCaptchaService, RedsysCatchEcComponent, RegisterFormEcComponent, RegisterWholesalerFormEcComponent, RelatedProductsEcComponent, ReviewsEcComponent, ReviewsFormEcComponent, RuntimeConfigService, SERVER_RUNTIME_CONFIG, SectionContainerEcComponent, ShareEcComponent, ShipmentService, SidebarEcComponent, StoresEcComponent, SuccessEcComponent, TestService, ToastService, VariantsEcComponent, authGuard, authInterceptor, directives, initializeRuntimeConfig, provideEnvironment, provideRuntimeConfig, provideServerRuntimeConfig, runtimeConfigInterceptor };
13362
13618
  //# sourceMappingURL=ng-easycommerce-v18.mjs.map