@4tw/vue-cli-plugin-pdfjs-viewer 1.3.1 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +0 -13
  3. package/assets/build/pdf.mjs +17398 -0
  4. package/assets/build/pdf.mjs.map +1 -0
  5. package/assets/build/pdf.sandbox.mjs +241 -0
  6. package/assets/build/pdf.sandbox.mjs.map +1 -0
  7. package/assets/build/pdf.worker.mjs +57124 -0
  8. package/assets/build/pdf.worker.mjs.map +1 -0
  9. package/assets/web/debugger.css +111 -0
  10. package/assets/web/debugger.mjs +623 -0
  11. package/assets/web/images/altText_add.svg +3 -0
  12. package/assets/web/images/altText_done.svg +3 -0
  13. package/assets/web/images/annotation-paperclip.svg +6 -0
  14. package/assets/web/images/annotation-pushpin.svg +7 -0
  15. package/assets/web/images/cursor-editorFreeText.svg +3 -0
  16. package/assets/web/images/cursor-editorInk.svg +4 -0
  17. package/assets/web/images/editor-toolbar-delete.svg +5 -0
  18. package/assets/web/images/findbarButton-next.svg +3 -4
  19. package/assets/web/images/findbarButton-previous.svg +3 -4
  20. package/assets/web/images/gv-toolbarButton-download.svg +3 -0
  21. package/assets/web/images/gv-toolbarButton-openinapp.svg +11 -0
  22. package/assets/web/images/secondaryToolbarButton-documentProperties.svg +3 -15
  23. package/assets/web/images/secondaryToolbarButton-firstPage.svg +3 -1
  24. package/assets/web/images/secondaryToolbarButton-handTool.svg +3 -1
  25. package/assets/web/images/secondaryToolbarButton-lastPage.svg +3 -1
  26. package/assets/web/images/secondaryToolbarButton-rotateCcw.svg +3 -1
  27. package/assets/web/images/secondaryToolbarButton-rotateCw.svg +3 -4
  28. package/assets/web/images/secondaryToolbarButton-scrollHorizontal.svg +3 -1
  29. package/assets/web/images/secondaryToolbarButton-scrollPage.svg +3 -0
  30. package/assets/web/images/secondaryToolbarButton-scrollVertical.svg +3 -1
  31. package/assets/web/images/secondaryToolbarButton-scrollWrapped.svg +3 -1
  32. package/assets/web/images/secondaryToolbarButton-selectTool.svg +3 -4
  33. package/assets/web/images/secondaryToolbarButton-spreadEven.svg +3 -1
  34. package/assets/web/images/secondaryToolbarButton-spreadNone.svg +3 -1
  35. package/assets/web/images/secondaryToolbarButton-spreadOdd.svg +3 -1
  36. package/assets/web/images/toolbarButton-bookmark.svg +3 -1
  37. package/assets/web/images/toolbarButton-currentOutlineItem.svg +3 -1
  38. package/assets/web/images/toolbarButton-download.svg +4 -4
  39. package/assets/web/images/toolbarButton-editorFreeText.svg +3 -0
  40. package/assets/web/images/toolbarButton-editorInk.svg +4 -0
  41. package/assets/web/images/toolbarButton-editorStamp.svg +8 -0
  42. package/assets/web/images/toolbarButton-menuArrow.svg +3 -1
  43. package/assets/web/images/toolbarButton-openFile.svg +3 -4
  44. package/assets/web/images/toolbarButton-pageDown.svg +3 -7
  45. package/assets/web/images/toolbarButton-pageUp.svg +3 -12
  46. package/assets/web/images/toolbarButton-presentationMode.svg +3 -1
  47. package/assets/web/images/toolbarButton-print.svg +3 -4
  48. package/assets/web/images/toolbarButton-search.svg +3 -4
  49. package/assets/web/images/toolbarButton-secondaryToolbarToggle.svg +3 -4
  50. package/assets/web/images/toolbarButton-sidebarToggle.svg +3 -4
  51. package/assets/web/images/toolbarButton-viewAttachments.svg +3 -1
  52. package/assets/web/images/toolbarButton-viewLayers.svg +3 -1
  53. package/assets/web/images/toolbarButton-viewOutline.svg +3 -1
  54. package/assets/web/images/toolbarButton-viewThumbnail.svg +3 -4
  55. package/assets/web/images/toolbarButton-zoomIn.svg +3 -4
  56. package/assets/web/images/toolbarButton-zoomOut.svg +3 -4
  57. package/assets/web/locale/ach/viewer.ftl +225 -0
  58. package/assets/web/locale/af/viewer.ftl +212 -0
  59. package/assets/web/locale/an/viewer.ftl +257 -0
  60. package/assets/web/locale/ar/viewer.ftl +264 -0
  61. package/assets/web/locale/ast/viewer.ftl +201 -0
  62. package/assets/web/locale/az/viewer.ftl +257 -0
  63. package/assets/web/locale/be/viewer.ftl +351 -0
  64. package/assets/web/locale/bg/viewer.ftl +247 -0
  65. package/assets/web/locale/bn/viewer.ftl +247 -0
  66. package/assets/web/locale/bo/viewer.ftl +247 -0
  67. package/assets/web/locale/br/viewer.ftl +261 -0
  68. package/assets/web/locale/brx/viewer.ftl +218 -0
  69. package/assets/web/locale/bs/viewer.ftl +223 -0
  70. package/assets/web/locale/ca/viewer.ftl +299 -0
  71. package/assets/web/locale/cak/viewer.ftl +291 -0
  72. package/assets/web/locale/ckb/viewer.ftl +242 -0
  73. package/assets/web/locale/cs/viewer.ftl +353 -0
  74. package/assets/web/locale/cy/viewer.ftl +359 -0
  75. package/assets/web/locale/da/viewer.ftl +349 -0
  76. package/assets/web/locale/de/viewer.ftl +349 -0
  77. package/assets/web/locale/dsb/viewer.ftl +355 -0
  78. package/assets/web/locale/el/viewer.ftl +351 -0
  79. package/assets/web/locale/en-CA/viewer.ftl +311 -0
  80. package/assets/web/locale/en-GB/viewer.ftl +351 -0
  81. package/assets/web/locale/en-US/viewer.ftl +377 -0
  82. package/assets/web/locale/eo/viewer.ftl +349 -0
  83. package/assets/web/locale/es-AR/viewer.ftl +349 -0
  84. package/assets/web/locale/es-CL/viewer.ftl +351 -0
  85. package/assets/web/locale/es-ES/viewer.ftl +349 -0
  86. package/assets/web/locale/es-MX/viewer.ftl +299 -0
  87. package/assets/web/locale/et/viewer.ftl +268 -0
  88. package/assets/web/locale/eu/viewer.ftl +349 -0
  89. package/assets/web/locale/fa/viewer.ftl +246 -0
  90. package/assets/web/locale/ff/viewer.ftl +247 -0
  91. package/assets/web/locale/fi/viewer.ftl +351 -0
  92. package/assets/web/locale/fr/viewer.ftl +347 -0
  93. package/assets/web/locale/fur/viewer.ftl +349 -0
  94. package/assets/web/locale/fy-NL/viewer.ftl +349 -0
  95. package/assets/web/locale/ga-IE/viewer.ftl +213 -0
  96. package/assets/web/locale/gd/viewer.ftl +299 -0
  97. package/assets/web/locale/gl/viewer.ftl +347 -0
  98. package/assets/web/locale/gn/viewer.ftl +351 -0
  99. package/assets/web/locale/gu-IN/viewer.ftl +247 -0
  100. package/assets/web/locale/he/viewer.ftl +351 -0
  101. package/assets/web/locale/hi-IN/viewer.ftl +253 -0
  102. package/assets/web/locale/hr/viewer.ftl +279 -0
  103. package/assets/web/locale/hsb/viewer.ftl +355 -0
  104. package/assets/web/locale/hu/viewer.ftl +349 -0
  105. package/assets/web/locale/hy-AM/viewer.ftl +251 -0
  106. package/assets/web/locale/hye/viewer.ftl +268 -0
  107. package/assets/web/locale/ia/viewer.ftl +351 -0
  108. package/assets/web/locale/id/viewer.ftl +293 -0
  109. package/assets/web/locale/is/viewer.ftl +351 -0
  110. package/assets/web/locale/it/viewer.ftl +356 -0
  111. package/assets/web/locale/ja/viewer.ftl +349 -0
  112. package/assets/web/locale/ka/viewer.ftl +349 -0
  113. package/assets/web/locale/kab/viewer.ftl +325 -0
  114. package/assets/web/locale/kk/viewer.ftl +351 -0
  115. package/assets/web/locale/km/viewer.ftl +223 -0
  116. package/assets/web/locale/kn/viewer.ftl +213 -0
  117. package/assets/web/locale/ko/viewer.ftl +343 -0
  118. package/assets/web/locale/lij/viewer.ftl +247 -0
  119. package/assets/web/locale/lo/viewer.ftl +299 -0
  120. package/assets/web/locale/locale.json +1 -0
  121. package/assets/web/locale/lt/viewer.ftl +268 -0
  122. package/assets/web/locale/ltg/viewer.ftl +246 -0
  123. package/assets/web/locale/lv/viewer.ftl +247 -0
  124. package/assets/web/locale/meh/viewer.ftl +87 -0
  125. package/assets/web/locale/mk/viewer.ftl +215 -0
  126. package/assets/web/locale/mr/viewer.ftl +239 -0
  127. package/assets/web/locale/ms/viewer.ftl +247 -0
  128. package/assets/web/locale/my/viewer.ftl +206 -0
  129. package/assets/web/locale/nb-NO/viewer.ftl +351 -0
  130. package/assets/web/locale/ne-NP/viewer.ftl +234 -0
  131. package/assets/web/locale/nl/viewer.ftl +349 -0
  132. package/assets/web/locale/nn-NO/viewer.ftl +341 -0
  133. package/assets/web/locale/oc/viewer.ftl +318 -0
  134. package/assets/web/locale/pa-IN/viewer.ftl +349 -0
  135. package/assets/web/locale/pl/viewer.ftl +351 -0
  136. package/assets/web/locale/pt-BR/viewer.ftl +351 -0
  137. package/assets/web/locale/pt-PT/viewer.ftl +349 -0
  138. package/assets/web/locale/rm/viewer.ftl +349 -0
  139. package/assets/web/locale/ro/viewer.ftl +251 -0
  140. package/assets/web/locale/ru/viewer.ftl +353 -0
  141. package/assets/web/locale/sat/viewer.ftl +311 -0
  142. package/assets/web/locale/sc/viewer.ftl +290 -0
  143. package/assets/web/locale/scn/viewer.ftl +74 -0
  144. package/assets/web/locale/sco/viewer.ftl +264 -0
  145. package/assets/web/locale/si/viewer.ftl +253 -0
  146. package/assets/web/locale/sk/viewer.ftl +355 -0
  147. package/assets/web/locale/skr/viewer.ftl +305 -0
  148. package/assets/web/locale/sl/viewer.ftl +353 -0
  149. package/assets/web/locale/son/viewer.ftl +206 -0
  150. package/assets/web/locale/sq/viewer.ftl +340 -0
  151. package/assets/web/locale/sr/viewer.ftl +299 -0
  152. package/assets/web/locale/sv-SE/viewer.ftl +351 -0
  153. package/assets/web/locale/szl/viewer.ftl +257 -0
  154. package/assets/web/locale/ta/viewer.ftl +223 -0
  155. package/assets/web/locale/te/viewer.ftl +239 -0
  156. package/assets/web/locale/tg/viewer.ftl +349 -0
  157. package/assets/web/locale/th/viewer.ftl +341 -0
  158. package/assets/web/locale/tl/viewer.ftl +257 -0
  159. package/assets/web/locale/tr/viewer.ftl +351 -0
  160. package/assets/web/locale/trs/viewer.ftl +197 -0
  161. package/assets/web/locale/uk/viewer.ftl +351 -0
  162. package/assets/web/locale/ur/viewer.ftl +248 -0
  163. package/assets/web/locale/uz/viewer.ftl +187 -0
  164. package/assets/web/locale/vi/viewer.ftl +343 -0
  165. package/assets/web/locale/wo/viewer.ftl +127 -0
  166. package/assets/web/locale/xh/viewer.ftl +212 -0
  167. package/assets/web/locale/zh-CN/viewer.ftl +341 -0
  168. package/assets/web/locale/zh-TW/viewer.ftl +343 -0
  169. package/assets/web/standard_fonts/FoxitDingbats.pfb +0 -0
  170. package/assets/web/standard_fonts/FoxitFixed.pfb +0 -0
  171. package/assets/web/standard_fonts/FoxitFixedBold.pfb +0 -0
  172. package/assets/web/standard_fonts/FoxitFixedBoldItalic.pfb +0 -0
  173. package/assets/web/standard_fonts/FoxitFixedItalic.pfb +0 -0
  174. package/assets/web/standard_fonts/FoxitSerif.pfb +0 -0
  175. package/assets/web/standard_fonts/FoxitSerifBold.pfb +0 -0
  176. package/assets/web/standard_fonts/FoxitSerifBoldItalic.pfb +0 -0
  177. package/assets/web/standard_fonts/FoxitSerifItalic.pfb +0 -0
  178. package/assets/web/standard_fonts/FoxitSymbol.pfb +0 -0
  179. package/assets/web/standard_fonts/LICENSE_FOXIT +27 -0
  180. package/assets/web/standard_fonts/LICENSE_LIBERATION +102 -0
  181. package/assets/web/standard_fonts/LiberationSans-Bold.ttf +0 -0
  182. package/assets/web/standard_fonts/LiberationSans-BoldItalic.ttf +0 -0
  183. package/assets/web/standard_fonts/LiberationSans-Italic.ttf +0 -0
  184. package/assets/web/standard_fonts/LiberationSans-Regular.ttf +0 -0
  185. package/assets/web/viewer.css +3138 -1922
  186. package/assets/web/viewer.html +301 -220
  187. package/assets/web/viewer.mjs +15009 -0
  188. package/assets/web/viewer.mjs.map +1 -0
  189. package/package.json +6 -3
  190. package/assets/build/pdf.js +0 -14827
  191. package/assets/build/pdf.js.map +0 -1
  192. package/assets/build/pdf.worker.js +0 -65293
  193. package/assets/build/pdf.worker.js.map +0 -1
  194. package/assets/web/custom.css +0 -0
  195. package/assets/web/debugger.js +0 -614
  196. package/assets/web/images/grab.cur +0 -0
  197. package/assets/web/images/grabbing.cur +0 -0
  198. package/assets/web/images/loading-dark.svg +0 -24
  199. package/assets/web/images/shadow.png +0 -0
  200. package/assets/web/locale/ach/viewer.properties +0 -205
  201. package/assets/web/locale/af/viewer.properties +0 -182
  202. package/assets/web/locale/an/viewer.properties +0 -250
  203. package/assets/web/locale/ar/viewer.properties +0 -250
  204. package/assets/web/locale/ast/viewer.properties +0 -140
  205. package/assets/web/locale/az/viewer.properties +0 -250
  206. package/assets/web/locale/be/viewer.properties +0 -252
  207. package/assets/web/locale/bg/viewer.properties +0 -240
  208. package/assets/web/locale/bn/viewer.properties +0 -244
  209. package/assets/web/locale/bo/viewer.properties +0 -243
  210. package/assets/web/locale/br/viewer.properties +0 -248
  211. package/assets/web/locale/brx/viewer.properties +0 -209
  212. package/assets/web/locale/bs/viewer.properties +0 -199
  213. package/assets/web/locale/ca/viewer.properties +0 -252
  214. package/assets/web/locale/cak/viewer.properties +0 -252
  215. package/assets/web/locale/ckb/viewer.properties +0 -240
  216. package/assets/web/locale/cs/viewer.properties +0 -252
  217. package/assets/web/locale/cy/viewer.properties +0 -252
  218. package/assets/web/locale/da/viewer.properties +0 -252
  219. package/assets/web/locale/de/viewer.properties +0 -252
  220. package/assets/web/locale/dsb/viewer.properties +0 -252
  221. package/assets/web/locale/el/viewer.properties +0 -252
  222. package/assets/web/locale/en-CA/viewer.properties +0 -252
  223. package/assets/web/locale/en-GB/viewer.properties +0 -252
  224. package/assets/web/locale/en-US/viewer.properties +0 -248
  225. package/assets/web/locale/eo/viewer.properties +0 -252
  226. package/assets/web/locale/es-AR/viewer.properties +0 -252
  227. package/assets/web/locale/es-CL/viewer.properties +0 -252
  228. package/assets/web/locale/es-ES/viewer.properties +0 -252
  229. package/assets/web/locale/es-MX/viewer.properties +0 -250
  230. package/assets/web/locale/et/viewer.properties +0 -244
  231. package/assets/web/locale/eu/viewer.properties +0 -252
  232. package/assets/web/locale/fa/viewer.properties +0 -221
  233. package/assets/web/locale/ff/viewer.properties +0 -240
  234. package/assets/web/locale/fi/viewer.properties +0 -252
  235. package/assets/web/locale/fr/viewer.properties +0 -252
  236. package/assets/web/locale/fy-NL/viewer.properties +0 -252
  237. package/assets/web/locale/ga-IE/viewer.properties +0 -182
  238. package/assets/web/locale/gd/viewer.properties +0 -244
  239. package/assets/web/locale/gl/viewer.properties +0 -252
  240. package/assets/web/locale/gn/viewer.properties +0 -252
  241. package/assets/web/locale/gu-IN/viewer.properties +0 -240
  242. package/assets/web/locale/he/viewer.properties +0 -252
  243. package/assets/web/locale/hi-IN/viewer.properties +0 -242
  244. package/assets/web/locale/hr/viewer.properties +0 -252
  245. package/assets/web/locale/hsb/viewer.properties +0 -252
  246. package/assets/web/locale/hu/viewer.properties +0 -252
  247. package/assets/web/locale/hy-AM/viewer.properties +0 -246
  248. package/assets/web/locale/hye/viewer.properties +0 -252
  249. package/assets/web/locale/ia/viewer.properties +0 -252
  250. package/assets/web/locale/id/viewer.properties +0 -252
  251. package/assets/web/locale/is/viewer.properties +0 -237
  252. package/assets/web/locale/it/viewer.properties +0 -196
  253. package/assets/web/locale/ja/viewer.properties +0 -252
  254. package/assets/web/locale/ka/viewer.properties +0 -252
  255. package/assets/web/locale/kab/viewer.properties +0 -252
  256. package/assets/web/locale/kk/viewer.properties +0 -252
  257. package/assets/web/locale/km/viewer.properties +0 -215
  258. package/assets/web/locale/kn/viewer.properties +0 -191
  259. package/assets/web/locale/ko/viewer.properties +0 -252
  260. package/assets/web/locale/lij/viewer.properties +0 -240
  261. package/assets/web/locale/lo/viewer.properties +0 -151
  262. package/assets/web/locale/locale.properties +0 -315
  263. package/assets/web/locale/lt/viewer.properties +0 -252
  264. package/assets/web/locale/ltg/viewer.properties +0 -218
  265. package/assets/web/locale/lv/viewer.properties +0 -240
  266. package/assets/web/locale/meh/viewer.properties +0 -111
  267. package/assets/web/locale/mk/viewer.properties +0 -143
  268. package/assets/web/locale/mr/viewer.properties +0 -236
  269. package/assets/web/locale/ms/viewer.properties +0 -240
  270. package/assets/web/locale/my/viewer.properties +0 -196
  271. package/assets/web/locale/nb-NO/viewer.properties +0 -252
  272. package/assets/web/locale/ne-NP/viewer.properties +0 -182
  273. package/assets/web/locale/nl/viewer.properties +0 -252
  274. package/assets/web/locale/nn-NO/viewer.properties +0 -252
  275. package/assets/web/locale/oc/viewer.properties +0 -252
  276. package/assets/web/locale/pa-IN/viewer.properties +0 -252
  277. package/assets/web/locale/pl/viewer.properties +0 -252
  278. package/assets/web/locale/pt-BR/viewer.properties +0 -252
  279. package/assets/web/locale/pt-PT/viewer.properties +0 -252
  280. package/assets/web/locale/rm/viewer.properties +0 -252
  281. package/assets/web/locale/ro/viewer.properties +0 -246
  282. package/assets/web/locale/ru/viewer.properties +0 -252
  283. package/assets/web/locale/scn/viewer.properties +0 -101
  284. package/assets/web/locale/si/viewer.properties +0 -206
  285. package/assets/web/locale/sk/viewer.properties +0 -252
  286. package/assets/web/locale/sl/viewer.properties +0 -252
  287. package/assets/web/locale/son/viewer.properties +0 -178
  288. package/assets/web/locale/sq/viewer.properties +0 -243
  289. package/assets/web/locale/sr/viewer.properties +0 -252
  290. package/assets/web/locale/sv-SE/viewer.properties +0 -253
  291. package/assets/web/locale/szl/viewer.properties +0 -250
  292. package/assets/web/locale/ta/viewer.properties +0 -199
  293. package/assets/web/locale/te/viewer.properties +0 -224
  294. package/assets/web/locale/th/viewer.properties +0 -252
  295. package/assets/web/locale/tl/viewer.properties +0 -250
  296. package/assets/web/locale/tr/viewer.properties +0 -252
  297. package/assets/web/locale/trs/viewer.properties +0 -212
  298. package/assets/web/locale/uk/viewer.properties +0 -252
  299. package/assets/web/locale/ur/viewer.properties +0 -240
  300. package/assets/web/locale/uz/viewer.properties +0 -167
  301. package/assets/web/locale/vi/viewer.properties +0 -252
  302. package/assets/web/locale/wo/viewer.properties +0 -123
  303. package/assets/web/locale/xh/viewer.properties +0 -182
  304. package/assets/web/locale/zh-CN/viewer.properties +0 -252
  305. package/assets/web/locale/zh-TW/viewer.properties +0 -252
  306. package/assets/web/viewer.js +0 -15117
  307. package/assets/web/viewer.js.map +0 -1
