UNPKG

@ng-doc/ui-kit

Version:

<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/ng-doc/ng-doc"> <img src="https://ng-doc.com/assets/images/ng-doc.svg?raw=true" alt="Logo" height="150px"> </a>

1 lines 3.45 kB
{"version":3,"file":"ng-doc-ui-kit-directives-hotkey.mjs","sources":["../../../../libs/ui-kit/directives/hotkey/hotkey.directive.ts","../../../../libs/ui-kit/directives/hotkey/ng-doc-ui-kit-directives-hotkey.ts"],"sourcesContent":["import {\n afterNextRender,\n DestroyRef,\n Directive,\n EventEmitter,\n inject,\n Input,\n NgZone,\n Output,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { isKeyboardEvent } from '@ng-doc/core/helpers/is-keyboard-event';\nimport { objectKeys } from '@ng-doc/core/helpers/object-keys';\nimport { ngDocZoneOptimize } from '@ng-doc/ui-kit/observables';\nimport { fromEvent } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\n@Directive({\n selector: '[ngDocHotkey]',\n standalone: true,\n})\nexport class NgDocHotkeyDirective {\n private readonly ngZone = inject(NgZone);\n\n @Input('ngDocHotkey')\n hotkey?: Partial<KeyboardEvent>;\n\n @Output('ngDocHotkey')\n callback: EventEmitter<void> = new EventEmitter<void>();\n\n constructor() {\n const destroyRef = inject(DestroyRef);\n\n afterNextRender(() => {\n fromEvent(document, 'keyup')\n .pipe(\n filter(isKeyboardEvent),\n filter((event: KeyboardEvent) =>\n objectKeys(this.hotkey ?? {}).every(\n (key: keyof KeyboardEvent) => this.hotkey && this.hotkey[key] === event[key],\n ),\n ),\n filter((event: KeyboardEvent) => {\n if (event.target instanceof HTMLElement) {\n return !['input', 'textarea', 'select'].includes(event.target.tagName.toLowerCase());\n }\n return true;\n }),\n ngDocZoneOptimize(this.ngZone),\n takeUntilDestroyed(destroyRef),\n )\n .subscribe((event: KeyboardEvent) => {\n event.preventDefault();\n this.callback.emit();\n });\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;MAqBa,oBAAoB,CAAA;AAS/B,IAAA,WAAA,GAAA;AARiB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAMxC,QAAA,IAAA,CAAA,QAAQ,GAAuB,IAAI,YAAY,EAAQ;AAGrD,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAErC,eAAe,CAAC,MAAK;AACnB,YAAA,SAAS,CAAC,QAAQ,EAAE,OAAO;iBACxB,IAAI,CACH,MAAM,CAAC,eAAe,CAAC,EACvB,MAAM,CAAC,CAAC,KAAoB,KAC1B,UAAU,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CACjC,CAAC,GAAwB,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,CAC7E,CACF,EACD,MAAM,CAAC,CAAC,KAAoB,KAAI;AAC9B,gBAAA,IAAI,KAAK,CAAC,MAAM,YAAY,WAAW,EAAE;oBACvC,OAAO,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBACtF;AACA,gBAAA,OAAO,IAAI;AACb,YAAA,CAAC,CAAC,EACF,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,EAC9B,kBAAkB,CAAC,UAAU,CAAC;AAE/B,iBAAA,SAAS,CAAC,CAAC,KAAoB,KAAI;gBAClC,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;AACtB,YAAA,CAAC,CAAC;AACN,QAAA,CAAC,CAAC;IACJ;8GAnCW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,QAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;sBAIE,KAAK;uBAAC,aAAa;;sBAGnB,MAAM;uBAAC,aAAa;;;AC3BvB;;AAEG;;;;"}