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,46 @@
|
|
|
1
|
+
import { posix } from "node:path";
|
|
2
|
+
import { fileURLToPath } from "node:url";
|
|
3
|
+
import { readJson } from "@withstudiocms/internal_helpers/utils";
|
|
4
|
+
import { glob } from "tinyglobby";
|
|
5
|
+
const translationsDir = fileURLToPath(new URL("./translations/", import.meta.url));
|
|
6
|
+
const availableTranslationFiles = await glob("**/*.json", { cwd: translationsDir });
|
|
7
|
+
const availableTranslationFileKeys = availableTranslationFiles.map((file) => posix.normalize(file).replace(/\.json$/, "")).filter(Boolean);
|
|
8
|
+
function checkStrings(record) {
|
|
9
|
+
if (typeof record !== "object" || record === null) return { count: 0, emptyStrings: 0 };
|
|
10
|
+
let count = 0;
|
|
11
|
+
let emptyStrings = 0;
|
|
12
|
+
for (const value of Object.values(record)) {
|
|
13
|
+
if (typeof value === "string") {
|
|
14
|
+
count++;
|
|
15
|
+
if (value.trim() === "") emptyStrings++;
|
|
16
|
+
} else if (typeof value === "object" && value !== null) {
|
|
17
|
+
const { count: c, emptyStrings: e } = checkStrings(value);
|
|
18
|
+
count += c;
|
|
19
|
+
emptyStrings += e;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return { count, emptyStrings };
|
|
23
|
+
}
|
|
24
|
+
const MISSING_RATIO_THRESHOLD = 0.1;
|
|
25
|
+
function checkThreshold(opt) {
|
|
26
|
+
const threshold = MISSING_RATIO_THRESHOLD;
|
|
27
|
+
if (opt.count === 0) return false;
|
|
28
|
+
return opt.emptyStrings / opt.count <= threshold;
|
|
29
|
+
}
|
|
30
|
+
const availableTranslations = (() => {
|
|
31
|
+
const results = {};
|
|
32
|
+
const translationKeys = availableTranslationFileKeys.filter((key) => key !== "en");
|
|
33
|
+
for (const key of translationKeys) {
|
|
34
|
+
const translation = readJson(`${translationsDir + key}.json`);
|
|
35
|
+
const result = checkStrings(translation);
|
|
36
|
+
if (!checkThreshold(result)) {
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
results[key] = translation;
|
|
40
|
+
}
|
|
41
|
+
return results;
|
|
42
|
+
})();
|
|
43
|
+
export {
|
|
44
|
+
availableTranslationFileKeys,
|
|
45
|
+
availableTranslations
|
|
46
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@withstudiocms/internal_helpers/headConfigSchema';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@withstudiocms/internal_helpers/headConfigSchema";
|
|
@@ -12,7 +12,7 @@ import type { AstroGlobalPartial } from 'astro';
|
|
|
12
12
|
* @returns
|
|
13
13
|
*/
|
|
14
14
|
export declare const headDefaults: (title: string, description: string, lang: string, Astro: AstroGlobalPartial, favicon: string, ogImage: string | undefined, canonical: URL | undefined) => {
|
|
15
|
-
tag: "
|
|
15
|
+
tag: "title" | "base" | "link" | "style" | "meta" | "script" | "noscript" | "template";
|
|
16
16
|
attrs?: Record<string, string | boolean | undefined> | undefined;
|
|
17
17
|
content?: string | undefined;
|
|
18
18
|
}[];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { extname } from "node:path";
|
|
2
2
|
import version from "studiocms:version";
|
|
3
3
|
import { lookup } from "mrmime";
|
|
4
|
-
import { StudioCMSCoreError } from "
|
|
4
|
+
import { StudioCMSCoreError } from "../../errors.js";
|
|
5
5
|
import { HeadConfigSchema } from "./head.js";
|
|
6
6
|
const _schema = HeadConfigSchema;
|
|
7
7
|
const faviconTypes = [".ico", ".gif", ".jpeg", ".jpg", ".png", ".svg"];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@withstudiocms/internal_helpers/pathGenerators';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@withstudiocms/internal_helpers/pathGenerators";
|
|
@@ -250,6 +250,10 @@ export declare const StudioCMSRoutes: {
|
|
|
250
250
|
* SDK route for updating the latest version cache.
|
|
251
251
|
*/
|
|
252
252
|
updateLatestVersionCache: string;
|
|
253
|
+
/**
|
|
254
|
+
* SDK route for the full changelog JSON.
|
|
255
|
+
*/
|
|
256
|
+
changelog: string;
|
|
253
257
|
};
|
|
254
258
|
fts: {
|
|
255
259
|
/**
|
|
@@ -233,7 +233,11 @@ const StudioCMSRoutes = {
|
|
|
233
233
|
/**
|
|
234
234
|
* SDK route for updating the latest version cache.
|
|
235
235
|
*/
|
|
236
|
-
updateLatestVersionCache: sdkRoute("update-latest-version-cache")
|
|
236
|
+
updateLatestVersionCache: sdkRoute("update-latest-version-cache"),
|
|
237
|
+
/**
|
|
238
|
+
* SDK route for the full changelog JSON.
|
|
239
|
+
*/
|
|
240
|
+
changelog: sdkRoute("full-changelog.json")
|
|
237
241
|
},
|
|
238
242
|
fts: {
|
|
239
243
|
/**
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
declare const urlGenFactory: (isDashboardRoute: boolean, path: string | undefined, DashboardRouteOverride?: string) => string;
|
|
1
2
|
/**
|
|
2
3
|
* # urlGenFactory Helper Function
|
|
3
4
|
*
|
|
@@ -8,4 +9,4 @@
|
|
|
8
9
|
* @param DashboardRouteOverride
|
|
9
10
|
* @returns
|
|
10
11
|
*/
|
|
11
|
-
export default
|
|
12
|
+
export default urlGenFactory;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Effect, Layer } from '../../effect.js';
|
|
2
|
+
import { SMTPMailer } from '../../utils/effects/smtp.js';
|
|
3
|
+
import type { ConfigFinal, StudioCMSMailerConfig } from '../sdk/modules/config.js';
|
|
4
|
+
/**
|
|
5
|
+
* Interface representing the options for sending an email.
|
|
6
|
+
*/
|
|
7
|
+
export interface MailOptions {
|
|
8
|
+
/**
|
|
9
|
+
* The recipient(s) of the email. Can be a single email address or an array of email addresses.
|
|
10
|
+
*/
|
|
11
|
+
to: string | string[];
|
|
12
|
+
/**
|
|
13
|
+
* The subject of the email.
|
|
14
|
+
*/
|
|
15
|
+
subject: string;
|
|
16
|
+
/**
|
|
17
|
+
* The plain text content of the email. Optional.
|
|
18
|
+
*/
|
|
19
|
+
text?: string | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* The HTML content of the email. Optional.
|
|
22
|
+
*/
|
|
23
|
+
html?: string | undefined;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Interface representing an error response from the mailer.
|
|
27
|
+
*/
|
|
28
|
+
export interface MailerErrorResponse {
|
|
29
|
+
error: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Interface representing a success response from the mailer.
|
|
33
|
+
*/
|
|
34
|
+
export interface MailerSuccessResponse {
|
|
35
|
+
message: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Interface representing the response from a mail verification operation.
|
|
39
|
+
*/
|
|
40
|
+
export type MailerResponse = MailerSuccessResponse | MailerErrorResponse;
|
|
41
|
+
export declare const makeLogger: Effect.Effect<import("astro").AstroIntegrationLogger, never, never>;
|
|
42
|
+
declare const Logger_base: import("effect/Context").TagClass<Logger, "studiocms/lib/mailer/Logger", import("astro").AstroIntegrationLogger> & Effect.Tag.Proxy<Logger, import("astro").AstroIntegrationLogger> & {
|
|
43
|
+
use: <X>(body: (_: import("astro").AstroIntegrationLogger) => X) => [X] extends [Effect.Effect<infer A, infer E, infer R>] ? Effect.Effect<A, E, Logger | R> : [X] extends [PromiseLike<infer A_1>] ? Effect.Effect<A_1, import("effect/Cause").UnknownException, Logger> : Effect.Effect<X, never, Logger>;
|
|
44
|
+
};
|
|
45
|
+
export declare class Logger extends Logger_base {
|
|
46
|
+
static Live: Effect.Effect<import("astro").AstroIntegrationLogger, never, never>;
|
|
47
|
+
static Layer: Layer.Layer<Logger, never, never>;
|
|
48
|
+
}
|
|
49
|
+
declare const Mailer_base: Effect.Service.Class<Mailer, "studiocms/lib/mailer/Mailer", {
|
|
50
|
+
readonly effect: Effect.Effect<{
|
|
51
|
+
getMailerConfigTable: Effect.Effect<import("../sdk/modules/config.js").DynamicConfigEntry<StudioCMSMailerConfig> | undefined, import("../sdk/effect/db.js").LibSQLDatabaseError, never>;
|
|
52
|
+
updateMailerConfigTable: (config: ConfigFinal<StudioCMSMailerConfig>) => Effect.Effect<MailerErrorResponse | MailerSuccessResponse, never, never>;
|
|
53
|
+
createMailerConfigTable: (config: ConfigFinal<StudioCMSMailerConfig>) => Effect.Effect<import("../sdk/modules/config.js").DynamicConfigEntry<StudioCMSMailerConfig>, import("../sdk/effect/db.js").LibSQLDatabaseError, never>;
|
|
54
|
+
sendMail: ({ subject, ...message }: MailOptions) => Effect.Effect<MailerErrorResponse | MailerSuccessResponse, Error, never>;
|
|
55
|
+
verifyMailConnection: Effect.Effect<MailerErrorResponse | MailerSuccessResponse, Error, never>;
|
|
56
|
+
isEnabled: Effect.Effect<boolean, import("../sdk/errors.js").SDKCoreError, never>;
|
|
57
|
+
}, never, SMTPMailer | Logger>;
|
|
58
|
+
readonly dependencies: readonly [Layer.Layer<Logger, never, never>, Layer.Layer<SMTPMailer, Error, never>];
|
|
59
|
+
readonly accessors: true;
|
|
60
|
+
}>;
|
|
61
|
+
export declare class Mailer extends Mailer_base {
|
|
62
|
+
static Provide: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, Error | E, Exclude<R, Mailer>>;
|
|
63
|
+
}
|
|
64
|
+
export {};
|
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
import { eq } from "astro:db";
|
|
2
1
|
import { logger as _logger, isVerbose } from "studiocms:logger";
|
|
3
2
|
import { SDKCoreJs as sdk } from "studiocms:sdk";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { CMSMailerConfigId } from "../../consts.js";
|
|
7
|
-
import { StudioCMSMailerConfig } from "../../db/tables.js";
|
|
8
|
-
import { genLogger, pipeLogger } from "../effects/index.js";
|
|
9
|
-
import { SMTPMailer } from "../effects/smtp.js";
|
|
10
|
-
const tsMailerConfig = asDrizzleTable("StudioCMSMailerConfig", StudioCMSMailerConfig);
|
|
3
|
+
import { Effect, genLogger, Layer, pipeLogger } from "../../effect.js";
|
|
4
|
+
import { SMTPMailer } from "../../utils/effects/smtp.js";
|
|
11
5
|
const forked = _logger.fork("studiocms:runtime/mailer");
|
|
12
6
|
const makeLogger = Effect.succeed(forked);
|
|
13
7
|
class Logger extends Effect.Tag("studiocms/lib/mailer/Logger")() {
|
|
@@ -27,14 +21,10 @@ class Mailer extends Effect.Service()("studiocms/lib/mailer/Mailer", {
|
|
|
27
21
|
return data;
|
|
28
22
|
};
|
|
29
23
|
const getMailerConfigTable = pipeLogger("studiocms/lib/mailer/Mailer.getMailerConfigTable")(
|
|
30
|
-
sdk.
|
|
31
|
-
(db) => db.select().from(tsMailerConfig).where(eq(tsMailerConfig.id, CMSMailerConfigId)).get()
|
|
32
|
-
)
|
|
24
|
+
sdk.CONFIG.mailerConfig.get()
|
|
33
25
|
);
|
|
34
26
|
const updateMailerConfigTable = (config) => genLogger("studiocms/lib/mailer/Mailer.updateMailerConfigTable")(function* () {
|
|
35
|
-
yield* sdk.
|
|
36
|
-
(db) => db.update(tsMailerConfig).set(config).where(eq(tsMailerConfig.id, CMSMailerConfigId))
|
|
37
|
-
).pipe(
|
|
27
|
+
yield* sdk.CONFIG.mailerConfig.update(config).pipe(
|
|
38
28
|
Effect.catchAll(
|
|
39
29
|
(e) => Effect.succeed(
|
|
40
30
|
mailerResponse({ error: `Error updating mailer configuration: ${String(e)}` })
|
|
@@ -44,13 +34,7 @@ class Mailer extends Effect.Service()("studiocms/lib/mailer/Mailer", {
|
|
|
44
34
|
return mailerResponse({ message: "Mailer configuration updated successfully" });
|
|
45
35
|
});
|
|
46
36
|
const createMailerConfigTable = (config) => pipeLogger("studiocms/lib/mailer/Mailer.createMailerConfigTable")(
|
|
47
|
-
sdk.
|
|
48
|
-
(db) => db.insert(tsMailerConfig).values({ ...config, id: CMSMailerConfigId }).onConflictDoUpdate({
|
|
49
|
-
target: tsMailerConfig.id,
|
|
50
|
-
set: config,
|
|
51
|
-
where: eq(tsMailerConfig.id, CMSMailerConfigId)
|
|
52
|
-
}).returning().get()
|
|
53
|
-
)
|
|
37
|
+
sdk.CONFIG.mailerConfig.init(config)
|
|
54
38
|
);
|
|
55
39
|
const sendMail = ({ subject, ...message }) => genLogger("studiocms/lib/mailer/Mailer.sendMail")(function* () {
|
|
56
40
|
const toSend = { subject };
|
|
@@ -66,7 +50,7 @@ class Mailer extends Effect.Service()("studiocms/lib/mailer/Mailer", {
|
|
|
66
50
|
});
|
|
67
51
|
const verifyMailConnection = genLogger("studiocms/lib/mailer/Mailer.verifyMailConnection")(
|
|
68
52
|
function* () {
|
|
69
|
-
const result = yield* SMTP.
|
|
53
|
+
const result = yield* SMTP.verifyTransport();
|
|
70
54
|
if (result !== true) {
|
|
71
55
|
return mailerResponse({ error: "Mail connection verification failed" });
|
|
72
56
|
}
|
|
@@ -95,6 +79,5 @@ class Mailer extends Effect.Service()("studiocms/lib/mailer/Mailer", {
|
|
|
95
79
|
export {
|
|
96
80
|
Logger,
|
|
97
81
|
Mailer,
|
|
98
|
-
makeLogger
|
|
99
|
-
tsMailerConfig
|
|
82
|
+
makeLogger
|
|
100
83
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Effect } from 'effect';
|
|
1
|
+
import { Effect } from '../../effect.js';
|
|
2
2
|
import type { UserNotificationOptions } from './client.js';
|
|
3
3
|
/**
|
|
4
4
|
* An object containing notification messages for user-related events.
|
|
@@ -64,14 +64,13 @@ export type AdminNotification = keyof AdminNotifications;
|
|
|
64
64
|
export declare const makeLogger: Effect.Effect<import("astro").AstroIntegrationLogger, never, never>;
|
|
65
65
|
declare const Notifications_base: Effect.Service.Class<Notifications, "studiocms/lib/notifier/Notifications", {
|
|
66
66
|
readonly effect: Effect.Effect<{
|
|
67
|
-
sendUserNotification: <T extends UserNotification>(notification: T, userId: string) => Effect.Effect<void,
|
|
68
|
-
sendEditorNotification: <T extends EditorNotification, K extends Parameters<EditorNotifications[T]>[0]>(notification: T, data: K) => Effect.Effect<void,
|
|
69
|
-
sendAdminNotification: <T extends AdminNotification, K extends Parameters<AdminNotifications[T]>[0]>(notification: T, data: K) => Effect.Effect<void,
|
|
67
|
+
sendUserNotification: <T extends UserNotification>(notification: T, userId: string) => Effect.Effect<void, Error | import("../sdk/errors.js").SDKCoreError, never>;
|
|
68
|
+
sendEditorNotification: <T extends EditorNotification, K extends Parameters<EditorNotifications[T]>[0]>(notification: T, data: K) => Effect.Effect<void, Error | import("../sdk/errors.js").SDKCoreError, never>;
|
|
69
|
+
sendAdminNotification: <T extends AdminNotification, K extends Parameters<AdminNotifications[T]>[0]>(notification: T, data: K) => Effect.Effect<void, Error | import("../sdk/errors.js").SDKCoreError, never>;
|
|
70
70
|
}, never, import("../mailer/index.js").Mailer>;
|
|
71
|
-
readonly dependencies: readonly [import("effect/Layer").Layer<import("../mailer/index.js").Mailer,
|
|
72
|
-
readonly accessors: true;
|
|
71
|
+
readonly dependencies: readonly [import("effect/Layer").Layer<import("../mailer/index.js").Mailer, Error, never>];
|
|
73
72
|
}>;
|
|
74
73
|
export declare class Notifications extends Notifications_base {
|
|
75
|
-
static Provide: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A,
|
|
74
|
+
static Provide: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, Error | E, Exclude<R, Notifications>>;
|
|
76
75
|
}
|
|
77
76
|
export {};
|
|
@@ -2,8 +2,7 @@ import _logger from "studiocms:logger";
|
|
|
2
2
|
import { Mailer } from "studiocms:mailer";
|
|
3
3
|
import getTemplate from "studiocms:mailer/templates";
|
|
4
4
|
import { SDKCoreJs as sdk } from "studiocms:sdk";
|
|
5
|
-
import { Effect } from "effect";
|
|
6
|
-
import { genLogger } from "../effects/index.js";
|
|
5
|
+
import { Effect, genLogger } from "../../effect.js";
|
|
7
6
|
const userNotifications = {
|
|
8
7
|
account_updated: (name) => `Hello ${name}! There has been an update to your account. If you did not make this change, please contact a system administrator.`
|
|
9
8
|
};
|
|
@@ -152,8 +151,7 @@ class Notifications extends Effect.Service()(
|
|
|
152
151
|
sendAdminNotification
|
|
153
152
|
};
|
|
154
153
|
}),
|
|
155
|
-
dependencies: [Mailer.Default]
|
|
156
|
-
accessors: true
|
|
154
|
+
dependencies: [Mailer.Default]
|
|
157
155
|
}
|
|
158
156
|
) {
|
|
159
157
|
static Provide = Effect.provide(this.Default);
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Retrieves the dashboard pages for the plugins.
|
|
3
|
+
*
|
|
4
|
+
* @returns An object containing `userPages` and `adminPages`.
|
|
5
|
+
*/
|
|
6
|
+
export declare function getPluginDashboardPages(): {
|
|
7
|
+
userPages: ({
|
|
8
|
+
title: Record<string, string>;
|
|
9
|
+
description: string;
|
|
10
|
+
route: string;
|
|
11
|
+
pageBodyComponent: string;
|
|
12
|
+
slug: string;
|
|
13
|
+
components: {
|
|
14
|
+
PageBodyComponent: (_props: any) => any;
|
|
15
|
+
PageActionsComponent?: ((_props: any) => any) | undefined;
|
|
16
|
+
InnerSidebarComponent?: ((_props: any) => any) | undefined;
|
|
17
|
+
};
|
|
18
|
+
sidebar: "single";
|
|
19
|
+
icon?: string | undefined;
|
|
20
|
+
requiredPermissions?: "owner" | "admin" | "editor" | "visitor" | "none" | undefined;
|
|
21
|
+
pageActionsComponent?: string | undefined;
|
|
22
|
+
} | {
|
|
23
|
+
title: Record<string, string>;
|
|
24
|
+
description: string;
|
|
25
|
+
route: string;
|
|
26
|
+
pageBodyComponent: string;
|
|
27
|
+
slug: string;
|
|
28
|
+
components: {
|
|
29
|
+
PageBodyComponent: (_props: any) => any;
|
|
30
|
+
PageActionsComponent?: ((_props: any) => any) | undefined;
|
|
31
|
+
InnerSidebarComponent?: ((_props: any) => any) | undefined;
|
|
32
|
+
};
|
|
33
|
+
sidebar: "double";
|
|
34
|
+
innerSidebarComponent: string;
|
|
35
|
+
icon?: string | undefined;
|
|
36
|
+
requiredPermissions?: "owner" | "admin" | "editor" | "visitor" | "none" | undefined;
|
|
37
|
+
pageActionsComponent?: string | undefined;
|
|
38
|
+
})[];
|
|
39
|
+
adminPages: ({
|
|
40
|
+
title: Record<string, string>;
|
|
41
|
+
description: string;
|
|
42
|
+
route: string;
|
|
43
|
+
pageBodyComponent: string;
|
|
44
|
+
slug: string;
|
|
45
|
+
components: {
|
|
46
|
+
PageBodyComponent: (_props: any) => any;
|
|
47
|
+
PageActionsComponent?: ((_props: any) => any) | undefined;
|
|
48
|
+
InnerSidebarComponent?: ((_props: any) => any) | undefined;
|
|
49
|
+
};
|
|
50
|
+
sidebar: "single";
|
|
51
|
+
icon?: string | undefined;
|
|
52
|
+
requiredPermissions?: "owner" | "admin" | "editor" | "visitor" | "none" | undefined;
|
|
53
|
+
pageActionsComponent?: string | undefined;
|
|
54
|
+
} | {
|
|
55
|
+
title: Record<string, string>;
|
|
56
|
+
description: string;
|
|
57
|
+
route: string;
|
|
58
|
+
pageBodyComponent: string;
|
|
59
|
+
slug: string;
|
|
60
|
+
components: {
|
|
61
|
+
PageBodyComponent: (_props: any) => any;
|
|
62
|
+
PageActionsComponent?: ((_props: any) => any) | undefined;
|
|
63
|
+
InnerSidebarComponent?: ((_props: any) => any) | undefined;
|
|
64
|
+
};
|
|
65
|
+
sidebar: "double";
|
|
66
|
+
innerSidebarComponent: string;
|
|
67
|
+
icon?: string | undefined;
|
|
68
|
+
requiredPermissions?: "owner" | "admin" | "editor" | "visitor" | "none" | undefined;
|
|
69
|
+
pageActionsComponent?: string | undefined;
|
|
70
|
+
})[];
|
|
71
|
+
};
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
interface UserData {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
email: string | null;
|
|
5
|
+
avatar: string | null;
|
|
6
|
+
username: string;
|
|
7
|
+
}
|
|
8
|
+
interface Routes {
|
|
9
|
+
logout: string;
|
|
10
|
+
userProfile: string;
|
|
11
|
+
contentManagement: string;
|
|
12
|
+
dashboardIndex: string;
|
|
13
|
+
}
|
|
14
|
+
type PermissionLevel = 'editor' | 'visitor' | 'admin' | 'owner' | 'unknown';
|
|
15
|
+
interface MenuItem {
|
|
16
|
+
name: string;
|
|
17
|
+
svg: string;
|
|
18
|
+
href: string;
|
|
19
|
+
permission: PermissionLevel;
|
|
20
|
+
cssClass: string;
|
|
21
|
+
}
|
|
22
|
+
interface GetSessionResponse {
|
|
23
|
+
isLoggedIn: boolean;
|
|
24
|
+
user: UserData;
|
|
25
|
+
permissionLevel: PermissionLevel;
|
|
26
|
+
routes: Routes;
|
|
27
|
+
}
|
|
28
|
+
declare const PERMISSION_HIERARCHY: Record<PermissionLevel, Set<PermissionLevel>>;
|
|
29
|
+
declare const KNOWN_API_ROUTES: string[];
|
|
30
|
+
declare const DEFAULT_AVATAR = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADSklEQVR4AdSWS2xMYRTHjQXRRupRKVWrJhrxSCRigTQpYUHq0VYsarwi8RgJ0rCwFJEQEQ1psZFQXWgGRZB6NdFalkSFFRutV1UJNhLj9+dcOubeud8dC2lzfvd/7vedc77TO999DB/2n/+GZgOpVCoOSegx5K/N5WJGugIsNhHusNBZqIJiQ/455tqgiDFni9QAVZthIVyBBTAWJsBKeAOL4Tw4m3MD/GebqVoBV2Ox2ArohAHog1bGZ0MfLCJ2A+pkzg1QrRpkB3X4G5p4xdhOkOknkYYSpYE5Vu2pqZ/ctUFdDXOzS5QGvlkplxyXmJ/lnAOJfgSyMh0C0AbVVJcOLkRp4JQV3GeaJmy8SQzUg6xRBxecG2CTaaffpGgli12DeVAAhaDb8CFzhXCZ2Ouokzk3YNU2ordhGXTCALyDS6AH0C10CzhbpAb4z16DHjZxVtCivWgPJCHO3BJ4i+9skRrwqrJIE1TBZCiBGmjy5qNoTg1EWSAsNlIDbLZi2AEt0A2fDPkX8BOguyFs3d/zTg1QNB+OkPUcjkMNTIfRhvzV+CfgBbGHYBR+qIU2QCG97dqpVAcjoRuOgpqYggr5GnvCuWL2ou3kjkOzWtYGKFBAdgfoPfAR1S02iw1XB0l4achXgzOJ2QaKnYt2WA1cfwtsgETNtZA2FXR/l7LYaUhx7muag5NMloI+XKahzdSKob6mRXwnGEyA7nm949dQ+D3nTmax2hN6SC0lSVcOyTTfBuhYl36/hddS8IP5zmI56y3hADW1Ye30j/g2wLQ21Ri0i0JtaE5G7g0SH8N40PsCSbegBiot7J7pv4hXw6uZViuogRkWpdvP3JzFq6E7JKNIUAP63FbwJn67KsjTSRSUA/o2XGd5Xk07/SVBDei7/zshq0Bvun6KtcIeqIUKKAM9IfNQ+RrTnGL07dBvufrtVesM5xnm2wCbZyuRer9vR+/DCFgOh0FvPX18PsP/DF9AvsY0pxjFKke5up2LqLmLuAzzbUBRJOh7vxEt57wEVKABvQgPQO+Fr6iQrzHNKWY343pNl5PfAHqWMJRpgQ0MDqVAL9RDAqphPujJmI8K+RrTnGKOMa6PlcFlfH2nBnwzHQfDwn4AAAD//6qWhy8AAAAGSURBVAMAJXQ0UKI3Vu0AAAAASUVORK5CYII=";
|
|
31
|
+
declare const COMPONENT_STYLES = "\n:host {\n --border: hsl(240 5% 17%);\n --background-base: hsl(0 0% 6%);\n --background-step-1: hsl(0 0% 8%);\n --background-step-2: hsl(0 0% 10%);\n --background-step-3: hsl(0 0% 14%);\n --primary-base: hsl(259 83% 73%);\n --success-base: hsl(142 71% 46%);\n --warning-base: hsl(48 96% 53%);\n --danger-base: hsl(339 97% 31%);\n --info-base: hsl(217 92% 52%);\n --light: 70;\n --threshold: 50;\n}\n\n[data-theme=\"light\"] {\n --border: hsl(263 5% 68%);\n --background-base: hsl(0 0% 97%);\n --background-step-1: hsl(0 0% 90%);\n --background-step-2: hsl(0 0% 85%);\n --background-step-3: hsl(0 0% 80%);\n --primary-base: hsl(259 85% 61%);\n --success-base: hsl(142 59% 47%);\n --warning-base: hsl(48 92% 46%);\n --danger-base: hsl(339 97% 31%);\n --info-base: hsl(217 92% 52%);\n}\n\n.menu_overlay {\n position: fixed;\n background: rgba(0,0,0,0.4);\n inset: 0;\n z-index: 500;\n display: none;\n}\n\n.menu_overlay.menuOpened {\n display: block;\n}\n\n.cornerMenu {\n position: fixed;\n right: 25px;\n bottom: 25px;\n width: 50px;\n height: 50px;\n background: var(--background-step-1);\n box-shadow: 0 3px 7px rgba(0,0,0,0.3);\n border-radius: 50%;\n z-index: 600;\n cursor: pointer;\n transition: transform 0.3s ease;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.avatar-container {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background: var(--background-step-1);\n border: 1px solid var(--border);\n object-fit: cover;\n z-index: 700;\n transition: transform 0.3s ease;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.avatar {\n width: 100%;\n height: 100%;\n background: var(--background-step-1);\n border: 1px solid var(--border);\n border-radius: 50%;\n object-fit: cover;\n transition: transform 0.3s ease;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.avatar-error {\n width: 100%;\n\theight: auto;\n\tmargin: 2.5rem;\n\tborder: none;\n}\n\n.cornerMenu.menuOpened .avatar-container {\n transform: scale(1.5);\n border: 1px solid var(--border);\n}\n\n.menu {\n --switch: calc((var(--light) - var(--threshold)) * -100%);\n position: absolute;\n width: 32px;\n height: 32px;\n background: var(--background-step-2);\n box-shadow: 0 3px 7px rgba(0,0,0,0.1);\n border-radius: 50%;\n border: 1px solid var(--border);\n color: hsl(0, 0%, var(--switch));\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 8px;\n top: -5px;\n left: -5px;\n opacity: 0;\n z-index: 550;\n pointer-events: none;\n user-select: none;\n transition: all 0.4s ease-in-out;\n text-decoration: none;\n}\n\n.menu svg {\n width: 24px;\n height: 24px;\n}\n\n.cornerMenu.menuOpened .menu {\n opacity: 1;\n cursor: pointer;\n transition: transform 0.3s ease, opacity 0.3s ease, background-color 0.15s ease;\n}\n\n.cornerMenu.menuOpened .menu:hover {\n background: var(--background-step-3);\n}\n\n/* Click protection: Only enable pointer events when menu is ready */\n.cornerMenu.menu-ready .menu {\n pointer-events: all;\n box-shadow: 0 3px 7px rgba(0,0,0,0.1),\n 0 0 0 1px color-mix(in hsl, var(--primary-base) 20%, transparent);\n}\n\n.cornerMenu.menu-ready .menu:hover {\n box-shadow: 0 3px 7px rgba(0,0,0,0.2),\n 0 0 0 2px color-mix(in hsl, var(--primary-base) 40%, transparent);\n}\n\n/* Visual feedback for ignored clicks */\n.menu.click-ignored {\n animation: shake 0.3s ease-in-out;\n}\n\n@keyframes shake {\n 0%, 100% { transform: translateX(0) translateY(0); }\n 25% { transform: translateX(-2px) translateY(-1px); }\n 50% { transform: translateX(2px) translateY(1px); }\n 75% { transform: translateX(-1px) translateY(-2px); }\n}\n\n.cornerMenu.menuOpened .menu:nth-child(1) { transform: translate(-105px, 20px); transition-delay: 0s; }\n.cornerMenu.menuOpened .menu:nth-child(2) { transform: translate(-78px, -33px); transition-delay: 0.05s; }\n.cornerMenu.menuOpened .menu:nth-child(3) { transform: translate(-38px, -76px); transition-delay: 0.1s; }\n.cornerMenu.menuOpened .menu:nth-child(4) { transform: translate(18px, -99px); transition-delay: 0.15s; }\n\n.menu.logout { color: var(--danger-base); }\n.menu.profile { color: var(--primary-base); }\n.menu.dashboard { color: var(--success-base); }\n.menu.edit { color: var(--warning-base); }\n";
|
|
32
|
+
/**
|
|
33
|
+
* Optimized permission verification with Set-based lookup
|
|
34
|
+
*/
|
|
35
|
+
declare function verifyUserPermissionLevel(userLevel: PermissionLevel, requiredLevel: PermissionLevel): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Check if current path should skip rendering completely (no API calls)
|
|
38
|
+
*/
|
|
39
|
+
declare function shouldSkipRendering(pathname: string): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Check if current path is dashboard (skip after API call)
|
|
42
|
+
*/
|
|
43
|
+
declare function isDashboardRoute(pathname: string, dashboardRoute: string): boolean;
|
|
44
|
+
declare class UserQuickTools extends HTMLElement {
|
|
45
|
+
private sessionData;
|
|
46
|
+
private isMenuOpen;
|
|
47
|
+
private menuItemsReady;
|
|
48
|
+
private lastMenuToggleTime;
|
|
49
|
+
private readyTimeout;
|
|
50
|
+
private themeObserver;
|
|
51
|
+
private cornerMenu;
|
|
52
|
+
private menuOverlay;
|
|
53
|
+
private isInitialized;
|
|
54
|
+
private userInteractionListeners;
|
|
55
|
+
protected CLICK_PROTECTION_DURATION: number;
|
|
56
|
+
protected MENU_READY_DELAY: number;
|
|
57
|
+
private static readonly MENU_ITEMS;
|
|
58
|
+
constructor();
|
|
59
|
+
connectedCallback(): void;
|
|
60
|
+
initOnUserInteraction(): void;
|
|
61
|
+
private removeInteractionListeners;
|
|
62
|
+
scheduleInitialization(): void;
|
|
63
|
+
private initializeAsync;
|
|
64
|
+
private scheduleRender;
|
|
65
|
+
disconnectedCallback(): void;
|
|
66
|
+
private render;
|
|
67
|
+
private addMenuItems;
|
|
68
|
+
private createMenuElement;
|
|
69
|
+
private testAvatarURL;
|
|
70
|
+
private addUserAvatar;
|
|
71
|
+
private setupEventListeners;
|
|
72
|
+
private handleMenuToggle;
|
|
73
|
+
private handleOverlayClick;
|
|
74
|
+
private updateMenuState;
|
|
75
|
+
private setupThemeObserver;
|
|
76
|
+
private getSession;
|
|
77
|
+
private capitalizeFirst;
|
|
78
|
+
private cleanup;
|
|
79
|
+
}
|
|
80
|
+
interface UserQuickToolsConfig {
|
|
81
|
+
strategy: 'immediate' | 'idle' | 'interaction';
|
|
82
|
+
timeout?: number;
|
|
83
|
+
clickProtectionDuration?: number;
|
|
84
|
+
menuReadyDelay?: number;
|
|
85
|
+
}
|
|
86
|
+
declare class ConfigurableUserQuickTools extends UserQuickTools {
|
|
87
|
+
private config;
|
|
88
|
+
constructor();
|
|
89
|
+
connectedCallback(): void;
|
|
90
|
+
}
|
|
91
|
+
declare function initializeWhenReady(): void;
|