110 lines
2.8 KiB
JavaScript
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;
|
|
}
|