import { directive , EventPart } from 'lit-html' ; export const stop = directive ( ( handler , immediate = false ) => ( part ) => { if ( ! ( part instanceof EventPart ) ) { throw new Error ( '"stop" directive can only be used in event listeners' ) ; } const { handleEvent , ... options } = handler ; part . setValue ( { handleEvent : function ( event ) { immediate ? event . stopImmediatePropagation ( ) : event . stopPropagation ( ) ; ( handleEvent || handler ) . call ( this , event ) ; } , ... options } ) ; } ) ;