ng-easycommerce-v18 0.2.29 → 0.3.1-9.beta-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +45 -0
  2. package/assets/ec-i18n/ct.json +1 -0
  3. package/assets/ec-i18n/en.json +88 -83
  4. package/assets/ec-i18n/es.json +6 -1
  5. package/assets/ec-i18n/fr.json +1 -0
  6. package/assets/ec-i18n/gl.json +1 -0
  7. package/assets/ec-i18n/pr.json +1 -0
  8. package/esm2022/lib/classes/component-helper.mjs +11 -2
  9. package/esm2022/lib/constants/core.constants.service.mjs +107 -2
  10. package/esm2022/lib/ec-components/abstractions-components/menu-ec.component.mjs +9 -1
  11. package/esm2022/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.mjs +5 -1
  12. package/esm2022/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.mjs +5 -1
  13. package/esm2022/lib/ec-components/blocks-ec/block-newsletter-ec/block-newsletter-ec.component.mjs +9 -3
  14. package/esm2022/lib/ec-components/cart-ec/cart-ec.component.mjs +8 -2
  15. package/esm2022/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.mjs +42 -10
  16. package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.mjs +141 -75
  17. package/esm2022/lib/ec-components/filters-ec/filters-ec.component.mjs +9 -1
  18. package/esm2022/lib/ec-components/header-ec/header-ec.component.mjs +53 -2
  19. package/esm2022/lib/ec-components/product-detail-ec/product-detail-ec.component.mjs +23 -15
  20. package/esm2022/lib/ec-components/product-ec/product-ec.component.mjs +143 -5
  21. package/esm2022/lib/ec-components/widgets-ec/decidir-ec/decidir-ec.component.mjs +3 -3
  22. package/esm2022/lib/ec-components/widgets-ec/index.mjs +2 -1
  23. package/esm2022/lib/ec-components/widgets-ec/redsys-catch-ec/redsys-catch-ec.component.mjs +193 -0
  24. package/esm2022/lib/ec-services/cart.service.mjs +23 -5
  25. package/esm2022/lib/ec-services/checkout.service.mjs +46 -21
  26. package/esm2022/lib/ec-services/form.service.mjs +13 -1
  27. package/esm2022/lib/ec-services/order-utility.service.mjs +12 -6
  28. package/esm2022/lib/ec-services/product-detail.service.mjs +11 -1
  29. package/esm2022/lib/interfaces/environment.mjs +1 -1
  30. package/esm2022/lib/interfaces/product.mjs +1 -1
  31. package/fesm2022/ng-easycommerce-v18.mjs +843 -147
  32. package/fesm2022/ng-easycommerce-v18.mjs.map +1 -1
  33. package/lib/classes/component-helper.d.ts +1 -1
  34. package/lib/constants/core.constants.service.d.ts +24 -0
  35. package/lib/ec-components/abstractions-components/menu-ec.component.d.ts +6 -0
  36. package/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.d.ts +2 -0
  37. package/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.d.ts +2 -0
  38. package/lib/ec-components/cart-ec/cart-ec.component.d.ts +3 -0
  39. package/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.d.ts +6 -1
  40. package/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.d.ts +38 -16
  41. package/lib/ec-components/filters-ec/filters-ec.component.d.ts +6 -0
  42. package/lib/ec-components/header-ec/header-ec.component.d.ts +16 -2
  43. package/lib/ec-components/product-detail-ec/product-detail-ec.component.d.ts +2 -1
  44. package/lib/ec-components/product-ec/product-ec.component.d.ts +14 -1
  45. package/lib/ec-components/widgets-ec/index.d.ts +1 -0
  46. package/lib/ec-components/widgets-ec/redsys-catch-ec/redsys-catch-ec.component.d.ts +47 -0
  47. package/lib/ec-services/cart.service.d.ts +1 -1
  48. package/lib/ec-services/form.service.d.ts +6 -0
  49. package/lib/interfaces/environment.d.ts +1 -0
  50. package/lib/interfaces/product.d.ts +6 -0
  51. package/package.json +1 -1
