react-native-simple-epub-reader 0.1.0 → 0.1.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 CHANGED
@@ -1,26 +1,173 @@
1
1
  # react-native-simple-epub-reader
2
2
 
3
- Simple ePub renderer for React Native
3
+ A lightweight React Native ePub reader powered by `react-native-webview`, with support for:
4
4
 
5
- ## Installation
5
+ - remote `.epub` files,
6
+ - swipe navigation,
7
+ - pinch-to-zoom font scaling,
8
+ - reading progress and location callbacks,
9
+ - imperative controls through `ReaderContext`.
10
+
11
+ ## Features
12
+
13
+ - Fast setup with a single `Reader` component.
14
+ - Built-in gestures: tap, swipe left/right, pinch.
15
+ - Progress events (`onLocationChange`, `onLocationsReady`, `onBeginning`, `onFinish`).
16
+ - Programmatic controls: `goNext`, `goPrevious`, `goToLocation`, `changeTheme`, `changeFontSize`.
17
+ - Works with TypeScript out of the box.
6
18
 
19
+ ## Installation
7
20
 
8
- ```sh
21
+ ```bash
9
22
  npm install react-native-simple-epub-reader
10
23
  ```
11
24
 
25
+ Install peer dependencies:
26
+
27
+ ```bash
28
+ npm install react-native-webview react-native-gesture-handler expo-file-system @expo/vector-icons
29
+ ```
30
+
31
+ If your app uses Expo, make sure native modules are installed and configured:
32
+
33
+ ```bash
34
+ npx expo install react-native-webview react-native-gesture-handler expo-file-system @expo/vector-icons
35
+ ```
36
+
37
+ ## Quick Start
38
+
39
+ Wrap your app with `ReaderProvider`:
40
+
41
+ ```tsx
42
+ import { ReaderProvider } from 'react-native-simple-epub-reader';
43
+ import Viewer from './Viewer';
44
+
45
+ export default function App() {
46
+ return (
47
+ <ReaderProvider>
48
+ <Viewer />
49
+ </ReaderProvider>
50
+ );
51
+ }
52
+ ```
53
+
54
+ Render a book:
55
+
56
+ ```tsx
57
+ import { Reader } from 'react-native-simple-epub-reader';
58
+
59
+ export function Viewer() {
60
+ return <Reader src="https://example.com/my-book.epub" />;
61
+ }
62
+ ```
63
+
64
+ ## Reader API
65
+
66
+ ### Props
67
+
68
+ | Prop | Type | Required | Description |
69
+ | ------------------ | ------------------------------ | -------- | -------------------------------------------------------- |
70
+ | `src` | `string` | Yes | Remote URL to an `.epub` file. |
71
+ | `initialLocation` | `string` | No | Initial CFI location (`epubcfi(...)`). |
72
+ | `onTap` | `() => void` | No | Called on tap gesture. |
73
+ | `onSwipeLeft` | `() => void` | No | Called before built-in `goNext()`. |
74
+ | `onSwipeRight` | `() => void` | No | Called before built-in `goPrevious()`. |
75
+ | `onPinch` | `(e) => void` | No | Called on pinch gesture. |
76
+ | `onLocationChange` | `(data) => void` | No | Reading position/progress update. |
77
+ | `onLocationsReady` | `(epubKey, locations) => void` | No | Called when locations are generated. |
78
+ | `onBeginning` | `() => void` | No | Called when user reaches beginning of the book. |
79
+ | `onFinish` | `() => void` | No | Called when user reaches end of the book. |
80
+ | `onWebViewMessage` | `(event) => void` | No | Receives custom WebView messages not handled internally. |
81
+ | `LoaderComponent` | `React.ComponentType` | No | Custom loading component. |
82
+
83
+ ### `onLocationChange` payload
84
+
85
+ ```ts
86
+ type LocationChangeData = {
87
+ totalLocations: number;
88
+ currentLocation: Location;
89
+ progress: number;
90
+ currentSection: Section | null;
91
+ };
92
+ ```
93
+
94
+ ## ReaderContext API
12
95
 
13
- ## Usage
96
+ Use `ReaderContext` to control reader state from your own UI:
14
97
 
98
+ ```tsx
99
+ import { useContext } from 'react';
100
+ import { ReaderContext } from 'react-native-simple-epub-reader';
15
101
 
