diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..2dc01df
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,8 @@
+.DS_Store
+
+.cache/
+dist/
+node_modules/
+
+yarn.lock
+package-lock.json
diff --git a/demo/01.basic/app.vue b/demo/01.basic/app.vue
new file mode 100644
index 0000000..6e38a68
--- /dev/null
+++ b/demo/01.basic/app.vue
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/demo/01.basic/index.html b/demo/01.basic/index.html
new file mode 100644
index 0000000..d4d272a
--- /dev/null
+++ b/demo/01.basic/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ 01.Basic - Vue Zoomer Demo
+
+
+
+
+
+
diff --git a/demo/01.basic/main.js b/demo/01.basic/main.js
new file mode 100644
index 0000000..a051455
--- /dev/null
+++ b/demo/01.basic/main.js
@@ -0,0 +1,12 @@
+import Vue from 'vue'
+
+import VueZoomer from '../../src/vue-zoomer.vue'
+import App from './app.vue'
+
+Vue.component('VueZoomer', VueZoomer)
+Vue.component('App', App)
+
+new Vue({
+ el: '#app',
+ render: h => h('App'),
+})
diff --git a/demo/assets/landscape-1.jpg b/demo/assets/landscape-1.jpg
new file mode 100644
index 0000000..bf9a9bf
Binary files /dev/null and b/demo/assets/landscape-1.jpg differ
diff --git a/demo/assets/landscape-2.jpg b/demo/assets/landscape-2.jpg
new file mode 100644
index 0000000..dfa15bb
Binary files /dev/null and b/demo/assets/landscape-2.jpg differ
diff --git a/demo/assets/landscape-3.jpg b/demo/assets/landscape-3.jpg
new file mode 100644
index 0000000..f8a7310
Binary files /dev/null and b/demo/assets/landscape-3.jpg differ
diff --git a/demo/assets/landscape-4.jpg b/demo/assets/landscape-4.jpg
new file mode 100644
index 0000000..d63b245
Binary files /dev/null and b/demo/assets/landscape-4.jpg differ
diff --git a/demo/assets/landscape-5.jpg b/demo/assets/landscape-5.jpg
new file mode 100644
index 0000000..6ab883d
Binary files /dev/null and b/demo/assets/landscape-5.jpg differ
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..6967928
--- /dev/null
+++ b/package.json
@@ -0,0 +1,22 @@
+{
+ "name": "vue-zoomer",
+ "version": "0.1.0",
+ "main": "index.js",
+ "scripts": {
+ "dev": "parcel demo/01.basic/index.html --port 5100"
+ },
+ "repository": "git@github.com:jarvisniu/vue-zoomer.git",
+ "author": "Jarvis Niu ",
+ "license": "MIT",
+ "dependencies": {
+ "app.vue": "^0.1.10",
+ "parcel-bundler": "^1.11.0",
+ "stylus": "^0.54.5",
+ "vue": "^2.6.7",
+ "vue-hot-reload-api": "^2.3.3"
+ },
+ "devDependencies": {
+ "@vue/component-compiler-utils": "^2.6.0",
+ "vue-template-compiler": "^2.6.7"
+ }
+}
diff --git a/src/vue-zoomer.vue b/src/vue-zoomer.vue
new file mode 100644
index 0000000..1162814
--- /dev/null
+++ b/src/vue-zoomer.vue
@@ -0,0 +1,67 @@
+
+