@payloadcms/next 3.70.0 → 3.71.0-internal-debug.80dab4c
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.
- package/dist/auth/login.js +52 -58
- package/dist/auth/login.js.map +1 -1
- package/dist/auth/logout.js +39 -44
- package/dist/auth/logout.js.map +1 -1
- package/dist/auth/refresh.js +45 -47
- package/dist/auth/refresh.js.map +1 -1
- package/dist/cjs/withPayload.cjs +61 -23
- package/dist/cjs/withPayload.cjs.map +2 -2
- package/dist/config.js +1 -0
- package/dist/config.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +9 -15
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +40 -71
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +65 -59
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +38 -0
- package/dist/elements/DocumentHeader/Tabs/index.js +80 -70
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.scss +54 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +16 -23
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.scss +9 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js +61 -69
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.js +48 -28
- package/dist/elements/DocumentHeader/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.scss +64 -0
- package/dist/elements/FormHeader/index.js +30 -16
- package/dist/elements/FormHeader/index.js.map +1 -1
- package/dist/elements/FormHeader/index.scss +8 -0
- package/dist/elements/Logo/index.js +19 -34
- package/dist/elements/Logo/index.js.map +1 -1
- package/dist/elements/Nav/NavHamburger/index.js +23 -44
- package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.js +28 -54
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.scss +27 -0
- package/dist/elements/Nav/SettingsMenuButton/index.js +33 -39
- package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
- package/dist/elements/Nav/SettingsMenuButton/index.scss +11 -0
- package/dist/elements/Nav/getNavPrefs.js +27 -22
- package/dist/elements/Nav/getNavPrefs.js.map +1 -1
- package/dist/elements/Nav/index.client.js +97 -118
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/elements/Nav/index.js +148 -127
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/elements/Nav/index.scss +173 -0
- package/dist/esbuildEntry.d.ts +5 -0
- package/dist/esbuildEntry.d.ts.map +1 -0
- package/dist/esbuildEntry.js +6 -0
- package/dist/esbuildEntry.js.map +1 -0
- package/dist/exports/auth.js +1 -0
- package/dist/exports/auth.js.map +1 -1
- package/dist/exports/client.js +1 -1
- package/dist/exports/client.js.map +1 -1
- package/dist/exports/layouts.js +1 -0
- package/dist/exports/layouts.js.map +1 -1
- package/dist/exports/routes.js +1 -0
- package/dist/exports/routes.js.map +1 -1
- package/dist/exports/rsc.js +1 -0
- package/dist/exports/rsc.js.map +1 -1
- package/dist/exports/templates.js +1 -0
- package/dist/exports/templates.js.map +1 -1
- package/dist/exports/utilities.js +7 -12
- package/dist/exports/utilities.js.map +1 -1
- package/dist/exports/views.js +1 -0
- package/dist/exports/views.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/layouts/Root/NestProviders.js +21 -20
- package/dist/layouts/Root/NestProviders.js.map +1 -1
- package/dist/layouts/Root/checkDependencies.js +49 -41
- package/dist/layouts/Root/checkDependencies.js.map +1 -1
- package/dist/layouts/Root/index.js +128 -103
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/prod/styles.css +5 -1
- package/dist/routes/graphql/handler.js +114 -122
- package/dist/routes/graphql/handler.js.map +1 -1
- package/dist/routes/graphql/index.js +1 -0
- package/dist/routes/graphql/index.js.map +1 -1
- package/dist/routes/graphql/playground.js +28 -27
- package/dist/routes/graphql/playground.js.map +1 -1
- package/dist/routes/index.js +1 -0
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/rest/index.js +23 -22
- package/dist/routes/rest/index.js.map +1 -1
- package/dist/routes/rest/og/image.js +103 -79
- package/dist/routes/rest/og/image.js.map +1 -1
- package/dist/routes/rest/og/index.js +59 -54
- package/dist/routes/rest/og/index.js.map +1 -1
- package/dist/templates/Default/NavHamburger/index.js +12 -20
- package/dist/templates/Default/NavHamburger/index.js.map +1 -1
- package/dist/templates/Default/Wrapper/index.js +20 -44
- package/dist/templates/Default/Wrapper/index.js.map +1 -1
- package/dist/templates/Default/Wrapper/index.scss +58 -0
- package/dist/templates/Default/index.js +147 -116
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/templates/Default/index.scss +79 -0
- package/dist/templates/Minimal/index.js +26 -17
- package/dist/templates/Minimal/index.js.map +1 -1
- package/dist/templates/Minimal/index.scss +30 -0
- package/dist/utilities/getExistingAuthToken.js +3 -2
- package/dist/utilities/getExistingAuthToken.js.map +1 -1
- package/dist/utilities/getNextRequestI18n.js +12 -13
- package/dist/utilities/getNextRequestI18n.js.map +1 -1
- package/dist/utilities/getPayloadHMR.js +5 -5
- package/dist/utilities/getPayloadHMR.js.map +1 -1
- package/dist/utilities/getPreferences.js +27 -22
- package/dist/utilities/getPreferences.js.map +1 -1
- package/dist/utilities/getRequestLocale.js +13 -14
- package/dist/utilities/getRequestLocale.js.map +1 -1
- package/dist/utilities/getRequestTheme.js +19 -19
- package/dist/utilities/getRequestTheme.js.map +1 -1
- package/dist/utilities/getRouteWithoutAdmin.js +3 -5
- package/dist/utilities/getRouteWithoutAdmin.js.map +1 -1
- package/dist/utilities/handleAuthRedirect.js +22 -36
- package/dist/utilities/handleAuthRedirect.js.map +1 -1
- package/dist/utilities/handleServerFunctions.js +34 -41
- package/dist/utilities/handleServerFunctions.js.map +1 -1
- package/dist/utilities/initReq.js +78 -96
- package/dist/utilities/initReq.js.map +1 -1
- package/dist/utilities/isCustomAdminView.js +22 -26
- package/dist/utilities/isCustomAdminView.js.map +1 -1
- package/dist/utilities/isPublicAdminRoute.js +26 -20
- package/dist/utilities/isPublicAdminRoute.js.map +1 -1
- package/dist/utilities/meta.js +68 -63
- package/dist/utilities/meta.js.map +1 -1
- package/dist/utilities/selectiveCache.js +25 -26
- package/dist/utilities/selectiveCache.js.map +1 -1
- package/dist/utilities/setPayloadAuthCookie.js +19 -22
- package/dist/utilities/setPayloadAuthCookie.js.map +1 -1
- package/dist/utilities/slugify.js +24 -33
- package/dist/utilities/slugify.js.map +1 -1
- package/dist/utilities/timestamp.js +7 -6
- package/dist/utilities/timestamp.js.map +1 -1
- package/dist/views/API/LocaleSelector/index.js +17 -39
- package/dist/views/API/LocaleSelector/index.js.map +1 -1
- package/dist/views/API/RenderJSON/index.js +171 -126
- package/dist/views/API/RenderJSON/index.js.map +1 -1
- package/dist/views/API/RenderJSON/index.scss +129 -0
- package/dist/views/API/index.client.js +290 -197
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/API/index.js +7 -2
- package/dist/views/API/index.js.map +1 -1
- package/dist/views/API/index.scss +119 -0
- package/dist/views/API/metadata.js +18 -23
- package/dist/views/API/metadata.js.map +1 -1
- package/dist/views/Account/ResetPreferences/index.js +78 -102
- package/dist/views/Account/ResetPreferences/index.js.map +1 -1
- package/dist/views/Account/Settings/LanguageSelector.js +18 -47
- package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
- package/dist/views/Account/Settings/index.js +60 -25
- package/dist/views/Account/Settings/index.js.map +1 -1
- package/dist/views/Account/Settings/index.scss +48 -0
- package/dist/views/Account/ToggleTheme/index.js +38 -55
- package/dist/views/Account/ToggleTheme/index.js.map +1 -1
- package/dist/views/Account/index.client.js +16 -32
- package/dist/views/Account/index.client.js.map +1 -1
- package/dist/views/Account/index.js +147 -158
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/Account/metadata.js +8 -12
- package/dist/views/Account/metadata.js.map +1 -1
- package/dist/views/BrowseByFolder/buildView.js +138 -157
- package/dist/views/BrowseByFolder/buildView.js.map +1 -1
- package/dist/views/BrowseByFolder/index.js +16 -16
- package/dist/views/BrowseByFolder/index.js.map +1 -1
- package/dist/views/BrowseByFolder/metadata.js +13 -15
- package/dist/views/BrowseByFolder/metadata.js.map +1 -1
- package/dist/views/CollectionFolders/buildView.js +122 -142
- package/dist/views/CollectionFolders/buildView.js.map +1 -1
- package/dist/views/CollectionFolders/index.js +16 -16
- package/dist/views/CollectionFolders/index.js.map +1 -1
- package/dist/views/CollectionFolders/metadata.js +18 -21
- package/dist/views/CollectionFolders/metadata.js.map +1 -1
- package/dist/views/CollectionFolders/renderFolderViewSlots.js +58 -61
- package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +1 -1
- package/dist/views/CollectionTrash/index.js +17 -17
- package/dist/views/CollectionTrash/index.js.map +1 -1
- package/dist/views/CollectionTrash/metadata.js +18 -21
- package/dist/views/CollectionTrash/metadata.js.map +1 -1
- package/dist/views/CreateFirstUser/index.client.js +117 -103
- package/dist/views/CreateFirstUser/index.client.js.map +1 -1
- package/dist/views/CreateFirstUser/index.js +87 -81
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/CreateFirstUser/index.scss +21 -0
- package/dist/views/CreateFirstUser/metadata.js +8 -12
- package/dist/views/CreateFirstUser/metadata.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +147 -138
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +423 -405
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.js +72 -75
- package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.scss +316 -0
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +62 -89
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +40 -47
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +64 -65
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +164 -147
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js +31 -30
- package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +223 -229
- package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -1
- package/dist/views/Dashboard/Default/index.js +59 -45
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Dashboard/index.js +46 -42
- package/dist/views/Dashboard/index.js.map +1 -1
- package/dist/views/Dashboard/metadata.js +10 -14
- package/dist/views/Dashboard/metadata.js.map +1 -1
- package/dist/views/Document/getCustomDocumentViewByKey.js +3 -2
- package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -1
- package/dist/views/Document/getCustomViewByRoute.js +27 -30
- package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
- package/dist/views/Document/getDocPreferences.js +40 -41
- package/dist/views/Document/getDocPreferences.js.map +1 -1
- package/dist/views/Document/getDocumentData.js +44 -55
- package/dist/views/Document/getDocumentData.js.map +1 -1
- package/dist/views/Document/getDocumentPermissions.js +77 -80
- package/dist/views/Document/getDocumentPermissions.js.map +1 -1
- package/dist/views/Document/getDocumentView.js +313 -283
- package/dist/views/Document/getDocumentView.js.map +1 -1
- package/dist/views/Document/getIsLocked.js +66 -66
- package/dist/views/Document/getIsLocked.js.map +1 -1
- package/dist/views/Document/getMetaBySegment.js +130 -136
- package/dist/views/Document/getMetaBySegment.js.map +1 -1
- package/dist/views/Document/getVersions.js +205 -195
- package/dist/views/Document/getVersions.js.map +1 -1
- package/dist/views/Document/handleServerFunction.js +103 -128
- package/dist/views/Document/handleServerFunction.js.map +1 -1
- package/dist/views/Document/index.js +316 -355
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Document/metadata.js +2 -1
- package/dist/views/Document/metadata.js.map +1 -1
- package/dist/views/Document/renderDocumentSlots.js +121 -132
- package/dist/views/Document/renderDocumentSlots.js.map +1 -1
- package/dist/views/Edit/index.js +10 -6
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/Edit/metadata.js +36 -46
- package/dist/views/Edit/metadata.js.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +130 -164
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/ForgotPassword/index.js +79 -62
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/ForgotPassword/metadata.js +8 -12
- package/dist/views/ForgotPassword/metadata.js.map +1 -1
- package/dist/views/List/createSerializableValue.js +12 -11
- package/dist/views/List/createSerializableValue.js.map +1 -1
- package/dist/views/List/enrichDocsWithVersionStatus.js +86 -86
- package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
- package/dist/views/List/extractRelationshipDisplayValue.js +15 -14
- package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -1
- package/dist/views/List/extractValueOrRelationshipID.js +16 -15
- package/dist/views/List/extractValueOrRelationshipID.js.map +1 -1
- package/dist/views/List/handleGroupBy.js +133 -150
- package/dist/views/List/handleGroupBy.js.map +1 -1
- package/dist/views/List/handleServerFunction.js +98 -121
- package/dist/views/List/handleServerFunction.js.map +1 -1
- package/dist/views/List/index.js +305 -323
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/metadata.js +17 -20
- package/dist/views/List/metadata.js.map +1 -1
- package/dist/views/List/renderListViewSlots.js +82 -75
- package/dist/views/List/renderListViewSlots.js.map +1 -1
- package/dist/views/List/resolveAllFilterOptions.js +43 -45
- package/dist/views/List/resolveAllFilterOptions.js.map +1 -1
- package/dist/views/List/transformColumnsToSelect.js +9 -8
- package/dist/views/List/transformColumnsToSelect.js.map +1 -1
- package/dist/views/Login/LoginField/index.js +57 -89
- package/dist/views/Login/LoginField/index.js.map +1 -1
- package/dist/views/Login/LoginForm/index.js +107 -160
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/Login/LoginForm/index.scss +10 -0
- package/dist/views/Login/index.js +82 -85
- package/dist/views/Login/index.js.map +1 -1
- package/dist/views/Login/index.scss +10 -0
- package/dist/views/Login/metadata.js +8 -12
- package/dist/views/Login/metadata.js.map +1 -1
- package/dist/views/Logout/LogoutClient.js +84 -120
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/Logout/index.js +29 -29
- package/dist/views/Logout/index.js.map +1 -1
- package/dist/views/Logout/index.scss +25 -0
- package/dist/views/Logout/metadata.js +7 -11
- package/dist/views/Logout/metadata.js.map +1 -1
- package/dist/views/NotFound/index.client.js +71 -82
- package/dist/views/NotFound/index.client.js.map +1 -1
- package/dist/views/NotFound/index.js +72 -73
- package/dist/views/NotFound/index.js.map +1 -1
- package/dist/views/NotFound/index.scss +57 -0
- package/dist/views/NotFound/metadata.js +7 -9
- package/dist/views/NotFound/metadata.js.map +1 -1
- package/dist/views/ResetPassword/ResetPasswordForm/index.js +97 -108
- package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
- package/dist/views/ResetPassword/index.js +93 -73
- package/dist/views/ResetPassword/index.js.map +1 -1
- package/dist/views/ResetPassword/index.scss +11 -0
- package/dist/views/ResetPassword/metadata.js +8 -12
- package/dist/views/ResetPassword/metadata.js.map +1 -1
- package/dist/views/Root/attachViewActions.js +18 -23
- package/dist/views/Root/attachViewActions.js.map +1 -1
- package/dist/views/Root/generateCustomViewMetadata.js +19 -21
- package/dist/views/Root/generateCustomViewMetadata.js.map +1 -1
- package/dist/views/Root/getCustomViewByKey.js +12 -14
- package/dist/views/Root/getCustomViewByKey.js.map +1 -1
- package/dist/views/Root/getCustomViewByRoute.js +31 -42
- package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
- package/dist/views/Root/getDocumentViewInfo.js +24 -23
- package/dist/views/Root/getDocumentViewInfo.js.map +1 -1
- package/dist/views/Root/getRouteData.js +333 -325
- package/dist/views/Root/getRouteData.js.map +1 -1
- package/dist/views/Root/index.js +248 -270
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Root/isPathMatchingRoute.js +21 -26
- package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
- package/dist/views/Root/metadata.js +176 -181
- package/dist/views/Root/metadata.js.map +1 -1
- package/dist/views/Unauthorized/index.js +54 -46
- package/dist/views/Unauthorized/index.js.map +1 -1
- package/dist/views/Unauthorized/index.scss +14 -0
- package/dist/views/Unauthorized/metadata.js +8 -12
- package/dist/views/Unauthorized/metadata.js.map +1 -1
- package/dist/views/Verify/index.client.js +25 -43
- package/dist/views/Verify/index.client.js.map +1 -1
- package/dist/views/Verify/index.js +69 -64
- package/dist/views/Verify/index.js.map +1 -1
- package/dist/views/Verify/index.scss +16 -0
- package/dist/views/Verify/metadata.js +8 -12
- package/dist/views/Verify/metadata.js.map +1 -1
- package/dist/views/Version/Default/SelectedLocalesContext.js +4 -4
- package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -1
- package/dist/views/Version/Default/SetStepNav.js +86 -127
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.js +380 -236
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/Default/index.scss +170 -0
- package/dist/views/Version/Default/types.js +2 -1
- package/dist/views/Version/Default/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +102 -119
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.scss +81 -0
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +78 -73
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +363 -408
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +40 -51
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +35 -67
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.scss +12 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +59 -56
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.scss +9 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +139 -117
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +59 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +36 -41
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +192 -178
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +91 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +17 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +48 -73
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +4 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +132 -143
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.scss +9 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +56 -81
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +4 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +252 -210
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.scss +121 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js +23 -22
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.js +12 -9
- package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.scss +24 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +213 -228
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +1005 -826
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +2 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +44 -43
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js +25 -22
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +32 -36
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +145 -129
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
- package/dist/views/Version/Restore/index.js +117 -93
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/Restore/index.scss +84 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +33 -50
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js +170 -226
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +18 -0
- package/dist/views/Version/SelectComparison/index.js +73 -50
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.scss +9 -0
- package/dist/views/Version/SelectComparison/types.js +2 -1
- package/dist/views/Version/SelectComparison/types.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.js +34 -32
- package/dist/views/Version/SelectLocales/index.js.map +1 -1
- package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +104 -95
- package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
- package/dist/views/Version/VersionPillLabel/getVersionLabel.js +23 -27
- package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -1
- package/dist/views/Version/VersionPillLabel/index.scss +26 -0
- package/dist/views/Version/fetchVersions.js +113 -138
- package/dist/views/Version/fetchVersions.js.map +1 -1
- package/dist/views/Version/index.js +325 -323
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Version/metadata.js +43 -50
- package/dist/views/Version/metadata.js.map +1 -1
- package/dist/views/Versions/buildColumns.js +95 -79
- package/dist/views/Versions/buildColumns.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +34 -38
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.scss +9 -0
- package/dist/views/Versions/cells/CreatedAt/index.js +32 -53
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/cells/ID/index.js +10 -8
- package/dist/views/Versions/cells/ID/index.js.map +1 -1
- package/dist/views/Versions/index.client.js +106 -83
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/views/Versions/index.js +143 -143
- package/dist/views/Versions/index.js.map +1 -1
- package/dist/views/Versions/index.scss +110 -0
- package/dist/views/Versions/metadata.js +37 -44
- package/dist/views/Versions/metadata.js.map +1 -1
- package/dist/views/Versions/types.js +2 -1
- package/dist/views/Versions/types.js.map +1 -1
- package/dist/withPayload/withPayload.js +198 -143
- package/dist/withPayload/withPayload.js.map +1 -1
- package/dist/withPayload/withPayload.utils.js +92 -95
- package/dist/withPayload/withPayload.utils.js.map +1 -1
- package/dist/withPayload/withPayloadLegacy.js +42 -40
- package/dist/withPayload/withPayloadLegacy.js.map +1 -1
- package/package.json +7 -7
|
@@ -1,99 +1,72 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
import { c as _c } from "react/compiler-runtime";
|
|
4
|
-
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { jsxDEV as _jsxDEV, Fragment as _Fragment } from "react/jsx-dev-runtime";
|
|
5
3
|
import { ShimmerEffect, useServerFunctions } from '@payloadcms/ui';
|
|
6
4
|
import React, { useCallback, useEffect, useRef } from 'react';
|
|
7
5
|
/**
|
|
8
6
|
* Utility to render a widget on-demand on the client.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
7
|
+
*/ export const RenderWidget = /**
|
|
8
|
+
* Instance-specific data for this widget
|
|
9
|
+
*/ // TODO: widgetData?: Record<string, unknown>
|
|
10
|
+
/**
|
|
11
|
+
* Unique ID for this widget instance (format: "slug-timestamp")
|
|
12
|
+
*/ ({ /* widgetData, */ widgetId })=>{
|
|
13
|
+
const [Component, setComponent] = React.useState(null);
|
|
14
|
+
const { serverFunction } = useServerFunctions();
|
|
15
|
+
const renderWidget = useCallback(()=>{
|
|
16
|
+
async function render() {
|
|
17
|
+
try {
|
|
18
|
+
const widgetSlug = widgetId.slice(0, widgetId.lastIndexOf('-'));
|
|
19
|
+
const result = await serverFunction({
|
|
20
|
+
name: 'render-widget',
|
|
21
|
+
args: {
|
|
22
|
+
// TODO: widgets will support state in the future
|
|
23
|
+
// widgetData,
|
|
24
|
+
widgetSlug
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
setComponent(result.component);
|
|
28
|
+
} catch (error) {
|
|
29
|
+
// Log error but don't expose details to console in production
|
|
30
|
+
// Fallback error component
|
|
31
|
+
setComponent(/*#__PURE__*/ React.createElement('div', {
|
|
32
|
+
style: {
|
|
33
|
+
background: 'var(--theme-error-50)',
|
|
34
|
+
border: '1px solid var(--theme-error-200)',
|
|
35
|
+
borderRadius: '4px',
|
|
36
|
+
color: 'var(--theme-error-text)',
|
|
37
|
+
padding: '20px',
|
|
38
|
+
textAlign: 'center'
|
|
39
|
+
}
|
|
40
|
+
}, 'Failed to load widget. Please try again later.'));
|
|
42
41
|
}
|
|
43
|
-
}, "Failed to load widget. Please try again later."));
|
|
44
42
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
return
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
$[4] = t2;
|
|
69
|
-
$[5] = t3;
|
|
70
|
-
} else {
|
|
71
|
-
t2 = $[4];
|
|
72
|
-
t3 = $[5];
|
|
73
|
-
}
|
|
74
|
-
useEffect(t2, t3);
|
|
75
|
-
if (!Component) {
|
|
76
|
-
let t4;
|
|
77
|
-
if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
|
|
78
|
-
t4 = _jsx(ShimmerEffect, {
|
|
79
|
-
height: "100%"
|
|
80
|
-
});
|
|
81
|
-
$[6] = t4;
|
|
82
|
-
} else {
|
|
83
|
-
t4 = $[6];
|
|
43
|
+
void render();
|
|
44
|
+
}, [
|
|
45
|
+
serverFunction,
|
|
46
|
+
widgetId
|
|
47
|
+
]);
|
|
48
|
+
/* widgetData, */ const mounted = useRef(false);
|
|
49
|
+
useEffect(()=>{
|
|
50
|
+
if (mounted.current) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
mounted.current = true;
|
|
54
|
+
void renderWidget();
|
|
55
|
+
}, [
|
|
56
|
+
renderWidget
|
|
57
|
+
]);
|
|
58
|
+
if (!Component) {
|
|
59
|
+
return /*#__PURE__*/ _jsxDEV(ShimmerEffect, {
|
|
60
|
+
height: "100%"
|
|
61
|
+
}, void 0, false, {
|
|
62
|
+
fileName: "src/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.tsx",
|
|
63
|
+
lineNumber: 78,
|
|
64
|
+
columnNumber: 12
|
|
65
|
+
}, this);
|
|
84
66
|
}
|
|
85
|
-
return
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
if ($[7] !== Component) {
|
|
89
|
-
t4 = _jsx(_Fragment, {
|
|
90
|
-
children: Component
|
|
91
|
-
});
|
|
92
|
-
$[7] = Component;
|
|
93
|
-
$[8] = t4;
|
|
94
|
-
} else {
|
|
95
|
-
t4 = $[8];
|
|
96
|
-
}
|
|
97
|
-
return t4;
|
|
67
|
+
return /*#__PURE__*/ _jsxDEV(_Fragment, {
|
|
68
|
+
children: Component
|
|
69
|
+
}, void 0, false);
|
|
98
70
|
};
|
|
71
|
+
|
|
99
72
|
//# sourceMappingURL=RenderWidget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.tsx"],"sourcesContent":["'use client'\n\nimport { ShimmerEffect, useServerFunctions } from '@payloadcms/ui'\nimport React, { useCallback, useEffect, useRef } from 'react'\n\nimport type {\n RenderWidgetServerFnArgs,\n RenderWidgetServerFnReturnType,\n} from './renderWidgetServerFn.js'\n\n/**\n * Utility to render a widget on-demand on the client.\n */\nexport const RenderWidget: React.FC<{\n /**\n * Instance-specific data for this widget\n */\n // TODO: widgetData?: Record<string, unknown>\n /**\n * Unique ID for this widget instance (format: \"slug-timestamp\")\n */\n widgetId: string\n}> = ({ /* widgetData, */ widgetId }) => {\n const [Component, setComponent] = React.useState<null | React.ReactNode>(null)\n const { serverFunction } = useServerFunctions()\n\n const renderWidget = useCallback(() => {\n async function render() {\n try {\n const widgetSlug = widgetId.slice(0, widgetId.lastIndexOf('-'))\n\n const result = (await serverFunction({\n name: 'render-widget',\n args: {\n // TODO: widgets will support state in the future\n // widgetData,\n widgetSlug,\n } as RenderWidgetServerFnArgs,\n })) as RenderWidgetServerFnReturnType\n\n setComponent(result.component)\n } catch (error) {\n // Log error but don't expose details to console in production\n\n // Fallback error component\n setComponent(\n React.createElement(\n 'div',\n {\n style: {\n background: 'var(--theme-error-50)',\n border: '1px solid var(--theme-error-200)',\n borderRadius: '4px',\n color: 'var(--theme-error-text)',\n padding: '20px',\n textAlign: 'center',\n },\n },\n 'Failed to load widget. Please try again later.',\n ),\n )\n }\n }\n void render()\n }, [serverFunction, widgetId /* widgetData, */])\n\n const mounted = useRef(false)\n\n useEffect(() => {\n if (mounted.current) {\n return\n }\n mounted.current = true\n void renderWidget()\n }, [renderWidget])\n\n if (!Component) {\n return <ShimmerEffect height=\"100%\" />\n }\n\n return <>{Component}</>\n}\n"],"names":["ShimmerEffect","useServerFunctions","React","useCallback","useEffect","useRef","RenderWidget","widgetId","Component","setComponent","useState","serverFunction","renderWidget","render","widgetSlug","slice","lastIndexOf","result","name","args","component","error","createElement","style","background","border","borderRadius","color","padding","textAlign","mounted","current","height"],"mappings":"AAAA;;AAEA,SAASA,aAAa,EAAEC,kBAAkB,QAAQ,iBAAgB;AAClE,OAAOC,SAASC,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,QAAO;AAO7D;;CAEC,GACD,OAAO,MAAMC,eACX;;GAEC,GACD,6CAA6C;AAC7C;;GAEC,GAEE,CAAC,EAAE,eAAe,GAAGC,QAAQ,EAAE;IAClC,MAAM,CAACC,WAAWC,aAAa,GAAGP,MAAMQ,QAAQ,CAAyB;IACzE,MAAM,EAAEC,cAAc,EAAE,GAAGV;IAE3B,MAAMW,eAAeT,YAAY;QAC/B,eAAeU;YACb,IAAI;gBACF,MAAMC,aAAaP,SAASQ,KAAK,CAAC,GAAGR,SAASS,WAAW,CAAC;gBAE1D,MAAMC,SAAU,MAAMN,eAAe;oBACnCO,MAAM;oBACNC,MAAM;wBACJ,iDAAiD;wBACjD,cAAc;wBACdL;oBACF;gBACF;gBAEAL,aAAaQ,OAAOG,SAAS;YAC/B,EAAE,OAAOC,OAAO;gBACd,8DAA8D;gBAE9D,2BAA2B;gBAC3BZ,2BACEP,MAAMoB,aAAa,CACjB,OACA;oBACEC,OAAO;wBACLC,YAAY;wBACZC,QAAQ;wBACRC,cAAc;wBACdC,OAAO;wBACPC,SAAS;wBACTC,WAAW;oBACb;gBACF,GACA;YAGN;QACF;QACA,KAAKhB;IACP,GAAG;QAACF;QAAgBJ;KAA2B;IAAlB,eAAe,GAE5C,MAAMuB,UAAUzB,OAAO;IAEvBD,UAAU;QACR,IAAI0B,QAAQC,OAAO,EAAE;YACnB;QACF;QACAD,QAAQC,OAAO,GAAG;QAClB,KAAKnB;IACP,GAAG;QAACA;KAAa;IAEjB,IAAI,CAACJ,WAAW;QACd,qBAAO,QAACR;YAAcgC,QAAO;;;;;;IAC/B;IAEA,qBAAO;kBAAGxB;;AACZ,EAAC"}
|
package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js
CHANGED
|
@@ -2,57 +2,50 @@ import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerCompo
|
|
|
2
2
|
/**
|
|
3
3
|
* Server function to get the default dashboard layout on-demand.
|
|
4
4
|
* Used when resetting the dashboard to its default configuration.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
5
|
+
*/ export const getDefaultLayoutHandler = async ({ req })=>{
|
|
6
|
+
if (!req.user) {
|
|
7
|
+
throw new Error('Unauthorized');
|
|
8
|
+
}
|
|
9
|
+
const { defaultLayout = [], widgets = [] } = req.payload.config.admin.dashboard || {};
|
|
10
|
+
const { importMap } = req.payload;
|
|
11
|
+
const layoutItems = await getItemsFromConfig(defaultLayout, req, widgets);
|
|
12
|
+
const layout = layoutItems.map((layoutItem)=>{
|
|
13
|
+
const widgetSlug = layoutItem.id.slice(0, layoutItem.id.lastIndexOf('-'));
|
|
14
|
+
return {
|
|
15
|
+
component: RenderServerComponent({
|
|
16
|
+
Component: widgets.find((widget)=>widget.slug === widgetSlug)?.ComponentPath,
|
|
17
|
+
importMap,
|
|
18
|
+
serverProps: {
|
|
19
|
+
req,
|
|
20
|
+
widgetSlug
|
|
21
|
+
}
|
|
22
|
+
}),
|
|
23
|
+
item: layoutItem
|
|
24
|
+
};
|
|
25
|
+
});
|
|
22
26
|
return {
|
|
23
|
-
|
|
24
|
-
Component: widgets.find(widget => widget.slug === widgetSlug)?.ComponentPath,
|
|
25
|
-
importMap,
|
|
26
|
-
serverProps: {
|
|
27
|
-
req,
|
|
28
|
-
widgetSlug
|
|
29
|
-
}
|
|
30
|
-
}),
|
|
31
|
-
item: layoutItem
|
|
27
|
+
layout
|
|
32
28
|
};
|
|
33
|
-
});
|
|
34
|
-
return {
|
|
35
|
-
layout
|
|
36
|
-
};
|
|
37
29
|
};
|
|
38
30
|
async function getItemsFromConfig(defaultLayout, req, widgets) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
31
|
+
// Handle function format
|
|
32
|
+
let widgetInstances;
|
|
33
|
+
if (typeof defaultLayout === 'function') {
|
|
34
|
+
widgetInstances = await defaultLayout({
|
|
35
|
+
req
|
|
36
|
+
});
|
|
37
|
+
} else {
|
|
38
|
+
widgetInstances = defaultLayout;
|
|
39
|
+
}
|
|
40
|
+
return widgetInstances.map((widgetInstance, index)=>{
|
|
41
|
+
const widget = widgets.find((w)=>w.slug === widgetInstance.widgetSlug);
|
|
42
|
+
return {
|
|
43
|
+
id: `${widgetInstance.widgetSlug}-${index}`,
|
|
44
|
+
maxWidth: widget?.maxWidth ?? 'full',
|
|
45
|
+
minWidth: widget?.minWidth ?? 'x-small',
|
|
46
|
+
width: widgetInstance.width || 'x-small'
|
|
47
|
+
};
|
|
44
48
|
});
|
|
45
|
-
} else {
|
|
46
|
-
widgetInstances = defaultLayout;
|
|
47
|
-
}
|
|
48
|
-
return widgetInstances.map((widgetInstance, index) => {
|
|
49
|
-
const widget = widgets.find(w => w.slug === widgetInstance.widgetSlug);
|
|
50
|
-
return {
|
|
51
|
-
id: `${widgetInstance.widgetSlug}-${index}`,
|
|
52
|
-
maxWidth: widget?.maxWidth ?? 'full',
|
|
53
|
-
minWidth: widget?.minWidth ?? 'x-small',
|
|
54
|
-
width: widgetInstance.width || 'x-small'
|
|
55
|
-
};
|
|
56
|
-
});
|
|
57
49
|
}
|
|
50
|
+
|
|
58
51
|
//# sourceMappingURL=getDefaultLayoutServerFn.js.map
|
package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.ts"],"sourcesContent":["import type {\n DashboardConfig,\n PayloadRequest,\n ServerFunction,\n Widget,\n WidgetServerProps,\n} from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\n\nimport type { WidgetInstanceClient, WidgetItem } from '../index.client.js'\n\nexport type GetDefaultLayoutServerFnArgs = Record<string, never>\n\nexport type GetDefaultLayoutServerFnReturnType = {\n layout: WidgetInstanceClient[]\n}\n\n/**\n * Server function to get the default dashboard layout on-demand.\n * Used when resetting the dashboard to its default configuration.\n */\nexport const getDefaultLayoutHandler: ServerFunction<\n GetDefaultLayoutServerFnArgs,\n Promise<GetDefaultLayoutServerFnReturnType>\n> = async ({ req }) => {\n if (!req.user) {\n throw new Error('Unauthorized')\n }\n\n const { defaultLayout = [], widgets = [] } = req.payload.config.admin.dashboard || {}\n const { importMap } = req.payload\n\n const layoutItems = await getItemsFromConfig(defaultLayout, req, widgets)\n\n const layout: WidgetInstanceClient[] = layoutItems.map((layoutItem) => {\n const widgetSlug = layoutItem.id.slice(0, layoutItem.id.lastIndexOf('-'))\n return {\n component: RenderServerComponent({\n Component: widgets.find((widget) => widget.slug === widgetSlug)?.ComponentPath,\n importMap,\n serverProps: {\n req,\n widgetSlug,\n } satisfies WidgetServerProps,\n }),\n item: layoutItem,\n }\n })\n\n return { layout }\n}\n\nasync function getItemsFromConfig(\n defaultLayout: NonNullable<DashboardConfig['defaultLayout']>,\n req: PayloadRequest,\n widgets: Widget[],\n): Promise<WidgetItem[]> {\n // Handle function format\n let widgetInstances\n if (typeof defaultLayout === 'function') {\n widgetInstances = await defaultLayout({ req })\n } else {\n widgetInstances = defaultLayout\n }\n\n return widgetInstances.map((widgetInstance, index) => {\n const widget = widgets.find((w) => w.slug === widgetInstance.widgetSlug)\n return {\n id: `${widgetInstance.widgetSlug}-${index}`,\n maxWidth: widget?.maxWidth ?? 'full',\n minWidth: widget?.minWidth ?? 'x-small',\n width: widgetInstance.width || 'x-small',\n }\n })\n}\n"],"names":["RenderServerComponent","getDefaultLayoutHandler","req","user","Error","defaultLayout","widgets","payload","config","admin","dashboard","importMap","layoutItems","getItemsFromConfig","layout","map","layoutItem","widgetSlug","id","slice","lastIndexOf","component","Component","find","widget","slug","ComponentPath","serverProps","item","widgetInstances","widgetInstance","index","w","maxWidth","minWidth","width"],"mappings":"AAQA,SAASA,qBAAqB,QAAQ,gDAA+C;AAUrF;;;CAGC,GACD,OAAO,MAAMC,0BAGT,OAAO,EAAEC,GAAG,EAAE;IAChB,IAAI,CAACA,IAAIC,IAAI,EAAE;QACb,MAAM,IAAIC,MAAM;IAClB;IAEA,MAAM,EAAEC,gBAAgB,EAAE,EAAEC,UAAU,EAAE,EAAE,GAAGJ,IAAIK,OAAO,CAACC,MAAM,CAACC,KAAK,CAACC,SAAS,IAAI,CAAC;IACpF,MAAM,EAAEC,SAAS,EAAE,GAAGT,IAAIK,OAAO;IAEjC,MAAMK,cAAc,MAAMC,mBAAmBR,eAAeH,KAAKI;IAEjE,MAAMQ,SAAiCF,YAAYG,GAAG,CAAC,CAACC;QACtD,MAAMC,aAAaD,WAAWE,EAAE,CAACC,KAAK,CAAC,GAAGH,WAAWE,EAAE,CAACE,WAAW,CAAC;QACpE,OAAO;YACLC,WAAWrB,sBAAsB;gBAC/BsB,WAAWhB,QAAQiB,IAAI,CAAC,CAACC,SAAWA,OAAOC,IAAI,KAAKR,aAAaS;gBACjEf;gBACAgB,aAAa;oBACXzB;oBACAe;gBACF;YACF;YACAW,MAAMZ;QACR;IACF;IAEA,OAAO;QAAEF;IAAO;AAClB,EAAC;AAED,eAAeD,mBACbR,aAA4D,EAC5DH,GAAmB,EACnBI,OAAiB;IAEjB,yBAAyB;IACzB,IAAIuB;IACJ,IAAI,OAAOxB,kBAAkB,YAAY;QACvCwB,kBAAkB,MAAMxB,cAAc;YAAEH;QAAI;IAC9C,OAAO;QACL2B,kBAAkBxB;IACpB;IAEA,OAAOwB,gBAAgBd,GAAG,CAAC,CAACe,gBAAgBC;QAC1C,MAAMP,SAASlB,QAAQiB,IAAI,CAAC,CAACS,IAAMA,EAAEP,IAAI,KAAKK,eAAeb,UAAU;QACvE,OAAO;YACLC,IAAI,GAAGY,eAAeb,UAAU,CAAC,CAAC,EAAEc,OAAO;YAC3CE,UAAUT,QAAQS,YAAY;YAC9BC,UAAUV,QAAQU,YAAY;YAC9BC,OAAOL,eAAeK,KAAK,IAAI;QACjC;IACF;AACF"}
|
|
@@ -1,72 +1,71 @@
|
|
|
1
1
|
import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
/**
|
|
4
|
+
* Instance-specific data for this widget
|
|
5
|
+
*/ // TODO: widgets will support state in the future
|
|
6
|
+
// widgetData?: Record<string, unknown>
|
|
7
|
+
/**
|
|
8
|
+
* The slug of the widget to render
|
|
9
|
+
*/ /**
|
|
4
10
|
* Server function to render a widget on-demand.
|
|
5
11
|
* Similar to render-field but specifically for dashboard widgets.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
borderRadius: '4px',
|
|
64
|
-
color: 'var(--theme-error-text)',
|
|
65
|
-
padding: '20px',
|
|
66
|
-
textAlign: 'center'
|
|
67
|
-
}
|
|
68
|
-
}, 'Error loading widget')
|
|
69
|
-
};
|
|
70
|
-
}
|
|
12
|
+
*/ export const renderWidgetHandler = ({ req, /* widgetData, */ widgetSlug })=>{
|
|
13
|
+
if (!req.user) {
|
|
14
|
+
throw new Error('Unauthorized');
|
|
15
|
+
}
|
|
16
|
+
const { widgets } = req.payload.config.admin.dashboard;
|
|
17
|
+
const { importMap } = req.payload;
|
|
18
|
+
// Find the widget configuration
|
|
19
|
+
const widgetConfig = widgets.find((widget)=>widget.slug === widgetSlug);
|
|
20
|
+
if (!widgetConfig) {
|
|
21
|
+
return {
|
|
22
|
+
component: React.createElement('div', {
|
|
23
|
+
style: {
|
|
24
|
+
background: 'var(--theme-elevation-50)',
|
|
25
|
+
border: '1px solid var(--theme-elevation-200)',
|
|
26
|
+
borderRadius: '4px',
|
|
27
|
+
color: 'var(--theme-text)',
|
|
28
|
+
padding: '20px',
|
|
29
|
+
textAlign: 'center'
|
|
30
|
+
}
|
|
31
|
+
}, `Widget "${widgetSlug}" not found`)
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
try {
|
|
35
|
+
// Create server props for the widget
|
|
36
|
+
const serverProps = {
|
|
37
|
+
req,
|
|
38
|
+
// TODO: widgetData: widgetData || {},
|
|
39
|
+
widgetSlug
|
|
40
|
+
};
|
|
41
|
+
// Render the widget server component
|
|
42
|
+
const component = RenderServerComponent({
|
|
43
|
+
Component: widgetConfig.ComponentPath,
|
|
44
|
+
importMap,
|
|
45
|
+
serverProps
|
|
46
|
+
});
|
|
47
|
+
return {
|
|
48
|
+
component
|
|
49
|
+
};
|
|
50
|
+
} catch (error) {
|
|
51
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
52
|
+
req.payload.logger.error({
|
|
53
|
+
err: error,
|
|
54
|
+
msg: `Error rendering widget "${widgetSlug}": ${errorMessage}`
|
|
55
|
+
});
|
|
56
|
+
return {
|
|
57
|
+
component: React.createElement('div', {
|
|
58
|
+
style: {
|
|
59
|
+
background: 'var(--theme-error-50)',
|
|
60
|
+
border: '1px solid var(--theme-error-200)',
|
|
61
|
+
borderRadius: '4px',
|
|
62
|
+
color: 'var(--theme-error-text)',
|
|
63
|
+
padding: '20px',
|
|
64
|
+
textAlign: 'center'
|
|
65
|
+
}
|
|
66
|
+
}, 'Error loading widget')
|
|
67
|
+
};
|
|
68
|
+
}
|
|
71
69
|
};
|
|
70
|
+
|
|
72
71
|
//# sourceMappingURL=renderWidgetServerFn.js.map
|
package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.ts"],"sourcesContent":["import type { ServerFunction, WidgetServerProps } from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport React from 'react'\n\nexport type RenderWidgetServerFnArgs = {\n /**\n * Instance-specific data for this widget\n */\n // TODO: widgets will support state in the future\n // widgetData?: Record<string, unknown>\n /**\n * The slug of the widget to render\n */\n widgetSlug: string\n}\n\nexport type RenderWidgetServerFnReturnType = {\n component: React.ReactNode\n}\n\n/**\n * Server function to render a widget on-demand.\n * Similar to render-field but specifically for dashboard widgets.\n */\nexport const renderWidgetHandler: ServerFunction<\n RenderWidgetServerFnArgs,\n RenderWidgetServerFnReturnType\n> = ({ req, /* widgetData, */ widgetSlug }) => {\n if (!req.user) {\n throw new Error('Unauthorized')\n }\n\n const { widgets } = req.payload.config.admin.dashboard\n const { importMap } = req.payload\n\n // Find the widget configuration\n const widgetConfig = widgets.find((widget) => widget.slug === widgetSlug)\n\n if (!widgetConfig) {\n return {\n component: React.createElement(\n 'div',\n {\n style: {\n background: 'var(--theme-elevation-50)',\n border: '1px solid var(--theme-elevation-200)',\n borderRadius: '4px',\n color: 'var(--theme-text)',\n padding: '20px',\n textAlign: 'center',\n },\n },\n `Widget \"${widgetSlug}\" not found`,\n ),\n }\n }\n\n try {\n // Create server props for the widget\n const serverProps: WidgetServerProps = {\n req,\n // TODO: widgetData: widgetData || {},\n widgetSlug,\n }\n\n // Render the widget server component\n const component = RenderServerComponent({\n Component: widgetConfig.ComponentPath,\n importMap,\n serverProps,\n })\n\n return { component }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error)\n\n req.payload.logger.error({\n err: error,\n msg: `Error rendering widget \"${widgetSlug}\": ${errorMessage}`,\n })\n\n return {\n component: React.createElement(\n 'div',\n {\n style: {\n background: 'var(--theme-error-50)',\n border: '1px solid var(--theme-error-200)',\n borderRadius: '4px',\n color: 'var(--theme-error-text)',\n padding: '20px',\n textAlign: 'center',\n },\n },\n 'Error loading widget',\n ),\n }\n }\n}\n"],"names":["RenderServerComponent","React","renderWidgetHandler","req","widgetSlug","user","Error","widgets","payload","config","admin","dashboard","importMap","widgetConfig","find","widget","slug","component","createElement","style","background","border","borderRadius","color","padding","textAlign","serverProps","Component","ComponentPath","error","errorMessage","message","String","logger","err","msg"],"mappings":"AAEA,SAASA,qBAAqB,QAAQ,gDAA+C;AACrF,OAAOC,WAAW,QAAO;AAGvB;;GAEC,GACD,iDAAiD;AACjD,uCAAuC;AACvC;;GAEC,GAQH;;;CAGC,GACD,OAAO,MAAMC,sBAGT,CAAC,EAAEC,GAAG,EAAE,eAAe,GAAGC,UAAU,EAAE;IACxC,IAAI,CAACD,IAAIE,IAAI,EAAE;QACb,MAAM,IAAIC,MAAM;IAClB;IAEA,MAAM,EAAEC,OAAO,EAAE,GAAGJ,IAAIK,OAAO,CAACC,MAAM,CAACC,KAAK,CAACC,SAAS;IACtD,MAAM,EAAEC,SAAS,EAAE,GAAGT,IAAIK,OAAO;IAEjC,gCAAgC;IAChC,MAAMK,eAAeN,QAAQO,IAAI,CAAC,CAACC,SAAWA,OAAOC,IAAI,KAAKZ;IAE9D,IAAI,CAACS,cAAc;QACjB,OAAO;YACLI,WAAWhB,MAAMiB,aAAa,CAC5B,OACA;gBACEC,OAAO;oBACLC,YAAY;oBACZC,QAAQ;oBACRC,cAAc;oBACdC,OAAO;oBACPC,SAAS;oBACTC,WAAW;gBACb;YACF,GACA,CAAC,QAAQ,EAAErB,WAAW,WAAW,CAAC;QAEtC;IACF;IAEA,IAAI;QACF,qCAAqC;QACrC,MAAMsB,cAAiC;YACrCvB;YACA,sCAAsC;YACtCC;QACF;QAEA,qCAAqC;QACrC,MAAMa,YAAYjB,sBAAsB;YACtC2B,WAAWd,aAAae,aAAa;YACrChB;YACAc;QACF;QAEA,OAAO;YAAET;QAAU;IACrB,EAAE,OAAOY,OAAO;QACd,MAAMC,eAAeD,iBAAiBvB,QAAQuB,MAAME,OAAO,GAAGC,OAAOH;QAErE1B,IAAIK,OAAO,CAACyB,MAAM,CAACJ,KAAK,CAAC;YACvBK,KAAKL;YACLM,KAAK,CAAC,wBAAwB,EAAE/B,WAAW,GAAG,EAAE0B,cAAc;QAChE;QAEA,OAAO;YACLb,WAAWhB,MAAMiB,aAAa,CAC5B,OACA;gBACEC,OAAO;oBACLC,YAAY;oBACZC,QAAQ;oBACRC,cAAc;oBACdC,OAAO;oBACPC,SAAS;oBACTC,WAAW;gBACb;YACF,GACA;QAEJ;IACF;AACF,EAAC"}
|