diff --git a/example/src/App.tsx b/example/src/App.tsx index 3e5176f..4f89279 100644 --- a/example/src/App.tsx +++ b/example/src/App.tsx @@ -1,90 +1,27 @@ import * as React from 'react'; -import { ActivityIndicator, StyleSheet, Text, View } from 'react-native'; -import CKEditor5 from 'react-native-ckeditor-custom'; +import { View } from 'react-native'; +import TaskList from './TaskList'; +import Ckeditor from './Ckeditor'; -export default function App() { - const initalData = `

Test

`; - const height = 200; // Example height in pixels - const maxHeight = 400; // Example max height in pixels, or set it to null if not needed - // const colors = {}; - const fontFamily = 'Arial, sans-serif'; // Example font family - const toolbarBorderSize = '1px solid #ccc'; // Example toolbar border size and color - const editorFocusBorderSize = '2px solid #007bff'; // Example editor focus border size and color - const disableTooltips = false; // Set to true to disable tooltips, false otherwise - // const placeHolderText = 'Enter your text here'; // Example placeholder text - const editorConfig = { - // Additional editor configuration options if needed (provide an empty object or set to null if not needed) - }; - const style = { - backgroundColor: 'black', - color: 'black', - }; - - const onChange = (e: any) => { - console.log('onChange', e); - }; - - const onError = (e: any) => { - console.log('onError', e); - }; - - const onFocus = (e: any) => { - console.log('onFocus', e); - }; +import { NavigationContainer } from '@react-navigation/native'; +import { createNativeStackNavigator } from '@react-navigation/native-stack'; - const onBlur = (e: any) => { - console.log('onBlur', e); - }; - - const onLoadEnd = (e: any) => { - console.log('onLoadEnd', e); - }; - - const renderError = () => { - return An error ocurred while rendering CKEDITOR5 editor; - }; +export default function App() { + const Stack = createNativeStackNavigator(); - const renderLoading = () => { - return ; - }; return ( - - + + + + + + + ); } - -const styles = StyleSheet.create({ - container: { - flex: 1, - alignItems: 'center', - justifyContent: 'center', - backgroundColor: 'black', - }, - box: { - width: 60, - height: 60, - marginVertical: 20, - }, -}); diff --git a/example/src/Ckeditor.tsx b/example/src/Ckeditor.tsx new file mode 100644 index 0000000..2e22942 --- /dev/null +++ b/example/src/Ckeditor.tsx @@ -0,0 +1,94 @@ +import * as React from 'react'; + +import { ActivityIndicator, StyleSheet, Text, View } from 'react-native'; +import CKEditor5 from 'react-native-ckeditor-custom'; + +export default function Ckeditor({ route }: any) { + const { initalData } = route.params; + + // const initalData = `

Test

`; + const height = 200; // Example height in pixels + const maxHeight = 400; // Example max height in pixels, or set it to null if not needed + // const colors = {}; + const fontFamily = 'Arial, sans-serif'; // Example font family + const toolbarBorderSize = '1px solid #ccc'; // Example toolbar border size and color + const editorFocusBorderSize = '2px solid #007bff'; // Example editor focus border size and color + const disableTooltips = false; // Set to true to disable tooltips, false otherwise + // const placeHolderText = 'Enter your text here'; // Example placeholder text + const editorConfig = { + // Additional editor configuration options if needed (provide an empty object or set to null if not needed) + }; + const style = { + backgroundColor: 'black', + color: 'black', + }; + + const onChange = (e: any) => { + console.log('onChange', e); + }; + + const onError = (e: any) => { + console.log('onError', e); + }; + + const onFocus = (e: any) => { + console.log('onFocus', e); + }; + + const onBlur = (e: any) => { + console.log('onBlur', e); + }; + + const onLoadEnd = (e: any) => { + console.log('onLoadEnd', e); + }; + + const renderError = () => { + return An error ocurred while rendering CKEDITOR5 editor; + }; + + const renderLoading = () => { + return ; + }; + console.log('here? ckeditor'); + + return ( + + + + ); +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + alignItems: 'center', + justifyContent: 'center', + backgroundColor: 'black', + }, + box: { + width: 60, + height: 60, + marginVertical: 20, + }, +}); diff --git a/example/src/TaskList.tsx b/example/src/TaskList.tsx new file mode 100644 index 0000000..3a09ff7 --- /dev/null +++ b/example/src/TaskList.tsx @@ -0,0 +1,69 @@ +// import { useNavigation } from '@react-navigation/native'; +import React from 'react'; +import { + StyleSheet, + Text, + ScrollView, + View, + TouchableOpacity, +} from 'react-native'; + +export default function TaskList({ navigation }: any) { + // const navigation = useNavigation(); + + const data = [ + { name: 'task 1', data: '

1-912345678

', key: 1 }, + { name: 'task 2', data: '

2-912345678

', key: 2 }, + { name: 'task 3', data: '

3-912345678

', key: 3 }, + { name: 'task 4', data: '

4-912345678

', key: 4 }, + { name: 'task 5', data: '

5-912345678

', key: 5 }, + ]; + + const pressed = (name: any, data: any) => { + navigation.navigate('CKEditor', { name, initalData: data }); + }; + const ListItem = ({ name, data }: any) => { + console.log('here?', data); + return ( + + pressed(name, data)}> + {name} + + + ); + }; + return ( + + List + + + {data.map((item: any) => { + return ( + + + + ); + })} + + + + ); +} + +const styles = StyleSheet.create({ + container: { + backgroundColor: 'purple', + flex: 1, + width: 100, + height: 100, + }, + contentContainer: { + paddingBottom: 200, + }, + headerText: { + margin: 15, + color: 'white', + fontSize: 22, + fontWeight: '700', + }, +}); diff --git a/package-lock.json b/package-lock.json index 4cca70d..3d3df79 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,24 +1,27 @@ { "name": "react-native-ckeditor-custom", - "version": "0.1.0", + "version": "0.3.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "react-native-ckeditor-custom", - "version": "0.1.0", + "version": "0.3.0", "license": "MIT", "workspaces": [ "example" ], "dependencies": { "prop-types": "^15.8.1", + "react-native-safe-area-view": "^1.1.1", "react-native-webview": "*" }, "devDependencies": { "@commitlint/config-conventional": "^17.0.2", "@evilmartians/lefthook": "^1.2.2", "@react-native/eslint-config": "^0.72.2", + "@react-navigation/native": "*", + "@react-navigation/native-stack": "^6.9.14", "@release-it/conventional-changelog": "^5.0.0", "@types/jest": "^28.1.2", "@types/react": "~17.0.21", @@ -34,6 +37,7 @@ "react": "18.2.0", "react-native": "0.72.5", "react-native-builder-bob": "^0.22.0", + "react-native-navigation": "^7.37.0-hotfix.1", "release-it": "^15.0.0", "typescript": "^5.0.2" }, @@ -9030,22 +9034,6 @@ "thenify-all": "^1.0.0" } }, - "example/node_modules/nanoid": { - "version": "3.3.6", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, "example/node_modules/ncp": { "version": "2.0.0", "license": "MIT", @@ -16212,6 +16200,107 @@ "react-native": "*" } }, + "node_modules/@react-navigation/core": { + "version": "6.4.9", + "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.4.9.tgz", + "integrity": "sha512-G9GH7bP9x0qqupxZnkSftnkn4JoXancElTvFc8FVGfEvxnxP+gBo3wqcknyBi7M5Vad4qecsYjCOa9wqsftv9g==", + "dev": true, + "dependencies": { + "@react-navigation/routers": "^6.1.9", + "escape-string-regexp": "^4.0.0", + "nanoid": "^3.1.23", + "query-string": "^7.1.3", + "react-is": "^16.13.0", + "use-latest-callback": "^0.1.5" + }, + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@react-navigation/core/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-navigation/core/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/@react-navigation/elements": { + "version": "1.3.19", + "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.19.tgz", + "integrity": "sha512-7hLvSYKPuDS070pza5gd43WDX7QgfuEmuTWNbCJhKdWlLudYmq3qzxGCBwCfO2dEI6+p8tla5wruaWiGKAbTYw==", + "dev": true, + "peerDependencies": { + "@react-navigation/native": "^6.0.0", + "react": "*", + "react-native": "*", + "react-native-safe-area-context": ">= 3.0.0" + } + }, + "node_modules/@react-navigation/native": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-6.1.8.tgz", + "integrity": "sha512-0alti852nV+8oCVm9H80G6kZvrHoy51+rXBvVCRUs2rNDDozC/xPZs8tyeCJkqdw3cpxZDK8ndXF22uWq28+0Q==", + "dev": true, + "dependencies": { + "@react-navigation/core": "^6.4.9", + "escape-string-regexp": "^4.0.0", + "fast-deep-equal": "^3.1.3", + "nanoid": "^3.1.23" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/@react-navigation/native-stack": { + "version": "6.9.14", + "resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.9.14.tgz", + "integrity": "sha512-7RiZkvMFN6f0kmANc63B/0m9ttQ2JpDIPWQwPU93FP698s19KTOyu7uxgl7Oi3bvsqHFO5JfiR7B+4h8lh9dxw==", + "dev": true, + "dependencies": { + "@react-navigation/elements": "^1.3.19", + "warn-once": "^0.1.0" + }, + "peerDependencies": { + "@react-navigation/native": "^6.0.0", + "react": "*", + "react-native": "*", + "react-native-safe-area-context": ">= 3.0.0", + "react-native-screens": ">= 3.0.0" + } + }, + "node_modules/@react-navigation/native/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-navigation/routers": { + "version": "6.1.9", + "resolved": "https://registry.npmjs.org/@react-navigation/routers/-/routers-6.1.9.tgz", + "integrity": "sha512-lTM8gSFHSfkJvQkxacGM6VJtBt61ip2XO54aNfswD+KMw6eeZ4oehl7m0me3CR9hnDE4+60iAZR8sAhvCiI3NA==", + "dev": true, + "dependencies": { + "nanoid": "^3.1.23" + } + }, "node_modules/@release-it/conventional-changelog": { "version": "5.1.1", "dev": true, @@ -18516,6 +18605,15 @@ "node": ">=0.10.0" } }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, "node_modules/decompress-response": { "version": "6.0.0", "dev": true, @@ -19749,6 +19847,8 @@ }, "node_modules/eslint/node_modules/escape-string-regexp": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "license": "MIT", "engines": { @@ -20069,6 +20169,15 @@ "node": ">=8" } }, + "node_modules/filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/finalhandler": { "version": "1.1.2", "license": "MIT", @@ -20886,6 +20995,21 @@ "node": ">= 8" } }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dev": true, + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, "node_modules/hosted-git-info": { "version": "4.1.0", "dev": true, @@ -23994,6 +24118,23 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, "node_modules/natural-compare": { "version": "1.4.0", "dev": true, @@ -24875,6 +25016,24 @@ "teleport": ">=0.2.0" } }, + "node_modules/query-string": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz", + "integrity": "sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==", + "dev": true, + "dependencies": { + "decode-uri-component": "^0.2.2", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/queue": { "version": "6.0.2", "license": "MIT", @@ -24959,10 +25118,29 @@ "ws": "^7" } }, + "node_modules/react-freeze": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/react-freeze/-/react-freeze-1.0.3.tgz", + "integrity": "sha512-ZnXwLQnGzrDpHBHiC56TXFXvmolPeMjTn1UOm610M4EXGzbEDR7oOIyS2ZiItgbs6eZc4oU/a0hpk8PrcKvv5g==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": ">=17.0.0" + } + }, "node_modules/react-is": { "version": "18.2.0", "license": "MIT" }, + "node_modules/react-lifecycles-compat": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-2.0.0.tgz", + "integrity": "sha512-txfpPCQYiazVdcbMRhatqWKcAxJweUu2wDXvts5/7Wyp6+Y9cHojqXHsLPEckzutfHlxZhG8Oiundbmp8Fd6eQ==", + "dev": true + }, "node_modules/react-native": { "version": "0.72.5", "license": "MIT", @@ -25107,6 +25285,81 @@ "resolved": "example", "link": true }, + "node_modules/react-native-navigation": { + "version": "7.37.0-hotfix.1", + "resolved": "https://registry.npmjs.org/react-native-navigation/-/react-native-navigation-7.37.0-hotfix.1.tgz", + "integrity": "sha512-Ob+67yJI7DkgCUQ8EV3xyDzFV770svHBHlNXyWpvuuESblQbxqDc0HgCDaMc9Pb+LG716YEJh6LIZe7qYSWgYw==", + "dev": true, + "dependencies": { + "hoist-non-react-statics": "3.x.x", + "lodash": "4.17.x", + "prop-types": "15.x.x", + "react-lifecycles-compat": "2.0.0", + "tslib": "1.9.3" + }, + "bin": { + "rnn-link": "autolink/postlink/run.js" + }, + "peerDependencies": { + "react": "*", + "react-native": "*", + "remx": "*" + }, + "peerDependenciesMeta": { + "remx": { + "optional": true + } + } + }, + "node_modules/react-native-navigation/node_modules/tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "dev": true + }, + "node_modules/react-native-safe-area-context": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.7.2.tgz", + "integrity": "sha512-5fy/hRNJ7bI/U2SliOeKf0D80J4lXPc1NsRiNS7Xaz8YTnqlzWib1ViItkwKPfufe54YKzVBMmM32RpdzvO2gg==", + "peer": true, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/react-native-safe-area-view": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-1.1.1.tgz", + "integrity": "sha512-bbLCtF+tqECyPWlgkWbIwx4vDPb0GEufx/ZGcSS4UljMcrpwluachDXoW9DBxhbMCc6k1V0ccqHWN7ntbRdERQ==", + "dependencies": { + "hoist-non-react-statics": "^2.3.1" + }, + "peerDependencies": { + "react": "*", + "react-native": "*", + "react-native-safe-area-context": "*" + } + }, + "node_modules/react-native-safe-area-view/node_modules/hoist-non-react-statics": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", + "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" + }, + "node_modules/react-native-screens": { + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.25.0.tgz", + "integrity": "sha512-TSC2Ad0hh763I8QT6XxMsPXAagQ+RawDSdFtKRvIz9fCYr96AjRwwaqmYivbqlDywOgcRBkIVynkFtp0ThmlYw==", + "dev": true, + "peer": true, + "dependencies": { + "react-freeze": "^1.0.0", + "warn-once": "^0.1.0" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, "node_modules/react-native-webview": { "version": "13.6.0", "license": "MIT", @@ -26596,6 +26849,15 @@ "node": "*" } }, + "node_modules/split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/split2": { "version": "3.2.2", "dev": true, @@ -26711,6 +26973,15 @@ "node": ">= 0.4" } }, + "node_modules/strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/string_decoder": { "version": "1.3.0", "license": "MIT", @@ -27439,6 +27710,15 @@ "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, + "node_modules/use-latest-callback": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/use-latest-callback/-/use-latest-callback-0.1.6.tgz", + "integrity": "sha512-VO/P91A/PmKH9bcN9a7O3duSuxe6M14ZoYXgA6a8dab8doWNdhiIHzEkX/jFeTTRBsX0Ubk6nG4q2NIjNsj+bg==", + "dev": true, + "peerDependencies": { + "react": ">=16.8" + } + }, "node_modules/use-sync-external-store": { "version": "1.2.0", "license": "MIT", @@ -27517,6 +27797,12 @@ "makeerror": "1.0.12" } }, + "node_modules/warn-once": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/warn-once/-/warn-once-0.1.1.tgz", + "integrity": "sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q==", + "dev": true + }, "node_modules/wcwidth": { "version": "1.0.1", "license": "MIT", @@ -30175,6 +30461,80 @@ "nullthrows": "^1.1.1" } }, + "@react-navigation/core": { + "version": "6.4.9", + "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.4.9.tgz", + "integrity": "sha512-G9GH7bP9x0qqupxZnkSftnkn4JoXancElTvFc8FVGfEvxnxP+gBo3wqcknyBi7M5Vad4qecsYjCOa9wqsftv9g==", + "dev": true, + "requires": { + "@react-navigation/routers": "^6.1.9", + "escape-string-regexp": "^4.0.0", + "nanoid": "^3.1.23", + "query-string": "^7.1.3", + "react-is": "^16.13.0", + "use-latest-callback": "^0.1.5" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + } + } + }, + "@react-navigation/elements": { + "version": "1.3.19", + "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.19.tgz", + "integrity": "sha512-7hLvSYKPuDS070pza5gd43WDX7QgfuEmuTWNbCJhKdWlLudYmq3qzxGCBwCfO2dEI6+p8tla5wruaWiGKAbTYw==", + "dev": true, + "requires": {} + }, + "@react-navigation/native": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-6.1.8.tgz", + "integrity": "sha512-0alti852nV+8oCVm9H80G6kZvrHoy51+rXBvVCRUs2rNDDozC/xPZs8tyeCJkqdw3cpxZDK8ndXF22uWq28+0Q==", + "dev": true, + "requires": { + "@react-navigation/core": "^6.4.9", + "escape-string-regexp": "^4.0.0", + "fast-deep-equal": "^3.1.3", + "nanoid": "^3.1.23" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + } + } + }, + "@react-navigation/native-stack": { + "version": "6.9.14", + "resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.9.14.tgz", + "integrity": "sha512-7RiZkvMFN6f0kmANc63B/0m9ttQ2JpDIPWQwPU93FP698s19KTOyu7uxgl7Oi3bvsqHFO5JfiR7B+4h8lh9dxw==", + "dev": true, + "requires": { + "@react-navigation/elements": "^1.3.19", + "warn-once": "^0.1.0" + } + }, + "@react-navigation/routers": { + "version": "6.1.9", + "resolved": "https://registry.npmjs.org/@react-navigation/routers/-/routers-6.1.9.tgz", + "integrity": "sha512-lTM8gSFHSfkJvQkxacGM6VJtBt61ip2XO54aNfswD+KMw6eeZ4oehl7m0me3CR9hnDE4+60iAZR8sAhvCiI3NA==", + "dev": true, + "requires": { + "nanoid": "^3.1.23" + } + }, "@release-it/conventional-changelog": { "version": "5.1.1", "dev": true, @@ -31614,6 +31974,12 @@ } } }, + "decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true + }, "decompress-response": { "version": "6.0.0", "dev": true, @@ -32246,6 +32612,8 @@ }, "escape-string-regexp": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, "eslint-scope": { @@ -32545,6 +32913,12 @@ "to-regex-range": "^5.0.1" } }, + "filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", + "dev": true + }, "finalhandler": { "version": "1.1.2", "requires": { @@ -33059,6 +33433,23 @@ } } }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dev": true, + "requires": { + "react-is": "^16.7.0" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + } + } + }, "hosted-git-info": { "version": "4.1.0", "dev": true, @@ -35094,6 +35485,11 @@ "version": "1.0.0", "dev": true }, + "nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" + }, "natural-compare": { "version": "1.4.0", "dev": true @@ -35613,6 +36009,18 @@ "version": "1.5.1", "dev": true }, + "query-string": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz", + "integrity": "sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==", + "dev": true, + "requires": { + "decode-uri-component": "^0.2.2", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + }, "queue": { "version": "6.0.2", "requires": { @@ -35659,9 +36067,23 @@ "ws": "^7" } }, + "react-freeze": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/react-freeze/-/react-freeze-1.0.3.tgz", + "integrity": "sha512-ZnXwLQnGzrDpHBHiC56TXFXvmolPeMjTn1UOm610M4EXGzbEDR7oOIyS2ZiItgbs6eZc4oU/a0hpk8PrcKvv5g==", + "dev": true, + "peer": true, + "requires": {} + }, "react-is": { "version": "18.2.0" }, + "react-lifecycles-compat": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-2.0.0.tgz", + "integrity": "sha512-txfpPCQYiazVdcbMRhatqWKcAxJweUu2wDXvts5/7Wyp6+Y9cHojqXHsLPEckzutfHlxZhG8Oiundbmp8Fd6eQ==", + "dev": true + }, "react-native": { "version": "0.72.5", "requires": { @@ -41739,9 +42161,6 @@ "thenify-all": "^1.0.0" } }, - "nanoid": { - "version": "3.3.6" - }, "ncp": { "version": "2.0.0", "optional": true @@ -43890,6 +44309,60 @@ } } }, + "react-native-navigation": { + "version": "7.37.0-hotfix.1", + "resolved": "https://registry.npmjs.org/react-native-navigation/-/react-native-navigation-7.37.0-hotfix.1.tgz", + "integrity": "sha512-Ob+67yJI7DkgCUQ8EV3xyDzFV770svHBHlNXyWpvuuESblQbxqDc0HgCDaMc9Pb+LG716YEJh6LIZe7qYSWgYw==", + "dev": true, + "requires": { + "hoist-non-react-statics": "3.x.x", + "lodash": "4.17.x", + "prop-types": "15.x.x", + "react-lifecycles-compat": "2.0.0", + "tslib": "1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "dev": true + } + } + }, + "react-native-safe-area-context": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.7.2.tgz", + "integrity": "sha512-5fy/hRNJ7bI/U2SliOeKf0D80J4lXPc1NsRiNS7Xaz8YTnqlzWib1ViItkwKPfufe54YKzVBMmM32RpdzvO2gg==", + "peer": true, + "requires": {} + }, + "react-native-safe-area-view": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-1.1.1.tgz", + "integrity": "sha512-bbLCtF+tqECyPWlgkWbIwx4vDPb0GEufx/ZGcSS4UljMcrpwluachDXoW9DBxhbMCc6k1V0ccqHWN7ntbRdERQ==", + "requires": { + "hoist-non-react-statics": "^2.3.1" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", + "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" + } + } + }, + "react-native-screens": { + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.25.0.tgz", + "integrity": "sha512-TSC2Ad0hh763I8QT6XxMsPXAagQ+RawDSdFtKRvIz9fCYr96AjRwwaqmYivbqlDywOgcRBkIVynkFtp0ThmlYw==", + "dev": true, + "peer": true, + "requires": { + "react-freeze": "^1.0.0", + "warn-once": "^0.1.0" + } + }, "react-native-webview": { "version": "13.6.0", "requires": { @@ -44667,6 +45140,12 @@ "through": "2" } }, + "split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", + "dev": true + }, "split2": { "version": "3.2.2", "dev": true, @@ -44738,6 +45217,12 @@ "internal-slot": "^1.0.4" } }, + "strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", + "dev": true + }, "string_decoder": { "version": "1.3.0", "requires": { @@ -45164,6 +45649,13 @@ "version": "5.0.0", "dev": true }, + "use-latest-callback": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/use-latest-callback/-/use-latest-callback-0.1.6.tgz", + "integrity": "sha512-VO/P91A/PmKH9bcN9a7O3duSuxe6M14ZoYXgA6a8dab8doWNdhiIHzEkX/jFeTTRBsX0Ubk6nG4q2NIjNsj+bg==", + "dev": true, + "requires": {} + }, "use-sync-external-store": { "version": "1.2.0", "requires": {} @@ -45215,6 +45707,12 @@ "makeerror": "1.0.12" } }, + "warn-once": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/warn-once/-/warn-once-0.1.1.tgz", + "integrity": "sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q==", + "dev": true + }, "wcwidth": { "version": "1.0.1", "requires": { diff --git a/package.json b/package.json index f4a8042..6076521 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,8 @@ "@commitlint/config-conventional": "^17.0.2", "@evilmartians/lefthook": "^1.2.2", "@react-native/eslint-config": "^0.72.2", + "@react-navigation/native": "^6.0.2", + "@react-navigation/native-stack": "^6.1.0", "@release-it/conventional-changelog": "^5.0.0", "@types/jest": "^28.1.2", "@types/react": "~17.0.21", diff --git a/src/index.tsx b/src/index.tsx index 0c7d3f4..6acfe24 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,4 +1,4 @@ -import React, { useRef } from 'react'; +import React, { useEffect, useRef } from 'react'; import { SafeAreaView } from 'react-native'; import { Dimensions } from 'react-native'; import { WebView, type WebViewMessageEvent } from 'react-native-webview'; @@ -41,7 +41,6 @@ export const CKEditor5 = ({ onBlur, disableTooltips, height, - androidHardwareAccelerationDisabled, fontFamily, colors, toolbarBorderSize, @@ -50,15 +49,15 @@ export const CKEditor5 = ({ onLoadEnd, injectedJavascript, }: CKEditorProps) => { + type WebViewRef = React.RefObject; + const currentHeight = height ?? 150; - const webview = useRef(null); + const webview: WebViewRef = useRef(null); + const onMessage = (event: WebViewMessageEvent) => { const data = event.nativeEvent.data; - console.log(data); if (data.indexOf('RNCKEditor5') === 0) { const [_, cmd, value] = data.split(':'); - console.log(cmd, value); - console.log(event); switch (cmd) { case 'onFocus': if (value === 'true' && onFocus) onFocus(); @@ -71,6 +70,20 @@ export const CKEditor5 = ({ onChange(data); }; + useEffect(() => { + return () => { + if (webview) { + webview.current?.injectJavaScript( + `(function() { + var editorElement = document.getElementById('#editor1'); // Replace 'editor' with the ID of your textarea or element + editorElement.parentNode.removeChild(editorElement); + editor.destroy(); + })();` + ); + } + }; + }, []); + const injectedJS = ` window.onload = function() { ClassicEditor.create( document.querySelector( '#editor1' ), ${JSON.stringify( @@ -96,10 +109,6 @@ export const CKEditor5 = ({ ); } ); - document.addEventListener("message", function(data) { - console.log(data.data); - editor.setData(data.data); - }) // Set initial data after editor is ready editor.setData(\`${initialData}\`); }) @@ -166,7 +175,6 @@ export const CKEditor5 = ({ overflow: 'hidden', ...style, }} - originWhitelist={['*']} scrollEnabled={true} source={webapp} scalesPageToFit={true} @@ -176,9 +184,6 @@ export const CKEditor5 = ({ onLoadEnd={onLoadEnd} onHttpError={onError} onMessage={onMessage} - androidHardwareAccelerationDisabled={ - androidHardwareAccelerationDisabled - } renderLoading={renderLoading} mixedContentMode="always" automaticallyAdjustContentInsets={false} diff --git a/yarn.lock b/yarn.lock index 27d5670..97800d7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1941,9 +1941,9 @@ __metadata: linkType: hard "@eslint-community/regexpp@npm:^4.4.0, @eslint-community/regexpp@npm:^4.6.1": - version: 4.9.0 - resolution: "@eslint-community/regexpp@npm:4.9.0" - checksum: 82411f0643ab9bfd271bf12c8c75031266b13595d9371585ee3b0d680d918d4abf37c7e94d0da22e45817c9bbc59b79dfcbd672050dfb00af88fb89c80fd420f + version: 4.9.1 + resolution: "@eslint-community/regexpp@npm:4.9.1" + checksum: 06fb839e9c756f6375cc545c2f2e05a0a64576bd6370e8e3c07983fd29a3d6e164ef4aa48a361f7d27e6713ab79c83053ff6a2ccb78748bc955e344279c4a3b6 languageName: node linkType: hard @@ -3429,6 +3429,74 @@ __metadata: languageName: node linkType: hard +"@react-navigation/core@npm:^6.4.9": + version: 6.4.9 + resolution: "@react-navigation/core@npm:6.4.9" + dependencies: + "@react-navigation/routers": ^6.1.9 + escape-string-regexp: ^4.0.0 + nanoid: ^3.1.23 + query-string: ^7.1.3 + react-is: ^16.13.0 + use-latest-callback: ^0.1.5 + peerDependencies: + react: "*" + checksum: 5479a49f2bf64dd8da149e268bd926804a466a923baf1b7149707e5db9fc78bcfd131e6d225832cb8f826cef6fc8afb91e10802dd5d0f9086aac61cabcc973ac + languageName: node + linkType: hard + +"@react-navigation/elements@npm:^1.3.19": + version: 1.3.19 + resolution: "@react-navigation/elements@npm:1.3.19" + peerDependencies: + "@react-navigation/native": ^6.0.0 + react: "*" + react-native: "*" + react-native-safe-area-context: ">= 3.0.0" + checksum: fd095ce1d5ba3c9225f0e861dcad4f72ab96436d8ef60f55731fb517ec1d0397eccde0a69ad9e5844333b82e48e922463d9b2a7f3bffd478a210d26f1b41bc7a + languageName: node + linkType: hard + +"@react-navigation/native-stack@npm:^6.1.0": + version: 6.9.14 + resolution: "@react-navigation/native-stack@npm:6.9.14" + dependencies: + "@react-navigation/elements": ^1.3.19 + warn-once: ^0.1.0 + peerDependencies: + "@react-navigation/native": ^6.0.0 + react: "*" + react-native: "*" + react-native-safe-area-context: ">= 3.0.0" + react-native-screens: ">= 3.0.0" + checksum: b983eb728a5fbcb88320da0dbaffd263375da3ddb9317fc4fb0fddf53c1c034a201662abfae6ced75c5b2b799aecca27046be71d917d743ae24697dc71369d4b + languageName: node + linkType: hard + +"@react-navigation/native@npm:^6.0.2": + version: 6.1.8 + resolution: "@react-navigation/native@npm:6.1.8" + dependencies: + "@react-navigation/core": ^6.4.9 + escape-string-regexp: ^4.0.0 + fast-deep-equal: ^3.1.3 + nanoid: ^3.1.23 + peerDependencies: + react: "*" + react-native: "*" + checksum: e19c013eab0d89dc2ca587dd2a00865883b28942ad3f2d2430ef0bdb3c5e6685951d166ac9b066df5e2f2d27937e4c25623eb82d49aa1b3b29599227cf2a0425 + languageName: node + linkType: hard + +"@react-navigation/routers@npm:^6.1.9": + version: 6.1.9 + resolution: "@react-navigation/routers@npm:6.1.9" + dependencies: + nanoid: ^3.1.23 + checksum: 3a3392ce095d6a2bd2aad69856f513b35774f943a3dc73d8ffb75127de6773203e3264188d87058bdea4c0c9a7d43ed28d0cbf3a1f1cdc086df3ee255d8e1e27 + languageName: node + linkType: hard + "@release-it/conventional-changelog@npm:^5.0.0": version: 5.1.1 resolution: "@release-it/conventional-changelog@npm:5.1.1" @@ -3834,9 +3902,9 @@ __metadata: linkType: hard "@types/node@npm:*": - version: 20.8.0 - resolution: "@types/node@npm:20.8.0" - checksum: ebad6342d54238a24bf980d7750117a5d67749c9b72cbb7a974a1e932c39034aa3a810d669e007e8a5071782a253aa069a187b614407a382403c9826e837c849 + version: 20.8.2 + resolution: "@types/node@npm:20.8.2" + checksum: 3da73e25d821bfcdb7de98589027e08bb4848e55408671c4a83ec0341e124b5313a0b20e1e4b4eff1168ea17a86f622ad73fcb04b761abd77496b9a27cbd5de5 languageName: node linkType: hard @@ -3869,9 +3937,9 @@ __metadata: linkType: hard "@types/prop-types@npm:*": - version: 15.7.7 - resolution: "@types/prop-types@npm:15.7.7" - checksum: 023b95f7dd82e1c594f51dcb93ec4c382600cef6eeee29a2ac7b782b92c0882eab8da16d4cbd6e18b39e85ac8d94ebf4ca02c6e248ce5b5fb4b16dbab5d82861 + version: 15.7.8 + resolution: "@types/prop-types@npm:15.7.8" + checksum: 61dfad79da8b1081c450bab83b77935df487ae1cdd4660ec7df6be8e74725c15fa45cf486ce057addc956ca4ae78300b97091e2a25061133d1b9a1440bc896ae languageName: node linkType: hard @@ -5400,7 +5468,7 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.0.0, browserslist@npm:^4.14.5, browserslist@npm:^4.20.4, browserslist@npm:^4.21.10, browserslist@npm:^4.21.4, browserslist@npm:^4.21.9": +"browserslist@npm:^4.0.0, browserslist@npm:^4.14.5, browserslist@npm:^4.20.4, browserslist@npm:^4.21.4, browserslist@npm:^4.21.9, browserslist@npm:^4.22.1": version: 4.22.1 resolution: "browserslist@npm:4.22.1" dependencies: @@ -5681,9 +5749,9 @@ __metadata: linkType: hard "caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001541": - version: 1.0.30001541 - resolution: "caniuse-lite@npm:1.0.30001541" - checksum: 972f6c223cf4ea2c6821b817b419249285006bbf67ebe415fe58097cf07551e3bae898586736d92f7c40b9f0ac28638dbf760631c23742b780affd0254f44d17 + version: 1.0.30001543 + resolution: "caniuse-lite@npm:1.0.30001543" + checksum: 1a65c8b0b93913b6241c7d66e1e1f3ea0f194f7e140eefe500512641c2eb4df285991ec9869a1ba2856ea6f6d21e9f3d7bcd91971b5fb1721e3fa0390feec6f1 languageName: node linkType: hard @@ -6504,11 +6572,11 @@ __metadata: linkType: hard "core-js-compat@npm:^3.31.0, core-js-compat@npm:^3.32.2": - version: 3.32.2 - resolution: "core-js-compat@npm:3.32.2" + version: 3.33.0 + resolution: "core-js-compat@npm:3.33.0" dependencies: - browserslist: ^4.21.10 - checksum: efca146ad71a542e6f196db5ba5aed617e48c615bdf1fbb065471b3267f833ac545bd5fc5ad0642c3d3974b955f0684ff0863d7471d7050ee0284e0a1313942e + browserslist: ^4.22.1 + checksum: 83ae54008c09b8e0ae3c59457039866c342c7e28b0d30eebb638a5b51c01432e63fe97695c90645cbc6a8b073a4f9a8b0e75f0818bbf8b4b054e01f4c17d3181 languageName: node linkType: hard @@ -6853,10 +6921,10 @@ __metadata: languageName: node linkType: hard -"data-uri-to-buffer@npm:^5.0.1": - version: 5.0.1 - resolution: "data-uri-to-buffer@npm:5.0.1" - checksum: 10958f89c0047b84bd86d572b6b77c9bf238ebe7b55a9a9ab04c90fbf5ab1881783b72e31dc0febdffd30ec914930244f2f728e3629bb8911d922baba129426f +"data-uri-to-buffer@npm:^6.0.0": + version: 6.0.1 + resolution: "data-uri-to-buffer@npm:6.0.1" + checksum: 9140e68c585ae33d950f5943bd476751346c8b789ae80b01a578a33cb8f7f706d1ca7378aff2b1878b2a6d9a8c88c55cc286d88191c8b8ead8255c3c4d934530 languageName: node linkType: hard @@ -6928,6 +6996,13 @@ __metadata: languageName: node linkType: hard +"decode-uri-component@npm:^0.2.2": + version: 0.2.2 + resolution: "decode-uri-component@npm:0.2.2" + checksum: 95476a7d28f267292ce745eac3524a9079058bbb35767b76e3ee87d42e34cd0275d2eb19d9d08c3e167f97556e8a2872747f5e65cbebcac8b0c98d83e285f139 + languageName: node + linkType: hard + "decompress-response@npm:^6.0.0": version: 6.0.0 resolution: "decompress-response@npm:6.0.0" @@ -7374,9 +7449,9 @@ __metadata: linkType: hard "electron-to-chromium@npm:^1.4.535": - version: 1.4.537 - resolution: "electron-to-chromium@npm:1.4.537" - checksum: 6375d3261eb2af2d2ba0d777c8639d7d3a32cfaf42b447e3f13faa21b27b7db3007205da3ce38cd7d2fc01ad3074bbefba1c4c588ded704becd8d6f27887db4e + version: 1.4.539 + resolution: "electron-to-chromium@npm:1.4.539" + checksum: 52ca93d1fdff453f780c35e946ab4c04d4c54ab0e526b2b3a75b7674c33d95bf4ff5325de4406b3881b6f1e5ecac8f82f68d8566f3d99cc2e16a16533a83a9a5 languageName: node linkType: hard @@ -8366,13 +8441,13 @@ __metadata: linkType: hard "fast-xml-parser@npm:^4.0.12": - version: 4.3.1 - resolution: "fast-xml-parser@npm:4.3.1" + version: 4.3.2 + resolution: "fast-xml-parser@npm:4.3.2" dependencies: strnum: ^1.0.5 bin: fxparser: src/cli/cli.js - checksum: eddd19dc95f907d9a932012e9ee6240d5d58f9f4a7179996cc0c5ef377bba15638cb025cf4e820f0895f3d4e6edd03d5e7efa675dcfbf895bb8e0f3355b98126 + checksum: d507ce2efa5fd13d0a5ba28bd76dd68f2fc30ad8748357c37b70f360d19417866d79e35a688af067d5bceaaa796033fa985206aef9692f7a421e1326b6e73309 languageName: node linkType: hard @@ -8479,6 +8554,13 @@ __metadata: languageName: node linkType: hard +"filter-obj@npm:^1.1.0": + version: 1.1.0 + resolution: "filter-obj@npm:1.1.0" + checksum: cf2104a7c45ff48e7f505b78a3991c8f7f30f28bd8106ef582721f321f1c6277f7751aacd5d83026cb079d9d5091082f588d14a72e7c5d720ece79118fa61e10 + languageName: node + linkType: hard + "finalhandler@npm:1.1.2": version: 1.1.2 resolution: "finalhandler@npm:1.1.2" @@ -8951,14 +9033,14 @@ __metadata: linkType: hard "get-uri@npm:^6.0.1": - version: 6.0.1 - resolution: "get-uri@npm:6.0.1" + version: 6.0.2 + resolution: "get-uri@npm:6.0.2" dependencies: basic-ftp: ^5.0.2 - data-uri-to-buffer: ^5.0.1 + data-uri-to-buffer: ^6.0.0 debug: ^4.3.4 fs-extra: ^8.1.0 - checksum: a8aec70e1c67386fbe67f66e344ecd671a19f4cfc8e0f0e14d070563af5123d540e77fbceb6e26566f29846fac864d2862699ab134d307f85c85e7d72ce23d14 + checksum: 762de3b0e3d4e7afc966e4ce93be587d70c270590da9b4c8fbff888362656c055838d926903d1774cbfeed4d392b4d6def4b2c06d48c050580070426a3a8629b languageName: node linkType: hard @@ -12856,7 +12938,7 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:^3.3.6": +"nanoid@npm:^3.1.23, nanoid@npm:^3.3.6": version: 3.3.6 resolution: "nanoid@npm:3.3.6" bin: @@ -14582,6 +14664,18 @@ __metadata: languageName: node linkType: hard +"query-string@npm:^7.1.3": + version: 7.1.3 + resolution: "query-string@npm:7.1.3" + dependencies: + decode-uri-component: ^0.2.2 + filter-obj: ^1.1.0 + split-on-first: ^1.0.0 + strict-uri-encode: ^2.0.0 + checksum: 91af02dcd9cc9227a052841d5c2eecb80a0d6489d05625df506a097ef1c59037cfb5e907f39b84643cbfd535c955abec3e553d0130a7b510120c37d06e0f4346 + languageName: node + linkType: hard + "querystringify@npm:^2.1.1": version: 2.2.0 resolution: "querystringify@npm:2.2.0" @@ -14702,7 +14796,7 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^16.13.1": +"react-is@npm:^16.13.0, react-is@npm:^16.13.1": version: 16.13.1 resolution: "react-is@npm:16.13.1" checksum: f7a19ac3496de32ca9ae12aa030f00f14a3d45374f1ceca0af707c831b2a6098ef0d6bdae51bd437b0a306d7f01d4677fcc8de7c0d331eb47ad0f46130e53c5f @@ -14769,6 +14863,8 @@ __metadata: "@commitlint/config-conventional": ^17.0.2 "@evilmartians/lefthook": ^1.2.2 "@react-native/eslint-config": ^0.72.2 + "@react-navigation/native": ^6.0.2 + "@react-navigation/native-stack": ^6.1.0 "@release-it/conventional-changelog": ^5.0.0 "@types/jest": ^28.1.2 "@types/react": ~17.0.21 @@ -16182,6 +16278,13 @@ __metadata: languageName: node linkType: hard +"split-on-first@npm:^1.0.0": + version: 1.1.0 + resolution: "split-on-first@npm:1.1.0" + checksum: 16ff85b54ddcf17f9147210a4022529b343edbcbea4ce977c8f30e38408b8d6e0f25f92cd35b86a524d4797f455e29ab89eb8db787f3c10708e0b47ebf528d30 + languageName: node + linkType: hard + "split2@npm:^3.0.0, split2@npm:^3.2.2": version: 3.2.2 resolution: "split2@npm:3.2.2" @@ -16296,6 +16399,13 @@ __metadata: languageName: node linkType: hard +"strict-uri-encode@npm:^2.0.0": + version: 2.0.0 + resolution: "strict-uri-encode@npm:2.0.0" + checksum: eaac4cf978b6fbd480f1092cab8b233c9b949bcabfc9b598dd79a758f7243c28765ef7639c876fa72940dac687181b35486ea01ff7df3e65ce3848c64822c581 + languageName: node + linkType: hard + "string-length@npm:^4.0.1": version: 4.0.2 resolution: "string-length@npm:4.0.2" @@ -17437,6 +17547,15 @@ __metadata: languageName: node linkType: hard +"use-latest-callback@npm:^0.1.5": + version: 0.1.6 + resolution: "use-latest-callback@npm:0.1.6" + peerDependencies: + react: ">=16.8" + checksum: d94bea5cc5910d5967b12c766355c11812c1f57b5993d4b429dd6e580ac5904087ce732891d4fb3a855e0e56e6a7900b9af2084ede1d86df8e381afe47c2947a + languageName: node + linkType: hard + "use-sync-external-store@npm:^1.0.0": version: 1.2.0 resolution: "use-sync-external-store@npm:1.2.0" @@ -17573,6 +17692,13 @@ __metadata: languageName: node linkType: hard +"warn-once@npm:^0.1.0": + version: 0.1.1 + resolution: "warn-once@npm:0.1.1" + checksum: e6a5a1f5a8dba7744399743d3cfb571db4c3947897875d4962a7c5b1bf2195ab4518c838cb4cea652e71729f21bba2e98dc75686f5fccde0fabbd894e2ed0c0d + languageName: node + linkType: hard + "watchpack@npm:^2.4.0": version: 2.4.0 resolution: "watchpack@npm:2.4.0"