studiocms 0.1.0-beta.10

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 (582) hide show
  1. package/CHANGELOG.md +501 -0
  2. package/LICENSE +21 -0
  3. package/README.md +59 -0
  4. package/custom-renderers/index.ts +4 -0
  5. package/custom-renderers/markdocRenderers/markdocReact-components/MarkDocReactRenderer.tsx +8 -0
  6. package/custom-renderers/markdocRenderers/markdocReact-components/MarkDocReactWrapper.astro +13 -0
  7. package/custom-renderers/markdocRenderers/markdocReact.ts +56 -0
  8. package/dist/auth.d.js +0 -0
  9. package/dist/auth.d.ts +397 -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 +36 -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 +77 -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 +317 -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 +317 -0
  73. package/dist/components/dashboard/islands/configuration/LightVsDark.astro +67 -0
  74. package/dist/components/dashboard/islands/content-mgmt/CreateFolder.astro +118 -0
  75. package/dist/components/dashboard/islands/content-mgmt/CreatePage.astro +380 -0
  76. package/dist/components/dashboard/islands/content-mgmt/EditFolder.astro +138 -0
  77. package/dist/components/dashboard/islands/content-mgmt/EditPage.astro +432 -0
  78. package/dist/components/dashboard/islands/content-mgmt/InnerSidebarElement.astro +299 -0
  79. package/dist/components/dashboard/islands/content-mgmt/PageHeader.astro +455 -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 +306 -0
  97. package/dist/components/dashboard/islands/profile/BasicInfo.astro +140 -0
  98. package/dist/components/dashboard/islands/profile/BasicInfoFallback.astro +43 -0
  99. package/dist/components/dashboard/islands/profile/SocialSignin.astro +181 -0
  100. package/dist/components/dashboard/islands/profile/SocialSigninFallback.astro +83 -0
  101. package/dist/components/dashboard/islands/profile/UpdatePassword.astro +166 -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/UserAccount.astro +23 -0
  106. package/dist/components/dashboard/islands/sidebar/VersionCheck.astro +127 -0
  107. package/dist/components/dashboard/islands/sidebar/VersionCheckChangelog.astro +107 -0
  108. package/dist/components/dashboard/islands/user-mgmt/InnerSidebarElement.astro +348 -0
  109. package/dist/components/dashboard/islands/user-mgmt/RankCheck.astro +49 -0
  110. package/dist/components/dashboard/islands/user-mgmt/SocialSignin.astro +109 -0
  111. package/dist/components/dashboard/islands/user-mgmt/UserListItem.astro +60 -0
  112. package/dist/components/dashboard/sidebar-modals/UserManagementModals.astro +103 -0
  113. package/dist/components/dashboard/sidebar-modals/VersionModal.astro +267 -0
  114. package/dist/components/dashboard/sidebarConfig.d.ts +32 -0
  115. package/dist/components/dashboard/sidebarConfig.js +88 -0
  116. package/dist/components/default-grid-items/Recently-created-pages.astro +91 -0
  117. package/dist/components/default-grid-items/Recently-signed-up.astro +71 -0
  118. package/dist/components/default-grid-items/Recently-updated-pages.astro +96 -0
  119. package/dist/components/default-grid-items/Totals.astro +107 -0
  120. package/dist/components/default-grid-items/utils.d.ts +17 -0
  121. package/dist/components/default-grid-items/utils.js +26 -0
  122. package/dist/components/image/CustomImage.astro +90 -0
  123. package/dist/components/user-quick-tools.d.ts +42 -0
  124. package/dist/components/user-quick-tools.js +312 -0
  125. package/dist/config.d.ts +3 -0
  126. package/dist/config.js +4 -0
  127. package/dist/consts.d.ts +61 -0
  128. package/dist/consts.js +39 -0
  129. package/dist/core.d.js +0 -0
  130. package/dist/core.d.ts +226 -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 +1179 -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 +114 -0
  167. package/dist/lib/i18n/client.d.ts +591 -0
  168. package/dist/lib/i18n/client.js +83 -0
  169. package/dist/lib/i18n/config.d.ts +16 -0
  170. package/dist/lib/i18n/config.js +8 -0
  171. package/dist/lib/i18n/index.d.ts +578 -0
  172. package/dist/lib/i18n/index.js +63 -0
  173. package/dist/lib/i18n/translations/de.json +64 -0
  174. package/dist/lib/i18n/translations/en-us.json +238 -0
  175. package/dist/lib/i18n/translations/es.json +64 -0
  176. package/dist/lib/i18n/translations/fr.json +64 -0
  177. package/dist/lib/index.d.ts +7 -0
  178. package/dist/lib/index.js +7 -0
  179. package/dist/lib/jsonUtils.d.ts +2 -0
  180. package/dist/lib/jsonUtils.js +11 -0
  181. package/dist/lib/makeAPIRoute.d.ts +45 -0
  182. package/dist/lib/makeAPIRoute.js +16 -0
  183. package/dist/lib/makePublicRoute.d.ts +7 -0
  184. package/dist/lib/makePublicRoute.js +6 -0
  185. package/dist/lib/pathGenerators.d.ts +20 -0
  186. package/dist/lib/pathGenerators.js +66 -0
  187. package/dist/lib/plugins/dashboard-pages.d.ts +71 -0
  188. package/dist/lib/plugins/dashboard-pages.js +11 -0
  189. package/dist/lib/plugins/frontend-navigation.d.ts +18 -0
  190. package/dist/lib/plugins/frontend-navigation.js +39 -0
  191. package/dist/lib/plugins/index.d.ts +2 -0
  192. package/dist/lib/plugins/index.js +2 -0
  193. package/dist/lib/removeLeadingTrailingSlashes.d.ts +7 -0
  194. package/dist/lib/removeLeadingTrailingSlashes.js +13 -0
  195. package/dist/lib/renderer/astro-remark.d.ts +13 -0
  196. package/dist/lib/renderer/astro-remark.js +11 -0
  197. package/dist/lib/renderer/contentRenderer.d.ts +13 -0
  198. package/dist/lib/renderer/contentRenderer.js +31 -0
  199. package/dist/lib/renderer/errors.d.ts +5 -0
  200. package/dist/lib/renderer/errors.js +25 -0
  201. package/dist/lib/renderer/markdoc-renderers/markdocHTML.d.ts +3 -0
  202. package/dist/lib/renderer/markdoc-renderers/markdocHTML.js +14 -0
  203. package/dist/lib/renderer/markdoc-renderers/markdocReactStatic.d.ts +3 -0
  204. package/dist/lib/renderer/markdoc-renderers/markdocReactStatic.js +14 -0
  205. package/dist/lib/renderer/markdoc.d.ts +11 -0
  206. package/dist/lib/renderer/markdoc.js +28 -0
  207. package/dist/lib/renderer/mdx.d.ts +10 -0
  208. package/dist/lib/renderer/mdx.js +37 -0
  209. package/dist/lib/renderer/runtime.d.ts +8 -0
  210. package/dist/lib/renderer/runtime.js +30 -0
  211. package/dist/lib/renderer/shared.d.ts +15 -0
  212. package/dist/lib/renderer/shared.js +13 -0
  213. package/dist/lib/renderer/studiocms.d.ts +11 -0
  214. package/dist/lib/renderer/studiocms.js +22 -0
  215. package/dist/lib/renderer/types.d.ts +12 -0
  216. package/dist/lib/renderer/types.js +0 -0
  217. package/dist/lib/robots/core.d.ts +24 -0
  218. package/dist/lib/robots/core.js +187 -0
  219. package/dist/lib/robots/index.d.ts +11 -0
  220. package/dist/lib/robots/index.js +47 -0
  221. package/dist/lib/robots/types.d.ts +185 -0
  222. package/dist/lib/robots/types.js +0 -0
  223. package/dist/lib/robots/utils.d.ts +22 -0
  224. package/dist/lib/robots/utils.js +22 -0
  225. package/dist/lib/routeMap.d.ts +257 -0
  226. package/dist/lib/routeMap.js +249 -0
  227. package/dist/lib/urlGen.d.ts +11 -0
  228. package/dist/lib/urlGen.js +26 -0
  229. package/dist/lib/webVitals/checkForWebVitalsPlugin.d.ts +18 -0
  230. package/dist/lib/webVitals/checkForWebVitalsPlugin.js +82 -0
  231. package/dist/lib/webVitals/consts.d.ts +240 -0
  232. package/dist/lib/webVitals/consts.js +40 -0
  233. package/dist/lib/webVitals/dashboard-grid-items/CoreVitals.astro +66 -0
  234. package/dist/lib/webVitals/dashboard-grid-items/MetricCard.astro +24 -0
  235. package/dist/lib/webVitals/dashboard-grid-items/SummaryCard.astro +56 -0
  236. package/dist/lib/webVitals/dashboard-grid-items/metric.css +103 -0
  237. package/dist/lib/webVitals/dashboard-grid-items/shared.d.ts +29 -0
  238. package/dist/lib/webVitals/dashboard-grid-items/shared.js +35 -0
  239. package/dist/lib/webVitals/pages/analytics/body.astro +186 -0
  240. package/dist/lib/webVitals/pages/analytics/header.astro +42 -0
  241. package/dist/lib/webVitals/schemas.d.ts +78 -0
  242. package/dist/lib/webVitals/schemas.js +37 -0
  243. package/dist/lib/webVitals/types.d.ts +156 -0
  244. package/dist/lib/webVitals/types.js +0 -0
  245. package/dist/lib/webVitals/utils/buildDataObject.d.ts +8 -0
  246. package/dist/lib/webVitals/utils/buildDataObject.js +28 -0
  247. package/dist/lib/webVitals/utils/buildPageRouteDataObject.d.ts +15 -0
  248. package/dist/lib/webVitals/utils/buildPageRouteDataObject.js +70 -0
  249. package/dist/lib/webVitals/utils/buildPerPageDataObject.d.ts +23 -0
  250. package/dist/lib/webVitals/utils/buildPerPageDataObject.js +209 -0
  251. package/dist/lib/webVitals/utils/checkDate.d.ts +5 -0
  252. package/dist/lib/webVitals/utils/checkDate.js +19 -0
  253. package/dist/lib/webVitals/utils/webVitalsUtils.d.ts +24 -0
  254. package/dist/lib/webVitals/utils/webVitalsUtils.js +234 -0
  255. package/dist/lib/webVitals/webVital.d.ts +20 -0
  256. package/dist/lib/webVitals/webVital.js +40 -0
  257. package/dist/lib/webVitals/webVitalsRouteSummary.d.ts +19 -0
  258. package/dist/lib/webVitals/webVitalsRouteSummary.js +59 -0
  259. package/dist/lib/webVitals/webVitalsSummary.d.ts +19 -0
  260. package/dist/lib/webVitals/webVitalsSummary.js +49 -0
  261. package/dist/plugins.d.ts +2 -0
  262. package/dist/plugins.js +6 -0
  263. package/dist/renderer.d.js +0 -0
  264. package/dist/renderer.d.ts +23 -0
  265. package/dist/routes/api/render.astro +25 -0
  266. package/dist/routes/auth/api/auth0/callback.d.ts +4 -0
  267. package/dist/routes/auth/api/auth0/callback.js +117 -0
  268. package/dist/routes/auth/api/auth0/index.d.ts +4 -0
  269. package/dist/routes/auth/api/auth0/index.js +36 -0
  270. package/dist/routes/auth/api/auth0/shared.d.ts +13 -0
  271. package/dist/routes/auth/api/auth0/shared.js +24 -0
  272. package/dist/routes/auth/api/discord/callback.d.ts +4 -0
  273. package/dist/routes/auth/api/discord/callback.js +112 -0
  274. package/dist/routes/auth/api/discord/index.d.ts +4 -0
  275. package/dist/routes/auth/api/discord/index.js +36 -0
  276. package/dist/routes/auth/api/discord/shared.d.ts +12 -0
  277. package/dist/routes/auth/api/discord/shared.js +17 -0
  278. package/dist/routes/auth/api/github/callback.d.ts +4 -0
  279. package/dist/routes/auth/api/github/callback.js +112 -0
  280. package/dist/routes/auth/api/github/index.d.ts +4 -0
  281. package/dist/routes/auth/api/github/index.js +36 -0
  282. package/dist/routes/auth/api/github/shared.d.ts +13 -0
  283. package/dist/routes/auth/api/github/shared.js +14 -0
  284. package/dist/routes/auth/api/google/callback.d.ts +4 -0
  285. package/dist/routes/auth/api/google/callback.js +115 -0
  286. package/dist/routes/auth/api/google/index.d.ts +4 -0
  287. package/dist/routes/auth/api/google/index.js +38 -0
  288. package/dist/routes/auth/api/google/shared.d.ts +12 -0
  289. package/dist/routes/auth/api/google/shared.js +19 -0
  290. package/dist/routes/auth/api/login.d.ts +4 -0
  291. package/dist/routes/auth/api/login.js +46 -0
  292. package/dist/routes/auth/api/logout.d.ts +5 -0
  293. package/dist/routes/auth/api/logout.js +55 -0
  294. package/dist/routes/auth/api/register.d.ts +4 -0
  295. package/dist/routes/auth/api/register.js +64 -0
  296. package/dist/routes/auth/api/shared.d.ts +2 -0
  297. package/dist/routes/auth/api/shared.js +21 -0
  298. package/dist/routes/auth/login.astro +118 -0
  299. package/dist/routes/auth/logout.astro +28 -0
  300. package/dist/routes/auth/signup.astro +124 -0
  301. package/dist/routes/dashboard/[...pluginPage].astro +88 -0
  302. package/dist/routes/dashboard/configuration.astro +61 -0
  303. package/dist/routes/dashboard/content-management/createfolder.astro +83 -0
  304. package/dist/routes/dashboard/content-management/createpage.astro +86 -0
  305. package/dist/routes/dashboard/content-management/diff.astro +135 -0
  306. package/dist/routes/dashboard/content-management/editfolder.astro +67 -0
  307. package/dist/routes/dashboard/content-management/editpage.astro +71 -0
  308. package/dist/routes/dashboard/content-management/index.astro +91 -0
  309. package/dist/routes/dashboard/index.astro +56 -0
  310. package/dist/routes/dashboard/password-reset.astro +206 -0
  311. package/dist/routes/dashboard/plugins/[plugin].astro +104 -0
  312. package/dist/routes/dashboard/profile.astro +87 -0
  313. package/dist/routes/dashboard/studiocms_api/dashboard/api-tokens.d.ts +5 -0
  314. package/dist/routes/dashboard/studiocms_api/dashboard/api-tokens.js +90 -0
  315. package/dist/routes/dashboard/studiocms_api/dashboard/config.d.ts +4 -0
  316. package/dist/routes/dashboard/studiocms_api/dashboard/config.js +63 -0
  317. package/dist/routes/dashboard/studiocms_api/dashboard/content/folder.d.ts +6 -0
  318. package/dist/routes/dashboard/studiocms_api/dashboard/content/folder.js +121 -0
  319. package/dist/routes/dashboard/studiocms_api/dashboard/content/page.d.ts +6 -0
  320. package/dist/routes/dashboard/studiocms_api/dashboard/content/page.js +258 -0
  321. package/dist/routes/dashboard/studiocms_api/dashboard/create-reset-link.d.ts +4 -0
  322. package/dist/routes/dashboard/studiocms_api/dashboard/create-reset-link.js +59 -0
  323. package/dist/routes/dashboard/studiocms_api/dashboard/create-user-invite.d.ts +4 -0
  324. package/dist/routes/dashboard/studiocms_api/dashboard/create-user-invite.js +105 -0
  325. package/dist/routes/dashboard/studiocms_api/dashboard/create-user.d.ts +4 -0
  326. package/dist/routes/dashboard/studiocms_api/dashboard/create-user.js +100 -0
  327. package/dist/routes/dashboard/studiocms_api/dashboard/partials/Editor.astro +61 -0
  328. package/dist/routes/dashboard/studiocms_api/dashboard/partials/LiveRender.astro +30 -0
  329. package/dist/routes/dashboard/studiocms_api/dashboard/partials/UserListItems.astro +39 -0
  330. package/dist/routes/dashboard/studiocms_api/dashboard/plugins/[plugin].d.ts +2 -0
  331. package/dist/routes/dashboard/studiocms_api/dashboard/plugins/[plugin].js +32 -0
  332. package/dist/routes/dashboard/studiocms_api/dashboard/profile.d.ts +4 -0
  333. package/dist/routes/dashboard/studiocms_api/dashboard/profile.js +130 -0
  334. package/dist/routes/dashboard/studiocms_api/dashboard/reset-password.d.ts +4 -0
  335. package/dist/routes/dashboard/studiocms_api/dashboard/reset-password.js +105 -0
  336. package/dist/routes/dashboard/studiocms_api/dashboard/search-list.d.ts +4 -0
  337. package/dist/routes/dashboard/studiocms_api/dashboard/search-list.js +55 -0
  338. package/dist/routes/dashboard/studiocms_api/dashboard/users.d.ts +5 -0
  339. package/dist/routes/dashboard/studiocms_api/dashboard/users.js +92 -0
  340. package/dist/routes/dashboard/studiocms_api/dashboard/verify-session.d.ts +2 -0
  341. package/dist/routes/dashboard/studiocms_api/dashboard/verify-session.js +72 -0
  342. package/dist/routes/dashboard/user-management/edit.astro +631 -0
  343. package/dist/routes/dashboard/user-management/index.astro +103 -0
  344. package/dist/routes/error-pages/404.astro +66 -0
  345. package/dist/routes/firstTimeSetupRoutes/1-start.astro +253 -0
  346. package/dist/routes/firstTimeSetupRoutes/2-next.astro +208 -0
  347. package/dist/routes/firstTimeSetupRoutes/3-done.astro +95 -0
  348. package/dist/routes/firstTimeSetupRoutes/api/step-1.d.ts +2 -0
  349. package/dist/routes/firstTimeSetupRoutes/api/step-1.js +126 -0
  350. package/dist/routes/firstTimeSetupRoutes/api/step-2.d.ts +2 -0
  351. package/dist/routes/firstTimeSetupRoutes/api/step-2.js +110 -0
  352. package/dist/routes/firstTimeSetupRoutes/components/Layout.astro +41 -0
  353. package/dist/routes/firstTimeSetupRoutes/components/PageHeader.astro +60 -0
  354. package/dist/routes/firstTimeSetupRoutes/components/TabItem.astro +44 -0
  355. package/dist/routes/firstTimeSetupRoutes/components/Tabs.astro +170 -0
  356. package/dist/routes/firstTimeSetupRoutes/snippets/opt1-astro.config.diff +14 -0
  357. package/dist/routes/firstTimeSetupRoutes/snippets/opt2-astro.config.diff +9 -0
  358. package/dist/routes/firstTimeSetupRoutes/snippets/opt2-studiocms.config.diff +5 -0
  359. package/dist/routes/rest/utils/auth-token.d.ts +17 -0
  360. package/dist/routes/rest/utils/auth-token.js +31 -0
  361. package/dist/routes/rest/v1/folders/[id].d.ts +6 -0
  362. package/dist/routes/rest/v1/folders/[id].js +106 -0
  363. package/dist/routes/rest/v1/folders/index.d.ts +5 -0
  364. package/dist/routes/rest/v1/folders/index.js +88 -0
  365. package/dist/routes/rest/v1/pages/[id]/history/[diffid].d.ts +4 -0
  366. package/dist/routes/rest/v1/pages/[id]/history/[diffid].js +55 -0
  367. package/dist/routes/rest/v1/pages/[id]/history/index.d.ts +4 -0
  368. package/dist/routes/rest/v1/pages/[id]/history/index.js +61 -0
  369. package/dist/routes/rest/v1/pages/[id]/index.d.ts +6 -0
  370. package/dist/routes/rest/v1/pages/[id]/index.js +165 -0
  371. package/dist/routes/rest/v1/pages/index.d.ts +5 -0
  372. package/dist/routes/rest/v1/pages/index.js +113 -0
  373. package/dist/routes/rest/v1/public/folders/[id].d.ts +4 -0
  374. package/dist/routes/rest/v1/public/folders/[id].js +43 -0
  375. package/dist/routes/rest/v1/public/folders/index.d.ts +4 -0
  376. package/dist/routes/rest/v1/public/folders/index.js +49 -0
  377. package/dist/routes/rest/v1/public/pages/[id].d.ts +4 -0
  378. package/dist/routes/rest/v1/public/pages/[id].js +46 -0
  379. package/dist/routes/rest/v1/public/pages/index.d.ts +4 -0
  380. package/dist/routes/rest/v1/public/pages/index.js +61 -0
  381. package/dist/routes/rest/v1/settings/index.d.ts +5 -0
  382. package/dist/routes/rest/v1/settings/index.js +75 -0
  383. package/dist/routes/rest/v1/users/[id].d.ts +6 -0
  384. package/dist/routes/rest/v1/users/[id].js +212 -0
  385. package/dist/routes/rest/v1/users/index.d.ts +5 -0
  386. package/dist/routes/rest/v1/users/index.js +138 -0
  387. package/dist/routes/sdk/fallback-list-pages.json.d.ts +2 -0
  388. package/dist/routes/sdk/fallback-list-pages.json.js +19 -0
  389. package/dist/routes/sdk/fallback-list-pages.json.ts +22 -0
  390. package/dist/routes/sdk/full-changelog.json.d.ts +16 -0
  391. package/dist/routes/sdk/full-changelog.json.js +170 -0
  392. package/dist/routes/sdk/full-changelog.json.ts +224 -0
  393. package/dist/routes/sdk/list-pages.d.ts +4 -0
  394. package/dist/routes/sdk/list-pages.js +34 -0
  395. package/dist/routes/sdk/update-latest-version-cache.d.ts +4 -0
  396. package/dist/routes/sdk/update-latest-version-cache.js +41 -0
  397. package/dist/runtime/AstroComponentProxy.d.ts +29 -0
  398. package/dist/runtime/AstroComponentProxy.js +47 -0
  399. package/dist/runtime/decoder/decode-codepoint.d.ts +18 -0
  400. package/dist/runtime/decoder/decode-codepoint.js +58 -0
  401. package/dist/runtime/decoder/decode-data-html.d.ts +1 -0
  402. package/dist/runtime/decoder/decode-data-html.js +7 -0
  403. package/dist/runtime/decoder/decode-data-xml.d.ts +1 -0
  404. package/dist/runtime/decoder/decode-data-xml.js +7 -0
  405. package/dist/runtime/decoder/index.d.ts +34 -0
  406. package/dist/runtime/decoder/index.js +18 -0
  407. package/dist/runtime/decoder/util.d.ts +208 -0
  408. package/dist/runtime/decoder/util.js +415 -0
  409. package/dist/schemas/config/auth.d.ts +175 -0
  410. package/dist/schemas/config/auth.js +65 -0
  411. package/dist/schemas/config/componentoverrides.d.ts +17 -0
  412. package/dist/schemas/config/componentoverrides.js +14 -0
  413. package/dist/schemas/config/dashboard.d.ts +154 -0
  414. package/dist/schemas/config/dashboard.js +59 -0
  415. package/dist/schemas/config/defaultFrontend.d.ts +125 -0
  416. package/dist/schemas/config/defaultFrontend.js +57 -0
  417. package/dist/schemas/config/developer.d.ts +15 -0
  418. package/dist/schemas/config/developer.js +14 -0
  419. package/dist/schemas/config/imageService.d.ts +13 -0
  420. package/dist/schemas/config/imageService.js +12 -0
  421. package/dist/schemas/config/index.d.ts +1153 -0
  422. package/dist/schemas/config/index.js +95 -0
  423. package/dist/schemas/config/integrations.d.ts +14 -0
  424. package/dist/schemas/config/integrations.js +12 -0
  425. package/dist/schemas/config/markdoc.d.ts +172 -0
  426. package/dist/schemas/config/markdoc.js +68 -0
  427. package/dist/schemas/config/mdx.d.ts +455 -0
  428. package/dist/schemas/config/mdx.js +71 -0
  429. package/dist/schemas/config/rendererConfig.d.ts +659 -0
  430. package/dist/schemas/config/rendererConfig.js +51 -0
  431. package/dist/schemas/config/sdk.d.ts +167 -0
  432. package/dist/schemas/config/sdk.js +85 -0
  433. package/dist/schemas/config/studiocms-markdown-remark.d.ts +292 -0
  434. package/dist/schemas/config/studiocms-markdown-remark.js +63 -0
  435. package/dist/schemas/index.d.ts +2 -0
  436. package/dist/schemas/index.js +2 -0
  437. package/dist/schemas/plugins/index.d.ts +7373 -0
  438. package/dist/schemas/plugins/index.js +192 -0
  439. package/dist/schemas/plugins/shared.d.ts +1752 -0
  440. package/dist/schemas/plugins/shared.js +221 -0
  441. package/dist/scripts/formListener.d.ts +16 -0
  442. package/dist/scripts/formListener.js +46 -0
  443. package/dist/scripts/three.d.ts +1 -0
  444. package/dist/scripts/three.js +278 -0
  445. package/dist/scripts/utils/fitModelToViewport.d.ts +8 -0
  446. package/dist/scripts/utils/fitModelToViewport.js +19 -0
  447. package/dist/sdk/StudioCMSVirtualCache.d.ts +283 -0
  448. package/dist/sdk/StudioCMSVirtualCache.js +685 -0
  449. package/dist/sdk/cache.d.ts +11 -0
  450. package/dist/sdk/cache.js +12 -0
  451. package/dist/sdk/core.d.ts +865 -0
  452. package/dist/sdk/core.js +1966 -0
  453. package/dist/sdk/errors.d.ts +21 -0
  454. package/dist/sdk/errors.js +11 -0
  455. package/dist/sdk/index.d.ts +371 -0
  456. package/dist/sdk/index.js +8 -0
  457. package/dist/sdk/lib/foldertree.d.ts +50 -0
  458. package/dist/sdk/lib/foldertree.js +123 -0
  459. package/dist/sdk/lib/generators.d.ts +30 -0
  460. package/dist/sdk/lib/generators.js +25 -0
  461. package/dist/sdk/lib/packages.d.ts +8 -0
  462. package/dist/sdk/lib/packages.js +14 -0
  463. package/dist/sdk/lib/parsers.d.ts +14 -0
  464. package/dist/sdk/lib/parsers.js +10 -0
  465. package/dist/sdk/lib/users.d.ts +19 -0
  466. package/dist/sdk/lib/users.js +26 -0
  467. package/dist/sdk/tables.d.ts +1198 -0
  468. package/dist/sdk/tables.js +55 -0
  469. package/dist/sdk/types/index.d.ts +175 -0
  470. package/dist/sdk/types/index.js +0 -0
  471. package/dist/sdk/types/tableDefs.d.ts +75 -0
  472. package/dist/sdk/types/tableDefs.js +0 -0
  473. package/dist/sdk/types/tsAlias.d.ts +155 -0
  474. package/dist/sdk/types/tsAlias.js +0 -0
  475. package/dist/sdk/utils/db.d.ts +5 -0
  476. package/dist/sdk/utils/db.js +15 -0
  477. package/dist/stubs/auth-lib.d.ts +2 -0
  478. package/dist/stubs/auth-lib.js +519 -0
  479. package/dist/stubs/auth-scripts.d.ts +2 -0
  480. package/dist/stubs/auth-scripts.js +29 -0
  481. package/dist/stubs/auth-utils.d.ts +2 -0
  482. package/dist/stubs/auth-utils.js +36 -0
  483. package/dist/stubs/changelog.d.ts +2 -0
  484. package/dist/stubs/changelog.js +16 -0
  485. package/dist/stubs/components.d.ts +2 -0
  486. package/dist/stubs/components.js +67 -0
  487. package/dist/stubs/core.d.ts +2 -0
  488. package/dist/stubs/core.js +49 -0
  489. package/dist/stubs/i18n-dts.d.ts +2 -0
  490. package/dist/stubs/i18n-dts.js +117 -0
  491. package/dist/stubs/images.d.ts +1 -0
  492. package/dist/stubs/images.js +30 -0
  493. package/dist/stubs/index.d.ts +1 -0
  494. package/dist/stubs/index.js +40 -0
  495. package/dist/stubs/lib.d.ts +2 -0
  496. package/dist/stubs/lib.js +123 -0
  497. package/dist/stubs/plugins.d.ts +2 -0
  498. package/dist/stubs/plugins.js +60 -0
  499. package/dist/stubs/proxy.d.ts +2 -0
  500. package/dist/stubs/proxy.js +40 -0
  501. package/dist/stubs/renderer-config.d.ts +2 -0
  502. package/dist/stubs/renderer-config.js +18 -0
  503. package/dist/stubs/renderer-markdownConfig.d.ts +2 -0
  504. package/dist/stubs/renderer-markdownConfig.js +17 -0
  505. package/dist/stubs/renderer.d.ts +2 -0
  506. package/dist/stubs/renderer.js +44 -0
  507. package/dist/stubs/sdk.d.ts +2 -0
  508. package/dist/stubs/sdk.js +202 -0
  509. package/dist/stubs/webVitals.d.ts +2 -0
  510. package/dist/stubs/webVitals.js +40 -0
  511. package/dist/styles/404.css +47 -0
  512. package/dist/styles/SyntaxFont.woff2 +0 -0
  513. package/dist/styles/authlayout.css +138 -0
  514. package/dist/styles/dashboard-base.css +493 -0
  515. package/dist/styles/dashboard-code.css +33 -0
  516. package/dist/styles/dashboard-diff.css +389 -0
  517. package/dist/styles/dashboard-tiny-mde.css +224 -0
  518. package/dist/styles/md-remark-callouts/github.css +56 -0
  519. package/dist/styles/md-remark-callouts/obsidian.css +66 -0
  520. package/dist/styles/md-remark-callouts/vitepress.css +58 -0
  521. package/dist/styles/md-remark-headings.css +48 -0
  522. package/dist/types.d.ts +43 -0
  523. package/dist/types.js +0 -0
  524. package/dist/utils/addAPIRoutes.d.ts +9 -0
  525. package/dist/utils/addAPIRoutes.js +33 -0
  526. package/dist/utils/addIntegrationArray.d.ts +24 -0
  527. package/dist/utils/addIntegrationArray.js +11 -0
  528. package/dist/utils/addIntegrationArrayWithCheck.d.ts +11 -0
  529. package/dist/utils/addIntegrationArrayWithCheck.js +24 -0
  530. package/dist/utils/astroConfigCheck.d.ts +8 -0
  531. package/dist/utils/astroConfigCheck.js +31 -0
  532. package/dist/utils/astroEnvConfig.d.ts +45 -0
  533. package/dist/utils/astroEnvConfig.js +9 -0
  534. package/dist/utils/authEnvCheck.d.ts +38 -0
  535. package/dist/utils/authEnvCheck.js +82 -0
  536. package/dist/utils/changelog.d.ts +1 -0
  537. package/dist/utils/changelog.js +53 -0
  538. package/dist/utils/changelogLoader.d.ts +15 -0
  539. package/dist/utils/changelogLoader.js +104 -0
  540. package/dist/utils/checkENV.d.ts +27 -0
  541. package/dist/utils/checkENV.js +115 -0
  542. package/dist/utils/configManager.d.ts +22 -0
  543. package/dist/utils/configManager.js +98 -0
  544. package/dist/utils/configResolver.d.ts +283 -0
  545. package/dist/utils/configResolver.js +105 -0
  546. package/dist/utils/defineStudioCMSConfig.d.ts +165 -0
  547. package/dist/utils/defineStudioCMSConfig.js +6 -0
  548. package/dist/utils/getLabelForPermissionLevel.d.ts +2 -0
  549. package/dist/utils/getLabelForPermissionLevel.js +17 -0
  550. package/dist/utils/injectRouteArray.d.ts +19 -0
  551. package/dist/utils/injectRouteArray.js +75 -0
  552. package/dist/utils/integrationLogger.d.ts +7 -0
  553. package/dist/utils/integrationLogger.js +18 -0
  554. package/dist/utils/integrations.d.ts +4 -0
  555. package/dist/utils/integrations.js +32 -0
  556. package/dist/utils/isDashboardRoute.d.ts +7 -0
  557. package/dist/utils/isDashboardRoute.js +10 -0
  558. package/dist/utils/loginBackgrounds/studiocms-blobs-dark.png +0 -0
  559. package/dist/utils/loginBackgrounds/studiocms-blobs-light.png +0 -0
  560. package/dist/utils/loginBackgrounds/studiocms-blocks-dark.png +0 -0
  561. package/dist/utils/loginBackgrounds/studiocms-blocks-light.png +0 -0
  562. package/dist/utils/loginBackgrounds/studiocms-curves-dark.png +0 -0
  563. package/dist/utils/loginBackgrounds/studiocms-curves-light.png +0 -0
  564. package/dist/utils/makePageTitle.d.ts +3 -0
  565. package/dist/utils/makePageTitle.js +7 -0
  566. package/dist/utils/pageListPackageLabel.d.ts +4 -0
  567. package/dist/utils/pageListPackageLabel.js +12 -0
  568. package/dist/utils/readJson.d.ts +1 -0
  569. package/dist/utils/readJson.js +7 -0
  570. package/dist/utils/routeBuilder.d.ts +18 -0
  571. package/dist/utils/routeBuilder.js +96 -0
  572. package/dist/utils/safeString.d.ts +1 -0
  573. package/dist/utils/safeString.js +6 -0
  574. package/dist/utils/simpleResponse.d.ts +1 -0
  575. package/dist/utils/simpleResponse.js +29 -0
  576. package/dist/utils/validImages.d.ts +13 -0
  577. package/dist/utils/validImages.js +39 -0
  578. package/dist/virtual.d.js +0 -0
  579. package/dist/virtual.d.ts +9 -0
  580. package/package.json +219 -0
  581. package/studiocms-cli.mjs +13 -0
  582. package/ui.d.ts +291 -0
