* Add onBeforeUnload handler to prevent accidental refresh
* Update button messages
* Fix exit form not working after submit
* Make onBeforeUnload disable if env is development
* Fix onClose
* Remove internal date time field state
* Update messages and dialog
* Prevent navigation on 400 error
* Add submit disabled ref in exit form
* Update exit form dialog for disabled save
* Update confirmLeave forms to set ref if save is disabled
* Remove unused error handling
* Remove explicit ref type
* Remove unused import
* Fix disabled type
* Add disable check function to generic forms
* Add custom isDisabled method to sale and voucher forms
* Add default isDisabled functions to confirmLeave forms
* Update tests
* Remove unused code
* Rebase fixes + update tests
* Refactor form and useform
* Refactor disabling forms
* Change "saveDisabled" name to "isSaveDisabled" for improved readability
* Change "isDisabled" function to "checkIfSaveIsDisabled"
* Update exit form disabling conditions for zone rates forms
* Add Exit form prompt component and change some minor styles in other components to match
* Add Exit form prompt provider
* Adjust generic form and useform hook to allow using exit form prompt provider
* Add exit form prompt provider to index
* wip
* Fix types
* Fix styling
* Fix types
* Revert warehouse details refactor
* Add handling of edge cases to exit prompt
* Refactor, add comments, fix some types
* Refactor after exit form dialog name change
* fix types
* Fixes after review
* Add default value for useform prop opts so the app doesn't crash
* Add missing category prop to getting initial data for category details form
* Add exit dialog to everywhere WIP (#1600)
* Add Exit form prompt component and change some minor styles in other components to match
* Add Exit form prompt provider
* Adjust generic form and useform hook to allow using exit form prompt provider
* Add exit form prompt provider to index
* wip
* Fix types
* Fix styling
* Fix types
* Revert warehouse details refactor
* Add handling of edge cases to exit prompt
* Refactor, add comments, fix some types
* Refactor after exit form dialog name change
* fix types
* Add CommonUseFormResultWithHandlers type for later use and refactor handleFormSubmit util
* Refactor login form not to use custom form since it doesn't need to
* Add exit form dialog to order refund page
* Add exit form dialog to order return page
* Add exit form dialog to order order settings page
* Add exit form dialog to product variant page
* Add exit form dialog to product create page
* Add exit form dialog to product update page
* Add exit form dialog to product variant create page
* Fix confirm leave prop passing in generic Form
* Add util function to handle for submit to extract errors
* Add confirmLeave prop to generic forms
* Move handleChange for custom forms to useForm
* Add exit dialog to more forms
* Add extract mutation errors util function
* Add extracting errors to submit functions that use metadata create handler
* Fix typo
* Add missing category prop to getting initial data for category details form
* Fix types
* wip
* wip
* wip
* wip
* Fix types & refactor
* Fix types & refactor
* Fix typescript
* Fix unmatching tag
* Fixes
* Add handling of multiple forms at once to exit dirty form provider
* Change all usages of ExitFormDialogContext to designated hook
* wip
* wip
* wip
* Fix types wip
* Fix types
* Remove console logs
* Add isSubmitting prop to exit form dialog in order to avoid enabling exit dialog while submit is still in progresS
* Replace handleSubmit global util with a hook to use exit form dialog props inside
* Move useHandleSubmit to general hooks dir, update imports
* Small fixes
* Update snapshots
* Fix types
* Small fixes due to extensive rebase
* Update package lock
* Fixes after rebase
* Remove exit form from customer address dialog
* Fix types and update messages
* Fix types
* Change imports names
* Refactor
* Remove unnecessary console.log
* Update types, snapshots. etc after rebase