@internetarchive/bookreader 5.0.0-94 → 5.0.0-96

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 (167) hide show
  1. package/BookReader/BookReader.js +1 -1
  2. package/BookReader/hypothesis/LICENSE +50 -0
  3. package/BookReader/hypothesis/README.md +55 -0
  4. package/BookReader/hypothesis/build/boot.js +1 -0
  5. package/BookReader/hypothesis/build/manifest.json +20 -0
  6. package/BookReader/hypothesis/build/scripts/annotator.bundle.js +184 -0
  7. package/BookReader/hypothesis/build/scripts/annotator.bundle.js.map +1 -0
  8. package/BookReader/hypothesis/build/scripts/sidebar.bundle.js +798 -0
  9. package/BookReader/hypothesis/build/scripts/sidebar.bundle.js.map +1 -0
  10. package/BookReader/hypothesis/build/scripts/ui-playground.bundle.js +711 -0
  11. package/BookReader/hypothesis/build/scripts/ui-playground.bundle.js.map +1 -0
  12. package/BookReader/hypothesis/build/styles/annotator.css +2235 -0
  13. package/BookReader/hypothesis/build/styles/annotator.css.map +1 -0
  14. package/BookReader/hypothesis/build/styles/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  15. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  16. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  17. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  18. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  19. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Main-Bold.woff2 +0 -0
  20. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  21. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Main-Italic.woff2 +0 -0
  22. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Main-Regular.woff2 +0 -0
  23. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  24. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Math-Italic.woff2 +0 -0
  25. package/BookReader/hypothesis/build/styles/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  26. package/BookReader/hypothesis/build/styles/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  27. package/BookReader/hypothesis/build/styles/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  28. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Script-Regular.woff2 +0 -0
  29. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  30. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  31. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  32. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  33. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  34. package/BookReader/hypothesis/build/styles/highlights.css +2 -0
  35. package/BookReader/hypothesis/build/styles/highlights.css.map +1 -0
  36. package/BookReader/hypothesis/build/styles/katex.min.css +2 -0
  37. package/BookReader/hypothesis/build/styles/katex.min.css.map +1 -0
  38. package/BookReader/hypothesis/build/styles/pdfjs-overrides.css +2 -0
  39. package/BookReader/hypothesis/build/styles/pdfjs-overrides.css.map +1 -0
  40. package/BookReader/hypothesis/build/styles/sidebar.css +2731 -0
  41. package/BookReader/hypothesis/build/styles/sidebar.css.map +1 -0
  42. package/BookReader/hypothesis/build/styles/ui-playground.css +2659 -0
  43. package/BookReader/hypothesis/build/styles/ui-playground.css.map +1 -0
  44. package/BookReader/hypothesis/package.json +126 -0
  45. package/README.md +0 -2
  46. package/package.json +6 -1
  47. package/.eslintrc.cjs +0 -51
  48. package/.gitattributes +0 -2
  49. package/.github/ISSUE_TEMPLATE/bug.md +0 -32
  50. package/.github/ISSUE_TEMPLATE/feature-request.md +0 -30
  51. package/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +0 -15
  52. package/.github/workflows/node.js.yml +0 -102
  53. package/.github/workflows/npm-publish.yml +0 -33
  54. package/.testcaferc.cjs +0 -10
  55. package/BookReaderDemo/BookReaderDemo.css +0 -40
  56. package/BookReaderDemo/BookReaderJSAdvanced.js +0 -112
  57. package/BookReaderDemo/BookReaderJSSimple.js +0 -56
  58. package/BookReaderDemo/IADemoBr.js +0 -149
  59. package/BookReaderDemo/assets/v5/Bookreader-logo-cool-grad.svg +0 -1
  60. package/BookReaderDemo/assets/v5/Bookreader-logo-flat.svg +0 -1
  61. package/BookReaderDemo/assets/v5/Bookreader-logo-hex-cool-grad.png +0 -0
  62. package/BookReaderDemo/assets/v5/Bookreader-logo-hex-flat.png +0 -0
  63. package/BookReaderDemo/assets/v5/Bookreader-logo-lines.png +0 -0
  64. package/BookReaderDemo/assets/v5/Bookreader-logo-lines.svg +0 -1
  65. package/BookReaderDemo/assets/v5/Bookreader-logo-warm.svg +0 -1
  66. package/BookReaderDemo/assets/v5/bookreader-logo-renders@1x.png +0 -0
  67. package/BookReaderDemo/assets/v5/bookreader-logo-renders@2x.png +0 -0
  68. package/BookReaderDemo/assets/v5/bookreader-v5-screenshot.png +0 -0
  69. package/BookReaderDemo/demo-advanced.html +0 -33
  70. package/BookReaderDemo/demo-embed-iframe-src.html +0 -85
  71. package/BookReaderDemo/demo-embed.html +0 -26
  72. package/BookReaderDemo/demo-fullscreen-mobile.html +0 -34
  73. package/BookReaderDemo/demo-fullscreen.html +0 -31
  74. package/BookReaderDemo/demo-iiif.html +0 -121
  75. package/BookReaderDemo/demo-internetarchive.html +0 -271
  76. package/BookReaderDemo/demo-multiple.html +0 -44
  77. package/BookReaderDemo/demo-preview-pages.html +0 -1093
  78. package/BookReaderDemo/demo-simple.html +0 -35
  79. package/BookReaderDemo/demo-vendor-fullscreen.html +0 -34
  80. package/BookReaderDemo/ia-multiple-volumes-manifest.js +0 -169
  81. package/BookReaderDemo/immersion-1up.html +0 -64
  82. package/BookReaderDemo/immersion-mode.html +0 -33
  83. package/BookReaderDemo/toggle_controls.html +0 -54
  84. package/BookReaderDemo/view_mode.html +0 -40
  85. package/BookReaderDemo/viewmode-cycle.html +0 -40
  86. package/CHANGELOG.md +0 -1080
  87. package/CONTRIBUTING.md +0 -7
  88. package/babel.config.cjs +0 -20
  89. package/codecov.yml +0 -23
  90. package/index.html +0 -34
  91. package/netlify.toml +0 -9
  92. package/renovate.json +0 -52
  93. package/screenshot.png +0 -0
  94. package/scripts/postversion.js +0 -11
  95. package/scripts/preversion.js +0 -15
  96. package/scripts/version.js +0 -27
  97. package/tests/e2e/README.md +0 -112
  98. package/tests/e2e/autoplay.test.js +0 -16
  99. package/tests/e2e/base.test.js +0 -27
  100. package/tests/e2e/helpers/base.js +0 -263
  101. package/tests/e2e/helpers/debug.js +0 -13
  102. package/tests/e2e/helpers/mockSearch.js +0 -90
  103. package/tests/e2e/helpers/params.js +0 -17
  104. package/tests/e2e/helpers/rightToLeft.js +0 -23
  105. package/tests/e2e/helpers/search.js +0 -73
  106. package/tests/e2e/models/BookReader.js +0 -11
  107. package/tests/e2e/models/Navigation.js +0 -39
  108. package/tests/e2e/rightToLeft.test.js +0 -19
  109. package/tests/e2e/viewmode.test.js +0 -44
  110. package/tests/jest/BookNavigator/book-navigator.test.js +0 -653
  111. package/tests/jest/BookNavigator/bookmarks/bookmark-button.test.js +0 -43
  112. package/tests/jest/BookNavigator/bookmarks/bookmark-edit.test.js +0 -132
  113. package/tests/jest/BookNavigator/bookmarks/bookmarks-list.test.js +0 -221
  114. package/tests/jest/BookNavigator/bookmarks/ia-bookmarks.test.js +0 -45
  115. package/tests/jest/BookNavigator/downloads/downloads-provider.test.js +0 -67
  116. package/tests/jest/BookNavigator/downloads/downloads.test.js +0 -53
  117. package/tests/jest/BookNavigator/search/search-provider.test.js +0 -179
  118. package/tests/jest/BookNavigator/search/search-results.test.js +0 -289
  119. package/tests/jest/BookNavigator/sharing/sharing-provider.test.js +0 -49
  120. package/tests/jest/BookNavigator/viewable-files/viewable-files-provider.test.js +0 -80
  121. package/tests/jest/BookNavigator/visual-adjustments.test.js +0 -200
  122. package/tests/jest/BookReader/BookModel.test.js +0 -372
  123. package/tests/jest/BookReader/BookReaderPublicFunctions.test.js +0 -263
  124. package/tests/jest/BookReader/ImageCache.test.js +0 -150
  125. package/tests/jest/BookReader/Mode1UpLit.test.js +0 -73
  126. package/tests/jest/BookReader/Mode2Up.test.js +0 -98
  127. package/tests/jest/BookReader/Mode2UpLit.test.js +0 -190
  128. package/tests/jest/BookReader/ModeCoordinateSpace.test.js +0 -16
  129. package/tests/jest/BookReader/ModeSmoothZoom.test.js +0 -218
  130. package/tests/jest/BookReader/ModeThumb.test.js +0 -71
  131. package/tests/jest/BookReader/Navbar/Navbar.test.js +0 -182
  132. package/tests/jest/BookReader/PageContainer.test.js +0 -249
  133. package/tests/jest/BookReader/ReduceSet.test.js +0 -38
  134. package/tests/jest/BookReader/Toolbar/Toolbar.test.js +0 -26
  135. package/tests/jest/BookReader/utils/HTMLDimensionsCacher.test.js +0 -59
  136. package/tests/jest/BookReader/utils/ScrollClassAdder.test.js +0 -49
  137. package/tests/jest/BookReader/utils/SelectionObserver.test.js +0 -57
  138. package/tests/jest/BookReader/utils/classes.test.js +0 -88
  139. package/tests/jest/BookReader/utils.test.js +0 -250
  140. package/tests/jest/BookReader.keyboard.test.js +0 -190
  141. package/tests/jest/BookReader.options.test.js +0 -47
  142. package/tests/jest/BookReader.test.js +0 -316
  143. package/tests/jest/plugins/plugin.archive_analytics.test.js +0 -20
  144. package/tests/jest/plugins/plugin.autoplay.test.js +0 -35
  145. package/tests/jest/plugins/plugin.chapters.test.js +0 -193
  146. package/tests/jest/plugins/plugin.iframe.test.js +0 -42
  147. package/tests/jest/plugins/plugin.resume.test.js +0 -85
  148. package/tests/jest/plugins/plugin.text_selection.test.js +0 -447
  149. package/tests/jest/plugins/plugin.vendor-fullscreen.test.js +0 -65
  150. package/tests/jest/plugins/search/plugin.search.test.js +0 -120
  151. package/tests/jest/plugins/search/plugin.search.view.test.js +0 -131
  152. package/tests/jest/plugins/search/utils.js +0 -25
  153. package/tests/jest/plugins/search/utils.test.js +0 -29
  154. package/tests/jest/plugins/tts/AbstractTTSEngine.test.js +0 -173
  155. package/tests/jest/plugins/tts/FestivalTTSEngine.test.js +0 -59
  156. package/tests/jest/plugins/tts/PageChunk.test.js +0 -57
  157. package/tests/jest/plugins/tts/PageChunkIterator.test.js +0 -179
  158. package/tests/jest/plugins/tts/WebTTSEngine.test.js +0 -178
  159. package/tests/jest/plugins/tts/utils.test.js +0 -74
  160. package/tests/jest/plugins/url/UrlPlugin.test.js +0 -198
  161. package/tests/jest/plugins/url/plugin.url.test.js +0 -168
  162. package/tests/jest/setup.js +0 -3
  163. package/tests/jest/util/browserSniffing.test.js +0 -62
  164. package/tests/jest/util/docCookies.test.js +0 -24
  165. package/tests/jest/util/strings.test.js +0 -63
  166. package/tests/jest/utils.js +0 -83
  167. package/webpack.config.js +0 -97
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["file:///home/runner/work/client/client/node_modules/tailwindcss/base.css","file:///home/runner/work/client/client/node_modules/@hypothesis/frontend-shared/styles/library.scss","file:///home/runner/work/client/client/node_modules/highlight.js/styles/github-dark.css"],"names":[],"mappings":"AAAA;EAAA,wBAAA;EAAA,wBAAA;EAAA,mBAAA;EAAA,mBAAA;EAAA,cAAA;EAAA,cAAA;EAAA,cAAA;EAAA,eAAA;EAAA,eAAA;EAAA,aAAA;EAAA,aAAA;EAAA,kBAAA;EAAA,sCAAA;EAAA,8BAAA;EAAA,6BAAA;EAAA,4BAAA;EAAA,eAAA;EAAA,oBAAA;EAAA,sBAAA;EAAA,uBAAA;EAAA,wBAAA;EAAA,kBAAA;EAAA,2BAAA;EAAA,4BAAA;EAAA,sCAAA;EAAA,kCAAA;EAAA,2BAAA;EAAA,sBAAA;EAAA,8BAAA;EAAA,YAAA;EAAA,kBAAA;EAAA,gBAAA;EAAA,iBAAA;EAAA,kBAAA;EAAA,cAAA;EAAA,gBAAA;EAAA,aAAA;EAAA,mBAAA;EAAA,qBAAA;EAAA,2BAAA;EAAA,yBAAA;EAAA,0BAAA;EAAA,2BAAA;EAAA,uBAAA;EAAA,wBAAA;EAAA,yBAAA;EAAA,sBAAA;EAAA,oBAAA;EAAA,sBAAA;EAAA,qBAAA;EAAA;AAAA;;AAAA;EAAA,wBAAA;EAAA,wBAAA;EAAA,mBAAA;EAAA,mBAAA;EAAA,cAAA;EAAA,cAAA;EAAA,cAAA;EAAA,eAAA;EAAA,eAAA;EAAA,aAAA;EAAA,aAAA;EAAA,kBAAA;EAAA,sCAAA;EAAA,8BAAA;EAAA,6BAAA;EAAA,4BAAA;EAAA,eAAA;EAAA,oBAAA;EAAA,sBAAA;EAAA,uBAAA;EAAA,wBAAA;EAAA,kBAAA;EAAA,2BAAA;EAAA,4BAAA;EAAA,sCAAA;EAAA,kCAAA;EAAA,2BAAA;EAAA,sBAAA;EAAA,8BAAA;EAAA,YAAA;EAAA,kBAAA;EAAA,gBAAA;EAAA,iBAAA;EAAA,kBAAA;EAAA,cAAA;EAAA,gBAAA;EAAA,aAAA;EAAA,mBAAA;EAAA,qBAAA;EAAA,2BAAA;EAAA,yBAAA;EAAA,0BAAA;EAAA,2BAAA;EAAA,uBAAA;EAAA,wBAAA;EAAA,yBAAA;EAAA,sBAAA;EAAA,oBAAA;EAAA,sBAAA;EAAA,qBAAA;EAAA;AAAA,CAAA;;CAAA,CAAA;;;CAAA;;AAAA;;;EAAA,sBAAA,EAAA,MAAA;EAAA,eAAA,EAAA,MAAA;EAAA,mBAAA,EAAA,MAAA;EAAA,qBAAA,EAAA,MAAA;AAAA;;AAAA;;EAAA,gBAAA;AAAA;;AAAA;;;;;;;;CAAA;;AAAA;;EAAA,gBAAA,EAAA,MAAA;EAAA,8BAAA,EAAA,MAAA;EAAA,gBAAA,EAAA,MAAA;EAAA,WAAA,EAAA,MAAA;EAAA,4EAAA,EAAA,MAAA;EAAA,6BAAA,EAAA,MAAA;EAAA,+BAAA,EAAA,MAAA;EAAA,wCAAA,EAAA,MAAA;AAAA;;AAAA;;;CAAA;;AAAA;EAAA,SAAA,EAAA,MAAA;EAAA,oBAAA,EAAA,MAAA;AAAA;;AAAA;;;;CAAA;;AAAA;EAAA,SAAA,EAAA,MAAA;EAAA,cAAA,EAAA,MAAA;EAAA,qBAAA,EAAA,MAAA;AAAA;;AAAA;;CAAA;;AAAA;EAAA,yCAAA;UAAA,iCAAA;AAAA;;AAAA;;CAAA;;AAAA;;;;;;EAAA,kBAAA;EAAA,oBAAA;AAAA;;AAAA;;CAAA;;AAAA;EAAA,cAAA;EAAA,wBAAA;AAAA;;AAAA;;CAAA;;AAAA;;EAAA,mBAAA;AAAA;;AAAA;;;;;CAAA;;AAAA;;;;EAAA,mEAAA,EAAA,MAAA;EAAA,6BAAA,EAAA,MAAA;EAAA,+BAAA,EAAA,MAAA;EAAA,cAAA,EAAA,MAAA;AAAA;;AAAA;;CAAA;;AAAA;EAAA,cAAA;AAAA;;AAAA;;CAAA;;AAAA;;EAAA,cAAA;EAAA,cAAA;EAAA,kBAAA;EAAA,wBAAA;AAAA;;AAAA;EAAA,eAAA;AAAA;;AAAA;EAAA,WAAA;AAAA;;AAAA;;;;CAAA;;AAAA;EAAA,cAAA,EAAA,MAAA;EAAA,qBAAA,EAAA,MAAA;EAAA,yBAAA,EAAA,MAAA;AAAA;;AAAA;;;;CAAA;;AAAA;;;;;EAAA,oBAAA,EAAA,MAAA;EAAA,8BAAA,EAAA,MAAA;EAAA,gCAAA,EAAA,MAAA;EAAA,eAAA,EAAA,MAAA;EAAA,oBAAA,EAAA,MAAA;EAAA,oBAAA,EAAA,MAAA;EAAA,uBAAA,EAAA,MAAA;EAAA,cAAA,EAAA,MAAA;EAAA,SAAA,EAAA,MAAA;EAAA,UAAA,EAAA,MAAA;AAAA;;AAAA;;CAAA;;AAAA;;EAAA,oBAAA;AAAA;;AAAA;;;CAAA;;AAAA;;;;EAAA,0BAAA,EAAA,MAAA;EAAA,6BAAA,EAAA,MAAA;EAAA,sBAAA,EAAA,MAAA;AAAA;;AAAA;;CAAA;;AAAA;EAAA,aAAA;AAAA;;AAAA;;CAAA;;AAAA;EAAA,gBAAA;AAAA;;AAAA;;CAAA;;AAAA;EAAA,wBAAA;AAAA;;AAAA;;CAAA;;AAAA;;EAAA,YAAA;AAAA;;AAAA;;;CAAA;;AAAA;EAAA,6BAAA,EAAA,MAAA;EAAA,oBAAA,EAAA,MAAA;AAAA;;AAAA;;CAAA;;AAAA;EAAA,wBAAA;AAAA;;AAAA;;;CAAA;;AAAA;EAAA,0BAAA,EAAA,MAAA;EAAA,aAAA,EAAA,MAAA;AAAA;;AAAA;;CAAA;;AAAA;EAAA,kBAAA;AAAA;;AAAA;;CAAA;;AAAA;;;;;;;;;;;;;EAAA,SAAA;AAAA;;AAAA;EAAA,SAAA;EAAA,UAAA;AAAA;;AAAA;EAAA,UAAA;AAAA;;AAAA;;;EAAA,gBAAA;EAAA,SAAA;EAAA,UAAA;AAAA;;AAAA;;CAAA;AAAA;EAAA,UAAA;AAAA;;AAAA;;CAAA;;AAAA;EAAA,gBAAA;AAAA;;AAAA;;;CAAA;;AAAA;;EAAA,UAAA,EAAA,MAAA;EAAA,cAAA,EAAA,MAAA;AAAA;;AAAA;;CAAA;;AAAA;;EAAA,eAAA;AAAA;;AAAA;;CAAA;AAAA;EAAA,eAAA;AAAA;;AAAA;;;;CAAA;;AAAA;;;;;;;;EAAA,cAAA,EAAA,MAAA;EAAA,sBAAA,EAAA,MAAA;AAAA;;AAAA;;CAAA;;AAAA;;EAAA,eAAA;EAAA,YAAA;AAAA;;AAAA,wEAAA;AAAA;EAAA,aAAA;AAAA,CAAA;EAAA,kBAAA;EAAA,UAAA;EAAA,WAAA;EAAA,UAAA;EAAA,YAAA;EAAA,gBAAA;EAAA,sBAAA;EAAA,mBAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA,oBAAA;EAAA;AAAA,CAAA;EAAA,mBAAA;EAAA;AAAA,CAAA;EAAA,oBAAA;EAAA;AAAA,CAAA;EAAA,iBAAA;EAAA;AAAA,CAAA;EAAA,gBAAA;EAAA;AAAA,CAAA;EAAA,gBAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA,gBAAA;EAAA,oBAAA;EAAA,4BAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAA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A,sBAAA;EAAA;AAAA,CAAA;EAAA,sBAAA;EAAA;AAAA,CAAA;EAAA,sBAAA;EAAA;AAAA,CAAA;EAAA,sBAAA;EAAA;AAAA,CAAA;EAAA,sBAAA;EAAA;AAAA,CAAA;EAAA,sBAAA;EAAA;AAAA,CAAA;EAAA,sBAAA;EAAA;AAAA,CAAA;EAAA,sBAAA;EAAA;AAAA,CAAA;EAAA,sBAAA;EAAA;AAAA,CAAA;EAAA,sBAAA;EAAA;AAAA,CAAA;EAAA,6BAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA,+EAAA;EAAA,qEAAA;EAAA;AAAA,CAAA;EAAA,yDAAA;EAAA,qEAAA;EAAA;AAAA,CAAA;EAAA,sEAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA,qBAAA;EAAA;AAAA,CAAA;EAAA,sBAAA;EAAA;AAAA,CAAA;EAAA,oBAAA;EAAA;AAAA,CAAA;EAAA,qBAAA;EAAA;AAAA,CAAA;EAAA,sBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,kBAAA;EAAA;AAAA,CAAA;EAAA,oBAAA;EAAA;AAAA,CAAA;EAAA,qBAAA;EAAA;AAAA,CAAA;EAAA,mBAAA;EAAA;AAAA,CAAA;EAAA,qBAAA;EAAA;AAAA,CAAA;EAAA,iBAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA,iBAAA;EAAA;AAAA,CAAA;EAAA,mBAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA,eAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA,eAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA,eAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA,+BAAA;EAAA;AAAA,CAAA;EAAA,oBAAA;EAAA;AAAA,CAAA;EAAA,oBAAA;EAAA;AAAA,CAAA;EAAA,oBAAA;EAAA;AAAA,CAAA;EAAA,oBAAA;EAAA;AAAA,CAAA;EAAA,oBAAA;EAAA;AAAA,CAAA;EAAA,oBAAA;EAAA;AAAA,CAAA;EAAA,oBAAA;EAAA;AAAA,CAAA;EAAA,oBAAA;EAAA;AAAA,CAAA;EAAA,oBAAA;EAAA;AAAA,CAAA;EAAA,oBAAA;EAAA;AAAA,CAAA;EAAA,oBAAA;EAAA;AAAA,CAAA;EAAA,oBAAA;EAAA;AAAA,CAAA;EAAA,oBAAA;EAAA;AAAA,CAAA;EAAA;AAAA,CAAA;EAAA,oBAAA;EAAA;AAAA,CAAA;EAAA,oBAAA;EAAA;AAAA,CAAA;EAAA,oBAAA;EAAA;AAAA,CAAA;EAAA,oBAAA;EAAA;AAAA,C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;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF,sBESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF,sBESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF,sBESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,gCESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF,sBESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF,sBESE;EFTF;AESE,CFTF;EAAA,0BESE;EFTF,sBESE;EFTF;AESE,CFTF;EAAA;AESE,CFTF;EAAA;AESE,CFTF;EAAA;AESE,CFTF;EAAA;AESE,CFTF;EAAA,gDESE;EFTF,2DESE;EFTF;AESE,CFTF;EAAA,sBESE;EFTF;AESE,CFTF;EAAA,sBESE;EFTF;AESE,CFTF;EAAA,sBESE;EFTF;AESE,CFTF;EAAA,kBESE;EFTF;AESE,CFTF;EAAA,kBESE;EFTF;AESE,CFTF;EAAA,kBESE;EFTF;AESE,CFTF;EAAA,kBESE;EFTF;AESE,CFTF;EAAA;AESE,CFTF;EAAA;AESE,CFTF;EAAA,kBESE;EFTF;AESE,CFTF;EAAA,kBESE;EFTF;AESE,CFTF;EAAA,kBESE;EFTF;AESE,CFTF;EAAA;AESE,CFTF;EAAA,kBESE;EFTF;AESE,CFTF;EAAA,+BESE;EFTF;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA;AESE,CFTF;EAAA;AESE,CFTF;EAAA,+EESE;EFTF,mGESE;EFTF;AESE,CFTF;EAAA,gDESE;EFTF,2DESE;EFTF;AESE,CFTF;EAAA;AESE,CFTF;EAAA,kBESE;EFTF;AESE,CFTF;EAAA,oCESE;EFTF,2DESE;EFTF;AESE,CFTF;EAAA,8BESE;EFTF;AESE,CFTF;EAAA;AESE,CFTF;EAAA,+BESE;EFTF;AESE,CFTF;EAAA,sBESE;EFTF;AESE,CFTF;EAAA,kBESE;EFTF;AESE,CFTF;EAAA,kBESE;EFTF;AESE,CFTF;EAAA,kBESE;EFTF;AESE,CFTF;EAAA,kBESE;EFTF;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA;AESE,CFTF;EAAA,sBESE;EFTF;AESE,CFTF;EAAA,kBESE;EFTF;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA;AESE,CFTF;EAAA;AESE,CFTF;EAAA,sBESE;EFTF;AESE,CFTF;EAAA;AESE,CFTF;EAAA,kBESE;EFTF;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA;AESE,CFTF;EAAA,2GESE;EFTF,yGESE;EFTF;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA;AESE,CFTF;EAAA,2GESE;EFTF,yGESE;EFTF;AESE,CFTF;EAAA,sBESE;EFTF;AESE,CFTF;EAAA,kBESE;EFTF;AESE,CFTF;EAAA,kBESE;EFTF;AESE,CFTF;EAAA;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA,gDESE;EFTF,6DESE;EFTF;AESE,CFTF;EAAA,sBESE;EFTF;AESE,CFTF;EAAA,sBESE;EFTF;AESE,CFTF;EAAA,kBESE;EFTF;AESE,CFTF;EAAA,kBESE;EFTF;AESE,CFTF;EAAA,kBESE;EFTF;AESE,CFTF;EAAA;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA,gDESE;EFTF,6DESE;EFTF;AESE,CFTF;EAAA;AESE,CFTF;EAAA;AESE,CFTF;EAAA,sBESE;EFTF;AESE,CFTF;EAAA,kBESE;EFTF;AESE,CFTF;EAAA;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA,oBESE;EFTF;AESE,CFTF;EAAA;AESE,CFTF;EAAA;AESE,CFTF;EAAA;AESE,CFTF;EAAA;AESE,CFTF;EAAA;AESE,CFTF;EAAA,+BESE;EFTF;AESE,CFTF;EAAA,gCESE;EFTF;AESE,CFTF;EAAA;AESE,CFTF;EAAA;AESE,CFTF;EAAA;AESE,CFTF;;EAAA;;IAAA;MAAA,UESE;MFTF;IESE;;IFTF;MAAA;IESE;;IFTF;MAAA,OESE;MFTF;IESE;EAAA;;EFTF;IAAA;EESE;AAAA,CFTF;;EAAA;;IAAA;MAAA;IESE;;IFTF;MAAA;IESE;EAAA;;EFTF;IAAA;EESE;AAAA,CFTF;;EAAA;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;AAAA,CFTF;;EAAA;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;AAAA,CFTF;;EAAA;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;;IAAA;MAAA;IESE;;IFTF;MAAA;IESE;EAAA;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;AAAA,CFTF;;EAAA;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;AAAA,CFTF;;EAAA;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA;EESE;;EFTF;IAAA,eESE;IFTF;EESE;;EFTF;IAAA,eESE;IFTF;EESE;AAAA","file":"ui-playground.css"}
@@ -0,0 +1,126 @@
1
+ {
2
+ "name": "hypothesis",
3
+ "version": "1.1627.0",
4
+ "description": "Annotate with anyone, anywhere.",
5
+ "license": "BSD-2-Clause",
6
+ "homepage": "https://hypothes.is",
7
+ "bugs": "https://github.com/hypothesis/client/issues",
8
+ "repository": "hypothesis/client",
9
+ "type": "module",
10
+ "devDependencies": {
11
+ "@aws-sdk/client-s3": "^3.504.0",
12
+ "@babel/core": "^7.1.6",
13
+ "@babel/preset-env": "^7.1.6",
14
+ "@babel/preset-react": "^7.0.0",
15
+ "@babel/preset-typescript": "^7.16.7",
16
+ "@hypothesis/frontend-build": "^3.0.0",
17
+ "@hypothesis/frontend-shared": "^9.4.0",
18
+ "@hypothesis/frontend-testing": "^1.3.1",
19
+ "@npmcli/arborist": "^9.0.0",
20
+ "@octokit/rest": "^21.0.0",
21
+ "@rollup/plugin-babel": "^6.0.0",
22
+ "@rollup/plugin-commonjs": "^28.0.0",
23
+ "@rollup/plugin-json": "^6.0.0",
24
+ "@rollup/plugin-node-resolve": "^16.0.0",
25
+ "@rollup/plugin-replace": "^6.0.1",
26
+ "@rollup/plugin-terser": "^0.4.0",
27
+ "@rollup/plugin-virtual": "^3.0.0",
28
+ "@sentry/browser": "^9.3.0",
29
+ "@sentry/cli": "^2.0.2",
30
+ "@trivago/prettier-plugin-sort-imports": "^5.2.0",
31
+ "@types/chai": "^5.0.0",
32
+ "@types/dompurify": "^3.0.0",
33
+ "@types/escape-html": "^1.0.1",
34
+ "@types/katex": "^0.16.0",
35
+ "@types/mocha": "^10.0.10",
36
+ "@types/retry": "^0.12.1",
37
+ "@types/scroll-into-view": "^1.16.0",
38
+ "@types/shallowequal": "^1.1.1",
39
+ "@types/showdown": "^2.0.0",
40
+ "@types/sinon": "^17.0.3",
41
+ "approx-string-match": "^2.0.0",
42
+ "autoprefixer": "^10.0.1",
43
+ "axe-core": "^4.0.0",
44
+ "babel-plugin-inject-args": "^1.0.0",
45
+ "babel-plugin-istanbul": "^7.0.0",
46
+ "babel-plugin-mockable-imports": "^2.0.1",
47
+ "chai": "^5.0.0",
48
+ "chance": "^1.0.13",
49
+ "classnames": "^2.2.4",
50
+ "commander": "^13.0.0",
51
+ "cross-env": "^7.0.0",
52
+ "diff": "^7.0.0",
53
+ "dompurify": "^3.0.0",
54
+ "enzyme": "^3.8.0",
55
+ "enzyme-adapter-preact-pure": "^4.0.1",
56
+ "escape-html": "^1.0.3",
57
+ "escape-string-regexp": "^4.0.0",
58
+ "eslint": "^9.22.0",
59
+ "eslint-config-hypothesis": "^3.2.0",
60
+ "eslint-plugin-jsx-a11y": "^6.10.0",
61
+ "eslint-plugin-mocha": "^10.5.0",
62
+ "eslint-plugin-react": "^7.37.1",
63
+ "eslint-plugin-react-hooks": "^5.0.0",
64
+ "express": "^5.0.1",
65
+ "fancy-log": "^2.0.0",
66
+ "fetch-mock": "11",
67
+ "focus-visible": "^5.0.0",
68
+ "globals": "^16.0.0",
69
+ "gulp": "^5.0.0",
70
+ "gulp-changed": "^5.0.1",
71
+ "karma": "^6.0.1",
72
+ "karma-chrome-launcher": "^3.1.0",
73
+ "karma-coverage-istanbul-reporter": "^3.0.2",
74
+ "karma-mocha": "^2.0.0",
75
+ "karma-mocha-reporter": "^2.0.4",
76
+ "karma-source-map-support": "^1.4.0",
77
+ "katex": "^0.16.0",
78
+ "lodash.debounce": "^4.0.3",
79
+ "mocha": "11.1.0",
80
+ "mustache": "^4.0.1",
81
+ "mustache-express": "^1.3.2",
82
+ "npm-packlist": "^10.0.0",
83
+ "postcss": "^8.0.3",
84
+ "preact": "^10.4.0",
85
+ "preact-render-to-string": "^6.4.0",
86
+ "prettier": "3.5.3",
87
+ "redux": "^5.0.0",
88
+ "redux-thunk": "^3.1.0",
89
+ "reselect": "^5.0.1",
90
+ "retry": "^0.13.1",
91
+ "rollup": "^4.0.2",
92
+ "rollup-plugin-string": "^3.0.0",
93
+ "sass": "^1.23.0",
94
+ "scroll-into-view": "^1.8.2",
95
+ "shallowequal": "^1.1.0",
96
+ "showdown": "^2.0.0",
97
+ "sinon": "^20.0.0",
98
+ "tailwindcss": "^3.0.2",
99
+ "typescript": "^5.0.2",
100
+ "typescript-eslint": "^8.10.0",
101
+ "wrap-text": "^1.0.7"
102
+ },
103
+ "browserslist": "chrome 92, firefox 90, safari 14.1",
104
+ "prettier": {
105
+ "arrowParens": "avoid",
106
+ "singleQuote": true,
107
+ "importOrder": [
108
+ "^[./]"
109
+ ],
110
+ "importOrderSeparation": true,
111
+ "plugins": [
112
+ "@trivago/prettier-plugin-sort-imports"
113
+ ]
114
+ },
115
+ "main": "./build/boot.js",
116
+ "scripts": {
117
+ "build": "cross-env NODE_ENV=production gulp build",
118
+ "lint": "eslint --cache .",
119
+ "checkformatting": "prettier --cache --check '**/*.{js,scss,ts,tsx,d.ts}'",
120
+ "format": "prettier --cache --list-different --write '**/*.{js,scss,ts,tsx,d.ts}'",
121
+ "test": "gulp test",
122
+ "test:watch": "gulp test --live",
123
+ "typecheck": "tsc --build tsconfig.json"
124
+ },
125
+ "packageManager": "yarn@3.6.0"
126
+ }
package/README.md CHANGED
@@ -147,8 +147,6 @@ The Fragment Change message is sent to the parent window when the embedded BookR
147
147
 
