@elmethis/core 1.0.0-alpha.18 → 1.0.0-alpha.180

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 (312) hide show
  1. package/dist/_virtual/_plugin-vue_export-helper.mjs +10 -0
  2. package/dist/components/{inline/ElmInlineCode.stories.d.ts → badge/ElmBadge.stories.d.ts} +2 -2
  3. package/dist/components/badge/ElmBadge.vue.d.ts +21 -0
  4. package/dist/components/badge/ElmBadge.vue.mjs +10 -0
  5. package/dist/components/badge/ElmBadge.vue2.mjs +33 -0
  6. package/dist/components/badge/ElmBadge.vue3.mjs +26 -0
  7. package/dist/components/badge/ElmTag.stories.d.ts +7 -0
  8. package/dist/components/badge/ElmTag.vue.d.ts +14 -0
  9. package/dist/components/badge/ElmTag.vue.mjs +10 -0
  10. package/dist/components/badge/ElmTag.vue2.mjs +39 -0
  11. package/dist/components/badge/ElmTag.vue3.mjs +26 -0
  12. package/dist/components/code/ElmCodeBlock.vue.d.ts +8 -1
  13. package/dist/components/code/ElmCodeBlock.vue.mjs +10 -0
  14. package/dist/components/code/ElmCodeBlock.vue2.mjs +105 -0
  15. package/dist/components/code/ElmCodeBlock.vue3.mjs +37 -0
  16. package/dist/components/code/ElmKatex.vue.d.ts +3 -1
  17. package/dist/components/code/ElmKatex.vue.mjs +10 -0
  18. package/dist/components/code/ElmKatex.vue2.mjs +67 -0
  19. package/dist/components/code/ElmKatex.vue3.mjs +20 -0
  20. package/dist/components/code/{ElmPrismHighlighter.stories.d.ts → ElmShikiHighlighter.stories.d.ts} +2 -3
  21. package/dist/components/code/ElmShikiHighlighter.vue.d.ts +22 -0
  22. package/dist/components/code/ElmShikiHighlighter.vue.mjs +23 -0
  23. package/dist/components/code/ElmShikiHighlighter.vue2.mjs +51 -0
  24. package/dist/components/code/ElmShikiHighlighter.vue3.mjs +20 -0
  25. package/dist/components/code/shikiInstance.d.ts +2 -0
  26. package/dist/components/code/shikiInstance.mjs +76 -0
  27. package/dist/components/containments/ElmColumn.vue.d.ts +3 -2
  28. package/dist/components/containments/ElmColumn.vue.mjs +10 -0
  29. package/dist/components/containments/ElmColumn.vue2.mjs +16 -0
  30. package/dist/components/containments/ElmColumn.vue3.mjs +20 -0
  31. package/dist/components/containments/ElmColumnList.vue.d.ts +3 -2
  32. package/dist/components/containments/ElmColumnList.vue.mjs +10 -0
  33. package/dist/components/containments/ElmColumnList.vue2.mjs +16 -0
  34. package/dist/components/containments/ElmColumnList.vue3.mjs +18 -0
  35. package/dist/components/containments/ElmDesktopWindow.vue.d.ts +3 -2
  36. package/dist/components/containments/ElmDesktopWindow.vue.mjs +10 -0
  37. package/dist/components/containments/ElmDesktopWindow.vue2.mjs +42 -0
  38. package/dist/components/containments/ElmDesktopWindow.vue3.mjs +26 -0
  39. package/dist/components/containments/ElmModal.stories.d.ts +6 -0
  40. package/dist/components/containments/ElmModal.vue.d.ts +35 -0
  41. package/dist/components/containments/ElmModal.vue.mjs +22 -0
  42. package/dist/components/containments/ElmModal.vue2.mjs +44 -0
  43. package/dist/components/containments/ElmModal.vue3.mjs +23 -0
  44. package/dist/components/containments/ElmParallax.vue.mjs +10 -0
  45. package/dist/components/containments/ElmParallax.vue2.mjs +35 -0
  46. package/dist/components/containments/ElmParallax.vue3.mjs +20 -0
  47. package/dist/components/containments/ElmSnackbar.stories.d.ts +6 -0
  48. package/dist/components/containments/ElmSnackbar.vue.d.ts +11 -0
  49. package/dist/components/containments/ElmSnackbar.vue.mjs +10 -0
  50. package/dist/components/containments/ElmSnackbar.vue2.mjs +39 -0
  51. package/dist/components/containments/ElmSnackbar.vue3.mjs +26 -0
  52. package/dist/components/containments/ElmSnackbarContainer.vue.d.ts +10 -0
  53. package/dist/components/containments/ElmSnackbarContainer.vue.mjs +22 -0
  54. package/dist/components/containments/ElmSnackbarContainer.vue2.mjs +33 -0
  55. package/dist/components/containments/ElmSnackbarContainer.vue3.mjs +19 -0
  56. package/dist/components/containments/ElmToggle.stories.d.ts +1 -0
  57. package/dist/components/containments/ElmToggle.vue.d.ts +13 -6
  58. package/dist/components/containments/ElmToggle.vue.mjs +22 -0
  59. package/dist/components/containments/ElmToggle.vue2.mjs +71 -0
  60. package/dist/components/containments/ElmToggle.vue3.mjs +29 -0
  61. package/dist/components/containments/ElmTooltip.vue.d.ts +5 -2
  62. package/dist/components/containments/ElmTooltip.vue.mjs +22 -0
  63. package/dist/components/containments/ElmTooltip.vue2.mjs +49 -0
  64. package/dist/components/containments/ElmTooltip.vue3.mjs +20 -0
  65. package/dist/components/containments/useSnackbarState.d.ts +28 -0
  66. package/dist/components/data/ElmMultiProgress.stories.d.ts +6 -0
  67. package/dist/components/data/ElmMultiProgress.vue.d.ts +30 -0
  68. package/dist/components/data/ElmMultiProgress.vue.mjs +10 -0
  69. package/dist/components/data/ElmMultiProgress.vue2.mjs +45 -0
  70. package/dist/components/data/ElmMultiProgress.vue3.mjs +23 -0
  71. package/dist/components/data/ElmProgress.stories.d.ts +1 -0
  72. package/dist/components/data/ElmProgress.vue.d.ts +6 -1
  73. package/dist/components/data/ElmProgress.vue.mjs +10 -0
  74. package/dist/components/data/ElmProgress.vue2.mjs +53 -0
  75. package/dist/components/data/ElmProgress.vue3.mjs +32 -0
  76. package/dist/components/data/ElmStatusMessage.stories.d.ts +9 -0
  77. package/dist/components/data/ElmStatusMessage.vue.d.ts +6 -0
  78. package/dist/components/data/ElmStatusMessage.vue.mjs +22 -0
  79. package/dist/components/data/ElmStatusMessage.vue2.mjs +75 -0
  80. package/dist/components/data/ElmStatusMessage.vue3.mjs +23 -0
  81. package/dist/components/fallback/ElmBlockFallback.stories.d.ts +6 -0
  82. package/dist/components/fallback/ElmBlockFallback.vue.d.ts +4 -0
  83. package/dist/components/fallback/ElmBlockFallback.vue.mjs +10 -0
  84. package/dist/components/fallback/ElmBlockFallback.vue2.mjs +17 -0
  85. package/dist/components/fallback/ElmBlockFallback.vue3.mjs +18 -0
  86. package/dist/components/fallback/ElmRectangleWave.vue.d.ts +1 -1
  87. package/dist/components/fallback/ElmRectangleWave.vue.mjs +10 -0
  88. package/dist/components/fallback/ElmRectangleWave.vue2.mjs +15 -0
  89. package/dist/components/fallback/ElmRectangleWave.vue3.mjs +21 -0
  90. package/dist/components/fallback/ElmSpinner.stories.d.ts +6 -0
  91. package/dist/components/fallback/ElmSpinner.vue.d.ts +9 -0
  92. package/dist/components/fallback/ElmSpinner.vue.mjs +10 -0
  93. package/dist/components/fallback/ElmSpinner.vue2.mjs +30 -0
  94. package/dist/components/fallback/ElmSpinner.vue3.mjs +24 -0
  95. package/dist/components/form/ElmButton.stories.d.ts +11 -0
  96. package/dist/components/form/ElmButton.vue.d.ts +41 -0
  97. package/dist/components/form/ElmButton.vue.mjs +22 -0
  98. package/dist/components/form/ElmButton.vue2.mjs +57 -0
  99. package/dist/components/form/ElmButton.vue3.mjs +32 -0
  100. package/dist/components/form/ElmCheckbox.vue.d.ts +16 -6
  101. package/dist/components/form/ElmCheckbox.vue.mjs +10 -0
  102. package/dist/components/form/ElmCheckbox.vue2.mjs +177 -0
  103. package/dist/components/form/ElmCheckbox.vue3.mjs +34 -0
  104. package/dist/components/form/ElmSwitch.stories.d.ts +6 -0
  105. package/dist/components/form/ElmSwitch.vue.d.ts +32 -0
  106. package/dist/components/form/ElmSwitch.vue.mjs +10 -0
  107. package/dist/components/form/ElmSwitch.vue2.mjs +61 -0
  108. package/dist/components/form/ElmSwitch.vue3.mjs +28 -0
  109. package/dist/components/form/ElmTextField.stories.d.ts +6 -0
  110. package/dist/components/form/ElmTextField.vue.d.ts +30 -0
  111. package/dist/components/form/ElmTextField.vue.mjs +10 -0
  112. package/dist/components/form/ElmTextField.vue2.mjs +124 -0
  113. package/dist/components/form/ElmTextField.vue3.mjs +46 -0
  114. package/dist/components/form/ElmTotp.stories.d.ts +6 -0
  115. package/dist/components/form/ElmTotp.vue.d.ts +12 -0
  116. package/dist/components/form/ElmTotp.vue.mjs +10 -0
  117. package/dist/components/form/ElmTotp.vue2.mjs +102 -0
  118. package/dist/components/form/ElmTotp.vue3.mjs +34 -0
  119. package/dist/components/headings/ElmFragmentIdentifier.stories.d.ts +6 -0
  120. package/dist/components/headings/ElmFragmentIdentifier.vue.d.ts +8 -0
  121. package/dist/components/headings/ElmFragmentIdentifier.vue.mjs +10 -0
  122. package/dist/components/headings/ElmFragmentIdentifier.vue2.mjs +57 -0
  123. package/dist/components/headings/ElmFragmentIdentifier.vue3.mjs +23 -0
  124. package/dist/components/headings/ElmHeading1.vue.d.ts +9 -1
  125. package/dist/components/headings/ElmHeading1.vue.mjs +10 -0
  126. package/dist/components/headings/ElmHeading1.vue2.mjs +43 -0
  127. package/dist/components/headings/ElmHeading1.vue3.mjs +20 -0
  128. package/dist/components/headings/ElmHeading2.vue.d.ts +9 -1
  129. package/dist/components/headings/ElmHeading2.vue.mjs +10 -0
  130. package/dist/components/headings/ElmHeading2.vue2.mjs +49 -0
  131. package/dist/components/headings/ElmHeading2.vue3.mjs +23 -0
  132. package/dist/components/headings/ElmHeading3.vue.d.ts +9 -1
  133. package/dist/components/headings/ElmHeading3.vue.mjs +10 -0
  134. package/dist/components/headings/ElmHeading3.vue2.mjs +39 -0
  135. package/dist/components/headings/ElmHeading3.vue3.mjs +20 -0
  136. package/dist/components/headings/ElmHeading4.vue.d.ts +6 -0
  137. package/dist/components/headings/ElmHeading4.vue.mjs +10 -0
  138. package/dist/components/headings/ElmHeading4.vue2.mjs +31 -0
  139. package/dist/components/headings/ElmHeading4.vue3.mjs +20 -0
  140. package/dist/components/headings/ElmHeading5.vue.d.ts +6 -0
  141. package/dist/components/headings/ElmHeading5.vue.mjs +10 -0
  142. package/dist/components/headings/ElmHeading5.vue2.mjs +31 -0
  143. package/dist/components/headings/ElmHeading5.vue3.mjs +20 -0
  144. package/dist/components/headings/ElmHeading6.vue.d.ts +6 -0
  145. package/dist/components/headings/ElmHeading6.vue.mjs +10 -0
  146. package/dist/components/headings/ElmHeading6.vue2.mjs +31 -0
  147. package/dist/components/headings/ElmHeading6.vue3.mjs +20 -0
  148. package/dist/components/icon/ElmArrowIcon.stories.d.ts +6 -0
  149. package/dist/components/icon/ElmArrowIcon.vue.d.ts +26 -0
  150. package/dist/components/icon/ElmArrowIcon.vue.mjs +10 -0
  151. package/dist/components/icon/ElmArrowIcon.vue2.mjs +31 -0
  152. package/dist/components/icon/ElmArrowIcon.vue3.mjs +29 -0
  153. package/dist/components/icon/ElmBookmarkIcon.stories.d.ts +8 -0
  154. package/dist/components/icon/ElmBookmarkIcon.vue.d.ts +7 -0
  155. package/dist/components/icon/ElmBookmarkIcon.vue.mjs +10 -0
  156. package/dist/components/icon/ElmBookmarkIcon.vue2.mjs +45 -0
  157. package/dist/components/icon/ElmBookmarkIcon.vue3.mjs +27 -0
  158. package/dist/components/icon/ElmCubeIcon.vue.d.ts +1 -1
  159. package/dist/components/icon/ElmCubeIcon.vue.mjs +10 -0
  160. package/dist/components/icon/ElmCubeIcon.vue2.mjs +41 -0
  161. package/dist/components/icon/ElmCubeIcon.vue3.mjs +24 -0
  162. package/dist/components/icon/ElmDotLoadingIcon.vue.d.ts +2 -2
  163. package/dist/components/icon/ElmDotLoadingIcon.vue.mjs +10 -0
  164. package/dist/components/icon/ElmDotLoadingIcon.vue2.mjs +28 -0
  165. package/dist/components/icon/ElmDotLoadingIcon.vue3.mjs +26 -0
  166. package/dist/components/icon/ElmLanguageIcon.vue.d.ts +1 -1
  167. package/dist/components/icon/ElmLanguageIcon.vue.mjs +22 -0
  168. package/dist/components/icon/ElmLanguageIcon.vue2.mjs +148 -0
  169. package/dist/components/icon/ElmLanguageIcon.vue3.mjs +23 -0
  170. package/dist/components/icon/ElmLoginIcon.stories.d.ts +6 -0
  171. package/dist/components/icon/ElmLoginIcon.vue.d.ts +18 -0
  172. package/dist/components/icon/ElmLoginIcon.vue.mjs +10 -0
  173. package/dist/components/icon/ElmLoginIcon.vue2.mjs +37 -0
  174. package/dist/components/icon/ElmLoginIcon.vue3.mjs +20 -0
  175. package/dist/components/icon/ElmToggleTheme.vue.mjs +10 -0
  176. package/dist/components/icon/ElmToggleTheme.vue2.mjs +30 -0
  177. package/dist/components/icon/ElmToggleTheme.vue3.mjs +20 -0
  178. package/dist/components/icon/languages/Bash.vue.d.ts +1 -1
  179. package/dist/{Bash-mlA01V07.js → components/icon/languages/Bash.vue.mjs} +20 -15
  180. package/dist/components/icon/languages/Bash.vue2.mjs +20 -0
  181. package/dist/components/icon/languages/{JavaScript.vue.d.ts → Css.vue.d.ts} +1 -1
  182. package/dist/components/icon/languages/Css.vue.mjs +19 -0
  183. package/dist/components/icon/languages/Rust.vue.d.ts +1 -1
  184. package/dist/components/icon/languages/Rust.vue.mjs +17 -0
  185. package/dist/components/inline/ElmInlineIcon.stories.d.ts +6 -0
  186. package/dist/components/inline/ElmInlineIcon.vue.d.ts +6 -0
  187. package/dist/components/inline/ElmInlineIcon.vue.mjs +10 -0
  188. package/dist/components/inline/ElmInlineIcon.vue2.mjs +21 -0
  189. package/dist/components/inline/ElmInlineIcon.vue3.mjs +20 -0
  190. package/dist/components/inline/ElmInlineLink.vue.d.ts +3 -2
  191. package/dist/components/inline/ElmInlineLink.vue.mjs +10 -0
  192. package/dist/components/inline/ElmInlineLink.vue2.mjs +55 -0
  193. package/dist/components/inline/ElmInlineLink.vue3.mjs +23 -0
  194. package/dist/components/inline/ElmInlineRuby.vue.d.ts +1 -1
  195. package/dist/components/inline/ElmInlineRuby.vue.mjs +29 -0
  196. package/dist/components/inline/ElmInlineRuby.vue2.mjs +4 -0
  197. package/dist/components/inline/ElmInlineText.stories.d.ts +1 -0
  198. package/dist/components/inline/ElmInlineText.vue.d.ts +10 -1
  199. package/dist/components/inline/ElmInlineText.vue.mjs +10 -0
  200. package/dist/components/inline/ElmInlineText.vue2.mjs +57 -0
  201. package/dist/components/inline/ElmInlineText.vue3.mjs +23 -0
  202. package/dist/components/inline/ElmTypingAnimation.stories.d.ts +6 -0
  203. package/dist/components/inline/ElmTypingAnimation.vue.d.ts +21 -0
  204. package/dist/components/jsonschema/ElmChildContainer.stories.d.ts +6 -0
  205. package/dist/components/jsonschema/ElmChildContainer.vue.d.ts +21 -0
  206. package/dist/components/jsonschema/ElmFieldAttribute.stories.d.ts +6 -0
  207. package/dist/components/jsonschema/ElmFieldAttribute.vue.d.ts +7 -0
  208. package/dist/components/jsonschema/ElmFieldType.stories.d.ts +7 -0
  209. package/dist/components/jsonschema/ElmFieldType.vue.d.ts +8 -0
  210. package/dist/components/jsonschema/ElmJsonSchema.stories.d.ts +7 -0
  211. package/dist/components/jsonschema/ElmJsonSchema.vue.d.ts +7 -0
  212. package/dist/components/media/ElmBlockImage.stories.d.ts +9 -0
  213. package/dist/components/media/ElmBlockImage.vue.d.ts +10 -0
  214. package/dist/components/media/ElmFile.vue.d.ts +6 -1
  215. package/dist/components/media/ElmFile.vue.mjs +10 -0
  216. package/dist/components/media/ElmFile.vue2.mjs +77 -0
  217. package/dist/components/media/ElmFile.vue3.mjs +26 -0
  218. package/dist/components/media/ElmImage.stories.d.ts +2 -0
  219. package/dist/components/media/ElmImage.vue.d.ts +5 -0
  220. package/dist/components/media/ElmImage.vue.mjs +22 -0
  221. package/dist/components/media/ElmImage.vue2.mjs +91 -0
  222. package/dist/components/media/ElmImage.vue3.mjs +30 -0
  223. package/dist/components/navigation/ElmBookmark.stories.d.ts +2 -0
  224. package/dist/components/navigation/ElmBookmark.vue.d.ts +13 -9
  225. package/dist/components/navigation/ElmBookmark.vue.mjs +10 -0
  226. package/dist/components/navigation/ElmBookmark.vue2.mjs +115 -0
  227. package/dist/components/navigation/ElmBookmark.vue3.mjs +44 -0
  228. package/dist/components/navigation/ElmBreadcrumb.vue.d.ts +3 -1
  229. package/dist/components/navigation/ElmBreadcrumb.vue.mjs +10 -0
  230. package/dist/components/navigation/ElmBreadcrumb.vue2.mjs +63 -0
  231. package/dist/components/navigation/ElmBreadcrumb.vue3.mjs +30 -0
  232. package/dist/components/navigation/ElmPagetop.vue.d.ts +1 -1
  233. package/dist/components/navigation/ElmPagetop.vue.mjs +10 -0
  234. package/dist/components/navigation/ElmPagetop.vue2.mjs +51 -0
  235. package/dist/components/navigation/ElmPagetop.vue3.mjs +30 -0
  236. package/dist/components/navigation/ElmTableOfContents.vue.d.ts +1 -1
  237. package/dist/components/navigation/ElmTableOfContents.vue.mjs +10 -0
  238. package/dist/components/navigation/ElmTableOfContents.vue2.mjs +43 -0
  239. package/dist/components/navigation/ElmTableOfContents.vue3.mjs +26 -0
  240. package/dist/components/others/ElmColorSample.stories.d.ts +6 -0
  241. package/dist/components/others/ElmColorSample.vue.d.ts +8 -0
  242. package/dist/components/others/ElmColorSample.vue.mjs +22 -0
  243. package/dist/components/others/ElmColorSample.vue2.mjs +72 -0
  244. package/dist/components/others/ElmColorSample.vue3.mjs +21 -0
  245. package/dist/components/others/ElmColorTable.stories.d.ts +6 -0
  246. package/dist/components/others/ElmColorTable.vue.d.ts +11 -0
  247. package/dist/components/others/ElmColorTable.vue.mjs +10 -0
  248. package/dist/components/others/ElmColorTable.vue2.mjs +45 -0
  249. package/dist/components/others/ElmColorTable.vue3.mjs +22 -0
  250. package/dist/components/others/ElmTemplate.stories.d.ts +6 -0
  251. package/dist/components/others/ElmTyping.vue.d.ts +4 -0
  252. package/dist/components/renderer/ElmJsonRenderer.stories.d.ts +1 -0
  253. package/dist/components/renderer/ElmJsonRenderer.vue.d.ts +39 -8
  254. package/dist/components/renderer/ElmJsonRenderer.vue.mjs +146 -0
  255. package/dist/components/renderer/ElmJsonRenderer.vue2.mjs +4 -0
  256. package/dist/components/table/ElmTable.vue.d.ts +8 -2
  257. package/dist/components/table/ElmTable.vue.mjs +18 -0
  258. package/dist/components/table/ElmTable.vue2.mjs +22 -0
  259. package/dist/components/table/ElmTableBody.vue.d.ts +3 -2
  260. package/dist/components/table/ElmTableBody.vue.mjs +15 -0
  261. package/dist/components/table/ElmTableBody.vue3.mjs +17 -0
  262. package/dist/components/table/ElmTableCell.vue.d.ts +2 -1
  263. package/dist/components/table/ElmTableCell.vue.mjs +18 -0
  264. package/dist/components/table/ElmTableCell.vue2.mjs +22 -0
  265. package/dist/components/table/ElmTableHeader.vue.d.ts +3 -2
  266. package/dist/components/table/ElmTableHeader.vue.mjs +15 -0
  267. package/dist/components/table/ElmTableHeader.vue3.mjs +17 -0
  268. package/dist/components/table/ElmTableRow.vue.d.ts +3 -2
  269. package/dist/components/table/ElmTableRow.vue.mjs +14 -0
  270. package/dist/components/table/ElmTableRow.vue2.mjs +4 -0
  271. package/dist/components/template/ElmTemplate.vue.d.ts +1 -1
  272. package/dist/components/typography/ElmBlockQuote.vue.d.ts +5 -2
  273. package/dist/components/typography/ElmBlockQuote.vue.mjs +10 -0
  274. package/dist/components/typography/ElmBlockQuote.vue2.mjs +27 -0
  275. package/dist/components/typography/ElmBlockQuote.vue3.mjs +20 -0
  276. package/dist/components/typography/ElmBulletedList.vue.d.ts +5 -2
  277. package/dist/components/typography/ElmBulletedList.vue.mjs +27 -0
  278. package/dist/components/typography/ElmBulletedList.vue3.mjs +17 -0
  279. package/dist/components/typography/ElmCallout.vue.d.ts +5 -2
  280. package/dist/components/typography/ElmCallout.vue.mjs +10 -0
  281. package/dist/components/typography/ElmCallout.vue2.mjs +57 -0
  282. package/dist/components/typography/ElmCallout.vue3.mjs +26 -0
  283. package/dist/components/typography/ElmDivider.vue.d.ts +8 -1
  284. package/dist/components/typography/ElmDivider.vue.mjs +10 -0
  285. package/dist/components/typography/ElmDivider.vue2.mjs +29 -0
  286. package/dist/components/typography/ElmDivider.vue3.mjs +20 -0
  287. package/dist/components/typography/ElmListItem.vue.d.ts +3 -2
  288. package/dist/components/typography/ElmListItem.vue.mjs +10 -0
  289. package/dist/components/typography/ElmListItem.vue2.mjs +16 -0
  290. package/dist/components/typography/ElmListItem.vue3.mjs +20 -0
  291. package/dist/components/typography/ElmNumberedList.vue.d.ts +5 -2
  292. package/dist/components/typography/ElmNumberedList.vue.mjs +27 -0
  293. package/dist/components/typography/ElmNumberedList.vue3.mjs +17 -0
  294. package/dist/components/typography/ElmParagraph.vue.d.ts +5 -2
  295. package/dist/components/typography/ElmParagraph.vue.mjs +10 -0
  296. package/dist/components/typography/ElmParagraph.vue2.mjs +27 -0
  297. package/dist/components/typography/ElmParagraph.vue3.mjs +20 -0
  298. package/dist/hooks/useElmethisTheme.mjs +43 -0
  299. package/dist/hooks/useTyping.d.ts +17 -0
  300. package/dist/hooks/useTyping.mjs +37 -0
  301. package/dist/index.d.ts +128 -46
  302. package/dist/index.mjs +147 -0
  303. package/package.json +38 -29
  304. package/dist/JavaScript-stKTLCvS.js +0 -22
  305. package/dist/Rust-PU5XwTn1.js +0 -16
  306. package/dist/TypeScript-ViBgqhx7.js +0 -22
  307. package/dist/components/code/ElmPrismHighlighter.vue.d.ts +0 -14
  308. package/dist/components/icon/languages/TypeScript.vue.d.ts +0 -2
  309. package/dist/components/inline/ElmInlineCode.vue.d.ts +0 -15
  310. package/dist/elmethis.js +0 -48
  311. package/dist/elmethis.umd.cjs +0 -419
  312. package/dist/index-DvtsYpwQ.js +0 -16274
