Commit Graph

2856 Commits

Author SHA1 Message Date
Kam 3ac2c7b2bc feat(docs-infra): add Angie mascot to the not found page
Replaces the plain "Page Not Found" text with the sad Angie mascot
speaking the message from a speech bubble, for a warmer, more on-brand
not-found page. Copy is unchanged and the "Feeling lucky?" search
results are untouched.

The sad pose is added as an SVG asset (cropped tight to the artwork) under
assets/images/angie/. The mascot is decorative (aria-hidden), and it scales
down to stay beside the bubble on mobile.
2026-07-08 12:45:43 -07:00
franmc01 eac04cfb16 docs: clarify runtime component comparison in elements guide
The popup service example framed the comparison against a vague
'previously you had to define a dynamic component' workflow and pointed
readers at steps no guide describes. Compare against today's
programmatic rendering approach with createComponent instead, which is
what the accompanying example actually uses, and link to the
programmatic rendering guide.

Also remove the note about excluding the component from compilation,
which no longer applies to standalone components.

Fixes #55148
2026-07-08 12:19:55 -07:00
Kam 95fbd0bd48 feat(docs-infra): add Angie mascot to adev empty and error states
Several adev states show only plain text today. This brings the Angie
mascot into them for warmer, more on-brand empty states, with no change
to copy or behavior:

- Search dialog: a magnifying-glass Angie on "Start typing to see
  results", a questioning Angie on "No results found".
- API reference: a questioning Angie on "No API items found." and on the
  package filter's "No results found".
- Deprecated API pages: the back-turned orthos pose in the shared
  deprecation warning.

The mascots are decorative (aria-hidden) and sized per placement; the
poses are added as SVG assets under assets/images/angie/.

Also moves the Shiki highlighter init in the jsdoc-transforms spec into a
beforeAll, fixing a flake where the spec failed under randomized test
order.
2026-07-08 12:18:42 -07:00
Bhuvansh855 39ea1c559f docs: fix grammar and punctuation issues in guides 2026-07-08 10:46:32 -07:00
Matthieu Riegler 4e4eb6b707 docs: update optional chaining behavior
+ mention the `$safeNavigationMigration` magic function
2026-07-08 10:46:04 -07:00
aparziale 43996cf748 docs: add global form state signals to signal forms guide
Add a new section for 'Form State Signals' in the signal forms essential guide. This documents global signals such as dirty(), valid(), invalid(), pending(), and touched() at the form level, as requested in issue #69544.