@@ -0,0 +1,623 @@
1
+ /* Copyright 2012 Mozilla Foundation
2
+ *
3
+ * Licensed under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License.
5
+ * You may obtain a copy of the License at
6
+ *
7
+ * http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software
10
+ * distributed under the License is distributed on an "AS IS" BASIS,
11
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ * See the License for the specific language governing permissions and
13
+ * limitations under the License.
14
+ */
15
+
16
+ const { OPS } = globalThis.pdfjsLib || (await import("pdfjs-lib"));
17
+
18
+ const opMap = Object.create(null);
19
+ for (const key in OPS) {
20
+ opMap[OPS[key]] = key;
21
+ }
22
+
23
+ const FontInspector = (function FontInspectorClosure() {
24
+ let fonts;
25
+ let active = false;
26
+ const fontAttribute = "data-font-name";
27
+ function removeSelection() {
28
+ const divs = document.querySelectorAll(`span[${fontAttribute}]`);
29
+ for (const div of divs) {
30
+ div.className = "";
31
+ }
32
+ }
33
+ function resetSelection() {
34
+ const divs = document.querySelectorAll(`span[${fontAttribute}]`);
35
+ for (const div of divs) {
36
+ div.className = "debuggerHideText";
37
+ }
38
+ }
39
+ function selectFont(fontName, show) {
40
+ const divs = document.querySelectorAll(
41
+ `span[${fontAttribute}=${fontName}]`
42
+ );
43
+ for (const div of divs) {
44
+ div.className = show ? "debuggerShowText" : "debuggerHideText";
45
+ }
46
+ }
47
+ function textLayerClick(e) {
48
+ if (
49
+ !e.target.dataset.fontName ||
50
+ e.target.tagName.toUpperCase() !== "SPAN"
51
+ ) {
52
+ return;
53
+ }
54
+ const fontName = e.target.dataset.fontName;
55
+ const selects = document.getElementsByTagName("input");
56
+ for (const select of selects) {
57
+ if (select.dataset.fontName !== fontName) {
58
+ continue;
59
+ }
60
+ select.checked = !select.checked;
61
+ selectFont(fontName, select.checked);
62
+ select.scrollIntoView();
63
+ }
64
+ }
65
+ return {
66
+ // Properties/functions needed by PDFBug.
67
+ id: "FontInspector",
68
+ name: "Font Inspector",
69
+ panel: null,
70
+ manager: null,
71
+ init() {
72
+ const panel = this.panel;
73
+ const tmp = document.createElement("button");
74
+ tmp.addEventListener("click", resetSelection);
75
+ tmp.textContent = "Refresh";
76
+ panel.append(tmp);
77
+
78
+ fonts = document.createElement("div");
79
+ panel.append(fonts);
80
+ },
81
+ cleanup() {
82
+ fonts.textContent = "";
83
+ },
84
+ enabled: false,
85
+ get active() {
86
+ return active;
87
+ },
88
+ set active(value) {
89
+ active = value;
90
+ if (active) {
91
+ document.body.addEventListener("click", textLayerClick, true);
92
+ resetSelection();
93
+ } else {
94
+ document.body.removeEventListener("click", textLayerClick, true);
95
+ removeSelection();
96
+ }
97
+ },
98
+ // FontInspector specific functions.
99
+ fontAdded(fontObj, url) {
100
+ function properties(obj, list) {
101
+ const moreInfo = document.createElement("table");
102
+ for (const entry of list) {
103
+ const tr = document.createElement("tr");
104
+ const td1 = document.createElement("td");
105
+ td1.textContent = entry;
106
+ tr.append(td1);
107
+ const td2 = document.createElement("td");
108
+ td2.textContent = obj[entry].toString();
109
+ tr.append(td2);
110
+ moreInfo.append(tr);
111
+ }
112
+ return moreInfo;
113
+ }
114
+
115
+ const moreInfo = fontObj.css
116
+ ? properties(fontObj, ["baseFontName"])
117
+ : properties(fontObj, ["name", "type"]);
118
+
119
+ const fontName = fontObj.loadedName;
120
+ const font = document.createElement("div");
121
+ const name = document.createElement("span");
122
+ name.textContent = fontName;
123
+ let download;
124
+ if (!fontObj.css) {
125
+ download = document.createElement("a");
126
+ if (url) {
127
+ url = /url\(['"]?([^)"']+)/.exec(url);
128
+ download.href = url[1];
129
+ } else if (fontObj.data) {
130
+ download.href = URL.createObjectURL(
131
+ new Blob([fontObj.data], { type: fontObj.mimetype })
132
+ );
133
+ }
134
+ download.textContent = "Download";
135
+ }
136
+
137
+ const logIt = document.createElement("a");
138
+ logIt.href = "";
139
+ logIt.textContent = "Log";
140
+ logIt.addEventListener("click", function (event) {
141
+ event.preventDefault();
142
+ console.log(fontObj);
143
+ });
144
+ const select = document.createElement("input");
145
+ select.setAttribute("type", "checkbox");
146
+ select.dataset.fontName = fontName;
147
+ select.addEventListener("click", function () {
148
+ selectFont(fontName, select.checked);
149
+ });
150
+ if (download) {
151
+ font.append(select, name, " ", download, " ", logIt, moreInfo);
152
+ } else {
153
+ font.append(select, name, " ", logIt, moreInfo);
154
+ }
155
+ fonts.append(font);
156
+ // Somewhat of a hack, should probably add a hook for when the text layer
157
+ // is done rendering.
158
+ setTimeout(() => {
159
+ if (this.active) {
160
+ resetSelection();
161
+ }
162
+ }, 2000);
163
+ },
164
+ };
165
+ })();
166
+
167
+ // Manages all the page steppers.
168
+ const StepperManager = (function StepperManagerClosure() {
169
+ let steppers = [];
170
+ let stepperDiv = null;
171
+ let stepperControls = null;
172
+ let stepperChooser = null;
173
+ let breakPoints = Object.create(null);
174
+ return {
175
+ // Properties/functions needed by PDFBug.
176
+ id: "Stepper",
177
+ name: "Stepper",
178
+ panel: null,
179
+ manager: null,
180
+ init() {
181
+ const self = this;
182
+ stepperControls = document.createElement("div");
183
+ stepperChooser = document.createElement("select");
184
+ stepperChooser.addEventListener("change", function (event) {
185
+ self.selectStepper(this.value);
186
+ });
187
+ stepperControls.append(stepperChooser);
188
+ stepperDiv = document.createElement("div");
189
+ this.panel.append(stepperControls, stepperDiv);
190
+ if (sessionStorage.getItem("pdfjsBreakPoints")) {
191
+ breakPoints = JSON.parse(sessionStorage.getItem("pdfjsBreakPoints"));
192
+ }
193
+ },
194
+ cleanup() {
195
+ stepperChooser.textContent = "";
196
+ stepperDiv.textContent = "";
197
+ steppers = [];
198
+ },
199
+ enabled: false,
200
+ active: false,
201
+ // Stepper specific functions.
202
+ create(pageIndex) {
203
+ const debug = document.createElement("div");
204
+ debug.id = "stepper" + pageIndex;
205
+ debug.hidden = true;
206
+ debug.className = "stepper";
207
+ stepperDiv.append(debug);
208
+ const b = document.createElement("option");
209
+ b.textContent = "Page " + (pageIndex + 1);
210
+ b.value = pageIndex;
211
+ stepperChooser.append(b);
212
+ const initBreakPoints = breakPoints[pageIndex] || [];
213
+ const stepper = new Stepper(debug, pageIndex, initBreakPoints);
214
+ steppers.push(stepper);
215
+ if (steppers.length === 1) {
216
+ this.selectStepper(pageIndex, false);
217
+ }
218
+ return stepper;
219
+ },
220
+ selectStepper(pageIndex, selectPanel) {
221
+ pageIndex |= 0;
222
+ if (selectPanel) {
223
+ this.manager.selectPanel(this);
224
+ }
225
+ for (const stepper of steppers) {
226
+ stepper.panel.hidden = stepper.pageIndex !== pageIndex;
227
+ }
228
+ for (const option of stepperChooser.options) {
229
+ option.selected = (option.value | 0) === pageIndex;
230
+ }
231
+ },
232
+ saveBreakPoints(pageIndex, bps) {
233
+ breakPoints[pageIndex] = bps;
234
+ sessionStorage.setItem("pdfjsBreakPoints", JSON.stringify(breakPoints));
235
+ },
236
+ };
237
+ })();
238
+
239
+ // The stepper for each page's operatorList.
240
+ class Stepper {
241
+ // Shorter way to create element and optionally set textContent.
242
+ #c(tag, textContent) {
243
+ const d = document.createElement(tag);
244
+ if (textContent) {
245
+ d.textContent = textContent;
246
+ }
247
+ return d;
248
+ }
249
+
250
+ #simplifyArgs(args) {
251
+ if (typeof args === "string") {
252
+ const MAX_STRING_LENGTH = 75;
253
+ return args.length <= MAX_STRING_LENGTH
254
+ ? args
255
+ : args.substring(0, MAX_STRING_LENGTH) + "...";
256
+ }
257
+ if (typeof args !== "object" || args === null) {
258
+ return args;
259
+ }
260
+ if ("length" in args) {
261
+ // array
262
+ const MAX_ITEMS = 10,
263
+ simpleArgs = [];
264
+ let i, ii;
265
+ for (i = 0, ii = Math.min(MAX_ITEMS, args.length); i < ii; i++) {
266
+ simpleArgs.push(this.#simplifyArgs(args[i]));
267
+ }
268
+ if (i < args.length) {
269
+ simpleArgs.push("...");
270
+ }
271
+ return simpleArgs;
272
+ }
273
+ const simpleObj = {};
274
+ for (const key in args) {
275
+ simpleObj[key] = this.#simplifyArgs(args[key]);
276
+ }
277
+ return simpleObj;
278
+ }
279
+
280
+ constructor(panel, pageIndex, initialBreakPoints) {
281
+ this.panel = panel;
282
+ this.breakPoint = 0;
283
+ this.nextBreakPoint = null;
284
+ this.pageIndex = pageIndex;
285
+ this.breakPoints = initialBreakPoints;
286
+ this.currentIdx = -1;
287
+ this.operatorListIdx = 0;
288
+ this.indentLevel = 0;
289
+ }
290
+
291
+ init(operatorList) {
292
+ const panel = this.panel;
293
+ const content = this.#c("div", "c=continue, s=step");
294
+ const table = this.#c("table");
295
+ content.append(table);
296
+ table.cellSpacing = 0;
297
+ const headerRow = this.#c("tr");
298
+ table.append(headerRow);
299
+ headerRow.append(
300
+ this.#c("th", "Break"),
301
+ this.#c("th", "Idx"),
302
+ this.#c("th", "fn"),
303
+ this.#c("th", "args")
304
+ );
305
+ panel.append(content);
306
+ this.table = table;
307
+ this.updateOperatorList(operatorList);
308
+ }
309
+
310
+ updateOperatorList(operatorList) {
311
+ const self = this;
312
+
313
+ function cboxOnClick() {
314
+ const x = +this.dataset.idx;
315
+ if (this.checked) {
316
+ self.breakPoints.push(x);
317
+ } else {
318
+ self.breakPoints.splice(self.breakPoints.indexOf(x), 1);
319
+ }
320
+ StepperManager.saveBreakPoints(self.pageIndex, self.breakPoints);
321
+ }
322
+
323
+ const MAX_OPERATORS_COUNT = 15000;
324
+ if (this.operatorListIdx > MAX_OPERATORS_COUNT) {
325
+ return;
326
+ }
327
+
328
+ const chunk = document.createDocumentFragment();
329
+ const operatorsToDisplay = Math.min(
330
+ MAX_OPERATORS_COUNT,
331
+ operatorList.fnArray.length
332
+ );
333
+ for (let i = this.operatorListIdx; i < operatorsToDisplay; i++) {
334
+ const line = this.#c("tr");
335
+ line.className = "line";
336
+ line.dataset.idx = i;
337
+ chunk.append(line);
338
+ const checked = this.breakPoints.includes(i);
339
+ const args = operatorList.argsArray[i] || [];
340
+
341
+ const breakCell = this.#c("td");
342
+ const cbox = this.#c("input");
343
+ cbox.type = "checkbox";
344
+ cbox.className = "points";
345
+ cbox.checked = checked;
346
+ cbox.dataset.idx = i;
347
+ cbox.onclick = cboxOnClick;
348
+
349
+ breakCell.append(cbox);
350
+ line.append(breakCell, this.#c("td", i.toString()));
351
+ const fn = opMap[operatorList.fnArray[i]];
352
+ let decArgs = args;
353
+ if (fn === "showText") {
354
+ const glyphs = args[0];
355
+ const charCodeRow = this.#c("tr");
356
+ const fontCharRow = this.#c("tr");
357
+ const unicodeRow = this.#c("tr");
358
+ for (const glyph of glyphs) {
359
+ if (typeof glyph === "object" && glyph !== null) {
360
+ charCodeRow.append(this.#c("td", glyph.originalCharCode));
361
+ fontCharRow.append(this.#c("td", glyph.fontChar));
362
+ unicodeRow.append(this.#c("td", glyph.unicode));
363
+ } else {
364
+ // null or number
365
+ const advanceEl = this.#c("td", glyph);
366
+ advanceEl.classList.add("advance");
367
+ charCodeRow.append(advanceEl);
368
+ fontCharRow.append(this.#c("td"));
369
+ unicodeRow.append(this.#c("td"));
370
+ }
371
+ }
372
+ decArgs = this.#c("td");
373
+ const table = this.#c("table");
374
+ table.classList.add("showText");
375
+ decArgs.append(table);
376
+ table.append(charCodeRow, fontCharRow, unicodeRow);
377
+ } else if (fn === "restore" && this.indentLevel > 0) {
378
+ this.indentLevel--;
379
+ }
380
+ line.append(this.#c("td", " ".repeat(this.indentLevel * 2) + fn));
381
+ if (fn === "save") {
382
+ this.indentLevel++;
383
+ }
384
+
385
+ if (decArgs instanceof HTMLElement) {
386
+ line.append(decArgs);
387
+ } else {
388
+ line.append(this.#c("td", JSON.stringify(this.#simplifyArgs(decArgs))));
389
+ }
390
+ }
391
+ if (operatorsToDisplay < operatorList.fnArray.length) {
392
+ const lastCell = this.#c("td", "...");
393
+ lastCell.colspan = 4;
394
+ chunk.append(lastCell);
395
+ }
396
+ this.operatorListIdx = operatorList.fnArray.length;
397
+ this.table.append(chunk);
398
+ }
399
+
400
+ getNextBreakPoint() {
401
+ this.breakPoints.sort(function (a, b) {
402
+ return a - b;
403
+ });
404
+ for (const breakPoint of this.breakPoints) {
405
+ if (breakPoint > this.currentIdx) {
406
+ return breakPoint;
407
+ }
408
+ }
409
+ return null;
410
+ }
411
+
412
+ breakIt(idx, callback) {
413
+ StepperManager.selectStepper(this.pageIndex, true);
414
+ this.currentIdx = idx;
415
+
416
+ const listener = evt => {
417
+ switch (evt.keyCode) {
418
+ case 83: // step
419
+ document.removeEventListener("keydown", listener);
420
+ this.nextBreakPoint = this.currentIdx + 1;
421
+ this.goTo(-1);
422
+ callback();
423
+ break;
424
+ case 67: // continue
425
+ document.removeEventListener("keydown", listener);
426
+ this.nextBreakPoint = this.getNextBreakPoint();
427
+ this.goTo(-1);
428
+ callback();
429
+ break;
430
+ }
431
+ };
432
+ document.addEventListener("keydown", listener);
433
+ this.goTo(idx);
434
+ }
435
+
436
+ goTo(idx) {
437
+ const allRows = this.panel.getElementsByClassName("line");
438
+ for (const row of allRows) {
439
+ if ((row.dataset.idx | 0) === idx) {
440
+ row.style.backgroundColor = "rgb(251,250,207)";
441
+ row.scrollIntoView();
442
+ } else {
443
+ row.style.backgroundColor = null;
444
+ }
445
+ }
446
+ }
447
+ }
448
+
449
+ const Stats = (function Stats() {
450
+ let stats = [];
451
+ function clear(node) {
452
+ node.textContent = ""; // Remove any `node` contents from the DOM.
453
+ }
454
+ function getStatIndex(pageNumber) {
455
+ for (const [i, stat] of stats.entries()) {
456
+ if (stat.pageNumber === pageNumber) {
457
+ return i;
458
+ }
459
+ }
460
+ return false;
461
+ }
462
+ return {
463
+ // Properties/functions needed by PDFBug.
464
+ id: "Stats",
465
+ name: "Stats",
466
+ panel: null,
467
+ manager: null,
468
+ init() {},
469
+ enabled: false,
470
+ active: false,
471
+ // Stats specific functions.
472
+ add(pageNumber, stat) {
473
+ if (!stat) {
474
+ return;
475
+ }
476
+ const statsIndex = getStatIndex(pageNumber);
477
+ if (statsIndex !== false) {
478
+ stats[statsIndex].div.remove();
479
+ stats.splice(statsIndex, 1);
480
+ }
481
+ const wrapper = document.createElement("div");
482
+ wrapper.className = "stats";
483
+ const title = document.createElement("div");
484
+ title.className = "title";
485
+ title.textContent = "Page: " + pageNumber;
486
+ const statsDiv = document.createElement("div");
487
+ statsDiv.textContent = stat.toString();
488
+ wrapper.append(title, statsDiv);
489
+ stats.push({ pageNumber, div: wrapper });
490
+ stats.sort(function (a, b) {
491
+ return a.pageNumber - b.pageNumber;
492
+ });
493
+ clear(this.panel);
494
+ for (const entry of stats) {
495
+ this.panel.append(entry.div);
496
+ }
497
+ },
498
+ cleanup() {
499
+ stats = [];
500
+ clear(this.panel);
501
+ },
502
+ };
503
+ })();
504
+
505
+ // Manages all the debugging tools.
506
+ class PDFBug {
507
+ static #buttons = [];
508
+
509
+ static #activePanel = null;
510
+
511
+ static tools = [FontInspector, StepperManager, Stats];
512
+
513
+ static enable(ids) {
514
+ const all = ids.length === 1 && ids[0] === "all";
515
+ const tools = this.tools;
516
+ for (const tool of tools) {
517
+ if (all || ids.includes(tool.id)) {
518
+ tool.enabled = true;
519
+ }
520
+ }
521
+ if (!all) {
522
+ // Sort the tools by the order they are enabled.
523
+ tools.sort(function (a, b) {
524
+ let indexA = ids.indexOf(a.id);
525
+ indexA = indexA < 0 ? tools.length : indexA;
526
+ let indexB = ids.indexOf(b.id);
527
+ indexB = indexB < 0 ? tools.length : indexB;
528
+ return indexA - indexB;
529
+ });
530
+ }
531
+ }
532
+
533
+ static init(container, ids) {
534
+ this.loadCSS();
535
+ this.enable(ids);
536
+ /*
537
+ * Basic Layout:
538
+ * PDFBug
539
+ * Controls
540
+ * Panels
541
+ * Panel
542
+ * Panel
543
+ * ...
544
+ */
545
+ const ui = document.createElement("div");
546
+ ui.id = "PDFBug";
547
+
548
+ const controls = document.createElement("div");
549
+ controls.setAttribute("class", "controls");
550
+ ui.append(controls);
551
+
552
+ const panels = document.createElement("div");
553
+ panels.setAttribute("class", "panels");
554
+ ui.append(panels);
555
+
556
+ container.append(ui);
557
+ container.style.right = "var(--panel-width)";
558
+
559
+ // Initialize all the debugging tools.
560
+ for (const tool of this.tools) {
561
+ const panel = document.createElement("div");
562
+ const panelButton = document.createElement("button");
563
+ panelButton.textContent = tool.name;
564
+ panelButton.addEventListener("click", event => {
565
+ event.preventDefault();
566
+ this.selectPanel(tool);
567
+ });
568
+ controls.append(panelButton);
569
+ panels.append(panel);
570
+ tool.panel = panel;
571
+ tool.manager = this;
572
+ if (tool.enabled) {
573
+ tool.init();
574
+ } else {
575
+ panel.textContent =
576
+ `${tool.name} is disabled. To enable add "${tool.id}" to ` +
577
+ "the pdfBug parameter and refresh (separate multiple by commas).";
578
+ }
579
+ this.#buttons.push(panelButton);
580
+ }
581
+ this.selectPanel(0);
582
+ }
583
+
584
+ static loadCSS() {
585
+ const { url } = import.meta;
586
+
587
+ const link = document.createElement("link");
588
+ link.rel = "stylesheet";
589
+ link.href = url.replace(/\.mjs$/, ".css");
590
+
591
+ document.head.append(link);
592
+ }
593
+
594
+ static cleanup() {
595
+ for (const tool of this.tools) {
596
+ if (tool.enabled) {
597
+ tool.cleanup();
598
+ }
599
+ }
600
+ }
601
+
602
+ static selectPanel(index) {
603
+ if (typeof index !== "number") {
604
+ index = this.tools.indexOf(index);
605
+ }
606
+ if (index === this.#activePanel) {
607
+ return;
608
+ }
609
+ this.#activePanel = index;
610
+ for (const [j, tool] of this.tools.entries()) {
611
+ const isActive = j === index;
612
+ this.#buttons[j].classList.toggle("active", isActive);
613
+ tool.active = isActive;
614
+ tool.panel.hidden = !isActive;
615
+ }
616
+ }
617
+ }
618
+
619
+ globalThis.FontInspector = FontInspector;
620
+ globalThis.StepperManager = StepperManager;
621
+ globalThis.Stats = Stats;
622
+
623
+ export { PDFBug };
@@ -0,0 +1,3 @@
1
+ <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M5.375 7.625V11.875C5.375 12.0408 5.44085 12.1997 5.55806 12.3169C5.67527 12.4342 5.83424 12.5 6 12.5C6.16576 12.5 6.32473 12.4342 6.44194 12.3169C6.55915 12.1997 6.625 12.0408 6.625 11.875V7.625L7.125 7.125H11.375C11.5408 7.125 11.6997 7.05915 11.8169 6.94194C11.9342 6.82473 12 6.66576 12 6.5C12 6.33424 11.9342 6.17527 11.8169 6.05806C11.6997 5.94085 11.5408 5.875 11.375 5.875H7.125L6.625 5.375V1.125C6.625 0.95924 6.55915 0.800269 6.44194 0.683058C6.32473 0.565848 6.16576 0.5 6 0.5C5.83424 0.5 5.67527 0.565848 5.55806 0.683058C5.44085 0.800269 5.375 0.95924 5.375 1.125V5.375L4.875 5.875H0.625C0.45924 5.875 0.300269 5.94085 0.183058 6.05806C0.065848 6.17527 0 6.33424 0 6.5C0 6.66576 0.065848 6.82473 0.183058 6.94194C0.300269 7.05915 0.45924 7.125 0.625 7.125H4.762L5.375 7.625Z" fill="black"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M6 0.5C5.21207 0.5 4.43185 0.655195 3.7039 0.956723C2.97595 1.25825 2.31451 1.70021 1.75736 2.25736C1.20021 2.81451 0.758251 3.47595 0.456723 4.2039C0.155195 4.93185 0 5.71207 0 6.5C0 7.28793 0.155195 8.06815 0.456723 8.7961C0.758251 9.52405 1.20021 10.1855 1.75736 10.7426C2.31451 11.2998 2.97595 11.7417 3.7039 12.0433C4.43185 12.3448 5.21207 12.5 6 12.5C7.5913 12.5 9.11742 11.8679 10.2426 10.7426C11.3679 9.61742 12 8.0913 12 6.5C12 4.9087 11.3679 3.38258 10.2426 2.25736C9.11742 1.13214 7.5913 0.5 6 0.5ZM5.06 8.9L2.9464 6.7856C2.85273 6.69171 2.80018 6.56446 2.80033 6.43183C2.80048 6.29921 2.85331 6.17207 2.9472 6.0784C3.04109 5.98473 3.16834 5.93218 3.30097 5.93233C3.43359 5.93248 3.56073 5.98531 3.6544 6.0792L5.3112 7.7368L8.3464 4.7008C8.44109 4.6109 8.56715 4.56153 8.69771 4.56322C8.82827 4.56492 8.95301 4.61754 9.04534 4.70986C9.13766 4.80219 9.19028 4.92693 9.19198 5.05749C9.19367 5.18805 9.1443 5.31411 9.0544 5.4088L5.5624 8.9H5.06Z" fill="#FBFBFE"/>
3
+ </svg>
@@ -0,0 +1,6 @@
1
+ <!-- This Source Code Form is subject to the terms of the Mozilla Public
2
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
3
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
4
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" height="40" width="40">
5
+ <path d="M9 3.5a1.5 1.5 0 0 0-3-.001v7.95C6 12.83 7.12 14 8.5 14s2.5-1.17 2.5-2.55V5.5a.5.5 0 0 1 1 0v6.03C11.955 13.427 10.405 15 8.5 15S5.044 13.426 5 11.53V3.5a2.5 2.5 0 0 1 5 0v7.003a1.5 1.5 0 0 1-3-.003v-5a.5.5 0 0 1 1 0v5a.5.5 0 0 0 1 0Z"/>
6
+ </svg>
@@ -0,0 +1,7 @@
1
+ <!-- This Source Code Form is subject to the terms of the Mozilla Public
2
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
3
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
4
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" height="40" width="40">
5
+ <path d="M8.156 12.5a.99.99 0 0 0 .707-.294l.523-2.574L10.5 8.499l1.058-1.04 2.65-.601a.996.996 0 0 0 0-1.414l-3.657-3.658a.996.996 0 0 0-1.414 0l-.523 2.576L7.5 5.499 6.442 6.535l-2.65.6a.996.996 0 0 0 0 1.413l3.657 3.658a.999.999 0 0 0 .707.295z"/>
6
+ <path d="M9.842.996c-.386 0-.77.146-1.06.44a.5.5 0 0 0-.136.251l-.492 2.43-1.008 1.03-.953.933-2.511.566a.5.5 0 0 0-.243.133 1.505 1.505 0 0 0-.002 2.123l1.477 1.477-2.768 2.767a.5.5 0 0 0 0 .707.5.5 0 0 0 .708 0l2.767-2.767 1.475 1.474a1.494 1.494 0 0 0 2.123-.002.5.5 0 0 0 .135-.254l.492-2.427 1.008-1.024.953-.937 2.511-.57a.5.5 0 0 0 .243-.132c.586-.58.583-1.543.002-2.125l-3.659-3.656A1.501 1.501 0 0 0 9.842.996Zm.05 1.025a.394.394 0 0 1 .305.12l3.658 3.657c.18.18.141.432.002.627l-2.41.545a.5.5 0 0 0-.24.131L10.15 8.142a.5.5 0 0 0-.007.006L9.029 9.283a.5.5 0 0 0-.133.25l-.48 2.36c-.082.053-.165.109-.26.109a.492.492 0 0 1-.353-.149L4.145 8.195c-.18-.18-.141-.432-.002-.627l2.41-.545a.5.5 0 0 0 .238-.13L7.85 5.857a.5.5 0 0 0 .007-.008l1.114-1.138a.5.5 0 0 0 .133-.25l.472-2.323a.619.619 0 0 1 .317-.117Z"/>
7
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M12 2.75H12.5V2.25V1V0.5H12H10.358C9.91165 0.5 9.47731 0.625661 9.09989 0.860442L9.09886 0.861087L8 1.54837L6.89997 0.860979L6.89911 0.860443C6.5218 0.625734 6.08748 0.5 5.642 0.5H4H3.5V1V2.25V2.75H4H5.642C5.66478 2.75 5.6885 2.75641 5.71008 2.76968C5.71023 2.76977 5.71038 2.76986 5.71053 2.76995L6.817 3.461C6.81704 3.46103 6.81709 3.46105 6.81713 3.46108C6.81713 3.46108 6.81713 3.46108 6.81714 3.46109C6.8552 3.48494 6.876 3.52285 6.876 3.567V8V12.433C6.876 12.4771 6.85523 12.515 6.81722 12.5389C6.81715 12.5389 6.81707 12.539 6.817 12.539L5.70953 13.23C5.70941 13.2301 5.70929 13.2302 5.70917 13.2303C5.68723 13.2438 5.6644 13.25 5.641 13.25H4H3.5V13.75V15V15.5H4H5.642C6.08835 15.5 6.52269 15.3743 6.90011 15.1396L6.90086 15.1391L8 14.4526L9.10003 15.14L9.10089 15.1406C9.47831 15.3753 9.91265 15.501 10.359 15.501H12H12.5V15.001V13.751V13.251H12H10.358C10.3352 13.251 10.3115 13.2446 10.2899 13.2313C10.2897 13.2312 10.2896 13.2311 10.2895 13.231L9.183 12.54C9.18298 12.54 9.18295 12.54 9.18293 12.54C9.18291 12.5399 9.18288 12.5399 9.18286 12.5399C9.14615 12.5169 9.125 12.4797 9.125 12.434V8V3.567C9.125 3.52266 9.14603 3.48441 9.18364 3.4606C9.18377 3.46052 9.1839 3.46043 9.18404 3.46035L10.2895 2.76995C10.2896 2.76985 10.2898 2.76975 10.2899 2.76966C10.3119 2.75619 10.3346 2.75 10.358 2.75H12Z" fill="black" stroke="white"/>
3
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M0.0189877 13.6645L0.612989 10.4635C0.687989 10.0545 0.884989 9.6805 1.18099 9.3825L9.98199 0.5805C10.756 -0.1925 12.015 -0.1945 12.792 0.5805L14.42 2.2085C15.194 2.9835 15.194 4.2435 14.42 5.0185L5.61599 13.8215C5.31999 14.1165 4.94599 14.3125 4.53799 14.3875L1.33599 14.9815C1.26599 14.9935 1.19799 15.0005 1.12999 15.0005C0.832989 15.0005 0.544988 14.8835 0.330988 14.6695C0.0679874 14.4055 -0.0490122 14.0305 0.0189877 13.6645Z" fill="white"/>
3
+ <path d="M0.0189877 13.6645L0.612989 10.4635C0.687989 10.0545 0.884989 9.6805 1.18099 9.3825L9.98199 0.5805C10.756 -0.1925 12.015 -0.1945 12.792 0.5805L14.42 2.2085C15.194 2.9835 15.194 4.2435 14.42 5.0185L5.61599 13.8215C5.31999 14.1165 4.94599 14.3125 4.53799 14.3875L1.33599 14.9815C1.26599 14.9935 1.19799 15.0005 1.12999 15.0005C0.832989 15.0005 0.544988 14.8835 0.330988 14.6695C0.0679874 14.4055 -0.0490122 14.0305 0.0189877 13.6645ZM12.472 5.1965L13.632 4.0365L13.631 3.1885L11.811 1.3675L10.963 1.3685L9.80299 2.5285L12.472 5.1965ZM4.31099 13.1585C4.47099 13.1285 4.61799 13.0515 4.73399 12.9345L11.587 6.0815L8.91899 3.4135L2.06599 10.2655C1.94899 10.3835 1.87199 10.5305 1.84099 10.6915L1.36699 13.2485L1.75199 13.6335L4.31099 13.1585Z" fill="black"/>
4
+ </svg>
@@ -0,0 +1,5 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd"
3
+ d="M11 3H13.6C14 3 14.3 3.3 14.3 3.6C14.3 3.9 14 4.2 13.7 4.2H13.3V14C13.3 15.1 12.4 16 11.3 16H4.80005C3.70005 16 2.80005 15.1 2.80005 14V4.2H2.40005C2.00005 4.2 1.80005 4 1.80005 3.6C1.80005 3.2 2.00005 3 2.40005 3H5.00005V2C5.00005 0.9 5.90005 0 7.00005 0H9.00005C10.1 0 11 0.9 11 2V3ZM6.90005 1.2L6.30005 1.8V3H9.80005V1.8L9.20005 1.2H6.90005ZM11.4 14.7L12 14.1V4.2H4.00005V14.1L4.60005 14.7H11.4ZM7.00005 12.4C7.00005 12.7 6.70005 13 6.40005 13C6.10005 13 5.80005 12.7 5.80005 12.4V7.6C5.70005 7.3 6.00005 7 6.40005 7C6.80005 7 7.00005 7.3 7.00005 7.6V12.4ZM10.2001 12.4C10.2001 12.7 9.90006 13 9.60006 13C9.30006 13 9.00006 12.7 9.00006 12.4V7.6C9.00006 7.3 9.30006 7 9.60006 7C9.90006 7 10.2001 7.3 10.2001 7.6V12.4Z"
4
+ fill="black" />
5
+ </svg>
@@ -1,4 +1,3 @@
1
- <!-- This Source Code Form is subject to the terms of the Mozilla Public
2
- - License, v. 2.0. If a copy of the MPL was not distributed with this
3
- - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
4
- <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M8 12a1 1 0 0 1-.707-.293l-5-5a1 1 0 0 1 1.414-1.414L8 9.586l4.293-4.293a1 1 0 0 1 1.414 1.414l-5 5A1 1 0 0 1 8 12z"></path></svg>
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M10.999 8.352L5.534 13.818C5.41551 13.9303 5.25786 13.9918 5.09466 13.9895C4.93146 13.9872 4.77561 13.9212 4.66033 13.8057C4.54505 13.6902 4.47945 13.5342 4.47752 13.3709C4.47559 13.2077 4.53748 13.0502 4.65 12.932L9.585 7.998L4.651 3.067C4.53862 2.94864 4.47691 2.79106 4.47903 2.62786C4.48114 2.46466 4.54692 2.30874 4.66233 2.19333C4.77774 2.07792 4.93366 2.01215 5.09686 2.01003C5.26006 2.00792 5.41763 2.06962 5.536 2.182L11 7.647L10.999 8.352Z" fill="black"/>
3
+ </svg>