{"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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"}