parse.d.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import { PropType, TextAlign, TextVerticalAlign } from '../../core/types';
  2. import { RichTextStyleOption } from '../RichText';
  3. interface InnerTruncateOption {
  4. maxIteration?: number;
  5. minChar?: number;
  6. placeholder?: string;
  7. maxIterations?: number;
  8. }
  9. export declare function truncateText(text: string, containerWidth: number, font: string, ellipsis: string, options: InnerTruncateOption): string;
  10. export interface PlainTextContentBlock {
  11. lineHeight: number;
  12. height: number;
  13. outerHeight: number;
  14. canCacheByTextString: boolean;
  15. lines: string[];
  16. }
  17. export declare function parsePlainText(text: string, font: string, padding: number[], textLineHeight: number, truncate: PropType<RichTextStyleOption, 'truncate'>): PlainTextContentBlock;
  18. declare class RichTextToken {
  19. styleName: string;
  20. text: string;
  21. width: number;
  22. height: number;
  23. textWidth: number | string;
  24. textHeight: number;
  25. lineHeight: number;
  26. font: string;
  27. textAlign: TextAlign;
  28. textVerticalAlign: TextVerticalAlign;
  29. textPadding: number[];
  30. percentWidth?: string;
  31. isLineHolder: boolean;
  32. }
  33. declare class RichTextLine {
  34. lineHeight: number;
  35. width: number;
  36. tokens: RichTextToken[];
  37. constructor(tokens?: RichTextToken[]);
  38. }
  39. export declare class RichTextContentBlock {
  40. width: number;
  41. height: number;
  42. outerWidth: number;
  43. outerHeight: number;
  44. lines: RichTextLine[];
  45. }
  46. export declare function parseRichText(text: string, style: RichTextStyleOption): RichTextContentBlock;
  47. export {};