@aceshooting/lyra-ui 2.13.0 → 3.1.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 (362) hide show
  1. package/README.md +103 -28
  2. package/custom-elements.json +13276 -4793
  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.styles.js +2 -2
  24. package/dist/components/button/button.class.d.ts +7 -9
  25. package/dist/components/button/button.class.d.ts.map +1 -1
  26. package/dist/components/button/button.class.js +12 -14
  27. package/dist/components/button/button.class.js.map +1 -1
  28. package/dist/components/button/button.styles.d.ts.map +1 -1
  29. package/dist/components/button/button.styles.js +30 -10
  30. package/dist/components/button/button.styles.js.map +1 -1
  31. package/dist/components/calendar-viewer/calendar-loader.d.ts +5 -0
  32. package/dist/components/calendar-viewer/calendar-loader.d.ts.map +1 -0
  33. package/dist/components/calendar-viewer/calendar-loader.js +18 -0
  34. package/dist/components/calendar-viewer/calendar-loader.js.map +1 -0
  35. package/dist/components/calendar-viewer/calendar-viewer.class.d.ts +55 -0
  36. package/dist/components/calendar-viewer/calendar-viewer.class.d.ts.map +1 -0
  37. package/dist/components/calendar-viewer/calendar-viewer.class.js +123 -0
  38. package/dist/components/calendar-viewer/calendar-viewer.class.js.map +1 -0
  39. package/dist/components/calendar-viewer/calendar-viewer.d.ts +3 -0
  40. package/dist/components/calendar-viewer/calendar-viewer.d.ts.map +1 -0
  41. package/dist/components/calendar-viewer/calendar-viewer.js +12 -0
  42. package/dist/components/calendar-viewer/calendar-viewer.js.map +1 -0
  43. package/dist/components/calendar-viewer/calendar-viewer.styles.d.ts +2 -0
  44. package/dist/components/calendar-viewer/calendar-viewer.styles.d.ts.map +1 -0
  45. package/dist/components/calendar-viewer/calendar-viewer.styles.js +16 -0
  46. package/dist/components/calendar-viewer/calendar-viewer.styles.js.map +1 -0
  47. package/dist/components/callout/callout.class.d.ts +4 -0
  48. package/dist/components/callout/callout.class.d.ts.map +1 -1
  49. package/dist/components/callout/callout.class.js +7 -0
  50. package/dist/components/callout/callout.class.js.map +1 -1
  51. package/dist/components/callout/callout.styles.d.ts.map +1 -1
  52. package/dist/components/callout/callout.styles.js +13 -0
  53. package/dist/components/callout/callout.styles.js.map +1 -1
  54. package/dist/components/chat-message/chat-message.styles.js +1 -1
  55. package/dist/components/code-block/code-block-core.class.d.ts +3 -0
  56. package/dist/components/code-block/code-block-core.class.d.ts.map +1 -1
  57. package/dist/components/code-block/code-block-core.class.js +41 -16
  58. package/dist/components/code-block/code-block-core.class.js.map +1 -1
  59. package/dist/components/code-block/code-block.class.d.ts +3 -0
  60. package/dist/components/code-block/code-block.class.d.ts.map +1 -1
  61. package/dist/components/code-block/code-block.class.js +41 -16
  62. package/dist/components/code-block/code-block.class.js.map +1 -1
  63. package/dist/components/code-block/code-block.styles.d.ts.map +1 -1
  64. package/dist/components/code-block/code-block.styles.js +17 -1
  65. package/dist/components/code-block/code-block.styles.js.map +1 -1
  66. package/dist/components/code-block/code-loader.d.ts +2 -0
  67. package/dist/components/code-block/code-loader.d.ts.map +1 -1
  68. package/dist/components/code-block/code-loader.js +14 -4
  69. package/dist/components/code-block/code-loader.js.map +1 -1
  70. package/dist/components/code-block/greycat-language.d.ts +9 -0
  71. package/dist/components/code-block/greycat-language.d.ts.map +1 -0
  72. package/dist/components/code-block/greycat-language.js +73 -0
  73. package/dist/components/code-block/greycat-language.js.map +1 -0
  74. package/dist/components/contact-viewer/contact-viewer.class.d.ts +31 -0
  75. package/dist/components/contact-viewer/contact-viewer.class.d.ts.map +1 -0
  76. package/dist/components/contact-viewer/contact-viewer.class.js +92 -0
  77. package/dist/components/contact-viewer/contact-viewer.class.js.map +1 -0
  78. package/dist/components/contact-viewer/contact-viewer.d.ts +3 -0
  79. package/dist/components/contact-viewer/contact-viewer.d.ts.map +1 -0
  80. package/dist/components/contact-viewer/contact-viewer.js +13 -0
  81. package/dist/components/contact-viewer/contact-viewer.js.map +1 -0
  82. package/dist/components/contact-viewer/contact-viewer.styles.d.ts +2 -0
  83. package/dist/components/contact-viewer/contact-viewer.styles.d.ts.map +1 -0
  84. package/dist/components/contact-viewer/contact-viewer.styles.js +16 -0
  85. package/dist/components/contact-viewer/contact-viewer.styles.js.map +1 -0
  86. package/dist/components/contact-viewer/vcard.d.ts +31 -0
  87. package/dist/components/contact-viewer/vcard.d.ts.map +1 -0
  88. package/dist/components/contact-viewer/vcard.js +87 -0
  89. package/dist/components/contact-viewer/vcard.js.map +1 -0
  90. package/dist/components/csv-viewer/csv-loader.d.ts +8 -0
  91. package/dist/components/csv-viewer/csv-loader.d.ts.map +1 -0
  92. package/dist/components/csv-viewer/csv-loader.js +19 -0
  93. package/dist/components/csv-viewer/csv-loader.js.map +1 -0
  94. package/dist/components/csv-viewer/csv-viewer.class.d.ts +31 -0
  95. package/dist/components/csv-viewer/csv-viewer.class.d.ts.map +1 -0
  96. package/dist/components/csv-viewer/csv-viewer.class.js +108 -0
  97. package/dist/components/csv-viewer/csv-viewer.class.js.map +1 -0
  98. package/dist/components/csv-viewer/csv-viewer.d.ts +3 -0
  99. package/dist/components/csv-viewer/csv-viewer.d.ts.map +1 -0
  100. package/dist/components/csv-viewer/csv-viewer.js +9 -0
  101. package/dist/components/csv-viewer/csv-viewer.js.map +1 -0
  102. package/dist/components/csv-viewer/csv-viewer.styles.d.ts +2 -0
  103. package/dist/components/csv-viewer/csv-viewer.styles.d.ts.map +1 -0
  104. package/dist/components/csv-viewer/csv-viewer.styles.js +14 -0
  105. package/dist/components/csv-viewer/csv-viewer.styles.js.map +1 -0
  106. package/dist/components/dataset-viewer/dataset-loader.d.ts +7 -0
  107. package/dist/components/dataset-viewer/dataset-loader.d.ts.map +1 -0
  108. package/dist/components/dataset-viewer/dataset-loader.js +19 -0
  109. package/dist/components/dataset-viewer/dataset-loader.js.map +1 -0
  110. package/dist/components/dataset-viewer/dataset-viewer.class.d.ts +34 -0
  111. package/dist/components/dataset-viewer/dataset-viewer.class.d.ts.map +1 -0
  112. package/dist/components/dataset-viewer/dataset-viewer.class.js +93 -0
  113. package/dist/components/dataset-viewer/dataset-viewer.class.js.map +1 -0
  114. package/dist/components/dataset-viewer/dataset-viewer.d.ts +3 -0
  115. package/dist/components/dataset-viewer/dataset-viewer.d.ts.map +1 -0
  116. package/dist/components/dataset-viewer/dataset-viewer.js +13 -0
  117. package/dist/components/dataset-viewer/dataset-viewer.js.map +1 -0
  118. package/dist/components/dataset-viewer/dataset-viewer.styles.d.ts +2 -0
  119. package/dist/components/dataset-viewer/dataset-viewer.styles.d.ts.map +1 -0
  120. package/dist/components/dataset-viewer/dataset-viewer.styles.js +13 -0
  121. package/dist/components/dataset-viewer/dataset-viewer.styles.js.map +1 -0
  122. package/dist/components/date-picker/date-input.class.d.ts +4 -0
  123. package/dist/components/date-picker/date-input.class.d.ts.map +1 -1
  124. package/dist/components/date-picker/date-input.class.js +16 -0
  125. package/dist/components/date-picker/date-input.class.js.map +1 -1
  126. package/dist/components/details/details.class.d.ts +7 -2
  127. package/dist/components/details/details.class.d.ts.map +1 -1
  128. package/dist/components/details/details.class.js +23 -3
  129. package/dist/components/details/details.class.js.map +1 -1
  130. package/dist/components/dialog/dialog.styles.js +1 -1
  131. package/dist/components/document-viewer/document-viewer.class.d.ts +47 -0
  132. package/dist/components/document-viewer/document-viewer.class.d.ts.map +1 -0
  133. package/dist/components/document-viewer/document-viewer.class.js +141 -0
  134. package/dist/components/document-viewer/document-viewer.class.js.map +1 -0
  135. package/dist/components/document-viewer/document-viewer.d.ts +5 -0
  136. package/dist/components/document-viewer/document-viewer.d.ts.map +1 -0
  137. package/dist/components/document-viewer/document-viewer.js +8 -0
  138. package/dist/components/document-viewer/document-viewer.js.map +1 -0
  139. package/dist/components/document-viewer/document-viewer.styles.d.ts +2 -0
  140. package/dist/components/document-viewer/document-viewer.styles.d.ts.map +1 -0
  141. package/dist/components/document-viewer/document-viewer.styles.js +24 -0
  142. package/dist/components/document-viewer/document-viewer.styles.js.map +1 -0
  143. package/dist/components/document-viewer/registry.d.ts +30 -0
  144. package/dist/components/document-viewer/registry.d.ts.map +1 -0
  145. package/dist/components/document-viewer/registry.js +42 -0
  146. package/dist/components/document-viewer/registry.js.map +1 -0
  147. package/dist/components/docx-viewer/docx-loader.d.ts +11 -0
  148. package/dist/components/docx-viewer/docx-loader.d.ts.map +1 -0
  149. package/dist/components/docx-viewer/docx-loader.js +39 -0
  150. package/dist/components/docx-viewer/docx-loader.js.map +1 -0
  151. package/dist/components/docx-viewer/docx-viewer.class.d.ts +42 -0
  152. package/dist/components/docx-viewer/docx-viewer.class.d.ts.map +1 -0
  153. package/dist/components/docx-viewer/docx-viewer.class.js +131 -0
  154. package/dist/components/docx-viewer/docx-viewer.class.js.map +1 -0
  155. package/dist/components/docx-viewer/docx-viewer.d.ts +3 -0
  156. package/dist/components/docx-viewer/docx-viewer.d.ts.map +1 -0
  157. package/dist/components/docx-viewer/docx-viewer.js +12 -0
  158. package/dist/components/docx-viewer/docx-viewer.js.map +1 -0
  159. package/dist/components/docx-viewer/docx-viewer.styles.d.ts +2 -0
  160. package/dist/components/docx-viewer/docx-viewer.styles.d.ts.map +1 -0
  161. package/dist/components/docx-viewer/docx-viewer.styles.js +99 -0
  162. package/dist/components/docx-viewer/docx-viewer.styles.js.map +1 -0
  163. package/dist/components/docx-viewer/fixtures/minimal-docx-fixture.d.ts +2 -0
  164. package/dist/components/docx-viewer/fixtures/minimal-docx-fixture.d.ts.map +1 -0
  165. package/dist/components/docx-viewer/fixtures/minimal-docx-fixture.js +3 -0
  166. package/dist/components/docx-viewer/fixtures/minimal-docx-fixture.js.map +1 -0
  167. package/dist/components/ebook-viewer/ebook-loader.d.ts +9 -0
  168. package/dist/components/ebook-viewer/ebook-loader.d.ts.map +1 -0
  169. package/dist/components/ebook-viewer/ebook-loader.js +21 -0
  170. package/dist/components/ebook-viewer/ebook-loader.js.map +1 -0
  171. package/dist/components/ebook-viewer/ebook-viewer-register.d.ts +2 -0
  172. package/dist/components/ebook-viewer/ebook-viewer-register.d.ts.map +1 -0
  173. package/dist/components/ebook-viewer/ebook-viewer-register.js +9 -0
  174. package/dist/components/ebook-viewer/ebook-viewer-register.js.map +1 -0
  175. package/dist/components/ebook-viewer/ebook-viewer.class.d.ts +51 -0
  176. package/dist/components/ebook-viewer/ebook-viewer.class.d.ts.map +1 -0
  177. package/dist/components/ebook-viewer/ebook-viewer.class.js +164 -0
  178. package/dist/components/ebook-viewer/ebook-viewer.class.js.map +1 -0
  179. package/dist/components/ebook-viewer/ebook-viewer.d.ts +2 -0
  180. package/dist/components/ebook-viewer/ebook-viewer.d.ts.map +1 -0
  181. package/dist/components/ebook-viewer/ebook-viewer.js +5 -0
  182. package/dist/components/ebook-viewer/ebook-viewer.js.map +1 -0
  183. package/dist/components/ebook-viewer/ebook-viewer.styles.d.ts +2 -0
  184. package/dist/components/ebook-viewer/ebook-viewer.styles.d.ts.map +1 -0
  185. package/dist/components/ebook-viewer/ebook-viewer.styles.js +73 -0
  186. package/dist/components/ebook-viewer/ebook-viewer.styles.js.map +1 -0
  187. package/dist/components/ebook-viewer/fixtures/minimal-epub-fixture.d.ts +2 -0
  188. package/dist/components/ebook-viewer/fixtures/minimal-epub-fixture.d.ts.map +1 -0
  189. package/dist/components/ebook-viewer/fixtures/minimal-epub-fixture.js +2 -0
  190. package/dist/components/ebook-viewer/fixtures/minimal-epub-fixture.js.map +1 -0
  191. package/dist/components/email-viewer/email-loader.d.ts +10 -0
  192. package/dist/components/email-viewer/email-loader.d.ts.map +1 -0
  193. package/dist/components/email-viewer/email-loader.js +38 -0
  194. package/dist/components/email-viewer/email-loader.js.map +1 -0
  195. package/dist/components/email-viewer/email-viewer.class.d.ts +72 -0
  196. package/dist/components/email-viewer/email-viewer.class.d.ts.map +1 -0
  197. package/dist/components/email-viewer/email-viewer.class.js +154 -0
  198. package/dist/components/email-viewer/email-viewer.class.js.map +1 -0
  199. package/dist/components/email-viewer/email-viewer.d.ts +3 -0
  200. package/dist/components/email-viewer/email-viewer.d.ts.map +1 -0
  201. package/dist/components/email-viewer/email-viewer.js +12 -0
  202. package/dist/components/email-viewer/email-viewer.js.map +1 -0
  203. package/dist/components/email-viewer/email-viewer.styles.d.ts +2 -0
  204. package/dist/components/email-viewer/email-viewer.styles.d.ts.map +1 -0
  205. package/dist/components/email-viewer/email-viewer.styles.js +35 -0
  206. package/dist/components/email-viewer/email-viewer.styles.js.map +1 -0
  207. package/dist/components/file-icon/file-icon.class.d.ts +31 -0
  208. package/dist/components/file-icon/file-icon.class.d.ts.map +1 -0
  209. package/dist/components/file-icon/file-icon.class.js +74 -0
  210. package/dist/components/file-icon/file-icon.class.js.map +1 -0
  211. package/dist/components/file-icon/file-icon.d.ts +3 -0
  212. package/dist/components/file-icon/file-icon.d.ts.map +1 -0
  213. package/dist/components/file-icon/file-icon.js +6 -0
  214. package/dist/components/file-icon/file-icon.js.map +1 -0
  215. package/dist/components/file-icon/file-icon.styles.d.ts +2 -0
  216. package/dist/components/file-icon/file-icon.styles.d.ts.map +1 -0
  217. package/dist/components/file-icon/file-icon.styles.js +23 -0
  218. package/dist/components/file-icon/file-icon.styles.js.map +1 -0
  219. package/dist/components/file-icon/file-type-metadata.d.ts +14 -0
  220. package/dist/components/file-icon/file-type-metadata.d.ts.map +1 -0
  221. package/dist/components/file-icon/file-type-metadata.js +81 -0
  222. package/dist/components/file-icon/file-type-metadata.js.map +1 -0
  223. package/dist/components/heatmap/heatmap.class.d.ts +27 -0
  224. package/dist/components/heatmap/heatmap.class.d.ts.map +1 -1
  225. package/dist/components/heatmap/heatmap.class.js +125 -1
  226. package/dist/components/heatmap/heatmap.class.js.map +1 -1
  227. package/dist/components/heatmap/heatmap.styles.d.ts.map +1 -1
  228. package/dist/components/heatmap/heatmap.styles.js +27 -0
  229. package/dist/components/heatmap/heatmap.styles.js.map +1 -1
  230. package/dist/components/html-viewer/dompurify-loader.d.ts +7 -0
  231. package/dist/components/html-viewer/dompurify-loader.d.ts.map +1 -0
  232. package/dist/components/html-viewer/dompurify-loader.js +19 -0
  233. package/dist/components/html-viewer/dompurify-loader.js.map +1 -0
  234. package/dist/components/html-viewer/html-viewer.class.d.ts +29 -0
  235. package/dist/components/html-viewer/html-viewer.class.d.ts.map +1 -0
  236. package/dist/components/html-viewer/html-viewer.class.js +88 -0
  237. package/dist/components/html-viewer/html-viewer.class.js.map +1 -0
  238. package/dist/components/html-viewer/html-viewer.d.ts +2 -0
  239. package/dist/components/html-viewer/html-viewer.d.ts.map +1 -0
  240. package/dist/components/html-viewer/html-viewer.js +15 -0
  241. package/dist/components/html-viewer/html-viewer.js.map +1 -0
  242. package/dist/components/html-viewer/html-viewer.styles.d.ts +2 -0
  243. package/dist/components/html-viewer/html-viewer.styles.d.ts.map +1 -0
  244. package/dist/components/html-viewer/html-viewer.styles.js +26 -0
  245. package/dist/components/html-viewer/html-viewer.styles.js.map +1 -0
  246. package/dist/components/json-viewer/json-viewer.styles.js +1 -1
  247. package/dist/components/markdown/markdown.styles.js +1 -1
  248. package/dist/components/model-select/model-select.class.d.ts +4 -0
  249. package/dist/components/model-select/model-select.class.d.ts.map +1 -1
  250. package/dist/components/model-select/model-select.class.js +16 -1
  251. package/dist/components/model-select/model-select.class.js.map +1 -1
  252. package/dist/components/overlay/overlay.styles.d.ts.map +1 -1
  253. package/dist/components/overlay/overlay.styles.js +11 -1
  254. package/dist/components/overlay/overlay.styles.js.map +1 -1
  255. package/dist/components/pdf-viewer/pdf-loader.d.ts +6 -0
  256. package/dist/components/pdf-viewer/pdf-loader.d.ts.map +1 -0
  257. package/dist/components/pdf-viewer/pdf-loader.js +22 -0
  258. package/dist/components/pdf-viewer/pdf-loader.js.map +1 -0
  259. package/dist/components/pdf-viewer/pdf-viewer.class.d.ts +80 -0
  260. package/dist/components/pdf-viewer/pdf-viewer.class.d.ts.map +1 -0
  261. package/dist/components/pdf-viewer/pdf-viewer.class.js +296 -0
  262. package/dist/components/pdf-viewer/pdf-viewer.class.js.map +1 -0
  263. package/dist/components/pdf-viewer/pdf-viewer.d.ts +2 -0
  264. package/dist/components/pdf-viewer/pdf-viewer.d.ts.map +1 -0
  265. package/dist/components/pdf-viewer/pdf-viewer.js +13 -0
  266. package/dist/components/pdf-viewer/pdf-viewer.js.map +1 -0
  267. package/dist/components/pdf-viewer/pdf-viewer.styles.d.ts +2 -0
  268. package/dist/components/pdf-viewer/pdf-viewer.styles.d.ts.map +1 -0
  269. package/dist/components/pdf-viewer/pdf-viewer.styles.js +19 -0
  270. package/dist/components/pdf-viewer/pdf-viewer.styles.js.map +1 -0
  271. package/dist/components/pptx-viewer/pptx-loader.d.ts +5 -0
  272. package/dist/components/pptx-viewer/pptx-loader.d.ts.map +1 -0
  273. package/dist/components/pptx-viewer/pptx-loader.js +20 -0
  274. package/dist/components/pptx-viewer/pptx-loader.js.map +1 -0
  275. package/dist/components/pptx-viewer/pptx-viewer.class.d.ts +68 -0
  276. package/dist/components/pptx-viewer/pptx-viewer.class.d.ts.map +1 -0
  277. package/dist/components/pptx-viewer/pptx-viewer.class.js +205 -0
  278. package/dist/components/pptx-viewer/pptx-viewer.class.js.map +1 -0
  279. package/dist/components/pptx-viewer/pptx-viewer.d.ts +2 -0
  280. package/dist/components/pptx-viewer/pptx-viewer.d.ts.map +1 -0
  281. package/dist/components/pptx-viewer/pptx-viewer.js +11 -0
  282. package/dist/components/pptx-viewer/pptx-viewer.js.map +1 -0
  283. package/dist/components/pptx-viewer/pptx-viewer.styles.d.ts +2 -0
  284. package/dist/components/pptx-viewer/pptx-viewer.styles.d.ts.map +1 -0
  285. package/dist/components/pptx-viewer/pptx-viewer.styles.js +66 -0
  286. package/dist/components/pptx-viewer/pptx-viewer.styles.js.map +1 -0
  287. package/dist/components/responsive-panel/responsive-panel.styles.js +1 -1
  288. package/dist/components/segmented/segmented.class.d.ts +6 -4
  289. package/dist/components/segmented/segmented.class.d.ts.map +1 -1
  290. package/dist/components/segmented/segmented.class.js +3 -2
  291. package/dist/components/segmented/segmented.class.js.map +1 -1
  292. package/dist/components/segmented/segmented.styles.js +1 -1
  293. package/dist/components/spreadsheet-viewer/spreadsheet-loader.d.ts +8 -0
  294. package/dist/components/spreadsheet-viewer/spreadsheet-loader.d.ts.map +1 -0
  295. package/dist/components/spreadsheet-viewer/spreadsheet-loader.js +19 -0
  296. package/dist/components/spreadsheet-viewer/spreadsheet-loader.js.map +1 -0
  297. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.class.d.ts +32 -0
  298. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.class.d.ts.map +1 -0
  299. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.class.js +99 -0
  300. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.class.js.map +1 -0
  301. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.d.ts +3 -0
  302. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.d.ts.map +1 -0
  303. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.js +12 -0
  304. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.js.map +1 -0
  305. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.styles.d.ts +2 -0
  306. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.styles.d.ts.map +1 -0
  307. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.styles.js +14 -0
  308. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.styles.js.map +1 -0
  309. package/dist/components/svg-viewer/dompurify-loader.d.ts +7 -0
  310. package/dist/components/svg-viewer/dompurify-loader.d.ts.map +1 -0
  311. package/dist/components/svg-viewer/dompurify-loader.js +19 -0
  312. package/dist/components/svg-viewer/dompurify-loader.js.map +1 -0
  313. package/dist/components/svg-viewer/svg-viewer.class.d.ts +29 -0
  314. package/dist/components/svg-viewer/svg-viewer.class.d.ts.map +1 -0
  315. package/dist/components/svg-viewer/svg-viewer.class.js +95 -0
  316. package/dist/components/svg-viewer/svg-viewer.class.js.map +1 -0
  317. package/dist/components/svg-viewer/svg-viewer.d.ts +2 -0
  318. package/dist/components/svg-viewer/svg-viewer.d.ts.map +1 -0
  319. package/dist/components/svg-viewer/svg-viewer.js +15 -0
  320. package/dist/components/svg-viewer/svg-viewer.js.map +1 -0
  321. package/dist/components/svg-viewer/svg-viewer.styles.d.ts +2 -0
  322. package/dist/components/svg-viewer/svg-viewer.styles.d.ts.map +1 -0
  323. package/dist/components/svg-viewer/svg-viewer.styles.js +50 -0
  324. package/dist/components/svg-viewer/svg-viewer.styles.js.map +1 -0
  325. package/dist/components/tool-approval-dialog/tool-approval-dialog.class.d.ts +13 -6
  326. package/dist/components/tool-approval-dialog/tool-approval-dialog.class.d.ts.map +1 -1
  327. package/dist/components/tool-approval-dialog/tool-approval-dialog.class.js +48 -10
  328. package/dist/components/tool-approval-dialog/tool-approval-dialog.class.js.map +1 -1
  329. package/dist/components/tool-approval-dialog/tool-approval-dialog.styles.js +1 -1
  330. package/dist/components/tool-result-dialog/tool-result-dialog.styles.js +1 -1
  331. package/dist/components/tool-select-dialog/tool-select-dialog.class.d.ts +7 -0
  332. package/dist/components/tool-select-dialog/tool-select-dialog.class.d.ts.map +1 -1
  333. package/dist/components/tool-select-dialog/tool-select-dialog.class.js +31 -0
  334. package/dist/components/tool-select-dialog/tool-select-dialog.class.js.map +1 -1
  335. package/dist/components/tool-select-dialog/tool-select-dialog.styles.js +1 -1
  336. package/dist/components/widget/widget.styles.js +1 -1
  337. package/dist/components/word-cloud/word-cloud.styles.js +4 -4
  338. package/dist/internal/localization.d.ts +1 -1
  339. package/dist/internal/localization.d.ts.map +1 -1
  340. package/dist/internal/localization.js +63 -0
  341. package/dist/internal/localization.js.map +1 -1
  342. package/dist/internal/lyra-element.d.ts +2 -2
  343. package/dist/internal/lyra-element.js +2 -2
  344. package/dist/internal/root-registration-allowlist.d.ts +1 -1
  345. package/dist/internal/root-registration-allowlist.d.ts.map +1 -1
  346. package/dist/internal/root-registration-allowlist.js +15 -0
  347. package/dist/internal/root-registration-allowlist.js.map +1 -1
  348. package/dist/internal/tokens.styles.d.ts.map +1 -1
  349. package/dist/internal/tokens.styles.js +202 -198
  350. package/dist/internal/tokens.styles.js.map +1 -1
  351. package/dist/lyra.d.ts +43 -0
  352. package/dist/lyra.d.ts.map +1 -1
  353. package/dist/lyra.js +32 -0
  354. package/dist/lyra.js.map +1 -1
  355. package/dist/testing/happy-dom-shims.d.ts +4 -2
  356. package/dist/testing/happy-dom-shims.d.ts.map +1 -1
  357. package/dist/testing/happy-dom-shims.js +6 -2
  358. package/dist/testing/happy-dom-shims.js.map +1 -1
  359. package/dist/theme.css +58 -0
  360. package/llms-full.txt +431 -37
  361. package/llms.txt +11 -9
  362. package/package.json +91 -4
