diff --git a/docs/.vitepress/theme/components/InjectedShareButton.vue b/docs/.vitepress/theme/components/InjectedShareButton.vue
new file mode 100644
index 0000000..88af08d
--- /dev/null
+++ b/docs/.vitepress/theme/components/InjectedShareButton.vue
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
diff --git a/docs/.vitepress/theme/components/ShareButtonInjector.vue b/docs/.vitepress/theme/components/ShareButtonInjector.vue
new file mode 100644
index 0000000..eab42aa
--- /dev/null
+++ b/docs/.vitepress/theme/components/ShareButtonInjector.vue
@@ -0,0 +1,195 @@
+
+
+
+
+
+
+
diff --git a/docs/.vitepress/theme/components/SharePopup.vue b/docs/.vitepress/theme/components/SharePopup.vue
new file mode 100644
index 0000000..8914102
--- /dev/null
+++ b/docs/.vitepress/theme/components/SharePopup.vue
@@ -0,0 +1,313 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ shareState.title }}
+
+ {{ tag.text }}
+
+
+
{{ shareState.url }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/.vitepress/theme/components/index.ts b/docs/.vitepress/theme/components/index.ts
new file mode 100644
index 0000000..03834c4
--- /dev/null
+++ b/docs/.vitepress/theme/components/index.ts
@@ -0,0 +1,22 @@
+import Share from './share.vue'
+import SharePopup from './SharePopup.vue'
+import ShareButtonInjector from './ShareButtonInjector.vue'
+export * from './shareState'
+
+export const components = {
+ Share,
+ SharePopup,
+ ShareButtonInjector
+}
+
+export function registerComponents(app: any) {
+ for (const [key, component] of Object.entries(components)) {
+ app.component(key, component)
+ }
+}
+
+export {
+ Share,
+ SharePopup,
+ ShareButtonInjector
+}
diff --git a/docs/.vitepress/theme/components/share.vue b/docs/.vitepress/theme/components/share.vue
index b5bcf5d..88b302d 100644
--- a/docs/.vitepress/theme/components/share.vue
+++ b/docs/.vitepress/theme/components/share.vue
@@ -1,6 +1,6 @@
@@ -32,7 +36,7 @@ function copyShareLink() {