@preprio/prepr-nextjs 1.3.2 → 2.0.0-alpha.4

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 (54) hide show
  1. package/LICENSE +2 -2
  2. package/README.md +55 -144
  3. package/dist/chunk-E7ATRJ2F.js +2 -0
  4. package/dist/chunk-E7ATRJ2F.js.map +1 -0
  5. package/dist/index.css +1 -0
  6. package/dist/metafile-cjs.json +1 -0
  7. package/dist/metafile-esm.json +1 -0
  8. package/dist/middleware/index.cjs +2 -0
  9. package/dist/middleware/index.cjs.map +1 -0
  10. package/dist/middleware/index.d.cts +10 -0
  11. package/dist/middleware/index.d.ts +10 -0
  12. package/dist/middleware/index.js +2 -0
  13. package/dist/middleware/index.js.map +1 -0
  14. package/dist/react/index.cjs +3 -0
  15. package/dist/react/index.cjs.map +1 -0
  16. package/dist/react/index.d.cts +226 -0
  17. package/dist/react/index.d.ts +226 -0
  18. package/dist/react/index.js +3 -0
  19. package/dist/react/index.js.map +1 -0
  20. package/dist/server/index.cjs +7 -0
  21. package/dist/server/index.cjs.map +1 -0
  22. package/dist/{index.d.mts → server/index.d.cts} +6 -17
  23. package/dist/{index.d.ts → server/index.d.ts} +6 -17
  24. package/dist/server/index.js +7 -0
  25. package/dist/server/index.js.map +1 -0
  26. package/dist/types/index.cjs +2 -0
  27. package/dist/types/index.cjs.map +1 -0
  28. package/dist/types/index.d.cts +14 -0
  29. package/dist/types/index.d.ts +14 -0
  30. package/dist/types/index.js +2 -0
  31. package/dist/types/index.js.map +1 -0
  32. package/dist/utils/index.cjs +2 -0
  33. package/dist/utils/index.cjs.map +1 -0
  34. package/dist/utils/index.d.cts +138 -0
  35. package/dist/utils/index.d.ts +138 -0
  36. package/dist/utils/index.js +2 -0
  37. package/dist/utils/index.js.map +1 -0
  38. package/package.json +104 -59
  39. package/dist/chunk-IQXHJV5O.mjs +0 -25
  40. package/dist/chunk-IQXHJV5O.mjs.map +0 -1
  41. package/dist/components.css +0 -430
  42. package/dist/components.css.map +0 -1
  43. package/dist/components.d.mts +0 -10
  44. package/dist/components.d.ts +0 -10
  45. package/dist/components.js +0 -415
  46. package/dist/components.js.map +0 -1
  47. package/dist/components.mjs +0 -388
  48. package/dist/components.mjs.map +0 -1
  49. package/dist/index.js +0 -325
  50. package/dist/index.js.map +0 -1
  51. package/dist/index.mjs +0 -279
  52. package/dist/index.mjs.map +0 -1
  53. package/dist/types-DmITW6Tn.d.mts +0 -6
  54. package/dist/types-DmITW6Tn.d.ts +0 -6
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 prepr
3
+ Copyright (c) 2024 Preprio
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
18
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,165 +1,76 @@
1
- # The Prepr Next.js package
1
+ # @preprio/prepr-nextjs
2
2
 
3
- ## Getting Started
4
- <hr>
5
- The Prepr Next.js package offers some helper functions and the Adaptive Preview Bar component for an
6
- easier personalization & A/B testing implementation in your Next.js project.
3
+ Next.js package for Prepr CMS preview functionality with advanced debugging and visual editing capabilities.
7
4
 
8
- ## Installation
9
- <hr>
10
- To install the Prepr Next.js package, run the following command:
5
+ ## Development
11
6
 
7
+ ### Setup
12
8
  ```bash
13
- npm install @preprio/prepr-nextjs
9
+ pnpm install
14
10
  ```
15
11
 
16
- Next, add the `PREPR_ENV` variable to the `.env` file. You can enable the *Adaptive Preview Bar* for a staging environment by setting the value to `preview`.
12
+ ### Available Commands
17
13
 
18
- ```bash
19
- PREPR_ENV=preview
20
- ```
14
+ - `npm run dev` - Start development mode with watch
15
+ - `npm run build` - Build the package for production
16
+ - `npm run clean` - Clean the dist directory
17
+ - `npm run check` - Run all quality checks (type-check, lint, format)
18
+ - `npm run type-check` - Check TypeScript types
19
+ - `npm run lint` - Fix linting issues
20
+ - `npm run lint:check` - Check for linting issues
21
+ - `npm run format` - Format code with Prettier
22
+ - `npm run format:check` - Check code formatting
21
23
 
22
- When you're launching your project to production, then set the `PREPR_ENV` environment variable to `production`. This way, the *Adaptive Preview Bar* doesn't get displayed on a live web app.
24
+ ## Release Process
23
25
 
24
- Next, implement the `PreprMiddleware` function. Go to your `middleware.js` or the `middleware.ts`
25
- file. If you don't have this file, you can create it in the root of your project.
26
+ The release process is streamlined and automated:
26
27
 
27
- Then add the following code to the `middleware.ts` file:
28
- ```javascript
29
- import type { NextRequest } from 'next/server'
30
- import { PreprMiddleware } from '@preprio/prepr-nextjs'
28
+ 1. **Check code quality**: `npm run check`
29
+ 2. **Release**: `npm run release <type> [prerelease-type]`
31
30
 
32
- export function middleware(request: NextRequest) {
33
- return PreprMiddleware(request)
34
- }
35
- ```
31
+ ### Release Types
32
+ - `patch` - Bug fixes (1.0.0 → 1.0.1)
33
+ - `minor` - New features (1.0.0 → 1.1.0)
34
+ - `major` - Breaking changes (1.0.0 → 2.0.0)
35
+ - `prerelease` - Pre-release versions
36
36
 
37
- Or add the following code to the `middleware.js` file:
38
- ```javascript
39
- import { PreprMiddleware } from '@preprio/prepr-nextjs'
37
+ ### Examples
38
+ ```bash
39
+ # Release a patch version
40
+ npm run release patch
40
41
 
41
- export function middleware(request) {
42
- return PreprMiddleware(request)
43
- }
44
- ```
42
+ # Release a prerelease alpha version
43
+ npm run release prerelease alpha
45
44
 
46
- ### Middleware functionality
47
- The `PreprMiddleware` accepts a request and optional response property and returns a `NextRequest` object.
48
- This is done so you are able to chain your own middleware to it.
49
-
50
- The `PreprMiddleware` function checks every request if the `__prepr_uid` cookie is set. If it isn't, the function generates a new UUID and sets it as a cookie. Then it returns a `Prepr-Customer-Id` header with the value of the `__prepr_uid` cookie to simplify your personalization and A/B testing implementation.
51
-
52
- If the `PREPR_ENV` environment variable is set to `preview`, the `PreprMiddleware` function also checks for searchParams `segments` and `a-b-testing` in the URL.
53
- If these searchParams are set, the PreprMiddleware sets the `Prepr-Segments` and `Prepr-AB-Testing` headers with the values of the searchParams, and stores its value in a cookie.
54
-
55
- ## Usage
56
- To set your API request headers to query adaptive content or A/B testing content, you can call the `getPreprHeaders()` helper function. It returns an array of headers that you can spread in your fetch call.
57
- See the example code below in the `page.tsx` file.
58
-
59
- ```javascript
60
- import { getClient } from '@/lib/client'
61
- import { GetPageBySlugDocument, GetPageBySlugQuery } from '@/gql/graphql'
62
- import { getPreprHeaders } from '@preprio/prepr-nextjs'
63
-
64
- const getData = async () => {
65
- // Fetching the data using Apollo Client
66
- const {data} = await getClient().query < GetPageBySlugQuery > ({
67
- query: GetPageBySlugDocument,
68
- variables: {
69
- slug: '/',
70
- },
71
- context: {
72
- // Call the getPreprHeaders function to get the appropriate headers
73
- headers: getPreprHeaders(),
74
- },
75
- fetchPolicy: 'no-cache',
76
- })
77
- }
45
+ # Release a prerelease beta version
46
+ npm run release prerelease beta
78
47
  ```
79
- See the JavaScript example code below in the `page.js`file.
80
-
81
- ```javascript
82
- import { getClient } from '@/lib/client'
83
- import { GetPageBySlug } from '@/queries/get-page-by-slug';
84
- import { getPreprHeaders } from '@preprio/prepr-nextjs'
85
-
86
- const getData = async () => {
87
- // Fetching the data using Apollo Client
88
- const { data } = await client.query({
89
- query: GetPageBySlug,
90
- variables: {
91
- slug: '/',
92
- },
93
- context: {
94
- // Call the getPreprHeaders function to get the appropriate headers
95
- headers: getPreprHeaders(),
96
- },
97
- fetchPolicy: 'no-cache',
98
- })
99
- return data;
100
- }
101
- ```
102
-
103
- ### Installing the Adaptive Preview Bar component
104
-
105
- The preview bar component fetches all segments from the Prepr API. So, you need to give it access to do this as follows:
106
-
107
- 1. In your Prepr environment, go to the **Settings → Access tokens** page to view all the access tokens.
108
- 2. Click the *GraphQL Preview* access token to open it and tick the **Enable edit mode** checkbox and click the **Save** button.
109
-
110
- ![Preview access token](https://assets-site.prepr.io/229kaekn7m96//preview-access-token-enable-edit-mode.png)
111
48
 
112
- To implement the *Adaptive Preview Bar* component, navigate to your root layout file, this is usually `layout.tsx`.
49
+ The release script will:
50
+ 1. Check if working directory is clean
51
+ 2. Run all quality checks
52
+ 3. Build the package
53
+ 4. Update version in package.json
54
+ 5. Commit changes and create git tag
55
+ 6. Push changes and tag to remote
113
56
 
114
- Then add the following code to the `layout.tsx` file:
57
+ ## Package Structure
115
58
 
116
- ```javascript
117
- // Helper function to get all the props for the PreviewBar component (this needs a server component)
118
- import { getPreviewBarProps } from '@preprio/prepr-nextjs'
119
- // Import the PreviewBar component
120
- import { PreprPreviewBar } from '@preprio/prepr-nextjs/components'
121
- // Import the PreviewBar CSS
122
- import '@preprio/prepr-nextjs/dist/components.css'
123
-
124
-
125
- export default async function RootLayout({children}: {children: React.ReactNode}) {
126
- // Get the props for the PreviewBar component, pass the access token as an argument
127
- const previewBarProps = await getPreviewBarProps(process.env.PREPR_GRAPHQL_URL!)
128
-
129
- return (
130
- <html>
131
- <head>
132
- {/*...*/}
133
- </head>
134
- <body>
135
- {/* Render the PreviewBar component and spread the previewBarProps */}
136
- <PreprPreviewBar {...previewBarProps} />
137
- {children}
138
- </body>
139
- </html>
140
- )
141
- }
59
+ ```
60
+ dist/
61
+ ├── react/ # React components and hooks
62
+ ├── middleware/ # Next.js middleware
63
+ ├── server/ # Server-side utilities
64
+ ├── types/ # TypeScript type definitions
65
+ ├── utils/ # Utility functions
66
+ └── index.css # Compiled CSS
142
67
  ```
143
68
 
144
- Now the *Adaptive Preview Bar* is rendered on every page of your website. This component shows the segments in a dropdown list and a switch for A and B variants for an A/B test. If you have added the `getPreprHeaders()` function
145
- to your API calls it automatically updates the segments and A/B testing variants when you select a new segment or variant.
146
-
147
- ### Helper functions
148
-
149
- #### getPreprUUID()
150
- The `getPreprUUID()` function will return the value of the `__prepr_uid` cookie. This can be useful if you want to store the `__prepr_uid` in a cookie or local storage.
151
-
152
- #### getActiveSegment()
153
- Returns the active segment from the `Prepr-Segments` header.
154
-
155
- #### getActiveVariant()
156
- Returns the active variant from the `Prepr-ABTesting` header.
157
-
158
- #### getPreviewHeaders()
159
- Helper function to only get the preview headers.
160
-
161
- #### getPreprHeaders()
162
- Helper function that will either return the customer id header or the preview headers depending on the `PREPR_ENV` environment variable.
69
+ ## Exports
163
70
 