package/README.md CHANGED
@@ -1,3 +1,48 @@
1
+ # version 0.3.19.beta-1
2
+ - Se añade en carrito sidebar product detail y producto las validaciones necesarias para que compruebe si hay un maximo , un minimo o multiplo.
3
+ # Version 0.3.17
4
+ - En el `header-ec.component.ts` se hacen public algunos injectores para poder usarlo en el `header.component.ts` de los frontends.
5
+ # Version 0.3.16
6
+ - Se añaden traducciones al core
7
+ # Version 0.3.15
8
+ - Refactor del flujo de pago con Mercado Pago (redirect/popup unificado).
9
+ - Compatibilidad completa con mobile y desktop: cierre automático de pestaña o redirección según navegador.
10
+ - Nuevo control de estado visual (idle / pagando / finalizando) para evitar repeticiones o confusión del usuario.
11
+ - Simplificación de `catch` (RedsysCatchEcComponent) y limpieza de código legacy.
12
+ # Version 0.3.13
13
+ - Se hace estable 0.3.12-beta.1.
14
+ - Se hace estable feature/pop-up-inicial.
15
+ - Se hace estable feature/add-product-block.
16
+ - Se hace estable feature/logged,showpassword,otros.
17
+ # Version 0.3.12-beta.1
18
+ - Se añade ruta por si falla MP redirija y de error.
19
+ # Version 0.3.11
20
+ - se añade funcionalidad para ocultar categorias en header footer y filtros
21
+ # Version 0.3.10
22
+ - se añade funcionalidades para excluir paises en el formulario del proceso de compra
23
+ # Version 0.3.9
24
+ - mejorar la función hasParams para buscar primero el parametro con codigo exacto, sino parcial.
25
+ # Version 0.3.8
26
+ - Se cambia construccion de etiquetas META
27
+ # Version 0.3.7
28
+ - Se cambia construccion de etiquetas META
29
+ # Version 0.3.6
30
+ - Se cambia construccion de etiquetas META
31
+ # Version 0.3.5
32
+ - Se cambia construccion de etiquetas META
33
+ # Version 0.3.4
34
+ - Se cambia construccion de etiquetas META
35
+ # Version 0.3.3
36
+ - Se cambia construccion de etiquetas META
37
+ # Version 0.3.2
38
+ - Se cambia construccion de etiquetas META
39
+ # Version 0.3.1
40
+ - Se cambia construccion de etiquetas META
41
+ # Version 0.3.0
42
+ - HideTaxes en carrito (ocultar impuestos)
43
+ - se fuerza a numero en las funciones pluss y less (+/-) para evitar que se concatene el 1 al darle al mas
44
+ - en cart.service y order-utility.service se cambia para que el subtotal se guarde correctamente
45
+ - se cambia la funcion updateAsociatedData del checkout.service para mostrar impuestos en el checkout
1
46
  # Version 0.2.29
2
47
  - Cambios en dataform para que no se autoseleccione la provincia ya que daba error.
3
48
  # Version 0.2.28
@@ -262,6 +262,7 @@
262
262
  "no-stores": "Encara no hi ha punts de venda carregats",
263
263
  "inquiry-sent": "Seva consulta va ser enviada",
264
264
  "inquiry-error": "Hi va haver un error a l'realitzar la consulta. Torneu a intentar-ho més tard",
265
+ "newsletter_email_already_registered": "La direcció de correu electrònic ja està registrada.",
265
266
  "newsletter-thanks": "Gràcies per subscriure a les notícies",
266
267
  "notes": "Detalls addicionals d'enviament",
267
268
  "register-ok": "Es va enviar un mail a la seva casella de correu a la seva nova compte",
@@ -26,12 +26,12 @@
26
26
  "ascendancy": "Ascendancy",
27
27
  "attributes": "Attributes",
28
28
  "back": "Back",
29
- "back-to-orders": "Back to orders",
29
+ "back-to-orders": "Back to orders",
30
30
  "bank-transfer": "Bank transfer",
31
31
  "beauty": "Beauty",
32
32
  "best-sellers": "Best sellers",
33
33
  "billing-details": "Billing details",
34
- "billing-data": "Billing details",
34
+ "billing-data": "Billing details",
35
35
  "birthday": "Birthday",
36
36
  "blog-detail": "blog detail",
