import * as _angular_core from '@angular/core'; /** * Values accepted by the `ButtonComponent`'s `kind` property. * * ```html * * ``` * * ### Import * * ```typescript * import { ButtonKind } from '@talenra/ngx-base/button'; * ``` * * @see {@link ButtonComponent} */ declare const ButtonKind: { readonly Ghost: "ghost"; readonly Primary: "primary"; readonly Secondary: "secondary"; }; /** * Type of values accepted by the `ButtonComponent`'s `kind` property. * * ### Import * * ```typescript * import { TButtonKind } from '@talenra/ngx-base/button'; * ``` * * @see {@link ButtonComponent} */ type TButtonKind = (typeof ButtonKind)[keyof typeof ButtonKind]; /** * Values accepted by the `ButtonComponent`'s `size` property. * * ```html * * ``` * * ### Import * * ```typescript * import { ButtonSize } from '@talenra/ngx-base/button'; * ``` * * @see {@link ButtonComponent} * @see {@link ButtonKind} */ declare const ButtonSize: { readonly S: "s"; readonly M: "m"; }; /** * Type of values accepted by the `ButtonComponent`'s `size` property. * * ### Import * * ```typescript * import { TButtonSize } from '@talenra/ngx-base/button'; * ``` * * @see {@link ButtonComponent} * @see {@link ButtonSize} */ type TButtonSize = (typeof ButtonSize)[keyof typeof ButtonSize]; /** * Button in different sizes and style variants. * * ```html * * * ``` * * ## Label * * If a Button's width is limited (e.g by CSS or a parent element), the label is truncated as required (using ellipsis). * * - **DO** use input property `label` to set the Button's label. * - **DO NOT** inject text to the button element to set the Button's label. * - **DO NOT** inject HTML child elements as the result will most probably not comply with the style guide. * * ## Kind * * The button's kind determines its visual style. * * - primary → default, e.g. "submit" * - secondary → secondary action, e.g. "cancel" * - ghost → no background, e.g. icon-only buttons * * ## Size * * The button's size determines its height and font-size. * * - m → medium (default) * - s → small * * ## Icon * * Buttons can have an optional icon. If used in combination with a label, the icon is always placed on the left side of * the label. * * ```html * * ``` * * To render an icon-only button, just omit the label text. The icon will be rendered in the center of the button. * * ```html * * ``` * * ## Waiting (Spinner) * * While `waiting` is true, the button's label and icon are hidden and a loading indicator (spinner) is presented to the * user instead. * * ```html * * * ``` * * ### Import * * ```typescript * import { ButtonComponent } from '@talenra/ngx-base/button'; * ``` * * ../../#/button */ declare class ButtonComponent { /** * Prevents the user from interacting with the button: it cannot be pressed or focused. * * "Why don't you use the button element's native `disabled` attribute?" — We favour the * input property as the native attribute can be quirky to set dynamically (cmp. example below). * * @example * * * * @see {@link ButtonKind} */ kind: _angular_core.InputSignal; /** * Determines the size or the "visual weight" of the button. Currently affects the * button's height only. * * @example * * * @see {@link ButtonSize} */ size: _angular_core.InputSignal; /** * The button's label presented to the user. * * @example * */ label: _angular_core.InputSignal; /** * While `waiting` is true, the button's label and icon are hidden and a loading * indicator (spinner) is presented to the user instead. * * @example * * */ waiting: _angular_core.InputSignalWithTransform; /** * The name of the icon to be rendered. e.g. `refresh`. Check `@talenra/icons` for a list of all icons available. * * @example * * * Omit the label text to render an icon-only button: * @example * * * @see {@link IconComponent} */ icon: _angular_core.InputSignal; /** * Returns whether the button is currently focussed. * * @deprecated Get in touch with us if you require this feature. */ get hasFocus(): boolean; private elementRef; /** Sets the focus to the button. */ focus(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } export { ButtonComponent, ButtonKind, ButtonSize }; export type { TButtonKind, TButtonSize };