{"version":3,"file":"uipath-angular-directives-keyboard-shortcut.mjs","sources":["../../../projects/angular/directives/keyboard-shortcut/src/keyboard-shortcut.directive.ts","../../../projects/angular/directives/keyboard-shortcut/src/keyboard-shortcut.module.ts","../../../projects/angular/directives/keyboard-shortcut/src/uipath-angular-directives-keyboard-shortcut.ts"],"sourcesContent":["import {\n    Directive,\n    EventEmitter,\n    HostListener,\n    Input,\n    Output,\n} from '@angular/core';\n\n/**\n * Directive that listens for specified key combination\n * then emits an event\n *\n * @input: an array of key combinations, where a key combination is an array of strings\n */\n\n@Directive({\n    selector: '[uiKeyboardShortcut][shortcutKeys]',\n})\nexport class KeyboardShortcutDirective {\n    @Input()\n    shortcutKeys: string[][] = [];\n\n    @Output()\n    shortcutPressed = new EventEmitter<void>();\n\n    private _pressedKeys: Record<string, boolean> = {};\n\n    @HostListener('document:keydown', ['$event'])\n    searchShortcutKeydownHandler(event: KeyboardEvent) {\n        if (!this._keyInShortcut(event)) { return; }\n\n        this._pressedKeys[event.key] = true;\n        if (this.shortcutKeys.find(keyCombination => keyCombination.every(key => this._pressedKeys[key]))) {\n            this.shortcutPressed.emit();\n            this._pressedKeys = {};\n        }\n    }\n\n    @HostListener('document:keyup', ['$event'])\n    searchShortcutKeyupHandler(event: KeyboardEvent) {\n        if (!this._keyInShortcut(event)) { return; }\n        this._pressedKeys[event.key] = false;\n    }\n\n    private _keyInShortcut({ key }: KeyboardEvent) {\n        return this.shortcutKeys.find(keyCombination => !!keyCombination.find(k => k === key));\n    }\n}\n","import { NgModule } from '@angular/core';\n\nimport { KeyboardShortcutDirective } from './keyboard-shortcut.directive';\n\n@NgModule({\n    declarations: [KeyboardShortcutDirective],\n    exports: [KeyboardShortcutDirective],\n})\nexport class KeyboardShortcutModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;AAQA;;;;;AAKG;MAKU,yBAAyB,CAAA;AAHtC,IAAA,WAAA,GAAA;AAKI,QAAA,IAAY,CAAA,YAAA,GAAe,EAAE,CAAC;AAG9B,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAQ,CAAC;AAEnC,QAAA,IAAY,CAAA,YAAA,GAA4B,EAAE,CAAC;KAsBtD;AAnBG,IAAA,4BAA4B,CAAC,KAAoB,EAAA;AAC7C,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO;AAAE,SAAA;QAE5C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACpC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;AAC/F,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;AAC5B,YAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;AAC1B,SAAA;KACJ;AAGD,IAAA,0BAA0B,CAAC,KAAoB,EAAA;AAC3C,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO;AAAE,SAAA;QAC5C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;KACxC;IAEO,cAAc,CAAC,EAAE,GAAG,EAAiB,EAAA;QACzC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;KAC1F;;sHA5BQ,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;0GAAzB,yBAAyB,EAAA,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,kBAAA,EAAA,sCAAA,EAAA,gBAAA,EAAA,oCAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oCAAoC;iBACjD,CAAA;8BAGG,YAAY,EAAA,CAAA;sBADX,KAAK;gBAIN,eAAe,EAAA,CAAA;sBADd,MAAM;gBAMP,4BAA4B,EAAA,CAAA;sBAD3B,YAAY;uBAAC,kBAAkB,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAY5C,0BAA0B,EAAA,CAAA;sBADzB,YAAY;uBAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MC9BjC,sBAAsB,CAAA;;mHAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oHAAtB,sBAAsB,EAAA,YAAA,EAAA,CAHhB,yBAAyB,CAAA,EAAA,OAAA,EAAA,CAC9B,yBAAyB,CAAA,EAAA,CAAA,CAAA;oHAE1B,sBAAsB,EAAA,CAAA,CAAA;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,yBAAyB,CAAC;oBACzC,OAAO,EAAE,CAAC,yBAAyB,CAAC;iBACvC,CAAA;;;ACPD;;AAEG;;;;"}