Commit graph

2656 commits

Author SHA1 Message Date
Angular Robot
3ca31a6bb0 docs: update cross-repo adev docs
Updated Angular adev cross repo docs files.
2026-05-12 11:41:02 -07:00
Matthieu Riegler
2c0e45b9d5 build: update cross-repo angular dependencies (22.0.x)
This PR also replaces the implementation of the select component on ADEV due to the aria breaking changes
2026-05-12 10:58:03 -07:00
Angular Robot
8391cf0df7 docs: update cross-repo adev docs
Updated Angular adev cross repo docs files.
2026-05-11 12:45:51 -07:00
Matthieu Riegler
3593ceb407 docs: update guides to use @Service
In the cases where it was preferable to use `@Service` in place of `@Injectable`

(cherry picked from commit 52a848790f)
2026-05-11 12:38:27 -07:00
Ben Hong
ff21eb9b39 docs: add new signal forms field metadata guide
Some checks are pending
DevInfra / assistant_to_the_branch_manager (push) Waiting to run
CI (push) / test (push) Waiting to run
CI (push) / lint (push) Waiting to run
CI (push) / devtools (push) Waiting to run
CI (push) / integration-tests (push) Waiting to run
CI (push) / adev (push) Waiting to run
CI (push) / vscode-ng-language-service (push) Waiting to run
CI (push) / publish-snapshots (push) Waiting to run
CI (push) / zone-js (push) Waiting to run
CI (push) / adev-deploy (push) Blocked by required conditions
Update ADEV Cross Repo Docs / Update Cross Repo ADEV Docs (push) Waiting to run
Co-authored-by: Matthieu Riegler <kyro38@gmail.com>
(cherry picked from commit ef134ac367)
2026-05-11 12:05:33 -07:00
Kam
0601dc579a docs: add inject() example to "Forwarding injected dependencies"
Lead the section with the recommended `inject()` pattern (child
inherits the property, no `super` forwarding), and keep the existing
constructor DI example after as the alternative. Also fixes a typo
where the verb "class" should read "pass".

(cherry picked from commit 4ec076e13c)
2026-05-11 12:02:51 -07:00
Kam
2e9085c82a docs: recommend output() over EventEmitter in reactive forms guide
The "Save form data" step pointed at `EventEmitter` while the rest of
the guide uses modern APIs (e.g. `inject(FormBuilder)`). Swap to
`output()` and align the TODO in the profile-editor example.

(cherry picked from commit 0629e7e505)
2026-05-11 12:02:09 -07:00
SkyZeroZx
5a6e946708 docs: remove experimental warnings from resource/signal forms documentation
(cherry picked from commit 538d0a8e93)
2026-05-11 11:46:12 -07:00
Kam
66c317ab1c docs: fix two 404 links in the roadmap
"Introduce built-in control flow" => guide/templates/control-flow (was
the now-removed next.angular.dev/essentials/conditionals-and-loops),
and "Improve documentation and schematics for standalone components"
=> essentials/components (was the bare `components`, not an adev route).

(cherry picked from commit 8b46492b7e)
2026-05-08 14:05:46 -07:00
Alan Agius
ebb8537cf1 docs: remove note regarding lack of support for ng test --debug in browser mode
This is no longer the case.

Closes #68621

(cherry picked from commit b3de3af0dd)
2026-05-08 08:57:14 -07:00
Michael Small
b099fce606 docs: fix signal forms async validator typings
docs: add response types for form async `onSuccess`

docs: set defined fallback for async validator params

docs: replace `this.` w/`const`

docs: give fallback string for form async validators

docs: replace `onError` overwritten by `onSuccess`

docs: use `undefined!` for now w/async validators

chore: lint form's `async-operations.md`
(cherry picked from commit 89ee8a8162)
2026-05-07 17:18:01 -07:00
SkyZeroZx
17a226d25d docs(docs-infra): use signals & improve types
Use signals to avoid markForCheck.

Simplify takeUntilDestroyed usage by relying on implicit DestroyRef.

Improve type safety by typing inject(ElementRef).

