react-native-enriched-html 1.1.0-nightly-20260730-b9cf111ac → 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.
- package/lib/module/web/EnrichedText.css +26 -10
- package/lib/module/web/EnrichedText.js +2 -0
- package/lib/module/web/EnrichedText.js.map +1 -1
- package/lib/module/web/EnrichedTextInput.js +4 -3
- package/lib/module/web/EnrichedTextInput.js.map +1 -1
- package/lib/module/web/normalization/tiptapHtmlNormalizer.js +2 -1
- package/lib/module/web/normalization/tiptapHtmlNormalizer.js.map +1 -1
- package/lib/module/web/pmPlugins/OrderedListMarkerWidthPlugin.js +35 -0
- package/lib/module/web/pmPlugins/OrderedListMarkerWidthPlugin.js.map +1 -0
- package/lib/module/web/sanitization/htmlSanitizer.js +1 -0
- package/lib/module/web/sanitization/htmlSanitizer.js.map +1 -1
- package/lib/module/web/useOnChangeHtml.js +2 -2
- package/lib/module/web/useOnChangeHtml.js.map +1 -1
- package/lib/module/web/useOrderedListMarkerWidth.js +19 -0
- package/lib/module/web/useOrderedListMarkerWidth.js.map +1 -0
- package/lib/typescript/src/web/EnrichedText.d.ts.map +1 -1
- package/lib/typescript/src/web/EnrichedTextInput.d.ts.map +1 -1
- package/lib/typescript/src/web/normalization/tiptapHtmlNormalizer.d.ts +1 -1
- package/lib/typescript/src/web/normalization/tiptapHtmlNormalizer.d.ts.map +1 -1
- package/lib/typescript/src/web/pmPlugins/OrderedListMarkerWidthPlugin.d.ts +3 -0
- package/lib/typescript/src/web/pmPlugins/OrderedListMarkerWidthPlugin.d.ts.map +1 -0
- package/lib/typescript/src/web/sanitization/htmlSanitizer.d.ts.map +1 -1
- package/lib/typescript/src/web/useOnChangeHtml.d.ts +1 -1
- package/lib/typescript/src/web/useOnChangeHtml.d.ts.map +1 -1
- package/lib/typescript/src/web/useOrderedListMarkerWidth.d.ts +3 -0
- package/lib/typescript/src/web/useOrderedListMarkerWidth.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/web/EnrichedText.css +26 -10
- package/src/web/EnrichedText.tsx +3 -0
- package/src/web/EnrichedTextInput.tsx +4 -2
- package/src/web/normalization/tiptapHtmlNormalizer.ts +2 -1
- package/src/web/pmPlugins/OrderedListMarkerWidthPlugin.ts +43 -0
- package/src/web/sanitization/htmlSanitizer.ts +1 -0
- package/src/web/useOnChangeHtml.ts +3 -3
- package/src/web/useOrderedListMarkerWidth.ts +20 -0
|
@@ -160,7 +160,11 @@
|
|
|
160
160
|
.et-view ul:not([data-type]) {
|
|
161
161
|
margin: 0;
|
|
162
162
|
list-style: none;
|
|
163
|
-
padding-left: calc(
|
|
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
|
+
);
|
|
164
168
|
}
|
|
165
169
|
|
|
166
170
|
.eti-editor ul:not([data-type]) > li,
|
|
@@ -183,14 +187,20 @@
|
|
|
183
187
|
margin-right: var(--et-ul-gap-width, 16px);
|
|
184
188
|
|
|
185
189
|
position: relative;
|
|
186
|
-
top: -0.
|
|
190
|
+
top: calc(var(--et-ul-bullet-size, 8px) * 0.5 - 0.35em);
|
|
187
191
|
}
|
|
188
192
|
|
|
189
193
|
.eti-editor ol,
|
|
190
194
|
.et-view ol {
|
|
191
195
|
margin: 0;
|
|
192
196
|
list-style: none;
|
|
193
|
-
|
|
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));
|
|
194
204
|
counter-reset: et-ol;
|
|
195
205
|
}
|
|
196
206
|
|
|
@@ -206,10 +216,10 @@
|
|
|
206
216
|
.et-view ol > li::before {
|
|
207
217
|
content: counter(et-ol) '.';
|
|
208
218
|
flex-shrink: 0;
|
|
209
|
-
width: var(--et-ol-margin-left, 16px);
|
|
219
|
+
width: var(--et-ol-marker-col, var(--et-ol-margin-left, 16px));
|
|
210
220
|
text-align: right;
|
|
211
|
-
margin-right: calc(var(--et-ol-gap-width, 16px)
|
|
212
|
-
margin-left: calc(-1 * (var(--et-ol-margin-left, 16px) +
|
|
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)));
|
|
213
223
|
|
|
214
224
|
color: var(--et-ol-marker-color, currentColor);
|
|
215
225
|
font-weight: var(--et-ol-marker-font-weight, inherit);
|
|
@@ -262,7 +272,11 @@
|
|
|
262
272
|
.eti-editor ul[data-type='checkboxList'] {
|
|
263
273
|
margin: 0;
|
|
264
274
|
list-style: none;
|
|
265
|
-
padding-left: calc(
|
|
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
|
+
);
|
|
266
280
|
}
|
|
267
281
|
|
|
268
282
|
.eti-editor ul[data-type='checkboxList'] > li {
|
|
@@ -283,7 +297,7 @@
|
|
|
283
297
|
|
|
284
298
|
margin-top: 0;
|
|
285
299
|
position: relative;
|
|
286
|
-
top: 0.
|
|
300
|
+
top: calc(var(--et-checkbox-box-size, 24px) * 0.5 - 0.35em);
|
|
287
301
|
}
|
|
288
302
|
|
|
289
303
|
.eti-editor ul[data-type='checkboxList'] > li > label input[type='checkbox'] {
|
|
@@ -305,7 +319,9 @@
|
|
|
305
319
|
margin: 0;
|
|
306
320
|
list-style: none;
|
|
307
321
|
padding-left: calc(
|
|
308
|
-
var(--et-checkbox-margin-left, 16px) +
|
|
322
|
+
var(--et-checkbox-margin-left, 16px) +
|
|
323
|
+
var(--et-checkbox-box-size, 24px) +
|
|
324
|
+
var(--et-checkbox-gap-width, 16px)
|
|
309
325
|
);
|
|
310
326
|
}
|
|
311
327
|
|
|
@@ -332,7 +348,7 @@
|
|
|
332
348
|
|
|
333
349
|
margin-top: 0;
|
|
334
350
|
position: relative;
|
|
335
|
-
top: 0.
|
|
351
|
+
top: calc(var(--et-checkbox-box-size, 24px) * 0.5 - 0.35em);
|
|
336
352
|
}
|
|
337
353
|
|
|
338
354
|
.et-view ul[data-type="checkbox"] > li > label {
|
|
@@ -17,6 +17,7 @@ import { useEllipsizeMode } from "./ellipsizeMode/useEllipsizeMode.js";
|
|
|
17
17
|
import { adaptWebToNativeEvent } from "./adaptWebToNativeEvent.js";
|
|
18
18
|
import { useStableRef } from "./useStableRef.js";
|
|
19
19
|
import { assertBrowserEnvironment } from "./assertBrowserEnvironment.js";
|
|
20
|
+
import { useOrderedListMarkerWidth } from "./useOrderedListMarkerWidth.js";
|
|
20
21
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
21
22
|
export const EnrichedText = /*#__PURE__*/memo(({
|
|
22
23
|
ref,
|
|
@@ -78,6 +79,7 @@ export const EnrichedText = /*#__PURE__*/memo(({
|
|
|
78
79
|
});
|
|
79
80
|
const onLinkPressRef = useStableRef(onLinkPress);
|
|
80
81
|
const onMentionPressRef = useStableRef(onMentionPress);
|
|
82
|
+
useOrderedListMarkerWidth(containerRef, finalHtml);
|
|
81
83
|
useImageErrorFallback(containerRef);
|
|
82
84
|
usePressInteractions(containerRef, onLinkPressRef, onMentionPressRef);
|
|
83
85
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
@@ -1 +1 @@
|
|
|
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","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":";;AAAA,SACEA,IAAI,EACJC,mBAAmB,EACnBC,OAAO,EACPC,MAAM,EACNC,QAAQ,QAEH,OAAO;AAEd,OAAO,oBAAoB;AAC3B,SAASC,gCAAgC,QAAQ,uDAAoD;AACrG,SAASC,qCAAqC,QAAQ,8CAA2C;AACjG,SAASC,mCAAmC,QAAQ,8CAA2C;AAC/F,SAASC,uBAAuB,QAAQ,2BAAwB;AAChE,SAASC,kCAAkC,QAAQ,qDAAkD;AACrG,SAASC,oBAAoB,QAAQ,2CAAwC;AAC7E,SAASC,YAAY,QAAQ,iCAA8B;AAC3D,SAASC,iBAAiB,QAAQ,sCAAmC;AACrE,SAASC,0BAA0B,QAAQ,8CAA2C;AACtF,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,gBAAgB,QAAQ,qCAAkC;AACnE,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,wBAAwB,QAAQ,+BAA4B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;
|
|
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,
|
|
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":"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","ignoreList":[]}
|
|
@@ -12,7 +12,8 @@ export function prepareHtmlForTiptap(html, useHtmlNormalizer, sanitizationConfig
|
|
|
12
12
|
html = html.replace(/<br\s*\/?>/gi, '<p></p>');
|
|
13
13
|
return html;
|
|
14
14
|
}
|
|
15
|
-
export function normalizeHtmlFromTiptap(html,
|
|
15
|
+
export function normalizeHtmlFromTiptap(html, getSanitizationConfig) {
|
|
16
|
+
const sanitizationConfig = getSanitizationConfig();
|
|
16
17
|
html = sanitizeHtml(html, sanitizationConfig);
|
|
17
18
|
html = checkboxHtmlFromTiptap(html);
|
|
18
19
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["sanitizeHtml","checkboxHtmlForTiptap","checkboxHtmlFromTiptap","normalizeHtml","prepareHtmlForTiptap","html","useHtmlNormalizer","sanitizationConfig","replace","normalizeHtmlFromTiptap","_","attrs","trimEnd","endsWith"],"sourceRoot":"../../../../src","sources":["web/normalization/tiptapHtmlNormalizer.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,kCAA+B;AAE5D,SACEC,qBAAqB,EACrBC,sBAAsB,QACjB,6BAA0B;AACjC,SAASC,aAAa,QAAQ,qBAAkB;AAEhD,OAAO,SAASC,oBAAoBA,CAClCC,IAAY,EACZC,iBAAsC,EACtCC,kBAAuC,EAC/B;EACRF,IAAI,GAAGL,YAAY,CAACK,IAAI,EAAEE,kBAAkB,CAAC;EAC7C,IAAID,iBAAiB,EAAE;IACrBD,IAAI,GAAGF,aAAa,CAACE,IAAI,CAAC;EAC5B;EACAA,IAAI,GAAGJ,qBAAqB,CAACI,IAAI,CAAC;EAClCA,IAAI,GAAGA,IAAI,CAACG,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC;EAC9C,OAAOH,IAAI;AACb;AAEA,OAAO,SAASI,uBAAuBA,CACrCJ,IAAY,
|
|
1
|
+
{"version":3,"names":["sanitizeHtml","checkboxHtmlForTiptap","checkboxHtmlFromTiptap","normalizeHtml","prepareHtmlForTiptap","html","useHtmlNormalizer","sanitizationConfig","replace","normalizeHtmlFromTiptap","getSanitizationConfig","_","attrs","trimEnd","endsWith"],"sourceRoot":"../../../../src","sources":["web/normalization/tiptapHtmlNormalizer.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,kCAA+B;AAE5D,SACEC,qBAAqB,EACrBC,sBAAsB,QACjB,6BAA0B;AACjC,SAASC,aAAa,QAAQ,qBAAkB;AAEhD,OAAO,SAASC,oBAAoBA,CAClCC,IAAY,EACZC,iBAAsC,EACtCC,kBAAuC,EAC/B;EACRF,IAAI,GAAGL,YAAY,CAACK,IAAI,EAAEE,kBAAkB,CAAC;EAC7C,IAAID,iBAAiB,EAAE;IACrBD,IAAI,GAAGF,aAAa,CAACE,IAAI,CAAC;EAC5B;EACAA,IAAI,GAAGJ,qBAAqB,CAACI,IAAI,CAAC;EAClCA,IAAI,GAAGA,IAAI,CAACG,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC;EAC9C,OAAOH,IAAI;AACb;AAEA,OAAO,SAASI,uBAAuBA,CACrCJ,IAAY,EACZK,qBAA2D,EACnD;EACR,MAAMH,kBAAkB,GAAGG,qBAAqB,CAAC,CAAC;EAClDL,IAAI,GAAGL,YAAY,CAACK,IAAI,EAAEE,kBAAkB,CAAC;EAC7CF,IAAI,GAAGH,sBAAsB,CAACG,IAAI,CAAC;;EAEnC;EACA;EACA;EACA;EACAA,IAAI,GAAGA,IAAI,CAACG,OAAO,CACjB,6CAA6C,EAC7C,eACF,CAAC;;EAED;EACAH,IAAI,GAAGA,IAAI,CAACG,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;;EAExC;EACAH,IAAI,GAAGA,IAAI,CAACG,OAAO,CAAC,kBAAkB,EAAE,CAACG,CAAC,EAAEC,KAAa,KAAK;IAC5D,IAAIA,KAAK,CAACC,OAAO,CAAC,CAAC,CAACC,QAAQ,CAAC,GAAG,CAAC,EAAE;MACjC,OAAO,OAAOF,KAAK,GAAG;IACxB;IACA,OAAO,OAAOA,KAAK,IAAI;EACzB,CAAC,CAAC;EAEF,OAAO,SAASP,IAAI,SAAS;AAC/B","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Extension } from '@tiptap/core';
|
|
4
|
+
import { Plugin, PluginKey } from '@tiptap/pm/state';
|
|
5
|
+
import { Decoration, DecorationSet } from '@tiptap/pm/view';
|
|
6
|
+
|
|
7
|
+
// Finds the ordered list markers with the largest values,
|
|
8
|
+
// exposing the digit count as --et-ol-digits per <ol>.
|
|
9
|
+
export const OrderedListMarkerWidthPlugin = Extension.create({
|
|
10
|
+
name: 'orderedListMarkerWidth',
|
|
11
|
+
addProseMirrorPlugins() {
|
|
12
|
+
return [new Plugin({
|
|
13
|
+
key: new PluginKey('orderedListMarkerWidth'),
|
|
14
|
+
props: {
|
|
15
|
+
decorations: state => {
|
|
16
|
+
const decorations = [];
|
|
17
|
+
state.doc.descendants((node, pos) => {
|
|
18
|
+
if (node.type.name !== 'orderedList') {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
const start = typeof node.attrs.start === 'number' ? node.attrs.start : 1;
|
|
22
|
+
const maxNumber = start + Math.max(0, node.childCount - 1);
|
|
23
|
+
const digits = String(maxNumber).length;
|
|
24
|
+
decorations.push(Decoration.node(pos, pos + node.nodeSize, {
|
|
25
|
+
style: `--et-ol-digits:${digits}`
|
|
26
|
+
}));
|
|
27
|
+
return false;
|
|
28
|
+
});
|
|
29
|
+
return DecorationSet.create(state.doc, decorations);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
})];
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=OrderedListMarkerWidthPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Extension","Plugin","PluginKey","Decoration","DecorationSet","OrderedListMarkerWidthPlugin","create","name","addProseMirrorPlugins","key","props","decorations","state","doc","descendants","node","pos","type","start","attrs","maxNumber","Math","max","childCount","digits","String","length","push","nodeSize","style"],"sourceRoot":"../../../../src","sources":["web/pmPlugins/OrderedListMarkerWidthPlugin.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,cAAc;AACxC,SAASC,MAAM,EAAEC,SAAS,QAAQ,kBAAkB;AACpD,SAASC,UAAU,EAAEC,aAAa,QAAQ,iBAAiB;;AAE3D;AACA;AACA,OAAO,MAAMC,4BAA4B,GAAGL,SAAS,CAACM,MAAM,CAAC;EAC3DC,IAAI,EAAE,wBAAwB;EAE9BC,qBAAqBA,CAAA,EAAG;IACtB,OAAO,CACL,IAAIP,MAAM,CAAC;MACTQ,GAAG,EAAE,IAAIP,SAAS,CAAC,wBAAwB,CAAC;MAC5CQ,KAAK,EAAE;QACLC,WAAW,EAAGC,KAAK,IAAK;UACtB,MAAMD,WAAyB,GAAG,EAAE;UAEpCC,KAAK,CAACC,GAAG,CAACC,WAAW,CAAC,CAACC,IAAI,EAAEC,GAAG,KAAK;YACnC,IAAID,IAAI,CAACE,IAAI,CAACV,IAAI,KAAK,aAAa,EAAE;cACpC,OAAO,IAAI;YACb;YAEA,MAAMW,KAAK,GACT,OAAOH,IAAI,CAACI,KAAK,CAACD,KAAK,KAAK,QAAQ,GAAGH,IAAI,CAACI,KAAK,CAACD,KAAK,GAAG,CAAC;YAC7D,MAAME,SAAS,GAAGF,KAAK,GAAGG,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEP,IAAI,CAACQ,UAAU,GAAG,CAAC,CAAC;YAC1D,MAAMC,MAAM,GAAGC,MAAM,CAACL,SAAS,CAAC,CAACM,MAAM;YAEvCf,WAAW,CAACgB,IAAI,CACdxB,UAAU,CAACY,IAAI,CAACC,GAAG,EAAEA,GAAG,GAAGD,IAAI,CAACa,QAAQ,EAAE;cACxCC,KAAK,EAAE,kBAAkBL,MAAM;YACjC,CAAC,CACH,CAAC;YAED,OAAO,KAAK;UACd,CAAC,CAAC;UAEF,OAAOpB,aAAa,CAACE,MAAM,CAACM,KAAK,CAACC,GAAG,EAAEF,WAAW,CAAC;QACrD;MACF;IACF,CAAC,CAAC,CACH;EACH;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -9,6 +9,7 @@ export function sanitizeHtml(html, config) {
|
|
|
9
9
|
return DOMPurify.sanitize(html, {
|
|
10
10
|
ADD_TAGS: ['mention', 'codeblock'],
|
|
11
11
|
ADD_ATTR: MENTION_ATTRS,
|
|
12
|
+
ADD_URI_SAFE_ATTR: MENTION_ATTRS,
|
|
12
13
|
// if not supplied, fall back to DOMPurify's built-in default.
|
|
13
14
|
...(config?.linkRegex ? {
|
|
14
15
|
ALLOWED_URI_REGEXP: config.linkRegex
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DOMPurify","MENTION_ATTRS","COMMONLY_ALLOWED_ATTRS","sanitizeHtml","html","config","sanitize","ADD_TAGS","ADD_ATTR","linkRegex","ALLOWED_URI_REGEXP","sanitizeMentionAttributes","attributes","el","document","createElement","name","value","Object","entries","setAttribute","cleaned","DOMParser","parseFromString","outerHTML","querySelector","out","attr","Array","from","includes","toLowerCase","checkMentionAttributes","keys","forEach","attrName","lower","startsWith","console","warn"],"sourceRoot":"../../../../src","sources":["web/sanitization/htmlSanitizer.ts"],"mappings":";;AAAA,OAAOA,SAAS,MAAM,WAAW;AAGjC,MAAMC,aAAa,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;;AAE3C;AACA,MAAMC,sBAAsB,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC;AAEvD,OAAO,SAASC,YAAYA,CAACC,IAAY,EAAEC,MAA2B,EAAE;EACtE,OAAOL,SAAS,CAACM,QAAQ,CAACF,IAAI,EAAE;IAC9BG,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;IAClCC,QAAQ,EAAEP,aAAa;
|
|
1
|
+
{"version":3,"names":["DOMPurify","MENTION_ATTRS","COMMONLY_ALLOWED_ATTRS","sanitizeHtml","html","config","sanitize","ADD_TAGS","ADD_ATTR","ADD_URI_SAFE_ATTR","linkRegex","ALLOWED_URI_REGEXP","sanitizeMentionAttributes","attributes","el","document","createElement","name","value","Object","entries","setAttribute","cleaned","DOMParser","parseFromString","outerHTML","querySelector","out","attr","Array","from","includes","toLowerCase","checkMentionAttributes","keys","forEach","attrName","lower","startsWith","console","warn"],"sourceRoot":"../../../../src","sources":["web/sanitization/htmlSanitizer.ts"],"mappings":";;AAAA,OAAOA,SAAS,MAAM,WAAW;AAGjC,MAAMC,aAAa,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;;AAE3C;AACA,MAAMC,sBAAsB,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC;AAEvD,OAAO,SAASC,YAAYA,CAACC,IAAY,EAAEC,MAA2B,EAAE;EACtE,OAAOL,SAAS,CAACM,QAAQ,CAACF,IAAI,EAAE;IAC9BG,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;IAClCC,QAAQ,EAAEP,aAAa;IACvBQ,iBAAiB,EAAER,aAAa;IAChC;IACA,IAAII,MAAM,EAAEK,SAAS,GAAG;MAAEC,kBAAkB,EAAEN,MAAM,CAACK;IAAU,CAAC,GAAG,CAAC,CAAC;EACvE,CAAC,CAAC;AACJ;AAEA,OAAO,SAASE,yBAAyBA,CACvCC,UAAmC,EACX;EACxB,IAAI,CAACA,UAAU,EAAE,OAAO,CAAC,CAAC;EAE1B,MAAMC,EAAE,GAAGC,QAAQ,CAACC,aAAa,CAAC,SAAS,CAAC;EAC5C,KAAK,MAAM,CAACC,IAAI,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACP,UAAU,CAAC,EAAE;IACtD,IAAI;MACFC,EAAE,CAACO,YAAY,CAACJ,IAAI,EAAEC,KAAK,CAAC;IAC9B,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EAEA,MAAMI,OAAO,GAAG,IAAIC,SAAS,CAAC,CAAC,CAC5BC,eAAe,CAACrB,YAAY,CAACW,EAAE,CAACW,SAAS,CAAC,EAAE,WAAW,CAAC,CACxDC,aAAa,CAAC,SAAS,CAAC;EAE3B,MAAMC,GAA2B,GAAG,CAAC,CAAC;EACtC,IAAI,CAACL,OAAO,EAAE,OAAOK,GAAG;EAExB,KAAK,MAAMC,IAAI,IAAIC,KAAK,CAACC,IAAI,CAACR,OAAO,CAACT,UAAU,CAAC,EAAE;IACjD,IAAIZ,aAAa,CAAC8B,QAAQ,CAACH,IAAI,CAACX,IAAI,CAACe,WAAW,CAAC,CAAC,CAAC,EAAE;IACrDL,GAAG,CAACC,IAAI,CAACX,IAAI,CAAC,GAAGW,IAAI,CAACV,KAAK;EAC7B;EACA,OAAOS,GAAG;AACZ;;AAEA;AACA;AACA,OAAO,SAASM,sBAAsBA,CAACpB,UAAmC,EAAE;EAC1E,IAAI,CAACA,UAAU,EAAE;EAEjBM,MAAM,CAACe,IAAI,CAACrB,UAAU,CAAC,CAACsB,OAAO,CAAEC,QAAQ,IAAK;IAC5C,MAAMC,KAAK,GAAGD,QAAQ,CAACJ,WAAW,CAAC,CAAC;IACpC,IACEK,KAAK,CAACC,UAAU,CAAC,OAAO,CAAC,IACzBrC,aAAa,CAAC8B,QAAQ,CAACM,KAAK,CAAC,IAC7BnC,sBAAsB,CAAC6B,QAAQ,CAACM,KAAK,CAAC,EACtC;MACA;IACF;IACAE,OAAO,CAACC,IAAI,CACV,gCAAgCJ,QAAQ,6DAA6D,GACnG,+DACJ,CAAC;EACH,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { useOnEditorChange } from "./useOnEditorChange.js";
|
|
4
4
|
import { normalizeHtmlFromTiptap } from "./normalization/tiptapHtmlNormalizer.js";
|
|
5
|
-
export const useOnChangeHtml = (editor,
|
|
6
|
-
useOnEditorChange(editor, onChangeHtml, e => normalizeHtmlFromTiptap(e.getHTML(),
|
|
5
|
+
export const useOnChangeHtml = (editor, getSanitizationConfig, onChangeHtml) => {
|
|
6
|
+
useOnEditorChange(editor, onChangeHtml, e => normalizeHtmlFromTiptap(e.getHTML(), getSanitizationConfig));
|
|
7
7
|
};
|
|
8
8
|
//# sourceMappingURL=useOnChangeHtml.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useOnEditorChange","normalizeHtmlFromTiptap","useOnChangeHtml","editor","
|
|
1
|
+
{"version":3,"names":["useOnEditorChange","normalizeHtmlFromTiptap","useOnChangeHtml","editor","getSanitizationConfig","onChangeHtml","e","getHTML"],"sourceRoot":"../../../src","sources":["web/useOnChangeHtml.ts"],"mappings":";;AAGA,SAASA,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,uBAAuB,QAAQ,yCAAsC;AAE9E,OAAO,MAAMC,eAAe,GAAGA,CAC7BC,MAAc,EACdC,qBAA2D,EAC3DC,YAAmE,KAChE;EACHL,iBAAiB,CAACG,MAAM,EAAEE,YAAY,EAAGC,CAAC,IACxCL,uBAAuB,CAACK,CAAC,CAACC,OAAO,CAAC,CAAC,EAAEH,qBAAqB,CAC5D,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useLayoutEffect } from 'react';
|
|
4
|
+
|
|
5
|
+
// Finds the ordered list markers with the largest values,
|
|
6
|
+
// exposing the digit count as --et-ol-digits per <ol>.
|
|
7
|
+
export function useOrderedListMarkerWidth(containerRef, finalHtml) {
|
|
8
|
+
useLayoutEffect(() => {
|
|
9
|
+
const root = containerRef.current;
|
|
10
|
+
if (!root) return;
|
|
11
|
+
root.querySelectorAll('ol').forEach(ol => {
|
|
12
|
+
const startAttr = Number(ol.getAttribute('start'));
|
|
13
|
+
const start = Number.isFinite(startAttr) && startAttr > 0 ? startAttr : 1;
|
|
14
|
+
const maxNumber = start + Math.max(0, ol.children.length - 1);
|
|
15
|
+
ol.style.setProperty('--et-ol-digits', String(String(maxNumber).length));
|
|
16
|
+
});
|
|
17
|
+
}, [containerRef, finalHtml]);
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=useOrderedListMarkerWidth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useLayoutEffect","useOrderedListMarkerWidth","containerRef","finalHtml","root","current","querySelectorAll","forEach","ol","startAttr","Number","getAttribute","start","isFinite","maxNumber","Math","max","children","length","style","setProperty","String"],"sourceRoot":"../../../src","sources":["web/useOrderedListMarkerWidth.ts"],"mappings":";;AAAA,SAASA,eAAe,QAAwB,OAAO;;AAEvD;AACA;AACA,OAAO,SAASC,yBAAyBA,CACvCC,YAA2C,EAC3CC,SAAiB,EACjB;EACAH,eAAe,CAAC,MAAM;IACpB,MAAMI,IAAI,GAAGF,YAAY,CAACG,OAAO;IACjC,IAAI,CAACD,IAAI,EAAE;IAEXA,IAAI,CAACE,gBAAgB,CAAC,IAAI,CAAC,CAACC,OAAO,CAAEC,EAAE,IAAK;MAC1C,MAAMC,SAAS,GAAGC,MAAM,CAACF,EAAE,CAACG,YAAY,CAAC,OAAO,CAAC,CAAC;MAClD,MAAMC,KAAK,GAAGF,MAAM,CAACG,QAAQ,CAACJ,SAAS,CAAC,IAAIA,SAAS,GAAG,CAAC,GAAGA,SAAS,GAAG,CAAC;MACzE,MAAMK,SAAS,GAAGF,KAAK,GAAGG,IAAI,CAACC,GAAG,CAAC,CAAC,EAAER,EAAE,CAACS,QAAQ,CAACC,MAAM,GAAG,CAAC,CAAC;MAC7DV,EAAE,CAACW,KAAK,CAACC,WAAW,CAAC,gBAAgB,EAAEC,MAAM,CAACA,MAAM,CAACP,SAAS,CAAC,CAACI,MAAM,CAAC,CAAC;IAC1E,CAAC,CAAC;EACJ,CAAC,EAAE,CAAChB,YAAY,EAAEC,SAAS,CAAC,CAAC;AAC/B","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnrichedText.d.ts","sourceRoot":"","sources":["../../../../src/web/EnrichedText.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAU,CAAC;AAClD,OAAO,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"EnrichedText.d.ts","sourceRoot":"","sources":["../../../../src/web/EnrichedText.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAU,CAAC;AAClD,OAAO,oBAAoB,CAAC;AAkB5B,eAAO,MAAM,YAAY,4NAgBpB,iBAAiB,iCA2GrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnrichedTextInput.d.ts","sourceRoot":"","sources":["../../../../src/web/EnrichedTextInput.tsx"],"names":[],"mappings":"AAQA,OAAO,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAEV,sBAAsB,EACvB,MAAM,aAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"EnrichedTextInput.d.ts","sourceRoot":"","sources":["../../../../src/web/EnrichedTextInput.tsx"],"names":[],"mappings":"AAQA,OAAO,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAEV,sBAAsB,EACvB,MAAM,aAAU,CAAC;AAoFlB,eAAO,MAAM,iBAAiB,GAAI,8dAkC/B,sBAAsB,gCAyUxB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { SanitizationConfig } from '../../types.js';
|
|
2
2
|
export declare function prepareHtmlForTiptap(html: string, useHtmlNormalizer: boolean | undefined, sanitizationConfig?: SanitizationConfig): string;
|
|
3
|
-
export declare function normalizeHtmlFromTiptap(html: string,
|
|
3
|
+
export declare function normalizeHtmlFromTiptap(html: string, getSanitizationConfig: () => SanitizationConfig | undefined): string;
|
|
4
4
|
//# sourceMappingURL=tiptapHtmlNormalizer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tiptapHtmlNormalizer.d.ts","sourceRoot":"","sources":["../../../../../src/web/normalization/tiptapHtmlNormalizer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAa,CAAC;AAOtD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,iBAAiB,EAAE,OAAO,GAAG,SAAS,EACtC,kBAAkB,CAAC,EAAE,kBAAkB,GACtC,MAAM,CAQR;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,
|
|
1
|
+
{"version":3,"file":"tiptapHtmlNormalizer.d.ts","sourceRoot":"","sources":["../../../../../src/web/normalization/tiptapHtmlNormalizer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAa,CAAC;AAOtD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,iBAAiB,EAAE,OAAO,GAAG,SAAS,EACtC,kBAAkB,CAAC,EAAE,kBAAkB,GACtC,MAAM,CAQR;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,qBAAqB,EAAE,MAAM,kBAAkB,GAAG,SAAS,GAC1D,MAAM,CA0BR"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrderedListMarkerWidthPlugin.d.ts","sourceRoot":"","sources":["../../../../../src/web/pmPlugins/OrderedListMarkerWidthPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAMzC,eAAO,MAAM,4BAA4B,qBAoCvC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"htmlSanitizer.d.ts","sourceRoot":"","sources":["../../../../../src/web/sanitization/htmlSanitizer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAa,CAAC;AAOtD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"htmlSanitizer.d.ts","sourceRoot":"","sources":["../../../../../src/web/sanitization/htmlSanitizer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAa,CAAC;AAOtD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,UAQrE;AAED,wBAAgB,yBAAyB,CACvC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwBxB;AAID,wBAAgB,sBAAsB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAiBzE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Editor } from '@tiptap/react';
|
|
2
2
|
import type { OnChangeHtmlEvent, SanitizationConfig } from '../types.js';
|
|
3
3
|
import type { NativeSyntheticEvent } from 'react-native';
|
|
4
|
-
export declare const useOnChangeHtml: (editor: Editor, onChangeHtml?: (e: NativeSyntheticEvent<OnChangeHtmlEvent>) => void
|
|
4
|
+
export declare const useOnChangeHtml: (editor: Editor, getSanitizationConfig: () => SanitizationConfig | undefined, onChangeHtml?: (e: NativeSyntheticEvent<OnChangeHtmlEvent>) => void) => void;
|
|
5
5
|
//# sourceMappingURL=useOnChangeHtml.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOnChangeHtml.d.ts","sourceRoot":"","sources":["../../../../src/web/useOnChangeHtml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAU,CAAC;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAIzD,eAAO,MAAM,eAAe,GAC1B,QAAQ,MAAM,EACd,eAAe,CAAC,CAAC,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"useOnChangeHtml.d.ts","sourceRoot":"","sources":["../../../../src/web/useOnChangeHtml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAU,CAAC;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAIzD,eAAO,MAAM,eAAe,GAC1B,QAAQ,MAAM,EACd,uBAAuB,MAAM,kBAAkB,GAAG,SAAS,EAC3D,eAAe,CAAC,CAAC,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,KAAK,IAAI,SAKpE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOrderedListMarkerWidth.d.ts","sourceRoot":"","sources":["../../../../src/web/useOrderedListMarkerWidth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIxD,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EAC3C,SAAS,EAAE,MAAM,QAalB"}
|
package/package.json
CHANGED
package/src/web/EnrichedText.css
CHANGED
|
@@ -160,7 +160,11 @@
|
|
|
160
160
|
.et-view ul:not([data-type]) {
|
|
161
161
|
margin: 0;
|
|
162
162
|
list-style: none;
|
|
163
|
-
padding-left: calc(
|
|
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
|
+
);
|
|
164
168
|
}
|
|
165
169
|
|
|
166
170
|
.eti-editor ul:not([data-type]) > li,
|
|
@@ -183,14 +187,20 @@
|
|
|
183
187
|
margin-right: var(--et-ul-gap-width, 16px);
|
|
184
188
|
|
|
185
189
|
position: relative;
|
|
186
|
-
top: -0.
|
|
190
|
+
top: calc(var(--et-ul-bullet-size, 8px) * 0.5 - 0.35em);
|
|
187
191
|
}
|
|
188
192
|
|
|
189
193
|
.eti-editor ol,
|
|
190
194
|
.et-view ol {
|
|
191
195
|
margin: 0;
|
|
192
196
|
list-style: none;
|
|
193
|
-
|
|
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));
|
|
194
204
|
counter-reset: et-ol;
|
|
195
205
|
}
|
|
196
206
|
|
|
@@ -206,10 +216,10 @@
|
|
|
206
216
|
.et-view ol > li::before {
|
|
207
217
|
content: counter(et-ol) '.';
|
|
208
218
|
flex-shrink: 0;
|
|
209
|
-
width: var(--et-ol-margin-left, 16px);
|
|
219
|
+
width: var(--et-ol-marker-col, var(--et-ol-margin-left, 16px));
|
|
210
220
|
text-align: right;
|
|
211
|
-
margin-right: calc(var(--et-ol-gap-width, 16px)
|
|
212
|
-
margin-left: calc(-1 * (var(--et-ol-margin-left, 16px) +
|
|
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)));
|
|
213
223
|
|
|
214
224
|
color: var(--et-ol-marker-color, currentColor);
|
|
215
225
|
font-weight: var(--et-ol-marker-font-weight, inherit);
|
|
@@ -262,7 +272,11 @@
|
|
|
262
272
|
.eti-editor ul[data-type='checkboxList'] {
|
|
263
273
|
margin: 0;
|
|
264
274
|
list-style: none;
|
|
265
|
-
padding-left: calc(
|
|
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
|
+
);
|
|
266
280
|
}
|
|
267
281
|
|
|
268
282
|
.eti-editor ul[data-type='checkboxList'] > li {
|
|
@@ -283,7 +297,7 @@
|
|
|
283
297
|
|
|
284
298
|
margin-top: 0;
|
|
285
299
|
position: relative;
|
|
286
|
-
top: 0.
|
|
300
|
+
top: calc(var(--et-checkbox-box-size, 24px) * 0.5 - 0.35em);
|
|
287
301
|
}
|
|
288
302
|
|
|
289
303
|
.eti-editor ul[data-type='checkboxList'] > li > label input[type='checkbox'] {
|
|
@@ -305,7 +319,9 @@
|
|
|
305
319
|
margin: 0;
|
|
306
320
|
list-style: none;
|
|
307
321
|
padding-left: calc(
|
|
308
|
-
var(--et-checkbox-margin-left, 16px) +
|
|
322
|
+
var(--et-checkbox-margin-left, 16px) +
|
|
323
|
+
var(--et-checkbox-box-size, 24px) +
|
|
324
|
+
var(--et-checkbox-gap-width, 16px)
|
|
309
325
|
);
|
|
310
326
|
}
|
|
311
327
|
|
|
@@ -332,7 +348,7 @@
|
|
|
332
348
|
|
|
333
349
|
margin-top: 0;
|
|
334
350
|
position: relative;
|
|
335
|
-
top: 0.
|
|
351
|
+
top: calc(var(--et-checkbox-box-size, 24px) * 0.5 - 0.35em);
|
|
336
352
|
}
|
|
337
353
|
|
|
338
354
|
.et-view ul[data-type="checkbox"] > li > label {
|
package/src/web/EnrichedText.tsx
CHANGED
|
@@ -23,6 +23,7 @@ import { useEllipsizeMode } from './ellipsizeMode/useEllipsizeMode';
|
|
|
23
23
|
import { adaptWebToNativeEvent } from './adaptWebToNativeEvent';
|
|
24
24
|
import { useStableRef } from './useStableRef';
|
|
25
25
|
import { assertBrowserEnvironment } from './assertBrowserEnvironment';
|
|
26
|
+
import { useOrderedListMarkerWidth } from './useOrderedListMarkerWidth';
|
|
26
27
|
|
|
27
28
|
export const EnrichedText = memo(
|
|
28
29
|
({
|
|
@@ -123,6 +124,8 @@ export const EnrichedText = memo(
|
|
|
123
124
|
const onLinkPressRef = useStableRef(onLinkPress);
|
|
124
125
|
const onMentionPressRef = useStableRef(onMentionPress);
|
|
125
126
|
|
|
127
|
+
useOrderedListMarkerWidth(containerRef, finalHtml);
|
|
128
|
+
|
|
126
129
|
useImageErrorFallback(containerRef);
|
|
127
130
|
usePressInteractions(containerRef, onLinkPressRef, onMentionPressRef);
|
|
128
131
|
|
|
@@ -66,6 +66,7 @@ import { EnrichedTextAlign } from './formats/EnrichedTextAlign';
|
|
|
66
66
|
import { StripBoldInStyledHeadingsPlugin } from './pmPlugins/StripBoldInStyledHeadingsPlugin';
|
|
67
67
|
import { StrictMarksPlugin } from './pmPlugins/StrictMarksPlugin';
|
|
68
68
|
import { MergeAdjacentSameKindBlocksPlugin } from './pmPlugins/MergeAdjacentSameKindBlocksPlugin';
|
|
69
|
+
import { OrderedListMarkerWidthPlugin } from './pmPlugins/OrderedListMarkerWidthPlugin';
|
|
69
70
|
import { StripMarksInCodeBlockPlugin } from './pmPlugins/StripMarksInCodeBlockPlugin';
|
|
70
71
|
import { handleClipboardPasteImages } from './pasteImages';
|
|
71
72
|
import {
|
|
@@ -228,6 +229,7 @@ export const EnrichedTextInput = ({
|
|
|
228
229
|
getHtmlStyle: () => htmlStyleRef.current,
|
|
229
230
|
}),
|
|
230
231
|
MergeAdjacentSameKindBlocksPlugin,
|
|
232
|
+
OrderedListMarkerWidthPlugin,
|
|
231
233
|
StrictMarksPlugin,
|
|
232
234
|
MentionPlugin.configure({
|
|
233
235
|
getIndicators: () => mentionIndicatorsRef.current,
|
|
@@ -326,7 +328,7 @@ export const EnrichedTextInput = ({
|
|
|
326
328
|
);
|
|
327
329
|
|
|
328
330
|
useMentionEvents(editor, getMentionCallbacks);
|
|
329
|
-
useOnChangeHtml(editor,
|
|
331
|
+
useOnChangeHtml(editor, () => sanitizationConfigRef.current, onChangeHtml);
|
|
330
332
|
useOnChangeText(editor, onChangeText);
|
|
331
333
|
useOnChangeState(editor, resolvedHtmlStyle, onChangeState);
|
|
332
334
|
useOnLinkDetected(editor, linkEmitterRef);
|
|
@@ -357,7 +359,7 @@ export const EnrichedTextInput = ({
|
|
|
357
359
|
Promise.resolve(
|
|
358
360
|
normalizeHtmlFromTiptap(
|
|
359
361
|
editor.getHTML(),
|
|
360
|
-
sanitizationConfigRef.current
|
|
362
|
+
() => sanitizationConfigRef.current
|
|
361
363
|
)
|
|
362
364
|
),
|
|
363
365
|
toggleBold: () => runFocused(editor, (c) => c.toggleBold()),
|
|
@@ -22,8 +22,9 @@ export function prepareHtmlForTiptap(
|
|
|
22
22
|
|
|
23
23
|
export function normalizeHtmlFromTiptap(
|
|
24
24
|
html: string,
|
|
25
|
-
|
|
25
|
+
getSanitizationConfig: () => SanitizationConfig | undefined
|
|
26
26
|
): string {
|
|
27
|
+
const sanitizationConfig = getSanitizationConfig();
|
|
27
28
|
html = sanitizeHtml(html, sanitizationConfig);
|
|
28
29
|
html = checkboxHtmlFromTiptap(html);
|
|
29
30
|
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Extension } from '@tiptap/core';
|
|
2
|
+
import { Plugin, PluginKey } from '@tiptap/pm/state';
|
|
3
|
+
import { Decoration, DecorationSet } from '@tiptap/pm/view';
|
|
4
|
+
|
|
5
|
+
// Finds the ordered list markers with the largest values,
|
|
6
|
+
// exposing the digit count as --et-ol-digits per <ol>.
|
|
7
|
+
export const OrderedListMarkerWidthPlugin = Extension.create({
|
|
8
|
+
name: 'orderedListMarkerWidth',
|
|
9
|
+
|
|
10
|
+
addProseMirrorPlugins() {
|
|
11
|
+
return [
|
|
12
|
+
new Plugin({
|
|
13
|
+
key: new PluginKey('orderedListMarkerWidth'),
|
|
14
|
+
props: {
|
|
15
|
+
decorations: (state) => {
|
|
16
|
+
const decorations: Decoration[] = [];
|
|
17
|
+
|
|
18
|
+
state.doc.descendants((node, pos) => {
|
|
19
|
+
if (node.type.name !== 'orderedList') {
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const start =
|
|
24
|
+
typeof node.attrs.start === 'number' ? node.attrs.start : 1;
|
|
25
|
+
const maxNumber = start + Math.max(0, node.childCount - 1);
|
|
26
|
+
const digits = String(maxNumber).length;
|
|
27
|
+
|
|
28
|
+
decorations.push(
|
|
29
|
+
Decoration.node(pos, pos + node.nodeSize, {
|
|
30
|
+
style: `--et-ol-digits:${digits}`,
|
|
31
|
+
})
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
return false;
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
return DecorationSet.create(state.doc, decorations);
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
}),
|
|
41
|
+
];
|
|
42
|
+
},
|
|
43
|
+
});
|
|
@@ -10,6 +10,7 @@ export function sanitizeHtml(html: string, config?: SanitizationConfig) {
|
|
|
10
10
|
return DOMPurify.sanitize(html, {
|
|
11
11
|
ADD_TAGS: ['mention', 'codeblock'],
|
|
12
12
|
ADD_ATTR: MENTION_ATTRS,
|
|
13
|
+
ADD_URI_SAFE_ATTR: MENTION_ATTRS,
|
|
13
14
|
// if not supplied, fall back to DOMPurify's built-in default.
|
|
14
15
|
...(config?.linkRegex ? { ALLOWED_URI_REGEXP: config.linkRegex } : {}),
|
|
15
16
|
});
|
|
@@ -6,10 +6,10 @@ import { normalizeHtmlFromTiptap } from './normalization/tiptapHtmlNormalizer';
|
|
|
6
6
|
|
|
7
7
|
export const useOnChangeHtml = (
|
|
8
8
|
editor: Editor,
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
getSanitizationConfig: () => SanitizationConfig | undefined,
|
|
10
|
+
onChangeHtml?: (e: NativeSyntheticEvent<OnChangeHtmlEvent>) => void
|
|
11
11
|
) => {
|
|
12
12
|
useOnEditorChange(editor, onChangeHtml, (e) =>
|
|
13
|
-
normalizeHtmlFromTiptap(e.getHTML(),
|
|
13
|
+
normalizeHtmlFromTiptap(e.getHTML(), getSanitizationConfig)
|
|
14
14
|
);
|
|
15
15
|
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { useLayoutEffect, type RefObject } from 'react';
|
|
2
|
+
|
|
3
|
+
// Finds the ordered list markers with the largest values,
|
|
4
|
+
// exposing the digit count as --et-ol-digits per <ol>.
|
|
5
|
+
export function useOrderedListMarkerWidth(
|
|
6
|
+
containerRef: RefObject<HTMLElement | null>,
|
|
7
|
+
finalHtml: string
|
|
8
|
+
) {
|
|
9
|
+
useLayoutEffect(() => {
|
|
10
|
+
const root = containerRef.current;
|
|
11
|
+
if (!root) return;
|
|
12
|
+
|
|
13
|
+
root.querySelectorAll('ol').forEach((ol) => {
|
|
14
|
+
const startAttr = Number(ol.getAttribute('start'));
|
|
15
|
+
const start = Number.isFinite(startAttr) && startAttr > 0 ? startAttr : 1;
|
|
16
|
+
const maxNumber = start + Math.max(0, ol.children.length - 1);
|
|
17
|
+
ol.style.setProperty('--et-ol-digits', String(String(maxNumber).length));
|
|
18
|
+
});
|
|
19
|
+
}, [containerRef, finalHtml]);
|
|
20
|
+
}
|