2023-03-01 08:50:01 +00:00
|
|
|
/**
|
|
|
|
*
|
|
|
|
* Button is an extension to standard button element with icons and theming.
|
|
|
|
*
|
|
|
|
* [Live Demo](https://www.primevue.org/button/)
|
|
|
|
*
|
|
|
|
* @module button
|
|
|
|
*
|
|
|
|
*/
|
2022-09-06 12:03:37 +00:00
|
|
|
import { ButtonHTMLAttributes, VNode } from 'vue';
|
|
|
|
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
|
|
|
|
|
2023-03-01 08:50:01 +00:00
|
|
|
/**
|
|
|
|
* Defines valid properties in Button component.
|
|
|
|
*/
|
2022-09-06 12:03:37 +00:00
|
|
|
export interface ButtonProps extends ButtonHTMLAttributes {
|
|
|
|
/**
|
|
|
|
* Inline style of the button.
|
|
|
|
*/
|
|
|
|
style?: any;
|
|
|
|
/**
|
2022-09-14 11:26:01 +00:00
|
|
|
* Style class of the button.
|
|
|
|
*/
|
2022-09-06 12:03:37 +00:00
|
|
|
class?: any;
|
|
|
|
/**
|
|
|
|
* Text of the button.
|
|
|
|
*/
|
|
|
|
label?: string | undefined;
|
|
|
|
/**
|
|
|
|
* Name of the icon.
|
|
|
|
*/
|
|
|
|
icon?: string | undefined;
|
|
|
|
/**
|
2023-03-01 08:50:01 +00:00
|
|
|
* Position of the icon.
|
2023-03-03 08:18:55 +00:00
|
|
|
* @defaultValue 'left'
|
2022-09-06 12:03:37 +00:00
|
|
|
*/
|
2023-03-01 08:50:01 +00:00
|
|
|
iconPos?: 'left' | 'right' | 'top' | 'bottom' | undefined;
|
2022-09-14 11:26:01 +00:00
|
|
|
/**
|
|
|
|
* Style class of the icon.
|
|
|
|
*/
|
|
|
|
iconClass?: string | undefined;
|
2022-09-06 12:03:37 +00:00
|
|
|
/**
|
|
|
|
* Value of the badge.
|
|
|
|
*/
|
|
|
|
badge?: string | undefined;
|
|
|
|
/**
|
|
|
|
* Style class of the badge.
|
|
|
|
*/
|
|
|
|
badgeClass?: string | undefined;
|
|
|
|
/**
|
|
|
|
* Whether the button is in loading state.
|
2023-03-01 08:50:01 +00:00
|
|
|
* @defaultValue false
|
2022-09-06 12:03:37 +00:00
|
|
|
*/
|
|
|
|
loading?: boolean | undefined;
|
|
|
|
/**
|
|
|
|
* Icon to display in loading state.
|
2023-03-01 08:50:01 +00:00
|
|
|
* @defaultValue pi pi-spinner pi-spin
|
2022-09-06 12:03:37 +00:00
|
|
|
*/
|
|
|
|
loadingIcon?: string | undefined;
|
2023-03-03 07:03:54 +00:00
|
|
|
/**
|
|
|
|
* Add a link style to the button.
|
|
|
|
* @defaultValue false
|
|
|
|
*/
|
|
|
|
link?: boolean | undefined;
|
|
|
|
/**
|
|
|
|
* Defines the style of the button.
|
|
|
|
*/
|
2023-03-03 12:42:50 +00:00
|
|
|
severity?: 'secondary' | 'success' | 'info' | 'warning' | 'help' | 'danger' | undefined;
|
2023-03-03 07:03:54 +00:00
|
|
|
/**
|
|
|
|
* Add a shadow to indicate elevation.
|
|
|
|
* @defaultValue false
|
|
|
|
*/
|
|
|
|
raised?: boolean | undefined;
|
|
|
|
/**
|
|
|
|
* Add a circular border radius to the button.
|
|
|
|
* @defaultValue false
|
|
|
|
*/
|
|
|
|
rounded?: boolean | undefined;
|
|
|
|
/**
|
|
|
|
* Add a textual class to the button without a background initially.
|
|
|
|
* @defaultValue false
|
|
|
|
*/
|
|
|
|
text?: boolean | undefined;
|
|
|
|
/**
|
|
|
|
* Add a border class without a background initially.
|
|
|
|
* @defaultValue false
|
|
|
|
*/
|
|
|
|
outlined?: boolean | undefined;
|
|
|
|
/**
|
|
|
|
* Defines the size of the button.
|
|
|
|
*/
|
|
|
|
size?: 'small' | 'large' | undefined;
|
2022-09-06 12:03:37 +00:00
|
|
|
}
|
|
|
|
|
2023-03-01 08:50:01 +00:00
|
|
|
/**
|
|
|
|
* Defines valid slots in Button component.
|
|
|
|
*/
|
2022-09-06 12:03:37 +00:00
|
|
|
export interface ButtonSlots {
|
|
|
|
/**
|
|
|
|
* Custom content such as icons, images and text can be placed inside the button via the default slot. Note that when slot is used, label, icon and badge properties are not included.
|
|
|
|
*/
|
2023-03-01 08:50:01 +00:00
|
|
|
default(): VNode[];
|
2022-09-06 12:03:37 +00:00
|
|
|
}
|
|
|
|
|
2023-03-01 08:50:01 +00:00
|
|
|
/**
|
|
|
|
* Defines valid emits in Button component.
|
|
|
|
*/
|
|
|
|
export interface ButtonEmits {}
|
2022-09-06 12:03:37 +00:00
|
|
|
|
2023-03-01 08:50:01 +00:00
|
|
|
/**
|
|
|
|
* **PrimeVue - Button**
|
|
|
|
*
|
|
|
|
* _Button is an extension to standard button element with icons and theming._
|
|
|
|
*
|
|
|
|
* [Live Demo](https://www.primevue.org/button/)
|
|
|
|
* --- ---
|
|
|
|
* ![PrimeVue](https://primefaces.org/cdn/primevue/images/logo-100.png)
|
|
|
|
*
|
|
|
|
* @group Component
|
|
|
|
*/
|
2023-03-01 14:48:23 +00:00
|
|
|
declare class Button extends ClassComponent<ButtonProps, ButtonSlots, ButtonEmits> {}
|
2022-09-06 12:03:37 +00:00
|
|
|
|
|
|
|
declare module '@vue/runtime-core' {
|
|
|
|
interface GlobalComponents {
|
2022-09-14 11:26:01 +00:00
|
|
|
Button: GlobalComponentConstructor<Button>;
|
2022-09-06 12:03:37 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export default Button;
|