Commit graph

36863 commits

Author SHA1 Message Date
Angular Robot
af6c01f9fb build: update pnpm to v10.25.0
See associated pull request for more information.
2025-12-10 12:33:25 -08:00
Angular Robot
0ef185d015 build: update all non-major dependencies
See associated pull request for more information.
2025-12-10 12:28:42 -08:00
Angular Robot
25c569cf99 build: update all github actions
See associated pull request for more information.
2025-12-10 12:28:01 -08:00
Michael Small
3ab17876ba docs: add 'new' to page 'Side effects for non-reactive APIs' 2025-12-10 12:27:25 -08:00
Matthieu Riegler
c429e701fc refactor: spread rules with glob syntax
prettierignore does not support the glob syntax for multiple extensions.
2025-12-10 12:26:53 -08:00
SkyZeroZx
bff2dcb93c docs: update forwardRef usage with signals and add HostListener note 2025-12-10 12:23:29 -08:00
Angular Robot
28338c44b3 build: lock file maintenance
See associated pull request for more information.
2025-12-10 12:21:26 -08:00
Jan Martin
954c546273 release: bump Angular DevTools version to 1.6.3 2025-12-10 11:37:13 -08:00
Andrew Scott
5988bdedae refactor(core): Add transition.to property to FakeNavigation
This matches the upstream changes in f19930f98a
2025-12-10 10:18:08 -08:00
diegoinost02
9dd08c571a docs(forms): document array item validation in Signal Forms 2025-12-10 10:17:27 -08:00
diegoinost02
e6865af8f1 docs(forms): add signal forms documentation for validating array items 2025-12-10 10:17:27 -08:00
SkyZeroZx
15e3407dab docs(docs-infra): Fixes the visibility of the copy link button in API documentation headings
Fixes the visibility of the copy link button in API documentation headings.
The button now appears on hover, improving the user experience.
2025-12-10 10:15:59 -08:00
Shuaib Hasan Akib
1c6049584e docs: hide menu icons from screen readers in aria example
Add aria-hidden="true" to decorative icon elements in the ARIA menu documentation
example to prevent screen readers from announcing both icon names and labels.
This improves the accessibility experience by ensuring only meaningful text
is announced to screen reader users.

Fixes: #65768
2025-12-10 10:09:35 -08:00
Matthieu Riegler
14713d0992 fix(forms): allow resetting with empty string
Both empty string and null values should be accepted when resetting

fixes #65949
2025-12-10 10:04:54 -08:00
Shuaib Hasan Akib
d0a34a6ca5 docs: use fenced code blocks and format examples
Replaces custom docs-code blocks with fenced Markdown code blocks and reformats examples to improve readability, consistency, and copy-paste behavior.
2025-12-10 09:35:50 -08:00
Shuaib Hasan Akib
1f29577077 fix(docs-infra): parse linenums attribute from triple backtick metadata
The triple backtick code block parser now extracts the linenums attribute
from metadata and applies it to enable line number display in code examples
2025-12-10 09:31:44 -08:00
Andrew Scott
d355205198 refactor(core): match spec updates for FakeNavigation
Updates FakeNavigation based on updates in https://github.com/whatwg/html/pull/11952
2025-12-10 08:19:23 -08:00
Matthieu Riegler
835a643161 refactor(core): Support Error like object for on resource errors.
Error like object will be treated as errors.

Related to #61861
2025-12-10 08:18:17 -08:00
Matthieu Riegler
25b7948307 ci: fix deployement of previews
By pulling the fix angular/dev-infra/pull/3301
2025-12-10 08:17:47 -08:00
Joey Perrott
9ace7d7a0d build: add the ignore all rc files flag when running bazel info
Due to a bug in bazel we need to ignore all of the rc files when running bazel info commands
2025-12-09 13:44:45 -08:00
Matthieu Riegler
827f5a6fd5 docs: create a separate effect guide
This also includes details about `afterRenderEffect`

WIP.

