import ControlElement from "./ControlElement"; import { ComponentFactory, ValueOrAsync } from "../ComponentFactory"; import TextLabelFactory from "../TextLabelFactory"; /** Represents an icon control (horizontally centered) */ export declare class Icon extends ControlElement { /** Create an icon element */ constructor(icon?: string); /** Initialize an icon control with given values */ static with: (values: Icon.Initializer) => ComponentFactory; /** Initialize an icon control with given icon name */ static withIcon(icon: ValueOrAsync): ComponentFactory; /** Initialize with given (observable) values; returns this */ initializeWith: (values: Icon.Initializer) => this; /** Icon name as CSS class(es), e.g. "glyphicon-edit" or "fa-edit fa-2x"; first part is repeated Bootstrap-style automatically, e.g. "fa-edit" becomes "fa fa-edit" (observed); style properties can be appended like "fa-edit color=#ccc fontSize=200%" (or font-size); use quotes to wrap values with spaces, e.g. 'fa-edit border="1px solid #ccc"' */ icon: string; /** Tooltip text (title attribute; observed) */ tooltipTitle: string; /** True if user is allowed to focus this icon as an input control (observed) */ focusable: boolean; /** Set to false to expand horizontally within row (observed) */ shrinkwrap: boolean; protected focus(): void; protected blur(): void; } export declare namespace Icon { /** Initializer for .with({ ... }) */ interface Initializer extends ControlElement.Initializer { /** Property initializer */ icon: ValueOrAsync; /** Property initializer */ focusable?: ValueOrAsync; /** Property initializer */ tooltipTitle?: ValueOrAsync; } } export default Icon;