16
- ```js
17
- import { multiply } from 'react-native-simple-epub-reader';
102
+ export function Controls() {
103
+ const { goNext, goPrevious, progress, changeFontSize } =
104
+ useContext(ReaderContext);
18
105
 
19
- // ...
106
+ return <>{/* your custom controls */}</>;
107
+ }
108
+ ```
109
+
110
+ Available methods and state include:
111
+
112
+ - `goNext()`
113
+ - `goPrevious()`
114
+ - `goToLocation(cfi)`
115
+ - `changeTheme(theme)`
116
+ - `changeFontSize(fontSize)` (example: `"12pt"`)
117
+ - `injectJavascript(script)`
118
+ - `progress`, `currentLocation`, `locations`, `meta`, `atStart`, `atEnd`, `fontSize`
20
119
 
21
- const result = multiply(3, 7);
120
+ ## Theming
121
+
122
+ Theme shape:
123
+
124
+ ```ts
125
+ type Theme = {
126
+ [selector: string]: {
127
+ [cssProperty: string]: string;
128
+ };
129
+ };
22
130
  ```
23
131
 
132
+ Example:
133
+
134
+ ```ts
135
+ const darkTheme = {
136
+ body: { background: '#111' },
137
+ p: { color: '#f5f5f5' },
138
+ h1: { color: '#ffffff' },
139
+ a: { color: '#7cc7ff' },
140
+ };
141
+ ```
142
+
143
+ Then call `changeTheme(darkTheme)` through `ReaderContext`.
144
+
145
+ ## Notes and Limitations
146
+
147
+ - `src` should point to an accessible remote `.epub` URL.
148
+ - The reader internally caches files in `expo-file-system` document storage.
149
+ - Internal WebView event names are consumed by the library; `onWebViewMessage` receives non-internal/custom events only.
150
+
151
+ ## Troubleshooting
152
+
153
+ ### Book does not render
154
+
155
+ - Verify that `src` is a valid `.epub` URL.
156
+ - Ensure network access and CORS/server rules allow download.
157
+ - Confirm `react-native-webview` and `expo-file-system` are installed.
158
+
159
+ ### Gestures do not work
160
+
161
+ - Confirm `react-native-gesture-handler` is installed and configured in your app entrypoint.
162
+
163
+ ### Loading never ends
164
+
165
+ - Check Metro/device logs for WebView or file system errors.
166
+ - Verify the downloaded file is not blocked or corrupted.
167
+
168
+ ## Example App
169
+
170
+ This repository includes a working app in [example](example) showing minimal integration.
24
171
 
25
172
  ## Contributing
26
173
 
@@ -31,7 +178,3 @@ const result = multiply(3, 7);
31
178
  ## License
32
179
 
33
180
  MIT
