react-native-richify 1.0.4 → 1.0.6
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/README.md +383 -120
- package/lib/commonjs/components/RenderedOutput.js +168 -0
- package/lib/commonjs/components/RenderedOutput.js.map +1 -0
- package/lib/commonjs/components/RichTextInput.js +130 -15
- package/lib/commonjs/components/RichTextInput.js.map +1 -1
- package/lib/commonjs/components/Toolbar.js +41 -2
- package/lib/commonjs/components/Toolbar.js.map +1 -1
- package/lib/commonjs/constants/defaultStyles.js +51 -1
- package/lib/commonjs/constants/defaultStyles.js.map +1 -1
- package/lib/commonjs/hooks/useFormatting.js +44 -2
- package/lib/commonjs/hooks/useFormatting.js.map +1 -1
- package/lib/commonjs/hooks/useRichText.js +75 -6
- package/lib/commonjs/hooks/useRichText.js.map +1 -1
- package/lib/commonjs/utils/formatter.js +48 -9
- package/lib/commonjs/utils/formatter.js.map +1 -1
- package/lib/commonjs/utils/parser.js +1 -1
- package/lib/commonjs/utils/parser.js.map +1 -1
- package/lib/commonjs/utils/serializer.js +102 -6
- package/lib/commonjs/utils/serializer.js.map +1 -1
- package/lib/commonjs/utils/styleMapper.js +11 -0
- package/lib/commonjs/utils/styleMapper.js.map +1 -1
- package/lib/module/components/RenderedOutput.js +163 -0
- package/lib/module/components/RenderedOutput.js.map +1 -0
- package/lib/module/components/RichTextInput.js +131 -16
- package/lib/module/components/RichTextInput.js.map +1 -1
- package/lib/module/components/Toolbar.js +41 -2
- package/lib/module/components/Toolbar.js.map +1 -1
- package/lib/module/constants/defaultStyles.js +51 -1
- package/lib/module/constants/defaultStyles.js.map +1 -1
- package/lib/module/hooks/useFormatting.js +45 -3
- package/lib/module/hooks/useFormatting.js.map +1 -1
- package/lib/module/hooks/useRichText.js +75 -6
- package/lib/module/hooks/useRichText.js.map +1 -1
- package/lib/module/utils/formatter.js +46 -9
- package/lib/module/utils/formatter.js.map +1 -1
- package/lib/module/utils/parser.js +1 -1
- package/lib/module/utils/parser.js.map +1 -1
- package/lib/module/utils/serializer.js +102 -6
- package/lib/module/utils/serializer.js.map +1 -1
- package/lib/module/utils/styleMapper.js +11 -0
- package/lib/module/utils/styleMapper.js.map +1 -1
- package/lib/typescript/src/components/RenderedOutput.d.ts +9 -0
- package/lib/typescript/src/components/RenderedOutput.d.ts.map +1 -0
- package/lib/typescript/src/components/RichTextInput.d.ts.map +1 -1
- package/lib/typescript/src/components/Toolbar.d.ts.map +1 -1
- package/lib/typescript/src/constants/defaultStyles.d.ts +1 -0
- package/lib/typescript/src/constants/defaultStyles.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useFormatting.d.ts +4 -1
- package/lib/typescript/src/hooks/useFormatting.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRichText.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/types/index.d.ts +94 -1
- package/lib/typescript/src/types/index.d.ts.map +1 -1
- package/lib/typescript/src/utils/formatter.d.ts +9 -1
- package/lib/typescript/src/utils/formatter.d.ts.map +1 -1
- package/lib/typescript/src/utils/parser.d.ts.map +1 -1
- package/lib/typescript/src/utils/serializer.d.ts.map +1 -1
- package/lib/typescript/src/utils/styleMapper.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/RenderedOutput.tsx +231 -0
- package/src/components/RichTextInput.tsx +193 -19
- package/src/components/Toolbar.tsx +54 -2
- package/src/constants/defaultStyles.d.ts +2 -1
- package/src/constants/defaultStyles.ts +20 -0
- package/src/hooks/useFormatting.ts +101 -2
- package/src/hooks/useRichText.ts +101 -5
- package/src/index.d.ts +1 -1
- package/src/index.ts +4 -0
- package/src/types/index.d.ts +94 -1
- package/src/types/index.ts +104 -1
- package/src/utils/formatter.ts +60 -6
- package/src/utils/parser.ts +6 -1
- package/src/utils/serializer.ts +150 -8
- package/src/utils/styleMapper.ts +21 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DEFAULT_COLORS","exports","primary","background","text","placeholder","toolbarBackground","toolbarBorder","outputBackground","outputLabel","cursor","activeButtonBg","codeBackground","HEADING_FONT_SIZES","h1","h2","h3","none","DEFAULT_BASE_TEXT_STYLE","fontSize","lineHeight","color","fontFamily","undefined","EMPTY_FORMAT_STYLE","bold","italic","underline","strikethrough","code","backgroundColor","heading","DEFAULT_THEME","containerStyle","borderWidth","borderColor","borderRadius","overflow","inputStyle","paddingHorizontal","paddingVertical","textAlignVertical","overlayContainerStyle","position","top","left","right","bottom","baseTextStyle","outputContainerStyle","marginHorizontal","marginBottom","padding","outputLabelStyle","fontWeight","letterSpacing","textTransform","outputTextStyle","toolbarStyle","flexDirection","alignItems","
|
|
1
|
+
{"version":3,"names":["DEFAULT_COLORS","exports","primary","background","text","placeholder","toolbarBackground","toolbarBorder","outputBackground","outputLabel","link","cursor","activeButtonBg","codeBackground","HEADING_FONT_SIZES","h1","h2","h3","none","DEFAULT_BASE_TEXT_STYLE","fontSize","lineHeight","color","fontFamily","undefined","EMPTY_FORMAT_STYLE","bold","italic","underline","strikethrough","code","backgroundColor","heading","listType","textAlign","imageSrc","imageAlt","DEFAULT_THEME","containerStyle","borderWidth","borderColor","borderRadius","overflow","inputStyle","paddingHorizontal","paddingVertical","textAlignVertical","overlayContainerStyle","position","top","left","right","bottom","baseTextStyle","outputContainerStyle","marginHorizontal","marginBottom","padding","outputLabelStyle","fontWeight","letterSpacing","textTransform","outputTextStyle","renderedOutputStyle","gap","toolbarStyle","flexDirection","alignItems","toolbarButtonStyle","minWidth","justifyContent","toolbarButtonActiveStyle","toolbarButtonTextStyle","toolbarButtonActiveTextStyle","codeStyle","colors","DEFAULT_TOOLBAR_ITEMS","id","label","format","actionType","outputFormat","outputPreviewMode"],"sourceRoot":"../../../src","sources":["constants/defaultStyles.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -44,15 +44,54 @@ function useFormatting({
|
|
|
44
44
|
}
|
|
45
45
|
}, [segments, selection, activeStyles, onSegmentsChange, onActiveStylesChange]);
|
|
46
46
|
const setHeading = (0, _react.useCallback)(level => {
|
|
47
|
+
const currentHeading = selection.start === selection.end ? (0, _formatter.getSelectionStyle)(segments, selection).heading ?? activeStyles.heading : (0, _formatter.getSelectionStyle)(segments, selection).heading;
|
|
48
|
+
const nextHeading = currentHeading === level ? 'none' : level;
|
|
47
49
|
if (selection.start === selection.end) {
|
|
48
50
|
onActiveStylesChange({
|
|
49
51
|
...activeStyles,
|
|
50
|
-
heading:
|
|
52
|
+
heading: nextHeading === 'none' ? undefined : nextHeading,
|
|
53
|
+
listType: nextHeading === 'none' ? activeStyles.listType : undefined
|
|
51
54
|
});
|
|
52
55
|
}
|
|
53
|
-
const newSegments = (0, _formatter.setHeadingOnLine)(segments, selection,
|
|
56
|
+
const newSegments = (0, _formatter.setHeadingOnLine)(segments, selection, nextHeading);
|
|
54
57
|
onSegmentsChange(newSegments);
|
|
55
58
|
}, [activeStyles, onActiveStylesChange, onSegmentsChange, segments, selection]);
|
|
59
|
+
const setListType = (0, _react.useCallback)(listType => {
|
|
60
|
+
const currentListType = selection.start === selection.end ? (0, _formatter.getSelectionStyle)(segments, selection).listType ?? activeStyles.listType : (0, _formatter.getSelectionStyle)(segments, selection).listType;
|
|
61
|
+
const nextListType = currentListType === listType ? 'none' : listType;
|
|
62
|
+
if (selection.start === selection.end) {
|
|
63
|
+
onActiveStylesChange({
|
|
64
|
+
...activeStyles,
|
|
65
|
+
listType: nextListType === 'none' ? undefined : nextListType,
|
|
66
|
+
heading: nextListType === 'none' ? activeStyles.heading : undefined
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
const newSegments = (0, _formatter.setListTypeOnLine)(segments, selection, nextListType);
|
|
70
|
+
onSegmentsChange(newSegments);
|
|
71
|
+
}, [activeStyles, onActiveStylesChange, onSegmentsChange, segments, selection]);
|
|
72
|
+
const setTextAlign = (0, _react.useCallback)(textAlign => {
|
|
73
|
+
const currentTextAlign = selection.start === selection.end ? (0, _formatter.getSelectionStyle)(segments, selection).textAlign ?? activeStyles.textAlign : (0, _formatter.getSelectionStyle)(segments, selection).textAlign;
|
|
74
|
+
const nextTextAlign = currentTextAlign === textAlign ? undefined : textAlign;
|
|
75
|
+
if (selection.start === selection.end) {
|
|
76
|
+
onActiveStylesChange({
|
|
77
|
+
...activeStyles,
|
|
78
|
+
textAlign: nextTextAlign
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
const newSegments = (0, _formatter.setTextAlignOnLine)(segments, selection, nextTextAlign);
|
|
82
|
+
onSegmentsChange(newSegments);
|
|
83
|
+
}, [activeStyles, onActiveStylesChange, onSegmentsChange, segments, selection]);
|
|
84
|
+
const setLink = (0, _react.useCallback)(url => {
|
|
85
|
+
if (selection.start === selection.end) {
|
|
86
|
+
onActiveStylesChange({
|
|
87
|
+
...activeStyles,
|
|
88
|
+
link: url
|
|
89
|
+
});
|
|
90
|
+
} else {
|
|
91
|
+
const newSegments = (0, _formatter.setStyleOnSelection)(segments, selection, 'link', url);
|
|
92
|
+
onSegmentsChange(newSegments);
|
|
93
|
+
}
|
|
94
|
+
}, [segments, selection, activeStyles, onSegmentsChange, onActiveStylesChange]);
|
|
56
95
|
const setColor = (0, _react.useCallback)(color => {
|
|
57
96
|
setStyleProperty('color', color);
|
|
58
97
|
}, [setStyleProperty]);
|
|
@@ -78,6 +117,9 @@ function useFormatting({
|
|
|
78
117
|
toggleFormat,
|
|
79
118
|
setStyleProperty,
|
|
80
119
|
setHeading,
|
|
120
|
+
setListType,
|
|
121
|
+
setTextAlign,
|
|
122
|
+
setLink,
|
|
81
123
|
setColor,
|
|
82
124
|
setBackgroundColor,
|
|
83
125
|
setFontSize,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_formatter","useFormatting","segments","selection","activeStyles","onSegmentsChange","onActiveStylesChange","toggleFormat","useCallback","format","start","end","newSegments","toggleFormatOnSelection","setStyleProperty","key","value","setStyleOnSelection","setHeading","level","heading","undefined","setHeadingOnLine","setColor","color","setBackgroundColor","setFontSize","size","isFormatActive","isFormatActiveInSelection","currentSelectionStyle"
|
|
1
|
+
{"version":3,"names":["_react","require","_formatter","useFormatting","segments","selection","activeStyles","onSegmentsChange","onActiveStylesChange","toggleFormat","useCallback","format","start","end","newSegments","toggleFormatOnSelection","setStyleProperty","key","value","setStyleOnSelection","setHeading","level","currentHeading","getSelectionStyle","heading","nextHeading","undefined","listType","setHeadingOnLine","setListType","currentListType","nextListType","setListTypeOnLine","setTextAlign","textAlign","currentTextAlign","nextTextAlign","setTextAlignOnLine","setLink","url","link","setColor","color","setBackgroundColor","setFontSize","size","isFormatActive","isFormatActiveInSelection","currentSelectionStyle"],"sourceRoot":"../../../src","sources":["hooks/useFormatting.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -72,7 +72,7 @@ function useRichText(options = {}) {
|
|
|
72
72
|
const handleTextChange = (0, _react.useCallback)(newText => {
|
|
73
73
|
const currentSegments = segmentsRef.current;
|
|
74
74
|
const currentSelection = selectionRef.current;
|
|
75
|
-
const currentActiveStyles = currentSelection.start === currentSelection.end ? activeStylesRef.current : (0, _formatter.getSelectionStyle)(currentSegments, currentSelection);
|
|
75
|
+
const currentActiveStyles = sanitizeTypingStyles(currentSelection.start === currentSelection.end ? activeStylesRef.current : (0, _formatter.getSelectionStyle)(currentSegments, currentSelection));
|
|
76
76
|
const newSegments = (0, _parser.reconcileTextChange)(currentSegments, newText, currentActiveStyles);
|
|
77
77
|
updateSegments(newSegments);
|
|
78
78
|
}, [updateSegments]);
|
|
@@ -93,9 +93,7 @@ function useRichText(options = {}) {
|
|
|
93
93
|
const pos = (0, _parser.findPositionInSegments)(segmentsRef.current, newSelection.start);
|
|
94
94
|
if (segmentsRef.current.length > 0) {
|
|
95
95
|
const seg = segmentsRef.current[pos.segmentIndex];
|
|
96
|
-
setActiveStyles(
|
|
97
|
-
...seg.styles
|
|
98
|
-
});
|
|
96
|
+
setActiveStyles(sanitizeTypingStyles(seg.styles));
|
|
99
97
|
}
|
|
100
98
|
}
|
|
101
99
|
}, [handleSelectionChange]);
|
|
@@ -114,14 +112,25 @@ function useRichText(options = {}) {
|
|
|
114
112
|
const importJSON = (0, _react.useCallback)(newSegments => {
|
|
115
113
|
const safeSegments = newSegments.length > 0 ? newSegments : [(0, _parser.createSegment)('')];
|
|
116
114
|
updateSegments(safeSegments);
|
|
117
|
-
|
|
115
|
+
handleSelectionChange({
|
|
116
|
+
start: 0,
|
|
117
|
+
end: 0
|
|
118
|
+
});
|
|
119
|
+
setActiveStyles({
|
|
120
|
+
..._defaultStyles.EMPTY_FORMAT_STYLE
|
|
121
|
+
});
|
|
122
|
+
}, [handleSelectionChange, updateSegments]);
|
|
118
123
|
const clear = (0, _react.useCallback)(() => {
|
|
119
124
|
updateSegments([(0, _parser.createSegment)('')]);
|
|
125
|
+
handleSelectionChange({
|
|
126
|
+
start: 0,
|
|
127
|
+
end: 0
|
|
128
|
+
});
|
|
120
129
|
setActiveStyles({
|
|
121
130
|
..._defaultStyles.EMPTY_FORMAT_STYLE
|
|
122
131
|
});
|
|
123
132
|
preserveActiveStylesRef.current = false;
|
|
124
|
-
}, [updateSegments]);
|
|
133
|
+
}, [handleSelectionChange, updateSegments]);
|
|
125
134
|
const toggleFormat = (0, _react.useCallback)(format => {
|
|
126
135
|
if (selectionRef.current.start === selectionRef.current.end) {
|
|
127
136
|
preserveActiveStylesRef.current = true;
|
|
@@ -140,6 +149,24 @@ function useRichText(options = {}) {
|
|
|
140
149
|
}
|
|
141
150
|
formatting.setHeading(level);
|
|
142
151
|
}, [formatting]);
|
|
152
|
+
const setListType = (0, _react.useCallback)(type => {
|
|
153
|
+
if (selectionRef.current.start === selectionRef.current.end) {
|
|
154
|
+
preserveActiveStylesRef.current = true;
|
|
155
|
+
}
|
|
156
|
+
formatting.setListType(type);
|
|
157
|
+
}, [formatting]);
|
|
158
|
+
const setTextAlign = (0, _react.useCallback)(align => {
|
|
159
|
+
if (selectionRef.current.start === selectionRef.current.end) {
|
|
160
|
+
preserveActiveStylesRef.current = true;
|
|
161
|
+
}
|
|
162
|
+
formatting.setTextAlign(align);
|
|
163
|
+
}, [formatting]);
|
|
164
|
+
const setLink = (0, _react.useCallback)(url => {
|
|
165
|
+
if (selectionRef.current.start === selectionRef.current.end) {
|
|
166
|
+
preserveActiveStylesRef.current = true;
|
|
167
|
+
}
|
|
168
|
+
formatting.setLink(url);
|
|
169
|
+
}, [formatting]);
|
|
143
170
|
const setColor = (0, _react.useCallback)(color => {
|
|
144
171
|
if (selectionRef.current.start === selectionRef.current.end) {
|
|
145
172
|
preserveActiveStylesRef.current = true;
|
|
@@ -158,6 +185,27 @@ function useRichText(options = {}) {
|
|
|
158
185
|
}
|
|
159
186
|
formatting.setFontSize(size);
|
|
160
187
|
}, [formatting]);
|
|
188
|
+
const insertImage = (0, _react.useCallback)((source, options) => {
|
|
189
|
+
const currentSegments = segmentsRef.current;
|
|
190
|
+
const currentSelection = selectionRef.current;
|
|
191
|
+
const plainText = (0, _parser.segmentsToPlainText)(currentSegments);
|
|
192
|
+
const start = Math.min(currentSelection.start, currentSelection.end);
|
|
193
|
+
const end = Math.max(currentSelection.start, currentSelection.end);
|
|
194
|
+
const placeholder = options?.placeholder ?? buildImagePlaceholder(source, options?.alt);
|
|
195
|
+
const nextText = `${plainText.slice(0, start)}${placeholder}${plainText.slice(end)}`;
|
|
196
|
+
const insertionStyles = sanitizeTypingStyles(start === end ? activeStylesRef.current : (0, _formatter.getSelectionStyle)(currentSegments, currentSelection));
|
|
197
|
+
const nextSegments = (0, _parser.reconcileTextChange)(currentSegments, nextText, {
|
|
198
|
+
...insertionStyles,
|
|
199
|
+
imageSrc: source,
|
|
200
|
+
imageAlt: options?.alt
|
|
201
|
+
});
|
|
202
|
+
updateSegments(nextSegments);
|
|
203
|
+
handleSelectionChange({
|
|
204
|
+
start: start + placeholder.length,
|
|
205
|
+
end: start + placeholder.length
|
|
206
|
+
});
|
|
207
|
+
preserveActiveStylesRef.current = false;
|
|
208
|
+
}, [handleSelectionChange, updateSegments]);
|
|
161
209
|
|
|
162
210
|
// ─── Build Return Value ──────────────────────────────────────────────────
|
|
163
211
|
|
|
@@ -170,6 +218,10 @@ function useRichText(options = {}) {
|
|
|
170
218
|
toggleFormat,
|
|
171
219
|
setStyleProperty,
|
|
172
220
|
setHeading,
|
|
221
|
+
setListType,
|
|
222
|
+
setTextAlign,
|
|
223
|
+
setLink,
|
|
224
|
+
insertImage,
|
|
173
225
|
setColor,
|
|
174
226
|
setBackgroundColor,
|
|
175
227
|
setFontSize,
|
|
@@ -188,4 +240,21 @@ function useRichText(options = {}) {
|
|
|
188
240
|
actions
|
|
189
241
|
};
|
|
190
242
|
}
|
|
243
|
+
function sanitizeTypingStyles(style) {
|
|
244
|
+
return {
|
|
245
|
+
...style,
|
|
246
|
+
imageSrc: undefined,
|
|
247
|
+
imageAlt: undefined
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
function buildImagePlaceholder(source, alt) {
|
|
251
|
+
if (alt && alt.trim().length > 0) {
|
|
252
|
+
return `[Image: ${alt.trim()}]`;
|
|
253
|
+
}
|
|
254
|
+
const fileName = source.split('/').pop()?.split('?')[0]?.trim();
|
|
255
|
+
if (fileName) {
|
|
256
|
+
return `[Image: ${fileName}]`;
|
|
257
|
+
}
|
|
258
|
+
return '[Image]';
|
|
259
|
+
}
|
|
191
260
|
//# sourceMappingURL=useRichText.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_defaultStyles","_parser","_formatter","_serializer","_useSelection","_useFormatting","useRichText","options","initialSegments","onChangeSegments","onChangeText","segments","setSegments","useState","length","createSegment","activeStyles","setActiveStyles","EMPTY_FORMAT_STYLE","selection","handleSelectionChange","useSelection","segmentsRef","useRef","current","selectionRef","activeStylesRef","preserveActiveStylesRef","updateSegments","useCallback","newSegments","segmentsToPlainText","formatting","useFormatting","onSegmentsChange","onActiveStylesChange","handleTextChange","newText","currentSegments","currentSelection","currentActiveStyles","start","end","getSelectionStyle","reconcileTextChange","onSelectionChange","newSelection","previousSelection","shouldPreserveActiveStyles","pos","findPositionInSegments","seg","segmentIndex","styles","getPlainText","getOutput","format","serializeSegments","exportJSON","JSON","parse","stringify","importJSON","safeSegments","clear","toggleFormat","setStyleProperty","key","value","setHeading","level","setColor","color","setBackgroundColor","setFontSize","size","state","actions","isFormatActive","currentSelectionStyle"],"sourceRoot":"../../../src","sources":["hooks/useRichText.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_react","require","_defaultStyles","_parser","_formatter","_serializer","_useSelection","_useFormatting","useRichText","options","initialSegments","onChangeSegments","onChangeText","segments","setSegments","useState","length","createSegment","activeStyles","setActiveStyles","EMPTY_FORMAT_STYLE","selection","handleSelectionChange","useSelection","segmentsRef","useRef","current","selectionRef","activeStylesRef","preserveActiveStylesRef","updateSegments","useCallback","newSegments","segmentsToPlainText","formatting","useFormatting","onSegmentsChange","onActiveStylesChange","handleTextChange","newText","currentSegments","currentSelection","currentActiveStyles","sanitizeTypingStyles","start","end","getSelectionStyle","reconcileTextChange","onSelectionChange","newSelection","previousSelection","shouldPreserveActiveStyles","pos","findPositionInSegments","seg","segmentIndex","styles","getPlainText","getOutput","format","serializeSegments","exportJSON","JSON","parse","stringify","importJSON","safeSegments","clear","toggleFormat","setStyleProperty","key","value","setHeading","level","setListType","type","setTextAlign","align","setLink","url","setColor","color","setBackgroundColor","setFontSize","size","insertImage","source","plainText","Math","min","max","placeholder","buildImagePlaceholder","alt","nextText","slice","insertionStyles","nextSegments","imageSrc","imageAlt","state","actions","isFormatActive","currentSelectionStyle","style","undefined","trim","fileName","split","pop"],"sourceRoot":"../../../src","sources":["hooks/useRichText.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,7 +12,9 @@ Object.defineProperty(exports, "createSegment", {
|
|
|
12
12
|
exports.getSelectionStyle = getSelectionStyle;
|
|
13
13
|
exports.isFormatActiveInSelection = isFormatActiveInSelection;
|
|
14
14
|
exports.setHeadingOnLine = setHeadingOnLine;
|
|
15
|
+
exports.setListTypeOnLine = setListTypeOnLine;
|
|
15
16
|
exports.setStyleOnSelection = setStyleOnSelection;
|
|
17
|
+
exports.setTextAlignOnLine = setTextAlignOnLine;
|
|
16
18
|
exports.toggleFormatOnSelection = toggleFormatOnSelection;
|
|
17
19
|
var _parser = require("../utils/parser");
|
|
18
20
|
/**
|
|
@@ -63,15 +65,29 @@ function setStyleOnSelection(segments, selection, key, value) {
|
|
|
63
65
|
* Apply a heading level to the line containing the cursor/selection.
|
|
64
66
|
*/
|
|
65
67
|
function setHeadingOnLine(segments, selection, level) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
68
|
+
return setLineStyleOnSelection(segments, selection, {
|
|
69
|
+
heading: level === 'none' ? undefined : level,
|
|
70
|
+
listType: level === 'none' ? undefined : undefined
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Apply a list type to the lines containing the cursor/selection.
|
|
76
|
+
*/
|
|
77
|
+
function setListTypeOnLine(segments, selection, listType) {
|
|
78
|
+
return setLineStyleOnSelection(segments, selection, {
|
|
79
|
+
listType: listType === 'none' ? undefined : listType,
|
|
80
|
+
heading: listType === 'none' ? undefined : undefined
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Apply text alignment to the lines containing the cursor/selection.
|
|
86
|
+
*/
|
|
87
|
+
function setTextAlignOnLine(segments, selection, textAlign) {
|
|
88
|
+
return setLineStyleOnSelection(segments, selection, {
|
|
89
|
+
textAlign
|
|
90
|
+
});
|
|
75
91
|
}
|
|
76
92
|
|
|
77
93
|
/**
|
|
@@ -124,6 +140,11 @@ function getSelectionStyle(segments, selection) {
|
|
|
124
140
|
if (result.backgroundColor !== s.backgroundColor) result.backgroundColor = undefined;
|
|
125
141
|
if (result.fontSize !== s.fontSize) result.fontSize = undefined;
|
|
126
142
|
if (result.heading !== s.heading) result.heading = undefined;
|
|
143
|
+
if (result.listType !== s.listType) result.listType = undefined;
|
|
144
|
+
if (result.textAlign !== s.textAlign) result.textAlign = undefined;
|
|
145
|
+
if (result.link !== s.link) result.link = undefined;
|
|
146
|
+
if (result.imageSrc !== s.imageSrc) result.imageSrc = undefined;
|
|
147
|
+
if (result.imageAlt !== s.imageAlt) result.imageAlt = undefined;
|
|
127
148
|
}
|
|
128
149
|
return result;
|
|
129
150
|
}
|
|
@@ -203,6 +224,14 @@ function applyStyleToRange(segments, start, end, styleDelta) {
|
|
|
203
224
|
}
|
|
204
225
|
return (0, _parser.mergeAdjacentSegments)(result);
|
|
205
226
|
}
|
|
227
|
+
function setLineStyleOnSelection(segments, selection, styleDelta) {
|
|
228
|
+
const plainText = (0, _parser.segmentsToPlainText)(segments);
|
|
229
|
+
const {
|
|
230
|
+
lineStart,
|
|
231
|
+
lineEnd
|
|
232
|
+
} = getSelectionLineRange(plainText, selection);
|
|
233
|
+
return applyStyleToRange(segments, lineStart, lineEnd, styleDelta);
|
|
234
|
+
}
|
|
206
235
|
|
|
207
236
|
/**
|
|
208
237
|
* Get the line start and end positions for the line containing the given position.
|
|
@@ -221,6 +250,16 @@ function getLineRange(text, position) {
|
|
|
221
250
|
lineEnd
|
|
222
251
|
};
|
|
223
252
|
}
|
|
253
|
+
function getSelectionLineRange(text, selection) {
|
|
254
|
+
const normalized = normalizeSelection(selection);
|
|
255
|
+
const lineStart = getLineRange(text, normalized.start).lineStart;
|
|
256
|
+
const effectiveEnd = normalized.end > normalized.start ? normalized.end - 1 : normalized.end;
|
|
257
|
+
const lineEnd = getLineRange(text, effectiveEnd).lineEnd;
|
|
258
|
+
return {
|
|
259
|
+
lineStart,
|
|
260
|
+
lineEnd
|
|
261
|
+
};
|
|
262
|
+
}
|
|
224
263
|
|
|
225
264
|
// Re-export for convenience
|
|
226
265
|
//# sourceMappingURL=formatter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_parser","require","toggleFormatOnSelection","segments","selection","format","start","end","normalizeSelection","selectedSegments","extractSegmentsInRange","allHaveFormat","every","s","styles","applyStyleToRange","setStyleOnSelection","key","value","setHeadingOnLine","level","
|
|
1
|
+
{"version":3,"names":["_parser","require","toggleFormatOnSelection","segments","selection","format","start","end","normalizeSelection","selectedSegments","extractSegmentsInRange","allHaveFormat","every","s","styles","applyStyleToRange","setStyleOnSelection","key","value","setHeadingOnLine","level","setLineStyleOnSelection","heading","undefined","listType","setListTypeOnLine","setTextAlignOnLine","textAlign","isFormatActiveInSelection","selected","length","getSelectionStyle","pos","findPositionInSegments","segmentIndex","result","i","bold","italic","underline","strikethrough","code","color","backgroundColor","fontSize","link","imageSrc","imageAlt","Math","min","max","seg","segStart","segEnd","text","overlapStart","overlapEnd","push","createSegment","slice","styleDelta","newStyles","mergeAdjacentSegments","plainText","segmentsToPlainText","lineStart","lineEnd","getSelectionLineRange","getLineRange","position","normalized","effectiveEnd"],"sourceRoot":"../../../src","sources":["utils/formatter.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -79,7 +79,7 @@ function splitSegment(segment, offset) {
|
|
|
79
79
|
* Checks if two FormatStyle objects are deeply equal.
|
|
80
80
|
*/
|
|
81
81
|
function areStylesEqual(a, b) {
|
|
82
|
-
return !!a.bold === !!b.bold && !!a.italic === !!b.italic && !!a.underline === !!b.underline && !!a.strikethrough === !!b.strikethrough && !!a.code === !!b.code && (a.color ?? undefined) === (b.color ?? undefined) && (a.backgroundColor ?? undefined) === (b.backgroundColor ?? undefined) && (a.fontSize ?? undefined) === (b.fontSize ?? undefined) && (a.heading ?? undefined) === (b.heading ?? undefined);
|
|
82
|
+
return !!a.bold === !!b.bold && !!a.italic === !!b.italic && !!a.underline === !!b.underline && !!a.strikethrough === !!b.strikethrough && !!a.code === !!b.code && (a.color ?? undefined) === (b.color ?? undefined) && (a.backgroundColor ?? undefined) === (b.backgroundColor ?? undefined) && (a.fontSize ?? undefined) === (b.fontSize ?? undefined) && (a.heading ?? undefined) === (b.heading ?? undefined) && (a.listType ?? undefined) === (b.listType ?? undefined) && (a.textAlign ?? undefined) === (b.textAlign ?? undefined) && (a.link ?? undefined) === (b.link ?? undefined) && (a.imageSrc ?? undefined) === (b.imageSrc ?? undefined) && (a.imageAlt ?? undefined) === (b.imageAlt ?? undefined);
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_defaultStyles","require","createSegment","text","styles","EMPTY_FORMAT_STYLE","getTotalLength","segments","reduce","sum","seg","length","segmentsToPlainText","map","s","join","findPositionInSegments","globalPosition","remaining","i","segLen","segmentIndex","offsetInSegment","lastIndex","Math","max","splitSegment","segment","offset","before","slice","after","areStylesEqual","a","b","bold","italic","underline","strikethrough","code","color","undefined","backgroundColor","fontSize","heading","mergeAdjacentSegments","result","last","newSeg","push","reconcileTextChange","oldSegments","newText","activeStyles","oldText","prefixLen","minLen","min","suffixLen","deleteStart","deleteEnd","insertedText","pos","phase","insertedNewSegment","segStart","segEnd"],"sourceRoot":"../../../src","sources":["utils/parser.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_defaultStyles","require","createSegment","text","styles","EMPTY_FORMAT_STYLE","getTotalLength","segments","reduce","sum","seg","length","segmentsToPlainText","map","s","join","findPositionInSegments","globalPosition","remaining","i","segLen","segmentIndex","offsetInSegment","lastIndex","Math","max","splitSegment","segment","offset","before","slice","after","areStylesEqual","a","b","bold","italic","underline","strikethrough","code","color","undefined","backgroundColor","fontSize","heading","listType","textAlign","link","imageSrc","imageAlt","mergeAdjacentSegments","result","last","newSeg","push","reconcileTextChange","oldSegments","newText","activeStyles","oldText","prefixLen","minLen","min","suffixLen","deleteStart","deleteEnd","insertedText","pos","phase","insertedNewSegment","segStart","segEnd"],"sourceRoot":"../../../src","sources":["utils/parser.ts"],"mappings":"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","ignoreList":[]}
|