1
0
mirror of https://github.com/flutter/samples.git synced 2026-06-11 16:58:46 +00:00
Files
samples/web_embedding
dependabot[bot] 35833ec756 Bump @angular/common from 21.2.17 to 22.0.1 in /web_embedding/ng-flutter (#2856)
Bumps [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) from 21.2.17 to 22.0.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/releases">@​angular/common's releases</a>.</em></p>
<blockquote>
<h2>22.0.1</h2>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="c4b5fa3c92"><img src="https://img.shields.io/badge/c4b5fa3c92-fix-green" alt="fix - c4b5fa3c92" /></a></td>
<td>escape CSS string-terminating characters in escapeCssUrl</td>
</tr>
<tr>
<td><a href="dfff57ede9"><img src="https://img.shields.io/badge/dfff57ede9-fix-green" alt="fix - dfff57ede9" /></a></td>
<td>Limits date format string length</td>
</tr>
<tr>
<td><a href="3c2892c8df"><img src="https://img.shields.io/badge/3c2892c8df-fix-green" alt="fix - 3c2892c8df" /></a></td>
<td>prevent prototype pollution in formatDateTime</td>
</tr>
<tr>
<td><a href="1d87c49f6e"><img src="https://img.shields.io/badge/1d87c49f6e-fix-green" alt="fix - 1d87c49f6e" /></a></td>
<td>use cryptographically secure SHA-256 for transfer cache key generation</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1ee224ca30"><img src="https://img.shields.io/badge/1ee224ca30-fix-green" alt="fix - 1ee224ca30" /></a></td>
<td>disallow i18n event attributes</td>
</tr>
<tr>
<td><a href="a56f1cdf8f"><img src="https://img.shields.io/badge/a56f1cdf8f-fix-green" alt="fix - a56f1cdf8f" /></a></td>
<td>more robust logic to check if regex can be optimized</td>
</tr>
<tr>
<td><a href="5946c18275"><img src="https://img.shields.io/badge/5946c18275-fix-green" alt="fix - 5946c18275" /></a></td>
<td>sanitize <code>href</code>/<code>xlink:href</code> attributes of any element of the MathML namespace</td>
</tr>
<tr>
<td><a href="393b84caf8"><img src="https://img.shields.io/badge/393b84caf8-fix-green" alt="fix - 393b84caf8" /></a></td>
<td>sanitize two-way properties</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="3d9ca2f173"><img src="https://img.shields.io/badge/3d9ca2f173-fix-green" alt="fix - 3d9ca2f173" /></a></td>
<td>bind switch exhaustive check expressions</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="669146b0e7"><img src="https://img.shields.io/badge/669146b0e7-fix-green" alt="fix - 669146b0e7" /></a></td>
<td>disable WebMCP during SSR</td>
</tr>
<tr>
<td><a href="562a566ead"><img src="https://img.shields.io/badge/562a566ead-fix-green" alt="fix - 562a566ead" /></a></td>
<td>Handle synchronous errors in PendingTasks.run function</td>
</tr>
<tr>
<td><a href="fa546f382d"><img src="https://img.shields.io/badge/fa546f382d-fix-green" alt="fix - fa546f382d" /></a></td>
<td>harden TransferState restoration against DOM clobbering</td>
</tr>
<tr>
<td><a href="29fdb98684"><img src="https://img.shields.io/badge/29fdb98684-fix-green" alt="fix - 29fdb98684" /></a></td>
<td>prevent dangling prevConsumer reference from leaking destroyed views (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/68681">#68681</a>)</td>
</tr>
<tr>
<td><a href="cdcea80327"><img src="https://img.shields.io/badge/cdcea80327-fix-green" alt="fix - cdcea80327" /></a></td>
<td>require WebMCP tool descriptions</td>
</tr>
<tr>
<td><a href="4289c4c840"><img src="https://img.shields.io/badge/4289c4c840-fix-green" alt="fix - 4289c4c840" /></a></td>
<td>update comment for Default change detection</td>
</tr>
<tr>
<td><a href="3dd433b39a"><img src="https://img.shields.io/badge/3dd433b39a-fix-green" alt="fix - 3dd433b39a" /></a></td>
<td>use Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray</td>
</tr>
<tr>
<td><a href="045bb736b3"><img src="https://img.shields.io/badge/045bb736b3-fix-green" alt="fix - 045bb736b3" /></a></td>
<td>validate lowercase SVG animation attribute names</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="11836a670a"><img src="https://img.shields.io/badge/11836a670a-fix-green" alt="fix - 11836a670a" /></a></td>
<td>delay mcp reading the form model by a <code>tick</code></td>
</tr>
<tr>
<td><a href="85d2d100e3"><img src="https://img.shields.io/badge/85d2d100e3-fix-green" alt="fix - 85d2d100e3" /></a></td>
<td>harden FormGroup control lookups against prototype shadowing</td>
</tr>
<tr>
<td><a href="e51ad374ea"><img src="https://img.shields.io/badge/e51ad374ea-fix-green" alt="fix - e51ad374ea" /></a></td>
<td>remove animationstart listener on component destroy to prevent memory leak</td>
</tr>
<tr>
<td><a href="55b7b5a6b6"><img src="https://img.shields.io/badge/55b7b5a6b6-fix-green" alt="fix - 55b7b5a6b6" /></a></td>
<td>set <code>additionalProperties: false</code> on generated WebMCP form</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="ffb06c0514"><img src="https://img.shields.io/badge/ffb06c0514-fix-green" alt="fix - ffb06c0514" /></a></td>
<td>ensure query parameters are inserted before URL fragments</td>
</tr>
<tr>
<td><a href="2dd65d21e6"><img src="https://img.shields.io/badge/2dd65d21e6-fix-green" alt="fix - 2dd65d21e6" /></a></td>
<td>pass down the <code>reportUploadProgress</code> and <code>reportDownloadProgress</code> on post/patch requests</td>
</tr>
<tr>
<td><a href="4254eb416c"><img src="https://img.shields.io/badge/4254eb416c-fix-green" alt="fix - 4254eb416c" /></a></td>
<td>preserve empty referrer option in HttpRequest</td>
</tr>
<tr>
<td><a href="167bd4c162"><img src="https://img.shields.io/badge/167bd4c162-fix-green" alt="fix - 167bd4c162" /></a></td>
<td>Rejects non-HTTP(S) URLs in JSONP requests</td>
</tr>
</tbody>
</table>
<h3>language-service</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="43a0e28729"><img src="https://img.shields.io/badge/43a0e28729-fix-green" alt="fix - 43a0e28729" /></a></td>
<td>prevent external template inlay hints from appearing in TS files</td>
</tr>
</tbody>
</table>
<h3>platform-server</h3>
<p>| Commit | Description |</p>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/blob/main/CHANGELOG.md">@​angular/common's changelog</a>.</em></p>
<blockquote>
<h1>22.0.1 (2026-06-10)</h1>
<h2>Deprecations</h2>
<h3>platform-server</h3>
<ul>
<li>XHR support in <code>@angular/platform-server</code> is deprecated. Use standard <code>fetch</code> APIs instead.
(cherry picked from commit 8446e46f8bc33bd4419fa7f6106b8d117ca2e099)</li>
</ul>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="c4b5fa3c92">c4b5fa3c92</a></td>
<td>fix</td>
<td>escape CSS string-terminating characters in escapeCssUrl</td>
</tr>
<tr>
<td><a href="dfff57ede9">dfff57ede9</a></td>
<td>fix</td>
<td>Limits date format string length</td>
</tr>
<tr>
<td><a href="3c2892c8df">3c2892c8df</a></td>
<td>fix</td>
<td>prevent prototype pollution in formatDateTime</td>
</tr>
<tr>
<td><a href="1d87c49f6e">1d87c49f6e</a></td>
<td>fix</td>
<td>use cryptographically secure SHA-256 for transfer cache key generation</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1ee224ca30">1ee224ca30</a></td>
<td>fix</td>
<td>disallow i18n event attributes</td>
</tr>
<tr>
<td><a href="a56f1cdf8f">a56f1cdf8f</a></td>
<td>fix</td>
<td>more robust logic to check if regex can be optimized</td>
</tr>
<tr>
<td><a href="5946c18275">5946c18275</a></td>
<td>fix</td>
<td>sanitize <code>href</code>/<code>xlink:href</code> attributes of any element of the MathML namespace</td>
</tr>
<tr>
<td><a href="393b84caf8">393b84caf8</a></td>
<td>fix</td>
<td>sanitize two-way properties</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="3d9ca2f173">3d9ca2f173</a></td>
<td>fix</td>
<td>bind switch exhaustive check expressions</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="669146b0e7">669146b0e7</a></td>
<td>fix</td>
<td>disable WebMCP during SSR</td>
</tr>
<tr>
<td><a href="562a566ead">562a566ead</a></td>
<td>fix</td>
<td>Handle synchronous errors in PendingTasks.run function</td>
</tr>
<tr>
<td><a href="fa546f382d">fa546f382d</a></td>
<td>fix</td>
<td>harden TransferState restoration against DOM clobbering</td>
</tr>
<tr>
<td><a href="29fdb98684">29fdb98684</a></td>
<td>fix</td>
<td>prevent dangling prevConsumer reference from leaking destroyed views (<a href="https://redirect.github.com/angular/angular/pull/68681">#68681</a>)</td>
</tr>
<tr>
<td><a href="cdcea80327">cdcea80327</a></td>
<td>fix</td>
<td>require WebMCP tool descriptions</td>
</tr>
<tr>
<td><a href="4289c4c840">4289c4c840</a></td>
<td>fix</td>
<td>update comment for Default change detection</td>
</tr>
<tr>
<td><a href="3dd433b39a">3dd433b39a</a></td>
<td>fix</td>
<td>use Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray</td>
</tr>
<tr>
<td><a href="045bb736b3">045bb736b3</a></td>
<td>fix</td>
<td>validate lowercase SVG animation attribute names</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="11836a670a">11836a670a</a></td>
<td>fix</td>
<td>delay mcp reading the form model by a <code>tick</code></td>
</tr>
<tr>
<td><a href="85d2d100e3">85d2d100e3</a></td>
<td>fix</td>
<td>harden FormGroup control lookups against prototype shadowing</td>
</tr>
<tr>
<td><a href="e51ad374ea">e51ad374ea</a></td>
<td>fix</td>
<td>remove animationstart listener on component destroy to prevent memory leak</td>
</tr>
<tr>
<td><a href="55b7b5a6b6">55b7b5a6b6</a></td>
<td>fix</td>
<td>set <code>additionalProperties: false</code> on generated WebMCP form</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="ffb06c0514">ffb06c0514</a></td>
<td>fix</td>
<td>ensure query parameters are inserted before URL fragments</td>
</tr>
<tr>
<td><a href="2dd65d21e6">2dd65d21e6</a></td>
<td>fix</td>
<td>pass down the <code>reportUploadProgress</code> and <code>reportDownloadProgress</code> on post/patch requests</td>
</tr>
<tr>
<td><a href="4254eb416c">4254eb416c</a></td>
<td>fix</td>
<td>preserve empty referrer option in HttpRequest</td>
</tr>
<tr>
<td><a href="167bd4c162">167bd4c162</a></td>
<td>fix</td>
<td>Rejects non-HTTP(S) URLs in JSONP requests</td>
</tr>
</tbody>
</table>
<h3>language-service</h3>
<p>| Commit | Type | Description |</p>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="2dd65d21e6"><code>2dd65d2</code></a> fix(http): pass down the <code>reportUploadProgress</code> and <code>reportDownloadProgress</code> ...</li>
<li><a href="1bd5a562f5"><code>1bd5a56</code></a> docs: deprecate XHR support for server-side rendering in HTTP docs and recomm...</li>
<li><a href="3c2892c8df"><code>3c2892c</code></a> fix(common): prevent prototype pollution in formatDateTime</li>
<li><a href="c4b5fa3c92"><code>c4b5fa3</code></a> fix(common): escape CSS string-terminating characters in escapeCssUrl</li>
<li><a href="4254eb416c"><code>4254eb4</code></a> fix(http): preserve empty referrer option in HttpRequest</li>
<li><a href="167bd4c162"><code>167bd4c</code></a> fix(http): Rejects non-HTTP(S) URLs in JSONP requests</li>
<li><a href="dfff57ede9"><code>dfff57e</code></a> fix(common): Limits date format string length</li>
<li><a href="1d87c49f6e"><code>1d87c49</code></a> fix(common): use cryptographically secure SHA-256 for transfer cache key gene...</li>
<li><a href="ffb06c0514"><code>ffb06c0</code></a> fix(http): ensure query parameters are inserted before URL fragments</li>
<li><a href="4795b35d5b"><code>4795b35</code></a> fix(common): only strip a literal /index.html suffix from URLs</li>
<li>Additional commits viewable in <a href="https://github.com/angular/angular/commits/v22.0.1/packages/common">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@angular/common&package-manager=npm_and_yarn&previous-version=21.2.17&new-version=22.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>
2026-06-11 06:47:04 +00:00
..

web_embedding

This directory contains examples of how to embed Flutter in web apps (without iframes):

  • element_embedding_demo: Modifies the index.html of a flutter app so it is launched in a custom hostElement. This is the most basic embedding example.
  • ng-flutter: A simple Angular app (and component) that replicates the above example, but in an Angular style.

Check the README.md of each example for more details on how to run it, and the "Points of Interest" it may contain.

Community Contributions

Members of the community have graciously ported and contributed the following examples of Flutter Web embedding into other web frameworks:

Author Host Framework Code
@p-mazhnik React JS p-mazhnik/flutter-embedding cra-flutter
@p-mazhnik React Native p-mazhnik/flutter-embedding expo-flutter

(All contributions are welcome! Please, create an issue or open a PR to let us know how you've embedded a Flutter Web app with your favorite web framework (Vue? Svelte? Ember? Aurelia? jQuery? MooTools? Prototype?), so it can be added to the table above!)