@elmethis/core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/dist/_virtual/_plugin-vue_export-helper.mjs +10 -0
  2. package/dist/components/code/ElmCodeBlock.stories.d.ts +9 -0
  3. package/dist/components/code/ElmCodeBlock.vue.d.ts +48 -0
  4. package/dist/components/code/ElmCodeBlock.vue.mjs +23 -0
  5. package/dist/components/code/ElmCodeBlock.vue2.mjs +134 -0
  6. package/dist/components/code/ElmCodeBlock.vue3.mjs +40 -0
  7. package/dist/components/code/ElmKatex.stories.d.ts +8 -0
  8. package/dist/components/code/ElmKatex.vue.d.ts +20 -0
  9. package/dist/components/code/ElmKatex.vue.mjs +10 -0
  10. package/dist/components/code/ElmKatex.vue2.mjs +67 -0
  11. package/dist/components/code/ElmKatex.vue3.mjs +20 -0
  12. package/dist/components/code/ElmShikiHighlighter.stories.d.ts +6 -0
  13. package/dist/components/code/ElmShikiHighlighter.vue.d.ts +22 -0
  14. package/dist/components/code/ElmShikiHighlighter.vue.mjs +23 -0
  15. package/dist/components/code/ElmShikiHighlighter.vue2.mjs +55 -0
  16. package/dist/components/code/ElmShikiHighlighter.vue3.mjs +20 -0
  17. package/dist/components/code/shikiInstance.d.ts +2 -0
  18. package/dist/components/code/shikiInstance.mjs +76 -0
  19. package/dist/components/containments/ElmColumn.stories.d.ts +6 -0
  20. package/dist/components/containments/ElmColumn.vue.d.ts +19 -0
  21. package/dist/components/containments/ElmColumn.vue.mjs +10 -0
  22. package/dist/components/containments/ElmColumn.vue2.mjs +16 -0
  23. package/dist/components/containments/ElmColumn.vue3.mjs +20 -0
  24. package/dist/components/containments/ElmColumnList.vue.d.ts +19 -0
  25. package/dist/components/containments/ElmColumnList.vue.mjs +10 -0
  26. package/dist/components/containments/ElmColumnList.vue2.mjs +16 -0
  27. package/dist/components/containments/ElmColumnList.vue3.mjs +18 -0
  28. package/dist/components/containments/ElmDesktopWindow.stories.d.ts +6 -0
  29. package/dist/components/containments/ElmDesktopWindow.vue.d.ts +27 -0
  30. package/dist/components/containments/ElmDesktopWindow.vue.mjs +10 -0
  31. package/dist/components/containments/ElmDesktopWindow.vue2.mjs +42 -0
  32. package/dist/components/containments/ElmDesktopWindow.vue3.mjs +26 -0
  33. package/dist/components/containments/ElmModal.stories.d.ts +6 -0
  34. package/dist/components/containments/ElmModal.vue.d.ts +35 -0
  35. package/dist/components/containments/ElmModal.vue.mjs +23 -0
  36. package/dist/components/containments/ElmModal.vue2.mjs +44 -0
  37. package/dist/components/containments/ElmModal.vue3.mjs +23 -0
  38. package/dist/components/containments/ElmParallax.stories.d.ts +6 -0
  39. package/dist/components/containments/ElmParallax.vue.d.ts +6 -0
  40. package/dist/components/containments/ElmParallax.vue.mjs +10 -0
  41. package/dist/components/containments/ElmParallax.vue2.mjs +35 -0
  42. package/dist/components/containments/ElmParallax.vue3.mjs +20 -0
  43. package/dist/components/containments/ElmSnackbar.stories.d.ts +6 -0
  44. package/dist/components/containments/ElmSnackbar.vue.d.ts +11 -0
  45. package/dist/components/containments/ElmSnackbar.vue.mjs +10 -0
  46. package/dist/components/containments/ElmSnackbar.vue2.mjs +41 -0
  47. package/dist/components/containments/ElmSnackbar.vue3.mjs +26 -0
  48. package/dist/components/containments/ElmSnackbarContainer.vue.d.ts +10 -0
  49. package/dist/components/containments/ElmSnackbarContainer.vue.mjs +23 -0
  50. package/dist/components/containments/ElmSnackbarContainer.vue2.mjs +33 -0
  51. package/dist/components/containments/ElmSnackbarContainer.vue3.mjs +19 -0
  52. package/dist/components/containments/ElmToggle.stories.d.ts +7 -0
  53. package/dist/components/containments/ElmToggle.vue.d.ts +41 -0
  54. package/dist/components/containments/ElmToggle.vue.mjs +23 -0
  55. package/dist/components/containments/ElmToggle.vue2.mjs +99 -0
  56. package/dist/components/containments/ElmToggle.vue3.mjs +34 -0
  57. package/dist/components/containments/ElmTooltip.stories.d.ts +6 -0
  58. package/dist/components/containments/ElmTooltip.vue.d.ts +24 -0
  59. package/dist/components/containments/ElmTooltip.vue.mjs +23 -0
  60. package/dist/components/containments/ElmTooltip.vue2.mjs +49 -0
  61. package/dist/components/containments/ElmTooltip.vue3.mjs +20 -0
  62. package/dist/components/containments/useSnackbarState.d.ts +28 -0
  63. package/dist/components/data/ElmMultiProgress.stories.d.ts +6 -0
  64. package/dist/components/data/ElmMultiProgress.vue.d.ts +30 -0
  65. package/dist/components/data/ElmMultiProgress.vue.mjs +10 -0
  66. package/dist/components/data/ElmMultiProgress.vue2.mjs +45 -0
  67. package/dist/components/data/ElmMultiProgress.vue3.mjs +23 -0
  68. package/dist/components/data/ElmProgress.stories.d.ts +10 -0
  69. package/dist/components/data/ElmProgress.vue.d.ts +38 -0
  70. package/dist/components/data/ElmProgress.vue.mjs +10 -0
  71. package/dist/components/data/ElmProgress.vue2.mjs +53 -0
  72. package/dist/components/data/ElmProgress.vue3.mjs +32 -0
  73. package/dist/components/data/ElmStatusMessage.stories.d.ts +9 -0
  74. package/dist/components/data/ElmStatusMessage.vue.d.ts +6 -0
  75. package/dist/components/data/ElmStatusMessage.vue.mjs +23 -0
  76. package/dist/components/data/ElmStatusMessage.vue2.mjs +76 -0
  77. package/dist/components/data/ElmStatusMessage.vue3.mjs +20 -0
  78. package/dist/components/fallback/ElmBlockFallback.stories.d.ts +6 -0
  79. package/dist/components/fallback/ElmBlockFallback.vue.d.ts +4 -0
  80. package/dist/components/fallback/ElmBlockFallback.vue.mjs +10 -0
  81. package/dist/components/fallback/ElmBlockFallback.vue2.mjs +17 -0
  82. package/dist/components/fallback/ElmBlockFallback.vue3.mjs +18 -0
  83. package/dist/components/fallback/ElmRectangleWave.stories.d.ts +6 -0
  84. package/dist/components/fallback/ElmRectangleWave.vue.d.ts +4 -0
  85. package/dist/components/fallback/ElmRectangleWave.vue.mjs +10 -0
  86. package/dist/components/fallback/ElmRectangleWave.vue2.mjs +15 -0
  87. package/dist/components/fallback/ElmRectangleWave.vue3.mjs +21 -0
  88. package/dist/components/fallback/ElmSpinner.stories.d.ts +6 -0
  89. package/dist/components/fallback/ElmSpinner.vue.d.ts +9 -0
  90. package/dist/components/fallback/ElmSpinner.vue.mjs +10 -0
  91. package/dist/components/fallback/ElmSpinner.vue2.mjs +30 -0
  92. package/dist/components/fallback/ElmSpinner.vue3.mjs +24 -0
  93. package/dist/components/fallback/ElmUnsupportedBlock.stories.d.ts +6 -0
  94. package/dist/components/fallback/ElmUnsupportedBlock.vue.d.ts +5 -0
  95. package/dist/components/fallback/ElmUnsupportedBlock.vue.mjs +10 -0
  96. package/dist/components/fallback/ElmUnsupportedBlock.vue2.mjs +46 -0
  97. package/dist/components/fallback/ElmUnsupportedBlock.vue3.mjs +29 -0
  98. package/dist/components/form/ElmButton.stories.d.ts +11 -0
  99. package/dist/components/form/ElmButton.vue.d.ts +41 -0
  100. package/dist/components/form/ElmButton.vue.mjs +23 -0
  101. package/dist/components/form/ElmButton.vue2.mjs +68 -0
  102. package/dist/components/form/ElmButton.vue3.mjs +36 -0
  103. package/dist/components/form/ElmCheckbox.stories.d.ts +6 -0
  104. package/dist/components/form/ElmCheckbox.vue.d.ts +26 -0
  105. package/dist/components/form/ElmCheckbox.vue.mjs +10 -0
  106. package/dist/components/form/ElmCheckbox.vue2.mjs +177 -0
  107. package/dist/components/form/ElmCheckbox.vue3.mjs +34 -0
  108. package/dist/components/form/ElmSwitch.stories.d.ts +6 -0
  109. package/dist/components/form/ElmSwitch.vue.d.ts +32 -0
  110. package/dist/components/form/ElmSwitch.vue.mjs +10 -0
  111. package/dist/components/form/ElmSwitch.vue2.mjs +61 -0
  112. package/dist/components/form/ElmSwitch.vue3.mjs +28 -0
  113. package/dist/components/form/ElmTextField.stories.d.ts +6 -0
  114. package/dist/components/form/ElmTextField.vue.d.ts +29 -0
  115. package/dist/components/form/ElmTextField.vue.mjs +10 -0
  116. package/dist/components/form/ElmTextField.vue2.mjs +143 -0
  117. package/dist/components/form/ElmTextField.vue3.mjs +46 -0
  118. package/dist/components/icon/ElmArrowIcon.stories.d.ts +6 -0
  119. package/dist/components/icon/ElmArrowIcon.vue.d.ts +26 -0
  120. package/dist/components/icon/ElmArrowIcon.vue.mjs +10 -0
  121. package/dist/components/icon/ElmArrowIcon.vue2.mjs +31 -0
  122. package/dist/components/icon/ElmArrowIcon.vue3.mjs +29 -0
  123. package/dist/components/icon/ElmBookmarkIcon.stories.d.ts +8 -0
  124. package/dist/components/icon/ElmBookmarkIcon.vue.d.ts +7 -0
  125. package/dist/components/icon/ElmBookmarkIcon.vue.mjs +10 -0
  126. package/dist/components/icon/ElmBookmarkIcon.vue2.mjs +47 -0
  127. package/dist/components/icon/ElmBookmarkIcon.vue3.mjs +26 -0
  128. package/dist/components/icon/ElmCubeIcon.stories.d.ts +6 -0
  129. package/dist/components/icon/ElmCubeIcon.vue.d.ts +10 -0
  130. package/dist/components/icon/ElmCubeIcon.vue.mjs +10 -0
  131. package/dist/components/icon/ElmCubeIcon.vue2.mjs +41 -0
  132. package/dist/components/icon/ElmCubeIcon.vue3.mjs +24 -0
  133. package/dist/components/icon/ElmDotLoadingIcon.stories.d.ts +6 -0
  134. package/dist/components/icon/ElmDotLoadingIcon.vue.d.ts +18 -0
  135. package/dist/components/icon/ElmDotLoadingIcon.vue.mjs +10 -0
  136. package/dist/components/icon/ElmDotLoadingIcon.vue2.mjs +28 -0
  137. package/dist/components/icon/ElmDotLoadingIcon.vue3.mjs +26 -0
  138. package/dist/components/icon/ElmInlineIcon.stories.d.ts +6 -0
  139. package/dist/components/icon/ElmInlineIcon.vue.d.ts +12 -0
  140. package/dist/components/icon/ElmInlineIcon.vue.mjs +10 -0
  141. package/dist/components/icon/ElmInlineIcon.vue2.mjs +27 -0
  142. package/dist/components/icon/ElmInlineIcon.vue3.mjs +20 -0
  143. package/dist/components/icon/ElmLanguageIcon.stories.d.ts +6 -0
  144. package/dist/components/icon/ElmLanguageIcon.vue.d.ts +14 -0
  145. package/dist/components/icon/ElmLanguageIcon.vue.mjs +23 -0
  146. package/dist/components/icon/ElmLanguageIcon.vue2.mjs +202 -0
  147. package/dist/components/icon/ElmLanguageIcon.vue3.mjs +20 -0
  148. package/dist/components/icon/ElmLoginIcon.stories.d.ts +6 -0
  149. package/dist/components/icon/ElmLoginIcon.vue.d.ts +18 -0
  150. package/dist/components/icon/ElmLoginIcon.vue.mjs +10 -0
  151. package/dist/components/icon/ElmLoginIcon.vue2.mjs +36 -0
  152. package/dist/components/icon/ElmLoginIcon.vue3.mjs +20 -0
  153. package/dist/components/icon/ElmMdiIcon.stories.d.ts +6 -0
  154. package/dist/components/icon/ElmMdiIcon.vue.d.ts +11 -0
  155. package/dist/components/icon/ElmMdiIcon.vue.mjs +10 -0
  156. package/dist/components/icon/ElmMdiIcon.vue2.mjs +34 -0
  157. package/dist/components/icon/ElmMdiIcon.vue3.mjs +20 -0
  158. package/dist/components/icon/ElmToggleTheme.stories.d.ts +6 -0
  159. package/dist/components/icon/ElmToggleTheme.vue.d.ts +11 -0
  160. package/dist/components/icon/ElmToggleTheme.vue.mjs +10 -0
  161. package/dist/components/icon/ElmToggleTheme.vue2.mjs +41 -0
  162. package/dist/components/icon/ElmToggleTheme.vue3.mjs +20 -0
  163. package/dist/components/icon/languages/Bash.vue.d.ts +7 -0
  164. package/dist/components/icon/languages/Bash.vue.mjs +10 -0
  165. package/dist/components/icon/languages/Bash.vue2.mjs +34 -0
  166. package/dist/components/icon/languages/Bash.vue3.mjs +20 -0
  167. package/dist/components/icon/languages/C.vue.d.ts +7 -0
  168. package/dist/components/icon/languages/C.vue.mjs +4 -0
  169. package/dist/components/icon/languages/C.vue2.mjs +34 -0
  170. package/dist/components/icon/languages/Cplusplus.vue.d.ts +7 -0
  171. package/dist/components/icon/languages/Cplusplus.vue.mjs +4 -0
  172. package/dist/components/icon/languages/Cplusplus.vue2.mjs +38 -0
  173. package/dist/components/icon/languages/Csharp.vue.d.ts +7 -0
  174. package/dist/components/icon/languages/Csharp.vue.mjs +4 -0
  175. package/dist/components/icon/languages/Csharp.vue2.mjs +34 -0
  176. package/dist/components/icon/languages/Css.vue.d.ts +7 -0
  177. package/dist/components/icon/languages/Css.vue.mjs +4 -0
  178. package/dist/components/icon/languages/Css.vue2.mjs +26 -0
  179. package/dist/components/icon/languages/Go.vue.d.ts +7 -0
  180. package/dist/components/icon/languages/Go.vue.mjs +4 -0
  181. package/dist/components/icon/languages/Go.vue2.mjs +32 -0
  182. package/dist/components/icon/languages/Html.vue.d.ts +7 -0
  183. package/dist/components/icon/languages/Html.vue.mjs +4 -0
  184. package/dist/components/icon/languages/Html.vue2.mjs +38 -0
  185. package/dist/components/icon/languages/Java.vue.d.ts +7 -0
  186. package/dist/components/icon/languages/Java.vue.mjs +4 -0
  187. package/dist/components/icon/languages/Java.vue2.mjs +23 -0
  188. package/dist/components/icon/languages/Javascript.vue.d.ts +7 -0
  189. package/dist/components/icon/languages/Javascript.vue.mjs +4 -0
  190. package/dist/components/icon/languages/Javascript.vue2.mjs +30 -0
  191. package/dist/components/icon/languages/Json.vue.d.ts +7 -0
  192. package/dist/components/icon/languages/Json.vue.mjs +4 -0
  193. package/dist/components/icon/languages/Json.vue2.mjs +23 -0
  194. package/dist/components/icon/languages/Kotlin.vue.d.ts +7 -0
  195. package/dist/components/icon/languages/Kotlin.vue.mjs +4 -0
  196. package/dist/components/icon/languages/Kotlin.vue2.mjs +23 -0
  197. package/dist/components/icon/languages/Lua.vue.d.ts +7 -0
  198. package/dist/components/icon/languages/Lua.vue.mjs +4 -0
  199. package/dist/components/icon/languages/Lua.vue2.mjs +34 -0
  200. package/dist/components/icon/languages/Npm.vue.d.ts +7 -0
  201. package/dist/components/icon/languages/Npm.vue.mjs +4 -0
  202. package/dist/components/icon/languages/Npm.vue2.mjs +30 -0
  203. package/dist/components/icon/languages/Python.vue.d.ts +7 -0
  204. package/dist/components/icon/languages/Python.vue.mjs +4 -0
  205. package/dist/components/icon/languages/Python.vue2.mjs +23 -0
  206. package/dist/components/icon/languages/Rust.vue.d.ts +7 -0
  207. package/dist/components/icon/languages/Rust.vue.mjs +4 -0
  208. package/dist/components/icon/languages/Rust.vue2.mjs +24 -0
  209. package/dist/components/icon/languages/Sql.vue.d.ts +7 -0
  210. package/dist/components/icon/languages/Sql.vue.mjs +4 -0
  211. package/dist/components/icon/languages/Sql.vue2.mjs +26 -0
  212. package/dist/components/icon/languages/Terraform.vue.d.ts +7 -0
  213. package/dist/components/icon/languages/Terraform.vue.mjs +4 -0
  214. package/dist/components/icon/languages/Terraform.vue2.mjs +36 -0
  215. package/dist/components/icon/languages/Typescript.vue.d.ts +7 -0
  216. package/dist/components/icon/languages/Typescript.vue.mjs +4 -0
  217. package/dist/components/icon/languages/Typescript.vue2.mjs +30 -0
  218. package/dist/components/media/ElmBlockImage.stories.d.ts +9 -0
  219. package/dist/components/media/ElmBlockImage.vue.d.ts +12 -0
  220. package/dist/components/media/ElmBlockImage.vue.mjs +23 -0
  221. package/dist/components/media/ElmBlockImage.vue2.mjs +117 -0
  222. package/dist/components/media/ElmBlockImage.vue3.mjs +36 -0
  223. package/dist/components/media/ElmFile.stories.d.ts +6 -0
  224. package/dist/components/media/ElmFile.vue.d.ts +21 -0
  225. package/dist/components/media/ElmFile.vue.mjs +10 -0
  226. package/dist/components/media/ElmFile.vue2.mjs +79 -0
  227. package/dist/components/media/ElmFile.vue3.mjs +23 -0
  228. package/dist/components/media/ElmImage.stories.d.ts +9 -0
  229. package/dist/components/media/ElmImage.vue.d.ts +23 -0
  230. package/dist/components/media/ElmImage.vue.mjs +23 -0
  231. package/dist/components/media/ElmImage.vue2.mjs +91 -0
  232. package/dist/components/media/ElmImage.vue3.mjs +30 -0
  233. package/dist/components/navigation/ElmBookmark.stories.d.ts +12 -0
  234. package/dist/components/navigation/ElmBookmark.vue.d.ts +53 -0
  235. package/dist/components/navigation/ElmBookmark.vue.mjs +10 -0
  236. package/dist/components/navigation/ElmBookmark.vue2.mjs +116 -0
  237. package/dist/components/navigation/ElmBookmark.vue3.mjs +41 -0
  238. package/dist/components/navigation/ElmBreadcrumb.stories.d.ts +7 -0
  239. package/dist/components/navigation/ElmBreadcrumb.vue.d.ts +19 -0
  240. package/dist/components/navigation/ElmBreadcrumb.vue.mjs +10 -0
  241. package/dist/components/navigation/ElmBreadcrumb.vue2.mjs +65 -0
  242. package/dist/components/navigation/ElmBreadcrumb.vue3.mjs +24 -0
  243. package/dist/components/navigation/ElmPagetop.stories.d.ts +6 -0
  244. package/dist/components/navigation/ElmPagetop.vue.d.ts +10 -0
  245. package/dist/components/navigation/ElmPagetop.vue.mjs +10 -0
  246. package/dist/components/navigation/ElmPagetop.vue2.mjs +51 -0
  247. package/dist/components/navigation/ElmPagetop.vue3.mjs +30 -0
  248. package/dist/components/navigation/ElmTableOfContents.stories.d.ts +7 -0
  249. package/dist/components/navigation/ElmTableOfContents.vue.d.ts +9 -0
  250. package/dist/components/navigation/ElmTableOfContents.vue.mjs +10 -0
  251. package/dist/components/navigation/ElmTableOfContents.vue2.mjs +45 -0
  252. package/dist/components/navigation/ElmTableOfContents.vue3.mjs +23 -0
  253. package/dist/components/others/ElmColorSample.stories.d.ts +6 -0
  254. package/dist/components/others/ElmColorSample.vue.d.ts +8 -0
  255. package/dist/components/others/ElmColorSample.vue.mjs +23 -0
  256. package/dist/components/others/ElmColorSample.vue2.mjs +72 -0
  257. package/dist/components/others/ElmColorSample.vue3.mjs +21 -0
  258. package/dist/components/others/ElmColorTable.stories.d.ts +6 -0
  259. package/dist/components/others/ElmColorTable.vue.d.ts +11 -0
  260. package/dist/components/others/ElmColorTable.vue.mjs +10 -0
  261. package/dist/components/others/ElmColorTable.vue2.mjs +45 -0
  262. package/dist/components/others/ElmColorTable.vue3.mjs +22 -0
  263. package/dist/components/others/ElmJsonComponentRenderer.stories.d.ts +23 -0
  264. package/dist/components/others/ElmJsonComponentRenderer.vue.d.ts +6 -0
  265. package/dist/components/others/ElmJsonComponentRenderer.vue.mjs +10 -0
  266. package/dist/components/others/ElmJsonComponentRenderer.vue2.mjs +240 -0
  267. package/dist/components/others/ElmJsonComponentRenderer.vue3.mjs +21 -0
  268. package/dist/components/others/ElmTyping.stories.d.ts +6 -0
  269. package/dist/components/others/ElmTyping.vue.d.ts +4 -0
  270. package/dist/components/table/ElmTable.stories.d.ts +6 -0
  271. package/dist/components/table/ElmTable.vue.d.ts +46 -0
  272. package/dist/components/table/ElmTable.vue.mjs +10 -0
  273. package/dist/components/table/ElmTable.vue2.mjs +61 -0
  274. package/dist/components/table/ElmTable.vue3.mjs +27 -0
  275. package/dist/components/table/ElmTableBody.vue.d.ts +22 -0
  276. package/dist/components/table/ElmTableBody.vue.mjs +15 -0
  277. package/dist/components/table/ElmTableBody.vue2.mjs +4 -0
  278. package/dist/components/table/ElmTableCell.vue.d.ts +33 -0
  279. package/dist/components/table/ElmTableCell.vue.mjs +10 -0
  280. package/dist/components/table/ElmTableCell.vue2.mjs +28 -0
  281. package/dist/components/table/ElmTableCell.vue3.mjs +26 -0
  282. package/dist/components/table/ElmTableHeader.vue.d.ts +22 -0
  283. package/dist/components/table/ElmTableHeader.vue.mjs +10 -0
  284. package/dist/components/table/ElmTableHeader.vue2.mjs +17 -0
  285. package/dist/components/table/ElmTableHeader.vue3.mjs +20 -0
  286. package/dist/components/table/ElmTableRow.vue.d.ts +22 -0
  287. package/dist/components/table/ElmTableRow.vue.mjs +10 -0
  288. package/dist/components/table/ElmTableRow.vue2.mjs +20 -0
  289. package/dist/components/table/ElmTableRow.vue3.mjs +21 -0
  290. package/dist/components/template/ElmTemplate.stories.d.ts +6 -0
  291. package/dist/components/template/ElmTemplate.vue.d.ts +4 -0
  292. package/dist/components/typography/ElmBlockQuote.stories.d.ts +6 -0
  293. package/dist/components/typography/ElmBlockQuote.vue.d.ts +24 -0
  294. package/dist/components/typography/ElmBlockQuote.vue.mjs +10 -0
  295. package/dist/components/typography/ElmBlockQuote.vue2.mjs +64 -0
  296. package/dist/components/typography/ElmBlockQuote.vue3.mjs +26 -0
  297. package/dist/components/typography/ElmCallout.stories.d.ts +10 -0
  298. package/dist/components/typography/ElmCallout.vue.d.ts +30 -0
  299. package/dist/components/typography/ElmCallout.vue.mjs +10 -0
  300. package/dist/components/typography/ElmCallout.vue2.mjs +58 -0
  301. package/dist/components/typography/ElmCallout.vue3.mjs +23 -0
  302. package/dist/components/typography/ElmDivider.stories.d.ts +6 -0
  303. package/dist/components/typography/ElmDivider.vue.d.ts +11 -0
  304. package/dist/components/typography/ElmDivider.vue.mjs +10 -0
  305. package/dist/components/typography/ElmDivider.vue2.mjs +29 -0
  306. package/dist/components/typography/ElmDivider.vue3.mjs +20 -0
  307. package/dist/components/typography/ElmFragmentIdentifier.stories.d.ts +6 -0
  308. package/dist/components/typography/ElmFragmentIdentifier.vue.d.ts +8 -0
  309. package/dist/components/typography/ElmFragmentIdentifier.vue.mjs +10 -0
  310. package/dist/components/typography/ElmFragmentIdentifier.vue2.mjs +62 -0
  311. package/dist/components/typography/ElmFragmentIdentifier.vue3.mjs +23 -0
  312. package/dist/components/typography/ElmHeading.stories.d.ts +7 -0
  313. package/dist/components/typography/ElmHeading.vue.d.ts +49 -0
  314. package/dist/components/typography/ElmHeading.vue.mjs +10 -0
  315. package/dist/components/typography/ElmHeading.vue2.mjs +72 -0
  316. package/dist/components/typography/ElmHeading.vue3.mjs +39 -0
  317. package/dist/components/typography/ElmInlineText.stories.d.ts +10 -0
  318. package/dist/components/typography/ElmInlineText.vue.d.ts +61 -0
  319. package/dist/components/typography/ElmInlineText.vue.mjs +10 -0
  320. package/dist/components/typography/ElmInlineText.vue2.mjs +98 -0
  321. package/dist/components/typography/ElmInlineText.vue3.mjs +26 -0
  322. package/dist/components/typography/ElmList.stories.d.ts +8 -0
  323. package/dist/components/typography/ElmList.vue.d.ts +31 -0
  324. package/dist/components/typography/ElmList.vue.mjs +36 -0
  325. package/dist/components/typography/ElmList.vue3.mjs +17 -0
  326. package/dist/components/typography/ElmParagraph.stories.d.ts +6 -0
  327. package/dist/components/typography/ElmParagraph.vue.d.ts +23 -0
  328. package/dist/components/typography/ElmParagraph.vue.mjs +10 -0
  329. package/dist/components/typography/ElmParagraph.vue2.mjs +27 -0
  330. package/dist/components/typography/ElmParagraph.vue3.mjs +20 -0
  331. package/dist/components/typography/ElmTypingAnimation.stories.d.ts +6 -0
  332. package/dist/components/typography/ElmTypingAnimation.vue.d.ts +21 -0
  333. package/dist/hooks/useElmethisTheme.d.ts +4 -0
  334. package/dist/hooks/useElmethisTheme.mjs +43 -0
  335. package/dist/hooks/useTyping.d.ts +17 -0
  336. package/dist/hooks/useTyping.mjs +37 -0
  337. package/dist/index.d.ts +108 -0
  338. package/dist/index.mjs +124 -0
  339. package/package.json +60 -0
