@internetarchive/bookreader 5.0.0-8 → 5.0.0-80

Sign up to get free protection for your applications and to get access to all the features.
Files changed (313) hide show
  1. package/.eslintrc.js +17 -15
  2. package/.github/workflows/node.js.yml +73 -10
  3. package/.github/workflows/npm-publish.yml +6 -20
  4. package/.testcaferc.js +10 -0
  5. package/BookReader/BookReader.css +398 -1133
  6. package/BookReader/BookReader.js +1 -1
  7. package/BookReader/BookReader.js.LICENSE.txt +20 -20
  8. package/BookReader/BookReader.js.map +1 -1
  9. package/BookReader/ia-bookreader-bundle.js +1782 -0
  10. package/BookReader/ia-bookreader-bundle.js.LICENSE.txt +7 -0
  11. package/BookReader/ia-bookreader-bundle.js.map +1 -0
  12. package/BookReader/icons/1up.svg +1 -1
  13. package/BookReader/icons/2up.svg +1 -1
  14. package/BookReader/icons/advance.svg +1 -1
  15. package/BookReader/icons/chevron-right.svg +1 -1
  16. package/BookReader/icons/close-circle-dark.svg +1 -1
  17. package/BookReader/icons/close-circle.svg +1 -1
  18. package/BookReader/icons/fullscreen.svg +1 -1
  19. package/BookReader/icons/fullscreen_exit.svg +1 -1
  20. package/BookReader/icons/hamburger.svg +1 -1
  21. package/BookReader/icons/left-arrow.svg +1 -1
  22. package/BookReader/icons/magnify-minus.svg +1 -1
  23. package/BookReader/icons/magnify-plus.svg +1 -1
  24. package/BookReader/icons/magnify.svg +1 -1
  25. package/BookReader/icons/pause.svg +1 -1
  26. package/BookReader/icons/play.svg +1 -1
  27. package/BookReader/icons/playback-speed.svg +1 -1
  28. package/BookReader/icons/read-aloud.svg +1 -1
  29. package/BookReader/icons/review.svg +1 -1
  30. package/BookReader/icons/thumbnails.svg +1 -1
  31. package/BookReader/icons/voice.svg +1 -0
  32. package/BookReader/icons/volume-full.svg +1 -1
  33. package/BookReader/images/BRicons.svg +3 -3
  34. package/BookReader/images/books_graphic.svg +1 -1
  35. package/BookReader/images/icon_book.svg +1 -1
  36. package/BookReader/images/icon_bookmark.svg +1 -1
  37. package/BookReader/images/icon_gear.svg +1 -1
  38. package/BookReader/images/icon_hamburger.svg +1 -1
  39. package/BookReader/images/icon_home.svg +1 -1
  40. package/BookReader/images/icon_info.svg +1 -1
  41. package/BookReader/images/icon_one_page.svg +1 -1
  42. package/BookReader/images/icon_pause.svg +1 -1
  43. package/BookReader/images/icon_play.svg +1 -1
  44. package/BookReader/images/icon_playback-rate.svg +1 -1
  45. package/BookReader/images/icon_search_button.svg +1 -1
  46. package/BookReader/images/icon_share.svg +1 -1
  47. package/BookReader/images/icon_skip-ahead.svg +1 -1
  48. package/BookReader/images/icon_skip-back.svg +1 -1
  49. package/BookReader/images/icon_speaker.svg +1 -1
  50. package/BookReader/images/icon_speaker_open.svg +1 -1
  51. package/BookReader/images/icon_thumbnails.svg +1 -1
  52. package/BookReader/images/icon_toc.svg +1 -1
  53. package/BookReader/images/icon_two_pages.svg +1 -1
  54. package/BookReader/images/marker_chap-off.svg +1 -1
  55. package/BookReader/images/marker_chap-on.svg +1 -1
  56. package/BookReader/images/marker_srch-on.svg +1 -1
  57. package/BookReader/jquery-3.js +2 -0
  58. package/BookReader/jquery-3.js.LICENSE.txt +24 -0
  59. package/BookReader/plugins/plugin.archive_analytics.js +1 -1
  60. package/BookReader/plugins/plugin.archive_analytics.js.map +1 -1
  61. package/BookReader/plugins/plugin.autoplay.js +1 -1
  62. package/BookReader/plugins/plugin.autoplay.js.map +1 -1
  63. package/BookReader/plugins/plugin.chapters.js +25 -1
  64. package/BookReader/plugins/plugin.chapters.js.LICENSE.txt +1 -0
  65. package/BookReader/plugins/plugin.chapters.js.map +1 -1
  66. package/BookReader/plugins/plugin.iframe.js +1 -1
  67. package/BookReader/plugins/plugin.iframe.js.map +1 -1
  68. package/BookReader/plugins/plugin.iiif.js +2 -0
  69. package/BookReader/plugins/plugin.iiif.js.map +1 -0
  70. package/BookReader/plugins/plugin.resume.js +1 -1
  71. package/BookReader/plugins/plugin.resume.js.map +1 -1
  72. package/BookReader/plugins/plugin.search.js +2 -1
  73. package/BookReader/plugins/plugin.search.js.LICENSE.txt +1 -0
  74. package/BookReader/plugins/plugin.search.js.map +1 -1
  75. package/BookReader/plugins/plugin.text_selection.js +2 -1
  76. package/BookReader/plugins/plugin.text_selection.js.LICENSE.txt +1 -0
  77. package/BookReader/plugins/plugin.text_selection.js.map +1 -1
  78. package/BookReader/plugins/plugin.tts.js +1 -1
  79. package/BookReader/plugins/plugin.tts.js.LICENSE.txt +2 -0
  80. package/BookReader/plugins/plugin.tts.js.map +1 -1
  81. package/BookReader/plugins/plugin.url.js +1 -1
  82. package/BookReader/plugins/plugin.url.js.map +1 -1
  83. package/BookReader/plugins/plugin.vendor-fullscreen.js +1 -1
  84. package/BookReader/plugins/plugin.vendor-fullscreen.js.map +1 -1
  85. package/BookReader/webcomponents-bundle.js +3 -0
  86. package/BookReader/webcomponents-bundle.js.LICENSE.txt +9 -0
  87. package/BookReader/webcomponents-bundle.js.map +1 -0
  88. package/BookReaderDemo/BookReaderDemo.css +18 -19
  89. package/BookReaderDemo/BookReaderJSAdvanced.js +0 -3
  90. package/BookReaderDemo/BookReaderJSAutoplay.js +4 -1
  91. package/BookReaderDemo/BookReaderJSSimple.js +1 -0
  92. package/BookReaderDemo/IADemoBr.js +147 -0
  93. package/BookReaderDemo/demo-advanced.html +2 -2
  94. package/BookReaderDemo/demo-autoplay.html +2 -3
  95. package/BookReaderDemo/demo-embed-iframe-src.html +2 -1
  96. package/BookReaderDemo/demo-fullscreen-mobile.html +3 -5
  97. package/BookReaderDemo/demo-fullscreen.html +2 -4
  98. package/BookReaderDemo/demo-iiif.html +99 -12
  99. package/BookReaderDemo/demo-internetarchive.html +214 -18
  100. package/BookReaderDemo/demo-multiple.html +2 -1
  101. package/BookReaderDemo/demo-preview-pages.html +2 -1
  102. package/BookReaderDemo/demo-simple.html +2 -1
  103. package/BookReaderDemo/demo-vendor-fullscreen.html +2 -4
  104. package/BookReaderDemo/ia-multiple-volumes-manifest.js +170 -0
  105. package/BookReaderDemo/immersion-1up.html +2 -2
  106. package/BookReaderDemo/immersion-mode.html +2 -4
  107. package/BookReaderDemo/toggle_controls.html +3 -2
  108. package/BookReaderDemo/view_mode.html +2 -1
  109. package/BookReaderDemo/viewmode-cycle.html +2 -3
  110. package/CHANGELOG.md +536 -33
  111. package/README.md +14 -1
  112. package/babel.config.js +20 -0
  113. package/codecov.yml +6 -0
  114. package/index.html +4 -1
  115. package/jsconfig.json +19 -0
  116. package/netlify.toml +9 -0
  117. package/package.json +70 -60
  118. package/renovate.json +52 -0
  119. package/scripts/preversion.js +0 -1
  120. package/src/BookNavigator/assets/bookmark-colors.js +1 -1
  121. package/src/BookNavigator/assets/button-base.js +4 -2
  122. package/src/BookNavigator/assets/ia-logo.js +17 -0
  123. package/src/BookNavigator/assets/icon_checkmark.js +1 -1
  124. package/src/BookNavigator/assets/icon_close.js +1 -1
  125. package/src/BookNavigator/book-navigator.js +590 -0
  126. package/src/BookNavigator/bookmarks/bookmark-button.js +3 -2
  127. package/src/BookNavigator/bookmarks/bookmark-edit.js +3 -4
  128. package/src/BookNavigator/bookmarks/bookmarks-list.js +2 -3
  129. package/src/BookNavigator/bookmarks/bookmarks-loginCTA.js +3 -8
  130. package/src/BookNavigator/bookmarks/bookmarks-provider.js +27 -17
  131. package/src/BookNavigator/bookmarks/ia-bookmarks.js +116 -67
  132. package/src/BookNavigator/delete-modal-actions.js +1 -1
  133. package/src/BookNavigator/downloads/downloads-provider.js +36 -21
  134. package/src/BookNavigator/downloads/downloads.js +41 -25
  135. package/src/BookNavigator/search/search-provider.js +49 -27
  136. package/src/BookNavigator/search/search-results.js +23 -9
  137. package/src/BookNavigator/sharing.js +27 -0
  138. package/src/BookNavigator/viewable-files.js +95 -0
  139. package/src/BookNavigator/visual-adjustments/visual-adjustments-provider.js +11 -10
  140. package/src/BookNavigator/visual-adjustments/visual-adjustments.js +3 -3
  141. package/src/BookReader/BookModel.js +64 -34
  142. package/src/BookReader/DragScrollable.js +233 -0
  143. package/src/BookReader/Mode1Up.js +56 -351
  144. package/src/BookReader/Mode1UpLit.js +388 -0
  145. package/src/BookReader/Mode2Up.js +73 -1318
  146. package/src/BookReader/Mode2UpLit.js +776 -0
  147. package/src/BookReader/ModeCoordinateSpace.js +29 -0
  148. package/src/BookReader/ModeSmoothZoom.js +312 -0
  149. package/src/BookReader/ModeThumb.js +18 -12
  150. package/src/BookReader/Navbar/Navbar.js +14 -40
  151. package/src/BookReader/PageContainer.js +81 -6
  152. package/src/BookReader/ReduceSet.js +1 -1
  153. package/src/BookReader/Toolbar/Toolbar.js +10 -37
  154. package/src/BookReader/events.js +2 -3
  155. package/src/BookReader/options.js +27 -2
  156. package/src/BookReader/utils/HTMLDimensionsCacher.js +44 -0
  157. package/src/BookReader/utils/ScrollClassAdder.js +31 -0
  158. package/src/BookReader/utils/SelectionObserver.js +45 -0
  159. package/src/BookReader/utils.js +118 -13
  160. package/src/BookReader.js +427 -1061
  161. package/src/assets/icons/magnify-minus.svg +3 -7
  162. package/src/assets/icons/magnify-plus.svg +3 -7
  163. package/src/assets/icons/voice.svg +1 -0
  164. package/src/css/BookReader.scss +1 -5
  165. package/src/css/_BRBookmarks.scss +1 -1
  166. package/src/css/_BRComponent.scss +1 -1
  167. package/src/css/_BRmain.scss +16 -3
  168. package/src/css/_BRnav.scss +12 -39
  169. package/src/css/_BRpages.scss +149 -40
  170. package/src/css/_BRsearch.scss +68 -25
  171. package/src/css/_BRtoolbar.scss +5 -5
  172. package/src/css/_TextSelection.scss +87 -27
  173. package/src/css/_colorbox.scss +2 -2
  174. package/src/css/_controls.scss +20 -7
  175. package/src/css/_icons.scss +1 -1
  176. package/src/ia-bookreader/ia-bookreader.js +224 -0
  177. package/src/plugins/plugin.archive_analytics.js +3 -3
  178. package/src/plugins/plugin.autoplay.js +5 -11
  179. package/src/plugins/plugin.chapters.js +237 -191
  180. package/src/plugins/plugin.iiif.js +151 -0
  181. package/src/plugins/plugin.resume.js +3 -3
  182. package/src/plugins/plugin.text_selection.js +464 -134
  183. package/src/plugins/plugin.vendor-fullscreen.js +4 -4
  184. package/src/plugins/search/plugin.search.js +142 -125
  185. package/src/plugins/search/utils.js +43 -0
  186. package/src/plugins/search/view.js +33 -58
  187. package/src/plugins/tts/AbstractTTSEngine.js +71 -40
  188. package/src/plugins/tts/FestivalTTSEngine.js +13 -14
  189. package/src/plugins/tts/PageChunk.js +15 -21
  190. package/src/plugins/tts/PageChunkIterator.js +8 -12
  191. package/src/plugins/tts/WebTTSEngine.js +87 -71
  192. package/src/plugins/tts/plugin.tts.js +96 -127
  193. package/src/plugins/tts/utils.js +15 -25
  194. package/src/plugins/url/UrlPlugin.js +191 -0
  195. package/src/plugins/{plugin.url.js → url/plugin.url.js} +45 -16
  196. package/src/util/browserSniffing.js +22 -0
  197. package/src/util/docCookies.js +21 -2
  198. package/tests/e2e/README.md +37 -0
  199. package/tests/e2e/autoplay.test.js +2 -2
  200. package/tests/e2e/base.test.js +8 -16
  201. package/tests/e2e/helpers/base.js +53 -48
  202. package/tests/e2e/helpers/debug.js +1 -1
  203. package/tests/e2e/helpers/params.js +17 -0
  204. package/tests/e2e/helpers/rightToLeft.js +8 -14
  205. package/tests/e2e/helpers/search.js +73 -0
  206. package/tests/e2e/models/Navigation.js +20 -37
  207. package/tests/e2e/rightToLeft.test.js +4 -5
  208. package/tests/e2e/viewmode.test.js +40 -33
  209. package/tests/jest/BookNavigator/book-navigator.test.js +661 -0
  210. package/tests/jest/BookNavigator/bookmarks/bookmark-button.test.js +43 -0
  211. package/tests/{karma → jest}/BookNavigator/bookmarks/bookmark-edit.test.js +25 -26
  212. package/tests/{karma → jest}/BookNavigator/bookmarks/bookmarks-list.test.js +41 -42
  213. package/tests/jest/BookNavigator/bookmarks/ia-bookmarks.test.js +45 -0
  214. package/tests/jest/BookNavigator/downloads/downloads-provider.test.js +67 -0
  215. package/tests/jest/BookNavigator/downloads/downloads.test.js +53 -0
  216. package/tests/jest/BookNavigator/search/search-provider.test.js +167 -0
  217. package/tests/{karma → jest}/BookNavigator/search/search-results.test.js +109 -60
  218. package/tests/jest/BookNavigator/sharing/sharing-provider.test.js +49 -0
  219. package/tests/jest/BookNavigator/viewable-files/viewable-files-provider.test.js +80 -0
  220. package/tests/jest/BookNavigator/visual-adjustments.test.js +200 -0
  221. package/tests/{BookReader → jest/BookReader}/BookModel.test.js +74 -14
  222. package/tests/jest/BookReader/BookReaderPublicFunctions.test.js +193 -0
  223. package/tests/{BookReader → jest/BookReader}/ImageCache.test.js +4 -4
  224. package/tests/jest/BookReader/Mode1UpLit.test.js +73 -0
  225. package/tests/jest/BookReader/Mode2Up.test.js +98 -0
  226. package/tests/jest/BookReader/Mode2UpLit.test.js +190 -0
  227. package/tests/jest/BookReader/ModeCoordinateSpace.test.js +16 -0
  228. package/tests/jest/BookReader/ModeSmoothZoom.test.js +218 -0
  229. package/tests/jest/BookReader/ModeThumb.test.js +71 -0
  230. package/tests/{BookReader → jest/BookReader}/Navbar/Navbar.test.js +10 -10
  231. package/tests/{BookReader → jest/BookReader}/PageContainer.test.js +88 -6
  232. package/tests/{BookReader → jest/BookReader}/ReduceSet.test.js +1 -1
  233. package/tests/{BookReader → jest/BookReader}/Toolbar/Toolbar.test.js +2 -2
  234. package/tests/jest/BookReader/utils/HTMLDimensionsCacher.test.js +59 -0
  235. package/tests/jest/BookReader/utils/ScrollClassAdder.test.js +49 -0
  236. package/tests/jest/BookReader/utils/SelectionObserver.test.js +57 -0
  237. package/tests/{BookReader → jest/BookReader}/utils/classes.test.js +1 -1
  238. package/tests/jest/BookReader/utils.test.js +229 -0
  239. package/tests/jest/BookReader.keyboard.test.js +190 -0
  240. package/tests/{BookReader.options.test.js → jest/BookReader.options.test.js} +9 -1
  241. package/tests/{BookReader.test.js → jest/BookReader.test.js} +26 -37
  242. package/tests/{plugins → jest/plugins}/plugin.archive_analytics.test.js +2 -2
  243. package/tests/{plugins → jest/plugins}/plugin.autoplay.test.js +4 -4
  244. package/tests/jest/plugins/plugin.chapters.test.js +195 -0
  245. package/tests/{plugins → jest/plugins}/plugin.iframe.test.js +2 -2
  246. package/tests/{plugins → jest/plugins}/plugin.resume.test.js +3 -3
  247. package/tests/jest/plugins/plugin.text_selection.test.js +317 -0
  248. package/tests/{plugins → jest/plugins}/plugin.vendor-fullscreen.test.js +2 -2
  249. package/tests/{plugins → jest/plugins}/search/plugin.search.test.js +25 -47
  250. package/tests/{plugins → jest/plugins}/search/plugin.search.view.test.js +39 -6
  251. package/tests/jest/plugins/search/utils.js +25 -0
  252. package/tests/jest/plugins/search/utils.test.js +29 -0
  253. package/tests/{plugins → jest/plugins}/tts/AbstractTTSEngine.test.js +29 -9
  254. package/tests/{plugins → jest/plugins}/tts/FestivalTTSEngine.test.js +4 -4
  255. package/tests/{plugins → jest/plugins}/tts/PageChunk.test.js +1 -1
  256. package/tests/{plugins → jest/plugins}/tts/PageChunkIterator.test.js +3 -3
  257. package/tests/{plugins → jest/plugins}/tts/WebTTSEngine.test.js +47 -1
  258. package/tests/{plugins → jest/plugins}/tts/utils.test.js +1 -60
  259. package/tests/jest/plugins/url/UrlPlugin.test.js +198 -0
  260. package/tests/{plugins → jest/plugins/url}/plugin.url.test.js +53 -14
  261. package/tests/jest/setup.js +3 -0
  262. package/tests/{util → jest/util}/browserSniffing.test.js +1 -1
  263. package/tests/jest/util/docCookies.test.js +24 -0
  264. package/tests/{util → jest/util}/strings.test.js +1 -1
  265. package/tests/{utils.js → jest/utils.js} +38 -0
  266. package/webpack.config.js +12 -6
  267. package/.babelrc +0 -12
  268. package/.dependabot/config.yml +0 -6
  269. package/.testcaferc.json +0 -5
  270. package/BookReader/bookreader-component-bundle.js +0 -1450
  271. package/BookReader/bookreader-component-bundle.js.LICENSE.txt +0 -38
  272. package/BookReader/bookreader-component-bundle.js.map +0 -1
  273. package/BookReader/jquery-1.10.1.js +0 -2
  274. package/BookReader/jquery-1.10.1.js.LICENSE.txt +0 -24
  275. package/BookReader/plugins/plugin.menu_toggle.js +0 -2
  276. package/BookReader/plugins/plugin.menu_toggle.js.map +0 -1
  277. package/BookReader/plugins/plugin.mobile_nav.js +0 -2
  278. package/BookReader/plugins/plugin.mobile_nav.js.map +0 -1
  279. package/BookReaderDemo/IIIFBookReader.js +0 -207
  280. package/BookReaderDemo/bookreader-template-bundle.js +0 -7178
  281. package/BookReaderDemo/demo-iiif.js +0 -26
  282. package/BookReaderDemo/demo-plugin-menu-toggle.html +0 -34
  283. package/karma.conf.js +0 -23
  284. package/src/BookNavigator/BookModel.js +0 -14
  285. package/src/BookNavigator/BookNavigator.js +0 -446
  286. package/src/BookNavigator/assets/book-loader.js +0 -27
  287. package/src/BookNavigator/br-fullscreen-mgr.js +0 -83
  288. package/src/BookNavigator/search/a-search-result.js +0 -55
  289. package/src/BookReader/DebugConsole.js +0 -54
  290. package/src/BookReaderComponent/BookReaderComponent.js +0 -112
  291. package/src/ItemNavigator/ItemNavigator.js +0 -376
  292. package/src/ItemNavigator/providers/sharing.js +0 -29
  293. package/src/css/_MobileNav.scss +0 -194
  294. package/src/dragscrollable-br.js +0 -261
  295. package/src/lit-wrapper.js +0 -2
  296. package/src/plugins/menu_toggle/plugin.menu_toggle.js +0 -324
  297. package/src/plugins/plugin.mobile_nav.js +0 -287
  298. package/tests/BookReader/BookReaderPublicFunctions.test.js +0 -171
  299. package/tests/BookReader/DebugConsole.test.js +0 -25
  300. package/tests/BookReader/Mode1Up.test.js +0 -164
  301. package/tests/BookReader/Mode2Up.test.js +0 -247
  302. package/tests/BookReader/utils.test.js +0 -109
  303. package/tests/e2e/helpers/desktopSearch.js +0 -72
  304. package/tests/e2e/helpers/mobileSearch.js +0 -85
  305. package/tests/e2e/ia-production/ia-prod-base.js +0 -17
  306. package/tests/karma/BookNavigator/book-navigator.test.js +0 -132
  307. package/tests/karma/BookNavigator/search/search-provider.test.js +0 -23
  308. package/tests/karma/BookNavigator/visual-adjustments.test.js +0 -201
  309. package/tests/plugins/menu_toggle/plugin.menu_toggle.test.js +0 -68
  310. package/tests/plugins/plugin.chapters.test.js +0 -130
  311. package/tests/plugins/plugin.mobile_nav.test.js +0 -66
  312. package/tests/plugins/plugin.text_selection.test.js +0 -203
  313. package/tests/util/docCookies.test.js +0 -15
