pdfjs-dist 2.3.200 → 2.4.456

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 (185) hide show
  1. package/README.md +4 -0
  2. package/bower.json +1 -1
  3. package/build/pdf.js +6499 -17971
  4. package/build/pdf.js.map +1 -1
  5. package/build/pdf.min.js +22 -1
  6. package/build/pdf.worker.entry.js +5 -3
  7. package/build/pdf.worker.js +19303 -29896
  8. package/build/pdf.worker.js.map +1 -1
  9. package/build/pdf.worker.min.js +22 -1
  10. package/es5/build/pdf.js +25473 -0
  11. package/es5/build/pdf.js.map +1 -0
  12. package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
  13. package/es5/build/pdf.worker.js +57878 -0
  14. package/es5/build/pdf.worker.js.map +1 -0
  15. package/es5/web/images/annotation-check.svg +11 -0
  16. package/es5/web/images/annotation-comment.svg +16 -0
  17. package/es5/web/images/annotation-help.svg +26 -0
  18. package/es5/web/images/annotation-insert.svg +10 -0
  19. package/es5/web/images/annotation-key.svg +11 -0
  20. package/es5/web/images/annotation-newparagraph.svg +11 -0
  21. package/es5/web/images/annotation-noicon.svg +7 -0
  22. package/es5/web/images/annotation-note.svg +42 -0
  23. package/es5/web/images/annotation-paragraph.svg +16 -0
  24. package/es5/web/images/loading-icon.gif +0 -0
  25. package/es5/web/images/shadow.png +0 -0
  26. package/es5/web/images/texture.png +0 -0
  27. package/es5/web/pdf_viewer.css +407 -0
  28. package/es5/web/pdf_viewer.js +7757 -0
  29. package/es5/web/pdf_viewer.js.map +1 -0
  30. package/image_decoders/pdf.image_decoders.js +1333 -4839
  31. package/image_decoders/pdf.image_decoders.js.map +1 -1
  32. package/image_decoders/pdf.image_decoders.min.js +22 -1
  33. package/lib/README.md +7 -0
  34. package/lib/core/annotation.js +683 -1066
  35. package/lib/core/arithmetic_decoder.js +81 -97
  36. package/lib/core/bidi.js +54 -46
  37. package/lib/core/ccitt.js +88 -81
  38. package/lib/core/ccitt_stream.js +15 -14
  39. package/lib/core/cff_parser.js +196 -193
  40. package/lib/core/charsets.js +4 -4
  41. package/lib/core/chunked_stream.js +441 -569
  42. package/lib/core/cmap.js +220 -279
  43. package/lib/core/colorspace.js +699 -863
  44. package/lib/core/core_utils.js +59 -80
  45. package/lib/core/crypto.js +379 -437
  46. package/lib/core/document.js +564 -673
  47. package/lib/core/encodings.js +15 -15
  48. package/lib/core/evaluator.js +983 -889
  49. package/lib/core/font_renderer.js +128 -171
  50. package/lib/core/fonts.js +451 -400
  51. package/lib/core/function.js +289 -285
  52. package/lib/core/glyphlist.js +4527 -4527
  53. package/lib/core/image.js +138 -117
  54. package/lib/core/image_utils.js +46 -63
  55. package/lib/core/jbig2.js +324 -332
  56. package/lib/core/jbig2_stream.js +18 -17
  57. package/lib/core/jpeg_stream.js +133 -24
  58. package/lib/core/jpg.js +238 -210
  59. package/lib/core/jpx.js +158 -157
  60. package/lib/core/jpx_stream.js +28 -28
  61. package/lib/core/metrics.js +2928 -2928
  62. package/lib/core/murmurhash3.js +87 -102
  63. package/lib/core/obj.js +1111 -1302
  64. package/lib/core/operator_list.js +55 -42
  65. package/lib/core/parser.js +956 -987
  66. package/lib/core/pattern.js +69 -69
  67. package/lib/core/pdf_manager.js +149 -316
  68. package/lib/core/primitives.js +45 -77
  69. package/lib/core/ps_parser.js +175 -214
  70. package/lib/core/standard_fonts.js +237 -236
  71. package/lib/core/stream.js +83 -77
  72. package/lib/core/type1_parser.js +78 -68
  73. package/lib/core/unicode.js +1654 -1654
  74. package/lib/core/worker.js +148 -196
  75. package/lib/core/worker_stream.js +101 -210
  76. package/lib/display/annotation_layer.js +733 -1155
  77. package/lib/display/api.js +1539 -1928
  78. package/lib/display/api_compatibility.js +10 -8
  79. package/lib/display/canvas.js +159 -158
  80. package/lib/display/content_disposition.js +36 -55
  81. package/lib/display/display_utils.js +298 -551
  82. package/lib/display/fetch_stream.js +181 -305
  83. package/lib/display/font_loader.js +273 -416
  84. package/lib/display/metadata.js +86 -98
  85. package/lib/display/network.js +376 -511
  86. package/lib/display/network_utils.js +20 -19
  87. package/lib/display/node_stream.js +276 -460
  88. package/lib/display/pattern_helper.js +76 -44
  89. package/lib/display/svg.js +1137 -1405
  90. package/lib/display/text_layer.js +75 -82
  91. package/lib/display/transport_stream.js +236 -374
  92. package/lib/display/webgl.js +70 -83
  93. package/lib/display/worker_options.js +3 -3
  94. package/lib/display/xml_parser.js +303 -392
  95. package/lib/examples/node/domstubs.js +37 -37
  96. package/lib/pdf.js +22 -21
  97. package/lib/pdf.worker.js +5 -5
  98. package/lib/shared/compatibility.js +2 -251
  99. package/lib/shared/is_node.js +7 -6
  100. package/lib/shared/message_handler.js +222 -194
  101. package/lib/shared/util.js +269 -405
  102. package/lib/test/unit/annotation_spec.js +1089 -1014
  103. package/lib/test/unit/api_spec.js +617 -544
  104. package/lib/test/unit/bidi_spec.js +7 -7
  105. package/lib/test/unit/cff_parser_spec.js +63 -62
  106. package/lib/test/unit/clitests_helper.js +7 -9
  107. package/lib/test/unit/cmap_spec.js +84 -86
  108. package/lib/test/unit/colorspace_spec.js +154 -154
  109. package/lib/test/unit/core_utils_spec.js +125 -105
  110. package/lib/test/unit/crypto_spec.js +181 -181
  111. package/lib/test/unit/custom_spec.js +22 -24
  112. package/lib/test/unit/display_svg_spec.js +35 -36
  113. package/lib/test/unit/display_utils_spec.js +139 -149
  114. package/lib/test/unit/document_spec.js +16 -16
  115. package/lib/test/unit/encodings_spec.js +12 -34
  116. package/lib/test/unit/evaluator_spec.js +81 -95
  117. package/lib/test/unit/fetch_stream_spec.js +30 -30
  118. package/lib/test/unit/function_spec.js +206 -204
  119. package/lib/test/unit/jasmine-boot.js +48 -32
  120. package/lib/test/unit/message_handler_spec.js +172 -162
  121. package/lib/test/unit/metadata_spec.js +69 -69
  122. package/lib/test/unit/murmurhash3_spec.js +12 -12
  123. package/lib/test/unit/network_spec.js +12 -12
  124. package/lib/test/unit/network_utils_spec.js +152 -152
  125. package/lib/test/unit/node_stream_spec.js +74 -90
  126. package/lib/test/unit/parser_spec.js +107 -113
  127. package/lib/test/unit/pdf_find_controller_spec.js +55 -86
  128. package/lib/test/unit/pdf_find_utils_spec.js +32 -32
  129. package/lib/test/unit/pdf_history_spec.js +32 -32
  130. package/lib/test/unit/primitives_spec.js +117 -115
  131. package/lib/test/unit/stream_spec.js +16 -14
  132. package/lib/test/unit/test_utils.js +119 -285
  133. package/lib/test/unit/testreporter.js +19 -19
  134. package/lib/test/unit/type1_parser_spec.js +41 -41
  135. package/lib/test/unit/ui_utils_spec.js +318 -426
  136. package/lib/test/unit/unicode_spec.js +42 -42
  137. package/lib/test/unit/util_spec.js +122 -143
  138. package/lib/web/annotation_layer_builder.js +66 -103
  139. package/lib/web/app.js +1166 -1196
  140. package/lib/web/app_options.js +61 -77
  141. package/lib/web/base_viewer.js +804 -850
  142. package/lib/web/chromecom.js +164 -249
  143. package/lib/web/debugger.js +149 -205
  144. package/lib/web/download_manager.js +38 -57
  145. package/lib/web/firefox_print_service.js +35 -30
  146. package/lib/web/firefoxcom.js +175 -374
  147. package/lib/web/genericcom.js +26 -108
  148. package/lib/web/genericl10n.js +24 -153
  149. package/lib/web/grab_to_pan.js +30 -30
  150. package/lib/web/interfaces.js +80 -258
  151. package/lib/web/overlay_manager.js +70 -246
  152. package/lib/web/password_prompt.js +38 -64
  153. package/lib/web/pdf_attachment_viewer.js +105 -130
  154. package/lib/web/pdf_cursor_tools.js +75 -102
  155. package/lib/web/pdf_document_properties.js +227 -376
  156. package/lib/web/pdf_find_bar.js +137 -171
  157. package/lib/web/pdf_find_controller.js +492 -549
  158. package/lib/web/pdf_find_utils.js +13 -13
  159. package/lib/web/pdf_history.js +395 -406
  160. package/lib/web/pdf_link_service.js +302 -349
  161. package/lib/web/pdf_outline_viewer.js +148 -209
  162. package/lib/web/pdf_page_view.js +449 -507
  163. package/lib/web/pdf_presentation_mode.js +304 -357
  164. package/lib/web/pdf_print_service.js +90 -104
  165. package/lib/web/pdf_rendering_queue.js +87 -108
  166. package/lib/web/pdf_sidebar.js +264 -304
  167. package/lib/web/pdf_sidebar_resizer.js +92 -119
  168. package/lib/web/pdf_single_page_viewer.js +77 -126
  169. package/lib/web/pdf_thumbnail_view.js +276 -297
  170. package/lib/web/pdf_thumbnail_viewer.js +186 -206
  171. package/lib/web/pdf_viewer.component.js +20 -21
  172. package/lib/web/pdf_viewer.js +55 -115
  173. package/lib/web/preferences.js +66 -273
  174. package/lib/web/secondary_toolbar.js +164 -196
  175. package/lib/web/text_layer_builder.js +284 -317
  176. package/lib/web/toolbar.js +216 -211
  177. package/lib/web/ui_utils.js +303 -404
  178. package/lib/web/view_history.js +49 -222
  179. package/lib/web/viewer_compatibility.js +7 -5
  180. package/package.json +2 -9
  181. package/web/pdf_viewer.css +25 -18
  182. package/web/pdf_viewer.js +3481 -4764
  183. package/web/pdf_viewer.js.map +1 -1
  184. package/webpack.js +14 -5
  185. package/lib/shared/streams_polyfill.js +0 -43
