timepiece/node_modules/@webcomponents/shadycss/entrypoints/scoping-shim.js

110 lines
2.8 KiB
JavaScript

/**
@license
Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
*/
'use strict';
import ScopingShim from '../src/scoping-shim.js';
// prettier-ignore
import {nativeCssVariables, nativeShadow, cssBuild, disableRuntime} from '../src/style-settings.js';
/** @const {ScopingShim} */
const scopingShim = new ScopingShim();
let ApplyShim, CustomStyleInterface;
if (window['ShadyCSS']) {
ApplyShim = window['ShadyCSS']['ApplyShim'];
CustomStyleInterface = window['ShadyCSS']['CustomStyleInterface'];
}
window.ShadyCSS = {
ScopingShim: scopingShim,
/**
* @param {!HTMLTemplateElement} template
* @param {string} elementName
* @param {string=} elementExtends
*/
prepareTemplate(template, elementName, elementExtends) {
scopingShim.flushCustomStyles();
scopingShim.prepareTemplate(template, elementName, elementExtends);
},
/**
* @param {!HTMLTemplateElement} template
* @param {string} elementName
*/
prepareTemplateDom(template, elementName) {
scopingShim.prepareTemplateDom(template, elementName);
},
/**
* @param {!HTMLTemplateElement} template
* @param {string} elementName
* @param {string=} elementExtends
*/
prepareTemplateStyles(template, elementName, elementExtends) {
scopingShim.flushCustomStyles();
scopingShim.prepareTemplateStyles(template, elementName, elementExtends);
},
/**
* @param {!HTMLElement} element
* @param {Object=} properties
*/
styleSubtree(element, properties) {
scopingShim.flushCustomStyles();
scopingShim.styleSubtree(element, properties);
},
/**
* @param {!HTMLElement} element
*/
styleElement(element) {
scopingShim.flushCustomStyles();
scopingShim.styleElement(element);
},
/**
* @param {Object=} properties
*/
styleDocument(properties) {
scopingShim.flushCustomStyles();
scopingShim.styleDocument(properties);
},
flushCustomStyles() {
scopingShim.flushCustomStyles();
},
/**
* @param {Element} element
* @param {string} property
* @return {string}
*/
getComputedStyleValue(element, property) {
return scopingShim.getComputedStyleValue(element, property);
},
nativeCss: nativeCssVariables,
nativeShadow: nativeShadow,
cssBuild: cssBuild,
disableRuntime: disableRuntime,
};
if (ApplyShim) {
window.ShadyCSS.ApplyShim = ApplyShim;
}
if (CustomStyleInterface) {
window.ShadyCSS.CustomStyleInterface = CustomStyleInterface;
}