pdfjs-dist 2.1.266 → 2.5.207

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.

Potentially problematic release.


This version of pdfjs-dist might be problematic. Click here for more details.

Files changed (191) hide show
  1. package/CODE_OF_CONDUCT.md +15 -0
  2. package/README.md +4 -0
  3. package/bower.json +1 -1
  4. package/build/pdf.js +8382 -18492
  5. package/build/pdf.js.map +1 -1
  6. package/build/pdf.min.js +22 -1
  7. package/build/pdf.worker.entry.js +5 -3
  8. package/build/pdf.worker.js +20417 -29816
  9. package/build/pdf.worker.js.map +1 -1
  10. package/build/pdf.worker.min.js +22 -1
  11. package/es5/build/pdf.js +25688 -0
  12. package/es5/build/pdf.js.map +1 -0
  13. package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
  14. package/es5/build/pdf.worker.js +58239 -0
  15. package/es5/build/pdf.worker.js.map +1 -0
  16. package/es5/web/images/annotation-check.svg +11 -0
  17. package/es5/web/images/annotation-comment.svg +16 -0
  18. package/es5/web/images/annotation-help.svg +26 -0
  19. package/es5/web/images/annotation-insert.svg +10 -0
  20. package/es5/web/images/annotation-key.svg +11 -0
  21. package/es5/web/images/annotation-newparagraph.svg +11 -0
  22. package/es5/web/images/annotation-noicon.svg +7 -0
  23. package/es5/web/images/annotation-note.svg +42 -0
  24. package/es5/web/images/annotation-paragraph.svg +16 -0
  25. package/es5/web/images/loading-icon.gif +0 -0
  26. package/es5/web/images/shadow.png +0 -0
  27. package/es5/web/images/texture.png +0 -0
  28. package/es5/web/pdf_viewer.css +403 -0
  29. package/es5/web/pdf_viewer.js +7742 -0
  30. package/es5/web/pdf_viewer.js.map +1 -0
  31. package/image_decoders/pdf.image_decoders.js +1475 -4897
  32. package/image_decoders/pdf.image_decoders.js.map +1 -1
  33. package/image_decoders/pdf.image_decoders.min.js +22 -1
  34. package/lib/README.md +7 -0
  35. package/lib/core/annotation.js +750 -899
  36. package/lib/core/arithmetic_decoder.js +81 -97
  37. package/lib/core/bidi.js +54 -46
  38. package/lib/core/ccitt.js +88 -81
  39. package/lib/core/ccitt_stream.js +15 -14
  40. package/lib/core/cff_parser.js +235 -183
  41. package/lib/core/charsets.js +4 -4
  42. package/lib/core/chunked_stream.js +447 -542
  43. package/lib/core/cmap.js +222 -264
  44. package/lib/core/colorspace.js +699 -863
  45. package/lib/core/core_utils.js +152 -0
  46. package/lib/core/crypto.js +379 -437
  47. package/lib/core/document.js +573 -660
  48. package/lib/core/encodings.js +15 -15
  49. package/lib/core/evaluator.js +1103 -868
  50. package/lib/core/font_renderer.js +135 -178
  51. package/lib/core/fonts.js +570 -491
  52. package/lib/core/function.js +291 -288
  53. package/lib/core/glyphlist.js +4527 -4526
  54. package/lib/core/image.js +145 -149
  55. package/lib/core/image_utils.js +170 -0
  56. package/lib/core/jbig2.js +325 -316
  57. package/lib/core/jbig2_stream.js +18 -17
  58. package/lib/core/jpeg_stream.js +21 -26
  59. package/lib/core/jpg.js +284 -232
  60. package/lib/core/jpx.js +161 -143
  61. package/lib/core/jpx_stream.js +28 -28
  62. package/lib/core/metrics.js +2929 -2929
  63. package/lib/core/murmurhash3.js +90 -101
  64. package/lib/core/obj.js +1183 -1157
  65. package/lib/core/operator_list.js +99 -67
  66. package/lib/core/parser.js +972 -911
  67. package/lib/core/pattern.js +87 -70
  68. package/lib/core/pdf_manager.js +150 -315
  69. package/lib/core/primitives.js +83 -56
  70. package/lib/core/ps_parser.js +175 -214
  71. package/lib/core/standard_fonts.js +237 -236
  72. package/lib/core/stream.js +94 -74
  73. package/lib/core/type1_parser.js +87 -69
  74. package/lib/core/unicode.js +1654 -1654
  75. package/lib/core/worker.js +193 -390
  76. package/lib/core/worker_stream.js +168 -0
  77. package/lib/display/annotation_layer.js +741 -972
  78. package/lib/display/api.js +1500 -1791
  79. package/lib/display/api_compatibility.js +12 -17
  80. package/lib/display/canvas.js +165 -165
  81. package/lib/display/content_disposition.js +40 -59
  82. package/lib/display/display_utils.js +515 -0
  83. package/lib/display/fetch_stream.js +183 -298
  84. package/lib/display/font_loader.js +273 -413
  85. package/lib/display/metadata.js +86 -98
  86. package/lib/display/network.js +266 -359
  87. package/lib/display/network_utils.js +25 -18
  88. package/lib/display/node_stream.js +285 -458
  89. package/lib/display/pattern_helper.js +113 -65
  90. package/lib/display/svg.js +1166 -901
  91. package/lib/display/text_layer.js +156 -132
  92. package/lib/display/transport_stream.js +262 -278
  93. package/lib/display/webgl.js +70 -83
  94. package/lib/display/worker_options.js +3 -3
  95. package/lib/display/xml_parser.js +303 -392
  96. package/lib/examples/node/domstubs.js +40 -37
  97. package/lib/pdf.js +226 -59
  98. package/lib/pdf.worker.js +14 -6
  99. package/lib/shared/compatibility.js +3 -246
  100. package/lib/shared/is_node.js +7 -6
  101. package/lib/shared/message_handler.js +327 -332
  102. package/lib/shared/util.js +266 -416
  103. package/lib/test/unit/annotation_spec.js +1555 -701
  104. package/lib/test/unit/api_spec.js +802 -604
  105. package/lib/test/unit/bidi_spec.js +7 -7
  106. package/lib/test/unit/cff_parser_spec.js +84 -69
  107. package/lib/test/unit/clitests_helper.js +7 -9
  108. package/lib/test/unit/cmap_spec.js +74 -76
  109. package/lib/test/unit/colorspace_spec.js +166 -161
  110. package/lib/test/unit/core_utils_spec.js +211 -0
  111. package/lib/test/unit/crypto_spec.js +181 -181
  112. package/lib/test/unit/custom_spec.js +20 -22
  113. package/lib/test/unit/display_svg_spec.js +34 -39
  114. package/lib/test/unit/display_utils_spec.js +263 -0
  115. package/lib/test/unit/document_spec.js +16 -21
  116. package/lib/test/unit/encodings_spec.js +12 -34
  117. package/lib/test/unit/evaluator_spec.js +83 -83
  118. package/lib/test/unit/fetch_stream_spec.js +111 -0
  119. package/lib/test/unit/function_spec.js +206 -204
  120. package/lib/test/unit/jasmine-boot.js +46 -30
  121. package/lib/test/unit/message_handler_spec.js +173 -159
  122. package/lib/test/unit/metadata_spec.js +69 -69
  123. package/lib/test/unit/murmurhash3_spec.js +12 -12
  124. package/lib/test/unit/network_spec.js +13 -61
  125. package/lib/test/unit/network_utils_spec.js +183 -119
  126. package/lib/test/unit/node_stream_spec.js +78 -92
  127. package/lib/test/unit/parser_spec.js +172 -114
  128. package/lib/test/unit/pdf_find_controller_spec.js +55 -86
  129. package/lib/test/unit/pdf_find_utils_spec.js +32 -32
  130. package/lib/test/unit/pdf_history_spec.js +32 -32
  131. package/lib/test/unit/primitives_spec.js +140 -125
  132. package/lib/test/unit/stream_spec.js +16 -14
  133. package/lib/test/unit/test_utils.js +131 -143
  134. package/lib/test/unit/testreporter.js +19 -19
  135. package/lib/test/unit/type1_parser_spec.js +42 -42
  136. package/lib/test/unit/ui_utils_spec.js +297 -459
  137. package/lib/test/unit/unicode_spec.js +38 -38
  138. package/lib/test/unit/util_spec.js +121 -305
  139. package/lib/web/annotation_layer_builder.js +66 -103
  140. package/lib/web/app.js +1328 -1214
  141. package/lib/web/app_options.js +105 -107
  142. package/lib/web/base_viewer.js +824 -838
  143. package/lib/web/chromecom.js +165 -252
  144. package/lib/web/debugger.js +149 -205
  145. package/lib/web/download_manager.js +39 -55
  146. package/lib/web/firefox_print_service.js +37 -27
  147. package/lib/web/firefoxcom.js +212 -363
  148. package/lib/web/genericcom.js +26 -108
  149. package/lib/web/genericl10n.js +24 -153
  150. package/lib/web/grab_to_pan.js +32 -30
  151. package/lib/web/interfaces.js +80 -254
  152. package/lib/web/overlay_manager.js +70 -246
  153. package/lib/web/password_prompt.js +38 -64
  154. package/lib/web/pdf_attachment_viewer.js +113 -131
  155. package/lib/web/pdf_cursor_tools.js +75 -102
  156. package/lib/web/pdf_document_properties.js +221 -306
  157. package/lib/web/pdf_find_bar.js +136 -170
  158. package/lib/web/pdf_find_controller.js +491 -548
  159. package/lib/web/pdf_find_utils.js +13 -13
  160. package/lib/web/pdf_history.js +397 -406
  161. package/lib/web/pdf_link_service.js +304 -348
  162. package/lib/web/pdf_outline_viewer.js +140 -175
  163. package/lib/web/pdf_page_view.js +452 -523
  164. package/lib/web/pdf_presentation_mode.js +308 -357
  165. package/lib/web/pdf_print_service.js +90 -104
  166. package/lib/web/pdf_rendering_queue.js +84 -108
  167. package/lib/web/pdf_sidebar.js +276 -306
  168. package/lib/web/pdf_sidebar_resizer.js +92 -119
  169. package/lib/web/pdf_single_page_viewer.js +77 -126
  170. package/lib/web/pdf_thumbnail_view.js +276 -297
  171. package/lib/web/pdf_thumbnail_viewer.js +186 -206
  172. package/lib/web/pdf_viewer.component.js +20 -21
  173. package/lib/web/pdf_viewer.js +55 -115
  174. package/lib/web/preferences.js +82 -286
  175. package/lib/web/secondary_toolbar.js +164 -196
  176. package/lib/web/text_layer_builder.js +282 -339
  177. package/lib/web/toolbar.js +217 -210
  178. package/lib/web/ui_utils.js +267 -420
  179. package/lib/web/view_history.js +52 -226
  180. package/lib/web/viewer_compatibility.js +21 -6
  181. package/package.json +2 -9
  182. package/web/pdf_viewer.css +35 -25
  183. package/web/pdf_viewer.js +3489 -4855
  184. package/web/pdf_viewer.js.map +1 -1
  185. package/webpack.js +14 -5
  186. package/external/streams/streams-lib.js +0 -3962
  187. package/external/url/url-lib.js +0 -627
  188. package/lib/display/dom_utils.js +0 -494
  189. package/lib/shared/streams_polyfill.js +0 -43
  190. package/lib/shared/url_polyfill.js +0 -56
  191. package/lib/test/unit/dom_utils_spec.js +0 -89
