All Downloads are FREE. Search and download functionalities are using the official Maven repository.

iconpackage.src.vaadin-icon.d.ts Maven / Gradle / Ivy

There is a newer version: 24.5.3
Show newest version
/**
 * @license
 * Copyright (c) 2021 - 2024 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */
import { ControllerMixin } from '@vaadin/component-base/src/controller-mixin.js';
import { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';
import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
import { IconMixin } from './vaadin-icon-mixin.js';

/**
 * `` is a Web Component for displaying SVG icons.
 *
 * ### Icon property
 *
 * The `` component is designed to be used as a drop-in replacement for ``.
 * For example, you can use it with `vaadin-icons` like this:
 *
 * ```html
 * 
 * ```
 *
 * Alternatively, you can also pick one of the Lumo icons:
 *
 * ```html
 * 
 * ```
 *
 * ### Custom SVG icon
 *
 * Alternatively, instead of selecting an icon from an iconset by name, you can pass any custom `svg`
 * literal using the [`svg`](#/elements/vaadin-icon#property-svg) property. In this case you can also
 * define the size of the SVG `viewBox` using the [`size`](#/elements/vaadin-icon#property-size) property:
 *
 * ```js
 * import { html, svg } from 'lit';
 *
 * // in your component
 * render() {
 *   const svgIcon = svg``;
 *   return html`
 *     
 *   `;
 * }
 * ```
 */
declare class Icon extends ThemableMixin(ElementMixin(ControllerMixin(IconMixin(HTMLElement)))) {}

declare global {
  interface HTMLElementTagNameMap {
    'vaadin-icon': Icon;
  }
}

export { Icon };




© 2015 - 2024 Weber Informatics LLC | Privacy Policy