diff --git a/src/components/splitbutton/SplitButton.d.ts b/src/components/splitbutton/SplitButton.d.ts index f17cc9bae..57035e85f 100755 --- a/src/components/splitbutton/SplitButton.d.ts +++ b/src/components/splitbutton/SplitButton.d.ts @@ -1,17 +1,77 @@ -interface SplitButtonProps { - label?: string; - icon?: string; - model?: any[]; - autoZIndex?: boolean; - baseZIndex?: number; - appendTo?: string; - class?: string; +import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers'; +import { MenuItem } from '../menuitem'; + +type SplitButtonAppendToType = 'body' | 'self' | string | undefined; + +export interface SplitButtonProps { + /** + * Text of the button. + */ + label?: string | undefined; + /** + * Name of the icon. + */ + icon?: string | undefined; + /** + * MenuModel instance to define the overlay items. + */ + model?: MenuItem[] | undefined; + /** + * Whether to automatically manage layering. + * Default value is true. + */ + autoZIndex?: boolean | undefined; + /** + * Base zIndex value to use in layering. + * Default value is 0. + */ + baseZIndex?: number | undefined; + /** + * A valid query selector or an HTMLElement to specify where the overlay gets attached. + * @see SplitButtonAppendToType + * Default value is true. + */ + appendTo?: SplitButtonAppendToType; + /** + * Style class of the component. + */ + class?: string | undefined; + /** + * Inline style of the component. + */ style?: any; } -declare class SplitButton { - $props: SplitButtonProps; - $emit(eventName: 'click', event: Event): this; +export interface SplitButtonSlots { } +export declare type SplitButtonEmits = { + /** + * Callback to invoke when main button is clicked. + * @param {Event} event - Browser event. + */ + 'click': (event: Event) => void; +} + +declare class SplitButton extends ClassComponent { } + +declare module '@vue/runtime-core' { + interface GlobalComponents { + SplitButton: GlobalComponentConstructor + } +} + +/** + * + * SplitButton groups a set of commands in an overlay with a default command. + * + * Helper API: + * + * - [MenuItem](https://www.primefaces.org/primevue/showcase/#/menumodel) + * + * Demos: + * + * - [SplitButton](https://www.primefaces.org/primevue/showcase/#/splitbutton) + * + */ export default SplitButton;