diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts index 6c1027c66f..ebb0515a08 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts @@ -196,7 +196,7 @@ export class ModalComponent implements OnInit, OnDestroy, DismissableModal { .pipe( takeUntil(this.destroy$), debounceTime(150), - filter((key: KeyboardEvent) => key && key.key === 'Escape'), + filter((key: KeyboardEvent) => key && key.key === 'Escape' && this.options.keyboard), ) .subscribe(() => this.close()); } diff --git a/npm/ng-packs/packages/theme-shared/src/lib/tests/modal.component.spec.ts b/npm/ng-packs/packages/theme-shared/src/lib/tests/modal.component.spec.ts index a875eb27c7..e89b1b2bb4 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/tests/modal.component.spec.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/tests/modal.component.spec.ts @@ -158,8 +158,9 @@ describe('ModalComponent', () => { spectator.dispatchKeyboardEvent(spectator.component.modalWindowRef, 'keyup', 'Escape'); await wait300ms(); + const { keyboard } = spectator.component.options; - expect(spectator.component.visible).toBe(false); + expect(spectator.component.visible).toBe(!keyboard); }); it('should not close when busy is true', async () => {