Commit Graph

2321 Commits

Author SHA1 Message Date
Kam f12db89659 docs: fix first heading rendering as paragraph on two template guides
The ng-container and binding template guide files each began with a
UTF-8 BOM (EF BB BF) before the leading `#`. The docs markdown parser
only promotes `#` to an H1 when it is the first character on the line,
so the BOM demoted the title to paragraph text (`<p># ...</p>`) and the
standard docs header (breadcrumbs, page title, edit button) never
rendered.

Stripping the BOM restores `#` as the first character, so both pages
now generate the proper `<header class="docs-header">` block. Verified
by rebuilding //adev/src/content/guide/templates:templates and
inspecting the generated HTML.

Fixes #69889
2026-07-22 14:26:19 +02:00
Kam 6557df5dbe docs: update stale Twitter reference to X in the URL matcher guide
Twitter is now X. In the custom-route-matcher guide, point the author-credit
link at x.com and refer to an "X (formerly Twitter) handle" (clarified once,
then "X handle"), matching the "X (formerly Twitter)" wording already used in
the footer, navigation, and update guide.
2026-07-22 12:01:16 +02:00
Nikita Barsukov cb1841d10b docs: outdated section in the Signal Forms | Custom controls page 2026-07-22 12:00:06 +02:00
SkyZeroZx d955d67b57 docs: clarify usage of 'same-origin' mode and add SSR considerations 2026-07-22 11:58:56 +02:00
SkyZeroZx 6ac3e26fe0 docs: clarify pipe usage to avoid DI misuse 2026-07-22 11:50:12 +02:00
Kam 8422da814d feat(docs-infra): react with Angie in the playground minigame
The angle-guessing minigame's result popup personifies your score with a
hand-drawn stick-figure that changes expression by accuracy. Now that Angie
appears across adev — the 404 page, docs search, the embedded editor, the
tutorial intros and completions — give the minigame the same treatment so
its result feels consistent with the rest of the docs.

Replace the result reactor's stick-figure illustration with an Angie pose
keyed to accuracy (seven tiers, superhero down to angry). She is revealed
once the accuracy counter finishes counting up, popping in beside a speech
bubble that carries the round's existing quote. The result popup is widened
so Angie and the bubble sit side by side, and the share link is moved from
twitter.com to x.com.

This removes the previous hand-drawn stick-figure result art. NG the Angle,
the interactive character in the play area, is unchanged.
2026-07-21 17:19:58 +02:00
Kam d2c0e1ec77 feat(docs-infra): bookend the tutorials with Angie
The tutorial intro and "next steps" pages were plain headings with no
send-off. Bookend each tutorial with Angie: a greeting pose welcoming
learners on the intro page, and a superhero pose congratulating them on
the completion page, each beside a speech bubble.

The bubble treatment from the 404 page lived inside the not-found
component, so it's extracted into a reusable docs-content style
(docs-tutorial-mascot) usable from tutorial markdown, and applied to the
intro and completion pages of the Learn Angular, Signals, and Signal
Forms tutorials.
2026-07-21 11:03:21 +02:00
Angular Robot 3c9820f3e0 build: lock file maintenance
See associated pull request for more information.
2026-07-21 10:58:37 +02:00
Kam 79fe1c3a05 fix(docs-infra): only claim a search on the 404 page when results exist
The "Page Not Found" page always rendered the sentence "We have
initiated a search for the term extracted from the URL", but the
NotFound component only runs a search when a term can be extracted,
and only renders results when there is at least one hit. On a 404
with no extractable term or no matching results, the page asserted
a search it never backed up.

Gate the sentence behind the same searchResults() check that guards
the results list, so the empty state simply reads "We couldn't find
what you were looking for."
2026-07-20 16:04:29 +02:00
Kam d6cad90b3a docs: fix broken link to Angular AI Skills page
The MCP server setup guide linked to /ai/skills, which 404s. The
page lives at /ai/agent-skills. Update the link to point to the
correct route.

Fixes #69838
2026-07-20 11:50:35 +02:00
Kam f032f5ac1f docs: document the inlineStyleLanguage workspace config option
The `inlineStyleLanguage` build option has existed since v12 but was
never listed in the workspace configuration reference. Add it to the
"Extra build and test options" table alongside the other style options,
documenting its accepted values (css, less, sass, scss) and default.

Fixes #69801
2026-07-20 11:21:44 +02:00
Paweł Maniecki ea83f13388 docs: update "browser set" links to avoid bad redirect
"Supported browsers" page got moved from
https://web-platform-dx.github.io/web-features/supported-browsers to https://web-platform-dx.github.io/supported-browsers/