34
-
35
- ---
36
-
37
- Made with [create-react-native-library](https://github.com/callstack/react-native-builder-bob)
@@ -12,6 +12,7 @@ import WebView from 'react-native-webview';
12
12
  import GestureHandler from "./GestureHandler/index.js";
13
13
  import { defaultTheme as initialTheme } from "../constants/theme.js";
14
14
  import { ReaderContext } from "../context/ReaderContext.js";
15
+ import INTERNAL_EVENTS from "../constants/internalEvents.js";
15
16
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
16
17
  const Reader = ({
17
18
  src,
@@ -24,7 +25,8 @@ const Reader = ({
24
25
  onFinish = () => {},
25
26
  onBeginning = () => {},
26
27
  onPinch = () => {},
27
- LoaderComponent
28
+ LoaderComponent,
29
+ onWebViewMessage
28
30
  }) => {
29
31
  const [templateUri, setTemplateUri] = useState('');
30
32
  const {
@@ -50,6 +52,10 @@ const Reader = ({
50
52
  const bookRef = useRef(null);
51
53
  const onMessage = event => {
52
54
  const parsedEvent = JSON.parse(event.nativeEvent.data);
55
+ console.log(parsedEvent.type);
56
+ if (!INTERNAL_EVENTS.includes(parsedEvent?.type) && onWebViewMessage) {
57
+ return onWebViewMessage(parsedEvent);
58
+ }
53
59
  switch (parsedEvent.type) {
54
60
  case 'onLocationChange':
55
61
  const {
@@ -1 +1 @@
1
- {"version":3,"names":["View","Text","ActivityIndicator","StyleSheet","SourceType","useCallback","useContext","useEffect","useMemo","useRef","useState","loadScripts","saveTemplateToFile","downloadEpub","Paths","useInjectWebViewVariables","WebView","GestureHandler","defaultTheme","initialTheme","ReaderContext","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Reader","src","onTap","onSwipeLeft","onSwipeRight","initialLocation","onLocationsReady","onLocationChange","onFinish","onBeginning","onPinch","LoaderComponent","templateUri","setTemplateUri","registerBook","goNext","goPrevious","setMeta","setLocations","setTotalLocations","setCurrentLocation","setProgress","goToLocation","setAtEnd","setAtStart","fontSize","changeFontSize","setIsLoading","isLoading","injectWebViewVariables","bookRef","onMessage","event","parsedEvent","JSON","parse","nativeEvent","data","type","totalLocations","currentLocation","progress","currentSection","atStart","atEnd","metadata","props","locations","epubKey","console","warn","handleOnTap","handleOnSwipeLeft","handleOnSwipeRight","handleOnPinch","e","fontSizeValue","parseInt","replace","scaleValue","scale","newFontSize","clampedFontSize","Math","min","max","htmlTemplateName","split","pop","epubFileName","handleBookRef","instance","current","isMounted","prepareReader","jszip","epubjs","Error","localEpubUri","generatedTemplate","EPUB","allowScriptedContent","book","theme","uri","error","style","styles","loaderContainer","children","size","pointerEvents","ref","source","showsVerticalScrollIndicator","javaScriptEnabled","originWhitelist","scrollEnabled","mixedContentMode","allowingReadAccessToURL","document","allowUniversalAccessFromFileURLs","allowFileAccessFromFileURLs","allowFileAccess","javaScriptCanOpenWindowsAutomatically","container","create","flex","justifyContent","alignItems"],"sourceRoot":"../../../src","sources":["components/Reader.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["View","Text","ActivityIndicator","StyleSheet","SourceType","useCallback","useContext","useEffect","useMemo","useRef","useState","loadScripts","saveTemplateToFile","downloadEpub","Paths","useInjectWebViewVariables","WebView","GestureHandler","defaultTheme","initialTheme","ReaderContext","INTERNAL_EVENTS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Reader","src","onTap","onSwipeLeft","onSwipeRight","initialLocation","onLocationsReady","onLocationChange","onFinish","onBeginning","onPinch","LoaderComponent","onWebViewMessage","templateUri","setTemplateUri","registerBook","goNext","goPrevious","setMeta","setLocations","setTotalLocations","setCurrentLocation","setProgress","goToLocation","setAtEnd","setAtStart","fontSize","changeFontSize","setIsLoading","isLoading","injectWebViewVariables","bookRef","onMessage","event","parsedEvent","JSON","parse","nativeEvent","data","console","log","type","includes","totalLocations","currentLocation","progress","currentSection","atStart","atEnd","metadata","props","locations","epubKey","warn","handleOnTap","handleOnSwipeLeft","handleOnSwipeRight","handleOnPinch","e","fontSizeValue","parseInt","replace","scaleValue","scale","newFontSize","clampedFontSize","Math","min","max","htmlTemplateName","split","pop","epubFileName","handleBookRef","instance","current","isMounted","prepareReader","jszip","epubjs","Error","localEpubUri","generatedTemplate","EPUB","allowScriptedContent","book","theme","uri","error","style","styles","loaderContainer","children","size","pointerEvents","ref","source","showsVerticalScrollIndicator","javaScriptEnabled","originWhitelist","scrollEnabled","mixedContentMode","allowingReadAccessToURL","document","allowUniversalAccessFromFileURLs","allowFileAccessFromFileURLs","allowFileAccess","javaScriptCanOpenWindowsAutomatically","container","create","flex","justifyContent","alignItems"],"sourceRoot":"../../../src","sources":["components/Reader.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ const INTERNAL_EVENTS = ['meta', 'onStarted', 'onReady', 'onDisplayError', 'onResized', 'onLocationChange', 'onSearch', 'onLocationsReady', 'onSelected', 'onOrientationChange', 'onBeginning', 'onFinish', 'onRendered', 'onLayout', 'onNavigationLoaded', 'onAddAnnotation', 'onChangeAnnotations', 'onSetInitialAnnotations', 'onPressAnnotation', 'onAddBookmark', 'onRemoveBookmark', 'onRemoveBookmarks', 'onUpdateBookmark'];
4
+ export default INTERNAL_EVENTS;
5
+ //# sourceMappingURL=internalEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["INTERNAL_EVENTS"],"sourceRoot":"../../../src","sources":["constants/internalEvents.ts"],"mappings":";;AAAA,MAAMA,eAAe,GAAG,CACtB,MAAM,EACN,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,CACnB;AAED,eAAeA,eAAe","ignoreList":[]}