@@ -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 2019 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,366 @@ 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
+ window.addEventListener("keydown", this.resetMouseScrollStateBind);
371
+ window.addEventListener("contextmenu", this.contextMenuBind);
372
+ window.addEventListener("touchstart", this.touchSwipeBind);
373
+ window.addEventListener("touchmove", this.touchSwipeBind);
374
+ window.addEventListener("touchend", this.touchSwipeBind);
375
+ }
376
+
377
+ _removeWindowListeners() {
378
+ window.removeEventListener("mousemove", this.showControlsBind);
379
+ window.removeEventListener("mousedown", this.mouseDownBind);
380
+ window.removeEventListener("wheel", this.mouseWheelBind);
381
+ window.removeEventListener("keydown", this.resetMouseScrollStateBind);
382
+ window.removeEventListener("contextmenu", this.contextMenuBind);
383
+ window.removeEventListener("touchstart", this.touchSwipeBind);
384
+ window.removeEventListener("touchmove", this.touchSwipeBind);
385
+ window.removeEventListener("touchend", this.touchSwipeBind);
386
+ delete this.showControlsBind;
387
+ delete this.mouseDownBind;
388
+ delete this.mouseWheelBind;
389
+ delete this.resetMouseScrollStateBind;
390
+ delete this.contextMenuBind;
391
+ delete this.touchSwipeBind;
392
+ }
393
+
394
+ _fullscreenChange() {
395
+ if (this.isFullscreen) {
396
+ this._enter();
397
+ } else {
398
+ this._exit();
467
399
  }
468
- }]);
400
+ }
401
+
402
+ _addFullscreenChangeListeners() {
403
+ this.fullscreenChangeBind = this._fullscreenChange.bind(this);
404
+ window.addEventListener("fullscreenchange", this.fullscreenChangeBind);
405
+ window.addEventListener("mozfullscreenchange", this.fullscreenChangeBind);
406
+ window.addEventListener("webkitfullscreenchange", this.fullscreenChangeBind);
407
+ window.addEventListener("MSFullscreenChange", this.fullscreenChangeBind);
408
+ }
409
+
410
+ _removeFullscreenChangeListeners() {
411
+ window.removeEventListener("fullscreenchange", this.fullscreenChangeBind);
412
+ window.removeEventListener("mozfullscreenchange", this.fullscreenChangeBind);
413
+ window.removeEventListener("webkitfullscreenchange", this.fullscreenChangeBind);
414
+ window.removeEventListener("MSFullscreenChange", this.fullscreenChangeBind);
415
+ delete this.fullscreenChangeBind;
416
+ }
469
417
 
470
- return PDFPresentationMode;
471
- }();
418
+ }
472
419
 
473
420
  exports.PDFPresentationMode = PDFPresentationMode;