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
@@ -3691,6 +3691,17 @@
3691
3691
  this.setHomeResolver = function (resolverFunction) { return _this.homeResolver = resolverFunction; };
3692
3692
  this.getHomeResolver = function () { return _this.homeResolver; };
3693
3693
  this.isAbleToBuy = function () { var _a; return !((_a = _this.getUserProfileAsUser()) === null || _a === void 0 ? void 0 : _a.isSeller()) || !!_this.getCustomer(); };
3694
+ /**
3695
+ * @description Evalua si el valor que ingresa por parámetro es mayor o igual al mínimo de compra
3696
+ * que el usuario tiene asignado a ese canal, diferenciando si es mayorista o minorista.
3697
+ * @param {number} value
3698
+ * @returns {boolean} true si excede el monto, false caso contrario
3699
+ */
3700
+ this.exceedsMinimumAmount = function (value) {
3701
+ if (value === void 0) { value = 0; }
3702
+ return _this.user.isWholesaler() ? _this.user.channels.find(function (channel) { return _this.constants.getChannel() == channel.code; }).wholesalerMinimumPurchaseAmount <= value
3703
+ : _this.user.channels.find(function (channel) { return _this.constants.getChannel() == channel.code; }).retailerMinimumPurchaseAmount <= value;
3704
+ };
3694
3705
  this.isAuthenticated() && this.loggedInSubject.next(true);
3695
3706
  }
3696
3707
  /**
@@ -4610,10 +4621,6 @@
4610
4621
  _this.state = _this.stateSubject.asObservable();
4611
4622
  _this.methods = _this.methodsSubject.asObservable();
4612
4623
  _this.costs = _this.costsSubject.asObservable();
4613
- /**
4614
- * @param moreInfoInMethod por defecto su estado es false, si se desea que visualice información adicional de cada método de envió asignar true.
4615
- */
4616
- _this.moreInfoInMethod = false;
4617
4624
  _this.shipmentMethodsApi = function () { return _this.baseApi() + '/shipping'; };
4618
4625
  _this.persistShipmentApi = function () { return 'shop-api/' + _this.consts.getChannel() + '/andreani/' + _this.cartService.getCartToken() + '/ship'; };
4619
4626
  _this.putShipmentApi = function () { return _this.baseApi() + '/shipping/' + _this.stateSubject.getValue().data.method; };
@@ -4755,6 +4762,10 @@
4755
4762
  ShipmentService.prototype.ngOnDestroy = function () {
4756
4763
  this.subscription && this.subscription.unsubscribe();
4757
4764
  };
4765
+ /**
4766
+ * @param moreInfoInMethod por defecto su estado es false, si se desea que visualice información adicional de cada método de envió asignar true.
4767
+ */
4768
+ ShipmentService.moreInfoInMethod = false;
4758
4769
  ShipmentService.ctorParameters = function () { return [
4759
4770
  { type: ConnectionService },
4760
4771
  { type: ShipmentDataTransformer },
@@ -6956,7 +6967,7 @@
6956
6967
  PaymentEcComponent = __decorate$Q([
6957
6968
  core.Component({
6958
6969
  selector: 'app-payment-ec',
6959
- 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>",
6970
+ 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>",
6960
6971
  providers: [PaymentService],
6961
6972
  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}"]
6962
6973
  })
@@ -7061,6 +7072,7 @@
7061
7072
  _this.verifyValidate(_this.costs[0].name, _this.costs[0].contracts[0]);
7062
7073
  }
7063
7074
  });
7075
+ this.moreInfoInMethod = ShipmentService.moreInfoInMethod;
7064
7076
  this.ecOnInit();
7065
7077
  };
