import { ButtonPassThrough, ButtonProps, ButtonSeverity, ButtonLoadingIconTemplateContext, ButtonIconTemplateContext } from 'primeng/types/button'; export * from 'primeng/types/button'; import * as _angular_core from '@angular/core'; import { EventEmitter, TemplateRef, QueryList } from '@angular/core'; import * as i3 from 'primeng/api'; import { PrimeTemplate } from 'primeng/api'; import { BaseComponent } from 'primeng/basecomponent'; import * as i1 from 'primeng/bind'; import { Bind } from 'primeng/bind'; import { Fluid } from 'primeng/fluid'; import * as _primeuix_styled from '@primeuix/styled'; import { BaseStyle } from 'primeng/base'; import * as i2 from '@angular/common'; /** * * Button is an extension to standard button element with icons and theming. * * [Live Demo](https://www.primeng.org/button/) * * @module buttonstyle * */ declare enum ButtonClasses { /** * Class name of the root element */ root = "p-button", /** * Class name of the loading icon element */ loadingIcon = "p-button-loading-icon", /** * Class name of the icon element */ icon = "p-button-icon", /** * Class name of the label element */ label = "p-button-label" } declare class ButtonStyle extends BaseStyle { name: string; style: _primeuix_styled.StyleType; classes: { root: ({ instance }: { instance: any; }) => (string | { [x: string]: any; 'p-button-icon-only': any; 'p-button-vertical': any; 'p-button-loading': any; 'p-button-link': any; 'p-button-raised': any; 'p-button-rounded': any; 'p-button-text': any; 'p-button-outlined': any; 'p-button-sm': boolean; 'p-button-lg': boolean; 'p-button-plain': any; 'p-button-fluid': any; })[]; loadingIcon: string; icon: ({ instance }: { instance: any; }) => any[]; spinnerIcon: ({ instance }: { instance: any; }) => string; label: string; }; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } interface ButtonStyle extends BaseStyle { } type ButtonIconPosition = 'left' | 'right' | 'top' | 'bottom'; declare class ButtonLabel extends BaseComponent { /** * Used to pass attributes to DOM elements inside the pButtonLabel. * @defaultValue undefined * @deprecated use pButtonLabelPT instead. * @group Props */ ptButtonLabel: _angular_core.InputSignal; /** * Used to pass attributes to DOM elements inside the pButtonLabel. * @defaultValue undefined * @group Props */ pButtonLabelPT: _angular_core.InputSignal; /** * Indicates whether the component should be rendered without styles. * @defaultValue undefined * @group Props */ pButtonLabelUnstyled: _angular_core.InputSignal; $pcButtonLabel: ButtonLabel | undefined; bindDirectiveInstance: Bind; constructor(); onAfterViewChecked(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵdir: _angular_core.ɵɵDirectiveDeclaration; } declare class ButtonIcon extends BaseComponent { /** * Used to pass attributes to DOM elements inside the pButtonIcon. * @defaultValue undefined * @deprecated use pButtonIconPT instead. * @group Props */ ptButtonIcon: _angular_core.InputSignal; /** * Used to pass attributes to DOM elements inside the pButtonIcon. * @defaultValue undefined * @group Props */ pButtonIconPT: _angular_core.InputSignal; /** * Indicates whether the component should be rendered without styles. * @defaultValue undefined * @group Props */ pButtonUnstyled: _angular_core.InputSignal; $pcButtonIcon: ButtonIcon | undefined; bindDirectiveInstance: Bind; constructor(); onAfterViewChecked(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵdir: _angular_core.ɵɵDirectiveDeclaration; } /** * Button directive is an extension to button component. * @group Components */ declare class ButtonDirective extends BaseComponent { $pcButtonDirective: ButtonDirective | undefined; bindDirectiveInstance: Bind; _componentStyle: ButtonStyle; /** * Used to pass attributes to DOM elements inside the Button component. * @defaultValue undefined * @deprecated use pButtonPT instead. * @group Props */ ptButtonDirective: _angular_core.InputSignal; /** * Used to pass attributes to DOM elements inside the Button component. * @defaultValue undefined * @group Props */ pButtonPT: _angular_core.InputSignal; /** * Indicates whether the component should be rendered without styles. * @defaultValue undefined * @group Props */ pButtonUnstyled: _angular_core.InputSignal; hostName: any; onAfterViewChecked(): void; constructor(); /** * Add a textual class to the button without a background initially. * @group Props */ text: boolean; /** * Add a plain textual class to the button without a background initially. * @group Props */ plain: boolean; /** * Add a shadow to indicate elevation. * @group Props */ raised: boolean; /** * Defines the size of the button. * @group Props */ size: 'small' | 'large' | undefined; /** * Add a border class without a background initially. * @group Props */ outlined: boolean; /** * Add a circular border radius to the button. * @group Props */ rounded: boolean; /** * Position of the icon. * @group Props */ iconPos: ButtonIconPosition; /** * Icon to display in loading state. * @group Props */ loadingIcon: string | undefined; /** * Spans 100% width of the container when enabled. * @defaultValue undefined * @group Props */ fluid: _angular_core.InputSignalWithTransform; private iconSignal; private labelSignal; isIconOnly: _angular_core.Signal; _label: string | undefined; _icon: string | undefined; _loading: boolean; private _severity; _buttonProps: ButtonProps; initialized: boolean | undefined; private get htmlElement(); private _internalClasses; pcFluid: Fluid | null; isTextButton: _angular_core.Signal; /** * Text of the button. * @deprecated use pButtonLabel directive instead. * @group Props */ get label(): string | undefined; set label(val: string); /** * Name of the icon. * @deprecated use pButtonIcon directive instead * @group Props */ get icon(): string; set icon(val: string); /** * Whether the button is in loading state. * @group Props */ get loading(): boolean; set loading(val: boolean); /** * Used to pass all properties of the ButtonProps to the Button component. * @deprecated assign props directly to the button element. * @group Props */ get buttonProps(): ButtonProps; set buttonProps(val: ButtonProps); /** * Defines the style of the button. * @group Props */ get severity(): ButtonSeverity; set severity(value: ButtonSeverity); spinnerIcon: string; onAfterViewInit(): void; getStyleClass(): string[]; get hasFluid(): boolean; setStyleClass(): void; removeExistingSeverityClass(): void; createLabel(): void; createIcon(): void; updateLabel(): void; updateIcon(): void; getIconClass(): string; onDestroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵdir: _angular_core.ɵɵDirectiveDeclaration; static ngAcceptInputType_text: unknown; static ngAcceptInputType_plain: unknown; static ngAcceptInputType_raised: unknown; static ngAcceptInputType_outlined: unknown; static ngAcceptInputType_rounded: unknown; } /** * Button is an extension to standard button element with icons and theming. * @group Components */ declare class Button extends BaseComponent { hostName: any; $pcButton: Button | undefined; bindDirectiveInstance: Bind; _componentStyle: ButtonStyle; onAfterViewChecked(): void; /** * Type of the button. * @group Props */ type: string; /** * Value of the badge. * @group Props */ badge: string | undefined; /** * When present, it specifies that the component should be disabled. * @group Props */ disabled: boolean | undefined; /** * Add a shadow to indicate elevation. * @group Props */ raised: boolean; /** * Add a circular border radius to the button. * @group Props */ rounded: boolean; /** * Add a textual class to the button without a background initially. * @group Props */ text: boolean; /** * Add a plain textual class to the button without a background initially. * @group Props */ plain: boolean; /** * Add a border class without a background initially. * @group Props */ outlined: boolean; /** * Add a link style to the button. * @group Props */ link: boolean; /** * Add a tabindex to the button. * @group Props */ tabindex: number | undefined; /** * Defines the size of the button. * @group Props */ size: 'small' | 'large' | undefined; /** * Specifies the variant of the component. * @group Props */ variant: 'outlined' | 'text' | undefined; /** * Inline style of the element. * @group Props */ style: { [klass: string]: any; } | null | undefined; /** * Class of the element. * @group Props */ styleClass: string | undefined; /** * Style class of the badge. * @group Props * @deprecated use badgeSeverity instead. */ badgeClass: string | undefined; /** * Severity type of the badge. * @group Props * @defaultValue secondary */ badgeSeverity: 'success' | 'info' | 'warn' | 'danger' | 'help' | 'primary' | 'secondary' | 'contrast' | null | undefined; /** * Used to define a string that autocomplete attribute the current element. * @group Props */ ariaLabel: string | undefined; /** * When present, it specifies that the component should automatically get focus on load. * @group Props */ autofocus: boolean | undefined; /** * Position of the icon. * @group Props */ iconPos: ButtonIconPosition; /** * Name of the icon. * @group Props */ icon: string | undefined; /** * Text of the button. * @group Props */ label: string | undefined; /** * Whether the button is in loading state. * @group Props */ loading: boolean; /** * Icon to display in loading state. * @group Props */ loadingIcon: string | undefined; /** * Defines the style of the button. * @group Props */ severity: ButtonSeverity; /** * Used to pass all properties of the ButtonProps to the Button component. * @group Props */ buttonProps: ButtonProps; /** * Spans 100% width of the container when enabled. * @defaultValue undefined * @group Props */ fluid: _angular_core.InputSignalWithTransform; /** * Callback to execute when button is clicked. * This event is intended to be used with the component. Using a regular