* Replace placeholders with labels
* Add 'Close dialog' label to modal close button to distinguish from footer Close button
* Add and translate heading on the not found page
* Update textarea to have id matching label's for attribute
Simplify test for template description textarea
* Label PDF zoom level dropdown button
* Improve test selectors to use semantic roles and accessible names
GitOrigin-RevId: d215ddca30ddf844cfffbcf0e528a601b134d772
* Add focus-trap-react npm package
* Trap the focus for the Modal
* In some cases, the focus will not return to the trigger element
* If there are no tabbable elements, the focus should fallback
* Add explanations for focusTrapOptions props and extend test
* Auto generate package-lock.json - Add focus-trap-react npm package
GitOrigin-RevId: 488a05d5e95dd369c69bedcfaf7c1fd5e456e302
* Convert OLModal to named exports only
* Make closeButton the default for OLModalHeader
* Set `closeButton={false}` for modal that is not dismissible
* Fix duplicated imports
* Remove another unnecessary `closeButton` prop
* Fix import
---------
Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
GitOrigin-RevId: ddd7be6e59a966ac634683d2494d6e9d2c3732e6
* Update test for the loading spinner component
* Create a story for the loading spinner component
* Move role and use CSS for spacing instead
* Add a classname prop
* Reuse LoadingSpinner
* Use OLSpinner instead of Spinner
* Use data-testid since status role was moved
* Wait for journals to load
* Use `isLoading` prop instead and fix the button's height
* Use `isLoading` prop instead
* Use LoadingSpinner instead and remove spacing
* Update test for the loading spinner component
* Use `isLoading` prop instead
* Add aria-describedby to layout button for processing state
* Replace `spinner` to `ol-spinner`
* Scope status
* Remove redundant `div.loading`
---------
Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
GitOrigin-RevId: 8f43b991f8f458b2abd5a4661913ac9b972d892a