Fixes#7086. As per https://github.com/wagtail/wagtail/issues/7086#issuecomment-826945031, ensure that .as_data() is consistently called when telepath-packing ErrorList objects (so that we preserve any embedded ValidationError objects instead of casting them to strings), and introduce an explicit ValidationError class on the client side to make mismatches more obvious (and for future extensibility in case we need to attach more fancy logic to ValidationError).
Also add tests for setError, and fix rendering of StreamBlock non-field errors (selector to clear old errors was incorrect, and jest apparently doesn't support innerText).
* Add a bit of bottom padding to "Are you sure?" buttons
* Change delete buttons from red to blue
* Right-align delete and cancel buttons
* Insert clearfix after delete/cancel buttons
* Make "Are you sure?" on comment reply deletion correct size
* Update wording of warning after editing comment
* Tighten up height of comment warnings
Fixes#7083. Override default FieldBlock / BoundWidget behaviour so that:
* BooleanBlock.get_form_state bypasses CheckboxInput.format_value (which Django uses to determine the 'value' HTML attribute rather than the checked state)
* BoundCheckboxInput.get_state / set_state / get_value work with the 'checked' attribute rather than 'value'
* Add warning to bottom of draft comments
* Add a warning to bottom of edited comments
* Add a warning at the bottom of comments with unsaved replies
* Set role="status" on the comment notice
* Add a keyboard shortcut to Draftail for adding/focusing comments
* Increase the timeout for unfocusing comments to reflect doing it on mousedown
* Update react-focus-trap and add focus trap to comments
* Remove extra focusing logic and replace with focusTrap initialFocus argument
* Add forceFocus to tests
* Remove todo
* Update Draftail to 1.4.1 to allow plugin keyBindingFns to be called
* Remove now unneeded icon hiding css due to Draftail update
* Add data-comment-add class to buttons to prevent comment unfocus
* Prevent comment button showing on streamfield root, and attach contentpath to field parent for single field
* Add keyboard shortcut for field level comments
* Consolidate comments keyboard shortcut check in case we change, and use keyCode instead of key
* Formatting and eslint fixes
* Update tests