studiocms 0.1.0-beta.24 → 0.1.0-beta.26
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 +136 -0
- package/dist/cli/add/index.d.ts +3 -4
- package/dist/cli/add/index.js +6 -7
- package/dist/cli/crypto/genJWT/index.d.ts +5 -5
- package/dist/cli/crypto/genJWT/index.js +14 -15
- package/dist/cli/crypto/index.d.ts +2 -2
- package/dist/cli/crypto/index.js +4 -4
- package/dist/cli/getTurso/index.d.ts +2 -2
- package/dist/cli/getTurso/index.js +3 -4
- package/dist/cli/index.js +11 -10
- package/dist/cli/init/index.d.ts +4 -4
- package/dist/cli/init/index.js +11 -12
- package/dist/cli/users/index.d.ts +4 -4
- package/dist/cli/users/index.js +11 -12
- package/dist/cli/users/steps/libsqlCreateUsers.js +3 -3
- package/dist/cli/users/steps/libsqlModifyUsers.js +3 -3
- package/dist/{layouts → components}/auth/FallbackCanvas.astro +1 -1
- package/dist/components/auth/OAuthButton.astro +1 -1
- package/dist/components/auth/OAuthButtonStack.astro +2 -2
- package/dist/components/auth/StaticAuthCheck.astro +3 -3
- package/dist/{scripts → components/auth/component-scripts}/formListener.d.ts +3 -0
- package/dist/{scripts → components/auth/component-scripts}/formListener.js +1 -1
- package/dist/components/dashboard/BaseHead.astro +7 -18
- package/dist/components/dashboard/DashboardGrid.astro +4 -4
- package/dist/components/dashboard/DashboardGridItem.astro +3 -2
- package/dist/components/dashboard/DashboardPageHeader.astro +11 -6
- package/dist/components/dashboard/DoubleSidebar.astro +3 -3
- package/dist/components/dashboard/Footer.astro +3 -7
- package/dist/components/dashboard/LoginChecker.astro +17 -17
- package/dist/components/dashboard/MainSidebarContent.astro +27 -18
- package/dist/components/dashboard/PageHeader.astro +3 -2
- package/dist/components/dashboard/SidebarLink.astro +148 -31
- package/dist/components/dashboard/SidebarPluginLink.astro +4 -4
- package/dist/components/dashboard/SingleSidebar.astro +3 -3
- package/dist/components/dashboard/UserName.astro +2 -2
- package/dist/components/dashboard/component-scripts/dateTimeListener.js +4 -9
- package/dist/components/dashboard/component-scripts/dateWithTimeAndZone.d.ts +1 -0
- package/dist/components/dashboard/component-scripts/dateWithTimeAndZone.js +10 -7
- package/dist/components/dashboard/configuration/ConfigForm.astro +53 -152
- package/dist/components/dashboard/configuration/LoginPreview.astro +275 -0
- package/dist/components/dashboard/content-mgmt/CreateFolder.astro +6 -5
- package/dist/components/dashboard/content-mgmt/CreatePage.astro +23 -47
- package/dist/components/dashboard/content-mgmt/EditFolder.astro +5 -4
- package/dist/components/dashboard/content-mgmt/EditPage.astro +36 -85
- package/dist/components/dashboard/content-mgmt/InnerSidebarElement.astro +30 -22
- package/dist/components/dashboard/content-mgmt/PageEditorSwapper.astro +107 -0
- package/dist/components/dashboard/content-mgmt/PageHeader.astro +26 -18
- package/dist/components/dashboard/content-mgmt/PageTypeHandler.astro +107 -0
- package/dist/components/dashboard/content-mgmt/PluginFields.astro +6 -1
- package/dist/components/dashboard/content-mgmt/TreeRenderer.astro +8 -8
- package/dist/components/dashboard/content-mgmt/TreeSidebarFolder.astro +116 -24
- package/dist/components/dashboard/content-mgmt/TreeSidebarLink.astro +116 -24
- package/dist/components/dashboard/content-mgmt/runtime.js +1 -1
- package/dist/components/dashboard/plugins/SettingsRenderer.astro +6 -1
- package/dist/components/dashboard/profile/APITokens.astro +18 -12
- package/dist/components/dashboard/profile/BasicInfo.astro +17 -13
- package/dist/components/dashboard/profile/Notifications.astro +20 -8
- package/dist/components/dashboard/profile/SocialSignin.astro +11 -8
- package/dist/components/dashboard/profile/UpdatePassword.astro +10 -7
- package/dist/components/dashboard/profile/oAuthButtonProviders.d.ts +1 -8
- package/dist/components/dashboard/profile/oAuthButtonProviders.js +1 -15
- package/dist/components/dashboard/shared.d.ts +1 -1
- package/dist/components/dashboard/sidebar/UserAccount.astro +5 -6
- package/dist/components/dashboard/sidebar/VersionCheck.astro +7 -7
- package/dist/components/dashboard/sidebar/VersionCheckChangelog.astro +32 -8
- package/dist/components/dashboard/sidebar-modals/UserManagementModals.astro +8 -3
- package/dist/components/dashboard/sidebar-modals/VersionModal.astro +43 -24
- package/dist/components/dashboard/sidebarConfig.d.ts +2 -2
- package/dist/components/dashboard/sidebarConfig.js +7 -7
- package/dist/components/dashboard/user-mgmt/InnerSidebarElement.astro +20 -13
- package/dist/components/dashboard/user-mgmt/RankCheck.astro +10 -10
- package/dist/components/dashboard/user-mgmt/SocialSignin.astro +9 -10
- package/dist/components/dashboard/user-mgmt/UserListItem.astro +86 -30
- package/dist/components/default-grid-items/Recently-created-pages.astro +12 -10
- package/dist/components/default-grid-items/Recently-signed-up.astro +9 -9
- package/dist/components/default-grid-items/Recently-updated-pages.astro +12 -10
- package/dist/components/default-grid-items/Totals.astro +11 -10
- package/dist/{routes/firstTimeSetupRoutes/components → components/first-time-setup}/PageHeader.astro +4 -3
- package/dist/components/shared/Code.astro +72 -0
- package/dist/components/shared/SSRUser.astro +200 -0
- package/dist/components/shared/head/Favicons.astro +6 -0
- package/dist/components/shared/head/Global.astro +4 -0
- package/dist/components/shared/head/TitleTags.astro +14 -0
- package/dist/config.d.ts +1 -4
- package/dist/consts.d.ts +48 -3
- package/dist/consts.js +65 -10
- package/dist/db/config.d.ts +1499 -0
- package/dist/db/config.js +262 -4
- package/dist/effect.d.ts +2 -3
- package/dist/effect.js +2 -17
- package/dist/{styles/dashboard-code.css → fonts/syntax-font.css} +2 -20
- package/dist/{utils → handlers}/astroConfigCheck.js +1 -1
- package/dist/handlers/changelog.d.ts +1 -0
- package/dist/handlers/changelog.js +54 -0
- package/dist/handlers/index.d.ts +4 -0
- package/dist/handlers/index.js +10 -0
- package/dist/{pluginHandler.d.ts → handlers/pluginHandler.d.ts} +4 -3
- package/dist/{pluginHandler.js → handlers/pluginHandler.js} +264 -127
- package/dist/{routeHandler.d.ts → handlers/routeHandler.d.ts} +1 -1
- package/dist/{routeHandler.js → handlers/routeHandler.js} +7 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.js +184 -229
- package/dist/{lib → integrations}/dynamic-sitemap/index.js +1 -1
- package/dist/integrations/node-namespace.d.ts +15 -0
- package/dist/integrations/node-namespace.js +31 -0
- package/dist/integrations/plugins.d.ts +4 -0
- package/dist/integrations/plugins.js +7 -0
- package/dist/{lib → integrations}/robots/utils.d.ts +0 -8
- package/dist/{lib → integrations}/robots/utils.js +1 -5
- package/dist/{lib → integrations}/webVitals/checkForWebVitalsPlugin.js +3 -3
- package/{src/lib → dist/integrations}/webVitals/dashboard-grid-items/CoreVitals.astro +1 -1
- package/{src/lib → dist/integrations}/webVitals/dashboard-grid-items/MetricCard.astro +3 -2
- package/dist/{lib → integrations}/webVitals/dashboard-grid-items/SummaryCard.astro +2 -2
- package/dist/{lib → integrations}/webVitals/dashboard-grid-items/metric.css +17 -17
- package/dist/{lib → integrations}/webVitals/dashboard-grid-items/shared.d.ts +4 -4
- package/dist/{lib → integrations}/webVitals/dashboard-grid-items/shared.js +3 -3
- package/{src/lib → dist/integrations}/webVitals/pages/analytics/body.astro +10 -9
- package/dist/{lib → integrations}/webVitals/utils/webVitalsUtils.d.ts +9 -9
- package/dist/layouts/AuthLayout.astro +63 -0
- package/dist/layouts/{dashboard/Layout.astro → DashboardLayout.astro} +22 -10
- package/{src/routes/firstTimeSetupRoutes/components/Layout.astro → dist/layouts/FirstTimeSetupLayout.astro} +15 -3
- package/dist/middleware/index.d.ts +9 -0
- package/dist/middleware/index.js +67 -89
- package/dist/middleware/utils.d.ts +59 -36
- package/dist/middleware/utils.js +59 -40
- package/dist/routes/api/auth/[provider]/callback.d.ts +1 -4
- package/dist/routes/api/auth/[provider]/callback.js +29 -11
- package/dist/routes/api/auth/[provider]/index.d.ts +1 -4
- package/dist/routes/api/auth/[provider]/index.js +29 -11
- package/dist/routes/api/auth/forgot-password.d.ts +1 -4
- package/dist/routes/api/auth/forgot-password.js +85 -66
- package/dist/routes/api/auth/login.d.ts +1 -4
- package/dist/routes/api/auth/login.js +63 -47
- package/dist/routes/api/auth/logout.d.ts +6 -5
- package/dist/routes/api/auth/logout.js +38 -24
- package/dist/routes/api/auth/register.d.ts +1 -4
- package/dist/routes/api/auth/register.js +74 -63
- package/dist/routes/api/auth/shared.d.ts +4 -4
- package/dist/routes/api/auth/shared.js +19 -26
- package/dist/routes/api/dashboard/api-tokens.d.ts +1 -5
- package/dist/routes/api/dashboard/api-tokens.js +70 -64
- package/dist/routes/api/dashboard/config.d.ts +1 -4
- package/dist/routes/api/dashboard/config.js +51 -33
- package/dist/routes/api/dashboard/content/diff.d.ts +1 -4
- package/dist/routes/api/dashboard/content/diff.js +50 -29
- package/dist/routes/api/dashboard/content/folder.d.ts +1 -6
- package/dist/routes/api/dashboard/content/folder.js +106 -86
- package/dist/routes/api/dashboard/content/page.d.ts +1 -5
- package/dist/routes/api/dashboard/content/page.js +207 -202
- package/dist/routes/api/dashboard/create-reset-link.d.ts +1 -4
- package/dist/routes/api/dashboard/create-reset-link.js +53 -40
- package/dist/routes/api/dashboard/create-user-invite.d.ts +1 -4
- package/dist/routes/api/dashboard/create-user-invite.js +128 -106
- package/dist/routes/api/dashboard/create-user.d.ts +1 -4
- package/dist/routes/api/dashboard/create-user.js +132 -68
- package/dist/routes/api/dashboard/email-notification-settings-site.d.ts +1 -4
- package/dist/routes/api/dashboard/email-notification-settings-site.js +47 -21
- package/dist/routes/api/dashboard/partials/LiveRender.astro +21 -16
- package/dist/routes/api/dashboard/plugins/[plugin].d.ts +1 -4
- package/dist/routes/api/dashboard/plugins/[plugin].js +57 -33
- package/dist/routes/api/dashboard/profile.d.ts +1 -4
- package/dist/routes/api/dashboard/profile.js +133 -95
- package/dist/routes/api/dashboard/resend-verify-email.d.ts +1 -4
- package/dist/routes/api/dashboard/resend-verify-email.js +55 -29
- package/dist/routes/api/dashboard/reset-password.d.ts +1 -4
- package/dist/routes/api/dashboard/reset-password.js +76 -50
- package/dist/routes/api/dashboard/search-list.d.ts +1 -4
- package/dist/routes/api/dashboard/search-list.js +45 -37
- package/dist/routes/api/dashboard/update-user-notifications.d.ts +1 -4
- package/dist/routes/api/dashboard/update-user-notifications.js +48 -36
- package/dist/routes/api/dashboard/users.d.ts +1 -5
- package/dist/routes/api/dashboard/users.js +150 -96
- package/dist/routes/api/dashboard/verify-email.d.ts +1 -4
- package/dist/routes/api/dashboard/verify-email.js +52 -33
- package/dist/routes/api/dashboard/verify-session.d.ts +2 -29
- package/dist/routes/api/dashboard/verify-session.js +85 -73
- package/dist/routes/api/mailer/config.d.ts +2 -6
- package/dist/routes/api/mailer/config.js +86 -72
- package/dist/routes/api/mailer/test-email.d.ts +1 -4
- package/dist/routes/api/mailer/test-email.js +56 -33
- package/dist/routes/api/render.astro +1 -1
- package/dist/routes/api/rest/utils/auth-token.d.ts +3 -3
- package/dist/routes/api/rest/utils/auth-token.js +1 -2
- package/dist/routes/api/rest/v1/folders/[id].d.ts +2 -7
- package/dist/routes/api/rest/v1/folders/[id].js +105 -94
- package/dist/routes/api/rest/v1/folders/index.d.ts +2 -6
- package/dist/routes/api/rest/v1/folders/index.js +82 -66
- package/dist/routes/api/rest/v1/pages/[id]/history/[diffid].d.ts +1 -4
- package/dist/routes/api/rest/v1/pages/[id]/history/[diffid].js +46 -34
- package/dist/routes/api/rest/v1/pages/[id]/history/index.d.ts +1 -4
- package/dist/routes/api/rest/v1/pages/[id]/history/index.js +44 -39
- package/dist/routes/api/rest/v1/pages/[id]/index.d.ts +1 -6
- package/dist/routes/api/rest/v1/pages/[id]/index.js +158 -151
- package/dist/routes/api/rest/v1/pages/index.d.ts +1 -5
- package/dist/routes/api/rest/v1/pages/index.js +112 -107
- package/dist/routes/api/rest/v1/public/folders/[id].d.ts +1 -4
- package/dist/routes/api/rest/v1/public/folders/[id].js +32 -23
- package/dist/routes/api/rest/v1/public/folders/index.d.ts +1 -4
- package/dist/routes/api/rest/v1/public/folders/index.js +43 -33
- package/dist/routes/api/rest/v1/public/pages/[id].d.ts +1 -4
- package/dist/routes/api/rest/v1/public/pages/[id].js +38 -26
- package/dist/routes/api/rest/v1/public/pages/index.d.ts +1 -4
- package/dist/routes/api/rest/v1/public/pages/index.js +47 -44
- package/dist/routes/api/rest/v1/settings/index.d.ts +1 -5
- package/dist/routes/api/rest/v1/settings/index.js +60 -54
- package/dist/routes/api/rest/v1/users/[id].d.ts +2 -7
- package/dist/routes/api/rest/v1/users/[id].js +257 -231
- package/dist/routes/api/rest/v1/users/index.d.ts +2 -6
- package/dist/routes/api/rest/v1/users/index.js +154 -136
- package/dist/routes/api/sdk/fallback-list-pages.json.d.ts +1 -4
- package/dist/routes/api/sdk/fallback-list-pages.json.js +26 -33
- package/dist/routes/api/sdk/full-changelog.json.d.ts +1 -4
- package/dist/routes/api/sdk/full-changelog.json.js +27 -26
- package/dist/routes/api/sdk/list-pages.d.ts +1 -4
- package/dist/routes/api/sdk/list-pages.js +36 -29
- package/dist/routes/api/sdk/update-latest-version-cache.d.ts +1 -4
- package/dist/routes/api/sdk/update-latest-version-cache.js +30 -28
- package/dist/routes/api/sdk/utils/changelog.d.ts +5 -21
- package/dist/routes/api/sdk/utils/changelog.js +25 -131
- package/dist/routes/auth/login.astro +68 -58
- package/dist/routes/auth/logout.astro +3 -3
- package/dist/routes/auth/signup.astro +9 -9
- package/dist/routes/dashboard/[...pluginPage].astro +4 -2
- package/dist/routes/dashboard/configuration.astro +7 -4
- package/dist/routes/dashboard/content-management/createfolder.astro +5 -3
- package/dist/routes/dashboard/content-management/createpage.astro +5 -3
- package/dist/routes/dashboard/content-management/diff.astro +19 -15
- package/dist/routes/dashboard/content-management/editfolder.astro +4 -2
- package/dist/routes/dashboard/content-management/editpage.astro +4 -2
- package/dist/routes/dashboard/content-management/index.astro +5 -3
- package/dist/routes/dashboard/index.astro +4 -2
- package/dist/routes/dashboard/password-reset.astro +13 -8
- package/dist/routes/dashboard/plugins/[plugin].astro +10 -7
- package/dist/routes/dashboard/profile.astro +9 -4
- package/dist/routes/dashboard/smtp-configuration.astro +30 -18
- package/dist/routes/dashboard/unverified-email.astro +9 -9
- package/dist/routes/dashboard/user-management/edit.astro +53 -39
- package/dist/routes/dashboard/user-management/index.astro +6 -4
- package/dist/routes/error-pages/404.astro +6 -4
- package/dist/routes/firstTimeSetupRoutes/1-start.astro +18 -110
- package/dist/routes/firstTimeSetupRoutes/2-next.astro +60 -44
- package/dist/routes/firstTimeSetupRoutes/3-done.astro +9 -11
- package/dist/routes/firstTimeSetupRoutes/api/step-1.d.ts +1 -4
- package/dist/routes/firstTimeSetupRoutes/api/step-1.js +98 -87
- package/dist/routes/firstTimeSetupRoutes/api/step-2.d.ts +1 -4
- package/dist/routes/firstTimeSetupRoutes/api/step-2.js +95 -87
- package/dist/routes/firstTimeSetupRoutes/index.astro +6 -0
- package/dist/runtime/index.d.ts +2 -2
- package/dist/runtime/index.js +2 -3
- package/dist/schemas/config/index.js +1 -1
- package/dist/schemas/plugins/index.d.ts +57 -57
- package/dist/schemas/plugins/shared.d.ts +196 -77
- package/dist/schemas/plugins/shared.js +10 -16
- package/dist/styles/404.css +1 -1
- package/dist/styles/{authlayout.css → auth-layout.css} +1 -1
- package/dist/styles/code-component.css +56 -0
- package/dist/styles/dashboard-base.css +31 -62
- package/dist/styles/dashboard-diff.css +32 -32
- package/dist/theme.d.ts +1 -0
- package/dist/types.d.ts +3 -23
- package/dist/{lib → utils}/effects/index.d.ts +0 -1
- package/dist/{lib → utils}/effects/index.js +0 -2
- package/dist/{lib → utils}/effects/logger.d.ts +2 -4
- package/dist/{lib → utils}/effects/logger.js +2 -4
- package/dist/utils/effects/smtp.d.ts +40 -0
- package/dist/utils/effects/smtp.js +75 -0
- package/dist/utils/safeString.d.ts +1 -1
- package/dist/utils/safeString.js +1 -3
- package/dist/utils/stripIconify.d.ts +13 -0
- package/dist/utils/stripIconify.js +11 -0
- package/dist/utils/tinyMDParser.d.ts +6 -0
- package/dist/utils/tinyMDParser.js +5 -5
- package/dist/virtual.d.ts +194 -236
- package/dist/virtuals/auth/core.d.ts +91 -0
- package/dist/virtuals/auth/core.js +45 -0
- package/dist/{lib → virtuals}/auth/index.d.ts +1 -4
- package/dist/virtuals/auth/index.js +9 -0
- package/dist/virtuals/auth/scripts/three.d.ts +108 -0
- package/dist/virtuals/auth/scripts/three.js +484 -0
- package/dist/virtuals/auth/scripts/utils/fitModelToViewport.d.ts +10 -0
- package/dist/virtuals/auth/scripts/utils/fitModelToViewport.js +26 -0
- package/dist/{utils/validImages.d.ts → virtuals/auth/validImages/index.d.ts} +1 -1
- package/dist/virtuals/auth/validImages/index.js +39 -0
- package/dist/virtuals/auth/validImages/studiocms-blobs-dark.webp +0 -0
- package/dist/virtuals/auth/validImages/studiocms-blobs-light.webp +0 -0
- package/dist/virtuals/auth/validImages/studiocms-blocks-dark.webp +0 -0
- package/dist/virtuals/auth/validImages/studiocms-blocks-light.webp +0 -0
- package/dist/virtuals/auth/validImages/studiocms-curves-dark.webp +0 -0
- package/dist/virtuals/auth/validImages/studiocms-curves-light.webp +0 -0
- package/dist/{lib → virtuals}/auth/verify-email.d.ts +10 -10
- package/dist/{lib → virtuals}/auth/verify-email.js +19 -20
- package/dist/virtuals/components/Generator.astro +5 -0
- package/{src → dist/virtuals}/components/Renderer.astro +1 -1
- package/{src/lib → dist/virtuals}/i18n/LanguageSelector.astro +1 -1
- package/dist/{lib → virtuals}/i18n/client.d.ts +100 -4
- package/dist/{lib → virtuals}/i18n/client.js +11 -10
- package/dist/virtuals/i18n/config.d.ts +430 -0
- package/dist/virtuals/i18n/config.js +29 -0
- package/dist/virtuals/i18n/server.d.ts +116 -0
- package/dist/{lib/i18n/index.js → virtuals/i18n/server.js} +6 -19
- package/dist/{lib → virtuals}/i18n/translations/de.json +1 -1
- package/dist/virtuals/i18n/v-files.d.ts +30 -0
- package/dist/virtuals/i18n/v-files.js +46 -0
- package/dist/virtuals/lib/head.d.ts +1 -0
- package/dist/virtuals/lib/head.js +1 -0
- package/dist/{lib → virtuals/lib}/headDefaults.d.ts +1 -1
- package/dist/{lib → virtuals/lib}/headDefaults.js +1 -1
- package/dist/{lib → virtuals/lib}/makeAPIRoute.d.ts +1 -1
- package/dist/virtuals/lib/pathGenerators.d.ts +1 -0
- package/dist/virtuals/lib/pathGenerators.js +1 -0
- package/dist/{lib → virtuals/lib}/routeMap.d.ts +4 -0
- package/dist/{lib → virtuals/lib}/routeMap.js +5 -1
- package/dist/{lib → virtuals/lib}/urlGen.d.ts +2 -1
- package/dist/virtuals/lib/urlGen.js +6 -0
- package/dist/virtuals/mailer/index.d.ts +64 -0
- package/dist/{lib → virtuals}/mailer/index.js +7 -24
- package/dist/{lib → virtuals}/notifier/index.d.ts +6 -7
- package/dist/{lib → virtuals}/notifier/index.js +2 -4
- package/dist/virtuals/plugins/dashboard-pages.d.ts +71 -0
- package/dist/virtuals/scripts/user-quick-tools.d.ts +91 -0
- package/dist/{components → virtuals/scripts}/user-quick-tools.js +135 -53
- package/dist/{sdk → virtuals/sdk}/effect/collectors.d.ts +2 -2
- package/dist/{sdk → virtuals/sdk}/effect/collectors.js +1 -1
- package/dist/{sdk → virtuals/sdk}/effect/db.d.ts +1 -1
- package/dist/{sdk → virtuals/sdk}/effect/db.js +1 -1
- package/dist/{sdk → virtuals/sdk}/effect/foldertree.d.ts +2 -2
- package/dist/{sdk → virtuals/sdk}/effect/foldertree.js +1 -1
- package/dist/{sdk → virtuals/sdk}/effect/generators.d.ts +1 -1
- package/dist/{sdk → virtuals/sdk}/effect/generators.js +1 -1
- package/dist/{sdk → virtuals/sdk}/effect/getVersionFromNPM.d.ts +4 -5
- package/dist/virtuals/sdk/effect/getVersionFromNPM.js +24 -0
- package/dist/{sdk → virtuals/sdk}/effect/parsers.d.ts +1 -1
- package/dist/{sdk → virtuals/sdk}/effect/parsers.js +2 -2
- package/dist/{sdk → virtuals/sdk}/effect/pluginUtils.d.ts +1 -1
- package/dist/{sdk → virtuals/sdk}/effect/pluginUtils.js +1 -1
- package/dist/{sdk → virtuals/sdk}/effect/users.d.ts +1 -1
- package/dist/{sdk → virtuals/sdk}/effect/users.js +2 -2
- package/dist/{sdk → virtuals/sdk}/errors.d.ts +1 -1
- package/dist/{sdk → virtuals/sdk}/errors.js +1 -1
- package/dist/{sdk → virtuals/sdk}/index.d.ts +5 -4
- package/dist/{sdk → virtuals/sdk}/index.js +3 -4
- package/dist/{sdk → virtuals/sdk}/modules/auth.d.ts +7 -6
- package/dist/{sdk → virtuals/sdk}/modules/auth.js +2 -2
- package/dist/{sdk → virtuals/sdk}/modules/clear.d.ts +1 -1
- package/dist/{sdk → virtuals/sdk}/modules/clear.js +1 -1
- package/dist/virtuals/sdk/modules/config.d.ts +272 -0
- package/dist/virtuals/sdk/modules/config.js +205 -0
- package/dist/{sdk → virtuals/sdk}/modules/delete.d.ts +1 -1
- package/dist/{sdk → virtuals/sdk}/modules/delete.js +2 -2
- package/dist/{sdk → virtuals/sdk}/modules/diffTracking.d.ts +1 -1
- package/dist/{sdk → virtuals/sdk}/modules/diffTracking.js +1 -1
- package/dist/{sdk → virtuals/sdk}/modules/get.d.ts +14 -27
- package/dist/{sdk → virtuals/sdk}/modules/get.js +29 -42
- package/dist/{sdk → virtuals/sdk}/modules/init.d.ts +5 -19
- package/dist/{sdk → virtuals/sdk}/modules/init.js +8 -9
- package/dist/{sdk → virtuals/sdk}/modules/middlewares.d.ts +2 -2
- package/dist/{sdk → virtuals/sdk}/modules/middlewares.js +18 -12
- package/dist/{sdk → virtuals/sdk}/modules/notificationSettings.d.ts +6 -23
- package/dist/{sdk → virtuals/sdk}/modules/notificationSettings.js +8 -30
- package/dist/{sdk → virtuals/sdk}/modules/plugins.d.ts +1 -1
- package/dist/{sdk → virtuals/sdk}/modules/plugins.js +1 -1
- package/dist/{sdk → virtuals/sdk}/modules/post.d.ts +7 -7
- package/dist/{sdk → virtuals/sdk}/modules/post.js +15 -10
- package/dist/{sdk → virtuals/sdk}/modules/resetTokenBucket.d.ts +1 -1
- package/dist/{sdk → virtuals/sdk}/modules/resetTokenBucket.js +1 -1
- package/dist/{sdk → virtuals/sdk}/modules/rest_api.d.ts +2 -2
- package/dist/{sdk → virtuals/sdk}/modules/rest_api.js +1 -1
- package/dist/{sdk → virtuals/sdk}/modules/update.d.ts +26 -26
- package/dist/{sdk → virtuals/sdk}/modules/update.js +29 -26
- package/dist/{sdk → virtuals/sdk}/sdkCore.d.ts +6 -4
- package/dist/{sdk → virtuals/sdk}/sdkCore.js +10 -5
- package/dist/virtuals/sdk/tables.d.ts +2 -0
- package/dist/virtuals/sdk/tables.js +5 -0
- package/dist/{sdk → virtuals/sdk}/types/index.d.ts +6 -5
- package/dist/{sdk → virtuals/sdk}/types/tableDefs.d.ts +5 -4
- package/dist/{sdk → virtuals/sdk}/types/tsAlias.d.ts +4 -0
- package/dist/{sdk → virtuals/sdk}/utils.d.ts +4 -3
- package/dist/{sdk → virtuals/sdk}/utils.js +1 -1
- package/dist/virtuals/stubs/config.stub.js +9 -0
- package/dist/virtuals/stubs/logger.stub.js +30 -0
- package/dist/virtuals/utils.d.ts +71 -0
- package/dist/virtuals/utils.js +43 -0
- package/package.json +40 -67
- package/src/cli/add/index.ts +6 -7
- package/src/cli/crypto/genJWT/index.ts +14 -15
- package/src/cli/crypto/index.ts +4 -4
- package/src/cli/getTurso/index.ts +3 -4
- package/src/cli/index.ts +11 -10
- package/src/cli/init/index.ts +11 -12
- package/src/cli/users/index.ts +11 -12
- package/src/cli/users/steps/libsqlCreateUsers.ts +4 -3
- package/src/cli/users/steps/libsqlModifyUsers.ts +4 -3
- package/src/{layouts → components}/auth/FallbackCanvas.astro +1 -1
- package/src/components/auth/OAuthButton.astro +1 -1
- package/src/components/auth/OAuthButtonStack.astro +2 -2
- package/src/components/auth/StaticAuthCheck.astro +3 -3
- package/src/{scripts → components/auth/component-scripts}/formListener.ts +5 -1
- package/src/components/dashboard/BaseHead.astro +7 -18
- package/src/components/dashboard/DashboardGrid.astro +4 -4
- package/src/components/dashboard/DashboardGridItem.astro +3 -2
- package/src/components/dashboard/DashboardPageHeader.astro +11 -6
- package/src/components/dashboard/DoubleSidebar.astro +3 -3
- package/src/components/dashboard/Footer.astro +3 -7
- package/src/components/dashboard/LoginChecker.astro +17 -17
- package/src/components/dashboard/MainSidebarContent.astro +27 -18
- package/src/components/dashboard/PageHeader.astro +3 -2
- package/src/components/dashboard/SidebarLink.astro +148 -31
- package/src/components/dashboard/SidebarPluginLink.astro +4 -4
- package/src/components/dashboard/SingleSidebar.astro +3 -3
- package/src/components/dashboard/UserName.astro +2 -2
- package/src/components/dashboard/component-scripts/dateTimeListener.ts +5 -9
- package/src/components/dashboard/component-scripts/dateWithTimeAndZone.ts +11 -8
- package/src/components/dashboard/configuration/ConfigForm.astro +53 -152
- package/src/components/dashboard/configuration/LoginPreview.astro +275 -0
- package/src/components/dashboard/content-mgmt/CreateFolder.astro +6 -5
- package/src/components/dashboard/content-mgmt/CreatePage.astro +23 -47
- package/src/components/dashboard/content-mgmt/EditFolder.astro +5 -4
- package/src/components/dashboard/content-mgmt/EditPage.astro +36 -85
- package/src/components/dashboard/content-mgmt/InnerSidebarElement.astro +30 -22
- package/src/components/dashboard/content-mgmt/PageEditorSwapper.astro +107 -0
- package/src/components/dashboard/content-mgmt/PageHeader.astro +26 -18
- package/src/components/dashboard/content-mgmt/PageTypeHandler.astro +107 -0
- package/src/components/dashboard/content-mgmt/PluginFields.astro +6 -1
- package/src/components/dashboard/content-mgmt/TreeRenderer.astro +8 -8
- package/src/components/dashboard/content-mgmt/TreeSidebarFolder.astro +116 -24
- package/src/components/dashboard/content-mgmt/TreeSidebarLink.astro +116 -24
- package/src/components/dashboard/content-mgmt/runtime.ts +1 -1
- package/src/components/dashboard/plugins/SettingsRenderer.astro +6 -1
- package/src/components/dashboard/profile/APITokens.astro +18 -12
- package/src/components/dashboard/profile/BasicInfo.astro +17 -13
- package/src/components/dashboard/profile/Notifications.astro +20 -8
- package/src/components/dashboard/profile/SocialSignin.astro +11 -8
- package/src/components/dashboard/profile/UpdatePassword.astro +10 -7
- package/src/components/dashboard/profile/oAuthButtonProviders.ts +1 -20
- package/src/components/dashboard/shared.ts +1 -1
- package/src/components/dashboard/sidebar/UserAccount.astro +5 -6
- package/src/components/dashboard/sidebar/VersionCheck.astro +7 -7
- package/src/components/dashboard/sidebar/VersionCheckChangelog.astro +32 -8
- package/src/components/dashboard/sidebar-modals/UserManagementModals.astro +8 -3
- package/src/components/dashboard/sidebar-modals/VersionModal.astro +43 -24
- package/src/components/dashboard/sidebarConfig.ts +9 -9
- package/src/components/dashboard/user-mgmt/InnerSidebarElement.astro +20 -13
- package/src/components/dashboard/user-mgmt/RankCheck.astro +10 -10
- package/src/components/dashboard/user-mgmt/SocialSignin.astro +9 -10
- package/src/components/dashboard/user-mgmt/UserListItem.astro +86 -30
- package/src/components/default-grid-items/Recently-created-pages.astro +12 -10
- package/src/components/default-grid-items/Recently-signed-up.astro +9 -9
- package/src/components/default-grid-items/Recently-updated-pages.astro +12 -10
- package/src/components/default-grid-items/Totals.astro +11 -10
- package/src/{routes/firstTimeSetupRoutes/components → components/first-time-setup}/PageHeader.astro +4 -3
- package/src/components/shared/Code.astro +72 -0
- package/src/components/shared/SSRUser.astro +200 -0
- package/src/components/shared/head/Favicons.astro +6 -0
- package/src/components/shared/head/Global.astro +4 -0
- package/src/components/shared/head/TitleTags.astro +14 -0
- package/src/config.ts +1 -4
- package/src/consts.ts +94 -14
- package/src/db/config.ts +306 -3
- package/src/effect.ts +5 -10
- package/src/fonts/syntax-font.css +40 -0
- package/src/{utils → handlers}/astroConfigCheck.ts +1 -1
- package/src/handlers/changelog.ts +67 -0
- package/src/handlers/index.ts +4 -0
- package/src/{pluginHandler.ts → handlers/pluginHandler.ts} +359 -142
- package/src/{routeHandler.ts → handlers/routeHandler.ts} +8 -3
- package/src/index.ts +214 -259
- package/src/{lib → integrations}/dynamic-sitemap/index.ts +1 -1
- package/src/integrations/node-namespace.ts +44 -0
- package/src/integrations/plugins.ts +4 -0
- package/src/{lib → integrations}/robots/utils.ts +0 -11
- package/src/{lib → integrations}/webVitals/checkForWebVitalsPlugin.ts +3 -3
- package/{dist/lib → src/integrations}/webVitals/dashboard-grid-items/CoreVitals.astro +1 -1
- package/{dist/lib → src/integrations}/webVitals/dashboard-grid-items/MetricCard.astro +3 -2
- package/src/{lib → integrations}/webVitals/dashboard-grid-items/SummaryCard.astro +2 -2
- package/src/{lib → integrations}/webVitals/dashboard-grid-items/metric.css +17 -17
- package/src/{lib → integrations}/webVitals/dashboard-grid-items/shared.ts +7 -7
- package/{dist/lib → src/integrations}/webVitals/pages/analytics/body.astro +10 -9
- package/src/layouts/AuthLayout.astro +63 -0
- package/src/layouts/{dashboard/Layout.astro → DashboardLayout.astro} +22 -10
- package/{dist/routes/firstTimeSetupRoutes/components/Layout.astro → src/layouts/FirstTimeSetupLayout.astro} +15 -3
- package/src/middleware/index.ts +98 -111
- package/src/middleware/utils.ts +123 -113
- package/src/routes/api/auth/[provider]/callback.ts +31 -15
- package/src/routes/api/auth/[provider]/index.ts +31 -15
- package/src/routes/api/auth/forgot-password.ts +134 -128
- package/src/routes/api/auth/login.ts +80 -67
- package/src/routes/api/auth/logout.ts +59 -43
- package/src/routes/api/auth/register.ts +93 -85
- package/src/routes/api/auth/shared.ts +20 -30
- package/src/routes/api/dashboard/api-tokens.ts +112 -104
- package/src/routes/api/dashboard/config.ts +64 -48
- package/src/routes/api/dashboard/content/diff.ts +59 -38
- package/src/routes/api/dashboard/content/folder.ts +145 -135
- package/src/routes/api/dashboard/content/page.ts +274 -275
- package/src/routes/api/dashboard/create-reset-link.ts +73 -64
- package/src/routes/api/dashboard/create-user-invite.ts +158 -140
- package/src/routes/api/dashboard/create-user.ts +172 -106
- package/src/routes/api/dashboard/email-notification-settings-site.ts +69 -32
- package/src/routes/api/dashboard/partials/LiveRender.astro +21 -16
- package/src/routes/api/dashboard/plugins/[plugin].ts +65 -45
- package/src/routes/api/dashboard/profile.ts +159 -127
- package/src/routes/api/dashboard/resend-verify-email.ts +63 -35
- package/src/routes/api/dashboard/reset-password.ts +108 -77
- package/src/routes/api/dashboard/search-list.ts +50 -50
- package/src/routes/api/dashboard/update-user-notifications.ts +57 -45
- package/src/routes/api/dashboard/users.ts +202 -135
- package/src/routes/api/dashboard/verify-email.ts +57 -42
- package/src/routes/api/dashboard/verify-session.ts +102 -116
- package/src/routes/api/mailer/config.ts +120 -102
- package/src/routes/api/mailer/test-email.ts +73 -52
- package/src/routes/api/render.astro +1 -1
- package/src/routes/api/rest/utils/auth-token.ts +1 -2
- package/src/routes/api/rest/v1/folders/[id].ts +136 -133
- package/src/routes/api/rest/v1/folders/index.ts +102 -90
- package/src/routes/api/rest/v1/pages/[id]/history/[diffid].ts +59 -49
- package/src/routes/api/rest/v1/pages/[id]/history/index.ts +63 -65
- package/src/routes/api/rest/v1/pages/[id]/index.ts +184 -187
- package/src/routes/api/rest/v1/pages/index.ts +136 -137
- package/src/routes/api/rest/v1/public/folders/[id].ts +34 -28
- package/src/routes/api/rest/v1/public/folders/index.ts +54 -47
- package/src/routes/api/rest/v1/public/pages/[id].ts +47 -38
- package/src/routes/api/rest/v1/public/pages/index.ts +60 -62
- package/src/routes/api/rest/v1/settings/index.ts +91 -77
- package/src/routes/api/rest/v1/users/[id].ts +317 -294
- package/src/routes/api/rest/v1/users/index.ts +196 -179
- package/src/routes/api/sdk/fallback-list-pages.json.ts +28 -38
- package/src/routes/api/sdk/full-changelog.json.ts +29 -31
- package/src/routes/api/sdk/list-pages.ts +41 -37
- package/src/routes/api/sdk/update-latest-version-cache.ts +32 -34
- package/src/routes/api/sdk/utils/changelog.ts +29 -168
- package/src/routes/auth/login.astro +68 -58
- package/src/routes/auth/logout.astro +3 -3
- package/src/routes/auth/signup.astro +9 -9
- package/src/routes/dashboard/[...pluginPage].astro +4 -2
- package/src/routes/dashboard/configuration.astro +7 -4
- package/src/routes/dashboard/content-management/createfolder.astro +5 -3
- package/src/routes/dashboard/content-management/createpage.astro +5 -3
- package/src/routes/dashboard/content-management/diff.astro +19 -15
- package/src/routes/dashboard/content-management/editfolder.astro +4 -2
- package/src/routes/dashboard/content-management/editpage.astro +4 -2
- package/src/routes/dashboard/content-management/index.astro +5 -3
- package/src/routes/dashboard/index.astro +4 -2
- package/src/routes/dashboard/password-reset.astro +13 -8
- package/src/routes/dashboard/plugins/[plugin].astro +10 -7
- package/src/routes/dashboard/profile.astro +9 -4
- package/src/routes/dashboard/smtp-configuration.astro +30 -18
- package/src/routes/dashboard/unverified-email.astro +9 -9
- package/src/routes/dashboard/user-management/edit.astro +53 -39
- package/src/routes/dashboard/user-management/index.astro +6 -4
- package/src/routes/error-pages/404.astro +6 -4
- package/src/routes/firstTimeSetupRoutes/1-start.astro +18 -110
- package/src/routes/firstTimeSetupRoutes/2-next.astro +60 -44
- package/src/routes/firstTimeSetupRoutes/3-done.astro +9 -11
- package/src/routes/firstTimeSetupRoutes/api/step-1.ts +116 -98
- package/src/routes/firstTimeSetupRoutes/api/step-2.ts +114 -100
- package/src/routes/firstTimeSetupRoutes/index.astro +6 -0
- package/src/runtime/index.ts +2 -3
- package/src/schemas/config/index.ts +1 -1
- package/src/schemas/plugins/index.ts +1 -1
- package/src/schemas/plugins/shared.ts +149 -23
- package/src/styles/404.css +1 -1
- package/src/styles/{authlayout.css → auth-layout.css} +1 -1
- package/src/styles/code-component.css +64 -0
- package/src/styles/dashboard-base.css +31 -67
- package/src/styles/dashboard-diff.css +32 -32
- package/src/theme.d.ts +1 -0
- package/src/types.ts +4 -21
- package/src/{lib → utils}/effects/index.ts +0 -1
- package/src/{lib → utils}/effects/logger.ts +6 -10
- package/src/utils/effects/smtp.ts +155 -0
- package/src/utils/safeString.ts +1 -6
- package/src/utils/stripIconify.ts +20 -0
- package/src/utils/tinyMDParser.ts +13 -7
- package/src/virtual.d.ts +194 -236
- package/src/virtuals/auth/core.ts +82 -0
- package/src/{lib → virtuals}/auth/index.ts +1 -4
- package/src/virtuals/auth/scripts/three.ts +647 -0
- package/src/virtuals/auth/scripts/utils/fitModelToViewport.ts +50 -0
- package/src/{utils/validImages.ts → virtuals/auth/validImages/index.ts} +10 -10
- package/src/virtuals/auth/validImages/studiocms-blobs-dark.webp +0 -0
- package/src/virtuals/auth/validImages/studiocms-blobs-light.webp +0 -0
- package/src/virtuals/auth/validImages/studiocms-blocks-dark.webp +0 -0
- package/src/virtuals/auth/validImages/studiocms-blocks-light.webp +0 -0
- package/src/virtuals/auth/validImages/studiocms-curves-dark.webp +0 -0
- package/src/virtuals/auth/validImages/studiocms-curves-light.webp +0 -0
- package/src/{lib → virtuals}/auth/verify-email.ts +20 -21
- package/src/virtuals/components/Generator.astro +5 -0
- package/{dist → src/virtuals}/components/Renderer.astro +1 -1
- package/{dist/lib → src/virtuals}/i18n/LanguageSelector.astro +1 -1
- package/src/virtuals/i18n/client.ts +232 -0
- package/src/virtuals/i18n/config.ts +170 -0
- package/src/{lib/i18n/index.ts → virtuals/i18n/server.ts} +42 -46
- package/src/{lib → virtuals}/i18n/translations/de.json +1 -1
- package/src/virtuals/i18n/v-files.ts +122 -0
- package/src/virtuals/lib/head.ts +1 -0
- package/src/{lib → virtuals/lib}/headDefaults.ts +1 -1
- package/src/{lib → virtuals/lib}/makeAPIRoute.ts +1 -1
- package/src/virtuals/lib/pathGenerators.ts +1 -0
- package/src/{lib → virtuals/lib}/routeMap.ts +5 -0
- package/src/virtuals/lib/urlGen.ts +15 -0
- package/src/{lib → virtuals}/mailer/index.ts +10 -44
- package/src/{lib → virtuals}/notifier/index.ts +1 -3
- package/src/{components → virtuals/scripts}/user-quick-tools.ts +151 -59
- package/src/{sdk → virtuals/sdk}/effect/collectors.ts +2 -3
- package/src/{sdk → virtuals/sdk}/effect/db.ts +1 -1
- package/src/{sdk → virtuals/sdk}/effect/foldertree.ts +1 -1
- package/src/{sdk → virtuals/sdk}/effect/generators.ts +1 -1
- package/src/{sdk → virtuals/sdk}/effect/getVersionFromNPM.ts +5 -11
- package/src/{sdk → virtuals/sdk}/effect/parsers.ts +2 -2
- package/src/{sdk → virtuals/sdk}/effect/pluginUtils.ts +1 -1
- package/src/{sdk → virtuals/sdk}/effect/users.ts +2 -2
- package/src/{sdk → virtuals/sdk}/errors.ts +1 -1
- package/src/{sdk → virtuals/sdk}/index.ts +5 -6
- package/src/{sdk → virtuals/sdk}/modules/auth.ts +4 -3
- package/src/{sdk → virtuals/sdk}/modules/clear.ts +1 -1
- package/src/virtuals/sdk/modules/config.ts +602 -0
- package/src/{sdk → virtuals/sdk}/modules/delete.ts +2 -2
- package/src/{sdk → virtuals/sdk}/modules/diffTracking.ts +1 -1
- package/src/{sdk → virtuals/sdk}/modules/get.ts +34 -50
- package/src/{sdk → virtuals/sdk}/modules/init.ts +19 -27
- package/src/{sdk → virtuals/sdk}/modules/middlewares.ts +24 -13
- package/src/{sdk → virtuals/sdk}/modules/notificationSettings.ts +9 -45
- package/src/{sdk → virtuals/sdk}/modules/plugins.ts +1 -1
- package/src/{sdk → virtuals/sdk}/modules/post.ts +18 -19
- package/src/{sdk → virtuals/sdk}/modules/resetTokenBucket.ts +1 -1
- package/src/{sdk → virtuals/sdk}/modules/rest_api.ts +1 -1
- package/src/{sdk → virtuals/sdk}/modules/update.ts +32 -30
- package/src/{sdk → virtuals/sdk}/sdkCore.ts +6 -1
- package/src/virtuals/sdk/tables.ts +2 -0
- package/src/{sdk → virtuals/sdk}/types/index.ts +6 -10
- package/src/{sdk → virtuals/sdk}/types/tableDefs.ts +4 -4
- package/src/{sdk → virtuals/sdk}/types/tsAlias.ts +4 -0
- package/src/{sdk → virtuals/sdk}/utils.ts +3 -3
- package/src/virtuals/stubs/config.stub.js +9 -0
- package/src/virtuals/stubs/logger.stub.js +30 -0
- package/src/virtuals/utils.ts +134 -0
- package/ui.d.ts +1301 -274
- package/dist/componentRegistry/PropsParser.d.ts +0 -15
- package/dist/componentRegistry/PropsParser.js +0 -214
- package/dist/componentRegistry/Registry.d.ts +0 -46
- package/dist/componentRegistry/Registry.js +0 -79
- package/dist/componentRegistry/convert-hyphens.d.ts +0 -14
- package/dist/componentRegistry/convert-hyphens.js +0 -10
- package/dist/componentRegistry/errors.d.ts +0 -67
- package/dist/componentRegistry/errors.js +0 -12
- package/dist/componentRegistry/handler.d.ts +0 -34
- package/dist/componentRegistry/handler.js +0 -110
- package/dist/componentRegistry/index.d.ts +0 -6
- package/dist/componentRegistry/index.js +0 -6
- package/dist/componentRegistry/runtime.d.ts +0 -46
- package/dist/componentRegistry/runtime.js +0 -61
- package/dist/componentRegistry/types.d.ts +0 -59
- package/dist/components/Generator.astro +0 -5
- package/dist/components/dashboard/AstroCodeDiffsScript.astro +0 -25
- package/dist/components/dashboard/Code.astro +0 -23
- package/dist/components/dashboard/component-scripts/makeClientRoutable.d.ts +0 -1
- package/dist/components/dashboard/component-scripts/makeClientRoutable.js +0 -9
- package/dist/components/dashboard/configuration/LightVsDark.astro +0 -67
- package/dist/components/user-quick-tools.d.ts +0 -90
- package/dist/db/tables.js +0 -217
- package/dist/layouts/auth/AuthLayout.astro +0 -71
- package/dist/lib/auth/encryption.d.ts +0 -46
- package/dist/lib/auth/encryption.js +0 -83
- package/dist/lib/auth/index.js +0 -12
- package/dist/lib/auth/password.d.ts +0 -45
- package/dist/lib/auth/password.js +0 -113
- package/dist/lib/auth/session.d.ts +0 -77
- package/dist/lib/auth/session.js +0 -147
- package/dist/lib/auth/user.d.ts +0 -155
- package/dist/lib/auth/user.js +0 -251
- package/dist/lib/auth/utils/lists/passwords.d.ts +0 -2
- package/dist/lib/auth/utils/lists/passwords.js +0 -10006
- package/dist/lib/auth/utils/lists/usernames.d.ts +0 -2
- package/dist/lib/auth/utils/lists/usernames.js +0 -547
- package/dist/lib/auth/utils/scrypt.d.ts +0 -104
- package/dist/lib/auth/utils/scrypt.js +0 -55
- package/dist/lib/auth/utils/unsafeCheck.d.ts +0 -34
- package/dist/lib/auth/utils/unsafeCheck.js +0 -38
- package/dist/lib/dashboardGrid.d.ts +0 -119
- package/dist/lib/dashboardGrid.js +0 -0
- package/dist/lib/effects/convertToVanilla.d.ts +0 -10
- package/dist/lib/effects/convertToVanilla.js +0 -5
- package/dist/lib/effects/smtp.config.d.ts +0 -212
- package/dist/lib/effects/smtp.config.js +0 -123
- package/dist/lib/effects/smtp.d.ts +0 -269
- package/dist/lib/effects/smtp.js +0 -186
- package/dist/lib/endpointResponses.d.ts +0 -2
- package/dist/lib/endpointResponses.js +0 -21
- package/dist/lib/head.d.ts +0 -25
- package/dist/lib/head.js +0 -73
- package/dist/lib/i18n/config.d.ts +0 -16
- package/dist/lib/i18n/config.js +0 -8
- package/dist/lib/i18n/index.d.ts +0 -2471
- package/dist/lib/index.d.ts +0 -7
- package/dist/lib/index.js +0 -7
- package/dist/lib/jsonUtils.d.ts +0 -2
- package/dist/lib/jsonUtils.js +0 -14
- package/dist/lib/mailer/index.d.ts +0 -267
- package/dist/lib/pathGenerators.d.ts +0 -20
- package/dist/lib/pathGenerators.js +0 -66
- package/dist/lib/plugins/dashboard-pages.d.ts +0 -71
- package/dist/lib/removeLeadingTrailingSlashes.d.ts +0 -7
- package/dist/lib/removeLeadingTrailingSlashes.js +0 -13
- package/dist/lib/renderer/errors.d.ts +0 -5
- package/dist/lib/renderer/errors.js +0 -25
- package/dist/lib/urlGen.js +0 -26
- package/dist/lib/webVitals/types.js +0 -0
- package/dist/routes/firstTimeSetupRoutes/components/TabItem.astro +0 -44
- package/dist/routes/firstTimeSetupRoutes/components/Tabs.astro +0 -170
- package/dist/runtime/AstroComponentProxy.d.ts +0 -31
- package/dist/runtime/AstroComponentProxy.js +0 -47
- package/dist/runtime/decoder/decode-codepoint.d.ts +0 -18
- package/dist/runtime/decoder/decode-codepoint.js +0 -58
- package/dist/runtime/decoder/decode-data-html.d.ts +0 -1
- package/dist/runtime/decoder/decode-data-html.js +0 -7
- package/dist/runtime/decoder/decode-data-xml.d.ts +0 -1
- package/dist/runtime/decoder/decode-data-xml.js +0 -7
- package/dist/runtime/decoder/index.d.ts +0 -34
- package/dist/runtime/decoder/index.js +0 -18
- package/dist/runtime/decoder/util.d.ts +0 -208
- package/dist/runtime/decoder/util.js +0 -415
- package/dist/scriptHandler.d.ts +0 -30
- package/dist/scriptHandler.js +0 -25
- package/dist/scripts/three.d.ts +0 -1
- package/dist/scripts/three.js +0 -278
- package/dist/scripts/utils/fitModelToViewport.d.ts +0 -8
- package/dist/scripts/utils/fitModelToViewport.js +0 -19
- package/dist/sdk/effect/convertToVanilla.d.ts +0 -1
- package/dist/sdk/effect/convertToVanilla.js +0 -4
- package/dist/sdk/effect/getVersionFromNPM.js +0 -30
- package/dist/sdk/tables.d.ts +0 -1405
- package/dist/sdk/tables.js +0 -70
- package/dist/utils/addIntegrationArray.d.ts +0 -24
- package/dist/utils/addIntegrationArray.js +0 -11
- package/dist/utils/addIntegrationArrayWithCheck.d.ts +0 -11
- package/dist/utils/addIntegrationArrayWithCheck.js +0 -24
- package/dist/utils/astroEnvConfig.d.ts +0 -45
- package/dist/utils/astroEnvConfig.js +0 -9
- package/dist/utils/authEnvCheck.d.ts +0 -38
- package/dist/utils/authEnvCheck.js +0 -82
- package/dist/utils/changelog.d.ts +0 -1
- package/dist/utils/changelog.js +0 -53
- package/dist/utils/changelogLoader.d.ts +0 -15
- package/dist/utils/changelogLoader.js +0 -104
- package/dist/utils/dynamicResult.d.ts +0 -17
- package/dist/utils/dynamicResult.js +0 -0
- package/dist/utils/getLatestVersion.d.ts +0 -12
- package/dist/utils/getLatestVersion.js +0 -36
- package/dist/utils/integrationLogger.d.ts +0 -7
- package/dist/utils/integrationLogger.js +0 -18
- package/dist/utils/integrations.d.ts +0 -4
- package/dist/utils/integrations.js +0 -32
- package/dist/utils/isDashboardRoute.d.ts +0 -7
- package/dist/utils/isDashboardRoute.js +0 -10
- package/dist/utils/jsonParse.d.ts +0 -9
- package/dist/utils/jsonParse.js +0 -6
- 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 +0 -3
- package/dist/utils/makePageTitle.js +0 -7
- package/dist/utils/pageListPackageLabel.d.ts +0 -4
- package/dist/utils/pageListPackageLabel.js +0 -12
- package/dist/utils/pageTypeFilter.d.ts +0 -2
- package/dist/utils/pageTypeFilter.js +0 -16
- package/dist/utils/pluginLogger.d.ts +0 -2
- package/dist/utils/pluginLogger.js +0 -7
- package/dist/utils/readJson.d.ts +0 -1
- package/dist/utils/readJson.js +0 -7
- package/dist/utils/tryCatch.d.ts +0 -10
- package/dist/utils/tryCatch.js +0 -15
- package/dist/utils/validImages.js +0 -39
- package/src/componentRegistry/PropsParser.ts +0 -270
- package/src/componentRegistry/Registry.ts +0 -119
- package/src/componentRegistry/convert-hyphens.ts +0 -21
- package/src/componentRegistry/errors.ts +0 -58
- package/src/componentRegistry/handler.ts +0 -185
- package/src/componentRegistry/index.ts +0 -6
- package/src/componentRegistry/runtime.ts +0 -105
- package/src/componentRegistry/types.ts +0 -63
- package/src/components/Generator.astro +0 -5
- package/src/components/dashboard/AstroCodeDiffsScript.astro +0 -25
- package/src/components/dashboard/Code.astro +0 -23
- package/src/components/dashboard/ThemeManager.astro +0 -53
- package/src/components/dashboard/component-scripts/makeClientRoutable.ts +0 -7
- package/src/components/dashboard/configuration/LightVsDark.astro +0 -67
- package/src/db/tables.ts +0 -226
- package/src/layouts/auth/AuthLayout.astro +0 -71
- package/src/layouts/auth/ThemeManager.astro +0 -53
- package/src/lib/auth/encryption.ts +0 -149
- package/src/lib/auth/password.ts +0 -212
- package/src/lib/auth/session.ts +0 -291
- package/src/lib/auth/user.ts +0 -501
- package/src/lib/auth/utils/lists/passwords.ts +0 -10004
- package/src/lib/auth/utils/lists/usernames.ts +0 -546
- package/src/lib/auth/utils/scrypt.ts +0 -142
- package/src/lib/auth/utils/unsafeCheck.ts +0 -71
- package/src/lib/dashboardGrid.ts +0 -139
- package/src/lib/effects/convertToVanilla.ts +0 -12
- package/src/lib/effects/smtp.config.ts +0 -123
- package/src/lib/effects/smtp.ts +0 -338
- package/src/lib/endpointResponses.ts +0 -20
- package/src/lib/head.ts +0 -114
- package/src/lib/i18n/client.ts +0 -128
- package/src/lib/i18n/config.ts +0 -19
- package/src/lib/index.ts +0 -7
- package/src/lib/jsonUtils.ts +0 -11
- package/src/lib/pathGenerators.ts +0 -72
- package/src/lib/removeLeadingTrailingSlashes.ts +0 -21
- package/src/lib/renderer/errors.ts +0 -29
- package/src/lib/urlGen.ts +0 -40
- package/src/routes/firstTimeSetupRoutes/components/TabItem.astro +0 -44
- package/src/routes/firstTimeSetupRoutes/components/Tabs.astro +0 -170
- package/src/runtime/AstroComponentProxy.ts +0 -93
- package/src/runtime/decoder/decode-codepoint.ts +0 -76
- package/src/runtime/decoder/decode-data-html.ts +0 -6
- package/src/runtime/decoder/decode-data-xml.ts +0 -6
- package/src/runtime/decoder/index.ts +0 -49
- package/src/runtime/decoder/util.ts +0 -587
- package/src/scriptHandler.ts +0 -86
- package/src/scripts/three.ts +0 -415
- package/src/scripts/utils/fitModelToViewport.ts +0 -36
- package/src/sdk/effect/convertToVanilla.ts +0 -1
- package/src/sdk/tables.ts +0 -129
- package/src/styles/dashboard-code.css +0 -56
- package/src/utils/addIntegrationArray.ts +0 -35
- package/src/utils/addIntegrationArrayWithCheck.ts +0 -41
- package/src/utils/astroEnvConfig.ts +0 -12
- package/src/utils/authEnvCheck.ts +0 -144
- package/src/utils/changelog.ts +0 -67
- package/src/utils/changelogLoader.ts +0 -138
- package/src/utils/dynamicResult.ts +0 -19
- package/src/utils/getLatestVersion.ts +0 -67
- package/src/utils/integrationLogger.ts +0 -24
- package/src/utils/integrations.ts +0 -32
- package/src/utils/isDashboardRoute.ts +0 -19
- package/src/utils/jsonParse.ts +0 -11
- package/src/utils/loginBackgrounds/studiocms-blobs-dark.png +0 -0
- package/src/utils/loginBackgrounds/studiocms-blobs-light.png +0 -0
- package/src/utils/loginBackgrounds/studiocms-blocks-dark.png +0 -0
- package/src/utils/loginBackgrounds/studiocms-blocks-light.png +0 -0
- package/src/utils/loginBackgrounds/studiocms-curves-dark.png +0 -0
- package/src/utils/loginBackgrounds/studiocms-curves-light.png +0 -0
- package/src/utils/makePageTitle.ts +0 -11
- package/src/utils/pageListPackageLabel.ts +0 -19
- package/src/utils/pageTypeFilter.ts +0 -13
- package/src/utils/pluginLogger.ts +0 -6
- package/src/utils/readJson.ts +0 -5
- package/src/utils/tryCatch.ts +0 -29
- /package/dist/{layouts → components}/auth/ThreeCanvasLoader.astro +0 -0
- /package/dist/components/{dashboard → shared}/ThemeManager.astro +0 -0
- /package/dist/{styles → fonts}/OnestFont.woff2 +0 -0
- /package/dist/{styles → fonts}/SyntaxFont.woff2 +0 -0
- /package/dist/{styles → fonts}/onest-font.css +0 -0
- /package/dist/{utils → handlers}/astroConfigCheck.d.ts +0 -0
- /package/dist/{lib → integrations}/dynamic-sitemap/index.d.ts +0 -0
- /package/dist/{lib → integrations}/dynamic-sitemap/sitemap-index.xml.d.ts +0 -0
- /package/dist/{lib → integrations}/dynamic-sitemap/sitemap-index.xml.js +0 -0
- /package/dist/{lib → integrations}/robots/core.d.ts +0 -0
- /package/dist/{lib → integrations}/robots/core.js +0 -0
- /package/dist/{lib → integrations}/robots/index.d.ts +0 -0
- /package/dist/{lib → integrations}/robots/index.js +0 -0
- /package/dist/{lib → integrations}/robots/schema.d.ts +0 -0
- /package/dist/{lib → integrations}/robots/schema.js +0 -0
- /package/dist/{lib → integrations}/webVitals/checkForWebVitalsPlugin.d.ts +0 -0
- /package/dist/{lib → integrations}/webVitals/consts.d.ts +0 -0
- /package/dist/{lib → integrations}/webVitals/consts.js +0 -0
- /package/dist/{lib → integrations}/webVitals/pages/analytics/header.astro +0 -0
- /package/dist/{lib → integrations}/webVitals/schemas.d.ts +0 -0
- /package/dist/{lib → integrations}/webVitals/schemas.js +0 -0
- /package/dist/{lib → integrations}/webVitals/types.d.ts +0 -0
- /package/dist/{componentRegistry → integrations/webVitals}/types.js +0 -0
- /package/dist/{lib → integrations}/webVitals/utils/buildDataObject.d.ts +0 -0
- /package/dist/{lib → integrations}/webVitals/utils/buildDataObject.js +0 -0
- /package/dist/{lib → integrations}/webVitals/utils/buildPageRouteDataObject.d.ts +0 -0
- /package/dist/{lib → integrations}/webVitals/utils/buildPageRouteDataObject.js +0 -0
- /package/dist/{lib → integrations}/webVitals/utils/buildPerPageDataObject.d.ts +0 -0
- /package/dist/{lib → integrations}/webVitals/utils/buildPerPageDataObject.js +0 -0
- /package/dist/{lib → integrations}/webVitals/utils/checkDate.d.ts +0 -0
- /package/dist/{lib → integrations}/webVitals/utils/checkDate.js +0 -0
- /package/dist/{lib → integrations}/webVitals/utils/webVitalsUtils.js +0 -0
- /package/dist/{lib → integrations}/webVitals/webVital.d.ts +0 -0
- /package/dist/{lib → integrations}/webVitals/webVital.js +0 -0
- /package/dist/{lib → integrations}/webVitals/webVitalsRouteSummary.d.ts +0 -0
- /package/dist/{lib → integrations}/webVitals/webVitalsRouteSummary.js +0 -0
- /package/dist/{lib → integrations}/webVitals/webVitalsSummary.d.ts +0 -0
- /package/dist/{lib → integrations}/webVitals/webVitalsSummary.js +0 -0
- /package/dist/{utils → virtuals/auth}/getLabelForPermissionLevel.d.ts +0 -0
- /package/dist/{utils → virtuals/auth}/getLabelForPermissionLevel.js +0 -0
- /package/dist/{lib → virtuals}/auth/types.d.ts +0 -0
- /package/dist/{lib → virtuals}/auth/types.js +0 -0
- /package/dist/{components/image → virtuals/components}/CustomImage.astro +0 -0
- /package/dist/{components → virtuals/components}/FormattedDate.astro +0 -0
- /package/dist/{lib → virtuals}/i18n/translations/en.json +0 -0
- /package/dist/{lib → virtuals}/i18n/translations/es.json +0 -0
- /package/dist/{lib → virtuals}/i18n/translations/fr.json +0 -0
- /package/dist/{lib → virtuals}/i18n/translations/hi.json +0 -0
- /package/dist/{lib → virtuals}/i18n/translations/zh.json +0 -0
- /package/dist/{lib → virtuals/lib}/makeAPIRoute.js +0 -0
- /package/dist/{lib → virtuals/lib}/makePublicRoute.d.ts +0 -0
- /package/dist/{lib → virtuals/lib}/makePublicRoute.js +0 -0
- /package/dist/{lib → virtuals}/mailer/template.d.ts +0 -0
- /package/dist/{lib → virtuals}/mailer/template.js +0 -0
- /package/dist/{lib → virtuals}/mailer/templates/index.d.ts +0 -0
- /package/dist/{lib → virtuals}/mailer/templates/index.js +0 -0
- /package/dist/{lib → virtuals}/mailer/templates/notification.d.ts +0 -0
- /package/dist/{lib → virtuals}/mailer/templates/notification.js +0 -0
- /package/dist/{lib → virtuals}/mailer/templates/password-reset.d.ts +0 -0
- /package/dist/{lib → virtuals}/mailer/templates/password-reset.js +0 -0
- /package/dist/{lib → virtuals}/mailer/templates/user-invite.d.ts +0 -0
- /package/dist/{lib → virtuals}/mailer/templates/user-invite.js +0 -0
- /package/dist/{lib → virtuals}/mailer/templates/verify-email.d.ts +0 -0
- /package/dist/{lib → virtuals}/mailer/templates/verify-email.js +0 -0
- /package/dist/{lib → virtuals}/notifier/client.d.ts +0 -0
- /package/dist/{lib → virtuals}/notifier/client.js +0 -0
- /package/dist/{lib → virtuals}/plugins/dashboard-pages.js +0 -0
- /package/dist/{lib → virtuals}/plugins/frontend-navigation.d.ts +0 -0
- /package/dist/{lib → virtuals}/plugins/frontend-navigation.js +0 -0
- /package/dist/{lib → virtuals}/plugins/index.d.ts +0 -0
- /package/dist/{lib → virtuals}/plugins/index.js +0 -0
- /package/dist/{sdk → virtuals/sdk}/consts.d.ts +0 -0
- /package/dist/{sdk → virtuals/sdk}/consts.js +0 -0
- /package/dist/{sdk → virtuals/sdk}/effect/index.d.ts +0 -0
- /package/dist/{sdk → virtuals/sdk}/effect/index.js +0 -0
- /package/dist/{sdk → virtuals/sdk}/effect/lib/jwt-generator.d.ts +0 -0
- /package/dist/{sdk → virtuals/sdk}/effect/lib/jwt-generator.js +0 -0
- /package/dist/{sdk → virtuals/sdk}/types/index.js +0 -0
- /package/dist/{sdk → virtuals/sdk}/types/tableDefs.js +0 -0
- /package/dist/{sdk → virtuals/sdk}/types/tsAlias.js +0 -0
- /package/src/{layouts → components}/auth/ThreeCanvasLoader.astro +0 -0
- /package/src/{routes/firstTimeSetupRoutes → components/first-time-setup}/snippets/opt1-astro.config.diff +0 -0
- /package/src/{routes/firstTimeSetupRoutes → components/first-time-setup}/snippets/opt2-astro.config.diff +0 -0
- /package/src/{routes/firstTimeSetupRoutes → components/first-time-setup}/snippets/opt2-studiocms.config.diff +0 -0
- /package/{dist/layouts/auth → src/components/shared}/ThemeManager.astro +0 -0
- /package/src/{styles → fonts}/OnestFont.woff2 +0 -0
- /package/src/{styles → fonts}/SyntaxFont.woff2 +0 -0
- /package/src/{styles → fonts}/onest-font.css +0 -0
- /package/src/{lib → integrations}/dynamic-sitemap/sitemap-index.xml.ts +0 -0
- /package/src/{lib → integrations}/robots/core.ts +0 -0
- /package/src/{lib → integrations}/robots/index.ts +0 -0
- /package/src/{lib → integrations}/robots/schema.ts +0 -0
- /package/src/{lib → integrations}/webVitals/consts.ts +0 -0
- /package/src/{lib → integrations}/webVitals/pages/analytics/header.astro +0 -0
- /package/src/{lib → integrations}/webVitals/schemas.ts +0 -0
- /package/src/{lib → integrations}/webVitals/types.ts +0 -0
- /package/src/{lib → integrations}/webVitals/utils/buildDataObject.ts +0 -0
- /package/src/{lib → integrations}/webVitals/utils/buildPageRouteDataObject.ts +0 -0
- /package/src/{lib → integrations}/webVitals/utils/buildPerPageDataObject.ts +0 -0
- /package/src/{lib → integrations}/webVitals/utils/checkDate.ts +0 -0
- /package/src/{lib → integrations}/webVitals/utils/webVitalsUtils.ts +0 -0
- /package/src/{lib → integrations}/webVitals/webVital.ts +0 -0
- /package/src/{lib → integrations}/webVitals/webVitalsRouteSummary.ts +0 -0
- /package/src/{lib → integrations}/webVitals/webVitalsSummary.ts +0 -0
- /package/src/{utils → virtuals/auth}/getLabelForPermissionLevel.ts +0 -0
- /package/src/{lib → virtuals}/auth/types.ts +0 -0
- /package/src/{components/image → virtuals/components}/CustomImage.astro +0 -0
- /package/src/{components → virtuals/components}/FormattedDate.astro +0 -0
- /package/src/{lib → virtuals}/i18n/translations/en.json +0 -0
- /package/src/{lib → virtuals}/i18n/translations/es.json +0 -0
- /package/src/{lib → virtuals}/i18n/translations/fr.json +0 -0
- /package/src/{lib → virtuals}/i18n/translations/hi.json +0 -0
- /package/src/{lib → virtuals}/i18n/translations/zh.json +0 -0
- /package/src/{lib → virtuals/lib}/makePublicRoute.ts +0 -0
- /package/src/{lib → virtuals}/mailer/template.ts +0 -0
- /package/src/{lib → virtuals}/mailer/templates/index.ts +0 -0
- /package/src/{lib → virtuals}/mailer/templates/notification.ts +0 -0
- /package/src/{lib → virtuals}/mailer/templates/password-reset.ts +0 -0
- /package/src/{lib → virtuals}/mailer/templates/user-invite.ts +0 -0
- /package/src/{lib → virtuals}/mailer/templates/verify-email.ts +0 -0
- /package/src/{lib → virtuals}/notifier/client.ts +0 -0
- /package/src/{lib → virtuals}/plugins/dashboard-pages.ts +0 -0
- /package/src/{lib → virtuals}/plugins/frontend-navigation.ts +0 -0
- /package/src/{lib → virtuals}/plugins/index.ts +0 -0
- /package/src/{sdk → virtuals/sdk}/consts.ts +0 -0
- /package/src/{sdk → virtuals/sdk}/effect/index.ts +0 -0
- /package/src/{sdk → virtuals/sdk}/effect/lib/jwt-generator.ts +0 -0
|
@@ -0,0 +1,430 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This module handles the internationalization (i18n) config for the StudioCMS application for both the Client and Server sides.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Dynamically imports the base English translations for server-side internationalization.
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* This constant loads the default English translation JSON file asynchronously at runtime.
|
|
9
|
+
* It is intended to be used as the base set of translations for the server.
|
|
10
|
+
*
|
|
11
|
+
* - These translations are also converted to a client-friendly format.
|
|
12
|
+
*/
|
|
13
|
+
export declare const baseServerTranslations: {
|
|
14
|
+
displayName: string;
|
|
15
|
+
translations: {
|
|
16
|
+
"@studiocms/auth:login": {
|
|
17
|
+
title: string;
|
|
18
|
+
description: string;
|
|
19
|
+
header: string;
|
|
20
|
+
"sub-header-usernamepasswordoauth": string;
|
|
21
|
+
"sub-header-usernamepassword": string;
|
|
22
|
+
"sub-header-oauth": string;
|
|
23
|
+
"sub-header-noprovider": string;
|
|
24
|
+
"username-label": string;
|
|
25
|
+
"password-label": string;
|
|
26
|
+
"login-button": string;
|
|
27
|
+
"allow-registration-noaccount": string;
|
|
28
|
+
"allow-registration-register": string;
|
|
29
|
+
"forgot-password": string;
|
|
30
|
+
"forgot-password-title": string;
|
|
31
|
+
"forgot-password-message": string;
|
|
32
|
+
"email-label": string;
|
|
33
|
+
"demo-mode-credentials": string;
|
|
34
|
+
};
|
|
35
|
+
"@studiocms/auth:signup": {
|
|
36
|
+
title: string;
|
|
37
|
+
description: string;
|
|
38
|
+
header: string;
|
|
39
|
+
"sub-header-usernamepasswordoauth": string;
|
|
40
|
+
"sub-header-usernamepassword": string;
|
|
41
|
+
"sub-header-oauth": string;
|
|
42
|
+
"sub-header-noprovider": string;
|
|
43
|
+
"username-label": string;
|
|
44
|
+
"email-label": string;
|
|
45
|
+
"displayname-label": string;
|
|
46
|
+
"password-label": string;
|
|
47
|
+
"confirm-password-label": string;
|
|
48
|
+
"create-account-button": string;
|
|
49
|
+
"allow-login-haveaccount": string;
|
|
50
|
+
"allow-login-login": string;
|
|
51
|
+
};
|
|
52
|
+
"@studiocms/auth:logout": {
|
|
53
|
+
title: string;
|
|
54
|
+
description: string;
|
|
55
|
+
};
|
|
56
|
+
"@studiocms/auth:oauth-stack": {
|
|
57
|
+
"or-login-with": string;
|
|
58
|
+
};
|
|
59
|
+
"@studiocms/dashboard:index": {
|
|
60
|
+
title: string;
|
|
61
|
+
description: string;
|
|
62
|
+
"welcome-title": string;
|
|
63
|
+
"title-button:discord": string;
|
|
64
|
+
"title-button:feedback": string;
|
|
65
|
+
"sub-header": string;
|
|
66
|
+
};
|
|
67
|
+
"@studiocms/dashboard:sidebar": {
|
|
68
|
+
"category-1-header": string;
|
|
69
|
+
"dashboard-link-label": string;
|
|
70
|
+
"content-management-label": string;
|
|
71
|
+
"category-2-header": string;
|
|
72
|
+
"site-configuration-label": string;
|
|
73
|
+
"user-management-label": string;
|
|
74
|
+
"category-3-header": string;
|
|
75
|
+
"category-3-empty-placeholder": string;
|
|
76
|
+
"user-dropdown:settings": string;
|
|
77
|
+
"user-dropdown:view-site": string;
|
|
78
|
+
"user-dropdown:logout": string;
|
|
79
|
+
"mailer-configuration-label": string;
|
|
80
|
+
};
|
|
81
|
+
"@studiocms/dashboard:profile": {
|
|
82
|
+
title: string;
|
|
83
|
+
description: string;
|
|
84
|
+
header: string;
|
|
85
|
+
"basic-info-header": string;
|
|
86
|
+
"basic-info-save-button": string;
|
|
87
|
+
"basic-info-display-name": string;
|
|
88
|
+
"basic-info-email": string;
|
|
89
|
+
"basic-info-username": string;
|
|
90
|
+
"basic-info-website": string;
|
|
91
|
+
"user-password-header": string;
|
|
92
|
+
"user-password-save-button": string;
|
|
93
|
+
"user-password-no-password": string;
|
|
94
|
+
"user-password-current": string;
|
|
95
|
+
"user-password-new": string;
|
|
96
|
+
"user-password-confirm": string;
|
|
97
|
+
"social-accounts-header": string;
|
|
98
|
+
"social-accounts-connected": string;
|
|
99
|
+
"social-accounts-no-connected": string;
|
|
100
|
+
"social-accounts-other": string;
|
|
101
|
+
"social-accounts-no-other": string;
|
|
102
|
+
"api-tokens-header": string;
|
|
103
|
+
"api-tokens-create": string;
|
|
104
|
+
"api-tokens-description": string;
|
|
105
|
+
"api-tokens-delete-button": string;
|
|
106
|
+
"api-tokens-created": string;
|
|
107
|
+
"api-tokens-no-tokens": string;
|
|
108
|
+
"api-tokens-modal-header": string;
|
|
109
|
+
"api-tokens-modal-description": string;
|
|
110
|
+
"api-tokens-modal-response-header": string;
|
|
111
|
+
"api-tokens-modal-response-description": string;
|
|
112
|
+
"sync-with-libravatar": string;
|
|
113
|
+
"basic-avatar-url": string;
|
|
114
|
+
};
|
|
115
|
+
"@studiocms/dashboard:password-reset": {
|
|
116
|
+
title: string;
|
|
117
|
+
description: string;
|
|
118
|
+
header: string;
|
|
119
|
+
"sub-header-start": string;
|
|
120
|
+
"sub-header-end": string;
|
|
121
|
+
"password-label": string;
|
|
122
|
+
"confirm-password-label": string;
|
|
123
|
+
"reset-button": string;
|
|
124
|
+
};
|
|
125
|
+
"@studiocms/dashboard:configuration": {
|
|
126
|
+
title: string;
|
|
127
|
+
description: string;
|
|
128
|
+
header: string;
|
|
129
|
+
"save-button": string;
|
|
130
|
+
"dashboard-grid-label": string;
|
|
131
|
+
"login-page-preview": string;
|
|
132
|
+
"input-site-title": string;
|
|
133
|
+
"input-site-description": string;
|
|
134
|
+
"input-og-image": string;
|
|
135
|
+
"input-site-icon": string;
|
|
136
|
+
"input-diff-tracking-limit": string;
|
|
137
|
+
"input-custom-login-page": string;
|
|
138
|
+
"select-page-diff-tracking": string;
|
|
139
|
+
"select-login-page-bg": string;
|
|
140
|
+
"select-smtp-mailer": string;
|
|
141
|
+
"select-hide-default-index": string;
|
|
142
|
+
};
|
|
143
|
+
"@studiocms/dashboard:smtp": {
|
|
144
|
+
title: string;
|
|
145
|
+
description: string;
|
|
146
|
+
header: string;
|
|
147
|
+
"save-button": string;
|
|
148
|
+
"smtp-settings": string;
|
|
149
|
+
"test-smtp": string;
|
|
150
|
+
"smtp-host": string;
|
|
151
|
+
"smtp-host-placeholder": string;
|
|
152
|
+
"smtp-port": string;
|
|
153
|
+
"smtp-port-placeholder": string;
|
|
154
|
+
"smtp-secure": string;
|
|
155
|
+
"smtp-proxy": string;
|
|
156
|
+
"smtp-proxy-placeholder": string;
|
|
157
|
+
"smtp-tls-reject-unauthorized": string;
|
|
158
|
+
"smtp-tls-servername": string;
|
|
159
|
+
"smtp-tls-servername-placeholder": string;
|
|
160
|
+
"smtp-user": string;
|
|
161
|
+
"smtp-user-placeholder": string;
|
|
162
|
+
"smtp-password": string;
|
|
163
|
+
"smtp-password-placeholder": string;
|
|
164
|
+
"smtp-default-sender": string;
|
|
165
|
+
"smtp-default-sender-placeholder": string;
|
|
166
|
+
"test-email": string;
|
|
167
|
+
"test-email-placeholder": string;
|
|
168
|
+
"send-test-email": string;
|
|
169
|
+
"site-email-settings": string;
|
|
170
|
+
emailVerification: string;
|
|
171
|
+
requireAdminVerification: string;
|
|
172
|
+
requireEditorVerification: string;
|
|
173
|
+
oAuthBypassVerification: string;
|
|
174
|
+
"save-email-settings": string;
|
|
175
|
+
};
|
|
176
|
+
"@studiocms/dashboard:user-mngmt-sidebar": {
|
|
177
|
+
"input-placeholder-search": string;
|
|
178
|
+
"dropdown-create-user": string;
|
|
179
|
+
"dropdown-create-invite": string;
|
|
180
|
+
};
|
|
181
|
+
"@studiocms/dashboard:user-mngmt-index": {
|
|
182
|
+
title: string;
|
|
183
|
+
description: string;
|
|
184
|
+
header: string;
|
|
185
|
+
placeholder: string;
|
|
186
|
+
};
|
|
187
|
+
"@studiocms/dashboard:user-mngmt-edit": {
|
|
188
|
+
title: string;
|
|
189
|
+
description: string;
|
|
190
|
+
header: string;
|
|
191
|
+
"header-delete-button": string;
|
|
192
|
+
"header-save-button": string;
|
|
193
|
+
"delete-modal-header": string;
|
|
194
|
+
"delete-modal-desc-1": string;
|
|
195
|
+
"delete-modal-desc-2": string;
|
|
196
|
+
"delete-modal-warning": string;
|
|
197
|
+
"user-info-header": string;
|
|
198
|
+
"user-info-email": string;
|
|
199
|
+
"user-info-username": string;
|
|
200
|
+
"user-info-website": string;
|
|
201
|
+
"user-info-created-at": string;
|
|
202
|
+
"user-info-updated-at": string;
|
|
203
|
+
"password-reset-button": string;
|
|
204
|
+
"password-reset-modal-header": string;
|
|
205
|
+
"password-reset-modal-desc-1": string;
|
|
206
|
+
"password-reset-modal-desc-2": string;
|
|
207
|
+
"password-reset-modal-link": string;
|
|
208
|
+
"edit-role-header": string;
|
|
209
|
+
"email-verification-status": string;
|
|
210
|
+
"social-accounts-header": string;
|
|
211
|
+
"social-accounts-non": string;
|
|
212
|
+
"api-tokens-header": string;
|
|
213
|
+
"api-tokens-delete-button": string;
|
|
214
|
+
"api-tokens-created": string;
|
|
215
|
+
"api-tokens-no-tokens": string;
|
|
216
|
+
"last-edit-pages-header": string;
|
|
217
|
+
"last-edit-pages-edited": string;
|
|
218
|
+
"last-edit-pages-no-edits": string;
|
|
219
|
+
};
|
|
220
|
+
"@studiocms/dashboard:plugin-settings": {
|
|
221
|
+
title: string;
|
|
222
|
+
description: string;
|
|
223
|
+
header: string;
|
|
224
|
+
"save-button": string;
|
|
225
|
+
};
|
|
226
|
+
"@studiocms/dashboard:content-sidebar": {
|
|
227
|
+
"input-placeholder-search": string;
|
|
228
|
+
"dropdown-create-page": string;
|
|
229
|
+
"dropdown-create-folder": string;
|
|
230
|
+
"items-divider": string;
|
|
231
|
+
};
|
|
232
|
+
"@studiocms/dashboard:content-header": {
|
|
233
|
+
title: string;
|
|
234
|
+
"edit-page-title": string;
|
|
235
|
+
"edit-folder-title": string;
|
|
236
|
+
"create-page-title": string;
|
|
237
|
+
"create-folder-title": string;
|
|
238
|
+
"delete-button": string;
|
|
239
|
+
"save-button": string;
|
|
240
|
+
"create-button": string;
|
|
241
|
+
"draft-button": string;
|
|
242
|
+
"publish-button": string;
|
|
243
|
+
"delete-modal-header": string;
|
|
244
|
+
"delete-modal-warning": string;
|
|
245
|
+
"delete-modal-desc-1": string;
|
|
246
|
+
"delete-modal-desc-2": string;
|
|
247
|
+
"delete-folder-modal-desc-1": string;
|
|
248
|
+
"delete-folder-modal-desc-2": string;
|
|
249
|
+
};
|
|
250
|
+
"@studiocms/dashboard:content-index": {
|
|
251
|
+
title: string;
|
|
252
|
+
description: string;
|
|
253
|
+
header: string;
|
|
254
|
+
placeholder: string;
|
|
255
|
+
};
|
|
256
|
+
"@studiocms/dashboard:content-diff": {
|
|
257
|
+
"view-page": string;
|
|
258
|
+
"page-metadata": string;
|
|
259
|
+
"page-content": string;
|
|
260
|
+
"revert-metadata": string;
|
|
261
|
+
"revert-content": string;
|
|
262
|
+
"revert-all": string;
|
|
263
|
+
"page-title": string;
|
|
264
|
+
"edited-by": string;
|
|
265
|
+
"edited-on": string;
|
|
266
|
+
"no-metadata-changes": string;
|
|
267
|
+
};
|
|
268
|
+
"@studiocms/dashboard:content-folder": {
|
|
269
|
+
"input-folder-name": string;
|
|
270
|
+
"input-folder-parent": string;
|
|
271
|
+
};
|
|
272
|
+
"@studiocms/dashboard:content-page": {
|
|
273
|
+
"tab-label-basic-info": string;
|
|
274
|
+
"tab-label-content": string;
|
|
275
|
+
"tab-label-diff": string;
|
|
276
|
+
"input-page-title": string;
|
|
277
|
+
"input-page-slug": string;
|
|
278
|
+
"input-page-description": string;
|
|
279
|
+
"input-page-hero-image": string;
|
|
280
|
+
"select-page-type": string;
|
|
281
|
+
"select-page-show-in-nav": string;
|
|
282
|
+
"select-page-parent-folder": string;
|
|
283
|
+
"select-page-draft": string;
|
|
284
|
+
"select-page-categories": string;
|
|
285
|
+
"select-page-tags": string;
|
|
286
|
+
"select-page-show-author": string;
|
|
287
|
+
"select-page-show-contributors": string;
|
|
288
|
+
"custom-page-type-fields-header": string;
|
|
289
|
+
"custom-page-types-description-new": string;
|
|
290
|
+
"diff-edited-by-1": string;
|
|
291
|
+
"diff-edited-by-2": string;
|
|
292
|
+
"diff-no-history": string;
|
|
293
|
+
};
|
|
294
|
+
"@studiocms/dashboard:404": {
|
|
295
|
+
title: string;
|
|
296
|
+
description: string;
|
|
297
|
+
"sub-description": string;
|
|
298
|
+
"back-button": string;
|
|
299
|
+
};
|
|
300
|
+
"@studiocms/dashboard:unverifiedEmail": {
|
|
301
|
+
title: string;
|
|
302
|
+
description: string;
|
|
303
|
+
"sub-description": string;
|
|
304
|
+
"resend-button": string;
|
|
305
|
+
"back-button": string;
|
|
306
|
+
};
|
|
307
|
+
};
|
|
308
|
+
};
|
|
309
|
+
/**
|
|
310
|
+
* Represents a translation record for StudioCMS.
|
|
311
|
+
*
|
|
312
|
+
* @property displayName - The human-readable name for the translation.
|
|
313
|
+
* @property translations - The translation data in the form of a ComponentsJSON object.
|
|
314
|
+
*/
|
|
315
|
+
export type StudioCMSTranslationRecord = typeof baseServerTranslations;
|
|
316
|
+
/**
|
|
317
|
+
* Represents a translation entry in JSON format.
|
|
318
|
+
* Can be either a string (a translated value) or a nested object of translations.
|
|
319
|
+
* This allows for both flat and hierarchical translation structures.
|
|
320
|
+
*/
|
|
321
|
+
export type TranslationJSON = string | TranslationsJSON;
|
|
322
|
+
/**
|
|
323
|
+
* The UI translations available in the StudioCMS app.
|
|
324
|
+
*/
|
|
325
|
+
export type UiTranslationKey = string;
|
|
326
|
+
/**
|
|
327
|
+
* Represents a collection of translation entries, where each key is a locale or identifier,
|
|
328
|
+
* and the value is a `TranslationJSON` object containing the translations for that key.
|
|
329
|
+
*
|
|
330
|
+
* @remarks
|
|
331
|
+
* This interface is typically used to store or retrieve multiple sets of translations,
|
|
332
|
+
* organized by language or context.
|
|
333
|
+
*
|
|
334
|
+
* @example
|
|
335
|
+
* ```typescript
|
|
336
|
+
* const translations: TranslationsJSON = {
|
|
337
|
+
* en: { greeting: "Hello" },
|
|
338
|
+
* fr: { greeting: "Bonjour" }
|
|
339
|
+
* };
|
|
340
|
+
* ```
|
|
341
|
+
*/
|
|
342
|
+
export interface TranslationsJSON {
|
|
343
|
+
[key: string]: TranslationJSON;
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Represents a mapping of component names to their respective translation objects.
|
|
347
|
+
*
|
|
348
|
+
* @remarks
|
|
349
|
+
* Each key in the object is a component name (as a string), and the value is a `TranslationsJSON`
|
|
350
|
+
* object containing the translations for that component.
|
|
351
|
+
*
|
|
352
|
+
* @example
|
|
353
|
+
* ```typescript
|
|
354
|
+
* const components: ComponentsJSON = {
|
|
355
|
+
* header: { en: "Header", fr: "En-tête" },
|
|
356
|
+
* footer: { en: "Footer", fr: "Pied de page" }
|
|
357
|
+
* };
|
|
358
|
+
* ```
|
|
359
|
+
*/
|
|
360
|
+
export type ComponentsJSON = StudioCMSTranslationRecord['translations'];
|
|
361
|
+
/**
|
|
362
|
+
* Represents the server-side UI translations.
|
|
363
|
+
*
|
|
364
|
+
* This type maps each `UiTranslationKey` to its corresponding `StudioCMSTranslationRecord`,
|
|
365
|
+
* allowing for structured access to translation records for different UI elements.
|
|
366
|
+
*
|
|
367
|
+
* @see UiTranslationKey
|
|
368
|
+
* @see StudioCMSTranslationRecord
|
|
369
|
+
*/
|
|
370
|
+
export type ServerUiTranslations = Record<UiTranslationKey, StudioCMSTranslationRecord>;
|
|
371
|
+
/**
|
|
372
|
+
* Represents a mapping of UI translation keys to their corresponding component translation JSON objects.
|
|
373
|
+
*
|
|
374
|
+
* @typeParam UiTranslationKey - The set of valid keys for UI translations.
|
|
375
|
+
* @typeParam ComponentsJSON - The shape of the translation data for each component.
|
|
376
|
+
*/
|
|
377
|
+
export type ClientUiTranslations = Record<UiTranslationKey, ComponentsJSON>;
|
|
378
|
+
/**
|
|
379
|
+
* Represents an option for selecting a language in the UI.
|
|
380
|
+
*
|
|
381
|
+
* @property key - The translation key associated with the language option.
|
|
382
|
+
* @property value - The display value for the language option.
|
|
383
|
+
*/
|
|
384
|
+
export interface LanguageSelectorOption {
|
|
385
|
+
readonly key: UiTranslationKey;
|
|
386
|
+
readonly value: string;
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* An object containing server-side UI translations for supported locales.
|
|
390
|
+
*
|
|
391
|
+
* - The `en` property provides the base server translations for English.
|
|
392
|
+
* - Additional locale translations are spread from `nonBaseTranslations`.
|
|
393
|
+
*
|
|
394
|
+
* @remarks
|
|
395
|
+
* This constant is typed as `ServerUiTranslations` and marked as `const` for immutability.
|
|
396
|
+
*/
|
|
397
|
+
export declare const serverUiTranslations: ServerUiTranslations;
|
|
398
|
+
/**
|
|
399
|
+
* The UI translations available in the StudioCMS app.
|
|
400
|
+
*/
|
|
401
|
+
export declare const uiTranslationsAvailable: UiTranslationKey[];
|
|
402
|
+
/**
|
|
403
|
+
* Transforms the `serverUiTranslations` object into a `ClientUiTranslations` object
|
|
404
|
+
* by extracting only the `translations` property for each UI translation key.
|
|
405
|
+
*
|
|
406
|
+
* @remarks
|
|
407
|
+
* This reduces the server-side translation structure to a client-friendly format,
|
|
408
|
+
* mapping each `UiTranslationKey` to its corresponding translations object.
|
|
409
|
+
*
|
|
410
|
+
* @type {ClientUiTranslations}
|
|
411
|
+
*/
|
|
412
|
+
export declare const clientUiTranslations: ClientUiTranslations;
|
|
413
|
+
/**
|
|
414
|
+
* The default language for the StudioCMS app.
|
|
415
|
+
*/
|
|
416
|
+
export declare const defaultLang: UiTranslationKey;
|
|
417
|
+
/**
|
|
418
|
+
* Whether to show the default language in the url path.
|
|
419
|
+
*/
|
|
420
|
+
export declare const showDefaultLang: boolean;
|
|
421
|
+
/**
|
|
422
|
+
* Generates an array of language selector options from the available server UI translations.
|
|
423
|
+
* Each option contains a `key` representing the language code and a `value` representing the display name of the language.
|
|
424
|
+
*
|
|
425
|
+
* @remarks
|
|
426
|
+
* This is typically used to populate language selection dropdowns in the UI.
|
|
427
|
+
*
|
|
428
|
+
* @returns An array of objects, each with `key` and `value` properties for language selection.
|
|
429
|
+
*/
|
|
430
|
+
export declare const languageSelectorOptions: LanguageSelectorOption[];
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { availableTranslations } from "studiocms:i18n/virtual";
|
|
2
|
+
const baseServerTranslations = (await import("./translations/en.json", { assert: { type: "json" } })).default;
|
|
3
|
+
const serverUiTranslations = {
|
|
4
|
+
en: baseServerTranslations,
|
|
5
|
+
...availableTranslations
|
|
6
|
+
};
|
|
7
|
+
const uiTranslationsAvailable = Object.keys(serverUiTranslations);
|
|
8
|
+
const clientUiTranslations = Object.entries(
|
|
9
|
+
serverUiTranslations
|
|
10
|
+
).reduce((acc, [key, value]) => {
|
|
11
|
+
acc[key] = value.translations;
|
|
12
|
+
return acc;
|
|
13
|
+
}, {});
|
|
14
|
+
const defaultLang = "en";
|
|
15
|
+
const showDefaultLang = false;
|
|
16
|
+
const languageSelectorOptions = Object.keys(serverUiTranslations).map((key) => {
|
|
17
|
+
const displayName = serverUiTranslations[key]?.displayName;
|
|
18
|
+
const value = typeof displayName === "string" && displayName.trim() ? displayName : String(key);
|
|
19
|
+
return { key, value };
|
|
20
|
+
}).sort((a, b) => a.value.localeCompare(b.value, void 0, { sensitivity: "base" }));
|
|
21
|
+
export {
|
|
22
|
+
baseServerTranslations,
|
|
23
|
+
clientUiTranslations,
|
|
24
|
+
defaultLang,
|
|
25
|
+
languageSelectorOptions,
|
|
26
|
+
serverUiTranslations,
|
|
27
|
+
showDefaultLang,
|
|
28
|
+
uiTranslationsAvailable
|
|
29
|
+
};
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This module handles internationalization (i18n) for the StudioCMS application on the server side.
|
|
3
|
+
*
|
|
4
|
+
* It provides utilities for loading and managing translation files, as well as functions for
|
|
5
|
+
* retrieving translated strings based on the current language context.
|
|
6
|
+
*/
|
|
7
|
+
import type { AstroGlobal } from 'astro';
|
|
8
|
+
import { defaultLang } from './config.js';
|
|
9
|
+
export { defaultLang };
|
|
10
|
+
/**
|
|
11
|
+
* The UI translations available in the StudioCMS app.
|
|
12
|
+
*/
|
|
13
|
+
declare const uiTranslations: import("./config.js").ServerUiTranslations;
|
|
14
|
+
/**
|
|
15
|
+
* Represents the type of UI translations.
|
|
16
|
+
* This type is derived from the structure of the `uiTranslations` object.
|
|
17
|
+
*/
|
|
18
|
+
export type UiTranslations = typeof uiTranslations;
|
|
19
|
+
/**
|
|
20
|
+
* Represents the keys of the UiTranslations type.
|
|
21
|
+
* This type is used to define the possible keys for UI language translations.
|
|
22
|
+
*/
|
|
23
|
+
export type UiLanguageKeys = keyof UiTranslations;
|
|
24
|
+
/**
|
|
25
|
+
* Represents the keys of the UI component translations for the 'en' locale.
|
|
26
|
+
* This type is derived from the 'translations' property of the 'UiTranslations' interface
|
|
27
|
+
* for the 'en' locale (Source of truth), ensuring that only valid translation keys are used.
|
|
28
|
+
*/
|
|
29
|
+
export type UiComponentKeys = keyof UiTranslations['en']['translations'];
|
|
30
|
+
/**
|
|
31
|
+
* Represents the translation type for a specific UI component key (`T`)
|
|
32
|
+
* within a given language key (`L`) from the `uiTranslations` object.
|
|
33
|
+
*
|
|
34
|
+
* @typeParam L - The language key, constrained to `UiLanguageKeys`.
|
|
35
|
+
* @typeParam T - The UI component key, constrained to `UiComponentKeys`.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* // Get the translation type for the 'button' component in 'en' language:
|
|
39
|
+
* type ButtonTranslation = UiTranslationComponent<'en', 'button'>;
|
|
40
|
+
*/
|
|
41
|
+
type UiTranslationComponent<L extends UiLanguageKeys, T extends UiComponentKeys> = (typeof uiTranslations)[L]['translations'][T];
|
|
42
|
+
/**
|
|
43
|
+
* Represents the set of valid translation keys for a specific UI component and language.
|
|
44
|
+
*
|
|
45
|
+
* @typeParam L - The type representing the available UI language keys.
|
|
46
|
+
* @typeParam T - The type representing the available UI component keys.
|
|
47
|
+
*
|
|
48
|
+
* This type resolves to the union of property names (keys) of the translation object
|
|
49
|
+
* for the given language (`L`) and component (`T`), as defined by `UiTranslationComponent`.
|
|
50
|
+
*/
|
|
51
|
+
type UiTranslationComponentKey<L extends UiLanguageKeys, T extends UiComponentKeys> = keyof UiTranslationComponent<L, T>;
|
|
52
|
+
/**
|
|
53
|
+
* Retrieves a translation function for a given language and component.
|
|
54
|
+
*
|
|
55
|
+
* @param lang - The language key to use for translations.
|
|
56
|
+
* @param component - The component key to use for translations.
|
|
57
|
+
* @returns A function that takes a translation key and returns the corresponding translated string.
|
|
58
|
+
*/
|
|
59
|
+
export declare function useTranslations<L extends UiLanguageKeys, T extends UiComponentKeys>(lang: L, component: T): (key: UiTranslationComponentKey<L, T>) => string;
|
|
60
|
+
/**
|
|
61
|
+
* Returns a function that translates a given path based on the provided language.
|
|
62
|
+
*
|
|
63
|
+
* @param lang - The language key to be used for translation.
|
|
64
|
+
* @returns A function that takes a path and an optional language key, and returns the translated path.
|
|
65
|
+
* If the language key is not provided, the default language key is used.
|
|
66
|
+
* If the language is the default language and `showDefaultLang` is false, the original path is returned.
|
|
67
|
+
* Otherwise, the path is prefixed with the language key.
|
|
68
|
+
*/
|
|
69
|
+
export declare function useTranslatedPath(lang: UiLanguageKeys): (path: string, l?: UiLanguageKeys) => string;
|
|
70
|
+
/**
|
|
71
|
+
* Extracts the language key from the given URL's pathname.
|
|
72
|
+
*
|
|
73
|
+
* @param url - The URL object from which to extract the language key.
|
|
74
|
+
* @returns The language key if it exists in the `uiTranslations`, otherwise returns the default language key.
|
|
75
|
+
*/
|
|
76
|
+
export declare function getLangFromUrl(url: URL): string;
|
|
77
|
+
/**
|
|
78
|
+
* Retrieves the current URL path, adjusting for language settings.
|
|
79
|
+
*
|
|
80
|
+
* This function checks if the URL path includes '/_server-islands'. If it does,
|
|
81
|
+
* it extracts the referer URL from the request headers and determines the current
|
|
82
|
+
* language from that URL. If the current language is the default language, it returns
|
|
83
|
+
* the pathname as is. Otherwise, it replaces the language segment in the pathname with '/'.
|
|
84
|
+
*
|
|
85
|
+
* If the URL path does not include '/_server-islands', it uses the Astro URL directly
|
|
86
|
+
* to determine the current language and adjust the pathname accordingly.
|
|
87
|
+
*
|
|
88
|
+
* @param {AstroGlobal} Astro - The global Astro object containing URL and request information.
|
|
89
|
+
*/
|
|
90
|
+
export declare function getCurrentURLPath(Astro: AstroGlobal): string;
|
|
91
|
+
/**
|
|
92
|
+
* Function to switch the language of the current page.
|
|
93
|
+
*
|
|
94
|
+
* @param {AstroGlobal} Astro - The global Astro object.
|
|
95
|
+
*/
|
|
96
|
+
export declare function switchLanguage(Astro: AstroGlobal): (languageKey: UiLanguageKeys) => string;
|
|
97
|
+
/**
|
|
98
|
+
* Example of how to use this i18n utils on a Static page
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```ts
|
|
102
|
+
* export async function getStaticPaths() {
|
|
103
|
+
* const paths = staticPaths();
|
|
104
|
+
* return paths;
|
|
105
|
+
* }
|
|
106
|
+
* ```
|
|
107
|
+
*
|
|
108
|
+
* 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`)
|
|
109
|
+
*
|
|
110
|
+
* @returns An array of paths for all languages
|
|
111
|
+
*/
|
|
112
|
+
export declare const staticPaths: () => {
|
|
113
|
+
params: {
|
|
114
|
+
locale: string | undefined;
|
|
115
|
+
};
|
|
116
|
+
}[];
|
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
import { defaultLang, showDefaultLang } from "./config.js";
|
|
2
|
-
const uiTranslations =
|
|
3
|
-
en: await import("./translations/en.json"),
|
|
4
|
-
de: await import("./translations/de.json"),
|
|
5
|
-
es: await import("./translations/es.json"),
|
|
6
|
-
fr: await import("./translations/fr.json")
|
|
7
|
-
};
|
|
1
|
+
import { defaultLang, serverUiTranslations, showDefaultLang } from "./config.js";
|
|
2
|
+
const uiTranslations = serverUiTranslations;
|
|
8
3
|
function useTranslations(lang, component) {
|
|
9
4
|
return function t(key) {
|
|
10
|
-
const
|
|
11
|
-
if (
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
return translation;
|
|
5
|
+
const v = uiTranslations[lang]?.translations?.[component]?.[key];
|
|
6
|
+
if (typeof v === "string") return v;
|
|
7
|
+
const fb = uiTranslations[defaultLang]?.translations?.[component]?.[key];
|
|
8
|
+
return typeof fb === "string" ? fb : String(key);
|
|
15
9
|
};
|
|
16
10
|
}
|
|
17
11
|
function useTranslatedPath(lang) {
|
|
@@ -19,12 +13,6 @@ function useTranslatedPath(lang) {
|
|
|
19
13
|
return !showDefaultLang && l === defaultLang ? path : `/${l}${path}`;
|
|
20
14
|
};
|
|
21
15
|
}
|
|
22
|
-
const languageSelectorOptions = Object.keys(uiTranslations).map((key) => {
|
|
23
|
-
return {
|
|
24
|
-
key,
|
|
25
|
-
value: uiTranslations[key].displayName
|
|
26
|
-
};
|
|
27
|
-
});
|
|
28
16
|
function getLangFromUrl(url) {
|
|
29
17
|
const [, lang] = url.pathname.split("/");
|
|
30
18
|
if (lang && lang in uiTranslations) return lang;
|
|
@@ -59,7 +47,6 @@ export {
|
|
|
59
47
|
defaultLang,
|
|
60
48
|
getCurrentURLPath,
|
|
61
49
|
getLangFromUrl,
|
|
62
|
-
languageSelectorOptions,
|
|
63
50
|
staticPaths,
|
|
64
51
|
switchLanguage,
|
|
65
52
|
useTranslatedPath,
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
"api-tokens-modal-response-header": "Neuer Token",
|
|
99
99
|
"api-tokens-modal-response-description": "Bitte speichere deinen neuen Token. Er wird nie wieder sichtbar sein.",
|
|
100
100
|
"sync-with-libravatar": "Libravatar Synchronisieren",
|
|
101
|
-
"basic-avatar-url": "
|
|
101
|
+
"basic-avatar-url": "Profilbild-URL"
|
|
102
102
|
},
|
|
103
103
|
"@studiocms/dashboard:password-reset": {
|
|
104
104
|
"title": "Passwort zurücksetzen",
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is responsible for managing translation files.
|
|
3
|
+
*
|
|
4
|
+
* It provides utilities to work with translation keys and their corresponding
|
|
5
|
+
* file paths.
|
|
6
|
+
*
|
|
7
|
+
* Note: The exported function is imported and used by the main index of the integration,
|
|
8
|
+
* to generate the list of available translation keys and inject them into a server/client
|
|
9
|
+
* friendly Vite virtual module.
|
|
10
|
+
*/
|
|
11
|
+
import type { ServerUiTranslations } from './config.js';
|
|
12
|
+
/**
|
|
13
|
+
* An array of translation file keys derived from `availableTranslationFiles`.
|
|
14
|
+
* Each key is generated by removing the `.json` extension from the file name.
|
|
15
|
+
* Falsy values are filtered out from the resulting array.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* // If availableTranslationFiles = ['en.json', 'fr.json']
|
|
19
|
+
* // availableTranslationFileKeys = ['en', 'fr']
|
|
20
|
+
*/
|
|
21
|
+
export declare const availableTranslationFileKeys: string[];
|
|
22
|
+
/**
|
|
23
|
+
* Loads and returns the available server-side UI translations, excluding English ('en').
|
|
24
|
+
* For each translation file key, reads the corresponding JSON file, checks its string values,
|
|
25
|
+
* and includes it in the results only if it passes the threshold check.
|
|
26
|
+
* Skips translation files with too many empty strings and logs a warning.
|
|
27
|
+
*
|
|
28
|
+
* @returns {ServerUiTranslations} An object mapping language keys to their translation records.
|
|
29
|
+
*/
|
|
30
|
+
export declare const availableTranslations: ServerUiTranslations;
|