@payloadcms/next 3.78.0-internal-debug.f663370 → 3.78.0-internal.ab11ffa
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 +58 -52
- package/dist/auth/login.js.map +1 -1
- package/dist/auth/logout.js +44 -39
- package/dist/auth/logout.js.map +1 -1
- package/dist/auth/refresh.js +47 -45
- package/dist/auth/refresh.js.map +1 -1
- package/dist/cjs/withPayload.cjs +24 -65
- package/dist/cjs/withPayload.cjs.map +2 -2
- package/dist/config.js +0 -1
- package/dist/config.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +15 -9
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +71 -40
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +59 -65
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.js +70 -80
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +23 -16
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js +69 -61
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.js +28 -48
- package/dist/elements/DocumentHeader/index.js.map +1 -1
- package/dist/elements/FormHeader/index.js +16 -30
- package/dist/elements/FormHeader/index.js.map +1 -1
- package/dist/elements/Logo/index.js +34 -19
- package/dist/elements/Logo/index.js.map +1 -1
- package/dist/elements/Nav/NavHamburger/index.js +44 -23
- package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.js +54 -28
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
- package/dist/elements/Nav/SettingsMenuButton/index.js +39 -33
- package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
- package/dist/elements/Nav/getNavPrefs.js +22 -27
- package/dist/elements/Nav/getNavPrefs.js.map +1 -1
- package/dist/elements/Nav/index.client.js +118 -97
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/elements/Nav/index.js +170 -191
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/exports/auth.js +0 -1
- 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 +0 -1
- package/dist/exports/layouts.js.map +1 -1
- package/dist/exports/routes.js +0 -1
- package/dist/exports/routes.js.map +1 -1
- package/dist/exports/rsc.js +0 -1
- package/dist/exports/rsc.js.map +1 -1
- package/dist/exports/templates.js +0 -1
- package/dist/exports/templates.js.map +1 -1
- package/dist/exports/utilities.js +12 -7
- package/dist/exports/utilities.js.map +1 -1
- package/dist/exports/views.js +0 -1
- package/dist/exports/views.js.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/layouts/Root/NestProviders.js +20 -21
- package/dist/layouts/Root/NestProviders.js.map +1 -1
- package/dist/layouts/Root/checkDependencies.js +41 -49
- package/dist/layouts/Root/checkDependencies.js.map +1 -1
- package/dist/layouts/Root/index.js +103 -128
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/prod/styles.css +1 -5
- package/dist/routes/graphql/handler.js +122 -114
- package/dist/routes/graphql/handler.js.map +1 -1
- package/dist/routes/graphql/index.js +0 -1
- package/dist/routes/graphql/index.js.map +1 -1
- package/dist/routes/graphql/playground.js +27 -28
- package/dist/routes/graphql/playground.js.map +1 -1
- package/dist/routes/index.js +0 -1
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/rest/index.js +22 -23
- package/dist/routes/rest/index.js.map +1 -1
- package/dist/routes/rest/og/image.js +79 -103
- package/dist/routes/rest/og/image.js.map +1 -1
- package/dist/routes/rest/og/index.js +54 -59
- package/dist/routes/rest/og/index.js.map +1 -1
- package/dist/templates/Default/NavHamburger/index.js +20 -12
- package/dist/templates/Default/NavHamburger/index.js.map +1 -1
- package/dist/templates/Default/Wrapper/index.js +44 -20
- package/dist/templates/Default/Wrapper/index.js.map +1 -1
- package/dist/templates/Default/index.js +116 -147
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/templates/Minimal/index.js +17 -26
- package/dist/templates/Minimal/index.js.map +1 -1
- package/dist/utilities/getExistingAuthToken.js +2 -3
- package/dist/utilities/getExistingAuthToken.js.map +1 -1
- package/dist/utilities/getNextRequestI18n.js +13 -12
- 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 +22 -27
- package/dist/utilities/getPreferences.js.map +1 -1
- package/dist/utilities/getRequestLocale.js +14 -13
- 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 +5 -3
- package/dist/utilities/getRouteWithoutAdmin.js.map +1 -1
- package/dist/utilities/handleAuthRedirect.js +36 -22
- package/dist/utilities/handleAuthRedirect.js.map +1 -1
- package/dist/utilities/handleServerFunctions.js +43 -33
- package/dist/utilities/handleServerFunctions.js.map +1 -1
- package/dist/utilities/initReq.js +96 -78
- package/dist/utilities/initReq.js.map +1 -1
- package/dist/utilities/isCustomAdminView.js +26 -22
- package/dist/utilities/isCustomAdminView.js.map +1 -1
- package/dist/utilities/isPublicAdminRoute.js +20 -26
- package/dist/utilities/isPublicAdminRoute.js.map +1 -1
- package/dist/utilities/meta.js +63 -68
- package/dist/utilities/meta.js.map +1 -1
- package/dist/utilities/selectiveCache.js +26 -25
- package/dist/utilities/selectiveCache.js.map +1 -1
- package/dist/utilities/setPayloadAuthCookie.js +22 -19
- package/dist/utilities/setPayloadAuthCookie.js.map +1 -1
- package/dist/utilities/slugify.js +33 -24
- package/dist/utilities/slugify.js.map +1 -1
- package/dist/utilities/timestamp.js +6 -7
- package/dist/utilities/timestamp.js.map +1 -1
- package/dist/views/API/LocaleSelector/index.js +39 -17
- package/dist/views/API/LocaleSelector/index.js.map +1 -1
- package/dist/views/API/RenderJSON/index.js +126 -171
- package/dist/views/API/RenderJSON/index.js.map +1 -1
- package/dist/views/API/index.client.js +199 -291
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/API/index.js +2 -7
- package/dist/views/API/index.js.map +1 -1
- package/dist/views/API/metadata.js +23 -18
- package/dist/views/API/metadata.js.map +1 -1
- package/dist/views/Account/ResetPreferences/index.js +102 -78
- package/dist/views/Account/ResetPreferences/index.js.map +1 -1
- package/dist/views/Account/Settings/LanguageSelector.js +47 -18
- package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
- package/dist/views/Account/Settings/index.js +25 -60
- package/dist/views/Account/Settings/index.js.map +1 -1
- package/dist/views/Account/ToggleTheme/index.js +55 -38
- package/dist/views/Account/ToggleTheme/index.js.map +1 -1
- package/dist/views/Account/index.client.js +32 -16
- package/dist/views/Account/index.client.js.map +1 -1
- package/dist/views/Account/index.d.ts.map +1 -1
- package/dist/views/Account/index.js +162 -147
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/Account/metadata.js +12 -8
- package/dist/views/Account/metadata.js.map +1 -1
- package/dist/views/BrowseByFolder/buildView.js +157 -138
- 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 +15 -13
- package/dist/views/BrowseByFolder/metadata.js.map +1 -1
- package/dist/views/CollectionFolders/buildView.js +142 -122
- 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 +21 -18
- package/dist/views/CollectionFolders/metadata.js.map +1 -1
- package/dist/views/CollectionFolders/renderFolderViewSlots.js +61 -58
- 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 +21 -18
- package/dist/views/CollectionTrash/metadata.js.map +1 -1
- package/dist/views/CreateFirstUser/index.client.js +103 -117
- package/dist/views/CreateFirstUser/index.client.js.map +1 -1
- package/dist/views/CreateFirstUser/index.js +81 -87
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/CreateFirstUser/metadata.js +12 -8
- package/dist/views/CreateFirstUser/metadata.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +174 -151
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts +11 -0
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +128 -0
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts +8 -0
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +78 -0
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +415 -423
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.js +66 -82
- package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.d.ts +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +95 -61
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +54 -43
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.d.ts +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +73 -67
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +173 -173
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js +30 -31
- package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromConfig.d.ts +4 -0
- package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromConfig.d.ts.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromConfig.js +21 -0
- package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromConfig.js.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts +4 -0
- package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js +10 -0
- package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.d.ts +23 -0
- package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.d.ts.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.js +103 -0
- package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.js.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +229 -223
- package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -1
- package/dist/views/Dashboard/Default/index.js +45 -59
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Dashboard/index.js +42 -46
- package/dist/views/Dashboard/index.js.map +1 -1
- package/dist/views/Dashboard/metadata.js +14 -10
- package/dist/views/Dashboard/metadata.js.map +1 -1
- package/dist/views/Document/getCustomDocumentViewByKey.js +2 -3
- package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -1
- package/dist/views/Document/getCustomViewByRoute.js +30 -27
- package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
- package/dist/views/Document/getDocPreferences.js +41 -40
- package/dist/views/Document/getDocPreferences.js.map +1 -1
- package/dist/views/Document/getDocumentData.js +55 -44
- package/dist/views/Document/getDocumentData.js.map +1 -1
- package/dist/views/Document/getDocumentPermissions.d.ts +2 -0
- package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -1
- package/dist/views/Document/getDocumentPermissions.js +117 -77
- package/dist/views/Document/getDocumentPermissions.js.map +1 -1
- package/dist/views/Document/getDocumentView.js +283 -313
- package/dist/views/Document/getDocumentView.js.map +1 -1
- package/dist/views/Document/getIsLocked.js +73 -73
- package/dist/views/Document/getIsLocked.js.map +1 -1
- package/dist/views/Document/getMetaBySegment.js +136 -130
- package/dist/views/Document/getMetaBySegment.js.map +1 -1
- package/dist/views/Document/getVersions.js +213 -220
- package/dist/views/Document/getVersions.js.map +1 -1
- package/dist/views/Document/handleServerFunction.js +127 -100
- package/dist/views/Document/handleServerFunction.js.map +1 -1
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +359 -317
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Document/metadata.js +1 -2
- package/dist/views/Document/metadata.js.map +1 -1
- package/dist/views/Document/renderDocumentSlots.js +155 -141
- package/dist/views/Document/renderDocumentSlots.js.map +1 -1
- package/dist/views/Edit/index.js +6 -10
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/Edit/metadata.js +46 -36
- package/dist/views/Edit/metadata.js.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +164 -130
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/ForgotPassword/index.js +62 -79
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/ForgotPassword/metadata.js +12 -8
- package/dist/views/ForgotPassword/metadata.js.map +1 -1
- package/dist/views/List/createSerializableValue.js +11 -12
- 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 +14 -15
- package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -1
- package/dist/views/List/extractValueOrRelationshipID.js +15 -16
- package/dist/views/List/extractValueOrRelationshipID.js.map +1 -1
- package/dist/views/List/handleGroupBy.js +150 -133
- package/dist/views/List/handleGroupBy.js.map +1 -1
- package/dist/views/List/handleServerFunction.js +122 -96
- package/dist/views/List/handleServerFunction.js.map +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +328 -302
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/metadata.js +20 -17
- package/dist/views/List/metadata.js.map +1 -1
- package/dist/views/List/renderListViewSlots.js +75 -82
- package/dist/views/List/renderListViewSlots.js.map +1 -1
- package/dist/views/List/resolveAllFilterOptions.js +45 -43
- package/dist/views/List/resolveAllFilterOptions.js.map +1 -1
- package/dist/views/List/transformColumnsToSelect.js +8 -9
- package/dist/views/List/transformColumnsToSelect.js.map +1 -1
- package/dist/views/Login/LoginField/index.js +89 -57
- package/dist/views/Login/LoginField/index.js.map +1 -1
- package/dist/views/Login/LoginForm/index.js +160 -107
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/Login/index.js +85 -82
- package/dist/views/Login/index.js.map +1 -1
- package/dist/views/Login/metadata.js +12 -8
- package/dist/views/Login/metadata.js.map +1 -1
- package/dist/views/Logout/LogoutClient.js +120 -84
- 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/metadata.js +11 -7
- package/dist/views/Logout/metadata.js.map +1 -1
- package/dist/views/NotFound/index.client.js +82 -71
- package/dist/views/NotFound/index.client.js.map +1 -1
- package/dist/views/NotFound/index.js +73 -72
- package/dist/views/NotFound/index.js.map +1 -1
- package/dist/views/NotFound/metadata.js +9 -7
- package/dist/views/NotFound/metadata.js.map +1 -1
- package/dist/views/ResetPassword/ResetPasswordForm/index.js +108 -97
- package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
- package/dist/views/ResetPassword/index.js +73 -93
- package/dist/views/ResetPassword/index.js.map +1 -1
- package/dist/views/ResetPassword/metadata.js +12 -8
- package/dist/views/ResetPassword/metadata.js.map +1 -1
- package/dist/views/Root/attachViewActions.js +23 -18
- package/dist/views/Root/attachViewActions.js.map +1 -1
- package/dist/views/Root/generateCustomViewMetadata.js +21 -19
- package/dist/views/Root/generateCustomViewMetadata.js.map +1 -1
- package/dist/views/Root/getCustomViewByKey.js +14 -12
- package/dist/views/Root/getCustomViewByKey.js.map +1 -1
- package/dist/views/Root/getCustomViewByRoute.js +42 -31
- package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
- package/dist/views/Root/getDocumentViewInfo.js +23 -24
- package/dist/views/Root/getDocumentViewInfo.js.map +1 -1
- package/dist/views/Root/getRouteData.js +325 -333
- package/dist/views/Root/getRouteData.js.map +1 -1
- package/dist/views/Root/index.js +270 -248
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Root/isPathMatchingRoute.js +26 -21
- package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
- package/dist/views/Root/metadata.js +181 -176
- package/dist/views/Root/metadata.js.map +1 -1
- package/dist/views/Unauthorized/index.js +46 -54
- package/dist/views/Unauthorized/index.js.map +1 -1
- package/dist/views/Unauthorized/metadata.js +12 -8
- package/dist/views/Unauthorized/metadata.js.map +1 -1
- package/dist/views/Verify/index.client.js +43 -25
- package/dist/views/Verify/index.client.js.map +1 -1
- package/dist/views/Verify/index.js +64 -69
- package/dist/views/Verify/index.js.map +1 -1
- package/dist/views/Verify/metadata.js +12 -8
- 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 +127 -86
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.js +236 -380
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/Default/types.js +1 -2
- package/dist/views/Version/Default/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +119 -102
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +73 -78
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +408 -363
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +51 -40
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +71 -36
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +56 -59
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +117 -139
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +61 -56
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +206 -224
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +11 -17
- package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +75 -49
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +146 -135
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +83 -57
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +211 -252
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js +22 -23
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.js +9 -12
- package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +228 -213
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +826 -1005
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +1 -2
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +43 -44
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +36 -32
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +129 -145
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
- package/dist/views/Version/Restore/index.d.ts.map +1 -1
- package/dist/views/Version/Restore/index.js +92 -117
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +50 -33
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js +226 -170
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.js +50 -73
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/types.js +1 -2
- package/dist/views/Version/SelectComparison/types.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.js +32 -34
- package/dist/views/Version/SelectLocales/index.js.map +1 -1
- package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +100 -106
- package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
- package/dist/views/Version/VersionPillLabel/getVersionLabel.js +35 -30
- package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -1
- package/dist/views/Version/fetchVersions.js +138 -113
- package/dist/views/Version/fetchVersions.js.map +1 -1
- package/dist/views/Version/index.js +326 -328
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Version/metadata.js +50 -43
- package/dist/views/Version/metadata.js.map +1 -1
- package/dist/views/Versions/buildColumns.js +79 -95
- package/dist/views/Versions/buildColumns.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +38 -34
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js +53 -32
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/cells/ID/index.js +8 -10
- package/dist/views/Versions/cells/ID/index.js.map +1 -1
- package/dist/views/Versions/index.client.js +83 -106
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/views/Versions/index.js +164 -164
- package/dist/views/Versions/index.js.map +1 -1
- package/dist/views/Versions/metadata.js +44 -37
- package/dist/views/Versions/metadata.js.map +1 -1
- package/dist/views/Versions/types.js +1 -2
- package/dist/views/Versions/types.js.map +1 -1
- package/dist/withPayload/withPayload.js +177 -236
- package/dist/withPayload/withPayload.js.map +1 -1
- package/dist/withPayload/withPayload.spec.js +35 -36
- package/dist/withPayload/withPayload.spec.js.map +1 -1
- package/dist/withPayload/withPayload.utils.js +73 -65
- package/dist/withPayload/withPayload.utils.js.map +1 -1
- package/dist/withPayload/withPayloadLegacy.js +40 -41
- package/dist/withPayload/withPayloadLegacy.js.map +1 -1
- package/package.json +8 -8
- package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +0 -38
- package/dist/elements/DocumentHeader/Tabs/index.scss +0 -54
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.scss +0 -10
- package/dist/elements/DocumentHeader/index.scss +0 -64
- package/dist/elements/FormHeader/index.scss +0 -8
- package/dist/elements/Nav/NavWrapper/index.scss +0 -27
- package/dist/elements/Nav/SettingsMenuButton/index.scss +0 -11
- package/dist/elements/Nav/index.scss +0 -173
- package/dist/esbuildEntry.d.ts +0 -5
- package/dist/esbuildEntry.d.ts.map +0 -1
- package/dist/esbuildEntry.js +0 -6
- package/dist/esbuildEntry.js.map +0 -1
- package/dist/templates/Default/Wrapper/index.scss +0 -58
- package/dist/templates/Default/index.scss +0 -79
- package/dist/templates/Minimal/index.scss +0 -30
- package/dist/views/API/RenderJSON/index.scss +0 -129
- package/dist/views/API/index.scss +0 -119
- package/dist/views/Account/Settings/index.scss +0 -48
- package/dist/views/CreateFirstUser/index.scss +0 -21
- package/dist/views/Dashboard/Default/ModularDashboard/index.scss +0 -316
- package/dist/views/Login/LoginForm/index.scss +0 -10
- package/dist/views/Login/index.scss +0 -10
- package/dist/views/Logout/index.scss +0 -25
- package/dist/views/NotFound/index.scss +0 -57
- package/dist/views/ResetPassword/index.scss +0 -11
- package/dist/views/Unauthorized/index.scss +0 -14
- package/dist/views/Verify/index.scss +0 -16
- package/dist/views/Version/Default/index.scss +0 -170
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.scss +0 -81
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.scss +0 -12
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.scss +0 -9
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +0 -59
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +0 -91
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +0 -4
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.scss +0 -9
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +0 -4
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.scss +0 -121
- package/dist/views/Version/RenderFieldsToDiff/index.scss +0 -24
- package/dist/views/Version/Restore/index.scss +0 -84
- package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +0 -18
- package/dist/views/Version/SelectComparison/index.scss +0 -9
- package/dist/views/Version/VersionPillLabel/index.scss +0 -26
- package/dist/views/Versions/cells/AutosaveCell/index.scss +0 -9
- package/dist/views/Versions/index.scss +0 -110
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { fieldAffectsData, fieldHasSubFields, tabHasName } from 'payload/shared';
|
|
2
|
+
function isLocalized(field) {
|
|
3
|
+
return 'localized' in field && Boolean(field.localized);
|
|
4
|
+
}
|
|
5
|
+
function getObjectValue(value) {
|
|
6
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value) ? value : {};
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Extracts locale-specific data from widget data stored in preferences.
|
|
10
|
+
*
|
|
11
|
+
* Localized fields are stored as `{ fieldName: { en: "Hello", de: "Hallo" } }` in preferences.
|
|
12
|
+
* This function flattens them to `{ fieldName: "Hello" }` for the given locale,
|
|
13
|
+
* which is the format the form state builder expects.
|
|
14
|
+
*
|
|
15
|
+
* Recursively handles nested field types (group, row, collapsible, tabs).
|
|
16
|
+
*/
|
|
17
|
+
export function extractLocaleData(widgetData, locale, fields) {
|
|
18
|
+
const result = {};
|
|
19
|
+
for (const field of fields) {
|
|
20
|
+
if (field.type === 'tabs') {
|
|
21
|
+
for (const tab of field.tabs) {
|
|
22
|
+
const tabFields = tab.fields;
|
|
23
|
+
if (tabHasName(tab)) {
|
|
24
|
+
result[tab.name] = extractLocaleData(getObjectValue(widgetData[tab.name]), locale, tabFields);
|
|
25
|
+
} else {
|
|
26
|
+
Object.assign(result, extractLocaleData(widgetData, locale, tabFields));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
if (fieldHasSubFields(field) && !fieldAffectsData(field)) {
|
|
32
|
+
Object.assign(result, extractLocaleData(widgetData, locale, field.fields));
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
if (!fieldAffectsData(field)) {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
const {
|
|
39
|
+
name
|
|
40
|
+
} = field;
|
|
41
|
+
const value = widgetData[name];
|
|
42
|
+
if (fieldHasSubFields(field)) {
|
|
43
|
+
result[name] = extractLocaleData(getObjectValue(value), locale, field.fields);
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
if (isLocalized(field) && value !== undefined && typeof value === 'object' && value !== null && !Array.isArray(value)) {
|
|
47
|
+
result[name] = value[locale];
|
|
48
|
+
} else {
|
|
49
|
+
result[name] = value;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Merges locale-specific form data back into the full widget data structure.
|
|
56
|
+
*
|
|
57
|
+
* Non-localized fields are stored directly. Localized fields are stored as
|
|
58
|
+
* `{ fieldName: { en: "Hello", de: "Hallo" } }` so each locale's value is preserved independently.
|
|
59
|
+
*
|
|
60
|
+
* Recursively handles nested field types (group, row, collapsible, tabs).
|
|
61
|
+
*/
|
|
62
|
+
export function mergeLocaleData(existingData, formData, locale, fields) {
|
|
63
|
+
const result = {
|
|
64
|
+
...existingData
|
|
65
|
+
};
|
|
66
|
+
for (const field of fields) {
|
|
67
|
+
if (field.type === 'tabs') {
|
|
68
|
+
for (const tab of field.tabs) {
|
|
69
|
+
const tabFields = tab.fields;
|
|
70
|
+
if (tabHasName(tab)) {
|
|
71
|
+
result[tab.name] = mergeLocaleData(getObjectValue(result[tab.name]), getObjectValue(formData[tab.name]), locale, tabFields);
|
|
72
|
+
} else {
|
|
73
|
+
Object.assign(result, mergeLocaleData(result, formData, locale, tabFields));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
if (fieldHasSubFields(field) && !fieldAffectsData(field)) {
|
|
79
|
+
Object.assign(result, mergeLocaleData(result, formData, locale, field.fields));
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
if (!fieldAffectsData(field)) {
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
const {
|
|
86
|
+
name
|
|
87
|
+
} = field;
|
|
88
|
+
if (fieldHasSubFields(field)) {
|
|
89
|
+
result[name] = mergeLocaleData(getObjectValue(result[name]), getObjectValue(formData[name]), locale, field.fields);
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
if (isLocalized(field)) {
|
|
93
|
+
result[name] = {
|
|
94
|
+
...getObjectValue(result[name]),
|
|
95
|
+
[locale]: formData[name]
|
|
96
|
+
};
|
|
97
|
+
} else {
|
|
98
|
+
result[name] = formData[name];
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return result;
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=localeUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localeUtils.js","names":["fieldAffectsData","fieldHasSubFields","tabHasName","isLocalized","field","Boolean","localized","getObjectValue","value","Array","isArray","extractLocaleData","widgetData","locale","fields","result","type","tab","tabs","tabFields","name","Object","assign","undefined","mergeLocaleData","existingData","formData"],"sources":["../../../../../../src/views/Dashboard/Default/ModularDashboard/utils/localeUtils.ts"],"sourcesContent":["import type { ClientField, Field } from 'payload'\n\nimport { fieldAffectsData, fieldHasSubFields, tabHasName } from 'payload/shared'\n\ntype AnyField = ClientField | Field\n\nfunction isLocalized(field: AnyField): boolean {\n return 'localized' in field && Boolean(field.localized)\n}\n\nfunction getObjectValue(value: unknown): Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value)\n ? (value as Record<string, unknown>)\n : {}\n}\n\n/**\n * Extracts locale-specific data from widget data stored in preferences.\n *\n * Localized fields are stored as `{ fieldName: { en: \"Hello\", de: \"Hallo\" } }` in preferences.\n * This function flattens them to `{ fieldName: \"Hello\" }` for the given locale,\n * which is the format the form state builder expects.\n *\n * Recursively handles nested field types (group, row, collapsible, tabs).\n */\nexport function extractLocaleData(\n widgetData: Record<string, unknown>,\n locale: string,\n fields: readonly AnyField[],\n): Record<string, unknown> {\n const result: Record<string, unknown> = {}\n\n for (const field of fields) {\n if (field.type === 'tabs') {\n for (const tab of field.tabs) {\n const tabFields = tab.fields as AnyField[]\n if (tabHasName(tab)) {\n result[tab.name] = extractLocaleData(\n getObjectValue(widgetData[tab.name]),\n locale,\n tabFields,\n )\n } else {\n Object.assign(result, extractLocaleData(widgetData, locale, tabFields))\n }\n }\n continue\n }\n\n if (fieldHasSubFields(field) && !fieldAffectsData(field)) {\n Object.assign(result, extractLocaleData(widgetData, locale, field.fields as AnyField[]))\n continue\n }\n\n if (!fieldAffectsData(field)) {\n continue\n }\n\n const { name } = field\n const value = widgetData[name]\n\n if (fieldHasSubFields(field)) {\n result[name] = extractLocaleData(getObjectValue(value), locale, field.fields as AnyField[])\n continue\n }\n\n if (\n isLocalized(field) &&\n value !== undefined &&\n typeof value === 'object' &&\n value !== null &&\n !Array.isArray(value)\n ) {\n result[name] = (value as Record<string, unknown>)[locale]\n } else {\n result[name] = value\n }\n }\n\n return result\n}\n\n/**\n * Merges locale-specific form data back into the full widget data structure.\n *\n * Non-localized fields are stored directly. Localized fields are stored as\n * `{ fieldName: { en: \"Hello\", de: \"Hallo\" } }` so each locale's value is preserved independently.\n *\n * Recursively handles nested field types (group, row, collapsible, tabs).\n */\nexport function mergeLocaleData(\n existingData: Record<string, unknown>,\n formData: Record<string, unknown>,\n locale: string,\n fields: readonly AnyField[],\n): Record<string, unknown> {\n const result: Record<string, unknown> = { ...existingData }\n\n for (const field of fields) {\n if (field.type === 'tabs') {\n for (const tab of field.tabs) {\n const tabFields = tab.fields as AnyField[]\n if (tabHasName(tab)) {\n result[tab.name] = mergeLocaleData(\n getObjectValue(result[tab.name]),\n getObjectValue(formData[tab.name]),\n locale,\n tabFields,\n )\n } else {\n Object.assign(result, mergeLocaleData(result, formData, locale, tabFields))\n }\n }\n continue\n }\n\n if (fieldHasSubFields(field) && !fieldAffectsData(field)) {\n Object.assign(result, mergeLocaleData(result, formData, locale, field.fields as AnyField[]))\n continue\n }\n\n if (!fieldAffectsData(field)) {\n continue\n }\n\n const { name } = field\n\n if (fieldHasSubFields(field)) {\n result[name] = mergeLocaleData(\n getObjectValue(result[name]),\n getObjectValue(formData[name]),\n locale,\n field.fields as AnyField[],\n )\n continue\n }\n\n if (isLocalized(field)) {\n result[name] = { ...getObjectValue(result[name]), [locale]: formData[name] }\n } else {\n result[name] = formData[name]\n }\n }\n\n return result\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,257 +2,263 @@ import { KeyboardCode, KeyboardSensor, PointerSensor, useSensor, useSensors } fr
|
|
|
2
2
|
/**
|
|
3
3
|
* Get all droppable widget positions, filtering out overlapping "before" droppables
|
|
4
4
|
* and assigning row numbers based on Y position.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const otherRect = other.getBoundingClientRect();
|
|
30
|
-
const otherCenterX = otherRect.left + otherRect.width / 2;
|
|
31
|
-
const otherCenterY = otherRect.top + otherRect.height / 2;
|
|
32
|
-
return Math.abs(otherCenterX - centerX) < positionTolerance && Math.abs(otherCenterY - centerY) < positionTolerance;
|
|
33
|
-
});
|
|
34
|
-
if (hasOverlapping) {
|
|
35
|
-
continue;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
// Assign row number based on Y position change
|
|
39
|
-
if (currentY === null) {
|
|
40
|
-
currentY = centerY;
|
|
41
|
-
} else if (Math.abs(centerY - currentY) >= rowTolerance) {
|
|
42
|
-
currentRow++;
|
|
43
|
-
currentY = centerY;
|
|
5
|
+
*/
|
|
6
|
+
function getDroppablePositions() {
|
|
7
|
+
const positionTolerance = 5;
|
|
8
|
+
const rowTolerance = 10;
|
|
9
|
+
const result = [];
|
|
10
|
+
let currentRow = 0;
|
|
11
|
+
let currentY = null;
|
|
12
|
+
const allDroppables = Array.from(document.querySelectorAll('.droppable-widget'));
|
|
13
|
+
for (let i = 0; i < allDroppables.length; i++) {
|
|
14
|
+
const element = allDroppables[i];
|
|
15
|
+
const rect = element.getBoundingClientRect();
|
|
16
|
+
// Skip hidden elements
|
|
17
|
+
if (rect.width === 0 || rect.height === 0) {
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
const centerX = rect.left + rect.width / 2;
|
|
21
|
+
const centerY = rect.top + rect.height / 2;
|
|
22
|
+
const testId = element.getAttribute('data-testid') || '';
|
|
23
|
+
const isBeforeDroppable = testId.endsWith('-before');
|
|
24
|
+
// Skip "before" droppables that overlap with another droppable
|
|
25
|
+
if (isBeforeDroppable) {
|
|
26
|
+
const hasOverlapping = allDroppables.some((other, otherIndex) => {
|
|
27
|
+
if (otherIndex === i) {
|
|
28
|
+
return false;
|
|
44
29
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
30
|
+
const otherRect = other.getBoundingClientRect();
|
|
31
|
+
const otherCenterX = otherRect.left + otherRect.width / 2;
|
|
32
|
+
const otherCenterY = otherRect.top + otherRect.height / 2;
|
|
33
|
+
return Math.abs(otherCenterX - centerX) < positionTolerance && Math.abs(otherCenterY - centerY) < positionTolerance;
|
|
34
|
+
});
|
|
35
|
+
if (hasOverlapping) {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
53
38
|
}
|
|
54
|
-
|
|
39
|
+
// Assign row number based on Y position change
|
|
40
|
+
if (currentY === null) {
|
|
41
|
+
currentY = centerY;
|
|
42
|
+
} else if (Math.abs(centerY - currentY) >= rowTolerance) {
|
|
43
|
+
currentRow++;
|
|
44
|
+
currentY = centerY;
|
|
45
|
+
}
|
|
46
|
+
result.push({
|
|
47
|
+
centerX,
|
|
48
|
+
centerY,
|
|
49
|
+
element,
|
|
50
|
+
isBeforeDroppable,
|
|
51
|
+
rect,
|
|
52
|
+
row: currentRow
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
return result;
|
|
55
56
|
}
|
|
56
57
|
/**
|
|
57
58
|
* Find the row with the closest Y position to the given posY.
|
|
58
59
|
* Returns the row index, or null if no droppables exist.
|
|
59
|
-
*/
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
60
|
+
*/
|
|
61
|
+
function findClosestRow(droppables, posY) {
|
|
62
|
+
if (droppables.length === 0) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
let closestRow = droppables[0].row;
|
|
66
|
+
let minYDistance = Infinity;
|
|
67
|
+
for (const droppable of droppables) {
|
|
68
|
+
const yDistance = Math.abs(droppable.centerY - posY);
|
|
69
|
+
if (yDistance < minYDistance) {
|
|
70
|
+
minYDistance = yDistance;
|
|
71
|
+
closestRow = droppable.row;
|
|
71
72
|
}
|
|
72
|
-
|
|
73
|
+
}
|
|
74
|
+
return closestRow;
|
|
73
75
|
}
|
|
74
76
|
/**
|
|
75
77
|
* Find the closest droppable within a specific row by X position.
|
|
76
78
|
* Returns the droppable and its index, or null if no droppables in that row.
|
|
77
|
-
*/
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
79
|
+
*/
|
|
80
|
+
function findClosestDroppableInRow(droppables, rowIndex, posX) {
|
|
81
|
+
let closestIndex = -1;
|
|
82
|
+
let minXDistance = Infinity;
|
|
83
|
+
for (let i = 0; i < droppables.length; i++) {
|
|
84
|
+
const droppable = droppables[i];
|
|
85
|
+
if (droppable.row === rowIndex) {
|
|
86
|
+
const xDistance = Math.abs(droppable.centerX - posX);
|
|
87
|
+
if (xDistance < minXDistance) {
|
|
88
|
+
minXDistance = xDistance;
|
|
89
|
+
closestIndex = i;
|
|
90
|
+
}
|
|
89
91
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
92
|
+
}
|
|
93
|
+
if (closestIndex === -1) {
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
return {
|
|
97
|
+
droppable: droppables[closestIndex],
|
|
98
|
+
index: closestIndex
|
|
99
|
+
};
|
|
97
100
|
}
|
|
98
101
|
/**
|
|
99
102
|
* Find the target droppable based on direction
|
|
100
103
|
* - ArrowRight/Left: Next/previous in DOM order (now that overlapping droppables are filtered)
|
|
101
104
|
* - ArrowUp/Down: Closest in adjacent row (row +1 or -1) by X position
|
|
102
|
-
*/
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
105
|
+
*/
|
|
106
|
+
function findTargetDroppable(droppables, currentCenterX, currentCenterY, direction) {
|
|
107
|
+
// Find the closest row, then the closest droppable in that row
|
|
108
|
+
const currentRow = findClosestRow(droppables, currentCenterY);
|
|
109
|
+
if (currentRow === null) {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
const currentDroppable = findClosestDroppableInRow(droppables, currentRow, currentCenterX);
|
|
113
|
+
if (!currentDroppable) {
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
const {
|
|
117
|
+
index: currentIndex
|
|
118
|
+
} = currentDroppable;
|
|
119
|
+
switch (direction) {
|
|
120
|
+
case 'ArrowDown':
|
|
121
|
+
{
|
|
122
|
+
const targetRow = currentRow + 1;
|
|
123
|
+
return findClosestDroppableInRow(droppables, targetRow, currentCenterX)?.droppable || null;
|
|
124
|
+
}
|
|
125
|
+
case 'ArrowLeft':
|
|
126
|
+
// Previous in DOM order
|
|
127
|
+
return droppables[currentIndex - 1] || null;
|
|
128
|
+
case 'ArrowRight':
|
|
129
|
+
// Next in DOM order
|
|
130
|
+
return droppables[currentIndex + 1] || null;
|
|
131
|
+
case 'ArrowUp':
|
|
132
|
+
{
|
|
133
|
+
const targetRow = currentRow - 1;
|
|
134
|
+
return findClosestDroppableInRow(droppables, targetRow, currentCenterX)?.droppable || null;
|
|
135
|
+
}
|
|
136
|
+
default:
|
|
137
|
+
return null;
|
|
138
|
+
}
|
|
133
139
|
}
|
|
134
140
|
/**
|
|
135
141
|
* Custom coordinate getter that jumps directly to droppable positions
|
|
136
142
|
* instead of moving in pixel increments. This works better with scrolling
|
|
137
143
|
* and provides more predictable navigation.
|
|
138
|
-
*/
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
].includes(code)) {
|
|
151
|
-
return currentCoordinates;
|
|
152
|
-
}
|
|
153
|
-
// Prevent default browser scroll behavior for arrow keys
|
|
154
|
-
event.preventDefault();
|
|
155
|
-
// Clear scrollableAncestors to prevent dnd-kit from scrolling instead of moving
|
|
156
|
-
// This must be done on every keydown because context is updated by dnd-kit
|
|
157
|
-
if (context.scrollableAncestors) {
|
|
158
|
-
context.scrollableAncestors.length = 0;
|
|
159
|
-
}
|
|
160
|
-
// Get all droppable widgets and their positions
|
|
161
|
-
const droppables = getDroppablePositions();
|
|
162
|
-
if (droppables.length === 0) {
|
|
163
|
-
return currentCoordinates;
|
|
164
|
-
}
|
|
165
|
-
// Current position center (viewport coordinates from collisionRect)
|
|
166
|
-
const currentCenterX = collisionRect.left + collisionRect.width / 2;
|
|
167
|
-
const currentCenterY = collisionRect.top + collisionRect.height / 2;
|
|
168
|
-
// Find the target droppable based on direction
|
|
169
|
-
const targetDroppable = findTargetDroppable(droppables, currentCenterX, currentCenterY, code);
|
|
170
|
-
// If we found a target, scroll if needed and calculate the delta
|
|
171
|
-
if (targetDroppable) {
|
|
172
|
-
const viewportHeight = window.innerHeight;
|
|
173
|
-
const targetRect = targetDroppable.rect;
|
|
174
|
-
const scrollPadding = 20;
|
|
175
|
-
// Extra padding to ensure element is fully visible
|
|
176
|
-
// Check if target droppable is fully visible in viewport
|
|
177
|
-
const isAboveViewport = targetRect.top < scrollPadding;
|
|
178
|
-
const isBelowViewport = targetRect.bottom > viewportHeight - scrollPadding;
|
|
179
|
-
// Scroll to make target visible (using instant scroll for synchronous behavior)
|
|
180
|
-
if (isAboveViewport) {
|
|
181
|
-
const scrollAmount = targetRect.top - scrollPadding;
|
|
182
|
-
// don't use smooth scroll here, because it will mess up the delta calculation
|
|
183
|
-
window.scrollBy({
|
|
184
|
-
behavior: 'instant',
|
|
185
|
-
top: scrollAmount
|
|
186
|
-
});
|
|
187
|
-
} else if (isBelowViewport) {
|
|
188
|
-
const scrollAmount = targetRect.bottom - viewportHeight + scrollPadding;
|
|
189
|
-
window.scrollBy({
|
|
190
|
-
behavior: 'instant',
|
|
191
|
-
top: scrollAmount
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
// After scroll, recalculate target position (it may have changed due to scroll)
|
|
195
|
-
const newTargetRect = targetDroppable.element.getBoundingClientRect();
|
|
196
|
-
const newTargetCenterX = newTargetRect.left + newTargetRect.width / 2;
|
|
197
|
-
const newTargetCenterY = newTargetRect.top + newTargetRect.height / 2;
|
|
198
|
-
// Calculate delta using current overlay position (which didn't change) and new target position
|
|
199
|
-
const deltaX = newTargetCenterX - currentCenterX;
|
|
200
|
-
const deltaY = newTargetCenterY - currentCenterY;
|
|
201
|
-
// Add delta to currentCoordinates to position overlay's center at target's center
|
|
202
|
-
return {
|
|
203
|
-
x: currentCoordinates.x + deltaX,
|
|
204
|
-
y: currentCoordinates.y + deltaY
|
|
205
|
-
};
|
|
206
|
-
}
|
|
207
|
-
// No valid target found, stay in place
|
|
144
|
+
*/
|
|
145
|
+
const droppableJumpKeyboardCoordinateGetter = (event, {
|
|
146
|
+
context,
|
|
147
|
+
currentCoordinates
|
|
148
|
+
}) => {
|
|
149
|
+
const {
|
|
150
|
+
collisionRect
|
|
151
|
+
} = context;
|
|
152
|
+
const {
|
|
153
|
+
code
|
|
154
|
+
} = event;
|
|
155
|
+
if (!collisionRect) {
|
|
208
156
|
return currentCoordinates;
|
|
157
|
+
}
|
|
158
|
+
// Only handle arrow keys
|
|
159
|
+
if (!['ArrowDown', 'ArrowLeft', 'ArrowRight', 'ArrowUp'].includes(code)) {
|
|
160
|
+
return currentCoordinates;
|
|
161
|
+
}
|
|
162
|
+
// Prevent default browser scroll behavior for arrow keys
|
|
163
|
+
event.preventDefault();
|
|
164
|
+
// Clear scrollableAncestors to prevent dnd-kit from scrolling instead of moving
|
|
165
|
+
// This must be done on every keydown because context is updated by dnd-kit
|
|
166
|
+
if (context.scrollableAncestors) {
|
|
167
|
+
context.scrollableAncestors.length = 0;
|
|
168
|
+
}
|
|
169
|
+
// Get all droppable widgets and their positions
|
|
170
|
+
const droppables = getDroppablePositions();
|
|
171
|
+
if (droppables.length === 0) {
|
|
172
|
+
return currentCoordinates;
|
|
173
|
+
}
|
|
174
|
+
// Current position center (viewport coordinates from collisionRect)
|
|
175
|
+
const currentCenterX = collisionRect.left + collisionRect.width / 2;
|
|
176
|
+
const currentCenterY = collisionRect.top + collisionRect.height / 2;
|
|
177
|
+
// Find the target droppable based on direction
|
|
178
|
+
const targetDroppable = findTargetDroppable(droppables, currentCenterX, currentCenterY, code);
|
|
179
|
+
// If we found a target, scroll if needed and calculate the delta
|
|
180
|
+
if (targetDroppable) {
|
|
181
|
+
const viewportHeight = window.innerHeight;
|
|
182
|
+
const targetRect = targetDroppable.rect;
|
|
183
|
+
const scrollPadding = 20 // Extra padding to ensure element is fully visible
|
|
184
|
+
;
|
|
185
|
+
// Check if target droppable is fully visible in viewport
|
|
186
|
+
const isAboveViewport = targetRect.top < scrollPadding;
|
|
187
|
+
const isBelowViewport = targetRect.bottom > viewportHeight - scrollPadding;
|
|
188
|
+
// Scroll to make target visible (using instant scroll for synchronous behavior)
|
|
189
|
+
if (isAboveViewport) {
|
|
190
|
+
const scrollAmount = targetRect.top - scrollPadding;
|
|
191
|
+
// don't use smooth scroll here, because it will mess up the delta calculation
|
|
192
|
+
window.scrollBy({
|
|
193
|
+
behavior: 'instant',
|
|
194
|
+
top: scrollAmount
|
|
195
|
+
});
|
|
196
|
+
} else if (isBelowViewport) {
|
|
197
|
+
const scrollAmount = targetRect.bottom - viewportHeight + scrollPadding;
|
|
198
|
+
window.scrollBy({
|
|
199
|
+
behavior: 'instant',
|
|
200
|
+
top: scrollAmount
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
// After scroll, recalculate target position (it may have changed due to scroll)
|
|
204
|
+
const newTargetRect = targetDroppable.element.getBoundingClientRect();
|
|
205
|
+
const newTargetCenterX = newTargetRect.left + newTargetRect.width / 2;
|
|
206
|
+
const newTargetCenterY = newTargetRect.top + newTargetRect.height / 2;
|
|
207
|
+
// Calculate delta using current overlay position (which didn't change) and new target position
|
|
208
|
+
const deltaX = newTargetCenterX - currentCenterX;
|
|
209
|
+
const deltaY = newTargetCenterY - currentCenterY;
|
|
210
|
+
// Add delta to currentCoordinates to position overlay's center at target's center
|
|
211
|
+
return {
|
|
212
|
+
x: currentCoordinates.x + deltaX,
|
|
213
|
+
y: currentCoordinates.y + deltaY
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
// No valid target found, stay in place
|
|
217
|
+
return currentCoordinates;
|
|
209
218
|
};
|
|
210
219
|
/**
|
|
211
220
|
* Custom KeyboardSensor that only activates when focus is directly on the
|
|
212
221
|
* draggable element, not on any of its descendants. This allows interactive
|
|
213
222
|
* elements inside draggables (like buttons) to work normally with the keyboard.
|
|
214
|
-
*/
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
];
|
|
247
|
-
};
|
|
223
|
+
*/
|
|
224
|
+
class DirectFocusKeyboardSensor extends KeyboardSensor {
|
|
225
|
+
static activators = [{
|
|
226
|
+
eventName: 'onKeyDown',
|
|
227
|
+
handler: (event, {
|
|
228
|
+
keyboardCodes = {
|
|
229
|
+
cancel: [KeyboardCode.Esc],
|
|
230
|
+
end: [KeyboardCode.Space, KeyboardCode.Enter],
|
|
231
|
+
start: [KeyboardCode.Space, KeyboardCode.Enter]
|
|
232
|
+
},
|
|
233
|
+
onActivation
|
|
234
|
+
}, {
|
|
235
|
+
active
|
|
236
|
+
}) => {
|
|
237
|
+
const {
|
|
238
|
+
code
|
|
239
|
+
} = event.nativeEvent;
|
|
240
|
+
// Only activate if focus is directly on the draggable node, not descendants
|
|
241
|
+
if (event.target !== active.node.current) {
|
|
242
|
+
return false;
|
|
243
|
+
}
|
|
244
|
+
if (keyboardCodes.start.includes(code)) {
|
|
245
|
+
event.preventDefault();
|
|
246
|
+
onActivation?.({
|
|
247
|
+
event: event.nativeEvent
|
|
248
|
+
});
|
|
249
|
+
return true;
|
|
250
|
+
}
|
|
251
|
+
return false;
|
|
252
|
+
}
|
|
253
|
+
}];
|
|
254
|
+
}
|
|
248
255
|
export function useDashboardSensors() {
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
+
return useSensors(useSensor(PointerSensor, {
|
|
257
|
+
activationConstraint: {
|
|
258
|
+
distance: 5
|
|
259
|
+
}
|
|
260
|
+
}), useSensor(DirectFocusKeyboardSensor, {
|
|
261
|
+
coordinateGetter: droppableJumpKeyboardCoordinateGetter
|
|
262
|
+
}));
|
|
256
263
|
}
|
|
257
|
-
|
|
258
264
|
//# sourceMappingURL=sensors.js.map
|