diff --git a/src/dev-app/BUILD.bazel b/src/dev-app/BUILD.bazel index 85817f905106..bd63b76df638 100644 --- a/src/dev-app/BUILD.bazel +++ b/src/dev-app/BUILD.bazel @@ -10,7 +10,6 @@ ng_module( srcs = [ "dev-app.ts", "main.ts", - "main-module.ts", "routes.ts", ], deps = [ diff --git a/src/dev-app/dev-app.ts b/src/dev-app/dev-app.ts index f75ee272341c..7d9cc94d644d 100644 --- a/src/dev-app/dev-app.ts +++ b/src/dev-app/dev-app.ts @@ -7,11 +7,15 @@ */ import {Component, ViewEncapsulation} from '@angular/core'; +import {RouterModule} from '@angular/router'; +import {DevAppLayout} from './dev-app/dev-app-layout'; /** Root component for the dev-app demos. */ @Component({ selector: 'dev-app', template: '', encapsulation: ViewEncapsulation.None, + standalone: true, + imports: [DevAppLayout, RouterModule], }) -export class DevAppComponent {} +export class DevApp {} diff --git a/src/dev-app/dev-app/dev-app-404.ts b/src/dev-app/dev-app/dev-app-404.ts index 2ec0089d6f5f..538503bcab0a 100644 --- a/src/dev-app/dev-app/dev-app-404.ts +++ b/src/dev-app/dev-app/dev-app-404.ts @@ -7,6 +7,8 @@ */ import {Component} from '@angular/core'; +import {MatButtonModule} from '@angular/material/button'; +import {RouterModule} from '@angular/router'; @Component({ template: ` @@ -15,5 +17,7 @@ import {Component} from '@angular/core'; Go back to the home page `, host: {'class': 'mat-typography'}, + standalone: true, + imports: [MatButtonModule, RouterModule], }) export class DevApp404 {} diff --git a/src/dev-app/dev-app/dev-app-home.ts b/src/dev-app/dev-app/dev-app-home.ts index 7ba32542c4a1..55d2c7fc9476 100644 --- a/src/dev-app/dev-app/dev-app-home.ts +++ b/src/dev-app/dev-app/dev-app-home.ts @@ -14,5 +14,6 @@ import {Component} from '@angular/core';

Welcome to the development demos for Angular Material!

Open the sidenav to select a demo.

`, + standalone: true, }) export class DevAppHome {} diff --git a/src/dev-app/dev-app/dev-app-layout.ts b/src/dev-app/dev-app/dev-app-layout.ts index 9e2ce8c137ba..fb16ccc68b94 100644 --- a/src/dev-app/dev-app/dev-app-layout.ts +++ b/src/dev-app/dev-app/dev-app-layout.ts @@ -11,7 +11,13 @@ import {ChangeDetectorRef, Component, ElementRef, Inject, ViewEncapsulation} fro import {DevAppDirectionality} from './dev-app-directionality'; import {DevAppRippleOptions} from './ripple-options'; -import {DOCUMENT} from '@angular/common'; +import {CommonModule, DOCUMENT} from '@angular/common'; +import {MatSidenavModule} from '@angular/material/sidenav'; +import {MatListModule} from '@angular/material/list'; +import {MatButtonModule} from '@angular/material/button'; +import {RouterModule} from '@angular/router'; +import {MatIconModule} from '@angular/material/icon'; +import {MatToolbarModule} from '@angular/material/toolbar'; const isDarkThemeKey = 'ANGULAR_COMPONENTS_DEV_APP_DARK_THEME'; @@ -23,6 +29,16 @@ export const ANIMATIONS_STORAGE_KEY = 'ANGULAR_COMPONENTS_ANIMATIONS_DISABLED'; templateUrl: 'dev-app-layout.html', styleUrls: ['dev-app-layout.css'], encapsulation: ViewEncapsulation.None, + standalone: true, + imports: [ + CommonModule, + MatButtonModule, + MatIconModule, + MatListModule, + MatSidenavModule, + MatToolbarModule, + RouterModule, + ], }) export class DevAppLayout { readonly darkThemeClass = 'demo-unicorn-dark-theme'; diff --git a/src/dev-app/dev-app/dev-app-module.ts b/src/dev-app/dev-app/dev-app-module.ts deleted file mode 100644 index 5ca3462e1d79..000000000000 --- a/src/dev-app/dev-app/dev-app-module.ts +++ /dev/null @@ -1,35 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import {CommonModule} from '@angular/common'; -import {NgModule} from '@angular/core'; -import {MatButtonModule} from '@angular/material/button'; -import {MatIconModule} from '@angular/material/icon'; -import {MatListModule} from '@angular/material/list'; -import {MatSidenavModule} from '@angular/material/sidenav'; -import {MatToolbarModule} from '@angular/material/toolbar'; -import {RouterModule} from '@angular/router'; - -import {DevApp404} from './dev-app-404'; -import {DevAppHome} from './dev-app-home'; -import {DevAppLayout} from './dev-app-layout'; - -@NgModule({ - imports: [ - CommonModule, - MatButtonModule, - MatIconModule, - MatListModule, - MatSidenavModule, - MatToolbarModule, - RouterModule, - ], - declarations: [DevAppLayout, DevAppHome, DevApp404], - exports: [DevAppLayout], -}) -export class DevAppModule {} diff --git a/src/dev-app/example/example-list.ts b/src/dev-app/example/example-list.ts index 78f44a25d6e9..49d782982c64 100644 --- a/src/dev-app/example/example-list.ts +++ b/src/dev-app/example/example-list.ts @@ -7,12 +7,17 @@ */ import {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion'; +import {CommonModule} from '@angular/common'; import {EXAMPLE_COMPONENTS} from '@angular/components-examples'; import {Component, Input} from '@angular/core'; +import {MatExpansionModule} from '@angular/material/expansion'; +import {Example} from './example'; /** Displays a set of components-examples in a mat-accordion. */ @Component({ selector: 'material-example-list', + standalone: true, + imports: [CommonModule, MatExpansionModule, Example], template: ` diff --git a/src/dev-app/example/example-module.ts b/src/dev-app/example/example-module.ts deleted file mode 100644 index 63eb9fef19a0..000000000000 --- a/src/dev-app/example/example-module.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import {CommonModule} from '@angular/common'; -import {NgModule} from '@angular/core'; -import {MatExpansionModule} from '@angular/material/expansion'; - -import {Example} from './example'; -import {ExampleList} from './example-list'; - -@NgModule({ - imports: [CommonModule, MatExpansionModule], - declarations: [Example, ExampleList], - exports: [Example, ExampleList], -}) -export class ExampleModule {} diff --git a/src/dev-app/example/example.ts b/src/dev-app/example/example.ts index b70592f4f78c..3a1be014cb8f 100644 --- a/src/dev-app/example/example.ts +++ b/src/dev-app/example/example.ts @@ -7,6 +7,7 @@ */ import {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion'; +import {CommonModule} from '@angular/common'; import {EXAMPLE_COMPONENTS} from '@angular/components-examples'; import {loadExample} from '@angular/components-examples/private'; import { @@ -20,6 +21,8 @@ import { @Component({ selector: 'material-example', + standalone: true, + imports: [CommonModule], template: `
{{title}} diff --git a/src/dev-app/examples-page/examples-page.ts b/src/dev-app/examples-page/examples-page.ts index 5d0fce5887a2..a09b7ec25497 100644 --- a/src/dev-app/examples-page/examples-page.ts +++ b/src/dev-app/examples-page/examples-page.ts @@ -8,13 +8,13 @@ import {Component} from '@angular/core'; import {EXAMPLE_COMPONENTS} from '@angular/components-examples'; -import {ExampleModule} from '../example/example-module'; +import {ExampleList} from '../example/example-list'; /** Renders all material examples listed in the generated EXAMPLE_COMPONENTS. */ @Component({ template: ``, standalone: true, - imports: [ExampleModule], + imports: [ExampleList], }) export class ExamplesPage { examples = Object.keys(EXAMPLE_COMPONENTS); diff --git a/src/dev-app/main-module.ts b/src/dev-app/main-module.ts deleted file mode 100644 index 8e2b6c951cb0..000000000000 --- a/src/dev-app/main-module.ts +++ /dev/null @@ -1,42 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import {Directionality} from '@angular/cdk/bidi'; -import {FullscreenOverlayContainer, OverlayContainer} from '@angular/cdk/overlay'; -import {HttpClientModule} from '@angular/common/http'; -import {NgModule} from '@angular/core'; -import {MAT_RIPPLE_GLOBAL_OPTIONS} from '@angular/material/core'; -import {BrowserModule} from '@angular/platform-browser'; -import {BrowserAnimationsModule} from '@angular/platform-browser/animations'; -import {RouterModule} from '@angular/router'; -import {DevAppComponent} from './dev-app'; -import {DevAppDirectionality} from './dev-app/dev-app-directionality'; -import {DevAppModule} from './dev-app/dev-app-module'; -import {DEV_APP_ROUTES} from './routes'; -import {DevAppRippleOptions} from './dev-app/ripple-options'; -import {ANIMATIONS_STORAGE_KEY} from './dev-app/dev-app-layout'; - -@NgModule({ - imports: [ - BrowserAnimationsModule.withConfig({ - disableAnimations: localStorage.getItem(ANIMATIONS_STORAGE_KEY) === 'true', - }), - BrowserModule, - DevAppModule, - HttpClientModule, - RouterModule.forRoot(DEV_APP_ROUTES), - ], - declarations: [DevAppComponent], - providers: [ - {provide: OverlayContainer, useClass: FullscreenOverlayContainer}, - {provide: MAT_RIPPLE_GLOBAL_OPTIONS, useExisting: DevAppRippleOptions}, - {provide: Directionality, useClass: DevAppDirectionality}, - ], - bootstrap: [DevAppComponent], -}) -export class MainModule {} diff --git a/src/dev-app/main.ts b/src/dev-app/main.ts index 79d96916f253..812fa91c7a72 100644 --- a/src/dev-app/main.ts +++ b/src/dev-app/main.ts @@ -9,7 +9,33 @@ // Load `$localize` for examples using it. import '@angular/localize/init'; -import {platformBrowser} from '@angular/platform-browser'; -import {MainModule} from './main-module'; +import {importProvidersFrom} from '@angular/core'; +import {HttpClientModule} from '@angular/common/http'; +import {BrowserAnimationsModule} from '@angular/platform-browser/animations'; +import {RouterModule} from '@angular/router'; +import {bootstrapApplication} from '@angular/platform-browser'; -platformBrowser().bootstrapModule(MainModule); +import {MAT_RIPPLE_GLOBAL_OPTIONS} from '@angular/material/core'; +import {Directionality} from '@angular/cdk/bidi'; +import {OverlayContainer, FullscreenOverlayContainer} from '@angular/cdk/overlay'; + +import {DevApp} from './dev-app'; +import {DevAppDirectionality} from './dev-app/dev-app-directionality'; +import {DevAppRippleOptions} from './dev-app/ripple-options'; +import {ANIMATIONS_STORAGE_KEY} from './dev-app/dev-app-layout'; +import {DEV_APP_ROUTES} from './routes'; + +bootstrapApplication(DevApp, { + providers: [ + importProvidersFrom( + BrowserAnimationsModule.withConfig({ + disableAnimations: localStorage.getItem(ANIMATIONS_STORAGE_KEY) === 'true', + }), + RouterModule.forRoot(DEV_APP_ROUTES), + HttpClientModule, + ), + {provide: OverlayContainer, useClass: FullscreenOverlayContainer}, + {provide: MAT_RIPPLE_GLOBAL_OPTIONS, useExisting: DevAppRippleOptions}, + {provide: Directionality, useClass: DevAppDirectionality}, + ], +});