@preprio/prepr-nextjs 2.0.4 → 2.1.0

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 (83) hide show
  1. package/README.md +41 -1
  2. package/dist/chunk-26CXDAG7.mjs +72 -0
  3. package/dist/chunk-26CXDAG7.mjs.map +1 -0
  4. package/dist/chunk-2BRZNIOK.js +2 -0
  5. package/dist/chunk-2BRZNIOK.js.map +1 -0
  6. package/dist/chunk-32XGP2RS.mjs +4218 -0
  7. package/dist/chunk-32XGP2RS.mjs.map +1 -0
  8. package/dist/chunk-6FNC3XMI.js +45 -0
  9. package/dist/chunk-6KFTSKUS.js +2 -0
  10. package/dist/chunk-6KFTSKUS.js.map +1 -0
  11. package/dist/chunk-C6L3X6KZ.js +201 -0
  12. package/dist/chunk-C6L3X6KZ.js.map +1 -0
  13. package/dist/chunk-DI26GYQY.js +201 -0
  14. package/dist/chunk-FIIZ3EIH.js +2 -0
  15. package/dist/chunk-FIIZ3EIH.js.map +1 -0
  16. package/dist/chunk-HC3AA6RK.js +210 -0
  17. package/dist/chunk-HC3AA6RK.js.map +1 -0
  18. package/dist/chunk-IL3U74YL.js +2 -0
  19. package/dist/chunk-IL3U74YL.js.map +1 -0
  20. package/dist/chunk-IYQYBBYJ.js +2 -0
  21. package/dist/chunk-IYQYBBYJ.js.map +1 -0
  22. package/dist/chunk-J3Y65EMB.js +2 -0
  23. package/dist/chunk-J3Y65EMB.js.map +1 -0
  24. package/dist/chunk-JPRRZPBL.js +43 -0
  25. package/dist/chunk-JPRRZPBL.js.map +1 -0
  26. package/dist/chunk-MKSF2TOK.js +2 -0
  27. package/dist/chunk-MKSF2TOK.js.map +1 -0
  28. package/dist/chunk-MZGTV4KW.js +2 -0
  29. package/dist/chunk-MZGTV4KW.js.map +1 -0
  30. package/dist/chunk-NWRQFDMF.js +2 -0
  31. package/dist/chunk-NWRQFDMF.js.map +1 -0
  32. package/dist/chunk-QZTUT4DH.js +2 -0
  33. package/dist/chunk-QZTUT4DH.js.map +1 -0
  34. package/dist/chunk-WLHL7IRA.js +2 -0
  35. package/dist/chunk-WLHL7IRA.js.map +1 -0
  36. package/dist/chunk-XVJ3E2QV.js +2 -0
  37. package/dist/chunk-XVJ3E2QV.js.map +1 -0
  38. package/dist/chunk-YK7CLK6M.js +2 -0
  39. package/dist/chunk-YK7CLK6M.js.map +1 -0
  40. package/dist/chunk-YKY3OKYG.js +2 -0
  41. package/dist/chunk-YKY3OKYG.js.map +1 -0
  42. package/dist/chunk-ZHR5QVWE.js +2 -0
  43. package/dist/chunk-ZHR5QVWE.js.map +1 -0
  44. package/dist/index.css +1 -1
  45. package/dist/metafile-cjs.json +1 -1
  46. package/dist/metafile-esm.json +1 -1
  47. package/dist/middleware/index.cjs +1 -1
  48. package/dist/middleware/index.cjs.map +1 -1
  49. package/dist/middleware/index.js +1 -1
  50. package/dist/middleware/index.mjs +4 -0
  51. package/dist/middleware/index.mjs.map +1 -0
  52. package/dist/pages/react/index.cjs +8 -0
  53. package/dist/pages/react/index.cjs.map +1 -0
  54. package/dist/pages/react/index.d.cts +99 -0
  55. package/dist/pages/react/index.d.ts +99 -0
  56. package/dist/pages/react/index.js +8 -0
  57. package/dist/pages/react/index.js.map +1 -0
  58. package/dist/pages/server/index.cjs +7 -0
  59. package/dist/pages/server/index.cjs.map +1 -0
  60. package/dist/pages/server/index.d.cts +83 -0
  61. package/dist/pages/server/index.d.ts +83 -0
  62. package/dist/pages/server/index.js +7 -0
  63. package/dist/pages/server/index.js.map +1 -0
  64. package/dist/react/index.cjs +2 -2
  65. package/dist/react/index.cjs.map +1 -1
  66. package/dist/react/index.d.cts +8 -2
  67. package/dist/react/index.d.ts +8 -2
  68. package/dist/react/index.js +2 -2
  69. package/dist/react/index.js.map +1 -1
  70. package/dist/react/index.mjs +10179 -0
  71. package/dist/react/index.mjs.map +1 -0
  72. package/dist/server/index.cjs +2 -2
  73. package/dist/server/index.cjs.map +1 -1
  74. package/dist/server/index.js +1 -1
  75. package/dist/server/index.mjs +1569 -0
  76. package/dist/server/index.mjs.map +1 -0
  77. package/dist/types/index.d.cts +3 -2
  78. package/dist/types/index.d.ts +3 -2
  79. package/dist/types/index.mjs +3 -0
  80. package/dist/types/index.mjs.map +1 -0
  81. package/dist/utils/index.mjs +3307 -0
  82. package/dist/utils/index.mjs.map +1 -0
  83. package/package.json +3 -2
