@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.
@@ -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,EAA+B,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AAEpE,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;AAOD;;;;;GAKG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAOnC"}
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-rM_CdaF2MQckGCrla113SrR1oH4zvqN8xh2I95Z9tY8",
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.49";
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.ingestKey ?? opts.token;
715
+ const bearer = simple ? void 0 : opts.token ?? opts.ingestKey;
687
716
  if (bearer) headers.Authorization = `Bearer ${bearer}`;
688
- void fetch(simple ? appendQuery(url, "ingest_key", opts.ingestKey) : url, {
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 = token ? void 0 : this.cfg.ingestKey?.trim() || void 0;
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" || refused() ? [] : ["analytics", "marketing", "ads"];
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
- return () => window.removeEventListener(CONSENT_EVENT, on);
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()), () => "");