@@ -2,7 +2,7 @@
2
2
  * @licstart The following is the entire license notice for the
3
3
  * Javascript code in this page
4
4
  *
5
- * Copyright 2018 Mozilla Foundation
5
+ * Copyright 2020 Mozilla Foundation
6
6
  *
7
7
  * Licensed under the Apache License, Version 2.0 (the "License");
8
8
  * you may not use this file except in compliance with the License.
@@ -26,41 +26,25 @@ Object.defineProperty(exports, "__esModule", {
26
26
  });
27
27
  exports.PDFPresentationMode = void 0;
28
28
 
29
- var _ui_utils = require("./ui_utils");
30
-
31
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
32
-
33
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
34
-
35
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
36
-
37
- var DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS = 1500;
38
- var DELAY_BEFORE_HIDING_CONTROLS = 3000;
39
- var ACTIVE_SELECTOR = 'pdfPresentationMode';
40
- var CONTROLS_SELECTOR = 'pdfPresentationModeControls';
41
- var MOUSE_SCROLL_COOLDOWN_TIME = 50;
42
- var PAGE_SWITCH_THRESHOLD = 0.1;
43
- var SWIPE_MIN_DISTANCE_THRESHOLD = 50;
44
- var SWIPE_ANGLE_THRESHOLD = Math.PI / 6;
45
-
46
- var PDFPresentationMode =
47
- /*#__PURE__*/
48
- function () {
49
- function PDFPresentationMode(_ref) {
50
- var _this = this;
51
-
52
- var container = _ref.container,
53
- _ref$viewer = _ref.viewer,
54
- viewer = _ref$viewer === void 0 ? null : _ref$viewer,
55
- pdfViewer = _ref.pdfViewer,
56
- eventBus = _ref.eventBus,
57
- _ref$contextMenuItems = _ref.contextMenuItems,
58
- contextMenuItems = _ref$contextMenuItems === void 0 ? null : _ref$contextMenuItems;
59
-
60
- _classCallCheck(this, PDFPresentationMode);
61
-
29
+ var _ui_utils = require("./ui_utils.js");
30
+
31
+ const DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS = 1500;
32
+ const DELAY_BEFORE_HIDING_CONTROLS = 3000;
33
+ const ACTIVE_SELECTOR = "pdfPresentationMode";
34
+ const CONTROLS_SELECTOR = "pdfPresentationModeControls";
35
+ const MOUSE_SCROLL_COOLDOWN_TIME = 50;
36
+ const PAGE_SWITCH_THRESHOLD = 0.1;
37
+ const SWIPE_MIN_DISTANCE_THRESHOLD = 50;
38
+ const SWIPE_ANGLE_THRESHOLD = Math.PI / 6;
39
+
40
+ class PDFPresentationMode {
41
+ constructor({
42
+ container,
43
+ pdfViewer,
44
+ eventBus,
45
+ contextMenuItems = null
46
+ }) {
62
47
  this.container = container;
63
- this.viewer = viewer || container.firstElementChild;
64
48
  this.pdfViewer = pdfViewer;
65
49
  this.eventBus = eventBus;
66
50
  this.active = false;
@@ -71,403 +55,370 @@ function () {
71
55
  this.touchSwipeState = null;
72
56
 
73
57
  if (contextMenuItems) {
74
- contextMenuItems.contextFirstPage.addEventListener('click', function () {
75
- _this.contextMenuOpen = false;
76
-
77
- _this.eventBus.dispatch('firstpage', {
78
- source: _this
58
+ contextMenuItems.contextFirstPage.addEventListener("click", () => {
59
+ this.contextMenuOpen = false;
60
+ this.eventBus.dispatch("firstpage", {
61
+ source: this
79
62
  });
80
63
  });
81
- contextMenuItems.contextLastPage.addEventListener('click', function () {
82
- _this.contextMenuOpen = false;
83
-
84
- _this.eventBus.dispatch('lastpage', {
85
- source: _this
64
+ contextMenuItems.contextLastPage.addEventListener("click", () => {
65
+ this.contextMenuOpen = false;
66
+ this.eventBus.dispatch("lastpage", {
67
+ source: this
86
68
  });
87
69
  });
88
- contextMenuItems.contextPageRotateCw.addEventListener('click', function () {
89
- _this.contextMenuOpen = false;
90
-
91
- _this.eventBus.dispatch('rotatecw', {
92
- source: _this
70
+ contextMenuItems.contextPageRotateCw.addEventListener("click", () => {
71
+ this.contextMenuOpen = false;
72
+ this.eventBus.dispatch("rotatecw", {
73
+ source: this
93
74
  });
94
75
  });
95
- contextMenuItems.contextPageRotateCcw.addEventListener('click', function () {
96
- _this.contextMenuOpen = false;
97
-
98
- _this.eventBus.dispatch('rotateccw', {
99
- source: _this
76
+ contextMenuItems.contextPageRotateCcw.addEventListener("click", () => {
77
+ this.contextMenuOpen = false;
78
+ this.eventBus.dispatch("rotateccw", {
79
+ source: this
100
80
  });
101
81
  });
102
82
  }
103
83
  }
104
84
 
105
- _createClass(PDFPresentationMode, [{
106
- key: "request",
107
- value: function request() {
108
- if (this.switchInProgress || this.active || !this.viewer.hasChildNodes()) {
109
- return false;
110
- }
85
+ request() {
86
+ if (this.switchInProgress || this.active || !this.pdfViewer.pagesCount) {
87
+ return false;
88
+ }
111
89
 
112
- this._addFullscreenChangeListeners();
90
+ this._addFullscreenChangeListeners();
113
91
 
114
- this._setSwitchInProgress();
92
+ this._setSwitchInProgress();
115
93
 
116
- this._notifyStateChange();
94
+ this._notifyStateChange();
117
95
 
118
- if (this.container.requestFullscreen) {
119
- this.container.requestFullscreen();
120
- } else if (this.container.mozRequestFullScreen) {
121
- this.container.mozRequestFullScreen();
122
- } else if (this.container.webkitRequestFullscreen) {
123
- this.container.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
124
- } else if (this.container.msRequestFullscreen) {
125
- this.container.msRequestFullscreen();
126
- } else {
127
- return false;
128
- }
96
+ if (this.container.requestFullscreen) {
97
+ this.container.requestFullscreen();
98
+ } else if (this.container.mozRequestFullScreen) {
99
+ this.container.mozRequestFullScreen();
100
+ } else if (this.container.webkitRequestFullscreen) {
101
+ this.container.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
102
+ } else if (this.container.msRequestFullscreen) {
103
+ this.container.msRequestFullscreen();
104
+ } else {
105
+ return false;
106
+ }
129
107
 
130
- this.args = {
131
- page: this.pdfViewer.currentPageNumber,
132
- previousScale: this.pdfViewer.currentScaleValue
133
- };
134
- return true;
108
+ this.args = {
109
+ page: this.pdfViewer.currentPageNumber,
110
+ previousScale: this.pdfViewer.currentScaleValue
111
+ };
112
+ return true;
113
+ }
114
+
115
+ _mouseWheel(evt) {
116
+ if (!this.active) {
117
+ return;
135
118
  }
136
- }, {
137
- key: "_mouseWheel",
138
- value: function _mouseWheel(evt) {
139
- if (!this.active) {
140
- return;
141
- }
142
119
 
143
- evt.preventDefault();
144
- var delta = (0, _ui_utils.normalizeWheelEventDelta)(evt);
145
- var currentTime = new Date().getTime();
146
- var storedTime = this.mouseScrollTimeStamp;
120
+ evt.preventDefault();
121
+ const delta = (0, _ui_utils.normalizeWheelEventDelta)(evt);
122
+ const currentTime = new Date().getTime();
123
+ const storedTime = this.mouseScrollTimeStamp;
147
124
 
148
- if (currentTime > storedTime && currentTime - storedTime < MOUSE_SCROLL_COOLDOWN_TIME) {
149
- return;
150
- }
125
+ if (currentTime > storedTime && currentTime - storedTime < MOUSE_SCROLL_COOLDOWN_TIME) {
126
+ return;
127
+ }
151
128
 
152
- if (this.mouseScrollDelta > 0 && delta < 0 || this.mouseScrollDelta < 0 && delta > 0) {
153
- this._resetMouseScrollState();
154
- }
129
+ if (this.mouseScrollDelta > 0 && delta < 0 || this.mouseScrollDelta < 0 && delta > 0) {
130
+ this._resetMouseScrollState();
131
+ }
155
132
 
156
- this.mouseScrollDelta += delta;
133
+ this.mouseScrollDelta += delta;
157
134
 
158
- if (Math.abs(this.mouseScrollDelta) >= PAGE_SWITCH_THRESHOLD) {
159
- var totalDelta = this.mouseScrollDelta;
135
+ if (Math.abs(this.mouseScrollDelta) >= PAGE_SWITCH_THRESHOLD) {
136
+ const totalDelta = this.mouseScrollDelta;
160
137
 
161
- this._resetMouseScrollState();
138
+ this._resetMouseScrollState();
162
139
 
163
- var success = totalDelta > 0 ? this._goToPreviousPage() : this._goToNextPage();
140
+ const success = totalDelta > 0 ? this._goToPreviousPage() : this._goToNextPage();
164
141
 
165
- if (success) {
166
- this.mouseScrollTimeStamp = currentTime;
167
- }
142
+ if (success) {
143
+ this.mouseScrollTimeStamp = currentTime;
168
144
  }
169
145
  }
170
- }, {
171
- key: "_goToPreviousPage",
172
- value: function _goToPreviousPage() {
173
- var page = this.pdfViewer.currentPageNumber;
146
+ }
174
147
 
175
- if (page <= 1) {
176
- return false;
177
- }
148
+ get isFullscreen() {
149
+ return !!(document.fullscreenElement || document.mozFullScreen || document.webkitIsFullScreen || document.msFullscreenElement);
150
+ }
178
151
 
179
- this.pdfViewer.currentPageNumber = page - 1;
180
- return true;
152
+ _goToPreviousPage() {
153
+ const page = this.pdfViewer.currentPageNumber;
154
+
155
+ if (page <= 1) {
156
+ return false;
181
157
  }
182
- }, {
183
- key: "_goToNextPage",
184
- value: function _goToNextPage() {
185
- var page = this.pdfViewer.currentPageNumber;
186
158
 
187
- if (page >= this.pdfViewer.pagesCount) {
188
- return false;
189
- }
159
+ this.pdfViewer.currentPageNumber = page - 1;
160
+ return true;
161
+ }
162
+
163
+ _goToNextPage() {
164
+ const page = this.pdfViewer.currentPageNumber;
190
165
 
191
- this.pdfViewer.currentPageNumber = page + 1;
192
- return true;
166
+ if (page >= this.pdfViewer.pagesCount) {
167
+ return false;
193
168
  }
194
- }, {
195
- key: "_notifyStateChange",
196
- value: function _notifyStateChange() {
197
- this.eventBus.dispatch('presentationmodechanged', {
198
- source: this,
199
- active: this.active,
200
- switchInProgress: !!this.switchInProgress
201
- });
169
+
170
+ this.pdfViewer.currentPageNumber = page + 1;
171
+ return true;
172
+ }
173
+
174
+ _notifyStateChange() {
175
+ this.eventBus.dispatch("presentationmodechanged", {
176
+ source: this,
177
+ active: this.active,
178
+ switchInProgress: !!this.switchInProgress
179
+ });
180
+ }
181
+
182
+ _setSwitchInProgress() {
183
+ if (this.switchInProgress) {
184
+ clearTimeout(this.switchInProgress);
202
185
  }
203
- }, {
204
- key: "_setSwitchInProgress",
205
- value: function _setSwitchInProgress() {
206
- var _this2 = this;
207
186
 
208
- if (this.switchInProgress) {
209
- clearTimeout(this.switchInProgress);
210
- }
187
+ this.switchInProgress = setTimeout(() => {
188
+ this._removeFullscreenChangeListeners();
211
189
 
212
- this.switchInProgress = setTimeout(function () {
213
- _this2._removeFullscreenChangeListeners();
190
+ delete this.switchInProgress;
214
191
 
215
- delete _this2.switchInProgress;
192
+ this._notifyStateChange();
193
+ }, DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS);
194
+ }
216
195
 
217
- _this2._notifyStateChange();
218
- }, DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS);
219
- }
220
- }, {
221
- key: "_resetSwitchInProgress",
222
- value: function _resetSwitchInProgress() {
223
- if (this.switchInProgress) {
224
- clearTimeout(this.switchInProgress);
225
- delete this.switchInProgress;
226
- }
196
+ _resetSwitchInProgress() {
197
+ if (this.switchInProgress) {
198
+ clearTimeout(this.switchInProgress);
199
+ delete this.switchInProgress;
227
200
  }
228
- }, {
229
- key: "_enter",
230
- value: function _enter() {
231
- var _this3 = this;
201
+ }
232
202
 
233
- this.active = true;
203
+ _enter() {
204
+ this.active = true;
234
205
 
235
- this._resetSwitchInProgress();
206
+ this._resetSwitchInProgress();
236
207
 
237
- this._notifyStateChange();
208
+ this._notifyStateChange();
238
209
 
239
- this.container.classList.add(ACTIVE_SELECTOR);
240
- setTimeout(function () {
241
- _this3.pdfViewer.currentPageNumber = _this3.args.page;
242
- _this3.pdfViewer.currentScaleValue = 'page-fit';
243
- }, 0);
210
+ this.container.classList.add(ACTIVE_SELECTOR);
211
+ setTimeout(() => {
212
+ this.pdfViewer.currentPageNumber = this.args.page;
213
+ this.pdfViewer.currentScaleValue = "page-fit";
214
+ }, 0);
244
215
 
245
- this._addWindowListeners();
216
+ this._addWindowListeners();
246
217
 
247
- this._showControls();
218
+ this._showControls();
248
219
 
249
- this.contextMenuOpen = false;
250
- this.container.setAttribute('contextmenu', 'viewerContextMenu');
251
- window.getSelection().removeAllRanges();
252
- }
253
- }, {
254
- key: "_exit",
255
- value: function _exit() {
256
- var _this4 = this;
220
+ this.contextMenuOpen = false;
221
+ this.container.setAttribute("contextmenu", "viewerContextMenu");
222
+ window.getSelection().removeAllRanges();
223
+ }
257
224
 
258
- var page = this.pdfViewer.currentPageNumber;
259
- this.container.classList.remove(ACTIVE_SELECTOR);
260
- setTimeout(function () {
261
- _this4.active = false;
225
+ _exit() {
226
+ const page = this.pdfViewer.currentPageNumber;
227
+ this.container.classList.remove(ACTIVE_SELECTOR);
228
+ setTimeout(() => {
229
+ this.active = false;
262
230
 
263
- _this4._removeFullscreenChangeListeners();
231
+ this._removeFullscreenChangeListeners();
264
232
 
265
- _this4._notifyStateChange();
233
+ this._notifyStateChange();
266
234
 
267
- _this4.pdfViewer.currentScaleValue = _this4.args.previousScale;
268
- _this4.pdfViewer.currentPageNumber = page;
269
- _this4.args = null;
270
- }, 0);
235
+ this.pdfViewer.currentScaleValue = this.args.previousScale;
236
+ this.pdfViewer.currentPageNumber = page;
237
+ this.args = null;
238
+ }, 0);
271
239
 
272
- this._removeWindowListeners();
240
+ this._removeWindowListeners();
273
241
 
274
- this._hideControls();
242
+ this._hideControls();
275
243
 
276
- this._resetMouseScrollState();
244
+ this._resetMouseScrollState();
277
245
 
278
- this.container.removeAttribute('contextmenu');
246
+ this.container.removeAttribute("contextmenu");
247
+ this.contextMenuOpen = false;
248
+ }
249
+
250
+ _mouseDown(evt) {
251
+ if (this.contextMenuOpen) {
279
252
  this.contextMenuOpen = false;
253
+ evt.preventDefault();
254
+ return;
280
255
  }
281
- }, {
282
- key: "_mouseDown",
283
- value: function _mouseDown(evt) {
284
- if (this.contextMenuOpen) {
285
- this.contextMenuOpen = false;
286
- evt.preventDefault();
287
- return;
288
- }
289
256
 
290
- if (evt.button === 0) {
291
- var isInternalLink = evt.target.href && evt.target.classList.contains('internalLink');
257
+ if (evt.button === 0) {
258
+ const isInternalLink = evt.target.href && evt.target.classList.contains("internalLink");
292
259
 
293
- if (!isInternalLink) {
294
- evt.preventDefault();
260
+ if (!isInternalLink) {
261
+ evt.preventDefault();
295
262
 
296
- if (evt.shiftKey) {
297
- this._goToPreviousPage();
298
- } else {
299
- this._goToNextPage();
300
- }
263
+ if (evt.shiftKey) {
264
+ this._goToPreviousPage();
265
+ } else {
266
+ this._goToNextPage();
301
267
  }
302
268
  }
303
269
  }
304
- }, {
305
- key: "_contextMenu",
306
- value: function _contextMenu() {
307
- this.contextMenuOpen = true;
308
- }
309
- }, {
310
- key: "_showControls",
311
- value: function _showControls() {
312
- var _this5 = this;
313
-
314
- if (this.controlsTimeout) {
315
- clearTimeout(this.controlsTimeout);
316
- } else {
317
- this.container.classList.add(CONTROLS_SELECTOR);
318
- }
270
+ }
319
271
 
320
- this.controlsTimeout = setTimeout(function () {
321
- _this5.container.classList.remove(CONTROLS_SELECTOR);
272
+ _contextMenu() {
273
+ this.contextMenuOpen = true;
274
+ }
322
275
 
323
- delete _this5.controlsTimeout;
324
- }, DELAY_BEFORE_HIDING_CONTROLS);
276
+ _showControls() {
277
+ if (this.controlsTimeout) {
278
+ clearTimeout(this.controlsTimeout);
279
+ } else {
280
+ this.container.classList.add(CONTROLS_SELECTOR);
325
281
  }
326
- }, {
327
- key: "_hideControls",
328
- value: function _hideControls() {
329
- if (!this.controlsTimeout) {
330
- return;
331
- }
332
282
 
333
- clearTimeout(this.controlsTimeout);
283
+ this.controlsTimeout = setTimeout(() => {
334
284
  this.container.classList.remove(CONTROLS_SELECTOR);
335
285
  delete this.controlsTimeout;
286
+ }, DELAY_BEFORE_HIDING_CONTROLS);
287
+ }
288
+
289
+ _hideControls() {
290
+ if (!this.controlsTimeout) {
291
+ return;
336
292
  }
337
- }, {
338
- key: "_resetMouseScrollState",
339
- value: function _resetMouseScrollState() {
340
- this.mouseScrollTimeStamp = 0;
341
- this.mouseScrollDelta = 0;
342
- }
343
- }, {
344
- key: "_touchSwipe",
345
- value: function _touchSwipe(evt) {
346
- if (!this.active) {
347
- return;
348
- }
349
293
 
350
- if (evt.touches.length > 1) {
351
- this.touchSwipeState = null;
352
- return;
353
- }
294
+ clearTimeout(this.controlsTimeout);
295
+ this.container.classList.remove(CONTROLS_SELECTOR);
296
+ delete this.controlsTimeout;
297
+ }
354
298
 
355
- switch (evt.type) {
356
- case 'touchstart':
357
- this.touchSwipeState = {
358
- startX: evt.touches[0].pageX,
359
- startY: evt.touches[0].pageY,
360
- endX: evt.touches[0].pageX,
361
- endY: evt.touches[0].pageY
362
- };
363
- break;
364
-
365
- case 'touchmove':
366
- if (this.touchSwipeState === null) {
367
- return;
368
- }
369
-
370
- this.touchSwipeState.endX = evt.touches[0].pageX;
371
- this.touchSwipeState.endY = evt.touches[0].pageY;
372
- evt.preventDefault();
373
- break;
374
-
375
- case 'touchend':
376
- if (this.touchSwipeState === null) {
377
- return;
378
- }
379
-
380
- var delta = 0;
381
- var dx = this.touchSwipeState.endX - this.touchSwipeState.startX;
382
- var dy = this.touchSwipeState.endY - this.touchSwipeState.startY;
383
- var absAngle = Math.abs(Math.atan2(dy, dx));
384
-
385
- if (Math.abs(dx) > SWIPE_MIN_DISTANCE_THRESHOLD && (absAngle <= SWIPE_ANGLE_THRESHOLD || absAngle >= Math.PI - SWIPE_ANGLE_THRESHOLD)) {
386
- delta = dx;
387
- } else if (Math.abs(dy) > SWIPE_MIN_DISTANCE_THRESHOLD && Math.abs(absAngle - Math.PI / 2) <= SWIPE_ANGLE_THRESHOLD) {
388
- delta = dy;
389
- }
390
-
391
- if (delta > 0) {
392
- this._goToPreviousPage();
393
- } else if (delta < 0) {
394
- this._goToNextPage();
395
- }
396
-
397
- break;
398
- }
399
- }
400
- }, {
401
- key: "_addWindowListeners",
402
- value: function _addWindowListeners() {
403
- this.showControlsBind = this._showControls.bind(this);
404
- this.mouseDownBind = this._mouseDown.bind(this);
405
- this.mouseWheelBind = this._mouseWheel.bind(this);
406
- this.resetMouseScrollStateBind = this._resetMouseScrollState.bind(this);
407
- this.contextMenuBind = this._contextMenu.bind(this);
408
- this.touchSwipeBind = this._touchSwipe.bind(this);
409
- window.addEventListener('mousemove', this.showControlsBind);
410
- window.addEventListener('mousedown', this.mouseDownBind);
411
- window.addEventListener('wheel', this.mouseWheelBind);
412
- window.addEventListener('keydown', this.resetMouseScrollStateBind);
413
- window.addEventListener('contextmenu', this.contextMenuBind);
414
- window.addEventListener('touchstart', this.touchSwipeBind);
415
- window.addEventListener('touchmove', this.touchSwipeBind);
416
- window.addEventListener('touchend', this.touchSwipeBind);
417
- }
418
- }, {
419
- key: "_removeWindowListeners",
420
- value: function _removeWindowListeners() {
421
- window.removeEventListener('mousemove', this.showControlsBind);
422
- window.removeEventListener('mousedown', this.mouseDownBind);
423
- window.removeEventListener('wheel', this.mouseWheelBind);
424
- window.removeEventListener('keydown', this.resetMouseScrollStateBind);
425
- window.removeEventListener('contextmenu', this.contextMenuBind);
426
- window.removeEventListener('touchstart', this.touchSwipeBind);
427
- window.removeEventListener('touchmove', this.touchSwipeBind);
428
- window.removeEventListener('touchend', this.touchSwipeBind);
429
- delete this.showControlsBind;
430
- delete this.mouseDownBind;
431
- delete this.mouseWheelBind;
432
- delete this.resetMouseScrollStateBind;
433
- delete this.contextMenuBind;
434
- delete this.touchSwipeBind;
435
- }
436
- }, {
437
- key: "_fullscreenChange",
438
- value: function _fullscreenChange() {
439
- if (this.isFullscreen) {
440
- this._enter();
441
- } else {
442
- this._exit();
443
- }
299
+ _resetMouseScrollState() {
300
+ this.mouseScrollTimeStamp = 0;
301
+ this.mouseScrollDelta = 0;
302
+ }
303
+
304
+ _touchSwipe(evt) {
305
+ if (!this.active) {
306
+ return;
444
307
  }
445
- }, {
446
- key: "_addFullscreenChangeListeners",
447
- value: function _addFullscreenChangeListeners() {
448
- this.fullscreenChangeBind = this._fullscreenChange.bind(this);
449
- window.addEventListener('fullscreenchange', this.fullscreenChangeBind);
450
- window.addEventListener('mozfullscreenchange', this.fullscreenChangeBind);
451
- window.addEventListener('webkitfullscreenchange', this.fullscreenChangeBind);
452
- window.addEventListener('MSFullscreenChange', this.fullscreenChangeBind);
308
+
309
+ if (evt.touches.length > 1) {
310
+ this.touchSwipeState = null;
311
+ return;
453
312
  }
454
- }, {
455
- key: "_removeFullscreenChangeListeners",
456
- value: function _removeFullscreenChangeListeners() {
457
- window.removeEventListener('fullscreenchange', this.fullscreenChangeBind);
458
- window.removeEventListener('mozfullscreenchange', this.fullscreenChangeBind);
459
- window.removeEventListener('webkitfullscreenchange', this.fullscreenChangeBind);
460
- window.removeEventListener('MSFullscreenChange', this.fullscreenChangeBind);
461
- delete this.fullscreenChangeBind;
313
+
314
+ switch (evt.type) {
315
+ case "touchstart":
316
+ this.touchSwipeState = {
317
+ startX: evt.touches[0].pageX,
318
+ startY: evt.touches[0].pageY,
319
+ endX: evt.touches[0].pageX,
320
+ endY: evt.touches[0].pageY
321
+ };
322
+ break;
323
+
324
+ case "touchmove":
325
+ if (this.touchSwipeState === null) {
326
+ return;
327
+ }
328
+
329
+ this.touchSwipeState.endX = evt.touches[0].pageX;
330
+ this.touchSwipeState.endY = evt.touches[0].pageY;
331
+ evt.preventDefault();
332
+ break;
333
+
334
+ case "touchend":
335
+ if (this.touchSwipeState === null) {
336
+ return;
337
+ }
338
+
339
+ let delta = 0;
340
+ const dx = this.touchSwipeState.endX - this.touchSwipeState.startX;
341
+ const dy = this.touchSwipeState.endY - this.touchSwipeState.startY;
342
+ const absAngle = Math.abs(Math.atan2(dy, dx));
343
+
344
+ if (Math.abs(dx) > SWIPE_MIN_DISTANCE_THRESHOLD && (absAngle <= SWIPE_ANGLE_THRESHOLD || absAngle >= Math.PI - SWIPE_ANGLE_THRESHOLD)) {
345
+ delta = dx;
346
+ } else if (Math.abs(dy) > SWIPE_MIN_DISTANCE_THRESHOLD && Math.abs(absAngle - Math.PI / 2) <= SWIPE_ANGLE_THRESHOLD) {
347
+ delta = dy;
348
+ }
349
+
350
+ if (delta > 0) {
351
+ this._goToPreviousPage();
352
+ } else if (delta < 0) {
353
+ this._goToNextPage();
354
+ }
355
+
356
+ break;
462
357
  }
463
- }, {
464
- key: "isFullscreen",
465
- get: function get() {
466
- return !!(document.fullscreenElement || document.mozFullScreen || document.webkitIsFullScreen || document.msFullscreenElement);
358
+ }
359
+
360
+ _addWindowListeners() {
361
+ this.showControlsBind = this._showControls.bind(this);
362
+ this.mouseDownBind = this._mouseDown.bind(this);
363
+ this.mouseWheelBind = this._mouseWheel.bind(this);
364
+ this.resetMouseScrollStateBind = this._resetMouseScrollState.bind(this);
365
+ this.contextMenuBind = this._contextMenu.bind(this);
366
+ this.touchSwipeBind = this._touchSwipe.bind(this);
367
+ window.addEventListener("mousemove", this.showControlsBind);
368
+ window.addEventListener("mousedown", this.mouseDownBind);
369
+ window.addEventListener("wheel", this.mouseWheelBind, {
370
+ passive: false
371
+ });
372
+ window.addEventListener("keydown", this.resetMouseScrollStateBind);
373
+ window.addEventListener("contextmenu", this.contextMenuBind);
374
+ window.addEventListener("touchstart", this.touchSwipeBind);
375
+ window.addEventListener("touchmove", this.touchSwipeBind);
376
+ window.addEventListener("touchend", this.touchSwipeBind);
377
+ }
378
+
379
+ _removeWindowListeners() {
380
+ window.removeEventListener("mousemove", this.showControlsBind);
381
+ window.removeEventListener("mousedown", this.mouseDownBind);
382
+ window.removeEventListener("wheel", this.mouseWheelBind, {
383
+ passive: false
384
+ });
385
+ window.removeEventListener("keydown", this.resetMouseScrollStateBind);
386
+ window.removeEventListener("contextmenu", this.contextMenuBind);
387
+ window.removeEventListener("touchstart", this.touchSwipeBind);
388
+ window.removeEventListener("touchmove", this.touchSwipeBind);
389
+ window.removeEventListener("touchend", this.touchSwipeBind);
390
+ delete this.showControlsBind;
391
+ delete this.mouseDownBind;
392
+ delete this.mouseWheelBind;
393
+ delete this.resetMouseScrollStateBind;
394
+ delete this.contextMenuBind;
395
+ delete this.touchSwipeBind;
396
+ }
397
+
398
+ _fullscreenChange() {
399
+ if (this.isFullscreen) {
400
+ this._enter();
401
+ } else {
402
+ this._exit();
467
403
  }
468
- }]);
404
+ }
405
+
406
+ _addFullscreenChangeListeners() {
407
+ this.fullscreenChangeBind = this._fullscreenChange.bind(this);
408
+ window.addEventListener("fullscreenchange", this.fullscreenChangeBind);
409
+ window.addEventListener("mozfullscreenchange", this.fullscreenChangeBind);
410
+ window.addEventListener("webkitfullscreenchange", this.fullscreenChangeBind);
411
+ window.addEventListener("MSFullscreenChange", this.fullscreenChangeBind);
412
+ }
413
+
414
+ _removeFullscreenChangeListeners() {
415
+ window.removeEventListener("fullscreenchange", this.fullscreenChangeBind);
416
+ window.removeEventListener("mozfullscreenchange", this.fullscreenChangeBind);
417
+ window.removeEventListener("webkitfullscreenchange", this.fullscreenChangeBind);
418
+ window.removeEventListener("MSFullscreenChange", this.fullscreenChangeBind);
419
+ delete this.fullscreenChangeBind;
420
+ }
469
421
 
470
- return PDFPresentationMode;
471
- }();
422
+ }
472
423
 
473
424
  exports.PDFPresentationMode = PDFPresentationMode;