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 @@
+
+
+
+
+
+ {{ props.icon }}
+
+ {{ props.text }}
+
+
+
+
+
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);