There's a redirect in place, but it drops the query parameter with the date, so all versions link to the current browser set.
2026-07-15 11:55:24 -07:00
Ben Hong ca377900a2 docs: add native html validation clarification in signal forms docs 2026-07-14 08:01:03 -07:00
Angular Robot 2732c5f63c build: lock file maintenance
See associated pull request for more information.
2026-07-14 07:59:16 -07:00
Kam d5e0b131ed feat(docs-infra): show Angie in the error snack bar
The error snack bar (the chunk-load reload prompt and the embedded
editor's memory / mobile alerts) showed only text and an action button.
Add an Angie press-kit pose to the left of the message so the failure
state matches the mascot treatment already used for the preview error
card and the empty search states.

The pose is data-driven: ErrorSnackBarData gains a required `pose` field
so each caller picks the mascot that fits the message tone (`greeting`
for the docs-updated reload prompt and the mobile notice, `error` for
the out-of-memory warning). The message moves into a `<p>` that flexes
to fill the row, keeping the action button aligned to the right.

Presentation only; when and why the snack bar appears is unchanged.
2026-07-13 14:47:26 -07:00
Matthieu Riegler d55f5c4ce5 docs: Add mention that about signal narrowing on @switch blocks 2026-07-13 12:59:36 -07:00
Kam f6a00ffde5 docs(docs-infra): remove orphaned IDX config left behind by #68946
PR #68946 removed the "Open in Firebase Studio" (Project IDX) launcher
from the embedded editor, but left its supporting configuration behind:
a per-tutorial `idx/dev.nix` workspace file in seven tutorials, plus an
`'idx'` entry in `excludeFromRoot` whose only job was to keep those
folders out of the StackBlitz/download bundle.

With the launcher gone nothing reads these files anymore, so remove the
seven `dev.nix` configs and the now-dead `'idx'` exclude entry.
2026-07-13 11:50:57 -07:00
Kam f94da4d5ca fix(docs-infra): render the Console tab error badge in the embedded editor
The Console tab's error-count badge lives in an `<ng-template
mat-tab-label>`, but the component didn't import `MatTabLabel`, so
Material ignored the templated label and fell back to the plain
"Console" text. Import it so the badge renders when there are errors.
2026-07-13 11:48:54 -07:00
Angular Robot 4fad2c0a5d docs: update cross-repo adev docs
Updated Angular adev cross repo docs files.
2026-07-10 14:20:46 -07:00
Kam 72cc548d34 feat(docs-infra): add Angie to the embedded editor error state
When the embedded editor fails to boot the preview sandbox, the error
card showed only a text message. Add the press-kit Error pose above the
message so the failure state matches the mascot treatment already used
for the loading steps and the empty search states.

The card is also centered in the preview pane (previously pinned 5% from
the top) so the pose and message read as one block. Behaviour is
unchanged; this is presentation only.
2026-07-10 11:12:15 -07:00
Michael Small cf6d693985 docs: remove \'s from schematics helloWorld block 2026-07-09 12:23:31 -07:00
franmc01 454af71609 docs: show ng-add schema files in schematics-for-libraries guide
The ng-add walkthrough references two files it never shows: the
collection points to `ng-add/schema.json` and `index.ts` imports its
`Schema` interface from `ng-add/schema.ts`. Add the missing code blocks,
mirroring the generation-support section, so the example is complete.

Fixes #57005
2026-07-09 12:13:50 -07:00
Kam c92d995260 feat(docs-infra): add Angie to the embedded editor loading steps
While the embedded editor's preview sandbox boots, the pane shows a plain
text label for each step (Booting, Creating project, Installing packages,
Initializing dev server). Add an Angie pose above the label so the wait
tells a small story. Behaviour is unchanged; this is presentation only.

Poses map to the existing LoadingStep values:
  Starting / Booting / Creating project -> greeting
  Installing packages                   -> coding-01
  Initializing dev server               -> superhero

The mascot sits in a fixed-size box (object-fit: contain) so swapping
poses of different aspect ratios never shifts the label or progress bar.
2026-07-09 12:00:46 -07:00
Shuaib Hasan Akib 4fc6d6f765 docs: update ng-content syntax to self-closing tags in content projection and component harnesses guides 2026-07-09 11:57:38 -07:00
Shuaib Hasan Akib 13b6bbd6a0 docs(platform-server): add error reference page for NG05703 and wire up RuntimeError
Add a dedicated error reference page for NG05703 (suspicious URL origin
change during SSR) and update the error to use RuntimeError with a
negative code so the error message automatically includes a link to the
docs page in both dev and production builds.

Update affected tests in url_spec.ts, platform_location_spec.ts, and
integration_spec.ts to match the new NG05703-prefixed error message
format.

Fixes: #69667
2026-07-09 11:56:01 -07:00
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
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 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 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