@internetarchive/bookreader 5.0.0-6-multiple-files → 5.0.0-60

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.
Files changed (303) hide show
  1. package/.eslintrc.js +17 -15
  2. package/.github/workflows/node.js.yml +77 -6
  3. package/.github/workflows/npm-publish.yml +6 -20
  4. package/.testcaferc.js +10 -0
  5. package/BookReader/BookReader.css +241 -377
  6. package/BookReader/BookReader.js +2 -21564
  7. package/BookReader/BookReader.js.LICENSE.txt +24 -20
  8. package/BookReader/BookReader.js.map +1 -1
  9. package/BookReader/ia-bookreader-bundle.js +1519 -0
  10. package/BookReader/ia-bookreader-bundle.js.LICENSE.txt +17 -0
  11. package/BookReader/ia-bookreader-bundle.js.map +1 -0
  12. package/BookReader/icons/1up.svg +1 -12
  13. package/BookReader/icons/2up.svg +1 -15
  14. package/BookReader/icons/advance.svg +3 -26
  15. package/BookReader/icons/chevron-right.svg +1 -1
  16. package/BookReader/icons/close-circle-dark.svg +1 -0
  17. package/BookReader/icons/close-circle.svg +1 -1
  18. package/BookReader/icons/fullscreen.svg +1 -17
  19. package/BookReader/icons/fullscreen_exit.svg +1 -17
  20. package/BookReader/icons/hamburger.svg +1 -15
  21. package/BookReader/icons/left-arrow.svg +1 -12
  22. package/BookReader/icons/magnify-minus.svg +1 -16
  23. package/BookReader/icons/magnify-plus.svg +1 -17
  24. package/BookReader/icons/magnify.svg +1 -15
  25. package/BookReader/icons/pause.svg +1 -23
  26. package/BookReader/icons/play.svg +1 -22
  27. package/BookReader/icons/playback-speed.svg +1 -34
  28. package/BookReader/icons/read-aloud.svg +1 -22
  29. package/BookReader/icons/review.svg +3 -22
  30. package/BookReader/icons/thumbnails.svg +1 -17
  31. package/BookReader/icons/voice.svg +1 -0
  32. package/BookReader/icons/volume-full.svg +1 -22
  33. package/BookReader/images/BRicons.svg +5 -94
  34. package/BookReader/images/books_graphic.svg +1 -177
  35. package/BookReader/images/icon_book.svg +1 -12
  36. package/BookReader/images/icon_bookmark.svg +1 -12
  37. package/BookReader/images/icon_gear.svg +1 -14
  38. package/BookReader/images/icon_hamburger.svg +1 -20
  39. package/BookReader/images/icon_home.svg +1 -21
  40. package/BookReader/images/icon_info.svg +1 -11
  41. package/BookReader/images/icon_one_page.svg +1 -8
  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 -15
  45. package/BookReader/images/icon_search_button.svg +1 -8
  46. package/BookReader/images/icon_share.svg +1 -9
  47. package/BookReader/images/icon_skip-ahead.svg +1 -6
  48. package/BookReader/images/icon_skip-back.svg +2 -13
  49. package/BookReader/images/icon_speaker.svg +1 -18
  50. package/BookReader/images/icon_speaker_open.svg +1 -10
  51. package/BookReader/images/icon_thumbnails.svg +1 -12
  52. package/BookReader/images/icon_toc.svg +1 -5
  53. package/BookReader/images/icon_two_pages.svg +1 -9
  54. package/BookReader/images/marker_chap-off.svg +1 -11
  55. package/BookReader/images/marker_chap-on.svg +1 -11
  56. package/BookReader/images/marker_srch-on.svg +1 -11
  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 -172
  60. package/BookReader/plugins/plugin.archive_analytics.js.map +1 -1
  61. package/BookReader/plugins/plugin.autoplay.js +1 -165
  62. package/BookReader/plugins/plugin.autoplay.js.map +1 -1
  63. package/BookReader/plugins/plugin.chapters.js +1 -304
  64. package/BookReader/plugins/plugin.chapters.js.map +1 -1
  65. package/BookReader/plugins/plugin.iframe.js +1 -74
  66. package/BookReader/plugins/plugin.iframe.js.map +1 -1
  67. package/BookReader/plugins/plugin.mobile_nav.js +1 -334
  68. package/BookReader/plugins/plugin.mobile_nav.js.map +1 -1
  69. package/BookReader/plugins/plugin.resume.js +1 -368
  70. package/BookReader/plugins/plugin.resume.js.map +1 -1
  71. package/BookReader/plugins/plugin.search.js +1 -1420
  72. package/BookReader/plugins/plugin.search.js.map +1 -1
  73. package/BookReader/plugins/plugin.text_selection.js +1 -1080
  74. package/BookReader/plugins/plugin.text_selection.js.map +1 -1
  75. package/BookReader/plugins/plugin.tts.js +2 -9193
  76. package/BookReader/plugins/plugin.tts.js.map +1 -1
  77. package/BookReader/plugins/plugin.url.js +1 -269
  78. package/BookReader/plugins/plugin.url.js.map +1 -1
  79. package/BookReader/plugins/plugin.vendor-fullscreen.js +1 -379
  80. package/BookReader/plugins/plugin.vendor-fullscreen.js.map +1 -1
  81. package/BookReader/webcomponents-bundle.js +3 -0
  82. package/BookReader/webcomponents-bundle.js.LICENSE.txt +9 -0
  83. package/BookReader/webcomponents-bundle.js.map +1 -0
  84. package/BookReaderDemo/BookReaderDemo.css +14 -1
  85. package/BookReaderDemo/BookReaderJSAutoplay.js +4 -1
  86. package/BookReaderDemo/BookReaderJSSimple.js +1 -0
  87. package/BookReaderDemo/IADemoBr.js +147 -0
  88. package/BookReaderDemo/demo-advanced.html +2 -2
  89. package/BookReaderDemo/demo-autoplay.html +2 -1
  90. package/BookReaderDemo/demo-embed-iframe-src.html +2 -1
  91. package/BookReaderDemo/demo-fullscreen-mobile.html +2 -1
  92. package/BookReaderDemo/demo-fullscreen.html +2 -1
  93. package/BookReaderDemo/demo-iiif.html +2 -1
  94. package/BookReaderDemo/demo-internetarchive.html +84 -17
  95. package/BookReaderDemo/demo-multiple.html +2 -1
  96. package/BookReaderDemo/demo-preview-pages.html +2 -1
  97. package/BookReaderDemo/demo-simple.html +2 -1
  98. package/BookReaderDemo/demo-vendor-fullscreen.html +2 -1
  99. package/BookReaderDemo/ia-multiple-volumes-manifest.js +170 -0
  100. package/BookReaderDemo/immersion-1up.html +2 -1
  101. package/BookReaderDemo/immersion-mode.html +2 -1
  102. package/BookReaderDemo/toggle_controls.html +2 -1
  103. package/BookReaderDemo/view_mode.html +2 -1
  104. package/BookReaderDemo/viewmode-cycle.html +2 -3
  105. package/CHANGELOG.md +246 -0
  106. package/README.md +14 -1
  107. package/babel.config.js +19 -0
  108. package/codecov.yml +6 -0
  109. package/index.html +3 -0
  110. package/jsconfig.json +19 -0
  111. package/netlify.toml +5 -0
  112. package/package.json +70 -59
  113. package/renovate.json +52 -0
  114. package/scripts/preversion.js +4 -1
  115. package/src/BookNavigator/assets/bookmark-colors.js +1 -1
  116. package/src/BookNavigator/assets/button-base.js +9 -2
  117. package/src/BookNavigator/assets/ia-logo.js +17 -0
  118. package/src/BookNavigator/assets/icon_checkmark.js +1 -1
  119. package/src/BookNavigator/assets/icon_close.js +1 -1
  120. package/src/BookNavigator/assets/icon_sort_asc.js +5 -0
  121. package/src/BookNavigator/assets/{icon_sort_ascending.js → icon_sort_desc.js} +2 -2
  122. package/src/BookNavigator/assets/icon_sort_neutral.js +5 -0
  123. package/src/BookNavigator/assets/icon_volumes.js +11 -0
  124. package/src/BookNavigator/book-navigator.js +585 -0
  125. package/src/BookNavigator/bookmarks/bookmark-button.js +3 -2
  126. package/src/BookNavigator/bookmarks/bookmark-edit.js +3 -4
  127. package/src/BookNavigator/bookmarks/bookmarks-list.js +2 -3
  128. package/src/BookNavigator/bookmarks/bookmarks-loginCTA.js +3 -8
  129. package/src/BookNavigator/bookmarks/bookmarks-provider.js +27 -17
  130. package/src/BookNavigator/bookmarks/ia-bookmarks.js +116 -67
  131. package/src/BookNavigator/delete-modal-actions.js +1 -1
  132. package/src/BookNavigator/downloads/downloads-provider.js +36 -21
  133. package/src/BookNavigator/downloads/downloads.js +41 -25
  134. package/src/BookNavigator/search/search-provider.js +80 -28
  135. package/src/BookNavigator/search/search-results.js +34 -25
  136. package/src/BookNavigator/sharing.js +27 -0
  137. package/src/BookNavigator/visual-adjustments/visual-adjustments-provider.js +11 -10
  138. package/src/BookNavigator/visual-adjustments/visual-adjustments.js +3 -3
  139. package/src/BookNavigator/volumes/volumes-provider.js +88 -53
  140. package/src/BookNavigator/volumes/volumes.js +41 -14
  141. package/src/BookReader/BookModel.js +59 -30
  142. package/src/BookReader/DebugConsole.js +3 -3
  143. package/src/BookReader/DragScrollable.js +233 -0
  144. package/src/BookReader/Mode1Up.js +56 -351
  145. package/src/BookReader/Mode1UpLit.js +391 -0
  146. package/src/BookReader/Mode2Up.js +73 -1318
  147. package/src/BookReader/Mode2UpLit.js +781 -0
  148. package/src/BookReader/ModeCoordinateSpace.js +29 -0
  149. package/src/BookReader/ModeSmoothZoom.js +211 -0
  150. package/src/BookReader/ModeThumb.js +17 -11
  151. package/src/BookReader/Navbar/Navbar.js +10 -36
  152. package/src/BookReader/PageContainer.js +69 -6
  153. package/src/BookReader/ReduceSet.js +1 -1
  154. package/src/BookReader/Toolbar/Toolbar.js +10 -37
  155. package/src/BookReader/events.js +2 -0
  156. package/src/BookReader/options.js +24 -2
  157. package/src/BookReader/utils/HTMLDimensionsCacher.js +44 -0
  158. package/src/BookReader/utils/ScrollClassAdder.js +31 -0
  159. package/src/BookReader/utils.js +108 -13
  160. package/src/BookReader.js +480 -825
  161. package/src/assets/icons/close-circle-dark.svg +1 -0
  162. package/src/assets/icons/magnify-minus.svg +3 -7
  163. package/src/assets/icons/magnify-plus.svg +3 -7
  164. package/src/assets/icons/voice.svg +1 -0
  165. package/src/css/BookReader.scss +0 -12
  166. package/src/css/_BRBookmarks.scss +1 -1
  167. package/src/css/_BRComponent.scss +1 -1
  168. package/src/css/_BRmain.scss +33 -24
  169. package/src/css/_BRnav.scss +4 -26
  170. package/src/css/_BRpages.scss +147 -40
  171. package/src/css/_BRsearch.scss +25 -216
  172. package/src/css/_TextSelection.scss +16 -17
  173. package/src/css/_colorbox.scss +2 -2
  174. package/src/css/_controls.scss +17 -5
  175. package/src/css/_icons.scss +7 -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 +4 -9
  179. package/src/plugins/plugin.chapters.js +28 -35
  180. package/src/plugins/plugin.mobile_nav.js +11 -10
  181. package/src/plugins/plugin.resume.js +3 -3
  182. package/src/plugins/plugin.text_selection.js +32 -41
  183. package/src/plugins/plugin.vendor-fullscreen.js +4 -4
  184. package/src/plugins/search/plugin.search.js +179 -116
  185. package/src/plugins/search/view.js +63 -179
  186. package/src/plugins/tts/AbstractTTSEngine.js +46 -37
  187. package/src/plugins/tts/FestivalTTSEngine.js +13 -14
  188. package/src/plugins/tts/PageChunk.js +15 -21
  189. package/src/plugins/tts/PageChunkIterator.js +8 -12
  190. package/src/plugins/tts/WebTTSEngine.js +87 -71
  191. package/src/plugins/tts/plugin.tts.js +94 -125
  192. package/src/plugins/tts/utils.js +0 -25
  193. package/src/plugins/url/UrlPlugin.js +193 -0
  194. package/src/plugins/{plugin.url.js → url/plugin.url.js} +45 -16
  195. package/src/util/docCookies.js +21 -2
  196. package/tests/e2e/README.md +37 -0
  197. package/tests/e2e/autoplay.test.js +2 -2
  198. package/tests/e2e/base.test.js +7 -7
  199. package/tests/e2e/helpers/base.js +28 -23
  200. package/tests/e2e/helpers/debug.js +1 -1
  201. package/tests/e2e/helpers/desktopSearch.js +14 -13
  202. package/tests/e2e/helpers/mobileSearch.js +3 -3
  203. package/tests/e2e/helpers/params.js +17 -0
  204. package/tests/e2e/helpers/rightToLeft.js +4 -10
  205. package/tests/e2e/models/Navigation.js +13 -4
  206. package/tests/e2e/rightToLeft.test.js +4 -5
  207. package/tests/e2e/viewmode.test.js +40 -33
  208. package/tests/jest/BookNavigator/book-navigator.test.js +658 -0
  209. package/tests/jest/BookNavigator/bookmarks/bookmark-button.test.js +43 -0
  210. package/tests/{karma → jest}/BookNavigator/bookmarks/bookmark-edit.test.js +25 -26
  211. package/tests/{karma → jest}/BookNavigator/bookmarks/bookmarks-list.test.js +41 -42
  212. package/tests/jest/BookNavigator/bookmarks/ia-bookmarks.test.js +45 -0
  213. package/tests/jest/BookNavigator/downloads/downloads-provider.test.js +67 -0
  214. package/tests/jest/BookNavigator/downloads/downloads.test.js +53 -0
  215. package/tests/jest/BookNavigator/search/search-provider.test.js +167 -0
  216. package/tests/{karma/BookNavigator → jest/BookNavigator/search}/search-results.test.js +104 -60
  217. package/tests/jest/BookNavigator/sharing/sharing-provider.test.js +49 -0
  218. package/tests/jest/BookNavigator/visual-adjustments.test.js +200 -0
  219. package/tests/jest/BookNavigator/volumes/volumes-provider.test.js +184 -0
  220. package/tests/jest/BookNavigator/volumes/volumes.test.js +97 -0
  221. package/tests/{BookReader → jest/BookReader}/BookModel.test.js +59 -14
  222. package/tests/jest/BookReader/BookReaderPublicFunctions.test.js +193 -0
  223. package/tests/{BookReader → jest/BookReader}/DebugConsole.test.js +1 -1
  224. package/tests/{BookReader → jest/BookReader}/ImageCache.test.js +4 -4
  225. package/tests/jest/BookReader/Mode1UpLit.test.js +73 -0
  226. package/tests/jest/BookReader/Mode2Up.test.js +98 -0
  227. package/tests/jest/BookReader/Mode2UpLit.test.js +190 -0
  228. package/tests/jest/BookReader/ModeCoordinateSpace.test.js +16 -0
  229. package/tests/jest/BookReader/ModeSmoothZoom.test.js +175 -0
  230. package/tests/jest/BookReader/ModeThumb.test.js +71 -0
  231. package/tests/{BookReader → jest/BookReader}/Navbar/Navbar.test.js +10 -10
  232. package/tests/{BookReader → jest/BookReader}/PageContainer.test.js +88 -6
  233. package/tests/{BookReader → jest/BookReader}/ReduceSet.test.js +1 -1
  234. package/tests/{BookReader → jest/BookReader}/Toolbar/Toolbar.test.js +2 -2
  235. package/tests/jest/BookReader/utils/HTMLDimensionsCacher.test.js +59 -0
  236. package/tests/jest/BookReader/utils/ScrollClassAdder.test.js +49 -0
  237. package/tests/{BookReader → jest/BookReader}/utils/classes.test.js +1 -1
  238. package/tests/jest/BookReader/utils.test.js +217 -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/{plugins → jest/plugins}/plugin.chapters.test.js +10 -11
  245. package/tests/{plugins → jest/plugins}/plugin.iframe.test.js +2 -2
  246. package/tests/{plugins → jest/plugins}/plugin.mobile_nav.test.js +5 -5
  247. package/tests/{plugins → jest/plugins}/plugin.resume.test.js +3 -3
  248. package/tests/{plugins → jest/plugins}/plugin.text_selection.test.js +39 -47
  249. package/tests/{plugins → jest/plugins}/plugin.vendor-fullscreen.test.js +2 -2
  250. package/tests/{plugins → jest/plugins}/search/plugin.search.test.js +63 -47
  251. package/tests/{plugins → jest/plugins}/search/plugin.search.view.test.js +35 -6
  252. package/tests/{plugins → jest/plugins}/tts/AbstractTTSEngine.test.js +9 -9
  253. package/tests/{plugins → jest/plugins}/tts/FestivalTTSEngine.test.js +4 -4
  254. package/tests/{plugins → jest/plugins}/tts/PageChunk.test.js +1 -1
  255. package/tests/{plugins → jest/plugins}/tts/PageChunkIterator.test.js +3 -3
  256. package/tests/{plugins → jest/plugins}/tts/WebTTSEngine.test.js +47 -1
  257. package/tests/{plugins → jest/plugins}/tts/utils.test.js +1 -60
  258. package/tests/jest/plugins/url/UrlPlugin.test.js +190 -0
  259. package/tests/{plugins → jest/plugins/url}/plugin.url.test.js +53 -14
  260. package/tests/jest/setup.js +3 -0
  261. package/tests/{util → jest/util}/browserSniffing.test.js +1 -1
  262. package/tests/jest/util/docCookies.test.js +24 -0
  263. package/tests/{util → jest/util}/strings.test.js +1 -1
  264. package/tests/{utils.js → jest/utils.js} +38 -0
  265. package/webpack.config.js +11 -5
  266. package/.babelrc +0 -12
  267. package/.dependabot/config.yml +0 -6
  268. package/.testcaferc.json +0 -5
  269. package/BookReader/bookreader-component-bundle.js +0 -14312
  270. package/BookReader/bookreader-component-bundle.js.LICENSE.txt +0 -38
  271. package/BookReader/bookreader-component-bundle.js.map +0 -1
  272. package/BookReader/icons/sort-ascending.svg +0 -1
  273. package/BookReader/icons/sort-descending.svg +0 -1
  274. package/BookReader/jquery-1.10.1.js +0 -108
  275. package/BookReader/jquery-1.10.1.js.LICENSE.txt +0 -24
  276. package/BookReader/plugins/plugin.menu_toggle.js +0 -369
  277. package/BookReader/plugins/plugin.menu_toggle.js.map +0 -1
  278. package/BookReaderDemo/bookreader-template-bundle.js +0 -7178
  279. package/BookReaderDemo/demo-plugin-menu-toggle.html +0 -34
  280. package/karma.conf.js +0 -23
  281. package/src/BookNavigator/BookModel.js +0 -14
  282. package/src/BookNavigator/BookNavigator.js +0 -452
  283. package/src/BookNavigator/assets/book-loader.js +0 -27
  284. package/src/BookNavigator/assets/icon_sort_descending.js +0 -5
  285. package/src/BookNavigator/br-fullscreen-mgr.js +0 -83
  286. package/src/BookNavigator/search/a-search-result.js +0 -55
  287. package/src/BookReaderComponent/BookReaderComponent.js +0 -112
  288. package/src/ItemNavigator/ItemNavigator.js +0 -372
  289. package/src/ItemNavigator/providers/sharing.js +0 -29
  290. package/src/assets/icons/sort-ascending.svg +0 -1
  291. package/src/assets/icons/sort-descending.svg +0 -1
  292. package/src/dragscrollable-br.js +0 -261
  293. package/src/plugins/menu_toggle/plugin.menu_toggle.js +0 -324
  294. package/tests/BookReader/BookReaderPublicFunctions.test.js +0 -171
  295. package/tests/BookReader/Mode1Up.test.js +0 -164
  296. package/tests/BookReader/Mode2Up.test.js +0 -247
  297. package/tests/BookReader/utils.test.js +0 -109
  298. package/tests/e2e/ia-production/ia-prod-base.js +0 -17
  299. package/tests/karma/BookNavigator/book-navigator.test.js +0 -132
  300. package/tests/karma/BookNavigator/visual-adjustments.test.js +0 -201
  301. package/tests/karma/BookNavigator/volumes.test.js +0 -101
  302. package/tests/plugins/menu_toggle/plugin.menu_toggle.test.js +0 -68
  303. package/tests/util/docCookies.test.js +0 -15
