Created by: Sentox6
Current behaviour means any click events on the modal backdrop will dismiss the dialog, regardless of whether the initial mousedown event originated inside the dialog. When the modal contains elements such as text inputs, it's quite easy to accidentally close it by (for example) clicking and dragging to select text; if the mouse is released over the backdrop, the modal will close.
This change uses an event handler for mousedown and mouseup, and tracks whether a mousedown began outside the dialog or not.