export type ButtonVariant = 'primary' | 'secondary' | 'tertiary'; export type ButtonSize = 'large' | 'small'; export type ImagePosition = 'left' | 'right'; export type ButtonType = 'button' | 'submit' | 'reset'; /** * Datacom styled button which extends HTML button. * * The control is scoped rather than shadow so the input field can participate in a form submit. * * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button */ export declare class DatacomButton { /** * HTML button element properties */ disabled: boolean; autofocus: boolean; type: string; name: string; value: string; formmethod: string; form: string; formenctype: string; formaction: string; formtarget: string; /** * Button text content. If not present use component children */ text?: string; /** * Button variant: * - primary * - seconday * - tertiary */ variant: ButtonVariant; /** * Button size: * - large * - small */ size: ButtonSize; /** * Image position: * - left * - right */ iconPosition: ImagePosition; /** * Image source as either relative or obsolute URI */ src: string; /** * Name of built-in icon named using dash case. E.g. "back-to-top" */ icon: string; /** * If true, show loading icon */ loading: boolean; /** * If provided, will render button as an anchor tag with provided url */ url: string; /** * Generated ids for label accessibility */ private labelId; private buttonId; render(): any; } export type HTMLDatacomButtonElement = HTMLElement & DatacomButton;