@@ -0,0 +1,10 @@
1
+ const _export_sfc = (sfc, props) => {
2
+ const target = sfc.__vccOpts || sfc;
3
+ for (const [key, val] of props) {
4
+ target[key] = val;
5
+ }
6
+ return target;
7
+ };
8
+ export {
9
+ _export_sfc as default
10
+ };
@@ -1,6 +1,6 @@
1
1
  import { Meta, StoryObj } from '@storybook/vue3';
2
- import { default as ElmInlineCode } from './ElmInlineCode.vue';
3
- declare const meta: Meta<typeof ElmInlineCode>;
2
+ import { default as ElmBadge } from './ElmBadge.vue';
3
+ declare const meta: Meta<typeof ElmBadge>;
4
4
  export default meta;
5
5
  type Story = StoryObj<typeof meta>;
6
6
  export declare const Primary: Story;
@@ -0,0 +1,21 @@
1
+ export interface ElmBadgeProps {
2
+ color: string;
3
+ }
4
+ declare function __VLS_template(): {
5
+ attrs: Partial<{}>;
6
+ slots: {
7
+ left?(_: {}): any;
8
+ right?(_: {}): any;
9
+ };
10
+ refs: {};
11
+ rootEl: HTMLSpanElement;
12
+ };
13
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
14
+ declare const __VLS_component: import('vue').DefineComponent<ElmBadgeProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<ElmBadgeProps> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLSpanElement>;
15
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
16
+ export default _default;
17
+ type __VLS_WithTemplateSlots<T, S> = T & {
18
+ new (): {
19
+ $slots: S;
20
+ };
21
+ };
@@ -0,0 +1,10 @@
1
+ import _sfc_main from "./ElmBadge.vue2.mjs";
2
+ import style0 from "./ElmBadge.vue3.mjs";
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
+ const cssModules = {
5
+ "$style": style0
6
+ };
7
+ const ElmBadge = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
8
+ export {
9
+ ElmBadge as default
10
+ };
@@ -0,0 +1,33 @@
1
+ import { defineComponent, createElementBlock, openBlock, normalizeStyle, normalizeClass, createElementVNode, unref, renderSlot } from "vue";
2
+ import { getLuminance } from "polished";
3
+ const _sfc_main = /* @__PURE__ */ defineComponent({
4
+ __name: "ElmBadge",
5
+ props: {
6
+ color: {}
7
+ },
8
+ setup(__props) {
9
+ return (_ctx, _cache) => {
10
+ return openBlock(), createElementBlock("span", {
11
+ class: normalizeClass(_ctx.$style.badge),
12
+ style: normalizeStyle({ "--bg-color": _ctx.color })
13
+ }, [
14
+ createElementVNode("span", {
15
+ class: normalizeClass(_ctx.$style.left),
16
+ style: normalizeStyle({
17
+ color: unref(getLuminance)(_ctx.color) > 0.5 ? "rgba(0,0,0,0.7)" : "rgba(255,255,255,0.7)"
18
+ })
19
+ }, [
20
+ renderSlot(_ctx.$slots, "left")
21
+ ], 6),
22
+ createElementVNode("span", {
23
+ class: normalizeClass(_ctx.$style.right)
24
+ }, [
25
+ renderSlot(_ctx.$slots, "right")
26
+ ], 2)
27
+ ], 6);
28
+ };
29
+ }
30
+ });
31
+ export {
32
+ _sfc_main as default
33
+ };
@@ -0,0 +1,26 @@
1
+ (function() {
2
+ "use strict";
3
+ try {
4
+ if (typeof document != "undefined") {
5
+ var elementStyle = document.createElement("style");
6
+ elementStyle.appendChild(document.createTextNode("._badge_gc88x_1{border:1px solid var(--bg-color);border-radius:.25rem}._badge_gc88x_1 ._left_gc88x_5{background-color:var(--bg-color);padding-inline:.5rem}._badge_gc88x_1 ._right_gc88x_9{padding-inline:.5rem}"));
7
+ document.head.appendChild(elementStyle);
8
+ }
9
+ } catch (e) {
10
+ console.error("vite-plugin-css-injected-by-js", e);
11
+ }
12
+ })();
13
+ const badge = "_badge_gc88x_1";
14
+ const left = "_left_gc88x_5";
15
+ const right = "_right_gc88x_9";
16
+ const style0 = {
17
+ badge,
18
+ left,
19
+ right
20
+ };
21
+ export {
22
+ badge,
23
+ style0 as default,
24
+ left,
25
+ right
26
+ };
@@ -0,0 +1,7 @@
1
+ import { Meta, StoryObj } from '@storybook/vue3';
2
+ import { default as ElmTag } from './ElmTag.vue';
3
+ declare const meta: Meta<typeof ElmTag>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Primary: Story;
7
+ export declare const Multiple: Story;
@@ -0,0 +1,14 @@
1
+ export interface ElmTagProps {
2
+ /**
3
+ * The text to display in the tag.
4
+ */
5
+ text: string;
6
+ /**
7
+ * The color of the tag.
8
+ */
9
+ color?: string;
10
+ }
11
+ declare const _default: import('vue').DefineComponent<ElmTagProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<ElmTagProps> & Readonly<{}>, {
12
+ color: string;
13
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
14
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import _sfc_main from "./ElmTag.vue2.mjs";
2
+ import style0 from "./ElmTag.vue3.mjs";
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
+ const cssModules = {
5
+ "$style": style0
6
+ };
7
+ const ElmTag = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
8
+ export {
9
+ ElmTag as default
10
+ };
@@ -0,0 +1,39 @@
1
+ import { defineComponent, createElementBlock, openBlock, normalizeStyle, normalizeClass, createVNode, createElementVNode, unref } from "vue";
2
+ import { Icon } from "@iconify/vue";
3
+ import ElmInlineText from "../inline/ElmInlineText.vue.mjs";
4
+ import { getLuminance } from "polished";
5
+ const _sfc_main = /* @__PURE__ */ defineComponent({
6
+ __name: "ElmTag",
7
+ props: {
8
+ text: {},
9
+ color: { default: "transparent" }
10
+ },
11
+ setup(__props) {
12
+ return (_ctx, _cache) => {
13
+ return openBlock(), createElementBlock("div", {
14
+ class: normalizeClass(_ctx.$style.tag),
15
+ style: normalizeStyle({ "--color": _ctx.color })
16
+ }, [
17
+ createVNode(unref(Icon), {
18
+ icon: "tabler:tag",
19
+ class: normalizeClass(_ctx.$style.icon),
20
+ style: normalizeStyle({
21
+ backgroundColor: _ctx.color,
22
+ "--font-color": unref(getLuminance)(_ctx.color) > 0.5 ? "rgba(0,0,0,0.7)" : "rgba(255,255,255,0.7)"
23
+ })
24
+ }, null, 8, ["class", "style"]),
25
+ createElementVNode("div", {
26
+ class: normalizeClass(_ctx.$style.text)
27
+ }, [
28
+ createVNode(ElmInlineText, {
29
+ style: { color: "unset" },
30
+ text: _ctx.text
31
+ }, null, 8, ["text"])
32
+ ], 2)
33
+ ], 6);
34
+ };
35
+ }
36
+ });
37
+ export {
38
+ _sfc_main as default
39
+ };
@@ -0,0 +1,26 @@
1
+ (function() {
2
+ "use strict";
3
+ try {
4
+ if (typeof document != "undefined") {
5
+ var elementStyle = document.createElement("style");
6
+ elementStyle.appendChild(document.createTextNode("._tag_xg111_1{display:inline-flex;width:-moz-min-content;width:min-content;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;align-items:center;border-width:1px;border-style:solid;border-radius:.25rem;border-color:var(--color);color:#000000b3}[data-theme=dark] ._tag_xg111_1{color:#ffffffb3}._icon_xg111_18{display:block;line-height:1;margin:0;padding:.25rem;color:var(--font-color);border-radius:.125rem 0 0 .125rem}._text_xg111_27{white-space:nowrap;padding-inline:.5rem}"));
7
+ document.head.appendChild(elementStyle);
8
+ }
9
+ } catch (e) {
10
+ console.error("vite-plugin-css-injected-by-js", e);
11
+ }
12
+ })();
13
+ const tag = "_tag_xg111_1";
14
+ const icon = "_icon_xg111_18";
15
+ const text = "_text_xg111_27";
16
+ const style0 = {
17
+ tag,
18
+ icon,
19
+ text
20
+ };
21
+ export {
22
+ style0 as default,
23
+ icon,
24
+ tag,
25
+ text
26
+ };
@@ -1,3 +1,4 @@
1
+ import { Property } from 'csstype';
1
2
  export interface ElmCodeBlockProps {
2
3
  /**
3
4
  * The code to display.
@@ -12,8 +13,14 @@ export interface ElmCodeBlockProps {
12
13
  * If not provided, the language will be used.
13
14
  */
14
15
  caption?: string;
16
+ /**
17
+ * The margin of the code block.
18
+ */
19
+ margin?: Property.MarginBlock;
15
20
  }
16
21
  declare const _default: import('vue').DefineComponent<ElmCodeBlockProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<ElmCodeBlockProps> & Readonly<{}>, {
17
22
  language: string;
18
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
23
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
24
+ target: HTMLDivElement;
25
+ }, HTMLDivElement>;
19
26
  export default _default;
@@ -0,0 +1,10 @@
1
+ import _sfc_main from "./ElmCodeBlock.vue2.mjs";
2
+ import style0 from "./ElmCodeBlock.vue3.mjs";
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
+ const cssModules = {
5
+ "$style": style0
6
+ };
7
+ const ElmCodeBlock = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
8
+ export {
9
+ ElmCodeBlock as default
10
+ };
@@ -0,0 +1,105 @@
1
+ import { defineComponent, defineAsyncComponent, ref, createElementBlock, openBlock, normalizeStyle, normalizeClass, createElementVNode, createVNode, withCtx, unref } from "vue";
2
+ import { Icon } from "@iconify/vue";
3
+ import ElmLanguageIcon from "../icon/ElmLanguageIcon.vue.mjs";
4
+ import ElmInlineText from "../inline/ElmInlineText.vue.mjs";
5
+ import { useClipboard, useIntersectionObserver } from "@vueuse/core";
6
+ import ElmTooltip from "../containments/ElmTooltip.vue.mjs";
7
+ import ElmBlockFallback from "../fallback/ElmBlockFallback.vue.mjs";
8
+ import ElmDotLoadingIcon from "../icon/ElmDotLoadingIcon.vue.mjs";
9
+ const _sfc_main = /* @__PURE__ */ defineComponent({
10
+ __name: "ElmCodeBlock",
11
+ props: {
12
+ code: {},
13
+ language: { default: "txt" },
14
+ caption: {},
15
+ margin: {}
16
+ },
17
+ setup(__props) {
18
+ const props = __props;
19
+ const AsyncElmShikiHighlighter = defineAsyncComponent({
20
+ loader: () => import("./ElmShikiHighlighter.vue.mjs"),
21
+ loadingComponent: ElmBlockFallback
22
+ });
23
+ const isRendered = ref(false);
24
+ const { copy, copied } = useClipboard({ source: props.code });
25
+ const target = ref(null);
26
+ const targetIsVisible = ref(false);
27
+ useIntersectionObserver(target, ([{ isIntersecting }], _) => {
28
+ targetIsVisible.value = isIntersecting;
29
+ });
30
+ return (_ctx, _cache) => {
31
+ return openBlock(), createElementBlock("div", {
32
+ ref_key: "target",
33
+ ref: target,
34
+ class: normalizeClass(_ctx.$style.wrapper),
35
+ style: normalizeStyle({
36
+ "--margin-block": _ctx.margin,
37
+ "--opacity": targetIsVisible.value ? 1 : 0
38
+ })
39
+ }, [
40
+ createElementVNode("div", {
41
+ class: normalizeClass(_ctx.$style.header)
42
+ }, [
43
+ createElementVNode("div", {
44
+ class: normalizeClass(_ctx.$style.header__left)
45
+ }, [
46
+ createVNode(ElmLanguageIcon, {
47
+ language: _ctx.language,
48
+ size: 20
49
+ }, null, 8, ["language"]),
50
+ createVNode(ElmInlineText, {
51
+ text: _ctx.caption ?? _ctx.language
52
+ }, null, 8, ["text"])
53
+ ], 2),
54
+ createElementVNode("div", {
55
+ class: normalizeClass(_ctx.$style.header__right)
56
+ }, [
57
+ createVNode(ElmTooltip, null, {
58
+ original: withCtx(() => [
59
+ createVNode(unref(Icon), {
60
+ class: normalizeClass(_ctx.$style["copy-icon"]),
61
+ onClick: _cache[0] || (_cache[0] = () => {
62
+ unref(copy)(_ctx.code);
63
+ }),
64
+ icon: unref(copied) ? "mdi:clipboard-check-multiple-outline" : "mdi:clipboard-multiple-outline"
65
+ }, null, 8, ["class", "icon"])
66
+ ]),
67
+ tooltip: withCtx(() => [
68
+ createElementVNode("div", null, [
69
+ createVNode(ElmInlineText, {
70
+ text: unref(copied) ? "Copied to Clipboard!" : "Copy to Clipboard"
71
+ }, null, 8, ["text"])
72
+ ])
73
+ ]),
74
+ _: 1
75
+ })
76
+ ], 2)
77
+ ], 2),
78
+ createElementVNode("div", {
79
+ class: normalizeClass(_ctx.$style.code)
80
+ }, [
81
+ createElementVNode("div", {
82
+ class: normalizeClass(_ctx.$style["code-body"]),
83
+ style: normalizeStyle({ opacity: isRendered.value ? 1 : 0 })
84
+ }, [
85
+ createVNode(unref(AsyncElmShikiHighlighter), {
86
+ modelValue: isRendered.value,
87
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRendered.value = $event),
88
+ code: _ctx.code,
89
+ language: _ctx.language
90
+ }, null, 8, ["modelValue", "code", "language"])
91
+ ], 6),
92
+ createElementVNode("div", {
93
+ style: normalizeStyle({ opacity: !isRendered.value ? 1 : 0 }),
94
+ class: normalizeClass(_ctx.$style.fallback)
95
+ }, [
96
+ createVNode(ElmDotLoadingIcon, { size: "48px" })
97
+ ], 6)
98
+ ], 2)
99
+ ], 6);
100
+ };
101
+ }
102
+ });
103
+ export {
104
+ _sfc_main as default
105
+ };
@@ -0,0 +1,37 @@
1
+ (function() {
2
+ "use strict";
3
+ try {
4
+ if (typeof document != "undefined") {
5
+ var elementStyle = document.createElement("style");
6
+ elementStyle.appendChild(document.createTextNode("._wrapper_vcziv_1{margin-block:var(--margin-block);opacity:var(--opacity);display:flex;flex-direction:column;border-radius:.25rem;transition:background-color .4s,opacity .8s;background-color:#fff6;box-shadow:0 0 .25rem #0000001a}[data-theme=dark] ._wrapper_vcziv_1{background-color:#ffffff0d;box-shadow:0 0 .25rem #0000004d}._header_vcziv_16{box-sizing:border-box;padding:.25rem .5rem .5rem;margin:.5rem;display:flex;flex-direction:row;justify-content:space-between;font-family:Source Code Pro,Menlo,Consolas,DejaVu Sans Mono,monospace;border-bottom:solid 1px rgba(0,0,0,.2)}[data-theme=dark] ._header_vcziv_16{border-color:#fff3}._header__left_vcziv_30{display:flex;flex-direction:row;align-items:center;gap:.5rem}._copy-icon_vcziv_37{box-sizing:border-box;padding:.125rem;width:26px;height:26px;border-radius:.125rem;cursor:pointer;transition:background-color .2s;color:#000000b3}[data-theme=dark] ._copy-icon_vcziv_37{color:#ffffffb3}._copy-icon_vcziv_37:hover{background-color:#0000001a}[data-theme=dark] ._copy-icon_vcziv_37:hover{background-color:#ffffff1a}._header__right_vcziv_57{display:flex;flex-direction:row;align-items:center;gap:.5rem}._code_vcziv_64{position:relative;padding:.25rem 1rem 1rem;overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgba(105,135,184,.3) rgba(105,135,184,.15)}._code-body_vcziv_72{transition:opacity .2s}._fallback_vcziv_76{position:absolute;top:0;left:0;height:100%;width:100%;box-sizing:border-box;padding:auto;display:flex;justify-content:center;align-items:center;transition:opacity .2s}"));
7
+ document.head.appendChild(elementStyle);
8
+ }
9
+ } catch (e) {
10
+ console.error("vite-plugin-css-injected-by-js", e);
11
+ }
12
+ })();
13
+ const wrapper = "_wrapper_vcziv_1";
14
+ const header = "_header_vcziv_16";
15
+ const header__left = "_header__left_vcziv_30";
16
+ const header__right = "_header__right_vcziv_57";
17
+ const code = "_code_vcziv_64";
18
+ const fallback = "_fallback_vcziv_76";
19
+ const style0 = {
20
+ wrapper,
21
+ header,
22
+ header__left,
23
+ "copy-icon": "_copy-icon_vcziv_37",
24
+ header__right,
25
+ code,
26
+ "code-body": "_code-body_vcziv_72",
27
+ fallback
28
+ };
29
+ export {
30
+ code,
31
+ style0 as default,
32
+ fallback,
33
+ header,
34
+ header__left,
35
+ header__right,
36
+ wrapper
37
+ };
@@ -14,5 +14,7 @@ export interface ElmKatexProps {
14
14
  }