(cherry picked from commit a0b998e293)
2026-05-07 17:17:34 -07:00
SkyZeroZx
729a9130e7 docs: add documentation for de-duplicate host directives
(cherry picked from commit 307723a352)
2026-05-07 16:53:46 -07:00
Michael Small
2e2f92210f docs: add FormField/FormRoot imports + move comment w/backticks
(cherry picked from commit 7b4791f474)
2026-05-07 15:56:48 -07:00
Michael Small
acae6a0ef4 docs: fix applyWhenValue form example
(cherry picked from commit 44c0293a3e)
2026-05-07 15:54:09 -07:00
Michael Small
50f8823fe8 docs: rename outdated validateTree example's model
(cherry picked from commit 0ef43c5ff3)
2026-05-07 15:53:45 -07:00
Angular Robot
609f9304c2 docs: update cross-repo adev docs
Updated Angular adev cross repo docs files.
2026-05-07 16:45:05 -06:00
Kristiyan Kostadinov
45a82b2751 fix(docs-infra): switch remaining adev services to @Service
Reworks all the remaining injectables in adev to use `@Service`.

(cherry picked from commit 1f238ab567)
2026-05-07 15:23:30 -07:00
Kam
1bf3c22245 docs: normalize product name casing across docs
Several user-facing docs, tooltips, and tutorial code samples used
non-canonical spellings of product names. This normalizes them to
the form each project uses for its own brand.

(cherry picked from commit ed333c3992)
2026-05-07 15:09:50 -07:00
Alan Agius
0f4bf97d06 docs: update Node.js version requirements in version reference table
(cherry picked from commit d8e5514f30)
2026-05-07 15:06:42 -07:00
Bhuvansh855
e738db659c docs(animations): improve grammar and clarity across animation guides
(cherry picked from commit dc4b3172df)
2026-05-07 15:03:47 -07:00
SUMIDA, Ippei
fd9dda5819 docs: Update error display for password field in signal forms playground
Change error message display from paragraph to list format in signal forms playground.

(cherry picked from commit 2fcfffbc7d)
2026-05-07 14:53:13 -07:00
Alan Agius
b8d3f36ed9 feat(compiler-cli): add support for Node.js 26.0.0
Updates the supported Node.js engine versions to include Node.js 26.

This allows running the CLI on Node.js 26.0.0 and above while continuing to support active LTS versions.
2026-05-06 09:55:38 -07:00
Jaime Burgos
f81fa6e691
docs: add documentation for lazy loading services and update navigation 2026-05-05 15:57:36 -07:00
Kam
8a7f955f0f docs: correct "Angular JS" to "AngularJS"
"AngularJS" is the official product name for the v1.x line and is
written as a single word. A few places in the docs and package
READMEs used "Angular JS" with a space. This normalizes those
references to the canonical spelling.
2026-05-05 12:42:39 -07:00
Leon Senft
708631f2c4 fix(forms): prohibit concurrent submits in signal forms
Prohibit concurrent submits in signal forms to prevent duplicate actions and side effects when a submission is already in progress.

If `submit()` is called while a prior submit is in progress for the same field or any of its parents, it returns `false` immediately without running the action again.

This commit also updates the documentation in `form-submission.md` to reflect this behavior.

Fixes #68317
2026-05-05 11:14:03 -07:00
Kam
1da396fd84 fix(docs-infra): mask page content leak at mobile nav right edge
On phones, the page content behind the primary-nav drawer leaks 1-2px past its right edge. Mask it with a 2px var(--page-background) box-shadow.
2026-05-05 09:31:53 -07:00
Kam
441a00d665 fix(docs-infra): keep mobile nav drawers usable on small screens
On phones, opening the primary-nav drawer left the page behind it scrollable, and the secondary drawer's mask had no explicit height so long submenus got clipped above the page content. Lock the page with overflow: clip on :host:has(.adev-nav-primary--open) for phone-only (preserves the primary nav's sticky context), give the secondary mask height: 100dvh on tablet-landscape-down so it fills the visible viewport, and align the nav-list :host height to 100dvh too so its inner scroll matches.
2026-05-05 09:31:26 -07:00
Angular Robot
4f048e7de3 build: update dependency typescript to v6.0.3
See associated pull request for more information.
2026-05-04 13:05:58 -07:00
Andrew Scott
c84642ac16 feat(router): add unmatchedInputBehavior option to componentInputBinding
Introduce a new configuration option `unmatchedInputBehavior` to the `componentInputBinding` feature. This option allows users to configure the behavior when a component input is not matched by any key in the router data.

The available values are:
- 'alwaysUndefined': (Default) Always binds undefined to unmatched inputs.
- 'undefinedIfStale': Binds undefined only if the input was previously available in the router data for the active route in the outlet.

