@preprio/prepr-nextjs 2.0.1 → 2.0.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 (59) hide show
  1. package/dist/chunk-26CXDAG7.mjs +72 -0
  2. package/dist/chunk-26CXDAG7.mjs.map +1 -0
  3. package/dist/chunk-2BRZNIOK.js +2 -0
  4. package/dist/chunk-2BRZNIOK.js.map +1 -0
  5. package/dist/chunk-32XGP2RS.mjs +4218 -0
  6. package/dist/chunk-32XGP2RS.mjs.map +1 -0
  7. package/dist/chunk-6FNC3XMI.js +45 -0
  8. package/dist/chunk-C6L3X6KZ.js +201 -0
  9. package/dist/chunk-C6L3X6KZ.js.map +1 -0
  10. package/dist/chunk-DI26GYQY.js +201 -0
  11. package/dist/chunk-IL3U74YL.js +2 -0
  12. package/dist/chunk-IL3U74YL.js.map +1 -0
  13. package/dist/chunk-J3Y65EMB.js +2 -0
  14. package/dist/chunk-J3Y65EMB.js.map +1 -0
  15. package/dist/chunk-JPRRZPBL.js +43 -0
  16. package/dist/chunk-JPRRZPBL.js.map +1 -0
  17. package/dist/chunk-MKSF2TOK.js +2 -0
  18. package/dist/chunk-MKSF2TOK.js.map +1 -0
  19. package/dist/chunk-MZGTV4KW.js +2 -0
  20. package/dist/chunk-MZGTV4KW.js.map +1 -0
  21. package/dist/chunk-QZTUT4DH.js +2 -0
  22. package/dist/chunk-QZTUT4DH.js.map +1 -0
  23. package/dist/chunk-YKY3OKYG.js +2 -0
  24. package/dist/chunk-YKY3OKYG.js.map +1 -0
  25. package/dist/metafile-cjs.json +1 -1
  26. package/dist/metafile-esm.json +1 -1
  27. package/dist/middleware/index.cjs +1 -1
  28. package/dist/middleware/index.cjs.map +1 -1
  29. package/dist/middleware/index.js +1 -1
  30. package/dist/middleware/index.mjs +4 -0
  31. package/dist/middleware/index.mjs.map +1 -0
  32. package/dist/pages/react/index.cjs +8 -0
  33. package/dist/pages/react/index.cjs.map +1 -0
  34. package/dist/pages/react/index.d.cts +99 -0
  35. package/dist/pages/react/index.d.ts +99 -0
  36. package/dist/pages/react/index.js +8 -0
  37. package/dist/pages/react/index.js.map +1 -0
  38. package/dist/pages/server/index.cjs +7 -0
  39. package/dist/pages/server/index.cjs.map +1 -0
  40. package/dist/pages/server/index.d.cts +83 -0
  41. package/dist/pages/server/index.d.ts +83 -0
  42. package/dist/pages/server/index.js +7 -0
  43. package/dist/pages/server/index.js.map +1 -0
  44. package/dist/react/index.cjs +2 -2
  45. package/dist/react/index.cjs.map +1 -1
  46. package/dist/react/index.js +2 -2
  47. package/dist/react/index.js.map +1 -1
  48. package/dist/react/index.mjs +10179 -0
  49. package/dist/react/index.mjs.map +1 -0
  50. package/dist/server/index.cjs +2 -2
  51. package/dist/server/index.cjs.map +1 -1
  52. package/dist/server/index.js +1 -1
  53. package/dist/server/index.mjs +1569 -0
  54. package/dist/server/index.mjs.map +1 -0
  55. package/dist/types/index.mjs +3 -0
  56. package/dist/types/index.mjs.map +1 -0
  57. package/dist/utils/index.mjs +3307 -0
  58. package/dist/utils/index.mjs.map +1 -0
  59. package/package.json +1 -1
