@active-reach/web-sdk 1.0.0 → 1.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.
- package/README.md +103 -0
- package/dist/aegis.min.js +1 -1
- package/dist/aegis.min.js.map +1 -1
- package/dist/{analytics-B11keZ55.mjs → analytics-pklAx2Nq.mjs} +167 -2
- package/dist/analytics-pklAx2Nq.mjs.map +1 -0
- package/dist/core/analytics.d.ts +3 -0
- package/dist/core/analytics.d.ts.map +1 -1
- package/dist/ecommerce/index.d.ts +46 -0
- package/dist/ecommerce/index.d.ts.map +1 -0
- package/dist/ecommerce/types.d.ts +77 -0
- package/dist/ecommerce/types.d.ts.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +70 -1
- package/dist/index.js.map +1 -1
- package/dist/placements/AegisPlacementManager.d.ts +1 -1
- package/dist/placements/AegisPlacementManager.d.ts.map +1 -1
- package/dist/react.js +1 -1
- package/package.json +1 -1
- package/dist/analytics-B11keZ55.mjs.map +0 -1
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* E-Commerce event types following the Active Reach Intelligence spec.
|
|
3
|
+
* Compatible with Segment/GA4 e-commerce event schemas.
|
|
4
|
+
*/
|
|
5
|
+
export interface EcommerceProduct {
|
|
6
|
+
product_id: string;
|
|
7
|
+
sku?: string;
|
|
8
|
+
name: string;
|
|
9
|
+
price: number;
|
|
10
|
+
quantity?: number;
|
|
11
|
+
currency?: string;
|
|
12
|
+
category?: string;
|
|
13
|
+
brand?: string;
|
|
14
|
+
variant_id?: string;
|
|
15
|
+
variant_label?: string;
|
|
16
|
+
image_url?: string;
|
|
17
|
+
url?: string;
|
|
18
|
+
position?: number;
|
|
19
|
+
}
|
|
20
|
+
export interface EcommerceCart {
|
|
21
|
+
cart_id?: string;
|
|
22
|
+
value: number;
|
|
23
|
+
currency?: string;
|
|
24
|
+
products: EcommerceProduct[];
|
|
25
|
+
}
|
|
26
|
+
export interface EcommerceCheckout {
|
|
27
|
+
checkout_id?: string;
|
|
28
|
+
value: number;
|
|
29
|
+
currency?: string;
|
|
30
|
+
products: EcommerceProduct[];
|
|
31
|
+
coupon?: string;
|
|
32
|
+
shipping?: number;
|
|
33
|
+
tax?: number;
|
|
34
|
+
}
|
|
35
|
+
export interface EcommerceOrder {
|
|
36
|
+
order_id: string;
|
|
37
|
+
value: number;
|
|
38
|
+
revenue?: number;
|
|
39
|
+
currency?: string;
|
|
40
|
+
products: EcommerceProduct[];
|
|
41
|
+
coupon?: string;
|
|
42
|
+
shipping?: number;
|
|
43
|
+
tax?: number;
|
|
44
|
+
discount?: number;
|
|
45
|
+
payment_method?: string;
|
|
46
|
+
}
|
|
47
|
+
export interface EcommerceCoupon {
|
|
48
|
+
coupon_id?: string;
|
|
49
|
+
coupon_code: string;
|
|
50
|
+
discount_value?: number;
|
|
51
|
+
discount_type?: 'percentage' | 'fixed';
|
|
52
|
+
order_id?: string;
|
|
53
|
+
cart_id?: string;
|
|
54
|
+
}
|
|
55
|
+
export interface EcommerceSearch {
|
|
56
|
+
query: string;
|
|
57
|
+
results_count?: number;
|
|
58
|
+
filters?: Record<string, string | string[]>;
|
|
59
|
+
}
|
|
60
|
+
export interface EcommerceProductList {
|
|
61
|
+
list_id?: string;
|
|
62
|
+
list_name?: string;
|
|
63
|
+
products: EcommerceProduct[];
|
|
64
|
+
category?: string;
|
|
65
|
+
}
|
|
66
|
+
export interface EcommerceWishlist {
|
|
67
|
+
wishlist_id?: string;
|
|
68
|
+
wishlist_name?: string;
|
|
69
|
+
product: EcommerceProduct;
|
|
70
|
+
}
|
|
71
|
+
export interface EcommercePromotion {
|
|
72
|
+
promotion_id?: string;
|
|
73
|
+
name: string;
|
|
74
|
+
creative?: string;
|
|
75
|
+
position?: string;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ecommerce/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -20,4 +20,6 @@ export { SdkConfigPoller } from './core/sdk-config-poller';
|
|
|
20
20
|
export type { SdkConfig, SdkConfigPollerOptions, ConfigChangeCallback } from './core/sdk-config-poller';
|
|
21
21
|
export { AegisWebPush } from './push/AegisWebPush';
|
|
22
22
|
export type { AegisWebPushConfig, AegisAPIClient, ContactIdentity, PushEventTracker, } from './push/AegisWebPush';
|
|
23
|
+
export { EcommerceTracker } from './ecommerce';
|
|
24
|
+
export type { EcommerceProduct, EcommerceCart, EcommerceCheckout, EcommerceOrder, EcommerceCoupon, EcommerceSearch, EcommerceProductList, EcommerceWishlist, EcommercePromotion, } from './ecommerce';
|
|
23
25
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,QAAA,MAAM,KAAK,OAAc,CAAC;AAE1B,eAAe,KAAK,CAAC;AAErB,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5E,YAAY,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACb,SAAS,EACT,UAAU,EACV,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACtD,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,oBAAoB,GACrB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,YAAY,EAAE,SAAS,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAExG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,gBAAgB,GACjB,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,QAAA,MAAM,KAAK,OAAc,CAAC;AAE1B,eAAe,KAAK,CAAC;AAErB,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5E,YAAY,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACb,SAAS,EACT,UAAU,EACV,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACtD,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,oBAAoB,GACrB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,YAAY,EAAE,SAAS,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAExG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { l as logger, A as Aegis } from "./analytics-
|
|
1
|
+
import { l as logger, A as Aegis } from "./analytics-pklAx2Nq.mjs";
|
|
2
|
+
import { E } from "./analytics-pklAx2Nq.mjs";
|
|
2
3
|
import { AegisWebPush } from "./push/AegisWebPush.js";
|
|
3
4
|
function debounce(func, wait) {
|
|
4
5
|
let timeoutId = null;
|
|
@@ -2023,6 +2024,73 @@ class AegisPlacementManager {
|
|
|
2023
2024
|
return "#000000";
|
|
2024
2025
|
}
|
|
2025
2026
|
sanitizeHTML(html) {
|
|
2027
|
+
const purify = window.DOMPurify;
|
|
2028
|
+
if (purify == null ? void 0 : purify.sanitize) {
|
|
2029
|
+
return purify.sanitize(html, {
|
|
2030
|
+
ALLOWED_TAGS: [
|
|
2031
|
+
"a",
|
|
2032
|
+
"b",
|
|
2033
|
+
"br",
|
|
2034
|
+
"div",
|
|
2035
|
+
"em",
|
|
2036
|
+
"h1",
|
|
2037
|
+
"h2",
|
|
2038
|
+
"h3",
|
|
2039
|
+
"h4",
|
|
2040
|
+
"h5",
|
|
2041
|
+
"h6",
|
|
2042
|
+
"i",
|
|
2043
|
+
"img",
|
|
2044
|
+
"li",
|
|
2045
|
+
"ol",
|
|
2046
|
+
"p",
|
|
2047
|
+
"span",
|
|
2048
|
+
"strong",
|
|
2049
|
+
"u",
|
|
2050
|
+
"ul",
|
|
2051
|
+
"table",
|
|
2052
|
+
"thead",
|
|
2053
|
+
"tbody",
|
|
2054
|
+
"tr",
|
|
2055
|
+
"th",
|
|
2056
|
+
"td",
|
|
2057
|
+
"blockquote",
|
|
2058
|
+
"hr",
|
|
2059
|
+
"figure",
|
|
2060
|
+
"figcaption",
|
|
2061
|
+
"picture",
|
|
2062
|
+
"source",
|
|
2063
|
+
"video",
|
|
2064
|
+
"section",
|
|
2065
|
+
"article"
|
|
2066
|
+
],
|
|
2067
|
+
ALLOWED_ATTR: [
|
|
2068
|
+
"href",
|
|
2069
|
+
"target",
|
|
2070
|
+
"rel",
|
|
2071
|
+
"src",
|
|
2072
|
+
"alt",
|
|
2073
|
+
"width",
|
|
2074
|
+
"height",
|
|
2075
|
+
"class",
|
|
2076
|
+
"id",
|
|
2077
|
+
"style",
|
|
2078
|
+
"title",
|
|
2079
|
+
"loading",
|
|
2080
|
+
"srcset",
|
|
2081
|
+
"sizes",
|
|
2082
|
+
"type",
|
|
2083
|
+
"media",
|
|
2084
|
+
"controls",
|
|
2085
|
+
"poster"
|
|
2086
|
+
],
|
|
2087
|
+
ALLOW_DATA_ATTR: false
|
|
2088
|
+
});
|
|
2089
|
+
}
|
|
2090
|
+
this.log(
|
|
2091
|
+
'DOMPurify not found — falling back to built-in sanitizer. For full HTML placement support, add <script src="https://cdnjs.cloudflare.com/ajax/libs/dompurify/3.2.4/purify.min.js"><\/script>',
|
|
2092
|
+
false
|
|
2093
|
+
);
|
|
2026
2094
|
const tempDiv = document.createElement("div");
|
|
2027
2095
|
tempDiv.textContent = html;
|
|
2028
2096
|
return tempDiv.innerHTML;
|
|
@@ -4286,6 +4354,7 @@ export {
|
|
|
4286
4354
|
AegisPlacementManager,
|
|
4287
4355
|
AegisWebPush,
|
|
4288
4356
|
AegisWidgetManager,
|
|
4357
|
+
E as EcommerceTracker,
|
|
4289
4358
|
SdkConfigPoller,
|
|
4290
4359
|
TriggerEngine,
|
|
4291
4360
|
debounce,
|