37
37
  "blog-left-sidebar": "blog(left-sidebar)",
@@ -39,7 +39,7 @@
39
39
  "branch-delivery": "Branch Withdrawal",
40
40
  "buy-now": "Buy now",
41
41
  "call-us": "Call Us",
42
- "cancelled": "Cancelled",
42
+ "cancelled": "Cancelled",
43
43
  "cant-buy": "It is not possible to buy this product",
44
44
  "caps-and-hats": "caps and hats",
45
45
  "card-holder-name": "Card holder name",
@@ -64,22 +64,22 @@
64
64
  "coming-soon": "Coming soon",
65
65
  "coming-soon-description": "This functionality will be available at incomming updates",
66
66
  "compare": "compare",
67
- "complete": "Complete",
68
- "completed": "Complete",
67
+ "complete": "Complete",
68
+ "completed": "Complete",
69
69
  "contact": "Contact",
70
70
  "contact-info": "Contact information",
71
71
  "continue": "Continue",
72
72
  "continue-shopping": "Continue shopping",
73
73
  "country": "Country",
74
74
  "country-help": "Country is required",
75
- "coupon": "Coupon",
75
+ "coupon": "Coupon",
76
76
  "create-account": "Create account",
77
77
  "create-account-description": "Sign up for a free account at our store. Registration is quick and easy. It allows you to be able to order from our shop. To start shopping click register.",
78
78
  "created-date": "Created date",
79
79
  "cufflinks": "cufflinks",
80
80
  "currency": "Currency",
81
- "customer-billing-data": "Billing data",
82
- "customer-data": "Customer data",
81
+ "customer-billing-data": "Billing data",
82
+ "customer-data": "Customer data",
83
83
  "dashboard": "Dashboard",
84
84
  "date": "Date",
85
85
  "default-billing-address": "Extra user info",
@@ -102,14 +102,14 @@
102
102
  "email-address-help1": "Email is required",
103
103
  "email-address-help2": "Invalid Email",
104
104
  "email-already-registered": "The email entered is already registered.",
105
- "email-register-error": "Registration error. Please try again later.",
105
+ "email-register-error": "Registration error. Please try again later.",
106
106
  "empty-cart": "Your Cart is Empty",
107
107
  "empty-cart-detail": "Add something to make me happy :)",
108
108
  "empty_faqs": "No FAQs uploaded yet",
109
109
  "enter-actual-password": "Enter current password",
110
110
  "enter-new-password": "Enter new password",
111
111
  "enter-password": "Enter your password",
112
- "error-during-checkout": "Error during checkout",
112
+ "error-during-checkout": "Error during checkout",
113
113
  "ethic-wear": "ethic wear",
114
114
  "exclusive-products": "Exclusive products",
115
115
  "expiration-month": "Expiration month",
@@ -130,9 +130,9 @@
130
130
  "free": "Free",
131
131
  "furniture": "Furniture",
132
132
  "gender": "Gender",
133
- "gift-card-input": "Input gift card number",
134
- "gift-card-input-help": "Gift card help",
135
- "gift-card-title": "Gift card",
133
+ "gift-card-input": "Input gift card number",
134
+ "gift-card-input-help": "Gift card help",
135
+ "gift-card-title": "Gift card",
136
136
  "hello": "Hello",
137
137
  "helmets": "helmets",
138
138
  "home": "home",
@@ -141,8 +141,11 @@
141
141
  "image": "Imagen",
142
142
  "information": "Store information",
143
143
  "inquiry-error": "There was an error while querying. Try it again later",
144
+ "newsletter_email_already_registered": "The email address is already registered.",
145
+ "not-enough-stock": "Not enough stock",
146
+ "current-stock": "Current stock",
144
147
  "inquiry-sent": "Your inquiry was sent",
145
- "invalid-coupon": "Invalid discount code",
148
+ "invalid-coupon": "Invalid discount code",
146
149
  "invalid-credentials": "The username and / or password are incorrect",
147
150
  "invalid-email": "The email entered is not valid ",
148
151
  "invalid-form": "There are still unfilled fields and / or invalid data",
@@ -157,22 +160,23 @@
157
160
  "login": "login",
