@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 @@
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-QZTUT4DH.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,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",zustand:"^5.0.8"}};function _(t,i,w){var u,m,x,g,P;let e,s;i&&"headers"in i?(e=i,s=w):(e=NextResponse.next(),s=i),process.env.PREPR_GRAPHQL_URL||console.error("PREPR_GRAPHQL_URL is not set"),t.nextUrl.searchParams.forEach((r,p)=>{switch(p){case "utm_source":e.headers.set("Prepr-Context-utm_source",r);break;case "utm_medium":e.headers.set("Prepr-Context-utm_medium",r);break;case "utm_term":e.headers.set("Prepr-Context-utm_term",r);break;case "utm_content":e.headers.set("Prepr-Context-utm_content",r);break;case "utm_campaign":e.headers.set("Prepr-Context-utm_campaign",r);break}});let a=t.headers.get("referer");a&&e.headers.set("Prepr-Context-initial_referral",a),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 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),!(s!=null&&s.preview)||process.env.PREPR_ENV!=="preview"||!(((x=t.cookies.get("Prepr-Preview-Mode"))==null?void 0:x.value)!=="false"))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((r,p)=>{p==="prepr_preview_ab"&&(e.headers.set("Prepr-ABtesting",r),e.cookies.set("Prepr-ABtesting",r)),p==="prepr_preview_segment"&&(e.headers.set("Prepr-Segments",r),e.cookies.set("Prepr-Segments",r));}),e}export{b as a,_ as b};//# sourceMappingURL=chunk-WLHL7IRA.js.map
2
+ //# sourceMappingURL=chunk-WLHL7IRA.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","segmentCookie","abCookie"],"mappings":"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","file":"chunk-WLHL7IRA.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
+ import {ipAddress}from'@vercel/functions';import {NextResponse}from'next/server';var f="2.1.0-beta.0";var C={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",zustand:"^5.0.8"}};function j(t,i,w){var u,m,x,g,h;let e,s;i&&"headers"in i?(e=i,s=w):(e=NextResponse.next(),s=i),t.nextUrl.searchParams.forEach((r,d)=>{switch(d){case "utm_source":e.headers.set("Prepr-Context-utm_source",r);break;case "utm_medium":e.headers.set("Prepr-Context-utm_medium",r);break;case "utm_term":e.headers.set("Prepr-Context-utm_term",r);break;case "utm_content":e.headers.set("Prepr-Context-utm_content",r);break;case "utm_campaign":e.headers.set("Prepr-Context-utm_campaign",r);break}});let a=t.headers.get("referer");a&&e.headers.set("Prepr-Context-initial_referral",a),e.headers.set("Prepr-Package",f);let p=ipAddress(t)||null;t.headers.get("Cf-Connecting-Ip")&&(p=t.headers.get("Cf-Connecting-Ip")),p&&e.headers.set("Prepr-Visitor-IP",p);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),!(s!=null&&s.preview)||process.env.PREPR_ENV!=="preview"||!(((x=t.cookies.get("Prepr-Preview-Mode"))==null?void 0:x.value)!=="false"))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=(h=t.cookies.get("Prepr-ABtesting"))==null?void 0:h.value;return l&&e.headers.set("Prepr-ABtesting",l),t.nextUrl.searchParams.forEach((r,d)=>{d==="prepr_preview_ab"&&(e.headers.set("Prepr-ABtesting",r),e.cookies.set("Prepr-ABtesting",r)),d==="prepr_preview_segment"&&(e.headers.set("Prepr-Segments",r),e.cookies.set("Prepr-Segments",r));}),e}export{C as a,j as b};//# sourceMappingURL=chunk-XVJ3E2QV.js.map
2
+ //# sourceMappingURL=chunk-XVJ3E2QV.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","segmentCookie","abCookie"],"mappings":"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","file":"chunk-XVJ3E2QV.js","sourcesContent":["{\n \"name\": \"@preprio/prepr-nextjs\",\n \"version\": \"2.1.0-beta.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 \"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 // 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
+ 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(s,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"),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 o=s.headers.get("referer");o&&e.headers.set("Prepr-Context-initial_referral",o),e.headers.set("Prepr-Package",f);let d=ipAddress(s)||null;s.headers.get("Cf-Connecting-Ip")&&(d=s.headers.get("Cf-Connecting-Ip")),d&&e.headers.set("Prepr-Visitor-IP",d);let a=(u=s.cookies.get("hubspotutk"))==null?void 0:u.value;a&&e.headers.set("Prepr-Hubspot-Id",a);let n=(m=s.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),s.nextUrl.searchParams.forEach((t,p)=>{p==="prepr_preview_ab"&&(t==="null"?e.cookies.delete("Prepr-ABtesting"):(e.headers.set("Prepr-ABtesting",t),e.cookies.set("Prepr-ABtesting",t))),p==="prepr_preview_segment"&&(t==="null"?e.cookies.delete("Prepr-Segments"):(e.headers.set("Prepr-Segments",t),e.cookies.set("Prepr-Segments",t)));});let k=((x=s.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=s.cookies.get("Prepr-Segments"))==null?void 0:g.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),e}export{b as a,j as b};//# sourceMappingURL=chunk-YK7CLK6M.js.map
2
+ //# sourceMappingURL=chunk-YK7CLK6M.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-YK7CLK6M.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 // Handle preview URL parameters regardless of preview mode state\n // This ensures reset functionality works even when preview mode is off\n request.nextUrl.searchParams.forEach((value, key) => {\n if (key === 'prepr_preview_ab') {\n if (value === 'null') {\n // Clear the cookie when resetting\n response.cookies.delete('Prepr-ABtesting');\n } else {\n response.headers.set('Prepr-ABtesting', value);\n response.cookies.set('Prepr-ABtesting', value);\n }\n }\n\n if (key === 'prepr_preview_segment') {\n if (value === 'null') {\n // Clear the cookie when resetting\n response.cookies.delete('Prepr-Segments');\n } else {\n response.headers.set('Prepr-Segments', value);\n response.cookies.set('Prepr-Segments', value);\n }\n }\n });\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 from existing 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 return response;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {ipAddress}from'@vercel/functions';import {NextResponse}from'next/server';var h="2.0.2";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-YKY3OKYG.js.map
2
+ //# sourceMappingURL=chunk-YKY3OKYG.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-YKY3OKYG.js","sourcesContent":["{\n \"name\": \"@preprio/prepr-nextjs\",\n \"version\": \"2.0.2\",\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 f="2.0.3";var C={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",zustand:"^5.0.8"}};function j(t,i,w){var u,m,x,g,h;let e,s;i&&"headers"in i?(e=i,s=w):(e=NextResponse.next(),s=i),t.nextUrl.searchParams.forEach((r,d)=>{switch(d){case "utm_source":e.headers.set("Prepr-Context-utm_source",r);break;case "utm_medium":e.headers.set("Prepr-Context-utm_medium",r);break;case "utm_term":e.headers.set("Prepr-Context-utm_term",r);break;case "utm_content":e.headers.set("Prepr-Context-utm_content",r);break;case "utm_campaign":e.headers.set("Prepr-Context-utm_campaign",r);break}});let a=t.headers.get("referer");a&&e.headers.set("Prepr-Context-initial_referral",a),e.headers.set("Prepr-Package",f);let p=ipAddress(t)||null;t.headers.get("Cf-Connecting-Ip")&&(p=t.headers.get("Cf-Connecting-Ip")),p&&e.headers.set("Prepr-Visitor-IP",p);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),!(s!=null&&s.preview)||process.env.PREPR_ENV!=="preview"||!(((x=t.cookies.get("Prepr-Preview-Mode"))==null?void 0:x.value)!=="false"))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=(h=t.cookies.get("Prepr-ABtesting"))==null?void 0:h.value;return l&&e.headers.set("Prepr-ABtesting",l),t.nextUrl.searchParams.forEach((r,d)=>{d==="prepr_preview_ab"&&(e.headers.set("Prepr-ABtesting",r),e.cookies.set("Prepr-ABtesting",r)),d==="prepr_preview_segment"&&(e.headers.set("Prepr-Segments",r),e.cookies.set("Prepr-Segments",r));}),e}export{C as a,j as b};//# sourceMappingURL=chunk-ZHR5QVWE.js.map
2
+ //# sourceMappingURL=chunk-ZHR5QVWE.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","segmentCookie","abCookie"],"mappings":"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","file":"chunk-ZHR5QVWE.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 // 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"]}
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- .p-pointer-events-none{pointer-events:none}.p-pointer-events-auto{pointer-events:auto}.p-fixed{position:fixed}.p-bottom-6{bottom:1.5rem}.p-right-0{right:0}.p-right-6{right:1.5rem}.p-z-50{z-index:50}.p-z-\[100\]{z-index:100}.p-z-\[101\]{z-index:101}.p-z-\[998\]{z-index:998}.p-z-\[9999\]{z-index:9999}.p-z-\[999\]{z-index:999}.p-mb-2{margin-bottom:.5rem}.p-mr-auto{margin-right:auto}.p-block{display:block}.p-inline-block{display:inline-block}.p-flex{display:flex}.p-size-9{height:2.25rem;width:2.25rem}.p-h-10{height:2.5rem}.p-h-3{height:.75rem}.p-h-4{height:1rem}.p-h-6{height:1.5rem}.p-h-8{height:2rem}.\!p-max-h-\[300px\]{max-height:300px!important}.p-w-3{width:.75rem}.p-w-4{width:1rem}.p-w-8{width:2rem}.p-w-\[240px\]{width:240px}.p-w-\[58px\]{width:58px}.p-w-\[82px\]{width:82px}.p-w-full{width:100%}.p-shrink-0{flex-shrink:0}.p-cursor-pointer{cursor:pointer}.p-flex-col{flex-direction:column}.p-flex-wrap{flex-wrap:wrap}.p-flex-nowrap{flex-wrap:nowrap}.p-items-start{align-items:flex-start}.p-items-center{align-items:center}.p-justify-center{justify-content:center}.p-justify-between{justify-content:space-between}.p-gap-1{gap:.25rem}.p-gap-2{gap:.5rem}.p-gap-3{gap:.75rem}.p-gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.p-gap-y-10{row-gap:2.5rem}.p-gap-y-2{row-gap:.5rem}.p-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.p-overflow-hidden,.p-truncate{overflow:hidden}.p-truncate{white-space:nowrap}.p-text-ellipsis,.p-truncate{text-overflow:ellipsis}.p-text-nowrap{text-wrap:nowrap}.p-rounded{border-radius:.25rem}.p-rounded-full{border-radius:9999px}.p-rounded-lg{border-radius:.5rem}.p-rounded-md{border-radius:.375rem}.p-rounded-b-md{border-bottom-left-radius:.375rem;border-bottom-right-radius:.375rem}.p-border{border-width:1px}.p-border-x{border-left-width:1px;border-right-width:1px}.p-border-b{border-bottom-width:1px}.p-border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.p-border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.p-bg-grey-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.p-bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.p-bg-primary-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.p-bg-primary-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.p-bg-primary-700{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.p-bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.p-bg-secondary-400{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.p-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.p-bg-white\/20{background-color:hsla(0,0%,100%,.2)}.p-p-1{padding:.25rem}.p-p-2{padding:.5rem}.p-p-4{padding:1rem}.p-p-6{padding:1.5rem}.p-px-2{padding-left:.5rem;padding-right:.5rem}.p-px-3{padding-left:.75rem;padding-right:.75rem}.p-px-4{padding-left:1rem;padding-right:1rem}.p-px-4\.5{padding-left:1.125rem;padding-right:1.125rem}.p-py-1{padding-bottom:.25rem;padding-top:.25rem}.p-py-2{padding-bottom:.5rem;padding-top:.5rem}.p-pr-2{padding-right:.5rem}.p-text-center{text-align:center}.p-text-\[10px\]{font-size:10px}.p-text-sm{font-size:.875rem;line-height:1.25rem}.p-text-xs{font-size:.75rem;line-height:1rem}.p-font-medium{font-weight:500}.p-font-semibold{font-weight:600}.p-text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.p-text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.p-text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.p-text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.p-text-grey-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.p-text-indigo-700,.p-text-primary-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.p-text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.p-text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.p-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.p-text-white\/60{color:hsla(0,0%,100%,.6)}.p-opacity-0{opacity:0}.p-opacity-100{opacity:1}.p-shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.p-shadow-lg,.p-shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.p-shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.p-transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.p-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.p-duration-150,.p-transition-colors{transition-duration:.15s}.p-duration-200{transition-duration:.2s}.p-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--prepr-shadow-sm:0px 0px 12px 0px hsla(0,0%,76%,.8);--prepr-shadow-lg:0px 0px 40px 0px rgba(31,41,55,.24);--prepr-border-radius:4px;--prepr-transition:all 0.2s ease;--prepr-z-overlay:10000;--prepr-z-tooltip:10001;--prepr-proximity-distance:300px}.p-regular-text{font-size:.875rem;font-weight:500;line-height:1.25rem;line-height:1.5}.p-box-shadow{box-shadow:var(--prepr-shadow-lg)}.p-drop-shadow-3{box-shadow:var(--prepr-shadow-sm)}.p-no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.p-no-scrollbar::-webkit-scrollbar{display:none}[data-prepr-encoded]{position:relative}.prepr-overlay{border:2px solid #4f46e5;border-radius:4px 0 4px 4px;pointer-events:none;position:absolute;transition:all .2s ease-in-out;z-index:var(--prepr-z-overlay)}.prepr-tooltip{background-color:#4f46e5;border-radius:4px 4px 0 0;color:#fff;cursor:pointer;font-size:12px;line-height:1;min-width:80px;padding:4px 8px;pointer-events:auto;position:absolute;text-align:center;transition:opacity .2s ease-in-out;white-space:nowrap;z-index:var(--prepr-z-tooltip)}.prepr-tooltip:hover{background-color:#4338ca}.prepr-proximity-highlight{position:relative;z-index:1}.prepr-proximity-highlight,.prepr-proximity-highlight *{overflow:visible!important}.prepr-proximity-highlight:before{background:radial-gradient(circle var(--gradient-size) at var(--cursor-x) var(--cursor-y),rgba(79,70,229,.15) 0,rgba(37,99,235,0) 70%);border:2px solid rgba(79,70,229,.15);border-radius:var(--prepr-border-radius);bottom:-2px;content:"";left:-4px;overflow:visible;pointer-events:none;position:absolute;right:-4px;top:-2px;transition:var(--prepr-transition);z-index:9999}[data-prepr-encoded]:has(+.prepr-overlay[style*="display: block"]) .prepr-proximity-highlight:before{display:none}.preview-bar-container{align-items:center;display:flex;justify-content:flex-end;margin-left:auto;position:fixed;right:0;top:calc(50% - 64px);z-index:999}.preview-bar-content{border-radius:.5rem;display:flex;flex-direction:column;right:0;row-gap:2.5rem;width:100%;z-index:101;--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1));box-shadow:var(--prepr-shadow-lg);padding:1.5rem}@media (min-width:640px){.preview-bar-content{padding:2.5rem;width:502px}}.preview-bar-backdrop{background-color:rgba(0,0,0,.1);height:100vh;inset:0;position:fixed;width:100vw;z-index:50}.preview-bar-popup{display:flex;justify-content:flex-end;padding:.75rem;position:absolute;transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%;z-index:60}@media (min-width:640px){.preview-bar-popup{margin-right:4rem;padding:0}}.hover\:p-cursor-pointer:hover{cursor:pointer}.hover\:p-bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:p-bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.hover\:p-bg-primary-800:hover{--tw-bg-opacity:1;background-color:rgb(55 48 163/var(--tw-bg-opacity,1))}.hover\:p-text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.disabled\:p-cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:p-bg-gray-200:disabled{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.disabled\:p-text-gray-400:disabled{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.data-\[open\]\:p-rounded-b-none[data-open]{border-bottom-left-radius:0;border-bottom-right-radius:0}.data-\[open\]\:p-border-b-white[data-open]{--tw-border-opacity:1;border-bottom-color:rgb(255 255 255/var(--tw-border-opacity,1))}.data-\[checked\]\:p-bg-gray-800[data-checked]{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.data-\[checked\]\:p-bg-indigo-600[data-checked]{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.data-\[checked\]\:p-text-white[data-checked]{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:p-hidden{display:none}.sm\:p-w-\[502px\]{width:502px}.sm\:p-p-10{padding:2.5rem}}@media (min-width:768px){.md\:p-w-\[108px\]{width:108px}.md\:p-px-4{padding-left:1rem;padding-right:1rem}}@media (min-width:1024px){.lg\:p-block{display:block}}
1
+ .p-pointer-events-none{pointer-events:none}.p-pointer-events-auto{pointer-events:auto}.p-fixed{position:fixed}.p-absolute{position:absolute}.p-relative{position:relative}.p-bottom-6{bottom:1.5rem}.p-right-0{right:0}.p-right-6{right:1.5rem}.p-z-50{z-index:50}.p-z-\[10002\]{z-index:10002}.p-z-\[100\]{z-index:100}.p-z-\[101\]{z-index:101}.p-z-\[998\]{z-index:998}.p-z-\[9999\]{z-index:9999}.p-z-\[999\]{z-index:999}.p-mb-2{margin-bottom:.5rem}.p-mr-auto{margin-right:auto}.p-block{display:block}.p-inline-block{display:inline-block}.p-flex{display:flex}.p-size-9{height:2.25rem;width:2.25rem}.p-h-0{height:0}.p-h-10{height:2.5rem}.p-h-3{height:.75rem}.p-h-4{height:1rem}.p-h-6{height:1.5rem}.p-h-8{height:2rem}.\!p-max-h-\[300px\]{max-height:300px!important}.p-w-0{width:0}.p-w-3{width:.75rem}.p-w-4{width:1rem}.p-w-8{width:2rem}.p-w-\[240px\]{width:240px}.p-w-\[82px\]{width:82px}.p-w-auto{width:auto}.p-w-full{width:100%}.p-shrink-0{flex-shrink:0}.p-cursor-not-allowed{cursor:not-allowed}.p-cursor-pointer{cursor:pointer}.p-flex-col{flex-direction:column}.p-flex-wrap{flex-wrap:wrap}.p-flex-nowrap{flex-wrap:nowrap}.p-items-start{align-items:flex-start}.p-items-center{align-items:center}.p-justify-center{justify-content:center}.p-justify-between{justify-content:space-between}.p-gap-1{gap:.25rem}.p-gap-2{gap:.5rem}.p-gap-3{gap:.75rem}.p-gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.p-gap-y-10{row-gap:2.5rem}.p-gap-y-2{row-gap:.5rem}.p-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.p-overflow-hidden,.p-truncate{overflow:hidden}.p-truncate{white-space:nowrap}.p-text-ellipsis,.p-truncate{text-overflow:ellipsis}.p-whitespace-nowrap{white-space:nowrap}.p-text-nowrap{text-wrap:nowrap}.p-break-words{overflow-wrap:break-word}.p-rounded{border-radius:.25rem}.p-rounded-full{border-radius:9999px}.p-rounded-lg{border-radius:.5rem}.p-rounded-md{border-radius:.375rem}.p-rounded-b-md{border-bottom-left-radius:.375rem;border-bottom-right-radius:.375rem}.p-border{border-width:1px}.p-border-x{border-left-width:1px;border-right-width:1px}.p-border-b{border-bottom-width:1px}.p-border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.p-border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.p-bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.p-bg-grey-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.p-bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.p-bg-primary-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.p-bg-primary-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.p-bg-primary-700{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.p-bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.p-bg-secondary-400{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.p-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.p-bg-white\/20{background-color:hsla(0,0%,100%,.2)}.p-p-1{padding:.25rem}.p-p-2{padding:.5rem}.p-p-4{padding:1rem}.p-p-6{padding:1.5rem}.p-px-2{padding-left:.5rem;padding-right:.5rem}.p-px-3{padding-left:.75rem;padding-right:.75rem}.p-px-4{padding-left:1rem;padding-right:1rem}.p-px-4\.5{padding-left:1.125rem;padding-right:1.125rem}.p-py-1{padding-bottom:.25rem;padding-top:.25rem}.p-py-2{padding-bottom:.5rem;padding-top:.5rem}.p-pr-2{padding-right:.5rem}.p-text-center{text-align:center}.p-text-\[10px\]{font-size:10px}.p-text-sm{font-size:.875rem;line-height:1.25rem}.p-text-xs{font-size:.75rem;line-height:1rem}.p-font-medium{font-weight:500}.p-font-semibold{font-weight:600}.p-text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.p-text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.p-text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.p-text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.p-text-grey-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.p-text-indigo-700,.p-text-primary-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.p-text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.p-text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.p-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.p-text-white\/60{color:hsla(0,0%,100%,.6)}.p-opacity-0{opacity:0}.p-opacity-100{opacity:1}.p-opacity-50{opacity:.5}.p-shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.p-shadow-lg,.p-shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.p-shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.p-transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.p-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.p-duration-150,.p-transition-colors{transition-duration:.15s}.p-duration-200{transition-duration:.2s}.p-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--prepr-shadow-sm:0px 0px 12px 0px hsla(0,0%,76%,.8);--prepr-shadow-lg:0px 0px 40px 0px rgba(31,41,55,.24);--prepr-border-radius:4px;--prepr-transition:all 0.2s ease;--prepr-z-overlay:10000;--prepr-z-tooltip:10001;--prepr-proximity-distance:300px}.p-regular-text{font-size:.875rem;font-weight:500;line-height:1.25rem;line-height:1.5}.p-box-shadow{box-shadow:var(--prepr-shadow-lg)}.p-drop-shadow-3{box-shadow:var(--prepr-shadow-sm)}.p-no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.p-no-scrollbar::-webkit-scrollbar{display:none}[data-prepr-encoded]{position:relative}.prepr-overlay{border:2px solid #4f46e5;border-radius:4px 0 4px 4px;pointer-events:none;position:absolute;transition:all .2s ease-in-out;z-index:var(--prepr-z-overlay)}.prepr-tooltip{background-color:#4f46e5;border-radius:4px 4px 0 0;color:#fff;cursor:pointer;font-size:12px;line-height:1;min-width:80px;padding:4px 8px;pointer-events:auto;position:absolute;text-align:center;transition:opacity .2s ease-in-out;white-space:nowrap;z-index:var(--prepr-z-tooltip)}.prepr-tooltip:hover{background-color:#4338ca}.prepr-proximity-highlight{position:relative;z-index:1}.prepr-proximity-highlight,.prepr-proximity-highlight *{overflow:visible!important}.prepr-proximity-highlight:before{background:radial-gradient(circle var(--gradient-size) at var(--cursor-x) var(--cursor-y),rgba(79,70,229,.15) 0,rgba(37,99,235,0) 70%);border:2px solid rgba(79,70,229,.15);border-radius:var(--prepr-border-radius);bottom:-2px;content:"";left:-4px;overflow:visible;pointer-events:none;position:absolute;right:-4px;top:-2px;transition:var(--prepr-transition);z-index:9999}.preview-bar-container{align-items:center;display:flex;justify-content:flex-end;margin-left:auto;position:fixed;right:0;top:calc(50% - 64px);z-index:999}.preview-bar-content{border-radius:.5rem;display:flex;flex-direction:column;right:0;row-gap:2.5rem;width:100%;z-index:101;--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1));box-shadow:var(--prepr-shadow-lg);padding:1.5rem}@media (min-width:640px){.preview-bar-content{padding:2.5rem;width:502px}}.preview-bar-backdrop{background-color:rgba(0,0,0,.1);height:100vh;inset:0;position:fixed;width:100vw;z-index:50}.preview-bar-popup{display:flex;justify-content:flex-end;padding:.75rem;position:absolute;transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%;z-index:60}@media (min-width:640px){.preview-bar-popup{margin-right:4rem;padding:0}}.hover\:p-cursor-pointer:hover{cursor:pointer}.hover\:p-bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:p-bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.hover\:p-bg-primary-800:hover{--tw-bg-opacity:1;background-color:rgb(55 48 163/var(--tw-bg-opacity,1))}.hover\:p-text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.disabled\:p-cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:p-bg-gray-200:disabled{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.disabled\:p-text-gray-400:disabled{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.data-\[open\]\:p-rounded-b-none[data-open]{border-bottom-left-radius:0;border-bottom-right-radius:0}.data-\[open\]\:p-border-b-white[data-open]{--tw-border-opacity:1;border-bottom-color:rgb(255 255 255/var(--tw-border-opacity,1))}.data-\[checked\]\:p-bg-gray-800[data-checked]{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.data-\[checked\]\:p-bg-indigo-600[data-checked]{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.data-\[checked\]\:p-text-white[data-checked]{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:p-hidden{display:none}.sm\:p-w-\[502px\]{width:502px}.sm\:p-p-10{padding:2.5rem}}@media (min-width:768px){.md\:p-w-\[108px\]{width:108px}.md\:p-px-4{padding-left:1rem;padding-right:1rem}}@media (min-width:1024px){.lg\:p-block{display:block}}
@@ -1 +1 @@
1
- {"inputs":{"src/utils/errors.ts":{"bytes":1985,"imports":[],"format":"esm"},"src/utils/dom.ts":{"bytes":4121,"imports":[{"path":"src/utils/errors.ts","kind":"import-statement","original":"./errors"}],"format":"esm"},"src/utils/debug.ts":{"bytes":3135,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/utils/performance.ts":{"bytes":2443,"imports":[],"format":"esm"},"src/utils/index.ts":{"bytes":1347,"imports":[{"path":"clsx","kind":"import-statement","external":true},{"path":"tailwind-merge","kind":"import-statement","external":true},{"path":"../types","kind":"import-statement","external":true},{"path":"src/utils/errors.ts","kind":"import-statement","original":"./errors"},{"path":"src/utils/dom.ts","kind":"import-statement","original":"./dom"},{"path":"src/utils/debug.ts","kind":"import-statement","original":"./debug"},{"path":"src/utils/performance.ts","kind":"import-statement","original":"./performance"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/react/contexts/segment-context.tsx":{"bytes":1841,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"../../types","kind":"import-statement","external":true},{"path":"src/utils/errors.ts","kind":"import-statement","original":"../../utils/errors"},{"path":"src/utils/index.ts","kind":"import-statement","original":"../../utils"}],"format":"esm"},"src/react/contexts/variant-context.tsx":{"bytes":1359,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/utils/errors.ts","kind":"import-statement","original":"../../utils/errors"},{"path":"src/utils/index.ts","kind":"import-statement","original":"../../utils"}],"format":"esm"},"src/react/contexts/edit-mode-context.tsx":{"bytes":1733,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/utils/errors.ts","kind":"import-statement","original":"../../utils/errors"},{"path":"src/utils/index.ts","kind":"import-statement","original":"../../utils"}],"format":"esm"},"src/react/contexts/index.ts":{"bytes":267,"imports":[{"path":"src/react/contexts/segment-context.tsx","kind":"import-statement","original":"./segment-context"},{"path":"src/react/contexts/variant-context.tsx","kind":"import-statement","original":"./variant-context"},{"path":"src/react/contexts/edit-mode-context.tsx","kind":"import-statement","original":"./edit-mode-context"}],"format":"esm"},"src/react/components/error-boundary.tsx":{"bytes":1342,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"src/react/hooks/use-scroll-position.tsx":{"bytes":1889,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/utils/index.ts","kind":"import-statement","original":"../../utils"},{"path":"src/utils/index.ts","kind":"import-statement","original":"../../utils"}],"format":"esm"},"src/react/components/toolbar/toolbar-provider.tsx":{"bytes":3385,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"../../../types","kind":"import-statement","external":true},{"path":"src/react/contexts/index.ts","kind":"import-statement","original":"../../contexts"},{"path":"src/react/components/error-boundary.tsx","kind":"import-statement","original":"../error-boundary"},{"path":"src/utils/debug.ts","kind":"import-statement","original":"../../../utils/debug"},{"path":"src/react/hooks/use-scroll-position.tsx","kind":"import-statement","original":"../../hooks/use-scroll-position"}],"format":"esm"},"src/react/hooks/use-stega-overlay.tsx":{"bytes":5294,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/utils/dom.ts","kind":"import-statement","original":"../../utils/dom"},{"path":"src/utils/errors.ts","kind":"import-statement","original":"../../utils/errors"},{"path":"src/utils/debug.ts","kind":"import-statement","original":"../../utils/debug"},{"path":"@vercel/stega","kind":"import-statement","external":true}],"format":"esm"},"src/react/hooks/use-stega-proximity.tsx":{"bytes":3242,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/utils/debug.ts","kind":"import-statement","original":"../../utils/debug"},{"path":"src/utils/performance.ts","kind":"import-statement","original":"../../utils/performance"}],"format":"esm"},"src/react/hooks/use-stega-elements.tsx":{"bytes":4787,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/utils/debug.ts","kind":"import-statement","original":"../../utils/debug"}],"format":"esm"},"src/react/hooks/use-stega-scan.tsx":{"bytes":3960,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/utils/dom.ts","kind":"import-statement","original":"../../utils/dom"},{"path":"src/utils/debug.ts","kind":"import-statement","original":"../../utils/debug"},{"path":"src/utils/performance.ts","kind":"import-statement","original":"../../utils/performance"},{"path":"src/react/hooks/use-stega-overlay.tsx","kind":"import-statement","original":"./use-stega-overlay"},{"path":"src/react/hooks/use-stega-proximity.tsx","kind":"import-statement","original":"./use-stega-proximity"},{"path":"src/react/hooks/use-stega-elements.tsx","kind":"import-statement","original":"./use-stega-elements"}],"format":"esm"},"src/react/hooks/use-modal.ts":{"bytes":1586,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"src/react/components/icons/xmark.tsx":{"bytes":530,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/react/components/ui/status-indicator-pill.tsx":{"bytes":2360,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/react/components/toolbar/toolbar-provider.tsx","kind":"import-statement","original":"../toolbar/toolbar-provider"},{"path":"src/react/components/icons/xmark.tsx","kind":"import-statement","original":"../icons/xmark"},{"path":"next/navigation","kind":"import-statement","external":true}],"format":"esm"},"src/react/components/ui/close-edit-mode-pill.tsx":{"bytes":862,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/react/components/toolbar/toolbar-provider.tsx","kind":"import-statement","original":"../toolbar/toolbar-provider"},{"path":"src/react/components/icons/xmark.tsx","kind":"import-statement","original":"../icons/xmark"}],"format":"esm"},"src/react/components/icons/rotate.tsx":{"bytes":1662,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"src/react/components/ui/reset-button.tsx":{"bytes":1604,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"src/utils/index.ts","kind":"import-statement","original":"../../../utils"},{"path":"src/react/components/toolbar/toolbar-provider.tsx","kind":"import-statement","original":"../toolbar/toolbar-provider"},{"path":"src/react/components/icons/rotate.tsx","kind":"import-statement","original":"../icons/rotate"}],"format":"esm"},"src/react/components/ui/icon.tsx":{"bytes":815,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/react/components/ui/logo.tsx":{"bytes":4307,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/react/components/ui/prepr-tracking-pixel.tsx":{"bytes":1951,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/script","kind":"import-statement","external":true}],"format":"esm"},"src/react/components/ui/index.ts":{"bytes":358,"imports":[{"path":"src/react/components/ui/status-indicator-pill.tsx","kind":"import-statement","original":"./status-indicator-pill"},{"path":"src/react/components/ui/close-edit-mode-pill.tsx","kind":"import-statement","original":"./close-edit-mode-pill"},{"path":"src/react/components/ui/reset-button.tsx","kind":"import-statement","original":"./reset-button"},{"path":"src/react/components/ui/icon.tsx","kind":"import-statement","original":"./icon"},{"path":"src/react/components/ui/logo.tsx","kind":"import-statement","original":"./logo"},{"path":"src/react/components/ui/prepr-tracking-pixel.tsx","kind":"import-statement","original":"./prepr-tracking-pixel"}],"format":"esm"},"src/react/components/icons/sort-down.tsx":{"bytes":649,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/react/components/selectors/segment-selector.tsx":{"bytes":3051,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"../../../types","kind":"import-statement","external":true},{"path":"src/react/contexts/index.ts","kind":"import-statement","original":"../../contexts"},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"@headlessui/react","kind":"import-statement","external":true},{"path":"src/react/components/icons/sort-down.tsx","kind":"import-statement","original":"../icons/sort-down"},{"path":"src/utils/index.ts","kind":"import-statement","original":"../../../utils"}],"format":"esm"},"src/react/components/selectors/radio-selector.tsx":{"bytes":1434,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@headlessui/react","kind":"import-statement","external":true},{"path":"src/utils/index.ts","kind":"import-statement","original":"../../../utils"}],"format":"esm"},"src/react/components/selectors/variant-selector.tsx":{"bytes":1055,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/react/contexts/index.ts","kind":"import-statement","original":"../../contexts"},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"src/react/components/selectors/radio-selector.tsx","kind":"import-statement","original":"./radio-selector"}],"format":"esm"},"src/react/components/selectors/edit-mode-selector.tsx":{"bytes":580,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/react/contexts/index.ts","kind":"import-statement","original":"../../contexts"},{"path":"src/react/components/selectors/radio-selector.tsx","kind":"import-statement","original":"./radio-selector"}],"format":"esm"},"src/react/components/selectors/index.ts":{"bytes":259,"imports":[{"path":"src/react/components/selectors/segment-selector.tsx","kind":"import-statement","original":"./segment-selector"},{"path":"src/react/components/selectors/variant-selector.tsx","kind":"import-statement","original":"./variant-selector"},{"path":"src/react/components/selectors/edit-mode-selector.tsx","kind":"import-statement","original":"./edit-mode-selector"},{"path":"src/react/components/selectors/radio-selector.tsx","kind":"import-statement","original":"./radio-selector"}],"format":"esm"},"src/react/components/toolbar/toolbar-content.tsx":{"bytes":2988,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/react/components/ui/index.ts","kind":"import-statement","original":"../ui"},{"path":"src/react/components/selectors/index.ts","kind":"import-statement","original":"../selectors"},{"path":"src/react/components/ui/index.ts","kind":"import-statement","original":"../ui"}],"format":"esm"},"src/react/components/toolbar/toolbar-button.tsx":{"bytes":525,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/utils/index.ts","kind":"import-statement","original":"../../../utils"},{"path":"src/react/components/ui/index.ts","kind":"import-statement","original":"../ui"}],"format":"esm"},"src/react/components/toolbar/toolbar.tsx":{"bytes":3610,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-dom","kind":"import-statement","external":true},{"path":"src/utils/index.ts","kind":"import-statement","original":"../../../utils"},{"path":"src/react/contexts/index.ts","kind":"import-statement","original":"../../contexts"},{"path":"src/react/hooks/use-modal.ts","kind":"import-statement","original":"../../hooks/use-modal"},{"path":"src/react/components/toolbar/toolbar-content.tsx","kind":"import-statement","original":"./toolbar-content"},{"path":"src/react/components/toolbar/toolbar-button.tsx","kind":"import-statement","original":"./toolbar-button"}],"format":"esm"},"src/react/components/toolbar/toolbar-wrapper.tsx":{"bytes":1429,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"src/react/components/toolbar/toolbar.tsx","kind":"import-statement","original":"./toolbar"}],"format":"esm"},"src/react/components/toolbar/toolbar-indicator-wrapper.tsx":{"bytes":307,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/react/components/ui/index.ts","kind":"import-statement","original":"../ui"}],"format":"esm"},"src/react/components/toolbar/prepr-toolbar.tsx":{"bytes":472,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/react/contexts/index.ts","kind":"import-statement","original":"../../contexts"},{"path":"src/react/hooks/use-stega-scan.tsx","kind":"import-statement","original":"../../hooks/use-stega-scan"},{"path":"src/react/components/toolbar/toolbar-wrapper.tsx","kind":"import-statement","original":"./toolbar-wrapper"},{"path":"src/react/components/toolbar/toolbar-indicator-wrapper.tsx","kind":"import-statement","original":"./toolbar-indicator-wrapper"}],"format":"esm"},"src/react/index.tsx":{"bytes":280,"imports":[{"path":"src/react/components/toolbar/toolbar-provider.tsx","kind":"import-statement","original":"./components/toolbar/toolbar-provider"},{"path":"src/react/components/toolbar/prepr-toolbar.tsx","kind":"import-statement","original":"./components/toolbar/prepr-toolbar"},{"path":"src/react/components/ui/prepr-tracking-pixel.tsx","kind":"import-statement","original":"./components/ui/prepr-tracking-pixel"}],"format":"esm"}},"outputs":{"dist/react/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":113416},"dist/react/index.cjs":{"imports":[{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"clsx","kind":"require-call","external":true},{"path":"tailwind-merge","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"@vercel/stega","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"next/navigation","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react-dom","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"next/navigation","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"next/navigation","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"next/script","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"next/navigation","kind":"require-call","external":true},{"path":"@headlessui/react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"next/navigation","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"@headlessui/react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true}],"exports":[],"entryPoint":"src/react/index.tsx","inputs":{"src/react/index.tsx":{"bytesInOutput":137},"src/react/components/toolbar/toolbar-provider.tsx":{"bytesInOutput":1292},"src/react/contexts/segment-context.tsx":{"bytesInOutput":519},"src/utils/errors.ts":{"bytesInOutput":655},"src/utils/index.ts":{"bytesInOutput":342},"src/utils/dom.ts":{"bytesInOutput":1397},"src/utils/debug.ts":{"bytesInOutput":699},"src/utils/performance.ts":{"bytesInOutput":334},"src/react/contexts/index.ts":{"bytesInOutput":0},"src/react/contexts/variant-context.tsx":{"bytesInOutput":395},"src/react/contexts/edit-mode-context.tsx":{"bytesInOutput":582},"src/react/components/error-boundary.tsx":{"bytesInOutput":747},"src/react/hooks/use-scroll-position.tsx":{"bytesInOutput":957},"src/react/components/toolbar/prepr-toolbar.tsx":{"bytesInOutput":195},"src/react/hooks/use-stega-scan.tsx":{"bytesInOutput":1518},"src/react/hooks/use-stega-overlay.tsx":{"bytesInOutput":2375},"src/react/hooks/use-stega-proximity.tsx":{"bytesInOutput":1038},"src/react/hooks/use-stega-elements.tsx":{"bytesInOutput":2328},"src/react/components/toolbar/toolbar-wrapper.tsx":{"bytesInOutput":668},"src/react/components/toolbar/toolbar.tsx":{"bytesInOutput":1496},"src/react/hooks/use-modal.ts":{"bytesInOutput":673},"src/react/components/toolbar/toolbar-content.tsx":{"bytesInOutput":2568},"src/react/components/ui/status-indicator-pill.tsx":{"bytesInOutput":1323},"src/react/components/icons/xmark.tsx":{"bytesInOutput":428},"src/react/components/ui/index.ts":{"bytesInOutput":0},"src/react/components/ui/close-edit-mode-pill.tsx":{"bytesInOutput":636},"src/react/components/ui/reset-button.tsx":{"bytesInOutput":872},"src/react/components/icons/rotate.tsx":{"bytesInOutput":1607},"src/react/components/ui/icon.tsx":{"bytesInOutput":696},"src/react/components/ui/logo.tsx":{"bytesInOutput":4173},"src/react/components/ui/prepr-tracking-pixel.tsx":{"bytesInOutput":816},"src/react/components/selectors/segment-selector.tsx":{"bytesInOutput":1848},"src/react/components/icons/sort-down.tsx":{"bytesInOutput":545},"src/react/components/selectors/index.ts":{"bytesInOutput":0},"src/react/components/selectors/variant-selector.tsx":{"bytesInOutput":538},"src/react/components/selectors/radio-selector.tsx":{"bytesInOutput":785},"src/react/components/selectors/edit-mode-selector.tsx":{"bytesInOutput":237},"src/react/components/toolbar/toolbar-button.tsx":{"bytesInOutput":295},"src/react/components/toolbar/toolbar-indicator-wrapper.tsx":{"bytesInOutput":218}},"bytes":36993}}}
1
+ {"inputs":{"src/react/components/error-boundary.tsx":{"bytes":1342,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"src/utils/errors.ts":{"bytes":1985,"imports":[],"format":"esm"},"src/utils/dom.ts":{"bytes":4121,"imports":[{"path":"src/utils/errors.ts","kind":"import-statement","original":"./errors"}],"format":"esm"},"src/utils/debug.ts":{"bytes":3135,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/utils/performance.ts":{"bytes":2443,"imports":[],"format":"esm"},"src/utils/index.ts":{"bytes":1347,"imports":[{"path":"clsx","kind":"import-statement","external":true},{"path":"tailwind-merge","kind":"import-statement","external":true},{"path":"../types","kind":"import-statement","external":true},{"path":"src/utils/errors.ts","kind":"import-statement","original":"./errors"},{"path":"src/utils/dom.ts","kind":"import-statement","original":"./dom"},{"path":"src/utils/debug.ts","kind":"import-statement","original":"./debug"},{"path":"src/utils/performance.ts","kind":"import-statement","original":"./performance"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/stores/prepr-store.ts":{"bytes":6190,"imports":[{"path":"zustand","kind":"import-statement","external":true},{"path":"zustand/middleware","kind":"import-statement","external":true},{"path":"../types","kind":"import-statement","external":true},{"path":"src/utils/index.ts","kind":"import-statement","original":"../utils"}],"format":"esm"},"src/react/components/store/prepr-store-initializer.tsx":{"bytes":2417,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/stores/prepr-store.ts","kind":"import-statement","original":"../../../stores/prepr-store"},{"path":"../../../types","kind":"import-statement","external":true}],"format":"esm"},"src/react/hooks/use-scroll-position.tsx":{"bytes":1889,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/utils/index.ts","kind":"import-statement","original":"../../utils"},{"path":"src/utils/index.ts","kind":"import-statement","original":"../../utils"}],"format":"esm"},"src/react/components/toolbar/toolbar-provider.tsx":{"bytes":4009,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"../../../types","kind":"import-statement","external":true},{"path":"src/react/components/error-boundary.tsx","kind":"import-statement","original":"../error-boundary"},{"path":"src/react/components/store/prepr-store-initializer.tsx","kind":"import-statement","original":"../store/prepr-store-initializer"},{"path":"src/utils/debug.ts","kind":"import-statement","original":"../../../utils/debug"},{"path":"src/react/hooks/use-scroll-position.tsx","kind":"import-statement","original":"../../hooks/use-scroll-position"},{"path":"src/stores/prepr-store.ts","kind":"import-statement","original":"../../../stores/prepr-store"}],"format":"esm"},"src/react/hooks/use-stega-overlay.tsx":{"bytes":6482,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/utils/dom.ts","kind":"import-statement","original":"../../utils/dom"},{"path":"src/utils/errors.ts","kind":"import-statement","original":"../../utils/errors"},{"path":"src/utils/debug.ts","kind":"import-statement","original":"../../utils/debug"},{"path":"@vercel/stega","kind":"import-statement","external":true}],"format":"esm"},"src/react/hooks/use-stega-proximity.tsx":{"bytes":4921,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/utils/debug.ts","kind":"import-statement","original":"../../utils/debug"},{"path":"src/utils/performance.ts","kind":"import-statement","original":"../../utils/performance"}],"format":"esm"},"src/react/hooks/use-stega-elements.tsx":{"bytes":5054,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/utils/debug.ts","kind":"import-statement","original":"../../utils/debug"}],"format":"esm"},"src/react/hooks/use-stega-scan.tsx":{"bytes":4193,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/utils/dom.ts","kind":"import-statement","original":"../../utils/dom"},{"path":"src/utils/debug.ts","kind":"import-statement","original":"../../utils/debug"},{"path":"src/utils/performance.ts","kind":"import-statement","original":"../../utils/performance"},{"path":"src/react/hooks/use-stega-overlay.tsx","kind":"import-statement","original":"./use-stega-overlay"},{"path":"src/react/hooks/use-stega-proximity.tsx","kind":"import-statement","original":"./use-stega-proximity"},{"path":"src/react/hooks/use-stega-elements.tsx","kind":"import-statement","original":"./use-stega-elements"}],"format":"esm"},"src/react/hooks/use-modal.ts":{"bytes":1586,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"src/react/components/icons/xmark.tsx":{"bytes":530,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/i18n/locales/en.json":{"bytes":708,"imports":[]},"src/i18n/locales/nl.json":{"bytes":757,"imports":[]},"src/i18n/index.ts":{"bytes":1122,"imports":[{"path":"src/i18n/locales/en.json","kind":"import-statement","original":"./locales/en.json"},{"path":"src/i18n/locales/nl.json","kind":"import-statement","original":"./locales/nl.json"},{"path":"src/stores/prepr-store.ts","kind":"import-statement","original":"../stores/prepr-store"}],"format":"esm"},"src/react/hooks/use-i18n.ts":{"bytes":374,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/i18n/index.ts","kind":"import-statement","original":"../../i18n"},{"path":"src/stores/prepr-store.ts","kind":"import-statement","original":"../../stores/prepr-store"}],"format":"esm"},"src/react/components/ui/status-indicator-pill.tsx":{"bytes":2947,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/react/components/toolbar/toolbar-provider.tsx","kind":"import-statement","original":"../toolbar/toolbar-provider"},{"path":"src/stores/prepr-store.ts","kind":"import-statement","original":"../../../stores/prepr-store"},{"path":"src/react/components/icons/xmark.tsx","kind":"import-statement","original":"../icons/xmark"},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"src/utils/index.ts","kind":"import-statement","original":"../../../utils"},{"path":"src/react/hooks/use-i18n.ts","kind":"import-statement","original":"../../hooks/use-i18n"}],"format":"esm"},"src/react/components/ui/close-edit-mode-pill.tsx":{"bytes":991,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/react/components/toolbar/toolbar-provider.tsx","kind":"import-statement","original":"../toolbar/toolbar-provider"},{"path":"src/react/components/icons/xmark.tsx","kind":"import-statement","original":"../icons/xmark"},{"path":"src/react/hooks/use-i18n.ts","kind":"import-statement","original":"../../hooks/use-i18n"}],"format":"esm"},"src/react/components/icons/rotate.tsx":{"bytes":1662,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"src/react/components/ui/reset-button.tsx":{"bytes":1777,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"src/utils/index.ts","kind":"import-statement","original":"../../../utils"},{"path":"src/react/components/toolbar/toolbar-provider.tsx","kind":"import-statement","original":"../toolbar/toolbar-provider"},{"path":"src/react/components/icons/rotate.tsx","kind":"import-statement","original":"../icons/rotate"},{"path":"src/react/hooks/use-i18n.ts","kind":"import-statement","original":"../../hooks/use-i18n"}],"format":"esm"},"src/react/components/ui/icon.tsx":{"bytes":815,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/react/components/ui/logo.tsx":{"bytes":4307,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/react/components/ui/prepr-tracking-pixel.tsx":{"bytes":1951,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/script","kind":"import-statement","external":true}],"format":"esm"},"src/react/components/ui/index.ts":{"bytes":358,"imports":[{"path":"src/react/components/ui/status-indicator-pill.tsx","kind":"import-statement","original":"./status-indicator-pill"},{"path":"src/react/components/ui/close-edit-mode-pill.tsx","kind":"import-statement","original":"./close-edit-mode-pill"},{"path":"src/react/components/ui/reset-button.tsx","kind":"import-statement","original":"./reset-button"},{"path":"src/react/components/ui/icon.tsx","kind":"import-statement","original":"./icon"},{"path":"src/react/components/ui/logo.tsx","kind":"import-statement","original":"./logo"},{"path":"src/react/components/ui/prepr-tracking-pixel.tsx","kind":"import-statement","original":"./prepr-tracking-pixel"}],"format":"esm"},"src/react/components/icons/sort-down.tsx":{"bytes":649,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/react/components/selectors/segment-selector.tsx":{"bytes":3479,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"../../../types","kind":"import-statement","external":true},{"path":"src/stores/prepr-store.ts","kind":"import-statement","original":"../../../stores/prepr-store"},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"@headlessui/react","kind":"import-statement","external":true},{"path":"src/react/components/icons/sort-down.tsx","kind":"import-statement","original":"../icons/sort-down"},{"path":"src/utils/index.ts","kind":"import-statement","original":"../../../utils"},{"path":"src/react/hooks/use-i18n.ts","kind":"import-statement","original":"../../hooks/use-i18n"}],"format":"esm"},"src/react/components/ui/tooltip.tsx":{"bytes":3451,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-dom","kind":"import-statement","external":true}],"format":"esm"},"src/react/components/selectors/radio-selector.tsx":{"bytes":2022,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@headlessui/react","kind":"import-statement","external":true},{"path":"src/utils/index.ts","kind":"import-statement","original":"../../../utils"},{"path":"src/react/components/ui/tooltip.tsx","kind":"import-statement","original":"../ui/tooltip"}],"format":"esm"},"src/react/components/selectors/variant-selector.tsx":{"bytes":1291,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/stores/prepr-store.ts","kind":"import-statement","original":"../../../stores/prepr-store"},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"src/react/components/selectors/radio-selector.tsx","kind":"import-statement","original":"./radio-selector"},{"path":"src/stores/prepr-store.ts","kind":"import-statement","original":"../../../stores/prepr-store"}],"format":"esm"},"src/react/components/selectors/edit-mode-selector.tsx":{"bytes":752,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/stores/prepr-store.ts","kind":"import-statement","original":"../../../stores/prepr-store"},{"path":"src/react/components/selectors/radio-selector.tsx","kind":"import-statement","original":"./radio-selector"},{"path":"src/react/hooks/use-i18n.ts","kind":"import-statement","original":"../../hooks/use-i18n"}],"format":"esm"},"src/react/components/selectors/preview-mode-selector.tsx":{"bytes":915,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/stores/prepr-store.ts","kind":"import-statement","original":"../../../stores/prepr-store"},{"path":"src/react/components/selectors/radio-selector.tsx","kind":"import-statement","original":"./radio-selector"},{"path":"src/react/hooks/use-i18n.ts","kind":"import-statement","original":"../../hooks/use-i18n"}],"format":"esm"},"src/react/components/selectors/index.ts":{"bytes":333,"imports":[{"path":"src/react/components/selectors/segment-selector.tsx","kind":"import-statement","original":"./segment-selector"},{"path":"src/react/components/selectors/variant-selector.tsx","kind":"import-statement","original":"./variant-selector"},{"path":"src/react/components/selectors/edit-mode-selector.tsx","kind":"import-statement","original":"./edit-mode-selector"},{"path":"src/react/components/selectors/radio-selector.tsx","kind":"import-statement","original":"./radio-selector"},{"path":"src/react/components/selectors/preview-mode-selector.tsx","kind":"import-statement","original":"./preview-mode-selector"}],"format":"esm"},"src/react/components/toolbar/toolbar-content.tsx":{"bytes":3594,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/react/components/ui/index.ts","kind":"import-statement","original":"../ui"},{"path":"src/react/components/selectors/index.ts","kind":"import-statement","original":"../selectors"},{"path":"src/react/components/ui/index.ts","kind":"import-statement","original":"../ui"},{"path":"src/react/hooks/use-i18n.ts","kind":"import-statement","original":"../../hooks/use-i18n"}],"format":"esm"},"src/react/components/toolbar/toolbar-button.tsx":{"bytes":525,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/utils/index.ts","kind":"import-statement","original":"../../../utils"},{"path":"src/react/components/ui/index.ts","kind":"import-statement","original":"../ui"}],"format":"esm"},"src/react/components/toolbar/toolbar.tsx":{"bytes":3669,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-dom","kind":"import-statement","external":true},{"path":"src/utils/index.ts","kind":"import-statement","original":"../../../utils"},{"path":"src/stores/prepr-store.ts","kind":"import-statement","original":"../../../stores/prepr-store"},{"path":"src/react/hooks/use-modal.ts","kind":"import-statement","original":"../../hooks/use-modal"},{"path":"src/react/components/toolbar/toolbar-content.tsx","kind":"import-statement","original":"./toolbar-content"},{"path":"src/react/components/toolbar/toolbar-button.tsx","kind":"import-statement","original":"./toolbar-button"}],"format":"esm"},"src/react/components/toolbar/toolbar-wrapper.tsx":{"bytes":1429,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"src/react/components/toolbar/toolbar.tsx","kind":"import-statement","original":"./toolbar"}],"format":"esm"},"src/react/components/toolbar/toolbar-indicator-wrapper.tsx":{"bytes":307,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/react/components/ui/index.ts","kind":"import-statement","original":"../ui"}],"format":"esm"},"src/react/components/toolbar/prepr-toolbar.tsx":{"bytes":467,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/stores/prepr-store.ts","kind":"import-statement","original":"../../../stores/prepr-store"},{"path":"src/react/hooks/use-stega-scan.tsx","kind":"import-statement","original":"../../hooks/use-stega-scan"},{"path":"src/react/components/toolbar/toolbar-wrapper.tsx","kind":"import-statement","original":"./toolbar-wrapper"},{"path":"src/react/components/toolbar/toolbar-indicator-wrapper.tsx","kind":"import-statement","original":"./toolbar-indicator-wrapper"}],"format":"esm"},"src/react/index.tsx":{"bytes":332,"imports":[{"path":"src/react/components/toolbar/toolbar-provider.tsx","kind":"import-statement","original":"./components/toolbar/toolbar-provider"},{"path":"src/react/components/toolbar/prepr-toolbar.tsx","kind":"import-statement","original":"./components/toolbar/prepr-toolbar"},{"path":"src/react/components/ui/prepr-tracking-pixel.tsx","kind":"import-statement","original":"./components/ui/prepr-tracking-pixel"},{"path":"src/react/hooks/use-i18n.ts","kind":"import-statement","original":"./hooks/use-i18n"}],"format":"esm"}},"outputs":{"dist/react/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":142006},"dist/react/index.cjs":{"imports":[{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"zustand","kind":"require-call","external":true},{"path":"zustand/middleware","kind":"require-call","external":true},{"path":"clsx","kind":"require-call","external":true},{"path":"tailwind-merge","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"@vercel/stega","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"next/navigation","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react-dom","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"next/navigation","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"next/navigation","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"next/script","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"next/navigation","kind":"require-call","external":true},{"path":"@headlessui/react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"next/navigation","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"@headlessui/react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react-dom","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true}],"exports":[],"entryPoint":"src/react/index.tsx","inputs":{"src/react/index.tsx":{"bytesInOutput":159},"src/react/components/toolbar/toolbar-provider.tsx":{"bytesInOutput":1389},"src/react/components/error-boundary.tsx":{"bytesInOutput":747},"src/react/components/store/prepr-store-initializer.tsx":{"bytesInOutput":1002},"src/stores/prepr-store.ts":{"bytesInOutput":2100},"src/utils/index.ts":{"bytesInOutput":342},"src/utils/errors.ts":{"bytesInOutput":511},"src/utils/dom.ts":{"bytesInOutput":1397},"src/utils/debug.ts":{"bytesInOutput":699},"src/utils/performance.ts":{"bytesInOutput":334},"src/react/hooks/use-scroll-position.tsx":{"bytesInOutput":957},"src/react/components/toolbar/prepr-toolbar.tsx":{"bytesInOutput":185},"src/react/hooks/use-stega-scan.tsx":{"bytesInOutput":1568},"src/react/hooks/use-stega-overlay.tsx":{"bytesInOutput":2803},"src/react/hooks/use-stega-proximity.tsx":{"bytesInOutput":1732},"src/react/hooks/use-stega-elements.tsx":{"bytesInOutput":2398},"src/react/components/toolbar/toolbar-wrapper.tsx":{"bytesInOutput":668},"src/react/components/toolbar/toolbar.tsx":{"bytesInOutput":1469},"src/react/hooks/use-modal.ts":{"bytesInOutput":673},"src/react/components/toolbar/toolbar-content.tsx":{"bytesInOutput":2927},"src/react/components/ui/status-indicator-pill.tsx":{"bytesInOutput":1457},"src/react/components/icons/xmark.tsx":{"bytesInOutput":429},"src/react/hooks/use-i18n.ts":{"bytesInOutput":106},"src/i18n/locales/en.json":{"bytesInOutput":543},"src/i18n/locales/nl.json":{"bytesInOutput":592},"src/i18n/index.ts":{"bytesInOutput":342},"src/react/components/ui/index.ts":{"bytesInOutput":0},"src/react/components/ui/close-edit-mode-pill.tsx":{"bytesInOutput":685},"src/react/components/ui/reset-button.tsx":{"bytesInOutput":921},"src/react/components/icons/rotate.tsx":{"bytesInOutput":1607},"src/react/components/ui/icon.tsx":{"bytesInOutput":696},"src/react/components/ui/logo.tsx":{"bytesInOutput":4173},"src/react/components/ui/prepr-tracking-pixel.tsx":{"bytesInOutput":816},"src/react/components/selectors/segment-selector.tsx":{"bytesInOutput":1918},"src/react/components/icons/sort-down.tsx":{"bytesInOutput":545},"src/react/components/selectors/index.ts":{"bytesInOutput":0},"src/react/components/selectors/variant-selector.tsx":{"bytesInOutput":498},"src/react/components/selectors/radio-selector.tsx":{"bytesInOutput":1004},"src/react/components/ui/tooltip.tsx":{"bytesInOutput":1645},"src/react/components/selectors/edit-mode-selector.tsx":{"bytesInOutput":269},"src/react/components/selectors/preview-mode-selector.tsx":{"bytesInOutput":355},"src/react/components/toolbar/toolbar-button.tsx":{"bytesInOutput":295},"src/react/components/toolbar/toolbar-indicator-wrapper.tsx":{"bytesInOutput":218}},"bytes":44251}}}