react-native-enriched-html 1.1.0-nightly-20260729-c60ddba87 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +3 -8
  2. package/lib/module/web/EnrichedText.css +30 -10
  3. package/lib/module/web/EnrichedText.js +17 -2
  4. package/lib/module/web/EnrichedText.js.map +1 -1
  5. package/lib/module/web/EnrichedTextInput.js +4 -3
  6. package/lib/module/web/EnrichedTextInput.js.map +1 -1
  7. package/lib/module/web/ellipsizeMode/clip.js +42 -0
  8. package/lib/module/web/ellipsizeMode/clip.js.map +1 -0
  9. package/lib/module/web/ellipsizeMode/headEllipsize.js +141 -0
  10. package/lib/module/web/ellipsizeMode/headEllipsize.js.map +1 -0
  11. package/lib/module/web/ellipsizeMode/middleEllipsize.js +166 -0
  12. package/lib/module/web/ellipsizeMode/middleEllipsize.js.map +1 -0
  13. package/lib/module/web/ellipsizeMode/tailEllipsize.js +43 -0
  14. package/lib/module/web/ellipsizeMode/tailEllipsize.js.map +1 -0
  15. package/lib/module/web/ellipsizeMode/useEllipsizeMode.js +40 -0
  16. package/lib/module/web/ellipsizeMode/useEllipsizeMode.js.map +1 -0
  17. package/lib/module/web/ellipsizeMode/utils.js +480 -0
  18. package/lib/module/web/ellipsizeMode/utils.js.map +1 -0
  19. package/lib/module/web/normalization/tiptapHtmlNormalizer.js +2 -1
  20. package/lib/module/web/normalization/tiptapHtmlNormalizer.js.map +1 -1
  21. package/lib/module/web/pmPlugins/OrderedListMarkerWidthPlugin.js +35 -0
  22. package/lib/module/web/pmPlugins/OrderedListMarkerWidthPlugin.js.map +1 -0
  23. package/lib/module/web/sanitization/htmlSanitizer.js +1 -0
  24. package/lib/module/web/sanitization/htmlSanitizer.js.map +1 -1
  25. package/lib/module/web/useOnChangeHtml.js +2 -2
  26. package/lib/module/web/useOnChangeHtml.js.map +1 -1
  27. package/lib/module/web/useOrderedListMarkerWidth.js +19 -0
  28. package/lib/module/web/useOrderedListMarkerWidth.js.map +1 -0
  29. package/lib/typescript/src/index.d.ts +1 -1
  30. package/lib/typescript/src/index.d.ts.map +1 -1
  31. package/lib/typescript/src/web/EnrichedText.d.ts +1 -1
  32. package/lib/typescript/src/web/EnrichedText.d.ts.map +1 -1
  33. package/lib/typescript/src/web/EnrichedTextInput.d.ts.map +1 -1
  34. package/lib/typescript/src/web/ellipsizeMode/clip.d.ts +2 -0
  35. package/lib/typescript/src/web/ellipsizeMode/clip.d.ts.map +1 -0
  36. package/lib/typescript/src/web/ellipsizeMode/headEllipsize.d.ts +2 -0
  37. package/lib/typescript/src/web/ellipsizeMode/headEllipsize.d.ts.map +1 -0
  38. package/lib/typescript/src/web/ellipsizeMode/middleEllipsize.d.ts +2 -0
  39. package/lib/typescript/src/web/ellipsizeMode/middleEllipsize.d.ts.map +1 -0
  40. package/lib/typescript/src/web/ellipsizeMode/tailEllipsize.d.ts +2 -0
  41. package/lib/typescript/src/web/ellipsizeMode/tailEllipsize.d.ts.map +1 -0
  42. package/lib/typescript/src/web/ellipsizeMode/useEllipsizeMode.d.ts +16 -0
  43. package/lib/typescript/src/web/ellipsizeMode/useEllipsizeMode.d.ts.map +1 -0
  44. package/lib/typescript/src/web/ellipsizeMode/utils.d.ts +36 -0
  45. package/lib/typescript/src/web/ellipsizeMode/utils.d.ts.map +1 -0
  46. package/lib/typescript/src/web/normalization/tiptapHtmlNormalizer.d.ts +1 -1
  47. package/lib/typescript/src/web/normalization/tiptapHtmlNormalizer.d.ts.map +1 -1
  48. package/lib/typescript/src/web/pmPlugins/OrderedListMarkerWidthPlugin.d.ts +3 -0
  49. package/lib/typescript/src/web/pmPlugins/OrderedListMarkerWidthPlugin.d.ts.map +1 -0
  50. package/lib/typescript/src/web/sanitization/htmlSanitizer.d.ts.map +1 -1
  51. package/lib/typescript/src/web/useOnChangeHtml.d.ts +1 -1
  52. package/lib/typescript/src/web/useOnChangeHtml.d.ts.map +1 -1
  53. package/lib/typescript/src/web/useOrderedListMarkerWidth.d.ts +3 -0
  54. package/lib/typescript/src/web/useOrderedListMarkerWidth.d.ts.map +1 -0
  55. package/package.json +1 -1
  56. package/src/index.tsx +1 -0
  57. package/src/web/EnrichedText.css +30 -10
  58. package/src/web/EnrichedText.tsx +22 -1
  59. package/src/web/EnrichedTextInput.tsx +4 -2
  60. package/src/web/ellipsizeMode/clip.ts +53 -0
  61. package/src/web/ellipsizeMode/headEllipsize.ts +190 -0
  62. package/src/web/ellipsizeMode/middleEllipsize.ts +214 -0
  63. package/src/web/ellipsizeMode/tailEllipsize.ts +54 -0
  64. package/src/web/ellipsizeMode/useEllipsizeMode.ts +62 -0
  65. package/src/web/ellipsizeMode/utils.ts +598 -0
  66. package/src/web/normalization/tiptapHtmlNormalizer.ts +2 -1
  67. package/src/web/pmPlugins/OrderedListMarkerWidthPlugin.ts +43 -0
  68. package/src/web/sanitization/htmlSanitizer.ts +1 -0
  69. package/src/web/useOnChangeHtml.ts +3 -3
  70. package/src/web/useOrderedListMarkerWidth.ts +20 -0
package/README.md CHANGED
@@ -11,7 +11,7 @@
11
11
  - ⚡ Fully native input and display components (Supports New Architecture only)
12
12
  - 💻 HTML-based parsing with live, synchronous text styling
13
13
  - 🎨 Fully customizable styles for seamless UI integration
14
- - 🌐 Solid mobile support with an experimental Web implementation
14
+ - 🌐 Solid mobile and web support
15
15
 
16
16
  `EnrichedTextInput`, the rich text input component is an uncontrolled input. This means that it doesn't use any state or props to store its value, but instead directly interacts with the underlying platform-specific components. Thanks to this, the component is really performant and simple to use while offering complex and advanced features no other solution has.
17
17
 
