├── .prettierignore ├── examples ├── main.js ├── index.html └── app.vue ├── babel.config.js ├── docs ├── index.html ├── main.8f9cfd85.css └── main.77d36614.js ├── .gitignore ├── rollup.config.js ├── .github └── ISSUE_TEMPLATE │ ├── feature_request.md │ └── bug_report.md ├── LICENSE ├── package.json ├── README.md └── src └── keyboard-over.vue /.prettierignore: -------------------------------------------------------------------------------- 1 | docs 2 | -------------------------------------------------------------------------------- /examples/main.js: -------------------------------------------------------------------------------- 1 | import Vue from "vue"; 2 | import App from "./app.vue"; 3 | 4 | new Vue({ 5 | el: "#app", 6 | render: h => h(App) 7 | }); 8 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | [ 4 | "env", 5 | { 6 | "targets:": { 7 | node: "10" 8 | } 9 | } 10 | ] 11 | ] 12 | }; 13 | -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | Vue Keyboard Over
-------------------------------------------------------------------------------- /examples/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Vue Keyboard Over 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | # local env files 6 | .env.local 7 | .env.*.local 8 | 9 | # Log files 10 | npm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | 14 | # Editor directories and files 15 | .idea 16 | .vscode 17 | *.suo 18 | *.ntvs* 19 | *.njsproj 20 | *.sln 21 | *.sw* 22 | 23 | .cache 24 | tmp 25 | -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | import commonjs from "rollup-plugin-commonjs"; 2 | import nodeResolve from "rollup-plugin-node-resolve"; 3 | import vue from "rollup-plugin-vue"; 4 | 5 | export default { 6 | input: "src/keyboard-over.vue", 7 | output: { 8 | file: "dist/vue-keyboard-over.js", 9 | format: "esm" 10 | }, 11 | external: ["vue"], 12 | plugins: [nodeResolve({ jsnext: true }), commonjs(), vue()] 13 | }; 14 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | labels: 5 | 6 | --- 7 | 8 | **Is your feature request related to a problem? Please describe.** 9 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 10 | 11 | **Describe the solution you'd like** 12 | A clear and concise description of what you want to happen. 13 | 14 | **Describe alternatives you've considered** 15 | A clear and concise description of any alternative solutions or features you've considered. 16 | 17 | **Additional context** 18 | Add any other context or screenshots about the feature request here. 19 | -------------------------------------------------------------------------------- /docs/main.8f9cfd85.css: -------------------------------------------------------------------------------- 1 | .keyboard-over kbd{display:inline-block;padding:.1em .3em;color:#555;text-align:center;min-width:1em;height:1.5em;vertical-align:middle;background-color:#fcfcfc;border:1px solid;border-color:#ccc #ccc #bbb;border-radius:.2em;box-shadow:inset 0 -1px 0 #bbb}.keyboard-over kbd+kbd{margin-left:.5em}.keyboard-over-list-enter-active{transition:all .1s}.keyboard-over-list-leave-active{transition:all .1s .5s}.keyboard-over-list-enter,.keyboard-over-list-leave-to{opacity:0}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2c3e50;display:flex;flex-direction:column;align-items:center;line-height:1.5}pre{background-color:#2c3e50;color:#fff;padding:1em 2em;border-radius:3px}.overlay{position:fixed;bottom:1em;left:50%;transform:translateX(-50%);text-align:center;font-size:64px} -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | labels: 5 | 6 | --- 7 | 8 | **Describe the bug** 9 | A clear and concise description of what the bug is. 10 | 11 | **To Reproduce** 12 | Steps to reproduce the behavior: 13 | 1. Go to '...' 14 | 2. Click on '....' 15 | 3. Scroll down to '....' 16 | 4. See error 17 | 18 | **Expected behavior** 19 | A clear and concise description of what you expected to happen. 20 | 21 | **Screenshots** 22 | If applicable, add screenshots to help explain your problem. 23 | 24 | **Desktop (please complete the following information):** 25 | - OS: [e.g. iOS] 26 | - Browser [e.g. chrome, safari] 27 | - Version [e.g. 22] 28 | 29 | **Smartphone (please complete the following information):** 30 | - Device: [e.g. iPhone6] 31 | - OS: [e.g. iOS8.1] 32 | - Browser [e.g. stock browser, safari] 33 | - Version [e.g. 22] 34 | 35 | **Additional context** 36 | Add any other context about the problem here. 37 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 勾三股四 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue-keyboard-over", 3 | "version": "0.4.1", 4 | "description": "A Vue component that display pressed keys on the keyboard by the user right now", 5 | "main": "dist/vue-keyboard-over.js", 6 | "files": [ 7 | "dist", 8 | "src" 9 | ], 10 | "scripts": { 11 | "dev": "rm -Rf dist && rollup -c -w", 12 | "build": "rm -Rf dist && rollup -c --environment BUILD:production", 13 | "examples": "parcel examples/index.html -d tmp", 14 | "examples:build": "rm -Rf docs && parcel build examples/index.html --public-url ./ -d docs", 15 | "lint": "prettier --write .{,/examples,/src}/*.{js,json,css,md,vue}" 16 | }, 17 | "repository": { 18 | "type": "git", 19 | "url": "git+https://github.com/Jinjiang/vue-keyboard-over.git" 20 | }, 21 | "keywords": [ 22 | "keyboard", 23 | "vue", 24 | "vue.js" 25 | ], 26 | "author": "Jinjiang ", 27 | "license": "MIT", 28 | "bugs": { 29 | "url": "https://github.com/Jinjiang/vue-keyboard-over/issues" 30 | }, 31 | "homepage": "https://github.com/Jinjiang/vue-keyboard-over#readme", 32 | "devDependencies": { 33 | "babel-core": "^6.26.3", 34 | "babel-preset-env": "^1.7.0", 35 | "husky": "^3.0.5", 36 | "parcel-bundler": "^1.12.3", 37 | "prettier": "^1.18.2", 38 | "pretty-quick": "^1.11.1", 39 | "rollup": "^1.21.0", 40 | "rollup-plugin-commonjs": "^10.1.0", 41 | "rollup-plugin-node-resolve": "^5.2.0", 42 | "rollup-plugin-vue": "^5.0.1", 43 | "vue": "^2.6.10", 44 | "vue-hot-reload-api": "^2.3.3", 45 | "vue-template-compiler": "^2.6.10" 46 | }, 47 | "husky": { 48 | "hooks": { 49 | "pre-commit": "pretty-quick --staged" 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /examples/app.vue: -------------------------------------------------------------------------------- 1 | 27 | 28 | 34 | 35 | 63 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vue-keyboard-over 2 | 3 | > This repo is not under maintenance anymore. Please use with caution. 4 | 5 | A Vue component that display pressed keys on the keyboard by the user right now. 6 | 7 | ## Install 8 | 9 | ```bash 10 | npm install vue-keyboard-over 11 | # or 12 | yarn add vue-keyboard-over 13 | ``` 14 | 15 | ## Import 16 | 17 | ```js 18 | import KeyboardOver from "vue-keyboard-over"; 19 | ``` 20 | 21 | ## Usage 22 | 23 | ```html 24 | 25 | ``` 26 | 27 | ## Advanced Usage 28 | 29 | ### Custom Print Format 30 | 31 | The format of keys it prints out is depends on: 32 | 33 | 1. The [`key`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key) field and the [`code`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code) field of a [`KeyboardEvent`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent) object. 34 | 2. `` will determine using `key` or `code` "smartly" to match people's common cognitions. 35 | 3. For some special `KeyboardEvent` without a brief `key` or `code`, `` will print a pre-defined emoji or symbol. 36 | 37 | So you can customize the print format by: 38 | 39 | - `nameType: string` 40 | 41 | values: `"smart"` (default) | `"key"` | `"code"` 42 | 43 | - `"key"`: print the `key` field of the `KeyboardEvent` object 44 | - `"code"`: print the `code` field of the `KeyboardEvent` object 45 | - `"smart"` (default): print it in a "smart" way 46 | 47 | - `nameMap: Record`: customized map over the pre-defined key map 48 | 49 | You can access the pre-defined key map by: 50 | 51 | ```js 52 | export { defaultKeyMap } from "vue-keyboard-over"; 53 | ``` 54 | 55 | The value is below: 56 | 57 | ```js 58 | { 59 | // modifiers 60 | Meta: "⌘", 61 | Shift: "⇧", 62 | Control: "⌃", 63 | Alt: "⌥", 64 | 65 | // action keys 66 | Enter: "⏎", 67 | Backspace: "⌫", 68 | 69 | // navigation keys 70 | ArrowUp: "↑", 71 | ArrowDown: "↓", 72 | ArrowLeft: "←", 73 | ArrowRight: "→", 74 | 75 | // special chars 76 | Backquote: "`", 77 | Minus: "-", 78 | Equal: "=", 79 | BracketLeft: "[", 80 | BracketRight: "]", 81 | Backslash: "\\", 82 | Semicolon: ";", 83 | Quote: "'", 84 | Comma: ",", 85 | Period: ".", 86 | Slash: "/" 87 | } 88 | ``` 89 | 90 | ### Events 91 | 92 | - `update(keys: Array)`: It will be emitted with current keys when any key pressed down or released up. So you can use this to do more about current keys. 93 | 94 | ### Custom Style 95 | 96 | You can override the component style throught these CSS selectors: 97 | 98 | - `.keyboard-over`: The root element. 99 | - `.keyboard-over > kbd`: The printed key item. 100 | - `.keyboard-over-list-*`: The prefix of CSS transition classes. Or you can totally drop the default transition by set the prop `transition` which allows you to specify another prefix of CSS transition classes. 101 | 102 | ## API References 103 | 104 | ### Default Export `` 105 | 106 | #### Props 107 | 108 | - `nameType` 109 | - `nameMap` 110 | - `transition` 111 | 112 | #### Events 113 | 114 | - `update(keys)` 115 | 116 | #### CSS Selectors 117 | 118 | - `.keyboard-over` 119 | - `.keyboard-over > kbd` 120 | - `.keyboard-over-list-*` 121 | 122 | ### Named Exports 123 | 124 | - `defaultKeyMap: Record` 125 | -------------------------------------------------------------------------------- /src/keyboard-over.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 221 | 222 | 252 | -------------------------------------------------------------------------------- /docs/main.77d36614.js: -------------------------------------------------------------------------------- 1 | parcelRequire=function(e,r,n,t){var i="function"==typeof parcelRequire&&parcelRequire,o="function"==typeof require&&require;function u(n,t){if(!r[n]){if(!e[n]){var f="function"==typeof parcelRequire&&parcelRequire;if(!t&&f)return f(n,!0);if(i)return i(n,!0);if(o&&"string"==typeof n)return o(n);var c=new Error("Cannot find module '"+n+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[n][1][r]||r},p.cache={};var l=r[n]=new u.Module(n);e[n][0].call(l.exports,p,l,l.exports,this)}return r[n].exports;function p(e){return u(p.resolve(e))}}u.isParcelRequire=!0,u.Module=function(e){this.id=e,this.bundle=u,this.exports={}},u.modules=e,u.cache=r,u.parent=i,u.register=function(r,n){e[r]=[function(e,r){r.exports=n},{}]};for(var f=0;f=0&&Math.floor(e)===e&&isFinite(t)}function d(t){return null==t?"":"object"==typeof t?JSON.stringify(t,null,2):String(t)}function v(t){var e=parseFloat(t);return isNaN(e)?t:e}function h(t,e){for(var n=Object.create(null),r=t.split(","),o=0;o-1)return t.splice(n,1)}}var _=Object.prototype.hasOwnProperty;function b(t,e){return _.call(t,e)}function C(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}var A=/-(\w)/g,w=C(function(t){return t.replace(A,function(t,e){return e?e.toUpperCase():""})}),$=C(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),x=/\B([A-Z])/g,O=C(function(t){return t.replace(x,"-$1").toLowerCase()});function k(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n}function S(t,e){return t.bind(e)}var E=Function.prototype.bind?S:k;function j(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function I(t,e){for(var n in e)t[n]=e[n];return t}function T(t){for(var e={},n=0;n0,et=Q&&Q.indexOf("edge/")>0,nt=Q&&Q.indexOf("android")>0||"android"===Z,rt=Q&&/iphone|ipad|ipod|ios/.test(Q)||"ios"===Z,ot=Q&&/chrome\/\d+/.test(Q)&&!et,it={}.watch,at=!1;if(G)try{var st={};Object.defineProperty(st,"passive",{get:function(){at=!0}}),window.addEventListener("test-passive",null,st)}catch(Ia){}var ct=function(){return void 0===K&&(K=!G&&!J&&void 0!==t&&"server"===t.process.env.VUE_ENV),K},ut=G&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function lt(t){return"function"==typeof t&&/native code/.test(t.toString())}var ft,pt="undefined"!=typeof Symbol&<(Symbol)&&"undefined"!=typeof Reflect&<(Reflect.ownKeys);ft="undefined"!=typeof Set&<(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var dt,vt,ht,mt,yt=N,gt=N,_t=N,bt=N,Ct=0,At=function(){this.id=Ct++,this.subs=[]};At.prototype.addSub=function(t){this.subs.push(t)},At.prototype.removeSub=function(t){g(this.subs,t)},At.prototype.depend=function(){At.target&&At.target.addDep(this)},At.prototype.notify=function(){for(var t=this.subs.slice(),e=0,n=t.length;e-1)if(i&&!b(o,"default"))a=!1;else if(""===a||a===O(t)){var c=pe(String,o.type);(c<0||s0&&(Ge((s=Je(s,(e||"")+"_"+i))[0])&&Ge(u)&&(l[c]=Et(u.text+s[0].text),s.shift()),l.push.apply(l,s)):a(s)?Ge(u)?l[c]=Et(u.text+s):""!==s&&l.push(Et(s)):Ge(s)&&Ge(u)?l[c]=Et(u.text+s.text):(o(t._isVList)&&r(s.tag)&&n(s.key)&&r(e)&&(s.key="__vlist"+e+"_"+i+"__"),l.push(s)));return l}function Ze(t,e){return(t.__esModule||pt&&"Module"===t[Symbol.toStringTag])&&(t=t.default),s(t)?e.extend(t):t}function Qe(t,e,n,r,o){var i=St();return i.asyncFactory=t,i.asyncMeta={data:e,context:n,children:r,tag:o},i}function Ye(t,e,i){if(o(t.error)&&r(t.errorComp))return t.errorComp;if(r(t.resolved))return t.resolved;if(o(t.loading)&&r(t.loadingComp))return t.loadingComp;if(!r(t.contexts)){var a=t.contexts=[i],c=!0,u=function(){for(var t=0,e=a.length;t1?j(n):n;for(var r=j(arguments,1),o=0,i=n.length;oSn&&An[n].id>t.id;)n--;An.splice(n+1,0,t)}else An.push(t);On||(On=!0,Ne(jn))}}var Ln=0,Pn=function(t,e,n,r,o){this.vm=t,o&&(t._watcher=this),t._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++Ln,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new ft,this.newDepIds=new ft,this.expression="","function"==typeof e?this.getter=e:(this.getter=q(e),this.getter||(this.getter=function(){})),this.value=this.lazy?void 0:this.get()};Pn.prototype.get=function(){var t;$t(this);var e=this.vm;try{t=this.getter.call(e,e)}catch(Ia){if(!this.user)throw Ia;de(Ia,e,'getter for watcher "'+this.expression+'"')}finally{this.deep&&Fe(t),xt(),this.cleanupDeps()}return t},Pn.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},Pn.prototype.cleanupDeps=function(){for(var t=this.deps.length;t--;){var e=this.deps[t];this.newDepIds.has(e.id)||e.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},Pn.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():Dn(this)},Pn.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||s(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(Ia){de(Ia,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},Pn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Pn.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},Pn.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||g(this.vm._watchers,this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1}};var Mn={enumerable:!0,configurable:!0,get:N,set:N};function Fn(t,e,n){Mn.get=function(){return this[e][n]},Mn.set=function(t){this[e][n]=t},Object.defineProperty(t,n,Mn)}function Rn(t){t._watchers=[];var e=t.$options;e.props&&Un(t,e.props),e.methods&&Kn(t,e.methods),e.data?Bn(t):Ut(t._data={},!0),e.computed&&zn(t,e.computed),e.watch&&e.watch!==it&&Xn(t,e.watch)}function Un(t,e){var n=t.$options.propsData||{},r=t._props={},o=t.$options._propKeys=[];!t.$parent||Pt(!1);var i=function(i){o.push(i);var a=ie(i,e,n,t);Bt(r,i,a),i in t||Fn(t,"_props",i)};for(var a in e)i(a);Pt(!0)}function Bn(t){var e=t.$options.data;l(e=t._data="function"==typeof e?Hn(e,t):e||{})||(e={});for(var n=Object.keys(e),r=t.$options.props,o=(t.$options.methods,n.length);o--;){var i=n[o];0,r&&b(r,i)||V(i)||Fn(t,"_data",i)}Ut(e,!0)}function Hn(t,e){$t();try{return t.call(e,e)}catch(Ia){return de(Ia,e,"data()"),{}}finally{xt()}}var Vn={lazy:!0};function zn(t,e){var n=t._computedWatchers=Object.create(null),r=ct();for(var o in e){var i=e[o],a="function"==typeof i?i:i.get;0,r||(n[o]=new Pn(t,a||N,N,Vn)),o in t||Wn(t,o,i)}}function Wn(t,e,n){var r=!ct();"function"==typeof n?(Mn.get=r?qn(e):n,Mn.set=N):(Mn.get=n.get?r&&!1!==n.cache?qn(e):n.get:N,Mn.set=n.set?n.set:N),Object.defineProperty(t,e,Mn)}function qn(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),At.target&&e.depend(),e.value}}function Kn(t,e){t.$options.props;for(var n in e)t[n]=null==e[n]?N:E(e[n],t)}function Xn(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var o=0;o=0||n.indexOf(t[o])<0)&&r.push(t[o]);return r}return t}function Pr(t){this._init(t)}function Mr(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=j(arguments,1);return n.unshift(this),"function"==typeof t.install?t.install.apply(t,n):"function"==typeof t&&t.apply(null,n),e.push(t),this}}function Fr(t){t.mixin=function(t){return this.options=re(this.options,t),this}}function Rr(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,o=t._Ctor||(t._Ctor={});if(o[r])return o[r];var i=t.name||n.options.name;var a=function(t){this._init(t)};return(a.prototype=Object.create(n.prototype)).constructor=a,a.cid=e++,a.options=re(n.options,t),a.super=n,a.options.props&&Ur(a),a.options.computed&&Br(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,U.forEach(function(t){a[t]=n[t]}),i&&(a.options.components[i]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=I({},a.options),o[r]=a,a}}function Ur(t){var e=t.options.props;for(var n in e)Fn(t.prototype,"_props",n)}function Br(t){var e=t.options.computed;for(var n in e)Wn(t.prototype,n,e[n])}function Hr(t){U.forEach(function(e){t[e]=function(t,n){return n?("component"===e&&l(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"==typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}})}function Vr(t){return t&&(t.Ctor.options.name||t.tag)}function zr(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"==typeof t?t.split(",").indexOf(e)>-1:!!f(t)&&t.test(e)}function Wr(t,e){var n=t.cache,r=t.keys,o=t._vnode;for(var i in n){var a=n[i];if(a){var s=Vr(a.componentOptions);s&&!e(s)&&qr(n,i,r,o)}}}function qr(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),t[e]=null,g(n,e)}Ir(Pr),Jn(Pr),sn(Pr),vn(Pr),Er(Pr);var Kr=[String,RegExp,Array],Xr={name:"keep-alive",abstract:!0,props:{include:Kr,exclude:Kr,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)qr(this.cache,t,this.keys)},mounted:function(){var t=this;this.$watch("include",function(e){Wr(t,function(t){return zr(e,t)})}),this.$watch("exclude",function(e){Wr(t,function(t){return!zr(e,t)})})},render:function(){var t=this.$slots.default,e=en(t),n=e&&e.componentOptions;if(n){var r=Vr(n),o=this.include,i=this.exclude;if(o&&(!r||!zr(o,r))||i&&r&&zr(i,r))return e;var a=this.cache,s=this.keys,c=null==e.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):e.key;a[c]?(e.componentInstance=a[c].componentInstance,g(s,c),s.push(c)):(a[c]=e,s.push(c),this.max&&s.length>parseInt(this.max)&&qr(a,s[0],s,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}},Gr={KeepAlive:Xr};function Jr(t){var e={get:function(){return H}};Object.defineProperty(t,"config",e),t.util={warn:yt,extend:I,mergeOptions:re,defineReactive:Bt},t.set=Ht,t.delete=Vt,t.nextTick=Ne,t.options=Object.create(null),U.forEach(function(e){t.options[e+"s"]=Object.create(null)}),t.options._base=t,I(t.options.components,Gr),Mr(t),Fr(t),Rr(t),Hr(t)}Jr(Pr),Object.defineProperty(Pr.prototype,"$isServer",{get:ct}),Object.defineProperty(Pr.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Pr,"FunctionalRenderContext",{value:pr}),Pr.version="2.5.17";var Zr=h("style,class"),Qr=h("input,textarea,option,select,progress"),Yr=function(t,e,n){return"value"===n&&Qr(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},to=h("contenteditable,draggable,spellcheck"),eo=h("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),no="http://www.w3.org/1999/xlink",ro=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},oo=function(t){return ro(t)?t.slice(6,t.length):""},io=function(t){return null==t||!1===t};function ao(t){for(var e=t.data,n=t,o=t;r(o.componentInstance);)(o=o.componentInstance._vnode)&&o.data&&(e=so(o.data,e));for(;r(n=n.parent);)n&&n.data&&(e=so(e,n.data));return co(e.staticClass,e.class)}function so(t,e){return{staticClass:uo(t.staticClass,e.staticClass),class:r(t.class)?[t.class,e.class]:e.class}}function co(t,e){return r(t)||r(e)?uo(t,lo(e)):""}function uo(t,e){return t?e?t+" "+e:t:e||""}function lo(t){return Array.isArray(t)?fo(t):s(t)?po(t):"string"==typeof t?t:""}function fo(t){for(var e,n="",o=0,i=t.length;o-1?_o[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:_o[t]=/HTMLUnknownElement/.test(e.toString())}var Co=h("text,number,password,search,email,tel,url");function Ao(t){if("string"==typeof t){var e=document.querySelector(t);return e||document.createElement("div")}return t}function wo(t,e){var n=document.createElement(t);return"select"!==t?n:(e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n)}function $o(t,e){return document.createElementNS(vo[t],e)}function xo(t){return document.createTextNode(t)}function Oo(t){return document.createComment(t)}function ko(t,e,n){t.insertBefore(e,n)}function So(t,e){t.removeChild(e)}function Eo(t,e){t.appendChild(e)}function jo(t){return t.parentNode}function Io(t){return t.nextSibling}function To(t){return t.tagName}function No(t,e){t.textContent=e}function Do(t,e){t.setAttribute(e,"")}var Lo=Object.freeze({createElement:wo,createElementNS:$o,createTextNode:xo,createComment:Oo,insertBefore:ko,removeChild:So,appendChild:Eo,parentNode:jo,nextSibling:Io,tagName:To,setTextContent:No,setStyleScope:Do}),Po={create:function(t,e){Mo(e)},update:function(t,e){t.data.ref!==e.data.ref&&(Mo(t,!0),Mo(e))},destroy:function(t){Mo(t,!0)}};function Mo(t,e){var n=t.data.ref;if(r(n)){var o=t.context,i=t.componentInstance||t.elm,a=o.$refs;e?Array.isArray(a[n])?g(a[n],i):a[n]===i&&(a[n]=void 0):t.data.refInFor?Array.isArray(a[n])?a[n].indexOf(i)<0&&a[n].push(i):a[n]=[i]:a[n]=i}}var Fo=new Ot("",{},[]),Ro=["create","activate","update","remove","destroy"];function Uo(t,e){return t.key===e.key&&(t.tag===e.tag&&t.isComment===e.isComment&&r(t.data)===r(e.data)&&Bo(t,e)||o(t.isAsyncPlaceholder)&&t.asyncFactory===e.asyncFactory&&n(e.asyncFactory.error))}function Bo(t,e){if("input"!==t.tag)return!0;var n,o=r(n=t.data)&&r(n=n.attrs)&&n.type,i=r(n=e.data)&&r(n=n.attrs)&&n.type;return o===i||Co(o)&&Co(i)}function Ho(t,e,n){var o,i,a={};for(o=e;o<=n;++o)r(i=t[o].key)&&(a[i]=o);return a}function Vo(t){var e,i,s={},c=t.modules,u=t.nodeOps;for(e=0;ev?_(t,n(o[y+1])?null:o[y+1].elm,o,d,y,i):d>y&&C(0,e,p,v)}(c,d,v,i,a):r(v)?(r(t.text)&&u.setTextContent(c,""),_(c,null,v,0,v.length-1,i)):r(d)?C(0,d,0,d.length-1):r(t.text)&&u.setTextContent(c,""):t.text!==e.text&&u.setTextContent(c,e.text),r(p)&&r(l=p.hook)&&r(l=l.postpatch)&&l(t,e)}}}function x(t,e,n){if(o(n)&&r(t.parent))t.parent.data.pendingInsert=e;else for(var i=0;i-1?ti(t,e,n):eo(e)?io(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):to(e)?t.setAttribute(e,io(n)||"false"===n?"false":"true"):ro(e)?io(n)?t.removeAttributeNS(no,oo(e)):t.setAttributeNS(no,e,n):ti(t,e,n)}function ti(t,e,n){if(io(n))t.removeAttribute(e);else{if(Y&&!tt&&"TEXTAREA"===t.tagName&&"placeholder"===e&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var ei={create:Qo,update:Qo};function ni(t,e){var o=e.elm,i=e.data,a=t.data;if(!(n(i.staticClass)&&n(i.class)&&(n(a)||n(a.staticClass)&&n(a.class)))){var s=ao(e),c=o._transitionClasses;r(c)&&(s=uo(s,lo(c))),s!==o._prevClass&&(o.setAttribute("class",s),o._prevClass=s)}}var ri,oi={create:ni,update:ni},ii="__r",ai="__c";function si(t){if(r(t[ii])){var e=Y?"change":"input";t[e]=[].concat(t[ii],t[e]||[]),delete t[ii]}r(t[ai])&&(t.change=[].concat(t[ai],t.change||[]),delete t[ai])}function ci(t,e,n){var r=ri;return function o(){null!==t.apply(null,arguments)&&li(e,o,n,r)}}function ui(t,e,n,r,o){e=Te(e),n&&(e=ci(e,t,r)),ri.addEventListener(t,e,at?{capture:r,passive:o}:r)}function li(t,e,n,r){(r||ri).removeEventListener(t,e._withTask||e,n)}function fi(t,e){if(!n(t.data.on)||!n(e.data.on)){var r=e.data.on||{},o=t.data.on||{};ri=e.elm,si(r),Ve(r,o,ui,li,e.context),ri=void 0}}var pi={create:fi,update:fi};function di(t,e){if(!n(t.data.domProps)||!n(e.data.domProps)){var o,i,a=e.elm,s=t.data.domProps||{},c=e.data.domProps||{};for(o in r(c.__ob__)&&(c=e.data.domProps=I({},c)),s)n(c[o])&&(a[o]="");for(o in c){if(i=c[o],"textContent"===o||"innerHTML"===o){if(e.children&&(e.children.length=0),i===s[o])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===o){a._value=i;var u=n(i)?"":String(i);vi(a,u)&&(a.value=u)}else a[o]=i}}}function vi(t,e){return!t.composing&&("OPTION"===t.tagName||hi(t,e)||mi(t,e))}function hi(t,e){var n=!0;try{n=document.activeElement!==t}catch(Ia){}return n&&t.value!==e}function mi(t,e){var n=t.value,o=t._vModifiers;if(r(o)){if(o.lazy)return!1;if(o.number)return v(n)!==v(e);if(o.trim)return n.trim()!==e.trim()}return n!==e}var yi={create:di,update:di},gi=C(function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach(function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}}),e});function _i(t){var e=bi(t.style);return t.staticStyle?I(t.staticStyle,e):e}function bi(t){return Array.isArray(t)?T(t):"string"==typeof t?gi(t):t}function Ci(t,e){var n,r={};if(e)for(var o=t;o.componentInstance;)(o=o.componentInstance._vnode)&&o.data&&(n=_i(o.data))&&I(r,n);(n=_i(t.data))&&I(r,n);for(var i=t;i=i.parent;)i.data&&(n=_i(i.data))&&I(r,n);return r}var Ai,wi=/^--/,$i=/\s*!important$/,xi=function(t,e,n){if(wi.test(e))t.style.setProperty(e,n);else if($i.test(n))t.style.setProperty(e,n.replace($i,""),"important");else{var r=ki(e);if(Array.isArray(n))for(var o=0,i=n.length;o-1?e.split(/\s+/).forEach(function(e){return t.classList.add(e)}):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function Ii(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(/\s+/).forEach(function(e){return t.classList.remove(e)}):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function Ti(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&I(e,Ni(t.name||"v")),I(e,t),e}return"string"==typeof t?Ni(t):void 0}}var Ni=C(function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}}),Di=G&&!tt,Li="transition",Pi="animation",Mi="transition",Fi="transitionend",Ri="animation",Ui="animationend";Di&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Mi="WebkitTransition",Fi="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Ri="WebkitAnimation",Ui="webkitAnimationEnd"));var Bi=G?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function Hi(t){Bi(function(){Bi(t)})}function Vi(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),ji(t,e))}function zi(t,e){t._transitionClasses&&g(t._transitionClasses,e),Ii(t,e)}function Wi(t,e,n){var r=Ki(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var s=o===Li?Fi:Ui,c=0,u=function(){t.removeEventListener(s,l),n()},l=function(e){e.target===t&&++c>=a&&u()};setTimeout(function(){c0&&(n=Li,l=a,f=i.length):e===Pi?u>0&&(n=Pi,l=u,f=c.length):f=(n=(l=Math.max(a,u))>0?a>u?Li:Pi:null)?n===Li?i.length:c.length:0,{type:n,timeout:l,propCount:f,hasTransform:n===Li&&qi.test(r[Mi+"Property"])}}function Xi(t,e){for(;t.length explicit "+e+" duration is not a valid number - got "+JSON.stringify(t)+".",n.context):isNaN(t)&&yt(" explicit "+e+" duration is NaN - the duration expression might be incorrect.",n.context)}function Yi(t){return"number"==typeof t&&!isNaN(t)}function ta(t){if(n(t))return!1;var e=t.fns;return r(e)?ta(Array.isArray(e)?e[0]:e):(t._length||t.length)>1}function ea(t,e){!0!==e.data.show&&Ji(e)}var na=G?{create:ea,activate:ea,remove:function(t,e){!0!==t.data.show?Zi(t,e):e()}}:{},ra=[ei,oi,pi,yi,Ei,na],oa=ra.concat(Zo),ia=Vo({nodeOps:Lo,modules:oa});tt&&document.addEventListener("selectionchange",function(){var t=document.activeElement;t&&t.vmodel&&da(t,"input")});var aa={inserted:function(t,e,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?ze(n,"postpatch",function(){aa.componentUpdated(t,e,n)}):sa(t,e,n.context),t._vOptions=[].map.call(t.options,la)):("textarea"===n.tag||Co(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("compositionstart",fa),t.addEventListener("compositionend",pa),t.addEventListener("change",pa),tt&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if("select"===n.tag){sa(t,e,n.context);var r=t._vOptions,o=t._vOptions=[].map.call(t.options,la);if(o.some(function(t,e){return!P(t,r[e])}))(t.multiple?e.value.some(function(t){return ua(t,o)}):e.value!==e.oldValue&&ua(e.value,o))&&da(t,"change")}}};function sa(t,e,n){ca(t,e,n),(Y||et)&&setTimeout(function(){ca(t,e,n)},0)}function ca(t,e,n){var r=e.value,o=t.multiple;if(!o||Array.isArray(r)){for(var i,a,s=0,c=t.options.length;s-1,a.selected!==i&&(a.selected=i);else if(P(la(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));o||(t.selectedIndex=-1)}}function ua(t,e){return e.every(function(e){return!P(e,t)})}function la(t){return"_value"in t?t._value:t.value}function fa(t){t.target.composing=!0}function pa(t){t.target.composing&&(t.target.composing=!1,da(t.target,"input"))}function da(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function va(t){return!t.componentInstance||t.data&&t.data.transition?t:va(t.componentInstance._vnode)}var ha={bind:function(t,e,n){var r=e.value,o=(n=va(n)).data&&n.data.transition,i=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&o?(n.data.show=!0,Ji(n,function(){t.style.display=i})):t.style.display=r?i:"none"},update:function(t,e,n){var r=e.value;!r!=!e.oldValue&&((n=va(n)).data&&n.data.transition?(n.data.show=!0,r?Ji(n,function(){t.style.display=t.__vOriginalDisplay}):Zi(n,function(){t.style.display="none"})):t.style.display=r?t.__vOriginalDisplay:"none")},unbind:function(t,e,n,r,o){o||(t.style.display=t.__vOriginalDisplay)}},ma={model:aa,show:ha},ya={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function ga(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?ga(en(e.children)):t}function _a(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var o=n._parentListeners;for(var i in o)e[w(i)]=o[i];return e}function ba(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}function Ca(t){for(;t=t.parent;)if(t.data.transition)return!0}function Aa(t,e){return e.key===t.key&&e.tag===t.tag}var wa={name:"transition",props:ya,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(function(t){return t.tag||tn(t)})).length){0;var r=this.mode;0;var o=n[0];if(Ca(this.$vnode))return o;var i=ga(o);if(!i)return o;if(this._leaving)return ba(t,o);var s="__transition-"+this._uid+"-";i.key=null==i.key?i.isComment?s+"comment":s+i.tag:a(i.key)?0===String(i.key).indexOf(s)?i.key:s+i.key:i.key;var c=(i.data||(i.data={})).transition=_a(this),u=this._vnode,l=ga(u);if(i.data.directives&&i.data.directives.some(function(t){return"show"===t.name})&&(i.data.show=!0),l&&l.data&&!Aa(i,l)&&!tn(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f=l.data.transition=I({},c);if("out-in"===r)return this._leaving=!0,ze(f,"afterLeave",function(){e._leaving=!1,e.$forceUpdate()}),ba(t,o);if("in-out"===r){if(tn(i))return u;var p,d=function(){p()};ze(c,"afterEnter",d),ze(c,"enterCancelled",d),ze(f,"delayLeave",function(t){p=t})}}return o}}},$a=I({tag:String,moveClass:String},ya);delete $a.mode;var xa={props:$a,render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=_a(this),s=0;s=0?{key:t,code:i,isModifier:!0,smart:t}:["Up","Down","Left","Right","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Home","End","PageUp","PageDown"].indexOf(t)>=0?{key:t,code:i,smart:t}:t.match(/^\d$/)?{key:t,code:i,smart:t}:i.match(/^Digit\d$/)?{key:t,code:i,smart:i.substr(5)}:i.match(/^Key\w$/)?{key:t,code:i,smart:i.substr(3).toUpperCase()}:{key:t,code:i,smart:i}}function d(e,t,i){var r=s[t]||"smart",n=e[r];return Object.assign({},i,"smart"===r?o:null)[n]||n}var f=(t(e={created:function(){window.addEventListener("keydown",this.keydown,!0),window.addEventListener("keyup",this.keyup,!0)},beforeDestroy:function(){window.removeEventListener("keydown",this.keydown),window.removeEventListener("keyup",this.keyup)},props:{nameType:String,nameMap:Object,transition:String},data:function(){return{keys:[],modifiers:[],activationMap:{}}},watch:{nameType:function(){this.reset()},nameMap:function(){this.reset()}},computed:{output:function(){var e=this.keys,t=this.modifiers;return i(e).concat(i(t))}}},"watch",{output:function(e){this.$emit("update",e.slice())}}),t(e,"methods",{reset:function(){this.modifiers=[],this.keys=[],this.activationMap={}},keydown:function(e){var t=c(e),i=d(t,this.nameType,this.nameMap);"Unidentified"!==i&&(this.activate(i,t.isModifier),this.detectMetaKey(e),e.repeat||(t.isModifier?this.modifiers.indexOf(i)<0&&this.modifiers.push(i):this.keys.indexOf(i)<0&&this.keys.push(i)))},keyup:function(e){var t=c(e),i=d(t,this.nameType,this.nameMap);if(t.isModifier){var r=this.modifiers.indexOf(i);r>=0&&this.modifiers.splice(r,1)}else{var n=this.keys.indexOf(i);n>=0&&this.keys.splice(n,1)}},activate:function(e,t){var i=this;t||(clearTimeout(this.activationMap[e]),this.activationMap[e]=setTimeout(function(){var t=i.keys.indexOf(e);t>=0&&i.keys.splice(t,1)},300))},detectMetaKey:function(e){if(!e.metaKey){var t=d({key:"Meta",code:"MetaLeft",smart:"Meta"},this.nameType,this.nameMap),i=this.modifiers.indexOf(t);i>=0&&this.modifiers.splice(i,1);var r=d({key:"Meta",code:"MetaLeft",smart:"Meta"},this.nameType,this.nameMap),n=this.modifiers.indexOf(r);n>=0&&this.modifiers.splice(n,1)}}}),e);exports.default=f; 6 | (function(){var t=exports.default||module.exports;"function"==typeof t&&(t=t.options),Object.assign(t,{render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"keyboard-over"},[n("transition-group",{attrs:{name:t.transition||"keyboard-over-list"}},t._l(t.output,function(e){return n("kbd",{key:e},[t._v(t._s(e))])}))],1)},staticRenderFns:[],_compiled:!0,_scopeId:null,functional:void 0});})(); 7 | },{}],"hWNS":[function(require,module,exports) { 8 | "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=r(require("../src/keyboard-over.vue"));function r(e){return e&&e.__esModule?e:{default:e}}var t={components:{KeyboardOver:e.default}};exports.default=t; 9 | (function(){var e=exports.default||module.exports;"function"==typeof e&&(e=e.options),Object.assign(e,{render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{attrs:{id:"app"}},[r("h1",[e._v("Vue Keyboard Over")]),e._v(" "),r("p",[e._v(" A Vue component that display pressed keys on the keyboard by the user right now. ")]),e._v(" "),r("h2",[e._v("Install")]),e._v(" "),e._m(0),e._v(" "),r("h2",[e._v("Import")]),e._v(" "),e._m(1),e._v(" "),r("h2",[e._v("Usage")]),e._v(" "),e._m(2),e._v(" "),e._m(3),e._v(" "),r("KeyboardOver",{staticClass:"overlay"}),e._v(" "),e._m(4)],1)},staticRenderFns:[function(){var e=this.$createElement,t=this._self._c||e;return t("pre",[t("code",[this._v("npm install vue-keyboard-over"),t("br"),this._v("# or"),t("br"),this._v("yarn add vue-keyboard-over")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("pre",[t("code",[this._v('import KeyboardOver from "vue-keyboard-over"')])])},function(){var e=this.$createElement,t=this._self._c||e;return t("pre",[t("code",[this._v("")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("p",[this._v(" see more on "),t("a",{attrs:{href:"https://github.com/jinjiang/vue-keyboard-over/"}},[this._v("GitHub")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("a",{attrs:{href:"https://github.com/jinjiang/vue-keyboard-over/"}},[t("img",{staticStyle:{position:"absolute",top:"0",right:"0",border:"0"},attrs:{src:"https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png",alt:"Fork me on GitHub"}})])}],_compiled:!0,_scopeId:null,functional:void 0});})(); 10 | },{"../src/keyboard-over.vue":"oIlV"}],"epB2":[function(require,module,exports) { 11 | "use strict";var e=r(require("vue")),u=r(require("./app.vue"));function r(e){return e&&e.__esModule?e:{default:e}}new e.default({el:"#app",render:function(e){return e(u.default)}}); 12 | },{"vue":"QPfz","./app.vue":"hWNS"}]},{},["epB2"], null) 13 | //# sourceMappingURL=main.77d36614.map --------------------------------------------------------------------------------