20260816220132
This commit is contained in:
1 parent
b6f9a4c912
commit
72993ecdcd
179 files changed
+20050
-633
No files matched your search
@@ -1,107 +1,7 @@
|
||||
<script setup>
|
||||
import Button from './components/ui/button/button.vue'
|
||||
import ColorThemePicker from './components/ui/ColorThemePicker.vue'
|
||||
import ThemeToggle from './components/ui/ThemeToggle.vue'
|
||||
// 业务应用入口:仅渲染当前路由页面
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<main class="app-shell">
|
||||
<header class="app-header">
|
||||
<div>
|
||||
<p class="eyebrow">FMS UI</p>
|
||||
<h1>基础组件</h1>
|
||||
</div>
|
||||
<div class="theme-controls">
|
||||
<ColorThemePicker />
|
||||
<ThemeToggle />
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<section class="showcase-section" aria-labelledby="button-title">
|
||||
<div class="section-heading">
|
||||
<p class="eyebrow">Components</p>
|
||||
<h2 id="button-title">Button</h2>
|
||||
<p>保持克制的交互组件,优先保证可读性和响应速度。</p>
|
||||
</div>
|
||||
|
||||
<div class="button-row">
|
||||
<Button type="default">主要操作</Button>
|
||||
<Button type="secondary">次要操作</Button>
|
||||
<Button type="outline">描边按钮</Button>
|
||||
<Button type="ghost">低强调</Button>
|
||||
<Button type="destructive">危险操作</Button>
|
||||
<Button type="link">链接按钮</Button>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
<router-view />
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.app-shell {
|
||||
width: min(100% - 2rem, 72rem);
|
||||
min-height: 100vh;
|
||||
margin: 0 auto;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.app-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 1rem;
|
||||
padding: 2rem 0;
|
||||
border-bottom: 1px solid var(--border);
|
||||
}
|
||||
|
||||
.theme-controls {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.75rem;
|
||||
}
|
||||
|
||||
.eyebrow {
|
||||
margin: 0 0 0.375rem;
|
||||
color: var(--muted-foreground);
|
||||
font-size: 0.75rem;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.08em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.showcase-section {
|
||||
padding: 3rem 0;
|
||||
}
|
||||
|
||||
.section-heading {
|
||||
max-width: 36rem;
|
||||
}
|
||||
|
||||
.section-heading > p:last-child {
|
||||
margin: 0.75rem 0 0;
|
||||
color: var(--muted-foreground);
|
||||
}
|
||||
|
||||
.button-row {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 0.75rem;
|
||||
margin-top: 1.5rem;
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
.app-header {
|
||||
align-items: flex-start;
|
||||
flex-direction: column;
|
||||
padding: 1.25rem 0;
|
||||
}
|
||||
|
||||
.theme-controls {
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.showcase-section {
|
||||
padding: 2rem 0;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Reference in new issue
Block a user