@syncfusion/ej2-pdfviewer 17.3.57-4568 → 17.3.59-4568

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 (102) hide show
  1. package/dist/ej2-pdfviewer.umd.min.js +1 -1
  2. package/dist/ej2-pdfviewer.umd.min.js.map +1 -1
  3. package/dist/es6/ej2-pdfviewer.es2015.js +42 -44
  4. package/dist/es6/ej2-pdfviewer.es2015.js.map +1 -1
  5. package/dist/es6/ej2-pdfviewer.es5.js +42 -44
  6. package/dist/es6/ej2-pdfviewer.es5.js.map +1 -1
  7. package/package.json +1 -1
  8. package/src/pdfviewer/annotation/annotation.js +3 -0
  9. package/src/pdfviewer/base/pdfviewer-base.d.ts +2 -0
  10. package/src/pdfviewer/base/pdfviewer-base.js +33 -10
  11. package/src/pdfviewer/magnification/magnification.d.ts +0 -1
  12. package/src/pdfviewer/magnification/magnification.js +2 -32
  13. package/src/pdfviewer/tagged-pdf/tagged-pdf.js +4 -2
  14. package/styles/bootstrap-dark.css +326 -10
  15. package/styles/bootstrap-dark.scss +4 -1
  16. package/styles/bootstrap.css +328 -10
  17. package/styles/bootstrap.scss +4 -1
  18. package/styles/bootstrap4.css +330 -11
  19. package/styles/bootstrap4.scss +4 -1
  20. package/styles/bootstrap5-dark.css +332 -13
  21. package/styles/bootstrap5-dark.scss +4 -1
  22. package/styles/bootstrap5.css +332 -13
  23. package/styles/bootstrap5.scss +4 -1
  24. package/styles/fabric-dark.css +326 -10
  25. package/styles/fabric-dark.scss +4 -1
  26. package/styles/fabric.css +328 -10
  27. package/styles/fabric.scss +4 -1
  28. package/styles/fluent-dark.css +328 -11
  29. package/styles/fluent-dark.scss +4 -1
  30. package/styles/fluent.css +328 -11
  31. package/styles/fluent.scss +4 -1
  32. package/styles/fluent2.css +4876 -0
  33. package/styles/fluent2.scss +4 -0
  34. package/styles/highcontrast-light.css +326 -10
  35. package/styles/highcontrast-light.scss +4 -1
  36. package/styles/highcontrast.css +326 -10
  37. package/styles/highcontrast.scss +4 -1
  38. package/styles/material-dark.css +326 -10
  39. package/styles/material-dark.scss +4 -1
  40. package/styles/material.css +326 -10
  41. package/styles/material.scss +4 -1
  42. package/styles/material3-dark.css +329 -14
  43. package/styles/material3-dark.scss +4 -1
  44. package/styles/material3.css +329 -14
  45. package/styles/material3.scss +4 -1
  46. package/styles/pdfviewer/_bds-definition.scss +6 -0
  47. package/styles/pdfviewer/_bootstrap-dark-definition.scss +6 -0
  48. package/styles/pdfviewer/_bootstrap-definition.scss +6 -0
  49. package/styles/pdfviewer/_bootstrap4-definition.scss +6 -0
  50. package/styles/pdfviewer/_bootstrap5-definition.scss +7 -1
  51. package/styles/pdfviewer/_fabric-dark-definition.scss +6 -0
  52. package/styles/pdfviewer/_fabric-definition.scss +6 -0
  53. package/styles/pdfviewer/_fluent-definition.scss +6 -0
  54. package/styles/pdfviewer/_fluent2-definition.scss +550 -0
  55. package/styles/pdfviewer/_fusionnew-definition.scss +6 -0
  56. package/styles/pdfviewer/_highcontrast-definition.scss +6 -0
  57. package/styles/pdfviewer/_highcontrast-light-definition.scss +6 -0
  58. package/styles/pdfviewer/_material-dark-definition.scss +12 -6
  59. package/styles/pdfviewer/_material-definition.scss +11 -5
  60. package/styles/pdfviewer/_material3-definition.scss +7 -1
  61. package/styles/pdfviewer/_tailwind-definition.scss +7 -1
  62. package/styles/pdfviewer/_theme.scss +764 -34
  63. package/styles/pdfviewer/bootstrap-dark.css +326 -10
  64. package/styles/pdfviewer/bootstrap.css +328 -10
  65. package/styles/pdfviewer/bootstrap4.css +330 -11
  66. package/styles/pdfviewer/bootstrap5-dark.css +332 -13
  67. package/styles/pdfviewer/bootstrap5.css +332 -13
  68. package/styles/pdfviewer/fabric-dark.css +326 -10
  69. package/styles/pdfviewer/fabric.css +328 -10
  70. package/styles/pdfviewer/fluent-dark.css +328 -11
  71. package/styles/pdfviewer/fluent.css +328 -11
  72. package/styles/pdfviewer/fluent2.css +4876 -0
  73. package/styles/pdfviewer/fluent2.scss +4 -0
  74. package/styles/pdfviewer/highcontrast-light.css +326 -10
  75. package/styles/pdfviewer/highcontrast.css +326 -10
  76. package/styles/pdfviewer/icons/_bds.scss +511 -0
  77. package/styles/pdfviewer/icons/_bootstrap-dark.scss +22 -0
  78. package/styles/pdfviewer/icons/_bootstrap.scss +22 -0
  79. package/styles/pdfviewer/icons/_bootstrap4.scss +22 -0
  80. package/styles/pdfviewer/icons/_bootstrap5.scss +23 -3
  81. package/styles/pdfviewer/icons/_fabric-dark.scss +22 -0
  82. package/styles/pdfviewer/icons/_fabric.scss +22 -0
  83. package/styles/pdfviewer/icons/_fluent.scss +23 -1
  84. package/styles/pdfviewer/icons/_fluent2.scss +510 -0
  85. package/styles/pdfviewer/icons/_fusionnew.scss +23 -1
  86. package/styles/pdfviewer/icons/_highcontrast-light.scss +22 -0
  87. package/styles/pdfviewer/icons/_highcontrast.scss +22 -0
  88. package/styles/pdfviewer/icons/_material-dark.scss +22 -0
  89. package/styles/pdfviewer/icons/_material.scss +22 -0
  90. package/styles/pdfviewer/icons/_material3.scss +23 -1
  91. package/styles/pdfviewer/icons/_tailwind-dark.scss +22 -0
  92. package/styles/pdfviewer/icons/_tailwind.scss +22 -0
  93. package/styles/pdfviewer/material-dark.css +326 -10
  94. package/styles/pdfviewer/material.css +326 -10
  95. package/styles/pdfviewer/material3-dark.css +329 -14
  96. package/styles/pdfviewer/material3.css +329 -14
  97. package/styles/pdfviewer/tailwind-dark.css +327 -11
  98. package/styles/pdfviewer/tailwind.css +327 -11
  99. package/styles/tailwind-dark.css +327 -11
  100. package/styles/tailwind-dark.scss +4 -1
  101. package/styles/tailwind.css +327 -11
  102. package/styles/tailwind.scss +4 -1
