react-native-simple-rich-text-editor 0.3.3 → 0.5.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/commonjs/index.js +12 -10
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +12 -10
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +4 -1
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +4 -1
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.tsx +16 -5
package/lib/commonjs/index.js
CHANGED
@@ -57,7 +57,9 @@ const debounce = (func, delay) => {
|
|
57
57
|
const RichTextEditor = ({
|
58
58
|
text: externalText,
|
59
59
|
onEmitText,
|
60
|
-
emitTextAfterMillisecondsOfInactivity = 500
|
60
|
+
emitTextAfterMillisecondsOfInactivity = 500,
|
61
|
+
textInputStyles,
|
62
|
+
buttonStyles
|
61
63
|
}) => {
|
62
64
|
// Internal state to track the current text value
|
63
65
|
const [internalText, setInternalText] = (0, _react.useState)(externalText);
|
@@ -107,45 +109,45 @@ const RichTextEditor = ({
|
|
107
109
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
108
110
|
style: styles.toolbar,
|
109
111
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
110
|
-
style: styles.button,
|
112
|
+
style: [styles.button, buttonStyles],
|
111
113
|
onPress: () => handleTextChange((0, _textManipulation.addHeadlineMarker)(_markers.Markers.H1, internalText, selection)),
|
112
114
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
113
115
|
style: styles.buttonText,
|
114
116
|
children: "H1"
|
115
117
|
})
|
116
118
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
117
|
-
style: styles.button,
|
119
|
+
style: [styles.button, buttonStyles],
|
118
120
|
onPress: () => handleTextChange((0, _textManipulation.addHeadlineMarker)(_markers.Markers.H2, internalText, selection)),
|
119
121
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
120
122
|
style: styles.buttonText,
|
121
123
|
children: "H2"
|
122
124
|
})
|
123
125
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
124
|
-
style: styles.button,
|
126
|
+
style: [styles.button, buttonStyles],
|
125
127
|
onPress: () => handleTextChange((0, _textManipulation.addHeadlineMarker)(_markers.Markers.H3, internalText, selection)),
|
126
128
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
127
129
|
style: styles.buttonText,
|
128
130
|
children: "H3"
|
129
131
|
})
|
130
132
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
131
|
-
style: styles.button,
|
133
|
+
style: [styles.button, buttonStyles],
|
132
134
|
onPress: () => handleTextChange((0, _textManipulation.addBulletPointMarker)(internalText, selection)),
|
133
135
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
134
136
|
style: styles.buttonText,
|
135
137
|
children: "List"
|
136
138
|
})
|
137
139
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
138
|
-
style: [styles.button, styles.fixedWidth, needsBoldEndMarker ? styles.endFontStyleButton : null],
|
140
|
+
style: [styles.button, styles.fixedWidth, buttonStyles, needsBoldEndMarker ? styles.endFontStyleButton : null],
|
139
141
|
onPress: handleFontStyleMarkerInsertion('bold'),
|
140
142
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
141
|
-
style: [styles.buttonText, needsBoldEndMarker ? styles.endFontStyleText : null],
|
143
|
+
style: [styles.buttonText, buttonStyles, needsBoldEndMarker ? styles.endFontStyleText : null],
|
142
144
|
children: "Bold"
|
143
145
|
})
|
144
146
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
145
|
-
style: [styles.button, styles.fixedWidth, needsItalicEndMarker ? styles.endFontStyleButton : null],
|
147
|
+
style: [styles.button, styles.fixedWidth, buttonStyles, needsItalicEndMarker ? styles.endFontStyleButton : null],
|
146
148
|
onPress: handleFontStyleMarkerInsertion('italic'),
|
147
149
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
148
|
-
style: [styles.buttonText, needsItalicEndMarker ? styles.endFontStyleText : null],
|
150
|
+
style: [styles.buttonText, buttonStyles, needsItalicEndMarker ? styles.endFontStyleText : null],
|
149
151
|
children: "Italic"
|
150
152
|
})
|
151
153
|
})]
|
@@ -153,7 +155,7 @@ const RichTextEditor = ({
|
|
153
155
|
multiline: true,
|
154
156
|
autoFocus: true,
|
155
157
|
autoCorrect: false,
|
156
|
-
style: styles.input,
|
158
|
+
style: [styles.input, textInputStyles],
|
157
159
|
onSelectionChange: e => setSelection(e.nativeEvent.selection),
|
158
160
|
onChangeText: handleTextChange,
|
159
161
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Render.Render, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_Render","_textManipulation","_markers","_jsxRuntime","debounce","func","delay","timeoutId","args","clearTimeout","setTimeout","RichTextEditor","text","externalText","onEmitText","emitTextAfterMillisecondsOfInactivity","internalText","setInternalText","useState","selection","setSelection","start","end","needsBoldEndMarker","setNeedsBoldEndMarker","needsItalicEndMarker","setNeedsItalicEndMarker","debouncedEmitText","useRef","newText","current","useEffect","handleTextChange","useCallback","handleFontStyleMarkerInsertion","style","isBold","addFontStyleEndMarker","addFontStyleMarkers","jsxs","View","styles","container","children","toolbar","jsx","TouchableOpacity","button","onPress","addHeadlineMarker","Markers","H1","Text","buttonText","H2","H3","addBulletPointMarker","fixedWidth","endFontStyleButton","endFontStyleText","TextInput","multiline","autoFocus","autoCorrect","input","onSelectionChange","e","nativeEvent","onChangeText","Render","encodedText","exports","electricBlueHex","jasperRedHex","StyleSheet","create","flex","marginVertical","flexDirection","justifyContent","flexWrap","textAlignVertical","paddingVertical","paddingHorizontal","borderRadius","borderWidth","borderColor","backgroundColor","flexShrink","textAlign","color","width","_default","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;AA+BA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_Render","_textManipulation","_markers","_jsxRuntime","debounce","func","delay","timeoutId","args","clearTimeout","setTimeout","RichTextEditor","text","externalText","onEmitText","emitTextAfterMillisecondsOfInactivity","textInputStyles","buttonStyles","internalText","setInternalText","useState","selection","setSelection","start","end","needsBoldEndMarker","setNeedsBoldEndMarker","needsItalicEndMarker","setNeedsItalicEndMarker","debouncedEmitText","useRef","newText","current","useEffect","handleTextChange","useCallback","handleFontStyleMarkerInsertion","style","isBold","addFontStyleEndMarker","addFontStyleMarkers","jsxs","View","styles","container","children","toolbar","jsx","TouchableOpacity","button","onPress","addHeadlineMarker","Markers","H1","Text","buttonText","H2","H3","addBulletPointMarker","fixedWidth","endFontStyleButton","endFontStyleText","TextInput","multiline","autoFocus","autoCorrect","input","onSelectionChange","e","nativeEvent","onChangeText","Render","encodedText","exports","electricBlueHex","jasperRedHex","StyleSheet","create","flex","marginVertical","flexDirection","justifyContent","flexWrap","textAlignVertical","paddingVertical","paddingHorizontal","borderRadius","borderWidth","borderColor","backgroundColor","flexShrink","textAlign","color","width","_default","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
@@ -54,7 +54,9 @@ const debounce = (func, delay) => {
|
|
54
54
|
const RichTextEditor = ({
|
55
55
|
text: externalText,
|
56
56
|
onEmitText,
|
57
|
-
emitTextAfterMillisecondsOfInactivity = 500
|
57
|
+
emitTextAfterMillisecondsOfInactivity = 500,
|
58
|
+
textInputStyles,
|
59
|
+
buttonStyles
|
58
60
|
}) => {
|
59
61
|
// Internal state to track the current text value
|
60
62
|
const [internalText, setInternalText] = useState(externalText);
|
@@ -104,45 +106,45 @@ const RichTextEditor = ({
|
|
104
106
|
children: [/*#__PURE__*/_jsxs(View, {
|
105
107
|
style: styles.toolbar,
|
106
108
|
children: [/*#__PURE__*/_jsx(TouchableOpacity, {
|
107
|
-
style: styles.button,
|
109
|
+
style: [styles.button, buttonStyles],
|
108
110
|
onPress: () => handleTextChange(addHeadlineMarker(Markers.H1, internalText, selection)),
|
109
111
|
children: /*#__PURE__*/_jsx(Text, {
|
110
112
|
style: styles.buttonText,
|
111
113
|
children: "H1"
|
112
114
|
})
|
113
115
|
}), /*#__PURE__*/_jsx(TouchableOpacity, {
|
114
|
-
style: styles.button,
|
116
|
+
style: [styles.button, buttonStyles],
|
115
117
|
onPress: () => handleTextChange(addHeadlineMarker(Markers.H2, internalText, selection)),
|
116
118
|
children: /*#__PURE__*/_jsx(Text, {
|
117
119
|
style: styles.buttonText,
|
118
120
|
children: "H2"
|
119
121
|
})
|
120
122
|
}), /*#__PURE__*/_jsx(TouchableOpacity, {
|
121
|
-
style: styles.button,
|
123
|
+
style: [styles.button, buttonStyles],
|
122
124
|
onPress: () => handleTextChange(addHeadlineMarker(Markers.H3, internalText, selection)),
|
123
125
|
children: /*#__PURE__*/_jsx(Text, {
|
124
126
|
style: styles.buttonText,
|
125
127
|
children: "H3"
|
126
128
|
})
|
127
129
|
}), /*#__PURE__*/_jsx(TouchableOpacity, {
|
128
|
-
style: styles.button,
|
130
|
+
style: [styles.button, buttonStyles],
|
129
131
|
onPress: () => handleTextChange(addBulletPointMarker(internalText, selection)),
|
130
132
|
children: /*#__PURE__*/_jsx(Text, {
|
131
133
|
style: styles.buttonText,
|
132
134
|
children: "List"
|
133
135
|
})
|
134
136
|
}), /*#__PURE__*/_jsx(TouchableOpacity, {
|
135
|
-
style: [styles.button, styles.fixedWidth, needsBoldEndMarker ? styles.endFontStyleButton : null],
|
137
|
+
style: [styles.button, styles.fixedWidth, buttonStyles, needsBoldEndMarker ? styles.endFontStyleButton : null],
|
136
138
|
onPress: handleFontStyleMarkerInsertion('bold'),
|
137
139
|
children: /*#__PURE__*/_jsx(Text, {
|
138
|
-
style: [styles.buttonText, needsBoldEndMarker ? styles.endFontStyleText : null],
|
140
|
+
style: [styles.buttonText, buttonStyles, needsBoldEndMarker ? styles.endFontStyleText : null],
|
139
141
|
children: "Bold"
|
140
142
|
})
|
141
143
|
}), /*#__PURE__*/_jsx(TouchableOpacity, {
|
142
|
-
style: [styles.button, styles.fixedWidth, needsItalicEndMarker ? styles.endFontStyleButton : null],
|
144
|
+
style: [styles.button, styles.fixedWidth, buttonStyles, needsItalicEndMarker ? styles.endFontStyleButton : null],
|
143
145
|
onPress: handleFontStyleMarkerInsertion('italic'),
|
144
146
|
children: /*#__PURE__*/_jsx(Text, {
|
145
|
-
style: [styles.buttonText, needsItalicEndMarker ? styles.endFontStyleText : null],
|
147
|
+
style: [styles.buttonText, buttonStyles, needsItalicEndMarker ? styles.endFontStyleText : null],
|
146
148
|
children: "Italic"
|
147
149
|
})
|
148
150
|
})]
|
@@ -150,7 +152,7 @@ const RichTextEditor = ({
|
|
150
152
|
multiline: true,
|
151
153
|
autoFocus: true,
|
152
154
|
autoCorrect: false,
|
153
|
-
style: styles.input,
|
155
|
+
style: [styles.input, textInputStyles],
|
154
156
|
onSelectionChange: e => setSelection(e.nativeEvent.selection),
|
155
157
|
onChangeText: handleTextChange,
|
156
158
|
children: /*#__PURE__*/_jsx(Render, {
|
package/lib/module/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["useState","useEffect","useRef","useCallback","StyleSheet","TextInput","TouchableOpacity","View","Text","Render","addFontStyleMarkers","addFontStyleEndMarker","addHeadlineMarker","addBulletPointMarker","Markers","jsx","_jsx","jsxs","_jsxs","debounce","func","delay","timeoutId","args","clearTimeout","setTimeout","RichTextEditor","text","externalText","onEmitText","emitTextAfterMillisecondsOfInactivity","internalText","setInternalText","selection","setSelection","start","end","needsBoldEndMarker","setNeedsBoldEndMarker","needsItalicEndMarker","setNeedsItalicEndMarker","debouncedEmitText","newText","current","handleTextChange","handleFontStyleMarkerInsertion","style","isBold","styles","container","children","toolbar","button","onPress","H1","buttonText","H2","H3","fixedWidth","endFontStyleButton","endFontStyleText","multiline","autoFocus","autoCorrect","input","onSelectionChange","e","nativeEvent","onChangeText","encodedText","electricBlueHex","jasperRedHex","create","flex","marginVertical","flexDirection","justifyContent","flexWrap","textAlignVertical","paddingVertical","paddingHorizontal","borderRadius","borderWidth","borderColor","backgroundColor","flexShrink","textAlign","color","width"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,QAAQ,EAAEC,SAAS,EAAEC,MAAM,EAAEC,WAAW,QAAQ,OAAO;AAChE,SACEC,UAAU,EACVC,SAAS,EACTC,gBAAgB,EAChBC,IAAI,EACJC,IAAI,
|
1
|
+
{"version":3,"names":["useState","useEffect","useRef","useCallback","StyleSheet","TextInput","TouchableOpacity","View","Text","Render","addFontStyleMarkers","addFontStyleEndMarker","addHeadlineMarker","addBulletPointMarker","Markers","jsx","_jsx","jsxs","_jsxs","debounce","func","delay","timeoutId","args","clearTimeout","setTimeout","RichTextEditor","text","externalText","onEmitText","emitTextAfterMillisecondsOfInactivity","textInputStyles","buttonStyles","internalText","setInternalText","selection","setSelection","start","end","needsBoldEndMarker","setNeedsBoldEndMarker","needsItalicEndMarker","setNeedsItalicEndMarker","debouncedEmitText","newText","current","handleTextChange","handleFontStyleMarkerInsertion","style","isBold","styles","container","children","toolbar","button","onPress","H1","buttonText","H2","H3","fixedWidth","endFontStyleButton","endFontStyleText","multiline","autoFocus","autoCorrect","input","onSelectionChange","e","nativeEvent","onChangeText","encodedText","electricBlueHex","jasperRedHex","create","flex","marginVertical","flexDirection","justifyContent","flexWrap","textAlignVertical","paddingVertical","paddingHorizontal","borderRadius","borderWidth","borderColor","backgroundColor","flexShrink","textAlign","color","width"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
@@ -29,10 +29,13 @@
|
|
29
29
|
* ```
|
30
30
|
*/
|
31
31
|
import type { Dispatch, SetStateAction } from 'react';
|
32
|
-
|
32
|
+
import { type TextStyle, type StyleProp, type ViewStyle } from 'react-native';
|
33
|
+
declare const RichTextEditor: ({ text: externalText, onEmitText, emitTextAfterMillisecondsOfInactivity, textInputStyles, buttonStyles, }: {
|
33
34
|
text: string;
|
34
35
|
onEmitText: Dispatch<SetStateAction<string>>;
|
35
36
|
emitTextAfterMillisecondsOfInactivity?: number;
|
37
|
+
textInputStyles?: StyleProp<TextStyle>;
|
38
|
+
buttonStyles?: StyleProp<ViewStyle>;
|
36
39
|
}) => import("react/jsx-runtime").JSX.Element;
|
37
40
|
export default RichTextEditor;
|
38
41
|
export { RichTextEditor };
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAQL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AA6BtB,QAAA,MAAM,cAAc,GAAI,2GAMrB;IACD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,qCAAqC,CAAC,EAAE,MAAM,CAAC;IAC/C,eAAe,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CACrC,4CAsJA,CAAC;AAuCF,eAAe,cAAc,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
@@ -29,10 +29,13 @@
|
|
29
29
|
* ```
|
30
30
|
*/
|
31
31
|
import type { Dispatch, SetStateAction } from 'react';
|
32
|
-
|
32
|
+
import { type TextStyle, type StyleProp, type ViewStyle } from 'react-native';
|
33
|
+
declare const RichTextEditor: ({ text: externalText, onEmitText, emitTextAfterMillisecondsOfInactivity, textInputStyles, buttonStyles, }: {
|
33
34
|
text: string;
|
34
35
|
onEmitText: Dispatch<SetStateAction<string>>;
|
35
36
|
emitTextAfterMillisecondsOfInactivity?: number;
|
37
|
+
textInputStyles?: StyleProp<TextStyle>;
|
38
|
+
buttonStyles?: StyleProp<ViewStyle>;
|
36
39
|
}) => import("react/jsx-runtime").JSX.Element;
|
37
40
|
export default RichTextEditor;
|
38
41
|
export { RichTextEditor };
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAQL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AA6BtB,QAAA,MAAM,cAAc,GAAI,2GAMrB;IACD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,qCAAqC,CAAC,EAAE,MAAM,CAAC;IAC/C,eAAe,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CACrC,4CAsJA,CAAC;AAuCF,eAAe,cAAc,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
package/package.json
CHANGED
package/src/index.tsx
CHANGED
@@ -38,6 +38,9 @@ import {
|
|
38
38
|
Text,
|
39
39
|
type NativeSyntheticEvent,
|
40
40
|
type TextInputSelectionChangeEventData,
|
41
|
+
type TextStyle,
|
42
|
+
type StyleProp,
|
43
|
+
type ViewStyle,
|
41
44
|
} from 'react-native';
|
42
45
|
import { Render } from './internal/rendering/components/Render.tsx';
|
43
46
|
import {
|
@@ -71,10 +74,14 @@ const RichTextEditor = ({
|
|
71
74
|
text: externalText,
|
72
75
|
onEmitText,
|
73
76
|
emitTextAfterMillisecondsOfInactivity = 500,
|
77
|
+
textInputStyles,
|
78
|
+
buttonStyles,
|
74
79
|
}: {
|
75
80
|
text: string;
|
76
81
|
onEmitText: Dispatch<SetStateAction<string>>;
|
77
82
|
emitTextAfterMillisecondsOfInactivity?: number;
|
83
|
+
textInputStyles?: StyleProp<TextStyle>;
|
84
|
+
buttonStyles?: StyleProp<ViewStyle>;
|
78
85
|
}) => {
|
79
86
|
// Internal state to track the current text value
|
80
87
|
const [internalText, setInternalText] = useState(externalText);
|
@@ -135,7 +142,7 @@ const RichTextEditor = ({
|
|
135
142
|
<View style={styles.container}>
|
136
143
|
<View style={styles.toolbar}>
|
137
144
|
<TouchableOpacity
|
138
|
-
style={styles.button}
|
145
|
+
style={[styles.button, buttonStyles]}
|
139
146
|
onPress={() =>
|
140
147
|
handleTextChange(
|
141
148
|
addHeadlineMarker(Markers.H1, internalText, selection)
|
@@ -145,7 +152,7 @@ const RichTextEditor = ({
|
|
145
152
|
<Text style={styles.buttonText}>H1</Text>
|
146
153
|
</TouchableOpacity>
|
147
154
|
<TouchableOpacity
|
148
|
-
style={styles.button}
|
155
|
+
style={[styles.button, buttonStyles]}
|
149
156
|
onPress={() =>
|
150
157
|
handleTextChange(
|
151
158
|
addHeadlineMarker(Markers.H2, internalText, selection)
|
@@ -155,7 +162,7 @@ const RichTextEditor = ({
|
|
155
162
|
<Text style={styles.buttonText}>H2</Text>
|
156
163
|
</TouchableOpacity>
|
157
164
|
<TouchableOpacity
|
158
|
-
style={styles.button}
|
165
|
+
style={[styles.button, buttonStyles]}
|
159
166
|
onPress={() =>
|
160
167
|
handleTextChange(
|
161
168
|
addHeadlineMarker(Markers.H3, internalText, selection)
|
@@ -165,7 +172,7 @@ const RichTextEditor = ({
|
|
165
172
|
<Text style={styles.buttonText}>H3</Text>
|
166
173
|
</TouchableOpacity>
|
167
174
|
<TouchableOpacity
|
168
|
-
style={styles.button}
|
175
|
+
style={[styles.button, buttonStyles]}
|
169
176
|
onPress={() =>
|
170
177
|
handleTextChange(addBulletPointMarker(internalText, selection))
|
171
178
|
}
|
@@ -176,6 +183,7 @@ const RichTextEditor = ({
|
|
176
183
|
style={[
|
177
184
|
styles.button,
|
178
185
|
styles.fixedWidth,
|
186
|
+
buttonStyles,
|
179
187
|
needsBoldEndMarker ? styles.endFontStyleButton : null,
|
180
188
|
]}
|
181
189
|
onPress={handleFontStyleMarkerInsertion('bold')}
|
@@ -183,6 +191,7 @@ const RichTextEditor = ({
|
|
183
191
|
<Text
|
184
192
|
style={[
|
185
193
|
styles.buttonText,
|
194
|
+
buttonStyles,
|
186
195
|
needsBoldEndMarker ? styles.endFontStyleText : null,
|
187
196
|
]}
|
188
197
|
>
|
@@ -193,6 +202,7 @@ const RichTextEditor = ({
|
|
193
202
|
style={[
|
194
203
|
styles.button,
|
195
204
|
styles.fixedWidth,
|
205
|
+
buttonStyles,
|
196
206
|
needsItalicEndMarker ? styles.endFontStyleButton : null,
|
197
207
|
]}
|
198
208
|
onPress={handleFontStyleMarkerInsertion('italic')}
|
@@ -200,6 +210,7 @@ const RichTextEditor = ({
|
|
200
210
|
<Text
|
201
211
|
style={[
|
202
212
|
styles.buttonText,
|
213
|
+
buttonStyles,
|
203
214
|
needsItalicEndMarker ? styles.endFontStyleText : null,
|
204
215
|
]}
|
205
216
|
>
|
@@ -211,7 +222,7 @@ const RichTextEditor = ({
|
|
211
222
|
multiline
|
212
223
|
autoFocus
|
213
224
|
autoCorrect={false}
|
214
|
-
style={styles.input}
|
225
|
+
style={[styles.input, textInputStyles]}
|
215
226
|
onSelectionChange={(
|
216
227
|
e: NativeSyntheticEvent<TextInputSelectionChangeEventData>
|
217
228
|
) => setSelection(e.nativeEvent.selection)}
|