UNPKG

@progress/kendo-vue-common

Version:

Kendo UI for Vue Common Utilities package

193 lines (192 loc) 5.03 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { BaseIconProps } from './BaseIconProps'; import { IconVariant } from './models/variant'; /** * Specifies the SVG icon. */ export interface SVGIcon { /** * The unique name of the icon. */ name: string; /** * The entire SVG content of the icon. */ content: string; /** * The [viewBox](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox) * definition that should be used for the icon. */ viewBox: string; /** * A map of variant names to their SVG content strings. * The available variants are typically `solid`, `outline`, and `duotone`. */ variants?: { [key: string]: string; }; } /** * @hidden */ export interface SvgIconHandle { /** * The SvgIconHandle element. */ element: HTMLSpanElement | null; } /** * Represents the props of the [Kendo UI for Vue SvgIcon component]({% slug overview_svgicon %}). */ export interface SvgIconProps extends BaseIconProps { /** * Represents the name of the icon. */ name?: string; /** * Specifies the SVG icon. * * * The possible keys are: * * `name`&mdash;The unique name of the icon. * * `content`&mdash;The entire SVG content of the icon. * * `viewBox`&mdash;The viewBox definition that should be used for the icon. * * `variants`&mdash;A map of variant names to their SVG content strings. */ icon?: SVGIcon; /** * Specifies the variant of the SVG icon to render. * * When set, the component renders the SVG content for the specified variant * if available in the icon's `variants` map. If the variant is not found, * the default `content` is used as a fallback. * * The possible values are: * * `solid`&mdash;Renders a filled (solid) version of the icon. * * `outline`&mdash;Renders an outlined version of the icon. * * `duotone`&mdash;Renders a two-tone version of the icon. */ variant?: IconVariant | string; /** * Specifies the viewBox of the custom SVG icon. */ viewBox?: string; /** * Specifies a list of CSS classes that will be added to the svg element. */ svgClassName?: string; /** * Sets additional CSS styles to the svg element. */ svgStyle?: object; } /** * @hidden */ export interface SvgIconState { } /** * @hidden */ export interface SvgIconComputed { [key: string]: any; } /** * @hidden */ export interface SvgIconMethods { [key: string]: any; } /** * @hidden */ export interface SvgIconData { } /** * @hidden */ export interface SvgIconAll extends SvgIconMethods, SvgIconData, SvgIconComputed, SvgIconState { } /** * @hidden */ declare const SvgIcon: import('vue').DefineComponent<import('vue').ExtractPropTypes<{ name: StringConstructor; icon: ObjectConstructor; themeColor: { type: StringConstructor; }; size: { type: StringConstructor; }; flip: { type: StringConstructor; }; fillMode: { type: StringConstructor; }; variant: { type: StringConstructor; }; id: StringConstructor; ariaLabel: StringConstructor; title: StringConstructor; viewBox: { type: StringConstructor; default: string; }; tabIndex: NumberConstructor; svgClassName: StringConstructor; svgStyle: ObjectConstructor; }>, {}, {}, { wrapperClass(this: SvgIconAll): { [x: string]: any; [x: number]: any; 'k-icon': boolean; 'k-svg-icon': boolean; 'k-flip-h': boolean; 'k-flip-v': boolean; }; }, { handleClick(e: any): void; }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { click: any; }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{ name: StringConstructor; icon: ObjectConstructor; themeColor: { type: StringConstructor; }; size: { type: StringConstructor; }; flip: { type: StringConstructor; }; fillMode: { type: StringConstructor; }; variant: { type: StringConstructor; }; id: StringConstructor; ariaLabel: StringConstructor; title: StringConstructor; viewBox: { type: StringConstructor; default: string; }; tabIndex: NumberConstructor; svgClassName: StringConstructor; svgStyle: ObjectConstructor; }>> & Readonly<{ onClick?: (...args: any[] | unknown[]) => any; }>, { viewBox: string; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>; export { SvgIcon };