@hanzo/event 0.3.49 → 0.3.52
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/dist/consent.d.ts +19 -0
- package/dist/consent.d.ts.map +1 -1
- package/dist/core.d.ts.map +1 -1
- package/dist/index.cjs +90 -22
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +84 -23
- package/dist/index.mjs.map +1 -1
- package/dist/org.d.ts +10 -0
- package/dist/org.d.ts.map +1 -1
- package/dist/react.cjs +48 -16
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.ts.map +1 -1
- package/dist/react.mjs +48 -16
- package/dist/react.mjs.map +1 -1
- package/dist/tags.d.ts +6 -5
- package/dist/tags.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/consent.test.ts +60 -3
- package/src/consent.ts +67 -9
- package/src/core.test.ts +5 -5
- package/src/core.ts +15 -17
- package/src/index.ts +4 -4
- package/src/link.test.ts +4 -3
- package/src/org.test.ts +31 -2
- package/src/org.ts +39 -1
- package/src/react.tsx +6 -2
- package/src/tags.ts +28 -21
package/dist/react.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AAWA,OAAO,EACL,SAAS,EAOT,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,SAAS,EAAmB,MAAM,QAAQ,CAAA;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AAWA,OAAO,EACL,SAAS,EAOT,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,SAAS,EAAmB,MAAM,QAAQ,CAAA;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAA6C,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AAElF,QAAA,MAAM,GAAG,2CAAwC,CAAA;AAEjD,MAAM,WAAW,sBAAsB;IACrC,4DAA4D;IAC5D,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,6FAgB9D;AAED;gEACgE;AAChE,wBAAgB,YAAY,IAAI,SAAS,CAIxC;AAED;mFACmF;AACnF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAUjE;AAKD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,CAAA;IACnB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,IAAI,KAAK,SAAS,CAAC,CAAA;IACvE,mEAAmE;IACnE,MAAM,CAAC,EAAE,SAAS,CAAA;CACnB;AAED,UAAU,kBAAkB;IAC1B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACpB;AAED;;;;yBAIyB;AACzB,qBAAa,aAAc,SAAQ,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAClF,MAAM,CAAC,WAAW,4CAAM;IAChB,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,GAAG,CAAC,CAAA;IAC9C,KAAK,EAAE,kBAAkB,CAAkB;IAE3C,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,kBAAkB,CAEhE;IAED,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAMrD;IAED,OAAO,CAAC,KAAK,CAAuC;IAEpD,MAAM,IAAI,SAAS,CAMlB;CACF;AAWD;;;;;GAKG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAOnC"}
|
package/dist/react.mjs
CHANGED
|
@@ -104,10 +104,34 @@ var ORG_DOMAIN = Object.freeze({
|
|
|
104
104
|
zoo: Object.freeze(["zoo.ngo", "zoo.network", "zoolabs.id", "zoolabs.io"])
|
|
105
105
|
});
|
|
106
106
|
var ORG_KEY = Object.freeze({
|
|
107
|
-
hanzo: "pk-
|
|
107
|
+
hanzo: "pk-CmfLA2K6kvsPflrS9DSkt06H_kSoQB_21sjedt6VJdc",
|
|
108
108
|
lux: "pk-gUZp6ZVfhJzSwK-rb4oLbVkpCnMBx5uSCpxf_5yEhQk",
|
|
109
109
|
zoo: "pk-3TKpKnERV9AQSsBUERWkZejC1O1mUxc1jRzsP3MPbs4"
|
|
110
110
|
});
|
|
111
|
+
var SITE_KEY = Object.freeze({
|
|
112
|
+
"hanzo.ai": "pk-CmfLA2K6kvsPflrS9DSkt06H_kSoQB_21sjedt6VJdc",
|
|
113
|
+
"www.hanzo.ai": "pk-CmfLA2K6kvsPflrS9DSkt06H_kSoQB_21sjedt6VJdc",
|
|
114
|
+
"hanzo.app": "pk-wlnXN2a9_vmCm60yTFtQ629Q8TyuaxBNZbY1RWT72gQ",
|
|
115
|
+
"hanzo.team": "pk-NCzD2FiHpZv8KUpkCX4olT1LJOJsMxBC_Z8NkiQsOFQ",
|
|
116
|
+
"pay.hanzo.ai": "pk-eX6kv7JZNoiYn1WkeJH3tT_8OvkVYScmCXnLMwxTKf8",
|
|
117
|
+
"platform.hanzo.ai": "pk-My1RpZLEUnTj8vAdPbWKYdDUuhxZJ4dVjHcwjZN4rZ8",
|
|
118
|
+
"docs.hanzo.ai": "pk-jukhtjMT2ymoeBDAeFjINQWlBv-v9sNn1TPztiCrrwk",
|
|
119
|
+
"hanzo.bot": "pk-W5d7Mn7ZukT7igyscIy6Pqe8JpA0Ge604Yn4xNR4JCU",
|
|
120
|
+
"hanzo.chat": "pk-ATxWeB2jNyRSxDgqnkGoDj3CCbzrmTxSktUh9zlrO-E",
|
|
121
|
+
"hanzo.id": "pk-_GVF3KlaqprlPHDumBMRFeFU1lIGOaarQfgimNVDIo8",
|
|
122
|
+
"hanzo.industries": "pk-Vh1wvL2HqIAv9qpVvmrznTI9uMHrTD-jyIC-vnlBsgY",
|
|
123
|
+
"hanzo.market": "pk-DN3xQFa0H61epUVg9OkiOYLzCdteNt9hE6f-S-ednjQ",
|
|
124
|
+
"hanzo.network": "pk-YJ2eiA_7ckLStMPte8Ar8FsmRp_ycmeIeRbpGprZYmM",
|
|
125
|
+
"hanzo.agency": "pk-26a2clOaJFe24aKJZ0PkI-GWR9F4EEa8rthHzgy_Efw",
|
|
126
|
+
"console.hanzo.ai": "pk-oFNXoiO1wOD8PqGdHYyiSq6jaNCdrd7TpztGpwM2ZiQ",
|
|
127
|
+
"admin.hanzo.ai": "pk-RYZwxkomW-tlAnEu2DKo_kAzcxFbSF2YiYcsUY48QL0",
|
|
128
|
+
"bot.hanzo.ai": "pk-W5d7Mn7ZukT7igyscIy6Pqe8JpA0Ge604Yn4xNR4JCU",
|
|
129
|
+
"cloud.hanzo.ai": "pk-RAfEGHPoNdCEU9fnA_cPd_Xo9Tci44rlYQV9xuJ1Ob0"
|
|
130
|
+
});
|
|
131
|
+
function siteKey(host) {
|
|
132
|
+
const h = normalize(host).replace(/^www\./, "");
|
|
133
|
+
return SITE_KEY[h] ?? (h.endsWith(".hanzo.app") ? SITE_KEY["hanzo.app"] : void 0);
|
|
134
|
+
}
|
|
111
135
|
var PUBLISHABLE = "pk-";
|
|
112
136
|
var normalize = (host) => host.trim().toLowerCase().replace(/\.$/, "").split(":")[0] ?? "";
|
|
113
137
|
function orgOf(host) {
|
|
@@ -126,6 +150,10 @@ function orgOf(host) {
|
|
|
126
150
|
return best;
|
|
127
151
|
}
|
|
128
152
|
function keyFor(host, keyring = ORG_KEY) {
|
|
153
|
+
if (keyring === ORG_KEY) {
|
|
154
|
+
const site = siteKey(host);
|
|
155
|
+
if (site) return site;
|
|
156
|
+
}
|
|
129
157
|
const org = orgOf(host);
|
|
130
158
|
if (!org) return void 0;
|
|
131
159
|
const key = keyring[org];
|
|
@@ -621,7 +649,7 @@ function stripLink(href) {
|
|
|
621
649
|
}
|
|
622
650
|
|
|
623
651
|
// package.json
|
|
624
|
-
var version = "0.3.
|
|
652
|
+
var version = "0.3.52";
|
|
625
653
|
|
|
626
654
|
// src/version.ts
|
|
627
655
|
var VERSION = version;
|
|
@@ -645,6 +673,7 @@ function normalizeError2(err) {
|
|
|
645
673
|
const frames = framesFromStack(n.stack).slice(-50).map((f) => ({ function: f.function, file: f.filename, line: f.lineno, column: f.colno }));
|
|
646
674
|
return { type: n.name, message: n.message, stack: n.stack, frames };
|
|
647
675
|
}
|
|
676
|
+
var viewport = () => isBrowser() ? { screen: `${window.screen?.width ?? 0}x${window.screen?.height ?? 0}`, language: navigator.language || "" } : {};
|
|
648
677
|
var isBrowser = () => typeof window !== "undefined" && typeof document !== "undefined";
|
|
649
678
|
function serializeBatch(batch) {
|
|
650
679
|
try {
|
|
@@ -679,13 +708,13 @@ var DefaultTransport = class {
|
|
|
679
708
|
}
|
|
680
709
|
}
|
|
681
710
|
if (typeof fetch !== "function") return;
|
|
682
|
-
const simple = opts.ingestKey !== void 0 && opts.contentType === void 0;
|
|
711
|
+
const simple = opts.ingestKey !== void 0 && opts.token === void 0 && opts.contentType === void 0;
|
|
683
712
|
const headers = {
|
|
684
713
|
"Content-Type": simple ? BEACON_CONTENT_TYPE : opts.contentType ?? "application/json"
|
|
685
714
|
};
|
|
686
|
-
const bearer = simple ? void 0 : opts.
|
|
715
|
+
const bearer = simple ? void 0 : opts.token ?? opts.ingestKey;
|
|
687
716
|
if (bearer) headers.Authorization = `Bearer ${bearer}`;
|
|
688
|
-
void fetch(
|
|
717
|
+
void fetch(opts.ingestKey ? appendQuery(url, "ingest_key", opts.ingestKey) : url, {
|
|
689
718
|
method: "POST",
|
|
690
719
|
headers,
|
|
691
720
|
body,
|
|
@@ -825,7 +854,7 @@ var Analytics = class {
|
|
|
825
854
|
const view = (p ?? "") + "\0" + (isBrowser() ? window.location.href : "");
|
|
826
855
|
if (view === this.counted) return;
|
|
827
856
|
this.counted = view;
|
|
828
|
-
this.enqueue("pageview", PAGEVIEW, { path: p, properties });
|
|
857
|
+
this.enqueue("pageview", PAGEVIEW, { path: p, properties: { ...viewport(), ...properties } });
|
|
829
858
|
}
|
|
830
859
|
/** capture records a named product event with optional properties. Commerce
|
|
831
860
|
* fields (productId/quantity/revenue/currency) may be passed for order events. */
|
|
@@ -881,7 +910,7 @@ var Analytics = class {
|
|
|
881
910
|
this.queue = [];
|
|
882
911
|
this.clearTimer();
|
|
883
912
|
const token = this.cfg.getToken?.() ?? void 0;
|
|
884
|
-
const key =
|
|
913
|
+
const key = this.cfg.ingestKey?.trim() || void 0;
|
|
885
914
|
const useBeacon = beacon && !token;
|
|
886
915
|
const body = serializeBatch(batch);
|
|
887
916
|
if (body === null) {
|
|
@@ -991,18 +1020,13 @@ function get(name) {
|
|
|
991
1020
|
|
|
992
1021
|
// src/consent.ts
|
|
993
1022
|
var CONSENT_COOKIE = "hz_consent";
|
|
1023
|
+
var POLICY_EVENT = "hzpolicy";
|
|
994
1024
|
var CONSENT_EVENT = "hzconsent";
|
|
995
1025
|
var US = /^(America\/(New_York|Chicago|Denver|Los_Angeles|Phoenix|Anchorage|Adak|Boise|Detroit|Juneau|Sitka|Nome|Yakutat|Menominee|Metlakatla|Indiana\/.*|Kentucky\/.*|North_Dakota\/.*)|Pacific\/Honolulu|US\/.*)$/;
|
|
996
1026
|
function gpc() {
|
|
997
1027
|
if (typeof navigator === "undefined") return false;
|
|
998
1028
|
return navigator.globalPrivacyControl === true;
|
|
999
1029
|
}
|
|
1000
|
-
function refused() {
|
|
1001
|
-
if (typeof window === "undefined") return false;
|
|
1002
|
-
const n = navigator;
|
|
1003
|
-
const dnt = n.doNotTrack ?? window.doNotTrack ?? n.msDoNotTrack;
|
|
1004
|
-
return gpc() || dnt === "1" || dnt === "yes";
|
|
1005
|
-
}
|
|
1006
1030
|
function region() {
|
|
1007
1031
|
try {
|
|
1008
1032
|
const zone = Intl.DateTimeFormat().resolvedOptions().timeZone ?? "";
|
|
@@ -1011,9 +1035,13 @@ function region() {
|
|
|
1011
1035
|
return "opt-in";
|
|
1012
1036
|
}
|
|
1013
1037
|
}
|
|
1038
|
+
function stored() {
|
|
1039
|
+
if (get(CONSENT_COOKIE) === void 0) return false;
|
|
1040
|
+
return true;
|
|
1041
|
+
}
|
|
1014
1042
|
function read2() {
|
|
1015
|
-
const kept = get(CONSENT_COOKIE);
|
|
1016
|
-
const on = kept !== void 0 ? kept.split(",") : region() === "opt-in"
|
|
1043
|
+
const kept = stored() ? get(CONSENT_COOKIE) : void 0;
|
|
1044
|
+
const on = kept !== void 0 ? kept.split(",") : region() === "opt-in" ? [] : gpc() ? ["analytics"] : ["analytics", "marketing", "ads"];
|
|
1017
1045
|
const has = (k) => on.includes(k);
|
|
1018
1046
|
return { analytics: has("analytics"), marketing: has("marketing") && !gpc(), ads: has("ads") && !gpc() };
|
|
1019
1047
|
}
|
|
@@ -1077,7 +1105,11 @@ var ErrorBoundary = class extends Component {
|
|
|
1077
1105
|
ErrorBoundary.contextType = Ctx;
|
|
1078
1106
|
var listen = (on) => {
|
|
1079
1107
|
window.addEventListener(CONSENT_EVENT, on);
|
|
1080
|
-
|
|
1108
|
+
window.addEventListener(POLICY_EVENT, on);
|
|
1109
|
+
return () => {
|
|
1110
|
+
window.removeEventListener(CONSENT_EVENT, on);
|
|
1111
|
+
window.removeEventListener(POLICY_EVENT, on);
|
|
1112
|
+
};
|
|
1081
1113
|
};
|
|
1082
1114
|
function useConsent() {
|
|
1083
1115
|
const kept = useSyncExternalStore(listen, () => render(read2()), () => "");
|