@prismicio/next 2.3.3 → 2.3.4-canary.b11c32e

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 (167) hide show
  1. package/dist/PrismicNextImage.cjs +6 -5
  2. package/dist/PrismicNextImage.cjs.map +1 -1
  3. package/dist/PrismicNextImage.d.cts +7 -7
  4. package/dist/PrismicNextImage.d.cts.map +1 -1
  5. package/dist/PrismicNextImage.d.ts +7 -7
  6. package/dist/PrismicNextImage.d.ts.map +1 -1
  7. package/dist/PrismicNextImage.js +5 -4
  8. package/dist/PrismicNextImage.js.map +1 -1
  9. package/dist/PrismicNextLink.cjs +3 -2
  10. package/dist/PrismicNextLink.cjs.map +1 -1
  11. package/dist/PrismicNextLink.d.cts +9 -13
  12. package/dist/PrismicNextLink.d.cts.map +1 -1
  13. package/dist/PrismicNextLink.d.ts +8 -12
  14. package/dist/PrismicNextLink.d.ts.map +1 -1
  15. package/dist/PrismicNextLink.js +2 -1
  16. package/dist/PrismicNextLink.js.map +1 -1
  17. package/dist/PrismicPreview.cjs +2 -2
  18. package/dist/PrismicPreview.cjs.map +1 -1
  19. package/dist/PrismicPreview.d.cts +4 -5
  20. package/dist/PrismicPreview.d.cts.map +1 -1
  21. package/dist/PrismicPreview.d.ts +4 -5
  22. package/dist/PrismicPreview.d.ts.map +1 -1
  23. package/dist/PrismicPreview.js +1 -1
  24. package/dist/PrismicPreview.js.map +1 -1
  25. package/dist/PrismicPreviewClient.cjs +0 -1
  26. package/dist/PrismicPreviewClient.cjs.map +1 -1
  27. package/dist/PrismicPreviewClient.js.map +1 -1
  28. package/dist/SliceSimulator.cjs +10 -3
  29. package/dist/SliceSimulator.cjs.map +1 -1
  30. package/dist/SliceSimulator.d.cts +3 -4
  31. package/dist/SliceSimulator.d.cts.map +1 -1
  32. package/dist/SliceSimulator.d.ts +3 -4
  33. package/dist/SliceSimulator.d.ts.map +1 -1
  34. package/dist/SliceSimulator.js +9 -2
  35. package/dist/SliceSimulator.js.map +1 -1
  36. package/dist/SliceSimulatorWrapper.cjs +0 -1
  37. package/dist/SliceSimulatorWrapper.cjs.map +1 -1
  38. package/dist/SliceSimulatorWrapper.js.map +1 -1
  39. package/dist/_virtual/_rolldown/runtime.cjs +1 -1
  40. package/dist/cacheTagPrismicPages.cjs +1 -1
  41. package/dist/cacheTagPrismicPages.cjs.map +1 -1
  42. package/dist/cacheTagPrismicPages.d.cts +1 -3
  43. package/dist/cacheTagPrismicPages.d.cts.map +1 -1
  44. package/dist/cacheTagPrismicPages.d.ts +1 -3
  45. package/dist/cacheTagPrismicPages.d.ts.map +1 -1
  46. package/dist/cacheTagPrismicPages.js.map +1 -1
  47. package/dist/createLocaleRedirect.cjs.map +1 -1
  48. package/dist/createLocaleRedirect.d.cts +2 -3
  49. package/dist/createLocaleRedirect.d.cts.map +1 -1
  50. package/dist/createLocaleRedirect.d.ts +2 -3
  51. package/dist/createLocaleRedirect.d.ts.map +1 -1
  52. package/dist/createLocaleRedirect.js.map +1 -1
  53. package/dist/enableAutoPreviews.cjs.map +1 -1
  54. package/dist/enableAutoPreviews.d.cts +4 -5
  55. package/dist/enableAutoPreviews.d.cts.map +1 -1
  56. package/dist/enableAutoPreviews.d.ts +4 -5
  57. package/dist/enableAutoPreviews.d.ts.map +1 -1
  58. package/dist/enableAutoPreviews.js.map +1 -1
  59. package/dist/exitPreview.cjs +0 -1
  60. package/dist/exitPreview.cjs.map +1 -1
  61. package/dist/exitPreview.d.cts +1 -2
  62. package/dist/exitPreview.d.cts.map +1 -1
  63. package/dist/exitPreview.d.ts +1 -2
  64. package/dist/exitPreview.d.ts.map +1 -1
  65. package/dist/exitPreview.js.map +1 -1
  66. package/dist/getPreviewRef.cjs +0 -1
  67. package/dist/getPreviewRef.cjs.map +1 -1
  68. package/dist/getPreviewRef.d.cts +1 -2
  69. package/dist/getPreviewRef.d.cts.map +1 -1
  70. package/dist/getPreviewRef.d.ts +1 -2
  71. package/dist/getPreviewRef.d.ts.map +1 -1
  72. package/dist/getPreviewRef.js.map +1 -1
  73. package/dist/getPrismicCacheTags.cjs +4 -2
  74. package/dist/getPrismicCacheTags.cjs.map +1 -1
  75. package/dist/getPrismicCacheTags.d.cts +1 -3
  76. package/dist/getPrismicCacheTags.d.cts.map +1 -1
  77. package/dist/getPrismicCacheTags.d.ts +1 -3
  78. package/dist/getPrismicCacheTags.d.ts.map +1 -1
  79. package/dist/getPrismicCacheTags.js +4 -2
  80. package/dist/getPrismicCacheTags.js.map +1 -1
  81. package/dist/getSlices.cjs +1 -1
  82. package/dist/getSlices.cjs.map +1 -1
  83. package/dist/getSlices.d.cts +1 -3
  84. package/dist/getSlices.d.cts.map +1 -1
  85. package/dist/getSlices.d.ts +1 -3
  86. package/dist/getSlices.d.ts.map +1 -1
  87. package/dist/getSlices.js.map +1 -1
  88. package/dist/imgixLoader.cjs +0 -1
  89. package/dist/imgixLoader.cjs.map +1 -1
  90. package/dist/imgixLoader.d.cts +1 -3
  91. package/dist/imgixLoader.d.cts.map +1 -1
  92. package/dist/imgixLoader.d.ts +1 -3
  93. package/dist/imgixLoader.d.ts.map +1 -1
  94. package/dist/imgixLoader.js.map +1 -1
  95. package/dist/lib/devMsg.cjs.map +1 -1
  96. package/dist/lib/devMsg.js.map +1 -1
  97. package/dist/lib/resolveDefaultExport.cjs.map +1 -1
  98. package/dist/lib/resolveDefaultExport.js.map +1 -1
  99. package/dist/package.cjs +1 -1
  100. package/dist/package.js +1 -1
  101. package/dist/pages/PrismicPreview.cjs +1 -1
  102. package/dist/pages/PrismicPreview.cjs.map +1 -1
  103. package/dist/pages/PrismicPreview.d.cts +4 -5
  104. package/dist/pages/PrismicPreview.d.cts.map +1 -1
  105. package/dist/pages/PrismicPreview.d.ts +4 -5
  106. package/dist/pages/PrismicPreview.d.ts.map +1 -1
  107. package/dist/pages/PrismicPreview.js.map +1 -1
  108. package/dist/pages/SliceSimulator.cjs +0 -1
  109. package/dist/pages/SliceSimulator.cjs.map +1 -1
  110. package/dist/pages/SliceSimulator.d.cts +3 -4
  111. package/dist/pages/SliceSimulator.d.cts.map +1 -1
  112. package/dist/pages/SliceSimulator.d.ts +3 -4
  113. package/dist/pages/SliceSimulator.d.ts.map +1 -1
  114. package/dist/pages/SliceSimulator.js.map +1 -1
  115. package/dist/pages/enableAutoPreviews.cjs.map +1 -1
  116. package/dist/pages/enableAutoPreviews.d.cts +4 -5
  117. package/dist/pages/enableAutoPreviews.d.cts.map +1 -1
  118. package/dist/pages/enableAutoPreviews.d.ts +4 -5
  119. package/dist/pages/enableAutoPreviews.d.ts.map +1 -1
  120. package/dist/pages/enableAutoPreviews.js.map +1 -1
  121. package/dist/pages/exitPreview.cjs.map +1 -1
  122. package/dist/pages/exitPreview.d.cts +2 -4
  123. package/dist/pages/exitPreview.d.cts.map +1 -1
  124. package/dist/pages/exitPreview.d.ts +2 -4
  125. package/dist/pages/exitPreview.d.ts.map +1 -1
  126. package/dist/pages/exitPreview.js.map +1 -1
  127. package/dist/pages/redirectToPreviewURL.cjs.map +1 -1
  128. package/dist/pages/redirectToPreviewURL.d.cts +4 -5
  129. package/dist/pages/redirectToPreviewURL.d.cts.map +1 -1
  130. package/dist/pages/redirectToPreviewURL.d.ts +4 -5
  131. package/dist/pages/redirectToPreviewURL.d.ts.map +1 -1
  132. package/dist/pages/redirectToPreviewURL.js.map +1 -1
  133. package/dist/pages/setPreviewData.cjs +0 -1
  134. package/dist/pages/setPreviewData.cjs.map +1 -1
  135. package/dist/pages/setPreviewData.d.cts +2 -7
  136. package/dist/pages/setPreviewData.d.cts.map +1 -1
  137. package/dist/pages/setPreviewData.d.ts +2 -7
  138. package/dist/pages/setPreviewData.d.ts.map +1 -1
  139. package/dist/pages/setPreviewData.js.map +1 -1
  140. package/dist/pages/types.d.cts +3 -5
  141. package/dist/pages/types.d.cts.map +1 -1
  142. package/dist/pages/types.d.ts +3 -5
  143. package/dist/pages/types.d.ts.map +1 -1
  144. package/dist/redirectToPreviewURL.cjs +0 -1
  145. package/dist/redirectToPreviewURL.cjs.map +1 -1
  146. package/dist/redirectToPreviewURL.d.cts +4 -5
  147. package/dist/redirectToPreviewURL.d.cts.map +1 -1
  148. package/dist/redirectToPreviewURL.d.ts +4 -5
  149. package/dist/redirectToPreviewURL.d.ts.map +1 -1
  150. package/dist/redirectToPreviewURL.js.map +1 -1
  151. package/dist/revalidatePrismicPages.cjs +4 -2
  152. package/dist/revalidatePrismicPages.cjs.map +1 -1
  153. package/dist/revalidatePrismicPages.d.cts +1 -2
  154. package/dist/revalidatePrismicPages.d.cts.map +1 -1
  155. package/dist/revalidatePrismicPages.d.ts +1 -2
  156. package/dist/revalidatePrismicPages.d.ts.map +1 -1
  157. package/dist/revalidatePrismicPages.js +4 -1
  158. package/dist/revalidatePrismicPages.js.map +1 -1
  159. package/dist/types.d.cts +2 -4
  160. package/dist/types.d.cts.map +1 -1
  161. package/dist/types.d.ts +2 -4
  162. package/dist/types.d.ts.map +1 -1
  163. package/package.json +16 -15
  164. package/src/PrismicNextImage.tsx +5 -5
  165. package/src/PrismicNextLink.tsx +2 -2
  166. package/src/PrismicPreview.tsx +2 -2
  167. package/src/SliceSimulator.tsx +18 -5
