ng-easycommerce 0.0.430 → 0.0.433

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 (38) hide show
  1. package/README.md +13 -0
  2. package/bundles/ng-easycommerce.umd.js +285 -61
  3. package/bundles/ng-easycommerce.umd.js.map +1 -1
  4. package/bundles/ng-easycommerce.umd.min.js +1 -1
  5. package/bundles/ng-easycommerce.umd.min.js.map +1 -1
  6. package/esm2015/lib/ec-component/account-ec/order-ec/order-ec.component.js +2 -2
  7. package/esm2015/lib/ec-component/account-ec/orders-list-ec/orders-list-ec.component.js +2 -2
  8. package/esm2015/lib/ec-component/checkout-ec/payment-ec/payment-ec.component.js +2 -2
  9. package/esm2015/lib/ec-component/checkout-ec/shipment-ec/shipment-ec.component.js +3 -2
  10. package/esm2015/lib/ec-component/compared-products-ec/compared-products-ec.component.js +186 -0
  11. package/esm2015/lib/ec-component/index.js +4 -1
  12. package/esm2015/lib/ec-component/related-products-ec/related-products-ec.component.js +10 -2
  13. package/esm2015/lib/services/auth.service.js +9 -1
  14. package/esm2015/lib/services/checkout/shipment.service.js +5 -5
  15. package/esm2015/ng-easycommerce.js +19 -18
  16. package/esm5/lib/ec-component/account-ec/order-ec/order-ec.component.js +2 -2
  17. package/esm5/lib/ec-component/account-ec/orders-list-ec/orders-list-ec.component.js +2 -2
  18. package/esm5/lib/ec-component/checkout-ec/payment-ec/payment-ec.component.js +2 -2
  19. package/esm5/lib/ec-component/checkout-ec/shipment-ec/shipment-ec.component.js +3 -2
  20. package/esm5/lib/ec-component/compared-products-ec/compared-products-ec.component.js +209 -0
  21. package/esm5/lib/ec-component/index.js +4 -1
  22. package/esm5/lib/ec-component/related-products-ec/related-products-ec.component.js +10 -2
  23. package/esm5/lib/services/auth.service.js +12 -1
  24. package/esm5/lib/services/checkout/shipment.service.js +5 -5
  25. package/esm5/ng-easycommerce.js +19 -18
  26. package/fesm2015/ng-easycommerce.js +242 -45
  27. package/fesm2015/ng-easycommerce.js.map +1 -1
  28. package/fesm5/ng-easycommerce.js +268 -45
  29. package/fesm5/ng-easycommerce.js.map +1 -1
  30. package/lib/ec-component/checkout-ec/shipment-ec/shipment-ec.component.d.ts +1 -0
  31. package/lib/ec-component/compared-products-ec/compared-products-ec.component.d.ts +70 -0
  32. package/lib/ec-component/index.d.ts +1 -0
  33. package/lib/ec-component/related-products-ec/related-products-ec.component.d.ts +2 -0
  34. package/lib/services/auth.service.d.ts +7 -0
  35. package/lib/services/checkout/shipment.service.d.ts +1 -1
  36. package/ng-easycommerce.d.ts +18 -17
  37. package/ng-easycommerce.metadata.json +1 -1
  38. package/package.json +1 -1
@@ -3110,6 +3110,14 @@ let AuthService = class AuthService {
3110
3110
  this.setHomeResolver = resolverFunction => this.homeResolver = resolverFunction;
3111
3111
  this.getHomeResolver = () => this.homeResolver;
3112
3112
  this.isAbleToBuy = () => { var _a; return !((_a = this.getUserProfileAsUser()) === null || _a === void 0 ? void 0 : _a.isSeller()) || !!this.getCustomer(); };
3113
+ /**
3114
+ * @description Evalua si el valor que ingresa por parámetro es mayor o igual al mínimo de compra
3115
+ * que el usuario tiene asignado a ese canal, diferenciando si es mayorista o minorista.
3116
+ * @param {number} value
3117
+ * @returns {boolean} true si excede el monto, false caso contrario
3118
+ */
3119
+ this.exceedsMinimumAmount = (value = 0) => this.user.isWholesaler() ? this.user.channels.find(channel => this.constants.getChannel() == channel.code).wholesalerMinimumPurchaseAmount <= value
3120
+ : this.user.channels.find(channel => this.constants.getChannel() == channel.code).retailerMinimumPurchaseAmount <= value;
3113
3121
  this.isAuthenticated() && this.loggedInSubject.next(true);
3114
3122
  }
3115
3123
  /**
@@ -3822,10 +3830,6 @@ let ShipmentService = class ShipmentService extends StepService {
3822
3830
  this.state = this.stateSubject.asObservable();
3823
3831
  this.methods = this.methodsSubject.asObservable();
3824
3832
  this.costs = this.costsSubject.asObservable();
3825
- /**
3826
- * @param moreInfoInMethod por defecto su estado es false, si se desea que visualice información adicional de cada método de envió asignar true.
3827
- */
3828
- this.moreInfoInMethod = false;
3829
3833
  this.shipmentMethodsApi = () => this.baseApi() + '/shipping';
3830
3834
  this.persistShipmentApi = () => 'shop-api/' + this.consts.getChannel() + '/andreani/' + this.cartService.getCartToken() + '/ship';
3831
3835
  this.putShipmentApi = () => this.baseApi() + '/shipping/' + this.stateSubject.getValue().data.method;
@@ -3939,6 +3943,10 @@ let ShipmentService = class ShipmentService extends StepService {
3939
3943
  this.subscription && this.subscription.unsubscribe();
3940
3944
  }
3941
3945
  };
