@azzas/azzas-tracker-web 2.0.0-preview.1 → 2.0.0-preview.2

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.
@@ -1012,6 +1012,12 @@ var AzzasTracker = (() => {
1012
1012
  return unique;
1013
1013
  };
1014
1014
  var capitalize = (str) => str ? str[0].toUpperCase() + str.slice(1).toLowerCase() : "";
1015
+ var resizeVtexImage2 = (url, width = 500, height = 500) => {
1016
+ return url == null ? void 0 : url.replace(
1017
+ /(\/arquivos\/ids\/\d+)-\d+-\d+\//,
1018
+ `$1-${width}-${height}/`
1019
+ );
1020
+ };
1015
1021
 
1016
1022
  // src/params/legacy/resolvers/paymentType/fromOrderForm.ts
1017
1023
  function paymentTypeFromOrderForm(context) {
@@ -1433,12 +1439,6 @@ var AzzasTracker = (() => {
1433
1439
  const deepest = (_d = validHierarchy[validHierarchy.length - 1]) != null ? _d : "";
1434
1440
  return capitalize(deepest);
1435
1441
  };
1436
- var resizeVtexImage2 = (url, width = 500, height = 500) => {
1437
- return url == null ? void 0 : url.replace(
1438
- /(\/arquivos\/ids\/\d+)-\d+-\d+\//,
1439
- `$1-${width}-${height}/`
1440
- );
1441
- };
1442
1442
  function getItemShippingTier2() {
1443
1443
  return null;
1444
1444
  }
@@ -1453,7 +1453,7 @@ var AzzasTracker = (() => {
1453
1453
  if (context == null ? void 0 : context.items) return context.items;
1454
1454
  if (context == null ? void 0 : context.products) {
1455
1455
  return context.products.map((item) => {
1456
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D;
1456
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E;
1457
1457
  const COLOR_REGEX = /^[^_]+_/;
1458
1458
  const listPrice = (_c = (_b = (_a = item == null ? void 0 : item.offers) == null ? void 0 : _a.offers) == null ? void 0 : _b[0].priceSpecification.find(
1459
1459
  (s) => s.priceType === LIST_PRICE_SCHEMA
@@ -1464,21 +1464,21 @@ var AzzasTracker = (() => {
1464
1464
  item_brand: (_g = (_f = (_e = item.brand) == null ? void 0 : _e.name) == null ? void 0 : _f.toLowerCase()) != null ? _g : null,
1465
1465
  item_name: (_h = item.alternateName) != null ? _h : null,
1466
1466
  price: (_j = (_i = item.offers) == null ? void 0 : _i.lowPrice) != null ? _j : null,
1467
- discount: Number(listPrice) - Number((_k = item == null ? void 0 : item.offers) == null ? void 0 : _k.lowPrice),
1467
+ discount: Math.round((Number(listPrice) - Number((_k = item == null ? void 0 : item.offers) == null ? void 0 : _k.lowPrice)) * 100) / 100,
1468
1468
  item_variant: ((_m = (_l = item == null ? void 0 : item.name) == null ? void 0 : _l.split(" - ")[0]) == null ? void 0 : _m.replace(COLOR_REGEX, "").replace(/_/g, " ")) || null,
1469
1469
  // cor
1470
1470
  item_variant2: (_o = (_n = item == null ? void 0 : item.name) == null ? void 0 : _n.split(" - ")[1]) != null ? _o : null,
1471
1471
  // tamanho
1472
1472
  item_shipping_tier: getItemShippingTier2(),
1473
- item_ref: (_r = (_q = (_p = item.additionalProperty) == null ? void 0 : _p.find(((i) => i.name === "RefId"))) == null ? void 0 : _q.value) != null ? _r : null,
1474
- item_category: (_s = getItemCategory3(item)) != null ? _s : null,
1475
- item_category2: (_t = getItemCategory22(item)) != null ? _t : null,
1476
- item_id: (_u = item == null ? void 0 : item.inProductGroupWithID) != null ? _u : null,
1477
- item_sku: (_v = item.sku) != null ? _v : null,
1478
- item_url: (_w = item.url) != null ? _w : null,
1479
- image_url: (_y = resizeVtexImage2((_x = item == null ? void 0 : item.image) == null ? void 0 : _x[0].url)) != null ? _y : null,
1480
- seller_id: (_C = (_B = (_A = (_z = item.offers) == null ? void 0 : _z.offers) == null ? void 0 : _A[0]) == null ? void 0 : _B.seller) != null ? _C : null,
1481
- item_list_name: (_D = item == null ? void 0 : item.item_list_name) != null ? _D : null
1473
+ item_ref: (_s = (_r = (_q = (_p = item.additionalProperty) == null ? void 0 : _p.find((i) => i.name === "RefId")) == null ? void 0 : _q.value) == null ? void 0 : _r.replace(/_\d+$/, "")) != null ? _s : null,
1474
+ item_category: (_t = getItemCategory3(item)) != null ? _t : null,
1475
+ item_category2: (_u = getItemCategory22(item)) != null ? _u : null,
1476
+ item_id: (_v = item == null ? void 0 : item.inProductGroupWithID) != null ? _v : null,
1477
+ item_sku: (_w = item.sku) != null ? _w : null,
1478
+ item_url: (_x = item.url) != null ? _x : null,
1479
+ image_url: (_z = resizeVtexImage2((_y = item == null ? void 0 : item.image) == null ? void 0 : _y[0].url)) != null ? _z : null,
1480
+ seller_id: (_D = (_C = (_B = (_A = item.offers) == null ? void 0 : _A.offers) == null ? void 0 : _B[0]) == null ? void 0 : _C.seller) != null ? _D : null,
1481
+ item_list_name: (_E = item == null ? void 0 : item.item_list_name) != null ? _E : null
1482
1482
  };
1483
1483
  });
1484
1484
  }
@@ -1532,9 +1532,79 @@ var AzzasTracker = (() => {
1532
1532
  }
1533
1533
  };
1534
1534
 
1535
+ // src/params/adapters/orderForm/utils.ts
1536
+ var getItemCategory5 = (item) => {
1537
+ var _a;
1538
+ const categories = item == null ? void 0 : item.productCategories;
1539
+ if (!categories) return "Cole\xE7\xE3o";
1540
+ const text = Object.values(categories).join(" ");
1541
+ const match = (_a = text.match(/outlet|bazar|sale/i)) == null ? void 0 : _a[0].toLowerCase();
1542
+ return match != null ? match : "Cole\xE7\xE3o";
1543
+ };
1544
+ var getItemCategory23 = (item) => {
1545
+ var _a, _b;
1546
+ const AVOID_CATEGORIES = /outlet|bazar|sale/i;
1547
+ const categories = Object.values((_a = item == null ? void 0 : item.productCategories) != null ? _a : {});
1548
+ const validHierarchy = categories.map((c) => c.trim()).filter((c) => c && !AVOID_CATEGORIES.test(c));
1549
+ const deepest = (_b = validHierarchy[validHierarchy.length - 1]) != null ? _b : "";
1550
+ return capitalize(deepest);
1551
+ };
1552
+ var getOrderFormItems = (orderForm) => {
1553
+ const idSelected = orderForm == null ? void 0 : orderForm.selected;
1554
+ return idSelected ? orderForm.items.filter((item) => item.id === idSelected) : orderForm.items;
1555
+ };
1556
+
1535
1557
  // src/params/adapters/orderForm/index.ts
1536
- var orderFormAdapters = {
1537
- // orderform
1558
+ var orderFormAdapter = {
1559
+ ...metaAdapters,
1560
+ items: (context) => {
1561
+ if (context == null ? void 0 : context.items) return context.items;
1562
+ if ((context == null ? void 0 : context.orderForm) && (context == null ? void 0 : context.orderForm.items)) {
1563
+ return getOrderFormItems(context.orderForm).map((item, index) => {
1564
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w;
1565
+ return {
1566
+ quantity: (_a = item == null ? void 0 : item.quantity) != null ? _a : 1,
1567
+ index: (_d = (_c = (_b = context == null ? void 0 : context.orderForm) == null ? void 0 : _b.index) != null ? _c : index) != null ? _d : null,
1568
+ item_brand: (_f = (_e = item.additionalInfo) == null ? void 0 : _e.brandName) != null ? _f : null,
1569
+ item_name: (_g = item == null ? void 0 : item.name.replace(item == null ? void 0 : item.skuName, "").trim()) != null ? _g : null,
1570
+ price: (item == null ? void 0 : item.price) / 100,
1571
+ discount: ((item == null ? void 0 : item.listPrice) - (item == null ? void 0 : item.sellingPrice)) / 100,
1572
+ item_variant: (_k = (_j = (_i = (_h = item == null ? void 0 : item.skuName) == null ? void 0 : _h.split(" - ")[0]) == null ? void 0 : _i.split("_").pop()) == null ? void 0 : _j.trim()) != null ? _k : null,
1573
+ item_variant2: (_n = (_m = (_l = item == null ? void 0 : item.skuName) == null ? void 0 : _l.split(" - ")[1]) == null ? void 0 : _m.trim()) != null ? _n : null,
1574
+ item_shipping_tier: "",
1575
+ item_ref: (item == null ? void 0 : item.productRefId) || (item == null ? void 0 : item.refId.replace(/_\d+$/, "")) || null,
1576
+ item_category: (_o = getItemCategory5(item)) != null ? _o : null,
1577
+ item_category2: (_p = getItemCategory23(item)) != null ? _p : null,
1578
+ item_id: (_q = item == null ? void 0 : item.productId) != null ? _q : null,
1579
+ item_sku: (_r = item == null ? void 0 : item.id) != null ? _r : null,
1580
+ item_url: (_s = item.detailUrl) != null ? _s : null,
1581
+ image_url: (_t = resizeVtexImage2(item.imageUrl)) != null ? _t : null,
1582
+ seller_id: (_u = item == null ? void 0 : item.seller) != null ? _u : null,
1583
+ item_list_name: (_w = (_v = context == null ? void 0 : context.orderForm) == null ? void 0 : _v.item_list_name) != null ? _w : null
1584
+ };
1585
+ });
1586
+ }
1587
+ return null;
1588
+ },
1589
+ // brand: (context: any) => {
1590
+ // if (context?.brand) return context.brand
1591
+ // if (context?.products) {
1592
+ // return context.products[0].brand?.name // tem que ajustar FARM por conta de FARM_ETC
1593
+ // }
1594
+ // return null
1595
+ // },
1596
+ line_items: (context) => {
1597
+ var _a;
1598
+ if (context == null ? void 0 : context.line_items) return context.line_items;
1599
+ if (!((_a = context == null ? void 0 : context.orderForm) == null ? void 0 : _a.items)) return null;
1600
+ return getOrderFormItems(context.orderForm).map((item) => item == null ? void 0 : item.productId).filter((id) => Boolean(id));
1601
+ },
1602
+ value: (context) => {
1603
+ var _a;
1604
+ if (context == null ? void 0 : context.value) return context.value;
1605
+ if (!((_a = context == null ? void 0 : context.orderForm) == null ? void 0 : _a.items)) return null;
1606
+ return getOrderFormItems(context.orderForm).map((item) => (item == null ? void 0 : item.price) / 100 * item.quantity).filter((price) => price !== void 0).reduce((sum, price) => sum + price, 0);
1607
+ },
1538
1608
  payment_type: getPaymentType,
1539
1609
  total_discount: (context) => {
1540
1610
  var _a, _b;
@@ -1565,6 +1635,10 @@ var AzzasTracker = (() => {
1565
1635
  if (couponMessages.length === 0) return null;
1566
1636
  return couponMessages.map((msg) => msg.text).join(" | ");
1567
1637
  },
1638
+ zipcode: (context) => {
1639
+ var _a;
1640
+ return (_a = context.zipcode) != null ? _a : null;
1641
+ },
1568
1642
  flag_pickup: (context) => {
1569
1643
  var _a;
1570
1644
  const orderForm = context.orderForm;
@@ -1579,32 +1653,23 @@ var AzzasTracker = (() => {
1579
1653
  return hasPickup;
1580
1654
  },
1581
1655
  shippings: (context) => {
1582
- const orderForm = context.orderForm;
1583
- if (!orderForm) return null;
1584
- const groupShipping = {};
1585
- for (const info of orderForm.shippingData.logisticsInfo) {
1586
- const item = orderForm.items[info.itemIndex];
1587
- if (!item) continue;
1588
- for (const sla of info.slas) {
1589
- const key = sla.name;
1590
- if (!groupShipping[key]) {
1591
- groupShipping[key] = {
1592
- shipping_tier: sla.name,
1593
- delivery_time: parseInt(sla.shippingEstimate),
1594
- shipping: parseFloat((sla.price / 100).toFixed(1)),
1595
- line_items: []
1596
- };
1597
- }
1598
- groupShipping[key].line_items.push(item.id);
1599
- }
1600
- }
1601
- const shippings = Object.values(groupShipping).map((s) => ({
1602
- shipping: s.shipping,
1603
- shipping_tier: s.shipping_tier,
1604
- delivery_time: s.delivery_time,
1605
- line_items: s.line_items.join(",")
1606
- }));
1607
- return shippings || null;
1656
+ if (!context.orderForm) return null;
1657
+ const { items, shippingData } = context.orderForm;
1658
+ const acc = {};
1659
+ shippingData.logisticsInfo.forEach(({ itemIndex, slas }) => {
1660
+ const item = items[itemIndex];
1661
+ if (!item) return;
1662
+ slas.forEach((sla) => {
1663
+ if (!acc[sla.name]) acc[sla.name] = {
1664
+ shipping_tier: sla.name,
1665
+ delivery_time: parseInt(sla.shippingEstimate),
1666
+ shipping: parseFloat((sla.price / 100).toFixed(1)),
1667
+ line_items: []
1668
+ };
1669
+ acc[sla.name].line_items.push(item.id);
1670
+ });
1671
+ });
1672
+ return Object.values(acc).map((s) => ({ ...s, line_items: s.line_items.join(",") }));
1608
1673
  },
1609
1674
  shipping: (context) => {
1610
1675
  var _a, _b, _c;
@@ -1662,7 +1727,7 @@ var AzzasTracker = (() => {
1662
1727
  };
1663
1728
 
1664
1729
  // src/params/adapters/headless/utils.ts
1665
- var getItemCategory5 = (item) => {
1730
+ var getItemCategory6 = (item) => {
1666
1731
  const keywords = ["outlet", "bazar", "sale"];
1667
1732
  const regex = new RegExp(keywords.join("|"), "i");
1668
1733
  const value = item == null ? void 0 : item.categories;
@@ -1675,7 +1740,7 @@ var AzzasTracker = (() => {
1675
1740
  }
1676
1741
  return "Cole\xE7\xE3o";
1677
1742
  };
1678
- var getItemCategory23 = (item) => {
1743
+ var getItemCategory24 = (item) => {
1679
1744
  var _a, _b, _c;
1680
1745
  const avoidList = /outlet|bazar|sale/i;
1681
1746
  const lastCategory = (_b = (_a = item.categories) == null ? void 0 : _a[item.categories.length - 1]) != null ? _b : "";
@@ -1683,12 +1748,6 @@ var AzzasTracker = (() => {
1683
1748
  const deepestCategory = (_c = [...categoryHierarchy].reverse().find((c) => !avoidList.test(c))) != null ? _c : "";
1684
1749
  return deepestCategory && deepestCategory[0].toUpperCase() + deepestCategory.slice(1).toLowerCase();
1685
1750
  };
1686
- function resizeVtexImage3(url, width = 500, height = 500) {
1687
- return url == null ? void 0 : url.replace(
1688
- /(\/arquivos\/ids\/\d+)-\d+-\d+\//,
1689
- `$1-${width}-${height}/`
1690
- );
1691
- }
1692
1751
 
1693
1752
  // src/params/adapters/headless/zones/PDP.ts
1694
1753
  var HeadlessPdpZone = {
@@ -1705,18 +1764,19 @@ var AzzasTracker = (() => {
1705
1764
  item_brand: (_d = item.brand) != null ? _d : null,
1706
1765
  item_name: (_e = item.productName) != null ? _e : null,
1707
1766
  price: price != null ? price : null,
1767
+ item_shipping_tier: null,
1708
1768
  discount: Number(listPrice) - Number(price),
1709
1769
  item_variant: (_h = (_g = (_f = item.items[0]) == null ? void 0 : _f.name) == null ? void 0 : _g.split(" - ")[0]) != null ? _h : null,
1710
1770
  item_variant2: (_k = (_j = (_i = item.items[0]) == null ? void 0 : _i.name) == null ? void 0 : _j.split(" - ")[1]) != null ? _k : null,
1711
1771
  item_ref: (_l = item.productReference) != null ? _l : null,
1712
1772
  // sem ref no retorno do IS na multi-lib produtos PDC
1713
- item_category: getItemCategory5(item),
1714
- item_category2: (_m = getItemCategory23(item)) != null ? _m : null,
1773
+ item_category: getItemCategory6(item),
1774
+ item_category2: (_m = getItemCategory24(item)) != null ? _m : null,
1715
1775
  item_id: (_n = item == null ? void 0 : item.productId) != null ? _n : null,
1716
1776
  item_sku: (_p = (_o = item.items) == null ? void 0 : _o[0].itemId) != null ? _p : null,
1717
1777
  item_url: (_q = item.link) != null ? _q : null,
1718
1778
  // sem link/url no retorno do IS na multi-lib produtos PDC
1719
- image_url: (_t = resizeVtexImage3((_s = (_r = item == null ? void 0 : item.items) == null ? void 0 : _r[0].images) == null ? void 0 : _s[0].imageUrl)) != null ? _t : null,
1779
+ image_url: (_t = resizeVtexImage2((_s = (_r = item == null ? void 0 : item.items) == null ? void 0 : _r[0].images) == null ? void 0 : _s[0].imageUrl)) != null ? _t : null,
1720
1780
  seller_id: (_x = (_w = (_v = (_u = item.items) == null ? void 0 : _u[0]) == null ? void 0 : _v.sellers) == null ? void 0 : _w[0].sellerId) != null ? _x : null,
1721
1781
  item_list_name: (_y = item.item_list_name) != null ? _y : null
1722
1782
  };
@@ -1765,18 +1825,19 @@ var AzzasTracker = (() => {
1765
1825
  item_brand: (_b = item.brand.name) != null ? _b : null,
1766
1826
  item_name: (_c = item.name) != null ? _c : null,
1767
1827
  price: price != null ? price : null,
1828
+ item_shipping_tier: null,
1768
1829
  discount: Number(listPrice) - Number(price),
1769
1830
  item_variant: (_f = (_e = (_d = item.isVariantOf) == null ? void 0 : _d.hasVariant) == null ? void 0 : _e[0].name.split(" - ")[0]) != null ? _f : null,
1770
1831
  item_variant2: (_i = (_h = ((_g = item.additionalProperty) != null ? _g : []).find((p) => p.name === "Tamanho")) == null ? void 0 : _h.value) != null ? _i : null,
1771
1832
  item_ref: null,
1772
1833
  // sem ref no retorno do IS na multi-lib produtos PDC
1773
- item_category: getItemCategory5(item),
1774
- item_category2: (_j = getItemCategory23(item)) != null ? _j : null,
1834
+ item_category: getItemCategory6(item),
1835
+ item_category2: (_j = getItemCategory24(item)) != null ? _j : null,
1775
1836
  item_id: (_k = item.isVariantOf.productGroupID) != null ? _k : null,
1776
1837
  item_sku: (_l = item.sku) != null ? _l : null,
1777
1838
  item_url: null,
1778
1839
  // sem link/url no retorno do IS na multi-lib produtos PDC
1779
- image_url: (_n = resizeVtexImage3((_m = item == null ? void 0 : item.image) == null ? void 0 : _m[0].url)) != null ? _n : null,
1840
+ image_url: (_n = resizeVtexImage2((_m = item == null ? void 0 : item.image) == null ? void 0 : _m[0].url)) != null ? _n : null,
1780
1841
  seller_id: (_s = (_r = (_q = (_p = (_o = item.offers) == null ? void 0 : _o.offers) == null ? void 0 : _p.find((o) => o.availability)) == null ? void 0 : _q.seller) == null ? void 0 : _r.identifier) != null ? _s : null,
1781
1842
  item_list_name: (_t = item.item_list_name) != null ? _t : null
1782
1843
  };
@@ -1811,7 +1872,7 @@ var AzzasTracker = (() => {
1811
1872
  var headlessAdapter = {
1812
1873
  ...metaAdapters,
1813
1874
  // global adapters
1814
- ...orderFormAdapters,
1875
+ ...orderFormAdapter,
1815
1876
  // orderForm adapters, confirmar se no storefront tem evento que usa essses params
1816
1877
  brand: (context) => {
1817
1878
  if (context.zone === "PDP") {
@@ -1908,7 +1969,8 @@ var AzzasTracker = (() => {
1908
1969
  var adapters = {
1909
1970
  DECO: decoAdapter,
1910
1971
  HEADLESS: headlessAdapter,
1911
- PICKUP: pickupAdapter
1972
+ PICKUP: pickupAdapter,
1973
+ ORDERFORM: orderFormAdapter
1912
1974
  };
1913
1975
  async function getParameters(context, eventName) {
1914
1976
  var _a;