@@ -1 +1 @@
1
- {"version":3,"file":"revalidatePrismicPages.js","names":[],"sources":["../src/revalidatePrismicPages.ts"],"sourcesContent":["import { revalidateTag } from \"next/cache\"\n\nimport { buildPrismicCacheTag } from \"./getPrismicCacheTags\"\n\n/**\n * Immediately revalidates a set of Prismic pages given a list of their IDs. The list of IDs\n * typically comes from a Prismic webhook triggered when publishing content.\n *\n * @param ids - A list of Prismic page IDs to revalidate.\n * @experimental\n *\n * @see {@link https://nextjs.org/docs/app/api-reference/functions/revalidateTag}\n */\nexport function revalidatePrismicPages(ids: string[]): void {\n\tfor (const id of ids) {\n\t\tconst tag = buildPrismicCacheTag(id)\n\t\trevalidateTag(tag, { expire: 0 })\n\t}\n}\n"],"mappings":";;;;;;;;;;;;AAaA,SAAgB,uBAAuB,KAAqB;AAC3D,MAAK,MAAM,MAAM,IAEhB,eADY,qBAAqB,GAAG,EACjB,EAAE,QAAQ,GAAG,CAAC"}
1
+ {"version":3,"file":"revalidatePrismicPages.js","names":[],"sources":["../src/revalidatePrismicPages.ts"],"sourcesContent":["import { revalidateTag } from \"next/cache\"\n\nimport { buildPrismicCacheTag } from \"./getPrismicCacheTags\"\n\n/**\n * Immediately revalidates a set of Prismic pages given a list of their IDs. The list of IDs\n * typically comes from a Prismic webhook triggered when publishing content.\n *\n * @param ids - A list of Prismic page IDs to revalidate.\n * @experimental\n *\n * @see {@link https://nextjs.org/docs/app/api-reference/functions/revalidateTag}\n */\nexport function revalidatePrismicPages(ids: string[]): void {\n\tfor (const id of ids) {\n\t\tconst tag = buildPrismicCacheTag(id)\n\t\trevalidateTag(tag, { expire: 0 })\n\t}\n}\n"],"mappings":";;;;;;;;;;;;AAaA,SAAgB,uBAAuB,KAAqB;CAC3D,KAAK,MAAM,MAAM,KAAK;EACrB,MAAM,MAAM,qBAAqB,EAAE;EACnC,cAAc,KAAK,EAAE,QAAQ,EAAE,CAAC;CACjC;AACD"}
package/dist/types.d.cts CHANGED
@@ -1,5 +1,4 @@
1
1
  import { ClientConfig } from "@prismicio/client";
