{"version":3,"file":"primeng-terminal.mjs","sources":["../../src/terminal/style/terminalstyle.ts","../../src/terminal/terminalservice.ts","../../src/terminal/terminal.ts","../../src/terminal/primeng-terminal.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-terminal {\n    height: ${dt('terminal.height')};\n    overflow: auto;\n    background: ${dt('terminal.background')};\n    color: ${dt('terminal.color')};\n    border: 1px solid ${dt('terminal.border.color')};\n    padding: ${dt('terminal.padding')};\n    border-radius: ${dt('terminal.border.radius')};\n}\n\n.p-terminal-prompt {\n    display: flex;\n    align-items: center;\n}\n\n.p-terminal-prompt-value {\n    flex: 1 1 auto;\n    border: 0 none;\n    background: transparent;\n    color: inherit;\n    padding: 0;\n    outline: 0 none;\n    font-family: inherit;\n    font-feature-settings: inherit;\n    font-size: 1rem;\n}\n\n.p-terminal-prompt-label {\n    margin-inline-end: ${dt('terminal.prompt.gap')};\n}\n\n.p-terminal-input::-ms-clear {\n    display: none;\n}\n\n.p-terminal-command-response {\n    margin: ${dt('terminal.command.response.margin')};\n}\n`;\n\nconst classes = {\n    root: 'p-terminal p-component',\n    welcomeMessage: 'p-terminal-welcome-message',\n    commandList: 'p-terminal-command-list',\n    command: 'p-terminal-command',\n    commandValue: 'p-terminal-command-value',\n    commandResponse: 'p-terminal-command-response',\n    prompt: 'p-terminal-prompt',\n    promptLabel: 'p-terminal-prompt-label',\n    promptValue: 'p-terminal-prompt-value'\n};\n\n@Injectable()\nexport class TerminalStyle extends BaseStyle {\n    name = 'terminal';\n\n    theme = theme;\n\n    classes = classes;\n}\n\n/**\n *\n * Terminal is a text based user interface.\n *\n * [Live Demo](https://www.primeng.org/terminal)\n *\n * @module terminalstyle\n *\n */\nexport enum TerminalClasses {\n    /**\n     * Class name of the root element\n     */\n    root = 'p-terminal',\n    /**\n     * Class name of the welcome message element\n     */\n    welcomeMessage = 'p-terminal-welcome-message',\n    /**\n     * Class name of the command list element\n     */\n    commandList = 'p-terminal-command-list',\n    /**\n     * Class name of the command element\n     */\n    command = 'p-terminal-command',\n    /**\n     * Class name of the command value element\n     */\n    commandValue = 'p-terminal-command-value',\n    /**\n     * Class name of the command response element\n     */\n    commandResponse = 'p-terminal-command-response',\n    /**\n     * Class name of the prompt element\n     */\n    prompt = 'p-terminal-prompt',\n    /**\n     * Class name of the prompt label element\n     */\n    promptLabel = 'p-terminal-prompt-label',\n    /**\n     * Class name of the prompt value element\n     */\n    promptValue = 'p-terminal-prompt-value'\n}\n\nexport interface TerminalStyle extends BaseStyle {}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class TerminalService {\n    private commandSource = new Subject<string>();\n    private responseSource = new Subject<string>();\n\n    commandHandler = this.commandSource.asObservable();\n    responseHandler = this.responseSource.asObservable();\n\n    sendCommand(command: string) {\n        if (command) {\n            this.commandSource.next(command);\n        }\n    }\n\n    sendResponse(response: string) {\n        if (response) {\n            this.responseSource.next(response);\n        }\n    }\n}\n","import { CommonModule } from '@angular/common';\nimport { AfterViewChecked, AfterViewInit, ChangeDetectionStrategy, Component, inject, Input, NgModule, OnDestroy, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { find } from '@primeuix/utils';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { Subscription } from 'rxjs';\nimport { TerminalStyle } from './style/terminalstyle';\nimport { TerminalService } from './terminalservice';\n\n/**\n * Terminal is a text based user interface.\n * @group Components\n */\n@Component({\n    selector: 'p-terminal',\n    standalone: true,\n    imports: [CommonModule, FormsModule, SharedModule],\n    template: `\n        <div [ngClass]=\"'p-terminal p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\" (click)=\"focus(in)\">\n            <div class=\"p-terminal-welcome-message\" *ngIf=\"welcomeMessage\">{{ welcomeMessage }}</div>\n            <div class=\"p-terminal-command-list\">\n                <div class=\"p-terminal-command\" *ngFor=\"let command of commands\">\n                    <span class=\"p-terminal-prompt-label\">{{ prompt }}</span>\n                    <span class=\"p-terminal-command-value\">{{ command.text }}</span>\n                    <div class=\"p-terminal-command-response\" [attr.aria-live]=\"'polite'\">{{ command.response }}</div>\n                </div>\n            </div>\n            <div class=\"p-terminal-prompt\">\n                <span class=\"p-terminal-prompt-label\">{{ prompt }}</span>\n                <input #in type=\"text\" [(ngModel)]=\"command\" class=\"p-terminal-prompt-value\" autocomplete=\"off\" (keydown)=\"handleCommand($event)\" autofocus />\n            </div>\n        </div>\n    `,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    providers: [TerminalStyle]\n})\nexport class Terminal extends BaseComponent implements AfterViewInit, AfterViewChecked, OnDestroy {\n    /**\n     * Initial text to display on terminal.\n     * @group Props\n     */\n    @Input() welcomeMessage: string | undefined;\n    /**\n     * Prompt text for each command.\n     * @group Props\n     */\n    @Input() prompt: string | undefined;\n    /**\n     * Inline style of the component.\n     * @group Props\n     */\n    @Input() style: { [klass: string]: any } | null | undefined;\n    /**\n     * Style class of the component.\n     * @group Props\n     */\n    @Input() styleClass: string | undefined;\n\n    commands: any[] = [];\n\n    command!: string;\n\n    container!: Element;\n\n    commandProcessed!: boolean;\n\n    subscription: Subscription;\n\n    _componentStyle = inject(TerminalStyle);\n\n    constructor(public terminalService: TerminalService) {\n        super();\n        this.subscription = terminalService.responseHandler.subscribe((response) => {\n            this.commands[this.commands.length - 1].response = response;\n            this.commandProcessed = true;\n        });\n    }\n\n    ngAfterViewInit() {\n        super.ngAfterViewInit();\n        this.container = find(this.el.nativeElement, '.p-terminal')[0];\n    }\n\n    ngAfterViewChecked() {\n        if (this.commandProcessed) {\n            this.container.scrollTop = this.container.scrollHeight;\n            this.commandProcessed = false;\n        }\n    }\n\n    @Input()\n    set response(value: string) {\n        if (value) {\n            this.commands[this.commands.length - 1].response = value;\n            this.commandProcessed = true;\n        }\n    }\n\n    handleCommand(event: KeyboardEvent) {\n        if (event.keyCode == 13) {\n            this.commands.push({ text: this.command });\n            this.terminalService.sendCommand(this.command);\n            this.command = '';\n        }\n    }\n\n    focus(element: HTMLElement) {\n        element.focus();\n    }\n\n    ngOnDestroy() {\n        if (this.subscription) {\n            this.subscription.unsubscribe();\n        }\n\n        super.ngOnDestroy();\n    }\n}\n\n@NgModule({\n    exports: [Terminal, SharedModule],\n    imports: [Terminal, SharedModule]\n})\nexport class TerminalModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.TerminalService"],"mappings":"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"}