summaryrefslogtreecommitdiff
path: root/themes/blowfish/assets/lib/mermaid/rendering-util/splitText.d.ts
diff options
context:
space:
mode:
Diffstat (limited to 'themes/blowfish/assets/lib/mermaid/rendering-util/splitText.d.ts')
-rw-r--r--themes/blowfish/assets/lib/mermaid/rendering-util/splitText.d.ts24
1 files changed, 24 insertions, 0 deletions
diff --git a/themes/blowfish/assets/lib/mermaid/rendering-util/splitText.d.ts b/themes/blowfish/assets/lib/mermaid/rendering-util/splitText.d.ts
new file mode 100644
index 0000000..289ab65
--- /dev/null
+++ b/themes/blowfish/assets/lib/mermaid/rendering-util/splitText.d.ts
@@ -0,0 +1,24 @@
+import type { CheckFitFunction, MarkdownLine, MarkdownWord } from './types.js';
+/**
+ * Splits a string into graphemes if available, otherwise characters.
+ */
+export declare function splitTextToChars(text: string): string[];
+/**
+ * Splits a string into words by using `Intl.Segmenter` if available, or splitting by ' '.
+ * `Intl.Segmenter` uses the default locale, which might be different across browsers.
+ */
+export declare function splitLineToWords(text: string): string[];
+/**
+ * Splits a word into two parts, the first part fits the width and the remaining part.
+ * @param checkFit - Function to check if word fits
+ * @param word - Word to split
+ * @returns [first part of word that fits, rest of word]
+ */
+export declare function splitWordToFitWidth(checkFit: CheckFitFunction, word: MarkdownWord): [MarkdownWord, MarkdownWord];
+/**
+ * Splits a line into multiple lines that satisfy the checkFit function.
+ * @param line - Line to split
+ * @param checkFit - Function to check if line fits
+ * @returns Array of lines that fit
+ */
+export declare function splitLineToFitWidth(line: MarkdownLine, checkFit: CheckFitFunction): MarkdownLine[];