36368 Commits

Author SHA1 Message Date
SkyZeroZx 1f82b6aea7 docs: add missing error codes to the error overview list
(cherry picked from commit fd293d3397)
2026-02-09 12:19:44 -08:00
SkyZeroZx 29f70072a8 docs(docs-infra): simplify external link rendering for pill
Renders the external link icon for docs pills using CSS instead of a `docs-icon` component.

(cherry picked from commit 0b9d1cfb7b)
2026-02-09 12:19:12 -08:00
Miles Malerba fe7f25403b build: configure gemini cli to look for AGENTS.md
By default gemini cli looks for GEMINI.md, these settings change it to
consider AGENTS.md as well

(cherry picked from commit 85d6a2bc6e)
2026-02-09 12:15:22 -08:00
Miles Malerba 0f8dddc7f0 docs: add gemini custom command for generating skills
Adds a Gemini CLI custom command (`/explain`) to generate skills for
working with code packages in this repo. Usage:

1. Add skill for a new package:
  `/explain packages/common`
2. Update the skill for a package:
  `/explain Update the skill for packages/core`
3. Add supplemental information:
  `/explain Add supplemental info to the signal forms skill about how
   schema logic is implemented`

Also adds a few skills for working with some of the packages I commonly
interact with, including:

- packages/forms/signals
- packages/core
- packages/compiler-cli

(cherry picked from commit 7ddd10bb44)
2026-02-09 12:14:19 -08:00
Andrew Kushnir e3729c6327 Revert "refactor(service-worker): remove zone-based testing utilities"
This reverts commit 12b770dd3e.
2026-02-09 10:46:38 -08:00
Matthieu Riegler c298694a79 refactor(benchpress): remove zone-based testing utilities
Transition to zoneless.

(cherry picked from commit 4b3b149ba1)
2026-02-09 07:55:17 -08:00
Matthieu Riegler 12b770dd3e refactor(service-worker): remove zone-based testing utilities
Transition to zoneless.

(cherry picked from commit ec26d38778)
2026-02-09 07:55:17 -08:00
Matthieu Riegler 3f0fbaa0bc refactor(compiler): remove zone-based testing utilities
Having zone.js here already wasn't necessary.

(cherry picked from commit a1441a432d)
2026-02-09 07:55:16 -08:00
Shuaib Hasan Akib 4311ba7290 refactor(common): remove unused imports and standalone: false from examples
Cleans up example code by removing explicit `standalone: false`, since
standalone components are the default and recommended approach.

(cherry picked from commit 14f16226aa)
2026-02-09 07:53:37 -08:00
aparziale 054972c8e0 docs: Signal forms custom validator with 'fieldTree' field in validation result error
Update docs for fieldTree property

fixes #66687

(cherry picked from commit 63d828aa33)
2026-02-06 15:11:03 -08:00
Kristiyan Kostadinov c633697262 Revert "fix(compiler-cli): update diagnostic to flag no-op arrow functions in listeners"
This reverts commit a78a7f651a.
2026-02-06 11:13:02 -08:00
Kristiyan Kostadinov 8743c9daac docs: remove non-existant method
Removes the reference to the `focusFirstItem` method since it doesn't exist.

Fixes https://github.com/angular/components/issues/32741.

(cherry picked from commit 460dbbb8e9)
2026-02-06 10:20:35 -08:00
SkyZeroZx 0d1acd0165 feat(forms): support signal-based schemas in validateStandardSchema
Allow `validateStandardSchema()` to consume a computed schema so
validation rules stay in sync when the schema changes over time.

This supports schemas stored in computed signals (e.g. zod schemas that
depend on input signals) and ensures the effective schema updates after
initialization instead of being captured once.

Fixes #66867

(cherry picked from commit 24c0c5a180)
2026-02-06 07:40:51 -08:00
Kristiyan Kostadinov a78a7f651a fix(compiler-cli): update diagnostic to flag no-op arrow functions in listeners
Based on the discussion in #66294: now that we support arrow functions in event listeners, developers may write out something like `(click)="() => expr"` which will be a no-op. These changes update the existing diagnostic for uninvoked expressions in listeners to account for it.

(cherry picked from commit 2ea6dfc6c9)
2026-02-06 07:39:22 -08:00
Charles Lyding f279f414ca refactor(language-service): use type-only TypeScript imports in some files
Standardize on `import type ts from 'typescript'` across several files
in the language-service package.

