UNPKG

@dvcol/neo-svelte

Version:

Neomorphic ui library for svelte 5

28 lines (27 loc) 779 B
import type { HTMLNeoBaseElement } from '../utils/html-element.utils.js'; import type { MarkTokenizer } from '../utils/string.utils.js'; export type NeoMarkTokenizer = MarkTokenizer; export type NeoMarkProps<Tag extends keyof HTMLElementTagNameMap = 'span'> = { /** * HTML tag to render * * @default 'span' */ tag?: Tag; /** * Text to tokenize */ value?: string; /** * Filter pattern */ filter?: string; /** * Tokenizer function to split text and marks * @param str text to tokenize (value) * @param pattern filter pattern (filter) * * @returns array of [part, mark] tuples */ tokenizer?: NeoMarkTokenizer; } & Omit<HTMLNeoBaseElement<HTMLElementTagNameMap[Tag]>, 'children'>;