1 | export interface LabelIcon {
|
2 | name: string;
|
3 | animation?: string;
|
4 | }
|
5 | export declare namespace LabelIcon {
|
6 | function is(val: unknown): val is LabelIcon;
|
7 | }
|
8 | export declare type LabelPart = string | LabelIcon;
|
9 | export declare class LabelParser {
|
10 | /**
|
11 | * Returns an array with parts of the given text.
|
12 | * These parts are of type LabelPart which can be either a string or a LabelIcon.
|
13 | * For splitting up the giving text the parser follows this rule:
|
14 | * The text gets parsed for the following pattern: $(iconName~iconAnimation).
|
15 | * If the parser finds such pattern a new LabelIcon object
|
16 | * { name: 'iconName', animation: 'iconAnimation'} is added to the returned array.
|
17 | * iconName can be for instance the name of an icon of e.g. FontAwesome and the (optional) iconAnimation
|
18 | * the name of an animation class which must be supported by the particular icon toolkit.
|
19 | *
|
20 | * Every string before, between or after such icon patterns gets also added to the array
|
21 | * before, between or after the related LabelIcon.
|
22 | *
|
23 | * @param text - the label text to parse
|
24 | */
|
25 | parse(text: string): LabelPart[];
|
26 | /**
|
27 | * Strips icon specifiers from the given `text`, leaving only a
|
28 | * space-separated concatenation of the non-icon segments.
|
29 | *
|
30 | * @param text text to be stripped of icon specifiers
|
31 | * @returns the `text` with icon specifiers stripped out
|
32 | */
|
33 | stripIcons(text: string): string;
|
34 | }
|
35 | //# sourceMappingURL=label-parser.d.ts.map |
\ | No newline at end of file |