UNPKG

@esri/calcite-components

Version:

Web Components for Esri's Calcite Design System.

70 lines (69 loc) 2.48 kB
/// <reference path="../../index.d.ts" /> import type { PublicLitElement as LitElement } from "@arcgis/lumina"; import type { Appearance, Kind, Scale } from "../interfaces.js"; import type { IconName } from "../calcite-icon/interfaces.js"; /** * @cssproperty [--calcite-fab-background-color] - Specifies the component's background color. * @cssproperty [--calcite-fab-border-color] - Specifies the component's border color. * @cssproperty [--calcite-fab-corner-radius] - Specifies the component's corner radius. * @cssproperty [--calcite-fab-text-color] - Specifies the component's text color. * @cssproperty [--calcite-fab-loader-color] - Specifies the component's loader color. * @cssproperty [--calcite-fab-shadow] - Specifies the component's shadow. */ export abstract class Fab extends LitElement { /** * Specifies the component's appearance style. * * @default "solid" */ accessor appearance: Extract<"solid" | "outline-fill", Appearance>; /** * When `true`, prevents interaction and decreases the component's opacity. * * @default false */ accessor disabled: boolean; /** Specifies an icon to display. */ accessor icon: IconName; /** * When `true` and the element direction is right-to-left (`"rtl"`), flips the component`s `icon`. * * @default false */ accessor iconFlipRtl: boolean; /** * Specifies the component's kind, which determines border and background styling. * * @default "brand" */ accessor kind: Extract<"brand" | "danger" | "inverse" | "neutral", Kind>; /** Specifies an accessible label for the component. */ accessor label: string | undefined; /** * When `true`, a busy indicator is displayed. * * @default false */ accessor loading: boolean; /** * Specifies the size of the component. * * @default "m" */ accessor scale: Scale; /** Specifies text to accompany the component's icon. */ accessor text: string | undefined; /** * When `true`, displays the `text` value in the component. * * @default false */ accessor textEnabled: boolean; /** * Sets focus on the component. * * @param options - When specified an optional object customizes the component's focusing process. When `preventScroll` is `true`, scrolling will not occur on the component. * @mdn [focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options) */ setFocus(options?: FocusOptions): Promise<void>; }