├── .babelrc
├── .gitignore
├── .npmignore
├── README.md
├── dist
├── build.js
└── build.js.map
├── example
└── example.vue
├── main.js
├── package.json
├── src
└── auto-focus.js
└── webpack.config.js
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["es2015", "stage-2"],
3 | "comments": false
4 | }
5 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # idea log
2 | .idea
3 | npm-debug.log
4 |
5 | # Dependency directories
6 | node_modules
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | # idea log
2 | .idea
3 | npm-debug.log
4 |
5 | # Dependency directories
6 | node_modules
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # vue-auto-focus
2 |
3 | [](https://github.com/yeyuqiudeng/vue-auto-focus/issues)
4 | [](https://github.com/yeyuqiudeng/vue-auto-focus/network)
5 | [](https://github.com/yeyuqiudeng/vue-auto-focus/stargazers)
6 | [](https://twitter.com/intent/tweet?text=Wow:&url=%5Bobject%20Object%5D)
7 |
8 | [](https://nodei.co/npm/vue-auto-focus/)
9 |
10 | ## Description
11 |
12 | A vue directive that can let you control your input and textarea auto focus very easily!
13 |
14 | Vue指令,你可以很方便地对页面中所有input和textarea的自动聚焦行为进行流程控制
15 |
16 | ## Installation
17 |
18 | npm install vue-auto-focus
19 |
20 | ## Usage
21 |
22 | ### 引入指令
23 |
24 | import AutoFocus from 'vue-auto-focus'
25 | Vue.use(AutoFocus)
26 |
27 | ### 限制
28 | * 指令必需用在需要控制的input和textarea元素父节点上
29 | * 需要指令控制自动聚焦的input和textarea元素必需设置data-index属性
30 |
31 | ### 使用说明
32 | 看使用说明时,请参对例子
33 | * data-current 指令挂载的父元素的属性,为当前聚焦的元素的data-index属性的值
34 | * data-action 执行指令时的自动聚焦行为,值为next时,自动聚焦到下一个元素,prev时,聚焦到上一个元素,first时聚焦到第一个元素,last时聚焦到最后一个元素,jump时,跳转到指令的元素
35 | * v-auto-focus="focusCtrl" 指令值,指令值变化时,执行data-action指定的行为
36 | * 自动聚焦后,需要监听@focus,更新data-current的值,否则下一次指令执行时,不会得到预期的行为
37 |
38 | ## Example
39 |
40 | [例子](https://github.com/yeyuqiudeng/vue-auto-focus/blob/master/example/example.vue)
41 |
42 |
43 |
49 |
50 |
51 |
54 |
55 |
88 |
89 | ## Development
90 |
91 | npm run dev
92 |
93 | ## License
94 |
95 | [MIT](https://opensource.org/licenses/MIT)
96 |
97 |
98 |
--------------------------------------------------------------------------------
/dist/build.js:
--------------------------------------------------------------------------------
1 | module.exports=function(t){function n(e){if(r[e])return r[e].exports;var o=r[e]={exports:{},id:e,loaded:!1};return t[e].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}var r={};return n.m=t,n.c=r,n.p="dist/",n(0)}([function(t,n,r){"use strict";function e(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(n,"__esModule",{value:!0});var o=r(1),u=e(o),i=function t(n){t.installed||n.directive("auto-focus",u.default)};"undefined"!=typeof window&&window.Vue&&i(window.Vue),n.default={install:i}},function(t,n,r){"use strict";function e(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(n,"__esModule",{value:!0});var o=r(2),u=e(o);n.default={inserted:function(t){var n=c(t),r=a(t,n);(!r||r<0||r>=n.length)&&(r=0);var e=n[r];i(e)},update:function(t,n){var r=n.value,e=n.oldValue;r!==e&&f(t)}};var i=function(t){var n=t;["INPUT","TEXTAREA"].indexOf(t.tagName.toUpperCase())===-1&&(n=t.querySelector("input,textarea")),n&&n.focus()},c=function(t){return t.querySelectorAll("[data-index]")},f=function(t){var n=t.dataset.action,r=c(t),e=r.length,o=a(t,r);switch(n){case"next":o>=e-1?o=e-1:o++,i(r[o]);break;case"prev":o<=0?o=0:o--,i(r[o]);break;case"first":o=0,i(r[o]);break;case"last":o=e-1,i(r[o]);break;case"jump":o>=0&&o=n.length?{value:void 0,done:!0}:(t=e(n,r),this._i+=t.length,{value:t,done:!1})})},function(t,n,r){var e=r(6),o=r(7);t.exports=function(t){return function(n,r){var u,i,c=String(o(n)),f=e(r),a=c.length;return f<0||f>=a?t?"":void 0:(u=c.charCodeAt(f),u<55296||u>56319||f+1===a||(i=c.charCodeAt(f+1))<56320||i>57343?t?c.charAt(f):u:t?c.slice(f,f+2):(u-55296<<10)+(i-56320)+65536)}}},function(t,n){var r=Math.ceil,e=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?e:r)(t)}},function(t,n){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,r){"use strict";var e=r(9),o=r(10),u=r(25),i=r(15),c=r(26),f=r(27),a=r(28),s=r(44),p=r(46),l=r(45)("iterator"),v=!([].keys&&"next"in[].keys()),d="@@iterator",y="keys",h="values",x=function(){return this};t.exports=function(t,n,r,g,w,b,m){a(r,n,g);var O,_,j,S=function(t){if(!v&&t in E)return E[t];switch(t){case y:return function(){return new r(this,t)};case h:return function(){return new r(this,t)}}return function(){return new r(this,t)}},A=n+" Iterator",P=w==h,M=!1,E=t.prototype,T=E[l]||E[d]||w&&E[w],k=T||S(w),I=w?P?S("entries"):k:void 0,F="Array"==n?E.entries||T:T;if(F&&(j=p(F.call(new t)),j!==Object.prototype&&(s(j,A,!0),e||c(j,l)||i(j,l,x))),P&&T&&T.name!==h&&(M=!0,k=function(){return T.call(this)}),e&&!m||!v&&!M&&E[l]||i(E,l,k),f[n]=k,f[A]=x,w)if(O={values:P?k:S(h),keys:b?k:S(y),entries:I},m)for(_ in O)_ in E||u(E,_,O[_]);else o(o.P+o.F*(v||M),n,O);return O}},function(t,n){t.exports=!0},function(t,n,r){var e=r(11),o=r(12),u=r(13),i=r(15),c="prototype",f=function(t,n,r){var a,s,p,l=t&f.F,v=t&f.G,d=t&f.S,y=t&f.P,h=t&f.B,x=t&f.W,g=v?o:o[n]||(o[n]={}),w=g[c],b=v?e:d?e[n]:(e[n]||{})[c];v&&(r=n);for(a in r)s=!l&&b&&void 0!==b[a],s&&a in g||(p=s?b[a]:r[a],g[a]=v&&"function"!=typeof b[a]?r[a]:h&&s?u(p,e):x&&b[a]==p?function(t){var n=function(n,r,e){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(n);case 2:return new t(n,r)}return new t(n,r,e)}return t.apply(this,arguments)};return n[c]=t[c],n}(p):y&&"function"==typeof p?u(Function.call,p):p,y&&((g.virtual||(g.virtual={}))[a]=p,t&f.R&&w&&!w[a]&&i(w,a,p)))};f.F=1,f.G=2,f.S=4,f.P=8,f.B=16,f.W=32,f.U=64,f.R=128,t.exports=f},function(t,n){var r=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},function(t,n){var r=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=r)},function(t,n,r){var e=r(14);t.exports=function(t,n,r){if(e(t),void 0===n)return t;switch(r){case 1:return function(r){return t.call(n,r)};case 2:return function(r,e){return t.call(n,r,e)};case 3:return function(r,e,o){return t.call(n,r,e,o)}}return function(){return t.apply(n,arguments)}}},function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,n,r){var e=r(16),o=r(24);t.exports=r(20)?function(t,n,r){return e.f(t,n,o(1,r))}:function(t,n,r){return t[n]=r,t}},function(t,n,r){var e=r(17),o=r(19),u=r(23),i=Object.defineProperty;n.f=r(20)?Object.defineProperty:function(t,n,r){if(e(t),n=u(n,!0),e(r),o)try{return i(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported!");return"value"in r&&(t[n]=r.value),t}},function(t,n,r){var e=r(18);t.exports=function(t){if(!e(t))throw TypeError(t+" is not an object!");return t}},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,r){t.exports=!r(20)&&!r(21)(function(){return 7!=Object.defineProperty(r(22)("div"),"a",{get:function(){return 7}}).a})},function(t,n,r){t.exports=!r(21)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n,r){var e=r(18),o=r(11).document,u=e(o)&&e(o.createElement);t.exports=function(t){return u?o.createElement(t):{}}},function(t,n,r){var e=r(18);t.exports=function(t,n){if(!e(t))return t;var r,o;if(n&&"function"==typeof(r=t.toString)&&!e(o=r.call(t)))return o;if("function"==typeof(r=t.valueOf)&&!e(o=r.call(t)))return o;if(!n&&"function"==typeof(r=t.toString)&&!e(o=r.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,r){t.exports=r(15)},function(t,n){var r={}.hasOwnProperty;t.exports=function(t,n){return r.call(t,n)}},function(t,n){t.exports={}},function(t,n,r){"use strict";var e=r(29),o=r(24),u=r(44),i={};r(15)(i,r(45)("iterator"),function(){return this}),t.exports=function(t,n,r){t.prototype=e(i,{next:o(1,r)}),u(t,n+" Iterator")}},function(t,n,r){var e=r(17),o=r(30),u=r(42),i=r(39)("IE_PROTO"),c=function(){},f="prototype",a=function(){var t,n=r(22)("iframe"),e=u.length,o="<",i=">";for(n.style.display="none",r(43).appendChild(n),n.src="javascript:",t=n.contentWindow.document,t.open(),t.write(o+"script"+i+"document.F=Object"+o+"/script"+i),t.close(),a=t.F;e--;)delete a[f][u[e]];return a()};t.exports=Object.create||function(t,n){var r;return null!==t?(c[f]=e(t),r=new c,c[f]=null,r[i]=t):r=a(),void 0===n?r:o(r,n)}},function(t,n,r){var e=r(16),o=r(17),u=r(31);t.exports=r(20)?Object.defineProperties:function(t,n){o(t);for(var r,i=u(n),c=i.length,f=0;c>f;)e.f(t,r=i[f++],n[r]);return t}},function(t,n,r){var e=r(32),o=r(42);t.exports=Object.keys||function(t){return e(t,o)}},function(t,n,r){var e=r(26),o=r(33),u=r(36)(!1),i=r(39)("IE_PROTO");t.exports=function(t,n){var r,c=o(t),f=0,a=[];for(r in c)r!=i&&e(c,r)&&a.push(r);for(;n.length>f;)e(c,r=n[f++])&&(~u(a,r)||a.push(r));return a}},function(t,n,r){var e=r(34),o=r(7);t.exports=function(t){return e(o(t))}},function(t,n,r){var e=r(35);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==e(t)?t.split(""):Object(t)}},function(t,n){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},function(t,n,r){var e=r(33),o=r(37),u=r(38);t.exports=function(t){return function(n,r,i){var c,f=e(n),a=o(f.length),s=u(i,a);if(t&&r!=r){for(;a>s;)if(c=f[s++],c!=c)return!0}else for(;a>s;s++)if((t||s in f)&&f[s]===r)return t||s||0;return!t&&-1}}},function(t,n,r){var e=r(6),o=Math.min;t.exports=function(t){return t>0?o(e(t),9007199254740991):0}},function(t,n,r){var e=r(6),o=Math.max,u=Math.min;t.exports=function(t,n){return t=e(t),t<0?o(t+n,0):u(t,n)}},function(t,n,r){var e=r(40)("keys"),o=r(41);t.exports=function(t){return e[t]||(e[t]=o(t))}},function(t,n,r){var e=r(11),o="__core-js_shared__",u=e[o]||(e[o]={});t.exports=function(t){return u[t]||(u[t]={})}},function(t,n){var r=0,e=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++r+e).toString(36))}},function(t,n){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,n,r){t.exports=r(11).document&&document.documentElement},function(t,n,r){var e=r(16).f,o=r(26),u=r(45)("toStringTag");t.exports=function(t,n,r){t&&!o(t=r?t:t.prototype,u)&&e(t,u,{configurable:!0,value:n})}},function(t,n,r){var e=r(40)("wks"),o=r(41),u=r(11).Symbol,i="function"==typeof u,c=t.exports=function(t){return e[t]||(e[t]=i&&u[t]||(i?u:o)("Symbol."+t))};c.store=e},function(t,n,r){var e=r(26),o=r(47),u=r(39)("IE_PROTO"),i=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=o(t),e(t,u)?t[u]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?i:null}},function(t,n,r){var e=r(7);t.exports=function(t){return Object(e(t))}},function(t,n,r){"use strict";var e=r(13),o=r(10),u=r(47),i=r(49),c=r(50),f=r(37),a=r(51),s=r(52);o(o.S+o.F*!r(54)(function(t){Array.from(t)}),"Array",{from:function(t){var n,r,o,p,l=u(t),v="function"==typeof this?this:Array,d=arguments.length,y=d>1?arguments[1]:void 0,h=void 0!==y,x=0,g=s(l);if(h&&(y=e(y,d>2?arguments[2]:void 0,2)),void 0==g||v==Array&&c(g))for(n=f(l.length),r=new v(n);n>x;x++)a(r,x,h?y(l[x],x):l[x]);else for(p=g.call(l),r=new v;!(o=p.next()).done;x++)a(r,x,h?i(p,y,[o.value,x],!0):o.value);return r.length=x,r}})},function(t,n,r){var e=r(17);t.exports=function(t,n,r,o){try{return o?n(e(r)[0],r[1]):n(r)}catch(n){var u=t.return;throw void 0!==u&&e(u.call(t)),n}}},function(t,n,r){var e=r(27),o=r(45)("iterator"),u=Array.prototype;t.exports=function(t){return void 0!==t&&(e.Array===t||u[o]===t)}},function(t,n,r){"use strict";var e=r(16),o=r(24);t.exports=function(t,n,r){n in t?e.f(t,n,o(0,r)):t[n]=r}},function(t,n,r){var e=r(53),o=r(45)("iterator"),u=r(27);t.exports=r(12).getIteratorMethod=function(t){if(void 0!=t)return t[o]||t["@@iterator"]||u[e(t)]}},function(t,n,r){var e=r(35),o=r(45)("toStringTag"),u="Arguments"==e(function(){return arguments}()),i=function(t,n){try{return t[n]}catch(t){}};t.exports=function(t){var n,r,c;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=i(n=Object(t),o))?r:u?e(n):"Object"==(c=e(n))&&"function"==typeof n.callee?"Arguments":c}},function(t,n,r){var e=r(45)("iterator"),o=!1;try{var u=[7][e]();u.return=function(){o=!0},Array.from(u,function(){throw 2})}catch(t){}t.exports=function(t,n){if(!n&&!o)return!1;var r=!1;try{var u=[7],i=u[e]();i.next=function(){return{done:r=!0}},u[e]=function(){return i},t(u)}catch(t){}return r}}]);
2 | //# sourceMappingURL=build.js.map
--------------------------------------------------------------------------------
/dist/build.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"sources":["webpack:///build.js","webpack:///webpack/bootstrap 8754210f066c4b3c1068","webpack:///./main.js","webpack:///./src/auto-focus.js","webpack:///./~/babel-runtime/core-js/array/from.js","webpack:///./~/core-js/library/fn/array/from.js","webpack:///./~/core-js/library/modules/es6.string.iterator.js","webpack:///./~/core-js/library/modules/_string-at.js","webpack:///./~/core-js/library/modules/_to-integer.js","webpack:///./~/core-js/library/modules/_defined.js","webpack:///./~/core-js/library/modules/_iter-define.js","webpack:///./~/core-js/library/modules/_library.js","webpack:///./~/core-js/library/modules/_export.js","webpack:///./~/core-js/library/modules/_global.js","webpack:///./~/core-js/library/modules/_core.js","webpack:///./~/core-js/library/modules/_ctx.js","webpack:///./~/core-js/library/modules/_a-function.js","webpack:///./~/core-js/library/modules/_hide.js","webpack:///./~/core-js/library/modules/_object-dp.js","webpack:///./~/core-js/library/modules/_an-object.js","webpack:///./~/core-js/library/modules/_is-object.js","webpack:///./~/core-js/library/modules/_ie8-dom-define.js","webpack:///./~/core-js/library/modules/_descriptors.js","webpack:///./~/core-js/library/modules/_fails.js","webpack:///./~/core-js/library/modules/_dom-create.js","webpack:///./~/core-js/library/modules/_to-primitive.js","webpack:///./~/core-js/library/modules/_property-desc.js","webpack:///./~/core-js/library/modules/_redefine.js","webpack:///./~/core-js/library/modules/_has.js","webpack:///./~/core-js/library/modules/_iterators.js","webpack:///./~/core-js/library/modules/_iter-create.js","webpack:///./~/core-js/library/modules/_object-create.js","webpack:///./~/core-js/library/modules/_object-dps.js","webpack:///./~/core-js/library/modules/_object-keys.js","webpack:///./~/core-js/library/modules/_object-keys-internal.js","webpack:///./~/core-js/library/modules/_to-iobject.js","webpack:///./~/core-js/library/modules/_iobject.js","webpack:///./~/core-js/library/modules/_cof.js","webpack:///./~/core-js/library/modules/_array-includes.js","webpack:///./~/core-js/library/modules/_to-length.js","webpack:///./~/core-js/library/modules/_to-index.js","webpack:///./~/core-js/library/modules/_shared-key.js","webpack:///./~/core-js/library/modules/_shared.js","webpack:///./~/core-js/library/modules/_uid.js","webpack:///./~/core-js/library/modules/_enum-bug-keys.js","webpack:///./~/core-js/library/modules/_html.js","webpack:///./~/core-js/library/modules/_set-to-string-tag.js","webpack:///./~/core-js/library/modules/_wks.js","webpack:///./~/core-js/library/modules/_object-gpo.js","webpack:///./~/core-js/library/modules/_to-object.js","webpack:///./~/core-js/library/modules/es6.array.from.js","webpack:///./~/core-js/library/modules/_iter-call.js","webpack:///./~/core-js/library/modules/_is-array-iter.js","webpack:///./~/core-js/library/modules/_create-property.js","webpack:///./~/core-js/library/modules/core.get-iterator-method.js","webpack:///./~/core-js/library/modules/_classof.js","webpack:///./~/core-js/library/modules/_iter-detect.js"],"names":["module","exports","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","_interopRequireDefault","obj","__esModule","default","Object","defineProperty","value","_autoFocus","_autoFocus2","install","Vue","installed","directive","window","_from","_from2","inserted","el","allFocusEls","getAllFocusEls","current","getTargetIndex","length","currentEl","autoFocus","update","_ref","oldValue","focusCtrl","focusEl","elInput","indexOf","tagName","toUpperCase","querySelector","focus","querySelectorAll","action","dataset","focusLen","collection","target","document","Array","from","$at","String","iterated","this","_t","_i","point","O","index","undefined","done","toInteger","defined","TO_STRING","that","pos","a","b","s","i","l","charCodeAt","charAt","slice","ceil","Math","floor","it","isNaN","TypeError","LIBRARY","$export","redefine","hide","has","Iterators","$iterCreate","setToStringTag","getPrototypeOf","ITERATOR","BUGGY","keys","FF_ITERATOR","KEYS","VALUES","returnThis","Base","NAME","Constructor","next","DEFAULT","IS_SET","FORCED","methods","key","IteratorPrototype","getMethod","kind","proto","TAG","DEF_VALUES","VALUES_BUG","prototype","$native","$default","$entries","$anyNative","entries","name","values","P","F","global","core","ctx","PROTOTYPE","type","source","own","out","IS_FORCED","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","IS_BIND","B","IS_WRAP","W","expProto","C","arguments","apply","Function","virtual","R","U","self","__g","version","__e","aFunction","fn","dP","createDesc","object","f","anObject","IE8_DOM_DEFINE","toPrimitive","Attributes","e","isObject","get","exec","is","createElement","val","toString","valueOf","bitmap","enumerable","configurable","writable","hasOwnProperty","create","descriptor","dPs","enumBugKeys","IE_PROTO","Empty","createDict","iframeDocument","iframe","lt","gt","style","display","appendChild","src","contentWindow","open","write","close","Properties","result","getKeys","defineProperties","$keys","toIObject","arrayIndexOf","names","push","IObject","cof","propertyIsEnumerable","split","toLength","toIndex","IS_INCLUDES","$this","fromIndex","min","max","shared","uid","SHARED","store","px","random","concat","documentElement","def","tag","stat","Symbol","USE_SYMBOL","$exports","toObject","ObjectProto","constructor","isArrayIter","createProperty","getIterFn","iter","arrayLike","step","iterator","aLen","mapfn","mapping","iterFn","ret","ArrayProto","$defineProperty","classof","getIteratorMethod","ARG","tryGet","T","callee","SAFE_CLOSING","riter","skipClosing","safe","arr"],"mappings":"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","file":"build.js","sourcesContent":["module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"dist/\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _autoFocus = __webpack_require__(1);\n\t\n\tvar _autoFocus2 = _interopRequireDefault(_autoFocus);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar install = function install(Vue) {\n\t if (install.installed) return;\n\t Vue.directive('auto-focus', _autoFocus2.default);\n\t};\n\t\n\tif (typeof window !== 'undefined' && window.Vue) {\n\t install(window.Vue);\n\t};\n\t\n\texports.default = {\n\t install: install\n\t};\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _from = __webpack_require__(2);\n\t\n\tvar _from2 = _interopRequireDefault(_from);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = {\n\t inserted: function inserted(el) {\n\t var allFocusEls = getAllFocusEls(el);\n\t var current = getTargetIndex(el, allFocusEls);\n\t if (!current || current < 0 || current >= allFocusEls.length) {\n\t current = 0;\n\t }\n\t var currentEl = allFocusEls[current];\n\t\n\t autoFocus(currentEl);\n\t },\n\t\n\t update: function update(el, _ref) {\n\t var value = _ref.value,\n\t oldValue = _ref.oldValue;\n\t\n\t if (value !== oldValue) {\n\t focusCtrl(el);\n\t }\n\t }\n\t};\n\t\n\tvar autoFocus = function autoFocus(focusEl) {\n\t var elInput = focusEl;\n\t if (['INPUT', 'TEXTAREA'].indexOf(focusEl.tagName.toUpperCase()) === -1) {\n\t elInput = focusEl.querySelector('input,textarea');\n\t }\n\t elInput && elInput.focus();\n\t};\n\t\n\tvar getAllFocusEls = function getAllFocusEls(el) {\n\t return el.querySelectorAll('[data-index]');\n\t};\n\t\n\tvar focusCtrl = function focusCtrl(el) {\n\t var action = el.dataset.action;\n\t var allFocusEls = getAllFocusEls(el);\n\t var focusLen = allFocusEls.length;\n\t var current = getTargetIndex(el, allFocusEls);\n\t switch (action) {\n\t case 'next':\n\t if (current >= focusLen - 1) {\n\t current = focusLen - 1;\n\t } else {\n\t current++;\n\t }\n\t autoFocus(allFocusEls[current]);\n\t break;\n\t case 'prev':\n\t if (current <= 0) {\n\t current = 0;\n\t } else {\n\t current--;\n\t }\n\t autoFocus(allFocusEls[current]);\n\t break;\n\t case 'first':\n\t current = 0;\n\t autoFocus(allFocusEls[current]);\n\t break;\n\t case 'last':\n\t current = focusLen - 1;\n\t autoFocus(allFocusEls[current]);\n\t break;\n\t case 'jump':\n\t if (current >= 0 && current < focusLen) {\n\t autoFocus(allFocusEls[current]);\n\t }\n\t break;\n\t }\n\t};\n\t\n\tvar getTargetIndex = function getTargetIndex(el, collection) {\n\t var target = document.querySelector('[data-index=\"' + el.dataset.current + '\"]');\n\t return (0, _from2.default)(collection).indexOf(target);\n\t};\n\n/***/ },\n/* 2 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(3), __esModule: true };\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(4);\n\t__webpack_require__(48);\n\tmodule.exports = __webpack_require__(12).Array.from;\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $at = __webpack_require__(5)(true);\n\t\n\t// 21.1.3.27 String.prototype[@@iterator]()\n\t__webpack_require__(8)(String, 'String', function(iterated){\n\t this._t = String(iterated); // target\n\t this._i = 0; // next index\n\t// 21.1.5.2.1 %StringIteratorPrototype%.next()\n\t}, function(){\n\t var O = this._t\n\t , index = this._i\n\t , point;\n\t if(index >= O.length)return {value: undefined, done: true};\n\t point = $at(O, index);\n\t this._i += point.length;\n\t return {value: point, done: false};\n\t});\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toInteger = __webpack_require__(6)\n\t , defined = __webpack_require__(7);\n\t// true -> String#at\n\t// false -> String#codePointAt\n\tmodule.exports = function(TO_STRING){\n\t return function(that, pos){\n\t var s = String(defined(that))\n\t , i = toInteger(pos)\n\t , l = s.length\n\t , a, b;\n\t if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n\t a = s.charCodeAt(i);\n\t return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n\t ? TO_STRING ? s.charAt(i) : a\n\t : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n\t };\n\t};\n\n/***/ },\n/* 6 */\n/***/ function(module, exports) {\n\n\t// 7.1.4 ToInteger\n\tvar ceil = Math.ceil\n\t , floor = Math.floor;\n\tmodule.exports = function(it){\n\t return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n\t};\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\n\t// 7.2.1 RequireObjectCoercible(argument)\n\tmodule.exports = function(it){\n\t if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n\t return it;\n\t};\n\n/***/ },\n/* 8 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar LIBRARY = __webpack_require__(9)\n\t , $export = __webpack_require__(10)\n\t , redefine = __webpack_require__(25)\n\t , hide = __webpack_require__(15)\n\t , has = __webpack_require__(26)\n\t , Iterators = __webpack_require__(27)\n\t , $iterCreate = __webpack_require__(28)\n\t , setToStringTag = __webpack_require__(44)\n\t , getPrototypeOf = __webpack_require__(46)\n\t , ITERATOR = __webpack_require__(45)('iterator')\n\t , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n\t , FF_ITERATOR = '@@iterator'\n\t , KEYS = 'keys'\n\t , VALUES = 'values';\n\t\n\tvar returnThis = function(){ return this; };\n\t\n\tmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n\t $iterCreate(Constructor, NAME, next);\n\t var getMethod = function(kind){\n\t if(!BUGGY && kind in proto)return proto[kind];\n\t switch(kind){\n\t case KEYS: return function keys(){ return new Constructor(this, kind); };\n\t case VALUES: return function values(){ return new Constructor(this, kind); };\n\t } return function entries(){ return new Constructor(this, kind); };\n\t };\n\t var TAG = NAME + ' Iterator'\n\t , DEF_VALUES = DEFAULT == VALUES\n\t , VALUES_BUG = false\n\t , proto = Base.prototype\n\t , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n\t , $default = $native || getMethod(DEFAULT)\n\t , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n\t , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n\t , methods, key, IteratorPrototype;\n\t // Fix native\n\t if($anyNative){\n\t IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n\t if(IteratorPrototype !== Object.prototype){\n\t // Set @@toStringTag to native iterators\n\t setToStringTag(IteratorPrototype, TAG, true);\n\t // fix for some old engines\n\t if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n\t }\n\t }\n\t // fix Array#{values, @@iterator}.name in V8 / FF\n\t if(DEF_VALUES && $native && $native.name !== VALUES){\n\t VALUES_BUG = true;\n\t $default = function values(){ return $native.call(this); };\n\t }\n\t // Define iterator\n\t if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n\t hide(proto, ITERATOR, $default);\n\t }\n\t // Plug for library\n\t Iterators[NAME] = $default;\n\t Iterators[TAG] = returnThis;\n\t if(DEFAULT){\n\t methods = {\n\t values: DEF_VALUES ? $default : getMethod(VALUES),\n\t keys: IS_SET ? $default : getMethod(KEYS),\n\t entries: $entries\n\t };\n\t if(FORCED)for(key in methods){\n\t if(!(key in proto))redefine(proto, key, methods[key]);\n\t } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n\t }\n\t return methods;\n\t};\n\n/***/ },\n/* 9 */\n/***/ function(module, exports) {\n\n\tmodule.exports = true;\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(11)\n\t , core = __webpack_require__(12)\n\t , ctx = __webpack_require__(13)\n\t , hide = __webpack_require__(15)\n\t , PROTOTYPE = 'prototype';\n\t\n\tvar $export = function(type, name, source){\n\t var IS_FORCED = type & $export.F\n\t , IS_GLOBAL = type & $export.G\n\t , IS_STATIC = type & $export.S\n\t , IS_PROTO = type & $export.P\n\t , IS_BIND = type & $export.B\n\t , IS_WRAP = type & $export.W\n\t , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n\t , expProto = exports[PROTOTYPE]\n\t , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]\n\t , key, own, out;\n\t if(IS_GLOBAL)source = name;\n\t for(key in source){\n\t // contains in native\n\t own = !IS_FORCED && target && target[key] !== undefined;\n\t if(own && key in exports)continue;\n\t // export native or passed\n\t out = own ? target[key] : source[key];\n\t // prevent global pollution for namespaces\n\t exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n\t // bind timers to global for call from export context\n\t : IS_BIND && own ? ctx(out, global)\n\t // wrap global constructors for prevent change them in library\n\t : IS_WRAP && target[key] == out ? (function(C){\n\t var F = function(a, b, c){\n\t if(this instanceof C){\n\t switch(arguments.length){\n\t case 0: return new C;\n\t case 1: return new C(a);\n\t case 2: return new C(a, b);\n\t } return new C(a, b, c);\n\t } return C.apply(this, arguments);\n\t };\n\t F[PROTOTYPE] = C[PROTOTYPE];\n\t return F;\n\t // make static versions for prototype methods\n\t })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n\t // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n\t if(IS_PROTO){\n\t (exports.virtual || (exports.virtual = {}))[key] = out;\n\t // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n\t if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out);\n\t }\n\t }\n\t};\n\t// type bitmap\n\t$export.F = 1; // forced\n\t$export.G = 2; // global\n\t$export.S = 4; // static\n\t$export.P = 8; // proto\n\t$export.B = 16; // bind\n\t$export.W = 32; // wrap\n\t$export.U = 64; // safe\n\t$export.R = 128; // real proto method for `library` \n\tmodule.exports = $export;\n\n/***/ },\n/* 11 */\n/***/ function(module, exports) {\n\n\t// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\n\tvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n\t ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\n\tif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n/***/ },\n/* 12 */\n/***/ function(module, exports) {\n\n\tvar core = module.exports = {version: '2.4.0'};\n\tif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// optional / simple context binding\n\tvar aFunction = __webpack_require__(14);\n\tmodule.exports = function(fn, that, length){\n\t aFunction(fn);\n\t if(that === undefined)return fn;\n\t switch(length){\n\t case 1: return function(a){\n\t return fn.call(that, a);\n\t };\n\t case 2: return function(a, b){\n\t return fn.call(that, a, b);\n\t };\n\t case 3: return function(a, b, c){\n\t return fn.call(that, a, b, c);\n\t };\n\t }\n\t return function(/* ...args */){\n\t return fn.apply(that, arguments);\n\t };\n\t};\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(it){\n\t if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n\t return it;\n\t};\n\n/***/ },\n/* 15 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar dP = __webpack_require__(16)\n\t , createDesc = __webpack_require__(24);\n\tmodule.exports = __webpack_require__(20) ? function(object, key, value){\n\t return dP.f(object, key, createDesc(1, value));\n\t} : function(object, key, value){\n\t object[key] = value;\n\t return object;\n\t};\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar anObject = __webpack_require__(17)\n\t , IE8_DOM_DEFINE = __webpack_require__(19)\n\t , toPrimitive = __webpack_require__(23)\n\t , dP = Object.defineProperty;\n\t\n\texports.f = __webpack_require__(20) ? Object.defineProperty : function defineProperty(O, P, Attributes){\n\t anObject(O);\n\t P = toPrimitive(P, true);\n\t anObject(Attributes);\n\t if(IE8_DOM_DEFINE)try {\n\t return dP(O, P, Attributes);\n\t } catch(e){ /* empty */ }\n\t if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n\t if('value' in Attributes)O[P] = Attributes.value;\n\t return O;\n\t};\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(18);\n\tmodule.exports = function(it){\n\t if(!isObject(it))throw TypeError(it + ' is not an object!');\n\t return it;\n\t};\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(it){\n\t return typeof it === 'object' ? it !== null : typeof it === 'function';\n\t};\n\n/***/ },\n/* 19 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = !__webpack_require__(20) && !__webpack_require__(21)(function(){\n\t return Object.defineProperty(__webpack_require__(22)('div'), 'a', {get: function(){ return 7; }}).a != 7;\n\t});\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// Thank's IE8 for his funny defineProperty\n\tmodule.exports = !__webpack_require__(21)(function(){\n\t return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n\t});\n\n/***/ },\n/* 21 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(exec){\n\t try {\n\t return !!exec();\n\t } catch(e){\n\t return true;\n\t }\n\t};\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(18)\n\t , document = __webpack_require__(11).document\n\t // in old IE typeof document.createElement is 'object'\n\t , is = isObject(document) && isObject(document.createElement);\n\tmodule.exports = function(it){\n\t return is ? document.createElement(it) : {};\n\t};\n\n/***/ },\n/* 23 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 7.1.1 ToPrimitive(input [, PreferredType])\n\tvar isObject = __webpack_require__(18);\n\t// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n\t// and the second argument - flag - preferred type is a string\n\tmodule.exports = function(it, S){\n\t if(!isObject(it))return it;\n\t var fn, val;\n\t if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n\t if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n\t if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n\t throw TypeError(\"Can't convert object to primitive value\");\n\t};\n\n/***/ },\n/* 24 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(bitmap, value){\n\t return {\n\t enumerable : !(bitmap & 1),\n\t configurable: !(bitmap & 2),\n\t writable : !(bitmap & 4),\n\t value : value\n\t };\n\t};\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(15);\n\n/***/ },\n/* 26 */\n/***/ function(module, exports) {\n\n\tvar hasOwnProperty = {}.hasOwnProperty;\n\tmodule.exports = function(it, key){\n\t return hasOwnProperty.call(it, key);\n\t};\n\n/***/ },\n/* 27 */\n/***/ function(module, exports) {\n\n\tmodule.exports = {};\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar create = __webpack_require__(29)\n\t , descriptor = __webpack_require__(24)\n\t , setToStringTag = __webpack_require__(44)\n\t , IteratorPrototype = {};\n\t\n\t// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n\t__webpack_require__(15)(IteratorPrototype, __webpack_require__(45)('iterator'), function(){ return this; });\n\t\n\tmodule.exports = function(Constructor, NAME, next){\n\t Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n\t setToStringTag(Constructor, NAME + ' Iterator');\n\t};\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n\tvar anObject = __webpack_require__(17)\n\t , dPs = __webpack_require__(30)\n\t , enumBugKeys = __webpack_require__(42)\n\t , IE_PROTO = __webpack_require__(39)('IE_PROTO')\n\t , Empty = function(){ /* empty */ }\n\t , PROTOTYPE = 'prototype';\n\t\n\t// Create object with fake `null` prototype: use iframe Object with cleared prototype\n\tvar createDict = function(){\n\t // Thrash, waste and sodomy: IE GC bug\n\t var iframe = __webpack_require__(22)('iframe')\n\t , i = enumBugKeys.length\n\t , lt = '<'\n\t , gt = '>'\n\t , iframeDocument;\n\t iframe.style.display = 'none';\n\t __webpack_require__(43).appendChild(iframe);\n\t iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n\t // createDict = iframe.contentWindow.Object;\n\t // html.removeChild(iframe);\n\t iframeDocument = iframe.contentWindow.document;\n\t iframeDocument.open();\n\t iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n\t iframeDocument.close();\n\t createDict = iframeDocument.F;\n\t while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];\n\t return createDict();\n\t};\n\t\n\tmodule.exports = Object.create || function create(O, Properties){\n\t var result;\n\t if(O !== null){\n\t Empty[PROTOTYPE] = anObject(O);\n\t result = new Empty;\n\t Empty[PROTOTYPE] = null;\n\t // add \"__proto__\" for Object.getPrototypeOf polyfill\n\t result[IE_PROTO] = O;\n\t } else result = createDict();\n\t return Properties === undefined ? result : dPs(result, Properties);\n\t};\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar dP = __webpack_require__(16)\n\t , anObject = __webpack_require__(17)\n\t , getKeys = __webpack_require__(31);\n\t\n\tmodule.exports = __webpack_require__(20) ? Object.defineProperties : function defineProperties(O, Properties){\n\t anObject(O);\n\t var keys = getKeys(Properties)\n\t , length = keys.length\n\t , i = 0\n\t , P;\n\t while(length > i)dP.f(O, P = keys[i++], Properties[P]);\n\t return O;\n\t};\n\n/***/ },\n/* 31 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.14 / 15.2.3.14 Object.keys(O)\n\tvar $keys = __webpack_require__(32)\n\t , enumBugKeys = __webpack_require__(42);\n\t\n\tmodule.exports = Object.keys || function keys(O){\n\t return $keys(O, enumBugKeys);\n\t};\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar has = __webpack_require__(26)\n\t , toIObject = __webpack_require__(33)\n\t , arrayIndexOf = __webpack_require__(36)(false)\n\t , IE_PROTO = __webpack_require__(39)('IE_PROTO');\n\t\n\tmodule.exports = function(object, names){\n\t var O = toIObject(object)\n\t , i = 0\n\t , result = []\n\t , key;\n\t for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\n\t // Don't enum bug & hidden keys\n\t while(names.length > i)if(has(O, key = names[i++])){\n\t ~arrayIndexOf(result, key) || result.push(key);\n\t }\n\t return result;\n\t};\n\n/***/ },\n/* 33 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// to indexed object, toObject with fallback for non-array-like ES3 strings\n\tvar IObject = __webpack_require__(34)\n\t , defined = __webpack_require__(7);\n\tmodule.exports = function(it){\n\t return IObject(defined(it));\n\t};\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// fallback for non-array-like ES3 and non-enumerable old V8 strings\n\tvar cof = __webpack_require__(35);\n\tmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n\t return cof(it) == 'String' ? it.split('') : Object(it);\n\t};\n\n/***/ },\n/* 35 */\n/***/ function(module, exports) {\n\n\tvar toString = {}.toString;\n\t\n\tmodule.exports = function(it){\n\t return toString.call(it).slice(8, -1);\n\t};\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// false -> Array#indexOf\n\t// true -> Array#includes\n\tvar toIObject = __webpack_require__(33)\n\t , toLength = __webpack_require__(37)\n\t , toIndex = __webpack_require__(38);\n\tmodule.exports = function(IS_INCLUDES){\n\t return function($this, el, fromIndex){\n\t var O = toIObject($this)\n\t , length = toLength(O.length)\n\t , index = toIndex(fromIndex, length)\n\t , value;\n\t // Array#includes uses SameValueZero equality algorithm\n\t if(IS_INCLUDES && el != el)while(length > index){\n\t value = O[index++];\n\t if(value != value)return true;\n\t // Array#toIndex ignores holes, Array#includes - not\n\t } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n\t if(O[index] === el)return IS_INCLUDES || index || 0;\n\t } return !IS_INCLUDES && -1;\n\t };\n\t};\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 7.1.15 ToLength\n\tvar toInteger = __webpack_require__(6)\n\t , min = Math.min;\n\tmodule.exports = function(it){\n\t return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n\t};\n\n/***/ },\n/* 38 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toInteger = __webpack_require__(6)\n\t , max = Math.max\n\t , min = Math.min;\n\tmodule.exports = function(index, length){\n\t index = toInteger(index);\n\t return index < 0 ? max(index + length, 0) : min(index, length);\n\t};\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar shared = __webpack_require__(40)('keys')\n\t , uid = __webpack_require__(41);\n\tmodule.exports = function(key){\n\t return shared[key] || (shared[key] = uid(key));\n\t};\n\n/***/ },\n/* 40 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(11)\n\t , SHARED = '__core-js_shared__'\n\t , store = global[SHARED] || (global[SHARED] = {});\n\tmodule.exports = function(key){\n\t return store[key] || (store[key] = {});\n\t};\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\tvar id = 0\n\t , px = Math.random();\n\tmodule.exports = function(key){\n\t return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n\t};\n\n/***/ },\n/* 42 */\n/***/ function(module, exports) {\n\n\t// IE 8- don't enum bug keys\n\tmodule.exports = (\n\t 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n\t).split(',');\n\n/***/ },\n/* 43 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(11).document && document.documentElement;\n\n/***/ },\n/* 44 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar def = __webpack_require__(16).f\n\t , has = __webpack_require__(26)\n\t , TAG = __webpack_require__(45)('toStringTag');\n\t\n\tmodule.exports = function(it, tag, stat){\n\t if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n\t};\n\n/***/ },\n/* 45 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar store = __webpack_require__(40)('wks')\n\t , uid = __webpack_require__(41)\n\t , Symbol = __webpack_require__(11).Symbol\n\t , USE_SYMBOL = typeof Symbol == 'function';\n\t\n\tvar $exports = module.exports = function(name){\n\t return store[name] || (store[name] =\n\t USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n\t};\n\t\n\t$exports.store = store;\n\n/***/ },\n/* 46 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\n\tvar has = __webpack_require__(26)\n\t , toObject = __webpack_require__(47)\n\t , IE_PROTO = __webpack_require__(39)('IE_PROTO')\n\t , ObjectProto = Object.prototype;\n\t\n\tmodule.exports = Object.getPrototypeOf || function(O){\n\t O = toObject(O);\n\t if(has(O, IE_PROTO))return O[IE_PROTO];\n\t if(typeof O.constructor == 'function' && O instanceof O.constructor){\n\t return O.constructor.prototype;\n\t } return O instanceof Object ? ObjectProto : null;\n\t};\n\n/***/ },\n/* 47 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 7.1.13 ToObject(argument)\n\tvar defined = __webpack_require__(7);\n\tmodule.exports = function(it){\n\t return Object(defined(it));\n\t};\n\n/***/ },\n/* 48 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar ctx = __webpack_require__(13)\n\t , $export = __webpack_require__(10)\n\t , toObject = __webpack_require__(47)\n\t , call = __webpack_require__(49)\n\t , isArrayIter = __webpack_require__(50)\n\t , toLength = __webpack_require__(37)\n\t , createProperty = __webpack_require__(51)\n\t , getIterFn = __webpack_require__(52);\n\t\n\t$export($export.S + $export.F * !__webpack_require__(54)(function(iter){ Array.from(iter); }), 'Array', {\n\t // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n\t from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){\n\t var O = toObject(arrayLike)\n\t , C = typeof this == 'function' ? this : Array\n\t , aLen = arguments.length\n\t , mapfn = aLen > 1 ? arguments[1] : undefined\n\t , mapping = mapfn !== undefined\n\t , index = 0\n\t , iterFn = getIterFn(O)\n\t , length, result, step, iterator;\n\t if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n\t // if object isn't iterable or it's array with default iterator - use simple case\n\t if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){\n\t for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){\n\t createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n\t }\n\t } else {\n\t length = toLength(O.length);\n\t for(result = new C(length); length > index; index++){\n\t createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n\t }\n\t }\n\t result.length = index;\n\t return result;\n\t }\n\t});\n\n\n/***/ },\n/* 49 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// call something on iterator step with safe closing on error\n\tvar anObject = __webpack_require__(17);\n\tmodule.exports = function(iterator, fn, value, entries){\n\t try {\n\t return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n\t // 7.4.6 IteratorClose(iterator, completion)\n\t } catch(e){\n\t var ret = iterator['return'];\n\t if(ret !== undefined)anObject(ret.call(iterator));\n\t throw e;\n\t }\n\t};\n\n/***/ },\n/* 50 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// check on default Array iterator\n\tvar Iterators = __webpack_require__(27)\n\t , ITERATOR = __webpack_require__(45)('iterator')\n\t , ArrayProto = Array.prototype;\n\t\n\tmodule.exports = function(it){\n\t return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n\t};\n\n/***/ },\n/* 51 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $defineProperty = __webpack_require__(16)\n\t , createDesc = __webpack_require__(24);\n\t\n\tmodule.exports = function(object, index, value){\n\t if(index in object)$defineProperty.f(object, index, createDesc(0, value));\n\t else object[index] = value;\n\t};\n\n/***/ },\n/* 52 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar classof = __webpack_require__(53)\n\t , ITERATOR = __webpack_require__(45)('iterator')\n\t , Iterators = __webpack_require__(27);\n\tmodule.exports = __webpack_require__(12).getIteratorMethod = function(it){\n\t if(it != undefined)return it[ITERATOR]\n\t || it['@@iterator']\n\t || Iterators[classof(it)];\n\t};\n\n/***/ },\n/* 53 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// getting tag from 19.1.3.6 Object.prototype.toString()\n\tvar cof = __webpack_require__(35)\n\t , TAG = __webpack_require__(45)('toStringTag')\n\t // ES3 wrong here\n\t , ARG = cof(function(){ return arguments; }()) == 'Arguments';\n\t\n\t// fallback for IE11 Script Access Denied error\n\tvar tryGet = function(it, key){\n\t try {\n\t return it[key];\n\t } catch(e){ /* empty */ }\n\t};\n\t\n\tmodule.exports = function(it){\n\t var O, T, B;\n\t return it === undefined ? 'Undefined' : it === null ? 'Null'\n\t // @@toStringTag case\n\t : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n\t // builtinTag case\n\t : ARG ? cof(O)\n\t // ES3 arguments fallback\n\t : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n\t};\n\n/***/ },\n/* 54 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar ITERATOR = __webpack_require__(45)('iterator')\n\t , SAFE_CLOSING = false;\n\t\n\ttry {\n\t var riter = [7][ITERATOR]();\n\t riter['return'] = function(){ SAFE_CLOSING = true; };\n\t Array.from(riter, function(){ throw 2; });\n\t} catch(e){ /* empty */ }\n\t\n\tmodule.exports = function(exec, skipClosing){\n\t if(!skipClosing && !SAFE_CLOSING)return false;\n\t var safe = false;\n\t try {\n\t var arr = [7]\n\t , iter = arr[ITERATOR]();\n\t iter.next = function(){ return {done: safe = true}; };\n\t arr[ITERATOR] = function(){ return iter; };\n\t exec(arr);\n\t } catch(e){ /* empty */ }\n\t return safe;\n\t};\n\n/***/ }\n/******/ ]);\n\n\n// WEBPACK FOOTER //\n// build.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"dist/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 8754210f066c4b3c1068","import autoFocus from './src/auto-focus'\n\nconst install = function (Vue) {\n if (install.installed) return;\n Vue.directive('auto-focus',autoFocus)\n}\n\n\nif (typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n};\n\n\nexport default {\n install,\n}\n\n\n\n// WEBPACK FOOTER //\n// ./main.js","/**\n * 该指令用于设定自动聚焦,使用时,需要聚焦的元素必须设置data-index属性,\n * 用法 父元素 v-auto-focus=\"focusCtrl\" :data-action=\"actionType\" :data-current=\"focusIndex\"\n * 需要聚焦的元素需要设置索引 data-index=\"index\"\n */\nexport default {\n /**\n * 进入页面时,根据设置的data-index索引值,聚焦到对应的输入框\n * @param el\n */\n inserted: function (el) {\n const allFocusEls = getAllFocusEls(el) // 获取需要聚焦的input元素组\n let current = getTargetIndex(el,allFocusEls)\n if (!current || current < 0 || current >= allFocusEls.length) { // 如果没有设置data-current,或者current的数值范围不符合要求,则默认聚焦到第一个输入框\n current = 0\n }\n const currentEl = allFocusEls[current]\n\n autoFocus(currentEl)\n },\n /**\n * 更新时,如果focusCtrl有变动,则根据actionType来判断聚焦的行为,聚焦到对应的元素\n * @param el\n * @param value\n * @param oldValue\n */\n update: function (el,{value,oldValue}) {\n if (value !== oldValue) {\n focusCtrl(el)\n }\n },\n}\n\n/**\n * 自动聚焦到对应的input\n * @param focusEl {Node} 需要聚焦的元素对象\n * 如果当前的元素不为input或textarea,则获取其为input或textarea的子元素\n */\nconst autoFocus = function (focusEl) {\n let elInput = focusEl\n if (['INPUT','TEXTAREA'].indexOf(focusEl.tagName.toUpperCase()) === -1) {\n elInput = focusEl.querySelector('input,textarea')\n }\n elInput && elInput.focus()\n}\n/**\n * 获取需要聚焦的所有元素\n * @param el {Node} 指令挂载的元素\n * @returns {NodeList} 需要聚焦的元素列表\n */\nconst getAllFocusEls = function (el) {\n return el.querySelectorAll('[data-index]')\n}\n\n/**\n * 聚焦行为控制\n * next 聚焦到下一个元素\n * prev 聚焦到上一个元素\n * first 聚焦到第一个元素\n * last 聚焦到最后一个元素\n * jump 跳转到指定的元素\n * @param el\n */\nconst focusCtrl = function (el) {\n const action = el.dataset.action\n const allFocusEls = getAllFocusEls(el)\n const focusLen = allFocusEls.length\n let current = getTargetIndex(el,allFocusEls)\n switch (action) {\n case 'next': // 如果action为next,则聚焦到下一个输入框\n if (current >= focusLen - 1) {\n current = focusLen - 1\n } else {\n current++\n }\n autoFocus(allFocusEls[current])\n break\n case 'prev': // 如果action为prev,则聚焦到上一个输入框\n if (current <= 0) {\n current = 0\n } else {\n current--\n }\n autoFocus(allFocusEls[current])\n break\n case 'first': // 如果为first,则聚焦到第一个输入框\n current = 0\n autoFocus(allFocusEls[current])\n break;\n case 'last': // 如果为last,则聚焦到最后一个输入框\n current = focusLen - 1\n autoFocus(allFocusEls[current])\n break\n case 'jump': // 如果为jump,则获取focusIndex,跳转到对应的输入框\n if (current >= 0 && current < focusLen) {\n autoFocus(allFocusEls[current])\n }\n break\n }\n}\n\nconst getTargetIndex = function(el,collection) {\n const target = document.querySelector(`[data-index=\"${el.dataset.current}\"]`)\n return Array.from(collection).indexOf(target)\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/auto-focus.js","module.exports = { \"default\": require(\"core-js/library/fn/array/from\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/array/from.js\n// module id = 2\n// module chunks = 0","require('../../modules/es6.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/array/from.js\n// module id = 3\n// module chunks = 0","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.string.iterator.js\n// module id = 4\n// module chunks = 0","var toInteger = require('./_to-integer')\n , defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_string-at.js\n// module id = 5\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-integer.js\n// module id = 6\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_defined.js\n// module id = 7\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , hide = require('./_hide')\n , has = require('./_has')\n , Iterators = require('./_iterators')\n , $iterCreate = require('./_iter-create')\n , setToStringTag = require('./_set-to-string-tag')\n , getPrototypeOf = require('./_object-gpo')\n , ITERATOR = require('./_wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n , methods, key, IteratorPrototype;\n // Fix native\n if($anyNative){\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n if(IteratorPrototype !== Object.prototype){\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-define.js\n// module id = 8\n// module chunks = 0","module.exports = true;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_library.js\n// module id = 9\n// module chunks = 0","var global = require('./_global')\n , core = require('./_core')\n , ctx = require('./_ctx')\n , hide = require('./_hide')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , IS_WRAP = type & $export.W\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , expProto = exports[PROTOTYPE]\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]\n , key, own, out;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if(own && key in exports)continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function(C){\n var F = function(a, b, c){\n if(this instanceof C){\n switch(arguments.length){\n case 0: return new C;\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if(IS_PROTO){\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library` \nmodule.exports = $export;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_export.js\n// module id = 10\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_global.js\n// module id = 11\n// module chunks = 0","var core = module.exports = {version: '2.4.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_core.js\n// module id = 12\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_ctx.js\n// module id = 13\n// module chunks = 0","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_a-function.js\n// module id = 14\n// module chunks = 0","var dP = require('./_object-dp')\n , createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function(object, key, value){\n return dP.f(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_hide.js\n// module id = 15\n// module chunks = 0","var anObject = require('./_an-object')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , toPrimitive = require('./_to-primitive')\n , dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if(IE8_DOM_DEFINE)try {\n return dP(O, P, Attributes);\n } catch(e){ /* empty */ }\n if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n if('value' in Attributes)O[P] = Attributes.value;\n return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-dp.js\n// module id = 16\n// module chunks = 0","var isObject = require('./_is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_an-object.js\n// module id = 17\n// module chunks = 0","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_is-object.js\n// module id = 18\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\n return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_ie8-dom-define.js\n// module id = 19\n// module chunks = 0","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function(){\n return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_descriptors.js\n// module id = 20\n// module chunks = 0","module.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_fails.js\n// module id = 21\n// module chunks = 0","var isObject = require('./_is-object')\n , document = require('./_global').document\n // in old IE typeof document.createElement is 'object'\n , is = isObject(document) && isObject(document.createElement);\nmodule.exports = function(it){\n return is ? document.createElement(it) : {};\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_dom-create.js\n// module id = 22\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n if(!isObject(it))return it;\n var fn, val;\n if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-primitive.js\n// module id = 23\n// module chunks = 0","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_property-desc.js\n// module id = 24\n// module chunks = 0","module.exports = require('./_hide');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_redefine.js\n// module id = 25\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_has.js\n// module id = 26\n// module chunks = 0","module.exports = {};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iterators.js\n// module id = 27\n// module chunks = 0","'use strict';\nvar create = require('./_object-create')\n , descriptor = require('./_property-desc')\n , setToStringTag = require('./_set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-create.js\n// module id = 28\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object')\n , dPs = require('./_object-dps')\n , enumBugKeys = require('./_enum-bug-keys')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , Empty = function(){ /* empty */ }\n , PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function(){\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe')\n , i = enumBugKeys.length\n , lt = '<'\n , gt = '>'\n , iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties){\n var result;\n if(O !== null){\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty;\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-create.js\n// module id = 29\n// module chunks = 0","var dP = require('./_object-dp')\n , anObject = require('./_an-object')\n , getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){\n anObject(O);\n var keys = getKeys(Properties)\n , length = keys.length\n , i = 0\n , P;\n while(length > i)dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-dps.js\n// module id = 30\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal')\n , enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O){\n return $keys(O, enumBugKeys);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-keys.js\n// module id = 31\n// module chunks = 0","var has = require('./_has')\n , toIObject = require('./_to-iobject')\n , arrayIndexOf = require('./_array-includes')(false)\n , IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function(object, names){\n var O = toIObject(object)\n , i = 0\n , result = []\n , key;\n for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while(names.length > i)if(has(O, key = names[i++])){\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-keys-internal.js\n// module id = 32\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject')\n , defined = require('./_defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-iobject.js\n// module id = 33\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iobject.js\n// module id = 34\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_cof.js\n// module id = 35\n// module chunks = 0","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n return function($this, el, fromIndex){\n var O = toIObject($this)\n , length = toLength(O.length)\n , index = toIndex(fromIndex, length)\n , value;\n // Array#includes uses SameValueZero equality algorithm\n if(IS_INCLUDES && el != el)while(length > index){\n value = O[index++];\n if(value != value)return true;\n // Array#toIndex ignores holes, Array#includes - not\n } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n if(O[index] === el)return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_array-includes.js\n// module id = 36\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer')\n , min = Math.min;\nmodule.exports = function(it){\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-length.js\n// module id = 37\n// module chunks = 0","var toInteger = require('./_to-integer')\n , max = Math.max\n , min = Math.min;\nmodule.exports = function(index, length){\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-index.js\n// module id = 38\n// module chunks = 0","var shared = require('./_shared')('keys')\n , uid = require('./_uid');\nmodule.exports = function(key){\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_shared-key.js\n// module id = 39\n// module chunks = 0","var global = require('./_global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_shared.js\n// module id = 40\n// module chunks = 0","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_uid.js\n// module id = 41\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_enum-bug-keys.js\n// module id = 42\n// module chunks = 0","module.exports = require('./_global').document && document.documentElement;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_html.js\n// module id = 43\n// module chunks = 0","var def = require('./_object-dp').f\n , has = require('./_has')\n , TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_set-to-string-tag.js\n// module id = 44\n// module chunks = 0","var store = require('./_shared')('wks')\n , uid = require('./_uid')\n , Symbol = require('./_global').Symbol\n , USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function(name){\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_wks.js\n// module id = 45\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has')\n , toObject = require('./_to-object')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function(O){\n O = toObject(O);\n if(has(O, IE_PROTO))return O[IE_PROTO];\n if(typeof O.constructor == 'function' && O instanceof O.constructor){\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-gpo.js\n// module id = 46\n// module chunks = 0","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-object.js\n// module id = 47\n// module chunks = 0","'use strict';\nvar ctx = require('./_ctx')\n , $export = require('./_export')\n , toObject = require('./_to-object')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , toLength = require('./_to-length')\n , createProperty = require('./_create-property')\n , getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function(iter){ Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){\n var O = toObject(arrayLike)\n , C = typeof this == 'function' ? this : Array\n , aLen = arguments.length\n , mapfn = aLen > 1 ? arguments[1] : undefined\n , mapping = mapfn !== undefined\n , index = 0\n , iterFn = getIterFn(O)\n , length, result, step, iterator;\n if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){\n for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for(result = new C(length); length > index; index++){\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.array.from.js\n// module id = 48\n// module chunks = 0","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function(iterator, fn, value, entries){\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch(e){\n var ret = iterator['return'];\n if(ret !== undefined)anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-call.js\n// module id = 49\n// module chunks = 0","// check on default Array iterator\nvar Iterators = require('./_iterators')\n , ITERATOR = require('./_wks')('iterator')\n , ArrayProto = Array.prototype;\n\nmodule.exports = function(it){\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_is-array-iter.js\n// module id = 50\n// module chunks = 0","'use strict';\nvar $defineProperty = require('./_object-dp')\n , createDesc = require('./_property-desc');\n\nmodule.exports = function(object, index, value){\n if(index in object)$defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_create-property.js\n// module id = 51\n// module chunks = 0","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function(it){\n if(it != undefined)return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/core.get-iterator-method.js\n// module id = 52\n// module chunks = 0","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof')\n , TAG = require('./_wks')('toStringTag')\n // ES3 wrong here\n , ARG = cof(function(){ return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function(it, key){\n try {\n return it[key];\n } catch(e){ /* empty */ }\n};\n\nmodule.exports = function(it){\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_classof.js\n// module id = 53\n// module chunks = 0","var ITERATOR = require('./_wks')('iterator')\n , SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function(){ SAFE_CLOSING = true; };\n Array.from(riter, function(){ throw 2; });\n} catch(e){ /* empty */ }\n\nmodule.exports = function(exec, skipClosing){\n if(!skipClosing && !SAFE_CLOSING)return false;\n var safe = false;\n try {\n var arr = [7]\n , iter = arr[ITERATOR]();\n iter.next = function(){ return {done: safe = true}; };\n arr[ITERATOR] = function(){ return iter; };\n exec(arr);\n } catch(e){ /* empty */ }\n return safe;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-detect.js\n// module id = 54\n// module chunks = 0"],"sourceRoot":""}
--------------------------------------------------------------------------------
/example/example.vue:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
13 |
14 |
--------------------------------------------------------------------------------
/main.js:
--------------------------------------------------------------------------------
1 | import autoFocus from './src/auto-focus'
2 |
3 | const install = function (Vue) {
4 | if (install.installed) return;
5 | Vue.directive('auto-focus',autoFocus)
6 | }
7 |
8 |
9 | if (typeof window !== 'undefined' && window.Vue) {
10 | install(window.Vue);
11 | };
12 |
13 |
14 | export default {
15 | install,
16 | }
17 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-auto-focus",
3 | "version": "1.0.0",
4 | "description": "A vue directive that can let you control your input and textarea auto focus very easily!",
5 | "main": "dist/build.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1",
8 | "mb": "export PRODUCTION=1 && webpack --progress --hide-modules",
9 | "wb": "set PRODUCTION=1 && webpack --progress --hide-modules",
10 | "dev": "webpack-dev-server --progress --profile --colors --inline",
11 | "port": "webpack-dev-server --progress --colors --inline --port 9090 ",
12 | "ip": "webpack-dev-server --progress --profile --colors --inline --host=192.168.88.106 --port 9000"
13 | },
14 | "repository": {
15 | "type": "git",
16 | "url": "https://github.com/yeyuqiudeng/vue-auto-focus.git"
17 | },
18 | "bugs": {
19 | "url": "https://github.com/yeyuqiudeng/vue-auto-focus/issues"
20 | },
21 | "homepage": "https://github.com/yeyuqiudeng/vue-auto-focus#readme",
22 | "keywords": [
23 | "vue-auto-focus",
24 | "auto focus",
25 | "vue directive",
26 | "vue"
27 | ],
28 | "devDependencies": {
29 | "babel-core": "^6.18.0",
30 | "babel-loader": "^6.2.7",
31 | "babel-plugin-component": "^0.5.1",
32 | "babel-plugin-transform-runtime": "^6.15.0",
33 | "babel-preset-es2015": "^6.18.0",
34 | "babel-preset-stage-2": "^6.18.0",
35 | "babel-runtime": "^6.18.0",
36 | "vue-hot-reload-api": "^2.0.6",
37 | "vue-loader": "^9.9.5",
38 | "webpack": "^1.13.3"
39 | },
40 | "author": {
41 | "name": "Hefty",
42 | "email": "yeyuqiudeng@gmail.com"
43 | },
44 | "license": "MIT"
45 | }
46 |
--------------------------------------------------------------------------------
/src/auto-focus.js:
--------------------------------------------------------------------------------
1 | /**
2 | * 该指令用于设定自动聚焦,使用时,需要聚焦的元素必须设置data-index属性,
3 | * 用法 父元素 v-auto-focus="focusCtrl" :data-action="actionType" :data-current="focusIndex"
4 | * 需要聚焦的元素需要设置索引 data-index="index"
5 | */
6 | export default {
7 | /**
8 | * 进入页面时,根据设置的data-index索引值,聚焦到对应的输入框
9 | * @param el
10 | */
11 | inserted: function (el) {
12 | const allFocusEls = getAllFocusEls(el) // 获取需要聚焦的input元素组
13 | let current = getTargetIndex(el,allFocusEls)
14 | if (!current || current < 0 || current >= allFocusEls.length) { // 如果没有设置data-current,或者current的数值范围不符合要求,则默认聚焦到第一个输入框
15 | current = 0
16 | }
17 | const currentEl = allFocusEls[current]
18 |
19 | autoFocus(currentEl)
20 | },
21 | /**
22 | * 更新时,如果focusCtrl有变动,则根据actionType来判断聚焦的行为,聚焦到对应的元素
23 | * @param el
24 | * @param value
25 | * @param oldValue
26 | */
27 | update: function (el,{value,oldValue}) {
28 | if (value !== oldValue) {
29 | focusCtrl(el)
30 | }
31 | },
32 | }
33 |
34 | /**
35 | * 自动聚焦到对应的input
36 | * @param focusEl {Node} 需要聚焦的元素对象
37 | * 如果当前的元素不为input或textarea,则获取其为input或textarea的子元素
38 | */
39 | const autoFocus = function (focusEl) {
40 | let elInput = focusEl
41 | if (['INPUT','TEXTAREA'].indexOf(focusEl.tagName.toUpperCase()) === -1) {
42 | elInput = focusEl.querySelector('input,textarea')
43 | }
44 | elInput && elInput.focus()
45 | }
46 | /**
47 | * 获取需要聚焦的所有元素
48 | * @param el {Node} 指令挂载的元素
49 | * @returns {NodeList} 需要聚焦的元素列表
50 | */
51 | const getAllFocusEls = function (el) {
52 | return el.querySelectorAll('[data-index]')
53 | }
54 |
55 | /**
56 | * 聚焦行为控制
57 | * next 聚焦到下一个元素
58 | * prev 聚焦到上一个元素
59 | * first 聚焦到第一个元素
60 | * last 聚焦到最后一个元素
61 | * jump 跳转到指定的元素
62 | * @param el
63 | */
64 | const focusCtrl = function (el) {
65 | const action = el.dataset.action
66 | const allFocusEls = getAllFocusEls(el)
67 | const focusLen = allFocusEls.length
68 | let current = getTargetIndex(el,allFocusEls)
69 | switch (action) {
70 | case 'next': // 如果action为next,则聚焦到下一个输入框
71 | if (current >= focusLen - 1) {
72 | current = focusLen - 1
73 | } else {
74 | current++
75 | }
76 | autoFocus(allFocusEls[current])
77 | break
78 | case 'prev': // 如果action为prev,则聚焦到上一个输入框
79 | if (current <= 0) {
80 | current = 0
81 | } else {
82 | current--
83 | }
84 | autoFocus(allFocusEls[current])
85 | break
86 | case 'first': // 如果为first,则聚焦到第一个输入框
87 | current = 0
88 | autoFocus(allFocusEls[current])
89 | break;
90 | case 'last': // 如果为last,则聚焦到最后一个输入框
91 | current = focusLen - 1
92 | autoFocus(allFocusEls[current])
93 | break
94 | case 'jump': // 如果为jump,则获取focusIndex,跳转到对应的输入框
95 | if (current >= 0 && current < focusLen) {
96 | autoFocus(allFocusEls[current])
97 | }
98 | break
99 | }
100 | }
101 |
102 | const getTargetIndex = function(el,collection) {
103 | const target = document.querySelector(`[data-index="${el.dataset.current}"]`)
104 | return Array.from(collection).indexOf(target)
105 | }
106 |
--------------------------------------------------------------------------------
/webpack.config.js:
--------------------------------------------------------------------------------
1 | // // 先清空 build 文件夹下的文件
2 | var buildFolder = 'dist'
3 | var fs = require('fs'),
4 | buildPath = './' + buildFolder + '/',
5 | folder_exists = fs.existsSync(buildPath)
6 |
7 | if (folder_exists) {
8 | var dirList = fs.readdirSync(buildPath)
9 | dirList.forEach(function (fileName) {
10 | fs.unlinkSync(buildPath + fileName)
11 | })
12 | console.log("clearing " + buildPath)
13 | }
14 |
15 | var webpack = require('webpack')
16 | var plugins = []
17 | var devtool = false // 是否开启source-map
18 | if (process.env.PRODUCTION) {
19 | // 压缩
20 | plugins.push(new webpack.optimize.UglifyJsPlugin({
21 | compress: {
22 | warnings: false,
23 | drop_debugger: true,
24 | drop_console: true,
25 | }
26 | }))
27 | devtool = '#source-map' // 生产环境不开启source-map
28 | } else {
29 | devtool = '#eval-source-map'
30 | }
31 |
32 | module.exports = {
33 | entry: {
34 | build: './main.js'
35 | },
36 | output: {
37 | path: './' + buildFolder,
38 | publicPath: buildFolder + '/',
39 | filename: '[name].js',
40 | libraryTarget: "commonjs2",
41 | },
42 | module: {
43 | loaders: [
44 | // 加载vue组件,并将css全部整合到一个style.css里面
45 | // 但是使用这种方式后 原先可以在vue组件中 在style里面加入 scoped 就不能用了,
46 | // 好处是使用了cssnext,那么样式按照标准的来写就行了,会自动生成兼容代码 http://cssnext.io/playground/
47 | {
48 | test: /\.vue$/,
49 | loader: 'vue'
50 | },
51 | {
52 | test: /\.js$/,
53 | loader: 'babel',
54 | exclude: /node_modules/
55 | },
56 | ]
57 | },
58 | babel: {
59 | presets: ['es2015'],
60 | plugins: ['transform-runtime']
61 | },
62 | plugins: plugins,
63 | devtool: devtool,
64 | }
--------------------------------------------------------------------------------