@fecommunity/reactpress-toolkit 3.1.0 → 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 (68) hide show
  1. package/LICENSE +21 -0
  2. package/dist/.source-fingerprint-toolkit +1 -0
  3. package/dist/app/createReactPressApp.d.ts +4 -84
  4. package/dist/app/createReactPressApp.js +3 -0
  5. package/dist/app/createThemeApp.d.ts +8 -6
  6. package/dist/app/createThemeApp.js +5 -1
  7. package/dist/plugin/admin/plugin-admin.d.ts +37 -0
  8. package/dist/plugin/admin/plugin-admin.js +41 -0
  9. package/dist/plugin/admin/slots.d.ts +36 -0
  10. package/dist/plugin/admin/slots.js +16 -0
  11. package/dist/plugin/extension/index.d.ts +4 -0
  12. package/dist/plugin/extension/index.js +20 -0
  13. package/dist/plugin/extension/plugin-admin-locale.d.ts +21 -0
  14. package/dist/plugin/extension/plugin-admin-locale.io.d.ts +2 -0
  15. package/dist/plugin/extension/plugin-admin-locale.io.js +54 -0
  16. package/dist/plugin/extension/plugin-admin-locale.js +60 -0
  17. package/dist/plugin/extension/plugin.d.ts +82 -0
  18. package/dist/plugin/extension/plugin.js +146 -0
  19. package/dist/plugin/extension/security.d.ts +7 -0
  20. package/dist/plugin/extension/security.js +74 -0
  21. package/dist/plugin/extension/validate.d.ts +8 -0
  22. package/dist/plugin/extension/validate.js +55 -0
  23. package/dist/plugin/node.d.ts +2 -0
  24. package/dist/plugin/node.js +6 -0
  25. package/dist/plugin/react/plugin-admin-ui.d.ts +23 -0
  26. package/dist/plugin/react/plugin-admin-ui.js +38 -0
  27. package/dist/plugin/server/hook-reject.d.ts +12 -0
  28. package/dist/plugin/server/hook-reject.js +39 -0
  29. package/dist/plugin/server/index.d.ts +2 -0
  30. package/dist/plugin/server/index.js +18 -0
  31. package/dist/plugin/server/types.d.ts +34 -0
  32. package/dist/plugin/server/types.js +3 -0
  33. package/dist/theme/build/next-config.d.ts +4 -6
  34. package/dist/theme/build/next-config.js +0 -37
  35. package/dist/theme/build/node.d.ts +1 -1
  36. package/dist/theme/build/node.js +1 -1
  37. package/dist/ui/components/ArchiveEmptyState.d.ts +1 -1
  38. package/dist/ui/components/ArchivePageLayout.d.ts +1 -1
  39. package/dist/ui/components/ArticleCard.d.ts +1 -1
  40. package/dist/ui/components/ArticleList.d.ts +1 -1
  41. package/dist/ui/components/BaseGlobalStyles.d.ts +2 -1
  42. package/dist/ui/components/LocaleSwitcher.d.ts +1 -1
  43. package/dist/ui/components/NavMenu.d.ts +1 -1
  44. package/dist/ui/components/NotFoundPanel.d.ts +1 -1
  45. package/dist/ui/components/PageHeader.d.ts +1 -1
  46. package/dist/ui/components/SiteBranding.d.ts +2 -1
  47. package/dist/ui/components/SiteDocument.d.ts +1 -1
  48. package/dist/ui/components/SiteDocumentFallback.d.ts +1 -1
  49. package/dist/ui/components/SiteLogo.d.ts +2 -1
  50. package/dist/ui/components/SiteSeo.d.ts +1 -1
  51. package/dist/ui/components/SiteTagline.d.ts +2 -1
  52. package/dist/ui/components/TaxonomyList.d.ts +1 -1
  53. package/dist/ui/components/ThemeCssVars.d.ts +2 -1
  54. package/dist/ui/components/ThemeLayout.d.ts +1 -1
  55. package/dist/ui/components/content/ArticleReader.d.ts +1 -1
  56. package/dist/ui/components/content/ArticleToc.d.ts +1 -1
  57. package/dist/ui/components/content/HtmlContent.d.ts +2 -1
  58. package/dist/ui/components/content/Image.d.ts +1 -1
  59. package/dist/ui/components/content/LocaleTime.d.ts +2 -1
  60. package/dist/ui/components/toolbar/LocaleToggleButton.d.ts +1 -1
  61. package/dist/ui/components/toolbar/ThemeToggleButton.d.ts +1 -1
  62. package/dist/ui/components/toolbar/ToolbarIconButton.d.ts +1 -1
  63. package/dist/ui/components/toolbar/icons.d.ts +7 -7
  64. package/dist/ui/context/LocaleContext.d.ts +1 -1
  65. package/dist/ui/context/ReactPressProvider.d.ts +2 -1
  66. package/dist/ui/context/SiteCatalogContext.d.ts +1 -1
  67. package/dist/ui/context/ThemeRuntimeContext.d.ts +1 -1
  68. package/package.json +31 -15
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  export interface SiteBrandingProps {
2
3
  /** Last-resort title when customizer mod and site settings are both empty. */
3
4
  fallback?: string;
@@ -7,4 +8,4 @@ export interface SiteBrandingProps {
7
8
  /**
8
9
  * Site title: customizer `displayTitle` when set, otherwise `systemTitle` from site settings.
9
10
  */
10
- export declare function SiteBranding({ fallback, className, as: Tag }: SiteBrandingProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare function SiteBranding({ fallback, className, as: Tag }: SiteBrandingProps): React.JSX.Element;
@@ -17,4 +17,4 @@ export interface SiteDocumentProps {
17
17
  /**
18
18
  * WordPress-style shell: head slot + header + main + footer (like `get_header()` / `get_footer()`).
19
19
  */
20
- export declare function SiteDocument({ head, header, footer, children, className, mainClassName, contentClassName, wrapContent, globalCss, skipBaseStyles, skipCssVars, }: SiteDocumentProps): import("react/jsx-runtime").JSX.Element;
20
+ export declare function SiteDocument({ head, header, footer, children, className, mainClassName, contentClassName, wrapContent, globalCss, skipBaseStyles, skipCssVars, }: SiteDocumentProps): React.JSX.Element;
@@ -5,4 +5,4 @@ export interface SiteDocumentFallbackProps extends Omit<SiteDocumentProps, 'chil
5
5
  messageClassName?: string;
6
6
  }
7
7
  /** Standard ISR fallback shell while on-demand pages compile. */
8
- export declare function SiteDocumentFallback({ message, messageClassName, ...shell }: SiteDocumentFallbackProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function SiteDocumentFallback({ message, messageClassName, ...shell }: SiteDocumentFallbackProps): React.JSX.Element;
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  export interface SiteLogoProps {
2
3
  className?: string;
3
4
  alt?: string;
@@ -5,4 +6,4 @@ export interface SiteLogoProps {
5
6
  height?: number;
6
7
  }
7
8
  /** Site logo: customizer `siteLogo` when set, otherwise `systemLogo` from site settings. */
8
- export declare function SiteLogo({ className, alt, width, height }: SiteLogoProps): import("react/jsx-runtime").JSX.Element | null;
9
+ export declare function SiteLogo({ className, alt, width, height }: SiteLogoProps): React.JSX.Element | null;
@@ -10,4 +10,4 @@ export interface SiteSeoProps {
10
10
  description?: string;
11
11
  }
12
12
  /** Inject default site meta tags from catalog `setting`. */
13
- export declare function SiteSeo({ children, favicon, keywords, description }: SiteSeoProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare function SiteSeo({ children, favicon, keywords, description }: SiteSeoProps): React.JSX.Element;
@@ -1,7 +1,8 @@
1
+ import React from 'react';
1
2
  export interface SiteTaglineProps {
2
3
  /** Used when customizer tagline and site subtitle are both empty. */
3
4
  fallback?: string;
4
5
  className?: string;
5
6
  }
6
7
  /** Site tagline: customizer `displayTagline` when set, otherwise `systemSubTitle`. */
7
- export declare function SiteTagline({ fallback, className }: SiteTaglineProps): import("react/jsx-runtime").JSX.Element | null;
8
+ export declare function SiteTagline({ fallback, className }: SiteTaglineProps): React.JSX.Element | null;
@@ -22,4 +22,4 @@ export interface TaxonomyListProps {
22
22
  renderLink: (props: TaxonomyListRenderLinkProps) => React.ReactNode;
23
23
  }
24
24
  /** Headless category/tag list (sidebar, footer, tag cloud). */
25
- export declare function TaxonomyList({ items, kind, variant, currentValue, className, itemClassName, hrefFor, renderLink, }: TaxonomyListProps): import("react/jsx-runtime").JSX.Element;
25
+ export declare function TaxonomyList({ items, kind, variant, currentValue, className, itemClassName, hrefFor, renderLink, }: TaxonomyListProps): React.JSX.Element;
@@ -1,2 +1,3 @@
1
+ import React from 'react';
1
2
  /** Injects Customizer colors, background, dark mode, and extra CSS (WP `theme_mod` → `:root`). */
2
- export declare function ThemeCssVars(): import("react/jsx-runtime").JSX.Element;
3
+ export declare function ThemeCssVars(): React.JSX.Element;
@@ -10,4 +10,4 @@ export interface ThemeLayoutProps {
10
10
  wrapContent?: boolean;
11
11
  }
12
12
  /** Unstyled page shell: header + main (+ optional content wrapper) + footer. */
13
- export declare function ThemeLayout({ header, footer, children, className, mainClassName, contentClassName, wrapContent, }: ThemeLayoutProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare function ThemeLayout({ header, footer, children, className, mainClassName, contentClassName, wrapContent, }: ThemeLayoutProps): React.JSX.Element;
@@ -40,6 +40,6 @@ export interface ArticleReaderProps {
40
40
  * Headless single-article reader — meta, cover, HTML body, optional TOC slot.
41
41
  * Theme supplies layout shell, comments, and tag links via render props.
42
42
  */
43
- export declare function ArticleReader({ article, className, articleClassName, containerId, locale, copyLabel, onCopy, labels, renderTags, renderFooter, children, }: ArticleReaderProps): import("react/jsx-runtime").JSX.Element;
43
+ export declare function ArticleReader({ article, className, articleClassName, containerId, locale, copyLabel, onCopy, labels, renderTags, renderFooter, children, }: ArticleReaderProps): React.JSX.Element;
44
44
  export { ArticleToc, HtmlContent, ImageViewer, LocaleTime, parseArticleToc };
45
45
  export type { TocItem };
@@ -16,6 +16,6 @@ export interface ArticleTocProps {
16
16
  indentStep?: number;
17
17
  }
18
18
  /** Headless table-of-contents for article pages. */
19
- export declare function ArticleToc({ items, className, listClassName, itemClassName, activeClassName, maxHeight, title, showTitle, indentStep, }: ArticleTocProps): import("react/jsx-runtime").JSX.Element | null;
19
+ export declare function ArticleToc({ items, className, listClassName, itemClassName, activeClassName, maxHeight, title, showTitle, indentStep, }: ArticleTocProps): React.JSX.Element | null;
20
20
  /** Parse TOC JSON stored on article records. Supports legacy `[level, id, text]` tuples. */
21
21
  export declare function parseArticleToc(raw?: string | null): TocItem[];
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  export interface HtmlContentProps {
2
3
  /** Server-rendered HTML (article body). */
3
4
  content?: string;
@@ -12,4 +13,4 @@ export interface HtmlContentProps {
12
13
  highlightCode?: boolean;
13
14
  }
14
15
  /** Render HTML article body with optional code highlight and copy buttons. */
15
- export declare function HtmlContent({ content, className, copyLabel, copySuccessLabel, onCopy, highlightCode, }: HtmlContentProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare function HtmlContent({ content, className, copyLabel, copySuccessLabel, onCopy, highlightCode, }: HtmlContentProps): React.JSX.Element;
@@ -6,4 +6,4 @@ export interface ImageProps extends Omit<ImgHTMLAttributes<HTMLImageElement>, 's
6
6
  size?: ImageVariant;
7
7
  }
8
8
  /** 按上传变体尺寸渲染 `<img>`,`url` + `size` 外其余属性透传。 */
9
- export declare function Image({ url, size, alt, ...rest }: ImageProps): import("react/jsx-runtime").JSX.Element | null;
9
+ export declare function Image({ url, size, alt, ...rest }: ImageProps): import("react").JSX.Element | null;
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  export interface LocaleTimeProps {
2
3
  date: string | number | Date;
3
4
  format?: string;
@@ -6,4 +7,4 @@ export interface LocaleTimeProps {
6
7
  locale?: string;
7
8
  }
8
9
  /** Locale-aware `<time>` — absolute date or relative timeago. */
9
- export declare function LocaleTime({ date, timeago, format, locale, }: LocaleTimeProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare function LocaleTime({ date, timeago, format, locale, }: LocaleTimeProps): React.JSX.Element;
@@ -5,4 +5,4 @@ export interface LocaleToggleButtonProps extends Omit<ToolbarIconButtonProps, 'c
5
5
  onLocaleChange: (locale: string) => void;
6
6
  }
7
7
  /** Click to cycle locales. Shows zh/en translation bubble icons (like theme sun/moon). */
8
- export declare function LocaleToggleButton({ locale, locales, onLocaleChange, size, title, ...rest }: LocaleToggleButtonProps): import("react/jsx-runtime").JSX.Element | null;
8
+ export declare function LocaleToggleButton({ locale, locales, onLocaleChange, size, title, ...rest }: LocaleToggleButtonProps): import("react").JSX.Element | null;
@@ -4,4 +4,4 @@ export interface ThemeToggleButtonProps extends Omit<ToolbarIconButtonProps, 'ch
4
4
  onToggle: () => void;
5
5
  }
6
6
  /** Click to switch light/dark. Shows sun in light mode, moon in dark mode. */
7
- export declare function ThemeToggleButton({ isDark, onToggle, size, ...rest }: ThemeToggleButtonProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare function ThemeToggleButton({ isDark, onToggle, size, ...rest }: ThemeToggleButtonProps): import("react").JSX.Element;
@@ -4,4 +4,4 @@ export interface ToolbarIconButtonProps extends Omit<ButtonHTMLAttributes<HTMLBu
4
4
  children: ReactNode;
5
5
  size?: number;
6
6
  }
7
- export declare function ToolbarIconButton({ children, className, style, ...rest }: ToolbarIconButtonProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare function ToolbarIconButton({ children, className, style, ...rest }: ToolbarIconButtonProps): import("react").JSX.Element;
@@ -2,16 +2,16 @@ import type { SVGProps } from 'react';
2
2
  type IconProps = Pick<SVGProps<SVGSVGElement>, 'className'> & {
3
3
  size?: number;
4
4
  };
5
- export declare function SunIcon({ size, className }: IconProps): import("react/jsx-runtime").JSX.Element;
6
- export declare function MoonIcon({ size, className }: IconProps): import("react/jsx-runtime").JSX.Element;
7
- export declare function LanguagesIcon({ size, className }: IconProps): import("react/jsx-runtime").JSX.Element;
8
- export declare function SearchIcon({ size, className }: IconProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function SunIcon({ size, className }: IconProps): import("react").JSX.Element;
6
+ export declare function MoonIcon({ size, className }: IconProps): import("react").JSX.Element;
7
+ export declare function LanguagesIcon({ size, className }: IconProps): import("react").JSX.Element;
8
+ export declare function SearchIcon({ size, className }: IconProps): import("react").JSX.Element;
9
9
  /** 中文态:气泡内「中」,右下角「A」。 */
10
- export declare function LocaleZhToggleIcon(props: IconProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare function LocaleZhToggleIcon(props: IconProps): import("react").JSX.Element;
11
11
  /** 英文态:气泡内「A」,右下角「中」。 */
12
- export declare function LocaleEnToggleIcon(props: IconProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function LocaleEnToggleIcon(props: IconProps): import("react").JSX.Element;
13
13
  /** Active locale — switches between zh/en translation bubble icons. */
14
14
  export declare function LocaleActiveIcon({ locale, size, className, }: IconProps & {
15
15
  locale: string;
16
- }): import("react/jsx-runtime").JSX.Element;
16
+ }): import("react").JSX.Element;
17
17
  export {};
@@ -10,6 +10,6 @@ export interface LocaleProviderProps {
10
10
  persistLocale?: boolean;
11
11
  onLocaleChange?: (locale: string) => void;
12
12
  }
13
- export declare function LocaleProvider({ locale: initialLocale, locales, messages: initialMessages, catalog, children, persistLocale, onLocaleChange, }: LocaleProviderProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare function LocaleProvider({ locale: initialLocale, locales, messages: initialMessages, catalog, children, persistLocale, onLocaleChange, }: LocaleProviderProps): React.JSX.Element;
14
14
  export declare function useLocale(): LocaleContextValue;
15
15
  export declare function readPersistedLocale(locales: string[], fallback: string): string;
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import type { ReactPressProviderProps } from './types';
2
3
  /** Wraps the theme app with locale + active theme / customizer context. */
3
- export declare function ReactPressProvider({ locale, locales, messages, catalog, themeId, activeThemeId, mods, isPreview, siteMeta, children, persistLocale, onLocaleChange, }: ReactPressProviderProps): import("react/jsx-runtime").JSX.Element;
4
+ export declare function ReactPressProvider({ locale, locales, messages, catalog, themeId, activeThemeId, mods, isPreview, siteMeta, children, persistLocale, onLocaleChange, }: ReactPressProviderProps): React.JSX.Element;
@@ -6,7 +6,7 @@ export declare const SiteCatalogContext: React.Context<SiteCatalogContextValue>;
6
6
  export declare function SiteCatalogProvider({ value, children, }: {
7
7
  value: SiteCatalogContextValue;
8
8
  children: React.ReactNode;
9
- }): import("react/jsx-runtime").JSX.Element;
9
+ }): React.JSX.Element;
10
10
  export declare function useSiteCatalog(): {
11
11
  categories: import("../..").ICategory[];
12
12
  tags: import("../..").ITag[];
@@ -9,7 +9,7 @@ export interface ThemeRuntimeProviderProps {
9
9
  siteMeta?: ThemeRuntimeContextValue['siteMeta'];
10
10
  children: React.ReactNode;
11
11
  }
12
- export declare function ThemeRuntimeProvider({ themeId, activeThemeId, mods, isPreview, siteMeta, children, }: ThemeRuntimeProviderProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function ThemeRuntimeProvider({ themeId, activeThemeId, mods, isPreview, siteMeta, children, }: ThemeRuntimeProviderProps): React.JSX.Element;
13
13
  export declare function useThemeRuntime(): ThemeRuntimeContextValue;
14
14
  /** Read a single customizer mod with optional default (from `theme.json` customizer). */
15
15
  export declare function useThemeMod(modId: string, defaultValue?: string): string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fecommunity/reactpress-toolkit",
3
- "version": "3.1.0",
3
+ "version": "3.7.0",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "exports": {
@@ -92,19 +92,30 @@
92
92
  "viewerjs": ">=1"
93
93
  },
94
94
  "peerDependenciesMeta": {
95
- "@tanstack/react-query": { "optional": true },
96
- "@ant-design/cssinjs": { "optional": true },
97
- "highlight.js": { "optional": true },
98
- "next": { "optional": true },
99
- "nprogress": { "optional": true },
100
- "react": { "optional": true },
101
- "react-dom": { "optional": true },
102
- "viewerjs": { "optional": true }
103
- },
104
- "scripts": {
105
- "generate": "node scripts/generate-swagger.js",
106
- "build": "tsc && rm -rf dist/config/locales && cp -r src/config/locales dist/config/locales",
107
- "typecheck": "tsc --noEmit"
95
+ "@tanstack/react-query": {
96
+ "optional": true
97
+ },
98
+ "@ant-design/cssinjs": {
99
+ "optional": true
100
+ },
101
+ "highlight.js": {
102
+ "optional": true
103
+ },
104
+ "next": {
105
+ "optional": true
106
+ },
107
+ "nprogress": {
108
+ "optional": true
109
+ },
110
+ "react": {
111
+ "optional": true
112
+ },
113
+ "react-dom": {
114
+ "optional": true
115
+ },
116
+ "viewerjs": {
117
+ "optional": true
118
+ }
108
119
  },
109
120
  "files": [
110
121
  "dist"
@@ -145,5 +156,10 @@
145
156
  "react": "^18.3.1",
146
157
  "react-dom": "^18.3.1",
147
158
  "typescript": "^5.7.3"
159
+ },
160
+ "scripts": {
161
+ "generate": "node scripts/generate-swagger.js",
162
+ "build": "tsc && rm -rf dist/config/locales && cp -r src/config/locales dist/config/locales",
163
+ "typecheck": "tsc --noEmit"
148
164
  }
149
- }
165
+ }