@payloadcms/next 3.0.0-beta.95 → 3.0.0-beta.97

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 (224) hide show
  1. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  2. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +4 -4
  3. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  4. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  5. package/dist/elements/DocumentHeader/Tabs/index.js +10 -4
  6. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  7. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
  8. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  9. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts +1 -1
  10. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  11. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +2 -2
  12. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  13. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  14. package/dist/elements/DocumentHeader/index.js.map +1 -1
  15. package/dist/elements/EmailAndUsername/index.d.ts +1 -1
  16. package/dist/elements/EmailAndUsername/index.d.ts.map +1 -1
  17. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  18. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  19. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  20. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  21. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +3 -1
  22. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  23. package/dist/elements/Logo/index.js +1 -1
  24. package/dist/elements/Logo/index.js.map +1 -1
  25. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  26. package/dist/elements/Nav/index.client.js +1 -1
  27. package/dist/elements/Nav/index.client.js.map +1 -1
  28. package/dist/elements/Nav/index.d.ts.map +1 -1
  29. package/dist/elements/Nav/index.js +1 -1
  30. package/dist/elements/Nav/index.js.map +1 -1
  31. package/dist/exports/layouts.d.ts +1 -1
  32. package/dist/exports/layouts.d.ts.map +1 -1
  33. package/dist/exports/layouts.js +1 -1
  34. package/dist/exports/layouts.js.map +1 -1
  35. package/dist/exports/views.d.ts +1 -1
  36. package/dist/exports/views.d.ts.map +1 -1
  37. package/dist/exports/views.js +1 -1
  38. package/dist/exports/views.js.map +1 -1
  39. package/dist/fetchAPI-multipart/fileFactory.d.ts +2 -1
  40. package/dist/fetchAPI-multipart/fileFactory.d.ts.map +1 -1
  41. package/dist/fetchAPI-multipart/fileFactory.js.map +1 -1
  42. package/dist/fetchAPI-multipart/handlers.d.ts +1 -1
  43. package/dist/fetchAPI-multipart/handlers.d.ts.map +1 -1
  44. package/dist/fetchAPI-multipart/handlers.js +3 -1
  45. package/dist/fetchAPI-multipart/handlers.js.map +1 -1
  46. package/dist/fetchAPI-multipart/index.d.ts +1 -101
  47. package/dist/fetchAPI-multipart/index.d.ts.map +1 -1
  48. package/dist/fetchAPI-multipart/index.js.map +1 -1
  49. package/dist/fetchAPI-multipart/processMultipart.d.ts +2 -1
  50. package/dist/fetchAPI-multipart/processMultipart.d.ts.map +1 -1
  51. package/dist/fetchAPI-multipart/processMultipart.js +1 -0
  52. package/dist/fetchAPI-multipart/processMultipart.js.map +1 -1
  53. package/dist/fetchAPI-multipart/processNested.d.ts.map +1 -1
  54. package/dist/fetchAPI-multipart/processNested.js +8 -4
  55. package/dist/fetchAPI-multipart/processNested.js.map +1 -1
  56. package/dist/fetchAPI-multipart/uploadTimer.d.ts.map +1 -1
  57. package/dist/fetchAPI-multipart/uploadTimer.js +3 -1
  58. package/dist/fetchAPI-multipart/uploadTimer.js.map +1 -1
  59. package/dist/fetchAPI-multipart/utilities.d.ts +1 -1
  60. package/dist/fetchAPI-multipart/utilities.d.ts.map +1 -1
  61. package/dist/fetchAPI-multipart/utilities.js +32 -12
  62. package/dist/fetchAPI-multipart/utilities.js.map +1 -1
  63. package/dist/layouts/Root/index.js +2 -2
  64. package/dist/layouts/Root/index.js.map +1 -1
  65. package/dist/prod/styles.css +1 -1
  66. package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
  67. package/dist/routes/rest/collections/updateByID.js +6 -2
  68. package/dist/routes/rest/collections/updateByID.js.map +1 -1
  69. package/dist/routes/rest/files/checkFileAccess.d.ts.map +1 -1
  70. package/dist/routes/rest/files/checkFileAccess.js +4 -2
  71. package/dist/routes/rest/files/checkFileAccess.js.map +1 -1
  72. package/dist/routes/rest/files/getFile.d.ts.map +1 -1
  73. package/dist/routes/rest/files/getFile.js +6 -2
  74. package/dist/routes/rest/files/getFile.js.map +1 -1
  75. package/dist/routes/rest/globals/update.d.ts.map +1 -1
  76. package/dist/routes/rest/globals/update.js +6 -2
  77. package/dist/routes/rest/globals/update.js.map +1 -1
  78. package/dist/routes/rest/index.d.ts.map +1 -1
  79. package/dist/routes/rest/index.js +42 -14
  80. package/dist/routes/rest/index.js.map +1 -1
  81. package/dist/routes/rest/og/image.d.ts +1 -1
  82. package/dist/routes/rest/og/image.d.ts.map +1 -1
  83. package/dist/routes/rest/og/image.js +7 -7
  84. package/dist/routes/rest/og/image.js.map +1 -1
  85. package/dist/routes/rest/og/index.js +2 -2
  86. package/dist/routes/rest/og/index.js.map +1 -1
  87. package/dist/routes/rest/utilities/sanitizeCollectionID.d.ts.map +1 -1
  88. package/dist/routes/rest/utilities/sanitizeCollectionID.js +6 -2
  89. package/dist/routes/rest/utilities/sanitizeCollectionID.js.map +1 -1
  90. package/dist/templates/Default/Wrapper/index.scss +0 -1
  91. package/dist/templates/Default/index.d.ts.map +1 -1
  92. package/dist/templates/Default/index.js +1 -1
  93. package/dist/templates/Default/index.js.map +1 -1
  94. package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -1
  95. package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
  96. package/dist/utilities/addLocalesToRequest.d.ts.map +1 -1
  97. package/dist/utilities/addLocalesToRequest.js +6 -2
  98. package/dist/utilities/addLocalesToRequest.js.map +1 -1
  99. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  100. package/dist/utilities/createPayloadRequest.js +9 -3
  101. package/dist/utilities/createPayloadRequest.js.map +1 -1
  102. package/dist/utilities/getPayloadHMR.js.map +1 -1
  103. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  104. package/dist/utilities/getRequestTheme.js.map +1 -1
  105. package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +1 -1
  106. package/dist/utilities/initPage/handleAuthRedirect.js +3 -1
  107. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
  108. package/dist/utilities/initPage/index.d.ts.map +1 -1
  109. package/dist/utilities/initPage/index.js +3 -1
  110. package/dist/utilities/initPage/index.js.map +1 -1
  111. package/dist/utilities/timestamp.d.ts.map +1 -1
  112. package/dist/utilities/timestamp.js +3 -1
  113. package/dist/utilities/timestamp.js.map +1 -1
  114. package/dist/views/API/RenderJSON/index.d.ts +1 -1
  115. package/dist/views/API/RenderJSON/index.d.ts.map +1 -1
  116. package/dist/views/API/RenderJSON/index.js.map +1 -1
  117. package/dist/views/API/index.client.d.ts.map +1 -1
  118. package/dist/views/API/index.client.js.map +1 -1
  119. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  120. package/dist/views/Account/Settings/index.js.map +1 -1
  121. package/dist/views/Account/index.d.ts.map +1 -1
  122. package/dist/views/Account/index.js +1 -1
  123. package/dist/views/Account/index.js.map +1 -1
  124. package/dist/views/CreateFirstUser/index.client.d.ts +1 -1
  125. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  126. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  127. package/dist/views/Dashboard/Default/index.js +4 -4
  128. package/dist/views/Dashboard/Default/index.js.map +1 -1
  129. package/dist/views/Dashboard/index.js +2 -2
  130. package/dist/views/Dashboard/index.js.map +1 -1
  131. package/dist/views/Document/getMetaBySegment.d.ts +2 -2
  132. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  133. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  134. package/dist/views/Document/index.js +1 -1
  135. package/dist/views/Document/index.js.map +1 -1
  136. package/dist/views/Edit/Default/Auth/APIKey.js +3 -3
  137. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
  138. package/dist/views/Edit/Default/Auth/types.d.ts +1 -1
  139. package/dist/views/Edit/Default/Auth/types.d.ts.map +1 -1
  140. package/dist/views/Edit/Default/Auth/types.js.map +1 -1
  141. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +1 -1
  142. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +1 -1
  143. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  144. package/dist/views/Edit/Default/index.js +9 -5
  145. package/dist/views/Edit/Default/index.js.map +1 -1
  146. package/dist/views/ForgotPassword/index.js +1 -1
  147. package/dist/views/ForgotPassword/index.js.map +1 -1
  148. package/dist/views/List/Default/index.d.ts.map +1 -1
  149. package/dist/views/List/Default/index.js +105 -95
  150. package/dist/views/List/Default/index.js.map +1 -1
  151. package/dist/views/List/index.js +3 -3
  152. package/dist/views/List/index.js.map +1 -1
  153. package/dist/views/LivePreview/Context/context.d.ts +1 -1
  154. package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
  155. package/dist/views/LivePreview/Context/context.js.map +1 -1
  156. package/dist/views/LivePreview/Context/index.d.ts.map +1 -1
  157. package/dist/views/LivePreview/Context/index.js +3 -1
  158. package/dist/views/LivePreview/Context/index.js.map +1 -1
  159. package/dist/views/LivePreview/Device/index.d.ts.map +1 -1
  160. package/dist/views/LivePreview/Device/index.js +5 -1
  161. package/dist/views/LivePreview/Device/index.js.map +1 -1
  162. package/dist/views/LivePreview/Toolbar/Controls/index.js +1 -1
  163. package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
  164. package/dist/views/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  165. package/dist/views/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  166. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  167. package/dist/views/LivePreview/index.client.js +2 -2
  168. package/dist/views/LivePreview/index.client.js.map +1 -1
  169. package/dist/views/LivePreview/usePopupWindow.d.ts +1 -1
  170. package/dist/views/LivePreview/usePopupWindow.d.ts.map +1 -1
  171. package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
  172. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  173. package/dist/views/Login/LoginForm/index.js.map +1 -1
  174. package/dist/views/Login/index.d.ts.map +1 -1
  175. package/dist/views/Login/index.js +1 -1
  176. package/dist/views/Login/index.js.map +1 -1
  177. package/dist/views/Logout/LogoutClient.js +1 -1
  178. package/dist/views/Logout/LogoutClient.js.map +1 -1
  179. package/dist/views/Logout/index.d.ts.map +1 -1
  180. package/dist/views/Logout/index.js.map +1 -1
  181. package/dist/views/NotFound/index.client.js +1 -1
  182. package/dist/views/NotFound/index.client.js.map +1 -1
  183. package/dist/views/ResetPassword/index.js +1 -1
  184. package/dist/views/ResetPassword/index.js.map +1 -1
  185. package/dist/views/Root/getViewFromConfig.js +2 -2
  186. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  187. package/dist/views/Root/index.js +1 -1
  188. package/dist/views/Root/index.js.map +1 -1
  189. package/dist/views/Root/isPathMatchingRoute.d.ts.map +1 -1
  190. package/dist/views/Root/isPathMatchingRoute.js +6 -2
  191. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  192. package/dist/views/Unauthorized/index.js +1 -1
  193. package/dist/views/Unauthorized/index.js.map +1 -1
  194. package/dist/views/Verify/index.d.ts.map +1 -1
  195. package/dist/views/Verify/index.js +6 -4
  196. package/dist/views/Verify/index.js.map +1 -1
  197. package/dist/views/Version/Default/index.d.ts.map +1 -1
  198. package/dist/views/Version/Default/index.js.map +1 -1
  199. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  200. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +4 -2
  201. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  202. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +1 -1
  203. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
  204. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  205. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +3 -1
  206. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  207. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  208. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +9 -3
  209. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  210. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  211. package/dist/views/Version/RenderFieldsToDiff/index.js +7 -3
  212. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  213. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  214. package/dist/views/Version/SelectComparison/index.js +4 -2
  215. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  216. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
  217. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  218. package/dist/views/Versions/buildColumns.js +8 -8
  219. package/dist/views/Versions/buildColumns.js.map +1 -1
  220. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  221. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  222. package/dist/views/Versions/index.client.d.ts.map +1 -1
  223. package/dist/views/Versions/index.client.js.map +1 -1
  224. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","Button","DeleteMany","EditMany","Gutter","ListControls","ListHeader","ListSelection","Pagination","PerPage","PublishMany","RelationshipProvider","RenderComponent","SelectionProvider","SetViewActions","StaggeredShimmers","Table","UnpublishMany","ViewDescription","useBulkUpload","useConfig","useEditDepth","useListInfo","useListQuery","useModal","useRouteCache","useSearchParams","useStepNav","useTranslation","useWindowInfo","LinkImport","formatFilesize","isNumber","React","Fragment","useEffect","baseClass","Link","default","DefaultListView","$","Header","beforeActions","collectionSlug","disableBulkDelete","disableBulkEdit","hasCreatePermission","newDocumentURL","data","defaultLimit","handlePageChange","handlePerPageChange","searchParams","openModal","clearRouteCache","setCollectionSlug","setOnSuccess","drawerSlug","getEntityConfig","t0","collectionConfig","admin","t1","fields","labels","components","t2","description","Description","afterList","afterListTable","beforeList","beforeListTable","views","t3","list","t4","actions","i18n","drawerDepth","setStepNav","breakpoints","t5","s","smallBreak","t6","docs","isUploadCollection","Boolean","upload","t7","map","_temp","openBulkUpload","t8","t9","label","plural","isBulkUploadEnabled","bulkUpload","t10","t11","t12","_jsxs","heading","children","_jsx","undefined","t","singular","buttonStyle","el","onClick","size","to","className","t13","length","customCellContext","uploadConfig","t14","t15","hasNextPage","hasPrevPage","limit","nextPage","numberOfNeighbors","onChange","page","prevPage","totalPages","totalDocs","handleChange","Number","limits","pagination","resetPage","pagingCounter","collection","mappedComponent","join","count","doc","filesize"],"sources":["../../../../src/views/List/Default/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n Button,\n DeleteMany,\n EditMany,\n Gutter,\n ListControls,\n ListHeader,\n ListSelection,\n Pagination,\n PerPage,\n PublishMany,\n RelationshipProvider,\n RenderComponent,\n SelectionProvider,\n SetViewActions,\n StaggeredShimmers,\n Table,\n UnpublishMany,\n ViewDescription,\n useBulkUpload,\n useConfig,\n useEditDepth,\n useListInfo,\n useListQuery,\n useModal,\n useRouteCache,\n useSearchParams,\n useStepNav,\n useTranslation,\n useWindowInfo,\n} from '@payloadcms/ui'\nimport LinkImport from 'next/link.js'\nimport { formatFilesize, isNumber } from 'payload/shared'\nimport React, { Fragment, useEffect } from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'collection-list'\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport const DefaultListView: React.FC = () => {\n const {\n Header,\n beforeActions,\n collectionSlug,\n disableBulkDelete,\n disableBulkEdit,\n hasCreatePermission,\n newDocumentURL,\n } = useListInfo()\n\n const { data, defaultLimit, handlePageChange, handlePerPageChange } = useListQuery()\n const { searchParams } = useSearchParams()\n const { openModal } = useModal()\n const { clearRouteCache } = useRouteCache()\n const { setCollectionSlug, setOnSuccess } = useBulkUpload()\n const { drawerSlug } = useBulkUpload()\n\n const { getEntityConfig } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n\n const {\n admin: {\n components: {\n Description,\n afterList,\n afterListTable,\n beforeList,\n beforeListTable,\n views: {\n list: { actions },\n },\n },\n description,\n },\n fields,\n labels,\n } = collectionConfig\n\n const { i18n, t } = useTranslation()\n\n const drawerDepth = useEditDepth()\n\n const { setStepNav } = useStepNav()\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n let docs = data.docs || []\n\n const isUploadCollection = Boolean(collectionConfig.upload)\n\n if (isUploadCollection) {\n docs = docs?.map((doc) => {\n return {\n ...doc,\n filesize: formatFilesize(doc.filesize),\n }\n })\n }\n\n const openBulkUpload = React.useCallback(() => {\n setCollectionSlug(collectionSlug)\n openModal(drawerSlug)\n setOnSuccess(clearRouteCache)\n }, [clearRouteCache, collectionSlug, drawerSlug, openModal, setCollectionSlug, setOnSuccess])\n\n useEffect(() => {\n if (drawerDepth <= 1) {\n setStepNav([\n {\n label: labels?.plural,\n },\n ])\n }\n }, [setStepNav, labels, drawerDepth])\n\n const isBulkUploadEnabled = isUploadCollection && collectionConfig.upload.bulkUpload\n\n return (\n <div className={`${baseClass} ${baseClass}--${collectionSlug}`}>\n <SetViewActions actions={actions} />\n <RenderComponent mappedComponent={beforeList} />\n <SelectionProvider docs={data.docs} totalDocs={data.totalDocs}>\n <Gutter className={`${baseClass}__wrap`}>\n {Header || (\n <ListHeader heading={getTranslation(labels?.plural, i18n)}>\n {hasCreatePermission && (\n <Button\n Link={!isBulkUploadEnabled ? Link : undefined}\n aria-label={i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n buttonStyle=\"pill\"\n el={!isBulkUploadEnabled ? 'link' : 'button'}\n onClick={isBulkUploadEnabled ? openBulkUpload : undefined}\n size=\"small\"\n to={!isBulkUploadEnabled ? newDocumentURL : undefined}\n >\n {i18n.t('general:createNew')}\n </Button>\n )}\n {!smallBreak && (\n <ListSelection label={getTranslation(collectionConfig.labels.plural, i18n)} />\n )}\n {(description || Description) && (\n <div className={`${baseClass}__sub-header`}>\n <ViewDescription Description={Description} description={description} />\n </div>\n )}\n </ListHeader>\n )}\n <ListControls collectionConfig={collectionConfig} fields={fields} />\n <RenderComponent mappedComponent={beforeListTable} />\n {!data.docs && (\n <StaggeredShimmers\n className={[`${baseClass}__shimmer`, `${baseClass}__shimmer--rows`].join(' ')}\n count={6}\n />\n )}\n {data.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <Table\n customCellContext={{\n collectionSlug,\n uploadConfig: collectionConfig.upload,\n }}\n data={docs}\n fields={fields}\n />\n </RelationshipProvider>\n )}\n {data.docs && data.docs.length === 0 && (\n <div className={`${baseClass}__no-results`}>\n <p>{i18n.t('general:noResults', { label: getTranslation(labels?.plural, i18n) })}</p>\n {hasCreatePermission && newDocumentURL && (\n <Button Link={Link} el=\"link\" to={newDocumentURL}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n )}\n </div>\n )}\n <RenderComponent mappedComponent={afterListTable} />\n {data.docs && data.docs.length > 0 && (\n <div className={`${baseClass}__page-controls`}>\n <Pagination\n hasNextPage={data.hasNextPage}\n hasPrevPage={data.hasPrevPage}\n limit={data.limit}\n nextPage={data.nextPage}\n numberOfNeighbors={1}\n onChange={(page) => void handlePageChange(page)}\n page={data.page}\n prevPage={data.prevPage}\n totalPages={data.totalPages}\n />\n {data?.totalDocs > 0 && (\n <Fragment>\n <div className={`${baseClass}__page-info`}>\n {data.page * data.limit - (data.limit - 1)}-\n {data.totalPages > 1 && data.totalPages !== data.page\n ? data.limit * data.page\n : data.totalDocs}{' '}\n {i18n.t('general:of')} {data.totalDocs}\n </div>\n <PerPage\n handleChange={(limit) => void handlePerPageChange(limit)}\n limit={\n isNumber(searchParams?.limit) ? Number(searchParams.limit) : defaultLimit\n }\n limits={collectionConfig?.admin?.pagination?.limits}\n resetPage={data.totalDocs <= data.pagingCounter}\n />\n {smallBreak && (\n <div className={`${baseClass}__list-selection`}>\n <ListSelection label={getTranslation(collectionConfig.labels.plural, i18n)} />\n <div className={`${baseClass}__list-selection-actions`}>\n {beforeActions && beforeActions}\n {!disableBulkEdit && (\n <Fragment>\n <EditMany collection={collectionConfig} fields={fields} />\n <PublishMany collection={collectionConfig} />\n <UnpublishMany collection={collectionConfig} />\n </Fragment>\n )}\n {!disableBulkDelete && <DeleteMany collection={collectionConfig} />}\n </div>\n </div>\n )}\n </Fragment>\n )}\n </div>\n )}\n </Gutter>\n </SelectionProvider>\n <RenderComponent mappedComponent={afterList} />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","Button","DeleteMany","EditMany","Gutter","ListControls","ListHeader","ListSelection","Pagination","PerPage","PublishMany","RelationshipProvider","RenderComponent","SelectionProvider","SetViewActions","StaggeredShimmers","Table","UnpublishMany","useBulkUpload","useConfig","useEditDepth","useListInfo","useListQuery","useModal","useRouteCache","useSearchParams","useStepNav","useTranslation","useWindowInfo","ViewDescription","LinkImport","formatFilesize","isNumber","React","Fragment","useEffect","baseClass","Link","default","DefaultListView","$","beforeActions","collectionSlug","disableBulkDelete","disableBulkEdit","hasCreatePermission","Header","newDocumentURL","data","defaultLimit","handlePageChange","handlePerPageChange","searchParams","openModal","clearRouteCache","setCollectionSlug","setOnSuccess","drawerSlug","getEntityConfig","t0","collectionConfig","admin","t1","fields","labels","components","t2","description","afterList","afterListTable","beforeList","beforeListTable","Description","views","t3","list","t4","actions","i18n","t","drawerDepth","setStepNav","breakpoints","t5","s","smallBreak","t6","docs","isUploadCollection","Boolean","upload","t7","map","_temp","openBulkUpload","t8","t9","label","plural","isBulkUploadEnabled","bulkUpload","t10","t11","t12","_jsxs","heading","children","_Fragment","_jsx","singular","buttonStyle","el","size","to","onClick","className","t13","length","customCellContext","uploadConfig","t14","t15","hasNextPage","hasPrevPage","limit","nextPage","numberOfNeighbors","onChange","page","prevPage","totalPages","totalDocs","handleChange","Number","limits","pagination","resetPage","pagingCounter","collection","mappedComponent","join","count","doc","filesize"],"sources":["../../../../src/views/List/Default/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n Button,\n DeleteMany,\n EditMany,\n Gutter,\n ListControls,\n ListHeader,\n ListSelection,\n Pagination,\n PerPage,\n PublishMany,\n RelationshipProvider,\n RenderComponent,\n SelectionProvider,\n SetViewActions,\n StaggeredShimmers,\n Table,\n UnpublishMany,\n useBulkUpload,\n useConfig,\n useEditDepth,\n useListInfo,\n useListQuery,\n useModal,\n useRouteCache,\n useSearchParams,\n useStepNav,\n useTranslation,\n useWindowInfo,\n ViewDescription,\n} from '@payloadcms/ui'\nimport LinkImport from 'next/link.js'\nimport { formatFilesize, isNumber } from 'payload/shared'\nimport React, { Fragment, useEffect } from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'collection-list'\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport const DefaultListView: React.FC = () => {\n const {\n beforeActions,\n collectionSlug,\n disableBulkDelete,\n disableBulkEdit,\n hasCreatePermission,\n Header,\n newDocumentURL,\n } = useListInfo()\n\n const { data, defaultLimit, handlePageChange, handlePerPageChange } = useListQuery()\n const { searchParams } = useSearchParams()\n const { openModal } = useModal()\n const { clearRouteCache } = useRouteCache()\n const { setCollectionSlug, setOnSuccess } = useBulkUpload()\n const { drawerSlug } = useBulkUpload()\n\n const { getEntityConfig } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n\n const {\n admin: {\n components: {\n afterList,\n afterListTable,\n beforeList,\n beforeListTable,\n Description,\n views: {\n list: { actions },\n },\n },\n description,\n },\n fields,\n labels,\n } = collectionConfig\n\n const { i18n, t } = useTranslation()\n\n const drawerDepth = useEditDepth()\n\n const { setStepNav } = useStepNav()\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n let docs = data.docs || []\n\n const isUploadCollection = Boolean(collectionConfig.upload)\n\n if (isUploadCollection) {\n docs = docs?.map((doc) => {\n return {\n ...doc,\n filesize: formatFilesize(doc.filesize),\n }\n })\n }\n\n const openBulkUpload = React.useCallback(() => {\n setCollectionSlug(collectionSlug)\n openModal(drawerSlug)\n setOnSuccess(clearRouteCache)\n }, [clearRouteCache, collectionSlug, drawerSlug, openModal, setCollectionSlug, setOnSuccess])\n\n useEffect(() => {\n if (drawerDepth <= 1) {\n setStepNav([\n {\n label: labels?.plural,\n },\n ])\n }\n }, [setStepNav, labels, drawerDepth])\n\n const isBulkUploadEnabled = isUploadCollection && collectionConfig.upload.bulkUpload\n\n return (\n <div className={`${baseClass} ${baseClass}--${collectionSlug}`}>\n <SetViewActions actions={actions} />\n <SelectionProvider docs={data.docs} totalDocs={data.totalDocs}>\n <RenderComponent mappedComponent={beforeList} />\n <Gutter className={`${baseClass}__wrap`}>\n {Header || (\n <ListHeader heading={getTranslation(labels?.plural, i18n)}>\n {hasCreatePermission && (\n <>\n <Button\n aria-label={i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n buttonStyle=\"pill\"\n el={'link'}\n Link={Link}\n size=\"small\"\n to={newDocumentURL}\n >\n {i18n.t('general:createNew')}\n </Button>\n\n {isBulkUploadEnabled && (\n <Button\n aria-label={t('upload:bulkUpload')}\n buttonStyle=\"pill\"\n onClick={openBulkUpload}\n size=\"small\"\n >\n {t('upload:bulkUpload')}\n </Button>\n )}\n </>\n )}\n {!smallBreak && (\n <ListSelection label={getTranslation(collectionConfig.labels.plural, i18n)} />\n )}\n {(description || Description) && (\n <div className={`${baseClass}__sub-header`}>\n <ViewDescription Description={Description} description={description} />\n </div>\n )}\n </ListHeader>\n )}\n <ListControls collectionConfig={collectionConfig} fields={fields} />\n <RenderComponent mappedComponent={beforeListTable} />\n {!data.docs && (\n <StaggeredShimmers\n className={[`${baseClass}__shimmer`, `${baseClass}__shimmer--rows`].join(' ')}\n count={6}\n />\n )}\n {data.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <Table\n customCellContext={{\n collectionSlug,\n uploadConfig: collectionConfig.upload,\n }}\n data={docs}\n fields={fields}\n />\n </RelationshipProvider>\n )}\n {data.docs && data.docs.length === 0 && (\n <div className={`${baseClass}__no-results`}>\n <p>{i18n.t('general:noResults', { label: getTranslation(labels?.plural, i18n) })}</p>\n {hasCreatePermission && newDocumentURL && (\n <Button el=\"link\" Link={Link} to={newDocumentURL}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n )}\n </div>\n )}\n <RenderComponent mappedComponent={afterListTable} />\n {data.docs && data.docs.length > 0 && (\n <div className={`${baseClass}__page-controls`}>\n <Pagination\n hasNextPage={data.hasNextPage}\n hasPrevPage={data.hasPrevPage}\n limit={data.limit}\n nextPage={data.nextPage}\n numberOfNeighbors={1}\n onChange={(page) => void handlePageChange(page)}\n page={data.page}\n prevPage={data.prevPage}\n totalPages={data.totalPages}\n />\n {data?.totalDocs > 0 && (\n <Fragment>\n <div className={`${baseClass}__page-info`}>\n {data.page * data.limit - (data.limit - 1)}-\n {data.totalPages > 1 && data.totalPages !== data.page\n ? data.limit * data.page\n : data.totalDocs}{' '}\n {i18n.t('general:of')} {data.totalDocs}\n </div>\n <PerPage\n handleChange={(limit) => void handlePerPageChange(limit)}\n limit={\n isNumber(searchParams?.limit) ? Number(searchParams.limit) : defaultLimit\n }\n limits={collectionConfig?.admin?.pagination?.limits}\n resetPage={data.totalDocs <= data.pagingCounter}\n />\n {smallBreak && (\n <div className={`${baseClass}__list-selection`}>\n <ListSelection label={getTranslation(collectionConfig.labels.plural, i18n)} />\n <div className={`${baseClass}__list-selection-actions`}>\n {beforeActions && beforeActions}\n {!disableBulkEdit && (\n <Fragment>\n <EditMany collection={collectionConfig} fields={fields} />\n <PublishMany collection={collectionConfig} />\n <UnpublishMany collection={collectionConfig} />\n </Fragment>\n )}\n {!disableBulkDelete && <DeleteMany collection={collectionConfig} />}\n </div>\n </div>\n )}\n </Fragment>\n )}\n </div>\n )}\n </Gutter>\n <RenderComponent mappedComponent={afterList} />\n </SelectionProvider>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { HydrateAuthProvider, ListInfoProvider, ListQueryProvider, TableColumnsProvider } from '@payloadcms/ui';
3
- import { RenderComponent, formatAdminURL, getCreateMappedComponent } from '@payloadcms/ui/shared';
3
+ import { formatAdminURL, getCreateMappedComponent, RenderComponent } from '@payloadcms/ui/shared';
4
4
  import { createClientCollectionConfig } from '@payloadcms/ui/utilities/createClientConfig';
5
5
  import { notFound } from 'next/navigation.js';
6
6
  import { deepCopyObjectSimple, mergeListSearchAndWhere } from 'payload';
@@ -120,11 +120,11 @@ export const ListView = async ({
120
120
  const ListComponent = createMappedComponent(collectionConfig?.admin?.components?.views?.list?.Component, undefined, DefaultListView, 'collectionConfig?.admin?.components?.views?.list?.Component');
121
121
  let clientCollectionConfig = deepCopyObjectSimple(collectionConfig);
122
122
  clientCollectionConfig = createClientCollectionConfig({
123
- DefaultEditView,
124
- DefaultListView,
125
123
  clientCollection: clientCollectionConfig,
126
124
  collection: collectionConfig,
127
125
  createMappedComponent,
126
+ DefaultEditView,
127
+ DefaultListView,
128
128
  i18n,
129
129
  importMap: payload.importMap,
130
130
  payload
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["HydrateAuthProvider","ListInfoProvider","ListQueryProvider","TableColumnsProvider","RenderComponent","formatAdminURL","getCreateMappedComponent","createClientCollectionConfig","notFound","deepCopyObjectSimple","mergeListSearchAndWhere","isNumber","React","Fragment","DefaultEditView","DefaultListView","generateListMetadata","ListView","initPageResult","params","searchParams","collectionConfig","locale","fullLocale","permissions","req","i18n","payload","config","query","user","visibleEntities","collectionSlug","slug","collections","read","permission","listPreferences","preferenceKey","find","collection","depth","limit","where","and","key","equals","id","then","res","docs","value","error","routes","admin","adminRoute","includes","page","Number","whereQuery","search","undefined","pagination","defaultLimit","sort","defaultSort","data","draft","fallbackLocale","overrideAccess","createMappedComponent","importMap","serverProps","hasCreatePermission","create","listSearchableFields","newDocumentURL","path","ListComponent","components","views","list","Component","clientCollectionConfig","clientCollection","_jsxs","_jsx","modifySearchParams","enableRowSelections","clientProps","mappedComponent"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type { AdminViewProps, ClientCollectionConfig, Where } from 'payload'\n\nimport {\n HydrateAuthProvider,\n ListInfoProvider,\n ListQueryProvider,\n TableColumnsProvider,\n} from '@payloadcms/ui'\nimport { RenderComponent, formatAdminURL, getCreateMappedComponent } from '@payloadcms/ui/shared'\nimport { createClientCollectionConfig } from '@payloadcms/ui/utilities/createClientConfig'\nimport { notFound } from 'next/navigation.js'\nimport { deepCopyObjectSimple, mergeListSearchAndWhere } from 'payload'\nimport { isNumber } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport type { ListPreferences } from './Default/types.js'\n\nimport { DefaultEditView } from '../Edit/Default/index.js'\nimport { DefaultListView } from './Default/index.js'\n\nexport { generateListMetadata } from './meta.js'\n\nexport const ListView: React.FC<AdminViewProps> = async ({\n initPageResult,\n params,\n searchParams,\n}) => {\n const {\n collectionConfig,\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n locale,\n payload,\n payload: { config },\n query,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const collectionSlug = collectionConfig?.slug\n\n if (!permissions?.collections?.[collectionSlug]?.read?.permission) {\n notFound()\n }\n\n let listPreferences: ListPreferences\n const preferenceKey = `${collectionSlug}-list`\n\n try {\n listPreferences = (await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n req,\n user,\n where: {\n and: [\n {\n key: {\n equals: preferenceKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user?.id,\n },\n },\n ],\n },\n })\n ?.then((res) => res?.docs?.[0]?.value)) as ListPreferences\n } catch (error) {} // eslint-disable-line no-empty\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n if (collectionConfig) {\n if (!visibleEntities.collections.includes(collectionSlug)) {\n return notFound()\n }\n\n const page = isNumber(query?.page) ? Number(query.page) : 0\n const whereQuery = mergeListSearchAndWhere({\n collectionConfig,\n query: {\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: (query?.where as Where) || undefined,\n },\n })\n const limit = isNumber(query?.limit)\n ? Number(query.limit)\n : listPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n const sort =\n query?.sort && typeof query.sort === 'string'\n ? query.sort\n : listPreferences?.sort || collectionConfig.defaultSort || undefined\n\n const data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n limit,\n locale,\n overrideAccess: false,\n page,\n req,\n sort,\n user,\n where: whereQuery || {},\n })\n\n const createMappedComponent = getCreateMappedComponent({\n importMap: payload.importMap,\n serverProps: {\n collectionConfig,\n collectionSlug,\n data,\n hasCreatePermission: permissions?.collections?.[collectionSlug]?.create?.permission,\n i18n,\n limit,\n listPreferences,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n locale: fullLocale,\n newDocumentURL: formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/create`,\n }),\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const ListComponent = createMappedComponent(\n collectionConfig?.admin?.components?.views?.list?.Component,\n undefined,\n DefaultListView,\n 'collectionConfig?.admin?.components?.views?.list?.Component',\n )\n\n let clientCollectionConfig = deepCopyObjectSimple(\n collectionConfig,\n ) as unknown as ClientCollectionConfig\n clientCollectionConfig = createClientCollectionConfig({\n DefaultEditView,\n DefaultListView,\n clientCollection: clientCollectionConfig,\n collection: collectionConfig,\n createMappedComponent,\n i18n,\n importMap: payload.importMap,\n payload,\n })\n\n return (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n <ListInfoProvider\n collectionConfig={clientCollectionConfig}\n collectionSlug={collectionSlug}\n hasCreatePermission={permissions?.collections?.[collectionSlug]?.create?.permission}\n newDocumentURL={formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/create`,\n })}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || collectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n modifySearchParams\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n collectionSlug={collectionSlug}\n enableRowSelections\n listPreferences={listPreferences}\n preferenceKey={preferenceKey}\n >\n <RenderComponent\n clientProps={{\n collectionSlug,\n listSearchableFields: collectionConfig?.admin?.listSearchableFields,\n }}\n mappedComponent={ListComponent}\n />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n </Fragment>\n )\n }\n\n return notFound()\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["HydrateAuthProvider","ListInfoProvider","ListQueryProvider","TableColumnsProvider","formatAdminURL","getCreateMappedComponent","RenderComponent","createClientCollectionConfig","notFound","deepCopyObjectSimple","mergeListSearchAndWhere","isNumber","React","Fragment","DefaultEditView","DefaultListView","generateListMetadata","ListView","initPageResult","params","searchParams","collectionConfig","locale","fullLocale","permissions","req","i18n","payload","config","query","user","visibleEntities","collectionSlug","slug","collections","read","permission","listPreferences","preferenceKey","find","collection","depth","limit","where","and","key","equals","id","then","res","docs","value","error","routes","admin","adminRoute","includes","page","Number","whereQuery","search","undefined","pagination","defaultLimit","sort","defaultSort","data","draft","fallbackLocale","overrideAccess","createMappedComponent","importMap","serverProps","hasCreatePermission","create","listSearchableFields","newDocumentURL","path","ListComponent","components","views","list","Component","clientCollectionConfig","clientCollection","_jsxs","_jsx","modifySearchParams","enableRowSelections","clientProps","mappedComponent"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type { AdminViewProps, ClientCollectionConfig, Where } from 'payload'\n\nimport {\n HydrateAuthProvider,\n ListInfoProvider,\n ListQueryProvider,\n TableColumnsProvider,\n} from '@payloadcms/ui'\nimport { formatAdminURL, getCreateMappedComponent, RenderComponent } from '@payloadcms/ui/shared'\nimport { createClientCollectionConfig } from '@payloadcms/ui/utilities/createClientConfig'\nimport { notFound } from 'next/navigation.js'\nimport { deepCopyObjectSimple, mergeListSearchAndWhere } from 'payload'\nimport { isNumber } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport type { ListPreferences } from './Default/types.js'\n\nimport { DefaultEditView } from '../Edit/Default/index.js'\nimport { DefaultListView } from './Default/index.js'\n\nexport { generateListMetadata } from './meta.js'\n\nexport const ListView: React.FC<AdminViewProps> = async ({\n initPageResult,\n params,\n searchParams,\n}) => {\n const {\n collectionConfig,\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n locale,\n payload,\n payload: { config },\n query,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const collectionSlug = collectionConfig?.slug\n\n if (!permissions?.collections?.[collectionSlug]?.read?.permission) {\n notFound()\n }\n\n let listPreferences: ListPreferences\n const preferenceKey = `${collectionSlug}-list`\n\n try {\n listPreferences = (await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n req,\n user,\n where: {\n and: [\n {\n key: {\n equals: preferenceKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user?.id,\n },\n },\n ],\n },\n })\n ?.then((res) => res?.docs?.[0]?.value)) as ListPreferences\n } catch (error) {} // eslint-disable-line no-empty\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n if (collectionConfig) {\n if (!visibleEntities.collections.includes(collectionSlug)) {\n return notFound()\n }\n\n const page = isNumber(query?.page) ? Number(query.page) : 0\n const whereQuery = mergeListSearchAndWhere({\n collectionConfig,\n query: {\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: (query?.where as Where) || undefined,\n },\n })\n const limit = isNumber(query?.limit)\n ? Number(query.limit)\n : listPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n const sort =\n query?.sort && typeof query.sort === 'string'\n ? query.sort\n : listPreferences?.sort || collectionConfig.defaultSort || undefined\n\n const data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n limit,\n locale,\n overrideAccess: false,\n page,\n req,\n sort,\n user,\n where: whereQuery || {},\n })\n\n const createMappedComponent = getCreateMappedComponent({\n importMap: payload.importMap,\n serverProps: {\n collectionConfig,\n collectionSlug,\n data,\n hasCreatePermission: permissions?.collections?.[collectionSlug]?.create?.permission,\n i18n,\n limit,\n listPreferences,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n locale: fullLocale,\n newDocumentURL: formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/create`,\n }),\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const ListComponent = createMappedComponent(\n collectionConfig?.admin?.components?.views?.list?.Component,\n undefined,\n DefaultListView,\n 'collectionConfig?.admin?.components?.views?.list?.Component',\n )\n\n let clientCollectionConfig = deepCopyObjectSimple(\n collectionConfig,\n ) as unknown as ClientCollectionConfig\n clientCollectionConfig = createClientCollectionConfig({\n clientCollection: clientCollectionConfig,\n collection: collectionConfig,\n createMappedComponent,\n DefaultEditView,\n DefaultListView,\n i18n,\n importMap: payload.importMap,\n payload,\n })\n\n return (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n <ListInfoProvider\n collectionConfig={clientCollectionConfig}\n collectionSlug={collectionSlug}\n hasCreatePermission={permissions?.collections?.[collectionSlug]?.create?.permission}\n newDocumentURL={formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/create`,\n })}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || collectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n modifySearchParams\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n collectionSlug={collectionSlug}\n enableRowSelections\n listPreferences={listPreferences}\n preferenceKey={preferenceKey}\n >\n <RenderComponent\n clientProps={{\n collectionSlug,\n listSearchableFields: collectionConfig?.admin?.listSearchableFields,\n }}\n mappedComponent={ListComponent}\n />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n </Fragment>\n )\n }\n\n return notFound()\n}\n"],"mappings":"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","ignoreList":[]}
@@ -17,7 +17,7 @@ export interface LivePreviewContextType {
17
17
  width: number;
18
18
  };
19
19
  openPopupWindow: ReturnType<typeof usePopupWindow>['openPopupWindow'];
20
- popupRef?: React.RefObject<Window | null>;
20
+ popupRef?: React.RefObject<null | Window>;
21
21
  previewWindowType: 'iframe' | 'popup';
22
22
  setAppIsReady: (appIsReady: boolean) => void;
23
23
  setBreakpoint: (breakpoint: LivePreviewConfig['breakpoints'][number]['name']) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/views/LivePreview/Context/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEzD,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAA;IAC5D,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAA;IAC7C,eAAe,CAAC,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAA;IACtD,eAAe,EAAE,OAAO,CAAA;IACxB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;IACpD,WAAW,EAAE,OAAO,CAAA;IACpB,kBAAkB,EAAE;QAClB,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,eAAe,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,iBAAiB,CAAC,CAAA;IACrE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACzC,iBAAiB,EAAE,QAAQ,GAAG,OAAO,CAAA;IACrC,aAAa,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;IAC5C,aAAa,EAAE,CAAC,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IACrF,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,kBAAkB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IAC7C,qBAAqB,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACxE,oBAAoB,EAAE,CAAC,iBAAiB,EAAE,QAAQ,GAAG,OAAO,KAAK,IAAI,CAAA;IACrE,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAA;IACpC,kBAAkB,EAAE,CAAC,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAChE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,eAAe,EAAE;QACf,CAAC,EAAE,MAAM,CAAA;QACT,CAAC,EAAE,MAAM,CAAA;KACV,CAAA;IACD,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,eAAO,MAAM,kBAAkB,uCAmC7B,CAAA;AAEF,eAAO,MAAM,qBAAqB,8BAAuC,CAAA"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/views/LivePreview/Context/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEzD,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAA;IAC5D,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAA;IAC7C,eAAe,CAAC,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAA;IACtD,eAAe,EAAE,OAAO,CAAA;IACxB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;IACpD,WAAW,EAAE,OAAO,CAAA;IACpB,kBAAkB,EAAE;QAClB,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,eAAe,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,iBAAiB,CAAC,CAAA;IACrE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC,CAAA;IACzC,iBAAiB,EAAE,QAAQ,GAAG,OAAO,CAAA;IACrC,aAAa,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;IAC5C,aAAa,EAAE,CAAC,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IACrF,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,kBAAkB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IAC7C,qBAAqB,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACxE,oBAAoB,EAAE,CAAC,iBAAiB,EAAE,QAAQ,GAAG,OAAO,KAAK,IAAI,CAAA;IACrE,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAA;IACpC,kBAAkB,EAAE,CAAC,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAChE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,eAAe,EAAE;QACf,CAAC,EAAE,MAAM,CAAA;QACT,CAAC,EAAE,MAAM,CAAA;KACV,CAAA;IACD,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,eAAO,MAAM,kBAAkB,uCAmC7B,CAAA;AAEF,eAAO,MAAM,qBAAqB,8BAAuC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":["createContext","useContext","LivePreviewContext","appIsReady","breakpoint","undefined","breakpoints","fieldSchemaJSON","iframeHasLoaded","iframeRef","isPopupOpen","measuredDeviceSize","height","width","openPopupWindow","popupRef","previewWindowType","setAppIsReady","setBreakpoint","setHeight","setIframeHasLoaded","setMeasuredDeviceSize","setPreviewWindowType","setSize","setToolbarPosition","setWidth","setZoom","size","toolbarPosition","x","y","url","zoom","useLivePreviewContext"],"sources":["../../../../src/views/LivePreview/Context/context.ts"],"sourcesContent":["'use client'\nimport type { LivePreviewConfig } from 'payload'\nimport type { fieldSchemaToJSON } from 'payload/shared'\nimport type { Dispatch } from 'react'\nimport type React from 'react'\n\nimport { createContext, useContext } from 'react'\n\nimport type { usePopupWindow } from '../usePopupWindow.js'\nimport type { SizeReducerAction } from './sizeReducer.js'\n\nexport interface LivePreviewContextType {\n appIsReady: boolean\n breakpoint: LivePreviewConfig['breakpoints'][number]['name']\n breakpoints: LivePreviewConfig['breakpoints']\n fieldSchemaJSON?: ReturnType<typeof fieldSchemaToJSON>\n iframeHasLoaded: boolean\n iframeRef: React.RefObject<HTMLIFrameElement | null>\n isPopupOpen: boolean\n measuredDeviceSize: {\n height: number\n width: number\n }\n openPopupWindow: ReturnType<typeof usePopupWindow>['openPopupWindow']\n popupRef?: React.RefObject<Window | null>\n previewWindowType: 'iframe' | 'popup'\n setAppIsReady: (appIsReady: boolean) => void\n setBreakpoint: (breakpoint: LivePreviewConfig['breakpoints'][number]['name']) => void\n setHeight: (height: number) => void\n setIframeHasLoaded: (loaded: boolean) => void\n setMeasuredDeviceSize: (size: { height: number; width: number }) => void\n setPreviewWindowType: (previewWindowType: 'iframe' | 'popup') => void\n setSize: Dispatch<SizeReducerAction>\n setToolbarPosition: (position: { x: number; y: number }) => void\n setWidth: (width: number) => void\n setZoom: (zoom: number) => void\n size: {\n height: number\n width: number\n }\n toolbarPosition: {\n x: number\n y: number\n }\n url: string | undefined\n zoom: number\n}\n\nexport const LivePreviewContext = createContext<LivePreviewContextType>({\n appIsReady: false,\n breakpoint: undefined,\n breakpoints: undefined,\n fieldSchemaJSON: undefined,\n iframeHasLoaded: false,\n iframeRef: undefined,\n isPopupOpen: false,\n measuredDeviceSize: {\n height: 0,\n width: 0,\n },\n openPopupWindow: () => {},\n popupRef: undefined,\n previewWindowType: 'iframe',\n setAppIsReady: () => {},\n setBreakpoint: () => {},\n setHeight: () => {},\n setIframeHasLoaded: () => {},\n setMeasuredDeviceSize: () => {},\n setPreviewWindowType: () => {},\n setSize: () => {},\n setToolbarPosition: () => {},\n setWidth: () => {},\n setZoom: () => {},\n size: {\n height: 0,\n width: 0,\n },\n toolbarPosition: {\n x: 0,\n y: 0,\n },\n url: undefined,\n zoom: 1,\n})\n\nexport const useLivePreviewContext = () => useContext(LivePreviewContext)\n"],"mappings":"AAAA;;AAMA,SAASA,aAAa,EAAEC,UAAU,QAAQ;AA0C1C,OAAO,MAAMC,kBAAA,GAAqBF,aAAA,CAAsC;EACtEG,UAAA,EAAY;EACZC,UAAA,EAAYC,SAAA;EACZC,WAAA,EAAaD,SAAA;EACbE,eAAA,EAAiBF,SAAA;EACjBG,eAAA,EAAiB;EACjBC,SAAA,EAAWJ,SAAA;EACXK,WAAA,EAAa;EACbC,kBAAA,EAAoB;IAClBC,MAAA,EAAQ;IACRC,KAAA,EAAO;EACT;EACAC,eAAA,EAAiBA,CAAA,MAAO;EACxBC,QAAA,EAAUV,SAAA;EACVW,iBAAA,EAAmB;EACnBC,aAAA,EAAeA,CAAA,MAAO;EACtBC,aAAA,EAAeA,CAAA,MAAO;EACtBC,SAAA,EAAWA,CAAA,MAAO;EAClBC,kBAAA,EAAoBA,CAAA,MAAO;EAC3BC,qBAAA,EAAuBA,CAAA,MAAO;EAC9BC,oBAAA,EAAsBA,CAAA,MAAO;EAC7BC,OAAA,EAASA,CAAA,MAAO;EAChBC,kBAAA,EAAoBA,CAAA,MAAO;EAC3BC,QAAA,EAAUA,CAAA,MAAO;EACjBC,OAAA,EAASA,CAAA,MAAO;EAChBC,IAAA,EAAM;IACJf,MAAA,EAAQ;IACRC,KAAA,EAAO;EACT;EACAe,eAAA,EAAiB;IACfC,CAAA,EAAG;IACHC,CAAA,EAAG;EACL;EACAC,GAAA,EAAK1B,SAAA;EACL2B,IAAA,EAAM;AACR;AAEA,OAAO,MAAMC,qBAAA,GAAwBA,CAAA;EAAA,OAAMhC,UAAA,CAAAC,kBAAW;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"context.js","names":["createContext","useContext","LivePreviewContext","appIsReady","breakpoint","undefined","breakpoints","fieldSchemaJSON","iframeHasLoaded","iframeRef","isPopupOpen","measuredDeviceSize","height","width","openPopupWindow","popupRef","previewWindowType","setAppIsReady","setBreakpoint","setHeight","setIframeHasLoaded","setMeasuredDeviceSize","setPreviewWindowType","setSize","setToolbarPosition","setWidth","setZoom","size","toolbarPosition","x","y","url","zoom","useLivePreviewContext"],"sources":["../../../../src/views/LivePreview/Context/context.ts"],"sourcesContent":["'use client'\nimport type { LivePreviewConfig } from 'payload'\nimport type { fieldSchemaToJSON } from 'payload/shared'\nimport type { Dispatch } from 'react'\nimport type React from 'react'\n\nimport { createContext, useContext } from 'react'\n\nimport type { usePopupWindow } from '../usePopupWindow.js'\nimport type { SizeReducerAction } from './sizeReducer.js'\n\nexport interface LivePreviewContextType {\n appIsReady: boolean\n breakpoint: LivePreviewConfig['breakpoints'][number]['name']\n breakpoints: LivePreviewConfig['breakpoints']\n fieldSchemaJSON?: ReturnType<typeof fieldSchemaToJSON>\n iframeHasLoaded: boolean\n iframeRef: React.RefObject<HTMLIFrameElement | null>\n isPopupOpen: boolean\n measuredDeviceSize: {\n height: number\n width: number\n }\n openPopupWindow: ReturnType<typeof usePopupWindow>['openPopupWindow']\n popupRef?: React.RefObject<null | Window>\n previewWindowType: 'iframe' | 'popup'\n setAppIsReady: (appIsReady: boolean) => void\n setBreakpoint: (breakpoint: LivePreviewConfig['breakpoints'][number]['name']) => void\n setHeight: (height: number) => void\n setIframeHasLoaded: (loaded: boolean) => void\n setMeasuredDeviceSize: (size: { height: number; width: number }) => void\n setPreviewWindowType: (previewWindowType: 'iframe' | 'popup') => void\n setSize: Dispatch<SizeReducerAction>\n setToolbarPosition: (position: { x: number; y: number }) => void\n setWidth: (width: number) => void\n setZoom: (zoom: number) => void\n size: {\n height: number\n width: number\n }\n toolbarPosition: {\n x: number\n y: number\n }\n url: string | undefined\n zoom: number\n}\n\nexport const LivePreviewContext = createContext<LivePreviewContextType>({\n appIsReady: false,\n breakpoint: undefined,\n breakpoints: undefined,\n fieldSchemaJSON: undefined,\n iframeHasLoaded: false,\n iframeRef: undefined,\n isPopupOpen: false,\n measuredDeviceSize: {\n height: 0,\n width: 0,\n },\n openPopupWindow: () => {},\n popupRef: undefined,\n previewWindowType: 'iframe',\n setAppIsReady: () => {},\n setBreakpoint: () => {},\n setHeight: () => {},\n setIframeHasLoaded: () => {},\n setMeasuredDeviceSize: () => {},\n setPreviewWindowType: () => {},\n setSize: () => {},\n setToolbarPosition: () => {},\n setWidth: () => {},\n setZoom: () => {},\n size: {\n height: 0,\n width: 0,\n },\n toolbarPosition: {\n x: 0,\n y: 0,\n },\n url: undefined,\n zoom: 1,\n})\n\nexport const useLivePreviewContext = () => useContext(LivePreviewContext)\n"],"mappings":"AAAA;;AAMA,SAASA,aAAa,EAAEC,UAAU,QAAQ;AA0C1C,OAAO,MAAMC,kBAAA,GAAqBF,aAAA,CAAsC;EACtEG,UAAA,EAAY;EACZC,UAAA,EAAYC,SAAA;EACZC,WAAA,EAAaD,SAAA;EACbE,eAAA,EAAiBF,SAAA;EACjBG,eAAA,EAAiB;EACjBC,SAAA,EAAWJ,SAAA;EACXK,WAAA,EAAa;EACbC,kBAAA,EAAoB;IAClBC,MAAA,EAAQ;IACRC,KAAA,EAAO;EACT;EACAC,eAAA,EAAiBA,CAAA,MAAO;EACxBC,QAAA,EAAUV,SAAA;EACVW,iBAAA,EAAmB;EACnBC,aAAA,EAAeA,CAAA,MAAO;EACtBC,aAAA,EAAeA,CAAA,MAAO;EACtBC,SAAA,EAAWA,CAAA,MAAO;EAClBC,kBAAA,EAAoBA,CAAA,MAAO;EAC3BC,qBAAA,EAAuBA,CAAA,MAAO;EAC9BC,oBAAA,EAAsBA,CAAA,MAAO;EAC7BC,OAAA,EAASA,CAAA,MAAO;EAChBC,kBAAA,EAAoBA,CAAA,MAAO;EAC3BC,QAAA,EAAUA,CAAA,MAAO;EACjBC,OAAA,EAASA,CAAA,MAAO;EAChBC,IAAA,EAAM;IACJf,MAAA,EAAQ;IACRC,KAAA,EAAO;EACT;EACAe,eAAA,EAAiB;IACfC,CAAA,EAAG;IACHC,CAAA,EAAG;EACL;EACAC,GAAA,EAAK1B,SAAA;EACL2B,IAAA,EAAM;AACR;AAEA,OAAO,MAAMC,qBAAA,GAAwBA,CAAA;EAAA,OAAMhC,UAAA,CAAAC,kBAAW;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/LivePreview/Context/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAI7D,OAAO,KAA2C,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAM1D,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAA;IAC9C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,UAAU,CAAC,EAAE;QACX,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,WAAW,EAAE,WAAW,EAAE,CAAA;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,eAAe,CAAC,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,iBAAiB,CAAC,CAAA;IACtE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAClC,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA0KlE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/LivePreview/Context/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAI7D,OAAO,KAA2C,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAM1D,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAA;IAC9C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,UAAU,CAAC,EAAE;QACX,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,WAAW,EAAE,WAAW,EAAE,CAAA;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,eAAe,CAAC,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,iBAAiB,CAAC,CAAA;IACtE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAClC,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA4KlE,CAAA"}
@@ -100,7 +100,9 @@ export const LivePreviewProvider = ({
100
100
  const handleWindowChange = useCallback(type => {
101
101
  setAppIsReady(false);
102
102
  setPreviewWindowType(type);
103
- if (type === 'popup') openPopupWindow();
103
+ if (type === 'popup') {
104
+ openPopupWindow();
105
+ }
104
106
  }, [openPopupWindow]);
105
107
  // when the user closes the popup window, switch back to the iframe
106
108
  // the `usePopupWindow` reports the `isPopupOpen` state for us to use here
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DndContext","fieldSchemaToJSON","React","useCallback","useEffect","useState","customCollisionDetection","LivePreviewContext","sizeReducer","LivePreviewProvider","breakpoints","children","fieldSchema","isPopupOpen","openPopupWindow","popupRef","url","previewWindowType","setPreviewWindowType","appIsReady","setAppIsReady","listeningForMessages","setListeningForMessages","iframeRef","useRef","iframeHasLoaded","setIframeHasLoaded","zoom","setZoom","position","setPosition","x","y","size","setSize","useReducer","height","width","measuredDeviceSize","setMeasuredDeviceSize","breakpoint","setBreakpoint","fieldSchemaJSON","handleDragEnd","ev","over","id","newPos","delta","setWidth","type","value","setHeight","foundBreakpoint","find","bp","name","handleMessage","event","startsWith","origin","data","ready","window","addEventListener","removeEventListener","handleWindowChange","newPreviewWindowType","_jsx","Provider","setToolbarPosition","toolbarPosition","collisionDetection","onDragEnd"],"sources":["../../../../src/views/LivePreview/Context/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, LivePreviewConfig } from 'payload'\n\nimport { DndContext } from '@dnd-kit/core'\nimport { fieldSchemaToJSON } from 'payload/shared'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { usePopupWindow } from '../usePopupWindow.js'\n\nimport { customCollisionDetection } from './collisionDetection.js'\nimport { LivePreviewContext } from './context.js'\nimport { sizeReducer } from './sizeReducer.js'\n\nexport type LivePreviewProviderProps = {\n appIsReady?: boolean\n breakpoints?: LivePreviewConfig['breakpoints']\n children: React.ReactNode\n deviceSize?: {\n height: number\n width: number\n }\n fieldSchema: ClientField[]\n isPopupOpen?: boolean\n openPopupWindow?: ReturnType<typeof usePopupWindow>['openPopupWindow']\n popupRef?: React.RefObject<Window>\n url?: string\n}\n\nexport const LivePreviewProvider: React.FC<LivePreviewProviderProps> = ({\n breakpoints,\n children,\n fieldSchema,\n isPopupOpen,\n openPopupWindow,\n popupRef,\n url,\n}) => {\n const [previewWindowType, setPreviewWindowType] = useState<'iframe' | 'popup'>('iframe')\n\n const [appIsReady, setAppIsReady] = useState(false)\n const [listeningForMessages, setListeningForMessages] = useState(false)\n\n const iframeRef = React.useRef<HTMLIFrameElement>(null)\n\n const [iframeHasLoaded, setIframeHasLoaded] = useState(false)\n\n const [zoom, setZoom] = useState(1)\n\n const [position, setPosition] = useState({ x: 0, y: 0 })\n\n const [size, setSize] = React.useReducer(sizeReducer, { height: 0, width: 0 })\n\n const [measuredDeviceSize, setMeasuredDeviceSize] = useState({\n height: 0,\n width: 0,\n })\n\n const [breakpoint, setBreakpoint] =\n React.useState<LivePreviewConfig['breakpoints'][0]['name']>('responsive')\n\n const [fieldSchemaJSON] = useState(() => {\n return fieldSchemaToJSON(fieldSchema)\n })\n\n // The toolbar needs to freely drag and drop around the page\n const handleDragEnd = (ev) => {\n // only update position if the toolbar is completely within the preview area\n // otherwise reset it back to the previous position\n // TODO: reset to the nearest edge of the preview area\n if (ev.over && ev.over.id === 'live-preview-area') {\n const newPos = {\n x: position.x + ev.delta.x,\n y: position.y + ev.delta.y,\n }\n\n setPosition(newPos)\n } else {\n // reset\n }\n }\n\n const setWidth = useCallback(\n (width) => {\n setSize({ type: 'width', value: width })\n },\n [setSize],\n )\n\n const setHeight = useCallback(\n (height) => {\n setSize({ type: 'height', value: height })\n },\n [setSize],\n )\n\n // explicitly set new width and height when as new breakpoints are selected\n // exclude `custom` breakpoint as it is handled by the `setWidth` and `setHeight` directly\n useEffect(() => {\n const foundBreakpoint = breakpoints?.find((bp) => bp.name === breakpoint)\n\n if (\n foundBreakpoint &&\n breakpoint !== 'responsive' &&\n breakpoint !== 'custom' &&\n typeof foundBreakpoint?.width === 'number' &&\n typeof foundBreakpoint?.height === 'number'\n ) {\n setSize({\n type: 'reset',\n value: {\n height: foundBreakpoint.height,\n width: foundBreakpoint.width,\n },\n })\n }\n }, [breakpoint, breakpoints])\n\n // Receive the `ready` message from the popup window\n // This indicates that the app is ready to receive `window.postMessage` events\n // This is also the only cross-origin way of detecting when a popup window has loaded\n // Unlike iframe elements which have an `onLoad` handler, there is no way to access `window.open` on popups\n useEffect(() => {\n const handleMessage = (event: MessageEvent) => {\n if (\n url?.startsWith(event.origin) &&\n event.data &&\n typeof event.data === 'object' &&\n event.data.type === 'payload-live-preview'\n ) {\n if (event.data.ready) {\n setAppIsReady(true)\n }\n }\n }\n\n window.addEventListener('message', handleMessage)\n\n setListeningForMessages(true)\n\n return () => {\n window.removeEventListener('message', handleMessage)\n }\n }, [url, listeningForMessages])\n\n const handleWindowChange = useCallback(\n (type: 'iframe' | 'popup') => {\n setAppIsReady(false)\n setPreviewWindowType(type)\n if (type === 'popup') openPopupWindow()\n },\n [openPopupWindow],\n )\n\n // when the user closes the popup window, switch back to the iframe\n // the `usePopupWindow` reports the `isPopupOpen` state for us to use here\n useEffect(() => {\n const newPreviewWindowType = isPopupOpen ? 'popup' : 'iframe'\n\n if (newPreviewWindowType !== previewWindowType) {\n handleWindowChange('iframe')\n }\n }, [previewWindowType, isPopupOpen, handleWindowChange])\n\n return (\n <LivePreviewContext.Provider\n value={{\n appIsReady,\n breakpoint,\n breakpoints,\n fieldSchemaJSON,\n iframeHasLoaded,\n iframeRef,\n isPopupOpen,\n measuredDeviceSize,\n openPopupWindow,\n popupRef,\n previewWindowType,\n setAppIsReady,\n setBreakpoint,\n setHeight,\n setIframeHasLoaded,\n setMeasuredDeviceSize,\n setPreviewWindowType: handleWindowChange,\n setSize,\n setToolbarPosition: setPosition,\n setWidth,\n setZoom,\n size,\n toolbarPosition: position,\n url,\n zoom,\n }}\n >\n <DndContext collisionDetection={customCollisionDetection} onDragEnd={handleDragEnd}>\n {listeningForMessages && children}\n </DndContext>\n </LivePreviewContext.Provider>\n )\n}\n"],"mappings":"AAAA;;;AAGA,SAASA,UAAU,QAAQ;AAC3B,SAASC,iBAAiB,QAAQ;AAClC,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ;AAIxD,SAASC,wBAAwB,QAAQ;AACzC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,WAAW,QAAQ;AAiB5B,OAAO,MAAMC,mBAAA,GAA0DA,CAAC;EACtEC,WAAW;EACXC,QAAQ;EACRC,WAAW;EACXC,WAAW;EACXC,eAAe;EACfC,QAAQ;EACRC;AAAG,CACJ;EACC,MAAM,CAACC,iBAAA,EAAmBC,oBAAA,CAAqB,GAAGb,QAAA,CAA6B;EAE/E,MAAM,CAACc,UAAA,EAAYC,aAAA,CAAc,GAAGf,QAAA,CAAS;EAC7C,MAAM,CAACgB,oBAAA,EAAsBC,uBAAA,CAAwB,GAAGjB,QAAA,CAAS;EAEjE,MAAMkB,SAAA,GAAYrB,KAAA,CAAMsB,MAAM,CAAoB;EAElD,MAAM,CAACC,eAAA,EAAiBC,kBAAA,CAAmB,GAAGrB,QAAA,CAAS;EAEvD,MAAM,CAACsB,IAAA,EAAMC,OAAA,CAAQ,GAAGvB,QAAA,CAAS;EAEjC,MAAM,CAACwB,QAAA,EAAUC,WAAA,CAAY,GAAGzB,QAAA,CAAS;IAAE0B,CAAA,EAAG;IAAGC,CAAA,EAAG;EAAE;EAEtD,MAAM,CAACC,IAAA,EAAMC,OAAA,CAAQ,GAAGhC,KAAA,CAAMiC,UAAU,CAAC3B,WAAA,EAAa;IAAE4B,MAAA,EAAQ;IAAGC,KAAA,EAAO;EAAE;EAE5E,MAAM,CAACC,kBAAA,EAAoBC,qBAAA,CAAsB,GAAGlC,QAAA,CAAS;IAC3D+B,MAAA,EAAQ;IACRC,KAAA,EAAO;EACT;EAEA,MAAM,CAACG,UAAA,EAAYC,aAAA,CAAc,GAC/BvC,KAAA,CAAMG,QAAQ,CAA8C;EAE9D,MAAM,CAACqC,eAAA,CAAgB,GAAGrC,QAAA,CAAS;IACjC,OAAOJ,iBAAA,CAAkBW,WAAA;EAC3B;EAEA;EACA,MAAM+B,aAAA,GAAiBC,EAAA;IACrB;IACA;IACA;IACA,IAAIA,EAAA,CAAGC,IAAI,IAAID,EAAA,CAAGC,IAAI,CAACC,EAAE,KAAK,qBAAqB;MACjD,MAAMC,MAAA,GAAS;QACbhB,CAAA,EAAGF,QAAA,CAASE,CAAC,GAAGa,EAAA,CAAGI,KAAK,CAACjB,CAAC;QAC1BC,CAAA,EAAGH,QAAA,CAASG,CAAC,GAAGY,EAAA,CAAGI,KAAK,CAAChB;MAC3B;MAEAF,WAAA,CAAYiB,MAAA;IACd,OAAO;MACL;IAAA;EAEJ;EAEA,MAAME,QAAA,GAAW9C,WAAA,CACdkC,KAAA;IACCH,OAAA,CAAQ;MAAEgB,IAAA,EAAM;MAASC,KAAA,EAAOd;IAAM;EACxC,GACA,CAACH,OAAA,CAAQ;EAGX,MAAMkB,SAAA,GAAYjD,WAAA,CACfiC,MAAA;IACCF,OAAA,CAAQ;MAAEgB,IAAA,EAAM;MAAUC,KAAA,EAAOf;IAAO;EAC1C,GACA,CAACF,OAAA,CAAQ;EAGX;EACA;EACA9B,SAAA,CAAU;IACR,MAAMiD,eAAA,GAAkB3C,WAAA,EAAa4C,IAAA,CAAMC,EAAA,IAAOA,EAAA,CAAGC,IAAI,KAAKhB,UAAA;IAE9D,IACEa,eAAA,IACAb,UAAA,KAAe,gBACfA,UAAA,KAAe,YACf,OAAOa,eAAA,EAAiBhB,KAAA,KAAU,YAClC,OAAOgB,eAAA,EAAiBjB,MAAA,KAAW,UACnC;MACAF,OAAA,CAAQ;QACNgB,IAAA,EAAM;QACNC,KAAA,EAAO;UACLf,MAAA,EAAQiB,eAAA,CAAgBjB,MAAM;UAC9BC,KAAA,EAAOgB,eAAA,CAAgBhB;QACzB;MACF;IACF;EACF,GAAG,CAACG,UAAA,EAAY9B,WAAA,CAAY;EAE5B;EACA;EACA;EACA;EACAN,SAAA,CAAU;IACR,MAAMqD,aAAA,GAAiBC,KAAA;MACrB,IACE1C,GAAA,EAAK2C,UAAA,CAAWD,KAAA,CAAME,MAAM,KAC5BF,KAAA,CAAMG,IAAI,IACV,OAAOH,KAAA,CAAMG,IAAI,KAAK,YACtBH,KAAA,CAAMG,IAAI,CAACX,IAAI,KAAK,wBACpB;QACA,IAAIQ,KAAA,CAAMG,IAAI,CAACC,KAAK,EAAE;UACpB1C,aAAA,CAAc;QAChB;MACF;IACF;IAEA2C,MAAA,CAAOC,gBAAgB,CAAC,WAAWP,aAAA;IAEnCnC,uBAAA,CAAwB;IAExB,OAAO;MACLyC,MAAA,CAAOE,mBAAmB,CAAC,WAAWR,aAAA;IACxC;EACF,GAAG,CAACzC,GAAA,EAAKK,oBAAA,CAAqB;EAE9B,MAAM6C,kBAAA,GAAqB/D,WAAA,CACxB+C,IAAA;IACC9B,aAAA,CAAc;IACdF,oBAAA,CAAqBgC,IAAA;IACrB,IAAIA,IAAA,KAAS,SAASpC,eAAA;EACxB,GACA,CAACA,eAAA,CAAgB;EAGnB;EACA;EACAV,SAAA,CAAU;IACR,MAAM+D,oBAAA,GAAuBtD,WAAA,GAAc,UAAU;IAErD,IAAIsD,oBAAA,KAAyBlD,iBAAA,EAAmB;MAC9CiD,kBAAA,CAAmB;IACrB;EACF,GAAG,CAACjD,iBAAA,EAAmBJ,WAAA,EAAaqD,kBAAA,CAAmB;EAEvD,oBACEE,IAAA,CAAC7D,kBAAA,CAAmB8D,QAAQ;IAC1BlB,KAAA,EAAO;MACLhC,UAAA;MACAqB,UAAA;MACA9B,WAAA;MACAgC,eAAA;MACAjB,eAAA;MACAF,SAAA;MACAV,WAAA;MACAyB,kBAAA;MACAxB,eAAA;MACAC,QAAA;MACAE,iBAAA;MACAG,aAAA;MACAqB,aAAA;MACAW,SAAA;MACA1B,kBAAA;MACAa,qBAAA;MACArB,oBAAA,EAAsBgD,kBAAA;MACtBhC,OAAA;MACAoC,kBAAA,EAAoBxC,WAAA;MACpBmB,QAAA;MACArB,OAAA;MACAK,IAAA;MACAsC,eAAA,EAAiB1C,QAAA;MACjBb,GAAA;MACAW;IACF;cAEA,aAAAyC,IAAA,CAACpE,UAAA;MAAWwE,kBAAA,EAAoBlE,wBAAA;MAA0BmE,SAAA,EAAW9B,aAAA;gBAClEtB,oBAAA,IAAwBV;;;AAIjC","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["DndContext","fieldSchemaToJSON","React","useCallback","useEffect","useState","customCollisionDetection","LivePreviewContext","sizeReducer","LivePreviewProvider","breakpoints","children","fieldSchema","isPopupOpen","openPopupWindow","popupRef","url","previewWindowType","setPreviewWindowType","appIsReady","setAppIsReady","listeningForMessages","setListeningForMessages","iframeRef","useRef","iframeHasLoaded","setIframeHasLoaded","zoom","setZoom","position","setPosition","x","y","size","setSize","useReducer","height","width","measuredDeviceSize","setMeasuredDeviceSize","breakpoint","setBreakpoint","fieldSchemaJSON","handleDragEnd","ev","over","id","newPos","delta","setWidth","type","value","setHeight","foundBreakpoint","find","bp","name","handleMessage","event","startsWith","origin","data","ready","window","addEventListener","removeEventListener","handleWindowChange","newPreviewWindowType","_jsx","Provider","setToolbarPosition","toolbarPosition","collisionDetection","onDragEnd"],"sources":["../../../../src/views/LivePreview/Context/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, LivePreviewConfig } from 'payload'\n\nimport { DndContext } from '@dnd-kit/core'\nimport { fieldSchemaToJSON } from 'payload/shared'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { usePopupWindow } from '../usePopupWindow.js'\n\nimport { customCollisionDetection } from './collisionDetection.js'\nimport { LivePreviewContext } from './context.js'\nimport { sizeReducer } from './sizeReducer.js'\n\nexport type LivePreviewProviderProps = {\n appIsReady?: boolean\n breakpoints?: LivePreviewConfig['breakpoints']\n children: React.ReactNode\n deviceSize?: {\n height: number\n width: number\n }\n fieldSchema: ClientField[]\n isPopupOpen?: boolean\n openPopupWindow?: ReturnType<typeof usePopupWindow>['openPopupWindow']\n popupRef?: React.RefObject<Window>\n url?: string\n}\n\nexport const LivePreviewProvider: React.FC<LivePreviewProviderProps> = ({\n breakpoints,\n children,\n fieldSchema,\n isPopupOpen,\n openPopupWindow,\n popupRef,\n url,\n}) => {\n const [previewWindowType, setPreviewWindowType] = useState<'iframe' | 'popup'>('iframe')\n\n const [appIsReady, setAppIsReady] = useState(false)\n const [listeningForMessages, setListeningForMessages] = useState(false)\n\n const iframeRef = React.useRef<HTMLIFrameElement>(null)\n\n const [iframeHasLoaded, setIframeHasLoaded] = useState(false)\n\n const [zoom, setZoom] = useState(1)\n\n const [position, setPosition] = useState({ x: 0, y: 0 })\n\n const [size, setSize] = React.useReducer(sizeReducer, { height: 0, width: 0 })\n\n const [measuredDeviceSize, setMeasuredDeviceSize] = useState({\n height: 0,\n width: 0,\n })\n\n const [breakpoint, setBreakpoint] =\n React.useState<LivePreviewConfig['breakpoints'][0]['name']>('responsive')\n\n const [fieldSchemaJSON] = useState(() => {\n return fieldSchemaToJSON(fieldSchema)\n })\n\n // The toolbar needs to freely drag and drop around the page\n const handleDragEnd = (ev) => {\n // only update position if the toolbar is completely within the preview area\n // otherwise reset it back to the previous position\n // TODO: reset to the nearest edge of the preview area\n if (ev.over && ev.over.id === 'live-preview-area') {\n const newPos = {\n x: position.x + ev.delta.x,\n y: position.y + ev.delta.y,\n }\n\n setPosition(newPos)\n } else {\n // reset\n }\n }\n\n const setWidth = useCallback(\n (width) => {\n setSize({ type: 'width', value: width })\n },\n [setSize],\n )\n\n const setHeight = useCallback(\n (height) => {\n setSize({ type: 'height', value: height })\n },\n [setSize],\n )\n\n // explicitly set new width and height when as new breakpoints are selected\n // exclude `custom` breakpoint as it is handled by the `setWidth` and `setHeight` directly\n useEffect(() => {\n const foundBreakpoint = breakpoints?.find((bp) => bp.name === breakpoint)\n\n if (\n foundBreakpoint &&\n breakpoint !== 'responsive' &&\n breakpoint !== 'custom' &&\n typeof foundBreakpoint?.width === 'number' &&\n typeof foundBreakpoint?.height === 'number'\n ) {\n setSize({\n type: 'reset',\n value: {\n height: foundBreakpoint.height,\n width: foundBreakpoint.width,\n },\n })\n }\n }, [breakpoint, breakpoints])\n\n // Receive the `ready` message from the popup window\n // This indicates that the app is ready to receive `window.postMessage` events\n // This is also the only cross-origin way of detecting when a popup window has loaded\n // Unlike iframe elements which have an `onLoad` handler, there is no way to access `window.open` on popups\n useEffect(() => {\n const handleMessage = (event: MessageEvent) => {\n if (\n url?.startsWith(event.origin) &&\n event.data &&\n typeof event.data === 'object' &&\n event.data.type === 'payload-live-preview'\n ) {\n if (event.data.ready) {\n setAppIsReady(true)\n }\n }\n }\n\n window.addEventListener('message', handleMessage)\n\n setListeningForMessages(true)\n\n return () => {\n window.removeEventListener('message', handleMessage)\n }\n }, [url, listeningForMessages])\n\n const handleWindowChange = useCallback(\n (type: 'iframe' | 'popup') => {\n setAppIsReady(false)\n setPreviewWindowType(type)\n if (type === 'popup') {\n openPopupWindow()\n }\n },\n [openPopupWindow],\n )\n\n // when the user closes the popup window, switch back to the iframe\n // the `usePopupWindow` reports the `isPopupOpen` state for us to use here\n useEffect(() => {\n const newPreviewWindowType = isPopupOpen ? 'popup' : 'iframe'\n\n if (newPreviewWindowType !== previewWindowType) {\n handleWindowChange('iframe')\n }\n }, [previewWindowType, isPopupOpen, handleWindowChange])\n\n return (\n <LivePreviewContext.Provider\n value={{\n appIsReady,\n breakpoint,\n breakpoints,\n fieldSchemaJSON,\n iframeHasLoaded,\n iframeRef,\n isPopupOpen,\n measuredDeviceSize,\n openPopupWindow,\n popupRef,\n previewWindowType,\n setAppIsReady,\n setBreakpoint,\n setHeight,\n setIframeHasLoaded,\n setMeasuredDeviceSize,\n setPreviewWindowType: handleWindowChange,\n setSize,\n setToolbarPosition: setPosition,\n setWidth,\n setZoom,\n size,\n toolbarPosition: position,\n url,\n zoom,\n }}\n >\n <DndContext collisionDetection={customCollisionDetection} onDragEnd={handleDragEnd}>\n {listeningForMessages && children}\n </DndContext>\n </LivePreviewContext.Provider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/LivePreview/Device/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAIxC,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CA8FA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/LivePreview/Device/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAIxC,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAiGA,CAAA"}
@@ -46,7 +46,11 @@ export const DeviceContainer = props => {
46
46
  if (deviceIsLargerThanFrame) {
47
47
  if (zoom > 1) {
48
48
  const differenceFromDeviceToFrame = measuredDeviceSize.width - outerFrameSize.width;
49
- if (differenceFromDeviceToFrame < 0) x = `${differenceFromDeviceToFrame / 2}px`;else x = '0';
49
+ if (differenceFromDeviceToFrame < 0) {
50
+ x = `${differenceFromDeviceToFrame / 2}px`;
51
+ } else {
52
+ x = '0';
53
+ }
50
54
  } else {
51
55
  x = '0';
52
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","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","_jsx","ref","style","transform"],"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 desiredSize &&\n measuredDeviceSize &&\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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","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","_jsx","ref","style","transform"],"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 desiredSize &&\n measuredDeviceSize &&\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) {\n x = `${differenceFromDeviceToFrame / 2}px`\n } else {\n x = '0'\n }\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"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
- import { ChevronIcon, LinkIcon, Popup, PopupList, XIcon, useTranslation } from '@payloadcms/ui';
5
+ import { ChevronIcon, LinkIcon, Popup, PopupList, useTranslation, XIcon } from '@payloadcms/ui';
6
6
  import React from 'react';
7
7
  import { useLivePreviewContext } from '../../Context/context.js';
8
8
  import { PreviewFrameSizeInput } from '../SizeInput/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","ChevronIcon","LinkIcon","Popup","PopupList","XIcon","useTranslation","React","useLivePreviewContext","PreviewFrameSizeInput","baseClass","zoomOptions","ToolbarControls","$","breakpoint","breakpoints","setBreakpoint","setPreviewWindowType","setZoom","url","zoom","t","t0","customOption","label","value","t2","t3","close","close_0","_jsx","ButtonGroup","children","Fragment","map","zoomValue","_jsxs","Button","active","onClick","e","preventDefault","className","length","button","find","bp","name","horizontalAlign","render","t1","bp_0","axis","href","type"],"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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","ChevronIcon","LinkIcon","Popup","PopupList","useTranslation","XIcon","React","useLivePreviewContext","PreviewFrameSizeInput","baseClass","zoomOptions","ToolbarControls","$","breakpoint","breakpoints","setBreakpoint","setPreviewWindowType","setZoom","url","zoom","t","t0","customOption","label","value","t2","t3","close","close_0","_jsx","ButtonGroup","children","Fragment","map","zoomValue","_jsxs","Button","active","onClick","e","preventDefault","className","length","button","find","bp","name","horizontalAlign","render","t1","bp_0","axis","href","type"],"sources":["../../../../../src/views/LivePreview/Toolbar/Controls/index.tsx"],"sourcesContent":["'use client'\n\nimport type { EditViewProps } from 'payload'\n\nimport { ChevronIcon, LinkIcon, Popup, PopupList, useTranslation, XIcon } 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"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,SAASC,WAAW,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,SAAS,EAAEC,cAAc,EAAEC,KAAK,QAAQ;AAC/E,OAAOC,KAAA,MAAW;AAElB,SAASC,qBAAqB,QAAQ;AACtC,SAASC,qBAAqB,QAAQ;AAGtC,MAAMC,SAAA,GAAY;AAClB,MAAMC,WAAA,GAAc,CAAC,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI;AAEhD,OAAO,MAAMC,eAAA,GAA2CA,CAAA;EAAA,MAAAC,CAAA,GAAAb,EAAA;EACtD;IAAAc,UAAA;IAAAC,WAAA;IAAAC,aAAA;IAAAC,oBAAA;IAAAC,OAAA;IAAAC,GAAA;IAAAC;EAAA,IACEZ,qBAAA;EACF;IAAAa;EAAA,IAAchB,cAAA;EAAA,IAAAiB,EAAA;EAAA,IAAAT,CAAA,QAAAQ,CAAA,IAAAR,CAAA,QAAAE,WAAA,IAAAF,CAAA,QAAAC,UAAA,IAAAD,CAAA,QAAAG,aAAA,IAAAH,CAAA,QAAAO,IAAA,IAAAP,CAAA,QAAAK,OAAA,IAAAL,CAAA,QAAAI,oBAAA,IAAAJ,CAAA,QAAAM,GAAA;IAEd,MAAAI,YAAA;MAAAC,KAAA,EACSH,CAAA,CAAE;MAAAI,KAAA,EACF;IAAA;IACT,IAAAC,EAAA;IAAA,IAAAb,CAAA,QAAAO,IAAA,IAAAP,CAAA,SAAAK,OAAA;MAoEcQ,EAAA,GAAAC,EAAA;QAAC;UAAAC,KAAA,EAAAC;QAAA,IAAAF,EAAS;QAAA,OAChBG,IAAA,CAAA1B,SAAA,CAAA2B,WAAA;UAAAC,QAAA,EACEF,IAAA,CAAAvB,KAAA,CAAA0B,QAAA;YAAAD,QAAA,EACGrB,WAAA,CAAAuB,GAAA,CAAAC,SAAA,IACCC,KAAA,CAAAhC,SAAA,CAAAiC,MAAA;cAAAC,MAAA,EACUlB,IAAA,MAAO,IAAOe,SAAA;cAAAI,OAAA,EAAAA,CAAA;gBAGpBrB,OAAA,CAAQiB,SAAA,MAAY;gBACpBP,OAAA;cAAA;cAAAI,QAAA,GAGDG,SAAA,EAAU;YAAA,GANNA,SAAA;UAAA,C;;;;;;;;;;;MAkBNR,EAAA,GAAAa,CAAA;QACPA,CAAA,CAAAC,cAAA,CAAgB;QAChBxB,oBAAA,CAAqB;MAAA;MACvBJ,CAAA,OAAAI,oBAAA;MAAAJ,CAAA,OAAAc,EAAA;IAAA;MAAAA,EAAA,GAAAd,CAAA;IAAA;IA5FJS,EAAA,GAAAc,KAAA,CAAC;MAAAM,SAAA,EAAAhC,SAAA;MAAAsB,QAAA,GACEjB,WAAA,EAAA4B,MAAA,IAAsB,IACrBb,IAAA,CAAA3B,KAAA;QAAAyC,MAAA,EAEIR,KAAA,CAAA7B,KAAA,CAAA0B,QAAA;UAAAD,QAAA,GACEF,IAAA,CAAC;YAAAE,QAAA,EACEjB,WAAA,CAAA8B,IAAA,CAAAC,EAAA,IAAyBA,EAAA,CAAAC,IAAA,IAAWjC,UAAA,GAAAU,KAAA,IAAsBD,YAAA,CAAAC;UAAkB,C,GACxE,QAEPM,IAAA,CAAA7B,WAAA;YAAAyC,SAAA,EAAwB,GAAAhC,SAAA;UAAuB,C;;mBAGxC,GAAAA,SAAA,cAA0B;QAAAsC,eAAA,EACrB;QAAAC,MAAA,EAAAC,EAAA;UACP;YAAAtB;UAAA,IAAAsB,EAAS;UAAA,OAChBpB,IAAA,CAAA1B,SAAA,CAAA2B,WAAA;YAAAC,QAAA,EACEI,KAAA,CAAA7B,KAAA,CAAA0B,QAAA;cAAAD,QAAA,GACGjB,WAAA,CAAAmB,GAAA,CAAAiB,IAAA,IACCrB,IAAA,CAAA1B,SAAA,CAAAiC,MAAA;gBAAAC,MAAA,EACUQ,IAAA,CAAAC,IAAA,IAAWjC,UAAA;gBAAAyB,OAAA,EAAAA,CAAA;kBAGjBvB,aAAA,CAAc8B,IAAA,CAAAC,IAAO;kBACrBnB,KAAA;gBAAA;gBAAAI,QAAA,EAGDc,IAAA,CAAAtB;cAAA,GANIsB,IAAA,CAAAC,IAAO,IAUfjC,UAAA,KAAe,YACdgB,IAAA,CAAA1B,SAAA,CAAAiC,MAAA;gBAAAC,MAAA,EACUxB,UAAA,IAAcS,YAAA,CAAAE,KAAkB;gBAAAc,OAAA,EAAAA,CAAA;kBAEtCvB,aAAA,CAAcO,YAAA,CAAAE,KAAkB;kBAChCG,KAAA;gBAAA;gBAAAI,QAAA,EAGDT,YAAA,CAAAC;cAAA,C;;;;;uBAOG;MAAA,C,GAGlBY,KAAA,CAAC;QAAAM,SAAA,EAAe,GAAAhC,SAAA,eAA2B;QAAAsB,QAAA,GACzCF,IAAA,CAAArB,qBAAA;UAAA2C,IAAA,EAA4B;QAAA,C,GAC5BtB,IAAA,CAAC;UAAAY,SAAA,EAAgB,GAAAhC,SAAA,gBAA4B;UAAAsB,QAAA,EAC3CF,IAAA,CAAAxB,KAAA,IAAC;QAAA,C,GAEHwB,IAAA,CAAArB,qBAAA;UAAA2C,IAAA,EAA4B;QAAA,C;UAE9BtB,IAAA,CAAA3B,KAAA;QAAAyC,MAAA,EAEIR,KAAA,CAAA7B,KAAA,CAAA0B,QAAA;UAAAD,QAAA,GACEI,KAAA,CAAC;YAAAJ,QAAA,GAAMZ,IAAA,MAAO,EAAI;UAAA,C,GAAQ,QAE1BU,IAAA,CAAA7B,WAAA;YAAAyC,SAAA,EAAwB,GAAAhC,SAAA;UAAuB,C;;mBAGxC,GAAAA,SAAA,QAAoB;QAAAsC,eAAA,EACf;QAAAC,MAAA,EACRvB,E;;uBAmBM;MAAA,C,GAEhBI,IAAA,CAAC;QAAAY,SAAA,EACY,GAAAhC,SAAA,YAAwB;QAAA2C,IAAA,EAC7BlC,GAAA;QAAAoB,OAAA,EACGZ,EAGT;QAAA2B,IAAA,EACK;QAAAtB,QAAA,EAELF,IAAA,CAAA5B,QAAA,IAAC;MAAA,C;;;;;;;;;;;;;;SA/FLoB,E;CAmGJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/LivePreview/Toolbar/SizeInput/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAiC,MAAM,OAAO,CAAA;AAGrD,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC3C,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;CACjB,CA0DA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/LivePreview/Toolbar/SizeInput/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAiC,MAAM,OAAO,CAAA;AAGrD,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC3C,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;CACjB,CA+DA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useCallback","useEffect","useLivePreviewContext","baseClass","PreviewFrameSizeInput","props","$","axis","breakpoint","measuredDeviceSize","setBreakpoint","setSize","size","zoom","internalState","setInternalState","useState","width","height","t0","e","newValue","Number","target","value","type","toFixed","handleChange","t1","t2","t3","t4","t5","_jsx","className","min","name","onChange","step"],"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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useCallback","useEffect","useLivePreviewContext","baseClass","PreviewFrameSizeInput","props","$","axis","breakpoint","measuredDeviceSize","setBreakpoint","setSize","size","zoom","internalState","setInternalState","useState","width","height","t0","e","newValue","Number","target","value","type","toFixed","handleChange","t1","t2","t3","t4","t5","_jsx","className","min","name","onChange","step"],"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) {\n newValue = 0\n }\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') {\n setInternalState(Number(measuredDeviceSize.width.toFixed(0)) * zoom)\n } else {\n setInternalState(Number(measuredDeviceSize.height.toFixed(0)) * zoom)\n }\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"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/LivePreview/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAKV,IAAI,EACJ,iBAAiB,EAClB,MAAM,SAAS,CAAA;AAehB,OAAO,KAAgC,MAAM,OAAO,CAAA;AAQpD,OAAO,cAAc,CAAA;AAiLrB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAA;IACtD,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAA;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB,CAmDA,CAAA"}
1
+ {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/LivePreview/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAKV,IAAI,EACJ,iBAAiB,EAClB,MAAM,SAAS,CAAA;AAehB,OAAO,KAAgC,MAAM,OAAO,CAAA;AAOpD,OAAO,cAAc,CAAA;AAkLrB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAA;IACtD,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAA;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB,CAmDA,CAAA"}
@@ -26,12 +26,12 @@ const PreviewView = t0 => {
26
26
  } = t0;
27
27
  const {
28
28
  id,
29
+ action,
29
30
  AfterDocument,
30
31
  AfterFields,
32
+ apiURL,
31
33
  BeforeDocument,
32
34
  BeforeFields,
33
- action,
34
- apiURL,
35
35
  collectionSlug,
36
36
  disableActions,
37
37
  disableLeaveWithoutSaving,
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.js","names":["c","_c","DocumentControls","DocumentFields","Form","OperationProvider","SetViewActions","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useTranslation","getFormState","React","Fragment","useCallback","LeaveWithoutSaving","SetDocumentStepNav","SetDocumentTitle","useLivePreviewContext","LivePreviewProvider","LivePreview","usePopupWindow","baseClass","PreviewView","t0","$","apiRoute","collectionConfig","config","fields","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","t1","admin","t2","user","userSlug","t","previewWindowType","refreshCookieAsync","reportUpdate","t3","json","entitySlug","updatedAt","result","Date","toISOString","t4","t5","formState","prevFormState","docPreferences","body","onChange","t6","t7","t8","versions","drafts","autosave","_jsx","t9","globalLabel","label","pluralLabel","labels","plural","undefined","useAsTitle","view","t10","fallback","toString","t11","data","permissions","slug","t12","t13","filter","Boolean","t14","join","t15","t16","children","_jsxs","className","disabled","method","onSuccess","forceSidebarWrap","readOnly","LivePreviewClient","props","breakpoints","url","getEntityConfig","routes","api","eventType","isPopupOpen","openPopupWindow","popupRef","actions","components","views","edit","livePreview","fieldSchema"],"sources":["../../../src/views/LivePreview/index.client.tsx"],"sourcesContent":["'use client'\nimport type { FormProps } from '@payloadcms/ui'\nimport type {\n ClientCollectionConfig,\n ClientConfig,\n ClientField,\n ClientGlobalConfig,\n Data,\n LivePreviewConfig,\n} from 'payload'\n\nimport {\n DocumentControls,\n DocumentFields,\n Form,\n OperationProvider,\n SetViewActions,\n useAuth,\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 readonly apiRoute: string\n readonly collectionConfig?: ClientCollectionConfig\n readonly config: ClientConfig\n readonly fields: ClientField[]\n readonly globalConfig?: ClientGlobalConfig\n readonly schemaPath: string\n readonly serverURL: string\n}\n\nconst PreviewView: React.FC<Props> = ({\n apiRoute,\n collectionConfig,\n config,\n fields,\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 config: {\n admin: { user: userSlug },\n },\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 <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 fields={fields}\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 )\n}\n\nexport const LivePreviewClient: React.FC<{\n readonly breakpoints: LivePreviewConfig['breakpoints']\n readonly initialData: Data\n readonly url: string\n}> = (props) => {\n const { breakpoints, url } = props\n const { collectionSlug, globalSlug } = useDocumentInfo()\n\n const {\n config,\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const { isPopupOpen, openPopupWindow, popupRef } = usePopupWindow({\n eventType: 'payload-live-preview',\n url,\n })\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n\n const globalConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const schemaPath = collectionSlug || globalSlug\n\n return (\n <Fragment>\n <SetViewActions\n actions={\n (collectionConfig || globalConfig)?.admin?.components?.views?.edit?.livePreview?.actions\n }\n />\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 fields={(collectionConfig || globalConfig)?.fields}\n globalConfig={globalConfig}\n schemaPath={schemaPath}\n serverURL={serverURL}\n />\n </LivePreviewProvider>\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.client.js","names":["c","_c","DocumentControls","DocumentFields","Form","OperationProvider","SetViewActions","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useTranslation","getFormState","React","Fragment","useCallback","LeaveWithoutSaving","SetDocumentStepNav","SetDocumentTitle","useLivePreviewContext","LivePreviewProvider","LivePreview","usePopupWindow","baseClass","PreviewView","t0","$","apiRoute","collectionConfig","config","fields","globalConfig","schemaPath","serverURL","id","action","AfterDocument","AfterFields","apiURL","BeforeDocument","BeforeFields","collectionSlug","disableActions","disableLeaveWithoutSaving","docPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","initialData","initialState","isEditing","isInitializing","onSave","onSaveFromProps","operation","t1","admin","t2","user","userSlug","t","previewWindowType","refreshCookieAsync","reportUpdate","t3","json","entitySlug","updatedAt","result","Date","toISOString","t4","t5","formState","prevFormState","docPreferences","body","onChange","t6","t7","t8","versions","drafts","autosave","_jsx","t9","globalLabel","label","pluralLabel","labels","plural","undefined","useAsTitle","view","t10","fallback","toString","t11","data","permissions","slug","t12","t13","filter","Boolean","t14","join","t15","t16","children","_jsxs","className","disabled","method","onSuccess","forceSidebarWrap","readOnly","LivePreviewClient","props","breakpoints","url","getEntityConfig","routes","api","eventType","isPopupOpen","openPopupWindow","popupRef","actions","components","views","edit","livePreview","fieldSchema"],"sources":["../../../src/views/LivePreview/index.client.tsx"],"sourcesContent":["'use client'\nimport type { FormProps } from '@payloadcms/ui'\nimport type {\n ClientCollectionConfig,\n ClientConfig,\n ClientField,\n ClientGlobalConfig,\n Data,\n LivePreviewConfig,\n} from 'payload'\n\nimport {\n DocumentControls,\n DocumentFields,\n Form,\n OperationProvider,\n SetViewActions,\n useAuth,\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 './index.scss'\nimport { LivePreview } from './Preview/index.js'\nimport { usePopupWindow } from './usePopupWindow.js'\n\nconst baseClass = 'live-preview'\n\ntype Props = {\n readonly apiRoute: string\n readonly collectionConfig?: ClientCollectionConfig\n readonly config: ClientConfig\n readonly fields: ClientField[]\n readonly globalConfig?: ClientGlobalConfig\n readonly schemaPath: string\n readonly serverURL: string\n}\n\nconst PreviewView: React.FC<Props> = ({\n apiRoute,\n collectionConfig,\n config,\n fields,\n globalConfig,\n schemaPath,\n serverURL,\n}) => {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeDocument,\n BeforeFields,\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 config: {\n admin: { user: userSlug },\n },\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 <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 fields={fields}\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 )\n}\n\nexport const LivePreviewClient: React.FC<{\n readonly breakpoints: LivePreviewConfig['breakpoints']\n readonly initialData: Data\n readonly url: string\n}> = (props) => {\n const { breakpoints, url } = props\n const { collectionSlug, globalSlug } = useDocumentInfo()\n\n const {\n config,\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const { isPopupOpen, openPopupWindow, popupRef } = usePopupWindow({\n eventType: 'payload-live-preview',\n url,\n })\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n\n const globalConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const schemaPath = collectionSlug || globalSlug\n\n return (\n <Fragment>\n <SetViewActions\n actions={\n (collectionConfig || globalConfig)?.admin?.components?.views?.edit?.livePreview?.actions\n }\n />\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 fields={(collectionConfig || globalConfig)?.fields}\n globalConfig={globalConfig}\n schemaPath={schemaPath}\n serverURL={serverURL}\n />\n </LivePreviewProvider>\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -15,6 +15,6 @@ export declare const usePopupWindow: (props: {
15
15
  }) => {
16
16
  isPopupOpen: boolean;
17
17
  openPopupWindow: () => void;
18
- popupRef?: React.RefObject<Window | null>;
18
+ popupRef?: React.RefObject<null | Window>;
19
19
  };
20
20
  //# sourceMappingURL=usePopupWindow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePopupWindow.d.ts","sourceRoot":"","sources":["../../../src/views/LivePreview/usePopupWindow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;QACjC,IAAI,EAAE,MAAM,CAAA;QACZ,eAAe,EAAE,MAAM,CAAA;QACvB,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,IAAI,EAAE,MAAM,CAAA;CACb;AAED,eAAO,MAAM,cAAc,UAAW;IACpC,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,cAAc,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACzE,GAAG,EAAE,MAAM,CAAA;CACZ,KAAG;IACF,WAAW,EAAE,OAAO,CAAA;IACpB,eAAe,EAAE,MAAM,IAAI,CAAA;IAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;CAmH1C,CAAA"}
1
+ {"version":3,"file":"usePopupWindow.d.ts","sourceRoot":"","sources":["../../../src/views/LivePreview/usePopupWindow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;QACjC,IAAI,EAAE,MAAM,CAAA;QACZ,eAAe,EAAE,MAAM,CAAA;QACvB,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,IAAI,EAAE,MAAM,CAAA;CACb;AAED,eAAO,MAAM,cAAc,UAAW;IACpC,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,cAAc,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACzE,GAAG,EAAE,MAAM,CAAA;CACZ,KAAG;IACF,WAAW,EAAE,OAAO,CAAA;IACpB,eAAe,EAAE,MAAM,IAAI,CAAA;IAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC,CAAA;CAmH1C,CAAA"}