@fluid-topics/ft-button
Version:
A generic Fluid Topics tag
58 lines (57 loc) • 1.91 kB
TypeScript
import { ElementDefinitionsMap, FtLitElement } from "@fluid-topics/ft-wc-utils";
import { Position } from "@fluid-topics/ft-tooltip";
import { FtIconVariants } from "@fluid-topics/ft-icon";
import { HTMLTemplateResult } from "lit";
import { ClassInfo } from "lit/directives/class-map.js";
type HTMLAnchorElementTargetAttribute = "_self" | "_blank" | "_parent" | "_top";
export interface FtBaseButtonProperties {
disabled?: boolean;
label?: string;
href?: string;
target?: HTMLAnchorElementTargetAttribute;
icon?: string;
iconVariant?: FtIconVariants;
trailingIcon?: boolean;
loading?: boolean;
ariaLabel?: string | null;
tooltipPosition?: Position;
hideTooltip?: boolean;
forceTooltip?: boolean;
}
declare const FtBaseButton_base: import("@fluid-topics/ft-wc-utils").FtFormComponentType<typeof FtLitElement>;
export declare class FtBaseButton extends FtBaseButton_base implements FtBaseButtonProperties {
static elementDefinitions: ElementDefinitionsMap;
href?: string;
target?: HTMLAnchorElementTargetAttribute;
role: string;
type: "button" | "submit" | "reset";
disabled: boolean;
label: string;
icon?: string;
iconVariant?: FtIconVariants;
trailingIcon: boolean;
loading: boolean;
ariaLabel: string | null;
tooltipPosition: Position;
hideTooltip: boolean;
forceTooltip: boolean;
private button?;
private slottedContent?;
private tooltip?;
get buttonClasses(): ClassInfo;
get typographyVariant(): string;
constructor();
protected render(): HTMLTemplateResult;
private addTooltipIfNeeded;
private resolveIcon;
focus(): void;
focusWithoutTooltip(): void;
private setTooltipManual;
click(): void;
private getLabel;
get textContent(): string;
protected hasTextContent(): boolean;
private onSlotchange;
private isDisabled;
}
export {};