fixes #63757
2025-12-09 13:11:00 -08:00
Angular Robot
6a3f6be6ed build: update cross-repo angular dependencies
See associated pull request for more information.
2025-12-09 13:05:03 -08:00
Kristiyan Kostadinov
8a3f3a91cf fix(compiler-cli): expand type for native controls with a dynamic type
We recently allowed users to have a dynamic input `type` with signal forms, but the logic that infers the value type falls back to `string` even though in theory it can be any of the other types.

These changes expand the inferred type to `string | number | boolean | Date | null` if we detect a dynamic `type` binding.
2025-12-09 13:01:30 -08:00
kirjs
179b4cba67 fix(forms): Reuse key in parent in compat structure
This fixes the "Compat nodes do not use keyInParent." error when trying to bind compatField.
2025-12-09 12:59:22 -08:00
arturovt
80dbd74ae8 refactor(core): wrap operationsCounter calls with ngDevMode checks
Wrap operationsCounter method calls (recordCreate, recordDestroy, reset)
with ngDevMode guards to ensure they are tree-shaken in production builds.

This aligns with the existing pattern where operationsCounter is only
initialized in development mode, and eliminates unnecessary method call
overhead in production.

The optional chaining (?.) is retained as TypeScript doesn't narrow types
based on ngDevMode checks, but the entire expression will be removed during
production builds.
2025-12-09 10:38:39 -08:00
Matthieu Riegler
8199945637 refactor(core): add dedicated deprecated signatures for providedIn: any / NgModule.
Those were deprecated by #47616 back in v15.

fixes #65923
2025-12-09 10:38:09 -08:00
Angular Robot
feb1278b5c docs: update cross-repo adev docs
Updated Angular adev cross repo docs files.
2025-12-09 10:37:32 -08:00
Miles Malerba
aff8b248b3
feat(forms): expose element on signal forms Field directive
This allows for easier focusing of the relevant element based on the
`field` property of a `ValidationError`
2025-12-09 09:47:51 -08:00
Andrew Scott
200d923436 docs: Update tutorial last step to use markForCheck
Ideally this tutorial would have used signals but didn't. That's a bigger change than
we are able to make right now and there are other things we would like
to update at the same time. This fix is a temporary patch to the
existing content until there is time to redo the tutorial and videos
entirely.

fixes #65863
2025-12-09 09:39:31 -08:00
Angular Robot
95dfca7254 build: update bazel dependencies
See associated pull request for more information.
2025-12-09 09:38:19 -08:00
Matthieu Riegler
75fe8f8af9 refactor(upgrade): deprecate VERSION export
users should use the entry from `upgrade/static`.

DEPRECATED: `VERSION` from `@angular/upgrade` is deprecated. Please use the entry from `@angular/upgrade/static` instead.
2025-12-09 09:26:02 -08:00
SkyZeroZx
9a6b8e0315 docs(docs-infra): Refactors tutorial generation and updates ng-container docs
Updates the `ng-container` documentation page to use the correct `angular-html` code format and removes an unused CLI documentation file.
2025-12-09 09:25:29 -08:00
Kristiyan Kostadinov
ae1c0dc490 perf(compiler): chain query creation instructions
We always emit the query creation instructions in a group which makes them good candidates for chaining.
2025-12-09 09:24:36 -08:00
Andrew Scott
c9dfc6c484 fix(vscode-extension): Show warning if multiple versions of Angular are detected in workspace
This shows a more prominent warning when multiple versions of Angular
are detected in the workspace and we are forced to choose one to use for
the language server. This also logs those versions with their locations
and directs the user to view the output panel.

fixes #65466
2025-12-09 09:23:47 -08:00
Matthieu Riegler
3411638f65 docs(docs-infra): prefer/avoid code block styling
fixes #65866
2025-12-09 09:23:12 -08:00
Miles Malerba
ebc5c2b083 feat(forms): redo the signal forms metadata API
This PR makes a number of changes to the metadata API to address design
flaws in the previous API. Some of the changes include:

