flowgrid-sdk 1.7.1 → 1.7.3

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 (39) hide show
  1. package/README.md +94 -129
  2. package/dist/browser.d.ts +3 -0
  3. package/dist/browser.js +39 -0
  4. package/dist/browser.js.map +1 -1
  5. package/dist/flowgrid.min.js +1 -1
  6. package/dist/flowgrid.min.js.map +1 -1
  7. package/dist/index.d.ts +4 -4
  8. package/dist/index.js +4 -2
  9. package/dist/index.js.map +1 -1
  10. package/dist/lib/consent/declarativeBanner.d.ts +73 -0
  11. package/dist/lib/consent/declarativeBanner.js +260 -0
  12. package/dist/lib/consent/declarativeBanner.js.map +1 -0
  13. package/dist/lib/consent/index.d.ts +2 -0
  14. package/dist/lib/consent/index.js +3 -1
  15. package/dist/lib/consent/index.js.map +1 -1
  16. package/dist/lib/consent/manager.js +6 -1
  17. package/dist/lib/consent/manager.js.map +1 -1
  18. package/dist/lib/consent/types.d.ts +31 -1
  19. package/dist/lib/features/core/activation.d.ts +10 -0
  20. package/dist/lib/features/core/activation.js +19 -0
  21. package/dist/lib/features/core/activation.js.map +1 -1
  22. package/dist/lib/features/core/declarativeExperiments.d.ts +4 -0
  23. package/dist/lib/features/core/declarativeExperiments.js +23 -1
  24. package/dist/lib/features/core/declarativeExperiments.js.map +1 -1
  25. package/dist/lib/flowgrid.d.ts +40 -1
  26. package/dist/lib/flowgrid.js +31 -4
  27. package/dist/lib/flowgrid.js.map +1 -1
  28. package/dist/lib/helpers/consent.d.ts +53 -2
  29. package/dist/lib/helpers/consent.js +339 -8
  30. package/dist/lib/helpers/consent.js.map +1 -1
  31. package/dist/lib/helpers/index.d.ts +2 -2
  32. package/dist/lib/helpers/index.js +2 -1
  33. package/dist/lib/helpers/index.js.map +1 -1
  34. package/dist/lib/tracking/core/activation.d.ts +2 -0
  35. package/dist/lib/tracking/core/activation.js +4 -0
  36. package/dist/lib/tracking/core/activation.js.map +1 -1
  37. package/dist/umd/index.js +1 -1
  38. package/dist/umd/index.js.map +1 -1
  39. package/package.json +1 -1
@@ -22,7 +22,8 @@
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
23
  exports.setupConsent = setupConsent;
24
24
  exports.attachConsentBanner = attachConsentBanner;
25
- const consent_1 = require("../consent");
25
+ exports.renderConsentBanner = renderConsentBanner;
26
+ const manager_1 = require("../consent/manager");
26
27
  const transport_1 = require("../client/transport");
27
28
  /**
28
29
  * Create a {@link ConsentManager} that keeps FlowGrid's transport-level consent
@@ -44,7 +45,7 @@ const transport_1 = require("../client/transport");
44
45
  */
