@internetarchive/bookreader 5.0.0-63 → 5.0.0-64

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 (98) hide show
  1. package/.github/workflows/node.js.yml +1 -0
  2. package/BookReader/BookReader.css +45 -58
  3. package/BookReader/BookReader.js +1 -1
  4. package/BookReader/BookReader.js.LICENSE.txt +2 -0
  5. package/BookReader/BookReader.js.map +1 -1
  6. package/BookReader/ia-bookreader-bundle.js +95 -95
  7. package/BookReader/ia-bookreader-bundle.js.LICENSE.txt +2 -0
  8. package/BookReader/ia-bookreader-bundle.js.map +1 -1
  9. package/BookReader/icons/1up.svg +1 -1
  10. package/BookReader/icons/2up.svg +1 -1
  11. package/BookReader/icons/advance.svg +1 -1
  12. package/BookReader/icons/chevron-right.svg +1 -1
  13. package/BookReader/icons/close-circle-dark.svg +1 -1
  14. package/BookReader/icons/close-circle.svg +1 -1
  15. package/BookReader/icons/fullscreen.svg +1 -1
  16. package/BookReader/icons/fullscreen_exit.svg +1 -1
  17. package/BookReader/icons/hamburger.svg +1 -1
  18. package/BookReader/icons/left-arrow.svg +1 -1
  19. package/BookReader/icons/magnify-minus.svg +1 -1
  20. package/BookReader/icons/magnify-plus.svg +1 -1
  21. package/BookReader/icons/magnify.svg +1 -1
  22. package/BookReader/icons/pause.svg +1 -1
  23. package/BookReader/icons/play.svg +1 -1
  24. package/BookReader/icons/playback-speed.svg +1 -1
  25. package/BookReader/icons/read-aloud.svg +1 -1
  26. package/BookReader/icons/review.svg +1 -1
  27. package/BookReader/icons/thumbnails.svg +1 -1
  28. package/BookReader/icons/voice.svg +1 -1
  29. package/BookReader/icons/volume-full.svg +1 -1
  30. package/BookReader/images/BRicons.svg +3 -3
  31. package/BookReader/images/books_graphic.svg +1 -1
  32. package/BookReader/images/icon_book.svg +1 -1
  33. package/BookReader/images/icon_bookmark.svg +1 -1
  34. package/BookReader/images/icon_gear.svg +1 -1
  35. package/BookReader/images/icon_hamburger.svg +1 -1
  36. package/BookReader/images/icon_home.svg +1 -1
  37. package/BookReader/images/icon_info.svg +1 -1
  38. package/BookReader/images/icon_one_page.svg +1 -1
  39. package/BookReader/images/icon_pause.svg +1 -1
  40. package/BookReader/images/icon_play.svg +1 -1
  41. package/BookReader/images/icon_search_button.svg +1 -1
  42. package/BookReader/images/icon_share.svg +1 -1
  43. package/BookReader/images/icon_skip-ahead.svg +1 -1
  44. package/BookReader/images/icon_skip-back.svg +1 -1
  45. package/BookReader/images/icon_speaker.svg +1 -1
  46. package/BookReader/images/icon_speaker_open.svg +1 -1
  47. package/BookReader/images/icon_thumbnails.svg +1 -1
  48. package/BookReader/images/icon_toc.svg +1 -1
  49. package/BookReader/images/icon_two_pages.svg +1 -1
  50. package/BookReader/images/marker_chap-off.svg +1 -1
  51. package/BookReader/images/marker_chap-on.svg +1 -1
  52. package/BookReader/images/marker_srch-on.svg +1 -1
  53. package/BookReader/jquery-3.js +1 -1
  54. package/BookReader/plugins/plugin.archive_analytics.js +1 -1
  55. package/BookReader/plugins/plugin.archive_analytics.js.map +1 -1
  56. package/BookReader/plugins/plugin.autoplay.js +1 -1
  57. package/BookReader/plugins/plugin.autoplay.js.map +1 -1
  58. package/BookReader/plugins/plugin.chapters.js +2 -1
  59. package/BookReader/plugins/plugin.chapters.js.LICENSE.txt +1 -0
  60. package/BookReader/plugins/plugin.chapters.js.map +1 -1
  61. package/BookReader/plugins/plugin.iframe.js.map +1 -1
  62. package/BookReader/plugins/plugin.mobile_nav.js +1 -1
  63. package/BookReader/plugins/plugin.mobile_nav.js.map +1 -1
  64. package/BookReader/plugins/plugin.resume.js +1 -1
  65. package/BookReader/plugins/plugin.resume.js.map +1 -1
  66. package/BookReader/plugins/plugin.search.js +2 -1
  67. package/BookReader/plugins/plugin.search.js.LICENSE.txt +1 -0
  68. package/BookReader/plugins/plugin.search.js.map +1 -1
  69. package/BookReader/plugins/plugin.text_selection.js +2 -1
  70. package/BookReader/plugins/plugin.text_selection.js.LICENSE.txt +1 -0
  71. package/BookReader/plugins/plugin.text_selection.js.map +1 -1
  72. package/BookReader/plugins/plugin.tts.js +1 -1
  73. package/BookReader/plugins/plugin.tts.js.LICENSE.txt +2 -0
  74. package/BookReader/plugins/plugin.tts.js.map +1 -1
  75. package/BookReader/plugins/plugin.url.js +1 -1
  76. package/BookReader/plugins/plugin.url.js.map +1 -1
  77. package/BookReader/plugins/plugin.vendor-fullscreen.js +1 -1
  78. package/BookReader/plugins/plugin.vendor-fullscreen.js.map +1 -1
  79. package/BookReader/webcomponents-bundle.js +1 -1
  80. package/BookReader/webcomponents-bundle.js.map +1 -1
  81. package/CHANGELOG.md +5 -0
  82. package/babel.config.js +5 -4
  83. package/netlify.toml +4 -0
  84. package/package.json +15 -15
  85. package/src/BookNavigator/search/search-results.js +1 -7
  86. package/src/BookReader/utils.js +10 -0
  87. package/src/css/_BRnav.scss +2 -2
  88. package/src/css/_BRsearch.scss +38 -10
  89. package/src/plugins/search/plugin.search.js +14 -21
  90. package/src/plugins/search/utils.js +43 -0
  91. package/src/plugins/search/view.js +11 -24
  92. package/tests/e2e/helpers/desktopSearch.js +3 -3
  93. package/tests/jest/BookNavigator/search/search-results.test.js +6 -1
  94. package/tests/jest/BookReader/utils.test.js +12 -0
  95. package/tests/jest/plugins/search/plugin.search.test.js +2 -39
  96. package/tests/jest/plugins/search/plugin.search.view.test.js +5 -0
  97. package/tests/jest/plugins/search/utils.js +25 -0
  98. package/tests/jest/plugins/search/utils.test.js +29 -0
