@pantheon-systems/pcc-react-sdk
Version:
Pantheon Content Cloud React SDK
45 lines (41 loc) • 2.03 kB
TypeScript
import * as react_jsx_runtime from 'react/jsx-runtime';
import { Article, SmartComponentMap as SmartComponentMap$1 } from '@pantheon-systems/pcc-sdk-core/types';
import { Element } from 'hast';
import React__default from 'react';
declare function getArticleTitle(article: Article | undefined): string | null;
declare function useArticleTitle(article: Article | undefined): string | null;
type ServersideSmartComponentMap = {
[K in keyof SmartComponentMap$1]: SmartComponentMap$1[K];
};
type SmartComponentMap = {
[K in keyof SmartComponentMap$1]: SmartComponentMap$1[K] & {
reactComponent: (props: any) => React__default.JSX.Element;
};
};
type ExtraProps = {
node?: Element;
};
type ComponentMap = Partial<{
[TagName in keyof JSX.IntrinsicElements]: (new (props: JSX.IntrinsicElements[TagName] & ExtraProps) => JSX.ElementClass) | ((props: JSX.IntrinsicElements[TagName] & ExtraProps) => JSX.Element) | keyof JSX.IntrinsicElements;
}>;
interface Props {
article?: Article;
tabId?: string | null;
bodyClassName?: string;
containerClassName?: string;
headerClassName?: string;
renderTitle?: (titleElement: React__default.ReactElement, content: string) => React__default.ReactNode;
smartComponentMap?: SmartComponentMap;
componentMap?: ComponentMap;
renderBody?: (bodyElement: React__default.ReactElement) => React__default.ReactNode;
__experimentalFlags?: {
disableAllStyles?: boolean;
preserveImageStyles?: boolean;
disableDefaultErrorBoundaries?: boolean;
useUnintrusiveTitleRendering?: boolean;
renderImageCaptions?: boolean;
cdnURLOverride?: string;
};
}
declare const ArticleRenderer: ({ article, tabId, bodyClassName, containerClassName, headerClassName, renderTitle, smartComponentMap, componentMap, renderBody, __experimentalFlags, }: Props) => react_jsx_runtime.JSX.Element | null;
export { ArticleRenderer, type ServersideSmartComponentMap, type SmartComponentMap, getArticleTitle, useArticleTitle };