158
161
  "logout": "Logout",
159
162
  "lookbook": "lookbook",
160
- "lots": "Lots",
161
- "lot-saved": "Lot saved",
162
- "lot-saving": "Saving lots...",
163
- "lot-title": "Manage Lots",
164
- "lot-subtitle": "Manage shipping dates and locations",
165
- "lot-new": "+ Add Lot",
166
- "lot-save": "Save Lots",
167
- "lot-max-quantity": "You have already reached the maximum amount",
163
+ "lots": "Lots",
164
+ "lot-saved": "Lot saved",
165
+ "lot-saving": "Saving lots...",
166
+ "lot-title": "Manage Lots",
167
+ "lot-subtitle": "Manage shipping dates and locations",
168
+ "lot-new": "+ Add Lot",
169
+ "lot-save": "Save Lots",
170
+ "lot-max-quantity": "You have already reached the maximum amount",
168
171
  "mail-sent": "¡Email sent!",
169
172
  "manage-addresses": "Manage Addresses",
170
- "maximum-items-quantity": "The maximum quantity allowed for this product is {{quantity}}",
173
+ "maximum-items-quantity": "The maximum quantity allowed for this product is {{quantity}}",
171
174
  "men-accessories": "men's accessories",
172
175
  "men-collection": "Men's collection",
173
176
  "mens-fashion": "mens's fashion",
174
177
  "mercado-pago": "Mercado Pago",
175
- "minimum-items-quantity": "The minimum quantity allowed for this product is {{quantity}}",
178
+ "minimum-items-quantity": "The minimum quantity allowed for this product is {{quantity}}",
179
+ "multiple-quantity-required": "The quantity must be a multiple of {{multiple}}.",
176
180
  "mismatched-password": "Password do not match",
177
181
  "most-expensive-first": "Most expensive first",
178
182
  "my-account": "My Account",
@@ -201,21 +205,21 @@
201
205
  "oldest-first": "Oldest first",
202
206
  "operation-error": "It was not possible to perform the operation",
203
207
  "operation-error-param": "It was not possible to perform the operation: {{ error }}",
204
- "order": "Order",
205
- "order-number": "Order number",
208
+ "order": "Order",
209
+ "order-number": "Order number",
206
210
  "order-success": "Order success",
207
- "orders-error": "There was an error getting your orders. Please try again later.",
211
+ "orders-error": "There was an error getting your orders. Please try again later.",
208
212
  "other-data": "More info",
209
213
  "out-of-stock": "The selected product or variant does not have stock",
210
- "out-of-stock-actually": "The selected product currently does not have more stock",
214
+ "out-of-stock-actually": "The selected product currently does not have more stock",
211
215
  "pages": "pages",
212
216
  "password": "Password",
213
217
  "password-doesnt-match": "Passwords do not match",
214
218
  "pay": "Pay",
215
- "pay-with-offline": "Finalize Order",
216
- "pay-with-transfer": "Pay with wire transfer",
219
+ "pay-with-offline": "Finalize Order",
220
+ "pay-with-transfer": "Pay with wire transfer",
217
221
  "payment": "Payment method",
218
- "payment-error": "There was an error processing your payment. Please try again later.",
222
+ "payment-error": "There was an error processing your payment. Please try again later.",
219
223
  "payment-preferences-error": "There was a problem trying to get payment preferences. Try it again later",
220
224
  "payment-state": "Payment state",
221
225
  "pending": "Pending of payment",
@@ -229,10 +233,10 @@
229
233
  "pockets-squares": "pockets squares",
230
234
  "postal-code": "Postal Code",
231
235
  "postal-code-help": "Postalcode is required",
232
- "postal-code-pattern-error": "The zip code must be numeric only",
236
+ "postal-code-pattern-error": "The zip code must be numeric only",
233
237
  "precious-jewellery": "precious jewellery",
234
238
  "price": "Price",
235
- "processing-payment": "Processing payment",
239
+ "processing-payment": "Processing payment",
236
240
  "product": "Product",
237
241
  "product-added": "The product was added to the cart",
238
242
  "product-details": "Product details",
@@ -245,7 +249,7 @@
245
249
  "purchase-successful": "¡Purchase successful!",