@@ -0,0 +1,26 @@
1
+ import { defineComponent, createElementBlock, openBlock, createElementVNode } from "vue";
2
+ const _hoisted_1 = ["width", "height"];
3
+ const _sfc_main = /* @__PURE__ */ defineComponent({
4
+ __name: "Sql",
5
+ props: {
6
+ size: { default: 24 }
7
+ },
8
+ setup(__props) {
9
+ return (_ctx, _cache) => {
10
+ return openBlock(), createElementBlock("svg", {
11
+ xmlns: "http://www.w3.org/2000/svg",
12
+ width: _ctx.size,
13
+ height: _ctx.size,
14
+ viewBox: "0 0 128 128"
15
+ }, _cache[0] || (_cache[0] = [
16
+ createElementVNode("path", {
17
+ fill: "#00618a",
18
+ d: "M117.688 98.242c-6.973-.191-12.297.461-16.852 2.379c-1.293.547-3.355.559-3.566 2.18c.711.746.82 1.859 1.387 2.777c1.086 1.754 2.922 4.113 4.559 5.352c1.789 1.348 3.633 2.793 5.551 3.961c3.414 2.082 7.223 3.27 10.504 5.352c1.938 1.23 3.859 2.777 5.75 4.164c.934.684 1.563 1.75 2.773 2.18v-.195c-.637-.812-.801-1.93-1.387-2.777l-2.578-2.578c-2.52-3.344-5.719-6.281-9.117-8.719c-2.711-1.949-8.781-4.578-9.91-7.73l-.199-.199c1.922-.219 4.172-.914 5.949-1.391c2.98-.797 5.645-.59 8.719-1.387l4.164-1.187v-.793c-1.555-1.594-2.664-3.707-4.359-5.152c-4.441-3.781-9.285-7.555-14.273-10.703c-2.766-1.746-6.184-2.883-9.117-4.363c-.988-.496-2.719-.758-3.371-1.586c-1.539-1.961-2.379-4.449-3.566-6.738c-2.488-4.793-4.93-10.023-7.137-15.066c-1.504-3.437-2.484-6.828-4.359-9.91c-9-14.797-18.687-23.73-33.695-32.508c-3.195-1.867-7.039-2.605-11.102-3.57l-6.543-.395c-1.332-.555-2.715-2.184-3.965-2.977C16.977 3.52 4.223-3.312.539 5.672C-1.785 11.34 4.016 16.871 6.09 19.746c1.457 2.012 3.32 4.273 4.359 6.539c.688 1.492.805 2.984 1.391 4.559c1.438 3.883 2.695 8.109 4.559 11.695c.941 1.816 1.98 3.727 3.172 5.352c.727.996 1.98 1.438 2.18 2.973c-1.227 1.715-1.297 4.375-1.984 6.543c-3.098 9.77-1.926 21.91 2.578 29.137c1.383 2.223 4.641 6.98 9.117 5.156c3.918-1.598 3.043-6.539 4.164-10.902c.254-.988.098-1.715.594-2.379v.199l3.57 7.133c2.641 4.254 7.324 8.699 11.297 11.699c2.059 1.555 3.68 4.242 6.344 5.152v-.199h-.199c-.516-.805-1.324-1.137-1.98-1.781c-1.551-1.523-3.277-3.414-4.559-5.156c-3.613-4.902-6.805-10.27-9.711-15.855c-1.391-2.668-2.598-5.609-3.77-8.324c-.453-1.047-.445-2.633-1.387-3.172c-1.281 1.988-3.172 3.598-4.164 5.945c-1.582 3.754-1.789 8.336-2.375 13.082c-.348.125-.195.039-.398.199c-2.762-.668-3.73-3.508-4.758-5.949c-2.594-6.164-3.078-16.09-.793-23.191c.59-1.836 3.262-7.617 2.18-9.316c-.516-1.691-2.219-2.672-3.172-3.965c-1.18-1.598-2.355-3.703-3.172-5.551c-2.125-4.805-3.113-10.203-5.352-15.062c-1.07-2.324-2.875-4.676-4.359-6.738c-1.645-2.289-3.484-3.977-4.758-6.742c-.453-.984-1.066-2.559-.398-3.566c.215-.684.516-.969 1.191-1.191c1.148-.887 4.352.297 5.547.793c3.18 1.32 5.832 2.578 8.527 4.363c1.289.855 2.598 2.512 4.16 2.973h1.785c2.789.641 5.914.195 8.523.988c4.609 1.402 8.738 3.582 12.488 5.949c11.422 7.215 20.766 17.48 27.156 29.734c1.027 1.973 1.473 3.852 2.379 5.945c1.824 4.219 4.125 8.559 5.941 12.688c1.816 4.113 3.582 8.27 6.148 11.695c1.348 1.801 6.551 2.766 8.918 3.766c1.66.699 4.379 1.43 5.949 2.379c3 1.809 5.906 3.965 8.723 5.945c1.402.992 5.73 3.168 5.945 4.957zm-88.605-75.52c-1.453-.027-2.48.156-3.566.395v.199h.195c.695 1.422 1.918 2.34 2.777 3.566l1.98 4.164l.199-.195c1.227-.867 1.789-2.25 1.781-4.363c-.492-.52-.562-1.164-.992-1.785c-.562-.824-1.66-1.289-2.375-1.98zm0 0"
19
+ }, null, -1)
20
+ ]), 8, _hoisted_1);
21
+ };
22
+ }
23
+ });
24
+ export {
25
+ _sfc_main as default
26
+ };
@@ -0,0 +1,7 @@
1
+ type __VLS_Props = {
2
+ size?: number;
3
+ };
4
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
5
+ size: number;
6
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, SVGSVGElement>;
7
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import _sfc_main from "./Terraform.vue2.mjs";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -0,0 +1,36 @@
1
+ import { defineComponent, createElementBlock, openBlock, createElementVNode } from "vue";
2
+ const _hoisted_1 = ["width", "height"];
3
+ const _sfc_main = /* @__PURE__ */ defineComponent({
4
+ __name: "Terraform",
5
+ props: {
6
+ size: { default: 24 }
7
+ },
8
+ setup(__props) {
9
+ return (_ctx, _cache) => {
10
+ return openBlock(), createElementBlock("svg", {
11
+ xmlns: "http://www.w3.org/2000/svg",
12
+ width: _ctx.size,
13
+ height: _ctx.size,
14
+ viewBox: "0 0 128 128"
15
+ }, _cache[0] || (_cache[0] = [
16
+ createElementVNode("g", { "fill-rule": "evenodd" }, [
17
+ createElementVNode("path", {
18
+ fill: "#5c4ee5",
19
+ d: "M77.941 44.5v36.836L46.324 62.918V26.082zm0 0"
20
+ }),
21
+ createElementVNode("path", {
22
+ fill: "#4040b2",
23
+ d: "m81.41 81.336l31.633-18.418V26.082L81.41 44.5zm0 0"
24
+ }),
25
+ createElementVNode("path", {
26
+ fill: "#5c4ee5",
27
+ d: "M11.242 42.36L42.86 60.776V23.941L11.242 5.523zm66.699 43.015L46.324 66.957v36.82l31.617 18.418zm0 0"
28
+ })
29
+ ], -1)
30
+ ]), 8, _hoisted_1);
31
+ };
32
+ }
33
+ });
34
+ export {
35
+ _sfc_main as default
36
+ };
@@ -0,0 +1,7 @@
1
+ type __VLS_Props = {
2
+ size?: number;
3
+ };
4
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
5
+ size: number;
6
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, SVGSVGElement>;
7
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import _sfc_main from "./Typescript.vue2.mjs";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -0,0 +1,30 @@
1
+ import { defineComponent, createElementBlock, openBlock, createElementVNode } from "vue";
2
+ const _hoisted_1 = ["width", "height"];
3
+ const _sfc_main = /* @__PURE__ */ defineComponent({
4
+ __name: "Typescript",
5
+ props: {
6
+ size: { default: 24 }
7
+ },
8
+ setup(__props) {
9
+ return (_ctx, _cache) => {
10
+ return openBlock(), createElementBlock("svg", {
11
+ xmlns: "http://www.w3.org/2000/svg",
12
+ width: _ctx.size,
13
+ height: _ctx.size,
14
+ viewBox: "0 0 128 128"
15
+ }, _cache[0] || (_cache[0] = [
16
+ createElementVNode("path", {
17
+ fill: "#fff",
18
+ d: "M22.67 47h99.67v73.67H22.67z"
19
+ }, null, -1),
20
+ createElementVNode("path", {
21
+ fill: "#007acc",
22
+ d: "M1.5 63.91v62.5h125v-125H1.5zm100.73-5a15.56 15.56 0 0 1 7.82 4.5a20.6 20.6 0 0 1 3 4c0 .16-5.4 3.81-8.69 5.85c-.12.08-.6-.44-1.13-1.23a7.09 7.09 0 0 0-5.87-3.53c-3.79-.26-6.23 1.73-6.21 5a4.6 4.6 0 0 0 .54 2.34c.83 1.73 2.38 2.76 7.24 4.86c8.95 3.85 12.78 6.39 15.16 10c2.66 4 3.25 10.46 1.45 15.24c-2 5.2-6.9 8.73-13.83 9.9a38.3 38.3 0 0 1-9.52-.1a23 23 0 0 1-12.72-6.63c-1.15-1.27-3.39-4.58-3.25-4.82a9 9 0 0 1 1.15-.73L82 101l3.59-2.08l.75 1.11a16.8 16.8 0 0 0 4.74 4.54c4 2.1 9.46 1.81 12.16-.62a5.43 5.43 0 0 0 .69-6.92c-1-1.39-3-2.56-8.59-5c-6.45-2.78-9.23-4.5-11.77-7.24a16.5 16.5 0 0 1-3.43-6.25a25 25 0 0 1-.22-8c1.33-6.23 6-10.58 12.82-11.87a31.7 31.7 0 0 1 9.49.26zm-29.34 5.24v5.12H56.66v46.23H45.15V69.26H28.88v-5a49 49 0 0 1 .12-5.17C29.08 59 39 59 51 59h21.83z"
23
+ }, null, -1)
24
+ ]), 8, _hoisted_1);
25
+ };
26
+ }
27
+ });
28
+ export {
29
+ _sfc_main as default
30
+ };
@@ -0,0 +1,9 @@
1
+ import { Meta, StoryObj } from '@storybook/vue3';
2
+ import { default as ElmBlockImage } from './ElmBlockImage.vue';
3
+ declare const meta: Meta<typeof ElmBlockImage>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Primary: Story;
7
+ export declare const Svg: Story;
8
+ export declare const LongAlt: Story;
9
+ export declare const Invalid: Story;
@@ -0,0 +1,12 @@
1
+ export interface ElmBlockImageProps {
2
+ /**
3
+ * Image source URL
4
+ */
5
+ src: string;
6
+ /**
7
+ * Image alt text
8
+ */
9
+ alt?: string;
10
+ }
11
+ declare const _default: import('vue').DefineComponent<ElmBlockImageProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<ElmBlockImageProps> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
12
+ 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(".v-enter-to[data-v-42e56906],.v-leave-from[data-v-42e56906]{opacity:1}.v-enter-active[data-v-42e56906],.v-leave-active[data-v-42e56906]{transition:opacity .3s}.v-enter-from[data-v-42e56906],.v-leave-to[data-v-42e56906]{opacity:0}"));
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 "./ElmBlockImage.vue2.mjs";
14
+ import style0 from "./ElmBlockImage.vue3.mjs";
15
+
16
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
17
+ const cssModules = {
18
+ "$style": style0
19
+ };
20
+ const ElmBlockImage = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-42e56906"]]);
21
+ export {
22
+ ElmBlockImage as default
23
+ };
@@ -0,0 +1,117 @@
1
+ import { defineComponent, ref, createElementBlock, openBlock, Fragment, createElementVNode, createVNode, normalizeClass, Transition, withCtx, unref, normalizeStyle, createCommentVNode } from "vue";
2
+ import ElmRectangleWave from "../fallback/ElmRectangleWave.vue.mjs";
3
+ import ElmDotLoadingIcon from "../icon/ElmDotLoadingIcon.vue.mjs";
4
+ import { useImage, onKeyStroke } from "@vueuse/core";
5
+ import ElmInlineText from "../typography/ElmInlineText.vue.mjs";
6
+ import { mdiMessageImageOutline } from "@mdi/js";
7
+ const _hoisted_1 = ["src", "alt"];
8
+ const _hoisted_2 = ["d"];
9
+ const _hoisted_3 = ["src", "alt"];
10
+ const _sfc_main = /* @__PURE__ */ defineComponent({
11
+ __name: "ElmBlockImage",
12
+ props: {
13
+ src: {},
14
+ alt: {}
15
+ },
16
+ setup(__props) {
17
+ const props = __props;
18
+ const { isLoading, error } = useImage({ src: props.src });
19
+ const isModalOpen = ref(false);
20
+ onKeyStroke("Escape", (e) => {
21
+ e.preventDefault();
22
+ isModalOpen.value = false;
23
+ });
24
+ return (_ctx, _cache) => {
25
+ return openBlock(), createElementBlock(Fragment, null, [
26
+ createElementVNode("div", {
27
+ class: normalizeClass(_ctx.$style.container)
28
+ }, [
29
+ createVNode(Transition, { mode: "out-in" }, {
30
+ default: withCtx(() => [
31
+ unref(error) ? (openBlock(), createElementBlock("div", {
32
+ key: 0,
33
+ class: normalizeClass(_ctx.$style.error)
34
+ }, [
35
+ createVNode(ElmInlineText, {
36
+ text: "Error loading image",
37
+ color: "#c56565",
38
+ size: "1.5rem"
39
+ })
40
+ ], 2)) : unref(isLoading) ? (openBlock(), createElementBlock("div", {
41
+ key: 1,
42
+ class: normalizeClass(_ctx.$style.fallback)
43
+ }, [
44
+ createVNode(ElmRectangleWave),
45
+ createElementVNode("div", null, [
46
+ createVNode(ElmDotLoadingIcon)
47
+ ])
48
+ ], 2)) : (openBlock(), createElementBlock("img", {
49
+ key: 2,
50
+ class: normalizeClass(_ctx.$style.image),
51
+ src: _ctx.src,
52
+ alt: _ctx.alt,
53
+ onClick: _cache[0] || (_cache[0] = () => {
54
+ isModalOpen.value = true;
55
+ }),
56
+ style: normalizeStyle({
57
+ "--height": unref(isLoading) ? "0" : "auto",
58
+ "--opacity": unref(isLoading) ? 0 : 1,
59
+ display: unref(isLoading) ? "none" : "block"
60
+ })
61
+ }, null, 14, _hoisted_1))
62
+ ]),
63
+ _: 1
64
+ })
65
+ ], 2),
66
+ createVNode(Transition, null, {
67
+ default: withCtx(() => [
68
+ !unref(isLoading) && _ctx.alt != null && _ctx.alt.trim() !== "" ? (openBlock(), createElementBlock("div", {
69
+ key: 0,
70
+ class: normalizeClass(_ctx.$style["alt-container"])
71
+ }, [
72
+ (openBlock(), createElementBlock("svg", {
73
+ class: normalizeClass(_ctx.$style["alt-icon"]),
74
+ viewBox: "0 0 24 24",
75
+ width: "1rem",
76
+ height: "1rem",
77
+ fill: "currentColor"
78
+ }, [
79
+ createElementVNode("path", { d: unref(mdiMessageImageOutline) }, null, 8, _hoisted_2)
80
+ ], 2)),
81
+ createElementVNode("div", {
82
+ class: normalizeClass(_ctx.$style["alt-text"])
83
+ }, [
84
+ createVNode(ElmInlineText, {
85
+ text: _ctx.alt,
86
+ size: "0.8rem"
87
+ }, null, 8, ["text"])
88
+ ], 2)
89
+ ], 2)) : createCommentVNode("", true)
90
+ ]),
91
+ _: 1
92
+ }),
93
+ createVNode(Transition, null, {
94
+ default: withCtx(() => [
95
+ isModalOpen.value ? (openBlock(), createElementBlock("div", {
96
+ key: 0,
97
+ class: normalizeClass(_ctx.$style.modal)
98
+ }, [
99
+ createElementVNode("img", {
100
+ class: normalizeClass(_ctx.$style["modal-image"]),
101
+ src: _ctx.src,
102
+ alt: _ctx.alt,
103
+ onClick: _cache[1] || (_cache[1] = () => {
104
+ isModalOpen.value = false;
105
+ })
106
+ }, null, 10, _hoisted_3)
107
+ ], 2)) : createCommentVNode("", true)
108
+ ]),
109
+ _: 1
110
+ })
111
+ ], 64);
112
+ };
113
+ }
114
+ });
115
+ export {
116
+ _sfc_main as default
117
+ };
@@ -0,0 +1,36 @@
1
+ (function() {
2
+ "use strict";
3
+ try {
4
+ if (typeof document != "undefined") {
5
+ var elementStyle = document.createElement("style");
6
+ elementStyle.appendChild(document.createTextNode("._container_1n578_1{margin-block:1rem;width:100%;display:flex;justify-content:center;align-items:center}._image_1n578_9{overflow:hidden;border-radius:.25rem;box-shadow:0 0 .125rem #0000004d;display:block;max-width:100%;height:var(--height);opacity:var(--opacity);transition:opacity .4s;cursor:zoom-in}._alt-container_1n578_21{margin:1rem;display:flex;justify-content:center;align-items:flex-end;gap:.5rem;color:#6987b8;opacity:.8}._alt-icon_1n578_31{fill:#6987b8}._alt-text_1n578_35{width:-moz-fit-content;width:fit-content}._error_1n578_39{display:flex;justify-content:center;align-items:center;gap:1rem;width:100%;height:100%;min-height:10rem;line-height:1.5rem;color:#c56565}._fallback_1n578_51{margin-block:1rem;margin:0;padding:0;position:relative;width:100%;z-index:1;display:flex;justify-content:center;align-items:center;aspect-ratio:1200/630}._modal_1n578_64{z-index:1000;position:fixed;width:100%;height:100vh;top:0;left:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;cursor:zoom-out}._modal_1n578_64 ._modal-image_1n578_77{width:100vw;height:100vh;-o-object-fit:contain;object-fit:contain}"));
7
+ document.head.appendChild(elementStyle);
8
+ }
9
+ } catch (e) {
10
+ console.error("vite-plugin-css-injected-by-js", e);
11
+ }
12
+ })();
13
+ const container = "_container_1n578_1";
14
+ const image = "_image_1n578_9";
15
+ const error = "_error_1n578_39";
16
+ const fallback = "_fallback_1n578_51";
17
+ const modal = "_modal_1n578_64";
18
+ const style0 = {
19
+ container,
20
+ image,
21
+ "alt-container": "_alt-container_1n578_21",
22
+ "alt-icon": "_alt-icon_1n578_31",
23
+ "alt-text": "_alt-text_1n578_35",
24
+ error,
25
+ fallback,
26
+ modal,
27
+ "modal-image": "_modal-image_1n578_77"
28
+ };
29
+ export {
30
+ container,
31
+ style0 as default,
32
+ error,
33
+ fallback,
34
+ image,
35
+ modal
36
+ };
@@ -0,0 +1,6 @@
1
+ import { Meta, StoryObj } from '@storybook/vue3';
2
+ import { default as ElmFile } from './ElmFile.vue';
3
+ declare const meta: Meta<typeof ElmFile>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Primary: Story;
@@ -0,0 +1,21 @@
1
+ import { Property } from 'csstype';
2
+ export interface ElmFileProps {
3
+ /**
4
+ * The name of the file.
5
+ */
6
+ name?: string;
7
+ /**
8
+ * The source of the file.
9
+ */
10
+ src: string;
11
+ /**
12
+ * The size of the file in bytes.
13
+ */
14
+ filesize?: string;
15
+ /**
16
+ * The margin of the file.
17
+ */
18
+ margin?: Property.MarginBlock;
19
+ }
20
+ declare const _default: import('vue').DefineComponent<ElmFileProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<ElmFileProps> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
21
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import _sfc_main from "./ElmFile.vue2.mjs";
2
+ import style0 from "./ElmFile.vue3.mjs";
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
+ const cssModules = {
5
+ "$style": style0
6
+ };
7
+ const ElmFile = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
8
+ export {
9
+ ElmFile as default
10
+ };
@@ -0,0 +1,79 @@
1
+ import { defineComponent, createElementBlock, openBlock, normalizeStyle, normalizeClass, createElementVNode, createVNode, unref, createBlock, createCommentVNode } from "vue";
2
+ import ElmInlineText from "../typography/ElmInlineText.vue.mjs";
3
+ import ElmMdiIcon from "../icon/ElmMdiIcon.vue.mjs";
4
+ import { mdiFileOutline, mdiDownload } from "@mdi/js";
5
+ const _hoisted_1 = { style: { opacity: 0.6 } };
6
+ const _sfc_main = /* @__PURE__ */ defineComponent({
7
+ __name: "ElmFile",
8
+ props: {
9
+ name: {},
10
+ src: {},
11
+ filesize: {},
12
+ margin: {}
13
+ },
14
+ setup(__props) {
15
+ function getLastPathSegmentWithoutQueryOrHash(urlString) {
16
+ const cleanedUrl = urlString.split(/[?#]/)[0];
17
+ const pathSegments = cleanedUrl.split("/").filter(Boolean);
18
+ return pathSegments.length > 0 ? pathSegments[pathSegments.length - 1] : null;
19
+ }
20
+ async function downloadFile(url, filename) {
21
+ let link;
22
+ try {
23
+ const response = await fetch(url);
24
+ if (!response.ok) throw new Error("Failed to download file");
25
+ const blob = await response.blob();
26
+ link = document.createElement("a");
27
+ link.href = URL.createObjectURL(blob);
28
+ link.download = filename;
29
+ link.click();
30
+ } catch (error) {
31
+ console.error("ERROR:", error);
32
+ } finally {
33
+ if (link) URL.revokeObjectURL(link.href);
34
+ }
35
+ }
36
+ return (_ctx, _cache) => {
37
+ return openBlock(), createElementBlock("div", {
38
+ class: normalizeClass(_ctx.$style.file),
39
+ style: normalizeStyle({ "--margin-block": _ctx.margin })
40
+ }, [
41
+ createElementVNode("div", {
42
+ class: normalizeClass(_ctx.$style["left-container"])
43
+ }, [
44
+ createVNode(ElmMdiIcon, {
45
+ d: unref(mdiFileOutline),
46
+ size: "1.25em"
47
+ }, null, 8, ["d"]),
48
+ createVNode(ElmInlineText, {
49
+ text: _ctx.name ?? getLastPathSegmentWithoutQueryOrHash(_ctx.src) ?? "unknown file"
50
+ }, null, 8, ["text"])
51
+ ], 2),
52
+ createElementVNode("div", {
53
+ class: normalizeClass(_ctx.$style["right-container"])
54
+ }, [
55
+ createElementVNode("span", _hoisted_1, [
56
+ _ctx.filesize ? (openBlock(), createBlock(ElmInlineText, {
57
+ key: 0,
58
+ text: _ctx.filesize
59
+ }, null, 8, ["text"])) : createCommentVNode("", true)
60
+ ]),
61
+ createVNode(ElmMdiIcon, {
62
+ d: unref(mdiDownload),
63
+ class: normalizeClass(_ctx.$style["download-icon"]),
64
+ size: "1.25em",
65
+ onClick: _cache[0] || (_cache[0] = () => {
66
+ downloadFile(
67
+ _ctx.src,
68
+ _ctx.name ?? getLastPathSegmentWithoutQueryOrHash(_ctx.src) ?? "unknown file"
69
+ );
70
+ })
71
+ }, null, 8, ["d", "class"])
72
+ ], 2)
73
+ ], 6);
74
+ };
75
+ }
76
+ });
77
+ export {
78
+ _sfc_main as default
79
+ };
@@ -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("._file_1j0l6_1{margin-block:var(--margin-block);box-sizing:border-box;width:100%;padding:1rem;box-shadow:0 0 .125rem #0003;border-radius:.25rem;display:flex;justify-content:space-between;align-items:center;background-color:#fff3}[data-theme=dark] ._file_1j0l6_1{background-color:#0003}._file_1j0l6_1 ._left-container_1j0l6_16{display:flex;justify-content:flex-start;align-items:center;gap:.75rem}._file_1j0l6_1 ._right-container_1j0l6_22{display:flex;justify-content:flex-end;align-items:center;gap:.75rem}._file_1j0l6_1 ._right-container_1j0l6_22 ._download-icon_1j0l6_28{padding:.125rem;cursor:pointer;transition:color .2s,background-color .2s}._file_1j0l6_1 ._right-container_1j0l6_22 ._download-icon_1j0l6_28:hover{background-color:#0000001a}[data-theme=dark] ._file_1j0l6_1 ._right-container_1j0l6_22 ._download-icon_1j0l6_28:hover{background-color:#ffffff1a}"));
7
+ document.head.appendChild(elementStyle);
8
+ }
9
+ } catch (e) {
10
+ console.error("vite-plugin-css-injected-by-js", e);
11
+ }
12
+ })();
13
+ const file = "_file_1j0l6_1";
14
+ const style0 = {
15
+ file,
16
+ "left-container": "_left-container_1j0l6_16",
17
+ "right-container": "_right-container_1j0l6_22",
18
+ "download-icon": "_download-icon_1j0l6_28"
19
+ };
20
+ export {
21
+ style0 as default,
22
+ file
23
+ };
@@ -0,0 +1,9 @@
1
+ import { Meta, StoryObj } from '@storybook/vue3';
2
+ import { default as ElmImage } from './ElmImage.vue';
3
+ declare const meta: Meta<typeof ElmImage>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Primary: Story;
7
+ export declare const Svg: Story;
8
+ export declare const Modal: Story;
9
+ export declare const Invalid: Story;
@@ -0,0 +1,23 @@
1
+ import { Property } from 'csstype';
2
+ export interface ElmImageProps {
3
+ /**
4
+ * Image source URL
5
+ */
6
+ src: string;
7
+ /**
8
+ * Image alt text
9
+ */
10
+ alt?: string;
11
+ /**
12
+ * Enable modal on image click. Default: `false`
13
+ */
14
+ enableModal?: boolean;
15
+ /**
16
+ * The margin of the image.
17
+ */
18
+ margin?: Property.MarginBlock;
19
+ }
20
+ declare const _default: import('vue').DefineComponent<ElmImageProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<ElmImageProps> & Readonly<{}>, {
21
+ enableModal: boolean;
22
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
23
+ 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(".v-enter-to[data-v-a6508d78],.v-leave-from[data-v-a6508d78]{opacity:1}.v-enter-active[data-v-a6508d78],.v-leave-active[data-v-a6508d78]{transition:opacity .3s}.v-enter-from[data-v-a6508d78],.v-leave-to[data-v-a6508d78]{opacity:0}"));
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 "./ElmImage.vue2.mjs";
14
+ import style0 from "./ElmImage.vue3.mjs";
15
+
16
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
17
+ const cssModules = {
18
+ "$style": style0
19
+ };
20
+ const ElmImage = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-a6508d78"]]);
21
+ export {
22
+ ElmImage as default
23
+ };
@@ -0,0 +1,91 @@
1
+ import { defineComponent, ref, createElementBlock, openBlock, Fragment, createVNode, Transition, withCtx, unref, normalizeClass, normalizeStyle, createElementVNode, createCommentVNode } from "vue";
2
+ import ElmRectangleWave from "../fallback/ElmRectangleWave.vue.mjs";
3
+ import ElmDotLoadingIcon from "../icon/ElmDotLoadingIcon.vue.mjs";
4
+ import { useImage, onKeyStroke } from "@vueuse/core";
5
+ import ElmInlineText from "../typography/ElmInlineText.vue.mjs";
6
+ const _hoisted_1 = ["src", "alt"];
7
+ const _hoisted_2 = ["src", "alt"];
8
+ const _sfc_main = /* @__PURE__ */ defineComponent({
9
+ __name: "ElmImage",
10
+ props: {
11
+ src: {},
12
+ alt: {},
13
+ enableModal: { type: Boolean, default: false },
14
+ margin: {}
15
+ },
16
+ setup(__props) {
17
+ const props = __props;
18
+ const { isLoading, error } = useImage({ src: props.src });
19
+ const isModalOpen = ref(false);
20
+ onKeyStroke("Escape", (e) => {
21
+ e.preventDefault();
22
+ isModalOpen.value = false;
23
+ });
24
+ return (_ctx, _cache) => {
25
+ return openBlock(), createElementBlock(Fragment, null, [
26
+ createVNode(Transition, { mode: "out-in" }, {
27
+ default: withCtx(() => [
28
+ unref(error) ? (openBlock(), createElementBlock("div", {
29
+ key: 0,
30
+ class: normalizeClass(_ctx.$style.error)
31
+ }, [
32
+ createVNode(ElmInlineText, {
33
+ text: "Error loading image",
34
+ color: "#c56565",
35
+ size: "1.5rem"
36
+ })
37
+ ], 2)) : unref(isLoading) ? (openBlock(), createElementBlock("div", {
38
+ key: 1,
39
+ class: normalizeClass(_ctx.$style.fallback),
40
+ style: normalizeStyle({ "--margin-block": _ctx.margin })
41
+ }, [
42
+ createVNode(ElmRectangleWave),
43
+ createElementVNode("div", null, [
44
+ createVNode(ElmDotLoadingIcon)
45
+ ])
46
+ ], 6)) : (openBlock(), createElementBlock("img", {
47
+ key: 2,
48
+ class: normalizeClass(_ctx.$style.image),
49
+ src: _ctx.src,
50
+ alt: _ctx.alt,
51
+ onClick: _cache[0] || (_cache[0] = () => {
52
+ if (_ctx.enableModal) {
53
+ isModalOpen.value = true;
54
+ }
55
+ }),
56
+ style: normalizeStyle({
57
+ "--height": unref(isLoading) ? "0" : "auto",
58
+ "--opacity": unref(isLoading) ? 0 : 1,
59
+ "--cursor": _ctx.enableModal ? "zoom-in" : "inherit",
60
+ "--margin-block": _ctx.margin,
61
+ display: unref(isLoading) ? "none" : "block"
62
+ })
63
+ }, null, 14, _hoisted_1))
64
+ ]),
65
+ _: 1
66
+ }),
67
+ createVNode(Transition, null, {
68
+ default: withCtx(() => [
69
+ isModalOpen.value ? (openBlock(), createElementBlock("div", {
70
+ key: 0,
71
+ class: normalizeClass(_ctx.$style.modal)
72
+ }, [
73
+ createElementVNode("img", {
74
+ class: normalizeClass(_ctx.$style["modal-image"]),
75
+ src: _ctx.src,
76
+ alt: _ctx.alt,
77
+ onClick: _cache[1] || (_cache[1] = () => {
78
+ isModalOpen.value = false;
79
+ })
80
+ }, null, 10, _hoisted_2)
81
+ ], 2)) : createCommentVNode("", true)
82
+ ]),
83
+ _: 1
84
+ })
85
+ ], 64);
86
+ };
87
+ }
88
+ });
89
+ export {
90
+ _sfc_main as default
91
+ };
@@ -0,0 +1,30 @@
1
+ (function() {
2
+ "use strict";
3
+ try {
4
+ if (typeof document != "undefined") {
5
+ var elementStyle = document.createElement("style");
6
+ elementStyle.appendChild(document.createTextNode("._image_151nq_1{display:block;margin-block:var(--margin-block);max-width:100%;height:var(--height);opacity:var(--opacity);transition:opacity .4s;cursor:var(--cursor)}._error_151nq_11{display:flex;justify-content:center;align-items:center;gap:1rem;width:100%;height:100%;min-height:10rem;line-height:1.5rem;color:#c56565}._fallback_151nq_23{margin-block:var(--margin-block);margin:0;padding:0;position:relative;width:100%;z-index:1;display:flex;justify-content:center;align-items:center;aspect-ratio:1200/630}._modal_151nq_36{z-index:1000;position:fixed;width:100%;height:100vh;top:0;left:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;cursor:zoom-out}._modal_151nq_36 ._modal-image_151nq_49{width:100vw;height:100vh;-o-object-fit:contain;object-fit:contain}"));
7
+ document.head.appendChild(elementStyle);
8
+ }
9
+ } catch (e) {
10
+ console.error("vite-plugin-css-injected-by-js", e);
11
+ }
12
+ })();
13
+ const image = "_image_151nq_1";
14
+ const error = "_error_151nq_11";
15
+ const fallback = "_fallback_151nq_23";
16
+ const modal = "_modal_151nq_36";
17
+ const style0 = {
18
+ image,
19
+ error,
20
+ fallback,
21
+ modal,
22
+ "modal-image": "_modal-image_151nq_49"
23
+ };
24
+ export {
25
+ style0 as default,
26
+ error,
27
+ fallback,
28
+ image,
29
+ modal
30
+ };