@payloadcms/next 3.0.0-canary.f1db24e → 3.0.0-canary.f1f97ff

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 (644) hide show
  1. package/dist/cjs/withPayload.cjs +17 -1
  2. package/dist/cjs/withPayload.cjs.map +1 -1
  3. package/dist/config.d.ts +1 -1
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js.map +1 -1
  6. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.d.ts +5 -0
  7. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.d.ts.map +1 -0
  8. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +13 -0
  9. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -0
  10. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts +13 -0
  11. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -0
  12. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +47 -0
  13. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -0
  14. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +6 -0
  15. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -0
  16. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +58 -0
  17. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -0
  18. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +91 -0
  19. package/dist/elements/DocumentHeader/Tabs/getCustomViews.d.ts +6 -0
  20. package/dist/elements/DocumentHeader/Tabs/getCustomViews.d.ts.map +1 -0
  21. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +38 -0
  22. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js.map +1 -0
  23. package/dist/elements/DocumentHeader/Tabs/getViewConfig.d.ts +7 -0
  24. package/dist/elements/DocumentHeader/Tabs/getViewConfig.d.ts.map +1 -0
  25. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +14 -0
  26. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js.map +1 -0
  27. package/dist/elements/DocumentHeader/Tabs/index.d.ts +12 -0
  28. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -0
  29. package/dist/elements/DocumentHeader/Tabs/index.js +81 -0
  30. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -0
  31. package/dist/elements/DocumentHeader/Tabs/index.scss +53 -0
  32. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts +3 -0
  33. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -0
  34. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +23 -0
  35. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -0
  36. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts +7 -0
  37. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -0
  38. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +57 -0
  39. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -0
  40. package/dist/elements/DocumentHeader/index.d.ts +14 -0
  41. package/dist/elements/DocumentHeader/index.d.ts.map +1 -0
  42. package/dist/elements/DocumentHeader/index.js +30 -0
  43. package/dist/elements/DocumentHeader/index.js.map +1 -0
  44. package/dist/elements/DocumentHeader/index.scss +51 -0
  45. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  46. package/dist/elements/LeaveWithoutSaving/index.js +1 -5
  47. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  48. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  49. package/dist/elements/Logo/index.d.ts +4 -0
  50. package/dist/elements/Logo/index.d.ts.map +1 -0
  51. package/dist/elements/Logo/index.js +24 -0
  52. package/dist/elements/Logo/index.js.map +1 -0
  53. package/dist/elements/Nav/NavHamburger/index.d.ts +5 -0
  54. package/dist/elements/Nav/NavHamburger/index.d.ts.map +1 -0
  55. package/dist/elements/Nav/NavHamburger/index.js +20 -0
  56. package/dist/elements/Nav/NavHamburger/index.js.map +1 -0
  57. package/dist/elements/Nav/NavWrapper/index.d.ts +7 -0
  58. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -0
  59. package/dist/elements/Nav/NavWrapper/index.js +21 -0
  60. package/dist/elements/Nav/NavWrapper/index.js.map +1 -0
  61. package/dist/elements/Nav/NavWrapper/index.scss +17 -0
  62. package/dist/elements/Nav/index.client.d.ts +3 -0
  63. package/dist/elements/Nav/index.client.d.ts.map +1 -0
  64. package/dist/elements/Nav/index.client.js +85 -0
  65. package/dist/elements/Nav/index.client.js.map +1 -0
  66. package/dist/elements/Nav/index.d.ts +6 -0
  67. package/dist/elements/Nav/index.d.ts.map +1 -0
  68. package/dist/elements/Nav/index.js +67 -0
  69. package/dist/elements/Nav/index.js.map +1 -0
  70. package/dist/elements/Nav/index.scss +150 -0
  71. package/dist/exports/layouts.js.map +1 -1
  72. package/dist/exports/routes.js.map +1 -1
  73. package/dist/exports/templates.d.ts +3 -0
  74. package/dist/exports/templates.d.ts.map +1 -0
  75. package/dist/exports/templates.js +4 -0
  76. package/dist/exports/templates.js.map +1 -0
  77. package/dist/exports/utilities.js.map +1 -1
  78. package/dist/exports/views.js.map +1 -1
  79. package/dist/fetchAPI-multipart/fileFactory.d.ts +0 -1
  80. package/dist/fetchAPI-multipart/fileFactory.d.ts.map +1 -1
  81. package/dist/fetchAPI-multipart/fileFactory.js.map +1 -1
  82. package/dist/fetchAPI-multipart/handlers.d.ts +0 -1
  83. package/dist/fetchAPI-multipart/handlers.d.ts.map +1 -1
  84. package/dist/fetchAPI-multipart/handlers.js.map +1 -1
  85. package/dist/fetchAPI-multipart/index.d.ts +1 -2
  86. package/dist/fetchAPI-multipart/index.d.ts.map +1 -1
  87. package/dist/fetchAPI-multipart/index.js +1 -1
  88. package/dist/fetchAPI-multipart/index.js.map +1 -1
  89. package/dist/fetchAPI-multipart/isEligibleRequest.js.map +1 -1
  90. package/dist/fetchAPI-multipart/processMultipart.js +1 -1
  91. package/dist/fetchAPI-multipart/processMultipart.js.map +1 -1
  92. package/dist/fetchAPI-multipart/processNested.js.map +1 -1
  93. package/dist/fetchAPI-multipart/uploadTimer.js.map +1 -1
  94. package/dist/fetchAPI-multipart/utilities.d.ts.map +1 -1
  95. package/dist/fetchAPI-multipart/utilities.js.map +1 -1
  96. package/dist/fetchAPI-stream-file/index.d.ts +0 -1
  97. package/dist/fetchAPI-stream-file/index.d.ts.map +1 -1
  98. package/dist/fetchAPI-stream-file/index.js.map +1 -1
  99. package/dist/index.js.map +1 -1
  100. package/dist/layouts/Root/index.d.ts +1 -2
  101. package/dist/layouts/Root/index.d.ts.map +1 -1
  102. package/dist/layouts/Root/index.js +3 -6
  103. package/dist/layouts/Root/index.js.map +1 -1
  104. package/dist/prod/styles.css +1 -1
  105. package/dist/routes/graphql/handler.d.ts +1 -1
  106. package/dist/routes/graphql/handler.d.ts.map +1 -1
  107. package/dist/routes/graphql/handler.js +9 -13
  108. package/dist/routes/graphql/handler.js.map +1 -1
  109. package/dist/routes/graphql/index.js.map +1 -1
  110. package/dist/routes/graphql/playground.d.ts +1 -1
  111. package/dist/routes/graphql/playground.d.ts.map +1 -1
  112. package/dist/routes/graphql/playground.js.map +1 -1
  113. package/dist/routes/index.js.map +1 -1
  114. package/dist/routes/rest/auth/access.js +1 -1
  115. package/dist/routes/rest/auth/access.js.map +1 -1
  116. package/dist/routes/rest/auth/forgotPassword.d.ts.map +1 -1
  117. package/dist/routes/rest/auth/forgotPassword.js +8 -4
  118. package/dist/routes/rest/auth/forgotPassword.js.map +1 -1
  119. package/dist/routes/rest/auth/init.js +1 -1
  120. package/dist/routes/rest/auth/init.js.map +1 -1
  121. package/dist/routes/rest/auth/login.d.ts.map +1 -1
  122. package/dist/routes/rest/auth/login.js +11 -7
  123. package/dist/routes/rest/auth/login.js.map +1 -1
  124. package/dist/routes/rest/auth/logout.d.ts.map +1 -1
  125. package/dist/routes/rest/auth/logout.js +1 -2
  126. package/dist/routes/rest/auth/logout.js.map +1 -1
  127. package/dist/routes/rest/auth/me.d.ts.map +1 -1
  128. package/dist/routes/rest/auth/me.js +1 -2
  129. package/dist/routes/rest/auth/me.js.map +1 -1
  130. package/dist/routes/rest/auth/refresh.d.ts.map +1 -1
  131. package/dist/routes/rest/auth/refresh.js +12 -22
  132. package/dist/routes/rest/auth/refresh.js.map +1 -1
  133. package/dist/routes/rest/auth/registerFirstUser.d.ts.map +1 -1
  134. package/dist/routes/rest/auth/registerFirstUser.js +10 -4
  135. package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
  136. package/dist/routes/rest/auth/resetPassword.d.ts.map +1 -1
  137. package/dist/routes/rest/auth/resetPassword.js +1 -2
  138. package/dist/routes/rest/auth/resetPassword.js.map +1 -1
  139. package/dist/routes/rest/auth/unlock.d.ts.map +1 -1
  140. package/dist/routes/rest/auth/unlock.js +8 -4
  141. package/dist/routes/rest/auth/unlock.js.map +1 -1
  142. package/dist/routes/rest/auth/verifyEmail.js +2 -2
  143. package/dist/routes/rest/auth/verifyEmail.js.map +1 -1
  144. package/dist/routes/rest/buildFormState.d.ts +2 -2
  145. package/dist/routes/rest/buildFormState.d.ts.map +1 -1
  146. package/dist/routes/rest/buildFormState.js.map +1 -1
  147. package/dist/routes/rest/checkEndpoints.d.ts.map +1 -1
  148. package/dist/routes/rest/checkEndpoints.js.map +1 -1
  149. package/dist/routes/rest/collections/count.js +1 -1
  150. package/dist/routes/rest/collections/count.js.map +1 -1
  151. package/dist/routes/rest/collections/create.js +2 -2
  152. package/dist/routes/rest/collections/create.js.map +1 -1
  153. package/dist/routes/rest/collections/delete.js +2 -2
  154. package/dist/routes/rest/collections/delete.js.map +1 -1
  155. package/dist/routes/rest/collections/deleteByID.js +2 -2
  156. package/dist/routes/rest/collections/deleteByID.js.map +1 -1
  157. package/dist/routes/rest/collections/docAccess.js +1 -1
  158. package/dist/routes/rest/collections/docAccess.js.map +1 -1
  159. package/dist/routes/rest/collections/duplicate.js +2 -2
  160. package/dist/routes/rest/collections/duplicate.js.map +1 -1
  161. package/dist/routes/rest/collections/find.js +2 -2
  162. package/dist/routes/rest/collections/find.js.map +1 -1
  163. package/dist/routes/rest/collections/findByID.js +2 -2
  164. package/dist/routes/rest/collections/findByID.js.map +1 -1
  165. package/dist/routes/rest/collections/findVersionByID.js +2 -2
  166. package/dist/routes/rest/collections/findVersionByID.js.map +1 -1
  167. package/dist/routes/rest/collections/findVersions.js +2 -2
  168. package/dist/routes/rest/collections/findVersions.js.map +1 -1
  169. package/dist/routes/rest/collections/preview.d.ts.map +1 -1
  170. package/dist/routes/rest/collections/preview.js +2 -3
  171. package/dist/routes/rest/collections/preview.js.map +1 -1
  172. package/dist/routes/rest/collections/restoreVersion.js +2 -2
  173. package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
  174. package/dist/routes/rest/collections/update.js +2 -2
  175. package/dist/routes/rest/collections/update.js.map +1 -1
  176. package/dist/routes/rest/collections/updateByID.js +2 -2
  177. package/dist/routes/rest/collections/updateByID.js.map +1 -1
  178. package/dist/routes/rest/files/checkFileAccess.d.ts +2 -2
  179. package/dist/routes/rest/files/checkFileAccess.d.ts.map +1 -1
  180. package/dist/routes/rest/files/checkFileAccess.js +1 -2
  181. package/dist/routes/rest/files/checkFileAccess.js.map +1 -1
  182. package/dist/routes/rest/files/getFile.d.ts +2 -2
  183. package/dist/routes/rest/files/getFile.d.ts.map +1 -1
  184. package/dist/routes/rest/files/getFile.js +9 -7
  185. package/dist/routes/rest/files/getFile.js.map +1 -1
  186. package/dist/routes/rest/files/getFileTypeFallback.js.map +1 -1
  187. package/dist/routes/rest/globals/docAccess.js +1 -1
  188. package/dist/routes/rest/globals/docAccess.js.map +1 -1
  189. package/dist/routes/rest/globals/findOne.js +2 -2
  190. package/dist/routes/rest/globals/findOne.js.map +1 -1
  191. package/dist/routes/rest/globals/findVersionByID.js +2 -2
  192. package/dist/routes/rest/globals/findVersionByID.js.map +1 -1
  193. package/dist/routes/rest/globals/findVersions.js +2 -2
  194. package/dist/routes/rest/globals/findVersions.js.map +1 -1
  195. package/dist/routes/rest/globals/preview.d.ts.map +1 -1
  196. package/dist/routes/rest/globals/preview.js +2 -3
  197. package/dist/routes/rest/globals/preview.js.map +1 -1
  198. package/dist/routes/rest/globals/restoreVersion.js +2 -2
  199. package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
  200. package/dist/routes/rest/globals/update.js +2 -2
  201. package/dist/routes/rest/globals/update.js.map +1 -1
  202. package/dist/routes/rest/index.d.ts +1 -1
  203. package/dist/routes/rest/index.d.ts.map +1 -1
  204. package/dist/routes/rest/index.js +131 -93
  205. package/dist/routes/rest/index.js.map +1 -1
  206. package/dist/routes/rest/og/image.js.map +1 -1
  207. package/dist/routes/rest/og/index.d.ts +2 -2
  208. package/dist/routes/rest/og/index.d.ts.map +1 -1
  209. package/dist/routes/rest/og/index.js +1 -1
  210. package/dist/routes/rest/og/index.js.map +1 -1
  211. package/dist/routes/rest/routeError.d.ts +3 -3
  212. package/dist/routes/rest/routeError.d.ts.map +1 -1
  213. package/dist/routes/rest/routeError.js +3 -3
  214. package/dist/routes/rest/routeError.js.map +1 -1
  215. package/dist/routes/rest/types.d.ts +7 -7
  216. package/dist/routes/rest/types.d.ts.map +1 -1
  217. package/dist/routes/rest/types.js.map +1 -1
  218. package/dist/routes/rest/utilities/sanitizeCollectionID.d.ts +1 -1
  219. package/dist/routes/rest/utilities/sanitizeCollectionID.d.ts.map +1 -1
  220. package/dist/routes/rest/utilities/sanitizeCollectionID.js.map +1 -1
  221. package/dist/scss/app.scss +1 -1
  222. package/dist/scss/colors.scss +76 -76
  223. package/dist/scss/toasts.scss +111 -0
  224. package/dist/templates/Default/NavHamburger/index.d.ts +3 -0
  225. package/dist/templates/Default/NavHamburger/index.d.ts.map +1 -0
  226. package/dist/templates/Default/NavHamburger/index.js +13 -0
  227. package/dist/templates/Default/NavHamburger/index.js.map +1 -0
  228. package/dist/templates/Default/Wrapper/index.d.ts +8 -0
  229. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -0
  230. package/dist/templates/Default/Wrapper/index.js +18 -0
  231. package/dist/templates/Default/Wrapper/index.js.map +1 -0
  232. package/dist/templates/Default/Wrapper/index.scss +25 -0
  233. package/dist/templates/Default/index.d.ts +10 -0
  234. package/dist/templates/Default/index.d.ts.map +1 -0
  235. package/dist/templates/Default/index.js +66 -0
  236. package/dist/templates/Default/index.js.map +1 -0
  237. package/dist/templates/Default/index.scss +67 -0
  238. package/dist/templates/Minimal/index.d.ts +10 -0
  239. package/dist/templates/Minimal/index.d.ts.map +1 -0
  240. package/dist/templates/Minimal/index.js +21 -0
  241. package/dist/templates/Minimal/index.js.map +1 -0
  242. package/dist/templates/Minimal/index.scss +28 -0
  243. package/dist/utilities/addDataAndFileToRequest.d.ts +3 -6
  244. package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -1
  245. package/dist/utilities/addDataAndFileToRequest.js +16 -19
  246. package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
  247. package/dist/utilities/addLocalesToRequest.d.ts +2 -5
  248. package/dist/utilities/addLocalesToRequest.d.ts.map +1 -1
  249. package/dist/utilities/addLocalesToRequest.js +8 -9
  250. package/dist/utilities/addLocalesToRequest.js.map +1 -1
  251. package/dist/utilities/createPayloadRequest.d.ts +1 -1
  252. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  253. package/dist/utilities/createPayloadRequest.js +16 -11
  254. package/dist/utilities/createPayloadRequest.js.map +1 -1
  255. package/dist/utilities/getNextRequestI18n.d.ts +4 -4
  256. package/dist/utilities/getNextRequestI18n.d.ts.map +1 -1
  257. package/dist/utilities/getNextRequestI18n.js +3 -1
  258. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  259. package/dist/utilities/getPayloadHMR.d.ts +1 -2
  260. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  261. package/dist/utilities/getPayloadHMR.js +22 -8
  262. package/dist/utilities/getPayloadHMR.js.map +1 -1
  263. package/dist/utilities/getRequestLanguage.d.ts +1 -1
  264. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  265. package/dist/utilities/getRequestLanguage.js.map +1 -1
  266. package/dist/utilities/getRequestLocales.js.map +1 -1
  267. package/dist/utilities/getRequestTheme.d.ts +2 -2
  268. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  269. package/dist/utilities/getRequestTheme.js +1 -1
  270. package/dist/utilities/getRequestTheme.js.map +1 -1
  271. package/dist/utilities/headersWithCors.d.ts +2 -2
  272. package/dist/utilities/headersWithCors.d.ts.map +1 -1
  273. package/dist/utilities/headersWithCors.js +19 -3
  274. package/dist/utilities/headersWithCors.js.map +1 -1
  275. package/dist/utilities/initPage/handleAdminPage.d.ts +5 -2
  276. package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -1
  277. package/dist/utilities/initPage/handleAdminPage.js +17 -4
  278. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  279. package/dist/utilities/initPage/handleAuthRedirect.d.ts +1 -1
  280. package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +1 -1
  281. package/dist/utilities/initPage/handleAuthRedirect.js +19 -7
  282. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
  283. package/dist/utilities/initPage/index.d.ts +1 -1
  284. package/dist/utilities/initPage/index.d.ts.map +1 -1
  285. package/dist/utilities/initPage/index.js +42 -9
  286. package/dist/utilities/initPage/index.js.map +1 -1
  287. package/dist/utilities/initPage/shared.d.ts +15 -3
  288. package/dist/utilities/initPage/shared.d.ts.map +1 -1
  289. package/dist/utilities/initPage/shared.js +16 -5
  290. package/dist/utilities/initPage/shared.js.map +1 -1
  291. package/dist/utilities/initPage/types.d.ts +1 -1
  292. package/dist/utilities/initPage/types.d.ts.map +1 -1
  293. package/dist/utilities/initPage/types.js.map +1 -1
  294. package/dist/utilities/mergeHeaders.d.ts +2 -0
  295. package/dist/utilities/mergeHeaders.d.ts.map +1 -0
  296. package/dist/utilities/mergeHeaders.js +11 -0
  297. package/dist/utilities/mergeHeaders.js.map +1 -0
  298. package/dist/utilities/meta.d.ts +3 -3
  299. package/dist/utilities/meta.d.ts.map +1 -1
  300. package/dist/utilities/meta.js +3 -4
  301. package/dist/utilities/meta.js.map +1 -1
  302. package/dist/utilities/timestamp.js.map +1 -1
  303. package/dist/views/API/LocaleSelector/index.d.ts.map +1 -1
  304. package/dist/views/API/LocaleSelector/index.js +2 -3
  305. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  306. package/dist/views/API/RenderJSON/index.js +2 -2
  307. package/dist/views/API/RenderJSON/index.js.map +1 -1
  308. package/dist/views/API/index.client.d.ts.map +1 -1
  309. package/dist/views/API/index.client.js +9 -22
  310. package/dist/views/API/index.client.js.map +1 -1
  311. package/dist/views/API/index.d.ts +1 -1
  312. package/dist/views/API/index.d.ts.map +1 -1
  313. package/dist/views/API/index.js.map +1 -1
  314. package/dist/views/API/meta.js.map +1 -1
  315. package/dist/views/Account/Settings/LanguageSelector.d.ts +1 -1
  316. package/dist/views/Account/Settings/LanguageSelector.d.ts.map +1 -1
  317. package/dist/views/Account/Settings/LanguageSelector.js +4 -4
  318. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  319. package/dist/views/Account/Settings/index.d.ts +1 -1
  320. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  321. package/dist/views/Account/Settings/index.js +1 -1
  322. package/dist/views/Account/Settings/index.js.map +1 -1
  323. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  324. package/dist/views/Account/ToggleTheme/index.js +2 -4
  325. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  326. package/dist/views/Account/index.d.ts +1 -1
  327. package/dist/views/Account/index.d.ts.map +1 -1
  328. package/dist/views/Account/index.js +16 -27
  329. package/dist/views/Account/index.js.map +1 -1
  330. package/dist/views/Account/meta.js.map +1 -1
  331. package/dist/views/CreateFirstUser/index.client.d.ts +3 -1
  332. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  333. package/dist/views/CreateFirstUser/index.client.js +18 -18
  334. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  335. package/dist/views/CreateFirstUser/index.d.ts +1 -1
  336. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  337. package/dist/views/CreateFirstUser/index.js +30 -7
  338. package/dist/views/CreateFirstUser/index.js.map +1 -1
  339. package/dist/views/CreateFirstUser/meta.js.map +1 -1
  340. package/dist/views/Dashboard/Default/index.d.ts +4 -6
  341. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  342. package/dist/views/Dashboard/Default/index.js +14 -10
  343. package/dist/views/Dashboard/Default/index.js.map +1 -1
  344. package/dist/views/Dashboard/index.d.ts +1 -1
  345. package/dist/views/Dashboard/index.d.ts.map +1 -1
  346. package/dist/views/Dashboard/index.js +2 -3
  347. package/dist/views/Dashboard/index.js.map +1 -1
  348. package/dist/views/Dashboard/meta.js.map +1 -1
  349. package/dist/views/Document/getCustomViewByKey.d.ts +2 -3
  350. package/dist/views/Document/getCustomViewByKey.d.ts.map +1 -1
  351. package/dist/views/Document/getCustomViewByKey.js +1 -1
  352. package/dist/views/Document/getCustomViewByKey.js.map +1 -1
  353. package/dist/views/Document/getCustomViewByRoute.d.ts +2 -3
  354. package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -1
  355. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  356. package/dist/views/Document/getDocumentData.d.ts +2 -2
  357. package/dist/views/Document/getDocumentData.d.ts.map +1 -1
  358. package/dist/views/Document/getDocumentData.js +2 -2
  359. package/dist/views/Document/getDocumentData.js.map +1 -1
  360. package/dist/views/Document/getDocumentPermissions.d.ts +1 -2
  361. package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -1
  362. package/dist/views/Document/getDocumentPermissions.js +2 -3
  363. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  364. package/dist/views/Document/getMetaBySegment.d.ts +3 -3
  365. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  366. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  367. package/dist/views/Document/getViewsFromConfig.d.ts +1 -3
  368. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
  369. package/dist/views/Document/getViewsFromConfig.js +19 -5
  370. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  371. package/dist/views/Document/index.d.ts +1 -1
  372. package/dist/views/Document/index.d.ts.map +1 -1
  373. package/dist/views/Document/index.js +49 -47
  374. package/dist/views/Document/index.js.map +1 -1
  375. package/dist/views/Document/meta.js.map +1 -1
  376. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +1 -1
  377. package/dist/views/Edit/Default/Auth/APIKey.js +2 -8
  378. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
  379. package/dist/views/Edit/Default/Auth/index.d.ts.map +1 -1
  380. package/dist/views/Edit/Default/Auth/index.js +41 -24
  381. package/dist/views/Edit/Default/Auth/index.js.map +1 -1
  382. package/dist/views/Edit/Default/Auth/index.scss +17 -2
  383. package/dist/views/Edit/Default/Auth/types.d.ts +3 -2
  384. package/dist/views/Edit/Default/Auth/types.d.ts.map +1 -1
  385. package/dist/views/Edit/Default/Auth/types.js.map +1 -1
  386. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts +1 -2
  387. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +1 -1
  388. package/dist/views/Edit/Default/SetDocumentStepNav/index.js +16 -11
  389. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +1 -1
  390. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts +1 -2
  391. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts.map +1 -1
  392. package/dist/views/Edit/Default/SetDocumentTitle/index.js +2 -4
  393. package/dist/views/Edit/Default/SetDocumentTitle/index.js.map +1 -1
  394. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  395. package/dist/views/Edit/Default/index.js +21 -29
  396. package/dist/views/Edit/Default/index.js.map +1 -1
  397. package/dist/views/Edit/Default/types.d.ts +1 -1
  398. package/dist/views/Edit/Default/types.d.ts.map +1 -1
  399. package/dist/views/Edit/Default/types.js.map +1 -1
  400. package/dist/views/Edit/index.client.d.ts.map +1 -1
  401. package/dist/views/Edit/index.client.js +1 -3
  402. package/dist/views/Edit/index.client.js.map +1 -1
  403. package/dist/views/Edit/index.d.ts +1 -1
  404. package/dist/views/Edit/index.d.ts.map +1 -1
  405. package/dist/views/Edit/index.js.map +1 -1
  406. package/dist/views/Edit/meta.js.map +1 -1
  407. package/dist/views/Edit/sanitizeEditViewProps.d.ts +1 -1
  408. package/dist/views/Edit/sanitizeEditViewProps.d.ts.map +1 -1
  409. package/dist/views/Edit/sanitizeEditViewProps.js.map +1 -1
  410. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  411. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +37 -13
  412. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  413. package/dist/views/ForgotPassword/index.d.ts +1 -1
  414. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  415. package/dist/views/ForgotPassword/index.js +12 -6
  416. package/dist/views/ForgotPassword/index.js.map +1 -1
  417. package/dist/views/ForgotPassword/meta.js.map +1 -1
  418. package/dist/views/List/Default/index.d.ts.map +1 -1
  419. package/dist/views/List/Default/index.js +2 -26
  420. package/dist/views/List/Default/index.js.map +1 -1
  421. package/dist/views/List/Default/types.d.ts +2 -2
  422. package/dist/views/List/Default/types.d.ts.map +1 -1
  423. package/dist/views/List/Default/types.js.map +1 -1
  424. package/dist/views/List/index.d.ts +1 -1
  425. package/dist/views/List/index.d.ts.map +1 -1
  426. package/dist/views/List/index.js +17 -12
  427. package/dist/views/List/index.js.map +1 -1
  428. package/dist/views/List/meta.d.ts +3 -3
  429. package/dist/views/List/meta.d.ts.map +1 -1
  430. package/dist/views/List/meta.js.map +1 -1
  431. package/dist/views/LivePreview/Context/collisionDetection.js.map +1 -1
  432. package/dist/views/LivePreview/Context/context.d.ts +2 -2
  433. package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
  434. package/dist/views/LivePreview/Context/context.js.map +1 -1
  435. package/dist/views/LivePreview/Context/index.d.ts +1 -2
  436. package/dist/views/LivePreview/Context/index.d.ts.map +1 -1
  437. package/dist/views/LivePreview/Context/index.js +1 -1
  438. package/dist/views/LivePreview/Context/index.js.map +1 -1
  439. package/dist/views/LivePreview/Context/sizeReducer.js.map +1 -1
  440. package/dist/views/LivePreview/Device/index.d.ts.map +1 -1
  441. package/dist/views/LivePreview/Device/index.js +44 -16
  442. package/dist/views/LivePreview/Device/index.js.map +1 -1
  443. package/dist/views/LivePreview/DeviceContainer/index.js.map +1 -1
  444. package/dist/views/LivePreview/IFrame/index.js.map +1 -1
  445. package/dist/views/LivePreview/Preview/index.d.ts +1 -1
  446. package/dist/views/LivePreview/Preview/index.d.ts.map +1 -1
  447. package/dist/views/LivePreview/Preview/index.js +2 -4
  448. package/dist/views/LivePreview/Preview/index.js.map +1 -1
  449. package/dist/views/LivePreview/Toolbar/Controls/index.d.ts +1 -1
  450. package/dist/views/LivePreview/Toolbar/Controls/index.d.ts.map +1 -1
  451. package/dist/views/LivePreview/Toolbar/Controls/index.js +4 -8
  452. package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
  453. package/dist/views/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  454. package/dist/views/LivePreview/Toolbar/index.d.ts +3 -3
  455. package/dist/views/LivePreview/Toolbar/index.d.ts.map +1 -1
  456. package/dist/views/LivePreview/Toolbar/index.js +2 -2
  457. package/dist/views/LivePreview/Toolbar/index.js.map +1 -1
  458. package/dist/views/LivePreview/ToolbarArea/index.js.map +1 -1
  459. package/dist/views/LivePreview/index.client.d.ts +1 -2
  460. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  461. package/dist/views/LivePreview/index.client.js +21 -19
  462. package/dist/views/LivePreview/index.client.js.map +1 -1
  463. package/dist/views/LivePreview/index.d.ts +1 -1
  464. package/dist/views/LivePreview/index.d.ts.map +1 -1
  465. package/dist/views/LivePreview/index.js.map +1 -1
  466. package/dist/views/LivePreview/meta.js.map +1 -1
  467. package/dist/views/LivePreview/usePopupWindow.d.ts +1 -1
  468. package/dist/views/LivePreview/usePopupWindow.d.ts.map +1 -1
  469. package/dist/views/LivePreview/usePopupWindow.js +1 -1
  470. package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
  471. package/dist/views/Login/LoginField/index.d.ts +7 -0
  472. package/dist/views/Login/LoginField/index.d.ts.map +1 -0
  473. package/dist/views/Login/LoginField/index.js +101 -0
  474. package/dist/views/Login/LoginField/index.js.map +1 -0
  475. package/dist/views/Login/LoginForm/index.d.ts +3 -0
  476. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  477. package/dist/views/Login/LoginForm/index.js +40 -39
  478. package/dist/views/Login/LoginForm/index.js.map +1 -1
  479. package/dist/views/Login/index.d.ts +1 -1
  480. package/dist/views/Login/index.d.ts.map +1 -1
  481. package/dist/views/Login/index.js +9 -2
  482. package/dist/views/Login/index.js.map +1 -1
  483. package/dist/views/Login/meta.js.map +1 -1
  484. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  485. package/dist/views/Logout/LogoutClient.js +6 -4
  486. package/dist/views/Logout/LogoutClient.js.map +1 -1
  487. package/dist/views/Logout/index.d.ts +3 -3
  488. package/dist/views/Logout/index.d.ts.map +1 -1
  489. package/dist/views/Logout/index.js +2 -2
  490. package/dist/views/Logout/index.js.map +1 -1
  491. package/dist/views/Logout/meta.js.map +1 -1
  492. package/dist/views/NotFound/index.client.d.ts.map +1 -1
  493. package/dist/views/NotFound/index.client.js +3 -7
  494. package/dist/views/NotFound/index.client.js.map +1 -1
  495. package/dist/views/NotFound/index.d.ts +1 -1
  496. package/dist/views/NotFound/index.d.ts.map +1 -1
  497. package/dist/views/NotFound/index.js +7 -3
  498. package/dist/views/NotFound/index.js.map +1 -1
  499. package/dist/views/NotFound/meta.d.ts +3 -3
  500. package/dist/views/NotFound/meta.d.ts.map +1 -1
  501. package/dist/views/NotFound/meta.js.map +1 -1
  502. package/dist/views/ResetPassword/index.client.d.ts.map +1 -1
  503. package/dist/views/ResetPassword/index.client.js +15 -20
  504. package/dist/views/ResetPassword/index.client.js.map +1 -1
  505. package/dist/views/ResetPassword/index.d.ts +1 -1
  506. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  507. package/dist/views/ResetPassword/index.js +9 -6
  508. package/dist/views/ResetPassword/index.js.map +1 -1
  509. package/dist/views/ResetPassword/meta.js.map +1 -1
  510. package/dist/views/Root/getCustomViewByRoute.d.ts +1 -1
  511. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
  512. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  513. package/dist/views/Root/getViewFromConfig.d.ts +3 -4
  514. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  515. package/dist/views/Root/getViewFromConfig.js +5 -1
  516. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  517. package/dist/views/Root/index.d.ts +3 -3
  518. package/dist/views/Root/index.d.ts.map +1 -1
  519. package/dist/views/Root/index.js +20 -9
  520. package/dist/views/Root/index.js.map +1 -1
  521. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  522. package/dist/views/Root/meta.d.ts +1 -1
  523. package/dist/views/Root/meta.d.ts.map +1 -1
  524. package/dist/views/Root/meta.js.map +1 -1
  525. package/dist/views/Unauthorized/index.d.ts +1 -1
  526. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  527. package/dist/views/Unauthorized/index.js +1 -2
  528. package/dist/views/Unauthorized/index.js.map +1 -1
  529. package/dist/views/Unauthorized/meta.js.map +1 -1
  530. package/dist/views/Verify/index.d.ts +1 -1
  531. package/dist/views/Verify/index.d.ts.map +1 -1
  532. package/dist/views/Verify/index.js +10 -3
  533. package/dist/views/Verify/index.js.map +1 -1
  534. package/dist/views/Verify/meta.js.map +1 -1
  535. package/dist/views/Version/Default/SetStepNav.d.ts +1 -3
  536. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  537. package/dist/views/Version/Default/SetStepNav.js +29 -17
  538. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  539. package/dist/views/Version/Default/index.d.ts.map +1 -1
  540. package/dist/views/Version/Default/index.js +16 -23
  541. package/dist/views/Version/Default/index.js.map +1 -1
  542. package/dist/views/Version/Default/types.d.ts +4 -6
  543. package/dist/views/Version/Default/types.d.ts.map +1 -1
  544. package/dist/views/Version/Default/types.js.map +1 -1
  545. package/dist/views/Version/RenderFieldsToDiff/Label/index.js.map +1 -1
  546. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +1 -1
  547. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  548. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
  549. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
  550. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +2 -2
  551. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  552. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js.map +1 -1
  553. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts +3 -4
  554. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  555. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  556. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +3 -4
  557. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
  558. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  559. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js.map +1 -1
  560. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  561. package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js.map +1 -1
  562. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +9 -37
  563. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
  564. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  565. package/dist/views/Version/RenderFieldsToDiff/fields/styles.js.map +1 -1
  566. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts +1 -2
  567. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts.map +1 -1
  568. package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
  569. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  570. package/dist/views/Version/RenderFieldsToDiff/types.d.ts +3 -4
  571. package/dist/views/Version/RenderFieldsToDiff/types.d.ts.map +1 -1
  572. package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
  573. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  574. package/dist/views/Version/Restore/index.js +14 -12
  575. package/dist/views/Version/Restore/index.js.map +1 -1
  576. package/dist/views/Version/Restore/types.d.ts +1 -1
  577. package/dist/views/Version/Restore/types.d.ts.map +1 -1
  578. package/dist/views/Version/Restore/types.js.map +1 -1
  579. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  580. package/dist/views/Version/SelectComparison/index.js +50 -33
  581. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  582. package/dist/views/Version/SelectComparison/index.scss +1 -1
  583. package/dist/views/Version/SelectComparison/types.d.ts +3 -3
  584. package/dist/views/Version/SelectComparison/types.d.ts.map +1 -1
  585. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  586. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
  587. package/dist/views/Version/SelectLocales/index.js +1 -3
  588. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  589. package/dist/views/Version/SelectLocales/types.d.ts +1 -1
  590. package/dist/views/Version/SelectLocales/types.d.ts.map +1 -1
  591. package/dist/views/Version/SelectLocales/types.js.map +1 -1
  592. package/dist/views/Version/index.d.ts +1 -1
  593. package/dist/views/Version/index.d.ts.map +1 -1
  594. package/dist/views/Version/index.js +27 -42
  595. package/dist/views/Version/index.js.map +1 -1
  596. package/dist/views/Version/meta.js +1 -1
  597. package/dist/views/Version/meta.js.map +1 -1
  598. package/dist/views/Versions/buildColumns.d.ts +5 -3
  599. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  600. package/dist/views/Versions/buildColumns.js +8 -5
  601. package/dist/views/Versions/buildColumns.js.map +1 -1
  602. package/dist/views/Versions/cells/AutosaveCell/index.d.ts +7 -1
  603. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  604. package/dist/views/Versions/cells/AutosaveCell/index.js +32 -16
  605. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  606. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  607. package/dist/views/Versions/cells/CreatedAt/index.js +11 -7
  608. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  609. package/dist/views/Versions/cells/ID/index.js +1 -1
  610. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  611. package/dist/views/Versions/getLatestVersion.d.ts +5 -0
  612. package/dist/views/Versions/getLatestVersion.d.ts.map +1 -0
  613. package/dist/views/Versions/getLatestVersion.js +29 -0
  614. package/dist/views/Versions/getLatestVersion.js.map +1 -0
  615. package/dist/views/Versions/index.client.d.ts +2 -2
  616. package/dist/views/Versions/index.client.d.ts.map +1 -1
  617. package/dist/views/Versions/index.client.js +1 -9
  618. package/dist/views/Versions/index.client.js.map +1 -1
  619. package/dist/views/Versions/index.d.ts +1 -1
  620. package/dist/views/Versions/index.d.ts.map +1 -1
  621. package/dist/views/Versions/index.js +27 -6
  622. package/dist/views/Versions/index.js.map +1 -1
  623. package/dist/views/Versions/meta.js.map +1 -1
  624. package/dist/views/Versions/types.d.ts +1 -3
  625. package/dist/views/Versions/types.d.ts.map +1 -1
  626. package/dist/views/Versions/types.js.map +1 -1
  627. package/dist/withPayload.d.ts +1 -1
  628. package/dist/withPayload.d.ts.map +1 -1
  629. package/dist/withPayload.js +17 -1
  630. package/dist/withPayload.js.map +1 -1
  631. package/package.json +54 -41
  632. package/dist/prod/payload/payload-favicon-dark.png +0 -0
  633. package/dist/prod/payload/payload-favicon-light.png +0 -0
  634. package/dist/prod/payload/payload-favicon.svg +0 -15
  635. package/dist/prod/payload/static-og-image.png +0 -0
  636. package/dist/scss/toastify.scss +0 -58
  637. package/dist/views/Version/shared.d.ts +0 -9
  638. package/dist/views/Version/shared.d.ts.map +0 -1
  639. package/dist/views/Version/shared.js +0 -10
  640. package/dist/views/Version/shared.js.map +0 -1
  641. package/dist/webpackEntry.d.ts +0 -5
  642. package/dist/webpackEntry.d.ts.map +0 -1
  643. package/dist/webpackEntry.js +0 -6
  644. package/dist/webpackEntry.js.map +0 -1