@@ -4190,6 +4190,9 @@ class Annotation {
4190
4190
  // tslint:disable-next-line
4191
4191
  let sessionSize = Math.round(JSON.stringify(window.sessionStorage).length / 1024);
4192
4192
  let maxSessionSize = 4500;
4193
+ if (this.pdfViewerBase.isDeviceiOS || this.pdfViewerBase.isMacSafari) {
4194
+ maxSessionSize = 2000;
4195
+ }
4193
4196
  if (sessionSize > maxSessionSize) {
4194
4197
  let storageLength = window.sessionStorage.length;
4195
4198
  // tslint:disable-next-line
@@ -17812,12 +17815,12 @@ class PdfViewerBase {
17812
17815
  * @private
17813
17816
  */
17814
17817
  // eslint-disable-next-line
17815
- this.isDeviceiOS = (['iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod'].includes(navigator.platform) || (navigator.userAgent.includes("Mac") && "ontouchend" in document));
17818
+ this.isDeviceiOS = false;
17816
17819
  /**
17817
17820
  * @private
17818
17821
  */
17819
17822
  // eslint-disable-next-line
17820
- this.isMacSafari = navigator.userAgent.indexOf("Safari") > -1 && navigator.userAgent.indexOf("Chrome") === -1 && !this.isDeviceiOS;
17823
+ this.isMacSafari = false;
17821
17824
  /**
17822
17825
  * @private
17823
17826
  */
@@ -17826,6 +17829,8 @@ class PdfViewerBase {
17826
17829
  this.isGotoPageEnabled = false;
17827
17830
  this.taggedTextHandler = null;
17828
17831
  this.taggedCollection = [];
17832
+ this.isScrollerMoving = false;
17833
+ this.isScrollerMovingTimer = null;
17829
17834
  this.clearSessionStorage = () => {
17830
17835
  let documentId = window.sessionStorage.getItem('hashId');
17831
17836
  let documentLiveCount = window.sessionStorage.getItem('documentLiveCount');
@@ -18816,9 +18821,21 @@ class PdfViewerBase {
18816
18821
  if (this.isThumb) {
18817
18822
  this.ispageMoved = true;
18818
18823
  event.preventDefault();
18824
+ this.isScrollerMoving = true;
18819
18825
  this.mobilePageNoContainer.style.display = 'block';
18820
18826
  scrollposX = event.touches[0].pageX - this.scrollX;
18821
18827
  scrollposY = event.touches[0].pageY - this.viewerContainer.offsetTop;
18828
+ if (isNullOrUndefined(this.isScrollerMovingTimer)) {
18829
+ this.isScrollerMovingTimer = setTimeout(() => {
18830
+ this.isScrollerMoving = false;
18831
+ this.pageViewScrollChanged(this.currentPageNumber);
18832
+ }, 300);
18833
+ }
18834
+ let differenceY = Math.abs(this.viewerContainer.scrollTop - (scrollposY * ratio));
18835
+ if (differenceY > 10) {
18836
+ clearTimeout(this.isScrollerMovingTimer);
18837
+ this.isScrollerMovingTimer = null;
18838
+ }
18822
18839
  this.viewerContainer.scrollTop = scrollposY * ratio;
18823
18840
  // tslint:disable-next-line
18824
18841
  let containerValue = event.touches[0].pageY;
@@ -18933,8 +18950,6 @@ class PdfViewerBase {
18933
18950
  this.textLayer = new TextLayer(this.pdfViewer, this);
18934
18951
  this.taggedPdf = new TaggedPDF(this.pdfViewer, this);
18935
18952
  this.signatureModule = new Signature(this.pdfViewer, this);
18936
- // tslint:disable-next-line:max-line-length
18937
- this.isWebkitMobile = /Chrome/.test(navigator.userAgent) || /Google Inc/.test(navigator.vendor) || (navigator.userAgent.indexOf('Safari') !== -1);
18938
18953
  }
18939
18954
  /**
18940
18955
  * @private
@@ -19079,6 +19094,7 @@ class PdfViewerBase {
19079
19094
  mobileScrollContainerDown(event) {
19080
19095
  this.ispageMoved = false;
19081
19096
  this.isThumb = true;
19097
+ this.isScrollerMoving = false;
19082
19098
  if (this.isTextMarkupAnnotationModule()) {
19083
19099
  if (this.pdfViewer.annotationModule.textMarkupAnnotationModule.selectTextMarkupCurrentPage != null && Browser.isDevice) {
19084
19100
  let pageNumber = this.pdfViewer.annotationModule.textMarkupAnnotationModule.selectTextMarkupCurrentPage;
@@ -19152,6 +19168,8 @@ class PdfViewerBase {
19152
19168
  }
19153
19169
  this.isThumb = false;
19154
19170
  this.ispageMoved = false;
19171
+ this.isScrollerMoving = false;
19172
+ this.pageViewScrollChanged(this.currentPageNumber);
19155
19173
  this.mobileScrollerContainer.removeEventListener('touchmove', this.viewerContainerOnScroll.bind(this), true);
19156
19174
  this.mobilePageNoContainer.style.display = 'none';
19157
19175
  }
@@ -20187,6 +20205,9 @@ class PdfViewerBase {
20187
20205
  this.focusViewerContainer();
20188
20206
  }
20189
20207
  wireEvents() {
20208
+ this.isDeviceiOS = (['iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod'].includes(navigator.platform) || (navigator.userAgent.includes("Mac") && "ontouchend" in document));
20209
+ this.isMacSafari = navigator.userAgent.indexOf("Safari") > -1 && navigator.userAgent.indexOf("Chrome") === -1 && !this.isDeviceiOS;
20210
+ this.isWebkitMobile = /Chrome/.test(navigator.userAgent) || /Google Inc/.test(navigator.vendor) || (navigator.userAgent.indexOf('Safari') !== -1) || (navigator.userAgent.indexOf('WebKit') !== -1);
20190
20211
  this.viewerContainer.addEventListener('scroll', this.viewerContainerOnScroll, true);
20191
20212
  if (Browser.isDevice) {
20192
20213
  this.viewerContainer.addEventListener('touchmove', this.viewerContainerOnScroll, true);
@@ -21446,7 +21467,7 @@ class PdfViewerBase {
21446
21467
  if (this.isDataExits && !this.getStoredData(currentPageIndex)) {
21447
21468
  isSkip = true;
21448
21469
  }
21449
- if (this.renderedPagesList.indexOf(currentPageIndex) === -1 && !this.getMagnified() && !isSkip) {
21470
+ if (this.renderedPagesList.indexOf(currentPageIndex) === -1 && !this.getMagnified() && !isSkip && !this.isScrollerMoving) {
21450
21471
  this.createRequestForRender(currentPageIndex);
21451
21472
  this.renderCountIncrement();
21452
21473
  }
@@ -21459,7 +21480,7 @@ class PdfViewerBase {
21459
21480
  isSkip = true;
21460
21481
  }
21461
21482
  if (canvas !== null && !isSkip) {
21462
- if (this.renderedPagesList.indexOf(previous) === -1 && !this.getMagnified()) {
21483
+ if (this.renderedPagesList.indexOf(previous) === -1 && !this.getMagnified() && !this.isScrollerMoving) {
21463
21484
  this.createRequestForRender(previous);
21464
21485
  this.renderCountIncrement();
21465
21486
  }
@@ -21471,7 +21492,7 @@ class PdfViewerBase {
21471
21492
  let pageHeight = 0;
21472
21493
  if (next < this.pageCount) {
21473
21494
  pageHeight = this.getPageHeight(next);
21474
- if ((this.renderedPagesList.indexOf(next) === -1 || this.isMinimumZoom) && !this.getMagnified()) {
21495
+ if ((this.renderedPagesList.indexOf(next) === -1 || this.isMinimumZoom) && !this.getMagnified() && !this.isScrollerMoving) {
21475
21496
  if (this.renderedPagesList.indexOf(next) === -1) {
21476
21497
  this.createRequestForRender(next);
21477
21498
  this.renderCountIncrement();
@@ -22263,6 +22284,11 @@ class PdfViewerBase {
22263
22284
  // tslint:disable-next-line
22264
22285
  let sessionSize = Math.round(JSON.stringify(window.sessionStorage).length / 1024);
22265
22286
  let maxSessionSize = 5000;
22287
+ let maxSessionLength = 200;
22288
+ if (this.isDeviceiOS || this.isMacSafari) {
22289
+ maxSessionSize = 2000;
22290
+ maxSessionLength = 80;
22291
+ }
22266
22292
  if (sessionSize >= maxSessionSize) {
22267
22293
  if (!this.isStorageExceed) {
22268
22294
  // tslint:disable-next-line
@@ -22284,10 +22310,10 @@ class PdfViewerBase {
22284
22310
  }
22285
22311
  this.isStorageExceed = true;
22286
22312
  sessionSize = Math.round(JSON.stringify(window.sessionStorage).length / 1024);
22287
- if (sessionSize >= 5000) {
22313
+ if (sessionSize >= maxSessionSize) {
22288
22314
  let storageLength = window.sessionStorage.length;
22289
- if (storageLength > 200) {
22290
- storageLength = 200;
22315
+ if (storageLength > maxSessionLength) {
22316
+ storageLength = maxSessionLength;
22291
22317
  }
22292
22318
  for (let i = 0; i < storageLength; i++) {
22293
22319
  if (window.sessionStorage.key(i) && window.sessionStorage.key(i).split('_')[3]) {
@@ -26265,12 +26291,9 @@ class Magnification {
26265
26291
  * @private
26266
26292
  */
26267
26293
  this.isDoubleTapZoom = false;
26268
- this.isWebkitMobile = false;
26269
26294
  this.pdfViewer = pdfViewer;
26270
26295
  this.pdfViewerBase = viewerBase;
26271
26296
  this.zoomLevel = 2;
26272
- // tslint:disable-next-line:max-line-length
26273
- this.isWebkitMobile = /Chrome/.test(navigator.userAgent) || /Google Inc/.test(navigator.vendor) || (navigator.userAgent.indexOf('Safari') !== -1);
26274
26297
  }
26275
26298
  /**
26276
26299
  * Zoom the PDF document to the given zoom value
@@ -26363,7 +26386,7 @@ class Magnification {
26363
26386
  this.isAutoZoom = false;
26364
26387
  this.onZoomChanged(zoomValue);
26365
26388
  if (Browser.isDevice) {
26366
- if (this.isWebkitMobile) {
26389
+ if (this.pdfViewerBase.isWebkitMobile) {
26367
26390
  this.pdfViewerBase.viewerContainer.style.overflowY = 'auto';
26368
26391
  }
26369
26392
  else {
@@ -26525,7 +26548,7 @@ class Magnification {
26525
26548
  this.pdfViewerBase.isMinimumZoom = false;
26526
26549
  }
26527
26550
  if (Browser.isDevice) {
26528
- if (this.isWebkitMobile) {
26551
+ if (this.pdfViewerBase.isWebkitMobile) {
26529
26552
  this.pdfViewerBase.viewerContainer.style.overflowY = 'auto';
26530
26553
  }
26531
26554
  else {
@@ -27088,33 +27111,6 @@ class Magnification {
27088
27111
  aElement[index].parentNode.removeChild(aElement[index]);
27089
27112
  }
27090
27113
  }
27091
- if (textLayer) {
27092
- textLayer.style.width = width + 'px';
27093
- textLayer.style.height = height + 'px';
27094
- if (this.pdfViewer.textSelectionModule) {
27095
- if (this.isPinchZoomed) {
27096
- textLayer.style.display = 'none';
27097
- }
27098
- else if (this.isMagnified) {
27099
- const lowerValue = ((pageNumber - 2) === 0) ? 0 : (pageNumber - 2);
27100
- // eslint-disable-next-line max-len
27101
- const higherValue = ((pageNumber) === (this.pdfViewerBase.pageCount)) ? (this.pdfViewerBase.pageCount - 1) : (pageNumber + 1);
27102
- if ((lowerValue <= i) && (i <= higherValue) && ((this.pdfViewer.textSelectionModule.isTextSelection && isSelectionAvailable) || this.pdfViewerBase.textLayer.getTextSearchStatus() || this.pdfViewerBase.isInitialPageMode)) {
27103
- this.pdfViewerBase.textLayer.resizeTextContentsOnZoom(i);
27104
- if (this.pdfViewer.textSelectionModule.isTextSelection && isSelectionAvailable) {
27105
- this.pdfViewer.textSelectionModule.applySelectionRangeOnScroll(i);
27106
- }
27107
- }
27108
- else {
27109
- textLayer.style.display = 'none';
27110
- }
27111
- }
27112
- else {
27113
- textLayer.style.display = 'none';
27114
- }
27115
- }
27116
- this.pdfViewerBase.applyElementStyles(textLayer, i);
27117
- }
27118
27114
  const adornerSvg = getDiagramElement(this.pdfViewer.element.id + '_textLayer_' + i);
27119
27115
  if (adornerSvg) {
27120
27116
  const adonerLayer = getDiagramElement(this.pdfViewer.element.id + i + '_diagramAdorner_svg');
@@ -41696,8 +41692,10 @@ class TaggedPDF {
41696
41692
  if (text.trim() != "") {
41697
41693
  textTag.innerText = text;
41698
41694
  }
41699
- if (altText && altText.trim() !== "" && (tagType === "Image" || tagType === "Figure")) {
41700
- textTag.alt = altText;
41695
+ if (tagType === "Image" || tagType === "Figure") {
41696
+ if (altText && altText.trim() !== "") {
41697
+ textTag.alt = altText;
41698
+ }
41701
41699
  textTag.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNgYAAAAAMAASsJTYQAAAAASUVORK5CYII=";
41702
41700
  }
41703
41701
  if (childTags && childTags.length > 0) {