If opening another input dialog with select in the same row it would cause the value to be the same as the previous one as there was no rerender being forced because their keys were the same
Move all debug functions into a single developer drawer,
Not the best implementation as there is focus fighting going on between some elements and the drawer but will do for now without state management
* tweak(interface/menu): SetNuiFocusKeepInput
Default to allow input; disable with "disableInput = false" during registration.
* refactor(web/dialog): Split interfaces
for better typing of row options for different input types
* fix(web/dialog): Use proper type for onChange event
Co-authored-by: Linden <65407488+thelindat@users.noreply.github.com>
* tweak(interface/menu): SetNuiFocusKeepInput
Default to allow input; disable with "disableInput = false" during registration.
* fix(web/dialog): Setting non-selectable placeholder
React doesn't like the 'selected' attribute (causing a warning in web console - not in-game).
'defaultValue' should be used instead so there is no need to create placeholder option if 'defaultValue' is already defined by row options.
* fix(web/dialog): Use proper type for onChange event
Co-authored-by: Linden <65407488+thelindat@users.noreply.github.com>
* feat(web/dialog): Support placeholders
* feat(web/dialog): Support default values
* feat(web/dialog): Support default state of checkbox
* feat(web/dialog): Support placeholder for number input
* feat(web/dialog): Support default value for select
Using the same promise type of API that the input dialog is using, if the user closes the dialog via esc or the cancel button the promise will resolve `cancel` otherwise the promise will resolve `confirm`