This feature addresses concerns raised in #63835 and #52946 regarding the retention of default values for inputs that were never targeted by the router, while still ensuring that stale data is cleared when a parameter is removed.
2026-05-01 16:04:52 -07:00
Nikolaos G. Ntaiko
429c665901 Fix typo in computed signals section 2026-05-01 16:00:48 -07:00
Kam
c2f7403774 fix(docs-infra): exempt form validator names from API auto-linking
Add required, pattern, min, max, minLength and maxLength to LINK_EXEMPT
so FieldState property names stop auto-linking to the validator
functions of the same name.
2026-05-01 15:58:43 -07:00
Angular Robot
9c7cbcd263 build: update all non-major dependencies
See associated pull request for more information.
2026-05-01 15:57:16 -07:00
Angular Robot
7ef1881d12 docs: update cross-repo adev docs
Updated Angular adev cross repo docs files.
2026-05-01 15:56:08 -07:00
SkyZeroZx
c5c35d992c docs: update @Service remove preview warning 2026-04-30 16:12:23 -07:00
Matthieu Riegler
8f94892a71 docs: add section about variable scopes
This is mostly a copy of the section we had on aio.
2026-04-30 16:10:28 -07:00
Angular Robot
9dc4e44eea build: update cross-repo angular dependencies
See associated pull request for more information.
2026-04-30 15:52:21 -07:00
Kam
13c0422029 docs(docs-infra): open update guide external links in new tabs
External links in the update guide opened inconsistently. Override
marked's link renderer to add `target="_blank" rel="noopener noreferrer"`
to external anchors and apply the `external-link-with-icon` mixin for
the icon. Convert raw HTML and bare URLs in recommendations.ts to
markdown so they all flow through the renderer.
2026-04-29 13:59:42 -07:00
Kam
2101b13653 docs: document allowedHosts SSR requirement in v21 update guide
The GHSA-x288-3778-4hhx patch requires `allowedHosts` on
`CommonEngine` or SSR silently falls back to CSR. Add a checklist
item to the v21 update guide.
2026-04-29 13:59:12 -07:00
Angular Robot
82890dd9f5 docs: update cross-repo adev docs
Updated Angular adev cross repo docs files.
2026-04-29 13:58:03 -07:00
Bhuvansh855
9f7d41f296 docs: improve clarity in dependency injection guide 2026-04-29 13:38:17 -07:00
Ben Hong
18826de489 docs: add debouncing section to signal forms async operations
Co-authored-by: Matthieu Riegler <kyro38@gmail.com>

Co-authored-by: Matthieu Riegler <kyro38@gmail.com>

Co-authored-by: Matthieu Riegler <kyro38@gmail.com>
2026-04-29 13:35:18 -07:00
Angular Robot
37ba0a79a6 build: update cross-repo angular dependencies
See associated pull request for more information.
2026-04-29 13:34:08 -07:00
Angular Robot
f5b139f5b8 docs: update cross-repo adev docs
Updated Angular adev cross repo docs files.
2026-04-28 12:33:28 -07:00
Denis Balan
5dfe37df8e docs: Fix links to Firebase AI Logic Angular example 2026-04-28 12:10:48 -07:00
Suraj Yadav
f2c6445681 docs(forms): add NG01902 error reference and link to docs
Add the NG01902 (Orphan field in signal forms) documentation page
to the Error Encyclopedia and change the ORPHAN_FIELD_PROPERTY
error code to -1902 so Angular's RuntimeError automatically appends
a link to angular.dev/errors/NG01902 in the thrown error message.
2026-04-28 12:07:46 -07:00
Kam
a6eb55642c docs: use contentChildren() in component harness example
The example already uses the signal-based input() but still declares
items with the @ContentChildren decorator. Convert to the signal-based
contentChildren() query for consistency.
2026-04-28 12:03:09 -07:00
Matthieu Riegler
444b024d49 feat(core): Add a injectAsync helper function
The commit introduces a new function to assist users who want to lazy load services and use the DI system to create them.

Example:

```ts
import {injectAsync} from 'angular/core';

class MyCmp {
  someSvc = injectAsync(() => import('..'));

  async onClick() {
    (await this.someSvc()).handleClick();
  }
}
 ```
2026-04-28 12:01:27 -07:00
hawkgs
6abdef4f4f docs: add information about zone.js Vitest patch in the Vitest migration guide
Update the Karma to Vitest migration guide to include information about the zone.js Vitest patch that should handle `fakeAsync`.

Related to #68395.
2026-04-28 10:32:49 -07:00
Kam
273ff07469 docs: use inject() in @Self example in hierarchical DI guide
The surrounding @SkipSelf and @Host examples already use inject(),
and the section intro recommends it. Align the @Self example to match.
2026-04-28 10:30:57 -07:00