@aceshooting/lyra-ui 3.0.0 → 3.2.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 (303) hide show
  1. package/README.md +21 -3
  2. package/custom-elements.json +12254 -4196
  3. package/dist/components/archive-viewer/archive-loader.d.ts +8 -0
  4. package/dist/components/archive-viewer/archive-loader.d.ts.map +1 -0
  5. package/dist/components/archive-viewer/archive-loader.js +19 -0
  6. package/dist/components/archive-viewer/archive-loader.js.map +1 -0
  7. package/dist/components/archive-viewer/archive-viewer-register.d.ts +2 -0
  8. package/dist/components/archive-viewer/archive-viewer-register.d.ts.map +1 -0
  9. package/dist/components/archive-viewer/archive-viewer-register.js +8 -0
  10. package/dist/components/archive-viewer/archive-viewer-register.js.map +1 -0
  11. package/dist/components/archive-viewer/archive-viewer.class.d.ts +47 -0
  12. package/dist/components/archive-viewer/archive-viewer.class.d.ts.map +1 -0
  13. package/dist/components/archive-viewer/archive-viewer.class.js +115 -0
  14. package/dist/components/archive-viewer/archive-viewer.class.js.map +1 -0
  15. package/dist/components/archive-viewer/archive-viewer.d.ts +4 -0
  16. package/dist/components/archive-viewer/archive-viewer.d.ts.map +1 -0
  17. package/dist/components/archive-viewer/archive-viewer.js +7 -0
  18. package/dist/components/archive-viewer/archive-viewer.js.map +1 -0
  19. package/dist/components/archive-viewer/archive-viewer.styles.d.ts +2 -0
  20. package/dist/components/archive-viewer/archive-viewer.styles.d.ts.map +1 -0
  21. package/dist/components/archive-viewer/archive-viewer.styles.js +14 -0
  22. package/dist/components/archive-viewer/archive-viewer.styles.js.map +1 -0
  23. package/dist/components/attachment-chip/attachment-chip.class.d.ts +16 -0
  24. package/dist/components/attachment-chip/attachment-chip.class.d.ts.map +1 -1
  25. package/dist/components/attachment-chip/attachment-chip.class.js +54 -3
  26. package/dist/components/attachment-chip/attachment-chip.class.js.map +1 -1
  27. package/dist/components/attachment-chip/attachment-chip.d.ts +2 -0
  28. package/dist/components/attachment-chip/attachment-chip.d.ts.map +1 -1
  29. package/dist/components/attachment-chip/attachment-chip.js +2 -0
  30. package/dist/components/attachment-chip/attachment-chip.js.map +1 -1
  31. package/dist/components/attachment-chip/attachment-chip.styles.d.ts.map +1 -1
  32. package/dist/components/attachment-chip/attachment-chip.styles.js +8 -0
  33. package/dist/components/attachment-chip/attachment-chip.styles.js.map +1 -1
  34. package/dist/components/calendar-viewer/calendar-loader.d.ts +5 -0
  35. package/dist/components/calendar-viewer/calendar-loader.d.ts.map +1 -0
  36. package/dist/components/calendar-viewer/calendar-loader.js +18 -0
  37. package/dist/components/calendar-viewer/calendar-loader.js.map +1 -0
  38. package/dist/components/calendar-viewer/calendar-viewer.class.d.ts +55 -0
  39. package/dist/components/calendar-viewer/calendar-viewer.class.d.ts.map +1 -0
  40. package/dist/components/calendar-viewer/calendar-viewer.class.js +123 -0
  41. package/dist/components/calendar-viewer/calendar-viewer.class.js.map +1 -0
  42. package/dist/components/calendar-viewer/calendar-viewer.d.ts +3 -0
  43. package/dist/components/calendar-viewer/calendar-viewer.d.ts.map +1 -0
  44. package/dist/components/calendar-viewer/calendar-viewer.js +12 -0
  45. package/dist/components/calendar-viewer/calendar-viewer.js.map +1 -0
  46. package/dist/components/calendar-viewer/calendar-viewer.styles.d.ts +2 -0
  47. package/dist/components/calendar-viewer/calendar-viewer.styles.d.ts.map +1 -0
  48. package/dist/components/calendar-viewer/calendar-viewer.styles.js +16 -0
  49. package/dist/components/calendar-viewer/calendar-viewer.styles.js.map +1 -0
  50. package/dist/components/code-block/code-block-core.class.d.ts +3 -0
  51. package/dist/components/code-block/code-block-core.class.d.ts.map +1 -1
  52. package/dist/components/code-block/code-block-core.class.js +41 -16
  53. package/dist/components/code-block/code-block-core.class.js.map +1 -1
  54. package/dist/components/code-block/code-block.class.d.ts +3 -0
  55. package/dist/components/code-block/code-block.class.d.ts.map +1 -1
  56. package/dist/components/code-block/code-block.class.js +41 -16
  57. package/dist/components/code-block/code-block.class.js.map +1 -1
  58. package/dist/components/code-block/code-block.styles.d.ts.map +1 -1
  59. package/dist/components/code-block/code-block.styles.js +16 -0
  60. package/dist/components/code-block/code-block.styles.js.map +1 -1
  61. package/dist/components/code-block/code-loader.d.ts +2 -0
  62. package/dist/components/code-block/code-loader.d.ts.map +1 -1
  63. package/dist/components/code-block/code-loader.js +14 -4
  64. package/dist/components/code-block/code-loader.js.map +1 -1
  65. package/dist/components/code-block/greycat-language.d.ts +9 -0
  66. package/dist/components/code-block/greycat-language.d.ts.map +1 -0
  67. package/dist/components/code-block/greycat-language.js +73 -0
  68. package/dist/components/code-block/greycat-language.js.map +1 -0
  69. package/dist/components/contact-viewer/contact-viewer.class.d.ts +31 -0
  70. package/dist/components/contact-viewer/contact-viewer.class.d.ts.map +1 -0
  71. package/dist/components/contact-viewer/contact-viewer.class.js +92 -0
  72. package/dist/components/contact-viewer/contact-viewer.class.js.map +1 -0
  73. package/dist/components/contact-viewer/contact-viewer.d.ts +3 -0
  74. package/dist/components/contact-viewer/contact-viewer.d.ts.map +1 -0
  75. package/dist/components/contact-viewer/contact-viewer.js +13 -0
  76. package/dist/components/contact-viewer/contact-viewer.js.map +1 -0
  77. package/dist/components/contact-viewer/contact-viewer.styles.d.ts +2 -0
  78. package/dist/components/contact-viewer/contact-viewer.styles.d.ts.map +1 -0
  79. package/dist/components/contact-viewer/contact-viewer.styles.js +16 -0
  80. package/dist/components/contact-viewer/contact-viewer.styles.js.map +1 -0
  81. package/dist/components/contact-viewer/vcard.d.ts +31 -0
  82. package/dist/components/contact-viewer/vcard.d.ts.map +1 -0
  83. package/dist/components/contact-viewer/vcard.js +87 -0
  84. package/dist/components/contact-viewer/vcard.js.map +1 -0
  85. package/dist/components/csv-viewer/csv-loader.d.ts +8 -0
  86. package/dist/components/csv-viewer/csv-loader.d.ts.map +1 -0
  87. package/dist/components/csv-viewer/csv-loader.js +19 -0
  88. package/dist/components/csv-viewer/csv-loader.js.map +1 -0
  89. package/dist/components/csv-viewer/csv-viewer.class.d.ts +31 -0
  90. package/dist/components/csv-viewer/csv-viewer.class.d.ts.map +1 -0
  91. package/dist/components/csv-viewer/csv-viewer.class.js +108 -0
  92. package/dist/components/csv-viewer/csv-viewer.class.js.map +1 -0
  93. package/dist/components/csv-viewer/csv-viewer.d.ts +3 -0
  94. package/dist/components/csv-viewer/csv-viewer.d.ts.map +1 -0
  95. package/dist/components/csv-viewer/csv-viewer.js +9 -0
  96. package/dist/components/csv-viewer/csv-viewer.js.map +1 -0
  97. package/dist/components/csv-viewer/csv-viewer.styles.d.ts +2 -0
  98. package/dist/components/csv-viewer/csv-viewer.styles.d.ts.map +1 -0
  99. package/dist/components/csv-viewer/csv-viewer.styles.js +14 -0
  100. package/dist/components/csv-viewer/csv-viewer.styles.js.map +1 -0
  101. package/dist/components/dataset-viewer/dataset-loader.d.ts +7 -0
  102. package/dist/components/dataset-viewer/dataset-loader.d.ts.map +1 -0
  103. package/dist/components/dataset-viewer/dataset-loader.js +19 -0
  104. package/dist/components/dataset-viewer/dataset-loader.js.map +1 -0
  105. package/dist/components/dataset-viewer/dataset-viewer.class.d.ts +34 -0
  106. package/dist/components/dataset-viewer/dataset-viewer.class.d.ts.map +1 -0
  107. package/dist/components/dataset-viewer/dataset-viewer.class.js +93 -0
  108. package/dist/components/dataset-viewer/dataset-viewer.class.js.map +1 -0
  109. package/dist/components/dataset-viewer/dataset-viewer.d.ts +3 -0
  110. package/dist/components/dataset-viewer/dataset-viewer.d.ts.map +1 -0
  111. package/dist/components/dataset-viewer/dataset-viewer.js +13 -0
  112. package/dist/components/dataset-viewer/dataset-viewer.js.map +1 -0
  113. package/dist/components/dataset-viewer/dataset-viewer.styles.d.ts +2 -0
  114. package/dist/components/dataset-viewer/dataset-viewer.styles.d.ts.map +1 -0
  115. package/dist/components/dataset-viewer/dataset-viewer.styles.js +13 -0
  116. package/dist/components/dataset-viewer/dataset-viewer.styles.js.map +1 -0
  117. package/dist/components/document-viewer/document-viewer.class.d.ts +55 -0
  118. package/dist/components/document-viewer/document-viewer.class.d.ts.map +1 -0
  119. package/dist/components/document-viewer/document-viewer.class.js +160 -0
  120. package/dist/components/document-viewer/document-viewer.class.js.map +1 -0
  121. package/dist/components/document-viewer/document-viewer.d.ts +5 -0
  122. package/dist/components/document-viewer/document-viewer.d.ts.map +1 -0
  123. package/dist/components/document-viewer/document-viewer.js +8 -0
  124. package/dist/components/document-viewer/document-viewer.js.map +1 -0
  125. package/dist/components/document-viewer/document-viewer.styles.d.ts +2 -0
  126. package/dist/components/document-viewer/document-viewer.styles.d.ts.map +1 -0
  127. package/dist/components/document-viewer/document-viewer.styles.js +48 -0
  128. package/dist/components/document-viewer/document-viewer.styles.js.map +1 -0
  129. package/dist/components/document-viewer/registry.d.ts +30 -0
  130. package/dist/components/document-viewer/registry.d.ts.map +1 -0
  131. package/dist/components/document-viewer/registry.js +42 -0
  132. package/dist/components/document-viewer/registry.js.map +1 -0
  133. package/dist/components/docx-viewer/docx-loader.d.ts +11 -0
  134. package/dist/components/docx-viewer/docx-loader.d.ts.map +1 -0
  135. package/dist/components/docx-viewer/docx-loader.js +39 -0
  136. package/dist/components/docx-viewer/docx-loader.js.map +1 -0
  137. package/dist/components/docx-viewer/docx-viewer.class.d.ts +42 -0
  138. package/dist/components/docx-viewer/docx-viewer.class.d.ts.map +1 -0
  139. package/dist/components/docx-viewer/docx-viewer.class.js +131 -0
  140. package/dist/components/docx-viewer/docx-viewer.class.js.map +1 -0
  141. package/dist/components/docx-viewer/docx-viewer.d.ts +3 -0
  142. package/dist/components/docx-viewer/docx-viewer.d.ts.map +1 -0
  143. package/dist/components/docx-viewer/docx-viewer.js +12 -0
  144. package/dist/components/docx-viewer/docx-viewer.js.map +1 -0
  145. package/dist/components/docx-viewer/docx-viewer.styles.d.ts +2 -0
  146. package/dist/components/docx-viewer/docx-viewer.styles.d.ts.map +1 -0
  147. package/dist/components/docx-viewer/docx-viewer.styles.js +99 -0
  148. package/dist/components/docx-viewer/docx-viewer.styles.js.map +1 -0
  149. package/dist/components/docx-viewer/fixtures/minimal-docx-fixture.d.ts +2 -0
  150. package/dist/components/docx-viewer/fixtures/minimal-docx-fixture.d.ts.map +1 -0
  151. package/dist/components/docx-viewer/fixtures/minimal-docx-fixture.js +3 -0
  152. package/dist/components/docx-viewer/fixtures/minimal-docx-fixture.js.map +1 -0
  153. package/dist/components/ebook-viewer/ebook-loader.d.ts +9 -0
  154. package/dist/components/ebook-viewer/ebook-loader.d.ts.map +1 -0
  155. package/dist/components/ebook-viewer/ebook-loader.js +21 -0
  156. package/dist/components/ebook-viewer/ebook-loader.js.map +1 -0
  157. package/dist/components/ebook-viewer/ebook-viewer-register.d.ts +2 -0
  158. package/dist/components/ebook-viewer/ebook-viewer-register.d.ts.map +1 -0
  159. package/dist/components/ebook-viewer/ebook-viewer-register.js +9 -0
  160. package/dist/components/ebook-viewer/ebook-viewer-register.js.map +1 -0
  161. package/dist/components/ebook-viewer/ebook-viewer.class.d.ts +51 -0
  162. package/dist/components/ebook-viewer/ebook-viewer.class.d.ts.map +1 -0
  163. package/dist/components/ebook-viewer/ebook-viewer.class.js +164 -0
  164. package/dist/components/ebook-viewer/ebook-viewer.class.js.map +1 -0
  165. package/dist/components/ebook-viewer/ebook-viewer.d.ts +2 -0
  166. package/dist/components/ebook-viewer/ebook-viewer.d.ts.map +1 -0
  167. package/dist/components/ebook-viewer/ebook-viewer.js +5 -0
  168. package/dist/components/ebook-viewer/ebook-viewer.js.map +1 -0
  169. package/dist/components/ebook-viewer/ebook-viewer.styles.d.ts +2 -0
  170. package/dist/components/ebook-viewer/ebook-viewer.styles.d.ts.map +1 -0
  171. package/dist/components/ebook-viewer/ebook-viewer.styles.js +73 -0
  172. package/dist/components/ebook-viewer/ebook-viewer.styles.js.map +1 -0
  173. package/dist/components/ebook-viewer/fixtures/minimal-epub-fixture.d.ts +2 -0
  174. package/dist/components/ebook-viewer/fixtures/minimal-epub-fixture.d.ts.map +1 -0
  175. package/dist/components/ebook-viewer/fixtures/minimal-epub-fixture.js +2 -0
  176. package/dist/components/ebook-viewer/fixtures/minimal-epub-fixture.js.map +1 -0
  177. package/dist/components/email-viewer/email-loader.d.ts +10 -0
  178. package/dist/components/email-viewer/email-loader.d.ts.map +1 -0
  179. package/dist/components/email-viewer/email-loader.js +38 -0
  180. package/dist/components/email-viewer/email-loader.js.map +1 -0
  181. package/dist/components/email-viewer/email-viewer.class.d.ts +72 -0
  182. package/dist/components/email-viewer/email-viewer.class.d.ts.map +1 -0
  183. package/dist/components/email-viewer/email-viewer.class.js +154 -0
  184. package/dist/components/email-viewer/email-viewer.class.js.map +1 -0
  185. package/dist/components/email-viewer/email-viewer.d.ts +3 -0
  186. package/dist/components/email-viewer/email-viewer.d.ts.map +1 -0
  187. package/dist/components/email-viewer/email-viewer.js +12 -0
  188. package/dist/components/email-viewer/email-viewer.js.map +1 -0
  189. package/dist/components/email-viewer/email-viewer.styles.d.ts +2 -0
  190. package/dist/components/email-viewer/email-viewer.styles.d.ts.map +1 -0
  191. package/dist/components/email-viewer/email-viewer.styles.js +35 -0
  192. package/dist/components/email-viewer/email-viewer.styles.js.map +1 -0
  193. package/dist/components/file-icon/file-icon.class.d.ts +31 -0
  194. package/dist/components/file-icon/file-icon.class.d.ts.map +1 -0
  195. package/dist/components/file-icon/file-icon.class.js +74 -0
  196. package/dist/components/file-icon/file-icon.class.js.map +1 -0
  197. package/dist/components/file-icon/file-icon.d.ts +3 -0
  198. package/dist/components/file-icon/file-icon.d.ts.map +1 -0
  199. package/dist/components/file-icon/file-icon.js +6 -0
  200. package/dist/components/file-icon/file-icon.js.map +1 -0
  201. package/dist/components/file-icon/file-icon.styles.d.ts +2 -0
  202. package/dist/components/file-icon/file-icon.styles.d.ts.map +1 -0
  203. package/dist/components/file-icon/file-icon.styles.js +23 -0
  204. package/dist/components/file-icon/file-icon.styles.js.map +1 -0
  205. package/dist/components/file-icon/file-type-metadata.d.ts +14 -0
  206. package/dist/components/file-icon/file-type-metadata.d.ts.map +1 -0
  207. package/dist/components/file-icon/file-type-metadata.js +81 -0
  208. package/dist/components/file-icon/file-type-metadata.js.map +1 -0
  209. package/dist/components/html-viewer/dompurify-loader.d.ts +7 -0
  210. package/dist/components/html-viewer/dompurify-loader.d.ts.map +1 -0
  211. package/dist/components/html-viewer/dompurify-loader.js +19 -0
  212. package/dist/components/html-viewer/dompurify-loader.js.map +1 -0
  213. package/dist/components/html-viewer/html-viewer.class.d.ts +29 -0
  214. package/dist/components/html-viewer/html-viewer.class.d.ts.map +1 -0
  215. package/dist/components/html-viewer/html-viewer.class.js +88 -0
  216. package/dist/components/html-viewer/html-viewer.class.js.map +1 -0
  217. package/dist/components/html-viewer/html-viewer.d.ts +2 -0
  218. package/dist/components/html-viewer/html-viewer.d.ts.map +1 -0
  219. package/dist/components/html-viewer/html-viewer.js +15 -0
  220. package/dist/components/html-viewer/html-viewer.js.map +1 -0
  221. package/dist/components/html-viewer/html-viewer.styles.d.ts +2 -0
  222. package/dist/components/html-viewer/html-viewer.styles.d.ts.map +1 -0
  223. package/dist/components/html-viewer/html-viewer.styles.js +26 -0
  224. package/dist/components/html-viewer/html-viewer.styles.js.map +1 -0
  225. package/dist/components/pdf-viewer/pdf-loader.d.ts +6 -0
  226. package/dist/components/pdf-viewer/pdf-loader.d.ts.map +1 -0
  227. package/dist/components/pdf-viewer/pdf-loader.js +22 -0
  228. package/dist/components/pdf-viewer/pdf-loader.js.map +1 -0
  229. package/dist/components/pdf-viewer/pdf-viewer.class.d.ts +80 -0
  230. package/dist/components/pdf-viewer/pdf-viewer.class.d.ts.map +1 -0
  231. package/dist/components/pdf-viewer/pdf-viewer.class.js +296 -0
  232. package/dist/components/pdf-viewer/pdf-viewer.class.js.map +1 -0
  233. package/dist/components/pdf-viewer/pdf-viewer.d.ts +2 -0
  234. package/dist/components/pdf-viewer/pdf-viewer.d.ts.map +1 -0
  235. package/dist/components/pdf-viewer/pdf-viewer.js +13 -0
  236. package/dist/components/pdf-viewer/pdf-viewer.js.map +1 -0
  237. package/dist/components/pdf-viewer/pdf-viewer.styles.d.ts +2 -0
  238. package/dist/components/pdf-viewer/pdf-viewer.styles.d.ts.map +1 -0
  239. package/dist/components/pdf-viewer/pdf-viewer.styles.js +19 -0
  240. package/dist/components/pdf-viewer/pdf-viewer.styles.js.map +1 -0
  241. package/dist/components/pptx-viewer/pptx-loader.d.ts +5 -0
  242. package/dist/components/pptx-viewer/pptx-loader.d.ts.map +1 -0
  243. package/dist/components/pptx-viewer/pptx-loader.js +20 -0
  244. package/dist/components/pptx-viewer/pptx-loader.js.map +1 -0
  245. package/dist/components/pptx-viewer/pptx-viewer.class.d.ts +68 -0
  246. package/dist/components/pptx-viewer/pptx-viewer.class.d.ts.map +1 -0
  247. package/dist/components/pptx-viewer/pptx-viewer.class.js +205 -0
  248. package/dist/components/pptx-viewer/pptx-viewer.class.js.map +1 -0
  249. package/dist/components/pptx-viewer/pptx-viewer.d.ts +2 -0
  250. package/dist/components/pptx-viewer/pptx-viewer.d.ts.map +1 -0
  251. package/dist/components/pptx-viewer/pptx-viewer.js +11 -0
  252. package/dist/components/pptx-viewer/pptx-viewer.js.map +1 -0
  253. package/dist/components/pptx-viewer/pptx-viewer.styles.d.ts +2 -0
  254. package/dist/components/pptx-viewer/pptx-viewer.styles.d.ts.map +1 -0
  255. package/dist/components/pptx-viewer/pptx-viewer.styles.js +66 -0
  256. package/dist/components/pptx-viewer/pptx-viewer.styles.js.map +1 -0
  257. package/dist/components/spreadsheet-viewer/spreadsheet-loader.d.ts +8 -0
  258. package/dist/components/spreadsheet-viewer/spreadsheet-loader.d.ts.map +1 -0
  259. package/dist/components/spreadsheet-viewer/spreadsheet-loader.js +19 -0
  260. package/dist/components/spreadsheet-viewer/spreadsheet-loader.js.map +1 -0
  261. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.class.d.ts +32 -0
  262. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.class.d.ts.map +1 -0
  263. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.class.js +99 -0
  264. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.class.js.map +1 -0
  265. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.d.ts +3 -0
  266. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.d.ts.map +1 -0
  267. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.js +12 -0
  268. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.js.map +1 -0
  269. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.styles.d.ts +2 -0
  270. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.styles.d.ts.map +1 -0
  271. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.styles.js +14 -0
  272. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.styles.js.map +1 -0
  273. package/dist/components/svg-viewer/dompurify-loader.d.ts +7 -0
  274. package/dist/components/svg-viewer/dompurify-loader.d.ts.map +1 -0
  275. package/dist/components/svg-viewer/dompurify-loader.js +19 -0
  276. package/dist/components/svg-viewer/dompurify-loader.js.map +1 -0
  277. package/dist/components/svg-viewer/svg-viewer.class.d.ts +29 -0
  278. package/dist/components/svg-viewer/svg-viewer.class.d.ts.map +1 -0
  279. package/dist/components/svg-viewer/svg-viewer.class.js +95 -0
  280. package/dist/components/svg-viewer/svg-viewer.class.js.map +1 -0
  281. package/dist/components/svg-viewer/svg-viewer.d.ts +2 -0
  282. package/dist/components/svg-viewer/svg-viewer.d.ts.map +1 -0
  283. package/dist/components/svg-viewer/svg-viewer.js +15 -0
  284. package/dist/components/svg-viewer/svg-viewer.js.map +1 -0
  285. package/dist/components/svg-viewer/svg-viewer.styles.d.ts +2 -0
  286. package/dist/components/svg-viewer/svg-viewer.styles.d.ts.map +1 -0
  287. package/dist/components/svg-viewer/svg-viewer.styles.js +50 -0
  288. package/dist/components/svg-viewer/svg-viewer.styles.js.map +1 -0
  289. package/dist/internal/localization.d.ts +1 -1
  290. package/dist/internal/localization.d.ts.map +1 -1
  291. package/dist/internal/localization.js +65 -0
  292. package/dist/internal/localization.js.map +1 -1
  293. package/dist/internal/root-registration-allowlist.d.ts +1 -1
  294. package/dist/internal/root-registration-allowlist.d.ts.map +1 -1
  295. package/dist/internal/root-registration-allowlist.js +15 -0
  296. package/dist/internal/root-registration-allowlist.js.map +1 -1
  297. package/dist/lyra.d.ts +44 -1
  298. package/dist/lyra.d.ts.map +1 -1
  299. package/dist/lyra.js +32 -0
  300. package/dist/lyra.js.map +1 -1
  301. package/llms-full.txt +331 -8
  302. package/llms.txt +2 -1
  303. package/package.json +83 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dompurify-loader.d.ts","sourceRoot":"","sources":["../../../src/components/html-viewer/dompurify-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAI7E,wBAAsB,qBAAqB,CACzC,eAAe,GAAE,MAAM,OAAO,CAAC;IAAE,OAAO,EAAE,eAAe,CAAA;CAAE,CACG,GAC7D,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAUjC;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAGnE;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
