@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,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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-viewer.styles.d.ts","sourceRoot":"","sources":["../../../src/components/email-viewer/email-viewer.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAgClB,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `
3
+ :host { display: block; --lyra-email-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='headers'] {
14
+ display: grid;
15
+ grid-template-columns: auto minmax(0, 1fr);
16
+ gap: var(--lyra-space-2xs) var(--lyra-space-s);
17
+ padding: var(--lyra-space-m);
18
+ border-block-end: var(--lyra-border-width-thin) solid var(--lyra-color-border);
19
+ font-size: var(--lyra-font-size-md-sm);
20
+ }
21
+ [part$='-label'] { color: var(--lyra-color-text-quiet); font-weight: var(--lyra-font-weight-semibold); text-align: end; }
22
+ [part='subject'] { font-weight: var(--lyra-font-weight-semibold); overflow-wrap: anywhere; }
23
+ [part='body'] { box-sizing: border-box; overflow: auto; max-block-size: var(--lyra-email-viewer-max-height); padding: var(--lyra-space-m); }
24
+ [part='body-html'], [part='body-text'] { color: var(--lyra-color-text); font-size: var(--lyra-font-size-md-sm); line-height: var(--lyra-line-height-normal); }
25
+ [part='body-html'] { overflow-wrap: anywhere; }
26
+ [part='body-text'] { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
27
+ [part='attachments'] { padding: var(--lyra-space-m); border-block-start: var(--lyra-border-width-thin) solid var(--lyra-color-border); }
28
+ [part='attachments-label'] { display: block; margin-block-end: var(--lyra-space-xs); color: var(--lyra-color-text-quiet); font-weight: var(--lyra-font-weight-semibold); font-size: var(--lyra-font-size-xs); text-transform: uppercase; }
29
+ [part='attachment-list'] { display: flex; flex-direction: column; gap: var(--lyra-space-2xs); margin: 0; padding: 0; list-style: none; }
30
+ [part='attachment-item'] { display: flex; justify-content: space-between; gap: var(--lyra-space-s); padding: var(--lyra-space-xs) var(--lyra-space-s); border-radius: var(--lyra-radius); background: var(--lyra-color-brand-quiet); font-size: var(--lyra-font-size-sm); }
31
+ .empty-note { margin: 0; padding: var(--lyra-space-m); color: var(--lyra-color-text-quiet); font-size: var(--lyra-font-size-md-sm); }
32
+ [part='error'] { margin: 0; padding: var(--lyra-space-l); color: var(--lyra-color-danger); font-size: var(--lyra-font-size-md-sm); text-align: center; }
33
+ [part='spinner'] { display: flex; justify-content: center; padding: var(--lyra-space-l); }
34
+ `;
35
+ //# sourceMappingURL=email-viewer.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-viewer.styles.js","sourceRoot":"","sources":["../../../src/components/email-viewer/email-viewer.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCxB,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { type TemplateResult } from 'lit';
2
+ import { LyraElement } from '../../internal/lyra-element.js';
3
+ export type LyraFileIconVariant = 'icon' | 'label';
4
+ /**
5
+ * Displays a localized, tokenized file-type badge from a MIME type.
6
+ *
7
+ * @customElement lyra-file-icon
8
+ * @csspart base - The outer presentation wrapper.
9
+ * @csspart icon - The format badge.
10
+ * @csspart label - The localized format label in `variant="label"` mode.
11
+ */
12
+ export declare class LyraFileIcon extends LyraElement {
13
+ static styles: import("lit").CSSResultGroup[];
14
+ /** MIME type used to resolve metadata. */
15
+ mimeType: string;
16
+ /** Optional filename used for fallback detection with an empty or generic MIME type. */
17
+ name: string;
18
+ /** Whether the badge is decorative and hidden from assistive technology. */
19
+ decorative: boolean;
20
+ /** Shows only the icon or the icon together with its localized label. */
21
+ variant: LyraFileIconVariant;
22
+ /** Optional visible/accessibility label override. */
23
+ label: string;
24
+ render(): TemplateResult;
25
+ }
26
+ declare global {
27
+ interface HTMLElementTagNameMap {
28
+ 'lyra-file-icon': LyraFileIcon;
29
+ }
30
+ }
31
+ //# sourceMappingURL=file-icon.class.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-icon.class.d.ts","sourceRoot":"","sources":["../../../src/components/file-icon/file-icon.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAmB7D,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEnD;;;;;;;GAOG;AACH,qBAAa,YAAa,SAAQ,WAAW;IAC3C,MAAM,CAAC,MAAM,iCAAgC;IAE7C,0CAA0C;IACJ,QAAQ,SAAM;IACpD,wFAAwF;IAC5E,IAAI,SAAM;IACtB,4EAA4E;IAChC,UAAU,UAAS;IAC/D,yEAAyE;IAC5C,OAAO,EAAE,mBAAmB,CAAU;IACnE,qDAAqD;IACzC,KAAK,SAAM;IAEvB,MAAM,IAAI,cAAc,CASvB;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAAG,gBAAgB,EAAE,YAAY,CAAC;KAAE;CACpE"}
@@ -0,0 +1,74 @@
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 } from 'lit/decorators.js';
9
+ import { LyraElement } from '../../internal/lyra-element.js';
10
+ import { getFileTypeMetadata } from './file-type-metadata.js';
11
+ import { styles } from './file-icon.styles.js';
12
+ const ICON_LABELS = {
13
+ file: 'fileTypeFile',
14
+ pdf: 'fileTypePdf',
15
+ word: 'fileTypeWord',
16
+ spreadsheet: 'fileTypeSpreadsheet',
17
+ presentation: 'fileTypePresentation',
18
+ text: 'fileTypeText',
19
+ code: 'fileTypeCode',
20
+ archive: 'fileTypeArchive',
21
+ image: 'fileTypeImage',
22
+ audio: 'fileTypeAudio',
23
+ video: 'fileTypeVideo',
24
+ };
25
+ /**
26
+ * Displays a localized, tokenized file-type badge from a MIME type.
27
+ *
28
+ * @customElement lyra-file-icon
29
+ * @csspart base - The outer presentation wrapper.
30
+ * @csspart icon - The format badge.
31
+ * @csspart label - The localized format label in `variant="label"` mode.
32
+ */
33
+ export class LyraFileIcon extends LyraElement {
34
+ constructor() {
35
+ super(...arguments);
36
+ /** MIME type used to resolve metadata. */
37
+ this.mimeType = '';
38
+ /** Optional filename used for fallback detection with an empty or generic MIME type. */
39
+ this.name = '';
40
+ /** Whether the badge is decorative and hidden from assistive technology. */
41
+ this.decorative = false;
42
+ /** Shows only the icon or the icon together with its localized label. */
43
+ this.variant = 'icon';
44
+ /** Optional visible/accessibility label override. */
45
+ this.label = '';
46
+ }
47
+ static { this.styles = [LyraElement.styles, styles]; }
48
+ render() {
49
+ const metadata = getFileTypeMetadata(this.mimeType, this.name);
50
+ const localizedLabel = this.label || this.localize(ICON_LABELS[metadata.icon]);
51
+ return html `
52
+ <span part="base" role=${this.decorative ? 'presentation' : 'img'} aria-label=${this.decorative ? nothing : localizedLabel}>
53
+ <span part="icon" aria-hidden="true">${this.localize(ICON_LABELS[metadata.icon])}</span>
54
+ ${this.variant === 'label' ? html `<span part="label">${localizedLabel}</span>` : nothing}
55
+ </span>
56
+ `;
57
+ }
58
+ }
59
+ __decorate([
60
+ property({ attribute: 'mime-type' })
61
+ ], LyraFileIcon.prototype, "mimeType", void 0);
62
+ __decorate([
63
+ property()
64
+ ], LyraFileIcon.prototype, "name", void 0);
65
+ __decorate([
66
+ property({ type: Boolean, reflect: true })
67
+ ], LyraFileIcon.prototype, "decorative", void 0);
68
+ __decorate([
69
+ property({ reflect: true })
70
+ ], LyraFileIcon.prototype, "variant", void 0);
71
+ __decorate([
72
+ property()
73
+ ], LyraFileIcon.prototype, "label", void 0);
74
+ //# sourceMappingURL=file-icon.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-icon.class.js","sourceRoot":"","sources":["../../../src/components/file-icon/file-icon.class.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAuB,MAAM,KAAK,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,OAAO,EAAE,mBAAmB,EAAyB,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,WAAW,GAA6C;IAC5D,IAAI,EAAE,cAAc;IACpB,GAAG,EAAE,aAAa;IAClB,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,qBAAqB;IAClC,YAAY,EAAE,sBAAsB;IACpC,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,iBAAiB;IAC1B,KAAK,EAAE,eAAe;IACtB,KAAK,EAAE,eAAe;IACtB,KAAK,EAAE,eAAe;CACvB,CAAC;AAIF;;;;;;;GAOG;AACH,MAAM,OAAO,YAAa,SAAQ,WAAW;IAA7C;;QAGE,0CAA0C;QACJ,aAAQ,GAAG,EAAE,CAAC;QACpD,wFAAwF;QAC5E,SAAI,GAAG,EAAE,CAAC;QACtB,4EAA4E;QAChC,eAAU,GAAG,KAAK,CAAC;QAC/D,yEAAyE;QAC5C,YAAO,GAAwB,MAAM,CAAC;QACnE,qDAAqD;QACzC,UAAK,GAAG,EAAE,CAAC;IAYzB,CAAC;aAvBQ,WAAM,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,AAA/B,CAAgC;IAa7C,MAAM;QACJ,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAA;+BACgB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,eAAe,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc;+CACjF,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;UAC9E,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA,sBAAsB,cAAc,SAAS,CAAC,CAAC,CAAC,OAAO;;KAE3F,CAAC;IACJ,CAAC;CACF;AApBuC;IAArC,QAAQ,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;8CAAe;AAExC;IAAX,QAAQ,EAAE;0CAAW;AAEsB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gDAAoB;AAElC;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;6CAAuC;AAEvD;IAAX,QAAQ,EAAE;2CAAY"}
@@ -0,0 +1,3 @@
1
+ export * from './file-icon.class.js';
2
+ export * from './file-type-metadata.js';
3
+ //# sourceMappingURL=file-icon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-icon.d.ts","sourceRoot":"","sources":["../../../src/components/file-icon/file-icon.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './file-icon.class.js';
2
+ export * from './file-type-metadata.js';
3
+ import { LyraFileIcon } from './file-icon.class.js';
4
+ import { defineElement } from '../../internal/prefix.js';
5
+ defineElement('file-icon', LyraFileIcon);
6
+ //# sourceMappingURL=file-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-icon.js","sourceRoot":"","sources":["../../../src/components/file-icon/file-icon.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,aAAa,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const styles: import("lit").CSSResult;
2
+ //# sourceMappingURL=file-icon.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-icon.styles.d.ts","sourceRoot":"","sources":["../../../src/components/file-icon/file-icon.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAoBlB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `
3
+ :host { display: inline-flex; vertical-align: middle; }
4
+ [part='base'] { display: inline-flex; align-items: center; gap: var(--lyra-space-xs); min-inline-size: 0; }
5
+ [part='icon'] {
6
+ display: inline-flex;
7
+ align-items: center;
8
+ justify-content: center;
9
+ inline-size: var(--lyra-file-icon-size, var(--lyra-size-2rem));
10
+ block-size: var(--lyra-file-icon-size, var(--lyra-size-2rem));
11
+ box-sizing: border-box;
12
+ border: var(--lyra-border-width-thin) solid var(--lyra-color-border);
13
+ border-radius: var(--lyra-radius);
14
+ background: var(--lyra-color-brand-quiet);
15
+ color: var(--lyra-color-brand);
16
+ font-size: var(--lyra-font-size-xs);
17
+ font-weight: var(--lyra-font-weight-bold);
18
+ line-height: var(--lyra-line-height-none);
19
+ text-transform: uppercase;
20
+ }
21
+ [part='label'] { min-inline-size: 0; color: var(--lyra-color-text); }
22
+ `;
23
+ //# sourceMappingURL=file-icon.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-icon.styles.js","sourceRoot":"","sources":["../../../src/components/file-icon/file-icon.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;CAoBxB,CAAC"}
@@ -0,0 +1,14 @@
1
+ export type LyraFileTypeIcon = 'file' | 'pdf' | 'word' | 'spreadsheet' | 'presentation' | 'text' | 'code' | 'archive' | 'image' | 'audio' | 'video';
2
+ export type LyraFileTypeCategory = 'document' | 'spreadsheet' | 'presentation' | 'image' | 'audio' | 'video' | 'archive' | 'code' | 'generic';
3
+ export type LyraFileTypeMetadata = {
4
+ label: string;
5
+ description?: string;
6
+ icon: LyraFileTypeIcon;
7
+ category: LyraFileTypeCategory;
8
+ extensions?: readonly string[];
9
+ };
10
+ /** Adds or replaces a custom MIME mapping used by future metadata lookups. */
11
+ export declare function registerFileTypeMetadata(mimeTypes: string | readonly string[], metadata: LyraFileTypeMetadata): void;
12
+ /** Returns presentation metadata for a MIME type, with a safe generic fallback. */
13
+ export declare function getFileTypeMetadata(mimeType: string, fileName?: string): LyraFileTypeMetadata;
14
+ //# sourceMappingURL=file-type-metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-type-metadata.d.ts","sourceRoot":"","sources":["../../../src/components/file-icon/file-type-metadata.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,KAAK,GACL,MAAM,GACN,aAAa,GACb,cAAc,GACd,MAAM,GACN,MAAM,GACN,SAAS,GACT,OAAO,GACP,OAAO,GACP,OAAO,CAAC;AAEZ,MAAM,MAAM,oBAAoB,GAC5B,UAAU,GACV,aAAa,GACb,cAAc,GACd,OAAO,GACP,OAAO,GACP,OAAO,GACP,SAAS,GACT,MAAM,GACN,SAAS,CAAC;AAEd,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC,CAAC;AA2DF,8EAA8E;AAC9E,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EACrC,QAAQ,EAAE,oBAAoB,GAC7B,IAAI,CAaN;AAED,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,SAAK,GAAG,oBAAoB,CAUzF"}
@@ -0,0 +1,81 @@
1
+ const generic = { label: 'File', icon: 'file', category: 'generic' };
2
+ const catalog = {
3
+ 'application/pdf': { label: 'PDF', icon: 'pdf', category: 'document', extensions: ['.pdf'] },
4
+ 'application/vnd.openxmlformats-officedocument.wordprocessingml.document': { label: 'Word document', icon: 'word', category: 'document', extensions: ['.docx'] },
5
+ 'application/msword': { label: 'Word document', icon: 'word', category: 'document', extensions: ['.doc'] },
6
+ 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': { label: 'Excel spreadsheet', icon: 'spreadsheet', category: 'spreadsheet', extensions: ['.xlsx'] },
7
+ 'application/vnd.ms-excel': { label: 'Excel spreadsheet', icon: 'spreadsheet', category: 'spreadsheet', extensions: ['.xls'] },
8
+ 'application/vnd.openxmlformats-officedocument.presentationml.presentation': { label: 'PowerPoint presentation', icon: 'presentation', category: 'presentation', extensions: ['.pptx'] },
9
+ 'application/vnd.ms-powerpoint': { label: 'PowerPoint presentation', icon: 'presentation', category: 'presentation', extensions: ['.ppt'] },
10
+ 'application/vnd.oasis.opendocument.text': { label: 'OpenDocument text', icon: 'word', category: 'document', extensions: ['.odt'] },
11
+ 'application/vnd.oasis.opendocument.spreadsheet': { label: 'OpenDocument spreadsheet', icon: 'spreadsheet', category: 'spreadsheet', extensions: ['.ods'] },
12
+ 'application/vnd.oasis.opendocument.presentation': { label: 'OpenDocument presentation', icon: 'presentation', category: 'presentation', extensions: ['.odp'] },
13
+ 'application/rtf': { label: 'Rich text document', icon: 'word', category: 'document', extensions: ['.rtf'] },
14
+ 'application/epub+zip': { label: 'EPUB ebook', icon: 'word', category: 'document', extensions: ['.epub'] },
15
+ 'application/x-mobipocket-ebook': { label: 'MOBI ebook', icon: 'word', category: 'document', extensions: ['.mobi'] },
16
+ 'text/plain': { label: 'Plain text', icon: 'text', category: 'document', extensions: ['.txt'] },
17
+ 'text/csv': { label: 'CSV spreadsheet', icon: 'spreadsheet', category: 'spreadsheet', extensions: ['.csv'] },
18
+ 'text/markdown': { label: 'Markdown', icon: 'code', category: 'code', extensions: ['.md', '.markdown'] },
19
+ 'text/html': { label: 'HTML document', icon: 'code', category: 'code', extensions: ['.html', '.htm'] },
20
+ 'text/xml': { label: 'XML document', icon: 'code', category: 'code', extensions: ['.xml'] },
21
+ 'application/xml': { label: 'XML document', icon: 'code', category: 'code', extensions: ['.xml'] },
22
+ 'application/json': { label: 'JSON data', icon: 'code', category: 'code', extensions: ['.json'] },
23
+ 'application/yaml': { label: 'YAML data', icon: 'code', category: 'code', extensions: ['.yaml', '.yml'] },
24
+ 'text/yaml': { label: 'YAML data', icon: 'code', category: 'code', extensions: ['.yaml', '.yml'] },
25
+ 'application/zip': { label: 'ZIP archive', icon: 'archive', category: 'archive', extensions: ['.zip'] },
26
+ 'application/x-zip-compressed': { label: 'ZIP archive', icon: 'archive', category: 'archive', extensions: ['.zip'] },
27
+ 'application/gzip': { label: 'GZip archive', icon: 'archive', category: 'archive', extensions: ['.gz', '.gzip'] },
28
+ 'application/x-gzip': { label: 'GZip archive', icon: 'archive', category: 'archive', extensions: ['.gz', '.gzip'] },
29
+ 'application/x-tar': { label: 'TAR archive', icon: 'archive', category: 'archive', extensions: ['.tar'] },
30
+ 'application/x-7z-compressed': { label: '7-Zip archive', icon: 'archive', category: 'archive', extensions: ['.7z'] },
31
+ 'application/vnd.rar': { label: 'RAR archive', icon: 'archive', category: 'archive', extensions: ['.rar'] },
32
+ 'image/jpeg': { label: 'JPEG image', icon: 'image', category: 'image', extensions: ['.jpg', '.jpeg'] },
33
+ 'image/png': { label: 'PNG image', icon: 'image', category: 'image', extensions: ['.png'] },
34
+ 'image/gif': { label: 'GIF image', icon: 'image', category: 'image', extensions: ['.gif'] },
35
+ 'image/webp': { label: 'WebP image', icon: 'image', category: 'image', extensions: ['.webp'] },
36
+ 'image/svg+xml': { label: 'SVG image', icon: 'image', category: 'image', extensions: ['.svg'] },
37
+ 'image/tiff': { label: 'TIFF image', icon: 'image', category: 'image', extensions: ['.tif', '.tiff'] },
38
+ 'image/bmp': { label: 'BMP image', icon: 'image', category: 'image', extensions: ['.bmp'] },
39
+ 'image/heic': { label: 'HEIC image', icon: 'image', category: 'image', extensions: ['.heic'] },
40
+ 'audio/mpeg': { label: 'MPEG audio', icon: 'audio', category: 'audio', extensions: ['.mp3', '.mpeg'] },
41
+ 'audio/mp3': { label: 'MP3 audio', icon: 'audio', category: 'audio', extensions: ['.mp3'] },
42
+ 'audio/wav': { label: 'WAV audio', icon: 'audio', category: 'audio', extensions: ['.wav'] },
43
+ 'audio/x-wav': { label: 'WAV audio', icon: 'audio', category: 'audio', extensions: ['.wav'] },
44
+ 'video/mp4': { label: 'MP4 video', icon: 'video', category: 'video', extensions: ['.mp4'] },
45
+ 'video/webm': { label: 'WebM video', icon: 'video', category: 'video', extensions: ['.webm'] },
46
+ };
47
+ const extensionCatalog = new Map();
48
+ for (const metadata of Object.values(catalog)) {
49
+ for (const extension of metadata.extensions ?? [])
50
+ extensionCatalog.set(extension, metadata);
51
+ }
52
+ function normalizeMimeType(value) {
53
+ return value.trim().toLowerCase().split(';', 1)[0];
54
+ }
55
+ /** Adds or replaces a custom MIME mapping used by future metadata lookups. */
56
+ export function registerFileTypeMetadata(mimeTypes, metadata) {
57
+ for (const mimeType of typeof mimeTypes === 'string' ? [mimeTypes] : mimeTypes) {
58
+ catalog[normalizeMimeType(mimeType)] = metadata;
59
+ }
60
+ for (const extension of metadata.extensions ?? []) {
61
+ const normalizedExtension = extension.trim().toLowerCase();
62
+ if (normalizedExtension) {
63
+ extensionCatalog.set(normalizedExtension.startsWith('.') ? normalizedExtension : `.${normalizedExtension}`, metadata);
64
+ }
65
+ }
66
+ }
67
+ /** Returns presentation metadata for a MIME type, with a safe generic fallback. */
68
+ export function getFileTypeMetadata(mimeType, fileName = '') {
69
+ const normalized = normalizeMimeType(mimeType);
70
+ const explicit = normalized && normalized !== 'application/octet-stream' ? catalog[normalized] : undefined;
71
+ if (explicit)
72
+ return { ...explicit };
73
+ if (!normalized || normalized === 'application/octet-stream') {
74
+ const match = /(?:^|\.)((?:[a-z0-9]+))$/i.exec(fileName.trim().toLowerCase());
75
+ const byExtension = match ? extensionCatalog.get(`.${match[1]}`) : undefined;
76
+ if (byExtension)
77
+ return { ...byExtension };
78
+ }
79
+ return { ...generic };
80
+ }
81
+ //# sourceMappingURL=file-type-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-type-metadata.js","sourceRoot":"","sources":["../../../src/components/file-icon/file-type-metadata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { OptionalPeerApi } from '../../internal/optional-peer-types.js';
2
+ export declare function loadHtmlSanitizerDeps(importDompurify?: () => Promise<{
3
+ default: OptionalPeerApi;
4
+ }>): Promise<OptionalPeerApi | null>;
5
+ export declare function loadHtmlSanitizer(): Promise<OptionalPeerApi | null>;
6
+ export declare function clearHtmlSanitizerCache(): void;
7
+ //# sourceMappingURL=dompurify-loader.d.ts.map