246
250
  "purchase-summary": "Purchase summary",
247
251
  "quantity": "Quantity",
248
- "ready": "Ready",
252
+ "ready": "Ready",
249
253
  "ready-form": "Next",
250
254
  "recover": "Recover",
251
255
  "recover-password": "Recover password ",
@@ -254,17 +258,17 @@
254
258
  "register-ok": "An email was sent to your mailbox to verify your new account",
255
259
  "related-products": "Related Products",
256
260
  "repeat-new-password": "Repeat new password",
257
- "repeat-password": "Repeat password",
261
+ "repeat-password": "Repeat password",
258
262
  "repeated-new-password": "Repeated new password",
259
263
  "result-for": "Results for",
260
264
  "right-sidebar": "right sidebar",
261
265
  "rings-wrist-wear": "rings & wrist wear",
262
- "same-billing-address": "Same billing address",
266
+ "same-billing-address": "Same billing address",
263
267
  "scarves": "scarves",
264
268
  "search": "Search",
265
269
  "sections": "Sections",
266
270
  "security-code": "Security code",
267
- "see-order": "See order",
271
+ "see-order": "See order",
268
272
  "select-channel": "Select a channel",
269
273
  "select-country": "Select country",
270
274
  "select-method": "Select one method",
@@ -276,10 +280,10 @@
276
280
  "shipment": "Shipment",
277
281
  "shipment-error": "There was a problem trying to persist the shipment. Try it again later",
278
282
  "shipment-method": "Shipment method",
279
- "shipment-methods": "Shipment methods",
280
- "shipment-state": "Shipment state",
283
+ "shipment-methods": "Shipment methods",
284
+ "shipment-state": "Shipment state",
281
285
  "shipment-tracking": "Shipment tracking",
282
- "shipped": "Shipped",
286
+ "shipped": "Shipped",
283
287
  "shipping": "Shipping method",
284
288
  "shipping-address": "Default Shipping Address",
285
289
  "shirts": "shirts",
@@ -319,8 +323,8 @@
319
323
  "town-city": "Town/City",
320
324
  "town-city-help": "City is required",
321
325
  "type-document-help": "Invalid document type",
322
- "unable-get-orders": "Unable to get orders at this time. Please time again later.",
323
- "update": "Update",
326
+ "unable-get-orders": "Unable to get orders at this time. Please time again later.",
327
+ "update": "Update",
324
328
  "updated-password": "Password updated",
325
329
  "updated-password-detail": "Your password has been reset. You can now log in",
326
330
  "urgent": "Urgent",
@@ -336,53 +340,54 @@
336
340
  "wishlist": "wishlist",
337
341
  "women-collection": "Women's collection",
338
342
  "women-fashion": "women's fashion",
339
- "address-book-not-result":"The addresses are not available.",
340
- "select-address": "Select address",
341
- "load-address": "Load address",
342
- "channel-permission-denied": "You are not authorized to access this channel",
343
- "retrieve-cart": "Retrieving Cart",
344
- "choose-country": "Choose a country",
345
- "choose-province": "Choose a province/zone",
346
- "required-fields": "Required fields",
343
+ "address-book-not-result": "The addresses are not available.",
344
+ "select-address": "Select address",
345
+ "load-address": "Load address",
346
+ "channel-permission-denied": "You are not authorized to access this channel",
347
+ "retrieve-cart": "Retrieving Cart",
348
+ "choose-country": "Choose a country",
349
+ "choose-province": "Choose a province/zone",
350
+ "required-fields": "Required fields",
347
351
  "fields-incomplete": "There are still unfilled or invalid fields",
