@preprio/toolkit 0.6.0-alpha.8 → 0.6.0-alpha.9

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 CHANGED
@@ -389,7 +389,7 @@ Every page view is decided. Nothing is reused from a prefetch, the router cache
389
389
  - **Page loads.** The page is the same for every visitor and is sent at once, from the cache. An inline script at the start of each `PreprStack` asks the proxy for this view's decision as soon as it is parsed, so Prepr answers while the rest of the page, its styles and scripts (the tracking pixel included) still load. The personalized sections show the visitor's variant when the answer arrives; everything else never waits for it.
390
390
  - **Client-side navigations.** When the visitor hovers over a link (or presses it, on touch devices), `PreprPersonalizationSwitch` asks the proxy for the target page's decision. Clicks are never held: when the answer is in by the click, which hovering mostly ensures, the new page paints with the visitor's variants; otherwise its personalized sections show when the answer arrives. Prefetches still bring the page itself; only the decision is fetched.
391
391
  - **Never the default first.** Until a view's decision is in, its personalized sections are not shown: the default variant keeps its space, invisible, so the page does not move when the visitor's variant appears (only by any difference in height). The default variant only shows when it is the decision: for visitors in none of the segments, for requests `onlyIf` skips, and when Prepr does not answer within `timeoutMs` (default 3000). Navigations started from code ask for a decision when the page opens; the personalized sections appear when it arrives.
392
- - **Reuse.** Back and Forward show a page as this tab last showed it, at once, without asking Prepr. Any other view of a URL this tab got a decision for (kept in `sessionStorage`) shows it at once too: under 10 seconds old without asking again, since Prepr needs a few seconds to process a visitor's activity anyway; up to 30 minutes old while a new decision is asked for in the background, which replaces the variant only when it differs. A page without personalization answers with no groups, which is trusted for an hour with no background check, so links to it cost nothing; when that page renders personalization by then (published since), it asks at once. A URL with other UTM parameters is another view; a failed answer is kept for 10 seconds and never replaces a real one.
392
+ - **Reuse.** Back and Forward show a page as this tab last showed it, at once, without asking Prepr. Any other view of a URL this tab got a decision for (kept in `sessionStorage`) shows it at once too: under 10 seconds old without asking again, since Prepr needs a few seconds to process a visitor's activity anyway; up to 30 minutes old while a new decision is asked for in the background. When that one differs, it changes only the sections still below the screen; a section the visitor can see, or has scrolled past, keeps its variant for that view, so nothing they are reading is swapped or moves under them. The next view shows the new decision. A page without personalization answers with no groups, which is trusted for an hour with no background check, so links to it cost nothing; when that page renders personalization by then (published since), it asks at once. A URL with other UTM parameters is another view; a failed answer is kept for 10 seconds and never replaces a real one.
393
393
  - **"Right" means what Prepr knows when the visitor clicks.** Prepr assigns segments from the visitor's tracked activity. If it has not yet processed the pixel event of the previous page view, the decision cannot include it, and the visitor sees that segment from a later page view.
394
394
  - **Costs.** The page carries the HTML of every variant, and an item with groups nested inside it once per combination of their variants. `render` gets `defaultVariant`: give `priority` images only to the default variant and `loading="lazy"` to the others, or the browser downloads every variant's hero image. Every page load with personalization, and every link hovered or pressed (also a press that turns into a scroll), is at most one decision request when this tab has no fresh decision for that URL, answered from Prepr's cache when other visitors had the same answer.
395
395
  - Without JavaScript, visitors see the default variants.
@@ -1,5 +1,5 @@
1
1
  // src/version.ts
2
- var VERSION = "0.6.0-alpha.8";
2
+ var VERSION = "0.6.0-alpha.9";
3
3
 
4
4
  // src/core/features.ts
5
5
  function isEnabled(config) {
@@ -3,7 +3,7 @@ import {
3
3
  getPreprHeadersFromHeaders,
4
4
  isPersonalizedResponse,
5
5
  validatePreprToken
6
- } from "./chunk-R2YPGDVU.js";
6
+ } from "./chunk-UN4JADNU.js";
7
7
 
