UNPKG

@sorens/artist-svelte

Version:

an opinionated and clean UI framework for SvelteKit with theme support built-in

20 lines (19 loc) 566 B
export const keydown = (close) => (e) => { e.stopPropagation(); /* istanbul ignore else */ if (e.key === 'Escape') { close(); } }; export const modalInit = (modalNodeList, close) => (node) => { const returnFn = []; const closeOnEsc = (event) => keydown(close)(event); document.body.addEventListener('keydown', closeOnEsc); modalNodeList.push(node); returnFn.push(() => { document.body.removeEventListener('keydown', closeOnEsc); }); return { destroy: () => returnFn.forEach((fn) => fn()) }; };