348
- "accept-terms": "Accept terms and conditions",
349
- "must-accept-terms": "You must accept all terms and conditions in order to continue.",
350
- "whats-this": "¿What is this?",
351
- "new-address":"New address",
352
- "invoices": "Invoices",
353
- "see": "See",
354
- "register-error": "An error occurred during registration.",
355
- "register-error-detail": "Please try the operation later.",
356
- "total-products": "Product total",
357
- "payment-method": "Payment method",
358
- "unit-price": "Unit price",
359
- "download" : "Download",
360
- "my-clients": "My clients",
361
- "generate-budget": "Generate budget",
362
- "manage-orders": "Manage orders",
363
- "order-by": "Order by...",
364
- "order-date": "Order by Date",
365
- "order-alph": "Order Alphabetically",
366
- "client": "Client",
367
- "user": "User",
368
- "code": "Code",
369
- "access": "Access",
370
- "no-customers": "You have no customers assigned to you",
371
- "exit": "Exit",
372
- "start-impersonating": "Operating as: {{ customer }}",
373
- "stop-impersonating": "You are not operating as none of your customers",
374
- "must-select-customer": "You must select a customer to perform this action.",
352
+ "accept-terms": "Accept terms and conditions",
353
+ "must-accept-terms": "You must accept all terms and conditions in order to continue.",
354
+ "whats-this": "¿What is this?",
355
+ "new-address": "New address",
356
+ "invoices": "Invoices",
357
+ "see": "See",
358
+ "register-error": "An error occurred during registration.",
359
+ "register-error-detail": "Please try the operation later.",
360
+ "total-products": "Product total",
361
+ "payment-method": "Payment method",
362
+ "unit-price": "Unit price",
363
+ "download": "Download",
364
+ "my-clients": "My clients",
365
+ "generate-budget": "Generate budget",
366
+ "manage-orders": "Manage orders",
367
+ "order-by": "Order by...",
368
+ "order-date": "Order by Date",
369
+ "order-alph": "Order Alphabetically",
370
+ "client": "Client",
371
+ "user": "User",
372
+ "code": "Code",
373
+ "access": "Access",
374
+ "no-customers": "You have no customers assigned to you",
375
+ "exit": "Exit",
376
+ "start-impersonating": "Operating as: {{ customer }}",
377
+ "stop-impersonating": "You are not operating as none of your customers",
378
+ "must-select-customer": "You must select a customer to perform this action.",
375
379
  "new-orders": "New orders",
376
380
  "operate-as": "Operate as",
377
- "operating-as": "Operating as",
378
- "instructions": "Instructions",
379
- "error-convertibility": "Convertibility error. Try again later.",
381
+ "operating-as": "Operating as",
382
+ "instructions": "Instructions",
383
+ "error-convertibility": "Convertibility error. Try again later.",
380
384
  "price-without-national-taxes": "Price without national taxes",
381
385
  "see-all": "See all",
382
386
  "enter": "Login",
383
387
  "forgot-your-password": "Forgot your password?",
384
388
  "hide-password": "hide password",
385
- "show-password": "show password",
389
+ "show-password": "show password",
386
390
  "confirm-password": "Confirm password",
387
- "send": "Send"
388
- }
391
+ "send": "Send",
392
+ "cart-not-empty": "The cart is not empty"
393
+ }
@@ -148,6 +148,7 @@
148
148
  "image": "Imagen",
149
149
  "information": "Información",
150
150
  "inquiry-error": "Hubo un error al realizar la consulta. Vuelva a intentarlo más tarde",
151
+ "newsletter_email_already_registered": "La dirección de correo electrónico ya se encuentra registrada.",
151
152
  "inquiry-sent": "Su consulta fue enviada",
152
153
  "invalid-coupon": "El código de descuento no es valido",
153
154
  "invalid-credentials": "El usuario y/o contraseña son incorrectos",
@@ -181,6 +182,7 @@
181
182
  "men-fashion": "Hombres",
182
183
  "mercado-pago": "Mercado Pago",
183
184
  "minimum-items-quantity": "La cantidad minima de compra del producto es {{quantity}}",
185
+ "multiple-quantity-required": "La cantidad debe ser múltiplo de {{multiple}}",
184
186
  "mismatched-password": "Las contraseña no coinciden",
185
187
  "most-expensive-first": "Mayor precio",
186
188
  "my-account": "Mi cuenta",
@@ -419,11 +421,14 @@
419
421
  "register-welcome": "Registro exitoso. Se ha enviado un email de bienvenida a su casilla de correo.",
420
422
  "see-all": "Ver todo",
421
423
  "enter": "Ingresar",
