@elmethis/core 1.0.0-alpha.15 → 1.0.0-alpha.151
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/dist/_virtual/_plugin-vue_export-helper.mjs +10 -0
- package/dist/components/{inline/ElmInlineCode.stories.d.ts → badge/ElmBadge.stories.d.ts} +2 -2
- package/dist/components/badge/ElmBadge.vue.d.ts +21 -0
- package/dist/components/badge/ElmBadge.vue.mjs +10 -0
- package/dist/components/badge/ElmBadge.vue2.mjs +33 -0
- package/dist/components/badge/ElmBadge.vue3.mjs +14 -0
- package/dist/components/badge/ElmTag.stories.d.ts +7 -0
- package/dist/components/badge/ElmTag.vue.d.ts +14 -0
- package/dist/components/badge/ElmTag.vue.mjs +10 -0
- package/dist/components/badge/ElmTag.vue2.mjs +39 -0
- package/dist/components/badge/ElmTag.vue3.mjs +14 -0
- package/dist/components/code/ElmCodeBlock.vue.d.ts +8 -1
- package/dist/components/code/ElmCodeBlock.vue.mjs +10 -0
- package/dist/components/code/ElmCodeBlock.vue2.mjs +86 -0
- package/dist/components/code/ElmCodeBlock.vue3.mjs +18 -0
- package/dist/components/code/ElmKatex.vue.d.ts +3 -1
- package/dist/components/code/ElmKatex.vue.mjs +10 -0
- package/dist/components/code/ElmKatex.vue2.mjs +46 -0
- package/dist/components/code/ElmKatex.vue3.mjs +8 -0
- package/dist/components/code/{ElmPrismHighlighter.stories.d.ts → ElmShikiHighlighter.stories.d.ts} +2 -3
- package/dist/components/code/{ElmPrismHighlighter.vue.d.ts → ElmShikiHighlighter.vue.d.ts} +3 -3
- package/dist/components/code/ElmShikiHighlighter.vue.mjs +11 -0
- package/dist/components/code/ElmShikiHighlighter.vue2.mjs +44 -0
- package/dist/components/code/ElmShikiHighlighter.vue3.mjs +8 -0
- package/dist/components/containments/ElmColumn.vue.d.ts +3 -2
- package/dist/components/containments/ElmColumn.vue.mjs +10 -0
- package/dist/components/containments/ElmColumn.vue2.mjs +16 -0
- package/dist/components/containments/ElmColumn.vue3.mjs +8 -0
- package/dist/components/containments/ElmColumnList.vue.d.ts +3 -2
- package/dist/components/containments/ElmColumnList.vue.mjs +10 -0
- package/dist/components/containments/ElmColumnList.vue2.mjs +16 -0
- package/dist/components/containments/ElmColumnList.vue3.mjs +6 -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 +14 -0
- package/dist/components/containments/ElmModal.stories.d.ts +6 -0
- package/dist/components/containments/ElmModal.vue.d.ts +35 -0
- package/dist/components/containments/ElmModal.vue.mjs +10 -0
- package/dist/components/containments/ElmModal.vue2.mjs +44 -0
- package/dist/components/containments/ElmModal.vue3.mjs +11 -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 +8 -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 +39 -0
- package/dist/components/containments/ElmSnackbar.vue3.mjs +14 -0
- package/dist/components/containments/ElmSnackbarContainer.vue.d.ts +10 -0
- package/dist/components/containments/ElmSnackbarContainer.vue.mjs +10 -0
- package/dist/components/containments/ElmSnackbarContainer.vue2.mjs +33 -0
- package/dist/components/containments/ElmSnackbarContainer.vue3.mjs +7 -0
- package/dist/components/containments/ElmToggle.stories.d.ts +1 -0
- package/dist/components/containments/ElmToggle.vue.d.ts +13 -6
- package/dist/components/containments/ElmToggle.vue.mjs +10 -0
- package/dist/components/containments/ElmToggle.vue2.mjs +71 -0
- package/dist/components/containments/ElmToggle.vue3.mjs +17 -0
- package/dist/components/containments/ElmTooltip.vue.d.ts +5 -2
- package/dist/components/containments/ElmTooltip.vue.mjs +10 -0
- package/dist/components/containments/ElmTooltip.vue2.mjs +49 -0
- package/dist/components/containments/ElmTooltip.vue3.mjs +8 -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 +11 -0
- package/dist/components/data/ElmProgress.stories.d.ts +1 -0
- package/dist/components/data/ElmProgress.vue.d.ts +6 -1
- 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 +20 -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 +10 -0
- package/dist/components/data/ElmStatusMessage.vue2.mjs +75 -0
- package/dist/components/data/ElmStatusMessage.vue3.mjs +11 -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 +6 -0
- package/dist/components/fallback/ElmRectangleWave.vue.d.ts +1 -1
- 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 +9 -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 +12 -0
- package/dist/components/form/ElmButton.stories.d.ts +11 -0
- package/dist/components/form/ElmButton.vue.d.ts +41 -0
- package/dist/components/form/ElmButton.vue.mjs +10 -0
- package/dist/components/form/ElmButton.vue2.mjs +57 -0
- package/dist/components/form/ElmButton.vue3.mjs +20 -0
- package/dist/components/form/ElmCheckbox.vue.d.ts +16 -6
- 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 +22 -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 +16 -0
- package/dist/components/form/ElmTextField.stories.d.ts +6 -0
- package/dist/components/form/ElmTextField.vue.d.ts +30 -0
- package/dist/components/form/ElmTextField.vue.mjs +10 -0
- package/dist/components/form/ElmTextField.vue2.mjs +124 -0
- package/dist/components/form/ElmTextField.vue3.mjs +34 -0
- package/dist/components/form/ElmTotp.stories.d.ts +6 -0
- package/dist/components/form/ElmTotp.vue.d.ts +12 -0
- package/dist/components/form/ElmTotp.vue.mjs +10 -0
- package/dist/components/form/ElmTotp.vue2.mjs +102 -0
- package/dist/components/form/ElmTotp.vue3.mjs +22 -0
- package/dist/components/headings/ElmFragmentIdentifier.stories.d.ts +6 -0
- package/dist/components/headings/ElmFragmentIdentifier.vue.d.ts +8 -0
- package/dist/components/headings/ElmFragmentIdentifier.vue.mjs +10 -0
- package/dist/components/headings/ElmFragmentIdentifier.vue2.mjs +54 -0
- package/dist/components/headings/ElmFragmentIdentifier.vue3.mjs +11 -0
- package/dist/components/headings/ElmHeading1.vue.d.ts +9 -1
- package/dist/components/headings/ElmHeading1.vue.mjs +10 -0
- package/dist/components/headings/ElmHeading1.vue2.mjs +43 -0
- package/dist/components/headings/ElmHeading1.vue3.mjs +8 -0
- package/dist/components/headings/ElmHeading2.vue.d.ts +9 -1
- package/dist/components/headings/ElmHeading2.vue.mjs +10 -0
- package/dist/components/headings/ElmHeading2.vue2.mjs +49 -0
- package/dist/components/headings/ElmHeading2.vue3.mjs +11 -0
- package/dist/components/headings/ElmHeading3.vue.d.ts +9 -1
- package/dist/components/headings/ElmHeading3.vue.mjs +10 -0
- package/dist/components/headings/ElmHeading3.vue2.mjs +39 -0
- package/dist/components/headings/ElmHeading3.vue3.mjs +8 -0
- package/dist/components/headings/ElmHeading4.vue.d.ts +6 -0
- package/dist/components/headings/ElmHeading4.vue.mjs +10 -0
- package/dist/components/headings/ElmHeading4.vue2.mjs +31 -0
- package/dist/components/headings/ElmHeading4.vue3.mjs +8 -0
- package/dist/components/headings/ElmHeading5.vue.d.ts +6 -0
- package/dist/components/headings/ElmHeading5.vue.mjs +10 -0
- package/dist/components/headings/ElmHeading5.vue2.mjs +31 -0
- package/dist/components/headings/ElmHeading5.vue3.mjs +8 -0
- package/dist/components/headings/ElmHeading6.vue.d.ts +6 -0
- package/dist/components/headings/ElmHeading6.vue.mjs +10 -0
- package/dist/components/headings/ElmHeading6.vue2.mjs +31 -0
- package/dist/components/headings/ElmHeading6.vue3.mjs +8 -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 +17 -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 +45 -0
- package/dist/components/icon/ElmBookmarkIcon.vue3.mjs +15 -0
- package/dist/components/icon/ElmCubeIcon.vue.d.ts +1 -1
- 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 +12 -0
- package/dist/components/icon/ElmDotLoadingIcon.vue.d.ts +2 -2
- 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 +14 -0
- package/dist/components/icon/ElmLanguageIcon.vue.d.ts +1 -1
- package/dist/components/icon/ElmLanguageIcon.vue.mjs +10 -0
- package/dist/components/icon/ElmLanguageIcon.vue2.mjs +148 -0
- package/dist/components/icon/ElmLanguageIcon.vue3.mjs +11 -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 +37 -0
- package/dist/components/icon/ElmLoginIcon.vue3.mjs +8 -0
- package/dist/components/icon/ElmToggleTheme.vue.mjs +10 -0
- package/dist/components/icon/ElmToggleTheme.vue2.mjs +30 -0
- package/dist/components/icon/ElmToggleTheme.vue3.mjs +8 -0
- package/dist/components/icon/languages/Bash.vue.d.ts +1 -1
- package/dist/{Bash-Cd5wtNan.js → components/icon/languages/Bash.vue.mjs} +20 -15
- package/dist/components/icon/languages/Bash.vue2.mjs +8 -0
- package/dist/components/icon/languages/{JavaScript.vue.d.ts → Css.vue.d.ts} +1 -1
- package/dist/components/icon/languages/Css.vue.mjs +19 -0
- package/dist/components/icon/languages/Rust.vue.d.ts +1 -1
- package/dist/components/icon/languages/Rust.vue.mjs +17 -0
- package/dist/components/inline/ElmInlineLink.vue.d.ts +1 -1
- package/dist/components/inline/ElmInlineLink.vue.mjs +10 -0
- package/dist/components/inline/ElmInlineLink.vue2.mjs +53 -0
- package/dist/components/inline/ElmInlineLink.vue3.mjs +11 -0
- package/dist/components/inline/ElmInlineRuby.vue.d.ts +1 -1
- package/dist/components/inline/ElmInlineRuby.vue.mjs +29 -0
- package/dist/components/inline/ElmInlineRuby.vue2.mjs +4 -0
- package/dist/components/inline/ElmInlineText.stories.d.ts +1 -0
- package/dist/components/inline/ElmInlineText.vue.d.ts +10 -1
- package/dist/components/inline/ElmInlineText.vue.mjs +10 -0
- package/dist/components/inline/ElmInlineText.vue2.mjs +57 -0
- package/dist/components/inline/ElmInlineText.vue3.mjs +11 -0
- package/dist/components/inline/ElmTypingAnimation.stories.d.ts +6 -0
- package/dist/components/inline/ElmTypingAnimation.vue.d.ts +21 -0
- package/dist/components/jsonschema/ElmChildContainer.stories.d.ts +6 -0
- package/dist/components/jsonschema/ElmChildContainer.vue.d.ts +21 -0
- package/dist/components/jsonschema/ElmFieldAttribute.stories.d.ts +6 -0
- package/dist/components/jsonschema/ElmFieldAttribute.vue.d.ts +7 -0
- package/dist/components/jsonschema/ElmFieldType.stories.d.ts +7 -0
- package/dist/components/jsonschema/ElmFieldType.vue.d.ts +8 -0
- package/dist/components/jsonschema/ElmJsonSchema.stories.d.ts +7 -0
- package/dist/components/jsonschema/ElmJsonSchema.vue.d.ts +7 -0
- package/dist/components/media/ElmFile.vue.d.ts +6 -1
- package/dist/components/media/ElmFile.vue.mjs +10 -0
- package/dist/components/media/ElmFile.vue2.mjs +77 -0
- package/dist/components/media/ElmFile.vue3.mjs +14 -0
- package/dist/components/media/ElmImage.stories.d.ts +1 -0
- package/dist/components/media/ElmImage.vue.d.ts +5 -0
- package/dist/components/media/ElmImage.vue.mjs +10 -0
- package/dist/components/media/ElmImage.vue2.mjs +91 -0
- package/dist/components/media/ElmImage.vue3.mjs +18 -0
- package/dist/components/navigation/ElmBookmark.stories.d.ts +2 -0
- package/dist/components/navigation/ElmBookmark.vue.d.ts +13 -9
- package/dist/components/navigation/ElmBookmark.vue.mjs +10 -0
- package/dist/components/navigation/ElmBookmark.vue2.mjs +115 -0
- package/dist/components/navigation/ElmBookmark.vue3.mjs +32 -0
- package/dist/components/navigation/ElmBreadcrumb.vue.d.ts +3 -1
- package/dist/components/navigation/ElmBreadcrumb.vue.mjs +10 -0
- package/dist/components/navigation/ElmBreadcrumb.vue2.mjs +63 -0
- package/dist/components/navigation/ElmBreadcrumb.vue3.mjs +18 -0
- package/dist/components/navigation/ElmPagetop.vue.d.ts +1 -1
- package/dist/components/navigation/ElmPagetop.vue.mjs +10 -0
- package/dist/components/navigation/ElmPagetop.vue2.mjs +51 -0
- package/dist/components/navigation/ElmPagetop.vue3.mjs +18 -0
- package/dist/components/navigation/ElmTableOfContents.vue.d.ts +1 -1
- package/dist/components/navigation/ElmTableOfContents.vue.mjs +10 -0
- package/dist/components/navigation/ElmTableOfContents.vue2.mjs +43 -0
- package/dist/components/navigation/ElmTableOfContents.vue3.mjs +14 -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 +10 -0
- package/dist/components/others/ElmColorSample.vue2.mjs +72 -0
- package/dist/components/others/ElmColorSample.vue3.mjs +9 -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 +45 -0
- package/dist/components/others/ElmColorTable.vue3.mjs +10 -0
- package/dist/components/others/ElmTemplate.stories.d.ts +6 -0
- package/dist/components/others/ElmTyping.vue.d.ts +4 -0
- package/dist/components/renderer/ElmJsonRenderer.vue.d.ts +33 -8
- package/dist/components/renderer/ElmJsonRenderer.vue.mjs +96 -0
- package/dist/components/renderer/ElmJsonRenderer.vue2.mjs +4 -0
- package/dist/components/renderer/ElmJsonRendererAsync.vue.d.ts +3 -0
- package/dist/components/renderer/ElmJsonRendererAsync.vue.mjs +24 -0
- package/dist/components/renderer/ElmJsonRendererAsync.vue2.mjs +4 -0
- package/dist/components/table/ElmTable.vue.d.ts +8 -2
- package/dist/components/table/ElmTable.vue.mjs +6 -0
- package/dist/components/table/ElmTable.vue2.mjs +22 -0
- package/dist/components/table/ElmTableBody.vue.d.ts +3 -2
- package/dist/components/table/ElmTableBody.vue.mjs +15 -0
- package/dist/components/table/ElmTableBody.vue3.mjs +5 -0
- package/dist/components/table/ElmTableCell.vue.d.ts +2 -1
- package/dist/components/table/ElmTableCell.vue.mjs +6 -0
- package/dist/components/table/ElmTableCell.vue2.mjs +22 -0
- package/dist/components/table/ElmTableHeader.vue.d.ts +3 -2
- package/dist/components/table/ElmTableHeader.vue.mjs +15 -0
- package/dist/components/table/ElmTableHeader.vue3.mjs +5 -0
- package/dist/components/table/ElmTableRow.vue.d.ts +3 -2
- package/dist/components/table/ElmTableRow.vue.mjs +14 -0
- package/dist/components/table/ElmTableRow.vue2.mjs +4 -0
- package/dist/components/template/ElmTemplate.vue.d.ts +1 -1
- package/dist/components/typography/ElmBlockQuote.vue.d.ts +5 -2
- package/dist/components/typography/ElmBlockQuote.vue.mjs +10 -0
- package/dist/components/typography/ElmBlockQuote.vue2.mjs +27 -0
- package/dist/components/typography/ElmBlockQuote.vue3.mjs +8 -0
- package/dist/components/typography/ElmBulletedList.vue.d.ts +5 -2
- package/dist/components/typography/ElmBulletedList.vue.mjs +27 -0
- package/dist/components/typography/ElmBulletedList.vue3.mjs +5 -0
- package/dist/components/typography/ElmCallout.vue.d.ts +5 -2
- package/dist/components/typography/ElmCallout.vue.mjs +10 -0
- package/dist/components/typography/ElmCallout.vue2.mjs +57 -0
- package/dist/components/typography/ElmCallout.vue3.mjs +14 -0
- package/dist/components/typography/ElmDivider.vue.d.ts +8 -1
- 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 +8 -0
- package/dist/components/typography/ElmListItem.vue.d.ts +3 -2
- package/dist/components/typography/ElmListItem.vue.mjs +10 -0
- package/dist/components/typography/ElmListItem.vue2.mjs +16 -0
- package/dist/components/typography/ElmListItem.vue3.mjs +8 -0
- package/dist/components/typography/ElmNumberedList.vue.d.ts +5 -2
- package/dist/components/typography/ElmNumberedList.vue.mjs +27 -0
- package/dist/components/typography/ElmNumberedList.vue3.mjs +5 -0
- package/dist/components/typography/ElmParagraph.vue.d.ts +5 -2
- 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 +8 -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 +127 -44
- package/dist/index.mjs +148 -0
- package/package.json +37 -29
- package/dist/JavaScript-CPGj6jvI.js +0 -22
- package/dist/Rust-Beyp-qeb.js +0 -16
- package/dist/TypeScript-Dk8QmsMS.js +0 -22
- package/dist/components/icon/languages/TypeScript.vue.d.ts +0 -2
- package/dist/components/inline/ElmInlineCode.vue.d.ts +0 -15
- package/dist/elmethis.js +0 -46
- package/dist/elmethis.umd.cjs +0 -419
- package/dist/index-DO0Qe0Kt.js +0 -16225
|
@@ -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
|
+
};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,44 +1,127 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
export {
|
|
44
|
-
export
|
|
1
|
+
export type { ElmBadgeProps } from './components/badge/ElmBadge.vue';
|
|
2
|
+
export { default as ElmBadge } from './components/badge/ElmBadge.vue';
|
|
3
|
+
export type { ElmTagProps } from './components/badge/ElmTag.vue';
|
|
4
|
+
export { default as ElmTag } from './components/badge/ElmTag.vue';
|
|
5
|
+
export type { ElmCodeBlockProps } from './components/code/ElmCodeBlock.vue';
|
|
6
|
+
export { default as ElmCodeBlock } from './components/code/ElmCodeBlock.vue';
|
|
7
|
+
export type { ElmKatexProps } from './components/code/ElmKatex.vue';
|
|
8
|
+
export { default as ElmKatex } from './components/code/ElmKatex.vue';
|
|
9
|
+
export type { ElmColumnProps } from './components/containments/ElmColumn.vue';
|
|
10
|
+
export { default as ElmColumn } from './components/containments/ElmColumn.vue';
|
|
11
|
+
export type { ElmColumnListProps } from './components/containments/ElmColumnList.vue';
|
|
12
|
+
export { default as ElmColumnList } from './components/containments/ElmColumnList.vue';
|
|
13
|
+
export type { ElmDesktopWindowProps } from './components/containments/ElmDesktopWindow.vue';
|
|
14
|
+
export { default as ElmDesktopWindow } from './components/containments/ElmDesktopWindow.vue';
|
|
15
|
+
export type { ElmModalProps } from './components/containments/ElmModal.vue';
|
|
16
|
+
export { default as ElmModal } from './components/containments/ElmModal.vue';
|
|
17
|
+
export type { ElmParallaxProps } from './components/containments/ElmParallax.vue';
|
|
18
|
+
export { default as ElmParallax } from './components/containments/ElmParallax.vue';
|
|
19
|
+
export type { ElmSnackbarProps } from './components/containments/ElmSnackbar.vue';
|
|
20
|
+
export { default as ElmSnackbar } from './components/containments/ElmSnackbar.vue';
|
|
21
|
+
export type { ElmSnackbarContainerProps } from './components/containments/ElmSnackbarContainer.vue';
|
|
22
|
+
export { default as ElmSnackbarContainer } from './components/containments/ElmSnackbarContainer.vue';
|
|
23
|
+
export type { ElmToggleProps } from './components/containments/ElmToggle.vue';
|
|
24
|
+
export { default as ElmToggle } from './components/containments/ElmToggle.vue';
|
|
25
|
+
export type { ElmTooltipProps } from './components/containments/ElmTooltip.vue';
|
|
26
|
+
export { default as ElmTooltip } from './components/containments/ElmTooltip.vue';
|
|
27
|
+
export type { ElmProgressProps } from './components/data/ElmProgress.vue';
|
|
28
|
+
export { default as ElmProgress } from './components/data/ElmProgress.vue';
|
|
29
|
+
export type { ElmMultiProgressProps } from './components/data/ElmMultiProgress.vue';
|
|
30
|
+
export { default as ElmMultiProgress } from './components/data/ElmMultiProgress.vue';
|
|
31
|
+
export type { ElmStatusMessageProps } from './components/data/ElmStatusMessage.vue';
|
|
32
|
+
export { default as ElmStatusMessage } from './components/data/ElmStatusMessage.vue';
|
|
33
|
+
export type { ElmRectangleWaveProps } from './components/fallback/ElmRectangleWave.vue';
|
|
34
|
+
export { default as ElmRectangleWave } from './components/fallback/ElmRectangleWave.vue';
|
|
35
|
+
export type { ElmBlockFallbackProps } from './components/fallback/ElmBlockFallback.vue';
|
|
36
|
+
export { default as ElmBlockFallback } from './components/fallback/ElmBlockFallback.vue';
|
|
37
|
+
export type { ElmSpinnerProps } from './components/fallback/ElmSpinner.vue';
|
|
38
|
+
export { default as ElmSpinner } from './components/fallback/ElmSpinner.vue';
|
|
39
|
+
export type { ElmButtonProps } from './components/form/ElmButton.vue';
|
|
40
|
+
export { default as ElmButton } from './components/form/ElmButton.vue';
|
|
41
|
+
export type { ElmCheckboxProps } from './components/form/ElmCheckbox.vue';
|
|
42
|
+
export { default as ElmCheckbox } from './components/form/ElmCheckbox.vue';
|
|
43
|
+
export type { ElmSwitchProps } from './components/form/ElmSwitch.vue';
|
|
44
|
+
export { default as ElmSwitch } from './components/form/ElmSwitch.vue';
|
|
45
|
+
export type { ElmTextFieldProps } from './components/form/ElmTextField.vue';
|
|
46
|
+
export { default as ElmTextField } from './components/form/ElmTextField.vue';
|
|
47
|
+
export type { ElmTotpProps } from './components/form/ElmTotp.vue';
|
|
48
|
+
export { default as ElmTotp } from './components/form/ElmTotp.vue';
|
|
49
|
+
export type { ElmHeading1Props } from './components/headings/ElmHeading1.vue';
|
|
50
|
+
export { default as ElmHeading1 } from './components/headings/ElmHeading1.vue';
|
|
51
|
+
export type { ElmHeading2Props } from './components/headings/ElmHeading2.vue';
|
|
52
|
+
export { default as ElmHeading2 } from './components/headings/ElmHeading2.vue';
|
|
53
|
+
export type { ElmHeading3Props } from './components/headings/ElmHeading3.vue';
|
|
54
|
+
export { default as ElmHeading3 } from './components/headings/ElmHeading3.vue';
|
|
55
|
+
export type { ElmHeading4Props } from './components/headings/ElmHeading4.vue';
|
|
56
|
+
export { default as ElmHeading4 } from './components/headings/ElmHeading4.vue';
|
|
57
|
+
export type { ElmHeading5Props } from './components/headings/ElmHeading5.vue';
|
|
58
|
+
export { default as ElmHeading5 } from './components/headings/ElmHeading5.vue';
|
|
59
|
+
export type { ElmHeading6Props } from './components/headings/ElmHeading6.vue';
|
|
60
|
+
export { default as ElmHeading6 } from './components/headings/ElmHeading6.vue';
|
|
61
|
+
export type { ElmFragmentIdentifierProps } from './components/headings/ElmFragmentIdentifier.vue';
|
|
62
|
+
export { default as ElmFragmentIdentifier } from './components/headings/ElmFragmentIdentifier.vue';
|
|
63
|
+
export type { ElmArrowIconProps } from './components/icon/ElmArrowIcon.vue';
|
|
64
|
+
export { default as ElmArrowIcon } from './components/icon/ElmArrowIcon.vue';
|
|
65
|
+
export type { ElmBookmarkIconProps } from './components/icon/ElmBookmarkIcon.vue';
|
|
66
|
+
export { default as ElmBookmarkIcon } from './components/icon/ElmBookmarkIcon.vue';
|
|
67
|
+
export type { ElmCubeIconProps } from './components/icon/ElmCubeIcon.vue';
|
|
68
|
+
export { default as ElmCubeIcon } from './components/icon/ElmCubeIcon.vue';
|
|
69
|
+
export type { ElmDotLoadingIconProps } from './components/icon/ElmDotLoadingIcon.vue';
|
|
70
|
+
export { default as ElmDotLoadingIcon } from './components/icon/ElmDotLoadingIcon.vue';
|
|
71
|
+
export type { ElmLanguageIconProps } from './components/icon/ElmLanguageIcon.vue';
|
|
72
|
+
export { default as ElmLanguageIcon } from './components/icon/ElmLanguageIcon.vue';
|
|
73
|
+
export type { ElmLoginIconProps } from './components/icon/ElmLoginIcon.vue';
|
|
74
|
+
export { default as ElmLoginIcon } from './components/icon/ElmLoginIcon.vue';
|
|
75
|
+
export type { ElmToggleThemeProps } from './components/icon/ElmToggleTheme.vue';
|
|
76
|
+
export { default as ElmToggleTheme } from './components/icon/ElmToggleTheme.vue';
|
|
77
|
+
export type { ElmInlineLinkProps } from './components/inline/ElmInlineLink.vue';
|
|
78
|
+
export { default as ElmInlineLink } from './components/inline/ElmInlineLink.vue';
|
|
79
|
+
export type { ElmInlineRubyProps } from './components/inline/ElmInlineRuby.vue';
|
|
80
|
+
export { default as ElmInlineRuby } from './components/inline/ElmInlineRuby.vue';
|
|
81
|
+
export type { ElmInlineTextProps } from './components/inline/ElmInlineText.vue';
|
|
82
|
+
export { default as ElmInlineText } from './components/inline/ElmInlineText.vue';
|
|
83
|
+
export type { ElmFileProps } from './components/media/ElmFile.vue';
|
|
84
|
+
export { default as ElmFile } from './components/media/ElmFile.vue';
|
|
85
|
+
export type { ElmImageProps } from './components/media/ElmImage.vue';
|
|
86
|
+
export { default as ElmImage } from './components/media/ElmImage.vue';
|
|
87
|
+
export type { ElmBookmarkProps } from './components/navigation/ElmBookmark.vue';
|
|
88
|
+
export { default as ElmBookmark } from './components/navigation/ElmBookmark.vue';
|
|
89
|
+
export type { ElmBreadcrumbProps } from './components/navigation/ElmBreadcrumb.vue';
|
|
90
|
+
export { default as ElmBreadcrumb } from './components/navigation/ElmBreadcrumb.vue';
|
|
91
|
+
export type { ElmPagetopProps } from './components/navigation/ElmPagetop.vue';
|
|
92
|
+
export { default as ElmPagetop } from './components/navigation/ElmPagetop.vue';
|
|
93
|
+
export type { ElmTableOfContentsProps } from './components/navigation/ElmTableOfContents.vue';
|
|
94
|
+
export { default as ElmTableOfContents } from './components/navigation/ElmTableOfContents.vue';
|
|
95
|
+
export type { ElmColorSampleProps } from './components/others/ElmColorSample.vue';
|
|
96
|
+
export { default as ElmColorSample } from './components/others/ElmColorSample.vue';
|
|
97
|
+
export type { ElmColorTableProps } from './components/others/ElmColorTable.vue';
|
|
98
|
+
export { default as ElmColorTable } from './components/others/ElmColorTable.vue';
|
|
99
|
+
export type { ElmJsonRendererProps } from './components/renderer/ElmJsonRenderer.vue';
|
|
100
|
+
export { default as ElmJsonRenderer } from './components/renderer/ElmJsonRenderer.vue';
|
|
101
|
+
export { default as ElmJsonRendererAsync } from './components/renderer/ElmJsonRendererAsync.vue';
|
|
102
|
+
export type { ElmTableProps } from './components/table/ElmTable.vue';
|
|
103
|
+
export { default as ElmTable } from './components/table/ElmTable.vue';
|
|
104
|
+
export type { ElmTableHeaderProps } from './components/table/ElmTableHeader.vue';
|
|
105
|
+
export { default as ElmTableHeader } from './components/table/ElmTableHeader.vue';
|
|
106
|
+
export type { ElmTableBodyProps } from './components/table/ElmTableBody.vue';
|
|
107
|
+
export { default as ElmTableBody } from './components/table/ElmTableBody.vue';
|
|
108
|
+
export type { ElmTableRowProps } from './components/table/ElmTableRow.vue';
|
|
109
|
+
export { default as ElmTableRow } from './components/table/ElmTableRow.vue';
|
|
110
|
+
export type { ElmTableCellProps } from './components/table/ElmTableCell.vue';
|
|
111
|
+
export { default as ElmTableCell } from './components/table/ElmTableCell.vue';
|
|
112
|
+
export type { ElmBlockQuoteProps } from './components/typography/ElmBlockQuote.vue';
|
|
113
|
+
export { default as ElmBlockQuote } from './components/typography/ElmBlockQuote.vue';
|
|
114
|
+
export type { ElmBulletedListProps } from './components/typography/ElmBulletedList.vue';
|
|
115
|
+
export { default as ElmBulletedList } from './components/typography/ElmBulletedList.vue';
|
|
116
|
+
export type { ElmCalloutProps } from './components/typography/ElmCallout.vue';
|
|
117
|
+
export { default as ElmCallout } from './components/typography/ElmCallout.vue';
|
|
118
|
+
export type { ElmDividerProps } from './components/typography/ElmDivider.vue';
|
|
119
|
+
export { default as ElmDivider } from './components/typography/ElmDivider.vue';
|
|
120
|
+
export type { ElmNumberedListProps } from './components/typography/ElmNumberedList.vue';
|
|
121
|
+
export { default as ElmNumberedList } from './components/typography/ElmNumberedList.vue';
|
|
122
|
+
export type { ElmParagraphProps } from './components/typography/ElmParagraph.vue';
|
|
123
|
+
export { default as ElmParagraph } from './components/typography/ElmParagraph.vue';
|
|
124
|
+
export type { ElmListItemProps } from './components/typography/ElmListItem.vue';
|
|
125
|
+
export { default as ElmListItem } from './components/typography/ElmListItem.vue';
|
|
126
|
+
export { useElmethisTheme } from './hooks/useElmethisTheme';
|
|
127
|
+
export { useTyping } from './hooks/useTyping';
|