@@ -0,0 +1,164 @@
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 { createRef, ref } from 'lit/directives/ref.js';
10
+ import { LyraElement } from '../../internal/lyra-element.js';
11
+ import { safeFetchUrl } from '../../internal/safe-url.js';
12
+ import { chevronIcon } from '../../internal/icons.js';
13
+ import { getEpubJs } from './ebook-loader.js';
14
+ import { styles } from './ebook-viewer.styles.js';
15
+ /**
16
+ * Renders an EPUB with the optional `epubjs` peer. The mount element is kept
17
+ * stable because epub.js imperatively owns it and renders chapters in iframes.
18
+ *
19
+ * @customElement lyra-ebook-viewer
20
+ * @event lyra-render-error - Fired when fetching, opening, or rendering fails.
21
+ * @csspart base - The viewer container.
22
+ * @csspart toolbar - Previous and next chapter controls.
23
+ * @csspart previous-button - The previous chapter button.
24
+ * @csspart next-button - The next chapter button.
25
+ * @csspart previous-icon - The previous button icon.
26
+ * @csspart next-icon - The next button icon.
27
+ * @csspart mount - The stable element epub.js renders into.
28
+ * @csspart error - The error message region.
29
+ */
30
+ export class LyraEbookViewer extends LyraElement {
31
+ constructor() {
32
+ super(...arguments);
33
+ /** URL fetched as an ArrayBuffer and rendered as an EPUB. */
34
+ this.src = '';
35
+ /** Display name used as the reading region's accessible-name fallback. */
36
+ this.name = '';
37
+ /** Host `aria-label` override for the internal reading region. */
38
+ this.accessibleLabel = '';
39
+ this.ebookState = { kind: 'idle' };
40
+ this.mountRef = createRef();
41
+ this.generation = 0;
42
+ this.previous = () => { void this.rendition?.prev(); };
43
+ this.next = () => { void this.rendition?.next(); };
44
+ }
45
+ static { this.styles = [LyraElement.styles, styles]; }
46
+ firstUpdated() { void this.load(); }
47
+ willUpdate(changed) {
48
+ if (this.hasUpdated && changed.has('src'))
49
+ void this.load();
50
+ }
51
+ disconnectedCallback() {
52
+ this.generation++;
53
+ this.teardown();
54
+ super.disconnectedCallback();
55
+ }
56
+ teardown() {
57
+ this.book?.destroy();
58
+ this.book = undefined;
59
+ this.rendition = undefined;
60
+ }
61
+ async load() {
62
+ const generation = ++this.generation;
63
+ this.teardown();
64
+ if (!this.src.trim()) {
65
+ this.ebookState = { kind: 'idle' };
66
+ return;
67
+ }
68
+ const url = safeFetchUrl(this.src);
69
+ if (!url) {
70
+ this.ebookState = { kind: 'error', message: this.localize('documentPreviewUrlNotAllowed') };
71
+ return;
72
+ }
73
+ this.ebookState = { kind: 'loading' };
74
+ let data;
75
+ let factory;
76
+ try {
77
+ [data, factory] = await Promise.all([
78
+ fetch(url).then((response) => {
79
+ if (!response.ok)
80
+ throw new Error(`${response.status} ${response.statusText}`);
81
+ return response.arrayBuffer();
82
+ }),
83
+ getEpubJs(),
84
+ ]);
85
+ }
86
+ catch (error) {
87
+ if (generation !== this.generation)
88
+ return;
89
+ this.ebookState = { kind: 'error', message: this.localize('documentPreviewFailedToLoad') };
90
+ this.emit('lyra-render-error', { error });
91
+ return;
92
+ }
93
+ if (generation !== this.generation)
94
+ return;
95
+ if (!factory) {
96
+ this.ebookState = { kind: 'error', message: this.localize('ebookViewerLoadError') };
97
+ return;
98
+ }
99
+ const mount = this.mountRef.value;
100
+ if (!mount) {
101
+ this.ebookState = { kind: 'error', message: this.localize('ebookViewerLoadError') };
102
+ return;
103
+ }
104
+ try {
105
+ const book = factory(data);
106
+ const rendition = book.renderTo(mount, { width: '100%', height: '100%' });
107
+ await book.ready;
108
+ await rendition.display();
109
+ if (generation !== this.generation) {
110
+ book.destroy();
111
+ return;
112
+ }
113
+ this.book = book;
114
+ this.rendition = rendition;
115
+ this.ebookState = { kind: 'ready' };
116
+ }
117
+ catch (error) {
118
+ if (generation !== this.generation)
119
+ return;
120
+ this.ebookState = { kind: 'error', message: this.localize('ebookViewerLoadError') };
121
+ this.emit('lyra-render-error', { error });
122
+ }
123
+ }
124
+ renderStatus() {
125
+ if (this.ebookState.kind === 'loading')
126
+ return html `<p class="status-note">${this.localize('loadingDocument')}</p>`;
127
+ if (this.ebookState.kind === 'error')
128
+ return html `<div part="error" role="alert">${this.ebookState.message}</div>`;
129
+ if (this.ebookState.kind === 'idle') {
130
+ return html `<p class="status-note">${this.localize('documentPreviewEmpty', undefined, { type: this.localize('documentPreviewTypeDocument') })}</p>`;
131
+ }
132
+ return nothing;
133
+ }
134
+ render() {
135
+ const disabled = this.ebookState.kind !== 'ready';
136
+ return html `
137
+ <div part="base">
138
+ <div part="toolbar">
139
+ <button part="previous-button" type="button" aria-label=${this.localize('previous')} ?disabled=${disabled} @click=${this.previous}>
140
+ <span part="previous-icon" aria-hidden="true">${chevronIcon()}</span>
141
+ </button>
142
+ <button part="next-button" type="button" aria-label=${this.localize('next')} ?disabled=${disabled} @click=${this.next}>
143
+ <span part="next-icon" aria-hidden="true">${chevronIcon()}</span>
144
+ </button>
145
+ </div>
146
+ <div part="mount" role="region" aria-label=${this.accessibleLabel || this.name || this.localize('ebookViewerRegionLabel')} ${ref(this.mountRef)}></div>
147
+ ${this.renderStatus()}
148
+ </div>
149
+ `;
150
+ }
151
+ }
152
+ __decorate([
153
+ property()
154
+ ], LyraEbookViewer.prototype, "src", void 0);
155
+ __decorate([
156
+ property()
157
+ ], LyraEbookViewer.prototype, "name", void 0);
158
+ __decorate([
159
+ property({ attribute: 'aria-label' })
160
+ ], LyraEbookViewer.prototype, "accessibleLabel", void 0);
161
+ __decorate([
162
+ state()
163
+ ], LyraEbookViewer.prototype, "ebookState", void 0);
164
+ //# sourceMappingURL=ebook-viewer.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ebook-viewer.class.js","sourceRoot":"","sources":["../../../src/components/ebook-viewer/ebook-viewer.class.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './ebook-viewer.class.js';
2
+ //# sourceMappingURL=ebook-viewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ebook-viewer.d.ts","sourceRoot":"","sources":["../../../src/components/ebook-viewer/ebook-viewer.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './ebook-viewer.class.js';
2
+ import { LyraEbookViewer } from './ebook-viewer.class.js';
3
+ import { defineElement } from '../../internal/prefix.js';
4
+ defineElement('ebook-viewer', LyraEbookViewer);
5
+ //# sourceMappingURL=ebook-viewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ebook-viewer.js","sourceRoot":"","sources":["../../../src/components/ebook-viewer/ebook-viewer.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,aAAa,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const styles: import("lit").CSSResult;
2
+ //# sourceMappingURL=ebook-viewer.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ebook-viewer.styles.d.ts","sourceRoot":"","sources":["../../../src/components/ebook-viewer/ebook-viewer.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAsElB,CAAC"}
@@ -0,0 +1,73 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `
3
+ :host {
4
+ display: block;
5
+ }
6
+ [part='base'] {
7
+ display: flex;
8
+ flex-direction: column;
9
+ gap: var(--lyra-space-s);
10
+ box-sizing: border-box;
11
+ overflow: hidden;
12
+ border: var(--lyra-border-width-thin) solid var(--lyra-color-border);
13
+ border-radius: var(--lyra-radius);
14
+ background: var(--lyra-color-surface);
15
+ }
16
+ [part='toolbar'] {
17
+ display: flex;
18
+ align-items: center;
19
+ justify-content: space-between;
20
+ gap: var(--lyra-space-s);
21
+ padding: var(--lyra-space-s) var(--lyra-space-m);
22
+ border-block-end: var(--lyra-border-width-thin) solid var(--lyra-color-border);
23
+ }
24
+ [part='previous-button'],
25
+ [part='next-button'] {
26
+ display: inline-flex;
27
+ align-items: center;
28
+ justify-content: center;
29
+ inline-size: var(--lyra-size-2rem);
30
+ block-size: var(--lyra-size-2rem);
31
+ padding: 0;
32
+ border: var(--lyra-border-width-thin) solid var(--lyra-color-border);
33
+ border-radius: var(--lyra-radius);
34
+ background: var(--lyra-color-surface);
35
+ color: var(--lyra-color-text);
36
+ cursor: pointer;
37
+ }
38
+ [part='previous-button']:disabled,
39
+ [part='next-button']:disabled {
40
+ cursor: not-allowed;
41
+ opacity: var(--lyra-opacity-disabled);
42
+ }
43
+ [part='previous-button']:focus-visible,
44
+ [part='next-button']:focus-visible {
45
+ outline: var(--lyra-focus-ring-width) solid var(--lyra-focus-ring-color);
46
+ outline-offset: var(--lyra-focus-ring-offset);
47
+ }
48
+ [part='previous-icon'],
49
+ [part='next-icon'] {
50
+ display: inline-flex;
51
+ }
52
+ [part='previous-icon'] { transform: rotate(180deg); }
53
+ :host(:dir(rtl)) [part='previous-icon'] { transform: rotate(0deg); }
54
+ :host(:dir(rtl)) [part='next-icon'] { transform: rotate(180deg); }
55
+ [part='mount'] {
56
+ flex: 1 1 auto;
57
+ min-block-size: var(--lyra-size-10rem);
58
+ overflow: hidden;
59
+ }
60
+ [part='mount'] iframe {
61
+ display: block;
62
+ border: none;
63
+ }
64
+ .status-note,
65
+ [part='error'] {
66
+ margin: 0;
67
+ padding: var(--lyra-space-l);
68
+ text-align: center;
69
+ }
70
+ .status-note { color: var(--lyra-color-text-quiet); }
71
+ [part='error'] { color: var(--lyra-color-danger); }
72
+ `;
73
+ //# sourceMappingURL=ebook-viewer.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ebook-viewer.styles.js","sourceRoot":"","sources":["../../../src/components/ebook-viewer/ebook-viewer.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsExB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const MINIMAL_EPUB_BASE64 = "UEsDBAoAAAAAAPSa71xvYassFAAAABQAAAAIAAAAbWltZXR5cGVhcHBsaWNhdGlvbi9lcHViK3ppcFBLAwQKAAAAAAD0mu9cAAAAAAAAAAAAAAAACQAAAE1FVEEtSU5GL1BLAwQKAAAAAAD0mu9cCG1ScO8AAADvAAAAFgAAAE1FVEEtSU5GL2NvbnRhaW5lci54bWw8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgo8Y29udGFpbmVyIHZlcnNpb249IjEuMCIgeG1sbnM9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6Y29udGFpbmVyIj48cm9vdGZpbGVzPjxyb290ZmlsZSBmdWxsLXBhdGg9Ik9FQlBTL2NvbnRlbnQub3BmIiBtZWRpYS10eXBlPSJhcHBsaWNhdGlvbi9vZWJwcy1wYWNrYWdlK3htbCIvPjwvcm9vdGZpbGVzPjwvY29udGFpbmVyPlBLAwQKAAAAAAD0mu9cAAAAAAAAAAAAAAAABgAAAE9FQlBTL1BLAwQKAAAAAAD0mu9cEtCDUjQCAAA0AgAAEQAAAE9FQlBTL2NvbnRlbnQub3BmPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHBhY2thZ2UgeG1sbnM9Imh0dHA6Ly93d3cuaWRwZi5vcmcvMjAwNy9vcGYiIHZlcnNpb249IjMuMCIgdW5pcXVlLWlkZW50aWZpZXI9InB1Yi1pZCI+PG1ldGFkYXRhIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+PGRjOmlkZW50aWZpZXIgaWQ9InB1Yi1pZCI+dXJuOnV1aWQ6bHlyYS11aS1maXh0dXJlPC9kYzppZGVudGlmaWVyPjxkYzp0aXRsZT5MeXJhIFVJIFRlc3QgRml4dHVyZTwvZGM6dGl0bGU+PGRjOmxhbmd1YWdlPmVuPC9kYzpsYW5ndWFnZT48L21ldGFkYXRhPjxtYW5pZmVzdD48aXRlbSBpZD0ibmF2IiBocmVmPSJuYXYueGh0bWwiIG1lZGlhLXR5cGU9ImFwcGxpY2F0aW9uL3hodG1sK3htbCIgcHJvcGVydGllcz0ibmF2Ii8+PGl0ZW0gaWQ9ImNoYXB0ZXIxIiBocmVmPSJjaGFwdGVyMS54aHRtbCIgbWVkaWEtdHlwZT0iYXBwbGljYXRpb24veGh0bWwreG1sIi8+PC9tYW5pZmVzdD48c3BpbmU+PGl0ZW1yZWYgaWRyZWY9ImNoYXB0ZXIxIi8+PC9zcGluZT48L3BhY2thZ2U+UEsDBAoAAAAAAPSa71yURsK3CAEAAAgBAAAPAAAAT0VCUFMvbmF2LnhodG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sbnM6ZXB1Yj0iaHR0cDovL3d3dy5pZHBmLm9yZy8yMDA3L29wcyI+PGhlYWQ+PHRpdGxlPk5hdmlnYXRpb248L3RpdGxlPjwvaGVhZD48Ym9keT48bmF2IGVwdWI6dHlwZT0idG9jIj48b2w+PGxpPjxhIGhyZWY9ImNoYXB0ZXIxLnhodG1sIj5DaGFwdGVyIDE8L2E+PC9saT48L29sPjwvbmF2PjwvYm9keT48L2h0bWw+UEsDBAoAAAAAAPSa71xdgTg6ywAAAMsAAAAUAAAAT0VCUFMvY2hhcHRlcjEueGh0bWw8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48dGl0bGU+Q2hhcHRlciAxPC90aXRsZT48L2hlYWQ+PGJvZHk+PGgxPkNoYXB0ZXIgMTwvaDE+PHA+VGhpcyBpcyBhIHRpbnkgRVBVQiBmaXh0dXJlIGZvciBMeXJhIFVJLjwvcD48L2JvZHk+PC9odG1sPlBLAQIUAAoAAAAAAPSa71xvYassFAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAAABtaW1ldHlwZVBLAQIUAAoAAAAAAPSa71wAAAAAAAAAAAAAAAAJAAAAAAAAAAAAEAAAADoAAABNRVRBLUlORi9QSwECFAAKAAAAAAD0mu9cCG1ScO8AAADvAAAAFgAAAAAAAAAAAAAAAABhAAAATUVUQS1JTkYvY29udGFpbmVyLnhtbFBLAQIUAAoAAAAAAPSa71wAAAAAAAAAAAAAAAAGAAAAAAAAAAAAEAAAAIQBAABPRUJQUy9QSwECFAAKAAAAAAD0mu9cEtCDUjQCAAA0AgAAEQAAAAAAAAAAAAAAAACoAQAAT0VCUFMvY29udGVudC5vcGZQSwECFAAKAAAAAAD0mu9clEbCtwgBAAAIAQAADwAAAAAAAAAAAAAAAAALBAAAT0VCUFMvbmF2LnhodG1sUEsBAhQACgAAAAAA9JrvXF2BODrLAAAAywAAABQAAAAAAAAAAAAAAAAAQAUAAE9FQlBTL2NoYXB0ZXIxLnhodG1sUEsFBgAAAAAHAAcAowEAAD0GAAAAAA==";
2
+ //# sourceMappingURL=minimal-epub-fixture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minimal-epub-fixture.d.ts","sourceRoot":"","sources":["../../../../src/components/ebook-viewer/fixtures/minimal-epub-fixture.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,qqFAAqqF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export const MINIMAL_EPUB_BASE64 = 'UEsDBAoAAAAAAPSa71xvYassFAAAABQAAAAIAAAAbWltZXR5cGVhcHBsaWNhdGlvbi9lcHViK3ppcFBLAwQKAAAAAAD0mu9cAAAAAAAAAAAAAAAACQAAAE1FVEEtSU5GL1BLAwQKAAAAAAD0mu9cCG1ScO8AAADvAAAAFgAAAE1FVEEtSU5GL2NvbnRhaW5lci54bWw8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgo8Y29udGFpbmVyIHZlcnNpb249IjEuMCIgeG1sbnM9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6Y29udGFpbmVyIj48cm9vdGZpbGVzPjxyb290ZmlsZSBmdWxsLXBhdGg9Ik9FQlBTL2NvbnRlbnQub3BmIiBtZWRpYS10eXBlPSJhcHBsaWNhdGlvbi9vZWJwcy1wYWNrYWdlK3htbCIvPjwvcm9vdGZpbGVzPjwvY29udGFpbmVyPlBLAwQKAAAAAAD0mu9cAAAAAAAAAAAAAAAABgAAAE9FQlBTL1BLAwQKAAAAAAD0mu9cEtCDUjQCAAA0AgAAEQAAAE9FQlBTL2NvbnRlbnQub3BmPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHBhY2thZ2UgeG1sbnM9Imh0dHA6Ly93d3cuaWRwZi5vcmcvMjAwNy9vcGYiIHZlcnNpb249IjMuMCIgdW5pcXVlLWlkZW50aWZpZXI9InB1Yi1pZCI+PG1ldGFkYXRhIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+PGRjOmlkZW50aWZpZXIgaWQ9InB1Yi1pZCI+dXJuOnV1aWQ6bHlyYS11aS1maXh0dXJlPC9kYzppZGVudGlmaWVyPjxkYzp0aXRsZT5MeXJhIFVJIFRlc3QgRml4dHVyZTwvZGM6dGl0bGU+PGRjOmxhbmd1YWdlPmVuPC9kYzpsYW5ndWFnZT48L21ldGFkYXRhPjxtYW5pZmVzdD48aXRlbSBpZD0ibmF2IiBocmVmPSJuYXYueGh0bWwiIG1lZGlhLXR5cGU9ImFwcGxpY2F0aW9uL3hodG1sK3htbCIgcHJvcGVydGllcz0ibmF2Ii8+PGl0ZW0gaWQ9ImNoYXB0ZXIxIiBocmVmPSJjaGFwdGVyMS54aHRtbCIgbWVkaWEtdHlwZT0iYXBwbGljYXRpb24veGh0bWwreG1sIi8+PC9tYW5pZmVzdD48c3BpbmU+PGl0ZW1yZWYgaWRyZWY9ImNoYXB0ZXIxIi8+PC9zcGluZT48L3BhY2thZ2U+UEsDBAoAAAAAAPSa71yURsK3CAEAAAgBAAAPAAAAT0VCUFMvbmF2LnhodG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sbnM6ZXB1Yj0iaHR0cDovL3d3dy5pZHBmLm9yZy8yMDA3L29wcyI+PGhlYWQ+PHRpdGxlPk5hdmlnYXRpb248L3RpdGxlPjwvaGVhZD48Ym9keT48bmF2IGVwdWI6dHlwZT0idG9jIj48b2w+PGxpPjxhIGhyZWY9ImNoYXB0ZXIxLnhodG1sIj5DaGFwdGVyIDE8L2E+PC9saT48L29sPjwvbmF2PjwvYm9keT48L2h0bWw+UEsDBAoAAAAAAPSa71xdgTg6ywAAAMsAAAAUAAAAT0VCUFMvY2hhcHRlcjEueGh0bWw8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48dGl0bGU+Q2hhcHRlciAxPC90aXRsZT48L2hlYWQ+PGJvZHk+PGgxPkNoYXB0ZXIgMTwvaDE+PHA+VGhpcyBpcyBhIHRpbnkgRVBVQiBmaXh0dXJlIGZvciBMeXJhIFVJLjwvcD48L2JvZHk+PC9odG1sPlBLAQIUAAoAAAAAAPSa71xvYassFAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAAABtaW1ldHlwZVBLAQIUAAoAAAAAAPSa71wAAAAAAAAAAAAAAAAJAAAAAAAAAAAAEAAAADoAAABNRVRBLUlORi9QSwECFAAKAAAAAAD0mu9cCG1ScO8AAADvAAAAFgAAAAAAAAAAAAAAAABhAAAATUVUQS1JTkYvY29udGFpbmVyLnhtbFBLAQIUAAoAAAAAAPSa71wAAAAAAAAAAAAAAAAGAAAAAAAAAAAAEAAAAIQBAABPRUJQUy9QSwECFAAKAAAAAAD0mu9cEtCDUjQCAAA0AgAAEQAAAAAAAAAAAAAAAACoAQAAT0VCUFMvY29udGVudC5vcGZQSwECFAAKAAAAAAD0mu9clEbCtwgBAAAIAQAADwAAAAAAAAAAAAAAAAALBAAAT0VCUFMvbmF2LnhodG1sUEsBAhQACgAAAAAA9JrvXF2BODrLAAAAywAAABQAAAAAAAAAAAAAAAAAQAUAAE9FQlBTL2NoYXB0ZXIxLnhodG1sUEsFBgAAAAAHAAcAowEAAD0GAAAAAA==';
2
+ //# sourceMappingURL=minimal-epub-fixture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minimal-epub-fixture.js","sourceRoot":"","sources":["../../../../src/components/ebook-viewer/fixtures/minimal-epub-fixture.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,kqFAAkqF,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { OptionalPeerApi } from '../../internal/optional-peer-types.js';
2
+ export interface EmailDeps {
3
+ PostalMime: OptionalPeerApi | undefined;
4
+ DOMPurify: OptionalPeerApi | undefined;
5
+ }
6
+ export declare function loadEmailAndSanitizer(importPostalMime?: () => Promise<OptionalPeerApi>, importDompurify?: () => Promise<OptionalPeerApi>): Promise<EmailDeps>;
7
+ export declare function loadEmailDeps(): Promise<EmailDeps>;
8
+ export declare function getEmailDepsIfLoaded(): EmailDeps | undefined;
9
+ export declare function clearEmailDepsCache(): void;
10
+ //# sourceMappingURL=email-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-loader.d.ts","sourceRoot":"","sources":["../../../src/components/email-viewer/email-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAE7E,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,eAAe,GAAG,SAAS,CAAC;IACxC,SAAS,EAAE,eAAe,GAAG,SAAS,CAAC;CACxC;AAKD,wBAAsB,qBAAqB,CACzC,gBAAgB,GAAE,MAAM,OAAO,CAAC,eAAe,CAA2D,EAC1G,eAAe,GAAE,MAAM,OAAO,CAAC,eAAe,CAAyD,GACtG,OAAO,CAAC,SAAS,CAAC,CAuBpB;AAED,wBAAgB,aAAa,IAAI,OAAO,CAAC,SAAS,CAAC,CAQlD;AAED,wBAAgB,oBAAoB,IAAI,SAAS,GAAG,SAAS,CAE5D;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C"}
@@ -0,0 +1,38 @@
1
+ let depsPromise;
2
+ let resolvedDeps;
3
+ export async function loadEmailAndSanitizer(importPostalMime = () => import('postal-mime'), importDompurify = () => import('dompurify')) {
4
+ let PostalMime;
5
+ try {
6
+ const module = await importPostalMime();
7
+ PostalMime = module.default ?? module;
8
+ }
9
+ catch (error) {
10
+ console.warn('<lyra-email-viewer> needs the optional peer dependency `postal-mime` to parse .eml messages — install it with `pnpm add postal-mime`:', error);
11
+ }
12
+ let DOMPurify;
13
+ try {
14
+ const module = await importDompurify();
15
+ DOMPurify = module.default ?? module;
16
+ }
17
+ catch (error) {
18
+ console.warn('<lyra-email-viewer> needs the optional peer dependency `dompurify` to sanitize HTML message bodies — install it with `pnpm add dompurify`:', error);
19
+ }
20
+ return { PostalMime, DOMPurify };
21
+ }
22
+ export function loadEmailDeps() {
23
+ if (!depsPromise) {
24
+ depsPromise = loadEmailAndSanitizer().then((result) => {
25
+ resolvedDeps = result;
26
+ return result;
27
+ });
28
+ }
29
+ return depsPromise;
30
+ }
31
+ export function getEmailDepsIfLoaded() {
32
+ return resolvedDeps;
33
+ }
34
+ export function clearEmailDepsCache() {
35
+ depsPromise = undefined;
36
+ resolvedDeps = undefined;
37
+ }
38
+ //# sourceMappingURL=email-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-loader.js","sourceRoot":"","sources":["../../../src/components/email-viewer/email-loader.ts"],"names":[],"mappings":"AAOA,IAAI,WAA2C,CAAC;AAChD,IAAI,YAAmC,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,gBAAgB,GAAmC,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAA6B,EAC1G,eAAe,GAAmC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAA6B;IAEvG,IAAI,UAAuC,CAAC;IAC5C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACxC,UAAU,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CACV,uIAAuI,EACvI,KAAK,CACN,CAAC;IACJ,CAAC;IAED,IAAI,SAAsC,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;QACvC,SAAS,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CACV,4IAA4I,EAC5I,KAAK,CACN,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,WAAW,GAAG,qBAAqB,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACpD,YAAY,GAAG,MAAM,CAAC;YACtB,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,WAAW,GAAG,SAAS,CAAC;IACxB,YAAY,GAAG,SAAS,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,72 @@
1
+ import { type PropertyValues, type TemplateResult } from 'lit';
2
+ import { LyraElement } from '../../internal/lyra-element.js';
3
+ export interface ParsedEmailAttachment {
4
+ filename: string;
5
+ mimeType: string;
6
+ size: number;
7
+ }
8
+ export interface ParsedEmail {
9
+ from: string;
10
+ to: string;
11
+ subject: string;
12
+ date: string;
13
+ bodyHtml: string | null;
14
+ bodyText: string | null;
15
+ attachments: ParsedEmailAttachment[];
16
+ }
17
+ export interface LyraEmailViewerEventMap {
18
+ 'lyra-render-error': CustomEvent<{
19
+ error: unknown;
20
+ }>;
21
+ }
22
+ /**
23
+ * Parses `.eml` messages with the optional `postal-mime` peer and renders
24
+ * their HTML body only after DOMPurify sanitization. Plain-text messages remain
25
+ * useful without DOMPurify; attachments are listed as metadata, never opened.
26
+ *
27
+ * @customElement lyra-email-viewer
28
+ * @event lyra-render-error - Fired when fetching or parsing the message fails.
29
+ * @csspart base - The root container.
30
+ * @csspart headers - Message metadata.
31
+ * @csspart from-label - The localized sender label.
32
+ * @csspart from - The sender address.
33
+ * @csspart to-label - The localized recipient label.
34
+ * @csspart to - The recipient addresses.
35
+ * @csspart subject-label - The localized subject label.
36
+ * @csspart subject - The message subject.
37
+ * @csspart date-label - The localized date label.
38
+ * @csspart date - The message date.
39
+ * @csspart body - The scrollable message body.
40
+ * @csspart body-html - The sanitized HTML body.
41
+ * @csspart body-text - The plain-text body.
42
+ * @csspart attachments - The attachment region.
43
+ * @csspart attachments-label - The localized attachment heading.
44
+ * @csspart attachment-list - The attachment list.
45
+ * @csspart attachment-item - An attachment metadata item.
46
+ * @csspart error - The error region.
47
+ * @csspart spinner - The loading region.
48
+ */
49
+ export declare class LyraEmailViewer extends LyraElement<LyraEmailViewerEventMap> {
50
+ static styles: import("lit").CSSResultGroup[];
51
+ /** URL to fetch and parse as an RFC 822 message. */
52
+ src: string;
53
+ /** Display name associated with the message. */
54
+ name: string;
55
+ /** CSS length that caps the scrollable body. */
56
+ maxHeight: string;
57
+ private fetchState;
58
+ private generation;
59
+ protected willUpdate(changed: PropertyValues): void;
60
+ private load;
61
+ private parse;
62
+ private renderHeaders;
63
+ private renderAttachments;
64
+ private renderBody;
65
+ render(): TemplateResult;
66
+ }
67
+ declare global {
68
+ interface HTMLElementTagNameMap {
69
+ 'lyra-email-viewer': LyraEmailViewer;
70
+ }
71
+ }
72
+ //# sourceMappingURL=email-viewer.class.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-viewer.class.d.ts","sourceRoot":"","sources":["../../../src/components/email-viewer/email-viewer.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAI9E,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAM7D,MAAM,WAAW,qBAAqB;IAAG,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;CAAE;AAC5F,MAAM,WAAW,WAAW;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,EAAE,qBAAqB,EAAE,CAAC;CAAE;AAGjL,MAAM,WAAW,uBAAuB;IAAG,mBAAmB,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAAE;AAWlG;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,eAAgB,SAAQ,WAAW,CAAC,uBAAuB,CAAC;IACvE,MAAM,CAAC,MAAM,iCAAwC;IACrD,oDAAoD;IACxC,GAAG,SAAM;IACrB,gDAAgD;IACpC,IAAI,SAAM;IACtB,gDAAgD;IACT,SAAS,SAAM;IAC7C,OAAO,CAAC,UAAU,CAAqC;IAChE,OAAO,CAAC,UAAU,CAAK;IAEvB,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAkE;YAEvG,IAAI;YAkBJ,KAAK;IAqBnB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,UAAU;IASlB,MAAM,IAAI,cAAc,CAAqJ;CAC9K;AAED,OAAO,CAAC,MAAM,CAAC;IAAE,UAAU,qBAAqB;QAAG,mBAAmB,EAAE,eAAe,CAAC;KAAE;CAAE"}
@@ -0,0 +1,154 @@
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 { srOnly } from '../../internal/a11y.js';
11
+ import { LyraElement } from '../../internal/lyra-element.js';
12
+ import { safeFetchUrl } from '../../internal/safe-url.js';
13
+ import { formatFileSize } from '../attachment-chip/attachment-chip.class.js';
14
+ import { loadEmailDeps } from './email-loader.js';
15
+ import { styles } from './email-viewer.styles.js';
16
+ function formatAddress(value) {
17
+ if (!value)
18
+ return '';
19
+ if (value.group)
20
+ return value.group.map(formatAddress).filter(Boolean).join(', ');
21
+ if (value.name && value.address)
22
+ return `${value.name} <${value.address}>`;
23
+ return value.address ?? value.name ?? '';
24
+ }
25
+ function formatAddresses(values) { return (values ?? []).map(formatAddress).filter(Boolean).join(', '); }
26
+ /**
27
+ * Parses `.eml` messages with the optional `postal-mime` peer and renders
28
+ * their HTML body only after DOMPurify sanitization. Plain-text messages remain
29
+ * useful without DOMPurify; attachments are listed as metadata, never opened.
30
+ *
31
+ * @customElement lyra-email-viewer
32
+ * @event lyra-render-error - Fired when fetching or parsing the message fails.
33
+ * @csspart base - The root container.
34
+ * @csspart headers - Message metadata.
35
+ * @csspart from-label - The localized sender label.
36
+ * @csspart from - The sender address.
37
+ * @csspart to-label - The localized recipient label.
38
+ * @csspart to - The recipient addresses.
39
+ * @csspart subject-label - The localized subject label.
40
+ * @csspart subject - The message subject.
41
+ * @csspart date-label - The localized date label.
42
+ * @csspart date - The message date.
43
+ * @csspart body - The scrollable message body.
44
+ * @csspart body-html - The sanitized HTML body.
45
+ * @csspart body-text - The plain-text body.
46
+ * @csspart attachments - The attachment region.
47
+ * @csspart attachments-label - The localized attachment heading.
48
+ * @csspart attachment-list - The attachment list.
49
+ * @csspart attachment-item - An attachment metadata item.
50
+ * @csspart error - The error region.
51
+ * @csspart spinner - The loading region.
52
+ */
53
+ export class LyraEmailViewer extends LyraElement {
54
+ constructor() {
55
+ super(...arguments);
56
+ /** URL to fetch and parse as an RFC 822 message. */
57
+ this.src = '';
58
+ /** Display name associated with the message. */
59
+ this.name = '';
60
+ /** CSS length that caps the scrollable body. */
61
+ this.maxHeight = '';
62
+ this.fetchState = { kind: 'idle' };
63
+ this.generation = 0;
64
+ }
65
+ static { this.styles = [LyraElement.styles, styles, srOnly]; }
66
+ willUpdate(changed) { if (!this.hasUpdated || changed.has('src'))
67
+ void this.load(); }
68
+ async load() {
69
+ const generation = ++this.generation;
70
+ if (!this.src) {
71
+ this.fetchState = { kind: 'idle' };
72
+ return;
73
+ }
74
+ const url = safeFetchUrl(this.src);
75
+ if (!url) {
76
+ this.fetchState = { kind: 'error', message: this.localize('documentPreviewUrlNotAllowed') };
77
+ return;
78
+ }
79
+ this.fetchState = { kind: 'loading' };
80
+ try {
81
+ const response = await fetch(url);
82
+ if (!response.ok)
83
+ throw new Error(`${response.status} ${response.statusText}`);
84
+ const email = await this.parse(await response.arrayBuffer());
85
+ if (generation === this.generation)
86
+ this.fetchState = { kind: 'loaded', email };
87
+ }
88
+ catch (error) {
89
+ if (generation !== this.generation)
90
+ return;
91
+ this.fetchState = { kind: 'error', message: error instanceof Error ? error.message : this.localize('documentPreviewFailedToLoad') };
92
+ this.emit('lyra-render-error', { error });
93
+ }
94
+ }
95
+ async parse(buffer) {
96
+ const { PostalMime, DOMPurify } = await loadEmailDeps();
97
+ if (!PostalMime)
98
+ throw new Error(this.localize('emailViewerMissingParser'));
99
+ const parsed = await PostalMime.parse(buffer);
100
+ const bodyHtml = parsed.html && DOMPurify ? DOMPurify.sanitize(parsed.html) : null;
101
+ const content = parsed.attachments ?? [];
102
+ return {
103
+ from: formatAddress(parsed.from),
104
+ to: formatAddresses(parsed.to),
105
+ subject: parsed.subject ?? '',
106
+ date: parsed.date ?? '',
107
+ bodyHtml,
108
+ bodyText: bodyHtml ? null : (parsed.text ?? null),
109
+ attachments: content.map((attachment) => ({
110
+ filename: attachment.filename || this.localize('documentPreviewGenericFile'),
111
+ mimeType: attachment.mimeType ?? '',
112
+ size: attachment.content instanceof ArrayBuffer || attachment.content instanceof Uint8Array ? attachment.content.byteLength : attachment.content.length,
113
+ })),
114
+ };
115
+ }
116
+ renderHeaders(email) {
117
+ return html `<div part="headers">
118
+ <span part="from-label">${this.localize('emailViewerFrom')}</span><span part="from">${email.from}</span>
119
+ <span part="to-label">${this.localize('emailViewerTo')}</span><span part="to">${email.to}</span>
120
+ <span part="subject-label">${this.localize('emailViewerSubject')}</span><span part="subject">${email.subject || this.localize('emailViewerNoSubject')}</span>
121
+ <span part="date-label">${this.localize('emailViewerDate')}</span><span part="date">${email.date}</span>
122
+ </div>`;
123
+ }
124
+ renderAttachments(attachments) {
125
+ if (!attachments.length)
126
+ return nothing;
127
+ return html `<div part="attachments"><span part="attachments-label">${this.localize('emailViewerAttachments')}</span><ul part="attachment-list">
128
+ ${attachments.map((attachment) => html `<li part="attachment-item"><span>${attachment.filename}</span><span>${formatFileSize(attachment.size)}</span></li>`)}
129
+ </ul></div>`;
130
+ }
131
+ renderBody() {
132
+ switch (this.fetchState.kind) {
133
+ case 'loaded': return html `${this.renderHeaders(this.fetchState.email)}<div part="body">${this.fetchState.email.bodyHtml !== null ? html `<div part="body-html">${unsafeHTML(this.fetchState.email.bodyHtml)}</div>` : html `<pre part="body-text">${this.fetchState.email.bodyText ?? ''}</pre>`}</div>${this.renderAttachments(this.fetchState.email.attachments)}`;
134
+ case 'loading': return html `<div part="spinner" role="status"><span class="sr-only">${this.localize('loadingDocument')}</span></div>`;
135
+ case 'error': return html `<div part="error" role="alert">${this.fetchState.message}</div>`;
136
+ case 'idle':
137
+ default: return html `<p class="empty-note">${this.localize('documentPreviewEmpty', undefined, { type: this.localize('documentPreviewTypeEmail') })}</p>`;
138
+ }
139
+ }
140
+ render() { return html `<div part="base" style=${this.maxHeight ? `--lyra-email-viewer-max-height:${this.maxHeight}` : nothing}>${this.renderBody()}</div>`; }
141
+ }
142
+ __decorate([
143
+ property()
144
+ ], LyraEmailViewer.prototype, "src", void 0);
145
+ __decorate([
146
+ property()
147
+ ], LyraEmailViewer.prototype, "name", void 0);
148
+ __decorate([
149
+ property({ attribute: 'max-height' })
150
+ ], LyraEmailViewer.prototype, "maxHeight", void 0);
151
+ __decorate([
152
+ state()
153
+ ], LyraEmailViewer.prototype, "fetchState", void 0);
154
+ //# sourceMappingURL=email-viewer.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-viewer.class.js","sourceRoot":"","sources":["../../../src/components/email-viewer/email-viewer.class.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './email-loader.js';
2
+ export * from './email-viewer.class.js';
3
+ //# sourceMappingURL=email-viewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-viewer.d.ts","sourceRoot":"","sources":["../../../src/components/email-viewer/email-viewer.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,12 @@
1
+ export * from './email-loader.js';
2
+ export * from './email-viewer.class.js';
3
+ import { html } from 'lit';
4
+ import { defineElement } from '../../internal/prefix.js';
5
+ import { registerDocumentRenderer } from '../document-viewer/registry.js';
6
+ import { LyraEmailViewer } from './email-viewer.class.js';
7
+ defineElement('email-viewer', LyraEmailViewer);
8
+ registerDocumentRenderer('message/rfc822', {
9
+ matches: (file) => file.name.toLowerCase().endsWith('.eml'),
10
+ render: (file) => html `<lyra-email-viewer src=${file.src} name=${file.name}></lyra-email-viewer>`,
11
+ });
12
+ //# sourceMappingURL=email-viewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-viewer.js","sourceRoot":"","sources":["../../../src/components/email-viewer/email-viewer.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAqB,MAAM,gCAAgC,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,aAAa,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;AAE/C,wBAAwB,CAAC,gBAAgB,EAAE;IACzC,OAAO,EAAE,CAAC,IAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;IACzE,MAAM,EAAE,CAAC,IAAkB,EAAE,EAAE,CAAC,IAAI,CAAA,0BAA0B,IAAI,CAAC,GAAG,SAAS,IAAI,CAAC,IAAI,uBAAuB;CAChH,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const styles: import("lit").CSSResult;
2
+ //# sourceMappingURL=email-viewer.styles.d.ts.map