@amarajs/plugin-dom
Version:
Provides virtual DOM for AmaraJS web applications.
2 lines • 9.74 kB
JavaScript
function e(e){return e&&"VirtualNode"===e.type&&e.version===g}function t(e){return e&&"Widget"===e.type}function n(e){return e&&"Thunk"===e.type}function r(e){return e&&("function"==typeof e.hook&&!e.hasOwnProperty("hook")||"function"==typeof e.unhook&&!e.hasOwnProperty("unhook"))}function a(e,t,n,r,a){this.tagName=e,this.properties=t||x,this.children=n||T,this.key=null!=r?String(r):void 0,this.namespace="string"==typeof a?a:null;var i,o=n&&n.length||0,s=0,l=!1,c=!1,d=!1;for(var p in t)if(t.hasOwnProperty(p)){var h=t[p];b(h)&&h.unhook&&(i||(i={}),i[p]=h)}for(var u=0;u<o;u++){var m=n[u];y(m)?(s+=m.count||0,!l&&m.hasWidgets&&(l=!0),!c&&m.hasThunks&&(c=!0),d||!m.hooks&&!m.descendantHooks||(d=!0)):!l&&v(m)?"function"==typeof m.destroy&&(l=!0):!c&&k(m)&&(c=!0)}this.count=o+s,this.hasWidgets=l,this.hasThunks=c,this.hooks=i,this.descendantHooks=d}function i(e){this.text=String(e)}function o(e,t){if(!e)return s(document.createTextNode(""));if("string"==typeof e){if(!("DOMParser"in window))throw new Error("DOMParser is not available, so parsing string to DOM node is not possible.");E=E||new DOMParser;var n=E.parseFromString(e,"text/html");e=n.body.firstChild?n.getElementsByTagName("body")[0].firstChild:n.head.firstChild&&("TITLE"!==n.head.firstChild.tagName||n.title)?n.head.firstChild:n.firstChild&&"HTML"!==n.firstChild.tagName?n.firstChild:document.createTextNode("")}if("object"!=typeof e||!e||!e.nodeType)throw new Error("invalid dom node",e);return s(e,t)}function s(e,t){return 3===e.nodeType?l(e):1===e.nodeType||9===e.nodeType?c(e,t):new C("")}function l(e){return new C(e.nodeValue)}function c(e,t){var n=e.namespaceURI!==L?e.namespaceURI:null,r=t&&e.getAttribute(t)?e.getAttribute(t):null;return new w(e.tagName,p(e),d(e,t),r,n)}function d(e,t){for(var n=[],r=0;r<e.childNodes.length;r++)n.push(s(e.childNodes[r],t));return n}function p(e){var t={};if(!e.hasAttributes())return t;var n;e.namespaceURI&&e.namespaceURI!==L&&(n=e.namespaceURI);for(var r,a=0;a<e.attributes.length;a++)r="style"==e.attributes[a].name?m(e):n?u(e.attributes[a]):h(e.attributes[a]),r.ns?t[r.name]={namespace:r.ns,value:r.value}:r.isAttr?(t.attributes||(t.attributes={}),t.attributes[r.name]=r.value):t[r.name]=r.value;return t}function h(e){var t,n,r;return t=S[e.name]?S[e.name]:e.name,0===t.indexOf("data-")||0===t.indexOf("aria-")?(n=e.value,r=!0):n=e.value,{name:t,value:n,isAttr:r||!1}}function u(e){return{name:e.name,value:e.value,ns:P[e.name]||""}}function m(e){for(var t=e.style,n={},r=0;r<t.length;++r){var a=t.item(r);n[a]=String(t[a]),n[a].indexOf("url")>-1&&(n[a]=n[a].replace(/\"/g,""))}return{name:"style",value:n}}function f(e){var t=e.h,n=e.diff,r=e.patch,a=e.create;return function(){function e(e,o){var s=!1,l=i.get(o),c=t("amara:content",(p=[]).concat.apply(p,e));l?(u=c.children).unshift.apply(u,l.children.filter(D)):(s=!0,l=R(o),(h=c.children).unshift.apply(h,l.children.map(q))),c.tagName=l.tagName,c.properties=l.properties,i.set(o,c);var d=n(l,c);Object.keys(d).length>1?r(o,d):s&&(o.innerHTML=a(c).innerHTML);var p,h,u}var i=new WeakMap;return function(t){switch(t.type){case"core:apply-target-results":t.payload.dom&&t.payload.dom.forEach(e)}}}}var g="2",y=e,v=t,k=n,b=r,w=a,x={},T=[];a.prototype.version=g,a.prototype.type="VirtualNode";var C=i;i.prototype.version=g,i.prototype.type="VirtualText";var M={abbr:"abbr",accept:"accept","accept-charset":"acceptCharset",accesskey:"accessKey",action:"action",allowfullscreen:"allowFullScreen",allowtransparency:"allowTransparency",alt:"alt",async:"async",autocomplete:"autoComplete",autofocus:"autoFocus",autoplay:"autoPlay",cellpadding:"cellPadding",cellspacing:"cellSpacing",challenge:"challenge",charset:"charset",checked:"checked",cite:"cite",class:"className",cols:"cols",colspan:"colSpan",command:"command",content:"content",contenteditable:"contentEditable",contextmenu:"contextMenu",controls:"controls",coords:"coords",crossorigin:"crossOrigin",data:"data",datetime:"dateTime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",dropzone:"dropzone",enctype:"encType",for:"htmlFor",form:"form",formaction:"formAction",formenctype:"formEncType",formmethod:"formMethod",formnovalidate:"formNoValidate",formtarget:"formTarget",frameBorder:"frameBorder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hrefLang","http-equiv":"httpEquiv",icon:"icon",id:"id",inputmode:"inputMode",ismap:"isMap",itemid:"itemId",itemprop:"itemProp",itemref:"itemRef",itemscope:"itemScope",itemtype:"itemType",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",manifest:"manifest",max:"max",maxlength:"maxLength",media:"media",mediagroup:"mediaGroup",method:"method",min:"min",minlength:"minLength",multiple:"multiple",muted:"muted",name:"name",novalidate:"noValidate",open:"open",optimum:"optimum",pattern:"pattern",ping:"ping",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radioGroup",readonly:"readOnly",rel:"rel",required:"required",role:"role",rows:"rows",rowspan:"rowSpan",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",sortable:"sortable",span:"span",spellcheck:"spellCheck",src:"src",srcdoc:"srcDoc",srcset:"srcSet",start:"start",step:"step",style:"style",tabindex:"tabIndex",target:"target",title:"title",translate:"translate",type:"type",typemustmatch:"typeMustMatch",usemap:"useMap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},S=M,z=null,N="http://www.w3.org/2001/xml-events",O="http://www.w3.org/1999/xlink",A="http://www.w3.org/XML/1998/namespace",U={about:z,"accent-height":z,accumulate:z,additive:z,"alignment-baseline":z,alphabetic:z,amplitude:z,"arabic-form":z,ascent:z,attributeName:z,attributeType:z,azimuth:z,bandwidth:z,baseFrequency:z,baseProfile:z,"baseline-shift":z,bbox:z,begin:z,bias:z,by:z,calcMode:z,"cap-height":z,class:z,clip:z,"clip-path":z,"clip-rule":z,clipPathUnits:z,color:z,"color-interpolation":z,"color-interpolation-filters":z,"color-profile":z,"color-rendering":z,content:z,contentScriptType:z,contentStyleType:z,cursor:z,cx:z,cy:z,d:z,datatype:z,defaultAction:z,descent:z,diffuseConstant:z,direction:z,display:z,divisor:z,"dominant-baseline":z,dur:z,dx:z,dy:z,edgeMode:z,editable:z,elevation:z,"enable-background":z,end:z,"ev:event":N,event:z,exponent:z,externalResourcesRequired:z,fill:z,"fill-opacity":z,"fill-rule":z,filter:z,filterRes:z,filterUnits:z,"flood-color":z,"flood-opacity":z,focusHighlight:z,focusable:z,"font-family":z,"font-size":z,"font-size-adjust":z,"font-stretch":z,"font-style":z,"font-variant":z,"font-weight":z,format:z,from:z,fx:z,fy:z,g1:z,g2:z,"glyph-name":z,"glyph-orientation-horizontal":z,"glyph-orientation-vertical":z,glyphRef:z,gradientTransform:z,gradientUnits:z,handler:z,hanging:z,height:z,"horiz-adv-x":z,"horiz-origin-x":z,"horiz-origin-y":z,id:z,ideographic:z,"image-rendering":z,in:z,in2:z,initialVisibility:z,intercept:z,k:z,k1:z,k2:z,k3:z,k4:z,kernelMatrix:z,kernelUnitLength:z,kerning:z,keyPoints:z,keySplines:z,keyTimes:z,lang:z,lengthAdjust:z,"letter-spacing":z,"lighting-color":z,limitingConeAngle:z,local:z,"marker-end":z,"marker-mid":z,"marker-start":z,markerHeight:z,markerUnits:z,markerWidth:z,mask:z,maskContentUnits:z,maskUnits:z,mathematical:z,max:z,media:z,mediaCharacterEncoding:z,mediaContentEncodings:z,mediaSize:z,mediaTime:z,method:z,min:z,mode:z,name:z,"nav-down":z,"nav-down-left":z,"nav-down-right":z,"nav-left":z,"nav-next":z,"nav-prev":z,"nav-right":z,"nav-up":z,"nav-up-left":z,"nav-up-right":z,numOctaves:z,observer:z,offset:z,opacity:z,operator:z,order:z,orient:z,orientation:z,origin:z,overflow:z,overlay:z,"overline-position":z,"overline-thickness":z,"panose-1":z,path:z,pathLength:z,patternContentUnits:z,patternTransform:z,patternUnits:z,phase:z,playbackOrder:z,"pointer-events":z,points:z,pointsAtX:z,pointsAtY:z,pointsAtZ:z,preserveAlpha:z,preserveAspectRatio:z,primitiveUnits:z,propagate:z,property:z,r:z,radius:z,refX:z,refY:z,rel:z,"rendering-intent":z,repeatCount:z,repeatDur:z,requiredExtensions:z,requiredFeatures:z,requiredFonts:z,requiredFormats:z,resource:z,restart:z,result:z,rev:z,role:z,rotate:z,rx:z,ry:z,scale:z,seed:z,"shape-rendering":z,slope:z,snapshotTime:z,spacing:z,specularConstant:z,specularExponent:z,spreadMethod:z,startOffset:z,stdDeviation:z,stemh:z,stemv:z,stitchTiles:z,"stop-color":z,"stop-opacity":z,"strikethrough-position":z,"strikethrough-thickness":z,string:z,stroke:z,"stroke-dasharray":z,"stroke-dashoffset":z,"stroke-linecap":z,"stroke-linejoin":z,"stroke-miterlimit":z,"stroke-opacity":z,"stroke-width":z,surfaceScale:z,syncBehavior:z,syncBehaviorDefault:z,syncMaster:z,syncTolerance:z,syncToleranceDefault:z,systemLanguage:z,tableValues:z,target:z,targetX:z,targetY:z,"text-anchor":z,"text-decoration":z,"text-rendering":z,textLength:z,timelineBegin:z,title:z,to:z,transform:z,transformBehavior:z,type:z,typeof:z,u1:z,u2:z,"underline-position":z,"underline-thickness":z,unicode:z,"unicode-bidi":z,"unicode-range":z,"units-per-em":z,"v-alphabetic":z,"v-hanging":z,"v-ideographic":z,"v-mathematical":z,values:z,version:z,"vert-adv-y":z,"vert-origin-x":z,"vert-origin-y":z,viewBox:z,viewTarget:z,visibility:z,width:z,widths:z,"word-spacing":z,"writing-mode":z,x:z,"x-height":z,x1:z,x2:z,xChannelSelector:z,"xlink:actuate":O,"xlink:arcrole":O,"xlink:href":O,"xlink:role":O,"xlink:show":O,"xlink:title":O,"xlink:type":O,"xml:base":A,"xml:id":A,"xml:lang":A,"xml:space":A,y:z,y1:z,y2:z,yChannelSelector:z,z:z,zoomAndPan:z},P=U,E,L="http://www.w3.org/1999/xhtml",R=o,q=function(e){return e._prev=null,e},D=function(e){return"_prev"in e};module.exports=f;
//# sourceMappingURL=amara-plugin-dom.min.js.map