@dr33m/react-native-readium 5.0.0-rc.19 → 5.0.0-rc.20

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/CHANGELOG.md ADDED
@@ -0,0 +1,497 @@
1
+ # [5.0.0-rc.17](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.16...v5.0.0-rc.17) (2026-03-05)
2
+
3
+
4
+ ### Features
5
+
6
+ * **android:** upgrade nitrogen to fix android issues ([3354e7e](https://github.com/5-stones/react-native-readium/commit/3354e7eb49b0594113a62c914719b2fd14e393a6))
7
+
8
+
9
+
10
+ # [5.0.0-rc.16](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.15...v5.0.0-rc.16) (2026-02-26)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * **web:** sanitize initialLocation for back compat with old locators lacking position ([cbcf45f](https://github.com/5-stones/react-native-readium/commit/cbcf45f7a448540d80830cbc458652d8b02c7cbb))
16
+
17
+
18
+
19
+ # [5.0.0-rc.15](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.14...v5.0.0-rc.15) (2026-02-25)
20
+
21
+
22
+ ### Bug Fixes
23
+
24
+ * **web:** fix an issue with the web build due to newer [@readium](https://github.com/readium) versions ([c1e9026](https://github.com/5-stones/react-native-readium/commit/c1e90269f2e9762aa30275e3b6569db508b5fea9))
25
+ * **web:** fix various issues with readium web by upgrading the readium packages ([52dc0c4](https://github.com/5-stones/react-native-readium/commit/52dc0c443db251819f18675b8e982dad45c29396))
26
+
27
+
28
+
29
+ # [5.0.0-rc.14](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.13...v5.0.0-rc.14) (2026-02-25)
30
+
31
+
32
+ ### Bug Fixes
33
+
34
+ * **android, ios:** unify sepia theme colors across platforms ([1e92b3a](https://github.com/5-stones/react-native-readium/commit/1e92b3a1a957f558da55ded6839efc62ff6ca076))
35
+
36
+
37
+
38
+ # [5.0.0-rc.13](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.12...v5.0.0-rc.13) (2026-02-25)
39
+
40
+
41
+ ### Bug Fixes
42
+
43
+ * **web:** fix an issue with improper navigator teardown on web ([76fe730](https://github.com/5-stones/react-native-readium/commit/76fe7308b563f9b3ecc93615613015261f3eabcd))
44
+
45
+
46
+
47
+ # [5.0.0-rc.12](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.11...v5.0.0-rc.12) (2026-02-25)
48
+
49
+
50
+ ### Features
51
+
52
+ * **android, ios, web:** replace location prop with imperative goTo() ref method ([0ce0635](https://github.com/5-stones/react-native-readium/commit/0ce06355060c69736afb8d81cfb7dfe2a18be9b5))
53
+
54
+
55
+ ### BREAKING CHANGES
56
+
57
+ * **android, ios, web:** Navigation is now imperative only via ref.current.goTo(locator), matching the
58
+ existing goForward()/goBackward() pattern. The useLocationObserver hook (web) is removed. Initial
59
+ position on mount is still handled via File.initialLocation.
60
+
61
+
62
+
63
+ # [5.0.0-rc.11](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.10...v5.0.0-rc.11) (2026-02-25)
64
+
65
+
66
+ ### Bug Fixes
67
+
68
+ * **web:** do not ignore location changes within hrefs and containing totalProgression (as bookmarks might) ([c5272f7](https://github.com/5-stones/react-native-readium/commit/c5272f7f87182a6900ee95e1ad967d5bf12c91bb))
69
+ * **web:** if the manifests links to positions, use those for the positionArray ([48b9503](https://github.com/5-stones/react-native-readium/commit/48b9503251c68ad47246a43796e0dbd1183e8a41))
70
+
71
+
72
+
73
+ # [5.0.0-rc.10](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.9...v5.0.0-rc.10) (2026-02-24)
74
+
75
+
76
+ ### Features
77
+
78
+ * **android, ios, web:** reimplement nested sub-navigation for ToC in nitro ([79c3329](https://github.com/5-stones/react-native-readium/commit/79c33297e28c47a024c3f2d07d2ba961781bff2d))
79
+
80
+
81
+ ### BREAKING CHANGES
82
+
83
+ * **android, ios, web:** Several fields dropped from Link (templated, type, height, width, bitrate,
84
+ duration, alternates). `rel`s changed from `Set<string>` to `string[]`
85
+
86
+
87
+
88
+ # [5.0.0-rc.9](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.8...v5.0.0-rc.9) (2026-02-19)
89
+
90
+
91
+ ### Bug Fixes
92
+
93
+ * **android:** fix an issue with 16kb page sizes on android ([630e3b7](https://github.com/5-stones/react-native-readium/commit/630e3b73441ac4fcb6226303672fd7a97acd2d17))
94
+
95
+
96
+
97
+ # [5.0.0-rc.8](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.7...v5.0.0-rc.8) (2026-02-17)
98
+
99
+
100
+ ### Bug Fixes
101
+
102
+ * **android:** fix runtime exception due to incorrect thread access ([f82c3f7](https://github.com/5-stones/react-native-readium/commit/f82c3f7afc3e6dbe52136e7a0a07b7730817d29b))
103
+
104
+
105
+
106
+ # [5.0.0-rc.7](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.6...v5.0.0-rc.7) (2026-02-17)
107
+
108
+
109
+ ### Bug Fixes
110
+
111
+ * **android, ios:** cleanup reader views when unmounted ([e5e72a6](https://github.com/5-stones/react-native-readium/commit/e5e72a65d9b4a84dc6b87cd9d7d2bedeb55e3736))
112
+
113
+
114
+
115
+ # [5.0.0-rc.6](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.5...v5.0.0-rc.6) (2026-02-12)
116
+
117
+
118
+ ### Bug Fixes
119
+
120
+ * **android:** fix an issue with android where switching between epubs wasn't working ([f3062a5](https://github.com/5-stones/react-native-readium/commit/f3062a5c3390c878772f460571e980fa4d8bb292))
121
+
122
+
123
+
124
+ # [5.0.0-rc.5](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.4...v5.0.0-rc.5) (2026-02-12)
125
+
126
+
127
+ ### Bug Fixes
128
+
129
+ * **android, ios:** fix an issue with fragment parsing and remove dead code ([5fe514d](https://github.com/5-stones/react-native-readium/commit/5fe514d6856f945781c06e6f65ffe33399be461e))
130
+
131
+
132
+
133
+ # [5.0.0-rc.4](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.3...v5.0.0-rc.4) (2026-02-12)
134
+
135
+
136
+ ### Bug Fixes
137
+
138
+ * **android, ios:** fix an selectionAction props causing rendering issues ([1d1ff03](https://github.com/5-stones/react-native-readium/commit/1d1ff039fe06150e14806244c4193a77c8df4acf))
139
+
140
+
141
+
142
+ # [5.0.0-rc.3](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.2...v5.0.0-rc.3) (2026-02-12)
143
+
144
+
145
+ ### Bug Fixes
146
+
147
+ * **ios:** fix an install issue due to missing scripts in the npm distribution ([04388a3](https://github.com/5-stones/react-native-readium/commit/04388a33352a6fe3fe8f8933644f89b04f98807b))
148
+
149
+
150
+
151
+ # [5.0.0-rc.2](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.1...v5.0.0-rc.2) (2026-02-12)
152
+
153
+
154
+ ### Features
155
+
156
+ * **ios, android:** fix some runtime errors, add install helper scripts, update docs ([7e8bbad](https://github.com/5-stones/react-native-readium/commit/7e8bbad39c20c3f46ffb419140df81dbfe18254a))
157
+
158
+
159
+ ### BREAKING CHANGES
160
+
161
+ * **ios, android:** update your Podfile and use the `readium_pods` and `readium_post_install` helpers
162
+
163
+
164
+
165
+ # [5.0.0-rc.1](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.0...v5.0.0-rc.1) (2026-02-11)
166
+
167
+
168
+ ### Features
169
+
170
+ * **android, ios:** add the ability to manage decorators ([8cdfa74](https://github.com/5-stones/react-native-readium/commit/8cdfa745a685937ebc256439ac2e9f13e1480ee6))
171
+ * **android, ios:** update implementation to use nitro ([53c5e4c](https://github.com/5-stones/react-native-readium/commit/53c5e4cb2d3ecc42ea41b936d04aa846d86cb68e))
172
+
173
+
174
+ ### BREAKING CHANGES
175
+
176
+ * **android, ios:** you'll need to add `react-native-nitro-modules` which is now a
177
+ react-native-nitro-modules of this library
178
+
179
+
180
+
181
+ # [5.0.0-rc.0](https://github.com/5-stones/react-native-readium/compare/v4.0.1...v5.0.0-rc.0) (2026-01-20)
182
+
183
+
184
+ ### Bug Fixes
185
+
186
+ * **web:** fix typescript errors in web ([f8c1137](https://github.com/5-stones/react-native-readium/commit/f8c1137af8a0cc7a76e94aca21ca2b8adbce49e6))
187
+ * **web:** update stylesheet urls to avoid redirect issue ([#98](https://github.com/5-stones/react-native-readium/issues/98)) ([005274d](https://github.com/5-stones/react-native-readium/commit/005274d59fd6260f4ac7579cfa1220cff72fb105))
188
+
189
+
190
+ ### Features
191
+
192
+ * **android, example, src:** upgrade library to be compatible with react-native 0.83.x ([13df342](https://github.com/5-stones/react-native-readium/commit/13df342d29e6a461743d052c43286950790c8b3a))
193
+ * **android, ios, web:** emit all book metadata via onPublicationReady callback ([d99a813](https://github.com/5-stones/react-native-readium/commit/d99a8134d03979c637e935be506ecb0e808589e8)), closes [#67](https://github.com/5-stones/react-native-readium/issues/67)
194
+ * **android, web:** add page numbers on android and web for parity with ios ([3931e6e](https://github.com/5-stones/react-native-readium/commit/3931e6ebf36b087ce2738384fb99a2b06934ef57)), closes [#25](https://github.com/5-stones/react-native-readium/issues/25)
195
+ * **android:** upgrade kotlin-toolkit to v3.1 ([#103](https://github.com/5-stones/react-native-readium/issues/103)) ([4dba322](https://github.com/5-stones/react-native-readium/commit/4dba32209bf23740242205baaf7f3f0841522cc1))
196
+ * **apps:** split the web and native examples into separate apps for clarity ([cd80ec1](https://github.com/5-stones/react-native-readium/commit/cd80ec1cbfcc7f35c2fdfc865a4d1567c1a44b1f))
197
+ * **ios:** upgrade ios implementation to use v3 of readiums swift-toolkit ([#96](https://github.com/5-stones/react-native-readium/issues/96)) ([db56fba](https://github.com/5-stones/react-native-readium/commit/db56fba6d801d42f288b69a5b4d3e507a08c463d))
198
+ * **web:** migrate from @d-i-t-a/reader to readium's ts-toolkit ([cac915d](https://github.com/5-stones/react-native-readium/commit/cac915deb74d243d25f4f6298f4eb52d9029ca57))
199
+
200
+
201
+ ### BREAKING CHANGES
202
+
203
+ * **android, ios, web:** onTableOfContents has been removed and replaced with onPublicationReady
204
+ * **web:** while the migration from @d-i-t-a/reader to ts-toolkit should be mostly
205
+ transparent, you should verify that everything in your app is working properly.
206
+ * **ios:** Old v2.6 pods are not compatible anymore with this version. You should update Podfile and use v3.5 pods
207
+ * **ios:** [Migration of HREFs and Locators (bookmarks, annotations, etc.)](https://github.com/readium/swift-toolkit/blob/develop/docs/Migration%20Guide.md#migration-of-hrefs-and-locators-bookmarks-annotations-etc)
208
+
209
+ Co-authored-by: tyukesz <nagy.szabolcs@sonrisa.hu>
210
+
211
+
212
+
213
+ ## [4.0.1](https://github.com/5-stones/react-native-readium/compare/v4.0.0...v4.0.1) (2025-09-12)
214
+
215
+
216
+ ### Bug Fixes
217
+
218
+ * **android:** ensure we don't reset preferences on updates ([#91](https://github.com/5-stones/react-native-readium/issues/91)) ([ce96f13](https://github.com/5-stones/react-native-readium/commit/ce96f1388987ceda90e7ef9251705d6787b51b3b))
219
+
220
+
221
+
222
+ # [4.0.0](https://github.com/5-stones/react-native-readium/compare/v3.0.2...v4.0.0) (2025-09-08)
223
+
224
+
225
+ ### Bug Fixes
226
+
227
+ * **android, ios:** Improve detection of Links when changing navigator location ([#82](https://github.com/5-stones/react-native-readium/issues/82)) ([9bc2e4a](https://github.com/5-stones/react-native-readium/commit/9bc2e4acc59af0c915fbddaad3375daa3f0b017d))
228
+ * **ios:** add guards to superview and viewControllers to avoid crash ([#90](https://github.com/5-stones/react-native-readium/issues/90)) ([a85a065](https://github.com/5-stones/react-native-readium/commit/a85a065dc8956c5a03f59f2be379e6ee7f1e02ae))
229
+
230
+
231
+ ### Features
232
+
233
+ * **ios, android, web:** Move from deprecated UserSettings API to the new Preferences API ([#80](https://github.com/5-stones/react-native-readium/issues/80)) ([784f7fe](https://github.com/5-stones/react-native-readium/commit/784f7fe072f12bfdc8ff8e8c2ea1109e007619a0)), closes [#79](https://github.com/5-stones/react-native-readium/issues/79)
234
+
235
+
236
+ ### BREAKING CHANGES
237
+
238
+ * **ios, android, web:** This update moves the library to the newer Preferences API for managing the reader font size, theme, etc.
239
+
240
+
241
+
242
+ ## [3.0.2](https://github.com/5-stones/react-native-readium/compare/v3.0.1...v3.0.2) (2025-05-20)
243
+
244
+
245
+
246
+ ## [3.0.1](https://github.com/5-stones/react-native-readium/compare/v3.0.0...v3.0.1) (2025-03-05)
247
+
248
+
249
+ ### Bug Fixes
250
+
251
+ * **android:** fix android build errors in newer versions of react-native ([487febb](https://github.com/5-stones/react-native-readium/commit/487febbb7ef7e16fc39db3594bbef10a61f28b07))
252
+
253
+
254
+
255
+ # [3.0.0](https://github.com/5-stones/react-native-readium/compare/v2.0.2...v3.0.0) (2025-02-11)
256
+
257
+
258
+ ### Bug Fixes
259
+
260
+ * **android:** remove tap toggles ui visibility ([81ca01a](https://github.com/5-stones/react-native-readium/commit/81ca01a4f38e2fb451023ce4aae31985f3613eb1))
261
+
262
+
263
+ ### BREAKING CHANGES
264
+
265
+ * **android:** Tapping will no longer toggle the system ui visibility.
266
+
267
+
268
+
269
+ ## [2.0.2](https://github.com/5-stones/react-native-readium/compare/v2.0.1...v2.0.2) (2024-10-08)
270
+
271
+
272
+ ### Bug Fixes
273
+
274
+ * **web:** Handle location not defined in reading order ([080b4a9](https://github.com/5-stones/react-native-readium/commit/080b4a911bea77ae174face2cf24b90ae0d58b32))
275
+
276
+
277
+
278
+ ## [2.0.1](https://github.com/5-stones/react-native-readium/compare/v2.0.0...v2.0.1) (2024-10-03)
279
+
280
+
281
+ ### Bug Fixes
282
+
283
+ * **web:** estimate the totalProgression if it is not provided ([3d849dc](https://github.com/5-stones/react-native-readium/commit/3d849dc01cb23298acdfbfecead84c084bd4b1b2))
284
+
285
+
286
+
287
+ # [2.0.0](https://github.com/5-stones/react-native-readium/compare/v2.0.0-rc.2...v2.0.0) (2024-09-10)
288
+
289
+
290
+ ### Bug Fixes
291
+
292
+ * **web:** update reader when file url changes ([21eda29](https://github.com/5-stones/react-native-readium/commit/21eda2950ba01469220549387bbfc9f74b2e9047))
293
+
294
+
295
+
296
+ # [2.0.0-rc.2](https://github.com/5-stones/react-native-readium/compare/v2.0.0-rc.1...v2.0.0-rc.2) (2024-07-29)
297
+
298
+
299
+ ### Bug Fixes
300
+
301
+ * **android:** don't set the brightness of the activity. instead rely on device/app settings ([8af916b](https://github.com/5-stones/react-native-readium/commit/8af916b86a3c42a9abc02a63aa239fa6e8c4e8a5))
302
+ * **readiumview:** fix an issue when no forwardRef is passed on Android ([bbc1967](https://github.com/5-stones/react-native-readium/commit/bbc1967d0278db6ba1af4948f5afd67d2a4d12b5))
303
+ * **ReadiumView:** fix react warning regarding forwardRefs ([45792e6](https://github.com/5-stones/react-native-readium/commit/45792e6f92e9526282c1fc2e6d5f8f57e199ecd7))
304
+
305
+
306
+
307
+ # [2.0.0-rc.0](https://github.com/5-stones/react-native-readium/compare/v1.2.1...v2.0.0-rc.0) (2024-07-26)
308
+
309
+
310
+ ### Features
311
+
312
+ * **android, example:** upgrade react-native support to 0.74.3 and android to kotlin-toolkit@2.4.1 ([1479382](https://github.com/5-stones/react-native-readium/commit/1479382214d1acd59d7f76690d933459c745c5c7))
313
+
314
+
315
+
316
+ ## [1.2.1](https://github.com/5-stones/react-native-readium/compare/v1.2.0...v1.2.1) (2023-05-10)
317
+
318
+
319
+ ### Bug Fixes
320
+
321
+ * **web:** restructure reader imports in order to fix SSR ([37a2e6a](https://github.com/5-stones/react-native-readium/commit/37a2e6ae8380b902f8e2b38b46e027b1965bfde6))
322
+
323
+
324
+
325
+ # [1.2.0](https://github.com/5-stones/react-native-readium/compare/v1.1.0...v1.2.0) (2022-12-14)
326
+
327
+
328
+ ### Features
329
+
330
+ * **web:** remove next and previous buttons in favor of a ref api ([0e03366](https://github.com/5-stones/react-native-readium/commit/0e033667eef2abf06dfb949ef831b68f9dc51d2c))
331
+
332
+
333
+
334
+ # [1.1.0](https://github.com/5-stones/react-native-readium/compare/v1.0.4...v1.1.0) (2022-12-10)
335
+
336
+
337
+ ### Features
338
+
339
+ * **web:** add basic web implementation and example ([d55a457](https://github.com/5-stones/react-native-readium/commit/d55a457b71213de4536294709788b50b74076622))
340
+
341
+
342
+
343
+ ## [1.0.4](https://github.com/5-stones/react-native-readium/compare/v1.0.3...v1.0.4) (2022-12-06)
344
+
345
+
346
+ ### Bug Fixes
347
+
348
+ * **android:** fix an issue resulting in initial android settings not being applied correctly ([9f48874](https://github.com/5-stones/react-native-readium/commit/9f488746759f51effdbf62b3da1ffe036369bffd))
349
+
350
+
351
+
352
+ ## [1.0.3](https://github.com/5-stones/react-native-readium/compare/v1.0.2...v1.0.3) (2022-12-05)
353
+
354
+
355
+ ### Bug Fixes
356
+
357
+ * **android, ios:** allow location and initialLocation to be either Link or Locator objects ([ebc1030](https://github.com/5-stones/react-native-readium/commit/ebc103075d305bcdf8db263d7455d5b07536288b))
358
+
359
+
360
+
361
+ ## [1.0.2](https://github.com/5-stones/react-native-readium/compare/v1.0.1...v1.0.2) (2022-12-01)
362
+
363
+
364
+ ### Bug Fixes
365
+
366
+ * **android:** fix android release builds by adding networking security config ([f9b0ff8](https://github.com/5-stones/react-native-readium/commit/f9b0ff80676f9e673352546857faab2163e8a1bb))
367
+
368
+
369
+
370
+ ## [1.0.1](https://github.com/5-stones/react-native-readium/compare/v1.0.0...v1.0.1) (2022-12-01)
371
+
372
+
373
+ ### Bug Fixes
374
+
375
+ * **android:** update readium dependencies to deal with removed nanohttpd dependency ([764f6eb](https://github.com/5-stones/react-native-readium/commit/764f6ebc1de0ddd509b7ca89dd736eace4348d3d))
376
+
377
+
378
+
379
+ # [1.0.0](https://github.com/5-stones/react-native-readium/compare/v1.0.0-alpha.10...v1.0.0) (2022-08-22)
380
+
381
+
382
+
383
+ # [1.0.0-alpha.10](https://github.com/5-stones/react-native-readium/compare/v1.0.0-alpha.9...v1.0.0-alpha.10) (2022-04-05)
384
+
385
+
386
+ ### Bug Fixes
387
+
388
+ * **android, ios:** fix an issue with background color not staying in sync with appearance setting ([fca2f8e](https://github.com/5-stones/react-native-readium/commit/fca2f8e20e3ed0b5558caf1b3f2abd5f4f8bb3d5))
389
+
390
+
391
+
392
+ # [1.0.0-alpha.9](https://github.com/5-stones/react-native-readium/compare/v1.0.0-alpha.8...v1.0.0-alpha.9) (2022-04-01)
393
+
394
+
395
+ ### Bug Fixes
396
+
397
+ * **locator:** update the Locator interface to represent the minimum data required ([61c8be1](https://github.com/5-stones/react-native-readium/commit/61c8be1073e92a9c408ecde995e764502f2a5538))
398
+
399
+
400
+ ### Features
401
+
402
+ * **android, ios, example:** add the ability to register to receive the table of contents ([94ef6ae](https://github.com/5-stones/react-native-readium/commit/94ef6ae790efe53cce8b3b945bfc4f0bd712e178))
403
+
404
+
405
+
406
+ # [1.0.0-alpha.8](https://github.com/5-stones/react-native-readium/compare/v1.0.0-alpha.7...v1.0.0-alpha.8) (2022-03-31)
407
+
408
+
409
+ ### Bug Fixes
410
+
411
+ * **android:** fix an issue with android crashing due to a "no view found for id" exception ([5440662](https://github.com/5-stones/react-native-readium/commit/54406625dfbca5c1dcfa23030df8325d53d2ddbb))
412
+
413
+
414
+
415
+ # [1.0.0-alpha.7](https://github.com/5-stones/react-native-readium/compare/v1.0.0-alpha.6...v1.0.0-alpha.7) (2022-03-31)
416
+
417
+
418
+ ### Bug Fixes
419
+
420
+ * **android:** fix a race-condition with the settings prop causing crashes ([11ebde3](https://github.com/5-stones/react-native-readium/commit/11ebde35184622ff045a41e8f971b46a389c0dc0))
421
+
422
+
423
+
424
+ # [1.0.0-alpha.6](https://github.com/5-stones/react-native-readium/compare/v1.0.0-alpha.5...v1.0.0-alpha.6) (2022-03-29)
425
+
426
+
427
+ ### Features
428
+
429
+ * **android:** strip the 'file://' prefix from the path if it's passed ([1171f1e](https://github.com/5-stones/react-native-readium/commit/1171f1e2ec553f51c7be1aa1b3973433f3bd6939))
430
+
431
+
432
+
433
+ # [1.0.0-alpha.5](https://github.com/5-stones/react-native-readium/compare/v1.0.0-alpha.4...v1.0.0-alpha.5) (2022-03-28)
434
+
435
+
436
+ ### Bug Fixes
437
+
438
+ * **android:** remove unused exoplayer deps to prevent conflicts with other projects ([96086b4](https://github.com/5-stones/react-native-readium/commit/96086b4cf0305b9799b6c632c4c6e57422375479))
439
+
440
+
441
+
442
+ # [1.0.0-alpha.4](https://github.com/5-stones/react-native-readium/compare/v1.0.0-alpha.3...v1.0.0-alpha.4) (2022-03-24)
443
+
444
+
445
+ ### Bug Fixes
446
+
447
+ * **ios:** fix an issue causing crash when used in conjunction with react-native-screens ([d250bf8](https://github.com/5-stones/react-native-readium/commit/d250bf8294e133a7fd29d3eb92e68f9682f46f63))
448
+
449
+
450
+
451
+ # [1.0.0-alpha.3](https://github.com/5-stones/react-native-readium/compare/v1.0.0-alpha.2...v1.0.0-alpha.3) (2022-03-24)
452
+
453
+
454
+ ### Bug Fixes
455
+
456
+ * **ios:** add ios.deployment_target of 13.0 ([ca1b199](https://github.com/5-stones/react-native-readium/commit/ca1b199bae3dea3347aed26135f1e1de61c61fff))
457
+
458
+
459
+
460
+ # [1.0.0-alpha.2](https://github.com/5-stones/react-native-readium/compare/v1.0.0-alpha.1...v1.0.0-alpha.2) (2022-03-24)
461
+
462
+
463
+ ### Bug Fixes
464
+
465
+ * **podspec:** specify swift version in podspec ([cc7d7cd](https://github.com/5-stones/react-native-readium/commit/cc7d7cd8ae7fc65623b06825f0431b7b79612ec1))
466
+
467
+
468
+ ### Features
469
+
470
+ * **ios, android:** remove unused dependencies and code ([1d35cdd](https://github.com/5-stones/react-native-readium/commit/1d35cdd6ba9bfda33f72381bb880cb4a401e4154))
471
+
472
+
473
+
474
+ # [1.0.0-alpha.1](https://github.com/5-stones/react-native-readium/compare/v1.0.0-alpha.0...v1.0.0-alpha.1) (2022-03-23)
475
+
476
+
477
+ ### Bug Fixes
478
+
479
+ * **ios:** fix view sizing on iOS ([5e6e451](https://github.com/5-stones/react-native-readium/commit/5e6e451e6c4c75dcf35a11a1b348f8911660247f))
480
+
481
+
482
+ ### Features
483
+
484
+ * **android:** implement a basic ebook reader view for android ([63e3d70](https://github.com/5-stones/react-native-readium/commit/63e3d70016675bbf3b2d2dea1acb47c32824dc7c))
485
+ * **example:** react-native upgrade ([74997a2](https://github.com/5-stones/react-native-readium/commit/74997a20d0821dbd80493d5051a45e1ba9cec9b1))
486
+
487
+
488
+
489
+ # [1.0.0-alpha.0](https://github.com/5-stones/react-native-readium/compare/47d18e28b8ee9a7e6cb83eb93837fbe6169d9180...v1.0.0-alpha.0) (2022-03-11)
490
+
491
+
492
+ ### Features
493
+
494
+ * **src, ios:** Basic functional implementation of epub reader for iOS ([47d18e2](https://github.com/5-stones/react-native-readium/commit/47d18e28b8ee9a7e6cb83eb93837fbe6169d9180))
495
+
496
+
497
+
@@ -237,6 +237,7 @@ abstract class BaseReaderFragment : Fragment() {
237
237
  }
238
238
  },
239
239
  onUtterance = { locator, text ->
240
+ applyTTSDecoration(locator) // Apply decoration natively — no JS round-trip
240
241
  viewScope.launch {
241
242
  channel.send(ReaderViewModel.Event.TTSUtterance(locator, text, null, null))
242
243
  }
@@ -262,14 +263,47 @@ abstract class BaseReaderFragment : Fragment() {
262
263
  }
263
264
  }
264
265
 
265
- fun ttsStop() { ttsManager?.stop() }
266
+ fun ttsStop() {
267
+ ttsManager?.stop()
268
+ clearTTSDecoration()
269
+ }
266
270
  fun ttsPause() { ttsManager?.pause() }
267
271
  fun ttsResume() { ttsManager?.resume() }
268
272
  fun ttsSetRate(rate: Float) { ttsManager?.setRate(rate) }
269
273
  fun ttsSkipNext() { ttsManager?.skipNext() }
270
274
  fun ttsSkipPrevious() { ttsManager?.skipPrevious() }
271
275
 
276
+ private fun applyTTSDecoration(locator: Locator) {
277
+ if (!isNavigatorReady) return
278
+ val decorableNavigator = navigator as? DecorableNavigator ?: return
279
+ val viewScope = viewLifecycleOwner.lifecycleScope
280
+ viewScope.launch {
281
+ decorableNavigator.applyDecorations(
282
+ listOf(
283
+ Decoration(
284
+ id = "tts-current",
285
+ locator = locator,
286
+ style = Decoration.Style.Highlight(
287
+ tint = android.graphics.Color.argb(89, 0xF2, 0xCA, 0x50) // #f2ca50 @ 35%
288
+ )
289
+ )
290
+ ),
291
+ "tts"
292
+ )
293
+ }
294
+ }
295
+
296
+ private fun clearTTSDecoration() {
297
+ if (!isNavigatorReady) return
298
+ val decorableNavigator = navigator as? DecorableNavigator ?: return
299
+ val viewScope = viewLifecycleOwner.lifecycleScope
300
+ viewScope.launch {
301
+ decorableNavigator.applyDecorations(emptyList(), "tts")
302
+ }
303
+ }
304
+
272
305
  override fun onDestroyView() {
306
+ clearTTSDecoration()
273
307
  ttsManager?.cleanup()
274
308
  ttsManager = null
275
309
  super.onDestroyView()
@@ -318,6 +318,16 @@ class HybridReadiumView: HybridReadiumViewSpec {
318
318
  ))
319
319
  }
320
320
  manager.onUtterance = { [weak self] locator, text in
321
+ // Apply TTS decoration natively — bypass React prop round-trip
322
+ if let nav = self?.readerViewController?.navigator as? DecorableNavigator {
323
+ let tint = UIColor(red: 0.949, green: 0.792, blue: 0.314, alpha: 0.35) // #f2ca50 @ 35%
324
+ let decoration = RDecoration(
325
+ id: "tts-current",
326
+ locator: locator,
327
+ style: .highlight(tint: tint, isActive: false)
328
+ )
329
+ nav.apply(decorations: [decoration], in: "tts")
330
+ }
321
331
  self?.onTTSUtterance?(TTSUtteranceEvent(
322
332
  locator: readiumLocatorToNitro(locator),
323
333
  utterance: text,
@@ -343,7 +353,12 @@ class HybridReadiumView: HybridReadiumViewSpec {
343
353
  )
344
354
  }
345
355
 
346
- func ttsStop() { readerViewController?.ttsManager?.stop() }
356
+ func ttsStop() {
357
+ if let nav = readerViewController?.navigator as? DecorableNavigator {
358
+ nav.apply(decorations: [], in: "tts")
359
+ }
360
+ readerViewController?.ttsManager?.stop()
361
+ }
347
362
  func ttsPause() { readerViewController?.ttsManager?.pause() }
348
363
  func ttsResume() { readerViewController?.ttsManager?.resume() }
349
364
  func ttsSetRate(rate: Double) { readerViewController?.ttsManager?.setRate(Float(rate)) }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dr33m/react-native-readium",
3
- "version": "5.0.0-rc.19",
3
+ "version": "5.0.0-rc.20",
4
4
  "description": "A react-native wrapper for https://readium.org/",
5
5
  "main": "lib/src/index",
6
6
  "types": "lib/src/index.d.ts",
@@ -196,4 +196,4 @@
196
196
  },
197
197
  "packageManager": "yarn@3.6.4",
198
198
  "stableVersion": "1.2.1"
199
- }
199
+ }