This ensures that these files do not have a runtime dependency on a
specific version of the TypeScript module, instead relying on the
instance provided by the host during initialization.

Note: This change is not comprehensive. Several files still require
runtime access to the TypeScript module and will require further
refactoring to fully decouple the dependency.

(cherry picked from commit 108252bf67)
2026-02-06 07:38:53 -08:00
aparziale 653c7b96e8 docs: Images not show
Fixed path in optimization image tutorial

(cherry picked from commit 6550b9d776)
2026-02-06 07:38:07 -08:00
Angular Robot 83c6142379 build: update cross-repo angular dependencies
See associated pull request for more information.
2026-02-06 07:36:03 -08:00
Matthieu Riegler de3cc5e8ec docs: callout for optional fields and native controls.
(cherry picked from commit fd5ff5c1a9)
2026-02-06 07:35:18 -08:00
Shuaib Hasan Akib 50c0110fc4 docs: fix wrong line highlight in component queries example
(cherry picked from commit e79e7994d4)
2026-02-06 07:34:01 -08:00
Shuaib Hasan Akib 8b4c213cd3 docs: use self-closing tag
Aligns template syntax with modern Angular recommendations and improves readability.

(cherry picked from commit 12afc1d164)
2026-02-06 07:33:22 -08:00
Angular Robot be4ffb68eb build: update rules_browsers digest to e08ae33
See associated pull request for more information.
2026-02-05 17:16:33 -08:00
SkyZeroZx 0729181d34 test(compiler): remove zone-based testing utilities
Removes usages of zone-based helpers such as
`waitForAsync` as part of the migration to zoneless tests.

Completes the transition to zoneless.

(cherry picked from commit 2a0241a665)
2026-02-05 16:56:59 -08:00
SkyZeroZx 91885623cd docs: remove Component suffix in reference and tools
(cherry picked from commit 6883889123)
2026-02-05 16:55:30 -08:00
Angular Robot 52745a23e5 build: update cross-repo angular dependencies
See associated pull request for more information.
2026-02-05 16:53:25 -08:00
Angular Robot bc6302cd4a build: update all github actions
See associated pull request for more information.
2026-02-05 16:52:54 -08:00
Alan Agius 13ffadb063 build: remove dagre-d3-es pnpm patch from MODULE.bazel
This file no longer exist

(cherry picked from commit 85dd096c11)
2026-02-05 16:50:21 -08:00
Matthieu Riegler c0cbdcc41b ci: exclude standard_schema from sync.
This file isn't sync into G3 and this should prevent the CI from requiring a presubmit when the file is modified.

(cherry picked from commit 3e2ed305d1)
2026-02-05 16:49:47 -08:00
Shuaib Hasan Akib 2d5ed88f54 docs: improve type safety in custom validator documentation
Replace `field: any` with proper SchemaPath typing in Signal Forms custom
validation examples to match built-in validator patterns.

fixes: #66887

Update adev/src/content/guide/forms/signals/validation.md

Co-authored-by: Matthieu Riegler <kyro38@gmail.com>
(cherry picked from commit ff2c0053c8)
2026-02-05 16:49:12 -08:00
Leon Senft 70668befde release: cut the v21.1.3 release v21.1.3 2026-02-04 16:06:24 -08:00
Matthieu Riegler 767c6b4754 fix(vscode-extension): support highlighting for class bindings with brackets
Tailwind classes can often be quite complex strings. This change adds supports for classes with backets.

fixes #66818

(cherry picked from commit 01ed57f297)
2026-02-04 15:45:08 -08:00
SkyZeroZx 1bf6bfc07f test(forms): remove zone-based testing utilities
Removes usages of zone-based helpers such as `fakeAsync` , `tick`
`waitForAsync` as part of the migration to zoneless tests.

Completes the transition to zoneless.

(cherry picked from commit 7dfbacbcf8)
2026-02-04 15:38:13 -08:00
Walter Breakell 70313f13fe docs: fix syntax errors and improve grammar in navigation guide
(cherry picked from commit d6585fe837)
2026-02-04 15:37:21 -08:00
Jef f9b69cc67b docs: fix typo
Add missing n to componet(s)

