49 lines
2.5 KiB
TypeScript
49 lines
2.5 KiB
TypeScript
|
|
import React, { ComponentProps, ReactNode } from 'react';
|
||
|
|
import { EllipsisConfig } from 'antd/lib/typography/Base';
|
||
|
|
import { M as MentionEntity, T as TagEntity, L as LinkEntity } from '../types-BRt4hd7A.js';
|
||
|
|
export { B as BaseEntity, C as ContentEntity, P as ParsedMention, a as ProcessedContent } from '../types-BRt4hd7A.js';
|
||
|
|
import { TachTypography } from '@hublib-web/tach-typography/react';
|
||
|
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
||
|
|
export { findAllEntities, findLinks, findMentions, findTags, mentionLinkRegexp, parseMention, processContent } from '../core/index.js';
|
||
|
|
|
||
|
|
type CustomEllipsisConfig = ({
|
||
|
|
count: number;
|
||
|
|
rows?: never;
|
||
|
|
expandable?: boolean;
|
||
|
|
} & Partial<EllipsisConfig>) | ({
|
||
|
|
rows: number;
|
||
|
|
count?: never;
|
||
|
|
expandable?: boolean;
|
||
|
|
} & Partial<EllipsisConfig>) | false;
|
||
|
|
type ParagraphBodyProps = ComponentProps<typeof TachTypography.Paragraph.Body>;
|
||
|
|
type TextBodyProps = ComponentProps<typeof TachTypography.Text.Body>;
|
||
|
|
type TitleBodyProps = ComponentProps<typeof TachTypography.Title.Body>;
|
||
|
|
interface ContentTextProps {
|
||
|
|
className?: string;
|
||
|
|
weight?: TextBodyProps["weight"];
|
||
|
|
text?: string | null;
|
||
|
|
ellipsis?: CustomEllipsisConfig;
|
||
|
|
blur?: boolean;
|
||
|
|
style?: TextBodyProps["style"];
|
||
|
|
onView?: () => void;
|
||
|
|
renderMention?: (entity: MentionEntity, index: number) => ReactNode;
|
||
|
|
renderTag?: (entity: TagEntity, index: number) => ReactNode;
|
||
|
|
renderLink?: (entity: LinkEntity, index: number) => ReactNode;
|
||
|
|
ParagraphComponent?: React.ComponentType<ParagraphBodyProps>;
|
||
|
|
TextComponent?: React.ComponentType<TextBodyProps>;
|
||
|
|
TitleComponent?: React.ComponentType<TitleBodyProps>;
|
||
|
|
}
|
||
|
|
declare const ContentText: React.NamedExoticComponent<ContentTextProps>;
|
||
|
|
|
||
|
|
type BaseContentTextProps = Omit<ComponentProps<typeof ContentText>, "renderMention" | "renderTag"> & {
|
||
|
|
renderMention?: (entity: MentionEntity, index: number) => React.ReactNode;
|
||
|
|
renderTag?: (entity: TagEntity, index: number) => React.ReactNode;
|
||
|
|
};
|
||
|
|
declare const ContentTextWithSuggestions: ({ renderMention, renderTag, ...props }: BaseContentTextProps) => react_jsx_runtime.JSX.Element;
|
||
|
|
|
||
|
|
interface ContentTitleWithSuggestionsProps extends Omit<ComponentProps<typeof ContentTextWithSuggestions>, "weight"> {
|
||
|
|
}
|
||
|
|
declare const ContentTitleWithSuggestions: ({ text, ellipsis, blur, ...rest }: ContentTitleWithSuggestionsProps) => react_jsx_runtime.JSX.Element;
|
||
|
|
|
||
|
|
export { ContentText, type ContentTextProps, ContentTextWithSuggestions, ContentTitleWithSuggestions, LinkEntity, MentionEntity, TagEntity };
|