diff --git a/packages/devui-vue/devui/list/index.ts b/packages/devui-vue/devui/list/index.ts new file mode 100644 index 0000000000..31b46e6222 --- /dev/null +++ b/packages/devui-vue/devui/list/index.ts @@ -0,0 +1,15 @@ +import type { App } from 'vue'; +import List from './src/list'; +import ListItem from './src/list-item'; + +export { List, ListItem }; + +export default { + title: 'List 列表', + category: '数据展示', + status: '10%', + install(app: App): void { + app.component(List.name, List); + app.component(ListItem.name, ListItem); + }, +}; diff --git a/packages/devui-vue/devui/list/src/list-item.scss b/packages/devui-vue/devui/list/src/list-item.scss new file mode 100644 index 0000000000..cac82f8c07 --- /dev/null +++ b/packages/devui-vue/devui/list/src/list-item.scss @@ -0,0 +1,25 @@ +@import '../../styles-var/devui-var.scss'; + +.devui-list-item { + display: flex; + align-items: center; + width: 100%; + height: 36px; + padding: 0 8px; + color: $devui-text; + box-sizing: border-box; + cursor: pointer; + transition: + color $devui-animation-duration-fast $devui-animation-ease-in-out-smooth, + background-color $devui-animation-duration-fast $devui-animation-ease-in-out-smooth; + + &:hover { + color: $devui-list-item-hover-text; + background-color: $devui-list-item-hover-bg; + } + + &:active { + color: $devui-list-item-active-text; + background-color: $devui-list-item-hover-bg; + } +} diff --git a/packages/devui-vue/devui/list/src/list-item.tsx b/packages/devui-vue/devui/list/src/list-item.tsx new file mode 100644 index 0000000000..3b7a333a00 --- /dev/null +++ b/packages/devui-vue/devui/list/src/list-item.tsx @@ -0,0 +1,9 @@ +import { defineComponent } from 'vue'; +import './list-item.scss'; + +export default defineComponent({ + name: 'DListItem', + setup(props, { slots }) { + return () =>
{slots.default?.()}
; + }, +}); diff --git a/packages/devui-vue/devui/list/src/list.scss b/packages/devui-vue/devui/list/src/list.scss new file mode 100644 index 0000000000..c585631b91 --- /dev/null +++ b/packages/devui-vue/devui/list/src/list.scss @@ -0,0 +1,10 @@ +@import '../../styles-var/devui-var.scss'; + +.devui-list { + padding-bottom: 4px; + border-radius: $devui-border-radius; + box-sizing: border-box; + background-clip: padding-box; + background-color: $devui-connected-overlay-bg; + outline: none; +} diff --git a/packages/devui-vue/devui/list/src/list.tsx b/packages/devui-vue/devui/list/src/list.tsx new file mode 100644 index 0000000000..4f7c6a27bd --- /dev/null +++ b/packages/devui-vue/devui/list/src/list.tsx @@ -0,0 +1,9 @@ +import { defineComponent } from 'vue'; +import './list.scss'; + +export default defineComponent({ + name: 'DList', + setup(props, { slots }) { + return () =>
{slots.default?.()}
; + }, +}); diff --git a/packages/devui-vue/docs/components/list/index.md b/packages/devui-vue/docs/components/list/index.md new file mode 100644 index 0000000000..cd446773d7 --- /dev/null +++ b/packages/devui-vue/docs/components/list/index.md @@ -0,0 +1,20 @@ +# List 列表 + +用于展示列表形态的一组数据。 + +### 基本用法 + +:::demo + +```vue + +``` + +:::