├── .gitignore ├── LICENSE ├── README.md ├── docs ├── app.js ├── app.js.map ├── css │ ├── app.0baae598.css │ └── plugin.0baae598.css ├── favicon.ico ├── index.html ├── manifest.js ├── manifest.js.map ├── plugin.js ├── plugin.js.map ├── vendor.js └── vendor.js.map ├── logo ├── 144px.svg ├── 16px.svg ├── 256 horizontal.svg ├── 256px.svg ├── 44px.svg ├── 512 horizontal.svg ├── 512px.svg ├── 72px.svg └── horizontal.svg ├── package-lock.json ├── package.json ├── public ├── favicon.ico └── index.html ├── src ├── Demo.vue ├── components │ ├── Chord.vue │ ├── Note.vue │ ├── Part.vue │ ├── Rest.vue │ ├── Sequence.vue │ └── Song.vue ├── demo.js ├── examples │ ├── HotCrossBuns.vue │ └── LaCucaracha.vue └── plugin.js └── vue.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | 4 | # local env files 5 | .env.local 6 | .env.*.local 7 | 8 | # Log files 9 | npm-debug.log* 10 | yarn-debug.log* 11 | yarn-error.log* 12 | 13 | # Editor directories and files 14 | .idea 15 | .vscode 16 | *.suo 17 | *.ntvs* 18 | *.njsproj 19 | *.sln 20 | 21 | # vue-cli inspected webpack config 22 | inspect.js -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Isaac Lyman 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. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 |