424
+ "not-enough-stock": "Stock insuficiente",
425
+ "current-stock": "Stock actual",
422
426
  "forgot-your-password": "¿Olvidaste tu contraseña?",
423
427
  "hide-password": "Ocultar contraseña",
424
428
  "show-password": "Mostrar contraseña",
425
429
  "confirm-password": "Confirmar contraseña",
426
430
  "send": "Enviar",
427
- "select-state": "Seleccione una provincia/zona"
431
+ "select-state": "Seleccione una provincia/zona",
432
+ "cart-not-empty": "Tu carrito no está vacío"
428
433
 
429
434
  }
@@ -254,6 +254,7 @@
254
254
  "no-stores": "Aucun point de vente chargé pour le moment",
255
255
  "inquiry-sent": "Votre demande a été envoyée",
256
256
  "inquiry-error": "Une erreur s'est produite lors de l'interrogation. Réessayez plus tard",
257
+ "newsletter_email_already_registered": "L'adresse e-mail est déjà enregistrée.",
257
258
  "newsletter-thanks": "Merci de vous être abonné aux nouvelles",
258
259
  "notes": "Détails d'expédition supplémentaires",
259
260
  "register-ok": "Un e-mail a été envoyé à votre boîte aux lettres pour vérifier votre nouveau compte",
@@ -262,6 +262,7 @@
262
262
  "no-stores": "Non hai cargas aínda cargadas",
263
263
  "inquiry-sent": "Enviouse a súa consulta",
264
264
  "inquiry-error": "Produciuse un erro durante a consulta. Próbao máis tarde",
265
+ "newsletter_email_already_registered": "A dirección de correo electrónico xa está rexistrada.",
265
266
  "newsletter-thanks": "Grazas por subscribirte á noticia",
266
267
  "notes": "Detalles adicionais de envío",
267
268
  "register-ok": "Enviouse un correo electrónico á súa caixa de correo para verificar a súa nova conta",
@@ -262,6 +262,7 @@
262
262
  "no-stores": "Ainda não há tomadas carregadas",
263
263
  "inquiry-sent": "Sua pergunta foi enviada",
264
264
  "inquiry-error": "Ocorreu um erro ao consultar. Por favor, tente novamente mais tarde",
265
+ "newsletter_email_already_registered": "O endereço de e‑mail já se encontra registado.",
265
266
  "newsletter-thanks": "Obrigado por se inscrever nas notícias",
266
267
  "notes": "Detalhes adicionais de envio",
267
268
  "register-ok": "Um email foi enviado para sua caixa de correio para verificar sua nova conta",
@@ -6,9 +6,18 @@ export class ComponentHelper {
6
6
  };
7
7
  ecOnConstruct = (params = {}) => {
8
8
  };
9
- hasParams = (params, searched) => params && params != null && params.find(param => param['code']?.toLowerCase().includes(searched.toLowerCase())) !== undefined;
9
+ hasParams = (params, searched) => {
10
+ if (!params || !searched)
11
+ return false;
12
+ const q = searched.trim().toLowerCase();
13
+ return params.some(p => {
14
+ const code = p?.['code']?.toString().toLowerCase() ?? '';
15
+ // Primero chequeo exacto, y si no, parcial
16
+ return code === q || code.includes(q);
17
+ });
18
+ };
10
19
  navigateOnRouter(router, url) {
11
20
  router.navigateByUrl(`/${url}`);
12
21
  }
