ng-easycommerce 0.0.691 → 0.1.0

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 (63) hide show
  1. package/README.md +17 -0
  2. package/assets/ec-i18n/ct.json +3 -0
  3. package/assets/ec-i18n/en.json +3 -0
  4. package/assets/ec-i18n/es.json +3 -0
  5. package/assets/ec-i18n/fr.json +3 -0
  6. package/assets/ec-i18n/gl.json +3 -0
  7. package/assets/ec-i18n/pr.json +3 -0
  8. package/bundles/ng-easycommerce.umd.js +1219 -653
  9. package/bundles/ng-easycommerce.umd.js.map +1 -1
  10. package/bundles/ng-easycommerce.umd.min.js +1 -1
  11. package/bundles/ng-easycommerce.umd.min.js.map +1 -1
  12. package/esm2015/lib/ec-component/account-ec/order-ec/order-ec.component.js +103 -5
  13. package/esm2015/lib/ec-component/cart-ec/cart-ec.component.js +22 -8
  14. package/esm2015/lib/ec-component/checkout-ec/checkout-ec.component.js +34 -11
  15. package/esm2015/lib/ec-component/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.js +18 -7
  16. package/esm2015/lib/ec-component/sidebar-ec/sidebar-ec.component.js +12 -3
  17. package/esm2015/lib/interfaces/cart-item.js +1 -1
  18. package/esm2015/lib/interfaces/cart-totals.js +1 -0
  19. package/esm2015/lib/interfaces/channel.js +1 -0
  20. package/esm2015/lib/interfaces/checkout-data.js +1 -1
  21. package/esm2015/lib/interfaces/product.js +1 -1
  22. package/esm2015/lib/services/account/orders.service.js +18 -3
  23. package/esm2015/lib/services/cart.service.js +138 -23
  24. package/esm2015/lib/services/checkout/checkout.service.js +34 -4
  25. package/esm2015/lib/utils/order-util.service.js +99 -7
  26. package/esm2015/lib/utils/price-presentation.service.js +127 -0
  27. package/esm2015/public-api.js +2 -1
  28. package/esm5/lib/ec-component/account-ec/order-ec/order-ec.component.js +111 -5
  29. package/esm5/lib/ec-component/cart-ec/cart-ec.component.js +35 -8
  30. package/esm5/lib/ec-component/checkout-ec/checkout-ec.component.js +36 -13
  31. package/esm5/lib/ec-component/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.js +18 -7
  32. package/esm5/lib/ec-component/sidebar-ec/sidebar-ec.component.js +12 -3
  33. package/esm5/lib/interfaces/cart-item.js +1 -1
  34. package/esm5/lib/interfaces/cart-totals.js +1 -0
  35. package/esm5/lib/interfaces/channel.js +1 -0
  36. package/esm5/lib/interfaces/checkout-data.js +1 -1
  37. package/esm5/lib/interfaces/product.js +1 -1
  38. package/esm5/lib/services/account/orders.service.js +18 -3
  39. package/esm5/lib/services/cart.service.js +154 -23
  40. package/esm5/lib/services/checkout/checkout.service.js +30 -4
  41. package/esm5/lib/utils/order-util.service.js +99 -7
  42. package/esm5/lib/utils/price-presentation.service.js +130 -0
  43. package/esm5/public-api.js +2 -1
  44. package/fesm2015/ng-easycommerce.js +1181 -652
  45. package/fesm2015/ng-easycommerce.js.map +1 -1
  46. package/fesm5/ng-easycommerce.js +1219 -654
  47. package/fesm5/ng-easycommerce.js.map +1 -1
  48. package/lib/ec-component/account-ec/order-ec/order-ec.component.d.ts +15 -0
  49. package/lib/ec-component/cart-ec/cart-ec.component.d.ts +8 -1
  50. package/lib/ec-component/checkout-ec/checkout-ec.component.d.ts +1 -1
  51. package/lib/ec-component/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.d.ts +2 -2
  52. package/lib/interfaces/cart-item.d.ts +27 -2
  53. package/lib/interfaces/cart-totals.d.ts +19 -0
  54. package/lib/interfaces/channel.d.ts +15 -0
  55. package/lib/interfaces/checkout-data.d.ts +2 -1
  56. package/lib/interfaces/product.d.ts +48 -1
  57. package/lib/services/account/orders.service.d.ts +5 -0
  58. package/lib/services/cart.service.d.ts +26 -5
  59. package/lib/utils/order-util.service.d.ts +22 -0
  60. package/lib/utils/price-presentation.service.d.ts +56 -0
  61. package/ng-easycommerce.metadata.json +1 -1
  62. package/package.json +1 -1
  63. package/public-api.d.ts +3 -0
