UNPKG

@polymer/polymer

Version:

The Polymer library makes it easy to create your own web components. Give your element some markup and properties, and then use it on a site. Polymer provides features like dynamic templates and data binding to reduce the amount of boilerplate you need to

25 lines (22 loc) 1.17 kB
/** @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 */ /* eslint-disable valid-jsdoc */ /** * Node wrapper to ensure ShadowDOM safe operation regardless of polyfill * presence or mode. Note that with the introduction of `ShadyDOM.noPatch`, * a node wrapper must be used to access ShadowDOM API. * This is similar to using `Polymer.dom` but relies exclusively * on the presence of the ShadyDOM polyfill rather than requiring the loading * of legacy (Polymer.dom) API. * @type {function(Node):Node} */ export const wrap = (window['ShadyDOM'] && window['ShadyDOM']['noPatch'] && window['ShadyDOM']['wrap']) ? window['ShadyDOM']['wrap'] : (window['ShadyDOM'] ? (n) => ShadyDOM['patch'](n) : (n) => n);