-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
7ef0fee
commit 1532b46
Showing
1 changed file
with
68 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,74 @@ | ||
interface ButtonProps { | ||
import { ButtonHTMLAttributes, VNode } from 'vue'; | ||
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers'; | ||
|
||
type ButtonIconPosType = 'left' | 'right' | 'top' | 'bottom'; | ||
|
||
export interface ButtonProps extends ButtonHTMLAttributes { | ||
/** | ||
* Inline style of the button. | ||
*/ | ||
style?: any; | ||
class?: string; | ||
label?: string; | ||
icon?: string; | ||
iconPos?: string; | ||
badge?: string; | ||
badgeClass?: string; | ||
loading?: boolean; | ||
loadingIcon?: string; | ||
/** | ||
* Style class of the button. | ||
*/ | ||
class?: string | undefined; | ||
/** | ||
* Text of the button. | ||
*/ | ||
label?: string | undefined; | ||
/** | ||
* Name of the icon. | ||
*/ | ||
icon?: string | undefined; | ||
/** | ||
* Position of the icon, valid values are "left", "right", "bottom" and "top". | ||
* Default value is 'left'. | ||
*/ | ||
iconPos?: ButtonIconPosType; | ||
/** | ||
* Value of the badge. | ||
*/ | ||
badge?: string | undefined; | ||
/** | ||
* Style class of the badge. | ||
*/ | ||
badgeClass?: string | undefined; | ||
/** | ||
* Whether the button is in loading state. | ||
*/ | ||
loading?: boolean | undefined; | ||
/** | ||
* Icon to display in loading state. | ||
* Default value is 'pi pi-spinner pi-spin'. | ||
*/ | ||
loadingIcon?: string | undefined; | ||
} | ||
|
||
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. | ||
*/ | ||
default: () => VNode[]; | ||
} | ||
|
||
declare class Button { | ||
$props: ButtonProps; | ||
export declare type ButtonEmits = { | ||
} | ||
|
||
declare class Button extends ClassComponent<ButtonProps, ButtonSlots, ButtonEmits> { } | ||
|
||
declare module '@vue/runtime-core' { | ||
interface GlobalComponents { | ||
Button: GlobalComponentConstructor<Button> | ||
} | ||
} | ||
|
||
/** | ||
* | ||
* Button is an extension to standard button element with icons and theming. | ||
* | ||
* Demos: | ||
* | ||
* - [Button](https://www.primefaces.org/primevue/showcase/#/button) | ||
* | ||
*/ | ||
export default Button; |