3946
+ /**
3947
+ * @param moreInfoInMethod por defecto su estado es false, si se desea que visualice información adicional de cada método de envió asignar true.
3948
+ */
3949
+ ShipmentService.moreInfoInMethod = false;
3942
3950
  ShipmentService.ctorParameters = () => [
3943
3951
  { type: ConnectionService },
3944
3952
  { type: ShipmentDataTransformer },
@@ -5635,7 +5643,7 @@ __decorate$Q([
5635
5643
  PaymentEcComponent = __decorate$Q([
5636
5644
  Component({
5637
5645
  selector: 'app-payment-ec',
5638
- template: "<div class=\"container-fluid\" *ngIf=\"(paymentService.methods$ | async) as methods\">\n\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"card \">\n <div class=\"card-header text-dark text-center\">\n <h4>{{ 'select-method' | translate }}</h4>\n <div class=\"btn-toolbar justify-content-center\" role=\"toolbar\" aria-label=\"Envios toolbar\">\n <div class=\"btn-group group-shipping\" role=\"group\" aria-label=\"Grupo botones envio\">\n <div class=\"d-flex align-content-start flex-wrap btn-group\">\n <button type=\"button\" class=\"btn btn-outline-secondary\"\n *ngFor=\"let method of methods; let x = index\"\n (click)=\"setMethod(method) ; setActive($event)\">\n {{ method.name | translate }}\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"card-body text-center\">\n <div class=\"row justify-content-center\" *ngIf=\"(method_data$ | async) as method\">\n <ng-container *ngIf=\"!loading_internal ; else loading\">\n <div class=\"method-container text-dark\" *ngIf=\"isMP(method.code)\">\n <p id=\"faqs\" class=\"qt px-5 \">{{ method.description }}</p>\n <p class=\"px-5\">{{ method.instructions }}</p>\n <app-mp-redirect-ec (ready)=\"verifyValidate($event)\" [method]=\"method\" [paymentServiceInst]=\"paymentService\" [allData]=\"allData()\"></app-mp-redirect-ec>\n </div>\n <div class=\"method-container text-dark text-left\" *ngIf=\"isMPTarjetaDeCredito(method.code)\">\n <div class=\"row\">\n <div class=\"col-12\">\n <p id=\"faqs\" class=\"qt px-5 \">{{ method.description }}</p>\n <p class=\"px-5\">{{ method.instructions }}</p>\n <div app-mp-credit-ec (ready)=\"verifyValidate()\" [public_key]=\"getPK(method)\"\n [user_data]=\"allData()\" [total_amount]=\"total_amount\">\n </div>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\"\n *ngIf=\"isRedirectRedsys(method.code)\">\n <div class=\"row\">\n <div class=\"col-12\">\n <ng-container *ngIf=\"!method.code.includes('bizum') && !method.code.includes('_out_')\">\n <app-redsys-redirect-ec (ready)=\"verifyValidate($event)\" [method]=\"method\" [user_data]=\"allData()\">\n </app-redsys-redirect-ec>\n </ng-container>\n <ng-container *ngIf=\"method.code.includes('bizum') || method.code.includes('_out_')\">\n <app-redsys-redirect-out-ec (ready)=\"verifyValidate($event)\" [method]=\"method\" [user_data]=\"allData()\">\n </app-redsys-redirect-out-ec>\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\" *ngIf=\"isRedirectCecaBank(method.code)\">\n <div class=\"row\">\n <div class=\"col-12\">\n <app-ceca-redirect-ec (ready)=\"verifyValidate($event)\" [method]=\"method\" [user_data]=\"allData()\">\n </app-ceca-redirect-ec>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\" *ngIf=\"isPeyPalExpress(method.code)\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col-12\">\n <app-paypal-express-ec (ready)=\"verifyValidate($event)\" [method]=\"method\" [user_data]=\"allData()\"\n [total_amount]=\"total_amount\">\n </app-paypal-express-ec>\n </div>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\" *ngIf=\"isMobbex(method.code)\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col-12\">\n <app-mobbex-ec (ready)=\"verifyValidate($event)\" [method]=\"method\" [user_data]=\"allData()\" [paymentServiceInst]=\"paymentService\"\n [total_amount]=\"total_amount\">\n </app-mobbex-ec>\n </div>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\" *ngIf=\"isBancard(method.code)\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col-12\">\n <app-bancard-ec (ready)=\"verifyValidate($event)\" [method]=\"method\" [user_data]=\"allData()\"\n [paymentServiceInst]=\"paymentService\" [total_amount]=\"total_amount\">\n </app-bancard-ec>\n </div>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\" *ngIf=\"isDecidir(method.code)\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col-12\">\n <app-decidir-ec (ready)=\"verifyValidate($event)\" [method]=\"method\" [user_data]=\"allData()\" [paymentServiceInst]=\"paymentService\"\n [total_amount]=\"total_amount\">\n </app-decidir-ec>\n </div>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark\" *ngIf=\"isMethodOffline(method.code)\">\n <p id=\"faqs\" class=\"qt px-5\">{{ method.description }}</p>\n <p class=\"px-5\">{{ method.instructions }}</p>\n <div class=\"end-button\">\n <button class=\"btn comprar\" (click)=\"setLoading() && verifyValidate()\">{{ ('pay-with-offline'| translate) }}</button>\n </div>\n <ng-container *ngIf=\"(loading$ | async) as load\">\n <div class=\"mt-2\" *ngIf=\"load\">\n <app-loading-inline-ec></app-loading-inline-ec>\n </div>\n </ng-container>\n </div>\n <div class=\"method-container text-dark\" *ngIf=\"method.code == 'bank_transfer'\">\n <p id=\"faqs\" class=\"qt px-5\">{{ method.description }}</p>\n <p class=\"px-5\">{{ method.instructions }}</p>\n <div class=\"end-button\">\n <button class=\"btn comprar\" (click)=\"setLoading() && verifyValidate()\">{{\n ('pay-with-transfer'\n | translate) }}</button>\n </div>\n <ng-container *ngIf=\"(loading$ | async) as load\">\n <div class=\"mt-2\" *ngIf=\"load\">\n <app-loading-inline-ec></app-loading-inline-ec>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #mercadoPago>\n <div class=\"row \">\n <div class=\"col-12 text-center\">\n <app-loading-inline-ec *ngIf=\"loading_internal_mp\"></app-loading-inline-ec>\n <form action=\"javascript:void(0)\" #formContainer></form>\n </div>\n </div>\n</ng-template>\n\n<ng-template #loading>\n <app-loading-inline-ec></app-loading-inline-ec>\n</ng-template>",
5646
+ template: "<div class=\"container-fluid\" *ngIf=\"(paymentService.methods$ | async) as methods\">\n\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"card \">\n <div class=\"card-header text-dark text-center\">\n <h4>{{ 'select-method' | translate }}</h4>\n <div class=\"btn-toolbar justify-content-center\" role=\"toolbar\" aria-label=\"Envios toolbar\">\n <div class=\"\" role=\"group\" aria-label=\"Grupo botones envio\">\n <div class=\"d-flex align-content-start justify-content-center flex-wrap\">\n <button type=\"button\" class=\"btn btn-outline-secondary mx-1 mb-1\"\n *ngFor=\"let method of methods; let x = index\"\n (click)=\"setMethod(method) ; setActive($event)\">\n {{ method.name | translate }}\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"card-body text-center\">\n <div class=\"row justify-content-center\" *ngIf=\"(method_data$ | async) as method\">\n <ng-container *ngIf=\"!loading_internal ; else loading\">\n <div class=\"method-container text-dark\" *ngIf=\"isMP(method.code)\">\n <p id=\"faqs\" class=\"qt px-5 \">{{ method.description }}</p>\n <p class=\"px-5\">{{ method.instructions }}</p>\n <app-mp-redirect-ec (ready)=\"verifyValidate($event)\" [method]=\"method\" [paymentServiceInst]=\"paymentService\" [allData]=\"allData()\"></app-mp-redirect-ec>\n </div>\n <div class=\"method-container text-dark text-left\" *ngIf=\"isMPTarjetaDeCredito(method.code)\">\n <div class=\"row\">\n <div class=\"col-12\">\n <p id=\"faqs\" class=\"qt px-5 \">{{ method.description }}</p>\n <p class=\"px-5\">{{ method.instructions }}</p>\n <div app-mp-credit-ec (ready)=\"verifyValidate()\" [public_key]=\"getPK(method)\"\n [user_data]=\"allData()\" [total_amount]=\"total_amount\">\n </div>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\"\n *ngIf=\"isRedirectRedsys(method.code)\">\n <div class=\"row\">\n <div class=\"col-12\">\n <ng-container *ngIf=\"!method.code.includes('bizum') && !method.code.includes('_out_')\">\n <app-redsys-redirect-ec (ready)=\"verifyValidate($event)\" [method]=\"method\" [user_data]=\"allData()\">\n </app-redsys-redirect-ec>\n </ng-container>\n <ng-container *ngIf=\"method.code.includes('bizum') || method.code.includes('_out_')\">\n <app-redsys-redirect-out-ec (ready)=\"verifyValidate($event)\" [method]=\"method\" [user_data]=\"allData()\">\n </app-redsys-redirect-out-ec>\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\" *ngIf=\"isRedirectCecaBank(method.code)\">\n <div class=\"row\">\n <div class=\"col-12\">\n <app-ceca-redirect-ec (ready)=\"verifyValidate($event)\" [method]=\"method\" [user_data]=\"allData()\">\n </app-ceca-redirect-ec>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\" *ngIf=\"isPeyPalExpress(method.code)\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col-12\">\n <app-paypal-express-ec (ready)=\"verifyValidate($event)\" [method]=\"method\" [user_data]=\"allData()\"\n [total_amount]=\"total_amount\">\n </app-paypal-express-ec>\n </div>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\" *ngIf=\"isMobbex(method.code)\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col-12\">\n <app-mobbex-ec (ready)=\"verifyValidate($event)\" [method]=\"method\" [user_data]=\"allData()\" [paymentServiceInst]=\"paymentService\"\n [total_amount]=\"total_amount\">\n </app-mobbex-ec>\n </div>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\" *ngIf=\"isBancard(method.code)\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col-12\">\n <app-bancard-ec (ready)=\"verifyValidate($event)\" [method]=\"method\" [user_data]=\"allData()\"\n [paymentServiceInst]=\"paymentService\" [total_amount]=\"total_amount\">\n </app-bancard-ec>\n </div>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\" *ngIf=\"isDecidir(method.code)\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col-12\">\n <app-decidir-ec (ready)=\"verifyValidate($event)\" [method]=\"method\" [user_data]=\"allData()\" [paymentServiceInst]=\"paymentService\"\n [total_amount]=\"total_amount\">\n </app-decidir-ec>\n </div>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark\" *ngIf=\"isMethodOffline(method.code)\">\n <p id=\"faqs\" class=\"qt px-5\">{{ method.description }}</p>\n <p class=\"px-5\">{{ method.instructions }}</p>\n <div class=\"end-button\">\n <button class=\"btn comprar\" (click)=\"setLoading() && verifyValidate()\">{{ ('pay-with-offline'| translate) }}</button>\n </div>\n <ng-container *ngIf=\"(loading$ | async) as load\">\n <div class=\"mt-2\" *ngIf=\"load\">\n <app-loading-inline-ec></app-loading-inline-ec>\n </div>\n </ng-container>\n </div>\n <div class=\"method-container text-dark\" *ngIf=\"method.code == 'bank_transfer'\">\n <p id=\"faqs\" class=\"qt px-5\">{{ method.description }}</p>\n <p class=\"px-5\">{{ method.instructions }}</p>\n <div class=\"end-button\">\n <button class=\"btn comprar\" (click)=\"setLoading() && verifyValidate()\">{{\n ('pay-with-transfer'\n | translate) }}</button>\n </div>\n <ng-container *ngIf=\"(loading$ | async) as load\">\n <div class=\"mt-2\" *ngIf=\"load\">\n <app-loading-inline-ec></app-loading-inline-ec>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #mercadoPago>\n <div class=\"row \">\n <div class=\"col-12 text-center\">\n <app-loading-inline-ec *ngIf=\"loading_internal_mp\"></app-loading-inline-ec>\n <form action=\"javascript:void(0)\" #formContainer></form>\n </div>\n </div>\n</ng-template>\n\n<ng-template #loading>\n <app-loading-inline-ec></app-loading-inline-ec>\n</ng-template>",
5639
5647
  providers: [PaymentService],
5640
5648
  styles: ["div.col-12 form{text-align:center}.option-container>div{margin-bottom:15px}@media only screen and (min-width:600px){.option-container{display:flex;justify-content:space-between;margin-top:20px}}.method-container{width:100%}.active{background-color:#000!important;color:#fff!important}.comprar{background:#000;color:#fff;display:inline-block;font-size:18px;font-weight:600;padding:10px 25px;text-decoration:none;text-transform:uppercase}"]
5641
5649
  })
@@ -5700,6 +5708,7 @@ let ShipmentEcComponent = class ShipmentEcComponent extends ComponentHelper {
5700
5708
  this.verifyValidate(this.costs[0].name, this.costs[0].contracts[0]);
5701
5709
  }
5702
5710
  });
5711
+ this.moreInfoInMethod = ShipmentService.moreInfoInMethod;
5703
5712
  this.ecOnInit();
5704
5713
  }
5705
5714
  ngOnChanges() {
@@ -5727,7 +5736,7 @@ __decorate$R([
5727
5736
  ShipmentEcComponent = __decorate$R([
5728
5737
  Component({
5729
5738
  selector: 'app-shipment-ec',
5730
- template: "<!-- <div class=\"checkout-title\">\n <h3>{{'shipment-methods'|translate}}</h3>\n</div> -->\n\n<div class=\"container-fluid\">\n <div class=\"col-12\">\n <div class=\"card text-center\">\n <div class=\"card-header text-dark\">\n <h4>{{ 'select-method' | translate }}</h4>\n <div class=\"btn-toolbar justify-content-center\" role=\"toolbar\" aria-label=\"Envios toolbar\"\n *ngIf=\"(shipmentService.methods | async) as methods; else noMethods\">\n <div class=\"btn-group group-shipping\" role=\"group\" aria-label=\"Grupo botones envio\">\n <div class=\"d-flex align-content-start flex-wrap btn-group btn-group-toggle\">\n <button type=\"button\" class=\"btn btn-outline-secondary\"\n *ngFor=\"let method of deleteUPS(methods); let x = index\"\n (click)=\"setMethod(method, post_code); setActive($event)\">\n {{ method.name | translate }}\n </button>\n </div>\n\n\n </div>\n </div>\n </div>\n <div class=\"card-body\">\n <div class=\"row justify-content-center mb-2\" *ngIf=\"this.shipmentService.moreInfoInMethod && methodSelect && methodSelect.description\">\n <span><b>{{ 'information' | translate }}:</b> {{methodSelect.description}} </span>\n </div>\n <div class=\"row justify-content-center\" *ngIf=\"this.costs\">\n <ng-container *ngIf=\"!loading_internal ; else loading\">\n <div class=\"col-auto text-dark\" *ngFor=\"let cost of costs\">\n <ng-container *ngIf=\"cost.contracts.length > 0\">\n <span><b>{{ toTraducible(cost.name) | translate }}</b></span>\n <hr />\n <div class=\"option\" *ngFor=\"let contract of cost.contracts; let i = index\">\n <div class=\"form-check\">\n <input class=\"form-check-input\" [checked]=\"contract.selected\" type=\"radio\" name=\"card\" [id]=\"cost.name + i\"\n value=\"dark\" (click)=\"verifyValidate(cost.name, contract)\">\n <label class=\"form-check-label\" [for]=\"cost.name + i\" aria-label=\"Dark grey\">\n <span\n [class]=\"(cost.name == 'home_delivery') ? 'shipment-contractname home_delivery' : 'shipment-contractname' \"\n *ngIf=\"validName(contract.name)\">{{ contract.name | translate }}</span>\n <span *ngIf=\"contract.computed\"><br class=\"shipment-contractname\">{{ contract.computed | translate }}<br\n class=\"shipment-contractname\"></span>\n <div *ngIf=\"contract.detail\">\n <div *ngFor=\"let line of contract.detail.split(' - '); let i = index\">\n <span *ngIf=\"i == 0\"><b>{{ line }}</b></span>\n <span class=\"inside-detail\" *ngIf=\"i > 0\">{{ line }}</span>\n </div>\n </div>\n <span *ngIf=\"contract.price > 0\" [class]=\"'inside-detail ' + ( costos?.amount == 0 ? ' free ' : '') \">\n <br class=\"shipment-contractname\" *ngIf=\"!contract.computed\">\n {{ ('price'|translate) + ': ' + (contract.price | ecCurrencySymbol) }}</span>\n <span *ngIf=\"contract.price == 0\" [class]=\"'inside-detail ' + ( costos?.amount == 0 ? ' free ' : '') \">\n <br class=\"shipment-contractname\" *ngIf=\"!contract.computed\"> {{ ('free'|translate) }}</span>\n <br>\n </label>\n </div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n\n </div>\n </div>\n\n</div>\n\n<ng-template #noMethods>\n <div class=\"d-flex flex-row w-100 justify-content-center mt-2\">\n <h5 class=\"text-secondary\">{{'no-shipment-methods'|translate}}</h5>\n </div>\n</ng-template>\n\n<ng-template #loading>\n <app-loading-full-ec></app-loading-full-ec>\n</ng-template>",
5739
+ template: "<!-- <div class=\"checkout-title\">\n <h3>{{'shipment-methods'|translate}}</h3>\n</div> -->\n\n<div class=\"container-fluid\">\n <div class=\"col-12\">\n <div class=\"card text-center\">\n <div class=\"card-header text-dark\">\n <h4>{{ 'select-method' | translate }}</h4>\n <div class=\"btn-toolbar justify-content-center\" role=\"toolbar\" aria-label=\"Envios toolbar\"\n *ngIf=\"(shipmentService.methods | async) as methods; else noMethods\">\n <div class=\"\" role=\"group\" aria-label=\"Grupo botones envio\">\n <div class=\"d-flex align-content-start justify-content-center flex-wrap\">\n <button type=\"button\" class=\"btn btn-outline-secondary mx-1 mb-1\"\n *ngFor=\"let method of deleteUPS(methods); let x = index\"\n (click)=\"setMethod(method, post_code); setActive($event)\">\n {{ method.name | translate }}\n </button>\n </div>\n\n\n </div>\n </div>\n </div>\n <div class=\"card-body\">\n <div class=\"row justify-content-center mb-2\" *ngIf=\"moreInfoInMethod && methodSelect && methodSelect.description\">\n <span><b>{{ 'information' | translate }}:</b> {{methodSelect.description}} </span>\n </div>\n <div class=\"row justify-content-center\" *ngIf=\"this.costs\">\n <ng-container *ngIf=\"!loading_internal ; else loading\">\n <div class=\"col-auto text-dark\" *ngFor=\"let cost of costs\">\n <ng-container *ngIf=\"cost.contracts.length > 0\">\n <span><b>{{ toTraducible(cost.name) | translate }}</b></span>\n <hr />\n <div class=\"option\" *ngFor=\"let contract of cost.contracts; let i = index\">\n <div class=\"form-check\">\n <input class=\"form-check-input\" [checked]=\"contract.selected\" type=\"radio\" name=\"card\" [id]=\"cost.name + i\"\n value=\"dark\" (click)=\"verifyValidate(cost.name, contract)\">\n <label class=\"form-check-label\" [for]=\"cost.name + i\" aria-label=\"Dark grey\">\n <span\n [class]=\"(cost.name == 'home_delivery') ? 'shipment-contractname home_delivery' : 'shipment-contractname' \"\n *ngIf=\"validName(contract.name)\">{{ contract.name | translate }}</span>\n <span *ngIf=\"contract.computed\"><br class=\"shipment-contractname\">{{ contract.computed | translate }}<br\n class=\"shipment-contractname\"></span>\n <div *ngIf=\"contract.detail\">\n <div *ngFor=\"let line of contract.detail.split(' - '); let i = index\">\n <span *ngIf=\"i == 0\"><b>{{ line }}</b></span>\n <span class=\"inside-detail\" *ngIf=\"i > 0\">{{ line }}</span>\n </div>\n </div>\n <span *ngIf=\"contract.price > 0\" [class]=\"'inside-detail ' + ( costos?.amount == 0 ? ' free ' : '') \">\n <br class=\"shipment-contractname\" *ngIf=\"!contract.computed\">\n {{ ('price'|translate) + ': ' + (contract.price | ecCurrencySymbol) }}</span>\n <span *ngIf=\"contract.price == 0\" [class]=\"'inside-detail ' + ( costos?.amount == 0 ? ' free ' : '') \">\n <br class=\"shipment-contractname\" *ngIf=\"!contract.computed\"> {{ ('free'|translate) }}</span>\n <br>\n </label>\n </div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n\n </div>\n </div>\n\n</div>\n\n<ng-template #noMethods>\n <div class=\"d-flex flex-row w-100 justify-content-center mt-2\">\n <h5 class=\"text-secondary\">{{'no-shipment-methods'|translate}}</h5>\n </div>\n</ng-template>\n\n<ng-template #loading>\n <app-loading-full-ec></app-loading-full-ec>\n</ng-template>",
5731
5740
  providers: [ShipmentService],
5732
5741
  styles: [".shipment-container{width:100%;max-height:500px!important}.points-container{margin-top:10px;max-height:300px;overflow:scroll}agm-map{height:300px}.ancho-100{width:200px}.ancho-50{width:100px}.group-shipping{margin:10px 0}.option-container>div{margin-bottom:15px}@media only screen and (min-width:600px){.option-container{display:flex;justify-content:space-between;margin-top:20px}}hr{margin-top:0!important}.option{display:flex;align-items:flex-start;margin-bottom:20px}.option label{margin:0 0 0 10px}.inside-detail{color:gray!important;font-weight:400}.inside-detail.free{text-decoration:line-through}.active{color:#fff!important}"]
5733
5742
  })
@@ -7032,6 +7041,14 @@ let RelatedProductsEcComponent = class RelatedProductsEcComponent extends Compon
7032
7041
  this.router = router;
7033
7042
  this.relatedProducts = [];
7034
7043
  this.name = null;
7044
+ this.keywordsToCompare = ['compare', 'comparar', 'comparacion', 'comparación', 'compared'];
7045
+ this.includeKeyword = (word) => {
7046
+ let result = false;
7047
+ this.keywordsToCompare.forEach(keyword => {
7048
+ word.includes(keyword) ? result = true : null;
7049
+ });
7050
+ return result;
7051
+ };
7035
7052
  this.customOptions = {
7036
7053
  loop: true,
7037
7054
  dots: false,
@@ -7062,7 +7079,7 @@ let RelatedProductsEcComponent = class RelatedProductsEcComponent extends Compon
7062
7079
  }
7063
7080
  load(product_id) {
7064
7081
  this.productsService.getRelatedProducts(product_id).pipe(take(1)).subscribe(res => {
7065
- this.relatedProducts = res;
7082
+ this.relatedProducts = res.filter(elem => !this.includeKeyword(elem.title.toLowerCase()));
7066
7083
  res.map(products => { var _a, _b; return this.analyticsService.callEvent('view_item_list', { products: products.items, item_list_name: products.title || 'Related Products', item_list_id: ((_b = (_a = products.title) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.replace(' ', '-')) || 'related-products' }); });
7067
7084
  });
7068
7085
  }
@@ -8410,7 +8427,7 @@ OrdersEcComponent.ctorParameters = () => [
8410
8427
  OrdersEcComponent = __decorate$1g([
8411
8428
  Component({
8412
8429
  selector: 'app-orders-ec',
8413
- template: "<div class=\"container-fluid\" id=\"ordersEcComponent\">\n <section id=\"orders\" class=\"w-100\" *ngIf=\"!loading; else loadingView\">\n <div *ngIf=\"orders && orders.length; else noOrders\">\n <div class=\"row item border-bottom\" *ngFor=\"let order of orders\">\n <div class=\"col-lg-2 col-12\">\n <p class=\"st\">{{ 'order' | translate }}:</p>\n <h5 class=\"fw-bold\">\n {{ order.number }}\n </h5>\n <ng-container *ngIf=\"order.items[0].product.variants[0]?.images?.length ; else defaultpicture\">\n <img class=\"smc maxwidth\" [src]=\"mediaUrl + order.items[0].product.variants[0].images[0]\" alt=\"\">\n </ng-container>\n <ng-template #defaultpicture>\n <img *ngIf=\"order.items[0].product.picturesdefault\" class=\"smc maxwidth\"\n [src]=\"mediaUrl + order.items[0].product.picturesdefault[0]\" alt=\"\">\n </ng-template>\n </div>\n <div class=\"col-lg-2 col-12\">\n <p class=\"st\">{{ 'payment-state' | translate }}:</p>\n <p class=\"price\">\n {{ order.payments[0].state | translate | titlecase }}\n </p>\n </div>\n <div class=\"col-lg-2 col-12\">\n <p class=\"st\">{{ 'shipment-method' | translate }}:</p>\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=\"st\">{{ 'shipment-state' | translate }}:</p>\n <p class=\"price\">\n {{ order.shipments[0].state | translate | titlecase }}\n </p>\n </div>\n <div class=\"col-lg-2 col-12\">\n <p class=\"st\">{{ 'date' | translate }}:</p>\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\">\n <p class=\"st\">{{ 'total' | translate }}:</p>\n <h5 class=\"fw-bold text-nowrap\">\n {{ (order.totals.total) | ecCurrencySymbol }}\n </h5>\n <button class=\"btn px-0 w-100 btdetalle\" (click)=\"goToOrder(order)\">{{\n 'see-order' | translate }}</button>\n </div>\n </div>\n </div>\n </section>\n</div>\n\n<ng-template #noOrders>\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</ng-template>\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\n<ng-template #loadingView>\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</ng-template>",
8430
+ template: "<div class=\"container-fluid\" id=\"ordersEcComponent\">\n <section id=\"orders\" class=\"w-100\" *ngIf=\"!loading; else loadingView\">\n <div *ngIf=\"orders && orders.length; else noOrders\">\n <div class=\"row item border-bottom\" *ngFor=\"let order of orders\">\n <div class=\"col-lg-2 col-12\">\n <p class=\"st dropdown-toggle\">{{ 'order' | translate }}:</p>\n <h5 class=\"fw-bold\">\n {{ order.number }}\n </h5>\n <ng-container *ngIf=\"order.items[0].product.variants[0]?.images?.length ; else defaultpicture\">\n <img class=\"smc maxwidth\" [src]=\"mediaUrl + order.items[0].product.variants[0].images[0]\" alt=\"\">\n </ng-container>\n <ng-template #defaultpicture>\n <img *ngIf=\"order.items[0].product.picturesdefault\" class=\"smc maxwidth\"\n [src]=\"mediaUrl + order.items[0].product.picturesdefault[0]\" alt=\"\">\n </ng-template>\n </div>\n <div class=\"col-lg-2 col-12\">\n <p class=\"st dropdown-toggle\">{{ 'payment-state' | translate }}:</p>\n <p class=\"price\">\n {{ order.payments[0].state | translate | titlecase }}\n </p>\n </div>\n <div class=\"col-lg-2 col-12\">\n <p class=\"st dropdown-toggle\">{{ 'shipment-method' | translate }}:</p>\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=\"st dropdown-toggle\">{{ 'shipment-state' | translate }}:</p>\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 </div>\n <div class=\"col-lg-2 col-12\">\n <p class=\"st dropdown-toggle\">{{ 'date' | translate }}:</p>\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\">\n <p class=\"st dropdown-toggle\">{{ 'total' | translate }}:</p>\n <h5 class=\"fw-bold text-nowrap\">\n {{ (order.totals.total) | ecCurrencySymbol }}\n </h5>\n <button class=\"btn px-0 w-100 btdetalle\" (click)=\"goToOrder(order)\">{{\n 'see-order' | translate }}</button>\n </div>\n </div>\n </div>\n </section>\n</div>\n\n<ng-template #noOrders>\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</ng-template>\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\n<ng-template #loadingView>\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</ng-template>",
8414
8431
  styles: ["#ordersEcComponent .btn.btdetalle{background-color:#000;color:#fff;border-color:#000;border-width:1px;border-radius:10px;padding:10px 0}#ordersEcComponent .btn.btdetalle:hover{background-color:#fff;color:#000;border-color:#000}"]
8415
8432
  })
8416
8433
  ], OrdersEcComponent);
@@ -8486,7 +8503,7 @@ __decorate$1h([
8486
8503
  OrderEcComponent = __decorate$1h([
8487
8504
  Component({
8488
8505
  selector: 'app-order-ec',
8489
- template: "<main class=\"py-5\" id=\"orderEcComponent\">\n <div class=\"container\">\n <div class=\"wrap\" *ngIf=\"!loading; else loadingView\">\n <div *ngIf=\"order; else noOrder\">\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 <ng-container *ngIf=\"order?.invoice\">\n <div class=\"col-sm col-12 font-brandon\">\n <a target=\"_blank\" [href]=\"consts.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 </ng-container>\n <a (click)=\"volver()\" class=\"col-auto text-end\">\n <button class=\"btn btvolver bg-gray text-white\">{{ 'back-to-orders' | translate }}</button>\n </a>\n </div>\n \n <section id=\"orders\">\n <div class=\"row\">\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 </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 <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 </div>\n </section>\n \n <div class=\"container py-3 border-top border-bottom\">\n <div *ngIf=\"order.items.length; else noProducts\" 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 <div class=\"col-2 text-center font-sm font-brandon d-none d-md-block\">\n {{ 'unit-price' | translate | uppercase }}\n </div>\n <div class=\"col-2 text-center font-sm font-brandon d-none d-md-block\">\n {{ 'quantity' | translate | uppercase }}\n </div>\n <div class=\"col-2 text-end font-sm font-brandon d-none d-md-block\">\n {{ 'total' | translate | uppercase }}\n </div>\n </div>\n <ng-container *ngFor=\"let item of order.items\">\n <div class=\"row cart-items\">\n <div class=\"col-5 col-md-2 py-2\">\n <ng-container *ngIf=\"order.items[0].product.variants[0]?.images?.length ; else defaultpicture\">\n <img class=\"smc maxwidth img-fluid rounded-custom \" [src]=\"consts.mediaUrl() + order.items[0].product.variants[0].images[0]\" alt=\"\">\n </ng-container>\n <ng-template #defaultpicture>\n <img *ngIf=\"order.items[0].product.picturesdefault\" class=\"smc maxwidth img-fluid rounded-custom\"\n [src]=\"consts.mediaUrl() + order.items[0].product.picturesdefault[0]\" alt=\"\">\n </ng-template>\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 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 <div class=\"col-4 font-xl\">\n <p class=\"text-center w-100 m-0\"> {{ (item.product.variants[0].saleprice ? item.product.variants[0].saleprice : item.product.variants[0].price) | ecCurrencySymbol}}</p>\n </div>\n <div class=\"col-4 font-xl\">\n <p class=\"text-center w-100 m-0\"> {{ ((item.product.variants[0].saleprice ? item.product.variants[0].saleprice : item.product.variants[0].price) * item.quantity) | ecCurrencySymbol}}</p>\n </div>\n </div>\n </div>\n </div>\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 : item.product.variants[0].price) | ecCurrencySymbol}}\n </p>\n </div>\n <div class=\"col-2 d-none d-md-flex align-items-center\">\n <p class=\"text-center w-100 m-0\"> {{ item.quantity }}</p>\n </div>\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 : item.product.variants[0].price) * item.quantity) | ecCurrencySymbol}}</p>\n </div>\n </div>\n </ng-container>\n </div>\n \n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12 col-md-6\"></div>\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' | 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' | translate }}</div>\n <div class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\n {{ (order.totals.shipping || '0') | ecCurrencySymbol }}\n </div>\n \n <div *ngIf=\"order.totals.promotion && order.totals.promotion != 0\"\n class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'discount' | translate }}</div>\n <div *ngIf=\"order.totals.promotion && order.totals.promotion != 0\"\n class=\"col-6 font-brandon font-md text-gray border-bottom text-end text-end\">\n {{ (order.totals.promotion) | ecCurrencySymbol }}</div>\n \n <div *ngIf=\"order.totals.taxes && order.totals.taxes != 0 \" class=\"col-6 font-brandon font-md text-gray border-bottom \">\n {{ 'taxes' | translate }}</div>\n <div *ngIf=\"order.totals.taxes && order.totals.taxes != 0\" class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\n {{ (order.totals.taxes) | ecCurrencySymbol }}</div>\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 </div>\n </div>\n </div>\n </div>\n </div>\n\n</main>\n\n<ng-template #noOrder>\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</ng-template>\n\n<ng-template #loadingView>\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</ng-template>",
8506
+ template: "<main class=\"py-5\" id=\"orderEcComponent\">\n <div class=\"container\">\n <div class=\"wrap\" *ngIf=\"!loading; else loadingView\">\n <div *ngIf=\"order; else noOrder\">\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 <ng-container *ngIf=\"order?.invoice\">\n <div class=\"col-sm col-12 font-brandon\">\n <a target=\"_blank\" [href]=\"consts.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 </ng-container>\n <a (click)=\"volver()\" class=\"col-auto text-end\">\n <button class=\"btn btvolver bg-gray text-white\">{{ 'back-to-orders' | translate }}</button>\n </a>\n </div>\n \n <section id=\"orders\">\n <div class=\"row\">\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 <!-- <button class=\"btn btn-outline-dark btnLogout px-3 py-1 font-size-10 w-auto btn-sm\">Ver seguimiento</button> -->\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 <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 </div>\n </section>\n \n <div class=\"container py-3 border-top border-bottom\">\n <div *ngIf=\"order.items.length; else noProducts\" 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 <div class=\"col-2 text-center font-sm font-brandon d-none d-md-block\">\n {{ 'unit-price' | translate | uppercase }}\n </div>\n <div class=\"col-2 text-center font-sm font-brandon d-none d-md-block\">\n {{ 'quantity' | translate | uppercase }}\n </div>\n <div class=\"col-2 text-end font-sm font-brandon d-none d-md-block\">\n {{ 'total' | translate | uppercase }}\n </div>\n </div>\n <ng-container *ngFor=\"let item of order.items\">\n <div class=\"row cart-items\">\n <div class=\"col-5 col-md-2 py-2\">\n <ng-container *ngIf=\"order.items[0].product.variants[0]?.images?.length ; else defaultpicture\">\n <img class=\"smc maxwidth img-fluid rounded-custom \" [src]=\"consts.mediaUrl() + item.product.variants[0].images[0]\" alt=\"\">\n </ng-container>\n <ng-template #defaultpicture>\n <img *ngIf=\"order.items[0].product.picturesdefault\" class=\"smc maxwidth img-fluid rounded-custom\"\n [src]=\"consts.mediaUrl() + order.items[0].product.picturesdefault[0]\" alt=\"\">\n </ng-template>\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 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 <div class=\"col-4 font-xl\">\n <p class=\"text-center w-100 m-0\"> {{ (item.product.variants[0].saleprice ? item.product.variants[0].saleprice : item.product.variants[0].price) | ecCurrencySymbol}}</p>\n </div>\n <div class=\"col-4 font-xl\">\n <p class=\"text-center w-100 m-0\"> {{ ((item.product.variants[0].saleprice ? item.product.variants[0].saleprice : item.product.variants[0].price) * item.quantity) | ecCurrencySymbol}}</p>\n </div>\n </div>\n </div>\n </div>\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 : item.product.variants[0].price) | ecCurrencySymbol}}\n </p>\n </div>\n <div class=\"col-2 d-none d-md-flex align-items-center\">\n <p class=\"text-center w-100 m-0\"> {{ item.quantity }}</p>\n </div>\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 : item.product.variants[0].price) * item.quantity) | ecCurrencySymbol}}</p>\n </div>\n </div>\n </ng-container>\n </div>\n \n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12 col-md-6\"></div>\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' | 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' | translate }}</div>\n <div class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\n {{ (order.totals.shipping || '0') | ecCurrencySymbol }}\n </div>\n \n <div *ngIf=\"order.totals.promotion && order.totals.promotion != 0\"\n class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'discount' | translate }}</div>\n <div *ngIf=\"order.totals.promotion && order.totals.promotion != 0\"\n class=\"col-6 font-brandon font-md text-gray border-bottom text-end text-end\">\n {{ (order.totals.promotion) | ecCurrencySymbol }}</div>\n \n <div *ngIf=\"order.totals.taxes && order.totals.taxes != 0 \" class=\"col-6 font-brandon font-md text-gray border-bottom \">\n {{ 'taxes' | translate }}</div>\n <div *ngIf=\"order.totals.taxes && order.totals.taxes != 0\" class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\n {{ (order.totals.taxes) | ecCurrencySymbol }}</div>\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 </div>\n </div>\n </div>\n </div>\n </div>\n\n</main>\n\n<ng-template #noOrder>\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</ng-template>\n\n<ng-template #loadingView>\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</ng-template>",
8490
8507
  styles: [".maxwidth{max-width:100px}"]
8491
8508
  })
8492
8509
  ], OrderEcComponent);
@@ -10948,6 +10965,185 @@ DecidirEcComponent = __decorate$1E([
10948
10965
  })
10949
10966
  ], DecidirEcComponent);
10950
10967
 
10968
+ var __decorate$1F = (this && this.__decorate) || function (decorators, target, key, desc) {
10969
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
10970
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
10971
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
10972
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
10973
+ };
10974
+ let ComparedProductsEcComponent = class ComparedProductsEcComponent extends ComponentHelper {
10975
+ constructor(productsService, analyticsService, consts, router) {
10976
+ super();
10977
+ this.productsService = productsService;
10978
+ this.analyticsService = analyticsService;
10979
+ this.consts = consts;
10980
+ this.router = router;
10981
+ /**
10982
+ * @description valor que se utilizara para cuando un producto no tenga datos
10983
+ * en el atributo asignado.
10984
+ */
10985
+ this.emptyValue = '';
10986
+ /**
10987
+ * @description valor que se utilizara para la clase de los estilos de la etiqueta <table>
10988
+ */
10989
+ this.classes = '';
10990
+ this.size = '';
10991
+ /**
10992
+ * @description emite true si se genero algun error en la carga, false caso contrario
10993
+ */
10994
+ this.error = new EventEmitter();
10995
+ this.comparedProducts = [];
10996
+ this.attributes = {};
10997
+ this.matrixComparedProducts = {};
10998
+ this.loading = false;
10999
+ /**
11000
+ * @description arreglo con las palabras claves para obtener la asociacion para comparar los productos.
11001
+ */
11002
+ this.keywordsToCompare = ['compare', 'comparar', 'comparacion', 'comparación', 'compared'];
11003
+ /**
11004
+ * @description carga los datos que seran comparados
11005
+ * @param product_id
11006
+ */
11007
+ this.load = (product_id) => {
11008
+ this.productsService.getRelatedProducts(product_id).subscribe(res => {
11009
+ var _a;
11010
+ this.comparedProducts = (_a = res.find(elem => this.includeKeyword(elem.title.toLowerCase()))) === null || _a === void 0 ? void 0 : _a.items;
11011
+ if (this.comparedProducts && this.comparedProducts.length > 0) {
11012
+ this.mergeAttributes(this.comparedProducts);
11013
+ this.matrixComparedProducts = this.buildMatrix();
11014
+ this.error.emit(false);
11015
+ }
11016
+ else {
11017
+ this.error.emit(true);
11018
+ }
11019
+ this.loading = false;
11020
+ res.map(products => { var _a, _b; return this.analyticsService.callEvent('view_item_list', { products: products.items, item_list_name: products.title || 'compared Products', item_list_id: ((_b = (_a = products.title) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.replace(' ', '-')) || 'compared-products' }); });
11021
+ }, err => {
11022
+ console.log(err);
11023
+ this.loading = false;
11024
+ this.error.emit(true);
11025
+ });
11026
+ };
11027
+ /**
11028
+ * @description hace un merge de todos los atributos que tengan los productos.
11029
+ * @param products
11030
+ */
11031
+ this.mergeAttributes = (products) => {
11032
+ products.forEach(product => {
11033
+ product.attributes.forEach(attribute => {
11034
+ if (!this.attributes[attribute.code]) {
11035
+ this.attributes[attribute.code] = { name: attribute.name };
11036
+ }
11037
+ });
11038
+ });
11039
+ };
11040
+ /**
11041
+ * @description genera una matriz de los datos de cada producto para compararlos
11042
+ * @returns un objeto cuya clave es el nombre del atributo y sus valores un
11043
+ * arreglo con los datos de los productos para ese atributo, en caso de no tener
11044
+ * datos en ese atributo se reemplaza por el valor de la variable emptyValue.
11045
+ */
11046
+ this.buildMatrix = () => {
11047
+ let res = {};
11048
+ for (let attribute in this.attributes) {
11049
+ res[attribute] = [];
11050
+ this.comparedProducts.forEach((product, index) => {
11051
+ let item = product.attributes.find(elem => elem.code == attribute);
11052
+ item ? res[attribute].push({ pos: index, values: item.children })
11053
+ : res[attribute].push({ pos: index, values: [{ name: this.emptyValue }] });
11054
+ });
11055
+ }
11056
+ return res;
11057
+ };
11058
+ /**
11059
+ * @description chequea si la palabra pasada por parametro existe en el arreglo de
11060
+ * palabras claves para comparar (keywordsToCompare)
11061
+ * @param word
11062
+ * @returns un valor booleano, true si existe, false caso contrario
11063
+ */
11064
+ this.includeKeyword = (word) => {
11065
+ let result = false;
11066
+ this.keywordsToCompare.forEach(keyword => {
11067
+ word.includes(keyword) ? result = true : null;
11068
+ });
11069
+ return result;
11070
+ };
11071
+ this.customOptions = {
11072
+ loop: true,
11073
+ dots: false,
11074
+ navSpeed: 950,
11075
+ margin: 0,
11076
+ navText: ['', ''],
11077
+ nav: true,
11078
+ responsive: {
11079
+ 0: {
11080
+ items: 1,
11081
+ nav: true
11082
+ },
11083
+ 600: {
11084
+ items: 3,
11085
+ nav: true
11086
+ },
11087
+ 900: {
11088
+ items: 4,
11089
+ nav: true,
11090
+ }
11091
+ }
11092
+ };
11093
+ this.ecOnConstruct();
11094
+ }
11095
+ /**
11096
+ * @description tamaño de la tabla responsive (sm | md| lg | xl | xxl)
11097
+ */
11098
+ set setSize(value) {
11099
+ this.size = '-' + value;
11100
+ }
11101
+ ngOnInit() {
11102
+ this.loading = true;
11103
+ this.load(this.product_id);
11104
+ this.ecOnInit();
11105
+ }
11106
+ ngOnChanges(changes) {
11107
+ window.scroll({
11108
+ top: 0,
11109
+ left: 0,
11110
+ behavior: 'smooth'
11111
+ });
11112
+ this.load(changes.product_id.currentValue);
11113
+ //this.doSomething(changes.categoryId.currentValue);
11114
+ // You can also use categoryId.previousValue and
11115
+ // categoryId.firstChange for comparing old and new values
11116
+ }
11117
+ };
11118
+ ComparedProductsEcComponent.ctorParameters = () => [
11119
+ { type: ProductsService },
11120
+ { type: AnalyticsService },
11121
+ { type: Constants },
11122
+ { type: Router }
11123
+ ];
11124
+ __decorate$1F([
11125
+ Input()
11126
+ ], ComparedProductsEcComponent.prototype, "product_id", void 0);
11127
+ __decorate$1F([
11128
+ Input()
11129
+ ], ComparedProductsEcComponent.prototype, "emptyValue", void 0);
11130
+ __decorate$1F([
11131
+ Input()
11132
+ ], ComparedProductsEcComponent.prototype, "classes", void 0);
11133
+ __decorate$1F([
11134
+ Input()
11135
+ ], ComparedProductsEcComponent.prototype, "setSize", null);
11136
+ __decorate$1F([
11137
+ Output()
11138
+ ], ComparedProductsEcComponent.prototype, "error", void 0);
11139
+ ComparedProductsEcComponent = __decorate$1F([
11140
+ Component({
11141
+ selector: 'app-compared-products-ec',
11142
+ template: "<ng-container *ngIf=\"!loading; else loadingView\">\n <ng-container *ngIf=\"comparedProducts && comparedProducts.length\">\n <div [class]=\"'table-responsive'+size\">\n <table id=\"table\" [class]=\"'table '+classes\">\n <thead id=\"thead\">\n <tr class=\"thead-tr\">\n <th class=\"thead-tr-th\" scope=\"col\"></th>\n <th class=\"thead-tr-th\" *ngFor=\"let product of comparedProducts\" scope=\"col\">{{product.id}}</th>\n </tr>\n </thead>\n <tbody id=\"tbody\">\n <tr *ngFor=\"let row of matrixComparedProducts | keyvalue\" class=\"tbody-tr\">\n <th class=\"tbody-tr-th\" scope=\"row\">{{attributes[row.key].name}}</th>\n <td class=\"tbody-tr-td\" *ngFor=\"let col of row.value\">\n <ul>\n <li *ngFor=\"let item of col.values\">\n {{ item.name }}\n </li>\n </ul>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </ng-container>\n</ng-container>\n<ng-template #loadingView>\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</ng-template>",
11143
+ styles: [""]
11144
+ })
11145
+ ], ComparedProductsEcComponent);
11146
+
10951
11147
  // //Component base
10952
11148
  const components = [
10953
11149
  BlockBannerBoxesEcComponent,
@@ -10973,6 +11169,7 @@ const components = [
10973
11169
  LoginEcComponent,
10974
11170
  ProductEcComponent,
10975
11171
  RelatedProductsEcComponent,
11172
+ ComparedProductsEcComponent,
10976
11173
  SectionContainerEcComponent,
10977
11174
  StoresEcComponent,
10978
11175
  VariantsEcComponent,
@@ -11014,7 +11211,7 @@ const components = [
11014
11211
  RecaptchaEcComponent
11015
11212
  ];
11016
11213
 
11017
- var __decorate$1F = (this && this.__decorate) || function (decorators, target, key, desc) {
11214
+ var __decorate$1G = (this && this.__decorate) || function (decorators, target, key, desc) {
11018
11215
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11019
11216
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11020
11217
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -11078,23 +11275,23 @@ AddActionRedirectDirective.ctorParameters = () => [
11078
11275
  { type: BlocksService },
11079
11276
  { type: Router }
11080
11277
  ];
11081
- __decorate$1F([
11278
+ __decorate$1G([
11082
11279
  Input()
11083
11280
  ], AddActionRedirectDirective.prototype, "ecAddActionRedirect", null);
11084
- __decorate$1F([
11281
+ __decorate$1G([
11085
11282
  Input()
11086
11283
  ], AddActionRedirectDirective.prototype, "classStrSpacing", null);
11087
- __decorate$1F([
11284
+ __decorate$1G([
11088
11285
  Input()
11089
11286
  ], AddActionRedirectDirective.prototype, "isTransparent", null);
11090
- AddActionRedirectDirective = __decorate$1F([
11287
+ AddActionRedirectDirective = __decorate$1G([
11091
11288
  Directive({
11092
11289
  selector: "[ecAddActionRedirect]",
11093
11290
  }),
11094
11291
  __param$b(0, Inject(DOCUMENT))
11095
11292
  ], AddActionRedirectDirective);
11096
11293
 
11097
- var __decorate$1G = (this && this.__decorate) || function (decorators, target, key, desc) {
11294
+ var __decorate$1H = (this && this.__decorate) || function (decorators, target, key, desc) {
11098
11295
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11099
11296
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11100
11297
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -11153,19 +11350,19 @@ ProductStockDirective.ctorParameters = () => [
11153
11350
  { type: TemplateRef },
11154
11351
  { type: ViewContainerRef }
11155
11352
  ];
11156
- __decorate$1G([
11353
+ __decorate$1H([
11157
11354
  Input()
11158
11355
  ], ProductStockDirective.prototype, "ecProductStockElse", void 0);
11159
- __decorate$1G([
11356
+ __decorate$1H([
11160
11357
  Input()
11161
11358
  ], ProductStockDirective.prototype, "ecProductStock", null);
11162
- ProductStockDirective = __decorate$1G([
11359
+ ProductStockDirective = __decorate$1H([
11163
11360
  Directive({
11164
11361
  selector: "[ecProductStock]"
11165
11362
  })
11166
11363
  ], ProductStockDirective);
11167
11364
 
11168
- var __decorate$1H = (this && this.__decorate) || function (decorators, target, key, desc) {
11365
+ var __decorate$1I = (this && this.__decorate) || function (decorators, target, key, desc) {
11169
11366
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11170
11367
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11171
11368
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -11290,23 +11487,23 @@ ProductOffDirective.ctorParameters = () => [
11290
11487
  { type: ElementRef },
11291
11488
  { type: Renderer2 }
11292
11489
  ];
11293
- __decorate$1H([
11490
+ __decorate$1I([
11294
11491
  Input()
11295
11492
  ], ProductOffDirective.prototype, "ecProductOff", null);
11296
- __decorate$1H([
11493
+ __decorate$1I([
11297
11494
  Input()
11298
11495
  ], ProductOffDirective.prototype, "classStrSpacing", null);
11299
- __decorate$1H([
11496
+ __decorate$1I([
11300
11497
  Input()
11301
11498
  ], ProductOffDirective.prototype, "customMessage", null);
11302
- ProductOffDirective = __decorate$1H([
11499
+ ProductOffDirective = __decorate$1I([
11303
11500
  Directive({
11304
11501
  selector: "[ecProductOff]",
11305
11502
  }),
11306
11503
  __param$c(0, Inject(DOCUMENT))
11307
11504
  ], ProductOffDirective);
11308
11505
 
11309
- var __decorate$1I = (this && this.__decorate) || function (decorators, target, key, desc) {
11506
+ var __decorate$1J = (this && this.__decorate) || function (decorators, target, key, desc) {
11310
11507
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11311
11508
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11312
11509
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -11359,16 +11556,16 @@ ProductMiniStandardDirective.ctorParameters = () => [
11359
11556
  { type: Renderer2 },
11360
11557
  { type: Constants }
11361
11558
  ];
11362
- __decorate$1I([
11559
+ __decorate$1J([
11363
11560
  Input()
11364
11561
  ], ProductMiniStandardDirective.prototype, "ecProductMiniStandard", null);
11365
- ProductMiniStandardDirective = __decorate$1I([
11562
+ ProductMiniStandardDirective = __decorate$1J([
11366
11563
  Directive({
11367
11564
  selector: '[ecProductMiniStandard]'
11368
11565
  })
11369
11566
  ], ProductMiniStandardDirective);
11370
11567
 
11371
- var __decorate$1J = (this && this.__decorate) || function (decorators, target, key, desc) {
11568
+ var __decorate$1K = (this && this.__decorate) || function (decorators, target, key, desc) {
11372
11569
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11373
11570
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11374
11571
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -11407,13 +11604,13 @@ AuthWholesalerDirective.ctorParameters = () => [
11407
11604
  { type: ViewContainerRef },
11408
11605
  { type: AuthService }
11409
11606
  ];
11410
- __decorate$1J([
11607
+ __decorate$1K([
11411
11608
  Input()
11412
11609
  ], AuthWholesalerDirective.prototype, "ecAuthWholesalerElse", void 0);
11413
- __decorate$1J([
11610
+ __decorate$1K([
11414
11611
  Input()
11415
11612
  ], AuthWholesalerDirective.prototype, "ecAuthWholesaler", null);
11416
- AuthWholesalerDirective = __decorate$1J([
11613
+ AuthWholesalerDirective = __decorate$1K([
11417
11614
  Directive({
11418
11615
  selector: "[ecAuthWholesaler]"
11419
11616
  })
@@ -11433,7 +11630,7 @@ const directives = [
11433
11630
  AuthWholesalerDirective,
11434
11631
  ];
11435
11632
 
11436
- var __decorate$1K = (this && this.__decorate) || function (decorators, target, key, desc) {
11633
+ var __decorate$1L = (this && this.__decorate) || function (decorators, target, key, desc) {
11437
11634
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11438
11635
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11439
11636
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -11476,13 +11673,13 @@ ecCurrencySymbolPipe.ctorParameters = () => [
11476
11673
  { type: CurrencyPipe },
11477
11674
  { type: Constants }
11478
11675
  ];
11479
- ecCurrencySymbolPipe = __decorate$1K([
11676
+ ecCurrencySymbolPipe = __decorate$1L([
11480
11677
  Pipe({
11481
11678
  name: 'ecCurrencySymbol',
11482
11679
  })
11483
11680
  ], ecCurrencySymbolPipe);
11484
11681
 
11485
- var __decorate$1L = (this && this.__decorate) || function (decorators, target, key, desc) {
11682
+ var __decorate$1M = (this && this.__decorate) || function (decorators, target, key, desc) {
11486
11683
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11487
11684
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11488
11685
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -11499,13 +11696,13 @@ let EcSanitizerHtmlPipe = class EcSanitizerHtmlPipe {
11499
11696
  EcSanitizerHtmlPipe.ctorParameters = () => [
11500
11697
  { type: DomSanitizer }
11501
11698
  ];
11502
- EcSanitizerHtmlPipe = __decorate$1L([
11699
+ EcSanitizerHtmlPipe = __decorate$1M([
11503
11700
  Pipe({
11504
11701
  name: 'ecSanitizerHtml'
11505
11702
  })
11506
11703
  ], EcSanitizerHtmlPipe);
11507
11704
 
11508
- var __decorate$1M = (this && this.__decorate) || function (decorators, target, key, desc) {
11705
+ var __decorate$1N = (this && this.__decorate) || function (decorators, target, key, desc) {
11509
11706
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11510
11707
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11511
11708
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -11522,7 +11719,7 @@ let EcSanitizerUrlPipe = class EcSanitizerUrlPipe {
11522
11719
  EcSanitizerUrlPipe.ctorParameters = () => [
11523
11720
  { type: DomSanitizer }
11524
11721
  ];
11525
- EcSanitizerUrlPipe = __decorate$1M([
11722
+ EcSanitizerUrlPipe = __decorate$1N([
11526
11723
  Pipe({
11527
11724
  name: 'ecSanitizerUrl'
11528
11725
  })
@@ -11535,7 +11732,7 @@ const pipes = [
11535
11732
  EcSanitizerUrlPipe
11536
11733
  ];
11537
11734
 
11538
- var __decorate$1N = (this && this.__decorate) || function (decorators, target, key, desc) {
11735
+ var __decorate$1O = (this && this.__decorate) || function (decorators, target, key, desc) {
11539
11736
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11540
11737
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11541
11738
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -11618,7 +11815,7 @@ let NgEasycommerceModule = NgEasycommerceModule_1 = class NgEasycommerceModule {
11618
11815
  };
11619
11816
  }
11620
11817
  };
11621
- NgEasycommerceModule = NgEasycommerceModule_1 = __decorate$1N([
11818
+ NgEasycommerceModule = NgEasycommerceModule_1 = __decorate$1O([
11622
11819
  NgModule({
11623
11820
  exports: [
11624
11821
  OrderByPipe,
@@ -11652,7 +11849,7 @@ NgEasycommerceModule = NgEasycommerceModule_1 = __decorate$1N([
11652
11849
  })
11653
11850
  ], NgEasycommerceModule);
11654
11851
 
11655
- var __decorate$1O = (this && this.__decorate) || function (decorators, target, key, desc) {
11852
+ var __decorate$1P = (this && this.__decorate) || function (decorators, target, key, desc) {
11656
11853
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11657
11854
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11658
11855
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -11700,13 +11897,13 @@ GiftCardService.ctorParameters = () => [
11700
11897
  { type: ConnectionService }
11701
11898
  ];
11702
11899
  GiftCardService.ɵprov = ɵɵdefineInjectable({ factory: function GiftCardService_Factory() { return new GiftCardService(ɵɵinject(Constants), ɵɵinject(CartService), ɵɵinject(ConnectionService)); }, token: GiftCardService, providedIn: "root" });
11703
- GiftCardService = __decorate$1O([
11900
+ GiftCardService = __decorate$1P([
11704
11901
  Injectable({
11705
11902
  providedIn: 'root'
11706
11903
  })
11707
11904
  ], GiftCardService);
11708
11905
 
11709
- var __decorate$1P = (this && this.__decorate) || function (decorators, target, key, desc) {
11906
+ var __decorate$1Q = (this && this.__decorate) || function (decorators, target, key, desc) {
11710
11907
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11711
11908
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11712
11909
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -11763,13 +11960,13 @@ WishlistService.ctorParameters = () => [
11763
11960
  { type: ToastrService }
11764
11961
  ];
11765
11962
  WishlistService.ɵprov = ɵɵdefineInjectable({ factory: function WishlistService_Factory() { return new WishlistService(ɵɵinject(ToastrService)); }, token: WishlistService, providedIn: "root" });
11766
- WishlistService = __decorate$1P([
11963
+ WishlistService = __decorate$1Q([
11767
11964
  Injectable({
11768
11965
  providedIn: 'root'
11769
11966
  })
11770
11967
  ], WishlistService);
11771
11968
 
11772
- var __decorate$1Q = (this && this.__decorate) || function (decorators, target, key, desc) {
11969
+ var __decorate$1R = (this && this.__decorate) || function (decorators, target, key, desc) {
11773
11970
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11774
11971
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11775
11972
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -11805,7 +12002,7 @@ let StandardReuseStrategy = class StandardReuseStrategy {
11805
12002
  StandardReuseStrategy.ctorParameters = () => [
11806
12003
  { type: undefined, decorators: [{ type: Inject, args: ['env',] }] }
11807
12004
  ];
11808
- StandardReuseStrategy = __decorate$1Q([
12005
+ StandardReuseStrategy = __decorate$1R([
11809
12006
  Injectable(),
11810
12007
  __param$d(0, Inject('env'))
11811
12008
  ], StandardReuseStrategy);
@@ -11818,5 +12015,5 @@ StandardReuseStrategy = __decorate$1Q([
11818
12015
  * Generated bundle index. Do not edit.
11819
12016
  */
11820
12017
 
11821
- export { AbleBuyerGuardService, AccountEcComponent, AddActionRedirectDirective, AddressingService, AnalyticsService, AttributesFilter, AuthEcComponent, AuthGuardService, AuthInterceptor, AuthService, AuthWholesalerDirective, BancardEcComponent, BancardRedirectEcComponent, BannerService, BlockBannerBoxesEcComponent, BlockBannerFullEcComponent, BlockFormContactEcComponent, BlockHtmlEcComponent, BlockProductsEcComponent, BlocksEcComponent, BlocksService, BrowserWindowRef, CaptchaService, CartEcComponent, CartLoadEcComponent, CartService, CategoryFilter, CecaRedirectEcComponent, ChannelConfigService, CheckoutEcComponent, CheckoutErrorComponent, CheckoutReadyGuard, CheckoutService, CollectionEcComponent, ConfirmAccountEcComponent, ConnectionService, Constants, ContactFormNewsEcComponent, CouponEcComponent, DataFormEcComponent, DataformService, DecidirEcComponent, DetailCheckoutBlockEcComponent, DynamicsFilter, EcSanitizerHtmlPipe, EcSanitizerUrlPipe, FaqsContentEcComponent, Filter, FilterOptionTypes, FiltersEcComponent, FiltersTopEcComponent, FooterEcComponent, ForgotPasswordEcComponent, GiftCardService, HeaderEcComponent, HomeEcComponent, LoadingFullEcComponent, LoadingInlineEcComponent, LoggedInGuard, LoginEcComponent, LoginFormEcComponent, MPCreditEcComponent, MobbexEcComponent, MpRedirectEcComponent, MultipleItemsToCartEcComponent, NgEasycommerceModule, OptionsService, OrderEcComponent, OrdersEcComponent, OrdersService, PaginationService, ParametersService, ParamsContext, PasswordResetEcComponent, PaymentEcComponent, PaymentService, PaypalExpressEcComponent, PriceEcComponent, ProductDetailEcComponent, ProductDetailService, ProductEcComponent, ProductMiniStandardDirective, ProductStockDirective, ProductsService, RedSysProEcComponent, RedSysRedirectEcComponent, RedSysRedirectOutEcComponent, RedsysCatchEcComponent, RegisterFormEcComponent, RegisterWholesalerFormEcComponent, RelatedProductsEcComponent, SectionContainerEcComponent, SelectChannelEcComponent, ShareBlockEcComponent, ShipmentEcComponent, ShipmentService, SortFilter, StandardReuseStrategy, Step, StoresEcComponent, StoresService, SuccessEcComponent, ToastService, User, UserRoleGuardService, UtilsService, VariantsEcComponent, WINDOW, WINDOW_PROVIDERS, WindowRef, WishlistService, browserWindowProvider, ecCurrencySymbolPipe, windowFactory, windowProvider, OrderByPipe as ɵa, components as ɵb, SellerDashboardContainerEcComponent as ɵc, MagnizoomComponent as ɵd, RecaptchaEcComponent as ɵe, ComponentHelper as ɵf, BlocksRepositoryService as ɵg, FacebookPixelService as ɵh, GoogleAnalyticsService as ɵi, GTMService as ɵj, MetricoolPixelService as ɵk, DopplerService as ɵl, OrderUtilityService as ɵm, StepService as ɵn, ErrorHandlerService as ɵo, ShipmentDataTransformer as ɵp, directives as ɵq, ProductOffDirective as ɵr, pipes as ɵs, OptionsOfProductListDataReceiverService as ɵt, PaymentUtils as ɵu, CustomerInterceptor as ɵv };
12018
+ export { AbleBuyerGuardService, AccountEcComponent, AddActionRedirectDirective, AddressingService, AnalyticsService, AttributesFilter, AuthEcComponent, AuthGuardService, AuthInterceptor, AuthService, AuthWholesalerDirective, BancardEcComponent, BancardRedirectEcComponent, BannerService, BlockBannerBoxesEcComponent, BlockBannerFullEcComponent, BlockFormContactEcComponent, BlockHtmlEcComponent, BlockProductsEcComponent, BlocksEcComponent, BlocksService, BrowserWindowRef, CaptchaService, CartEcComponent, CartLoadEcComponent, CartService, CategoryFilter, CecaRedirectEcComponent, ChannelConfigService, CheckoutEcComponent, CheckoutErrorComponent, CheckoutReadyGuard, CheckoutService, CollectionEcComponent, ConfirmAccountEcComponent, ConnectionService, Constants, ContactFormNewsEcComponent, CouponEcComponent, DataFormEcComponent, DataformService, DecidirEcComponent, DetailCheckoutBlockEcComponent, DynamicsFilter, EcSanitizerHtmlPipe, EcSanitizerUrlPipe, FaqsContentEcComponent, Filter, FilterOptionTypes, FiltersEcComponent, FiltersTopEcComponent, FooterEcComponent, ForgotPasswordEcComponent, GiftCardService, HeaderEcComponent, HomeEcComponent, LoadingFullEcComponent, LoadingInlineEcComponent, LoggedInGuard, LoginEcComponent, LoginFormEcComponent, MPCreditEcComponent, MobbexEcComponent, MpRedirectEcComponent, MultipleItemsToCartEcComponent, NgEasycommerceModule, OptionsService, OrderEcComponent, OrdersEcComponent, OrdersService, PaginationService, ParametersService, ParamsContext, PasswordResetEcComponent, PaymentEcComponent, PaymentService, PaypalExpressEcComponent, PriceEcComponent, ProductDetailEcComponent, ProductDetailService, ProductEcComponent, ProductMiniStandardDirective, ProductStockDirective, ProductsService, RedSysProEcComponent, RedSysRedirectEcComponent, RedSysRedirectOutEcComponent, RedsysCatchEcComponent, RegisterFormEcComponent, RegisterWholesalerFormEcComponent, RelatedProductsEcComponent, SectionContainerEcComponent, SelectChannelEcComponent, ShareBlockEcComponent, ShipmentEcComponent, ShipmentService, SortFilter, StandardReuseStrategy, Step, StoresEcComponent, StoresService, SuccessEcComponent, ToastService, User, UserRoleGuardService, UtilsService, VariantsEcComponent, WINDOW, WINDOW_PROVIDERS, WindowRef, WishlistService, browserWindowProvider, ecCurrencySymbolPipe, windowFactory, windowProvider, OrderByPipe as ɵa, components as ɵb, SellerDashboardContainerEcComponent as ɵc, MagnizoomComponent as ɵd, RecaptchaEcComponent as ɵe, ComparedProductsEcComponent as ɵf, ComponentHelper as ɵg, BlocksRepositoryService as ɵh, FacebookPixelService as ɵi, GoogleAnalyticsService as ɵj, GTMService as ɵk, MetricoolPixelService as ɵl, DopplerService as ɵm, OrderUtilityService as ɵn, StepService as ɵo, ErrorHandlerService as ɵp, ShipmentDataTransformer as ɵq, directives as ɵr, ProductOffDirective as ɵs, pipes as ɵt, OptionsOfProductListDataReceiverService as ɵu, PaymentUtils as ɵv, CustomerInterceptor as ɵw };
11822
12019
  //# sourceMappingURL=ng-easycommerce.js.map