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 () =>