@ruya.sa/next 3.71.3
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/LICENSE.md +22 -0
- package/dist/auth/login.js +67 -0
- package/dist/auth/login.js.map +1 -0
- package/dist/auth/logout.js +52 -0
- package/dist/auth/logout.js.map +1 -0
- package/dist/auth/refresh.js +56 -0
- package/dist/auth/refresh.js.map +1 -0
- package/dist/config.js +2 -0
- package/dist/config.js.map +1 -0
- package/dist/dummy.css +0 -0
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +19 -0
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +81 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +66 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/index.js +78 -0
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +29 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js +72 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -0
- package/dist/elements/DocumentHeader/index.js +36 -0
- package/dist/elements/DocumentHeader/index.js.map +1 -0
- package/dist/elements/FormHeader/index.js +20 -0
- package/dist/elements/FormHeader/index.js.map +1 -0
- package/dist/elements/Logo/index.js +39 -0
- package/dist/elements/Logo/index.js.map +1 -0
- package/dist/elements/Nav/NavHamburger/index.js +51 -0
- package/dist/elements/Nav/NavHamburger/index.js.map +1 -0
- package/dist/elements/Nav/NavWrapper/index.js +61 -0
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -0
- package/dist/elements/Nav/SettingsMenuButton/index.js +45 -0
- package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -0
- package/dist/elements/Nav/getNavPrefs.js +26 -0
- package/dist/elements/Nav/getNavPrefs.js.map +1 -0
- package/dist/elements/Nav/index.client.js +133 -0
- package/dist/elements/Nav/index.client.js.map +1 -0
- package/dist/elements/Nav/index.js +145 -0
- package/dist/elements/Nav/index.js.map +1 -0
- package/dist/esbuildEntry.js +5 -0
- package/dist/esbuildEntry.js.map +1 -0
- package/dist/exports/auth.js +4 -0
- package/dist/exports/auth.js.map +1 -0
- package/dist/exports/client.js +6 -0
- package/dist/exports/client.js.map +1 -0
- package/dist/exports/layouts.js +3 -0
- package/dist/exports/layouts.js.map +1 -0
- package/dist/exports/routes.js +3 -0
- package/dist/exports/routes.js.map +1 -0
- package/dist/exports/rsc.js +4 -0
- package/dist/exports/rsc.js.map +1 -0
- package/dist/exports/templates.js +3 -0
- package/dist/exports/templates.js.map +1 -0
- package/dist/exports/utilities.js +53 -0
- package/dist/exports/utilities.js.map +1 -0
- package/dist/exports/views.js +10 -0
- package/dist/exports/views.js.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/layouts/Root/NestProviders.js +24 -0
- package/dist/layouts/Root/NestProviders.js.map +1 -0
- package/dist/layouts/Root/checkDependencies.js +49 -0
- package/dist/layouts/Root/checkDependencies.js.map +1 -0
- package/dist/layouts/Root/index.js +120 -0
- package/dist/layouts/Root/index.js.map +1 -0
- package/dist/routes/graphql/handler.js +137 -0
- package/dist/routes/graphql/handler.js.map +1 -0
- package/dist/routes/graphql/index.js +3 -0
- package/dist/routes/graphql/index.js.map +1 -0
- package/dist/routes/graphql/playground.js +31 -0
- package/dist/routes/graphql/playground.js.map +1 -0
- package/dist/routes/index.js +3 -0
- package/dist/routes/index.js.map +1 -0
- package/dist/routes/rest/index.js +33 -0
- package/dist/routes/rest/index.js.map +1 -0
- package/dist/routes/rest/og/image.js +86 -0
- package/dist/routes/rest/og/image.js.map +1 -0
- package/dist/routes/rest/og/index.js +70 -0
- package/dist/routes/rest/og/index.js.map +1 -0
- package/dist/routes/rest/og/roboto-regular.woff +0 -0
- package/dist/templates/Default/NavHamburger/index.js +25 -0
- package/dist/templates/Default/NavHamburger/index.js.map +1 -0
- package/dist/templates/Default/Wrapper/index.js +49 -0
- package/dist/templates/Default/Wrapper/index.js.map +1 -0
- package/dist/templates/Default/index.js +129 -0
- package/dist/templates/Default/index.js.map +1 -0
- package/dist/templates/Minimal/index.js +21 -0
- package/dist/templates/Minimal/index.js.map +1 -0
- package/dist/utilities/getExistingAuthToken.js +6 -0
- package/dist/utilities/getExistingAuthToken.js.map +1 -0
- package/dist/utilities/getNextRequestI18n.js +22 -0
- package/dist/utilities/getNextRequestI18n.js.map +1 -0
- package/dist/utilities/getPayloadHMR.js +15 -0
- package/dist/utilities/getPayloadHMR.js.map +1 -0
- package/dist/utilities/getPreferences.js +26 -0
- package/dist/utilities/getPreferences.js.map +1 -0
- package/dist/utilities/getRequestLocale.js +20 -0
- package/dist/utilities/getRequestLocale.js.map +1 -0
- package/dist/utilities/getRequestTheme.js +22 -0
- package/dist/utilities/getRequestTheme.js.map +1 -0
- package/dist/utilities/getRouteWithoutAdmin.js +7 -0
- package/dist/utilities/getRouteWithoutAdmin.js.map +1 -0
- package/dist/utilities/handleAuthRedirect.js +41 -0
- package/dist/utilities/handleAuthRedirect.js.map +1 -0
- package/dist/utilities/handleServerFunctions.js +57 -0
- package/dist/utilities/handleServerFunctions.js.map +1 -0
- package/dist/utilities/initReq.js +110 -0
- package/dist/utilities/initReq.js.map +1 -0
- package/dist/utilities/isCustomAdminView.js +31 -0
- package/dist/utilities/isCustomAdminView.js.map +1 -0
- package/dist/utilities/isPublicAdminRoute.js +25 -0
- package/dist/utilities/isPublicAdminRoute.js.map +1 -0
- package/dist/utilities/meta.js +69 -0
- package/dist/utilities/meta.js.map +1 -0
- package/dist/utilities/selectiveCache.js +38 -0
- package/dist/utilities/selectiveCache.js.map +1 -0
- package/dist/utilities/setPayloadAuthCookie.js +27 -0
- package/dist/utilities/setPayloadAuthCookie.js.map +1 -0
- package/dist/utilities/slugify.js +47 -0
- package/dist/utilities/slugify.js.map +1 -0
- package/dist/utilities/timestamp.js +8 -0
- package/dist/utilities/timestamp.js.map +1 -0
- package/dist/views/API/LocaleSelector/index.js +44 -0
- package/dist/views/API/LocaleSelector/index.js.map +1 -0
- package/dist/views/API/RenderJSON/index.js +135 -0
- package/dist/views/API/RenderJSON/index.js.map +1 -0
- package/dist/views/API/index.client.js +209 -0
- package/dist/views/API/index.client.js.map +1 -0
- package/dist/views/API/index.js +7 -0
- package/dist/views/API/index.js.map +1 -0
- package/dist/views/API/metadata.js +29 -0
- package/dist/views/API/metadata.js.map +1 -0
- package/dist/views/Account/ResetPreferences/index.js +112 -0
- package/dist/views/Account/ResetPreferences/index.js.map +1 -0
- package/dist/views/Account/Settings/LanguageSelector.js +52 -0
- package/dist/views/Account/Settings/LanguageSelector.js.map +1 -0
- package/dist/views/Account/Settings/index.js +33 -0
- package/dist/views/Account/Settings/index.js.map +1 -0
- package/dist/views/Account/ToggleTheme/index.js +60 -0
- package/dist/views/Account/ToggleTheme/index.js.map +1 -0
- package/dist/views/Account/index.client.js +37 -0
- package/dist/views/Account/index.client.js.map +1 -0
- package/dist/views/Account/index.js +178 -0
- package/dist/views/Account/index.js.map +1 -0
- package/dist/views/Account/metadata.js +14 -0
- package/dist/views/Account/metadata.js.map +1 -0
- package/dist/views/BrowseByFolder/buildView.js +169 -0
- package/dist/views/BrowseByFolder/buildView.js.map +1 -0
- package/dist/views/BrowseByFolder/index.js +20 -0
- package/dist/views/BrowseByFolder/index.js.map +1 -0
- package/dist/views/BrowseByFolder/metadata.js +18 -0
- package/dist/views/BrowseByFolder/metadata.js.map +1 -0
- package/dist/views/CollectionFolders/buildView.js +156 -0
- package/dist/views/CollectionFolders/buildView.js.map +1 -0
- package/dist/views/CollectionFolders/index.js +20 -0
- package/dist/views/CollectionFolders/index.js.map +1 -0
- package/dist/views/CollectionFolders/metadata.js +25 -0
- package/dist/views/CollectionFolders/metadata.js.map +1 -0
- package/dist/views/CollectionFolders/renderFolderViewSlots.js +64 -0
- package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +1 -0
- package/dist/views/CollectionTrash/index.js +21 -0
- package/dist/views/CollectionTrash/index.js.map +1 -0
- package/dist/views/CollectionTrash/metadata.js +25 -0
- package/dist/views/CollectionTrash/metadata.js.map +1 -0
- package/dist/views/CreateFirstUser/index.client.js +112 -0
- package/dist/views/CreateFirstUser/index.client.js.map +1 -0
- package/dist/views/CreateFirstUser/index.js +88 -0
- package/dist/views/CreateFirstUser/index.js.map +1 -0
- package/dist/views/CreateFirstUser/metadata.js +14 -0
- package/dist/views/CreateFirstUser/metadata.js.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +147 -0
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +431 -0
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/index.js +87 -0
- package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +99 -0
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +58 -0
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +72 -0
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +158 -0
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js +38 -0
- package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +264 -0
- package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -0
- package/dist/views/Dashboard/Default/index.js +52 -0
- package/dist/views/Dashboard/Default/index.js.map +1 -0
- package/dist/views/Dashboard/index.js +50 -0
- package/dist/views/Dashboard/index.js.map +1 -0
- package/dist/views/Dashboard/metadata.js +16 -0
- package/dist/views/Dashboard/metadata.js.map +1 -0
- package/dist/views/Document/getCustomDocumentViewByKey.js +4 -0
- package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -0
- package/dist/views/Document/getCustomViewByRoute.js +35 -0
- package/dist/views/Document/getCustomViewByRoute.js.map +1 -0
- package/dist/views/Document/getDocPreferences.js +45 -0
- package/dist/views/Document/getDocPreferences.js.map +1 -0
- package/dist/views/Document/getDocumentData.js +60 -0
- package/dist/views/Document/getDocumentData.js.map +1 -0
- package/dist/views/Document/getDocumentPermissions.js +87 -0
- package/dist/views/Document/getDocumentPermissions.js.map +1 -0
- package/dist/views/Document/getDocumentView.js +310 -0
- package/dist/views/Document/getDocumentView.js.map +1 -0
- package/dist/views/Document/getIsLocked.js +79 -0
- package/dist/views/Document/getIsLocked.js.map +1 -0
- package/dist/views/Document/getMetaBySegment.js +150 -0
- package/dist/views/Document/getMetaBySegment.js.map +1 -0
- package/dist/views/Document/getVersions.js +210 -0
- package/dist/views/Document/getVersions.js.map +1 -0
- package/dist/views/Document/handleServerFunction.js +135 -0
- package/dist/views/Document/handleServerFunction.js.map +1 -0
- package/dist/views/Document/index.js +390 -0
- package/dist/views/Document/index.js.map +1 -0
- package/dist/views/Document/metadata.js +3 -0
- package/dist/views/Document/metadata.js.map +1 -0
- package/dist/views/Document/renderDocumentSlots.js +154 -0
- package/dist/views/Document/renderDocumentSlots.js.map +1 -0
- package/dist/views/Edit/index.js +11 -0
- package/dist/views/Edit/index.js.map +1 -0
- package/dist/views/Edit/metadata.js +52 -0
- package/dist/views/Edit/metadata.js.map +1 -0
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +179 -0
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -0
- package/dist/views/ForgotPassword/index.js +72 -0
- package/dist/views/ForgotPassword/index.js.map +1 -0
- package/dist/views/ForgotPassword/metadata.js +14 -0
- package/dist/views/ForgotPassword/metadata.js.map +1 -0
- package/dist/views/List/createSerializableValue.js +14 -0
- package/dist/views/List/createSerializableValue.js.map +1 -0
- package/dist/views/List/enrichDocsWithVersionStatus.js +96 -0
- package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -0
- package/dist/views/List/extractRelationshipDisplayValue.js +17 -0
- package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -0
- package/dist/views/List/extractValueOrRelationshipID.js +19 -0
- package/dist/views/List/extractValueOrRelationshipID.js.map +1 -0
- package/dist/views/List/handleGroupBy.js +160 -0
- package/dist/views/List/handleGroupBy.js.map +1 -0
- package/dist/views/List/handleServerFunction.js +130 -0
- package/dist/views/List/handleServerFunction.js.map +1 -0
- package/dist/views/List/index.js +356 -0
- package/dist/views/List/index.js.map +1 -0
- package/dist/views/List/metadata.js +24 -0
- package/dist/views/List/metadata.js.map +1 -0
- package/dist/views/List/renderListViewSlots.js +80 -0
- package/dist/views/List/renderListViewSlots.js.map +1 -0
- package/dist/views/List/resolveAllFilterOptions.js +49 -0
- package/dist/views/List/resolveAllFilterOptions.js.map +1 -0
- package/dist/views/List/transformColumnsToSelect.js +11 -0
- package/dist/views/List/transformColumnsToSelect.js.map +1 -0
- package/dist/views/Login/LoginField/index.js +98 -0
- package/dist/views/Login/LoginField/index.js.map +1 -0
- package/dist/views/Login/LoginForm/index.js +177 -0
- package/dist/views/Login/LoginForm/index.js.map +1 -0
- package/dist/views/Login/index.js +95 -0
- package/dist/views/Login/index.js.map +1 -0
- package/dist/views/Login/metadata.js +14 -0
- package/dist/views/Login/metadata.js.map +1 -0
- package/dist/views/Logout/LogoutClient.js +140 -0
- package/dist/views/Logout/LogoutClient.js.map +1 -0
- package/dist/views/Logout/index.js +36 -0
- package/dist/views/Logout/index.js.map +1 -0
- package/dist/views/Logout/metadata.js +13 -0
- package/dist/views/Logout/metadata.js.map +1 -0
- package/dist/views/NotFound/index.client.js +88 -0
- package/dist/views/NotFound/index.client.js.map +1 -0
- package/dist/views/NotFound/index.js +87 -0
- package/dist/views/NotFound/index.js.map +1 -0
- package/dist/views/NotFound/metadata.js +11 -0
- package/dist/views/NotFound/metadata.js.map +1 -0
- package/dist/views/ResetPassword/ResetPasswordForm/index.js +117 -0
- package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -0
- package/dist/views/ResetPassword/index.js +83 -0
- package/dist/views/ResetPassword/index.js.map +1 -0
- package/dist/views/ResetPassword/metadata.js +14 -0
- package/dist/views/ResetPassword/metadata.js.map +1 -0
- package/dist/views/Root/attachViewActions.js +27 -0
- package/dist/views/Root/attachViewActions.js.map +1 -0
- package/dist/views/Root/generateCustomViewMetadata.js +25 -0
- package/dist/views/Root/generateCustomViewMetadata.js.map +1 -0
- package/dist/views/Root/getCustomViewByKey.js +16 -0
- package/dist/views/Root/getCustomViewByKey.js.map +1 -0
- package/dist/views/Root/getCustomViewByRoute.js +48 -0
- package/dist/views/Root/getCustomViewByRoute.js.map +1 -0
- package/dist/views/Root/getDocumentViewInfo.js +28 -0
- package/dist/views/Root/getDocumentViewInfo.js.map +1 -0
- package/dist/views/Root/getRouteData.js +359 -0
- package/dist/views/Root/getRouteData.js.map +1 -0
- package/dist/views/Root/index.js +300 -0
- package/dist/views/Root/index.js.map +1 -0
- package/dist/views/Root/isPathMatchingRoute.js +29 -0
- package/dist/views/Root/isPathMatchingRoute.js.map +1 -0
- package/dist/views/Root/metadata.js +209 -0
- package/dist/views/Root/metadata.js.map +1 -0
- package/dist/views/Unauthorized/index.js +54 -0
- package/dist/views/Unauthorized/index.js.map +1 -0
- package/dist/views/Unauthorized/metadata.js +14 -0
- package/dist/views/Unauthorized/metadata.js.map +1 -0
- package/dist/views/Verify/index.client.js +50 -0
- package/dist/views/Verify/index.client.js.map +1 -0
- package/dist/views/Verify/index.js +71 -0
- package/dist/views/Verify/index.js.map +1 -0
- package/dist/views/Verify/metadata.js +14 -0
- package/dist/views/Verify/metadata.js.map +1 -0
- package/dist/views/Version/Default/SelectedLocalesContext.js +8 -0
- package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -0
- package/dist/views/Version/Default/SetStepNav.js +135 -0
- package/dist/views/Version/Default/SetStepNav.js.map +1 -0
- package/dist/views/Version/Default/index.js +253 -0
- package/dist/views/Version/Default/index.js.map +1 -0
- package/dist/views/Version/Default/types.js +2 -0
- package/dist/views/Version/Default/types.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +130 -0
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +80 -0
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +439 -0
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +61 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +75 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +66 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +129 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +45 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +188 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +17 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +87 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +155 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +100 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +222 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js +35 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/index.js +13 -0
- package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +242 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +861 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +4 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +47 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +45 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +135 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -0
- package/dist/views/Version/Restore/index.js +106 -0
- package/dist/views/Version/Restore/index.js.map +1 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +56 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js +240 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -0
- package/dist/views/Version/SelectComparison/index.js +57 -0
- package/dist/views/Version/SelectComparison/index.js.map +1 -0
- package/dist/views/Version/SelectComparison/types.js +2 -0
- package/dist/views/Version/SelectComparison/types.js.map +1 -0
- package/dist/views/Version/SelectLocales/index.js +39 -0
- package/dist/views/Version/SelectLocales/index.js.map +1 -0
- package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +110 -0
- package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -0
- package/dist/views/Version/VersionPillLabel/getVersionLabel.js +34 -0
- package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -0
- package/dist/views/Version/fetchVersions.js +151 -0
- package/dist/views/Version/fetchVersions.js.map +1 -0
- package/dist/views/Version/index.js +349 -0
- package/dist/views/Version/index.js.map +1 -0
- package/dist/views/Version/metadata.js +58 -0
- package/dist/views/Version/metadata.js.map +1 -0
- package/dist/views/Versions/buildColumns.js +88 -0
- package/dist/views/Versions/buildColumns.js.map +1 -0
- package/dist/views/Versions/cells/AutosaveCell/index.js +45 -0
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -0
- package/dist/views/Versions/cells/CreatedAt/index.js +60 -0
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -0
- package/dist/views/Versions/cells/ID/index.js +12 -0
- package/dist/views/Versions/cells/ID/index.js.map +1 -0
- package/dist/views/Versions/index.client.js +89 -0
- package/dist/views/Versions/index.client.js.map +1 -0
- package/dist/views/Versions/index.js +157 -0
- package/dist/views/Versions/index.js.map +1 -0
- package/dist/views/Versions/metadata.js +51 -0
- package/dist/views/Versions/metadata.js.map +1 -0
- package/dist/views/Versions/types.js +2 -0
- package/dist/views/Versions/types.js.map +1 -0
- package/dist/withPayload/withPayload.js +162 -0
- package/dist/withPayload/withPayload.js.map +1 -0
- package/dist/withPayload/withPayload.spec.js +40 -0
- package/dist/withPayload/withPayload.spec.js.map +1 -0
- package/dist/withPayload/withPayload.utils.js +133 -0
- package/dist/withPayload/withPayload.utils.js.map +1 -0
- package/dist/withPayload/withPayloadLegacy.js +47 -0
- package/dist/withPayload/withPayloadLegacy.js.map +1 -0
- package/package.json +153 -0
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { DefaultCollectionFolderView, HydrateAuthProvider } from '@ruya.sa/ui';
|
|
3
|
+
import { RenderServerComponent } from '@ruya.sa/ui/elements/RenderServerComponent';
|
|
4
|
+
import { getFolderResultsComponentAndData, upsertPreferences } from '@ruya.sa/ui/rsc';
|
|
5
|
+
import { formatAdminURL } from '@ruya.sa/ui/shared';
|
|
6
|
+
import { redirect } from 'next/navigation.js';
|
|
7
|
+
import React from 'react';
|
|
8
|
+
/**
|
|
9
|
+
* Builds the entire view for collection-folder views on the server
|
|
10
|
+
*/
|
|
11
|
+
export const buildCollectionFolderView = async args => {
|
|
12
|
+
const {
|
|
13
|
+
disableBulkDelete,
|
|
14
|
+
disableBulkEdit,
|
|
15
|
+
enableRowSelections,
|
|
16
|
+
folderID,
|
|
17
|
+
initPageResult,
|
|
18
|
+
isInDrawer,
|
|
19
|
+
overrideEntityVisibility,
|
|
20
|
+
params,
|
|
21
|
+
query: queryFromArgs,
|
|
22
|
+
searchParams
|
|
23
|
+
} = args;
|
|
24
|
+
const {
|
|
25
|
+
collectionConfig,
|
|
26
|
+
collectionConfig: {
|
|
27
|
+
slug: collectionSlug
|
|
28
|
+
},
|
|
29
|
+
locale: fullLocale,
|
|
30
|
+
permissions,
|
|
31
|
+
req: {
|
|
32
|
+
i18n,
|
|
33
|
+
payload,
|
|
34
|
+
payload: {
|
|
35
|
+
config
|
|
36
|
+
},
|
|
37
|
+
query: queryFromReq,
|
|
38
|
+
user
|
|
39
|
+
},
|
|
40
|
+
visibleEntities
|
|
41
|
+
} = initPageResult;
|
|
42
|
+
if (!config.folders) {
|
|
43
|
+
throw new Error('not-found');
|
|
44
|
+
}
|
|
45
|
+
if (!permissions?.collections?.[collectionSlug]?.read || !permissions?.collections?.[config.folders.slug].read) {
|
|
46
|
+
throw new Error('not-found');
|
|
47
|
+
}
|
|
48
|
+
if (collectionConfig) {
|
|
49
|
+
if (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility || !config.folders) {
|
|
50
|
+
throw new Error('not-found');
|
|
51
|
+
}
|
|
52
|
+
const query = queryFromArgs || queryFromReq;
|
|
53
|
+
/**
|
|
54
|
+
* @todo: find a pattern to avoid setting preferences on hard navigation, i.e. direct links, page refresh, etc.
|
|
55
|
+
* This will ensure that prefs are only updated when explicitly set by the user
|
|
56
|
+
* This could potentially be done by injecting a `sessionID` into the params and comparing it against a session cookie
|
|
57
|
+
*/
|
|
58
|
+
const collectionFolderPreferences = await upsertPreferences({
|
|
59
|
+
key: `${collectionSlug}-collection-folder`,
|
|
60
|
+
req: initPageResult.req,
|
|
61
|
+
value: {
|
|
62
|
+
sort: query?.sort
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
const sortPreference = collectionFolderPreferences?.sort || 'name';
|
|
66
|
+
const viewPreference = collectionFolderPreferences?.viewPreference || 'grid';
|
|
67
|
+
const {
|
|
68
|
+
routes: {
|
|
69
|
+
admin: adminRoute
|
|
70
|
+
}
|
|
71
|
+
} = config;
|
|
72
|
+
const {
|
|
73
|
+
breadcrumbs,
|
|
74
|
+
documents,
|
|
75
|
+
folderAssignedCollections,
|
|
76
|
+
FolderResultsComponent,
|
|
77
|
+
subfolders
|
|
78
|
+
} = await getFolderResultsComponentAndData({
|
|
79
|
+
browseByFolder: false,
|
|
80
|
+
collectionsToDisplay: [config.folders.slug, collectionSlug],
|
|
81
|
+
displayAs: viewPreference,
|
|
82
|
+
folderAssignedCollections: [collectionSlug],
|
|
83
|
+
folderID,
|
|
84
|
+
req: initPageResult.req,
|
|
85
|
+
sort: sortPreference
|
|
86
|
+
});
|
|
87
|
+
const resolvedFolderID = breadcrumbs[breadcrumbs.length - 1]?.id;
|
|
88
|
+
if (!isInDrawer && (resolvedFolderID && folderID && folderID !== resolvedFolderID || folderID && !resolvedFolderID)) {
|
|
89
|
+
redirect(formatAdminURL({
|
|
90
|
+
adminRoute,
|
|
91
|
+
path: `/collections/${collectionSlug}/${config.folders.slug}`
|
|
92
|
+
}));
|
|
93
|
+
}
|
|
94
|
+
const serverProps = {
|
|
95
|
+
collectionConfig,
|
|
96
|
+
documents,
|
|
97
|
+
i18n,
|
|
98
|
+
locale: fullLocale,
|
|
99
|
+
params,
|
|
100
|
+
payload,
|
|
101
|
+
permissions,
|
|
102
|
+
searchParams,
|
|
103
|
+
subfolders,
|
|
104
|
+
user
|
|
105
|
+
};
|
|
106
|
+
// We could support slots in the folder view in the future
|
|
107
|
+
// const folderViewSlots = renderFolderViewSlots({
|
|
108
|
+
// clientProps: {
|
|
109
|
+
// collectionSlug,
|
|
110
|
+
// hasCreatePermission,
|
|
111
|
+
// newDocumentURL,
|
|
112
|
+
// },
|
|
113
|
+
// collectionConfig,
|
|
114
|
+
// description: typeof collectionConfig.admin.description === 'function'
|
|
115
|
+
// ? collectionConfig.admin.description({ t: i18n.t })
|
|
116
|
+
// : collectionConfig.admin.description,
|
|
117
|
+
// payload,
|
|
118
|
+
// serverProps,
|
|
119
|
+
// })
|
|
120
|
+
const search = query?.search;
|
|
121
|
+
return {
|
|
122
|
+
View: /*#__PURE__*/_jsxs(_Fragment, {
|
|
123
|
+
children: [/*#__PURE__*/_jsx(HydrateAuthProvider, {
|
|
124
|
+
permissions: permissions
|
|
125
|
+
}), RenderServerComponent({
|
|
126
|
+
clientProps: {
|
|
127
|
+
// ...folderViewSlots,
|
|
128
|
+
allCollectionFolderSlugs: [config.folders.slug, collectionSlug],
|
|
129
|
+
allowCreateCollectionSlugs: [permissions?.collections?.[config.folders.slug]?.create ? config.folders.slug : null, resolvedFolderID && permissions?.collections?.[collectionSlug]?.create ? collectionSlug : null].filter(Boolean),
|
|
130
|
+
baseFolderPath: `/collections/${collectionSlug}/${config.folders.slug}`,
|
|
131
|
+
breadcrumbs,
|
|
132
|
+
collectionSlug,
|
|
133
|
+
disableBulkDelete,
|
|
134
|
+
disableBulkEdit,
|
|
135
|
+
documents,
|
|
136
|
+
enableRowSelections,
|
|
137
|
+
folderAssignedCollections,
|
|
138
|
+
folderFieldName: config.folders.fieldName,
|
|
139
|
+
folderID: resolvedFolderID || null,
|
|
140
|
+
FolderResultsComponent,
|
|
141
|
+
search,
|
|
142
|
+
sort: sortPreference,
|
|
143
|
+
subfolders,
|
|
144
|
+
viewPreference
|
|
145
|
+
},
|
|
146
|
+
// Component: collectionConfig?.admin?.components?.views?.Folders?.Component,
|
|
147
|
+
Fallback: DefaultCollectionFolderView,
|
|
148
|
+
importMap: payload.importMap,
|
|
149
|
+
serverProps
|
|
150
|
+
})]
|
|
151
|
+
})
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
throw new Error('not-found');
|
|
155
|
+
};
|
|
156
|
+
//# sourceMappingURL=buildView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildView.js","names":["DefaultCollectionFolderView","HydrateAuthProvider","RenderServerComponent","getFolderResultsComponentAndData","upsertPreferences","formatAdminURL","redirect","React","buildCollectionFolderView","args","disableBulkDelete","disableBulkEdit","enableRowSelections","folderID","initPageResult","isInDrawer","overrideEntityVisibility","params","query","queryFromArgs","searchParams","collectionConfig","slug","collectionSlug","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","folders","Error","collections","read","includes","collectionFolderPreferences","key","value","sort","sortPreference","viewPreference","routes","admin","adminRoute","breadcrumbs","documents","folderAssignedCollections","FolderResultsComponent","subfolders","browseByFolder","collectionsToDisplay","displayAs","resolvedFolderID","length","id","path","serverProps","search","View","_jsxs","_Fragment","_jsx","clientProps","allCollectionFolderSlugs","allowCreateCollectionSlugs","create","filter","Boolean","baseFolderPath","folderFieldName","fieldName","Fallback","importMap"],"sources":["../../../src/views/CollectionFolders/buildView.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n BuildCollectionFolderViewResult,\n FolderListViewClientProps,\n FolderListViewServerPropsOnly,\n FolderSortKeys,\n ListQuery,\n} from '@ruya.sa/payload'\n\nimport { DefaultCollectionFolderView, HydrateAuthProvider } from '@ruya.sa/ui'\nimport { RenderServerComponent } from '@ruya.sa/ui/elements/RenderServerComponent'\nimport { getFolderResultsComponentAndData, upsertPreferences } from '@ruya.sa/ui/rsc'\nimport { formatAdminURL } from '@ruya.sa/ui/shared'\nimport { redirect } from 'next/navigation.js'\nimport React from 'react'\n\n// import { renderFolderViewSlots } from './renderFolderViewSlots.js'\n\nexport type BuildCollectionFolderViewStateArgs = {\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n enableRowSelections: boolean\n folderID?: number | string\n isInDrawer?: boolean\n overrideEntityVisibility?: boolean\n query: ListQuery\n} & AdminViewServerProps\n\n/**\n * Builds the entire view for collection-folder views on the server\n */\nexport const buildCollectionFolderView = async (\n args: BuildCollectionFolderViewStateArgs,\n): Promise<BuildCollectionFolderViewResult> => {\n const {\n disableBulkDelete,\n disableBulkEdit,\n enableRowSelections,\n folderID,\n initPageResult,\n isInDrawer,\n overrideEntityVisibility,\n params,\n query: queryFromArgs,\n searchParams,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: { slug: collectionSlug },\n locale: fullLocale,\n permissions,\n req: {\n i18n,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n if (!config.folders) {\n throw new Error('not-found')\n }\n\n if (\n !permissions?.collections?.[collectionSlug]?.read ||\n !permissions?.collections?.[config.folders.slug].read\n ) {\n throw new Error('not-found')\n }\n\n if (collectionConfig) {\n if (\n (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility) ||\n !config.folders\n ) {\n throw new Error('not-found')\n }\n\n const query = queryFromArgs || queryFromReq\n\n /**\n * @todo: find a pattern to avoid setting preferences on hard navigation, i.e. direct links, page refresh, etc.\n * This will ensure that prefs are only updated when explicitly set by the user\n * This could potentially be done by injecting a `sessionID` into the params and comparing it against a session cookie\n */\n const collectionFolderPreferences = await upsertPreferences<{\n sort?: FolderSortKeys\n viewPreference?: 'grid' | 'list'\n }>({\n key: `${collectionSlug}-collection-folder`,\n req: initPageResult.req,\n value: {\n sort: query?.sort as FolderSortKeys,\n },\n })\n\n const sortPreference: FolderSortKeys = collectionFolderPreferences?.sort || 'name'\n const viewPreference = collectionFolderPreferences?.viewPreference || 'grid'\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n const {\n breadcrumbs,\n documents,\n folderAssignedCollections,\n FolderResultsComponent,\n subfolders,\n } = await getFolderResultsComponentAndData({\n browseByFolder: false,\n collectionsToDisplay: [config.folders.slug, collectionSlug],\n displayAs: viewPreference,\n folderAssignedCollections: [collectionSlug],\n folderID,\n req: initPageResult.req,\n sort: sortPreference,\n })\n\n const resolvedFolderID = breadcrumbs[breadcrumbs.length - 1]?.id\n\n if (\n !isInDrawer &&\n ((resolvedFolderID && folderID && folderID !== resolvedFolderID) ||\n (folderID && !resolvedFolderID))\n ) {\n redirect(\n formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${config.folders.slug}`,\n }),\n )\n }\n\n const serverProps: FolderListViewServerPropsOnly = {\n collectionConfig,\n documents,\n i18n,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n subfolders,\n user,\n }\n\n // We could support slots in the folder view in the future\n // const folderViewSlots = renderFolderViewSlots({\n // clientProps: {\n // collectionSlug,\n // hasCreatePermission,\n // newDocumentURL,\n // },\n // collectionConfig,\n // description: typeof collectionConfig.admin.description === 'function'\n // ? collectionConfig.admin.description({ t: i18n.t })\n // : collectionConfig.admin.description,\n // payload,\n // serverProps,\n // })\n\n const search = query?.search as string\n\n return {\n View: (\n <>\n <HydrateAuthProvider permissions={permissions} />\n {RenderServerComponent({\n clientProps: {\n // ...folderViewSlots,\n allCollectionFolderSlugs: [config.folders.slug, collectionSlug],\n allowCreateCollectionSlugs: [\n permissions?.collections?.[config.folders.slug]?.create\n ? config.folders.slug\n : null,\n resolvedFolderID && permissions?.collections?.[collectionSlug]?.create\n ? collectionSlug\n : null,\n ].filter(Boolean),\n baseFolderPath: `/collections/${collectionSlug}/${config.folders.slug}`,\n breadcrumbs,\n collectionSlug,\n disableBulkDelete,\n disableBulkEdit,\n documents,\n enableRowSelections,\n folderAssignedCollections,\n folderFieldName: config.folders.fieldName,\n folderID: resolvedFolderID || null,\n FolderResultsComponent,\n search,\n sort: sortPreference,\n subfolders,\n viewPreference,\n } satisfies FolderListViewClientProps,\n // Component: collectionConfig?.admin?.components?.views?.Folders?.Component,\n Fallback: DefaultCollectionFolderView,\n importMap: payload.importMap,\n serverProps,\n })}\n </>\n ),\n }\n }\n\n throw new Error('not-found')\n}\n"],"mappings":";AASA,SAASA,2BAA2B,EAAEC,mBAAmB,QAAQ;AACjE,SAASC,qBAAqB,QAAQ;AACtC,SAASC,gCAAgC,EAAEC,iBAAiB,QAAQ;AACpE,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,MAAW;AAclB;;;AAGA,OAAO,MAAMC,yBAAA,GAA4B,MACvCC,IAAA;EAEA,MAAM;IACJC,iBAAiB;IACjBC,eAAe;IACfC,mBAAmB;IACnBC,QAAQ;IACRC,cAAc;IACdC,UAAU;IACVC,wBAAwB;IACxBC,MAAM;IACNC,KAAA,EAAOC,aAAa;IACpBC;EAAY,CACb,GAAGX,IAAA;EAEJ,MAAM;IACJY,gBAAgB;IAChBA,gBAAA,EAAkB;MAAEC,IAAA,EAAMC;IAAc,CAAE;IAC1CC,MAAA,EAAQC,UAAU;IAClBC,WAAW;IACXC,GAAA,EAAK;MACHC,IAAI;MACJC,OAAO;MACPA,OAAA,EAAS;QAAEC;MAAM,CAAE;MACnBZ,KAAA,EAAOa,YAAY;MACnBC;IAAI,CACL;IACDC;EAAe,CAChB,GAAGnB,cAAA;EAEJ,IAAI,CAACgB,MAAA,CAAOI,OAAO,EAAE;IACnB,MAAM,IAAIC,KAAA,CAAM;EAClB;EAEA,IACE,CAACT,WAAA,EAAaU,WAAA,GAAcb,cAAA,CAAe,EAAEc,IAAA,IAC7C,CAACX,WAAA,EAAaU,WAAA,GAAcN,MAAA,CAAOI,OAAO,CAACZ,IAAI,CAAC,CAACe,IAAA,EACjD;IACA,MAAM,IAAIF,KAAA,CAAM;EAClB;EAEA,IAAId,gBAAA,EAAkB;IACpB,IACE,CAAEY,eAAA,CAAgBG,WAAW,CAACE,QAAQ,CAACf,cAAA,KAAmB,CAACP,wBAAA,IAC3D,CAACc,MAAA,CAAOI,OAAO,EACf;MACA,MAAM,IAAIC,KAAA,CAAM;IAClB;IAEA,MAAMjB,KAAA,GAAQC,aAAA,IAAiBY,YAAA;IAE/B;;;;;IAKA,MAAMQ,2BAAA,GAA8B,MAAMnC,iBAAA,CAGvC;MACDoC,GAAA,EAAK,GAAGjB,cAAA,oBAAkC;MAC1CI,GAAA,EAAKb,cAAA,CAAea,GAAG;MACvBc,KAAA,EAAO;QACLC,IAAA,EAAMxB,KAAA,EAAOwB;MACf;IACF;IAEA,MAAMC,cAAA,GAAiCJ,2BAAA,EAA6BG,IAAA,IAAQ;IAC5E,MAAME,cAAA,GAAiBL,2BAAA,EAA6BK,cAAA,IAAkB;IAEtE,MAAM;MACJC,MAAA,EAAQ;QAAEC,KAAA,EAAOC;MAAU;IAAE,CAC9B,GAAGjB,MAAA;IAEJ,MAAM;MACJkB,WAAW;MACXC,SAAS;MACTC,yBAAyB;MACzBC,sBAAsB;MACtBC;IAAU,CACX,GAAG,MAAMjD,gCAAA,CAAiC;MACzCkD,cAAA,EAAgB;MAChBC,oBAAA,EAAsB,CAACxB,MAAA,CAAOI,OAAO,CAACZ,IAAI,EAAEC,cAAA,CAAe;MAC3DgC,SAAA,EAAWX,cAAA;MACXM,yBAAA,EAA2B,CAAC3B,cAAA,CAAe;MAC3CV,QAAA;MACAc,GAAA,EAAKb,cAAA,CAAea,GAAG;MACvBe,IAAA,EAAMC;IACR;IAEA,MAAMa,gBAAA,GAAmBR,WAAW,CAACA,WAAA,CAAYS,MAAM,GAAG,EAAE,EAAEC,EAAA;IAE9D,IACE,CAAC3C,UAAA,KACAyC,gBAAC,IAAoB3C,QAAA,IAAYA,QAAA,KAAa2C,gBAAA,IAC5C3C,QAAA,IAAY,CAAC2C,gBAAgB,GAChC;MACAlD,QAAA,CACED,cAAA,CAAe;QACb0C,UAAA;QACAY,IAAA,EAAM,gBAAgBpC,cAAA,IAAkBO,MAAA,CAAOI,OAAO,CAACZ,IAAI;MAC7D;IAEJ;IAEA,MAAMsC,WAAA,GAA6C;MACjDvC,gBAAA;MACA4B,SAAA;MACArB,IAAA;MACAJ,MAAA,EAAQC,UAAA;MACRR,MAAA;MACAY,OAAA;MACAH,WAAA;MACAN,YAAA;MACAgC,UAAA;MACApB;IACF;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA,MAAM6B,MAAA,GAAS3C,KAAA,EAAO2C,MAAA;IAEtB,OAAO;MACLC,IAAA,eACEC,KAAA,CAAAC,SAAA;gCACEC,IAAA,CAAChE,mBAAA;UAAoByB,WAAA,EAAaA;YACjCxB,qBAAA,CAAsB;UACrBgE,WAAA,EAAa;YACX;YACAC,wBAAA,EAA0B,CAACrC,MAAA,CAAOI,OAAO,CAACZ,IAAI,EAAEC,cAAA,CAAe;YAC/D6C,0BAAA,EAA4B,CAC1B1C,WAAA,EAAaU,WAAA,GAAcN,MAAA,CAAOI,OAAO,CAACZ,IAAI,CAAC,EAAE+C,MAAA,GAC7CvC,MAAA,CAAOI,OAAO,CAACZ,IAAI,GACnB,MACJkC,gBAAA,IAAoB9B,WAAA,EAAaU,WAAA,GAAcb,cAAA,CAAe,EAAE8C,MAAA,GAC5D9C,cAAA,GACA,KACL,CAAC+C,MAAM,CAACC,OAAA;YACTC,cAAA,EAAgB,gBAAgBjD,cAAA,IAAkBO,MAAA,CAAOI,OAAO,CAACZ,IAAI,EAAE;YACvE0B,WAAA;YACAzB,cAAA;YACAb,iBAAA;YACAC,eAAA;YACAsC,SAAA;YACArC,mBAAA;YACAsC,yBAAA;YACAuB,eAAA,EAAiB3C,MAAA,CAAOI,OAAO,CAACwC,SAAS;YACzC7D,QAAA,EAAU2C,gBAAA,IAAoB;YAC9BL,sBAAA;YACAU,MAAA;YACAnB,IAAA,EAAMC,cAAA;YACNS,UAAA;YACAR;UACF;UACA;UACA+B,QAAA,EAAU3E,2BAAA;UACV4E,SAAA,EAAW/C,OAAA,CAAQ+C,SAAS;UAC5BhB;QACF;;IAGN;EACF;EAEA,MAAM,IAAIzB,KAAA,CAAM;AAClB","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { notFound } from 'next/navigation.js';
|
|
2
|
+
import { buildCollectionFolderView } from './buildView.js';
|
|
3
|
+
export const CollectionFolderView = async args => {
|
|
4
|
+
try {
|
|
5
|
+
const {
|
|
6
|
+
View
|
|
7
|
+
} = await buildCollectionFolderView(args);
|
|
8
|
+
return View;
|
|
9
|
+
} catch (error) {
|
|
10
|
+
if (error?.message === 'NEXT_REDIRECT') {
|
|
11
|
+
throw error;
|
|
12
|
+
}
|
|
13
|
+
if (error.message === 'not-found') {
|
|
14
|
+
notFound();
|
|
15
|
+
} else {
|
|
16
|
+
console.error(error); // eslint-disable-line no-console
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["notFound","buildCollectionFolderView","CollectionFolderView","args","View","error","message","console"],"sources":["../../../src/views/CollectionFolders/index.tsx"],"sourcesContent":["import type React from 'react'\n\nimport { notFound } from 'next/navigation.js'\n\nimport type { BuildCollectionFolderViewStateArgs } from './buildView.js'\n\nimport { buildCollectionFolderView } from './buildView.js'\n\nexport const CollectionFolderView: React.FC<BuildCollectionFolderViewStateArgs> = async (args) => {\n try {\n const { View } = await buildCollectionFolderView(args)\n return View\n } catch (error) {\n if (error?.message === 'NEXT_REDIRECT') {\n throw error\n }\n if (error.message === 'not-found') {\n notFound()\n } else {\n console.error(error) // eslint-disable-line no-console\n }\n }\n}\n"],"mappings":"AAEA,SAASA,QAAQ,QAAQ;AAIzB,SAASC,yBAAyB,QAAQ;AAE1C,OAAO,MAAMC,oBAAA,GAAqE,MAAOC,IAAA;EACvF,IAAI;IACF,MAAM;MAAEC;IAAI,CAAE,GAAG,MAAMH,yBAAA,CAA0BE,IAAA;IACjD,OAAOC,IAAA;EACT,EAAE,OAAOC,KAAA,EAAO;IACd,IAAIA,KAAA,EAAOC,OAAA,KAAY,iBAAiB;MACtC,MAAMD,KAAA;IACR;IACA,IAAIA,KAAA,CAAMC,OAAO,KAAK,aAAa;MACjCN,QAAA;IACF,OAAO;MACLO,OAAA,CAAQF,KAAK,CAACA,KAAA,GAAO;IACvB;EACF;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { getTranslation } from '@ruya.sa/translations';
|
|
2
|
+
import { generateMetadata } from '../../utilities/meta.js';
|
|
3
|
+
export const generateCollectionFolderMetadata = async args => {
|
|
4
|
+
const {
|
|
5
|
+
collectionConfig,
|
|
6
|
+
config,
|
|
7
|
+
i18n
|
|
8
|
+
} = args;
|
|
9
|
+
let title = '';
|
|
10
|
+
const description = '';
|
|
11
|
+
const keywords = '';
|
|
12
|
+
if (collectionConfig) {
|
|
13
|
+
title = getTranslation(collectionConfig.labels.singular, i18n);
|
|
14
|
+
}
|
|
15
|
+
title = `${title ? `${title} ` : title}${i18n.t('folder:folders')}`;
|
|
16
|
+
return generateMetadata({
|
|
17
|
+
...(config.admin.meta || {}),
|
|
18
|
+
description,
|
|
19
|
+
keywords,
|
|
20
|
+
serverURL: config.serverURL,
|
|
21
|
+
title,
|
|
22
|
+
...(collectionConfig?.admin?.meta || {})
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.js","names":["getTranslation","generateMetadata","generateCollectionFolderMetadata","args","collectionConfig","config","i18n","title","description","keywords","labels","singular","t","admin","meta","serverURL"],"sources":["../../../src/views/CollectionFolders/metadata.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { SanitizedCollectionConfig } from '@ruya.sa/payload'\n\nimport { getTranslation } from '@ruya.sa/translations'\n\nimport type { GenerateViewMetadata } from '../Root/index.js'\n\nimport { generateMetadata } from '../../utilities/meta.js'\n\nexport const generateCollectionFolderMetadata = async (\n args: {\n collectionConfig: SanitizedCollectionConfig\n } & Parameters<GenerateViewMetadata>[0],\n): Promise<Metadata> => {\n const { collectionConfig, config, i18n } = args\n\n let title: string = ''\n const description: string = ''\n const keywords: string = ''\n\n if (collectionConfig) {\n title = getTranslation(collectionConfig.labels.singular, i18n)\n }\n\n title = `${title ? `${title} ` : title}${i18n.t('folder:folders')}`\n\n return generateMetadata({\n ...(config.admin.meta || {}),\n description,\n keywords,\n serverURL: config.serverURL,\n title,\n ...(collectionConfig?.admin?.meta || {}),\n })\n}\n"],"mappings":"AAGA,SAASA,cAAc,QAAQ;AAI/B,SAASC,gBAAgB,QAAQ;AAEjC,OAAO,MAAMC,gCAAA,GAAmC,MAC9CC,IAAA;EAIA,MAAM;IAAEC,gBAAgB;IAAEC,MAAM;IAAEC;EAAI,CAAE,GAAGH,IAAA;EAE3C,IAAII,KAAA,GAAgB;EACpB,MAAMC,WAAA,GAAsB;EAC5B,MAAMC,QAAA,GAAmB;EAEzB,IAAIL,gBAAA,EAAkB;IACpBG,KAAA,GAAQP,cAAA,CAAeI,gBAAA,CAAiBM,MAAM,CAACC,QAAQ,EAAEL,IAAA;EAC3D;EAEAC,KAAA,GAAQ,GAAGA,KAAA,GAAQ,GAAGA,KAAA,GAAQ,GAAGA,KAAA,GAAQD,IAAA,CAAKM,CAAC,CAAC,mBAAmB;EAEnE,OAAOX,gBAAA,CAAiB;IACtB,IAAII,MAAA,CAAOQ,KAAK,CAACC,IAAI,IAAI,CAAC,CAAC;IAC3BN,WAAA;IACAC,QAAA;IACAM,SAAA,EAAWV,MAAA,CAAOU,SAAS;IAC3BR,KAAA;IACA,IAAIH,gBAAA,EAAkBS,KAAA,EAAOC,IAAA,IAAQ,CAAC,CAAC;EACzC;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { RenderServerComponent } from '@ruya.sa/ui/elements/RenderServerComponent';
|
|
2
|
+
export const renderFolderViewSlots = ({
|
|
3
|
+
clientProps,
|
|
4
|
+
collectionConfig,
|
|
5
|
+
description,
|
|
6
|
+
payload,
|
|
7
|
+
serverProps
|
|
8
|
+
}) => {
|
|
9
|
+
const result = {};
|
|
10
|
+
if (collectionConfig.admin.components?.afterList) {
|
|
11
|
+
result.AfterFolderList = RenderServerComponent({
|
|
12
|
+
clientProps: clientProps,
|
|
13
|
+
Component: collectionConfig.admin.components.afterList,
|
|
14
|
+
importMap: payload.importMap,
|
|
15
|
+
serverProps: serverProps
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
const listMenuItems = collectionConfig.admin.components?.listMenuItems;
|
|
19
|
+
if (Array.isArray(listMenuItems)) {
|
|
20
|
+
result.listMenuItems = [RenderServerComponent({
|
|
21
|
+
clientProps,
|
|
22
|
+
Component: listMenuItems,
|
|
23
|
+
importMap: payload.importMap,
|
|
24
|
+
serverProps
|
|
25
|
+
})];
|
|
26
|
+
}
|
|
27
|
+
if (collectionConfig.admin.components?.afterListTable) {
|
|
28
|
+
result.AfterFolderListTable = RenderServerComponent({
|
|
29
|
+
clientProps: clientProps,
|
|
30
|
+
Component: collectionConfig.admin.components.afterListTable,
|
|
31
|
+
importMap: payload.importMap,
|
|
32
|
+
serverProps: serverProps
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
if (collectionConfig.admin.components?.beforeList) {
|
|
36
|
+
result.BeforeFolderList = RenderServerComponent({
|
|
37
|
+
clientProps: clientProps,
|
|
38
|
+
Component: collectionConfig.admin.components.beforeList,
|
|
39
|
+
importMap: payload.importMap,
|
|
40
|
+
serverProps: serverProps
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
if (collectionConfig.admin.components?.beforeListTable) {
|
|
44
|
+
result.BeforeFolderListTable = RenderServerComponent({
|
|
45
|
+
clientProps: clientProps,
|
|
46
|
+
Component: collectionConfig.admin.components.beforeListTable,
|
|
47
|
+
importMap: payload.importMap,
|
|
48
|
+
serverProps: serverProps
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
if (collectionConfig.admin.components?.Description) {
|
|
52
|
+
result.Description = RenderServerComponent({
|
|
53
|
+
clientProps: {
|
|
54
|
+
collectionSlug: collectionConfig.slug,
|
|
55
|
+
description
|
|
56
|
+
},
|
|
57
|
+
Component: collectionConfig.admin.components.Description,
|
|
58
|
+
importMap: payload.importMap,
|
|
59
|
+
serverProps: serverProps
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return result;
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=renderFolderViewSlots.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderFolderViewSlots.js","names":["RenderServerComponent","renderFolderViewSlots","clientProps","collectionConfig","description","payload","serverProps","result","admin","components","afterList","AfterFolderList","Component","importMap","listMenuItems","Array","isArray","afterListTable","AfterFolderListTable","beforeList","BeforeFolderList","beforeListTable","BeforeFolderListTable","Description","collectionSlug","slug"],"sources":["../../../src/views/CollectionFolders/renderFolderViewSlots.tsx"],"sourcesContent":["import type {\n AfterFolderListClientProps,\n AfterFolderListTableClientProps,\n AfterFolderListTableServerPropsOnly,\n BeforeFolderListClientProps,\n BeforeFolderListServerPropsOnly,\n BeforeFolderListTableClientProps,\n BeforeFolderListTableServerPropsOnly,\n FolderListViewServerPropsOnly,\n FolderListViewSlots,\n ListViewSlotSharedClientProps,\n Payload,\n SanitizedCollectionConfig,\n StaticDescription,\n ViewDescriptionClientProps,\n ViewDescriptionServerPropsOnly,\n} from '@ruya.sa/payload'\n\nimport { RenderServerComponent } from '@ruya.sa/ui/elements/RenderServerComponent'\n\ntype Args = {\n clientProps: ListViewSlotSharedClientProps\n collectionConfig: SanitizedCollectionConfig\n description?: StaticDescription\n payload: Payload\n serverProps: FolderListViewServerPropsOnly\n}\n\nexport const renderFolderViewSlots = ({\n clientProps,\n collectionConfig,\n description,\n payload,\n serverProps,\n}: Args): FolderListViewSlots => {\n const result: FolderListViewSlots = {} as FolderListViewSlots\n\n if (collectionConfig.admin.components?.afterList) {\n result.AfterFolderList = RenderServerComponent({\n clientProps: clientProps satisfies AfterFolderListClientProps,\n Component: collectionConfig.admin.components.afterList,\n importMap: payload.importMap,\n serverProps: serverProps satisfies AfterFolderListTableServerPropsOnly,\n })\n }\n\n const listMenuItems = collectionConfig.admin.components?.listMenuItems\n if (Array.isArray(listMenuItems)) {\n result.listMenuItems = [\n RenderServerComponent({\n clientProps,\n Component: listMenuItems,\n importMap: payload.importMap,\n serverProps,\n }),\n ]\n }\n\n if (collectionConfig.admin.components?.afterListTable) {\n result.AfterFolderListTable = RenderServerComponent({\n clientProps: clientProps satisfies AfterFolderListTableClientProps,\n Component: collectionConfig.admin.components.afterListTable,\n importMap: payload.importMap,\n serverProps: serverProps satisfies AfterFolderListTableServerPropsOnly,\n })\n }\n\n if (collectionConfig.admin.components?.beforeList) {\n result.BeforeFolderList = RenderServerComponent({\n clientProps: clientProps satisfies BeforeFolderListClientProps,\n Component: collectionConfig.admin.components.beforeList,\n importMap: payload.importMap,\n serverProps: serverProps satisfies BeforeFolderListServerPropsOnly,\n })\n }\n\n if (collectionConfig.admin.components?.beforeListTable) {\n result.BeforeFolderListTable = RenderServerComponent({\n clientProps: clientProps satisfies BeforeFolderListTableClientProps,\n Component: collectionConfig.admin.components.beforeListTable,\n importMap: payload.importMap,\n serverProps: serverProps satisfies BeforeFolderListTableServerPropsOnly,\n })\n }\n\n if (collectionConfig.admin.components?.Description) {\n result.Description = RenderServerComponent({\n clientProps: {\n collectionSlug: collectionConfig.slug,\n description,\n } satisfies ViewDescriptionClientProps,\n Component: collectionConfig.admin.components.Description,\n importMap: payload.importMap,\n serverProps: serverProps satisfies ViewDescriptionServerPropsOnly,\n })\n }\n\n return result\n}\n"],"mappings":"AAkBA,SAASA,qBAAqB,QAAQ;AAUtC,OAAO,MAAMC,qBAAA,GAAwBA,CAAC;EACpCC,WAAW;EACXC,gBAAgB;EAChBC,WAAW;EACXC,OAAO;EACPC;AAAW,CACN;EACL,MAAMC,MAAA,GAA8B,CAAC;EAErC,IAAIJ,gBAAA,CAAiBK,KAAK,CAACC,UAAU,EAAEC,SAAA,EAAW;IAChDH,MAAA,CAAOI,eAAe,GAAGX,qBAAA,CAAsB;MAC7CE,WAAA,EAAaA,WAAA;MACbU,SAAA,EAAWT,gBAAA,CAAiBK,KAAK,CAACC,UAAU,CAACC,SAAS;MACtDG,SAAA,EAAWR,OAAA,CAAQQ,SAAS;MAC5BP,WAAA,EAAaA;IACf;EACF;EAEA,MAAMQ,aAAA,GAAgBX,gBAAA,CAAiBK,KAAK,CAACC,UAAU,EAAEK,aAAA;EACzD,IAAIC,KAAA,CAAMC,OAAO,CAACF,aAAA,GAAgB;IAChCP,MAAA,CAAOO,aAAa,GAAG,CACrBd,qBAAA,CAAsB;MACpBE,WAAA;MACAU,SAAA,EAAWE,aAAA;MACXD,SAAA,EAAWR,OAAA,CAAQQ,SAAS;MAC5BP;IACF,GACD;EACH;EAEA,IAAIH,gBAAA,CAAiBK,KAAK,CAACC,UAAU,EAAEQ,cAAA,EAAgB;IACrDV,MAAA,CAAOW,oBAAoB,GAAGlB,qBAAA,CAAsB;MAClDE,WAAA,EAAaA,WAAA;MACbU,SAAA,EAAWT,gBAAA,CAAiBK,KAAK,CAACC,UAAU,CAACQ,cAAc;MAC3DJ,SAAA,EAAWR,OAAA,CAAQQ,SAAS;MAC5BP,WAAA,EAAaA;IACf;EACF;EAEA,IAAIH,gBAAA,CAAiBK,KAAK,CAACC,UAAU,EAAEU,UAAA,EAAY;IACjDZ,MAAA,CAAOa,gBAAgB,GAAGpB,qBAAA,CAAsB;MAC9CE,WAAA,EAAaA,WAAA;MACbU,SAAA,EAAWT,gBAAA,CAAiBK,KAAK,CAACC,UAAU,CAACU,UAAU;MACvDN,SAAA,EAAWR,OAAA,CAAQQ,SAAS;MAC5BP,WAAA,EAAaA;IACf;EACF;EAEA,IAAIH,gBAAA,CAAiBK,KAAK,CAACC,UAAU,EAAEY,eAAA,EAAiB;IACtDd,MAAA,CAAOe,qBAAqB,GAAGtB,qBAAA,CAAsB;MACnDE,WAAA,EAAaA,WAAA;MACbU,SAAA,EAAWT,gBAAA,CAAiBK,KAAK,CAACC,UAAU,CAACY,eAAe;MAC5DR,SAAA,EAAWR,OAAA,CAAQQ,SAAS;MAC5BP,WAAA,EAAaA;IACf;EACF;EAEA,IAAIH,gBAAA,CAAiBK,KAAK,CAACC,UAAU,EAAEc,WAAA,EAAa;IAClDhB,MAAA,CAAOgB,WAAW,GAAGvB,qBAAA,CAAsB;MACzCE,WAAA,EAAa;QACXsB,cAAA,EAAgBrB,gBAAA,CAAiBsB,IAAI;QACrCrB;MACF;MACAQ,SAAA,EAAWT,gBAAA,CAAiBK,KAAK,CAACC,UAAU,CAACc,WAAW;MACxDV,SAAA,EAAWR,OAAA,CAAQQ,SAAS;MAC5BP,WAAA,EAAaA;IACf;EACF;EAEA,OAAOC,MAAA;AACT","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { notFound } from 'next/navigation.js';
|
|
2
|
+
import { renderListView } from '../List/index.js';
|
|
3
|
+
export const TrashView = async args => {
|
|
4
|
+
try {
|
|
5
|
+
const {
|
|
6
|
+
List: TrashList
|
|
7
|
+
} = await renderListView({
|
|
8
|
+
...args,
|
|
9
|
+
enableRowSelections: true,
|
|
10
|
+
trash: true,
|
|
11
|
+
viewType: 'trash'
|
|
12
|
+
});
|
|
13
|
+
return TrashList;
|
|
14
|
+
} catch (error) {
|
|
15
|
+
if (error.message === 'not-found') {
|
|
16
|
+
notFound();
|
|
17
|
+
}
|
|
18
|
+
console.error(error); // eslint-disable-line no-console
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["notFound","renderListView","TrashView","args","List","TrashList","enableRowSelections","trash","viewType","error","message","console"],"sources":["../../../src/views/CollectionTrash/index.tsx"],"sourcesContent":["import type { AdminViewServerProps, ListQuery } from '@ruya.sa/payload'\nimport type React from 'react'\n\nimport { notFound } from 'next/navigation.js'\n\nimport { renderListView } from '../List/index.js'\n\ntype RenderTrashViewArgs = {\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n disableQueryPresets?: boolean\n drawerSlug?: string\n enableRowSelections: boolean\n overrideEntityVisibility?: boolean\n query: ListQuery\n redirectAfterDelete?: boolean\n redirectAfterDuplicate?: boolean\n redirectAfterRestore?: boolean\n} & AdminViewServerProps\n\nexport const TrashView: React.FC<Omit<RenderTrashViewArgs, 'enableRowSelections'>> = async (\n args,\n) => {\n try {\n const { List: TrashList } = await renderListView({\n ...args,\n enableRowSelections: true,\n trash: true,\n viewType: 'trash',\n })\n\n return TrashList\n } catch (error) {\n if (error.message === 'not-found') {\n notFound()\n }\n console.error(error) // eslint-disable-line no-console\n }\n}\n"],"mappings":"AAGA,SAASA,QAAQ,QAAQ;AAEzB,SAASC,cAAc,QAAQ;AAgB/B,OAAO,MAAMC,SAAA,GAAwE,MACnFC,IAAA;EAEA,IAAI;IACF,MAAM;MAAEC,IAAA,EAAMC;IAAS,CAAE,GAAG,MAAMJ,cAAA,CAAe;MAC/C,GAAGE,IAAI;MACPG,mBAAA,EAAqB;MACrBC,KAAA,EAAO;MACPC,QAAA,EAAU;IACZ;IAEA,OAAOH,SAAA;EACT,EAAE,OAAOI,KAAA,EAAO;IACd,IAAIA,KAAA,CAAMC,OAAO,KAAK,aAAa;MACjCV,QAAA;IACF;IACAW,OAAA,CAAQF,KAAK,CAACA,KAAA,GAAO;EACvB;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { getTranslation } from '@ruya.sa/translations';
|
|
2
|
+
import { generateMetadata } from '../../utilities/meta.js';
|
|
3
|
+
export const generateCollectionTrashMetadata = async args => {
|
|
4
|
+
const {
|
|
5
|
+
collectionConfig,
|
|
6
|
+
config,
|
|
7
|
+
i18n
|
|
8
|
+
} = args;
|
|
9
|
+
let title = '';
|
|
10
|
+
const description = '';
|
|
11
|
+
const keywords = '';
|
|
12
|
+
if (collectionConfig) {
|
|
13
|
+
title = getTranslation(collectionConfig.labels.plural, i18n);
|
|
14
|
+
}
|
|
15
|
+
title = `${title ? `${title} ` : title}${i18n.t('general:trash')}`;
|
|
16
|
+
return generateMetadata({
|
|
17
|
+
...(config.admin.meta || {}),
|
|
18
|
+
description,
|
|
19
|
+
keywords,
|
|
20
|
+
serverURL: config.serverURL,
|
|
21
|
+
title,
|
|
22
|
+
...(collectionConfig?.admin?.meta || {})
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.js","names":["getTranslation","generateMetadata","generateCollectionTrashMetadata","args","collectionConfig","config","i18n","title","description","keywords","labels","plural","t","admin","meta","serverURL"],"sources":["../../../src/views/CollectionTrash/metadata.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { SanitizedCollectionConfig } from '@ruya.sa/payload'\n\nimport { getTranslation } from '@ruya.sa/translations'\n\nimport type { GenerateViewMetadata } from '../Root/index.js'\n\nimport { generateMetadata } from '../../utilities/meta.js'\n\nexport const generateCollectionTrashMetadata = async (\n args: {\n collectionConfig: SanitizedCollectionConfig\n } & Parameters<GenerateViewMetadata>[0],\n): Promise<Metadata> => {\n const { collectionConfig, config, i18n } = args\n\n let title: string = ''\n const description: string = ''\n const keywords: string = ''\n\n if (collectionConfig) {\n title = getTranslation(collectionConfig.labels.plural, i18n)\n }\n\n title = `${title ? `${title} ` : title}${i18n.t('general:trash')}`\n\n return generateMetadata({\n ...(config.admin.meta || {}),\n description,\n keywords,\n serverURL: config.serverURL,\n title,\n ...(collectionConfig?.admin?.meta || {}),\n })\n}\n"],"mappings":"AAGA,SAASA,cAAc,QAAQ;AAI/B,SAASC,gBAAgB,QAAQ;AAEjC,OAAO,MAAMC,+BAAA,GAAkC,MAC7CC,IAAA;EAIA,MAAM;IAAEC,gBAAgB;IAAEC,MAAM;IAAEC;EAAI,CAAE,GAAGH,IAAA;EAE3C,IAAII,KAAA,GAAgB;EACpB,MAAMC,WAAA,GAAsB;EAC5B,MAAMC,QAAA,GAAmB;EAEzB,IAAIL,gBAAA,EAAkB;IACpBG,KAAA,GAAQP,cAAA,CAAeI,gBAAA,CAAiBM,MAAM,CAACC,MAAM,EAAEL,IAAA;EACzD;EAEAC,KAAA,GAAQ,GAAGA,KAAA,GAAQ,GAAGA,KAAA,GAAQ,GAAGA,KAAA,GAAQD,IAAA,CAAKM,CAAC,CAAC,kBAAkB;EAElE,OAAOX,gBAAA,CAAiB;IACtB,IAAII,MAAA,CAAOQ,KAAK,CAACC,IAAI,IAAI,CAAC,CAAC;IAC3BN,WAAA;IACAC,QAAA;IACAM,SAAA,EAAWV,MAAA,CAAOU,SAAS;IAC3BR,KAAA;IACA,IAAIH,gBAAA,EAAkBS,KAAA,EAAOC,IAAA,IAAQ,CAAC,CAAC;EACzC;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { ConfirmPasswordField, EmailAndUsernameFields, Form, FormSubmit, PasswordField, RenderFields, useAuth, useConfig, useServerFunctions, useTranslation } from '@ruya.sa/ui';
|
|
5
|
+
import { abortAndIgnore, handleAbortRef } from '@ruya.sa/ui/shared';
|
|
6
|
+
import { formatAdminURL } from '@ruya.sa/payload/shared';
|
|
7
|
+
import React, { useEffect } from 'react';
|
|
8
|
+
export const CreateFirstUserClient = ({
|
|
9
|
+
docPermissions,
|
|
10
|
+
docPreferences,
|
|
11
|
+
initialState,
|
|
12
|
+
loginWithUsername,
|
|
13
|
+
userSlug
|
|
14
|
+
}) => {
|
|
15
|
+
const {
|
|
16
|
+
config: {
|
|
17
|
+
routes: {
|
|
18
|
+
admin,
|
|
19
|
+
api: apiRoute
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
getEntityConfig
|
|
23
|
+
} = useConfig();
|
|
24
|
+
const {
|
|
25
|
+
getFormState
|
|
26
|
+
} = useServerFunctions();
|
|
27
|
+
const {
|
|
28
|
+
t
|
|
29
|
+
} = useTranslation();
|
|
30
|
+
const {
|
|
31
|
+
setUser
|
|
32
|
+
} = useAuth();
|
|
33
|
+
const abortOnChangeRef = React.useRef(null);
|
|
34
|
+
const collectionConfig = getEntityConfig({
|
|
35
|
+
collectionSlug: userSlug
|
|
36
|
+
});
|
|
37
|
+
const onChange = React.useCallback(async ({
|
|
38
|
+
formState: prevFormState,
|
|
39
|
+
submitted
|
|
40
|
+
}) => {
|
|
41
|
+
const controller = handleAbortRef(abortOnChangeRef);
|
|
42
|
+
const response = await getFormState({
|
|
43
|
+
collectionSlug: userSlug,
|
|
44
|
+
docPermissions,
|
|
45
|
+
docPreferences,
|
|
46
|
+
formState: prevFormState,
|
|
47
|
+
operation: 'create',
|
|
48
|
+
schemaPath: userSlug,
|
|
49
|
+
signal: controller.signal,
|
|
50
|
+
skipValidation: !submitted
|
|
51
|
+
});
|
|
52
|
+
abortOnChangeRef.current = null;
|
|
53
|
+
if (response && response.state) {
|
|
54
|
+
return response.state;
|
|
55
|
+
}
|
|
56
|
+
}, [userSlug, getFormState, docPermissions, docPreferences]);
|
|
57
|
+
const handleFirstRegister = data => {
|
|
58
|
+
setUser(data);
|
|
59
|
+
};
|
|
60
|
+
useEffect(() => {
|
|
61
|
+
const abortOnChange = abortOnChangeRef.current;
|
|
62
|
+
return () => {
|
|
63
|
+
abortAndIgnore(abortOnChange);
|
|
64
|
+
};
|
|
65
|
+
}, []);
|
|
66
|
+
return /*#__PURE__*/_jsxs(Form, {
|
|
67
|
+
action: formatAdminURL({
|
|
68
|
+
apiRoute,
|
|
69
|
+
path: `/${userSlug}/first-register`
|
|
70
|
+
}),
|
|
71
|
+
initialState: {
|
|
72
|
+
...initialState,
|
|
73
|
+
'confirm-password': {
|
|
74
|
+
...initialState['confirm-password'],
|
|
75
|
+
valid: initialState['confirm-password']['valid'] || false,
|
|
76
|
+
value: initialState['confirm-password']['value'] || ''
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
method: "POST",
|
|
80
|
+
onChange: [onChange],
|
|
81
|
+
onSuccess: handleFirstRegister,
|
|
82
|
+
redirect: admin,
|
|
83
|
+
validationOperation: "create",
|
|
84
|
+
children: [/*#__PURE__*/_jsx(EmailAndUsernameFields, {
|
|
85
|
+
className: "emailAndUsername",
|
|
86
|
+
loginWithUsername: loginWithUsername,
|
|
87
|
+
operation: "create",
|
|
88
|
+
readOnly: false,
|
|
89
|
+
t: t
|
|
90
|
+
}), /*#__PURE__*/_jsx(PasswordField, {
|
|
91
|
+
autoComplete: "off",
|
|
92
|
+
field: {
|
|
93
|
+
name: 'password',
|
|
94
|
+
label: t('authentication:newPassword'),
|
|
95
|
+
required: true
|
|
96
|
+
},
|
|
97
|
+
path: "password"
|
|
98
|
+
}), /*#__PURE__*/_jsx(ConfirmPasswordField, {}), /*#__PURE__*/_jsx(RenderFields, {
|
|
99
|
+
fields: collectionConfig.fields,
|
|
100
|
+
forceRender: true,
|
|
101
|
+
parentIndexPath: "",
|
|
102
|
+
parentPath: "",
|
|
103
|
+
parentSchemaPath: userSlug,
|
|
104
|
+
permissions: true,
|
|
105
|
+
readOnly: false
|
|
106
|
+
}), /*#__PURE__*/_jsx(FormSubmit, {
|
|
107
|
+
size: "large",
|
|
108
|
+
children: t('general:create')
|
|
109
|
+
})]
|
|
110
|
+
});
|
|
111
|
+
};
|
|
112
|
+
//# sourceMappingURL=index.client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.client.js","names":["ConfirmPasswordField","EmailAndUsernameFields","Form","FormSubmit","PasswordField","RenderFields","useAuth","useConfig","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","formatAdminURL","React","useEffect","CreateFirstUserClient","docPermissions","docPreferences","initialState","loginWithUsername","userSlug","config","routes","admin","api","apiRoute","getEntityConfig","getFormState","t","setUser","abortOnChangeRef","useRef","collectionConfig","collectionSlug","onChange","useCallback","formState","prevFormState","submitted","controller","response","operation","schemaPath","signal","skipValidation","current","state","handleFirstRegister","data","abortOnChange","_jsxs","action","path","valid","value","method","onSuccess","redirect","validationOperation","_jsx","className","readOnly","autoComplete","field","name","label","required","fields","forceRender","parentIndexPath","parentPath","parentSchemaPath","permissions","size"],"sources":["../../../src/views/CreateFirstUser/index.client.tsx"],"sourcesContent":["'use client'\nimport type { FormProps, UserWithToken } from '@ruya.sa/ui'\nimport type {\n DocumentPreferences,\n FormState,\n LoginWithUsernameOptions,\n SanitizedDocumentPermissions,\n} from '@ruya.sa/payload'\n\nimport {\n ConfirmPasswordField,\n EmailAndUsernameFields,\n Form,\n FormSubmit,\n PasswordField,\n RenderFields,\n useAuth,\n useConfig,\n useServerFunctions,\n useTranslation,\n} from '@ruya.sa/ui'\nimport { abortAndIgnore, handleAbortRef } from '@ruya.sa/ui/shared'\nimport { formatAdminURL } from '@ruya.sa/payload/shared'\nimport React, { useEffect } from 'react'\n\nexport const CreateFirstUserClient: React.FC<{\n docPermissions: SanitizedDocumentPermissions\n docPreferences: DocumentPreferences\n initialState: FormState\n loginWithUsername?: false | LoginWithUsernameOptions\n userSlug: string\n}> = ({ docPermissions, docPreferences, initialState, loginWithUsername, userSlug }) => {\n const {\n config: {\n routes: { admin, api: apiRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const { getFormState } = useServerFunctions()\n\n const { t } = useTranslation()\n const { setUser } = useAuth()\n\n const abortOnChangeRef = React.useRef<AbortController>(null)\n\n const collectionConfig = getEntityConfig({ collectionSlug: userSlug })\n\n const onChange: FormProps['onChange'][0] = React.useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n const response = await getFormState({\n collectionSlug: userSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n operation: 'create',\n schemaPath: userSlug,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortOnChangeRef.current = null\n\n if (response && response.state) {\n return response.state\n }\n },\n [userSlug, getFormState, docPermissions, docPreferences],\n )\n\n const handleFirstRegister = (data: UserWithToken) => {\n setUser(data)\n }\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n }\n }, [])\n\n return (\n <Form\n action={formatAdminURL({\n apiRoute,\n path: `/${userSlug}/first-register`,\n })}\n initialState={{\n ...initialState,\n 'confirm-password': {\n ...initialState['confirm-password'],\n valid: initialState['confirm-password']['valid'] || false,\n value: initialState['confirm-password']['value'] || '',\n },\n }}\n method=\"POST\"\n onChange={[onChange]}\n onSuccess={handleFirstRegister}\n redirect={admin}\n validationOperation=\"create\"\n >\n <EmailAndUsernameFields\n className=\"emailAndUsername\"\n loginWithUsername={loginWithUsername}\n operation=\"create\"\n readOnly={false}\n t={t}\n />\n <PasswordField\n autoComplete=\"off\"\n field={{\n name: 'password',\n label: t('authentication:newPassword'),\n required: true,\n }}\n path=\"password\"\n />\n <ConfirmPasswordField />\n <RenderFields\n fields={collectionConfig.fields}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={userSlug}\n permissions={true}\n readOnly={false}\n />\n <FormSubmit size=\"large\">{t('general:create')}</FormSubmit>\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { buildFormState } from '@ruya.sa/ui/utilities/buildFormState';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { getDocPreferences } from '../Document/getDocPreferences.js';
|
|
5
|
+
import { getDocumentData } from '../Document/getDocumentData.js';
|
|
6
|
+
import { CreateFirstUserClient } from './index.client.js';
|
|
7
|
+
export async function CreateFirstUserView({
|
|
8
|
+
initPageResult
|
|
9
|
+
}) {
|
|
10
|
+
const {
|
|
11
|
+
locale,
|
|
12
|
+
req,
|
|
13
|
+
req: {
|
|
14
|
+
payload: {
|
|
15
|
+
collections,
|
|
16
|
+
config: {
|
|
17
|
+
admin: {
|
|
18
|
+
user: userSlug
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
} = initPageResult;
|
|
24
|
+
const collectionConfig = collections?.[userSlug]?.config;
|
|
25
|
+
const {
|
|
26
|
+
auth: authOptions
|
|
27
|
+
} = collectionConfig;
|
|
28
|
+
const loginWithUsername = authOptions.loginWithUsername;
|
|
29
|
+
// Fetch the data required for the view
|
|
30
|
+
const data = await getDocumentData({
|
|
31
|
+
collectionSlug: collectionConfig.slug,
|
|
32
|
+
locale,
|
|
33
|
+
payload: req.payload,
|
|
34
|
+
req,
|
|
35
|
+
user: req.user
|
|
36
|
+
});
|
|
37
|
+
// Get document preferences
|
|
38
|
+
const docPreferences = await getDocPreferences({
|
|
39
|
+
collectionSlug: collectionConfig.slug,
|
|
40
|
+
payload: req.payload,
|
|
41
|
+
user: req.user
|
|
42
|
+
});
|
|
43
|
+
const baseFields = Object.fromEntries(collectionConfig.fields.filter(f => 'name' in f && typeof f.name === 'string').map(f => [f.name, {
|
|
44
|
+
create: true,
|
|
45
|
+
read: true,
|
|
46
|
+
update: true
|
|
47
|
+
}]));
|
|
48
|
+
// In create-first-user we should always allow all fields
|
|
49
|
+
const docPermissionsForForm = {
|
|
50
|
+
create: true,
|
|
51
|
+
delete: true,
|
|
52
|
+
fields: baseFields,
|
|
53
|
+
read: true,
|
|
54
|
+
readVersions: true,
|
|
55
|
+
update: true
|
|
56
|
+
};
|
|
57
|
+
// Build initial form state from data
|
|
58
|
+
const {
|
|
59
|
+
state: formState
|
|
60
|
+
} = await buildFormState({
|
|
61
|
+
collectionSlug: collectionConfig.slug,
|
|
62
|
+
data,
|
|
63
|
+
docPermissions: docPermissionsForForm,
|
|
64
|
+
docPreferences,
|
|
65
|
+
locale: locale?.code,
|
|
66
|
+
operation: 'create',
|
|
67
|
+
renderAllFields: true,
|
|
68
|
+
req,
|
|
69
|
+
schemaPath: collectionConfig.slug,
|
|
70
|
+
skipClientConfigAuth: true,
|
|
71
|
+
skipValidation: true
|
|
72
|
+
});
|
|
73
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
74
|
+
className: "create-first-user",
|
|
75
|
+
children: [/*#__PURE__*/_jsx("h1", {
|
|
76
|
+
children: req.t('general:welcome')
|
|
77
|
+
}), /*#__PURE__*/_jsx("p", {
|
|
78
|
+
children: req.t('authentication:beginCreateFirstUser')
|
|
79
|
+
}), /*#__PURE__*/_jsx(CreateFirstUserClient, {
|
|
80
|
+
docPermissions: docPermissionsForForm,
|
|
81
|
+
docPreferences: docPreferences,
|
|
82
|
+
initialState: formState,
|
|
83
|
+
loginWithUsername: loginWithUsername,
|
|
84
|
+
userSlug: userSlug
|
|
85
|
+
})]
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["buildFormState","React","getDocPreferences","getDocumentData","CreateFirstUserClient","CreateFirstUserView","initPageResult","locale","req","payload","collections","config","admin","user","userSlug","collectionConfig","auth","authOptions","loginWithUsername","data","collectionSlug","slug","docPreferences","baseFields","Object","fromEntries","fields","filter","f","name","map","create","read","update","docPermissionsForForm","delete","readVersions","state","formState","docPermissions","code","operation","renderAllFields","schemaPath","skipClientConfigAuth","skipValidation","_jsxs","className","_jsx","t","initialState"],"sources":["../../../src/views/CreateFirstUser/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n SanitizedDocumentPermissions,\n SanitizedFieldsPermissions,\n} from '@ruya.sa/payload'\n\nimport { buildFormState } from '@ruya.sa/ui/utilities/buildFormState'\nimport React from 'react'\n\nimport { getDocPreferences } from '../Document/getDocPreferences.js'\nimport { getDocumentData } from '../Document/getDocumentData.js'\nimport { CreateFirstUserClient } from './index.client.js'\nimport './index.scss'\n\nexport async function CreateFirstUserView({ initPageResult }: AdminViewServerProps) {\n const {\n locale,\n req,\n req: {\n payload: {\n collections,\n config: {\n admin: { user: userSlug },\n },\n },\n },\n } = initPageResult\n\n const collectionConfig = collections?.[userSlug]?.config\n const { auth: authOptions } = collectionConfig\n const loginWithUsername = authOptions.loginWithUsername\n\n // Fetch the data required for the view\n const data = await getDocumentData({\n collectionSlug: collectionConfig.slug,\n locale,\n payload: req.payload,\n req,\n user: req.user,\n })\n\n // Get document preferences\n const docPreferences = await getDocPreferences({\n collectionSlug: collectionConfig.slug,\n payload: req.payload,\n user: req.user,\n })\n\n const baseFields: SanitizedFieldsPermissions = Object.fromEntries(\n collectionConfig.fields\n .filter((f): f is { name: string } & typeof f => 'name' in f && typeof f.name === 'string')\n .map((f) => [f.name, { create: true, read: true, update: true }]),\n )\n\n // In create-first-user we should always allow all fields\n const docPermissionsForForm: SanitizedDocumentPermissions = {\n create: true,\n delete: true,\n fields: baseFields,\n read: true,\n readVersions: true,\n update: true,\n }\n\n // Build initial form state from data\n const { state: formState } = await buildFormState({\n collectionSlug: collectionConfig.slug,\n data,\n docPermissions: docPermissionsForForm,\n docPreferences,\n locale: locale?.code,\n operation: 'create',\n renderAllFields: true,\n req,\n schemaPath: collectionConfig.slug,\n skipClientConfigAuth: true,\n skipValidation: true,\n })\n\n return (\n <div className=\"create-first-user\">\n <h1>{req.t('general:welcome')}</h1>\n <p>{req.t('authentication:beginCreateFirstUser')}</p>\n <CreateFirstUserClient\n docPermissions={docPermissionsForForm}\n docPreferences={docPreferences}\n initialState={formState}\n loginWithUsername={loginWithUsername}\n userSlug={userSlug}\n />\n </div>\n )\n}\n"],"mappings":";AAMA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,eAAe,QAAQ;AAChC,SAASC,qBAAqB,QAAQ;AAGtC,OAAO,eAAeC,oBAAoB;EAAEC;AAAc,CAAwB;EAChF,MAAM;IACJC,MAAM;IACNC,GAAG;IACHA,GAAA,EAAK;MACHC,OAAA,EAAS;QACPC,WAAW;QACXC,MAAA,EAAQ;UACNC,KAAA,EAAO;YAAEC,IAAA,EAAMC;UAAQ;QAAE;MAC1B;IACF;EACF,CACF,GAAGR,cAAA;EAEJ,MAAMS,gBAAA,GAAmBL,WAAA,GAAcI,QAAA,CAAS,EAAEH,MAAA;EAClD,MAAM;IAAEK,IAAA,EAAMC;EAAW,CAAE,GAAGF,gBAAA;EAC9B,MAAMG,iBAAA,GAAoBD,WAAA,CAAYC,iBAAiB;EAEvD;EACA,MAAMC,IAAA,GAAO,MAAMhB,eAAA,CAAgB;IACjCiB,cAAA,EAAgBL,gBAAA,CAAiBM,IAAI;IACrCd,MAAA;IACAE,OAAA,EAASD,GAAA,CAAIC,OAAO;IACpBD,GAAA;IACAK,IAAA,EAAML,GAAA,CAAIK;EACZ;EAEA;EACA,MAAMS,cAAA,GAAiB,MAAMpB,iBAAA,CAAkB;IAC7CkB,cAAA,EAAgBL,gBAAA,CAAiBM,IAAI;IACrCZ,OAAA,EAASD,GAAA,CAAIC,OAAO;IACpBI,IAAA,EAAML,GAAA,CAAIK;EACZ;EAEA,MAAMU,UAAA,GAAyCC,MAAA,CAAOC,WAAW,CAC/DV,gBAAA,CAAiBW,MAAM,CACpBC,MAAM,CAAEC,CAAA,IAAwC,UAAUA,CAAA,IAAK,OAAOA,CAAA,CAAEC,IAAI,KAAK,UACjFC,GAAG,CAAEF,CAAA,IAAM,CAACA,CAAA,CAAEC,IAAI,EAAE;IAAEE,MAAA,EAAQ;IAAMC,IAAA,EAAM;IAAMC,MAAA,EAAQ;EAAK,EAAE;EAGpE;EACA,MAAMC,qBAAA,GAAsD;IAC1DH,MAAA,EAAQ;IACRI,MAAA,EAAQ;IACRT,MAAA,EAAQH,UAAA;IACRS,IAAA,EAAM;IACNI,YAAA,EAAc;IACdH,MAAA,EAAQ;EACV;EAEA;EACA,MAAM;IAAEI,KAAA,EAAOC;EAAS,CAAE,GAAG,MAAMtC,cAAA,CAAe;IAChDoB,cAAA,EAAgBL,gBAAA,CAAiBM,IAAI;IACrCF,IAAA;IACAoB,cAAA,EAAgBL,qBAAA;IAChBZ,cAAA;IACAf,MAAA,EAAQA,MAAA,EAAQiC,IAAA;IAChBC,SAAA,EAAW;IACXC,eAAA,EAAiB;IACjBlC,GAAA;IACAmC,UAAA,EAAY5B,gBAAA,CAAiBM,IAAI;IACjCuB,oBAAA,EAAsB;IACtBC,cAAA,EAAgB;EAClB;EAEA,oBACEC,KAAA,CAAC;IAAIC,SAAA,EAAU;4BACbC,IAAA,CAAC;gBAAIxC,GAAA,CAAIyC,CAAC,CAAC;qBACXD,IAAA,CAAC;gBAAGxC,GAAA,CAAIyC,CAAC,CAAC;qBACVD,IAAA,CAAC5C,qBAAA;MACCmC,cAAA,EAAgBL,qBAAA;MAChBZ,cAAA,EAAgBA,cAAA;MAChB4B,YAAA,EAAcZ,SAAA;MACdpB,iBAAA,EAAmBA,iBAAA;MACnBJ,QAAA,EAAUA;;;AAIlB","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { generateMetadata } from '../../utilities/meta.js';
|
|
2
|
+
export const generateCreateFirstUserViewMetadata = async ({
|
|
3
|
+
config,
|
|
4
|
+
i18n: {
|
|
5
|
+
t
|
|
6
|
+
}
|
|
7
|
+
}) => generateMetadata({
|
|
8
|
+
description: t('authentication:createFirstUser'),
|
|
9
|
+
keywords: t('general:create'),
|
|
10
|
+
serverURL: config.serverURL,
|
|
11
|
+
title: t('authentication:createFirstUser'),
|
|
12
|
+
...(config.admin.meta || {})
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.js","names":["generateMetadata","generateCreateFirstUserViewMetadata","config","i18n","t","description","keywords","serverURL","title","admin","meta"],"sources":["../../../src/views/CreateFirstUser/metadata.ts"],"sourcesContent":["import type { GenerateViewMetadata } from '../Root/index.js'\n\nimport { generateMetadata } from '../../utilities/meta.js'\n\nexport const generateCreateFirstUserViewMetadata: GenerateViewMetadata = async ({\n config,\n i18n: { t },\n}) =>\n generateMetadata({\n description: t('authentication:createFirstUser'),\n keywords: t('general:create'),\n serverURL: config.serverURL,\n title: t('authentication:createFirstUser'),\n ...(config.admin.meta || {}),\n })\n"],"mappings":"AAEA,SAASA,gBAAgB,QAAQ;AAEjC,OAAO,MAAMC,mCAAA,GAA4D,MAAAA,CAAO;EAC9EC,MAAM;EACNC,IAAA,EAAM;IAAEC;EAAC;AAAE,CACZ,KACCJ,gBAAA,CAAiB;EACfK,WAAA,EAAaD,CAAA,CAAE;EACfE,QAAA,EAAUF,CAAA,CAAE;EACZG,SAAA,EAAWL,MAAA,CAAOK,SAAS;EAC3BC,KAAA,EAAOJ,CAAA,CAAE;EACT,IAAIF,MAAA,CAAOO,KAAK,CAACC,IAAI,IAAI,CAAC,CAAC;AAC7B","ignoreList":[]}
|