@elmethis/core 1.0.0-alpha.19 → 1.0.0-alpha.190
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/{headings/ElmHeading4.stories.d.ts → badge/ElmBadge.stories.d.ts} +2 -2
- package/dist/components/{typography/ElmBulletedList.vue.d.ts → badge/ElmBadge.vue.d.ts} +8 -7
- 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 +26 -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 +26 -0
- package/dist/components/code/ElmCodeBlock.stories.d.ts +2 -0
- package/dist/components/code/ElmCodeBlock.vue.d.ts +31 -2
- package/dist/components/code/ElmCodeBlock.vue.mjs +23 -0
- package/dist/components/code/ElmCodeBlock.vue2.mjs +127 -0
- package/dist/components/code/ElmCodeBlock.vue3.mjs +42 -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 +67 -0
- package/dist/components/code/ElmKatex.vue3.mjs +20 -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.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 +20 -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 +18 -0
- package/dist/components/containments/ElmDesktopWindow.vue.d.ts +3 -2
- 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.vue.d.ts +8 -7
- package/dist/components/containments/ElmModal.vue.mjs +23 -0
- package/dist/components/containments/ElmModal.vue2.mjs +44 -0
- package/dist/components/containments/ElmModal.vue3.mjs +23 -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/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 +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 +1 -0
- package/dist/components/containments/ElmToggle.vue.d.ts +21 -10
- package/dist/components/containments/ElmToggle.vue.mjs +23 -0
- package/dist/components/containments/ElmToggle.vue2.mjs +103 -0
- package/dist/components/containments/ElmToggle.vue3.mjs +33 -0
- package/dist/components/containments/ElmTooltip.vue.d.ts +5 -2
- package/dist/components/containments/ElmTooltip.vue.mjs +23 -0
- package/dist/components/containments/ElmTooltip.vue2.mjs +49 -0
- package/dist/components/containments/ElmTooltip.vue3.mjs +20 -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 +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 +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 +75 -0
- package/dist/components/data/ElmStatusMessage.vue3.mjs +23 -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.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 +21 -0
- package/dist/components/{headings/ElmHeading1.stories.d.ts → fallback/ElmSpinner.stories.d.ts} +2 -2
- 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 +41 -0
- package/dist/components/form/ElmButton.vue.mjs +23 -0
- package/dist/components/form/ElmButton.vue2.mjs +68 -0
- package/dist/components/form/ElmButton.vue3.mjs +36 -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 +34 -0
- package/dist/components/{headings/ElmHeading2.stories.d.ts → form/ElmSwitch.stories.d.ts} +2 -2
- 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 +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 +46 -0
- package/dist/components/{headings/ElmHeading3.stories.d.ts → form/ElmTotp.stories.d.ts} +2 -2
- 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 +34 -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 +45 -0
- package/dist/components/icon/ElmBookmarkIcon.vue3.mjs +27 -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 +24 -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 +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.vue.d.ts +1 -1
- package/dist/components/icon/ElmLanguageIcon.vue.mjs +23 -0
- package/dist/components/icon/ElmLanguageIcon.vue2.mjs +148 -0
- package/dist/components/icon/ElmLanguageIcon.vue3.mjs +23 -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 +20 -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 +20 -0
- package/dist/components/icon/languages/Bash.vue.d.ts +1 -1
- package/dist/{Bash-mlA01V07.js → components/icon/languages/Bash.vue.mjs} +20 -15
- package/dist/components/icon/languages/Bash.vue2.mjs +20 -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/jsonschema/ElmChildContainer.stories.d.ts +6 -0
- package/dist/components/{typography/ElmListItem.vue.d.ts → jsonschema/ElmChildContainer.vue.d.ts} +6 -3
- 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/ElmBlockImage.stories.d.ts +9 -0
- package/dist/components/media/ElmBlockImage.vue.d.ts +12 -0
- package/dist/components/media/ElmBlockImage.vue.mjs +23 -0
- package/dist/components/media/ElmBlockImage.vue2.mjs +117 -0
- package/dist/components/media/ElmBlockImage.vue3.mjs +36 -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 +26 -0
- package/dist/components/media/ElmImage.stories.d.ts +2 -0
- package/dist/components/media/ElmImage.vue.d.ts +5 -0
- package/dist/components/media/ElmImage.vue.mjs +23 -0
- package/dist/components/media/ElmImage.vue2.mjs +91 -0
- package/dist/components/media/ElmImage.vue3.mjs +30 -0
- package/dist/components/navigation/ElmBookmark.stories.d.ts +2 -0
- package/dist/components/navigation/ElmBookmark.vue.d.ts +14 -10
- 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 +44 -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 +30 -0
- package/dist/components/navigation/ElmPagetop.vue.d.ts +2 -2
- 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 +30 -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 +26 -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 +45 -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 +217 -0
- package/dist/components/others/ElmJsonComponentRenderer.vue3.mjs +21 -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.vue.d.ts +29 -4
- package/dist/components/table/ElmTable.vue.mjs +10 -0
- package/dist/components/table/ElmTable.vue2.mjs +57 -0
- package/dist/components/table/ElmTable.vue3.mjs +27 -0
- package/dist/components/table/ElmTableBody.vue.d.ts +8 -4
- package/dist/components/table/ElmTableBody.vue.mjs +15 -0
- package/dist/components/table/ElmTableBody.vue3.mjs +17 -0
- package/dist/components/table/ElmTableCell.vue.d.ts +7 -3
- package/dist/components/table/ElmTableCell.vue.mjs +19 -0
- package/dist/components/table/ElmTableCell.vue2.mjs +22 -0
- package/dist/components/table/ElmTableHeader.vue.d.ts +8 -4
- package/dist/components/table/ElmTableHeader.vue.mjs +15 -0
- package/dist/components/table/ElmTableHeader.vue3.mjs +17 -0
- package/dist/components/table/ElmTableRow.vue.d.ts +8 -4
- package/dist/components/table/ElmTableRow.vue.mjs +17 -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 +6 -2
- 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.vue.d.ts +6 -3
- 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 +26 -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 +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 +57 -0
- package/dist/components/typography/ElmFragmentIdentifier.vue3.mjs +23 -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 +72 -0
- package/dist/components/typography/ElmHeading.vue3.mjs +39 -0
- package/dist/components/{inline → typography}/ElmInlineText.stories.d.ts +3 -0
- package/dist/components/{inline → typography}/ElmInlineText.vue.d.ts +22 -1
- package/dist/components/typography/ElmInlineText.vue.mjs +10 -0
- package/dist/components/typography/ElmInlineText.vue2.mjs +95 -0
- package/dist/components/typography/ElmInlineText.vue3.mjs +29 -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.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 +20 -0
- package/dist/components/typography/ElmTypingAnimation.stories.d.ts +6 -0
- package/dist/components/typography/ElmTypingAnimation.vue.d.ts +21 -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 +112 -46
- package/dist/index.mjs +130 -0
- package/dist/node_modules/.pnpm/@mdi_js@7.4.47/node_modules/@mdi/js/mdi.mjs +14 -0
- package/package.json +32 -32
- package/dist/JavaScript-stKTLCvS.js +0 -22
- package/dist/Rust-PU5XwTn1.js +0 -16
- package/dist/TypeScript-ViBgqhx7.js +0 -22
- package/dist/components/code/ElmPrismHighlighter.stories.d.ts +0 -7
- package/dist/components/code/ElmPrismHighlighter.vue.d.ts +0 -14
- package/dist/components/headings/ElmHeading1.vue.d.ts +0 -20
- package/dist/components/headings/ElmHeading2.vue.d.ts +0 -20
- package/dist/components/headings/ElmHeading3.vue.d.ts +0 -20
- package/dist/components/headings/ElmHeading4.vue.d.ts +0 -20
- package/dist/components/headings/ElmHeading5.stories.d.ts +0 -6
- package/dist/components/headings/ElmHeading5.vue.d.ts +0 -20
- package/dist/components/headings/ElmHeading6.stories.d.ts +0 -6
- package/dist/components/headings/ElmHeading6.vue.d.ts +0 -20
- package/dist/components/icon/languages/TypeScript.vue.d.ts +0 -2
- package/dist/components/inline/ElmInlineCode.stories.d.ts +0 -6
- package/dist/components/inline/ElmInlineCode.vue.d.ts +0 -15
- package/dist/components/inline/ElmInlineLink.stories.d.ts +0 -9
- package/dist/components/inline/ElmInlineLink.vue.d.ts +0 -37
- package/dist/components/inline/ElmInlineRuby.stories.d.ts +0 -6
- package/dist/components/inline/ElmInlineRuby.vue.d.ts +0 -19
- package/dist/components/renderer/ElmJsonRenderer.stories.d.ts +0 -19
- package/dist/components/renderer/ElmJsonRenderer.vue.d.ts +0 -163
- package/dist/components/typography/ElmBulletedList.stories.d.ts +0 -7
- package/dist/components/typography/ElmListItem.stories.d.ts +0 -6
- package/dist/components/typography/ElmNumberedList.stories.d.ts +0 -7
- package/dist/components/typography/ElmNumberedList.vue.d.ts +0 -20
- package/dist/elmethis.js +0 -48
- package/dist/elmethis.umd.cjs +0 -419
- package/dist/index-DvtsYpwQ.js +0 -16274
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Property } from 'csstype';
|
|
2
|
+
import { VNode } from 'vue';
|
|
3
|
+
export interface ElmHeadingProps {
|
|
4
|
+
/**
|
|
5
|
+
* Text to display
|
|
6
|
+
*/
|
|
7
|
+
text?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Font size of the text. Default is `'1.5rem'`.
|
|
10
|
+
*/
|
|
11
|
+
size?: Property.FontSize;
|
|
12
|
+
/**
|
|
13
|
+
* ID of the heading element.
|
|
14
|
+
* Default is kebab-cased `text`. (using lodash)
|
|
15
|
+
*/
|
|
16
|
+
id?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Whether to disable fragment identifier.
|
|
19
|
+
* Default is `false`.
|
|
20
|
+
*/
|
|
21
|
+
disableFragmentIdentifier?: boolean;
|
|
22
|
+
level?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
23
|
+
}
|
|
24
|
+
declare function __VLS_template(): {
|
|
25
|
+
attrs: Partial<{}>;
|
|
26
|
+
slots: Readonly<{
|
|
27
|
+
default?: () => VNode[];
|
|
28
|
+
}> & {
|
|
29
|
+
default?: () => VNode[];
|
|
30
|
+
};
|
|
31
|
+
refs: {
|
|
32
|
+
target: unknown;
|
|
33
|
+
};
|
|
34
|
+
rootEl: any;
|
|
35
|
+
};
|
|
36
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
37
|
+
declare const __VLS_component: import('vue').DefineComponent<ElmHeadingProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<ElmHeadingProps> & Readonly<{}>, {
|
|
38
|
+
disableFragmentIdentifier: boolean;
|
|
39
|
+
level: 1 | 2 | 3 | 4 | 5 | 6;
|
|
40
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
41
|
+
target: unknown;
|
|
42
|
+
}, any>;
|
|
43
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
44
|
+
export default _default;
|
|
45
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
46
|
+
new (): {
|
|
47
|
+
$slots: S;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import _sfc_main from "./ElmHeading.vue2.mjs";
|
|
2
|
+
import style0 from "./ElmHeading.vue3.mjs";
|
|
3
|
+
import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
4
|
+
const cssModules = {
|
|
5
|
+
"$style": style0
|
|
6
|
+
};
|
|
7
|
+
const ElmHeading = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
|
|
8
|
+
export {
|
|
9
|
+
ElmHeading as default
|
|
10
|
+
};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { defineComponent, ref, useSlots, createElementBlock, openBlock, Fragment, createBlock, createCommentVNode, resolveDynamicComponent, normalizeStyle, unref, normalizeClass, withCtx, h } from "vue";
|
|
2
|
+
import { useIntersectionObserver } from "@vueuse/core";
|
|
3
|
+
import { kebabCase } from "lodash-es";
|
|
4
|
+
import ElmFragmentIdentifier from "./ElmFragmentIdentifier.vue.mjs";
|
|
5
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
6
|
+
__name: "ElmHeading",
|
|
7
|
+
props: {
|
|
8
|
+
text: {},
|
|
9
|
+
size: {},
|
|
10
|
+
id: {},
|
|
11
|
+
disableFragmentIdentifier: { type: Boolean, default: false },
|
|
12
|
+
level: { default: 1 }
|
|
13
|
+
},
|
|
14
|
+
setup(__props) {
|
|
15
|
+
const SIZE_MAP = Object.freeze({
|
|
16
|
+
1: 1.5,
|
|
17
|
+
2: 1.4,
|
|
18
|
+
3: 1.3,
|
|
19
|
+
4: 1.2,
|
|
20
|
+
5: 1.15,
|
|
21
|
+
6: 1.1
|
|
22
|
+
});
|
|
23
|
+
const props = __props;
|
|
24
|
+
const target = ref(null);
|
|
25
|
+
const targetIsVisible = ref(false);
|
|
26
|
+
useIntersectionObserver(target, ([{ isIntersecting }], _) => {
|
|
27
|
+
targetIsVisible.value = isIntersecting;
|
|
28
|
+
});
|
|
29
|
+
const slots = useSlots();
|
|
30
|
+
const renderSlots = () => {
|
|
31
|
+
if (props.text != null) {
|
|
32
|
+
return h("span", {}, props.text);
|
|
33
|
+
} else if (slots.default != null) {
|
|
34
|
+
return slots.default();
|
|
35
|
+
} else {
|
|
36
|
+
return h("span");
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
return (_ctx, _cache) => {
|
|
40
|
+
return openBlock(), createElementBlock(Fragment, null, [
|
|
41
|
+
(openBlock(), createBlock(resolveDynamicComponent(`h${_ctx.level}`), {
|
|
42
|
+
ref_key: "target",
|
|
43
|
+
ref: target,
|
|
44
|
+
class: normalizeClass([_ctx.$style[`h${_ctx.level}`], _ctx.$style["heading-common"]]),
|
|
45
|
+
id: _ctx.id ?? unref(kebabCase)(_ctx.text),
|
|
46
|
+
style: normalizeStyle({
|
|
47
|
+
"--font-size": _ctx.size ?? `${unref(SIZE_MAP)[_ctx.level]}rem`,
|
|
48
|
+
"--scale": targetIsVisible.value ? 1 : 0,
|
|
49
|
+
"--opacity": targetIsVisible.value ? 1 : 0
|
|
50
|
+
})
|
|
51
|
+
}, {
|
|
52
|
+
default: withCtx(() => [
|
|
53
|
+
(openBlock(), createBlock(resolveDynamicComponent(() => renderSlots()))),
|
|
54
|
+
_ctx.level === 2 ? (openBlock(), createElementBlock("span", {
|
|
55
|
+
key: 0,
|
|
56
|
+
class: normalizeClass(_ctx.$style["h2__underline"]),
|
|
57
|
+
"aria-hidden": ""
|
|
58
|
+
}, null, 2)) : createCommentVNode("", true)
|
|
59
|
+
]),
|
|
60
|
+
_: 1
|
|
61
|
+
}, 8, ["class", "id", "style"])),
|
|
62
|
+
!_ctx.disableFragmentIdentifier ? (openBlock(), createBlock(ElmFragmentIdentifier, {
|
|
63
|
+
key: 0,
|
|
64
|
+
id: _ctx.id ?? unref(kebabCase)(_ctx.text)
|
|
65
|
+
}, null, 8, ["id"])) : createCommentVNode("", true)
|
|
66
|
+
], 64);
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
export {
|
|
71
|
+
_sfc_main as default
|
|
72
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
(function() {
|
|
2
|
+
"use strict";
|
|
3
|
+
try {
|
|
4
|
+
if (typeof document != "undefined") {
|
|
5
|
+
var elementStyle = document.createElement("style");
|
|
6
|
+
elementStyle.appendChild(document.createTextNode('._heading-common_6xtyu_1{margin-block-start:1.5rem;position:relative;font-size:var(--font-size);line-height:var(--font-size);opacity:var(--opacity);transition:color .4s,opacity .8s;color:#000c}._heading-common_6xtyu_1::-moz-selection{color:#fffc;background-color:#000c}._heading-common_6xtyu_1::selection{color:#fffc;background-color:#000c}[data-theme=dark] ._heading-common_6xtyu_1{color:#fffc}[data-theme=dark] ._heading-common_6xtyu_1::-moz-selection{color:#000c;background-color:#fffc}[data-theme=dark] ._heading-common_6xtyu_1::selection{color:#000c;background-color:#fffc}._h1_6xtyu_22{margin-block-start:.5rem}._h1_6xtyu_22:after{position:absolute;content:"";bottom:-10px;left:0;width:100%;height:.25px;background-color:#00000080;transition:transform .8s;transform:scaleX(var(--scale))}[data-theme=dark] ._h1_6xtyu_22:after{background-color:#ffffff80}._h1_6xtyu_22:before{position:absolute;content:"";bottom:-12px;left:45%;width:10%;height:2px;background-color:#0009;transition:transform .8s;transform:scaleY(var(--scale));transform-origin:top}[data-theme=dark] ._h1_6xtyu_22:before{background-color:#fff9}._h2_6xtyu_55:after{position:absolute;content:"";right:2px;bottom:-4px;width:6px;height:8px;opacity:.8;transform:skew(-25deg);background-color:#000c}[data-theme=dark] ._h2_6xtyu_55:after{background-color:#fffc}._h2_6xtyu_55:before{position:absolute;content:"";right:10px;bottom:-4px;width:6px;height:8px;opacity:.8;transform:skew(-25deg);background-color:#000c}[data-theme=dark] ._h2_6xtyu_55:before{background-color:#fffc}._h2__underline_6xtyu_83{overflow:hidden;position:absolute;content:"";bottom:-6px;left:0;width:100%;height:.25px;background-color:#00000080;transition:transform .8s;transform:scaleX(var(--scale));transform-origin:left}[data-theme=dark] ._h2__underline_6xtyu_83{background-color:#ffffff80}._h3_6xtyu_100{box-sizing:border-box;padding-left:.75rem}._h3_6xtyu_100:after{position:absolute;content:"";width:3px;height:50%;top:25%;left:0;background-color:#000c}[data-theme=dark] ._h3_6xtyu_100:after{background-color:#fffc}._h4_6xtyu_117,._h5_6xtyu_121,._h6_6xtyu_125{position:relative}'));
|
|
7
|
+
document.head.appendChild(elementStyle);
|
|
8
|
+
}
|
|
9
|
+
} catch (e) {
|
|
10
|
+
console.error("vite-plugin-css-injected-by-js", e);
|
|
11
|
+
}
|
|
12
|
+
})();
|
|
13
|
+
const h1 = "_h1_6xtyu_22";
|
|
14
|
+
const h2 = "_h2_6xtyu_55";
|
|
15
|
+
const h2__underline = "_h2__underline_6xtyu_83";
|
|
16
|
+
const h3 = "_h3_6xtyu_100";
|
|
17
|
+
const h4 = "_h4_6xtyu_117";
|
|
18
|
+
const h5 = "_h5_6xtyu_121";
|
|
19
|
+
const h6 = "_h6_6xtyu_125";
|
|
20
|
+
const style0 = {
|
|
21
|
+
"heading-common": "_heading-common_6xtyu_1",
|
|
22
|
+
h1,
|
|
23
|
+
h2,
|
|
24
|
+
h2__underline,
|
|
25
|
+
h3,
|
|
26
|
+
h4,
|
|
27
|
+
h5,
|
|
28
|
+
h6
|
|
29
|
+
};
|
|
30
|
+
export {
|
|
31
|
+
style0 as default,
|
|
32
|
+
h1,
|
|
33
|
+
h2,
|
|
34
|
+
h2__underline,
|
|
35
|
+
h3,
|
|
36
|
+
h4,
|
|
37
|
+
h5,
|
|
38
|
+
h6
|
|
39
|
+
};
|
|
@@ -9,7 +9,7 @@ export interface ElmInlineTextProps {
|
|
|
9
9
|
*
|
|
10
10
|
* e.g.) `'red'`, `'#ff0000'`, `'rgba(255, 0, 0, 0.5)'`
|
|
11
11
|
*/
|
|
12
|
-
color?: Property.
|
|
12
|
+
color?: Property.Color;
|
|
13
13
|
/**
|
|
14
14
|
* Specifies the font size of the text.
|
|
15
15
|
*/
|
|
@@ -30,9 +30,30 @@ export interface ElmInlineTextProps {
|
|
|
30
30
|
* Specifies whether the text should be strikethrough.
|
|
31
31
|
*/
|
|
32
32
|
strikethrough?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Specifies whether the text should be displayed as code.
|
|
35
|
+
*/
|
|
36
|
+
code?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Specifies the background color of the text.
|
|
39
|
+
*/
|
|
40
|
+
backgroundColor?: Property.BackgroundColor;
|
|
41
|
+
/**
|
|
42
|
+
* The ruby text to display.
|
|
43
|
+
*/
|
|
44
|
+
ruby?: string;
|
|
45
|
+
/**
|
|
46
|
+
* The URL to navigate to.
|
|
47
|
+
*
|
|
48
|
+
* e.g. `https://example.com`
|
|
49
|
+
*/
|
|
50
|
+
href?: string;
|
|
51
|
+
favicon?: string;
|
|
33
52
|
}
|
|
34
53
|
declare const _default: import('vue').DefineComponent<ElmInlineTextProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<ElmInlineTextProps> & Readonly<{}>, {
|
|
54
|
+
code: boolean;
|
|
35
55
|
bold: boolean;
|
|
56
|
+
size: Property.FontSize;
|
|
36
57
|
italic: boolean;
|
|
37
58
|
underline: boolean;
|
|
38
59
|
strikethrough: boolean;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import _sfc_main from "./ElmInlineText.vue2.mjs";
|
|
2
|
+
import style0 from "./ElmInlineText.vue3.mjs";
|
|
3
|
+
import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
4
|
+
const cssModules = {
|
|
5
|
+
"$style": style0
|
|
6
|
+
};
|
|
7
|
+
const ElmInlineText = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
|
|
8
|
+
export {
|
|
9
|
+
ElmInlineText as default
|
|
10
|
+
};
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { defineComponent, useCssModule, createElementBlock, createBlock, openBlock, normalizeStyle, normalizeClass, createCommentVNode, createTextVNode, createVNode, toDisplayString, unref, resolveDynamicComponent, h } from "vue";
|
|
2
|
+
import { Icon } from "@iconify/vue";
|
|
3
|
+
import { getLuminance } from "polished";
|
|
4
|
+
import ElmInlineIcon from "../icon/ElmInlineIcon.vue.mjs";
|
|
5
|
+
const _hoisted_1 = ["href"];
|
|
6
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
7
|
+
__name: "ElmInlineText",
|
|
8
|
+
props: {
|
|
9
|
+
text: {},
|
|
10
|
+
color: {},
|
|
11
|
+
size: { default: "1em" },
|
|
12
|
+
bold: { type: Boolean, default: false },
|
|
13
|
+
italic: { type: Boolean, default: false },
|
|
14
|
+
underline: { type: Boolean, default: false },
|
|
15
|
+
strikethrough: { type: Boolean, default: false },
|
|
16
|
+
code: { type: Boolean, default: false },
|
|
17
|
+
backgroundColor: {},
|
|
18
|
+
ruby: {},
|
|
19
|
+
href: {},
|
|
20
|
+
favicon: {}
|
|
21
|
+
},
|
|
22
|
+
setup(__props) {
|
|
23
|
+
const props = __props;
|
|
24
|
+
const style = useCssModule();
|
|
25
|
+
const render = () => {
|
|
26
|
+
const backgroundColor = props.backgroundColor != null ? getLuminance(props.backgroundColor) < 0.5 ? "rgba(255, 255, 255, 0.7)" : "rgba(0, 0, 0, 0.7)" : void 0;
|
|
27
|
+
let vnode = h(
|
|
28
|
+
"span",
|
|
29
|
+
{
|
|
30
|
+
class: style.text,
|
|
31
|
+
style: {
|
|
32
|
+
"--color": props.color ?? backgroundColor,
|
|
33
|
+
"--font-size": props.size,
|
|
34
|
+
"--background-color": props.backgroundColor
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
props.text
|
|
38
|
+
);
|
|
39
|
+
if (props.strikethrough) {
|
|
40
|
+
vnode = h("del", {}, vnode);
|
|
41
|
+
}
|
|
42
|
+
if (props.italic) {
|
|
43
|
+
vnode = h("em", {}, vnode);
|
|
44
|
+
}
|
|
45
|
+
if (props.underline) {
|
|
46
|
+
vnode = h("ins", {}, vnode);
|
|
47
|
+
}
|
|
48
|
+
if (props.bold) {
|
|
49
|
+
vnode = h("strong", {}, vnode);
|
|
50
|
+
}
|
|
51
|
+
if (props.code) {
|
|
52
|
+
vnode = h("code", { class: style.code }, vnode);
|
|
53
|
+
}
|
|
54
|
+
if (props.ruby) {
|
|
55
|
+
vnode = h(
|
|
56
|
+
"ruby",
|
|
57
|
+
{
|
|
58
|
+
class: style.text,
|
|
59
|
+
style: {
|
|
60
|
+
"--color": props.color ?? backgroundColor,
|
|
61
|
+
"--font-size": props.size,
|
|
62
|
+
"--background-color": props.backgroundColor
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
[h("span", {}, vnode), h("rt", {}, props.ruby)]
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
return vnode;
|
|
69
|
+
};
|
|
70
|
+
return (_ctx, _cache) => {
|
|
71
|
+
return _ctx.href ? (openBlock(), createElementBlock("a", {
|
|
72
|
+
key: 0,
|
|
73
|
+
class: normalizeClass(_ctx.$style.link),
|
|
74
|
+
href: _ctx.href,
|
|
75
|
+
style: normalizeStyle({ "--font-size": _ctx.size }),
|
|
76
|
+
target: "_blank",
|
|
77
|
+
rel: "noopener noreferrer"
|
|
78
|
+
}, [
|
|
79
|
+
_ctx.favicon ? (openBlock(), createBlock(ElmInlineIcon, {
|
|
80
|
+
key: 0,
|
|
81
|
+
src: _ctx.favicon,
|
|
82
|
+
alt: "favicon"
|
|
83
|
+
}, null, 8, ["src"])) : createCommentVNode("", true),
|
|
84
|
+
createTextVNode(" " + toDisplayString(_ctx.text ?? _ctx.href) + " ", 1),
|
|
85
|
+
createVNode(unref(Icon), {
|
|
86
|
+
icon: "mdi:external-link",
|
|
87
|
+
class: normalizeClass(_ctx.$style.icon)
|
|
88
|
+
}, null, 8, ["class"])
|
|
89
|
+
], 14, _hoisted_1)) : (openBlock(), createBlock(resolveDynamicComponent(render()), { key: 1 }));
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
export {
|
|
94
|
+
_sfc_main as default
|
|
95
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
(function() {
|
|
2
|
+
"use strict";
|
|
3
|
+
try {
|
|
4
|
+
if (typeof document != "undefined") {
|
|
5
|
+
var elementStyle = document.createElement("style");
|
|
6
|
+
elementStyle.appendChild(document.createTextNode('._text_10ba4_1{padding:0;margin:0;color:#000000b3;color:var(--color, rgba(0, 0, 0, .7));font-size:1em;font-size:var(--font-size, 1em);line-height:1em;line-height:var(--font-size, 1em);background-color:var(--background-color)}._text_10ba4_1::-moz-selection{color:#ffffffb3;background-color:#000000b3;background-color:var(--color, rgba(0, 0, 0, .7))}._text_10ba4_1::selection{color:#ffffffb3;background-color:#000000b3;background-color:var(--color, rgba(0, 0, 0, .7))}[data-theme=dark] ._text_10ba4_1{color:#ffffffb3;color:var(--color, rgba(255, 255, 255, .7))}[data-theme=dark] ._text_10ba4_1::-moz-selection{color:#000000b3;background-color:#ffffffb3;background-color:var(--color, rgba(255, 255, 255, .7))}[data-theme=dark] ._text_10ba4_1::selection{color:#000000b3;background-color:#ffffffb3;background-color:var(--color, rgba(255, 255, 255, .7))}._code_10ba4_21{margin-inline:.25rem;padding:2px .5em;font-size:calc(1em - 2px);border-radius:.125rem;background-color:#00000013;font-family:"Source Code Pro" monospace}._link_10ba4_30{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 .125rem 0 0;border-bottom:dashed 1px #6987b8;transition:background-color .2s,color .2s}._link_10ba4_30:hover{background-color:#6987b833}._link_10ba4_30:active{color:#59b57c;background-color:#59b57c33}._link_10ba4_30:visited{color:#9771bd;border-bottom:dashed 1px #9771bd}._link_10ba4_30:visited:hover{background-color:#9771bd33}._link_10ba4_30:visited:active{color:#59b57c;background-color:#59b57c33}._link_10ba4_30 ._icon_10ba4_62{width:var(--font-size);height:var(--font-size)}'));
|
|
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_10ba4_1";
|
|
14
|
+
const code = "_code_10ba4_21";
|
|
15
|
+
const link = "_link_10ba4_30";
|
|
16
|
+
const icon = "_icon_10ba4_62";
|
|
17
|
+
const style0 = {
|
|
18
|
+
text,
|
|
19
|
+
code,
|
|
20
|
+
link,
|
|
21
|
+
icon
|
|
22
|
+
};
|
|
23
|
+
export {
|
|
24
|
+
code,
|
|
25
|
+
style0 as default,
|
|
26
|
+
icon,
|
|
27
|
+
link,
|
|
28
|
+
text
|
|
29
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/vue3';
|
|
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(_ctx.listStyle === "unordered" ? "ul" : "ol"), {
|
|
16
|
+
ref_key: "target",
|
|
17
|
+
ref: target,
|
|
18
|
+
class: normalizeClass([
|
|
19
|
+
"elmethis-list-common",
|
|
20
|
+
_ctx.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
|
+
};
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
export interface ElmParagraphProps {
|
|
2
2
|
}
|
|
3
3
|
declare function __VLS_template(): {
|
|
4
|
+
attrs: Partial<{}>;
|
|
4
5
|
slots: {
|
|
5
6
|
default?(_: {}): any;
|
|
6
7
|
};
|
|
7
8
|
refs: {
|
|
8
9
|
target: HTMLParagraphElement;
|
|
9
10
|
};
|
|
10
|
-
|
|
11
|
+
rootEl: HTMLParagraphElement;
|
|
11
12
|
};
|
|
12
13
|
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
13
|
-
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, {
|
|
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>;
|
|
14
17
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
15
18
|
export default _default;
|
|
16
19
|
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
@@ -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';
|
|
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,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 {};
|