@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,5 @@
1
+ import type { OptionalPeerApi } from '../../internal/optional-peer-types.js';
2
+ export declare function loadIcalDeps(importIcal?: () => Promise<OptionalPeerApi>): Promise<OptionalPeerApi | null>;
3
+ export declare function loadIcal(): Promise<OptionalPeerApi | null>;
4
+ export declare function clearIcalCache(): void;
5
+ //# sourceMappingURL=calendar-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-loader.d.ts","sourceRoot":"","sources":["../../../src/components/calendar-viewer/calendar-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAI7E,wBAAsB,YAAY,CAChC,UAAU,GAAE,MAAM,OAAO,CAAC,eAAe,CAAuD,GAC/F,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAWjC;AAED,wBAAgB,QAAQ,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAG1D;AAED,wBAAgB,cAAc,IAAI,IAAI,CAAwB"}
@@ -0,0 +1,18 @@
1
+ let cached;
2
+ export async function loadIcalDeps(importIcal = () => import('ical.js')) {
3
+ try {
4
+ const module = await importIcal();
5
+ return module.default ?? module;
6
+ }
7
+ catch (error) {
8
+ console.warn('<lyra-calendar-viewer> needs the optional peer dependency `ical.js` to parse .ics calendars — install it with `pnpm add ical.js`:', error);
9
+ return null;
10
+ }
11
+ }
12
+ export function loadIcal() {
13
+ if (!cached)
14
+ cached = loadIcalDeps();
15
+ return cached;
16
+ }
17
+ export function clearIcalCache() { cached = undefined; }
18
+ //# sourceMappingURL=calendar-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-loader.js","sourceRoot":"","sources":["../../../src/components/calendar-viewer/calendar-loader.ts"],"names":[],"mappings":"AAEA,IAAI,MAAmD,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAU,GAAmC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAA6B;IAEhG,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CACV,mIAAmI,EACnI,KAAK,CACN,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,YAAY,EAAE,CAAC;IACrC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,cAAc,KAAW,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC"}
@@ -0,0 +1,55 @@
1
+ import { type PropertyValues, type TemplateResult } from 'lit';
2
+ import { LyraElement } from '../../internal/lyra-element.js';
3
+ export interface ParsedCalendarEvent {
4
+ uid: string;
5
+ summary: string;
6
+ start: Date | null;
7
+ end: Date | null;
8
+ location: string;
9
+ description: string;
10
+ }
11
+ export interface LyraCalendarViewerEventMap {
12
+ 'lyra-render-error': CustomEvent<{
13
+ error: unknown;
14
+ }>;
15
+ }
16
+ /**
17
+ * Parses `.ics` calendars with the optional `ical.js` peer and renders each
18
+ * VEVENT as plain text, preserving summaries, times, locations, and details.
19
+ *
20
+ * @customElement lyra-calendar-viewer
21
+ * @event lyra-render-error - Fired when fetching or parsing the calendar fails.
22
+ * @csspart base - The root container.
23
+ * @csspart body - The scrollable calendar body.
24
+ * @csspart event-list - The event list.
25
+ * @csspart event - One calendar event.
26
+ * @csspart event-summary - The event title.
27
+ * @csspart event-time - The formatted event time.
28
+ * @csspart event-location - The event location.
29
+ * @csspart event-description - The event description.
30
+ * @csspart error - The error region.
31
+ * @csspart spinner - The loading region.
32
+ */
33
+ export declare class LyraCalendarViewer extends LyraElement<LyraCalendarViewerEventMap> {
34
+ static styles: import("lit").CSSResultGroup[];
35
+ /** URL to fetch and parse as an iCalendar document. */
36
+ src: string;
37
+ /** Display name associated with the calendar. */
38
+ name: string;
39
+ /** CSS length that caps the scrollable event body. */
40
+ maxHeight: string;
41
+ private fetchState;
42
+ private generation;
43
+ protected willUpdate(changed: PropertyValues): void;
44
+ private load;
45
+ private parse;
46
+ private renderEvent;
47
+ private renderBody;
48
+ render(): TemplateResult;
49
+ }
50
+ declare global {
51
+ interface HTMLElementTagNameMap {
52
+ 'lyra-calendar-viewer': LyraCalendarViewer;
53
+ }
54
+ }
55
+ //# sourceMappingURL=calendar-viewer.class.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-viewer.class.d.ts","sourceRoot":"","sources":["../../../src/components/calendar-viewer/calendar-viewer.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG9E,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAK7D,MAAM,WAAW,mBAAmB;IAAG,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;CAAE;AAEnJ,MAAM,WAAW,0BAA0B;IAAG,mBAAmB,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAAE;AAQrG;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,0BAA0B,CAAC;IAC7E,MAAM,CAAC,MAAM,iCAAwC;IACrD,uDAAuD;IAC3C,GAAG,SAAM;IACrB,iDAAiD;IACrC,IAAI,SAAM;IACtB,sDAAsD;IACf,SAAS,SAAM;IAC7C,OAAO,CAAC,UAAU,CAAwC;IACnE,OAAO,CAAC,UAAU,CAAK;IAEvB,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAkE;YAEvG,IAAI;YAkBJ,KAAK;IAiBnB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,UAAU;IASlB,MAAM,IAAI,cAAc,CAA+K;CACxM;AAED,OAAO,CAAC,MAAM,CAAC;IAAE,UAAU,qBAAqB;QAAG,sBAAsB,EAAE,kBAAkB,CAAC;KAAE;CAAE"}
@@ -0,0 +1,123 @@
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 { srOnly } from '../../internal/a11y.js';
10
+ import { LyraElement } from '../../internal/lyra-element.js';
11
+ import { safeFetchUrl } from '../../internal/safe-url.js';
12
+ import { loadIcal } from './calendar-loader.js';
13
+ import { styles } from './calendar-viewer.styles.js';
14
+ function formatEventTime(start, end) {
15
+ if (!start)
16
+ return '';
17
+ const formatter = new Intl.DateTimeFormat(undefined, { dateStyle: 'medium', timeStyle: 'short' });
18
+ return end ? `${formatter.format(start)} – ${formatter.format(end)}` : formatter.format(start);
19
+ }
20
+ /**
21
+ * Parses `.ics` calendars with the optional `ical.js` peer and renders each
22
+ * VEVENT as plain text, preserving summaries, times, locations, and details.
23
+ *
24
+ * @customElement lyra-calendar-viewer
25
+ * @event lyra-render-error - Fired when fetching or parsing the calendar fails.
26
+ * @csspart base - The root container.
27
+ * @csspart body - The scrollable calendar body.
28
+ * @csspart event-list - The event list.
29
+ * @csspart event - One calendar event.
30
+ * @csspart event-summary - The event title.
31
+ * @csspart event-time - The formatted event time.
32
+ * @csspart event-location - The event location.
33
+ * @csspart event-description - The event description.
34
+ * @csspart error - The error region.
35
+ * @csspart spinner - The loading region.
36
+ */
37
+ export class LyraCalendarViewer extends LyraElement {
38
+ constructor() {
39
+ super(...arguments);
40
+ /** URL to fetch and parse as an iCalendar document. */
41
+ this.src = '';
42
+ /** Display name associated with the calendar. */
43
+ this.name = '';
44
+ /** CSS length that caps the scrollable event body. */
45
+ this.maxHeight = '';
46
+ this.fetchState = { kind: 'idle' };
47
+ this.generation = 0;
48
+ }
49
+ static { this.styles = [LyraElement.styles, styles, srOnly]; }
50
+ willUpdate(changed) { if (!this.hasUpdated || changed.has('src'))
51
+ void this.load(); }
52
+ async load() {
53
+ const generation = ++this.generation;
54
+ if (!this.src) {
55
+ this.fetchState = { kind: 'idle' };
56
+ return;
57
+ }
58
+ const url = safeFetchUrl(this.src);
59
+ if (!url) {
60
+ this.fetchState = { kind: 'error', message: this.localize('documentPreviewUrlNotAllowed') };
61
+ return;
62
+ }
63
+ this.fetchState = { kind: 'loading' };
64
+ try {
65
+ const response = await fetch(url);
66
+ if (!response.ok)
67
+ throw new Error(`${response.status} ${response.statusText}`);
68
+ const events = await this.parse(await response.text());
69
+ if (generation === this.generation)
70
+ this.fetchState = { kind: 'loaded', events };
71
+ }
72
+ catch (error) {
73
+ if (generation !== this.generation)
74
+ return;
75
+ this.fetchState = { kind: 'error', message: error instanceof Error ? error.message : this.localize('documentPreviewFailedToLoad') };
76
+ this.emit('lyra-render-error', { error });
77
+ }
78
+ }
79
+ async parse(source) {
80
+ const ical = await loadIcal();
81
+ if (!ical)
82
+ throw new Error(this.localize('calendarViewerMissingParser'));
83
+ const component = new ical.Component(ical.parse(source));
84
+ const events = component.getAllSubcomponents('vevent').map((subcomponent) => {
85
+ const event = new ical.Event(subcomponent);
86
+ return {
87
+ uid: event.uid ?? '', summary: event.summary ?? '',
88
+ start: event.startDate ? event.startDate.toJSDate() : null,
89
+ end: event.endDate ? event.endDate.toJSDate() : null,
90
+ location: event.location ?? '', description: event.description ?? '',
91
+ };
92
+ });
93
+ if (!events.length)
94
+ throw new Error(this.localize('calendarViewerEmpty'));
95
+ return events;
96
+ }
97
+ renderEvent(event) {
98
+ return html `<li part="event"><span part="event-summary">${event.summary || this.localize('calendarViewerNoSummary')}</span><span part="event-time">${formatEventTime(event.start, event.end)}</span>${event.location ? html `<span part="event-location">${event.location}</span>` : nothing}${event.description ? html `<p part="event-description">${event.description}</p>` : nothing}</li>`;
99
+ }
100
+ renderBody() {
101
+ switch (this.fetchState.kind) {
102
+ case 'loaded': return html `<ul part="event-list">${this.fetchState.events.map((event) => this.renderEvent(event))}</ul>`;
103
+ case 'loading': return html `<div part="spinner" role="status"><span class="sr-only">${this.localize('loadingDocument')}</span></div>`;
104
+ case 'error': return html `<div part="error" role="alert">${this.fetchState.message}</div>`;
105
+ case 'idle':
106
+ default: return html `<p class="empty-note">${this.localize('documentPreviewEmpty', undefined, { type: this.localize('documentPreviewTypeCalendar') })}</p>`;
107
+ }
108
+ }
109
+ render() { return html `<div part="base" style=${this.maxHeight ? `--lyra-calendar-viewer-max-height:${this.maxHeight}` : nothing}><div part="body">${this.renderBody()}</div></div>`; }
110
+ }
111
+ __decorate([
112
+ property()
113
+ ], LyraCalendarViewer.prototype, "src", void 0);
114
+ __decorate([
115
+ property()
116
+ ], LyraCalendarViewer.prototype, "name", void 0);
117
+ __decorate([
118
+ property({ attribute: 'max-height' })
119
+ ], LyraCalendarViewer.prototype, "maxHeight", void 0);
120
+ __decorate([
121
+ state()
122
+ ], LyraCalendarViewer.prototype, "fetchState", void 0);
123
+ //# sourceMappingURL=calendar-viewer.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-viewer.class.js","sourceRoot":"","sources":["../../../src/components/calendar-viewer/calendar-viewer.class.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './calendar-loader.js';
2
+ export * from './calendar-viewer.class.js';
3
+ //# sourceMappingURL=calendar-viewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-viewer.d.ts","sourceRoot":"","sources":["../../../src/components/calendar-viewer/calendar-viewer.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC"}
@@ -0,0 +1,12 @@
1
+ export * from './calendar-loader.js';
2
+ export * from './calendar-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 { LyraCalendarViewer } from './calendar-viewer.class.js';
7
+ defineElement('calendar-viewer', LyraCalendarViewer);
8
+ registerDocumentRenderer('text/calendar', {
9
+ matches: (file) => file.name.toLowerCase().endsWith('.ics'),
10
+ render: (file) => html `<lyra-calendar-viewer src=${file.src} name=${file.name}></lyra-calendar-viewer>`,
11
+ });
12
+ //# sourceMappingURL=calendar-viewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-viewer.js","sourceRoot":"","sources":["../../../src/components/calendar-viewer/calendar-viewer.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,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,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,aAAa,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;AACrD,wBAAwB,CAAC,eAAe,EAAE;IACxC,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,6BAA6B,IAAI,CAAC,GAAG,SAAS,IAAI,CAAC,IAAI,0BAA0B;CACtH,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const styles: import("lit").CSSResult;
2
+ //# sourceMappingURL=calendar-viewer.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-viewer.styles.d.ts","sourceRoot":"","sources":["../../../src/components/calendar-viewer/calendar-viewer.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAalB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `
3
+ :host { display: block; --lyra-calendar-viewer-max-height: none; }
4
+ [part='base'] { display: flex; flex-direction: column; box-sizing: border-box; border: var(--lyra-border-width-thin) solid var(--lyra-color-border); border-radius: var(--lyra-radius); background: var(--lyra-color-surface); overflow: hidden; }
5
+ [part='body'] { box-sizing: border-box; max-block-size: var(--lyra-calendar-viewer-max-height); overflow: auto; }
6
+ [part='event-list'] { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
7
+ [part='event'] { display: flex; flex-direction: column; gap: var(--lyra-space-2xs); padding: var(--lyra-space-m); border-block-end: var(--lyra-border-width-thin) solid var(--lyra-color-border); }
8
+ [part='event']:last-child { border-block-end: none; }
9
+ [part='event-summary'] { font-weight: var(--lyra-font-weight-semibold); font-size: var(--lyra-font-size-md); }
10
+ [part='event-time'], [part='event-location'] { color: var(--lyra-color-text-quiet); font-size: var(--lyra-font-size-sm); }
11
+ [part='event-description'] { margin: 0; color: var(--lyra-color-text); font-size: var(--lyra-font-size-md-sm); line-height: var(--lyra-line-height-normal); white-space: pre-wrap; overflow-wrap: anywhere; }
12
+ .empty-note { margin: 0; padding: var(--lyra-space-m); color: var(--lyra-color-text-quiet); font-size: var(--lyra-font-size-md-sm); }
13
+ [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; }
14
+ [part='spinner'] { display: flex; justify-content: center; padding: var(--lyra-space-l); }
15
+ `;
16
+ //# sourceMappingURL=calendar-viewer.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-viewer.styles.js","sourceRoot":"","sources":["../../../src/components/calendar-viewer/calendar-viewer.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;CAaxB,CAAC"}
@@ -87,6 +87,8 @@ export declare class LyraCodeBlockCore extends LyraElement<LyraCodeBlockCoreEven
87
87
  /** A CSS length (e.g. `"20rem"`); once set, the code scrolls internally
88
88
  * past this height instead of growing the page. */
89
89
  maxHeight: string;
90
+ /** Whether to display one-based line numbers beside the code. */
91
+ lineNumbers: boolean;
90
92
  /** Grammar definitions this instance can highlight, e.g. `{ json: jsonGrammar }` (import from
91
93
  * `shiki/langs/<name>.mjs`). This component has no default/full-table fallback highlighter --
92
94
  * a `language` absent from this map always renders the plain-text fallback. Empty (the
@@ -106,6 +108,7 @@ export declare class LyraCodeBlockCore extends LyraElement<LyraCodeBlockCoreEven
106
108
  protected updated(): void;
107
109
  private syncHighlight;
108
110
  private tokenize;
111
+ private renderPlainCode;
109
112
  private writeClipboard;
110
113
  private copy;
111
114
  private toggleCollapsed;
@@ -1 +1 @@
1
- {"version":3,"file":"code-block-core.class.d.ts","sourceRoot":"","sources":["../../../src/components/code-block/code-block-core.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG9E,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAI7D,OAAO,EAAqE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG9H,OAAO,+BAA+B,CAAC;AA4BvC,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3C,aAAa,EAAE,WAAW,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACpD;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,qBAAa,iBAAkB,SAAQ,WAAW,CAAC,yBAAyB,CAAC;IAC3E,MAAM,CAAC,MAAM,iCAAgC;IAE7C,2BAA2B;IACf,IAAI,SAAM;IAEtB;;;2EAGuE;IAC3D,QAAQ,SAAM;IAE1B,oDAAoD;IACxC,QAAQ,SAAM;IAE1B;;uCAEmC;IACI,eAAe,SAAM;IAE5D,oEAAoE;IACxB,WAAW,UAAS;IAEhE;4CACwC;IACI,SAAS,UAAS;IAE9D,sDAAsD;IACV,QAAQ,UAAQ;IAE5D;wDACoD;IACb,SAAS,SAAM;IAEtD;;;4CAGwC;IACR,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAM;IAO1E,OAAO,CAAC,eAAe,CAAuB;IAK9C,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,UAAU,CAAS;IAEpC,OAAO,CAAC,WAAW,CAAC,CAA8B;IAKlD,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO,CAAC,aAAa,CAAC,CAAgC;IAEtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IAEpD,iBAAiB,IAAI,IAAI,CAQxB;IAED,oBAAoB,IAAI,IAAI,CAG3B;IAKD,OAAO,CAAC,kBAAkB;IAS1B,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAKlD;IAED,SAAS,CAAC,OAAO,IAAI,IAAI,CAIxB;IAED,OAAO,CAAC,aAAa;IA0CrB,OAAO,CAAC,QAAQ;IAoBhB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,IAAI,CAQV;IAEF,OAAO,CAAC,eAAe,CAGrB;IAEF,OAAO,CAAC,YAAY;IA4CpB,MAAM,IAAI,cAAc,CA2BvB;CACF;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,sBAAsB,EAAE,iBAAiB,CAAC;KAC3C;CACF"}
1
+ {"version":3,"file":"code-block-core.class.d.ts","sourceRoot":"","sources":["../../../src/components/code-block/code-block-core.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG9E,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAI7D,OAAO,EAKL,KAAK,kBAAkB,EACxB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,+BAA+B,CAAC;AAsCvC,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3C,aAAa,EAAE,WAAW,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACpD;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,qBAAa,iBAAkB,SAAQ,WAAW,CAAC,yBAAyB,CAAC;IAC3E,MAAM,CAAC,MAAM,iCAAgC;IAE7C,2BAA2B;IACf,IAAI,SAAM;IAEtB;;;2EAGuE;IAC3D,QAAQ,SAAM;IAE1B,oDAAoD;IACxC,QAAQ,SAAM;IAE1B;;uCAEmC;IACI,eAAe,SAAM;IAE5D,oEAAoE;IACxB,WAAW,UAAS;IAEhE;4CACwC;IACI,SAAS,UAAS;IAE9D,sDAAsD;IACV,QAAQ,UAAQ;IAE5D;wDACoD;IACb,SAAS,SAAM;IAEtD,iEAAiE;IACM,WAAW,UAAS;IAE3F;;;4CAGwC;IACR,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAM;IAO1E,OAAO,CAAC,eAAe,CAAuB;IAK9C,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,UAAU,CAAS;IAEpC,OAAO,CAAC,WAAW,CAAC,CAA8B;IAKlD,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO,CAAC,aAAa,CAAC,CAAgC;IAEtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IAEpD,iBAAiB,IAAI,IAAI,CAQxB;IAED,oBAAoB,IAAI,IAAI,CAG3B;IAKD,OAAO,CAAC,kBAAkB;IAU1B,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAKlD;IAED,SAAS,CAAC,OAAO,IAAI,IAAI,CAIxB;IAED,OAAO,CAAC,aAAa;IA0CrB,OAAO,CAAC,QAAQ;IAoBhB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,IAAI,CAQV;IAEF,OAAO,CAAC,eAAe,CAGrB;IAEF,OAAO,CAAC,YAAY;IA4CpB,MAAM,IAAI,cAAc,CA2BvB;CACF;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,sBAAsB,EAAE,iBAAiB,CAAC;KAC3C;CACF"}
@@ -10,7 +10,7 @@ import { unsafeHTML } from 'lit/directives/unsafe-html.js';
10
10
  import { LyraElement } from '../../internal/lyra-element.js';
11
11
  import { nextId } from '../../internal/a11y.js';
12
12
  import { chevronIcon } from '../../internal/icons.js';
13
- import { loadShikiHighlighterCore, SHIKI_THEMES } from './code-loader.js';
13
+ import { loadShikiHighlighterCore, normalizeShikiLanguage, SHIKI_THEMES, } from './code-loader.js';
14
14
  import { styles } from './code-block.styles.js';
15
15
  import { codeBlockToggleLabel, codeBlockCopyLabel, codeBlockBodyLabel } from './code-block-shared.js';
16
16
  import '../skeleton/skeleton.class.js';
@@ -28,16 +28,26 @@ const COPY_CONFIRM_MS = 1500;
28
28
  * tabindex in place would add a second, redundant tab stop over the same
29
29
  * scrollable content.
30
30
  */
31
- const partTransformer = {
32
- name: 'lyra-code-block-parts',
33
- pre(node) {
34
- node.properties.part = ['pre'];
35
- delete node.properties.tabindex;
36
- },
37
- code(node) {
38
- node.properties.part = ['code'];
39
- },
40
- };
31
+ function partTransformer(lineNumbers) {
32
+ return {
33
+ name: 'lyra-code-block-parts',
34
+ pre(node) {
35
+ node.properties.part = ['pre'];
36
+ if (lineNumbers) {
37
+ const classes = Array.isArray(node.properties.class)
38
+ ? node.properties.class
39
+ : node.properties.class
40
+ ? [node.properties.class]
41
+ : [];
42
+ node.properties.class = [...classes, 'line-numbers'];
43
+ }
44
+ delete node.properties.tabindex;
45
+ },
46
+ code(node) {
47
+ node.properties.part = ['code'];
48
+ },
49
+ };
50
+ }
41
51
  /**
42
52
  * `<lyra-code-block-core>` — a build-lean variant of `<lyra-code-block>` for
43
53
  * a consumer whose `languages` map already covers every language it will
@@ -116,6 +126,8 @@ export class LyraCodeBlockCore extends LyraElement {
116
126
  /** A CSS length (e.g. `"20rem"`); once set, the code scrolls internally
117
127
  * past this height instead of growing the page. */
118
128
  this.maxHeight = '';
129
+ /** Whether to display one-based line numbers beside the code. */
130
+ this.lineNumbers = false;
119
131
  /** Grammar definitions this instance can highlight, e.g. `{ json: jsonGrammar }` (import from
120
132
  * `shiki/langs/<name>.mjs`). This component has no default/full-table fallback highlighter --
121
133
  * a `language` absent from this map always renders the plain-text fallback. Empty (the
@@ -170,7 +182,8 @@ export class LyraCodeBlockCore extends LyraElement {
170
182
  // `willUpdate()`/`updated()`/`render()`/`syncHighlight()` so they all agree
171
183
  // on whether this language is highlightable at all.
172
184
  preSuppliedGrammar() {
173
- return this.languages?.[this.language];
185
+ const language = normalizeShikiLanguage(this.language);
186
+ return this.languages?.[language] ?? this.languages?.[this.language];
174
187
  }
175
188
  // Mutating `highlightedHtml` here (rather than in `updated()`) absorbs the
176
189
  // synchronous case -- language already loaded, see `syncHighlight()` --
@@ -199,13 +212,13 @@ export class LyraCodeBlockCore extends LyraElement {
199
212
  // after a newer call has already rendered correct synchronous output,
200
213
  // and overwrite it with stale tokenization.
201
214
  const token = ++this.highlightToken;
202
- const lang = this.language;
215
+ const lang = normalizeShikiLanguage(this.language);
203
216
  if (!lang) {
204
217
  this.highlightedHtml = null;
205
218
  return;
206
219
  }
207
220
  const languages = this.languages;
208
- if (!languages?.[lang]) {
221
+ if (!languages?.[lang] && !languages?.[this.language]) {
209
222
  // Not in the supplied languages map -- there is no default
210
223
  // highlighter to fall back to in this variant, so this always
211
224
  // renders the plain-text fallback, unlike <lyra-code-block>'s
@@ -242,7 +255,7 @@ export class LyraCodeBlockCore extends LyraElement {
242
255
  // a --lyra-* token. See the dark-mode override in
243
256
  // code-block.styles.ts for how the dark half of this activates.
244
257
  themes: SHIKI_THEMES,
245
- transformers: [partTransformer],
258
+ transformers: [partTransformer(this.lineNumbers)],
246
259
  });
247
260
  }
248
261
  catch {
@@ -251,6 +264,15 @@ export class LyraCodeBlockCore extends LyraElement {
251
264
  return null;
252
265
  }
253
266
  }
267
+ renderPlainCode() {
268
+ if (!this.lineNumbers)
269
+ return html `<code part="code">${this.code}</code>`;
270
+ return html `
271
+ <code part="code" class="line-numbered-code">
272
+ ${this.code.split(/\r\n|\r|\n/).map((line) => html `<span class="line">${line}</span>`)}
273
+ </code>
274
+ `;
275
+ }
254
276
  writeClipboard(text) {
255
277
  try {
256
278
  // navigator.clipboard is absent in insecure contexts / older browsers,
@@ -328,7 +350,7 @@ export class LyraCodeBlockCore extends LyraElement {
328
350
  ? html `<lyra-skeleton variant="rect"></lyra-skeleton>`
329
351
  : this.highlightedHtml !== null
330
352
  ? unsafeHTML(this.highlightedHtml)
331
- : html `<pre part="pre"><code part="code">${this.code}</code></pre>`}
353
+ : html `<pre part="pre" class=${this.lineNumbers ? 'line-numbers' : nothing}>${this.renderPlainCode()}</pre>`}
332
354
  </div>
333
355
  </div>
334
356
  `;
@@ -358,6 +380,9 @@ __decorate([
358
380
  __decorate([
359
381
  property({ attribute: 'max-height' })
360
382
  ], LyraCodeBlockCore.prototype, "maxHeight", void 0);
383
+ __decorate([
384
+ property({ type: Boolean, attribute: 'line-numbers', reflect: true })
385
+ ], LyraCodeBlockCore.prototype, "lineNumbers", void 0);
361
386
  __decorate([
362
387
  property({ attribute: false })
363
388
  ], LyraCodeBlockCore.prototype, "languages", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"code-block-core.class.js","sourceRoot":"","sources":["../../../src/components/code-block/code-block-core.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-block-core.class.js","sourceRoot":"","sources":["../../../src/components/code-block/code-block-core.class.ts"],"names":[],"mappings":"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"}
@@ -105,6 +105,8 @@ export declare class LyraCodeBlock extends LyraElement<LyraCodeBlockEventMap> {
105
105
  /** A CSS length (e.g. `"20rem"`); once set, the code scrolls internally
106
106
  * past this height instead of growing the page. */
107
107
  maxHeight: string;
108
+ /** Whether to display one-based line numbers beside the code. */
109
+ lineNumbers: boolean;
108
110
  /** A map of language id to an already-imported shiki grammar module's
109
111
  * default export (e.g. `{ bash: bashGrammar }` where `bashGrammar` came
110
112
  * from a module-scope `import bash from 'shiki/langs/bash.mjs'`). When
@@ -139,6 +141,7 @@ export declare class LyraCodeBlock extends LyraElement<LyraCodeBlockEventMap> {
139
141
  protected updated(): void;
140
142
  private syncHighlight;
141
143
  private tokenize;
144
+ private renderPlainCode;
142
145
  private writeClipboard;
143
146
  private copy;
144
147
  private toggleCollapsed;
@@ -1 +1 @@
1
- {"version":3,"file":"code-block.class.d.ts","sourceRoot":"","sources":["../../../src/components/code-block/code-block.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG9E,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAI7D,OAAO,EAOL,KAAK,kBAAkB,EACxB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,+BAA+B,CAAC;AA4BvC,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3C,aAAa,EAAE,WAAW,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACpD;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AACH,qBAAa,aAAc,SAAQ,WAAW,CAAC,qBAAqB,CAAC;IACnE,MAAM,CAAC,MAAM,iCAAgC;IAE7C,2BAA2B;IACf,IAAI,SAAM;IAEtB;;;qCAGiC;IACrB,QAAQ,SAAM;IAE1B,oDAAoD;IACxC,QAAQ,SAAM;IAE1B;;uCAEmC;IACI,eAAe,SAAM;IAE5D,oEAAoE;IACxB,WAAW,UAAS;IAEhE;4CACwC;IACI,SAAS,UAAS;IAE9D,sDAAsD;IACV,QAAQ,UAAQ;IAE5D;wDACoD;IACb,SAAS,SAAM;IAEtD;;;;;;;;;;8DAU0D;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAE/E;;;;;;iDAM6C;IACa,aAAa,UAAS;IAMvE,OAAO,CAAC,eAAe,CAAuB;IAK9C,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,UAAU,CAAS;IAEpC,OAAO,CAAC,WAAW,CAAC,CAA0B;IAK9C,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO,CAAC,aAAa,CAAC,CAAgC;IAEtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IAEpD,iBAAiB,IAAI,IAAI,CAQxB;IAED,oBAAoB,IAAI,IAAI,CAG3B;IAMD,OAAO,CAAC,kBAAkB;IAS1B,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAWlD;IAED,SAAS,CAAC,OAAO,IAAI,IAAI,CAOxB;IAED,OAAO,CAAC,aAAa;IA6CrB,OAAO,CAAC,QAAQ;IAoBhB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,IAAI,CAQV;IAEF,OAAO,CAAC,eAAe,CAGrB;IAEF,OAAO,CAAC,YAAY;IA4CpB,MAAM,IAAI,cAAc,CA4BvB;CACF;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,aAAa,CAAC;KAClC;CACF"}
1
+ {"version":3,"file":"code-block.class.d.ts","sourceRoot":"","sources":["../../../src/components/code-block/code-block.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG9E,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAI7D,OAAO,EAQL,KAAK,kBAAkB,EACxB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,+BAA+B,CAAC;AAsCvC,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3C,aAAa,EAAE,WAAW,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACpD;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AACH,qBAAa,aAAc,SAAQ,WAAW,CAAC,qBAAqB,CAAC;IACnE,MAAM,CAAC,MAAM,iCAAgC;IAE7C,2BAA2B;IACf,IAAI,SAAM;IAEtB;;;qCAGiC;IACrB,QAAQ,SAAM;IAE1B,oDAAoD;IACxC,QAAQ,SAAM;IAE1B;;uCAEmC;IACI,eAAe,SAAM;IAE5D,oEAAoE;IACxB,WAAW,UAAS;IAEhE;4CACwC;IACI,SAAS,UAAS;IAE9D,sDAAsD;IACV,QAAQ,UAAQ;IAE5D;wDACoD;IACb,SAAS,SAAM;IAEtD,iEAAiE;IACM,WAAW,UAAS;IAE3F;;;;;;;;;;8DAU0D;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAE/E;;;;;;iDAM6C;IACa,aAAa,UAAS;IAMvE,OAAO,CAAC,eAAe,CAAuB;IAK9C,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,UAAU,CAAS;IAEpC,OAAO,CAAC,WAAW,CAAC,CAA0B;IAK9C,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO,CAAC,aAAa,CAAC,CAAgC;IAEtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IAEpD,iBAAiB,IAAI,IAAI,CAQxB;IAED,oBAAoB,IAAI,IAAI,CAG3B;IAMD,OAAO,CAAC,kBAAkB;IAU1B,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAWlD;IAED,SAAS,CAAC,OAAO,IAAI,IAAI,CAOxB;IAED,OAAO,CAAC,aAAa;IA6CrB,OAAO,CAAC,QAAQ;IAoBhB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,IAAI,CAQV;IAEF,OAAO,CAAC,eAAe,CAGrB;IAEF,OAAO,CAAC,YAAY;IA4CpB,MAAM,IAAI,cAAc,CA4BvB;CACF;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,aAAa,CAAC;KAClC;CACF"}
@@ -10,7 +10,7 @@ import { unsafeHTML } from 'lit/directives/unsafe-html.js';
10
10
  import { LyraElement } from '../../internal/lyra-element.js';
11
11
  import { nextId } from '../../internal/a11y.js';
12
12
  import { chevronIcon } from '../../internal/icons.js';
13
- import { loadShikiHighlighter, loadShikiLanguage, loadShikiHighlighterCore, SHIKI_THEMES, } from './code-loader.js';
13
+ import { loadShikiHighlighter, loadShikiLanguage, loadShikiHighlighterCore, normalizeShikiLanguage, SHIKI_THEMES, } from './code-loader.js';
14
14
  import { styles } from './code-block.styles.js';
15
15
  import { codeBlockToggleLabel, codeBlockCopyLabel, codeBlockBodyLabel } from './code-block-shared.js';
16
16
  import '../skeleton/skeleton.class.js';
@@ -28,16 +28,26 @@ const COPY_CONFIRM_MS = 1500;
28
28
  * tabindex in place would add a second, redundant tab stop over the same
29
29
  * scrollable content.
30
30
  */
31
- const partTransformer = {
32
- name: 'lyra-code-block-parts',
33
- pre(node) {
34
- node.properties.part = ['pre'];
35
- delete node.properties.tabindex;
36
- },
37
- code(node) {
38
- node.properties.part = ['code'];
39
- },
40
- };
31
+ function partTransformer(lineNumbers) {
32
+ return {
33
+ name: 'lyra-code-block-parts',
34
+ pre(node) {
35
+ node.properties.part = ['pre'];
36
+ if (lineNumbers) {
37
+ const classes = Array.isArray(node.properties.class)
38
+ ? node.properties.class
39
+ : node.properties.class
40
+ ? [node.properties.class]
41
+ : [];
42
+ node.properties.class = [...classes, 'line-numbers'];
43
+ }
44
+ delete node.properties.tabindex;
45
+ },
46
+ code(node) {
47
+ node.properties.part = ['code'];
48
+ },
49
+ };
50
+ }
41
51
  /**
42
52
  * `<lyra-code-block>` — fenced code display with optional lazy syntax
43
53
  * highlighting and a copy button. No highlighting grammar ships in this
@@ -134,6 +144,8 @@ export class LyraCodeBlock extends LyraElement {
134
144
  /** A CSS length (e.g. `"20rem"`); once set, the code scrolls internally
135
145
  * past this height instead of growing the page. */
136
146
  this.maxHeight = '';
147
+ /** Whether to display one-based line numbers beside the code. */
148
+ this.lineNumbers = false;
137
149
  /** When `true`, skips the default `loadShikiHighlighter()` call in `connectedCallback()`
138
150
  * entirely — for a consumer whose `languages` map already covers every language every instance
139
151
  * will ever render, so the bundler has no reachable path from this component to shiki's
@@ -191,7 +203,8 @@ export class LyraCodeBlock extends LyraElement {
191
203
  // on whether this render is taking the fine-grained `languages` path or
192
204
  // the default `loadShikiHighlighter()` one.
193
205
  preSuppliedGrammar() {
194
- return this.languages?.[this.language];
206
+ const language = normalizeShikiLanguage(this.language);
207
+ return this.languages?.[language] ?? this.languages?.[this.language];
195
208
  }
196
209
  // Mutating `highlightedHtml` here (rather than in `updated()`) absorbs the
197
210
  // synchronous case -- language already loaded, see `syncHighlight()` --
@@ -229,13 +242,13 @@ export class LyraCodeBlock extends LyraElement {
229
242
  // after a newer call has already rendered correct synchronous output,
230
243
  // and overwrite it with stale tokenization.
231
244
  const token = ++this.highlightToken;
232
- const lang = this.language;
245
+ const lang = normalizeShikiLanguage(this.language);
233
246
  if (!lang) {
234
247
  this.highlightedHtml = null;
235
248
  return;
236
249
  }
237
250
  const languages = this.languages;
238
- if (languages?.[lang]) {
251
+ if (languages?.[lang] ?? languages?.[this.language]) {
239
252
  // Fine-grained opt-in path -- entirely separate from `this.highlighter`
240
253
  // below, see `loadShikiHighlighterCore()`'s doc comment for why.
241
254
  this.highlightedHtml = null;
@@ -276,7 +289,7 @@ export class LyraCodeBlock extends LyraElement {
276
289
  // a --lyra-* token. See the dark-mode override in
277
290
  // code-block.styles.ts for how the dark half of this activates.
278
291
  themes: SHIKI_THEMES,
279
- transformers: [partTransformer],
292
+ transformers: [partTransformer(this.lineNumbers)],
280
293
  });
281
294
  }
282
295
  catch {
@@ -285,6 +298,15 @@ export class LyraCodeBlock extends LyraElement {
285
298
  return null;
286
299
  }
287
300
  }
301
+ renderPlainCode() {
302
+ if (!this.lineNumbers)
303
+ return html `<code part="code">${this.code}</code>`;
304
+ return html `
305
+ <code part="code" class="line-numbered-code">
306
+ ${this.code.split(/\r\n|\r|\n/).map((line) => html `<span class="line">${line}</span>`)}
307
+ </code>
308
+ `;
309
+ }
288
310
  writeClipboard(text) {
289
311
  try {
290
312
  // navigator.clipboard is absent in insecure contexts / older browsers,
@@ -363,7 +385,7 @@ export class LyraCodeBlock extends LyraElement {
363
385
  ? html `<lyra-skeleton variant="rect"></lyra-skeleton>`
364
386
  : this.highlightedHtml !== null
365
387
  ? unsafeHTML(this.highlightedHtml)
366
- : html `<pre part="pre"><code part="code">${this.code}</code></pre>`}
388
+ : html `<pre part="pre" class=${this.lineNumbers ? 'line-numbers' : nothing}>${this.renderPlainCode()}</pre>`}
367
389
  </div>
368
390
  </div>
369
391
  `;
@@ -393,6 +415,9 @@ __decorate([
393
415
  __decorate([
394
416
  property({ attribute: 'max-height' })
395
417
  ], LyraCodeBlock.prototype, "maxHeight", void 0);
418
+ __decorate([
419
+ property({ type: Boolean, attribute: 'line-numbers', reflect: true })
420
+ ], LyraCodeBlock.prototype, "lineNumbers", void 0);
396
421
  __decorate([
397
422
  property({ attribute: false })
398
423
  ], LyraCodeBlock.prototype, "languages", void 0);