├── .expo-shared └── assets.json ├── .gitignore ├── App.tsx ├── Context.tsx ├── Editor.tsx ├── Formatter ├── Group.tsx ├── GroupButton.tsx ├── ParagraphFormatButton.tsx └── index.tsx ├── Icon.tsx ├── Link └── index.tsx ├── Provider.tsx ├── README.md ├── Toolbar ├── Button.tsx ├── FormatButton.tsx ├── LinkButton.tsx ├── UndoRedoButtons.tsx └── index.tsx ├── Tools.tsx ├── app.json ├── assets-src ├── editor.html └── editor.js ├── assets ├── icon.png └── splash.png ├── babel.config.js ├── index.tsx ├── package.json ├── tsconfig.json ├── types.ts ├── webpack.config.js └── yarn.lock /.expo-shared/assets.json: -------------------------------------------------------------------------------- 1 | { 2 | "f9155ac790fd02fadcdeca367b02581c04a353aa6d5aa84409a59f6804c87acd": true, 3 | "89ed26367cdb9b771858e026f2eb95bfdb90e5ae943e716575327ec325f39c44": true 4 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/**/* 2 | .cache/* 3 | .expo/* 4 | assets/SFSymbolsFallback.ttf 5 | assets/editor/* 6 | npm-debug.* 7 | *.jks 8 | *.p8 9 | *.p12 10 | *.key 11 | *.mobileprovision 12 | *.orig.* 13 | web-build/ 14 | web-report/ 15 | 16 | # macOS 17 | .DS_Store 18 | -------------------------------------------------------------------------------- /App.tsx: -------------------------------------------------------------------------------- 1 | import * as Font from 'expo-font'; 2 | import React from 'react'; 3 | import { 4 | Button, 5 | SafeAreaView, 6 | StyleSheet, 7 | View 8 | } from 'react-native'; 9 | 10 | import Editor from './Editor'; 11 | import EditorProvider from './Provider'; 12 | import Tools from './Tools'; 13 | 14 | const styles = StyleSheet.create( { 15 | safeArea: { 16 | flex: 1, 17 | }, 18 | container: { 19 | flex: 1, 20 | backgroundColor: '#fff', 21 | justifyContent: 'center', 22 | }, 23 | } ); 24 | 25 | export default class App extends React.Component { 26 | state = { 27 | // content: '

Hello world!

', 28 | content: '', 29 | } 30 | 31 | editor: Editor = null; 32 | 33 | componentDidMount() { 34 | Font.loadAsync( { 35 | 'sfsymbols': require( './assets/SFSymbolsFallback.ttf' ), 36 | } ); 37 | } 38 | 39 | getContent = async () => { 40 | const content = await this.editor.getContent(); 41 | console.log( content ); 42 | } 43 | 44 | render() { 45 | return ( 46 | 47 | 48 | 51 |