7066
7078
  ShipmentEcComponent.prototype.ngOnChanges = function () {
@@ -7098,7 +7110,7 @@
7098
7110
  ShipmentEcComponent = __decorate$R([
7099
7111
  core.Component({
7100
7112
  selector: 'app-shipment-ec',
7101
- 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>",
7113
+ 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>",
7102
7114
  providers: [ShipmentService],
7103
7115
  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}"]
7104
7116
  })
@@ -8755,6 +8767,14 @@
8755
8767
  _this.router = router;
8756
8768
  _this.relatedProducts = [];
8757
8769
  _this.name = null;
8770
+ _this.keywordsToCompare = ['compare', 'comparar', 'comparacion', 'comparación', 'compared'];
8771
+ _this.includeKeyword = function (word) {
8772
+ var result = false;
8773
+ _this.keywordsToCompare.forEach(function (keyword) {
8774
+ word.includes(keyword) ? result = true : null;
8775
+ });
8776
+ return result;
8777
+ };
8758
8778
  _this.customOptions = {
8759
8779
  loop: true,
8760
8780
  dots: false,
@@ -8787,7 +8807,7 @@
8787
8807
  RelatedProductsEcComponent.prototype.load = function (product_id) {
8788
8808
  var _this = this;
8789
8809
  this.productsService.getRelatedProducts(product_id).pipe(operators.take(1)).subscribe(function (res) {
8790
- _this.relatedProducts = res;
8810
+ _this.relatedProducts = res.filter(function (elem) { return !_this.includeKeyword(elem.title.toLowerCase()); });
8791
8811
  res.map(function (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' }); });
8792
8812
  });
8793
8813
  };
@@ -10382,7 +10402,7 @@
10382
10402
  OrdersEcComponent = __decorate$1g([
10383
10403
  core.Component({
10384
10404
  selector: 'app-orders-ec',
10385
- 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>",
10405
+ 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>",
10386
10406
  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}"]
10387
10407
  })
10388
10408
  ], OrdersEcComponent);
@@ -10512,7 +10532,7 @@
10512
10532
  OrderEcComponent = __decorate$1h([
10513
10533
  core.Component({
10514
10534
  selector: 'app-order-ec',
10515
- 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>",
10535
+ 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>",
10516
10536
  styles: [".maxwidth{max-width:100px}"]
10517
10537
  })
10518
10538
  ], OrderEcComponent);
@@ -13392,6 +13412,208 @@
13392
13412
  return DecidirEcComponent;
13393
13413
  }(ComponentHelper));
13394
13414
 
13415
+ var __extends$14 = (this && this.__extends) || (function () {
13416
+ var extendStatics = function (d, b) {
13417
+ extendStatics = Object.setPrototypeOf ||
13418
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
13419
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
13420
+ return extendStatics(d, b);
13421
+ };
13422
+ return function (d, b) {
13423
+ extendStatics(d, b);
13424
+ function __() { this.constructor = d; }
13425
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13426
+ };
13427
+ })();
13428
+ var __decorate$1F = (this && this.__decorate) || function (decorators, target, key, desc) {
13429
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
13430
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
13431
+ 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;
13432
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13433
+ };
13434
+ var ComparedProductsEcComponent = /** @class */ (function (_super) {
13435
+ __extends$14(ComparedProductsEcComponent, _super);
13436
+ function ComparedProductsEcComponent(productsService, analyticsService, consts, router) {
13437
+ var _this = _super.call(this) || this;
13438
+ _this.productsService = productsService;
13439
+ _this.analyticsService = analyticsService;
13440
+ _this.consts = consts;
13441
+ _this.router = router;
13442
+ /**
13443
+ * @description valor que se utilizara para cuando un producto no tenga datos
13444
+ * en el atributo asignado.
13445
+ */
13446
+ _this.emptyValue = '';
13447
+ /**
13448
+ * @description valor que se utilizara para la clase de los estilos de la etiqueta <table>
13449
+ */
13450
+ _this.classes = '';
13451
+ _this.size = '';
13452
+ /**
13453
+ * @description emite true si se genero algun error en la carga, false caso contrario
13454
+ */
13455
+ _this.error = new core.EventEmitter();
13456
+ _this.comparedProducts = [];
13457
+ _this.attributes = {};
13458
+ _this.matrixComparedProducts = {};
13459
+ _this.loading = false;
13460
+ /**
13461
+ * @description arreglo con las palabras claves para obtener la asociacion para comparar los productos.
13462
+ */
13463
+ _this.keywordsToCompare = ['compare', 'comparar', 'comparacion', 'comparación', 'compared'];
13464
+ /**
13465
+ * @description carga los datos que seran comparados
13466
+ * @param product_id
13467
+ */
13468
+ _this.load = function (product_id) {
13469
+ _this.productsService.getRelatedProducts(product_id).subscribe(function (res) {
13470
+ var _a;
13471
+ _this.comparedProducts = (_a = res.find(function (elem) { return _this.includeKeyword(elem.title.toLowerCase()); })) === null || _a === void 0 ? void 0 : _a.items;
13472
+ if (_this.comparedProducts && _this.comparedProducts.length > 0) {
13473
+ _this.mergeAttributes(_this.comparedProducts);
13474
+ _this.matrixComparedProducts = _this.buildMatrix();
13475
+ _this.error.emit(false);
13476
+ }
13477
+ else {
13478
+ _this.error.emit(true);
13479
+ }
13480
+ _this.loading = false;
13481
+ res.map(function (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' }); });
13482
+ }, function (err) {
13483
+ console.log(err);
13484
+ _this.loading = false;
13485
+ _this.error.emit(true);
13486
+ });
13487
+ };
13488
+ /**
13489
+ * @description hace un merge de todos los atributos que tengan los productos.
13490
+ * @param products
13491
+ */
13492
+ _this.mergeAttributes = function (products) {
13493
+ products.forEach(function (product) {
13494
+ product.attributes.forEach(function (attribute) {
13495
+ if (!_this.attributes[attribute.code]) {
13496
+ _this.attributes[attribute.code] = { name: attribute.name };
13497
+ }
13498
+ });
13499
+ });
13500
+ };
13501
+ /**
13502
+ * @description genera una matriz de los datos de cada producto para compararlos
13503
+ * @returns un objeto cuya clave es el nombre del atributo y sus valores un
13504
+ * arreglo con los datos de los productos para ese atributo, en caso de no tener
13505
+ * datos en ese atributo se reemplaza por el valor de la variable emptyValue.
13506
+ */
13507
+ _this.buildMatrix = function () {
13508
+ var res = {};
13509
+ var _loop_1 = function (attribute) {
13510
+ res[attribute] = [];
13511
+ _this.comparedProducts.forEach(function (product, index) {
13512
+ var item = product.attributes.find(function (elem) { return elem.code == attribute; });
13513
+ item ? res[attribute].push({ pos: index, values: item.children })
13514
+ : res[attribute].push({ pos: index, values: [{ name: _this.emptyValue }] });
13515
+ });
13516
+ };
13517
+ for (var attribute in _this.attributes) {
13518
+ _loop_1(attribute);
13519
+ }
13520
+ return res;
13521
+ };
13522
+ /**
13523
+ * @description chequea si la palabra pasada por parametro existe en el arreglo de
13524
+ * palabras claves para comparar (keywordsToCompare)
13525
+ * @param word
13526
+ * @returns un valor booleano, true si existe, false caso contrario
13527
+ */
13528
+ _this.includeKeyword = function (word) {
13529
+ var result = false;
13530
+ _this.keywordsToCompare.forEach(function (keyword) {
13531
+ word.includes(keyword) ? result = true : null;
13532
+ });
13533
+ return result;
13534
+ };
13535
+ _this.customOptions = {
13536
+ loop: true,
13537
+ dots: false,
13538
+ navSpeed: 950,
13539
+ margin: 0,
13540
+ navText: ['', ''],
13541
+ nav: true,
13542
+ responsive: {
13543
+ 0: {
13544
+ items: 1,
13545
+ nav: true
13546
+ },
13547
+ 600: {
13548
+ items: 3,
13549
+ nav: true
13550
+ },
13551
+ 900: {
13552
+ items: 4,
13553
+ nav: true,
13554
+ }
13555
+ }
13556
+ };
13557
+ _this.ecOnConstruct();
13558
+ return _this;
13559
+ }
13560
+ Object.defineProperty(ComparedProductsEcComponent.prototype, "setSize", {
13561
+ /**
13562
+ * @description tamaño de la tabla responsive (sm | md| lg | xl | xxl)
13563
+ */
13564
+ set: function (value) {
13565
+ this.size = '-' + value;
13566
+ },
13567
+ enumerable: true,
13568
+ configurable: true
13569
+ });
13570
+ ComparedProductsEcComponent.prototype.ngOnInit = function () {
13571
+ this.loading = true;
13572
+ this.load(this.product_id);
13573
+ this.ecOnInit();
13574
+ };
13575
+ ComparedProductsEcComponent.prototype.ngOnChanges = function (changes) {
13576
+ window.scroll({
13577
+ top: 0,
13578
+ left: 0,
13579
+ behavior: 'smooth'
13580
+ });
13581
+ this.load(changes.product_id.currentValue);
13582
+ //this.doSomething(changes.categoryId.currentValue);
13583
+ // You can also use categoryId.previousValue and
13584
+ // categoryId.firstChange for comparing old and new values
13585
+ };
13586
+ ComparedProductsEcComponent.ctorParameters = function () { return [
13587
+ { type: ProductsService },
13588
+ { type: AnalyticsService },
13589
+ { type: Constants },
13590
+ { type: router.Router }
13591
+ ]; };
13592
+ __decorate$1F([
13593
+ core.Input()
13594
+ ], ComparedProductsEcComponent.prototype, "product_id", void 0);
13595
+ __decorate$1F([
13596
+ core.Input()
13597
+ ], ComparedProductsEcComponent.prototype, "emptyValue", void 0);
13598
+ __decorate$1F([
13599
+ core.Input()
13600
+ ], ComparedProductsEcComponent.prototype, "classes", void 0);
13601
+ __decorate$1F([
13602
+ core.Input()
13603
+ ], ComparedProductsEcComponent.prototype, "setSize", null);
13604
+ __decorate$1F([
13605
+ core.Output()
13606
+ ], ComparedProductsEcComponent.prototype, "error", void 0);
13607
+ ComparedProductsEcComponent = __decorate$1F([
13608
+ core.Component({
13609
+ selector: 'app-compared-products-ec',
13610
+ 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>",
13611
+ styles: [""]
13612
+ })
13613
+ ], ComparedProductsEcComponent);
13614
+ return ComparedProductsEcComponent;
13615
+ }(ComponentHelper));
13616
+
13395
13617
  // //Component base
13396
13618
  var components = [
13397
13619
  BlockBannerBoxesEcComponent,
@@ -13417,6 +13639,7 @@
13417
13639
  LoginEcComponent,
13418
13640
  ProductEcComponent,
13419
13641
  RelatedProductsEcComponent,
13642
+ ComparedProductsEcComponent,
13420
13643
  SectionContainerEcComponent,
13421
13644
  StoresEcComponent,
13422
13645
  VariantsEcComponent,
@@ -13458,7 +13681,7 @@
13458
13681
  RecaptchaEcComponent
13459
13682
  ];
13460
13683
 
13461
- var __decorate$1F = (this && this.__decorate) || function (decorators, target, key, desc) {
13684
+ var __decorate$1G = (this && this.__decorate) || function (decorators, target, key, desc) {
13462
13685
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
13463
13686
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
13464
13687
  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;
@@ -13538,16 +13761,16 @@
13538
13761
  { type: BlocksService },
13539
13762
  { type: router.Router }
13540
13763
  ]; };
13541
- __decorate$1F([
13764
+ __decorate$1G([
13542
13765
  core.Input()
13543
13766
  ], AddActionRedirectDirective.prototype, "ecAddActionRedirect", null);
13544
- __decorate$1F([
13767
+ __decorate$1G([
13545
13768
  core.Input()
13546
13769
  ], AddActionRedirectDirective.prototype, "classStrSpacing", null);
13547
- __decorate$1F([
13770
+ __decorate$1G([
13548
13771
  core.Input()
13549
13772
  ], AddActionRedirectDirective.prototype, "isTransparent", null);
13550
- AddActionRedirectDirective = __decorate$1F([
13773
+ AddActionRedirectDirective = __decorate$1G([
13551
13774
  core.Directive({
13552
13775
  selector: "[ecAddActionRedirect]",
13553
13776
  }),
@@ -13556,7 +13779,7 @@
13556
13779
  return AddActionRedirectDirective;
13557
13780
  }());
13558
13781
 
13559
- var __decorate$1G = (this && this.__decorate) || function (decorators, target, key, desc) {
13782
+ var __decorate$1H = (this && this.__decorate) || function (decorators, target, key, desc) {
13560
13783
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
13561
13784
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
13562
13785
  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;
@@ -13619,13 +13842,13 @@
13619
13842
  { type: core.TemplateRef },
13620
13843
  { type: core.ViewContainerRef }
13621
13844
  ]; };
13622
- __decorate$1G([
13845
+ __decorate$1H([
13623
13846
  core.Input()
13624
13847
  ], ProductStockDirective.prototype, "ecProductStockElse", void 0);
13625
- __decorate$1G([
13848
+ __decorate$1H([
13626
13849
  core.Input()
13627
13850
  ], ProductStockDirective.prototype, "ecProductStock", null);
13628
- ProductStockDirective = __decorate$1G([
13851
+ ProductStockDirective = __decorate$1H([
13629
13852
  core.Directive({
13630
13853
  selector: "[ecProductStock]"
13631
13854
  })
@@ -13633,7 +13856,7 @@
13633
13856
  return ProductStockDirective;
13634
13857
  }());
13635
13858
 
13636
- var __decorate$1H = (this && this.__decorate) || function (decorators, target, key, desc) {
13859
+ var __decorate$1I = (this && this.__decorate) || function (decorators, target, key, desc) {
13637
13860
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
13638
13861
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
13639
13862
  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;
@@ -13774,16 +13997,16 @@
13774
13997
  { type: core.ElementRef },
13775
13998
  { type: core.Renderer2 }
13776
13999
  ]; };
13777
- __decorate$1H([
14000
+ __decorate$1I([
13778
14001
  core.Input()
13779
14002
  ], ProductOffDirective.prototype, "ecProductOff", null);
13780
- __decorate$1H([
14003
+ __decorate$1I([
13781
14004
  core.Input()
13782
14005
  ], ProductOffDirective.prototype, "classStrSpacing", null);
13783
- __decorate$1H([
14006
+ __decorate$1I([
13784
14007
  core.Input()
13785
14008
  ], ProductOffDirective.prototype, "customMessage", null);
13786
- ProductOffDirective = __decorate$1H([
14009
+ ProductOffDirective = __decorate$1I([
13787
14010
  core.Directive({
13788
14011
  selector: "[ecProductOff]",
13789
14012
  }),
@@ -13792,7 +14015,7 @@
13792
14015
  return ProductOffDirective;
13793
14016
  }());
13794
14017
 
13795
- var __decorate$1I = (this && this.__decorate) || function (decorators, target, key, desc) {
14018
+ var __decorate$1J = (this && this.__decorate) || function (decorators, target, key, desc) {
13796
14019
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
13797
14020
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
13798
14021
  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;
@@ -13850,10 +14073,10 @@
13850
14073
  { type: core.Renderer2 },
13851
14074
  { type: Constants }
13852
14075
  ]; };
13853
- __decorate$1I([
14076
+ __decorate$1J([
13854
14077
  core.Input()
13855
14078
  ], ProductMiniStandardDirective.prototype, "ecProductMiniStandard", null);
13856
- ProductMiniStandardDirective = __decorate$1I([
14079
+ ProductMiniStandardDirective = __decorate$1J([
13857
14080
  core.Directive({
13858
14081
  selector: '[ecProductMiniStandard]'
13859
14082
  })
@@ -13861,7 +14084,7 @@
13861
14084
  return ProductMiniStandardDirective;
13862
14085
  }());
13863
14086
 
13864
- var __decorate$1J = (this && this.__decorate) || function (decorators, target, key, desc) {
14087
+ var __decorate$1K = (this && this.__decorate) || function (decorators, target, key, desc) {
13865
14088
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
13866
14089
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
13867
14090
  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;
@@ -13904,13 +14127,13 @@
13904
14127
  { type: core.ViewContainerRef },
13905
14128
  { type: AuthService }
13906
14129
  ]; };
13907
- __decorate$1J([
14130
+ __decorate$1K([
13908
14131
  core.Input()
13909
14132
  ], AuthWholesalerDirective.prototype, "ecAuthWholesalerElse", void 0);
13910
- __decorate$1J([
14133
+ __decorate$1K([
13911
14134
  core.Input()
13912
14135
  ], AuthWholesalerDirective.prototype, "ecAuthWholesaler", null);
13913
- AuthWholesalerDirective = __decorate$1J([
14136
+ AuthWholesalerDirective = __decorate$1K([
13914
14137
  core.Directive({
13915
14138
  selector: "[ecAuthWholesaler]"
13916
14139
  })
@@ -13932,7 +14155,7 @@
13932
14155
  AuthWholesalerDirective,
13933
14156
  ];
13934
14157
 
13935
- var __decorate$1K = (this && this.__decorate) || function (decorators, target, key, desc) {
14158
+ var __decorate$1L = (this && this.__decorate) || function (decorators, target, key, desc) {
13936
14159
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
13937
14160
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
13938
14161
  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;
@@ -13975,7 +14198,7 @@
13975
14198
  { type: common.CurrencyPipe },
13976
14199
  { type: Constants }
13977
14200
  ]; };
13978
- ecCurrencySymbolPipe = __decorate$1K([
14201
+ ecCurrencySymbolPipe = __decorate$1L([
13979
14202
  core.Pipe({
13980
14203
  name: 'ecCurrencySymbol',
13981
14204
  })
@@ -13983,7 +14206,7 @@
13983
14206
  return ecCurrencySymbolPipe;
13984
14207
  }());
13985
14208
 
13986
- var __decorate$1L = (this && this.__decorate) || function (decorators, target, key, desc) {
14209
+ var __decorate$1M = (this && this.__decorate) || function (decorators, target, key, desc) {
13987
14210
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
13988
14211
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
13989
14212
  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;
@@ -13999,7 +14222,7 @@
13999
14222
  EcSanitizerHtmlPipe.ctorParameters = function () { return [
14000
14223
  { type: platformBrowser.DomSanitizer }
14001
14224
  ]; };
14002
- EcSanitizerHtmlPipe = __decorate$1L([
14225
+ EcSanitizerHtmlPipe = __decorate$1M([
14003
14226
  core.Pipe({
14004
14227
  name: 'ecSanitizerHtml'
14005
14228
  })
@@ -14007,7 +14230,7 @@
14007
14230
  return EcSanitizerHtmlPipe;
14008
14231
  }());
14009
14232
 
14010
- var __decorate$1M = (this && this.__decorate) || function (decorators, target, key, desc) {
14233
+ var __decorate$1N = (this && this.__decorate) || function (decorators, target, key, desc) {
14011
14234
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14012
14235
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
14013
14236
  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;
@@ -14023,7 +14246,7 @@
14023
14246
  EcSanitizerUrlPipe.ctorParameters = function () { return [
14024
14247
  { type: platformBrowser.DomSanitizer }
14025
14248
  ]; };
14026
- EcSanitizerUrlPipe = __decorate$1M([
14249
+ EcSanitizerUrlPipe = __decorate$1N([
14027
14250
  core.Pipe({
14028
14251
  name: 'ecSanitizerUrl'
14029
14252
  })
@@ -14038,7 +14261,7 @@
14038
14261
  EcSanitizerUrlPipe
14039
14262
  ];
14040
14263
 
14041
- var __decorate$1N = (this && this.__decorate) || function (decorators, target, key, desc) {
14264
+ var __decorate$1O = (this && this.__decorate) || function (decorators, target, key, desc) {
14042
14265
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14043
14266
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
14044
14267
  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;
@@ -14123,7 +14346,7 @@
14123
14346
  };
14124
14347
  };
14125
14348
  var NgEasycommerceModule_1;
14126
- NgEasycommerceModule = NgEasycommerceModule_1 = __decorate$1N([
14349
+ NgEasycommerceModule = NgEasycommerceModule_1 = __decorate$1O([
14127
14350
  core.NgModule({
14128
14351
  exports: [
14129
14352
  OrderByPipe,
@@ -14159,7 +14382,7 @@
14159
14382
  return NgEasycommerceModule;
14160
14383
  }());
14161
14384
 
14162
- var __decorate$1O = (this && this.__decorate) || function (decorators, target, key, desc) {
14385
+ var __decorate$1P = (this && this.__decorate) || function (decorators, target, key, desc) {
14163
14386
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14164
14387
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
14165
14388
  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;
@@ -14207,7 +14430,7 @@
14207
14430
  { type: ConnectionService }
14208
14431
  ]; };
14209
14432
  GiftCardService$1.ɵprov = core.ɵɵdefineInjectable({ factory: function GiftCardService_Factory() { return new GiftCardService(core.ɵɵinject(Constants), core.ɵɵinject(CartService), core.ɵɵinject(ConnectionService)); }, token: GiftCardService, providedIn: "root" });
14210
- GiftCardService$1 = __decorate$1O([
14433
+ GiftCardService$1 = __decorate$1P([
14211
14434
  core.Injectable({
14212
14435
  providedIn: 'root'
14213
14436
  })
@@ -14215,7 +14438,7 @@
14215
14438
  return GiftCardService$1;
14216
14439
  }());
14217
14440
 
14218
- var __decorate$1P = (this && this.__decorate) || function (decorators, target, key, desc) {
14441
+ var __decorate$1Q = (this && this.__decorate) || function (decorators, target, key, desc) {
14219
14442
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14220
14443
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
14221
14444
  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;
@@ -14271,7 +14494,7 @@
14271
14494
  { type: ngxToastr.ToastrService }
14272
14495
  ]; };
14273
14496
  WishlistService$1.ɵprov = core.ɵɵdefineInjectable({ factory: function WishlistService_Factory() { return new WishlistService(core.ɵɵinject(ngxToastr.ToastrService)); }, token: WishlistService, providedIn: "root" });
14274
- WishlistService$1 = __decorate$1P([
14497
+ WishlistService$1 = __decorate$1Q([
14275
14498
  core.Injectable({
14276
14499
  providedIn: 'root'
14277
14500
  })
@@ -14279,7 +14502,7 @@
14279
14502
  return WishlistService$1;
14280
14503
  }());
14281
14504
 
14282
- var __decorate$1Q = (this && this.__decorate) || function (decorators, target, key, desc) {
14505
+ var __decorate$1R = (this && this.__decorate) || function (decorators, target, key, desc) {
14283
14506
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14284
14507
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
14285
14508
  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;
@@ -14314,7 +14537,7 @@
14314
14537
  StandardReuseStrategy.ctorParameters = function () { return [
14315
14538
  { type: undefined, decorators: [{ type: core.Inject, args: ['env',] }] }
14316
14539
  ]; };
14317
- StandardReuseStrategy = __decorate$1Q([
14540
+ StandardReuseStrategy = __decorate$1R([
14318
14541
  core.Injectable(),
14319
14542
  __param$d(0, core.Inject('env'))
14320
14543
  ], StandardReuseStrategy);
@@ -14440,23 +14663,24 @@
14440
14663
  exports.ɵc = SellerDashboardContainerEcComponent;
14441
14664
  exports.ɵd = MagnizoomComponent;
14442
14665
  exports.ɵe = RecaptchaEcComponent;
14443
- exports.ɵf = ComponentHelper;
14444
- exports.ɵg = BlocksRepositoryService;
14445
- exports.ɵh = FacebookPixelService;
14446
- exports.ɵi = GoogleAnalyticsService;
14447
- exports.ɵj = GTMService;
14448
- exports.ɵk = MetricoolPixelService;
14449
- exports.ɵl = DopplerService;
14450
- exports.ɵm = OrderUtilityService;
14451
- exports.ɵn = StepService;
14452
- exports.ɵo = ErrorHandlerService;
14453
- exports.ɵp = ShipmentDataTransformer;
14454
- exports.ɵq = directives;
14455
- exports.ɵr = ProductOffDirective;
14456
- exports.ɵs = pipes;
14457
- exports.ɵt = OptionsOfProductListDataReceiverService;
14458
- exports.ɵu = PaymentUtils;
14459
- exports.ɵv = CustomerInterceptor;
14666
+ exports.ɵf = ComparedProductsEcComponent;
14667
+ exports.ɵg = ComponentHelper;
14668
+ exports.ɵh = BlocksRepositoryService;
14669
+ exports.ɵi = FacebookPixelService;
14670
+ exports.ɵj = GoogleAnalyticsService;
14671
+ exports.ɵk = GTMService;
14672
+ exports.ɵl = MetricoolPixelService;
14673
+ exports.ɵm = DopplerService;
14674
+ exports.ɵn = OrderUtilityService;
14675
+ exports.ɵo = StepService;
14676
+ exports.ɵp = ErrorHandlerService;
14677
+ exports.ɵq = ShipmentDataTransformer;
14678
+ exports.ɵr = directives;
14679
+ exports.ɵs = ProductOffDirective;
14680
+ exports.ɵt = pipes;
14681
+ exports.ɵu = OptionsOfProductListDataReceiverService;
14682
+ exports.ɵv = PaymentUtils;
14683
+ exports.ɵw = CustomerInterceptor;
14460
14684
 
14461
14685
  Object.defineProperty(exports, '__esModule', { value: true });
14462
14686