(cherry picked from commit 81876c2583)
2026-02-04 15:36:52 -08:00
Ben Hong 52dfcd9865 docs: add guidance on submit and novalidate for signal forms
(cherry picked from commit 38428945ac)
2026-02-04 15:36:22 -08:00
Angular Robot d793dde00f build: update cross-repo angular dependencies
See associated pull request for more information.
2026-02-04 15:30:54 -08:00
Kristiyan Kostadinov 04d518bc26 refactor(forms): work around internal issue
Works around an internal property renaming issue by changing how we declare the interface for `InteropNgControl`.

(cherry picked from commit 680d99b1c3)
2026-02-04 14:25:48 -08:00
David Neil 2cf4da0ea1 fix(core): hold constructors weakly in DepsTracker cache
Otherwise a component can be held in memory longer than
the component constructor is reachable from application code.

(cherry picked from commit cab5ddd526)
2026-02-03 12:44:27 -08:00
Matthieu Riegler f15d33d68b docs(docs-infra): extract call signature return type.
fixes #66799

(cherry picked from commit 43d61ecbb2)
2026-02-03 12:31:40 -08:00
Shuaib Hasan Akib 33e8cde034 docs: generalize wording for CSP nonce configuration options
Replaces “one of two ways” with “one of the following ways” to avoid
hardcoding the number of supported approaches and keep the
documentation accurate if options change.

fixes: #66861
(cherry picked from commit cfa7664361)
2026-02-03 12:27:15 -08:00
Angular Robot 8343b05ad7 build: lock file maintenance
See associated pull request for more information.
2026-02-03 12:26:06 -08:00
Matthieu Riegler 443654ac77 docs(docs-infra): fix foot width
This was due to a regression introduced by #66825

fixes #66880

(cherry picked from commit 9c032972a8)
2026-02-03 12:25:46 -08:00
David Neil 49a36f4cc7 perf(router): Use .bind to avoid holding other closures in memory
In many JS runtimes all closures created in the same scope share a context
this means that data held in one of the closures is not collected until all of the closures are collected.
This change prevents the returned promise from holding a reaction that holds the entire `Router` object in memory.

(cherry picked from commit 3867cd8554)
2026-02-03 12:25:02 -08:00
Angular Robot 6505a26ee0 docs: update cross-repo adev docs
Updated Angular adev cross repo docs files.
2026-02-02 15:11:22 -08:00
Shahar Har-Shuv 96095f435e docs: Rename Field directive -> FormField in form-logic.md
(cherry picked from commit f29fcd882a)
2026-02-02 14:41:03 -08:00
Alex Rickabaugh 2b254bc050 fix(core): linkedSignal.update should propagate errors
Unlike a normal `signal()`, a `linkedSignal()` can be in an error state when
its computation fails. Currently, there's a bug where `linkedSignal.update`
does not account for this error state, and will pass the internal `ERRORED`
`Symbol` as the current value to the updater function.

This commit fixes the issue by having `update()` check and throw the error
instead of calling the updater function.

(cherry picked from commit aff9e36a98)
2026-02-02 12:21:36 -08:00
Kristiyan Kostadinov e5110b4fa1 fix(core): export DirectiveWithBindings
Exports the `DirectiveWithBindings` interface since it's part of the public API of `createComponent`.

Fixes #66851.

(cherry picked from commit 8ab433abdd)
2026-02-02 11:08:45 -08:00
SkyZeroZx f1e4446071 feat(docs-infra): Implements select component using Angular Aria
Replaces the native select element with a custom combobox implementation for improved accessibility and styling.

(cherry picked from commit 70615117a2)
2026-02-02 11:07:58 -08:00
AleksanderBodurri 79519409cd feat(devtools): promote router tree to stable
Previous the router tree was an opt-in feature that required manual enablement in settings.

Now the router tree is enabled by default whenever the application supports it and routes are detected.

(cherry picked from commit 35046d3dba)
2026-02-02 11:06:45 -08:00
SkyZeroZx 4729e804ac docs(docs-infra): Fix border color issue on aria select when closing on outside click
Prevents incorrect border color from appearing on close triggered by an outside click

(cherry picked from commit cdbb957334)
2026-02-02 11:04:48 -08:00
dominicbachmann 575f8a39c7 docs(animations): fix small typo in animations migrations docs
(cherry picked from commit a64a90dbbe)
2026-02-02 10:18:10 -08:00