13
22
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9jbGFzc2VzL2NvbXBvbmVudC1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxPQUFPLGVBQWU7SUFFeEI7UUFDSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDeEIsQ0FBQztJQUVELFFBQVEsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLEVBQUUsRUFBRTtJQUUzQixDQUFDLENBQUE7SUFFRCxhQUFhLEdBQUcsQ0FBQyxNQUFNLEdBQUcsRUFBRSxFQUFFLEVBQUU7SUFFaEMsQ0FBQyxDQUFBO0lBRUQsU0FBUyxHQUFHLENBQUMsTUFBZ0IsRUFBRSxRQUFnQixFQUFXLEVBQUUsQ0FDeEQsTUFBTSxJQUFJLE1BQU0sSUFBSSxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUM7SUFFbEksZ0JBQWdCLENBQUMsTUFBZSxFQUFDLEdBQVc7UUFDeEMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgQ2hlY2tvdXRTZXJ2aWNlIH0gZnJvbSBcIi4uL2VjLXNlcnZpY2VzL2NoZWNrb3V0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUGFyYW1zIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIENvbXBvbmVudEhlbHBlciB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5lY09uQ29uc3RydWN0KClcclxuICAgIH1cclxuXHJcbiAgICBlY09uSW5pdCA9IChwYXJhbXMgPSB7fSkgPT4ge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBlY09uQ29uc3RydWN0ID0gKHBhcmFtcyA9IHt9KSA9PiB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIGhhc1BhcmFtcyA9IChwYXJhbXM6IFBhcmFtc1tdLCBzZWFyY2hlZDogc3RyaW5nKTogYm9vbGVhbiA9PiBcclxuICAgICAgICBwYXJhbXMgJiYgcGFyYW1zICE9IG51bGwgJiYgcGFyYW1zLmZpbmQocGFyYW0gPT4gcGFyYW1bJ2NvZGUnXT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hlZC50b0xvd2VyQ2FzZSgpKSkgIT09IHVuZGVmaW5lZDtcclxuXHJcbiAgICBuYXZpZ2F0ZU9uUm91dGVyKHJvdXRlciA6IFJvdXRlcix1cmw6IHN0cmluZykge1xyXG4gICAgICAgIHJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGAvJHt1cmx9YCk7XHJcbiAgICB9XHJcbn0iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9jbGFzc2VzL2NvbXBvbmVudC1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxPQUFPLGVBQWU7SUFFeEI7UUFDSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDeEIsQ0FBQztJQUVELFFBQVEsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLEVBQUUsRUFBRTtJQUUzQixDQUFDLENBQUE7SUFFRCxhQUFhLEdBQUcsQ0FBQyxNQUFNLEdBQUcsRUFBRSxFQUFFLEVBQUU7SUFFaEMsQ0FBQyxDQUFBO0lBRUQsU0FBUyxHQUFHLENBQUMsTUFBbUMsRUFBRSxRQUFnQixFQUFXLEVBQUU7UUFDM0UsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUV2QyxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFeEMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ25CLE1BQU0sSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUN6RCwyQ0FBMkM7WUFDM0MsT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUM7SUFFRixnQkFBZ0IsQ0FBQyxNQUFlLEVBQUMsR0FBVztRQUN4QyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBDaGVja291dFNlcnZpY2UgfSBmcm9tIFwiLi4vZWMtc2VydmljZXMvY2hlY2tvdXQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBQYXJhbXMgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50SGVscGVyIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKVxyXG4gICAgfVxyXG5cclxuICAgIGVjT25Jbml0ID0gKHBhcmFtcyA9IHt9KSA9PiB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIGVjT25Db25zdHJ1Y3QgPSAocGFyYW1zID0ge30pID0+IHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgaGFzUGFyYW1zID0gKHBhcmFtczogUGFyYW1zW10gfCBudWxsIHwgdW5kZWZpbmVkLCBzZWFyY2hlZDogc3RyaW5nKTogYm9vbGVhbiA9PiB7XHJcbiAgICAgICAgaWYgKCFwYXJhbXMgfHwgIXNlYXJjaGVkKSByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgICAgIGNvbnN0IHEgPSBzZWFyY2hlZC50cmltKCkudG9Mb3dlckNhc2UoKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHBhcmFtcy5zb21lKHAgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBjb2RlID0gcD8uWydjb2RlJ10/LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSA/PyAnJztcclxuICAgICAgICAgICAgLy8gUHJpbWVybyBjaGVxdWVvIGV4YWN0bywgeSBzaSBubywgcGFyY2lhbFxyXG4gICAgICAgICAgICByZXR1cm4gY29kZSA9PT0gcSB8fCBjb2RlLmluY2x1ZGVzKHEpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBuYXZpZ2F0ZU9uUm91dGVyKHJvdXRlciA6IFJvdXRlcix1cmw6IHN0cmluZykge1xyXG4gICAgICAgIHJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGAvJHt1cmx9YCk7XHJcbiAgICB9XHJcbn0iXX0=