diff --git a/dist/x-tag-core-with-shadowdom.js b/dist/x-tag-core-with-shadowdom.js index 81f1ce2..8570d1b 100644 --- a/dist/x-tag-core-with-shadowdom.js +++ b/dist/x-tag-core-with-shadowdom.js @@ -8776,7 +8776,7 @@ window.CustomElements.addModule(function(scope) { js: pre == 'ms' ? pre : pre.charAt(0).toUpperCase() + pre.substring(1) }; })(), - matchSelector = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype[prefix.lowercase + 'MatchesSelector']; + matchSelector = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.msMatchesSelector || Element.prototype[prefix.lowercase + 'MatchesSelector']; /*** Functions ***/ diff --git a/dist/x-tag-core.js b/dist/x-tag-core.js index 74ba7d1..93fd972 100644 --- a/dist/x-tag-core.js +++ b/dist/x-tag-core.js @@ -3985,7 +3985,7 @@ window.CustomElements.addModule(function(scope) { js: pre == 'ms' ? pre : pre.charAt(0).toUpperCase() + pre.substring(1) }; })(), - matchSelector = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype[prefix.lowercase + 'MatchesSelector']; + matchSelector = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.msMatchesSelector || Element.prototype[prefix.lowercase + 'MatchesSelector']; /*** Functions ***/ diff --git a/dist/x-tag-no-polyfills.js b/dist/x-tag-no-polyfills.js index 38fe05e..fbc5a04 100644 --- a/dist/x-tag-no-polyfills.js +++ b/dist/x-tag-no-polyfills.js @@ -41,7 +41,7 @@ js: pre == 'ms' ? pre : pre.charAt(0).toUpperCase() + pre.substring(1) }; })(), - matchSelector = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype[prefix.lowercase + 'MatchesSelector']; + matchSelector = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.msMatchesSelector || Element.prototype[prefix.lowercase + 'MatchesSelector']; /*** Functions ***/ diff --git a/dist/x-tag-no-polyfills.min.js b/dist/x-tag-no-polyfills.min.js index 8fd82ad..0ce8f70 100644 --- a/dist/x-tag-no-polyfills.min.js +++ b/dist/x-tag-no-polyfills.min.js @@ -1 +1 @@ -(function(){function t(t){var e=F.call(t);return S[e]||(S[e]=e.match(q)[1].toLowerCase())}function e(n,r){var a=e[r||t(n)];return a?a(n):n}function n(e){return R[t(e)]?[e]:Array.prototype.slice.call(e,0)}function r(t,e){return(e||D).length?n(t.querySelectorAll(e)):[]}function a(t){t()}function o(n,r,a){var o=t(a);return"object"==o&&"object"==t(n[r])?B.merge(n[r],a):n[r]=e(a,o),n}function i(t,e,n){var r,a={};for(var o in e)a[o.split(":")[0]]=o;for(o in n)r=a[o.split(":")[0]],"function"==typeof e[r]?(r.match(":mixins")||(e[r+":mixins"]=e[r],delete e[r],r+=":mixins"),e[r].__mixin__=B.applyPseudos(o+(o.match(":mixins")?"":":mixins"),n[o],t.pseudos,e[r].__mixin__)):(e[o]=n[o],delete e[r])}function s(t,e,n){for(var r in n)e[r+":__mixin__("+H++ +")"]=B.applyPseudos(r,n[r],t.pseudos)}function u(t,e){for(var n=t.length;n--;)e.unshift(t[n]),B.mixins[t[n]].mixins&&u(B.mixins[t[n]].mixins,e);return e}function c(t){return u(t.mixins,[]).forEach(function(e){var n=B.mixins[e];for(var r in n){var a=n[r],o=t[r];if(o)switch(r){case"mixins":break;case"events":s(t,o,a);break;case"accessors":case"prototype":for(var u in a)o[u]?i(t,o[u],a[u],e):o[u]=a[u];break;default:i(t,o,a,e)}else t[r]=a}}),t}function l(t,e){for(var n,r=e.target,a=e.currentTarget;!n&&r&&r!=a;)r.tagName&&T.call(r,t.value)&&(n=r),r=r.parentNode;return!n&&a.tagName&&T.call(a,t.value)&&(n=a),n?t.listener=t.listener.bind(n):null}function p(t){return 0===t.button}function d(t,e,n,r){r?e[t]=n[t]:Object.defineProperty(e,t,{writable:!0,enumerable:!0,value:n[t]})}function m(t,e){var n=Object.getOwnPropertyDescriptor(t,"target");for(var r in e)z[r]||d(r,t,e,n);t.baseEvent=e}function f(t,e,n,r,a){E[a].call(t,n,e&&e.boolean?"":r)}function v(t,e,n,r,a){if(e&&(e.property||e.selector))for(var o=e.property?[t.xtag[e.property]]:e.selector?B.query(t,e.selector):[],i=o.length;i--;)o[i][a](n,r)}function h(t,e,n,r,a,o){var i=n.split(":"),s=i[0];"get"==s?(i[0]=e,t.prototype[e].get=B.applyPseudos(i.join(":"),r[n],t.pseudos,r[n])):"set"==s?(i[0]=e,t.prototype[e].set=B.applyPseudos(i.join(":"),a?function(t){var e,i="setAttribute";a.boolean?(t=!!t,e=this.hasAttribute(o),t||(i="removeAttribute")):(t=a.validate?a.validate.call(this,t):t,e=this.getAttribute(o)),f(this,a,o,t,i),r[n].call(this,t,e),v(this,a,o,t,i)}:r[n]?function(t){r[n].call(this,t)}:null,t.pseudos,r[n]),a&&(a.setter=r[n])):t.prototype[e][n]=r[n]}function b(t,e){t.prototype[e]={};var n,r=t.accessors[e],a=r.attribute;a&&(n=a.name=(a?a.name||e.replace(N,"$1-$2"):e).toLowerCase(),a.key=e,t.attributes[n]=a);for(var o in r)h(t,e,o,r,a,n);if(a){if(!t.prototype[e].get){var i=(a.boolean?"has":"get")+"Attribute";t.prototype[e].get=function(){return this[i](n)}}t.prototype[e].set||(t.prototype[e].set=function(t){t=a.boolean?!!t:a.validate?a.validate.call(this,t):t;var e=a.boolean?t?"setAttribute":"removeAttribute":"setAttribute";f(this,a,n,t,e),v(this,a,n,t,e)})}}function y(t){return"function"==typeof t?Y.exec(""+t)[1]:t}var g=window,_=document,E={setAttribute:Element.prototype.setAttribute,removeAttribute:Element.prototype.removeAttribute},w=Element.prototype.createShadowRoot,A=_.createElement("div"),x=function(){},C=function(){return!0},k=/,/g,N=/([a-z])([A-Z])/g,O=/\(|\)/g,L=/:(\w+)\u276A(.+?(?=\u276B))|:(\w+)/g,j=/(\d+)/g,P={action:function(t,e){return t.value.match(j).indexOf(e.keyCode+"")>-1==("keypass"==t.name)||null}},M=function(){var t=Object.keys(window).join(),e=(t.match(/,(ms)/)||t.match(/,(moz)/)||t.match(/,(O)/)||[null,"webkit"])[1].toLowerCase();return{dom:"ms"==e?"MS":e,lowercase:e,css:"-"+e+"-",js:"ms"==e?e:e.charAt(0).toUpperCase()+e.substring(1)}}(),T=Element.prototype.matches||Element.prototype.matchesSelector||Element.prototype[M.lowercase+"MatchesSelector"],S={},F=S.toString,q=/\s([a-zA-Z]+)/;e.object=function(t){var n={};for(var r in t)n[r]=e(t[r]);return n},e.array=function(t){for(var n=t.length,r=Array(n);n--;)r[n]=e(t[n]);return r};var R={undefined:1,"null":1,number:1,"boolean":1,string:1,"function":1},D="",H=0,z={};for(var X in _.createEvent("CustomEvent"))z[X]=1;var Y=/\/\*!?(?:\@preserve)?[ \t]*(?:\r\n|\n)([\s\S]*?)(?:\r\n|\n)\s*\*\//,B={tags:{},defaultOptions:{pseudos:[],mixins:[],events:{},methods:{},accessors:{},lifecycle:{},attributes:{},prototype:{xtag:{get:function(){return this.__xtag__?this.__xtag__:this.__xtag__={data:{}}}}}},register:function(t,e){var r;if("string"!=typeof t)throw"First argument must be a Custom Element string name";r=t.toLowerCase(),B.tags[r]=e||{};var a=e.prototype;delete e.prototype;var o=B.tags[r].compiled=c(B.merge({},B.defaultOptions,e)),i=o.prototype,s=o.lifecycle;for(var u in o.events)o.events[u]=B.parseEvent(u,o.events[u]);for(u in s)s[u.split(":")[0]]=B.applyPseudos(u,s[u],o.pseudos,s[u]);for(u in o.methods)i[u.split(":")[0]]={value:B.applyPseudos(u,o.methods[u],o.pseudos,o.methods[u]),enumerable:!0};for(u in o.accessors)b(o,u);o.shadow&&(o.shadow=o.shadow.nodeName?o.shadow:B.createFragment(o.shadow)),o.content&&(o.content=o.content.nodeName?o.content.innerHTML:y(o.content));var l=s.created,p=s.finalized;i.createdCallback={enumerable:!0,value:function(){var t=this;o.shadow&&w&&this.createShadowRoot().appendChild(o.shadow.cloneNode(!0)),o.content&&(this.appendChild(document.createElement("div")).outerHTML=o.content);var e=l?l.apply(this,arguments):null;B.addEvents(this,o.events);for(var n in o.attributes){var r=o.attributes[n],a=this.hasAttribute(n),i=void 0!==r.def;(a||r.boolean||i)&&(this[r.key]=r.boolean?a:!a&&i?r.def:this.getAttribute(n))}return o.pseudos.forEach(function(e){e.onAdd.call(t,e)}),this.xtagComponentReady=!0,p&&p.apply(this,arguments),e}};var d=s.inserted,m=s.removed;(d||m)&&(i.attachedCallback={value:function(){return m&&(this.xtag.__parentNode__=this.parentNode),d?d.apply(this,arguments):void 0},enumerable:!0}),m&&(i.detachedCallback={value:function(){var t=n(arguments);t.unshift(this.xtag.__parentNode__);var e=m.apply(this,t);return delete this.xtag.__parentNode__,e},enumerable:!0}),s.attributeChanged&&(i.attributeChangedCallback={value:s.attributeChanged,enumerable:!0}),i.setAttribute={writable:!0,enumerable:!0,value:function(t,e){var n,r=t.toLowerCase(),a=o.attributes[r];a&&(n=this.getAttribute(r),e=a.boolean?"":a.validate?a.validate.call(this,e):e),f(this,a,r,e,"setAttribute"),a&&(a.setter&&a.setter.call(this,a.boolean?!0:e,n),v(this,a,r,e,"setAttribute"))}},i.removeAttribute={writable:!0,enumerable:!0,value:function(t){var e=t.toLowerCase(),n=o.attributes[e],r=this.hasAttribute(e);f(this,n,e,"","removeAttribute"),n&&(n.setter&&n.setter.call(this,n.boolean?!1:void 0,r),v(this,n,e,"","removeAttribute"))}};var h={},E=a instanceof g.HTMLElement,A=o["extends"]&&(h["extends"]=o["extends"]);return a&&Object.getOwnPropertyNames(a).forEach(function(t){var e=i[t],n=E?Object.getOwnPropertyDescriptor(a,t):a[t];if(e)for(var r in n)e[r]="function"==typeof n[r]&&e[r]?B.wrap(n[r],e[r]):n[r];i[t]=e||n}),h.prototype=Object.create(A?Object.create(_.createElement(A).constructor).prototype:g.HTMLElement.prototype,i),_.registerElement(r,h)},mixins:{},prefix:M,captureEvents:{focus:1,blur:1,scroll:1,DOMMouseScroll:1},customEvents:{animationstart:{attach:[M.dom+"AnimationStart"]},animationend:{attach:[M.dom+"AnimationEnd"]},transitionend:{attach:[M.dom+"TransitionEnd"]},move:{attach:["pointermove"]},enter:{attach:["pointerenter"]},leave:{attach:["pointerleave"]},scrollwheel:{attach:["DOMMouseScroll","mousewheel"],condition:function(t){return t.delta=t.wheelDelta?t.wheelDelta/40:Math.round(-1*(t.detail/3.5)),!0}},tap:{attach:["pointerdown","pointerup"],condition:function(t,e){if("pointerdown"==t.type)e.startX=t.clientX,e.startY=t.clientY;else if(0===t.button&&10>Math.abs(e.startX-t.clientX)&&10>Math.abs(e.startY-t.clientY))return!0}},tapstart:{attach:["pointerdown"],condition:p},tapend:{attach:["pointerup"],condition:p},tapmove:{attach:["pointerdown"],condition:function(t,e){if("pointerdown"==t.type){var n=e.listener.bind(this);e.tapmoveListeners||(e.tapmoveListeners=B.addEvents(document,{pointermove:n,pointerup:n,pointercancel:n}))}else("pointerup"==t.type||"pointercancel"==t.type)&&(B.removeEvents(document,e.tapmoveListeners),e.tapmoveListeners=null);return!0}},taphold:{attach:["pointerdown","pointerup"],condition:function(t,e){if("pointerdown"==t.type)(e.pointers=e.pointers||{})[t.pointerId]=setTimeout(B.fireEvent.bind(null,this,"taphold"),e.duration||1e3);else{if("pointerup"!=t.type)return!0;e.pointers&&(clearTimeout(e.pointers[t.pointerId]),delete e.pointers[t.pointerId])}}}},pseudos:{__mixin__:{},mixins:{onCompiled:function(t,e){var n=e.source&&e.source.__mixin__||e.source;if(!n)return t;switch(e.value){case null:case"":case"before":return function(){return n.apply(this,arguments),t.apply(this,arguments)};case"after":return function(){var e=t.apply(this,arguments);return n.apply(this,arguments),e};case"none":return t}}},keypass:P,keyfail:P,delegate:{action:l},preventable:{action:function(t,e){return!e.defaultPrevented}},duration:{onAdd:function(t){t.source.duration=Number(t.value)}},capture:{onCompiled:function(t,e){e.source&&(e.source.capture=!0)}}},clone:e,typeOf:t,toArray:n,wrap:function(t,e){return function(){var n=t.apply(this,arguments);return e.apply(this,arguments),n}},merge:function(e,n,r){if("string"==t(n))return o(e,n,r);for(var a=1,i=arguments.length;i>a;a++){var s=arguments[a];for(var u in s)o(e,u,s[u])}return e},uid:function(){return Math.random().toString(36).substr(2,10)},query:r,skipTransition:function(t,e,n){var r=M.js+"TransitionProperty";t.style[r]=t.style.transitionProperty="none";var a=e?e.call(n||t):null;return B.skipFrame(function(){t.style[r]=t.style.transitionProperty="",a&&a.call(n||t)})},requestFrame:function(){var t=g.requestAnimationFrame||g[M.lowercase+"RequestAnimationFrame"]||function(t){return g.setTimeout(t,20)};return function(e){return t(e)}}(),cancelFrame:function(){var t=g.cancelAnimationFrame||g[M.lowercase+"CancelAnimationFrame"]||g.clearTimeout;return function(e){return t(e)}}(),skipFrame:function(t){var e=B.requestFrame(function(){e=B.requestFrame(t)});return e},matchSelector:function(t,e){return T.call(t,e)},set:function(t,e,n){t[e]=n,window.CustomElements&&CustomElements.upgradeAll(t)},innerHTML:function(t,e){B.set(t,"innerHTML",e)},hasClass:function(t,e){return t.className.split(" ").indexOf(e.trim())>-1},addClass:function(t,e){var n=t.className.trim().split(" ");return e.trim().split(" ").forEach(function(t){~n.indexOf(t)||n.push(t)}),t.className=n.join(" ").trim(),t},removeClass:function(t,e){var n=e.trim().split(" ");return t.className=t.className.trim().split(" ").filter(function(t){return t&&!~n.indexOf(t)}).join(" "),t},toggleClass:function(t,e){return B[B.hasClass(t,e)?"removeClass":"addClass"].call(null,t,e)},queryChildren:function(t,e){var r=t.id,a="#"+(t.id=r||"x_"+B.uid())+" > ",o=t.parentNode||!A.appendChild(t);e=a+(e+"").replace(k,","+a);var i=t.parentNode.querySelectorAll(e);return r||t.removeAttribute("id"),o||A.removeChild(t),n(i)},createFragment:function(t){var e=document.createElement("template");return t&&(t.nodeName?n(arguments).forEach(function(t){e.content.appendChild(t)}):e.innerHTML=y(t)),document.importNode(e.content,!0)},manipulate:function(t,e){var n=t.nextSibling,r=t.parentNode,a=e.call(t)||t;n?r.insertBefore(a,n):r.appendChild(a)},applyPseudos:function(t,e,r,o){var i=e,s={};if(t.match(":")){var u=[],c=0;t.replace(O,function(t){return"("==t?1==++c?"❪":"(":--c?")":"❫"}).replace(L,function(t,e,n,r){u.push([e||r,n])});for(var l=u.length;l--;)a(function(){var a=u[l][0],c=u[l][1];if(!B.pseudos[a])throw"pseudo not found: "+a+" "+c;c=""===c||c===void 0?null:c;var p=s[l]=Object.create(B.pseudos[a]);p.key=t,p.name=a,p.value=c,p.arguments=(c||"").split(","),p.action=p.action||C,p.source=o,p.onAdd=p.onAdd||x,p.onRemove=p.onRemove||x;var d=p.listener=i;i=function(){var t=p.action.apply(this,[p].concat(n(arguments)));return null===t||t===!1?t:(t=p.listener.apply(this,arguments),p.listener=d,t)},r?r.push(p):p.onAdd.call(e,p)})}for(var p in s)s[p].onCompiled&&(i=s[p].onCompiled(i,s[p])||i);return i},removePseudos:function(t,e){e.forEach(function(e){e.onRemove.call(t,e)})},parseEvent:function(t,e){var r=t.split(":"),a=r.shift(),o=B.customEvents[a],i=B.merge({type:a,stack:x,condition:C,capture:B.captureEvents[a],attach:[],_attach:[],pseudos:"",_pseudos:[],onAdd:x,onRemove:x},o||{});i.attach=n(i.base||i.attach),i.chain=a+(i.pseudos.length?":"+i.pseudos:"")+(r.length?":"+r.join(":"):"");var s=B.applyPseudos(i.chain,e,i._pseudos,i);return i.stack=function(t){t.currentTarget=t.currentTarget||this;var e=t.detail||{};return e.__stack__?e.__stack__==s?(t.stopPropagation(),t.cancelBubble=!0,s.apply(this,arguments)):void 0:s.apply(this,arguments)},i.listener=function(t){var e=n(arguments),r=i.condition.apply(this,e.concat([i]));return r?t.type!=a&&t.baseEvent&&t.type!=t.baseEvent.type?(B.fireEvent(t.target,a,{baseEvent:t,detail:r!==!0&&(r.__stack__=s)?r:{__stack__:s}}),void 0):i.stack.apply(this,e):r},i.attach.forEach(function(t){i._attach.push(B.parseEvent(t,i.listener))}),i},addEvent:function(t,e,n,r){var a="function"==typeof n?B.parseEvent(e,n):n;return a._pseudos.forEach(function(e){e.onAdd.call(t,e)}),a._attach.forEach(function(e){B.addEvent(t,e.type,e)}),a.onAdd.call(t,a,a.listener),t.addEventListener(a.type,a.stack,r||a.capture),a},addEvents:function(t,e){var n={};for(var r in e)n[r]=B.addEvent(t,r,e[r]);return n},removeEvent:function(t,e,n){n=n||e,n.onRemove.call(t,n,n.listener),B.removePseudos(t,n._pseudos),n._attach.forEach(function(e){B.removeEvent(t,e)}),t.removeEventListener(n.type,n.stack)},removeEvents:function(t,e){for(var n in e)B.removeEvent(t,e[n])},fireEvent:function(t,e,n){var r=_.createEvent("CustomEvent");n=n||{},r.initCustomEvent(e,n.bubbles!==!1,n.cancelable!==!1,n.detail),n.baseEvent&&m(r,n.baseEvent),t.dispatchEvent(r)}};"function"==typeof define&&define.amd?define(B):"undefined"!=typeof module&&module.exports?module.exports=B:g.xtag=B,_.addEventListener("WebComponentsReady",function(){B.fireEvent(_.body,"DOMComponentsLoaded")})})(); \ No newline at end of file +(function(){function t(t){var e=F.call(t);return S[e]||(S[e]=e.match(q)[1].toLowerCase())}function e(n,r){var a=e[r||t(n)];return a?a(n):n}function n(e){return R[t(e)]?[e]:Array.prototype.slice.call(e,0)}function r(t,e){return(e||D).length?n(t.querySelectorAll(e)):[]}function a(t){t()}function o(n,r,a){var o=t(a);return"object"==o&&"object"==t(n[r])?B.merge(n[r],a):n[r]=e(a,o),n}function i(t,e,n){var r,a={};for(var o in e)a[o.split(":")[0]]=o;for(o in n)r=a[o.split(":")[0]],"function"==typeof e[r]?(r.match(":mixins")||(e[r+":mixins"]=e[r],delete e[r],r+=":mixins"),e[r].__mixin__=B.applyPseudos(o+(o.match(":mixins")?"":":mixins"),n[o],t.pseudos,e[r].__mixin__)):(e[o]=n[o],delete e[r])}function s(t,e,n){for(var r in n)e[r+":__mixin__("+H++ +")"]=B.applyPseudos(r,n[r],t.pseudos)}function u(t,e){for(var n=t.length;n--;)e.unshift(t[n]),B.mixins[t[n]].mixins&&u(B.mixins[t[n]].mixins,e);return e}function c(t){return u(t.mixins,[]).forEach(function(e){var n=B.mixins[e];for(var r in n){var a=n[r],o=t[r];if(o)switch(r){case"mixins":break;case"events":s(t,o,a);break;case"accessors":case"prototype":for(var u in a)o[u]?i(t,o[u],a[u],e):o[u]=a[u];break;default:i(t,o,a,e)}else t[r]=a}}),t}function l(t,e){for(var n,r=e.target,a=e.currentTarget;!n&&r&&r!=a;)r.tagName&&T.call(r,t.value)&&(n=r),r=r.parentNode;return!n&&a.tagName&&T.call(a,t.value)&&(n=a),n?t.listener=t.listener.bind(n):null}function p(t){return 0===t.button}function d(t,e,n,r){r?e[t]=n[t]:Object.defineProperty(e,t,{writable:!0,enumerable:!0,value:n[t]})}function m(t,e){var n=Object.getOwnPropertyDescriptor(t,"target");for(var r in e)z[r]||d(r,t,e,n);t.baseEvent=e}function f(t,e,n,r,a){E[a].call(t,n,e&&e.boolean?"":r)}function v(t,e,n,r,a){if(e&&(e.property||e.selector))for(var o=e.property?[t.xtag[e.property]]:e.selector?B.query(t,e.selector):[],i=o.length;i--;)o[i][a](n,r)}function h(t,e,n,r,a,o){var i=n.split(":"),s=i[0];"get"==s?(i[0]=e,t.prototype[e].get=B.applyPseudos(i.join(":"),r[n],t.pseudos,r[n])):"set"==s?(i[0]=e,t.prototype[e].set=B.applyPseudos(i.join(":"),a?function(t){var e,i="setAttribute";a.boolean?(t=!!t,e=this.hasAttribute(o),t||(i="removeAttribute")):(t=a.validate?a.validate.call(this,t):t,e=this.getAttribute(o)),f(this,a,o,t,i),r[n].call(this,t,e),v(this,a,o,t,i)}:r[n]?function(t){r[n].call(this,t)}:null,t.pseudos,r[n]),a&&(a.setter=r[n])):t.prototype[e][n]=r[n]}function b(t,e){t.prototype[e]={};var n,r=t.accessors[e],a=r.attribute;a&&(n=a.name=(a?a.name||e.replace(N,"$1-$2"):e).toLowerCase(),a.key=e,t.attributes[n]=a);for(var o in r)h(t,e,o,r,a,n);if(a){if(!t.prototype[e].get){var i=(a.boolean?"has":"get")+"Attribute";t.prototype[e].get=function(){return this[i](n)}}t.prototype[e].set||(t.prototype[e].set=function(t){t=a.boolean?!!t:a.validate?a.validate.call(this,t):t;var e=a.boolean?t?"setAttribute":"removeAttribute":"setAttribute";f(this,a,n,t,e),v(this,a,n,t,e)})}}function y(t){return"function"==typeof t?Y.exec(""+t)[1]:t}var g=window,_=document,E={setAttribute:Element.prototype.setAttribute,removeAttribute:Element.prototype.removeAttribute},w=Element.prototype.createShadowRoot,A=_.createElement("div"),x=function(){},C=function(){return!0},k=/,/g,N=/([a-z])([A-Z])/g,O=/\(|\)/g,L=/:(\w+)\u276A(.+?(?=\u276B))|:(\w+)/g,j=/(\d+)/g,M={action:function(t,e){return t.value.match(j).indexOf(e.keyCode+"")>-1==("keypass"==t.name)||null}},P=function(){var t=Object.keys(window).join(),e=(t.match(/,(ms)/)||t.match(/,(moz)/)||t.match(/,(O)/)||[null,"webkit"])[1].toLowerCase();return{dom:"ms"==e?"MS":e,lowercase:e,css:"-"+e+"-",js:"ms"==e?e:e.charAt(0).toUpperCase()+e.substring(1)}}(),T=Element.prototype.matches||Element.prototype.matchesSelector||Element.prototype.msMatchesSelector||Element.prototype[P.lowercase+"MatchesSelector"],S={},F=S.toString,q=/\s([a-zA-Z]+)/;e.object=function(t){var n={};for(var r in t)n[r]=e(t[r]);return n},e.array=function(t){for(var n=t.length,r=Array(n);n--;)r[n]=e(t[n]);return r};var R={undefined:1,"null":1,number:1,"boolean":1,string:1,"function":1},D="",H=0,z={};for(var X in _.createEvent("CustomEvent"))z[X]=1;var Y=/\/\*!?(?:\@preserve)?[ \t]*(?:\r\n|\n)([\s\S]*?)(?:\r\n|\n)\s*\*\//,B={tags:{},defaultOptions:{pseudos:[],mixins:[],events:{},methods:{},accessors:{},lifecycle:{},attributes:{},prototype:{xtag:{get:function(){return this.__xtag__?this.__xtag__:this.__xtag__={data:{}}}}}},register:function(t,e){var r;if("string"!=typeof t)throw"First argument must be a Custom Element string name";r=t.toLowerCase(),B.tags[r]=e||{};var a=e.prototype;delete e.prototype;var o=B.tags[r].compiled=c(B.merge({},B.defaultOptions,e)),i=o.prototype,s=o.lifecycle;for(var u in o.events)o.events[u]=B.parseEvent(u,o.events[u]);for(u in s)s[u.split(":")[0]]=B.applyPseudos(u,s[u],o.pseudos,s[u]);for(u in o.methods)i[u.split(":")[0]]={value:B.applyPseudos(u,o.methods[u],o.pseudos,o.methods[u]),enumerable:!0};for(u in o.accessors)b(o,u);o.shadow&&(o.shadow=o.shadow.nodeName?o.shadow:B.createFragment(o.shadow)),o.content&&(o.content=o.content.nodeName?o.content.innerHTML:y(o.content));var l=s.created,p=s.finalized;i.createdCallback={enumerable:!0,value:function(){var t=this;o.shadow&&w&&this.createShadowRoot().appendChild(o.shadow.cloneNode(!0)),o.content&&(this.appendChild(document.createElement("div")).outerHTML=o.content);var e=l?l.apply(this,arguments):null;B.addEvents(this,o.events);for(var n in o.attributes){var r=o.attributes[n],a=this.hasAttribute(n),i=void 0!==r.def;(a||r.boolean||i)&&(this[r.key]=r.boolean?a:!a&&i?r.def:this.getAttribute(n))}return o.pseudos.forEach(function(e){e.onAdd.call(t,e)}),this.xtagComponentReady=!0,p&&p.apply(this,arguments),e}};var d=s.inserted,m=s.removed;(d||m)&&(i.attachedCallback={value:function(){return m&&(this.xtag.__parentNode__=this.parentNode),d?d.apply(this,arguments):void 0},enumerable:!0}),m&&(i.detachedCallback={value:function(){var t=n(arguments);t.unshift(this.xtag.__parentNode__);var e=m.apply(this,t);return delete this.xtag.__parentNode__,e},enumerable:!0}),s.attributeChanged&&(i.attributeChangedCallback={value:s.attributeChanged,enumerable:!0}),i.setAttribute={writable:!0,enumerable:!0,value:function(t,e){var n,r=t.toLowerCase(),a=o.attributes[r];a&&(n=this.getAttribute(r),e=a.boolean?"":a.validate?a.validate.call(this,e):e),f(this,a,r,e,"setAttribute"),a&&(a.setter&&a.setter.call(this,a.boolean?!0:e,n),v(this,a,r,e,"setAttribute"))}},i.removeAttribute={writable:!0,enumerable:!0,value:function(t){var e=t.toLowerCase(),n=o.attributes[e],r=this.hasAttribute(e);f(this,n,e,"","removeAttribute"),n&&(n.setter&&n.setter.call(this,n.boolean?!1:void 0,r),v(this,n,e,"","removeAttribute"))}};var h={},E=a instanceof g.HTMLElement,A=o["extends"]&&(h["extends"]=o["extends"]);return a&&Object.getOwnPropertyNames(a).forEach(function(t){var e=i[t],n=E?Object.getOwnPropertyDescriptor(a,t):a[t];if(e)for(var r in n)e[r]="function"==typeof n[r]&&e[r]?B.wrap(n[r],e[r]):n[r];i[t]=e||n}),h.prototype=Object.create(A?Object.create(_.createElement(A).constructor).prototype:g.HTMLElement.prototype,i),_.registerElement(r,h)},mixins:{},prefix:P,captureEvents:{focus:1,blur:1,scroll:1,DOMMouseScroll:1},customEvents:{animationstart:{attach:[P.dom+"AnimationStart"]},animationend:{attach:[P.dom+"AnimationEnd"]},transitionend:{attach:[P.dom+"TransitionEnd"]},move:{attach:["pointermove"]},enter:{attach:["pointerenter"]},leave:{attach:["pointerleave"]},scrollwheel:{attach:["DOMMouseScroll","mousewheel"],condition:function(t){return t.delta=t.wheelDelta?t.wheelDelta/40:Math.round(-1*(t.detail/3.5)),!0}},tap:{attach:["pointerdown","pointerup"],condition:function(t,e){if("pointerdown"==t.type)e.startX=t.clientX,e.startY=t.clientY;else if(0===t.button&&10>Math.abs(e.startX-t.clientX)&&10>Math.abs(e.startY-t.clientY))return!0}},tapstart:{attach:["pointerdown"],condition:p},tapend:{attach:["pointerup"],condition:p},tapmove:{attach:["pointerdown"],condition:function(t,e){if("pointerdown"==t.type){var n=e.listener.bind(this);e.tapmoveListeners||(e.tapmoveListeners=B.addEvents(document,{pointermove:n,pointerup:n,pointercancel:n}))}else("pointerup"==t.type||"pointercancel"==t.type)&&(B.removeEvents(document,e.tapmoveListeners),e.tapmoveListeners=null);return!0}},taphold:{attach:["pointerdown","pointerup"],condition:function(t,e){if("pointerdown"==t.type)(e.pointers=e.pointers||{})[t.pointerId]=setTimeout(B.fireEvent.bind(null,this,"taphold"),e.duration||1e3);else{if("pointerup"!=t.type)return!0;e.pointers&&(clearTimeout(e.pointers[t.pointerId]),delete e.pointers[t.pointerId])}}}},pseudos:{__mixin__:{},mixins:{onCompiled:function(t,e){var n=e.source&&e.source.__mixin__||e.source;if(!n)return t;switch(e.value){case null:case"":case"before":return function(){return n.apply(this,arguments),t.apply(this,arguments)};case"after":return function(){var e=t.apply(this,arguments);return n.apply(this,arguments),e};case"none":return t}}},keypass:M,keyfail:M,delegate:{action:l},preventable:{action:function(t,e){return!e.defaultPrevented}},duration:{onAdd:function(t){t.source.duration=Number(t.value)}},capture:{onCompiled:function(t,e){e.source&&(e.source.capture=!0)}}},clone:e,typeOf:t,toArray:n,wrap:function(t,e){return function(){var n=t.apply(this,arguments);return e.apply(this,arguments),n}},merge:function(e,n,r){if("string"==t(n))return o(e,n,r);for(var a=1,i=arguments.length;i>a;a++){var s=arguments[a];for(var u in s)o(e,u,s[u])}return e},uid:function(){return Math.random().toString(36).substr(2,10)},query:r,skipTransition:function(t,e,n){var r=P.js+"TransitionProperty";t.style[r]=t.style.transitionProperty="none";var a=e?e.call(n||t):null;return B.skipFrame(function(){t.style[r]=t.style.transitionProperty="",a&&a.call(n||t)})},requestFrame:function(){var t=g.requestAnimationFrame||g[P.lowercase+"RequestAnimationFrame"]||function(t){return g.setTimeout(t,20)};return function(e){return t(e)}}(),cancelFrame:function(){var t=g.cancelAnimationFrame||g[P.lowercase+"CancelAnimationFrame"]||g.clearTimeout;return function(e){return t(e)}}(),skipFrame:function(t){var e=B.requestFrame(function(){e=B.requestFrame(t)});return e},matchSelector:function(t,e){return T.call(t,e)},set:function(t,e,n){t[e]=n,window.CustomElements&&CustomElements.upgradeAll(t)},innerHTML:function(t,e){B.set(t,"innerHTML",e)},hasClass:function(t,e){return t.className.split(" ").indexOf(e.trim())>-1},addClass:function(t,e){var n=t.className.trim().split(" ");return e.trim().split(" ").forEach(function(t){~n.indexOf(t)||n.push(t)}),t.className=n.join(" ").trim(),t},removeClass:function(t,e){var n=e.trim().split(" ");return t.className=t.className.trim().split(" ").filter(function(t){return t&&!~n.indexOf(t)}).join(" "),t},toggleClass:function(t,e){return B[B.hasClass(t,e)?"removeClass":"addClass"].call(null,t,e)},queryChildren:function(t,e){var r=t.id,a="#"+(t.id=r||"x_"+B.uid())+" > ",o=t.parentNode||!A.appendChild(t);e=a+(e+"").replace(k,","+a);var i=t.parentNode.querySelectorAll(e);return r||t.removeAttribute("id"),o||A.removeChild(t),n(i)},createFragment:function(t){var e=document.createElement("template");return t&&(t.nodeName?n(arguments).forEach(function(t){e.content.appendChild(t)}):e.innerHTML=y(t)),document.importNode(e.content,!0)},manipulate:function(t,e){var n=t.nextSibling,r=t.parentNode,a=e.call(t)||t;n?r.insertBefore(a,n):r.appendChild(a)},applyPseudos:function(t,e,r,o){var i=e,s={};if(t.match(":")){var u=[],c=0;t.replace(O,function(t){return"("==t?1==++c?"❪":"(":--c?")":"❫"}).replace(L,function(t,e,n,r){u.push([e||r,n])});for(var l=u.length;l--;)a(function(){var a=u[l][0],c=u[l][1];if(!B.pseudos[a])throw"pseudo not found: "+a+" "+c;c=""===c||c===void 0?null:c;var p=s[l]=Object.create(B.pseudos[a]);p.key=t,p.name=a,p.value=c,p.arguments=(c||"").split(","),p.action=p.action||C,p.source=o,p.onAdd=p.onAdd||x,p.onRemove=p.onRemove||x;var d=p.listener=i;i=function(){var t=p.action.apply(this,[p].concat(n(arguments)));return null===t||t===!1?t:(t=p.listener.apply(this,arguments),p.listener=d,t)},r?r.push(p):p.onAdd.call(e,p)})}for(var p in s)s[p].onCompiled&&(i=s[p].onCompiled(i,s[p])||i);return i},removePseudos:function(t,e){e.forEach(function(e){e.onRemove.call(t,e)})},parseEvent:function(t,e){var r=t.split(":"),a=r.shift(),o=B.customEvents[a],i=B.merge({type:a,stack:x,condition:C,capture:B.captureEvents[a],attach:[],_attach:[],pseudos:"",_pseudos:[],onAdd:x,onRemove:x},o||{});i.attach=n(i.base||i.attach),i.chain=a+(i.pseudos.length?":"+i.pseudos:"")+(r.length?":"+r.join(":"):"");var s=B.applyPseudos(i.chain,e,i._pseudos,i);return i.stack=function(t){t.currentTarget=t.currentTarget||this;var e=t.detail||{};return e.__stack__?e.__stack__==s?(t.stopPropagation(),t.cancelBubble=!0,s.apply(this,arguments)):void 0:s.apply(this,arguments)},i.listener=function(t){var e=n(arguments),r=i.condition.apply(this,e.concat([i]));return r?t.type!=a&&t.baseEvent&&t.type!=t.baseEvent.type?(B.fireEvent(t.target,a,{baseEvent:t,detail:r!==!0&&(r.__stack__=s)?r:{__stack__:s}}),void 0):i.stack.apply(this,e):r},i.attach.forEach(function(t){i._attach.push(B.parseEvent(t,i.listener))}),i},addEvent:function(t,e,n,r){var a="function"==typeof n?B.parseEvent(e,n):n;return a._pseudos.forEach(function(e){e.onAdd.call(t,e)}),a._attach.forEach(function(e){B.addEvent(t,e.type,e)}),a.onAdd.call(t,a,a.listener),t.addEventListener(a.type,a.stack,r||a.capture),a},addEvents:function(t,e){var n={};for(var r in e)n[r]=B.addEvent(t,r,e[r]);return n},removeEvent:function(t,e,n){n=n||e,n.onRemove.call(t,n,n.listener),B.removePseudos(t,n._pseudos),n._attach.forEach(function(e){B.removeEvent(t,e)}),t.removeEventListener(n.type,n.stack)},removeEvents:function(t,e){for(var n in e)B.removeEvent(t,e[n])},fireEvent:function(t,e,n){var r=_.createEvent("CustomEvent");n=n||{},r.initCustomEvent(e,n.bubbles!==!1,n.cancelable!==!1,n.detail),n.baseEvent&&m(r,n.baseEvent),t.dispatchEvent(r)}};"function"==typeof define&&define.amd?define(B):"undefined"!=typeof module&&module.exports?module.exports=B:g.xtag=B,_.addEventListener("WebComponentsReady",function(){B.fireEvent(_.body,"DOMComponentsLoaded")})})(); \ No newline at end of file diff --git a/src/core.js b/src/core.js index 38fe05e..fbc5a04 100644 --- a/src/core.js +++ b/src/core.js @@ -41,7 +41,7 @@ js: pre == 'ms' ? pre : pre.charAt(0).toUpperCase() + pre.substring(1) }; })(), - matchSelector = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype[prefix.lowercase + 'MatchesSelector']; + matchSelector = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.msMatchesSelector || Element.prototype[prefix.lowercase + 'MatchesSelector']; /*** Functions ***/