164
- #### getPreviewBarProps()
165
- Helper function to get the props for the PreviewBar component. Will return the segments and A/B testing variants aswell as an aray of all the segments.
71
+ - `./react` - React components and hooks
72
+ - `./middleware` - Next.js middleware
73
+ - `./server` - Server-side utilities
74
+ - `./utils` - Utility functions
75
+ - `./types` - TypeScript types
76
+ - `./index.css` - Compiled CSS styles
@@ -0,0 +1,2 @@
1
+ var m=Object.defineProperty,n=Object.defineProperties;var o=Object.getOwnPropertyDescriptors;var h=Object.getOwnPropertySymbols;var p=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable;var i=(c,b,a)=>b in c?m(c,b,{enumerable:true,configurable:true,writable:true,value:a}):c[b]=a,r=(c,b)=>{for(var a in b||(b={}))p.call(b,a)&&i(c,a,b[a]);if(h)for(var a of h(b))q.call(b,a)&&i(c,a,b[a]);return c},s=(c,b)=>n(c,o(b));var t=(c,b,a)=>new Promise((j,g)=>{var k=d=>{try{e(a.next(d));}catch(f){g(f);}},l=d=>{try{e(a.throw(d));}catch(f){g(f);}},e=d=>d.done?j(d.value):Promise.resolve(d.value).then(k,l);e((a=a.apply(c,b)).next());});export{r as a,s as b,t as c};//# sourceMappingURL=chunk-E7ATRJ2F.js.map
2
+ //# sourceMappingURL=chunk-E7ATRJ2F.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-E7ATRJ2F.js"}
package/dist/index.css ADDED
@@ -0,0 +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-4{height:1rem}.p-h-6{height:1.5rem}.p-h-8{height:2rem}.\!p-max-h-\[300px\]{max-height:300px!important}.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-4{padding-right:1rem}.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-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}}
@@ -0,0 +1 @@
1
+ {"inputs":{"src/utils/errors.ts":{"bytes":1985,"imports":[],"format":"esm"},"src/react/contexts/segment-context.tsx":{"bytes":1576,"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"}],"format":"esm"},"src/react/contexts/variant-context.tsx":{"bytes":1109,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/utils/errors.ts","kind":"import-statement","original":"../../utils/errors"}],"format":"esm"},"src/react/contexts/edit-mode-context.tsx":{"bytes":1113,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/utils/errors.ts","kind":"import-statement","original":"../../utils/errors"}],"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/utils/debug.ts":{"bytes":2587,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/react/prepr-previewbar-provider.tsx":{"bytes":2424,"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":"./components/error-boundary"},{"path":"src/utils/debug.ts","kind":"import-statement","original":"../utils/debug"}],"format":"esm"},"src/utils/dom.ts":{"bytes":4121,"imports":[{"path":"src/utils/errors.ts","kind":"import-statement","original":"./errors"}],"format":"esm"},"src/utils/performance.ts":{"bytes":1143,"imports":[],"format":"esm"},"src/react/hooks/useStegaOverlay.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/useStegaProximity.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/useStegaElements.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/useStegaScan.tsx":{"bytes":3954,"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/useStegaOverlay.tsx","kind":"import-statement","original":"./useStegaOverlay"},{"path":"src/react/hooks/useStegaProximity.tsx","kind":"import-statement","original":"./useStegaProximity"},{"path":"src/react/hooks/useStegaElements.tsx","kind":"import-statement","original":"./useStegaElements"}],"format":"esm"},"src/utils/index.ts":{"bytes":750,"imports":[{"path":"clsx","kind":"import-statement","external":true},{"path":"tailwind-merge","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/hooks/useModal.ts":{"bytes":1586,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"src/react/components/logo.tsx":{"bytes":4307,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"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/segment-dropdown.tsx":{"bytes":3041,"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/radio-selector.tsx":{"bytes":1431,"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/variant-selector.tsx":{"bytes":1052,"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/radio-selector.tsx","kind":"import-statement","original":"./radio-selector"}],"format":"esm"},"src/react/components/edit-mode-selector.tsx":{"bytes":577,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/react/contexts/index.ts","kind":"import-statement","original":"../contexts"},{"path":"src/react/components/radio-selector.tsx","kind":"import-statement","original":"./radio-selector"}],"format":"esm"},"src/react/components/icons/rotate.tsx":{"bytes":1662,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"src/react/components/reset-button.tsx":{"bytes":1747,"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/prepr-previewbar-provider.tsx","kind":"import-statement","original":"../prepr-previewbar-provider"},{"path":"src/react/components/icons/rotate.tsx","kind":"import-statement","original":"./icons/rotate"}],"format":"esm"},"src/react/components/preview-bar/preview-bar-content.tsx":{"bytes":3072,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/react/components/logo.tsx","kind":"import-statement","original":"../logo"},{"path":"src/react/components/segment-dropdown.tsx","kind":"import-statement","original":"../segment-dropdown"},{"path":"src/react/components/variant-selector.tsx","kind":"import-statement","original":"../variant-selector"},{"path":"src/react/components/edit-mode-selector.tsx","kind":"import-statement","original":"../edit-mode-selector"},{"path":"src/react/components/reset-button.tsx","kind":"import-statement","original":"../reset-button"}],"format":"esm"},"src/react/components/icon.tsx":{"bytes":815,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/react/components/preview-bar/preview-bar-button.tsx":{"bytes":537,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/utils/index.ts","kind":"import-statement","original":"../../../utils"},{"path":"src/react/components/icon.tsx","kind":"import-statement","original":"../icon"}],"format":"esm"},"src/react/components/preview-bar/preview-bar.tsx":{"bytes":3193,"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/useModal.ts","kind":"import-statement","original":"../../hooks/useModal"},{"path":"src/react/components/preview-bar/preview-bar-content.tsx","kind":"import-statement","original":"./preview-bar-content"},{"path":"src/react/components/preview-bar/preview-bar-button.tsx","kind":"import-statement","original":"./preview-bar-button"}],"format":"esm"},"src/react/components/preview-bar/index.ts":{"bytes":171,"imports":[{"path":"src/react/components/preview-bar/preview-bar.tsx","kind":"import-statement","original":"./preview-bar"},{"path":"src/react/components/preview-bar/preview-bar-content.tsx","kind":"import-statement","original":"./preview-bar-content"},{"path":"src/react/components/preview-bar/preview-bar-button.tsx","kind":"import-statement","original":"./preview-bar-button"}],"format":"esm"},"src/react/components/preview-bar-wrapper.tsx":{"bytes":1446,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/react/components/preview-bar/index.ts","kind":"import-statement","original":"./preview-bar"},{"path":"next/navigation","kind":"import-statement","external":true}],"format":"esm"},"src/react/components/status-indicator-pill.tsx":{"bytes":1396,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/react/prepr-previewbar-provider.tsx","kind":"import-statement","original":"../prepr-previewbar-provider"}],"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/close-edit-mode-pill.tsx":{"bytes":868,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/react/prepr-previewbar-provider.tsx","kind":"import-statement","original":"../prepr-previewbar-provider"},{"path":"src/react/components/icons/xmark.tsx","kind":"import-statement","original":"./icons/xmark"}],"format":"esm"},"src/react/components/preview-bar-indicator-wrapper.tsx":{"bytes":361,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/react/components/status-indicator-pill.tsx","kind":"import-statement","original":"./status-indicator-pill"},{"path":"src/react/components/close-edit-mode-pill.tsx","kind":"import-statement","original":"./close-edit-mode-pill"}],"format":"esm"},"src/react/components/prepr-preview-bar.tsx":{"bytes":487,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/react/contexts/index.ts","kind":"import-statement","original":"../contexts"},{"path":"src/react/hooks/useStegaScan.tsx","kind":"import-statement","original":"../hooks/useStegaScan"},{"path":"src/react/components/preview-bar-wrapper.tsx","kind":"import-statement","original":"./preview-bar-wrapper"},{"path":"src/react/components/preview-bar-indicator-wrapper.tsx","kind":"import-statement","original":"./preview-bar-indicator-wrapper"}],"format":"esm"},"src/react/hooks/useScrollPosition.tsx":{"bytes":1767,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/utils/index.ts","kind":"import-statement","original":"../../utils"},{"path":"src/utils/debug.ts","kind":"import-statement","original":"../../utils/debug"}],"format":"esm"},"src/react/index.tsx":{"bytes":1450,"imports":[{"path":"src/react/prepr-previewbar-provider.tsx","kind":"import-statement","original":"./prepr-previewbar-provider"},{"path":"src/react/components/prepr-preview-bar.tsx","kind":"import-statement","original":"./components/prepr-preview-bar"},{"path":"src/react/contexts/index.ts","kind":"import-statement","original":"./contexts"},{"path":"src/react/hooks/useStegaScan.tsx","kind":"import-statement","original":"./hooks/useStegaScan"},{"path":"src/react/hooks/useStegaOverlay.tsx","kind":"import-statement","original":"./hooks/useStegaOverlay"},{"path":"src/react/hooks/useStegaProximity.tsx","kind":"import-statement","original":"./hooks/useStegaProximity"},{"path":"src/react/hooks/useStegaElements.tsx","kind":"import-statement","original":"./hooks/useStegaElements"},{"path":"src/react/hooks/useModal.ts","kind":"import-statement","original":"./hooks/useModal"},{"path":"src/react/hooks/useScrollPosition.tsx","kind":"import-statement","original":"./hooks/useScrollPosition"},{"path":"src/utils/debug.ts","kind":"import-statement","original":"../utils/debug"},{"path":"src/react/components/error-boundary.tsx","kind":"import-statement","original":"./components/error-boundary"},{"path":"src/react/components/preview-bar/preview-bar.tsx","kind":"import-statement","original":"./components/preview-bar/preview-bar"},{"path":"src/react/components/preview-bar-wrapper.tsx","kind":"import-statement","original":"./components/preview-bar-wrapper"},{"path":"src/react/components/preview-bar-indicator-wrapper.tsx","kind":"import-statement","original":"./components/preview-bar-indicator-wrapper"},{"path":"src/react/components/segment-dropdown.tsx","kind":"import-statement","original":"./components/segment-dropdown"},{"path":"src/react/components/variant-selector.tsx","kind":"import-statement","original":"./components/variant-selector"},{"path":"src/react/components/edit-mode-selector.tsx","kind":"import-statement","original":"./components/edit-mode-selector"},{"path":"src/react/components/reset-button.tsx","kind":"import-statement","original":"./components/reset-button"},{"path":"src/react/components/logo.tsx","kind":"import-statement","original":"./components/logo"}],"format":"esm"}},"outputs":{"dist/react/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":105145},"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":"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":"react","kind":"require-call","external":true},{"path":"react-dom","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":"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":"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":"react","kind":"require-call","external":true}],"exports":[],"entryPoint":"src/react/index.tsx","inputs":{"src/react/index.tsx":{"bytesInOutput":672},"src/react/prepr-previewbar-provider.tsx":{"bytesInOutput":948},"src/react/contexts/segment-context.tsx":{"bytesInOutput":474},"src/utils/errors.ts":{"bytesInOutput":655},"src/react/contexts/index.ts":{"bytesInOutput":0},"src/react/contexts/variant-context.tsx":{"bytesInOutput":339},"src/react/contexts/edit-mode-context.tsx":{"bytesInOutput":372},"src/react/components/error-boundary.tsx":{"bytesInOutput":746},"src/utils/debug.ts":{"bytesInOutput":713},"src/react/components/prepr-preview-bar.tsx":{"bytesInOutput":194},"src/react/hooks/useStegaScan.tsx":{"bytesInOutput":1517},"src/utils/dom.ts":{"bytesInOutput":1397},"src/utils/performance.ts":{"bytesInOutput":278},"src/react/hooks/useStegaOverlay.tsx":{"bytesInOutput":2375},"src/react/hooks/useStegaProximity.tsx":{"bytesInOutput":1038},"src/react/hooks/useStegaElements.tsx":{"bytesInOutput":2328},"src/react/components/preview-bar-wrapper.tsx":{"bytesInOutput":671},"src/react/components/preview-bar/preview-bar.tsx":{"bytesInOutput":1335},"src/utils/index.ts":{"bytesInOutput":190},"src/react/hooks/useModal.ts":{"bytesInOutput":673},"src/react/components/preview-bar/preview-bar-content.tsx":{"bytesInOutput":2567},"src/react/components/logo.tsx":{"bytesInOutput":4173},"src/react/components/segment-dropdown.tsx":{"bytesInOutput":1847},"src/react/components/icons/sort-down.tsx":{"bytesInOutput":545},"src/react/components/variant-selector.tsx":{"bytesInOutput":539},"src/react/components/radio-selector.tsx":{"bytesInOutput":786},"src/react/components/edit-mode-selector.tsx":{"bytesInOutput":238},"src/react/components/reset-button.tsx":{"bytesInOutput":971},"src/react/components/icons/rotate.tsx":{"bytesInOutput":1607},"src/react/components/preview-bar/preview-bar-button.tsx":{"bytesInOutput":295},"src/react/components/icon.tsx":{"bytesInOutput":696},"src/react/components/preview-bar/index.ts":{"bytesInOutput":0},"src/react/components/preview-bar-indicator-wrapper.tsx":{"bytesInOutput":218},"src/react/components/status-indicator-pill.tsx":{"bytesInOutput":856},"src/react/components/close-edit-mode-pill.tsx":{"bytesInOutput":642},"src/react/components/icons/xmark.tsx":{"bytesInOutput":429},"src/react/hooks/useScrollPosition.tsx":{"bytesInOutput":951}},"bytes":35711}}}
@@ -0,0 +1 @@
1
+ {"inputs":{"src/utils/errors.ts":{"bytes":1985,"imports":[],"format":"esm"},"src/react/contexts/segment-context.tsx":{"bytes":1576,"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"}],"format":"esm"},"src/react/contexts/variant-context.tsx":{"bytes":1109,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/utils/errors.ts","kind":"import-statement","original":"../../utils/errors"}],"format":"esm"},"src/react/contexts/edit-mode-context.tsx":{"bytes":1113,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/utils/errors.ts","kind":"import-statement","original":"../../utils/errors"}],"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/utils/debug.ts":{"bytes":2587,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/react/prepr-previewbar-provider.tsx":{"bytes":2424,"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":"./components/error-boundary"},{"path":"src/utils/debug.ts","kind":"import-statement","original":"../utils/debug"}],"format":"esm"},"src/utils/dom.ts":{"bytes":4121,"imports":[{"path":"src/utils/errors.ts","kind":"import-statement","original":"./errors"}],"format":"esm"},"src/utils/performance.ts":{"bytes":1143,"imports":[],"format":"esm"},"src/react/hooks/useStegaOverlay.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/useStegaProximity.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/useStegaElements.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/useStegaScan.tsx":{"bytes":3954,"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/useStegaOverlay.tsx","kind":"import-statement","original":"./useStegaOverlay"},{"path":"src/react/hooks/useStegaProximity.tsx","kind":"import-statement","original":"./useStegaProximity"},{"path":"src/react/hooks/useStegaElements.tsx","kind":"import-statement","original":"./useStegaElements"}],"format":"esm"},"src/utils/index.ts":{"bytes":750,"imports":[{"path":"clsx","kind":"import-statement","external":true},{"path":"tailwind-merge","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/hooks/useModal.ts":{"bytes":1586,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"src/react/components/logo.tsx":{"bytes":4307,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"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/segment-dropdown.tsx":{"bytes":3041,"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/radio-selector.tsx":{"bytes":1431,"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/variant-selector.tsx":{"bytes":1052,"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/radio-selector.tsx","kind":"import-statement","original":"./radio-selector"}],"format":"esm"},"src/react/components/edit-mode-selector.tsx":{"bytes":577,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/react/contexts/index.ts","kind":"import-statement","original":"../contexts"},{"path":"src/react/components/radio-selector.tsx","kind":"import-statement","original":"./radio-selector"}],"format":"esm"},"src/react/components/icons/rotate.tsx":{"bytes":1662,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"src/react/components/reset-button.tsx":{"bytes":1747,"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/prepr-previewbar-provider.tsx","kind":"import-statement","original":"../prepr-previewbar-provider"},{"path":"src/react/components/icons/rotate.tsx","kind":"import-statement","original":"./icons/rotate"}],"format":"esm"},"src/react/components/preview-bar/preview-bar-content.tsx":{"bytes":3072,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/react/components/logo.tsx","kind":"import-statement","original":"../logo"},{"path":"src/react/components/segment-dropdown.tsx","kind":"import-statement","original":"../segment-dropdown"},{"path":"src/react/components/variant-selector.tsx","kind":"import-statement","original":"../variant-selector"},{"path":"src/react/components/edit-mode-selector.tsx","kind":"import-statement","original":"../edit-mode-selector"},{"path":"src/react/components/reset-button.tsx","kind":"import-statement","original":"../reset-button"}],"format":"esm"},"src/react/components/icon.tsx":{"bytes":815,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/react/components/preview-bar/preview-bar-button.tsx":{"bytes":537,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/utils/index.ts","kind":"import-statement","original":"../../../utils"},{"path":"src/react/components/icon.tsx","kind":"import-statement","original":"../icon"}],"format":"esm"},"src/react/components/preview-bar/preview-bar.tsx":{"bytes":3193,"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/useModal.ts","kind":"import-statement","original":"../../hooks/useModal"},{"path":"src/react/components/preview-bar/preview-bar-content.tsx","kind":"import-statement","original":"./preview-bar-content"},{"path":"src/react/components/preview-bar/preview-bar-button.tsx","kind":"import-statement","original":"./preview-bar-button"}],"format":"esm"},"src/react/components/preview-bar/index.ts":{"bytes":171,"imports":[{"path":"src/react/components/preview-bar/preview-bar.tsx","kind":"import-statement","original":"./preview-bar"},{"path":"src/react/components/preview-bar/preview-bar-content.tsx","kind":"import-statement","original":"./preview-bar-content"},{"path":"src/react/components/preview-bar/preview-bar-button.tsx","kind":"import-statement","original":"./preview-bar-button"}],"format":"esm"},"src/react/components/preview-bar-wrapper.tsx":{"bytes":1446,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/react/components/preview-bar/index.ts","kind":"import-statement","original":"./preview-bar"},{"path":"next/navigation","kind":"import-statement","external":true}],"format":"esm"},"src/react/components/status-indicator-pill.tsx":{"bytes":1396,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/react/prepr-previewbar-provider.tsx","kind":"import-statement","original":"../prepr-previewbar-provider"}],"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/close-edit-mode-pill.tsx":{"bytes":868,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/react/prepr-previewbar-provider.tsx","kind":"import-statement","original":"../prepr-previewbar-provider"},{"path":"src/react/components/icons/xmark.tsx","kind":"import-statement","original":"./icons/xmark"}],"format":"esm"},"src/react/components/preview-bar-indicator-wrapper.tsx":{"bytes":361,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/react/components/status-indicator-pill.tsx","kind":"import-statement","original":"./status-indicator-pill"},{"path":"src/react/components/close-edit-mode-pill.tsx","kind":"import-statement","original":"./close-edit-mode-pill"}],"format":"esm"},"src/react/components/prepr-preview-bar.tsx":{"bytes":487,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/react/contexts/index.ts","kind":"import-statement","original":"../contexts"},{"path":"src/react/hooks/useStegaScan.tsx","kind":"import-statement","original":"../hooks/useStegaScan"},{"path":"src/react/components/preview-bar-wrapper.tsx","kind":"import-statement","original":"./preview-bar-wrapper"},{"path":"src/react/components/preview-bar-indicator-wrapper.tsx","kind":"import-statement","original":"./preview-bar-indicator-wrapper"}],"format":"esm"},"src/react/hooks/useScrollPosition.tsx":{"bytes":1767,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/utils/index.ts","kind":"import-statement","original":"../../utils"},{"path":"src/utils/debug.ts","kind":"import-statement","original":"../../utils/debug"}],"format":"esm"},"src/react/index.tsx":{"bytes":1450,"imports":[{"path":"src/react/prepr-previewbar-provider.tsx","kind":"import-statement","original":"./prepr-previewbar-provider"},{"path":"src/react/components/prepr-preview-bar.tsx","kind":"import-statement","original":"./components/prepr-preview-bar"},{"path":"src/react/contexts/index.ts","kind":"import-statement","original":"./contexts"},{"path":"src/react/hooks/useStegaScan.tsx","kind":"import-statement","original":"./hooks/useStegaScan"},{"path":"src/react/hooks/useStegaOverlay.tsx","kind":"import-statement","original":"./hooks/useStegaOverlay"},{"path":"src/react/hooks/useStegaProximity.tsx","kind":"import-statement","original":"./hooks/useStegaProximity"},{"path":"src/react/hooks/useStegaElements.tsx","kind":"import-statement","original":"./hooks/useStegaElements"},{"path":"src/react/hooks/useModal.ts","kind":"import-statement","original":"./hooks/useModal"},{"path":"src/react/hooks/useScrollPosition.tsx","kind":"import-statement","original":"./hooks/useScrollPosition"},{"path":"src/utils/debug.ts","kind":"import-statement","original":"../utils/debug"},{"path":"src/react/components/error-boundary.tsx","kind":"import-statement","original":"./components/error-boundary"},{"path":"src/react/components/preview-bar/preview-bar.tsx","kind":"import-statement","original":"./components/preview-bar/preview-bar"},{"path":"src/react/components/preview-bar-wrapper.tsx","kind":"import-statement","original":"./components/preview-bar-wrapper"},{"path":"src/react/components/preview-bar-indicator-wrapper.tsx","kind":"import-statement","original":"./components/preview-bar-indicator-wrapper"},{"path":"src/react/components/segment-dropdown.tsx","kind":"import-statement","original":"./components/segment-dropdown"},{"path":"src/react/components/variant-selector.tsx","kind":"import-statement","original":"./components/variant-selector"},{"path":"src/react/components/edit-mode-selector.tsx","kind":"import-statement","original":"./components/edit-mode-selector"},{"path":"src/react/components/reset-button.tsx","kind":"import-statement","original":"./components/reset-button"},{"path":"src/react/components/logo.tsx","kind":"import-statement","original":"./components/logo"}],"format":"esm"}},"outputs":{"dist/react/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":103438},"dist/react/index.js":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@vercel/stega","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-dom","kind":"import-statement","external":true},{"path":"clsx","kind":"import-statement","external":true},{"path":"tailwind-merge","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"@headlessui/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@headlessui/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"exports":["EditModeProvider","EditModeSelector","Logo","PreprPreviewBar","PreprPreviewBarProvider","PreviewBar","PreviewBarIndicatorWrapper","PreviewBarWrapper","ResetButton","SegmentDropdown","SegmentProvider","StegaErrorBoundary","VariantProvider","VariantSelector","createScopedLogger","debugError","debugLog","debugWarn","useEditModeContext","useModal","usePreprPreviewBar","useScrollPosition","useSegmentContext","useStegaElements","useStegaOverlay","useStegaProximity","useStegaScan","useVariantContext"],"entryPoint":"src/react/index.tsx","inputs":{"src/react/prepr-previewbar-provider.tsx":{"bytesInOutput":914},"src/react/contexts/segment-context.tsx":{"bytesInOutput":471},"src/utils/errors.ts":{"bytesInOutput":655},"src/react/contexts/index.ts":{"bytesInOutput":0},"src/react/contexts/variant-context.tsx":{"bytesInOutput":336},"src/react/contexts/edit-mode-context.tsx":{"bytesInOutput":360},"src/react/components/error-boundary.tsx":{"bytesInOutput":731},"src/utils/debug.ts":{"bytesInOutput":699},"src/react/index.tsx":{"bytesInOutput":0},"src/react/components/prepr-preview-bar.tsx":{"bytesInOutput":155},"src/react/hooks/useStegaScan.tsx":{"bytesInOutput":1504},"src/utils/dom.ts":{"bytesInOutput":1397},"src/utils/performance.ts":{"bytesInOutput":278},"src/react/hooks/useStegaOverlay.tsx":{"bytesInOutput":2267},"src/react/hooks/useStegaProximity.tsx":{"bytesInOutput":1021},"src/react/hooks/useStegaElements.tsx":{"bytesInOutput":2254},"src/react/components/preview-bar-wrapper.tsx":{"bytesInOutput":663},"src/react/components/preview-bar/preview-bar.tsx":{"bytesInOutput":1214},"src/utils/index.ts":{"bytesInOutput":188},"src/react/hooks/useModal.ts":{"bytesInOutput":653},"src/react/components/preview-bar/preview-bar-content.tsx":{"bytesInOutput":2382},"src/react/components/logo.tsx":{"bytesInOutput":4117},"src/react/components/segment-dropdown.tsx":{"bytesInOutput":1803},"src/react/components/icons/sort-down.tsx":{"bytesInOutput":522},"src/react/components/variant-selector.tsx":{"bytesInOutput":521},"src/react/components/radio-selector.tsx":{"bytesInOutput":773},"src/react/components/edit-mode-selector.tsx":{"bytesInOutput":221},"src/react/components/reset-button.tsx":{"bytesInOutput":943},"src/react/components/icons/rotate.tsx":{"bytesInOutput":1584},"src/react/components/preview-bar/preview-bar-button.tsx":{"bytesInOutput":272},"src/react/components/icon.tsx":{"bytesInOutput":673},"src/react/components/preview-bar/index.ts":{"bytesInOutput":0},"src/react/components/preview-bar-indicator-wrapper.tsx":{"bytesInOutput":187},"src/react/components/status-indicator-pill.tsx":{"bytesInOutput":809},"src/react/components/close-edit-mode-pill.tsx":{"bytesInOutput":603},"src/react/components/icons/xmark.tsx":{"bytesInOutput":406},"src/react/hooks/useScrollPosition.tsx":{"bytesInOutput":945}},"bytes":33603}}}
@@ -0,0 +1,2 @@
1
+ 'use strict';var functions=require('@vercel/functions'),server=require('next/server');function f(r){var c,m,P,d;process.env.PREPR_GRAPHQL_URL||console.error("PREPR_GRAPHQL_URL is not set");let e=server.NextResponse.next();r.nextUrl.searchParams.forEach((t,o)=>{switch(o){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 a=r.headers.get("referer");a&&e.headers.set("Prepr-Context-initial_referral",a);let p=functions.ipAddress(r);p&&e.headers.set("Prepr-Visitor-IP",p);let n=(c=r.cookies.get("hubspotutk"))==null?void 0:c.value;n&&e.headers.set("Prepr-Hubspot-Id",n);let s=(m=r.cookies.get("__prepr_uid"))==null?void 0:m.value;if(s||(s=crypto.randomUUID(),e.cookies.set("__prepr_uid",s,{maxAge:1*365*24*60}),e.headers.set("Prepr-Customer-Id-Created","true")),e.headers.set("Prepr-Customer-Id",s),process.env.PREPR_ENV==="preview"){e.headers.set("Prepr-Preview-Bar","true");let t=(P=r.cookies.get("Prepr-Segments"))==null?void 0:P.value;t&&e.headers.set("Prepr-Segments",t);let o=(d=r.cookies.get("Prepr-ABtesting"))==null?void 0:d.value;o&&e.headers.set("Prepr-ABtesting",o),r.nextUrl.searchParams.forEach((i,_)=>{_==="prepr_preview_ab"&&(e.headers.set("Prepr-ABtesting",i),e.cookies.set("Prepr-ABtesting",i)),_==="prepr_preview_segment"&&(e.headers.set("Prepr-Segments",i),e.cookies.set("Prepr-Segments",i));}),console.log(e.headers.getSetCookie());}return e}module.exports=f;//# sourceMappingURL=index.cjs.map
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/middleware/index.ts"],"names":["createPreprMiddleware","request","_a","_b","_c","_d","response","NextResponse","value","key","referrer","ip","ipAddress","hutkCookie","cookie","segmentCookie","abCookie"],"mappings":"sFAQe,SAARA,CAAAA,CAAuCC,CAAAA,CAAsB,CARpE,IAAAC,CAAAA,CAAAC,CAAAA,CAAAC,CAAAA,CAAAC,CAAAA,CASO,OAAA,CAAQ,GAAA,CAAI,iBAAA,EACf,OAAA,CAAQ,KAAA,CAAM,8BAA8B,CAAA,CAG9C,IAAMC,CAAAA,CAAWC,mBAAAA,CAAa,IAAA,EAAK,CAGnCN,EAAQ,OAAA,CAAQ,YAAA,CAAa,OAAA,CAAQ,CAACO,CAAAA,CAAOC,CAAAA,GAAQ,CACnD,OAAQA,CAAAA,EACN,KAAK,YAAA,CACHH,CAAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,0BAAA,CAA4BE,CAAK,CAAA,CACtD,MACF,KAAK,YAAA,CACHF,CAAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,0BAAA,CAA4BE,CAAK,CAAA,CACtD,MACF,KAAK,UAAA,CACHF,CAAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,yBAA0BE,CAAK,CAAA,CACpD,MACF,KAAK,aAAA,CACHF,CAAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,2BAAA,CAA6BE,CAAK,CAAA,CACvD,MACF,KAAK,cAAA,CACHF,CAAAA,CAAS,OAAA,CAAQ,IAAI,4BAAA,CAA8BE,CAAK,CAAA,CACxD,KACJ,CACF,CAAC,CAAA,CAGD,IAAME,CAAAA,CAAWT,CAAAA,CAAQ,OAAA,CAAQ,GAAA,CAAI,SAAS,CAAA,CAC1CS,CAAAA,EACFJ,CAAAA,CAAS,QAAQ,GAAA,CAAI,gCAAA,CAAkCI,CAAQ,CAAA,CAIjE,IAAMC,CAAAA,CAAKC,mBAAAA,CAAUX,CAAO,CAAA,CACxBU,CAAAA,EACFL,CAAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,kBAAA,CAAoBK,CAAE,CAAA,CAI7C,IAAME,CAAAA,CAAAA,CAAaX,CAAAA,CAAAD,CAAAA,CAAQ,OAAA,CAAQ,GAAA,CAAI,YAAY,CAAA,GAAhC,IAAA,CAAA,MAAA,CAAAC,CAAAA,CAAmC,KAAA,CAClDW,CAAAA,EACFP,CAAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,kBAAA,CAAoBO,CAAU,EAIrD,IAAIC,CAAAA,CAAAA,CAASX,CAAAA,CAAAF,CAAAA,CAAQ,OAAA,CAAQ,GAAA,CAAI,aAAa,CAAA,GAAjC,IAAA,CAAA,MAAA,CAAAE,CAAAA,CAAoC,KAAA,CAajD,GAZKW,CAAAA,GACHA,CAAAA,CAAS,MAAA,CAAO,UAAA,GAChBR,CAAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,aAAA,CAAeQ,CAAAA,CAAQ,CAC1C,MAAA,CAAQ,CAAA,CAAI,GAAA,CAAM,EAAA,CAAK,EACzB,CAAC,CAAA,CACDR,CAAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,4BAA6B,MAAM,CAAA,CAAA,CAI1DA,CAAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,mBAAA,CAAqBQ,CAAM,CAAA,CAG5C,OAAA,CAAQ,GAAA,CAAI,SAAA,GAAc,SAAA,CAAW,CACvCR,CAAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,oBAAqB,MAAM,CAAA,CAGhD,IAAMS,CAAAA,CAAAA,CAAgBX,CAAAA,CAAAH,CAAAA,CAAQ,OAAA,CAAQ,GAAA,CAAI,gBAAgB,CAAA,GAApC,IAAA,CAAA,MAAA,CAAAG,CAAAA,CAAuC,KAAA,CACzDW,CAAAA,EACFT,CAAAA,CAAS,OAAA,CAAQ,IAAI,gBAAA,CAAkBS,CAAa,CAAA,CAGtD,IAAMC,CAAAA,CAAAA,CAAWX,CAAAA,CAAAJ,CAAAA,CAAQ,OAAA,CAAQ,GAAA,CAAI,iBAAiB,CAAA,GAArC,IAAA,CAAA,MAAA,CAAAI,CAAAA,CAAwC,KAAA,CACrDW,CAAAA,EACFV,CAAAA,CAAS,QAAQ,GAAA,CAAI,iBAAA,CAAmBU,CAAQ,CAAA,CAIlDf,CAAAA,CAAQ,OAAA,CAAQ,YAAA,CAAa,OAAA,CAAQ,CAACO,CAAAA,CAAOC,CAAAA,GAAQ,CAC/CA,CAAAA,GAAQ,kBAAA,GACVH,CAAAA,CAAS,OAAA,CAAQ,IAAI,iBAAA,CAAmBE,CAAK,CAAA,CAC7CF,CAAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,iBAAA,CAAmBE,CAAK,CAAA,CAAA,CAG3CC,CAAAA,GAAQ,uBAAA,GACVH,CAAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,gBAAA,CAAkBE,CAAK,EAC5CF,CAAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,gBAAA,CAAkBE,CAAK,CAAA,EAEhD,CAAC,CAAA,CACD,OAAA,CAAQ,GAAA,CAAIF,CAAAA,CAAS,OAAA,CAAQ,YAAA,EAAc,EAC7C,CAEA,OAAOA,CACT","file":"index.cjs","sourcesContent":["import { ipAddress } from '@vercel/functions';\nimport { NextRequest, NextResponse } from 'next/server';\n\n/**\n * Middleware to set Prepr headers for personalization.\n * @param request - NextRequest object.\n * @param preview - Boolean indicating if preview mode is enabled.\n */\nexport default function createPreprMiddleware(request: NextRequest) {\n if (!process.env.PREPR_GRAPHQL_URL) {\n console.error('PREPR_GRAPHQL_URL is not set');\n }\n\n const response = NextResponse.next();\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 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 enabled, set additional headers\n if (process.env.PREPR_ENV === 'preview') {\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 console.log(response.headers.getSetCookie());\n }\n\n return response;\n}\n"]}
@@ -0,0 +1,10 @@
1
+ import { NextRequest, NextResponse } from 'next/server';
2
+
3
+ /**
4
+ * Middleware to set Prepr headers for personalization.
5
+ * @param request - NextRequest object.
6
+ * @param preview - Boolean indicating if preview mode is enabled.
7
+ */
8
+ declare function createPreprMiddleware(request: NextRequest): NextResponse<unknown>;
9
+
10
+ export { createPreprMiddleware as default };
@@ -0,0 +1,10 @@
1
+ import { NextRequest, NextResponse } from 'next/server';
2
+
3
+ /**
4
+ * Middleware to set Prepr headers for personalization.
5
+ * @param request - NextRequest object.
6
+ * @param preview - Boolean indicating if preview mode is enabled.
7
+ */
8
+ declare function createPreprMiddleware(request: NextRequest): NextResponse<unknown>;
9
+
10
+ export { createPreprMiddleware as default };
@@ -0,0 +1,2 @@
1
+ import'../chunk-E7ATRJ2F.js';import {ipAddress}from'@vercel/functions';import {NextResponse}from'next/server';function f(r){var c,m,P,d;process.env.PREPR_GRAPHQL_URL||console.error("PREPR_GRAPHQL_URL is not set");let e=NextResponse.next();r.nextUrl.searchParams.forEach((t,o)=>{switch(o){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 a=r.headers.get("referer");a&&e.headers.set("Prepr-Context-initial_referral",a);let p=ipAddress(r);p&&e.headers.set("Prepr-Visitor-IP",p);let n=(c=r.cookies.get("hubspotutk"))==null?void 0:c.value;n&&e.headers.set("Prepr-Hubspot-Id",n);let s=(m=r.cookies.get("__prepr_uid"))==null?void 0:m.value;if(s||(s=crypto.randomUUID(),e.cookies.set("__prepr_uid",s,{maxAge:1*365*24*60}),e.headers.set("Prepr-Customer-Id-Created","true")),e.headers.set("Prepr-Customer-Id",s),process.env.PREPR_ENV==="preview"){e.headers.set("Prepr-Preview-Bar","true");let t=(P=r.cookies.get("Prepr-Segments"))==null?void 0:P.value;t&&e.headers.set("Prepr-Segments",t);let o=(d=r.cookies.get("Prepr-ABtesting"))==null?void 0:d.value;o&&e.headers.set("Prepr-ABtesting",o),r.nextUrl.searchParams.forEach((i,_)=>{_==="prepr_preview_ab"&&(e.headers.set("Prepr-ABtesting",i),e.cookies.set("Prepr-ABtesting",i)),_==="prepr_preview_segment"&&(e.headers.set("Prepr-Segments",i),e.cookies.set("Prepr-Segments",i));}),console.log(e.headers.getSetCookie());}return e}export{f as default};//# sourceMappingURL=index.js.map
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/middleware/index.ts"],"names":["createPreprMiddleware","request","_a","_b","_c","_d","response","NextResponse","value","key","referrer","ip","ipAddress","hutkCookie","cookie","segmentCookie","abCookie"],"mappings":"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","file":"index.js","sourcesContent":["import { ipAddress } from '@vercel/functions';\nimport { NextRequest, NextResponse } from 'next/server';\n\n/**\n * Middleware to set Prepr headers for personalization.\n * @param request - NextRequest object.\n * @param preview - Boolean indicating if preview mode is enabled.\n */\nexport default function createPreprMiddleware(request: NextRequest) {\n if (!process.env.PREPR_GRAPHQL_URL) {\n console.error('PREPR_GRAPHQL_URL is not set');\n }\n\n const response = NextResponse.next();\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 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 enabled, set additional headers\n if (process.env.PREPR_ENV === 'preview') {\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 console.log(response.headers.getSetCookie());\n }\n\n return response;\n}\n"]}
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ "use strict";"use client";var ht=Object.create;var q=Object.defineProperty,vt=Object.defineProperties,xt=Object.getOwnPropertyDescriptor,Et=Object.getOwnPropertyDescriptors,wt=Object.getOwnPropertyNames,Ue=Object.getOwnPropertySymbols,Ct=Object.getPrototypeOf,Xe=Object.prototype.hasOwnProperty,bt=Object.prototype.propertyIsEnumerable;var Ke=(t,e,r)=>e in t?q(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,E=(t,e)=>{for(var r in e||(e={}))Xe.call(e,r)&&Ke(t,r,e[r]);if(Ue)for(var r of Ue(e))bt.call(e,r)&&Ke(t,r,e[r]);return t},de=(t,e)=>vt(t,Et(e));var yt=(t,e)=>{for(var r in e)q(t,r,{get:e[r],enumerable:!0})},qe=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of wt(e))!Xe.call(t,n)&&n!==r&&q(t,n,{get:()=>e[n],enumerable:!(o=xt(e,n))||o.enumerable});return t};var g=(t,e,r)=>(r=t!=null?ht(Ct(t)):{},qe(e||!t||!t.__esModule?q(r,"default",{value:t,enumerable:!0}):r,t)),St=t=>qe(q({},"__esModule",{value:!0}),t);var Tt={};yt(Tt,{EditModeProvider:()=>me,EditModeSelector:()=>re,Logo:()=>be,PreprPreviewBar:()=>Ze,PreprPreviewBarProvider:()=>it,PreviewBar:()=>I,PreviewBarIndicatorWrapper:()=>se,PreviewBarWrapper:()=>ne,ResetButton:()=>oe,SegmentDropdown:()=>Q,SegmentProvider:()=>ce,StegaErrorBoundary:()=>j,VariantProvider:()=>ue,VariantSelector:()=>te,createScopedLogger:()=>w,debugError:()=>nt,debugLog:()=>rt,debugWarn:()=>ot,useEditModeContext:()=>M,useModal:()=>Ce,usePreprPreviewBar:()=>A,useScrollPosition:()=>je,useSegmentContext:()=>W,useStegaElements:()=>Ee,useStegaOverlay:()=>ve,useStegaProximity:()=>xe,useStegaScan:()=>Y,useVariantContext:()=>z});module.exports=St(Tt);var $=g(require("react"),1);var O=g(require("react"),1);var Ve={DECODE_FAILED:"STEGA_DECODE_FAILED",INVALID_FORMAT:"STEGA_INVALID_FORMAT",DOM_MANIPULATION_FAILED:"DOM_MANIPULATION_FAILED",CONTEXT_NOT_FOUND:"CONTEXT_NOT_FOUND"};function Be(t,e,r,o){return{type:t,context:e,message:r.message,timestamp:new Date().toISOString(),stack:r.stack,additionalData:o}}function Je(t,e,r){let o=Be(Ve.DECODE_FAILED,e,t,r);return console.error("Stega Error:",o),process.env.NODE_ENV,o}function P(t,e){let r=Be(Ve.DOM_MANIPULATION_FAILED,e,t);return console.error("DOM Error:",r),r}function G(t){let e=new Error(`${t} must be used within its provider`),r=Be(Ve.CONTEXT_NOT_FOUND,t,e);throw console.error("Context Error:",r),e}var Ye=(0,O.createContext)(void 0);function ce({children:t,initialSegments:e,activeSegment:r}){let o=[{_id:"all_other_users",name:"All other users"},...e],n={name:"Choose segment",_id:"null"},[i,s]=(0,O.useState)(o&&o.filter(l=>l._id===r)[0]||n),a={segments:o,selectedSegment:i,setSelectedSegment:s,emptySegment:n};return O.default.createElement(Ye.Provider,{value:a},t)}function W(){let t=(0,O.useContext)(Ye);return t||G("useSegmentContext"),t}var _=g(require("react"),1);var Qe=(0,_.createContext)(void 0);function ue({children:t,activeVariant:e}){let r="null",[o,n]=(0,_.useState)(e||"null"),i={selectedVariant:o,setSelectedVariant:n,emptyVariant:r};return _.default.createElement(Qe.Provider,{value:i},t)}function z(){let t=(0,_.useContext)(Qe);return t||G("useVariantContext"),t}var b=g(require("react"),1);var et=(0,b.createContext)(void 0);function me({children:t}){let[e,r]=(0,b.useState)(!1),[o,n]=(0,b.useState)(!1);(0,b.useEffect)(()=>{window.parent!==self&&n(!0)},[]);let i={editMode:e,setEditMode:r,isIframe:o};return b.default.createElement(et.Provider,{value:i},t)}function M(){let t=(0,b.useContext)(et);return t||G("useEditModeContext"),t}var Z=g(require("react"),1),j=class extends Z.Component{constructor(e){super(e),this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,r){console.error("Stega Error Boundary caught an error:",e,r),process.env.NODE_ENV}render(){var e;return this.state.hasError?this.props.fallback?this.props.fallback:Z.default.createElement("div",{className:"p-rounded-lg p-border p-border-red-200 p-bg-red-50 p-p-4 p-text-sm p-text-red-800"},Z.default.createElement("div",{className:"p-mb-2 p-font-semibold"},"Preview mode unavailable"),Z.default.createElement("div",{className:"p-text-red-600"},((e=this.state.error)==null?void 0:e.message)||"An unexpected error occurred")):this.props.children}};var ge=class t{constructor(e){this.options=E({prefix:"[Prepr]"},e)}log(e,...r){if(!this.options.enabled)return;let o=this.options.prefix;console.log(`${o} ${e}`,...r)}warn(e,...r){if(!this.options.enabled)return;let o=this.options.prefix;console.warn(`${o} ${e}`,...r)}error(e,...r){if(!this.options.enabled)return;let o=this.options.prefix;console.error(`${o} ${e}`,...r)}scope(e){return new t(de(E({},this.options),{prefix:`${this.options.prefix}[${e}]`}))}},fe=null;function tt(t=!1){fe=new ge({enabled:t})}function he(){return fe||(fe=new ge({enabled:!1})),fe}function rt(t,...e){he().log(t,...e)}function ot(t,...e){he().warn(t,...e)}function nt(t,...e){he().error(t,...e)}function w(t){return he().scope(t)}var it=({children:t,props:e,options:r})=>{let{activeSegment:o,activeVariant:n,data:i}=e;return(0,$.useEffect)(()=>{var a;let s=(a=r==null?void 0:r.debug)!=null?a:!1;tt(s)},[r==null?void 0:r.debug]),$.default.createElement(j,null,$.default.createElement(ce,{initialSegments:i,activeSegment:o},$.default.createElement(ue,{activeVariant:n},$.default.createElement(me,null,t))))},A=()=>{let t=W(),e=z(),r=M();return{isPreviewMode:!1,activeSegment:t.selectedSegment._id,activeVariant:e.selectedVariant,data:t.segments,emptySegment:t.emptySegment,segmentList:t.segments,selectedSegment:t.selectedSegment,setSelectedSegment:t.setSelectedSegment,emptyVariant:e.emptyVariant,selectedVariant:e.selectedVariant,setSelectedVariant:e.setSelectedVariant,editMode:r.editMode,setEditMode:r.setEditMode,isIframe:r.isIframe,resetSelected:()=>{t.setSelectedSegment(t.emptySegment),e.setSelectedVariant(e.emptyVariant),r.setEditMode(!1)}}};var ae=g(require("react"),1);var N=require("react");var x=class{static createElement(e,r){try{let o=document.createElement(e);return o.className=r,o}catch(o){throw P(o,"createElement"),o}}static appendToBody(e){try{document.body.appendChild(e)}catch(r){throw P(r,"appendToBody"),r}}static removeFromBody(e){try{e.parentNode&&e.parentNode.removeChild(e)}catch(r){throw P(r,"removeFromBody"),r}}static setElementStyles(e,r){try{Object.entries(r).forEach(([o,n])=>{e.style.setProperty(o,n)})}catch(o){throw P(o,"setElementStyles"),o}}static getElementRect(e){try{return e.getBoundingClientRect()}catch(r){throw P(r,"getElementRect"),r}}static isElementInViewport(e){try{let r=this.getElementRect(e);return r.top>=0&&r.left>=0&&r.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&r.right<=(window.innerWidth||document.documentElement.clientWidth)}catch(r){return P(r,"isElementInViewport"),!1}}static calculateDistance(e,r,o,n){return Math.sqrt(Math.pow(o-e,2)+Math.pow(n-r,2))}static findClosestElement(e,r,o){try{let n=null,i=1/0;return o.forEach(s=>{let a=this.getElementRect(s),l=this.calculateDistance(e,r,a.left+a.width/2,a.top+a.height/2);l<i&&(i=l,n=s)}),n}catch(n){return P(n,"findClosestElement"),null}}static addEventListener(e,r,o,n){try{e.addEventListener(r,o,n)}catch(i){throw P(i,"addEventListener"),i}}static removeEventListener(e,r,o,n){try{e.removeEventListener(r,o,n)}catch(i){throw P(i,"removeEventListener"),i}}};function st(t,e){let r=null,o=0;return(...n)=>{let i=Date.now();i-o>e?(t(...n),o=i):(r&&clearTimeout(r),r=setTimeout(()=>{t(...n),o=Date.now()},e-(i-o)))}}function at(t,e=1e3){let r=null,o=0;return()=>{let n=Date.now();return(!r||n-o>e)&&(r=document.querySelectorAll(t),o=n),r}}var L=require("react");var Oe=require("@vercel/stega");function Pt(t){if(!t)return null;let e=w("decode");try{e.log("attempting to decode stega data");let r=(0,Oe.vercelStegaDecode)(t);if(e.log("vercelStegaDecode result:",r),r!=null&&r.href)return e.log("successfully decoded",r),r}catch(r){e.log("error decoding stega data:",r);let o=/{"origin.*?}/,n=t.match(o);if(n)try{let i=(0,Oe.vercelStegaDecode)(n[0]);if(i!=null&&i.href)return e.log("successfully decoded with regex match",i),i}catch(i){Je(i,"decode",{input:t})}}return null}function ve(){let t=w("useStegaOverlay"),e=(0,L.useRef)(null),r=(0,L.useRef)(null),o=(0,L.useRef)(null),n=(0,L.useRef)(null),i=(0,L.useCallback)(()=>{let d=x.createElement("div","prepr-overlay");d.style.display="none";let p=x.createElement("div","prepr-tooltip");return p.style.display="none",x.appendToBody(d),x.appendToBody(p),e.current=d,r.current=p,t.log("created overlay and tooltip elements"),{overlay:d,tooltip:p}},[t]),s=(0,L.useCallback)(d=>{if(!e.current||!r.current)return;o.current&&(clearTimeout(o.current),o.current=null);let p=x.getElementRect(d),m=d.getAttribute("data-prepr-href"),c=d.getAttribute("data-prepr-origin");t.log("showing overlay for element:",{href:m,origin:c,rect:p});let u=e.current;u.style.display="block",u.style.top=`${p.top+window.scrollY-2}px`,u.style.left=`${p.left+window.scrollX-4}px`,u.style.width=`${p.width+8}px`,u.style.height=`${p.height+4}px`;let f=r.current;if(f&&m&&c){let C=p.width<80;f.textContent=C?"\u2197":`${c} \u2197`,f.style.display="block",C?f.style.minWidth="auto":f.style.minWidth="80px",requestAnimationFrame(()=>{f&&(f.style.top=`${p.top+window.scrollY-f.clientHeight-2}px`,f.style.left=`${p.right+4-f.clientWidth}px`)}),f.onclick=()=>window.open(m,"_blank","noopener,noreferrer")}n.current=d},[t]),a=(0,L.useCallback)(()=>{!e.current||!r.current||(o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{e.current&&(e.current.style.display="none"),r.current&&(r.current.style.display="none"),n.current=null,t.log("hidden overlay and tooltip")},100))},[t]),l=(0,L.useCallback)(()=>{o.current&&clearTimeout(o.current),e.current&&x.removeFromBody(e.current),r.current&&x.removeFromBody(r.current),t.log("cleaned up overlay and tooltip")},[t]);return{overlayRef:e,tooltipRef:r,currentElementRef:n,hideTimeoutRef:o,createOverlay:i,showOverlay:s,hideOverlay:a,cleanup:l,decode:Pt}}var J=require("react");function xe(){let t=w("useStegaProximity"),e=(0,J.useRef)(new Set),r=at("[data-prepr-encoded]",500),o=(0,J.useCallback)((i,s)=>{let a=r(),l=new Set,d=0;a.forEach(p=>{let m=p.getBoundingClientRect(),c=Math.abs(i-m.left),u=Math.abs(i-m.right),f=Math.abs(s-m.top),k=Math.abs(s-m.bottom),C=Math.min(c,u,f,k),S=p;if(C<150){let V=i-m.left,B=s-m.top;S.style.setProperty("--cursor-x",`${V}px`),S.style.setProperty("--cursor-y",`${B}px`);let F=Math.max(150,Math.max(m.width,m.height)*1.1),le=Math.max(0,(400-C)/400),pe=F*le;S.style.setProperty("--gradient-size",`${pe}px`),S.classList.add("prepr-proximity-highlight"),l.add(S),d++}else S.classList.remove("prepr-proximity-highlight")}),e.current=l,d>0&&t.log("highlighted",d,"elements near cursor")},[t,r]),n=(0,J.useCallback)(()=>{let i=e.current,s=0;i.forEach(a=>{a.classList.remove("prepr-proximity-highlight"),s++}),e.current.clear(),s>0&&t.log("cleared highlights from",s,"elements")},[t]);return{updateElementGradients:o,clearAllHighlights:n,highlightedElementsRef:e}}var T=require("react");function Ee(){let t=w("useStegaElements"),e=(0,T.useRef)(void 0),r=(0,T.useRef)(null),o=(0,T.useCallback)(()=>(e.current||(e.current=document.querySelectorAll("[data-prepr-encoded]")),e.current),[]),n=(0,T.useCallback)((l,d)=>{var p,m;if(l.nodeType===Node.TEXT_NODE){if(!((p=l.textContent)!=null&&p.trim())||(m=l.parentElement)!=null&&m.closest("script, style, noscript"))return;let c=d(l.textContent);if(c!=null&&c.href){let u=l.parentElement;u&&!u.hasAttribute("data-prepr-encoded")&&(u.setAttribute("data-prepr-encoded",""),u.setAttribute("data-prepr-href",c.href),u.setAttribute("data-prepr-origin",c.origin),t.log("encoded element found:",{href:c.href,origin:c.origin}))}}else if(l.nodeType===Node.ELEMENT_NODE)for(let c=0;c<l.childNodes.length;c++)n(l.childNodes[c],d)},[t]),i=(0,T.useCallback)(l=>{t.log("starting document scan");let d=document.createTreeWalker(document.body,NodeFilter.SHOW_TEXT,{acceptNode:c=>{var u,f;return(u=c.parentElement)!=null&&u.closest("script, style, noscript")||!((f=c.textContent)!=null&&f.trim())?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}}),p,m=0;for(;p=d.nextNode();){let c=l(p.textContent);if(c!=null&&c.href){let u=p.parentElement;u&&!u.hasAttribute("data-prepr-encoded")&&(u.setAttribute("data-prepr-encoded",""),u.setAttribute("data-prepr-href",c.href),u.setAttribute("data-prepr-origin",c.origin),m++)}}t.log("document scan complete, encoded",m,"elements"),e.current=document.querySelectorAll("[data-prepr-encoded]")},[t]),s=(0,T.useCallback)(l=>{r.current&&r.current.disconnect();let d=[],p=null,m=()=>{let c=new Set;d.forEach(u=>{u.addedNodes.forEach(f=>c.add(f))}),c.forEach(u=>n(u,l)),d=[],e.current=document.querySelectorAll("[data-prepr-encoded]")};r.current=new MutationObserver(c=>{d.push(...c),p&&clearTimeout(p),p=setTimeout(m,100)}),r.current.observe(document.body,{childList:!0,subtree:!0}),t.log("mutation observer set up")},[n,t]),a=(0,T.useCallback)(()=>{r.current&&(r.current.disconnect(),r.current=null);let l=document.querySelectorAll("[data-prepr-encoded]");l.forEach(d=>{d.removeAttribute("data-prepr-encoded"),d.removeAttribute("data-prepr-href"),d.removeAttribute("data-prepr-origin")}),t.log("cleaned up",l.length,"encoded elements"),e.current=void 0},[t]);return{getElements:o,scanDocument:i,setupMutationObserver:s,cleanup:a}}function Y(t){let e=w("useStegaScan"),r=(0,N.useRef)(!1),{currentElementRef:o,hideTimeoutRef:n,createOverlay:i,showOverlay:s,hideOverlay:a,cleanup:l,decode:d}=ve(),{updateElementGradients:p,clearAllHighlights:m}=xe(),{getElements:c,scanDocument:u,setupMutationObserver:f,cleanup:k}=Ee(),C=(0,N.useMemo)(()=>st(B=>{let F=B,le=F.target;if(le.closest(".prepr-tooltip"))return;p(F.clientX,F.clientY);let pe=le.closest("[data-prepr-encoded]");pe?s(pe):a()},16),[p,s,a]),S=(0,N.useCallback)(()=>{n.current&&(clearTimeout(n.current),n.current=null)},[n]),V=(0,N.useCallback)(()=>{o.current||a()},[o,a]);(0,N.useEffect)(()=>{if(e.log("editMode changed to",t),!t){e.log("editMode is false, cleaning up"),r.current&&(x.removeEventListener(document,"mousemove",C),l(),m(),k(),r.current=!1);return}if(r.current){e.log("already initialized, skipping setup");return}e.log("editMode is true, setting up scanning");let{tooltip:B}=i();e.log("created overlay and tooltip"),x.addEventListener(B,"mouseenter",S),x.addEventListener(B,"mouseleave",V),e.log("starting document scan"),u(d);let F=c();return e.log("found",F.length,"encoded elements after scan"),f(d),e.log("set up mutation observer"),x.addEventListener(document,"mousemove",C),e.log("added throttled mousemove handler"),r.current=!0,()=>{e.log("cleaning up"),x.removeEventListener(document,"mousemove",C),x.removeEventListener(B,"mouseenter",S),x.removeEventListener(B,"mouseleave",V),n.current&&clearTimeout(n.current),l(),m(),k(),r.current=!1}},[t])}var K=g(require("react"),1);var v=g(require("react"),1),mt=require("react-dom");var lt=require("clsx"),pt=require("tailwind-merge");function y(...t){return(0,pt.twMerge)((0,lt.clsx)(t))}function we(t,e){window.parent.postMessage(E({name:"prepr_preview_bar",event:t},e))}var U=require("react");function Ce({isVisible:t,onClose:e}){let r=(0,U.useRef)(null),o=(0,U.useRef)(null);return(0,U.useEffect)(()=>(t?document.body.style.overflow="hidden":document.body.style.overflow="",()=>{document.body.style.overflow=""}),[t]),(0,U.useEffect)(()=>{let n=s=>{s.key==="Escape"&&e()},i=s=>{s.target.closest('[role="listbox"], [role="option"]')||r.current&&!r.current.contains(s.target)&&o.current&&!o.current.contains(s.target)&&e()};return t&&(document.addEventListener("keydown",n),document.addEventListener("mousedown",i)),()=>{document.removeEventListener("keydown",n),document.removeEventListener("mousedown",i)}},[t,e]),{contentRef:r,triggerRef:o}}var h=g(require("react"),1);var R=g(require("react"),1);var Mt=t=>R.default.createElement("svg",de(E({width:"102",height:"28",viewBox:"0 0 102 28",fill:"none"},t),{xmlns:"http://www.w3.org/2000/svg"}),R.default.createElement("path",{d:"M39.2674 2.19699C39.2757 2.18321 39.2839 2.16943 39.291 2.15528L39.2939 2.15057L39.2935 2.1502C39.3379 2.06208 39.3633 1.96308 39.3633 1.85754C39.3633 1.62109 39.2374 1.41474 39.0507 1.30231C39.0485 1.30014 39.0467 1.29651 39.0446 1.29578C35.1089 -0.88088 29.8537 -0.36627 26.3741 3.2632C24.4207 5.3006 23.4231 7.92116 23.3716 10.5544H23.3684V20.893C23.3684 21.2495 23.6538 21.5389 24.0058 21.5389H26.98C27.332 21.5389 27.6174 21.2495 27.6174 20.893V10.7698H27.6192C27.6192 9.14658 28.2169 7.52187 29.4209 6.26599C31.5699 4.02478 34.7423 3.8565 36.9299 5.03659C36.9367 5.04058 36.9439 5.04384 36.9507 5.04747C36.9557 5.05001 36.9607 5.05254 36.9657 5.05508H36.9664C37.0494 5.09497 37.1417 5.11782 37.2393 5.11782C37.4879 5.11782 37.7032 4.97276 37.808 4.76206L39.2674 2.19699Z",fill:"#4338CA"}),R.default.createElement("path",{d:"M10.6216 0.000244141C4.75551 0.000244141 0 4.82177 0 10.7693V27.3543C0 27.7108 0.285079 28.0002 0.637405 28.0002H3.61161C3.96358 28.0002 4.24902 27.7108 4.24902 27.3543V19.3853C6.02424 20.7373 8.23084 21.5388 10.622 21.5388C16.4878 21.5388 21.244 16.7173 21.244 10.7697C21.2437 4.82177 16.4878 0.000244141 10.6216 0.000244141ZM10.6216 17.2311C7.10196 17.2311 4.24866 14.3382 4.24866 10.7693C4.24866 7.20079 7.10196 4.30788 10.6216 4.30788C14.1413 4.30788 16.995 7.20079 16.995 10.7693C16.995 14.3379 14.1413 17.2311 10.6216 17.2311Z",fill:"#4338CA"}),R.default.createElement("path",{d:"M73.259 0C67.3932 0 62.6373 4.82152 62.6373 10.7691V27.3541C62.6373 27.7106 62.9228 28 63.2747 28H66.2489C66.6009 28 66.8863 27.7106 66.8863 27.3541V19.3854C68.6616 20.7374 70.8682 21.5389 73.2593 21.5389C79.1251 21.5389 83.8813 16.7174 83.8813 10.7698C83.881 4.82152 79.1248 0 73.259 0ZM73.259 17.2309C69.7393 17.2309 66.886 14.338 66.886 10.7691C66.886 7.20055 69.7393 4.30764 73.259 4.30764C76.7783 4.30764 79.632 7.20055 79.632 10.7691C79.632 14.3376 76.7783 17.2309 73.259 17.2309Z",fill:"#4338CA"}),R.default.createElement("path",{d:"M60.439 10.9845C60.439 5.03657 55.6827 0 49.817 0C43.9508 0 39.1953 4.82152 39.1953 10.7691C39.1953 16.7167 43.9508 21.5382 49.817 21.5382C53.1374 21.5382 55.8763 19.9954 57.5939 18.1031C57.5939 18.1031 57.5942 18.1027 57.5946 18.1024C57.596 18.1009 57.5975 18.0995 57.5985 18.098C57.7112 17.9812 57.7806 17.822 57.7806 17.6461C57.7806 17.4601 57.7026 17.2929 57.5785 17.1751V17.1743L57.5696 17.1671C57.5535 17.1522 57.5367 17.1384 57.5188 17.1254L55.2464 15.2501C55.1344 15.1503 54.9877 15.0891 54.8264 15.0891C54.6261 15.0891 54.4476 15.183 54.331 15.3291C53.3216 16.3707 51.7256 17.2309 49.8166 17.2309C46.2969 17.2309 43.4436 14.338 43.4436 10.7691C43.4436 7.20055 46.2969 4.30764 49.8166 4.30764C52.5909 4.30764 54.9505 6.10605 55.8255 8.61527H50.3474C49.9954 8.61527 49.71 8.90467 49.71 9.26152V12.277C49.71 12.6339 49.9954 12.9233 50.3474 12.9233H59.5884C59.6059 12.9233 59.6227 12.9218 59.6399 12.9207C59.6571 12.9222 59.6742 12.9233 59.6914 12.9233C59.9743 12.9233 60.214 12.7361 60.2973 12.4772L60.3045 12.4783C60.308 12.4551 60.3116 12.4326 60.3152 12.4097C60.3199 12.3876 60.3234 12.3655 60.3256 12.3427C60.4003 11.861 60.439 11.5172 60.439 10.9845Z",fill:"#4338CA"}),R.default.createElement("path",{d:"M101.928 2.15406L101.931 2.14934L101.93 2.14898C101.974 2.06085 102 1.96185 102 1.85632C102 1.61987 101.874 1.41351 101.687 1.30109C101.685 1.29891 101.683 1.29529 101.681 1.29456C97.7455 -0.882101 92.4903 -0.367491 89.0107 3.26198C87.0573 5.29938 86.0597 7.91993 86.0082 10.5532H86.005V20.8918C86.005 21.2483 86.2904 21.5377 86.6424 21.5377H89.6166C89.9686 21.5377 90.254 21.2483 90.254 20.8918V10.7686H90.2555C90.2555 9.14535 90.8532 7.52065 92.0571 6.26477C94.2062 4.02355 97.3785 3.85528 99.5662 5.03537C99.573 5.03936 99.5801 5.04262 99.5869 5.04624C99.5919 5.04878 99.5969 5.05132 99.6019 5.05386H99.6027C99.6856 5.09375 99.7779 5.11696 99.8756 5.11696C100.124 5.11696 100.339 4.9719 100.444 4.7612L101.905 2.19685C101.913 2.18235 101.92 2.16856 101.928 2.15406Z",fill:"#4338CA"})),be=Mt;var D=g(require("react"),1);var ye=require("next/navigation"),H=require("@headlessui/react");var _e=g(require("react"),1);function Ae(t){return _e.default.createElement("svg",E({width:"9",height:"6",viewBox:"0 0 9 6",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t),_e.default.createElement("path",{d:"M5.24274 5.36865C4.91462 5.72412 4.3404 5.72412 4.01227 5.36865L0.512273 1.86865C0.266179 1.62256 0.184148 1.23975 0.320867 0.911621C0.457586 0.583496 0.785711 0.364746 1.14118 0.364746H8.14118C8.46931 0.364746 8.79743 0.583496 8.93415 0.911621C9.07087 1.23975 8.98884 1.62256 8.74274 1.86865L5.24274 5.36865Z",fill:"currentColor"}))}function Q(){let{segments:t,setSelectedSegment:e,selectedSegment:r}=W(),o=(0,ye.usePathname)(),n=(0,ye.useRouter)(),i=s=>{let a=new URLSearchParams(window.location.search),l=t.find(d=>d._id===s);l&&(e(l),a.set("prepr_preview_segment",s),n.push(`${o}?${a.toString()}`,{scroll:!1}),n.refresh())};return D.default.createElement(H.Listbox,{value:r._id,onChange:s=>i(s)},D.default.createElement(H.ListboxButton,{as:"button",disabled:!(t&&t.length>0),className:"p-regular-text p-flex p-h-10 p-w-[240px] p-shrink-0 p-flex-nowrap p-items-center p-gap-2 p-overflow-hidden p-text-ellipsis p-text-nowrap p-rounded-lg p-border p-border-gray-300 p-bg-white p-px-2 p-text-gray-500 disabled:p-cursor-not-allowed disabled:p-bg-gray-200 disabled:p-text-gray-400 data-[open]:p-rounded-b-none data-[open]:p-border-b-white md:p-px-4"},D.default.createElement("div",{style:{textWrap:"nowrap",textOverflow:"ellipsis",textAlign:"left"},className:"p-mr-auto p-w-full p-overflow-hidden"},t.length>0?r.name:"No segments"),D.default.createElement("div",{className:"p-text-gray-800"},D.default.createElement(Ae,null))),D.default.createElement(H.ListboxOptions,{anchor:"bottom start",className:"p-no-scrollbar p-z-[9999] !p-max-h-[300px] p-w-[240px] p-rounded-b-md p-border-x p-border-b p-border-gray-300 p-bg-white p-shadow-xl"},t==null?void 0:t.map(s=>D.default.createElement(H.ListboxOption,{key:s._id,value:s._id,className:y("p-regular-text p-z-[100] p-flex p-w-full p-items-center p-p-2 p-px-4 hover:p-cursor-pointer",s._id===r._id?"p-bg-indigo-50 p-text-indigo-700":"p-bg-white p-text-gray-900 hover:p-bg-gray-100")},D.default.createElement("div",{style:{textWrap:"nowrap",textOverflow:"ellipsis",textAlign:"left"},className:"p-mr-auto p-w-full p-overflow-hidden"},s.name)))))}var dt=g(require("react"),1);var Pe=require("next/navigation");var He=g(require("react"),1),Se=require("@headlessui/react");function ee({value:t,onChange:e,options:r}){return He.default.createElement(Se.RadioGroup,{className:"p-flex p-h-10 p-items-center p-gap-1 p-rounded-lg p-border p-border-gray-300 p-bg-white p-p-1",value:t,onChange:e},r.map(o=>He.default.createElement(Se.Radio,{key:String(o.value),value:o.value,className:y(o.width||"p-w-[58px]","p-regular-text p-flex p-h-8 p-cursor-pointer p-items-center p-justify-center p-rounded-md p-px-4.5 p-py-2 p-text-center p-text-gray-900 p-transition-all p-duration-200 p-ease-in-out",o.value===!1||o.value==="null"||o.value==="off"?"data-[checked]:p-bg-gray-800 data-[checked]:p-text-white":"data-[checked]:p-bg-indigo-600 data-[checked]:p-text-white",o.value===t&&"p-drop-shadow-3")},o.label)))}function te(){let{selectedVariant:t,setSelectedVariant:e,emptyVariant:r}=z(),o=(0,Pe.usePathname)(),n=(0,Pe.useRouter)();return dt.default.createElement(ee,{value:t||r,onChange:a=>{let l=new URLSearchParams(window.location.search);e(String(a)),l.set("prepr_preview_ab",String(a)),n.push(`${o}?${l.toString()}`,{scroll:!1}),n.refresh()},options:[{value:"null",label:"Off",width:"p-w-[58px]"},{value:"A",label:"A",width:"p-w-[82px]"},{value:"B",label:"B",width:"p-w-[82px]"}]})}var ct=g(require("react"),1);function re(){let{editMode:t,setEditMode:e}=M(),r=n=>{e(n==="true"||n===!0)};return ct.default.createElement(ee,{options:[{value:"false",label:"Off"},{value:"true",label:"On"}],value:t.toString(),onChange:r})}var Me=g(require("react"),1),Le=require("next/navigation");var Ie=g(require("react"),1);function ke(){return Ie.default.createElement("svg",{width:"15",height:"14",viewBox:"0 0 15 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Ie.default.createElement("path",{d:"M3.37109 5.80078C3.20703 6.26562 2.6875 6.51172 2.25 6.34766C1.78516 6.18359 1.53906 5.69141 1.70312 5.22656C2.00391 4.37891 2.49609 3.58594 3.15234 2.92969C5.55859 0.550781 9.41406 0.550781 11.8203 2.92969L12.2852 3.42188V2C12.2852 1.53516 12.6953 1.125 13.1602 1.125C13.6523 1.125 14.0352 1.53516 14.0352 2V5.5C14.0352 5.99219 13.6523 6.375 13.1602 6.375H9.6875C9.19531 6.375 8.8125 5.99219 8.8125 5.5C8.8125 5.03516 9.19531 4.625 9.6875 4.625H11.0547L10.5898 4.16016C8.86719 2.46484 6.10547 2.46484 4.38281 4.16016C3.91797 4.65234 3.5625 5.19922 3.37109 5.80078ZM1.56641 8.17969C1.59375 8.15234 1.64844 8.15234 1.67578 8.15234C1.73047 8.15234 1.75781 8.125 1.8125 8.125H5.3125C5.77734 8.125 6.1875 8.53516 6.1875 9C6.1875 9.49219 5.77734 9.875 5.3125 9.875H3.91797L4.38281 10.3672C6.10547 12.0625 8.86719 12.0625 10.5898 10.3672C11.0547 9.875 11.4102 9.32812 11.6016 8.72656C11.7656 8.26172 12.2852 8.01562 12.7227 8.17969C13.1875 8.34375 13.4336 8.83594 13.2695 9.30078C12.9688 10.1484 12.4766 10.9141 11.8203 11.5977C9.41406 13.9766 5.55859 13.9766 3.15234 11.5977L2.6875 11.1055V12.5C2.6875 12.9922 2.27734 13.375 1.8125 13.375C1.32031 13.375 0.9375 12.9922 0.9375 12.5V9.02734C0.9375 8.97266 0.9375 8.91797 0.9375 8.89062C0.9375 8.83594 0.9375 8.80859 0.964844 8.78125C0.992188 8.64453 1.07422 8.50781 1.18359 8.39844C1.29297 8.28906 1.42969 8.20703 1.56641 8.17969Z",fill:"currentColor"}))}function oe(){let t=(0,Le.useRouter)(),{resetSelected:e,selectedVariant:r,selectedSegment:o,setEditMode:n,editMode:i}=A(),s=(0,Le.usePathname)(),a=o._id!=="null"||r!=="null"||i,l=()=>{e();let p=new URLSearchParams({});p.append("prepr_preview_segment","null"),p.append("prepr_preview_ab","null"),n(!1),t.push(`${s}?${p.toString()}`,{scroll:!1}),t.refresh(),p.delete("prepr_preview_segment"),p.delete("prepr_preview_ab"),t.push(`${s}?${p.toString()}`,{scroll:!1}),t.refresh()},d=y("p-py-2 p-px-3 p-flex p-justify-center p-gap-2 p-items-center p-rounded-md p-regular-text p-h-10 p-w-full md:p-w-[108px]",a&&"p-bg-secondary-400 hover:p-secondary-500 p-cursor-pointer p-text-white",!a&&"p-bg-grey-400 p-text-gray-500");return Me.default.createElement("button",{onClick:l,className:d,disabled:!a},Me.default.createElement(ke,null),Me.default.createElement("span",{className:"p-block sm:p-hidden lg:p-block"},"Reset"))}function Te({onClose:t,contentRef:e}){return h.default.createElement("div",{ref:e,className:"p-box-shadow p-right-0 p-z-[101] p-flex p-w-full p-flex-col p-gap-y-10 p-rounded-lg p-bg-primary-50 p-p-6 sm:p-w-[502px] sm:p-p-10"},h.default.createElement("div",{className:"p-flex p-items-center p-justify-between p-gap-2"},h.default.createElement("div",{className:"p-flex p-items-start p-gap-3"},h.default.createElement(be,null),h.default.createElement("div",{className:"p-flex p-h-6 p-items-center p-rounded p-bg-primary-100 p-px-3 p-py-1 p-text-sm p-text-primary-700"},"toolbar")),h.default.createElement("button",{onClick:t,className:"p-flex p-h-8 p-w-8 p-cursor-pointer p-items-center p-justify-center p-rounded-md p-bg-primary-100 p-text-gray-700"},h.default.createElement("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},h.default.createElement("path",{d:"M8.17578 1.07031C8.41016 0.816406 8.82031 0.816406 9.05469 1.07031C9.30859 1.30469 9.30859 1.71484 9.05469 1.94922L5.75391 5.25L9.05469 8.57031C9.30859 8.80469 9.30859 9.21484 9.05469 9.44922C8.82031 9.70312 8.41016 9.70312 8.17578 9.44922L4.875 6.14844L1.55469 9.44922C1.32031 9.70312 0.910156 9.70312 0.675781 9.44922C0.421875 9.21484 0.421875 8.80469 0.675781 8.57031L3.97656 5.25L0.675781 1.94922C0.421875 1.71484 0.421875 1.30469 0.675781 1.07031C0.910156 0.816406 1.32031 0.816406 1.55469 1.07031L4.875 4.37109L8.17578 1.07031Z",fill:"currentColor"})))),h.default.createElement("div",{className:"p-space-y-2"},h.default.createElement("span",{className:"p-text-sm p-text-grey-400"},"Personalized content"),h.default.createElement("div",{className:"p-gap p-flex p-flex-wrap p-items-center p-justify-between p-gap-x-6 p-gap-y-2"},h.default.createElement("h2",{className:"p-text-grey-800 p-font-semibold"},"Apply segment"),h.default.createElement(Q,null)),h.default.createElement("div",{className:"p-gap p-flex p-flex-wrap p-items-center p-justify-between p-gap-x-6 p-gap-y-2"},h.default.createElement("h2",{className:"p-text-grey-800 p-font-semibold"},"Show A/B variant"),h.default.createElement(te,null))),h.default.createElement("div",{className:"p-space-y-2"},h.default.createElement("span",{className:"p-text-sm p-text-grey-400"},"Collaboration"),h.default.createElement("div",{className:"p-gap p-flex p-flex-wrap p-items-center p-justify-between p-gap-x-6 p-gap-y-2"},h.default.createElement("h2",{className:"p-text-grey-800 p-font-semibold"},"Edit mode"),h.default.createElement(re,null))),h.default.createElement(oe,null))}var $e=g(require("react"),1);var Fe=g(require("react"),1);var Lt=t=>Fe.default.createElement("svg",E({width:"16",height:"16",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},t),Fe.default.createElement("path",{d:"M9.05365 0C5.71033 0 3 2.75516 3 6.15377V15.6309C3 15.8346 3.16248 16 3.36328 16H5.05838C5.25898 16 5.42166 15.8346 5.42166 15.6309V11.0772C6.43342 11.8498 7.69104 12.3077 9.05385 12.3077C12.397 12.3077 15.1077 9.55259 15.1077 6.15397C15.1075 2.75516 12.397 0 9.05365 0ZM9.05365 9.84623C7.04766 9.84623 5.42146 8.19314 5.42146 6.15377C5.42146 4.1146 7.04766 2.46151 9.05365 2.46151C11.0596 2.46151 12.686 4.1146 12.686 6.15377C12.686 8.19293 11.0596 9.84623 9.05365 9.84623Z",fill:"currentColor"})),ut=Lt;function Ne({onClick:t,className:e}){return $e.default.createElement("button",{onClick:t,className:y("cursor-pointer p-z-50 p-flex p-size-9 p-items-center p-justify-center p-rounded-full p-bg-primary-700",e)},$e.default.createElement(ut,{className:"p-text-white"}))}function I({children:t}){let[e,r]=(0,v.useState)(!1),[o,n]=v.default.useState(!1),{editMode:i}=M(),{contentRef:s,triggerRef:a}=Ce({isVisible:o,onClose:()=>n(!1)});(0,v.useEffect)(()=>{r(!0)},[]);let l=v.default.useRef(null),[d,p]=v.default.useState(""),m=v.default.useCallback(()=>{if(l.current&&a.current){let f=l.current.offsetHeight,k=window.innerHeight,C=a.current.getBoundingClientRect(),V=C.top+C.height/2-f/2;V=Math.max(32,Math.min(V,k-f-32)),p(V)}},[a]);(0,v.useEffect)(()=>{if(o)return m(),window.addEventListener("resize",m),()=>window.removeEventListener("resize",m)},[o,m]);let c=()=>{n(!o)};(0,v.useEffect)(()=>{i&&setTimeout(()=>{n(!1)},150)},[i]);let u=v.default.createElement(v.default.Fragment,null,o&&v.default.createElement("div",{className:"preview-bar-backdrop"}),v.default.createElement("div",{className:y("preview-bar-container")},v.default.createElement("div",{className:"p-pr-4",ref:a},v.default.createElement(Ne,{onClick:c})),v.default.createElement("div",{ref:l,style:d!==""?{top:d,position:"fixed",right:0}:{},className:y("preview-bar-popup",o?"p-pointer-events-auto p-opacity-100":"p-pointer-events-none p-opacity-0")},t||v.default.createElement(Te,{onClose:c,contentRef:s}))));return e?(0,mt.createPortal)(u,document.body):null}I.Content=Te;I.Button=Ne;var ft=require("next/navigation");function ne(){let t=(0,ft.useSearchParams)(),[e,r]=(0,K.useState)(!1),o=n=>{let i=n.key.toLowerCase(),s=(n.ctrlKey||n.metaKey)&&i==="s",a=(n.ctrlKey||n.metaKey)&&i==="p",l=(n.ctrlKey||n.metaKey)&&i==="l";(s||a||l)&&n.preventDefault()};return(0,K.useEffect)(()=>{let n=typeof window!="undefined"&&(window==null?void 0:window.parent)!==window.self;if(n){r(!0);let i={name:"prepr_preview_bar",event:"loaded"};window.parent.postMessage(i,"*"),window.addEventListener("keydown",o)}return()=>{n&&window.removeEventListener("keydown",o)}},[]),t.get("prepr_hide_bar")==="true"||e?null:K.default.createElement(I,null)}var De=g(require("react"),1);var X=g(require("react"),1);function Re(){var s,a;let{selectedSegment:t,selectedVariant:e,emptySegment:r,emptyVariant:o,isIframe:n}=A(),i=t&&t._id!==((s=r==null?void 0:r._id)!=null?s:"null")||e&&e!==(o!=null?o:"null");return n?null:X.default.createElement("div",{className:"p-z-[998] p-flex p-gap-2"},i&&X.default.createElement("div",{className:"p-flex p-items-center p-gap-2 p-rounded-full p-bg-primary-700 p-px-4 p-py-2 p-text-xs p-font-medium p-text-white p-shadow-lg"},X.default.createElement("span",{className:"p-text-[10px] p-text-white/60"},"viewing as"),t&&t._id!==((a=r==null?void 0:r._id)!=null?a:"null")&&X.default.createElement("span",{className:"max-w-[120px] p-inline-block p-truncate"},t.name),e&&e!==(o!=null?o:"null")&&X.default.createElement("span",{className:"max-w-[80px] p-inline-block p-truncate p-rounded p-bg-white/20 p-px-2"},e)))}var ie=g(require("react"),1);var Ge=g(require("react"),1);function We(t){return Ge.default.createElement("svg",E({width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t),Ge.default.createElement("path",{d:"M4.22 4.22a.75.75 0 0 1 1.06 0L8 6.94l2.72-2.72a.75.75 0 1 1 1.06 1.06L9.06 8l2.72 2.72a.75.75 0 1 1-1.06 1.06L8 9.06l-2.72 2.72a.75.75 0 1 1-1.06-1.06L6.94 8 4.22 5.28a.75.75 0 0 1 0-1.06z",fill:"currentColor"}))}function ze(){let{editMode:t,setEditMode:e,isIframe:r}=A();return!t||r?null:ie.default.createElement("div",{className:"p-z-[999] p-flex"},ie.default.createElement("button",{type:"button",onClick:()=>e&&e(!1),className:"p-flex p-items-center p-gap-2 p-rounded-full p-bg-primary-50 p-px-4 p-py-2 p-text-xs p-font-medium p-text-gray-800 p-shadow-lg p-transition-colors p-duration-150 hover:p-bg-primary-100","aria-label":"Close edit mode"},ie.default.createElement("span",null,"Edit mode"),ie.default.createElement(We,{className:"transition-colors duration-150 p-h-4 p-w-4 p-text-gray-500 hover:p-text-gray-700"})))}function se(){return De.default.createElement("div",{className:"p-fixed p-bottom-6 p-right-6 p-z-[999] p-flex p-gap-3"},De.default.createElement(Re,null),De.default.createElement(ze,null))}function Ze(){let{editMode:t}=M();return Y(t),ae.default.createElement(ae.default.Fragment,null,ae.default.createElement(ne,null),ae.default.createElement(se,null))}var gt=require("react");function je(){let t=w("useScrollPosition");(0,gt.useEffect)(()=>{if(we("getScrollPosition",{value:0}),window.parent!==self){let e=null;we("loaded");let r=o=>{var n,i,s;if(t.log("received message:",o.data),((n=o==null?void 0:o.data)==null?void 0:n.event)==="prepr:initVE"&&!e&&(e=o.origin,(i=o.data)!=null&&i.scrollPosition&&(t.log("scrolling to position:",o.data.scrollPosition),setTimeout(()=>{var a;window.scrollTo(0,(a=o.data)==null?void 0:a.scrollPosition)},1))),o.origin===e&&((s=o==null?void 0:o.data)==null?void 0:s.event)==="prepr:getScrollPosition"){let a=window.scrollY||document.documentElement.scrollTop;t.log("sending scroll position:",a),we("getScrollPosition",{value:a})}};return window.addEventListener("message",r),t.log("set up iframe message listener"),()=>{window.removeEventListener("message",r),t.log("cleaned up iframe message listener")}}else{t.log("not in iframe, skipping iframe setup");return}},[t])}0&&(module.exports={EditModeProvider,EditModeSelector,Logo,PreprPreviewBar,PreprPreviewBarProvider,PreviewBar,PreviewBarIndicatorWrapper,PreviewBarWrapper,ResetButton,SegmentDropdown,SegmentProvider,StegaErrorBoundary,VariantProvider,VariantSelector,createScopedLogger,debugError,debugLog,debugWarn,useEditModeContext,useModal,usePreprPreviewBar,useScrollPosition,useSegmentContext,useStegaElements,useStegaOverlay,useStegaProximity,useStegaScan,useVariantContext});
3
+ //# sourceMappingURL=index.cjs.map