@fecommunity/reactpress-toolkit 3.0.4 → 3.1.0

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 (500) hide show
  1. package/README.md +194 -309
  2. package/dist/admin/index.d.ts +2 -0
  3. package/dist/admin/index.js +18 -0
  4. package/dist/admin/permissions.d.ts +5 -0
  5. package/dist/admin/permissions.js +33 -0
  6. package/dist/admin/registry.d.ts +62 -0
  7. package/dist/admin/registry.js +79 -0
  8. package/dist/api/HttpClient.d.ts +2 -2
  9. package/dist/api/HttpClient.js +1 -1
  10. package/dist/api/Smtp.d.ts +17 -0
  11. package/dist/api/Smtp.js +15 -0
  12. package/dist/api/instance.d.ts +1 -1
  13. package/dist/api/instance.js +3 -3
  14. package/dist/app/createReactPressApp.d.ts +88 -0
  15. package/dist/app/createReactPressApp.js +262 -0
  16. package/dist/app/createThemeApp.d.ts +6 -0
  17. package/dist/app/createThemeApp.js +47 -0
  18. package/dist/app/devChunkRecovery.d.ts +2 -0
  19. package/dist/app/devChunkRecovery.js +68 -0
  20. package/dist/app/index.d.ts +39 -0
  21. package/dist/app/index.js +11 -0
  22. package/dist/config/env.js +29 -15
  23. package/dist/config/global.d.ts +7 -1
  24. package/dist/config/global.js +9 -3
  25. package/dist/config/i18n.js +27 -11
  26. package/dist/config/index.d.ts +3 -3
  27. package/dist/config/index.js +6 -5
  28. package/dist/{locales → config/locales}/en.json +31 -3
  29. package/dist/{locales → config/locales}/zh.json +31 -3
  30. package/dist/dev/index.d.ts +3 -0
  31. package/dist/dev/index.js +12 -0
  32. package/dist/dev/portRedirect.d.ts +20 -0
  33. package/dist/dev/portRedirect.js +93 -0
  34. package/dist/dev/vitePortRedirectPlugin.d.ts +24 -0
  35. package/dist/dev/vitePortRedirectPlugin.js +40 -0
  36. package/dist/extension/branding-mods.d.ts +10 -0
  37. package/dist/extension/branding-mods.js +65 -0
  38. package/dist/extension/configuration/defaults.d.ts +3 -0
  39. package/dist/extension/configuration/defaults.js +32 -0
  40. package/dist/extension/configuration/formily.d.ts +10 -0
  41. package/dist/extension/configuration/formily.js +170 -0
  42. package/dist/extension/configuration/index.d.ts +7 -0
  43. package/dist/extension/configuration/index.js +28 -0
  44. package/dist/extension/configuration/paths.d.ts +4 -0
  45. package/dist/extension/configuration/paths.js +50 -0
  46. package/dist/extension/configuration/presets/twentytwentyfive.d.ts +7 -0
  47. package/dist/extension/configuration/presets/twentytwentyfive.js +94 -0
  48. package/dist/extension/configuration/resolve.d.ts +24 -0
  49. package/dist/extension/configuration/resolve.js +98 -0
  50. package/dist/extension/configuration/types.d.ts +68 -0
  51. package/dist/extension/configuration/types.js +3 -0
  52. package/dist/extension/configuration/validate.d.ts +8 -0
  53. package/dist/extension/configuration/validate.js +21 -0
  54. package/dist/extension/index.d.ts +9 -0
  55. package/dist/extension/index.js +35 -0
  56. package/dist/extension/manifest-normalize.d.ts +5 -0
  57. package/dist/extension/manifest-normalize.js +75 -0
  58. package/dist/extension/node.d.ts +2 -0
  59. package/dist/extension/node.js +6 -0
  60. package/dist/extension/presets/twentytwentyfive-appearance.d.ts +10 -0
  61. package/dist/extension/presets/twentytwentyfive-appearance.js +193 -0
  62. package/dist/extension/presets/twentytwentyfive-customizer.d.ts +19 -0
  63. package/dist/extension/presets/twentytwentyfive-customizer.js +199 -0
  64. package/dist/extension/preview.d.ts +46 -0
  65. package/dist/extension/preview.js +92 -0
  66. package/dist/extension/site-notices.d.ts +19 -0
  67. package/dist/extension/site-notices.js +88 -0
  68. package/dist/extension/site-settings.d.ts +37 -0
  69. package/dist/extension/site-settings.js +144 -0
  70. package/dist/extension/theme-admin-locale.d.ts +11 -0
  71. package/dist/extension/theme-admin-locale.io.d.ts +2 -0
  72. package/dist/extension/theme-admin-locale.io.js +54 -0
  73. package/dist/extension/theme-admin-locale.js +81 -0
  74. package/dist/extension/theme.d.ts +89 -0
  75. package/dist/extension/theme.js +93 -0
  76. package/dist/extension/twentytwentyfive-vars.d.ts +7 -0
  77. package/dist/extension/twentytwentyfive-vars.js +100 -0
  78. package/dist/index.d.ts +15 -7
  79. package/dist/index.js +44 -22
  80. package/dist/plugin/admin/index.d.ts +2 -0
  81. package/dist/plugin/admin/index.js +18 -0
  82. package/dist/plugin/admin/permissions.d.ts +5 -0
  83. package/dist/plugin/admin/permissions.js +33 -0
  84. package/dist/plugin/admin/registry.d.ts +62 -0
  85. package/dist/plugin/admin/registry.js +79 -0
  86. package/dist/plugin/client/client.d.ts +14 -0
  87. package/dist/plugin/client/client.js +95 -0
  88. package/dist/plugin/client/index.d.ts +4 -0
  89. package/dist/plugin/client/index.js +11 -0
  90. package/dist/plugin/client/runtime.d.ts +18 -0
  91. package/dist/plugin/client/runtime.js +30 -0
  92. package/dist/plugin/dev/index.d.ts +4 -0
  93. package/dist/plugin/dev/index.js +16 -0
  94. package/dist/plugin/dev/portRedirect.d.ts +26 -0
  95. package/dist/plugin/dev/portRedirect.js +111 -0
  96. package/dist/plugin/dev/vitePortRedirectPlugin.d.ts +24 -0
  97. package/dist/plugin/dev/vitePortRedirectPlugin.js +40 -0
  98. package/dist/plugin/index.d.ts +9 -0
  99. package/dist/plugin/index.js +48 -0
  100. package/dist/plugin/react/client.d.ts +14 -0
  101. package/dist/plugin/react/client.js +95 -0
  102. package/dist/plugin/react/index.d.ts +2 -0
  103. package/dist/plugin/react/index.js +18 -0
  104. package/dist/plugin/react/runtime.d.ts +18 -0
  105. package/dist/plugin/react/runtime.js +30 -0
  106. package/dist/primitives/AntdStyleTransitionFix.d.ts +2 -0
  107. package/dist/primitives/AntdStyleTransitionFix.js +16 -0
  108. package/dist/primitives/Badge.d.ts +7 -0
  109. package/dist/primitives/Badge.js +9 -0
  110. package/dist/primitives/Button.d.ts +10 -0
  111. package/dist/primitives/Button.js +38 -0
  112. package/dist/primitives/ColorModeToggle.d.ts +8 -0
  113. package/dist/primitives/ColorModeToggle.js +13 -0
  114. package/dist/primitives/IconButton.d.ts +7 -0
  115. package/dist/primitives/IconButton.js +13 -0
  116. package/dist/primitives/ScrollToTarget.d.ts +9 -0
  117. package/dist/primitives/ScrollToTarget.js +48 -0
  118. package/dist/primitives/Separator.d.ts +7 -0
  119. package/dist/primitives/Separator.js +9 -0
  120. package/dist/primitives/Skeleton.d.ts +7 -0
  121. package/dist/primitives/Skeleton.js +9 -0
  122. package/dist/primitives/Slot.d.ts +10 -0
  123. package/dist/primitives/Slot.js +25 -0
  124. package/dist/primitives/Spinner.d.ts +6 -0
  125. package/dist/primitives/Spinner.js +9 -0
  126. package/dist/primitives/animation/ConditionTransition.d.ts +8 -0
  127. package/dist/primitives/animation/ConditionTransition.js +13 -0
  128. package/dist/primitives/animation/ListTrail.d.ts +10 -0
  129. package/dist/primitives/animation/ListTrail.js +14 -0
  130. package/dist/primitives/animation/Opacity.d.ts +3 -0
  131. package/dist/primitives/animation/Opacity.js +10 -0
  132. package/dist/primitives/animation/Spring.d.ts +9 -0
  133. package/dist/primitives/animation/Spring.js +29 -0
  134. package/dist/primitives/animation/index.d.ts +7 -0
  135. package/dist/primitives/animation/index.js +11 -0
  136. package/dist/primitives/cn.d.ts +4 -0
  137. package/dist/primitives/cn.js +7 -0
  138. package/dist/primitives/icons.d.ts +4 -0
  139. package/dist/primitives/icons.js +15 -0
  140. package/dist/primitives/index.d.ts +22 -0
  141. package/dist/primitives/index.js +44 -0
  142. package/dist/react/client.d.ts +14 -0
  143. package/dist/react/client.js +95 -0
  144. package/dist/react/index.d.ts +4 -0
  145. package/dist/react/index.js +11 -0
  146. package/dist/react/runtime.d.ts +18 -0
  147. package/dist/react/runtime.js +30 -0
  148. package/dist/theme/antdDocument.d.ts +18 -0
  149. package/dist/theme/antdDocument.js +59 -0
  150. package/dist/theme/api/api-data.d.ts +2 -0
  151. package/dist/theme/api/api-data.js +8 -0
  152. package/dist/theme/api/api.d.ts +28 -0
  153. package/dist/theme/api/api.js +27 -0
  154. package/dist/theme/api/httpClient.d.ts +24 -0
  155. package/dist/theme/api/httpClient.js +83 -0
  156. package/dist/theme/api/json.d.ts +1 -0
  157. package/dist/theme/api/json.js +5 -0
  158. package/dist/theme/api/jsonp.d.ts +1 -0
  159. package/dist/theme/api/jsonp.js +5 -0
  160. package/dist/theme/api-data.d.ts +12 -0
  161. package/dist/theme/api-data.js +22 -0
  162. package/dist/theme/api.d.ts +28 -0
  163. package/dist/theme/api.js +27 -0
  164. package/dist/theme/appearance.d.ts +4 -0
  165. package/dist/theme/appearance.js +16 -0
  166. package/dist/theme/assets.d.ts +2 -0
  167. package/dist/theme/assets.js +27 -0
  168. package/dist/theme/authSession.d.ts +16 -0
  169. package/dist/theme/authSession.js +92 -0
  170. package/dist/theme/build/antdDocument.d.ts +145 -0
  171. package/dist/theme/build/antdDocument.js +70 -0
  172. package/dist/theme/build/next-config.d.ts +17 -0
  173. package/dist/theme/build/next-config.js +100 -0
  174. package/dist/theme/build/node.d.ts +2 -0
  175. package/dist/theme/build/node.js +6 -0
  176. package/dist/theme/colorMode.d.ts +12 -0
  177. package/dist/theme/colorMode.js +45 -0
  178. package/dist/theme/commentAuthor.d.ts +17 -0
  179. package/dist/theme/commentAuthor.js +48 -0
  180. package/dist/theme/content/archiveSlim.d.ts +7 -0
  181. package/dist/theme/content/archiveSlim.js +38 -0
  182. package/dist/theme/content/articleSlim.d.ts +10 -0
  183. package/dist/theme/content/articleSlim.js +35 -0
  184. package/dist/theme/content/assets.d.ts +8 -0
  185. package/dist/theme/content/assets.js +74 -0
  186. package/dist/theme/content/carouselArticles.d.ts +10 -0
  187. package/dist/theme/content/carouselArticles.js +39 -0
  188. package/dist/theme/content/excerpt.d.ts +15 -0
  189. package/dist/theme/content/excerpt.js +42 -0
  190. package/dist/theme/content/nav.d.ts +10 -0
  191. package/dist/theme/content/nav.js +30 -0
  192. package/dist/theme/content/seo.d.ts +6 -0
  193. package/dist/theme/content/seo.js +12 -0
  194. package/dist/theme/createAntdApp.d.ts +106 -0
  195. package/dist/theme/createAntdApp.js +175 -0
  196. package/dist/theme/createApp.d.ts +10 -0
  197. package/dist/theme/createApp.js +141 -0
  198. package/dist/theme/createCatalogApp.d.ts +108 -0
  199. package/dist/theme/createCatalogApp.js +168 -0
  200. package/dist/theme/customizer.d.ts +1 -0
  201. package/dist/theme/customizer.js +5 -0
  202. package/dist/theme/excerpt.d.ts +16 -0
  203. package/dist/theme/excerpt.js +31 -0
  204. package/dist/theme/extension/branding-mods.d.ts +10 -0
  205. package/dist/theme/extension/branding-mods.js +65 -0
  206. package/dist/theme/extension/configuration/defaults.d.ts +3 -0
  207. package/dist/theme/extension/configuration/defaults.js +32 -0
  208. package/dist/theme/extension/configuration/formily.d.ts +10 -0
  209. package/dist/theme/extension/configuration/formily.js +170 -0
  210. package/dist/theme/extension/configuration/index.d.ts +7 -0
  211. package/dist/theme/extension/configuration/index.js +28 -0
  212. package/dist/theme/extension/configuration/paths.d.ts +1 -0
  213. package/dist/theme/extension/configuration/paths.js +7 -0
  214. package/dist/theme/extension/configuration/presets/twentytwentyfive.d.ts +7 -0
  215. package/dist/theme/extension/configuration/presets/twentytwentyfive.js +94 -0
  216. package/dist/theme/extension/configuration/resolve.d.ts +24 -0
  217. package/dist/theme/extension/configuration/resolve.js +98 -0
  218. package/dist/theme/extension/configuration/types.d.ts +68 -0
  219. package/dist/theme/extension/configuration/types.js +3 -0
  220. package/dist/theme/extension/configuration/validate.d.ts +8 -0
  221. package/dist/theme/extension/configuration/validate.js +21 -0
  222. package/dist/theme/extension/index.d.ts +11 -0
  223. package/dist/theme/extension/index.js +38 -0
  224. package/dist/theme/extension/manifest-normalize.d.ts +5 -0
  225. package/dist/theme/extension/manifest-normalize.js +75 -0
  226. package/dist/theme/extension/presets/twentytwentyfive-appearance.d.ts +10 -0
  227. package/dist/theme/extension/presets/twentytwentyfive-appearance.js +193 -0
  228. package/dist/theme/extension/preview.d.ts +46 -0
  229. package/dist/theme/extension/preview.js +92 -0
  230. package/dist/theme/extension/site-notices.d.ts +19 -0
  231. package/dist/theme/extension/site-notices.js +88 -0
  232. package/dist/theme/extension/site-settings.d.ts +37 -0
  233. package/dist/theme/extension/site-settings.js +144 -0
  234. package/dist/theme/extension/siteNav.d.ts +18 -0
  235. package/dist/theme/extension/siteNav.js +17 -0
  236. package/dist/theme/extension/theme-admin-locale.d.ts +11 -0
  237. package/dist/theme/extension/theme-admin-locale.io.d.ts +2 -0
  238. package/dist/theme/extension/theme-admin-locale.io.js +54 -0
  239. package/dist/theme/extension/theme-admin-locale.js +68 -0
  240. package/dist/theme/extension/theme.d.ts +89 -0
  241. package/dist/theme/extension/theme.js +93 -0
  242. package/dist/theme/extension/twentytwentyfive-vars.d.ts +9 -0
  243. package/dist/theme/extension/twentytwentyfive-vars.js +103 -0
  244. package/dist/theme/fetch.d.ts +134 -0
  245. package/dist/theme/fetch.js +241 -0
  246. package/dist/theme/format.d.ts +16 -0
  247. package/dist/theme/format.js +48 -0
  248. package/dist/theme/httpClient.d.ts +20 -0
  249. package/dist/theme/httpClient.js +89 -0
  250. package/dist/theme/index.d.ts +63 -0
  251. package/dist/theme/index.js +226 -0
  252. package/dist/theme/json.d.ts +1 -0
  253. package/dist/theme/json.js +17 -0
  254. package/dist/theme/jsonp.d.ts +8 -0
  255. package/dist/theme/jsonp.js +27 -0
  256. package/dist/theme/locale.d.ts +23 -0
  257. package/dist/theme/locale.js +55 -0
  258. package/dist/theme/nav.d.ts +10 -0
  259. package/dist/theme/nav.js +30 -0
  260. package/dist/theme/next-config.d.ts +2 -0
  261. package/dist/theme/next-config.js +18 -0
  262. package/dist/theme/node.d.ts +2 -0
  263. package/dist/theme/node.js +18 -0
  264. package/dist/theme/preview/preview-config.d.ts +13 -0
  265. package/dist/theme/preview/preview-config.js +65 -0
  266. package/dist/theme/preview/preview-draft.d.ts +19 -0
  267. package/dist/theme/preview/preview-draft.js +51 -0
  268. package/dist/theme/preview/preview-mods.d.ts +16 -0
  269. package/dist/theme/preview/preview-mods.js +78 -0
  270. package/dist/theme/preview-config.d.ts +13 -0
  271. package/dist/theme/preview-config.js +65 -0
  272. package/dist/theme/preview-draft.d.ts +19 -0
  273. package/dist/theme/preview-draft.js +51 -0
  274. package/dist/theme/preview-mods.d.ts +16 -0
  275. package/dist/theme/preview-mods.js +78 -0
  276. package/dist/theme/providers/index.d.ts +118 -0
  277. package/dist/theme/providers/index.js +251 -0
  278. package/dist/theme/providers/setup.d.ts +124 -0
  279. package/dist/theme/providers/setup.js +29 -0
  280. package/dist/theme/runtime.d.ts +18 -0
  281. package/dist/theme/runtime.js +19 -0
  282. package/dist/theme/seo.d.ts +6 -0
  283. package/dist/theme/seo.js +12 -0
  284. package/dist/theme/server.d.ts +65 -0
  285. package/dist/theme/server.js +177 -0
  286. package/dist/theme/setting.d.ts +12 -0
  287. package/dist/theme/setting.js +42 -0
  288. package/dist/theme/ssr/bootstrap.d.ts +48 -0
  289. package/dist/theme/ssr/bootstrap.js +112 -0
  290. package/dist/theme/ssr/fetch.d.ts +134 -0
  291. package/dist/theme/ssr/fetch.js +264 -0
  292. package/dist/theme/ssr/format.d.ts +3 -0
  293. package/dist/theme/ssr/format.js +8 -0
  294. package/dist/theme/ssr/pageProps.d.ts +62 -0
  295. package/dist/theme/ssr/pageProps.js +138 -0
  296. package/dist/theme/ssr/setting.d.ts +12 -0
  297. package/dist/theme/ssr/setting.js +42 -0
  298. package/dist/theme/ssr/slimBootstrap.d.ts +11 -0
  299. package/dist/theme/ssr/slimBootstrap.js +75 -0
  300. package/dist/theme/ssr/static.d.ts +10 -0
  301. package/dist/theme/ssr/static.js +17 -0
  302. package/dist/theme/ssr/templates.d.ts +35 -0
  303. package/dist/theme/ssr/templates.js +50 -0
  304. package/dist/theme/static.d.ts +10 -0
  305. package/dist/theme/static.js +17 -0
  306. package/dist/theme/templates.d.ts +27 -0
  307. package/dist/theme/templates.js +38 -0
  308. package/dist/theme/ui-optional.d.ts +1 -0
  309. package/dist/theme/ui-optional.js +21 -0
  310. package/dist/theme/visitor/appearance.d.ts +4 -0
  311. package/dist/theme/visitor/appearance.js +16 -0
  312. package/dist/theme/visitor/authSession.d.ts +16 -0
  313. package/dist/theme/visitor/authSession.js +92 -0
  314. package/dist/theme/visitor/colorMode.d.ts +17 -0
  315. package/dist/theme/visitor/colorMode.js +59 -0
  316. package/dist/theme/visitor/commentAuthor.d.ts +16 -0
  317. package/dist/theme/visitor/commentAuthor.js +45 -0
  318. package/dist/theme/visitor/i18n.d.ts +4 -0
  319. package/dist/theme/visitor/i18n.js +28 -0
  320. package/dist/theme/visitor/locale.d.ts +23 -0
  321. package/dist/theme/visitor/locale.js +72 -0
  322. package/dist/theme/visitor/runtime.d.ts +18 -0
  323. package/dist/theme/visitor/runtime.js +19 -0
  324. package/dist/theme/visitor/visitorLocale.d.ts +11 -0
  325. package/dist/theme/visitor/visitorLocale.js +56 -0
  326. package/dist/theme/visitorLocale.d.ts +6 -0
  327. package/dist/theme/visitorLocale.js +39 -0
  328. package/dist/types/index.d.ts +79 -68
  329. package/dist/ui/AntdStyleTransitionFix.d.ts +5 -0
  330. package/dist/ui/AntdStyleTransitionFix.js +16 -0
  331. package/dist/ui/ArchiveEmptyState.d.ts +13 -0
  332. package/dist/ui/ArchiveEmptyState.js +8 -0
  333. package/dist/ui/ArchivePageLayout.d.ts +10 -0
  334. package/dist/ui/ArchivePageLayout.js +8 -0
  335. package/dist/ui/ArticleCard.d.ts +27 -0
  336. package/dist/ui/ArticleCard.js +16 -0
  337. package/dist/ui/ArticleList.d.ts +14 -0
  338. package/dist/ui/ArticleList.js +16 -0
  339. package/dist/ui/BaseGlobalStyles.d.ts +5 -0
  340. package/dist/ui/BaseGlobalStyles.js +18 -0
  341. package/dist/ui/LocaleSwitcher.d.ts +7 -0
  342. package/dist/ui/LocaleSwitcher.js +15 -0
  343. package/dist/ui/NavMenu.d.ts +16 -0
  344. package/dist/ui/NavMenu.js +8 -0
  345. package/dist/ui/NotFoundPanel.d.ts +11 -0
  346. package/dist/ui/NotFoundPanel.js +8 -0
  347. package/dist/ui/PageHeader.d.ts +10 -0
  348. package/dist/ui/PageHeader.js +8 -0
  349. package/dist/ui/SiteBranding.d.ts +10 -0
  350. package/dist/ui/SiteBranding.js +14 -0
  351. package/dist/ui/SiteDocument.d.ts +20 -0
  352. package/dist/ui/SiteDocument.js +13 -0
  353. package/dist/ui/SiteDocumentFallback.d.ts +8 -0
  354. package/dist/ui/SiteDocumentFallback.js +9 -0
  355. package/dist/ui/SiteLogo.d.ts +6 -0
  356. package/dist/ui/SiteLogo.js +16 -0
  357. package/dist/ui/SiteTagline.d.ts +7 -0
  358. package/dist/ui/SiteTagline.js +15 -0
  359. package/dist/ui/TaxonomyList.d.ts +25 -0
  360. package/dist/ui/TaxonomyList.js +30 -0
  361. package/dist/ui/ThemeCssVars.d.ts +2 -0
  362. package/dist/ui/ThemeCssVars.js +85 -0
  363. package/dist/ui/ThemeLayout.d.ts +13 -0
  364. package/dist/ui/ThemeLayout.js +11 -0
  365. package/dist/ui/components/AntdStyleTransitionFix.d.ts +5 -0
  366. package/dist/ui/components/AntdStyleTransitionFix.js +16 -0
  367. package/dist/ui/components/ArchiveEmptyState.d.ts +13 -0
  368. package/dist/ui/components/ArchiveEmptyState.js +8 -0
  369. package/dist/ui/components/ArchivePageLayout.d.ts +10 -0
  370. package/dist/ui/components/ArchivePageLayout.js +8 -0
  371. package/dist/ui/components/ArticleCard.d.ts +27 -0
  372. package/dist/ui/components/ArticleCard.js +16 -0
  373. package/dist/ui/components/ArticleList.d.ts +14 -0
  374. package/dist/ui/components/ArticleList.js +16 -0
  375. package/dist/ui/components/BaseGlobalStyles.d.ts +5 -0
  376. package/dist/ui/components/BaseGlobalStyles.js +18 -0
  377. package/dist/ui/components/LocaleSwitcher.d.ts +10 -0
  378. package/dist/ui/components/LocaleSwitcher.js +11 -0
  379. package/dist/ui/components/NavMenu.d.ts +16 -0
  380. package/dist/ui/components/NavMenu.js +8 -0
  381. package/dist/ui/components/NotFoundPanel.d.ts +11 -0
  382. package/dist/ui/components/NotFoundPanel.js +8 -0
  383. package/dist/ui/components/PageHeader.d.ts +10 -0
  384. package/dist/ui/components/PageHeader.js +8 -0
  385. package/dist/ui/components/RouteProgress.d.ts +9 -0
  386. package/dist/ui/components/RouteProgress.js +40 -0
  387. package/dist/ui/components/SiteAnalytics.d.ts +5 -0
  388. package/dist/ui/components/SiteAnalytics.js +42 -0
  389. package/dist/ui/components/SiteBranding.d.ts +10 -0
  390. package/dist/ui/components/SiteBranding.js +14 -0
  391. package/dist/ui/components/SiteDocument.d.ts +20 -0
  392. package/dist/ui/components/SiteDocument.js +13 -0
  393. package/dist/ui/components/SiteDocumentFallback.d.ts +8 -0
  394. package/dist/ui/components/SiteDocumentFallback.js +9 -0
  395. package/dist/ui/components/SiteLogo.d.ts +8 -0
  396. package/dist/ui/components/SiteLogo.js +23 -0
  397. package/dist/ui/components/SiteSeo.d.ts +13 -0
  398. package/dist/ui/components/SiteSeo.js +19 -0
  399. package/dist/ui/components/SiteTagline.d.ts +7 -0
  400. package/dist/ui/components/SiteTagline.js +15 -0
  401. package/dist/ui/components/TaxonomyList.d.ts +25 -0
  402. package/dist/ui/components/TaxonomyList.js +30 -0
  403. package/dist/ui/components/ThemeCssVars.d.ts +2 -0
  404. package/dist/ui/components/ThemeCssVars.js +85 -0
  405. package/dist/ui/components/ThemeLayout.d.ts +13 -0
  406. package/dist/ui/components/ThemeLayout.js +11 -0
  407. package/dist/ui/components/content/ArticleReader.d.ts +45 -0
  408. package/dist/ui/components/content/ArticleReader.js +23 -0
  409. package/dist/ui/components/content/ArticleToc.d.ts +21 -0
  410. package/dist/ui/components/content/ArticleToc.js +75 -0
  411. package/dist/ui/components/content/HtmlContent.d.ts +15 -0
  412. package/dist/ui/components/content/HtmlContent.js +237 -0
  413. package/dist/ui/components/content/Image.d.ts +9 -0
  414. package/dist/ui/components/content/Image.js +13 -0
  415. package/dist/ui/components/content/ImageViewer.d.ts +8 -0
  416. package/dist/ui/components/content/ImageViewer.js +33 -0
  417. package/dist/ui/components/content/LocaleTime.d.ts +9 -0
  418. package/dist/ui/components/content/LocaleTime.js +63 -0
  419. package/dist/ui/components/content/index.d.ts +14 -0
  420. package/dist/ui/components/content/index.js +18 -0
  421. package/dist/ui/components/toolbar/LocaleToggleButton.d.ts +8 -0
  422. package/dist/ui/components/toolbar/LocaleToggleButton.js +18 -0
  423. package/dist/ui/components/toolbar/ThemeToggleButton.d.ts +7 -0
  424. package/dist/ui/components/toolbar/ThemeToggleButton.js +10 -0
  425. package/dist/ui/components/toolbar/ToolbarIconButton.d.ts +7 -0
  426. package/dist/ui/components/toolbar/ToolbarIconButton.js +22 -0
  427. package/dist/ui/components/toolbar/constants.d.ts +5 -0
  428. package/dist/ui/components/toolbar/constants.js +8 -0
  429. package/dist/ui/components/toolbar/icons.d.ts +17 -0
  430. package/dist/ui/components/toolbar/icons.js +44 -0
  431. package/dist/ui/components/toolbar/index.d.ts +9 -0
  432. package/dist/ui/components/toolbar/index.js +25 -0
  433. package/dist/ui/components/toolbar/locale-label.d.ts +3 -0
  434. package/dist/ui/components/toolbar/locale-label.js +19 -0
  435. package/dist/ui/context/LocaleContext.d.ts +15 -0
  436. package/dist/ui/context/LocaleContext.js +59 -0
  437. package/dist/ui/context/ReactPressProvider.d.ts +3 -0
  438. package/dist/ui/context/ReactPressProvider.js +10 -0
  439. package/dist/ui/context/SiteCatalogContext.d.ts +41 -0
  440. package/dist/ui/context/SiteCatalogContext.js +60 -0
  441. package/dist/ui/context/ThemeRuntimeContext.d.ts +21 -0
  442. package/dist/ui/context/ThemeRuntimeContext.js +59 -0
  443. package/dist/ui/context/index.d.ts +8 -0
  444. package/dist/ui/context/index.js +26 -0
  445. package/dist/ui/context/siteCatalogTypes.d.ts +64 -0
  446. package/dist/ui/context/siteCatalogTypes.js +20 -0
  447. package/dist/ui/context/types.d.ts +34 -0
  448. package/dist/ui/context/types.js +2 -0
  449. package/dist/ui/hooks/index.d.ts +12 -0
  450. package/dist/ui/hooks/index.js +29 -0
  451. package/dist/ui/hooks/useAsyncLoading.d.ts +4 -0
  452. package/dist/ui/hooks/useAsyncLoading.js +31 -0
  453. package/dist/ui/hooks/useForceUpdate.d.ts +2 -0
  454. package/dist/ui/hooks/useForceUpdate.js +11 -0
  455. package/dist/ui/hooks/useNavActive.d.ts +5 -0
  456. package/dist/ui/hooks/useNavActive.js +11 -0
  457. package/dist/ui/hooks/usePagination.d.ts +34 -0
  458. package/dist/ui/hooks/usePagination.js +55 -0
  459. package/dist/ui/hooks/useReportArticleView.d.ts +4 -0
  460. package/dist/ui/hooks/useReportArticleView.js +40 -0
  461. package/dist/ui/hooks/useReportPageView.d.ts +11 -0
  462. package/dist/ui/hooks/useReportPageView.js +28 -0
  463. package/dist/ui/hooks/useRouteParam.d.ts +5 -0
  464. package/dist/ui/hooks/useRouteParam.js +15 -0
  465. package/dist/ui/hooks/useToggle.d.ts +2 -0
  466. package/dist/ui/hooks/useToggle.js +17 -0
  467. package/dist/ui/hooks/useWarningOnExit.d.ts +5 -0
  468. package/dist/ui/hooks/useWarningOnExit.js +59 -0
  469. package/dist/ui/index.d.ts +43 -0
  470. package/dist/ui/index.js +87 -0
  471. package/dist/utils/api-envelope.d.ts +14 -0
  472. package/dist/utils/api-envelope.js +31 -0
  473. package/dist/utils/clipboard.d.ts +2 -0
  474. package/dist/utils/clipboard.js +24 -0
  475. package/dist/utils/cookie.d.ts +2 -0
  476. package/dist/utils/cookie.js +15 -0
  477. package/dist/utils/date.d.ts +4 -0
  478. package/dist/utils/date.js +45 -0
  479. package/dist/utils/email.d.ts +3 -0
  480. package/dist/utils/email.js +9 -0
  481. package/dist/utils/error.d.ts +7 -0
  482. package/dist/utils/error.js +26 -0
  483. package/dist/utils/image.d.ts +7 -0
  484. package/dist/utils/image.js +34 -0
  485. package/dist/utils/index.d.ts +15 -33
  486. package/dist/utils/index.js +37 -57
  487. package/dist/utils/json.d.ts +2 -0
  488. package/dist/utils/json.js +18 -0
  489. package/dist/utils/jsonp.d.ts +8 -0
  490. package/dist/utils/jsonp.js +27 -0
  491. package/dist/utils/object.d.ts +7 -0
  492. package/dist/utils/object.js +63 -0
  493. package/dist/utils/setting.d.ts +12 -0
  494. package/dist/utils/setting.js +13 -0
  495. package/dist/utils/string.d.ts +4 -0
  496. package/dist/utils/string.js +15 -0
  497. package/dist/utils/viewport.d.ts +3 -0
  498. package/dist/utils/viewport.js +14 -0
  499. package/package.json +129 -16
  500. package/LICENSE +0 -21
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setByPath = exports.getByPath = exports.deepMerge = void 0;
4
+ var object_1 = require("../../../utils/object");
5
+ Object.defineProperty(exports, "deepMerge", { enumerable: true, get: function () { return object_1.deepMerge; } });
6
+ Object.defineProperty(exports, "getByPath", { enumerable: true, get: function () { return object_1.getByPath; } });
7
+ Object.defineProperty(exports, "setByPath", { enumerable: true, get: function () { return object_1.setByPath; } });
@@ -0,0 +1,7 @@
1
+ import type { ThemeConfigurationSchema } from '../types';
2
+ /** Declarative schema shipped with the default blog theme (also embedded in `theme.json`). */
3
+ export declare const TWENTYTWENTYFIVE_CONFIGURATION_SCHEMA: ThemeConfigurationSchema;
4
+ /** Seed nav blocks from toolkit `globalSetting` locale bundles (too large for inline schema defaults). */
5
+ export declare function twentytwentyfiveConfigSeed(locale?: string): Record<string, unknown>;
6
+ export declare function getThemeConfigurationSchema(themeId: string): ThemeConfigurationSchema | null;
7
+ export declare function getThemeConfigurationSeed(themeId: string, locale?: string): Record<string, unknown> | null;
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TWENTYTWENTYFIVE_CONFIGURATION_SCHEMA = void 0;
4
+ exports.twentytwentyfiveConfigSeed = twentytwentyfiveConfigSeed;
5
+ exports.getThemeConfigurationSchema = getThemeConfigurationSchema;
6
+ exports.getThemeConfigurationSeed = getThemeConfigurationSeed;
7
+ const global_1 = require("../../../../config/global");
8
+ const defaults_1 = require("../defaults");
9
+ const paths_1 = require("../paths");
10
+ /** Declarative schema shipped with the default blog theme (also embedded in `theme.json`). */
11
+ exports.TWENTYTWENTYFIVE_CONFIGURATION_SCHEMA = {
12
+ $schema: 'http://json-schema.org/draft-07/schema#',
13
+ title: 'Twenty Twenty-Five',
14
+ description: '顶栏导航与 /nav 网址导航、聚合搜索',
15
+ type: 'object',
16
+ additionalProperties: false,
17
+ properties: {
18
+ header: {
19
+ type: 'object',
20
+ title: '顶栏',
21
+ properties: {
22
+ navLinks: {
23
+ type: 'array',
24
+ title: '固定导航链接',
25
+ description: '显示在「页面」模块发布的自定义页面之前',
26
+ default: [
27
+ { path: '/', locale: 'home', icon: 'HomeOutlined', visible: true },
28
+ { path: '/nav', locale: 'nav', icon: 'GlobalOutlined', visible: true },
29
+ { path: '/knowledge', locale: 'knowledge', icon: 'BookOutlined', visible: false },
30
+ { path: '/archives', locale: 'archives', icon: 'HistoryOutlined', visible: true },
31
+ ],
32
+ items: {
33
+ type: 'object',
34
+ required: ['path'],
35
+ properties: {
36
+ path: { type: 'string', title: '路径' },
37
+ locale: { type: 'string', title: 'i18n 键' },
38
+ label: { type: 'string', title: '覆盖文案' },
39
+ icon: { type: 'string', title: 'Ant Design 图标名' },
40
+ visible: { type: 'boolean', title: '显示', default: true },
41
+ },
42
+ },
43
+ 'x-ui': { widget: 'navLinkList', section: 'header', order: 10 },
44
+ },
45
+ },
46
+ },
47
+ nav: {
48
+ type: 'object',
49
+ title: '网址导航',
50
+ properties: {
51
+ urlConfig: {
52
+ type: 'array',
53
+ title: '导航卡片分组',
54
+ 'x-ui': { widget: 'urlConfigEditor', section: 'nav', order: 20 },
55
+ items: { type: 'object' },
56
+ },
57
+ searchCategories: {
58
+ type: 'object',
59
+ title: '聚合搜索分类',
60
+ 'x-ui': { widget: 'navSearchEditor', section: 'nav', order: 30 },
61
+ properties: {
62
+ categories: { type: 'array', items: { type: 'object' } },
63
+ subCategories: { type: 'object' },
64
+ },
65
+ },
66
+ },
67
+ },
68
+ },
69
+ };
70
+ /** Seed nav blocks from toolkit `globalSetting` locale bundles (too large for inline schema defaults). */
71
+ function twentytwentyfiveConfigSeed(locale = 'zh') {
72
+ const gs = global_1.globalSetting;
73
+ const bundle = locale === 'en' ? gs.en : gs.zh;
74
+ const gc = bundle?.globalConfig ?? {};
75
+ return {
76
+ nav: {
77
+ urlConfig: gc.urlConfig ?? [],
78
+ searchCategories: gc.navConfig ?? { categories: [], subCategories: {} },
79
+ },
80
+ };
81
+ }
82
+ function getThemeConfigurationSchema(themeId) {
83
+ if (themeId === 'twentytwentyfive')
84
+ return exports.TWENTYTWENTYFIVE_CONFIGURATION_SCHEMA;
85
+ return null;
86
+ }
87
+ function getThemeConfigurationSeed(themeId, locale = 'zh') {
88
+ const schema = getThemeConfigurationSchema(themeId);
89
+ if (!schema)
90
+ return null;
91
+ const schemaDefaults = (0, defaults_1.defaultsFromSchema)(schema);
92
+ const navSeed = themeId === 'twentytwentyfive' ? twentytwentyfiveConfigSeed(locale) : {};
93
+ return (0, paths_1.deepMerge)(schemaDefaults, navSeed);
94
+ }
@@ -0,0 +1,24 @@
1
+ import type { GlobalSettingWithConfig, ResolvedSiteConfig, ThemeConfigurationSchema } from './types';
2
+ export declare function parseGlobalSettingRaw(raw: unknown): GlobalSettingWithConfig;
3
+ type ManifestWithOptions = {
4
+ options?: ThemeConfigurationSchema;
5
+ };
6
+ export declare function getConfigurationSchemaFromManifest(manifest: ManifestWithOptions | null | undefined, themeId: string): ThemeConfigurationSchema | null;
7
+ export declare function getMergedThemeConfiguration(globalRaw: unknown, themeId: string, options?: {
8
+ locale?: string;
9
+ manifest?: ManifestWithOptions;
10
+ }): Record<string, unknown>;
11
+ export declare function getConfig<T = unknown>(configuration: Record<string, unknown>, path: string): T | undefined;
12
+ export declare function patchConfiguration(current: Record<string, unknown>, patch: Record<string, unknown>): Record<string, unknown>;
13
+ export declare function mergeConfigIntoGlobalSetting(globalRaw: unknown, themeId: string, themeConfig: Record<string, unknown>): GlobalSettingWithConfig;
14
+ export declare function resolveSiteConfig(globalRaw: unknown, themeId: string, locale?: string, manifest?: ManifestWithOptions,
15
+ /** Draft theme config from appearance preview query (not persisted). */
16
+ configOverride?: Record<string, unknown>): ResolvedSiteConfig;
17
+ export declare function validateAndMergeThemeConfiguration(themeId: string, globalRaw: unknown, patch: Record<string, unknown>, manifest?: ManifestWithOptions): {
18
+ ok: true;
19
+ config: Record<string, unknown>;
20
+ } | {
21
+ ok: false;
22
+ message: string;
23
+ };
24
+ export {};
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseGlobalSettingRaw = parseGlobalSettingRaw;
4
+ exports.getConfigurationSchemaFromManifest = getConfigurationSchemaFromManifest;
5
+ exports.getMergedThemeConfiguration = getMergedThemeConfiguration;
6
+ exports.getConfig = getConfig;
7
+ exports.patchConfiguration = patchConfiguration;
8
+ exports.mergeConfigIntoGlobalSetting = mergeConfigIntoGlobalSetting;
9
+ exports.resolveSiteConfig = resolveSiteConfig;
10
+ exports.validateAndMergeThemeConfiguration = validateAndMergeThemeConfiguration;
11
+ const defaults_1 = require("./defaults");
12
+ const paths_1 = require("./paths");
13
+ const twentytwentyfive_1 = require("./presets/twentytwentyfive");
14
+ const validate_1 = require("./validate");
15
+ const FALLBACK_HEADER_NAV = [
16
+ { path: '/', locale: 'home', icon: 'HomeOutlined', visible: true },
17
+ { path: '/nav', locale: 'nav', icon: 'GlobalOutlined', visible: true },
18
+ { path: '/archives', locale: 'archives', icon: 'HistoryOutlined', visible: true },
19
+ ];
20
+ function parseGlobalSettingRaw(raw) {
21
+ if (!raw)
22
+ return {};
23
+ if (typeof raw === 'string') {
24
+ try {
25
+ return JSON.parse(raw);
26
+ }
27
+ catch {
28
+ return {};
29
+ }
30
+ }
31
+ if (typeof raw === 'object')
32
+ return raw;
33
+ return {};
34
+ }
35
+ function getConfigurationSchemaFromManifest(manifest, themeId) {
36
+ const fromManifest = manifest?.options;
37
+ if (fromManifest && fromManifest.type === 'object')
38
+ return fromManifest;
39
+ return (0, twentytwentyfive_1.getThemeConfigurationSchema)(themeId);
40
+ }
41
+ function getMergedThemeConfiguration(globalRaw, themeId, options) {
42
+ const gs = parseGlobalSettingRaw(globalRaw);
43
+ const schema = getConfigurationSchemaFromManifest(options?.manifest ?? null, themeId) ??
44
+ (0, twentytwentyfive_1.getThemeConfigurationSchema)(themeId);
45
+ const seed = (0, twentytwentyfive_1.getThemeConfigurationSeed)(themeId, options?.locale ?? 'zh') ??
46
+ (schema ? (0, defaults_1.defaultsFromSchema)(schema) : {});
47
+ const store = gs.config && typeof gs.config === 'object' ? gs.config : {};
48
+ const stored = store[themeId];
49
+ const storedObj = stored && typeof stored === 'object' && !Array.isArray(stored)
50
+ ? stored
51
+ : {};
52
+ return (0, paths_1.deepMerge)((0, paths_1.deepMerge)({}, seed), storedObj);
53
+ }
54
+ function getConfig(configuration, path) {
55
+ return (0, paths_1.getByPath)(configuration, path);
56
+ }
57
+ function patchConfiguration(current, patch) {
58
+ return (0, paths_1.deepMerge)({ ...current }, patch);
59
+ }
60
+ function mergeConfigIntoGlobalSetting(globalRaw, themeId, themeConfig) {
61
+ const gs = parseGlobalSettingRaw(globalRaw);
62
+ const config = gs.config && typeof gs.config === 'object' ? { ...gs.config } : {};
63
+ config[themeId] = themeConfig;
64
+ return { ...gs, config };
65
+ }
66
+ function resolveSiteConfig(globalRaw, themeId, locale = 'zh', manifest,
67
+ /** Draft theme config from appearance preview query (not persisted). */
68
+ configOverride) {
69
+ const merged = getMergedThemeConfiguration(globalRaw, themeId, { locale, manifest });
70
+ const effective = configOverride && Object.keys(configOverride).length > 0
71
+ ? patchConfiguration(merged, configOverride)
72
+ : merged;
73
+ const gs = parseGlobalSettingRaw(globalRaw);
74
+ const legacyBundle = (gs[locale] ?? gs.zh);
75
+ const legacy = legacyBundle?.globalConfig;
76
+ const headerNav = getConfig(effective, 'header.navLinks');
77
+ const urlConfig = getConfig(effective, 'nav.urlConfig');
78
+ const searchCategories = getConfig(effective, 'nav.searchCategories');
79
+ const navLinks = (headerNav ?? FALLBACK_HEADER_NAV).filter((item) => item.visible !== false);
80
+ return {
81
+ header: { navLinks },
82
+ nav: {
83
+ urlConfig: urlConfig ?? legacy?.urlConfig ?? [],
84
+ searchCategories: searchCategories ??
85
+ legacy?.navConfig ?? { categories: [], subCategories: {} },
86
+ },
87
+ };
88
+ }
89
+ function validateAndMergeThemeConfiguration(themeId, globalRaw, patch, manifest) {
90
+ const schema = getConfigurationSchemaFromManifest(manifest ?? null, themeId);
91
+ const current = getMergedThemeConfiguration(globalRaw, themeId, { manifest });
92
+ const next = patchConfiguration(current, patch);
93
+ const result = (0, validate_1.validateThemeConfiguration)(schema, next);
94
+ if (!result.valid) {
95
+ return { ok: false, message: result.message ?? 'Invalid configuration' };
96
+ }
97
+ return { ok: true, config: next };
98
+ }
@@ -0,0 +1,68 @@
1
+ /** JSON Schema–driven theme/site configuration (VS Code `contributes.configuration` style). */
2
+ /** UI hints for admin settings editor (P2); stored in schema only. */
3
+ export interface ConfigurationUiMeta {
4
+ widget?: string;
5
+ section?: string;
6
+ order?: number;
7
+ scope?: 'site' | 'locale';
8
+ hidden?: boolean;
9
+ }
10
+ /** JSON Schema 7 object schema for theme `reactpress.configuration`. */
11
+ export interface ThemeConfigurationSchema {
12
+ $schema?: string;
13
+ title?: string;
14
+ description?: string;
15
+ type: 'object';
16
+ properties?: Record<string, ThemeConfigurationPropertySchema>;
17
+ required?: string[];
18
+ additionalProperties?: boolean;
19
+ }
20
+ export type ThemeConfigurationPropertySchema = {
21
+ type?: string | string[];
22
+ title?: string;
23
+ description?: string;
24
+ default?: unknown;
25
+ enum?: unknown[];
26
+ items?: ThemeConfigurationPropertySchema;
27
+ properties?: Record<string, ThemeConfigurationPropertySchema>;
28
+ required?: string[];
29
+ additionalProperties?: boolean;
30
+ /** Extension: admin widget id */
31
+ 'x-ui'?: ConfigurationUiMeta;
32
+ [key: string]: unknown;
33
+ };
34
+ export interface HeaderNavLinkConfig {
35
+ path: string;
36
+ locale?: string;
37
+ label?: string;
38
+ icon?: string;
39
+ visible?: boolean;
40
+ }
41
+ export interface ThemeConfigStore {
42
+ [themeId: string]: Record<string, unknown>;
43
+ }
44
+ export interface GlobalSettingWithConfig {
45
+ zh?: {
46
+ globalConfig?: unknown;
47
+ [key: string]: unknown;
48
+ };
49
+ en?: {
50
+ globalConfig?: unknown;
51
+ [key: string]: unknown;
52
+ };
53
+ theme?: unknown;
54
+ config?: ThemeConfigStore;
55
+ [key: string]: unknown;
56
+ }
57
+ export interface ResolvedSiteConfig {
58
+ header: {
59
+ navLinks: HeaderNavLinkConfig[];
60
+ };
61
+ nav: {
62
+ urlConfig: unknown[];
63
+ searchCategories: {
64
+ categories?: unknown[];
65
+ subCategories?: Record<string, unknown[]>;
66
+ };
67
+ };
68
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ /** JSON Schema–driven theme/site configuration (VS Code `contributes.configuration` style). */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ import { type ErrorObject } from 'ajv';
2
+ import type { ThemeConfigurationSchema } from './types';
3
+ export interface ConfigurationValidationResult {
4
+ valid: boolean;
5
+ errors: ErrorObject[] | null;
6
+ message?: string;
7
+ }
8
+ export declare function validateThemeConfiguration(schema: ThemeConfigurationSchema | null | undefined, data: unknown): ConfigurationValidationResult;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.validateThemeConfiguration = validateThemeConfiguration;
7
+ const ajv_1 = __importDefault(require("ajv"));
8
+ const ajv = new ajv_1.default({ allErrors: true, strict: false, coerceTypes: false });
9
+ function validateThemeConfiguration(schema, data) {
10
+ if (!schema) {
11
+ return { valid: true, errors: null };
12
+ }
13
+ const validate = ajv.compile(schema);
14
+ const valid = validate(data) === true;
15
+ if (valid) {
16
+ return { valid: true, errors: null };
17
+ }
18
+ const errors = validate.errors ?? [];
19
+ const message = errors.map((e) => `${e.instancePath || '/'} ${e.message ?? ''}`.trim()).join('; ');
20
+ return { valid: false, errors, message: message || 'Invalid configuration' };
21
+ }
@@ -0,0 +1,11 @@
1
+ export { systemGlobalSettingDefaults } from '../../config/global';
2
+ export * from './configuration';
3
+ export { TWENTYTWENTYFIVE_APPEARANCE, TWENTYTWENTYFIVE_APPEARANCE_PANELS, TWENTYTWENTYFIVE_APPEARANCE_SECTIONS, } from './presets/twentytwentyfive-appearance';
4
+ export * from './preview';
5
+ export * from './site-notices';
6
+ export * from './site-settings';
7
+ export * from './theme';
8
+ export * from './theme-admin-locale';
9
+ export { appearanceBackgroundColor, appearanceLinkColor, appearancePrimaryColorForMode, appearanceSecondaryBackgroundColor, buildBrandingAppearanceCss, buildTwentyTwentyFiveAppearanceCss, } from './twentytwentyfive-vars';
10
+ export type { FetchSiteNavConfigOptions, SiteNavConfig } from './siteNav';
11
+ export { fetchSiteNavConfig } from './siteNav';
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.fetchSiteNavConfig = exports.buildTwentyTwentyFiveAppearanceCss = exports.buildBrandingAppearanceCss = exports.appearanceSecondaryBackgroundColor = exports.appearancePrimaryColorForMode = exports.appearanceLinkColor = exports.appearanceBackgroundColor = exports.TWENTYTWENTYFIVE_APPEARANCE_SECTIONS = exports.TWENTYTWENTYFIVE_APPEARANCE_PANELS = exports.TWENTYTWENTYFIVE_APPEARANCE = exports.systemGlobalSettingDefaults = void 0;
18
+ var global_1 = require("../../config/global");
19
+ Object.defineProperty(exports, "systemGlobalSettingDefaults", { enumerable: true, get: function () { return global_1.systemGlobalSettingDefaults; } });
20
+ __exportStar(require("./configuration"), exports);
21
+ var twentytwentyfive_appearance_1 = require("./presets/twentytwentyfive-appearance");
22
+ Object.defineProperty(exports, "TWENTYTWENTYFIVE_APPEARANCE", { enumerable: true, get: function () { return twentytwentyfive_appearance_1.TWENTYTWENTYFIVE_APPEARANCE; } });
23
+ Object.defineProperty(exports, "TWENTYTWENTYFIVE_APPEARANCE_PANELS", { enumerable: true, get: function () { return twentytwentyfive_appearance_1.TWENTYTWENTYFIVE_APPEARANCE_PANELS; } });
24
+ Object.defineProperty(exports, "TWENTYTWENTYFIVE_APPEARANCE_SECTIONS", { enumerable: true, get: function () { return twentytwentyfive_appearance_1.TWENTYTWENTYFIVE_APPEARANCE_SECTIONS; } });
25
+ __exportStar(require("./preview"), exports);
26
+ __exportStar(require("./site-notices"), exports);
27
+ __exportStar(require("./site-settings"), exports);
28
+ __exportStar(require("./theme"), exports);
29
+ __exportStar(require("./theme-admin-locale"), exports);
30
+ var twentytwentyfive_vars_1 = require("./twentytwentyfive-vars");
31
+ Object.defineProperty(exports, "appearanceBackgroundColor", { enumerable: true, get: function () { return twentytwentyfive_vars_1.appearanceBackgroundColor; } });
32
+ Object.defineProperty(exports, "appearanceLinkColor", { enumerable: true, get: function () { return twentytwentyfive_vars_1.appearanceLinkColor; } });
33
+ Object.defineProperty(exports, "appearancePrimaryColorForMode", { enumerable: true, get: function () { return twentytwentyfive_vars_1.appearancePrimaryColorForMode; } });
34
+ Object.defineProperty(exports, "appearanceSecondaryBackgroundColor", { enumerable: true, get: function () { return twentytwentyfive_vars_1.appearanceSecondaryBackgroundColor; } });
35
+ Object.defineProperty(exports, "buildBrandingAppearanceCss", { enumerable: true, get: function () { return twentytwentyfive_vars_1.buildBrandingAppearanceCss; } });
36
+ Object.defineProperty(exports, "buildTwentyTwentyFiveAppearanceCss", { enumerable: true, get: function () { return twentytwentyfive_vars_1.buildTwentyTwentyFiveAppearanceCss; } });
37
+ var siteNav_1 = require("./siteNav");
38
+ Object.defineProperty(exports, "fetchSiteNavConfig", { enumerable: true, get: function () { return siteNav_1.fetchSiteNavConfig; } });
@@ -0,0 +1,5 @@
1
+ import type { ThemeAppearanceManifest, ThemeManifest } from './theme';
2
+ type RawRecord = Record<string, unknown>;
3
+ export declare function normalizeAppearance(raw: unknown): ThemeAppearanceManifest | undefined;
4
+ export declare function normalizePlatformFields(o: RawRecord): Pick<ThemeManifest, 'requires' | 'supports' | 'templates' | 'options'>;
5
+ export {};
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeAppearance = normalizeAppearance;
4
+ exports.normalizePlatformFields = normalizePlatformFields;
5
+ function asRecord(value) {
6
+ return value && typeof value === 'object' && !Array.isArray(value) ? value : undefined;
7
+ }
8
+ function normalizeSetting(raw) {
9
+ return {
10
+ id: String(raw.id),
11
+ type: raw.type,
12
+ label: String(raw.label),
13
+ default: typeof raw.default === 'string' ? raw.default : undefined,
14
+ description: typeof raw.description === 'string' ? raw.description : undefined,
15
+ choices: Array.isArray(raw.choices)
16
+ ? raw.choices
17
+ : undefined,
18
+ group: typeof raw.group === 'string' ? raw.group : undefined,
19
+ };
20
+ }
21
+ function normalizeGroup(raw) {
22
+ return {
23
+ id: String(raw.id),
24
+ title: String(raw.title),
25
+ description: typeof raw.description === 'string' ? raw.description : undefined,
26
+ };
27
+ }
28
+ function normalizePanel(raw) {
29
+ return {
30
+ id: String(raw.id),
31
+ title: String(raw.title),
32
+ description: typeof raw.description === 'string' ? raw.description : undefined,
33
+ };
34
+ }
35
+ function normalizeSection(raw) {
36
+ return {
37
+ id: String(raw.id),
38
+ title: String(raw.title),
39
+ panel: typeof raw.panel === 'string' ? raw.panel : undefined,
40
+ embed: raw.embed === 'options' ? 'options' : undefined,
41
+ description: typeof raw.description === 'string' ? raw.description : undefined,
42
+ groups: Array.isArray(raw.groups)
43
+ ? raw.groups.map((item) => normalizeGroup(asRecord(item) ?? {}))
44
+ : undefined,
45
+ settings: Array.isArray(raw.settings)
46
+ ? raw.settings.map((item) => normalizeSetting(asRecord(item) ?? {}))
47
+ : undefined,
48
+ };
49
+ }
50
+ function normalizeAppearance(raw) {
51
+ const source = asRecord(raw);
52
+ if (!source)
53
+ return undefined;
54
+ const panels = Array.isArray(source.panels)
55
+ ? source.panels.map((item) => normalizePanel(asRecord(item) ?? {}))
56
+ : undefined;
57
+ const sections = Array.isArray(source.sections)
58
+ ? source.sections.map((item) => normalizeSection(asRecord(item) ?? {}))
59
+ : [];
60
+ if (panels === undefined && sections.length === 0)
61
+ return undefined;
62
+ return { panels, sections };
63
+ }
64
+ function normalizePlatformFields(o) {
65
+ const requires = typeof o.requires === 'string' ? o.requires : undefined;
66
+ const supports = o.supports;
67
+ const templates = o.templates;
68
+ const options = o.options;
69
+ return {
70
+ requires,
71
+ supports: supports && typeof supports === 'object' ? supports : undefined,
72
+ templates: templates && typeof templates === 'object' ? templates : undefined,
73
+ options: options?.type === 'object' ? options : undefined,
74
+ };
75
+ }
@@ -0,0 +1,10 @@
1
+ import type { ThemeAppearancePanel, ThemeAppearanceSection } from '../theme';
2
+ /** Sidebar nav panels for Twenty Twenty-Five appearance editor. */
3
+ export declare const TWENTYTWENTYFIVE_APPEARANCE_PANELS: ThemeAppearancePanel[];
4
+ /** Default appearance sections for Twenty Twenty-Five (also in `themes/.../theme.json`). */
5
+ export declare const TWENTYTWENTYFIVE_APPEARANCE_SECTIONS: ThemeAppearanceSection[];
6
+ /** Full `theme.json` → `appearance` block for Twenty Twenty-Five. */
7
+ export declare const TWENTYTWENTYFIVE_APPEARANCE: {
8
+ panels: ThemeAppearancePanel[];
9
+ sections: ThemeAppearanceSection[];
10
+ };