angular/packages
dario-piotrowicz f03e313f24 fix(compiler): scope css keyframes in emulated view encapsulation (#42608)
Ensure that keyframes rules, defined within components with emulated
view encapsulation, are scoped to avoid collisions with keyframes in
other components.

This is achieved by renaming these keyframes to add a prefix that makes
them unique across the application.

In order to enable the handling of keyframes names defined as strings
the previous strategy of replacing quoted css content with `%QUOTED%`
(introduced in commit 7f689a2) has been removed and in its place now
only specific characters inside quotes are being replaced with
placeholder text (those are `;`, `:` and `,`, more can be added in
the future if the need arises).

Closes #33885

BREAKING CHANGE:

Keyframes names are now prefixed with the component's "scope name".
For example, the following keyframes rule in a component definition,
whose "scope name" is host-my-cmp:

   @keyframes foo { ... }

will become:

   @keyframes host-my-cmp_foo { ... }

Any TypeScript/JavaScript code which relied on the names of keyframes rules
will no longer match.

The recommended solutions in this case are to either:
- change the component's view encapsulation to the `None` or `ShadowDom`
- define keyframes rules in global stylesheets (e.g styles.css)
- define keyframes rules programmatically in code.

PR Close #42608
2022-03-28 17:12:25 -07:00
..
animations refactor: replace deprecated String.prototype.substr() (#45397) 2022-03-24 11:48:09 -07:00
bazel refactor: remove unused variables in starlark code to satisfy buildifier (#45431) 2022-03-25 12:18:34 -07:00
benchpress build: bump version for @angular/benchpress to v0.3.0 (#44893) 2022-01-31 21:27:08 +00:00
common fix(http): Throw error when headers are supplied in JSONP request (#45210) 2022-03-28 09:38:19 -07:00
compiler fix(compiler): scope css keyframes in emulated view encapsulation (#42608) 2022-03-28 17:12:25 -07:00
compiler-cli build: shorten partial compilation test case target names for windows (#45431) 2022-03-25 12:18:34 -07:00
core fix(core): avoid Closure Compiler error in restoreView (#45445) 2022-03-25 17:19:30 -07:00
docs refactor: fix various typos across different packages (#44523) 2022-01-07 18:11:10 +00:00
elements feat(core): drop support for Node.js 12 (#45286) 2022-03-08 12:05:03 -08:00
examples refactor(core): drop all .ngfactory and .ngsummary imports (#44957) 2022-02-07 15:31:49 -08:00
forms fix(forms): not picking up disabled state if group is swapped out and disabled (#43499) 2022-03-28 09:26:19 -07:00
language-service refactor: replace deprecated String.prototype.substr() (#45397) 2022-03-24 11:48:09 -07:00
localize feat(core): drop support for Node.js 12 (#45286) 2022-03-08 12:05:03 -08:00
misc/angular-in-memory-web-api build: enable useUnknownInCatchVariables (#44679) 2022-02-01 18:17:29 +00:00
platform-browser refactor: replace deprecated String.prototype.substr() (#45397) 2022-03-24 11:48:09 -07:00
platform-browser-dynamic feat(core): drop support for Node.js 12 (#45286) 2022-03-08 12:05:03 -08:00
platform-server refactor: replace deprecated String.prototype.substr() (#45397) 2022-03-24 11:48:09 -07:00
private/testing test: remove Ivy/ViewEngine switch helpers and obsolete tests (#44120) 2021-11-24 19:42:39 +00:00
router docs: deprecated relativeLinkResolution in the Router (#45308) 2022-03-25 16:50:46 -07:00
service-worker refactor: replace deprecated String.prototype.substr() (#45397) 2022-03-24 11:48:09 -07:00
upgrade refactor: replace deprecated String.prototype.substr() (#45397) 2022-03-24 11:48:09 -07:00
zone.js fix(zone.js): should ignore multiple resolve call (#45283) 2022-03-25 17:31:03 -07:00
BUILD.bazel build: Auto-gen tsec tsconfig files (#43440) 2021-09-17 17:17:34 +00:00
circular-deps-test.conf.js refactor: replace deprecated String.prototype.substr() (#45397) 2022-03-24 11:48:09 -07:00
empty.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
goog.d.ts refactor(core): replace references to goog.LOCALE with goog.getLocale() (#43089) 2021-08-10 10:35:26 -07:00
license-banner.txt build: bump license year (#44590) 2022-01-04 12:05:25 -08:00
README.md docs: add doc reference to npm package readme (#33911) 2019-11-20 14:46:23 -08:00
system.d.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
tsconfig-build.json build: enable useUnknownInCatchVariables (#44679) 2022-02-01 18:17:29 +00:00
tsconfig-legacy-saucelabs.json build: bundle spec files for saucelabs legacy job (#44281) 2021-11-30 11:56:04 -05:00
tsconfig-test.json build: switch devmode output to es2015 (#44505) 2022-01-05 23:20:20 +00:00
tsconfig-tsec-base.json build: update tsconfigs to use ES2020 as target and module (#43431) 2021-10-01 18:28:42 +00:00
tsconfig.json build: enable useUnknownInCatchVariables (#44679) 2022-02-01 18:17:29 +00:00
tsec-exemption.json build: Enable tsec checks for critical packages. (#43108) 2021-09-13 14:45:57 -07:00
types.d.ts build: replace @types/trusted-types dep with minimal type defs (#39211) 2020-10-15 09:08:00 -07:00

Angular

The sources for this package are in the main Angular repo. Please file issues and pull requests against that repo.

Usage information and reference details can be found in Angular documentation.

License: MIT