45
46
  function setupConsent(config) {
46
47
  const userOnChange = config?.onChange;
47
- const manager = new consent_1.ConsentManager({
48
+ const manager = new manager_1.ConsentManager({
48
49
  ...config,
49
50
  onChange: (prefs) => {
50
51
  syncTransport(prefs);
@@ -84,8 +85,8 @@ function syncTransport(prefs) {
84
85
  function attachConsentBanner(options) {
85
86
  if (typeof document === "undefined")
86
87
  return null;
87
- const { bannerId = "cookie-banner", acceptId = "accept-btn", rejectId = "reject-btn", manager: providedManager, ...consentConfig } = options ?? {};
88
- const banner = document.getElementById(bannerId);
88
+ const { bannerId = "cookie-banner", container, acceptId = "accept-btn", rejectId = "reject-btn", forceShow = false, manager: providedManager, ...consentConfig } = options ?? {};
89
+ const banner = container ?? document.getElementById(bannerId);
89
90
  if (!banner)
90
91
  return null;
91
92
  const manager = providedManager ?? setupConsent(consentConfig);
@@ -95,8 +96,22 @@ function attachConsentBanner(options) {
95
96
  const hide = () => {
96
97
  banner.style.display = "none";
97
98
  };
98
- const acceptBtn = banner.querySelector(`#${acceptId}`);
99
- const rejectBtn = banner.querySelector(`#${rejectId}`);
99
+ // Resolve controls by data-role first (no-code BYO-markup contract), falling
100
+ // back to the legacy element ids so existing integrations keep working.
101
+ const acceptBtn = banner.querySelector("[data-cc-accept]") ?? banner.querySelector(`#${acceptId}`);
102
+ const rejectBtn = banner.querySelector("[data-cc-reject]") ?? banner.querySelector(`#${rejectId}`);
103
+ const customizeBtn = banner.querySelector("[data-cc-customize]");
104
+ const saveBtn = banner.querySelector("[data-cc-save]");
105
+ const toggleEls = Array.from(banner.querySelectorAll("[data-cc-toggle]"));
106
+ const reflectToggles = () => {
107
+ const prefs = manager.getPreferences();
108
+ for (const el of toggleEls) {
109
+ const cat = el.getAttribute("data-cc-toggle");
110
+ if (cat === "analytics" || cat === "marketing" || cat === "preferences") {
111
+ el.checked = !!prefs[cat];
112
+ }
113
+ }
114
+ };
100
115
  const onAccept = () => {
101
116
  manager.acceptAll();
102
117
  hide();
@@ -105,10 +120,29 @@ function attachConsentBanner(options) {
105
120
  manager.rejectNonEssential();
106
121
  hide();
107
122
  };
123
+ const onSave = () => {
124
+ const updates = {};
125
+ for (const el of toggleEls) {
126
+ const cat = el.getAttribute("data-cc-toggle");
127
+ if (cat === "analytics" || cat === "marketing" || cat === "preferences") {
128
+ updates[cat] = el.checked;
129
+ }
130
+ }
131
+ manager.update(updates);
132
+ hide();
133
+ };
134
+ // Reveal save button + per-category toggles when the visitor opts to customise.
135
+ const onCustomize = () => {
136
+ saveBtn?.removeAttribute("hidden");
137
+ toggleEls.forEach((el) => el.closest("[data-cc-row]")?.removeAttribute("hidden"));
138
+ };
108
139
  acceptBtn?.addEventListener("click", onAccept);
109
140
  rejectBtn?.addEventListener("click", onReject);
110
- // Only prompt visitors who haven't made a choice yet.
111
- if (manager.hasConsented())
141
+ saveBtn?.addEventListener("click", onSave);
142
+ customizeBtn?.addEventListener("click", onCustomize);
143
+ reflectToggles();
144
+ // Only prompt visitors who haven't made a choice yet (unless forced open).
145
+ if (manager.hasConsented() && !forceShow)
112
146
  hide();
113
147
  else
114
148
  show();
@@ -119,7 +153,304 @@ function attachConsentBanner(options) {
119
153
  destroy() {
120
154
  acceptBtn?.removeEventListener("click", onAccept);
121
155
  rejectBtn?.removeEventListener("click", onReject);
156
+ saveBtn?.removeEventListener("click", onSave);
157
+ customizeBtn?.removeEventListener("click", onCustomize);
158
+ },
159
+ };
160
+ }
161
+ // Resolved theme defaults — used when the caller omits `theme` fields.
162
+ const DEFAULT_BANNER_THEME = {
163
+ position: "bottom",
164
+ primaryColor: "#4F46E5",
165
+ backgroundColor: "#FFFFFF",
166
+ textColor: "#1F2937",
167
+ borderRadius: "12px",
168
+ fontFamily: "system-ui, -apple-system, Segoe UI, Roboto, sans-serif",
169
+ zIndex: 2147483000,
170
+ };
171
+ /**
172
+ * Render a fully self-contained, configurable consent banner — **no markup
173
+ * required**. FlowGrid injects the banner into the DOM, wires the buttons, and
174
+ * keeps the transport-level consent gates in sync via {@link setupConsent}.
175
+ *
176
+ * Because it builds on {@link setupConsent} (which defaults
177
+ * `requireExplicitConsent: false`), it is **opt-out by default**: analytics &
178
+ * marketing events — including session-replay chunks — keep flowing unless the
179
+ * visitor declines. Pass `mode: 'opt-in'` (or `requireExplicitConsent: true`)
180
+ * to block non-essential tracking until the visitor clicks *Accept*. Necessary
181
+ * cookies always run.
182
+ *
183
+ * SSR-safe: returns `null` when there is no `document`.
184
+ *
185
+ * @param options - {@link ConsentConfig} (cookie name, DNT, …) merged with
186
+ * {@link CookieBannerConfig} (copy, labels, privacy link, theme).
187
+ * @returns A {@link ConsentBannerHandle} (`{ manager, show, hide, destroy }`),
188
+ * or `null` during SSR. Keep it to power a "Manage cookies" link via `show()`.
189
+ *
190
+ * @example
191
+ * ```ts
192
+ * import { renderConsentBanner } from "flowgrid-sdk";
193
+ *
194
+ * const banner = renderConsentBanner({
195
+ * title: "We value your privacy",
196
+ * description: "We use cookies to analyse traffic and improve your experience.",
197
+ * privacyPolicyUrl: "/privacy",
198
+ * theme: { position: "bottom-right", primaryColor: "#EBF212" },
199
+ * });
200
+ *
201
+ * // Footer "Manage cookies" link:
202
+ * document.getElementById("manage-cookies")?.addEventListener("click", () => banner?.show());
203
+ * ```
204
+ */
205
+ function renderConsentBanner(options) {
206
+ if (typeof document === "undefined")
207
+ return null;
208
+ const {
209
+ // CookieBannerConfig
210
+ mode, categories, unstyled = false, manageSelector, title = "Cookie preferences", description = "We use cookies to analyse traffic, remember your preferences, and improve your experience. You can accept all, reject non-essential, or choose which categories to allow.", acceptAllLabel = "Accept all", rejectAllLabel = "Reject non-essential", customizeLabel = "Customize", saveLabel = "Save preferences", privacyPolicyUrl, theme: themeOverrides, categoryDescriptions, forceShow = false,
211
+ // pull manager out of the rest
212
+ manager: providedManager, ...consentConfig } = options ?? {};
213
+ const theme = { ...DEFAULT_BANNER_THEME, ...themeOverrides };
214
+ // `mode` is the no-code-friendly alias for `requireExplicitConsent`: opt-out
215
+ // (default) lets non-essential tracking run until decline; opt-in blocks it
216
+ // until accept. An explicit `requireExplicitConsent` still wins.
217
+ if (mode && consentConfig.requireExplicitConsent === undefined) {
218
+ consentConfig.requireExplicitConsent = mode !== "opt-out";
219
+ }
220
+ const manager = providedManager ?? setupConsent(consentConfig);
221
+ // Visible non-essential toggles. `necessary` is always shown locked-on and is
222
+ // never part of this list.
223
+ const visibleCategories = (categories ?? ["analytics", "marketing"]).filter((c) => c === "analytics" || c === "marketing");
224
+ // Skip per-element appearance styling in `unstyled` mode (Tier 2 BYO-CSS); the
225
+ // stable `.fg-cc-*` classes and CSS variables are always emitted so the page's
226
+ // own stylesheet can take over. Layout-critical display toggles stay in JS.
227
+ const styled = (el, css) => {
228
+ if (!unstyled)
229
+ el.style.cssText = css;
230
+ };
231
+ // Reuse an existing banner if renderConsentBanner ran twice (e.g. SPA remount).
232
+ const CONTAINER_ID = "fg-consent-banner";
233
+ document.getElementById(CONTAINER_ID)?.remove();
234
+ // ── Layout helpers ──────────────────────────────────────────────────
235
+ const positionStyle = {
236
+ top: "top:0;left:0;right:0;",
237
+ bottom: "bottom:0;left:0;right:0;",
238
+ "bottom-left": "bottom:16px;left:16px;max-width:420px;",
239
+ "bottom-right": "bottom:16px;right:16px;max-width:420px;",
240
+ center: "top:50%;left:50%;transform:translate(-50%,-50%);max-width:480px;",
241
+ };
242
+ const isLight = (() => {
243
+ const m = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})/i.exec(theme.backgroundColor);
244
+ if (!m)
245
+ return true;
246
+ const lum = (0.299 * parseInt(m[1], 16) + 0.587 * parseInt(m[2], 16) + 0.114 * parseInt(m[3], 16)) / 255;
247
+ return lum > 0.5;
248
+ })();
249
+ const mutedText = isLight ? "rgba(0,0,0,0.6)" : "rgba(255,255,255,0.7)";
250
+ const subtleBg = isLight ? "rgba(0,0,0,0.04)" : "rgba(255,255,255,0.06)";
251
+ const borderCol = isLight ? "rgba(0,0,0,0.1)" : "rgba(255,255,255,0.14)";
252
+ // ── Build DOM ───────────────────────────────────────────────────────
253
+ const container = document.createElement("div");
254
+ container.id = CONTAINER_ID;
255
+ container.className = "fg-cc-banner";
256
+ container.setAttribute("role", "dialog");
257
+ container.setAttribute("aria-modal", "false");
258
+ container.setAttribute("aria-label", "Cookie consent");
259
+ // CSS variables are always emitted (even when unstyled) so a customer's own
260
+ // stylesheet can read the configured palette via var(--fg-cc-*).
261
+ container.style.setProperty("--fg-cc-bg", theme.backgroundColor);
262
+ container.style.setProperty("--fg-cc-text", theme.textColor);
263
+ container.style.setProperty("--fg-cc-primary", theme.primaryColor);
264
+ container.style.setProperty("--fg-cc-radius", theme.borderRadius);
265
+ container.style.setProperty("--fg-cc-z", String(theme.zIndex));
266
+ styled(container, `position:fixed;${positionStyle[theme.position]}z-index:${theme.zIndex};` +
267
+ `padding:16px;box-sizing:border-box;font-family:${theme.fontFamily};`);
268
+ const card = document.createElement("div");
269
+ card.className = "fg-cc-card";
270
+ styled(card, `background:${theme.backgroundColor};color:${theme.textColor};` +
271
+ `border:1px solid ${borderCol};border-radius:${theme.borderRadius};` +
272
+ `box-shadow:0 12px 40px rgba(0,0,0,0.25);padding:20px;max-width:520px;margin:0 auto;`);
273
+ container.appendChild(card);
274
+ const h = document.createElement("p");
275
+ h.className = "fg-cc-title";
276
+ h.textContent = title;
277
+ styled(h, "margin:0 0 6px;font-size:16px;font-weight:600;");
278
+ card.appendChild(h);
279
+ const desc = document.createElement("p");
280
+ desc.className = "fg-cc-description";
281
+ styled(desc, `margin:0 0 14px;font-size:13px;line-height:1.5;color:${mutedText};`);
282
+ desc.textContent = description;
283
+ if (privacyPolicyUrl) {
284
+ const link = document.createElement("a");
285
+ link.className = "fg-cc-link";
286
+ link.href = privacyPolicyUrl;
287
+ link.textContent = "Learn more";
288
+ styled(link, `color:${theme.primaryColor};margin-left:4px;text-decoration:underline;`);
289
+ desc.appendChild(document.createTextNode(" "));
290
+ desc.appendChild(link);
291
+ }
292
+ card.appendChild(desc);
293
+ // ── Customize panel (configurable category toggles) ─────────────────
294
+ const panel = document.createElement("div");
295
+ panel.className = "fg-cc-panel";
296
+ styled(panel, `flex-direction:column;gap:10px;margin:0 0 14px;padding:12px;` +
297
+ `background:${subtleBg};border-radius:8px;`);
298
+ panel.style.display = "none"; // structural — kept even when unstyled
299
+ const prefs = manager.getPreferences();
300
+ const toggles = {};
301
+ const labels = {
302
+ analytics: "Analytics",
303
+ marketing: "Marketing",
304
+ };
305
+ const defaultDescs = {
306
+ analytics: "Page views, sessions, funnels, heatmaps, session replay.",
307
+ marketing: "UTM tracking, attribution and retargeting.",
308
+ };
309
+ const rows = [
310
+ ["necessary", "Necessary", categoryDescriptions?.necessary ?? "Required for the site to function. Always on.", true],
311
+ ...visibleCategories.map((key) => [key, labels[key], categoryDescriptions?.[key] ?? defaultDescs[key], false]),
312
+ ];
313
+ for (const [key, label, text, locked] of rows) {
314
+ const row = document.createElement("label");
315
+ row.className = "fg-cc-row";
316
+ styled(row, "display:flex;align-items:flex-start;justify-content:space-between;gap:12px;cursor:pointer;");
317
+ const labelWrap = document.createElement("div");
318
+ const t = document.createElement("div");
319
+ t.textContent = label;
320
+ styled(t, "font-size:13px;font-weight:600;");
321
+ const d = document.createElement("div");
322
+ d.textContent = text;
323
+ styled(d, `font-size:11px;color:${mutedText};margin-top:2px;`);
324
+ labelWrap.appendChild(t);
325
+ labelWrap.appendChild(d);
326
+ const cb = document.createElement("input");
327
+ cb.type = "checkbox";
328
+ cb.setAttribute("data-cc-toggle", key);
329
+ styled(cb, "margin-top:2px;width:16px;height:16px;accent-color:" + theme.primaryColor + ";flex:0 0 auto;");
330
+ cb.checked = locked ? true : (prefs[key] ?? false);
331
+ cb.disabled = locked;
332
+ if (!locked)
333
+ toggles[key] = cb;
334
+ row.appendChild(labelWrap);
335
+ row.appendChild(cb);
336
+ panel.appendChild(row);
337
+ }
338
+ card.appendChild(panel);
339
+ // ── Buttons ─────────────────────────────────────────────────────────
340
+ const actions = document.createElement("div");
341
+ actions.className = "fg-cc-actions";
342
+ styled(actions, "display:flex;flex-wrap:wrap;gap:8px;");
343
+ card.appendChild(actions);
344
+ const mkBtn = (label, modifier, primary) => {
345
+ const b = document.createElement("button");
346
+ b.type = "button";
347
+ b.className = `fg-cc-btn fg-cc-btn--${modifier}`;
348
+ b.textContent = label;
349
+ styled(b, `flex:1 1 auto;min-width:120px;padding:9px 14px;border-radius:8px;font-size:13px;` +
350
+ `font-weight:600;cursor:pointer;border:1px solid ${primary ? theme.primaryColor : borderCol};` +
351
+ (primary
352
+ ? `background:${theme.primaryColor};color:${isLight ? "#fff" : "#000"};`
353
+ : `background:transparent;color:${theme.textColor};`));
354
+ return b;
355
+ };
356
+ const customizeBtn = mkBtn(customizeLabel, "customize", false);
357
+ const rejectBtn = mkBtn(rejectAllLabel, "reject", false);
358
+ const saveBtn = mkBtn(saveLabel, "save", false);
359
+ const acceptBtn = mkBtn(acceptAllLabel, "accept", true);
360
+ saveBtn.style.display = "none"; // structural
361
+ actions.appendChild(customizeBtn);
362
+ actions.appendChild(rejectBtn);
363
+ actions.appendChild(saveBtn);
364
+ actions.appendChild(acceptBtn);
365
+ // ── Accessibility: focus trap + restore, Esc = reject ───────────────
366
+ let lastFocused = null;
367
+ const focusables = () => Array.from(container.querySelectorAll('button:not([disabled]),a[href],input:not([disabled]),[tabindex]:not([tabindex="-1"])')).filter((el) => el.offsetParent !== null || el === document.activeElement);
368
+ const onKeydown = (e) => {
369
+ if (e.key === "Escape") {
370
+ e.preventDefault();
371
+ onReject();
372
+ return;
373
+ }
374
+ if (e.key !== "Tab")
375
+ return;
376
+ const items = focusables();
377
+ if (items.length === 0)
378
+ return;
379
+ const first = items[0];
380
+ const last = items[items.length - 1];
381
+ const active = document.activeElement;
382
+ if (e.shiftKey && active === first) {
383
+ e.preventDefault();
384
+ last.focus();
385
+ }
386
+ else if (!e.shiftKey && active === last) {
387
+ e.preventDefault();
388
+ first.focus();
389
+ }
390
+ };
391
+ // ── Behaviour ───────────────────────────────────────────────────────
392
+ const show = () => {
393
+ container.style.display = "";
394
+ lastFocused = document.activeElement;
395
+ container.addEventListener("keydown", onKeydown);
396
+ // Move focus into the banner so keyboard users land on it.
397
+ (focusables()[0] ?? container).focus?.();
398
+ };
399
+ const hide = () => {
400
+ container.style.display = "none";
401
+ container.removeEventListener("keydown", onKeydown);
402
+ // Restore focus to whatever was focused before the banner opened.
403
+ if (lastFocused && typeof lastFocused.focus === "function") {
404
+ lastFocused.focus();
405
+ }
406
+ lastFocused = null;
407
+ };
408
+ function onReject() { manager.rejectNonEssential(); hide(); }
409
+ const onAccept = () => { manager.acceptAll(); hide(); };
410
+ const onSave = () => {
411
+ manager.update({
412
+ analytics: !!toggles.analytics?.checked,
413
+ marketing: !!toggles.marketing?.checked,
414
+ });
415
+ hide();
416
+ };
417
+ const onCustomize = () => {
418
+ const open = panel.style.display !== "none";
419
+ panel.style.display = open ? "none" : "flex";
420
+ saveBtn.style.display = open ? "none" : "";
421
+ };
422
+ acceptBtn.addEventListener("click", onAccept);
423
+ rejectBtn.addEventListener("click", onReject);
424
+ saveBtn.addEventListener("click", onSave);
425
+ customizeBtn.addEventListener("click", onCustomize);
426
+ document.body.appendChild(container);
427
+ // ── "Manage cookies" re-open hook (footer link, etc.) ───────────────
428
+ let manageEls = [];
429
+ const onManage = (e) => { e.preventDefault(); handle.show(); };
430
+ if (manageSelector) {
431
+ manageEls = Array.from(document.querySelectorAll(manageSelector));
432
+ manageEls.forEach((el) => el.addEventListener("click", onManage));
433
+ }
434
+ // Only prompt visitors who haven't decided yet (unless forced open).
435
+ const shouldShow = !manager.hasConsented() || forceShow;
436
+ if (shouldShow)
437
+ show();
438
+ else
439
+ container.style.display = "none";
440
+ const handle = {
441
+ manager,
442
+ show,
443
+ hide,
444
+ destroy() {
445
+ acceptBtn.removeEventListener("click", onAccept);
446
+ rejectBtn.removeEventListener("click", onReject);
447
+ saveBtn.removeEventListener("click", onSave);
448
+ customizeBtn.removeEventListener("click", onCustomize);
449
+ container.removeEventListener("keydown", onKeydown);
450
+ manageEls.forEach((el) => el.removeEventListener("click", onManage));
451
+ container.remove();
122
452
  },
123
453
  };
454
+ return handle;
124
455
  }
125
456
  //# sourceMappingURL=consent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consent.js","sourceRoot":"","sources":["../../../src/lib/helpers/consent.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;AAwBH,oCAeC;AAwDD,kDAmDC;AAhJD,wCAA4C;AAE5C,mDAAwD;AAExD;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,YAAY,CAAC,MAAsB;IACjD,MAAM,YAAY,GAAG,MAAM,EAAE,QAAQ,CAAC;IAEtC,MAAM,OAAO,GAAG,IAAI,wBAAc,CAAC;QACjC,GAAG,MAAM;QACT,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;KACF,CAAC,CAAC;IAEH,+EAA+E;IAC/E,aAAa,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAExC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,aAAa,CAAC,KAAyB;IAC9C,6BAAiB,CAAC,UAAU,CAAC;QAC3B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC,CAAC;AACL,CAAC;AA6BD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,mBAAmB,CAAC,OAA8B;IAChE,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAEjD,MAAM,EACJ,QAAQ,GAAG,eAAe,EAC1B,QAAQ,GAAG,YAAY,EACvB,QAAQ,GAAG,YAAY,EACvB,OAAO,EAAE,eAAe,EACxB,GAAG,aAAa,EACjB,GAAG,OAAO,IAAI,EAAE,CAAC;IAElB,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,MAAM,OAAO,GAAG,eAAe,IAAI,YAAY,CAAC,aAAa,CAAC,CAAC;IAE/D,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;IAC5B,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAChC,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAc,IAAI,QAAQ,EAAE,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAc,IAAI,QAAQ,EAAE,CAAC,CAAC;IAEpE,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,OAAO,CAAC,SAAS,EAAE,CAAC;QACpB,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAC7B,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;IAEF,SAAS,EAAE,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/C,SAAS,EAAE,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE/C,sDAAsD;IACtD,IAAI,OAAO,CAAC,YAAY,EAAE;QAAE,IAAI,EAAE,CAAC;;QAC9B,IAAI,EAAE,CAAC;IAEZ,OAAO;QACL,OAAO;QACP,IAAI;QACJ,IAAI;QACJ,OAAO;YACL,SAAS,EAAE,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAClD,SAAS,EAAE,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACpD,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"consent.js","sourceRoot":"","sources":["../../../src/lib/helpers/consent.ts"],"names":[],"mappings":"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"}
@@ -17,5 +17,5 @@
17
17
  * ```
18
18
  */
19
19
  export { getOrCreateAnonId, getOrCreateCartId, resetCartId } from "./identity";
20
- export { setupConsent, attachConsentBanner } from "./consent";
21
- export type { ConsentBannerOptions, ConsentBannerHandle } from "./consent";
20
+ export { setupConsent, attachConsentBanner, renderConsentBanner } from "./consent";
21
+ export type { ConsentBannerOptions, ConsentBannerHandle, RenderConsentBannerOptions } from "./consent";
@@ -18,7 +18,7 @@
18
18
  * ```
19
19
  */
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.attachConsentBanner = exports.setupConsent = exports.resetCartId = exports.getOrCreateCartId = exports.getOrCreateAnonId = void 0;
21
+ exports.renderConsentBanner = exports.attachConsentBanner = exports.setupConsent = exports.resetCartId = exports.getOrCreateCartId = exports.getOrCreateAnonId = void 0;
22
22
  var identity_1 = require("./identity");
23
23
  Object.defineProperty(exports, "getOrCreateAnonId", { enumerable: true, get: function () { return identity_1.getOrCreateAnonId; } });
24
24
  Object.defineProperty(exports, "getOrCreateCartId", { enumerable: true, get: function () { return identity_1.getOrCreateCartId; } });
@@ -26,4 +26,5 @@ Object.defineProperty(exports, "resetCartId", { enumerable: true, get: function
26
26
  var consent_1 = require("./consent");
27
27
  Object.defineProperty(exports, "setupConsent", { enumerable: true, get: function () { return consent_1.setupConsent; } });
28
28
  Object.defineProperty(exports, "attachConsentBanner", { enumerable: true, get: function () { return consent_1.attachConsentBanner; } });
29
+ Object.defineProperty(exports, "renderConsentBanner", { enumerable: true, get: function () { return consent_1.renderConsentBanner; } });
29
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/helpers/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;AAEH,uCAA+E;AAAtE,6GAAA,iBAAiB,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAAE,uGAAA,WAAW,OAAA;AAC1D,qCAA8D;AAArD,uGAAA,YAAY,OAAA;AAAE,8GAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/helpers/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;AAEH,uCAA+E;AAAtE,6GAAA,iBAAiB,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAAE,uGAAA,WAAW,OAAA;AAC1D,qCAAmF;AAA1E,uGAAA,YAAY,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAAE,8GAAA,mBAAmB,OAAA"}
@@ -8,6 +8,8 @@ export declare class ActivationTracker {
8
8
  constructor(client: Activation);
9
9
  /** New user signup. */
10
10
  signup(userId: string, method: string, source?: string, props?: Record<string, unknown>): Promise<import("../../..").ActivationResponse>;
11
+ /** Returning-user login. */
12
+ login(userId: string, method?: string, props?: Record<string, unknown>): Promise<import("../../..").ActivationResponse>;
11
13
  /** Step in an onboarding flow (e.g. `step 2 of 5`). */
12
14
  onboardingStep(userId: string, stepId: string, stepName: string, stepOrder: number, totalSteps: number, extra?: {
13
15
  skipped?: boolean;
@@ -9,6 +9,10 @@ class ActivationTracker {
9
9
  signup(userId, method, source, props) {
10
10
  return this.client.trackSignup(userId, method, source, props);
11
11
  }
12
+ /** Returning-user login. */
13
+ login(userId, method, props) {
14
+ return this.client.trackLogin(userId, method, props);
15
+ }
12
16
  /** Step in an onboarding flow (e.g. `step 2 of 5`). */
13
17
  onboardingStep(userId, stepId, stepName, stepOrder, totalSteps, extra) {
14
18
  return this.client.trackOnboardingStep({
@@ -1 +1 @@
1
- {"version":3,"file":"activation.js","sourceRoot":"","sources":["../../../../src/lib/tracking/core/activation.ts"],"names":[],"mappings":";;;AAMA,MAAa,iBAAiB;IAC5B,YAA4B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAElD,uBAAuB;IACvB,MAAM,CAAC,MAAc,EAAE,MAAc,EAAE,MAAe,EAAE,KAA+B;QACrF,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IAED,uDAAuD;IACvD,cAAc,CACZ,MAAc,EACd,MAAc,EACd,QAAgB,EAChB,SAAiB,EACjB,UAAkB,EAClB,KAAuF;QAEvF,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;YACrC,MAAM;YACN,MAAM;YACN,QAAQ;YACR,SAAS;YACT,UAAU;YACV,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;IAED,qCAAqC;IACrC,kBAAkB,CAAC,MAAc,EAAE,cAAsB,EAAE,cAAsB,EAAE,YAAY,GAAG,CAAC;QACjG,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;IAC9F,CAAC;IAED,2DAA2D;IAC3D,WAAW,CAAC,MAAc,EAAE,UAAkB,EAAE,eAAuB,EAAE,UAAoC;QAC3G,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,gCAAgC;IAChC,KAAK,CAAC,SAAiB,EAAE,aAAsC,EAAE;QAC/D,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;IACvD,CAAC;CAEF;AA1CD,8CA0CC"}
1
+ {"version":3,"file":"activation.js","sourceRoot":"","sources":["../../../../src/lib/tracking/core/activation.ts"],"names":[],"mappings":";;;AAMA,MAAa,iBAAiB;IAC5B,YAA4B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAElD,uBAAuB;IACvB,MAAM,CAAC,MAAc,EAAE,MAAc,EAAE,MAAe,EAAE,KAA+B;QACrF,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IAED,4BAA4B;IAC5B,KAAK,CAAC,MAAc,EAAE,MAAe,EAAE,KAA+B;QACpE,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAED,uDAAuD;IACvD,cAAc,CACZ,MAAc,EACd,MAAc,EACd,QAAgB,EAChB,SAAiB,EACjB,UAAkB,EAClB,KAAuF;QAEvF,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;YACrC,MAAM;YACN,MAAM;YACN,QAAQ;YACR,SAAS;YACT,UAAU;YACV,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;IAED,qCAAqC;IACrC,kBAAkB,CAAC,MAAc,EAAE,cAAsB,EAAE,cAAsB,EAAE,YAAY,GAAG,CAAC;QACjG,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;IAC9F,CAAC;IAED,2DAA2D;IAC3D,WAAW,CAAC,MAAc,EAAE,UAAkB,EAAE,eAAuB,EAAE,UAAoC;QAC3G,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,gCAAgC;IAChC,KAAK,CAAC,SAAiB,EAAE,aAAsC,EAAE;QAC/D,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;IACvD,CAAC;CAEF;AA/CD,8CA+CC"}