@internetarchive/bookreader 5.0.0-6-14 → 5.0.0-60

Sign up to get free protection for your applications and to get access to all the features.
Files changed (271) hide show
  1. package/.eslintrc.js +17 -15
  2. package/.github/workflows/node.js.yml +72 -10
  3. package/.github/workflows/npm-publish.yml +6 -20
  4. package/.testcaferc.js +10 -0
  5. package/BookReader/BookReader.css +241 -140
  6. package/BookReader/BookReader.js +1 -1
  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/close-circle-dark.svg +1 -0
  13. package/BookReader/icons/magnify-minus.svg +1 -1
  14. package/BookReader/icons/magnify-plus.svg +1 -1
  15. package/BookReader/icons/pause.svg +1 -1
  16. package/BookReader/icons/playback-speed.svg +1 -1
  17. package/BookReader/icons/read-aloud.svg +1 -1
  18. package/BookReader/icons/voice.svg +1 -0
  19. package/BookReader/images/BRicons.svg +2 -2
  20. package/BookReader/images/books_graphic.svg +1 -1
  21. package/BookReader/images/icon_book.svg +1 -1
  22. package/BookReader/images/icon_gear.svg +1 -1
  23. package/BookReader/images/icon_info.svg +1 -1
  24. package/BookReader/images/icon_playback-rate.svg +1 -1
  25. package/BookReader/images/icon_search_button.svg +1 -1
  26. package/BookReader/images/icon_share.svg +1 -1
  27. package/BookReader/images/icon_speaker.svg +1 -1
  28. package/BookReader/images/icon_speaker_open.svg +1 -1
  29. package/BookReader/images/marker_chap-off.svg +1 -1
  30. package/BookReader/images/marker_chap-on.svg +1 -1
  31. package/BookReader/images/marker_srch-on.svg +1 -1
  32. package/BookReader/jquery-3.js +2 -0
  33. package/BookReader/jquery-3.js.LICENSE.txt +24 -0
  34. package/BookReader/plugins/plugin.archive_analytics.js +1 -1
  35. package/BookReader/plugins/plugin.archive_analytics.js.map +1 -1
  36. package/BookReader/plugins/plugin.autoplay.js +1 -1
  37. package/BookReader/plugins/plugin.autoplay.js.map +1 -1
  38. package/BookReader/plugins/plugin.chapters.js +1 -1
  39. package/BookReader/plugins/plugin.chapters.js.map +1 -1
  40. package/BookReader/plugins/plugin.iframe.js +1 -1
  41. package/BookReader/plugins/plugin.iframe.js.map +1 -1
  42. package/BookReader/plugins/plugin.mobile_nav.js +1 -1
  43. package/BookReader/plugins/plugin.mobile_nav.js.map +1 -1
  44. package/BookReader/plugins/plugin.resume.js +1 -1
  45. package/BookReader/plugins/plugin.resume.js.map +1 -1
  46. package/BookReader/plugins/plugin.search.js +1 -1
  47. package/BookReader/plugins/plugin.search.js.map +1 -1
  48. package/BookReader/plugins/plugin.text_selection.js +1 -1
  49. package/BookReader/plugins/plugin.text_selection.js.map +1 -1
  50. package/BookReader/plugins/plugin.tts.js +1 -1
  51. package/BookReader/plugins/plugin.tts.js.map +1 -1
  52. package/BookReader/plugins/plugin.url.js +1 -1
  53. package/BookReader/plugins/plugin.url.js.map +1 -1
  54. package/BookReader/plugins/plugin.vendor-fullscreen.js +1 -1
  55. package/BookReader/plugins/plugin.vendor-fullscreen.js.map +1 -1
  56. package/BookReader/webcomponents-bundle.js +3 -0
  57. package/BookReader/webcomponents-bundle.js.LICENSE.txt +9 -0
  58. package/BookReader/webcomponents-bundle.js.map +1 -0
  59. package/BookReaderDemo/BookReaderDemo.css +14 -1
  60. package/BookReaderDemo/BookReaderJSAutoplay.js +4 -1
  61. package/BookReaderDemo/BookReaderJSSimple.js +1 -0
  62. package/BookReaderDemo/IADemoBr.js +147 -0
  63. package/BookReaderDemo/demo-advanced.html +2 -2
  64. package/BookReaderDemo/demo-autoplay.html +2 -1
  65. package/BookReaderDemo/demo-embed-iframe-src.html +2 -1
  66. package/BookReaderDemo/demo-fullscreen-mobile.html +2 -1
  67. package/BookReaderDemo/demo-fullscreen.html +2 -1
  68. package/BookReaderDemo/demo-iiif.html +2 -1
  69. package/BookReaderDemo/demo-internetarchive.html +84 -17
  70. package/BookReaderDemo/demo-multiple.html +2 -1
  71. package/BookReaderDemo/demo-preview-pages.html +2 -1
  72. package/BookReaderDemo/demo-simple.html +2 -1
  73. package/BookReaderDemo/demo-vendor-fullscreen.html +2 -1
  74. package/BookReaderDemo/ia-multiple-volumes-manifest.js +170 -0
  75. package/BookReaderDemo/immersion-1up.html +2 -1
  76. package/BookReaderDemo/immersion-mode.html +2 -1
  77. package/BookReaderDemo/toggle_controls.html +2 -1
  78. package/BookReaderDemo/view_mode.html +2 -1
  79. package/BookReaderDemo/viewmode-cycle.html +2 -3
  80. package/CHANGELOG.md +244 -0
  81. package/README.md +14 -1
  82. package/babel.config.js +19 -0
  83. package/codecov.yml +6 -0
  84. package/index.html +3 -0
  85. package/jsconfig.json +19 -0
  86. package/netlify.toml +5 -0
  87. package/package.json +70 -59
  88. package/renovate.json +52 -0
  89. package/scripts/preversion.js +4 -1
  90. package/src/BookNavigator/assets/bookmark-colors.js +1 -1
  91. package/src/BookNavigator/assets/button-base.js +9 -2
  92. package/src/BookNavigator/assets/ia-logo.js +17 -0
  93. package/src/BookNavigator/assets/icon_checkmark.js +1 -1
  94. package/src/BookNavigator/assets/icon_close.js +1 -1
  95. package/src/BookNavigator/assets/icon_sort_asc.js +5 -0
  96. package/src/BookNavigator/assets/icon_sort_desc.js +5 -0
  97. package/src/BookNavigator/assets/icon_sort_neutral.js +5 -0
  98. package/src/BookNavigator/assets/icon_volumes.js +11 -0
  99. package/src/BookNavigator/book-navigator.js +585 -0
  100. package/src/BookNavigator/bookmarks/bookmark-button.js +3 -2
  101. package/src/BookNavigator/bookmarks/bookmark-edit.js +3 -4
  102. package/src/BookNavigator/bookmarks/bookmarks-list.js +2 -3
  103. package/src/BookNavigator/bookmarks/bookmarks-loginCTA.js +3 -8
  104. package/src/BookNavigator/bookmarks/bookmarks-provider.js +27 -17
  105. package/src/BookNavigator/bookmarks/ia-bookmarks.js +116 -67
  106. package/src/BookNavigator/delete-modal-actions.js +1 -1
  107. package/src/BookNavigator/downloads/downloads-provider.js +36 -21
  108. package/src/BookNavigator/downloads/downloads.js +41 -25
  109. package/src/BookNavigator/search/search-provider.js +80 -28
  110. package/src/BookNavigator/search/search-results.js +34 -25
  111. package/src/BookNavigator/sharing.js +27 -0
  112. package/src/BookNavigator/visual-adjustments/visual-adjustments-provider.js +11 -10
  113. package/src/BookNavigator/visual-adjustments/visual-adjustments.js +3 -3
  114. package/src/BookNavigator/volumes/volumes-provider.js +111 -0
  115. package/src/BookNavigator/volumes/volumes.js +188 -0
  116. package/src/BookReader/BookModel.js +59 -30
  117. package/src/BookReader/DebugConsole.js +3 -3
  118. package/src/BookReader/DragScrollable.js +233 -0
  119. package/src/BookReader/Mode1Up.js +56 -351
  120. package/src/BookReader/Mode1UpLit.js +391 -0
  121. package/src/BookReader/Mode2Up.js +73 -1318
  122. package/src/BookReader/Mode2UpLit.js +781 -0
  123. package/src/BookReader/ModeCoordinateSpace.js +29 -0
  124. package/src/BookReader/ModeSmoothZoom.js +211 -0
  125. package/src/BookReader/ModeThumb.js +17 -11
  126. package/src/BookReader/Navbar/Navbar.js +10 -36
  127. package/src/BookReader/PageContainer.js +69 -6
  128. package/src/BookReader/ReduceSet.js +1 -1
  129. package/src/BookReader/Toolbar/Toolbar.js +10 -37
  130. package/src/BookReader/events.js +2 -0
  131. package/src/BookReader/options.js +24 -2
  132. package/src/BookReader/utils/HTMLDimensionsCacher.js +44 -0
  133. package/src/BookReader/utils/ScrollClassAdder.js +31 -0
  134. package/src/BookReader/utils.js +108 -13
  135. package/src/BookReader.js +481 -828
  136. package/src/assets/icons/close-circle-dark.svg +1 -0
  137. package/src/assets/icons/magnify-minus.svg +3 -7
  138. package/src/assets/icons/magnify-plus.svg +3 -7
  139. package/src/assets/icons/voice.svg +1 -0
  140. package/src/css/_BRBookmarks.scss +1 -1
  141. package/src/css/_BRComponent.scss +1 -1
  142. package/src/css/_BRmain.scss +33 -0
  143. package/src/css/_BRnav.scss +4 -26
  144. package/src/css/_BRpages.scss +147 -40
  145. package/src/css/_BRsearch.scss +25 -11
  146. package/src/css/_TextSelection.scss +16 -17
  147. package/src/css/_colorbox.scss +2 -2
  148. package/src/css/_controls.scss +17 -5
  149. package/src/css/_icons.scss +7 -1
  150. package/src/ia-bookreader/ia-bookreader.js +224 -0
  151. package/src/plugins/plugin.archive_analytics.js +3 -3
  152. package/src/plugins/plugin.autoplay.js +4 -9
  153. package/src/plugins/plugin.chapters.js +28 -35
  154. package/src/plugins/plugin.mobile_nav.js +11 -10
  155. package/src/plugins/plugin.resume.js +3 -3
  156. package/src/plugins/plugin.text_selection.js +32 -41
  157. package/src/plugins/plugin.vendor-fullscreen.js +4 -4
  158. package/src/plugins/search/plugin.search.js +179 -103
  159. package/src/plugins/search/view.js +59 -44
  160. package/src/plugins/tts/AbstractTTSEngine.js +46 -37
  161. package/src/plugins/tts/FestivalTTSEngine.js +13 -14
  162. package/src/plugins/tts/PageChunk.js +15 -21
  163. package/src/plugins/tts/PageChunkIterator.js +8 -12
  164. package/src/plugins/tts/WebTTSEngine.js +87 -71
  165. package/src/plugins/tts/plugin.tts.js +94 -125
  166. package/src/plugins/tts/utils.js +0 -25
  167. package/src/plugins/url/UrlPlugin.js +193 -0
  168. package/src/plugins/{plugin.url.js → url/plugin.url.js} +45 -16
  169. package/src/util/docCookies.js +21 -2
  170. package/tests/e2e/README.md +37 -0
  171. package/tests/e2e/autoplay.test.js +2 -2
  172. package/tests/e2e/base.test.js +7 -7
  173. package/tests/e2e/helpers/base.js +28 -23
  174. package/tests/e2e/helpers/debug.js +1 -1
  175. package/tests/e2e/helpers/desktopSearch.js +14 -13
  176. package/tests/e2e/helpers/mobileSearch.js +3 -3
  177. package/tests/e2e/helpers/params.js +17 -0
  178. package/tests/e2e/helpers/rightToLeft.js +4 -10
  179. package/tests/e2e/models/Navigation.js +13 -4
  180. package/tests/e2e/rightToLeft.test.js +4 -5
  181. package/tests/e2e/viewmode.test.js +40 -33
  182. package/tests/jest/BookNavigator/book-navigator.test.js +658 -0
  183. package/tests/jest/BookNavigator/bookmarks/bookmark-button.test.js +43 -0
  184. package/tests/{karma → jest}/BookNavigator/bookmarks/bookmark-edit.test.js +25 -26
  185. package/tests/{karma → jest}/BookNavigator/bookmarks/bookmarks-list.test.js +41 -42
  186. package/tests/jest/BookNavigator/bookmarks/ia-bookmarks.test.js +45 -0
  187. package/tests/jest/BookNavigator/downloads/downloads-provider.test.js +67 -0
  188. package/tests/jest/BookNavigator/downloads/downloads.test.js +53 -0
  189. package/tests/jest/BookNavigator/search/search-provider.test.js +167 -0
  190. package/tests/{karma/BookNavigator → jest/BookNavigator/search}/search-results.test.js +104 -60
  191. package/tests/jest/BookNavigator/sharing/sharing-provider.test.js +49 -0
  192. package/tests/jest/BookNavigator/visual-adjustments.test.js +200 -0
  193. package/tests/jest/BookNavigator/volumes/volumes-provider.test.js +184 -0
  194. package/tests/jest/BookNavigator/volumes/volumes.test.js +97 -0
  195. package/tests/{BookReader → jest/BookReader}/BookModel.test.js +59 -14
  196. package/tests/jest/BookReader/BookReaderPublicFunctions.test.js +193 -0
  197. package/tests/{BookReader → jest/BookReader}/DebugConsole.test.js +1 -1
  198. package/tests/{BookReader → jest/BookReader}/ImageCache.test.js +4 -4
  199. package/tests/jest/BookReader/Mode1UpLit.test.js +73 -0
  200. package/tests/jest/BookReader/Mode2Up.test.js +98 -0
  201. package/tests/jest/BookReader/Mode2UpLit.test.js +190 -0
  202. package/tests/jest/BookReader/ModeCoordinateSpace.test.js +16 -0
  203. package/tests/jest/BookReader/ModeSmoothZoom.test.js +175 -0
  204. package/tests/jest/BookReader/ModeThumb.test.js +71 -0
  205. package/tests/{BookReader → jest/BookReader}/Navbar/Navbar.test.js +10 -10
  206. package/tests/{BookReader → jest/BookReader}/PageContainer.test.js +88 -6
  207. package/tests/{BookReader → jest/BookReader}/ReduceSet.test.js +1 -1
  208. package/tests/{BookReader → jest/BookReader}/Toolbar/Toolbar.test.js +2 -2
  209. package/tests/jest/BookReader/utils/HTMLDimensionsCacher.test.js +59 -0
  210. package/tests/jest/BookReader/utils/ScrollClassAdder.test.js +49 -0
  211. package/tests/{BookReader → jest/BookReader}/utils/classes.test.js +1 -1
  212. package/tests/jest/BookReader/utils.test.js +217 -0
  213. package/tests/jest/BookReader.keyboard.test.js +190 -0
  214. package/tests/{BookReader.options.test.js → jest/BookReader.options.test.js} +9 -1
  215. package/tests/{BookReader.test.js → jest/BookReader.test.js} +26 -37
  216. package/tests/{plugins → jest/plugins}/plugin.archive_analytics.test.js +2 -2
  217. package/tests/{plugins → jest/plugins}/plugin.autoplay.test.js +4 -4
  218. package/tests/{plugins → jest/plugins}/plugin.chapters.test.js +10 -11
  219. package/tests/{plugins → jest/plugins}/plugin.iframe.test.js +2 -2
  220. package/tests/{plugins → jest/plugins}/plugin.mobile_nav.test.js +5 -5
  221. package/tests/{plugins → jest/plugins}/plugin.resume.test.js +3 -3
  222. package/tests/{plugins → jest/plugins}/plugin.text_selection.test.js +39 -47
  223. package/tests/{plugins → jest/plugins}/plugin.vendor-fullscreen.test.js +2 -2
  224. package/tests/{plugins → jest/plugins}/search/plugin.search.test.js +57 -47
  225. package/tests/{plugins → jest/plugins}/search/plugin.search.view.test.js +35 -6
  226. package/tests/{plugins → jest/plugins}/tts/AbstractTTSEngine.test.js +9 -9
  227. package/tests/{plugins → jest/plugins}/tts/FestivalTTSEngine.test.js +4 -4
  228. package/tests/{plugins → jest/plugins}/tts/PageChunk.test.js +1 -1
  229. package/tests/{plugins → jest/plugins}/tts/PageChunkIterator.test.js +3 -3
  230. package/tests/{plugins → jest/plugins}/tts/WebTTSEngine.test.js +47 -1
  231. package/tests/{plugins → jest/plugins}/tts/utils.test.js +1 -60
  232. package/tests/jest/plugins/url/UrlPlugin.test.js +190 -0
  233. package/tests/{plugins → jest/plugins/url}/plugin.url.test.js +53 -14
  234. package/tests/jest/setup.js +3 -0
  235. package/tests/{util → jest/util}/browserSniffing.test.js +1 -1
  236. package/tests/jest/util/docCookies.test.js +24 -0
  237. package/tests/{util → jest/util}/strings.test.js +1 -1
  238. package/tests/{utils.js → jest/utils.js} +38 -0
  239. package/webpack.config.js +11 -5
  240. package/.babelrc +0 -12
  241. package/.dependabot/config.yml +0 -6
  242. package/.testcaferc.json +0 -5
  243. package/BookReader/bookreader-component-bundle.js +0 -1450
  244. package/BookReader/bookreader-component-bundle.js.LICENSE.txt +0 -38
  245. package/BookReader/bookreader-component-bundle.js.map +0 -1
  246. package/BookReader/jquery-1.10.1.js +0 -2
  247. package/BookReader/jquery-1.10.1.js.LICENSE.txt +0 -24
  248. package/BookReader/plugins/plugin.menu_toggle.js +0 -2
  249. package/BookReader/plugins/plugin.menu_toggle.js.map +0 -1
  250. package/BookReaderDemo/bookreader-template-bundle.js +0 -7178
  251. package/BookReaderDemo/demo-plugin-menu-toggle.html +0 -34
  252. package/karma.conf.js +0 -23
  253. package/src/BookNavigator/BookModel.js +0 -14
  254. package/src/BookNavigator/BookNavigator.js +0 -438
  255. package/src/BookNavigator/assets/book-loader.js +0 -27
  256. package/src/BookNavigator/br-fullscreen-mgr.js +0 -83
  257. package/src/BookNavigator/search/a-search-result.js +0 -55
  258. package/src/BookReaderComponent/BookReaderComponent.js +0 -112
  259. package/src/ItemNavigator/ItemNavigator.js +0 -372
  260. package/src/ItemNavigator/providers/sharing.js +0 -29
  261. package/src/dragscrollable-br.js +0 -261
  262. package/src/plugins/menu_toggle/plugin.menu_toggle.js +0 -324
  263. package/tests/BookReader/BookReaderPublicFunctions.test.js +0 -171
  264. package/tests/BookReader/Mode1Up.test.js +0 -164
  265. package/tests/BookReader/Mode2Up.test.js +0 -247
  266. package/tests/BookReader/utils.test.js +0 -109
  267. package/tests/e2e/ia-production/ia-prod-base.js +0 -17
  268. package/tests/karma/BookNavigator/book-navigator.test.js +0 -132
  269. package/tests/karma/BookNavigator/visual-adjustments.test.js +0 -201
  270. package/tests/plugins/menu_toggle/plugin.menu_toggle.test.js +0 -68
  271. 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,247 @@
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
1
245
  # 5.0.0-6
2
246
  - Fix: Fullscreen toggle sets/unsets animating flag @iisa
3
247
  # 5.0.0-5
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-14",
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.2",
30
- "@internetarchive/ia-menu-slider": "^0.1.10",
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
- "babel-loader": "8.2.2",
48
- "@types/jest": "26.0.23",
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",
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
  `;