uhandlers
Version:
µhtml attributes handlers
1 lines • 1.81 kB
JavaScript
var uhtmlHandlers=function(t){"use strict";function n(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function e(t,e,r){return e&&n(t.prototype,e),r&&n(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}var r=Array.isArray,u=!1,o=e((function t(n,e){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t),u=!0,this._=function(){for(var t=arguments.length,r=new Array(t),u=0;u<t;u++)r[u]=arguments[u];return n.apply(void 0,r.concat([e]))}})),i=function(t){return null==t?t:t.valueOf()},a=function(t){var n=t.dataset;return function(t){for(var e in t){var r=t[e];null==r?delete n[e]:n[e]=r}}};return t.Foreign=o,t.aria=function(t){return function(n){for(var e in n){var r="role"===e?e:"aria-".concat(e),u=n[e];null==u?t.removeAttribute(r):t.setAttribute(r,u)}}},t.attribute=function(t,n){var e,r=!0,a=document.createAttributeNS(null,n);return function(c){var f=u&&c instanceof o?c._(t,n):i(c);e!==f&&(null==(e=f)?r||(t.removeAttributeNode(a),r=!0):(a.value=f,r&&(t.setAttributeNodeNS(a),r=!1)))}},t.boolean=function(t,n,e){return function(r){var u=!!i(r);e!==u&&((e=u)?t.setAttribute(n,""):t.removeAttribute(n))}},t.data=a,t.event=function(t,n){var e,u,o=n.slice(2);return!(n in t)&&(u=n.toLowerCase())in t&&(o=u.slice(2)),function(n){var u=r(n)?n:[n,!1];e!==u[0]&&(e&&t.removeEventListener(o,e,u[1]),(e=u[0])&&t.addEventListener(o,e,u[1]))}},t.foreign=function(t,n){return new o(t,n)},t.ref=function(t){var n;return function(e){n!==e&&(n=e,"function"==typeof e?e(t):e.current=t)}},t.setter=function(t,n){return"dataset"===n?a(t):function(e){t[n]=e}},t.text=function(t){var n;return function(e){var r=i(e);n!=r&&(n=r,t.textContent=null==r?"":r)}},t}({});