Fixes #69544
2026-07-08 10:42:18 -07:00
SkyZeroZx c1829f6d7c docs(docs-infra): Add build-time validation for API and guide links using route manifest
Adds build-time validation to catch broken, stale, or miscased internal documentation links in both JSDoc and markdown, including `/api/` and `/guide/` URLs and their fragments. Updates the documentation pipeline to share the canonical route manifest, ensuring that all references are checked against the current navigation structure.
2026-07-08 10:24:47 -07:00
Matthieu Riegler 42862f7df4 docs: update formatting 2026-07-08 08:54:18 -07:00
Ambati Mohan Kumar 95b7385cfb docs: fix import of AdminPage in Angular routing documentation. #69670 2026-07-07 16:46:38 -07:00
Angular Robot c3e688f102 build: update all non-major dependencies
See associated pull request for more information.
2026-07-07 11:04:31 -07:00
Angular Robot 2f8134bdf5 docs: update cross-repo adev docs
Updated Angular adev cross repo docs files.
2026-07-07 10:51:06 -07:00
Ben Hong b340e44a86 docs: add signal forms testing guide 2026-07-07 10:03:17 -07:00
Kam 5ec0b1668b fix(docs-infra): disable nav-list tooltip on mobile
On mobile, focusing a long nav item shows a matTooltip that escapes the
drawer, ignores inner scroll, and blocks scrolling while open. Suppress
it on mobile using the existing isMobile helper.
2026-07-07 09:54:47 -07:00
Kam 4b0c066e22 fix(docs-infra): keep mobile nav open when closing the search dialog
Backdrop clicks on the search dialog were also closing the open mobile nav drawers. Adds an id to `<dialog>` and references it from both navs' `docsClickOutsideIgnore` arrays.
2026-07-07 09:54:14 -07:00
Ben Hong 7dd35913b6 docs: add composability section to custom controls signal forms 2026-07-07 09:52:17 -07:00
Angular Robot 3da6d058d3 build: lock file maintenance
See associated pull request for more information.
2026-07-07 09:48:35 -07:00
moraisacr e91046ffdb docs(ai-tutor): add troubleshooting for MCP setup issues 2026-07-07 09:36:56 -07:00
Ben Hong d837d6270a docs: add signal forms dynamic forms with json guide
Co-authored-by: Matthieu Riegler <kyro38@gmail.com>
2026-07-07 09:27:15 -07:00
Hien Pham 1f6b1cee22 docs: enhance readability of utility methods section in testing guide 2026-07-07 09:20:23 -07:00
Hien Pham cfe847eea8 docs: improve readability of inject, initTestEnvironment, and resetTestEnvironment descriptions 2026-07-07 09:20:23 -07:00
Jan Pilzer f3e2b6bf6a docs(docs-infra): Social & Theme menu placement
Bottom align menus with trigger buttons
Align height of social link icons
2026-07-07 09:19:43 -07:00
marktechson c587555fdd docs: updates press kit
Adds a link to Angular's official mascot, Angie! Community members can now have access to Angie for use that falls within the community guidelines.
2026-07-07 09:18:54 -07:00
Shuaib Hasan Akib 81dd9d6091 docs: fix code snippet formatting and highlight lines
Correct a mismatched line highlight in the documentation examples
and convert tags to the preferred self-closing format for consistency.
2026-07-07 09:15:39 -07:00
SkyZeroZx 901eb4607a docs: clarify HttpClient default provider 2026-07-07 09:14:40 -07:00
Shuaib Hasan Akib cf70bcfef8 docs: update component and directive decorator examples to use concise syntax 2026-07-07 09:14:13 -07:00
Sebastian Barfurth 19a66dcc15 docs: point out interoperability of custom Signal Form controls
Any custom Signal Form control
[will actually work](https://github.com/angular/angular/issues/69074#issuecomment-4601225278)
in both Reactive and Template-Driven form contexts. However, this is not obvious
from reading the docs. This PR points this out very explicitly in both the
migration and custom control guide for Signal Forms.

One notable advantage of this interoperability behavior is the ability to
migrate existing `ControlValueAccessor` controls without breaking users. I've
pointed this out separately.
2026-07-07 09:11:41 -07:00
arturovt 806a3ada26 docs: add NG05200 error reference page for SANITIZATION_UNSAFE_SCRIPT
Adds a reference page for `NG05200`, thrown by `DomSanitizer` when a value is bound to a `<script>` element without being marked trusted via `bypassSecurityTrustScript`. Covers why Angular rejects script content outright, how to reproduce the error, the escape hatch, and the XSS caveat.
2026-07-07 09:09:49 -07:00
Kam cd8351a3af docs: fix layout shift when refreshing the stagger example
Clicking "Refresh" toggles the list out of and back into the DOM, but the
`<ul>` lived inside the `@if`, so removing it collapsed the layout and
caused a vertical jump. Wrap the list in a fixed-height `.items-container`
to reserve the space while it re-mounts. Also key the stagger delay off
`$index` so the first item animates immediately instead of being delayed a
step.
2026-07-06 14:04:46 -07:00
Kam 42fc9a4599 docs: use descriptive link text for the AI overview page link
The link on the "develop with AI" page wrapped the verb phrase "to check
out the overview page" in the link text, burying the destination in a
call-to-action. Per the adev writing guide's descriptive-link-text rule,
link only the noun that names the destination.

Change the link text to "overview page" so it clearly indicates where the
link goes.
2026-07-06 14:04:10 -07:00
Alan Agius e3630c23c5 feat(http): add options to allow caching of credentialed and non-cacheable HTTP requests
Adds `includeRequestsWithCredentials` and `includeNonCacheableRequests` options to `HttpTransferCacheOptions`.
2026-07-06 14:03:32 -07:00
Cheng-Hsuan Tsai d6e4529b55 docs: update API reference links in aria guides 2026-07-06 13:49:48 -07:00
Kam 551cb3b8b5 fix(docs-infra): lock background scroll while the search dialog is open
The search dialog (Cmd/Ctrl+K) opens as a native modal via `showModal()`, but the
page behind it stayed scrollable, so scrolling drifted the underlying content
beneath the blurred backdrop.

`body` already reserves a stable scrollbar gutter, so setting `overflow: hidden`
while the dialog is open blocks background scrolling with no layout shift. The rule
keys off the dialog's `[open]` state, so it restores automatically on every close
path (Escape, click-outside, navigation) with no script involved.
2026-07-06 13:48:53 -07:00
Kam 95a953145e fix(docs-infra): restyle prefer/avoid code block headers
The "Prefer" / "Avoid" code block headers rendered the style label as
plain inline text joined to the title with a bare "-" separator, giving
the two block types little visual distinction. The taller label also left
the prefer/avoid header at a different height from the plain filename
header, so the copy button's single "top" value could not center it in
both.

Style the label as a small uppercased pill tinted with the block's style
color, drop the "-" separator, add a subtle inset accent under the header,
and swap the heavier "dangerous" icon on "Avoid" for "close". Give every
header a fixed height with box-sizing: border-box and vertically center
its contents so all variants render at the same height and the copy button
stays centered.

This supersedes #69638, folding in its centering fix for the copy button
offset that #69030 introduced.
2026-07-06 13:48:14 -07:00
Shuaib Hasan Akib 9153515422 docs: fix broken ordered list in NG0912 error page
Fenced code blocks between list items in NG0912.md were not indented,
causing Marked.js to treat them as top-level block elements that
interrupt the list. This resulted in two separate <ol> elements being
rendered instead of one.

Indent the code blocks by 4 spaces so they are treated as continuation
content of their list items, and change the second `1.` to `2.` for
correctness.
2026-07-06 13:47:24 -07:00
Kam 12a4e60a4a fix(docs-infra): prevent tab labels from being clipped
The active docs tab applied a 2px bottom border that inactive tabs lacked,
which shrank the active label's content box and clipped its descenders. It
also set `line-height: 1.5` only on the active label, so switching tabs
nudged the text. Reserve the border as transparent on every tab and recolor
it on the active one, and share the label `line-height`, so the letters are
no longer cut and the label stays put when switching.
2026-07-06 13:46:40 -07:00
SkyZeroZx 205acb3494 docs: add docs for deep link support for Angular components in Chrome DevTools profiling 2026-07-06 13:45:40 -07:00
aparziale 207abf1140 fix(docs-infra): strip newlines from class signature in API gen
Prevents multiline generics or implements clauses from breaking the
rendered class signature in the API reference docs.
2026-07-06 13:44:17 -07:00
Hazem Alyaari c894b00d25 docs: fix typos and broken examples in guide content
Correct grammar, punctuation, and code examples across signals, forms, http, and templates guides so copy-paste snippets compile and read clearly.
2026-07-06 13:43:47 -07:00
Bhuvansh855 91fd0ca8db docs: improve Signal Forms complete example 2026-07-06 13:41:20 -07:00
Hazem Alyaari 8c8f3ac528 docs: fix terminology typos in Signals overviews
Fixes #69595

Fixes #69597
2026-07-06 13:40:18 -07:00
Shuaib Hasan Akib 892a6eb69a fix(docs-infra): add target="_blank" to external links in @see JSDoc tags
External links rendered via `@see {@link ...}` and `@see [label](url)`
were not opening in a new tab. The `getHtmlAdditionalLinks` function
now sets `target: '_blank'` on `LinkEntryRenderable` objects whose URL
is external, and `docs-pill-row.tsx` passes the `target` attribute to
the rendered anchor tag.

Fixes: #69593
2026-07-06 13:39:48 -07:00
Kam e4ffb24ecb fix(docs-infra): keep copy link icon out of the search index
The copy link button rendered its icon as a Material Symbols ligature text node, and since the button is appended inside each heading's `.docs-anchor`, that text leaked into the heading and the Algolia crawler indexed values like `Descriptionlink`. The glyph is now rendered via a `::before` pseudo-element using the icon codepoint, so no `link`/`check` text exists in the DOM and headings index correctly again.
2026-07-06 13:39:11 -07:00
Bhuvansh855 c4cb66e602 docs: improve introductory resource example 2026-06-30 18:00:03 -07:00
Kam b9125db156 docs(docs-infra): show the schema function in the validation example
The "schema function" example on the Validation guide page pointed its
visibleLines and highlight ranges at the wrong source lines. The
collapsed view showed the component's imports and model signal instead
of the schema function, and the highlight marked unrelated lines, so
readers had to expand the example to find the code the section is about.

The example file was edited at some point and these line numbers were
not updated to follow it. Point visibleLines at the form() schema call
(lines 29-34) and highlight the three validator calls (lines 30, 31, 33)
so the relevant code is visible by default.

Fixes #69547
2026-06-30 17:57:55 -07:00
Kam a9e3336aae fix(docs-infra): improve code selection contrast in dark mode
The ::selection background mixes only 10% of the accent color into
--octonary-contrast. In dark mode --octonary-contrast resolves to
gray-900 (#151417), which is the same color code blocks use as their
background, so selected code renders ~90% code-background and is almost
invisible.

Add a .docs-dark-mode ::selection override that raises the tint to 30%
so highlighted text stays legible over the near-black surface. Light
mode is unchanged, as its selection already contrasts the white page.

Fixes #69507
2026-06-30 17:56:35 -07:00
Eduard Fischer-Szava 19a912a6ef docs: fix incorrect @defer trigger names and a duplicate word in guides
The @defer guide reused the viewport section's prose in the
interaction and hover sections without updating it:

- interaction: the template reference variable is passed on the
  interaction trigger, not the viewport trigger.
- hover: the element is hovered over and the variable is passed on the
  hover trigger, not "watched to enter the viewport" / viewport.

Also removes a duplicate "keep the" in the routing
customizing-route-behavior guide.

Documentation-only; no code changes.
2026-06-30 17:52:16 -07:00
Hien Pham d748e8160d docs: clear mock after each test and refine expectation for tax calculator call
- We need to clear the mock between different assertions
- We have either toHaveBeenCalledOnce or toHaveBeenCalledExactlyOnceWith matcher
2026-06-30 17:51:36 -07:00
SkyZeroZx b6dbdcfe34 docs: remove ChangeDetectionStrategy.OnPush from Signal Forms tutorial 2026-06-30 17:49:31 -07:00
Alan Agius 7a7a612e48 docs: remove fixed font-size from table headers in docs
Removes the fixed font size from table headers to ensure they scale properly and do not appear smaller than the table content.
2026-06-30 17:41:27 -07:00
Alan Agius c92d38c097 docs: update service documentation to compare @Service and @Injectable decorators with a feature comparison table
Closes: #69563
2026-06-30 17:40:51 -07:00