UNPKG

cssify

Version:

A simple Browserify transform for adding required styles to the browser.

54 lines (45 loc) 1.3 kB
'use strict' function injectStyleTag (document, fileName, cb) { var style = document.getElementById(fileName) if (style) { cb(style) } else { var head = document.getElementsByTagName('head')[0] style = document.createElement('style') if (fileName != null) style.id = fileName cb(style) head.appendChild(style) } return style } module.exports = function (css, customDocument, fileName) { var doc = customDocument || document /* istanbul ignore if: not supported by Electron */ if (doc.createStyleSheet) { var sheet = doc.createStyleSheet() sheet.cssText = css return sheet.ownerNode } else { return injectStyleTag(doc, fileName, function (style) { /* istanbul ignore if: not supported by Electron */ if (style.styleSheet) { style.styleSheet.cssText = css } else { style.innerHTML = css } }) } } module.exports.byUrl = function (url) { /* istanbul ignore if: not supported by Electron */ if (document.createStyleSheet) { return document.createStyleSheet(url).ownerNode } else { var head = document.getElementsByTagName('head')[0] var link = document.createElement('link') link.rel = 'stylesheet' link.href = url head.appendChild(link) return link } }