@@ -0,0 +1,19 @@
1
+ let sanitizer;
2
+ export async function loadHtmlSanitizerDeps(importDompurify = () => import('dompurify')) {
3
+ try {
4
+ return (await importDompurify()).default;
5
+ }
6
+ catch (error) {
7
+ console.warn('<lyra-html-viewer> needs the optional peer dependency `dompurify` to sanitize rendered HTML markup — install it with `pnpm add dompurify`:', error);
8
+ return null;
9
+ }
10
+ }
11
+ export function loadHtmlSanitizer() {
12
+ if (!sanitizer)
13
+ sanitizer = loadHtmlSanitizerDeps();
14
+ return sanitizer;
15
+ }
16
+ export function clearHtmlSanitizerCache() {
17
+ sanitizer = undefined;
18
+ }
19
+ //# sourceMappingURL=dompurify-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dompurify-loader.js","sourceRoot":"","sources":["../../../src/components/html-viewer/dompurify-loader.ts"],"names":[],"mappings":"AAEA,IAAI,SAAsD,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,eAAe,GAAgD,GAAG,EAAE,CAClE,MAAM,CAAC,WAAW,CAA0C;IAE9D,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CACV,4IAA4I,EAC5I,KAAK,CACN,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC,SAAS;QAAE,SAAS,GAAG,qBAAqB,EAAE,CAAC;IACpD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,SAAS,GAAG,SAAS,CAAC;AACxB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { type PropertyValues, type TemplateResult } from 'lit';
2
+ import { LyraElement } from '../../internal/lyra-element.js';
3
+ export interface LyraHtmlViewerEventMap {
4
+ 'lyra-render-error': CustomEvent<{
5
+ error: unknown;
6
+ }>;
7
+ }
8
+ /** Fetches and safely renders an inline HTML document. */
9
+ export declare class LyraHtmlViewer extends LyraElement<LyraHtmlViewerEventMap> {
10
+ static styles: import("lit").CSSResultGroup[];
11
+ /** URL to fetch and render as sanitized inline HTML. */
12
+ src: string;
13
+ /** Accessible name for the rendered HTML document. */
14
+ name: string;
15
+ /** CSS length that caps the scrollable body. */
16
+ maxHeight: string;
17
+ private fetchState;
18
+ private generation;
19
+ protected willUpdate(changed: PropertyValues): void;
20
+ private load;
21
+ private renderBody;
22
+ render(): TemplateResult;
23
+ }
24
+ declare global {
25
+ interface HTMLElementTagNameMap {
26
+ 'lyra-html-viewer': LyraHtmlViewer;
27
+ }
28
+ }
29
+ //# sourceMappingURL=html-viewer.class.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-viewer.class.d.ts","sourceRoot":"","sources":["../../../src/components/html-viewer/html-viewer.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG9E,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAY7D,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACtD;AAED,0DAA0D;AAC1D,qBAAa,cAAe,SAAQ,WAAW,CAAC,sBAAsB,CAAC;IACrE,MAAM,CAAC,MAAM,iCAAwC;IAErD,wDAAwD;IAC5C,GAAG,SAAM;IACrB,sDAAsD;IAC1C,IAAI,SAAM;IACtB,gDAAgD;IACT,SAAS,SAAM;IAE7C,OAAO,CAAC,UAAU,CAAoC;IAC/D,OAAO,CAAC,UAAU,CAAK;IAEvB,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAElD;YAEa,IAAI;IAoBlB,OAAO,CAAC,UAAU;IAUlB,MAAM,IAAI,cAAc,CAEvB;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IAAE,UAAU,qBAAqB;QAAG,kBAAkB,EAAE,cAAc,CAAC;KAAE;CAAE"}
@@ -0,0 +1,88 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { html, nothing } from 'lit';
8
+ import { property, state } from 'lit/decorators.js';
9
+ import { unsafeHTML } from 'lit/directives/unsafe-html.js';
10
+ import { LyraElement } from '../../internal/lyra-element.js';
11
+ import { safeFetchUrl } from '../../internal/safe-url.js';
12
+ import { srOnly } from '../../internal/a11y.js';
13
+ import { loadHtmlSanitizer } from './dompurify-loader.js';
14
+ import { styles } from './html-viewer.styles.js';
15
+ /** Fetches and safely renders an inline HTML document. */
16
+ export class LyraHtmlViewer extends LyraElement {
17
+ constructor() {
18
+ super(...arguments);
19
+ /** URL to fetch and render as sanitized inline HTML. */
20
+ this.src = '';
21
+ /** Accessible name for the rendered HTML document. */
22
+ this.name = '';
23
+ /** CSS length that caps the scrollable body. */
24
+ this.maxHeight = '';
25
+ this.fetchState = { kind: 'idle' };
26
+ this.generation = 0;
27
+ }
28
+ static { this.styles = [LyraElement.styles, styles, srOnly]; }
29
+ willUpdate(changed) {
30
+ if (!this.hasUpdated || changed.has('src'))
31
+ void this.load();
32
+ }
33
+ async load() {
34
+ const generation = ++this.generation;
35
+ if (!this.src) {
36
+ this.fetchState = { kind: 'idle' };
37
+ return;
38
+ }
39
+ const url = safeFetchUrl(this.src);
40
+ if (!url) {
41
+ this.fetchState = { kind: 'error', message: this.localize('documentPreviewUrlNotAllowed') };
42
+ return;
43
+ }
44
+ this.fetchState = { kind: 'loading' };
45
+ try {
46
+ const response = await fetch(url);
47
+ if (!response.ok)
48
+ throw new Error(`${response.status} ${response.statusText}`);
49
+ const sanitizer = await loadHtmlSanitizer();
50
+ if (!sanitizer)
51
+ throw new Error(this.localize('documentViewerMissingSanitizer'));
52
+ const markup = sanitizer.sanitize(await response.text());
53
+ if (generation === this.generation)
54
+ this.fetchState = { kind: 'loaded', markup };
55
+ }
56
+ catch (error) {
57
+ if (generation !== this.generation)
58
+ return;
59
+ this.fetchState = { kind: 'error', message: error instanceof Error ? error.message : this.localize('documentPreviewFailedToLoad') };
60
+ this.emit('lyra-render-error', { error });
61
+ }
62
+ }
63
+ renderBody() {
64
+ switch (this.fetchState.kind) {
65
+ case 'loaded': return html `<div part="html" role="document" aria-label=${this.name || this.localize('htmlViewerLabel')}>${unsafeHTML(this.fetchState.markup)}</div>`;
66
+ case 'loading': return html `<div part="spinner" role="status"><span class="sr-only">${this.localize('loadingDocument')}</span></div>`;
67
+ case 'error': return html `<div part="error" role="alert">${this.fetchState.message}</div>`;
68
+ case 'idle':
69
+ default: return html `<p class="empty-note">${this.localize('documentPreviewEmpty', undefined, { type: this.localize('documentPreviewTypeDocument') })}</p>`;
70
+ }
71
+ }
72
+ render() {
73
+ return html `<div part="base" style=${this.maxHeight ? `--lyra-html-viewer-max-height:${this.maxHeight}` : nothing}><div part="body">${this.renderBody()}</div></div>`;
74
+ }
75
+ }
76
+ __decorate([
77
+ property()
78
+ ], LyraHtmlViewer.prototype, "src", void 0);
79
+ __decorate([
80
+ property()
81
+ ], LyraHtmlViewer.prototype, "name", void 0);
82
+ __decorate([
83
+ property({ attribute: 'max-height' })
84
+ ], LyraHtmlViewer.prototype, "maxHeight", void 0);
85
+ __decorate([
86
+ state()
87
+ ], LyraHtmlViewer.prototype, "fetchState", void 0);
88
+ //# sourceMappingURL=html-viewer.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-viewer.class.js","sourceRoot":"","sources":["../../../src/components/html-viewer/html-viewer.class.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './html-viewer.class.js';
2
+ //# sourceMappingURL=html-viewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-viewer.d.ts","sourceRoot":"","sources":["../../../src/components/html-viewer/html-viewer.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,15 @@
1
+ export * from './html-viewer.class.js';
2
+ import { LyraHtmlViewer } from './html-viewer.class.js';
3
+ import { defineElement } from '../../internal/prefix.js';
4
+ import { registerDocumentRenderer } from '../document-viewer/registry.js';
5
+ defineElement('html-viewer', LyraHtmlViewer);
6
+ registerDocumentRenderer('text/html', {
7
+ matches: (file) => /\.html?$/i.test(file.name),
8
+ render: (file) => {
9
+ const element = document.createElement('lyra-html-viewer');
10
+ element.src = file.src;
11
+ element.name = file.name;
12
+ return element;
13
+ },
14
+ });
15
+ //# sourceMappingURL=html-viewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-viewer.js","sourceRoot":"","sources":["../../../src/components/html-viewer/html-viewer.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAqB,MAAM,gCAAgC,CAAC;AAE7F,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;AAC7C,wBAAwB,CAAC,WAAW,EAAE;IACpC,OAAO,EAAE,CAAC,IAAkB,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5D,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACvB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const styles: import("lit").CSSResult;
2
+ //# sourceMappingURL=html-viewer.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-viewer.styles.d.ts","sourceRoot":"","sources":["../../../src/components/html-viewer/html-viewer.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAuBlB,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `
3
+ :host { display: block; min-inline-size: 0; max-inline-size: 100%; --lyra-html-viewer-max-height: none; }
4
+ [part='base'] {
5
+ display: flex;
6
+ flex-direction: column;
7
+ box-sizing: border-box;
8
+ border: var(--lyra-border-width-thin) solid var(--lyra-color-border);
9
+ border-radius: var(--lyra-radius);
10
+ background: var(--lyra-color-surface);
11
+ overflow: hidden;
12
+ }
13
+ [part='body'] {
14
+ min-block-size: var(--lyra-size-10rem);
15
+ max-block-size: var(--lyra-html-viewer-max-height);
16
+ box-sizing: border-box;
17
+ overflow: auto;
18
+ padding: var(--lyra-space-m);
19
+ }
20
+ [part='html'] { display: block; max-inline-size: 100%; overflow-wrap: anywhere; }
21
+ [part='html'] img, [part='html'] video { max-inline-size: 100%; block-size: auto; }
22
+ .empty-note, [part='error'] { margin: 0; color: var(--lyra-color-text-quiet); font-size: var(--lyra-font-size-md-sm); text-align: center; }
23
+ [part='error'] { color: var(--lyra-color-danger); }
24
+ [part='spinner'] { display: flex; justify-content: center; }
25
+ `;
26
+ //# sourceMappingURL=html-viewer.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-viewer.styles.js","sourceRoot":"","sources":["../../../src/components/html-viewer/html-viewer.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;CAuBxB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { OptionalPeerApi } from '../../internal/optional-peer-types.js';
2
+ /** Opaque pdfjs-dist surface kept optional for core-package consumers. */
3
+ export type PdfJsApi = OptionalPeerApi;
4
+ export declare function loadPdfJsDeps(importPdfjs?: () => Promise<PdfJsApi>): Promise<PdfJsApi | null>;
5
+ export declare function loadPdfJs(): Promise<PdfJsApi | null>;
6
+ //# sourceMappingURL=pdf-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdf-loader.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-viewer/pdf-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAE7E,0EAA0E;AAC1E,MAAM,MAAM,QAAQ,GAAG,eAAe,CAAC;AAIvC,wBAAsB,aAAa,CACjC,WAAW,GAAE,MAAM,OAAO,CAAC,QAAQ,CAAmD,GACrF,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAY1B;AAED,wBAAgB,SAAS,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAGpD"}
@@ -0,0 +1,22 @@
1
+ let pdfjs;
2
+ export async function loadPdfJsDeps(importPdfjs = () => import('pdfjs-dist')) {
3
+ try {
4
+ const pdfjsLib = await importPdfjs();
5
+ pdfjsLib.GlobalWorkerOptions.workerSrc = new URL('pdfjs-dist/build/pdf.worker.min.mjs', import.meta.url).toString();
6
+ return pdfjsLib;
7
+ }
8
+ catch (error) {
9
+ console.warn('<lyra-pdf-viewer> needs the optional peer dependency `pdfjs-dist` to render PDF documents — install it with `pnpm add pdfjs-dist`:', error);
10
+ return null;
11
+ }
12
+ }
13
+ export function loadPdfJs() {
14
+ if (!pdfjs)
15
+ pdfjs = loadPdfJsDeps();
16
+ return pdfjs;
17
+ }
18
+ /** @internal Test-only cache reset. */
19
+ export function clearPdfJsCache() {
20
+ pdfjs = undefined;
21
+ }
22
+ //# sourceMappingURL=pdf-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdf-loader.js","sourceRoot":"","sources":["../../../src/components/pdf-viewer/pdf-loader.ts"],"names":[],"mappings":"AAKA,IAAI,KAA2C,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,WAAW,GAA4B,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAsB;IAEtF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;QACrC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,qCAAqC,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;QACpH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CACV,oIAAoI,EACpI,KAAK,CACN,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,CAAC,KAAK;QAAE,KAAK,GAAG,aAAa,EAAE,CAAC;IACpC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,eAAe;IAC7B,KAAK,GAAG,SAAS,CAAC;AACpB,CAAC"}
@@ -0,0 +1,80 @@
1
+ import { type PropertyValues, type TemplateResult } from 'lit';
2
+ import { LyraElement } from '../../internal/lyra-element.js';
3
+ import '../virtual-list/virtual-list.js';
4
+ export interface LyraPdfViewerEventMap {
5
+ 'lyra-render-error': CustomEvent<{
6
+ error: unknown;
7
+ }>;
8
+ 'lyra-page-change': CustomEvent<{
9
+ page: number;
10
+ pageCount: number;
11
+ }>;
12
+ 'lyra-zoom-change': CustomEvent<{
13
+ zoom: number;
14
+ }>;
15
+ }
16
+ /**
17
+ * Fetches PDF bytes and renders their pages with the optional `pdfjs-dist`
18
+ * peer. Pages are composed through `lyra-virtual-list`, while a PDF.js text
19
+ * layer keeps rendered text selectable and copyable.
20
+ *
21
+ * @customElement lyra-pdf-viewer
22
+ * @event lyra-render-error - Fired when fetching, parsing, or rendering fails.
23
+ * @event lyra-page-change - Fired when the current page changes.
24
+ * @event lyra-zoom-change - Fired when the zoom multiplier changes.
25
+ * @csspart base - The root viewer container.
26
+ * @csspart toolbar - Pagination and zoom controls.
27
+ * @csspart page-indicator - The current page text.
28
+ * @csspart zoom-indicator - The current zoom percentage.
29
+ * @csspart pages - The virtualized page list.
30
+ * @csspart page - One rendered page wrapper.
31
+ * @csspart text-layer - Selectable text positioned over a page canvas.
32
+ * @csspart error - The error message region.
33
+ * @csspart spinner - The loading status region.
34
+ */
35
+ export declare class LyraPdfViewer extends LyraElement<LyraPdfViewerEventMap> {
36
+ static styles: import("lit").CSSResultGroup[];
37
+ /** URL to fetch and render as a PDF document. */
38
+ src: string;
39
+ /** Display name used as the document's accessible label fallback. */
40
+ name: string;
41
+ /** One-based current page, clamped to the loaded document's page count. */
42
+ page: number;
43
+ /** Page zoom multiplier, clamped to the range 0.25–4. */
44
+ zoom: number;
45
+ private loadState;
46
+ private loadLibrary;
47
+ private generation;
48
+ private readonly pageCanvases;
49
+ private readonly pageRenderTasks;
50
+ private readonly pageCanvasRefs;
51
+ private readonly textLayerContainers;
52
+ private readonly textLayerContainerRefs;
53
+ private readonly textLayers;
54
+ protected willUpdate(changed: PropertyValues): void;
55
+ protected updated(changed: PropertyValues): void;
56
+ disconnectedCallback(): void;
57
+ private clampPage;
58
+ private load;
59
+ nextPage(): void;
60
+ previousPage(): void;
61
+ zoomIn(): void;
62
+ zoomOut(): void;
63
+ private setPage;
64
+ private setZoom;
65
+ private renderToolbar;
66
+ private renderPage;
67
+ private renderTextLayer;
68
+ private pageCanvasRef;
69
+ private textLayerContainerRef;
70
+ private renderPageItem;
71
+ private onVisibleRangeChanged;
72
+ private renderBody;
73
+ render(): TemplateResult;
74
+ }
75
+ declare global {
76
+ interface HTMLElementTagNameMap {
77
+ 'lyra-pdf-viewer': LyraPdfViewer;
78
+ }
79
+ }
80
+ //# sourceMappingURL=pdf-viewer.class.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdf-viewer.class.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-viewer/pdf-viewer.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAGrE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAG7D,OAAO,iCAAiC,CAAC;AAmBzC,MAAM,WAAW,qBAAqB;IACpC,mBAAmB,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACrD,kBAAkB,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE,kBAAkB,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,aAAc,SAAQ,WAAW,CAAC,qBAAqB,CAAC;IACnE,MAAM,CAAC,MAAM,iCAAwC;IAErD,iDAAiD;IACrC,GAAG,SAAM;IACrB,qEAAqE;IACzD,IAAI,SAAM;IACtB,2EAA2E;IAChC,IAAI,SAAK;IACpD,yDAAyD;IACd,IAAI,SAAK;IAE3C,OAAO,CAAC,SAAS,CAAkC;IAC5D,OAAO,CAAC,WAAW,CAA6C;IAChE,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwC;IACrE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyC;IACzE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4D;IAC3F,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAkC;IACtE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA6D;IACpG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyC;IAEpE,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAOlD;IAED,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAM/C;IAED,oBAAoB,IAAI,IAAI,CAQ3B;IAED,OAAO,CAAC,SAAS;YAMH,IAAI;IAiClB,QAAQ,IAAI,IAAI,CAAiC;IACjD,YAAY,IAAI,IAAI,CAAiC;IACrD,MAAM,IAAI,IAAI,CAAyC;IACvD,OAAO,IAAI,IAAI,CAAyC;IAExD,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,aAAa;YAaP,UAAU;YAmCV,eAAe;IAe7B,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,cAAc,CAGpB;IAEF,OAAO,CAAC,qBAAqB,CAE3B;IAEF,OAAO,CAAC,UAAU;IAYlB,MAAM,IAAI,cAAc,CAEvB;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IAAE,UAAU,qBAAqB;QAAG,iBAAiB,EAAE,aAAa,CAAC;KAAE;CAAE"}
@@ -0,0 +1,296 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { html } from 'lit';
8
+ import { property, state } from 'lit/decorators.js';
9
+ import { ref } from 'lit/directives/ref.js';
10
+ import { LyraElement } from '../../internal/lyra-element.js';
11
+ import { safeFetchUrl } from '../../internal/safe-url.js';
12
+ import { srOnly } from '../../internal/a11y.js';
13
+ import '../virtual-list/virtual-list.js';
14
+ import { loadPdfJs } from './pdf-loader.js';
15
+ import { styles } from './pdf-viewer.styles.js';
16
+ const MIN_ZOOM = 0.25;
17
+ const MAX_ZOOM = 4;
18
+ const ZOOM_STEP = 0.25;
19
+ function clampZoom(value) {
20
+ if (!Number.isFinite(value))
21
+ return 1;
22
+ return Math.min(MAX_ZOOM, Math.max(MIN_ZOOM, value));
23
+ }
24
+ /**
25
+ * Fetches PDF bytes and renders their pages with the optional `pdfjs-dist`
26
+ * peer. Pages are composed through `lyra-virtual-list`, while a PDF.js text
27
+ * layer keeps rendered text selectable and copyable.
28
+ *
29
+ * @customElement lyra-pdf-viewer
30
+ * @event lyra-render-error - Fired when fetching, parsing, or rendering fails.
31
+ * @event lyra-page-change - Fired when the current page changes.
32
+ * @event lyra-zoom-change - Fired when the zoom multiplier changes.
33
+ * @csspart base - The root viewer container.
34
+ * @csspart toolbar - Pagination and zoom controls.
35
+ * @csspart page-indicator - The current page text.
36
+ * @csspart zoom-indicator - The current zoom percentage.
37
+ * @csspart pages - The virtualized page list.
38
+ * @csspart page - One rendered page wrapper.
39
+ * @csspart text-layer - Selectable text positioned over a page canvas.
40
+ * @csspart error - The error message region.
41
+ * @csspart spinner - The loading status region.
42
+ */
43
+ export class LyraPdfViewer extends LyraElement {
44
+ constructor() {
45
+ super(...arguments);
46
+ /** URL to fetch and render as a PDF document. */
47
+ this.src = '';
48
+ /** Display name used as the document's accessible label fallback. */
49
+ this.name = '';
50
+ /** One-based current page, clamped to the loaded document's page count. */
51
+ this.page = 1;
52
+ /** Page zoom multiplier, clamped to the range 0.25–4. */
53
+ this.zoom = 1;
54
+ this.loadState = { kind: 'idle' };
55
+ this.loadLibrary = loadPdfJs;
56
+ this.generation = 0;
57
+ this.pageCanvases = new Map();
58
+ this.pageRenderTasks = new Map();
59
+ this.pageCanvasRefs = new Map();
60
+ this.textLayerContainers = new Map();
61
+ this.textLayerContainerRefs = new Map();
62
+ this.textLayers = new Map();
63
+ this.renderPageItem = (pageNumber) => {
64
+ const number = pageNumber;
65
+ return html `<div part="page"><canvas ${ref(this.pageCanvasRef(number))}></canvas><div part="text-layer" ${ref(this.textLayerContainerRef(number))}></div></div>`;
66
+ };
67
+ this.onVisibleRangeChanged = (event) => {
68
+ if (this.loadState.kind === 'ready')
69
+ this.setPage(event.detail.start + 1);
70
+ };
71
+ }
72
+ static { this.styles = [LyraElement.styles, styles, srOnly]; }
73
+ willUpdate(changed) {
74
+ if (!this.hasUpdated || changed.has('src'))
75
+ void this.load();
76
+ if (changed.has('page'))
77
+ this.page = this.clampPage(this.page);
78
+ if (changed.has('zoom')) {
79
+ this.zoom = clampZoom(this.zoom);
80
+ for (const [pageNumber, canvas] of this.pageCanvases)
81
+ void this.renderPage(pageNumber, canvas);
82
+ }
83
+ }
84
+ updated(changed) {
85
+ super.updated(changed);
86
+ if (changed.has('page') && this.loadState.kind === 'ready') {
87
+ this.emit('lyra-page-change', { page: this.page, pageCount: this.loadState.pageCount });
88
+ }
89
+ if (changed.has('zoom'))
90
+ this.emit('lyra-zoom-change', { zoom: this.zoom });
91
+ }
92
+ disconnectedCallback() {
93
+ super.disconnectedCallback();
94
+ for (const task of this.pageRenderTasks.values())
95
+ task.cancel();
96
+ for (const layer of this.textLayers.values())
97
+ layer.cancel();
98
+ this.pageRenderTasks.clear();
99
+ this.textLayers.clear();
100
+ this.pageCanvases.clear();
101
+ this.textLayerContainers.clear();
102
+ }
103
+ clampPage(value) {
104
+ const pageCount = this.loadState.kind === 'ready' ? this.loadState.pageCount : 1;
105
+ if (!Number.isFinite(value))
106
+ return 1;
107
+ return Math.min(pageCount, Math.max(1, Math.round(value)));
108
+ }
109
+ async load() {
110
+ const generation = ++this.generation;
111
+ if (!this.src) {
112
+ this.loadState = { kind: 'idle' };
113
+ return;
114
+ }
115
+ const url = safeFetchUrl(this.src);
116
+ if (!url) {
117
+ this.loadState = { kind: 'error', message: this.localize('documentPreviewUrlNotAllowed') };
118
+ return;
119
+ }
120
+ this.loadState = { kind: 'loading' };
121
+ try {
122
+ const response = await fetch(url);
123
+ if (!response.ok)
124
+ throw new Error(`${response.status} ${response.statusText}`);
125
+ const data = await response.arrayBuffer();
126
+ const pdfjsLib = await this.loadLibrary();
127
+ if (generation !== this.generation)
128
+ return;
129
+ if (!pdfjsLib) {
130
+ this.loadState = { kind: 'error', message: this.localize('pdfViewerMissingLibrary') };
131
+ return;
132
+ }
133
+ const doc = await pdfjsLib.getDocument({ data }).promise;
134
+ if (generation !== this.generation)
135
+ return;
136
+ this.page = 1;
137
+ this.loadState = { kind: 'ready', doc, pageCount: doc.numPages };
138
+ }
139
+ catch (error) {
140
+ if (generation !== this.generation)
141
+ return;
142
+ this.loadState = { kind: 'error', message: error instanceof Error ? error.message : this.localize('documentPreviewFailedToLoad') };
143
+ this.emit('lyra-render-error', { error });
144
+ }
145
+ }
146
+ nextPage() { this.setPage(this.page + 1); }
147
+ previousPage() { this.setPage(this.page - 1); }
148
+ zoomIn() { this.setZoom(this.zoom + ZOOM_STEP); }
149
+ zoomOut() { this.setZoom(this.zoom - ZOOM_STEP); }
150
+ setPage(value) {
151
+ const next = this.clampPage(value);
152
+ if (next !== this.page)
153
+ this.page = next;
154
+ }
155
+ setZoom(value) {
156
+ const next = clampZoom(value);
157
+ if (next !== this.zoom)
158
+ this.zoom = next;
159
+ }
160
+ renderToolbar() {
161
+ if (this.loadState.kind !== 'ready')
162
+ return html ``;
163
+ const { pageCount } = this.loadState;
164
+ return html `<div part="toolbar">
165
+ <button type="button" data-action="previous" ?disabled=${this.page <= 1} aria-label=${this.localize('pdfViewerPreviousPage')} @click=${this.previousPage}>${this.localize('pdfViewerPreviousPage')}</button>
166
+ <span part="page-indicator">${this.localize('pdfViewerPageOf', undefined, { page: this.page, total: pageCount })}</span>
167
+ <button type="button" data-action="next" ?disabled=${this.page >= pageCount} aria-label=${this.localize('pdfViewerNextPage')} @click=${this.nextPage}>${this.localize('pdfViewerNextPage')}</button>
168
+ <button type="button" data-action="zoom-out" ?disabled=${this.zoom <= MIN_ZOOM} aria-label=${this.localize('pdfViewerZoomOut')} @click=${this.zoomOut}>${this.localize('pdfViewerZoomOut')}</button>
169
+ <span part="zoom-indicator" aria-label=${this.localize('pdfViewerCurrentZoom', undefined, { percent: Math.round(this.zoom * 100) })}>${this.localize('pdfViewerCurrentZoom', undefined, { percent: Math.round(this.zoom * 100) })}</span>
170
+ <button type="button" data-action="zoom-in" ?disabled=${this.zoom >= MAX_ZOOM} aria-label=${this.localize('pdfViewerZoomIn')} @click=${this.zoomIn}>${this.localize('pdfViewerZoomIn')}</button>
171
+ </div>`;
172
+ }
173
+ async renderPage(pageNumber, canvas) {
174
+ if (this.loadState.kind !== 'ready')
175
+ return;
176
+ this.pageRenderTasks.get(pageNumber)?.cancel();
177
+ this.pageRenderTasks.delete(pageNumber);
178
+ this.textLayers.get(pageNumber)?.cancel();
179
+ this.textLayers.delete(pageNumber);
180
+ const page = await this.loadState.doc.getPage(pageNumber);
181
+ if (this.loadState.kind !== 'ready' || this.pageCanvases.get(pageNumber) !== canvas)
182
+ return;
183
+ const viewport = page.getViewport({ scale: this.zoom });
184
+ const dpr = window.devicePixelRatio || 1;
185
+ canvas.width = Math.floor(viewport.width * dpr);
186
+ canvas.height = Math.floor(viewport.height * dpr);
187
+ canvas.style.width = `${viewport.width}px`;
188
+ canvas.style.height = `${viewport.height}px`;
189
+ const container = this.textLayerContainers.get(pageNumber);
190
+ if (container) {
191
+ container.style.width = `${viewport.width}px`;
192
+ container.style.height = `${viewport.height}px`;
193
+ container.style.transform = `translateX(-50%)`;
194
+ }
195
+ const canvasContext = canvas.getContext('2d');
196
+ if (!canvasContext)
197
+ return;
198
+ canvasContext.setTransform(dpr, 0, 0, dpr, 0, 0);
199
+ const renderTask = page.render({ canvasContext, viewport });
200
+ this.pageRenderTasks.set(pageNumber, renderTask);
201
+ void this.renderTextLayer(pageNumber, page, viewport);
202
+ try {
203
+ await renderTask.promise;
204
+ }
205
+ catch (error) {
206
+ if (this.pageRenderTasks.get(pageNumber) === renderTask)
207
+ this.emit('lyra-render-error', { error });
208
+ }
209
+ finally {
210
+ if (this.pageRenderTasks.get(pageNumber) === renderTask)
211
+ this.pageRenderTasks.delete(pageNumber);
212
+ }
213
+ }
214
+ async renderTextLayer(pageNumber, page, viewport) {
215
+ const container = this.textLayerContainers.get(pageNumber);
216
+ if (!container || !page.streamTextContent || !this.loadState.kind)
217
+ return;
218
+ const pdfjsLib = await this.loadLibrary();
219
+ if (!pdfjsLib || !pdfjsLib.TextLayer || this.textLayerContainers.get(pageNumber) !== container)
220
+ return;
221
+ container.replaceChildren();
222
+ const textLayer = new pdfjsLib.TextLayer({ textContentSource: page.streamTextContent(), container, viewport });
223
+ this.textLayers.set(pageNumber, textLayer);
224
+ try {
225
+ await textLayer.render();
226
+ }
227
+ catch (error) {
228
+ if (this.textLayers.get(pageNumber) === textLayer)
229
+ this.emit('lyra-render-error', { error });
230
+ }
231
+ }
232
+ pageCanvasRef(pageNumber) {
233
+ let callback = this.pageCanvasRefs.get(pageNumber);
234
+ if (!callback) {
235
+ callback = (element) => {
236
+ if (!element) {
237
+ this.pageCanvases.delete(pageNumber);
238
+ this.pageRenderTasks.get(pageNumber)?.cancel();
239
+ this.pageRenderTasks.delete(pageNumber);
240
+ return;
241
+ }
242
+ this.pageCanvases.set(pageNumber, element);
243
+ void this.renderPage(pageNumber, element);
244
+ };
245
+ this.pageCanvasRefs.set(pageNumber, callback);
246
+ }
247
+ return callback;
248
+ }
249
+ textLayerContainerRef(pageNumber) {
250
+ let callback = this.textLayerContainerRefs.get(pageNumber);
251
+ if (!callback) {
252
+ callback = (element) => {
253
+ if (!element) {
254
+ this.textLayerContainers.delete(pageNumber);
255
+ this.textLayers.get(pageNumber)?.cancel();
256
+ this.textLayers.delete(pageNumber);
257
+ return;
258
+ }
259
+ this.textLayerContainers.set(pageNumber, element);
260
+ };
261
+ this.textLayerContainerRefs.set(pageNumber, callback);
262
+ }
263
+ return callback;
264
+ }
265
+ renderBody() {
266
+ switch (this.loadState.kind) {
267
+ case 'ready': {
268
+ const items = Array.from({ length: this.loadState.pageCount }, (_unused, index) => index + 1);
269
+ return html `${this.renderToolbar()}<lyra-virtual-list part="pages" .items=${items} .renderItem=${this.renderPageItem} .keyFunction=${(item) => item} .activeId=${this.page} @lyra-visible-range-changed=${this.onVisibleRangeChanged}></lyra-virtual-list>`;
270
+ }
271
+ case 'loading': return html `<div part="spinner" role="status"><span class="sr-only">${this.localize('loadingDocument')}</span></div>`;
272
+ case 'error': return html `<div part="error" role="alert">${this.loadState.message}</div>`;
273
+ case 'idle':
274
+ default: return html `<p class="empty-note">${this.localize('documentPreviewEmpty', undefined, { type: this.localize('documentPreviewTypeDocument') })}</p>`;
275
+ }
276
+ }
277
+ render() {
278
+ return html `<div part="base" aria-label=${this.name || this.localize('pdfViewerLabel')}>${this.renderBody()}</div>`;
279
+ }
280
+ }
281
+ __decorate([
282
+ property()
283
+ ], LyraPdfViewer.prototype, "src", void 0);
284
+ __decorate([
285
+ property()
286
+ ], LyraPdfViewer.prototype, "name", void 0);
287
+ __decorate([
288
+ property({ type: Number, reflect: true })
289
+ ], LyraPdfViewer.prototype, "page", void 0);
290
+ __decorate([
291
+ property({ type: Number, reflect: true })
292
+ ], LyraPdfViewer.prototype, "zoom", void 0);
293
+ __decorate([
294
+ state()
295
+ ], LyraPdfViewer.prototype, "loadState", void 0);
296
+ //# sourceMappingURL=pdf-viewer.class.js.map