Skip to content

Commit 1b15192

Browse files
feat(core): mark input, output and model APIs as stable (angular#57804)
This commit marks the input, output and model APIs as stable (along with the associated APIs) and thus exits the dev preview phase for those APIs. PR Close angular#57804
1 parent 41c212d commit 1b15192

File tree

10 files changed

+17
-24
lines changed

10 files changed

+17
-24
lines changed

adev/src/content/guide/components/output-function.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
The `output()` function declares an output in a directive or component.
44
Outputs allow you to emit values to parent components.
55

6-
HELPFUL: The `output()` function is currently in [developer preview](/reference/releases#developer-preview).
7-
86
<docs-code language="ts" highlight="[[5], [8]]">
97
import {Component, output} from '@angular/core';
108

adev/src/content/guide/signals/inputs.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
Signal inputs allow values to be bound from parent components.
44
Those values are exposed using a `Signal` and can change during the lifecycle of your component.
55

6-
HELPFUL: Signal inputs are currently in [developer preview](/reference/releases#developer-preview).
7-
86
Angular supports two variants of inputs:
97

108
**Optional inputs**

adev/src/content/guide/signals/model.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
**Model inputs** are a special type of input that enable a component to propagate new values
44
back to another component.
55

6-
HELPFUL: Model inputs are currently in [developer preview](/reference/releases#developer-preview).
7-
86
When creating a component, you can define a model input similarly to how you create a standard
97
input.
108

packages/core/src/authoring/input/input.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ export function inputRequiredFunction<ReadT, WriteT = ReadT>(
4040
* The function exposes an API for also declaring required inputs via the
4141
* `input.required` function.
4242
*
43-
* @developerPreview
43+
* @publicAPI
4444
* @docsPrivate Ignored because `input` is the canonical API entry.
4545
*/
4646
export interface InputFunction {
@@ -81,7 +81,7 @@ export interface InputFunction {
8181
* Consumers of your directive/component need to bind to this
8282
* input. If unset, a compile time error will be reported.
8383
*
84-
* @developerPreview
84+
* @publicAPI
8585
*/
8686
required: {
8787
/** Declares a required input of type `T`. */
@@ -143,7 +143,7 @@ export interface InputFunction {
143143
* <span>{{firstName()}}</span>
144144
* ```
145145
*
146-
* @developerPreview
146+
* @publicAPI
147147
* @initializerApiFunction
148148
*/
149149
export const input: InputFunction = (() => {

packages/core/src/authoring/input/input_signal.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {Signal} from '../../render3/reactivity/api';
1414
import {INPUT_SIGNAL_NODE, InputSignalNode, REQUIRED_UNSET_VALUE} from './input_signal_node';
1515

1616
/**
17-
* @developerPreview
17+
* @publicAPI
1818
*
1919
* Options for signal inputs.
2020
*/
@@ -37,15 +37,15 @@ export interface InputOptions<T, TransformT> {
3737
/**
3838
* Signal input options without the transform option.
3939
*
40-
* @developerPreview
40+
* @publicAPI
4141
*/
4242
export type InputOptionsWithoutTransform<T> =
4343
// Note: We still keep a notion of `transform` for auto-completion.
4444
Omit<InputOptions<T, T>, 'transform'> & {transform?: undefined};
4545
/**
4646
* Signal input options with the transform option required.
4747
*
48-
* @developerPreview
48+
* @publicAPI
4949
*/
5050
export type InputOptionsWithTransform<T, TransformT> = Required<
5151
Pick<InputOptions<T, TransformT>, 'transform'>
@@ -77,7 +77,7 @@ export const ɵINPUT_SIGNAL_BRAND_WRITE_TYPE = /* @__PURE__ */ Symbol();
7777
*
7878
* @see {@link InputSignal} for additional information.
7979
*
80-
* @developerPreview
80+
* @publicAPI
8181
*/
8282
export interface InputSignalWithTransform<T, TransformT> extends Signal<T> {
8383
[SIGNAL]: InputSignalNode<T, TransformT>;
@@ -94,7 +94,7 @@ export interface InputSignalWithTransform<T, TransformT> extends Signal<T> {
9494
*
9595
* @see {@link InputOptionsWithTransform} for inputs with transforms.
9696
*
97-
* @developerPreview
97+
* @publicAPI
9898
*/
9999
export interface InputSignal<T> extends InputSignalWithTransform<T, T> {}
100100

packages/core/src/authoring/model/model.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ export function modelRequiredFunction<T>(): ModelSignal<T> {
3131
* The function exposes an API for also declaring required models via the
3232
* `model.required` function.
3333
*
34-
* @developerPreview
34+
* @publicAPI
3535
* @docsPrivate Ignored because `model` is the canonical API entry.
3636
*/
3737
export interface ModelFunction {
@@ -98,7 +98,7 @@ export interface ModelFunction {
9898
* }
9999
* ```
100100
*
101-
* @developerPreview
101+
* @publicAPI
102102
* @initializerApiFunction
103103
*/
104104
export const model: ModelFunction = (() => {

packages/core/src/authoring/model/model_signal.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import {OutputEmitterRef} from '../output/output_emitter_ref';
2525
import {OutputRef} from '../output/output_ref';
2626

2727
/**
28-
* @developerPreview
28+
* @publicAPI
2929
*
3030
* Options for model signals.
3131
*/
@@ -43,7 +43,7 @@ export interface ModelOptions {
4343
* A model signal is a writeable signal that can be exposed as an output.
4444
* Whenever its value is updated, it emits to the output.
4545
*
46-
* @developerPreview
46+
* @publicAPI
4747
*/
4848
export interface ModelSignal<T> extends WritableSignal<T>, InputSignal<T>, OutputRef<T> {
4949
[SIGNAL]: InputSignalNode<T, T>;

packages/core/src/authoring/output/output.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {OutputEmitterRef} from './output_emitter_ref';
1313
/**
1414
* Options for declaring an output.
1515
*
16-
* @developerPreview
16+
* @publicAPI
1717
*/
1818
export interface OutputOptions {
1919
alias?: string;
@@ -58,9 +58,8 @@ export interface OutputOptions {
5858
* this.nameChange.emit(newName);
5959
* }
6060
* ```
61-
*
62-
* @developerPreview
6361
* @initializerApiFunction {"showTypesInSignaturePreview": true}
62+
* @publicAPI
6463
*/
6564
export function output<T = void>(opts?: OutputOptions): OutputEmitterRef<T> {
6665
ngDevMode && assertInInjectionContext(output);

packages/core/src/authoring/output/output_emitter_ref.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import {OutputRef, OutputRefSubscription} from './output_ref';
2626
* <my-comp (valueChange)="processNewValue($event)" />
2727
* ```
2828
*
29-
* @developerPreview
29+
* @publicAPI
3030
*/
3131
export class OutputEmitterRef<T> implements OutputRef<T> {
3232
private destroyed = false;

packages/core/src/authoring/output/output_ref.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import {DestroyRef} from '../../linker/destroy_ref';
1515
* Note: Angular will automatically clean up subscriptions
1616
* when the directive/component of the output is destroyed.
1717
*
18-
* @developerPreview
18+
* @publicAPI
1919
*/
2020
export interface OutputRefSubscription {
2121
unsubscribe(): void;
@@ -24,7 +24,7 @@ export interface OutputRefSubscription {
2424
/**
2525
* A reference to an Angular output.
2626
*
27-
* @developerPreview
27+
* @publicAPI
2828
*/
2929
export interface OutputRef<T> {
3030
/**

0 commit comments

Comments
 (0)