import { SplitButtonPassThrough, ButtonProps, MenuButtonProps } from 'primeng/types/splitbutton'; export * from 'primeng/types/splitbutton'; import * as i0 from '@angular/core'; import { EventEmitter, ElementRef, TemplateRef, QueryList } from '@angular/core'; import { MotionOptions } from '@primeuix/motion'; import * as i2 from 'primeng/api'; import { MenuItem, TooltipOptions, PrimeTemplate } from 'primeng/api'; import { BaseComponent } from 'primeng/basecomponent'; import * as i1 from 'primeng/bind'; import { Bind } from 'primeng/bind'; import { TieredMenu } from 'primeng/tieredmenu'; import * as _primeuix_styled from '@primeuix/styled'; import { BaseStyle } from 'primeng/base'; /** * * SplitButton groups a set of commands in an overlay with a default command. * * [Live Demo](https://www.primeng.org/splitbutton/) * * @module splitbuttonstyle * */ declare enum SplitButtonClasses { /** * Class name of the root element */ root = "p-splitbutton", /** * Class name of the button element */ pcButton = "p-splitbutton-button", /** * Class name of the dropdown element */ pcDropdown = "p-splitbutton-dropdown" } declare class SplitButtonStyle extends BaseStyle { name: string; style: _primeuix_styled.StyleType; classes: { root: ({ instance }: { instance: any; }) => (string | { [x: string]: any; 'p-splitbutton-raised': any; 'p-splitbutton-rounded': any; 'p-splitbutton-outlined': any; 'p-splitbutton-text': any; })[]; pcButton: string; pcDropdown: string; }; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } interface SplitButtonStyle extends BaseStyle { } type SplitButtonIconPosition = 'left' | 'right'; /** * SplitButton groups a set of commands in an overlay with a default command. * @group Components */ declare class SplitButton extends BaseComponent { $pcSplitButton: SplitButton | undefined; bindDirectiveInstance: Bind; onAfterViewChecked(): void; /** * MenuModel instance to define the overlay items. * @group Props */ model: MenuItem[] | undefined; /** * Defines the style of the button. * @group Props */ severity: 'success' | 'info' | 'warn' | 'danger' | 'help' | 'primary' | 'secondary' | 'contrast' | null | 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 border class without a background initially. * @group Props */ outlined: boolean; /** * Defines the size of the button. * @group Props */ size: 'small' | 'large' | undefined | null; /** * Add a plain textual class to the button without a background initially. * @group Props */ plain: boolean; /** * Name of the icon. * @group Props */ icon: string | undefined; /** * Position of the icon. * @group Props */ iconPos: SplitButtonIconPosition; /** * Text of the button. * @group Props */ label: string | undefined; /** * Tooltip for the main button. * @group Props */ tooltip: string | undefined; /** * Tooltip options for the main button. * @group Props */ tooltipOptions: TooltipOptions | undefined; /** * Class of the element. * @deprecated since v20.0.0, use `class` instead. * @group Props */ styleClass: string | undefined; /** * Inline style of the overlay menu. * @group Props */ menuStyle: { [klass: string]: any; } | null | undefined; /** * Style class of the overlay menu. * @group Props */ menuStyleClass: string | undefined; /** * Name of the dropdown icon. * @group Props */ dropdownIcon: string | undefined; /** * Target element to attach the overlay, valid values are "body" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]="mydiv" for a div element having #mydiv as variable name). * @defaultValue 'body' * @group Props */ appendTo: i0.InputSignal; /** * Indicates the direction of the element. * @group Props */ dir: string | undefined; /** * Defines a string that labels the expand button for accessibility. * @group Props */ expandAriaLabel: string | undefined; /** * Transition options of the show animation. * @group Props * @deprecated since v21.0.0. Use `motionOptions` instead. */ showTransitionOptions: string; /** * Transition options of the hide animation. * @group Props * @deprecated since v21.0.0. Use `motionOptions` instead. */ hideTransitionOptions: string; /** * The motion options. * @group Props */ motionOptions: i0.InputSignal; computedMotionOptions: i0.Signal; /** * Button Props */ buttonProps: ButtonProps | undefined; /** * Menu Button Props */ menuButtonProps: MenuButtonProps | undefined; /** * When present, it specifies that the component should automatically get focus on load. * @group Props */ autofocus: boolean | undefined; /** * When present, it specifies that the element should be disabled. * @group Props */ set disabled(v: boolean | undefined); get disabled(): boolean | undefined; /** * Index of the element in tabbing order. * @group Props */ tabindex: number | undefined; /** * When present, it specifies that the menu button element should be disabled. * @group Props */ menuButtonDisabled: boolean; /** * When present, it specifies that the button element should be disabled. * @group Props */ buttonDisabled: boolean; /** * Callback to invoke when default command button is clicked. * @param {MouseEvent} event - Mouse event. * @group Emits */ onClick: EventEmitter; /** * Callback to invoke when overlay menu is hidden. * @group Emits */ onMenuHide: EventEmitter; /** * Callback to invoke when overlay menu is shown. * @group Emits */ onMenuShow: EventEmitter; /** * Callback to invoke when dropdown button is clicked. * @param {MouseEvent} event - Mouse event. * @group Emits */ onDropdownClick: EventEmitter; buttonViewChild: ElementRef | undefined; menu: TieredMenu | undefined; /** * Custom content template. * @group Templates */ contentTemplate: TemplateRef | undefined; /** * Custom dropdown icon template. * @group Templates **/ dropdownIconTemplate: TemplateRef | undefined; templates: QueryList | undefined; ariaId: string | undefined; isExpanded: i0.WritableSignal; private _disabled; _componentStyle: SplitButtonStyle; _contentTemplate: TemplateRef | undefined; _dropdownIconTemplate: TemplateRef | undefined; $appendTo: i0.Signal; onInit(): void; onAfterContentInit(): void; onDefaultButtonClick(event: MouseEvent): void; onDropdownButtonClick(event?: MouseEvent): void; onDropdownButtonKeydown(event: KeyboardEvent): void; onHide(): void; onShow(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; static ngAcceptInputType_raised: unknown; static ngAcceptInputType_rounded: unknown; static ngAcceptInputType_text: unknown; static ngAcceptInputType_outlined: unknown; static ngAcceptInputType_plain: unknown; static ngAcceptInputType_autofocus: unknown; static ngAcceptInputType_disabled: unknown; static ngAcceptInputType_tabindex: unknown; static ngAcceptInputType_menuButtonDisabled: unknown; static ngAcceptInputType_buttonDisabled: unknown; } declare class SplitButtonModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { SplitButton, SplitButtonClasses, SplitButtonModule, SplitButtonStyle };