@elmethis/vue 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.
- package/LICENSE +21 -0
- package/dist/_virtual/_plugin-vue_export-helper.mjs +10 -0
- package/dist/components/ag-ui/message/ElmAgUiMessageUser.stories.d.ts +6 -0
- package/dist/components/ag-ui/message/ElmAgUiMessageUser.vue.d.ts +8 -0
- package/dist/components/code/ElmCodeBlock.stories.d.ts +9 -0
- package/dist/components/code/ElmCodeBlock.vue.d.ts +48 -0
- package/dist/components/code/ElmCodeBlock.vue.mjs +23 -0
- package/dist/components/code/ElmCodeBlock.vue2.mjs +134 -0
- package/dist/components/code/ElmCodeBlock.vue3.mjs +43 -0
- package/dist/components/code/ElmKatex.stories.d.ts +8 -0
- package/dist/components/code/ElmKatex.vue.d.ts +20 -0
- package/dist/components/code/ElmKatex.vue.mjs +10 -0
- package/dist/components/code/ElmKatex.vue2.mjs +68 -0
- package/dist/components/code/ElmKatex.vue3.mjs +20 -0
- package/dist/components/code/ElmMermaid.stories.d.ts +7 -0
- package/dist/components/code/ElmMermaid.vue.d.ts +7 -0
- package/dist/components/code/ElmMermaid.vue.mjs +10 -0
- package/dist/components/code/ElmMermaid.vue2.mjs +59 -0
- package/dist/components/code/ElmMermaid.vue3.mjs +26 -0
- package/dist/components/code/ElmShikiHighlighter.stories.d.ts +6 -0
- package/dist/components/code/ElmShikiHighlighter.vue.d.ts +22 -0
- package/dist/components/code/ElmShikiHighlighter.vue.mjs +23 -0
- package/dist/components/code/ElmShikiHighlighter.vue2.mjs +55 -0
- package/dist/components/code/ElmShikiHighlighter.vue3.mjs +20 -0
- package/dist/components/code/shikiInstance.d.ts +2 -0
- package/dist/components/code/shikiInstance.mjs +76 -0
- package/dist/components/containments/ElmColumn.stories.d.ts +6 -0
- package/dist/components/containments/ElmColumn.vue.d.ts +19 -0
- package/dist/components/containments/ElmColumnList.vue.d.ts +19 -0
- package/dist/components/containments/ElmConfirmModal.stories.d.ts +6 -0
- package/dist/components/containments/ElmConfirmModal.vue.d.ts +37 -0
- package/dist/components/containments/ElmConfirmModal.vue.mjs +10 -0
- package/dist/components/containments/ElmConfirmModal.vue2.mjs +98 -0
- package/dist/components/containments/ElmConfirmModal.vue3.mjs +23 -0
- package/dist/components/containments/ElmDesktopWindow.stories.d.ts +6 -0
- package/dist/components/containments/ElmDesktopWindow.vue.d.ts +27 -0
- package/dist/components/containments/ElmDesktopWindow.vue.mjs +10 -0
- package/dist/components/containments/ElmDesktopWindow.vue2.mjs +42 -0
- package/dist/components/containments/ElmDesktopWindow.vue3.mjs +26 -0
- package/dist/components/containments/ElmModal.stories.d.ts +6 -0
- package/dist/components/containments/ElmModal.vue.d.ts +34 -0
- package/dist/components/containments/ElmModal.vue.mjs +10 -0
- package/dist/components/containments/ElmModal.vue2.mjs +56 -0
- package/dist/components/containments/ElmModal.vue3.mjs +23 -0
- package/dist/components/containments/ElmParallax.stories.d.ts +6 -0
- package/dist/components/containments/ElmParallax.vue.d.ts +6 -0
- package/dist/components/containments/ElmParallax.vue.mjs +10 -0
- package/dist/components/containments/ElmParallax.vue2.mjs +35 -0
- package/dist/components/containments/ElmParallax.vue3.mjs +20 -0
- package/dist/components/containments/ElmSimpleTooltip.stories.d.ts +7 -0
- package/dist/components/containments/ElmSimpleTooltip.vue.d.ts +21 -0
- package/dist/components/containments/ElmSimpleTooltip.vue.mjs +10 -0
- package/dist/components/containments/ElmSimpleTooltip.vue2.mjs +37 -0
- package/dist/components/containments/ElmSimpleTooltip.vue3.mjs +26 -0
- package/dist/components/containments/ElmSnackbar.stories.d.ts +6 -0
- package/dist/components/containments/ElmSnackbar.vue.d.ts +11 -0
- package/dist/components/containments/ElmSnackbar.vue.mjs +10 -0
- package/dist/components/containments/ElmSnackbar.vue2.mjs +41 -0
- package/dist/components/containments/ElmSnackbar.vue3.mjs +26 -0
- package/dist/components/containments/ElmSnackbarContainer.vue.d.ts +10 -0
- package/dist/components/containments/ElmSnackbarContainer.vue.mjs +23 -0
- package/dist/components/containments/ElmSnackbarContainer.vue2.mjs +33 -0
- package/dist/components/containments/ElmSnackbarContainer.vue3.mjs +19 -0
- package/dist/components/containments/ElmToggle.stories.d.ts +7 -0
- package/dist/components/containments/ElmToggle.vue.d.ts +41 -0
- package/dist/components/containments/ElmToggle.vue.mjs +10 -0
- package/dist/components/containments/ElmToggle.vue2.mjs +106 -0
- package/dist/components/containments/ElmToggle.vue3.mjs +44 -0
- package/dist/components/containments/ElmTooltip.stories.d.ts +6 -0
- package/dist/components/containments/ElmTooltip.vue.d.ts +40 -0
- package/dist/components/containments/ElmTooltip.vue.mjs +10 -0
- package/dist/components/containments/ElmTooltip.vue2.mjs +56 -0
- package/dist/components/containments/ElmTooltip.vue3.mjs +26 -0
- package/dist/components/containments/useSnackbarState.d.ts +28 -0
- package/dist/components/data/ElmMultiProgress.stories.d.ts +6 -0
- package/dist/components/data/ElmMultiProgress.vue.d.ts +30 -0
- package/dist/components/data/ElmMultiProgress.vue.mjs +10 -0
- package/dist/components/data/ElmMultiProgress.vue2.mjs +45 -0
- package/dist/components/data/ElmMultiProgress.vue3.mjs +23 -0
- package/dist/components/data/ElmProgress.stories.d.ts +10 -0
- package/dist/components/data/ElmProgress.vue.d.ts +38 -0
- package/dist/components/data/ElmProgress.vue.mjs +10 -0
- package/dist/components/data/ElmProgress.vue2.mjs +53 -0
- package/dist/components/data/ElmProgress.vue3.mjs +32 -0
- package/dist/components/data/ElmStatusMessage.stories.d.ts +9 -0
- package/dist/components/data/ElmStatusMessage.vue.d.ts +6 -0
- package/dist/components/data/ElmStatusMessage.vue.mjs +23 -0
- package/dist/components/data/ElmStatusMessage.vue2.mjs +76 -0
- package/dist/components/data/ElmStatusMessage.vue3.mjs +20 -0
- package/dist/components/fallback/ElmBlockFallback.stories.d.ts +6 -0
- package/dist/components/fallback/ElmBlockFallback.vue.d.ts +4 -0
- package/dist/components/fallback/ElmBlockFallback.vue.mjs +10 -0
- package/dist/components/fallback/ElmBlockFallback.vue2.mjs +17 -0
- package/dist/components/fallback/ElmBlockFallback.vue3.mjs +18 -0
- package/dist/components/fallback/ElmRectangleWave.stories.d.ts +6 -0
- package/dist/components/fallback/ElmRectangleWave.vue.d.ts +4 -0
- package/dist/components/fallback/ElmRectangleWave.vue.mjs +10 -0
- package/dist/components/fallback/ElmRectangleWave.vue2.mjs +15 -0
- package/dist/components/fallback/ElmRectangleWave.vue3.mjs +21 -0
- package/dist/components/fallback/ElmSpinner.stories.d.ts +6 -0
- package/dist/components/fallback/ElmSpinner.vue.d.ts +9 -0
- package/dist/components/fallback/ElmSpinner.vue.mjs +10 -0
- package/dist/components/fallback/ElmSpinner.vue2.mjs +30 -0
- package/dist/components/fallback/ElmSpinner.vue3.mjs +24 -0
- package/dist/components/fallback/ElmUnsupportedBlock.stories.d.ts +6 -0
- package/dist/components/fallback/ElmUnsupportedBlock.vue.d.ts +5 -0
- package/dist/components/fallback/ElmUnsupportedBlock.vue.mjs +10 -0
- package/dist/components/fallback/ElmUnsupportedBlock.vue2.mjs +46 -0
- package/dist/components/fallback/ElmUnsupportedBlock.vue3.mjs +29 -0
- package/dist/components/form/ElmButton.stories.d.ts +11 -0
- package/dist/components/form/ElmButton.vue.d.ts +42 -0
- package/dist/components/form/ElmButton.vue.mjs +23 -0
- package/dist/components/form/ElmButton.vue2.mjs +71 -0
- package/dist/components/form/ElmButton.vue3.mjs +39 -0
- package/dist/components/form/ElmCheckbox.stories.d.ts +6 -0
- package/dist/components/form/ElmCheckbox.vue.d.ts +26 -0
- package/dist/components/form/ElmCheckbox.vue.mjs +10 -0
- package/dist/components/form/ElmCheckbox.vue2.mjs +177 -0
- package/dist/components/form/ElmCheckbox.vue3.mjs +34 -0
- package/dist/components/form/ElmSelect.stories.d.ts +6 -0
- package/dist/components/form/ElmSelect.vue.d.ts +48 -0
- package/dist/components/form/ElmSelect.vue.mjs +10 -0
- package/dist/components/form/ElmSelect.vue2.mjs +145 -0
- package/dist/components/form/ElmSelect.vue3.mjs +56 -0
- package/dist/components/form/ElmSwitch.stories.d.ts +6 -0
- package/dist/components/form/ElmSwitch.vue.d.ts +32 -0
- package/dist/components/form/ElmSwitch.vue.mjs +10 -0
- package/dist/components/form/ElmSwitch.vue2.mjs +61 -0
- package/dist/components/form/ElmSwitch.vue3.mjs +28 -0
- package/dist/components/form/ElmTextField.stories.d.ts +7 -0
- package/dist/components/form/ElmTextField.vue.d.ts +33 -0
- package/dist/components/form/ElmTextField.vue.mjs +10 -0
- package/dist/components/form/ElmTextField.vue2.mjs +150 -0
- package/dist/components/form/ElmTextField.vue3.mjs +49 -0
- package/dist/components/form/ElmValidation.stories.d.ts +6 -0
- package/dist/components/form/ElmValidation.vue.d.ts +9 -0
- package/dist/components/form/ElmValidation.vue.mjs +10 -0
- package/dist/components/form/ElmValidation.vue2.mjs +34 -0
- package/dist/components/form/ElmValidation.vue3.mjs +20 -0
- package/dist/components/icon/ElmArrowIcon.stories.d.ts +6 -0
- package/dist/components/icon/ElmArrowIcon.vue.d.ts +26 -0
- package/dist/components/icon/ElmArrowIcon.vue.mjs +10 -0
- package/dist/components/icon/ElmArrowIcon.vue2.mjs +31 -0
- package/dist/components/icon/ElmArrowIcon.vue3.mjs +29 -0
- package/dist/components/icon/ElmBookmarkIcon.stories.d.ts +8 -0
- package/dist/components/icon/ElmBookmarkIcon.vue.d.ts +7 -0
- package/dist/components/icon/ElmBookmarkIcon.vue.mjs +10 -0
- package/dist/components/icon/ElmBookmarkIcon.vue2.mjs +47 -0
- package/dist/components/icon/ElmBookmarkIcon.vue3.mjs +26 -0
- package/dist/components/icon/ElmCubeIcon.stories.d.ts +6 -0
- package/dist/components/icon/ElmCubeIcon.vue.d.ts +10 -0
- package/dist/components/icon/ElmCubeIcon.vue.mjs +10 -0
- package/dist/components/icon/ElmCubeIcon.vue2.mjs +41 -0
- package/dist/components/icon/ElmCubeIcon.vue3.mjs +24 -0
- package/dist/components/icon/ElmDotLoadingIcon.stories.d.ts +6 -0
- package/dist/components/icon/ElmDotLoadingIcon.vue.d.ts +18 -0
- package/dist/components/icon/ElmDotLoadingIcon.vue.mjs +10 -0
- package/dist/components/icon/ElmDotLoadingIcon.vue2.mjs +28 -0
- package/dist/components/icon/ElmDotLoadingIcon.vue3.mjs +26 -0
- package/dist/components/icon/ElmInlineIcon.stories.d.ts +6 -0
- package/dist/components/icon/ElmInlineIcon.vue.d.ts +12 -0
- package/dist/components/icon/ElmInlineIcon.vue.mjs +10 -0
- package/dist/components/icon/ElmInlineIcon.vue2.mjs +27 -0
- package/dist/components/icon/ElmInlineIcon.vue3.mjs +20 -0
- package/dist/components/icon/ElmLanguageIcon.stories.d.ts +6 -0
- package/dist/components/icon/ElmLanguageIcon.vue.d.ts +15 -0
- package/dist/components/icon/ElmLanguageIcon.vue.mjs +10 -0
- package/dist/components/icon/ElmLanguageIcon.vue2.mjs +147 -0
- package/dist/components/icon/ElmLanguageIcon.vue3.mjs +20 -0
- package/dist/components/icon/ElmLoginIcon.stories.d.ts +6 -0
- package/dist/components/icon/ElmLoginIcon.vue.d.ts +18 -0
- package/dist/components/icon/ElmLoginIcon.vue.mjs +10 -0
- package/dist/components/icon/ElmLoginIcon.vue2.mjs +36 -0
- package/dist/components/icon/ElmLoginIcon.vue3.mjs +20 -0
- package/dist/components/icon/ElmMdiIcon.stories.d.ts +6 -0
- package/dist/components/icon/ElmMdiIcon.vue.d.ts +11 -0
- package/dist/components/icon/ElmMdiIcon.vue.mjs +10 -0
- package/dist/components/icon/ElmMdiIcon.vue2.mjs +34 -0
- package/dist/components/icon/ElmMdiIcon.vue3.mjs +20 -0
- package/dist/components/icon/ElmSquareLoadingIcon.stories.d.ts +6 -0
- package/dist/components/icon/ElmSquareLoadingIcon.vue.d.ts +10 -0
- package/dist/components/icon/ElmSquareLoadingIcon.vue.mjs +10 -0
- package/dist/components/icon/ElmSquareLoadingIcon.vue2.mjs +37 -0
- package/dist/components/icon/ElmSquareLoadingIcon.vue3.mjs +26 -0
- package/dist/components/icon/ElmToggleTheme.stories.d.ts +6 -0
- package/dist/components/icon/ElmToggleTheme.vue.d.ts +11 -0
- package/dist/components/icon/ElmToggleTheme.vue.mjs +10 -0
- package/dist/components/icon/ElmToggleTheme.vue2.mjs +41 -0
- package/dist/components/icon/ElmToggleTheme.vue3.mjs +20 -0
- package/dist/components/icon/languages/Bash.vue.d.ts +7 -0
- package/dist/components/icon/languages/Bash.vue.mjs +10 -0
- package/dist/components/icon/languages/Bash.vue2.mjs +34 -0
- package/dist/components/icon/languages/Bash.vue3.mjs +20 -0
- package/dist/components/icon/languages/C.vue.d.ts +7 -0
- package/dist/components/icon/languages/C.vue.mjs +34 -0
- package/dist/components/icon/languages/C.vue2.mjs +4 -0
- package/dist/components/icon/languages/Cplusplus.vue.d.ts +7 -0
- package/dist/components/icon/languages/Cplusplus.vue.mjs +38 -0
- package/dist/components/icon/languages/Cplusplus.vue2.mjs +4 -0
- package/dist/components/icon/languages/Csharp.vue.d.ts +7 -0
- package/dist/components/icon/languages/Csharp.vue.mjs +34 -0
- package/dist/components/icon/languages/Csharp.vue2.mjs +4 -0
- package/dist/components/icon/languages/Css.vue.d.ts +7 -0
- package/dist/components/icon/languages/Css.vue.mjs +26 -0
- package/dist/components/icon/languages/Css.vue2.mjs +4 -0
- package/dist/components/icon/languages/Go.vue.d.ts +7 -0
- package/dist/components/icon/languages/Go.vue.mjs +32 -0
- package/dist/components/icon/languages/Go.vue2.mjs +4 -0
- package/dist/components/icon/languages/Html.vue.d.ts +7 -0
- package/dist/components/icon/languages/Html.vue.mjs +38 -0
- package/dist/components/icon/languages/Html.vue2.mjs +4 -0
- package/dist/components/icon/languages/Java.vue.d.ts +7 -0
- package/dist/components/icon/languages/Java.vue.mjs +23 -0
- package/dist/components/icon/languages/Java.vue2.mjs +4 -0
- package/dist/components/icon/languages/Javascript.vue.d.ts +7 -0
- package/dist/components/icon/languages/Javascript.vue.mjs +30 -0
- package/dist/components/icon/languages/Javascript.vue2.mjs +4 -0
- package/dist/components/icon/languages/Json.vue.d.ts +7 -0
- package/dist/components/icon/languages/Json.vue.mjs +23 -0
- package/dist/components/icon/languages/Json.vue2.mjs +4 -0
- package/dist/components/icon/languages/Kotlin.vue.d.ts +7 -0
- package/dist/components/icon/languages/Kotlin.vue.mjs +23 -0
- package/dist/components/icon/languages/Kotlin.vue2.mjs +4 -0
- package/dist/components/icon/languages/Lua.vue.d.ts +7 -0
- package/dist/components/icon/languages/Lua.vue.mjs +34 -0
- package/dist/components/icon/languages/Lua.vue2.mjs +4 -0
- package/dist/components/icon/languages/Npm.vue.d.ts +7 -0
- package/dist/components/icon/languages/Npm.vue.mjs +30 -0
- package/dist/components/icon/languages/Npm.vue2.mjs +4 -0
- package/dist/components/icon/languages/Python.vue.d.ts +7 -0
- package/dist/components/icon/languages/Python.vue.mjs +23 -0
- package/dist/components/icon/languages/Python.vue2.mjs +4 -0
- package/dist/components/icon/languages/Rust.vue.d.ts +7 -0
- package/dist/components/icon/languages/Rust.vue.mjs +24 -0
- package/dist/components/icon/languages/Rust.vue2.mjs +4 -0
- package/dist/components/icon/languages/Sql.vue.d.ts +7 -0
- package/dist/components/icon/languages/Sql.vue.mjs +26 -0
- package/dist/components/icon/languages/Sql.vue2.mjs +4 -0
- package/dist/components/icon/languages/Terraform.vue.d.ts +7 -0
- package/dist/components/icon/languages/Terraform.vue.mjs +36 -0
- package/dist/components/icon/languages/Terraform.vue2.mjs +4 -0
- package/dist/components/icon/languages/Typescript.vue.d.ts +7 -0
- package/dist/components/icon/languages/Typescript.vue.mjs +30 -0
- package/dist/components/icon/languages/Typescript.vue2.mjs +4 -0
- package/dist/components/media/ElmFile.stories.d.ts +6 -0
- package/dist/components/media/ElmFile.vue.d.ts +21 -0
- package/dist/components/media/ElmFile.vue.mjs +10 -0
- package/dist/components/media/ElmFile.vue2.mjs +79 -0
- package/dist/components/media/ElmFile.vue3.mjs +23 -0
- package/dist/components/media/ElmImage.stories.d.ts +9 -0
- package/dist/components/media/ElmImage.vue.d.ts +27 -0
- package/dist/components/media/ElmImage.vue.mjs +10 -0
- package/dist/components/media/ElmImage.vue2.mjs +142 -0
- package/dist/components/media/ElmImage.vue3.mjs +35 -0
- package/dist/components/navigation/ElmBookmark.stories.d.ts +12 -0
- package/dist/components/navigation/ElmBookmark.vue.d.ts +53 -0
- package/dist/components/navigation/ElmBookmark.vue.mjs +10 -0
- package/dist/components/navigation/ElmBookmark.vue2.mjs +116 -0
- package/dist/components/navigation/ElmBookmark.vue3.mjs +41 -0
- package/dist/components/navigation/ElmBreadcrumb.stories.d.ts +7 -0
- package/dist/components/navigation/ElmBreadcrumb.vue.d.ts +19 -0
- package/dist/components/navigation/ElmBreadcrumb.vue.mjs +10 -0
- package/dist/components/navigation/ElmBreadcrumb.vue2.mjs +65 -0
- package/dist/components/navigation/ElmBreadcrumb.vue3.mjs +24 -0
- package/dist/components/navigation/ElmPagetop.stories.d.ts +6 -0
- package/dist/components/navigation/ElmPagetop.vue.d.ts +10 -0
- package/dist/components/navigation/ElmPagetop.vue.mjs +10 -0
- package/dist/components/navigation/ElmPagetop.vue2.mjs +52 -0
- package/dist/components/navigation/ElmPagetop.vue3.mjs +30 -0
- package/dist/components/navigation/ElmTableOfContents.stories.d.ts +7 -0
- package/dist/components/navigation/ElmTableOfContents.vue.d.ts +9 -0
- package/dist/components/navigation/ElmTableOfContents.vue.mjs +10 -0
- package/dist/components/navigation/ElmTableOfContents.vue2.mjs +45 -0
- package/dist/components/navigation/ElmTableOfContents.vue3.mjs +23 -0
- package/dist/components/others/ElmColorSample.stories.d.ts +6 -0
- package/dist/components/others/ElmColorSample.vue.d.ts +8 -0
- package/dist/components/others/ElmColorSample.vue.mjs +23 -0
- package/dist/components/others/ElmColorSample.vue2.mjs +72 -0
- package/dist/components/others/ElmColorSample.vue3.mjs +21 -0
- package/dist/components/others/ElmColorTable.stories.d.ts +6 -0
- package/dist/components/others/ElmColorTable.vue.d.ts +11 -0
- package/dist/components/others/ElmColorTable.vue.mjs +10 -0
- package/dist/components/others/ElmColorTable.vue2.mjs +49 -0
- package/dist/components/others/ElmColorTable.vue3.mjs +22 -0
- package/dist/components/others/ElmJsonComponentRenderer.stories.d.ts +23 -0
- package/dist/components/others/ElmJsonComponentRenderer.vue.d.ts +6 -0
- package/dist/components/others/ElmJsonComponentRenderer.vue.mjs +10 -0
- package/dist/components/others/ElmJsonComponentRenderer.vue2.mjs +189 -0
- package/dist/components/others/ElmJsonComponentRenderer.vue3.mjs +21 -0
- package/dist/components/others/ElmMarkdown.stories.d.ts +6 -0
- package/dist/components/others/ElmMarkdown.vue.d.ts +5 -0
- package/dist/components/others/ElmMarkdown.vue.mjs +255 -0
- package/dist/components/others/ElmMarkdown.vue2.mjs +4 -0
- package/dist/components/others/ElmTyping.stories.d.ts +6 -0
- package/dist/components/others/ElmTyping.vue.d.ts +4 -0
- package/dist/components/table/ElmTable.stories.d.ts +6 -0
- package/dist/components/table/ElmTable.vue.d.ts +46 -0
- package/dist/components/table/ElmTable.vue.mjs +10 -0
- package/dist/components/table/ElmTable.vue2.mjs +62 -0
- package/dist/components/table/ElmTable.vue3.mjs +27 -0
- package/dist/components/table/ElmTableBody.vue.d.ts +22 -0
- package/dist/components/table/ElmTableBody.vue.mjs +15 -0
- package/dist/components/table/ElmTableBody.vue2.mjs +4 -0
- package/dist/components/table/ElmTableCell.vue.d.ts +33 -0
- package/dist/components/table/ElmTableCell.vue.mjs +10 -0
- package/dist/components/table/ElmTableCell.vue2.mjs +28 -0
- package/dist/components/table/ElmTableCell.vue3.mjs +26 -0
- package/dist/components/table/ElmTableHeader.vue.d.ts +22 -0
- package/dist/components/table/ElmTableHeader.vue.mjs +10 -0
- package/dist/components/table/ElmTableHeader.vue2.mjs +17 -0
- package/dist/components/table/ElmTableHeader.vue3.mjs +20 -0
- package/dist/components/table/ElmTableRow.vue.d.ts +22 -0
- package/dist/components/table/ElmTableRow.vue.mjs +10 -0
- package/dist/components/table/ElmTableRow.vue2.mjs +20 -0
- package/dist/components/table/ElmTableRow.vue3.mjs +21 -0
- package/dist/components/template/ElmTemplate.stories.d.ts +6 -0
- package/dist/components/template/ElmTemplate.vue.d.ts +4 -0
- package/dist/components/typography/ElmBlockQuote.stories.d.ts +6 -0
- package/dist/components/typography/ElmBlockQuote.vue.d.ts +24 -0
- package/dist/components/typography/ElmBlockQuote.vue.mjs +10 -0
- package/dist/components/typography/ElmBlockQuote.vue2.mjs +64 -0
- package/dist/components/typography/ElmBlockQuote.vue3.mjs +26 -0
- package/dist/components/typography/ElmCallout.stories.d.ts +11 -0
- package/dist/components/typography/ElmCallout.vue.d.ts +30 -0
- package/dist/components/typography/ElmCallout.vue.mjs +10 -0
- package/dist/components/typography/ElmCallout.vue2.mjs +58 -0
- package/dist/components/typography/ElmCallout.vue3.mjs +23 -0
- package/dist/components/typography/ElmDivider.stories.d.ts +6 -0
- package/dist/components/typography/ElmDivider.vue.d.ts +11 -0
- package/dist/components/typography/ElmDivider.vue.mjs +10 -0
- package/dist/components/typography/ElmDivider.vue2.mjs +29 -0
- package/dist/components/typography/ElmDivider.vue3.mjs +20 -0
- package/dist/components/typography/ElmFragmentIdentifier.stories.d.ts +6 -0
- package/dist/components/typography/ElmFragmentIdentifier.vue.d.ts +8 -0
- package/dist/components/typography/ElmFragmentIdentifier.vue.mjs +10 -0
- package/dist/components/typography/ElmFragmentIdentifier.vue2.mjs +27 -0
- package/dist/components/typography/ElmFragmentIdentifier.vue3.mjs +20 -0
- package/dist/components/typography/ElmHeading.stories.d.ts +7 -0
- package/dist/components/typography/ElmHeading.vue.d.ts +49 -0
- package/dist/components/typography/ElmHeading.vue.mjs +10 -0
- package/dist/components/typography/ElmHeading.vue2.mjs +95 -0
- package/dist/components/typography/ElmHeading.vue3.mjs +39 -0
- package/dist/components/typography/ElmInlineText.stories.d.ts +12 -0
- package/dist/components/typography/ElmInlineText.vue.d.ts +85 -0
- package/dist/components/typography/ElmInlineText.vue.mjs +10 -0
- package/dist/components/typography/ElmInlineText.vue2.mjs +158 -0
- package/dist/components/typography/ElmInlineText.vue3.mjs +35 -0
- package/dist/components/typography/ElmList.stories.d.ts +8 -0
- package/dist/components/typography/ElmList.vue.d.ts +31 -0
- package/dist/components/typography/ElmList.vue.mjs +36 -0
- package/dist/components/typography/ElmList.vue3.mjs +17 -0
- package/dist/components/typography/ElmParagraph.stories.d.ts +6 -0
- package/dist/components/typography/ElmParagraph.vue.d.ts +23 -0
- package/dist/components/typography/ElmParagraph.vue.mjs +10 -0
- package/dist/components/typography/ElmParagraph.vue2.mjs +27 -0
- package/dist/components/typography/ElmParagraph.vue3.mjs +20 -0
- package/dist/components/typography/ElmTypingAnimation.stories.d.ts +6 -0
- package/dist/components/typography/ElmTypingAnimation.vue.d.ts +21 -0
- package/dist/components/typography/ElmTypingAnimation.vue.mjs +10 -0
- package/dist/components/typography/ElmTypingAnimation.vue2.mjs +49 -0
- package/dist/components/typography/ElmTypingAnimation.vue3.mjs +26 -0
- package/dist/hooks/useElmethisTheme.d.ts +4 -0
- package/dist/hooks/useElmethisTheme.mjs +43 -0
- package/dist/hooks/useTyping.d.ts +17 -0
- package/dist/hooks/useTyping.mjs +37 -0
- package/dist/index.d.ts +120 -0
- package/dist/index.mjs +137 -0
- package/dist/node_modules/.pnpm/marked@16.4.1/node_modules/marked/lib/marked.esm.mjs +1099 -0
- package/dist/styles/heading.module.scss.mjs +20 -0
- package/dist/styles/text.module.scss.mjs +20 -0
- package/dist/styles/transition-fade.module.scss.mjs +27 -0
- package/package.json +62 -0
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { defineComponent, useCssModule, useSlots, resolveComponent, createBlock, openBlock, withCtx, createElementBlock, normalizeClass, createElementVNode, createCommentVNode, unref, toDisplayString, resolveDynamicComponent, h } from "vue";
|
|
2
|
+
import { getLuminance } from "polished";
|
|
3
|
+
import ElmInlineIcon from "../icon/ElmInlineIcon.vue.mjs";
|
|
4
|
+
import ElmMdiIcon from "../icon/ElmMdiIcon.vue.mjs";
|
|
5
|
+
import { mdiOpenInNew } from "@mdi/js";
|
|
6
|
+
import textStyle from "../../styles/text.module.scss.mjs";
|
|
7
|
+
import ElmTooltip from "../containments/ElmTooltip.vue.mjs";
|
|
8
|
+
import ElmImage from "../media/ElmImage.vue.mjs";
|
|
9
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
10
|
+
__name: "ElmInlineText",
|
|
11
|
+
props: {
|
|
12
|
+
text: {},
|
|
13
|
+
color: {},
|
|
14
|
+
size: { default: "1em" },
|
|
15
|
+
bold: { type: Boolean, default: false },
|
|
16
|
+
italic: { type: Boolean, default: false },
|
|
17
|
+
underline: { type: Boolean, default: false },
|
|
18
|
+
strikethrough: { type: Boolean, default: false },
|
|
19
|
+
code: { type: Boolean, default: false },
|
|
20
|
+
kbd: { type: Boolean },
|
|
21
|
+
backgroundColor: {},
|
|
22
|
+
ruby: {},
|
|
23
|
+
href: {},
|
|
24
|
+
favicon: {},
|
|
25
|
+
ogp: {}
|
|
26
|
+
},
|
|
27
|
+
setup(__props) {
|
|
28
|
+
const props = __props;
|
|
29
|
+
const style = useCssModule();
|
|
30
|
+
const slots = useSlots();
|
|
31
|
+
const renderLink = () => {
|
|
32
|
+
const children = [];
|
|
33
|
+
if (props.favicon) {
|
|
34
|
+
children.push(h(ElmInlineIcon, { src: props.favicon, alt: "favicon" }));
|
|
35
|
+
}
|
|
36
|
+
if (slots.default) {
|
|
37
|
+
children.push(h(slots.default));
|
|
38
|
+
} else {
|
|
39
|
+
children.push(h("span", {}, props.text ?? props.href));
|
|
40
|
+
}
|
|
41
|
+
children.push(
|
|
42
|
+
h(ElmMdiIcon, {
|
|
43
|
+
d: mdiOpenInNew,
|
|
44
|
+
size: "0.8em",
|
|
45
|
+
color: "gray",
|
|
46
|
+
style: { opacity: 0.75 }
|
|
47
|
+
})
|
|
48
|
+
);
|
|
49
|
+
return h(
|
|
50
|
+
"a",
|
|
51
|
+
{
|
|
52
|
+
class: style.link,
|
|
53
|
+
href: props.href,
|
|
54
|
+
style: { "--font-size": props.size },
|
|
55
|
+
target: "_blank",
|
|
56
|
+
rel: "noopener noreferrer"
|
|
57
|
+
},
|
|
58
|
+
children
|
|
59
|
+
);
|
|
60
|
+
};
|
|
61
|
+
const render = () => {
|
|
62
|
+
const backgroundColor = props.backgroundColor != null ? getLuminance(props.backgroundColor) < 0.5 ? "rgba(255, 255, 255, 0.7)" : "rgba(0, 0, 0, 0.7)" : void 0;
|
|
63
|
+
let vnode = slots.default ? h(
|
|
64
|
+
"span",
|
|
65
|
+
{
|
|
66
|
+
class: [style.text, textStyle.text],
|
|
67
|
+
style: {
|
|
68
|
+
"--color": props.color ?? backgroundColor,
|
|
69
|
+
"--font-size": props.size,
|
|
70
|
+
"--background-color": props.backgroundColor
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
{ default: slots.default }
|
|
74
|
+
) : h(
|
|
75
|
+
"span",
|
|
76
|
+
{
|
|
77
|
+
class: [style.text, textStyle.text],
|
|
78
|
+
style: {
|
|
79
|
+
"--color": props.color ?? backgroundColor,
|
|
80
|
+
"--font-size": props.size,
|
|
81
|
+
"--background-color": props.backgroundColor
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
props.text
|
|
85
|
+
);
|
|
86
|
+
if (props.kbd) {
|
|
87
|
+
vnode = h("kbd", { class: style.kbd }, vnode);
|
|
88
|
+
}
|
|
89
|
+
if (props.strikethrough) {
|
|
90
|
+
vnode = h("del", {}, vnode);
|
|
91
|
+
}
|
|
92
|
+
if (props.italic) {
|
|
93
|
+
vnode = h("em", {}, vnode);
|
|
94
|
+
}
|
|
95
|
+
if (props.underline) {
|
|
96
|
+
vnode = h("ins", {}, vnode);
|
|
97
|
+
}
|
|
98
|
+
if (props.bold) {
|
|
99
|
+
vnode = h("strong", {}, vnode);
|
|
100
|
+
}
|
|
101
|
+
if (props.code) {
|
|
102
|
+
vnode = h("code", { class: style.code }, vnode);
|
|
103
|
+
}
|
|
104
|
+
if (props.ruby) {
|
|
105
|
+
vnode = h(
|
|
106
|
+
"ruby",
|
|
107
|
+
{
|
|
108
|
+
class: style.text,
|
|
109
|
+
style: {
|
|
110
|
+
"--color": props.color ?? backgroundColor,
|
|
111
|
+
"--font-size": props.size,
|
|
112
|
+
"--background-color": props.backgroundColor
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
[h("span", {}, vnode), h("rt", {}, props.ruby)]
|
|
116
|
+
);
|
|
117
|
+
}
|
|
118
|
+
return vnode;
|
|
119
|
+
};
|
|
120
|
+
return (_ctx, _cache) => {
|
|
121
|
+
const _component_ElmInlineText = resolveComponent("ElmInlineText", true);
|
|
122
|
+
return __props.href && __props.ogp ? (openBlock(), createBlock(ElmTooltip, { key: 0 }, {
|
|
123
|
+
original: withCtx(() => [
|
|
124
|
+
(openBlock(), createBlock(resolveDynamicComponent(renderLink())))
|
|
125
|
+
]),
|
|
126
|
+
tooltip: withCtx(() => [
|
|
127
|
+
__props.ogp ? (openBlock(), createElementBlock("div", {
|
|
128
|
+
key: 0,
|
|
129
|
+
class: normalizeClass(_ctx.$style.ogp)
|
|
130
|
+
}, [
|
|
131
|
+
createElementVNode("div", {
|
|
132
|
+
class: normalizeClass(_ctx.$style["ogp-text"])
|
|
133
|
+
}, [
|
|
134
|
+
createElementVNode("div", {
|
|
135
|
+
class: normalizeClass([unref(textStyle).text, _ctx.$style["ogp-title"]])
|
|
136
|
+
}, toDisplayString(__props.ogp.title), 3),
|
|
137
|
+
__props.ogp.description ? (openBlock(), createElementBlock("div", {
|
|
138
|
+
key: 0,
|
|
139
|
+
class: normalizeClass([unref(textStyle).text, _ctx.$style["ogp-description"]])
|
|
140
|
+
}, toDisplayString(__props.ogp.description), 3)) : createCommentVNode("", true)
|
|
141
|
+
], 2),
|
|
142
|
+
__props.ogp.image ? (openBlock(), createBlock(ElmImage, {
|
|
143
|
+
key: 0,
|
|
144
|
+
src: __props.ogp.image
|
|
145
|
+
}, null, 8, ["src"])) : createCommentVNode("", true)
|
|
146
|
+
], 2)) : (openBlock(), createBlock(_component_ElmInlineText, {
|
|
147
|
+
key: 1,
|
|
148
|
+
text: __props.href
|
|
149
|
+
}, null, 8, ["text"]))
|
|
150
|
+
]),
|
|
151
|
+
_: 1
|
|
152
|
+
})) : __props.href ? (openBlock(), createBlock(resolveDynamicComponent(renderLink()), { key: 1 })) : (openBlock(), createBlock(resolveDynamicComponent(render()), { key: 2 }));
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
export {
|
|
157
|
+
_sfc_main as default
|
|
158
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
(function() {
|
|
2
|
+
"use strict";
|
|
3
|
+
try {
|
|
4
|
+
if (typeof document != "undefined") {
|
|
5
|
+
var elementStyle = document.createElement("style");
|
|
6
|
+
elementStyle.appendChild(document.createTextNode('._text_xfybp_1{padding:0;margin:0;white-space:pre-line;font-size:1em;font-size:var(--font-size, 1em);line-height:1em;line-height:var(--font-size, 1em);background-color:var(--background-color);transition:color .2s}._code_xfybp_11{margin-inline:.25rem;padding:2px .5em;font-size:calc(1em - 2px);border-radius:.125rem;background-color:#00000013;font-family:"Source Code Pro" monospace}._kbd_xfybp_20{padding:.125rem .25rem;position:relative;border-radius:.125rem;background-color:#e6e6e6}[data-theme=dark] ._kbd_xfybp_20{background-color:#404040}._kbd_xfybp_20:before{z-index:-1;position:absolute;content:"";bottom:-.25em;left:0;height:100%;width:100%;background-color:#ccc;border-radius:0 0 .125rem .125rem;box-shadow:0 0 .125em #00000080}[data-theme=dark] ._kbd_xfybp_20:before{background-color:#595959;box-shadow:0 0 .125em #ffffff80}._link_xfybp_46{all:unset;box-sizing:border-box;padding:0 .25rem;font-size:var(--font-size);display:inline-flex;align-items:center;gap:.25rem;cursor:pointer;color:#6987b8;border-radius:.125rem;transition:background-color .2s,color .2s,opacity .2s}._link_xfybp_46:hover{background-color:#6987b833}._link_xfybp_46:active{opacity:.5}._link_xfybp_46:visited{color:#9771bd;border-bottom:dashed 1px #9771bd}._link_xfybp_46:visited:hover{background-color:#9771bd33}._ogp_xfybp_73{display:flex;flex-direction:column;gap:.25rem;overflow:hidden;border-radius:.25rem;box-shadow:0 0 .125rem #0000004d;background-color:#fffc}[data-theme=dark] ._ogp_xfybp_73{background-color:#ffffff1a}._ogp-text_xfybp_86{box-sizing:border-box;padding:.5rem}._ogp-title_xfybp_91{box-sizing:border-box;font-weight:700;padding-block-end:.25rem}._ogp-description_xfybp_97{opacity:.7;padding:.25rem}'));
|
|
7
|
+
document.head.appendChild(elementStyle);
|
|
8
|
+
}
|
|
9
|
+
} catch (e) {
|
|
10
|
+
console.error("vite-plugin-css-injected-by-js", e);
|
|
11
|
+
}
|
|
12
|
+
})();
|
|
13
|
+
const text = "_text_xfybp_1";
|
|
14
|
+
const code = "_code_xfybp_11";
|
|
15
|
+
const kbd = "_kbd_xfybp_20";
|
|
16
|
+
const link = "_link_xfybp_46";
|
|
17
|
+
const ogp = "_ogp_xfybp_73";
|
|
18
|
+
const style0 = {
|
|
19
|
+
text,
|
|
20
|
+
code,
|
|
21
|
+
kbd,
|
|
22
|
+
link,
|
|
23
|
+
ogp,
|
|
24
|
+
"ogp-text": "_ogp-text_xfybp_86",
|
|
25
|
+
"ogp-title": "_ogp-title_xfybp_91",
|
|
26
|
+
"ogp-description": "_ogp-description_xfybp_97"
|
|
27
|
+
};
|
|
28
|
+
export {
|
|
29
|
+
code,
|
|
30
|
+
style0 as default,
|
|
31
|
+
kbd,
|
|
32
|
+
link,
|
|
33
|
+
ogp,
|
|
34
|
+
text
|
|
35
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/vue3-vite';
|
|
2
|
+
import { default as ElmList } from './ElmList.vue';
|
|
3
|
+
declare const meta: Meta<typeof ElmList>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof meta>;
|
|
6
|
+
export declare const Unordered: Story;
|
|
7
|
+
export declare const Ordered: Story;
|
|
8
|
+
export declare const Nested: Story;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface ElmListProps {
|
|
2
|
+
/**
|
|
3
|
+
* The type of list to render.
|
|
4
|
+
* - `unordered` `<ul/>` for a **bulleted** list
|
|
5
|
+
* - `ordered` `<ol/>` for a **numbered** list
|
|
6
|
+
*/
|
|
7
|
+
listStyle: "unordered" | "ordered";
|
|
8
|
+
}
|
|
9
|
+
declare function __VLS_template(): {
|
|
10
|
+
attrs: Partial<{}>;
|
|
11
|
+
slots: {
|
|
12
|
+
default?(_: {}): any;
|
|
13
|
+
};
|
|
14
|
+
refs: {
|
|
15
|
+
target: unknown;
|
|
16
|
+
};
|
|
17
|
+
rootEl: any;
|
|
18
|
+
};
|
|
19
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
20
|
+
declare const __VLS_component: import('vue').DefineComponent<ElmListProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<ElmListProps> & Readonly<{}>, {
|
|
21
|
+
listStyle: "unordered" | "ordered";
|
|
22
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
23
|
+
target: unknown;
|
|
24
|
+
}, any>;
|
|
25
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
26
|
+
export default _default;
|
|
27
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
28
|
+
new (): {
|
|
29
|
+
$slots: S;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { defineComponent, ref, createBlock, openBlock, resolveDynamicComponent, normalizeStyle, normalizeClass, withCtx, renderSlot } from "vue";
|
|
2
|
+
import { useIntersectionObserver } from "@vueuse/core";
|
|
3
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
4
|
+
__name: "ElmList",
|
|
5
|
+
props: {
|
|
6
|
+
listStyle: { default: "unordered" }
|
|
7
|
+
},
|
|
8
|
+
setup(__props) {
|
|
9
|
+
const target = ref(null);
|
|
10
|
+
const targetIsVisible = ref(false);
|
|
11
|
+
useIntersectionObserver(target, ([{ isIntersecting }], _) => {
|
|
12
|
+
targetIsVisible.value = isIntersecting;
|
|
13
|
+
});
|
|
14
|
+
return (_ctx, _cache) => {
|
|
15
|
+
return openBlock(), createBlock(resolveDynamicComponent(__props.listStyle === "unordered" ? "ul" : "ol"), {
|
|
16
|
+
ref_key: "target",
|
|
17
|
+
ref: target,
|
|
18
|
+
class: normalizeClass([
|
|
19
|
+
"elmethis-list-common",
|
|
20
|
+
__props.listStyle === "unordered" ? "elmethis-bulleted-list" : "elmethis-numbered-list"
|
|
21
|
+
]),
|
|
22
|
+
style: normalizeStyle({
|
|
23
|
+
"--opacity": targetIsVisible.value ? 1 : 0
|
|
24
|
+
})
|
|
25
|
+
}, {
|
|
26
|
+
default: withCtx(() => [
|
|
27
|
+
renderSlot(_ctx.$slots, "default")
|
|
28
|
+
]),
|
|
29
|
+
_: 3
|
|
30
|
+
}, 8, ["class", "style"]);
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
export {
|
|
35
|
+
_sfc_main as default
|
|
36
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
(function() {
|
|
2
|
+
"use strict";
|
|
3
|
+
try {
|
|
4
|
+
if (typeof document != "undefined") {
|
|
5
|
+
var elementStyle = document.createElement("style");
|
|
6
|
+
elementStyle.appendChild(document.createTextNode(".elmethis-list-common{margin-block:1rem;opacity:var(--opacity);transition:opacity .8s;box-sizing:border-box;padding-left:1.25rem}.elmethis-bulleted-list li{box-sizing:border-box;padding-left:.5rem;margin-block:.75rem}.elmethis-bulleted-list li::marker{content:url(data:image/svg+xml;base64,ICA8c3ZnCiAgICB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnCiAgICB2aWV3Qm94PScwIDAgMTYgMTYnCiAgICB3aWR0aD0nMTJweCcKICAgIGhlaWdodD0nMTJweCcKICA+CiAgICA8cGF0aAogICAgICBmaWxsPScjNDQ5NzYzJwogICAgICBvcGFjaXR5PScwLjgnCiAgICAgIGQ9J00zIDMuNzMyYTEuNSAxLjUgMCAwIDEgMi4zMDUtMS4yNjVsNi43MDYgNC4yNjdhMS41IDEuNSAwIDAgMSAwIDIuNTMxbC02LjcwNiA0LjI2OEExLjUgMS41IDAgMCAxIDMgMTIuMjY3VjMuNzMyWicKICAgIC8+CiAgPC9zdmc+)}.elmethis-bulleted-list li ul li::marker{content:url(data:image/svg+xml;base64,ICA8c3ZnCiAgICB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnCiAgICB2aWV3Qm94PScwIDAgMjQgMjQnCiAgICB3aWR0aD0nMTJweCcKICAgIGhlaWdodD0nMTJweCcKICAgIHN0cm9rZT0nIzQ0OTc2MycKICAgIGZpbGw9J3RyYW5zcGFyZW50JwogID4KICAgIDxwYXRoCiAgICAgIHN0cm9rZUxpbmVjYXA9J3JvdW5kJwogICAgICBzdHJva2VMaW5lam9pbj0ncm91bmQnCiAgICAgIGQ9J001LjI1IDUuNjUzYzAtLjg1Ni45MTctMS4zOTggMS42NjctLjk4NmwxMS41NCA2LjM0N2ExLjEyNSAxLjEyNSAwIDAgMSAwIDEuOTcybC0xMS41NCA2LjM0N2ExLjEyNSAxLjEyNSAwIDAgMS0xLjY2Ny0uOTg2VjUuNjUzWicKICAgIC8+CiAgPC9zdmc+)}.elmethis-bulleted-list li ul li ul li::marker{content:url(data:image/svg+xml;base64,ICA8c3ZnCiAgICB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnCiAgICB2aWV3Qm94PScwIDAgMjAgMjAnCiAgICB3aWR0aD0nMTJweCcKICAgIGhlaWdodD0nMTJweCcKICAgIHN0cm9rZT0nIzQ0OTc2MycKICAgIGZpbGw9JyM0NDk3NjMnCiAgPgogICAgPHBhdGgKICAgICAgZmlsbFJ1bGU9J2V2ZW5vZGQnCiAgICAgIGQ9J004LjIyIDUuMjJhLjc1Ljc1IDAgMCAxIDEuMDYgMGw0LjI1IDQuMjVhLjc1Ljc1IDAgMCAxIDAgMS4wNmwtNC4yNSA0LjI1YS43NS43NSAwIDAgMS0xLjA2LTEuMDZMMTEuOTQgMTAgOC4yMiA2LjI4YS43NS43NSAwIDAgMSAwLTEuMDZaJwogICAgICBjbGlwUnVsZT0nZXZlbm9kZCcKICAgIC8+CiAgPC9zdmc+)}.elmethis-numbered-list li{box-sizing:border-box;padding-left:.25rem;margin-block:.75rem;margin-left:.25rem;list-style-type:decimal}.elmethis-numbered-list li::marker{font-weight:700;color:#9771bd}.elmethis-numbered-list li ol li{list-style-type:lower-alpha}.elmethis-numbered-list li ol li ol li{list-style-type:lower-roman}.elmethis-numbered-list li ol li ol li ol li{list-style-type:lower-greek}"));
|
|
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 "./ElmList.vue.mjs";
|
|
14
|
+
|
|
15
|
+
export {
|
|
16
|
+
_sfc_main as default
|
|
17
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface ElmParagraphProps {
|
|
2
|
+
}
|
|
3
|
+
declare function __VLS_template(): {
|
|
4
|
+
attrs: Partial<{}>;
|
|
5
|
+
slots: {
|
|
6
|
+
default?(_: {}): any;
|
|
7
|
+
};
|
|
8
|
+
refs: {
|
|
9
|
+
target: HTMLParagraphElement;
|
|
10
|
+
};
|
|
11
|
+
rootEl: HTMLParagraphElement;
|
|
12
|
+
};
|
|
13
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
14
|
+
declare const __VLS_component: import('vue').DefineComponent<ElmParagraphProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<ElmParagraphProps> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
15
|
+
target: HTMLParagraphElement;
|
|
16
|
+
}, HTMLParagraphElement>;
|
|
17
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
18
|
+
export default _default;
|
|
19
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
20
|
+
new (): {
|
|
21
|
+
$slots: S;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import _sfc_main from "./ElmParagraph.vue2.mjs";
|
|
2
|
+
import style0 from "./ElmParagraph.vue3.mjs";
|
|
3
|
+
import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
4
|
+
const cssModules = {
|
|
5
|
+
"$style": style0
|
|
6
|
+
};
|
|
7
|
+
const ElmParagraph = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
|
|
8
|
+
export {
|
|
9
|
+
ElmParagraph as default
|
|
10
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { defineComponent, ref, createElementBlock, openBlock, normalizeStyle, normalizeClass, renderSlot } from "vue";
|
|
2
|
+
import { useIntersectionObserver } from "@vueuse/core";
|
|
3
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
4
|
+
__name: "ElmParagraph",
|
|
5
|
+
setup(__props) {
|
|
6
|
+
const target = ref(null);
|
|
7
|
+
const targetIsVisible = ref(false);
|
|
8
|
+
useIntersectionObserver(target, ([{ isIntersecting }], _) => {
|
|
9
|
+
targetIsVisible.value = isIntersecting;
|
|
10
|
+
});
|
|
11
|
+
return (_ctx, _cache) => {
|
|
12
|
+
return openBlock(), createElementBlock("p", {
|
|
13
|
+
ref_key: "target",
|
|
14
|
+
ref: target,
|
|
15
|
+
class: normalizeClass(_ctx.$style.paragraph),
|
|
16
|
+
style: normalizeStyle({
|
|
17
|
+
"--opacity": targetIsVisible.value ? 1 : 0
|
|
18
|
+
})
|
|
19
|
+
}, [
|
|
20
|
+
renderSlot(_ctx.$slots, "default")
|
|
21
|
+
], 6);
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
export {
|
|
26
|
+
_sfc_main as default
|
|
27
|
+
};
|
|
@@ -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("._paragraph_19lcl_1{margin-block:2rem;opacity:var(--opacity);transition:opacity .8s;color:#000000b3}._paragraph_19lcl_1::-moz-selection{color:#ffffffb3;background-color:#000000b3}._paragraph_19lcl_1::selection{color:#ffffffb3;background-color:#000000b3}[data-theme=dark] ._paragraph_19lcl_1{color:#ffffffb3}[data-theme=dark] ._paragraph_19lcl_1::-moz-selection{color:#000000b3;background-color:#ffffffb3}[data-theme=dark] ._paragraph_19lcl_1::selection{color:#000000b3;background-color:#ffffffb3}"));
|
|
7
|
+
document.head.appendChild(elementStyle);
|
|
8
|
+
}
|
|
9
|
+
} catch (e) {
|
|
10
|
+
console.error("vite-plugin-css-injected-by-js", e);
|
|
11
|
+
}
|
|
12
|
+
})();
|
|
13
|
+
const paragraph = "_paragraph_19lcl_1";
|
|
14
|
+
const style0 = {
|
|
15
|
+
paragraph
|
|
16
|
+
};
|
|
17
|
+
export {
|
|
18
|
+
style0 as default,
|
|
19
|
+
paragraph
|
|
20
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/vue3-vite';
|
|
2
|
+
import { default as ElmTypingAnimation } from './ElmTypingAnimation.vue';
|
|
3
|
+
declare const meta: Meta<typeof ElmTypingAnimation>;
|
|
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 ElmTypingAnimationProps {
|
|
3
|
+
/**
|
|
4
|
+
* The texts to display.
|
|
5
|
+
*/
|
|
6
|
+
texts: string[];
|
|
7
|
+
/**
|
|
8
|
+
* The interval between each text.
|
|
9
|
+
*/
|
|
10
|
+
interval?: number;
|
|
11
|
+
/**
|
|
12
|
+
* The font size of the text.
|
|
13
|
+
*/
|
|
14
|
+
fontSize: Property.FontSize<string | number>;
|
|
15
|
+
}
|
|
16
|
+
declare const _default: import('vue').DefineComponent<ElmTypingAnimationProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<ElmTypingAnimationProps> & Readonly<{}>, {
|
|
17
|
+
texts: string[];
|
|
18
|
+
interval: number;
|
|
19
|
+
fontSize: Property.FontSize<string | number>;
|
|
20
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLSpanElement>;
|
|
21
|
+
export default _default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import _sfc_main from "./ElmTypingAnimation.vue2.mjs";
|
|
2
|
+
import style0 from "./ElmTypingAnimation.vue3.mjs";
|
|
3
|
+
import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
4
|
+
const cssModules = {
|
|
5
|
+
"$style": style0
|
|
6
|
+
};
|
|
7
|
+
const ElmTypingAnimation = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
|
|
8
|
+
export {
|
|
9
|
+
ElmTypingAnimation as default
|
|
10
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { defineComponent, ref, onMounted, createElementBlock, openBlock, normalizeStyle, normalizeClass, createTextVNode, createElementVNode, toDisplayString } from "vue";
|
|
2
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
3
|
+
__name: "ElmTypingAnimation",
|
|
4
|
+
props: {
|
|
5
|
+
texts: { default: () => [] },
|
|
6
|
+
interval: { default: 3e3 },
|
|
7
|
+
fontSize: { default: "1rem" }
|
|
8
|
+
},
|
|
9
|
+
setup(__props) {
|
|
10
|
+
const props = __props;
|
|
11
|
+
const sleep = (duration) => {
|
|
12
|
+
return new Promise((resolve) => {
|
|
13
|
+
setTimeout(resolve, duration);
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
const display = ref("");
|
|
17
|
+
onMounted(async () => {
|
|
18
|
+
while (true) {
|
|
19
|
+
for (const text of props.texts) {
|
|
20
|
+
for (const char of text) {
|
|
21
|
+
await sleep(75);
|
|
22
|
+
display.value += char;
|
|
23
|
+
}
|
|
24
|
+
await sleep(props.interval);
|
|
25
|
+
while (true) {
|
|
26
|
+
if (display.value === "") break;
|
|
27
|
+
display.value = display.value.slice(0, -1);
|
|
28
|
+
await sleep(25);
|
|
29
|
+
}
|
|
30
|
+
await sleep(200);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
return (_ctx, _cache) => {
|
|
35
|
+
return openBlock(), createElementBlock("span", {
|
|
36
|
+
class: normalizeClass(_ctx.$style.text),
|
|
37
|
+
style: normalizeStyle({ fontSize: __props.fontSize })
|
|
38
|
+
}, [
|
|
39
|
+
createTextVNode(toDisplayString(display.value), 1),
|
|
40
|
+
createElementVNode("span", {
|
|
41
|
+
class: normalizeClass(_ctx.$style.cursor)
|
|
42
|
+
}, " ", 2)
|
|
43
|
+
], 6);
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
export {
|
|
48
|
+
_sfc_main as default
|
|
49
|
+
};
|
|
@@ -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("._text_kfz2u_1{font-family:monospace;color:#000c;-webkit-user-select:none;-moz-user-select:none;user-select:none}._text_kfz2u_1::-moz-selection{color:#fffc;background-color:#000c}._text_kfz2u_1::selection{color:#fffc;background-color:#000c}[data-theme=dark] ._text_kfz2u_1{color:#fffc}[data-theme=dark] ._text_kfz2u_1::-moz-selection{color:#000c;background-color:#fffc}[data-theme=dark] ._text_kfz2u_1::selection{color:#000c;background-color:#fffc}@keyframes _blink_kfz2u_1{0%{opacity:0}to{opacity:1}}._cursor_kfz2u_26{margin-inline:1px;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:#3e434b80}[data-theme=dark] ._cursor_kfz2u_26{background-color:#cccfd540}"));
|
|
7
|
+
document.head.appendChild(elementStyle);
|
|
8
|
+
}
|
|
9
|
+
} catch (e) {
|
|
10
|
+
console.error("vite-plugin-css-injected-by-js", e);
|
|
11
|
+
}
|
|
12
|
+
})();
|
|
13
|
+
const text = "_text_kfz2u_1";
|
|
14
|
+
const cursor = "_cursor_kfz2u_26";
|
|
15
|
+
const blink = "_blink_kfz2u_1";
|
|
16
|
+
const style0 = {
|
|
17
|
+
text,
|
|
18
|
+
cursor,
|
|
19
|
+
blink
|
|
20
|
+
};
|
|
21
|
+
export {
|
|
22
|
+
blink,
|
|
23
|
+
cursor,
|
|
24
|
+
style0 as default,
|
|
25
|
+
text
|
|
26
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ref, watch, onMounted } from "vue";
|
|
2
|
+
const LOCAL_STORAGE_KEY = "elmethis-theme";
|
|
3
|
+
function useElmethisTheme() {
|
|
4
|
+
const isDarkTheme = ref(false);
|
|
5
|
+
const toggleTheme = () => {
|
|
6
|
+
isDarkTheme.value = !isDarkTheme.value;
|
|
7
|
+
};
|
|
8
|
+
watch(isDarkTheme, () => {
|
|
9
|
+
if (typeof document !== "undefined") {
|
|
10
|
+
document.documentElement.setAttribute(
|
|
11
|
+
"data-theme",
|
|
12
|
+
isDarkTheme.value ? "dark" : "light"
|
|
13
|
+
);
|
|
14
|
+
const body = document.querySelector("body");
|
|
15
|
+
if (body != null) {
|
|
16
|
+
body.style.colorScheme = isDarkTheme.value ? "dark" : "light";
|
|
17
|
+
}
|
|
18
|
+
if (localStorage != null) {
|
|
19
|
+
localStorage.setItem(
|
|
20
|
+
LOCAL_STORAGE_KEY,
|
|
21
|
+
isDarkTheme.value ? "dark" : "light"
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
onMounted(() => {
|
|
27
|
+
if (typeof document !== "undefined") {
|
|
28
|
+
const currentTheme = document.documentElement.getAttribute("data-theme");
|
|
29
|
+
if (currentTheme != null) {
|
|
30
|
+
isDarkTheme.value = currentTheme === "dark";
|
|
31
|
+
} else {
|
|
32
|
+
const localStorageTheme = localStorage.getItem(LOCAL_STORAGE_KEY);
|
|
33
|
+
if (localStorageTheme != null) {
|
|
34
|
+
isDarkTheme.value = localStorageTheme === "dark";
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
return { isDarkTheme, toggleTheme };
|
|
40
|
+
}
|
|
41
|
+
export {
|
|
42
|
+
useElmethisTheme
|
|
43
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
interface Target {
|
|
2
|
+
char: string;
|
|
3
|
+
status: "typed" | "incorrect" | "current" | "default";
|
|
4
|
+
}
|
|
5
|
+
export declare function useTyping(): {
|
|
6
|
+
start: (target: string) => void;
|
|
7
|
+
targetArray: import('vue').Ref<{
|
|
8
|
+
char: string;
|
|
9
|
+
status: "typed" | "incorrect" | "current" | "default";
|
|
10
|
+
}[], Target[] | {
|
|
11
|
+
char: string;
|
|
12
|
+
status: "typed" | "incorrect" | "current" | "default";
|
|
13
|
+
}[]>;
|
|
14
|
+
isFinished: import('vue').Ref<boolean, boolean>;
|
|
15
|
+
mistakes: import('vue').Ref<number, number>;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { onKeyStroke } from "@vueuse/core";
|
|
2
|
+
import { ref } from "vue";
|
|
3
|
+
function useTyping() {
|
|
4
|
+
const targetString = ref(null);
|
|
5
|
+
const targetArray = ref([]);
|
|
6
|
+
const currentCharIndex = ref(0);
|
|
7
|
+
const mistakes = ref(0);
|
|
8
|
+
const isFinished = ref(false);
|
|
9
|
+
const start = (target) => {
|
|
10
|
+
isFinished.value = false;
|
|
11
|
+
currentCharIndex.value = 0;
|
|
12
|
+
targetString.value = target;
|
|
13
|
+
targetArray.value = target.split("").map((char) => ({ char, status: "default" }));
|
|
14
|
+
targetArray.value[0].status = "current";
|
|
15
|
+
};
|
|
16
|
+
onKeyStroke((event) => {
|
|
17
|
+
if (targetArray.value[currentCharIndex.value] != null && !isFinished.value && event.key.length === 1) {
|
|
18
|
+
if (event.key === targetArray.value[currentCharIndex.value].char) {
|
|
19
|
+
targetArray.value[currentCharIndex.value].status = "typed";
|
|
20
|
+
if (currentCharIndex.value === targetArray.value.length - 1) {
|
|
21
|
+
isFinished.value = true;
|
|
22
|
+
} else {
|
|
23
|
+
currentCharIndex.value += 1;
|
|
24
|
+
targetArray.value[currentCharIndex.value] = targetArray.value[currentCharIndex.value];
|
|
25
|
+
targetArray.value[currentCharIndex.value].status = "current";
|
|
26
|
+
}
|
|
27
|
+
} else {
|
|
28
|
+
mistakes.value += 1;
|
|
29
|
+
targetArray.value[currentCharIndex.value].status = "incorrect";
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
return { start, targetArray, isFinished, mistakes };
|
|
34
|
+
}
|
|
35
|
+
export {
|
|
36
|
+
useTyping
|
|
37
|
+
};
|