diff --git a/modules/@angular/core/src/metadata.ts b/modules/@angular/core/src/metadata.ts index 267f08ad83..f8c4ca9a2a 100644 --- a/modules/@angular/core/src/metadata.ts +++ b/modules/@angular/core/src/metadata.ts @@ -19,7 +19,7 @@ import {Type} from './type'; import {TypeDecorator, makeParamDecorator, makePropDecorator} from './util/decorators'; export {ANALYZE_FOR_ENTRY_COMPONENTS, Attribute, ContentChild, ContentChildDecorator, ContentChildren, ContentChildrenDecorator, Query, ViewChild, ViewChildDecorator, ViewChildren, ViewChildrenDecorator} from './metadata/di'; -export {Component, Directive, DirectiveDecorator, ComponentDecorator, HostBinding, HostListener, Input, Output, Pipe} from './metadata/directives'; +export {Component, ComponentDecorator, Directive, DirectiveDecorator, HostBinding, HostListener, Input, Output, Pipe} from './metadata/directives'; export {AfterContentChecked, AfterContentInit, AfterViewChecked, AfterViewInit, DoCheck, OnChanges, OnDestroy, OnInit} from './metadata/lifecycle_hooks'; export {CUSTOM_ELEMENTS_SCHEMA, ModuleWithProviders, NO_ERRORS_SCHEMA, NgModule, SchemaMetadata} from './metadata/ng_module'; export {ViewEncapsulation} from './metadata/view'; diff --git a/modules/@angular/core/src/metadata/directives.ts b/modules/@angular/core/src/metadata/directives.ts index 5e7b132f74..38baf92958 100644 --- a/modules/@angular/core/src/metadata/directives.ts +++ b/modules/@angular/core/src/metadata/directives.ts @@ -56,14 +56,15 @@ export interface DirectiveDecorator { * * **Metadata Properties:** * - * **exportAs** - name under which the component instance is exported in a template - * **host** - map of class property to host element bindings for events, properties and attributes - * **inputs** - list of class property names to data-bind as component inputs - * **outputs** - list of class property names that expose output events that others can subscribe - * to - * **providers** - list of providers available to this component and its children - * **queries** - configure queries that can be injected into the component - * **selector** - css selector that identifies this component in a template + * * **exportAs** - name under which the component instance is exported in a template + * * **host** - map of class property to host element bindings for events, properties and + * attributes + * * **inputs** - list of class property names to data-bind as component inputs + * * **outputs** - list of class property names that expose output events that others can + * subscribe to + * * **providers** - list of providers available to this component and its children + * * **queries** - configure queries that can be injected into the component + * * **selector** - css selector that identifies this component in a template * * @stable * @Annotation @@ -422,16 +423,7 @@ export interface ComponentDecorator { * * @howToUse * - * ``` - * import {Component} from '@angular/core'; - * - * @Component({ - * selector: 'my-component', - * templateUrl: 'myComponent.html' - * }) - * export class MyComponent { - * } - * ``` + * {@example core/ts/metadata/metadata.ts region='component'} * * @description * Component decorator allows you to mark a class as an Angular component and provide additional @@ -452,26 +444,27 @@ export interface ComponentDecorator { * * **Metadata Properties:** * - * **animations** - list of animations of this component - * **changeDetection** - change detection strategy used by this component - * **encapsulation** - style encapsulation strategy used by this component - * **entryComponents** - list of components that are dynamically inserted into the view of this + * * **animations** - list of animations of this component + * * **changeDetection** - change detection strategy used by this component + * * **encapsulation** - style encapsulation strategy used by this component + * * **entryComponents** - list of components that are dynamically inserted into the view of this * component - * **exportAs** - name under which the component instance is exported in a template - * **host** - map of class property to host element bindings for events, properties and attributes - * **inputs** - list of class property names to data-bind as component inputs - * **interpolation** - custom interpolation markers used in this component's template - * **moduleId** - ES/CommonJS module id of the file in which this component is defined - * **outputs** - list of class property names that expose output events that others can subscribe - * to - * **providers** - list of providers available to this component and its children - * **queries** - configure queries that can be injected into the component - * **selector** - css selector that identifies this component in a template - * **styleUrls** - list of urls to stylesheets to be applied to this component's view - * **styles** - inline-defined styles to be applied to this component's view - * **template** - inline-defined template for the view - * **templateUrl** - url to an external file containing a template for the view - * **viewProviders** - list of providers available to this component and its view children + * * **exportAs** - name under which the component instance is exported in a template + * * **host** - map of class property to host element bindings for events, properties and + * attributes + * * **inputs** - list of class property names to data-bind as component inputs + * * **interpolation** - custom interpolation markers used in this component's template + * * **moduleId** - ES/CommonJS module id of the file in which this component is defined + * * **outputs** - list of class property names that expose output events that others can + * subscribe to + * * **providers** - list of providers available to this component and its children + * * **queries** - configure queries that can be injected into the component + * * **selector** - css selector that identifies this component in a template + * * **styleUrls** - list of urls to stylesheets to be applied to this component's view + * * **styles** - inline-defined styles to be applied to this component's view + * * **template** - inline-defined template for the view + * * **templateUrl** - url to an external file containing a template for the view + * * **viewProviders** - list of providers available to this component and its view children * * ### Example * diff --git a/tools/public_api_guard/core/index.d.ts b/tools/public_api_guard/core/index.d.ts index 5f4f7bea9e..6077840e7b 100644 --- a/tools/public_api_guard/core/index.d.ts +++ b/tools/public_api_guard/core/index.d.ts @@ -235,6 +235,12 @@ export declare type CompilerOptions = { /** @stable */ export declare const Component: ComponentDecorator; +/** @stable */ +export interface ComponentDecorator { + /** @stable */ (obj: Component): TypeDecorator; + new (obj: Component): Component; +} + /** @stable */ export declare class ComponentFactory { componentType: Type; @@ -367,6 +373,12 @@ export declare function destroyPlatform(): void; /** @stable */ export declare const Directive: DirectiveDecorator; +/** @stable */ +export interface DirectiveDecorator { + /** @stable */ (obj: Directive): TypeDecorator; + new (obj: Directive): Directive; +} + /** @stable */ export declare abstract class DoCheck { abstract ngDoCheck(): void;