@zerohash-sdk/profile-react 0.5.0 → 0.5.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.
Files changed (2) hide show
  1. package/dist/index.js +125 -115
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,43 +1,6 @@
1
- import { jsxs as W, jsx as g } from "react/jsx-runtime";
2
- import A, { useEffect as B, useState as T, useCallback as j, useRef as M } from "react";
3
- const y = {
4
- evergreen: "#00381D",
5
- green: "#CCFFD0",
6
- offBlack: "#1C1B1C",
7
- grayLight: "#EBEBE9"
8
- }, D = ({ onRetry: e }) => W("div", { role: "alert", style: {
9
- display: "flex",
10
- flexDirection: "column",
11
- alignItems: "center",
12
- gap: "8px",
13
- maxWidth: "360px",
14
- margin: "0 auto",
15
- padding: "32px 24px",
16
- textAlign: "center",
17
- fontFamily: "inherit",
18
- color: y.offBlack,
19
- background: "#FFFFFF",
20
- border: `1px solid ${y.grayLight}`,
21
- borderRadius: "12px"
22
- }, children: [g("svg", { width: "32", height: "32", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: g("path", { d: "M12 9v4m0 4h.01M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z", stroke: y.evergreen, strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }), g("p", { style: { margin: 0, fontSize: "16px", fontWeight: 600 }, children: "Something went wrong" }), g("p", { style: { margin: 0, fontSize: "14px", opacity: 0.75 }, children: "We couldn't load this content. Please check your internet connection and try again." }), g("button", { type: "button", onClick: e, style: {
23
- marginTop: "8px",
24
- padding: "8px 20px",
25
- fontSize: "14px",
26
- fontWeight: 600,
27
- fontFamily: "inherit",
28
- color: y.green,
29
- background: y.evergreen,
30
- border: "none",
31
- borderRadius: "8px",
32
- cursor: "pointer"
33
- }, children: "Try again" })] }), P = (e, t) => {
34
- B(() => {
35
- const o = e.current;
36
- if (o)
37
- for (const [r, n] of Object.entries(t))
38
- n !== void 0 && (o[r] = n);
39
- });
40
- }, V = {
1
+ import { jsxs as W, jsx as h } from "react/jsx-runtime";
2
+ import j, { useEffect as B, useState as z, useCallback as D, useRef as M } from "react";
3
+ const $ = {
41
4
  dev: "https://grafana-faro-collector.dev.0hash.com/collect",
42
5
  cert: "https://grafana-faro-collector.cert.zerohash.com/collect",
43
6
  prod: "https://grafana-faro-collector.zerohash.com/collect",
@@ -45,34 +8,34 @@ const y = {
45
8
  "eu-prod": "https://grafana-faro-collector.zerohash.eu/collect",
46
9
  sandbox: "https://grafana-faro-collector.cert.zerohash.com/collect",
47
10
  production: "https://grafana-faro-collector.zerohash.com/collect"
48
- }, J = (e) => {
11
+ }, P = (e) => {
49
12
  if (!e || typeof e != "string")
50
13
  return null;
51
14
  const t = e.split(".");
52
15
  if (t.length < 2)
53
16
  return null;
54
17
  try {
55
- const o = t[1].replace(/-/g, "+").replace(/_/g, "/"), r = o + "===".slice(0, (4 - o.length % 4) % 4), n = typeof atob < "u" ? atob(r) : Buffer.from(r, "base64").toString("utf-8"), c = JSON.parse(n)?.payload?.region;
18
+ const o = t[1].replace(/-/g, "+").replace(/_/g, "/"), r = o + "===".slice(0, (4 - o.length % 4) % 4), a = typeof atob < "u" ? atob(r) : Buffer.from(r, "base64").toString("utf-8"), c = JSON.parse(a)?.payload?.region;
56
19
  if (typeof c != "string")
57
20
  return null;
58
- const a = c.toLowerCase();
59
- return a === "us" || a === "eu" ? a : null;
21
+ const n = c.toLowerCase();
22
+ return n === "us" || n === "eu" ? n : null;
60
23
  } catch {
61
24
  return null;
62
25
  }
63
- }, I = (e, t) => J(t) !== "eu" ? e : e === "cert" ? "eu-cert" : e === "prod" ? "eu-prod" : e, $ = (e) => {
26
+ }, I = (e, t) => P(t) !== "eu" ? e : e === "cert" ? "eu-cert" : e === "prod" ? "eu-prod" : e, V = (e) => {
64
27
  if (!e || typeof e != "string")
65
28
  return {};
66
29
  const t = e.split(".");
67
30
  if (t.length < 2)
68
31
  return {};
69
32
  try {
70
- const o = t[1].replace(/-/g, "+").replace(/_/g, "/"), r = o + "===".slice(0, (4 - o.length % 4) % 4), n = typeof atob < "u" ? atob(r) : Buffer.from(r, "base64").toString("utf-8"), i = JSON.parse(n), c = i?.payload ?? {}, a = (s) => typeof s == "string" && s.length > 0 ? s : void 0;
33
+ const o = t[1].replace(/-/g, "+").replace(/_/g, "/"), r = o + "===".slice(0, (4 - o.length % 4) % 4), a = typeof atob < "u" ? atob(r) : Buffer.from(r, "base64").toString("utf-8"), i = JSON.parse(a), c = i?.payload ?? {}, n = (s) => typeof s == "string" && s.length > 0 ? s : void 0;
71
34
  return {
72
- participantCode: a(c.participant_code),
73
- platformName: a(c.platform_name),
74
- platformCode: a(i.platform_code),
75
- region: a(c.region)
35
+ participantCode: n(c.participant_code),
36
+ platformName: n(c.platform_name),
37
+ platformCode: n(i.platform_code),
38
+ region: n(c.region)
76
39
  };
77
40
  } catch {
78
41
  return {};
@@ -80,20 +43,20 @@ const y = {
80
43
  }, L = (e, t, o) => {
81
44
  const r = I(t, o);
82
45
  return e[r] ?? e[t] ?? e.prod;
83
- }, K = (e, t, o) => {
46
+ }, J = (e, t, o) => {
84
47
  const r = I(t, o);
85
48
  return e[r] ?? e[t];
86
- }, C = () => {
49
+ }, x = () => {
87
50
  }, H = () => {
88
51
  const e = new Uint8Array(8);
89
52
  return globalThis.crypto.getRandomValues(e), Array.from(e, (t) => t.toString(16).padStart(2, "0")).join("");
90
- }, G = (e, t) => {
91
- const o = H(), r = globalThis.__ZH_WEB_SDK_VERSION__, n = {};
92
- e.claims.participantCode && (n.participant_code = e.claims.participantCode), e.claims.platformName && (n.platform_name = e.claims.platformName), e.claims.platformCode && (n.platform_code = e.claims.platformCode), e.claims.region && (n.region = e.claims.region), r && (n.zh_web_sdk_version = r);
53
+ }, K = (e, t) => {
54
+ const o = H(), r = globalThis.__ZH_WEB_SDK_VERSION__, a = {};
55
+ e.claims.participantCode && (a.participant_code = e.claims.participantCode), e.claims.platformName && (a.platform_name = e.claims.platformName), e.claims.platformCode && (a.platform_code = e.claims.platformCode), e.claims.region && (a.region = e.claims.region), r && (a.zh_web_sdk_version = r);
93
56
  const i = {
94
57
  meta: {
95
58
  app: { name: e.appName, version: t ?? "unknown", environment: e.env },
96
- session: { id: o, attributes: n },
59
+ session: { id: o, attributes: a },
97
60
  browser: typeof navigator < "u" ? { userAgent: navigator.userAgent } : void 0,
98
61
  page: typeof window < "u" ? { url: window.location.origin } : void 0
99
62
  },
@@ -113,78 +76,130 @@ const y = {
113
76
  ]
114
77
  };
115
78
  return { sessionId: o, payload: i };
116
- }, Z = (e, t, o) => {
79
+ }, G = (e, t, o) => {
117
80
  if (!e || typeof fetch > "u")
118
81
  return;
119
- const { sessionId: r, payload: n } = G(t, o);
82
+ const { sessionId: r, payload: a } = K(t, o);
120
83
  try {
121
84
  fetch(e, {
122
85
  method: "POST",
123
86
  headers: { "Content-Type": "application/json", "x-faro-session-id": r },
124
- body: JSON.stringify(n),
87
+ body: JSON.stringify(a),
125
88
  keepalive: !0
126
89
  }).catch(() => {
127
90
  });
128
91
  } catch {
129
92
  }
130
- }, q = (e) => {
131
- const { webComponentTag: t, appName: o, appVersion: r, scriptUrls: n, fallbackScriptUrls: i, collectorUrls: c, env: a, jwt: s, timeoutMs: f = 15e3, onLoad: h, onError: b } = e;
93
+ }, Z = (e) => {
94
+ const { webComponentTag: t, appName: o, appVersion: r, scriptUrls: a, fallbackScriptUrls: i, collectorUrls: c, env: n, jwt: s, timeoutMs: f = 15e3, onLoad: y, onError: b } = e;
132
95
  if (typeof document > "u")
133
- return C;
134
- const u = `${t}-script-${a}`;
135
- if (customElements.get(t) || document.getElementById(u))
136
- return C;
137
- const R = $(s), S = e.report ?? ((d) => Z(c && K(c, a, s), d, r));
138
- let p = !1, O = 0, x;
139
- const _ = () => {
140
- x !== void 0 && clearTimeout(x);
141
- }, v = (d, m, l) => {
142
- if (p)
96
+ return x;
97
+ const m = `${t}-script-${n}`;
98
+ if (customElements.get(t) || document.getElementById(m))
99
+ return x;
100
+ const S = V(s), v = e.report ?? ((d) => G(c && J(c, n, s), d, r));
101
+ let u = !1, w = 0, C;
102
+ const R = () => {
103
+ C !== void 0 && clearTimeout(C);
104
+ }, k = (d, g, l) => {
105
+ if (u)
143
106
  return;
144
- const U = Math.round(performance.now() - O), N = {
107
+ const U = Math.round(performance.now() - w), T = {
145
108
  webComponentTag: t,
146
109
  appName: o,
147
- env: a,
148
- scriptUrl: m,
110
+ env: n,
111
+ scriptUrl: g,
149
112
  reason: d,
150
113
  triedFallback: l,
151
114
  elapsedMs: U,
152
- claims: R
115
+ claims: S
153
116
  };
154
- S(N);
155
- const w = l ? void 0 : L(i ?? {}, a, s);
156
- if (w && w !== m) {
157
- k(w, !0);
117
+ v(T);
118
+ const O = l ? void 0 : L(i ?? {}, n, s);
119
+ if (O && O !== g) {
120
+ E(O, !0);
158
121
  return;
159
122
  }
160
- p = !0, _(), document.getElementById(u)?.remove(), b?.(N);
161
- }, k = (d, m) => {
162
- _(), O = performance.now();
123
+ u = !0, R(), document.getElementById(m)?.remove(), b?.(T);
124
+ }, E = (d, g) => {
125
+ R(), w = performance.now();
163
126
  const l = document.createElement("script");
164
- l.id = u, l.src = d, l.type = "module", l.async = !0, l.onload = () => {
127
+ l.id = m, l.src = d, l.type = "module", l.async = !0, l.onload = () => {
165
128
  setTimeout(() => {
166
- p || (customElements.get(t) ? (p = !0, _(), h?.()) : v("not-defined", d, m));
129
+ u || (customElements.get(t) ? (u = !0, R(), y?.()) : k("not-defined", d, g));
167
130
  }, 0);
168
- }, l.onerror = () => v("network", d, m), x = setTimeout(() => v("timeout", d, m), f), document.getElementById(u)?.remove(), document.head.appendChild(l);
169
- }, E = L(n, a, s);
170
- return E ? (k(E, !1), () => {
171
- p = !0, _();
172
- }) : C;
131
+ }, l.onerror = () => k("network", d, g), C = setTimeout(() => k("timeout", d, g), f), document.getElementById(m)?.remove(), document.head.appendChild(l);
132
+ }, N = L(a, n, s);
133
+ return N ? (E(N, !1), () => {
134
+ u = !0, R();
135
+ }) : x;
136
+ }, p = {
137
+ local: "http://localhost:5173",
138
+ dev: "https://sdk-cdn.dev.0hash.com",
139
+ cert: "https://sdk-cdn.cert.zerohash.com",
140
+ prod: "https://sdk-cdn.zerohash.com",
141
+ "eu-cert": "https://sdk-cdn.cert.zerohash.eu",
142
+ "eu-prod": "https://sdk-cdn.zerohash.eu"
143
+ }, q = (e, t, o = {}) => {
144
+ const { eu: r = !1, legacyAliases: a = !1, local: i = p.local } = o, c = (s) => `${s}/${e}/${t}`, n = {
145
+ local: c(i),
146
+ dev: c(p.dev),
147
+ cert: c(p.cert),
148
+ prod: c(p.prod)
149
+ };
150
+ return a && (n.sandbox = c(p.cert), n.production = c(p.prod)), r && (n["eu-cert"] = c(p["eu-cert"]), n["eu-prod"] = c(p["eu-prod"])), n;
173
151
  };
174
152
  var F;
175
153
  (function(e) {
176
154
  e.NETWORK_ERROR = "network_error", e.AUTH_ERROR = "auth_error", e.NOT_FOUND_ERROR = "not_found_error", e.VALIDATION_ERROR = "validation_error", e.SERVER_ERROR = "server_error", e.CLIENT_ERROR = "client_error", e.UNKNOWN_ERROR = "unknown_error";
177
155
  })(F || (F = {}));
178
- const Q = (e) => {
179
- const { webComponentTag: t, appName: o, appVersion: r, scriptUrls: n, fallbackScriptUrls: i, collectorUrls: c, env: a, jwt: s, timeoutMs: f } = e, [h, b] = T(!1), [u, R] = T(0);
180
- B(() => (b(!1), q({
156
+ const _ = {
157
+ evergreen: "#00381D",
158
+ green: "#CCFFD0",
159
+ offBlack: "#1C1B1C",
160
+ grayLight: "#EBEBE9"
161
+ }, Q = ({ onRetry: e }) => W("div", { role: "alert", style: {
162
+ display: "flex",
163
+ flexDirection: "column",
164
+ alignItems: "center",
165
+ gap: "8px",
166
+ maxWidth: "360px",
167
+ margin: "0 auto",
168
+ padding: "32px 24px",
169
+ textAlign: "center",
170
+ fontFamily: "inherit",
171
+ color: _.offBlack,
172
+ background: "#FFFFFF",
173
+ border: `1px solid ${_.grayLight}`,
174
+ borderRadius: "12px"
175
+ }, children: [h("svg", { width: "32", height: "32", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: h("path", { d: "M12 9v4m0 4h.01M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z", stroke: _.evergreen, strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }), h("p", { style: { margin: 0, fontSize: "16px", fontWeight: 600 }, children: "Something went wrong" }), h("p", { style: { margin: 0, fontSize: "14px", opacity: 0.75 }, children: "We couldn't load this content. Please check your internet connection and try again." }), h("button", { type: "button", onClick: e, style: {
176
+ marginTop: "8px",
177
+ padding: "8px 20px",
178
+ fontSize: "14px",
179
+ fontWeight: 600,
180
+ fontFamily: "inherit",
181
+ color: _.green,
182
+ background: _.evergreen,
183
+ border: "none",
184
+ borderRadius: "8px",
185
+ cursor: "pointer"
186
+ }, children: "Try again" })] }), X = (e, t) => {
187
+ B(() => {
188
+ const o = e.current;
189
+ if (o)
190
+ for (const [r, a] of Object.entries(t))
191
+ a !== void 0 && (o[r] = a);
192
+ });
193
+ }, Y = (e) => {
194
+ const { webComponentTag: t, appName: o, appVersion: r, scriptUrls: a, fallbackScriptUrls: i, collectorUrls: c, env: n, jwt: s, timeoutMs: f } = e, [y, b] = z(!1), [m, S] = z(0);
195
+ B(() => (b(!1), Z({
181
196
  webComponentTag: t,
182
197
  appName: o ?? t,
183
198
  appVersion: r,
184
- scriptUrls: n,
199
+ scriptUrls: a,
185
200
  fallbackScriptUrls: i,
186
- collectorUrls: c ?? V,
187
- env: a,
201
+ collectorUrls: c ?? $,
202
+ env: n,
188
203
  jwt: s,
189
204
  timeoutMs: f,
190
205
  onError: () => b(!0)
@@ -192,47 +207,42 @@ const Q = (e) => {
192
207
  t,
193
208
  o,
194
209
  r,
195
- n,
210
+ a,
196
211
  i,
197
212
  c,
198
- a,
213
+ n,
199
214
  s,
200
215
  f,
201
- u
216
+ m
202
217
  ]);
203
- const S = j(() => R((p) => p + 1), []);
204
- return { loadFailed: h, retry: S };
205
- }, X = {
206
- local: "http://localhost:5173/profile-web/index.js",
207
- dev: "https://connect-sdk.dev.0hash.com/profile-web/index.js",
208
- cert: "https://sdk.sandbox.connect.xyz/profile-web/index.js",
209
- prod: "https://sdk.connect.xyz/profile-web/index.js"
210
- }, z = "zerohash-profile", te = ({
218
+ const v = D(() => S((u) => u + 1), []);
219
+ return { loadFailed: y, retry: v };
220
+ }, ee = q("profile-web", "index.js"), A = "zerohash-profile", re = ({
211
221
  jwt: e,
212
222
  env: t = "prod",
213
223
  theme: o,
214
224
  onError: r,
215
- onClose: n,
225
+ onClose: a,
216
226
  onLoaded: i,
217
227
  onEvent: c,
218
- ...a
228
+ ...n
219
229
  }) => {
220
230
  const s = M(null);
221
- P(s, { theme: o, onError: r, onClose: n, onLoaded: i, onEvent: c });
222
- const { loadFailed: f, retry: h } = Q({
223
- webComponentTag: z,
224
- scriptUrls: X,
231
+ X(s, { theme: o, onError: r, onClose: a, onLoaded: i, onEvent: c });
232
+ const { loadFailed: f, retry: y } = Y({
233
+ webComponentTag: A,
234
+ scriptUrls: ee,
225
235
  env: t,
226
236
  jwt: e
227
237
  });
228
- return f ? /* @__PURE__ */ g(D, { onRetry: h }) : A.createElement(z, {
238
+ return f ? /* @__PURE__ */ h(Q, { onRetry: y }) : j.createElement(A, {
229
239
  ref: s,
230
240
  jwt: e,
231
241
  env: t,
232
242
  theme: o,
233
- ...a
243
+ ...n
234
244
  });
235
245
  };
236
246
  export {
237
- te as Profile
247
+ re as Profile
238
248
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zerohash-sdk/profile-react",
3
- "version": "0.5.0",
3
+ "version": "0.5.2",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",