@@ -1,18 +1,21 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { useResize } from '@payloadcms/ui/hooks/useResize';
3
+ import { useResize } from '@payloadcms/ui';
4
4
  import React, { useEffect } from 'react';
5
5
  import { useLivePreviewContext } from '../Context/context.js';
6
6
  export const DeviceContainer = (props)=>{
7
7
  const { children } = props;
8
8
  const deviceFrameRef = React.useRef(null);
9
- const { breakpoint, setMeasuredDeviceSize, size, zoom } = useLivePreviewContext();
9
+ const outerFrameRef = React.useRef(null);
10
+ const { breakpoint, setMeasuredDeviceSize, size: desiredSize, zoom } = useLivePreviewContext();
10
11
  // Keep an accurate measurement of the actual device size as it is truly rendered
11
12
  // This is helpful when `sizes` are non-number units like percentages, etc.
12
- const { size: measuredDeviceSize } = useResize(deviceFrameRef);
13
+ const { size: measuredDeviceSize } = useResize(deviceFrameRef.current);
14
+ const { size: outerFrameSize } = useResize(outerFrameRef.current);
15
+ let deviceIsLargerThanFrame = false;
13
16
  // Sync the measured device size with the context so that other components can use it
14
17
  // This happens from the bottom up so that as this component mounts and unmounts,
15
- // Its size is freshly populated again upon re-mounting, i.e. going from iframe->popup->iframe
18
+ // its size is freshly populated again upon re-mounting, i.e. going from iframe->popup->iframe
16
19
  useEffect(()=>{
17
20
  if (measuredDeviceSize) {
18
21
  setMeasuredDeviceSize(measuredDeviceSize);
@@ -25,28 +28,53 @@ export const DeviceContainer = (props)=>{
25
28
  let margin = '0';
26
29
  if (breakpoint && breakpoint !== 'responsive') {
27
30
  x = '-50%';
28
- if (typeof zoom === 'number' && typeof size.width === 'number' && typeof size.height === 'number') {
29
- const scaledWidth = size.width / zoom;
30
- const difference = scaledWidth - size.width;
31
- x = `${difference / 2}px`;
31
+ if (typeof zoom === 'number' && typeof desiredSize.width === 'number' && typeof desiredSize.height === 'number' && typeof measuredDeviceSize.width === 'number' && typeof measuredDeviceSize.height === 'number') {
32
32
  margin = '0 auto';
33
+ const scaledDesiredWidth = desiredSize.width / zoom;
34
+ const scaledDeviceWidth = measuredDeviceSize.width * zoom;
35
+ const scaledDeviceDifferencePixels = scaledDesiredWidth - desiredSize.width;
36
+ deviceIsLargerThanFrame = scaledDeviceWidth > outerFrameSize.width;
37
+ if (deviceIsLargerThanFrame) {
38
+ if (zoom > 1) {
39
+ const differenceFromDeviceToFrame = measuredDeviceSize.width - outerFrameSize.width;
40
+ if (differenceFromDeviceToFrame < 0) x = `${differenceFromDeviceToFrame / 2}px`;
41
+ else x = '0';
42
+ } else {
43
+ x = '0';
44
+ }
45
+ } else {
46
+ if (zoom >= 1) {
47
+ x = `${scaledDeviceDifferencePixels / 2}px`;
48
+ } else {
49
+ const differenceFromDeviceToFrame = outerFrameSize.width - scaledDeviceWidth;
50
+ x = `${differenceFromDeviceToFrame / 2}px`;
51
+ margin = '0';
52
+ }
53
+ }
33
54
  }
34
55
  }
35
56
  let width = zoom ? `${100 / zoom}%` : '100%';
36
57
  let height = zoom ? `${100 / zoom}%` : '100%';
37
58
  if (breakpoint !== 'responsive') {
38
- width = `${size?.width / (typeof zoom === 'number' ? zoom : 1)}px`;
39
- height = `${size?.height / (typeof zoom === 'number' ? zoom : 1)}px`;
59
+ width = `${desiredSize?.width / (typeof zoom === 'number' ? zoom : 1)}px`;
60
+ height = `${desiredSize?.height / (typeof zoom === 'number' ? zoom : 1)}px`;
40
61
  }
41
62
  return /*#__PURE__*/ _jsx("div", {
42
- ref: deviceFrameRef,
63
+ ref: outerFrameRef,
43
64
  style: {
44
- height,
45
- margin,
46
- transform: `translate3d(${x}, 0, 0)`,
47
- width
65
+ height: '100%',
66
+ width: '100%'
48
67
  },
49
- children: children
68
+ children: /*#__PURE__*/ _jsx("div", {
69
+ ref: deviceFrameRef,
70
+ style: {
71
+ height,
72
+ margin,
73
+ transform: `translate3d(${x}, 0, 0)`,
74
+ width
75
+ },
76
+ children: children
77
+ })
50
78
  });
51
79
  };
52
80
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/LivePreview/Device/index.tsx"],"sourcesContent":["'use client'\nimport { useResize } from '@payloadcms/ui/hooks/useResize'\nimport React, { useEffect } from 'react'\n\nimport { useLivePreviewContext } from '../Context/context.js'\n\nexport const DeviceContainer: React.FC<{\n children: React.ReactNode\n}> = (props) => {\n const { children } = props\n\n const deviceFrameRef = React.useRef<HTMLDivElement>(null)\n\n const { breakpoint, setMeasuredDeviceSize, size, zoom } = useLivePreviewContext()\n\n // Keep an accurate measurement of the actual device size as it is truly rendered\n // This is helpful when `sizes` are non-number units like percentages, etc.\n const { size: measuredDeviceSize } = useResize(deviceFrameRef)\n\n // Sync the measured device size with the context so that other components can use it\n // This happens from the bottom up so that as this component mounts and unmounts,\n // Its size is freshly populated again upon re-mounting, i.e. going from iframe->popup->iframe\n useEffect(() => {\n if (measuredDeviceSize) {\n setMeasuredDeviceSize(measuredDeviceSize)\n }\n }, [measuredDeviceSize, setMeasuredDeviceSize])\n\n let x = '0'\n let margin = '0'\n\n if (breakpoint && breakpoint !== 'responsive') {\n x = '-50%'\n\n if (\n typeof zoom === 'number' &&\n typeof size.width === 'number' &&\n typeof size.height === 'number'\n ) {\n const scaledWidth = size.width / zoom\n const difference = scaledWidth - size.width\n x = `${difference / 2}px`\n margin = '0 auto'\n }\n }\n\n let width = zoom ? `${100 / zoom}%` : '100%'\n let height = zoom ? `${100 / zoom}%` : '100%'\n\n if (breakpoint !== 'responsive') {\n width = `${size?.width / (typeof zoom === 'number' ? zoom : 1)}px`\n height = `${size?.height / (typeof zoom === 'number' ? zoom : 1)}px`\n }\n\n return (\n <div\n ref={deviceFrameRef}\n style={{\n height,\n margin,\n transform: `translate3d(${x}, 0, 0)`,\n width,\n }}\n >\n {children}\n </div>\n )\n}\n"],"names":["useResize","React","useEffect","useLivePreviewContext","DeviceContainer","props","children","deviceFrameRef","useRef","breakpoint","setMeasuredDeviceSize","size","zoom","measuredDeviceSize","x","margin","width","height","scaledWidth","difference","div","ref","style","transform"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,SAASA,SAAS,QAAQ,iCAAgC;AAC1D,OAAOC,SAASC,SAAS,QAAQ,QAAO;AAExC,SAASC,qBAAqB,QAAQ,wBAAuB;AAE7D,OAAO,MAAMC,kBAER,CAACC;IACJ,MAAM,EAAEC,QAAQ,EAAE,GAAGD;IAErB,MAAME,iBAAiBN,MAAMO,MAAM,CAAiB;IAEpD,MAAM,EAAEC,UAAU,EAAEC,qBAAqB,EAAEC,IAAI,EAAEC,IAAI,EAAE,GAAGT;IAE1D,iFAAiF;IACjF,2EAA2E;IAC3E,MAAM,EAAEQ,MAAME,kBAAkB,EAAE,GAAGb,UAAUO;IAE/C,qFAAqF;IACrF,iFAAiF;IACjF,8FAA8F;IAC9FL,UAAU;QACR,IAAIW,oBAAoB;YACtBH,sBAAsBG;QACxB;IACF,GAAG;QAACA;QAAoBH;KAAsB;IAE9C,IAAII,IAAI;IACR,IAAIC,SAAS;IAEb,IAAIN,cAAcA,eAAe,cAAc;QAC7CK,IAAI;QAEJ,IACE,OAAOF,SAAS,YAChB,OAAOD,KAAKK,KAAK,KAAK,YACtB,OAAOL,KAAKM,MAAM,KAAK,UACvB;YACA,MAAMC,cAAcP,KAAKK,KAAK,GAAGJ;YACjC,MAAMO,aAAaD,cAAcP,KAAKK,KAAK;YAC3CF,IAAI,CAAC,EAAEK,aAAa,EAAE,EAAE,CAAC;YACzBJ,SAAS;QACX;IACF;IAEA,IAAIC,QAAQJ,OAAO,CAAC,EAAE,MAAMA,KAAK,CAAC,CAAC,GAAG;IACtC,IAAIK,SAASL,OAAO,CAAC,EAAE,MAAMA,KAAK,CAAC,CAAC,GAAG;IAEvC,IAAIH,eAAe,cAAc;QAC/BO,QAAQ,CAAC,EAAEL,MAAMK,QAAS,CAAA,OAAOJ,SAAS,WAAWA,OAAO,CAAA,EAAG,EAAE,CAAC;QAClEK,SAAS,CAAC,EAAEN,MAAMM,SAAU,CAAA,OAAOL,SAAS,WAAWA,OAAO,CAAA,EAAG,EAAE,CAAC;IACtE;IAEA,qBACE,KAACQ;QACCC,KAAKd;QACLe,OAAO;YACLL;YACAF;YACAQ,WAAW,CAAC,YAAY,EAAET,EAAE,OAAO,CAAC;YACpCE;QACF;kBAECV;;AAGP,EAAC"}
1
+ {"version":3,"sources":["../../../../src/views/LivePreview/Device/index.tsx"],"sourcesContent":["'use client'\nimport { useResize } from '@payloadcms/ui'\nimport React, { useEffect } from 'react'\n\nimport { useLivePreviewContext } from '../Context/context.js'\n\nexport const DeviceContainer: React.FC<{\n children: React.ReactNode\n}> = (props) => {\n const { children } = props\n\n const deviceFrameRef = React.useRef<HTMLDivElement>(null)\n const outerFrameRef = React.useRef<HTMLDivElement>(null)\n\n const { breakpoint, setMeasuredDeviceSize, size: desiredSize, zoom } = useLivePreviewContext()\n\n // Keep an accurate measurement of the actual device size as it is truly rendered\n // This is helpful when `sizes` are non-number units like percentages, etc.\n const { size: measuredDeviceSize } = useResize(deviceFrameRef.current)\n const { size: outerFrameSize } = useResize(outerFrameRef.current)\n\n let deviceIsLargerThanFrame: boolean = false\n\n // Sync the measured device size with the context so that other components can use it\n // This happens from the bottom up so that as this component mounts and unmounts,\n // its size is freshly populated again upon re-mounting, i.e. going from iframe->popup->iframe\n useEffect(() => {\n if (measuredDeviceSize) {\n setMeasuredDeviceSize(measuredDeviceSize)\n }\n }, [measuredDeviceSize, setMeasuredDeviceSize])\n\n let x = '0'\n let margin = '0'\n\n if (breakpoint && breakpoint !== 'responsive') {\n x = '-50%'\n\n if (\n typeof zoom === 'number' &&\n typeof desiredSize.width === 'number' &&\n typeof desiredSize.height === 'number' &&\n typeof measuredDeviceSize.width === 'number' &&\n typeof measuredDeviceSize.height === 'number'\n ) {\n margin = '0 auto'\n const scaledDesiredWidth = desiredSize.width / zoom\n const scaledDeviceWidth = measuredDeviceSize.width * zoom\n const scaledDeviceDifferencePixels = scaledDesiredWidth - desiredSize.width\n deviceIsLargerThanFrame = scaledDeviceWidth > outerFrameSize.width\n\n if (deviceIsLargerThanFrame) {\n if (zoom > 1) {\n const differenceFromDeviceToFrame = measuredDeviceSize.width - outerFrameSize.width\n if (differenceFromDeviceToFrame < 0) x = `${differenceFromDeviceToFrame / 2}px`\n else x = '0'\n } else {\n x = '0'\n }\n } else {\n if (zoom >= 1) {\n x = `${scaledDeviceDifferencePixels / 2}px`\n } else {\n const differenceFromDeviceToFrame = outerFrameSize.width - scaledDeviceWidth\n x = `${differenceFromDeviceToFrame / 2}px`\n margin = '0'\n }\n }\n }\n }\n\n let width = zoom ? `${100 / zoom}%` : '100%'\n let height = zoom ? `${100 / zoom}%` : '100%'\n\n if (breakpoint !== 'responsive') {\n width = `${desiredSize?.width / (typeof zoom === 'number' ? zoom : 1)}px`\n height = `${desiredSize?.height / (typeof zoom === 'number' ? zoom : 1)}px`\n }\n\n return (\n <div\n ref={outerFrameRef}\n style={{\n height: '100%',\n width: '100%',\n }}\n >\n <div\n ref={deviceFrameRef}\n style={{\n height,\n margin,\n transform: `translate3d(${x}, 0, 0)`,\n width,\n }}\n >\n {children}\n </div>\n </div>\n )\n}\n"],"names":["useResize","React","useEffect","useLivePreviewContext","DeviceContainer","props","children","deviceFrameRef","useRef","outerFrameRef","breakpoint","setMeasuredDeviceSize","size","desiredSize","zoom","measuredDeviceSize","current","outerFrameSize","deviceIsLargerThanFrame","x","margin","width","height","scaledDesiredWidth","scaledDeviceWidth","scaledDeviceDifferencePixels","differenceFromDeviceToFrame","div","ref","style","transform"],"mappings":"AAAA;;AACA,SAASA,SAAS,QAAQ,iBAAgB;AAC1C,OAAOC,SAASC,SAAS,QAAQ,QAAO;AAExC,SAASC,qBAAqB,QAAQ,wBAAuB;AAE7D,OAAO,MAAMC,kBAER,CAACC;IACJ,MAAM,EAAEC,QAAQ,EAAE,GAAGD;IAErB,MAAME,iBAAiBN,MAAMO,MAAM,CAAiB;IACpD,MAAMC,gBAAgBR,MAAMO,MAAM,CAAiB;IAEnD,MAAM,EAAEE,UAAU,EAAEC,qBAAqB,EAAEC,MAAMC,WAAW,EAAEC,IAAI,EAAE,GAAGX;IAEvE,iFAAiF;IACjF,2EAA2E;IAC3E,MAAM,EAAES,MAAMG,kBAAkB,EAAE,GAAGf,UAAUO,eAAeS,OAAO;IACrE,MAAM,EAAEJ,MAAMK,cAAc,EAAE,GAAGjB,UAAUS,cAAcO,OAAO;IAEhE,IAAIE,0BAAmC;IAEvC,qFAAqF;IACrF,iFAAiF;IACjF,8FAA8F;IAC9FhB,UAAU;QACR,IAAIa,oBAAoB;YACtBJ,sBAAsBI;QACxB;IACF,GAAG;QAACA;QAAoBJ;KAAsB;IAE9C,IAAIQ,IAAI;IACR,IAAIC,SAAS;IAEb,IAAIV,cAAcA,eAAe,cAAc;QAC7CS,IAAI;QAEJ,IACE,OAAOL,SAAS,YAChB,OAAOD,YAAYQ,KAAK,KAAK,YAC7B,OAAOR,YAAYS,MAAM,KAAK,YAC9B,OAAOP,mBAAmBM,KAAK,KAAK,YACpC,OAAON,mBAAmBO,MAAM,KAAK,UACrC;YACAF,SAAS;YACT,MAAMG,qBAAqBV,YAAYQ,KAAK,GAAGP;YAC/C,MAAMU,oBAAoBT,mBAAmBM,KAAK,GAAGP;YACrD,MAAMW,+BAA+BF,qBAAqBV,YAAYQ,KAAK;YAC3EH,0BAA0BM,oBAAoBP,eAAeI,KAAK;YAElE,IAAIH,yBAAyB;gBAC3B,IAAIJ,OAAO,GAAG;oBACZ,MAAMY,8BAA8BX,mBAAmBM,KAAK,GAAGJ,eAAeI,KAAK;oBACnF,IAAIK,8BAA8B,GAAGP,IAAI,CAAC,EAAEO,8BAA8B,EAAE,EAAE,CAAC;yBAC1EP,IAAI;gBACX,OAAO;oBACLA,IAAI;gBACN;YACF,OAAO;gBACL,IAAIL,QAAQ,GAAG;oBACbK,IAAI,CAAC,EAAEM,+BAA+B,EAAE,EAAE,CAAC;gBAC7C,OAAO;oBACL,MAAMC,8BAA8BT,eAAeI,KAAK,GAAGG;oBAC3DL,IAAI,CAAC,EAAEO,8BAA8B,EAAE,EAAE,CAAC;oBAC1CN,SAAS;gBACX;YACF;QACF;IACF;IAEA,IAAIC,QAAQP,OAAO,CAAC,EAAE,MAAMA,KAAK,CAAC,CAAC,GAAG;IACtC,IAAIQ,SAASR,OAAO,CAAC,EAAE,MAAMA,KAAK,CAAC,CAAC,GAAG;IAEvC,IAAIJ,eAAe,cAAc;QAC/BW,QAAQ,CAAC,EAAER,aAAaQ,QAAS,CAAA,OAAOP,SAAS,WAAWA,OAAO,CAAA,EAAG,EAAE,CAAC;QACzEQ,SAAS,CAAC,EAAET,aAAaS,SAAU,CAAA,OAAOR,SAAS,WAAWA,OAAO,CAAA,EAAG,EAAE,CAAC;IAC7E;IAEA,qBACE,KAACa;QACCC,KAAKnB;QACLoB,OAAO;YACLP,QAAQ;YACRD,OAAO;QACT;kBAEA,cAAA,KAACM;YACCC,KAAKrB;YACLsB,OAAO;gBACLP;gBACAF;gBACAU,WAAW,CAAC,YAAY,EAAEX,EAAE,OAAO,CAAC;gBACpCE;YACF;sBAECf;;;AAIT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/LivePreview/DeviceContainer/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { useLivePreviewContext } from '../Context/context.js'\n\nexport const DeviceContainer: React.FC<{\n children: React.ReactNode\n}> = (props) => {\n const { children } = props\n\n const { breakpoint, breakpoints, size, zoom } = useLivePreviewContext()\n\n const foundBreakpoint = breakpoint && breakpoints?.find((bp) => bp.name === breakpoint)\n\n let x = '0'\n let margin = '0'\n\n if (foundBreakpoint && breakpoint !== 'responsive') {\n x = '-50%'\n\n if (\n typeof zoom === 'number' &&\n typeof size.width === 'number' &&\n typeof size.height === 'number'\n ) {\n const scaledWidth = size.width / zoom\n const difference = scaledWidth - size.width\n x = `${difference / 2}px`\n margin = '0 auto'\n }\n }\n\n return (\n <div\n style={{\n height:\n foundBreakpoint && foundBreakpoint?.name !== 'responsive'\n ? `${size?.height / (typeof zoom === 'number' ? zoom : 1)}px`\n : typeof zoom === 'number'\n ? `${100 / zoom}%`\n : '100%',\n margin,\n transform: `translate3d(${x}, 0, 0)`,\n width:\n foundBreakpoint && foundBreakpoint?.name !== 'responsive'\n ? `${size?.width / (typeof zoom === 'number' ? zoom : 1)}px`\n : typeof zoom === 'number'\n ? `${100 / zoom}%`\n : '100%',\n }}\n >\n {children}\n </div>\n )\n}\n"],"names":["React","useLivePreviewContext","DeviceContainer","props","children","breakpoint","breakpoints","size","zoom","foundBreakpoint","find","bp","name","x","margin","width","height","scaledWidth","difference","div","style","transform"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,qBAAqB,QAAQ,wBAAuB;AAE7D,OAAO,MAAMC,kBAER,CAACC;IACJ,MAAM,EAAEC,QAAQ,EAAE,GAAGD;IAErB,MAAM,EAAEE,UAAU,EAAEC,WAAW,EAAEC,IAAI,EAAEC,IAAI,EAAE,GAAGP;IAEhD,MAAMQ,kBAAkBJ,cAAcC,aAAaI,KAAK,CAACC,KAAOA,GAAGC,IAAI,KAAKP;IAE5E,IAAIQ,IAAI;IACR,IAAIC,SAAS;IAEb,IAAIL,mBAAmBJ,eAAe,cAAc;QAClDQ,IAAI;QAEJ,IACE,OAAOL,SAAS,YAChB,OAAOD,KAAKQ,KAAK,KAAK,YACtB,OAAOR,KAAKS,MAAM,KAAK,UACvB;YACA,MAAMC,cAAcV,KAAKQ,KAAK,GAAGP;YACjC,MAAMU,aAAaD,cAAcV,KAAKQ,KAAK;YAC3CF,IAAI,CAAC,EAAEK,aAAa,EAAE,EAAE,CAAC;YACzBJ,SAAS;QACX;IACF;IAEA,qBACE,KAACK;QACCC,OAAO;YACLJ,QACEP,mBAAmBA,iBAAiBG,SAAS,eACzC,CAAC,EAAEL,MAAMS,SAAU,CAAA,OAAOR,SAAS,WAAWA,OAAO,CAAA,EAAG,EAAE,CAAC,GAC3D,OAAOA,SAAS,WACd,CAAC,EAAE,MAAMA,KAAK,CAAC,CAAC,GAChB;YACRM;YACAO,WAAW,CAAC,YAAY,EAAER,EAAE,OAAO,CAAC;YACpCE,OACEN,mBAAmBA,iBAAiBG,SAAS,eACzC,CAAC,EAAEL,MAAMQ,QAAS,CAAA,OAAOP,SAAS,WAAWA,OAAO,CAAA,EAAG,EAAE,CAAC,GAC1D,OAAOA,SAAS,WACd,CAAC,EAAE,MAAMA,KAAK,CAAC,CAAC,GAChB;QACV;kBAECJ;;AAGP,EAAC"}
1
+ {"version":3,"sources":["../../../../src/views/LivePreview/DeviceContainer/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { useLivePreviewContext } from '../Context/context.js'\n\nexport const DeviceContainer: React.FC<{\n children: React.ReactNode\n}> = (props) => {\n const { children } = props\n\n const { breakpoint, breakpoints, size, zoom } = useLivePreviewContext()\n\n const foundBreakpoint = breakpoint && breakpoints?.find((bp) => bp.name === breakpoint)\n\n let x = '0'\n let margin = '0'\n\n if (foundBreakpoint && breakpoint !== 'responsive') {\n x = '-50%'\n\n if (\n typeof zoom === 'number' &&\n typeof size.width === 'number' &&\n typeof size.height === 'number'\n ) {\n const scaledWidth = size.width / zoom\n const difference = scaledWidth - size.width\n x = `${difference / 2}px`\n margin = '0 auto'\n }\n }\n\n return (\n <div\n style={{\n height:\n foundBreakpoint && foundBreakpoint?.name !== 'responsive'\n ? `${size?.height / (typeof zoom === 'number' ? zoom : 1)}px`\n : typeof zoom === 'number'\n ? `${100 / zoom}%`\n : '100%',\n margin,\n transform: `translate3d(${x}, 0, 0)`,\n width:\n foundBreakpoint && foundBreakpoint?.name !== 'responsive'\n ? `${size?.width / (typeof zoom === 'number' ? zoom : 1)}px`\n : typeof zoom === 'number'\n ? `${100 / zoom}%`\n : '100%',\n }}\n >\n {children}\n </div>\n )\n}\n"],"names":["React","useLivePreviewContext","DeviceContainer","props","children","breakpoint","breakpoints","size","zoom","foundBreakpoint","find","bp","name","x","margin","width","height","scaledWidth","difference","div","style","transform"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,qBAAqB,QAAQ,wBAAuB;AAE7D,OAAO,MAAMC,kBAER,CAACC;IACJ,MAAM,EAAEC,QAAQ,EAAE,GAAGD;IAErB,MAAM,EAAEE,UAAU,EAAEC,WAAW,EAAEC,IAAI,EAAEC,IAAI,EAAE,GAAGP;IAEhD,MAAMQ,kBAAkBJ,cAAcC,aAAaI,KAAK,CAACC,KAAOA,GAAGC,IAAI,KAAKP;IAE5E,IAAIQ,IAAI;IACR,IAAIC,SAAS;IAEb,IAAIL,mBAAmBJ,eAAe,cAAc;QAClDQ,IAAI;QAEJ,IACE,OAAOL,SAAS,YAChB,OAAOD,KAAKQ,KAAK,KAAK,YACtB,OAAOR,KAAKS,MAAM,KAAK,UACvB;YACA,MAAMC,cAAcV,KAAKQ,KAAK,GAAGP;YACjC,MAAMU,aAAaD,cAAcV,KAAKQ,KAAK;YAC3CF,IAAI,CAAC,EAAEK,aAAa,EAAE,EAAE,CAAC;YACzBJ,SAAS;QACX;IACF;IAEA,qBACE,KAACK;QACCC,OAAO;YACLJ,QACEP,mBAAmBA,iBAAiBG,SAAS,eACzC,CAAC,EAAEL,MAAMS,SAAU,CAAA,OAAOR,SAAS,WAAWA,OAAO,CAAA,EAAG,EAAE,CAAC,GAC3D,OAAOA,SAAS,WACd,CAAC,EAAE,MAAMA,KAAK,CAAC,CAAC,GAChB;YACRM;YACAO,WAAW,CAAC,YAAY,EAAER,EAAE,OAAO,CAAC;YACpCE,OACEN,mBAAmBA,iBAAiBG,SAAS,eACzC,CAAC,EAAEL,MAAMQ,QAAS,CAAA,OAAOP,SAAS,WAAWA,OAAO,CAAA,EAAG,EAAE,CAAC,GAC1D,OAAOA,SAAS,WACd,CAAC,EAAE,MAAMA,KAAK,CAAC,CAAC,GAChB;QACV;kBAECJ;;AAGP,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/LivePreview/IFrame/index.tsx"],"sourcesContent":["'use client'\nimport React, { forwardRef } from 'react'\n\nimport { useLivePreviewContext } from '../Context/context.js'\nimport './index.scss'\n\nconst baseClass = 'live-preview-iframe'\n\ntype Props = {\n setIframeHasLoaded: (value: boolean) => void\n url: string\n}\n\nexport const IFrame = forwardRef<HTMLIFrameElement, Props>((props, ref) => {\n const { setIframeHasLoaded, url } = props\n\n const { zoom } = useLivePreviewContext()\n\n return (\n <iframe\n className={baseClass}\n onLoad={() => {\n setIframeHasLoaded(true)\n }}\n ref={ref}\n src={url}\n style={{\n transform: typeof zoom === 'number' ? `scale(${zoom}) ` : undefined,\n }}\n title={url}\n />\n )\n})\n"],"names":["React","forwardRef","useLivePreviewContext","baseClass","IFrame","props","ref","setIframeHasLoaded","url","zoom","iframe","className","onLoad","src","style","transform","undefined","title"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,OAAOA,SAASC,UAAU,QAAQ,QAAO;AAEzC,SAASC,qBAAqB,QAAQ,wBAAuB;AAG7D,MAAMC,YAAY;AAOlB,OAAO,MAAMC,uBAASH,WAAqC,CAACI,OAAOC;IACjE,MAAM,EAAEC,kBAAkB,EAAEC,GAAG,EAAE,GAAGH;IAEpC,MAAM,EAAEI,IAAI,EAAE,GAAGP;IAEjB,qBACE,KAACQ;QACCC,WAAWR;QACXS,QAAQ;YACNL,mBAAmB;QACrB;QACAD,KAAKA;QACLO,KAAKL;QACLM,OAAO;YACLC,WAAW,OAAON,SAAS,WAAW,CAAC,MAAM,EAAEA,KAAK,EAAE,CAAC,GAAGO;QAC5D;QACAC,OAAOT;;AAGb,GAAE"}
1
+ {"version":3,"sources":["../../../../src/views/LivePreview/IFrame/index.tsx"],"sourcesContent":["'use client'\nimport React, { forwardRef } from 'react'\n\nimport { useLivePreviewContext } from '../Context/context.js'\nimport './index.scss'\n\nconst baseClass = 'live-preview-iframe'\n\ntype Props = {\n setIframeHasLoaded: (value: boolean) => void\n url: string\n}\n\nexport const IFrame = forwardRef<HTMLIFrameElement, Props>((props, ref) => {\n const { setIframeHasLoaded, url } = props\n\n const { zoom } = useLivePreviewContext()\n\n return (\n <iframe\n className={baseClass}\n onLoad={() => {\n setIframeHasLoaded(true)\n }}\n ref={ref}\n src={url}\n style={{\n transform: typeof zoom === 'number' ? `scale(${zoom}) ` : undefined,\n }}\n title={url}\n />\n )\n})\n"],"names":["React","forwardRef","useLivePreviewContext","baseClass","IFrame","props","ref","setIframeHasLoaded","url","zoom","iframe","className","onLoad","src","style","transform","undefined","title"],"mappings":"AAAA;;AACA,OAAOA,SAASC,UAAU,QAAQ,QAAO;AAEzC,SAASC,qBAAqB,QAAQ,wBAAuB;AAG7D,MAAMC,YAAY;AAOlB,OAAO,MAAMC,uBAASH,WAAqC,CAACI,OAAOC;IACjE,MAAM,EAAEC,kBAAkB,EAAEC,GAAG,EAAE,GAAGH;IAEpC,MAAM,EAAEI,IAAI,EAAE,GAAGP;IAEjB,qBACE,KAACQ;QACCC,WAAWR;QACXS,QAAQ;YACNL,mBAAmB;QACrB;QACAD,KAAKA;QACLO,KAAKL;QACLM,OAAO;YACLC,WAAW,OAAON,SAAS,WAAW,CAAC,MAAM,EAAEA,KAAK,EAAE,CAAC,GAAGO;QAC5D;QACAC,OAAOT;;AAGb,GAAE"}
@@ -1,4 +1,4 @@
1
- import type { EditViewProps } from 'payload/types';
1
+ import type { EditViewProps } from 'payload';
2
2
  import React from 'react';
3
3
  import './index.scss';
4
4
  export declare const LivePreview: React.FC<EditViewProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/LivePreview/Preview/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAMlD,OAAO,KAAoB,MAAM,OAAO,CAAA;AAMxC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAgH/C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/LivePreview/Preview/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAI5C,OAAO,KAAoB,MAAM,OAAO,CAAA;AAMxC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAgH/C,CAAA"}
@@ -1,9 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { ShimmerEffect } from '@payloadcms/ui/elements/ShimmerEffect';
4
- import { useAllFormFields } from '@payloadcms/ui/forms/Form';
5
- import { useDocumentEvents } from '@payloadcms/ui/providers/DocumentEvents';
6
- import { reduceFieldsToValues } from '@payloadcms/ui/utilities/reduceFieldsToValues';
3
+ import { ShimmerEffect, useAllFormFields, useDocumentEvents } from '@payloadcms/ui';
4
+ import { reduceFieldsToValues } from 'payload/shared';
7
5
  import React, { useEffect } from 'react';
8
6
  import { useLivePreviewContext } from '../Context/context.js';
9
7
  import { DeviceContainer } from '../Device/index.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/LivePreview/Preview/index.tsx"],"sourcesContent":["'use client'\n\nimport type { EditViewProps } from 'payload/types'\n\nimport { ShimmerEffect } from '@payloadcms/ui/elements/ShimmerEffect'\nimport { useAllFormFields } from '@payloadcms/ui/forms/Form'\nimport { useDocumentEvents } from '@payloadcms/ui/providers/DocumentEvents'\nimport { reduceFieldsToValues } from '@payloadcms/ui/utilities/reduceFieldsToValues'\nimport React, { useEffect } from 'react'\n\nimport { useLivePreviewContext } from '../Context/context.js'\nimport { DeviceContainer } from '../Device/index.js'\nimport { IFrame } from '../IFrame/index.js'\nimport { LivePreviewToolbar } from '../Toolbar/index.js'\nimport './index.scss'\n\nconst baseClass = 'live-preview-window'\n\nexport const LivePreview: React.FC<EditViewProps> = (props) => {\n const {\n appIsReady,\n iframeHasLoaded,\n iframeRef,\n popupRef,\n previewWindowType,\n setIframeHasLoaded,\n url,\n } = useLivePreviewContext()\n\n const { mostRecentUpdate } = useDocumentEvents()\n\n const { breakpoint, fieldSchemaJSON } = useLivePreviewContext()\n\n const prevWindowType =\n React.useRef<ReturnType<typeof useLivePreviewContext>['previewWindowType']>(undefined)\n\n const [fields] = useAllFormFields()\n\n // For client-side apps, send data through `window.postMessage`\n // The preview could either be an iframe embedded on the page\n // Or it could be a separate popup window\n // We need to transmit data to both accordingly\n useEffect(() => {\n // For performance, do no reduce fields to values until after the iframe or popup has loaded\n if (fields && window && 'postMessage' in window && appIsReady) {\n const values = reduceFieldsToValues(fields, true)\n\n // To reduce on large `postMessage` payloads, only send `fieldSchemaToJSON` one time\n // To do this, the underlying JS function maintains a cache of this value\n // So we need to send it through each time the window type changes\n // But only once per window type change, not on every render, because this is a potentially large obj\n const shouldSendSchema =\n !prevWindowType.current || prevWindowType.current !== previewWindowType\n\n prevWindowType.current = previewWindowType\n\n const message = {\n type: 'payload-live-preview',\n data: values,\n externallyUpdatedRelationship: mostRecentUpdate,\n fieldSchemaJSON: shouldSendSchema ? fieldSchemaJSON : undefined,\n }\n\n // Post message to external popup window\n if (previewWindowType === 'popup' && popupRef.current) {\n popupRef.current.postMessage(message, url)\n }\n\n // Post message to embedded iframe\n if (previewWindowType === 'iframe' && iframeRef.current) {\n iframeRef.current.contentWindow?.postMessage(message, url)\n }\n }\n }, [\n fields,\n url,\n iframeHasLoaded,\n previewWindowType,\n popupRef,\n appIsReady,\n iframeRef,\n setIframeHasLoaded,\n fieldSchemaJSON,\n mostRecentUpdate,\n ])\n\n // To support SSR, we transmit a `window.postMessage` event without a payload\n // This is because the event will ultimately trigger a server-side roundtrip\n // i.e., save, save draft, autosave, etc. will fire `router.refresh()`\n useEffect(() => {\n const message = {\n type: 'payload-document-event',\n }\n\n // Post message to external popup window\n if (previewWindowType === 'popup' && popupRef.current) {\n popupRef.current.postMessage(message, url)\n }\n\n // Post message to embedded iframe\n if (previewWindowType === 'iframe' && iframeRef.current) {\n iframeRef.current.contentWindow?.postMessage(message, url)\n }\n }, [mostRecentUpdate, iframeRef, popupRef, previewWindowType, url])\n\n if (previewWindowType === 'iframe') {\n return (\n <div\n className={[\n baseClass,\n breakpoint && breakpoint !== 'responsive' && `${baseClass}--has-breakpoint`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__wrapper`}>\n <LivePreviewToolbar {...props} />\n <div className={`${baseClass}__main`}>\n <DeviceContainer>\n {url ? (\n <IFrame ref={iframeRef} setIframeHasLoaded={setIframeHasLoaded} url={url} />\n ) : (\n <ShimmerEffect height=\"100%\" />\n )}\n </DeviceContainer>\n </div>\n </div>\n </div>\n )\n }\n}\n"],"names":["ShimmerEffect","useAllFormFields","useDocumentEvents","reduceFieldsToValues","React","useEffect","useLivePreviewContext","DeviceContainer","IFrame","LivePreviewToolbar","baseClass","LivePreview","props","appIsReady","iframeHasLoaded","iframeRef","popupRef","previewWindowType","setIframeHasLoaded","url","mostRecentUpdate","breakpoint","fieldSchemaJSON","prevWindowType","useRef","undefined","fields","window","values","shouldSendSchema","current","message","type","data","externallyUpdatedRelationship","postMessage","contentWindow","div","className","filter","Boolean","join","ref","height"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/views/LivePreview/Preview/index.tsx"],"sourcesContent":["'use client'\n\nimport type { EditViewProps } from 'payload'\n\nimport { ShimmerEffect, useAllFormFields, useDocumentEvents } from '@payloadcms/ui'\nimport { reduceFieldsToValues } from 'payload/shared'\nimport React, { useEffect } from 'react'\n\nimport { useLivePreviewContext } from '../Context/context.js'\nimport { DeviceContainer } from '../Device/index.js'\nimport { IFrame } from '../IFrame/index.js'\nimport { LivePreviewToolbar } from '../Toolbar/index.js'\nimport './index.scss'\n\nconst baseClass = 'live-preview-window'\n\nexport const LivePreview: React.FC<EditViewProps> = (props) => {\n const {\n appIsReady,\n iframeHasLoaded,\n iframeRef,\n popupRef,\n previewWindowType,\n setIframeHasLoaded,\n url,\n } = useLivePreviewContext()\n\n const { mostRecentUpdate } = useDocumentEvents()\n\n const { breakpoint, fieldSchemaJSON } = useLivePreviewContext()\n\n const prevWindowType =\n React.useRef<ReturnType<typeof useLivePreviewContext>['previewWindowType']>(undefined)\n\n const [fields] = useAllFormFields()\n\n // For client-side apps, send data through `window.postMessage`\n // The preview could either be an iframe embedded on the page\n // Or it could be a separate popup window\n // We need to transmit data to both accordingly\n useEffect(() => {\n // For performance, do no reduce fields to values until after the iframe or popup has loaded\n if (fields && window && 'postMessage' in window && appIsReady) {\n const values = reduceFieldsToValues(fields, true)\n\n // To reduce on large `postMessage` payloads, only send `fieldSchemaToJSON` one time\n // To do this, the underlying JS function maintains a cache of this value\n // So we need to send it through each time the window type changes\n // But only once per window type change, not on every render, because this is a potentially large obj\n const shouldSendSchema =\n !prevWindowType.current || prevWindowType.current !== previewWindowType\n\n prevWindowType.current = previewWindowType\n\n const message = {\n type: 'payload-live-preview',\n data: values,\n externallyUpdatedRelationship: mostRecentUpdate,\n fieldSchemaJSON: shouldSendSchema ? fieldSchemaJSON : undefined,\n }\n\n // Post message to external popup window\n if (previewWindowType === 'popup' && popupRef.current) {\n popupRef.current.postMessage(message, url)\n }\n\n // Post message to embedded iframe\n if (previewWindowType === 'iframe' && iframeRef.current) {\n iframeRef.current.contentWindow?.postMessage(message, url)\n }\n }\n }, [\n fields,\n url,\n iframeHasLoaded,\n previewWindowType,\n popupRef,\n appIsReady,\n iframeRef,\n setIframeHasLoaded,\n fieldSchemaJSON,\n mostRecentUpdate,\n ])\n\n // To support SSR, we transmit a `window.postMessage` event without a payload\n // This is because the event will ultimately trigger a server-side roundtrip\n // i.e., save, save draft, autosave, etc. will fire `router.refresh()`\n useEffect(() => {\n const message = {\n type: 'payload-document-event',\n }\n\n // Post message to external popup window\n if (previewWindowType === 'popup' && popupRef.current) {\n popupRef.current.postMessage(message, url)\n }\n\n // Post message to embedded iframe\n if (previewWindowType === 'iframe' && iframeRef.current) {\n iframeRef.current.contentWindow?.postMessage(message, url)\n }\n }, [mostRecentUpdate, iframeRef, popupRef, previewWindowType, url])\n\n if (previewWindowType === 'iframe') {\n return (\n <div\n className={[\n baseClass,\n breakpoint && breakpoint !== 'responsive' && `${baseClass}--has-breakpoint`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__wrapper`}>\n <LivePreviewToolbar {...props} />\n <div className={`${baseClass}__main`}>\n <DeviceContainer>\n {url ? (\n <IFrame ref={iframeRef} setIframeHasLoaded={setIframeHasLoaded} url={url} />\n ) : (\n <ShimmerEffect height=\"100%\" />\n )}\n </DeviceContainer>\n </div>\n </div>\n </div>\n )\n }\n}\n"],"names":["ShimmerEffect","useAllFormFields","useDocumentEvents","reduceFieldsToValues","React","useEffect","useLivePreviewContext","DeviceContainer","IFrame","LivePreviewToolbar","baseClass","LivePreview","props","appIsReady","iframeHasLoaded","iframeRef","popupRef","previewWindowType","setIframeHasLoaded","url","mostRecentUpdate","breakpoint","fieldSchemaJSON","prevWindowType","useRef","undefined","fields","window","values","shouldSendSchema","current","message","type","data","externallyUpdatedRelationship","postMessage","contentWindow","div","className","filter","Boolean","join","ref","height"],"mappings":"AAAA;;AAIA,SAASA,aAAa,EAAEC,gBAAgB,EAAEC,iBAAiB,QAAQ,iBAAgB;AACnF,SAASC,oBAAoB,QAAQ,iBAAgB;AACrD,OAAOC,SAASC,SAAS,QAAQ,QAAO;AAExC,SAASC,qBAAqB,QAAQ,wBAAuB;AAC7D,SAASC,eAAe,QAAQ,qBAAoB;AACpD,SAASC,MAAM,QAAQ,qBAAoB;AAC3C,SAASC,kBAAkB,QAAQ,sBAAqB;AAGxD,MAAMC,YAAY;AAElB,OAAO,MAAMC,cAAuC,CAACC;IACnD,MAAM,EACJC,UAAU,EACVC,eAAe,EACfC,SAAS,EACTC,QAAQ,EACRC,iBAAiB,EACjBC,kBAAkB,EAClBC,GAAG,EACJ,GAAGb;IAEJ,MAAM,EAAEc,gBAAgB,EAAE,GAAGlB;IAE7B,MAAM,EAAEmB,UAAU,EAAEC,eAAe,EAAE,GAAGhB;IAExC,MAAMiB,iBACJnB,MAAMoB,MAAM,CAAgEC;IAE9E,MAAM,CAACC,OAAO,GAAGzB;IAEjB,+DAA+D;IAC/D,6DAA6D;IAC7D,yCAAyC;IACzC,+CAA+C;IAC/CI,UAAU;QACR,4FAA4F;QAC5F,IAAIqB,UAAUC,UAAU,iBAAiBA,UAAUd,YAAY;YAC7D,MAAMe,SAASzB,qBAAqBuB,QAAQ;YAE5C,oFAAoF;YACpF,yEAAyE;YACzE,kEAAkE;YAClE,qGAAqG;YACrG,MAAMG,mBACJ,CAACN,eAAeO,OAAO,IAAIP,eAAeO,OAAO,KAAKb;YAExDM,eAAeO,OAAO,GAAGb;YAEzB,MAAMc,UAAU;gBACdC,MAAM;gBACNC,MAAML;gBACNM,+BAA+Bd;gBAC/BE,iBAAiBO,mBAAmBP,kBAAkBG;YACxD;YAEA,wCAAwC;YACxC,IAAIR,sBAAsB,WAAWD,SAASc,OAAO,EAAE;gBACrDd,SAASc,OAAO,CAACK,WAAW,CAACJ,SAASZ;YACxC;YAEA,kCAAkC;YAClC,IAAIF,sBAAsB,YAAYF,UAAUe,OAAO,EAAE;gBACvDf,UAAUe,OAAO,CAACM,aAAa,EAAED,YAAYJ,SAASZ;YACxD;QACF;IACF,GAAG;QACDO;QACAP;QACAL;QACAG;QACAD;QACAH;QACAE;QACAG;QACAI;QACAF;KACD;IAED,6EAA6E;IAC7E,4EAA4E;IAC5E,sEAAsE;IACtEf,UAAU;QACR,MAAM0B,UAAU;YACdC,MAAM;QACR;QAEA,wCAAwC;QACxC,IAAIf,sBAAsB,WAAWD,SAASc,OAAO,EAAE;YACrDd,SAASc,OAAO,CAACK,WAAW,CAACJ,SAASZ;QACxC;QAEA,kCAAkC;QAClC,IAAIF,sBAAsB,YAAYF,UAAUe,OAAO,EAAE;YACvDf,UAAUe,OAAO,CAACM,aAAa,EAAED,YAAYJ,SAASZ;QACxD;IACF,GAAG;QAACC;QAAkBL;QAAWC;QAAUC;QAAmBE;KAAI;IAElE,IAAIF,sBAAsB,UAAU;QAClC,qBACE,KAACoB;YACCC,WAAW;gBACT5B;gBACAW,cAAcA,eAAe,gBAAgB,CAAC,EAAEX,UAAU,gBAAgB,CAAC;aAC5E,CACE6B,MAAM,CAACC,SACPC,IAAI,CAAC;sBAER,cAAA,MAACJ;gBAAIC,WAAW,CAAC,EAAE5B,UAAU,SAAS,CAAC;;kCACrC,KAACD;wBAAoB,GAAGG,KAAK;;kCAC7B,KAACyB;wBAAIC,WAAW,CAAC,EAAE5B,UAAU,MAAM,CAAC;kCAClC,cAAA,KAACH;sCACEY,oBACC,KAACX;gCAAOkC,KAAK3B;gCAAWG,oBAAoBA;gCAAoBC,KAAKA;+CAErE,KAACnB;gCAAc2C,QAAO;;;;;;;IAOpC;AACF,EAAC"}
@@ -1,4 +1,4 @@
1
- import type { EditViewProps } from 'payload/types';
1
+ import type { EditViewProps } from 'payload';
2
2
  import React from 'react';
3
3
  import './index.scss';
4
4
  export declare const ToolbarControls: React.FC<EditViewProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/LivePreview/Toolbar/Controls/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAOlD,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA8GnD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/LivePreview/Toolbar/Controls/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAG5C,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA8GnD,CAAA"}
@@ -1,10 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { Popup, PopupList } from '@payloadcms/ui/elements/Popup';
4
- import { Chevron } from '@payloadcms/ui/icons/Chevron';
5
- import { LinkIcon } from '@payloadcms/ui/icons/Link';
6
- import { X } from '@payloadcms/ui/icons/X';
7
- import { useTranslation } from '@payloadcms/ui/providers/Translation';
3
+ import { ChevronIcon, LinkIcon, Popup, PopupList, XIcon, useTranslation } from '@payloadcms/ui';
8
4
  import React from 'react';
9
5
  import { useLivePreviewContext } from '../../Context/context.js';
10
6
  import { PreviewFrameSizeInput } from '../SizeInput/index.js';
@@ -34,7 +30,7 @@ export const ToolbarControls = ()=>{
34
30
  children: breakpoints.find((bp)=>bp.name == breakpoint)?.label ?? customOption.label
35
31
  }),
36
32
  " ",
37
- /*#__PURE__*/ _jsx(Chevron, {
33
+ /*#__PURE__*/ _jsx(ChevronIcon, {
38
34
  className: `${baseClass}__chevron`
39
35
  })
40
36
  ]
@@ -74,7 +70,7 @@ export const ToolbarControls = ()=>{
74
70
  }),
75
71
  /*#__PURE__*/ _jsx("span", {
76
72
  className: `${baseClass}__size-divider`,
77
- children: /*#__PURE__*/ _jsx(X, {})
73
+ children: /*#__PURE__*/ _jsx(XIcon, {})
78
74
  }),
79
75
  /*#__PURE__*/ _jsx(PreviewFrameSizeInput, {
80
76
  axis: "y"
@@ -91,7 +87,7 @@ export const ToolbarControls = ()=>{
91
87
  ]
92
88
  }),
93
89
  " ",
94
- /*#__PURE__*/ _jsx(Chevron, {
90
+ /*#__PURE__*/ _jsx(ChevronIcon, {
95
91
  className: `${baseClass}__chevron`
96
92
  })
97
93
  ]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/views/LivePreview/Toolbar/Controls/index.tsx"],"sourcesContent":["'use client'\n\nimport type { EditViewProps } from 'payload/types'\n\nimport { Popup, PopupList } from '@payloadcms/ui/elements/Popup'\nimport { Chevron } from '@payloadcms/ui/icons/Chevron'\nimport { LinkIcon } from '@payloadcms/ui/icons/Link'\nimport { X } from '@payloadcms/ui/icons/X'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport React from 'react'\n\nimport { useLivePreviewContext } from '../../Context/context.js'\nimport { PreviewFrameSizeInput } from '../SizeInput/index.js'\nimport './index.scss'\n\nconst baseClass = 'live-preview-toolbar-controls'\nconst zoomOptions = [50, 75, 100, 125, 150, 200]\n\nexport const ToolbarControls: React.FC<EditViewProps> = () => {\n const { breakpoint, breakpoints, setBreakpoint, setPreviewWindowType, setZoom, url, zoom } =\n useLivePreviewContext()\n const { t } = useTranslation()\n\n const customOption = {\n label: t('general:custom'),\n value: 'custom',\n }\n\n return (\n <div className={baseClass}>\n {breakpoints?.length > 0 && (\n <Popup\n button={\n <React.Fragment>\n <span>\n {breakpoints.find((bp) => bp.name == breakpoint)?.label ?? customOption.label}\n </span>\n &nbsp;\n <Chevron className={`${baseClass}__chevron`} />\n </React.Fragment>\n }\n className={`${baseClass}__breakpoint`}\n horizontalAlign=\"right\"\n render={({ close }) => (\n <PopupList.ButtonGroup>\n <React.Fragment>\n {breakpoints.map((bp) => (\n <PopupList.Button\n active={bp.name == breakpoint}\n key={bp.name}\n onClick={() => {\n setBreakpoint(bp.name)\n close()\n }}\n >\n {bp.label}\n </PopupList.Button>\n ))}\n {/* Dynamically add this option so that it only appears when the width and height inputs are explicitly changed */}\n {breakpoint === 'custom' && (\n <PopupList.Button\n active={breakpoint == customOption.value}\n onClick={() => {\n setBreakpoint(customOption.value)\n close()\n }}\n >\n {customOption.label}\n </PopupList.Button>\n )}\n </React.Fragment>\n </PopupList.ButtonGroup>\n )}\n showScrollbar\n verticalAlign=\"bottom\"\n />\n )}\n <div className={`${baseClass}__device-size`}>\n <PreviewFrameSizeInput axis=\"x\" />\n <span className={`${baseClass}__size-divider`}>\n <X />\n </span>\n <PreviewFrameSizeInput axis=\"y\" />\n </div>\n <Popup\n button={\n <React.Fragment>\n <span>{zoom * 100}%</span>\n &nbsp;\n <Chevron className={`${baseClass}__chevron`} />\n </React.Fragment>\n }\n className={`${baseClass}__zoom`}\n horizontalAlign=\"right\"\n render={({ close }) => (\n <PopupList.ButtonGroup>\n <React.Fragment>\n {zoomOptions.map((zoomValue) => (\n <PopupList.Button\n active={zoom * 100 == zoomValue}\n key={zoomValue}\n onClick={() => {\n setZoom(zoomValue / 100)\n close()\n }}\n >\n {zoomValue}%\n </PopupList.Button>\n ))}\n </React.Fragment>\n </PopupList.ButtonGroup>\n )}\n showScrollbar\n verticalAlign=\"bottom\"\n />\n <a\n className={`${baseClass}__external`}\n href={url}\n onClick={(e) => {\n e.preventDefault()\n setPreviewWindowType('popup')\n }}\n type=\"button\"\n >\n <LinkIcon />\n </a>\n </div>\n )\n}\n"],"names":["Popup","PopupList","Chevron","LinkIcon","X","useTranslation","React","useLivePreviewContext","PreviewFrameSizeInput","baseClass","zoomOptions","ToolbarControls","breakpoint","breakpoints","setBreakpoint","setPreviewWindowType","setZoom","url","zoom","t","customOption","label","value","div","className","length","button","Fragment","span","find","bp","name","horizontalAlign","render","close","ButtonGroup","map","Button","active","onClick","showScrollbar","verticalAlign","axis","zoomValue","a","href","e","preventDefault","type"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/views/LivePreview/Toolbar/Controls/index.tsx"],"sourcesContent":["'use client'\n\nimport type { EditViewProps } from 'payload'\n\nimport { ChevronIcon, LinkIcon, Popup, PopupList, XIcon, useTranslation } from '@payloadcms/ui'\nimport React from 'react'\n\nimport { useLivePreviewContext } from '../../Context/context.js'\nimport { PreviewFrameSizeInput } from '../SizeInput/index.js'\nimport './index.scss'\n\nconst baseClass = 'live-preview-toolbar-controls'\nconst zoomOptions = [50, 75, 100, 125, 150, 200]\n\nexport const ToolbarControls: React.FC<EditViewProps> = () => {\n const { breakpoint, breakpoints, setBreakpoint, setPreviewWindowType, setZoom, url, zoom } =\n useLivePreviewContext()\n const { t } = useTranslation()\n\n const customOption = {\n label: t('general:custom'),\n value: 'custom',\n }\n\n return (\n <div className={baseClass}>\n {breakpoints?.length > 0 && (\n <Popup\n button={\n <React.Fragment>\n <span>\n {breakpoints.find((bp) => bp.name == breakpoint)?.label ?? customOption.label}\n </span>\n &nbsp;\n <ChevronIcon className={`${baseClass}__chevron`} />\n </React.Fragment>\n }\n className={`${baseClass}__breakpoint`}\n horizontalAlign=\"right\"\n render={({ close }) => (\n <PopupList.ButtonGroup>\n <React.Fragment>\n {breakpoints.map((bp) => (\n <PopupList.Button\n active={bp.name == breakpoint}\n key={bp.name}\n onClick={() => {\n setBreakpoint(bp.name)\n close()\n }}\n >\n {bp.label}\n </PopupList.Button>\n ))}\n {/* Dynamically add this option so that it only appears when the width and height inputs are explicitly changed */}\n {breakpoint === 'custom' && (\n <PopupList.Button\n active={breakpoint == customOption.value}\n onClick={() => {\n setBreakpoint(customOption.value)\n close()\n }}\n >\n {customOption.label}\n </PopupList.Button>\n )}\n </React.Fragment>\n </PopupList.ButtonGroup>\n )}\n showScrollbar\n verticalAlign=\"bottom\"\n />\n )}\n <div className={`${baseClass}__device-size`}>\n <PreviewFrameSizeInput axis=\"x\" />\n <span className={`${baseClass}__size-divider`}>\n <XIcon />\n </span>\n <PreviewFrameSizeInput axis=\"y\" />\n </div>\n <Popup\n button={\n <React.Fragment>\n <span>{zoom * 100}%</span>\n &nbsp;\n <ChevronIcon className={`${baseClass}__chevron`} />\n </React.Fragment>\n }\n className={`${baseClass}__zoom`}\n horizontalAlign=\"right\"\n render={({ close }) => (\n <PopupList.ButtonGroup>\n <React.Fragment>\n {zoomOptions.map((zoomValue) => (\n <PopupList.Button\n active={zoom * 100 == zoomValue}\n key={zoomValue}\n onClick={() => {\n setZoom(zoomValue / 100)\n close()\n }}\n >\n {zoomValue}%\n </PopupList.Button>\n ))}\n </React.Fragment>\n </PopupList.ButtonGroup>\n )}\n showScrollbar\n verticalAlign=\"bottom\"\n />\n <a\n className={`${baseClass}__external`}\n href={url}\n onClick={(e) => {\n e.preventDefault()\n setPreviewWindowType('popup')\n }}\n type=\"button\"\n >\n <LinkIcon />\n </a>\n </div>\n )\n}\n"],"names":["ChevronIcon","LinkIcon","Popup","PopupList","XIcon","useTranslation","React","useLivePreviewContext","PreviewFrameSizeInput","baseClass","zoomOptions","ToolbarControls","breakpoint","breakpoints","setBreakpoint","setPreviewWindowType","setZoom","url","zoom","t","customOption","label","value","div","className","length","button","Fragment","span","find","bp","name","horizontalAlign","render","close","ButtonGroup","map","Button","active","onClick","showScrollbar","verticalAlign","axis","zoomValue","a","href","e","preventDefault","type"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/views/LivePreview/Toolbar/SizeInput/index.tsx"],"sourcesContent":["'use client'\nimport React, { useCallback, useEffect } from 'react'\n\nimport { useLivePreviewContext } from '../../Context/context.js'\nimport './index.scss'\n\nconst baseClass = 'toolbar-input'\n\nexport const PreviewFrameSizeInput: React.FC<{\n axis?: 'x' | 'y'\n}> = (props) => {\n const { axis } = props\n\n const { breakpoint, measuredDeviceSize, setBreakpoint, setSize, size, zoom } =\n useLivePreviewContext()\n\n const [internalState, setInternalState] = React.useState<number>(\n (axis === 'x' ? measuredDeviceSize?.width : measuredDeviceSize?.height) || 0,\n )\n\n // when the input is changed manually, we need to set the breakpoint as `custom`\n // this will then allow us to set an explicit width and height\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n let newValue = Number(e.target.value)\n\n if (newValue < 0) newValue = 0\n\n setInternalState(newValue)\n setBreakpoint('custom')\n\n // be sure to set _both_ axis values to so that the other axis doesn't fallback to 0 on initial change\n // this is because the `responsive` size is '100%' in CSS, and `0` in initial state\n setSize({\n type: 'reset',\n value: {\n height: axis === 'y' ? newValue : Number(measuredDeviceSize?.height.toFixed(0)) * zoom,\n width: axis === 'x' ? newValue : Number(measuredDeviceSize?.width.toFixed(0)) * zoom,\n },\n })\n },\n [axis, setBreakpoint, measuredDeviceSize, setSize, zoom],\n )\n\n // if the breakpoint is `responsive` then the device's div will have `100%` width and height\n // so we need to take the measurements provided by `actualDeviceSize` and sync internal state\n useEffect(() => {\n if (breakpoint === 'responsive' && measuredDeviceSize) {\n if (axis === 'x') setInternalState(Number(measuredDeviceSize.width.toFixed(0)) * zoom)\n else setInternalState(Number(measuredDeviceSize.height.toFixed(0)) * zoom)\n }\n\n if (breakpoint !== 'responsive' && size) {\n setInternalState(axis === 'x' ? size.width : size.height)\n }\n }, [breakpoint, axis, measuredDeviceSize, size, zoom])\n\n return (\n <input\n className={baseClass}\n min={0}\n name={axis === 'x' ? 'live-preview-width' : 'live-preview-height'}\n onChange={handleChange}\n step={1}\n type=\"number\"\n value={internalState || 0}\n />\n )\n}\n"],"names":["React","useCallback","useEffect","useLivePreviewContext","baseClass","PreviewFrameSizeInput","props","axis","breakpoint","measuredDeviceSize","setBreakpoint","setSize","size","zoom","internalState","setInternalState","useState","width","height","handleChange","e","newValue","Number","target","value","type","toFixed","input","className","min","name","onChange","step"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,OAAOA,SAASC,WAAW,EAAEC,SAAS,QAAQ,QAAO;AAErD,SAASC,qBAAqB,QAAQ,2BAA0B;AAGhE,MAAMC,YAAY;AAElB,OAAO,MAAMC,wBAER,CAACC;IACJ,MAAM,EAAEC,IAAI,EAAE,GAAGD;IAEjB,MAAM,EAAEE,UAAU,EAAEC,kBAAkB,EAAEC,aAAa,EAAEC,OAAO,EAAEC,IAAI,EAAEC,IAAI,EAAE,GAC1EV;IAEF,MAAM,CAACW,eAAeC,iBAAiB,GAAGf,MAAMgB,QAAQ,CACtD,AAACT,CAAAA,SAAS,MAAME,oBAAoBQ,QAAQR,oBAAoBS,MAAK,KAAM;IAG7E,gFAAgF;IAChF,8DAA8D;IAC9D,MAAMC,eAAelB,YACnB,CAACmB;QACC,IAAIC,WAAWC,OAAOF,EAAEG,MAAM,CAACC,KAAK;QAEpC,IAAIH,WAAW,GAAGA,WAAW;QAE7BN,iBAAiBM;QACjBX,cAAc;QAEd,sGAAsG;QACtG,mFAAmF;QACnFC,QAAQ;YACNc,MAAM;YACND,OAAO;gBACLN,QAAQX,SAAS,MAAMc,WAAWC,OAAOb,oBAAoBS,OAAOQ,QAAQ,MAAMb;gBAClFI,OAAOV,SAAS,MAAMc,WAAWC,OAAOb,oBAAoBQ,MAAMS,QAAQ,MAAMb;YAClF;QACF;IACF,GACA;QAACN;QAAMG;QAAeD;QAAoBE;QAASE;KAAK;IAG1D,4FAA4F;IAC5F,6FAA6F;IAC7FX,UAAU;QACR,IAAIM,eAAe,gBAAgBC,oBAAoB;YACrD,IAAIF,SAAS,KAAKQ,iBAAiBO,OAAOb,mBAAmBQ,KAAK,CAACS,OAAO,CAAC,MAAMb;iBAC5EE,iBAAiBO,OAAOb,mBAAmBS,MAAM,CAACQ,OAAO,CAAC,MAAMb;QACvE;QAEA,IAAIL,eAAe,gBAAgBI,MAAM;YACvCG,iBAAiBR,SAAS,MAAMK,KAAKK,KAAK,GAAGL,KAAKM,MAAM;QAC1D;IACF,GAAG;QAACV;QAAYD;QAAME;QAAoBG;QAAMC;KAAK;IAErD,qBACE,KAACc;QACCC,WAAWxB;QACXyB,KAAK;QACLC,MAAMvB,SAAS,MAAM,uBAAuB;QAC5CwB,UAAUZ;QACVa,MAAM;QACNP,MAAK;QACLD,OAAOV,iBAAiB;;AAG9B,EAAC"}
1
+ {"version":3,"sources":["../../../../../src/views/LivePreview/Toolbar/SizeInput/index.tsx"],"sourcesContent":["'use client'\nimport React, { useCallback, useEffect } from 'react'\n\nimport { useLivePreviewContext } from '../../Context/context.js'\nimport './index.scss'\n\nconst baseClass = 'toolbar-input'\n\nexport const PreviewFrameSizeInput: React.FC<{\n axis?: 'x' | 'y'\n}> = (props) => {\n const { axis } = props\n\n const { breakpoint, measuredDeviceSize, setBreakpoint, setSize, size, zoom } =\n useLivePreviewContext()\n\n const [internalState, setInternalState] = React.useState<number>(\n (axis === 'x' ? measuredDeviceSize?.width : measuredDeviceSize?.height) || 0,\n )\n\n // when the input is changed manually, we need to set the breakpoint as `custom`\n // this will then allow us to set an explicit width and height\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n let newValue = Number(e.target.value)\n\n if (newValue < 0) newValue = 0\n\n setInternalState(newValue)\n setBreakpoint('custom')\n\n // be sure to set _both_ axis values to so that the other axis doesn't fallback to 0 on initial change\n // this is because the `responsive` size is '100%' in CSS, and `0` in initial state\n setSize({\n type: 'reset',\n value: {\n height: axis === 'y' ? newValue : Number(measuredDeviceSize?.height.toFixed(0)) * zoom,\n width: axis === 'x' ? newValue : Number(measuredDeviceSize?.width.toFixed(0)) * zoom,\n },\n })\n },\n [axis, setBreakpoint, measuredDeviceSize, setSize, zoom],\n )\n\n // if the breakpoint is `responsive` then the device's div will have `100%` width and height\n // so we need to take the measurements provided by `actualDeviceSize` and sync internal state\n useEffect(() => {\n if (breakpoint === 'responsive' && measuredDeviceSize) {\n if (axis === 'x') setInternalState(Number(measuredDeviceSize.width.toFixed(0)) * zoom)\n else setInternalState(Number(measuredDeviceSize.height.toFixed(0)) * zoom)\n }\n\n if (breakpoint !== 'responsive' && size) {\n setInternalState(axis === 'x' ? size.width : size.height)\n }\n }, [breakpoint, axis, measuredDeviceSize, size, zoom])\n\n return (\n <input\n className={baseClass}\n min={0}\n name={axis === 'x' ? 'live-preview-width' : 'live-preview-height'}\n onChange={handleChange}\n step={1}\n type=\"number\"\n value={internalState || 0}\n />\n )\n}\n"],"names":["React","useCallback","useEffect","useLivePreviewContext","baseClass","PreviewFrameSizeInput","props","axis","breakpoint","measuredDeviceSize","setBreakpoint","setSize","size","zoom","internalState","setInternalState","useState","width","height","handleChange","e","newValue","Number","target","value","type","toFixed","input","className","min","name","onChange","step"],"mappings":"AAAA;;AACA,OAAOA,SAASC,WAAW,EAAEC,SAAS,QAAQ,QAAO;AAErD,SAASC,qBAAqB,QAAQ,2BAA0B;AAGhE,MAAMC,YAAY;AAElB,OAAO,MAAMC,wBAER,CAACC;IACJ,MAAM,EAAEC,IAAI,EAAE,GAAGD;IAEjB,MAAM,EAAEE,UAAU,EAAEC,kBAAkB,EAAEC,aAAa,EAAEC,OAAO,EAAEC,IAAI,EAAEC,IAAI,EAAE,GAC1EV;IAEF,MAAM,CAACW,eAAeC,iBAAiB,GAAGf,MAAMgB,QAAQ,CACtD,AAACT,CAAAA,SAAS,MAAME,oBAAoBQ,QAAQR,oBAAoBS,MAAK,KAAM;IAG7E,gFAAgF;IAChF,8DAA8D;IAC9D,MAAMC,eAAelB,YACnB,CAACmB;QACC,IAAIC,WAAWC,OAAOF,EAAEG,MAAM,CAACC,KAAK;QAEpC,IAAIH,WAAW,GAAGA,WAAW;QAE7BN,iBAAiBM;QACjBX,cAAc;QAEd,sGAAsG;QACtG,mFAAmF;QACnFC,QAAQ;YACNc,MAAM;YACND,OAAO;gBACLN,QAAQX,SAAS,MAAMc,WAAWC,OAAOb,oBAAoBS,OAAOQ,QAAQ,MAAMb;gBAClFI,OAAOV,SAAS,MAAMc,WAAWC,OAAOb,oBAAoBQ,MAAMS,QAAQ,MAAMb;YAClF;QACF;IACF,GACA;QAACN;QAAMG;QAAeD;QAAoBE;QAASE;KAAK;IAG1D,4FAA4F;IAC5F,6FAA6F;IAC7FX,UAAU;QACR,IAAIM,eAAe,gBAAgBC,oBAAoB;YACrD,IAAIF,SAAS,KAAKQ,iBAAiBO,OAAOb,mBAAmBQ,KAAK,CAACS,OAAO,CAAC,MAAMb;iBAC5EE,iBAAiBO,OAAOb,mBAAmBS,MAAM,CAACQ,OAAO,CAAC,MAAMb;QACvE;QAEA,IAAIL,eAAe,gBAAgBI,MAAM;YACvCG,iBAAiBR,SAAS,MAAMK,KAAKK,KAAK,GAAGL,KAAKM,MAAM;QAC1D;IACF,GAAG;QAACV;QAAYD;QAAME;QAAoBG;QAAMC;KAAK;IAErD,qBACE,KAACc;QACCC,WAAWxB;QACXyB,KAAK;QACLC,MAAMvB,SAAS,MAAM,uBAAuB;QAC5CwB,UAAUZ;QACVa,MAAM;QACNP,MAAK;QACLD,OAAOV,iBAAiB;;AAG9B,EAAC"}
@@ -1,7 +1,7 @@
1
- import type { EditViewProps } from 'payload/types';
1
+ import type { EditViewProps } from 'payload';
2
2
  import React from 'react';
3
3
  import './index.scss';
4
- export declare const LivePreviewToolbar: React.FC<EditViewProps & {
4
+ export declare const LivePreviewToolbar: React.FC<{
5
5
  draggable?: boolean;
6
- }>;
6
+ } & EditViewProps>;
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/LivePreview/Toolbar/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAIlD,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAgDrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CACvC,aAAa,GAAG;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CASF,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/LivePreview/Toolbar/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAI5C,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAgDrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CACvC;IACE,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,GAAG,aAAa,CASlB,CAAA"}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useDraggable } from '@dnd-kit/core';
4
- import { DragHandle } from '@payloadcms/ui/icons/DragHandle';
4
+ import { DragHandleIcon } from '@payloadcms/ui';
5
5
  import React from 'react';
6
6
  import { useLivePreviewContext } from '../Context/context.js';
7
7
  import { ToolbarControls } from './Controls/index.js';
@@ -30,7 +30,7 @@ const DraggableToolbar = (props)=>{
30
30
  className: `${baseClass}__drag-handle`,
31
31
  ref: setNodeRef,
32
32
  type: "button",
33
- children: /*#__PURE__*/ _jsx(DragHandle, {})
33
+ children: /*#__PURE__*/ _jsx(DragHandleIcon, {})
34
34
  }),
35
35
  /*#__PURE__*/ _jsx(ToolbarControls, {
36
36
  ...props
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/LivePreview/Toolbar/index.tsx"],"sourcesContent":["'use client'\nimport type { EditViewProps } from 'payload/types'\n\nimport { useDraggable } from '@dnd-kit/core'\nimport { DragHandle } from '@payloadcms/ui/icons/DragHandle'\nimport React from 'react'\n\nimport { useLivePreviewContext } from '../Context/context.js'\nimport { ToolbarControls } from './Controls/index.js'\nimport './index.scss'\n\nconst baseClass = 'live-preview-toolbar'\n\nconst DraggableToolbar: React.FC<EditViewProps> = (props) => {\n const { toolbarPosition } = useLivePreviewContext()\n\n const { attributes, listeners, setNodeRef, transform } = useDraggable({\n id: 'live-preview-toolbar',\n })\n\n return (\n <div\n className={[baseClass, `${baseClass}--draggable`].join(' ')}\n style={{\n left: `${toolbarPosition.x}px`,\n top: `${toolbarPosition.y}px`,\n ...(transform\n ? {\n transform: transform\n ? `translate3d(${transform?.x || 0}px, ${transform?.y || 0}px, 0)`\n : undefined,\n }\n : {}),\n }}\n >\n <button\n {...listeners}\n {...attributes}\n className={`${baseClass}__drag-handle`}\n ref={setNodeRef}\n type=\"button\"\n >\n <DragHandle />\n </button>\n <ToolbarControls {...props} />\n </div>\n )\n}\n\nconst StaticToolbar: React.FC<EditViewProps> = (props) => {\n return (\n <div className={[baseClass, `${baseClass}--static`].join(' ')}>\n <ToolbarControls {...props} />\n </div>\n )\n}\n\nexport const LivePreviewToolbar: React.FC<\n EditViewProps & {\n draggable?: boolean\n }\n> = (props) => {\n const { draggable } = props\n\n if (draggable) {\n return <DraggableToolbar {...props} />\n }\n\n return <StaticToolbar {...props} />\n}\n"],"names":["useDraggable","DragHandle","React","useLivePreviewContext","ToolbarControls","baseClass","DraggableToolbar","props","toolbarPosition","attributes","listeners","setNodeRef","transform","id","div","className","join","style","left","x","top","y","undefined","button","ref","type","StaticToolbar","LivePreviewToolbar","draggable"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AAGA,SAASA,YAAY,QAAQ,gBAAe;AAC5C,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,OAAOC,WAAW,QAAO;AAEzB,SAASC,qBAAqB,QAAQ,wBAAuB;AAC7D,SAASC,eAAe,QAAQ,sBAAqB;AAGrD,MAAMC,YAAY;AAElB,MAAMC,mBAA4C,CAACC;IACjD,MAAM,EAAEC,eAAe,EAAE,GAAGL;IAE5B,MAAM,EAAEM,UAAU,EAAEC,SAAS,EAAEC,UAAU,EAAEC,SAAS,EAAE,GAAGZ,aAAa;QACpEa,IAAI;IACN;IAEA,qBACE,MAACC;QACCC,WAAW;YAACV;YAAW,CAAC,EAAEA,UAAU,WAAW,CAAC;SAAC,CAACW,IAAI,CAAC;QACvDC,OAAO;YACLC,MAAM,CAAC,EAAEV,gBAAgBW,CAAC,CAAC,EAAE,CAAC;YAC9BC,KAAK,CAAC,EAAEZ,gBAAgBa,CAAC,CAAC,EAAE,CAAC;YAC7B,GAAIT,YACA;gBACEA,WAAWA,YACP,CAAC,YAAY,EAAEA,WAAWO,KAAK,EAAE,IAAI,EAAEP,WAAWS,KAAK,EAAE,MAAM,CAAC,GAChEC;YACN,IACA,CAAC,CAAC;QACR;;0BAEA,KAACC;gBACE,GAAGb,SAAS;gBACZ,GAAGD,UAAU;gBACdM,WAAW,CAAC,EAAEV,UAAU,aAAa,CAAC;gBACtCmB,KAAKb;gBACLc,MAAK;0BAEL,cAAA,KAACxB;;0BAEH,KAACG;gBAAiB,GAAGG,KAAK;;;;AAGhC;AAEA,MAAMmB,gBAAyC,CAACnB;IAC9C,qBACE,KAACO;QAAIC,WAAW;YAACV;YAAW,CAAC,EAAEA,UAAU,QAAQ,CAAC;SAAC,CAACW,IAAI,CAAC;kBACvD,cAAA,KAACZ;YAAiB,GAAGG,KAAK;;;AAGhC;AAEA,OAAO,MAAMoB,qBAIT,CAACpB;IACH,MAAM,EAAEqB,SAAS,EAAE,GAAGrB;IAEtB,IAAIqB,WAAW;QACb,qBAAO,KAACtB;YAAkB,GAAGC,KAAK;;IACpC;IAEA,qBAAO,KAACmB;QAAe,GAAGnB,KAAK;;AACjC,EAAC"}
1
+ {"version":3,"sources":["../../../../src/views/LivePreview/Toolbar/index.tsx"],"sourcesContent":["'use client'\nimport type { EditViewProps } from 'payload'\n\nimport { useDraggable } from '@dnd-kit/core'\nimport { DragHandleIcon } from '@payloadcms/ui'\nimport React from 'react'\n\nimport { useLivePreviewContext } from '../Context/context.js'\nimport { ToolbarControls } from './Controls/index.js'\nimport './index.scss'\n\nconst baseClass = 'live-preview-toolbar'\n\nconst DraggableToolbar: React.FC<EditViewProps> = (props) => {\n const { toolbarPosition } = useLivePreviewContext()\n\n const { attributes, listeners, setNodeRef, transform } = useDraggable({\n id: 'live-preview-toolbar',\n })\n\n return (\n <div\n className={[baseClass, `${baseClass}--draggable`].join(' ')}\n style={{\n left: `${toolbarPosition.x}px`,\n top: `${toolbarPosition.y}px`,\n ...(transform\n ? {\n transform: transform\n ? `translate3d(${transform?.x || 0}px, ${transform?.y || 0}px, 0)`\n : undefined,\n }\n : {}),\n }}\n >\n <button\n {...listeners}\n {...attributes}\n className={`${baseClass}__drag-handle`}\n ref={setNodeRef}\n type=\"button\"\n >\n <DragHandleIcon />\n </button>\n <ToolbarControls {...props} />\n </div>\n )\n}\n\nconst StaticToolbar: React.FC<EditViewProps> = (props) => {\n return (\n <div className={[baseClass, `${baseClass}--static`].join(' ')}>\n <ToolbarControls {...props} />\n </div>\n )\n}\n\nexport const LivePreviewToolbar: React.FC<\n {\n draggable?: boolean\n } & EditViewProps\n> = (props) => {\n const { draggable } = props\n\n if (draggable) {\n return <DraggableToolbar {...props} />\n }\n\n return <StaticToolbar {...props} />\n}\n"],"names":["useDraggable","DragHandleIcon","React","useLivePreviewContext","ToolbarControls","baseClass","DraggableToolbar","props","toolbarPosition","attributes","listeners","setNodeRef","transform","id","div","className","join","style","left","x","top","y","undefined","button","ref","type","StaticToolbar","LivePreviewToolbar","draggable"],"mappings":"AAAA;;AAGA,SAASA,YAAY,QAAQ,gBAAe;AAC5C,SAASC,cAAc,QAAQ,iBAAgB;AAC/C,OAAOC,WAAW,QAAO;AAEzB,SAASC,qBAAqB,QAAQ,wBAAuB;AAC7D,SAASC,eAAe,QAAQ,sBAAqB;AAGrD,MAAMC,YAAY;AAElB,MAAMC,mBAA4C,CAACC;IACjD,MAAM,EAAEC,eAAe,EAAE,GAAGL;IAE5B,MAAM,EAAEM,UAAU,EAAEC,SAAS,EAAEC,UAAU,EAAEC,SAAS,EAAE,GAAGZ,aAAa;QACpEa,IAAI;IACN;IAEA,qBACE,MAACC;QACCC,WAAW;YAACV;YAAW,CAAC,EAAEA,UAAU,WAAW,CAAC;SAAC,CAACW,IAAI,CAAC;QACvDC,OAAO;YACLC,MAAM,CAAC,EAAEV,gBAAgBW,CAAC,CAAC,EAAE,CAAC;YAC9BC,KAAK,CAAC,EAAEZ,gBAAgBa,CAAC,CAAC,EAAE,CAAC;YAC7B,GAAIT,YACA;gBACEA,WAAWA,YACP,CAAC,YAAY,EAAEA,WAAWO,KAAK,EAAE,IAAI,EAAEP,WAAWS,KAAK,EAAE,MAAM,CAAC,GAChEC;YACN,IACA,CAAC,CAAC;QACR;;0BAEA,KAACC;gBACE,GAAGb,SAAS;gBACZ,GAAGD,UAAU;gBACdM,WAAW,CAAC,EAAEV,UAAU,aAAa,CAAC;gBACtCmB,KAAKb;gBACLc,MAAK;0BAEL,cAAA,KAACxB;;0BAEH,KAACG;gBAAiB,GAAGG,KAAK;;;;AAGhC;AAEA,MAAMmB,gBAAyC,CAACnB;IAC9C,qBACE,KAACO;QAAIC,WAAW;YAACV;YAAW,CAAC,EAAEA,UAAU,QAAQ,CAAC;SAAC,CAACW,IAAI,CAAC;kBACvD,cAAA,KAACZ;YAAiB,GAAGG,KAAK;;;AAGhC;AAEA,OAAO,MAAMoB,qBAIT,CAACpB;IACH,MAAM,EAAEqB,SAAS,EAAE,GAAGrB;IAEtB,IAAIqB,WAAW;QACb,qBAAO,KAACtB;YAAkB,GAAGC,KAAK;;IACpC;IAEA,qBAAO,KAACmB;QAAe,GAAGnB,KAAK;;AACjC,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/LivePreview/ToolbarArea/index.tsx"],"sourcesContent":["'use client'\nimport { useDroppable } from '@dnd-kit/core'\nimport React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'toolbar-area'\n\nexport const ToolbarArea: React.FC<{\n children: React.ReactNode\n}> = (props) => {\n const { children } = props\n\n const { setNodeRef } = useDroppable({\n id: 'live-preview-area',\n })\n\n return (\n <div className={baseClass} ref={setNodeRef}>\n {children}\n </div>\n )\n}\n"],"names":["useDroppable","React","baseClass","ToolbarArea","props","children","setNodeRef","id","div","className","ref"],"rangeMappings":";;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,SAASA,YAAY,QAAQ,gBAAe;AAC5C,OAAOC,WAAW,QAAO;AAIzB,MAAMC,YAAY;AAElB,OAAO,MAAMC,cAER,CAACC;IACJ,MAAM,EAAEC,QAAQ,EAAE,GAAGD;IAErB,MAAM,EAAEE,UAAU,EAAE,GAAGN,aAAa;QAClCO,IAAI;IACN;IAEA,qBACE,KAACC;QAAIC,WAAWP;QAAWQ,KAAKJ;kBAC7BD;;AAGP,EAAC"}
1
+ {"version":3,"sources":["../../../../src/views/LivePreview/ToolbarArea/index.tsx"],"sourcesContent":["'use client'\nimport { useDroppable } from '@dnd-kit/core'\nimport React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'toolbar-area'\n\nexport const ToolbarArea: React.FC<{\n children: React.ReactNode\n}> = (props) => {\n const { children } = props\n\n const { setNodeRef } = useDroppable({\n id: 'live-preview-area',\n })\n\n return (\n <div className={baseClass} ref={setNodeRef}>\n {children}\n </div>\n )\n}\n"],"names":["useDroppable","React","baseClass","ToolbarArea","props","children","setNodeRef","id","div","className","ref"],"mappings":"AAAA;;AACA,SAASA,YAAY,QAAQ,gBAAe;AAC5C,OAAOC,WAAW,QAAO;AAIzB,MAAMC,YAAY;AAElB,OAAO,MAAMC,cAER,CAACC;IACJ,MAAM,EAAEC,QAAQ,EAAE,GAAGD;IAErB,MAAM,EAAEE,UAAU,EAAE,GAAGN,aAAa;QAClCO,IAAI;IACN;IAEA,qBACE,KAACC;QAAIC,WAAWP;QAAWQ,KAAKJ;kBAC7BD;;AAGP,EAAC"}
@@ -1,5 +1,4 @@
1
- import type { LivePreviewConfig } from 'payload/config';
2
- import type { Data } from 'payload/types';
1
+ import type { Data, LivePreviewConfig } from 'payload';
3
2
  import React from 'react';
4
3
  import './index.scss';
5
4
  export declare const LivePreviewClient: React.FC<{
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/LivePreview/index.client.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,KAAK,EAA4D,IAAI,EAAE,MAAM,eAAe,CAAA;AAYnG,OAAO,KAAgC,MAAM,OAAO,CAAA;AAQpD,OAAO,cAAc,CAAA;AA+KrB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IACvC,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAA;IAC7C,WAAW,EAAE,IAAI,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;CACZ,CA2DA,CAAA"}
1
+ {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/LivePreview/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAIV,IAAI,EAEJ,iBAAiB,EAClB,MAAM,SAAS,CAAA;AAgBhB,OAAO,KAAgC,MAAM,OAAO,CAAA;AAQpD,OAAO,cAAc,CAAA;AAiLrB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IACvC,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAA;IAC7C,WAAW,EAAE,IAAI,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;CACZ,CA2DA,CAAA"}
@@ -1,15 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { DocumentControls } from '@payloadcms/ui/elements/DocumentControls';
4
- import { DocumentFields } from '@payloadcms/ui/elements/DocumentFields';
5
- import { Form } from '@payloadcms/ui/forms/Form';
6
- import { SetViewActions } from '@payloadcms/ui/providers/Actions';
7
- import { useComponentMap } from '@payloadcms/ui/providers/ComponentMap';
8
- import { useConfig } from '@payloadcms/ui/providers/Config';
9
- import { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo';
10
- import { OperationProvider } from '@payloadcms/ui/providers/Operation';
11
- import { useTranslation } from '@payloadcms/ui/providers/Translation';
12
- import { getFormState } from '@payloadcms/ui/utilities/getFormState';
3
+ import { DocumentControls, DocumentFields, Form, OperationProvider, SetViewActions, useAuth, useComponentMap, useConfig, useDocumentEvents, useDocumentInfo, useTranslation } from '@payloadcms/ui';
4
+ import { getFormState } from '@payloadcms/ui/shared';
13
5
  import React, { Fragment, useCallback } from 'react';
14
6
  import { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js';
15
7
  import { SetDocumentStepNav } from '../Edit/Default/SetDocumentStepNav/index.js';
@@ -22,17 +14,22 @@ const baseClass = 'live-preview';
22
14
  const PreviewView = ({ apiRoute, collectionConfig, config, fieldMap, globalConfig, schemaPath, serverURL })=>{
23
15
  const { id, AfterDocument, AfterFields, BeforeDocument, BeforeFields, action, apiURL, collectionSlug, disableActions, disableLeaveWithoutSaving, docPermissions, getDocPreferences, globalSlug, hasPublishPermission, hasSavePermission, initialData, initialState, isEditing, isInitializing, onSave: onSaveFromProps } = useDocumentInfo();
24
16
  const operation = id ? 'update' : 'create';
17
+ const { admin: { user: userSlug } } = useConfig();
25
18
  const { t } = useTranslation();
26
19
  const { previewWindowType } = useLivePreviewContext();
20
+ const { refreshCookieAsync, user } = useAuth();
21
+ const { reportUpdate } = useDocumentEvents();
27
22
  const onSave = useCallback((json)=>{
28
- // reportUpdate({
29
- // id,
30
- // entitySlug: collectionConfig.slug,
31
- // updatedAt: json?.result?.updatedAt || new Date().toISOString(),
32
- // })
33
- // if (auth && id === user.id) {
34
- // await refreshCookieAsync()
35
- // }
23
+ reportUpdate({
24
+ id,
25
+ entitySlug: collectionSlug,
26
+ updatedAt: json?.result?.updatedAt || new Date().toISOString()
27
+ });
28
+ // If we're editing the doc of the logged-in user,
29
+ // Refresh the cookie to get new permissions
30
+ if (user && collectionSlug === userSlug && id === user.id) {
31
+ void refreshCookieAsync();
32
+ }
36
33
  if (typeof onSaveFromProps === 'function') {
37
34
  void onSaveFromProps({
38
35
  ...json,
@@ -40,8 +37,13 @@ const PreviewView = ({ apiRoute, collectionConfig, config, fieldMap, globalConfi
40
37
  });
41
38
  }
42
39
  }, [
40
+ collectionSlug,
43
41
  id,
44
- onSaveFromProps
42
+ onSaveFromProps,
43
+ refreshCookieAsync,
44
+ reportUpdate,
45
+ user,
46
+ userSlug
45
47
  ]);
46
48
  const onChange = useCallback(async ({ formState: prevFormState })=>{
47
49
  const docPreferences = await getDocPreferences();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/LivePreview/index.client.tsx"],"sourcesContent":["'use client'\nimport type { FormProps } from '@payloadcms/ui/forms/Form'\nimport type { FieldMap } from '@payloadcms/ui/utilities/buildComponentMap'\nimport type { LivePreviewConfig } from 'payload/config'\nimport type { ClientCollectionConfig, ClientConfig, ClientGlobalConfig, Data } from 'payload/types'\n\nimport { DocumentControls } from '@payloadcms/ui/elements/DocumentControls'\nimport { DocumentFields } from '@payloadcms/ui/elements/DocumentFields'\nimport { Form } from '@payloadcms/ui/forms/Form'\nimport { SetViewActions } from '@payloadcms/ui/providers/Actions'\nimport { useComponentMap } from '@payloadcms/ui/providers/ComponentMap'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'\nimport { OperationProvider } from '@payloadcms/ui/providers/Operation'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { getFormState } from '@payloadcms/ui/utilities/getFormState'\nimport React, { Fragment, useCallback } from 'react'\n\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { SetDocumentStepNav } from '../Edit/Default/SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from '../Edit/Default/SetDocumentTitle/index.js'\nimport { useLivePreviewContext } from './Context/context.js'\nimport { LivePreviewProvider } from './Context/index.js'\nimport { LivePreview } from './Preview/index.js'\nimport './index.scss'\nimport { usePopupWindow } from './usePopupWindow.js'\n\nconst baseClass = 'live-preview'\n\ntype Props = {\n apiRoute: string\n collectionConfig?: ClientCollectionConfig\n config: ClientConfig\n fieldMap: FieldMap\n globalConfig?: ClientGlobalConfig\n schemaPath: string\n serverURL: string\n}\n\nconst PreviewView: React.FC<Props> = ({\n apiRoute,\n collectionConfig,\n config,\n fieldMap,\n globalConfig,\n schemaPath,\n serverURL,\n}) => {\n const {\n id,\n AfterDocument,\n AfterFields,\n BeforeDocument,\n BeforeFields,\n action,\n apiURL,\n collectionSlug,\n disableActions,\n disableLeaveWithoutSaving,\n docPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n initialData,\n initialState,\n isEditing,\n isInitializing,\n onSave: onSaveFromProps,\n } = useDocumentInfo()\n\n const operation = id ? 'update' : 'create'\n\n const { t } = useTranslation()\n const { previewWindowType } = useLivePreviewContext()\n\n const onSave = useCallback(\n (json) => {\n // reportUpdate({\n // id,\n // entitySlug: collectionConfig.slug,\n // updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n // })\n\n // if (auth && id === user.id) {\n // await refreshCookieAsync()\n // }\n\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps({\n ...json,\n operation: id ? 'update' : 'create',\n })\n }\n },\n [\n id,\n onSaveFromProps,\n // refreshCookieAsync,\n // reportUpdate\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const docPreferences = await getDocPreferences()\n\n return getFormState({\n apiRoute,\n body: {\n id,\n docPreferences,\n formState: prevFormState,\n operation,\n schemaPath,\n },\n serverURL,\n })\n },\n [serverURL, apiRoute, id, operation, schemaPath, getDocPreferences],\n )\n\n return (\n <Fragment>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={!hasSavePermission}\n initialState={initialState}\n isInitializing={isInitializing}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {((collectionConfig &&\n !(collectionConfig.versions?.drafts && collectionConfig.versions?.drafts?.autosave)) ||\n (globalConfig &&\n !(globalConfig.versions?.drafts && globalConfig.versions?.drafts?.autosave))) &&\n !disableLeaveWithoutSaving && <LeaveWithoutSaving />}\n <SetDocumentStepNav\n collectionSlug={collectionSlug}\n globalLabel={globalConfig?.label}\n globalSlug={globalSlug}\n id={id}\n pluralLabel={collectionConfig ? collectionConfig?.labels?.plural : undefined}\n useAsTitle={collectionConfig ? collectionConfig?.admin?.useAsTitle : undefined}\n view={t('general:livePreview')}\n />\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={id?.toString() || ''}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n data={initialData}\n disableActions={disableActions}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n permissions={docPermissions}\n slug={collectionConfig?.slug || globalConfig?.slug}\n />\n <div\n className={[baseClass, previewWindowType === 'popup' && `${baseClass}--detached`]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[\n `${baseClass}__main`,\n previewWindowType === 'popup' && `${baseClass}__main--popup-open`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {BeforeDocument}\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={BeforeFields}\n docPermissions={docPermissions}\n fieldMap={fieldMap}\n forceSidebarWrap\n readOnly={!hasSavePermission}\n schemaPath={collectionSlug || globalSlug}\n />\n {AfterDocument}\n </div>\n <LivePreview collectionSlug={collectionSlug} globalSlug={globalSlug} />\n </div>\n </Form>\n </OperationProvider>\n </Fragment>\n )\n}\n\nexport const LivePreviewClient: React.FC<{\n breakpoints: LivePreviewConfig['breakpoints']\n initialData: Data\n url: string\n}> = (props) => {\n const { breakpoints, url } = props\n const { collectionSlug, globalSlug } = useDocumentInfo()\n\n const config = useConfig()\n\n const { isPopupOpen, openPopupWindow, popupRef } = usePopupWindow({\n eventType: 'payload-live-preview',\n url,\n })\n\n const {\n collections,\n globals,\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const collectionConfig =\n collectionSlug && collections.find((collection) => collection.slug === collectionSlug)\n\n const globalConfig = globalSlug && globals.find((global) => global.slug === globalSlug)\n\n const schemaPath = collectionSlug || globalSlug\n\n const { getComponentMap } = useComponentMap()\n\n const componentMap = getComponentMap({ collectionSlug, globalSlug })\n\n const { getFieldMap } = useComponentMap()\n\n const fieldMap = getFieldMap({\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n })\n\n return (\n <Fragment>\n <SetViewActions actions={componentMap?.actionsMap?.Edit?.LivePreview} />\n <LivePreviewProvider\n breakpoints={breakpoints}\n fieldSchema={collectionConfig?.fields || globalConfig?.fields}\n isPopupOpen={isPopupOpen}\n openPopupWindow={openPopupWindow}\n popupRef={popupRef}\n url={url}\n >\n <PreviewView\n apiRoute={apiRoute}\n collectionConfig={collectionConfig}\n config={config}\n fieldMap={fieldMap}\n globalConfig={globalConfig}\n schemaPath={schemaPath}\n serverURL={serverURL}\n />\n </LivePreviewProvider>\n </Fragment>\n )\n}\n"],"names":["DocumentControls","DocumentFields","Form","SetViewActions","useComponentMap","useConfig","useDocumentInfo","OperationProvider","useTranslation","getFormState","React","Fragment","useCallback","LeaveWithoutSaving","SetDocumentStepNav","SetDocumentTitle","useLivePreviewContext","LivePreviewProvider","LivePreview","usePopupWindow","baseClass","PreviewView","apiRoute","collectionConfig","config","fieldMap","globalConfig","schemaPath","serverURL","id","AfterDocument","AfterFields","BeforeDocument","BeforeFields","action","apiURL","collectionSlug","disableActions","disableLeaveWithoutSaving","docPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","initialData","initialState","isEditing","isInitializing","onSave","onSaveFromProps","operation","t","previewWindowType","json","onChange","formState","prevFormState","docPreferences","body","className","disabled","method","onSuccess","versions","drafts","autosave","globalLabel","label","pluralLabel","labels","plural","undefined","useAsTitle","admin","view","fallback","toString","data","permissions","slug","div","filter","Boolean","join","forceSidebarWrap","readOnly","LivePreviewClient","props","breakpoints","url","isPopupOpen","openPopupWindow","popupRef","eventType","collections","globals","routes","api","find","collection","global","getComponentMap","componentMap","getFieldMap","actions","actionsMap","Edit","fieldSchema","fields"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AAMA,SAASA,gBAAgB,QAAQ,2CAA0C;AAC3E,SAASC,cAAc,QAAQ,yCAAwC;AACvE,SAASC,IAAI,QAAQ,4BAA2B;AAChD,SAASC,cAAc,QAAQ,mCAAkC;AACjE,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,iBAAiB,QAAQ,qCAAoC;AACtE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,YAAY,QAAQ,wCAAuC;AACpE,OAAOC,SAASC,QAAQ,EAAEC,WAAW,QAAQ,QAAO;AAEpD,SAASC,kBAAkB,QAAQ,6CAA4C;AAC/E,SAASC,kBAAkB,QAAQ,8CAA6C;AAChF,SAASC,gBAAgB,QAAQ,4CAA2C;AAC5E,SAASC,qBAAqB,QAAQ,uBAAsB;AAC5D,SAASC,mBAAmB,QAAQ,qBAAoB;AACxD,SAASC,WAAW,QAAQ,qBAAoB;AAEhD,SAASC,cAAc,QAAQ,sBAAqB;AAEpD,MAAMC,YAAY;AAYlB,MAAMC,cAA+B,CAAC,EACpCC,QAAQ,EACRC,gBAAgB,EAChBC,MAAM,EACNC,QAAQ,EACRC,YAAY,EACZC,UAAU,EACVC,SAAS,EACV;IACC,MAAM,EACJC,EAAE,EACFC,aAAa,EACbC,WAAW,EACXC,cAAc,EACdC,YAAY,EACZC,MAAM,EACNC,MAAM,EACNC,cAAc,EACdC,cAAc,EACdC,yBAAyB,EACzBC,cAAc,EACdC,iBAAiB,EACjBC,UAAU,EACVC,oBAAoB,EACpBC,iBAAiB,EACjBC,WAAW,EACXC,YAAY,EACZC,SAAS,EACTC,cAAc,EACdC,QAAQC,eAAe,EACxB,GAAG3C;IAEJ,MAAM4C,YAAYrB,KAAK,WAAW;IAElC,MAAM,EAAEsB,CAAC,EAAE,GAAG3C;IACd,MAAM,EAAE4C,iBAAiB,EAAE,GAAGpC;IAE9B,MAAMgC,SAASpC,YACb,CAACyC;QACC,iBAAiB;QACjB,QAAQ;QACR,uCAAuC;QACvC,oEAAoE;QACpE,KAAK;QAEL,gCAAgC;QAChC,+BAA+B;QAC/B,IAAI;QAEJ,IAAI,OAAOJ,oBAAoB,YAAY;YACzC,KAAKA,gBAAgB;gBACnB,GAAGI,IAAI;gBACPH,WAAWrB,KAAK,WAAW;YAC7B;QACF;IACF,GACA;QACEA;QACAoB;KAGD;IAGH,MAAMK,WAAqC1C,YACzC,OAAO,EAAE2C,WAAWC,aAAa,EAAE;QACjC,MAAMC,iBAAiB,MAAMjB;QAE7B,OAAO/B,aAAa;YAClBa;YACAoC,MAAM;gBACJ7B;gBACA4B;gBACAF,WAAWC;gBACXN;gBACAvB;YACF;YACAC;QACF;IACF,GACA;QAACA;QAAWN;QAAUO;QAAIqB;QAAWvB;QAAYa;KAAkB;IAGrE,qBACE,KAAC7B;kBACC,cAAA,KAACJ;YAAkB2C,WAAWA;sBAC5B,cAAA,MAAChD;gBACCgC,QAAQA;gBACRyB,WAAW,CAAC,EAAEvC,UAAU,MAAM,CAAC;gBAC/BwC,UAAU,CAACjB;gBACXE,cAAcA;gBACdE,gBAAgBA;gBAChBc,QAAQhC,KAAK,UAAU;gBACvByB,UAAU;oBAACA;iBAAS;gBACpBQ,WAAWd;;oBAET,CAAA,AAACzB,oBACD,CAAEA,CAAAA,iBAAiBwC,QAAQ,EAAEC,UAAUzC,iBAAiBwC,QAAQ,EAAEC,QAAQC,QAAO,KAChFvC,gBACC,CAAEA,CAAAA,aAAaqC,QAAQ,EAAEC,UAAUtC,aAAaqC,QAAQ,EAAEC,QAAQC,QAAO,CAAE,KAC7E,CAAC3B,2CAA6B,KAACzB;kCACjC,KAACC;wBACCsB,gBAAgBA;wBAChB8B,aAAaxC,cAAcyC;wBAC3B1B,YAAYA;wBACZZ,IAAIA;wBACJuC,aAAa7C,mBAAmBA,kBAAkB8C,QAAQC,SAASC;wBACnEC,YAAYjD,mBAAmBA,kBAAkBkD,OAAOD,aAAaD;wBACrEG,MAAMvB,EAAE;;kCAEV,KAACpC;wBACCQ,kBAAkBA;wBAClBC,QAAQA;wBACRmD,UAAU9C,IAAI+C,cAAc;wBAC5BlD,cAAcA;;kCAEhB,KAAC1B;wBACCmC,QAAQA;wBACR0C,MAAMjC;wBACNP,gBAAgBA;wBAChBK,sBAAsBA;wBACtBC,mBAAmBA;wBACnBd,IAAIA;wBACJiB,WAAWA;wBACXgC,aAAavC;wBACbwC,MAAMxD,kBAAkBwD,QAAQrD,cAAcqD;;kCAEhD,MAACC;wBACCrB,WAAW;4BAACvC;4BAAWgC,sBAAsB,WAAW,CAAC,EAAEhC,UAAU,UAAU,CAAC;yBAAC,CAC9E6D,MAAM,CAACC,SACPC,IAAI,CAAC;;0CAER,MAACH;gCACCrB,WAAW;oCACT,CAAC,EAAEvC,UAAU,MAAM,CAAC;oCACpBgC,sBAAsB,WAAW,CAAC,EAAEhC,UAAU,kBAAkB,CAAC;iCAClE,CACE6D,MAAM,CAACC,SACPC,IAAI,CAAC;;oCAEPnD;kDACD,KAAC/B;wCACC8B,aAAaA;wCACbE,cAAcA;wCACdM,gBAAgBA;wCAChBd,UAAUA;wCACV2D,gBAAgB;wCAChBC,UAAU,CAAC1C;wCACXhB,YAAYS,kBAAkBK;;oCAE/BX;;;0CAEH,KAACZ;gCAAYkB,gBAAgBA;gCAAgBK,YAAYA;;;;;;;;AAMrE;AAEA,OAAO,MAAM6C,oBAIR,CAACC;IACJ,MAAM,EAAEC,WAAW,EAAEC,GAAG,EAAE,GAAGF;IAC7B,MAAM,EAAEnD,cAAc,EAAEK,UAAU,EAAE,GAAGnC;IAEvC,MAAMkB,SAASnB;IAEf,MAAM,EAAEqF,WAAW,EAAEC,eAAe,EAAEC,QAAQ,EAAE,GAAGzE,eAAe;QAChE0E,WAAW;QACXJ;IACF;IAEA,MAAM,EACJK,WAAW,EACXC,OAAO,EACPC,QAAQ,EAAEC,KAAK3E,QAAQ,EAAE,EACzBM,SAAS,EACV,GAAGJ;IAEJ,MAAMD,mBACJa,kBAAkB0D,YAAYI,IAAI,CAAC,CAACC,aAAeA,WAAWpB,IAAI,KAAK3C;IAEzE,MAAMV,eAAee,cAAcsD,QAAQG,IAAI,CAAC,CAACE,SAAWA,OAAOrB,IAAI,KAAKtC;IAE5E,MAAMd,aAAaS,kBAAkBK;IAErC,MAAM,EAAE4D,eAAe,EAAE,GAAGjG;IAE5B,MAAMkG,eAAeD,gBAAgB;QAAEjE;QAAgBK;IAAW;IAElE,MAAM,EAAE8D,WAAW,EAAE,GAAGnG;IAExB,MAAMqB,WAAW8E,YAAY;QAC3BnE,gBAAgBb,kBAAkBwD;QAClCtC,YAAYf,cAAcqD;IAC5B;IAEA,qBACE,MAACpE;;0BACC,KAACR;gBAAeqG,SAASF,cAAcG,YAAYC,MAAMxF;;0BACzD,KAACD;gBACCuE,aAAaA;gBACbmB,aAAapF,kBAAkBqF,UAAUlF,cAAckF;gBACvDlB,aAAaA;gBACbC,iBAAiBA;gBACjBC,UAAUA;gBACVH,KAAKA;0BAEL,cAAA,KAACpE;oBACCC,UAAUA;oBACVC,kBAAkBA;oBAClBC,QAAQA;oBACRC,UAAUA;oBACVC,cAAcA;oBACdC,YAAYA;oBACZC,WAAWA;;;;;AAKrB,EAAC"}
1
+ {"version":3,"sources":["../../../src/views/LivePreview/index.client.tsx"],"sourcesContent":["'use client'\nimport type { FormProps } from '@payloadcms/ui'\nimport type {\n ClientCollectionConfig,\n ClientConfig,\n ClientGlobalConfig,\n Data,\n FieldMap,\n LivePreviewConfig,\n} from 'payload'\n\nimport {\n DocumentControls,\n DocumentFields,\n Form,\n OperationProvider,\n SetViewActions,\n useAuth,\n useComponentMap,\n useConfig,\n useDocumentEvents,\n useDocumentInfo,\n useTranslation,\n} from '@payloadcms/ui'\nimport { getFormState } from '@payloadcms/ui/shared'\nimport React, { Fragment, useCallback } from 'react'\n\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { SetDocumentStepNav } from '../Edit/Default/SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from '../Edit/Default/SetDocumentTitle/index.js'\nimport { useLivePreviewContext } from './Context/context.js'\nimport { LivePreviewProvider } from './Context/index.js'\nimport { LivePreview } from './Preview/index.js'\nimport './index.scss'\nimport { usePopupWindow } from './usePopupWindow.js'\n\nconst baseClass = 'live-preview'\n\ntype Props = {\n apiRoute: string\n collectionConfig?: ClientCollectionConfig\n config: ClientConfig\n fieldMap: FieldMap\n globalConfig?: ClientGlobalConfig\n schemaPath: string\n serverURL: string\n}\n\nconst PreviewView: React.FC<Props> = ({\n apiRoute,\n collectionConfig,\n config,\n fieldMap,\n globalConfig,\n schemaPath,\n serverURL,\n}) => {\n const {\n id,\n AfterDocument,\n AfterFields,\n BeforeDocument,\n BeforeFields,\n action,\n apiURL,\n collectionSlug,\n disableActions,\n disableLeaveWithoutSaving,\n docPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n initialData,\n initialState,\n isEditing,\n isInitializing,\n onSave: onSaveFromProps,\n } = useDocumentInfo()\n\n const operation = id ? 'update' : 'create'\n\n const {\n admin: { user: userSlug },\n } = useConfig()\n const { t } = useTranslation()\n const { previewWindowType } = useLivePreviewContext()\n const { refreshCookieAsync, user } = useAuth()\n const { reportUpdate } = useDocumentEvents()\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n id,\n entitySlug: collectionSlug,\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps({\n ...json,\n operation: id ? 'update' : 'create',\n })\n }\n },\n [collectionSlug, id, onSaveFromProps, refreshCookieAsync, reportUpdate, user, userSlug],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const docPreferences = await getDocPreferences()\n\n return getFormState({\n apiRoute,\n body: {\n id,\n docPreferences,\n formState: prevFormState,\n operation,\n schemaPath,\n },\n serverURL,\n })\n },\n [serverURL, apiRoute, id, operation, schemaPath, getDocPreferences],\n )\n\n return (\n <Fragment>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={!hasSavePermission}\n initialState={initialState}\n isInitializing={isInitializing}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {((collectionConfig &&\n !(collectionConfig.versions?.drafts && collectionConfig.versions?.drafts?.autosave)) ||\n (globalConfig &&\n !(globalConfig.versions?.drafts && globalConfig.versions?.drafts?.autosave))) &&\n !disableLeaveWithoutSaving && <LeaveWithoutSaving />}\n <SetDocumentStepNav\n collectionSlug={collectionSlug}\n globalLabel={globalConfig?.label}\n globalSlug={globalSlug}\n id={id}\n pluralLabel={collectionConfig ? collectionConfig?.labels?.plural : undefined}\n useAsTitle={collectionConfig ? collectionConfig?.admin?.useAsTitle : undefined}\n view={t('general:livePreview')}\n />\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={id?.toString() || ''}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n data={initialData}\n disableActions={disableActions}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n permissions={docPermissions}\n slug={collectionConfig?.slug || globalConfig?.slug}\n />\n <div\n className={[baseClass, previewWindowType === 'popup' && `${baseClass}--detached`]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[\n `${baseClass}__main`,\n previewWindowType === 'popup' && `${baseClass}__main--popup-open`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {BeforeDocument}\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={BeforeFields}\n docPermissions={docPermissions}\n fieldMap={fieldMap}\n forceSidebarWrap\n readOnly={!hasSavePermission}\n schemaPath={collectionSlug || globalSlug}\n />\n {AfterDocument}\n </div>\n <LivePreview collectionSlug={collectionSlug} globalSlug={globalSlug} />\n </div>\n </Form>\n </OperationProvider>\n </Fragment>\n )\n}\n\nexport const LivePreviewClient: React.FC<{\n breakpoints: LivePreviewConfig['breakpoints']\n initialData: Data\n url: string\n}> = (props) => {\n const { breakpoints, url } = props\n const { collectionSlug, globalSlug } = useDocumentInfo()\n\n const config = useConfig()\n\n const { isPopupOpen, openPopupWindow, popupRef } = usePopupWindow({\n eventType: 'payload-live-preview',\n url,\n })\n\n const {\n collections,\n globals,\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const collectionConfig =\n collectionSlug && collections.find((collection) => collection.slug === collectionSlug)\n\n const globalConfig = globalSlug && globals.find((global) => global.slug === globalSlug)\n\n const schemaPath = collectionSlug || globalSlug\n\n const { getComponentMap } = useComponentMap()\n\n const componentMap = getComponentMap({ collectionSlug, globalSlug })\n\n const { getFieldMap } = useComponentMap()\n\n const fieldMap = getFieldMap({\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n })\n\n return (\n <Fragment>\n <SetViewActions actions={componentMap?.actionsMap?.Edit?.LivePreview} />\n <LivePreviewProvider\n breakpoints={breakpoints}\n fieldSchema={collectionConfig?.fields || globalConfig?.fields}\n isPopupOpen={isPopupOpen}\n openPopupWindow={openPopupWindow}\n popupRef={popupRef}\n url={url}\n >\n <PreviewView\n apiRoute={apiRoute}\n collectionConfig={collectionConfig}\n config={config}\n fieldMap={fieldMap}\n globalConfig={globalConfig}\n schemaPath={schemaPath}\n serverURL={serverURL}\n />\n </LivePreviewProvider>\n </Fragment>\n )\n}\n"],"names":["DocumentControls","DocumentFields","Form","OperationProvider","SetViewActions","useAuth","useComponentMap","useConfig","useDocumentEvents","useDocumentInfo","useTranslation","getFormState","React","Fragment","useCallback","LeaveWithoutSaving","SetDocumentStepNav","SetDocumentTitle","useLivePreviewContext","LivePreviewProvider","LivePreview","usePopupWindow","baseClass","PreviewView","apiRoute","collectionConfig","config","fieldMap","globalConfig","schemaPath","serverURL","id","AfterDocument","AfterFields","BeforeDocument","BeforeFields","action","apiURL","collectionSlug","disableActions","disableLeaveWithoutSaving","docPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","initialData","initialState","isEditing","isInitializing","onSave","onSaveFromProps","operation","admin","user","userSlug","t","previewWindowType","refreshCookieAsync","reportUpdate","json","entitySlug","updatedAt","result","Date","toISOString","onChange","formState","prevFormState","docPreferences","body","className","disabled","method","onSuccess","versions","drafts","autosave","globalLabel","label","pluralLabel","labels","plural","undefined","useAsTitle","view","fallback","toString","data","permissions","slug","div","filter","Boolean","join","forceSidebarWrap","readOnly","LivePreviewClient","props","breakpoints","url","isPopupOpen","openPopupWindow","popupRef","eventType","collections","globals","routes","api","find","collection","global","getComponentMap","componentMap","getFieldMap","actions","actionsMap","Edit","fieldSchema","fields"],"mappings":"AAAA;;AAWA,SACEA,gBAAgB,EAChBC,cAAc,EACdC,IAAI,EACJC,iBAAiB,EACjBC,cAAc,EACdC,OAAO,EACPC,eAAe,EACfC,SAAS,EACTC,iBAAiB,EACjBC,eAAe,EACfC,cAAc,QACT,iBAAgB;AACvB,SAASC,YAAY,QAAQ,wBAAuB;AACpD,OAAOC,SAASC,QAAQ,EAAEC,WAAW,QAAQ,QAAO;AAEpD,SAASC,kBAAkB,QAAQ,6CAA4C;AAC/E,SAASC,kBAAkB,QAAQ,8CAA6C;AAChF,SAASC,gBAAgB,QAAQ,4CAA2C;AAC5E,SAASC,qBAAqB,QAAQ,uBAAsB;AAC5D,SAASC,mBAAmB,QAAQ,qBAAoB;AACxD,SAASC,WAAW,QAAQ,qBAAoB;AAEhD,SAASC,cAAc,QAAQ,sBAAqB;AAEpD,MAAMC,YAAY;AAYlB,MAAMC,cAA+B,CAAC,EACpCC,QAAQ,EACRC,gBAAgB,EAChBC,MAAM,EACNC,QAAQ,EACRC,YAAY,EACZC,UAAU,EACVC,SAAS,EACV;IACC,MAAM,EACJC,EAAE,EACFC,aAAa,EACbC,WAAW,EACXC,cAAc,EACdC,YAAY,EACZC,MAAM,EACNC,MAAM,EACNC,cAAc,EACdC,cAAc,EACdC,yBAAyB,EACzBC,cAAc,EACdC,iBAAiB,EACjBC,UAAU,EACVC,oBAAoB,EACpBC,iBAAiB,EACjBC,WAAW,EACXC,YAAY,EACZC,SAAS,EACTC,cAAc,EACdC,QAAQC,eAAe,EACxB,GAAG1C;IAEJ,MAAM2C,YAAYrB,KAAK,WAAW;IAElC,MAAM,EACJsB,OAAO,EAAEC,MAAMC,QAAQ,EAAE,EAC1B,GAAGhD;IACJ,MAAM,EAAEiD,CAAC,EAAE,GAAG9C;IACd,MAAM,EAAE+C,iBAAiB,EAAE,GAAGvC;IAC9B,MAAM,EAAEwC,kBAAkB,EAAEJ,IAAI,EAAE,GAAGjD;IACrC,MAAM,EAAEsD,YAAY,EAAE,GAAGnD;IAEzB,MAAM0C,SAASpC,YACb,CAAC8C;QACCD,aAAa;YACX5B;YACA8B,YAAYvB;YACZwB,WAAWF,MAAMG,QAAQD,aAAa,IAAIE,OAAOC,WAAW;QAC9D;QAEA,kDAAkD;QAClD,4CAA4C;QAC5C,IAAIX,QAAQhB,mBAAmBiB,YAAYxB,OAAOuB,KAAKvB,EAAE,EAAE;YACzD,KAAK2B;QACP;QAEA,IAAI,OAAOP,oBAAoB,YAAY;YACzC,KAAKA,gBAAgB;gBACnB,GAAGS,IAAI;gBACPR,WAAWrB,KAAK,WAAW;YAC7B;QACF;IACF,GACA;QAACO;QAAgBP;QAAIoB;QAAiBO;QAAoBC;QAAcL;QAAMC;KAAS;IAGzF,MAAMW,WAAqCpD,YACzC,OAAO,EAAEqD,WAAWC,aAAa,EAAE;QACjC,MAAMC,iBAAiB,MAAM3B;QAE7B,OAAO/B,aAAa;YAClBa;YACA8C,MAAM;gBACJvC;gBACAsC;gBACAF,WAAWC;gBACXhB;gBACAvB;YACF;YACAC;QACF;IACF,GACA;QAACA;QAAWN;QAAUO;QAAIqB;QAAWvB;QAAYa;KAAkB;IAGrE,qBACE,KAAC7B;kBACC,cAAA,KAACV;YAAkBiD,WAAWA;sBAC5B,cAAA,MAAClD;gBACCkC,QAAQA;gBACRmC,WAAW,CAAC,EAAEjD,UAAU,MAAM,CAAC;gBAC/BkD,UAAU,CAAC3B;gBACXE,cAAcA;gBACdE,gBAAgBA;gBAChBwB,QAAQ1C,KAAK,UAAU;gBACvBmC,UAAU;oBAACA;iBAAS;gBACpBQ,WAAWxB;;oBAET,CAAA,AAACzB,oBACD,CAAEA,CAAAA,iBAAiBkD,QAAQ,EAAEC,UAAUnD,iBAAiBkD,QAAQ,EAAEC,QAAQC,QAAO,KAChFjD,gBACC,CAAEA,CAAAA,aAAa+C,QAAQ,EAAEC,UAAUhD,aAAa+C,QAAQ,EAAEC,QAAQC,QAAO,CAAE,KAC7E,CAACrC,2CAA6B,KAACzB;kCACjC,KAACC;wBACCsB,gBAAgBA;wBAChBwC,aAAalD,cAAcmD;wBAC3BpC,YAAYA;wBACZZ,IAAIA;wBACJiD,aAAavD,mBAAmBA,kBAAkBwD,QAAQC,SAASC;wBACnEC,YAAY3D,mBAAmBA,kBAAkB4B,OAAO+B,aAAaD;wBACrEE,MAAM7B,EAAE;;kCAEV,KAACvC;wBACCQ,kBAAkBA;wBAClBC,QAAQA;wBACR4D,UAAUvD,IAAIwD,cAAc;wBAC5B3D,cAAcA;;kCAEhB,KAAC5B;wBACCqC,QAAQA;wBACRmD,MAAM1C;wBACNP,gBAAgBA;wBAChBK,sBAAsBA;wBACtBC,mBAAmBA;wBACnBd,IAAIA;wBACJiB,WAAWA;wBACXyC,aAAahD;wBACbiD,MAAMjE,kBAAkBiE,QAAQ9D,cAAc8D;;kCAEhD,MAACC;wBACCpB,WAAW;4BAACjD;4BAAWmC,sBAAsB,WAAW,CAAC,EAAEnC,UAAU,UAAU,CAAC;yBAAC,CAC9EsE,MAAM,CAACC,SACPC,IAAI,CAAC;;0CAER,MAACH;gCACCpB,WAAW;oCACT,CAAC,EAAEjD,UAAU,MAAM,CAAC;oCACpBmC,sBAAsB,WAAW,CAAC,EAAEnC,UAAU,kBAAkB,CAAC;iCAClE,CACEsE,MAAM,CAACC,SACPC,IAAI,CAAC;;oCAEP5D;kDACD,KAACjC;wCACCgC,aAAaA;wCACbE,cAAcA;wCACdM,gBAAgBA;wCAChBd,UAAUA;wCACVoE,gBAAgB;wCAChBC,UAAU,CAACnD;wCACXhB,YAAYS,kBAAkBK;;oCAE/BX;;;0CAEH,KAACZ;gCAAYkB,gBAAgBA;gCAAgBK,YAAYA;;;;;;;;AAMrE;AAEA,OAAO,MAAMsD,oBAIR,CAACC;IACJ,MAAM,EAAEC,WAAW,EAAEC,GAAG,EAAE,GAAGF;IAC7B,MAAM,EAAE5D,cAAc,EAAEK,UAAU,EAAE,GAAGlC;IAEvC,MAAMiB,SAASnB;IAEf,MAAM,EAAE8F,WAAW,EAAEC,eAAe,EAAEC,QAAQ,EAAE,GAAGlF,eAAe;QAChEmF,WAAW;QACXJ;IACF;IAEA,MAAM,EACJK,WAAW,EACXC,OAAO,EACPC,QAAQ,EAAEC,KAAKpF,QAAQ,EAAE,EACzBM,SAAS,EACV,GAAGJ;IAEJ,MAAMD,mBACJa,kBAAkBmE,YAAYI,IAAI,CAAC,CAACC,aAAeA,WAAWpB,IAAI,KAAKpD;IAEzE,MAAMV,eAAee,cAAc+D,QAAQG,IAAI,CAAC,CAACE,SAAWA,OAAOrB,IAAI,KAAK/C;IAE5E,MAAMd,aAAaS,kBAAkBK;IAErC,MAAM,EAAEqE,eAAe,EAAE,GAAG1G;IAE5B,MAAM2G,eAAeD,gBAAgB;QAAE1E;QAAgBK;IAAW;IAElE,MAAM,EAAEuE,WAAW,EAAE,GAAG5G;IAExB,MAAMqB,WAAWuF,YAAY;QAC3B5E,gBAAgBb,kBAAkBiE;QAClC/C,YAAYf,cAAc8D;IAC5B;IAEA,qBACE,MAAC7E;;0BACC,KAACT;gBAAe+G,SAASF,cAAcG,YAAYC,MAAMjG;;0BACzD,KAACD;gBACCgF,aAAaA;gBACbmB,aAAa7F,kBAAkB8F,UAAU3F,cAAc2F;gBACvDlB,aAAaA;gBACbC,iBAAiBA;gBACjBC,UAAUA;gBACVH,KAAKA;0BAEL,cAAA,KAAC7E;oBACCC,UAAUA;oBACVC,kBAAkBA;oBAClBC,QAAQA;oBACRC,UAAUA;oBACVC,cAAcA;oBACdC,YAAYA;oBACZC,WAAWA;;;;;AAKrB,EAAC"}
@@ -1,4 +1,4 @@
1
- import type { EditViewComponent } from 'payload/types';
1
+ import type { EditViewComponent } from 'payload';
2
2
  import './index.scss';
3
3
  export declare const LivePreviewView: EditViewComponent;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/LivePreview/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAc,MAAM,eAAe,CAAA;AAMlE,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,eAAe,EAAE,iBAgF7B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/LivePreview/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAiC,MAAM,SAAS,CAAA;AAM/E,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,eAAe,EAAE,iBAgF7B,CAAA"}