@@ -0,0 +1,51 @@
1
+ import { z } from "astro/zod";
2
+ import { markdocConfigSchema } from "./markdoc.js";
3
+ import { mdxConfigSchema } from "./mdx.js";
4
+ import {
5
+ StudioCMSMarkdownExtendedSchema,
6
+ TransformToProcessor
7
+ } from "./studiocms-markdown-remark.js";
8
+ const StudioCMSRendererConfigSchema = z.object({
9
+ /**
10
+ * The Markdown Content Renderer to use for rendering pages and posts
11
+ *
12
+ * Astro is the built-in Astro remark-markdown plugin.
13
+ * @see https://www.npmjs.com/package/@astrojs/markdown-remark
14
+ *
15
+ * Markdoc is a powerful, flexible, Markdown-based authoring framework. Built by Stripe.
16
+ * @see https://markdoc.dev/ for more info about markdoc.
17
+ *
18
+ */
19
+ renderer: z.union([
20
+ z.literal("studiocms"),
21
+ z.literal("astro"),
22
+ z.literal("markdoc"),
23
+ z.literal("mdx"),
24
+ z.custom()
25
+ ]).optional().default("studiocms"),
26
+ /**
27
+ * Allows customization of the Markdoc Configuration
28
+ *
29
+ * Markdoc is a powerful, flexible, Markdown-based authoring framework. Built by Stripe.
30
+ * @see https://markdoc.dev/ for more info about markdoc.
31
+ */
32
+ markdocConfig: markdocConfigSchema,
33
+ /**
34
+ * Allows customization of the MDX Configuration
35
+ *
36
+ * MDX is a JSX in Markdown loader, parser, and renderer for ambitious projects.
37
+ * @see https://mdxjs.com/ for more info about MDX.
38
+ */
39
+ mdxConfig: mdxConfigSchema,
40
+ /**
41
+ * Allows customization of the StudioCMS Markdown Extended Configuration
42
+ *
43
+ * StudioCMS Markdown Extended is a collection of custom markdown features for StudioCMS.
44
+ * @see https://github.com/withstudiocms/markdown-remark/tree/main for more info about StudioCMS Markdown Extended.
45
+ */
46
+ studiocms: StudioCMSMarkdownExtendedSchema
47
+ }).optional().default({});
48
+ export {
49
+ StudioCMSRendererConfigSchema,
50
+ TransformToProcessor
51
+ };
@@ -0,0 +1,167 @@
1
+ import { z } from 'astro/zod';
2
+ declare const TimeStringSchema: z.ZodEffects<z.ZodString, number, string>;
3
+ export type TimeString = typeof TimeStringSchema._input;
4
+ /**
5
+ * Schema for cache configuration.
6
+ */
7
+ declare const CacheConfigSchema: z.ZodObject<{
8
+ /**
9
+ * Cache Lifetime
10
+ *
11
+ * `{number}{unit}` - e.g. '5m' for 5 minutes or '1h' for 1 hour
12
+ * @default '5m'
13
+ */
14
+ lifetime: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodString, number, string>>>;
15
+ }, "strip", z.ZodTypeAny, {
16
+ lifetime: number;
17
+ }, {
18
+ lifetime?: string | undefined;
19
+ }>;
20
+ /**
21
+ * Schema for processed cache configuration.
22
+ *
23
+ * Extends the base CacheConfigSchema with additional properties.
24
+ *
25
+ * Properties:
26
+ * - `enabled` (boolean): Indicates if the cache is enabled.
27
+ * - @default true
28
+ */
29
+ declare const ProcessedCacheConfigSchema: z.ZodObject<{
30
+ /**
31
+ * Cache Enabled
32
+ *
33
+ * @default true
34
+ */
35
+ enabled: z.ZodDefault<z.ZodBoolean>;
36
+ /**
37
+ * Cache Lifetime
38
+ *
39
+ * `{number}{unit}` - e.g. '5m' for 5 minutes or '1h' for 1 hour
40
+ * @default '5m'
41
+ */
42
+ lifetime: z.ZodDefault<z.ZodEffects<z.ZodString, number, string>>;
43
+ }, "strip", z.ZodTypeAny, {
44
+ enabled: boolean;
45
+ lifetime: number;
46
+ }, {
47
+ enabled?: boolean | undefined;
48
+ lifetime?: string | undefined;
49
+ }>;
50
+ /**
51
+ * Represents the configuration for the cache.
52
+ *
53
+ * This type is inferred from the `CacheConfigSchema` using Zod's `infer` method.
54
+ * It ensures that the cache configuration adheres to the schema defined in `CacheConfigSchema`.
55
+ */
56
+ export type CacheConfig = z.infer<typeof CacheConfigSchema>;
57
+ /**
58
+ * Represents the processed cache configuration inferred from the ProcessedCacheConfigSchema.
59
+ *
60
+ * This type is used to define the structure of the cache configuration after it has been
61
+ * processed and validated by the schema.
62
+ */
63
+ export type ProcessedCacheConfig = z.infer<typeof ProcessedCacheConfigSchema>;
64
+ /**
65
+ * Schema for processing SDK configuration.
66
+ */
67
+ declare const ProcessedSDKSchema: z.ZodObject<{
68
+ /**
69
+ * Cache Configuration
70
+ *
71
+ * @default cacheConfig: { lifetime: '5m' }
72
+ */
73
+ cacheConfig: z.ZodObject<{
74
+ /**
75
+ * Cache Enabled
76
+ *
77
+ * @default true
78
+ */
79
+ enabled: z.ZodDefault<z.ZodBoolean>;
80
+ /**
81
+ * Cache Lifetime
82
+ *
83
+ * `{number}{unit}` - e.g. '5m' for 5 minutes or '1h' for 1 hour
84
+ * @default '5m'
85
+ */
86
+ lifetime: z.ZodDefault<z.ZodEffects<z.ZodString, number, string>>;
87
+ }, "strip", z.ZodTypeAny, {
88
+ enabled: boolean;
89
+ lifetime: number;
90
+ }, {
91
+ enabled?: boolean | undefined;
92
+ lifetime?: string | undefined;
93
+ }>;
94
+ }, "strip", z.ZodTypeAny, {
95
+ cacheConfig: {
96
+ enabled: boolean;
97
+ lifetime: number;
98
+ };
99
+ }, {
100
+ cacheConfig: {
101
+ enabled?: boolean | undefined;
102
+ lifetime?: string | undefined;
103
+ };
104
+ }>;
105
+ /**
106
+ * Type definition for the processed SDK configuration.
107
+ *
108
+ * This type is inferred from the `ProcessedSDKSchema` using Zod's `infer` method.
109
+ * It represents the structure of the SDK configuration after it has been processed.
110
+ */
111
+ export type ProcessedSDKConfig = z.infer<typeof ProcessedSDKSchema>;
112
+ /**
113
+ * SDKSchema is a Zod schema that validates the SDK configuration.
114
+ * It can either be a boolean or an object containing cache configuration.
115
+ *
116
+ * If it is a boolean, it defaults to `true` and transforms into an object
117
+ * with default cache configuration.
118
+ *
119
+ * If it is an object, it must contain the `cacheConfig` property which is
120
+ * validated by the `SDKCacheSchema`.
121
+ */
122
+ export declare const SDKSchema: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
123
+ /**
124
+ * Cache Configuration
125
+ *
126
+ * @default cacheConfig: { lifetime: '5m' }
127
+ */
128
+ cacheConfig: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
129
+ /**
130
+ * Cache Lifetime
131
+ *
132
+ * `{number}{unit}` - e.g. '5m' for 5 minutes or '1h' for 1 hour
133
+ * @default '5m'
134
+ */
135
+ lifetime: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodString, number, string>>>;
136
+ }, "strip", z.ZodTypeAny, {
137
+ lifetime: number;
138
+ }, {
139
+ lifetime?: string | undefined;
140
+ }>]>>>, {
141
+ enabled: boolean;
142
+ lifetime: number;
143
+ }, boolean | {
144
+ lifetime?: string | undefined;
145
+ } | undefined>;
146
+ }, "strip", z.ZodTypeAny, {
147
+ cacheConfig: {
148
+ enabled: boolean;
149
+ lifetime: number;
150
+ };
151
+ }, {
152
+ cacheConfig?: boolean | {
153
+ lifetime?: string | undefined;
154
+ } | undefined;
155
+ }>]>>>, {
156
+ cacheConfig: {
157
+ enabled: boolean;
158
+ lifetime: number;
159
+ };
160
+ }, boolean | {
161
+ cacheConfig?: boolean | {
162
+ lifetime?: string | undefined;
163
+ } | undefined;
164
+ } | undefined>;
165
+ export type StudioCMS_SDKOptions = typeof SDKSchema._input;
166
+ export type StudioCMS_SDKConfig = typeof SDKSchema._output;
167
+ export {};
@@ -0,0 +1,85 @@
1
+ import { z } from "astro/zod";
2
+ import { defaultCacheLifeTime } from "../../consts.js";
3
+ const TimeUnitSchema = z.union([z.literal("m"), z.literal("h")]);
4
+ const TimeStringSchema = z.string().regex(/^\d+(m|h)$/, {
5
+ message: "Invalid time string format. Must be a number followed by 'm' or 'h'."
6
+ }).transform((value) => {
7
+ const timeUnits = {
8
+ m: 60 * 1e3,
9
+ // Minutes to milliseconds
10
+ h: 60 * 60 * 1e3
11
+ // Hours to milliseconds
12
+ };
13
+ const match = value.match(/^(\d+)([mh])$/);
14
+ if (!match) {
15
+ throw new Error("Invalid time format. Use values like '5m', '1h', etc.");
16
+ }
17
+ const val = Number.parseInt(match[1], 10);
18
+ const unit = match[2];
19
+ return val * timeUnits[unit];
20
+ });
21
+ const CacheConfigSchema = z.object({
22
+ /**
23
+ * Cache Lifetime
24
+ *
25
+ * `{number}{unit}` - e.g. '5m' for 5 minutes or '1h' for 1 hour
26
+ * @default '5m'
27
+ */
28
+ lifetime: TimeStringSchema.optional().default(defaultCacheLifeTime)
29
+ });
30
+ const ProcessedCacheConfigSchema = z.object({
31
+ /**
32
+ * Cache Enabled
33
+ *
34
+ * @default true
35
+ */
36
+ enabled: z.boolean().default(true),
37
+ /**
38
+ * Cache Lifetime
39
+ *
40
+ * `{number}{unit}` - e.g. '5m' for 5 minutes or '1h' for 1 hour
41
+ * @default '5m'
42
+ */
43
+ lifetime: TimeStringSchema.default(defaultCacheLifeTime)
44
+ });
45
+ const SDKCacheSchema = z.union([z.boolean(), CacheConfigSchema]).optional().default(true).transform((cacheConfig) => {
46
+ if (typeof cacheConfig === "boolean") {
47
+ return {
48
+ enabled: cacheConfig,
49
+ lifetime: TimeStringSchema.parse(defaultCacheLifeTime)
50
+ };
51
+ }
52
+ return { enabled: true, lifetime: cacheConfig.lifetime };
53
+ });
54
+ const ProcessedSDKSchema = z.object({
55
+ /**
56
+ * Cache Configuration
57
+ *
58
+ * @default cacheConfig: { lifetime: '5m' }
59
+ */
60
+ cacheConfig: ProcessedCacheConfigSchema
61
+ });
62
+ const SDKSchema = z.union([
63
+ z.boolean(),
64
+ z.object({
65
+ /**
66
+ * Cache Configuration
67
+ *
68
+ * @default cacheConfig: { lifetime: '5m' }
69
+ */
70
+ cacheConfig: SDKCacheSchema
71
+ })
72
+ ]).optional().default(true).transform((sdkConfig) => {
73
+ if (typeof sdkConfig === "boolean") {
74
+ return {
75
+ cacheConfig: {
76
+ enabled: sdkConfig,
77
+ lifetime: TimeStringSchema.parse(defaultCacheLifeTime)
78
+ }
79
+ };
80
+ }
81
+ return sdkConfig;
82
+ });
83
+ export {
84
+ SDKSchema
85
+ };
@@ -0,0 +1,292 @@
1
+ import type { StudioCMSConfigOptions } from '@studiocms/markdown-remark-processor';
2
+ import { z } from 'astro/zod';
3
+ export declare const StudioCMSSanitizeOptionsSchema: z.ZodOptional<z.ZodObject<{
4
+ /** An Array of strings indicating elements that the sanitizer should not remove. All elements not in the array will be dropped. */
5
+ allowElements: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
6
+ /** An Array of strings indicating elements that the sanitizer should remove. Children will be kept. */
7
+ blockElements: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
8
+ /** An Array of strings indicating elements (including nested elements) that the sanitizer should remove. */
9
+ dropElements: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
10
+ /** An object where each key is the attribute name and the value is an array of allowed tag names. Matching attributes will not be removed. All attributes that are not in the array will be dropped. */
11
+ allowAttributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
12
+ /** An object where each key is the attribute name and the value is an array of dropped tag names. Matching attributes will be removed. */
13
+ dropAttributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
14
+ /** A boolean value to remove components and their children. If set to true, components will be subject to built-in and custom configuration checks (and will be retained or dropped based on those checks). Default is `false`. */
15
+ allowComponents: z.ZodOptional<z.ZodBoolean>;
16
+ /** A boolean value to remove custom elements and their children. If set to true, custom elements will be subject to built-in and custom configuration checks (and will be retained or dropped based on those checks). Default is `false` */
17
+ allowCustomElements: z.ZodOptional<z.ZodBoolean>;
18
+ /** A boolean value to remove HTML comments. Set to true in order to keep comments. Default is `false`. */
19
+ allowComments: z.ZodOptional<z.ZodBoolean>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ allowElements?: string[] | undefined;
22
+ blockElements?: string[] | undefined;
23
+ dropElements?: string[] | undefined;
24
+ allowAttributes?: Record<string, string[]> | undefined;
25
+ dropAttributes?: Record<string, string[]> | undefined;
26
+ allowComponents?: boolean | undefined;
27
+ allowCustomElements?: boolean | undefined;
28
+ allowComments?: boolean | undefined;
29
+ }, {
30
+ allowElements?: string[] | undefined;
31
+ blockElements?: string[] | undefined;
32
+ dropElements?: string[] | undefined;
33
+ allowAttributes?: Record<string, string[]> | undefined;
34
+ dropAttributes?: Record<string, string[]> | undefined;
35
+ allowComponents?: boolean | undefined;
36
+ allowCustomElements?: boolean | undefined;
37
+ allowComments?: boolean | undefined;
38
+ }>>;
39
+ export declare const StudioCMSMarkdownExtendedSchema: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
40
+ callouts: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
41
+ theme: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"github">, z.ZodLiteral<"obsidian">, z.ZodLiteral<"vitepress">]>>>;
42
+ }, "strip", z.ZodTypeAny, {
43
+ theme: "github" | "obsidian" | "vitepress";
44
+ }, {
45
+ theme?: "github" | "obsidian" | "vitepress" | undefined;
46
+ }>]>>>, {
47
+ enabled: boolean;
48
+ theme: "github" | "obsidian" | "vitepress";
49
+ }, false | {
50
+ theme?: "github" | "obsidian" | "vitepress" | undefined;
51
+ } | undefined>;
52
+ autoLinkHeadings: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
53
+ discordSubtext: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
54
+ sanitize: z.ZodOptional<z.ZodObject<{
55
+ /** An Array of strings indicating elements that the sanitizer should not remove. All elements not in the array will be dropped. */
56
+ allowElements: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
57
+ /** An Array of strings indicating elements that the sanitizer should remove. Children will be kept. */
58
+ blockElements: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
59
+ /** An Array of strings indicating elements (including nested elements) that the sanitizer should remove. */
60
+ dropElements: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
61
+ /** An object where each key is the attribute name and the value is an array of allowed tag names. Matching attributes will not be removed. All attributes that are not in the array will be dropped. */
62
+ allowAttributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
63
+ /** An object where each key is the attribute name and the value is an array of dropped tag names. Matching attributes will be removed. */
64
+ dropAttributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
65
+ /** A boolean value to remove components and their children. If set to true, components will be subject to built-in and custom configuration checks (and will be retained or dropped based on those checks). Default is `false`. */
66
+ allowComponents: z.ZodOptional<z.ZodBoolean>;
67
+ /** A boolean value to remove custom elements and their children. If set to true, custom elements will be subject to built-in and custom configuration checks (and will be retained or dropped based on those checks). Default is `false` */
68
+ allowCustomElements: z.ZodOptional<z.ZodBoolean>;
69
+ /** A boolean value to remove HTML comments. Set to true in order to keep comments. Default is `false`. */
70
+ allowComments: z.ZodOptional<z.ZodBoolean>;
71
+ }, "strip", z.ZodTypeAny, {
72
+ allowElements?: string[] | undefined;
73
+ blockElements?: string[] | undefined;
74
+ dropElements?: string[] | undefined;
75
+ allowAttributes?: Record<string, string[]> | undefined;
76
+ dropAttributes?: Record<string, string[]> | undefined;
77
+ allowComponents?: boolean | undefined;
78
+ allowCustomElements?: boolean | undefined;
79
+ allowComments?: boolean | undefined;
80
+ }, {
81
+ allowElements?: string[] | undefined;
82
+ blockElements?: string[] | undefined;
83
+ dropElements?: string[] | undefined;
84
+ allowAttributes?: Record<string, string[]> | undefined;
85
+ dropAttributes?: Record<string, string[]> | undefined;
86
+ allowComponents?: boolean | undefined;
87
+ allowCustomElements?: boolean | undefined;
88
+ allowComments?: boolean | undefined;
89
+ }>>;
90
+ }, "strip", z.ZodTypeAny, {
91
+ callouts: {
92
+ enabled: boolean;
93
+ theme: "github" | "obsidian" | "vitepress";
94
+ };
95
+ autoLinkHeadings: boolean;
96
+ discordSubtext: boolean;
97
+ sanitize?: {
98
+ allowElements?: string[] | undefined;
99
+ blockElements?: string[] | undefined;
100
+ dropElements?: string[] | undefined;
101
+ allowAttributes?: Record<string, string[]> | undefined;
102
+ dropAttributes?: Record<string, string[]> | undefined;
103
+ allowComponents?: boolean | undefined;
104
+ allowCustomElements?: boolean | undefined;
105
+ allowComments?: boolean | undefined;
106
+ } | undefined;
107
+ }, {
108
+ callouts?: false | {
109
+ theme?: "github" | "obsidian" | "vitepress" | undefined;
110
+ } | undefined;
111
+ autoLinkHeadings?: boolean | undefined;
112
+ discordSubtext?: boolean | undefined;
113
+ sanitize?: {
114
+ allowElements?: string[] | undefined;
115
+ blockElements?: string[] | undefined;
116
+ dropElements?: string[] | undefined;
117
+ allowAttributes?: Record<string, string[]> | undefined;
118
+ dropAttributes?: Record<string, string[]> | undefined;
119
+ allowComponents?: boolean | undefined;
120
+ allowCustomElements?: boolean | undefined;
121
+ allowComments?: boolean | undefined;
122
+ } | undefined;
123
+ }>]>>>, {
124
+ callouts: {
125
+ enabled: boolean;
126
+ theme: "github" | "obsidian" | "vitepress";
127
+ };
128
+ autoLinkHeadings: boolean;
129
+ discordSubtext: boolean;
130
+ sanitize?: {
131
+ allowElements?: string[] | undefined;
132
+ blockElements?: string[] | undefined;
133
+ dropElements?: string[] | undefined;
134
+ allowAttributes?: Record<string, string[]> | undefined;
135
+ dropAttributes?: Record<string, string[]> | undefined;
136
+ allowComponents?: boolean | undefined;
137
+ allowCustomElements?: boolean | undefined;
138
+ allowComments?: boolean | undefined;
139
+ } | undefined;
140
+ }, false | {
141
+ callouts?: false | {
142
+ theme?: "github" | "obsidian" | "vitepress" | undefined;
143
+ } | undefined;
144
+ autoLinkHeadings?: boolean | undefined;
145
+ discordSubtext?: boolean | undefined;
146
+ sanitize?: {
147
+ allowElements?: string[] | undefined;
148
+ blockElements?: string[] | undefined;
149
+ dropElements?: string[] | undefined;
150
+ allowAttributes?: Record<string, string[]> | undefined;
151
+ dropAttributes?: Record<string, string[]> | undefined;
152
+ allowComponents?: boolean | undefined;
153
+ allowCustomElements?: boolean | undefined;
154
+ allowComments?: boolean | undefined;
155
+ } | undefined;
156
+ } | undefined>;
157
+ export declare const TransformToProcessor: z.ZodEffects<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
158
+ callouts: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
159
+ theme: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"github">, z.ZodLiteral<"obsidian">, z.ZodLiteral<"vitepress">]>>>;
160
+ }, "strip", z.ZodTypeAny, {
161
+ theme: "github" | "obsidian" | "vitepress";
162
+ }, {
163
+ theme?: "github" | "obsidian" | "vitepress" | undefined;
164
+ }>]>>>, {
165
+ enabled: boolean;
166
+ theme: "github" | "obsidian" | "vitepress";
167
+ }, false | {
168
+ theme?: "github" | "obsidian" | "vitepress" | undefined;
169
+ } | undefined>;
170
+ autoLinkHeadings: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
171
+ discordSubtext: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
172
+ sanitize: z.ZodOptional<z.ZodObject<{
173
+ /** An Array of strings indicating elements that the sanitizer should not remove. All elements not in the array will be dropped. */
174
+ allowElements: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
175
+ /** An Array of strings indicating elements that the sanitizer should remove. Children will be kept. */
176
+ blockElements: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
177
+ /** An Array of strings indicating elements (including nested elements) that the sanitizer should remove. */
178
+ dropElements: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
179
+ /** An object where each key is the attribute name and the value is an array of allowed tag names. Matching attributes will not be removed. All attributes that are not in the array will be dropped. */
180
+ allowAttributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
181
+ /** An object where each key is the attribute name and the value is an array of dropped tag names. Matching attributes will be removed. */
182
+ dropAttributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
183
+ /** A boolean value to remove components and their children. If set to true, components will be subject to built-in and custom configuration checks (and will be retained or dropped based on those checks). Default is `false`. */
184
+ allowComponents: z.ZodOptional<z.ZodBoolean>;
185
+ /** A boolean value to remove custom elements and their children. If set to true, custom elements will be subject to built-in and custom configuration checks (and will be retained or dropped based on those checks). Default is `false` */
186
+ allowCustomElements: z.ZodOptional<z.ZodBoolean>;
187
+ /** A boolean value to remove HTML comments. Set to true in order to keep comments. Default is `false`. */
188
+ allowComments: z.ZodOptional<z.ZodBoolean>;
189
+ }, "strip", z.ZodTypeAny, {
190
+ allowElements?: string[] | undefined;
191
+ blockElements?: string[] | undefined;
192
+ dropElements?: string[] | undefined;
193
+ allowAttributes?: Record<string, string[]> | undefined;
194
+ dropAttributes?: Record<string, string[]> | undefined;
195
+ allowComponents?: boolean | undefined;
196
+ allowCustomElements?: boolean | undefined;
197
+ allowComments?: boolean | undefined;
198
+ }, {
199
+ allowElements?: string[] | undefined;
200
+ blockElements?: string[] | undefined;
201
+ dropElements?: string[] | undefined;
202
+ allowAttributes?: Record<string, string[]> | undefined;
203
+ dropAttributes?: Record<string, string[]> | undefined;
204
+ allowComponents?: boolean | undefined;
205
+ allowCustomElements?: boolean | undefined;
206
+ allowComments?: boolean | undefined;
207
+ }>>;
208
+ }, "strip", z.ZodTypeAny, {
209
+ callouts: {
210
+ enabled: boolean;
211
+ theme: "github" | "obsidian" | "vitepress";
212
+ };
213
+ autoLinkHeadings: boolean;
214
+ discordSubtext: boolean;
215
+ sanitize?: {
216
+ allowElements?: string[] | undefined;
217
+ blockElements?: string[] | undefined;
218
+ dropElements?: string[] | undefined;
219
+ allowAttributes?: Record<string, string[]> | undefined;
220
+ dropAttributes?: Record<string, string[]> | undefined;
221
+ allowComponents?: boolean | undefined;
222
+ allowCustomElements?: boolean | undefined;
223
+ allowComments?: boolean | undefined;
224
+ } | undefined;
225
+ }, {
226
+ callouts?: false | {
227
+ theme?: "github" | "obsidian" | "vitepress" | undefined;
228
+ } | undefined;
229
+ autoLinkHeadings?: boolean | undefined;
230
+ discordSubtext?: boolean | undefined;
231
+ sanitize?: {
232
+ allowElements?: string[] | undefined;
233
+ blockElements?: string[] | undefined;
234
+ dropElements?: string[] | undefined;
235
+ allowAttributes?: Record<string, string[]> | undefined;
236
+ dropAttributes?: Record<string, string[]> | undefined;
237
+ allowComponents?: boolean | undefined;
238
+ allowCustomElements?: boolean | undefined;
239
+ allowComments?: boolean | undefined;
240
+ } | undefined;
241
+ }>]>>>, {
242
+ callouts: {
243
+ enabled: boolean;
244
+ theme: "github" | "obsidian" | "vitepress";
245
+ };
246
+ autoLinkHeadings: boolean;
247
+ discordSubtext: boolean;
248
+ sanitize?: {
249
+ allowElements?: string[] | undefined;
250
+ blockElements?: string[] | undefined;
251
+ dropElements?: string[] | undefined;
252
+ allowAttributes?: Record<string, string[]> | undefined;
253
+ dropAttributes?: Record<string, string[]> | undefined;
254
+ allowComponents?: boolean | undefined;
255
+ allowCustomElements?: boolean | undefined;
256
+ allowComments?: boolean | undefined;
257
+ } | undefined;
258
+ }, false | {
259
+ callouts?: false | {
260
+ theme?: "github" | "obsidian" | "vitepress" | undefined;
261
+ } | undefined;
262
+ autoLinkHeadings?: boolean | undefined;
263
+ discordSubtext?: boolean | undefined;
264
+ sanitize?: {
265
+ allowElements?: string[] | undefined;
266
+ blockElements?: string[] | undefined;
267
+ dropElements?: string[] | undefined;
268
+ allowAttributes?: Record<string, string[]> | undefined;
269
+ dropAttributes?: Record<string, string[]> | undefined;
270
+ allowComponents?: boolean | undefined;
271
+ allowCustomElements?: boolean | undefined;
272
+ allowComments?: boolean | undefined;
273
+ } | undefined;
274
+ } | undefined>, {
275
+ studiocms: StudioCMSConfigOptions;
276
+ }, false | {
277
+ callouts?: false | {
278
+ theme?: "github" | "obsidian" | "vitepress" | undefined;
279
+ } | undefined;
280
+ autoLinkHeadings?: boolean | undefined;
281
+ discordSubtext?: boolean | undefined;
282
+ sanitize?: {
283
+ allowElements?: string[] | undefined;
284
+ blockElements?: string[] | undefined;
285
+ dropElements?: string[] | undefined;
286
+ allowAttributes?: Record<string, string[]> | undefined;
287
+ dropAttributes?: Record<string, string[]> | undefined;
288
+ allowComponents?: boolean | undefined;
289
+ allowCustomElements?: boolean | undefined;
290
+ allowComments?: boolean | undefined;
291
+ } | undefined;
292
+ } | undefined>;
@@ -0,0 +1,63 @@
1
+ import { z } from "astro/zod";
2
+ const StudioCMSSanitizeOptionsSchema = z.object({
3
+ /** An Array of strings indicating elements that the sanitizer should not remove. All elements not in the array will be dropped. */
4
+ allowElements: z.array(z.string()).optional(),
5
+ /** An Array of strings indicating elements that the sanitizer should remove. Children will be kept. */
6
+ blockElements: z.array(z.string()).optional(),
7
+ /** An Array of strings indicating elements (including nested elements) that the sanitizer should remove. */
8
+ dropElements: z.array(z.string()).optional(),
9
+ /** An object where each key is the attribute name and the value is an array of allowed tag names. Matching attributes will not be removed. All attributes that are not in the array will be dropped. */
10
+ allowAttributes: z.record(z.array(z.string())).optional(),
11
+ /** An object where each key is the attribute name and the value is an array of dropped tag names. Matching attributes will be removed. */
12
+ dropAttributes: z.record(z.array(z.string())).optional(),
13
+ /** A boolean value to remove components and their children. If set to true, components will be subject to built-in and custom configuration checks (and will be retained or dropped based on those checks). Default is `false`. */
14
+ allowComponents: z.boolean().optional(),
15
+ /** A boolean value to remove custom elements and their children. If set to true, custom elements will be subject to built-in and custom configuration checks (and will be retained or dropped based on those checks). Default is `false` */
16
+ allowCustomElements: z.boolean().optional(),
17
+ /** A boolean value to remove HTML comments. Set to true in order to keep comments. Default is `false`. */
18
+ allowComments: z.boolean().optional()
19
+ }).optional();
20
+ const StudioCMSMarkdownExtendedSchema = z.union([
21
+ z.literal(false),
22
+ z.object({
23
+ callouts: z.union([
24
+ z.literal(false),
25
+ z.object({
26
+ theme: z.union([z.literal("github"), z.literal("obsidian"), z.literal("vitepress")]).optional().default("obsidian")
27
+ })
28
+ ]).optional().default({}).transform((value) => {
29
+ if (value === false) {
30
+ return { theme: "obsidian", enabled: false };
31
+ }
32
+ return { ...value, enabled: true };
33
+ }),
34
+ autoLinkHeadings: z.boolean().optional().default(true),
35
+ discordSubtext: z.boolean().optional().default(true),
36
+ sanitize: StudioCMSSanitizeOptionsSchema
37
+ })
38
+ ]).optional().default({}).transform((value) => {
39
+ if (value === false) {
40
+ return {
41
+ callouts: { enabled: false, theme: "obsidian" },
42
+ autoLinkHeadings: false,
43
+ discordSubtext: false
44
+ };
45
+ }
46
+ return value;
47
+ });
48
+ const TransformToProcessor = StudioCMSMarkdownExtendedSchema.transform(
49
+ ({ autoLinkHeadings, callouts, discordSubtext, sanitize }) => {
50
+ return {
51
+ studiocms: {
52
+ callouts: callouts.enabled ? { theme: callouts.theme } : false,
53
+ autolink: autoLinkHeadings,
54
+ discordSubtext
55
+ }
56
+ };
57
+ }
58
+ );
59
+ export {
60
+ StudioCMSMarkdownExtendedSchema,
61
+ StudioCMSSanitizeOptionsSchema,
62
+ TransformToProcessor
63
+ };
@@ -0,0 +1,2 @@
1
+ export * from './config/index.js';
2
+ export * from './plugins/index.js';
@@ -0,0 +1,2 @@
1
+ export * from "./config/index.js";
2
+ export * from "./plugins/index.js";