source: trip-planner-front/node_modules/less/lib/less-browser/browser.js@ 6a3a178

Last change on this file since 6a3a178 was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago

initial commit

  • Property mode set to 100644
File size: 2.8 KB
Line 
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var tslib_1 = require("tslib");
4var utils = tslib_1.__importStar(require("./utils"));
5exports.default = {
6 createCSS: function (document, styles, sheet) {
7 // Strip the query-string
8 var href = sheet.href || '';
9 // If there is no title set, use the filename, minus the extension
10 var id = "less:" + (sheet.title || utils.extractId(href));
11 // If this has already been inserted into the DOM, we may need to replace it
12 var oldStyleNode = document.getElementById(id);
13 var keepOldStyleNode = false;
14 // Create a new stylesheet node for insertion or (if necessary) replacement
15 var styleNode = document.createElement('style');
16 styleNode.setAttribute('type', 'text/css');
17 if (sheet.media) {
18 styleNode.setAttribute('media', sheet.media);
19 }
20 styleNode.id = id;
21 if (!styleNode.styleSheet) {
22 styleNode.appendChild(document.createTextNode(styles));
23 // If new contents match contents of oldStyleNode, don't replace oldStyleNode
24 keepOldStyleNode = (oldStyleNode !== null && oldStyleNode.childNodes.length > 0 && styleNode.childNodes.length > 0 &&
25 oldStyleNode.firstChild.nodeValue === styleNode.firstChild.nodeValue);
26 }
27 var head = document.getElementsByTagName('head')[0];
28 // If there is no oldStyleNode, just append; otherwise, only append if we need
29 // to replace oldStyleNode with an updated stylesheet
30 if (oldStyleNode === null || keepOldStyleNode === false) {
31 var nextEl = sheet && sheet.nextSibling || null;
32 if (nextEl) {
33 nextEl.parentNode.insertBefore(styleNode, nextEl);
34 }
35 else {
36 head.appendChild(styleNode);
37 }
38 }
39 if (oldStyleNode && keepOldStyleNode === false) {
40 oldStyleNode.parentNode.removeChild(oldStyleNode);
41 }
42 // For IE.
43 // This needs to happen *after* the style element is added to the DOM, otherwise IE 7 and 8 may crash.
44 // See http://social.msdn.microsoft.com/Forums/en-US/7e081b65-878a-4c22-8e68-c10d39c2ed32/internet-explorer-crashes-appending-style-element-to-head
45 if (styleNode.styleSheet) {
46 try {
47 styleNode.styleSheet.cssText = styles;
48 }
49 catch (e) {
50 throw new Error('Couldn\'t reassign styleSheet.cssText.');
51 }
52 }
53 },
54 currentScript: function (window) {
55 var document = window.document;
56 return document.currentScript || (function () {
57 var scripts = document.getElementsByTagName('script');
58 return scripts[scripts.length - 1];
59 })();
60 }
61};
62//# sourceMappingURL=browser.js.map
Note: See TracBrowser for help on using the repository browser.