Miles Malerba
c9058087ae
refactor(forms): support dynamic object logic
...
extends `applyEach` to work on objects as well, conditionally applying
logic to each property of the object.
2025-11-06 13:42:48 -08:00
Angular Robot
88f55b43ac
build: update cross-repo angular dependencies to v21.0.0-rc.1
...
See associated pull request for more information.
2025-11-06 13:23:44 -08:00
Jessica Janiuk
6d1a978729
Revert "build: restrain visibility to compiler-cli subpackages ( #64732 )"
...
This reverts commit 70d8ed4488 .
2025-11-06 13:09:01 -08:00
Jessica Janiuk
37092d00b7
Revert "refactor(compiler-cli): remove deep imports from compiler-cli ( #64732 )"
...
This reverts commit 05938c1054 .
2025-11-06 13:09:01 -08:00
Matthieu Riegler
70d8ed4488
build: restrain visibility to compiler-cli subpackages ( #64732 )
...
This should solve future deep imports issues.
PR Close #64732
2025-11-06 20:01:26 +00:00
Matthieu Riegler
05938c1054
refactor(compiler-cli): remove deep imports from compiler-cli ( #64732 )
...
Accessed symbols are grouped into dedicated `private` entries
PR Close #64732
2025-11-06 20:01:26 +00:00
SkyZeroZx
5343001835
refactor(platform-browser): remove unused Platform ID dependency from DomRendererFactory2
...
Eliminates the unnecessary injection and usage of Platform ID in the renderer factory logic, along with related test scaffolding cleanup
2025-11-06 12:00:46 -08:00
Angular Robot
3085915a7f
build: update cross-repo angular dependencies
...
See associated pull request for more information.
2025-11-06 11:55:54 -08:00
arturovt
9f76fb61df
refactor(forms): tree-shake ngControlStatusHost and ngGroupStatusHost
...
This commit removes `ngGroupStatusHost` variable because it's a side-effect, ending up preserving `ngControlStatusHost` and `ngGroupStatusHost`.
2025-11-06 10:57:45 -08:00
Matthew Berry
444143758e
fix(compiler): support one additional level of nesting in :host()
...
Previously we supported one level of nested parentheses inside of a
`:host()` selector, e.g. `:host(:not(p))`. This caused a breakage in g3
when I migrated a selector from `:host:not(:has(p))` to
`:host(:not(:has(p)))`. This change adds support for just one more level
of nesting.
It'd be nice to move everything to a real CSS parser (or even update it
to count parentheses like I did with :host-context()), but I wasn't able
to get that to work in ~20 minutes and I'm focusing on other things at
the moment.
This change punts the problem until somebody tries to use just one more
level of nesting in a selector.
Fixes #64830
2025-11-06 10:53:42 -08:00
Alan Agius
cda013c60f
build: improve vscode-ng-language-service release process
...
This commit improves the release process for the vscode-ng-language-service by adding automated changelog generation and updating the package.json version.
2025-11-06 10:53:09 -08:00
kirjs
60447945bc
refactor(forms): add compatForm
...
This allows using reactive form controls in signal forms
2025-11-06 10:51:28 -08:00
Alan Agius
26fed34e0e
build: format md files
...
This commit configures prettier to format markdown files.
2025-11-06 10:03:05 -08:00
SkyZeroZx
08a84e03e6
refactor(router): simplify imports and improve option access in RouterScroller tests
...
Simplifies imports and unifies option access in RouterScroller specs for cleaner and more consistent code
2025-11-06 09:42:41 -08:00
Andrew Scott
189807ef04
refactor(router): Build out integration with browser Navigation API ( #64905 )
...
This further builds out the Router integration with the platform
Navigation API. Key features in this state include:
* History restoration via direct platform APIs rather than markers left on
`history.state`. This means more guaranteed correctness and less
internal code to compute traversal restorations.
* Ability to observe navigations triggered outside the Router APIs.
Practically speaking, this means some navigations can be performed
through the platform rather than requiring `Router.navigate`. Note
that because the `NavigateEvent` is never intercepted at this point of
the implementation, regular anchor tags cannot be used because they
will still trigger a popstate navigation.
This implementation does _not_ intercept the `NavigateEvent` but future
iterations should. By omitting the interception, we are missing out on
features such as:
* Platform-supported scroll and focus reset
* Holding the navigate event open for the duration of the router
navigation, allowing for a visual loading indicator in the browser
* Support for intercepting navigations from regular anchor tags (e.g.
not `RouterLink`s) and converting those to SPA navigations.
PR Close #64905
2025-11-06 17:42:04 +00:00
Andrew Scott
310cc9b71b
build: Add dom-navigation types to router ( #64905 )
...
As the integration with the browser navigation API is built out, we will want to have the types available
PR Close #64905
2025-11-06 17:42:04 +00:00
Miles Malerba
fa02d96508
test(forms): re-enable some disabled tests
...
Adjusts test behavior to reflect current implementation and enables them
2025-11-06 09:41:28 -08:00
Angular Robot
ffda3f97e0
build: update cross-repo angular dependencies to v21.0.0-rc.1
...
See associated pull request for more information.
2025-11-06 09:40:51 -08:00
Miles Malerba
25e13e9f96
build: add a dev-app
...
Adds a dev app that can be used to prototype and debug things while
developing Angular. Use `pnpm dev` to run it.
2025-11-06 09:05:32 -08:00
SkyZeroZx
ca3ef38143
refactor(common): Removes unused imports to clean up dependencies
...
Eliminates unnecessary imports to reduce clutter and improve maintainability
2025-11-06 08:35:28 -08:00
tsc036
104f7d57c1
refactor(core): export types from primitives
...
export Version type and a type for linkedSignal previous value so they can be used for the Wiz implementations
2025-11-06 08:34:54 -08:00
SkyZeroZx
61066071cf
docs: correct formatting in dependency injection guides
2025-11-06 08:34:26 -08:00
Miles Malerba
e87f423d90
refactor(forms): add better support for Object.keys and Symbol.iterator
...
Improves support for using `Object.keys` (and related methods) and
`Symbol.iterator` to work with a `FieldTree` of unknown shape.
2025-11-06 07:51:28 -08:00
Miles Malerba
194b41199b
refactor(forms): improved select support
...
When we set the `value` on a `<select>` element we're really just
setting the selected `<option>`. It treats the selected option as the
source of truth, rather than the actual value. This means that if
options are added or removed or their value changes, the `<select>` may
wind up with a different `value` than what's in our model.
This PR resolves this issue by adding a `MutationObserver` to the select
that is used to resync its value to the model whenever the options may
have changed.
2025-11-06 07:49:06 -08:00
Angular Robot
8315504d60
build: update cross-repo angular dependencies
...
See associated pull request for more information.
2025-11-06 07:47:07 -08:00
Joey Perrott
de1f22cf2c
build: update diff release package script
...
Update the diff relase package script to properly recursively apply the chmod and support a flag for writing the
diff to a file instead of only logging it to the console.
2025-11-05 15:24:50 -08:00
SkyZeroZx
f2ffbe31b0
refactor(devtools): enhance route guard handling and add inline function warning
...
refactored route guard handling and added warning for inline functions
2025-11-05 15:20:46 -08:00
hawkgs
cb5d36d107
refactor(devtools): remove redirecting flag from router tree
...
Drops `isRedirect` due to its redundancy in light of the newly introduced `redirectTo`.
2025-11-05 15:20:29 -08:00
Angular Robot
76211bf3cc
build: update dependency @rollup/plugin-commonjs to v29
...
See associated pull request for more information.
2025-11-05 15:19:23 -08:00
Angular Robot
9ae1f44ca0
docs: update cross-repo adev docs
...
Updated Angular adev cross repo docs files.
2025-11-05 15:13:56 -08:00
Angular Robot
2b71181288
build: update all non-major dependencies
...
See associated pull request for more information.
2025-11-05 15:13:37 -08:00
Miles Malerba
59635bba34
docs: improve docs generation for namespaces ( #64747 )
...
Improves docs epxerience for interfaces / type aliases that are merged
with a namespace.
PR Close #64747
2025-11-05 22:42:59 +00:00
Miles Malerba
96388b6d8a
refactor(forms): improve discoverability of ValidationError flavors ( #64747 )
...
Improves discoverability by putting the WithField, WithoutField, etc as
subtypes of the main ValidationError type
PR Close #64747
2025-11-05 22:42:59 +00:00
Angular Robot
a54bea5a08
build: update all github actions
...
See associated pull request for more information.
2025-11-05 14:28:57 -08:00
Angular Robot
62c029fdc2
build: update bazel dependencies
...
See associated pull request for more information.
2025-11-05 14:23:28 -08:00
Alan Agius
e1dfe323d7
build: add VSCode extension release script
...
This script orchestrates the release process for the Angular Language Service VSCode extension. It handles versioning, changelog generation, building, and publishing the extension.
2025-11-05 19:55:32 +00:00
Erik Wegner
e18aac88d4
docs: Add the missing function call to use the signal's actual value
2025-11-05 19:47:02 +00:00
Andrew Scott
4f0f29979c
docs: cherrypick release notes for vscode extension
2025-11-05 19:45:48 +00:00
Andrew Scott
a487de8bd4
docs: release notes for the v21.0.0-rc.1 release
2025-11-05 19:37:38 +00:00
Andrew Scott
aa104c9747
docs: release notes for the v20.3.10 release
2025-11-05 18:58:57 +00:00
Matthieu Riegler
7f44345db3
docs(docs-infra): fix heading layout on mobile
...
Long code blocks overflow the headings on narrow screen (like mobiles), this messes up the global layout of the page. With the ellipsis with fix that.
fixes #64845
2025-11-05 17:49:43 +00:00
Kristiyan Kostadinov
748caf9a74
test(compiler-cli): set up TCB tests for signal forms
...
Adds TCB-specific tests for the generated code in signal forms since they tend to be a bit easier to read and follow.
2025-11-05 17:35:43 +00:00
Kristiyan Kostadinov
3c7751020e
refactor(compiler-cli): check that custom control conforms to control interfaces
...
Generates additional type checking code to ensure that custom control conform to either `FormValueControl` or `FormCheckboxControl`.
2025-11-05 17:35:43 +00:00
Kristiyan Kostadinov
04ed91071b
refactor(compiler-cli): flag unsupported static bindings on field directives
...
Expands the diagnostic for unuspported bindings on fields to also capture static attributes.
2025-11-05 17:35:43 +00:00
Kristiyan Kostadinov
a5b596b83d
refactor(compiler-cli): split up form field ops
...
Splits up the custom form field and native form field into two separate `TcbOp`s with a shared base class.
2025-11-05 17:35:43 +00:00
Kristiyan Kostadinov
f20103a1d7
fix(compiler-cli): report invalid bindings on form controls
...
Adds validation that users don't bind to unsupported properties on nodes with the `Field` directive.
2025-11-05 17:35:43 +00:00
Kristiyan Kostadinov
948e2f4f01
fix(compiler-cli): infer type of custom field controls
...
Adds the logic to infer the type of a custom field control that's on the same element as the `Field` directive.
2025-11-05 17:35:43 +00:00
Kristiyan Kostadinov
4b68bddd62
refactor(core): add utility type for extracting the value of a custom control
...
Adds the `ɵExtractFormControlValue` type that we can use during template type checking to extract the type of a custom control.
2025-11-05 17:35:43 +00:00
Kristiyan Kostadinov
6b51fc3e9d
fix(compiler-cli): infer types of signal forms set on native inputs
...
Sets up the logic for inferring the type of the signal form that is set on a native `input`, `textarea` or `select`.
2025-11-05 17:35:43 +00:00
Kristiyan Kostadinov
c5ac77cb32
refactor(compiler-cli): allow the forms module to be loaded in tests
...
Updates the testing utilities to allow for `@angular/forms` to be loaded.
2025-11-05 17:35:43 +00:00