@@ -7,9 +7,8 @@
7
7
  <meta name="apple-mobile-web-app-capable" content="yes">
8
8
 
9
9
  <!-- JS dependencies -->
10
- <script src="../BookReader/jquery-1.10.1.js"></script>
11
-
12
- <script src="../BookReader/jquery.bt.min.js"></script>
10
+ <script src="../BookReader/webcomponents-bundle.js"></script>
11
+ <script src="../BookReader/jquery-3.js"></script>
13
12
 
14
13
  <!-- BookReader and plugins -->
15
14
  <link rel="stylesheet" href="../BookReader/BookReader.css"/>
package/CHANGELOG.md CHANGED
@@ -1,3 +1,249 @@
1
+ # 5.0.0-60
2
+ - Fix: Update modal manager to fix duplicate definitions warnings on IA @cdrini
3
+ - Fix: Common Sentry error `.spread` undefined @cdrini
4
+ - Fix: entering page appearing early in flip anim @cdrini
5
+ - Fix: preview pages not working in 1up @cdrini
6
+ - Dev: Make serve-dev not do full production babeling (This makes it waaaay easier/faster to debug things like promises) @cdrini
7
+ - Dev: Log an error if search inside fails for sentry @cdrini
8
+ - Dev: Make dev server support CORS to allow testing via ngrok @cdrini
9
+ - Refactor: Rm redundant archive_analytics checks @cdrini
10
+ - Refactor: Dissolve a-search-result.js component @cdrini
11
+
12
+ # 5.0.0-59
13
+ - Rewrite 2up view to use css transforms and lit @cdrini
14
+ - Pretty substantial change. Lots of breaking changes to public methods.
15
+
16
+ # 5.0.0-58
17
+ - Fix BookReader sometimes failing to load when starting in Mode1Up @cdrini
18
+ - Update testing dependencies @cdrini
19
+
20
+ # 5.0.0-57
21
+ - Fix - do not show Download pane when there aren't any available @iisa
22
+
23
+ # 5.0.0-56
24
+ - Fix DOMException in sandboxed iframe in chrome @cdrini
25
+
26
+ # 5.0.0-55
27
+ - Fix BookReader going to 1up in fullscreen on desktop @mheiman
28
+ - Support BookReader running in sandboxed (cookie-less) iframe @cdrini
29
+ - Update IA dependencies to avoid duplicate dependencies @cdrini
30
+
31
+ # 5.0.0-54
32
+ - Dev: Dispatch custom event from bookreader for ia-book-actions @nsharma123
33
+
34
+ # 5.0.0-53
35
+ - Dev: update icons & lit versions to help a.o build @iisa
36
+
37
+ # 5.0.0-52
38
+ # 5.0.0-51
39
+ - Fix: Bookmark with subfiles was broken @nsharma123
40
+ - Feature: Default 1up mode and options.defaults mode override exiting mode @nsharma123
41
+
42
+ # 5.0.0-50
43
+ Fix: Search results display @latonv
44
+
45
+ # 5.0.0-49
46
+ - Dev: remove class shims, v5 deprecations @cdrini
47
+ - Dev: update dependency (@open-wc/testing-helpers) @renovate
48
+ - Dev: e2e - remove ia test + export DesktopNav for external usage @iisa
49
+
50
+ # 5.0.0-48
51
+ - Fix: move analytics to sample bucket @iisa
52
+ - Dev: update dependencies (concurrently, jest) @renovate
53
+
54
+ # 5.0.0-47
55
+ - Fix: XSS vulnerability in search results @latonv
56
+ - Dev: Update jQuery to v3 **BREAKING** @cdrini
57
+ - If you were importing `BookReader/jquery-1.10.1.js` you will need to change it to `BookReader/jquery-3.js`
58
+ - Also ensure if other code was using this jquery that it works with jQuery 3!
59
+ - Dev: Update testing dependencies (jest, testcafe) @renovate
60
+
61
+ # 5.0.0-46
62
+ Fix: Leaf positioning during RTL fliip animation @latonv
63
+ Dev: dependency updates @renovate
64
+ Fix: Disable contextmenu for restricted books @iisa
65
+
66
+ # 5.0.0-45
67
+ # 5.0.0-44
68
+ Fix: dynamic `q=<term>` url parameter @iisa
69
+ Dev: dependency updates @renovate
70
+
71
+ # 5.0.0-43
72
+ Fix: search results panel display asserted page numbers @cdrini
73
+ Dev: dependency updates @renovate
74
+ Dev: node-fetch update @cdrini
75
+
76
+ # 5.0.0-42
77
+ Dev: update testing dependencies @renovate
78
+ Dev: update `<ia-item-navigator>` @iisa
79
+
80
+ # 5.0.0-40
81
+ Fix: Better search highlights @cdrini
82
+ Dev: update lit 2 components @iisa
83
+ Dev: update lit @renovate
84
+
85
+ # 5.0.0-39
86
+ Fix: Performance improvements to scroll/zooming when text layer is larger @cdrini
87
+ Fix: Update zoom in/out icons to match iconochive glyphs @pezvi
88
+ Dev: update dependencies @renovate
89
+
90
+ # 5.0.0-38
91
+ Dev: Add Renovate Bot @cdrini
92
+ Dev: Update node-fetch @cdrini
93
+ Fix: Search request promise err & fix tests @cdrini
94
+ Dev: Split node workflow into different jobs @cdrini
95
+ Dev: Give cache steps better names in GHA @cdrini
96
+ Dev: Update concurrently + Small speedup to build & test @cdrini
97
+ Dev: Renovate - Auto-update dev dependencies for minor/patch @cdrini
98
+ Fix: Better MS Edge voice selection @cdrini
99
+ Dev: Allow small drops in codecov coverage (< 0.5%) @cdrini
100
+ Dev: Renovate - add `^@internetarchive/icon-` @cdrini
101
+
102
+ # 5.0.0-37
103
+ Fix: Update all `.then()` to async/await @sancodes
104
+ Fix: Upgrade to Lit 2 @Aadilhassan
105
+ Dev: Update to Node v16.x @duggiefresh
106
+ Dev: Remove unused demo bundle @cdrini
107
+ Dev: Fix README broken link for plugin directory @duggiefresh
108
+ Dev: Update sharing options menu to lit2 @iisa
109
+ Dev: Remove package publishing from GHA @cdrini
110
+
111
+ # 5.0.0-36
112
+ Fix: Readaloud scrolls along with dext @cdrini
113
+ Dev: ES6 var to let/const updates @sancodes
114
+ Dev: ES6 async/await updates @sancodes
115
+ Dev: Re-enable testcafe tests in GH action @iisa
116
+ Fix: Search results bar clears and closes properly @iisa
117
+
118
+ # 5.0.0-35
119
+ Fix: global style leak specify colorbox styles @iisa
120
+ Fix: br menu reinits with shared ro load @iisa
121
+ Fix: url plugin does not rewrite with multiple slashes @iisa
122
+
123
+ # 5.0.0-34
124
+ Dev: update test dependencies @cdrini
125
+ Fix: Update hyphen stitching regex to include dangling "¬" @cdrini
126
+ Fix: pop open multiple files menu at proper width @iisa
127
+
128
+ # 5.0.0-33
129
+ Fix: restricted books get cover image @iisa
130
+
131
+ # 5.0.0-32
132
+ Fix: fetch bookmarks from service when logged in @iisa
133
+ Fix: adjust css to help shadydom render properly @iisa
134
+ # 5.0.0-31
135
+ Fix: modal loads into dom from `<ia-bookreader>` @iisa
136
+
137
+ # 5.0.0-30
138
+ - `<ia-bookreader>` is top-most web component @iisa
139
+
140
+ # 5.0.0-29
141
+ - import ia-item-navigator for menu management @iisa
142
+ - url plugin: suppress default state on load @dualcnhq
143
+
144
+ # 5.0.0-28
145
+ Dev: Refactor URLPlugin + sync volumes sorting state to URL @dualcnhq @cdrini
146
+
147
+ # 5.0.0-27
148
+ Dev: eslint fix for $.browser @homewardgamer
149
+ Fix: cache search inside requests @iisa
150
+ # 5.0.0-26
151
+ Fix: read aloud play/pause button @nsharma123
152
+ Dev: strict keyboard shortcuts @mc2
153
+ Dev: update IA demo page @iisa
154
+
155
+ # 5.0.0-24
156
+ Fix: book-nav side panel zoom out @mc2
157
+ Dev: refactor zoom code @mc2
158
+
159
+ # 5.0.0-23
160
+ Fix: Darken scrollbars in Safari @pezvi
161
+ Fix: Bookmarks service calls when reader is logged in @mc2
162
+ Dev: Move jest tests into separate directory @cdrini
163
+
164
+ # 5.0.0-22
165
+ - Dev: remove deprecated embed nav view, use standard default @iisa
166
+
167
+ # 5.0.0-21
168
+ - Dev: Toggle view=theater in fullscreen @mc2
169
+
170
+ # 5.0.0-20
171
+ - Feature: Add voice selection dropdown to ReadAloud! @mekarpeles
172
+ - Dev: Make jest support root-level imports with "@" @cdrini
173
+ - Dev: Make it easy to run e2e tests on archive.org/browserstack @cdrini
174
+
175
+ # 5.0.0-19
176
+ - Dev: Refactor dragscrollable from a jquery plugin to a JS class @cdrini
177
+ - Dev: Fix jquery eslint errors @cdrini
178
+ - Dev: Replace deprecated babel-eslint with successor @cdrini
179
+ - Fix: BR not working on iOS 9 / iOS 10! @cdrini, @iisa
180
+ - Added webcomponents, ResizeObserver polyfill
181
+ - ES5-ify lit node_modules
182
+
183
+ # 5.0.0-18
184
+ - Dev: Update a number of dependencies @cdrini
185
+ - Dev: Added eslint-plugin-no-jquery @soham4abc
186
+ - Feature: Add continuous pinch zooming for touch screens and trackpads! @cdrini
187
+ - 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.
188
+ - Breaking changes (unlikely to be used by anyone):
189
+ - Most Mode1Up Bookreader global functions removed (unlikely to be used): `drawLeafsOnePage`, `onePageGetAutofitWidth`, `onePageGetAutofitHeight`, `onePageGetPageTop`, `onePageCalculateReductionFactors`, `centerX1up`, `centerY1up`
190
+ - Some Mode2Up cleanups: Removed `setClickHandler2UP`, `setMouseHandlers2UP`
191
+ - [Web components](https://caniuse.com/custom-elementsv1) now must be supported
192
+ - Reduction factors options no longer applies to 1up
193
+
194
+ # 5.0.0-17
195
+ - Fix: focus in a textarea disables keyboard shortcuts @cdrini
196
+
197
+ # 5.0.0-16
198
+ - Dev: remove unused menu toggle plugin @iisa
199
+ - Fix: Book nav loader safari update @iisa
200
+
201
+ # 5.0.0-15
202
+ - Fix: Typing -/+ in search box no longer zooms @cdrini
203
+ - Dev: Add script for updating dev deps @cdrini
204
+ - Refactor/Fix: Convert search/TTS highlights to use SVG layer @cdrini
205
+ - Fix TTS highlights not positioned correctly in Mode1Up
206
+ - Breaking changes (unlikely these are used by anyone):
207
+ - Remove public method `BookReader.prototype.keyboardNavigationIsDisabled`
208
+ - Remove public method `BookReader.util.sleep`
209
+ - Remove public method `BookReader.prototype.updateSearchHilites1UP`
210
+ - Remove public method `BookReader.prototype.updateSearchHilites2UP`
211
+ - Remove public attribute `BookReader.prototype.ttsHilites`
212
+
213
+ # 5.0.0-14
214
+ - Fix: Url search param `q=` updates dynamically @nsharma123
215
+ - Fix: Downloads menu text updates @dualcnhq
216
+ - Fix: Volumes updates - icons, labelling, open menu onload @iisa
217
+
218
+ # 5.0.0-13
219
+ - Enhancement: Add neutral state for sorting volumes @dualcnhq
220
+ - Enhancement: Update subfiles/volumes title sorting logic by filename -> title_asc -> title_desc order then back to filename @dualcnhq
221
+ - Fix: Volume item index count display @dualcnhq
222
+
223
+
224
+ # 5.0.0-12
225
+ - Fix: new side panel: sortable multiple volumes @dualcnhq @iisa
226
+ - Fix: sharing side panel can share subfile/volume @iisa
227
+
228
+ # 5.0.0-11
229
+ - Fix: standardize button style for download panel @nsharma123
230
+ # 5.0.0-10
231
+ - Fix: Make 1up default to full width (up to real world size) @cdrini
232
+ - Fix: Remove "page" from toolbar @cdrini
233
+ - Dev: Update menu slider @iisa
234
+ - Dev: Add semi-colons eslint rule @iisa
235
+
236
+ # 5.0.0-9
237
+ - Fix: search-inside results check for page's index via `leafNum` @nsharma123
238
+ # 5.0.0-8
239
+ - Fix: cancel search fix naming var @iisa
240
+
241
+ # 5.0.0-7
242
+ - Fix: cancel search @iisa
243
+ - Dev: remove dead css @cdrini
244
+ - Dev: GHA node_modules caching @cdrini
245
+ # 5.0.0-6
246
+ - Fix: Fullscreen toggle sets/unsets animating flag @iisa
1
247
  # 5.0.0-5
2
248
  - Fix: Book Nav: resize only when bookreader is not animating @iisa
3
249
  - Fix: Web components register themselves at EOF @iisa
package/README.md CHANGED
@@ -123,7 +123,7 @@ A peek in how to use/extend core functionality:
123
123
  - plugin.url.js - automatically updates the browser url
124
124
  - plugin.resume.js - uses cookies to remember the current page
125
125
  - plugin.vendor-fullscreen.js - replaces fullscreen mode with vendor native fullscreen
126
- - see plugin directory for current plugin files ()[https://github.com/internetarchive/bookreader/tree/master/src/plugins]
126
+ - see [plugin directory for current plugin files](https://github.com/internetarchive/bookreader/tree/master/src/plugins)
127
127
 
128
128
  ### Embedding BookReader in an iFrame
129
129
 
@@ -149,6 +149,19 @@ The source JavaScript is written in ES6 (located in the `src/js` directory) and
149
149
 
150
150
  Until the next major version bump, we have to store the build files inside the repo to maintain backwards compatibility. Please _DO NOT_ include these files in your PR. Anything in the `BookReader/` directory should not be committed.
151
151
 
152
+ ### Developing icons
153
+ To see local icon package changes in bookreader, you'll need to install core-js into the icon package and link into bookreader.
154
+
155
+ Let's use `icon-share` as an example.
156
+ 1. Confirm your icon package is working properly in the iaux-icons demo
157
+ 2. Navigate to your icon package (`iaux-icons/packages/icon-share`) and run command: `npm install core-js`
158
+ - You shouldn't need to commit any of these core-js changes
159
+ 3. From within your icon package directory run command: `npm link`
160
+ - You can use the command `npm ls -g` to confirm your local package now appears in the registry
161
+ 4. Navigate to `/bookreader` and run command: `npm link @internetarchive/icon-share`
162
+ - You can use the command `npm ls |grep icon-share` to confirm icon-share is now a link to your local directory
163
+ 5. You may now start a local server to see your changes by running command: `npm run serve-dev`
164
+
152
165
  ## Releases
153
166
 
154
167
  To version bump the repo and prepare a release, run `npm version major|minor|patch` (following [semver](https://semver.org/)), then (something like) `git push origin HEAD --tags`. It'll automatically update the version number where it appears, build the files, and ask you to update the CHANGELOG.
@@ -0,0 +1,19 @@
1
+ module.exports = {
2
+ presets: [
3
+ [
4
+ "@babel/preset-env",
5
+ process.env.NODE_ENV == "test" ? { targets: { node: process.version } } :
6
+ process.env.NODE_ENV == "development" ? { targets: "last 2 Chrome versions, last 2 Firefox versions, last 2 Safari versions, last 2 Edge versions" } : {
7
+ targets: "> 2%, ie 11, edge 14, samsung > 9, OperaMini all, UCAndroid > 12, Safari >= 9",
8
+ useBuiltIns: "usage",
9
+ corejs: 3
10
+ }
11
+ ]
12
+ ],
13
+ plugins: [
14
+ ["@babel/plugin-proposal-decorators", {decoratorsBeforeExport: true}],
15
+ ["@babel/plugin-proposal-class-properties", {loose: true}],
16
+ ["@babel/plugin-proposal-private-property-in-object", { loose: true }],
17
+ ["@babel/plugin-proposal-private-methods", { loose: true }],
18
+ ]
19
+ };
package/codecov.yml CHANGED
@@ -1,6 +1,12 @@
1
1
  codecov:
2
2
  notify:
3
3
  require_ci_to_pass: yes
4
+ status:
5
+ project:
6
+ default:
7
+ # Allow small drops in coverage
8
+ threshold: 0.005 # .5 %
9
+ if_not_found: failure
4
10
 
5
11
  coverage:
6
12
  precision: 2
package/index.html CHANGED
@@ -18,12 +18,15 @@
18
18
  <li><a href="BookReaderDemo/demo-preview-pages.html">Preview Pages</a></li>
19
19
  <li><a href="BookReaderDemo/demo-embed.html">Embed</a></li>
20
20
  <li><a href="BookReaderDemo/demo-multiple.html">Multiple on same page</a></li>
21
+ <!-- plugin.search.js -->
21
22
  <li><a href="BookReaderDemo/demo-internetarchive.html?ocaid=theworksofplato01platiala">From Internet Archive</a></li>
23
+ <!-- plugin.search.js -->
22
24
  <li><a href="BookReaderDemo/demo-internetarchive.html?ocaid=adventuresofoli00dick">From Internet Archive - a book with CHAPTERS</a></li>
23
25
  <li><a href="BookReaderDemo/demo-iiif.html">IIIF</a></li>
24
26
  <li><a href="BookReaderDemo/demo-autoplay.html">Autoplay (kiosk mode)</a></li>
25
27
  <li><a href="BookReaderDemo/demo-plugin-menu-toggle.html">Plugin: Full screen menu toggle</a></li>
26
28
  <li><a href="BookReaderDemo/immersion-mode.html">Start in immersion (fullscreen) mode</a></li>
29
+ <!-- plugin.search.js -->
27
30
  <li><a href="BookReaderDemo/immersion-1up.html">Start in immersion mode on 1up default item</a></li>
28
31
  <li><a href="BookReaderDemo/viewmode-cycle.html">Replace view mode buttons with view mode cycler</a></li>
29
32
  </ul>
package/jsconfig.json ADDED
@@ -0,0 +1,19 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "es6",
4
+ "moduleResolution": "node",
5
+ "experimentalDecorators": true,
6
+ "baseUrl": ".",
7
+ "paths": {
8
+ "@/*": ["./*"]
9
+ }
10
+ },
11
+ "include": [
12
+ "src/**/*.js",
13
+ "tests/**/*.js",
14
+ ],
15
+ "exclude": [
16
+ "node_modules",
17
+ "BookReader"
18
+ ]
19
+ }
package/netlify.toml ADDED
@@ -0,0 +1,5 @@
1
+ [[headers]]
2
+ # Define which paths this specific [[headers]] block will cover.
3
+ for = "/BookReader/*"
4
+ [headers.values]
5
+ Access-Control-Allow-Origin = "*"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@internetarchive/bookreader",
3
- "version": "5.0.0-6-multiple-files",
3
+ "version": "5.0.0-60",
4
4
  "description": "The Internet Archive BookReader.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -9,7 +9,7 @@
9
9
  "publishConfig": {
10
10
  "access": "public"
11
11
  },
12
- "module": "src/BookNavigator/BookNavigator.js",
12
+ "module": "src/ia-bookreader/ia-bookreader.js",
13
13
  "keywords": [
14
14
  "online",
15
15
  "bookreader",
@@ -25,73 +25,83 @@
25
25
  "homepage": "https://github.com/internetarchive/bookreader#readme",
26
26
  "private": false,
27
27
  "dependencies": {
28
- "@internetarchive/ia-activity-indicator": "^0.0.1",
29
- "@internetarchive/ia-icons": "^1.2.3",
30
- "@internetarchive/ia-menu-slider": "0.2.0-alpha3",
31
- "@internetarchive/ia-sharing-options": "^0.1.2",
32
- "@internetarchive/icon-bookmark": "^1.1.3",
33
- "@internetarchive/icon-collapse-sidebar": "^1.1.0",
34
- "@internetarchive/icon-edit-pencil": "1.1.5",
35
- "@internetarchive/icon-magnify-minus": "^1.2.3",
36
- "@internetarchive/icon-magnify-plus": "^1.2.3",
37
- "@internetarchive/icon-search": "^1.2.3",
38
- "@internetarchive/modal-manager": "^0.1.0",
39
- "lit-element": "^2.4.0",
40
- "lit-html": "^1.3.0"
28
+ "@internetarchive/ia-activity-indicator": "^0.0.4",
29
+ "@internetarchive/ia-item-navigator": "^1.0.3",
30
+ "@internetarchive/ia-sharing-options": "^1.0.2",
31
+ "@internetarchive/icon-bookmark": "^1.3.4",
32
+ "@internetarchive/icon-dl": "^1.3.4",
33
+ "@internetarchive/icon-edit-pencil": "^1.3.4",
34
+ "@internetarchive/icon-magnify-minus": "^1.3.4",
35
+ "@internetarchive/icon-magnify-plus": "^1.3.4",
36
+ "@internetarchive/icon-search": "^1.3.4",
37
+ "@internetarchive/icon-share": "^1.3.4",
38
+ "@internetarchive/icon-visual-adjustment": "^1.3.4",
39
+ "@internetarchive/modal-manager": "^0.2.12",
40
+ "@internetarchive/shared-resize-observer": "^0.2.0",
41
+ "lit": "^2.5.0"
41
42
  },
42
43
  "devDependencies": {
43
- "@babel/core": "7.13.16",
44
- "@babel/preset-env": "7.13.15",
45
- "@open-wc/testing": "^2.5.33",
46
- "@open-wc/testing-karma": "^4.0.9",
47
- "@types/jest": "26.0.23",
48
- "babel-loader": "8.2.2",
49
- "codecov": "3.8.1",
50
- "concurrently": "6.0.2",
51
- "core-js": "3.11.0",
52
- "cpx2": "3.0.0",
53
- "eslint": "7.25.0",
54
- "eslint-plugin-testcafe": "0.2.1",
55
- "http-server": "0.12.3",
56
- "iso-language-codes": "1.0.8",
57
- "jest": "26.6.3",
58
- "jquery": "1.11.3",
44
+ "@babel/core": "7.17.9",
45
+ "@babel/eslint-parser": "7.21.3",
46
+ "@babel/plugin-proposal-class-properties": "7.16.7",
47
+ "@babel/plugin-proposal-decorators": "7.17.9",
48
+ "@babel/preset-env": "7.16.11",
49
+ "@open-wc/testing-helpers": "^2.2.0",
50
+ "@types/jest": "^29.5.0",
51
+ "@webcomponents/webcomponentsjs": "^2.6.0",
52
+ "babel-loader": "8.2.5",
53
+ "codecov": "^3.8.3",
54
+ "concurrently": "7.4.0",
55
+ "core-js": "3.22.3",
56
+ "cpx2": "4.2.0",
57
+ "eslint": "^7.32.0",
58
+ "eslint-plugin-no-jquery": "^2.7.0",
59
+ "eslint-plugin-testcafe": "^0.2.1",
60
+ "hammerjs": "^2.0.8",
61
+ "http-server": "14.1.1",
62
+ "iso-language-codes": "1.1.0",
63
+ "jest": "29.5.0",
64
+ "jest-environment-jsdom": "^29.4.3",
65
+ "jquery": "3.6.1",
59
66
  "jquery-colorbox": "1.6.4",
60
67
  "jquery-ui": "1.12.1",
61
68
  "jquery-ui-touch-punch": "0.2.3",
62
69
  "jquery.browser": "0.1.0",
63
70
  "jquery.mmenu": "5.6.5",
64
- "karma-coverage": "^2.0.3",
65
- "live-server": "1.2.1",
66
- "node-fetch": "2.6.1",
67
- "regenerator-runtime": "0.13.7",
68
- "sass": "1.32.11",
69
- "sinon": "10.0.0",
71
+ "live-server": "1.2.2",
72
+ "node-fetch": "3.2.10",
73
+ "regenerator-runtime": "0.13.9",
74
+ "sass": "1.52.1",
75
+ "sinon": "15.0.3",
70
76
  "soundmanager2": "2.97.20170602",
71
- "svgo": "2.3.0",
72
- "testcafe": "1.14.0",
73
- "webpack": "5.35.0",
74
- "webpack-cli": "4.6.0"
77
+ "svgo": "2.8.0",
78
+ "testcafe": "2.4.0",
79
+ "testcafe-browser-provider-browserstack": "^1.13.2-alpha.1",
80
+ "webpack": "5.51.1",
81
+ "webpack-cli": "4.9.2"
75
82
  },
76
83
  "jest": {
84
+ "testEnvironment": "jsdom",
85
+ "transformIgnorePatterns": [
86
+ "node_modules/(?!(lit-html|lit-element|lit|@lit|@internetarchive|@open-wc)/)"
87
+ ],
88
+ "moduleNameMapper": {
89
+ "^@/(.*)$": "<rootDir>/$1"
90
+ },
77
91
  "setupFiles": [
78
- "./src/jquery-wrapper.js"
92
+ "./src/jquery-wrapper.js",
93
+ "./tests/jest/setup.js"
79
94
  ],
80
95
  "roots": [
81
96
  "<rootDir>/src/",
82
- "<rootDir>/tests/"
83
- ],
84
- "testPathIgnorePatterns": [
85
- "<rootDir>/tests/e2e/",
86
- "<rootDir>/tests/karma/"
87
- ],
88
- "coverageDirectory": "<rootDir>/coverage-jest"
97
+ "<rootDir>/tests/jest/"
98
+ ]
89
99
  },
90
100
  "scripts": {
91
101
  "preversion": "npm run test && node scripts/preversion.js",
92
102
  "version": "node scripts/version.js",
93
103
  "postversion": "node scripts/postversion.js",
94
- "build": "npm run clean && npm run build-js && npm run build-css && npm run build-assets",
104
+ "build": "npm run clean && npx concurrently --group npm:build-js npm:build-css npm:build-assets",
95
105
  "build-assets": "npx cpx \"src/assets/**/*\" BookReader && npx svgo -f BookReader/icons && npx svgo -f BookReader/images",
96
106
  "build-assets:watch": "npx cpx --watch --verbose \"src/assets/**/*\" BookReader",
97
107
  "build-js": "npx webpack",
@@ -102,15 +112,16 @@
102
112
  "lint": "npx eslint src/ tests/ *.js",
103
113
  "lint:fix": "npx eslint --fix src/ tests/ *.js",
104
114
  "serve": "npx http-server . --port 8000",
105
- "serve-live": "npx live-server . --port 8000 --watch=index.html,BookReader,BookReaderDemo",
106
- "serve-dev": "npm run build-css && npx concurrently --kill-others npm:serve-live npm:build-*:watch",
107
- "test": "npm run test-jest && npm run test-karma",
108
- "test:e2e": "npm run build && env BASE_URL=http://127.0.0.1:8000/BookReaderDemo/ npx testcafe",
109
- "test:e2e:dev": "env BASE_URL=http://127.0.0.1:8000/BookReaderDemo/ npx testcafe --live --dev",
110
- "test-jest:watch": "npx jest --watch",
111
- "test-jest": "npx jest --coverage --colors",
112
- "test-karma": "npx karma start --coverage",
113
- "test-karma:watch": "npx karma start --auto-watch=true --single-run=false",
115
+ "serve-live": "npx live-server . --cors --port 8000 --watch=index.html,BookReader,BookReaderDemo",
116
+ "serve-dev": "env NODE_ENV='development' npm run build-css && env NODE_ENV='development' npx concurrently --kill-others npm:serve-live npm:build-*:watch",
117
+ "test": "npx jest --coverage --colors",
118
+ "test:watch": "npx jest --watch",
119
+ "test:e2e": "npm run build && npx testcafe",
120
+ "test:e2e:dev": "npx testcafe --live --dev",
121
+ "DOCS:update:test-deps": "If CI succeeds, these should be good to update",
122
+ "update:test-deps": "npm i @babel/eslint-parser@latest @open-wc/testing-helpers@latest @types/jest@latest codecov@latest eslint@7 eslint-plugin-testcafe@latest jest@latest sinon@latest testcafe@latest",
123
+ "DOCS:update:build-deps": "These can cause strange changes, so do an npm run build + check file size (git diff --stat), and check the site is as expected",
124
+ "update:build-deps": "npm i @babel/core@latest @babel/preset-env@latest babel-loader@latest core-js@latest regenerator-runtime@latest sass@latest svgo@latest webpack@latest webpack-cli@latest",
114
125
  "codecov": "npx codecov"
115
126
  }
116
127
  }
package/renovate.json ADDED
@@ -0,0 +1,52 @@
1
+ {
2
+ "extends": [
3
+ "config:base",
4
+ "schedule:monthly"
5
+ ],
6
+ "packageRules": [
7
+ {
8
+ "matchPackageNames": [
9
+ "@babel/eslint-parser",
10
+ "@open-wc/testing-helpers",
11
+ "@types/jest",
12
+ "codecov",
13
+ "eslint",
14
+ "eslint-plugin-no-jquery",
15
+ "eslint-plugin-testcafe",
16
+ "jest",
17
+ "jest-environment-jsdom",
18
+ "sinon",
19
+ "testcafe"
20
+ ],
21
+ "automerge": true
22
+ },
23
+ {
24
+ "matchPackageNames": [
25
+ "concurrently",
26
+ "http-server",
27
+ "live-server",
28
+ "node-fetch"
29
+ ],
30
+ "matchUpdateTypes": ["minor", "patch"],
31
+ "automerge": true
32
+ },
33
+ {
34
+ "matchPackagePatterns": ["^@internetarchive/icon-"],
35
+ "groupName": "@internetarchive icons",
36
+ "rangeStrategy": "bump"
37
+ },
38
+ {
39
+ "matchPackagePatterns": ["*"],
40
+ "rangeStrategy": "bump"
41
+ },
42
+ {
43
+ "matchPackagePatterns": ["^actions/"],
44
+ "groupName": "GitHub Actions",
45
+ "automerge": true
46
+ },
47
+ {
48
+ "matchPackagePatterns": ["^@internetarchive"],
49
+ "schedule": ["at any time"]
50
+ }
51
+ ]
52
+ }
@@ -1,8 +1,11 @@
1
1
  const { version: OLD_VERSION } = require('../package.json');
2
- const fetch = require('node-fetch');
3
2
  const OLD_RELEASE_URL = `https://api.github.com/repos/internetarchive/bookreader/releases/tags/v${OLD_VERSION}`;
4
3
 
5
4
  async function main() {
5
+ // Need this because fetch is ESM-only, and we're on Node 16. Someday we should
6
+ // be able to move this up to the top without renaming this file to a .mjs or whatever
7
+ const {default: fetch} = await import('node-fetch');
8
+
6
9
  const {created_at} = await fetch(OLD_RELEASE_URL).then(r => r.json());
7
10
  const today = new Date().toISOString().slice(0, -5);
8
11
  const searchUrl = 'https://github.com/internetarchive/bookreader/pulls?' + new URLSearchParams({
@@ -1,4 +1,4 @@
1
- import { css } from 'lit-element';
1
+ import { css } from 'lit';
2
2
 
3
3
  export default css`
4
4
  .blue {
@@ -1,4 +1,4 @@
1
- import { css } from 'lit-element';
1
+ import { css } from 'lit';
2
2
 
3
3
  export default css`
4
4
  .ia-button {
@@ -24,8 +24,10 @@ export default css`
24
24
  user-select: none;
25
25
  }
26
26
 
27
- .ia-button.link {
27
+ .ia-button.link,
28
+ .ia-button.external {
28
29
  min-height: unset;
30
+ text-decoration: none;
29
31
  }
30
32
 
31
33
  .ia-button:disabled,
@@ -51,4 +53,9 @@ export default css`
51
53
  background-color: var(--primaryErrorCTAFill);
52
54
  border-color: var(--primaryErrorCTABorder);
53
55
  }
56
+
57
+ .ia-button.external {
58
+ background: var(--secondaryCTAFill);
59
+ border-color: var(--secondaryCTABorder);
60
+ }
54
61
  `;