react-native-readium 4.0.2 → 5.0.0-rc.1
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 +227 -31
- package/android/.cxx/Debug/1o6u5d69/arm64-v8a/metadata_generation_command.txt +20 -0
- package/android/.cxx/Debug/1o6u5d69/arm64-v8a/prefab_config.json +9 -0
- package/android/.cxx/Debug/1o6u5d69/hash_key.txt +27 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/.cmake/api/v1/reply/cache-v2-d1c3348b32c30ac6a032.json +1383 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/.cmake/api/v1/reply/cmakeFiles-v1-556430fba24741f19697.json +207 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/.cmake/api/v1/reply/codemodel-v2-1ced52b45c1052bc37ec.json +60 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json +14 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/.cmake/api/v1/reply/index-2026-02-11T21-48-38-0164.json +92 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/.cmake/api/v1/reply/target-NitroReadium-Debug-1a98e1c85aa4f0067ac7.json +310 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/.ninja_deps +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/.ninja_log +16 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeCache.txt +413 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake +72 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake +83 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake +15 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c +803 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp +791 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/CMakeOutput.log +262 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/android/NitroReadiumOnLoad.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/android/c++/JHybridReadiumViewSpec.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/android/c++/views/JHybridReadiumViewStateUpdater.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/shared/c++/HybridReadiumViewSpec.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/shared/c++/views/HybridReadiumViewComponent.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/NitroReadium.dir/src/main/cpp/cpp-adapter.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/TargetDirectories.txt +3 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/cmake.check_cache +1 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/rules.ninja +64 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/additional_project_files.txt +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/android_gradle_build.json +48 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/android_gradle_build_mini.json +37 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/build.ninja +193 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/build_file_index.txt +6 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/cmake_install.cmake +54 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/compile_commands.json +32 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/compile_commands.json.bin +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/configure_fingerprint.bin +41 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/metadata_generation_command.txt +21 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/prefab_config.json +9 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/symbol_folder_index.txt +1 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/.cmake/api/v1/reply/cache-v2-029ee0d18a16b9900504.json +1383 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/.cmake/api/v1/reply/cmakeFiles-v1-0ec9478532515d6deeb0.json +207 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/.cmake/api/v1/reply/codemodel-v2-00f0c7708253709bbb50.json +60 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json +14 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/.cmake/api/v1/reply/index-2026-02-11T21-48-44-0722.json +92 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/.cmake/api/v1/reply/target-NitroReadium-Debug-a00931bf570afa83f011.json +310 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/.ninja_deps +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/.ninja_log +16 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeCache.txt +413 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake +72 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake +83 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake +15 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c +803 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp +791 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/CMakeOutput.log +266 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/android/NitroReadiumOnLoad.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/android/c++/JHybridReadiumViewSpec.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/android/c++/views/JHybridReadiumViewStateUpdater.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/shared/c++/HybridReadiumViewSpec.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/shared/c++/views/HybridReadiumViewComponent.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/NitroReadium.dir/src/main/cpp/cpp-adapter.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/TargetDirectories.txt +3 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/cmake.check_cache +1 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/rules.ninja +64 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/additional_project_files.txt +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/android_gradle_build.json +48 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/android_gradle_build_mini.json +37 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/build.ninja +193 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/build_file_index.txt +6 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/cmake_install.cmake +54 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/compile_commands.json +32 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/compile_commands.json.bin +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/configure_fingerprint.bin +41 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/metadata_generation_command.txt +21 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/prefab_config.json +9 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/symbol_folder_index.txt +1 -0
- package/android/.cxx/Debug/705z3vy2/hash_key.txt +28 -0
- package/android/.cxx/Debug/705z3vy2/prefab/arm64-v8a/prefab/lib/aarch64-linux-android/cmake/ReactAndroid/ReactAndroidConfig.cmake +27 -0
- package/android/.cxx/Debug/705z3vy2/prefab/arm64-v8a/prefab/lib/aarch64-linux-android/cmake/ReactAndroid/ReactAndroidConfigVersion.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/arm64-v8a/prefab/lib/aarch64-linux-android/cmake/fbjni/fbjniConfig.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/arm64-v8a/prefab/lib/aarch64-linux-android/cmake/fbjni/fbjniConfigVersion.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/arm64-v8a/prefab/lib/aarch64-linux-android/cmake/react-native-nitro-modules/react-native-nitro-modulesConfig.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/armeabi-v7a/prefab/lib/arm-linux-androideabi/cmake/ReactAndroid/ReactAndroidConfig.cmake +27 -0
- package/android/.cxx/Debug/705z3vy2/prefab/armeabi-v7a/prefab/lib/arm-linux-androideabi/cmake/ReactAndroid/ReactAndroidConfigVersion.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/armeabi-v7a/prefab/lib/arm-linux-androideabi/cmake/fbjni/fbjniConfig.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/armeabi-v7a/prefab/lib/arm-linux-androideabi/cmake/fbjni/fbjniConfigVersion.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/armeabi-v7a/prefab/lib/arm-linux-androideabi/cmake/react-native-nitro-modules/react-native-nitro-modulesConfig.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/x86/prefab/lib/i686-linux-android/cmake/ReactAndroid/ReactAndroidConfig.cmake +27 -0
- package/android/.cxx/Debug/705z3vy2/prefab/x86/prefab/lib/i686-linux-android/cmake/ReactAndroid/ReactAndroidConfigVersion.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/x86/prefab/lib/i686-linux-android/cmake/fbjni/fbjniConfig.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/x86/prefab/lib/i686-linux-android/cmake/fbjni/fbjniConfigVersion.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/x86/prefab/lib/i686-linux-android/cmake/react-native-nitro-modules/react-native-nitro-modulesConfig.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/x86_64/prefab/lib/x86_64-linux-android/cmake/ReactAndroid/ReactAndroidConfig.cmake +27 -0
- package/android/.cxx/Debug/705z3vy2/prefab/x86_64/prefab/lib/x86_64-linux-android/cmake/ReactAndroid/ReactAndroidConfigVersion.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/x86_64/prefab/lib/x86_64-linux-android/cmake/fbjni/fbjniConfig.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/x86_64/prefab/lib/x86_64-linux-android/cmake/fbjni/fbjniConfigVersion.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/x86_64/prefab/lib/x86_64-linux-android/cmake/react-native-nitro-modules/react-native-nitro-modulesConfig.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/x86/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/.cmake/api/v1/reply/cache-v2-a4f471a31e824ae32ba5.json +1383 -0
- package/android/.cxx/Debug/705z3vy2/x86/.cmake/api/v1/reply/cmakeFiles-v1-f73d504308ce3a4e5765.json +207 -0
- package/android/.cxx/Debug/705z3vy2/x86/.cmake/api/v1/reply/codemodel-v2-00f85d43d057b2ba79db.json +60 -0
- package/android/.cxx/Debug/705z3vy2/x86/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json +14 -0
- package/android/.cxx/Debug/705z3vy2/x86/.cmake/api/v1/reply/index-2026-02-11T21-48-50-0628.json +92 -0
- package/android/.cxx/Debug/705z3vy2/x86/.cmake/api/v1/reply/target-NitroReadium-Debug-98c8a7d46de91d0d2e7e.json +310 -0
- package/android/.cxx/Debug/705z3vy2/x86/.ninja_deps +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/.ninja_log +16 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeCache.txt +413 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake +72 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake +83 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake +15 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c +803 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp +791 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/CMakeOutput.log +256 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/android/NitroReadiumOnLoad.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/android/c++/JHybridReadiumViewSpec.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/android/c++/views/JHybridReadiumViewStateUpdater.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/shared/c++/HybridReadiumViewSpec.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/shared/c++/views/HybridReadiumViewComponent.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/NitroReadium.dir/src/main/cpp/cpp-adapter.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/TargetDirectories.txt +3 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/cmake.check_cache +1 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/rules.ninja +64 -0
- package/android/.cxx/Debug/705z3vy2/x86/additional_project_files.txt +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/android_gradle_build.json +48 -0
- package/android/.cxx/Debug/705z3vy2/x86/android_gradle_build_mini.json +37 -0
- package/android/.cxx/Debug/705z3vy2/x86/build.ninja +193 -0
- package/android/.cxx/Debug/705z3vy2/x86/build_file_index.txt +6 -0
- package/android/.cxx/Debug/705z3vy2/x86/cmake_install.cmake +54 -0
- package/android/.cxx/Debug/705z3vy2/x86/compile_commands.json +32 -0
- package/android/.cxx/Debug/705z3vy2/x86/compile_commands.json.bin +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/configure_fingerprint.bin +41 -0
- package/android/.cxx/Debug/705z3vy2/x86/metadata_generation_command.txt +21 -0
- package/android/.cxx/Debug/705z3vy2/x86/prefab_config.json +9 -0
- package/android/.cxx/Debug/705z3vy2/x86/symbol_folder_index.txt +1 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/.cmake/api/v1/reply/cache-v2-691c4c7ce8ee23d9eb36.json +1383 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/.cmake/api/v1/reply/cmakeFiles-v1-5d2071095d60cec89732.json +207 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/.cmake/api/v1/reply/codemodel-v2-141850c8d8ba3993f9ba.json +60 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json +14 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/.cmake/api/v1/reply/index-2026-02-11T21-48-56-0488.json +92 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/.cmake/api/v1/reply/target-NitroReadium-Debug-fc544bc0688ecafa85a0.json +310 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/.ninja_deps +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/.ninja_log +16 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeCache.txt +413 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake +72 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake +83 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake +15 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c +803 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp +791 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/CMakeOutput.log +256 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/android/NitroReadiumOnLoad.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/android/c++/JHybridReadiumViewSpec.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/android/c++/views/JHybridReadiumViewStateUpdater.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/shared/c++/HybridReadiumViewSpec.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/shared/c++/views/HybridReadiumViewComponent.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/NitroReadium.dir/src/main/cpp/cpp-adapter.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/TargetDirectories.txt +3 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/cmake.check_cache +1 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/rules.ninja +64 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/additional_project_files.txt +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/android_gradle_build.json +48 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/android_gradle_build_mini.json +37 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/build.ninja +193 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/build_file_index.txt +6 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/cmake_install.cmake +54 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/compile_commands.json +32 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/compile_commands.json.bin +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/configure_fingerprint.bin +41 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/metadata_generation_command.txt +21 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/prefab_config.json +9 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/symbol_folder_index.txt +1 -0
- package/android/.cxx/tools/debug/arm64-v8a/compile_commands.json +32 -0
- package/android/.cxx/tools/debug/armeabi-v7a/compile_commands.json +32 -0
- package/android/.cxx/tools/debug/x86/compile_commands.json +32 -0
- package/android/.cxx/tools/debug/x86_64/compile_commands.json +32 -0
- package/android/CMakeLists.txt +12 -0
- package/android/build.gradle +55 -30
- package/android/gradle.properties +3 -3
- package/android/src/main/cpp/cpp-adapter.cpp +6 -0
- package/android/src/main/java/com/reactnativereadium/HybridReadiumView.kt +593 -0
- package/android/src/main/java/com/reactnativereadium/ReadiumPackage.kt +9 -2
- package/android/src/main/java/com/reactnativereadium/reader/BaseReaderFragment.kt +214 -6
- package/android/src/main/java/com/reactnativereadium/reader/EpubReaderFragment.kt +143 -70
- package/android/src/main/java/com/reactnativereadium/reader/PositionLabelManager.kt +132 -0
- package/android/src/main/java/com/reactnativereadium/reader/ReaderService.kt +64 -65
- package/android/src/main/java/com/reactnativereadium/reader/ReaderViewModel.kt +23 -84
- package/android/src/main/java/com/reactnativereadium/reader/VisualReaderFragment.kt +32 -2
- package/android/src/main/java/com/reactnativereadium/utils/DecorationSerializer.kt +175 -0
- package/android/src/main/java/com/reactnativereadium/utils/EventChannel.kt +0 -9
- package/android/src/main/java/com/reactnativereadium/utils/FragmentFactory.kt +2 -3
- package/android/src/main/java/com/reactnativereadium/utils/JsonExtensions.kt +61 -0
- package/android/src/main/java/com/reactnativereadium/utils/LocationNormalizer.kt +47 -0
- package/android/src/main/java/com/reactnativereadium/utils/MetadataNormalizer.kt +183 -0
- package/android/src/main/java/com/reactnativereadium/utils/NormalizedMetadata.kt +179 -0
- package/android/src/main/java/com/reactnativereadium/utils/extensions/InputStream.kt +0 -9
- package/ios/App/AppModule.swift +3 -9
- package/ios/Common/Toolkit/Extensions/{Locator.swift → Locator+Codable.swift} +2 -2
- package/ios/DecorationData.swift +316 -0
- package/ios/HybridReadiumView.swift +498 -0
- package/ios/Reader/Common/ReaderViewController.swift +121 -53
- package/ios/Reader/EPUB/AssociatedColors.swift +1 -1
- package/ios/Reader/EPUB/EPUBHTTPServer.swift +13 -0
- package/ios/Reader/EPUB/EPUBModule.swift +6 -5
- package/ios/Reader/EPUB/EPUBViewController.swift +88 -15
- package/ios/Reader/EPUB/SelectionActionHandler.h +25 -0
- package/ios/Reader/EPUB/SelectionActionHandler.m +56 -0
- package/ios/Reader/ReaderFormatModule.swift +4 -4
- package/ios/Reader/ReaderModule.swift +7 -5
- package/ios/Reader/ReaderService.swift +75 -67
- package/lib/nitrogen/generated/shared/json/ReadiumViewConfig.json +19 -0
- package/lib/src/components/NitroReadiumView.d.ts +2 -0
- package/lib/src/components/NitroReadiumView.js +3 -0
- package/lib/src/components/ReadiumView.d.ts +3 -5
- package/lib/src/components/ReadiumView.js +15 -40
- package/lib/src/components/ReadiumView.types.d.ts +18 -0
- package/lib/src/components/ReadiumView.web.d.ts +12 -5
- package/lib/src/components/ReadiumView.web.js +112 -21
- package/lib/src/index.d.ts +0 -1
- package/lib/src/index.js +0 -1
- package/lib/src/interfaces/Decoration.d.ts +8 -0
- package/lib/src/interfaces/Decoration.js +1 -0
- package/lib/src/interfaces/File.d.ts +5 -12
- package/lib/src/interfaces/Link.d.ts +3 -13
- package/lib/src/interfaces/Locator.d.ts +1 -14
- package/lib/src/interfaces/Preferences.d.ts +5 -19
- package/lib/src/interfaces/PublicationMetadata.d.ts +13 -0
- package/lib/src/interfaces/PublicationMetadata.js +1 -0
- package/lib/src/interfaces/PublicationReady.d.ts +1 -0
- package/lib/src/interfaces/PublicationReady.js +1 -0
- package/lib/src/interfaces/Selection.d.ts +1 -0
- package/lib/src/interfaces/Selection.js +1 -0
- package/lib/src/interfaces/SelectionAction.d.ts +1 -0
- package/lib/src/interfaces/SelectionAction.js +1 -0
- package/lib/src/interfaces/index.d.ts +6 -1
- package/lib/src/interfaces/index.js +5 -1
- package/lib/src/specs/ReadiumView.nitro.d.ts +199 -0
- package/lib/src/specs/ReadiumView.nitro.js +1 -0
- package/lib/src/utils/index.d.ts +0 -6
- package/lib/src/utils/index.js +0 -6
- package/lib/web/hooks/index.d.ts +4 -2
- package/lib/web/hooks/index.js +4 -2
- package/lib/web/hooks/useDecorationsObserver.d.ts +6 -0
- package/lib/web/hooks/useDecorationsObserver.js +96 -0
- package/lib/web/hooks/useLocationObserver.d.ts +2 -1
- package/lib/web/hooks/useLocationObserver.js +18 -11
- package/lib/web/hooks/useNavigator.d.ts +12 -0
- package/lib/web/hooks/useNavigator.js +92 -0
- package/lib/web/hooks/usePositionLabel.d.ts +9 -0
- package/lib/web/hooks/usePositionLabel.js +33 -0
- package/lib/web/hooks/usePreferencesObserver.d.ts +2 -0
- package/lib/web/hooks/usePreferencesObserver.js +54 -0
- package/lib/web/utils/locationNormalizer.d.ts +28 -0
- package/lib/web/utils/locationNormalizer.js +49 -0
- package/lib/web/utils/manifestFetcher.d.ts +8 -0
- package/lib/web/utils/manifestFetcher.js +28 -0
- package/lib/web/utils/manifestNormalizer.d.ts +8 -0
- package/lib/web/utils/manifestNormalizer.js +70 -0
- package/lib/web/utils/metadataNormalizer.d.ts +53 -0
- package/lib/web/utils/metadataNormalizer.js +220 -0
- package/lib/web/utils/navigatorListeners.d.ts +6 -0
- package/lib/web/utils/navigatorListeners.js +50 -0
- package/lib/web/utils/publicationUtils.d.ts +15 -0
- package/lib/web/utils/publicationUtils.js +39 -0
- package/nitro.json +16 -0
- package/nitrogen/generated/.gitattributes +1 -0
- package/nitrogen/generated/android/NitroReadium+autolinking.cmake +83 -0
- package/nitrogen/generated/android/NitroReadium+autolinking.gradle +27 -0
- package/nitrogen/generated/android/NitroReadiumOnLoad.cpp +56 -0
- package/nitrogen/generated/android/NitroReadiumOnLoad.hpp +25 -0
- package/nitrogen/generated/android/c++/JAccessibility.hpp +175 -0
- package/nitrogen/generated/android/c++/JAccessibilityCertification.hpp +66 -0
- package/nitrogen/generated/android/c++/JBelongsTo.hpp +101 -0
- package/nitrogen/generated/android/c++/JContributor.hpp +74 -0
- package/nitrogen/generated/android/c++/JDecoration.hpp +92 -0
- package/nitrogen/generated/android/c++/JDecorationActivatedEvent.hpp +85 -0
- package/nitrogen/generated/android/c++/JDecorationGroup.hpp +92 -0
- package/nitrogen/generated/android/c++/JDecorationStyle.hpp +86 -0
- package/nitrogen/generated/android/c++/JFunc_void_DecorationActivatedEvent.hpp +94 -0
- package/nitrogen/generated/android/c++/JFunc_void_Locator.hpp +83 -0
- package/nitrogen/generated/android/c++/JFunc_void_PublicationReadyEvent.hpp +102 -0
- package/nitrogen/generated/android/c++/JFunc_void_SelectionActionEvent.hpp +85 -0
- package/nitrogen/generated/android/c++/JFunc_void_SelectionEvent.hpp +85 -0
- package/nitrogen/generated/android/c++/JHybridReadiumViewSpec.cpp +328 -0
- package/nitrogen/generated/android/c++/JHybridReadiumViewSpec.hpp +86 -0
- package/nitrogen/generated/android/c++/JLink.hpp +131 -0
- package/nitrogen/generated/android/c++/JLocator.hpp +82 -0
- package/nitrogen/generated/android/c++/JLocatorLocations.hpp +65 -0
- package/nitrogen/generated/android/c++/JLocatorText.hpp +66 -0
- package/nitrogen/generated/android/c++/JPoint.hpp +61 -0
- package/nitrogen/generated/android/c++/JPreferences.hpp +158 -0
- package/nitrogen/generated/android/c++/JPublicationMetadata.hpp +449 -0
- package/nitrogen/generated/android/c++/JPublicationReadyEvent.hpp +125 -0
- package/nitrogen/generated/android/c++/JReadiumFile.hpp +68 -0
- package/nitrogen/generated/android/c++/JRect.hpp +69 -0
- package/nitrogen/generated/android/c++/JSelectionAction.hpp +61 -0
- package/nitrogen/generated/android/c++/JSelectionActionEvent.hpp +72 -0
- package/nitrogen/generated/android/c++/JSelectionEvent.hpp +68 -0
- package/nitrogen/generated/android/c++/JSeriesInfo.hpp +62 -0
- package/nitrogen/generated/android/c++/JSubject.hpp +70 -0
- package/nitrogen/generated/android/c++/views/JHybridReadiumViewStateUpdater.cpp +93 -0
- package/nitrogen/generated/android/c++/views/JHybridReadiumViewStateUpdater.hpp +49 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Accessibility.kt +56 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/AccessibilityCertification.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/BelongsTo.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Contributor.kt +50 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Decoration.kt +47 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/DecorationActivatedEvent.kt +47 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/DecorationGroup.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/DecorationStyle.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Func_void_DecorationActivatedEvent.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Func_void_Locator.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Func_void_PublicationReadyEvent.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Func_void_SelectionActionEvent.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Func_void_SelectionEvent.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/HybridReadiumViewSpec.kt +159 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Link.kt +65 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Locator.kt +53 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/LocatorLocations.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/LocatorText.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/NitroReadiumOnLoad.kt +35 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Point.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Preferences.kt +113 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/PublicationMetadata.kt +119 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/PublicationReadyEvent.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/ReadiumFile.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Rect.kt +47 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/SelectionAction.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/SelectionActionEvent.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/SelectionEvent.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/SeriesInfo.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Subject.kt +47 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/views/HybridReadiumViewManager.kt +70 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/views/HybridReadiumViewStateUpdater.kt +23 -0
- package/nitrogen/generated/ios/NitroReadium+autolinking.rb +60 -0
- package/nitrogen/generated/ios/NitroReadium-Swift-Cxx-Bridge.cpp +73 -0
- package/nitrogen/generated/ios/NitroReadium-Swift-Cxx-Bridge.hpp +641 -0
- package/nitrogen/generated/ios/NitroReadium-Swift-Cxx-Umbrella.hpp +117 -0
- package/nitrogen/generated/ios/NitroReadiumAutolinking.mm +33 -0
- package/nitrogen/generated/ios/NitroReadiumAutolinking.swift +26 -0
- package/nitrogen/generated/ios/c++/HybridReadiumViewSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridReadiumViewSpecSwift.hpp +226 -0
- package/nitrogen/generated/ios/c++/views/HybridReadiumViewComponent.mm +152 -0
- package/nitrogen/generated/ios/swift/Accessibility.swift +173 -0
- package/nitrogen/generated/ios/swift/AccessibilityCertification.swift +78 -0
- package/nitrogen/generated/ios/swift/BelongsTo.swift +72 -0
- package/nitrogen/generated/ios/swift/Contributor.swift +94 -0
- package/nitrogen/generated/ios/swift/Decoration.swift +71 -0
- package/nitrogen/generated/ios/swift/DecorationActivatedEvent.swift +56 -0
- package/nitrogen/generated/ios/swift/DecorationGroup.swift +40 -0
- package/nitrogen/generated/ios/swift/DecorationStyle.swift +155 -0
- package/nitrogen/generated/ios/swift/Func_void_DecorationActivatedEvent.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_Locator.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_PublicationReadyEvent.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_SelectionActionEvent.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_SelectionEvent.swift +46 -0
- package/nitrogen/generated/ios/swift/HybridReadiumViewSpec.swift +65 -0
- package/nitrogen/generated/ios/swift/HybridReadiumViewSpec_cxx.swift +363 -0
- package/nitrogen/generated/ios/swift/Link.swift +162 -0
- package/nitrogen/generated/ios/swift/Locator.swift +85 -0
- package/nitrogen/generated/ios/swift/LocatorLocations.swift +51 -0
- package/nitrogen/generated/ios/swift/LocatorText.swift +78 -0
- package/nitrogen/generated/ios/swift/Point.swift +34 -0
- package/nitrogen/generated/ios/swift/Preferences.swift +429 -0
- package/nitrogen/generated/ios/swift/PublicationMetadata.swift +577 -0
- package/nitrogen/generated/ios/swift/PublicationReadyEvent.swift +51 -0
- package/nitrogen/generated/ios/swift/ReadiumFile.swift +40 -0
- package/nitrogen/generated/ios/swift/Rect.swift +44 -0
- package/nitrogen/generated/ios/swift/SelectionAction.swift +34 -0
- package/nitrogen/generated/ios/swift/SelectionActionEvent.swift +39 -0
- package/nitrogen/generated/ios/swift/SelectionEvent.swift +53 -0
- package/nitrogen/generated/ios/swift/SeriesInfo.swift +40 -0
- package/nitrogen/generated/ios/swift/Subject.swift +83 -0
- package/nitrogen/generated/shared/c++/Accessibility.hpp +111 -0
- package/nitrogen/generated/shared/c++/AccessibilityCertification.hpp +92 -0
- package/nitrogen/generated/shared/c++/BelongsTo.hpp +90 -0
- package/nitrogen/generated/shared/c++/Contributor.hpp +100 -0
- package/nitrogen/generated/shared/c++/Decoration.hpp +102 -0
- package/nitrogen/generated/shared/c++/DecorationActivatedEvent.hpp +104 -0
- package/nitrogen/generated/shared/c++/DecorationGroup.hpp +90 -0
- package/nitrogen/generated/shared/c++/DecorationStyle.hpp +112 -0
- package/nitrogen/generated/shared/c++/HybridReadiumViewSpec.cpp +42 -0
- package/nitrogen/generated/shared/c++/HybridReadiumViewSpec.hpp +110 -0
- package/nitrogen/generated/shared/c++/Link.hpp +121 -0
- package/nitrogen/generated/shared/c++/Locator.hpp +109 -0
- package/nitrogen/generated/shared/c++/LocatorLocations.hpp +91 -0
- package/nitrogen/generated/shared/c++/LocatorText.hpp +92 -0
- package/nitrogen/generated/shared/c++/Point.hpp +87 -0
- package/nitrogen/generated/shared/c++/Preferences.hpp +184 -0
- package/nitrogen/generated/shared/c++/PublicationMetadata.hpp +204 -0
- package/nitrogen/generated/shared/c++/PublicationReadyEvent.hpp +99 -0
- package/nitrogen/generated/shared/c++/ReadiumFile.hpp +90 -0
- package/nitrogen/generated/shared/c++/Rect.hpp +95 -0
- package/nitrogen/generated/shared/c++/SelectionAction.hpp +87 -0
- package/nitrogen/generated/shared/c++/SelectionActionEvent.hpp +93 -0
- package/nitrogen/generated/shared/c++/SelectionEvent.hpp +90 -0
- package/nitrogen/generated/shared/c++/SeriesInfo.hpp +88 -0
- package/nitrogen/generated/shared/c++/Subject.hpp +96 -0
- package/nitrogen/generated/shared/c++/views/HybridReadiumViewComponent.cpp +182 -0
- package/nitrogen/generated/shared/c++/views/HybridReadiumViewComponent.hpp +129 -0
- package/nitrogen/generated/shared/json/ReadiumViewConfig.json +19 -0
- package/package.json +48 -17
- package/react-native-readium.podspec +29 -8
- package/src/components/NitroReadiumView.tsx +9 -0
- package/src/components/ReadiumView.tsx +38 -68
- package/src/components/ReadiumView.types.ts +30 -0
- package/src/components/ReadiumView.web.tsx +149 -37
- package/src/index.tsx +0 -1
- package/src/interfaces/Decoration.ts +15 -0
- package/src/interfaces/File.ts +5 -13
- package/src/interfaces/Link.ts +4 -13
- package/src/interfaces/Locator.ts +5 -14
- package/src/interfaces/Preferences.ts +16 -19
- package/src/interfaces/PublicationMetadata.ts +23 -0
- package/src/interfaces/PublicationReady.ts +1 -0
- package/src/interfaces/Selection.ts +1 -0
- package/src/interfaces/SelectionAction.ts +4 -0
- package/src/interfaces/index.ts +6 -1
- package/src/specs/ReadiumView.nitro.ts +249 -0
- package/src/utils/index.ts +0 -6
- package/web/hooks/index.ts +4 -2
- package/web/hooks/useDecorationsObserver.ts +116 -0
- package/web/hooks/useLocationObserver.ts +24 -11
- package/web/hooks/useNavigator.ts +152 -0
- package/web/hooks/usePositionLabel.ts +51 -0
- package/web/hooks/usePreferencesObserver.ts +69 -0
- package/web/utils/locationNormalizer.ts +58 -0
- package/web/utils/manifestFetcher.ts +38 -0
- package/web/utils/manifestNormalizer.ts +74 -0
- package/web/utils/metadataNormalizer.ts +238 -0
- package/web/utils/navigatorListeners.ts +60 -0
- package/web/utils/publicationUtils.ts +47 -0
- package/android/src/main/java/com/reactnativereadium/ReadiumView.kt +0 -109
- package/android/src/main/java/com/reactnativereadium/ReadiumViewManager.kt +0 -149
- package/android/src/main/java/com/reactnativereadium/search/SearchFragment.kt +0 -100
- package/android/src/main/java/com/reactnativereadium/search/SearchPagingSource.kt +0 -44
- package/android/src/main/java/com/reactnativereadium/search/SearchResultAdapter.kt +0 -68
- package/android/src/main/java/com/reactnativereadium/utils/Dimensions.kt +0 -6
- package/android/src/main/java/com/reactnativereadium/utils/R2DispatcherActivity.kt +0 -45
- package/android/src/main/java/com/reactnativereadium/utils/SectionDecoration.kt +0 -98
- package/android/src/main/java/com/reactnativereadium/utils/SingleClickListener.kt +0 -32
- package/android/src/main/java/com/reactnativereadium/utils/extensions/Bitmap.kt +0 -23
- package/android/src/main/java/com/reactnativereadium/utils/extensions/Context.kt +0 -16
- package/android/src/main/java/com/reactnativereadium/utils/extensions/File.kt +0 -22
- package/android/src/main/java/com/reactnativereadium/utils/extensions/Link.kt +0 -6
- package/android/src/main/java/com/reactnativereadium/utils/extensions/Metadata.kt +0 -6
- package/android/src/main/java/com/reactnativereadium/utils/extensions/URL.kt +0 -29
- package/android/src/main/java/com/reactnativereadium/utils/extensions/Uri.kt +0 -17
- package/android/src/main/res/layout/fragment_search.xml +0 -39
- package/android/src/main/res/layout/item_recycle_search.xml +0 -14
- package/ios/Common/EPUBPreferences.swift +0 -8
- package/ios/Common/Paths.swift +0 -52
- package/ios/Common/Publication.swift +0 -15
- package/ios/Common/Toolkit/Extensions/HTTPClient.swift +0 -65
- package/ios/Common/Toolkit/Extensions/UIImage.swift +0 -12
- package/ios/Common/Toolkit/Extensions/UIViewController.swift +0 -19
- package/ios/Common/Toolkit/ScreenOrientation.swift +0 -13
- package/ios/Data/Bookmark.swift +0 -23
- package/ios/Readium-Bridging-Header.h +0 -2
- package/ios/ReadiumView.swift +0 -165
- package/ios/ReadiumViewManager.m +0 -11
- package/ios/ReadiumViewManager.swift +0 -9
- package/lib/src/components/BaseReadiumView.d.ts +0 -2
- package/lib/src/components/BaseReadiumView.js +0 -7
- package/lib/src/components/BaseReadiumView.web.d.ts +0 -1
- package/lib/src/components/BaseReadiumView.web.js +0 -1
- package/lib/src/enums/Appearance.d.ts +0 -11
- package/lib/src/enums/Appearance.js +0 -13
- package/lib/src/enums/ColumnCount.d.ts +0 -5
- package/lib/src/enums/ColumnCount.js +0 -7
- package/lib/src/enums/FontFamily.d.ts +0 -10
- package/lib/src/enums/FontFamily.js +0 -12
- package/lib/src/enums/TextAlignment.d.ts +0 -4
- package/lib/src/enums/TextAlignment.js +0 -6
- package/lib/src/enums/index.d.ts +0 -4
- package/lib/src/enums/index.js +0 -4
- package/lib/src/interfaces/BaseReadiumViewProps.d.ts +0 -15
- package/lib/src/utils/COMPONENT_NAME.d.ts +0 -1
- package/lib/src/utils/COMPONENT_NAME.js +0 -1
- package/lib/src/utils/LINKING_ERROR.d.ts +0 -1
- package/lib/src/utils/LINKING_ERROR.js +0 -5
- package/lib/src/utils/clamp.d.ts +0 -1
- package/lib/src/utils/clamp.js +0 -7
- package/lib/src/utils/createFragment.d.ts +0 -1
- package/lib/src/utils/createFragment.js +0 -10
- package/lib/src/utils/getWidthOrHeightValue.d.ts +0 -1
- package/lib/src/utils/getWidthOrHeightValue.js +0 -6
- package/lib/src/utils/indexOfObjectValue.d.ts +0 -1
- package/lib/src/utils/indexOfObjectValue.js +0 -3
- package/lib/web/hooks/useReaderRef.d.ts +0 -3
- package/lib/web/hooks/useReaderRef.js +0 -85
- package/lib/web/hooks/useSettingsObserver.d.ts +0 -2
- package/lib/web/hooks/useSettingsObserver.js +0 -44
- package/src/components/BaseReadiumView.tsx +0 -11
- package/src/components/BaseReadiumView.web.tsx +0 -1
- package/src/enums/Appearance.ts +0 -14
- package/src/enums/ColumnCount.ts +0 -6
- package/src/enums/FontFamily.ts +0 -11
- package/src/enums/TextAlignment.ts +0 -5
- package/src/enums/index.ts +0 -4
- package/src/interfaces/BaseReadiumViewProps.ts +0 -16
- package/src/utils/COMPONENT_NAME.ts +0 -1
- package/src/utils/LINKING_ERROR.ts +0 -7
- package/src/utils/clamp.ts +0 -5
- package/src/utils/createFragment.ts +0 -15
- package/src/utils/getWidthOrHeightValue.ts +0 -7
- package/src/utils/indexOfObjectValue.ts +0 -3
- package/web/hooks/useReaderRef.ts +0 -109
- package/web/hooks/useSettingsObserver.ts +0 -61
- /package/lib/src/{interfaces/BaseReadiumViewProps.js → components/ReadiumView.types.js} +0 -0
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
package com.reactnativereadium
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.*
|
|
4
|
-
import com.facebook.react.common.MapBuilder
|
|
5
|
-
import com.facebook.react.uimanager.annotations.ReactProp
|
|
6
|
-
import com.facebook.react.uimanager.annotations.ReactPropGroup
|
|
7
|
-
import com.facebook.react.uimanager.ThemedReactContext
|
|
8
|
-
import com.facebook.react.uimanager.ViewGroupManager
|
|
9
|
-
import com.reactnativereadium.reader.ReaderService
|
|
10
|
-
import com.reactnativereadium.utils.File
|
|
11
|
-
import com.reactnativereadium.utils.LinkOrLocator
|
|
12
|
-
import kotlinx.coroutines.runBlocking
|
|
13
|
-
import org.json.JSONObject
|
|
14
|
-
import org.readium.r2.shared.publication.Link
|
|
15
|
-
import org.readium.r2.shared.publication.Locator
|
|
16
|
-
|
|
17
|
-
class ReadiumViewManager(
|
|
18
|
-
val reactContext: ReactApplicationContext
|
|
19
|
-
) : ViewGroupManager<ReadiumView>() {
|
|
20
|
-
private var svc = ReaderService(reactContext)
|
|
21
|
-
|
|
22
|
-
override fun getName() = "ReadiumView"
|
|
23
|
-
|
|
24
|
-
override fun createViewInstance(reactContext: ThemedReactContext): ReadiumView {
|
|
25
|
-
return ReadiumView(reactContext)
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
override fun getExportedCustomBubblingEventTypeConstants(): Map<String, Any> {
|
|
29
|
-
return MapBuilder.builder<String, Any>()
|
|
30
|
-
.put(
|
|
31
|
-
ON_LOCATION_CHANGE,
|
|
32
|
-
MapBuilder.of(
|
|
33
|
-
"phasedRegistrationNames",
|
|
34
|
-
MapBuilder.of("bubbled", ON_LOCATION_CHANGE)
|
|
35
|
-
)
|
|
36
|
-
)
|
|
37
|
-
.put(
|
|
38
|
-
ON_TABLE_OF_CONTENTS,
|
|
39
|
-
MapBuilder.of(
|
|
40
|
-
"phasedRegistrationNames",
|
|
41
|
-
MapBuilder.of("bubbled", ON_TABLE_OF_CONTENTS)
|
|
42
|
-
)
|
|
43
|
-
)
|
|
44
|
-
.build()
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
override fun getCommandsMap(): MutableMap<String, Int> {
|
|
48
|
-
return MapBuilder.of("create", COMMAND_CREATE)
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
override fun receiveCommand(view: ReadiumView, commandId: String?, args: ReadableArray?) {
|
|
52
|
-
super.receiveCommand(view, commandId, args)
|
|
53
|
-
val reactNativeViewId = args!!.getInt(0)
|
|
54
|
-
val commandIdInt = commandId!!.toInt()
|
|
55
|
-
|
|
56
|
-
when (commandIdInt) {
|
|
57
|
-
COMMAND_CREATE -> {
|
|
58
|
-
view.isViewInitialized = true
|
|
59
|
-
|
|
60
|
-
if (view.file != null) {
|
|
61
|
-
buildForViewIfReady(view)
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
else -> {
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
@ReactProp(name = "file")
|
|
70
|
-
fun setFile(view: ReadiumView, file: ReadableMap) {
|
|
71
|
-
val path = (file.getString("url") ?: "")
|
|
72
|
-
.replace("^(file:/+)?(/.*)$".toRegex(), "$2")
|
|
73
|
-
val location = file.getMap("initialLocation")
|
|
74
|
-
var initialLocation: LinkOrLocator? = null
|
|
75
|
-
|
|
76
|
-
if (location != null) {
|
|
77
|
-
initialLocation = locationToLinkOrLocator(location)
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
view.file = File(path, initialLocation)
|
|
81
|
-
this.buildForViewIfReady(view)
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
fun locationToLinkOrLocator(location: ReadableMap): LinkOrLocator? {
|
|
85
|
-
val json = JSONObject(location.toHashMap() as HashMap<*, *>)
|
|
86
|
-
val hasLocations = json.has("locations")
|
|
87
|
-
val hasType = json.has("type") && !json.getString("type").isEmpty()
|
|
88
|
-
val hasChildren = json.has("children")
|
|
89
|
-
val hasHashHref = (json.get("href") as String).contains("#")
|
|
90
|
-
val hasTemplated = json.has("templated")
|
|
91
|
-
|
|
92
|
-
var linkOrLocator: LinkOrLocator? = null
|
|
93
|
-
|
|
94
|
-
if ((!hasType || hasChildren || hasHashHref || hasTemplated) && !hasLocations) {
|
|
95
|
-
val link = Link.fromJSON(json)
|
|
96
|
-
if (link != null) {
|
|
97
|
-
linkOrLocator = LinkOrLocator.Link(link)
|
|
98
|
-
}
|
|
99
|
-
} else {
|
|
100
|
-
val locator = Locator.fromJSON(json)
|
|
101
|
-
if (locator != null) {
|
|
102
|
-
linkOrLocator = LinkOrLocator.Locator(locator)
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
return linkOrLocator;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
@ReactProp(name = "location")
|
|
110
|
-
fun setLocation(view: ReadiumView, location: ReadableMap) {
|
|
111
|
-
var linkOrLocator: LinkOrLocator? = locationToLinkOrLocator(location)
|
|
112
|
-
|
|
113
|
-
if (linkOrLocator != null) {
|
|
114
|
-
view.updateLocation(linkOrLocator)
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
@ReactProp(name = "preferences")
|
|
119
|
-
fun setPreferences(view: ReadiumView, serialisedPreferences: String) {
|
|
120
|
-
view.updatePreferencesFromJsonString(serialisedPreferences)
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
@ReactPropGroup(names = ["width", "height"], customType = "Style")
|
|
124
|
-
fun setStyle(view: ReadiumView?, index: Int, value: Int) {
|
|
125
|
-
if (index == 0) {
|
|
126
|
-
view?.dimensions?.width = value
|
|
127
|
-
}
|
|
128
|
-
if (index == 1) {
|
|
129
|
-
view?.dimensions?.height = value
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
private fun buildForViewIfReady(view: ReadiumView) {
|
|
134
|
-
var file = view.file
|
|
135
|
-
if (file != null && view.isViewInitialized) {
|
|
136
|
-
runBlocking {
|
|
137
|
-
svc.openPublication(file.path, file.initialLocation) { fragment ->
|
|
138
|
-
view.addFragment(fragment)
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
companion object {
|
|
145
|
-
var ON_LOCATION_CHANGE = "onLocationChange"
|
|
146
|
-
var ON_TABLE_OF_CONTENTS = "onTableOfContents"
|
|
147
|
-
var COMMAND_CREATE = 1
|
|
148
|
-
}
|
|
149
|
-
}
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2021 Readium Foundation. All rights reserved.
|
|
3
|
-
* Use of this source code is governed by the BSD-style license
|
|
4
|
-
* available in the top-level LICENSE file of the project.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
package com.reactnativereadium.search
|
|
8
|
-
|
|
9
|
-
import android.os.Bundle
|
|
10
|
-
import android.view.LayoutInflater
|
|
11
|
-
import android.view.View
|
|
12
|
-
import android.view.ViewGroup
|
|
13
|
-
import androidx.core.view.isVisible
|
|
14
|
-
import androidx.fragment.app.Fragment
|
|
15
|
-
import androidx.fragment.app.activityViewModels
|
|
16
|
-
import androidx.fragment.app.setFragmentResult
|
|
17
|
-
import androidx.lifecycle.lifecycleScope
|
|
18
|
-
import androidx.recyclerview.widget.DividerItemDecoration
|
|
19
|
-
import androidx.recyclerview.widget.LinearLayoutManager
|
|
20
|
-
import kotlinx.coroutines.flow.launchIn
|
|
21
|
-
import kotlinx.coroutines.flow.onEach
|
|
22
|
-
import org.readium.r2.shared.publication.Locator
|
|
23
|
-
import com.reactnativereadium.R
|
|
24
|
-
import com.reactnativereadium.databinding.FragmentSearchBinding
|
|
25
|
-
import com.reactnativereadium.reader.ReaderViewModel
|
|
26
|
-
import com.reactnativereadium.utils.SectionDecoration
|
|
27
|
-
|
|
28
|
-
class SearchFragment : Fragment(R.layout.fragment_search) {
|
|
29
|
-
|
|
30
|
-
private val viewModel: ReaderViewModel by activityViewModels()
|
|
31
|
-
|
|
32
|
-
private var _binding: FragmentSearchBinding? = null
|
|
33
|
-
private val binding get() = _binding!!
|
|
34
|
-
|
|
35
|
-
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
|
36
|
-
super.onViewCreated(view, savedInstanceState)
|
|
37
|
-
|
|
38
|
-
val viewScope = viewLifecycleOwner.lifecycleScope
|
|
39
|
-
|
|
40
|
-
val searchAdapter = SearchResultAdapter(object : SearchResultAdapter.Listener {
|
|
41
|
-
override fun onItemClicked(v: View, locator: Locator) {
|
|
42
|
-
val result = Bundle().apply {
|
|
43
|
-
putParcelable(SearchFragment::class.java.name, locator)
|
|
44
|
-
}
|
|
45
|
-
setFragmentResult(SearchFragment::class.java.name, result)
|
|
46
|
-
}
|
|
47
|
-
})
|
|
48
|
-
|
|
49
|
-
viewModel.searchResult
|
|
50
|
-
.onEach { searchAdapter.submitData(it) }
|
|
51
|
-
.launchIn(viewScope)
|
|
52
|
-
|
|
53
|
-
viewModel.searchLocators
|
|
54
|
-
.onEach { binding.noResultLabel.isVisible = it.isEmpty() }
|
|
55
|
-
.launchIn(viewScope)
|
|
56
|
-
|
|
57
|
-
viewModel.channel
|
|
58
|
-
.receive(viewLifecycleOwner) { event ->
|
|
59
|
-
when (event) {
|
|
60
|
-
ReaderViewModel.Event.StartNewSearch ->
|
|
61
|
-
binding.searchRecyclerView.scrollToPosition(0)
|
|
62
|
-
else -> {}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
binding.searchRecyclerView.apply {
|
|
67
|
-
adapter = searchAdapter
|
|
68
|
-
layoutManager = LinearLayoutManager(activity)
|
|
69
|
-
addItemDecoration(SectionDecoration(context, object : SectionDecoration.Listener {
|
|
70
|
-
override fun isStartOfSection(itemPos: Int): Boolean =
|
|
71
|
-
viewModel.searchLocators.value.run {
|
|
72
|
-
when {
|
|
73
|
-
itemPos == 0 -> true
|
|
74
|
-
itemPos < 0 -> false
|
|
75
|
-
itemPos >= size -> false
|
|
76
|
-
else -> getOrNull(itemPos)?.title != getOrNull(itemPos-1)?.title
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
override fun sectionTitle(itemPos: Int): String =
|
|
81
|
-
viewModel.searchLocators.value.getOrNull(itemPos)?.title ?: ""
|
|
82
|
-
}))
|
|
83
|
-
addItemDecoration(DividerItemDecoration(context, DividerItemDecoration.VERTICAL))
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
override fun onCreateView(
|
|
88
|
-
inflater: LayoutInflater,
|
|
89
|
-
container: ViewGroup?,
|
|
90
|
-
savedInstanceState: Bundle?
|
|
91
|
-
): View {
|
|
92
|
-
_binding = FragmentSearchBinding.inflate(inflater, container, false)
|
|
93
|
-
return binding.root
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
override fun onDestroyView() {
|
|
97
|
-
super.onDestroyView()
|
|
98
|
-
_binding = null
|
|
99
|
-
}
|
|
100
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2021 Readium Foundation. All rights reserved.
|
|
3
|
-
* Use of this source code is governed by the BSD-style license
|
|
4
|
-
* available in the top-level LICENSE file of the project.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
package com.reactnativereadium.search
|
|
8
|
-
|
|
9
|
-
import androidx.paging.PagingSource
|
|
10
|
-
import androidx.paging.PagingState
|
|
11
|
-
import org.readium.r2.shared.Search
|
|
12
|
-
import org.readium.r2.shared.publication.Locator
|
|
13
|
-
import org.readium.r2.shared.publication.LocatorCollection
|
|
14
|
-
import org.readium.r2.shared.publication.services.search.SearchIterator
|
|
15
|
-
import org.readium.r2.shared.publication.services.search.SearchTry
|
|
16
|
-
|
|
17
|
-
@OptIn(Search::class)
|
|
18
|
-
class SearchPagingSource(
|
|
19
|
-
private val listener: Listener?
|
|
20
|
-
) : PagingSource<Unit, Locator>() {
|
|
21
|
-
|
|
22
|
-
interface Listener {
|
|
23
|
-
suspend fun next(): SearchTry<LocatorCollection?>
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
override val keyReuseSupported: Boolean get() = true
|
|
27
|
-
|
|
28
|
-
override fun getRefreshKey(state: PagingState<Unit, Locator>): Unit? = null
|
|
29
|
-
|
|
30
|
-
override suspend fun load(params: LoadParams<Unit>): LoadResult<Unit, Locator> {
|
|
31
|
-
listener ?: return LoadResult.Page(data = emptyList(), prevKey = null, nextKey = null)
|
|
32
|
-
|
|
33
|
-
return try {
|
|
34
|
-
val page = listener.next().getOrThrow()
|
|
35
|
-
LoadResult.Page(
|
|
36
|
-
data = page?.locators ?: emptyList(),
|
|
37
|
-
prevKey = null,
|
|
38
|
-
nextKey = if (page == null) null else Unit
|
|
39
|
-
)
|
|
40
|
-
} catch (e: Exception) {
|
|
41
|
-
LoadResult.Error(e)
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2021 Readium Foundation. All rights reserved.
|
|
3
|
-
* Use of this source code is governed by the BSD-style license
|
|
4
|
-
* available in the top-level LICENSE file of the project.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
package com.reactnativereadium.search
|
|
8
|
-
|
|
9
|
-
import android.os.Build
|
|
10
|
-
import android.text.Html
|
|
11
|
-
import android.view.LayoutInflater
|
|
12
|
-
import android.view.View
|
|
13
|
-
import android.view.ViewGroup
|
|
14
|
-
import androidx.paging.PagingDataAdapter
|
|
15
|
-
import androidx.recyclerview.widget.DiffUtil
|
|
16
|
-
import androidx.recyclerview.widget.RecyclerView
|
|
17
|
-
import org.readium.r2.shared.publication.Locator
|
|
18
|
-
import com.reactnativereadium.databinding.ItemRecycleSearchBinding
|
|
19
|
-
import com.reactnativereadium.utils.singleClick
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* This class is an adapter for Search results' recycler view.
|
|
23
|
-
*/
|
|
24
|
-
class SearchResultAdapter(private var listener: Listener) :
|
|
25
|
-
PagingDataAdapter<Locator, SearchResultAdapter.ViewHolder>(ItemCallback()) {
|
|
26
|
-
|
|
27
|
-
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
|
|
28
|
-
return ViewHolder(
|
|
29
|
-
ItemRecycleSearchBinding.inflate(
|
|
30
|
-
LayoutInflater.from(parent.context), parent, false
|
|
31
|
-
)
|
|
32
|
-
)
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
|
|
36
|
-
val locator = getItem(position) ?: return
|
|
37
|
-
val html =
|
|
38
|
-
"${locator.text.before}<span style=\"background:yellow;\"><b>${locator.text.highlight}</b></span>${locator.text.after}"
|
|
39
|
-
holder.textView.text = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
|
40
|
-
Html.fromHtml(html, Html.FROM_HTML_MODE_COMPACT)
|
|
41
|
-
} else {
|
|
42
|
-
@Suppress("DEPRECATION")
|
|
43
|
-
Html.fromHtml(html)
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
holder.itemView.singleClick { v ->
|
|
47
|
-
listener.onItemClicked(v, locator)
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
inner class ViewHolder(val binding: ItemRecycleSearchBinding) :
|
|
52
|
-
RecyclerView.ViewHolder(binding.root) {
|
|
53
|
-
val textView = binding.text
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
interface Listener {
|
|
57
|
-
fun onItemClicked(v: View, locator: Locator)
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
private class ItemCallback : DiffUtil.ItemCallback<Locator>() {
|
|
61
|
-
|
|
62
|
-
override fun areItemsTheSame(oldItem: Locator, newItem: Locator): Boolean =
|
|
63
|
-
oldItem == newItem
|
|
64
|
-
|
|
65
|
-
override fun areContentsTheSame(oldItem: Locator, newItem: Locator): Boolean =
|
|
66
|
-
oldItem == newItem
|
|
67
|
-
}
|
|
68
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
package com.reactnativereadium.utils
|
|
2
|
-
|
|
3
|
-
import android.app.Activity
|
|
4
|
-
import android.content.Intent
|
|
5
|
-
import android.net.Uri
|
|
6
|
-
import android.os.Bundle
|
|
7
|
-
//import com.reactnativereadium.MainActivity
|
|
8
|
-
import timber.log.Timber
|
|
9
|
-
|
|
10
|
-
class R2DispatcherActivity : Activity() {
|
|
11
|
-
|
|
12
|
-
override fun onCreate(savedInstanceState: Bundle?) {
|
|
13
|
-
super.onCreate(savedInstanceState)
|
|
14
|
-
dispatchIntent(intent)
|
|
15
|
-
finish()
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
private fun dispatchIntent(intent: Intent) {
|
|
19
|
-
val uri = uriFromIntent(intent)
|
|
20
|
-
?: run {
|
|
21
|
-
Timber.d("Got an empty intent.")
|
|
22
|
-
return
|
|
23
|
-
}
|
|
24
|
-
// FIXME: MainActivity
|
|
25
|
-
// val newIntent = Intent(this, MainActivity::class.java).apply {
|
|
26
|
-
// addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
|
|
27
|
-
// data = uri
|
|
28
|
-
// }
|
|
29
|
-
// startActivity(newIntent)
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
private fun uriFromIntent(intent: Intent): Uri? =
|
|
33
|
-
when (intent.action) {
|
|
34
|
-
Intent.ACTION_SEND -> {
|
|
35
|
-
if ("text/plain" == intent.type) {
|
|
36
|
-
intent.getStringExtra(Intent.EXTRA_TEXT).let { Uri.parse(it) }
|
|
37
|
-
} else {
|
|
38
|
-
intent.getParcelableExtra(Intent.EXTRA_STREAM)
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
else -> {
|
|
42
|
-
intent.data
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
package com.reactnativereadium.utils
|
|
2
|
-
|
|
3
|
-
import android.content.Context
|
|
4
|
-
import android.graphics.Canvas
|
|
5
|
-
import android.graphics.Rect
|
|
6
|
-
import android.view.LayoutInflater
|
|
7
|
-
import android.view.View
|
|
8
|
-
import android.view.ViewGroup
|
|
9
|
-
import android.widget.TextView
|
|
10
|
-
import androidx.core.view.children
|
|
11
|
-
import androidx.recyclerview.widget.RecyclerView
|
|
12
|
-
import androidx.recyclerview.widget.RecyclerView.NO_POSITION
|
|
13
|
-
/* import com.reactnativereadium.databinding.SectionHeaderBinding */
|
|
14
|
-
|
|
15
|
-
class SectionDecoration(
|
|
16
|
-
private val context: Context,
|
|
17
|
-
private val listener: Listener
|
|
18
|
-
) : RecyclerView.ItemDecoration() {
|
|
19
|
-
|
|
20
|
-
interface Listener {
|
|
21
|
-
fun isStartOfSection(itemPos: Int): Boolean
|
|
22
|
-
fun sectionTitle(itemPos: Int): String
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
private lateinit var headerView: View
|
|
26
|
-
private lateinit var sectionTitleView: TextView
|
|
27
|
-
|
|
28
|
-
override fun getItemOffsets(
|
|
29
|
-
outRect: Rect,
|
|
30
|
-
view: View,
|
|
31
|
-
parent: RecyclerView,
|
|
32
|
-
state: RecyclerView.State
|
|
33
|
-
) {
|
|
34
|
-
super.getItemOffsets(outRect, view, parent, state)
|
|
35
|
-
val pos = parent.getChildAdapterPosition(view)
|
|
36
|
-
initHeaderViewIfNeeded(parent)
|
|
37
|
-
if (listener.sectionTitle(pos) != "" && listener.isStartOfSection(pos)) {
|
|
38
|
-
sectionTitleView.text = listener.sectionTitle(pos)
|
|
39
|
-
fixLayoutSize(headerView, parent)
|
|
40
|
-
outRect.top = headerView.height
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
override fun onDrawOver(c: Canvas, parent: RecyclerView, state: RecyclerView.State) {
|
|
45
|
-
super.onDrawOver(c, parent, state)
|
|
46
|
-
initHeaderViewIfNeeded(parent)
|
|
47
|
-
|
|
48
|
-
val children = parent.children.toList()
|
|
49
|
-
children.forEach { child ->
|
|
50
|
-
val pos = parent.getChildAdapterPosition(child)
|
|
51
|
-
if (pos != NO_POSITION && listener.sectionTitle(pos) != "" &&
|
|
52
|
-
(listener.isStartOfSection(pos) || isTopChild(child, children))) {
|
|
53
|
-
sectionTitleView.text = listener.sectionTitle(pos)
|
|
54
|
-
fixLayoutSize(headerView, parent)
|
|
55
|
-
drawHeader(c, child, headerView)
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
private fun initHeaderViewIfNeeded(parent: RecyclerView) {
|
|
61
|
-
if (::headerView.isInitialized) return
|
|
62
|
-
/* FIXME: databinding.SectionHeaderBinding */
|
|
63
|
-
/* SectionHeaderBinding.inflate(
|
|
64
|
-
LayoutInflater.from(context),
|
|
65
|
-
parent,
|
|
66
|
-
false
|
|
67
|
-
).apply {
|
|
68
|
-
headerView = root
|
|
69
|
-
sectionTitleView = header
|
|
70
|
-
} */
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
private fun fixLayoutSize(v: View, parent: ViewGroup) {
|
|
74
|
-
val widthSpec = View.MeasureSpec.makeMeasureSpec(parent.width, View.MeasureSpec.EXACTLY)
|
|
75
|
-
val heightSpec = View.MeasureSpec.makeMeasureSpec(parent.height, View.MeasureSpec.UNSPECIFIED)
|
|
76
|
-
val childWidth = ViewGroup.getChildMeasureSpec(widthSpec, parent.paddingStart + parent.paddingEnd, v.layoutParams.width)
|
|
77
|
-
val childHeight = ViewGroup.getChildMeasureSpec(heightSpec, parent.paddingTop + parent.paddingBottom, v.layoutParams.height)
|
|
78
|
-
v.measure(childWidth, childHeight)
|
|
79
|
-
v.layout(0, 0, v.measuredWidth, v.measuredHeight)
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
private fun drawHeader(c: Canvas, child: View, headerView: View) {
|
|
83
|
-
c.run {
|
|
84
|
-
save()
|
|
85
|
-
translate(0F, maxOf(0, child.top - headerView.height).toFloat())
|
|
86
|
-
headerView.draw(this)
|
|
87
|
-
restore()
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
private fun isTopChild(child: View, children: List<View>): Boolean {
|
|
92
|
-
var tmp = child.top
|
|
93
|
-
children.forEach { c ->
|
|
94
|
-
tmp = minOf(c.top, tmp)
|
|
95
|
-
}
|
|
96
|
-
return child.top == tmp
|
|
97
|
-
}
|
|
98
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
package com.reactnativereadium.utils
|
|
2
|
-
|
|
3
|
-
import android.view.View
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Prevents from double clicks on a view, which could otherwise lead to unpredictable states. Useful
|
|
8
|
-
* while transitioning to another activity for instance.
|
|
9
|
-
*/
|
|
10
|
-
class SingleClickListener(private val click: (v: View) -> Unit) : View.OnClickListener {
|
|
11
|
-
|
|
12
|
-
companion object {
|
|
13
|
-
private const val DOUBLE_CLICK_TIMEOUT = 2500
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
private var lastClick: Long = 0
|
|
17
|
-
|
|
18
|
-
override fun onClick(v: View) {
|
|
19
|
-
if (getLastClickTimeout() > DOUBLE_CLICK_TIMEOUT) {
|
|
20
|
-
lastClick = System.currentTimeMillis()
|
|
21
|
-
click(v)
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
private fun getLastClickTimeout(): Long {
|
|
26
|
-
return System.currentTimeMillis() - lastClick
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
fun View.singleClick(l: (View) -> Unit) {
|
|
31
|
-
setOnClickListener(SingleClickListener(l))
|
|
32
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
package com.reactnativereadium.utils.extensions
|
|
2
|
-
|
|
3
|
-
import android.graphics.Bitmap
|
|
4
|
-
import android.util.Base64
|
|
5
|
-
import timber.log.Timber
|
|
6
|
-
import java.io.ByteArrayOutputStream
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Converts the receiver bitmap into a data URL ready to be used in HTML or CSS.
|
|
10
|
-
*
|
|
11
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs
|
|
12
|
-
*/
|
|
13
|
-
fun Bitmap.toDataUrl(): String? =
|
|
14
|
-
try {
|
|
15
|
-
val stream = ByteArrayOutputStream()
|
|
16
|
-
compress(Bitmap.CompressFormat.PNG, 100, stream)
|
|
17
|
-
.also { success -> if (!success) throw Exception("Can't compress image to PNG") }
|
|
18
|
-
val b64 = Base64.encodeToString(stream.toByteArray(), Base64.DEFAULT)
|
|
19
|
-
"data:image/png;base64,$b64"
|
|
20
|
-
} catch (e: Exception) {
|
|
21
|
-
Timber.e(e)
|
|
22
|
-
null
|
|
23
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
package com.reactnativereadium.utils.extensions
|
|
2
|
-
|
|
3
|
-
import android.content.Context
|
|
4
|
-
import androidx.annotation.ColorInt
|
|
5
|
-
import androidx.annotation.ColorRes
|
|
6
|
-
import androidx.core.content.ContextCompat
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Extensions
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
@ColorInt
|
|
14
|
-
fun Context.color(@ColorRes id: Int): Int {
|
|
15
|
-
return ContextCompat.getColor(this, id)
|
|
16
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
package com.reactnativereadium.utils.extensions
|
|
2
|
-
|
|
3
|
-
import kotlinx.coroutines.Dispatchers
|
|
4
|
-
import kotlinx.coroutines.withContext
|
|
5
|
-
import java.io.File
|
|
6
|
-
import java.io.FileFilter
|
|
7
|
-
import java.io.IOException
|
|
8
|
-
|
|
9
|
-
suspend fun File.moveTo(target: File) = withContext(Dispatchers.IO) {
|
|
10
|
-
if (!this@moveTo.renameTo(target))
|
|
11
|
-
throw IOException()
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* As there are cases where [File.listFiles] returns null even though it is a directory, we return
|
|
17
|
-
* an empty list instead.
|
|
18
|
-
*/
|
|
19
|
-
fun File.listFilesSafely(filter: FileFilter? = null): List<File> {
|
|
20
|
-
val array: Array<File>? = if (filter == null) listFiles() else listFiles(filter)
|
|
21
|
-
return array?.toList() ?: emptyList()
|
|
22
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
package com.reactnativereadium.utils.extensions
|
|
2
|
-
|
|
3
|
-
import kotlinx.coroutines.Dispatchers
|
|
4
|
-
import kotlinx.coroutines.withContext
|
|
5
|
-
import org.readium.r2.shared.extensions.extension
|
|
6
|
-
import org.readium.r2.shared.extensions.tryOr
|
|
7
|
-
import org.readium.r2.shared.extensions.tryOrNull
|
|
8
|
-
import java.io.File
|
|
9
|
-
import java.io.FileOutputStream
|
|
10
|
-
import java.net.URL
|
|
11
|
-
import java.util.*
|
|
12
|
-
|
|
13
|
-
suspend fun URL.download(path: String): File? = tryOr(null) {
|
|
14
|
-
val file = File(path)
|
|
15
|
-
withContext(Dispatchers.IO) {
|
|
16
|
-
openStream().use { input ->
|
|
17
|
-
FileOutputStream(file).use { output ->
|
|
18
|
-
input.copyTo(output)
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
file
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
suspend fun URL.copyToTempFile(dir: String): File? = tryOrNull {
|
|
26
|
-
val filename = UUID.randomUUID().toString()
|
|
27
|
-
val path = "$dir$filename.$extension"
|
|
28
|
-
download(path)
|
|
29
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
package com.reactnativereadium.utils.extensions
|
|
2
|
-
|
|
3
|
-
import android.content.Context
|
|
4
|
-
import android.net.Uri
|
|
5
|
-
import org.readium.r2.shared.extensions.tryOrNull
|
|
6
|
-
import org.readium.r2.shared.util.mediatype.MediaType
|
|
7
|
-
import com.reactnativereadium.utils.ContentResolverUtil
|
|
8
|
-
import java.io.File
|
|
9
|
-
import java.util.*
|
|
10
|
-
|
|
11
|
-
suspend fun Uri.copyToTempFile(context: Context, dir: String): File? = tryOrNull {
|
|
12
|
-
val filename = UUID.randomUUID().toString()
|
|
13
|
-
val mediaType = MediaType.ofUri(this, context.contentResolver)
|
|
14
|
-
val path = "$dir$filename.${mediaType?.fileExtension ?: "tmp"}"
|
|
15
|
-
ContentResolverUtil.getContentInputStream(context, this, path)
|
|
16
|
-
return@tryOrNull File(path)
|
|
17
|
-
}
|