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

75 lines (67 loc) 2.38 kB
/** * DO NOT EDIT * * This file was automatically generated by * https://github.com/Polymer/tools/tree/master/packages/gen-typescript-declarations * * To modify these typings, edit the source file(s): * lib/elements/custom-style.html */ // tslint:disable:variable-name Describing an API that's defined elsewhere. /// <reference path="../utils/style-gather.d.ts" /> declare namespace Polymer { /** * Custom element for defining styles in the main document that can take * advantage of [shady DOM](https://github.com/webcomponents/shadycss) shims * for style encapsulation, custom properties, and custom mixins. * * - Document styles defined in a `<custom-style>` are shimmed to ensure they * do not leak into local DOM when running on browsers without native * Shadow DOM. * - Custom properties can be defined in a `<custom-style>`. Use the `html` selector * to define custom properties that apply to all custom elements. * - Custom mixins can be defined in a `<custom-style>`, if you import the optional * [apply shim](https://github.com/webcomponents/shadycss#about-applyshim) * (`shadycss/apply-shim.html`). * * To use: * * - Import `custom-style.html`. * - Place a `<custom-style>` element in the main document, wrapping an inline `<style>` tag that * contains the CSS rules you want to shim. * * For example: * * ```html * <!-- import apply shim--only required if using mixins --> * <link rel="import" href="bower_components/shadycss/apply-shim.html"> * <!-- import custom-style element --> * <link rel="import" href="bower_components/polymer/lib/elements/custom-style.html"> * * <custom-style> * <style> * html { * --custom-color: blue; * --custom-mixin: { * font-weight: bold; * color: red; * }; * } * </style> * </custom-style> * ``` */ class CustomStyle extends HTMLElement { /** * Returns the light-DOM `<style>` child this element wraps. Upon first * call any style modules referenced via the `include` attribute will be * concatenated to this element's `<style>`. * * @returns This element's light-DOM `<style>` */ getStyle(): HTMLStyleElement|null; } } interface HTMLElementTagNameMap { "custom-style": Polymer.CustomStyle; }