8
8
  // src/core/variants/constants.ts
9
9
  var PREPR_CONTEXT_ALIAS = "_preprContext";
@@ -31,7 +31,7 @@ __export(astro_exports, {
31
31
  module.exports = __toCommonJS(astro_exports);
32
32
 
33
33
  // src/version.ts
34
- var VERSION = "0.6.0-alpha.8";
34
+ var VERSION = "0.6.0-alpha.9";
35
35
 
36
36
  // src/core/features.ts
37
37
  function isEnabled(config) {
@@ -7,7 +7,7 @@ import {
7
7
  getToolbarPropsFromHeaders,
8
8
  isPersonalizedResponse,
9
9
  resolveFeatures
10
- } from "./chunk-R2YPGDVU.js";
10
+ } from "./chunk-UN4JADNU.js";
11
11
 
12
12
  // src/core/constants.ts
13
13
  var COOKIE_PREVIEW_MODE = "Prepr-Preview-Mode";
@@ -1,5 +1,5 @@
1
1
  // src/version.ts
2
- var VERSION = "0.6.0-alpha.8";
2
+ var VERSION = "0.6.0-alpha.9";
3
3
 
4
4
  // src/core/features.ts
5
5
  function isEnabled(config) {
@@ -11,7 +11,7 @@ import {
11
11
  ALL_FEATURES_ENABLED,
12
12
  VERSION,
13
13
  resolveFeatures
14
- } from "./chunk-ATPB7GEC.js";
14
+ } from "./chunk-5QIWVDP2.js";
15
15
 
16
16
  // src/core/stega/dom.ts
17
17
  var IGNORED_ANCESTORS = "script, style, noscript";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  VERSION,
3
3
  resolveFeatures
4
- } from "./chunk-ATPB7GEC.js";
4
+ } from "./chunk-5QIWVDP2.js";
5
5
 
6
6
  // src/core/server.ts
7
7
  var PreprError = class extends Error {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  PreprError
3
- } from "./chunk-T7ESBVBI.js";
3
+ } from "./chunk-WQBKQG4R.js";
4
4
 
5
5
  // src/core/variants/constants.ts
6
6
  var PREPR_CONTEXT_ALIAS = "_preprContext";
@@ -2,9 +2,9 @@ import {
2
2
  toDecisionQuery,
3
3
  toSchemaInfo,
4
4
  toVariantsQuery
5
- } from "../chunk-OY7OKO6Q.js";
6
- import "../chunk-T7ESBVBI.js";
7
- import "../chunk-ATPB7GEC.js";
5
+ } from "../chunk-XL4Y7FGW.js";
6
+ import "../chunk-WQBKQG4R.js";
7
+ import "../chunk-5QIWVDP2.js";
8
8
 
9
9
  // src/codegen/index.ts
10
10
  function typeRef(type) {
package/dist/graphql.js CHANGED
@@ -21,12 +21,12 @@ import {
21
21
  toSchemaInfo,
22
22
  toVariantsDocument,
23
23
  toVariantsQuery
24
- } from "./chunk-OY7OKO6Q.js";
24
+ } from "./chunk-XL4Y7FGW.js";
25
25
  import {
26
26
  PreprError,
27
27
  validatePreprToken
28
- } from "./chunk-T7ESBVBI.js";
29
- import "./chunk-ATPB7GEC.js";
28
+ } from "./chunk-WQBKQG4R.js";
29
+ import "./chunk-5QIWVDP2.js";
30
30
 
31
31
  // src/core/graphql/cache-tags.ts
32
32
  var MAX_TAGS = 128;