package/README.md CHANGED
@@ -1,3 +1,20 @@
1
+ # Version 0.1.0
2
+ - Precios de productos, líneas de carrito y resúmenes: se incorporan contratos explícitos de neto, impuesto y bruto, con fallback compatible para respuestas legacy.
3
+ - Carrito, sidebar y checkout: descuentos de orden, cupones y envío seleccionan neto o bruto según `showPriceWithTaxesWhileBrowsing`, sin recalcular impuestos.
4
+ - Checkout: el resumen se simplifica y, en modo bruto, los impuestos incluidos se muestran debajo del total como información secundaria.
5
+ - Detalle de órdenes históricas: utiliza los precios persistidos de la orden y sus contratos históricos de descuentos y envío, sin depender de los precios actuales del catálogo.
6
+ - Detalle de órdenes: se agregan columnas responsive para precio unitario, cantidad, descuento y subtotal, manteniendo alineación consistente en desktop y mobile.
7
+ - Se agregan pruebas de compatibilidad para contratos `snake_case`, fallback legacy, checkout y detalle de órdenes históricas.
8
+ - Carrito y sidebar: se normalizan `unitPrice`, `discount`, `subtotal` y `taxTotal` recibidos en cada ítem, conservando fallbacks para respuestas legacy.
9
+ - El precio unitario visible usa el precio informado por el backend y el subtotal del producto usa el subtotal del ítem, sin derivar el precio unitario desde el subtotal.
10
+ - `CartService` vuelve a sincronizar los ítems transformados después de las actualizaciones del carrito, incluyendo cambios de cantidad y cupones.
11
+ - `OrderUtilityService` centraliza el subtotal de la orden, total sin envío, impuestos de orden y del cliente, descuentos de cupón y promociones de orden.
12
+ - `CartEcComponent` incorpora `hasAnyUnitPromotions()` para que los frontends puedan mostrar la columna de descuentos unitarios solo cuando corresponda.
13
+ - Se agregan pruebas de regresión para la normalización de totales y promociones.
14
+ - Carrito y sidebar: `OrderUtilityService.getSummarySubtotalAmount()` prioriza `totals.subtotal` y mantiene fallback compatible a `totals.items` para backends legacy.
15
+ - Se agregan pruebas para evitar inconsistencias de subtotal entre carrito, sidebar y resúmenes.
16
+ - Se documenta la integración reusable de precios, promociones unitarias y desglose de promociones de orden para frontends consumidores.
17
+
1
18
  # Version 0.0.691
2
19
  - Facebook Pixel: las llamadas directas a `fbq` se ejecutan fuera de Angular Zone mediante `runFacebookCall()`, manteniendo guards, `try/catch` e idempotencia.
3
20
  - Facebook Pixel: el `Pixel ID` se serializa como string en el script dinámico para evitar una interpolación inválida.
@@ -299,6 +299,9 @@
299
299
  "order_limit_reached": "Límit de comandes assolit",
300
300
  "insufficient_credit": "Crèdit insuficient",
301
301
  "national-taxes": "Impostos nacionals",
302
+ "products-before-discounts": "Productes abans dels descomptes",
303
+ "line-discounts": "Descomptes dels articles",
304
+ "taxes-included-in-total": "Impostos inclosos en el total",
302
305
  "taxes": "Impostos",
303
306
  "price-without-national-taxes": "Preu sense impostos nacionals",
304
307
  "this-payment-method-cannot-be-used": "Aquest mètode de pagament no es pot utilitzar",
@@ -320,6 +320,9 @@
320
320
  "stores": "Points of sale",
321
321
  "street": "Street",
322
322
  "subtotal": "Subtotal",
323
+ "products-before-discounts": "Products before discounts",
324
+ "line-discounts": "Item discounts",
325
+ "taxes-included-in-total": "Taxes included in total",
323
326
  "taxes": "Taxes",
324
327
  "national-taxes": "National taxes",
325
328
  "price-without-national-taxes": "Price without national taxes",
@@ -323,6 +323,9 @@
323
323
  "stores": "Puntos de venta",
324
324
  "street": "Calle",
325
325
  "subtotal": "Subtotal",
326
+ "products-before-discounts": "Productos antes de descuentos",
327
+ "line-discounts": "Descuentos sobre artículos",
328
+ "taxes-included-in-total": "Impuestos incluidos en el total",
326
329
  "taxes": "Impuestos",
327
330
  "national-taxes": "Impuestos nacionales",
328
331
  "price-without-national-taxes": "Precio sin impuestos nacionales",
@@ -291,6 +291,9 @@
291
291
  "order_limit_reached": "Limite de commandes atteinte",
292
292
  "insufficient_credit": "Crédit insuffisant",
293
293
  "national-taxes": "Taxes nationales",
294
+ "products-before-discounts": "Produits avant remises",
295
+ "line-discounts": "Remises sur les articles",
296
+ "taxes-included-in-total": "Taxes incluses dans le total",
294
297
  "taxes": "Taxes",
295
298
  "price-without-national-taxes": "Prix sans taxes nationales",
296
299
  "this-payment-method-cannot-be-used": "Ce mode de paiement ne peut pas être utilisé",
@@ -299,6 +299,9 @@
299
299
  "order_limit_reached": "Límite de pedidos acadado",
300
300
  "insufficient_credit": "Crédito insuficiente",
301
301
  "national-taxes": "Impostos nacionais",
302
+ "products-before-discounts": "Produtos antes dos descontos",
303
+ "line-discounts": "Descontos nos artigos",
304
+ "taxes-included-in-total": "Impostos incluídos no total",
302
305
  "taxes": "Impostos",
303
306
  "price-without-national-taxes": "Prezo sen impostos nacionais",
304
307
  "this-payment-method-cannot-be-used": "Este método de pago non pode ser usado",
@@ -299,6 +299,9 @@
299
299
  "order_limit_reached": "Limite de pedidos atingido",
300
300
  "insufficient_credit": "Crédito insuficiente",
301
301
  "national-taxes": "Impostos nacionais",
302
+ "products-before-discounts": "Produtos antes dos descontos",
303
+ "line-discounts": "Descontos nos itens",
304
+ "taxes-included-in-total": "Impostos incluídos no total",
302
305
  "taxes": "Impostos",
303
306
  "price-without-national-taxes": "Preço sem impostos nacionais",
304
307
  "this-payment-method-cannot-be-used": "Este método de pagamento não pode ser utilizado",