Adds API filter registry, style theme registry, SW bitmask cache clear, KV namespacing, session expiry checks, accessibility improvements, and expanded test coverage. Co-authored-by: Cursor <cursoragent@cursor.com>
23 lines
557 B
JavaScript
23 lines
557 B
JavaScript
import { useEffect } from 'react';
|
|
import { addDocumentEventListener } from '../../platform/compat.js';
|
|
|
|
/**
|
|
* @param {boolean} active
|
|
* @param {(() => void) | null | undefined} onDismiss
|
|
*/
|
|
export function useEscapeDismiss(active, onDismiss) {
|
|
useEffect(() => {
|
|
if (!active || typeof onDismiss !== 'function') {
|
|
return undefined;
|
|
}
|
|
|
|
const handleKeyDown = (event) => {
|
|
if (event.key === 'Escape') {
|
|
onDismiss();
|
|
}
|
|
};
|
|
|
|
return addDocumentEventListener('keydown', handleKeyDown);
|
|
}, [active, onDismiss]);
|
|
}
|