@fecommunity/reactpress-toolkit 3.0.4 → 3.7.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 (527) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +194 -309
  3. package/dist/.source-fingerprint-toolkit +1 -0
  4. package/dist/admin/index.d.ts +2 -0
  5. package/dist/admin/index.js +18 -0
  6. package/dist/admin/permissions.d.ts +5 -0
  7. package/dist/admin/permissions.js +33 -0
  8. package/dist/admin/registry.d.ts +62 -0
  9. package/dist/admin/registry.js +79 -0
  10. package/dist/api/HttpClient.d.ts +2 -2
  11. package/dist/api/HttpClient.js +1 -1
  12. package/dist/api/Smtp.d.ts +17 -0
  13. package/dist/api/Smtp.js +15 -0
  14. package/dist/api/instance.d.ts +1 -1
  15. package/dist/api/instance.js +3 -3
  16. package/dist/app/createReactPressApp.d.ts +8 -0
  17. package/dist/app/createReactPressApp.js +265 -0
  18. package/dist/app/createThemeApp.d.ts +8 -0
  19. package/dist/app/createThemeApp.js +51 -0
  20. package/dist/app/devChunkRecovery.d.ts +2 -0
  21. package/dist/app/devChunkRecovery.js +68 -0
  22. package/dist/app/index.d.ts +39 -0
  23. package/dist/app/index.js +11 -0
  24. package/dist/config/env.js +29 -15
  25. package/dist/config/global.d.ts +7 -1
  26. package/dist/config/global.js +9 -3
  27. package/dist/config/i18n.js +27 -11
  28. package/dist/config/index.d.ts +3 -3
  29. package/dist/config/index.js +6 -5
  30. package/dist/{locales → config/locales}/en.json +31 -3
  31. package/dist/{locales → config/locales}/zh.json +31 -3
  32. package/dist/dev/index.d.ts +3 -0
  33. package/dist/dev/index.js +12 -0
  34. package/dist/dev/portRedirect.d.ts +20 -0
  35. package/dist/dev/portRedirect.js +93 -0
  36. package/dist/dev/vitePortRedirectPlugin.d.ts +24 -0
  37. package/dist/dev/vitePortRedirectPlugin.js +40 -0
  38. package/dist/extension/branding-mods.d.ts +10 -0
  39. package/dist/extension/branding-mods.js +65 -0
  40. package/dist/extension/configuration/defaults.d.ts +3 -0
  41. package/dist/extension/configuration/defaults.js +32 -0
  42. package/dist/extension/configuration/formily.d.ts +10 -0
  43. package/dist/extension/configuration/formily.js +170 -0
  44. package/dist/extension/configuration/index.d.ts +7 -0
  45. package/dist/extension/configuration/index.js +28 -0
  46. package/dist/extension/configuration/paths.d.ts +4 -0
  47. package/dist/extension/configuration/paths.js +50 -0
  48. package/dist/extension/configuration/presets/twentytwentyfive.d.ts +7 -0
  49. package/dist/extension/configuration/presets/twentytwentyfive.js +94 -0
  50. package/dist/extension/configuration/resolve.d.ts +24 -0
  51. package/dist/extension/configuration/resolve.js +98 -0
  52. package/dist/extension/configuration/types.d.ts +68 -0
  53. package/dist/extension/configuration/types.js +3 -0
  54. package/dist/extension/configuration/validate.d.ts +8 -0
  55. package/dist/extension/configuration/validate.js +21 -0
  56. package/dist/extension/index.d.ts +9 -0
  57. package/dist/extension/index.js +35 -0
  58. package/dist/extension/manifest-normalize.d.ts +5 -0
  59. package/dist/extension/manifest-normalize.js +75 -0
  60. package/dist/extension/node.d.ts +2 -0
  61. package/dist/extension/node.js +6 -0
  62. package/dist/extension/presets/twentytwentyfive-appearance.d.ts +10 -0
  63. package/dist/extension/presets/twentytwentyfive-appearance.js +193 -0
  64. package/dist/extension/presets/twentytwentyfive-customizer.d.ts +19 -0
  65. package/dist/extension/presets/twentytwentyfive-customizer.js +199 -0
  66. package/dist/extension/preview.d.ts +46 -0
  67. package/dist/extension/preview.js +92 -0
  68. package/dist/extension/site-notices.d.ts +19 -0
  69. package/dist/extension/site-notices.js +88 -0
  70. package/dist/extension/site-settings.d.ts +37 -0
  71. package/dist/extension/site-settings.js +144 -0
  72. package/dist/extension/theme-admin-locale.d.ts +11 -0
  73. package/dist/extension/theme-admin-locale.io.d.ts +2 -0
  74. package/dist/extension/theme-admin-locale.io.js +54 -0
  75. package/dist/extension/theme-admin-locale.js +81 -0
  76. package/dist/extension/theme.d.ts +89 -0
  77. package/dist/extension/theme.js +93 -0
  78. package/dist/extension/twentytwentyfive-vars.d.ts +7 -0
  79. package/dist/extension/twentytwentyfive-vars.js +100 -0
  80. package/dist/index.d.ts +15 -7
  81. package/dist/index.js +44 -22
  82. package/dist/plugin/admin/index.d.ts +2 -0
  83. package/dist/plugin/admin/index.js +18 -0
  84. package/dist/plugin/admin/permissions.d.ts +5 -0
  85. package/dist/plugin/admin/permissions.js +33 -0
  86. package/dist/plugin/admin/plugin-admin.d.ts +37 -0
  87. package/dist/plugin/admin/plugin-admin.js +41 -0
  88. package/dist/plugin/admin/registry.d.ts +62 -0
  89. package/dist/plugin/admin/registry.js +79 -0
  90. package/dist/plugin/admin/slots.d.ts +36 -0
  91. package/dist/plugin/admin/slots.js +16 -0
  92. package/dist/plugin/client/client.d.ts +14 -0
  93. package/dist/plugin/client/client.js +95 -0
  94. package/dist/plugin/client/index.d.ts +4 -0
  95. package/dist/plugin/client/index.js +11 -0
  96. package/dist/plugin/client/runtime.d.ts +18 -0
  97. package/dist/plugin/client/runtime.js +30 -0
  98. package/dist/plugin/dev/index.d.ts +4 -0
  99. package/dist/plugin/dev/index.js +16 -0
  100. package/dist/plugin/dev/portRedirect.d.ts +26 -0
  101. package/dist/plugin/dev/portRedirect.js +111 -0
  102. package/dist/plugin/dev/vitePortRedirectPlugin.d.ts +24 -0
  103. package/dist/plugin/dev/vitePortRedirectPlugin.js +40 -0
  104. package/dist/plugin/extension/index.d.ts +4 -0
  105. package/dist/plugin/extension/index.js +20 -0
  106. package/dist/plugin/extension/plugin-admin-locale.d.ts +21 -0
  107. package/dist/plugin/extension/plugin-admin-locale.io.d.ts +2 -0
  108. package/dist/plugin/extension/plugin-admin-locale.io.js +54 -0
  109. package/dist/plugin/extension/plugin-admin-locale.js +60 -0
  110. package/dist/plugin/extension/plugin.d.ts +82 -0
  111. package/dist/plugin/extension/plugin.js +146 -0
  112. package/dist/plugin/extension/security.d.ts +7 -0
  113. package/dist/plugin/extension/security.js +74 -0
  114. package/dist/plugin/extension/validate.d.ts +8 -0
  115. package/dist/plugin/extension/validate.js +55 -0
  116. package/dist/plugin/index.d.ts +9 -0
  117. package/dist/plugin/index.js +48 -0
  118. package/dist/plugin/node.d.ts +2 -0
  119. package/dist/plugin/node.js +6 -0
  120. package/dist/plugin/react/client.d.ts +14 -0
  121. package/dist/plugin/react/client.js +95 -0
  122. package/dist/plugin/react/index.d.ts +2 -0
  123. package/dist/plugin/react/index.js +18 -0
  124. package/dist/plugin/react/plugin-admin-ui.d.ts +23 -0
  125. package/dist/plugin/react/plugin-admin-ui.js +38 -0
  126. package/dist/plugin/react/runtime.d.ts +18 -0
  127. package/dist/plugin/react/runtime.js +30 -0
  128. package/dist/plugin/server/hook-reject.d.ts +12 -0
  129. package/dist/plugin/server/hook-reject.js +39 -0
  130. package/dist/plugin/server/index.d.ts +2 -0
  131. package/dist/plugin/server/index.js +18 -0
  132. package/dist/plugin/server/types.d.ts +34 -0
  133. package/dist/plugin/server/types.js +3 -0
  134. package/dist/primitives/AntdStyleTransitionFix.d.ts +2 -0
  135. package/dist/primitives/AntdStyleTransitionFix.js +16 -0
  136. package/dist/primitives/Badge.d.ts +7 -0
  137. package/dist/primitives/Badge.js +9 -0
  138. package/dist/primitives/Button.d.ts +10 -0
  139. package/dist/primitives/Button.js +38 -0
  140. package/dist/primitives/ColorModeToggle.d.ts +8 -0
  141. package/dist/primitives/ColorModeToggle.js +13 -0
  142. package/dist/primitives/IconButton.d.ts +7 -0
  143. package/dist/primitives/IconButton.js +13 -0
  144. package/dist/primitives/ScrollToTarget.d.ts +9 -0
  145. package/dist/primitives/ScrollToTarget.js +48 -0
  146. package/dist/primitives/Separator.d.ts +7 -0
  147. package/dist/primitives/Separator.js +9 -0
  148. package/dist/primitives/Skeleton.d.ts +7 -0
  149. package/dist/primitives/Skeleton.js +9 -0
  150. package/dist/primitives/Slot.d.ts +10 -0
  151. package/dist/primitives/Slot.js +25 -0
  152. package/dist/primitives/Spinner.d.ts +6 -0
  153. package/dist/primitives/Spinner.js +9 -0
  154. package/dist/primitives/animation/ConditionTransition.d.ts +8 -0
  155. package/dist/primitives/animation/ConditionTransition.js +13 -0
  156. package/dist/primitives/animation/ListTrail.d.ts +10 -0
  157. package/dist/primitives/animation/ListTrail.js +14 -0
  158. package/dist/primitives/animation/Opacity.d.ts +3 -0
  159. package/dist/primitives/animation/Opacity.js +10 -0
  160. package/dist/primitives/animation/Spring.d.ts +9 -0
  161. package/dist/primitives/animation/Spring.js +29 -0
  162. package/dist/primitives/animation/index.d.ts +7 -0
  163. package/dist/primitives/animation/index.js +11 -0
  164. package/dist/primitives/cn.d.ts +4 -0
  165. package/dist/primitives/cn.js +7 -0
  166. package/dist/primitives/icons.d.ts +4 -0
  167. package/dist/primitives/icons.js +15 -0
  168. package/dist/primitives/index.d.ts +22 -0
  169. package/dist/primitives/index.js +44 -0
  170. package/dist/react/client.d.ts +14 -0
  171. package/dist/react/client.js +95 -0
  172. package/dist/react/index.d.ts +4 -0
  173. package/dist/react/index.js +11 -0
  174. package/dist/react/runtime.d.ts +18 -0
  175. package/dist/react/runtime.js +30 -0
  176. package/dist/theme/antdDocument.d.ts +18 -0
  177. package/dist/theme/antdDocument.js +59 -0
  178. package/dist/theme/api/api-data.d.ts +2 -0
  179. package/dist/theme/api/api-data.js +8 -0
  180. package/dist/theme/api/api.d.ts +28 -0
  181. package/dist/theme/api/api.js +27 -0
  182. package/dist/theme/api/httpClient.d.ts +24 -0
  183. package/dist/theme/api/httpClient.js +83 -0
  184. package/dist/theme/api/json.d.ts +1 -0
  185. package/dist/theme/api/json.js +5 -0
  186. package/dist/theme/api/jsonp.d.ts +1 -0
  187. package/dist/theme/api/jsonp.js +5 -0
  188. package/dist/theme/api-data.d.ts +12 -0
  189. package/dist/theme/api-data.js +22 -0
  190. package/dist/theme/api.d.ts +28 -0
  191. package/dist/theme/api.js +27 -0
  192. package/dist/theme/appearance.d.ts +4 -0
  193. package/dist/theme/appearance.js +16 -0
  194. package/dist/theme/assets.d.ts +2 -0
  195. package/dist/theme/assets.js +27 -0
  196. package/dist/theme/authSession.d.ts +16 -0
  197. package/dist/theme/authSession.js +92 -0
  198. package/dist/theme/build/antdDocument.d.ts +145 -0
  199. package/dist/theme/build/antdDocument.js +70 -0
  200. package/dist/theme/build/next-config.d.ts +15 -0
  201. package/dist/theme/build/next-config.js +63 -0
  202. package/dist/theme/build/node.d.ts +2 -0
  203. package/dist/theme/build/node.js +6 -0
  204. package/dist/theme/colorMode.d.ts +12 -0
  205. package/dist/theme/colorMode.js +45 -0
  206. package/dist/theme/commentAuthor.d.ts +17 -0
  207. package/dist/theme/commentAuthor.js +48 -0
  208. package/dist/theme/content/archiveSlim.d.ts +7 -0
  209. package/dist/theme/content/archiveSlim.js +38 -0
  210. package/dist/theme/content/articleSlim.d.ts +10 -0
  211. package/dist/theme/content/articleSlim.js +35 -0
  212. package/dist/theme/content/assets.d.ts +8 -0
  213. package/dist/theme/content/assets.js +74 -0
  214. package/dist/theme/content/carouselArticles.d.ts +10 -0
  215. package/dist/theme/content/carouselArticles.js +39 -0
  216. package/dist/theme/content/excerpt.d.ts +15 -0
  217. package/dist/theme/content/excerpt.js +42 -0
  218. package/dist/theme/content/nav.d.ts +10 -0
  219. package/dist/theme/content/nav.js +30 -0
  220. package/dist/theme/content/seo.d.ts +6 -0
  221. package/dist/theme/content/seo.js +12 -0
  222. package/dist/theme/createAntdApp.d.ts +106 -0
  223. package/dist/theme/createAntdApp.js +175 -0
  224. package/dist/theme/createApp.d.ts +10 -0
  225. package/dist/theme/createApp.js +141 -0
  226. package/dist/theme/createCatalogApp.d.ts +108 -0
  227. package/dist/theme/createCatalogApp.js +168 -0
  228. package/dist/theme/customizer.d.ts +1 -0
  229. package/dist/theme/customizer.js +5 -0
  230. package/dist/theme/excerpt.d.ts +16 -0
  231. package/dist/theme/excerpt.js +31 -0
  232. package/dist/theme/extension/branding-mods.d.ts +10 -0
  233. package/dist/theme/extension/branding-mods.js +65 -0
  234. package/dist/theme/extension/configuration/defaults.d.ts +3 -0
  235. package/dist/theme/extension/configuration/defaults.js +32 -0
  236. package/dist/theme/extension/configuration/formily.d.ts +10 -0
  237. package/dist/theme/extension/configuration/formily.js +170 -0
  238. package/dist/theme/extension/configuration/index.d.ts +7 -0
  239. package/dist/theme/extension/configuration/index.js +28 -0
  240. package/dist/theme/extension/configuration/paths.d.ts +1 -0
  241. package/dist/theme/extension/configuration/paths.js +7 -0
  242. package/dist/theme/extension/configuration/presets/twentytwentyfive.d.ts +7 -0
  243. package/dist/theme/extension/configuration/presets/twentytwentyfive.js +94 -0
  244. package/dist/theme/extension/configuration/resolve.d.ts +24 -0
  245. package/dist/theme/extension/configuration/resolve.js +98 -0
  246. package/dist/theme/extension/configuration/types.d.ts +68 -0
  247. package/dist/theme/extension/configuration/types.js +3 -0
  248. package/dist/theme/extension/configuration/validate.d.ts +8 -0
  249. package/dist/theme/extension/configuration/validate.js +21 -0
  250. package/dist/theme/extension/index.d.ts +11 -0
  251. package/dist/theme/extension/index.js +38 -0
  252. package/dist/theme/extension/manifest-normalize.d.ts +5 -0
  253. package/dist/theme/extension/manifest-normalize.js +75 -0
  254. package/dist/theme/extension/presets/twentytwentyfive-appearance.d.ts +10 -0
  255. package/dist/theme/extension/presets/twentytwentyfive-appearance.js +193 -0
  256. package/dist/theme/extension/preview.d.ts +46 -0
  257. package/dist/theme/extension/preview.js +92 -0
  258. package/dist/theme/extension/site-notices.d.ts +19 -0
  259. package/dist/theme/extension/site-notices.js +88 -0
  260. package/dist/theme/extension/site-settings.d.ts +37 -0
  261. package/dist/theme/extension/site-settings.js +144 -0
  262. package/dist/theme/extension/siteNav.d.ts +18 -0
  263. package/dist/theme/extension/siteNav.js +17 -0
  264. package/dist/theme/extension/theme-admin-locale.d.ts +11 -0
  265. package/dist/theme/extension/theme-admin-locale.io.d.ts +2 -0
  266. package/dist/theme/extension/theme-admin-locale.io.js +54 -0
  267. package/dist/theme/extension/theme-admin-locale.js +68 -0
  268. package/dist/theme/extension/theme.d.ts +89 -0
  269. package/dist/theme/extension/theme.js +93 -0
  270. package/dist/theme/extension/twentytwentyfive-vars.d.ts +9 -0
  271. package/dist/theme/extension/twentytwentyfive-vars.js +103 -0
  272. package/dist/theme/fetch.d.ts +134 -0
  273. package/dist/theme/fetch.js +241 -0
  274. package/dist/theme/format.d.ts +16 -0
  275. package/dist/theme/format.js +48 -0
  276. package/dist/theme/httpClient.d.ts +20 -0
  277. package/dist/theme/httpClient.js +89 -0
  278. package/dist/theme/index.d.ts +63 -0
  279. package/dist/theme/index.js +226 -0
  280. package/dist/theme/json.d.ts +1 -0
  281. package/dist/theme/json.js +17 -0
  282. package/dist/theme/jsonp.d.ts +8 -0
  283. package/dist/theme/jsonp.js +27 -0
  284. package/dist/theme/locale.d.ts +23 -0
  285. package/dist/theme/locale.js +55 -0
  286. package/dist/theme/nav.d.ts +10 -0
  287. package/dist/theme/nav.js +30 -0
  288. package/dist/theme/next-config.d.ts +2 -0
  289. package/dist/theme/next-config.js +18 -0
  290. package/dist/theme/node.d.ts +2 -0
  291. package/dist/theme/node.js +18 -0
  292. package/dist/theme/preview/preview-config.d.ts +13 -0
  293. package/dist/theme/preview/preview-config.js +65 -0
  294. package/dist/theme/preview/preview-draft.d.ts +19 -0
  295. package/dist/theme/preview/preview-draft.js +51 -0
  296. package/dist/theme/preview/preview-mods.d.ts +16 -0
  297. package/dist/theme/preview/preview-mods.js +78 -0
  298. package/dist/theme/preview-config.d.ts +13 -0
  299. package/dist/theme/preview-config.js +65 -0
  300. package/dist/theme/preview-draft.d.ts +19 -0
  301. package/dist/theme/preview-draft.js +51 -0
  302. package/dist/theme/preview-mods.d.ts +16 -0
  303. package/dist/theme/preview-mods.js +78 -0
  304. package/dist/theme/providers/index.d.ts +118 -0
  305. package/dist/theme/providers/index.js +251 -0
  306. package/dist/theme/providers/setup.d.ts +124 -0
  307. package/dist/theme/providers/setup.js +29 -0
  308. package/dist/theme/runtime.d.ts +18 -0
  309. package/dist/theme/runtime.js +19 -0
  310. package/dist/theme/seo.d.ts +6 -0
  311. package/dist/theme/seo.js +12 -0
  312. package/dist/theme/server.d.ts +65 -0
  313. package/dist/theme/server.js +177 -0
  314. package/dist/theme/setting.d.ts +12 -0
  315. package/dist/theme/setting.js +42 -0
  316. package/dist/theme/ssr/bootstrap.d.ts +48 -0
  317. package/dist/theme/ssr/bootstrap.js +112 -0
  318. package/dist/theme/ssr/fetch.d.ts +134 -0
  319. package/dist/theme/ssr/fetch.js +264 -0
  320. package/dist/theme/ssr/format.d.ts +3 -0
  321. package/dist/theme/ssr/format.js +8 -0
  322. package/dist/theme/ssr/pageProps.d.ts +62 -0
  323. package/dist/theme/ssr/pageProps.js +138 -0
  324. package/dist/theme/ssr/setting.d.ts +12 -0
  325. package/dist/theme/ssr/setting.js +42 -0
  326. package/dist/theme/ssr/slimBootstrap.d.ts +11 -0
  327. package/dist/theme/ssr/slimBootstrap.js +75 -0
  328. package/dist/theme/ssr/static.d.ts +10 -0
  329. package/dist/theme/ssr/static.js +17 -0
  330. package/dist/theme/ssr/templates.d.ts +35 -0
  331. package/dist/theme/ssr/templates.js +50 -0
  332. package/dist/theme/static.d.ts +10 -0
  333. package/dist/theme/static.js +17 -0
  334. package/dist/theme/templates.d.ts +27 -0
  335. package/dist/theme/templates.js +38 -0
  336. package/dist/theme/ui-optional.d.ts +1 -0
  337. package/dist/theme/ui-optional.js +21 -0
  338. package/dist/theme/visitor/appearance.d.ts +4 -0
  339. package/dist/theme/visitor/appearance.js +16 -0
  340. package/dist/theme/visitor/authSession.d.ts +16 -0
  341. package/dist/theme/visitor/authSession.js +92 -0
  342. package/dist/theme/visitor/colorMode.d.ts +17 -0
  343. package/dist/theme/visitor/colorMode.js +59 -0
  344. package/dist/theme/visitor/commentAuthor.d.ts +16 -0
  345. package/dist/theme/visitor/commentAuthor.js +45 -0
  346. package/dist/theme/visitor/i18n.d.ts +4 -0
  347. package/dist/theme/visitor/i18n.js +28 -0
  348. package/dist/theme/visitor/locale.d.ts +23 -0
  349. package/dist/theme/visitor/locale.js +72 -0
  350. package/dist/theme/visitor/runtime.d.ts +18 -0
  351. package/dist/theme/visitor/runtime.js +19 -0
  352. package/dist/theme/visitor/visitorLocale.d.ts +11 -0
  353. package/dist/theme/visitor/visitorLocale.js +56 -0
  354. package/dist/theme/visitorLocale.d.ts +6 -0
  355. package/dist/theme/visitorLocale.js +39 -0
  356. package/dist/types/index.d.ts +79 -68
  357. package/dist/ui/AntdStyleTransitionFix.d.ts +5 -0
  358. package/dist/ui/AntdStyleTransitionFix.js +16 -0
  359. package/dist/ui/ArchiveEmptyState.d.ts +13 -0
  360. package/dist/ui/ArchiveEmptyState.js +8 -0
  361. package/dist/ui/ArchivePageLayout.d.ts +10 -0
  362. package/dist/ui/ArchivePageLayout.js +8 -0
  363. package/dist/ui/ArticleCard.d.ts +27 -0
  364. package/dist/ui/ArticleCard.js +16 -0
  365. package/dist/ui/ArticleList.d.ts +14 -0
  366. package/dist/ui/ArticleList.js +16 -0
  367. package/dist/ui/BaseGlobalStyles.d.ts +5 -0
  368. package/dist/ui/BaseGlobalStyles.js +18 -0
  369. package/dist/ui/LocaleSwitcher.d.ts +7 -0
  370. package/dist/ui/LocaleSwitcher.js +15 -0
  371. package/dist/ui/NavMenu.d.ts +16 -0
  372. package/dist/ui/NavMenu.js +8 -0
  373. package/dist/ui/NotFoundPanel.d.ts +11 -0
  374. package/dist/ui/NotFoundPanel.js +8 -0
  375. package/dist/ui/PageHeader.d.ts +10 -0
  376. package/dist/ui/PageHeader.js +8 -0
  377. package/dist/ui/SiteBranding.d.ts +10 -0
  378. package/dist/ui/SiteBranding.js +14 -0
  379. package/dist/ui/SiteDocument.d.ts +20 -0
  380. package/dist/ui/SiteDocument.js +13 -0
  381. package/dist/ui/SiteDocumentFallback.d.ts +8 -0
  382. package/dist/ui/SiteDocumentFallback.js +9 -0
  383. package/dist/ui/SiteLogo.d.ts +6 -0
  384. package/dist/ui/SiteLogo.js +16 -0
  385. package/dist/ui/SiteTagline.d.ts +7 -0
  386. package/dist/ui/SiteTagline.js +15 -0
  387. package/dist/ui/TaxonomyList.d.ts +25 -0
  388. package/dist/ui/TaxonomyList.js +30 -0
  389. package/dist/ui/ThemeCssVars.d.ts +2 -0
  390. package/dist/ui/ThemeCssVars.js +85 -0
  391. package/dist/ui/ThemeLayout.d.ts +13 -0
  392. package/dist/ui/ThemeLayout.js +11 -0
  393. package/dist/ui/components/AntdStyleTransitionFix.d.ts +5 -0
  394. package/dist/ui/components/AntdStyleTransitionFix.js +16 -0
  395. package/dist/ui/components/ArchiveEmptyState.d.ts +13 -0
  396. package/dist/ui/components/ArchiveEmptyState.js +8 -0
  397. package/dist/ui/components/ArchivePageLayout.d.ts +10 -0
  398. package/dist/ui/components/ArchivePageLayout.js +8 -0
  399. package/dist/ui/components/ArticleCard.d.ts +27 -0
  400. package/dist/ui/components/ArticleCard.js +16 -0
  401. package/dist/ui/components/ArticleList.d.ts +14 -0
  402. package/dist/ui/components/ArticleList.js +16 -0
  403. package/dist/ui/components/BaseGlobalStyles.d.ts +6 -0
  404. package/dist/ui/components/BaseGlobalStyles.js +18 -0
  405. package/dist/ui/components/LocaleSwitcher.d.ts +10 -0
  406. package/dist/ui/components/LocaleSwitcher.js +11 -0
  407. package/dist/ui/components/NavMenu.d.ts +16 -0
  408. package/dist/ui/components/NavMenu.js +8 -0
  409. package/dist/ui/components/NotFoundPanel.d.ts +11 -0
  410. package/dist/ui/components/NotFoundPanel.js +8 -0
  411. package/dist/ui/components/PageHeader.d.ts +10 -0
  412. package/dist/ui/components/PageHeader.js +8 -0
  413. package/dist/ui/components/RouteProgress.d.ts +9 -0
  414. package/dist/ui/components/RouteProgress.js +40 -0
  415. package/dist/ui/components/SiteAnalytics.d.ts +5 -0
  416. package/dist/ui/components/SiteAnalytics.js +42 -0
  417. package/dist/ui/components/SiteBranding.d.ts +11 -0
  418. package/dist/ui/components/SiteBranding.js +14 -0
  419. package/dist/ui/components/SiteDocument.d.ts +20 -0
  420. package/dist/ui/components/SiteDocument.js +13 -0
  421. package/dist/ui/components/SiteDocumentFallback.d.ts +8 -0
  422. package/dist/ui/components/SiteDocumentFallback.js +9 -0
  423. package/dist/ui/components/SiteLogo.d.ts +9 -0
  424. package/dist/ui/components/SiteLogo.js +23 -0
  425. package/dist/ui/components/SiteSeo.d.ts +13 -0
  426. package/dist/ui/components/SiteSeo.js +19 -0
  427. package/dist/ui/components/SiteTagline.d.ts +8 -0
  428. package/dist/ui/components/SiteTagline.js +15 -0
  429. package/dist/ui/components/TaxonomyList.d.ts +25 -0
  430. package/dist/ui/components/TaxonomyList.js +30 -0
  431. package/dist/ui/components/ThemeCssVars.d.ts +3 -0
  432. package/dist/ui/components/ThemeCssVars.js +85 -0
  433. package/dist/ui/components/ThemeLayout.d.ts +13 -0
  434. package/dist/ui/components/ThemeLayout.js +11 -0
  435. package/dist/ui/components/content/ArticleReader.d.ts +45 -0
  436. package/dist/ui/components/content/ArticleReader.js +23 -0
  437. package/dist/ui/components/content/ArticleToc.d.ts +21 -0
  438. package/dist/ui/components/content/ArticleToc.js +75 -0
  439. package/dist/ui/components/content/HtmlContent.d.ts +16 -0
  440. package/dist/ui/components/content/HtmlContent.js +237 -0
  441. package/dist/ui/components/content/Image.d.ts +9 -0
  442. package/dist/ui/components/content/Image.js +13 -0
  443. package/dist/ui/components/content/ImageViewer.d.ts +8 -0
  444. package/dist/ui/components/content/ImageViewer.js +33 -0
  445. package/dist/ui/components/content/LocaleTime.d.ts +10 -0
  446. package/dist/ui/components/content/LocaleTime.js +63 -0
  447. package/dist/ui/components/content/index.d.ts +14 -0
  448. package/dist/ui/components/content/index.js +18 -0
  449. package/dist/ui/components/toolbar/LocaleToggleButton.d.ts +8 -0
  450. package/dist/ui/components/toolbar/LocaleToggleButton.js +18 -0
  451. package/dist/ui/components/toolbar/ThemeToggleButton.d.ts +7 -0
  452. package/dist/ui/components/toolbar/ThemeToggleButton.js +10 -0
  453. package/dist/ui/components/toolbar/ToolbarIconButton.d.ts +7 -0
  454. package/dist/ui/components/toolbar/ToolbarIconButton.js +22 -0
  455. package/dist/ui/components/toolbar/constants.d.ts +5 -0
  456. package/dist/ui/components/toolbar/constants.js +8 -0
  457. package/dist/ui/components/toolbar/icons.d.ts +17 -0
  458. package/dist/ui/components/toolbar/icons.js +44 -0
  459. package/dist/ui/components/toolbar/index.d.ts +9 -0
  460. package/dist/ui/components/toolbar/index.js +25 -0
  461. package/dist/ui/components/toolbar/locale-label.d.ts +3 -0
  462. package/dist/ui/components/toolbar/locale-label.js +19 -0
  463. package/dist/ui/context/LocaleContext.d.ts +15 -0
  464. package/dist/ui/context/LocaleContext.js +59 -0
  465. package/dist/ui/context/ReactPressProvider.d.ts +4 -0
  466. package/dist/ui/context/ReactPressProvider.js +10 -0
  467. package/dist/ui/context/SiteCatalogContext.d.ts +41 -0
  468. package/dist/ui/context/SiteCatalogContext.js +60 -0
  469. package/dist/ui/context/ThemeRuntimeContext.d.ts +21 -0
  470. package/dist/ui/context/ThemeRuntimeContext.js +59 -0
  471. package/dist/ui/context/index.d.ts +8 -0
  472. package/dist/ui/context/index.js +26 -0
  473. package/dist/ui/context/siteCatalogTypes.d.ts +64 -0
  474. package/dist/ui/context/siteCatalogTypes.js +20 -0
  475. package/dist/ui/context/types.d.ts +34 -0
  476. package/dist/ui/context/types.js +2 -0
  477. package/dist/ui/hooks/index.d.ts +12 -0
  478. package/dist/ui/hooks/index.js +29 -0
  479. package/dist/ui/hooks/useAsyncLoading.d.ts +4 -0
  480. package/dist/ui/hooks/useAsyncLoading.js +31 -0
  481. package/dist/ui/hooks/useForceUpdate.d.ts +2 -0
  482. package/dist/ui/hooks/useForceUpdate.js +11 -0
  483. package/dist/ui/hooks/useNavActive.d.ts +5 -0
  484. package/dist/ui/hooks/useNavActive.js +11 -0
  485. package/dist/ui/hooks/usePagination.d.ts +34 -0
  486. package/dist/ui/hooks/usePagination.js +55 -0
  487. package/dist/ui/hooks/useReportArticleView.d.ts +4 -0
  488. package/dist/ui/hooks/useReportArticleView.js +40 -0
  489. package/dist/ui/hooks/useReportPageView.d.ts +11 -0
  490. package/dist/ui/hooks/useReportPageView.js +28 -0
  491. package/dist/ui/hooks/useRouteParam.d.ts +5 -0
  492. package/dist/ui/hooks/useRouteParam.js +15 -0
  493. package/dist/ui/hooks/useToggle.d.ts +2 -0
  494. package/dist/ui/hooks/useToggle.js +17 -0
  495. package/dist/ui/hooks/useWarningOnExit.d.ts +5 -0
  496. package/dist/ui/hooks/useWarningOnExit.js +59 -0
  497. package/dist/ui/index.d.ts +43 -0
  498. package/dist/ui/index.js +87 -0
  499. package/dist/utils/api-envelope.d.ts +14 -0
  500. package/dist/utils/api-envelope.js +31 -0
  501. package/dist/utils/clipboard.d.ts +2 -0
  502. package/dist/utils/clipboard.js +24 -0
  503. package/dist/utils/cookie.d.ts +2 -0
  504. package/dist/utils/cookie.js +15 -0
  505. package/dist/utils/date.d.ts +4 -0
  506. package/dist/utils/date.js +45 -0
  507. package/dist/utils/email.d.ts +3 -0
  508. package/dist/utils/email.js +9 -0
  509. package/dist/utils/error.d.ts +7 -0
  510. package/dist/utils/error.js +26 -0
  511. package/dist/utils/image.d.ts +7 -0
  512. package/dist/utils/image.js +34 -0
  513. package/dist/utils/index.d.ts +15 -33
  514. package/dist/utils/index.js +37 -57
  515. package/dist/utils/json.d.ts +2 -0
  516. package/dist/utils/json.js +18 -0
  517. package/dist/utils/jsonp.d.ts +8 -0
  518. package/dist/utils/jsonp.js +27 -0
  519. package/dist/utils/object.d.ts +7 -0
  520. package/dist/utils/object.js +63 -0
  521. package/dist/utils/setting.d.ts +12 -0
  522. package/dist/utils/setting.js +13 -0
  523. package/dist/utils/string.d.ts +4 -0
  524. package/dist/utils/string.js +15 -0
  525. package/dist/utils/viewport.d.ts +3 -0
  526. package/dist/utils/viewport.js +14 -0
  527. package/package.json +141 -12
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.THEME_USER_STORAGE_KEY = exports.THEME_TOKEN_STORAGE_KEY = exports.ADMIN_AUTH_STORAGE_KEY = void 0;
4
+ exports.getStoredAccessToken = getStoredAccessToken;
5
+ exports.resolveStoredUser = resolveStoredUser;
6
+ exports.persistThemeSession = persistThemeSession;
7
+ exports.clearThemeSession = clearThemeSession;
8
+ const json_1 = require("./json");
9
+ /** Zustand persist key used by the ReactPress admin (`web/src/stores/auth.ts`). */
10
+ exports.ADMIN_AUTH_STORAGE_KEY = 'auth-storage';
11
+ exports.THEME_TOKEN_STORAGE_KEY = 'token';
12
+ exports.THEME_USER_STORAGE_KEY = 'user';
13
+ function getStoredAccessToken() {
14
+ if (typeof window === 'undefined')
15
+ return null;
16
+ const themeToken = window.localStorage.getItem(exports.THEME_TOKEN_STORAGE_KEY);
17
+ if (themeToken)
18
+ return themeToken;
19
+ try {
20
+ const raw = window.localStorage.getItem(exports.ADMIN_AUTH_STORAGE_KEY);
21
+ if (!raw)
22
+ return null;
23
+ const parsed = JSON.parse(raw);
24
+ return parsed.state?.tokens?.accessToken ?? null;
25
+ }
26
+ catch {
27
+ return null;
28
+ }
29
+ }
30
+ function mapAdminUserToThemeUser(adminUser, token) {
31
+ if (!adminUser || !token)
32
+ return null;
33
+ const name = (adminUser.username || adminUser.name || '').trim();
34
+ if (!name)
35
+ return null;
36
+ return {
37
+ name,
38
+ email: adminUser.email ?? '',
39
+ avatar: adminUser.avatar ?? '',
40
+ token,
41
+ };
42
+ }
43
+ /** Resolve theme user from theme storage, or fall back to admin `auth-storage`. */
44
+ function resolveStoredUser() {
45
+ if (typeof window === 'undefined')
46
+ return null;
47
+ const userStr = window.localStorage.getItem(exports.THEME_USER_STORAGE_KEY);
48
+ if (userStr) {
49
+ const parsed = (0, json_1.safeJsonParse)(userStr, {});
50
+ if (parsed?.name) {
51
+ const token = getStoredAccessToken();
52
+ return {
53
+ name: parsed.name,
54
+ email: parsed.email ?? '',
55
+ avatar: parsed.avatar ?? '',
56
+ token: parsed.token ?? token ?? '',
57
+ role: parsed.role,
58
+ };
59
+ }
60
+ }
61
+ try {
62
+ const raw = window.localStorage.getItem(exports.ADMIN_AUTH_STORAGE_KEY);
63
+ if (!raw)
64
+ return null;
65
+ const parsed = JSON.parse(raw);
66
+ const { state } = parsed;
67
+ if (!state?.isAuthenticated)
68
+ return null;
69
+ const token = state.tokens?.accessToken;
70
+ if (!token)
71
+ return null;
72
+ return mapAdminUserToThemeUser(state.user, token);
73
+ }
74
+ catch {
75
+ return null;
76
+ }
77
+ }
78
+ function persistThemeSession(user) {
79
+ if (typeof window === 'undefined')
80
+ return;
81
+ if (user.token) {
82
+ window.localStorage.setItem(exports.THEME_TOKEN_STORAGE_KEY, user.token);
83
+ }
84
+ window.localStorage.setItem(exports.THEME_USER_STORAGE_KEY, JSON.stringify(user));
85
+ }
86
+ function clearThemeSession() {
87
+ if (typeof window === 'undefined')
88
+ return;
89
+ window.localStorage.removeItem(exports.THEME_USER_STORAGE_KEY);
90
+ window.localStorage.removeItem(exports.THEME_TOKEN_STORAGE_KEY);
91
+ window.localStorage.removeItem(exports.ADMIN_AUTH_STORAGE_KEY);
92
+ }
@@ -0,0 +1,145 @@
1
+ import { type DocumentContext } from 'next/document';
2
+ import React from 'react';
3
+ export interface CreateAntdThemeDocumentOptions {
4
+ /** Resolve `<html lang>` from the incoming request. */
5
+ resolveLocale?: (req: DocumentContext['req']) => string;
6
+ defaultLocale?: string;
7
+ }
8
+ /**
9
+ * Factory for Next.js `_document.tsx` with Ant Design CSS-in-JS SSR extraction.
10
+ */
11
+ export declare function createAntdThemeDocument(options?: CreateAntdThemeDocumentOptions): {
12
+ new (props: import("next/dist/shared/lib/utils").RenderPageResult & {
13
+ styles?: React.ReactElement[] | React.ReactFragment | JSX.Element;
14
+ } & import("next/dist/shared/lib/html-context").HtmlProps & {
15
+ locale?: string;
16
+ }): {
17
+ render(): import("react/jsx-runtime").JSX.Element;
18
+ context: unknown;
19
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<import("next/dist/shared/lib/utils").RenderPageResult & {
20
+ styles?: React.ReactElement[] | React.ReactFragment | JSX.Element;
21
+ } & import("next/dist/shared/lib/html-context").HtmlProps & {
22
+ locale?: string;
23
+ }>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
24
+ forceUpdate(callback?: (() => void) | undefined): void;
25
+ readonly props: Readonly<import("next/dist/shared/lib/utils").RenderPageResult & {
26
+ styles?: React.ReactElement[] | React.ReactFragment | JSX.Element;
27
+ } & import("next/dist/shared/lib/html-context").HtmlProps & {
28
+ locale?: string;
29
+ }>;
30
+ state: Readonly<{}>;
31
+ refs: {
32
+ [key: string]: React.ReactInstance;
33
+ };
34
+ componentDidMount?(): void;
35
+ shouldComponentUpdate?(nextProps: Readonly<import("next/dist/shared/lib/utils").RenderPageResult & {
36
+ styles?: React.ReactElement[] | React.ReactFragment | JSX.Element;
37
+ } & import("next/dist/shared/lib/html-context").HtmlProps & {
38
+ locale?: string;
39
+ }>, nextState: Readonly<{}>, nextContext: any): boolean;
40
+ componentWillUnmount?(): void;
41
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
42
+ getSnapshotBeforeUpdate?(prevProps: Readonly<import("next/dist/shared/lib/utils").RenderPageResult & {
43
+ styles?: React.ReactElement[] | React.ReactFragment | JSX.Element;
44
+ } & import("next/dist/shared/lib/html-context").HtmlProps & {
45
+ locale?: string;
46
+ }>, prevState: Readonly<{}>): any;
47
+ componentDidUpdate?(prevProps: Readonly<import("next/dist/shared/lib/utils").RenderPageResult & {
48
+ styles?: React.ReactElement[] | React.ReactFragment | JSX.Element;
49
+ } & import("next/dist/shared/lib/html-context").HtmlProps & {
50
+ locale?: string;
51
+ }>, prevState: Readonly<{}>, snapshot?: any): void;
52
+ componentWillMount?(): void;
53
+ UNSAFE_componentWillMount?(): void;
54
+ componentWillReceiveProps?(nextProps: Readonly<import("next/dist/shared/lib/utils").RenderPageResult & {
55
+ styles?: React.ReactElement[] | React.ReactFragment | JSX.Element;
56
+ } & import("next/dist/shared/lib/html-context").HtmlProps & {
57
+ locale?: string;
58
+ }>, nextContext: any): void;
59
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<import("next/dist/shared/lib/utils").RenderPageResult & {
60
+ styles?: React.ReactElement[] | React.ReactFragment | JSX.Element;
61
+ } & import("next/dist/shared/lib/html-context").HtmlProps & {
62
+ locale?: string;
63
+ }>, nextContext: any): void;
64
+ componentWillUpdate?(nextProps: Readonly<import("next/dist/shared/lib/utils").RenderPageResult & {
65
+ styles?: React.ReactElement[] | React.ReactFragment | JSX.Element;
66
+ } & import("next/dist/shared/lib/html-context").HtmlProps & {
67
+ locale?: string;
68
+ }>, nextState: Readonly<{}>, nextContext: any): void;
69
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<import("next/dist/shared/lib/utils").RenderPageResult & {
70
+ styles?: React.ReactElement[] | React.ReactFragment | JSX.Element;
71
+ } & import("next/dist/shared/lib/html-context").HtmlProps & {
72
+ locale?: string;
73
+ }>, nextState: Readonly<{}>, nextContext: any): void;
74
+ };
75
+ new (props: import("next/dist/shared/lib/utils").RenderPageResult & {
76
+ styles?: React.ReactElement[] | React.ReactFragment | JSX.Element;
77
+ } & import("next/dist/shared/lib/html-context").HtmlProps & {
78
+ locale?: string;
79
+ }, context: any): {
80
+ render(): import("react/jsx-runtime").JSX.Element;
81
+ context: unknown;
82
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<import("next/dist/shared/lib/utils").RenderPageResult & {
83
+ styles?: React.ReactElement[] | React.ReactFragment | JSX.Element;
84
+ } & import("next/dist/shared/lib/html-context").HtmlProps & {
85
+ locale?: string;
86
+ }>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
87
+ forceUpdate(callback?: (() => void) | undefined): void;
88
+ readonly props: Readonly<import("next/dist/shared/lib/utils").RenderPageResult & {
89
+ styles?: React.ReactElement[] | React.ReactFragment | JSX.Element;
90
+ } & import("next/dist/shared/lib/html-context").HtmlProps & {
91
+ locale?: string;
92
+ }>;
93
+ state: Readonly<{}>;
94
+ refs: {
95
+ [key: string]: React.ReactInstance;
96
+ };
97
+ componentDidMount?(): void;
98
+ shouldComponentUpdate?(nextProps: Readonly<import("next/dist/shared/lib/utils").RenderPageResult & {
99
+ styles?: React.ReactElement[] | React.ReactFragment | JSX.Element;
100
+ } & import("next/dist/shared/lib/html-context").HtmlProps & {
101
+ locale?: string;
102
+ }>, nextState: Readonly<{}>, nextContext: any): boolean;
103
+ componentWillUnmount?(): void;
104
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
105
+ getSnapshotBeforeUpdate?(prevProps: Readonly<import("next/dist/shared/lib/utils").RenderPageResult & {
106
+ styles?: React.ReactElement[] | React.ReactFragment | JSX.Element;
107
+ } & import("next/dist/shared/lib/html-context").HtmlProps & {
108
+ locale?: string;
109
+ }>, prevState: Readonly<{}>): any;
110
+ componentDidUpdate?(prevProps: Readonly<import("next/dist/shared/lib/utils").RenderPageResult & {
111
+ styles?: React.ReactElement[] | React.ReactFragment | JSX.Element;
112
+ } & import("next/dist/shared/lib/html-context").HtmlProps & {
113
+ locale?: string;
114
+ }>, prevState: Readonly<{}>, snapshot?: any): void;
115
+ componentWillMount?(): void;
116
+ UNSAFE_componentWillMount?(): void;
117
+ componentWillReceiveProps?(nextProps: Readonly<import("next/dist/shared/lib/utils").RenderPageResult & {
118
+ styles?: React.ReactElement[] | React.ReactFragment | JSX.Element;
119
+ } & import("next/dist/shared/lib/html-context").HtmlProps & {
120
+ locale?: string;
121
+ }>, nextContext: any): void;
122
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<import("next/dist/shared/lib/utils").RenderPageResult & {
123
+ styles?: React.ReactElement[] | React.ReactFragment | JSX.Element;
124
+ } & import("next/dist/shared/lib/html-context").HtmlProps & {
125
+ locale?: string;
126
+ }>, nextContext: any): void;
127
+ componentWillUpdate?(nextProps: Readonly<import("next/dist/shared/lib/utils").RenderPageResult & {
128
+ styles?: React.ReactElement[] | React.ReactFragment | JSX.Element;
129
+ } & import("next/dist/shared/lib/html-context").HtmlProps & {
130
+ locale?: string;
131
+ }>, nextState: Readonly<{}>, nextContext: any): void;
132
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<import("next/dist/shared/lib/utils").RenderPageResult & {
133
+ styles?: React.ReactElement[] | React.ReactFragment | JSX.Element;
134
+ } & import("next/dist/shared/lib/html-context").HtmlProps & {
135
+ locale?: string;
136
+ }>, nextState: Readonly<{}>, nextContext: any): void;
137
+ };
138
+ getInitialProps(ctx: DocumentContext): Promise<{
139
+ locale: string;
140
+ styles: import("react/jsx-runtime").JSX.Element;
141
+ html: string;
142
+ head?: Array<JSX.Element | null>;
143
+ }>;
144
+ contextType?: React.Context<any> | undefined;
145
+ };
@@ -0,0 +1,70 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.createAntdThemeDocument = createAntdThemeDocument;
40
+ const jsx_runtime_1 = require("react/jsx-runtime");
41
+ const cssinjs_1 = require("@ant-design/cssinjs");
42
+ const document_1 = __importStar(require("next/document"));
43
+ const react_1 = __importDefault(require("react"));
44
+ /**
45
+ * Factory for Next.js `_document.tsx` with Ant Design CSS-in-JS SSR extraction.
46
+ */
47
+ function createAntdThemeDocument(options = {}) {
48
+ const defaultLocale = options.defaultLocale ?? 'zh';
49
+ return class AntdThemeDocument extends document_1.default {
50
+ static async getInitialProps(ctx) {
51
+ const cache = (0, cssinjs_1.createCache)();
52
+ const originalRenderPage = ctx.renderPage;
53
+ ctx.renderPage = () => originalRenderPage({
54
+ enhanceApp: (App) => (props) => react_1.default.createElement(cssinjs_1.StyleProvider, { cache }, react_1.default.createElement(App, props)),
55
+ });
56
+ const initialProps = await document_1.default.getInitialProps(ctx);
57
+ const style = (0, cssinjs_1.extractStyle)(cache, true);
58
+ const locale = options.resolveLocale?.(ctx.req) ?? defaultLocale;
59
+ return {
60
+ ...initialProps,
61
+ locale,
62
+ styles: ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [initialProps.styles, (0, jsx_runtime_1.jsx)("style", { dangerouslySetInnerHTML: { __html: style } })] })),
63
+ };
64
+ }
65
+ render() {
66
+ const locale = this.props.locale ?? defaultLocale;
67
+ return ((0, jsx_runtime_1.jsxs)(document_1.Html, { lang: locale, children: [(0, jsx_runtime_1.jsx)(document_1.Head, {}), (0, jsx_runtime_1.jsxs)("body", { children: [(0, jsx_runtime_1.jsx)(document_1.Main, {}), (0, jsx_runtime_1.jsx)(document_1.NextScript, {})] })] }));
68
+ }
69
+ };
70
+ }
@@ -0,0 +1,15 @@
1
+ /** Shared Next.js defaults for ReactPress theme packages (Pages Router). */
2
+ export interface ReactPressNextConfig {
3
+ reactStrictMode?: boolean;
4
+ eslint?: {
5
+ ignoreDuringBuilds?: boolean;
6
+ };
7
+ transpilePackages?: string[];
8
+ webpack?: (config: Record<string, unknown>, context: unknown) => Record<string, unknown>;
9
+ [key: string]: unknown;
10
+ }
11
+ /**
12
+ * Baseline Next config for themes: strict mode, eslint relaxed in CI, axios webpack alias.
13
+ * Pass overrides to extend (your `webpack` runs after the supports-color alias).
14
+ */
15
+ export declare function createReactPressNextConfig(overrides?: ReactPressNextConfig): ReactPressNextConfig;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ /** Shared Next.js defaults for ReactPress theme packages (Pages Router). */
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.createReactPressNextConfig = createReactPressNextConfig;
8
+ const path_1 = __importDefault(require("path"));
9
+ function resolveFromApp(appDir, spec) {
10
+ return require.resolve(spec, { paths: [appDir] });
11
+ }
12
+ /** Pin React to one copy so lazy-loaded page chunks share the same runtime (pnpm monorepo). */
13
+ function applyThemeWebpackResolve(config, appDir) {
14
+ const nextConfig = config;
15
+ nextConfig.resolve = nextConfig.resolve || {};
16
+ const reactDir = path_1.default.dirname(resolveFromApp(appDir, 'react/package.json'));
17
+ const reactDomDir = path_1.default.dirname(resolveFromApp(appDir, 'react-dom/package.json'));
18
+ const themeNodeModules = path_1.default.join(appDir, 'node_modules');
19
+ nextConfig.resolve.modules = [
20
+ themeNodeModules,
21
+ ...(Array.isArray(nextConfig.resolve.modules)
22
+ ? nextConfig.resolve.modules
23
+ : nextConfig.resolve.modules
24
+ ? [nextConfig.resolve.modules]
25
+ : []),
26
+ 'node_modules',
27
+ ];
28
+ nextConfig.resolve.alias = {
29
+ ...nextConfig.resolve.alias,
30
+ // axios → follow-redirects → debug optional peer supports-color@9 (ESM-only)
31
+ 'supports-color': false,
32
+ react: reactDir,
33
+ 'react-dom': reactDomDir,
34
+ 'react/jsx-runtime': resolveFromApp(appDir, 'react/jsx-runtime'),
35
+ 'react/jsx-dev-runtime': resolveFromApp(appDir, 'react/jsx-dev-runtime'),
36
+ };
37
+ return config;
38
+ }
39
+ /**
40
+ * Baseline Next config for themes: strict mode, eslint relaxed in CI, axios webpack alias.
41
+ * Pass overrides to extend (your `webpack` runs after the supports-color alias).
42
+ */
43
+ function createReactPressNextConfig(overrides = {}) {
44
+ const { webpack: userWebpack, eslint, transpilePackages, ...rest } = overrides;
45
+ return {
46
+ reactStrictMode: true,
47
+ transpilePackages: ['@fecommunity/reactpress-toolkit', ...(transpilePackages ?? [])],
48
+ eslint: {
49
+ ignoreDuringBuilds: true,
50
+ ...(eslint || {}),
51
+ },
52
+ ...rest,
53
+ webpack: (config, context) => {
54
+ const ctx = context;
55
+ const appDir = ctx.dir ?? process.cwd();
56
+ applyThemeWebpackResolve(config, appDir);
57
+ if (typeof userWebpack === 'function') {
58
+ return userWebpack(config, context);
59
+ }
60
+ return config;
61
+ },
62
+ };
63
+ }
@@ -0,0 +1,2 @@
1
+ /** Node-only theme helpers (filesystem I/O). */
2
+ export { readThemeAdminLocaleFile } from '../extension/theme-admin-locale.io';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readThemeAdminLocaleFile = void 0;
4
+ /** Node-only theme helpers (filesystem I/O). */
5
+ var theme_admin_locale_io_1 = require("../extension/theme-admin-locale.io");
6
+ Object.defineProperty(exports, "readThemeAdminLocaleFile", { enumerable: true, get: function () { return theme_admin_locale_io_1.readThemeAdminLocaleFile; } });
@@ -0,0 +1,12 @@
1
+ export declare const COLOR_MODE_STORAGE_KEY = "dark";
2
+ export type ThemeColorMode = 'dark' | 'light';
3
+ export declare function resolvePreferredColorMode(): boolean;
4
+ export declare function applyColorModeClass(isDark: boolean, className?: string): void;
5
+ export declare function persistColorMode(isDark: boolean): void;
6
+ export declare function resolveInitialColorModeState(): ThemeColorMode | null;
7
+ /** Runs before paint to avoid light-mode flash on first visit. */
8
+ export declare function buildColorModeInitScript(options?: {
9
+ storageKey?: string;
10
+ className?: string;
11
+ }): string;
12
+ export declare const colorModeInitScript: string;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.colorModeInitScript = exports.COLOR_MODE_STORAGE_KEY = void 0;
4
+ exports.resolvePreferredColorMode = resolvePreferredColorMode;
5
+ exports.applyColorModeClass = applyColorModeClass;
6
+ exports.persistColorMode = persistColorMode;
7
+ exports.resolveInitialColorModeState = resolveInitialColorModeState;
8
+ exports.buildColorModeInitScript = buildColorModeInitScript;
9
+ exports.COLOR_MODE_STORAGE_KEY = 'dark';
10
+ function resolvePreferredColorMode() {
11
+ if (typeof window === 'undefined') {
12
+ return false;
13
+ }
14
+ const storageTheme = window.localStorage.getItem(exports.COLOR_MODE_STORAGE_KEY);
15
+ if (storageTheme != null) {
16
+ return storageTheme === '1';
17
+ }
18
+ return window.matchMedia?.('(prefers-color-scheme: dark)').matches ?? false;
19
+ }
20
+ function applyColorModeClass(isDark, className = 'dark') {
21
+ if (typeof document === 'undefined') {
22
+ return;
23
+ }
24
+ document.body.classList.toggle(className, isDark);
25
+ document.documentElement.style.colorScheme = isDark ? 'dark' : 'light';
26
+ }
27
+ function persistColorMode(isDark) {
28
+ if (typeof window === 'undefined') {
29
+ return;
30
+ }
31
+ window.localStorage.setItem(exports.COLOR_MODE_STORAGE_KEY, isDark ? '1' : '-1');
32
+ }
33
+ function resolveInitialColorModeState() {
34
+ if (typeof window === 'undefined') {
35
+ return null;
36
+ }
37
+ return resolvePreferredColorMode() ? 'dark' : 'light';
38
+ }
39
+ /** Runs before paint to avoid light-mode flash on first visit. */
40
+ function buildColorModeInitScript(options = {}) {
41
+ const storageKey = options.storageKey ?? exports.COLOR_MODE_STORAGE_KEY;
42
+ const className = options.className ?? 'dark';
43
+ return `(function(){try{var k='${storageKey}';var s=localStorage.getItem(k);var d=s==='1'||(s==null&&window.matchMedia('(prefers-color-scheme: dark)').matches);if(d){document.documentElement.style.colorScheme='dark';document.body.classList.add('${className}');}else{document.documentElement.style.colorScheme='light';}}catch(e){}})();`;
44
+ }
45
+ exports.colorModeInitScript = buildColorModeInitScript();
@@ -0,0 +1,17 @@
1
+ export declare const COMMENT_AUTHOR_STORAGE_KEY = "reactpress-comment-author";
2
+ export type CommentAuthor = {
3
+ name: string;
4
+ email: string;
5
+ };
6
+ /** Permissive enough for common guest comment emails (qq/163/gmail, subdomains). */
7
+ export declare const COMMENT_EMAIL_REGEXP: RegExp;
8
+ export declare function isValidCommentEmail(email: string | undefined | null): boolean;
9
+ export declare function isValidCommentAuthor(author: Partial<CommentAuthor> | null | undefined): author is CommentAuthor;
10
+ export declare function getCommentEmailError(email: string | undefined | null, messages: {
11
+ required: string;
12
+ invalid: string;
13
+ }, options?: {
14
+ touched?: boolean;
15
+ }): string;
16
+ export declare function readCommentAuthor(): CommentAuthor | null;
17
+ export declare function persistCommentAuthor(author: CommentAuthor): void;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.COMMENT_EMAIL_REGEXP = exports.COMMENT_AUTHOR_STORAGE_KEY = void 0;
4
+ exports.isValidCommentEmail = isValidCommentEmail;
5
+ exports.isValidCommentAuthor = isValidCommentAuthor;
6
+ exports.getCommentEmailError = getCommentEmailError;
7
+ exports.readCommentAuthor = readCommentAuthor;
8
+ exports.persistCommentAuthor = persistCommentAuthor;
9
+ exports.COMMENT_AUTHOR_STORAGE_KEY = 'reactpress-comment-author';
10
+ /** Permissive enough for common guest comment emails (qq/163/gmail, subdomains). */
11
+ exports.COMMENT_EMAIL_REGEXP = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
12
+ function isValidCommentEmail(email) {
13
+ return Boolean(email?.trim() && exports.COMMENT_EMAIL_REGEXP.test(email.trim()));
14
+ }
15
+ function isValidCommentAuthor(author) {
16
+ return Boolean(author?.name?.trim() && isValidCommentEmail(author.email));
17
+ }
18
+ function getCommentEmailError(email, messages, options = {}) {
19
+ const trimmed = email?.trim() ?? '';
20
+ if (!options.touched)
21
+ return '';
22
+ if (!trimmed)
23
+ return messages.required;
24
+ if (!isValidCommentEmail(trimmed))
25
+ return messages.invalid;
26
+ return '';
27
+ }
28
+ function readCommentAuthor() {
29
+ if (typeof window === 'undefined')
30
+ return null;
31
+ try {
32
+ const raw = window.localStorage.getItem(exports.COMMENT_AUTHOR_STORAGE_KEY);
33
+ if (!raw)
34
+ return null;
35
+ const parsed = JSON.parse(raw);
36
+ if (!isValidCommentAuthor(parsed))
37
+ return null;
38
+ return { name: parsed.name.trim(), email: parsed.email.trim() };
39
+ }
40
+ catch {
41
+ return null;
42
+ }
43
+ }
44
+ function persistCommentAuthor(author) {
45
+ if (typeof window === 'undefined')
46
+ return;
47
+ window.localStorage.setItem(exports.COMMENT_AUTHOR_STORAGE_KEY, JSON.stringify({ name: author.name.trim(), email: author.email.trim() }));
48
+ }
@@ -0,0 +1,7 @@
1
+ import type { IArticle } from '../../types';
2
+ export type ArchiveArticle = Pick<IArticle, 'id' | 'title' | 'publishAt'>;
3
+ export type ArchiveTree = Record<string, Record<string, ArchiveArticle[]>>;
4
+ export declare function slimArchiveTree(raw: Record<string, Record<string, IArticle[]>>): ArchiveTree;
5
+ export declare function countArchiveArticles(articles: ArchiveTree): number;
6
+ export declare function formatArchiveDay(publishAt: string): string;
7
+ export declare function sortedArchiveYears(articles: ArchiveTree): string[];
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.slimArchiveTree = slimArchiveTree;
4
+ exports.countArchiveArticles = countArchiveArticles;
5
+ exports.formatArchiveDay = formatArchiveDay;
6
+ exports.sortedArchiveYears = sortedArchiveYears;
7
+ function slimArchiveTree(raw) {
8
+ const out = {};
9
+ for (const year of Object.keys(raw)) {
10
+ out[year] = {};
11
+ for (const month of Object.keys(raw[year])) {
12
+ out[year][month] = raw[year][month].map(({ id, title, publishAt }) => ({
13
+ id,
14
+ title,
15
+ publishAt,
16
+ }));
17
+ }
18
+ }
19
+ return out;
20
+ }
21
+ function countArchiveArticles(articles) {
22
+ let total = 0;
23
+ for (const year of Object.keys(articles)) {
24
+ for (const month of Object.keys(articles[year])) {
25
+ total += articles[year][month].length;
26
+ }
27
+ }
28
+ return total;
29
+ }
30
+ function formatArchiveDay(publishAt) {
31
+ const date = new Date(publishAt);
32
+ const month = String(date.getMonth() + 1).padStart(2, '0');
33
+ const day = String(date.getDate()).padStart(2, '0');
34
+ return `${month}-${day}`;
35
+ }
36
+ function sortedArchiveYears(articles) {
37
+ return Object.keys(articles).sort((a, b) => +b - +a);
38
+ }
@@ -0,0 +1,10 @@
1
+ import type { IArticle } from '../../types';
2
+ /** Fields required by article list cards — omit content/html/toc from SSR payload. */
3
+ export type ListArticle = Pick<IArticle, 'id' | 'title' | 'cover' | 'summary' | 'likes' | 'views' | 'publishAt'> & {
4
+ category?: Pick<NonNullable<IArticle['category']>, 'value' | 'label'>;
5
+ };
6
+ export type CarouselArticle = Pick<IArticle, 'id' | 'title' | 'cover' | 'publishAt' | 'views'>;
7
+ export declare function slimArticleForList(article: IArticle): ListArticle;
8
+ export declare function slimArticlesForList(articles: IArticle[]): ListArticle[];
9
+ export declare function slimArticleForCarousel(article: IArticle): CarouselArticle;
10
+ export declare function slimArticlesForCarousel(articles: IArticle[]): CarouselArticle[];
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.slimArticleForList = slimArticleForList;
4
+ exports.slimArticlesForList = slimArticlesForList;
5
+ exports.slimArticleForCarousel = slimArticleForCarousel;
6
+ exports.slimArticlesForCarousel = slimArticlesForCarousel;
7
+ function slimArticleForList(article) {
8
+ return {
9
+ id: article.id,
10
+ title: article.title,
11
+ cover: article.cover,
12
+ summary: article.summary,
13
+ likes: article.likes,
14
+ views: article.views,
15
+ publishAt: article.publishAt,
16
+ category: article.category
17
+ ? { value: article.category.value, label: article.category.label }
18
+ : undefined,
19
+ };
20
+ }
21
+ function slimArticlesForList(articles) {
22
+ return articles.map(slimArticleForList);
23
+ }
24
+ function slimArticleForCarousel(article) {
25
+ return {
26
+ id: article.id,
27
+ title: article.title,
28
+ cover: article.cover,
29
+ publishAt: article.publishAt,
30
+ views: article.views,
31
+ };
32
+ }
33
+ function slimArticlesForCarousel(articles) {
34
+ return articles.map(slimArticleForCarousel);
35
+ }
@@ -0,0 +1,8 @@
1
+ /** Whether a configured asset path is likely to resolve (skip broken defaults like `/logo.png`). */
2
+ export declare function isLikelyValidAssetPath(url: string | undefined | null): boolean;
3
+ /** Header logo — uploads only; default wordmark `/logo.png` is shown via `SiteBranding` text instead. */
4
+ export declare function isLikelyValidHeaderLogoPath(url: string | undefined | null): boolean;
5
+ /** Resolve media / logo URLs for theme pages. */
6
+ export declare function resolvePublicAssetUrl(url: string | undefined | null): string;
7
+ /** Rewrite relative asset URLs inside rendered article HTML (`src`, `href`). */
8
+ export declare function rewriteArticleHtmlAssets(html: string | undefined | null): string;