package/dist/index.cjs CHANGED
@@ -45,7 +45,7 @@ __export(src_exports, {
45
45
  module.exports = __toCommonJS(src_exports);
46
46
 
47
47
  // src/version.ts
48
- var VERSION = "0.6.0-alpha.8";
48
+ var VERSION = "0.6.0-alpha.9";
49
49
 
50
50
  // src/core/features.ts
51
51
  function isEnabled(config) {
package/dist/index.d.cts CHANGED
@@ -7,7 +7,7 @@ export { P as PreprPixelConfig, l as loadTrackingPixel, s as setTrackingParam, t
7
7
  * Package version; must match package.json. Lives in its own leaf module so
8
8
  * core can import it without cycling through the barrel.
9
9
  */
10
- declare const VERSION = "0.6.0-alpha.8";
10
+ declare const VERSION = "0.6.0-alpha.9";
11
11
 
12
12
  /**
13
13
  * Resolve a `PreprFeatures` bag to plain booleans, defaulting every omitted key
package/dist/index.d.ts CHANGED
@@ -7,7 +7,7 @@ export { P as PreprPixelConfig, l as loadTrackingPixel, s as setTrackingParam, t
7
7
  * Package version; must match package.json. Lives in its own leaf module so
8
8
  * core can import it without cycling through the barrel.
9
9
  */
10
- declare const VERSION = "0.6.0-alpha.8";
10
+ declare const VERSION = "0.6.0-alpha.9";
11
11
 
12
12
  /**
13
13
  * Resolve a `PreprFeatures` bag to plain booleans, defaulting every omitted key
package/dist/index.js CHANGED
@@ -15,7 +15,7 @@ import {
15
15
  loadTrackingPixel,
16
16
  setTrackingParam,
17
17
  trackEvent
18
- } from "./chunk-2QGUP7VQ.js";
18
+ } from "./chunk-J66UOCK6.js";
19
19
  import {
20
20
  isPersonalizedResponse
21
21
  } from "./chunk-3NCEVJJ3.js";
@@ -32,11 +32,11 @@ import {
32
32
  getPreprUUIDFromHeaders,
33
33
  getToolbarPropsFromHeaders,
34
34
  validatePreprToken
35
- } from "./chunk-T7ESBVBI.js";
35
+ } from "./chunk-WQBKQG4R.js";
36
36
  import {
37
37
  VERSION,
38
38
  resolveFeatures
39
- } from "./chunk-ATPB7GEC.js";
39
+ } from "./chunk-5QIWVDP2.js";
40
40
 
41
41
  // src/core/middleware.ts
42
42
  var UTM_PARAMS = [
@@ -2,7 +2,7 @@
2
2
  import { NextResponse } from "next/server";
3
3
 
4
4
  // src/version.ts
5
- var VERSION = "0.6.0-alpha.8";
5
+ var VERSION = "0.6.0-alpha.9";
6
6
 
7
7
  // src/core/constants.ts
8
8
  var COOKIE_PREVIEW_MODE = "Prepr-Preview-Mode";
@@ -2317,10 +2317,34 @@ function isReactHydrated(text) {
2317
2317
  }
2318
2318
 
2319
2319
  // src/nextjs/decision-switch.ts
2320
- function applyPreprDecisions(decision) {
2320
+ function applyPreprDecisions(decision, options = {}) {
2321
2321
  const state = window;
2322
2322
  const key = location.pathname + location.search;
2323
- if (decision !== void 0) state.__preprDecision = { key, value: decision };
2323
+ const previous = state.__preprDecision;
2324
+ let value = decision;
2325
+ if (value !== void 0 && value !== "*" && options.refresh && previous && previous.key === key && previous.value !== "*") {
2326
+ const pairs = (from) => {
2327
+ const out = {};
2328
+ from.split("~").forEach((pair) => {
2329
+ const colon = pair.indexOf(":");
2330
+ if (colon > 0) out[pair.slice(0, colon)] = pair;
2331
+ });
2332
+ return out;
2333
+ };
2334
+ const before = pairs(previous.value);
2335
+ const after = pairs(value);
2336
+ document.querySelectorAll("[data-prepr-v][data-prepr-show]").forEach((element) => {
2337
+ const range = document.createRange();
2338
+ range.selectNodeContents(element);
2339
+ if (range.getBoundingClientRect().top >= window.innerHeight) return;
2340
+ (element.getAttribute("data-prepr-v") || "").split(" ").forEach((token) => {
2341
+ const group = token.slice(0, token.indexOf(":"));
2342
+ if (before[group]) after[group] = before[group];
2343
+ });
2344
+ });
2345
+ value = Object.keys(after).map((group) => after[group]).join("~");
2346
+ }
2347
+ if (value !== void 0) state.__preprDecision = { key, value };
2324
2348
  const current = state.__preprDecision;
2325
2349
  if (!current || current.key !== key) return false;
2326
2350
  document.querySelectorAll("[data-prepr-decision]").forEach((marker) => {
@@ -2415,7 +2439,7 @@ function requestPreprDecision(key, options = {}) {
2415
2439
  var import_react = require("react");
2416
2440
 
2417
2441
  // src/version.ts
2418
- var VERSION = "0.6.0-alpha.8";
2442
+ var VERSION = "0.6.0-alpha.9";
2419
2443
 
2420
2444
  // src/core/pixel.ts
2421
2445
  var PIXEL_SCRIPT_URL = "https://cdn.tracking.prepr.io/js/prepr.min.js";
@@ -2500,8 +2524,9 @@ function requestDecision(key, personalized = false) {
2500
2524
  personalized,
2501
2525
  onChange: (value) => {
2502
2526
  if (location.pathname + location.search !== key) return;
2503
- applyPreprDecisions(value);
2504
- shown.set(key, value);
2527
+ applyPreprDecisions(value, { refresh: true });
2528
+ const state = window.__preprDecision;
2529
+ if (state) shown.set(key, state.value);
2505
2530
  }
2506
2531
  });
2507
2532
  }
@@ -2,9 +2,9 @@
2
2
  import {
3
3
  createPreprPreview,
4
4
  loadTrackingPixel
5
- } from "../chunk-2QGUP7VQ.js";
5
+ } from "../chunk-J66UOCK6.js";
6
6
  import "../chunk-S5RWVMDJ.js";
7
- import "../chunk-ATPB7GEC.js";
7
+ import "../chunk-5QIWVDP2.js";
8
8
 
9
9
  // src/nextjs/components.ts
10
10
  import { usePathname, useRouter } from "next/navigation";
@@ -35,10 +35,34 @@ function isReactHydrated(text) {
35
35
  }
36
36
 
37
37
  // src/nextjs/decision-switch.ts
38
- function applyPreprDecisions(decision) {
38
+ function applyPreprDecisions(decision, options = {}) {
39
39
  const state = window;
40
40
  const key = location.pathname + location.search;
41
- if (decision !== void 0) state.__preprDecision = { key, value: decision };
41
+ const previous = state.__preprDecision;
42
+ let value = decision;
43
+ if (value !== void 0 && value !== "*" && options.refresh && previous && previous.key === key && previous.value !== "*") {
44
+ const pairs = (from) => {
45
+ const out = {};
46
+ from.split("~").forEach((pair) => {
47
+ const colon = pair.indexOf(":");
48
+ if (colon > 0) out[pair.slice(0, colon)] = pair;
49
+ });
50
+ return out;
51
+ };
52
+ const before = pairs(previous.value);
53
+ const after = pairs(value);
54
+ document.querySelectorAll("[data-prepr-v][data-prepr-show]").forEach((element) => {
55
+ const range = document.createRange();
56
+ range.selectNodeContents(element);
57
+ if (range.getBoundingClientRect().top >= window.innerHeight) return;
58
+ (element.getAttribute("data-prepr-v") || "").split(" ").forEach((token) => {
59
+ const group = token.slice(0, token.indexOf(":"));
60
+ if (before[group]) after[group] = before[group];
61
+ });
62
+ });
63
+ value = Object.keys(after).map((group) => after[group]).join("~");
64
+ }
65
+ if (value !== void 0) state.__preprDecision = { key, value };
42
66
  const current = state.__preprDecision;
43
67
  if (!current || current.key !== key) return false;
44
68
  document.querySelectorAll("[data-prepr-decision]").forEach((marker) => {
@@ -174,8 +198,9 @@ function requestDecision(key, personalized = false) {
174
198
  personalized,
175
199
  onChange: (value) => {
176
200
  if (location.pathname + location.search !== key) return;
177
- applyPreprDecisions(value);
178
- shown.set(key, value);
201
+ applyPreprDecisions(value, { refresh: true });
202
+ const state = window.__preprDecision;
203
+ if (state) shown.set(key, state.value);
179
204
  }
180
205
  });
181
206
  }
@@ -101,7 +101,7 @@ function preprCacheTags(data) {
101
101
  }
102
102
 
103
103
  // src/version.ts
104
- var VERSION = "0.6.0-alpha.8";
104
+ var VERSION = "0.6.0-alpha.9";
105
105
 
106
106
  // src/core/features.ts
107
107
  function isEnabled(config) {
@@ -1451,10 +1451,34 @@ function createPreprProxy(options) {
1451
1451
  var import_react = require("react");
1452
1452
 
1453
1453
  // src/nextjs/decision-switch.ts
1454
- function applyPreprDecisions(decision) {
1454
+ function applyPreprDecisions(decision, options = {}) {
1455
1455
  const state = window;
1456
1456
  const key = location.pathname + location.search;
1457
- if (decision !== void 0) state.__preprDecision = { key, value: decision };
1457
+ const previous = state.__preprDecision;
1458
+ let value = decision;
1459
+ if (value !== void 0 && value !== "*" && options.refresh && previous && previous.key === key && previous.value !== "*") {
1460
+ const pairs = (from) => {
1461
+ const out = {};
1462
+ from.split("~").forEach((pair) => {
1463
+ const colon = pair.indexOf(":");
1464
+ if (colon > 0) out[pair.slice(0, colon)] = pair;
1465
+ });
1466
+ return out;
1467
+ };
1468
+ const before = pairs(previous.value);
1469
+ const after = pairs(value);
1470
+ document.querySelectorAll("[data-prepr-v][data-prepr-show]").forEach((element) => {
1471
+ const range = document.createRange();
1472
+ range.selectNodeContents(element);
1473
+ if (range.getBoundingClientRect().top >= window.innerHeight) return;
1474
+ (element.getAttribute("data-prepr-v") || "").split(" ").forEach((token) => {
1475
+ const group = token.slice(0, token.indexOf(":"));
1476
+ if (before[group]) after[group] = before[group];
1477
+ });
1478
+ });
1479
+ value = Object.keys(after).map((group) => after[group]).join("~");
1480
+ }
1481
+ if (value !== void 0) state.__preprDecision = { key, value };
1458
1482
  const current = state.__preprDecision;
1459
1483
  if (!current || current.key !== key) return false;
1460
1484
  document.querySelectorAll("[data-prepr-decision]").forEach((marker) => {
@@ -1547,15 +1571,16 @@ function requestPreprDecision(key, options = {}) {
1547
1571
  function startPreprDecision() {
1548
1572
  const state = window;
1549
1573
  const key = location.pathname + location.search;
1550
- const apply = (answer) => {
1551
- if (location.pathname + location.search === key) state.__preprApply(answer);
1574
+ const apply = (answer, refresh) => {
1575
+ if (location.pathname + location.search === key)
1576
+ state.__preprApply(answer, { refresh });
1552
1577
  };
1553
1578
  const pending = state.__preprRequest(key, {
1554
- onChange: apply,
1579
+ onChange: (answer) => apply(answer, true),
1555
1580
  personalized: true
1556
1581
  });
1557
1582
  if (pending.result !== void 0) apply(pending.result);
1558
- else pending.value.then(apply);
1583
+ else pending.value.then((answer) => apply(answer));
1559
1584
  }
1560
1585
 
1561
1586
  // src/nextjs/stack.ts
@@ -11,7 +11,7 @@ import {
11
11
  preprModelTag,
12
12
  preprModelTagsFor,
13
13
  validatePreprToken
14
- } from "./chunk-O2SBSBDG.js";
14
+ } from "./chunk-CMV6ZP6E.js";
15
15
 
16
16
  // src/nextjs/graphql.ts
17
17
  import * as nextCache from "next/cache";
@@ -1038,10 +1038,34 @@ import {
1038
1038
  } from "react";
1039
1039
 
1040
1040
  // src/nextjs/decision-switch.ts
1041
- function applyPreprDecisions(decision) {
1041
+ function applyPreprDecisions(decision, options = {}) {
1042
1042
  const state = window;
1043
1043
  const key = location.pathname + location.search;
1044
- if (decision !== void 0) state.__preprDecision = { key, value: decision };
1044
+ const previous = state.__preprDecision;
1045
+ let value = decision;
1046
+ if (value !== void 0 && value !== "*" && options.refresh && previous && previous.key === key && previous.value !== "*") {
1047
+ const pairs = (from) => {
1048
+ const out = {};
1049
+ from.split("~").forEach((pair) => {
1050
+ const colon = pair.indexOf(":");
1051
+ if (colon > 0) out[pair.slice(0, colon)] = pair;
1052
+ });
1053
+ return out;
1054
+ };
1055
+ const before = pairs(previous.value);
1056
+ const after = pairs(value);
1057
+ document.querySelectorAll("[data-prepr-v][data-prepr-show]").forEach((element) => {
1058
+ const range = document.createRange();
1059
+ range.selectNodeContents(element);
1060
+ if (range.getBoundingClientRect().top >= window.innerHeight) return;
1061
+ (element.getAttribute("data-prepr-v") || "").split(" ").forEach((token) => {
1062
+ const group = token.slice(0, token.indexOf(":"));
1063
+ if (before[group]) after[group] = before[group];
1064
+ });
1065
+ });
1066
+ value = Object.keys(after).map((group) => after[group]).join("~");
1067
+ }
1068
+ if (value !== void 0) state.__preprDecision = { key, value };
1045
1069
  const current = state.__preprDecision;
1046
1070
  if (!current || current.key !== key) return false;
1047
1071
  document.querySelectorAll("[data-prepr-decision]").forEach((marker) => {
@@ -1134,15 +1158,16 @@ function requestPreprDecision(key, options = {}) {
1134
1158
  function startPreprDecision() {
1135
1159
  const state = window;
1136
1160
  const key = location.pathname + location.search;
1137
- const apply = (answer) => {
1138
- if (location.pathname + location.search === key) state.__preprApply(answer);
1161
+ const apply = (answer, refresh) => {
1162
+ if (location.pathname + location.search === key)
1163
+ state.__preprApply(answer, { refresh });
1139
1164
  };
1140
1165
  const pending = state.__preprRequest(key, {
1141
- onChange: apply,
1166
+ onChange: (answer) => apply(answer, true),
1142
1167
  personalized: true
1143
1168
  });
1144
1169
  if (pending.result !== void 0) apply(pending.result);
1145
- else pending.value.then(apply);
1170
+ else pending.value.then((answer) => apply(answer));
1146
1171
  }
1147
1172
 
1148
1173
  // src/nextjs/stack.ts
@@ -43,7 +43,7 @@ module.exports = __toCommonJS(nextjs_exports);
43
43
  var import_server = require("next/server");
44
44
 
45
45
  // src/version.ts
46
- var VERSION = "0.6.0-alpha.8";
46
+ var VERSION = "0.6.0-alpha.9";
47
47
 
48
48
  // src/core/constants.ts
49
49
  var COOKIE_PREVIEW_MODE = "Prepr-Preview-Mode";
@@ -15,7 +15,7 @@ import {
15
15
  preprItemTag,
16
16
  preprModelTag,
17
17
  validatePreprToken
18
- } from "./chunk-O2SBSBDG.js";
18
+ } from "./chunk-CMV6ZP6E.js";
19
19
 
20
20
  // src/nextjs/webhook.ts
21
21
  import { revalidateTag } from "next/cache";
@@ -1,5 +1,5 @@
1
1
  // src/version.ts
2
- var VERSION = "0.6.0-alpha.8";
2
+ var VERSION = "0.6.0-alpha.9";
3
3
 
4
4
  // src/core/constants.ts
5
5
  var COOKIE_PREVIEW_MODE = "Prepr-Preview-Mode";
@@ -4,7 +4,7 @@ import {
4
4
  getPreprHeadersFromHeaders,
5
5
  isPersonalizedResponse,
6
6
  validatePreprToken
7
- } from "./chunk-SX3MSVPK.js";
7
+ } from "./chunk-XWOABVMW.js";
8
8
 
9
9
  // src/core/variants/constants.ts
10
10
  var PREPR_CONTEXT_ALIAS = "_preprContext";
@@ -36,7 +36,7 @@ __export(nuxt_exports, {
36
36
  module.exports = __toCommonJS(nuxt_exports);
37
37
 
38
38
  // src/version.ts
39
- var VERSION = "0.6.0-alpha.8";
39
+ var VERSION = "0.6.0-alpha.9";
40
40
 
41
41
  // src/core/constants.ts
42
42
  var COOKIE_PREVIEW_MODE = "Prepr-Preview-Mode";
@@ -11,7 +11,7 @@ import {
11
11
  handlePreprRequest,
12
12
  isPersonalizedResponse,
13
13
  validatePreprToken
14
- } from "./chunk-SX3MSVPK.js";
14
+ } from "./chunk-XWOABVMW.js";
15
15
 
16
16
  // src/nuxt/server.ts
17
17
  function getPreprUUID(headers) {
@@ -2313,7 +2313,7 @@ function isReactHydrated(text) {
2313
2313
  }
2314
2314
 
2315
2315
  // src/version.ts
2316
- var VERSION = "0.6.0-alpha.8";
2316
+ var VERSION = "0.6.0-alpha.9";
2317
2317
 
2318
2318
  // src/core/pixel.ts
2319
2319
  var PIXEL_SCRIPT_URL = "https://cdn.tracking.prepr.io/js/prepr.min.js";
@@ -2289,7 +2289,7 @@ function isReactHydrated(text) {
2289
2289
  }
2290
2290
 
2291
2291
  // src/version.ts
2292
- var VERSION = "0.6.0-alpha.8";
2292
+ var VERSION = "0.6.0-alpha.9";
2293
2293
 
2294
2294
  // src/core/pixel.ts
2295
2295
  var PIXEL_SCRIPT_URL = "https://cdn.tracking.prepr.io/js/prepr.min.js";
@@ -1,5 +1,5 @@
1
1
  // src/version.ts
2
- var VERSION = "0.6.0-alpha.8";
2
+ var VERSION = "0.6.0-alpha.9";
3
3
 
4
4
  // src/core/constants.ts
5
5
  var COOKIE_PREVIEW_MODE = "Prepr-Preview-Mode";
@@ -4,7 +4,7 @@ import {
4
4
  getPreprHeadersFromLocals,
5
5
  isPersonalizedResponse,
6
6
  validatePreprToken
7
- } from "./chunk-UOASSHZO.js";
7
+ } from "./chunk-3S5RA6G5.js";
8
8
 
9
9
  // src/core/variants/constants.ts
10
10
  var PREPR_CONTEXT_ALIAS = "_preprContext";
@@ -36,7 +36,7 @@ __export(sveltekit_exports, {
36
36
  module.exports = __toCommonJS(sveltekit_exports);
37
37
 
38
38
  // src/version.ts
39
- var VERSION = "0.6.0-alpha.8";
39
+ var VERSION = "0.6.0-alpha.9";
40
40
 
41
41
  // src/core/constants.ts
42
42
  var COOKIE_PREVIEW_MODE = "Prepr-Preview-Mode";
@@ -11,7 +11,7 @@ import {
11
11
  isPersonalizedResponse,
12
12
  preprHandle,
13
13
  validatePreprToken
14
- } from "./chunk-UOASSHZO.js";
14
+ } from "./chunk-3S5RA6G5.js";
15
15
 
16
16
  // src/sveltekit/server.ts
17
17
  function getPreprUUID(headers) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@preprio/toolkit",
3
- "version": "0.6.0-alpha.8",
3
+ "version": "0.6.0-alpha.9",
4
4
  "description": "Prepr personalization, A/B testing and preview toolkit for React, Next.js, Nuxt, Astro, SvelteKit and Express",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Prepr B.V. (https://prepr.io)",