* Upgrade typescript to 4.9.5
* Fix compile issue and put back files in tsconfig.strict.json
* Update test snapshots
* Fix jest tests by upgrading jest and other related packages.
* Attempt to fix playwright test
* Revert "Attempt to fix playwright test"
This reverts commit 8293f34c9c.
* 2nd attempt to fix example test
* fix waitFor in playwright
* Remove unused describe section
* Attempt to fix e2e test
* Revert "Attempt to fix e2e test"
This reverts commit 9745bcd2ef.
* Upgrade playwright to latest
* Revert "Upgrade playwright to latest"
This reverts commit e2ea1d0189.
* Error test on e2e
* Revert "Error test on e2e"
This reverts commit 124e3764f7.
* Try to select dropdown item by xpath selector
* Revert "Try to select dropdown item by xpath selector"
This reverts commit 8eb42a64e2.
* Attempt to wait until page is fully loaded
* Revert "Attempt to wait until page is fully loaded"
This reverts commit bb43fcea6e.
* Use playwright selectOption to select dropdown option
* Revert "Use playwright selectOption to select dropdown option"
This reverts commit daa8cd0930.
* Select dropdown option with playwright api instead of manual click
* c7ab4c7ecf7b05f32a85568bce1a667ad8c62703Revert "Select dropdown option with playwright api instead of manual click"
This reverts commit c7ab4c7ecf.
* Wait for 5s after dropdown click
* Revert "Wait for 5s after dropdown click"
This reverts commit 847e9ad33f.
* Try forcing click
* Revert "Try forcing click"
This reverts commit 29b9fa1bda.
* Force click on the dropdown and set viewport size bigger.
* Force click on the dropdown and set viewport size bigger.
* try force clicking option
* Skip container test on webkit
* Add branded browsers to e2e tests
---------
Co-authored-by: Ashley Stanton-Nurse <ashleyst@microsoft.com>
[Preview this branch](https://cosmos-explorer-preview.azurewebsites.net/pull/762?feature.someFeatureFlagYouMightNeed=true)
The main change in this PR fixes the snapshot functionality in the Publish pane-related components. Because the code cell outputs are now rendered in their own iframes for security reasons, a single snapshot of the notebook is no longer possible: each cell output takes its own snapshot and the snapshots are collated on the main notebook snapshot.
- Move the snapshot functionality to notebook components: this removes the reference of the notebook DOM node that we must pass to the Publish pane via explorer.
- Add slice in the state and actions in notebook redux for notebook snapshot requests and result
- Add post robot message to take snapshots and receive results
- Add logic in `NotebookRenderer` to wait for all output snapshots done before taking the main one collating.
- Use `zustand` to share snapshot between Redux world and React world. This solves the issue of keeping the `PanelContainer` component generic, while being able to update its children (`PublishPanel` component) with the new snapshot.
Additional changes:
- Add `local()` in `@font-face` to check if font is already installed before downloading the font (must be done for Safari, but not Edge/Chrome)
- Add "Export output to image" menu item in notebook cell, since each cell output can take its own snapshot (which can be downloaded)

While working on #549 I realized there were a few places where 'explorer' was only needed to expand the notifications console, so I stripped those out where it was easy.