@pluginjs/styled
Version:
A flexible modern styled js plugin.
7 lines (6 loc) • 5.23 kB
JavaScript
/*!
* @pluginjs/styled v0.8.11 (https://pluginjs.com)
* Copyright 2022 Creation Studio Limited
* Released under the GPL-3.0 License.
*/
;Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@pluginjs/utils"),t=require("@pluginjs/is"),i=require("@pluginjs/dom"),r=e=>{var t=e.ownerDocument.defaultView;return t&&t.opener||(t=window),t},o=e=>/^--/.test(e),n=(i,r,d)=>{if(t.isString(i)&&t.isElement(d))r||0===r?o(i)?d.style.setProperty(i,r):(i=e.camelize(i,!1),t.isNumeric(r)&&!["animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","fontWeight","lineHeight","opacity","order","orphans","widows","zIndex","zoom"].includes(i)&&(r+="px"),d.style[i]=r):d.style.removeProperty(e.dasherize(i));else if(t.isObject(i)){var s;for(s in t.isElement(r)&&void 0===d&&(d=r,r=void 0),i)Object.prototype.hasOwnProperty.call(i,s)&&n(s,i[s],d)}return d},d=(i,n)=>{var s;return t.isArray(i)?(s={},i.forEach((e=>{s[e]=d(e,n)})),s):(o(i)||(i=e.dasherize(i)),s=r(n).getComputedStyle(n,"").getPropertyValue(i),t.isNumeric(s)?parseFloat(s):s)},s=e.curryWith(((e,i,r)=>(t.isElement(i)&&void 0===r&&(r=i,i=void 0),"string"==typeof e&&void 0===i?d(e,r):n(e,i,r))),t.isElement),a=e=>{if(t.isWindow(e))return e.innerWidth;if(t.isDocument(e)){var i=e.documentElement;return Math.max(e.body.scrollWidth,i.scrollWidth,e.body.offsetWidth,i.offsetWidth,i.clientWidth)}var{width:r}=e.getBoundingClientRect(),{paddingLeft:o,paddingRight:n}=d(["paddingLeft","paddingRight"],e);if(r=r-parseInt(o,10)-parseInt(n,10),"border-box"===d("boxSizing",e)){var{borderLeftWidth:s,borderRightWidth:a}=d(["borderLeftWidth","borderRightWidth"],e);r=r-parseInt(s,10)-parseInt(a,10)}return r},p=(e,t)=>{if(1!==t.nodeType)return t;if("border-box"===d("boxSizing",t)){var{paddingLeft:i,paddingRight:r,borderLeftWidth:o,borderRightWidth:s}=d(["paddingLeft","paddingRight","borderLeftWidth","borderRightWidth"],t);e+=i+r+o+s}return n("width",e,t)},l=e=>{if(t.isWindow(e))return e.innerHeight;if(t.isDocument(e)){var i=e.documentElement;return Math.max(e.body.scrollHeight,i.scrollHeight,e.body.offsetHeight,i.offsetHeight,i.clientHeight)}var{height:r}=e.getBoundingClientRect(),{paddingTop:o,paddingBottom:n}=d(["paddingTop","paddingBottom"],e);if(r=r-parseInt(o,10)-parseInt(n,10),"border-box"===d("boxSizing",e)){var s=d(["borderTopHeight","borderBottomHeight"],e),a=s.borderTopHeight||0,p=s.borderBottomHeight||0;r=r-parseInt(a,10)-parseInt(p,10)}return r},g=(e,t)=>{if(1!==t.nodeType)return t;if("border-box"===d("boxSizing",t)){var{paddingTop:i,paddingBottom:r,borderTopHeight:o,borderBottomHeight:s}=d(["paddingTop","paddingBottom","borderTopHeight","borderBottomHeight"],t);e+=i+r+o+s}return n("height",e,t)},h=e=>{var t=e.getBoundingClientRect(),i=r(e);return{top:t.top+i.pageYOffset,left:t.left+i.pageXOffset}},f=(e,t)=>{var r={},o=u(i.offsetParent(t));return void 0!==e.top&&(r.top=e.top-o.top),void 0!==e.left&&(r.left=e.left-o.left),"static"===d("position",t)&&(r.position="relative"),n(r,t)},u=(e,i)=>(t.isElement(e)&&void 0===i&&(i=e,e=void 0),e?f(e,i):h(i)),m={};exports.css=s,exports.getDefaultView=r,exports.getHeight=l,exports.getOffset=h,exports.getStyle=d,exports.getWidth=a,exports.height=(e,i)=>(t.isElement(e)&&void 0===i&&(i=e,e=void 0),void 0===e?l(i):g(e,i)),exports.hideElement=e=>("none"!==e.style.display&&(e.style.display="none"),e),exports.innerHeight=e=>t.isWindow(e)?e.innerHeight:e.clientHeight,exports.innerWidth=e=>t.isWindow(e)?e.innerWidth:e.clientWidth,exports.isCSSVariable=o,exports.offset=u,exports.outerHeight=function(e,i){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t.isElement(e)&&void 0===i&&(i=e,e=!1),t.isWindow(i))return i.outerHeight;var o=r?parseFloat(d("height",i),10):i.offsetHeight;if(e){var{marginTop:n,marginBottom:s}=d(["marginTop","marginBottom"],i);return(n=r?parseFloat(n,10):parseInt(n,10))+(s=r?parseFloat(s,10):parseInt(s,10))+o}return o},exports.outerWidth=function(e,i){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t.isElement(e)&&void 0===i&&(i=e,e=!1),t.isWindow(i))return i.outerWidth;var o=r?parseFloat(d("width",i),10):i.offsetWidth;if(e){var{marginLeft:n,marginRight:s}=d(["marginLeft","marginRight"],i);return(n=r?parseFloat(n,10):parseInt(n,10))+(s=r?parseFloat(s,10):parseInt(s,10))+o}return o},exports.position=e=>{var t,r={top:0,left:0};if("fixed"===d("position",e))t=e.getBoundingClientRect();else{t=u(e);var o=i.offsetParent(e);o&&o!==e&&1===o.nodeType&&((r=u(o)).top+=parseFloat(o.style.borderTopWidth)||0,r.left+=parseFloat(o.style.borderLeftWidth)||0)}return t.top-=parseFloat(e.style.marginTop)||0,t.left-=parseFloat(e.style.marginLeft)||0,{top:t.top-r.top,left:t.left-r.left}},exports.setHeight=g,exports.setOffset=f,exports.setStyle=n,exports.setWidth=p,exports.showElement=e=>{var t,i,r;return"none"===e.style.display&&(e.style.display=""),"none"===getComputedStyle(e,"").getPropertyValue("display")&&(e.style.display=(t=e.nodeName,m[t]||(r=document.createElement(t),document.body.appendChild(r),i=getComputedStyle(r,"").getPropertyValue("display"),r.parentNode.removeChild(r),"none"===i&&(i="block"),m[t]=i),m[t])),e},exports.width=(e,i)=>(t.isElement(e)&&void 0===i&&(i=e,e=void 0),void 0===e?a(i):p(e,i));