studiocms 0.1.0-beta.7 → 0.1.0-beta.8
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/CHANGELOG.md +473 -0
- package/LICENSE +1 -1
- package/README.md +17 -10
- package/auth.d.ts +405 -0
- package/core.d.ts +225 -0
- package/custom-renderers/index.ts +4 -0
- package/custom-renderers/markdocRenderers/markdocReact-components/MarkDocReactRenderer.tsx +8 -0
- package/custom-renderers/markdocRenderers/markdocReact-components/MarkDocReactWrapper.astro +13 -0
- package/custom-renderers/markdocRenderers/markdocReact.ts +56 -0
- package/dist/cli/cmds/get-turso.d.ts +1 -0
- package/dist/cli/cmds/get-turso.js +10 -0
- package/dist/cli/cmds/init/index.d.ts +4 -0
- package/dist/cli/cmds/init/index.js +52 -0
- package/dist/cli/cmds/init/steps/data/studiocmsEnv.d.ts +3 -0
- package/dist/cli/cmds/init/steps/data/studiocmsEnv.js +71 -0
- package/dist/cli/cmds/init/steps/envBuilder.d.ts +21 -0
- package/dist/cli/cmds/init/steps/envBuilder.js +368 -0
- package/dist/cli/cmds/init/steps/nextSteps.d.ts +2 -0
- package/dist/cli/cmds/init/steps/nextSteps.js +38 -0
- package/dist/cli/cmds/init.d.ts +1 -0
- package/dist/cli/cmds/init.js +4 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +9 -0
- package/dist/cli/lib/commander.d.ts +39 -0
- package/dist/cli/lib/commander.js +87 -0
- package/dist/cli/lib/context.d.ts +28 -0
- package/dist/cli/lib/context.js +55 -0
- package/dist/cli/lib/pathUtil.d.ts +5 -0
- package/dist/cli/lib/pathUtil.js +14 -0
- package/dist/cli/lib/runExternal.d.ts +20 -0
- package/dist/cli/lib/runExternal.js +40 -0
- package/dist/cli/lib/seasonal.d.ts +5 -0
- package/dist/cli/lib/seasonal.js +88 -0
- package/dist/cli/lib/utils.d.ts +55 -0
- package/dist/cli/lib/utils.js +310 -0
- package/dist/cli/shared/intro.d.ts +2 -0
- package/dist/cli/shared/intro.js +24 -0
- package/dist/components/DefaultEditor.astro +138 -0
- package/dist/components/FormattedDate.astro +12 -0
- package/dist/components/Generator.astro +7 -0
- package/dist/components/Renderer.astro +13 -0
- package/dist/components/auth/OAuthButton.astro +21 -0
- package/dist/components/auth/OAuthButtonStack.astro +19 -0
- package/dist/components/auth/StaticAuthCheck.astro +20 -0
- package/dist/components/auth/StudioCMSLogoSVG.astro +13 -0
- package/dist/components/auth/oAuthButtonProviders.d.ts +8 -0
- package/dist/components/auth/oAuthButtonProviders.js +35 -0
- package/dist/components/dashboard/AstroCodeDiffsScript.astro +25 -0
- package/dist/components/dashboard/BaseHead.astro +41 -0
- package/dist/components/dashboard/Code.astro +23 -0
- package/dist/components/dashboard/DashboardPageHeader.astro +60 -0
- package/dist/components/dashboard/DoubleSidebar.astro +26 -0
- package/dist/components/dashboard/Footer.astro +16 -0
- package/dist/components/dashboard/MainSidebarContent.astro +124 -0
- package/dist/components/dashboard/PageHeader.astro +52 -0
- package/dist/components/dashboard/SidebarLink.astro +61 -0
- package/dist/components/dashboard/SidebarModals.astro +6 -0
- package/dist/components/dashboard/SidebarPluginLink.astro +45 -0
- package/dist/components/dashboard/SingleSidebar.astro +23 -0
- package/dist/components/dashboard/StudioCMSLogo.astro +12 -0
- package/dist/components/dashboard/ThemeManager.astro +53 -0
- package/dist/components/dashboard/component-scripts/TinyMDE.astro +6 -0
- package/dist/components/dashboard/component-scripts/dateTimeListener.d.ts +1 -0
- package/dist/components/dashboard/component-scripts/dateTimeListener.js +14 -0
- package/dist/components/dashboard/component-scripts/dateWithTimeAndZone.d.ts +1 -0
- package/dist/components/dashboard/component-scripts/dateWithTimeAndZone.js +12 -0
- package/dist/components/dashboard/component-scripts/makeClientRoutable.d.ts +1 -0
- package/dist/components/dashboard/component-scripts/makeClientRoutable.js +9 -0
- package/dist/components/dashboard/component-scripts/timeAgo.d.ts +1 -0
- package/dist/components/dashboard/component-scripts/timeAgo.js +21 -0
- package/dist/components/dashboard/islands/LoginChecker.astro +52 -0
- package/dist/components/dashboard/islands/configuration/ConfigForm.astro +272 -0
- package/dist/components/dashboard/islands/configuration/LightVsDark.astro +67 -0
- package/dist/components/dashboard/islands/content-mgmt/CreateFolder.astro +91 -0
- package/dist/components/dashboard/islands/content-mgmt/CreatePage.astro +332 -0
- package/dist/components/dashboard/islands/content-mgmt/EditFolder.astro +112 -0
- package/dist/components/dashboard/islands/content-mgmt/EditPage.astro +388 -0
- package/dist/components/dashboard/islands/content-mgmt/InnerSidebarElement.astro +230 -0
- package/dist/components/dashboard/islands/content-mgmt/PageHeader.astro +387 -0
- package/dist/components/dashboard/islands/content-mgmt/PageList.astro +49 -0
- package/dist/components/dashboard/islands/content-mgmt/PluginFields.astro +29 -0
- package/dist/components/dashboard/islands/content-mgmt/TreeRenderer.astro +75 -0
- package/dist/components/dashboard/islands/content-mgmt/TreeSidebarFolder.astro +53 -0
- package/dist/components/dashboard/islands/content-mgmt/TreeSidebarLink.astro +51 -0
- package/dist/components/dashboard/islands/content-mgmt/runtime.d.ts +10 -0
- package/dist/components/dashboard/islands/content-mgmt/runtime.js +33 -0
- package/dist/components/dashboard/islands/content-mgmt/shared.d.ts +27 -0
- package/dist/components/dashboard/islands/content-mgmt/shared.js +31 -0
- package/dist/components/dashboard/islands/dashboard/DashboardGrid.astro +39 -0
- package/dist/components/dashboard/islands/dashboard/DashboardGridItem.astro +34 -0
- package/dist/components/dashboard/islands/dashboard/Test.astro +5 -0
- package/dist/components/dashboard/islands/dashboard/UserName.astro +6 -0
- package/dist/components/dashboard/islands/dashboard/shared.d.ts +2 -0
- package/dist/components/dashboard/islands/dashboard/shared.js +0 -0
- package/dist/components/dashboard/islands/plugins/SettingsRenderer.astro +29 -0
- package/dist/components/dashboard/islands/profile/APITokens.astro +267 -0
- package/dist/components/dashboard/islands/profile/BasicInfo.astro +107 -0
- package/dist/components/dashboard/islands/profile/BasicInfoFallback.astro +43 -0
- package/dist/components/dashboard/islands/profile/SocialSignin.astro +151 -0
- package/dist/components/dashboard/islands/profile/SocialSigninFallback.astro +83 -0
- package/dist/components/dashboard/islands/profile/UpdatePassword.astro +137 -0
- package/dist/components/dashboard/islands/profile/UpdatePasswordFallback.astro +47 -0
- package/dist/components/dashboard/islands/profile/oAuthButtonProviders.d.ts +8 -0
- package/dist/components/dashboard/islands/profile/oAuthButtonProviders.js +35 -0
- package/dist/components/dashboard/islands/sidebar/Admin.astro +103 -0
- package/dist/components/dashboard/islands/sidebar/Editor.astro +18 -0
- package/dist/components/dashboard/islands/sidebar/UserAccount.astro +23 -0
- package/dist/components/dashboard/islands/sidebar/VersionCheck.astro +127 -0
- package/dist/components/dashboard/islands/sidebar/VersionCheckChangelog.astro +107 -0
- package/dist/components/dashboard/islands/user-mgmt/InnerSidebarElement.astro +298 -0
- package/dist/components/dashboard/islands/user-mgmt/RankCheck.astro +49 -0
- package/dist/components/dashboard/islands/user-mgmt/SocialSignin.astro +88 -0
- package/dist/components/dashboard/islands/user-mgmt/UserListItem.astro +60 -0
- package/dist/components/dashboard/sidebar-modals/UserManagementModals.astro +103 -0
- package/dist/components/dashboard/sidebar-modals/VersionModal.astro +267 -0
- package/dist/components/dashboard/sidebarConfig.d.ts +31 -0
- package/dist/components/dashboard/sidebarConfig.js +90 -0
- package/dist/components/default-grid-items/Recently-created-pages.astro +91 -0
- package/dist/components/default-grid-items/Recently-signed-up.astro +71 -0
- package/dist/components/default-grid-items/Recently-updated-pages.astro +96 -0
- package/dist/components/default-grid-items/Totals.astro +107 -0
- package/dist/components/default-grid-items/utils.d.ts +17 -0
- package/dist/components/default-grid-items/utils.js +26 -0
- package/dist/components/image/CustomImage.astro +90 -0
- package/dist/components/user-quick-tools.d.ts +42 -0
- package/dist/components/user-quick-tools.js +312 -0
- package/dist/config.d.ts +3 -0
- package/dist/config.js +4 -0
- package/dist/consts.d.ts +61 -0
- package/dist/consts.js +39 -0
- package/dist/db/config.d.ts +4 -0
- package/dist/db/config.js +6 -0
- package/dist/db/tables.js +168 -0
- package/dist/errors.d.ts +19 -0
- package/dist/errors.js +11 -0
- package/dist/index.d.ts +152 -0
- package/dist/index.js +1177 -0
- package/dist/layouts/auth/AuthLayout.astro +74 -0
- package/dist/layouts/auth/FallbackCanvas.astro +123 -0
- package/dist/layouts/auth/ThemeManager.astro +53 -0
- package/dist/layouts/auth/ThreeCanvasLoader.astro +18 -0
- package/dist/layouts/dashboard/Layout.astro +64 -0
- package/dist/lib/auth/encryption.d.ts +30 -0
- package/dist/lib/auth/encryption.js +39 -0
- package/dist/lib/auth/password.d.ts +27 -0
- package/dist/lib/auth/password.js +42 -0
- package/dist/lib/auth/rate-limit.d.ts +136 -0
- package/dist/lib/auth/rate-limit.js +214 -0
- package/dist/lib/auth/session.d.ts +85 -0
- package/dist/lib/auth/session.js +93 -0
- package/dist/lib/auth/types.d.ts +83 -0
- package/dist/lib/auth/types.js +0 -0
- package/dist/lib/auth/user.d.ts +148 -0
- package/dist/lib/auth/user.js +133 -0
- package/dist/lib/dashboardGrid.d.ts +119 -0
- package/dist/lib/dashboardGrid.js +0 -0
- package/dist/lib/dynamic-sitemap/index.d.ts +42 -0
- package/dist/lib/dynamic-sitemap/index.js +45 -0
- package/dist/lib/dynamic-sitemap/sitemap-index.xml.d.ts +8 -0
- package/dist/lib/dynamic-sitemap/sitemap-index.xml.js +20 -0
- package/dist/lib/dynamic-sitemap/sitemap-index.xml.ts +45 -0
- package/dist/lib/head.d.ts +9 -0
- package/dist/lib/head.js +65 -0
- package/dist/lib/headDefaults.d.ts +18 -0
- package/dist/lib/headDefaults.js +75 -0
- package/dist/lib/i18n/LanguageSelector.astro +103 -0
- package/dist/lib/i18n/config.d.ts +16 -0
- package/dist/lib/i18n/config.js +8 -0
- package/dist/lib/i18n/index.d.ts +228 -0
- package/dist/lib/i18n/index.js +63 -0
- package/dist/lib/i18n/translations/de.json +43 -0
- package/dist/lib/i18n/translations/en-us.json +63 -0
- package/dist/lib/index.d.ts +7 -0
- package/dist/lib/index.js +7 -0
- package/dist/lib/jsonUtils.d.ts +2 -0
- package/dist/lib/jsonUtils.js +11 -0
- package/dist/lib/makeAPIRoute.d.ts +45 -0
- package/dist/lib/makeAPIRoute.js +16 -0
- package/dist/lib/makePublicRoute.d.ts +7 -0
- package/dist/lib/makePublicRoute.js +6 -0
- package/dist/lib/pathGenerators.d.ts +20 -0
- package/dist/lib/pathGenerators.js +66 -0
- package/dist/lib/plugins/dashboard-pages.d.ts +71 -0
- package/dist/lib/plugins/dashboard-pages.js +11 -0
- package/dist/lib/plugins/frontend-navigation.d.ts +18 -0
- package/dist/lib/plugins/frontend-navigation.js +39 -0
- package/dist/lib/plugins/index.d.ts +2 -0
- package/dist/lib/plugins/index.js +2 -0
- package/dist/lib/removeLeadingTrailingSlashes.d.ts +7 -0
- package/dist/lib/removeLeadingTrailingSlashes.js +13 -0
- package/dist/lib/renderer/astro-remark.d.ts +13 -0
- package/dist/lib/renderer/astro-remark.js +11 -0
- package/dist/lib/renderer/contentRenderer.d.ts +13 -0
- package/dist/lib/renderer/contentRenderer.js +31 -0
- package/dist/lib/renderer/errors.d.ts +5 -0
- package/dist/lib/renderer/errors.js +25 -0
- package/dist/lib/renderer/markdoc-renderers/markdocHTML.d.ts +3 -0
- package/dist/lib/renderer/markdoc-renderers/markdocHTML.js +14 -0
- package/dist/lib/renderer/markdoc-renderers/markdocReactStatic.d.ts +3 -0
- package/dist/lib/renderer/markdoc-renderers/markdocReactStatic.js +14 -0
- package/dist/lib/renderer/markdoc.d.ts +11 -0
- package/dist/lib/renderer/markdoc.js +28 -0
- package/dist/lib/renderer/mdx.d.ts +10 -0
- package/dist/lib/renderer/mdx.js +37 -0
- package/dist/lib/renderer/runtime.d.ts +8 -0
- package/dist/lib/renderer/runtime.js +30 -0
- package/dist/lib/renderer/shared.d.ts +15 -0
- package/dist/lib/renderer/shared.js +13 -0
- package/dist/lib/renderer/studiocms.d.ts +11 -0
- package/dist/lib/renderer/studiocms.js +22 -0
- package/dist/lib/renderer/types.d.ts +12 -0
- package/dist/lib/renderer/types.js +0 -0
- package/dist/lib/robots/core.d.ts +24 -0
- package/dist/lib/robots/core.js +187 -0
- package/dist/lib/robots/index.d.ts +11 -0
- package/dist/lib/robots/index.js +47 -0
- package/dist/lib/robots/types.d.ts +185 -0
- package/dist/lib/robots/types.js +0 -0
- package/dist/lib/robots/utils.d.ts +22 -0
- package/dist/lib/robots/utils.js +22 -0
- package/dist/lib/routeMap.d.ts +257 -0
- package/dist/lib/routeMap.js +249 -0
- package/dist/lib/urlGen.d.ts +11 -0
- package/dist/lib/urlGen.js +26 -0
- package/dist/lib/webVitals/checkForWebVitalsPlugin.d.ts +18 -0
- package/dist/lib/webVitals/checkForWebVitalsPlugin.js +82 -0
- package/dist/lib/webVitals/consts.d.ts +240 -0
- package/dist/lib/webVitals/consts.js +40 -0
- package/dist/lib/webVitals/dashboard-grid-items/CoreVitals.astro +66 -0
- package/dist/lib/webVitals/dashboard-grid-items/MetricCard.astro +24 -0
- package/dist/lib/webVitals/dashboard-grid-items/SummaryCard.astro +56 -0
- package/dist/lib/webVitals/dashboard-grid-items/metric.css +103 -0
- package/dist/lib/webVitals/dashboard-grid-items/shared.d.ts +29 -0
- package/dist/lib/webVitals/dashboard-grid-items/shared.js +35 -0
- package/dist/lib/webVitals/pages/analytics/body.astro +186 -0
- package/dist/lib/webVitals/pages/analytics/header.astro +42 -0
- package/dist/lib/webVitals/schemas.d.ts +78 -0
- package/dist/lib/webVitals/schemas.js +37 -0
- package/dist/lib/webVitals/types.d.ts +156 -0
- package/dist/lib/webVitals/types.js +0 -0
- package/dist/lib/webVitals/utils/buildDataObject.d.ts +8 -0
- package/dist/lib/webVitals/utils/buildDataObject.js +28 -0
- package/dist/lib/webVitals/utils/buildPageRouteDataObject.d.ts +15 -0
- package/dist/lib/webVitals/utils/buildPageRouteDataObject.js +70 -0
- package/dist/lib/webVitals/utils/buildPerPageDataObject.d.ts +23 -0
- package/dist/lib/webVitals/utils/buildPerPageDataObject.js +209 -0
- package/dist/lib/webVitals/utils/checkDate.d.ts +5 -0
- package/dist/lib/webVitals/utils/checkDate.js +19 -0
- package/dist/lib/webVitals/utils/webVitalsUtils.d.ts +24 -0
- package/dist/lib/webVitals/utils/webVitalsUtils.js +234 -0
- package/dist/lib/webVitals/webVital.d.ts +20 -0
- package/dist/lib/webVitals/webVital.js +40 -0
- package/dist/lib/webVitals/webVitalsRouteSummary.d.ts +19 -0
- package/dist/lib/webVitals/webVitalsRouteSummary.js +59 -0
- package/dist/lib/webVitals/webVitalsSummary.d.ts +19 -0
- package/dist/lib/webVitals/webVitalsSummary.js +49 -0
- package/dist/plugins.d.ts +2 -0
- package/dist/plugins.js +6 -0
- package/dist/routes/api/render.astro +25 -0
- package/dist/routes/auth/api/auth0/callback.d.ts +4 -0
- package/dist/routes/auth/api/auth0/callback.js +117 -0
- package/dist/routes/auth/api/auth0/index.d.ts +4 -0
- package/dist/routes/auth/api/auth0/index.js +36 -0
- package/dist/routes/auth/api/auth0/shared.d.ts +13 -0
- package/dist/routes/auth/api/auth0/shared.js +24 -0
- package/dist/routes/auth/api/discord/callback.d.ts +4 -0
- package/dist/routes/auth/api/discord/callback.js +112 -0
- package/dist/routes/auth/api/discord/index.d.ts +4 -0
- package/dist/routes/auth/api/discord/index.js +36 -0
- package/dist/routes/auth/api/discord/shared.d.ts +12 -0
- package/dist/routes/auth/api/discord/shared.js +17 -0
- package/dist/routes/auth/api/github/callback.d.ts +4 -0
- package/dist/routes/auth/api/github/callback.js +112 -0
- package/dist/routes/auth/api/github/index.d.ts +4 -0
- package/dist/routes/auth/api/github/index.js +36 -0
- package/dist/routes/auth/api/github/shared.d.ts +13 -0
- package/dist/routes/auth/api/github/shared.js +14 -0
- package/dist/routes/auth/api/google/callback.d.ts +4 -0
- package/dist/routes/auth/api/google/callback.js +115 -0
- package/dist/routes/auth/api/google/index.d.ts +4 -0
- package/dist/routes/auth/api/google/index.js +38 -0
- package/dist/routes/auth/api/google/shared.d.ts +12 -0
- package/dist/routes/auth/api/google/shared.js +19 -0
- package/dist/routes/auth/api/login.d.ts +4 -0
- package/dist/routes/auth/api/login.js +46 -0
- package/dist/routes/auth/api/logout.d.ts +5 -0
- package/dist/routes/auth/api/logout.js +55 -0
- package/dist/routes/auth/api/register.d.ts +4 -0
- package/dist/routes/auth/api/register.js +64 -0
- package/dist/routes/auth/api/shared.d.ts +2 -0
- package/dist/routes/auth/api/shared.js +21 -0
- package/dist/routes/auth/login.astro +67 -0
- package/dist/routes/auth/logout.astro +28 -0
- package/dist/routes/auth/signup.astro +70 -0
- package/dist/routes/dashboard/[...pluginPage].astro +88 -0
- package/dist/routes/dashboard/configuration.astro +27 -0
- package/dist/routes/dashboard/content-management/createfolder.astro +56 -0
- package/dist/routes/dashboard/content-management/createpage.astro +59 -0
- package/dist/routes/dashboard/content-management/diff.astro +100 -0
- package/dist/routes/dashboard/content-management/editfolder.astro +40 -0
- package/dist/routes/dashboard/content-management/editpage.astro +44 -0
- package/dist/routes/dashboard/content-management/index.astro +57 -0
- package/dist/routes/dashboard/index.astro +24 -0
- package/dist/routes/dashboard/password-reset.astro +169 -0
- package/dist/routes/dashboard/plugins/[plugin].astro +60 -0
- package/dist/routes/dashboard/profile.astro +57 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/api-tokens.d.ts +5 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/api-tokens.js +90 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/config.d.ts +4 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/config.js +63 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/content/folder.d.ts +6 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/content/folder.js +121 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/content/page.d.ts +6 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/content/page.js +257 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/create-reset-link.d.ts +4 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/create-reset-link.js +59 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/create-user-invite.d.ts +4 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/create-user-invite.js +105 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/create-user.d.ts +4 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/create-user.js +100 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/partials/Editor.astro +61 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/partials/LiveRender.astro +30 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/partials/UserListItems.astro +39 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/plugins/[plugin].d.ts +2 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/plugins/[plugin].js +32 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/profile.d.ts +4 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/profile.js +130 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/reset-password.d.ts +4 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/reset-password.js +105 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/search-list.d.ts +4 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/search-list.js +55 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/users.d.ts +5 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/users.js +92 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/verify-session.d.ts +2 -0
- package/dist/routes/dashboard/studiocms_api/dashboard/verify-session.js +72 -0
- package/dist/routes/dashboard/user-management/edit.astro +593 -0
- package/dist/routes/dashboard/user-management/index.astro +67 -0
- package/dist/routes/error-pages/404.astro +35 -0
- package/dist/routes/firstTimeSetupRoutes/1-start.astro +253 -0
- package/dist/routes/firstTimeSetupRoutes/2-next.astro +208 -0
- package/dist/routes/firstTimeSetupRoutes/3-done.astro +95 -0
- package/dist/routes/firstTimeSetupRoutes/api/step-1.d.ts +2 -0
- package/dist/routes/firstTimeSetupRoutes/api/step-1.js +126 -0
- package/dist/routes/firstTimeSetupRoutes/api/step-2.d.ts +2 -0
- package/dist/routes/firstTimeSetupRoutes/api/step-2.js +110 -0
- package/dist/routes/firstTimeSetupRoutes/components/Layout.astro +41 -0
- package/dist/routes/firstTimeSetupRoutes/components/PageHeader.astro +60 -0
- package/dist/routes/firstTimeSetupRoutes/components/TabItem.astro +44 -0
- package/dist/routes/firstTimeSetupRoutes/components/Tabs.astro +170 -0
- package/dist/routes/firstTimeSetupRoutes/snippets/opt1-astro.config.diff +14 -0
- package/dist/routes/firstTimeSetupRoutes/snippets/opt2-astro.config.diff +9 -0
- package/dist/routes/firstTimeSetupRoutes/snippets/opt2-studiocms.config.diff +5 -0
- package/dist/routes/rest/utils/auth-token.d.ts +17 -0
- package/dist/routes/rest/utils/auth-token.js +31 -0
- package/dist/routes/rest/v1/folders/[id].d.ts +6 -0
- package/dist/routes/rest/v1/folders/[id].js +106 -0
- package/dist/routes/rest/v1/folders/index.d.ts +5 -0
- package/dist/routes/rest/v1/folders/index.js +88 -0
- package/dist/routes/rest/v1/pages/[id]/history/[diffid].d.ts +4 -0
- package/dist/routes/rest/v1/pages/[id]/history/[diffid].js +55 -0
- package/dist/routes/rest/v1/pages/[id]/history/index.d.ts +4 -0
- package/dist/routes/rest/v1/pages/[id]/history/index.js +61 -0
- package/dist/routes/rest/v1/pages/[id]/index.d.ts +6 -0
- package/dist/routes/rest/v1/pages/[id]/index.js +165 -0
- package/dist/routes/rest/v1/pages/index.d.ts +5 -0
- package/dist/routes/rest/v1/pages/index.js +113 -0
- package/dist/routes/rest/v1/public/folders/[id].d.ts +4 -0
- package/dist/routes/rest/v1/public/folders/[id].js +43 -0
- package/dist/routes/rest/v1/public/folders/index.d.ts +4 -0
- package/dist/routes/rest/v1/public/folders/index.js +49 -0
- package/dist/routes/rest/v1/public/pages/[id].d.ts +4 -0
- package/dist/routes/rest/v1/public/pages/[id].js +46 -0
- package/dist/routes/rest/v1/public/pages/index.d.ts +4 -0
- package/dist/routes/rest/v1/public/pages/index.js +61 -0
- package/dist/routes/rest/v1/settings/index.d.ts +5 -0
- package/dist/routes/rest/v1/settings/index.js +75 -0
- package/dist/routes/rest/v1/users/[id].d.ts +6 -0
- package/dist/routes/rest/v1/users/[id].js +212 -0
- package/dist/routes/rest/v1/users/index.d.ts +5 -0
- package/dist/routes/rest/v1/users/index.js +138 -0
- package/dist/routes/sdk/fallback-list-pages.json.d.ts +2 -0
- package/dist/routes/sdk/fallback-list-pages.json.js +19 -0
- package/dist/routes/sdk/fallback-list-pages.json.ts +22 -0
- package/dist/routes/sdk/full-changelog.json.d.ts +16 -0
- package/dist/routes/sdk/full-changelog.json.js +170 -0
- package/dist/routes/sdk/full-changelog.json.ts +224 -0
- package/dist/routes/sdk/list-pages.d.ts +4 -0
- package/dist/routes/sdk/list-pages.js +34 -0
- package/dist/routes/sdk/update-latest-version-cache.d.ts +4 -0
- package/dist/routes/sdk/update-latest-version-cache.js +41 -0
- package/dist/runtime/AstroComponentProxy.d.ts +29 -0
- package/dist/runtime/AstroComponentProxy.js +47 -0
- package/dist/runtime/decoder/decode-codepoint.d.ts +18 -0
- package/dist/runtime/decoder/decode-codepoint.js +58 -0
- package/dist/runtime/decoder/decode-data-html.d.ts +1 -0
- package/dist/runtime/decoder/decode-data-html.js +7 -0
- package/dist/runtime/decoder/decode-data-xml.d.ts +1 -0
- package/dist/runtime/decoder/decode-data-xml.js +7 -0
- package/dist/runtime/decoder/index.d.ts +34 -0
- package/dist/runtime/decoder/index.js +18 -0
- package/dist/runtime/decoder/util.d.ts +208 -0
- package/dist/runtime/decoder/util.js +415 -0
- package/dist/schemas/config/auth.d.ts +175 -0
- package/dist/schemas/config/auth.js +65 -0
- package/dist/schemas/config/componentoverrides.d.ts +17 -0
- package/dist/schemas/config/componentoverrides.js +14 -0
- package/dist/schemas/config/dashboard.d.ts +154 -0
- package/dist/schemas/config/dashboard.js +59 -0
- package/dist/schemas/config/defaultFrontend.d.ts +125 -0
- package/dist/schemas/config/defaultFrontend.js +57 -0
- package/dist/schemas/config/developer.d.ts +15 -0
- package/dist/schemas/config/developer.js +14 -0
- package/dist/schemas/config/imageService.d.ts +13 -0
- package/dist/schemas/config/imageService.js +12 -0
- package/dist/schemas/config/index.d.ts +1153 -0
- package/dist/schemas/config/index.js +95 -0
- package/dist/schemas/config/integrations.d.ts +14 -0
- package/dist/schemas/config/integrations.js +12 -0
- package/dist/schemas/config/markdoc.d.ts +172 -0
- package/dist/schemas/config/markdoc.js +68 -0
- package/dist/schemas/config/mdx.d.ts +455 -0
- package/dist/schemas/config/mdx.js +71 -0
- package/dist/schemas/config/rendererConfig.d.ts +659 -0
- package/dist/schemas/config/rendererConfig.js +51 -0
- package/dist/schemas/config/sdk.d.ts +167 -0
- package/dist/schemas/config/sdk.js +85 -0
- package/dist/schemas/config/studiocms-markdown-remark.d.ts +292 -0
- package/dist/schemas/config/studiocms-markdown-remark.js +63 -0
- package/dist/schemas/index.d.ts +2 -0
- package/dist/schemas/index.js +2 -0
- package/dist/schemas/plugins/index.d.ts +7373 -0
- package/dist/schemas/plugins/index.js +192 -0
- package/dist/schemas/plugins/shared.d.ts +1752 -0
- package/dist/schemas/plugins/shared.js +221 -0
- package/dist/scripts/formListener.d.ts +16 -0
- package/dist/scripts/formListener.js +46 -0
- package/dist/scripts/three.d.ts +1 -0
- package/dist/scripts/three.js +277 -0
- package/dist/scripts/utils/fitModelToViewport.d.ts +8 -0
- package/dist/scripts/utils/fitModelToViewport.js +19 -0
- package/dist/sdk/StudioCMSVirtualCache.d.ts +283 -0
- package/dist/sdk/StudioCMSVirtualCache.js +685 -0
- package/dist/sdk/cache.d.ts +11 -0
- package/dist/sdk/cache.js +12 -0
- package/dist/sdk/core.d.ts +865 -0
- package/dist/sdk/core.js +1966 -0
- package/dist/sdk/errors.d.ts +21 -0
- package/dist/sdk/errors.js +11 -0
- package/dist/sdk/index.d.ts +371 -0
- package/dist/sdk/index.js +8 -0
- package/dist/sdk/lib/foldertree.d.ts +50 -0
- package/dist/sdk/lib/foldertree.js +123 -0
- package/dist/sdk/lib/generators.d.ts +30 -0
- package/dist/sdk/lib/generators.js +25 -0
- package/dist/sdk/lib/packages.d.ts +8 -0
- package/dist/sdk/lib/packages.js +14 -0
- package/dist/sdk/lib/parsers.d.ts +14 -0
- package/dist/sdk/lib/parsers.js +10 -0
- package/dist/sdk/lib/users.d.ts +19 -0
- package/dist/sdk/lib/users.js +26 -0
- package/dist/sdk/tables.d.ts +1198 -0
- package/dist/sdk/tables.js +55 -0
- package/dist/sdk/types/index.d.ts +175 -0
- package/dist/sdk/types/index.js +0 -0
- package/dist/sdk/types/tableDefs.d.ts +75 -0
- package/dist/sdk/types/tableDefs.js +0 -0
- package/dist/sdk/types/tsAlias.d.ts +155 -0
- package/dist/sdk/types/tsAlias.js +0 -0
- package/dist/sdk/utils/db.d.ts +5 -0
- package/dist/sdk/utils/db.js +15 -0
- package/dist/stubs/auth-lib.d.ts +2 -0
- package/dist/stubs/auth-lib.js +519 -0
- package/dist/stubs/auth-scripts.d.ts +2 -0
- package/dist/stubs/auth-scripts.js +29 -0
- package/dist/stubs/auth-utils.d.ts +2 -0
- package/dist/stubs/auth-utils.js +36 -0
- package/dist/stubs/changelog.d.ts +2 -0
- package/dist/stubs/changelog.js +16 -0
- package/dist/stubs/components.d.ts +2 -0
- package/dist/stubs/components.js +67 -0
- package/dist/stubs/core.d.ts +2 -0
- package/dist/stubs/core.js +49 -0
- package/dist/stubs/i18n-dts.d.ts +2 -0
- package/dist/stubs/i18n-dts.js +117 -0
- package/dist/stubs/images.d.ts +1 -0
- package/dist/stubs/images.js +30 -0
- package/dist/stubs/index.d.ts +1 -0
- package/dist/stubs/index.js +40 -0
- package/dist/stubs/lib.d.ts +2 -0
- package/dist/stubs/lib.js +123 -0
- package/dist/stubs/plugins.d.ts +2 -0
- package/dist/stubs/plugins.js +60 -0
- package/dist/stubs/proxy.d.ts +2 -0
- package/dist/stubs/proxy.js +40 -0
- package/dist/stubs/renderer-config.d.ts +2 -0
- package/dist/stubs/renderer-config.js +18 -0
- package/dist/stubs/renderer-markdownConfig.d.ts +2 -0
- package/dist/stubs/renderer-markdownConfig.js +17 -0
- package/dist/stubs/renderer.d.ts +2 -0
- package/dist/stubs/renderer.js +44 -0
- package/dist/stubs/sdk.d.ts +2 -0
- package/dist/stubs/sdk.js +202 -0
- package/dist/stubs/webVitals.d.ts +2 -0
- package/dist/stubs/webVitals.js +40 -0
- package/dist/styles/404.css +47 -0
- package/dist/styles/SyntaxFont.woff2 +0 -0
- package/dist/styles/authlayout.css +138 -0
- package/dist/styles/dashboard-base.css +493 -0
- package/dist/styles/dashboard-code.css +33 -0
- package/dist/styles/dashboard-diff.css +389 -0
- package/dist/styles/dashboard-tiny-mde.css +224 -0
- package/dist/styles/md-remark-callouts/github.css +56 -0
- package/dist/styles/md-remark-callouts/obsidian.css +66 -0
- package/dist/styles/md-remark-callouts/vitepress.css +58 -0
- package/dist/styles/md-remark-headings.css +48 -0
- package/dist/types.d.ts +48 -0
- package/dist/types.js +0 -0
- package/dist/utils/addAPIRoutes.d.ts +9 -0
- package/dist/utils/addAPIRoutes.js +33 -0
- package/dist/utils/addIntegrationArray.d.ts +24 -0
- package/dist/utils/addIntegrationArray.js +11 -0
- package/dist/utils/addIntegrationArrayWithCheck.d.ts +11 -0
- package/dist/utils/addIntegrationArrayWithCheck.js +24 -0
- package/dist/utils/astroConfigCheck.d.ts +8 -0
- package/dist/utils/astroConfigCheck.js +31 -0
- package/dist/utils/astroEnvConfig.d.ts +45 -0
- package/dist/utils/astroEnvConfig.js +9 -0
- package/dist/utils/authEnvCheck.d.ts +38 -0
- package/dist/utils/authEnvCheck.js +82 -0
- package/dist/utils/changelog.d.ts +1 -0
- package/dist/utils/changelog.js +53 -0
- package/dist/utils/changelogLoader.d.ts +15 -0
- package/dist/utils/changelogLoader.js +104 -0
- package/dist/utils/checkENV.d.ts +27 -0
- package/dist/utils/checkENV.js +115 -0
- package/dist/utils/configManager.d.ts +22 -0
- package/dist/utils/configManager.js +98 -0
- package/dist/utils/configResolver.d.ts +283 -0
- package/dist/utils/configResolver.js +105 -0
- package/dist/utils/defineStudioCMSConfig.d.ts +165 -0
- package/dist/utils/defineStudioCMSConfig.js +6 -0
- package/dist/utils/getLabelForPermissionLevel.d.ts +2 -0
- package/dist/utils/getLabelForPermissionLevel.js +17 -0
- package/dist/utils/injectRouteArray.d.ts +19 -0
- package/dist/utils/injectRouteArray.js +75 -0
- package/dist/utils/integrationLogger.d.ts +7 -0
- package/dist/utils/integrationLogger.js +18 -0
- package/dist/utils/integrations.d.ts +4 -0
- package/dist/utils/integrations.js +32 -0
- package/dist/utils/isDashboardRoute.d.ts +7 -0
- package/dist/utils/isDashboardRoute.js +10 -0
- package/dist/utils/loginBackgrounds/studiocms-blobs-dark.png +0 -0
- package/dist/utils/loginBackgrounds/studiocms-blobs-light.png +0 -0
- package/dist/utils/loginBackgrounds/studiocms-blocks-dark.png +0 -0
- package/dist/utils/loginBackgrounds/studiocms-blocks-light.png +0 -0
- package/dist/utils/loginBackgrounds/studiocms-curves-dark.png +0 -0
- package/dist/utils/loginBackgrounds/studiocms-curves-light.png +0 -0
- package/dist/utils/makePageTitle.d.ts +3 -0
- package/dist/utils/makePageTitle.js +7 -0
- package/dist/utils/pageListPackageLabel.d.ts +4 -0
- package/dist/utils/pageListPackageLabel.js +12 -0
- package/dist/utils/readJson.d.ts +1 -0
- package/dist/utils/readJson.js +7 -0
- package/dist/utils/routeBuilder.d.ts +18 -0
- package/dist/utils/routeBuilder.js +96 -0
- package/dist/utils/safeString.d.ts +1 -0
- package/dist/utils/safeString.js +6 -0
- package/dist/utils/simpleResponse.d.ts +1 -0
- package/dist/utils/simpleResponse.js +29 -0
- package/dist/utils/validImages.d.ts +13 -0
- package/dist/utils/validImages.js +39 -0
- package/dist/virtual.d.js +0 -0
- package/dist/virtual.d.ts +5 -0
- package/package.json +180 -59
- package/renderer.d.ts +25 -0
- package/static/studiocms-resources/auth/studiocms-logo.glb +0 -0
- package/static/studiocms-resources/core/favicon-dark.png +0 -0
- package/static/studiocms-resources/core/favicon-light.png +0 -0
- package/static/studiocms-resources/core/favicon.svg +15 -0
- package/studiocms-cli.mjs +13 -0
- package/ui.d.ts +291 -0
- package/src/blog/index.ts +0 -35
- package/src/index.ts +0 -25
- package/src/integration.ts +0 -130
- package/src/updateCheck.ts +0 -51
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { languageSelectorOptions, switchLanguage } from './index.js';
|
|
3
|
+
|
|
4
|
+
const switcher = switchLanguage(Astro);
|
|
5
|
+
|
|
6
|
+
// TODO: Update the language selector's styles to match StudioCMS's new design
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
<button
|
|
10
|
+
id="language-selector"
|
|
11
|
+
class="language-selector mr-2"
|
|
12
|
+
>
|
|
13
|
+
<svg xmlns="http://www.w3.org/2000/svg" class="w-full h-[80%]" width="1.5rem" height="1.5rem" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M4 5h7M9 3v2c0 4.418-2.239 8-5 8"/><path d="M5 9c0 2.144 2.952 3.908 6.7 4m.3 7l4-9l4 9m-.9-2h-6.2"/></g></svg>
|
|
14
|
+
</button>
|
|
15
|
+
|
|
16
|
+
<menu id="language-sector-menu" type="context" class="bg-neutral rounded-md p-2">
|
|
17
|
+
{
|
|
18
|
+
//Language Buttons Auto-Generated
|
|
19
|
+
languageSelectorOptions.map(({ key, value }) => (
|
|
20
|
+
<a class="btn btn-primary" href={switcher(key)}>{value}</a>
|
|
21
|
+
))
|
|
22
|
+
}
|
|
23
|
+
<div class="flex flex-row-reverse">
|
|
24
|
+
<button
|
|
25
|
+
id="language-sector-menu-cancel"
|
|
26
|
+
class="btn btn-sm btn-circle btn-outline text-neutral-content"
|
|
27
|
+
type="button">
|
|
28
|
+
<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
|
29
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
|
|
30
|
+
</svg>
|
|
31
|
+
</button>
|
|
32
|
+
</div>
|
|
33
|
+
</menu>
|
|
34
|
+
|
|
35
|
+
<style>
|
|
36
|
+
.language-selector {
|
|
37
|
+
background-color: oklch(var(--b2));
|
|
38
|
+
border-radius: 50%;
|
|
39
|
+
border: 0.125rem solid;
|
|
40
|
+
border-color: oklch(var(--s));
|
|
41
|
+
box-shadow: 0 0 0.25rem 0.015rem rgba(0, 0, 0, 0.694);
|
|
42
|
+
width: 2.5rem;
|
|
43
|
+
height: 2.5rem;
|
|
44
|
+
cursor: pointer;
|
|
45
|
+
display: none;
|
|
46
|
+
opacity: 0;
|
|
47
|
+
z-index: 99998;
|
|
48
|
+
transition: opacity 1s ease;
|
|
49
|
+
}
|
|
50
|
+
#language-sector-menu {
|
|
51
|
+
position: absolute;
|
|
52
|
+
display: none;
|
|
53
|
+
flex-direction: column;
|
|
54
|
+
gap: 0.5rem;
|
|
55
|
+
left: -4rem;
|
|
56
|
+
top: 3rem;
|
|
57
|
+
width: max-content;
|
|
58
|
+
z-index: 99999;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
#language-sector-menu-cancel {
|
|
62
|
+
border-radius: 50%;
|
|
63
|
+
}
|
|
64
|
+
</style>
|
|
65
|
+
|
|
66
|
+
<script>
|
|
67
|
+
// Get the Language Selector elements
|
|
68
|
+
const LanguageSelector = document.getElementById('language-selector') as HTMLButtonElement;
|
|
69
|
+
const LanguageSectorMenuCancel = document.getElementById('language-sector-menu-cancel') as HTMLButtonElement;
|
|
70
|
+
const LanguageSectorMenu = document.getElementById('language-sector-menu') as HTMLMenuElement;
|
|
71
|
+
|
|
72
|
+
// Show the Language Selector on page load
|
|
73
|
+
setTimeout(() => {
|
|
74
|
+
LanguageSelector.style.display = 'block';
|
|
75
|
+
setTimeout(() => {
|
|
76
|
+
LanguageSelector.style.opacity = "1";
|
|
77
|
+
}, 250);
|
|
78
|
+
}, 200);
|
|
79
|
+
|
|
80
|
+
// Toggle the Language Selector
|
|
81
|
+
function toggleLanguageSelector(element: HTMLMenuElement) {
|
|
82
|
+
if (
|
|
83
|
+
!element.style.display
|
|
84
|
+
|| element.style.display === 'none'
|
|
85
|
+
) {
|
|
86
|
+
element.style.display = 'flex';
|
|
87
|
+
} else {
|
|
88
|
+
element.style.display = 'none';
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// Language Selector Event Listeners
|
|
93
|
+
LanguageSelector.addEventListener('click', () =>
|
|
94
|
+
toggleLanguageSelector(LanguageSectorMenu)
|
|
95
|
+
);
|
|
96
|
+
LanguageSelector.addEventListener('contextmenu', (e) => {
|
|
97
|
+
e.preventDefault();
|
|
98
|
+
toggleLanguageSelector(LanguageSectorMenu)
|
|
99
|
+
});
|
|
100
|
+
LanguageSectorMenuCancel.addEventListener('click', () =>
|
|
101
|
+
toggleLanguageSelector(LanguageSectorMenu)
|
|
102
|
+
);
|
|
103
|
+
</script>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The UI translations available in the StudioCMS app.
|
|
3
|
+
*/
|
|
4
|
+
export declare const uiTranslationsAvailable: readonly ["en-us"];
|
|
5
|
+
/**
|
|
6
|
+
* The UI translations available in the StudioCMS app.
|
|
7
|
+
*/
|
|
8
|
+
export type UiTranslationKey = (typeof uiTranslationsAvailable)[number];
|
|
9
|
+
/**
|
|
10
|
+
* The default language for the StudioCMS app.
|
|
11
|
+
*/
|
|
12
|
+
export declare const defaultLang: UiTranslationKey;
|
|
13
|
+
/**
|
|
14
|
+
* Whether to show the default language in the language switcher.
|
|
15
|
+
*/
|
|
16
|
+
export declare const showDefaultLang: boolean;
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import type { AstroGlobal } from 'astro';
|
|
2
|
+
/**
|
|
3
|
+
* The UI translations available in the StudioCMS app.
|
|
4
|
+
*/
|
|
5
|
+
declare const uiTranslations: {
|
|
6
|
+
readonly 'en-us': {
|
|
7
|
+
default: {
|
|
8
|
+
displayName: string;
|
|
9
|
+
translations: {
|
|
10
|
+
"@studiocms/auth:login": {
|
|
11
|
+
title: string;
|
|
12
|
+
description: string;
|
|
13
|
+
header: string;
|
|
14
|
+
"sub-header-usernamepasswordoauth": string;
|
|
15
|
+
"sub-header-usernamepassword": string;
|
|
16
|
+
"sub-header-oauth": string;
|
|
17
|
+
"sub-header-noprovider": string;
|
|
18
|
+
"username-label": string;
|
|
19
|
+
"password-label": string;
|
|
20
|
+
"login-button": string;
|
|
21
|
+
"allow-registration-noaccount": string;
|
|
22
|
+
"allow-registration-register": string;
|
|
23
|
+
};
|
|
24
|
+
"@studiocms/auth:signup": {
|
|
25
|
+
title: string;
|
|
26
|
+
description: string;
|
|
27
|
+
header: string;
|
|
28
|
+
"sub-header-usernamepasswordoauth": string;
|
|
29
|
+
"sub-header-usernamepassword": string;
|
|
30
|
+
"sub-header-oauth": string;
|
|
31
|
+
"sub-header-noprovider": string;
|
|
32
|
+
"username-label": string;
|
|
33
|
+
"email-label": string;
|
|
34
|
+
"displayname-label": string;
|
|
35
|
+
"password-label": string;
|
|
36
|
+
"confirm-password-label": string;
|
|
37
|
+
"create-account-button": string;
|
|
38
|
+
"allow-login-haveaccount": string;
|
|
39
|
+
"allow-login-login": string;
|
|
40
|
+
};
|
|
41
|
+
"@studiocms/auth:logout": {
|
|
42
|
+
title: string;
|
|
43
|
+
description: string;
|
|
44
|
+
};
|
|
45
|
+
"@studiocms/auth:oauth-stack": {
|
|
46
|
+
"or-login-with": string;
|
|
47
|
+
};
|
|
48
|
+
"@studiocms/dashboard:index": {
|
|
49
|
+
title: string;
|
|
50
|
+
"welcome-title": string;
|
|
51
|
+
"title-button:discord": string;
|
|
52
|
+
"title-button:feedback": string;
|
|
53
|
+
"sub-header": string;
|
|
54
|
+
};
|
|
55
|
+
"@studiocms/dashboard:sidebar": {
|
|
56
|
+
"category-1-header": string;
|
|
57
|
+
"dashboard-link-label": string;
|
|
58
|
+
"content-management-label": string;
|
|
59
|
+
"category-2-header": string;
|
|
60
|
+
"site-configuration-label": string;
|
|
61
|
+
"user-management-label": string;
|
|
62
|
+
"category-3-header": string;
|
|
63
|
+
"category-3-empty-placeholder": string;
|
|
64
|
+
"user-dropdown:settings": string;
|
|
65
|
+
"user-dropdown:view-site": string;
|
|
66
|
+
"user-dropdown:logout": string;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
displayName: string;
|
|
71
|
+
translations: {
|
|
72
|
+
"@studiocms/auth:login": {
|
|
73
|
+
title: string;
|
|
74
|
+
description: string;
|
|
75
|
+
header: string;
|
|
76
|
+
"sub-header-usernamepasswordoauth": string;
|
|
77
|
+
"sub-header-usernamepassword": string;
|
|
78
|
+
"sub-header-oauth": string;
|
|
79
|
+
"sub-header-noprovider": string;
|
|
80
|
+
"username-label": string;
|
|
81
|
+
"password-label": string;
|
|
82
|
+
"login-button": string;
|
|
83
|
+
"allow-registration-noaccount": string;
|
|
84
|
+
"allow-registration-register": string;
|
|
85
|
+
};
|
|
86
|
+
"@studiocms/auth:signup": {
|
|
87
|
+
title: string;
|
|
88
|
+
description: string;
|
|
89
|
+
header: string;
|
|
90
|
+
"sub-header-usernamepasswordoauth": string;
|
|
91
|
+
"sub-header-usernamepassword": string;
|
|
92
|
+
"sub-header-oauth": string;
|
|
93
|
+
"sub-header-noprovider": string;
|
|
94
|
+
"username-label": string;
|
|
95
|
+
"email-label": string;
|
|
96
|
+
"displayname-label": string;
|
|
97
|
+
"password-label": string;
|
|
98
|
+
"confirm-password-label": string;
|
|
99
|
+
"create-account-button": string;
|
|
100
|
+
"allow-login-haveaccount": string;
|
|
101
|
+
"allow-login-login": string;
|
|
102
|
+
};
|
|
103
|
+
"@studiocms/auth:logout": {
|
|
104
|
+
title: string;
|
|
105
|
+
description: string;
|
|
106
|
+
};
|
|
107
|
+
"@studiocms/auth:oauth-stack": {
|
|
108
|
+
"or-login-with": string;
|
|
109
|
+
};
|
|
110
|
+
"@studiocms/dashboard:index": {
|
|
111
|
+
title: string;
|
|
112
|
+
"welcome-title": string;
|
|
113
|
+
"title-button:discord": string;
|
|
114
|
+
"title-button:feedback": string;
|
|
115
|
+
"sub-header": string;
|
|
116
|
+
};
|
|
117
|
+
"@studiocms/dashboard:sidebar": {
|
|
118
|
+
"category-1-header": string;
|
|
119
|
+
"dashboard-link-label": string;
|
|
120
|
+
"content-management-label": string;
|
|
121
|
+
"category-2-header": string;
|
|
122
|
+
"site-configuration-label": string;
|
|
123
|
+
"user-management-label": string;
|
|
124
|
+
"category-3-header": string;
|
|
125
|
+
"category-3-empty-placeholder": string;
|
|
126
|
+
"user-dropdown:settings": string;
|
|
127
|
+
"user-dropdown:view-site": string;
|
|
128
|
+
"user-dropdown:logout": string;
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
/**
|
|
134
|
+
* Represents the type of UI translations.
|
|
135
|
+
* This type is derived from the structure of the `uiTranslations` object.
|
|
136
|
+
*/
|
|
137
|
+
export type UiTranslations = typeof uiTranslations;
|
|
138
|
+
/**
|
|
139
|
+
* Represents the keys of the UiTranslations type.
|
|
140
|
+
* This type is used to define the possible keys for UI language translations.
|
|
141
|
+
*/
|
|
142
|
+
export type UiLanguageKeys = keyof UiTranslations;
|
|
143
|
+
/**
|
|
144
|
+
* Represents the keys of the UI component translations for the 'en-us' locale.
|
|
145
|
+
* This type is derived from the 'translations' property of the 'UiTranslations' interface
|
|
146
|
+
* for the 'en-us' locale (Source of truth), ensuring that only valid translation keys are used.
|
|
147
|
+
*/
|
|
148
|
+
export type UiComponentKeys = keyof UiTranslations['en-us']['translations'];
|
|
149
|
+
type UiTranslationComponent<L extends UiLanguageKeys, T extends UiComponentKeys> = (typeof uiTranslations)[L]['translations'][T];
|
|
150
|
+
type UiTranslationKey<L extends UiLanguageKeys, T extends UiComponentKeys> = keyof UiTranslationComponent<L, T>;
|
|
151
|
+
/**
|
|
152
|
+
* Retrieves a translation function for a given language and component.
|
|
153
|
+
*
|
|
154
|
+
* @param lang - The language key to use for translations.
|
|
155
|
+
* @param component - The component key to use for translations.
|
|
156
|
+
* @returns A function that takes a translation key and returns the corresponding translated string.
|
|
157
|
+
*/
|
|
158
|
+
export declare function useTranslations<L extends UiLanguageKeys, T extends UiComponentKeys>(lang: L, component: T): (key: UiTranslationKey<L, T>) => UiTranslationComponent<L, T>[UiTranslationKey<L, T>];
|
|
159
|
+
/**
|
|
160
|
+
* Returns a function that translates a given path based on the provided language.
|
|
161
|
+
*
|
|
162
|
+
* @param lang - The language key to be used for translation.
|
|
163
|
+
* @returns A function that takes a path and an optional language key, and returns the translated path.
|
|
164
|
+
* If the language key is not provided, the default language key is used.
|
|
165
|
+
* If the language is the default language and `showDefaultLang` is false, the original path is returned.
|
|
166
|
+
* Otherwise, the path is prefixed with the language key.
|
|
167
|
+
*/
|
|
168
|
+
export declare function useTranslatedPath(lang: UiLanguageKeys): (path: string, l?: string) => string;
|
|
169
|
+
/**
|
|
170
|
+
* Generates an array of language selector options from the `uiTranslations` object.
|
|
171
|
+
* Each option contains a `key` and a `value` where:
|
|
172
|
+
* - `key` is a language key from `UiLanguageKeys`.
|
|
173
|
+
* - `value` is the display name of the language.
|
|
174
|
+
*
|
|
175
|
+
* @returns An array of objects representing language selector options.
|
|
176
|
+
*/
|
|
177
|
+
export declare const languageSelectorOptions: {
|
|
178
|
+
key: UiLanguageKeys;
|
|
179
|
+
value: string;
|
|
180
|
+
}[];
|
|
181
|
+
/**
|
|
182
|
+
* Extracts the language key from the given URL's pathname.
|
|
183
|
+
*
|
|
184
|
+
* @param url - The URL object from which to extract the language key.
|
|
185
|
+
* @returns The language key if it exists in the `uiTranslations`, otherwise returns the default language key.
|
|
186
|
+
*/
|
|
187
|
+
export declare function getLangFromUrl(url: URL): "en-us";
|
|
188
|
+
/**
|
|
189
|
+
* Retrieves the current URL path, adjusting for language settings.
|
|
190
|
+
*
|
|
191
|
+
* This function checks if the URL path includes '/_server-islands'. If it does,
|
|
192
|
+
* it extracts the referer URL from the request headers and determines the current
|
|
193
|
+
* language from that URL. If the current language is the default language, it returns
|
|
194
|
+
* the pathname as is. Otherwise, it replaces the language segment in the pathname with '/'.
|
|
195
|
+
*
|
|
196
|
+
* If the URL path does not include '/_server-islands', it uses the Astro URL directly
|
|
197
|
+
* to determine the current language and adjust the pathname accordingly.
|
|
198
|
+
*
|
|
199
|
+
* @param {AstroGlobal} Astro - The global Astro object containing URL and request information.
|
|
200
|
+
*/
|
|
201
|
+
export declare function getCurrentURLPath(Astro: AstroGlobal): string;
|
|
202
|
+
/**
|
|
203
|
+
* Function to switch the language of the current page.
|
|
204
|
+
*
|
|
205
|
+
* @param {AstroGlobal} Astro - The global Astro object.
|
|
206
|
+
*/
|
|
207
|
+
export declare function switchLanguage(Astro: AstroGlobal): (languageKey: UiLanguageKeys) => string;
|
|
208
|
+
/**
|
|
209
|
+
* Example of how to use this i18n utils on a Static page
|
|
210
|
+
*
|
|
211
|
+
* @example
|
|
212
|
+
* ```ts
|
|
213
|
+
* export async function getStaticPaths() {
|
|
214
|
+
* const paths = staticPaths();
|
|
215
|
+
* return paths;
|
|
216
|
+
* }
|
|
217
|
+
* ```
|
|
218
|
+
*
|
|
219
|
+
* If the default language is hidden, the paths for the default language will be generated without the language prefix while all extra languages will have the prefix. (e.g. When `showDefaultLang` is false: `/en/page` will be `/page` and spanish will be `/es/page`)
|
|
220
|
+
*
|
|
221
|
+
* @returns An array of paths for all languages
|
|
222
|
+
*/
|
|
223
|
+
export declare const staticPaths: () => {
|
|
224
|
+
params: {
|
|
225
|
+
locale: string | undefined;
|
|
226
|
+
};
|
|
227
|
+
}[];
|
|
228
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { defaultLang, showDefaultLang } from "./config.js";
|
|
2
|
+
const uiTranslations = {
|
|
3
|
+
"en-us": await import("./translations/en-us.json")
|
|
4
|
+
};
|
|
5
|
+
function useTranslations(lang, component) {
|
|
6
|
+
return function t(key) {
|
|
7
|
+
const translation = uiTranslations[lang].translations[component][key];
|
|
8
|
+
if (translation === void 0 || translation === "") {
|
|
9
|
+
return uiTranslations[defaultLang].translations[component][key];
|
|
10
|
+
}
|
|
11
|
+
return translation;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
function useTranslatedPath(lang) {
|
|
15
|
+
return function translatePath(path, l = lang) {
|
|
16
|
+
return !showDefaultLang && l === defaultLang ? path : `/${l}${path}`;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
const languageSelectorOptions = Object.keys(uiTranslations).map((key) => {
|
|
20
|
+
return {
|
|
21
|
+
key,
|
|
22
|
+
value: uiTranslations[key].displayName
|
|
23
|
+
};
|
|
24
|
+
});
|
|
25
|
+
function getLangFromUrl(url) {
|
|
26
|
+
const [, lang] = url.pathname.split("/");
|
|
27
|
+
if (lang && lang in uiTranslations) return lang;
|
|
28
|
+
return defaultLang;
|
|
29
|
+
}
|
|
30
|
+
function getCurrentURLPath(Astro) {
|
|
31
|
+
if (Astro.url.pathname.includes("/_server-islands")) {
|
|
32
|
+
const path2 = new URL(Astro.request.headers.get("referer") || "");
|
|
33
|
+
const currentLang2 = getLangFromUrl(path2);
|
|
34
|
+
return currentLang2 === defaultLang ? path2.pathname : path2.pathname.replace(`/${currentLang2}/`, "/");
|
|
35
|
+
}
|
|
36
|
+
const path = Astro.url;
|
|
37
|
+
const currentLang = getLangFromUrl(path);
|
|
38
|
+
return currentLang === defaultLang ? path.pathname : path.pathname.replace(`/${currentLang}/`, "/");
|
|
39
|
+
}
|
|
40
|
+
function switchLanguage(Astro) {
|
|
41
|
+
return function switcher(languageKey) {
|
|
42
|
+
const translatePath = useTranslatedPath(languageKey);
|
|
43
|
+
return translatePath(getCurrentURLPath(Astro));
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
const staticPaths = () => {
|
|
47
|
+
const paths = [];
|
|
48
|
+
if (!showDefaultLang) paths.push({ params: { locale: void 0 } });
|
|
49
|
+
for (const lang in uiTranslations) {
|
|
50
|
+
if (lang === defaultLang && !showDefaultLang) continue;
|
|
51
|
+
paths.push({ params: { locale: lang } });
|
|
52
|
+
}
|
|
53
|
+
return paths;
|
|
54
|
+
};
|
|
55
|
+
export {
|
|
56
|
+
getCurrentURLPath,
|
|
57
|
+
getLangFromUrl,
|
|
58
|
+
languageSelectorOptions,
|
|
59
|
+
staticPaths,
|
|
60
|
+
switchLanguage,
|
|
61
|
+
useTranslatedPath,
|
|
62
|
+
useTranslations
|
|
63
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"displayName": "German (de-DE)",
|
|
3
|
+
"translations": {
|
|
4
|
+
"@studiocms/auth:login": {
|
|
5
|
+
"title": "Login-Seite",
|
|
6
|
+
"description": "Login-Seite",
|
|
7
|
+
"header": "Login",
|
|
8
|
+
"sub-header-usernamepasswordoauth": "Gebe deinen Nutzername & Passwort ein oder verwende einen der Login-Anbieter, um dich einzuloggen.",
|
|
9
|
+
"sub-header-usernamepassword": "Gebe deinen Nutzername und Passwort ein.",
|
|
10
|
+
"sub-header-oauth": "Wähle einen der Anbieter um dich einzuloggen.",
|
|
11
|
+
"sub-header-noprovider": "Kein Login-Anbieter konfiguriert. Bitte kontaktiere deinen Administrator.",
|
|
12
|
+
"username-label": "Nutzername",
|
|
13
|
+
"password-label": "Passwort",
|
|
14
|
+
"login-button": "Einloggen",
|
|
15
|
+
"allow-registration-noaccount": "Du hast keinen Account?",
|
|
16
|
+
"allow-registration-register": "Registriere dich hier!"
|
|
17
|
+
},
|
|
18
|
+
"@studiocms/auth:signup": {
|
|
19
|
+
"title": "Registrierung",
|
|
20
|
+
"description": "Registrierung",
|
|
21
|
+
"header": "Registrierung",
|
|
22
|
+
"sub-header-usernamepasswordoauth": "Erstelle einen Account mit einer der vorliegenden Optionen.",
|
|
23
|
+
"sub-header-usernamepassword": "Erstelle einen Account mit dem Registrierungs-Formular.",
|
|
24
|
+
"sub-header-oauth": "Nutze eine der Optionen, um dich einzuloggen.",
|
|
25
|
+
"sub-header-noprovider": "",
|
|
26
|
+
"username-label": "",
|
|
27
|
+
"email-label": "",
|
|
28
|
+
"displayname-label": "",
|
|
29
|
+
"password-label": "",
|
|
30
|
+
"confirm-password-label": "",
|
|
31
|
+
"create-account-button": "",
|
|
32
|
+
"allow-login-haveaccount": "",
|
|
33
|
+
"allow-login-login": ""
|
|
34
|
+
},
|
|
35
|
+
"@studiocms/auth:logout": {
|
|
36
|
+
"title": "",
|
|
37
|
+
"description": ""
|
|
38
|
+
},
|
|
39
|
+
"@studiocms/auth:oauth-stack": {
|
|
40
|
+
"or-login-with": ""
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"displayName": "English (en-US)",
|
|
3
|
+
"translations": {
|
|
4
|
+
"@studiocms/auth:login": {
|
|
5
|
+
"title": "Login Page",
|
|
6
|
+
"description": "Login Page",
|
|
7
|
+
"header": "Login",
|
|
8
|
+
"sub-header-usernamepasswordoauth": "Enter your username & password or log in using one of the options below.",
|
|
9
|
+
"sub-header-usernamepassword": "Enter your username & password.",
|
|
10
|
+
"sub-header-oauth": "Log in using one of the options below.",
|
|
11
|
+
"sub-header-noprovider": "No Login provider configured. Please contact your administrator.",
|
|
12
|
+
"username-label": "Username",
|
|
13
|
+
"password-label": "Password",
|
|
14
|
+
"login-button": "Log In",
|
|
15
|
+
"allow-registration-noaccount": "Don't have an account?",
|
|
16
|
+
"allow-registration-register": "Register here!"
|
|
17
|
+
},
|
|
18
|
+
"@studiocms/auth:signup": {
|
|
19
|
+
"title": "Sign Up Page",
|
|
20
|
+
"description": "Sign Up Page",
|
|
21
|
+
"header": "Sign Up",
|
|
22
|
+
"sub-header-usernamepasswordoauth": "Create an account or log in using one of the options below.",
|
|
23
|
+
"sub-header-usernamepassword": "Create an account using the form below.",
|
|
24
|
+
"sub-header-oauth": "Log in using one of the options below.",
|
|
25
|
+
"sub-header-noprovider": "No Login provider configured. Please contact your administrator.",
|
|
26
|
+
"username-label": "Username",
|
|
27
|
+
"email-label": "Email",
|
|
28
|
+
"displayname-label": "Display Name",
|
|
29
|
+
"password-label": "Password",
|
|
30
|
+
"confirm-password-label": "Confirm Password",
|
|
31
|
+
"create-account-button": "Create Account",
|
|
32
|
+
"allow-login-haveaccount": "Already have an account?",
|
|
33
|
+
"allow-login-login": "Login here!"
|
|
34
|
+
},
|
|
35
|
+
"@studiocms/auth:logout": {
|
|
36
|
+
"title": "Logout Page",
|
|
37
|
+
"description": "Logout Page"
|
|
38
|
+
},
|
|
39
|
+
"@studiocms/auth:oauth-stack": {
|
|
40
|
+
"or-login-with": "or log in using"
|
|
41
|
+
},
|
|
42
|
+
"@studiocms/dashboard:index": {
|
|
43
|
+
"title": "Dashboard",
|
|
44
|
+
"welcome-title": "Welcome",
|
|
45
|
+
"title-button:discord": "Join the Community",
|
|
46
|
+
"title-button:feedback": "Give Feedback",
|
|
47
|
+
"sub-header": "StudioCMS is a free and open-source content management system built from the ground up by the Astro community."
|
|
48
|
+
},
|
|
49
|
+
"@studiocms/dashboard:sidebar": {
|
|
50
|
+
"category-1-header": "Dashboard",
|
|
51
|
+
"dashboard-link-label": "Dashboard",
|
|
52
|
+
"content-management-label": "Content Management",
|
|
53
|
+
"category-2-header": "Admin",
|
|
54
|
+
"site-configuration-label": "Site Configuration",
|
|
55
|
+
"user-management-label": "User Management",
|
|
56
|
+
"category-3-header": "Plugins",
|
|
57
|
+
"category-3-empty-placeholder": "No plugins with settings pages found.",
|
|
58
|
+
"user-dropdown:settings": "User Settings",
|
|
59
|
+
"user-dropdown:view-site": "View Site",
|
|
60
|
+
"user-dropdown:logout": "Log Out"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { CurrentRESTAPIVersions } from '../consts.js';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a function that generates API route strings.
|
|
4
|
+
*
|
|
5
|
+
* @param path - The base path for the API route.
|
|
6
|
+
* @returns A function that takes a route string and returns the full API route.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* const apiRoute = makeAPIRoute('users');
|
|
11
|
+
* const fullRoute = apiRoute('profile'); // Returns '/studiocms_api/users/profile'
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare function makeAPIRoute(path: string): (route: string) => string;
|
|
15
|
+
/**
|
|
16
|
+
* Resolves the API route for the SDK.
|
|
17
|
+
*
|
|
18
|
+
* This function uses the `makeAPIRoute` utility to generate the API route
|
|
19
|
+
* specifically for the SDK.
|
|
20
|
+
*
|
|
21
|
+
* @constant
|
|
22
|
+
*/
|
|
23
|
+
export declare const sdkRouteResolver: (route: string) => string;
|
|
24
|
+
/**
|
|
25
|
+
* Creates an API route for the 'renderer' service.
|
|
26
|
+
*
|
|
27
|
+
* This function utilizes the `makeAPIRoute` utility to generate
|
|
28
|
+
* a route specifically for the 'renderer' service.
|
|
29
|
+
*
|
|
30
|
+
* @constant
|
|
31
|
+
*/
|
|
32
|
+
export declare const apiRoute: (route: string) => string;
|
|
33
|
+
/**
|
|
34
|
+
* Generates a REST API route string for the specified version.
|
|
35
|
+
*
|
|
36
|
+
* @param version - The version of the REST API.
|
|
37
|
+
* @returns The complete API route string for the given version.
|
|
38
|
+
*/
|
|
39
|
+
export declare const restRoute: (version: CurrentRESTAPIVersions) => (route: string) => string;
|
|
40
|
+
/**
|
|
41
|
+
* Creates a REST API route for version 1.
|
|
42
|
+
*
|
|
43
|
+
* @constant
|
|
44
|
+
*/
|
|
45
|
+
export declare const v1RestRoute: (route: string) => string;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
function makeAPIRoute(path) {
|
|
2
|
+
return function api(route) {
|
|
3
|
+
return `/studiocms_api/${path}/${route}`;
|
|
4
|
+
};
|
|
5
|
+
}
|
|
6
|
+
const sdkRouteResolver = makeAPIRoute("sdk");
|
|
7
|
+
const apiRoute = makeAPIRoute("renderer");
|
|
8
|
+
const restRoute = (version) => makeAPIRoute(`rest/${version}`);
|
|
9
|
+
const v1RestRoute = restRoute("v1");
|
|
10
|
+
export {
|
|
11
|
+
apiRoute,
|
|
12
|
+
makeAPIRoute,
|
|
13
|
+
restRoute,
|
|
14
|
+
sdkRouteResolver,
|
|
15
|
+
v1RestRoute
|
|
16
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** Get the a root-relative URL path with the site’s `base` prefixed. */
|
|
2
|
+
export declare function pathWithBase(path: string): string;
|
|
3
|
+
/** Get the a root-relative file URL path with the site’s `base` prefixed. */
|
|
4
|
+
export declare function fileWithBase(path: string): string;
|
|
5
|
+
/** Ensure the passed path starts with a leading slash. */
|
|
6
|
+
export declare function ensureLeadingSlash(href: string): string;
|
|
7
|
+
/** Ensure the passed path ends with a trailing slash. */
|
|
8
|
+
export declare function ensureTrailingSlash(href: string): string;
|
|
9
|
+
/** Ensure the passed path starts and ends with slashes. */
|
|
10
|
+
export declare function ensureLeadingAndTrailingSlashes(href: string): string;
|
|
11
|
+
/** Ensure the passed path does not start with a leading slash. */
|
|
12
|
+
export declare function stripLeadingSlash(href: string): string;
|
|
13
|
+
/** Ensure the passed path does not end with a trailing slash. */
|
|
14
|
+
export declare function stripTrailingSlash(href: string): string;
|
|
15
|
+
/** Ensure the passed path does not start and end with slashes. */
|
|
16
|
+
export declare function stripLeadingAndTrailingSlashes(href: string): string;
|
|
17
|
+
/** Remove the extension from a path. */
|
|
18
|
+
export declare function stripHtmlExtension(path: string): string;
|
|
19
|
+
/** Add '.html' extension to a path. */
|
|
20
|
+
export declare function ensureHtmlExtension(path: string): string;
|