import { ComponentInterface, EventEmitter } from '../../stencil-public-runtime'; /** * A light icon component for texts and other components. * This component is based on the ionicons (https://github.com/ionic-team/ionicons) * * #### Additional Hints * The component inherits styles, such as the text size, from the parent element. For custom styles, use the css properties of the component. * * **Clickable icon:** Make an icon interactive with the optional attribute `clickable`. Clickable icons emit a `clickEl` event. * * #### Add icons * If you would like to add custom icons, you have to add the `.svg` file to the `src/assets/ino-icon` folder and run the `yarn integrate:icons` script which takes care of the rest. * * > **Note:** To use the provided icons in your consumer project, you need to copy all contents of * > `node_modules/@inovex.de/elements/dist/inovex-elements/ino-icon` into your `dist/ino-icon` folder. All icons are expected * > to be located in `ino-icon/` at runtime. Please refer to the Storybook documentation to get detailed instructions * > on how to integrate the icons with Angular, React or plain JavaScript. * * Alternatively, you can also just provide the URL to your preferred icon by setting the `src` property accordingly. */ export declare class Icon implements ComponentInterface { /** * The name of the icon of this element or an URL. */ icon?: string; iconChanged(): void; /** * Colors the icon in the global secondary color */ colorSecondary?: boolean; /** * Makes the icon clickable and allows to listen to the `clickEl` event. */ clickable?: boolean; /** * Specifies the exact `src` of an SVG file to use. */ src?: string; /** * Sets a meaningful svg title for assistive technologies. */ svgTitle?: string; /** * Event that emits as soon as the user clicks on the icon. * The event only emits if the property `inoClickable` is true. */ clickEl: EventEmitter; /** * The svg content loaded dynamically. */ svgContent?: string; watchHandler(content: string): void; componentWillLoad(): void; private loadIcon; private handleClick; private handleKeyPress; render(): any; }