UNPKG

exposure-utils

Version:

Dom and General Javascript Utilities, used in house at Exposure Digital

31 lines (30 loc) 3.52 kB
!function(e){if("object"==typeof exports)module.exports=e() else if("function"==typeof define&&define.amd)define(e) else{var t "undefined"!=typeof window?t=window:"undefined"!=typeof global?t=global:"undefined"!=typeof self&&(t=self),t.ExposureUtils=e()}}(function(){return function e(t,n,o){function r(l,s){if(!n[l]){if(!t[l]){var a="function"==typeof require&&require if(!s&&a)return a(l,!0) if(i)return i(l,!0) throw new Error("Cannot find module '"+l+"'")}var c=n[l]={exports:{}} t[l][0].call(c.exports,function(e){var n=t[l][1][e] return r(n?n:e)},c,c.exports,e,t,n,o)}return n[l].exports}for(var i="function"==typeof require&&require,l=0;l<o.length;l++)r(o[l]) return r}({1:[function(e,t,n){var o=function(e){"use strict" return o.each=function(e,t){for(var n=0;n<e.length&&!t(e[n],n);n++);},o.forEach=function(e,t){for(var n in e)if(e.hasOwnProperty(n)){var o=e[n] if(t(n,o))break}},o.distanceBetween=function(e,t){var n=e.x-t.x,o=e.y-t.y return Math.sqrt(n*n+o*o)},o.isNode=function(e){return"object"==typeof Node?e instanceof Node:e&&"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName},o.isNodeList=function(e){return"object"==typeof Node?e instanceof Node:e&&"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName},o.isCollection=function(e){return NodeList.prototype.isPrototypeOf(e)},o.addClass=function(e,t){if(o.containsClass(e,t))return!1 var n=e.className.split(" ") n.push(t),e.className=n.join(" ")},o.toggleClass=function(e,t){o.containsClass(e,t)?o.removeClass(e,t):o.addClass(e,t)},o.removeClass=function(e,t){for(var n=e.className.split(" "),o=n.length;--o>=0;)n[o]===t&&n.splice(o,1) e.className=n.join(" ")},o.containsClass=function(e,t){return(" "+e.className+" ").indexOf(" "+t+" ")>-1},o.getElement=function(e){var t=o._validateElementString(e) return t},o.createElement=function(e,t){var n=o.isNode(document.createElement(e))===!0&&document.createElement(e) return t&&o.forEach(t,function(e,t){n.setAttribute(e,t)}),n},o.removeElement=function(e){var t=o.getElement(e),n=t.parentElement return n.removeChild(t),t},o.html=function(e,t){var n return n=o.isNode(e)?e:o.getElement(e),n.innerHTML=t,n},o.style=function(e,t){var n=o._checkElement(e),r=o._validateStyleObj(t)?t:null r&&o.forEach(r,function(e,t){n.style[e]=t})},o._validateStyleObj=function(e,t){var n=document.createElement("div"),o=n.style=e+":"+t+";" n.style=e+":"+t+";" var r=n.style=e+":"+t+";" return o==r},o._validateElementString=function(e){var t if(o._startsWith(".",e)){var n=document.querySelectorAll(e) n.length>0&&n.length>1?t=n:1===n.length?t=n[0]:o._invalidElement(e)}else if(o._startsWith("#",e)){var r=e.substring(1) t=document.getElementById(r),null!==t&&void 0!==t||o._invalidElement(e)}else{var i=document.querySelectorAll(e) i.length>0&&i.length>1?t=i:1===i.length?t=i[0]:o._invalidElement(e),null!==t&&void 0!==t||o._invalidElement(e)}return t},o._checkElement=function(e){var t return t=o.isNode(e)?e:o._validateElementString(e)},o._invalidElement=function(e){return console.warn("Utils.el (",e,"not found in DOM )"),!1},o._startsWith=function(e,t){return t.substr(0,e.length)==e},{forEach:o.forEach,each:o.each,distanceBetween:o.distanceBetween,isNode:o.isNode,isNodeList:o.isNodeList,isCollection:o.isCollection,addClass:o.addClass,removeClass:o.removeClass,toggleClass:o.toggleClass,containsClass:o.containsClass,getElement:o.getElement,createElement:o.createElement,removeElement:o.removeElement,style:o.style,html:o.html}} t.exports=o},{}]},{},[1])(1)})