148
148
  The source JavaScript is written in ES6 (located in the `src/js` directory) and in ES5 (located in `BookReader`). `npm run serve-dev` starts an auto-reloading dev server, that builds js/css that has been edited at `localhost:8000`.
149
149
 
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
-
152
150
  ### Developing icons
153
151
  To see local icon package changes in bookreader, you'll need to install core-js into the icon package and link into bookreader.
154
152
 
package/package.json CHANGED
@@ -1,8 +1,13 @@
1
1
  {
2
2
  "name": "@internetarchive/bookreader",
3
- "version": "5.0.0-94",
3
+ "version": "5.0.0-96",
4
4
  "description": "The Internet Archive BookReader.",
5
5
  "type": "module",
6
+ "files": [
7
+ "BookReader/",
8
+ "src/",
9
+ "jsconfig.json"
10
+ ],
6
11
  "repository": {
7
12
  "type": "git",
8
13
  "url": "git+https://github.com/internetarchive/bookreader.git"
package/.eslintrc.cjs DELETED
@@ -1,51 +0,0 @@
1
- module.exports = {
2
- "parser": "@babel/eslint-parser",
3
- "env": {
4
- "browser": true,
5
- "jquery": true,
6
- "es6": true,
7
- "node": true,
8
- "jest": true,
9
- },
10
- "plugins": [
11
- "testcafe",
12
- "no-jquery",
13
- ],
14
- "extends": [
15
- "eslint:recommended",
16
- "plugin:testcafe/recommended",
17
- "plugin:no-jquery/deprecated",
18
- ],
19
- "globals": {
20
- // Browser API
21
- "MediaMetadata": "readonly",
22
- },
23
- "parserOptions": {
24
- "ecmaVersion": 2020,
25
- "ecmaFeatures": { "legacyDecorators": true },
26
- "sourceType": "module",
27
- },
28
- "rules": {
29
- "comma-dangle": ["error", "always-multiline", {"functions": "only-multiline"}],
30
- "semi": ["error", "always"],
31
- "space-before-blocks": ["error"],
32
- "keyword-spacing": [2, {"before": true, "after": true}],
33
- "indent": ["error", 2, {
34
- // This for some reason causing errors after switch to parser: babel-eslint.
35
- // See https://github.com/babel/babel-eslint/issues/681
36
- "ignoredNodes": ["TemplateLiteral"],
37
- }],
38
- "no-console": "off", // Used too often behind `debug` options; not dealing with this now
39
- "no-empty": ["error", { "allowEmptyCatch": true }],
40
- "no-jquery/no-bind": ["error"],
41
- "no-jquery/no-event-shorthand": ["error"],
42
- "no-jquery/no-sizzle": ["error"],
43
- "no-jquery/no-trim": ["error"],
44
- "no-trailing-spaces": ["error"],
45
- "no-unused-vars": ["error", { "vars": "all", "args": "none", "ignoreRestSiblings": false }], // set args:none; this is generally more annoying than useful
46
- "no-var": ["error"],
47
- "prefer-const": ["error"],
48
- "space-infix-ops": ["error", { "int32Hint": false }],
49
- "eol-last": ["error", "always"],
50
- },
51
- };
package/.gitattributes DELETED
@@ -1,2 +0,0 @@
1
- # Build files
2
- BookReader/**/* binary
@@ -1,32 +0,0 @@
1
- ---
2
- name: Bug
3
- about: A general problem with website functionality
4
- title: ''
5
- labels: Bug
6
- assignees: ''
7
-
8
- ---
9
-
10
- **Description**
11
-
12
- > What problem are we solving? What does the experience look like today? What are the symptoms? How can one reproduce the problem?
13
-
14
- **Evidence / Screenshot (if possible)**
15
-
16
- > Include evidence of the problem or provide a screenshot.
17
-
18
- **Expectation**
19
-
20
- > What should be happening? What will it look like / how will it behave when fixed?
21
-
22
- **Context**
23
-
24
- > What operating system? What browser type and version?
25
-
26
- **Proposal & Constraints**
27
-
28
- > What is the proposed solution / implementation? Is there a precedent of this approach succeeding elsewhere?
29
-
30
- **Stakeholders**
31
-
32
- > @-tag any stakeholders of this bug
@@ -1,30 +0,0 @@
1
- ---
2
- name: Feature Request
3
- about: A request for an entirely new feature
4
- title: ''
5
- labels: Feature Request
6
- assignees: ''
7
-
8
- ---
9
-
10
- **Context**
11
-
12
- > Is your feature request related to a problem? What is the motivation for implementing this feature?
13
-
14
- **Proposal & Constraints**
15
-
16
- > What is the proposed solution / implementation? Is there a precedent for this approach succeeding elsewhere?
17
-
18
- > Which suggestions or requirements should be considered for how this feature needs to appear or be implemented?
19
-
20
- **Additional Resources**
21
-
22
- > Add any other screenshots or assets related to the feature request.
23
-
24
- **Success Metrics**
25
-
26
- > How will you know if this change is successful? What specific metrics are relevant and how do you expect them to change?
27
-
28
- **Stakeholders**
29
-
30
- > @-tag stakeholders of this feature
@@ -1,15 +0,0 @@
1
- **Description**
2
-
3
- > What does this PR achieve? Is it a feature/bugfix/refactor? Does it close an Issue? If so, use `Closes #<issue number>`.
4
-
5
- **Technical**
6
-
7
- > What should be noted about the implementation?
8
-
9
- **Testing**
10
-
11
- > What steps should the reviewer take to verify this PR resolves the issue?
12
-
13
- **Screenshots/Videos**
14
-
15
- > Add a screenshot or video/GIF if the fix can be seen visually. This is helpful for reviewers to get context for the fix.
@@ -1,102 +0,0 @@
1
- # This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
2
- # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
3
-
4
- name: Node.js CI
5
-
6
- on:
7
- push:
8
- branches: [ master ]
9
- pull_request:
10
- branches: [ master ]
11
-
12
- jobs:
13
- install:
14
- runs-on: ubuntu-latest
15
-
16
- steps:
17
- - uses: actions/checkout@v4
18
- - uses: actions/setup-node@v4
19
- with:
20
- # Keep in sync with netlify.toml
21
- node-version: 20.x
22
- - name: Cache node_modules
23
- uses: actions/cache@v4
24
- id: cache
25
- with:
26
- # Caching node_modules isn't recommended because it can break across
27
- # Node versions and won't work with npm ci (See https://github.com/actions/cache/blob/main/examples.md#node---npm )
28
- # But we pin the node version, and we don't update it that often anyways. And
29
- # we don't use `npm ci` specifically to try to get faster CI flows. So caching
30
- # `node_modules` directly.
31
- path: 'node_modules'
32
- key: ${{ runner.os }}-node-20-${{ hashFiles('package*.json') }}
33
- - if: steps.cache.outputs.cache-hit != 'true'
34
- run: npm install
35
-
36
- build:
37
- needs: install
38
- runs-on: ubuntu-latest
39
- steps:
40
- - uses: actions/checkout@v4
41
- - uses: actions/setup-node@v4
42
- with:
43
- node-version: 20.x
44
- - name: Load node_modules from cache
45
- uses: actions/cache@v4
46
- with:
47
- # Use node_modules from previous jobs
48
- path: 'node_modules'
49
- key: ${{ runner.os }}-node-20-${{ hashFiles('package*.json') }}
50
- - name: Cache BookReader/
51
- uses: actions/cache@v4
52
- id: build-cache
53
- with:
54
- # Cache the build files so we don't have to build twice for e2e tests
55
- path: 'BookReader'
56
- key: ${{ runner.os }}-${{ github.sha }}
57
- - if: steps.build-cache.outputs.cache-hit != 'true'
58
- run: npm run build
59
-
60
- tests:
61
- needs: install
62
- runs-on: ubuntu-latest
63
- steps:
64
- - uses: actions/checkout@v4
65
- - uses: actions/setup-node@v4
66
- with:
67
- node-version: 20.x
68
- - name: Load node_modules from cache
69
- uses: actions/cache@v4
70
- with:
71
- # Use node_modules from previous jobs
72
- path: 'node_modules'
73
- key: ${{ runner.os }}-node-20-${{ hashFiles('package*.json') }}
74
- - run: npm run lint
75
- - run: npm run test
76
- - uses: codecov/codecov-action@v4
77
- with:
78
- token: ${{ secrets.CODECOV_TOKEN }}
79
-
80
- e2e-tests:
81
- needs: build
82
- runs-on: ubuntu-latest
83
- steps:
84
- - uses: actions/checkout@v4
85
- - uses: actions/setup-node@v4
86
- with:
87
- node-version: 20.x
88
- - name: Load node_modules from cache
89
- uses: actions/cache@v4
90
- with:
91
- # Use node_modules from previous jobs
92
- path: 'node_modules'
93
- key: ${{ runner.os }}-node-20-${{ hashFiles('package*.json') }}
94
- - name: Load BookReader/ from cache
95
- uses: actions/cache@v4
96
- with:
97
- # Cache the build files so we don't have to build twice for e2e tests
98
- path: 'BookReader'
99
- key: ${{ runner.os }}-${{ github.sha }}
100
- # Travis machines usually have 2 cores (see https://docs.travis-ci.com/user/reference/overview/#virtualisation-environment-vs-operating-system )
101
- # Quarantine mode (sigh) to catch unstable tests (see https://devexpress.github.io/testcafe/documentation/guides/basic-guides/run-tests.html#quarantine-mode )
102
- - run: npx testcafe --concurrency 2 --quarantine-mode
@@ -1,33 +0,0 @@
1
- # This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
2
- # For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages
3
-
4
- name: Node.js Package
5
-
6
- on:
7
- release:
8
- types: [created]
9
-
10
- jobs:
11
- build:
12
- runs-on: ubuntu-latest
13
- steps:
14
- - uses: actions/checkout@v4
15
- - uses: actions/setup-node@v4
16
- with:
17
- node-version: 20
18
- - run: npm ci
19
- - run: npm test
20
-
21
- publish-npm:
22
- needs: build
23
- runs-on: ubuntu-latest
24
- steps:
25
- - uses: actions/checkout@v4
26
- - uses: actions/setup-node@v4
27
- with:
28
- node-version: 20
29
- registry-url: https://registry.npmjs.org/
30
- - run: npm ci
31
- - run: npm publish --tag next
32
- env:
33
- NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
package/.testcaferc.cjs DELETED
@@ -1,10 +0,0 @@
1
- // @ts-check
2
- /** @type {TestCafeConfigurationOptions} */
3
- module.exports = {
4
- appCommand: "npm run serve",
5
- browsers: [
6
- "chrome:headless",
7
- "firefox:headless",
8
- ],
9
- src: ["tests/e2e/**/*test.js"]
10
- };
@@ -1,40 +0,0 @@
1
- /*
2
- * Custom overrides for BookReader Demo.
3
- */
4
- html {
5
- /** This must be set because the nav menu uses rem and sets the fonts really big? */
6
- font-size: 10px;
7
- font-family: sans-serif;
8
- }
9
-
10
- body {
11
- font-size: 16px;
12
- background-color: #939598;
13
- margin: 0px;
14
- }
15
-
16
- /* Hide print and embed functionality */
17
- .BRtoolbar .embed, .print {
18
- display: none;
19
- }
20
-
21
- body.BRfullscreenActive section.theater {
22
- height: 100vh;
23
- }
24
- ia-bookreader[fullscreen] {
25
- height: unset;
26
- }
27
-
28
- ia-bookreader{
29
- --br-height: calc(100vh - 100px);
30
- display: block;
31
- height: var(--br-height);
32
- }
33
-
34
- .BookReader {
35
- --br-height: calc(100vh - 100px);
36
- --new-height: calc(var(--br-height) - 20px);
37
- height: var(--br-height);
38
- overflow: hidden;
39
- margin: 0 auto;
40
- }
@@ -1,112 +0,0 @@
1
- //
2
- // This file shows the minimum you need to provide to BookReader to display a book
3
- //
4
- // Copyright(c)2008-2009 Internet Archive. Software license AGPL version 3.
5
-
6
- // Create the BookReader object
7
- var options = {
8
- // Total number of leafs
9
- getNumLeafs: function() {
10
- return 15;
11
- },
12
-
13
- // Return the width of a given page. Here we assume all images are 800 pixels wide
14
- getPageWidth: function(index) {
15
- return 800;
16
- },
17
-
18
- // Return the height of a given page. Here we assume all images are 1200 pixels high
19
- getPageHeight: function(index) {
20
- return 1200;
21
- },
22
-
23
- // We load the images from archive.org -- you can modify this function to retrieve images
24
- // using a different URL structure
25
- getPageURI: function(index, reduce, rotate) {
26
- // reduce and rotate are ignored in this simple implementation, but we
27
- // could e.g. look at reduce and load images from a different directory
28
- // or pass the information to an image server
29
- var leafStr = '000';
30
- var imgStr = (index+1).toString();
31
- var re = new RegExp("0{"+imgStr.length+"}$");
32
- var url = 'http://archive.org/download/BookReader/img/page'+leafStr.replace(re, imgStr) + '.jpg';
33
- return url;
34
- },
35
-
36
- // Return which side, left or right, that a given page should be displayed on
37
- getPageSide: function(index) {
38
- if (0 == (index & 0x1)) {
39
- return 'R';
40
- } else {
41
- return 'L';
42
- }
43
- },
44
-
45
- // This function returns the left and right indices for the user-visible
46
- // spread that contains the given index. The return values may be
47
- // null if there is no facing page or the index is invalid.
48
- getSpreadIndices: function(pindex) {
49
- var spreadIndices = [null, null];
50
- if ('rl' == this.pageProgression) {
51
- // Right to Left
52
- if (this.getPageSide(pindex) == 'R') {
53
- spreadIndices[1] = pindex;
54
- spreadIndices[0] = pindex + 1;
55
- } else {
56
- // Given index was LHS
57
- spreadIndices[0] = pindex;
58
- spreadIndices[1] = pindex - 1;
59
- }
60
- } else {
61
- // Left to right
62
- if (this.getPageSide(pindex) == 'L') {
63
- spreadIndices[0] = pindex;
64
- spreadIndices[1] = pindex + 1;
65
- } else {
66
- // Given index was RHS
67
- spreadIndices[1] = pindex;
68
- spreadIndices[0] = pindex - 1;
69
- }
70
- }
71
- return spreadIndices;
72
- },
73
-
74
- // For a given "accessible page index" return the page number in the book.
75
- //
76
- // For example, index 5 might correspond to "Page 1" if there is front matter such
77
- // as a title page and table of contents.
78
- getPageNum: function(index) {
79
- return index+1;
80
- },
81
-
82
- // Book title and the URL used for the book title link
83
- bookTitle: 'BookReader Advanced Demo',
84
- bookUrl: '../index.html',
85
- bookUrlText: 'Back to Demos',
86
- bookUrlTitle: 'This is the book URL title',
87
- // thumbnail is optional, but it is used in the info dialog
88
- thumbnail: '//archive.org/download/BookReader/img/page014.jpg',
89
- // Metadata is optional, but it is used in the info dialog
90
- metadata: [
91
- {label: 'Title', value: 'Open Library BookReader Presentation'},
92
- {label: 'Author', value: 'Internet Archive'},
93
- {label: 'Demo Info', value: 'This demo shows how one could use BookReader with their own content.'},
94
- ],
95
-
96
- // Override the path used to find UI images
97
- imagesBaseURL: '../BookReader/images/',
98
-
99
- getEmbedCode: function(frameWidth, frameHeight, viewParams) {
100
- return "Embed code not supported in bookreader demo.";
101
- },
102
-
103
- // Note previously the UI param was used for mobile, but it's going to be responsive
104
- // embed === iframe
105
-
106
- ui: 'full', // embed, full (responsive)
107
-
108
- };
109
- var br = new BookReader(options);
110
-
111
- // Let's go!
112
- br.init();