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,
1 lines • 26.8 kB
Source Map (JSON)
{"version":3,"file":"primeng-splitbutton.mjs","sources":["../../src/splitbutton/style/splitbuttonstyle.ts","../../src/splitbutton/splitbutton.ts","../../src/splitbutton/primeng-splitbutton.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/splitbutton';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: ({ instance }) => {\n const size = instance.size();\n return [\n 'p-splitbutton p-component',\n {\n 'p-splitbutton-raised': instance.raised(),\n 'p-splitbutton-rounded': instance.rounded(),\n 'p-splitbutton-outlined': instance.outlined(),\n 'p-splitbutton-text': instance.text(),\n [`p-splitbutton-${size === 'small' ? 'sm' : 'lg'}`]: size\n }\n ];\n },\n pcButton: 'p-splitbutton-button',\n pcDropdown: 'p-splitbutton-dropdown p-button-icon-only'\n};\n\n@Injectable()\nexport class SplitButtonStyle extends BaseStyle {\n name = 'splitbutton';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * SplitButton groups a set of commands in an overlay with a default command.\n *\n * [Live Demo](https://www.primeng.org/splitbutton/)\n *\n * @module splitbuttonstyle\n *\n */\nexport enum SplitButtonClasses {\n /**\n * Class name of the root element\n */\n root = 'p-splitbutton',\n /**\n * Class name of the button element\n */\n pcButton = 'p-splitbutton-button',\n /**\n * Class name of the dropdown element\n */\n pcDropdown = 'p-splitbutton-dropdown'\n}\n\nexport interface SplitButtonStyle extends BaseStyle {}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChild, ElementRef, inject, InjectionToken, input, NgModule, numberAttribute, output, signal, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\nimport { ChevronDown as ChevronDownIcon } from '@primeicons/angular/chevron-down';\nimport { MotionOptions } from '@primeuix/motion';\nimport { uuid } from '@primeuix/utils';\nimport { MenuItem, TooltipOptions } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { ButtonDirective } from 'primeng/button';\nimport { TieredMenu } from 'primeng/tieredmenu';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { ButtonDirectiveOptions, ButtonSeverity, ButtonSize } from 'primeng/types/button';\nimport type { AppendTo, CSSProperties } from 'primeng/types/shared';\nimport { SplitButtonIconPosition, SplitButtonPassThrough } from 'primeng/types/splitbutton';\nimport { SplitButtonStyle } from './style/splitbuttonstyle';\n\nconst SPLITBUTTON_INSTANCE = new InjectionToken<SplitButton>('SPLITBUTTON_INSTANCE');\n\n/**\n * SplitButton groups a set of commands in an overlay with a default command.\n * @group Components\n */\n@Component({\n selector: 'p-splitbutton, p-split-button',\n standalone: true,\n imports: [NgTemplateOutlet, ButtonDirective, AutoFocus, TieredMenu, ChevronDownIcon, TooltipModule, Bind],\n template: `\n @if (contentTemplate()) {\n <button\n type=\"button\"\n [pButton]=\"buttonProps()\"\n [severity]=\"severity()\"\n [text]=\"text()\"\n [outlined]=\"outlined()\"\n [size]=\"size()\"\n [plain]=\"plain()\"\n [disabled]=\"disabled()\"\n [tabindex]=\"tabindex()\"\n [class]=\"cx('pcButton')\"\n [attr.aria-label]=\"label()\"\n [pButtonPT]=\"ptm('pcButton')\"\n [pButtonUnstyled]=\"unstyled()\"\n [pAutoFocus]=\"autofocus()\"\n [pTooltip]=\"tooltip()\"\n [pTooltipUnstyled]=\"unstyled()\"\n [tooltipOptions]=\"tooltipOptions()\"\n (click)=\"onDefaultButtonClick($event)\"\n >\n <ng-container *ngTemplateOutlet=\"contentTemplate()\" />\n </button>\n } @else {\n <button\n #defaultbtn\n type=\"button\"\n [pButton]=\"buttonProps()\"\n [severity]=\"severity()\"\n [text]=\"text()\"\n [outlined]=\"outlined()\"\n [size]=\"size()\"\n [plain]=\"plain()\"\n [disabled]=\"$buttonDisabled()\"\n [tabindex]=\"tabindex()\"\n [class]=\"cx('pcButton')\"\n [attr.aria-label]=\"label()\"\n [pButtonPT]=\"ptm('pcButton')\"\n [pButtonUnstyled]=\"unstyled()\"\n [pAutoFocus]=\"autofocus()\"\n [pTooltip]=\"tooltip()\"\n [pTooltipUnstyled]=\"unstyled()\"\n [tooltipOptions]=\"tooltipOptions()\"\n (click)=\"onDefaultButtonClick($event)\"\n >\n @if (icon() && iconPos() !== 'right' && iconPos() !== 'bottom') {\n <i [class]=\"icon()\"></i>\n }\n {{ label() }}\n @if (icon() && (iconPos() === 'right' || iconPos() === 'bottom')) {\n <i [class]=\"icon()\"></i>\n }\n </button>\n }\n <button\n type=\"button\"\n iconOnly\n [pButton]=\"menuButtonProps()\"\n [severity]=\"severity()\"\n [text]=\"text()\"\n [outlined]=\"outlined()\"\n [size]=\"size()\"\n [plain]=\"plain()\"\n [disabled]=\"$menuButtonDisabled()\"\n [class]=\"cx('pcDropdown')\"\n [attr.aria-label]=\"expandAriaLabel()\"\n [attr.aria-haspopup]=\"true\"\n [attr.aria-expanded]=\"isExpanded()\"\n [attr.aria-controls]=\"ariaId\"\n [pButtonPT]=\"ptm('pcDropdown')\"\n [pButtonUnstyled]=\"unstyled()\"\n (click)=\"onDropdownButtonClick($event)\"\n (keydown)=\"onDropdownButtonKeydown($event)\"\n >\n @if (dropdownIcon()) {\n <i [class]=\"dropdownIcon()\"></i>\n } @else if (dropdownIconTemplate()) {\n <ng-container *ngTemplateOutlet=\"dropdownIconTemplate()\" />\n } @else {\n <svg data-p-icon=\"chevron-down\" [pBind]=\"ptm('pcDropdown')['icon']\" />\n }\n </button>\n <p-tieredmenu\n [id]=\"ariaId\"\n #menu\n [popup]=\"true\"\n [model]=\"model_()\"\n [style]=\"menuStyle()\"\n [styleClass]=\"menuStyleClass()\"\n [appendTo]=\"$appendTo()\"\n [motionOptions]=\"computedMotionOptions()\"\n (onHide)=\"onHide()\"\n (onShow)=\"onShow()\"\n [pt]=\"ptm('pcMenu')\"\n [unstyled]=\"unstyled()\"\n />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [SplitButtonStyle, { provide: SPLITBUTTON_INSTANCE, useExisting: SplitButton }, { provide: PARENT_INSTANCE, useExisting: SplitButton }],\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"cx('root')\",\n '[attr.data-p-severity]': 'severity()'\n },\n hostDirectives: [Bind]\n})\nexport class SplitButton extends BaseComponent<SplitButtonPassThrough> {\n componentName = 'SplitButton';\n\n $pcSplitButton: SplitButton | undefined = inject(SPLITBUTTON_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n /**\n * MenuModel instance to define the overlay items.\n * @group Props\n */\n model_ = input<MenuItem[] | undefined>(undefined, { alias: 'model' });\n /**\n * Defines the style of the button.\n * @group Props\n */\n severity = input<ButtonSeverity>();\n /**\n * Add a shadow to indicate elevation.\n * @group Props\n */\n raised = input(false, { transform: booleanAttribute });\n /**\n * Add a circular border radius to the button.\n * @group Props\n */\n rounded = input(false, { transform: booleanAttribute });\n /**\n * Add a textual class to the button without a background initially.\n * @group Props\n */\n text = input(false, { transform: booleanAttribute });\n /**\n * Add a border class without a background initially.\n * @group Props\n */\n outlined = input(false, { transform: booleanAttribute });\n /**\n * Defines the size of the button.\n * @group Props\n */\n size = input<ButtonSize>();\n /**\n * Add a plain textual class to the button without a background initially.\n * @group Props\n */\n plain = input(false, { transform: booleanAttribute });\n /**\n * Name of the icon.\n * @group Props\n */\n icon = input<string>();\n /**\n * Position of the icon.\n * @group Props\n */\n iconPos = input<SplitButtonIconPosition>('left');\n /**\n * Text of the button.\n * @group Props\n */\n label = input<string>();\n /**\n * Tooltip for the main button.\n * @group Props\n */\n tooltip = input<string>();\n /**\n * Tooltip options for the main button.\n * @group Props\n */\n tooltipOptions = input<TooltipOptions>();\n /**\n * Inline style of the overlay menu.\n * @group Props\n */\n menuStyle = input<CSSProperties>();\n /**\n * Style class of the overlay menu.\n * @group Props\n */\n menuStyleClass = input<string>();\n /**\n * Name of the dropdown icon.\n * @group Props\n */\n dropdownIcon = input<string>();\n /**\n * 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).\n * @defaultValue 'body'\n * @group Props\n */\n appendTo = input<AppendTo>('body');\n /**\n * Indicates the direction of the element.\n * @group Props\n */\n dir = input<string>();\n /**\n * Defines a string that labels the expand button for accessibility.\n * @group Props\n */\n expandAriaLabel = input<string>();\n /**\n * The motion options.\n * @group Props\n */\n motionOptions = input<MotionOptions | undefined>(undefined);\n\n computedMotionOptions = computed<MotionOptions>(() => {\n return {\n ...this.ptm('motion'),\n ...this.motionOptions()\n };\n });\n /**\n * Button Props\n */\n buttonProps = input<ButtonDirectiveOptions>();\n /**\n * Menu Button Props\n */\n menuButtonProps = input<ButtonDirectiveOptions>();\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n autofocus = input(false, { transform: booleanAttribute });\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n disabled = input(false, { transform: booleanAttribute });\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n tabindex = input(undefined, { transform: numberAttribute });\n /**\n * When present, it specifies that the menu button element should be disabled.\n * @group Props\n */\n menuButtonDisabled = input(false, { transform: booleanAttribute });\n /**\n * When present, it specifies that the button element should be disabled.\n * @group Props\n */\n buttonDisabled = input(false, { transform: booleanAttribute });\n /**\n * Callback to invoke when default command button is clicked.\n * @param {MouseEvent} event - Mouse event.\n * @group Emits\n */\n onClick = output<MouseEvent>();\n /**\n * Callback to invoke when overlay menu is hidden.\n * @group Emits\n */\n onMenuHide = output();\n /**\n * Callback to invoke when overlay menu is shown.\n * @group Emits\n */\n onMenuShow = output();\n /**\n * Callback to invoke when dropdown button is clicked.\n * @param {MouseEvent} event - Mouse event.\n * @group Emits\n */\n onDropdownClick = output<MouseEvent>();\n\n buttonViewChild = viewChild('defaultbtn', { read: ElementRef });\n\n menu = viewChild<TieredMenu>('menu');\n /**\n * Custom content template.\n * @group Templates\n */\n contentTemplate = contentChild<TemplateRef<void>>('content', { descendants: false });\n /**\n * Custom dropdown icon template.\n * @group Templates\n **/\n dropdownIconTemplate = contentChild<TemplateRef<void>>('dropdownicon', { descendants: false });\n\n ariaId = uuid('pn_id_');\n\n isExpanded = signal<boolean>(false);\n\n _componentStyle = inject(SplitButtonStyle);\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n $buttonDisabled = computed(() => this.disabled() || this.buttonDisabled());\n\n $menuButtonDisabled = computed(() => this.disabled() || this.menuButtonDisabled());\n\n onDefaultButtonClick(event: MouseEvent) {\n this.onClick.emit(event);\n this.menu()?.hide();\n }\n\n onDropdownButtonClick(event?: MouseEvent) {\n this.onDropdownClick.emit(event as MouseEvent);\n this.menu()?.toggle({ currentTarget: this.el?.nativeElement, relativeAlign: this.$appendTo() == 'self' });\n }\n\n onDropdownButtonKeydown(event: KeyboardEvent) {\n if (event.code === 'ArrowDown' || event.code === 'ArrowUp') {\n this.onDropdownButtonClick();\n event.preventDefault();\n }\n }\n\n onHide() {\n this.isExpanded.set(false);\n this.onMenuHide.emit();\n }\n\n onShow() {\n this.isExpanded.set(true);\n this.onMenuShow.emit();\n }\n}\n\n@NgModule({\n imports: [SplitButton],\n exports: [SplitButton]\n})\nexport class SplitButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ChevronDownIcon"],"mappings":"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"}