@@ -40,13 +40,12 @@ We can help you build your next dream product –
40
40
  - [EnrichedText component](#enrichedtext-component)
41
41
  - [API Reference](#api-reference)
42
42
  - [Known limitations](#known-limitations)
43
- - [Future Plans](#future-plans)
44
43
  - [Contributing](#contributing)
45
44
  - [License](#license)
46
45
 
47
46
  ## Prerequisites
48
47
 
49
- - `react-native-enriched-html` currently supports Android and iOS, Web implementation is still experimental.
48
+ - `react-native-enriched-html` currently supports Android, iOS and Web.
50
49
  - It works only with [the React Native New Architecture (Fabric)](https://reactnative.dev/architecture/landing-page) and supports following React Native releases: `0.81`, `0.82`, `0.83`, `0.84`, `0.85` and `0.86`.
51
50
 
52
51
  ## Installation
@@ -290,7 +289,7 @@ You can find some examples in the [usage section](#usage) or in the example app.
290
289
  - [onFocus](docs/INPUT_API_REFERENCE.md#onfocus) - emits whenever input focuses.
291
290
  - [onBlur](docs/INPUT_API_REFERENCE.md) - emits whenever input blurs.
292
291
  - [onChangeText](docs/INPUT_API_REFERENCE.md#onchangetext) - returns the input's text anytime it changes.
293
- - [onChangeHtml](docs/INPUT_API_REFERENCE.md#onchangehtml) - returns HTML string parsed from current input text and styles anytime it would change. As parsing the HTML on each input change is a pretty expensive operation, not assigning the event's callback will speed up iOS input a bit. We are considering adding some API to improve it, see [future plans](#future-plans).
292
+ - [onChangeHtml](docs/INPUT_API_REFERENCE.md#onchangehtml) - returns HTML string parsed from current input text and styles anytime it would change. As parsing the HTML on each input change is a pretty expensive operation, not assigning the event's callback will speed up iOS input a bit.
294
293
  - [onChangeSelection](docs/INPUT_API_REFERENCE.md#onchangeselection) - returns all the data needed for working with selections (as of now it's mainly useful for [links](#links)).
295
294
  - [onLinkDetected](docs/INPUT_API_REFERENCE.md#onlinkdetected) - returns link's detailed info whenever user selection is near one.
296
295
  - [onMentionDetected](docs/INPUT_API_REFERENCE.md#onmentiondetected) - returns mention's detailed info whenever user selection is near one.
@@ -379,10 +378,6 @@ See the [EnrichedText API Reference](docs/TEXT_API_REFERENCE.md) for the `Enrich
379
378
 
380
379
  - Only one level of lists is supported. We currently do not support nested lists.
381
380
 
382
- ## Future Plans
383
-
384
- - Web support: currently in the experimental stage. Details in [docs/WEB.md](docs/WEB.md).
385
-
386
381
  ## Contributing
387
382
 
388
383
  See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.
@@ -17,6 +17,10 @@
17
17
  margin-bottom: 0;
18
18
  }
19
19
 
20
+ .et-view p:empty::before {
21
+ content: '\200B';
22
+ }
23
+
20
24
  .eti-editor p.is-editor-empty:first-child::before {
21
25
  color: var(--et-placeholder-text-color, #adb5bd);
22
26
  content: attr(data-placeholder);
@@ -156,7 +160,11 @@
156
160
  .et-view ul:not([data-type]) {
157
161
  margin: 0;
158
162
  list-style: none;
159
- padding-left: calc(var(--et-ul-margin-left, 16px) + var(--et-ul-gap-width, 16px));
163
+ padding-left: calc(
164
+ var(--et-ul-margin-left, 16px) +
165
+ var(--et-ul-bullet-size, 8px) +
166
+ var(--et-ul-gap-width, 16px)
167
+ );
160
168
  }
161
169
 
162
170
  .eti-editor ul:not([data-type]) > li,
@@ -179,14 +187,20 @@
179
187
  margin-right: var(--et-ul-gap-width, 16px);
180
188
 
181
189
  position: relative;
182
- top: -0.1em;
190
+ top: calc(var(--et-ul-bullet-size, 8px) * 0.5 - 0.35em);
183
191
  }
184
192
 
185
193
  .eti-editor ol,
186
194
  .et-view ol {
187
195
  margin: 0;
188
196
  list-style: none;
189
- padding-left: calc(var(--et-ol-margin-left, 16px) + var(--et-ol-gap-width, 16px));
197
+ /* marker column grows to fit the widest counter ("N."), floored at the
198
+ configured margin. */
199
+ --et-ol-marker-col: max(
200
+ var(--et-ol-margin-left, 16px),
201
+ calc((var(--et-ol-digits, 1) + 1) * 1ch)
202
+ );
203
+ padding-left: calc(var(--et-ol-marker-col) + var(--et-ol-gap-width, 16px));
190
204
  counter-reset: et-ol;
191
205
  }
192
206
 
@@ -202,10 +216,10 @@
202
216
  .et-view ol > li::before {
203
217
  content: counter(et-ol) '.';
204
218
  flex-shrink: 0;
205
- width: var(--et-ol-margin-left, 16px);
219
+ width: var(--et-ol-marker-col, var(--et-ol-margin-left, 16px));
206
220
  text-align: right;
207
- margin-right: calc(var(--et-ol-gap-width, 16px) / 2);
208
- margin-left: calc(-1 * (var(--et-ol-margin-left, 16px) + (var(--et-ol-gap-width, 16px) / 2)));
221
+ margin-right: calc(var(--et-ol-gap-width, 16px));
222
+ margin-left: calc(-1 * (var(--et-ol-marker-col, var(--et-ol-margin-left, 16px)) + var(--et-ol-gap-width, 16px)));
209
223
 
210
224
  color: var(--et-ol-marker-color, currentColor);
211
225
  font-weight: var(--et-ol-marker-font-weight, inherit);
@@ -258,7 +272,11 @@
258
272
  .eti-editor ul[data-type='checkboxList'] {
259
273
  margin: 0;
260
274
  list-style: none;
261
- padding-left: calc(var(--et-checkbox-margin-left, 16px) + var(--et-checkbox-gap-width, 16px));
275
+ padding-left: calc(
276
+ var(--et-checkbox-margin-left, 16px) +
277
+ var(--et-checkbox-box-size, 24px) +
278
+ var(--et-checkbox-gap-width, 16px)
279
+ );
262
280
  }
263
281
 
264
282
  .eti-editor ul[data-type='checkboxList'] > li {
@@ -279,7 +297,7 @@
279
297
 
280
298
  margin-top: 0;
281
299
  position: relative;
282
- top: 0.15em;
300
+ top: calc(var(--et-checkbox-box-size, 24px) * 0.5 - 0.35em);
283
301
  }
284
302
 
285
303
  .eti-editor ul[data-type='checkboxList'] > li > label input[type='checkbox'] {
@@ -301,7 +319,9 @@
301
319
  margin: 0;
302
320
  list-style: none;
303
321
  padding-left: calc(
304
- var(--et-checkbox-margin-left, 16px) + var(--et-checkbox-gap-width, 16px)
322
+ var(--et-checkbox-margin-left, 16px) +
323
+ var(--et-checkbox-box-size, 24px) +
324
+ var(--et-checkbox-gap-width, 16px)
305
325
  );
306
326
  }
307
327
 
@@ -328,7 +348,7 @@
328
348
 
329
349
  margin-top: 0;
330
350
  position: relative;
331
- top: 0.15em;
351
+ top: calc(var(--et-checkbox-box-size, 24px) * 0.5 - 0.35em);
332
352
  }
333
353
 
334
354
  .et-view ul[data-type="checkbox"] > li > label {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { memo, useImperativeHandle, useMemo, useRef } from 'react';
3
+ import { memo, useImperativeHandle, useMemo, useRef, useState } from 'react';
4
4
  import './EnrichedText.css';
5
5
  import { enrichedTextStyleToCSSProperties } from "./styleConversion/enrichedTextStyleToCSSProperties.js";
6
6
  import { mergeWithDefaultEnrichedTextHtmlStyle } from "./styleConversion/htmlStyleToCSSVariables.js";
@@ -13,9 +13,11 @@ import { prepareHtmlForWeb } from "./normalization/prepareHtmlForWeb.js";
13
13
  import { INLINE_IMAGE_CSS_VARIABLES } from "./styleConversion/inlineImageCSSVariables.js";
14
14
  import { useImageErrorFallback } from "./useImageErrorFallback.js";
15
15
  import { usePressInteractions } from "./usePressInteractions.js";
16
+ import { useEllipsizeMode } from "./ellipsizeMode/useEllipsizeMode.js";
16
17
  import { adaptWebToNativeEvent } from "./adaptWebToNativeEvent.js";
17
18
  import { useStableRef } from "./useStableRef.js";
18
19
  import { assertBrowserEnvironment } from "./assertBrowserEnvironment.js";
20
+ import { useOrderedListMarkerWidth } from "./useOrderedListMarkerWidth.js";
19
21
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
20
22
  export const EnrichedText = /*#__PURE__*/memo(({
21
23
  ref,
@@ -23,6 +25,8 @@ export const EnrichedText = /*#__PURE__*/memo(({
23
25
  htmlStyle,
24
26
  style,
25
27
  selectionColor,
28
+ ellipsizeMode = 'tail',
29
+ numberOfLines = 0,
26
30
  selectable = false,
27
31
  useHtmlNormalizer = true,
28
32
  sanitizationConfig,
@@ -47,6 +51,7 @@ export const EnrichedText = /*#__PURE__*/memo(({
47
51
  }));
48
52
  const sanitizedHtml = useMemo(() => sanitizeHtml(children, sanitizationConfig), [children, sanitizationConfig]);
49
53
  const finalHtml = useMemo(() => prepareHtmlForWeb(sanitizedHtml, useHtmlNormalizer), [sanitizedHtml, useHtmlNormalizer]);
54
+ const [clampedHtml, setClampedHtml] = useState(numberOfLines <= 0 ? finalHtml : null);
50
55
  const resolvedHtmlStyle = useMemo(() => mergeWithDefaultEnrichedTextHtmlStyle(htmlStyle), [htmlStyle]);
51
56
  const textStyle = useMemo(() => enrichedTextStyleToCSSProperties(style ?? {}), [style]);
52
57
  const cssVars = useMemo(() => ({
@@ -63,8 +68,18 @@ export const EnrichedText = /*#__PURE__*/memo(({
63
68
  ...themingStyle,
64
69
  ...cssVars
65
70
  }), [textStyle, themingStyle, cssVars]);
71
+ useEllipsizeMode({
72
+ containerRef,
73
+ finalHtml,
74
+ ellipsizeMode,
75
+ numberOfLines,
76
+ setClampedHtml,
77
+ style,
78
+ htmlStyle
79
+ });
66
80
  const onLinkPressRef = useStableRef(onLinkPress);
67
81
  const onMentionPressRef = useStableRef(onMentionPress);
82
+ useOrderedListMarkerWidth(containerRef, finalHtml);
68
83
  useImageErrorFallback(containerRef);
69
84
  usePressInteractions(containerRef, onLinkPressRef, onMentionPressRef);
70
85
  return /*#__PURE__*/_jsxs(_Fragment, {
@@ -82,7 +97,7 @@ export const EnrichedText = /*#__PURE__*/memo(({
82
97
  target: -1
83
98
  })),
84
99
  dangerouslySetInnerHTML: {
85
- __html: finalHtml
100
+ __html: clampedHtml ?? ''
86
101
  }
87
102
  })]
88
103
  });
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useImperativeHandle","useMemo","useRef","enrichedTextStyleToCSSProperties","mergeWithDefaultEnrichedTextHtmlStyle","enrichedTextHtmlStyleToCSSVariables","ENRICHED_TEXT_CLASSNAME","enrichedTextThemingToCSSProperties","buildMentionRulesCSS","sanitizeHtml","prepareHtmlForWeb","INLINE_IMAGE_CSS_VARIABLES","useImageErrorFallback","usePressInteractions","adaptWebToNativeEvent","useStableRef","assertBrowserEnvironment","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","EnrichedText","ref","children","htmlStyle","style","selectionColor","selectable","useHtmlNormalizer","sanitizationConfig","onFocus","onBlur","onLinkPress","onMentionPress","containerRef","measureInWindow","measure","measureLayout","setNativeProps","focus","current","blur","sanitizedHtml","finalHtml","resolvedHtmlStyle","textStyle","cssVars","themingStyle","mentionRulesCSS","finalStyle","onLinkPressRef","onMentionPressRef","tabIndex","className","event","target","dangerouslySetInnerHTML","__html"],"sourceRoot":"../../../src","sources":["web/EnrichedText.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["memo","useImperativeHandle","useMemo","useRef","useState","enrichedTextStyleToCSSProperties","mergeWithDefaultEnrichedTextHtmlStyle","enrichedTextHtmlStyleToCSSVariables","ENRICHED_TEXT_CLASSNAME","enrichedTextThemingToCSSProperties","buildMentionRulesCSS","sanitizeHtml","prepareHtmlForWeb","INLINE_IMAGE_CSS_VARIABLES","useImageErrorFallback","usePressInteractions","useEllipsizeMode","adaptWebToNativeEvent","useStableRef","assertBrowserEnvironment","useOrderedListMarkerWidth","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","EnrichedText","ref","children","htmlStyle","style","selectionColor","ellipsizeMode","numberOfLines","selectable","useHtmlNormalizer","sanitizationConfig","onFocus","onBlur","onLinkPress","onMentionPress","containerRef","measureInWindow","measure","measureLayout","setNativeProps","focus","current","blur","sanitizedHtml","finalHtml","clampedHtml","setClampedHtml","resolvedHtmlStyle","textStyle","cssVars","themingStyle","mentionRulesCSS","finalStyle","onLinkPressRef","onMentionPressRef","tabIndex","className","event","target","dangerouslySetInnerHTML","__html"],"sourceRoot":"../../../src","sources":["web/EnrichedText.tsx"],"mappings":"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","ignoreList":[]}
@@ -40,6 +40,7 @@ import { EnrichedTextAlign } from "./formats/EnrichedTextAlign.js";
40
40
  import { StripBoldInStyledHeadingsPlugin } from "./pmPlugins/StripBoldInStyledHeadingsPlugin.js";
41
41
  import { StrictMarksPlugin } from "./pmPlugins/StrictMarksPlugin.js";
42
42
  import { MergeAdjacentSameKindBlocksPlugin } from "./pmPlugins/MergeAdjacentSameKindBlocksPlugin.js";
43
+ import { OrderedListMarkerWidthPlugin } from "./pmPlugins/OrderedListMarkerWidthPlugin.js";
43
44
  import { StripMarksInCodeBlockPlugin } from "./pmPlugins/StripMarksInCodeBlockPlugin.js";
44
45
  import { handleClipboardPasteImages } from "./pasteImages.js";
45
46
  import { MentionPlugin, setMention, startMention, useMentionEvents } from "./pmPlugins/MentionPlugin/index.js";
@@ -145,7 +146,7 @@ export const EnrichedTextInput = ({
145
146
  getLinkRegex: () => linkEmitterRef.current.linkRegex
146
147
  }), EnrichedImage, EnrichedMention, EnrichedHeading, EnrichedBlockquote, EnrichedCodeBlock, EnrichedListItem, EnrichedCheckboxItem, EnrichedUnorderedList, EnrichedOrderedList, EnrichedCheckboxList, EnrichedTextAlign, StripMarksInCodeBlockPlugin, StripMarksOnImagePlugin, StripBoldInStyledHeadingsPlugin.configure({
147
148
  getHtmlStyle: () => htmlStyleRef.current
148
- }), MergeAdjacentSameKindBlocksPlugin, StrictMarksPlugin, MentionPlugin.configure({
149
+ }), MergeAdjacentSameKindBlocksPlugin, OrderedListMarkerWidthPlugin, StrictMarksPlugin, MentionPlugin.configure({
149
150
  getIndicators: () => mentionIndicatorsRef.current
150
151
  }), ShortcutPlugin.configure({
151
152
  getHtmlStyle: () => htmlStyleRef.current
@@ -231,7 +232,7 @@ export const EnrichedTextInput = ({
231
232
  }, [editor, resolvedHtmlStyle]);
232
233
  const getMentionCallbacks = useCallback(() => mentionCallbacksRef.current, [mentionCallbacksRef]);
233
234
  useMentionEvents(editor, getMentionCallbacks);
234
- useOnChangeHtml(editor, onChangeHtml, sanitizationConfig);
235
+ useOnChangeHtml(editor, () => sanitizationConfigRef.current, onChangeHtml);
235
236
  useOnChangeText(editor, onChangeText);
236
237
  useOnChangeState(editor, resolvedHtmlStyle, onChangeState);
237
238
  useOnLinkDetected(editor, linkEmitterRef);
@@ -246,7 +247,7 @@ export const EnrichedTextInput = ({
246
247
  to: nativePosToTiptapPos(doc, end)
247
248
  }));
248
249
  },
249
- getHTML: () => Promise.resolve(normalizeHtmlFromTiptap(editor.getHTML(), sanitizationConfigRef.current)),
250
+ getHTML: () => Promise.resolve(normalizeHtmlFromTiptap(editor.getHTML(), () => sanitizationConfigRef.current)),
250
251
  toggleBold: () => runFocused(editor, c => c.toggleBold()),
251
252
  toggleItalic: () => runFocused(editor, c => c.toggleItalic()),
252
253
  toggleUnderline: () => runFocused(editor, c => c.toggleUnderline()),
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useImperativeHandle","useMemo","useRef","adaptWebToNativeEvent","tiptapPosToNativePos","nativePosToTiptapPos","nativeLeafText","useEditor","EditorContent","Document","Paragraph","Text","History","Placeholder","useOnChangeHtml","useOnChangeText","useOnChangeState","useOnLinkDetected","prepareHtmlForTiptap","normalizeHtmlFromTiptap","ENRICHED_TEXT_INPUT_DEFAULT_PROPS","enrichedInputStyleToCSSProperties","enrichedInputThemingToCSSProperties","buildMentionRulesCSS","htmlStyleToCSSVariables","mergeWithDefaultHtmlStyle","EnrichedBold","EnrichedItalic","EnrichedStrike","EnrichedUnderline","EnrichedCode","EnrichedHeading","EnrichedBlockquote","EnrichedCodeBlock","EnrichedImage","EnrichedLink","setLink","removeLink","EnrichedMention","EnrichedListItem","EnrichedUnorderedList","EnrichedOrderedList","EnrichedCheckboxItem","EnrichedCheckboxList","EnrichedTextAlign","StripBoldInStyledHeadingsPlugin","StrictMarksPlugin","MergeAdjacentSameKindBlocksPlugin","StripMarksInCodeBlockPlugin","handleClipboardPasteImages","MentionPlugin","setMention","startMention","useMentionEvents","StripMarksOnImagePlugin","ShortcutPlugin","TextShortcutsPlugin","returnKeyTypeToEnterKeyHint","ENRICHED_TEXT_INPUT_CLASSNAME","AutolinkPlugin","useStableRef","checkMentionAttributes","sanitizeMentionAttributes","assertBrowserEnvironment","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","runFocused","editor","apply","chain","focus","run","EnrichedTextInput","ref","defaultValue","autoFocus","editable","placeholder","placeholderTextColor","cursorColor","selectionColor","autoCapitalize","scrollEnabled","mentionIndicators","slice","onFocus","style","onBlur","onChangeSelection","onKeyPress","onChangeText","onChangeHtml","onChangeState","onLinkDetected","onSubmitEditing","returnKeyType","submitBehavior","onPasteImages","onMentionDetected","onStartMention","onChangeMention","onEndMention","linkRegex","htmlStyle","useHtmlNormalizer","sanitizationConfig","textShortcuts","tiptapContent","resolvedHtmlStyle","mentionCallbacks","htmlStyleRef","onPasteImagesRef","mentionIndicatorsRef","submitBehaviorRef","onSubmitEditingRef","onKeyPressRef","useHtmlNormalizerRef","sanitizationConfigRef","mentionCallbacksRef","textShortcutsRef","editorInstanceRef","handleKeyDown","doc","event","current","key","sb","preventDefault","text","content","size","commands","blur","linkEmitterRef","lastEmitted","extensions","configure","getLinkRegex","getHtmlStyle","getIndicators","getTextShortcuts","getLinkEmitter","showOnlyWhenEditable","autofocus","onCreate","_editor","setContent","target","onSelectionUpdate","state","from","to","selection","start","end","editorProps","view","handlePaste","_view","attributes","enterkeyhint","transformPastedHTML","html","dom","setAttribute","normalizeBoldInStyledHeadings","getMentionCallbacks","setValue","value","setSelection","c","setTextSelection","getHTML","Promise","resolve","toggleBold","toggleItalic","toggleUnderline","toggleStrikeThrough","toggleStrike","toggleInlineCode","toggleCode","toggleH1","toggleHeading","level","toggleH2","toggleH3","toggleH4","toggleH5","toggleH6","toggleCodeBlock","toggleBlockQuote","toggleBlockquote","toggleOrderedList","toggleUnorderedList","toggleCheckboxList","checked","url","indicator","setImage","src","width","height","measure","measureInWindow","measureLayout","setNativeProps","setTextAlignment","alignment","unsetTextAlign","setTextAlign","editorStyle","cssVars","themingStyle","mentionRulesCSS","finalStyle","children","className"],"sourceRoot":"../../../src","sources":["web/EnrichedTextInput.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useImperativeHandle","useMemo","useRef","adaptWebToNativeEvent","tiptapPosToNativePos","nativePosToTiptapPos","nativeLeafText","useEditor","EditorContent","Document","Paragraph","Text","History","Placeholder","useOnChangeHtml","useOnChangeText","useOnChangeState","useOnLinkDetected","prepareHtmlForTiptap","normalizeHtmlFromTiptap","ENRICHED_TEXT_INPUT_DEFAULT_PROPS","enrichedInputStyleToCSSProperties","enrichedInputThemingToCSSProperties","buildMentionRulesCSS","htmlStyleToCSSVariables","mergeWithDefaultHtmlStyle","EnrichedBold","EnrichedItalic","EnrichedStrike","EnrichedUnderline","EnrichedCode","EnrichedHeading","EnrichedBlockquote","EnrichedCodeBlock","EnrichedImage","EnrichedLink","setLink","removeLink","EnrichedMention","EnrichedListItem","EnrichedUnorderedList","EnrichedOrderedList","EnrichedCheckboxItem","EnrichedCheckboxList","EnrichedTextAlign","StripBoldInStyledHeadingsPlugin","StrictMarksPlugin","MergeAdjacentSameKindBlocksPlugin","OrderedListMarkerWidthPlugin","StripMarksInCodeBlockPlugin","handleClipboardPasteImages","MentionPlugin","setMention","startMention","useMentionEvents","StripMarksOnImagePlugin","ShortcutPlugin","TextShortcutsPlugin","returnKeyTypeToEnterKeyHint","ENRICHED_TEXT_INPUT_CLASSNAME","AutolinkPlugin","useStableRef","checkMentionAttributes","sanitizeMentionAttributes","assertBrowserEnvironment","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","runFocused","editor","apply","chain","focus","run","EnrichedTextInput","ref","defaultValue","autoFocus","editable","placeholder","placeholderTextColor","cursorColor","selectionColor","autoCapitalize","scrollEnabled","mentionIndicators","slice","onFocus","style","onBlur","onChangeSelection","onKeyPress","onChangeText","onChangeHtml","onChangeState","onLinkDetected","onSubmitEditing","returnKeyType","submitBehavior","onPasteImages","onMentionDetected","onStartMention","onChangeMention","onEndMention","linkRegex","htmlStyle","useHtmlNormalizer","sanitizationConfig","textShortcuts","tiptapContent","resolvedHtmlStyle","mentionCallbacks","htmlStyleRef","onPasteImagesRef","mentionIndicatorsRef","submitBehaviorRef","onSubmitEditingRef","onKeyPressRef","useHtmlNormalizerRef","sanitizationConfigRef","mentionCallbacksRef","textShortcutsRef","editorInstanceRef","handleKeyDown","doc","event","current","key","sb","preventDefault","text","content","size","commands","blur","linkEmitterRef","lastEmitted","extensions","configure","getLinkRegex","getHtmlStyle","getIndicators","getTextShortcuts","getLinkEmitter","showOnlyWhenEditable","autofocus","onCreate","_editor","setContent","target","onSelectionUpdate","state","from","to","selection","start","end","editorProps","view","handlePaste","_view","attributes","enterkeyhint","transformPastedHTML","html","dom","setAttribute","normalizeBoldInStyledHeadings","getMentionCallbacks","setValue","value","setSelection","c","setTextSelection","getHTML","Promise","resolve","toggleBold","toggleItalic","toggleUnderline","toggleStrikeThrough","toggleStrike","toggleInlineCode","toggleCode","toggleH1","toggleHeading","level","toggleH2","toggleH3","toggleH4","toggleH5","toggleH6","toggleCodeBlock","toggleBlockQuote","toggleBlockquote","toggleOrderedList","toggleUnorderedList","toggleCheckboxList","checked","url","indicator","setImage","src","width","height","measure","measureInWindow","measureLayout","setNativeProps","setTextAlignment","alignment","unsetTextAlign","setTextAlign","editorStyle","cssVars","themingStyle","mentionRulesCSS","finalStyle","children","className"],"sourceRoot":"../../../src","sources":["web/EnrichedTextInput.tsx"],"mappings":";;AAAA,SACEA,WAAW,EACXC,SAAS,EACTC,mBAAmB,EACnBC,OAAO,EACPC,MAAM,QAED,OAAO;AACd,OAAO,oBAAoB;AAM3B,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SACEC,oBAAoB,EACpBC,oBAAoB,EACpBC,cAAc,QACT,sBAAmB;AAC1B,SACEC,SAAS,EACTC,aAAa,QAGR,eAAe;AACtB,OAAOC,QAAQ,MAAM,4BAA4B;AACjD,OAAOC,SAAS,MAAM,6BAA6B;AACnD,OAAOC,IAAI,MAAM,wBAAwB;AACzC,OAAOC,OAAO,MAAM,2BAA2B;AAC/C,SAASC,WAAW,QAAQ,gCAAgC;AAC5D,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,iBAAiB,QAAQ,wBAAqB;AAEvD,SACEC,oBAAoB,EACpBC,uBAAuB,QAClB,yCAAsC;AAC7C,SAASC,iCAAiC,QAAQ,2CAAwC;AAC1F,SAASC,iCAAiC,QAAQ,wDAAqD;AACvG,SAASC,mCAAmC,QAAQ,qDAAkD;AACtG,SAASC,oBAAoB,QAAQ,2CAAwC;AAC7E,SACEC,uBAAuB,EACvBC,yBAAyB,QACpB,8CAA2C;AAClD,SAASC,YAAY,QAAQ,2BAAwB;AACrD,SAASC,cAAc,QAAQ,6BAA0B;AACzD,SAASC,cAAc,QAAQ,6BAA0B;AACzD,SAASC,iBAAiB,QAAQ,gCAA6B;AAC/D,SAASC,YAAY,QAAQ,2BAAwB;AACrD,SAASC,eAAe,QAAQ,8BAA2B;AAC3D,SAASC,kBAAkB,QAAQ,iCAA8B;AACjE,SAASC,iBAAiB,QAAQ,gCAA6B;AAC/D,SAASC,aAAa,QAAQ,4BAAyB;AACvD,SAASC,YAAY,EAAEC,OAAO,EAAEC,UAAU,QAAQ,2BAAwB;AAC1E,SAASC,eAAe,QAAQ,8BAA2B;AAC3D,SAASC,gBAAgB,QAAQ,+BAA4B;AAC7D,SAASC,qBAAqB,QAAQ,oCAAiC;AACvE,SAASC,mBAAmB,QAAQ,kCAA+B;AACnE,SAASC,oBAAoB,QAAQ,mCAAgC;AACrE,SAASC,oBAAoB,QAAQ,mCAAgC;AACrE,SAASC,iBAAiB,QAAQ,gCAA6B;AAC/D,SAASC,+BAA+B,QAAQ,gDAA6C;AAC7F,SAASC,iBAAiB,QAAQ,kCAA+B;AACjE,SAASC,iCAAiC,QAAQ,kDAA+C;AACjG,SAASC,4BAA4B,QAAQ,6CAA0C;AACvF,SAASC,2BAA2B,QAAQ,4CAAyC;AACrF,SAASC,0BAA0B,QAAQ,kBAAe;AAC1D,SACEC,aAAa,EACbC,UAAU,EACVC,YAAY,EACZC,gBAAgB,QACX,oCAA2B;AAClC,SAASC,uBAAuB,QAAQ,wCAAqC;AAC7E,SAASC,cAAc,QAAQ,+BAA4B;AAC3D,SAASC,mBAAmB,QAAQ,oCAAiC;AACrE,SAASC,2BAA2B,QAAQ,kCAA+B;AAC3E,SAASC,6BAA6B,QAAQ,2BAAwB;AACtE,SAASC,cAAc,QAAQ,qCAA4B;AAC3D,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SACEC,sBAAsB,EACtBC,yBAAyB,QACpB,iCAA8B;AACrC,SAASC,wBAAwB,QAAQ,+BAA4B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAEtE,SAASC,UAAUA,CACjBC,MAAc,EACdC,KAAkD,EAClD;EACAA,KAAK,CAACD,MAAM,CAACE,KAAK,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC,CAACC,GAAG,CAAC,CAAC;AACrC;AAEA,OAAO,MAAMC,iBAAiB,GAAGA,CAAC;EAChCC,GAAG;EACHC,YAAY;EACZC,SAAS,GAAG,KAAK;EACjBC,QAAQ,GAAG7D,iCAAiC,CAAC6D,QAAQ;EACrDC,WAAW,GAAG,EAAE;EAChBC,oBAAoB;EACpBC,WAAW;EACXC,cAAc;EACdC,cAAc,GAAGlE,iCAAiC,CAACkE,cAAc;EACjEC,aAAa,GAAGnE,iCAAiC,CAACmE,aAAa;EAC/DC,iBAAiB,GAAGpE,iCAAiC,CAACoE,iBAAiB,CAACC,KAAK,CAAC,CAAC;EAC/EC,OAAO;EACPC,KAAK;EACLC,MAAM;EACNC,iBAAiB;EACjBC,UAAU;EACVC,YAAY;EACZC,YAAY;EACZC,aAAa;EACbC,cAAc;EACdC,eAAe;EACfC,aAAa;EACbC,cAAc;EACdC,aAAa;EACbC,iBAAiB;EACjBC,cAAc;EACdC,eAAe;EACfC,YAAY;EACZC,SAAS;EACTC,SAAS;EACTC,iBAAiB,GAAGzF,iCAAiC,CAACyF,iBAAiB;EACvEC,kBAAkB;EAClBC,aAAa,GAAG3F,iCAAiC,CAAC2F;AAC5B,CAAC,KAAK;EAC5B/C,wBAAwB,CAAC,mBAAmB,CAAC;EAE7C,MAAMgD,aAAa,GACjBjC,YAAY,IAAI,IAAI,GAChB7D,oBAAoB,CAClB6D,YAAY,EACZ8B,iBAAiB,EACjBC,kBACF,CAAC,GACD/B,YAAY;EAElB,MAAMkC,iBAAiB,GAAGhH,OAAO,CAC/B,MAAMwB,yBAAyB,CAACmF,SAAS,CAAC,EAC1C,CAACA,SAAS,CACZ,CAAC;EACD,MAAMM,gBAAgB,GAAGjH,OAAO,CAC9B,OAAO;IACLuG,cAAc;IACdC,eAAe;IACfC,YAAY;IACZH;EACF,CAAC,CAAC,EACF,CAACC,cAAc,EAAEC,eAAe,EAAEC,YAAY,EAAEH,iBAAiB,CACnE,CAAC;EAED,MAAMY,YAAY,GAAGtD,YAAY,CAACoD,iBAAiB,CAAC;EACpD,MAAMG,gBAAgB,GAAGvD,YAAY,CAACyC,aAAa,CAAC;EACpD,MAAMe,oBAAoB,GAAGxD,YAAY,CAAC2B,iBAAiB,CAAC;EAC5D,MAAM8B,iBAAiB,GAAGzD,YAAY,CAACwC,cAAc,CAAC;EACtD,MAAMkB,kBAAkB,GAAG1D,YAAY,CAACsC,eAAe,CAAC;EACxD,MAAMqB,aAAa,GAAG3D,YAAY,CAACiC,UAAU,CAAC;EAC9C,MAAM2B,oBAAoB,GAAG5D,YAAY,CAACgD,iBAAiB,CAAC;EAC5D,MAAMa,qBAAqB,GAAG7D,YAAY,CAACiD,kBAAkB,CAAC;EAC9D,MAAMa,mBAAmB,GAAG9D,YAAY,CAACqD,gBAAgB,CAAC;EAC1D,MAAMU,gBAAgB,GAAG/D,YAAY,CAACkD,aAAa,CAAC;EAEpD,MAAMc,iBAAiB,GAAG3H,MAAM,CAAgB,IAAI,CAAC;EAErD,MAAM4H,aAAa,GAAGA,CAACC,GAAS,EAAEC,KAAoB,KAAc;IAClER,aAAa,CAACS,OAAO,GAAG9H,qBAAqB,CAAC6H,KAAK,EAAE;MAAEE,GAAG,EAAEF,KAAK,CAACE;IAAI,CAAC,CAAC,CAAC;IACzE,IAAIF,KAAK,CAACE,GAAG,KAAK,OAAO,EAAE;MACzB,OAAO,KAAK;IACd;IAEA,MAAMC,EAAE,GAAGb,iBAAiB,CAACW,OAAO;IACpC,IAAIE,EAAE,KAAK,QAAQ,IAAIA,EAAE,KAAK,eAAe,EAAE;MAC7CH,KAAK,CAACI,cAAc,CAAC,CAAC;MACtB,MAAMC,IAAI,GAAG/H,cAAc,CAACyH,GAAG,EAAE,CAAC,EAAEA,GAAG,CAACO,OAAO,CAACC,IAAI,CAAC;MACrDhB,kBAAkB,CAACU,OAAO,GAAG9H,qBAAqB,CAAC6H,KAAK,EAAE;QAAEK;MAAK,CAAC,CAAC,CAAC;MACpE,IAAIF,EAAE,KAAK,eAAe,EAAE;QAC1BN,iBAAiB,CAACI,OAAO,EAAEO,QAAQ,CAACC,IAAI,CAAC,CAAC;MAC5C;MACA,OAAO,IAAI;IACb;IAEA,OAAO,KAAK;EACd,CAAC;EAED,MAAMC,cAAc,GAAGxI,MAAM,CAAmB;IAC9CyG,SAAS;IACTT,cAAc;IACdyC,WAAW,EAAE;EACf,CAAC,CAAC;EACF5I,SAAS,CAAC,MAAM;IACd2I,cAAc,CAACT,OAAO,CAACtB,SAAS,GAAGA,SAAS;IAC5C+B,cAAc,CAACT,OAAO,CAAC/B,cAAc,GAAGA,cAAc;EACxD,CAAC,EAAE,CAACS,SAAS,EAAET,cAAc,CAAC,CAAC;EAE/B,MAAM0C,UAAU,GAAG3I,OAAO,CACxB,MAAM,CACJQ,QAAQ,EACRC,SAAS,EACTC,IAAI,EACJC,OAAO,EACPc,YAAY,EACZC,cAAc,EACdE,iBAAiB,EACjBD,cAAc,EACdE,YAAY,EACZK,YAAY,CAAC0G,SAAS,CAAC;IACrBC,YAAY,EAAEA,CAAA,KAAMJ,cAAc,CAACT,OAAO,CAACtB;EAC7C,CAAC,CAAC,EACFzE,aAAa,EACbI,eAAe,EACfP,eAAe,EACfC,kBAAkB,EAClBC,iBAAiB,EACjBM,gBAAgB,EAChBG,oBAAoB,EACpBF,qBAAqB,EACrBC,mBAAmB,EACnBE,oBAAoB,EACpBC,iBAAiB,EACjBK,2BAA2B,EAC3BM,uBAAuB,EACvBV,+BAA+B,CAACgG,SAAS,CAAC;IACxCE,YAAY,EAAEA,CAAA,KAAM5B,YAAY,CAACc;EACnC,CAAC,CAAC,EACFlF,iCAAiC,EACjCC,4BAA4B,EAC5BF,iBAAiB,EACjBK,aAAa,CAAC0F,SAAS,CAAC;IACtBG,aAAa,EAAEA,CAAA,KAAM3B,oBAAoB,CAACY;EAC5C,CAAC,CAAC,EACFzE,cAAc,CAACqF,SAAS,CAAC;IACvBE,YAAY,EAAEA,CAAA,KAAM5B,YAAY,CAACc;EACnC,CAAC,CAAC,EACFxE,mBAAmB,CAACoF,SAAS,CAAC;IAC5BI,gBAAgB,EAAEA,CAAA,KAAMrB,gBAAgB,CAACK,OAAO;IAChDc,YAAY,EAAEA,CAAA,KAAM5B,YAAY,CAACc;EACnC,CAAC,CAAC,EACFrE,cAAc,CAACiF,SAAS,CAAC;IACvBK,cAAc,EAAEA,CAAA,KAAMR,cAAc,CAACT;EACvC,CAAC,CAAC,EACFpH,WAAW,CAACgI,SAAS,CAAC;IACpB3D,WAAW;IACXiE,oBAAoB,EAAE;EACxB,CAAC,CAAC,CACH,EACD,CAACjE,WAAW,EAAEiC,YAAY,EAAEE,oBAAoB,EAAEO,gBAAgB,CACpE,CAAC;EAED,MAAMpD,MAAM,GAAGjE,SAAS,CACtB;IACEqI,UAAU;IACV3D,QAAQ;IACRmE,SAAS,EAAEpE,SAAS;IACpBqE,QAAQ,EAAEA,CAAC;MAAE7E,MAAM,EAAE8E;IAAQ,CAAC,KAAK;MACjC;MACAA,OAAO,CAACd,QAAQ,CAACe,UAAU,CAACvC,aAAa,IAAI,EAAE,CAAC;IAClD,CAAC;IACDtB,OAAO,EAAEA,CAAC;MAAEsC;IAAM,CAAC,KAAK;MACtBtC,OAAO,GAAGvF,qBAAqB,CAAC6H,KAAK,EAAE;QAAEwB,MAAM,EAAE,CAAC;MAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IACD5D,MAAM,EAAEA,CAAC;MAAEoC;IAAM,CAAC,KAAK;MACrBpC,MAAM,GAAGzF,qBAAqB,CAAC6H,KAAK,EAAE;QAAEwB,MAAM,EAAE,CAAC;MAAE,CAAC,CAAC,CAAC;IACxD,CAAC;IACDC,iBAAiB,EAAEA,CAAC;MAAEjF,MAAM,EAAE8E;IAAQ,CAAC,KAAK;MAC1C,MAAM;QAAEI;MAAM,CAAC,GAAGJ,OAAO;MACzB,MAAM;QAAEK,IAAI;QAAEC;MAAG,CAAC,GAAGF,KAAK,CAACG,SAAS;MAEpC,MAAMC,KAAK,GAAG1J,oBAAoB,CAACsJ,KAAK,CAAC3B,GAAG,EAAE4B,IAAI,CAAC;MACnD,MAAMI,GAAG,GAAG3J,oBAAoB,CAACsJ,KAAK,CAAC3B,GAAG,EAAE6B,EAAE,CAAC;MAC/C,MAAMvB,IAAI,GAAG/H,cAAc,CAACoJ,KAAK,CAAC3B,GAAG,EAAE4B,IAAI,EAAEC,EAAE,CAAC;MAChD/D,iBAAiB,GAAG1F,qBAAqB,CAAC,IAAI,EAAE;QAAE2J,KAAK;QAAEC,GAAG;QAAE1B;MAAK,CAAC,CAAC,CAAC;IACxE,CAAC;IACD2B,WAAW,EAAE;MACXlC,aAAa,EAAEA,CAACmC,IAAI,EAAEjC,KAAK,KAAKF,aAAa,CAACmC,IAAI,CAACP,KAAK,CAAC3B,GAAG,EAAEC,KAAK,CAAC;MACpEkC,WAAW,EAAEA,CAACC,KAAK,EAAEnC,KAAK,KACxB9E,0BAA0B,CACxB8E,KAAK,EACL,MAAMH,iBAAiB,CAACI,OAAO,EAC/B,MAAMb,gBAAgB,CAACa,OACzB,CAAC;MACHmC,UAAU,EAAE;QACV9E,cAAc;QACd+E,YAAY,EAAE3G,2BAA2B,CAAC0C,aAAa;MACzD,CAAC;MACDkE,mBAAmB,EAAGC,IAAI,IAAK;QAC7B,OAAOrJ,oBAAoB,CACzBqJ,IAAI,EACJ9C,oBAAoB,CAACQ,OAAO,EAC5BP,qBAAqB,CAACO,OACxB,CAAC;MACH;IACF;EACF,CAAC,EACD,CAACjB,aAAa,EAAE4B,UAAU,CAC5B,CAAC;EAED7I,SAAS,CAAC,MAAM;IACd8H,iBAAiB,CAACI,OAAO,GAAGzD,MAAM,IAAI,IAAI;EAC5C,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAEZzE,SAAS,CAAC,MAAM;IACd,IAAI,CAACyE,MAAM,EAAE;IACb,IAAIgG,GAAgB;IACpB,IAAI;MACFA,GAAG,GAAGhG,MAAM,CAACyF,IAAI,CAACO,GAAG;IACvB,CAAC,CAAC,MAAM;MACN;IACF;IACAA,GAAG,CAACC,YAAY,CACd,cAAc,EACd/G,2BAA2B,CAAC0C,aAAa,CAC3C,CAAC;EACH,CAAC,EAAE,CAAC5B,MAAM,EAAE4B,aAAa,CAAC,CAAC;EAE3BrG,SAAS,CAAC,MAAM;IACdyE,MAAM,EAAEgE,QAAQ,CAACkC,6BAA6B,CAAC,CAAC;EAClD,CAAC,EAAE,CAAClG,MAAM,EAAEyC,iBAAiB,CAAC,CAAC;EAE/B,MAAM0D,mBAAmB,GAAG7K,WAAW,CACrC,MAAM6H,mBAAmB,CAACM,OAAO,EACjC,CAACN,mBAAmB,CACtB,CAAC;EAEDrE,gBAAgB,CAACkB,MAAM,EAAEmG,mBAAmB,CAAC;EAC7C7J,eAAe,CAAC0D,MAAM,EAAE,MAAMkD,qBAAqB,CAACO,OAAO,EAAEjC,YAAY,CAAC;EAC1EjF,eAAe,CAACyD,MAAM,EAAEuB,YAAY,CAAC;EACrC/E,gBAAgB,CAACwD,MAAM,EAAEyC,iBAAiB,EAAEhB,aAAa,CAAC;EAC1DhF,iBAAiB,CAACuD,MAAM,EAAEkE,cAAc,CAAC;EAEzC1I,mBAAmB,CACjB8E,GAAG,EACH,OAAkC;IAChCH,KAAK,EAAEA,CAAA,KAAMH,MAAM,CAACgE,QAAQ,CAAC7D,KAAK,CAAC,CAAC;IACpC8D,IAAI,EAAEA,CAAA,KAAMjE,MAAM,CAACgE,QAAQ,CAACC,IAAI,CAAC,CAAC;IAClCmC,QAAQ,EAAGC,KAAa,IACtBrG,MAAM,CAACgE,QAAQ,CAACe,UAAU,CACxBrI,oBAAoB,CAClB2J,KAAK,EACLpD,oBAAoB,CAACQ,OAAO,EAC5BP,qBAAqB,CAACO,OACxB,CACF,CAAC;IACH6C,YAAY,EAAEA,CAAChB,KAAK,EAAEC,GAAG,KAAK;MAC5B,MAAMhC,GAAG,GAAGvD,MAAM,CAACkF,KAAK,CAAC3B,GAAG;MAC5BxD,UAAU,CAACC,MAAM,EAAGuG,CAAC,IACnBA,CAAC,CAACC,gBAAgB,CAAC;QACjBrB,IAAI,EAAEtJ,oBAAoB,CAAC0H,GAAG,EAAE+B,KAAK,CAAC;QACtCF,EAAE,EAAEvJ,oBAAoB,CAAC0H,GAAG,EAAEgC,GAAG;MACnC,CAAC,CACH,CAAC;IACH,CAAC;IACDkB,OAAO,EAAEA,CAAA,KACPC,OAAO,CAACC,OAAO,CACbhK,uBAAuB,CACrBqD,MAAM,CAACyG,OAAO,CAAC,CAAC,EAChB,MAAMvD,qBAAqB,CAACO,OAC9B,CACF,CAAC;IACHmD,UAAU,EAAEA,CAAA,KAAM7G,UAAU,CAACC,MAAM,EAAGuG,CAAC,IAAKA,CAAC,CAACK,UAAU,CAAC,CAAC,CAAC;IAC3DC,YAAY,EAAEA,CAAA,KAAM9G,UAAU,CAACC,MAAM,EAAGuG,CAAC,IAAKA,CAAC,CAACM,YAAY,CAAC,CAAC,CAAC;IAC/DC,eAAe,EAAEA,CAAA,KAAM/G,UAAU,CAACC,MAAM,EAAGuG,CAAC,IAAKA,CAAC,CAACO,eAAe,CAAC,CAAC,CAAC;IACrEC,mBAAmB,EAAEA,CAAA,KAAMhH,UAAU,CAACC,MAAM,EAAGuG,CAAC,IAAKA,CAAC,CAACS,YAAY,CAAC,CAAC,CAAC;IACtEC,gBAAgB,EAAEA,CAAA,KAAMlH,UAAU,CAACC,MAAM,EAAGuG,CAAC,IAAKA,CAAC,CAACW,UAAU,CAAC,CAAC,CAAC;IACjEC,QAAQ,EAAEA,CAAA,KAAMpH,UAAU,CAACC,MAAM,EAAGuG,CAAC,IAAKA,CAAC,CAACa,aAAa,CAAC;MAAEC,KAAK,EAAE;IAAE,CAAC,CAAC,CAAC;IACxEC,QAAQ,EAAEA,CAAA,KAAMvH,UAAU,CAACC,MAAM,EAAGuG,CAAC,IAAKA,CAAC,CAACa,aAAa,CAAC;MAAEC,KAAK,EAAE;IAAE,CAAC,CAAC,CAAC;IACxEE,QAAQ,EAAEA,CAAA,KAAMxH,UAAU,CAACC,MAAM,EAAGuG,CAAC,IAAKA,CAAC,CAACa,aAAa,CAAC;MAAEC,KAAK,EAAE;IAAE,CAAC,CAAC,CAAC;IACxEG,QAAQ,EAAEA,CAAA,KAAMzH,UAAU,CAACC,MAAM,EAAGuG,CAAC,IAAKA,CAAC,CAACa,aAAa,CAAC;MAAEC,KAAK,EAAE;IAAE,CAAC,CAAC,CAAC;IACxEI,QAAQ,EAAEA,CAAA,KAAM1H,UAAU,CAACC,MAAM,EAAGuG,CAAC,IAAKA,CAAC,CAACa,aAAa,CAAC;MAAEC,KAAK,EAAE;IAAE,CAAC,CAAC,CAAC;IACxEK,QAAQ,EAAEA,CAAA,KAAM3H,UAAU,CAACC,MAAM,EAAGuG,CAAC,IAAKA,CAAC,CAACa,aAAa,CAAC;MAAEC,KAAK,EAAE;IAAE,CAAC,CAAC,CAAC;IACxEM,eAAe,EAAEA,CAAA,KAAM5H,UAAU,CAACC,MAAM,EAAGuG,CAAC,IAAKA,CAAC,CAACoB,eAAe,CAAC,CAAC,CAAC;IACrEC,gBAAgB,EAAEA,CAAA,KAAM7H,UAAU,CAACC,MAAM,EAAGuG,CAAC,IAAKA,CAAC,CAACsB,gBAAgB,CAAC,CAAC,CAAC;IACvEC,iBAAiB,EAAEA,CAAA,KAAM/H,UAAU,CAACC,MAAM,EAAGuG,CAAC,IAAKA,CAAC,CAACuB,iBAAiB,CAAC,CAAC,CAAC;IACzEC,mBAAmB,EAAEA,CAAA,KACnBhI,UAAU,CAACC,MAAM,EAAGuG,CAAC,IAAKA,CAAC,CAACwB,mBAAmB,CAAC,CAAC,CAAC;IACpDC,kBAAkB,EAAGC,OAAgB,IACnClI,UAAU,CAACC,MAAM,EAAGuG,CAAC,IAAKA,CAAC,CAACyB,kBAAkB,CAACC,OAAO,CAAC,CAAC;IAC1DrK,OAAO,EAAEA,CAAC0H,KAAa,EAAEC,GAAW,EAAE1B,IAAY,EAAEqE,GAAW,KAC7DtK,OAAO,CAACoC,MAAM,EAAEsF,KAAK,EAAEC,GAAG,EAAE1B,IAAI,EAAEqE,GAAG,CAAC;IACxCrK,UAAU,EAAEA,CAACyH,KAAa,EAAEC,GAAW,KACrC1H,UAAU,CAACmC,MAAM,EAAEsF,KAAK,EAAEC,GAAG,CAAC;IAChC1G,YAAY,EAAGsJ,SAAiB,IAAK;MACnCtJ,YAAY,CAACmB,MAAM,EAAEmI,SAAS,EAAEtF,oBAAoB,CAACY,OAAO,CAAC;IAC/D,CAAC;IACD7E,UAAU,EAAEA,CACVuJ,SAAiB,EACjBtE,IAAY,EACZ+B,UAAmC,KAChC;MACHtG,sBAAsB,CAACsG,UAAU,CAAC;MAClChH,UAAU,CACRoB,MAAM,EACNmI,SAAS,EACTtE,IAAI,EACJtE,yBAAyB,CAACqG,UAAU,CACtC,CAAC;IACH,CAAC;IACDwC,QAAQ,EAAEA,CAACC,GAAW,EAAEC,KAAa,EAAEC,MAAc,KACnDxI,UAAU,CAACC,MAAM,EAAGuG,CAAC,IAAKA,CAAC,CAAC6B,QAAQ,CAAC;MAAEC,GAAG;MAAEC,KAAK;MAAEC;IAAO,CAAC,CAAC,CAAC;IAC/DC,OAAO,EAAEA,CAAA,KAAM,CAAC,CAAC;IACjBC,eAAe,EAAEA,CAAA,KAAM,CAAC,CAAC;IACzBC,aAAa,EAAEA,CAAA,KAAM,CAAC,CAAC;IACvBC,cAAc,EAAEA,CAAA,KAAM,CAAC,CAAC;IACxBC,gBAAgB,EAAGC,SAAS,IAAK;MAC/B,IAAIA,SAAS,KAAK,MAAM,EAAE;QACxB9I,UAAU,CAACC,MAAM,EAAGuG,CAAC,IAAKA,CAAC,CAACuC,cAAc,CAAC,CAAC,CAAC;MAC/C,CAAC,MAAM;QACL/I,UAAU,CAACC,MAAM,EAAGuG,CAAC,IAAKA,CAAC,CAACwC,YAAY,CAACF,SAAS,CAAC,CAAC;MACtD;IACF;EACF,CAAC,CAAC,EACF,CAAC7I,MAAM,EAAE6C,oBAAoB,EAAEI,oBAAoB,EAAEC,qBAAqB,CAC5E,CAAC;EAED,MAAM8F,WAA0B,GAAGvN,OAAO,CACxC,MAAMoB,iCAAiC,CAACsE,KAAK,IAAI,CAAC,CAAC,EAAE;IAAEJ;EAAc,CAAC,CAAC,EACvE,CAACA,aAAa,EAAEI,KAAK,CACvB,CAAC;EAED,MAAM8H,OAAO,GAAGxN,OAAO,CACrB,MAAMuB,uBAAuB,CAACyF,iBAAiB,CAAC,EAChD,CAACA,iBAAiB,CACpB,CAAC;EAED,MAAMyG,YAAY,GAAGzN,OAAO,CAC1B,MACEqB,mCAAmC,CAAC;IAClC8D,WAAW;IACXD,oBAAoB;IACpBE;EACF,CAAC,CAAC,EACJ,CAACD,WAAW,EAAED,oBAAoB,EAAEE,cAAc,CACpD,CAAC;EAED,MAAMsI,eAAe,GAAG1N,OAAO,CAC7B,MAAMsB,oBAAoB,CAAC0F,iBAAiB,CAAC,EAC7C,CAACA,iBAAiB,CACpB,CAAC;EAED,MAAM2G,UAAU,GAAG3N,OAAO,CACxB,OAAO;IAAE,GAAGuN,WAAW;IAAE,GAAGC,OAAO;IAAE,GAAGC;EAAa,CAAC,CAAC,EACvD,CAACF,WAAW,EAAEC,OAAO,EAAEC,YAAY,CACrC,CAAC;EAED,oBACEpJ,KAAA,CAAAF,SAAA;IAAAyJ,QAAA,GACGF,eAAe,gBAAGzJ,IAAA;MAAA2J,QAAA,EAAQF;IAAe,CAAQ,CAAC,GAAG,IAAI,eAC1DzJ,IAAA,CAAC1D,aAAa;MACZgE,MAAM,EAAEA,MAAO;MACfsJ,SAAS,EAAEnK,6BAA8B;MACzCgC,KAAK,EAAEiI,UAAW;MAClB,oBAAkB1I;IAAY,CAC/B,CAAC;EAAA,CACF,CAAC;AAEP,CAAC","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ import { createSandbox, eatBackwardUntilFits, removeAfterTarget, scanLines } from "./utils.js";
4
+
5
+ // Truncate the content to `numberOfLines` by hard-cutting the overflow, with no
6
+ // ellipsis. We render the full HTML into a hidden sandbox and do a single
7
+ // forward line scan to learn where each rendered line begins. If the content
8
+ // fits, we keep it as it is. Otherwise we take the first node on the first
9
+ // forbidden line (line N+1) as the target, drop everything "to the right" of it
10
+ // in the document context, then we perform binary-search to find where to cut the
11
+ // content, so everything fits within line N. This works almost the same as tail,
12
+ // only without re-anchoring an ellipsis as we are truncating.
13
+ export function clip(container, finalHtml, numberOfLines, setClampedHtml) {
14
+ const {
15
+ sandbox,
16
+ lineTolerance
17
+ } = createSandbox(container, finalHtml);
18
+
19
+ // forward scan - we find the first element that overflows to the forbidden line
20
+ const {
21
+ lineStarts,
22
+ lineBottoms,
23
+ lastLine
24
+ } = scanLines(sandbox, lineTolerance);
25
+
26
+ // the node that starts the overflow
27
+ const targetNode = lastLine > numberOfLines ? lineStarts[numberOfLines + 1] : undefined;
28
+
29
+ // we remove content until everything fits within the given number of lines
30
+ if (targetNode) {
31
+ // remove all content on "the right" of the targetNode
32
+ removeAfterTarget(targetNode.node, sandbox);
33
+
34
+ // remove content backwards until it fits - unlike tail, clip adds no ellipsis
35
+ eatBackwardUntilFits(sandbox, lineBottoms[numberOfLines] ?? null, lineTolerance, false);
36
+ setClampedHtml(sandbox.innerHTML);
37
+ } else {
38
+ setClampedHtml(finalHtml);
39
+ }
40
+ container.removeChild(sandbox);
41
+ }
42
+ //# sourceMappingURL=clip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createSandbox","eatBackwardUntilFits","removeAfterTarget","scanLines","clip","container","finalHtml","numberOfLines","setClampedHtml","sandbox","lineTolerance","lineStarts","lineBottoms","lastLine","targetNode","undefined","node","innerHTML","removeChild"],"sourceRoot":"../../../../src","sources":["web/ellipsizeMode/clip.ts"],"mappings":";;AAAA,SACEA,aAAa,EACbC,oBAAoB,EACpBC,iBAAiB,EACjBC,SAAS,QACJ,YAAS;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,IAAIA,CAClBC,SAAyB,EACzBC,SAAiB,EACjBC,aAAqB,EACrBC,cAA6C,EAC7C;EACA,MAAM;IAAEC,OAAO;IAAEC;EAAc,CAAC,GAAGV,aAAa,CAACK,SAAS,EAAEC,SAAS,CAAC;;EAEtE;EACA,MAAM;IAAEK,UAAU;IAAEC,WAAW;IAAEC;EAAS,CAAC,GAAGV,SAAS,CACrDM,OAAO,EACPC,aACF,CAAC;;EAED;EACA,MAAMI,UAAU,GACdD,QAAQ,GAAGN,aAAa,GAAGI,UAAU,CAACJ,aAAa,GAAG,CAAC,CAAC,GAAGQ,SAAS;;EAEtE;EACA,IAAID,UAAU,EAAE;IACd;IACAZ,iBAAiB,CAACY,UAAU,CAACE,IAAI,EAAEP,OAAO,CAAC;;IAE3C;IACAR,oBAAoB,CAClBQ,OAAO,EACPG,WAAW,CAACL,aAAa,CAAC,IAAI,IAAI,EAClCG,aAAa,EACb,KACF,CAAC;IAEDF,cAAc,CAACC,OAAO,CAACQ,SAAS,CAAC;EACnC,CAAC,MAAM;IACLT,cAAc,CAACF,SAAS,CAAC;EAC3B;EAEAD,SAAS,CAACa,WAAW,CAACT,OAAO,CAAC;AAChC","ignoreList":[]}
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+
3
+ import { BLOCK_TAGS, createSandbox, eatForwardUntilFits, ELLIPSIS_CHAR, fitsWithin, getBlockParent, innermostEmptyBlock, markLastListOrdinal, removeAndCleanUp, restoreLastListOrdinal, scanLines, splitAtMark, walkerFilter } from "./utils.js";
4
+
5
+ // Keep the total of `numberOfLines` lines - the first original N-1 lines and
6
+ // the last one starting with a leading ellipsis, hiding the truncation between
7
+ // that last line and the first N-1 lines. We render the full HTML into a hidden
8
+ // sandbox and forward-scan to find where each line begins. If it fits, keep as it is.
9
+ // Otherwise:
10
+ // - If more than one line overflows (lastLine > N+1), there are whole middle
11
+ // lines we can delete outright. We split the DOM at the start of line N
12
+ // and at the second-to-last line, then walk between those two points
13
+ // removing every node in that range.
14
+ // - If exactly one line overflows, we proceed further.
15
+ //
16
+ // When the last two lines live in different blocks we can still safely drop
17
+ // that second-to-last line. We then insert the "..." at the start of the surviving tail
18
+ // (adding a <br> to make sure it sits at the absolute line start). We then perform
19
+ // binary-search to find the place to cut the content, so it fits together on that
20
+ // single ellipsis line.
21
+ export function headEllipsize(container, finalHtml, numberOfLines, setClampedHtml) {
22
+ const {
23
+ sandbox,
24
+ lineTolerance
25
+ } = createSandbox(container, finalHtml);
26
+ const range = document.createRange();
27
+
28
+ // forward scan - we gather data about nodes that start each new line
29
+ const {
30
+ lineStarts,
31
+ lastLine: originalLastLine
32
+ } = scanLines(sandbox, lineTolerance);
33
+
34
+ // we need to truncate as number of lines overflows the given maximum
35
+ if (originalLastLine > numberOfLines) {
36
+ // remember the ordinal of the <li> that owns the last line before we strip
37
+ // the items above it, so it keeps its original number
38
+ markLastListOrdinal(lineStarts[originalLastLine].node, sandbox);
39
+ let targetNode = null;
40
+ let overflowStartNode = null;
41
+
42
+ // if true, it means that there are lines that we can safely delete
43
+ // between the first N-1 valid ones that we leave untouched
44
+ // and the last two lines that will become the line with the ellipsis
45
+ if (originalLastLine > numberOfLines + 1) {
46
+ const lastMark = lineStarts[originalLastLine];
47
+ // the second last line
48
+ let safeMark = lineStarts[originalLastLine - 1];
49
+
50
+ // if they are in different blocks, it means we can safely
51
+ // delete also the second to last line
52
+ if (getBlockParent(safeMark.node, sandbox) !== getBlockParent(lastMark.node, sandbox)) {
53
+ safeMark = lastMark;
54
+ }
55
+
56
+ // we split so we only delete a part of the block's content
57
+ targetNode = splitAtMark(safeMark);
58
+ const startMark = lineStarts[numberOfLines];
59
+ overflowStartNode = splitAtMark(startMark);
60
+
61
+ // we delete the lines
62
+ const rmWalker = document.createTreeWalker(sandbox, NodeFilter.SHOW_ALL, walkerFilter);
63
+ let past = false;
64
+ const toRm = [];
65
+ while (rmWalker.nextNode()) {
66
+ if (rmWalker.currentNode === overflowStartNode) past = true;else if (rmWalker.currentNode === targetNode) break;
67
+ if (past) toRm.push(rmWalker.currentNode);
68
+ }
69
+ toRm.forEach(n => removeAndCleanUp(n, sandbox));
70
+ } else {
71
+ // this branch handles the case where exactly one line overflows,
72
+ // which means we have no lines to safely delete before those two last lines
73
+
74
+ const startMark = lineStarts[numberOfLines]; // the second to last line
75
+ const tailMark = lineStarts[originalLastLine];
76
+
77
+ // if the second to last line is in a different block than the last one,
78
+ // we can safely delete it
79
+ if (getBlockParent(startMark.node, sandbox) !== getBlockParent(tailMark.node, sandbox)) {
80
+ // we perform the same two splits we needed in the previous branch
81
+ overflowStartNode = splitAtMark(startMark);
82
+ targetNode = splitAtMark(tailMark);
83
+
84
+ // delete the line
85
+ const rmWalker = document.createTreeWalker(sandbox, NodeFilter.SHOW_ALL, walkerFilter);
86
+ let past = false;
87
+ const toRm = [];
88
+ while (rmWalker.nextNode()) {
89
+ if (rmWalker.currentNode === overflowStartNode) past = true;else if (rmWalker.currentNode === targetNode) break;
90
+ if (past) toRm.push(rmWalker.currentNode);
91
+ }
92
+ toRm.forEach(n => removeAndCleanUp(n, sandbox));
93
+ } else {
94
+ // the last two lines are in the same block - needs character by character truncation.
95
+ // The split is also needed here so we can insert a <br> if needed
96
+ targetNode = splitAtMark(startMark);
97
+ }
98
+ }
99
+
100
+ // now we append the ellipsis and start the truncation at the targetNode
101
+ const ellipsisNode = document.createTextNode(ELLIPSIS_CHAR);
102
+ if (targetNode) {
103
+ // if we have an empty block, eg. <li></li>, we append the ellipsis inside it
104
+ if (targetNode.nodeType === Node.ELEMENT_NODE && BLOCK_TAGS.has(targetNode.nodeName)) {
105
+ innermostEmptyBlock(targetNode).appendChild(ellipsisNode);
106
+ } else {
107
+ const prevWalker = document.createTreeWalker(sandbox, NodeFilter.SHOW_ALL, walkerFilter);
108
+ prevWalker.currentNode = targetNode;
109
+ const prevNode = prevWalker.previousNode();
110
+
111
+ // if the targetNode isn't starting a paragraph of its own,
112
+ // we need a <br> to make sure the ellipsis sits at the start of the line
113
+ if (prevNode && prevNode.nodeName !== 'BR' && getBlockParent(prevNode, sandbox) === getBlockParent(targetNode, sandbox)) {
114
+ const brNode = document.createElement('br');
115
+ targetNode.parentNode?.insertBefore(brNode, targetNode);
116
+ }
117
+ targetNode.parentNode?.insertBefore(ellipsisNode, targetNode);
118
+ }
119
+ }
120
+
121
+ // now we are left with at most two lines that we have to merge into one - the ellipsis line
122
+
123
+ // everything after the ellipsis has to fit on the ellipsis' own line
124
+ const checkFits = () => {
125
+ range.selectNodeContents(ellipsisNode);
126
+ const targetBottom = range.getBoundingClientRect().bottom;
127
+ return fitsWithin(sandbox, ellipsisNode, targetBottom, lineTolerance);
128
+ };
129
+
130
+ // truncating until those two last lines fit
131
+ eatForwardUntilFits(sandbox, ellipsisNode, checkFits);
132
+
133
+ // restore the saved ordinal onto the surviving tail <li>
134
+ restoreLastListOrdinal(sandbox);
135
+ setClampedHtml(sandbox.innerHTML);
136
+ } else {
137
+ setClampedHtml(finalHtml);
138
+ }
139
+ container.removeChild(sandbox);
140
+ }
141
+ //# sourceMappingURL=headEllipsize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BLOCK_TAGS","createSandbox","eatForwardUntilFits","ELLIPSIS_CHAR","fitsWithin","getBlockParent","innermostEmptyBlock","markLastListOrdinal","removeAndCleanUp","restoreLastListOrdinal","scanLines","splitAtMark","walkerFilter","headEllipsize","container","finalHtml","numberOfLines","setClampedHtml","sandbox","lineTolerance","range","document","createRange","lineStarts","lastLine","originalLastLine","node","targetNode","overflowStartNode","lastMark","safeMark","startMark","rmWalker","createTreeWalker","NodeFilter","SHOW_ALL","past","toRm","nextNode","currentNode","push","forEach","n","tailMark","ellipsisNode","createTextNode","nodeType","Node","ELEMENT_NODE","has","nodeName","appendChild","prevWalker","prevNode","previousNode","brNode","createElement","parentNode","insertBefore","checkFits","selectNodeContents","targetBottom","getBoundingClientRect","bottom","innerHTML","removeChild"],"sourceRoot":"../../../../src","sources":["web/ellipsizeMode/headEllipsize.ts"],"mappings":"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","ignoreList":[]}