export const createSyntheticEvent = ( event: E, ): React.SyntheticEvent => { let isDefaultPrevented = false; let isPropagationStopped = false; const preventDefault = () => { isDefaultPrevented = true; event.preventDefault(); }; const stopPropagation = () => { isPropagationStopped = true; event.stopPropagation(); }; return { nativeEvent: event, currentTarget: event.currentTarget as EventTarget & T, target: event.target as EventTarget & T, bubbles: event.bubbles, cancelable: event.cancelable, defaultPrevented: event.defaultPrevented, eventPhase: event.eventPhase, isTrusted: event.isTrusted, preventDefault, isDefaultPrevented: () => isDefaultPrevented, stopPropagation, isPropagationStopped: () => isPropagationStopped, persist: () => {}, timeStamp: event.timeStamp, type: event.type, }; };