2
-
3
2
  //#region src/types.d.ts
4
3
  declare module "@prismicio/client" {
5
4
  interface RequestInitLike {
@@ -7,13 +6,13 @@ declare module "@prismicio/client" {
7
6
  }
8
7
  }
9
8
  /** @deprecated Use `@prismicio/client`'s `ClientConfig`. */
10
- type CreateClientConfig = ClientConfig;
9
+ export type CreateClientConfig = ClientConfig;
11
10
  /**
12
11
  * The minimal set of properties needed from `next`'s `NextRequest` type.
13
12
  *
14
13
  * This request type is only compatible with Route Handlers defined in the `app` directory.
15
14
  */
16
- type NextRequestLike = {
15
+ export type NextRequestLike = {
17
16
  headers: {
18
17
  get(name: string): string | null;
19
18
  };
@@ -26,5 +25,4 @@ type NextRequestLike = {
26
25
  };
27
26
  };
28
27
  //#endregion
29
- export { CreateClientConfig, NextRequestLike };
30
28
  //# sourceMappingURL=types.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.cts","names":[],"sources":["../src/types.ts"],"mappings":";;;;YAIW,eAAA;IACT,IAAA,GAAO,WAAA;EAAA;AAAA;;KAKG,kBAAA,GAAqB,YAAA;;;;;;KAOrB,eAAA;EACX,OAAA;IACC,GAAA,CAAI,IAAA;EAAA;EAEL,GAAA;EACA,OAAA;IACC,QAAA;IACA,YAAA;MACC,GAAA,CAAI,IAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"types.d.cts","names":[],"sources":["../src/types.ts"],"mappings":";;;YAIW;IACT,OAAO;;;;YAKG,qBAAqB;;;;;;YAOrB;EACX;IACC,IAAI;;EAEL;EACA;IACC;IACA;MACC,IAAI"}
package/dist/types.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import { ClientConfig } from "@prismicio/client";
2
-
3
2
  //#region src/types.d.ts
4
3
  declare module "@prismicio/client" {
5
4
  interface RequestInitLike {
@@ -7,13 +6,13 @@ declare module "@prismicio/client" {
7
6
  }
8
7
  }
9
8
  /** @deprecated Use `@prismicio/client`'s `ClientConfig`. */
10
- type CreateClientConfig = ClientConfig;
9
+ export type CreateClientConfig = ClientConfig;
11
10
  /**
12
11
  * The minimal set of properties needed from `next`'s `NextRequest` type.
13
12
  *
14
13
  * This request type is only compatible with Route Handlers defined in the `app` directory.
15
14
  */
16
- type NextRequestLike = {
15
+ export type NextRequestLike = {
17
16
  headers: {
18
17
  get(name: string): string | null;
19
18
  };
@@ -26,5 +25,4 @@ type NextRequestLike = {
26
25
  };
27
26
  };
28
27
  //#endregion
29
- export { CreateClientConfig, NextRequestLike };
30
28
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../src/types.ts"],"mappings":";;;;YAIW,eAAA;IACT,IAAA,GAAO,WAAA;EAAA;AAAA;;KAKG,kBAAA,GAAqB,YAAA;;;;;;KAOrB,eAAA;EACX,OAAA;IACC,GAAA,CAAI,IAAA;EAAA;EAEL,GAAA;EACA,OAAA;IACC,QAAA;IACA,YAAA;MACC,GAAA,CAAI,IAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../src/types.ts"],"mappings":";;;YAIW;IACT,OAAO;;;;YAKG,qBAAqB;;;;;;YAOrB;EACX;IACC,IAAI;;EAEL;EACA;IACC;IACA;MACC,IAAI"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prismicio/next",
3
- "version": "2.3.3",
3
+ "version": "2.3.4-canary.b11c32e",
4
4
  "description": "Helpers to integrate Prismic into Next.js apps",
5
5
  "keywords": [
6
6
  "next",
@@ -18,6 +18,7 @@
18
18
  "workspaces": [
19
19
  ".",
20
20
  "e2e-projects/*",
21
+ "!e2e-projects/next-14",
21
22
  "!e2e-projects/next-15"
22
23
  ],
23
24
  "files": [
@@ -54,23 +55,23 @@
54
55
  "types": "tsc --noEmit"
55
56
  },
56
57
  "dependencies": {
57
- "@prismicio/simulator": "^0.2.2",
58
+ "@prismicio/simulator": "^0.2.4",
58
59
  "imgix-url-builder": "^0.0.6",
59
60
  "lz-string": "^1.5.0"
60
61
  },
61
62
  "devDependencies": {
62
- "@playwright/test": "^1.59.1",
63
- "@prismicio/client": "^7.21.8",
64
- "@types/node": "^25.5.2",
65
- "@types/react": "^19.2.14",
66
- "next": "16.2.3",
67
- "oxfmt": "^0.44.0",
68
- "oxlint": "^1.59.0",
69
- "playwright": "^1.59.1",
70
- "react": "^19.2.5",
71
- "react-dom": "^19.2.5",
72
- "tsdown": "^0.21.7",
73
- "typescript": "^6.0.2"
63
+ "@playwright/test": "^1.64.1",
64
+ "@prismicio/client": "^7.22.3",
65
+ "@types/node": "^26.6.5",
66
+ "@types/react": "^19.3.0",
67
+ "next": "16.4.2",
68
+ "oxfmt": "^0.73.0",
69
+ "oxlint": "^1.88.0",
70
+ "playwright": "^1.64.1",
71
+ "react": "^19.3.1",
72
+ "react-dom": "^19.3.1",
73
+ "tsdown": "^0.23.1",
74
+ "typescript": "^7.0.2"
74
75
  },
75
76
  "peerDependencies": {
76
77
  "@prismicio/client": "^7",
@@ -78,6 +79,6 @@
78
79
  "react": "^18 || ^19"
79
80
  },
80
81
  "engines": {
81
- "node": ">=20"
82
+ "node": ">=22"
82
83
  }
83
84
  }
@@ -13,6 +13,8 @@ import { imgixLoader } from "./imgixLoader"
13
13
  import { devMsg } from "./lib/devMsg"
14
14
  import { resolveDefaultExport } from "./lib/resolveDefaultExport"
15
15
 
16
+ const ResolvedImage = resolveDefaultExport(Image)
17
+
16
18
  const castInt = (input: string | number | undefined): number | undefined => {
17
19
  if (typeof input === "number" || typeof input === "undefined") {
18
20
  return input
@@ -113,14 +115,14 @@ export const PrismicNextImage: ForwardRefExoticComponent<
113
115
  return <>{fallback}</>
114
116
  }
115
117
 
116
- const resolvedImgixParams = imgixParams
117
- for (const x in imgixParams) {
118
+ const resolvedImgixParams = { ...imgixParams }
119
+ for (const x in resolvedImgixParams) {
118
120
  if (resolvedImgixParams[x as keyof typeof resolvedImgixParams] === null) {
119
121
  resolvedImgixParams[x as keyof typeof resolvedImgixParams] = undefined
120
122
  }
121
123
  }
122
124
 
123
- const src = buildURL(field.url, imgixParams as ImgixURLParams)
125
+ const src = buildURL(field.url, resolvedImgixParams as ImgixURLParams)
124
126
 
125
127
  const ar = field.dimensions.width / field.dimensions.height
126
128
 
@@ -147,8 +149,6 @@ export const PrismicNextImage: ForwardRefExoticComponent<
147
149
  )
148
150
  }
149
151
 
150
- const ResolvedImage = resolveDefaultExport(Image)
151
-
152
152
  return (
153
153
  <ResolvedImage
154
154
  ref={ref}
@@ -11,6 +11,8 @@ import { forwardRef } from "react"
11
11
 
12
12
  import { resolveDefaultExport } from "./lib/resolveDefaultExport"
13
13
 
14
+ const ResolvedLink = resolveDefaultExport(Link)
15
+
14
16
  export type PrismicNextLinkProps = Omit<
15
17
  ComponentProps<typeof Link>,
16
18
  "field" | "document" | "href" | "rel"
@@ -54,8 +56,6 @@ export const PrismicNextLink = forwardRef<HTMLAnchorElement, PrismicNextLinkProp
54
56
  rel = restProps.rel
55
57
  }
56
58
 
57
- const ResolvedLink = resolveDefaultExport(Link)
58
-
59
59
  return (
60
60
  <ResolvedLink ref={ref} {...attrs} {...restProps} href={href} rel={rel}>
61
61
  {"children" in props ? children : field?.text}
@@ -5,6 +5,8 @@ import type { FC, ReactNode } from "react"
5
5
  import { resolveDefaultExport } from "./lib/resolveDefaultExport"
6
6
  import { PrismicPreviewClient } from "./PrismicPreviewClient"
7
7
 
8
+ const ResolvedScript = resolveDefaultExport(Script)
9
+
8
10
  /** Props for `<PrismicPreview>`. */
9
11
  export type PrismicPreviewProps = {
10
12
  /**
@@ -48,8 +50,6 @@ export const PrismicPreview: FC<PrismicPreviewProps> = async (props) => {
48
50
  const toolbarSrc = getToolbarSrc(repositoryName)
49
51
  const isDraftMode = (await draftMode()).isEnabled
50
52
 
51
- const ResolvedScript = resolveDefaultExport(Script)
52
-
53
53
  return (
54
54
  <>
55
55
  {children}
@@ -37,25 +37,38 @@ export const SliceSimulator: FC<SliceSimulatorProps> = ({
37
37
  className,
38
38
  }) => {
39
39
  const [message, setMessage] = useState(() => getDefaultMessage())
40
+ const [trustedState, setTrustedState] = useState<string | null>(null)
40
41
  const router = useRouter()
41
42
 
42
43
  const state =
43
44
  typeof window !== "undefined"
44
45
  ? new URL(window.location.href).searchParams.get(STATE_PARAMS_KEY)
45
46
  : undefined
46
- const hasSlices = getSlices(state).length > 0
47
+ // Only render state this page received from Slice Machine or the Page
48
+ // Builder. The `state` URL parameter on its own can be set by anyone.
49
+ const hasSlices = state != null && state === trustedState && getSlices(state).length > 0
50
+
51
+ useEffect(() => {
52
+ // `@prismicio/simulator` accepts messages from any origin in development,
53
+ // so the URL is as trustworthy as a message there. Trusting it keeps
54
+ // slices visible when the dev server fully reloads the page. It is set
55
+ // after hydration so the first render matches the server.
56
+ if (process.env.NODE_ENV === "development") {
57
+ // oxlint-disable-next-line react/set-state-in-effect
58
+ setTrustedState(new URL(window.location.href).searchParams.get(STATE_PARAMS_KEY))
59
+ }
60
+ }, [])
47
61
 
48
62
  useEffect(() => {
49
63
  simulatorManager.state.on(
50
64
  StateEventType.Slices,
51
65
  (newSlices) => {
66
+ const nextState = lzString.compressToEncodedURIComponent(JSON.stringify(newSlices))
52
67
  const url = new URL(window.location.href)
53
- url.searchParams.set(
54
- STATE_PARAMS_KEY,
55
- lzString.compressToEncodedURIComponent(JSON.stringify(newSlices)),
56
- )
68
+ url.searchParams.set(STATE_PARAMS_KEY, nextState)
57
69
 
58
70
  window.history.replaceState(null, "", url)
71
+ setTrustedState(nextState)
59
72
  // Wait until the next tick to prevent URL state race conditions.
60
73
  setTimeout(() => router.refresh(), 0)
61
74
  },