From 66082ae7448bf3dc1b56e7f17d24de52b809d423 Mon Sep 17 00:00:00 2001 From: Ryan Wang Date: Mon, 18 Apr 2022 18:01:03 +0800 Subject: [PATCH] feat: add input component Signed-off-by: Ryan Wang --- src/components/base/button/Button.vue | 1 + src/components/base/button/interface.ts | 2 +- src/components/base/input/Input.vue | 110 +++++++++++++++++++++++- src/components/base/input/interface.ts | 1 + src/core/icons.ts | 30 ++++++- src/router/menus.config.ts | 28 ++++-- src/router/routes.config.ts | 5 ++ src/views/HomeView.vue | 1 - src/views/ViewComponents.vue | 74 ++++++++++++++++ 9 files changed, 238 insertions(+), 14 deletions(-) create mode 100644 src/components/base/input/interface.ts create mode 100644 src/views/ViewComponents.vue diff --git a/src/components/base/button/Button.vue b/src/components/base/button/Button.vue index 4f185961e..9fe88ec35 100644 --- a/src/components/base/button/Button.vue +++ b/src/components/base/button/Button.vue @@ -85,6 +85,7 @@ function handleClick() { &:disabled { @apply opacity-50; + @apply cursor-not-allowed; } } diff --git a/src/components/base/button/interface.ts b/src/components/base/button/interface.ts index e82be37cd..38605fea2 100644 --- a/src/components/base/button/interface.ts +++ b/src/components/base/button/interface.ts @@ -1,2 +1,2 @@ -export type Type = "default" | "primary" | "secondary" | "error"; +export type Type = "default" | "primary" | "secondary" | "danger"; export type Size = "lg" | "md" | "sm" | "xs"; diff --git a/src/components/base/input/Input.vue b/src/components/base/input/Input.vue index 8a6ac098c..8e49af25b 100644 --- a/src/components/base/input/Input.vue +++ b/src/components/base/input/Input.vue @@ -1,17 +1,123 @@ + + diff --git a/src/components/base/input/interface.ts b/src/components/base/input/interface.ts new file mode 100644 index 000000000..b14de4e3d --- /dev/null +++ b/src/components/base/input/interface.ts @@ -0,0 +1 @@ +export type Size = "lg" | "md" | "sm" | "xs"; diff --git a/src/core/icons.ts b/src/core/icons.ts index 841b179e9..68e9524fa 100644 --- a/src/core/icons.ts +++ b/src/core/icons.ts @@ -8,5 +8,31 @@ import IconBookRead from "~icons/ri/book-read-line"; import IconPages from "~icons/ri/pages-line"; // @ts-ignore import IconMessage from "~icons/ri/message-3-line"; - -export { IconDashboard, IconArrowRight, IconBookRead, IconPages, IconMessage }; +// @ts-ignore +import IconPalette from "~icons/ri/palette-line"; +// @ts-ignore +import IconListSettings from "~icons/ri/list-settings-line"; +// @ts-ignore +import IconMagic from "~icons/ri/magic-line"; +// @ts-ignore +import IconUserSettings from "~icons/ri/user-settings-line"; +// @ts-ignore +import IconSettings from "~icons/ri/settings-4-line"; +// @ts-ignore +import IconPlug from "~icons/ri/plug-2-line"; +// @ts-ignore +import IconEye from "~icons/ri/eye-line"; +export { + IconDashboard, + IconArrowRight, + IconBookRead, + IconPages, + IconMessage, + IconPalette, + IconListSettings, + IconMagic, + IconUserSettings, + IconSettings, + IconPlug, + IconEye, +}; diff --git a/src/router/menus.config.ts b/src/router/menus.config.ts index 9b4f734f0..75fef32e7 100644 --- a/src/router/menus.config.ts +++ b/src/router/menus.config.ts @@ -1,8 +1,15 @@ import { - IconDashboard, IconBookRead, - IconPages, + IconDashboard, + IconEye, + IconListSettings, + IconMagic, IconMessage, + IconPages, + IconPalette, + IconPlug, + IconSettings, + IconUserSettings, } from "@/core/icons"; import type { Component } from "vue"; @@ -60,17 +67,17 @@ export const menus: MenuGroupType[] = [ { name: "主题", path: "/themes", - icon: IconDashboard, + icon: IconPalette, }, { name: "菜单", path: "/menus", - icon: IconDashboard, + icon: IconListSettings, }, { name: "可视化", path: "/visual", - icon: IconDashboard, + icon: IconEye, }, ], }, @@ -80,17 +87,22 @@ export const menus: MenuGroupType[] = [ { name: "插件", path: "/plugins", - icon: IconDashboard, + icon: IconPlug, }, { name: "用户", path: "/users", - icon: IconDashboard, + icon: IconUserSettings, }, { name: "设置", path: "/settings", - icon: IconDashboard, + icon: IconSettings, + }, + { + name: "组件", + path: "/components", + icon: IconMagic, }, ], }, diff --git a/src/router/routes.config.ts b/src/router/routes.config.ts index 36b05b445..472205178 100644 --- a/src/router/routes.config.ts +++ b/src/router/routes.config.ts @@ -73,6 +73,11 @@ export const routes: Array = [ name: "Settings", component: () => import("../views/AboutView.vue"), }, + { + path: "/components", + name: "Components", + component: () => import("../views/ViewComponents.vue"), + }, ]; export default routes; diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue index ff1ec75b6..4de87555b 100644 --- a/src/views/HomeView.vue +++ b/src/views/HomeView.vue @@ -1,6 +1,5 @@