Пример #1
0
 function parseClass (string) {
   var m = split(string, /([\.#]?[a-zA-Z0-9_-]+)/)
   forEach(m, function (v) {
     var s = v.substring(1,v.length)
     if(!v) return
     if(!e)
       e = document.createElement(v)
     else if (v[0] === '.')
       ClassList(e).add(s)
     else if (v[0] === '#')
       e.setAttribute('id', s)
   })
 }
Пример #2
0
function parseTag(tag, props) {
    if (!tag) {
        return 'DIV';
    }

    var noId = !(props.hasOwnProperty('id'));

    var tagParts = split(tag, classIdSplit);
    var tagName = null;

    if (notClassId.test(tagParts[1])) {
        tagName = 'DIV';
    }

    var classes, part, type, i;

    for (i = 0; i < tagParts.length; i++) {
        part = tagParts[i];

        if (!part) {
            continue;
        }

        type = part.charAt(0);

        if (!tagName) {
            tagName = part;
        } else if (type === '.') {
            classes = classes || [];
            classes.push(part.substring(1, part.length));
        } else if (type === '#' && noId) {
            props.id = part.substring(1, part.length);
        }
    }

    if (classes) {
        if (props.className) {
            classes.push(props.className);
        }

        props.className = classes.join(' ');
    }

    return props.namespace ? tagName : tagName.toUpperCase();
}
Пример #3
0
      function parseClass (string) {
        // Our minimal parser doesn’t understand escaping CSS special
        // characters like `#`. Don’t use them. More reading:
        // https://mathiasbynens.be/notes/css-escapes .

        var m = split(string, /([\.#]?[^\s#.]+)/)
        if(/^\.|#/.test(m[1]))
          e = document.createElement('div')
        forEach(m, function (v) {
          var s = v.substring(1,v.length)
          if(!v) return
          if(!e)
            e = document.createElement(v)
          else if (v[0] === '.')
            ClassList(e).add(s)
          else if (v[0] === '#')
            e.setAttribute('id', s)
        })
      }
Пример #4
0
export function selectorParser(selector = ``) {
  let tagName
  let id = ``
  let classes = []

  let tagParts = split(selector, classIdSplit)

  if (notClassId.test(tagParts[1]) || selector === ``) {
    tagName = `div`
  }

  let part
  let type
  let i

  for (i = 0; i < tagParts.length; i++) {
    part = tagParts[i]

    if (!part) {
      continue
    }

    type = part.charAt(0)

    if (!tagName) {
      tagName = part
    } else if (type === `.`) {
      classes.push(part.substring(1, part.length))
    } else if (type === `#`) {
      id = part.substring(1, part.length)
    }
  }

  return {
    tagName,
    id,
    className: classes.join(` `),
  }
}
(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);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.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){},{}],2:[function(require,module,exports){module.exports=function split(undef){var nativeSplit=String.prototype.split,compliantExecNpcg=/()??/.exec("")[1]===undef,self;self=function(str,separator,limit){if(Object.prototype.toString.call(separator)!=="[object RegExp]"){return nativeSplit.call(str,separator,limit)}var output=[],flags=(separator.ignoreCase?"i":"")+(separator.multiline?"m":"")+(separator.extended?"x":"")+(separator.sticky?"y":""),lastLastIndex=0,separator=new RegExp(separator.source,flags+"g"),separator2,match,lastIndex,lastLength;str+="";if(!compliantExecNpcg){separator2=new RegExp("^"+separator.source+"$(?!\\s)",flags)}limit=limit===undef?-1>>>0:limit>>>0;while(match=separator.exec(str)){lastIndex=match.index+match[0].length;if(lastIndex>lastLastIndex){output.push(str.slice(lastLastIndex,match.index));if(!compliantExecNpcg&&match.length>1){match[0].replace(separator2,function(){for(var i=1;i<arguments.length-2;i++){if(arguments[i]===undef){match[i]=undef}}})}if(match.length>1&&match.index<str.length){Array.prototype.push.apply(output,match.slice(1))}lastLength=match[0].length;lastLastIndex=lastIndex;if(output.length>=limit){break}}if(separator.lastIndex===match.index){separator.lastIndex++}}if(lastLastIndex===str.length){if(lastLength||!separator.test("")){output.push("")}}else{output.push(str.slice(lastLastIndex))}return output.length>limit?output.slice(0,limit):output};return self}()},{}],3:[function(require,module,exports){"use strict";var OneVersionConstraint=require("individual/one-version");var MY_VERSION="7";OneVersionConstraint("ev-store",MY_VERSION);var hashKey="__EV_STORE_KEY@"+MY_VERSION;module.exports=EvStore;function EvStore(elem){var hash=elem[hashKey];if(!hash){hash=elem[hashKey]={}}return hash}},{"individual/one-version":6}],4:[function(require,module,exports){(function(global){var topLevel=typeof global!=="undefined"?global:typeof window!=="undefined"?window:{};var minDoc=require("min-document");if(typeof document!=="undefined"){module.exports=document}else{var doccy=topLevel["__GLOBAL_DOCUMENT_CACHE@4"];if(!doccy){doccy=topLevel["__GLOBAL_DOCUMENT_CACHE@4"]=minDoc}module.exports=doccy}}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"min-document":1}],5:[function(require,module,exports){(function(global){"use strict";var root=typeof window!=="undefined"?window:typeof global!=="undefined"?global:{};module.exports=Individual;function Individual(key,value){if(key in root){return root[key]}root[key]=value;return value}}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],6:[function(require,module,exports){"use strict";var Individual=require("./index.js");module.exports=OneVersion;function OneVersion(moduleName,version,defaultValue){var key="__INDIVIDUAL_ONE_VERSION_"+moduleName;var enforceKey=key+"_ENFORCE_SINGLETON";var versionValue=Individual(enforceKey,version);if(versionValue!==version){throw new Error("Can only have one copy of "+moduleName+".\n"+"You already have version "+versionValue+" installed.\n"+"This means you cannot install version "+version)}return Individual(key,defaultValue)}},{"./index.js":5}],7:[function(require,module,exports){"use strict";module.exports=function isObject(x){return typeof x==="object"&&x!==null}},{}],8:[function(require,module,exports){var createElement=require("./vdom/create-element.js");module.exports=createElement},{"./vdom/create-element.js":12}],9:[function(require,module,exports){var diff=require("./vtree/diff.js");module.exports=diff},{"./vtree/diff.js":35}],10:[function(require,module,exports){var patch=require("./vdom/patch.js");module.exports=patch},{"./vdom/patch.js":15}],11:[function(require,module,exports){var isObject=require("is-object");var isHook=require("../vnode/is-vhook.js");module.exports=applyProperties;function applyProperties(node,props,previous){for(var propName in props){var propValue=props[propName];if(propValue===undefined){removeProperty(node,propName,propValue,previous)}else if(isHook(propValue)){removeProperty(node,propName,propValue,previous);if(propValue.hook){propValue.hook(node,propName,previous?previous[propName]:undefined)}}else{if(isObject(propValue)){patchObject(node,props,previous,propName,propValue)}else{node[propName]=propValue}}}}function removeProperty(node,propName,propValue,previous){if(previous){var previousValue=previous[propName];if(!isHook(previousValue)){if(propName==="attributes"){for(var attrName in previousValue){node.removeAttribute(attrName)}}else if(propName==="style"){for(var i in previousValue){node.style[i]=""}}else if(typeof previousValue==="string"){node[propName]=""}else{node[propName]=null}}else if(previousValue.unhook){previousValue.unhook(node,propName,propValue)}}}function patchObject(node,props,previous,propName,propValue){var previousValue=previous?previous[propName]:undefined;if(propName==="attributes"){for(var attrName in propValue){var attrValue=propValue[attrName];if(attrValue===undefined){node.removeAttribute(attrName)}else{node.setAttribute(attrName,attrValue)}}return}if(previousValue&&isObject(previousValue)&&getPrototype(previousValue)!==getPrototype(propValue)){node[propName]=propValue;return}if(!isObject(node[propName])){node[propName]={}}var replacer=propName==="style"?"":undefined;for(var k in propValue){var value=propValue[k];node[propName][k]=value===undefined?replacer:value}}function getPrototype(value){if(Object.getPrototypeOf){return Object.getPrototypeOf(value)}else if(value.__proto__){return value.__proto__}else if(value.constructor){return value.constructor.prototype}}},{"../vnode/is-vhook.js":26,"is-object":7}],12:[function(require,module,exports){var document=require("global/document");var applyProperties=require("./apply-properties");var isVNode=require("../vnode/is-vnode.js");var isVText=require("../vnode/is-vtext.js");var isWidget=require("../vnode/is-widget.js");var handleThunk=require("../vnode/handle-thunk.js");module.exports=createElement;function createElement(vnode,opts){var doc=opts?opts.document||document:document;var warn=opts?opts.warn:null;vnode=handleThunk(vnode).a;if(isWidget(vnode)){return vnode.init()}else if(isVText(vnode)){return doc.createTextNode(vnode.text)}else if(!isVNode(vnode)){if(warn){warn("Item is not a valid virtual dom node",vnode)}return null}var node=vnode.namespace===null?doc.createElement(vnode.tagName):doc.createElementNS(vnode.namespace,vnode.tagName);var props=vnode.properties;applyProperties(node,props);var children=vnode.children;for(var i=0;i<children.length;i++){var childNode=createElement(children[i],opts);if(childNode){node.appendChild(childNode)}}return node}},{"../vnode/handle-thunk.js":24,"../vnode/is-vnode.js":27,"../vnode/is-vtext.js":28,"../vnode/is-widget.js":29,"./apply-properties":11,"global/document":4}],13:[function(require,module,exports){var noChild={};module.exports=domIndex;function domIndex(rootNode,tree,indices,nodes){if(!indices||indices.length===0){return{}}else{indices.sort(ascending);return recurse(rootNode,tree,indices,nodes,0)}}function recurse(rootNode,tree,indices,nodes,rootIndex){nodes=nodes||{};if(rootNode){if(indexInRange(indices,rootIndex,rootIndex)){nodes[rootIndex]=rootNode}var vChildren=tree.children;if(vChildren){var childNodes=rootNode.childNodes;for(var i=0;i<tree.children.length;i++){rootIndex+=1;var vChild=vChildren[i]||noChild;var nextIndex=rootIndex+(vChild.count||0);if(indexInRange(indices,rootIndex,nextIndex)){recurse(childNodes[i],vChild,indices,nodes,rootIndex)}rootIndex=nextIndex}}}return nodes}function indexInRange(indices,left,right){if(indices.length===0){return false}var minIndex=0;var maxIndex=indices.length-1;var currentIndex;var currentItem;while(minIndex<=maxIndex){currentIndex=(maxIndex+minIndex)/2>>0;currentItem=indices[currentIndex];if(minIndex===maxIndex){return currentItem>=left&&currentItem<=right}else if(currentItem<left){minIndex=currentIndex+1}else if(currentItem>right){maxIndex=currentIndex-1}else{return true}}return false}function ascending(a,b){return a>b?1:-1}},{}],14:[function(require,module,exports){var applyProperties=require("./apply-properties");var isWidget=require("../vnode/is-widget.js");var VPatch=require("../vnode/vpatch.js");var updateWidget=require("./update-widget");module.exports=applyPatch;function applyPatch(vpatch,domNode,renderOptions){var type=vpatch.type;var vNode=vpatch.vNode;var patch=vpatch.patch;switch(type){case VPatch.REMOVE:return removeNode(domNode,vNode);case VPatch.INSERT:return insertNode(domNode,patch,renderOptions);case VPatch.VTEXT:return stringPatch(domNode,vNode,patch,renderOptions);case VPatch.WIDGET:return widgetPatch(domNode,vNode,patch,renderOptions);case VPatch.VNODE:return vNodePatch(domNode,vNode,patch,renderOptions);case VPatch.ORDER:reorderChildren(domNode,patch);return domNode;case VPatch.PROPS:applyProperties(domNode,patch,vNode.properties);return domNode;case VPatch.THUNK:return replaceRoot(domNode,renderOptions.patch(domNode,patch,renderOptions));default:return domNode}}function removeNode(domNode,vNode){var parentNode=domNode.parentNode;if(parentNode){parentNode.removeChild(domNode)}destroyWidget(domNode,vNode);return null}function insertNode(parentNode,vNode,renderOptions){var newNode=renderOptions.render(vNode,renderOptions);if(parentNode){parentNode.appendChild(newNode)}return parentNode}function stringPatch(domNode,leftVNode,vText,renderOptions){var newNode;if(domNode.nodeType===3){domNode.replaceData(0,domNode.length,vText.text);newNode=domNode}else{var parentNode=domNode.parentNode;newNode=renderOptions.render(vText,renderOptions);if(parentNode&&newNode!==domNode){parentNode.replaceChild(newNode,domNode)}}return newNode}function widgetPatch(domNode,leftVNode,widget,renderOptions){var updating=updateWidget(leftVNode,widget);var newNode;if(updating){newNode=widget.update(leftVNode,domNode)||domNode}else{newNode=renderOptions.render(widget,renderOptions)}var parentNode=domNode.parentNode;if(parentNode&&newNode!==domNode){parentNode.replaceChild(newNode,domNode)}if(!updating){destroyWidget(domNode,leftVNode)}return newNode}function vNodePatch(domNode,leftVNode,vNode,renderOptions){var parentNode=domNode.parentNode;var newNode=renderOptions.render(vNode,renderOptions);if(parentNode&&newNode!==domNode){parentNode.replaceChild(newNode,domNode)}return newNode}function destroyWidget(domNode,w){if(typeof w.destroy==="function"&&isWidget(w)){w.destroy(domNode)}}function reorderChildren(domNode,moves){var childNodes=domNode.childNodes;var keyMap={};var node;var remove;var insert;for(var i=0;i<moves.removes.length;i++){remove=moves.removes[i];node=childNodes[remove.from];if(remove.key){keyMap[remove.key]=node}domNode.removeChild(node)}var length=childNodes.length;for(var j=0;j<moves.inserts.length;j++){insert=moves.inserts[j];node=keyMap[insert.key];domNode.insertBefore(node,insert.to>=length++?null:childNodes[insert.to])}}function replaceRoot(oldRoot,newRoot){if(oldRoot&&newRoot&&oldRoot!==newRoot&&oldRoot.parentNode){oldRoot.parentNode.replaceChild(newRoot,oldRoot)}return newRoot}},{"../vnode/is-widget.js":29,"../vnode/vpatch.js":32,"./apply-properties":11,"./update-widget":16}],15:[function(require,module,exports){var document=require("global/document");var isArray=require("x-is-array");var render=require("./create-element");var domIndex=require("./dom-index");var patchOp=require("./patch-op");module.exports=patch;function patch(rootNode,patches,renderOptions){renderOptions=renderOptions||{};renderOptions.patch=renderOptions.patch&&renderOptions.patch!==patch?renderOptions.patch:patchRecursive;renderOptions.render=renderOptions.render||render;return renderOptions.patch(rootNode,patches,renderOptions)}function patchRecursive(rootNode,patches,renderOptions){var indices=patchIndices(patches);if(indices.length===0){return rootNode}var index=domIndex(rootNode,patches.a,indices);var ownerDocument=rootNode.ownerDocument;if(!renderOptions.document&&ownerDocument!==document){renderOptions.document=ownerDocument}for(var i=0;i<indices.length;i++){var nodeIndex=indices[i];rootNode=applyPatch(rootNode,index[nodeIndex],patches[nodeIndex],renderOptions)}return rootNode}function applyPatch(rootNode,domNode,patchList,renderOptions){if(!domNode){return rootNode}var newNode;if(isArray(patchList)){for(var i=0;i<patchList.length;i++){newNode=patchOp(patchList[i],domNode,renderOptions);if(domNode===rootNode){rootNode=newNode}}}else{newNode=patchOp(patchList,domNode,renderOptions);if(domNode===rootNode){rootNode=newNode}}return rootNode}function patchIndices(patches){var indices=[];for(var key in patches){if(key!=="a"){indices.push(Number(key))}}return indices}},{"./create-element":12,"./dom-index":13,"./patch-op":14,"global/document":4,"x-is-array":36}],16:[function(require,module,exports){var isWidget=require("../vnode/is-widget.js");module.exports=updateWidget;function updateWidget(a,b){if(isWidget(a)&&isWidget(b)){if("name"in a&&"name"in b){return a.id===b.id}else{return a.init===b.init}}return false}},{"../vnode/is-widget.js":29}],17:[function(require,module,exports){"use strict";module.exports=AttributeHook;function AttributeHook(namespace,value){if(!(this instanceof AttributeHook)){return new AttributeHook(namespace,value)}this.namespace=namespace;this.value=value}AttributeHook.prototype.hook=function(node,prop,prev){if(prev&&prev.type==="AttributeHook"&&prev.value===this.value&&prev.namespace===this.namespace){return}node.setAttributeNS(this.namespace,prop,this.value)};AttributeHook.prototype.unhook=function(node,prop,next){if(next&&next.type==="AttributeHook"&&next.namespace===this.namespace){return}var colonPosition=prop.indexOf(":");var localName=colonPosition>-1?prop.substr(colonPosition+1):prop;node.removeAttributeNS(this.namespace,localName)};AttributeHook.prototype.type="AttributeHook"},{}],18:[function(require,module,exports){"use strict";var EvStore=require("ev-store");module.exports=EvHook;function EvHook(value){if(!(this instanceof EvHook)){return new EvHook(value)}this.value=value}EvHook.prototype.hook=function(node,propertyName){var es=EvStore(node);var propName=propertyName.substr(3);es[propName]=this.value};EvHook.prototype.unhook=function(node,propertyName){var es=EvStore(node);var propName=propertyName.substr(3);es[propName]=undefined}},{"ev-store":3}],19:[function(require,module,exports){"use strict";module.exports=SoftSetHook;function SoftSetHook(value){if(!(this instanceof SoftSetHook)){return new SoftSetHook(value)}this.value=value}SoftSetHook.prototype.hook=function(node,propertyName){if(node[propertyName]!==this.value){node[propertyName]=this.value}}},{}],20:[function(require,module,exports){"use strict";var isArray=require("x-is-array");var VNode=require("../vnode/vnode.js");var VText=require("../vnode/vtext.js");var isVNode=require("../vnode/is-vnode");var isVText=require("../vnode/is-vtext");var isWidget=require("../vnode/is-widget");var isHook=require("../vnode/is-vhook");var isVThunk=require("../vnode/is-thunk");var parseTag=require("./parse-tag.js");var softSetHook=require("./hooks/soft-set-hook.js");var evHook=require("./hooks/ev-hook.js");module.exports=h;function h(tagName,properties,children){var childNodes=[];var tag,props,key,namespace;if(!children&&isChildren(properties)){children=properties;props={}}props=props||properties||{};tag=parseTag(tagName,props);if(props.hasOwnProperty("key")){key=props.key;props.key=undefined}if(props.hasOwnProperty("namespace")){namespace=props.namespace;props.namespace=undefined}if(tag==="INPUT"&&!namespace&&props.hasOwnProperty("value")&&props.value!==undefined&&!isHook(props.value)){props.value=softSetHook(props.value)}transformProperties(props);if(children!==undefined&&children!==null){addChild(children,childNodes,tag,props)}return new VNode(tag,props,childNodes,key,namespace)}function addChild(c,childNodes,tag,props){if(typeof c==="string"){childNodes.push(new VText(c))}else if(typeof c==="number"){childNodes.push(new VText(String(c)))}else if(isChild(c)){childNodes.push(c)}else if(isArray(c)){for(var i=0;i<c.length;i++){addChild(c[i],childNodes,tag,props)}}else if(c===null||c===undefined){return}else{throw UnexpectedVirtualElement({foreignObject:c,parentVnode:{tagName:tag,properties:props}})}}function transformProperties(props){for(var propName in props){if(props.hasOwnProperty(propName)){var value=props[propName];if(isHook(value)){continue}if(propName.substr(0,3)==="ev-"){props[propName]=evHook(value)}}}}function isChild(x){return isVNode(x)||isVText(x)||isWidget(x)||isVThunk(x)}function isChildren(x){return typeof x==="string"||isArray(x)||isChild(x)}function UnexpectedVirtualElement(data){var err=new Error;err.type="virtual-hyperscript.unexpected.virtual-element";err.message="Unexpected virtual child passed to h().\n"+"Expected a VNode / Vthunk / VWidget / string but:\n"+"got:\n"+errorString(data.foreignObject)+".\n"+"The parent vnode is:\n"+errorString(data.parentVnode);"\n"+"Suggested fix: change your `h(..., [ ... ])` callsite.";err.foreignObject=data.foreignObject;err.parentVnode=data.parentVnode;return err}function errorString(obj){try{return JSON.stringify(obj,null,"    ")}catch(e){return String(obj)}}},{"../vnode/is-thunk":25,"../vnode/is-vhook":26,"../vnode/is-vnode":27,"../vnode/is-vtext":28,"../vnode/is-widget":29,"../vnode/vnode.js":31,"../vnode/vtext.js":33,"./hooks/ev-hook.js":18,"./hooks/soft-set-hook.js":19,"./parse-tag.js":21,"x-is-array":36}],21:[function(require,module,exports){"use strict";var split=require("browser-split");var classIdSplit=/([\.#]?[a-zA-Z0-9\u007F-\uFFFF_:-]+)/;var notClassId=/^\.|#/;module.exports=parseTag;function parseTag(tag,props){if(!tag){return"DIV"}var noId=!props.hasOwnProperty("id");var tagParts=split(tag,classIdSplit);var tagName=null;if(notClassId.test(tagParts[1])){tagName="DIV"}var classes,part,type,i;for(i=0;i<tagParts.length;i++){part=tagParts[i];if(!part){continue}type=part.charAt(0);if(!tagName){tagName=part}else if(type==="."){classes=classes||[];classes.push(part.substring(1,part.length))}else if(type==="#"&&noId){props.id=part.substring(1,part.length)}}if(classes){if(props.className){classes.push(props.className)}props.className=classes.join(" ")}return props.namespace?tagName:tagName.toUpperCase()}},{"browser-split":2}],22:[function(require,module,exports){"use strict";var DEFAULT_NAMESPACE=null;var EV_NAMESPACE="http://www.w3.org/2001/xml-events";var XLINK_NAMESPACE="http://www.w3.org/1999/xlink";var XML_NAMESPACE="http://www.w3.org/XML/1998/namespace";var SVG_PROPERTIES={about:DEFAULT_NAMESPACE,"accent-height":DEFAULT_NAMESPACE,accumulate:DEFAULT_NAMESPACE,additive:DEFAULT_NAMESPACE,"alignment-baseline":DEFAULT_NAMESPACE,alphabetic:DEFAULT_NAMESPACE,amplitude:DEFAULT_NAMESPACE,"arabic-form":DEFAULT_NAMESPACE,ascent:DEFAULT_NAMESPACE,attributeName:DEFAULT_NAMESPACE,attributeType:DEFAULT_NAMESPACE,azimuth:DEFAULT_NAMESPACE,bandwidth:DEFAULT_NAMESPACE,baseFrequency:DEFAULT_NAMESPACE,baseProfile:DEFAULT_NAMESPACE,"baseline-shift":DEFAULT_NAMESPACE,bbox:DEFAULT_NAMESPACE,begin:DEFAULT_NAMESPACE,bias:DEFAULT_NAMESPACE,by:DEFAULT_NAMESPACE,calcMode:DEFAULT_NAMESPACE,"cap-height":DEFAULT_NAMESPACE,"class":DEFAULT_NAMESPACE,clip:DEFAULT_NAMESPACE,"clip-path":DEFAULT_NAMESPACE,"clip-rule":DEFAULT_NAMESPACE,clipPathUnits:DEFAULT_NAMESPACE,color:DEFAULT_NAMESPACE,"color-interpolation":DEFAULT_NAMESPACE,"color-interpolation-filters":DEFAULT_NAMESPACE,"color-profile":DEFAULT_NAMESPACE,"color-rendering":DEFAULT_NAMESPACE,content:DEFAULT_NAMESPACE,contentScriptType:DEFAULT_NAMESPACE,contentStyleType:DEFAULT_NAMESPACE,cursor:DEFAULT_NAMESPACE,cx:DEFAULT_NAMESPACE,cy:DEFAULT_NAMESPACE,d:DEFAULT_NAMESPACE,datatype:DEFAULT_NAMESPACE,defaultAction:DEFAULT_NAMESPACE,descent:DEFAULT_NAMESPACE,diffuseConstant:DEFAULT_NAMESPACE,direction:DEFAULT_NAMESPACE,display:DEFAULT_NAMESPACE,divisor:DEFAULT_NAMESPACE,"dominant-baseline":DEFAULT_NAMESPACE,dur:DEFAULT_NAMESPACE,dx:DEFAULT_NAMESPACE,dy:DEFAULT_NAMESPACE,edgeMode:DEFAULT_NAMESPACE,editable:DEFAULT_NAMESPACE,elevation:DEFAULT_NAMESPACE,"enable-background":DEFAULT_NAMESPACE,end:DEFAULT_NAMESPACE,"ev:event":EV_NAMESPACE,event:DEFAULT_NAMESPACE,exponent:DEFAULT_NAMESPACE,externalResourcesRequired:DEFAULT_NAMESPACE,fill:DEFAULT_NAMESPACE,"fill-opacity":DEFAULT_NAMESPACE,"fill-rule":DEFAULT_NAMESPACE,filter:DEFAULT_NAMESPACE,filterRes:DEFAULT_NAMESPACE,filterUnits:DEFAULT_NAMESPACE,"flood-color":DEFAULT_NAMESPACE,"flood-opacity":DEFAULT_NAMESPACE,focusHighlight:DEFAULT_NAMESPACE,focusable:DEFAULT_NAMESPACE,"font-family":DEFAULT_NAMESPACE,"font-size":DEFAULT_NAMESPACE,"font-size-adjust":DEFAULT_NAMESPACE,"font-stretch":DEFAULT_NAMESPACE,"font-style":DEFAULT_NAMESPACE,"font-variant":DEFAULT_NAMESPACE,"font-weight":DEFAULT_NAMESPACE,format:DEFAULT_NAMESPACE,from:DEFAULT_NAMESPACE,fx:DEFAULT_NAMESPACE,fy:DEFAULT_NAMESPACE,g1:DEFAULT_NAMESPACE,g2:DEFAULT_NAMESPACE,"glyph-name":DEFAULT_NAMESPACE,"glyph-orientation-horizontal":DEFAULT_NAMESPACE,"glyph-orientation-vertical":DEFAULT_NAMESPACE,glyphRef:DEFAULT_NAMESPACE,gradientTransform:DEFAULT_NAMESPACE,gradientUnits:DEFAULT_NAMESPACE,handler:DEFAULT_NAMESPACE,hanging:DEFAULT_NAMESPACE,height:DEFAULT_NAMESPACE,"horiz-adv-x":DEFAULT_NAMESPACE,"horiz-origin-x":DEFAULT_NAMESPACE,"horiz-origin-y":DEFAULT_NAMESPACE,id:DEFAULT_NAMESPACE,ideographic:DEFAULT_NAMESPACE,"image-rendering":DEFAULT_NAMESPACE,"in":DEFAULT_NAMESPACE,in2:DEFAULT_NAMESPACE,initialVisibility:DEFAULT_NAMESPACE,intercept:DEFAULT_NAMESPACE,k:DEFAULT_NAMESPACE,k1:DEFAULT_NAMESPACE,k2:DEFAULT_NAMESPACE,k3:DEFAULT_NAMESPACE,k4:DEFAULT_NAMESPACE,kernelMatrix:DEFAULT_NAMESPACE,kernelUnitLength:DEFAULT_NAMESPACE,kerning:DEFAULT_NAMESPACE,keyPoints:DEFAULT_NAMESPACE,keySplines:DEFAULT_NAMESPACE,keyTimes:DEFAULT_NAMESPACE,lang:DEFAULT_NAMESPACE,lengthAdjust:DEFAULT_NAMESPACE,"letter-spacing":DEFAULT_NAMESPACE,"lighting-color":DEFAULT_NAMESPACE,limitingConeAngle:DEFAULT_NAMESPACE,local:DEFAULT_NAMESPACE,"marker-end":DEFAULT_NAMESPACE,"marker-mid":DEFAULT_NAMESPACE,"marker-start":DEFAULT_NAMESPACE,markerHeight:DEFAULT_NAMESPACE,markerUnits:DEFAULT_NAMESPACE,markerWidth:DEFAULT_NAMESPACE,mask:DEFAULT_NAMESPACE,maskContentUnits:DEFAULT_NAMESPACE,maskUnits:DEFAULT_NAMESPACE,mathematical:DEFAULT_NAMESPACE,max:DEFAULT_NAMESPACE,media:DEFAULT_NAMESPACE,mediaCharacterEncoding:DEFAULT_NAMESPACE,mediaContentEncodings:DEFAULT_NAMESPACE,mediaSize:DEFAULT_NAMESPACE,mediaTime:DEFAULT_NAMESPACE,method:DEFAULT_NAMESPACE,min:DEFAULT_NAMESPACE,mode:DEFAULT_NAMESPACE,name:DEFAULT_NAMESPACE,"nav-down":DEFAULT_NAMESPACE,"nav-down-left":DEFAULT_NAMESPACE,"nav-down-right":DEFAULT_NAMESPACE,"nav-left":DEFAULT_NAMESPACE,"nav-next":DEFAULT_NAMESPACE,"nav-prev":DEFAULT_NAMESPACE,"nav-right":DEFAULT_NAMESPACE,"nav-up":DEFAULT_NAMESPACE,"nav-up-left":DEFAULT_NAMESPACE,"nav-up-right":DEFAULT_NAMESPACE,numOctaves:DEFAULT_NAMESPACE,observer:DEFAULT_NAMESPACE,offset:DEFAULT_NAMESPACE,opacity:DEFAULT_NAMESPACE,operator:DEFAULT_NAMESPACE,order:DEFAULT_NAMESPACE,orient:DEFAULT_NAMESPACE,orientation:DEFAULT_NAMESPACE,origin:DEFAULT_NAMESPACE,overflow:DEFAULT_NAMESPACE,overlay:DEFAULT_NAMESPACE,"overline-position":DEFAULT_NAMESPACE,"overline-thickness":DEFAULT_NAMESPACE,"panose-1":DEFAULT_NAMESPACE,path:DEFAULT_NAMESPACE,pathLength:DEFAULT_NAMESPACE,patternContentUnits:DEFAULT_NAMESPACE,patternTransform:DEFAULT_NAMESPACE,patternUnits:DEFAULT_NAMESPACE,phase:DEFAULT_NAMESPACE,playbackOrder:DEFAULT_NAMESPACE,"pointer-events":DEFAULT_NAMESPACE,points:DEFAULT_NAMESPACE,pointsAtX:DEFAULT_NAMESPACE,pointsAtY:DEFAULT_NAMESPACE,pointsAtZ:DEFAULT_NAMESPACE,preserveAlpha:DEFAULT_NAMESPACE,preserveAspectRatio:DEFAULT_NAMESPACE,primitiveUnits:DEFAULT_NAMESPACE,propagate:DEFAULT_NAMESPACE,property:DEFAULT_NAMESPACE,r:DEFAULT_NAMESPACE,radius:DEFAULT_NAMESPACE,refX:DEFAULT_NAMESPACE,refY:DEFAULT_NAMESPACE,rel:DEFAULT_NAMESPACE,"rendering-intent":DEFAULT_NAMESPACE,repeatCount:DEFAULT_NAMESPACE,repeatDur:DEFAULT_NAMESPACE,requiredExtensions:DEFAULT_NAMESPACE,requiredFeatures:DEFAULT_NAMESPACE,requiredFonts:DEFAULT_NAMESPACE,requiredFormats:DEFAULT_NAMESPACE,resource:DEFAULT_NAMESPACE,restart:DEFAULT_NAMESPACE,result:DEFAULT_NAMESPACE,rev:DEFAULT_NAMESPACE,role:DEFAULT_NAMESPACE,rotate:DEFAULT_NAMESPACE,rx:DEFAULT_NAMESPACE,ry:DEFAULT_NAMESPACE,scale:DEFAULT_NAMESPACE,seed:DEFAULT_NAMESPACE,"shape-rendering":DEFAULT_NAMESPACE,slope:DEFAULT_NAMESPACE,snapshotTime:DEFAULT_NAMESPACE,spacing:DEFAULT_NAMESPACE,specularConstant:DEFAULT_NAMESPACE,specularExponent:DEFAULT_NAMESPACE,spreadMethod:DEFAULT_NAMESPACE,startOffset:DEFAULT_NAMESPACE,stdDeviation:DEFAULT_NAMESPACE,stemh:DEFAULT_NAMESPACE,stemv:DEFAULT_NAMESPACE,stitchTiles:DEFAULT_NAMESPACE,"stop-color":DEFAULT_NAMESPACE,"stop-opacity":DEFAULT_NAMESPACE,"strikethrough-position":DEFAULT_NAMESPACE,"strikethrough-thickness":DEFAULT_NAMESPACE,string:DEFAULT_NAMESPACE,stroke:DEFAULT_NAMESPACE,"stroke-dasharray":DEFAULT_NAMESPACE,"stroke-dashoffset":DEFAULT_NAMESPACE,"stroke-linecap":DEFAULT_NAMESPACE,"stroke-linejoin":DEFAULT_NAMESPACE,"stroke-miterlimit":DEFAULT_NAMESPACE,"stroke-opacity":DEFAULT_NAMESPACE,"stroke-width":DEFAULT_NAMESPACE,surfaceScale:DEFAULT_NAMESPACE,syncBehavior:DEFAULT_NAMESPACE,syncBehaviorDefault:DEFAULT_NAMESPACE,syncMaster:DEFAULT_NAMESPACE,syncTolerance:DEFAULT_NAMESPACE,syncToleranceDefault:DEFAULT_NAMESPACE,systemLanguage:DEFAULT_NAMESPACE,tableValues:DEFAULT_NAMESPACE,target:DEFAULT_NAMESPACE,targetX:DEFAULT_NAMESPACE,targetY:DEFAULT_NAMESPACE,"text-anchor":DEFAULT_NAMESPACE,"text-decoration":DEFAULT_NAMESPACE,"text-rendering":DEFAULT_NAMESPACE,textLength:DEFAULT_NAMESPACE,timelineBegin:DEFAULT_NAMESPACE,title:DEFAULT_NAMESPACE,to:DEFAULT_NAMESPACE,transform:DEFAULT_NAMESPACE,transformBehavior:DEFAULT_NAMESPACE,type:DEFAULT_NAMESPACE,"typeof":DEFAULT_NAMESPACE,u1:DEFAULT_NAMESPACE,u2:DEFAULT_NAMESPACE,"underline-position":DEFAULT_NAMESPACE,"underline-thickness":DEFAULT_NAMESPACE,unicode:DEFAULT_NAMESPACE,"unicode-bidi":DEFAULT_NAMESPACE,"unicode-range":DEFAULT_NAMESPACE,"units-per-em":DEFAULT_NAMESPACE,"v-alphabetic":DEFAULT_NAMESPACE,"v-hanging":DEFAULT_NAMESPACE,"v-ideographic":DEFAULT_NAMESPACE,"v-mathematical":DEFAULT_NAMESPACE,values:DEFAULT_NAMESPACE,version:DEFAULT_NAMESPACE,"vert-adv-y":DEFAULT_NAMESPACE,"vert-origin-x":DEFAULT_NAMESPACE,"vert-origin-y":DEFAULT_NAMESPACE,viewBox:DEFAULT_NAMESPACE,viewTarget:DEFAULT_NAMESPACE,visibility:DEFAULT_NAMESPACE,width:DEFAULT_NAMESPACE,widths:DEFAULT_NAMESPACE,"word-spacing":DEFAULT_NAMESPACE,"writing-mode":DEFAULT_NAMESPACE,x:DEFAULT_NAMESPACE,"x-height":DEFAULT_NAMESPACE,x1:DEFAULT_NAMESPACE,x2:DEFAULT_NAMESPACE,xChannelSelector:DEFAULT_NAMESPACE,"xlink:actuate":XLINK_NAMESPACE,"xlink:arcrole":XLINK_NAMESPACE,"xlink:href":XLINK_NAMESPACE,"xlink:role":XLINK_NAMESPACE,"xlink:show":XLINK_NAMESPACE,"xlink:title":XLINK_NAMESPACE,"xlink:type":XLINK_NAMESPACE,"xml:base":XML_NAMESPACE,"xml:id":XML_NAMESPACE,"xml:lang":XML_NAMESPACE,"xml:space":XML_NAMESPACE,y:DEFAULT_NAMESPACE,y1:DEFAULT_NAMESPACE,y2:DEFAULT_NAMESPACE,yChannelSelector:DEFAULT_NAMESPACE,z:DEFAULT_NAMESPACE,zoomAndPan:DEFAULT_NAMESPACE};module.exports=SVGAttributeNamespace;function SVGAttributeNamespace(value){if(SVG_PROPERTIES.hasOwnProperty(value)){return SVG_PROPERTIES[value]}}},{}],23:[function(require,module,exports){"use strict";var isArray=require("x-is-array");var h=require("./index.js");var SVGAttributeNamespace=require("./svg-attribute-namespace");var attributeHook=require("./hooks/attribute-hook");var SVG_NAMESPACE="http://www.w3.org/2000/svg";module.exports=svg;function svg(tagName,properties,children){if(!children&&isChildren(properties)){children=properties;properties={}}properties=properties||{};properties.namespace=SVG_NAMESPACE;var attributes=properties.attributes||(properties.attributes={});for(var key in properties){if(!properties.hasOwnProperty(key)){continue}var namespace=SVGAttributeNamespace(key);if(namespace===undefined){continue}var value=properties[key];if(typeof value!=="string"&&typeof value!=="number"&&typeof value!=="boolean"){continue}if(namespace!==null){properties[key]=attributeHook(namespace,value);continue}attributes[key]=value;properties[key]=undefined}return h(tagName,properties,children)}function isChildren(x){return typeof x==="string"||isArray(x)}},{"./hooks/attribute-hook":17,"./index.js":20,"./svg-attribute-namespace":22,"x-is-array":36}],24:[function(require,module,exports){var isVNode=require("./is-vnode");var isVText=require("./is-vtext");var isWidget=require("./is-widget");var isThunk=require("./is-thunk");module.exports=handleThunk;function handleThunk(a,b){var renderedA=a;var renderedB=b;if(isThunk(b)){renderedB=renderThunk(b,a)}if(isThunk(a)){renderedA=renderThunk(a,null)}return{a:renderedA,b:renderedB}}function renderThunk(thunk,previous){var renderedThunk=thunk.vnode;if(!renderedThunk){renderedThunk=thunk.vnode=thunk.render(previous)}if(!(isVNode(renderedThunk)||isVText(renderedThunk)||isWidget(renderedThunk))){throw new Error("thunk did not return a valid node")}return renderedThunk}},{"./is-thunk":25,"./is-vnode":27,"./is-vtext":28,"./is-widget":29}],25:[function(require,module,exports){module.exports=isThunk;function isThunk(t){return t&&t.type==="Thunk"}},{}],26:[function(require,module,exports){module.exports=isHook;function isHook(hook){return hook&&(typeof hook.hook==="function"&&!hook.hasOwnProperty("hook")||typeof hook.unhook==="function"&&!hook.hasOwnProperty("unhook"))}},{}],27:[function(require,module,exports){var version=require("./version");module.exports=isVirtualNode;function isVirtualNode(x){return x&&x.type==="VirtualNode"&&x.version===version}},{"./version":30}],28:[function(require,module,exports){var version=require("./version");module.exports=isVirtualText;function isVirtualText(x){return x&&x.type==="VirtualText"&&x.version===version}},{"./version":30}],29:[function(require,module,exports){module.exports=isWidget;function isWidget(w){return w&&w.type==="Widget"}},{}],30:[function(require,module,exports){module.exports="2"},{}],31:[function(require,module,exports){var version=require("./version");var isVNode=require("./is-vnode");var isWidget=require("./is-widget");var isThunk=require("./is-thunk");var isVHook=require("./is-vhook");module.exports=VirtualNode;var noProperties={};var noChildren=[];function VirtualNode(tagName,properties,children,key,namespace){this.tagName=tagName;this.properties=properties||noProperties;this.children=children||noChildren;this.key=key!=null?String(key):undefined;this.namespace=typeof namespace==="string"?namespace:null;var count=children&&children.length||0;var descendants=0;var hasWidgets=false;var hasThunks=false;var descendantHooks=false;var hooks;for(var propName in properties){if(properties.hasOwnProperty(propName)){var property=properties[propName];if(isVHook(property)&&property.unhook){if(!hooks){hooks={}}hooks[propName]=property}}}for(var i=0;i<count;i++){var child=children[i];if(isVNode(child)){descendants+=child.count||0;if(!hasWidgets&&child.hasWidgets){hasWidgets=true}if(!hasThunks&&child.hasThunks){hasThunks=true}if(!descendantHooks&&(child.hooks||child.descendantHooks)){descendantHooks=true}}else if(!hasWidgets&&isWidget(child)){if(typeof child.destroy==="function"){hasWidgets=true}}else if(!hasThunks&&isThunk(child)){hasThunks=true}}this.count=count+descendants;this.hasWidgets=hasWidgets;this.hasThunks=hasThunks;this.hooks=hooks;this.descendantHooks=descendantHooks}VirtualNode.prototype.version=version;
Пример #6
0
function parseTag(tag, props) {
    if (!tag) {
        return "div"
    }

    var noId = !props || !("id" in props)

    var tagParts = split(tag, classIdSplit)
    var tagName = null

    if(notClassId.test(tagParts[1])) {
        tagName = "div"
    }

    var id, classes, part, type, i
    for (i = 0; i < tagParts.length; i++) {
        part = tagParts[i]

        if (!part) {
            continue
        }

        type = part.charAt(0)

        if (!tagName) {
            tagName = part
        } else if (type === ".") {
            classes = classes || []
            classes.push(part.substring(1, part.length))
        } else if (type === "#" && noId) {
            id = part.substring(1, part.length)
        }
    }

    var parsedTags

    if (props) {
        if (id !== undefined && !("id" in props)) {
            props.id = id
        }

        if (classes) {
            if (props.className) {
                classes.push(props.className)
            }

            props.className = classes.join(" ")
        }

        parsedTags = tagName
    } else if (classes || id !== undefined) {
        var properties = {}

        if (id !== undefined) {
            properties.id = id
        }

        if (classes) {
            properties.className = classes.join(" ")
        }

        parsedTags = {
            tagName: tagName,
            properties: properties
        }
    } else {
        parsedTags = tagName
    }

    return parsedTags
}