@@ -17,6 +17,7 @@ jobs:
17
17
  - uses: actions/checkout@v3
18
18
  - uses: actions/setup-node@v3
19
19
  with:
20
+ # Keep in sync with netlify.toml
20
21
  node-version: 16.x
21
22
  - name: Cache node_modules
22
23
  uses: actions/cache@v3
@@ -1,5 +1,4 @@
1
- /* Variables */
2
- /* COLORBOX POP-UP */
1
+ /* Variables */ /* COLORBOX POP-UP */
3
2
  #colorbox, #cboxOverlay, #cboxWrapper {
4
3
  position: absolute;
5
4
  top: 0;
@@ -323,47 +322,38 @@ body.BRfullscreenActive .mm-menu {
323
322
  .BRinfoLeftCol {
324
323
  font-size: 14px;
325
324
  }
326
-
327
325
  .BRimageW {
328
326
  text-align: center;
329
327
  margin-bottom: 10px;
330
328
  }
331
-
332
329
  .BRimageW img {
333
330
  height: 200px;
334
331
  width: auto;
335
332
  }
336
-
337
333
  .BRinfoValue.larger {
338
334
  font-size: 16px;
339
335
  }
340
-
341
336
  .BRinfoMoreInfoWrapper a {
342
337
  font-size: inherit;
343
338
  color: white;
344
339
  text-decoration: none;
345
340
  }
346
-
347
341
  .BRinfoOtherFormatsFormat {
348
342
  margin-bottom: 6px;
349
343
  }
350
-
351
344
  .BRinfoFooter {
352
345
  margin-bottom: 10px;
353
346
  text-align: left;
354
347
  }
355
-
356
348
  .BRinfoFooter a {
357
349
  display: block;
358
350
  }
359
-
360
351
  .BRfloatFoot.BRinfoFooter {
361
352
  margin: initial;
362
353
  padding: initial;
363
354
  border: initial;
364
355
  font-size: inherit;
365
356
  }
366
-
367
357
  .BookReader .fieldset-embed, .BRmobileMenu .fieldset-embed, .BRfloat .fieldset-embed {
368
358
  display: none;
369
359
  }
@@ -380,56 +370,46 @@ body.BRfullscreenActive .mm-menu {
380
370
  position: relative;
381
371
  padding: 15px;
382
372
  }
383
-
384
373
  .BRinfoLeftCol {
385
374
  float: left;
386
375
  width: 40%;
387
376
  min-height: 1px;
388
377
  }
389
-
390
378
  .BRinfoRightCol {
391
379
  float: left;
392
380
  width: 58%;
393
381
  }
394
-
395
382
  .BRimageW {
396
383
  text-align: center;
397
384
  margin-bottom: 10px;
398
385
  margin-right: 26px;
399
386
  }
400
-
401
387
  .BRimageW img {
402
388
  height: auto;
403
389
  width: 100%;
404
390
  }
405
-
406
391
  .BRinfoValue.larger {
407
392
  font-size: 20px;
408
393
  line-height: 1.2;
409
394
  }
410
-
411
395
  .BRinfoMoreInfoWrapper a {
412
396
  font-size: 14px;
413
397
  color: white;
414
398
  text-decoration: none;
415
399
  font-weight: bold;
416
400
  }
417
-
418
401
  .BRinfoOtherFormatsFormat {
419
402
  display: inline;
420
403
  margin-right: 10px;
421
404
  }
422
-
423
405
  .BRinfoFooter {
424
406
  font-size: 1em;
425
407
  clear: both;
426
408
  }
427
-
428
409
  .BRinfoFooter a {
429
410
  display: inline;
430
411
  margin-right: 10px;
431
412
  }
432
-
433
413
  .BookReader .BRaction, .BRmobileMenu .BRaction, .BRfloat .BRaction {
434
414
  padding: 8px 16px;
435
415
  }
@@ -984,14 +964,13 @@ i.BRicon {
984
964
  /* Desktop Only */
985
965
  @media (min-width: 801px) {
986
966
  .BRfloat .message,
987
- .BRfloatBody {
967
+ .BRfloatBody {
988
968
  padding: 10px 15px 10px 15px;
989
969
  font-size: 16px;
990
970
  line-height: normal;
991
971
  margin-top: 0;
992
972
  margin-bottom: 0px;
993
973
  }
994
-
995
974
  .BRfloatHead {
996
975
  box-sizing: border-box;
997
976
  line-height: normal;
@@ -1001,7 +980,6 @@ i.BRicon {
1001
980
  text-align: center;
1002
981
  border-bottom: 1px solid rgb(216, 216, 216);
1003
982
  }
1004
-
1005
983
  .BRfloatFoot {
1006
984
  padding: 10px;
1007
985
  margin-bottom: 10px;
@@ -1012,10 +990,9 @@ i.BRicon {
1012
990
  .BRfloatBody {
1013
991
  padding: 10px 10px;
1014
992
  }
1015
-
1016
993
  .BRfloat .message,
1017
- .BRfloatBody,
1018
- .BRfloatHead {
994
+ .BRfloatBody,
995
+ .BRfloatHead {
1019
996
  box-sizing: border-box;
1020
997
  line-height: normal;
1021
998
  border-bottom: 1px solid rgb(216, 216, 216);
@@ -1025,12 +1002,10 @@ i.BRicon {
1025
1002
  font-weight: 700;
1026
1003
  text-align: center;
1027
1004
  }
1028
-
1029
1005
  .BRfloatFoot {
1030
1006
  padding: 10px 10px 0 10px;
1031
1007
  border-top: 1px solid #ccc;
1032
1008
  }
1033
-
1034
1009
  .BRfloatFoot .BRaction {
1035
1010
  margin-bottom: 10px;
1036
1011
  }
@@ -1040,7 +1015,6 @@ i.BRicon {
1040
1015
  max-width: initial;
1041
1016
  width: 455px;
1042
1017
  }
1043
-
1044
1018
  .BRfloat.wide {
1045
1019
  max-width: initial;
1046
1020
  width: 555px;
@@ -1064,11 +1038,11 @@ i.BRicon {
1064
1038
  @keyframes fadeUp {
1065
1039
  from {
1066
1040
  opacity: 0;
1067
- transform: translateY(10px);
1041
+ translate: 0 10px;
1068
1042
  }
1069
1043
  to {
1070
1044
  opacity: 1;
1071
- transform: translateY(0);
1045
+ translate: 0 0;
1072
1046
  }
1073
1047
  }
1074
1048
  .BRfooter {
@@ -1240,8 +1214,7 @@ i.BRicon {
1240
1214
  appearance: none;
1241
1215
  border: 0;
1242
1216
  text-align: center;
1243
- text-align-last: center;
1244
- /* Chrome */
1217
+ text-align-last: center; /* Chrome */
1245
1218
  padding-top: 60%;
1246
1219
  padding-left: 10%;
1247
1220
  padding-right: 10%;
@@ -1340,8 +1313,7 @@ i.BRicon {
1340
1313
  height: 20px;
1341
1314
  border-radius: 50%;
1342
1315
  top: -5px;
1343
- margin-left: -9px;
1344
- /* Center icon */
1316
+ margin-left: -9px; /* Center icon */
1345
1317
  z-index: 6;
1346
1318
  border: none;
1347
1319
  }
@@ -1425,11 +1397,9 @@ i.BRicon {
1425
1397
  .BRnavline .BRchapter {
1426
1398
  display: none;
1427
1399
  }
1428
-
1429
1400
  .BRnavCntlBtm {
1430
1401
  bottom: 34px;
1431
1402
  }
1432
-
1433
1403
  .BRpager.ui-slider {
1434
1404
  height: 10px;
1435
1405
  top: 12px;
@@ -1543,24 +1513,31 @@ i.BRicon {
1543
1513
  bottom: calc(100% + 5px);
1544
1514
  left: 50%;
1545
1515
  transform: translateX(-50%);
1546
- width: 230px;
1516
+ width: 350px;
1517
+ max-width: 100vw;
1547
1518
  padding: 12px 14px;
1519
+ padding-bottom: 10px;
1548
1520
  color: #fff;
1549
- font-weight: bold;
1550
1521
  background: #333;
1551
1522
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
1523
+ border-radius: 4px;
1524
+ animation: fadeUp 0.2s;
1525
+ -webkit-user-select: none;
1526
+ -moz-user-select: none;
1527
+ -ms-user-select: none;
1528
+ -o-user-select: none;
1529
+ user-select: none;
1552
1530
  }
1553
1531
  .BookReader .BRquery:after, .BRmobileMenu .BRquery:after, .BRfloat .BRquery:after, .BookReader .BRchapter > div:after, .BRmobileMenu .BRchapter > div:after, .BRfloat .BRchapter > div:after {
1554
- display: none;
1555
1532
  position: absolute;
1556
- top: 100%;
1533
+ content: "";
1534
+ bottom: -9px;
1557
1535
  left: 50%;
1536
+ margin-left: -1px;
1558
1537
  transform: translateX(-50%);
1559
- content: "";
1560
- border: 7px solid transparent;
1561
- border-width: 7px 4px;
1562
- border-bottom: none;
1563
- border-top-color: #333;
1538
+ width: 30px;
1539
+ height: 10px;
1540
+ clip-path: polygon(0 0, 100% 0, 50% 100%);
1564
1541
  }
1565
1542
 
1566
1543
  .BookReader .searchHiliteLayer, .BookReader .ttsHiliteLayer, .BRmobileMenu .searchHiliteLayer, .BRmobileMenu .ttsHiliteLayer, .BRfloat .searchHiliteLayer, .BRfloat .ttsHiliteLayer {
@@ -1606,8 +1583,7 @@ i.BRicon {
1606
1583
  }
1607
1584
  .BookReader .BRchapter, .BookReader .BRsearch, .BRmobileMenu .BRchapter, .BRmobileMenu .BRsearch, .BRfloat .BRchapter, .BRfloat .BRsearch {
1608
1585
  position: absolute;
1609
- bottom: 0;
1610
- /* Relative to nav line */
1586
+ bottom: 0; /* Relative to nav line */
1611
1587
  cursor: pointer;
1612
1588
  z-index: 3;
1613
1589
  background-color: transparent;
@@ -1620,8 +1596,7 @@ i.BRicon {
1620
1596
  height: 8px;
1621
1597
  width: 4px;
1622
1598
  bottom: -13px;
1623
- margin-left: -12px;
1624
- /* Center icon */
1599
+ margin-left: -12px; /* Center icon */
1625
1600
  }
1626
1601
  .BookReader .BRchapter:hover > div, .BRmobileMenu .BRchapter:hover > div, .BRfloat .BRchapter:hover > div {
1627
1602
  display: block;
@@ -1650,7 +1625,19 @@ i.BRicon {
1650
1625
  .BookReader .BRsearch .BRquery, .BRmobileMenu .BRsearch .BRquery, .BRfloat .BRsearch .BRquery {
1651
1626
  display: none;
1652
1627
  }
1653
- .BookReader .BRquery b, .BRmobileMenu .BRquery b, .BRfloat .BRquery b {
1628
+ .BookReader .BRquery main, .BRmobileMenu .BRquery main, .BRfloat .BRquery main {
1629
+ display: -webkit-box;
1630
+ -webkit-line-clamp: 4;
1631
+ -webkit-box-orient: vertical;
1632
+ overflow: hidden;
1633
+ margin-bottom: 6px;
1634
+ }
1635
+ .BookReader .BRquery footer, .BRmobileMenu .BRquery footer, .BRfloat .BRquery footer {
1636
+ text-align: center;
1637
+ font-weight: bold;
1638
+ font-size: 0.9em;
1639
+ }
1640
+ .BookReader .BRquery mark, .BRmobileMenu .BRquery mark, .BRfloat .BRquery mark {
1654
1641
  color: #adaedc;
1655
1642
  font-weight: bold;
1656
1643
  background-color: #272958;
@@ -2535,7 +2522,7 @@ html.mm-background .BookReader {
2535
2522
  /* Mobile Only */
2536
2523
  @media (max-width: 800px) {
2537
2524
  .BRbodyMobileNavEnabled .BRtoolbar.responsive,
2538
- .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRtoolbar.responsive {
2525
+ .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRtoolbar.responsive {
2539
2526
  display: block;
2540
2527
  height: 40px;
2541
2528
  box-sizing: border-box;
@@ -2544,15 +2531,15 @@ html.mm-background .BookReader {
2544
2531
  background: #333;
2545
2532
  }
2546
2533
  .BRbodyMobileNavEnabled .BRtoolbar.responsive .BRtoolbarbuttons,
2547
- .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRtoolbar.responsive .BRtoolbarbuttons {
2534
+ .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRtoolbar.responsive .BRtoolbarbuttons {
2548
2535
  display: none;
2549
2536
  }
2550
2537
  .BRbodyMobileNavEnabled .BRtoolbar.responsive .BRmobileHamburgerWrapper,
2551
- .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRtoolbar.responsive .BRmobileHamburgerWrapper {
2538
+ .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRtoolbar.responsive .BRmobileHamburgerWrapper {
2552
2539
  display: block;
2553
2540
  }
2554
2541
  .BRbodyMobileNavEnabled .BRtoolbar.responsive .BRmobileMenu,
2555
- .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRtoolbar.responsive .BRmobileMenu {
2542
+ .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRtoolbar.responsive .BRmobileMenu {
2556
2543
  display: block;
2557
2544
  }
2558
2545
  }
@@ -2996,10 +2983,10 @@ li.BRtable-contents-el .BRTOCElementPage {
2996
2983
  }
2997
2984
 
2998
2985
  .BRwordElement::selection, .BRspace::selection, .BRparagraphElement::selection, .BRparagraphElement br::selection {
2999
- background: hsla(210deg, 74%, 62%, 0.4);
2986
+ background: hsla(210, 74%, 62%, 0.4);
3000
2987
  }
3001
2988
  .BRwordElement::-moz-selection, .BRspace::-moz-selection, .BRparagraphElement::-moz-selection, .BRparagraphElement br::-moz-selection {
3002
- background: hsla(210deg, 74%, 62%, 0.4);
2989
+ background: hsla(210, 74%, 62%, 0.4);
3003
2990
  color: transparent;
3004
2991
  }
3005
2992