{"version":3,"file":"igniteui-angular-action-strip.mjs","sources":["../../../projects/igniteui-angular/action-strip/src/action-strip/action-strip.component.ts","../../../projects/igniteui-angular/action-strip/src/action-strip/action-strip.component.html","../../../projects/igniteui-angular/action-strip/src/action-strip/public_api.ts","../../../projects/igniteui-angular/action-strip/src/action-strip/action-strip.module.ts","../../../projects/igniteui-angular/action-strip/src/igniteui-angular-action-strip.ts"],"sourcesContent":["import {\n    Component,\n    Directive,\n    HostBinding,\n    Input,\n    Renderer2,\n    ViewContainerRef,\n    ContentChildren,\n    QueryList,\n    ViewChild,\n    TemplateRef,\n    ChangeDetectorRef,\n    AfterViewInit,\n    ElementRef,\n    booleanAttribute,\n    inject,\n    DestroyRef,\n    AfterContentInit\n} from '@angular/core';\n\n\nimport {\n    ActionStripResourceStringsEN,\n    CloseScrollStrategy,\n    getCurrentResourceStrings,\n    onResourceChangeHandle,\n    IActionStripResourceStrings,\n    IgxActionStripActionsToken,\n    IgxActionStripToken,\n    OverlaySettings\n} from 'igniteui-angular/core';\nimport { IgxIconComponent } from 'igniteui-angular/icon';\nimport { IgxToggleActionDirective } from 'igniteui-angular/directives';\nimport { IgxRippleDirective } from 'igniteui-angular/directives';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { IgxIconButtonDirective } from 'igniteui-angular/directives';\nimport { trackByIdentity } from 'igniteui-angular/core';\nimport { IgxDropDownComponent, IgxDropDownItemComponent, IgxDropDownItemNavigationDirective } from 'igniteui-angular/drop-down';\n\n@Directive({\n    selector: '[igxActionStripMenuItem]',\n    standalone: true\n})\nexport class IgxActionStripMenuItemDirective {\n    public templateRef = inject<TemplateRef<any>>(TemplateRef);\n}\n\n/* blazorElement */\n/* jsonAPIManageItemInMarkup */\n/* jsonAPIManageCollectionInMarkup */\n/* wcElementTag: igc-action-strip */\n/* blazorIndirectRender */\n/* singleInstanceIdentifier */\n/* contentParent: GridBaseDirective */\n/* contentParent: RowIsland */\n/* contentParent: HierarchicalGrid */\n/**\n * Action Strip provides templatable area for one or more actions.\n *\n * @igxModule IgxActionStripModule\n *\n * @igxTheme igx-action-strip-theme\n *\n * @igxKeywords action, strip, actionStrip, pinning, editing\n *\n * @igxGroup Data Entry & Display\n *\n * @igxParent IgxGridComponent, IgxTreeGridComponent, IgxHierarchicalGridComponent, IgxRowIslandComponent, *\n *\n * @remarks\n * The Ignite UI Action Strip is a container, overlaying its parent container,\n * and displaying action buttons with action applicable to the parent component the strip is instantiated or shown for.\n *\n * @example\n * ```html\n * <igx-action-strip #actionStrip>\n *     <igx-icon (click)=\"doSomeAction()\"></igx-icon>\n * </igx-action-strip>\n */\n@Component({\n    selector: 'igx-action-strip',\n    templateUrl: 'action-strip.component.html',\n    imports: [\n        NgTemplateOutlet,\n        IgxIconButtonDirective,\n        IgxRippleDirective,\n        IgxToggleActionDirective,\n        IgxDropDownItemNavigationDirective,\n        IgxIconComponent,\n        IgxDropDownComponent,\n        IgxDropDownItemComponent\n    ],\n    providers: [{ provide: IgxActionStripToken, useExisting: IgxActionStripComponent }]\n})\nexport class IgxActionStripComponent implements IgxActionStripToken, AfterViewInit, AfterContentInit {\n    private _viewContainer = inject(ViewContainerRef);\n    private renderer = inject(Renderer2);\n    protected el = inject(ElementRef);\n    /* blazorSuppress */\n    public cdr = inject(ChangeDetectorRef);\n\n\n    /* blazorSuppress */\n    /**\n     * Sets the context of an action strip.\n     * The context should be an instance of a @Component, that has element property.\n     * This element will be the placeholder of the action strip.\n     *\n     * @example\n     * ```html\n     * <igx-action-strip [context]=\"cell\"></igx-action-strip>\n     * ```\n     */\n    @Input()\n    public context: any;\n\n    /**\n     * Menu Items ContentChildren inside the Action Strip\n     *\n     * @hidden\n     * @internal\n     */\n    @ContentChildren(IgxActionStripMenuItemDirective)\n    public _menuItems: QueryList<IgxActionStripMenuItemDirective>;\n\n\n    /* blazorInclude */\n    /* contentChildren */\n    /* blazorTreatAsCollection */\n    /* blazorCollectionName: GridActionsBaseDirectiveCollection */\n    /**\n     * ActionButton as ContentChildren inside the Action Strip\n     *\n     * @hidden\n     * @internal\n     */\n    @ContentChildren(IgxActionStripActionsToken)\n    public actionButtons: QueryList<IgxActionStripActionsToken>;\n\n    /**\n     * Gets/Sets the visibility of the Action Strip.\n     * Could be used to set if the Action Strip will be initially hidden.\n     *\n     * @example\n     * ```html\n     *  <igx-action-strip [hidden]=\"false\">\n     * ```\n     */\n    @Input({ transform: booleanAttribute })\n    public hidden = true;\n\n\n    /**\n     * Gets/Sets the resource strings.\n     *\n     * @remarks\n     * By default it uses EN resources.\n     */\n    @Input()\n    public set resourceStrings(value: IActionStripResourceStrings) {\n        this._resourceStrings = Object.assign({}, this._resourceStrings, value);\n    }\n\n    public get resourceStrings(): IActionStripResourceStrings {\n        return this._resourceStrings || this._defaultResourceStrings;\n    }\n\n    /**\n     * Hide or not the Action Strip based on if it is a menu.\n     *\n     * @hidden\n     * @internal\n     */\n    public get hideOnRowLeave(): boolean {\n        if (this.menu.items.length === 0) {\n            return true;\n        } else if (this.menu.items.length > 0) {\n            if (this.menu.collapsed) {\n                return true;\n            } else {\n                return false;\n            }\n        }\n    }\n\n    /**\n     * Reference to the menu\n     *\n     * @hidden\n     * @internal\n     */\n    @ViewChild('dropdown')\n    public menu: IgxDropDownComponent;\n\n    /**\n     * Getter for menu overlay settings\n     *\n     * @hidden\n     * @internal\n     */\n    public menuOverlaySettings: OverlaySettings = { scrollStrategy: new CloseScrollStrategy() };\n\n    private _destroyRef = inject(DestroyRef);\n    private _resourceStrings: IActionStripResourceStrings = null;\n    private _defaultResourceStrings = getCurrentResourceStrings(ActionStripResourceStringsEN);\n    private _originalParent!: HTMLElement;\n\n    constructor() {\n        onResourceChangeHandle(this._destroyRef, () => {\n            this._defaultResourceStrings = getCurrentResourceStrings(ActionStripResourceStringsEN, false);\n        }, this);\n    }\n\n    /**\n     * Menu Items list.\n     *\n     * @hidden\n     * @internal\n     */\n    public get menuItems() {\n        const actions = [];\n        this.actionButtons.forEach(button => {\n            if (button.asMenuItems) {\n                const children = button.buttons;\n                if (children) {\n                    children.toArray().forEach(x => actions.push(x));\n                }\n            }\n        });\n        return [... this._menuItems.toArray(), ...actions];\n    }\n\n\n    /**\n     * Getter for the 'display' property of the current `IgxActionStrip`\n     */\n    @HostBinding('style.display')\n    private get display(): string {\n        return this.hidden ? 'none' : 'flex';\n    }\n\n    /**\n     * Host `attr.class` binding.\n     */\n    @HostBinding('class.igx-action-strip')\n    protected hostClass = 'igx-action-strip';\n\n    /**\n     * @hidden\n     * @internal\n     */\n    public ngAfterContentInit() {\n        this.actionButtons.forEach(button => {\n            button.strip = this;\n        });\n        this.actionButtons.changes.subscribe(() => {\n            this.actionButtons.forEach(button => {\n                button.strip = this;\n            });\n        });\n    }\n\n    /**\n     * @hidden\n     * @internal\n     */\n    public ngAfterViewInit() {\n        this.menu.selectionChanging.subscribe(($event) => {\n            const newSelection = ($event.newSelection as any).elementRef.nativeElement;\n            let allButtons = [];\n            this.actionButtons.forEach(actionButtons => {\n                if (actionButtons.asMenuItems) {\n                    allButtons = [...allButtons, ...actionButtons.buttons.toArray()];\n                }\n            });\n            const button = allButtons.find(x => newSelection.contains(x.container.nativeElement));\n            if (button) {\n                button.actionClick.emit();\n            }\n        });\n        this._originalParent = this._viewContainer.element.nativeElement?.parentElement;\n    }\n\n    /**\n     * Showing the Action Strip and appending it the specified context element.\n     *\n     * @param context\n     * @example\n     * ```typescript\n     * this.actionStrip.show(row);\n     * ```\n     */\n    public show(context?: any): void {\n        this.hidden = false;\n        if (!context) {\n            return;\n        }\n        // when shown for different context make sure the menu won't stay opened\n        if (this.context !== context) {\n            this.closeMenu();\n        }\n        this.context = context;\n        if (this.context && this.context.element) {\n            this.renderer.appendChild(context.element.nativeElement, this._viewContainer.element.nativeElement);\n        }\n        this.cdr.detectChanges();\n    }\n\n    /**\n     * Hiding the Action Strip and removing it from its current context element.\n     *\n     * @example\n     * ```typescript\n     * this.actionStrip.hide();\n     * ```\n     */\n    public hide(): void {\n        this.hidden = true;\n        this.closeMenu();\n        if (this._originalParent) {\n            // D.P. fix(elements) don't detach native DOM, instead move back. Might not matter for Angular, but Elements will destroy\n            this.renderer.appendChild(this._originalParent, this._viewContainer.element.nativeElement);\n        } else if (this.context && this.context.element) {\n            this.renderer.removeChild(this.context.element.nativeElement, this._viewContainer.element.nativeElement);\n        }\n    }\n\n    /** pin swapping w/ unpin resets the menuItems collection */\n    protected trackMenuItem = trackByIdentity;\n\n    /**\n     * Close the menu if opened\n     *\n     * @hidden\n     * @internal\n     */\n    private closeMenu(): void {\n        if (this.menu && !this.menu.collapsed) {\n            this.menu.close();\n        }\n    }\n}\n","<div class=\"igx-action-strip__actions\">\n    <ng-content #content></ng-content>\n    @if (menuItems.length > 0) {\n        <button\n            type=\"button\"\n            igxIconButton=\"flat\"\n            igxRipple\n            [igxToggleAction]=\"dropdown\"\n            [overlaySettings]=\"menuOverlaySettings\"\n            (click)=\"$event.stopPropagation()\"\n            [title]=\"resourceStrings.igx_action_strip_button_more_title\"\n            [igxDropDownItemNavigation]=\"dropdown\"\n        >\n            <igx-icon family=\"default\" name=\"more_vert\"></igx-icon>\n        </button>\n    }\n    <igx-drop-down #dropdown>\n        @for (item of menuItems; track trackMenuItem(item)) {\n            <igx-drop-down-item\n                class=\"igx-action-strip__menu-item\"\n            >\n                <div class=\"igx-drop-down__item-template\">\n                    <ng-container\n                        *ngTemplateOutlet=\"\n                            item.templateRef;\n                            context: { $implicit: item }\n                        \"\n                    ></ng-container>\n                </div>\n            </igx-drop-down-item>\n        }\n    </igx-drop-down>\n</div>\n","import { IgxActionStripComponent, IgxActionStripMenuItemDirective } from './action-strip.component';\n\nexport { IgxActionStripComponent, IgxActionStripMenuItemDirective } from './action-strip.component';\n\n/* Action-strip outside of grid directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_ACTION_STRIP_DIRECTIVES = [\n    IgxActionStripComponent,\n    IgxActionStripMenuItemDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_ACTION_STRIP_DIRECTIVES } from './public_api';\n\n/**\n * @hidden\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n    imports: [\n        ...IGX_ACTION_STRIP_DIRECTIVES\n    ],\n    exports: [\n        ...IGX_ACTION_STRIP_DIRECTIVES\n    ],\n})\nexport class IgxActionStripModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxActionStripComponent","i1.IgxActionStripMenuItemDirective"],"mappings":"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"}