15
15
  declare const _default: import('vue').DefineComponent<ElmKatexProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<ElmKatexProps> & Readonly<{}>, {
16
16
  block: boolean;
17
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
17
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
18
+ targetRef: HTMLSpanElement;
19
+ }, any>;
18
20
  export default _default;
@@ -0,0 +1,10 @@
1
+ import _sfc_main from "./ElmKatex.vue2.mjs";
2
+ import style0 from "./ElmKatex.vue3.mjs";
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
+ const cssModules = {
5
+ "$style": style0
6
+ };
7
+ const ElmKatex = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
8
+ export {
9
+ ElmKatex as default
10
+ };
@@ -0,0 +1,67 @@
1
+ import { defineComponent, ref, onMounted, onUpdated, onServerPrefetch, createElementBlock, openBlock, normalizeStyle, normalizeClass, createCommentVNode } from "vue";
2
+ const _hoisted_1 = ["innerHTML"];
3
+ const _hoisted_2 = ["innerHTML"];
4
+ const _sfc_main = /* @__PURE__ */ defineComponent({
5
+ __name: "ElmKatex",
6
+ props: {
7
+ expression: {},
8
+ block: { type: Boolean, default: false }
9
+ },
10
+ setup(__props) {
11
+ const props = __props;
12
+ const html = ref();
13
+ let katexRenderToString = null;
14
+ const loadKatex = async () => {
15
+ if (!katexRenderToString) {
16
+ const { renderToString } = await import("katex");
17
+ katexRenderToString = renderToString;
18
+ }
19
+ };
20
+ const render = async () => {
21
+ await loadKatex();
22
+ if (html.value == null && katexRenderToString) {
23
+ try {
24
+ html.value = katexRenderToString(props.expression, {
25
+ displayMode: props.block,
26
+ output: "mathml"
27
+ });
28
+ } catch (err) {
29
+ console.error("KaTeX rendering error:", err);
30
+ }
31
+ }
32
+ };
33
+ onMounted(render);
34
+ onUpdated(render);
35
+ onServerPrefetch(render);
36
+ return (_ctx, _cache) => {
37
+ return props.block ? (openBlock(), createElementBlock("div", {
38
+ key: 0,
39
+ ref: "targetRef",
40
+ class: normalizeClass(_ctx.$style.katex),
41
+ style: normalizeStyle({
42
+ "--margin-block": props.block ? "3rem" : void 0
43
+ })
44
+ }, [
45
+ html.value ? (openBlock(), createElementBlock("span", {
46
+ key: 0,
47
+ innerHTML: html.value
48
+ }, null, 8, _hoisted_1)) : createCommentVNode("", true)
49
+ ], 6)) : (openBlock(), createElementBlock("span", {
50
+ key: 1,
51
+ ref: "targetRef",
52
+ class: normalizeClass(_ctx.$style.katex),
53
+ style: normalizeStyle({
54
+ "--margin-block": props.block ? "3rem" : void 0
55
+ })
56
+ }, [
57
+ html.value ? (openBlock(), createElementBlock("span", {
58
+ key: 0,
59
+ innerHTML: html.value
60
+ }, null, 8, _hoisted_2)) : createCommentVNode("", true)
61
+ ], 6));
62
+ };
63
+ }
64
+ });
65
+ export {
66
+ _sfc_main as default
67
+ };
@@ -0,0 +1,20 @@
1
+ (function() {
2
+ "use strict";
3
+ try {
4
+ if (typeof document != "undefined") {
5
+ var elementStyle = document.createElement("style");
6
+ elementStyle.appendChild(document.createTextNode("._katex_vrtkg_1{margin-block:var(--margin-block);color:#000000b3}._katex_vrtkg_1::-moz-selection{color:#ffffffb3;background-color:#000000b3;background-color:var(--color, rgba(0, 0, 0, .7))}._katex_vrtkg_1::selection{color:#ffffffb3;background-color:#000000b3;background-color:var(--color, rgba(0, 0, 0, .7))}[data-theme=dark] ._katex_vrtkg_1{color:#ffffffb3;color:var(--color, rgba(255, 255, 255, .7))}[data-theme=dark] ._katex_vrtkg_1::-moz-selection{color:#000000b3;background-color:#ffffffb3;background-color:var(--color, rgba(255, 255, 255, .7))}[data-theme=dark] ._katex_vrtkg_1::selection{color:#000000b3;background-color:#ffffffb3;background-color:var(--color, rgba(255, 255, 255, .7))}"));
7
+ document.head.appendChild(elementStyle);
8
+ }
9
+ } catch (e) {
10
+ console.error("vite-plugin-css-injected-by-js", e);
11
+ }
12
+ })();
13
+ const katex = "_katex_vrtkg_1";
14
+ const style0 = {
15
+ katex
16
+ };
17
+ export {
18
+ style0 as default,
19
+ katex
20
+ };
@@ -1,7 +1,6 @@
1
1
  import { Meta, StoryObj } from '@storybook/vue3';
