diff --git a/.vitepress/theme/components/Button.vue b/.vitepress/theme/components/Button.vue new file mode 100644 index 0000000..cc608c5 --- /dev/null +++ b/.vitepress/theme/components/Button.vue @@ -0,0 +1,261 @@ + + + + + diff --git a/.vitepress/theme/index.ts b/.vitepress/theme/index.ts index 84a492e..14c57ff 100644 --- a/.vitepress/theme/index.ts +++ b/.vitepress/theme/index.ts @@ -1,10 +1,14 @@ -import Layout from "./layouts/Default.vue"; import type { Theme } from "vitepress"; + +import Layout from "./layouts/Default.vue"; +import Button from "./components/Button.vue"; + import "./styles/main.scss"; export default { Layout, enhanceApp({ app }) { - app.component("MainLaylout", Layout); + app.component("MainLayout", Layout); + app.component("MaterialButton", Button); }, } satisfies Theme; diff --git a/.vitepress/theme/styles/tokens.scss b/.vitepress/theme/styles/tokens.scss index c50c472..5d9bb76 100644 --- a/.vitepress/theme/styles/tokens.scss +++ b/.vitepress/theme/styles/tokens.scss @@ -89,6 +89,9 @@ --md-ref-palette-yellow80: #d1cb54; --md-ref-palette-yellow90: #eee76c; --md-ref-palette-yellow95: #fcf579; + --md-sys-state-hover-state-layer: #00000014; + --md-sys-state-focus-state-layer: #0000001a; + --md-sys-state-pressed-state-layer: #0000001a; // Motion(https://m3.material.io/styles/motion/overview/specs) --md-sys-motion-duration-short1: 50ms; @@ -158,7 +161,7 @@ --md-sys-shape-corner-extra-large-top: 28px 28px 0px 0px; --md-sys-shape-corner-extra-large-increased: 32px; --md-sys-shape-corner-extra-extra-large: 40px; - --md-sys-shape-corner-full: 100%; + --md-sys-shape-corner-full: 100px; // MD Ripple(material-web) --md-ripple-hover-color: var(--md-sys-color-primary);