@@ -0,0 +1,210 @@
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.3";
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
+ zustand: "^5.0.8"
115
+ }
116
+ };
117
+
118
+ // src/middleware/index.ts
119
+ function createPreprMiddleware(request, responseOrOptions, options) {
120
+ var _a, _b, _c, _d, _e;
121
+ let response;
122
+ let finalOptions;
123
+ if (responseOrOptions && "headers" in responseOrOptions) {
124
+ response = responseOrOptions;
125
+ finalOptions = options;
126
+ } else {
127
+ response = NextResponse.next();
128
+ finalOptions = responseOrOptions;
129
+ }
130
+ if (!process.env.PREPR_GRAPHQL_URL) {
131
+ console.error("PREPR_GRAPHQL_URL is not set");
132
+ }
133
+ request.nextUrl.searchParams.forEach((value, key) => {
134
+ switch (key) {
135
+ case "utm_source":
136
+ response.headers.set("Prepr-Context-utm_source", value);
137
+ break;
138
+ case "utm_medium":
139
+ response.headers.set("Prepr-Context-utm_medium", value);
140
+ break;
141
+ case "utm_term":
142
+ response.headers.set("Prepr-Context-utm_term", value);
143
+ break;
144
+ case "utm_content":
145
+ response.headers.set("Prepr-Context-utm_content", value);
146
+ break;
147
+ case "utm_campaign":
148
+ response.headers.set("Prepr-Context-utm_campaign", value);
149
+ break;
150
+ }
151
+ });
152
+ const referrer = request.headers.get("referer");
153
+ if (referrer) {
154
+ response.headers.set("Prepr-Context-initial_referral", referrer);
155
+ }
156
+ response.headers.set("Prepr-Package", version);
157
+ let ip = ipAddress(request) || null;
158
+ if (request.headers.get("Cf-Connecting-Ip")) {
159
+ ip = request.headers.get("Cf-Connecting-Ip");
160
+ }
161
+ if (ip) {
162
+ response.headers.set("Prepr-Visitor-IP", ip);
163
+ }
164
+ const hutkCookie = (_a = request.cookies.get("hubspotutk")) == null ? void 0 : _a.value;
165
+ if (hutkCookie) {
166
+ response.headers.set("Prepr-Hubspot-Id", hutkCookie);
167
+ }
168
+ let cookie = (_b = request.cookies.get("__prepr_uid")) == null ? void 0 : _b.value;
169
+ if (!cookie) {
170
+ cookie = crypto.randomUUID();
171
+ response.cookies.set("__prepr_uid", cookie, {
172
+ maxAge: 1 * 365 * 24 * 60
173
+ // Set for one year
174
+ });
175
+ response.headers.set("Prepr-Customer-Id-Created", "true");
176
+ }
177
+ response.headers.set("Prepr-Customer-Id", cookie);
178
+ if (!(finalOptions == null ? void 0 : finalOptions.preview) || process.env.PREPR_ENV !== "preview") {
179
+ return response;
180
+ }
181
+ const previewModeCookie = (_c = request.cookies.get("Prepr-Preview-Mode")) == null ? void 0 : _c.value;
182
+ const previewModeEnabled = previewModeCookie !== "false";
183
+ if (!previewModeEnabled) {
184
+ return response;
185
+ }
186
+ response.headers.set("Prepr-Preview-Bar", "true");
187
+ const segmentCookie = (_d = request.cookies.get("Prepr-Segments")) == null ? void 0 : _d.value;
188
+ if (segmentCookie) {
189
+ response.headers.set("Prepr-Segments", segmentCookie);
190
+ }
191
+ const abCookie = (_e = request.cookies.get("Prepr-ABtesting")) == null ? void 0 : _e.value;
192
+ if (abCookie) {
193
+ response.headers.set("Prepr-ABtesting", abCookie);
194
+ }
195
+ request.nextUrl.searchParams.forEach((value, key) => {
196
+ if (key === "prepr_preview_ab") {
197
+ response.headers.set("Prepr-ABtesting", value);
198
+ response.cookies.set("Prepr-ABtesting", value);
199
+ }
200
+ if (key === "prepr_preview_segment") {
201
+ response.headers.set("Prepr-Segments", value);
202
+ response.cookies.set("Prepr-Segments", value);
203
+ }
204
+ });
205
+ return response;
206
+ }
207
+
208
+ export { createPreprMiddleware, package_default };
209
+ //# sourceMappingURL=chunk-HC3AA6RK.js.map
210
+ //# sourceMappingURL=chunk-HC3AA6RK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../package.json","../src/middleware/index.ts"],"names":[],"mappings":"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","file":"chunk-HC3AA6RK.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 \"zustand\": \"^5.0.8\"\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 // Respect preview mode toggle cookie from client\n const previewModeCookie = request.cookies.get('Prepr-Preview-Mode')?.value;\n const previewModeEnabled = previewModeCookie !== 'false';\n\n if (!previewModeEnabled) {\n // When preview mode is disabled, do not set preview headers\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,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 f="2.0.3";var b={name:"@preprio/prepr-nextjs",version:f,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 j(t,i,w){var u,m,x,g,P;let e,r;i&&"headers"in i?(e=i,r=w):(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 o=t.headers.get("referer");o&&e.headers.set("Prepr-Context-initial_referral",o),e.headers.set("Prepr-Package",f);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 a=(u=t.cookies.get("hubspotutk"))==null?void 0:u.value;a&&e.headers.set("Prepr-Hubspot-Id",a);let n=(m=t.cookies.get("__prepr_uid"))==null?void 0:m.value;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);let k=((x=t.cookies.get("Prepr-Preview-Mode"))==null?void 0:x.value)==="false";if(!(r!=null&&r.preview)||process.env.PREPR_ENV!=="preview"||k)return e;e.headers.set("Prepr-Preview-Bar","true");let c=(g=t.cookies.get("Prepr-Segments"))==null?void 0:g.value;c&&e.headers.set("Prepr-Segments",c);let l=(P=t.cookies.get("Prepr-ABtesting"))==null?void 0:P.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{b as a,j as b};//# sourceMappingURL=chunk-IYQYBBYJ.js.map
2
+ //# sourceMappingURL=chunk-IYQYBBYJ.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","_e","response","finalOptions","NextResponse","value","key","referrer","ip","ipAddress","hutkCookie","cookie","isPreviewModeDisabled","segmentCookie","abCookie"],"mappings":"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","file":"chunk-IYQYBBYJ.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 // Check if preview mode is disabled via cookie\n const previewModeCookie = request.cookies.get('Prepr-Preview-Mode')?.value;\n const isPreviewModeDisabled = previewModeCookie === 'false';\n\n // If preview mode is not enabled, return the response\n if (\n !finalOptions?.preview ||\n process.env.PREPR_ENV !== 'preview' ||\n isPreviewModeDisabled\n ) {\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,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
@@ -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-MKSF2TOK.js","sourcesContent":["{\n \"name\": \"@preprio/prepr-nextjs\",\n \"version\": \"2.0.0-alpha.13\",\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,2 @@
1
+ var m=Object.defineProperty,n=Object.defineProperties;var o=Object.getOwnPropertyDescriptors;var h=Object.getOwnPropertySymbols;var p=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable;var i=(b,c,a)=>c in b?m(b,c,{enumerable:true,configurable:true,writable:true,value:a}):b[c]=a,r=(b,c)=>{for(var a in c||(c={}))p.call(c,a)&&i(b,a,c[a]);if(h)for(var a of h(c))q.call(c,a)&&i(b,a,c[a]);return b},s=(b,c)=>n(b,o(c));var t=(b=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(b,{get:(c,a)=>(typeof require!="undefined"?require:c)[a]}):b)(function(b){if(typeof require!="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+b+'" is not supported')});var u=(b,c,a)=>new Promise((j,g)=>{var k=d=>{try{e(a.next(d));}catch(f){g(f);}},l=d=>{try{e(a.throw(d));}catch(f){g(f);}},e=d=>d.done?j(d.value):Promise.resolve(d.value).then(k,l);e((a=a.apply(b,c)).next());});export{r as a,s as b,t as c,u as d};//# sourceMappingURL=chunk-MZGTV4KW.js.map
2
+ //# sourceMappingURL=chunk-MZGTV4KW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-MZGTV4KW.js"}
@@ -0,0 +1,2 @@
1
+ import {ipAddress}from'@vercel/functions';import {NextResponse}from'next/server';var h="2.0.1";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-NWRQFDMF.js.map
2
+ //# sourceMappingURL=chunk-NWRQFDMF.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-NWRQFDMF.js","sourcesContent":["{\n \"name\": \"@preprio/prepr-nextjs\",\n \"version\": \"2.0.1\",\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,2 @@
1
+ import {ipAddress}from'@vercel/functions';import {NextResponse}from'next/server';var h="2.0.0";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-QZTUT4DH.js.map
2
+ //# sourceMappingURL=chunk-QZTUT4DH.js.map