- Replaces the previous `MetadataKey` and `AggregateMetadataKey` with a
  single unified `MetadataKey` that is used for all metadata.
- The new `MetadataKey` is only defined for fields that explicitly set
  it in their schema logic
- All metadata now has reducer / aggregate behavior
- The new `MetadataKey` has an option to create a managed key which
  wraps the result of its computed aggregate into some other structure
  such as a `Resource` or `linkedSignal`
- There are now two APIs to create metadata keys
  - `createMetadataKey` for pure computed metadata
  - `createManagedMetadataKey` for metadata that manages its computation
    internally
2025-12-09 09:21:41 -08:00
Joey Perrott
349133374f build: update repository to use node 22.21.1 in bazel
The repository was updated to use node 22.21.1 via nvm, but bazel had not been updated to match
2025-12-09 09:19:13 -08:00
Shuaib Hasan Akib
4b9fffaa79 docs(docs-infra): hide trailing empty line in code examples
Add CSS rule to hide the last empty line in code blocks to prevent displaying
unnecessary empty lines when source files end with a newline character.
The empty line remains in the DOM for proper copy-paste functionality.
2025-12-09 09:17:41 -08:00
Gouvernathor
5607f513a7 docs(common): Explain how ::ng-deep works
Co-authored-by: Matthieu Riegler <kyro38@gmail.com>
2025-12-09 09:16:45 -08:00
cexbrayat
9fe9566581 fix(forms): add signals for dirty, hidden, and pending states in custom controls
FormUiControl states that hidden, pending and dirty will be bind in custom controls, but this is currently not the case.

Fixes #65575
2025-12-08 10:30:43 -08:00
Anuj Chhajed
96b79fc393 refactor(core): correct all typeof ngDevMode comparison patterns introduced by #63875
This change replaces all remaining occurrences of `typeof ngDevMode !== undefined`
with the correct `typeof ngDevMode !== 'undefined'` form. This aligns the codebase
with JavaScript typeof semantics and maintains consistency with other Angular code.
2025-12-08 10:30:01 -08:00
Miles Malerba
efde94a525 refactor: followup cleanup for #65758 fallout
Fixes some issues left behind by recent refactor
2025-12-08 10:27:59 -08:00
mahmoudaboueleneen
bad758d4ea docs: fix typo in 'components' word in host elements guide 2025-12-08 10:24:05 -08:00
Shuaib Hasan Akib
5fd75410a9 refactor(core): use proper type for stringifyTypeFromDebugify parameter
Replace the 'any' type with ClassDebugInfo for the debugInfo parameter in
stringifyTypeFromDebugInfo function. This removes the TODO comment that was
tracking the need for proper typing without creating circular dependencies.

The change improves type safety while avoiding circular imports since
stringify_utils.ts doesn't export anything that definition.ts imports.
2025-12-08 10:23:16 -08:00
Joey Perrott
aa92f19307 build: update to bazel version 8.4.2
Update bazel to use version 8.4.2
2025-12-08 10:21:59 -08:00
Alan Agius
22eda59a31 build: ignore adev generated content JSON files in Prettier
These files are auto generated.
2025-12-08 10:20:29 -08:00
Matthieu Riegler
9d1d742f1b build: enable angular formatting on all html files
This should also be safe on any html file that isn't an angular template
2025-12-08 10:19:45 -08:00
Alessio Pelliccione
253dc95d63 feat(docs-infra): add complexity level badge
Introduces the new complexity badge in recommendation cards.
The implementation utilizes CSS variables and `color-mix` to efficiently
handle color themes (Basic, Medium, Advanced) and dark mode support.

Closes #65378
2025-12-08 10:05:45 -08:00
Angular Robot
dd47c57635 build: update cross-repo angular dependencies
See associated pull request for more information.
2025-12-08 09:37:30 -08:00
SkyZeroZx
70e024ea80 docs: add attribute binding reference in accessibility guide 2025-12-08 09:24:25 -08:00