2
- import { default as ElmPrismHighlighter } from './ElmPrismHighlighter.vue';
3
- declare const meta: Meta<typeof ElmPrismHighlighter>;
2
+ import { default as ElmShikiHighlighter } from './ElmShikiHighlighter.vue';
3
+ declare const meta: Meta<typeof ElmShikiHighlighter>;
4
4
  export default meta;
5
5
  type Story = StoryObj<typeof meta>;
6
6
  export declare const Primary: Story;
7
- export declare const Rust: Story;
@@ -0,0 +1,22 @@
1
+ export interface ElmShikiHighlighterProps {
2
+ /**
3
+ * The code to display.
4
+ */
5
+ code: string;
6
+ /**
7
+ * The language of the code.
8
+ */
9
+ language?: string;
10
+ }
11
+ type __VLS_Props = ElmShikiHighlighterProps;
12
+ type __VLS_PublicProps = {
13
+ modelValue?: boolean;
14
+ } & __VLS_Props;
15
+ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
16
+ "update:modelValue": (value: boolean) => any;
17
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
18
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
19
+ }>, {
20
+ language: string;
21
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
22
+ export default _default;
@@ -0,0 +1,23 @@
1
+ (function() {
2
+ "use strict";
3
+ try {
4
+ if (typeof document != "undefined") {
5
+ var elementStyle = document.createElement("style");
6
+ elementStyle.appendChild(document.createTextNode(".shiki,.shiki span{font-family:Source Code Pro,Menlo,Consolas,DejaVu Sans Mono,monospace!important}.shiki *::-moz-selection,.shiki span *::-moz-selection{background-color:#0000001a}.shiki *::selection,.shiki span *::selection{background-color:#0000001a}[data-theme=dark] .shiki *::-moz-selection,[data-theme=dark] .shiki span *::-moz-selection{background-color:#ffffff26}[data-theme=dark] .shiki *::selection,[data-theme=dark] .shiki span *::selection{background-color:#ffffff26}[data-theme=dark] .shiki,[data-theme=dark] .shiki span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}"));
7
+ document.head.appendChild(elementStyle);
8
+ }
9
+ } catch (e) {
10
+ console.error("vite-plugin-css-injected-by-js", e);
11
+ }
12
+ })();
13
+ import _sfc_main from "./ElmShikiHighlighter.vue2.mjs";
14
+ import style0 from "./ElmShikiHighlighter.vue3.mjs";
15
+
16
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
17
+ const cssModules = {
18
+ "$style": style0
19
+ };
20
+ const ElmShikiHighlighter = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
21
+ export {
22
+ ElmShikiHighlighter as default
23
+ };
@@ -0,0 +1,51 @@
1
+ import { defineComponent, mergeModels, useModel, ref, onMounted, onServerPrefetch, createElementBlock, openBlock, normalizeClass, createElementVNode } from "vue";
2
+ import { getHighlighterSingleton } from "./shikiInstance.mjs";
3
+ const _hoisted_1 = ["innerHTML"];
4
+ const _sfc_main = /* @__PURE__ */ defineComponent({
5
+ __name: "ElmShikiHighlighter",
6
+ props: /* @__PURE__ */ mergeModels({
7
+ code: {},
8
+ language: { default: "txt" }
9
+ }, {
10
+ "modelValue": { type: Boolean, ...{ default: false } },
11
+ "modelModifiers": {}
12
+ }),
13
+ emits: ["update:modelValue"],
14
+ setup(__props) {
15
+ const props = __props;
16
+ const isRendered = useModel(__props, "modelValue");
17
+ const html = ref(`<pre>${props.code}</pre>`);
18
+ const render = async () => {
19
+ if (!isRendered.value) {
20
+ const highlighter = await getHighlighterSingleton();
21
+ html.value = highlighter.codeToHtml(props.code, {
22
+ lang: props.language,
23
+ themes: {
24
+ dark: "vitesse-dark",
25
+ light: "vitesse-light"
26
+ },
27
+ colorReplacements: {
28
+ "#ffffff": "transparent",
29
+ "#121212": "transparent"
30
+ }
31
+ });
32
+ isRendered.value = true;
33
+ }
34
+ };
35
+ onMounted(render);
36
+ onServerPrefetch(render);
37
+ return (_ctx, _cache) => {
38
+ return openBlock(), createElementBlock("div", {
39
+ class: normalizeClass(_ctx.$style.code)
40
+ }, [
41
+ createElementVNode("div", {
42
+ class: "shiki",
43
+ innerHTML: html.value
44
+ }, null, 8, _hoisted_1)
45
+ ], 2);
46
+ };
47
+ }
48
+ });
49
+ export {
50
+ _sfc_main as default
51
+ };
@@ -0,0 +1,20 @@
1
+ (function() {
2
+ "use strict";
3
+ try {
4
+ if (typeof document != "undefined") {
5
+ var elementStyle = document.createElement("style");
6
+ elementStyle.appendChild(document.createTextNode("._code_1pggw_1{font-size:16px;line-height:24px}"));
7
+ document.head.appendChild(elementStyle);
8
+ }
9
+ } catch (e) {
10
+ console.error("vite-plugin-css-injected-by-js", e);
11
+ }
12
+ })();
13
+ const code = "_code_1pggw_1";
14
+ const style0 = {
15
+ code
16
+ };
17
+ export {
18
+ code,
19
+ style0 as default
20
+ };
@@ -0,0 +1,2 @@
1
+ import { Highlighter } from 'shiki';
2
+ export declare function getHighlighterSingleton(): Promise<Highlighter>;