Skip to content

Instantly share code, notes, and snippets.

@benatkin
Created May 5, 2014 05:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save benatkin/11529580 to your computer and use it in GitHub Desktop.
Save benatkin/11529580 to your computer and use it in GitHub Desktop.
requirebin sketch
var Vue = require('vue')
var hill = require('hill')
var domify = require('domify')
var crete = require('crete')
var insertCss = require('insert-css')
var css = []
var blocks = []
// The Page
// ========
css = css.concat([
{
sel: "*",
margin: "0",
padding: "0",
"font-family": "Helvetica, Arial, sans-serif"
},
{
sel: "body",
"background-color": "#80daeb"
}
])
// The Form
// ========
css.push({sel: "form", padding: "12px" })
function buildForm(blocks) {
return '<form id="bio-writer">' + blocks.join("\n") + '</form>'
}
// The Header
// ==========
css.push({sel: "h1", color: "#ee9", "font-weight": "normal" })
blocks.push(hill({tag: 'h1', text: 'bio writer'}))
// Fields
// ======
css = css.concat([
{
sel: ".row",
margin: "12px 0"
},
{
sel: ".clear",
clear: "both"
},
{
sel: ".field",
float: "left",
padding: "3px 8px",
"border-radius": "5px",
},
{
sel: ".field",
"background-color": "#fff"
},
{
sel: "label",
float: "left",
"min-width": "80px",
position: "relative",
top: "4px",
color: "#888",
"margin-right": "20px"
},
{
sel: "input[type=text]",
float: "left",
"min-width": "250px",
"font-size": "120%",
border: 0
},
{
sel: "input[type=text]:focus",
outline: "none"
}
])
function field(fieldName) {
var node = {
tag: 'div',
className: 'row',
children: [
{
tag: 'div',
className: 'field',
children: [
{
tag: 'label',
htmlFor: fieldName,
text: fieldName
},
{
tag: 'input',
type: 'text',
'v-model': fieldName,
id: fieldName
}
]
},
{
tag: 'div',
className: 'clear'
}
]
}
return hill(node)
}
blocks.push(field('title'))
blocks.push(field('city'))
blocks.push(field('activity'))
// Report
// ======
css.push({sel: "p.report", color: "#bff" })
blocks.push(hill({
tag: 'p',
text: 'Yet another {{title}}. Lives in {{city}}. Loves to {{activity}}.'
}))
// Run
// ===
insertCss(css.map(crete).join(''))
document.body.appendChild(domify(buildForm(blocks)))
var bioWriter = new Vue({
el: "#bio-writer",
data: {
title: '',
city: '',
activity: ''
}
})
require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){var utils=require("./utils");function Batcher(){this.reset()}var BatcherProto=Batcher.prototype;BatcherProto.push=function(job){if(!job.id||!this.has[job.id]){this.queue.push(job);this.has[job.id]=job;if(!this.waiting){this.waiting=true;utils.nextTick(utils.bind(this.flush,this))}}else if(job.override){var oldJob=this.has[job.id];oldJob.cancelled=true;this.queue.push(job);this.has[job.id]=job}};BatcherProto.flush=function(){if(this._preFlush)this._preFlush();for(var i=0;i<this.queue.length;i++){var job=this.queue[i];if(!job.cancelled){job.execute()}}this.reset()};BatcherProto.reset=function(){this.has=utils.hash();this.queue=[];this.waiting=false};module.exports=Batcher},{"./utils":25}],2:[function(require,module,exports){var Batcher=require("./batcher"),bindingBatcher=new Batcher,bindingId=1;function Binding(compiler,key,isExp,isFn){this.id=bindingId++;this.value=undefined;this.isExp=!!isExp;this.isFn=isFn;this.root=!this.isExp&&key.indexOf(".")===-1;this.compiler=compiler;this.key=key;this.dirs=[];this.subs=[];this.deps=[];this.unbound=false}var BindingProto=Binding.prototype;BindingProto.update=function(value){if(!this.isComputed||this.isFn){this.value=value}if(this.dirs.length||this.subs.length){var self=this;bindingBatcher.push({id:this.id,execute:function(){if(!self.unbound){self._update()}}})}};BindingProto._update=function(){var i=this.dirs.length,value=this.val();while(i--){this.dirs[i].update(value)}this.pub()};BindingProto.val=function(){return this.isComputed&&!this.isFn?this.value.$get():this.value};BindingProto.pub=function(){var i=this.subs.length;while(i--){this.subs[i].update()}};BindingProto.unbind=function(){this.unbound=true;var i=this.dirs.length;while(i--){this.dirs[i].unbind()}i=this.deps.length;var subs;while(i--){subs=this.deps[i].subs;var j=subs.indexOf(this);if(j>-1)subs.splice(j,1)}};module.exports=Binding},{"./batcher":1}],3:[function(require,module,exports){var Emitter=require("./emitter"),Observer=require("./observer"),config=require("./config"),utils=require("./utils"),Binding=require("./binding"),Directive=require("./directive"),TextParser=require("./text-parser"),DepsParser=require("./deps-parser"),ExpParser=require("./exp-parser"),ViewModel,slice=[].slice,extend=utils.extend,hasOwn={}.hasOwnProperty,def=Object.defineProperty,hooks=["created","ready","beforeDestroy","afterDestroy","attached","detached"],priorityDirectives=["if","repeat","view","component"];function Compiler(vm,options){var compiler=this,key,i;compiler.init=true;compiler.destroyed=false;options=compiler.options=options||{};utils.processOptions(options);extend(compiler,options.compilerOptions);compiler.repeat=compiler.repeat||false;compiler.expCache=compiler.expCache||{};var el=compiler.el=compiler.setupElement(options);utils.log("\nnew VM instance: "+el.tagName+"\n");compiler.vm=el.vue_vm=vm;compiler.bindings=utils.hash();compiler.dirs=[];compiler.deferred=[];compiler.computed=[];compiler.children=[];compiler.emitter=new Emitter(vm);if(options.methods){for(key in options.methods){compiler.createBinding(key)}}if(options.computed){for(key in options.computed){compiler.createBinding(key)}}vm.$={};vm.$el=el;vm.$options=options;vm.$compiler=compiler;vm.$event=null;var parentVM=options.parent;if(parentVM){compiler.parent=parentVM.$compiler;parentVM.$compiler.children.push(compiler);vm.$parent=parentVM}vm.$root=getRoot(compiler).vm;compiler.setupObserver();var data=compiler.data=options.data||{},defaultData=options.defaultData;if(defaultData){for(key in defaultData){if(!hasOwn.call(data,key)){data[key]=defaultData[key]}}}var params=options.paramAttributes;if(params){i=params.length;while(i--){data[params[i]]=utils.checkNumber(compiler.eval(el.getAttribute(params[i])))}}extend(vm,data);vm.$data=data;compiler.execHook("created");data=compiler.data=vm.$data;var vmProp;for(key in vm){vmProp=vm[key];if(key.charAt(0)!=="$"&&data[key]!==vmProp&&typeof vmProp!=="function"){data[key]=vmProp}}compiler.observeData(data);if(options.template){this.resolveContent()}compiler.compile(el,true);i=compiler.deferred.length;while(i--){compiler.bindDirective(compiler.deferred[i])}compiler.deferred=null;if(this.computed.length){DepsParser.parse(this.computed)}compiler.init=false;compiler.execHook("ready")}var CompilerProto=Compiler.prototype;CompilerProto.setupElement=function(options){var el=typeof options.el==="string"?document.querySelector(options.el):options.el||document.createElement(options.tagName||"div");var template=options.template,child,replacer,i,attr,attrs;if(template){if(el.hasChildNodes()){this.rawContent=document.createElement("div");while(child=el.firstChild){this.rawContent.appendChild(child)}}if(options.replace&&template.childNodes.length===1){replacer=template.childNodes[0].cloneNode(true);if(el.parentNode){el.parentNode.insertBefore(replacer,el);el.parentNode.removeChild(el)}if(el.hasAttributes()){i=el.attributes.length;while(i--){attr=el.attributes[i];replacer.setAttribute(attr.name,attr.value)}}el=replacer}else{el.appendChild(template.cloneNode(true))}}if(options.id)el.id=options.id;if(options.className)el.className=options.className;attrs=options.attributes;if(attrs){for(attr in attrs){el.setAttribute(attr,attrs[attr])}}return el};CompilerProto.resolveContent=function(){var outlets=slice.call(this.el.getElementsByTagName("content")),raw=this.rawContent,outlet,select,i,j,main;i=outlets.length;if(i){while(i--){outlet=outlets[i];if(raw){select=outlet.getAttribute("select");if(select){outlet.content=slice.call(raw.querySelectorAll(select))}else{main=outlet}}else{outlet.content=slice.call(outlet.childNodes)}}for(i=0,j=outlets.length;i<j;i++){outlet=outlets[i];if(outlet===main)continue;insert(outlet,outlet.content)}if(raw&&main){insert(main,slice.call(raw.childNodes))}}function insert(outlet,contents){var parent=outlet.parentNode,i=0,j=contents.length;for(;i<j;i++){parent.insertBefore(contents[i],outlet)}parent.removeChild(outlet)}this.rawContent=null};CompilerProto.setupObserver=function(){var compiler=this,bindings=compiler.bindings,options=compiler.options,observer=compiler.observer=new Emitter(compiler.vm);observer.proxies={};observer.on("get",onGet).on("set",onSet).on("mutate",onSet);var i=hooks.length,j,hook,fns;while(i--){hook=hooks[i];fns=options[hook];if(Array.isArray(fns)){j=fns.length;while(j--){registerHook(hook,fns[j])}}else if(fns){registerHook(hook,fns)}}observer.on("hook:attached",function(){broadcast(1)}).on("hook:detached",function(){broadcast(0)});function onGet(key){check(key);DepsParser.catcher.emit("get",bindings[key])}function onSet(key,val,mutation){observer.emit("change:"+key,val,mutation);check(key);bindings[key].update(val)}function registerHook(hook,fn){observer.on("hook:"+hook,function(){fn.call(compiler.vm)})}function broadcast(event){var children=compiler.children;if(children){var child,i=children.length;while(i--){child=children[i];if(child.el.parentNode){event="hook:"+(event?"attached":"detached");child.observer.emit(event);child.emitter.emit(event)}}}}function check(key){if(!bindings[key]){compiler.createBinding(key)}}};CompilerProto.observeData=function(data){var compiler=this,observer=compiler.observer;Observer.observe(data,"",observer);var $dataBinding=compiler.bindings["$data"]=new Binding(compiler,"$data");$dataBinding.update(data);def(compiler.vm,"$data",{get:function(){compiler.observer.emit("get","$data");return compiler.data},set:function(newData){var oldData=compiler.data;Observer.unobserve(oldData,"",observer);compiler.data=newData;Observer.copyPaths(newData,oldData);Observer.observe(newData,"",observer);update()}});observer.on("set",onSet).on("mutate",onSet);function onSet(key){if(key!=="$data")update()}function update(){$dataBinding.update(compiler.data);observer.emit("change:$data",compiler.data)}};CompilerProto.compile=function(node,root){var nodeType=node.nodeType;if(nodeType===1&&node.tagName!=="SCRIPT"){this.compileElement(node,root)}else if(nodeType===3&&config.interpolate){this.compileTextNode(node)}};CompilerProto.checkPriorityDir=function(dirname,node,root){var expression,directive,Ctor;if(dirname==="component"&&root!==true&&(Ctor=this.resolveComponent(node,undefined,true))){directive=this.parseDirective(dirname,"",node);directive.Ctor=Ctor}else{expression=utils.attr(node,dirname);directive=expression&&this.parseDirective(dirname,expression,node)}if(directive){if(root===true){utils.warn("Directive v-"+dirname+" cannot be used on an already instantiated "+"VM's root node. Use it from the parent's template instead.");return}this.deferred.push(directive);return true}};CompilerProto.compileElement=function(node,root){if(node.tagName==="TEXTAREA"&&node.value){node.value=this.eval(node.value)}if(node.hasAttributes()||node.tagName.indexOf("-")>-1){if(utils.attr(node,"pre")!==null){return}var i,l,j,k;for(i=0,l=priorityDirectives.length;i<l;i++){if(this.checkPriorityDir(priorityDirectives[i],node,root)){return}}node.vue_trans=utils.attr(node,"transition");node.vue_anim=utils.attr(node,"animation");node.vue_effect=this.eval(utils.attr(node,"effect"));var prefix=config.prefix+"-",attrs=slice.call(node.attributes),params=this.options.paramAttributes,attr,isDirective,exp,directives,directive,dirname;for(i=0,l=attrs.length;i<l;i++){attr=attrs[i];isDirective=false;if(attr.name.indexOf(prefix)===0){isDirective=true;dirname=attr.name.slice(prefix.length);directives=this.parseDirective(dirname,attr.value,node,true);for(j=0,k=directives.length;j<k;j++){directive=directives[j];if(dirname==="with"){this.bindDirective(directive,this.parent)}else{this.bindDirective(directive)}}}else if(config.interpolate){exp=TextParser.parseAttr(attr.value);if(exp){directive=this.parseDirective("attr",attr.name+":"+exp,node);if(params&&params.indexOf(attr.name)>-1){this.bindDirective(directive,this.parent)}else{this.bindDirective(directive)}}}if(isDirective&&dirname!=="cloak"){node.removeAttribute(attr.name)}}}if(node.hasChildNodes()){slice.call(node.childNodes).forEach(this.compile,this)}};CompilerProto.compileTextNode=function(node){var tokens=TextParser.parse(node.nodeValue);if(!tokens)return;var el,token,directive;for(var i=0,l=tokens.length;i<l;i++){token=tokens[i];directive=null;if(token.key){if(token.key.charAt(0)===">"){el=document.createComment("ref");directive=this.parseDirective("partial",token.key.slice(1),el)}else{if(!token.html){el=document.createTextNode("");directive=this.parseDirective("text",token.key,el)}else{el=document.createComment(config.prefix+"-html");directive=this.parseDirective("html",token.key,el)}}}else{el=document.createTextNode(token)}node.parentNode.insertBefore(el,node);this.bindDirective(directive)}node.parentNode.removeChild(node)};CompilerProto.parseDirective=function(name,value,el,multiple){var compiler=this,definition=compiler.getOption("directives",name);if(definition){var asts=Directive.parse(value);return multiple?asts.map(build):build(asts[0])}function build(ast){return new Directive(name,ast,definition,compiler,el)}};CompilerProto.bindDirective=function(directive,bindingOwner){if(!directive)return;this.dirs.push(directive);if(directive.isEmpty||directive.isLiteral){if(directive.bind)directive.bind();return}var binding,compiler=bindingOwner||this,key=directive.key;if(directive.isExp){binding=compiler.createBinding(key,directive)}else{while(compiler){if(compiler.hasKey(key)){break}else{compiler=compiler.parent}}compiler=compiler||this;binding=compiler.bindings[key]||compiler.createBinding(key)}binding.dirs.push(directive);directive.binding=binding;var value=binding.val();if(directive.bind){directive.bind(value)}directive.update(value,true)};CompilerProto.createBinding=function(key,directive){utils.log(" created binding: "+key);var compiler=this,methods=compiler.options.methods,isExp=directive&&directive.isExp,isFn=directive&&directive.isFn||methods&&methods[key],bindings=compiler.bindings,computed=compiler.options.computed,binding=new Binding(compiler,key,isExp,isFn);if(isExp){compiler.defineExp(key,binding,directive)}else if(isFn){bindings[key]=binding;binding.value=compiler.vm[key]=methods[key]}else{bindings[key]=binding;if(binding.root){if(computed&&computed[key]){compiler.defineComputed(key,binding,computed[key])}else if(key.charAt(0)!=="$"){compiler.defineProp(key,binding)}else{compiler.defineMeta(key,binding)}}else if(computed&&computed[utils.baseKey(key)]){compiler.defineExp(key,binding)}else{Observer.ensurePath(compiler.data,key);var parentKey=key.slice(0,key.lastIndexOf("."));if(!bindings[parentKey]){compiler.createBinding(parentKey)}}}return binding};CompilerProto.defineProp=function(key,binding){var compiler=this,data=compiler.data,ob=data.__emitter__;if(!hasOwn.call(data,key)){data[key]=undefined}if(ob&&!hasOwn.call(ob.values,key)){Observer.convertKey(data,key)}binding.value=data[key];def(compiler.vm,key,{get:function(){return compiler.data[key]},set:function(val){compiler.data[key]=val}})};CompilerProto.defineMeta=function(key,binding){var ob=this.observer;binding.value=this.data[key];delete this.data[key];def(this.vm,key,{get:function(){if(Observer.shouldGet)ob.emit("get",key);return binding.value},set:function(val){ob.emit("set",key,val)}})};CompilerProto.defineExp=function(key,binding,directive){var computedKey=directive&&directive.computedKey,exp=computedKey?directive.expression:key,getter=this.expCache[exp];if(!getter){getter=this.expCache[exp]=ExpParser.parse(computedKey||key,this)}if(getter){this.markComputed(binding,getter)}};CompilerProto.defineComputed=function(key,binding,value){this.markComputed(binding,value);def(this.vm,key,{get:binding.value.$get,set:binding.value.$set})};CompilerProto.markComputed=function(binding,value){binding.isComputed=true;if(binding.isFn){binding.value=value}else{if(typeof value==="function"){value={$get:value}}binding.value={$get:utils.bind(value.$get,this.vm),$set:value.$set?utils.bind(value.$set,this.vm):undefined}}this.computed.push(binding)};CompilerProto.getOption=function(type,id,silent){var opts=this.options,parent=this.parent,globalAssets=config.globalAssets,res=opts[type]&&opts[type][id]||(parent?parent.getOption(type,id,silent):globalAssets[type]&&globalAssets[type][id]);if(!res&&!silent&&typeof id==="string"){utils.warn("Unknown "+type.slice(0,-1)+": "+id)}return res};CompilerProto.execHook=function(event){event="hook:"+event;this.observer.emit(event);this.emitter.emit(event)};CompilerProto.hasKey=function(key){var baseKey=utils.baseKey(key);return hasOwn.call(this.data,baseKey)||hasOwn.call(this.vm,baseKey)};CompilerProto.eval=function(exp,data){var parsed=TextParser.parseAttr(exp);return parsed?ExpParser.eval(parsed,this,data):exp};CompilerProto.resolveComponent=function(node,data,test){ViewModel=ViewModel||require("./viewmodel");var exp=utils.attr(node,"component"),tagName=node.tagName,id=this.eval(exp,data),tagId=tagName.indexOf("-")>0&&tagName.toLowerCase(),Ctor=this.getOption("components",id||tagId,true);if(id&&!Ctor){utils.warn("Unknown component: "+id)}return test?exp===""?ViewModel:Ctor:Ctor||ViewModel};CompilerProto.destroy=function(){if(this.destroyed)return;var compiler=this,i,j,key,dir,dirs,binding,vm=compiler.vm,el=compiler.el,directives=compiler.dirs,computed=compiler.computed,bindings=compiler.bindings,children=compiler.children,parent=compiler.parent;compiler.execHook("beforeDestroy");Observer.unobserve(compiler.data,"",compiler.observer);i=directives.length;while(i--){dir=directives[i];if(dir.binding&&dir.binding.compiler!==compiler){dirs=dir.binding.dirs;if(dirs){j=dirs.indexOf(dir);if(j>-1)dirs.splice(j,1)}}dir.unbind()}i=computed.length;while(i--){computed[i].unbind()}for(key in bindings){binding=bindings[key];if(binding){binding.unbind()}}i=children.length;while(i--){children[i].destroy()}if(parent){j=parent.children.indexOf(compiler);if(j>-1)parent.children.splice(j,1)}if(el===document.body){el.innerHTML=""}else{vm.$remove()}el.vue_vm=null;compiler.destroyed=true;compiler.execHook("afterDestroy");compiler.observer.off();compiler.emitter.off()};function getRoot(compiler){while(compiler.parent){compiler=compiler.parent}return compiler}module.exports=Compiler},{"./binding":2,"./config":4,"./deps-parser":5,"./directive":6,"./emitter":17,"./exp-parser":18,"./observer":22,"./text-parser":23,"./utils":25,"./viewmodel":26}],4:[function(require,module,exports){var TextParser=require("./text-parser");module.exports={prefix:"v",debug:false,silent:false,enterClass:"v-enter",leaveClass:"v-leave",interpolate:true};Object.defineProperty(module.exports,"delimiters",{get:function(){return TextParser.delimiters},set:function(delimiters){TextParser.setDelimiters(delimiters)}})},{"./text-parser":23}],5:[function(require,module,exports){var Emitter=require("./emitter"),utils=require("./utils"),Observer=require("./observer"),catcher=new Emitter;function catchDeps(binding){if(binding.isFn)return;utils.log("\n- "+binding.key);var got=utils.hash();binding.deps=[];catcher.on("get",function(dep){var has=got[dep.key];if(has&&has.compiler===dep.compiler||dep.compiler.repeat&&!isParentOf(dep.compiler,binding.compiler)){return}got[dep.key]=dep;utils.log(" - "+dep.key);binding.deps.push(dep);dep.subs.push(binding)});binding.value.$get();catcher.off("get")}function isParentOf(a,b){while(b){if(a===b){return true}b=b.parent}}module.exports={catcher:catcher,parse:function(bindings){utils.log("\nparsing dependencies...");Observer.shouldGet=true;bindings.forEach(catchDeps);Observer.shouldGet=false;utils.log("\ndone.")}}},{"./emitter":17,"./observer":22,"./utils":25}],6:[function(require,module,exports){var dirId=1,ARG_RE=/^[\w\$-]+$/,FILTER_TOKEN_RE=/[^\s'"]+|'[^']+'|"[^"]+"/g,NESTING_RE=/^\$(parent|root)\./,SINGLE_VAR_RE=/^[\w\.$]+$/,QUOTE_RE=/"/g;function Directive(name,ast,definition,compiler,el){this.id=dirId++;this.name=name;this.compiler=compiler;this.vm=compiler.vm;this.el=el;this.computeFilters=false;this.key=ast.key;this.arg=ast.arg;this.expression=ast.expression;var isEmpty=this.expression==="";if(typeof definition==="function"){this[isEmpty?"bind":"_update"]=definition}else{for(var prop in definition){if(prop==="unbind"||prop==="update"){this["_"+prop]=definition[prop]}else{this[prop]=definition[prop]}}}if(isEmpty||this.isEmpty){this.isEmpty=true;return}this.expression=(this.isLiteral?compiler.eval(this.expression):this.expression).trim();var filters=ast.filters,filter,fn,i,l,computed;if(filters){this.filters=[];for(i=0,l=filters.length;i<l;i++){filter=filters[i];fn=this.compiler.getOption("filters",filter.name);if(fn){filter.apply=fn;this.filters.push(filter);if(fn.computed){computed=true}}}}if(!this.filters||!this.filters.length){this.filters=null}if(computed){this.computedKey=Directive.inlineFilters(this.key,this.filters);this.filters=null}this.isExp=computed||!SINGLE_VAR_RE.test(this.key)||NESTING_RE.test(this.key)}var DirProto=Directive.prototype;DirProto.update=function(value,init){if(init||value!==this.value||value&&typeof value==="object"){this.value=value;if(this._update){this._update(this.filters&&!this.computeFilters?this.applyFilters(value):value,init)}}};DirProto.applyFilters=function(value){var filtered=value,filter;for(var i=0,l=this.filters.length;i<l;i++){filter=this.filters[i];filtered=filter.apply.apply(this.vm,[filtered].concat(filter.args))}return filtered};DirProto.unbind=function(){if(!this.el||!this.vm)return;if(this._unbind)this._unbind();this.vm=this.el=this.binding=this.compiler=null};Directive.parse=function(str){var inSingle=false,inDouble=false,curly=0,square=0,paren=0,begin=0,argIndex=0,dirs=[],dir={},lastFilterIndex=0,arg;for(var c,i=0,l=str.length;i<l;i++){c=str.charAt(i);if(inSingle){if(c==="'")inSingle=!inSingle}else if(inDouble){if(c==='"')inDouble=!inDouble}else if(c===","&&!paren&&!curly&&!square){pushDir();dir={};begin=argIndex=lastFilterIndex=i+1}else if(c===":"&&!dir.key&&!dir.arg){arg=str.slice(begin,i).trim();if(ARG_RE.test(arg)){argIndex=i+1;dir.arg=str.slice(begin,i).trim()}}else if(c==="|"&&str.charAt(i+1)!=="|"&&str.charAt(i-1)!=="|"){if(dir.key===undefined){lastFilterIndex=i+1;dir.key=str.slice(argIndex,i).trim()}else{pushFilter()}}else if(c==='"'){inDouble=true}else if(c==="'"){inSingle=true}else if(c==="("){paren++}else if(c===")"){paren--}else if(c==="["){square++}else if(c==="]"){square--}else if(c==="{"){curly++}else if(c==="}"){curly--}}if(i===0||begin!==i){pushDir()}function pushDir(){dir.expression=str.slice(begin,i).trim();if(dir.key===undefined){dir.key=str.slice(argIndex,i).trim()}else if(lastFilterIndex!==begin){pushFilter()}if(i===0||dir.key){dirs.push(dir)}}function pushFilter(){var exp=str.slice(lastFilterIndex,i).trim(),filter;if(exp){filter={};var tokens=exp.match(FILTER_TOKEN_RE);filter.name=tokens[0];filter.args=tokens.length>1?tokens.slice(1):null}if(filter){(dir.filters=dir.filters||[]).push(filter)}lastFilterIndex=i+1}return dirs};Directive.inlineFilters=function(key,filters){var args,filter;for(var i=0,l=filters.length;i<l;i++){filter=filters[i];args=filter.args?',"'+filter.args.map(escapeQuote).join('","')+'"':"";key='this.$compiler.getOption("filters", "'+filter.name+'").call(this,'+key+args+")"}return key};function escapeQuote(v){return v.indexOf('"')>-1?v.replace(QUOTE_RE,"'"):v}module.exports=Directive},{}],7:[function(require,module,exports){var guard=require("../utils").guard,slice=[].slice;module.exports={bind:function(){if(this.el.nodeType===8){this.holder=document.createElement("div");this.nodes=[]}},update:function(value){value=guard(value);if(this.holder){this.swap(value)}else{this.el.innerHTML=value}},swap:function(value){var parent=this.el.parentNode,holder=this.holder,nodes=this.nodes,i=nodes.length,l;while(i--){parent.removeChild(nodes[i])}holder.innerHTML=value;nodes=this.nodes=slice.call(holder.childNodes);for(i=0,l=nodes.length;i<l;i++){parent.insertBefore(nodes[i],this.el)}}}},{"../utils":25}],8:[function(require,module,exports){var utils=require("../utils");module.exports={bind:function(){this.parent=this.el.parentNode;this.ref=document.createComment("vue-if");this.Ctor=this.compiler.resolveComponent(this.el);this.parent.insertBefore(this.ref,this.el);this.parent.removeChild(this.el);if(utils.attr(this.el,"view")){utils.warn("Conflict: v-if cannot be used together with v-view. "+"Just set v-view's binding value to empty string to empty it.")}if(utils.attr(this.el,"repeat")){utils.warn("Conflict: v-if cannot be used together with v-repeat. "+"Use `v-show` or the `filterBy` filter instead.")}},update:function(value){if(!value){this._unbind()}else if(!this.childVM){this.childVM=new this.Ctor({el:this.el.cloneNode(true),parent:this.vm});if(this.compiler.init){this.parent.insertBefore(this.childVM.$el,this.ref)}else{this.childVM.$before(this.ref)}}},unbind:function(){if(this.childVM){this.childVM.$destroy();this.childVM=null}}}},{"../utils":25}],9:[function(require,module,exports){var utils=require("../utils"),config=require("../config"),transition=require("../transition"),directives=module.exports=utils.hash();directives.component={isLiteral:true,bind:function(){if(!this.el.vue_vm){this.childVM=new this.Ctor({el:this.el,parent:this.vm})}},unbind:function(){if(this.childVM){this.childVM.$destroy()}}};directives.attr={bind:function(){var params=this.vm.$options.paramAttributes;this.isParam=params&&params.indexOf(this.arg)>-1},update:function(value){if(value||value===0){this.el.setAttribute(this.arg,value)}else{this.el.removeAttribute(this.arg)}if(this.isParam){this.vm[this.arg]=utils.checkNumber(value)}}};directives.text={bind:function(){this.attr=this.el.nodeType===3?"nodeValue":"textContent"},update:function(value){this.el[this.attr]=utils.guard(value)}};directives.show=function(value){var el=this.el,target=value?"":"none",change=function(){el.style.display=target};transition(el,value?1:-1,change,this.compiler)};directives["class"]=function(value){if(this.arg){utils[value?"addClass":"removeClass"](this.el,this.arg)}else{if(this.lastVal){utils.removeClass(this.el,this.lastVal)}if(value){utils.addClass(this.el,value);this.lastVal=value}}};directives.cloak={isEmpty:true,bind:function(){var el=this.el;this.compiler.observer.once("hook:ready",function(){el.removeAttribute(config.prefix+"-cloak")})}};directives.ref={isLiteral:true,bind:function(){var id=this.expression;if(id){this.vm.$parent.$[id]=this.vm}},unbind:function(){var id=this.expression;if(id){delete this.vm.$parent.$[id]}}};directives.on=require("./on");directives.repeat=require("./repeat");directives.model=require("./model");directives["if"]=require("./if");directives["with"]=require("./with");directives.html=require("./html");directives.style=require("./style");directives.partial=require("./partial");directives.view=require("./view")},{"../config":4,"../transition":24,"../utils":25,"./html":7,"./if":8,"./model":10,"./on":11,"./partial":12,"./repeat":13,"./style":14,"./view":15,"./with":16}],10:[function(require,module,exports){var utils=require("../utils"),isIE9=navigator.userAgent.indexOf("MSIE 9.0")>0,filter=[].filter;function getMultipleSelectOptions(select){return filter.call(select.options,function(option){return option.selected}).map(function(option){return option.value||option.text})}module.exports={bind:function(){var self=this,el=self.el,type=el.type,tag=el.tagName;self.lock=false;self.ownerVM=self.binding.compiler.vm;self.event=self.compiler.options.lazy||tag==="SELECT"||type==="checkbox"||type==="radio"?"change":"input";self.attr=type==="checkbox"?"checked":tag==="INPUT"||tag==="SELECT"||tag==="TEXTAREA"?"value":"innerHTML";if(tag==="SELECT"&&el.hasAttribute("multiple")){this.multi=true}var compositionLock=false;self.cLock=function(){compositionLock=true};self.cUnlock=function(){compositionLock=false};el.addEventListener("compositionstart",this.cLock);el.addEventListener("compositionend",this.cUnlock);self.set=self.filters?function(){if(compositionLock)return;var cursorPos;try{cursorPos=el.selectionStart}catch(e){}self._set();utils.nextTick(function(){if(cursorPos!==undefined){el.setSelectionRange(cursorPos,cursorPos)}})}:function(){if(compositionLock)return;self.lock=true;self._set();utils.nextTick(function(){self.lock=false})};el.addEventListener(self.event,self.set);if(isIE9){self.onCut=function(){utils.nextTick(function(){self.set()})};self.onDel=function(e){if(e.keyCode===46||e.keyCode===8){self.set()}};el.addEventListener("cut",self.onCut);el.addEventListener("keyup",self.onDel)}},_set:function(){this.ownerVM.$set(this.key,this.multi?getMultipleSelectOptions(this.el):this.el[this.attr])},update:function(value,init){if(init&&value===undefined){return this._set()}if(this.lock)return;var el=this.el;if(el.tagName==="SELECT"){el.selectedIndex=-1;if(this.multi&&Array.isArray(value)){value.forEach(this.updateSelect,this)}else{this.updateSelect(value)}}else if(el.type==="radio"){el.checked=value==el.value}else if(el.type==="checkbox"){el.checked=!!value}else{el[this.attr]=utils.guard(value)}},updateSelect:function(value){var options=this.el.options,i=options.length;while(i--){if(options[i].value==value){options[i].selected=true;break}}},unbind:function(){var el=this.el;el.removeEventListener(this.event,this.set);el.removeEventListener("compositionstart",this.cLock);el.removeEventListener("compositionend",this.cUnlock);if(isIE9){el.removeEventListener("cut",this.onCut);el.removeEventListener("keyup",this.onDel)}}}},{"../utils":25}],11:[function(require,module,exports){var utils=require("../utils");module.exports={isFn:true,bind:function(){this.context=this.binding.isExp?this.vm:this.binding.compiler.vm},update:function(handler){if(typeof handler!=="function"){utils.warn('Directive "v-on:'+this.expression+'" expects a method.');return}this._unbind();var vm=this.vm,context=this.context;this.handler=function(e){e.targetVM=vm;context.$event=e;var res=handler.call(context,e);context.$event=null;return res};this.el.addEventListener(this.arg,this.handler)},unbind:function(){this.el.removeEventListener(this.arg,this.handler)}}},{"../utils":25}],12:[function(require,module,exports){var utils=require("../utils");module.exports={isLiteral:true,bind:function(){var id=this.expression;if(!id)return;var el=this.el,compiler=this.compiler,partial=compiler.getOption("partials",id);if(!partial){if(id==="yield"){utils.warn("{{>yield}} syntax has been deprecated. Use <content> tag instead.")}return}partial=partial.cloneNode(true);if(el.nodeType===8){var nodes=[].slice.call(partial.childNodes),parent=el.parentNode;parent.insertBefore(partial,el);parent.removeChild(el);nodes.forEach(compiler.compile,compiler)}else{el.innerHTML="";el.appendChild(partial.cloneNode(true))}}}},{"../utils":25}],13:[function(require,module,exports){var utils=require("../utils"),config=require("../config");module.exports={bind:function(){this.identifier="$r"+this.id;this.expCache=utils.hash();var el=this.el,ctn=this.container=el.parentNode;this.childId=this.compiler.eval(utils.attr(el,"ref"));this.ref=document.createComment(config.prefix+"-repeat-"+this.key);ctn.insertBefore(this.ref,el);ctn.removeChild(el);this.collection=null;this.vms=null},update:function(collection){if(!Array.isArray(collection)){if(utils.isObject(collection)){collection=utils.objectToArray(collection)}else{utils.warn("v-repeat only accepts Array or Object values.")}}this.oldVMs=this.vms;this.oldCollection=this.collection;collection=this.collection=collection||[];var isObject=collection[0]&&utils.isObject(collection[0]);this.vms=this.oldCollection?this.diff(collection,isObject):this.init(collection,isObject);if(this.childId){this.vm.$[this.childId]=this.vms}},init:function(collection,isObject){var vm,vms=[];for(var i=0,l=collection.length;i<l;i++){vm=this.build(collection[i],i,isObject);vms.push(vm);if(this.compiler.init){this.container.insertBefore(vm.$el,this.ref)}else{vm.$before(this.ref)}}return vms},diff:function(newCollection,isObject){var i,l,item,vm,oldIndex,targetNext,currentNext,nextEl,ctn=this.container,oldVMs=this.oldVMs,vms=[];vms.length=newCollection.length;for(i=0,l=newCollection.length;i<l;i++){item=newCollection[i];if(isObject){item.$index=i;if(item.__emitter__&&item.__emitter__[this.identifier]){item.$reused=true}else{vms[i]=this.build(item,i,isObject)}}else{oldIndex=indexOf(oldVMs,item);if(oldIndex>-1){oldVMs[oldIndex].$reused=true;oldVMs[oldIndex].$data.$index=i}else{vms[i]=this.build(item,i,isObject)}}}for(i=0,l=oldVMs.length;i<l;i++){vm=oldVMs[i];item=this.arg?vm.$data[this.arg]:vm.$data;if(item.$reused){vm.$reused=true;delete item.$reused}if(vm.$reused){vm.$index=item.$index;if(item.$key&&item.$key!==vm.$key){vm.$key=item.$key}vms[vm.$index]=vm}else{if(item.__emitter__){delete item.__emitter__[this.identifier]}vm.$destroy()}}i=vms.length;while(i--){vm=vms[i];item=vm.$data;targetNext=vms[i+1];if(vm.$reused){nextEl=vm.$el.nextSibling;while(!nextEl.vue_vm&&nextEl!==this.ref){nextEl=nextEl.nextSibling}currentNext=nextEl.vue_vm;if(currentNext!==targetNext){if(!targetNext){ctn.insertBefore(vm.$el,this.ref)}else{nextEl=targetNext.$el;while(!nextEl.parentNode){targetNext=vms[nextEl.vue_vm.$index+1];nextEl=targetNext?targetNext.$el:this.ref}ctn.insertBefore(vm.$el,nextEl)}}delete vm.$reused;delete item.$index;delete item.$key}else{vm.$before(targetNext?targetNext.$el:this.ref)}}return vms},build:function(data,index,isObject){var raw,alias,wrap=!isObject||this.arg;if(wrap){raw=data;alias=this.arg||"$value";data={};data[alias]=raw}data.$index=index;var el=this.el.cloneNode(true),Ctor=this.compiler.resolveComponent(el,data),vm=new Ctor({el:el,data:data,parent:this.vm,compilerOptions:{repeat:true,expCache:this.expCache}});if(isObject){(raw||data).__emitter__[this.identifier]=true
}if(wrap){var self=this,sync=function(val){self.lock=true;self.collection.$set(vm.$index,val);self.lock=false};vm.$compiler.observer.on("change:"+alias,sync)}return vm},unbind:function(){if(this.childId){delete this.vm.$[this.childId]}if(this.vms){var i=this.vms.length;while(i--){this.vms[i].$destroy()}}}};function indexOf(vms,obj){for(var vm,i=0,l=vms.length;i<l;i++){vm=vms[i];if(!vm.$reused&&vm.$value===obj){return i}}return-1}},{"../config":4,"../utils":25}],14:[function(require,module,exports){var camelRE=/-([a-z])/g,prefixes=["webkit","moz","ms"];function camelReplacer(m){return m[1].toUpperCase()}module.exports={bind:function(){var prop=this.arg;if(!prop)return;var first=prop.charAt(0);if(first==="$"){prop=prop.slice(1);this.prefixed=true}else if(first==="-"){prop=prop.slice(1)}this.prop=prop.replace(camelRE,camelReplacer)},update:function(value){var prop=this.prop;if(prop){this.el.style[prop]=value;if(this.prefixed){prop=prop.charAt(0).toUpperCase()+prop.slice(1);var i=prefixes.length;while(i--){this.el.style[prefixes[i]+prop]=value}}}else{this.el.style.cssText=value}}}},{}],15:[function(require,module,exports){module.exports={bind:function(){var el=this.raw=this.el,parent=el.parentNode,ref=this.ref=document.createComment("v-view");parent.insertBefore(ref,el);parent.removeChild(el);var node,frag=this.inner=document.createElement("div");while(node=el.firstChild){frag.appendChild(node)}},update:function(value){this._unbind();var Ctor=this.compiler.getOption("components",value);if(!Ctor)return;this.childVM=new Ctor({el:this.raw.cloneNode(true),parent:this.vm,compilerOptions:{rawContent:this.inner.cloneNode(true)}});this.el=this.childVM.$el;if(this.compiler.init){this.ref.parentNode.insertBefore(this.el,this.ref)}else{this.childVM.$before(this.ref)}},unbind:function(){if(this.childVM){this.childVM.$destroy()}}}},{}],16:[function(require,module,exports){var utils=require("../utils");module.exports={bind:function(){var self=this,childKey=self.arg,parentKey=self.key,compiler=self.compiler,owner=self.binding.compiler;if(compiler===owner){this.alone=true;return}if(childKey){if(!compiler.bindings[childKey]){compiler.createBinding(childKey)}compiler.observer.on("change:"+childKey,function(val){if(compiler.init)return;if(!self.lock){self.lock=true;utils.nextTick(function(){self.lock=false})}owner.vm.$set(parentKey,val)})}},update:function(value){if(!this.alone&&!this.lock){if(this.arg){this.vm.$set(this.arg,value)}else{this.vm.$data=value}}}}},{"../utils":25}],17:[function(require,module,exports){function Emitter(ctx){this._ctx=ctx||this}var EmitterProto=Emitter.prototype;EmitterProto.on=function(event,fn){this._cbs=this._cbs||{};(this._cbs[event]=this._cbs[event]||[]).push(fn);return this};EmitterProto.once=function(event,fn){var self=this;this._cbs=this._cbs||{};function on(){self.off(event,on);fn.apply(this,arguments)}on.fn=fn;this.on(event,on);return this};EmitterProto.off=function(event,fn){this._cbs=this._cbs||{};if(!arguments.length){this._cbs={};return this}var callbacks=this._cbs[event];if(!callbacks)return this;if(arguments.length===1){delete this._cbs[event];return this}var cb;for(var i=0;i<callbacks.length;i++){cb=callbacks[i];if(cb===fn||cb.fn===fn){callbacks.splice(i,1);break}}return this};EmitterProto.emit=function(event,a,b,c){this._cbs=this._cbs||{};var callbacks=this._cbs[event];if(callbacks){callbacks=callbacks.slice(0);for(var i=0,len=callbacks.length;i<len;i++){callbacks[i].call(this._ctx,a,b,c)}}return this};module.exports=Emitter},{}],18:[function(require,module,exports){var utils=require("./utils"),STR_SAVE_RE=/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'/g,STR_RESTORE_RE=/"(\d+)"/g,NEWLINE_RE=/\n/g,CTOR_RE=new RegExp("constructor".split("").join("['\"+, ]*")),UNICODE_RE=/\\u\d\d\d\d/;var KEYWORDS="break,case,catch,continue,debugger,default,delete,do,else,false"+",finally,for,function,if,in,instanceof,new,null,return,switch,this"+",throw,true,try,typeof,var,void,while,with,undefined"+",abstract,boolean,byte,char,class,const,double,enum,export,extends"+",final,float,goto,implements,import,int,interface,long,native"+",package,private,protected,public,short,static,super,synchronized"+",throws,transient,volatile"+",arguments,let,yield"+",Math",KEYWORDS_RE=new RegExp(["\\b"+KEYWORDS.replace(/,/g,"\\b|\\b")+"\\b"].join("|"),"g"),REMOVE_RE=/\/\*(?:.|\n)*?\*\/|\/\/[^\n]*\n|\/\/[^\n]*$|'[^']*'|"[^"]*"|[\s\t\n]*\.[\s\t\n]*[$\w\.]+/g,SPLIT_RE=/[^\w$]+/g,NUMBER_RE=/\b\d[^,]*/g,BOUNDARY_RE=/^,+|,+$/g;function getVariables(code){code=code.replace(REMOVE_RE,"").replace(SPLIT_RE,",").replace(KEYWORDS_RE,"").replace(NUMBER_RE,"").replace(BOUNDARY_RE,"");return code?code.split(/,+/):[]}function traceScope(path,compiler,data){var rel="",dist=0,self=compiler;if(data&&utils.get(data,path)!==undefined){return"$temp."}while(compiler){if(compiler.hasKey(path)){break}else{compiler=compiler.parent;dist++}}if(compiler){while(dist--){rel+="$parent."}if(!compiler.bindings[path]&&path.charAt(0)!=="$"){compiler.createBinding(path)}}else{self.createBinding(path)}return rel}function makeGetter(exp,raw){var fn;try{fn=new Function(exp)}catch(e){utils.warn("Error parsing expression: "+raw)}return fn}function escapeDollar(v){return v.charAt(0)==="$"?"\\"+v:v}exports.parse=function(exp,compiler,data){if(UNICODE_RE.test(exp)||CTOR_RE.test(exp)){utils.warn("Unsafe expression: "+exp);return}var vars=getVariables(exp);if(!vars.length){return makeGetter("return "+exp,exp)}vars=utils.unique(vars);var accessors="",has=utils.hash(),strings=[],pathRE=new RegExp("[^$\\w\\.]("+vars.map(escapeDollar).join("|")+")[$\\w\\.]*\\b","g"),body=(" "+exp).replace(STR_SAVE_RE,saveStrings).replace(pathRE,replacePath).replace(STR_RESTORE_RE,restoreStrings);body=accessors+"return "+body;function saveStrings(str){var i=strings.length;strings[i]=str.replace(NEWLINE_RE,"\\n");return'"'+i+'"'}function replacePath(path){var c=path.charAt(0);path=path.slice(1);var val="this."+traceScope(path,compiler,data)+path;if(!has[path]){accessors+=val+";";has[path]=1}return c+val}function restoreStrings(str,i){return strings[i]}return makeGetter(body,exp)};exports.eval=function(exp,compiler,data){var getter=exports.parse(exp,compiler,data),res;if(getter){compiler.vm.$temp=data;res=getter.call(compiler.vm);delete compiler.vm.$temp}return res}},{"./utils":25}],19:[function(require,module,exports){var utils=require("./utils"),get=utils.get,slice=[].slice,QUOTE_RE=/^'.*'$/,filters=module.exports=utils.hash();filters.capitalize=function(value){if(!value&&value!==0)return"";value=value.toString();return value.charAt(0).toUpperCase()+value.slice(1)};filters.uppercase=function(value){return value||value===0?value.toString().toUpperCase():""};filters.lowercase=function(value){return value||value===0?value.toString().toLowerCase():""};filters.currency=function(value,sign){if(!value&&value!==0)return"";sign=sign||"$";var s=Math.floor(value).toString(),i=s.length%3,h=i>0?s.slice(0,i)+(s.length>3?",":""):"",f="."+value.toFixed(2).slice(-2);return sign+h+s.slice(i).replace(/(\d{3})(?=\d)/g,"$1,")+f};filters.pluralize=function(value){var args=slice.call(arguments,1);return args.length>1?args[value-1]||args[args.length-1]:args[value-1]||args[0]+"s"};var keyCodes={enter:13,tab:9,"delete":46,up:38,left:37,right:39,down:40,esc:27};filters.key=function(handler,key){if(!handler)return;var code=keyCodes[key];if(!code){code=parseInt(key,10)}return function(e){if(e.keyCode===code){return handler.call(this,e)}}};filters.filterBy=function(arr,searchKey,delimiter,dataKey){if(delimiter&&delimiter!=="in"){dataKey=delimiter}var search=stripQuotes(searchKey)||this.$get(searchKey);if(!search)return arr;search=search.toLowerCase();dataKey=dataKey&&(stripQuotes(dataKey)||this.$get(dataKey));if(!Array.isArray(arr)){arr=utils.objectToArray(arr)}return arr.filter(function(item){return dataKey?contains(get(item,dataKey),search):contains(item,search)})};filters.filterBy.computed=true;filters.orderBy=function(arr,sortKey,reverseKey){var key=stripQuotes(sortKey)||this.$get(sortKey);if(!key)return arr;if(!Array.isArray(arr)){arr=utils.objectToArray(arr)}var order=1;if(reverseKey){if(reverseKey==="-1"){order=-1}else if(reverseKey.charAt(0)==="!"){reverseKey=reverseKey.slice(1);order=this.$get(reverseKey)?1:-1}else{order=this.$get(reverseKey)?-1:1}}return arr.slice().sort(function(a,b){a=get(a,key);b=get(b,key);return a===b?0:a>b?order:-order})};filters.orderBy.computed=true;function contains(val,search){if(utils.isObject(val)){for(var key in val){if(contains(val[key],search)){return true}}}else if(val!=null){return val.toString().toLowerCase().indexOf(search)>-1}}function stripQuotes(str){if(QUOTE_RE.test(str)){return str.slice(1,-1)}}},{"./utils":25}],vue:[function(require,module,exports){module.exports=require("Mb4SjN")},{}],Mb4SjN:[function(require,module,exports){var config=require("./config"),ViewModel=require("./viewmodel"),utils=require("./utils"),makeHash=utils.hash,assetTypes=["directive","filter","partial","effect","component"];require("./observer");require("./transition");ViewModel.options=config.globalAssets={directives:require("./directives"),filters:require("./filters"),partials:makeHash(),effects:makeHash(),components:makeHash()};assetTypes.forEach(function(type){ViewModel[type]=function(id,value){var hash=this.options[type+"s"];if(!hash){hash=this.options[type+"s"]=makeHash()}if(!value)return hash[id];if(type==="partial"){value=utils.toFragment(value)}else if(type==="component"){value=utils.toConstructor(value)}else if(type==="filter"){utils.checkFilter(value)}hash[id]=value;return this}});ViewModel.config=function(opts,val){if(typeof opts==="string"){if(val===undefined){return config[opts]}else{config[opts]=val}}else{utils.extend(config,opts)}return this};ViewModel.use=function(plugin){if(typeof plugin==="string"){try{plugin=require(plugin)}catch(e){utils.warn("Cannot find plugin: "+plugin);return}}var args=[].slice.call(arguments,1);args.unshift(this);if(typeof plugin.install==="function"){plugin.install.apply(plugin,args)}else{plugin.apply(null,args)}return this};ViewModel.require=function(path){return require("./"+path)};ViewModel.extend=extend;ViewModel.nextTick=utils.nextTick;function extend(options){var ParentVM=this;if(options.data){options.defaultData=options.data;delete options.data}options=inheritOptions(options,ParentVM.options,true);utils.processOptions(options);var ExtendedVM=function(opts,asParent){if(!asParent){opts=inheritOptions(opts,options,true)}ParentVM.call(this,opts,true)};var proto=ExtendedVM.prototype=Object.create(ParentVM.prototype);utils.defProtected(proto,"constructor",ExtendedVM);ExtendedVM.extend=extend;ExtendedVM.super=ParentVM;ExtendedVM.options=options;assetTypes.forEach(function(type){ExtendedVM[type]=ViewModel[type]});ExtendedVM.use=ViewModel.use;ExtendedVM.require=ViewModel.require;return ExtendedVM}function inheritOptions(child,parent,topLevel){child=child||{};if(!parent)return child;for(var key in parent){if(key==="el")continue;var val=child[key],parentVal=parent[key];if(topLevel&&typeof val==="function"&&parentVal){child[key]=[val];if(Array.isArray(parentVal)){child[key]=child[key].concat(parentVal)}else{child[key].push(parentVal)}}else if(topLevel&&(utils.isTrueObject(val)||utils.isTrueObject(parentVal))&&!(parentVal instanceof ViewModel)){child[key]=inheritOptions(val,parentVal)}else if(val===undefined){child[key]=parentVal}}return child}module.exports=ViewModel},{"./config":4,"./directives":9,"./filters":19,"./observer":22,"./transition":24,"./utils":25,"./viewmodel":26}],22:[function(require,module,exports){var Emitter=require("./emitter"),utils=require("./utils"),def=utils.defProtected,isObject=utils.isObject,isArray=Array.isArray,hasOwn={}.hasOwnProperty,oDef=Object.defineProperty,slice=[].slice,hasProto={}.__proto__;var ArrayProxy=Object.create(Array.prototype);["push","pop","shift","unshift","splice","sort","reverse"].forEach(watchMutation);def(ArrayProxy,"$set",function(index,data){return this.splice(index,1,data)[0]},!hasProto);def(ArrayProxy,"$remove",function(index){if(typeof index!=="number"){index=this.indexOf(index)}if(index>-1){return this.splice(index,1)[0]}},!hasProto);function watchMutation(method){def(ArrayProxy,method,function(){var args=slice.call(arguments),result=Array.prototype[method].apply(this,args),inserted,removed;if(method==="push"||method==="unshift"){inserted=args}else if(method==="pop"||method==="shift"){removed=[result]}else if(method==="splice"){inserted=args.slice(2);removed=result}linkArrayElements(this,inserted);unlinkArrayElements(this,removed);this.__emitter__.emit("mutate","",this,{method:method,args:args,result:result,inserted:inserted,removed:removed});return result},!hasProto)}function linkArrayElements(arr,items){if(items){var i=items.length,item,owners;while(i--){item=items[i];if(isWatchable(item)){if(!item.__emitter__){convert(item);watch(item)}owners=item.__emitter__.owners;if(owners.indexOf(arr)<0){owners.push(arr)}}}}}function unlinkArrayElements(arr,items){if(items){var i=items.length,item;while(i--){item=items[i];if(item&&item.__emitter__){var owners=item.__emitter__.owners;if(owners)owners.splice(owners.indexOf(arr))}}}}var ObjProxy=Object.create(Object.prototype);def(ObjProxy,"$add",function(key,val){if(hasOwn.call(this,key))return;this[key]=val;convertKey(this,key);this.__emitter__.emit("set",key,val,true)},!hasProto);def(ObjProxy,"$delete",function(key){if(!hasOwn.call(this,key))return;this[key]=undefined;delete this[key];this.__emitter__.emit("delete",key)},!hasProto);function isWatchable(obj){return typeof obj==="object"&&obj&&!obj.$compiler}function convert(obj){if(obj.__emitter__)return true;var emitter=new Emitter;def(obj,"__emitter__",emitter);emitter.on("set",function(key,val,propagate){if(propagate)propagateChange(obj)}).on("mutate",function(){propagateChange(obj)});emitter.values=utils.hash();emitter.owners=[];return false}function propagateChange(obj){var owners=obj.__emitter__.owners,i=owners.length;while(i--){owners[i].__emitter__.emit("set","","",true)}}function watch(obj){if(isArray(obj)){watchArray(obj)}else{watchObject(obj)}}function augment(target,src){if(hasProto){target.__proto__=src}else{for(var key in src){def(target,key,src[key])}}}function watchObject(obj){augment(obj,ObjProxy);for(var key in obj){convertKey(obj,key)}}function watchArray(arr){augment(arr,ArrayProxy);linkArrayElements(arr,arr)}function convertKey(obj,key){var keyPrefix=key.charAt(0);if(keyPrefix==="$"||keyPrefix==="_"){return}var emitter=obj.__emitter__,values=emitter.values;init(obj[key]);oDef(obj,key,{enumerable:true,configurable:true,get:function(){var value=values[key];if(pub.shouldGet){emitter.emit("get",key)}return value},set:function(newVal){var oldVal=values[key];unobserve(oldVal,key,emitter);copyPaths(newVal,oldVal);init(newVal,true)}});function init(val,propagate){values[key]=val;emitter.emit("set",key,val,propagate);if(isArray(val)){emitter.emit("set",key+".length",val.length,propagate)}observe(val,key,emitter)}}function emitSet(obj){var emitter=obj&&obj.__emitter__;if(!emitter)return;if(isArray(obj)){emitter.emit("set","length",obj.length)}else{var key,val;for(key in obj){val=obj[key];emitter.emit("set",key,val);emitSet(val)}}}function copyPaths(newObj,oldObj){if(!isObject(newObj)||!isObject(oldObj)){return}var path,oldVal,newVal;for(path in oldObj){if(!hasOwn.call(newObj,path)){oldVal=oldObj[path];if(isArray(oldVal)){newObj[path]=[]}else if(isObject(oldVal)){newVal=newObj[path]={};copyPaths(newVal,oldVal)}else{newObj[path]=undefined}}}}function ensurePath(obj,key){var path=key.split("."),sec;for(var i=0,d=path.length-1;i<d;i++){sec=path[i];if(!obj[sec]){obj[sec]={};if(obj.__emitter__)convertKey(obj,sec)}obj=obj[sec]}if(isObject(obj)){sec=path[i];if(!hasOwn.call(obj,sec)){obj[sec]=undefined;if(obj.__emitter__)convertKey(obj,sec)}}}function observe(obj,rawPath,observer){if(!isWatchable(obj))return;var path=rawPath?rawPath+".":"",alreadyConverted=convert(obj),emitter=obj.__emitter__;observer.proxies=observer.proxies||{};var proxies=observer.proxies[path]={get:function(key){observer.emit("get",path+key)},set:function(key,val,propagate){if(key)observer.emit("set",path+key,val);if(rawPath&&propagate){observer.emit("set",rawPath,obj,true)}},mutate:function(key,val,mutation){var fixedPath=key?path+key:rawPath;observer.emit("mutate",fixedPath,val,mutation);var m=mutation.method;if(m!=="sort"&&m!=="reverse"){observer.emit("set",fixedPath+".length",val.length)}}};emitter.on("get",proxies.get).on("set",proxies.set).on("mutate",proxies.mutate);if(alreadyConverted){emitSet(obj)}else{watch(obj)}}function unobserve(obj,path,observer){if(!obj||!obj.__emitter__)return;path=path?path+".":"";var proxies=observer.proxies[path];if(!proxies)return;obj.__emitter__.off("get",proxies.get).off("set",proxies.set).off("mutate",proxies.mutate);observer.proxies[path]=null}var pub=module.exports={shouldGet:false,observe:observe,unobserve:unobserve,ensurePath:ensurePath,copyPaths:copyPaths,watch:watch,convert:convert,convertKey:convertKey}},{"./emitter":17,"./utils":25}],23:[function(require,module,exports){var openChar="{",endChar="}",ESCAPE_RE=/[-.*+?^${}()|[\]\/\\]/g,BINDING_RE=buildInterpolationRegex(),Directive;function buildInterpolationRegex(){var open=escapeRegex(openChar),end=escapeRegex(endChar);return new RegExp(open+open+open+"?(.+?)"+end+"?"+end+end)}function escapeRegex(str){return str.replace(ESCAPE_RE,"\\$&")}function setDelimiters(delimiters){exports.delimiters=delimiters;openChar=delimiters[0];endChar=delimiters[1];BINDING_RE=buildInterpolationRegex()}function parse(text){if(!BINDING_RE.test(text))return null;var m,i,token,match,tokens=[];while(m=text.match(BINDING_RE)){i=m.index;if(i>0)tokens.push(text.slice(0,i));token={key:m[1].trim()};match=m[0];token.html=match.charAt(2)===openChar&&match.charAt(match.length-3)===endChar;tokens.push(token);text=text.slice(i+m[0].length)}if(text.length)tokens.push(text);return tokens}function parseAttr(attr){Directive=Directive||require("./directive");var tokens=parse(attr);if(!tokens)return null;if(tokens.length===1)return tokens[0].key;var res=[],token;for(var i=0,l=tokens.length;i<l;i++){token=tokens[i];res.push(token.key?inlineFilters(token.key):'"'+token+'"')}return res.join("+")}function inlineFilters(key){if(key.indexOf("|")>-1){var dirs=Directive.parse(key),dir=dirs&&dirs[0];if(dir&&dir.filters){key=Directive.inlineFilters(dir.key,dir.filters)}}return"("+key+")"}exports.parse=parse;exports.parseAttr=parseAttr;exports.setDelimiters=setDelimiters;exports.delimiters=[openChar,endChar]},{"./directive":6}],24:[function(require,module,exports){var endEvents=sniffEndEvents(),config=require("./config"),Batcher=require("./batcher"),batcher=new Batcher,setTO=window.setTimeout,clearTO=window.clearTimeout,codes={CSS_E:1,CSS_L:2,JS_E:3,JS_L:4,CSS_SKIP:-1,JS_SKIP:-2,JS_SKIP_E:-3,JS_SKIP_L:-4,INIT:-5,SKIP:-6};batcher._preFlush=function(){var f=document.body.offsetHeight};var transition=module.exports=function(el,stage,cb,compiler){var changeState=function(){cb();compiler.execHook(stage>0?"attached":"detached")};if(compiler.init){changeState();return codes.INIT}var hasTransition=el.vue_trans==="",hasAnimation=el.vue_anim==="",effectId=el.vue_effect;if(effectId){return applyTransitionFunctions(el,stage,changeState,effectId,compiler)}else if(hasTransition||hasAnimation){return applyTransitionClass(el,stage,changeState,hasAnimation)}else{changeState();return codes.SKIP}};transition.codes=codes;function applyTransitionClass(el,stage,changeState,hasAnimation){if(!endEvents.trans){changeState();return codes.CSS_SKIP}var onEnd,classList=el.classList,existingCallback=el.vue_trans_cb,enterClass=config.enterClass,leaveClass=config.leaveClass,endEvent=hasAnimation?endEvents.anim:endEvents.trans;if(existingCallback){el.removeEventListener(endEvent,existingCallback);classList.remove(enterClass);classList.remove(leaveClass);el.vue_trans_cb=null}if(stage>0){classList.add(enterClass);changeState();if(!hasAnimation){batcher.push({execute:function(){classList.remove(enterClass)}})}else{onEnd=function(e){if(e.target===el){el.removeEventListener(endEvent,onEnd);el.vue_trans_cb=null;classList.remove(enterClass)}};el.addEventListener(endEvent,onEnd);el.vue_trans_cb=onEnd}return codes.CSS_E}else{if(el.offsetWidth||el.offsetHeight){classList.add(leaveClass);onEnd=function(e){if(e.target===el){el.removeEventListener(endEvent,onEnd);el.vue_trans_cb=null;changeState();classList.remove(leaveClass)}};el.addEventListener(endEvent,onEnd);el.vue_trans_cb=onEnd}else{changeState()}return codes.CSS_L}}function applyTransitionFunctions(el,stage,changeState,effectId,compiler){var funcs=compiler.getOption("effects",effectId);if(!funcs){changeState();return codes.JS_SKIP}var enter=funcs.enter,leave=funcs.leave,timeouts=el.vue_timeouts;if(timeouts){var i=timeouts.length;while(i--){clearTO(timeouts[i])}}timeouts=el.vue_timeouts=[];function timeout(cb,delay){var id=setTO(function(){cb();timeouts.splice(timeouts.indexOf(id),1);if(!timeouts.length){el.vue_timeouts=null}},delay);timeouts.push(id)}if(stage>0){if(typeof enter!=="function"){changeState();return codes.JS_SKIP_E}enter(el,changeState,timeout);return codes.JS_E}else{if(typeof leave!=="function"){changeState();return codes.JS_SKIP_L}leave(el,changeState,timeout);return codes.JS_L}}function sniffEndEvents(){var el=document.createElement("vue"),defaultEvent="transitionend",events={transition:defaultEvent,mozTransition:defaultEvent,webkitTransition:"webkitTransitionEnd"},ret={};for(var name in events){if(el.style[name]!==undefined){ret.trans=events[name];break}}ret.anim=el.style.animation===""?"animationend":"webkitAnimationEnd";return ret}},{"./batcher":1,"./config":4}],25:[function(require,module,exports){var config=require("./config"),toString={}.toString,win=window,console=win.console,timeout=win.setTimeout,def=Object.defineProperty,THIS_RE=/[^\w]this[^\w]/,OBJECT="object",hasClassList="classList"in document.documentElement,ViewModel;var utils=module.exports={get:function(obj,key){if(key.indexOf(".")<0){return obj[key]}var path=key.split("."),d=-1,l=path.length;while(++d<l&&obj!=null){obj=obj[path[d]]}return obj},set:function(obj,key,val){if(key.indexOf(".")<0){obj[key]=val;return}var path=key.split("."),d=-1,l=path.length-1;while(++d<l){if(obj[path[d]]==null){obj[path[d]]={}}obj=obj[path[d]]}obj[path[d]]=val},baseKey:function(key){return key.indexOf(".")>0?key.split(".")[0]:key},hash:function(){return Object.create(null)},attr:function(el,type){var attr=config.prefix+"-"+type,val=el.getAttribute(attr);if(val!==null){el.removeAttribute(attr)}return val},defProtected:function(obj,key,val,enumerable,writable){def(obj,key,{value:val,enumerable:enumerable,writable:writable,configurable:true})},isObject:function(obj){return typeof obj===OBJECT&&obj&&!Array.isArray(obj)},isTrueObject:function(obj){return toString.call(obj)==="[object Object]"},bind:function(fn,ctx){return function(arg){return fn.call(ctx,arg)}},guard:function(value){return value==null?"":typeof value=="object"?JSON.stringify(value):value},checkNumber:function(value){return isNaN(value)||value===null||typeof value==="boolean"?value:Number(value)},extend:function(obj,ext){for(var key in ext){if(obj[key]!==ext[key]){obj[key]=ext[key]}}return obj},unique:function(arr){var hash=utils.hash(),i=arr.length,key,res=[];while(i--){key=arr[i];if(hash[key])continue;hash[key]=1;res.push(key)}return res},toFragment:function(template){if(typeof template!=="string"){return template}if(template.charAt(0)==="#"){var templateNode=document.getElementById(template.slice(1));if(!templateNode)return;if(templateNode.tagName==="TEMPLATE"&&templateNode.content){return templateNode.content}template=templateNode.innerHTML}var node=document.createElement("div"),frag=document.createDocumentFragment(),child;node.innerHTML=template.trim();while(child=node.firstChild){if(node.nodeType===1){frag.appendChild(child)}}return frag},toConstructor:function(obj){ViewModel=ViewModel||require("./viewmodel");return utils.isObject(obj)?ViewModel.extend(obj):typeof obj==="function"?obj:null},checkFilter:function(filter){if(THIS_RE.test(filter.toString())){filter.computed=true}},processOptions:function(options){var components=options.components,partials=options.partials,template=options.template,filters=options.filters,key;if(components){for(key in components){components[key]=utils.toConstructor(components[key])}}if(partials){for(key in partials){partials[key]=utils.toFragment(partials[key])}}if(filters){for(key in filters){utils.checkFilter(filters[key])}}if(template){options.template=utils.toFragment(template)}},nextTick:function(cb){timeout(cb,0)},addClass:function(el,cls){if(hasClassList){el.classList.add(cls)}else{var cur=" "+el.className+" ";if(cur.indexOf(" "+cls+" ")<0){el.className=(cur+cls).trim()}}},removeClass:function(el,cls){if(hasClassList){el.classList.remove(cls)}else{var cur=" "+el.className+" ",tar=" "+cls+" ";while(cur.indexOf(tar)>=0){cur=cur.replace(tar," ")}el.className=cur.trim()}},objectToArray:function(obj){var res=[],val,data;for(var key in obj){val=obj[key];data=utils.isObject(val)?val:{$value:val};data.$key=key;res.push(data)}return res}};enableDebug();function enableDebug(){utils.log=function(msg){if(config.debug&&console){console.log(msg)}};utils.warn=function(msg){if(!config.silent&&console){console.warn(msg);if(config.debug&&console.trace){console.trace()}}}}},{"./config":4,"./viewmodel":26}],26:[function(require,module,exports){var Compiler=require("./compiler"),utils=require("./utils"),transition=require("./transition"),Batcher=require("./batcher"),slice=[].slice,def=utils.defProtected,nextTick=utils.nextTick,watcherBatcher=new Batcher,watcherId=1;function ViewModel(options){new Compiler(this,options)}var VMProto=ViewModel.prototype;def(VMProto,"$get",function(key){var val=utils.get(this,key);return val===undefined&&this.$parent?this.$parent.$get(key):val});def(VMProto,"$set",function(key,value){utils.set(this,key,value)});def(VMProto,"$watch",function(key,callback){var id=watcherId++,self=this;function on(){var args=slice.call(arguments);watcherBatcher.push({id:id,override:true,execute:function(){callback.apply(self,args)}})}callback._fn=on;self.$compiler.observer.on("change:"+key,on)});def(VMProto,"$unwatch",function(key,callback){var args=["change:"+key],ob=this.$compiler.observer;if(callback)args.push(callback._fn);ob.off.apply(ob,args)});def(VMProto,"$destroy",function(){this.$compiler.destroy()});def(VMProto,"$broadcast",function(){var children=this.$compiler.children,i=children.length,child;while(i--){child=children[i];child.emitter.emit.apply(child.emitter,arguments);child.vm.$broadcast.apply(child.vm,arguments)}});def(VMProto,"$dispatch",function(){var compiler=this.$compiler,emitter=compiler.emitter,parent=compiler.parent;emitter.emit.apply(emitter,arguments);if(parent){parent.vm.$dispatch.apply(parent.vm,arguments)}});["emit","on","off","once"].forEach(function(method){def(VMProto,"$"+method,function(){var emitter=this.$compiler.emitter;emitter[method].apply(emitter,arguments)})});def(VMProto,"$appendTo",function(target,cb){target=query(target);var el=this.$el;transition(el,1,function(){target.appendChild(el);if(cb)nextTick(cb)},this.$compiler)});def(VMProto,"$remove",function(cb){var el=this.$el;transition(el,-1,function(){if(el.parentNode){el.parentNode.removeChild(el)}if(cb)nextTick(cb)},this.$compiler)});def(VMProto,"$before",function(target,cb){target=query(target);var el=this.$el;transition(el,1,function(){target.parentNode.insertBefore(el,target);if(cb)nextTick(cb)},this.$compiler)});def(VMProto,"$after",function(target,cb){target=query(target);var el=this.$el;transition(el,1,function(){if(target.nextSibling){target.parentNode.insertBefore(el,target.nextSibling)}else{target.parentNode.appendChild(el)}if(cb)nextTick(cb)},this.$compiler)});function query(el){return typeof el==="string"?document.querySelector(el):el}module.exports=ViewModel},{"./batcher":1,"./compiler":3,"./transition":24,"./utils":25}]},{},[]);require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({TeU2HG:[function(require,module,exports){var escapeHtml=require("escape-html");var voidElements=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"];var reserved=["tag","className","htmlFor","text","children","order","attrs"];function attr(key,value){if(value===false)return"";else if(value===true||value===null)return" "+escapeHtml(key);else return" "+escapeHtml(key)+'="'+escapeHtml(value)+'"'}function hill(node){var key,i;var result="<"+escapeHtml(node.tag);if(node.hasOwnProperty("htmlFor")){result+=attr("for",node.htmlFor)}if(node.hasOwnProperty("className")){result+=attr("class",node.className)}for(key in node){if(node.hasOwnProperty(key)&&reserved.indexOf(key)==-1){result+=attr(key,node[key])}}if(node.attrs!==null&&typeof node.attrs==="object"){for(key in node.attrs){if(node.attrs.hasOwnProperty(key)){result+=" "+escapeHtml(key)+'="'+escapeHtml(node.attrs[key])+'"'}}}result+=">";if(voidElements.indexOf(node.tag)==-1){var children;if(typeof node.children!=="undefined"&&Array.isArray(node.children)){children=node.children.slice()}else if(node.children!=null&&typeof node.children==="object"){var order=Array.isArray(node.order)?node.order:[];children=[];for(i=0;i<order.length;i++){if(node.children.hasOwnProperty(order[i])){children.push(node.children[order[i]])}}for(key in node.children){if(node.children.hasOwnProperty(key)&&order.indexOf(key)===-1){children.push(node.children[key])}}}else{children=[]}if(typeof node.text==="string"){children.push(node.text)}for(i=0;i<children.length;i++){if(typeof children[i]==="string"){result+=escapeHtml(children[i])}else if(children[i]!==null&&typeof children[i]==="object"){result+=hill(children[i])}}result+="</"+escapeHtml(node.tag)+">"}return result}module.exports=hill},{"escape-html":3}],hill:[function(require,module,exports){module.exports=require("TeU2HG")},{}],3:[function(require,module,exports){module.exports=function(html){return String(html).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}},{}]},{},[]);require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({"6cIyZX":[function(require,module,exports){module.exports=parse;var map={legend:[1,"<fieldset>","</fieldset>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],_default:[0,"",""]};map.td=map.th=[3,"<table><tbody><tr>","</tr></tbody></table>"];map.option=map.optgroup=[1,'<select multiple="multiple">',"</select>"];map.thead=map.tbody=map.colgroup=map.caption=map.tfoot=[1,"<table>","</table>"];map.text=map.circle=map.ellipse=map.line=map.path=map.polygon=map.polyline=map.rect=[1,'<svg xmlns="http://www.w3.org/2000/svg" version="1.1">',"</svg>"];function parse(html){if("string"!=typeof html)throw new TypeError("String expected");var m=/<([\w:]+)/.exec(html);if(!m)return document.createTextNode(html);html=html.replace(/^\s+|\s+$/g,"");var tag=m[1];if(tag=="body"){var el=document.createElement("html");el.innerHTML=html;return el.removeChild(el.lastChild)}var wrap=map[tag]||map._default;var depth=wrap[0];var prefix=wrap[1];var suffix=wrap[2];var el=document.createElement("div");
el.innerHTML=prefix+html+suffix;while(depth--)el=el.lastChild;if(el.firstChild==el.lastChild){return el.removeChild(el.firstChild)}var fragment=document.createDocumentFragment();while(el.firstChild){fragment.appendChild(el.removeChild(el.firstChild))}return fragment}},{}],domify:[function(require,module,exports){module.exports=require("6cIyZX")},{}]},{},[]);require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({HLdyM6:[function(require,module,exports){function crete(ruleset){var start=ruleset.sel+" {\n";var end="}\n";Object.keys(ruleset).forEach(function(key){if(["sel"].indexOf(key)!==-1)return;start+=key+": "+ruleset[key]+";"+"\n"});return start+end}module.exports=crete},{}],crete:[function(require,module,exports){module.exports=require("HLdyM6")},{}]},{},[]);require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({G56gnv:[function(require,module,exports){var inserted={};module.exports=function(css){if(inserted[css])return;inserted[css]=true;var elem=document.createElement("style");elem.setAttribute("type","text/css");if("textContent"in elem){elem.textContent=css}else{elem.styleSheet.cssText=css}var head=document.getElementsByTagName("head")[0];head.appendChild(elem)}},{}],"insert-css":[function(require,module,exports){module.exports=require("G56gnv")},{}]},{},[]);var Vue=require("vue");var hill=require("hill");var domify=require("domify");var crete=require("crete");var insertCss=require("insert-css");var css=[];var blocks=[];css=css.concat([{sel:"*",margin:"0",padding:"0","font-family":"Helvetica, Arial, sans-serif"},{sel:"body","background-color":"#80daeb"}]);css.push({sel:"form",padding:"12px"});function buildForm(blocks){return'<form id="bio-writer">'+blocks.join("\n")+"</form>"}css.push({sel:"h1",color:"#ee9","font-weight":"normal"});blocks.push(hill({tag:"h1",text:"bio writer"}));css=css.concat([{sel:".row",margin:"12px 0"},{sel:".clear",clear:"both"},{sel:".field","float":"left",padding:"3px 8px","border-radius":"5px"},{sel:".field","background-color":"#fff"},{sel:"label","float":"left","min-width":"80px",position:"relative",top:"4px",color:"#888","margin-right":"20px"},{sel:"input[type=text]","float":"left","min-width":"250px","font-size":"120%",border:0},{sel:"input[type=text]:focus",outline:"none"}]);function field(fieldName){var node={tag:"div",className:"row",children:[{tag:"div",className:"field",children:[{tag:"label",htmlFor:fieldName,text:fieldName},{tag:"input",type:"text","v-model":fieldName,id:fieldName}]},{tag:"div",className:"clear"}]};return hill(node)}blocks.push(field("title"));blocks.push(field("city"));blocks.push(field("activity"));css.push({sel:"p.report",color:"#bff"});blocks.push(hill({tag:"p",text:"Yet another {{title}}. Lives in {{city}}. Loves to {{activity}}."}));insertCss(css.map(crete).join(""));document.body.appendChild(domify(buildForm(blocks)));var bioWriter=new Vue({el:"#bio-writer",data:{title:"",city:"",activity:""}});
{
"name": "requirebin-sketch",
"version": "1.0.0",
"dependencies": {
"vue": "0.10.3",
"hill": "0.0.1",
"domify": "1.2.2",
"crete": "0.0.3",
"insert-css": "0.1.1"
}
}
<style type='text/css'>html, body { margin: 0; padding: 0; border: 0; }
body, html { height: 100%; width: 100%; }</style>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment