@rx-angular/cdk
@rx-angular/cdk is a Component Development Kit, a helper layer of low-level,
@rx-angular/cdk is a Component Development Kit, a helper layer of low-level,
@rx-angular/cdk/coercing coerces a value that may be either a static value or an
@rx-angular/cdk/notifications models the full reactive context of an async source
A set of ESLint rules that keep an Angular codebase zoneless-ready and enforce
Incremental Static Regeneration (ISR) for Angular SSR (@angular/ssr). It caches
Complete export surface of @rx-angular/isr, split by entry point: @rx-angular/isr/server, @rx-angular/isr/browser, and @rx-angular/isr/models. Every signature is source-derived (package 21.0.1).
@rx-angular/state (RxState) is a lightweight library for managing reactive
A set of RxJS operators for selecting state in an efficient, distinct way. They are the building blocks RxState uses internally for its select surface, and they are exported so you can use them directly inside your own RxJS pipelines.
@rx-angular/template is a set of reactive template directives (*rxLet,
Since Angular v21, change detection is zoneless by default and Zone.js is
The function which is used by KeyCompareMap to determine if changes are distinct or not. Should return true if values are equal.
The concurrent strategies are a set of five named render strategies that schedule
deleteProp
dictionaryToArray
RxJS operator that emits items from the source Observable that are distinct by comparison from the previous item, comparing each key in the keys array. It is named distinctUntilSomeChanged because it iterates the keys and uses Array.prototype.some to decide whether values are distinct.
Behavior of each transformation helper for null, undefined, and malformed
extract
HydrationTracker exposes an app-wide "fully hydrated" signal for a
insert
Field-level reference for a subset of ISRHandlerConfig fields, plus the deprecated RenderConfig.modifyGeneratedHtml history. For the full field table see ISRHandlerConfig.
Configuration object passed to the ISRHandler constructor. Source-derived (package 21.0.1), all 18 fields below. Defaults are applied in the ISRHandler constructor / render pipeline, not on the interface itself.
The KeyCompareMap is used to configure custom comparison for defined keys.
What it flags
What it flags
What it flags
This rule only does anything when Zone.js is present. Since Angular v21, change
This rule only does anything when Zone.js is present. Since Angular v21, change
This rule only does anything when Zone.js is present. Since Angular v21, change
This rule only does anything when Zone.js is present. Since Angular v21, change
This rule only does anything when Zone.js is present. Since Angular v21, change
This rule only does anything when Zone.js is present. Since Angular v21, change
RxState has partial updates built in. Every change sent to the state over set or connect is treated as a partial update: an instance typed with T accepts Partial on both methods, and the change is merged into the current state.
patch
What it flags
What it flags
What it flags
remove
The plugin ships 12 rules under the @rx-angular namespace. Each links to its own reference page. None of the rules are auto-fixable (no fixable metadata); they report but do not rewrite. The six no-zone- rules are legacy-guarded*: they only do anything when Zone.js is present and are a no-op under zoneless Angular (v21+). See Zoneless & how Zone.js affected change detection for why.
The functional way to create an RxActions instance: a typed set of event channels that turns an actions interface into a dispatcher (login(...)), an observable stream (login$), and a side-effect binder (onLogin(...)) for each key. It is imported from the @rx-angular/state/actions secondary entry point and must be called within an injection context; the instance is destroyed automatically when the host component/directive/service is destroyed.
rxEffects is the functional creation function for RxEffects, a small helper that runs Observable- or Promise-based side effects and cleans up their subscriptions automatically when the current injection context is destroyed. It replaces manual subscribe / takeUntil(destroy$) / ngOnDestroy boilerplate.
RxFor renders a list concurrently: each item template is a single renderable
RxIf is a reactive suspense / error / complete template state machine driven from an Observable (or Signal, or static value). Bind an async condition directly and render loading, error, and complete UI from the source's notifications: no manual @if boilerplate, no extra async pipes to wire the states together.
RxLet (*rxLet) binds an Observable, Signal, or plain value to the template and
Under zoneless change detection (default since Angular v21) the standard
The functional way to create and configure an RxState instance. rxState() is a wrapper around the class-based RxState service that binds its lifecycle to the current injection context; the instance is destroyed automatically when the host component/directive/service is destroyed. It is the modern default for local reactive state; the class API is the legacy surface.
RxState is a light-weight reactive state management service for managing local state in Angular. This page documents the class-based API, the legacy surface. For new code, prefer the functional rxState() creator, which wraps this class and binds its lifecycle to the injection context automatically.
RxState instances read two settings from the DI tree: the scheduler that drives state computation and the accumulator that merges each change into the state. Both are provided with the provideRxStateConfig provider function and its configuration features.
RxStrategyProvider is the service surface for scheduling arbitrary work against
RxUnpatch re-registers DOM event listeners through the zone-unpatched
*rxVirtualFor is a structural directive that renders only the items currently
The viewport container that *rxVirtualFor operates inside. It implements the
This feature is under developer preview. It won't follow semver.
RxJS operator that reads a slice of state as a shared, replayed, distinct Observable. It removes the need to think about late subscribers, multiple subscribers, or repeated emissions of the same value. select has several overloads: read the whole state, apply operators, access a (possibly nested) key by path, or transform a key/slice with a projection function.
RxJS operator that emits only the provided keys from the source Observable. Each key is filtered to emit only defined values and checked for distinct emissions; comparison is done for each key in the keys array. A selection is only emitted when it is valid (every selected key must exist and be defined in the source), so the operator always yields a complete slice with all values present.
setProp
slice
RxJS operator that turns an arbitrary source Observable into a stateful one: it emits only distinct and defined values, and shares/replays the result for multiple subscribers. It behaves like the Observable pipe method (pass zero or more RxJS operators and they are composed in order) while adding the repetitive state-processing guarantees on top.
toDictionary
toggle
npm
update
upsert
A RxVirtualScrollStrategy positions the views created by *rxVirtualFor inside the
Since Angular v21, change detection is zoneless by default and Zone.js is