UNPKG

@filbert-js/browser-stylesheet

Version:
2 lines (1 loc) 1.2 kB
var e=require("@filbert-js/types"),t=require("@filbert-js/stylesheet"),n=require("@filbert-js/css-parser").createParser(),r=function(){return![typeof window,typeof document].includes("undefined")};function o(e){var t=e.append;return e.append=function(n){"string"==typeof n?e.textContent=n:t.call(e,n)},e.getChildById=function(e){return document.getElementById(e)},e.isBeforeChild=function(e,t){for(var n=this.children,r=-1,o=-1,u=0;u<n.length;u++){var c=n[u];c===e&&(o=u),c===t&&(r=u)}return r<o},e}exports.createStylesheet=function(u){void 0===u&&(u={});var c=function(){var t=r()?o(document.head):void 0,n={};return n[e.TYPES_GLOBAL]={},n[e.TYPES_CSS]={},n[e.TYPES_KEYFRAMES]={},r()&&Array.from(document.querySelectorAll('[data-type="styled-css"]')).reduce(function(e,t){var n=t.getAttribute("id");return e[t.getAttribute("styled-type")][n]=t.textContent,e},n),{getRoot:function(){return t},createElement:function(e){return o(document.createElement(e))},findElementByStyleId:function(e){return document.querySelector("."+e)},css:n}}();return new t.StyleSheet(Object.assign({},{getRoot:c.getRoot,createElement:c.createElement,findElementByStyleId:c.findElementByStyleId,cssParser:n,css:c.css},u))};