package/CHANGELOG.md CHANGED
@@ -1,23 +1,425 @@
1
+ # 5.0.0-80
2
+ - Dev: Fix/modernize IIIF demo @cdrini
3
+ - Dev: Fix sharing panel erroring when no IA item metadata specified @cdrini
4
+
5
+ # 5.0.0-79
6
+
7
+ - Fix: Firefox not scrolling to selected volume in the volume side panel @nsharma123
8
+
9
+ # 5.0.0-78
10
+
11
+ - Fix: Add button outline to some of the controls @cdrini
12
+
13
+ # 5.0.0-77
14
+
15
+ - Fix: side panels - show downloads before visual adjustments @iisa
16
+
17
+ # 5.0.0-76
18
+
19
+ - Fix: Update bookNavigator shortcut menu ordering @dualcnhq
20
+
21
+ # 5.0.0-75
22
+
23
+ - Dev: Update deps via renovatebot
24
+ - Dev: Add .env file in .gitignore
25
+ - Dev: Update CHANGELOG.md @eltociear
26
+ - Feature: Add ToC icon if enableChapterPlugin @dualcnhq
27
+
28
+ # 5.0.0-74
29
+
30
+ - See 5.0.0-75
31
+
32
+ # 5.0.0-73
33
+
34
+ - Feature: Add `table_of_contents` option to work with chapters plugin @cdrini
35
+ - Fix: Simple demos not working @xonx4l
36
+ - Dev: Update test/build dependencies @cdrini
37
+
38
+ # 5.0.0-72
39
+
40
+ - Fix: Play/pause button out of sync with ReadAloud @sbwhitt
41
+ - Fix: BookReader not loading in sandboxed iframe @cdrini
42
+ - Dev: Fix noisy sentry error firing on any selection @cdrini
43
+ - Dev: Update to Node 20 @cdrini
44
+
45
+ # 5.0.0-71
46
+
47
+ - Dev: update jest monorepo @renovate
48
+ - Fix: Share & Mutliple View menu panel refactor @iisa
49
+
50
+ # 5.0.0-70
51
+
52
+ - Feature: Remember ReadAloud voice selection @sbwhitt
53
+ - Fix: Support page numbers that require url encoding @cdrini
54
+
55
+ # 5.0.0-69
56
+
57
+ - Fix: Handle ppi incorrectly set to one @cdrini
58
+
59
+ # 5.0.0-68
60
+
61
+ - Fix: 1up zoom wrong on start/entering full screen @cdrini
62
+ - Dev: BREAKING: delete `plugin.mobile_nav.js` no longer used @cdrini
63
+ - Dev: Move page 1 label correction logic to BookReaderJSIA @cdrini
64
+
65
+ # 5.0.0-67
66
+
67
+ - Feature: Re-enable chapters plugin + migrate off mmenu @cdrini
68
+ - Fix: Disable tooltips on touchscreens + fix on IA @cdrini
69
+ - Dev: Remove core-js update block; issue resolved in core-js @cdrini
70
+
71
+ # 5.0.0-66
72
+
73
+ - Fix: Pinch zooming on iPad/iPhone, Samsung Internet @cdrini
74
+
75
+ # 5.0.0-65
76
+
77
+ - Dev: Remove Debug console dev helper @cdrini
78
+ - Dev: Fix deno esm.sh esbuild erroring @cdrini
79
+ - Dev: Update test/build deps @cdrini
80
+
81
+ # 5.0.0-64
82
+
83
+ - Dev: update dependencies @renovate
84
+ - Dev: update build step @cdrini
85
+ - Fix: Search inside option for {{{/}}} + http support @cdrini
86
+
87
+ # 5.0.0-63
88
+
89
+ Fix: Don't limit autoFit zoom to real world size @cdrini
90
+ Dev: Update test deps @cdrini
91
+
92
+ # 5.0.0-62
93
+
94
+ - Fix: Make text selection work in Safari 15.4+ @cdrini
95
+ - Fix: Rewrite/improvements to text selection UX @cdrini
96
+ - Switches from SVG text layer to HTML text layer
97
+
98
+ # 5.0.0-61
99
+
100
+ - Fix: Mode2up preview pages hanging on first click @cdrini
101
+ - Dev: Add analytics event for text layer page selection @cdrini
102
+
103
+ # 5.0.0-60
104
+
105
+ - Fix: Update modal manager to fix duplicate definitions warnings on IA @cdrini
106
+ - Fix: Common Sentry error `.spread` undefined @cdrini
107
+ - Fix: entering page appearing early in flip anim @cdrini
108
+ - Fix: preview pages not working in 1up @cdrini
109
+ - Dev: Make serve-dev not do full production babeling (This makes it waaaay easier/faster to debug things like promises) @cdrini
110
+ - Dev: Log an error if search inside fails for sentry @cdrini
111
+ - Dev: Make dev server support CORS to allow testing via ngrok @cdrini
112
+ - Refactor: Rm redundant archive_analytics checks @cdrini
113
+ - Refactor: Dissolve a-search-result.js component @cdrini
114
+
115
+ # 5.0.0-59
116
+
117
+ - Rewrite 2up view to use css transforms and lit @cdrini
118
+ - Pretty substantial change. Lots of breaking changes to public methods.
119
+
120
+ # 5.0.0-58
121
+
122
+ - Fix BookReader sometimes failing to load when starting in Mode1Up @cdrini
123
+ - Update testing dependencies @cdrini
124
+
125
+ # 5.0.0-57
126
+
127
+ - Fix - do not show Download pane when there aren't any available @iisa
128
+
129
+ # 5.0.0-56
130
+
131
+ - Fix DOMException in sandboxed iframe in chrome @cdrini
132
+
133
+ # 5.0.0-55
134
+
135
+ - Fix BookReader going to 1up in fullscreen on desktop @mheiman
136
+ - Support BookReader running in sandboxed (cookie-less) iframe @cdrini
137
+ - Update IA dependencies to avoid duplicate dependencies @cdrini
138
+
139
+ # 5.0.0-54
140
+
141
+ - Dev: Dispatch custom event from bookreader for ia-book-actions @nsharma123
142
+
143
+ # 5.0.0-53
144
+
145
+ - Dev: update icons & lit versions to help a.o build @iisa
146
+
147
+ # 5.0.0-52
148
+
149
+ # 5.0.0-51
150
+
151
+ - Fix: Bookmark with subfiles was broken @nsharma123
152
+ - Feature: Default 1up mode and options.defaults mode override exiting mode @nsharma123
153
+
154
+ # 5.0.0-50
155
+
156
+ Fix: Search results display @latonv
157
+
158
+ # 5.0.0-49
159
+
160
+ - Dev: remove class shims, v5 deprecations @cdrini
161
+ - Dev: update dependency (@open-wc/testing-helpers) @renovate
162
+ - Dev: e2e - remove ia test + export DesktopNav for external usage @iisa
163
+
164
+ # 5.0.0-48
165
+
166
+ - Fix: move analytics to sample bucket @iisa
167
+ - Dev: update dependencies (concurrently, jest) @renovate
168
+
169
+ # 5.0.0-47
170
+
171
+ - Fix: XSS vulnerability in search results @latonv
172
+ - Dev: Update jQuery to v3 **BREAKING** @cdrini
173
+ - If you were importing `BookReader/jquery-1.10.1.js` you will need to change it to `BookReader/jquery-3.js`
174
+ - Also ensure if other code was using this jquery that it works with jQuery 3!
175
+ - Dev: Update testing dependencies (jest, testcafe) @renovate
176
+
177
+ # 5.0.0-46
178
+
179
+ Fix: Leaf positioning during RTL fliip animation @latonv
180
+ Dev: dependency updates @renovate
181
+ Fix: Disable contextmenu for restricted books @iisa
182
+
183
+ # 5.0.0-45
184
+
185
+ # 5.0.0-44
186
+
187
+ Fix: dynamic `q=<term>` url parameter @iisa
188
+ Dev: dependency updates @renovate
189
+
190
+ # 5.0.0-43
191
+
192
+ Fix: search results panel display asserted page numbers @cdrini
193
+ Dev: dependency updates @renovate
194
+ Dev: node-fetch update @cdrini
195
+
196
+ # 5.0.0-42
197
+
198
+ Dev: update testing dependencies @renovate
199
+ Dev: update `<ia-item-navigator>` @iisa
200
+
201
+ # 5.0.0-40
202
+
203
+ Fix: Better search highlights @cdrini
204
+ Dev: update lit 2 components @iisa
205
+ Dev: update lit @renovate
206
+
207
+ # 5.0.0-39
208
+
209
+ Fix: Performance improvements to scroll/zooming when text layer is larger @cdrini
210
+ Fix: Update zoom in/out icons to match iconochive glyphs @pezvi
211
+ Dev: update dependencies @renovate
212
+
213
+ # 5.0.0-38
214
+
215
+ Dev: Add Renovate Bot @cdrini
216
+ Dev: Update node-fetch @cdrini
217
+ Fix: Search request promise err & fix tests @cdrini
218
+ Dev: Split node workflow into different jobs @cdrini
219
+ Dev: Give cache steps better names in GHA @cdrini
220
+ Dev: Update concurrently + Small speedup to build & test @cdrini
221
+ Dev: Renovate - Auto-update dev dependencies for minor/patch @cdrini
222
+ Fix: Better MS Edge voice selection @cdrini
223
+ Dev: Allow small drops in codecov coverage (< 0.5%) @cdrini
224
+ Dev: Renovate - add `^@internetarchive/icon-` @cdrini
225
+
226
+ # 5.0.0-37
227
+
228
+ Fix: Update all `.then()` to async/await @sancodes
229
+ Fix: Upgrade to Lit 2 @Aadilhassan
230
+ Dev: Update to Node v16.x @duggiefresh
231
+ Dev: Remove unused demo bundle @cdrini
232
+ Dev: Fix README broken link for plugin directory @duggiefresh
233
+ Dev: Update sharing options menu to lit2 @iisa
234
+ Dev: Remove package publishing from GHA @cdrini
235
+
236
+ # 5.0.0-36
237
+
238
+ Fix: Readaloud scrolls along with dext @cdrini
239
+ Dev: ES6 var to let/const updates @sancodes
240
+ Dev: ES6 async/await updates @sancodes
241
+ Dev: Re-enable testcafe tests in GH action @iisa
242
+ Fix: Search results bar clears and closes properly @iisa
243
+
244
+ # 5.0.0-35
245
+
246
+ Fix: global style leak specify colorbox styles @iisa
247
+ Fix: br menu reinits with shared ro load @iisa
248
+ Fix: url plugin does not rewrite with multiple slashes @iisa
249
+
250
+ # 5.0.0-34
251
+
252
+ Dev: update test dependencies @cdrini
253
+ Fix: Update hyphen stitching regex to include dangling "¬" @cdrini
254
+ Fix: pop open multiple files menu at proper width @iisa
255
+
256
+ # 5.0.0-33
257
+
258
+ Fix: restricted books get cover image @iisa
259
+
260
+ # 5.0.0-32
261
+
262
+ Fix: fetch bookmarks from service when logged in @iisa
263
+ Fix: adjust css to help shadydom render properly @iisa
264
+
265
+ # 5.0.0-31
266
+
267
+ Fix: modal loads into dom from `<ia-bookreader>` @iisa
268
+
269
+ # 5.0.0-30
270
+
271
+ - `<ia-bookreader>` is top-most web component @iisa
272
+
273
+ # 5.0.0-29
274
+
275
+ - import ia-item-navigator for menu management @iisa
276
+ - url plugin: suppress default state on load @dualcnhq
277
+
278
+ # 5.0.0-28
279
+
280
+ Dev: Refactor URLPlugin + sync volumes sorting state to URL @dualcnhq @cdrini
281
+
282
+ # 5.0.0-27
283
+
284
+ Dev: eslint fix for $.browser @homewardgamer
285
+ Fix: cache search inside requests @iisa
286
+
287
+ # 5.0.0-26
288
+
289
+ Fix: read aloud play/pause button @nsharma123
290
+ Dev: strict keyboard shortcuts @mc2
291
+ Dev: update IA demo page @iisa
292
+
293
+ # 5.0.0-24
294
+
295
+ Fix: book-nav side panel zoom out @mc2
296
+ Dev: refactor zoom code @mc2
297
+
298
+ # 5.0.0-23
299
+
300
+ Fix: Darken scrollbars in Safari @pezvi
301
+ Fix: Bookmarks service calls when reader is logged in @mc2
302
+ Dev: Move jest tests into separate directory @cdrini
303
+
304
+ # 5.0.0-22
305
+
306
+ - Dev: remove deprecated embed nav view, use standard default @iisa
307
+
308
+ # 5.0.0-21
309
+
310
+ - Dev: Toggle view=theater in fullscreen @mc2
311
+
312
+ # 5.0.0-20
313
+
314
+ - Feature: Add voice selection dropdown to ReadAloud! @mekarpeles
315
+ - Dev: Make jest support root-level imports with "@" @cdrini
316
+ - Dev: Make it easy to run e2e tests on archive.org/browserstack @cdrini
317
+
318
+ # 5.0.0-19
319
+
320
+ - Dev: Refactor dragscrollable from a jquery plugin to a JS class @cdrini
321
+ - Dev: Fix jquery eslint errors @cdrini
322
+ - Dev: Replace deprecated babel-eslint with successor @cdrini
323
+ - Fix: BR not working on iOS 9 / iOS 10! @cdrini, @iisa
324
+ - Added webcomponents, ResizeObserver polyfill
325
+ - ES5-ify lit node_modules
326
+
327
+ # 5.0.0-18
328
+
329
+ - Dev: Update a number of dependencies @cdrini
330
+ - Dev: Added eslint-plugin-no-jquery @soham4abc
331
+ - Feature: Add continuous pinch zooming for touch screens and trackpads! @cdrini
332
+ - This is a _big_ change to the codebase. It involved rewriting 1 up mode in LitElement. This means that BookReader now need webcomponents to function.
333
+ - Breaking changes (unlikely to be used by anyone):
334
+ - Most Mode1Up Bookreader global functions removed (unlikely to be used): `drawLeafsOnePage`, `onePageGetAutofitWidth`, `onePageGetAutofitHeight`, `onePageGetPageTop`, `onePageCalculateReductionFactors`, `centerX1up`, `centerY1up`
335
+ - Some Mode2Up cleanups: Removed `setClickHandler2UP`, `setMouseHandlers2UP`
336
+ - [Web components](https://caniuse.com/custom-elementsv1) now must be supported
337
+ - Reduction factors options no longer applies to 1up
338
+
339
+ # 5.0.0-17
340
+
341
+ - Fix: focus in a textarea disables keyboard shortcuts @cdrini
342
+
343
+ # 5.0.0-16
344
+
345
+ - Dev: remove unused menu toggle plugin @iisa
346
+ - Fix: Book nav loader safari update @iisa
347
+
348
+ # 5.0.0-15
349
+
350
+ - Fix: Typing -/+ in search box no longer zooms @cdrini
351
+ - Dev: Add script for updating dev deps @cdrini
352
+ - Refactor/Fix: Convert search/TTS highlights to use SVG layer @cdrini
353
+ - Fix TTS highlights not positioned correctly in Mode1Up
354
+ - Breaking changes (unlikely these are used by anyone):
355
+ - Remove public method `BookReader.prototype.keyboardNavigationIsDisabled`
356
+ - Remove public method `BookReader.util.sleep`
357
+ - Remove public method `BookReader.prototype.updateSearchHilites1UP`
358
+ - Remove public method `BookReader.prototype.updateSearchHilites2UP`
359
+ - Remove public attribute `BookReader.prototype.ttsHilites`
360
+
361
+ # 5.0.0-14
362
+
363
+ - Fix: Url search param `q=` updates dynamically @nsharma123
364
+ - Fix: Downloads menu text updates @dualcnhq
365
+ - Fix: Volumes updates - icons, labelling, open menu onload @iisa
366
+
367
+ # 5.0.0-13
368
+
369
+ - Enhancement: Add neutral state for sorting volumes @dualcnhq
370
+ - Enhancement: Update subfiles/volumes title sorting logic by filename -> title_asc -> title_desc order then back to filename @dualcnhq
371
+ - Fix: Volume item index count display @dualcnhq
372
+
373
+ # 5.0.0-12
374
+
375
+ - Fix: new side panel: sortable multiple volumes @dualcnhq @iisa
376
+ - Fix: sharing side panel can share subfile/volume @iisa
377
+
378
+ # 5.0.0-11
379
+
380
+ - Fix: standardize button style for download panel @nsharma123
381
+
382
+ # 5.0.0-10
383
+
384
+ - Fix: Make 1up default to full width (up to real world size) @cdrini
385
+ - Fix: Remove "page" from toolbar @cdrini
386
+ - Dev: Update menu slider @iisa
387
+ - Dev: Add semi-colons eslint rule @iisa
388
+
389
+ # 5.0.0-9
390
+
391
+ - Fix: search-inside results check for page's index via `leafNum` @nsharma123
392
+
1
393
  # 5.0.0-8
394
+
2
395
  - Fix: cancel search fix naming var @iisa
3
396
 
4
397
  # 5.0.0-7
398
+
5
399
  - Fix: cancel search @iisa
6
400
  - Dev: remove dead css @cdrini
7
401
  - Dev: GHA node_modules caching @cdrini
402
+
8
403
  # 5.0.0-6
404
+
9
405
  - Fix: Fullscreen toggle sets/unsets animating flag @iisa
406
+
10
407
  # 5.0.0-5
408
+
11
409
  - Fix: Book Nav: resize only when bookreader is not animating @iisa
12
410
  - Fix: Web components register themselves at EOF @iisa
13
411
  - Dev: update dependencies with dependabot @drini
412
+
14
413
  # 5.0.0-4
414
+
15
415
  - Dev: update bookmarks login archive_analytics @iisa @dualcnhq
16
416
 
17
417
  # 5.0.0-3
418
+
18
419
  - Fix: bookmarks panel has login CTA @dualcnhq @iisa
19
420
 
20
421
  # 5.0.0-2
422
+
21
423
  - Dev: update testing dependencies @cdrini
22
424
  - Dev: update dev-flow dependencies @cdrini
23
425
  - Dev: reorganize core BR files @cdrini
@@ -27,30 +429,33 @@
27
429
  - Fix: updates to `<book-navigator>` to upgrade archive.org's liner notes display to v5 @iisa
28
430
 
29
431
  # 5.0.0-1
432
+
30
433
  - Actually delete the files mentioned in previous release @cdrini
31
434
  - Dev: Organize BookNavigator files @iisa
32
435
  - Fix: Search results not in correct place in Mode1Up @cdrini
33
436
 
34
437
  # 5.0.0-0
438
+
35
439
  First beta release of v5! Lots of breaking changes:
440
+
36
441
  - Files deleted from `BookReader/` . These are all no longer needed, or bundled in other BookReader JS files
37
- - jquery.bt.min.js
38
- - plugin.theme.js - including methods:
39
- - BookReader.prototype.themes
40
- - BookReader.prototype.updateTheme
41
- - BookReader.prototype.default_theme
42
- - BookReader.prototype.theme
43
- - option enableThemesPlugin
44
- - excanvas.compiled.js
45
- - plugin.print.js - including methods:
46
- - BookReader.prototype.printPage
47
- - BookReader.prototype.getPrintURI
48
- - BookReader.prototype.getPageFile
49
- - jquery.browser.min.js
50
- - soundmanager/*
51
- - jquery.ui.touch-punch.min.js
52
- - mmenu/*
53
- - jquery-ui-1.12.0.min.js
442
+ - jquery.bt.min.js
443
+ - plugin.theme.js - including methods:
444
+ - BookReader.prototype.themes
445
+ - BookReader.prototype.updateTheme
446
+ - BookReader.prototype.default_theme
447
+ - BookReader.prototype.theme
448
+ - option enableThemesPlugin
449
+ - excanvas.compiled.js
450
+ - plugin.print.js - including methods:
451
+ - BookReader.prototype.printPage
452
+ - BookReader.prototype.getPrintURI
453
+ - BookReader.prototype.getPageFile
454
+ - jquery.browser.min.js
455
+ - soundmanager/*
456
+ - jquery.ui.touch-punch.min.js
457
+ - mmenu/*
458
+ - jquery-ui-1.12.0.min.js
54
459
  - BookReader now also requires web components; more documentation on how to use will be coming in the next beta versions.
55
460
  - BookNavigator is a web component wrapper around core BookReader
56
461
  - Add Karma for testing web components
@@ -61,93 +466,131 @@ First beta release of v5! Lots of breaking changes:
61
466
  - BookReader/ build files directory is now completely disposable
62
467
 
63
468
  # 4.40.2
469
+
64
470
  -Fix: page container has `data-side` attr @iisa
65
471
 
66
472
  # 4.40.1
473
+
67
474
  - Fix: Support /search/TERM in url @nsharma123
68
475
  - Dev: Fix reference to deprecated pruneUnused @cdrini
69
476
 
70
477
  # 4.40.0
478
+
71
479
  - Dev: Separate ModeThumb into separate file @cdrini
72
480
  - Feature: Progressive loading of higher resolution images @cdrini
73
- - Potentially breaking change: `data-(side|leaf|reduce|row)` no longer set
74
- - Potentially breaking change: mode class no longer set on page container
75
- - A number of deprecated methods converted to no-ops with `console.warn`
481
+ - Potentially breaking change: `data-(side|leaf|reduce|row)` no longer set
482
+ - Potentially breaking change: mode class no longer set on page container
483
+ - A number of deprecated methods converted to no-ops with `console.warn`
76
484
  - Feature: pow2 reduce by default @cdrini
77
- - New option: `reduceSet: 'pow2' | 'integer' = 'pow2'` limits reduce variables sent to getURI to be powers of 2
485
+ - New option: `reduceSet: 'pow2' | 'integer' = 'pow2'` limits reduce variables sent to getURI to be powers of 2
78
486
  - Dev: Add esbuild to `npm run serve-dev` @iisa
79
487
  - Fix: BookNavigator loaded after JSIAInit @cdrini
80
488
 
81
489
  # 4.39.3
490
+
82
491
  - Hotfix: Fix iOS 8 erroring since 4.39.0 @cdrini
83
492
 
84
493
  # 4.39.2
494
+
85
495
  - Dev: update Readme @Himanshunitrr
86
496
  - Dev: in-file typo fixes @cclauss
87
497
  - Fix: v5 booknav refresh @iisa @dualcnhq
498
+
88
499
  # 4.39.1
500
+
89
501
  - Dev: update Readme @Himanshunitrr
90
502
  - Fix: v5 bookmarks menu update @iisa @dualcnhq
503
+
91
504
  # 4.39.0
505
+
92
506
  - Feature: Mode1Up DPI awareness @cdrini
93
- - Introduces two new optional options: `ppi` and `PageData.ppi`
94
- - Potentially breaking change: zooming in Mode1Up will now zoom at different intervals
507
+ - Introduces two new optional options: `ppi` and `PageData.ppi`
508
+ - Potentially breaking change: zooming in Mode1Up will now zoom at different intervals
95
509
 
96
510
  # 4.38.0
511
+
97
512
  Dev: update dependencies @cdrini
98
513
  Dev: replace travis badge with GHA badge @cdrini
99
514
  Feature: Thumbnail/Gallery view reusing best scaled images @iisa
100
515
  Fix: simplify ImageCache dictionary @iisa
101
516
 
102
517
  # 4.37.0
518
+
103
519
  Fix: new ImageCache that keeps track of requested images & their scale factor @iisa
104
520
  Fix: 2up mode's use of ImageCache @iisa
521
+
105
522
  # 4.36.0
523
+
106
524
  Fix: More image caching - 2up, some sharing with thumbnail draw @iisa
107
525
 
108
526
  # 4.35.1
527
+
109
528
  Fix: 2up, `baseLeafCss` - use function to find "top" value @iisa
529
+
110
530
  # 4.35.0
531
+
111
532
  Fix: show text selection layer if word count is less than 2,500 @cdrini
112
533
  Fix: 2up, only resize spread if current image is better than next size @iisa
534
+
113
535
  # 4.34.0
536
+
114
537
  Fix: exist fullscreen will change to 2up if 2up is available @iisa
538
+
115
539
  # 4.33.0
540
+
116
541
  Fix: use optional `srcSet` in 1up mode @iisa
542
+
117
543
  # 4.32.0
544
+
118
545
  Fix: slim down prefetch group @iisa
119
- Fix: TTS caches xml @cdrini
546
+ Fix: TTS caches xml @cdrini
547
+
120
548
  # 4.31.0
549
+
121
550
  Dev: demo cleanup with @cdrini
122
551
  Fix: 2up - pass reduction factors when creating image urls @iisa
552
+
123
553
  # 4.30.0
554
+
124
555
  Fix: all view modes on desktop & view mode toggl on mobile are now default. @nsharma123
125
556
 
126
557
  # 4.28.0
558
+
127
559
  Fix: adding alt tags to images @nsharma123
560
+
128
561
  # 4.27.0
562
+
129
563
  Fix: update init function to use new flag `autoResize` @iisa
130
564
  Fix: images - `useSrcSet` flag to determine when we fill `srcSet` attribute @iisa
565
+
131
566
  # 4.26.1
567
+
132
568
  Patch: Text selection layer does not get made in thumbnail view @dualcnhq
569
+
133
570
  # 4.26.0
571
+
134
572
  Dev: move to Github actions @cdrini
135
573
  Dev: version bumps @dependabot
136
574
  Fix: Text selection layer gets created for first page, does not get created for last page @dualcnhq
137
575
 
138
576
  # 4.25.0
577
+
139
578
  Fix: Helper changes for stream redirection to read hash fragment params from URL @nsharma123
140
579
 
141
580
  # 4.24.0
581
+
142
582
  Fix: Bookreader layout when initialized in "ReadAloud" mode @nsharma123
143
583
 
144
584
  # 4.23.0
585
+
145
586
  Fix: first search result click now updates url @nsharma123
146
587
 
147
588
  # 4.22.0
589
+
148
590
  Fix: update non-asserted page labelling next to nav scrubber @iisa
149
591
 
150
592
  # 4.21.0
593
+
151
594
  - Fix: Search Plugin Updates (#556) @iisa
152
595
  - always display search results markers
153
596
  - update search results nav tap targets & style
@@ -157,15 +600,18 @@ Fix: update non-asserted page labelling next to nav scrubber @iisa
157
600
  - Dev: move search plugin test files to their own directory (#556) @iisa
158
601
 
159
602
  # 4.20.1
603
+
160
604
  - Fix: Handle empty dejavu.xml files in text selection plugin @iisa
161
605
 
162
606
  # 4.20.0
607
+
163
608
  - Dev: Update 9 dependencies (including webpack, sass, @babel/*) @dependabot-preview + @cdrini
164
609
  - Dev: Move dragscroll code into src @cdrini
165
610
  - Dev: Make webpack treat jquery as an external dependency @cdrini
166
611
  - Fix: Samsung Internet not loading BR on IA @cdrini
167
612
 
168
613
  # 4.19.0
614
+
169
615
  - Fix: `<br>` rendered in search panel @ArunTeltia
170
616
  - Fix: TTS speed dropdown has white text on white in Chrome @participator
171
617
  - Dev: Replace dependency copies with npm packages (jquery, jquery-ui, mmenu, colorbox, touch-punch, jquery.browser) @cdrini
@@ -178,39 +624,49 @@ Fix: update non-asserted page labelling next to nav scrubber @iisa
178
624
  - Fix: Text selection throwing error on page with index=-1 @cdrini
179
625
 
180
626
  # 4.18.7
627
+
181
628
  Fix: update fullscreen toggle methods to fire behaviors in an expected way @iisa
182
629
 
183
630
  # 4.18.6
631
+
184
632
  - Fix: use fullscreen toggle flow when starting fullscreen (#499) @iisa
185
633
 
186
634
  # 4.18.5
635
+
187
636
  - Fix: Waits to resize until first result flipped to (#498) @shaneriley
188
637
 
189
638
  # 4.18.4
639
+
190
640
  - Fix: Adds data attribute to 2up page containers for side designation @shaneriley
191
641
  - Fix: Apdate interstitial modal to fixed with & clean up messaging @iisa
192
642
 
193
643
  # 4.18.3
644
+
194
645
  - Fix: Enrich context to search emitted events @iisa
195
646
  - Fix: Hides directional buttons and shows viewmode buttons on mobile viewports @shaneriley
196
647
 
197
648
  # 4.18.2
649
+
198
650
  - Fix: Search plugin fixes (#491) @shaneriley
199
651
 
200
652
  # 4.18.1
653
+
201
654
  - Fix: Skips subsequent creation of search views when setup called 1+n times @shaneriley
202
655
 
203
656
  # 4.18.0
657
+
204
658
  - Dev: Add eslint for `space-after-keywords`, `space-before-blocks`, `only-multiline` @Yashs911
205
659
  - Dev: Update eslint, sinon, @types/jest, testcafe, sass, webpack @dependabot-preview + @cdrini
206
660
  - Dev: Add 3 more files to eslint @Yashs911
207
661
  - Feature: New options for text selection plugin: single page DJVU XML url @cdrini
208
662
 
209
663
  # 4.17.0
664
+
210
665
  - Fix: text selection on Safari @cdrini
211
666
  - Feature: Search results navigation bar @shaneriley
212
667
 
213
668
  # 4.16.0
669
+
214
670
  - Dev: Emit custom event to trigger @iisa
215
671
  - Feature: Text selection plugin @Pyrojet99
216
672
  - Fix: Wrong openlibrary URL @cdrini
@@ -222,6 +678,7 @@ Fix: update fullscreen toggle methods to fire behaviors in an expected way @iisa
222
678
  - Fix: HTML escaping to prevent XSS (#434) @nsharma123
223
679
 
224
680
  # 4.15.0
681
+
225
682
  - Dev: update lodash dependency @dependabot-preview + @cdrini
226
683
  - Dev: Moves /BookReaderDemo/index.html to /index.html (#394) @anirbansaha782
227
684
  - Fix: Prevents page flipping to last page if navigating to previous page from a book's cover (#419) @iisa
@@ -229,15 +686,19 @@ Fix: update fullscreen toggle methods to fire behaviors in an expected way @iisa
229
686
  - Dev: Updates to e2e testing navigation model & base tests (#421) @iisa
230
687
 
231
688
  # 4.14.3
689
+
232
690
  - Fix: Zoom buttons missing on mobile + other chrome fixes (#416) @shaneriley
233
691
 
234
692
  # 4.14.2
693
+
235
694
  - Dev: Make npm package public (#414) @cdrini
236
695
 
237
696
  # 4.14.1
697
+
238
698
  - Dev: Automate npm publishing on github release (#409, #412) @cdrini
239
699
 
240
700
  # 4.14.0
701
+
241
702
  - Dev: Simplify webpack file (#373) @cdrini
242
703
  - Feature: One page/Two page/Thumbnail view now one button toggler (#375) @shaneriley
243
704
  - Fix: Advanced page demo broken (#383) @Pyrojet99
@@ -249,9 +710,11 @@ Fix: update fullscreen toggle methods to fire behaviors in an expected way @iisa
249
710
  - Feature: New chrome for BookReader! (#381) @shaneriley
250
711
 
251
712
  # 4.13.1
713
+
252
714
  - Fix: Toc entries not showing page number on desktop (#369) @cdrini
253
715
 
254
716
  # 4.13.0
717
+
255
718
  - Fix: BookReader.unbind not actually unbinding (#360) @shaneriley
256
719
  - Dev: New demo with configurable IA id: `demo-internetarchive.html?ocaid=foo` (#356) @Pyrojet99
257
720
  - Dev: Add E2E tests for right-to-left books (#350) @Pyrojet99
@@ -260,6 +723,7 @@ Fix: update fullscreen toggle methods to fire behaviors in an expected way @iisa
260
723
  - Feature: Table of contents panel in mobile view (#351) @Pyrojet99
261
724
 
262
725
  # 4.12.0
726
+
263
727
  - Fix: Test command for Windows users @cdrini
264
728
  - Dev: Autoplay e2e test @pyrojet99
265
729
  - Dev: Enable eslint for tests @Kartik1397
@@ -269,9 +733,11 @@ Fix: update fullscreen toggle methods to fire behaviors in an expected way @iisa
269
733
  - Feature: Visual adjustments checkboxes on mobile @pyrojet99
270
734
 
271
735
  # 4.11.1
736
+
272
737
  - Fix: search urls now redirect to query parameter `q=foo` @mc2
273
738
 
274
739
  # 4.11.0
740
+
275
741
  - Dev: Add E2E tests for searching on desktop @Pyrojet99
276
742
  - Fix: Search result not highlighted when landing on page with matches @iisa
277
743
  - Dev: Remove console logs from jest tests @NayamAmarshe
@@ -283,28 +749,33 @@ Fix: update fullscreen toggle methods to fire behaviors in an expected way @iisa
283
749
  - Dev: Update codecov, iso-language-codes @dependabot-preview + @cdrini
284
750
 
285
751
  # 4.10.0
752
+
286
753
  - Fix: BR shouldn't change URL until the user interacts with the page @mc2
287
754
  - Feature: Add `startFullscreen` option to launch in fullscreen @shaneriley
288
755
  - Feature (beta): Preview pages can be swapped out with search pin clicking @cdrini
289
756
 
290
757
  # 4.9.0
758
+
291
759
  - Fix: -/+ buttons not zooming in Chrome @ishank-dev
292
760
  - Add chapters demo to e2e tests @ishank-dev
293
761
  - Make Travis testcafe runs less flaky @shaneriley
294
762
  - Pin npm version dependencies for consistent builds @cdrini
295
763
  - Standardize HTML structure for pages across view modes @shaneriley
296
- - WARNING: Some of the html elements/classes have changed. Potentially breaking change.
764
+ - WARNING: Some of the html elements/classes have changed. Potentially breaking change.
297
765
  - Feature (beta): Preview pages. Specifying `viewable: false` on pages causes them to render a preview image placeholder. @cdrini
298
766
  - Remove deprecated QUnit tests @Pyrojet99
299
767
  - Remove console.logs in test output @NayamAmarshe
300
768
 
301
769
  # 4.8.0
770
+
302
771
  - Adds customizable layout controls @shaneriley
303
772
 
304
773
  # 4.7.1
774
+
305
775
  - Add new parameters to analytics @bfalling
306
776
 
307
777
  # 4.7.0
778
+
308
779
  Big change: All of BookReader core is now compiled to es5, and a large number of
309
780
  chunks have been re-written in es6. Care has been taken to ensure no public APIs
310
781
  have changed, but note this was a big change.
@@ -314,6 +785,7 @@ have changed, but note this was a big change.
314
785
  - Increase testcafe coverage; @iisa @shaneriley
315
786
 
316
787
  # 4.6.0
788
+
317
789
  Big change: all the plugins are now written in es6, and compiled to es5. There should
318
790
  be no observable changes, but note this was a big change.
319
791
 
@@ -327,57 +799,71 @@ be no observable changes, but note this was a big change.
327
799
  - Add `npm run serve-dev` for auto-watching + auto-refreshing dev server; @cdrini
328
800
 
329
801
  # 4.5.1
802
+
330
803
  - Fix: Click-to-flip now works in 2up mode zoomed in
331
804
  - Fix: Image panning sometimes not working
332
805
  - Fix #144: Hamburger icon only clickable on lines
333
806
  - Add TestCafe support
334
807
 
335
808
  # 4.5.0
809
+
336
810
  - ReadAloud now supports jumping backwards
337
811
  - Pressing -/= (or -/+ on numpad) zooms out/in
338
812
  - FIX #179: ReadAloud now ignores hyphens between lines
339
813
 
340
814
  # 4.4.2
815
+
341
816
  - more robust menu toggle plugin, working well with zoom & panning around in zoom
342
817
  - more tests
343
818
 
344
819
  # 4.4.1
820
+
345
821
  - Remove accidental es6 syntax in BookReader.js (breaking IE11)
346
822
 
347
823
  # 4.4.0
824
+
348
825
  - New ReadAloud controls + engine. Uses browser's SpeechSynthesis API instead of server-side test-to-speech
349
826
 
350
827
  # 4.3.2
828
+
351
829
  - menu toggle plugin, now applies to in-page & fullscreen views + early escapes when navbar isn't present
352
830
 
353
831
  # 4.3.0
832
+
354
833
  - New plugin, `fullscreen_menu_toggle`, allowing center-tap to hide UI
355
834
  - TTS Plugin logs analytics events (if enabled)
356
835
  - ES6 compilation step no longer performed on client; build files are included in repo so clients have no build step
357
836
 
358
837
  # 4.2.5
838
+
359
839
  - Large refactor of plugin.tts.js
360
- - ES6 compliation step
840
+ - ES6 compilation step
361
841
  - Known bug: Clicking on page while TTS is playing won't stop the playback
362
842
 
363
843
  # 4.2.4
844
+
364
845
  - Skips initialization of vendor fullscreen plugin when on a mobile device
365
846
 
366
847
  # 4.2.3
848
+
367
849
  - Creates vendor native fullscreen plugin and example use page
368
850
 
369
851
  # 4.2.2
852
+
370
853
  - Adds options for flipSpeed and flipDelay, the latter used for autoplay
371
854
 
372
855
  # 4.2.1
856
+
373
857
  - Fix rapid reload bug from thumbnail view
374
858
 
375
859
  # 4.2.0
860
+
376
861
  - Add eslint
377
862
  - Fix issue analytics plugin
378
863
  - Make the page display more extendable by splitting it into two functions
379
864
 
380
865
  # 4.1.0
866
+
381
867
  - Change BookReader.js function comments to JSDoc
382
868
  - Move autoplay feature into an optional plugin
383
869
  - Change the format of the current page string in the navbar. eg "1 / 100 (Cover)"
@@ -385,10 +871,12 @@ be no observable changes, but note this was a big change.
385
871
  - Simplify BookReader.prototype.init
386
872
 
387
873
  # 4.0.1
874
+
388
875
  - Add options.navBarTitle, which gets shown to the left of the scrubber.
389
876
  - Fix issue where there was a 1px border on cover leafEdge
390
877
 
391
878
  # 4.0.0
879
+
392
880
  V4 was driven by updating BookReader to work inline on the archive.org details page. This required code refactoring (eg: changing ids to classes), and also updating the design so it integrates well within the details page theatre section.
393
881
 
394
882
  - BookReader selectors made relative to BookReader. This means it shouldn't interfere with parent page, and also more than one BookReader instance can be on the page.
@@ -398,9 +886,11 @@ V4 was driven by updating BookReader to work inline on the archive.org details p
398
886
  - In transition: JavaScript code is formatted with 2 spaces instead of 4
399
887
 
400
888
  # 3.2.1
889
+
401
890
  - Fix so initParams normalizes params.page to params.index, to prevent complexity of priority of page versus index.
402
891
 
403
892
  # 3.2.0
893
+
404
894
  On Archive.org, we needed a way to pass in a default start page for books. These changes make that easier.
405
895
 
406
896
  - Update the way bookreader inits from various params contexts
@@ -409,26 +899,33 @@ On Archive.org, we needed a way to pass in a default start page for books. These
409
899
  - Update to handle both params.index and params.page when provided in defaults. Separate page parsing into separate method.
410
900
 
411
901
  # 3.1.0
902
+
412
903
  - Add new IFrame plugin to enable two-way communication between a BookReader inside an `<iframe>` and its parent window.
413
904
  - Move the `paramsFromCurrent`, `paramsFromFragment`, and `fragmentFromParams` methods back into BookReader core and out of the URL Plugin. This change should be backwards-compatible with previous versions.
414
905
  - Fire a new event, `fragmentChange`, on BookReader when the reader’s state changes.
415
906
 
416
907
  # 3.0.8
908
+
417
909
  - Add additional tracking event when view changes
418
910
 
419
911
  # 3.0.7
912
+
420
913
  - Fix: Assign options.titleLeaf to this.titleLeaf
421
914
 
422
915
  # 3.0.6
916
+
423
917
  - Another fix for plugin.search.js. The path GET param should not have a trailing slash.
424
918
 
425
919
  # 3.0.5
920
+
426
921
  - Hotfix for plugin.search.js. Fixes issue where search results were not rendered on page flip.
427
922
 
428
923
  # 3.0.4
924
+
429
925
  - Hotfix for plugin.search.js. Fixes fulltext search for some books on Archive.org
430
926
 
431
927
  # 3.0.3
928
+
432
929
  - Add more options: showToolbar, showLogo
433
930
  - Add this.options field, which stores the options last used in setup call
434
931
  - Improve `_getDataFlattened` to have simple cache breaker
@@ -437,14 +934,16 @@ On Archive.org, we needed a way to pass in a default start page for books. These
437
934
  - Move constants out of instance, and into class (eg BookReader.constMode1up)
438
935
 
439
936
  # 3.0.2
937
+
440
938
  In the process of upgrading IA, to use the new BookReader API, more changes/fixes were made.
441
939
 
442
940
  - Separate default options into BookReader.defaultOptions. This allows clients which use Internet Archive's JSIA endpoint (see demo-ia-plato.html) to have a hook into changing options. Also update plugins, to extend defaultOptions instead of modifying options in setup functions.
443
- - Add BookReader.version, which helps IA support older versions in the JSIA endpoint (eg https://archive.org/bookreader/BookReaderJSLocate.php?id=theworksofplato01platiala&subPrefix=theworksofplato01platiala).
941
+ - Add BookReader.version, which helps IA support older versions in the JSIA endpoint (eg <https://archive.org/bookreader/BookReaderJSLocate.php?id=theworksofplato01platiala&subPrefix=theworksofplato01platiala>).
444
942
  - Bring some IA-specific code into plugin.chapters.js
445
943
  - Add more options that were previously missed (protected, olHost, subPrefix, bookPath, zip, imageFormat, bookId). These are mostly for plugins. If you intend on using any of the plugins, you can see the full config options there.
446
944
 
447
945
  # 3.0.1
946
+
448
947
  - Fix issue setting info and share dialogs
449
948
 
450
949
  # 3.0.0 Major Release
@@ -455,12 +954,12 @@ Changes include:
455
954
 
456
955
  - Make BookReader easier to use, by adding `options` to the constructor, and adding new `options.data` option. The old way of overriding properties should still work, but it is deprecated. With `options.data`, all BookReader needs is the image URLs and dimensions. To have dynamic image URLs (eg for scaling), omit the URL from `options.data`, and include `options.getPageURI`.
457
956
  - Factor out extra features into plugins. See `plugins` directory. Example plugins include:
458
- - plugins.chapters.js - render chapter markers
459
- - plugins.search.js - add search ui, and callbacks
460
- - plugins.tts.js - add tts (read aloud) ui, sound library, and callbacks
461
- - plugins.url.js - automatically updates the browser url
462
- - plugins.resume.js - uses cookies to remember the current page
463
- - plugins.mobile_nav.js - adds responsive mobile nav to BookReader
957
+ - plugins.chapters.js - render chapter markers
958
+ - plugins.search.js - add search ui, and callbacks
959
+ - plugins.tts.js - add tts (read aloud) ui, sound library, and callbacks
960
+ - plugins.url.js - automatically updates the browser url
961
+ - plugins.resume.js - uses cookies to remember the current page
962
+ - plugins.mobile_nav.js - adds responsive mobile nav to BookReader
464
963
  Note that there is minor overhead added when loading multiple script tags. If this is a concern, a build step, can be used to concatenate the files into a single JS file.
465
964
  - Clean up code: Remove a lot of commented-out code. Remove some unused methods.
466
965
  - Change some, but not all, CSS ids to classes.
@@ -469,17 +968,21 @@ Note that there is minor overhead added when loading multiple script tags. If th
469
968
  - BREAKING: If features that are now in plugins were used, the plugin's JS file will need to be included as well. Note, we would also like to separate the CSS into a separate file for the next major release.
470
969
 
471
970
  # 2.1.0
971
+
472
972
  - Add auto mode to 1up autosize (in addition to height and width)
473
973
  - Remove the old responsiveAutofit (which is not needed anymore)
474
974
 
475
975
  # 2.0.2
976
+
476
977
  - Fix regex issue when searching
477
978
  - Make the search api endpoint configurable
478
979
 
479
980
  # 2.0.1
981
+
480
982
  - Add package.json and CHANGELOG
481
983
  - Remove more IA-specific code
482
984
 
483
985
  # 2.0.0
986
+
484
987
  - Major release
485
988
  - Many changes from updated Archive.org bookreader brought back to this open source project.