diff --git a/packages/ui-vue/demos/accordion/basic.vue b/packages/ui-vue/demos/accordion/basic.vue new file mode 100644 index 0000000000000000000000000000000000000000..360789373c6a6cf94657b92b5f55e5208740daf5 --- /dev/null +++ b/packages/ui-vue/demos/accordion/basic.vue @@ -0,0 +1,6 @@ + diff --git a/packages/ui-vue/demos/avartar/basic.vue b/packages/ui-vue/demos/avartar/basic.vue new file mode 100644 index 0000000000000000000000000000000000000000..bcc9e71973edb8c5d2d0f728d78f8d7710553e29 --- /dev/null +++ b/packages/ui-vue/demos/avartar/basic.vue @@ -0,0 +1,3 @@ + diff --git a/packages/ui-vue/demos/button-edit/alignment.vue b/packages/ui-vue/demos/button-edit/alignment.vue new file mode 100644 index 0000000000000000000000000000000000000000..a5eeaf6f428e1aff5381d4bb6b35648aeade9f65 --- /dev/null +++ b/packages/ui-vue/demos/button-edit/alignment.vue @@ -0,0 +1,26 @@ + + diff --git a/packages/ui-vue/demos/button-edit/basic.vue b/packages/ui-vue/demos/button-edit/basic.vue new file mode 100644 index 0000000000000000000000000000000000000000..05ae3f65795bd956ac4b7e90f8b7f1a096633cfd --- /dev/null +++ b/packages/ui-vue/demos/button-edit/basic.vue @@ -0,0 +1,12 @@ + + diff --git a/packages/ui-vue/demos/button-edit/button.vue b/packages/ui-vue/demos/button-edit/button.vue new file mode 100644 index 0000000000000000000000000000000000000000..af83f0418efed987dc2d3a09d03ba9ecd5e98389 --- /dev/null +++ b/packages/ui-vue/demos/button-edit/button.vue @@ -0,0 +1,26 @@ + + diff --git a/packages/ui-vue/demos/button-edit/clear.vue b/packages/ui-vue/demos/button-edit/clear.vue new file mode 100644 index 0000000000000000000000000000000000000000..a6be71a6cca87b6519c42937a13a1f99011dcbe7 --- /dev/null +++ b/packages/ui-vue/demos/button-edit/clear.vue @@ -0,0 +1,27 @@ + + + diff --git a/packages/ui-vue/demos/button-edit/label.vue b/packages/ui-vue/demos/button-edit/label.vue new file mode 100644 index 0000000000000000000000000000000000000000..d4ddd026982a114b3797e701b9eacd35ddea205d --- /dev/null +++ b/packages/ui-vue/demos/button-edit/label.vue @@ -0,0 +1,12 @@ + + diff --git a/packages/ui-vue/demos/button-edit/placeholder.vue b/packages/ui-vue/demos/button-edit/placeholder.vue new file mode 100644 index 0000000000000000000000000000000000000000..e2693c5f1218d32880146a11b42e3fb9d171a377 --- /dev/null +++ b/packages/ui-vue/demos/button-edit/placeholder.vue @@ -0,0 +1,29 @@ + + diff --git a/packages/ui-vue/demos/button-edit/status.vue b/packages/ui-vue/demos/button-edit/status.vue new file mode 100644 index 0000000000000000000000000000000000000000..554303cec9b80af41c65341a2067d4fc342e1f46 --- /dev/null +++ b/packages/ui-vue/demos/button-edit/status.vue @@ -0,0 +1,26 @@ + + diff --git a/packages/ui-vue/demos/button-group/basic.vue b/packages/ui-vue/demos/button-group/basic.vue new file mode 100644 index 0000000000000000000000000000000000000000..719e6b66849e09d5ec8dc77070d41b290eff1565 --- /dev/null +++ b/packages/ui-vue/demos/button-group/basic.vue @@ -0,0 +1,57 @@ + + + diff --git a/packages/ui-vue/demos/button/basic.vue b/packages/ui-vue/demos/button/basic.vue new file mode 100644 index 0000000000000000000000000000000000000000..04c51a6eb9b56c9b7523923549d207c4754148da --- /dev/null +++ b/packages/ui-vue/demos/button/basic.vue @@ -0,0 +1,8 @@ + diff --git a/packages/ui-vue/demos/button/size.vue b/packages/ui-vue/demos/button/size.vue new file mode 100644 index 0000000000000000000000000000000000000000..aa8042973e13890d240dcddda11ca389fad8ff71 --- /dev/null +++ b/packages/ui-vue/demos/button/size.vue @@ -0,0 +1,4 @@ + diff --git a/packages/ui-vue/demos/button/status.vue b/packages/ui-vue/demos/button/status.vue new file mode 100644 index 0000000000000000000000000000000000000000..49c779408f9f41f35bbe5384ec15a9212d701426 --- /dev/null +++ b/packages/ui-vue/demos/button/status.vue @@ -0,0 +1,25 @@ + + + diff --git a/packages/ui-vue/demos/switch/basic.vue b/packages/ui-vue/demos/switch/basic.vue new file mode 100644 index 0000000000000000000000000000000000000000..dde7866a6017ed30c19d94e94286853c5ac94e19 --- /dev/null +++ b/packages/ui-vue/demos/switch/basic.vue @@ -0,0 +1,8 @@ + + diff --git a/packages/ui-vue/docs/.vitepress/plugins/farris-markdown-plugin.ts b/packages/ui-vue/docs/.vitepress/plugins/farris-markdown-plugin.ts index e79025490d1e2958a0638b58f97dbe1cf96bb0f0..3e8f9c29d44f169711b5cb9eb495998875ba6d94 100644 --- a/packages/ui-vue/docs/.vitepress/plugins/farris-markdown-plugin.ts +++ b/packages/ui-vue/docs/.vitepress/plugins/farris-markdown-plugin.ts @@ -1,3 +1,5 @@ +import path from 'path'; +import fs from 'fs'; import MarkdownIt from 'markdown-it'; import mdContainer from 'markdown-it-container'; import { render } from '../utils/render'; @@ -12,7 +14,20 @@ export const farrisMarkdownPlugin = (md: MarkdownIt, options: any) => { const matchDescriptionResult = tokens[index].info.trim().match(/^demo\s*(.*)$/); const hasDescription = matchDescriptionResult && matchDescriptionResult.length > 1; if (isTagOpening) { - const sourceCode = tokens[index + 1].type === 'fence' ? tokens[index + 1].content : ''; + let sourceCode: string = tokens[index + 1].type === 'fence' ? tokens[index + 1].content : ''; + const startTag = '{' + const endTag = '}' + const hasVuePath = sourceCode.trim().indexOf(startTag) > -1 && sourceCode.indexOf(endTag) > -1; + if (hasVuePath) { + const start = sourceCode.indexOf(startTag) + startTag.length; + const end = sourceCode.indexOf(endTag, start); + const vueFilePath = sourceCode.slice(start, end); + sourceCode = fs.readFileSync( + path.resolve('', vueFilePath), + 'utf-8' + ); + tokens[index + 1].content = sourceCode; + } return `${sourceCode ? `` : ''}`; } else { return ''; diff --git a/packages/ui-vue/docs/components/accordion/index.md b/packages/ui-vue/docs/components/accordion/index.md index 38be22303b10f010fa88febde8cb849f9647d502..27768e8acc71b6d2623a02fac3c9896b9ba27294 100644 --- a/packages/ui-vue/docs/components/accordion/index.md +++ b/packages/ui-vue/docs/components/accordion/index.md @@ -7,15 +7,7 @@ Accordion 组件为开发者提供了一种可收折的导航面板。 :::demo ```vue - - +{demos/accordion/basic.vue} ``` ::: diff --git a/packages/ui-vue/docs/components/avatar/index.md b/packages/ui-vue/docs/components/avatar/index.md index 35fb0c58264cbdd3618e9b25a741c13d2e7f77f3..e6f850ef2ca4d410277c2ab051d6c3f8dbad7e9f 100644 --- a/packages/ui-vue/docs/components/avatar/index.md +++ b/packages/ui-vue/docs/components/avatar/index.md @@ -7,12 +7,7 @@ Avatar 组件用来展示人员头像。 :::demo ```vue - - +{demos/avartar/basic.vue} ``` ::: diff --git a/packages/ui-vue/docs/components/button-edit/index.md b/packages/ui-vue/docs/components/button-edit/index.md index c527e6fb13d4c9d5f199d69b3092ebce8061ae2c..cb7588fc4c83c0d4a81010e1da2cc9ce1dc0b272 100644 --- a/packages/ui-vue/docs/components/button-edit/index.md +++ b/packages/ui-vue/docs/components/button-edit/index.md @@ -7,17 +7,7 @@ Button Edit 是允许在其编辑器内部嵌入按钮的文本输入框。开 :::demo 使用`v-model`对输入值做双向绑定。 ```vue - - +{demos/button-edit/basic.vue} ``` ::: @@ -27,31 +17,7 @@ const text = ref(''); :::demo ```vue - - +{demos/button-edit/alignment.vue} ``` ::: @@ -61,31 +27,7 @@ const alignRight = ref('right'); :::demo ```vue - - +{demos/button-edit/status.vue} ``` ::: @@ -95,31 +37,7 @@ const readonly = ref(true); :::demo ```vue - - +{demos/button-edit/button.vue} ``` ::: @@ -129,32 +47,7 @@ const passwordIconContent = ref(''); :::demo 使用清空按钮可以快速置空文本框。 ```vue - - - +{demos/button-edit/clear.vue} ``` ::: @@ -164,17 +57,7 @@ const enableClear = ref(true); :::demo ```vue - - +{demos/button-edit/clear.vue} ``` ::: @@ -184,34 +67,7 @@ const enableTitle = ref(true); :::demo 使用清空按钮可以快速置空文本框。 ```vue - - +{demos/button-edit/placeholder.vue} ``` ::: diff --git a/packages/ui-vue/docs/components/button/index.md b/packages/ui-vue/docs/components/button/index.md index d3df46ff477385c1de05fcc9d32f013ed64b47e5..8ee18e0da99fd9e4f34dab036258d42c1a01f946 100644 --- a/packages/ui-vue/docs/components/button/index.md +++ b/packages/ui-vue/docs/components/button/index.md @@ -7,17 +7,7 @@ Button 组件为不同使用场景提供了多种展示样式。 :::demo ```vue - - +{demos/button/basic.vue} ``` ::: @@ -27,30 +17,7 @@ import { ref } from 'vue'; :::demo ```vue - - - +{demos/button/status.vue} ``` ::: @@ -60,13 +27,7 @@ const disabled = ref(true); :::demo ```vue - - +{demos/button/size.vue} ``` ::: @@ -76,63 +37,7 @@ import { ref } from 'vue'; :::demo ```vue - - - +{demos/button-group/basic.vue} ``` diff --git a/packages/ui-vue/docs/components/switch/index.md b/packages/ui-vue/docs/components/switch/index.md index 9deb48f2062353d6cde9a26748a5de8918466e69..0f1851c7344897dafaa0208d2079fe36fa247965 100644 --- a/packages/ui-vue/docs/components/switch/index.md +++ b/packages/ui-vue/docs/components/switch/index.md @@ -18,6 +18,16 @@ const status = ref(true); ::: +## 基本用法 2 + +:::demo + +```vue +{demos/switch/basic.vue} +``` + +::: + ## 属性 | 属性名 | 类型 | 默认值 | 说明 | diff --git a/packages/ui-vue/src/app.vue b/packages/ui-vue/src/app.vue index ae7f08cdf9bd26bd70a05cc23fa167875164785e..001e9398d13a1061d6feb7c53dc0b53b8eb24bb8 100644 --- a/packages/ui-vue/src/app.vue +++ b/packages/ui-vue/src/app.vue @@ -1,67 +1,56 @@ - +const routes: Record = { + '/': HelloWorld, + '/accordion': Accordion, + '/avatar': Avatar, + '/button': Button, + '/button-edit': ButtonEdit, + '/button-group': ButtonGroup, + '/checkbox': Checkbox, + '/combo-list': ComboList, + '/modal': Modal, + '/notify': Notify, + '/popover': Popover, + '/radio-group': RadioGroup, + '/section': Section, + '/switch/basic': SwitchBasic, + '/tabs': Tabs, + '/tooltip': Tooltip +}; - +onMounted(() => { + window.addEventListener('hashchange', () => { + currentPath.value = window.location.hash; + }); +}); + + diff --git a/packages/ui-vue/src/components/button-edit.vue b/packages/ui-vue/src/components/button-edit.vue index 648f1bbbab717ff67de74c8d4bd19e1b2e6c6fd6..760575fce29e9f7b8cfe2ee4303ff19298171ac2 100644 --- a/packages/ui-vue/src/components/button-edit.vue +++ b/packages/ui-vue/src/components/button-edit.vue @@ -13,7 +13,6 @@ const text = ref(''); - Text: {{text}} diff --git a/packages/ui-vue/src/components/hello-world.vue b/packages/ui-vue/src/components/hello-world.vue index b4fe601f396ed503497bb4d99da5c7f7f6efe696..0570e84d8fa8383de6f831c6acf39a924fad3635 100644 --- a/packages/ui-vue/src/components/hello-world.vue +++ b/packages/ui-vue/src/components/hello-world.vue @@ -7,6 +7,14 @@ const count = ref(0);