4 | 5 | # Viano 6 | 7 | A toy that lets you write songs using Vue components. 8 | 9 | Targets the Web Audio API. Most compatible with up-to-date Chrome. 10 | 11 | Uses [blackswan.js](https://github.com/isaaclyman/blackswan-js). 12 | 13 | ## Overview 14 | 15 | This is not a great music composition tool, but it is a fun toy. Your songs will sound like an '80s ringtone played on a miscellaneous woodwind. Oh well. 16 | 17 | This is also a proof-of-concept for using Vue component markup as a tool for writing declarative code in a domain-specific language. 18 | 19 | Probably don't use this in production code. 20 | 21 | ## Installation 22 | 23 | Viano isn't published on NPM and isn't set up for inclusion in other projects. To play with it: clone the repository, `npm install`, `npm run serve`. src/Demo.vue currently includes the "La Cucaracha" player, but you can add other players for your own songs (PRs always welcome). 24 | 25 | ## Usage 26 | 27 | To write a song in Viano you'll need to understand some basic music theory, such as the names of the notes (e.g. "c4") and note values (e.g. "quarter note"). 28 | 29 | The first line of "La Cucaracha" in Viano looks like this: 30 | 31 | ```html 32 | 33 | 34 | 35 | La cuca- 36 | ra- 37 | cha 38 | La cuca- 39 | ra- 40 | cha 41 | 42 | ya 43 | no 44 | puede 45 | cami- 46 | nar 47 | 48 | 49 | 50 | 51 | ``` 52 | 53 | ### `` 54 | 55 | This element is the root of the Viano code. It is the only Viano element to have visible markup associated with it: a simple play/stop control. 56 | 57 | Attributes: 58 | 59 | - `title`: (optional: default 'Untitled') a string. Will be displayed next to the play/stop control. 60 | - `tempo`: (optional: default 120) a number. The beats per minute for this song. 61 | - `time-signature`: (optional: default [4, 4]) an array of two numbers. The time signature for the song, where [4, 4] is understood as 4/4 time. 62 | 63 | ### `` 64 | 65 | This is the only element that can be inside of a ``. It indicates the measure at which the music it contains should start. It can contain a ``, ``, ``, or ``. 66 | 67 | Attributes: 68 | 69 | - `measure`: (optional: default 0) a number. The measure where the music should start. 0 corresponds to the beginning of the first measure. 70 | 71 | ### `` 72 | 73 | This element contains a series of ``, ``, and `` which will be played in order. 74 | 75 | Attributes: 76 | 77 | - `repeat`: (optional) a number. If present, indicates the number of times in a row that the sequence should be repeated. 78 | 79 | ### `` 80 | 81 | This element represents a single note played for a certain amount of time. 82 | 83 | Attributes: 84 | 85 | - `name`: (required) a string. The note between a0 and c8 which should be played. 86 | - `value`: (required) a string ("1/4") or number (0.25). The note value, where "1/4" is a quarter note. 87 | - `repeat`: (optional) a number. See the attribute of the same name on ``. 88 | - `styles`: (optional) an array of blackswan-js style values. See [the blackswan-js docs](https://github.com/isaaclyman/blackswan-js#styles) for a full list. 89 | 90 | ### `` 91 | 92 | This element represents a rest (a gap between notes played) for a certain amount of time. 93 | 94 | Attributes: 95 | 96 | - `value`: (required) a string or number. See the attribute of the same name on ``. 97 | 98 | ### `` 99 | 100 | This element represents one or more notes played simultaneously for a certain amount of time. 101 | 102 | Attributes: 103 | 104 | - `notes`: (required) a string ("c4 e4 g4") or array (['c4', 'e4', 'g4']). 105 | - `repeat`, `styles`, and `value`: see the attributes of the same name on ``. 106 | 107 | ## Contributing 108 | 109 | There are lots of opportunities to contribute in this repository. You can submit a PR adding a new song to src/Demo.vue, fixing a bug, adding tests, and so forth. There aren't any rules about branch names, commit messages, or PR descriptions. Just describe what you're doing, be nice, and try to follow the project style. 110 | 111 | If this is your first open-source PR, let me know and I'll try to be extra helpful. 112 | 113 | If you know your way around the Web Audio API or synthesizers in general, you're invited to contribute to [blackswan.js](https://github.com/isaaclyman/blackswan-js). 114 | 115 | Thanks to [Mirza Zulfan](https://github.com/mirzazulfan) for creating the project logo. 116 | -------------------------------------------------------------------------------- /docs/app.js: -------------------------------------------------------------------------------- 1 | webpackJsonp([1],{"0gc2":function(e,t){},"19fI":function(e,t){},"25dj":function(e,t){},"5wv1":function(e,t){},"B9+v":function(e,t){},Iy1A:function(e,t){},OIWV:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r("/5sW"),a=r("wUnb"),s=r("hbWO"),i=r("oU1w"),u=r("zGow"),o=r("Of2q"),c={components:{Song:a["a"],Part:s["a"],Sequence:i["a"],Note:u["a"],Rest:o["a"]}},l=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("Song",{attrs:{title:"La cucaracha",tempo:200,"time-signature":[4,4]}},[r("Part",{attrs:{measure:0}},[r("Sequence",[r("Note",{attrs:{name:"c4",value:"1/8",repeat:3}},[e._v(" La cuca-\n ")]),r("Note",{attrs:{name:"f4",value:"3/8"}},[e._v(" ra-\n ")]),r("Note",{attrs:{name:"a4",value:"1/4"}},[e._v(" cha\n ")]),r("Note",{attrs:{name:"c4",value:"1/8",repeat:3}},[e._v(" La cuca-\n ")]),r("Note",{attrs:{name:"f4",value:"3/8"}},[e._v(" ra-\n ")]),r("Note",{attrs:{name:"a4",value:"1/4"}},[e._v(" cha\n ")]),r("Rest",{attrs:{value:"3/8"}}),r("Note",{attrs:{name:"f4",value:"1/4"}},[e._v(" ya\n ")]),r("Note",{attrs:{name:"f4",value:"1/8"}},[e._v(" no\n ")]),r("Note",{attrs:{name:"e4",value:"1/8",repeat:2}},[e._v(" puede\n ")]),r("Note",{attrs:{name:"d4",value:"1/8",repeat:2}},[e._v(" cami-\n ")]),r("Note",{attrs:{name:"c4",value:"3/8"}},[e._v(" nar\n ")])],1)],1)],1)},v=[],f=r("XyMi");function p(e){r("Iy1A")}var h=!1,m=p,d=null,g=null,y=Object(f["a"])(c,l,v,h,m,d,g),N=y.exports,_={components:{Song:a["a"],Part:s["a"],Sequence:i["a"],Note:u["a"],Rest:o["a"]}},b=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("Song",{attrs:{title:"Hot cross buns",tempo:150,"time-signature":[4,4]}},[r("Part",{attrs:{measure:0}},[r("Sequence",{attrs:{repeat:2}},[r("Note",{attrs:{name:"e4",value:"1/4"}},[e._v(" Hot\n ")]),r("Note",{attrs:{name:"d4",value:"1/4"}},[e._v(" cross\n ")]),r("Note",{attrs:{name:"c4",value:"1/4"}},[e._v(" buns\n ")]),r("Rest",{attrs:{value:"1/4"}})],1)],1),r("Part",{attrs:{measure:2}},[r("Sequence",[r("Note",{attrs:{name:"c4",value:"1/8",repeat:4}},[e._v(" One a penny\n ")]),r("Note",{attrs:{name:"d4",value:"1/8",repeat:4}},[e._v(" Two a penny\n ")]),r("Note",{attrs:{name:"e4",value:"1/4"}},[e._v(" Hot\n ")]),r("Note",{attrs:{name:"d4",value:"1/4"}},[e._v(" cross\n ")]),r("Note",{attrs:{name:"c4",value:"1/4"}},[e._v(" buns\n ")]),r("Rest",{attrs:{value:"1/4"}})],1)],1)],1)},q=[];function w(e){r("5wv1")}var S=!1,I=w,E=null,R=null,x=Object(f["a"])(_,b,q,S,I,E,R),O=x.exports,j={name:"app",components:{LaCucaracha:N,HotCrossBuns:O}},C=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{attrs:{id:"app"}},[r("la-cucaracha"),r("hot-cross-buns")],1)},M=[];function V(e){r("19fI")}var P=!1,$=V,X="data-v-48922484",L=null,z=Object(f["a"])(j,C,M,P,$,X,L),U=z.exports;n["a"].config.productionTip=!1,new n["a"]({render:function(e){return e(U)}}).$mount("#app")},Of2q:function(e,t,r){"use strict";r("mJx5");var n=r("8aIh"),a=r.n(n),s=function(e){var t=e.split("/"),r=1===t.length?Number(t[0]):Number(t[0])/Number(t[1]);return r},i={created:function(){if("string"!==typeof this.value||isNaN(s(this.value))){if(!("number"===typeof this.value&&this.value>0))throw new Error('Invalid note value. Expected a value of format "1/4". Instead received: '.concat(this.value));this.noteValue=this.value}else this.noteValue=s(this.value)},data:function(){return{noteValue:null}},inject:["registerRest"],mounted:function(){var e=this;this.registerRest(function(){return a.a.rest(e.noteValue)})},props:{value:{required:!0}}},u=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span")},o=[],c=r("XyMi");function l(e){r("B9+v")}var v=!1,f=l,p=null,h=null,m=Object(c["a"])(i,u,o,v,f,p,h);t["a"]=m.exports},hbWO:function(e,t,r){"use strict";var n={created:function(){if(this.measure<0)throw new Error("Invalid measure. Expected a measure of 0 or greater. Instead received: ".concat(this.measure))},data:function(){return{toRegister:[]}},inject:["registerMeasure"],methods:{registerNote:function(e){this.toRegister.push(e())},registerSequence:function(e){this.toRegister.push(e())},registerChord:function(e){this.toRegister.push(e())}},mounted:function(){var e=this;this.toRegister.forEach(function(t){return e.registerMeasure(e.measure,t)})},props:{measure:{required:!1,default:0,type:Number}},provide:function(){return{registerChord:this.registerChord,registerNote:this.registerNote,registerSequence:this.registerSequence}}},a=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",[e._t("default")],2)},s=[],i=r("XyMi");function u(e){r("25dj")}var o=!1,c=u,l=null,v=null,f=Object(i["a"])(n,a,s,o,c,l,v);t["a"]=f.exports},mgLI:function(e,t){},oU1w:function(e,t,r){"use strict";r("tqSY");var n=r("8aIh"),a=r.n(n),s={data:function(){return{toRegister:[]}},inject:["registerSequence"],methods:{registerChord:function(e){this.toRegister.push(e)},registerNote:function(e){this.toRegister.push(e)},registerRest:function(e){this.toRegister.push(e)}},mounted:function(){var e=this.toRegister.slice();if(this.repeat)for(var t=1;t0))throw new Error('Invalid note value. Expected a value of format "1/4". Instead received: '.concat(this.value));this.noteValue=this.value}else this.noteValue=u(this.value);if(this.repeat<=0)throw new Error("Invalid note repeat value. Expected a value above 0. Instead received: ".concat(this.repeat))},data:function(){return{noteValue:null}},inject:["registerNote"],mounted:function(){for(var e=this,t=0;t\r\n \r\n \r\n \r\n La cuca-\r\n ra-\r\n cha\r\n La cuca-\r\n ra-\r\n cha\r\n \r\n ya\r\n no\r\n puede\r\n cami-\r\n nar\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/examples/LaCucaracha.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Song',{attrs:{\"title\":\"La cucaracha\",\"tempo\":200,\"time-signature\":[4, 4]}},[_c('Part',{attrs:{\"measure\":0}},[_c('Sequence',[_c('Note',{attrs:{\"name\":\"c4\",\"value\":\"1/8\",\"repeat\":3}},[_vm._v(\" La cuca-\\n \")]),_c('Note',{attrs:{\"name\":\"f4\",\"value\":\"3/8\"}},[_vm._v(\" ra-\\n \")]),_c('Note',{attrs:{\"name\":\"a4\",\"value\":\"1/4\"}},[_vm._v(\" cha\\n \")]),_c('Note',{attrs:{\"name\":\"c4\",\"value\":\"1/8\",\"repeat\":3}},[_vm._v(\" La cuca-\\n \")]),_c('Note',{attrs:{\"name\":\"f4\",\"value\":\"3/8\"}},[_vm._v(\" ra-\\n \")]),_c('Note',{attrs:{\"name\":\"a4\",\"value\":\"1/4\"}},[_vm._v(\" cha\\n \")]),_c('Rest',{attrs:{\"value\":\"3/8\"}}),_c('Note',{attrs:{\"name\":\"f4\",\"value\":\"1/4\"}},[_vm._v(\" ya\\n \")]),_c('Note',{attrs:{\"name\":\"f4\",\"value\":\"1/8\"}},[_vm._v(\" no\\n \")]),_c('Note',{attrs:{\"name\":\"e4\",\"value\":\"1/8\",\"repeat\":2}},[_vm._v(\" puede\\n \")]),_c('Note',{attrs:{\"name\":\"d4\",\"value\":\"1/8\",\"repeat\":2}},[_vm._v(\" cami-\\n \")]),_c('Note',{attrs:{\"name\":\"c4\",\"value\":\"3/8\"}},[_vm._v(\" nar\\n \")])],1)],1)],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-3d98e5de\",\"hasScoped\":false,\"optionsId\":\"0\",\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/examples/LaCucaracha.vue\n// module id = null\n// module chunks = ","function injectStyle (context) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":false,\\\"minimize\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./LaCucaracha.vue\")\n}\n/* script */\nexport * from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./LaCucaracha.vue\"\nimport __vue_script__ from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./LaCucaracha.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3d98e5de\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./LaCucaracha.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/examples/LaCucaracha.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/examples/HotCrossBuns.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Song',{attrs:{\"title\":\"Hot cross buns\",\"tempo\":150,\"time-signature\":[4, 4]}},[_c('Part',{attrs:{\"measure\":0}},[_c('Sequence',{attrs:{\"repeat\":2}},[_c('Note',{attrs:{\"name\":\"e4\",\"value\":\"1/4\"}},[_vm._v(\" Hot\\n \")]),_c('Note',{attrs:{\"name\":\"d4\",\"value\":\"1/4\"}},[_vm._v(\" cross\\n \")]),_c('Note',{attrs:{\"name\":\"c4\",\"value\":\"1/4\"}},[_vm._v(\" buns\\n \")]),_c('Rest',{attrs:{\"value\":\"1/4\"}})],1)],1),_c('Part',{attrs:{\"measure\":2}},[_c('Sequence',[_c('Note',{attrs:{\"name\":\"c4\",\"value\":\"1/8\",\"repeat\":4}},[_vm._v(\" One a penny\\n \")]),_c('Note',{attrs:{\"name\":\"d4\",\"value\":\"1/8\",\"repeat\":4}},[_vm._v(\" Two a penny\\n \")]),_c('Note',{attrs:{\"name\":\"e4\",\"value\":\"1/4\"}},[_vm._v(\" Hot\\n \")]),_c('Note',{attrs:{\"name\":\"d4\",\"value\":\"1/4\"}},[_vm._v(\" cross\\n \")]),_c('Note',{attrs:{\"name\":\"c4\",\"value\":\"1/4\"}},[_vm._v(\" buns\\n \")]),_c('Rest',{attrs:{\"value\":\"1/4\"}})],1)],1)],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-55f828b9\",\"hasScoped\":false,\"optionsId\":\"0\",\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/examples/HotCrossBuns.vue\n// module id = null\n// module chunks = ","function injectStyle (context) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":false,\\\"minimize\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./HotCrossBuns.vue\")\n}\n/* script */\nexport * from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./HotCrossBuns.vue\"\nimport __vue_script__ from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./HotCrossBuns.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-55f828b9\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./HotCrossBuns.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/examples/HotCrossBuns.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/Demo.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('la-cucaracha'),_c('hot-cross-buns')],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-48922484\",\"hasScoped\":true,\"optionsId\":\"0\",\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/Demo.vue\n// module id = null\n// module chunks = ","function injectStyle (context) {\n require(\"!!../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":false,\\\"minimize\\\":true}!../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"id\\\":\\\"data-v-48922484\\\",\\\"scoped\\\":true,\\\"sourceMap\\\":false}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./Demo.vue\")\n}\n/* script */\nexport * from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./Demo.vue\"\nimport __vue_script__ from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./Demo.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-48922484\\\",\\\"hasScoped\\\":true,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./Demo.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-48922484\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/Demo.vue\n// module id = null\n// module chunks = ","import Vue from 'vue'\nimport Demo from './Demo.vue'\n\nVue.config.productionTip = false\n\nnew Vue({\n render: h => h(Demo)\n}).$mount('#app')\n\n\n\n// WEBPACK FOOTER //\n// ./src/demo.js","\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/Rest.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span')}\nvar staticRenderFns = []\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-19518650\",\"hasScoped\":false,\"optionsId\":\"0\",\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/Rest.vue\n// module id = null\n// module chunks = ","function injectStyle (context) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":false,\\\"minimize\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Rest.vue\")\n}\n/* script */\nexport * from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Rest.vue\"\nimport __vue_script__ from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Rest.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-19518650\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Rest.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Rest.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/Part.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-48d3b934\",\"hasScoped\":false,\"optionsId\":\"0\",\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/Part.vue\n// module id = null\n// module chunks = ","function injectStyle (context) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":false,\\\"minimize\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Part.vue\")\n}\n/* script */\nexport * from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Part.vue\"\nimport __vue_script__ from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Part.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-48d3b934\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Part.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Part.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/Sequence.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-672afb6f\",\"hasScoped\":false,\"optionsId\":\"0\",\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/Sequence.vue\n// module id = null\n// module chunks = ","function injectStyle (context) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":false,\\\"minimize\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Sequence.vue\")\n}\n/* script */\nexport * from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Sequence.vue\"\nimport __vue_script__ from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Sequence.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-672afb6f\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Sequence.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Sequence.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/Song.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"player\"},[_c('div',{staticClass:\"controls\"},[_c('div',{staticClass:\"play-control\",class:{ 'stop': _vm.playing },on:{\"click\":function($event){_vm.togglePlay()}}})]),_c('div',{staticClass:\"title\",domProps:{\"textContent\":_vm._s(_vm.title)}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}]},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-52cf5904\",\"hasScoped\":true,\"optionsId\":\"0\",\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/Song.vue\n// module id = null\n// module chunks = ","function injectStyle (context) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":false,\\\"minimize\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Song.vue\")\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":false,\\\"minimize\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"id\\\":\\\"data-v-52cf5904\\\",\\\"scoped\\\":true,\\\"sourceMap\\\":false}!sass-loader?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=1!./Song.vue\")\n}\n/* script */\nexport * from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Song.vue\"\nimport __vue_script__ from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Song.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-52cf5904\\\",\\\"hasScoped\\\":true,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Song.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-52cf5904\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Song.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/Note.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span')}\nvar staticRenderFns = []\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-930cbaf2\",\"hasScoped\":false,\"optionsId\":\"0\",\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/Note.vue\n// module id = null\n// module chunks = ","function injectStyle (context) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":false,\\\"minimize\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Note.vue\")\n}\n/* script */\nexport * from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Note.vue\"\nimport __vue_script__ from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Note.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-930cbaf2\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Note.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Note.vue\n// module id = null\n// module chunks = "],"sourceRoot":""} -------------------------------------------------------------------------------- /docs/css/app.0baae598.css: -------------------------------------------------------------------------------- 1 | body,html{border:none;margin:0;padding:0}*{box-sizing:border-box}.player[data-v-52cf5904]{background-color:#eee;height:3em;margin:1px;width:15em}.controls[data-v-52cf5904],.player[data-v-52cf5904]{display:-ms-flexbox;display:flex}.controls[data-v-52cf5904]{-ms-flex-align:center;align-items:center;border-right:1px solid #aaa;height:100%;-ms-flex-pack:center;justify-content:center;padding:.3em;width:3em}.play-control[data-v-52cf5904]{background-color:transparent;border-bottom:.7em solid transparent;border-left:1em solid #888;border-right:0 solid transparent;border-top:.7em solid transparent;cursor:pointer;display:block;transition:border-bottom-width .3s ease-out,border-left-width .3s,border-right-width .3s,border-top-width .3s ease-out,height .3s ease-out;height:0;width:0}.play-control.stop[data-v-52cf5904]{border-bottom-width:0;border-top-width:0;height:1em}.title[data-v-52cf5904]{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;height:100%;-ms-flex-pack:center;justify-content:center} -------------------------------------------------------------------------------- /docs/css/plugin.0baae598.css: -------------------------------------------------------------------------------- 1 | body,html{border:none;margin:0;padding:0}*{box-sizing:border-box}.player[data-v-52cf5904]{background-color:#eee;height:3em;margin:1px;width:15em}.controls[data-v-52cf5904],.player[data-v-52cf5904]{display:-ms-flexbox;display:flex}.controls[data-v-52cf5904]{-ms-flex-align:center;align-items:center;border-right:1px solid #aaa;height:100%;-ms-flex-pack:center;justify-content:center;padding:.3em;width:3em}.play-control[data-v-52cf5904]{background-color:transparent;border-bottom:.7em solid transparent;border-left:1em solid #888;border-right:0 solid transparent;border-top:.7em solid transparent;cursor:pointer;display:block;transition:border-bottom-width .3s ease-out,border-left-width .3s,border-right-width .3s,border-top-width .3s ease-out,height .3s ease-out;height:0;width:0}.play-control.stop[data-v-52cf5904]{border-bottom-width:0;border-top-width:0;height:1em}.title[data-v-52cf5904]{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;height:100%;-ms-flex-pack:center;justify-content:center} -------------------------------------------------------------------------------- /docs/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaaclyman/Viano/0dd3583ffe9a4b0a6dfbea1cc16fb3ceef585835/docs/favicon.ico -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | Viano
-------------------------------------------------------------------------------- /docs/manifest.js: -------------------------------------------------------------------------------- 1 | (function(n){var r=window["webpackJsonp"];window["webpackJsonp"]=function(e,u,c){for(var i,f,p,a=0,l=[];a0))throw new Error('Invalid note value. Expected a value of format "1/4". Instead received: '.concat(this.value));this.noteValue=this.value}else this.noteValue=s(this.value)},data:function(){return{noteValue:null}},inject:["registerRest"],mounted:function(){var e=this;this.registerRest(function(){return i.a.rest(e.noteValue)})},props:{value:{required:!0}}},o=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span")},u=[],c=r("XyMi");function l(e){r("B9+v")}var h=!1,f=l,d=null,p=null,v=Object(c["a"])(a,o,u,h,f,d,p);t["a"]=v.exports},hbWO:function(e,t,r){"use strict";var n={created:function(){if(this.measure<0)throw new Error("Invalid measure. Expected a measure of 0 or greater. Instead received: ".concat(this.measure))},data:function(){return{toRegister:[]}},inject:["registerMeasure"],methods:{registerNote:function(e){this.toRegister.push(e())},registerSequence:function(e){this.toRegister.push(e())},registerChord:function(e){this.toRegister.push(e())}},mounted:function(){var e=this;this.toRegister.forEach(function(t){return e.registerMeasure(e.measure,t)})},props:{measure:{required:!1,default:0,type:Number}},provide:function(){return{registerChord:this.registerChord,registerNote:this.registerNote,registerSequence:this.registerSequence}}},i=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",[e._t("default")],2)},s=[],a=r("XyMi");function o(e){r("25dj")}var u=!1,c=o,l=null,h=null,f=Object(a["a"])(n,i,s,u,c,l,h);t["a"]=f.exports},mgLI:function(e,t){},oU1w:function(e,t,r){"use strict";r("tqSY");var n=r("8aIh"),i=r.n(n),s={data:function(){return{toRegister:[]}},inject:["registerSequence"],methods:{registerChord:function(e){this.toRegister.push(e)},registerNote:function(e){this.toRegister.push(e)},registerRest:function(e){this.toRegister.push(e)}},mounted:function(){var e=this.toRegister.slice();if(this.repeat)for(var t=1;t0))throw new Error('Invalid note value. Expected a value of format "1/4". Instead received: '.concat(this.value));this.noteValue=this.value}else this.noteValue=o(this.value);if(this.repeat<=0)throw new Error("Invalid note repeat value. Expected a value above 0. Instead received: ".concat(this.repeat))},data:function(){return{noteValue:null}},inject:["registerNote"],mounted:function(){for(var e=this,t=0;t0)throw new Error("Invalid notes for chord. An element in the array was not a string. Received: ".concat(this.notes))}if(this.chordNotes=e,"string"!==typeof this.value||isNaN(f(this.value))){if(!("number"===typeof this.value&&this.value>0))throw new Error('Invalid note value. Expected a value of format "1/4". Instead received: '.concat(this.value));this.noteValue=this.value}else this.noteValue=f(this.value);if(this.repeat<=0)throw new Error("Invalid chord repeat value. Expected a value above 0. Instead received: ".concat(this.repeat))},data:function(){return{chordNotes:null,noteValue:null}},inject:["registerChord"],mounted:function(){for(var e=this,t=0;t\r\n \r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/Rest.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span')}\nvar staticRenderFns = []\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-19518650\",\"hasScoped\":false,\"optionsId\":\"0\",\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/Rest.vue\n// module id = null\n// module chunks = ","function injectStyle (context) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":false,\\\"minimize\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Rest.vue\")\n}\n/* script */\nexport * from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Rest.vue\"\nimport __vue_script__ from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Rest.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-19518650\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Rest.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Rest.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/Part.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-48d3b934\",\"hasScoped\":false,\"optionsId\":\"0\",\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/Part.vue\n// module id = null\n// module chunks = ","function injectStyle (context) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":false,\\\"minimize\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Part.vue\")\n}\n/* script */\nexport * from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Part.vue\"\nimport __vue_script__ from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Part.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-48d3b934\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Part.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Part.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/Sequence.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-672afb6f\",\"hasScoped\":false,\"optionsId\":\"0\",\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/Sequence.vue\n// module id = null\n// module chunks = ","function injectStyle (context) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":false,\\\"minimize\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Sequence.vue\")\n}\n/* script */\nexport * from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Sequence.vue\"\nimport __vue_script__ from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Sequence.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-672afb6f\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Sequence.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Sequence.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/Song.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"player\"},[_c('div',{staticClass:\"controls\"},[_c('div',{staticClass:\"play-control\",class:{ 'stop': _vm.playing },on:{\"click\":function($event){_vm.togglePlay()}}})]),_c('div',{staticClass:\"title\",domProps:{\"textContent\":_vm._s(_vm.title)}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}]},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-52cf5904\",\"hasScoped\":true,\"optionsId\":\"0\",\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/Song.vue\n// module id = null\n// module chunks = ","function injectStyle (context) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":false,\\\"minimize\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Song.vue\")\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":false,\\\"minimize\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"id\\\":\\\"data-v-52cf5904\\\",\\\"scoped\\\":true,\\\"sourceMap\\\":false}!sass-loader?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=1!./Song.vue\")\n}\n/* script */\nexport * from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Song.vue\"\nimport __vue_script__ from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Song.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-52cf5904\\\",\\\"hasScoped\\\":true,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Song.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-52cf5904\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Song.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/Note.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span')}\nvar staticRenderFns = []\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-930cbaf2\",\"hasScoped\":false,\"optionsId\":\"0\",\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/Note.vue\n// module id = null\n// module chunks = ","function injectStyle (context) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":false,\\\"minimize\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Note.vue\")\n}\n/* script */\nexport * from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Note.vue\"\nimport __vue_script__ from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Note.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-930cbaf2\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Note.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Note.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/Chord.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span')}\nvar staticRenderFns = []\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-0c31c252\",\"hasScoped\":false,\"optionsId\":\"0\",\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/Chord.vue\n// module id = null\n// module chunks = ","function injectStyle (context) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":false,\\\"minimize\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Chord.vue\")\n}\n/* script */\nexport * from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Chord.vue\"\nimport __vue_script__ from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"C:\\\\\\\\code\\\\\\\\Viano\\\\\\\\node_modules\\\\\\\\.cache\\\\\\\\cache-loader\\\"}!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Chord.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0c31c252\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Chord.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Chord.vue\n// module id = null\n// module chunks = ","import Song from './components/Song.vue'\r\nimport Part from './components/Part.vue'\r\nimport Sequence from './components/Sequence.vue'\r\nimport Note from './components/Note.vue'\r\nimport Rest from './components/Rest.vue'\r\nimport Chord from './components/Chord.vue'\r\n\r\nconst components = {\r\n Song, Part, Sequence, Note, Rest, Chord\r\n}\r\n\r\nconst viano = {\r\n install (Vue) {\r\n for (const comp in components) {\r\n Vue.component(comp, components[comp])\r\n }\r\n }\r\n}\r\n\r\nexport default viano\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plugin.js"],"sourceRoot":""} -------------------------------------------------------------------------------- /docs/vendor.js: -------------------------------------------------------------------------------- 1 | webpackJsonp([0],{"+E39":function(t,e,n){t.exports=!n("S82l")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},"+ZMJ":function(t,e,n){var r=n("lOnJ");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},"+tPU":function(t,e,n){n("xGkn");for(var r=n("7KvD"),i=n("hJx8"),o=n("/bQp"),a=n("dSzd")("toStringTag"),s="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),c=0;c=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(","),i=0;i-1)return t.splice(n,1)}}var g=Object.prototype.hasOwnProperty;function _(t,e){return g.call(t,e)}function b(t){var e=Object.create(null);return function(n){var r=e[n];return r||(e[n]=t(n))}}var x=/-(\w)/g,w=b(function(t){return t.replace(x,function(t,e){return e?e.toUpperCase():""})}),S=b(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),O=/\B([A-Z])/g,C=b(function(t){return t.replace(O,"-$1").toLowerCase()});function A(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 k(t,e){return t.bind(e)}var $=Function.prototype.bind?k:A;function T(t,e){e=e||0;var n=t.length-e,r=new Array(n);while(n--)r[n]=t[n+e];return r}function E(t,e){for(var n in e)t[n]=e[n];return t}function P(t){for(var e={},n=0;n0,tt=J&&J.indexOf("edge/")>0,et=(J&&J.indexOf("android"),J&&/iphone|ipad|ipod|ios/.test(J)||"ios"===X),nt=(J&&/chrome\/\d+/.test(J),{}.watch),rt=!1;if(H)try{var it={};Object.defineProperty(it,"passive",{get:function(){rt=!0}}),window.addEventListener("test-passive",null,it)}catch(t){}var ot=function(){return void 0===W&&(W=!H&&!K&&"undefined"!==typeof t&&"server"===t["process"].env.VUE_ENV),W},at=H&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function st(t){return"function"===typeof t&&/native code/.test(t.toString())}var ct,ut="undefined"!==typeof Symbol&&st(Symbol)&&"undefined"!==typeof Reflect&&st(Reflect.ownKeys);ct="undefined"!==typeof Set&&st(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 ft=M,lt=0,pt=function(){this.id=lt++,this.subs=[]};pt.prototype.addSub=function(t){this.subs.push(t)},pt.prototype.removeSub=function(t){y(this.subs,t)},pt.prototype.depend=function(){pt.target&&pt.target.addDep(this)},pt.prototype.notify=function(){for(var t=this.subs.slice(),e=0,n=t.length;e-1)if(o&&!_(i,"default"))a=!1;else if(""===a||a===C(t)){var c=Xt(String,i.type);(c<0||s0&&(a=Oe(a,(e||"")+"_"+n),Se(a[0])&&Se(u)&&(f[c]=_t(u.text+a[0].text),a.shift()),f.push.apply(f,a)):s(a)?Se(u)?f[c]=_t(u.text+a):""!==a&&f.push(_t(a)):Se(a)&&Se(u)?f[c]=_t(u.text+a.text):(o(t._isVList)&&i(a.tag)&&r(a.key)&&i(e)&&(a.key="__vlist"+e+"_"+n+"__"),f.push(a)));return f}function Ce(t,e){return(t.__esModule||ut&&"Module"===t[Symbol.toStringTag])&&(t=t.default),c(t)?e.extend(t):t}function Ae(t,e,n,r,i){var o=gt();return o.asyncFactory=t,o.asyncMeta={data:e,context:n,children:r,tag:i},o}function ke(t,e,n){if(o(t.error)&&i(t.errorComp))return t.errorComp;if(i(t.resolved))return t.resolved;if(o(t.loading)&&i(t.loadingComp))return t.loadingComp;if(!i(t.contexts)){var a=t.contexts=[n],s=!0,u=function(){for(var t=0,e=a.length;t1?T(n):n;for(var r=T(arguments,1),i=0,o=n.length;iYe&&Qe[n].id>t.id)n--;Qe.splice(n+1,0,t)}else Qe.push(t);Xe||(Xe=!0,fe(tn))}}var an=0,sn=function(t,e,n,r,i){this.vm=t,i&&(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=++an,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new ct,this.newDepIds=new ct,this.expression="","function"===typeof e?this.getter=e:(this.getter=G(e),this.getter||(this.getter=function(){})),this.value=this.lazy?void 0:this.get()};sn.prototype.get=function(){var t;vt(this);var e=this.vm;try{t=this.getter.call(e,e)}catch(t){if(!this.user)throw t;Jt(t,e,'getter for watcher "'+this.expression+'"')}finally{this.deep&&pe(t),ht(),this.cleanupDeps()}return t},sn.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))},sn.prototype.cleanupDeps=function(){var t=this,e=this.deps.length;while(e--){var n=t.deps[e];t.newDepIds.has(n.id)||n.removeSub(t)}var r=this.depIds;this.depIds=this.newDepIds,this.newDepIds=r,this.newDepIds.clear(),r=this.deps,this.deps=this.newDeps,this.newDeps=r,this.newDeps.length=0},sn.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():on(this)},sn.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||c(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(t){Jt(t,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},sn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},sn.prototype.depend=function(){var t=this,e=this.deps.length;while(e--)t.deps[e].depend()},sn.prototype.teardown=function(){var t=this;if(this.active){this.vm._isBeingDestroyed||y(this.vm._watchers,this);var e=this.deps.length;while(e--)t.deps[e].removeSub(t);this.active=!1}};var cn={enumerable:!0,configurable:!0,get:M,set:M};function un(t,e,n){cn.get=function(){return this[e][n]},cn.set=function(t){this[e][n]=t},Object.defineProperty(t,n,cn)}function fn(t){t._watchers=[];var e=t.$options;e.props&&ln(t,e.props),e.methods&&gn(t,e.methods),e.data?pn(t):Et(t._data={},!0),e.computed&&hn(t,e.computed),e.watch&&e.watch!==nt&&_n(t,e.watch)}function ln(t,e){var n=t.$options.propsData||{},r=t._props={},i=t.$options._propKeys=[],o=!t.$parent;o||At(!1);var a=function(o){i.push(o);var a=Wt(o,e,n,t);Pt(r,o,a),o in t||un(t,"_props",o)};for(var s in e)a(s);At(!0)}function pn(t){var e=t.$options.data;e=t._data="function"===typeof e?dn(e,t):e||{},f(e)||(e={});var n=Object.keys(e),r=t.$options.props,i=(t.$options.methods,n.length);while(i--){var o=n[i];0,r&&_(r,o)||B(o)||un(t,"_data",o)}Et(e,!0)}function dn(t,e){vt();try{return t.call(e,e)}catch(t){return Jt(t,e,"data()"),{}}finally{ht()}}var vn={lazy:!0};function hn(t,e){var n=t._computedWatchers=Object.create(null),r=ot();for(var i in e){var o=e[i],a="function"===typeof o?o:o.get;0,r||(n[i]=new sn(t,a||M,M,vn)),i in t||mn(t,i,o)}}function mn(t,e,n){var r=!ot();"function"===typeof n?(cn.get=r?yn(e):n,cn.set=M):(cn.get=n.get?r&&!1!==n.cache?yn(e):n.get:M,cn.set=n.set?n.set:M),Object.defineProperty(t,e,cn)}function yn(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),pt.target&&e.depend(),e.value}}function gn(t,e){t.$options.props;for(var n in e)t[n]=null==e[n]?M:$(e[n],t)}function _n(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var i=0;i=0||n.indexOf(t[i])<0)&&r.push(t[i]);return r}return t}function sr(t){this._init(t)}function cr(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=T(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 ur(t){t.mixin=function(t){return this.options=qt(this.options,t),this}}function fr(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,i=t._Ctor||(t._Ctor={});if(i[r])return i[r];var o=t.name||n.options.name;var a=function(t){this._init(t)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=e++,a.options=qt(n.options,t),a["super"]=n,a.options.props&&lr(a),a.options.computed&&pr(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,z.forEach(function(t){a[t]=n[t]}),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=E({},a.options),i[r]=a,a}}function lr(t){var e=t.options.props;for(var n in e)un(t.prototype,"_props",n)}function pr(t){var e=t.options.computed;for(var n in e)mn(t.prototype,n,e[n])}function dr(t){z.forEach(function(e){t[e]=function(t,n){return n?("component"===e&&f(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 hr(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"===typeof t?t.split(",").indexOf(e)>-1:!!l(t)&&t.test(e)}function mr(t,e){var n=t.cache,r=t.keys,i=t._vnode;for(var o in n){var a=n[o];if(a){var s=vr(a.componentOptions);s&&!e(s)&&yr(n,o,r,i)}}}function yr(t,e,n,r){var i=t[e];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),t[e]=null,y(n,e)}nr(sr),xn(sr),Ie(sr),Re(sr),tr(sr);var gr=[String,RegExp,Array],_r={name:"keep-alive",abstract:!0,props:{include:gr,exclude:gr,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){var t=this;for(var e in t.cache)yr(t.cache,e,t.keys)},mounted:function(){var t=this;this.$watch("include",function(e){mr(t,function(t){return hr(e,t)})}),this.$watch("exclude",function(e){mr(t,function(t){return!hr(e,t)})})},render:function(){var t=this.$slots.default,e=Te(t),n=e&&e.componentOptions;if(n){var r=vr(n),i=this,o=i.include,a=i.exclude;if(o&&(!r||!hr(o,r))||a&&r&&hr(a,r))return e;var s=this,c=s.cache,u=s.keys,f=null==e.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):e.key;c[f]?(e.componentInstance=c[f].componentInstance,y(u,f),u.push(f)):(c[f]=e,u.push(f),this.max&&u.length>parseInt(this.max)&&yr(c,u[0],u,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}},br={KeepAlive:_r};function xr(t){var e={get:function(){return U}};Object.defineProperty(t,"config",e),t.util={warn:ft,extend:E,mergeOptions:qt,defineReactive:Pt},t.set=Mt,t.delete=jt,t.nextTick=fe,t.options=Object.create(null),z.forEach(function(e){t.options[e+"s"]=Object.create(null)}),t.options._base=t,E(t.options.components,br),cr(t),ur(t),fr(t),dr(t)}xr(sr),Object.defineProperty(sr.prototype,"$isServer",{get:ot}),Object.defineProperty(sr.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(sr,"FunctionalRenderContext",{value:Dn}),sr.version="2.5.16";var wr=h("style,class"),Sr=h("input,textarea,option,select,progress"),Or=function(t,e,n){return"value"===n&&Sr(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},Cr=h("contenteditable,draggable,spellcheck"),Ar=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"),kr="http://www.w3.org/1999/xlink",$r=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Tr=function(t){return $r(t)?t.slice(6,t.length):""},Er=function(t){return null==t||!1===t};function Pr(t){var e=t.data,n=t,r=t;while(i(r.componentInstance))r=r.componentInstance._vnode,r&&r.data&&(e=Mr(r.data,e));while(i(n=n.parent))n&&n.data&&(e=Mr(e,n.data));return jr(e.staticClass,e.class)}function Mr(t,e){return{staticClass:Ir(t.staticClass,e.staticClass),class:i(t.class)?[t.class,e.class]:e.class}}function jr(t,e){return i(t)||i(e)?Ir(t,Lr(e)):""}function Ir(t,e){return t?e?t+" "+e:t:e||""}function Lr(t){return Array.isArray(t)?Nr(t):c(t)?Dr(t):"string"===typeof t?t:""}function Nr(t){for(var e,n="",r=0,o=t.length;r-1?Vr[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:Vr[t]=/HTMLUnknownElement/.test(e.toString())}var Gr=h("text,number,password,search,email,tel,url");function Wr(t){if("string"===typeof t){var e=document.querySelector(t);return e||document.createElement("div")}return t}function Qr(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 Hr(t,e){return document.createElementNS(Fr[t],e)}function Kr(t){return document.createTextNode(t)}function Xr(t){return document.createComment(t)}function Jr(t,e,n){t.insertBefore(e,n)}function Yr(t,e){t.removeChild(e)}function Zr(t,e){t.appendChild(e)}function ti(t){return t.parentNode}function ei(t){return t.nextSibling}function ni(t){return t.tagName}function ri(t,e){t.textContent=e}function ii(t,e){t.setAttribute(e,"")}var oi=Object.freeze({createElement:Qr,createElementNS:Hr,createTextNode:Kr,createComment:Xr,insertBefore:Jr,removeChild:Yr,appendChild:Zr,parentNode:ti,nextSibling:ei,tagName:ni,setTextContent:ri,setStyleScope:ii}),ai={create:function(t,e){si(e)},update:function(t,e){t.data.ref!==e.data.ref&&(si(t,!0),si(e))},destroy:function(t){si(t,!0)}};function si(t,e){var n=t.data.ref;if(i(n)){var r=t.context,o=t.componentInstance||t.elm,a=r.$refs;e?Array.isArray(a[n])?y(a[n],o):a[n]===o&&(a[n]=void 0):t.data.refInFor?Array.isArray(a[n])?a[n].indexOf(o)<0&&a[n].push(o):a[n]=[o]:a[n]=o}}var ci=new mt("",{},[]),ui=["create","activate","update","remove","destroy"];function fi(t,e){return t.key===e.key&&(t.tag===e.tag&&t.isComment===e.isComment&&i(t.data)===i(e.data)&&li(t,e)||o(t.isAsyncPlaceholder)&&t.asyncFactory===e.asyncFactory&&r(e.asyncFactory.error))}function li(t,e){if("input"!==t.tag)return!0;var n,r=i(n=t.data)&&i(n=n.attrs)&&n.type,o=i(n=e.data)&&i(n=n.attrs)&&n.type;return r===o||Gr(r)&&Gr(o)}function pi(t,e,n){var r,o,a={};for(r=e;r<=n;++r)o=t[r].key,i(o)&&(a[o]=r);return a}function di(t){var e,n,a={},c=t.modules,u=t.nodeOps;for(e=0;eh?(l=r(n[g+1])?null:n[g+1].elm,S(t,l,n,v,g,o)):v>g&&C(t,e,p,h)}function $(t,e,n,r){for(var o=n;o-1?Oi(t,e,n):Ar(e)?Er(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):Cr(e)?t.setAttribute(e,Er(n)||"false"===n?"false":"true"):$r(e)?Er(n)?t.removeAttributeNS(kr,Tr(e)):t.setAttributeNS(kr,e,n):Oi(t,e,n)}function Oi(t,e,n){if(Er(n))t.removeAttribute(e);else{if(Y&&!Z&&"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 Ci={create:wi,update:wi};function Ai(t,e){var n=e.elm,o=e.data,a=t.data;if(!(r(o.staticClass)&&r(o.class)&&(r(a)||r(a.staticClass)&&r(a.class)))){var s=Pr(e),c=n._transitionClasses;i(c)&&(s=Ir(s,Lr(c))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var ki,$i={create:Ai,update:Ai},Ti="__r",Ei="__c";function Pi(t){if(i(t[Ti])){var e=Y?"change":"input";t[e]=[].concat(t[Ti],t[e]||[]),delete t[Ti]}i(t[Ei])&&(t.change=[].concat(t[Ei],t.change||[]),delete t[Ei])}function Mi(t,e,n){var r=ki;return function i(){var o=t.apply(null,arguments);null!==o&&Ii(e,i,n,r)}}function ji(t,e,n,r,i){e=ue(e),n&&(e=Mi(e,t,r)),ki.addEventListener(t,e,rt?{capture:r,passive:i}:r)}function Ii(t,e,n,r){(r||ki).removeEventListener(t,e._withTask||e,n)}function Li(t,e){if(!r(t.data.on)||!r(e.data.on)){var n=e.data.on||{},i=t.data.on||{};ki=e.elm,Pi(n),ye(n,i,ji,Ii,e.context),ki=void 0}}var Ni={create:Li,update:Li};function Di(t,e){if(!r(t.data.domProps)||!r(e.data.domProps)){var n,o,a=e.elm,s=t.data.domProps||{},c=e.data.domProps||{};for(n in i(c.__ob__)&&(c=e.data.domProps=E({},c)),s)r(c[n])&&(a[n]="");for(n in c){if(o=c[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),o===s[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n){a._value=o;var u=r(o)?"":String(o);Fi(a,u)&&(a.value=u)}else a[n]=o}}}function Fi(t,e){return!t.composing&&("OPTION"===t.tagName||zi(t,e)||Ri(t,e))}function zi(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}function Ri(t,e){var n=t.value,r=t._vModifiers;if(i(r)){if(r.lazy)return!1;if(r.number)return v(n)!==v(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}var Ui={create:Di,update:Di},Bi=b(function(t){var e={},n=/;(?![^(]*\))/g,r=/:(.+)/;return t.split(n).forEach(function(t){if(t){var n=t.split(r);n.length>1&&(e[n[0].trim()]=n[1].trim())}}),e});function Vi(t){var e=qi(t.style);return t.staticStyle?E(t.staticStyle,e):e}function qi(t){return Array.isArray(t)?P(t):"string"===typeof t?Bi(t):t}function Gi(t,e){var n,r={};if(e){var i=t;while(i.componentInstance)i=i.componentInstance._vnode,i&&i.data&&(n=Vi(i.data))&&E(r,n)}(n=Vi(t.data))&&E(r,n);var o=t;while(o=o.parent)o.data&&(n=Vi(o.data))&&E(r,n);return r}var Wi,Qi=/^--/,Hi=/\s*!important$/,Ki=function(t,e,n){if(Qi.test(e))t.style.setProperty(e,n);else if(Hi.test(n))t.style.setProperty(e,n.replace(Hi,""),"important");else{var r=Ji(e);if(Array.isArray(n))for(var i=0,o=n.length;i-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 eo(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{var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";while(n.indexOf(r)>=0)n=n.replace(r," ");n=n.trim(),n?t.setAttribute("class",n):t.removeAttribute("class")}}function no(t){if(t){if("object"===typeof t){var e={};return!1!==t.css&&E(e,ro(t.name||"v")),E(e,t),e}return"string"===typeof t?ro(t):void 0}}var ro=b(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"}}),io=H&&!Z,oo="transition",ao="animation",so="transition",co="transitionend",uo="animation",fo="animationend";io&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(so="WebkitTransition",co="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(uo="WebkitAnimation",fo="webkitAnimationEnd"));var lo=H?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function po(t){lo(function(){lo(t)})}function vo(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),to(t,e))}function ho(t,e){t._transitionClasses&&y(t._transitionClasses,e),eo(t,e)}function mo(t,e,n){var r=go(t,e),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===oo?co:fo,c=0,u=function(){t.removeEventListener(s,f),n()},f=function(e){e.target===t&&++c>=a&&u()};setTimeout(function(){c0&&(n=oo,f=a,l=o.length):e===ao?u>0&&(n=ao,f=u,l=c.length):(f=Math.max(a,u),n=f>0?a>u?oo:ao:null,l=n?n===oo?o.length:c.length:0);var p=n===oo&&yo.test(r[so+"Property"]);return{type:n,timeout:f,propCount:l,hasTransform:p}}function _o(t,e){while(t.length1}function Co(t,e){!0!==e.data.show&&xo(e)}var Ao=H?{create:Co,activate:Co,remove:function(t,e){!0!==t.data.show?wo(t,e):e()}}:{},ko=[Ci,$i,Ni,Ui,Zi,Ao],$o=ko.concat(xi),To=di({nodeOps:oi,modules:$o});Z&&document.addEventListener("selectionchange",function(){var t=document.activeElement;t&&t.vmodel&&Do(t,"input")});var Eo={inserted:function(t,e,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?ge(n,"postpatch",function(){Eo.componentUpdated(t,e,n)}):Po(t,e,n.context),t._vOptions=[].map.call(t.options,Io)):("textarea"===n.tag||Gr(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("compositionstart",Lo),t.addEventListener("compositionend",No),t.addEventListener("change",No),Z&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if("select"===n.tag){Po(t,e,n.context);var r=t._vOptions,i=t._vOptions=[].map.call(t.options,Io);if(i.some(function(t,e){return!L(t,r[e])})){var o=t.multiple?e.value.some(function(t){return jo(t,i)}):e.value!==e.oldValue&&jo(e.value,i);o&&Do(t,"change")}}}};function Po(t,e,n){Mo(t,e,n),(Y||tt)&&setTimeout(function(){Mo(t,e,n)},0)}function Mo(t,e,n){var r=e.value,i=t.multiple;if(!i||Array.isArray(r)){for(var o,a,s=0,c=t.options.length;s-1,a.selected!==o&&(a.selected=o);else if(L(Io(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));i||(t.selectedIndex=-1)}}function jo(t,e){return e.every(function(e){return!L(e,t)})}function Io(t){return"_value"in t?t._value:t.value}function Lo(t){t.target.composing=!0}function No(t){t.target.composing&&(t.target.composing=!1,Do(t.target,"input"))}function Do(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function Fo(t){return!t.componentInstance||t.data&&t.data.transition?t:Fo(t.componentInstance._vnode)}var zo={bind:function(t,e,n){var r=e.value;n=Fo(n);var i=n.data&&n.data.transition,o=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&i?(n.data.show=!0,xo(n,function(){t.style.display=o})):t.style.display=r?o:"none"},update:function(t,e,n){var r=e.value,i=e.oldValue;if(!r!==!i){n=Fo(n);var o=n.data&&n.data.transition;o?(n.data.show=!0,r?xo(n,function(){t.style.display=t.__vOriginalDisplay}):wo(n,function(){t.style.display="none"})):t.style.display=r?t.__vOriginalDisplay:"none"}},unbind:function(t,e,n,r,i){i||(t.style.display=t.__vOriginalDisplay)}},Ro={model:Eo,show:zo},Uo={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 Bo(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?Bo(Te(e.children)):t}function Vo(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var i=n._parentListeners;for(var o in i)e[w(o)]=i[o];return e}function qo(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}function Go(t){while(t=t.parent)if(t.data.transition)return!0}function Wo(t,e){return e.key===t.key&&e.tag===t.tag}var Qo={name:"transition",props:Uo,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(function(t){return t.tag||$e(t)}),n.length)){0;var r=this.mode;0;var i=n[0];if(Go(this.$vnode))return i;var o=Bo(i);if(!o)return i;if(this._leaving)return qo(t,i);var a="__transition-"+this._uid+"-";o.key=null==o.key?o.isComment?a+"comment":a+o.tag:s(o.key)?0===String(o.key).indexOf(a)?o.key:a+o.key:o.key;var c=(o.data||(o.data={})).transition=Vo(this),u=this._vnode,f=Bo(u);if(o.data.directives&&o.data.directives.some(function(t){return"show"===t.name})&&(o.data.show=!0),f&&f.data&&!Wo(o,f)&&!$e(f)&&(!f.componentInstance||!f.componentInstance._vnode.isComment)){var l=f.data.transition=E({},c);if("out-in"===r)return this._leaving=!0,ge(l,"afterLeave",function(){e._leaving=!1,e.$forceUpdate()}),qo(t,i);if("in-out"===r){if($e(o))return u;var p,d=function(){p()};ge(c,"afterEnter",d),ge(c,"enterCancelled",d),ge(l,"delayLeave",function(t){p=t})}}return i}}},Ho=E({tag:String,moveClass:String},Uo);delete Ho.mode;var Ko={props:Ho,render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=Vo(this),s=0;s8||t<0)throw Error("This octave is out of range (0 - 8) on a standard piano.")},Sign:function(t){if(!~c.FlatSigns.indexOf(t)&&!~c.SharpSigns.indexOf(t))throw Error(`Invalid sign "${t}".`)}},f=4;function l(t){return u.Note(t),c.Notes.indexOf(t)}function p(t){let e=l(t);return e>0?c.Notes[e-1]:c.Notes[c.Notes.length-1]}let d={createNote:function(t,e,n=!1){if(!n&&c.NoteMap[t])throw Error(`\n The note "${t}" already exists and cannot be overwritten unless\n the 'overrideExisting' parameter is set to 'true'.`);c.NoteMap[t]=e},getFrequency:function(t){let e=c.NoteMap[t];if(e)return e;let n,r,i,o="";if(r=t[0].toLowerCase(),3===t.length)o=t[1],u.Sign(o),i=Number(t[2]),u.Octave(i);else if(2===t.length)~c.FlatSigns.indexOf(t[1])||~c.SharpSigns.indexOf(t[1])?(o=t[1],i=f):i=Number(t[1]);else{if(1!==t.length)throw Error(`Unrecognized note format "${t}".`);i=f}if(~"abdeg".indexOf(r)&&~c.FlatSigns.indexOf(o))return n=p(r)+"#"+i,c.NoteMap[n];if(~"cf".indexOf(r)&&~c.FlatSigns.indexOf(o))return n=p(r)+("c"===r?(i-1).toString():i.toString()),c.NoteMap[n];if(~"be".indexOf(r)&&~c.SharpSigns.indexOf(o))return n=function(t){let e=l(t);return e+1{let e=i[t];return!!e&&(r.gain.value+=.12*e,!0)});let o=Math.sqrt(t)/Math.sqrt(4200)*-.25+.125+.08;return o>0&&(o=Math.pow(o+1,3)-1),r.gain.value+=o,r.connect(n),r},S=function(t,e,n){let r=_.createOscillator();return r.frequency.value=t,r.type="sine",r.connect(n),r},O=function(t,e,n){let i=t.GetNodeChain(),o=n-e,a=.04,s=n;~t.Style.indexOf(r.Legato)?(a=.01,s=n):~t.Style.indexOf(r.Staccato)&&(a=.01,s=e+.15);let c=a*o,u=i.Gain.gain.value;i.Gain.gain.value=0,i.Gain.gain.setTargetAtTime(u,e,c),i.Gain.gain.setTargetAtTime(0,s-4*c,c),i.Oscillator.start(e),i.Oscillator.stop(s)},C={Context:_,SetGain:function(t){w=t},SetOscillator:function(t){S=t},SetPlayer:function(t){O=t},SynthesizeNote:function(t,e){return{Frequency:t,GetNodeChain:function(){if(this._nodeChain)return this._nodeChain;let n=w(t,e,b),r={Gain:n,Oscillator:S(t,e,n)};return this._nodeChain=r,this._nodeChain},Play:function(t,e){O(this,t,e),this._started=!0},Stop:function(){this._started&&this.GetNodeChain().Oscillator.stop(),this._nodeChain=null},Style:e,_nodeChain:null,_started:!1}}};function A(t,e,n,r=0){let i=Math.max(e-r,0),o=Math.max(e+n-r,0);0!==o&&t.Play(i,o)}let k={play:function(t){void 0===t&&(t=C.Context.currentTime);for(let e of this._master)for(let n of e.Notes)A(n,e.WhenSeconds+t,e.DurationSeconds)},stop:function(){for(let t of this._master)for(let e of t.Notes)e.Stop()}};const $=n(7);function T(t,e){let n=M(t,e);t.Song._master=t.Song._master.concat(n)}function E(t,e){return 60/e._metadata.Tempo*(t*e._metadata.TimeSignature.noteValue)}function P(t,e){let n=e._metadata.Tempo/60;return e._metadata.TimeSignature.beatsPerMeasure/n*t}function M(t,e){let n=P(t.Measure,t.Song);return u.isTimedNote(e)?[{Notes:[e.Note],DurationSeconds:E(e.Duration,t.Song),WhenSeconds:n}]:u.isTimedChord(e)?[{Notes:e.Notes,DurationSeconds:E(e.Duration,t.Song),WhenSeconds:n}]:e.map((o,a)=>{return a>0&&(t.Measure+=(r=e[a-1].Duration,i=t.Song,r*(i._metadata.TimeSignature.noteValue/i._metadata.TimeSignature.beatsPerMeasure))),u.isTimedNote(o)?M(t,o):u.isTimedChord(o)?M(t,o):[{Notes:[],DurationSeconds:E(o.Duration,t.Song),WhenSeconds:n}]}).reduce((t,e)=>t.concat(e),[]);var r,i}let j={GetActions:function(t,e){let n=C.Context,r=new $({context:n});r.start();let i={Measure:e,Song:t};return{callback:function(i){let o=P(e,t);r.insert(o+n.currentTime,i)},improvises:function(t,e){return function(t,e,n){T(t,s.improvise(e,n))}(i,t,e)},plays:function(t){return T(i,t)},repeats:function(t,e){return function(t,e,n){let r=[],i=M(t,e)[0];for(let o=0;oC.SynthesizeNote(d.getFrequency(t),n)),Duration:e}},note:function(t,e,...n){return{Duration:e,Note:C.SynthesizeNote(d.getFrequency(t),n)}},rest:function(t){return{Duration:t}},scale:function(t,e){return{Config:e||{durations:[.25],style:[]},Playables:t}},sequence:function(t){return t},settings:o,song:function(t){let r={Tempo:L,TimeSignature:I,Title:N};return r.Title=t,{at:e,play:k.play,stop:k.stop,setTimeSignature:n,setTempo:i,_master:[],_metadata:r}}};return t.blackswan=a,a}(window);e.default=D},function(t,e,n){"use strict";t.exports={get currentTime(){return Date.now()/1e3}}},function(t,e,n){"use strict";t.exports=function(t,e){return void 0!==t?t:e}},function(t,e){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(t){return"function"==typeof t}function i(t){return"object"==typeof t&&null!==t}function o(t){return void 0===t}t.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(t){if("number"!=typeof t||t<0||isNaN(t))throw TypeError("n must be a positive number");return this._maxListeners=t,this},n.prototype.emit=function(t){var e,n,a,s,c,u;if(this._events||(this._events={}),"error"===t&&(!this._events.error||i(this._events.error)&&!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var f=new Error('Uncaught, unspecified "error" event. ('+e+")");throw f.context=e,f}if(o(n=this._events[t]))return!1;if(r(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),n.apply(this,s)}else if(i(n))for(s=Array.prototype.slice.call(arguments,1),a=(u=n.slice()).length,c=0;c0&&this._events[t].length>a&&(this._events[t].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[t].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(t,e){if(!r(e))throw TypeError("listener must be a function");var n=!1;function i(){this.removeListener(t,i),n||(n=!0,e.apply(this,arguments))}return i.listener=e,this.on(t,i),this},n.prototype.removeListener=function(t,e){var n,o,a,s;if(!r(e))throw TypeError("listener must be a function");if(!this._events||!this._events[t])return this;if(a=(n=this._events[t]).length,o=-1,n===e||r(n.listener)&&n.listener===e)delete this._events[t],this._events.removeListener&&this.emit("removeListener",t,e);else if(i(n)){for(s=a;s-- >0;)if(n[s]===e||n[s].listener&&n[s].listener===e){o=s;break}if(o<0)return this;1===n.length?(n.length=0,delete this._events[t]):n.splice(o,1),this._events.removeListener&&this.emit("removeListener",t,e)}return this},n.prototype.removeAllListeners=function(t){var e,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)"removeListener"!==e&&this.removeAllListeners(e);return this.removeAllListeners("removeListener"),this._events={},this}if(r(n=this._events[t]))this.removeListener(t,n);else if(n)for(;n.length;)this.removeListener(t,n[n.length-1]);return delete this._events[t],this},n.prototype.listeners=function(t){return this._events&&this._events[t]?r(this._events[t])?[this._events[t]]:this._events[t].slice():[]},n.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(r(e))return 1;if(e)return e.length}return 0},n.listenerCount=function(t,e){return t.listenerCount(e)}},function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){"use strict";(function(e){var r=function(){function t(t,e){for(var n=0;n0&&void 0!==arguments[0])||arguments[0];return 0!==this._timerId&&(this.timerAPI.clearInterval(this._timerId),this._timerId=0,this.emit("stop")),t&&this._scheds.splice(0),this}},{key:"insert",value:function(t,e,n){var r=++this._schedId,i={id:r,time:t,callback:e,args:n},o=this._scheds;if(0===o.length||o[o.length-1].time<=t)o.push(i);else for(var a=0,s=o.length;ac)r(s,n=e[c++])&&(~o(u,n)||u.push(n));return u}},MU5D:function(t,e,n){var r=n("R9M2");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},Mhyx:function(t,e,n){var r=n("/bQp"),i=n("dSzd")("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||o[i]===t)}},MmMw:function(t,e,n){var r=n("EqjI");t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},O4g8:function(t,e){t.exports=!0},ON07:function(t,e,n){var r=n("EqjI"),i=n("7KvD").document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},OzIq:function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},PzxK:function(t,e,n){var r=n("D2L2"),i=n("sB3e"),o=n("ax3d")("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},QRG4:function(t,e,n){var r=n("UuGF"),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},R3AP:function(t,e,n){var r=n("OzIq"),i=n("2p1q"),o=n("WBcL"),a=n("ulTY")("src"),s="toString",c=Function[s],u=(""+c).split(s);n("7gX0").inspectSource=function(t){return c.call(t)},(t.exports=function(t,e,n,s){var c="function"==typeof n;c&&(o(n,"name")||i(n,"name",e)),t[e]!==n&&(c&&(o(n,a)||i(n,a,t[e]?""+t[e]:u.join(String(e)))),t===r?t[e]=n:s?t[e]?t[e]=n:i(t,e,n):(delete t[e],i(t,e,n)))})(Function.prototype,s,function(){return"function"==typeof this&&this[a]||c.call(this)})},R9M2:function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},RPLV:function(t,e,n){var r=n("7KvD").document;t.exports=r&&r.documentElement},"RY/4":function(t,e,n){var r=n("R9M2"),i=n("dSzd")("toStringTag"),o="Arguments"==r(function(){return arguments}()),a=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,n,s;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=a(e=Object(t),i))?n:o?r(e):"Object"==(s=r(e))&&"function"==typeof e.callee?"Arguments":s}},S82l:function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},SfB7:function(t,e,n){t.exports=!n("+E39")&&!n("S82l")(function(){return 7!=Object.defineProperty(n("ON07")("div"),"a",{get:function(){return 7}}).a})},TcQ7:function(t,e,n){var r=n("MU5D"),i=n("52gC");t.exports=function(t){return r(i(t))}},"UKM+":function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},UuGF:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},VWgF:function(t,e,n){var r=n("OzIq"),i="__core-js_shared__",o=r[i]||(r[i]={});t.exports=function(t){return o[t]||(o[t]={})}},Vg1y:function(t,e,n){"use strict";var r=n("2p1q"),i=n("R3AP"),o=n("zgIt"),a=n("/whu"),s=n("kkCw");t.exports=function(t,e,n){var c=s(t),u=n(a,c,""[t]),f=u[0],l=u[1];o(function(){var e={};return e[c]=function(){return 7},7!=""[t](e)})&&(i(String.prototype,t,f),r(RegExp.prototype,c,2==e?function(t,e){return l.call(t,this,e)}:function(t){return l.call(t,this)}))}},WBcL:function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},X8DO:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},XSOZ:function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},Xd32:function(t,e,n){n("+tPU"),n("zQR9"),t.exports=n("5PlU")},XyMi:function(t,e,n){"use strict";function r(t,e,n,r,i,o,a,s){t=t||{};var c=typeof t.default;"object"!==c&&"function"!==c||(t=t.default);var u,f="function"===typeof t?t.options:t;if(e&&(f.render=e,f.staticRenderFns=n,f._compiled=!0),r&&(f.functional=!0),o&&(f._scopeId=o),a?(u=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},f._ssrRegister=u):i&&(u=s?function(){i.call(this,this.$root.$options.shadowRoot)}:i),u)if(f.functional){f._injectStyles=u;var l=f.render;f.render=function(t,e){return u.call(e),l(t,e)}}else{var p=f.beforeCreate;f.beforeCreate=p?[].concat(p,u):[u]}return{exports:t,options:f}}e["a"]=r},Yobk:function(t,e,n){var r=n("77Pl"),i=n("qio6"),o=n("xnc9"),a=n("ax3d")("IE_PROTO"),s=function(){},c="prototype",u=function(){var t,e=n("ON07")("iframe"),r=o.length,i="<",a=">";e.style.display="none",n("RPLV").appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(i+"script"+a+"document.F=Object"+i+"/script"+a),t.close(),u=t.F;while(r--)delete u[c][o[r]];return u()};t.exports=Object.create||function(t,e){var n;return null!==t?(s[c]=r(t),n=new s,s[c]=null,n[a]=t):n=u(),void 0===e?n:i(n,e)}},ax3d:function(t,e,n){var r=n("e8AB")("keys"),i=n("3Eo+");t.exports=function(t){return r[t]||(r[t]=i(t))}},bUqO:function(t,e,n){t.exports=!n("zgIt")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},dSzd:function(t,e,n){var r=n("e8AB")("wks"),i=n("3Eo+"),o=n("7KvD").Symbol,a="function"==typeof o,s=t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t))};s.store=r},dY0y:function(t,e,n){var r=n("dSzd")("iterator"),i=!1;try{var o=[7][r]();o["return"]=function(){i=!0},Array.from(o,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var o=[7],a=o[r]();a.next=function(){return{done:n=!0}},o[r]=function(){return a},t(o)}catch(t){}return n}},e6n0:function(t,e,n){var r=n("evD5").f,i=n("D2L2"),o=n("dSzd")("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},e8AB:function(t,e,n){var r=n("7KvD"),i="__core-js_shared__",o=r[i]||(r[i]={});t.exports=function(t){return o[t]||(o[t]={})}},evD5:function(t,e,n){var r=n("77Pl"),i=n("SfB7"),o=n("MmMw"),a=Object.defineProperty;e.f=n("+E39")?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},fBQ2:function(t,e,n){"use strict";var r=n("evD5"),i=n("X8DO");t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},fU25:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},fkB2:function(t,e,n){var r=n("UuGF"),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},h65t:function(t,e,n){var r=n("UuGF"),i=n("52gC");t.exports=function(t){return function(e,n){var o,a,s=String(i(e)),c=r(n),u=s.length;return c<0||c>=u?t?"":void 0:(o=s.charCodeAt(c),o<55296||o>56319||c+1===u||(a=s.charCodeAt(c+1))<56320||a>57343?t?s.charAt(c):o:t?s.slice(c,c+2):a-56320+(o-55296<<10)+65536)}}},hJx8:function(t,e,n){var r=n("evD5"),i=n("X8DO");t.exports=n("+E39")?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},"i+Fi":function(t,e,n){t.exports=n("5zde")},jhxf:function(t,e,n){var r=n("UKM+"),i=n("OzIq").document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},kAgk:function(t,e){function n(){throw new TypeError("Invalid attempt to spread non-iterable instance")}t.exports=n},kM2E:function(t,e,n){var r=n("7KvD"),i=n("FeBl"),o=n("+ZMJ"),a=n("hJx8"),s=n("D2L2"),c="prototype",u=function(t,e,n){var f,l,p,d=t&u.F,v=t&u.G,h=t&u.S,m=t&u.P,y=t&u.B,g=t&u.W,_=v?i:i[e]||(i[e]={}),b=_[c],x=v?r:h?r[e]:(r[e]||{})[c];for(f in v&&(n=e),n)l=!d&&x&&void 0!==x[f],l&&s(_,f)||(p=l?x[f]:n[f],_[f]=v&&"function"!=typeof x[f]?n[f]:y&&l?o(p,r):g&&x[f]==p?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e[c]=t[c],e}(p):m&&"function"==typeof p?o(Function.call,p):p,m&&((_.virtual||(_.virtual={}))[f]=p,t&u.R&&b&&!b[f]&&a(b,f,p)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},kkCw:function(t,e,n){var r=n("VWgF")("wks"),i=n("ulTY"),o=n("OzIq").Symbol,a="function"==typeof o,s=t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t))};s.store=r},lDLk:function(t,e,n){var r=n("DIVP"),i=n("xZa+"),o=n("s4j0"),a=Object.defineProperty;e.f=n("bUqO")?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},lOnJ:function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},lktj:function(t,e,n){var r=n("Ibhu"),i=n("xnc9");t.exports=Object.keys||function(t){return r(t,i)}},mJx5:function(t,e,n){n("Vg1y")("split",2,function(t,e,r){"use strict";var i=n("u0PK"),o=r,a=[].push,s="split",c="length",u="lastIndex";if("c"=="abbc"[s](/(b)*/)[1]||4!="test"[s](/(?:)/,-1)[c]||2!="ab"[s](/(?:ab)*/)[c]||4!="."[s](/(.?)(.?)/)[c]||"."[s](/()()/)[c]>1||""[s](/.?/)[c]){var f=void 0===/()??/.exec("")[1];r=function(t,e){var n=String(this);if(void 0===t&&0===e)return[];if(!i(t))return o.call(n,t,e);var r,s,l,p,d,v=[],h=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),m=0,y=void 0===e?4294967295:e>>>0,g=new RegExp(t.source,h+"g");f||(r=new RegExp("^"+g.source+"$(?!\\s)",h));while(s=g.exec(n)){if(l=s.index+s[0][c],l>m&&(v.push(n.slice(m,s.index)),!f&&s[c]>1&&s[0].replace(r,function(){for(d=1;d1&&s.index=y))break;g[u]===s.index&&g[u]++}return m===n[c]?!p&&g.test("")||v.push(""):v.push(n.slice(m)),v[c]>y?v.slice(0,y):v}}else"0"[s](void 0,0)[c]&&(r=function(t,e){return void 0===t&&0===e?[]:o.call(this,t,e)});return[function(n,i){var o=t(this),a=void 0==n?void 0:n[e];return void 0!==a?a.call(n,o,i):r.call(String(o),n,i)},r]})},msXi:function(t,e,n){var r=n("77Pl");t.exports=function(t,e,n,i){try{return i?e(r(n)[0],n[1]):e(n)}catch(e){var o=t["return"];throw void 0!==o&&r(o.call(t)),e}}},oeih:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},pwgQ:function(t,e){function n(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);ec)r.f(t,n=a[c++],e[n]);return t}},qyJz:function(t,e,n){"use strict";var r=n("+ZMJ"),i=n("kM2E"),o=n("sB3e"),a=n("msXi"),s=n("Mhyx"),c=n("QRG4"),u=n("fBQ2"),f=n("3fs2");i(i.S+i.F*!n("dY0y")(function(t){Array.from(t)}),"Array",{from:function(t){var e,n,i,l,p=o(t),d="function"==typeof this?this:Array,v=arguments.length,h=v>1?arguments[1]:void 0,m=void 0!==h,y=0,g=f(p);if(m&&(h=r(h,v>2?arguments[2]:void 0,2)),void 0==g||d==Array&&s(g))for(e=c(p.length),n=new d(e);e>y;y++)u(n,y,m?h(p[y],y):p[y]);else for(l=g.call(p),n=new d;!(i=l.next()).done;y++)u(n,y,m?a(l,h,[i.value,y],!0):i.value);return n.length=y,n}})},rFzY:function(t,e,n){var r=n("XSOZ");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},rzQm:function(t,e,n){var r=n("pwgQ"),i=n("uJO0"),o=n("kAgk");function a(t){return r(t)||i(t)||o()}t.exports=a},s4j0:function(t,e,n){var r=n("UKM+");t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},sB3e:function(t,e,n){var r=n("52gC");t.exports=function(t){return Object(r(t))}},tqSY:function(t,e,n){var r=n("Ds5P");r(r.P,"String",{repeat:n("xAdt")})},u0PK:function(t,e,n){var r=n("UKM+"),i=n("ydD5"),o=n("kkCw")("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[o])?!!e:"RegExp"==i(t))}},uJO0:function(t,e,n){var r=n("i+Fi"),i=n("vzVI");function o(t){if(i(Object(t))||"[object Arguments]"===Object.prototype.toString.call(t))return r(t)}t.exports=o},ulTY:function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},"vFc/":function(t,e,n){var r=n("TcQ7"),i=n("QRG4"),o=n("fkB2");t.exports=function(t){return function(e,n,a){var s,c=r(e),u=i(c.length),f=o(a,u);if(t&&n!=n){while(u>f)if(s=c[f++],s!=s)return!0}else for(;u>f;f++)if((t||f in c)&&c[f]===n)return t||f||0;return!t&&-1}}},"vIB/":function(t,e,n){"use strict";var r=n("O4g8"),i=n("kM2E"),o=n("880/"),a=n("hJx8"),s=n("/bQp"),c=n("94VQ"),u=n("e6n0"),f=n("PzxK"),l=n("dSzd")("iterator"),p=!([].keys&&"next"in[].keys()),d="@@iterator",v="keys",h="values",m=function(){return this};t.exports=function(t,e,n,y,g,_,b){c(n,e,y);var x,w,S,O=function(t){if(!p&&t in $)return $[t];switch(t){case v:return function(){return new n(this,t)};case h:return function(){return new n(this,t)}}return function(){return new n(this,t)}},C=e+" Iterator",A=g==h,k=!1,$=t.prototype,T=$[l]||$[d]||g&&$[g],E=T||O(g),P=g?A?O("entries"):E:void 0,M="Array"==e&&$.entries||T;if(M&&(S=f(M.call(new t)),S!==Object.prototype&&S.next&&(u(S,C,!0),r||"function"==typeof S[l]||a(S,l,m))),A&&T&&T.name!==h&&(k=!0,E=function(){return T.call(this)}),r&&!b||!p&&!k&&$[l]||a($,l,E),s[e]=E,s[C]=m,g)if(x={values:A?E:O(h),keys:_?E:O(v),entries:P},b)for(w in x)w in $||o($,w,x[w]);else i(i.P+i.F*(p||k),e,x);return x}},vzVI:function(t,e,n){t.exports=n("Xd32")},xAdt:function(t,e,n){"use strict";var r=n("oeih"),i=n("/whu");t.exports=function(t){var e=String(i(this)),n="",o=r(t);if(o<0||o==1/0)throw RangeError("Count can't be negative");for(;o>0;(o>>>=1)&&(e+=e))1&o&&(n+=e);return n}},xGkn:function(t,e,n){"use strict";var r=n("4mcu"),i=n("EGZi"),o=n("/bQp"),a=n("TcQ7");t.exports=n("vIB/")(Array,"Array",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},"xZa+":function(t,e,n){t.exports=!n("bUqO")&&!n("zgIt")(function(){return 7!=Object.defineProperty(n("jhxf")("div"),"a",{get:function(){return 7}}).a})},xnc9:function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},ydD5:function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},zQR9:function(t,e,n){"use strict";var r=n("h65t")(!0);n("vIB/")(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},zgIt:function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}}}); 8 | //# sourceMappingURL=vendor.js.map -------------------------------------------------------------------------------- /logo/144px.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /logo/16px.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /logo/256 horizontal.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /logo/256px.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /logo/44px.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /logo/512 horizontal.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /logo/512px.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /logo/72px.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /logo/horizontal.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "viano", 3 | "main": "docs/plugin.js", 4 | "version": "0.0.3", 5 | "private": true, 6 | "scripts": { 7 | "serve": "vue-cli-service serve", 8 | "build": "vue-cli-service build", 9 | "lint": "vue-cli-service lint" 10 | }, 11 | "dependencies": { 12 | "vue": "^2.5.13" 13 | }, 14 | "devDependencies": { 15 | "@vue/cli-plugin-babel": "^3.0.0-beta.6", 16 | "@vue/cli-plugin-eslint": "^3.0.0-beta.6", 17 | "@vue/cli-service": "^3.0.0-beta.6", 18 | "blackswan-js": "0.0.12", 19 | "node-sass": "^4.8.3", 20 | "sass-loader": "^6.0.7", 21 | "vue-template-compiler": "^2.5.13" 22 | }, 23 | "babel": { 24 | "presets": [ 25 | "@vue/app" 26 | ] 27 | }, 28 | "eslintConfig": { 29 | "root": true, 30 | "extends": [ 31 | "plugin:vue/essential", 32 | "eslint:recommended" 33 | ] 34 | }, 35 | "postcss": { 36 | "plugins": { 37 | "autoprefixer": {} 38 | } 39 | }, 40 | "browserslist": [ 41 | "> 1%", 42 | "last 2 versions", 43 | "not ie <= 8" 44 | ] 45 | } 46 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaaclyman/Viano/0dd3583ffe9a4b0a6dfbea1cc16fb3ceef585835/public/favicon.ico -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Viano 9 | 10 | 11 | 14 |
15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/Demo.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 20 | 21 | 24 | -------------------------------------------------------------------------------- /src/components/Chord.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 77 | 78 | 81 | -------------------------------------------------------------------------------- /src/components/Note.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 60 | 61 | 64 | -------------------------------------------------------------------------------- /src/components/Part.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 50 | 51 | 54 | -------------------------------------------------------------------------------- /src/components/Rest.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 40 | 41 | 44 | -------------------------------------------------------------------------------- /src/components/Sequence.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 52 | 53 | 56 | -------------------------------------------------------------------------------- /src/components/Song.vue: -------------------------------------------------------------------------------- 1 | 12 | 13 | 77 | 78 | 89 | 90 | 145 | -------------------------------------------------------------------------------- /src/demo.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Demo from './Demo.vue' 3 | 4 | Vue.config.productionTip = false 5 | 6 | new Vue({ 7 | render: h => h(Demo) 8 | }).$mount('#app') 9 | -------------------------------------------------------------------------------- /src/examples/HotCrossBuns.vue: -------------------------------------------------------------------------------- 1 | 23 | 24 | 41 | 42 | 45 | -------------------------------------------------------------------------------- /src/examples/LaCucaracha.vue: -------------------------------------------------------------------------------- 1 | 22 | 23 | 40 | 41 | 44 | -------------------------------------------------------------------------------- /src/plugin.js: -------------------------------------------------------------------------------- 1 | import Song from './components/Song.vue' 2 | import Part from './components/Part.vue' 3 | import Sequence from './components/Sequence.vue' 4 | import Note from './components/Note.vue' 5 | import Rest from './components/Rest.vue' 6 | import Chord from './components/Chord.vue' 7 | 8 | const components = { 9 | Song, Part, Sequence, Note, Rest, Chord 10 | } 11 | 12 | const viano = { 13 | install (Vue) { 14 | for (const comp in components) { 15 | Vue.component(comp, components[comp]) 16 | } 17 | } 18 | } 19 | 20 | export default viano 21 | -------------------------------------------------------------------------------- /vue.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | 3 | module.exports = { 4 | configureWebpack: config => { 5 | const toMerge = { 6 | entry: { 7 | app: './src/demo.js', 8 | plugin: './src/plugin.js' 9 | } 10 | } 11 | 12 | if (process.env.NODE_ENV === 'production') { 13 | toMerge.output = { 14 | path: path.resolve(__dirname, './docs'), 15 | filename: '[name].js', 16 | publicPath: '/Viano/' 17 | } 18 | } else { 19 | toMerge.output = { 20 | path: path.resolve(__dirname, './docs'), 21 | filename: '[name].js' 22 | } 23 | } 24 | 25 | return toMerge 26 | }, 27 | outputDir: 'docs' 28 | } 29 | --------------------------------------------------------------------------------