@active-reach/web-sdk 1.27.2 → 1.28.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.
@@ -1 +1 @@
1
- {"version":3,"file":"card-template.d.ts","sourceRoot":"","sources":["../../../src/inapp/renderers/card-template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"card-template.d.ts","sourceRoot":"","sources":["../../../src/inapp/renderers/card-template.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,MAAM,eAAe,GACvB,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,UAAU,GACV,QAAQ,GACR,UAAU,GACV,KAAK,GAEL,MAAM,GACN,MAAM,GACN,QAAQ,GACR,UAAU,GACV,WAAW,GAEX,cAAc,GACd,MAAM,GACN,KAAK,GACL,OAAO,CAAC;AAEZ,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,8EAA8E;IAC9E,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,4CAA4C;IAC5C,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAChC,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,2CAA2C;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;IACpD,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAEpC,SAAS,CAAC,EAAE,YAAY,GAAG,eAAe,GAAG,gBAAgB,GAAG,WAAW,CAAC;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;8EAC0E;IAC1E,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;wEACoE;IACpE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yDAAyD;IACzD,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;kFAC8E;IAC9E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;yCAEqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,4EAA4E;IAC5E,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mEAAmE;IACnE,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,uEAAuE;IACvE,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,8DAA8D;IAC9D,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,4FAA4F;IAC5F,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,oDAAoD;IACpD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,uCAAuC;IACvC,MAAM,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB,kDAAkD;IAClD,MAAM,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IAClC,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;kEAI8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;iCAE6B;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,aAAa,CAAC;IAC5D;oDACgD;IAChD,eAAe,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IACtC,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAqDD,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;CAC1B;AAED,+DAA+D;AAC/D,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,sFAAsF;IACtF,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB;AAID;mFACmF;AACnF,eAAO,MAAM,qBAAqB,EAAE,YAenC,CAAC;AA6BF,qFAAqF;AACrF,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,CAU/E;AA8nBD;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE;IACJ,QAAQ,EAAE,YAAY,CAAC;IACvB,GAAG,EAAE,aAAa,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB,GACA,WAAW,CAwTb"}
@@ -1 +1 @@
1
- {"version":3,"file":"carousel-cards.d.ts","sourceRoot":"","sources":["../../../src/inapp/renderers/carousel-cards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAS7C,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAuN5D"}
1
+ {"version":3,"file":"carousel-cards.d.ts","sourceRoot":"","sources":["../../../src/inapp/renderers/carousel-cards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAS7C,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAwN5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"product-recommendation.d.ts","sourceRoot":"","sources":["../../../src/inapp/renderers/product-recommendation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAW7C,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAiHpE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,WAAW,GAClB,OAAO,CA+FT"}
1
+ {"version":3,"file":"product-recommendation.d.ts","sourceRoot":"","sources":["../../../src/inapp/renderers/product-recommendation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAW7C,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAkHpE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,WAAW,GAClB,OAAO,CAkGT"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { S as Storage, l as logger, A as Aegis } from "./analytics-0p0p56H0.mjs";
2
- import { B, E, N, R, U, m } from "./analytics-0p0p56H0.mjs";
1
+ import { S as Storage, l as logger, A as Aegis } from "./analytics-CCDZCnut.mjs";
2
+ import { B, E, N, R, U, m } from "./analytics-CCDZCnut.mjs";
3
3
  import { AegisWebPush } from "./push/AegisWebPush.js";
4
4
  function debounce(func, wait) {
5
5
  let timeoutId = null;
@@ -463,7 +463,7 @@ function paintPrice(card, el, accent, ctx) {
463
463
  p.style.cssText = `color:${accent};font-weight:700;font-size:13px;`;
464
464
  } else {
465
465
  const pillBg = el.color ? ctx.sanitizeColor(el.color) : "#059669";
466
- p.style.cssText = `background:${pillBg};color:#fff;font-weight:800;font-size:12px;padding:2px 7px;border-radius:6px;`;
466
+ p.style.cssText = `background:${pillBg};color:#fff;font-weight:800;font-size:12px;padding:2px 7px;border-radius:6px;box-shadow:0 2px 6px rgba(0,0,0,0.30);`;
467
467
  }
468
468
  row.appendChild(p);
469
469
  const pNum = parseFloat(price.replace(/[^0-9.]/g, ""));
@@ -874,6 +874,10 @@ function buildProgressElement(el, ctx, accent, muted) {
874
874
  if (goal === "referrals") return Number(p["referrals.count"]) || 0;
875
875
  return 0;
876
876
  };
877
+ const cartItems = () => {
878
+ const c = ctx.getCartState && ctx.getCartState();
879
+ return c && typeof c.itemCount === "number" ? c.itemCount : 0;
880
+ };
877
881
  const wrap = document.createElement("div");
878
882
  wrap.style.cssText = "display:flex;flex-direction:column;gap:3px;min-width:0;width:100%;";
879
883
  const sub = document.createElement("div");
@@ -915,7 +919,8 @@ function buildProgressElement(el, ctx, accent, muted) {
915
919
  } else {
916
920
  sub.style.color = muted;
917
921
  sub.style.fontWeight = "";
918
- seenIncomplete = true;
922
+ const engaged = goal === "cart_total" || goal === "items_in_cart" ? cartItems() > 0 : cur > 0;
923
+ if (engaged) seenIncomplete = true;
919
924
  firedUnlock = false;
920
925
  }
921
926
  };
@@ -952,7 +957,7 @@ function renderCardFromTemplate(card, opts) {
952
957
  background:${frame.bg ? sanitizeColor(frame.bg) : "#ffffff"};
953
958
  border:1px solid ${frame.border ? sanitizeColor(frame.border) : "transparent"};
954
959
  border-radius:${radius}; padding:8px;
955
- ${fLayout === "row" ? "" : "box-shadow:0 2px 10px rgba(0,0,0,0.12);"}
960
+ ${fLayout === "row" ? "" : "box-shadow:0 4px 16px rgba(0,0,0,0.18);"}
956
961
  ${frame.max_width ? `max-width:${frame.max_width}px;` : ""}${frame.min_width ? `min-width:${frame.min_width}px;` : ""}
957
962
  ${frame.height ? `height:${frame.height}px;` : ""}${frame.min_height ? `min-height:${frame.min_height}px;` : ""}
958
963
  ${sizing}
@@ -1251,7 +1256,8 @@ function renderCarouselCards(ctx) {
1251
1256
  track.style.cssText = `
1252
1257
  display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x proximity;
1253
1258
  scroll-padding-left: 0; scrollbar-width: none; -ms-overflow-style: none;
1254
- padding-bottom: 4px; -webkit-overflow-scrolling: touch;
1259
+ /* room so overflow-x: auto doesn't clip the card drop-shadow */
1260
+ padding: 8px 6px 16px; margin: -8px -6px -6px; -webkit-overflow-scrolling: touch;
1255
1261
  `;
1256
1262
  track.style.msOverflowStyle = "none";
1257
1263
  const template = resolveGlobalTemplate(ic);
@@ -1916,12 +1922,12 @@ function renderProductRecommendation(ctx) {
1916
1922
  if (layout === "row") {
1917
1923
  grid.style.cssText = `
1918
1924
  display: flex; gap: 10px; overflow-x: auto;
1919
- scroll-snap-type: x mandatory; padding: 14px 0 4px;
1925
+ scroll-snap-type: x mandatory; padding: 14px 2px 18px;
1920
1926
  `;
1921
1927
  } else {
1922
1928
  grid.style.cssText = `
1923
1929
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px;
1924
- padding-top: 14px;
1930
+ padding: 14px 2px 6px;
1925
1931
  `;
1926
1932
  }
1927
1933
  cards.forEach((c) => {
@@ -1980,7 +1986,7 @@ function renderProductRecommendationInline(ctx, target) {
1980
1986
  } else {
1981
1987
  grid.style.cssText = `
1982
1988
  display: flex; gap: 10px; overflow-x: auto;
1983
- scroll-snap-type: x proximity; padding: 0 0 6px;
1989
+ scroll-snap-type: x proximity; padding: 10px 8px 18px; margin: -8px -8px -6px;
1984
1990
  -webkit-overflow-scrolling: touch; scrollbar-width: none;
1985
1991
  `;
1986
1992
  grid.style.msOverflowStyle = "none";
@@ -11493,6 +11499,7 @@ class AegisWidgetManager {
11493
11499
  this.onEvent = config.onEvent;
11494
11500
  this.sourcePlatform = config.sourcePlatform;
11495
11501
  this.getWorkspaceId = config.getWorkspaceId;
11502
+ this.onCartDetected = config.onCartDetected;
11496
11503
  }
11497
11504
  updateCSSCustomization(customization) {
11498
11505
  this.cssCustomization = { ...this.cssCustomization, ...customization };
@@ -11604,24 +11611,18 @@ class AegisWidgetManager {
11604
11611
  this.log("AegisWidgets initialized successfully");
11605
11612
  }
11606
11613
  setCartData(cartData) {
11614
+ var _a;
11607
11615
  this.cartData = cartData;
11608
11616
  this.log(`Cart data updated: ${cartData.cart_items.length} items, total: ${cartData.cart_currency} ${cartData.cart_total}`);
11617
+ (_a = this.onCartDetected) == null ? void 0 : _a.call(this, cartData);
11609
11618
  }
11610
11619
  detectPlatformCart() {
11611
- const shopifyCart = this.normalizeShopifyCart();
11612
- if (shopifyCart) {
11613
- this.log("Detected Shopify cart via browser globals");
11614
- return shopifyCart;
11615
- }
11616
- const wooCart = this.normalizeWooCart();
11617
- if (wooCart) {
11618
- this.log("Detected WooCommerce cart via injected data");
11619
- return wooCart;
11620
- }
11621
- const magentoCart = this.normalizeMagentoCart();
11622
- if (magentoCart) {
11623
- this.log("Detected Magento cart via localStorage");
11624
- return magentoCart;
11620
+ var _a;
11621
+ const detected = this.normalizeShopifyCart() ?? this.normalizeWooCart() ?? this.normalizeMagentoCart();
11622
+ if (detected) {
11623
+ this.log("Detected platform cart (Shopify/Woo/Magento)");
11624
+ (_a = this.onCartDetected) == null ? void 0 : _a.call(this, detected);
11625
+ return detected;
11625
11626
  }
11626
11627
  if (this.cartData) {
11627
11628
  this.log("Using manually set cart data");
@@ -13606,7 +13607,16 @@ class AegisMessageRuntime {
13606
13607
  ownsTriggerEngine,
13607
13608
  enablePrefetch: config.enableWidgetPrefetch !== false,
13608
13609
  sourcePlatform: config.sourcePlatform,
13609
- getWorkspaceId: config.getWorkspaceId
13610
+ getWorkspaceId: config.getWorkspaceId,
13611
+ // Cart-store unification: when the widget subsystem detects a platform
13612
+ // cart (Shopify/Woo/Magento) or the host calls `widgets.setCartData`, flow
13613
+ // it UP into the ONE cart store so the Free-Delivery card / progress bar /
13614
+ // rule eval see the same cart. See CART_STORE_UNIFICATION_TRACKER.md.
13615
+ onCartDetected: (cart) => this.applyCart({
13616
+ total: cart.cart_total,
13617
+ itemCount: Array.isArray(cart.cart_items) ? cart.cart_items.reduce((s, it) => s + (Number(it.quantity) || 1), 0) : 0,
13618
+ currency: cart.cart_currency
13619
+ })
13610
13620
  });
13611
13621
  this.inApp = new AegisInAppManager({
13612
13622
  writeKey: config.writeKey,
@@ -13776,11 +13786,31 @@ class AegisMessageRuntime {
13776
13786
  * feed for headless storefronts; prefer `updateContext` for new code.
13777
13787
  */
13778
13788
  setCartState(state) {
13779
- this.updateContext("cart", {
13780
- total: state.total,
13781
- items: state.itemCount,
13782
- currency: state.currency
13783
- });
13789
+ this.applyCart(state);
13790
+ }
13791
+ /**
13792
+ * The ONE cart writer. Normalizes any cart-ish shape and funnels it into the
13793
+ * single `cart` context namespace (read by the Free-Delivery progress card,
13794
+ * the progress-bar widget, and rule eval via the `cart_value` signal). EVERY
13795
+ * cart feed routes through here: ecommerce events (`bindEcommerce`), platform
13796
+ * auto-detect + `widgets.setCartData` (`onCartDetected`), and the explicit
13797
+ * `setCartState` escape hatch. See CART_STORE_UNIFICATION_TRACKER.md.
13798
+ */
13799
+ applyCart(cart) {
13800
+ const total = Number(cart.total) || 0;
13801
+ const itemCount = Number(cart.itemCount ?? cart.items) || 0;
13802
+ const currency = typeof cart.currency === "string" && cart.currency ? cart.currency : "INR";
13803
+ this.updateContext("cart", { total, items: itemCount, currency });
13804
+ }
13805
+ /**
13806
+ * Wire the analytics ecommerce tracker into the cart store — the CEP-standard
13807
+ * path. After this, a host firing `aegis.ecommerce.addToCart(...)` /
13808
+ * `cartViewed(...)` automatically drives every cart-reactive surface; no
13809
+ * separate `setCartState` call is needed. Call once after constructing both
13810
+ * the analytics SDK and the runtime. Idempotent.
13811
+ */
13812
+ bindEcommerce(tracker) {
13813
+ tracker.onCartChange((c) => this.applyCart(c));
13784
13814
  }
13785
13815
  // --- Qualifying-event refresh facade (DLR Tracker 1 / P1, 2026-05-28) ---
13786
13816
  //