diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index f5d63ea99e6e..0c89e446a1ad 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -81,6 +81,7 @@ # CDK experimental package /src/cdk-experimental/** @jelbourn /src/cdk-experimental/dialog/** @jelbourn @josephperrott @crisbeto +/src/cdk-experimental/scrolling/** @mmalerba # Docs examples & guides /guides/** @amcdnl @jelbourn diff --git a/src/cdk-experimental/index.ts b/src/cdk-experimental/index.ts index 676ca90f1ffa..0f411c889e3f 100644 --- a/src/cdk-experimental/index.ts +++ b/src/cdk-experimental/index.ts @@ -7,3 +7,4 @@ */ export * from './public-api'; +export * from './scrolling/index'; diff --git a/src/cdk-experimental/scrolling/BUILD.bazel b/src/cdk-experimental/scrolling/BUILD.bazel new file mode 100644 index 000000000000..133985734a23 --- /dev/null +++ b/src/cdk-experimental/scrolling/BUILD.bazel @@ -0,0 +1,33 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_binary") + + +ng_module( + name = "scrolling", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/cdk-experimental/scrolling", + assets = [ + ":virtual_scroll_viewport_css", + ], + deps = [ + "//src/cdk/collections", + "@rxjs", + ], + tsconfig = ":tsconfig-build.json", +) + +sass_binary( + name = "virtual_scroll_viewport_scss", + src = "virtual-scroll-viewport.scss", +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "virtual_scroll_viewport_css", + srcs = [":virtual_scroll_viewport_scss"], + outs = ["virtual-scroll-viewport.css"], + cmd = "cat $(locations :virtual_scroll_viewport_scss) > $@", +) + diff --git a/src/cdk-experimental/scrolling/index.ts b/src/cdk-experimental/scrolling/index.ts new file mode 100644 index 000000000000..676ca90f1ffa --- /dev/null +++ b/src/cdk-experimental/scrolling/index.ts @@ -0,0 +1,9 @@ +/** + * @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 + */ + +export * from './public-api'; diff --git a/src/cdk-experimental/scrolling/public-api.ts b/src/cdk-experimental/scrolling/public-api.ts new file mode 100644 index 000000000000..31a7b9aadb81 --- /dev/null +++ b/src/cdk-experimental/scrolling/public-api.ts @@ -0,0 +1,13 @@ +/** + * @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 + */ + +export * from './scrolling-module'; +export * from './virtual-for-of'; +export * from './virtual-scroll-fixed-size'; +export * from './virtual-scroll-strategy'; +export * from './virtual-scroll-viewport'; diff --git a/src/cdk-experimental/scrolling/scrolling-module.ts b/src/cdk-experimental/scrolling/scrolling-module.ts new file mode 100644 index 000000000000..e625b67a5ab9 --- /dev/null +++ b/src/cdk-experimental/scrolling/scrolling-module.ts @@ -0,0 +1,27 @@ +/** + * @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 {NgModule} from '@angular/core'; +import {CdkVirtualForOf} from './virtual-for-of'; +import {CdkVirtualScrollFixedSize} from './virtual-scroll-fixed-size'; +import {CdkVirtualScrollViewport} from './virtual-scroll-viewport'; + + +@NgModule({ + exports: [ + CdkVirtualForOf, + CdkVirtualScrollFixedSize, + CdkVirtualScrollViewport, + ], + declarations: [ + CdkVirtualForOf, + CdkVirtualScrollFixedSize, + CdkVirtualScrollViewport, + ], +}) +export class ScrollingModule {} diff --git a/src/cdk-experimental/scrolling/tsconfig-build.json b/src/cdk-experimental/scrolling/tsconfig-build.json new file mode 100644 index 000000000000..d94e5e159676 --- /dev/null +++ b/src/cdk-experimental/scrolling/tsconfig-build.json @@ -0,0 +1,15 @@ +{ + "extends": "../tsconfig-build", + "files": [ + "public-api.ts", + "../typings.d.ts" + ], + "angularCompilerOptions": { + "annotateForClosureCompiler": true, + "strictMetadataEmit": true, + "flatModuleOutFile": "index.js", + "flatModuleId": "@angular/cdk-experimental/scrolling", + "skipTemplateCodegen": true, + "fullTemplateTypeCheck": true + } +} diff --git a/src/cdk/scrolling/typings.d.ts b/src/cdk-experimental/scrolling/typings.d.ts similarity index 100% rename from src/cdk/scrolling/typings.d.ts rename to src/cdk-experimental/scrolling/typings.d.ts diff --git a/src/cdk/scrolling/virtual-for-of.ts b/src/cdk-experimental/scrolling/virtual-for-of.ts similarity index 100% rename from src/cdk/scrolling/virtual-for-of.ts rename to src/cdk-experimental/scrolling/virtual-for-of.ts diff --git a/src/cdk/scrolling/virtual-scroll-fixed-size.ts b/src/cdk-experimental/scrolling/virtual-scroll-fixed-size.ts similarity index 100% rename from src/cdk/scrolling/virtual-scroll-fixed-size.ts rename to src/cdk-experimental/scrolling/virtual-scroll-fixed-size.ts diff --git a/src/cdk/scrolling/virtual-scroll-strategy.ts b/src/cdk-experimental/scrolling/virtual-scroll-strategy.ts similarity index 100% rename from src/cdk/scrolling/virtual-scroll-strategy.ts rename to src/cdk-experimental/scrolling/virtual-scroll-strategy.ts diff --git a/src/cdk/scrolling/virtual-scroll-viewport.html b/src/cdk-experimental/scrolling/virtual-scroll-viewport.html similarity index 100% rename from src/cdk/scrolling/virtual-scroll-viewport.html rename to src/cdk-experimental/scrolling/virtual-scroll-viewport.html diff --git a/src/cdk/scrolling/virtual-scroll-viewport.scss b/src/cdk-experimental/scrolling/virtual-scroll-viewport.scss similarity index 100% rename from src/cdk/scrolling/virtual-scroll-viewport.scss rename to src/cdk-experimental/scrolling/virtual-scroll-viewport.scss diff --git a/src/cdk/scrolling/virtual-scroll-viewport.ts b/src/cdk-experimental/scrolling/virtual-scroll-viewport.ts similarity index 100% rename from src/cdk/scrolling/virtual-scroll-viewport.ts rename to src/cdk-experimental/scrolling/virtual-scroll-viewport.ts diff --git a/src/cdk/scrolling/BUILD.bazel b/src/cdk/scrolling/BUILD.bazel index 42cd67bb3dde..d36de9bbc5ae 100644 --- a/src/cdk/scrolling/BUILD.bazel +++ b/src/cdk/scrolling/BUILD.bazel @@ -1,16 +1,12 @@ package(default_visibility=["//visibility:public"]) load("@angular//:index.bzl", "ng_module") load("@build_bazel_rules_typescript//:defs.bzl", "ts_library", "ts_web_test") -load("@io_bazel_rules_sass//sass:sass.bzl", "sass_binary") ng_module( name = "scrolling", srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), module_name = "@angular/cdk/scrolling", - assets = [ - ":virtual_scroll_viewport_css", - ], deps = [ "//src/cdk/collections", "//src/cdk/platform", @@ -44,18 +40,3 @@ ts_web_test( ":scrolling_test_sources", ], ) - -sass_binary( - name = "virtual_scroll_viewport_scss", - src = "virtual-scroll-viewport.scss", -) - -# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. -# Copy the output of the sass_binary such that the filename and path match what we expect. -genrule( - name = "virtual_scroll_viewport_css", - srcs = [":virtual_scroll_viewport_scss"], - outs = ["virtual-scroll-viewport.css"], - cmd = "cat $(locations :virtual_scroll_viewport_scss) > $@", -) - diff --git a/src/cdk/scrolling/public-api.ts b/src/cdk/scrolling/public-api.ts index 646c2bb47427..8cafb330c710 100644 --- a/src/cdk/scrolling/public-api.ts +++ b/src/cdk/scrolling/public-api.ts @@ -6,9 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -export * from './virtual-for-of'; export * from './scroll-dispatcher'; export * from './scrollable'; export * from './scrolling-module'; export * from './viewport-ruler'; -export * from './virtual-scroll-viewport'; diff --git a/src/cdk/scrolling/scrolling-module.ts b/src/cdk/scrolling/scrolling-module.ts index 67f4c588c85a..3afc1b1e8227 100644 --- a/src/cdk/scrolling/scrolling-module.ts +++ b/src/cdk/scrolling/scrolling-module.ts @@ -8,26 +8,13 @@ import {PlatformModule} from '@angular/cdk/platform'; import {NgModule} from '@angular/core'; -import {CdkVirtualForOf} from './virtual-for-of'; import {SCROLL_DISPATCHER_PROVIDER} from './scroll-dispatcher'; import {CdkScrollable} from './scrollable'; -import {CdkVirtualScrollFixedSize} from './virtual-scroll-fixed-size'; -import {CdkVirtualScrollViewport} from './virtual-scroll-viewport'; @NgModule({ imports: [PlatformModule], - exports: [ - CdkVirtualForOf, - CdkScrollable, - CdkVirtualScrollFixedSize, - CdkVirtualScrollViewport, - ], - declarations: [ - CdkVirtualForOf, - CdkScrollable, - CdkVirtualScrollFixedSize, - CdkVirtualScrollViewport, - ], + exports: [CdkScrollable], + declarations: [CdkScrollable], providers: [SCROLL_DISPATCHER_PROVIDER], }) export class ScrollDispatchModule {} diff --git a/src/cdk/scrolling/tsconfig-build.json b/src/cdk/scrolling/tsconfig-build.json index 9ca664bceac1..40c5aba7f877 100644 --- a/src/cdk/scrolling/tsconfig-build.json +++ b/src/cdk/scrolling/tsconfig-build.json @@ -1,8 +1,7 @@ { "extends": "../tsconfig-build", "files": [ - "public-api.ts", - "../typings.d.ts" + "public-api.ts" ], "angularCompilerOptions": { "annotateForClosureCompiler": true, diff --git a/src/demo-app/demo-material-module.ts b/src/demo-app/demo-material-module.ts index cec18c8cb6a1..c88b3b63c511 100644 --- a/src/demo-app/demo-material-module.ts +++ b/src/demo-app/demo-material-module.ts @@ -6,6 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ +import {ScrollingModule} from '@angular/cdk-experimental'; import {A11yModule} from '@angular/cdk/a11y'; import {CdkAccordionModule} from '@angular/cdk/accordion'; import {BidiModule} from '@angular/cdk/bidi'; @@ -101,6 +102,7 @@ import { OverlayModule, PlatformModule, PortalModule, + ScrollingModule, ] }) export class DemoMaterialModule {}