zent
Version:
一套前端设计语言和基于React的实现
44 lines (43 loc) • 1.5 kB
TypeScript
import { Component } from 'react';
export interface IClampLinesProps {
text: string;
lines?: number;
ellipsis?: string;
showPop?: boolean;
popWidth?: number;
trigger?: 'click' | 'hover' | 'focus';
renderPop?: (text: string) => React.ReactNode;
resizable?: boolean;
extra?: React.ReactNode;
mode: 'performance' | 'correctness';
className?: string;
}
export interface IClampLinesState {
holdsFullText: boolean;
textSuited: string;
}
export declare class ClampLines extends Component<IClampLinesProps, IClampLinesState> {
static defaultProps: Partial<IClampLinesProps>;
element: HTMLDivElement | null;
innerElement: import("react").RefObject<HTMLSpanElement>;
resizeObserver: ResizeObserver | null;
containerWidth: number;
constructor(props: IClampLinesProps);
componentDidUpdate(prevProps: IClampLinesProps): void;
componentDidMount(): void;
componentWillUnmount(): void;
handleWindowResize: () => void;
handleContainerResize: ResizeObserverCallback;
onContainerRefChange: (node: HTMLDivElement | null) => void;
onNoClampContainerRefChange: (node: HTMLDivElement | null) => void;
getResizeObserver(): ResizeObserver;
observe(node: Element): void;
clampLines(): void;
private _clampLinesFast;
private _clampLinesAccurate;
getEllipsis(): string;
renderResizable(): JSX.Element;
renderClampedText(): JSX.Element;
render(): JSX.Element;
}
export default ClampLines;