primeng
Version:
PrimeNG is a premium UI library for Angular featuring a rich set of 90+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBlock,
259 lines (255 loc) • 11.1 kB
TypeScript
import { SplitButtonPassThrough, SplitButtonIconPosition } from 'primeng/types/splitbutton';
export * from 'primeng/types/splitbutton';
import * as _angular_core from '@angular/core';
import { ElementRef, TemplateRef } from '@angular/core';
import { MotionOptions } from '@primeuix/motion';
import { MenuItem, TooltipOptions } 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 { ButtonSeverity, ButtonSize, ButtonDirectiveOptions } from 'primeng/types/button';
import { CSSProperties, AppendTo } from 'primeng/types/shared';
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: string;
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: _angular_core.ɵɵFactoryDeclaration<SplitButtonStyle, never>;
static ɵprov: _angular_core.ɵɵInjectableDeclaration<SplitButtonStyle>;
}
interface SplitButtonStyle extends BaseStyle {
}
/**
* SplitButton groups a set of commands in an overlay with a default command.
* @group Components
*/
declare class SplitButton extends BaseComponent<SplitButtonPassThrough> {
componentName: string;
$pcSplitButton: SplitButton | undefined;
bindDirectiveInstance: Bind;
onAfterViewChecked(): void;
/**
* MenuModel instance to define the overlay items.
* @group Props
*/
model_: _angular_core.InputSignal<MenuItem[] | undefined>;
/**
* Defines the style of the button.
* @group Props
*/
severity: _angular_core.InputSignal<ButtonSeverity>;
/**
* Add a shadow to indicate elevation.
* @group Props
*/
raised: _angular_core.InputSignalWithTransform<boolean, unknown>;
/**
* Add a circular border radius to the button.
* @group Props
*/
rounded: _angular_core.InputSignalWithTransform<boolean, unknown>;
/**
* Add a textual class to the button without a background initially.
* @group Props
*/
text: _angular_core.InputSignalWithTransform<boolean, unknown>;
/**
* Add a border class without a background initially.
* @group Props
*/
outlined: _angular_core.InputSignalWithTransform<boolean, unknown>;
/**
* Defines the size of the button.
* @group Props
*/
size: _angular_core.InputSignal<ButtonSize | undefined>;
/**
* Add a plain textual class to the button without a background initially.
* @group Props
*/
plain: _angular_core.InputSignalWithTransform<boolean, unknown>;
/**
* Name of the icon.
* @group Props
*/
icon: _angular_core.InputSignal<string | undefined>;
/**
* Position of the icon.
* @group Props
*/
iconPos: _angular_core.InputSignal<SplitButtonIconPosition>;
/**
* Text of the button.
* @group Props
*/
label: _angular_core.InputSignal<string | undefined>;
/**
* Tooltip for the main button.
* @group Props
*/
tooltip: _angular_core.InputSignal<string | undefined>;
/**
* Tooltip options for the main button.
* @group Props
*/
tooltipOptions: _angular_core.InputSignal<TooltipOptions | undefined>;
/**
* Inline style of the overlay menu.
* @group Props
*/
menuStyle: _angular_core.InputSignal<CSSProperties>;
/**
* Style class of the overlay menu.
* @group Props
*/
menuStyleClass: _angular_core.InputSignal<string | undefined>;
/**
* Name of the dropdown icon.
* @group Props
*/
dropdownIcon: _angular_core.InputSignal<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: _angular_core.InputSignal<AppendTo>;
/**
* Indicates the direction of the element.
* @group Props
*/
dir: _angular_core.InputSignal<string | undefined>;
/**
* Defines a string that labels the expand button for accessibility.
* @group Props
*/
expandAriaLabel: _angular_core.InputSignal<string | undefined>;
/**
* The motion options.
* @group Props
*/
motionOptions: _angular_core.InputSignal<MotionOptions | undefined>;
computedMotionOptions: _angular_core.Signal<MotionOptions>;
/**
* Button Props
*/
buttonProps: _angular_core.InputSignal<ButtonDirectiveOptions | undefined>;
/**
* Menu Button Props
*/
menuButtonProps: _angular_core.InputSignal<ButtonDirectiveOptions | undefined>;
/**
* When present, it specifies that the component should automatically get focus on load.
* @group Props
*/
autofocus: _angular_core.InputSignalWithTransform<boolean, unknown>;
/**
* When present, it specifies that the element should be disabled.
* @group Props
*/
disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
/**
* Index of the element in tabbing order.
* @group Props
*/
tabindex: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
/**
* When present, it specifies that the menu button element should be disabled.
* @group Props
*/
menuButtonDisabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
/**
* When present, it specifies that the button element should be disabled.
* @group Props
*/
buttonDisabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
/**
* Callback to invoke when default command button is clicked.
* @param {MouseEvent} event - Mouse event.
* @group Emits
*/
onClick: _angular_core.OutputEmitterRef<MouseEvent>;
/**
* Callback to invoke when overlay menu is hidden.
* @group Emits
*/
onMenuHide: _angular_core.OutputEmitterRef<void>;
/**
* Callback to invoke when overlay menu is shown.
* @group Emits
*/
onMenuShow: _angular_core.OutputEmitterRef<void>;
/**
* Callback to invoke when dropdown button is clicked.
* @param {MouseEvent} event - Mouse event.
* @group Emits
*/
onDropdownClick: _angular_core.OutputEmitterRef<MouseEvent>;
buttonViewChild: _angular_core.Signal<ElementRef<any> | undefined>;
menu: _angular_core.Signal<TieredMenu | undefined>;
/**
* Custom content template.
* @group Templates
*/
contentTemplate: _angular_core.Signal<TemplateRef<void> | undefined>;
/**
* Custom dropdown icon template.
* @group Templates
**/
dropdownIconTemplate: _angular_core.Signal<TemplateRef<void> | undefined>;
ariaId: string;
isExpanded: _angular_core.WritableSignal<boolean>;
_componentStyle: SplitButtonStyle;
$appendTo: _angular_core.Signal<AppendTo>;
$buttonDisabled: _angular_core.Signal<boolean>;
$menuButtonDisabled: _angular_core.Signal<boolean>;
onDefaultButtonClick(event: MouseEvent): void;
onDropdownButtonClick(event?: MouseEvent): void;
onDropdownButtonKeydown(event: KeyboardEvent): void;
onHide(): void;
onShow(): void;
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SplitButton, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SplitButton, "p-splitbutton, p-split-button", never, { "model_": { "alias": "model"; "required": false; "isSignal": true; }; "severity": { "alias": "severity"; "required": false; "isSignal": true; }; "raised": { "alias": "raised"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "outlined": { "alias": "outlined"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "plain": { "alias": "plain"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconPos": { "alias": "iconPos"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "tooltipOptions": { "alias": "tooltipOptions"; "required": false; "isSignal": true; }; "menuStyle": { "alias": "menuStyle"; "required": false; "isSignal": true; }; "menuStyleClass": { "alias": "menuStyleClass"; "required": false; "isSignal": true; }; "dropdownIcon": { "alias": "dropdownIcon"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; "dir": { "alias": "dir"; "required": false; "isSignal": true; }; "expandAriaLabel": { "alias": "expandAriaLabel"; "required": false; "isSignal": true; }; "motionOptions": { "alias": "motionOptions"; "required": false; "isSignal": true; }; "buttonProps": { "alias": "buttonProps"; "required": false; "isSignal": true; }; "menuButtonProps": { "alias": "menuButtonProps"; "required": false; "isSignal": true; }; "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "tabindex": { "alias": "tabindex"; "required": false; "isSignal": true; }; "menuButtonDisabled": { "alias": "menuButtonDisabled"; "required": false; "isSignal": true; }; "buttonDisabled": { "alias": "buttonDisabled"; "required": false; "isSignal": true; }; }, { "onClick": "onClick"; "onMenuHide": "onMenuHide"; "onMenuShow": "onMenuShow"; "onDropdownClick": "onDropdownClick"; }, ["contentTemplate", "dropdownIconTemplate"], never, true, [{ directive: typeof i1.Bind; inputs: {}; outputs: {}; }]>;
}
declare class SplitButtonModule {
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SplitButtonModule, never>;
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<SplitButtonModule, never, [typeof SplitButton], [typeof SplitButton]>;
static ɵinj: _angular_core.ɵɵInjectorDeclaration<SplitButtonModule>;
}
export { SplitButton, SplitButtonClasses, SplitButtonModule, SplitButtonStyle };