studiocms 0.1.0-beta.7 → 0.1.0-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (585) hide show
  1. package/CHANGELOG.md +473 -0
  2. package/LICENSE +1 -1
  3. package/README.md +17 -10
  4. package/auth.d.ts +405 -0
  5. package/core.d.ts +225 -0
  6. package/custom-renderers/index.ts +4 -0
  7. package/custom-renderers/markdocRenderers/markdocReact-components/MarkDocReactRenderer.tsx +8 -0
  8. package/custom-renderers/markdocRenderers/markdocReact-components/MarkDocReactWrapper.astro +13 -0
  9. package/custom-renderers/markdocRenderers/markdocReact.ts +56 -0
  10. package/dist/cli/cmds/get-turso.d.ts +1 -0
  11. package/dist/cli/cmds/get-turso.js +10 -0
  12. package/dist/cli/cmds/init/index.d.ts +4 -0
  13. package/dist/cli/cmds/init/index.js +52 -0
  14. package/dist/cli/cmds/init/steps/data/studiocmsEnv.d.ts +3 -0
  15. package/dist/cli/cmds/init/steps/data/studiocmsEnv.js +71 -0
  16. package/dist/cli/cmds/init/steps/envBuilder.d.ts +21 -0
  17. package/dist/cli/cmds/init/steps/envBuilder.js +368 -0
  18. package/dist/cli/cmds/init/steps/nextSteps.d.ts +2 -0
  19. package/dist/cli/cmds/init/steps/nextSteps.js +38 -0
  20. package/dist/cli/cmds/init.d.ts +1 -0
  21. package/dist/cli/cmds/init.js +4 -0
  22. package/dist/cli/index.d.ts +1 -0
  23. package/dist/cli/index.js +9 -0
  24. package/dist/cli/lib/commander.d.ts +39 -0
  25. package/dist/cli/lib/commander.js +87 -0
  26. package/dist/cli/lib/context.d.ts +28 -0
  27. package/dist/cli/lib/context.js +55 -0
  28. package/dist/cli/lib/pathUtil.d.ts +5 -0
  29. package/dist/cli/lib/pathUtil.js +14 -0
  30. package/dist/cli/lib/runExternal.d.ts +20 -0
  31. package/dist/cli/lib/runExternal.js +40 -0
  32. package/dist/cli/lib/seasonal.d.ts +5 -0
  33. package/dist/cli/lib/seasonal.js +88 -0
  34. package/dist/cli/lib/utils.d.ts +55 -0
  35. package/dist/cli/lib/utils.js +310 -0
  36. package/dist/cli/shared/intro.d.ts +2 -0
  37. package/dist/cli/shared/intro.js +24 -0
  38. package/dist/components/DefaultEditor.astro +138 -0
  39. package/dist/components/FormattedDate.astro +12 -0
  40. package/dist/components/Generator.astro +7 -0
  41. package/dist/components/Renderer.astro +13 -0
  42. package/dist/components/auth/OAuthButton.astro +21 -0
  43. package/dist/components/auth/OAuthButtonStack.astro +19 -0
  44. package/dist/components/auth/StaticAuthCheck.astro +20 -0
  45. package/dist/components/auth/StudioCMSLogoSVG.astro +13 -0
  46. package/dist/components/auth/oAuthButtonProviders.d.ts +8 -0
  47. package/dist/components/auth/oAuthButtonProviders.js +35 -0
  48. package/dist/components/dashboard/AstroCodeDiffsScript.astro +25 -0
  49. package/dist/components/dashboard/BaseHead.astro +41 -0
  50. package/dist/components/dashboard/Code.astro +23 -0
  51. package/dist/components/dashboard/DashboardPageHeader.astro +60 -0
  52. package/dist/components/dashboard/DoubleSidebar.astro +26 -0
  53. package/dist/components/dashboard/Footer.astro +16 -0
  54. package/dist/components/dashboard/MainSidebarContent.astro +124 -0
  55. package/dist/components/dashboard/PageHeader.astro +52 -0
  56. package/dist/components/dashboard/SidebarLink.astro +61 -0
  57. package/dist/components/dashboard/SidebarModals.astro +6 -0
  58. package/dist/components/dashboard/SidebarPluginLink.astro +45 -0
  59. package/dist/components/dashboard/SingleSidebar.astro +23 -0
  60. package/dist/components/dashboard/StudioCMSLogo.astro +12 -0
  61. package/dist/components/dashboard/ThemeManager.astro +53 -0
  62. package/dist/components/dashboard/component-scripts/TinyMDE.astro +6 -0
  63. package/dist/components/dashboard/component-scripts/dateTimeListener.d.ts +1 -0
  64. package/dist/components/dashboard/component-scripts/dateTimeListener.js +14 -0
  65. package/dist/components/dashboard/component-scripts/dateWithTimeAndZone.d.ts +1 -0
  66. package/dist/components/dashboard/component-scripts/dateWithTimeAndZone.js +12 -0
  67. package/dist/components/dashboard/component-scripts/makeClientRoutable.d.ts +1 -0
  68. package/dist/components/dashboard/component-scripts/makeClientRoutable.js +9 -0
  69. package/dist/components/dashboard/component-scripts/timeAgo.d.ts +1 -0
  70. package/dist/components/dashboard/component-scripts/timeAgo.js +21 -0
  71. package/dist/components/dashboard/islands/LoginChecker.astro +52 -0
  72. package/dist/components/dashboard/islands/configuration/ConfigForm.astro +272 -0
  73. package/dist/components/dashboard/islands/configuration/LightVsDark.astro +67 -0
  74. package/dist/components/dashboard/islands/content-mgmt/CreateFolder.astro +91 -0
  75. package/dist/components/dashboard/islands/content-mgmt/CreatePage.astro +332 -0
  76. package/dist/components/dashboard/islands/content-mgmt/EditFolder.astro +112 -0
  77. package/dist/components/dashboard/islands/content-mgmt/EditPage.astro +388 -0
  78. package/dist/components/dashboard/islands/content-mgmt/InnerSidebarElement.astro +230 -0
  79. package/dist/components/dashboard/islands/content-mgmt/PageHeader.astro +387 -0
  80. package/dist/components/dashboard/islands/content-mgmt/PageList.astro +49 -0
  81. package/dist/components/dashboard/islands/content-mgmt/PluginFields.astro +29 -0
  82. package/dist/components/dashboard/islands/content-mgmt/TreeRenderer.astro +75 -0
  83. package/dist/components/dashboard/islands/content-mgmt/TreeSidebarFolder.astro +53 -0
  84. package/dist/components/dashboard/islands/content-mgmt/TreeSidebarLink.astro +51 -0
  85. package/dist/components/dashboard/islands/content-mgmt/runtime.d.ts +10 -0
  86. package/dist/components/dashboard/islands/content-mgmt/runtime.js +33 -0
  87. package/dist/components/dashboard/islands/content-mgmt/shared.d.ts +27 -0
  88. package/dist/components/dashboard/islands/content-mgmt/shared.js +31 -0
  89. package/dist/components/dashboard/islands/dashboard/DashboardGrid.astro +39 -0
  90. package/dist/components/dashboard/islands/dashboard/DashboardGridItem.astro +34 -0
  91. package/dist/components/dashboard/islands/dashboard/Test.astro +5 -0
  92. package/dist/components/dashboard/islands/dashboard/UserName.astro +6 -0
  93. package/dist/components/dashboard/islands/dashboard/shared.d.ts +2 -0
  94. package/dist/components/dashboard/islands/dashboard/shared.js +0 -0
  95. package/dist/components/dashboard/islands/plugins/SettingsRenderer.astro +29 -0
  96. package/dist/components/dashboard/islands/profile/APITokens.astro +267 -0
  97. package/dist/components/dashboard/islands/profile/BasicInfo.astro +107 -0
  98. package/dist/components/dashboard/islands/profile/BasicInfoFallback.astro +43 -0
  99. package/dist/components/dashboard/islands/profile/SocialSignin.astro +151 -0
  100. package/dist/components/dashboard/islands/profile/SocialSigninFallback.astro +83 -0
  101. package/dist/components/dashboard/islands/profile/UpdatePassword.astro +137 -0
  102. package/dist/components/dashboard/islands/profile/UpdatePasswordFallback.astro +47 -0
  103. package/dist/components/dashboard/islands/profile/oAuthButtonProviders.d.ts +8 -0
  104. package/dist/components/dashboard/islands/profile/oAuthButtonProviders.js +35 -0
  105. package/dist/components/dashboard/islands/sidebar/Admin.astro +103 -0
  106. package/dist/components/dashboard/islands/sidebar/Editor.astro +18 -0
  107. package/dist/components/dashboard/islands/sidebar/UserAccount.astro +23 -0
  108. package/dist/components/dashboard/islands/sidebar/VersionCheck.astro +127 -0
  109. package/dist/components/dashboard/islands/sidebar/VersionCheckChangelog.astro +107 -0
  110. package/dist/components/dashboard/islands/user-mgmt/InnerSidebarElement.astro +298 -0
  111. package/dist/components/dashboard/islands/user-mgmt/RankCheck.astro +49 -0
  112. package/dist/components/dashboard/islands/user-mgmt/SocialSignin.astro +88 -0
  113. package/dist/components/dashboard/islands/user-mgmt/UserListItem.astro +60 -0
  114. package/dist/components/dashboard/sidebar-modals/UserManagementModals.astro +103 -0
  115. package/dist/components/dashboard/sidebar-modals/VersionModal.astro +267 -0
  116. package/dist/components/dashboard/sidebarConfig.d.ts +31 -0
  117. package/dist/components/dashboard/sidebarConfig.js +90 -0
  118. package/dist/components/default-grid-items/Recently-created-pages.astro +91 -0
  119. package/dist/components/default-grid-items/Recently-signed-up.astro +71 -0
  120. package/dist/components/default-grid-items/Recently-updated-pages.astro +96 -0
  121. package/dist/components/default-grid-items/Totals.astro +107 -0
  122. package/dist/components/default-grid-items/utils.d.ts +17 -0
  123. package/dist/components/default-grid-items/utils.js +26 -0
  124. package/dist/components/image/CustomImage.astro +90 -0
  125. package/dist/components/user-quick-tools.d.ts +42 -0
  126. package/dist/components/user-quick-tools.js +312 -0
  127. package/dist/config.d.ts +3 -0
  128. package/dist/config.js +4 -0
  129. package/dist/consts.d.ts +61 -0
  130. package/dist/consts.js +39 -0
  131. package/dist/db/config.d.ts +4 -0
  132. package/dist/db/config.js +6 -0
  133. package/dist/db/tables.js +168 -0
  134. package/dist/errors.d.ts +19 -0
  135. package/dist/errors.js +11 -0
  136. package/dist/index.d.ts +152 -0
  137. package/dist/index.js +1177 -0
  138. package/dist/layouts/auth/AuthLayout.astro +74 -0
  139. package/dist/layouts/auth/FallbackCanvas.astro +123 -0
  140. package/dist/layouts/auth/ThemeManager.astro +53 -0
  141. package/dist/layouts/auth/ThreeCanvasLoader.astro +18 -0
  142. package/dist/layouts/dashboard/Layout.astro +64 -0
  143. package/dist/lib/auth/encryption.d.ts +30 -0
  144. package/dist/lib/auth/encryption.js +39 -0
  145. package/dist/lib/auth/password.d.ts +27 -0
  146. package/dist/lib/auth/password.js +42 -0
  147. package/dist/lib/auth/rate-limit.d.ts +136 -0
  148. package/dist/lib/auth/rate-limit.js +214 -0
  149. package/dist/lib/auth/session.d.ts +85 -0
  150. package/dist/lib/auth/session.js +93 -0
  151. package/dist/lib/auth/types.d.ts +83 -0
  152. package/dist/lib/auth/types.js +0 -0
  153. package/dist/lib/auth/user.d.ts +148 -0
  154. package/dist/lib/auth/user.js +133 -0
  155. package/dist/lib/dashboardGrid.d.ts +119 -0
  156. package/dist/lib/dashboardGrid.js +0 -0
  157. package/dist/lib/dynamic-sitemap/index.d.ts +42 -0
  158. package/dist/lib/dynamic-sitemap/index.js +45 -0
  159. package/dist/lib/dynamic-sitemap/sitemap-index.xml.d.ts +8 -0
  160. package/dist/lib/dynamic-sitemap/sitemap-index.xml.js +20 -0
  161. package/dist/lib/dynamic-sitemap/sitemap-index.xml.ts +45 -0
  162. package/dist/lib/head.d.ts +9 -0
  163. package/dist/lib/head.js +65 -0
  164. package/dist/lib/headDefaults.d.ts +18 -0
  165. package/dist/lib/headDefaults.js +75 -0
  166. package/dist/lib/i18n/LanguageSelector.astro +103 -0
  167. package/dist/lib/i18n/config.d.ts +16 -0
  168. package/dist/lib/i18n/config.js +8 -0
  169. package/dist/lib/i18n/index.d.ts +228 -0
  170. package/dist/lib/i18n/index.js +63 -0
  171. package/dist/lib/i18n/translations/de.json +43 -0
  172. package/dist/lib/i18n/translations/en-us.json +63 -0
  173. package/dist/lib/index.d.ts +7 -0
  174. package/dist/lib/index.js +7 -0
  175. package/dist/lib/jsonUtils.d.ts +2 -0
  176. package/dist/lib/jsonUtils.js +11 -0
  177. package/dist/lib/makeAPIRoute.d.ts +45 -0
  178. package/dist/lib/makeAPIRoute.js +16 -0
  179. package/dist/lib/makePublicRoute.d.ts +7 -0
  180. package/dist/lib/makePublicRoute.js +6 -0
  181. package/dist/lib/pathGenerators.d.ts +20 -0
  182. package/dist/lib/pathGenerators.js +66 -0
  183. package/dist/lib/plugins/dashboard-pages.d.ts +71 -0
  184. package/dist/lib/plugins/dashboard-pages.js +11 -0
  185. package/dist/lib/plugins/frontend-navigation.d.ts +18 -0
  186. package/dist/lib/plugins/frontend-navigation.js +39 -0
  187. package/dist/lib/plugins/index.d.ts +2 -0
  188. package/dist/lib/plugins/index.js +2 -0
  189. package/dist/lib/removeLeadingTrailingSlashes.d.ts +7 -0
  190. package/dist/lib/removeLeadingTrailingSlashes.js +13 -0
  191. package/dist/lib/renderer/astro-remark.d.ts +13 -0
  192. package/dist/lib/renderer/astro-remark.js +11 -0
  193. package/dist/lib/renderer/contentRenderer.d.ts +13 -0
  194. package/dist/lib/renderer/contentRenderer.js +31 -0
  195. package/dist/lib/renderer/errors.d.ts +5 -0
  196. package/dist/lib/renderer/errors.js +25 -0
  197. package/dist/lib/renderer/markdoc-renderers/markdocHTML.d.ts +3 -0
  198. package/dist/lib/renderer/markdoc-renderers/markdocHTML.js +14 -0
  199. package/dist/lib/renderer/markdoc-renderers/markdocReactStatic.d.ts +3 -0
  200. package/dist/lib/renderer/markdoc-renderers/markdocReactStatic.js +14 -0
  201. package/dist/lib/renderer/markdoc.d.ts +11 -0
  202. package/dist/lib/renderer/markdoc.js +28 -0
  203. package/dist/lib/renderer/mdx.d.ts +10 -0
  204. package/dist/lib/renderer/mdx.js +37 -0
  205. package/dist/lib/renderer/runtime.d.ts +8 -0
  206. package/dist/lib/renderer/runtime.js +30 -0
  207. package/dist/lib/renderer/shared.d.ts +15 -0
  208. package/dist/lib/renderer/shared.js +13 -0
  209. package/dist/lib/renderer/studiocms.d.ts +11 -0
  210. package/dist/lib/renderer/studiocms.js +22 -0
  211. package/dist/lib/renderer/types.d.ts +12 -0
  212. package/dist/lib/renderer/types.js +0 -0
  213. package/dist/lib/robots/core.d.ts +24 -0
  214. package/dist/lib/robots/core.js +187 -0
  215. package/dist/lib/robots/index.d.ts +11 -0
  216. package/dist/lib/robots/index.js +47 -0
  217. package/dist/lib/robots/types.d.ts +185 -0
  218. package/dist/lib/robots/types.js +0 -0
  219. package/dist/lib/robots/utils.d.ts +22 -0
  220. package/dist/lib/robots/utils.js +22 -0
  221. package/dist/lib/routeMap.d.ts +257 -0
  222. package/dist/lib/routeMap.js +249 -0
  223. package/dist/lib/urlGen.d.ts +11 -0
  224. package/dist/lib/urlGen.js +26 -0
  225. package/dist/lib/webVitals/checkForWebVitalsPlugin.d.ts +18 -0
  226. package/dist/lib/webVitals/checkForWebVitalsPlugin.js +82 -0
  227. package/dist/lib/webVitals/consts.d.ts +240 -0
  228. package/dist/lib/webVitals/consts.js +40 -0
  229. package/dist/lib/webVitals/dashboard-grid-items/CoreVitals.astro +66 -0
  230. package/dist/lib/webVitals/dashboard-grid-items/MetricCard.astro +24 -0
  231. package/dist/lib/webVitals/dashboard-grid-items/SummaryCard.astro +56 -0
  232. package/dist/lib/webVitals/dashboard-grid-items/metric.css +103 -0
  233. package/dist/lib/webVitals/dashboard-grid-items/shared.d.ts +29 -0
  234. package/dist/lib/webVitals/dashboard-grid-items/shared.js +35 -0
  235. package/dist/lib/webVitals/pages/analytics/body.astro +186 -0
  236. package/dist/lib/webVitals/pages/analytics/header.astro +42 -0
  237. package/dist/lib/webVitals/schemas.d.ts +78 -0
  238. package/dist/lib/webVitals/schemas.js +37 -0
  239. package/dist/lib/webVitals/types.d.ts +156 -0
  240. package/dist/lib/webVitals/types.js +0 -0
  241. package/dist/lib/webVitals/utils/buildDataObject.d.ts +8 -0
  242. package/dist/lib/webVitals/utils/buildDataObject.js +28 -0
  243. package/dist/lib/webVitals/utils/buildPageRouteDataObject.d.ts +15 -0
  244. package/dist/lib/webVitals/utils/buildPageRouteDataObject.js +70 -0
  245. package/dist/lib/webVitals/utils/buildPerPageDataObject.d.ts +23 -0
  246. package/dist/lib/webVitals/utils/buildPerPageDataObject.js +209 -0
  247. package/dist/lib/webVitals/utils/checkDate.d.ts +5 -0
  248. package/dist/lib/webVitals/utils/checkDate.js +19 -0
  249. package/dist/lib/webVitals/utils/webVitalsUtils.d.ts +24 -0
  250. package/dist/lib/webVitals/utils/webVitalsUtils.js +234 -0
  251. package/dist/lib/webVitals/webVital.d.ts +20 -0
  252. package/dist/lib/webVitals/webVital.js +40 -0
  253. package/dist/lib/webVitals/webVitalsRouteSummary.d.ts +19 -0
  254. package/dist/lib/webVitals/webVitalsRouteSummary.js +59 -0
  255. package/dist/lib/webVitals/webVitalsSummary.d.ts +19 -0
  256. package/dist/lib/webVitals/webVitalsSummary.js +49 -0
  257. package/dist/plugins.d.ts +2 -0
  258. package/dist/plugins.js +6 -0
  259. package/dist/routes/api/render.astro +25 -0
  260. package/dist/routes/auth/api/auth0/callback.d.ts +4 -0
  261. package/dist/routes/auth/api/auth0/callback.js +117 -0
  262. package/dist/routes/auth/api/auth0/index.d.ts +4 -0
  263. package/dist/routes/auth/api/auth0/index.js +36 -0
  264. package/dist/routes/auth/api/auth0/shared.d.ts +13 -0
  265. package/dist/routes/auth/api/auth0/shared.js +24 -0
  266. package/dist/routes/auth/api/discord/callback.d.ts +4 -0
  267. package/dist/routes/auth/api/discord/callback.js +112 -0
  268. package/dist/routes/auth/api/discord/index.d.ts +4 -0
  269. package/dist/routes/auth/api/discord/index.js +36 -0
  270. package/dist/routes/auth/api/discord/shared.d.ts +12 -0
  271. package/dist/routes/auth/api/discord/shared.js +17 -0
  272. package/dist/routes/auth/api/github/callback.d.ts +4 -0
  273. package/dist/routes/auth/api/github/callback.js +112 -0
  274. package/dist/routes/auth/api/github/index.d.ts +4 -0
  275. package/dist/routes/auth/api/github/index.js +36 -0
  276. package/dist/routes/auth/api/github/shared.d.ts +13 -0
  277. package/dist/routes/auth/api/github/shared.js +14 -0
  278. package/dist/routes/auth/api/google/callback.d.ts +4 -0
  279. package/dist/routes/auth/api/google/callback.js +115 -0
  280. package/dist/routes/auth/api/google/index.d.ts +4 -0
  281. package/dist/routes/auth/api/google/index.js +38 -0
  282. package/dist/routes/auth/api/google/shared.d.ts +12 -0
  283. package/dist/routes/auth/api/google/shared.js +19 -0
  284. package/dist/routes/auth/api/login.d.ts +4 -0
  285. package/dist/routes/auth/api/login.js +46 -0
  286. package/dist/routes/auth/api/logout.d.ts +5 -0
  287. package/dist/routes/auth/api/logout.js +55 -0
  288. package/dist/routes/auth/api/register.d.ts +4 -0
  289. package/dist/routes/auth/api/register.js +64 -0
  290. package/dist/routes/auth/api/shared.d.ts +2 -0
  291. package/dist/routes/auth/api/shared.js +21 -0
  292. package/dist/routes/auth/login.astro +67 -0
  293. package/dist/routes/auth/logout.astro +28 -0
  294. package/dist/routes/auth/signup.astro +70 -0
  295. package/dist/routes/dashboard/[...pluginPage].astro +88 -0
  296. package/dist/routes/dashboard/configuration.astro +27 -0
  297. package/dist/routes/dashboard/content-management/createfolder.astro +56 -0
  298. package/dist/routes/dashboard/content-management/createpage.astro +59 -0
  299. package/dist/routes/dashboard/content-management/diff.astro +100 -0
  300. package/dist/routes/dashboard/content-management/editfolder.astro +40 -0
  301. package/dist/routes/dashboard/content-management/editpage.astro +44 -0
  302. package/dist/routes/dashboard/content-management/index.astro +57 -0
  303. package/dist/routes/dashboard/index.astro +24 -0
  304. package/dist/routes/dashboard/password-reset.astro +169 -0
  305. package/dist/routes/dashboard/plugins/[plugin].astro +60 -0
  306. package/dist/routes/dashboard/profile.astro +57 -0
  307. package/dist/routes/dashboard/studiocms_api/dashboard/api-tokens.d.ts +5 -0
  308. package/dist/routes/dashboard/studiocms_api/dashboard/api-tokens.js +90 -0
  309. package/dist/routes/dashboard/studiocms_api/dashboard/config.d.ts +4 -0
  310. package/dist/routes/dashboard/studiocms_api/dashboard/config.js +63 -0
  311. package/dist/routes/dashboard/studiocms_api/dashboard/content/folder.d.ts +6 -0
  312. package/dist/routes/dashboard/studiocms_api/dashboard/content/folder.js +121 -0
  313. package/dist/routes/dashboard/studiocms_api/dashboard/content/page.d.ts +6 -0
  314. package/dist/routes/dashboard/studiocms_api/dashboard/content/page.js +257 -0
  315. package/dist/routes/dashboard/studiocms_api/dashboard/create-reset-link.d.ts +4 -0
  316. package/dist/routes/dashboard/studiocms_api/dashboard/create-reset-link.js +59 -0
  317. package/dist/routes/dashboard/studiocms_api/dashboard/create-user-invite.d.ts +4 -0
  318. package/dist/routes/dashboard/studiocms_api/dashboard/create-user-invite.js +105 -0
  319. package/dist/routes/dashboard/studiocms_api/dashboard/create-user.d.ts +4 -0
  320. package/dist/routes/dashboard/studiocms_api/dashboard/create-user.js +100 -0
  321. package/dist/routes/dashboard/studiocms_api/dashboard/partials/Editor.astro +61 -0
  322. package/dist/routes/dashboard/studiocms_api/dashboard/partials/LiveRender.astro +30 -0
  323. package/dist/routes/dashboard/studiocms_api/dashboard/partials/UserListItems.astro +39 -0
  324. package/dist/routes/dashboard/studiocms_api/dashboard/plugins/[plugin].d.ts +2 -0
  325. package/dist/routes/dashboard/studiocms_api/dashboard/plugins/[plugin].js +32 -0
  326. package/dist/routes/dashboard/studiocms_api/dashboard/profile.d.ts +4 -0
  327. package/dist/routes/dashboard/studiocms_api/dashboard/profile.js +130 -0
  328. package/dist/routes/dashboard/studiocms_api/dashboard/reset-password.d.ts +4 -0
  329. package/dist/routes/dashboard/studiocms_api/dashboard/reset-password.js +105 -0
  330. package/dist/routes/dashboard/studiocms_api/dashboard/search-list.d.ts +4 -0
  331. package/dist/routes/dashboard/studiocms_api/dashboard/search-list.js +55 -0
  332. package/dist/routes/dashboard/studiocms_api/dashboard/users.d.ts +5 -0
  333. package/dist/routes/dashboard/studiocms_api/dashboard/users.js +92 -0
  334. package/dist/routes/dashboard/studiocms_api/dashboard/verify-session.d.ts +2 -0
  335. package/dist/routes/dashboard/studiocms_api/dashboard/verify-session.js +72 -0
  336. package/dist/routes/dashboard/user-management/edit.astro +593 -0
  337. package/dist/routes/dashboard/user-management/index.astro +67 -0
  338. package/dist/routes/error-pages/404.astro +35 -0
  339. package/dist/routes/firstTimeSetupRoutes/1-start.astro +253 -0
  340. package/dist/routes/firstTimeSetupRoutes/2-next.astro +208 -0
  341. package/dist/routes/firstTimeSetupRoutes/3-done.astro +95 -0
  342. package/dist/routes/firstTimeSetupRoutes/api/step-1.d.ts +2 -0
  343. package/dist/routes/firstTimeSetupRoutes/api/step-1.js +126 -0
  344. package/dist/routes/firstTimeSetupRoutes/api/step-2.d.ts +2 -0
  345. package/dist/routes/firstTimeSetupRoutes/api/step-2.js +110 -0
  346. package/dist/routes/firstTimeSetupRoutes/components/Layout.astro +41 -0
  347. package/dist/routes/firstTimeSetupRoutes/components/PageHeader.astro +60 -0
  348. package/dist/routes/firstTimeSetupRoutes/components/TabItem.astro +44 -0
  349. package/dist/routes/firstTimeSetupRoutes/components/Tabs.astro +170 -0
  350. package/dist/routes/firstTimeSetupRoutes/snippets/opt1-astro.config.diff +14 -0
  351. package/dist/routes/firstTimeSetupRoutes/snippets/opt2-astro.config.diff +9 -0
  352. package/dist/routes/firstTimeSetupRoutes/snippets/opt2-studiocms.config.diff +5 -0
  353. package/dist/routes/rest/utils/auth-token.d.ts +17 -0
  354. package/dist/routes/rest/utils/auth-token.js +31 -0
  355. package/dist/routes/rest/v1/folders/[id].d.ts +6 -0
  356. package/dist/routes/rest/v1/folders/[id].js +106 -0
  357. package/dist/routes/rest/v1/folders/index.d.ts +5 -0
  358. package/dist/routes/rest/v1/folders/index.js +88 -0
  359. package/dist/routes/rest/v1/pages/[id]/history/[diffid].d.ts +4 -0
  360. package/dist/routes/rest/v1/pages/[id]/history/[diffid].js +55 -0
  361. package/dist/routes/rest/v1/pages/[id]/history/index.d.ts +4 -0
  362. package/dist/routes/rest/v1/pages/[id]/history/index.js +61 -0
  363. package/dist/routes/rest/v1/pages/[id]/index.d.ts +6 -0
  364. package/dist/routes/rest/v1/pages/[id]/index.js +165 -0
  365. package/dist/routes/rest/v1/pages/index.d.ts +5 -0
  366. package/dist/routes/rest/v1/pages/index.js +113 -0
  367. package/dist/routes/rest/v1/public/folders/[id].d.ts +4 -0
  368. package/dist/routes/rest/v1/public/folders/[id].js +43 -0
  369. package/dist/routes/rest/v1/public/folders/index.d.ts +4 -0
  370. package/dist/routes/rest/v1/public/folders/index.js +49 -0
  371. package/dist/routes/rest/v1/public/pages/[id].d.ts +4 -0
  372. package/dist/routes/rest/v1/public/pages/[id].js +46 -0
  373. package/dist/routes/rest/v1/public/pages/index.d.ts +4 -0
  374. package/dist/routes/rest/v1/public/pages/index.js +61 -0
  375. package/dist/routes/rest/v1/settings/index.d.ts +5 -0
  376. package/dist/routes/rest/v1/settings/index.js +75 -0
  377. package/dist/routes/rest/v1/users/[id].d.ts +6 -0
  378. package/dist/routes/rest/v1/users/[id].js +212 -0
  379. package/dist/routes/rest/v1/users/index.d.ts +5 -0
  380. package/dist/routes/rest/v1/users/index.js +138 -0
  381. package/dist/routes/sdk/fallback-list-pages.json.d.ts +2 -0
  382. package/dist/routes/sdk/fallback-list-pages.json.js +19 -0
  383. package/dist/routes/sdk/fallback-list-pages.json.ts +22 -0
  384. package/dist/routes/sdk/full-changelog.json.d.ts +16 -0
  385. package/dist/routes/sdk/full-changelog.json.js +170 -0
  386. package/dist/routes/sdk/full-changelog.json.ts +224 -0
  387. package/dist/routes/sdk/list-pages.d.ts +4 -0
  388. package/dist/routes/sdk/list-pages.js +34 -0
  389. package/dist/routes/sdk/update-latest-version-cache.d.ts +4 -0
  390. package/dist/routes/sdk/update-latest-version-cache.js +41 -0
  391. package/dist/runtime/AstroComponentProxy.d.ts +29 -0
  392. package/dist/runtime/AstroComponentProxy.js +47 -0
  393. package/dist/runtime/decoder/decode-codepoint.d.ts +18 -0
  394. package/dist/runtime/decoder/decode-codepoint.js +58 -0
  395. package/dist/runtime/decoder/decode-data-html.d.ts +1 -0
  396. package/dist/runtime/decoder/decode-data-html.js +7 -0
  397. package/dist/runtime/decoder/decode-data-xml.d.ts +1 -0
  398. package/dist/runtime/decoder/decode-data-xml.js +7 -0
  399. package/dist/runtime/decoder/index.d.ts +34 -0
  400. package/dist/runtime/decoder/index.js +18 -0
  401. package/dist/runtime/decoder/util.d.ts +208 -0
  402. package/dist/runtime/decoder/util.js +415 -0
  403. package/dist/schemas/config/auth.d.ts +175 -0
  404. package/dist/schemas/config/auth.js +65 -0
  405. package/dist/schemas/config/componentoverrides.d.ts +17 -0
  406. package/dist/schemas/config/componentoverrides.js +14 -0
  407. package/dist/schemas/config/dashboard.d.ts +154 -0
  408. package/dist/schemas/config/dashboard.js +59 -0
  409. package/dist/schemas/config/defaultFrontend.d.ts +125 -0
  410. package/dist/schemas/config/defaultFrontend.js +57 -0
  411. package/dist/schemas/config/developer.d.ts +15 -0
  412. package/dist/schemas/config/developer.js +14 -0
  413. package/dist/schemas/config/imageService.d.ts +13 -0
  414. package/dist/schemas/config/imageService.js +12 -0
  415. package/dist/schemas/config/index.d.ts +1153 -0
  416. package/dist/schemas/config/index.js +95 -0
  417. package/dist/schemas/config/integrations.d.ts +14 -0
  418. package/dist/schemas/config/integrations.js +12 -0
  419. package/dist/schemas/config/markdoc.d.ts +172 -0
  420. package/dist/schemas/config/markdoc.js +68 -0
  421. package/dist/schemas/config/mdx.d.ts +455 -0
  422. package/dist/schemas/config/mdx.js +71 -0
  423. package/dist/schemas/config/rendererConfig.d.ts +659 -0
  424. package/dist/schemas/config/rendererConfig.js +51 -0
  425. package/dist/schemas/config/sdk.d.ts +167 -0
  426. package/dist/schemas/config/sdk.js +85 -0
  427. package/dist/schemas/config/studiocms-markdown-remark.d.ts +292 -0
  428. package/dist/schemas/config/studiocms-markdown-remark.js +63 -0
  429. package/dist/schemas/index.d.ts +2 -0
  430. package/dist/schemas/index.js +2 -0
  431. package/dist/schemas/plugins/index.d.ts +7373 -0
  432. package/dist/schemas/plugins/index.js +192 -0
  433. package/dist/schemas/plugins/shared.d.ts +1752 -0
  434. package/dist/schemas/plugins/shared.js +221 -0
  435. package/dist/scripts/formListener.d.ts +16 -0
  436. package/dist/scripts/formListener.js +46 -0
  437. package/dist/scripts/three.d.ts +1 -0
  438. package/dist/scripts/three.js +277 -0
  439. package/dist/scripts/utils/fitModelToViewport.d.ts +8 -0
  440. package/dist/scripts/utils/fitModelToViewport.js +19 -0
  441. package/dist/sdk/StudioCMSVirtualCache.d.ts +283 -0
  442. package/dist/sdk/StudioCMSVirtualCache.js +685 -0
  443. package/dist/sdk/cache.d.ts +11 -0
  444. package/dist/sdk/cache.js +12 -0
  445. package/dist/sdk/core.d.ts +865 -0
  446. package/dist/sdk/core.js +1966 -0
  447. package/dist/sdk/errors.d.ts +21 -0
  448. package/dist/sdk/errors.js +11 -0
  449. package/dist/sdk/index.d.ts +371 -0
  450. package/dist/sdk/index.js +8 -0
  451. package/dist/sdk/lib/foldertree.d.ts +50 -0
  452. package/dist/sdk/lib/foldertree.js +123 -0
  453. package/dist/sdk/lib/generators.d.ts +30 -0
  454. package/dist/sdk/lib/generators.js +25 -0
  455. package/dist/sdk/lib/packages.d.ts +8 -0
  456. package/dist/sdk/lib/packages.js +14 -0
  457. package/dist/sdk/lib/parsers.d.ts +14 -0
  458. package/dist/sdk/lib/parsers.js +10 -0
  459. package/dist/sdk/lib/users.d.ts +19 -0
  460. package/dist/sdk/lib/users.js +26 -0
  461. package/dist/sdk/tables.d.ts +1198 -0
  462. package/dist/sdk/tables.js +55 -0
  463. package/dist/sdk/types/index.d.ts +175 -0
  464. package/dist/sdk/types/index.js +0 -0
  465. package/dist/sdk/types/tableDefs.d.ts +75 -0
  466. package/dist/sdk/types/tableDefs.js +0 -0
  467. package/dist/sdk/types/tsAlias.d.ts +155 -0
  468. package/dist/sdk/types/tsAlias.js +0 -0
  469. package/dist/sdk/utils/db.d.ts +5 -0
  470. package/dist/sdk/utils/db.js +15 -0
  471. package/dist/stubs/auth-lib.d.ts +2 -0
  472. package/dist/stubs/auth-lib.js +519 -0
  473. package/dist/stubs/auth-scripts.d.ts +2 -0
  474. package/dist/stubs/auth-scripts.js +29 -0
  475. package/dist/stubs/auth-utils.d.ts +2 -0
  476. package/dist/stubs/auth-utils.js +36 -0
  477. package/dist/stubs/changelog.d.ts +2 -0
  478. package/dist/stubs/changelog.js +16 -0
  479. package/dist/stubs/components.d.ts +2 -0
  480. package/dist/stubs/components.js +67 -0
  481. package/dist/stubs/core.d.ts +2 -0
  482. package/dist/stubs/core.js +49 -0
  483. package/dist/stubs/i18n-dts.d.ts +2 -0
  484. package/dist/stubs/i18n-dts.js +117 -0
  485. package/dist/stubs/images.d.ts +1 -0
  486. package/dist/stubs/images.js +30 -0
  487. package/dist/stubs/index.d.ts +1 -0
  488. package/dist/stubs/index.js +40 -0
  489. package/dist/stubs/lib.d.ts +2 -0
  490. package/dist/stubs/lib.js +123 -0
  491. package/dist/stubs/plugins.d.ts +2 -0
  492. package/dist/stubs/plugins.js +60 -0
  493. package/dist/stubs/proxy.d.ts +2 -0
  494. package/dist/stubs/proxy.js +40 -0
  495. package/dist/stubs/renderer-config.d.ts +2 -0
  496. package/dist/stubs/renderer-config.js +18 -0
  497. package/dist/stubs/renderer-markdownConfig.d.ts +2 -0
  498. package/dist/stubs/renderer-markdownConfig.js +17 -0
  499. package/dist/stubs/renderer.d.ts +2 -0
  500. package/dist/stubs/renderer.js +44 -0
  501. package/dist/stubs/sdk.d.ts +2 -0
  502. package/dist/stubs/sdk.js +202 -0
  503. package/dist/stubs/webVitals.d.ts +2 -0
  504. package/dist/stubs/webVitals.js +40 -0
  505. package/dist/styles/404.css +47 -0
  506. package/dist/styles/SyntaxFont.woff2 +0 -0
  507. package/dist/styles/authlayout.css +138 -0
  508. package/dist/styles/dashboard-base.css +493 -0
  509. package/dist/styles/dashboard-code.css +33 -0
  510. package/dist/styles/dashboard-diff.css +389 -0
  511. package/dist/styles/dashboard-tiny-mde.css +224 -0
  512. package/dist/styles/md-remark-callouts/github.css +56 -0
  513. package/dist/styles/md-remark-callouts/obsidian.css +66 -0
  514. package/dist/styles/md-remark-callouts/vitepress.css +58 -0
  515. package/dist/styles/md-remark-headings.css +48 -0
  516. package/dist/types.d.ts +48 -0
  517. package/dist/types.js +0 -0
  518. package/dist/utils/addAPIRoutes.d.ts +9 -0
  519. package/dist/utils/addAPIRoutes.js +33 -0
  520. package/dist/utils/addIntegrationArray.d.ts +24 -0
  521. package/dist/utils/addIntegrationArray.js +11 -0
  522. package/dist/utils/addIntegrationArrayWithCheck.d.ts +11 -0
  523. package/dist/utils/addIntegrationArrayWithCheck.js +24 -0
  524. package/dist/utils/astroConfigCheck.d.ts +8 -0
  525. package/dist/utils/astroConfigCheck.js +31 -0
  526. package/dist/utils/astroEnvConfig.d.ts +45 -0
  527. package/dist/utils/astroEnvConfig.js +9 -0
  528. package/dist/utils/authEnvCheck.d.ts +38 -0
  529. package/dist/utils/authEnvCheck.js +82 -0
  530. package/dist/utils/changelog.d.ts +1 -0
  531. package/dist/utils/changelog.js +53 -0
  532. package/dist/utils/changelogLoader.d.ts +15 -0
  533. package/dist/utils/changelogLoader.js +104 -0
  534. package/dist/utils/checkENV.d.ts +27 -0
  535. package/dist/utils/checkENV.js +115 -0
  536. package/dist/utils/configManager.d.ts +22 -0
  537. package/dist/utils/configManager.js +98 -0
  538. package/dist/utils/configResolver.d.ts +283 -0
  539. package/dist/utils/configResolver.js +105 -0
  540. package/dist/utils/defineStudioCMSConfig.d.ts +165 -0
  541. package/dist/utils/defineStudioCMSConfig.js +6 -0
  542. package/dist/utils/getLabelForPermissionLevel.d.ts +2 -0
  543. package/dist/utils/getLabelForPermissionLevel.js +17 -0
  544. package/dist/utils/injectRouteArray.d.ts +19 -0
  545. package/dist/utils/injectRouteArray.js +75 -0
  546. package/dist/utils/integrationLogger.d.ts +7 -0
  547. package/dist/utils/integrationLogger.js +18 -0
  548. package/dist/utils/integrations.d.ts +4 -0
  549. package/dist/utils/integrations.js +32 -0
  550. package/dist/utils/isDashboardRoute.d.ts +7 -0
  551. package/dist/utils/isDashboardRoute.js +10 -0
  552. package/dist/utils/loginBackgrounds/studiocms-blobs-dark.png +0 -0
  553. package/dist/utils/loginBackgrounds/studiocms-blobs-light.png +0 -0
  554. package/dist/utils/loginBackgrounds/studiocms-blocks-dark.png +0 -0
  555. package/dist/utils/loginBackgrounds/studiocms-blocks-light.png +0 -0
  556. package/dist/utils/loginBackgrounds/studiocms-curves-dark.png +0 -0
  557. package/dist/utils/loginBackgrounds/studiocms-curves-light.png +0 -0
  558. package/dist/utils/makePageTitle.d.ts +3 -0
  559. package/dist/utils/makePageTitle.js +7 -0
  560. package/dist/utils/pageListPackageLabel.d.ts +4 -0
  561. package/dist/utils/pageListPackageLabel.js +12 -0
  562. package/dist/utils/readJson.d.ts +1 -0
  563. package/dist/utils/readJson.js +7 -0
  564. package/dist/utils/routeBuilder.d.ts +18 -0
  565. package/dist/utils/routeBuilder.js +96 -0
  566. package/dist/utils/safeString.d.ts +1 -0
  567. package/dist/utils/safeString.js +6 -0
  568. package/dist/utils/simpleResponse.d.ts +1 -0
  569. package/dist/utils/simpleResponse.js +29 -0
  570. package/dist/utils/validImages.d.ts +13 -0
  571. package/dist/utils/validImages.js +39 -0
  572. package/dist/virtual.d.js +0 -0
  573. package/dist/virtual.d.ts +5 -0
  574. package/package.json +180 -59
  575. package/renderer.d.ts +25 -0
  576. package/static/studiocms-resources/auth/studiocms-logo.glb +0 -0
  577. package/static/studiocms-resources/core/favicon-dark.png +0 -0
  578. package/static/studiocms-resources/core/favicon-light.png +0 -0
  579. package/static/studiocms-resources/core/favicon.svg +15 -0
  580. package/studiocms-cli.mjs +13 -0
  581. package/ui.d.ts +291 -0
  582. package/src/blog/index.ts +0 -35
  583. package/src/index.ts +0 -25
  584. package/src/integration.ts +0 -130
  585. package/src/updateCheck.ts +0 -51
