@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.
- package/LICENSE +1 -1
- package/README.md +194 -309
- package/dist/.source-fingerprint-toolkit +1 -0
- package/dist/admin/index.d.ts +2 -0
- package/dist/admin/index.js +18 -0
- package/dist/admin/permissions.d.ts +5 -0
- package/dist/admin/permissions.js +33 -0
- package/dist/admin/registry.d.ts +62 -0
- package/dist/admin/registry.js +79 -0
- package/dist/api/HttpClient.d.ts +2 -2
- package/dist/api/HttpClient.js +1 -1
- package/dist/api/Smtp.d.ts +17 -0
- package/dist/api/Smtp.js +15 -0
- package/dist/api/instance.d.ts +1 -1
- package/dist/api/instance.js +3 -3
- package/dist/app/createReactPressApp.d.ts +8 -0
- package/dist/app/createReactPressApp.js +265 -0
- package/dist/app/createThemeApp.d.ts +8 -0
- package/dist/app/createThemeApp.js +51 -0
- package/dist/app/devChunkRecovery.d.ts +2 -0
- package/dist/app/devChunkRecovery.js +68 -0
- package/dist/app/index.d.ts +39 -0
- package/dist/app/index.js +11 -0
- package/dist/config/env.js +29 -15
- package/dist/config/global.d.ts +7 -1
- package/dist/config/global.js +9 -3
- package/dist/config/i18n.js +27 -11
- package/dist/config/index.d.ts +3 -3
- package/dist/config/index.js +6 -5
- package/dist/{locales → config/locales}/en.json +31 -3
- package/dist/{locales → config/locales}/zh.json +31 -3
- package/dist/dev/index.d.ts +3 -0
- package/dist/dev/index.js +12 -0
- package/dist/dev/portRedirect.d.ts +20 -0
- package/dist/dev/portRedirect.js +93 -0
- package/dist/dev/vitePortRedirectPlugin.d.ts +24 -0
- package/dist/dev/vitePortRedirectPlugin.js +40 -0
- package/dist/extension/branding-mods.d.ts +10 -0
- package/dist/extension/branding-mods.js +65 -0
- package/dist/extension/configuration/defaults.d.ts +3 -0
- package/dist/extension/configuration/defaults.js +32 -0
- package/dist/extension/configuration/formily.d.ts +10 -0
- package/dist/extension/configuration/formily.js +170 -0
- package/dist/extension/configuration/index.d.ts +7 -0
- package/dist/extension/configuration/index.js +28 -0
- package/dist/extension/configuration/paths.d.ts +4 -0
- package/dist/extension/configuration/paths.js +50 -0
- package/dist/extension/configuration/presets/twentytwentyfive.d.ts +7 -0
- package/dist/extension/configuration/presets/twentytwentyfive.js +94 -0
- package/dist/extension/configuration/resolve.d.ts +24 -0
- package/dist/extension/configuration/resolve.js +98 -0
- package/dist/extension/configuration/types.d.ts +68 -0
- package/dist/extension/configuration/types.js +3 -0
- package/dist/extension/configuration/validate.d.ts +8 -0
- package/dist/extension/configuration/validate.js +21 -0
- package/dist/extension/index.d.ts +9 -0
- package/dist/extension/index.js +35 -0
- package/dist/extension/manifest-normalize.d.ts +5 -0
- package/dist/extension/manifest-normalize.js +75 -0
- package/dist/extension/node.d.ts +2 -0
- package/dist/extension/node.js +6 -0
- package/dist/extension/presets/twentytwentyfive-appearance.d.ts +10 -0
- package/dist/extension/presets/twentytwentyfive-appearance.js +193 -0
- package/dist/extension/presets/twentytwentyfive-customizer.d.ts +19 -0
- package/dist/extension/presets/twentytwentyfive-customizer.js +199 -0
- package/dist/extension/preview.d.ts +46 -0
- package/dist/extension/preview.js +92 -0
- package/dist/extension/site-notices.d.ts +19 -0
- package/dist/extension/site-notices.js +88 -0
- package/dist/extension/site-settings.d.ts +37 -0
- package/dist/extension/site-settings.js +144 -0
- package/dist/extension/theme-admin-locale.d.ts +11 -0
- package/dist/extension/theme-admin-locale.io.d.ts +2 -0
- package/dist/extension/theme-admin-locale.io.js +54 -0
- package/dist/extension/theme-admin-locale.js +81 -0
- package/dist/extension/theme.d.ts +89 -0
- package/dist/extension/theme.js +93 -0
- package/dist/extension/twentytwentyfive-vars.d.ts +7 -0
- package/dist/extension/twentytwentyfive-vars.js +100 -0
- package/dist/index.d.ts +15 -7
- package/dist/index.js +44 -22
- package/dist/plugin/admin/index.d.ts +2 -0
- package/dist/plugin/admin/index.js +18 -0
- package/dist/plugin/admin/permissions.d.ts +5 -0
- package/dist/plugin/admin/permissions.js +33 -0
- package/dist/plugin/admin/plugin-admin.d.ts +37 -0
- package/dist/plugin/admin/plugin-admin.js +41 -0
- package/dist/plugin/admin/registry.d.ts +62 -0
- package/dist/plugin/admin/registry.js +79 -0
- package/dist/plugin/admin/slots.d.ts +36 -0
- package/dist/plugin/admin/slots.js +16 -0
- package/dist/plugin/client/client.d.ts +14 -0
- package/dist/plugin/client/client.js +95 -0
- package/dist/plugin/client/index.d.ts +4 -0
- package/dist/plugin/client/index.js +11 -0
- package/dist/plugin/client/runtime.d.ts +18 -0
- package/dist/plugin/client/runtime.js +30 -0
- package/dist/plugin/dev/index.d.ts +4 -0
- package/dist/plugin/dev/index.js +16 -0
- package/dist/plugin/dev/portRedirect.d.ts +26 -0
- package/dist/plugin/dev/portRedirect.js +111 -0
- package/dist/plugin/dev/vitePortRedirectPlugin.d.ts +24 -0
- package/dist/plugin/dev/vitePortRedirectPlugin.js +40 -0
- package/dist/plugin/extension/index.d.ts +4 -0
- package/dist/plugin/extension/index.js +20 -0
- package/dist/plugin/extension/plugin-admin-locale.d.ts +21 -0
- package/dist/plugin/extension/plugin-admin-locale.io.d.ts +2 -0
- package/dist/plugin/extension/plugin-admin-locale.io.js +54 -0
- package/dist/plugin/extension/plugin-admin-locale.js +60 -0
- package/dist/plugin/extension/plugin.d.ts +82 -0
- package/dist/plugin/extension/plugin.js +146 -0
- package/dist/plugin/extension/security.d.ts +7 -0
- package/dist/plugin/extension/security.js +74 -0
- package/dist/plugin/extension/validate.d.ts +8 -0
- package/dist/plugin/extension/validate.js +55 -0
- package/dist/plugin/index.d.ts +9 -0
- package/dist/plugin/index.js +48 -0
- package/dist/plugin/node.d.ts +2 -0
- package/dist/plugin/node.js +6 -0
- package/dist/plugin/react/client.d.ts +14 -0
- package/dist/plugin/react/client.js +95 -0
- package/dist/plugin/react/index.d.ts +2 -0
- package/dist/plugin/react/index.js +18 -0
- package/dist/plugin/react/plugin-admin-ui.d.ts +23 -0
- package/dist/plugin/react/plugin-admin-ui.js +38 -0
- package/dist/plugin/react/runtime.d.ts +18 -0
- package/dist/plugin/react/runtime.js +30 -0
- package/dist/plugin/server/hook-reject.d.ts +12 -0
- package/dist/plugin/server/hook-reject.js +39 -0
- package/dist/plugin/server/index.d.ts +2 -0
- package/dist/plugin/server/index.js +18 -0
- package/dist/plugin/server/types.d.ts +34 -0
- package/dist/plugin/server/types.js +3 -0
- package/dist/primitives/AntdStyleTransitionFix.d.ts +2 -0
- package/dist/primitives/AntdStyleTransitionFix.js +16 -0
- package/dist/primitives/Badge.d.ts +7 -0
- package/dist/primitives/Badge.js +9 -0
- package/dist/primitives/Button.d.ts +10 -0
- package/dist/primitives/Button.js +38 -0
- package/dist/primitives/ColorModeToggle.d.ts +8 -0
- package/dist/primitives/ColorModeToggle.js +13 -0
- package/dist/primitives/IconButton.d.ts +7 -0
- package/dist/primitives/IconButton.js +13 -0
- package/dist/primitives/ScrollToTarget.d.ts +9 -0
- package/dist/primitives/ScrollToTarget.js +48 -0
- package/dist/primitives/Separator.d.ts +7 -0
- package/dist/primitives/Separator.js +9 -0
- package/dist/primitives/Skeleton.d.ts +7 -0
- package/dist/primitives/Skeleton.js +9 -0
- package/dist/primitives/Slot.d.ts +10 -0
- package/dist/primitives/Slot.js +25 -0
- package/dist/primitives/Spinner.d.ts +6 -0
- package/dist/primitives/Spinner.js +9 -0
- package/dist/primitives/animation/ConditionTransition.d.ts +8 -0
- package/dist/primitives/animation/ConditionTransition.js +13 -0
- package/dist/primitives/animation/ListTrail.d.ts +10 -0
- package/dist/primitives/animation/ListTrail.js +14 -0
- package/dist/primitives/animation/Opacity.d.ts +3 -0
- package/dist/primitives/animation/Opacity.js +10 -0
- package/dist/primitives/animation/Spring.d.ts +9 -0
- package/dist/primitives/animation/Spring.js +29 -0
- package/dist/primitives/animation/index.d.ts +7 -0
- package/dist/primitives/animation/index.js +11 -0
- package/dist/primitives/cn.d.ts +4 -0
- package/dist/primitives/cn.js +7 -0
- package/dist/primitives/icons.d.ts +4 -0
- package/dist/primitives/icons.js +15 -0
- package/dist/primitives/index.d.ts +22 -0
- package/dist/primitives/index.js +44 -0
- package/dist/react/client.d.ts +14 -0
- package/dist/react/client.js +95 -0
- package/dist/react/index.d.ts +4 -0
- package/dist/react/index.js +11 -0
- package/dist/react/runtime.d.ts +18 -0
- package/dist/react/runtime.js +30 -0
- package/dist/theme/antdDocument.d.ts +18 -0
- package/dist/theme/antdDocument.js +59 -0
- package/dist/theme/api/api-data.d.ts +2 -0
- package/dist/theme/api/api-data.js +8 -0
- package/dist/theme/api/api.d.ts +28 -0
- package/dist/theme/api/api.js +27 -0
- package/dist/theme/api/httpClient.d.ts +24 -0
- package/dist/theme/api/httpClient.js +83 -0
- package/dist/theme/api/json.d.ts +1 -0
- package/dist/theme/api/json.js +5 -0
- package/dist/theme/api/jsonp.d.ts +1 -0
- package/dist/theme/api/jsonp.js +5 -0
- package/dist/theme/api-data.d.ts +12 -0
- package/dist/theme/api-data.js +22 -0
- package/dist/theme/api.d.ts +28 -0
- package/dist/theme/api.js +27 -0
- package/dist/theme/appearance.d.ts +4 -0
- package/dist/theme/appearance.js +16 -0
- package/dist/theme/assets.d.ts +2 -0
- package/dist/theme/assets.js +27 -0
- package/dist/theme/authSession.d.ts +16 -0
- package/dist/theme/authSession.js +92 -0
- package/dist/theme/build/antdDocument.d.ts +145 -0
- package/dist/theme/build/antdDocument.js +70 -0
- package/dist/theme/build/next-config.d.ts +15 -0
- package/dist/theme/build/next-config.js +63 -0
- package/dist/theme/build/node.d.ts +2 -0
- package/dist/theme/build/node.js +6 -0
- package/dist/theme/colorMode.d.ts +12 -0
- package/dist/theme/colorMode.js +45 -0
- package/dist/theme/commentAuthor.d.ts +17 -0
- package/dist/theme/commentAuthor.js +48 -0
- package/dist/theme/content/archiveSlim.d.ts +7 -0
- package/dist/theme/content/archiveSlim.js +38 -0
- package/dist/theme/content/articleSlim.d.ts +10 -0
- package/dist/theme/content/articleSlim.js +35 -0
- package/dist/theme/content/assets.d.ts +8 -0
- package/dist/theme/content/assets.js +74 -0
- package/dist/theme/content/carouselArticles.d.ts +10 -0
- package/dist/theme/content/carouselArticles.js +39 -0
- package/dist/theme/content/excerpt.d.ts +15 -0
- package/dist/theme/content/excerpt.js +42 -0
- package/dist/theme/content/nav.d.ts +10 -0
- package/dist/theme/content/nav.js +30 -0
- package/dist/theme/content/seo.d.ts +6 -0
- package/dist/theme/content/seo.js +12 -0
- package/dist/theme/createAntdApp.d.ts +106 -0
- package/dist/theme/createAntdApp.js +175 -0
- package/dist/theme/createApp.d.ts +10 -0
- package/dist/theme/createApp.js +141 -0
- package/dist/theme/createCatalogApp.d.ts +108 -0
- package/dist/theme/createCatalogApp.js +168 -0
- package/dist/theme/customizer.d.ts +1 -0
- package/dist/theme/customizer.js +5 -0
- package/dist/theme/excerpt.d.ts +16 -0
- package/dist/theme/excerpt.js +31 -0
- package/dist/theme/extension/branding-mods.d.ts +10 -0
- package/dist/theme/extension/branding-mods.js +65 -0
- package/dist/theme/extension/configuration/defaults.d.ts +3 -0
- package/dist/theme/extension/configuration/defaults.js +32 -0
- package/dist/theme/extension/configuration/formily.d.ts +10 -0
- package/dist/theme/extension/configuration/formily.js +170 -0
- package/dist/theme/extension/configuration/index.d.ts +7 -0
- package/dist/theme/extension/configuration/index.js +28 -0
- package/dist/theme/extension/configuration/paths.d.ts +1 -0
- package/dist/theme/extension/configuration/paths.js +7 -0
- package/dist/theme/extension/configuration/presets/twentytwentyfive.d.ts +7 -0
- package/dist/theme/extension/configuration/presets/twentytwentyfive.js +94 -0
- package/dist/theme/extension/configuration/resolve.d.ts +24 -0
- package/dist/theme/extension/configuration/resolve.js +98 -0
- package/dist/theme/extension/configuration/types.d.ts +68 -0
- package/dist/theme/extension/configuration/types.js +3 -0
- package/dist/theme/extension/configuration/validate.d.ts +8 -0
- package/dist/theme/extension/configuration/validate.js +21 -0
- package/dist/theme/extension/index.d.ts +11 -0
- package/dist/theme/extension/index.js +38 -0
- package/dist/theme/extension/manifest-normalize.d.ts +5 -0
- package/dist/theme/extension/manifest-normalize.js +75 -0
- package/dist/theme/extension/presets/twentytwentyfive-appearance.d.ts +10 -0
- package/dist/theme/extension/presets/twentytwentyfive-appearance.js +193 -0
- package/dist/theme/extension/preview.d.ts +46 -0
- package/dist/theme/extension/preview.js +92 -0
- package/dist/theme/extension/site-notices.d.ts +19 -0
- package/dist/theme/extension/site-notices.js +88 -0
- package/dist/theme/extension/site-settings.d.ts +37 -0
- package/dist/theme/extension/site-settings.js +144 -0
- package/dist/theme/extension/siteNav.d.ts +18 -0
- package/dist/theme/extension/siteNav.js +17 -0
- package/dist/theme/extension/theme-admin-locale.d.ts +11 -0
- package/dist/theme/extension/theme-admin-locale.io.d.ts +2 -0
- package/dist/theme/extension/theme-admin-locale.io.js +54 -0
- package/dist/theme/extension/theme-admin-locale.js +68 -0
- package/dist/theme/extension/theme.d.ts +89 -0
- package/dist/theme/extension/theme.js +93 -0
- package/dist/theme/extension/twentytwentyfive-vars.d.ts +9 -0
- package/dist/theme/extension/twentytwentyfive-vars.js +103 -0
- package/dist/theme/fetch.d.ts +134 -0
- package/dist/theme/fetch.js +241 -0
- package/dist/theme/format.d.ts +16 -0
- package/dist/theme/format.js +48 -0
- package/dist/theme/httpClient.d.ts +20 -0
- package/dist/theme/httpClient.js +89 -0
- package/dist/theme/index.d.ts +63 -0
- package/dist/theme/index.js +226 -0
- package/dist/theme/json.d.ts +1 -0
- package/dist/theme/json.js +17 -0
- package/dist/theme/jsonp.d.ts +8 -0
- package/dist/theme/jsonp.js +27 -0
- package/dist/theme/locale.d.ts +23 -0
- package/dist/theme/locale.js +55 -0
- package/dist/theme/nav.d.ts +10 -0
- package/dist/theme/nav.js +30 -0
- package/dist/theme/next-config.d.ts +2 -0
- package/dist/theme/next-config.js +18 -0
- package/dist/theme/node.d.ts +2 -0
- package/dist/theme/node.js +18 -0
- package/dist/theme/preview/preview-config.d.ts +13 -0
- package/dist/theme/preview/preview-config.js +65 -0
- package/dist/theme/preview/preview-draft.d.ts +19 -0
- package/dist/theme/preview/preview-draft.js +51 -0
- package/dist/theme/preview/preview-mods.d.ts +16 -0
- package/dist/theme/preview/preview-mods.js +78 -0
- package/dist/theme/preview-config.d.ts +13 -0
- package/dist/theme/preview-config.js +65 -0
- package/dist/theme/preview-draft.d.ts +19 -0
- package/dist/theme/preview-draft.js +51 -0
- package/dist/theme/preview-mods.d.ts +16 -0
- package/dist/theme/preview-mods.js +78 -0
- package/dist/theme/providers/index.d.ts +118 -0
- package/dist/theme/providers/index.js +251 -0
- package/dist/theme/providers/setup.d.ts +124 -0
- package/dist/theme/providers/setup.js +29 -0
- package/dist/theme/runtime.d.ts +18 -0
- package/dist/theme/runtime.js +19 -0
- package/dist/theme/seo.d.ts +6 -0
- package/dist/theme/seo.js +12 -0
- package/dist/theme/server.d.ts +65 -0
- package/dist/theme/server.js +177 -0
- package/dist/theme/setting.d.ts +12 -0
- package/dist/theme/setting.js +42 -0
- package/dist/theme/ssr/bootstrap.d.ts +48 -0
- package/dist/theme/ssr/bootstrap.js +112 -0
- package/dist/theme/ssr/fetch.d.ts +134 -0
- package/dist/theme/ssr/fetch.js +264 -0
- package/dist/theme/ssr/format.d.ts +3 -0
- package/dist/theme/ssr/format.js +8 -0
- package/dist/theme/ssr/pageProps.d.ts +62 -0
- package/dist/theme/ssr/pageProps.js +138 -0
- package/dist/theme/ssr/setting.d.ts +12 -0
- package/dist/theme/ssr/setting.js +42 -0
- package/dist/theme/ssr/slimBootstrap.d.ts +11 -0
- package/dist/theme/ssr/slimBootstrap.js +75 -0
- package/dist/theme/ssr/static.d.ts +10 -0
- package/dist/theme/ssr/static.js +17 -0
- package/dist/theme/ssr/templates.d.ts +35 -0
- package/dist/theme/ssr/templates.js +50 -0
- package/dist/theme/static.d.ts +10 -0
- package/dist/theme/static.js +17 -0
- package/dist/theme/templates.d.ts +27 -0
- package/dist/theme/templates.js +38 -0
- package/dist/theme/ui-optional.d.ts +1 -0
- package/dist/theme/ui-optional.js +21 -0
- package/dist/theme/visitor/appearance.d.ts +4 -0
- package/dist/theme/visitor/appearance.js +16 -0
- package/dist/theme/visitor/authSession.d.ts +16 -0
- package/dist/theme/visitor/authSession.js +92 -0
- package/dist/theme/visitor/colorMode.d.ts +17 -0
- package/dist/theme/visitor/colorMode.js +59 -0
- package/dist/theme/visitor/commentAuthor.d.ts +16 -0
- package/dist/theme/visitor/commentAuthor.js +45 -0
- package/dist/theme/visitor/i18n.d.ts +4 -0
- package/dist/theme/visitor/i18n.js +28 -0
- package/dist/theme/visitor/locale.d.ts +23 -0
- package/dist/theme/visitor/locale.js +72 -0
- package/dist/theme/visitor/runtime.d.ts +18 -0
- package/dist/theme/visitor/runtime.js +19 -0
- package/dist/theme/visitor/visitorLocale.d.ts +11 -0
- package/dist/theme/visitor/visitorLocale.js +56 -0
- package/dist/theme/visitorLocale.d.ts +6 -0
- package/dist/theme/visitorLocale.js +39 -0
- package/dist/types/index.d.ts +79 -68
- package/dist/ui/AntdStyleTransitionFix.d.ts +5 -0
- package/dist/ui/AntdStyleTransitionFix.js +16 -0
- package/dist/ui/ArchiveEmptyState.d.ts +13 -0
- package/dist/ui/ArchiveEmptyState.js +8 -0
- package/dist/ui/ArchivePageLayout.d.ts +10 -0
- package/dist/ui/ArchivePageLayout.js +8 -0
- package/dist/ui/ArticleCard.d.ts +27 -0
- package/dist/ui/ArticleCard.js +16 -0
- package/dist/ui/ArticleList.d.ts +14 -0
- package/dist/ui/ArticleList.js +16 -0
- package/dist/ui/BaseGlobalStyles.d.ts +5 -0
- package/dist/ui/BaseGlobalStyles.js +18 -0
- package/dist/ui/LocaleSwitcher.d.ts +7 -0
- package/dist/ui/LocaleSwitcher.js +15 -0
- package/dist/ui/NavMenu.d.ts +16 -0
- package/dist/ui/NavMenu.js +8 -0
- package/dist/ui/NotFoundPanel.d.ts +11 -0
- package/dist/ui/NotFoundPanel.js +8 -0
- package/dist/ui/PageHeader.d.ts +10 -0
- package/dist/ui/PageHeader.js +8 -0
- package/dist/ui/SiteBranding.d.ts +10 -0
- package/dist/ui/SiteBranding.js +14 -0
- package/dist/ui/SiteDocument.d.ts +20 -0
- package/dist/ui/SiteDocument.js +13 -0
- package/dist/ui/SiteDocumentFallback.d.ts +8 -0
- package/dist/ui/SiteDocumentFallback.js +9 -0
- package/dist/ui/SiteLogo.d.ts +6 -0
- package/dist/ui/SiteLogo.js +16 -0
- package/dist/ui/SiteTagline.d.ts +7 -0
- package/dist/ui/SiteTagline.js +15 -0
- package/dist/ui/TaxonomyList.d.ts +25 -0
- package/dist/ui/TaxonomyList.js +30 -0
- package/dist/ui/ThemeCssVars.d.ts +2 -0
- package/dist/ui/ThemeCssVars.js +85 -0
- package/dist/ui/ThemeLayout.d.ts +13 -0
- package/dist/ui/ThemeLayout.js +11 -0
- package/dist/ui/components/AntdStyleTransitionFix.d.ts +5 -0
- package/dist/ui/components/AntdStyleTransitionFix.js +16 -0
- package/dist/ui/components/ArchiveEmptyState.d.ts +13 -0
- package/dist/ui/components/ArchiveEmptyState.js +8 -0
- package/dist/ui/components/ArchivePageLayout.d.ts +10 -0
- package/dist/ui/components/ArchivePageLayout.js +8 -0
- package/dist/ui/components/ArticleCard.d.ts +27 -0
- package/dist/ui/components/ArticleCard.js +16 -0
- package/dist/ui/components/ArticleList.d.ts +14 -0
- package/dist/ui/components/ArticleList.js +16 -0
- package/dist/ui/components/BaseGlobalStyles.d.ts +6 -0
- package/dist/ui/components/BaseGlobalStyles.js +18 -0
- package/dist/ui/components/LocaleSwitcher.d.ts +10 -0
- package/dist/ui/components/LocaleSwitcher.js +11 -0
- package/dist/ui/components/NavMenu.d.ts +16 -0
- package/dist/ui/components/NavMenu.js +8 -0
- package/dist/ui/components/NotFoundPanel.d.ts +11 -0
- package/dist/ui/components/NotFoundPanel.js +8 -0
- package/dist/ui/components/PageHeader.d.ts +10 -0
- package/dist/ui/components/PageHeader.js +8 -0
- package/dist/ui/components/RouteProgress.d.ts +9 -0
- package/dist/ui/components/RouteProgress.js +40 -0
- package/dist/ui/components/SiteAnalytics.d.ts +5 -0
- package/dist/ui/components/SiteAnalytics.js +42 -0
- package/dist/ui/components/SiteBranding.d.ts +11 -0
- package/dist/ui/components/SiteBranding.js +14 -0
- package/dist/ui/components/SiteDocument.d.ts +20 -0
- package/dist/ui/components/SiteDocument.js +13 -0
- package/dist/ui/components/SiteDocumentFallback.d.ts +8 -0
- package/dist/ui/components/SiteDocumentFallback.js +9 -0
- package/dist/ui/components/SiteLogo.d.ts +9 -0
- package/dist/ui/components/SiteLogo.js +23 -0
- package/dist/ui/components/SiteSeo.d.ts +13 -0
- package/dist/ui/components/SiteSeo.js +19 -0
- package/dist/ui/components/SiteTagline.d.ts +8 -0
- package/dist/ui/components/SiteTagline.js +15 -0
- package/dist/ui/components/TaxonomyList.d.ts +25 -0
- package/dist/ui/components/TaxonomyList.js +30 -0
- package/dist/ui/components/ThemeCssVars.d.ts +3 -0
- package/dist/ui/components/ThemeCssVars.js +85 -0
- package/dist/ui/components/ThemeLayout.d.ts +13 -0
- package/dist/ui/components/ThemeLayout.js +11 -0
- package/dist/ui/components/content/ArticleReader.d.ts +45 -0
- package/dist/ui/components/content/ArticleReader.js +23 -0
- package/dist/ui/components/content/ArticleToc.d.ts +21 -0
- package/dist/ui/components/content/ArticleToc.js +75 -0
- package/dist/ui/components/content/HtmlContent.d.ts +16 -0
- package/dist/ui/components/content/HtmlContent.js +237 -0
- package/dist/ui/components/content/Image.d.ts +9 -0
- package/dist/ui/components/content/Image.js +13 -0
- package/dist/ui/components/content/ImageViewer.d.ts +8 -0
- package/dist/ui/components/content/ImageViewer.js +33 -0
- package/dist/ui/components/content/LocaleTime.d.ts +10 -0
- package/dist/ui/components/content/LocaleTime.js +63 -0
- package/dist/ui/components/content/index.d.ts +14 -0
- package/dist/ui/components/content/index.js +18 -0
- package/dist/ui/components/toolbar/LocaleToggleButton.d.ts +8 -0
- package/dist/ui/components/toolbar/LocaleToggleButton.js +18 -0
- package/dist/ui/components/toolbar/ThemeToggleButton.d.ts +7 -0
- package/dist/ui/components/toolbar/ThemeToggleButton.js +10 -0
- package/dist/ui/components/toolbar/ToolbarIconButton.d.ts +7 -0
- package/dist/ui/components/toolbar/ToolbarIconButton.js +22 -0
- package/dist/ui/components/toolbar/constants.d.ts +5 -0
- package/dist/ui/components/toolbar/constants.js +8 -0
- package/dist/ui/components/toolbar/icons.d.ts +17 -0
- package/dist/ui/components/toolbar/icons.js +44 -0
- package/dist/ui/components/toolbar/index.d.ts +9 -0
- package/dist/ui/components/toolbar/index.js +25 -0
- package/dist/ui/components/toolbar/locale-label.d.ts +3 -0
- package/dist/ui/components/toolbar/locale-label.js +19 -0
- package/dist/ui/context/LocaleContext.d.ts +15 -0
- package/dist/ui/context/LocaleContext.js +59 -0
- package/dist/ui/context/ReactPressProvider.d.ts +4 -0
- package/dist/ui/context/ReactPressProvider.js +10 -0
- package/dist/ui/context/SiteCatalogContext.d.ts +41 -0
- package/dist/ui/context/SiteCatalogContext.js +60 -0
- package/dist/ui/context/ThemeRuntimeContext.d.ts +21 -0
- package/dist/ui/context/ThemeRuntimeContext.js +59 -0
- package/dist/ui/context/index.d.ts +8 -0
- package/dist/ui/context/index.js +26 -0
- package/dist/ui/context/siteCatalogTypes.d.ts +64 -0
- package/dist/ui/context/siteCatalogTypes.js +20 -0
- package/dist/ui/context/types.d.ts +34 -0
- package/dist/ui/context/types.js +2 -0
- package/dist/ui/hooks/index.d.ts +12 -0
- package/dist/ui/hooks/index.js +29 -0
- package/dist/ui/hooks/useAsyncLoading.d.ts +4 -0
- package/dist/ui/hooks/useAsyncLoading.js +31 -0
- package/dist/ui/hooks/useForceUpdate.d.ts +2 -0
- package/dist/ui/hooks/useForceUpdate.js +11 -0
- package/dist/ui/hooks/useNavActive.d.ts +5 -0
- package/dist/ui/hooks/useNavActive.js +11 -0
- package/dist/ui/hooks/usePagination.d.ts +34 -0
- package/dist/ui/hooks/usePagination.js +55 -0
- package/dist/ui/hooks/useReportArticleView.d.ts +4 -0
- package/dist/ui/hooks/useReportArticleView.js +40 -0
- package/dist/ui/hooks/useReportPageView.d.ts +11 -0
- package/dist/ui/hooks/useReportPageView.js +28 -0
- package/dist/ui/hooks/useRouteParam.d.ts +5 -0
- package/dist/ui/hooks/useRouteParam.js +15 -0
- package/dist/ui/hooks/useToggle.d.ts +2 -0
- package/dist/ui/hooks/useToggle.js +17 -0
- package/dist/ui/hooks/useWarningOnExit.d.ts +5 -0
- package/dist/ui/hooks/useWarningOnExit.js +59 -0
- package/dist/ui/index.d.ts +43 -0
- package/dist/ui/index.js +87 -0
- package/dist/utils/api-envelope.d.ts +14 -0
- package/dist/utils/api-envelope.js +31 -0
- package/dist/utils/clipboard.d.ts +2 -0
- package/dist/utils/clipboard.js +24 -0
- package/dist/utils/cookie.d.ts +2 -0
- package/dist/utils/cookie.js +15 -0
- package/dist/utils/date.d.ts +4 -0
- package/dist/utils/date.js +45 -0
- package/dist/utils/email.d.ts +3 -0
- package/dist/utils/email.js +9 -0
- package/dist/utils/error.d.ts +7 -0
- package/dist/utils/error.js +26 -0
- package/dist/utils/image.d.ts +7 -0
- package/dist/utils/image.js +34 -0
- package/dist/utils/index.d.ts +15 -33
- package/dist/utils/index.js +37 -57
- package/dist/utils/json.d.ts +2 -0
- package/dist/utils/json.js +18 -0
- package/dist/utils/jsonp.d.ts +8 -0
- package/dist/utils/jsonp.js +27 -0
- package/dist/utils/object.d.ts +7 -0
- package/dist/utils/object.js +63 -0
- package/dist/utils/setting.d.ts +12 -0
- package/dist/utils/setting.js +13 -0
- package/dist/utils/string.d.ts +4 -0
- package/dist/utils/string.js +15 -0
- package/dist/utils/viewport.d.ts +3 -0
- package/dist/utils/viewport.js +14 -0
- package/package.json +141 -12
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useReportArticleView = useReportArticleView;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const api_envelope_1 = require("../../utils/api-envelope");
|
|
6
|
+
const api_1 = require("../../theme/api/api");
|
|
7
|
+
/**
|
|
8
|
+
* Report article view on mount and return the latest view count for display.
|
|
9
|
+
*/
|
|
10
|
+
function useReportArticleView(articleId, initialViews) {
|
|
11
|
+
const [views, setViews] = (0, react_1.useState)(initialViews);
|
|
12
|
+
(0, react_1.useEffect)(() => {
|
|
13
|
+
setViews(initialViews);
|
|
14
|
+
}, [articleId, initialViews]);
|
|
15
|
+
(0, react_1.useEffect)(() => {
|
|
16
|
+
if (!articleId)
|
|
17
|
+
return undefined;
|
|
18
|
+
let cancelled = false;
|
|
19
|
+
api_1.themeApi.article
|
|
20
|
+
.updateViewsById(articleId)
|
|
21
|
+
.then((res) => {
|
|
22
|
+
if (cancelled)
|
|
23
|
+
return;
|
|
24
|
+
const updated = (0, api_envelope_1.unpackOne)(res);
|
|
25
|
+
if (typeof updated?.views === 'number') {
|
|
26
|
+
setViews(updated.views);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
setViews((prev) => (typeof prev === 'number' ? prev + 1 : 1));
|
|
30
|
+
}
|
|
31
|
+
})
|
|
32
|
+
.catch((error) => {
|
|
33
|
+
console.error('[reactpress] report article view failed', error);
|
|
34
|
+
});
|
|
35
|
+
return () => {
|
|
36
|
+
cancelled = true;
|
|
37
|
+
};
|
|
38
|
+
}, [articleId]);
|
|
39
|
+
return views;
|
|
40
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface UseReportPageViewOptions {
|
|
2
|
+
/** Report on every render when URL changes; default uses current `window.location.href`. */
|
|
3
|
+
url?: string;
|
|
4
|
+
/** Skip localhost / 127.0.0.1 (default true). */
|
|
5
|
+
skipLocalhost?: boolean;
|
|
6
|
+
enabled?: boolean;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* POST a page view once per distinct URL (browser only). Pair with layout shell or `_app`.
|
|
10
|
+
*/
|
|
11
|
+
export declare function useReportPageView(options?: UseReportPageViewOptions): void;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useReportPageView = useReportPageView;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const api_1 = require("../../theme/api/api");
|
|
6
|
+
/**
|
|
7
|
+
* POST a page view once per distinct URL (browser only). Pair with layout shell or `_app`.
|
|
8
|
+
*/
|
|
9
|
+
function useReportPageView(options = {}) {
|
|
10
|
+
const { url, skipLocalhost = true, enabled = true } = options;
|
|
11
|
+
const lastUrl = (0, react_1.useRef)(undefined);
|
|
12
|
+
(0, react_1.useEffect)(() => {
|
|
13
|
+
if (!enabled || typeof window === 'undefined')
|
|
14
|
+
return undefined;
|
|
15
|
+
const target = url ?? window.location.href;
|
|
16
|
+
if (skipLocalhost && /localhost|127\.0\.0\.1/.test(target))
|
|
17
|
+
return undefined;
|
|
18
|
+
if (lastUrl.current === target)
|
|
19
|
+
return undefined;
|
|
20
|
+
lastUrl.current = target;
|
|
21
|
+
api_1.themeApi.view
|
|
22
|
+
.create({ body: { url: target } })
|
|
23
|
+
.catch((error) => {
|
|
24
|
+
console.error('[reactpress] report page view failed', error);
|
|
25
|
+
});
|
|
26
|
+
return undefined;
|
|
27
|
+
});
|
|
28
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useRouteParam = useRouteParam;
|
|
4
|
+
const router_1 = require("next/router");
|
|
5
|
+
/**
|
|
6
|
+
* Resolve a dynamic route param during ISR fallback.
|
|
7
|
+
* Prefers the value from `getStaticProps`, then falls back to `router.query`.
|
|
8
|
+
*/
|
|
9
|
+
function useRouteParam(propValue, paramName) {
|
|
10
|
+
const router = (0, router_1.useRouter)();
|
|
11
|
+
if (propValue)
|
|
12
|
+
return propValue;
|
|
13
|
+
const queryValue = router.query[paramName];
|
|
14
|
+
return typeof queryValue === 'string' ? queryValue : '';
|
|
15
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useToggle = useToggle;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
/** Boolean state with `toggle(next?)` — pass a boolean to set explicitly, or omit to flip. */
|
|
6
|
+
function useToggle(initialValue) {
|
|
7
|
+
const [value, setValue] = (0, react_1.useState)(initialValue);
|
|
8
|
+
const toggle = (0, react_1.useCallback)((arg = null) => {
|
|
9
|
+
if (arg !== null && typeof arg === 'boolean') {
|
|
10
|
+
setValue(arg);
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
setValue((v) => !v);
|
|
14
|
+
}
|
|
15
|
+
}, []);
|
|
16
|
+
return [value, toggle];
|
|
17
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
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.useWarningOnExit = useWarningOnExit;
|
|
7
|
+
const router_1 = __importDefault(require("next/router"));
|
|
8
|
+
const react_1 = require("react");
|
|
9
|
+
/**
|
|
10
|
+
* Confirm before leaving the page (browser refresh/close or Next.js route change).
|
|
11
|
+
* `warn` should return `true` to allow navigation, `false` to cancel.
|
|
12
|
+
*/
|
|
13
|
+
function useWarningOnExit(shouldWarn, warn = () => true) {
|
|
14
|
+
(0, react_1.useEffect)(() => {
|
|
15
|
+
let isWarned = false;
|
|
16
|
+
const routeChangeStart = (url) => {
|
|
17
|
+
if (router_1.default.asPath !== url && shouldWarn && !isWarned) {
|
|
18
|
+
isWarned = true;
|
|
19
|
+
if (warn()) {
|
|
20
|
+
router_1.default.push(url);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
isWarned = false;
|
|
24
|
+
router_1.default.events.emit('routeChangeError');
|
|
25
|
+
router_1.default.replace(router_1.default, router_1.default.asPath, { shallow: true });
|
|
26
|
+
throw 'Abort route change. Please ignore this error.';
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
const beforeUnload = (e) => {
|
|
31
|
+
if (shouldWarn && !isWarned) {
|
|
32
|
+
const event = e || window.event;
|
|
33
|
+
event.returnValue = 'Abort route change. Please ignore this error.';
|
|
34
|
+
return 'Abort route change. Please ignore this error.';
|
|
35
|
+
}
|
|
36
|
+
return null;
|
|
37
|
+
};
|
|
38
|
+
router_1.default.events.on('routeChangeStart', routeChangeStart);
|
|
39
|
+
window.addEventListener('beforeunload', beforeUnload);
|
|
40
|
+
router_1.default.beforePopState(({ url }) => {
|
|
41
|
+
if (router_1.default.asPath !== url && shouldWarn && !isWarned) {
|
|
42
|
+
isWarned = true;
|
|
43
|
+
if (warn()) {
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
isWarned = false;
|
|
47
|
+
window.history.pushState(null, '', url);
|
|
48
|
+
router_1.default.replace(router_1.default, router_1.default.asPath, { shallow: true });
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
return true;
|
|
52
|
+
});
|
|
53
|
+
return () => {
|
|
54
|
+
router_1.default.events.off('routeChangeStart', routeChangeStart);
|
|
55
|
+
window.removeEventListener('beforeunload', beforeUnload);
|
|
56
|
+
router_1.default.beforePopState(() => true);
|
|
57
|
+
};
|
|
58
|
+
}, [warn, shouldWarn]);
|
|
59
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export type { ArchiveEmptyStateProps } from './components/ArchiveEmptyState';
|
|
2
|
+
export { ArchiveEmptyState } from './components/ArchiveEmptyState';
|
|
3
|
+
export type { ArchivePageLayoutProps } from './components/ArchivePageLayout';
|
|
4
|
+
export { ArchivePageLayout } from './components/ArchivePageLayout';
|
|
5
|
+
export type { ArticleCardArticle, ArticleCardLinkProps, ArticleCardProps } from './components/ArticleCard';
|
|
6
|
+
export { ArticleCard } from './components/ArticleCard';
|
|
7
|
+
export type { ArticleListProps } from './components/ArticleList';
|
|
8
|
+
export { ArticleList } from './components/ArticleList';
|
|
9
|
+
export type { BaseGlobalStylesProps } from './components/BaseGlobalStyles';
|
|
10
|
+
export { BaseGlobalStyles } from './components/BaseGlobalStyles';
|
|
11
|
+
export type { LocaleContextValue, LocaleProviderProps, ReactPressProviderProps, ThemeRuntimeContextValue, ThemeRuntimeProviderProps, SiteCatalogContextValue, SiteCatalogSiteConfig, SiteConfigNav, } from './context';
|
|
12
|
+
export { LocaleProvider, ReactPressProvider, readPersistedLocale, SiteCatalogContext, SiteCatalogProvider, ThemeRuntimeProvider, useColorMode, useSiteCatalog, useSiteConfig, useSiteSetting, useSiteUser, useActiveThemeId, useIsThemePreview, useLocale, useSiteMeta, useThemeId, useThemeMod, useThemeModBool, useThemeRuntime, } from './context';
|
|
13
|
+
export { useAsyncLoading, useForceUpdate, useNavActive, usePagination, useReportArticleView, useReportPageView, useRouteParam, useToggle, useWarningOnExit, } from './hooks';
|
|
14
|
+
export type { PaginatedFetch, UsePaginationOptions, UsePaginationResult, UseReportPageViewOptions, } from './hooks';
|
|
15
|
+
export type { LocaleSwitcherProps } from './components/LocaleSwitcher';
|
|
16
|
+
export { LocaleSwitcher } from './components/LocaleSwitcher';
|
|
17
|
+
export type { LocaleToggleButtonProps, ThemeToggleButtonProps, ToolbarIconButtonProps, } from './components/toolbar';
|
|
18
|
+
export { LanguagesIcon, LocaleActiveIcon, LocaleEnToggleIcon, LocaleToggleButton, LocaleZhToggleIcon, localeToggleLabel, MoonIcon, nextLocale, SearchIcon, RP_TOOLBAR_BTN_CLASS, SunIcon, ThemeToggleButton, TOOLBAR_ICON_SIZE, ToolbarIconButton, } from './components/toolbar';
|
|
19
|
+
export type { NavMenuProps, NavMenuRenderLinkProps } from './components/NavMenu';
|
|
20
|
+
export { NavMenu } from './components/NavMenu';
|
|
21
|
+
export type { NotFoundPanelProps } from './components/NotFoundPanel';
|
|
22
|
+
export { NotFoundPanel } from './components/NotFoundPanel';
|
|
23
|
+
export type { PageHeaderProps } from './components/PageHeader';
|
|
24
|
+
export { PageHeader } from './components/PageHeader';
|
|
25
|
+
export type { SiteBrandingProps } from './components/SiteBranding';
|
|
26
|
+
export { SiteBranding } from './components/SiteBranding';
|
|
27
|
+
export type { SiteDocumentProps } from './components/SiteDocument';
|
|
28
|
+
export { SiteDocument } from './components/SiteDocument';
|
|
29
|
+
export type { SiteDocumentFallbackProps } from './components/SiteDocumentFallback';
|
|
30
|
+
export { SiteDocumentFallback } from './components/SiteDocumentFallback';
|
|
31
|
+
export type { SiteLogoProps } from './components/SiteLogo';
|
|
32
|
+
export { SiteLogo } from './components/SiteLogo';
|
|
33
|
+
export type { SiteTaglineProps } from './components/SiteTagline';
|
|
34
|
+
export { SiteTagline } from './components/SiteTagline';
|
|
35
|
+
export type { TaxonomyItem, TaxonomyListProps, TaxonomyListRenderLinkProps, TaxonomyListVariant, } from './components/TaxonomyList';
|
|
36
|
+
export { TaxonomyList } from './components/TaxonomyList';
|
|
37
|
+
export { ThemeCssVars } from './components/ThemeCssVars';
|
|
38
|
+
export type { ThemeLayoutProps } from './components/ThemeLayout';
|
|
39
|
+
export { ThemeLayout } from './components/ThemeLayout';
|
|
40
|
+
export type { SiteAnalyticsProps } from './components/SiteAnalytics';
|
|
41
|
+
export { SiteAnalytics } from './components/SiteAnalytics';
|
|
42
|
+
export type { SiteSeoProps } from './components/SiteSeo';
|
|
43
|
+
export { SiteSeo } from './components/SiteSeo';
|
package/dist/ui/index.js
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NotFoundPanel = exports.NavMenu = exports.ToolbarIconButton = exports.TOOLBAR_ICON_SIZE = exports.ThemeToggleButton = exports.SunIcon = exports.RP_TOOLBAR_BTN_CLASS = exports.SearchIcon = exports.nextLocale = exports.MoonIcon = exports.localeToggleLabel = exports.LocaleZhToggleIcon = exports.LocaleToggleButton = exports.LocaleEnToggleIcon = exports.LocaleActiveIcon = exports.LanguagesIcon = exports.LocaleSwitcher = exports.useWarningOnExit = exports.useToggle = exports.useRouteParam = exports.useReportPageView = exports.useReportArticleView = exports.usePagination = exports.useNavActive = exports.useForceUpdate = exports.useAsyncLoading = exports.useThemeRuntime = exports.useThemeModBool = exports.useThemeMod = exports.useThemeId = exports.useSiteMeta = exports.useLocale = exports.useIsThemePreview = exports.useActiveThemeId = exports.useSiteUser = exports.useSiteSetting = exports.useSiteConfig = exports.useSiteCatalog = exports.useColorMode = exports.ThemeRuntimeProvider = exports.SiteCatalogProvider = exports.SiteCatalogContext = exports.readPersistedLocale = exports.ReactPressProvider = exports.LocaleProvider = exports.BaseGlobalStyles = exports.ArticleList = exports.ArticleCard = exports.ArchivePageLayout = exports.ArchiveEmptyState = void 0;
|
|
4
|
+
exports.SiteSeo = exports.SiteAnalytics = exports.ThemeLayout = exports.ThemeCssVars = exports.TaxonomyList = exports.SiteTagline = exports.SiteLogo = exports.SiteDocumentFallback = exports.SiteDocument = exports.SiteBranding = exports.PageHeader = void 0;
|
|
5
|
+
var ArchiveEmptyState_1 = require("./components/ArchiveEmptyState");
|
|
6
|
+
Object.defineProperty(exports, "ArchiveEmptyState", { enumerable: true, get: function () { return ArchiveEmptyState_1.ArchiveEmptyState; } });
|
|
7
|
+
var ArchivePageLayout_1 = require("./components/ArchivePageLayout");
|
|
8
|
+
Object.defineProperty(exports, "ArchivePageLayout", { enumerable: true, get: function () { return ArchivePageLayout_1.ArchivePageLayout; } });
|
|
9
|
+
var ArticleCard_1 = require("./components/ArticleCard");
|
|
10
|
+
Object.defineProperty(exports, "ArticleCard", { enumerable: true, get: function () { return ArticleCard_1.ArticleCard; } });
|
|
11
|
+
var ArticleList_1 = require("./components/ArticleList");
|
|
12
|
+
Object.defineProperty(exports, "ArticleList", { enumerable: true, get: function () { return ArticleList_1.ArticleList; } });
|
|
13
|
+
var BaseGlobalStyles_1 = require("./components/BaseGlobalStyles");
|
|
14
|
+
Object.defineProperty(exports, "BaseGlobalStyles", { enumerable: true, get: function () { return BaseGlobalStyles_1.BaseGlobalStyles; } });
|
|
15
|
+
var context_1 = require("./context");
|
|
16
|
+
Object.defineProperty(exports, "LocaleProvider", { enumerable: true, get: function () { return context_1.LocaleProvider; } });
|
|
17
|
+
Object.defineProperty(exports, "ReactPressProvider", { enumerable: true, get: function () { return context_1.ReactPressProvider; } });
|
|
18
|
+
Object.defineProperty(exports, "readPersistedLocale", { enumerable: true, get: function () { return context_1.readPersistedLocale; } });
|
|
19
|
+
Object.defineProperty(exports, "SiteCatalogContext", { enumerable: true, get: function () { return context_1.SiteCatalogContext; } });
|
|
20
|
+
Object.defineProperty(exports, "SiteCatalogProvider", { enumerable: true, get: function () { return context_1.SiteCatalogProvider; } });
|
|
21
|
+
Object.defineProperty(exports, "ThemeRuntimeProvider", { enumerable: true, get: function () { return context_1.ThemeRuntimeProvider; } });
|
|
22
|
+
Object.defineProperty(exports, "useColorMode", { enumerable: true, get: function () { return context_1.useColorMode; } });
|
|
23
|
+
Object.defineProperty(exports, "useSiteCatalog", { enumerable: true, get: function () { return context_1.useSiteCatalog; } });
|
|
24
|
+
Object.defineProperty(exports, "useSiteConfig", { enumerable: true, get: function () { return context_1.useSiteConfig; } });
|
|
25
|
+
Object.defineProperty(exports, "useSiteSetting", { enumerable: true, get: function () { return context_1.useSiteSetting; } });
|
|
26
|
+
Object.defineProperty(exports, "useSiteUser", { enumerable: true, get: function () { return context_1.useSiteUser; } });
|
|
27
|
+
Object.defineProperty(exports, "useActiveThemeId", { enumerable: true, get: function () { return context_1.useActiveThemeId; } });
|
|
28
|
+
Object.defineProperty(exports, "useIsThemePreview", { enumerable: true, get: function () { return context_1.useIsThemePreview; } });
|
|
29
|
+
Object.defineProperty(exports, "useLocale", { enumerable: true, get: function () { return context_1.useLocale; } });
|
|
30
|
+
Object.defineProperty(exports, "useSiteMeta", { enumerable: true, get: function () { return context_1.useSiteMeta; } });
|
|
31
|
+
Object.defineProperty(exports, "useThemeId", { enumerable: true, get: function () { return context_1.useThemeId; } });
|
|
32
|
+
Object.defineProperty(exports, "useThemeMod", { enumerable: true, get: function () { return context_1.useThemeMod; } });
|
|
33
|
+
Object.defineProperty(exports, "useThemeModBool", { enumerable: true, get: function () { return context_1.useThemeModBool; } });
|
|
34
|
+
Object.defineProperty(exports, "useThemeRuntime", { enumerable: true, get: function () { return context_1.useThemeRuntime; } });
|
|
35
|
+
var hooks_1 = require("./hooks");
|
|
36
|
+
Object.defineProperty(exports, "useAsyncLoading", { enumerable: true, get: function () { return hooks_1.useAsyncLoading; } });
|
|
37
|
+
Object.defineProperty(exports, "useForceUpdate", { enumerable: true, get: function () { return hooks_1.useForceUpdate; } });
|
|
38
|
+
Object.defineProperty(exports, "useNavActive", { enumerable: true, get: function () { return hooks_1.useNavActive; } });
|
|
39
|
+
Object.defineProperty(exports, "usePagination", { enumerable: true, get: function () { return hooks_1.usePagination; } });
|
|
40
|
+
Object.defineProperty(exports, "useReportArticleView", { enumerable: true, get: function () { return hooks_1.useReportArticleView; } });
|
|
41
|
+
Object.defineProperty(exports, "useReportPageView", { enumerable: true, get: function () { return hooks_1.useReportPageView; } });
|
|
42
|
+
Object.defineProperty(exports, "useRouteParam", { enumerable: true, get: function () { return hooks_1.useRouteParam; } });
|
|
43
|
+
Object.defineProperty(exports, "useToggle", { enumerable: true, get: function () { return hooks_1.useToggle; } });
|
|
44
|
+
Object.defineProperty(exports, "useWarningOnExit", { enumerable: true, get: function () { return hooks_1.useWarningOnExit; } });
|
|
45
|
+
var LocaleSwitcher_1 = require("./components/LocaleSwitcher");
|
|
46
|
+
Object.defineProperty(exports, "LocaleSwitcher", { enumerable: true, get: function () { return LocaleSwitcher_1.LocaleSwitcher; } });
|
|
47
|
+
var toolbar_1 = require("./components/toolbar");
|
|
48
|
+
Object.defineProperty(exports, "LanguagesIcon", { enumerable: true, get: function () { return toolbar_1.LanguagesIcon; } });
|
|
49
|
+
Object.defineProperty(exports, "LocaleActiveIcon", { enumerable: true, get: function () { return toolbar_1.LocaleActiveIcon; } });
|
|
50
|
+
Object.defineProperty(exports, "LocaleEnToggleIcon", { enumerable: true, get: function () { return toolbar_1.LocaleEnToggleIcon; } });
|
|
51
|
+
Object.defineProperty(exports, "LocaleToggleButton", { enumerable: true, get: function () { return toolbar_1.LocaleToggleButton; } });
|
|
52
|
+
Object.defineProperty(exports, "LocaleZhToggleIcon", { enumerable: true, get: function () { return toolbar_1.LocaleZhToggleIcon; } });
|
|
53
|
+
Object.defineProperty(exports, "localeToggleLabel", { enumerable: true, get: function () { return toolbar_1.localeToggleLabel; } });
|
|
54
|
+
Object.defineProperty(exports, "MoonIcon", { enumerable: true, get: function () { return toolbar_1.MoonIcon; } });
|
|
55
|
+
Object.defineProperty(exports, "nextLocale", { enumerable: true, get: function () { return toolbar_1.nextLocale; } });
|
|
56
|
+
Object.defineProperty(exports, "SearchIcon", { enumerable: true, get: function () { return toolbar_1.SearchIcon; } });
|
|
57
|
+
Object.defineProperty(exports, "RP_TOOLBAR_BTN_CLASS", { enumerable: true, get: function () { return toolbar_1.RP_TOOLBAR_BTN_CLASS; } });
|
|
58
|
+
Object.defineProperty(exports, "SunIcon", { enumerable: true, get: function () { return toolbar_1.SunIcon; } });
|
|
59
|
+
Object.defineProperty(exports, "ThemeToggleButton", { enumerable: true, get: function () { return toolbar_1.ThemeToggleButton; } });
|
|
60
|
+
Object.defineProperty(exports, "TOOLBAR_ICON_SIZE", { enumerable: true, get: function () { return toolbar_1.TOOLBAR_ICON_SIZE; } });
|
|
61
|
+
Object.defineProperty(exports, "ToolbarIconButton", { enumerable: true, get: function () { return toolbar_1.ToolbarIconButton; } });
|
|
62
|
+
var NavMenu_1 = require("./components/NavMenu");
|
|
63
|
+
Object.defineProperty(exports, "NavMenu", { enumerable: true, get: function () { return NavMenu_1.NavMenu; } });
|
|
64
|
+
var NotFoundPanel_1 = require("./components/NotFoundPanel");
|
|
65
|
+
Object.defineProperty(exports, "NotFoundPanel", { enumerable: true, get: function () { return NotFoundPanel_1.NotFoundPanel; } });
|
|
66
|
+
var PageHeader_1 = require("./components/PageHeader");
|
|
67
|
+
Object.defineProperty(exports, "PageHeader", { enumerable: true, get: function () { return PageHeader_1.PageHeader; } });
|
|
68
|
+
var SiteBranding_1 = require("./components/SiteBranding");
|
|
69
|
+
Object.defineProperty(exports, "SiteBranding", { enumerable: true, get: function () { return SiteBranding_1.SiteBranding; } });
|
|
70
|
+
var SiteDocument_1 = require("./components/SiteDocument");
|
|
71
|
+
Object.defineProperty(exports, "SiteDocument", { enumerable: true, get: function () { return SiteDocument_1.SiteDocument; } });
|
|
72
|
+
var SiteDocumentFallback_1 = require("./components/SiteDocumentFallback");
|
|
73
|
+
Object.defineProperty(exports, "SiteDocumentFallback", { enumerable: true, get: function () { return SiteDocumentFallback_1.SiteDocumentFallback; } });
|
|
74
|
+
var SiteLogo_1 = require("./components/SiteLogo");
|
|
75
|
+
Object.defineProperty(exports, "SiteLogo", { enumerable: true, get: function () { return SiteLogo_1.SiteLogo; } });
|
|
76
|
+
var SiteTagline_1 = require("./components/SiteTagline");
|
|
77
|
+
Object.defineProperty(exports, "SiteTagline", { enumerable: true, get: function () { return SiteTagline_1.SiteTagline; } });
|
|
78
|
+
var TaxonomyList_1 = require("./components/TaxonomyList");
|
|
79
|
+
Object.defineProperty(exports, "TaxonomyList", { enumerable: true, get: function () { return TaxonomyList_1.TaxonomyList; } });
|
|
80
|
+
var ThemeCssVars_1 = require("./components/ThemeCssVars");
|
|
81
|
+
Object.defineProperty(exports, "ThemeCssVars", { enumerable: true, get: function () { return ThemeCssVars_1.ThemeCssVars; } });
|
|
82
|
+
var ThemeLayout_1 = require("./components/ThemeLayout");
|
|
83
|
+
Object.defineProperty(exports, "ThemeLayout", { enumerable: true, get: function () { return ThemeLayout_1.ThemeLayout; } });
|
|
84
|
+
var SiteAnalytics_1 = require("./components/SiteAnalytics");
|
|
85
|
+
Object.defineProperty(exports, "SiteAnalytics", { enumerable: true, get: function () { return SiteAnalytics_1.SiteAnalytics; } });
|
|
86
|
+
var SiteSeo_1 = require("./components/SiteSeo");
|
|
87
|
+
Object.defineProperty(exports, "SiteSeo", { enumerable: true, get: function () { return SiteSeo_1.SiteSeo; } });
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Nest TransformInterceptor body (axios already returns this as `response.data`). */
|
|
2
|
+
export interface ApiEnvelope<T = unknown> {
|
|
3
|
+
statusCode?: number;
|
|
4
|
+
msg?: string | null;
|
|
5
|
+
success?: boolean;
|
|
6
|
+
data?: T;
|
|
7
|
+
}
|
|
8
|
+
/** Paginated endpoints: `data` is `[items, total]`. */
|
|
9
|
+
export declare function unpackPaginated<T>(res: ApiEnvelope<[T[], number]> | null | undefined): T[];
|
|
10
|
+
/** Paginated endpoints — returns `[items, total]`. */
|
|
11
|
+
export declare function unpackPaginatedPair<T>(res: ApiEnvelope<[T[], number]> | null | undefined): [T[], number];
|
|
12
|
+
/** List or single entity wrapped in `data`. */
|
|
13
|
+
export declare function unpackList<T>(res: ApiEnvelope<T[]> | null | undefined): T[];
|
|
14
|
+
export declare function unpackOne<T>(res: ApiEnvelope<T> | null | undefined): T | null;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.unpackPaginated = unpackPaginated;
|
|
4
|
+
exports.unpackPaginatedPair = unpackPaginatedPair;
|
|
5
|
+
exports.unpackList = unpackList;
|
|
6
|
+
exports.unpackOne = unpackOne;
|
|
7
|
+
/** Paginated endpoints: `data` is `[items, total]`. */
|
|
8
|
+
function unpackPaginated(res) {
|
|
9
|
+
const payload = res?.data;
|
|
10
|
+
if (Array.isArray(payload) && Array.isArray(payload[0])) {
|
|
11
|
+
return payload[0];
|
|
12
|
+
}
|
|
13
|
+
return [];
|
|
14
|
+
}
|
|
15
|
+
/** Paginated endpoints — returns `[items, total]`. */
|
|
16
|
+
function unpackPaginatedPair(res) {
|
|
17
|
+
const payload = res?.data;
|
|
18
|
+
if (Array.isArray(payload) && Array.isArray(payload[0])) {
|
|
19
|
+
return [payload[0], typeof payload[1] === 'number' ? payload[1] : payload[0].length];
|
|
20
|
+
}
|
|
21
|
+
return [[], 0];
|
|
22
|
+
}
|
|
23
|
+
/** List or single entity wrapped in `data`. */
|
|
24
|
+
function unpackList(res) {
|
|
25
|
+
const data = res?.data;
|
|
26
|
+
return Array.isArray(data) ? data : [];
|
|
27
|
+
}
|
|
28
|
+
function unpackOne(res) {
|
|
29
|
+
const data = res?.data;
|
|
30
|
+
return data != null ? data : null;
|
|
31
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.copyToClipboard = copyToClipboard;
|
|
4
|
+
/** Copy text to clipboard; returns whether the operation succeeded. */
|
|
5
|
+
function copyToClipboard(text) {
|
|
6
|
+
if (typeof navigator !== 'undefined' && navigator.clipboard?.writeText) {
|
|
7
|
+
void navigator.clipboard.writeText(text);
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
try {
|
|
11
|
+
const textarea = document.createElement('textarea');
|
|
12
|
+
textarea.value = text;
|
|
13
|
+
textarea.style.position = 'fixed';
|
|
14
|
+
textarea.style.opacity = '0';
|
|
15
|
+
document.body.appendChild(textarea);
|
|
16
|
+
textarea.select();
|
|
17
|
+
const ok = document.execCommand('copy');
|
|
18
|
+
document.body.removeChild(textarea);
|
|
19
|
+
return ok;
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.readRequestCookie = readRequestCookie;
|
|
4
|
+
function readRequestCookie(req, name) {
|
|
5
|
+
const header = req?.headers?.cookie ?? '';
|
|
6
|
+
const match = new RegExp(`(?:^|;\\s*)${name}=([^;]*)`).exec(header);
|
|
7
|
+
if (!match?.[1])
|
|
8
|
+
return undefined;
|
|
9
|
+
try {
|
|
10
|
+
return decodeURIComponent(match[1]);
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return match[1];
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function formatDate(date: Date, format?: string): string;
|
|
2
|
+
/** Format article `publishAt` for templates (SSR-safe). */
|
|
3
|
+
export declare function formatPublishDate(value: string | Date | null | undefined, options?: Intl.DateTimeFormatOptions, locale?: string): string;
|
|
4
|
+
export declare function formatPublishDateShort(value: string | Date | null | undefined): string;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatDate = formatDate;
|
|
4
|
+
exports.formatPublishDate = formatPublishDate;
|
|
5
|
+
exports.formatPublishDateShort = formatPublishDateShort;
|
|
6
|
+
function formatDate(date, format = 'YYYY-MM-DD') {
|
|
7
|
+
const year = date.getFullYear();
|
|
8
|
+
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
9
|
+
const day = String(date.getDate()).padStart(2, '0');
|
|
10
|
+
return format
|
|
11
|
+
.replace('YYYY', String(year))
|
|
12
|
+
.replace('MM', month)
|
|
13
|
+
.replace('DD', day);
|
|
14
|
+
}
|
|
15
|
+
/** Format article `publishAt` for templates (SSR-safe). */
|
|
16
|
+
function formatPublishDate(value, options = {
|
|
17
|
+
year: 'numeric',
|
|
18
|
+
month: 'long',
|
|
19
|
+
day: 'numeric',
|
|
20
|
+
}, locale = 'en-US') {
|
|
21
|
+
if (value == null || value === '')
|
|
22
|
+
return '';
|
|
23
|
+
try {
|
|
24
|
+
const date = value instanceof Date ? value : new Date(value);
|
|
25
|
+
if (Number.isNaN(date.getTime()))
|
|
26
|
+
return '';
|
|
27
|
+
return date.toLocaleDateString(locale, options);
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return '';
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function formatPublishDateShort(value) {
|
|
34
|
+
if (value == null || value === '')
|
|
35
|
+
return '';
|
|
36
|
+
try {
|
|
37
|
+
const date = value instanceof Date ? value : new Date(value);
|
|
38
|
+
if (Number.isNaN(date.getTime()))
|
|
39
|
+
return '';
|
|
40
|
+
return formatDate(date, 'YYYY-MM-DD');
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return '';
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.COMMENT_EMAIL_REGEXP = void 0;
|
|
4
|
+
exports.isValidCommentEmail = isValidCommentEmail;
|
|
5
|
+
/** Permissive enough for common guest comment emails (qq/163/gmail, subdomains). */
|
|
6
|
+
exports.COMMENT_EMAIL_REGEXP = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
7
|
+
function isValidCommentEmail(email) {
|
|
8
|
+
return Boolean(email?.trim() && exports.COMMENT_EMAIL_REGEXP.test(email.trim()));
|
|
9
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare function isApiError(error: unknown): boolean;
|
|
2
|
+
export declare class ApiError extends Error {
|
|
3
|
+
code: number;
|
|
4
|
+
details: unknown;
|
|
5
|
+
constructor(message: string, code?: number, details?: unknown);
|
|
6
|
+
static isInstance(error: unknown): error is ApiError;
|
|
7
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ApiError = void 0;
|
|
4
|
+
exports.isApiError = isApiError;
|
|
5
|
+
function isApiError(error) {
|
|
6
|
+
return Boolean(error &&
|
|
7
|
+
typeof error === 'object' &&
|
|
8
|
+
'response' in error &&
|
|
9
|
+
error.response?.data);
|
|
10
|
+
}
|
|
11
|
+
class ApiError extends Error {
|
|
12
|
+
constructor(message, code = 500, details = null) {
|
|
13
|
+
super(message);
|
|
14
|
+
this.name = 'ApiError';
|
|
15
|
+
this.code = code;
|
|
16
|
+
this.details = details;
|
|
17
|
+
}
|
|
18
|
+
static isInstance(error) {
|
|
19
|
+
return (error instanceof ApiError ||
|
|
20
|
+
Boolean(error &&
|
|
21
|
+
typeof error === 'object' &&
|
|
22
|
+
error.name === 'ApiError' &&
|
|
23
|
+
error.code !== undefined));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.ApiError = ApiError;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type ImageVariant = 'large' | 'medium' | 'thumb' | 'avatar';
|
|
2
|
+
/**
|
|
3
|
+
* 根据展示场景解析图片 URL。
|
|
4
|
+
* 上传后的 WebP 资源会按 `_medium` / `_thumb` / `_avatar` 后缀生成多尺寸版本;
|
|
5
|
+
* 非 WebP 或无法识别的 URL 将原样返回,兼容历史数据。
|
|
6
|
+
*/
|
|
7
|
+
export declare function resolveImageUrl(url: string | null | undefined, variant?: ImageVariant): string;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveImageUrl = resolveImageUrl;
|
|
4
|
+
const VARIANT_SUFFIX = {
|
|
5
|
+
medium: '_medium',
|
|
6
|
+
thumb: '_thumb',
|
|
7
|
+
avatar: '_avatar',
|
|
8
|
+
};
|
|
9
|
+
const WEBP_VARIANT_PATTERN = /^(.+?)(?:_(medium|thumb|avatar))?\.webp(\?.*)?$/i;
|
|
10
|
+
function extractWebpBase(url) {
|
|
11
|
+
const match = url.match(WEBP_VARIANT_PATTERN);
|
|
12
|
+
if (!match) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
return match[1];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 根据展示场景解析图片 URL。
|
|
19
|
+
* 上传后的 WebP 资源会按 `_medium` / `_thumb` / `_avatar` 后缀生成多尺寸版本;
|
|
20
|
+
* 非 WebP 或无法识别的 URL 将原样返回,兼容历史数据。
|
|
21
|
+
*/
|
|
22
|
+
function resolveImageUrl(url, variant = 'medium') {
|
|
23
|
+
if (!url) {
|
|
24
|
+
return '';
|
|
25
|
+
}
|
|
26
|
+
const base = extractWebpBase(url);
|
|
27
|
+
if (!base) {
|
|
28
|
+
return url;
|
|
29
|
+
}
|
|
30
|
+
if (variant === 'large') {
|
|
31
|
+
return `${base}.webp`;
|
|
32
|
+
}
|
|
33
|
+
return `${base}${VARIANT_SUFFIX[variant]}.webp`;
|
|
34
|
+
}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1,33 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
export
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
* @param error - Error to check
|
|
17
|
-
* @returns True if it's an API error
|
|
18
|
-
*/
|
|
19
|
-
export declare function isApiError(error: any): boolean;
|
|
20
|
-
/**
|
|
21
|
-
* API Error class
|
|
22
|
-
*/
|
|
23
|
-
export declare class ApiError extends Error {
|
|
24
|
-
code: number;
|
|
25
|
-
details: any;
|
|
26
|
-
constructor(message: string, code?: number, details?: any);
|
|
27
|
-
/**
|
|
28
|
-
* Check if an object is an instance of ApiError
|
|
29
|
-
* @param error - Error to check
|
|
30
|
-
* @returns True if it's an ApiError instance
|
|
31
|
-
*/
|
|
32
|
-
static isInstance(error: any): error is ApiError;
|
|
33
|
-
}
|
|
1
|
+
export type { ApiEnvelope } from './api-envelope';
|
|
2
|
+
export { unpackList, unpackOne, unpackPaginated } from './api-envelope';
|
|
3
|
+
export { readRequestCookie } from './cookie';
|
|
4
|
+
export { formatDate, formatPublishDate, formatPublishDateShort, } from './date';
|
|
5
|
+
export { COMMENT_EMAIL_REGEXP, isValidCommentEmail } from './email';
|
|
6
|
+
export { ApiError, isApiError } from './error';
|
|
7
|
+
export { jsonp } from './jsonp';
|
|
8
|
+
export { safeJsonParse } from './json';
|
|
9
|
+
export { deepClone, deepMerge, getByPath, getNestedLocaleString, getNestedLocaleValue, setByPath, } from './object';
|
|
10
|
+
export type { SettingRow } from './setting';
|
|
11
|
+
export { pickSiteSettings } from './setting';
|
|
12
|
+
export { stripHtml, truncateWords } from './string';
|
|
13
|
+
export { copyToClipboard } from './clipboard';
|
|
14
|
+
export type { ImageVariant } from './image';
|
|
15
|
+
export { resolveImageUrl } from './image';
|