use upstream synthetic-dom-events