@@ -0,0 +1,103 @@
1
+ ---
2
+ import { languageSelectorOptions, switchLanguage } from './index.js';
3
+
4
+ const switcher = switchLanguage(Astro);
5
+
6
+ // TODO: Update the language selector's styles to match StudioCMS's new design
7
+ ---
8
+
9
+ <button
10
+ id="language-selector"
11
+ class="language-selector mr-2"
12
+ >
13
+ <svg xmlns="http://www.w3.org/2000/svg" class="w-full h-[80%]" width="1.5rem" height="1.5rem" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M4 5h7M9 3v2c0 4.418-2.239 8-5 8"/><path d="M5 9c0 2.144 2.952 3.908 6.7 4m.3 7l4-9l4 9m-.9-2h-6.2"/></g></svg>
14
+ </button>
15
+
16
+ <menu id="language-sector-menu" type="context" class="bg-neutral rounded-md p-2">
17
+ {
18
+ //Language Buttons Auto-Generated
19
+ languageSelectorOptions.map(({ key, value }) => (
20
+ <a class="btn btn-primary" href={switcher(key)}>{value}</a>
21
+ ))
22
+ }
23
+ <div class="flex flex-row-reverse">
24
+ <button
25
+ id="language-sector-menu-cancel"
26
+ class="btn btn-sm btn-circle btn-outline text-neutral-content"
27
+ type="button">
28
+ <svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" fill="none" viewBox="0 0 24 24" stroke="currentColor">
29
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
30
+ </svg>
31
+ </button>
32
+ </div>
33
+ </menu>
34
+
35
+ <style>
36
+ .language-selector {
37
+ background-color: oklch(var(--b2));
38
+ border-radius: 50%;
39
+ border: 0.125rem solid;
40
+ border-color: oklch(var(--s));
41
+ box-shadow: 0 0 0.25rem 0.015rem rgba(0, 0, 0, 0.694);
42
+ width: 2.5rem;
43
+ height: 2.5rem;
44
+ cursor: pointer;
45
+ display: none;
46
+ opacity: 0;
47
+ z-index: 99998;
48
+ transition: opacity 1s ease;
49
+ }
50
+ #language-sector-menu {
51
+ position: absolute;
52
+ display: none;
53
+ flex-direction: column;
54
+ gap: 0.5rem;
55
+ left: -4rem;
56
+ top: 3rem;
57
+ width: max-content;
58
+ z-index: 99999;
59
+ }
60
+
61
+ #language-sector-menu-cancel {
62
+ border-radius: 50%;
63
+ }
64
+ </style>
65
+
66
+ <script>
67
+ // Get the Language Selector elements
68
+ const LanguageSelector = document.getElementById('language-selector') as HTMLButtonElement;
69
+ const LanguageSectorMenuCancel = document.getElementById('language-sector-menu-cancel') as HTMLButtonElement;
70
+ const LanguageSectorMenu = document.getElementById('language-sector-menu') as HTMLMenuElement;
71
+
72
+ // Show the Language Selector on page load
73
+ setTimeout(() => {
74
+ LanguageSelector.style.display = 'block';
75
+ setTimeout(() => {
76
+ LanguageSelector.style.opacity = "1";
77
+ }, 250);
78
+ }, 200);
79
+
80
+ // Toggle the Language Selector
81
+ function toggleLanguageSelector(element: HTMLMenuElement) {
82
+ if (
83
+ !element.style.display
84
+ || element.style.display === 'none'
85
+ ) {
86
+ element.style.display = 'flex';
87
+ } else {
88
+ element.style.display = 'none';
89
+ }
90
+ }
91
+
92
+ // Language Selector Event Listeners
93
+ LanguageSelector.addEventListener('click', () =>
94
+ toggleLanguageSelector(LanguageSectorMenu)
95
+ );
96
+ LanguageSelector.addEventListener('contextmenu', (e) => {
97
+ e.preventDefault();
98
+ toggleLanguageSelector(LanguageSectorMenu)
99
+ });
100
+ LanguageSectorMenuCancel.addEventListener('click', () =>
101
+ toggleLanguageSelector(LanguageSectorMenu)
102
+ );
103
+ </script>
@@ -0,0 +1,16 @@
1
+ /**
2
+ * The UI translations available in the StudioCMS app.
3
+ */
4
+ export declare const uiTranslationsAvailable: readonly ["en-us"];
5
+ /**
6
+ * The UI translations available in the StudioCMS app.
7
+ */
8
+ export type UiTranslationKey = (typeof uiTranslationsAvailable)[number];
9
+ /**
10
+ * The default language for the StudioCMS app.
11
+ */
12
+ export declare const defaultLang: UiTranslationKey;
13
+ /**
14
+ * Whether to show the default language in the language switcher.
15
+ */
16
+ export declare const showDefaultLang: boolean;
@@ -0,0 +1,8 @@
1
+ const uiTranslationsAvailable = ["en-us"];
2
+ const defaultLang = "en-us";
3
+ const showDefaultLang = false;
4
+ export {
5
+ defaultLang,
6
+ showDefaultLang,
7
+ uiTranslationsAvailable
8
+ };
@@ -0,0 +1,228 @@
1
+ import type { AstroGlobal } from 'astro';
2
+ /**
3
+ * The UI translations available in the StudioCMS app.
4
+ */
5
+ declare const uiTranslations: {
6
+ readonly 'en-us': {
7
+ default: {
8
+ displayName: string;
9
+ translations: {
10
+ "@studiocms/auth:login": {
11
+ title: string;
12
+ description: string;
13
+ header: string;
14
+ "sub-header-usernamepasswordoauth": string;
15
+ "sub-header-usernamepassword": string;
16
+ "sub-header-oauth": string;
17
+ "sub-header-noprovider": string;
18
+ "username-label": string;
19
+ "password-label": string;
20
+ "login-button": string;
21
+ "allow-registration-noaccount": string;
22
+ "allow-registration-register": string;
23
+ };
24
+ "@studiocms/auth:signup": {
25
+ title: string;
26
+ description: string;
27
+ header: string;
28
+ "sub-header-usernamepasswordoauth": string;
29
+ "sub-header-usernamepassword": string;
30
+ "sub-header-oauth": string;
31
+ "sub-header-noprovider": string;
32
+ "username-label": string;
33
+ "email-label": string;
34
+ "displayname-label": string;
35
+ "password-label": string;
36
+ "confirm-password-label": string;
37
+ "create-account-button": string;
38
+ "allow-login-haveaccount": string;
39
+ "allow-login-login": string;
40
+ };
41
+ "@studiocms/auth:logout": {
42
+ title: string;
43
+ description: string;
44
+ };
45
+ "@studiocms/auth:oauth-stack": {
46
+ "or-login-with": string;
47
+ };
48
+ "@studiocms/dashboard:index": {
49
+ title: string;
50
+ "welcome-title": string;
51
+ "title-button:discord": string;
52
+ "title-button:feedback": string;
53
+ "sub-header": string;
54
+ };
55
+ "@studiocms/dashboard:sidebar": {
56
+ "category-1-header": string;
57
+ "dashboard-link-label": string;
58
+ "content-management-label": string;
59
+ "category-2-header": string;
60
+ "site-configuration-label": string;
61
+ "user-management-label": string;
62
+ "category-3-header": string;
63
+ "category-3-empty-placeholder": string;
64
+ "user-dropdown:settings": string;
65
+ "user-dropdown:view-site": string;
66
+ "user-dropdown:logout": string;
67
+ };
68
+ };
69
+ };
70
+ displayName: string;
71
+ translations: {
72
+ "@studiocms/auth:login": {
73
+ title: string;
74
+ description: string;
75
+ header: string;
76
+ "sub-header-usernamepasswordoauth": string;
77
+ "sub-header-usernamepassword": string;
78
+ "sub-header-oauth": string;
79
+ "sub-header-noprovider": string;
80
+ "username-label": string;
81
+ "password-label": string;
82
+ "login-button": string;
83
+ "allow-registration-noaccount": string;
84
+ "allow-registration-register": string;
85
+ };
86
+ "@studiocms/auth:signup": {
87
+ title: string;
88
+ description: string;
89
+ header: string;
90
+ "sub-header-usernamepasswordoauth": string;
91
+ "sub-header-usernamepassword": string;
92
+ "sub-header-oauth": string;
93
+ "sub-header-noprovider": string;
94
+ "username-label": string;
95
+ "email-label": string;
96
+ "displayname-label": string;
97
+ "password-label": string;
98
+ "confirm-password-label": string;
99
+ "create-account-button": string;
100
+ "allow-login-haveaccount": string;
101
+ "allow-login-login": string;
102
+ };
103
+ "@studiocms/auth:logout": {
104
+ title: string;
105
+ description: string;
106
+ };
107
+ "@studiocms/auth:oauth-stack": {
108
+ "or-login-with": string;
109
+ };
110
+ "@studiocms/dashboard:index": {
111
+ title: string;
112
+ "welcome-title": string;
113
+ "title-button:discord": string;
114
+ "title-button:feedback": string;
115
+ "sub-header": string;
116
+ };
117
+ "@studiocms/dashboard:sidebar": {
118
+ "category-1-header": string;
119
+ "dashboard-link-label": string;
120
+ "content-management-label": string;
121
+ "category-2-header": string;
122
+ "site-configuration-label": string;
123
+ "user-management-label": string;
124
+ "category-3-header": string;
125
+ "category-3-empty-placeholder": string;
126
+ "user-dropdown:settings": string;
127
+ "user-dropdown:view-site": string;
128
+ "user-dropdown:logout": string;
129
+ };
130
+ };
131
+ };
132
+ };
133
+ /**
134
+ * Represents the type of UI translations.
135
+ * This type is derived from the structure of the `uiTranslations` object.
136
+ */
137
+ export type UiTranslations = typeof uiTranslations;
138
+ /**
139
+ * Represents the keys of the UiTranslations type.
140
+ * This type is used to define the possible keys for UI language translations.
141
+ */
142
+ export type UiLanguageKeys = keyof UiTranslations;
143
+ /**
144
+ * Represents the keys of the UI component translations for the 'en-us' locale.
145
+ * This type is derived from the 'translations' property of the 'UiTranslations' interface
146
+ * for the 'en-us' locale (Source of truth), ensuring that only valid translation keys are used.
147
+ */
148
+ export type UiComponentKeys = keyof UiTranslations['en-us']['translations'];
149
+ type UiTranslationComponent<L extends UiLanguageKeys, T extends UiComponentKeys> = (typeof uiTranslations)[L]['translations'][T];
150
+ type UiTranslationKey<L extends UiLanguageKeys, T extends UiComponentKeys> = keyof UiTranslationComponent<L, T>;
151
+ /**
152
+ * Retrieves a translation function for a given language and component.
153
+ *
154
+ * @param lang - The language key to use for translations.
155
+ * @param component - The component key to use for translations.
156
+ * @returns A function that takes a translation key and returns the corresponding translated string.
157
+ */
158
+ export declare function useTranslations<L extends UiLanguageKeys, T extends UiComponentKeys>(lang: L, component: T): (key: UiTranslationKey<L, T>) => UiTranslationComponent<L, T>[UiTranslationKey<L, T>];
159
+ /**
160
+ * Returns a function that translates a given path based on the provided language.
161
+ *
162
+ * @param lang - The language key to be used for translation.
163
+ * @returns A function that takes a path and an optional language key, and returns the translated path.
164
+ * If the language key is not provided, the default language key is used.
165
+ * If the language is the default language and `showDefaultLang` is false, the original path is returned.
166
+ * Otherwise, the path is prefixed with the language key.
167
+ */
168
+ export declare function useTranslatedPath(lang: UiLanguageKeys): (path: string, l?: string) => string;
169
+ /**
170
+ * Generates an array of language selector options from the `uiTranslations` object.
171
+ * Each option contains a `key` and a `value` where:
172
+ * - `key` is a language key from `UiLanguageKeys`.
173
+ * - `value` is the display name of the language.
174
+ *
175
+ * @returns An array of objects representing language selector options.
176
+ */
177
+ export declare const languageSelectorOptions: {
178
+ key: UiLanguageKeys;
179
+ value: string;
180
+ }[];
181
+ /**
182
+ * Extracts the language key from the given URL's pathname.
183
+ *
184
+ * @param url - The URL object from which to extract the language key.
185
+ * @returns The language key if it exists in the `uiTranslations`, otherwise returns the default language key.
186
+ */
187
+ export declare function getLangFromUrl(url: URL): "en-us";
188
+ /**
189
+ * Retrieves the current URL path, adjusting for language settings.
190
+ *
191
+ * This function checks if the URL path includes '/_server-islands'. If it does,
192
+ * it extracts the referer URL from the request headers and determines the current
193
+ * language from that URL. If the current language is the default language, it returns
194
+ * the pathname as is. Otherwise, it replaces the language segment in the pathname with '/'.
195
+ *
196
+ * If the URL path does not include '/_server-islands', it uses the Astro URL directly
197
+ * to determine the current language and adjust the pathname accordingly.
198
+ *
199
+ * @param {AstroGlobal} Astro - The global Astro object containing URL and request information.
200
+ */
201
+ export declare function getCurrentURLPath(Astro: AstroGlobal): string;
202
+ /**
203
+ * Function to switch the language of the current page.
204
+ *
205
+ * @param {AstroGlobal} Astro - The global Astro object.
206
+ */
207
+ export declare function switchLanguage(Astro: AstroGlobal): (languageKey: UiLanguageKeys) => string;
208
+ /**
209
+ * Example of how to use this i18n utils on a Static page
210
+ *
211
+ * @example
212
+ * ```ts
213
+ * export async function getStaticPaths() {
214
+ * const paths = staticPaths();
215
+ * return paths;
216
+ * }
217
+ * ```
218
+ *
219
+ * If the default language is hidden, the paths for the default language will be generated without the language prefix while all extra languages will have the prefix. (e.g. When `showDefaultLang` is false: `/en/page` will be `/page` and spanish will be `/es/page`)
220
+ *
221
+ * @returns An array of paths for all languages
222
+ */
223
+ export declare const staticPaths: () => {
224
+ params: {
225
+ locale: string | undefined;
226
+ };
227
+ }[];
228
+ export {};
@@ -0,0 +1,63 @@
1
+ import { defaultLang, showDefaultLang } from "./config.js";
2
+ const uiTranslations = {
3
+ "en-us": await import("./translations/en-us.json")
4
+ };
5
+ function useTranslations(lang, component) {
6
+ return function t(key) {
7
+ const translation = uiTranslations[lang].translations[component][key];
8
+ if (translation === void 0 || translation === "") {
9
+ return uiTranslations[defaultLang].translations[component][key];
10
+ }
11
+ return translation;
12
+ };
13
+ }
14
+ function useTranslatedPath(lang) {
15
+ return function translatePath(path, l = lang) {
16
+ return !showDefaultLang && l === defaultLang ? path : `/${l}${path}`;
17
+ };
18
+ }
19
+ const languageSelectorOptions = Object.keys(uiTranslations).map((key) => {
20
+ return {
21
+ key,
22
+ value: uiTranslations[key].displayName
23
+ };
24
+ });
25
+ function getLangFromUrl(url) {
26
+ const [, lang] = url.pathname.split("/");
27
+ if (lang && lang in uiTranslations) return lang;
28
+ return defaultLang;
29
+ }
30
+ function getCurrentURLPath(Astro) {
31
+ if (Astro.url.pathname.includes("/_server-islands")) {
32
+ const path2 = new URL(Astro.request.headers.get("referer") || "");
33
+ const currentLang2 = getLangFromUrl(path2);
34
+ return currentLang2 === defaultLang ? path2.pathname : path2.pathname.replace(`/${currentLang2}/`, "/");
35
+ }
36
+ const path = Astro.url;
37
+ const currentLang = getLangFromUrl(path);
38
+ return currentLang === defaultLang ? path.pathname : path.pathname.replace(`/${currentLang}/`, "/");
39
+ }
40
+ function switchLanguage(Astro) {
41
+ return function switcher(languageKey) {
42
+ const translatePath = useTranslatedPath(languageKey);
43
+ return translatePath(getCurrentURLPath(Astro));
44
+ };
45
+ }
46
+ const staticPaths = () => {
47
+ const paths = [];
48
+ if (!showDefaultLang) paths.push({ params: { locale: void 0 } });
49
+ for (const lang in uiTranslations) {
50
+ if (lang === defaultLang && !showDefaultLang) continue;
51
+ paths.push({ params: { locale: lang } });
52
+ }
53
+ return paths;
54
+ };
55
+ export {
56
+ getCurrentURLPath,
57
+ getLangFromUrl,
58
+ languageSelectorOptions,
59
+ staticPaths,
60
+ switchLanguage,
61
+ useTranslatedPath,
62
+ useTranslations
63
+ };
@@ -0,0 +1,43 @@
1
+ {
2
+ "displayName": "German (de-DE)",
3
+ "translations": {
4
+ "@studiocms/auth:login": {
5
+ "title": "Login-Seite",
6
+ "description": "Login-Seite",
7
+ "header": "Login",
8
+ "sub-header-usernamepasswordoauth": "Gebe deinen Nutzername & Passwort ein oder verwende einen der Login-Anbieter, um dich einzuloggen.",
9
+ "sub-header-usernamepassword": "Gebe deinen Nutzername und Passwort ein.",
10
+ "sub-header-oauth": "Wähle einen der Anbieter um dich einzuloggen.",
11
+ "sub-header-noprovider": "Kein Login-Anbieter konfiguriert. Bitte kontaktiere deinen Administrator.",
12
+ "username-label": "Nutzername",
13
+ "password-label": "Passwort",
14
+ "login-button": "Einloggen",
15
+ "allow-registration-noaccount": "Du hast keinen Account?",
16
+ "allow-registration-register": "Registriere dich hier!"
17
+ },
18
+ "@studiocms/auth:signup": {
19
+ "title": "Registrierung",
20
+ "description": "Registrierung",
21
+ "header": "Registrierung",
22
+ "sub-header-usernamepasswordoauth": "Erstelle einen Account mit einer der vorliegenden Optionen.",
23
+ "sub-header-usernamepassword": "Erstelle einen Account mit dem Registrierungs-Formular.",
24
+ "sub-header-oauth": "Nutze eine der Optionen, um dich einzuloggen.",
25
+ "sub-header-noprovider": "",
26
+ "username-label": "",
27
+ "email-label": "",
28
+ "displayname-label": "",
29
+ "password-label": "",
30
+ "confirm-password-label": "",
31
+ "create-account-button": "",
32
+ "allow-login-haveaccount": "",
33
+ "allow-login-login": ""
34
+ },
35
+ "@studiocms/auth:logout": {
36
+ "title": "",
37
+ "description": ""
38
+ },
39
+ "@studiocms/auth:oauth-stack": {
40
+ "or-login-with": ""
41
+ }
42
+ }
43
+ }
@@ -0,0 +1,63 @@
1
+ {
2
+ "displayName": "English (en-US)",
3
+ "translations": {
4
+ "@studiocms/auth:login": {
5
+ "title": "Login Page",
6
+ "description": "Login Page",
7
+ "header": "Login",
8
+ "sub-header-usernamepasswordoauth": "Enter your username & password or log in using one of the options below.",
9
+ "sub-header-usernamepassword": "Enter your username & password.",
10
+ "sub-header-oauth": "Log in using one of the options below.",
11
+ "sub-header-noprovider": "No Login provider configured. Please contact your administrator.",
12
+ "username-label": "Username",
13
+ "password-label": "Password",
14
+ "login-button": "Log In",
15
+ "allow-registration-noaccount": "Don't have an account?",
16
+ "allow-registration-register": "Register here!"
17
+ },
18
+ "@studiocms/auth:signup": {
19
+ "title": "Sign Up Page",
20
+ "description": "Sign Up Page",
21
+ "header": "Sign Up",
22
+ "sub-header-usernamepasswordoauth": "Create an account or log in using one of the options below.",
23
+ "sub-header-usernamepassword": "Create an account using the form below.",
24
+ "sub-header-oauth": "Log in using one of the options below.",
25
+ "sub-header-noprovider": "No Login provider configured. Please contact your administrator.",
26
+ "username-label": "Username",
27
+ "email-label": "Email",
28
+ "displayname-label": "Display Name",
29
+ "password-label": "Password",
30
+ "confirm-password-label": "Confirm Password",
31
+ "create-account-button": "Create Account",
32
+ "allow-login-haveaccount": "Already have an account?",
33
+ "allow-login-login": "Login here!"
34
+ },
35
+ "@studiocms/auth:logout": {
36
+ "title": "Logout Page",
37
+ "description": "Logout Page"
38
+ },
39
+ "@studiocms/auth:oauth-stack": {
40
+ "or-login-with": "or log in using"
41
+ },
42
+ "@studiocms/dashboard:index": {
43
+ "title": "Dashboard",
44
+ "welcome-title": "Welcome",
45
+ "title-button:discord": "Join the Community",
46
+ "title-button:feedback": "Give Feedback",
47
+ "sub-header": "StudioCMS is a free and open-source content management system built from the ground up by the Astro community."
48
+ },
49
+ "@studiocms/dashboard:sidebar": {
50
+ "category-1-header": "Dashboard",
51
+ "dashboard-link-label": "Dashboard",
52
+ "content-management-label": "Content Management",
53
+ "category-2-header": "Admin",
54
+ "site-configuration-label": "Site Configuration",
55
+ "user-management-label": "User Management",
56
+ "category-3-header": "Plugins",
57
+ "category-3-empty-placeholder": "No plugins with settings pages found.",
58
+ "user-dropdown:settings": "User Settings",
59
+ "user-dropdown:view-site": "View Site",
60
+ "user-dropdown:logout": "Log Out"
61
+ }
62
+ }
63
+ }
@@ -0,0 +1,7 @@
1
+ export * from './head.js';
2
+ export * from './jsonUtils.js';
3
+ export * from './pathGenerators.js';
4
+ export * from './removeLeadingTrailingSlashes.js';
5
+ export * from './urlGen.js';
6
+ export * from './makeAPIRoute.js';
7
+ export * from './makePublicRoute.js';
@@ -0,0 +1,7 @@
1
+ export * from "./head.js";
2
+ export * from "./jsonUtils.js";
3
+ export * from "./pathGenerators.js";
4
+ export * from "./removeLeadingTrailingSlashes.js";
5
+ export * from "./urlGen.js";
6
+ export * from "./makeAPIRoute.js";
7
+ export * from "./makePublicRoute.js";
@@ -0,0 +1,2 @@
1
+ export declare function stringify(options: any): string;
2
+ export declare function stringifyMap(options: any): string;
@@ -0,0 +1,11 @@
1
+ function stringify(options) {
2
+ return JSON.stringify(options);
3
+ }
4
+ function stringifyMap(options) {
5
+ const map = Array.from(options.entries());
6
+ return JSON.stringify(map);
7
+ }
8
+ export {
9
+ stringify,
10
+ stringifyMap
11
+ };
@@ -0,0 +1,45 @@
1
+ import type { CurrentRESTAPIVersions } from '../consts.js';
2
+ /**
3
+ * Creates a function that generates API route strings.
4
+ *
5
+ * @param path - The base path for the API route.
6
+ * @returns A function that takes a route string and returns the full API route.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * const apiRoute = makeAPIRoute('users');
11
+ * const fullRoute = apiRoute('profile'); // Returns '/studiocms_api/users/profile'
12
+ * ```
13
+ */
14
+ export declare function makeAPIRoute(path: string): (route: string) => string;
15
+ /**
16
+ * Resolves the API route for the SDK.
17
+ *
18
+ * This function uses the `makeAPIRoute` utility to generate the API route
19
+ * specifically for the SDK.
20
+ *
21
+ * @constant
22
+ */
23
+ export declare const sdkRouteResolver: (route: string) => string;
24
+ /**
25
+ * Creates an API route for the 'renderer' service.
26
+ *
27
+ * This function utilizes the `makeAPIRoute` utility to generate
28
+ * a route specifically for the 'renderer' service.
29
+ *
30
+ * @constant
31
+ */
32
+ export declare const apiRoute: (route: string) => string;
33
+ /**
34
+ * Generates a REST API route string for the specified version.
35
+ *
36
+ * @param version - The version of the REST API.
37
+ * @returns The complete API route string for the given version.
38
+ */
39
+ export declare const restRoute: (version: CurrentRESTAPIVersions) => (route: string) => string;
40
+ /**
41
+ * Creates a REST API route for version 1.
42
+ *
43
+ * @constant
44
+ */
45
+ export declare const v1RestRoute: (route: string) => string;
@@ -0,0 +1,16 @@
1
+ function makeAPIRoute(path) {
2
+ return function api(route) {
3
+ return `/studiocms_api/${path}/${route}`;
4
+ };
5
+ }
6
+ const sdkRouteResolver = makeAPIRoute("sdk");
7
+ const apiRoute = makeAPIRoute("renderer");
8
+ const restRoute = (version) => makeAPIRoute(`rest/${version}`);
9
+ const v1RestRoute = restRoute("v1");
10
+ export {
11
+ apiRoute,
12
+ makeAPIRoute,
13
+ restRoute,
14
+ sdkRouteResolver,
15
+ v1RestRoute
16
+ };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Constructs a public route path for StudioCMS resources.
3
+ *
4
+ * @param route - The specific route to be appended to the public path.
5
+ * @returns The full public path for the given route.
6
+ */
7
+ export declare function makePublicRoute(route: string): string;
@@ -0,0 +1,6 @@
1
+ function makePublicRoute(route) {
2
+ return `public/studiocms-resources/${route}/`;
3
+ }
4
+ export {
5
+ makePublicRoute
6
+ };
@@ -0,0 +1,20 @@
1
+ /** Get the a root-relative URL path with the site’s `base` prefixed. */
2
+ export declare function pathWithBase(path: string): string;
3
+ /** Get the a root-relative file URL path with the site’s `base` prefixed. */
4
+ export declare function fileWithBase(path: string): string;
5
+ /** Ensure the passed path starts with a leading slash. */
6
+ export declare function ensureLeadingSlash(href: string): string;
7
+ /** Ensure the passed path ends with a trailing slash. */
8
+ export declare function ensureTrailingSlash(href: string): string;
9
+ /** Ensure the passed path starts and ends with slashes. */
10
+ export declare function ensureLeadingAndTrailingSlashes(href: string): string;
11
+ /** Ensure the passed path does not start with a leading slash. */
12
+ export declare function stripLeadingSlash(href: string): string;
13
+ /** Ensure the passed path does not end with a trailing slash. */
14
+ export declare function stripTrailingSlash(href: string): string;
15
+ /** Ensure the passed path does not start and end with slashes. */
16
+ export declare function stripLeadingAndTrailingSlashes(href: string): string;
17
+ /** Remove the extension from a path. */
18
+ export declare function stripHtmlExtension(path: string): string;
19
+ /** Add '.html' extension to a path. */
20
+ export declare function ensureHtmlExtension(path: string): string;