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,44 +26,32 @@ Object.defineProperty(exports, "__esModule", {
26
26
  });
27
27
  exports.SecondaryToolbar = void 0;
28
28
 
29
- var _ui_utils = require("./ui_utils");
29
+ var _ui_utils = require("./ui_utils.js");
30
30
 
31
- var _pdf_cursor_tools = require("./pdf_cursor_tools");
31
+ var _pdf_cursor_tools = require("./pdf_cursor_tools.js");
32
32
 
33
- var _pdf_single_page_viewer = require("./pdf_single_page_viewer");
34
-
35
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
36
-
37
- 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); } }
38
-
39
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
40
-
41
- var SecondaryToolbar =
42
- /*#__PURE__*/
43
- function () {
44
- function SecondaryToolbar(options, mainContainer, eventBus) {
45
- var _this = this;
46
-
47
- _classCallCheck(this, SecondaryToolbar);
33
+ var _pdf_single_page_viewer = require("./pdf_single_page_viewer.js");
48
34
 
35
+ class SecondaryToolbar {
36
+ constructor(options, mainContainer, eventBus) {
49
37
  this.toolbar = options.toolbar;
50
38
  this.toggleButton = options.toggleButton;
51
39
  this.toolbarButtonContainer = options.toolbarButtonContainer;
52
40
  this.buttons = [{
53
41
  element: options.presentationModeButton,
54
- eventName: 'presentationmode',
42
+ eventName: "presentationmode",
55
43
  close: true
56
44
  }, {
57
45
  element: options.openFileButton,
58
- eventName: 'openfile',
46
+ eventName: "openfile",
59
47
  close: true
60
48
  }, {
61
49
  element: options.printButton,
62
- eventName: 'print',
50
+ eventName: "print",
63
51
  close: true
64
52
  }, {
65
53
  element: options.downloadButton,
66
- eventName: 'download',
54
+ eventName: "download",
67
55
  close: true
68
56
  }, {
69
57
  element: options.viewBookmarkButton,
@@ -71,79 +59,79 @@ function () {
71
59
  close: true
72
60
  }, {
73
61
  element: options.firstPageButton,
74
- eventName: 'firstpage',
62
+ eventName: "firstpage",
75
63
  close: true
76
64
  }, {
77
65
  element: options.lastPageButton,
78
- eventName: 'lastpage',
66
+ eventName: "lastpage",
79
67
  close: true
80
68
  }, {
81
69
  element: options.pageRotateCwButton,
82
- eventName: 'rotatecw',
70
+ eventName: "rotatecw",
83
71
  close: false
84
72
  }, {
85
73
  element: options.pageRotateCcwButton,
86
- eventName: 'rotateccw',
74
+ eventName: "rotateccw",
87
75
  close: false
88
76
  }, {
89
77
  element: options.cursorSelectToolButton,
90
- eventName: 'switchcursortool',
78
+ eventName: "switchcursortool",
91
79
  eventDetails: {
92
80
  tool: _pdf_cursor_tools.CursorTool.SELECT
93
81
  },
94
82
  close: true
95
83
  }, {
96
84
  element: options.cursorHandToolButton,
97
- eventName: 'switchcursortool',
85
+ eventName: "switchcursortool",
98
86
  eventDetails: {
99
87
  tool: _pdf_cursor_tools.CursorTool.HAND
100
88
  },
101
89
  close: true
102
90
  }, {
103
91
  element: options.scrollVerticalButton,
104
- eventName: 'switchscrollmode',
92
+ eventName: "switchscrollmode",
105
93
  eventDetails: {
106
94
  mode: _ui_utils.ScrollMode.VERTICAL
107
95
  },
108
96
  close: true
109
97
  }, {
110
98
  element: options.scrollHorizontalButton,
111
- eventName: 'switchscrollmode',
99
+ eventName: "switchscrollmode",
112
100
  eventDetails: {
113
101
  mode: _ui_utils.ScrollMode.HORIZONTAL
114
102
  },
115
103
  close: true
116
104
  }, {
117
105
  element: options.scrollWrappedButton,
118
- eventName: 'switchscrollmode',
106
+ eventName: "switchscrollmode",
119
107
  eventDetails: {
120
108
  mode: _ui_utils.ScrollMode.WRAPPED
121
109
  },
122
110
  close: true
123
111
  }, {
124
112
  element: options.spreadNoneButton,
125
- eventName: 'switchspreadmode',
113
+ eventName: "switchspreadmode",
126
114
  eventDetails: {
127
115
  mode: _ui_utils.SpreadMode.NONE
128
116
  },
129
117
  close: true
130
118
  }, {
131
119
  element: options.spreadOddButton,
132
- eventName: 'switchspreadmode',
120
+ eventName: "switchspreadmode",
133
121
  eventDetails: {
134
122
  mode: _ui_utils.SpreadMode.ODD
135
123
  },
136
124
  close: true
137
125
  }, {
138
126
  element: options.spreadEvenButton,
139
- eventName: 'switchspreadmode',
127
+ eventName: "switchspreadmode",
140
128
  eventDetails: {
141
129
  mode: _ui_utils.SpreadMode.EVEN
142
130
  },
143
131
  close: true
144
132
  }, {
145
133
  element: options.documentPropertiesButton,
146
- eventName: 'documentproperties',
134
+ eventName: "documentproperties",
147
135
  close: true
148
136
  }];
149
137
  this.items = {
@@ -167,199 +155,179 @@ function () {
167
155
 
168
156
  this._bindSpreadModeListener(options);
169
157
 
170
- this.eventBus.on('resize', this._setMaxHeight.bind(this));
171
- this.eventBus.on('baseviewerinit', function (evt) {
158
+ this.eventBus._on("resize", this._setMaxHeight.bind(this));
159
+
160
+ this.eventBus._on("baseviewerinit", evt => {
172
161
  if (evt.source instanceof _pdf_single_page_viewer.PDFSinglePageViewer) {
173
- _this.toolbarButtonContainer.classList.add('hiddenScrollModeButtons', 'hiddenSpreadModeButtons');
162
+ this.toolbarButtonContainer.classList.add("hiddenScrollModeButtons", "hiddenSpreadModeButtons");
174
163
  } else {
175
- _this.toolbarButtonContainer.classList.remove('hiddenScrollModeButtons', 'hiddenSpreadModeButtons');
164
+ this.toolbarButtonContainer.classList.remove("hiddenScrollModeButtons", "hiddenSpreadModeButtons");
176
165
  }
177
166
  });
178
167
  }
179
168
 
180
- _createClass(SecondaryToolbar, [{
181
- key: "setPageNumber",
182
- value: function setPageNumber(pageNumber) {
183
- this.pageNumber = pageNumber;
169
+ get isOpen() {
170
+ return this.opened;
171
+ }
184
172
 
185
- this._updateUIState();
186
- }
187
- }, {
188
- key: "setPagesCount",
189
- value: function setPagesCount(pagesCount) {
190
- this.pagesCount = pagesCount;
173
+ setPageNumber(pageNumber) {
174
+ this.pageNumber = pageNumber;
191
175
 
192
- this._updateUIState();
193
- }
194
- }, {
195
- key: "reset",
196
- value: function reset() {
197
- this.pageNumber = 0;
198
- this.pagesCount = 0;
176
+ this._updateUIState();
177
+ }
199
178
 
200
- this._updateUIState();
179
+ setPagesCount(pagesCount) {
180
+ this.pagesCount = pagesCount;
201
181
 
202
- this.eventBus.dispatch('secondarytoolbarreset', {
203
- source: this
204
- });
205
- }
206
- }, {
207
- key: "_updateUIState",
208
- value: function _updateUIState() {
209
- this.items.firstPage.disabled = this.pageNumber <= 1;
210
- this.items.lastPage.disabled = this.pageNumber >= this.pagesCount;
211
- this.items.pageRotateCw.disabled = this.pagesCount === 0;
212
- this.items.pageRotateCcw.disabled = this.pagesCount === 0;
213
- }
214
- }, {
215
- key: "_bindClickListeners",
216
- value: function _bindClickListeners() {
217
- var _this2 = this;
218
-
219
- this.toggleButton.addEventListener('click', this.toggle.bind(this));
220
-
221
- var _loop = function _loop(button) {
222
- var _this2$buttons$button = _this2.buttons[button],
223
- element = _this2$buttons$button.element,
224
- eventName = _this2$buttons$button.eventName,
225
- close = _this2$buttons$button.close,
226
- eventDetails = _this2$buttons$button.eventDetails;
227
- element.addEventListener('click', function (evt) {
228
- if (eventName !== null) {
229
- var details = {
230
- source: _this2
231
- };
232
-
233
- for (var property in eventDetails) {
234
- details[property] = eventDetails[property];
235
- }
236
-
237
- _this2.eventBus.dispatch(eventName, details);
238
- }
182
+ this._updateUIState();
183
+ }
184
+
185
+ reset() {
186
+ this.pageNumber = 0;
187
+ this.pagesCount = 0;
239
188
 
240
- if (close) {
241
- _this2.close();
189
+ this._updateUIState();
190
+
191
+ this.eventBus.dispatch("secondarytoolbarreset", {
192
+ source: this
193
+ });
194
+ }
195
+
196
+ _updateUIState() {
197
+ this.items.firstPage.disabled = this.pageNumber <= 1;
198
+ this.items.lastPage.disabled = this.pageNumber >= this.pagesCount;
199
+ this.items.pageRotateCw.disabled = this.pagesCount === 0;
200
+ this.items.pageRotateCcw.disabled = this.pagesCount === 0;
201
+ }
202
+
203
+ _bindClickListeners() {
204
+ this.toggleButton.addEventListener("click", this.toggle.bind(this));
205
+
206
+ for (const {
207
+ element,
208
+ eventName,
209
+ close,
210
+ eventDetails
211
+ } of this.buttons) {
212
+ element.addEventListener("click", evt => {
213
+ if (eventName !== null) {
214
+ const details = {
215
+ source: this
216
+ };
217
+
218
+ for (const property in eventDetails) {
219
+ details[property] = eventDetails[property];
242
220
  }
243
- });
244
- };
245
221
 
246
- for (var button in this.buttons) {
247
- _loop(button);
248
- }
249
- }
250
- }, {
251
- key: "_bindCursorToolsListener",
252
- value: function _bindCursorToolsListener(buttons) {
253
- this.eventBus.on('cursortoolchanged', function (_ref) {
254
- var tool = _ref.tool;
255
- buttons.cursorSelectToolButton.classList.toggle('toggled', tool === _pdf_cursor_tools.CursorTool.SELECT);
256
- buttons.cursorHandToolButton.classList.toggle('toggled', tool === _pdf_cursor_tools.CursorTool.HAND);
257
- });
258
- }
259
- }, {
260
- key: "_bindScrollModeListener",
261
- value: function _bindScrollModeListener(buttons) {
262
- var _this3 = this;
263
-
264
- function scrollModeChanged(_ref2) {
265
- var mode = _ref2.mode;
266
- buttons.scrollVerticalButton.classList.toggle('toggled', mode === _ui_utils.ScrollMode.VERTICAL);
267
- buttons.scrollHorizontalButton.classList.toggle('toggled', mode === _ui_utils.ScrollMode.HORIZONTAL);
268
- buttons.scrollWrappedButton.classList.toggle('toggled', mode === _ui_utils.ScrollMode.WRAPPED);
269
- var isScrollModeHorizontal = mode === _ui_utils.ScrollMode.HORIZONTAL;
270
- buttons.spreadNoneButton.disabled = isScrollModeHorizontal;
271
- buttons.spreadOddButton.disabled = isScrollModeHorizontal;
272
- buttons.spreadEvenButton.disabled = isScrollModeHorizontal;
273
- }
222
+ this.eventBus.dispatch(eventName, details);
223
+ }
274
224
 
275
- this.eventBus.on('scrollmodechanged', scrollModeChanged);
276
- this.eventBus.on('secondarytoolbarreset', function (evt) {
277
- if (evt.source === _this3) {
278
- scrollModeChanged({
279
- mode: _ui_utils.ScrollMode.VERTICAL
280
- });
225
+ if (close) {
226
+ this.close();
281
227
  }
282
228
  });
283
229
  }
284
- }, {
285
- key: "_bindSpreadModeListener",
286
- value: function _bindSpreadModeListener(buttons) {
287
- var _this4 = this;
288
-
289
- function spreadModeChanged(_ref3) {
290
- var mode = _ref3.mode;
291
- buttons.spreadNoneButton.classList.toggle('toggled', mode === _ui_utils.SpreadMode.NONE);
292
- buttons.spreadOddButton.classList.toggle('toggled', mode === _ui_utils.SpreadMode.ODD);
293
- buttons.spreadEvenButton.classList.toggle('toggled', mode === _ui_utils.SpreadMode.EVEN);
294
- }
230
+ }
295
231
 
296
- this.eventBus.on('spreadmodechanged', spreadModeChanged);
297
- this.eventBus.on('secondarytoolbarreset', function (evt) {
298
- if (evt.source === _this4) {
299
- spreadModeChanged({
300
- mode: _ui_utils.SpreadMode.NONE
301
- });
302
- }
303
- });
232
+ _bindCursorToolsListener(buttons) {
233
+ this.eventBus._on("cursortoolchanged", function ({
234
+ tool
235
+ }) {
236
+ buttons.cursorSelectToolButton.classList.toggle("toggled", tool === _pdf_cursor_tools.CursorTool.SELECT);
237
+ buttons.cursorHandToolButton.classList.toggle("toggled", tool === _pdf_cursor_tools.CursorTool.HAND);
238
+ });
239
+ }
240
+
241
+ _bindScrollModeListener(buttons) {
242
+ function scrollModeChanged({
243
+ mode
244
+ }) {
245
+ buttons.scrollVerticalButton.classList.toggle("toggled", mode === _ui_utils.ScrollMode.VERTICAL);
246
+ buttons.scrollHorizontalButton.classList.toggle("toggled", mode === _ui_utils.ScrollMode.HORIZONTAL);
247
+ buttons.scrollWrappedButton.classList.toggle("toggled", mode === _ui_utils.ScrollMode.WRAPPED);
248
+ const isScrollModeHorizontal = mode === _ui_utils.ScrollMode.HORIZONTAL;
249
+ buttons.spreadNoneButton.disabled = isScrollModeHorizontal;
250
+ buttons.spreadOddButton.disabled = isScrollModeHorizontal;
251
+ buttons.spreadEvenButton.disabled = isScrollModeHorizontal;
304
252
  }
305
- }, {
306
- key: "open",
307
- value: function open() {
308
- if (this.opened) {
309
- return;
310
- }
311
253
 
312
- this.opened = true;
254
+ this.eventBus._on("scrollmodechanged", scrollModeChanged);
313
255
 
314
- this._setMaxHeight();
256
+ this.eventBus._on("secondarytoolbarreset", evt => {
257
+ if (evt.source === this) {
258
+ scrollModeChanged({
259
+ mode: _ui_utils.ScrollMode.VERTICAL
260
+ });
261
+ }
262
+ });
263
+ }
315
264
 
316
- this.toggleButton.classList.add('toggled');
317
- this.toolbar.classList.remove('hidden');
265
+ _bindSpreadModeListener(buttons) {
266
+ function spreadModeChanged({
267
+ mode
268
+ }) {
269
+ buttons.spreadNoneButton.classList.toggle("toggled", mode === _ui_utils.SpreadMode.NONE);
270
+ buttons.spreadOddButton.classList.toggle("toggled", mode === _ui_utils.SpreadMode.ODD);
271
+ buttons.spreadEvenButton.classList.toggle("toggled", mode === _ui_utils.SpreadMode.EVEN);
318
272
  }
319
- }, {
320
- key: "close",
321
- value: function close() {
322
- if (!this.opened) {
323
- return;
273
+
274
+ this.eventBus._on("spreadmodechanged", spreadModeChanged);
275
+
276
+ this.eventBus._on("secondarytoolbarreset", evt => {
277
+ if (evt.source === this) {
278
+ spreadModeChanged({
279
+ mode: _ui_utils.SpreadMode.NONE
280
+ });
324
281
  }
282
+ });
283
+ }
325
284
 
326
- this.opened = false;
327
- this.toolbar.classList.add('hidden');
328
- this.toggleButton.classList.remove('toggled');
285
+ open() {
286
+ if (this.opened) {
287
+ return;
329
288
  }
330
- }, {
331
- key: "toggle",
332
- value: function toggle() {
333
- if (this.opened) {
334
- this.close();
335
- } else {
336
- this.open();
337
- }
289
+
290
+ this.opened = true;
291
+
292
+ this._setMaxHeight();
293
+
294
+ this.toggleButton.classList.add("toggled");
295
+ this.toolbar.classList.remove("hidden");
296
+ }
297
+
298
+ close() {
299
+ if (!this.opened) {
300
+ return;
338
301
  }
339
- }, {
340
- key: "_setMaxHeight",
341
- value: function _setMaxHeight() {
342
- if (!this.opened) {
343
- return;
344
- }
345
302
 
346
- this.containerHeight = this.mainContainer.clientHeight;
303
+ this.opened = false;
304
+ this.toolbar.classList.add("hidden");
305
+ this.toggleButton.classList.remove("toggled");
306
+ }
347
307
 
348
- if (this.containerHeight === this.previousContainerHeight) {
349
- return;
350
- }
308
+ toggle() {
309
+ if (this.opened) {
310
+ this.close();
311
+ } else {
312
+ this.open();
313
+ }
314
+ }
351
315
 
352
- this.toolbarButtonContainer.setAttribute('style', 'max-height: ' + (this.containerHeight - _ui_utils.SCROLLBAR_PADDING) + 'px;');
353
- this.previousContainerHeight = this.containerHeight;
316
+ _setMaxHeight() {
317
+ if (!this.opened) {
318
+ return;
354
319
  }
355
- }, {
356
- key: "isOpen",
357
- get: function get() {
358
- return this.opened;
320
+
321
+ this.containerHeight = this.mainContainer.clientHeight;
322
+
323
+ if (this.containerHeight === this.previousContainerHeight) {
324
+ return;
359
325
  }
360
- }]);
361
326
 
362
- return SecondaryToolbar;
363
- }();
327
+ this.toolbarButtonContainer.style.maxHeight = `${this.containerHeight - _ui_utils.SCROLLBAR_PADDING}px`;
328
+ this.previousContainerHeight = this.containerHeight;
329
+ }
330
+
331
+ }
364
332
 
365
333
  exports.SecondaryToolbar = SecondaryToolbar;