@@ -0,0 +1,45 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __async = (__this, __arguments, generator) => {
21
+ return new Promise((resolve, reject) => {
22
+ var fulfilled = (value) => {
23
+ try {
24
+ step(generator.next(value));
25
+ } catch (e) {
26
+ reject(e);
27
+ }
28
+ };
29
+ var rejected = (value) => {
30
+ try {
31
+ step(generator.throw(value));
32
+ } catch (e) {
33
+ reject(e);
34
+ }
35
+ };
36
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
37
+ step((generator = generator.apply(__this, __arguments)).next());
38
+ });
39
+ };
40
+
41
+ export {
42
+ __spreadValues,
43
+ __spreadProps,
44
+ __async
45
+ };
@@ -0,0 +1,201 @@
1
+ import { ipAddress } from '@vercel/functions';
2
+ import { NextResponse } from 'next/server';
3
+
4
+ // src/middleware/index.ts
5
+
6
+ // package.json
7
+ var version = "2.0.0";
8
+ var package_default = {
9
+ name: "@preprio/prepr-nextjs",
10
+ version,
11
+ description: "Next.js package for Prepr CMS preview functionality with advanced debugging and visual editing capabilities",
12
+ main: "dist/react/index.cjs",
13
+ types: "./dist/react/index.d.ts",
14
+ module: "./dist/react/index.js",
15
+ type: "module",
16
+ scripts: {
17
+ build: "tsup",
18
+ dev: "tsup --watch",
19
+ clean: "rm -rf dist",
20
+ check: 'tsc --noEmit && eslint src --ext .ts,.tsx && prettier --check "src/**/*.{ts,tsx,js,jsx,json,md}"',
21
+ fix: 'eslint src --ext .ts,.tsx --fix && prettier --write "src/**/*.{ts,tsx,js,jsx,json,md}"',
22
+ changeset: "changeset",
23
+ version: "changeset version",
24
+ release: "pnpm run build && changeset publish",
25
+ prepublishOnly: "pnpm run check && pnpm run build"
26
+ },
27
+ exports: {
28
+ "./middleware": {
29
+ import: "./dist/middleware/index.js",
30
+ types: "./dist/middleware/index.d.ts",
31
+ require: "./dist/middleware/index.cjs"
32
+ },
33
+ "./server": {
34
+ import: "./dist/server/index.js",
35
+ types: "./dist/server/index.d.ts",
36
+ require: "./dist/server/index.cjs"
37
+ },
38
+ "./react": {
39
+ import: "./dist/react/index.js",
40
+ types: "./dist/react/index.d.ts",
41
+ require: "./dist/react/index.cjs"
42
+ },
43
+ "./utils": {
44
+ import: "./dist/utils/index.js",
45
+ types: "./dist/utils/index.d.ts",
46
+ require: "./dist/utils/index.cjs"
47
+ },
48
+ "./types": {
49
+ import: "./dist/types/index.js",
50
+ types: "./dist/types/index.d.ts",
51
+ require: "./dist/types/index.cjs"
52
+ },
53
+ "./index.css": {
54
+ import: "./dist/index.css",
55
+ require: "./dist/index.css"
56
+ }
57
+ },
58
+ files: [
59
+ "dist",
60
+ "package.json"
61
+ ],
62
+ keywords: [
63
+ "prepr",
64
+ "cms",
65
+ "nextjs",
66
+ "preview",
67
+ "visual-editing",
68
+ "headless-cms",
69
+ "react",
70
+ "typescript",
71
+ "debug",
72
+ "stega"
73
+ ],
74
+ author: "Preprio",
75
+ license: "MIT",
76
+ packageManager: "pnpm@10.5.2",
77
+ devDependencies: {
78
+ "@changesets/cli": "^2.29.5",
79
+ "@eslint/js": "^9.25.1",
80
+ "@types/node": "^20.11.5",
81
+ "@types/react": "19.1.0",
82
+ "@types/react-dom": "19.1.2",
83
+ "@typescript-eslint/eslint-plugin": "^8.31.1",
84
+ "@typescript-eslint/parser": "^8.31.1",
85
+ autoprefixer: "^10.4.21",
86
+ cssnano: "^7.0.7",
87
+ eslint: "^9.25.1",
88
+ "eslint-config-prettier": "^10.1.2",
89
+ "eslint-plugin-prettier": "^5.2.6",
90
+ "eslint-plugin-react": "^7.37.2",
91
+ "eslint-plugin-react-hooks": "^5.0.0",
92
+ next: "15.3.1",
93
+ postcss: "^8",
94
+ prettier: "^3.5.3",
95
+ "prettier-plugin-tailwindcss": "^0.5.12",
96
+ react: "^19.1.0",
97
+ "react-dom": "^19.1.0",
98
+ tailwindcss: "^3.4.17",
99
+ tsup: "^8.5.0",
100
+ typescript: "^5.8.3"
101
+ },
102
+ peerDependencies: {
103
+ next: "^15.0.0 || ^14.0.0 || ^13.0.0",
104
+ react: "^19.0.0 || ^18.0.0 || ^17.0.0 ",
105
+ "react-dom": "^19.0.0 || ^18.0.0 || ^17.0.0"
106
+ },
107
+ dependencies: {
108
+ "@headlessui/react": "^2.2.0",
109
+ "@vercel/functions": "^2.0.0",
110
+ "@vercel/stega": "^0.1.2",
111
+ clsx: "^2.1.1",
112
+ "postcss-cli": "^11.0.1",
113
+ "tailwind-merge": "^3.0.1"
114
+ }
115
+ };
116
+
117
+ // src/middleware/index.ts
118
+ function createPreprMiddleware(request, responseOrOptions, options) {
119
+ var _a, _b, _c, _d;
120
+ let response;
121
+ let finalOptions;
122
+ if (responseOrOptions && "headers" in responseOrOptions) {
123
+ response = responseOrOptions;
124
+ finalOptions = options;
125
+ } else {
126
+ response = NextResponse.next();
127
+ finalOptions = responseOrOptions;
128
+ }
129
+ if (!process.env.PREPR_GRAPHQL_URL) {
130
+ console.error("PREPR_GRAPHQL_URL is not set");
131
+ }
132
+ request.nextUrl.searchParams.forEach((value, key) => {
133
+ switch (key) {
134
+ case "utm_source":
135
+ response.headers.set("Prepr-Context-utm_source", value);
136
+ break;
137
+ case "utm_medium":
138
+ response.headers.set("Prepr-Context-utm_medium", value);
139
+ break;
140
+ case "utm_term":
141
+ response.headers.set("Prepr-Context-utm_term", value);
142
+ break;
143
+ case "utm_content":
144
+ response.headers.set("Prepr-Context-utm_content", value);
145
+ break;
146
+ case "utm_campaign":
147
+ response.headers.set("Prepr-Context-utm_campaign", value);
148
+ break;
149
+ }
150
+ });
151
+ const referrer = request.headers.get("referer");
152
+ if (referrer) {
153
+ response.headers.set("Prepr-Context-initial_referral", referrer);
154
+ }
155
+ response.headers.set("Prepr-Package", version);
156
+ const ip = ipAddress(request);
157
+ if (ip) {
158
+ response.headers.set("Prepr-Visitor-IP", ip);
159
+ }
160
+ const hutkCookie = (_a = request.cookies.get("hubspotutk")) == null ? void 0 : _a.value;
161
+ if (hutkCookie) {
162
+ response.headers.set("Prepr-Hubspot-Id", hutkCookie);
163
+ }
164
+ let cookie = (_b = request.cookies.get("__prepr_uid")) == null ? void 0 : _b.value;
165
+ if (!cookie) {
166
+ cookie = crypto.randomUUID();
167
+ response.cookies.set("__prepr_uid", cookie, {
168
+ maxAge: 1 * 365 * 24 * 60
169
+ // Set for one year
170
+ });
171
+ response.headers.set("Prepr-Customer-Id-Created", "true");
172
+ }
173
+ response.headers.set("Prepr-Customer-Id", cookie);
174
+ if (!(finalOptions == null ? void 0 : finalOptions.preview) || process.env.PREPR_ENV !== "preview") {
175
+ return response;
176
+ }
177
+ response.headers.set("Prepr-Preview-Bar", "true");
178
+ const segmentCookie = (_c = request.cookies.get("Prepr-Segments")) == null ? void 0 : _c.value;
179
+ if (segmentCookie) {
180
+ response.headers.set("Prepr-Segments", segmentCookie);
181
+ }
182
+ const abCookie = (_d = request.cookies.get("Prepr-ABtesting")) == null ? void 0 : _d.value;
183
+ if (abCookie) {
184
+ response.headers.set("Prepr-ABtesting", abCookie);
185
+ }
186
+ request.nextUrl.searchParams.forEach((value, key) => {
187
+ if (key === "prepr_preview_ab") {
188
+ response.headers.set("Prepr-ABtesting", value);
189
+ response.cookies.set("Prepr-ABtesting", value);
190
+ }
191
+ if (key === "prepr_preview_segment") {
192
+ response.headers.set("Prepr-Segments", value);
193
+ response.cookies.set("Prepr-Segments", value);
194
+ }
195
+ });
196
+ return response;
197
+ }
198
+
199
+ export { createPreprMiddleware, package_default };
200
+ //# sourceMappingURL=chunk-C6L3X6KZ.js.map
201
+ //# sourceMappingURL=chunk-C6L3X6KZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../package.json","../src/middleware/index.ts"],"names":[],"mappings":";;;;;;AAEE,IAAA,OAAA,GAAW,OAAA;AAFb,IAAA,eAAA,GAAA;AAAA,EACE,IAAA,EAAQ,uBAAA;AAAA,EACR,OAAA;AAAA,EACA,WAAA,EAAe,6GAAA;AAAA,EACf,IAAA,EAAQ,sBAAA;AAAA,EACR,KAAA,EAAS,yBAAA;AAAA,EACT,MAAA,EAAU,uBAAA;AAAA,EACV,IAAA,EAAQ,QAAA;AAAA,EACR,OAAA,EAAW;AAAA,IACT,KAAA,EAAS,MAAA;AAAA,IACT,GAAA,EAAO,cAAA;AAAA,IACP,KAAA,EAAS,aAAA;AAAA,IACT,KAAA,EAAS,kGAAA;AAAA,IACT,GAAA,EAAO,wFAAA;AAAA,IACP,SAAA,EAAa,WAAA;AAAA,IACb,OAAA,EAAW,mBAAA;AAAA,IACX,OAAA,EAAW,qCAAA;AAAA,IACX,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,OAAA,EAAW;AAAA,IACT,cAAA,EAAgB;AAAA,MACd,MAAA,EAAU,4BAAA;AAAA,MACV,KAAA,EAAS,8BAAA;AAAA,MACT,OAAA,EAAW;AAAA,KACb;AAAA,IACA,UAAA,EAAY;AAAA,MACV,MAAA,EAAU,wBAAA;AAAA,MACV,KAAA,EAAS,0BAAA;AAAA,MACT,OAAA,EAAW;AAAA,KACb;AAAA,IACA,SAAA,EAAW;AAAA,MACT,MAAA,EAAU,uBAAA;AAAA,MACV,KAAA,EAAS,yBAAA;AAAA,MACT,OAAA,EAAW;AAAA,KACb;AAAA,IACA,SAAA,EAAW;AAAA,MACT,MAAA,EAAU,uBAAA;AAAA,MACV,KAAA,EAAS,yBAAA;AAAA,MACT,OAAA,EAAW;AAAA,KACb;AAAA,IACA,SAAA,EAAW;AAAA,MACT,MAAA,EAAU,uBAAA;AAAA,MACV,KAAA,EAAS,yBAAA;AAAA,MACT,OAAA,EAAW;AAAA,KACb;AAAA,IACA,aAAA,EAAe;AAAA,MACb,MAAA,EAAU,kBAAA;AAAA,MACV,OAAA,EAAW;AAAA;AACb,GACF;AAAA,EACA,KAAA,EAAS;AAAA,IACP,MAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,QAAA,EAAY;AAAA,IACV,OAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,gBAAA;AAAA,IACA,cAAA;AAAA,IACA,OAAA;AAAA,IACA,YAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,MAAA,EAAU,SAAA;AAAA,EACV,OAAA,EAAW,KAAA;AAAA,EACX,cAAA,EAAkB,aAAA;AAAA,EAClB,eAAA,EAAmB;AAAA,IACjB,iBAAA,EAAmB,SAAA;AAAA,IACnB,YAAA,EAAc,SAAA;AAAA,IACd,aAAA,EAAe,UAAA;AAAA,IACf,cAAA,EAAgB,QAAA;AAAA,IAChB,kBAAA,EAAoB,QAAA;AAAA,IACpB,kCAAA,EAAoC,SAAA;AAAA,IACpC,2BAAA,EAA6B,SAAA;AAAA,IAC7B,YAAA,EAAgB,UAAA;AAAA,IAChB,OAAA,EAAW,QAAA;AAAA,IACX,MAAA,EAAU,SAAA;AAAA,IACV,wBAAA,EAA0B,SAAA;AAAA,IAC1B,wBAAA,EAA0B,QAAA;AAAA,IAC1B,qBAAA,EAAuB,SAAA;AAAA,IACvB,2BAAA,EAA6B,QAAA;AAAA,IAC7B,IAAA,EAAQ,QAAA;AAAA,IACR,OAAA,EAAW,IAAA;AAAA,IACX,QAAA,EAAY,QAAA;AAAA,IACZ,6BAAA,EAA+B,SAAA;AAAA,IAC/B,KAAA,EAAS,SAAA;AAAA,IACT,WAAA,EAAa,SAAA;AAAA,IACb,WAAA,EAAe,SAAA;AAAA,IACf,IAAA,EAAQ,QAAA;AAAA,IACR,UAAA,EAAc;AAAA,GAChB;AAAA,EACA,gBAAA,EAAoB;AAAA,IAClB,IAAA,EAAQ,+BAAA;AAAA,IACR,KAAA,EAAS,gCAAA;AAAA,IACT,WAAA,EAAa;AAAA,GACf;AAAA,EACA,YAAA,EAAgB;AAAA,IACd,mBAAA,EAAqB,QAAA;AAAA,IACrB,mBAAA,EAAqB,QAAA;AAAA,IACrB,eAAA,EAAiB,QAAA;AAAA,IACjB,IAAA,EAAQ,QAAA;AAAA,IACR,aAAA,EAAe,SAAA;AAAA,IACf,gBAAA,EAAkB;AAAA;AAEtB;;;ACpEe,SAAR,qBAAA,CACL,OAAA,EACA,iBAAA,EACA,OAAA,EACc;AA3ChB,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA4CE,EAAA,IAAI,QAAA;AACJ,EAAA,IAAI,YAAA;AAGJ,EAAA,IAAI,iBAAA,IAAqB,aAAa,iBAAA,EAAmB;AAEvD,IAAA,QAAA,GAAW,iBAAA;AACX,IAAA,YAAA,GAAe,OAAA;AAAA,GACjB,MAAO;AAEL,IAAA,QAAA,GAAW,aAAa,IAAA,EAAK;AAC7B,IAAA,YAAA,GAAe,iBAAA;AAAA;AAGjB,EAAA,IAAI,CAAC,OAAA,CAAQ,GAAA,CAAI,iBAAA,EAAmB;AAClC,IAAA,OAAA,CAAQ,MAAM,8BAA8B,CAAA;AAAA;AAI9C,EAAA,OAAA,CAAQ,OAAA,CAAQ,YAAA,CAAa,OAAA,CAAQ,CAAC,OAAO,GAAA,KAAQ;AACnD,IAAA,QAAQ,GAAA;AAAK,MACX,KAAK,YAAA;AACH,QAAA,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,0BAAA,EAA4B,KAAK,CAAA;AACtD,QAAA;AAAA,MACF,KAAK,YAAA;AACH,QAAA,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,0BAAA,EAA4B,KAAK,CAAA;AACtD,QAAA;AAAA,MACF,KAAK,UAAA;AACH,QAAA,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,wBAAA,EAA0B,KAAK,CAAA;AACpD,QAAA;AAAA,MACF,KAAK,aAAA;AACH,QAAA,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,2BAAA,EAA6B,KAAK,CAAA;AACvD,QAAA;AAAA,MACF,KAAK,cAAA;AACH,QAAA,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,4BAAA,EAA8B,KAAK,CAAA;AACxD,QAAA;AAAA;AACJ,GACD,CAAA;AAGD,EAAA,MAAM,QAAA,GAAW,OAAA,CAAQ,OAAA,CAAQ,GAAA,CAAI,SAAS,CAAA;AAC9C,EAAA,IAAI,QAAA,EAAU;AACZ,IAAA,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,gCAAA,EAAkC,QAAQ,CAAA;AAAA;AAIjE,EAAA,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,eAAA,EAAiB,OAAO,CAAA;AAG7C,EAAA,MAAM,EAAA,GAAK,UAAU,OAAO,CAAA;AAC5B,EAAA,IAAI,EAAA,EAAI;AACN,IAAA,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,kBAAA,EAAoB,EAAE,CAAA;AAAA;AAI7C,EAAA,MAAM,cAAa,EAAA,GAAA,OAAA,CAAQ,OAAA,CAAQ,GAAA,CAAI,YAAY,MAAhC,IAAA,GAAA,MAAA,GAAA,EAAA,CAAmC,KAAA;AACtD,EAAA,IAAI,UAAA,EAAY;AACd,IAAA,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,kBAAA,EAAoB,UAAU,CAAA;AAAA;AAIrD,EAAA,IAAI,UAAS,EAAA,GAAA,OAAA,CAAQ,OAAA,CAAQ,GAAA,CAAI,aAAa,MAAjC,IAAA,GAAA,MAAA,GAAA,EAAA,CAAoC,KAAA;AACjD,EAAA,IAAI,CAAC,MAAA,EAAQ;AACX,IAAA,MAAA,GAAS,OAAO,UAAA,EAAW;AAC3B,IAAA,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,aAAA,EAAe,MAAA,EAAQ;AAAA,MAC1C,MAAA,EAAQ,CAAA,GAAI,GAAA,GAAM,EAAA,GAAK;AAAA;AAAA,KACxB,CAAA;AACD,IAAA,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,2BAAA,EAA6B,MAAM,CAAA;AAAA;AAI1D,EAAA,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,mBAAA,EAAqB,MAAM,CAAA;AAGhD,EAAA,IAAI,EAAC,YAAA,IAAA,IAAA,GAAA,MAAA,GAAA,YAAA,CAAc,OAAA,CAAA,IAAW,OAAA,CAAQ,GAAA,CAAI,cAAc,SAAA,EAAW;AACjE,IAAA,OAAO,QAAA;AAAA;AAIT,EAAA,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,mBAAA,EAAqB,MAAM,CAAA;AAGhD,EAAA,MAAM,iBAAgB,EAAA,GAAA,OAAA,CAAQ,OAAA,CAAQ,GAAA,CAAI,gBAAgB,MAApC,IAAA,GAAA,MAAA,GAAA,EAAA,CAAuC,KAAA;AAC7D,EAAA,IAAI,aAAA,EAAe;AACjB,IAAA,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,gBAAA,EAAkB,aAAa,CAAA;AAAA;AAGtD,EAAA,MAAM,YAAW,EAAA,GAAA,OAAA,CAAQ,OAAA,CAAQ,GAAA,CAAI,iBAAiB,MAArC,IAAA,GAAA,MAAA,GAAA,EAAA,CAAwC,KAAA;AACzD,EAAA,IAAI,QAAA,EAAU;AACZ,IAAA,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,iBAAA,EAAmB,QAAQ,CAAA;AAAA;AAIlD,EAAA,OAAA,CAAQ,OAAA,CAAQ,YAAA,CAAa,OAAA,CAAQ,CAAC,OAAO,GAAA,KAAQ;AACnD,IAAA,IAAI,QAAQ,kBAAA,EAAoB;AAC9B,MAAA,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,iBAAA,EAAmB,KAAK,CAAA;AAC7C,MAAA,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,iBAAA,EAAmB,KAAK,CAAA;AAAA;AAG/C,IAAA,IAAI,QAAQ,uBAAA,EAAyB;AACnC,MAAA,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,gBAAA,EAAkB,KAAK,CAAA;AAC5C,MAAA,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,gBAAA,EAAkB,KAAK,CAAA;AAAA;AAC9C,GACD,CAAA;AAED,EAAA,OAAO,QAAA;AACT","file":"chunk-C6L3X6KZ.js","sourcesContent":["{\n \"name\": \"@preprio/prepr-nextjs\",\n \"version\": \"2.0.0\",\n \"description\": \"Next.js package for Prepr CMS preview functionality with advanced debugging and visual editing capabilities\",\n \"main\": \"dist/react/index.cjs\",\n \"types\": \"./dist/react/index.d.ts\",\n \"module\": \"./dist/react/index.js\",\n \"type\": \"module\",\n \"scripts\": {\n \"build\": \"tsup\",\n \"dev\": \"tsup --watch\",\n \"clean\": \"rm -rf dist\",\n \"check\": \"tsc --noEmit && eslint src --ext .ts,.tsx && prettier --check \\\"src/**/*.{ts,tsx,js,jsx,json,md}\\\"\",\n \"fix\": \"eslint src --ext .ts,.tsx --fix && prettier --write \\\"src/**/*.{ts,tsx,js,jsx,json,md}\\\"\",\n \"changeset\": \"changeset\",\n \"version\": \"changeset version\",\n \"release\": \"pnpm run build && changeset publish\",\n \"prepublishOnly\": \"pnpm run check && pnpm run build\"\n },\n \"exports\": {\n \"./middleware\": {\n \"import\": \"./dist/middleware/index.js\",\n \"types\": \"./dist/middleware/index.d.ts\",\n \"require\": \"./dist/middleware/index.cjs\"\n },\n \"./server\": {\n \"import\": \"./dist/server/index.js\",\n \"types\": \"./dist/server/index.d.ts\",\n \"require\": \"./dist/server/index.cjs\"\n },\n \"./react\": {\n \"import\": \"./dist/react/index.js\",\n \"types\": \"./dist/react/index.d.ts\",\n \"require\": \"./dist/react/index.cjs\"\n },\n \"./utils\": {\n \"import\": \"./dist/utils/index.js\",\n \"types\": \"./dist/utils/index.d.ts\",\n \"require\": \"./dist/utils/index.cjs\"\n },\n \"./types\": {\n \"import\": \"./dist/types/index.js\",\n \"types\": \"./dist/types/index.d.ts\",\n \"require\": \"./dist/types/index.cjs\"\n },\n \"./index.css\": {\n \"import\": \"./dist/index.css\",\n \"require\": \"./dist/index.css\"\n }\n },\n \"files\": [\n \"dist\",\n \"package.json\"\n ],\n \"keywords\": [\n \"prepr\",\n \"cms\",\n \"nextjs\",\n \"preview\",\n \"visual-editing\",\n \"headless-cms\",\n \"react\",\n \"typescript\",\n \"debug\",\n \"stega\"\n ],\n \"author\": \"Preprio\",\n \"license\": \"MIT\",\n \"packageManager\": \"pnpm@10.5.2\",\n \"devDependencies\": {\n \"@changesets/cli\": \"^2.29.5\",\n \"@eslint/js\": \"^9.25.1\",\n \"@types/node\": \"^20.11.5\",\n \"@types/react\": \"19.1.0\",\n \"@types/react-dom\": \"19.1.2\",\n \"@typescript-eslint/eslint-plugin\": \"^8.31.1\",\n \"@typescript-eslint/parser\": \"^8.31.1\",\n \"autoprefixer\": \"^10.4.21\",\n \"cssnano\": \"^7.0.7\",\n \"eslint\": \"^9.25.1\",\n \"eslint-config-prettier\": \"^10.1.2\",\n \"eslint-plugin-prettier\": \"^5.2.6\",\n \"eslint-plugin-react\": \"^7.37.2\",\n \"eslint-plugin-react-hooks\": \"^5.0.0\",\n \"next\": \"15.3.1\",\n \"postcss\": \"^8\",\n \"prettier\": \"^3.5.3\",\n \"prettier-plugin-tailwindcss\": \"^0.5.12\",\n \"react\": \"^19.1.0\",\n \"react-dom\": \"^19.1.0\",\n \"tailwindcss\": \"^3.4.17\",\n \"tsup\": \"^8.5.0\",\n \"typescript\": \"^5.8.3\"\n },\n \"peerDependencies\": {\n \"next\": \"^15.0.0 || ^14.0.0 || ^13.0.0\",\n \"react\": \"^19.0.0 || ^18.0.0 || ^17.0.0 \",\n \"react-dom\": \"^19.0.0 || ^18.0.0 || ^17.0.0\"\n },\n \"dependencies\": {\n \"@headlessui/react\": \"^2.2.0\",\n \"@vercel/functions\": \"^2.0.0\",\n \"@vercel/stega\": \"^0.1.2\",\n \"clsx\": \"^2.1.1\",\n \"postcss-cli\": \"^11.0.1\",\n \"tailwind-merge\": \"^3.0.1\"\n }\n}\n","import { ipAddress } from '@vercel/functions';\nimport { NextRequest, NextResponse } from 'next/server';\nimport { version } from '../../package.json';\n\nexport interface PreprMiddlewareOptions {\n preview?: boolean;\n}\n\n/**\n * Middleware to set Prepr headers for personalization.\n *\n * @overload\n * @param request - NextRequest object\n * @param options - Options object\n * @returns NextResponse with Prepr headers set\n */\nexport default function createPreprMiddleware(\n request: NextRequest,\n options?: PreprMiddlewareOptions\n): NextResponse;\n\n/**\n * Middleware to set Prepr headers for personalization.\n *\n * @overload\n * @param request - NextRequest object\n * @param response - NextResponse object to chain with\n * @param options - Options object\n * @returns NextResponse with Prepr headers set\n */\nexport default function createPreprMiddleware(\n request: NextRequest,\n response: NextResponse,\n options?: PreprMiddlewareOptions\n): NextResponse;\n\n/**\n * Implementation of createPreprMiddleware with function overloads\n */\nexport default function createPreprMiddleware(\n request: NextRequest,\n responseOrOptions?: NextResponse | PreprMiddlewareOptions,\n options?: PreprMiddlewareOptions\n): NextResponse {\n let response: NextResponse;\n let finalOptions: PreprMiddlewareOptions | undefined;\n\n // Handle overloads\n if (responseOrOptions && 'headers' in responseOrOptions) {\n // Second parameter is NextResponse\n response = responseOrOptions;\n finalOptions = options;\n } else {\n // Second parameter is options or undefined\n response = NextResponse.next();\n finalOptions = responseOrOptions as PreprMiddlewareOptions | undefined;\n }\n\n if (!process.env.PREPR_GRAPHQL_URL) {\n console.error('PREPR_GRAPHQL_URL is not set');\n }\n\n // Map over search params and set headers\n request.nextUrl.searchParams.forEach((value, key) => {\n switch (key) {\n case 'utm_source':\n response.headers.set('Prepr-Context-utm_source', value);\n break;\n case 'utm_medium':\n response.headers.set('Prepr-Context-utm_medium', value);\n break;\n case 'utm_term':\n response.headers.set('Prepr-Context-utm_term', value);\n break;\n case 'utm_content':\n response.headers.set('Prepr-Context-utm_content', value);\n break;\n case 'utm_campaign':\n response.headers.set('Prepr-Context-utm_campaign', value);\n break;\n }\n });\n\n // Set initial referral header\n const referrer = request.headers.get('referer');\n if (referrer) {\n response.headers.set('Prepr-Context-initial_referral', referrer);\n }\n\n // Set Prepr version header\n response.headers.set('Prepr-Package', version);\n\n // Set IP address header\n const ip = ipAddress(request);\n if (ip) {\n response.headers.set('Prepr-Visitor-IP', ip);\n }\n\n // Set HubSpot cookie header\n const hutkCookie = request.cookies.get('hubspotutk')?.value;\n if (hutkCookie) {\n response.headers.set('Prepr-Hubspot-Id', hutkCookie);\n }\n\n // Check for existing Prepr UID cookie or create a new one\n let cookie = request.cookies.get('__prepr_uid')?.value;\n if (!cookie) {\n cookie = crypto.randomUUID();\n response.cookies.set('__prepr_uid', cookie, {\n maxAge: 1 * 365 * 24 * 60, // Set for one year\n });\n response.headers.set('Prepr-Customer-Id-Created', 'true');\n }\n\n // Set the Prepr Customer ID header\n response.headers.set('Prepr-Customer-Id', cookie);\n\n // If preview mode is not enabled, return the response\n if (!finalOptions?.preview || process.env.PREPR_ENV !== 'preview') {\n return response;\n }\n\n // If preview mode is enabled, set additional headers\n response.headers.set('Prepr-Preview-Bar', 'true');\n\n // Set Prepr Preview Segment and AB test cookies\n const segmentCookie = request.cookies.get('Prepr-Segments')?.value;\n if (segmentCookie) {\n response.headers.set('Prepr-Segments', segmentCookie);\n }\n\n const abCookie = request.cookies.get('Prepr-ABtesting')?.value;\n if (abCookie) {\n response.headers.set('Prepr-ABtesting', abCookie);\n }\n\n // Set Prepr Preview Segment and AB test headers from query params\n request.nextUrl.searchParams.forEach((value, key) => {\n if (key === 'prepr_preview_ab') {\n response.headers.set('Prepr-ABtesting', value);\n response.cookies.set('Prepr-ABtesting', value);\n }\n\n if (key === 'prepr_preview_segment') {\n response.headers.set('Prepr-Segments', value);\n response.cookies.set('Prepr-Segments', value);\n }\n });\n\n return response;\n}\n"]}
@@ -0,0 +1,201 @@
1
+ // src/middleware/index.ts
2
+ import { ipAddress } from "@vercel/functions";
3
+ import { NextResponse } from "next/server";
4
+
5
+ // package.json
6
+ var version = "2.0.0-alpha.12";
7
+ var package_default = {
8
+ name: "@preprio/prepr-nextjs",
9
+ version,
10
+ description: "Next.js package for Prepr CMS preview functionality with advanced debugging and visual editing capabilities",
11
+ main: "dist/react/index.cjs",
12
+ types: "./dist/react/index.d.ts",
13
+ module: "./dist/react/index.js",
14
+ type: "module",
15
+ scripts: {
16
+ build: "tsup",
17
+ dev: "tsup --watch",
18
+ clean: "rm -rf dist",
19
+ check: 'tsc --noEmit && eslint src --ext .ts,.tsx && prettier --check "src/**/*.{ts,tsx,js,jsx,json,md}"',
20
+ fix: 'eslint src --ext .ts,.tsx --fix && prettier --write "src/**/*.{ts,tsx,js,jsx,json,md}"',
21
+ changeset: "changeset",
22
+ version: "changeset version",
23
+ release: "pnpm run build && changeset publish",
24
+ prepublishOnly: "pnpm run check && pnpm run build"
25
+ },
26
+ exports: {
27
+ "./middleware": {
28
+ import: "./dist/middleware/index.js",
29
+ types: "./dist/middleware/index.d.ts",
30
+ require: "./dist/middleware/index.cjs"
31
+ },
32
+ "./server": {
33
+ import: "./dist/server/index.js",
34
+ types: "./dist/server/index.d.ts",
35
+ require: "./dist/server/index.cjs"
36
+ },
37
+ "./react": {
38
+ import: "./dist/react/index.js",
39
+ types: "./dist/react/index.d.ts",
40
+ require: "./dist/react/index.cjs"
41
+ },
42
+ "./utils": {
43
+ import: "./dist/utils/index.js",
44
+ types: "./dist/utils/index.d.ts",
45
+ require: "./dist/utils/index.cjs"
46
+ },
47
+ "./types": {
48
+ import: "./dist/types/index.js",
49
+ types: "./dist/types/index.d.ts",
50
+ require: "./dist/types/index.cjs"
51
+ },
52
+ "./index.css": {
53
+ import: "./dist/index.css",
54
+ require: "./dist/index.css"
55
+ }
56
+ },
57
+ files: [
58
+ "dist",
59
+ "package.json"
60
+ ],
61
+ keywords: [
62
+ "prepr",
63
+ "cms",
64
+ "nextjs",
65
+ "preview",
66
+ "visual-editing",
67
+ "headless-cms",
68
+ "react",
69
+ "typescript",
70
+ "debug",
71
+ "stega"
72
+ ],
73
+ author: "Preprio",
74
+ license: "MIT",
75
+ packageManager: "pnpm@10.5.2",
76
+ devDependencies: {
77
+ "@changesets/cli": "^2.29.5",
78
+ "@eslint/js": "^9.25.1",
79
+ "@types/node": "^20.11.5",
80
+ "@types/react": "19.1.0",
81
+ "@types/react-dom": "19.1.2",
82
+ "@typescript-eslint/eslint-plugin": "^8.31.1",
83
+ "@typescript-eslint/parser": "^8.31.1",
84
+ autoprefixer: "^10.4.21",
85
+ cssnano: "^7.0.7",
86
+ eslint: "^9.25.1",
87
+ "eslint-config-prettier": "^10.1.2",
88
+ "eslint-plugin-prettier": "^5.2.6",
89
+ "eslint-plugin-react": "^7.37.2",
90
+ "eslint-plugin-react-hooks": "^5.0.0",
91
+ next: "15.3.1",
92
+ postcss: "^8",
93
+ prettier: "^3.5.3",
94
+ "prettier-plugin-tailwindcss": "^0.5.12",
95
+ react: "^19.1.0",
96
+ "react-dom": "^19.1.0",
97
+ tailwindcss: "^3.4.17",
98
+ tsup: "^8.5.0",
99
+ typescript: "^5.8.3"
100
+ },
101
+ peerDependencies: {
102
+ next: "^15.0.0 || ^14.0.0 || ^13.0.0",
103
+ react: "^19.0.0 || ^18.0.0 || ^17.0.0 ",
104
+ "react-dom": "^19.0.0 || ^18.0.0 || ^17.0.0"
105
+ },
106
+ dependencies: {
107
+ "@headlessui/react": "^2.2.0",
108
+ "@vercel/functions": "^2.0.0",
109
+ "@vercel/stega": "^0.1.2",
110
+ clsx: "^2.1.1",
111
+ "postcss-cli": "^11.0.1",
112
+ "tailwind-merge": "^3.0.1"
113
+ }
114
+ };
115
+
116
+ // src/middleware/index.ts
117
+ function createPreprMiddleware(request, responseOrOptions, options) {
118
+ var _a, _b, _c, _d;
119
+ let response;
120
+ let finalOptions;
121
+ if (responseOrOptions && "headers" in responseOrOptions) {
122
+ response = responseOrOptions;
123
+ finalOptions = options;
124
+ } else {
125
+ response = NextResponse.next();
126
+ finalOptions = responseOrOptions;
127
+ }
128
+ if (!process.env.PREPR_GRAPHQL_URL) {
129
+ console.error("PREPR_GRAPHQL_URL is not set");
130
+ }
131
+ request.nextUrl.searchParams.forEach((value, key) => {
132
+ switch (key) {
133
+ case "utm_source":
134
+ response.headers.set("Prepr-Context-utm_source", value);
135
+ break;
136
+ case "utm_medium":
137
+ response.headers.set("Prepr-Context-utm_medium", value);
138
+ break;
139
+ case "utm_term":
140
+ response.headers.set("Prepr-Context-utm_term", value);
141
+ break;
142
+ case "utm_content":
143
+ response.headers.set("Prepr-Context-utm_content", value);
144
+ break;
145
+ case "utm_campaign":
146
+ response.headers.set("Prepr-Context-utm_campaign", value);
147
+ break;
148
+ }
149
+ });
150
+ const referrer = request.headers.get("referer");
151
+ if (referrer) {
152
+ response.headers.set("Prepr-Context-initial_referral", referrer);
153
+ }
154
+ response.headers.set("Prepr-Package", version);
155
+ const ip = ipAddress(request);
156
+ if (ip) {
157
+ response.headers.set("Prepr-Visitor-IP", ip);
158
+ }
159
+ const hutkCookie = (_a = request.cookies.get("hubspotutk")) == null ? void 0 : _a.value;
160
+ if (hutkCookie) {
161
+ response.headers.set("Prepr-Hubspot-Id", hutkCookie);
162
+ }
163
+ let cookie = (_b = request.cookies.get("__prepr_uid")) == null ? void 0 : _b.value;
164
+ if (!cookie) {
165
+ cookie = crypto.randomUUID();
166
+ response.cookies.set("__prepr_uid", cookie, {
167
+ maxAge: 1 * 365 * 24 * 60
168
+ // Set for one year
169
+ });
170
+ response.headers.set("Prepr-Customer-Id-Created", "true");
171
+ }
172
+ response.headers.set("Prepr-Customer-Id", cookie);
173
+ if (!(finalOptions == null ? void 0 : finalOptions.preview) || process.env.PREPR_ENV !== "preview") {
174
+ return response;
175
+ }
176
+ response.headers.set("Prepr-Preview-Bar", "true");
177
+ const segmentCookie = (_c = request.cookies.get("Prepr-Segments")) == null ? void 0 : _c.value;
178
+ if (segmentCookie) {
179
+ response.headers.set("Prepr-Segments", segmentCookie);
180
+ }
181
+ const abCookie = (_d = request.cookies.get("Prepr-ABtesting")) == null ? void 0 : _d.value;
182
+ if (abCookie) {
183
+ response.headers.set("Prepr-ABtesting", abCookie);
184
+ }
185
+ request.nextUrl.searchParams.forEach((value, key) => {
186
+ if (key === "prepr_preview_ab") {
187
+ response.headers.set("Prepr-ABtesting", value);
188
+ response.cookies.set("Prepr-ABtesting", value);
189
+ }
190
+ if (key === "prepr_preview_segment") {
191
+ response.headers.set("Prepr-Segments", value);
192
+ response.cookies.set("Prepr-Segments", value);
193
+ }
194
+ });
195
+ return response;
196
+ }
197
+
198
+ export {
199
+ package_default,
200
+ createPreprMiddleware
201
+ };
@@ -0,0 +1,2 @@
1
+ var t="2.0.0";var i={name:"@preprio/prepr-nextjs",version:t,description:"Next.js package for Prepr CMS preview functionality with advanced debugging and visual editing capabilities",main:"dist/react/index.cjs",types:"./dist/react/index.d.ts",module:"./dist/react/index.js",type:"module",scripts:{build:"tsup",dev:"tsup --watch",clean:"rm -rf dist",check:'tsc --noEmit && eslint src --ext .ts,.tsx && prettier --check "src/**/*.{ts,tsx,js,jsx,json,md}"',fix:'eslint src --ext .ts,.tsx --fix && prettier --write "src/**/*.{ts,tsx,js,jsx,json,md}"',changeset:"changeset",version:"changeset version",release:"pnpm run build && changeset publish",prepublishOnly:"pnpm run check && pnpm run build"},exports:{"./middleware":{import:"./dist/middleware/index.js",types:"./dist/middleware/index.d.ts",require:"./dist/middleware/index.cjs"},"./server":{import:"./dist/server/index.js",types:"./dist/server/index.d.ts",require:"./dist/server/index.cjs"},"./react":{import:"./dist/react/index.js",types:"./dist/react/index.d.ts",require:"./dist/react/index.cjs"},"./utils":{import:"./dist/utils/index.js",types:"./dist/utils/index.d.ts",require:"./dist/utils/index.cjs"},"./types":{import:"./dist/types/index.js",types:"./dist/types/index.d.ts",require:"./dist/types/index.cjs"},"./index.css":{import:"./dist/index.css",require:"./dist/index.css"}},files:["dist","package.json"],keywords:["prepr","cms","nextjs","preview","visual-editing","headless-cms","react","typescript","debug","stega"],author:"Preprio",license:"MIT",packageManager:"pnpm@10.5.2",devDependencies:{"@changesets/cli":"^2.29.5","@eslint/js":"^9.25.1","@types/node":"^20.11.5","@types/react":"19.1.0","@types/react-dom":"19.1.2","@typescript-eslint/eslint-plugin":"^8.31.1","@typescript-eslint/parser":"^8.31.1",autoprefixer:"^10.4.21",cssnano:"^7.0.7",eslint:"^9.25.1","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","eslint-plugin-react":"^7.37.2","eslint-plugin-react-hooks":"^5.0.0",next:"15.3.1",postcss:"^8",prettier:"^3.5.3","prettier-plugin-tailwindcss":"^0.5.12",react:"^19.1.0","react-dom":"^19.1.0",tailwindcss:"^3.4.17",tsup:"^8.5.0",typescript:"^5.8.3"},peerDependencies:{next:"^15.0.0 || ^14.0.0 || ^13.0.0",react:"^19.0.0 || ^18.0.0 || ^17.0.0 ","react-dom":"^19.0.0 || ^18.0.0 || ^17.0.0"},dependencies:{"@headlessui/react":"^2.2.0","@vercel/functions":"^2.0.0","@vercel/stega":"^0.1.2",clsx:"^2.1.1","postcss-cli":"^11.0.1","tailwind-merge":"^3.0.1"}};export{t as a,i as b};//# sourceMappingURL=chunk-IL3U74YL.js.map
2
+ //# sourceMappingURL=chunk-IL3U74YL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../package.json"],"names":["version","package_default"],"mappings":"AAEE,IAAAA,CAAAA,CAAW,QAFb,IAAAC,CAAAA,CAAA,CACE,IAAA,CAAQ,uBAAA,CACR,QAAAD,CAAAA,CACA,WAAA,CAAe,8GACf,IAAA,CAAQ,sBAAA,CACR,MAAS,yBAAA,CACT,MAAA,CAAU,wBACV,IAAA,CAAQ,QAAA,CACR,QAAW,CACT,KAAA,CAAS,OACT,GAAA,CAAO,cAAA,CACP,MAAS,aAAA,CACT,KAAA,CAAS,mGACT,GAAA,CAAO,wFAAA,CACP,UAAa,WAAA,CACb,OAAA,CAAW,oBACX,OAAA,CAAW,qCAAA,CACX,eAAkB,kCACpB,CAAA,CACA,QAAW,CACT,cAAA,CAAgB,CACd,MAAA,CAAU,4BAAA,CACV,MAAS,8BAAA,CACT,OAAA,CAAW,6BACb,CAAA,CACA,UAAA,CAAY,CACV,MAAA,CAAU,wBAAA,CACV,MAAS,0BAAA,CACT,OAAA,CAAW,yBACb,CAAA,CACA,SAAA,CAAW,CACT,MAAA,CAAU,uBAAA,CACV,MAAS,yBAAA,CACT,OAAA,CAAW,wBACb,CAAA,CACA,SAAA,CAAW,CACT,MAAA,CAAU,uBAAA,CACV,MAAS,yBAAA,CACT,OAAA,CAAW,wBACb,CAAA,CACA,SAAA,CAAW,CACT,MAAA,CAAU,uBAAA,CACV,MAAS,yBAAA,CACT,OAAA,CAAW,wBACb,CAAA,CACA,aAAA,CAAe,CACb,MAAA,CAAU,kBAAA,CACV,OAAA,CAAW,kBACb,CACF,CAAA,CACA,MAAS,CACP,MAAA,CACA,cACF,CAAA,CACA,QAAA,CAAY,CACV,OAAA,CACA,KAAA,CACA,SACA,SAAA,CACA,gBAAA,CACA,eACA,OAAA,CACA,YAAA,CACA,QACA,OACF,CAAA,CACA,OAAU,SAAA,CACV,OAAA,CAAW,MACX,cAAA,CAAkB,aAAA,CAClB,gBAAmB,CACjB,iBAAA,CAAmB,UACnB,YAAA,CAAc,SAAA,CACd,cAAe,UAAA,CACf,cAAA,CAAgB,SAChB,kBAAA,CAAoB,QAAA,CACpB,mCAAoC,SAAA,CACpC,2BAAA,CAA6B,UAC7B,YAAA,CAAgB,UAAA,CAChB,QAAW,QAAA,CACX,MAAA,CAAU,SAAA,CACV,wBAAA,CAA0B,SAAA,CAC1B,wBAAA,CAA0B,SAC1B,qBAAA,CAAuB,SAAA,CACvB,4BAA6B,QAAA,CAC7B,IAAA,CAAQ,SACR,OAAA,CAAW,IAAA,CACX,SAAY,QAAA,CACZ,6BAAA,CAA+B,UAC/B,KAAA,CAAS,SAAA,CACT,YAAa,SAAA,CACb,WAAA,CAAe,UACf,IAAA,CAAQ,QAAA,CACR,WAAc,QAChB,CAAA,CACA,iBAAoB,CAClB,IAAA,CAAQ,gCACR,KAAA,CAAS,gCAAA,CACT,YAAa,+BACf,CAAA,CACA,aAAgB,CACd,mBAAA,CAAqB,SACrB,mBAAA,CAAqB,QAAA,CACrB,gBAAiB,QAAA,CACjB,IAAA,CAAQ,SACR,aAAA,CAAe,SAAA,CACf,gBAAA,CAAkB,QACpB,CACF","file":"chunk-IL3U74YL.js","sourcesContent":["{\n \"name\": \"@preprio/prepr-nextjs\",\n \"version\": \"2.0.0\",\n \"description\": \"Next.js package for Prepr CMS preview functionality with advanced debugging and visual editing capabilities\",\n \"main\": \"dist/react/index.cjs\",\n \"types\": \"./dist/react/index.d.ts\",\n \"module\": \"./dist/react/index.js\",\n \"type\": \"module\",\n \"scripts\": {\n \"build\": \"tsup\",\n \"dev\": \"tsup --watch\",\n \"clean\": \"rm -rf dist\",\n \"check\": \"tsc --noEmit && eslint src --ext .ts,.tsx && prettier --check \\\"src/**/*.{ts,tsx,js,jsx,json,md}\\\"\",\n \"fix\": \"eslint src --ext .ts,.tsx --fix && prettier --write \\\"src/**/*.{ts,tsx,js,jsx,json,md}\\\"\",\n \"changeset\": \"changeset\",\n \"version\": \"changeset version\",\n \"release\": \"pnpm run build && changeset publish\",\n \"prepublishOnly\": \"pnpm run check && pnpm run build\"\n },\n \"exports\": {\n \"./middleware\": {\n \"import\": \"./dist/middleware/index.js\",\n \"types\": \"./dist/middleware/index.d.ts\",\n \"require\": \"./dist/middleware/index.cjs\"\n },\n \"./server\": {\n \"import\": \"./dist/server/index.js\",\n \"types\": \"./dist/server/index.d.ts\",\n \"require\": \"./dist/server/index.cjs\"\n },\n \"./react\": {\n \"import\": \"./dist/react/index.js\",\n \"types\": \"./dist/react/index.d.ts\",\n \"require\": \"./dist/react/index.cjs\"\n },\n \"./utils\": {\n \"import\": \"./dist/utils/index.js\",\n \"types\": \"./dist/utils/index.d.ts\",\n \"require\": \"./dist/utils/index.cjs\"\n },\n \"./types\": {\n \"import\": \"./dist/types/index.js\",\n \"types\": \"./dist/types/index.d.ts\",\n \"require\": \"./dist/types/index.cjs\"\n },\n \"./index.css\": {\n \"import\": \"./dist/index.css\",\n \"require\": \"./dist/index.css\"\n }\n },\n \"files\": [\n \"dist\",\n \"package.json\"\n ],\n \"keywords\": [\n \"prepr\",\n \"cms\",\n \"nextjs\",\n \"preview\",\n \"visual-editing\",\n \"headless-cms\",\n \"react\",\n \"typescript\",\n \"debug\",\n \"stega\"\n ],\n \"author\": \"Preprio\",\n \"license\": \"MIT\",\n \"packageManager\": \"pnpm@10.5.2\",\n \"devDependencies\": {\n \"@changesets/cli\": \"^2.29.5\",\n \"@eslint/js\": \"^9.25.1\",\n \"@types/node\": \"^20.11.5\",\n \"@types/react\": \"19.1.0\",\n \"@types/react-dom\": \"19.1.2\",\n \"@typescript-eslint/eslint-plugin\": \"^8.31.1\",\n \"@typescript-eslint/parser\": \"^8.31.1\",\n \"autoprefixer\": \"^10.4.21\",\n \"cssnano\": \"^7.0.7\",\n \"eslint\": \"^9.25.1\",\n \"eslint-config-prettier\": \"^10.1.2\",\n \"eslint-plugin-prettier\": \"^5.2.6\",\n \"eslint-plugin-react\": \"^7.37.2\",\n \"eslint-plugin-react-hooks\": \"^5.0.0\",\n \"next\": \"15.3.1\",\n \"postcss\": \"^8\",\n \"prettier\": \"^3.5.3\",\n \"prettier-plugin-tailwindcss\": \"^0.5.12\",\n \"react\": \"^19.1.0\",\n \"react-dom\": \"^19.1.0\",\n \"tailwindcss\": \"^3.4.17\",\n \"tsup\": \"^8.5.0\",\n \"typescript\": \"^5.8.3\"\n },\n \"peerDependencies\": {\n \"next\": \"^15.0.0 || ^14.0.0 || ^13.0.0\",\n \"react\": \"^19.0.0 || ^18.0.0 || ^17.0.0 \",\n \"react-dom\": \"^19.0.0 || ^18.0.0 || ^17.0.0\"\n },\n \"dependencies\": {\n \"@headlessui/react\": \"^2.2.0\",\n \"@vercel/functions\": \"^2.0.0\",\n \"@vercel/stega\": \"^0.1.2\",\n \"clsx\": \"^2.1.1\",\n \"postcss-cli\": \"^11.0.1\",\n \"tailwind-merge\": \"^3.0.1\"\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {ipAddress}from'@vercel/functions';import {NextResponse}from'next/server';var h="2.0.3";var v={name:"@preprio/prepr-nextjs",version:h,description:"Next.js package for Prepr CMS preview functionality with advanced debugging and visual editing capabilities",main:"dist/react/index.cjs",types:"./dist/react/index.d.ts",module:"./dist/react/index.js",type:"module",scripts:{build:"tsup",dev:"tsup --watch",clean:"rm -rf dist",check:'tsc --noEmit && eslint src --ext .ts,.tsx && prettier --check "src/**/*.{ts,tsx,js,jsx,json,md}"',fix:'eslint src --ext .ts,.tsx --fix && prettier --write "src/**/*.{ts,tsx,js,jsx,json,md}"',changeset:"changeset",version:"changeset version",release:"pnpm run build && changeset publish",prepublishOnly:"pnpm run check && pnpm run build"},exports:{"./middleware":{import:"./dist/middleware/index.js",types:"./dist/middleware/index.d.ts",require:"./dist/middleware/index.cjs"},"./server":{import:"./dist/server/index.js",types:"./dist/server/index.d.ts",require:"./dist/server/index.cjs"},"./react":{import:"./dist/react/index.js",types:"./dist/react/index.d.ts",require:"./dist/react/index.cjs"},"./utils":{import:"./dist/utils/index.js",types:"./dist/utils/index.d.ts",require:"./dist/utils/index.cjs"},"./types":{import:"./dist/types/index.js",types:"./dist/types/index.d.ts",require:"./dist/types/index.cjs"},"./index.css":{import:"./dist/index.css",require:"./dist/index.css"}},files:["dist","package.json"],keywords:["prepr","cms","nextjs","preview","visual-editing","headless-cms","react","typescript","debug","stega"],author:"Preprio",license:"MIT",packageManager:"pnpm@10.5.2",devDependencies:{"@changesets/cli":"^2.29.5","@eslint/js":"^9.25.1","@types/node":"^20.11.5","@types/react":"19.1.0","@types/react-dom":"19.1.2","@typescript-eslint/eslint-plugin":"^8.31.1","@typescript-eslint/parser":"^8.31.1",autoprefixer:"^10.4.21",cssnano:"^7.0.7",eslint:"^9.25.1","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","eslint-plugin-react":"^7.37.2","eslint-plugin-react-hooks":"^5.0.0",next:"15.3.1",postcss:"^8",prettier:"^3.5.3","prettier-plugin-tailwindcss":"^0.5.12",react:"^19.1.0","react-dom":"^19.1.0",tailwindcss:"^3.4.17",tsup:"^8.5.0",typescript:"^5.8.3"},peerDependencies:{next:"^15.0.0 || ^14.0.0 || ^13.0.0",react:"^19.0.0 || ^18.0.0 || ^17.0.0 ","react-dom":"^19.0.0 || ^18.0.0 || ^17.0.0"},dependencies:{"@headlessui/react":"^2.2.0","@vercel/functions":"^2.0.0","@vercel/stega":"^0.1.2",clsx:"^2.1.1","postcss-cli":"^11.0.1","tailwind-merge":"^3.0.1"}};function _(t,i,f){var u,m,x,g;let e,r;i&&"headers"in i?(e=i,r=f):(e=NextResponse.next(),r=i),process.env.PREPR_GRAPHQL_URL||console.error("PREPR_GRAPHQL_URL is not set"),t.nextUrl.searchParams.forEach((s,p)=>{switch(p){case "utm_source":e.headers.set("Prepr-Context-utm_source",s);break;case "utm_medium":e.headers.set("Prepr-Context-utm_medium",s);break;case "utm_term":e.headers.set("Prepr-Context-utm_term",s);break;case "utm_content":e.headers.set("Prepr-Context-utm_content",s);break;case "utm_campaign":e.headers.set("Prepr-Context-utm_campaign",s);break}});let a=t.headers.get("referer");a&&e.headers.set("Prepr-Context-initial_referral",a),e.headers.set("Prepr-Package",h);let d=ipAddress(t)||null;t.headers.get("Cf-Connecting-Ip")&&(d=t.headers.get("Cf-Connecting-Ip")),d&&e.headers.set("Prepr-Visitor-IP",d);let o=(u=t.cookies.get("hubspotutk"))==null?void 0:u.value;o&&e.headers.set("Prepr-Hubspot-Id",o);let n=(m=t.cookies.get("__prepr_uid"))==null?void 0:m.value;if(n||(n=crypto.randomUUID(),e.cookies.set("__prepr_uid",n,{maxAge:1*365*24*60}),e.headers.set("Prepr-Customer-Id-Created","true")),e.headers.set("Prepr-Customer-Id",n),!(r!=null&&r.preview)||process.env.PREPR_ENV!=="preview")return e;e.headers.set("Prepr-Preview-Bar","true");let c=(x=t.cookies.get("Prepr-Segments"))==null?void 0:x.value;c&&e.headers.set("Prepr-Segments",c);let l=(g=t.cookies.get("Prepr-ABtesting"))==null?void 0:g.value;return l&&e.headers.set("Prepr-ABtesting",l),t.nextUrl.searchParams.forEach((s,p)=>{p==="prepr_preview_ab"&&(e.headers.set("Prepr-ABtesting",s),e.cookies.set("Prepr-ABtesting",s)),p==="prepr_preview_segment"&&(e.headers.set("Prepr-Segments",s),e.cookies.set("Prepr-Segments",s));}),e}export{v as a,_ as b};//# sourceMappingURL=chunk-J3Y65EMB.js.map
2
+ //# sourceMappingURL=chunk-J3Y65EMB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../package.json","../src/middleware/index.ts"],"names":["version","package_default","createPreprMiddleware","request","responseOrOptions","options","_a","_b","_c","_d","response","finalOptions","NextResponse","value","key","referrer","ip","ipAddress","hutkCookie","cookie","segmentCookie","abCookie"],"mappings":"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","file":"chunk-J3Y65EMB.js","sourcesContent":["{\n \"name\": \"@preprio/prepr-nextjs\",\n \"version\": \"2.0.3\",\n \"description\": \"Next.js package for Prepr CMS preview functionality with advanced debugging and visual editing capabilities\",\n \"main\": \"dist/react/index.cjs\",\n \"types\": \"./dist/react/index.d.ts\",\n \"module\": \"./dist/react/index.js\",\n \"type\": \"module\",\n \"scripts\": {\n \"build\": \"tsup\",\n \"dev\": \"tsup --watch\",\n \"clean\": \"rm -rf dist\",\n \"check\": \"tsc --noEmit && eslint src --ext .ts,.tsx && prettier --check \\\"src/**/*.{ts,tsx,js,jsx,json,md}\\\"\",\n \"fix\": \"eslint src --ext .ts,.tsx --fix && prettier --write \\\"src/**/*.{ts,tsx,js,jsx,json,md}\\\"\",\n \"changeset\": \"changeset\",\n \"version\": \"changeset version\",\n \"release\": \"pnpm run build && changeset publish\",\n \"prepublishOnly\": \"pnpm run check && pnpm run build\"\n },\n \"exports\": {\n \"./middleware\": {\n \"import\": \"./dist/middleware/index.js\",\n \"types\": \"./dist/middleware/index.d.ts\",\n \"require\": \"./dist/middleware/index.cjs\"\n },\n \"./server\": {\n \"import\": \"./dist/server/index.js\",\n \"types\": \"./dist/server/index.d.ts\",\n \"require\": \"./dist/server/index.cjs\"\n },\n \"./react\": {\n \"import\": \"./dist/react/index.js\",\n \"types\": \"./dist/react/index.d.ts\",\n \"require\": \"./dist/react/index.cjs\"\n },\n \"./utils\": {\n \"import\": \"./dist/utils/index.js\",\n \"types\": \"./dist/utils/index.d.ts\",\n \"require\": \"./dist/utils/index.cjs\"\n },\n \"./types\": {\n \"import\": \"./dist/types/index.js\",\n \"types\": \"./dist/types/index.d.ts\",\n \"require\": \"./dist/types/index.cjs\"\n },\n \"./index.css\": {\n \"import\": \"./dist/index.css\",\n \"require\": \"./dist/index.css\"\n }\n },\n \"files\": [\n \"dist\",\n \"package.json\"\n ],\n \"keywords\": [\n \"prepr\",\n \"cms\",\n \"nextjs\",\n \"preview\",\n \"visual-editing\",\n \"headless-cms\",\n \"react\",\n \"typescript\",\n \"debug\",\n \"stega\"\n ],\n \"author\": \"Preprio\",\n \"license\": \"MIT\",\n \"packageManager\": \"pnpm@10.5.2\",\n \"devDependencies\": {\n \"@changesets/cli\": \"^2.29.5\",\n \"@eslint/js\": \"^9.25.1\",\n \"@types/node\": \"^20.11.5\",\n \"@types/react\": \"19.1.0\",\n \"@types/react-dom\": \"19.1.2\",\n \"@typescript-eslint/eslint-plugin\": \"^8.31.1\",\n \"@typescript-eslint/parser\": \"^8.31.1\",\n \"autoprefixer\": \"^10.4.21\",\n \"cssnano\": \"^7.0.7\",\n \"eslint\": \"^9.25.1\",\n \"eslint-config-prettier\": \"^10.1.2\",\n \"eslint-plugin-prettier\": \"^5.2.6\",\n \"eslint-plugin-react\": \"^7.37.2\",\n \"eslint-plugin-react-hooks\": \"^5.0.0\",\n \"next\": \"15.3.1\",\n \"postcss\": \"^8\",\n \"prettier\": \"^3.5.3\",\n \"prettier-plugin-tailwindcss\": \"^0.5.12\",\n \"react\": \"^19.1.0\",\n \"react-dom\": \"^19.1.0\",\n \"tailwindcss\": \"^3.4.17\",\n \"tsup\": \"^8.5.0\",\n \"typescript\": \"^5.8.3\"\n },\n \"peerDependencies\": {\n \"next\": \"^15.0.0 || ^14.0.0 || ^13.0.0\",\n \"react\": \"^19.0.0 || ^18.0.0 || ^17.0.0 \",\n \"react-dom\": \"^19.0.0 || ^18.0.0 || ^17.0.0\"\n },\n \"dependencies\": {\n \"@headlessui/react\": \"^2.2.0\",\n \"@vercel/functions\": \"^2.0.0\",\n \"@vercel/stega\": \"^0.1.2\",\n \"clsx\": \"^2.1.1\",\n \"postcss-cli\": \"^11.0.1\",\n \"tailwind-merge\": \"^3.0.1\"\n }\n}\n","import { ipAddress } from '@vercel/functions';\nimport { NextRequest, NextResponse } from 'next/server';\nimport { version } from '../../package.json';\n\nexport interface PreprMiddlewareOptions {\n preview?: boolean;\n}\n\n/**\n * Middleware to set Prepr headers for personalization.\n *\n * @overload\n * @param request - NextRequest object\n * @param options - Options object\n * @returns NextResponse with Prepr headers set\n */\nexport default function createPreprMiddleware(\n request: NextRequest,\n options?: PreprMiddlewareOptions\n): NextResponse;\n\n/**\n * Middleware to set Prepr headers for personalization.\n *\n * @overload\n * @param request - NextRequest object\n * @param response - NextResponse object to chain with\n * @param options - Options object\n * @returns NextResponse with Prepr headers set\n */\nexport default function createPreprMiddleware(\n request: NextRequest,\n response: NextResponse,\n options?: PreprMiddlewareOptions\n): NextResponse;\n\n/**\n * Implementation of createPreprMiddleware with function overloads\n */\nexport default function createPreprMiddleware(\n request: NextRequest,\n responseOrOptions?: NextResponse | PreprMiddlewareOptions,\n options?: PreprMiddlewareOptions\n): NextResponse {\n let response: NextResponse;\n let finalOptions: PreprMiddlewareOptions | undefined;\n\n // Handle overloads\n if (responseOrOptions && 'headers' in responseOrOptions) {\n // Second parameter is NextResponse\n response = responseOrOptions;\n finalOptions = options;\n } else {\n // Second parameter is options or undefined\n response = NextResponse.next();\n finalOptions = responseOrOptions as PreprMiddlewareOptions | undefined;\n }\n\n if (!process.env.PREPR_GRAPHQL_URL) {\n console.error('PREPR_GRAPHQL_URL is not set');\n }\n\n // Map over search params and set headers\n request.nextUrl.searchParams.forEach((value, key) => {\n switch (key) {\n case 'utm_source':\n response.headers.set('Prepr-Context-utm_source', value);\n break;\n case 'utm_medium':\n response.headers.set('Prepr-Context-utm_medium', value);\n break;\n case 'utm_term':\n response.headers.set('Prepr-Context-utm_term', value);\n break;\n case 'utm_content':\n response.headers.set('Prepr-Context-utm_content', value);\n break;\n case 'utm_campaign':\n response.headers.set('Prepr-Context-utm_campaign', value);\n break;\n }\n });\n\n // Set initial referral header\n const referrer = request.headers.get('referer');\n if (referrer) {\n response.headers.set('Prepr-Context-initial_referral', referrer);\n }\n\n // Set Prepr version header\n response.headers.set('Prepr-Package', version);\n\n let ip: string | null = ipAddress(request) || null;\n\n if (request.headers.get('Cf-Connecting-Ip')) {\n ip = request.headers.get('Cf-Connecting-Ip');\n }\n\n if (ip) {\n response.headers.set('Prepr-Visitor-IP', ip);\n }\n\n // Set HubSpot cookie header\n const hutkCookie = request.cookies.get('hubspotutk')?.value;\n if (hutkCookie) {\n response.headers.set('Prepr-Hubspot-Id', hutkCookie);\n }\n\n // Check for existing Prepr UID cookie or create a new one\n let cookie = request.cookies.get('__prepr_uid')?.value;\n if (!cookie) {\n cookie = crypto.randomUUID();\n response.cookies.set('__prepr_uid', cookie, {\n maxAge: 1 * 365 * 24 * 60, // Set for one year\n });\n response.headers.set('Prepr-Customer-Id-Created', 'true');\n }\n\n // Set the Prepr Customer ID header\n response.headers.set('Prepr-Customer-Id', cookie);\n\n // If preview mode is not enabled, return the response\n if (!finalOptions?.preview || process.env.PREPR_ENV !== 'preview') {\n return response;\n }\n\n // If preview mode is enabled, set additional headers\n response.headers.set('Prepr-Preview-Bar', 'true');\n\n // Set Prepr Preview Segment and AB test cookies\n const segmentCookie = request.cookies.get('Prepr-Segments')?.value;\n if (segmentCookie) {\n response.headers.set('Prepr-Segments', segmentCookie);\n }\n\n const abCookie = request.cookies.get('Prepr-ABtesting')?.value;\n if (abCookie) {\n response.headers.set('Prepr-ABtesting', abCookie);\n }\n\n // Set Prepr Preview Segment and AB test headers from query params\n request.nextUrl.searchParams.forEach((value, key) => {\n if (key === 'prepr_preview_ab') {\n response.headers.set('Prepr-ABtesting', value);\n response.cookies.set('Prepr-ABtesting', value);\n }\n\n if (key === 'prepr_preview_segment') {\n response.headers.set('Prepr-Segments', value);\n response.cookies.set('Prepr-Segments', value);\n }\n });\n\n return response;\n}\n"]}
@@ -0,0 +1,43 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __async = (__this, __arguments, generator) => {
21
+ return new Promise((resolve, reject) => {
22
+ var fulfilled = (value) => {
23
+ try {
24
+ step(generator.next(value));
25
+ } catch (e) {
26
+ reject(e);
27
+ }
28
+ };
29
+ var rejected = (value) => {
30
+ try {
31
+ step(generator.throw(value));
32
+ } catch (e) {
33
+ reject(e);
34
+ }
35
+ };
36
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
37
+ step((generator = generator.apply(__this, __arguments)).next());
38
+ });
39
+ };
40
+
41
+ export { __async, __spreadProps, __spreadValues };
42
+ //# sourceMappingURL=chunk-JPRRZPBL.js.map
43
+ //# sourceMappingURL=chunk-JPRRZPBL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-JPRRZPBL.js"}
@@ -0,0 +1,2 @@
1
+ import {ipAddress}from'@vercel/functions';import {NextResponse}from'next/server';var h="2.0.0-alpha.13";var v={name:"@preprio/prepr-nextjs",version:h,description:"Next.js package for Prepr CMS preview functionality with advanced debugging and visual editing capabilities",main:"dist/react/index.cjs",types:"./dist/react/index.d.ts",module:"./dist/react/index.js",type:"module",scripts:{build:"tsup",dev:"tsup --watch",clean:"rm -rf dist",check:'tsc --noEmit && eslint src --ext .ts,.tsx && prettier --check "src/**/*.{ts,tsx,js,jsx,json,md}"',fix:'eslint src --ext .ts,.tsx --fix && prettier --write "src/**/*.{ts,tsx,js,jsx,json,md}"',changeset:"changeset",version:"changeset version",release:"pnpm run build && changeset publish",prepublishOnly:"pnpm run check && pnpm run build"},exports:{"./middleware":{import:"./dist/middleware/index.js",types:"./dist/middleware/index.d.ts",require:"./dist/middleware/index.cjs"},"./server":{import:"./dist/server/index.js",types:"./dist/server/index.d.ts",require:"./dist/server/index.cjs"},"./react":{import:"./dist/react/index.js",types:"./dist/react/index.d.ts",require:"./dist/react/index.cjs"},"./utils":{import:"./dist/utils/index.js",types:"./dist/utils/index.d.ts",require:"./dist/utils/index.cjs"},"./types":{import:"./dist/types/index.js",types:"./dist/types/index.d.ts",require:"./dist/types/index.cjs"},"./index.css":{import:"./dist/index.css",require:"./dist/index.css"}},files:["dist","package.json"],keywords:["prepr","cms","nextjs","preview","visual-editing","headless-cms","react","typescript","debug","stega"],author:"Preprio",license:"MIT",packageManager:"pnpm@10.5.2",devDependencies:{"@changesets/cli":"^2.29.5","@eslint/js":"^9.25.1","@types/node":"^20.11.5","@types/react":"19.1.0","@types/react-dom":"19.1.2","@typescript-eslint/eslint-plugin":"^8.31.1","@typescript-eslint/parser":"^8.31.1",autoprefixer:"^10.4.21",cssnano:"^7.0.7",eslint:"^9.25.1","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","eslint-plugin-react":"^7.37.2","eslint-plugin-react-hooks":"^5.0.0",next:"15.3.1",postcss:"^8",prettier:"^3.5.3","prettier-plugin-tailwindcss":"^0.5.12",react:"^19.1.0","react-dom":"^19.1.0",tailwindcss:"^3.4.17",tsup:"^8.5.0",typescript:"^5.8.3"},peerDependencies:{next:"^15.0.0 || ^14.0.0 || ^13.0.0",react:"^19.0.0 || ^18.0.0 || ^17.0.0 ","react-dom":"^19.0.0 || ^18.0.0 || ^17.0.0"},dependencies:{"@headlessui/react":"^2.2.0","@vercel/functions":"^2.0.0","@vercel/stega":"^0.1.2",clsx:"^2.1.1","postcss-cli":"^11.0.1","tailwind-merge":"^3.0.1"}};function _(s,i,f){var u,m,x,P;let e,r;i&&"headers"in i?(e=i,r=f):(e=NextResponse.next(),r=i),process.env.PREPR_GRAPHQL_URL||console.error("PREPR_GRAPHQL_URL is not set"),s.nextUrl.searchParams.forEach((t,p)=>{switch(p){case "utm_source":e.headers.set("Prepr-Context-utm_source",t);break;case "utm_medium":e.headers.set("Prepr-Context-utm_medium",t);break;case "utm_term":e.headers.set("Prepr-Context-utm_term",t);break;case "utm_content":e.headers.set("Prepr-Context-utm_content",t);break;case "utm_campaign":e.headers.set("Prepr-Context-utm_campaign",t);break}});let d=s.headers.get("referer");d&&e.headers.set("Prepr-Context-initial_referral",d),e.headers.set("Prepr-Package",h);let a=ipAddress(s);a&&e.headers.set("Prepr-Visitor-IP",a);let o=(u=s.cookies.get("hubspotutk"))==null?void 0:u.value;o&&e.headers.set("Prepr-Hubspot-Id",o);let n=(m=s.cookies.get("__prepr_uid"))==null?void 0:m.value;if(n||(n=crypto.randomUUID(),e.cookies.set("__prepr_uid",n,{maxAge:1*365*24*60}),e.headers.set("Prepr-Customer-Id-Created","true")),e.headers.set("Prepr-Customer-Id",n),!(r!=null&&r.preview)||process.env.PREPR_ENV!=="preview")return e;e.headers.set("Prepr-Preview-Bar","true");let c=(x=s.cookies.get("Prepr-Segments"))==null?void 0:x.value;c&&e.headers.set("Prepr-Segments",c);let l=(P=s.cookies.get("Prepr-ABtesting"))==null?void 0:P.value;return l&&e.headers.set("Prepr-ABtesting",l),s.nextUrl.searchParams.forEach((t,p)=>{p==="prepr_preview_ab"&&(e.headers.set("Prepr-ABtesting",t),e.cookies.set("Prepr-ABtesting",t)),p==="prepr_preview_segment"&&(e.headers.set("Prepr-Segments",t),e.cookies.set("Prepr-Segments",t));}),e}export{v as a,_ as b};//# sourceMappingURL=chunk-MKSF2TOK.js.map
2
+ //# sourceMappingURL=chunk-MKSF2TOK.js.map