diff --git a/README.md b/README.md index c0f5454e7407..7273f7ce18ee 100644 --- a/README.md +++ b/README.md @@ -112,7 +112,7 @@ High level items planned for next few months: [16]: https://material.angular.io/components/component/slider [17]: https://material.angular.io/components/component/menu [18]: https://material.angular.io/components/component/tooltip -[19]: https://github.com/angular/material2/blob/master/src/lib/core/ripple/README.md +[19]: https://github.com/angular/material2/blob/master/src/material/core/ripple/README.md [20]: https://github.com/angular/material2/blob/master/guides/theming.md [21]: https://material.angular.io/components/component/snack-bar [22]: https://material.angular.io/components/component/dialog diff --git a/scripts/closure-compiler/build-devapp-bundle.sh b/scripts/closure-compiler/build-devapp-bundle.sh index a292742d526f..2670df103d39 100755 --- a/scripts/closure-compiler/build-devapp-bundle.sh +++ b/scripts/closure-compiler/build-devapp-bundle.sh @@ -39,7 +39,7 @@ OPTS=( # List of path prefixes to be removed from ES6 & CommonJS modules. "--js_module_root=dist/packages" - "--js_module_root=dist/release" + "--js_module_root=dist/releases/material" "--js_module_root=node_modules/@angular/core" "--js_module_root=node_modules/@angular/common" "--js_module_root=node_modules/@angular/compiler" @@ -57,7 +57,7 @@ OPTS=( "--debug" # Include the Material FESM bundle - dist/release/@angular/material.js + dist/releases/material/@angular/material.js # Include all Angular FESM bundles. node_modules/@angular/core/@angular/core.js diff --git a/scripts/release/publish-build-artifacts.sh b/scripts/release/publish-build-artifacts.sh index 5b508ad2cedd..3c6c96b44fe1 100755 --- a/scripts/release/publish-build-artifacts.sh +++ b/scripts/release/publish-build-artifacts.sh @@ -8,7 +8,7 @@ set -e -o pipefail # Go to the project root directory cd $(dirname $0)/../.. -buildDir="dist/release" +buildDir="dist/releases/material" buildVersion=$(sed -nE 's/^\s*"version": "(.*?)",$/\1/p' package.json) commitSha=$(git rev-parse --short HEAD) diff --git a/src/lib/README.md b/src/README.md similarity index 100% rename from src/lib/README.md rename to src/README.md diff --git a/src/examples/autocomplete-overview/autocomplete-overview-example.ts b/src/examples/autocomplete-overview/autocomplete-overview-example.ts index 7b28b28b998b..fc2ca560b463 100644 --- a/src/examples/autocomplete-overview/autocomplete-overview-example.ts +++ b/src/examples/autocomplete-overview/autocomplete-overview-example.ts @@ -1,6 +1,8 @@ import {Component} from '@angular/core'; import {FormControl} from '@angular/forms'; + import 'rxjs/add/operator/startWith'; +import 'rxjs/add/operator/map'; @Component({ selector: 'autocomplete-overview-example', diff --git a/src/examples/package.json b/src/examples/package.json new file mode 100644 index 000000000000..32ba85000ccc --- /dev/null +++ b/src/examples/package.json @@ -0,0 +1,29 @@ +{ + "name": "@angular/material-examples", + "version": "2.0.0-beta.3", + "description": "Angular Material", + "main": "./bundles/examples.umd.js", + "module": "./@angular/examples.es5.js", + "es2015": "./@angular/examples.js", + "typings": "./examples.d.ts", + "repository": { + "type": "git", + "url": "https://github.com/angular/material2.git" + }, + "keywords": [ + "angular", + "material", + "material design", + "components" + ], + "license": "MIT", + "bugs": { + "url": "https://github.com/angular/material2/issues" + }, + "homepage": "https://github.com/angular/material2#readme", + "peerDependencies": { + "@angular/core": "^4.0.0", + "@angular/common": "^4.0.0", + "@angular/http": "^4.0.0" + } +} diff --git a/src/examples/public_api.ts b/src/examples/public_api.ts new file mode 100644 index 000000000000..fb5467a485a3 --- /dev/null +++ b/src/examples/public_api.ts @@ -0,0 +1,2 @@ +export * from './example-data'; +export * from './example-module'; diff --git a/src/examples/tsconfig-build.json b/src/examples/tsconfig-build.json new file mode 100644 index 000000000000..00be20c52159 --- /dev/null +++ b/src/examples/tsconfig-build.json @@ -0,0 +1,34 @@ +// TypeScript config file that is used to compile the examples. Target environment needs to be +// ES2015 since the build process will create FESM bundles using rollup. +{ + "compilerOptions": { + "baseUrl": ".", + "declaration": true, + "stripInternal": false, + "experimentalDecorators": true, + "module": "es2015", + "moduleResolution": "node", + "outDir": "../../dist/packages/examples", + "paths": { + "@angular/material": [ + "../../dist/packages/material" + ] + }, + "rootDir": ".", + "sourceMap": true, + "inlineSources": true, + "target": "es2015", + "lib": ["es2015", "dom"], + "skipLibCheck": true, + "types": [] + }, + "files": [ + "public_api.ts" + ], + "angularCompilerOptions": { + "annotateForClosureCompiler": true, + "strictMetadataEmit": true, + "flatModuleOutFile": "index.js", + "skipTemplateCodegen": true + } +} diff --git a/src/lib/autocomplete/README.md b/src/material/autocomplete/README.md similarity index 100% rename from src/lib/autocomplete/README.md rename to src/material/autocomplete/README.md diff --git a/src/lib/autocomplete/_autocomplete-theme.scss b/src/material/autocomplete/_autocomplete-theme.scss similarity index 100% rename from src/lib/autocomplete/_autocomplete-theme.scss rename to src/material/autocomplete/_autocomplete-theme.scss diff --git a/src/lib/autocomplete/autocomplete-trigger.ts b/src/material/autocomplete/autocomplete-trigger.ts similarity index 100% rename from src/lib/autocomplete/autocomplete-trigger.ts rename to src/material/autocomplete/autocomplete-trigger.ts diff --git a/src/lib/autocomplete/autocomplete.html b/src/material/autocomplete/autocomplete.html similarity index 100% rename from src/lib/autocomplete/autocomplete.html rename to src/material/autocomplete/autocomplete.html diff --git a/src/lib/autocomplete/autocomplete.md b/src/material/autocomplete/autocomplete.md similarity index 100% rename from src/lib/autocomplete/autocomplete.md rename to src/material/autocomplete/autocomplete.md diff --git a/src/lib/autocomplete/autocomplete.scss b/src/material/autocomplete/autocomplete.scss similarity index 100% rename from src/lib/autocomplete/autocomplete.scss rename to src/material/autocomplete/autocomplete.scss diff --git a/src/lib/autocomplete/autocomplete.spec.ts b/src/material/autocomplete/autocomplete.spec.ts similarity index 100% rename from src/lib/autocomplete/autocomplete.spec.ts rename to src/material/autocomplete/autocomplete.spec.ts diff --git a/src/lib/autocomplete/autocomplete.ts b/src/material/autocomplete/autocomplete.ts similarity index 100% rename from src/lib/autocomplete/autocomplete.ts rename to src/material/autocomplete/autocomplete.ts diff --git a/src/lib/autocomplete/index.ts b/src/material/autocomplete/index.ts similarity index 100% rename from src/lib/autocomplete/index.ts rename to src/material/autocomplete/index.ts diff --git a/src/lib/button-toggle/README.md b/src/material/button-toggle/README.md similarity index 100% rename from src/lib/button-toggle/README.md rename to src/material/button-toggle/README.md diff --git a/src/lib/button-toggle/_button-toggle-theme.scss b/src/material/button-toggle/_button-toggle-theme.scss similarity index 100% rename from src/lib/button-toggle/_button-toggle-theme.scss rename to src/material/button-toggle/_button-toggle-theme.scss diff --git a/src/lib/button-toggle/button-toggle.html b/src/material/button-toggle/button-toggle.html similarity index 100% rename from src/lib/button-toggle/button-toggle.html rename to src/material/button-toggle/button-toggle.html diff --git a/src/lib/button-toggle/button-toggle.md b/src/material/button-toggle/button-toggle.md similarity index 100% rename from src/lib/button-toggle/button-toggle.md rename to src/material/button-toggle/button-toggle.md diff --git a/src/lib/button-toggle/button-toggle.scss b/src/material/button-toggle/button-toggle.scss similarity index 100% rename from src/lib/button-toggle/button-toggle.scss rename to src/material/button-toggle/button-toggle.scss diff --git a/src/lib/button-toggle/button-toggle.spec.ts b/src/material/button-toggle/button-toggle.spec.ts similarity index 100% rename from src/lib/button-toggle/button-toggle.spec.ts rename to src/material/button-toggle/button-toggle.spec.ts diff --git a/src/lib/button-toggle/button-toggle.ts b/src/material/button-toggle/button-toggle.ts similarity index 100% rename from src/lib/button-toggle/button-toggle.ts rename to src/material/button-toggle/button-toggle.ts diff --git a/src/lib/button-toggle/index.ts b/src/material/button-toggle/index.ts similarity index 100% rename from src/lib/button-toggle/index.ts rename to src/material/button-toggle/index.ts diff --git a/src/lib/button/README.md b/src/material/button/README.md similarity index 100% rename from src/lib/button/README.md rename to src/material/button/README.md diff --git a/src/lib/button/_button-base.scss b/src/material/button/_button-base.scss similarity index 100% rename from src/lib/button/_button-base.scss rename to src/material/button/_button-base.scss diff --git a/src/lib/button/_button-theme.scss b/src/material/button/_button-theme.scss similarity index 100% rename from src/lib/button/_button-theme.scss rename to src/material/button/_button-theme.scss diff --git a/src/lib/button/button.html b/src/material/button/button.html similarity index 100% rename from src/lib/button/button.html rename to src/material/button/button.html diff --git a/src/lib/button/button.md b/src/material/button/button.md similarity index 100% rename from src/lib/button/button.md rename to src/material/button/button.md diff --git a/src/lib/button/button.scss b/src/material/button/button.scss similarity index 100% rename from src/lib/button/button.scss rename to src/material/button/button.scss diff --git a/src/lib/button/button.spec.ts b/src/material/button/button.spec.ts similarity index 100% rename from src/lib/button/button.spec.ts rename to src/material/button/button.spec.ts diff --git a/src/lib/button/button.ts b/src/material/button/button.ts similarity index 100% rename from src/lib/button/button.ts rename to src/material/button/button.ts diff --git a/src/lib/button/index.ts b/src/material/button/index.ts similarity index 100% rename from src/lib/button/index.ts rename to src/material/button/index.ts diff --git a/src/lib/card/README.md b/src/material/card/README.md similarity index 100% rename from src/lib/card/README.md rename to src/material/card/README.md diff --git a/src/lib/card/_card-theme.scss b/src/material/card/_card-theme.scss similarity index 100% rename from src/lib/card/_card-theme.scss rename to src/material/card/_card-theme.scss diff --git a/src/lib/card/card-header.html b/src/material/card/card-header.html similarity index 100% rename from src/lib/card/card-header.html rename to src/material/card/card-header.html diff --git a/src/lib/card/card-title-group.html b/src/material/card/card-title-group.html similarity index 100% rename from src/lib/card/card-title-group.html rename to src/material/card/card-title-group.html diff --git a/src/lib/card/card.html b/src/material/card/card.html similarity index 100% rename from src/lib/card/card.html rename to src/material/card/card.html diff --git a/src/lib/card/card.md b/src/material/card/card.md similarity index 100% rename from src/lib/card/card.md rename to src/material/card/card.md diff --git a/src/lib/card/card.scss b/src/material/card/card.scss similarity index 100% rename from src/lib/card/card.scss rename to src/material/card/card.scss diff --git a/src/lib/card/card.ts b/src/material/card/card.ts similarity index 100% rename from src/lib/card/card.ts rename to src/material/card/card.ts diff --git a/src/lib/card/index.ts b/src/material/card/index.ts similarity index 100% rename from src/lib/card/index.ts rename to src/material/card/index.ts diff --git a/src/lib/checkbox/README.md b/src/material/checkbox/README.md similarity index 100% rename from src/lib/checkbox/README.md rename to src/material/checkbox/README.md diff --git a/src/lib/checkbox/_checkbox-theme.scss b/src/material/checkbox/_checkbox-theme.scss similarity index 100% rename from src/lib/checkbox/_checkbox-theme.scss rename to src/material/checkbox/_checkbox-theme.scss diff --git a/src/lib/checkbox/checkbox.html b/src/material/checkbox/checkbox.html similarity index 100% rename from src/lib/checkbox/checkbox.html rename to src/material/checkbox/checkbox.html diff --git a/src/lib/checkbox/checkbox.md b/src/material/checkbox/checkbox.md similarity index 100% rename from src/lib/checkbox/checkbox.md rename to src/material/checkbox/checkbox.md diff --git a/src/lib/checkbox/checkbox.scss b/src/material/checkbox/checkbox.scss similarity index 100% rename from src/lib/checkbox/checkbox.scss rename to src/material/checkbox/checkbox.scss diff --git a/src/lib/checkbox/checkbox.spec.ts b/src/material/checkbox/checkbox.spec.ts similarity index 100% rename from src/lib/checkbox/checkbox.spec.ts rename to src/material/checkbox/checkbox.spec.ts diff --git a/src/lib/checkbox/checkbox.ts b/src/material/checkbox/checkbox.ts similarity index 100% rename from src/lib/checkbox/checkbox.ts rename to src/material/checkbox/checkbox.ts diff --git a/src/lib/checkbox/index.ts b/src/material/checkbox/index.ts similarity index 100% rename from src/lib/checkbox/index.ts rename to src/material/checkbox/index.ts diff --git a/src/lib/chips/README.md b/src/material/chips/README.md similarity index 100% rename from src/lib/chips/README.md rename to src/material/chips/README.md diff --git a/src/lib/chips/_chips-theme.scss b/src/material/chips/_chips-theme.scss similarity index 100% rename from src/lib/chips/_chips-theme.scss rename to src/material/chips/_chips-theme.scss diff --git a/src/lib/chips/chip-list.spec.ts b/src/material/chips/chip-list.spec.ts similarity index 100% rename from src/lib/chips/chip-list.spec.ts rename to src/material/chips/chip-list.spec.ts diff --git a/src/lib/chips/chip-list.ts b/src/material/chips/chip-list.ts similarity index 100% rename from src/lib/chips/chip-list.ts rename to src/material/chips/chip-list.ts diff --git a/src/lib/chips/chip.spec.ts b/src/material/chips/chip.spec.ts similarity index 100% rename from src/lib/chips/chip.spec.ts rename to src/material/chips/chip.spec.ts diff --git a/src/lib/chips/chip.ts b/src/material/chips/chip.ts similarity index 100% rename from src/lib/chips/chip.ts rename to src/material/chips/chip.ts diff --git a/src/lib/chips/chips.md b/src/material/chips/chips.md similarity index 100% rename from src/lib/chips/chips.md rename to src/material/chips/chips.md diff --git a/src/lib/chips/chips.scss b/src/material/chips/chips.scss similarity index 100% rename from src/lib/chips/chips.scss rename to src/material/chips/chips.scss diff --git a/src/lib/chips/index.ts b/src/material/chips/index.ts similarity index 100% rename from src/lib/chips/index.ts rename to src/material/chips/index.ts diff --git a/src/lib/core.ts b/src/material/core.ts similarity index 100% rename from src/lib/core.ts rename to src/material/core.ts diff --git a/src/lib/core/README.md b/src/material/core/README.md similarity index 100% rename from src/lib/core/README.md rename to src/material/core/README.md diff --git a/src/lib/core/_core.scss b/src/material/core/_core.scss similarity index 100% rename from src/lib/core/_core.scss rename to src/material/core/_core.scss diff --git a/src/lib/core/a11y/README.md b/src/material/core/a11y/README.md similarity index 100% rename from src/lib/core/a11y/README.md rename to src/material/core/a11y/README.md diff --git a/src/lib/core/a11y/_a11y.scss b/src/material/core/a11y/_a11y.scss similarity index 100% rename from src/lib/core/a11y/_a11y.scss rename to src/material/core/a11y/_a11y.scss diff --git a/src/lib/core/a11y/activedescendant-key-manager.ts b/src/material/core/a11y/activedescendant-key-manager.ts similarity index 100% rename from src/lib/core/a11y/activedescendant-key-manager.ts rename to src/material/core/a11y/activedescendant-key-manager.ts diff --git a/src/lib/core/a11y/fake-mousedown.ts b/src/material/core/a11y/fake-mousedown.ts similarity index 100% rename from src/lib/core/a11y/fake-mousedown.ts rename to src/material/core/a11y/fake-mousedown.ts diff --git a/src/lib/core/a11y/focus-key-manager.ts b/src/material/core/a11y/focus-key-manager.ts similarity index 100% rename from src/lib/core/a11y/focus-key-manager.ts rename to src/material/core/a11y/focus-key-manager.ts diff --git a/src/lib/core/a11y/focus-trap.spec.ts b/src/material/core/a11y/focus-trap.spec.ts similarity index 100% rename from src/lib/core/a11y/focus-trap.spec.ts rename to src/material/core/a11y/focus-trap.spec.ts diff --git a/src/lib/core/a11y/focus-trap.ts b/src/material/core/a11y/focus-trap.ts similarity index 100% rename from src/lib/core/a11y/focus-trap.ts rename to src/material/core/a11y/focus-trap.ts diff --git a/src/lib/core/a11y/index.ts b/src/material/core/a11y/index.ts similarity index 100% rename from src/lib/core/a11y/index.ts rename to src/material/core/a11y/index.ts diff --git a/src/lib/core/a11y/interactivity-checker.spec.ts b/src/material/core/a11y/interactivity-checker.spec.ts similarity index 100% rename from src/lib/core/a11y/interactivity-checker.spec.ts rename to src/material/core/a11y/interactivity-checker.spec.ts diff --git a/src/lib/core/a11y/interactivity-checker.ts b/src/material/core/a11y/interactivity-checker.ts similarity index 100% rename from src/lib/core/a11y/interactivity-checker.ts rename to src/material/core/a11y/interactivity-checker.ts diff --git a/src/lib/core/a11y/list-key-manager.spec.ts b/src/material/core/a11y/list-key-manager.spec.ts similarity index 100% rename from src/lib/core/a11y/list-key-manager.spec.ts rename to src/material/core/a11y/list-key-manager.spec.ts diff --git a/src/lib/core/a11y/list-key-manager.ts b/src/material/core/a11y/list-key-manager.ts similarity index 100% rename from src/lib/core/a11y/list-key-manager.ts rename to src/material/core/a11y/list-key-manager.ts diff --git a/src/lib/core/a11y/live-announcer.spec.ts b/src/material/core/a11y/live-announcer.spec.ts similarity index 100% rename from src/lib/core/a11y/live-announcer.spec.ts rename to src/material/core/a11y/live-announcer.spec.ts diff --git a/src/lib/core/a11y/live-announcer.ts b/src/material/core/a11y/live-announcer.ts similarity index 100% rename from src/lib/core/a11y/live-announcer.ts rename to src/material/core/a11y/live-announcer.ts diff --git a/src/lib/core/animation/animation.ts b/src/material/core/animation/animation.ts similarity index 100% rename from src/lib/core/animation/animation.ts rename to src/material/core/animation/animation.ts diff --git a/src/lib/core/async/promise-completer.ts b/src/material/core/async/promise-completer.ts similarity index 100% rename from src/lib/core/async/promise-completer.ts rename to src/material/core/async/promise-completer.ts diff --git a/src/lib/core/coercion/boolean-property.spec.ts b/src/material/core/coercion/boolean-property.spec.ts similarity index 100% rename from src/lib/core/coercion/boolean-property.spec.ts rename to src/material/core/coercion/boolean-property.spec.ts diff --git a/src/lib/core/coercion/boolean-property.ts b/src/material/core/coercion/boolean-property.ts similarity index 100% rename from src/lib/core/coercion/boolean-property.ts rename to src/material/core/coercion/boolean-property.ts diff --git a/src/lib/core/coercion/number-property.spec.ts b/src/material/core/coercion/number-property.spec.ts similarity index 100% rename from src/lib/core/coercion/number-property.spec.ts rename to src/material/core/coercion/number-property.spec.ts diff --git a/src/lib/core/coercion/number-property.ts b/src/material/core/coercion/number-property.ts similarity index 100% rename from src/lib/core/coercion/number-property.ts rename to src/material/core/coercion/number-property.ts diff --git a/src/lib/core/compatibility/compatibility.spec.ts b/src/material/core/compatibility/compatibility.spec.ts similarity index 100% rename from src/lib/core/compatibility/compatibility.spec.ts rename to src/material/core/compatibility/compatibility.spec.ts diff --git a/src/lib/core/compatibility/compatibility.ts b/src/material/core/compatibility/compatibility.ts similarity index 100% rename from src/lib/core/compatibility/compatibility.ts rename to src/material/core/compatibility/compatibility.ts diff --git a/src/lib/core/coordination/unique-selection-dispatcher.ts b/src/material/core/coordination/unique-selection-dispatcher.ts similarity index 100% rename from src/lib/core/coordination/unique-selection-dispatcher.ts rename to src/material/core/coordination/unique-selection-dispatcher.ts diff --git a/src/lib/core/core.ts b/src/material/core/core.ts similarity index 100% rename from src/lib/core/core.ts rename to src/material/core/core.ts diff --git a/src/lib/core/errors/error.ts b/src/material/core/errors/error.ts similarity index 100% rename from src/lib/core/errors/error.ts rename to src/material/core/errors/error.ts diff --git a/src/lib/core/gestures/gesture-annotations.ts b/src/material/core/gestures/gesture-annotations.ts similarity index 100% rename from src/lib/core/gestures/gesture-annotations.ts rename to src/material/core/gestures/gesture-annotations.ts diff --git a/src/lib/core/gestures/gesture-config.ts b/src/material/core/gestures/gesture-config.ts similarity index 100% rename from src/lib/core/gestures/gesture-config.ts rename to src/material/core/gestures/gesture-config.ts diff --git a/src/lib/core/index.ts b/src/material/core/index.ts similarity index 100% rename from src/lib/core/index.ts rename to src/material/core/index.ts diff --git a/src/lib/core/keyboard/keycodes.ts b/src/material/core/keyboard/keycodes.ts similarity index 100% rename from src/lib/core/keyboard/keycodes.ts rename to src/material/core/keyboard/keycodes.ts diff --git a/src/lib/core/line/line.ts b/src/material/core/line/line.ts similarity index 100% rename from src/lib/core/line/line.ts rename to src/material/core/line/line.ts diff --git a/src/lib/core/observe-content/observe-content.spec.ts b/src/material/core/observe-content/observe-content.spec.ts similarity index 100% rename from src/lib/core/observe-content/observe-content.spec.ts rename to src/material/core/observe-content/observe-content.spec.ts diff --git a/src/lib/core/observe-content/observe-content.ts b/src/material/core/observe-content/observe-content.ts similarity index 100% rename from src/lib/core/observe-content/observe-content.ts rename to src/material/core/observe-content/observe-content.ts diff --git a/src/lib/core/option/_option-theme.scss b/src/material/core/option/_option-theme.scss similarity index 100% rename from src/lib/core/option/_option-theme.scss rename to src/material/core/option/_option-theme.scss diff --git a/src/lib/core/option/_option.scss b/src/material/core/option/_option.scss similarity index 100% rename from src/lib/core/option/_option.scss rename to src/material/core/option/_option.scss diff --git a/src/lib/core/option/option.html b/src/material/core/option/option.html similarity index 100% rename from src/lib/core/option/option.html rename to src/material/core/option/option.html diff --git a/src/lib/core/option/option.ts b/src/material/core/option/option.ts similarity index 100% rename from src/lib/core/option/option.ts rename to src/material/core/option/option.ts diff --git a/src/lib/core/overlay/_overlay.scss b/src/material/core/overlay/_overlay.scss similarity index 100% rename from src/lib/core/overlay/_overlay.scss rename to src/material/core/overlay/_overlay.scss diff --git a/src/lib/core/overlay/fullscreen-overlay-container.ts b/src/material/core/overlay/fullscreen-overlay-container.ts similarity index 100% rename from src/lib/core/overlay/fullscreen-overlay-container.ts rename to src/material/core/overlay/fullscreen-overlay-container.ts diff --git a/src/lib/core/overlay/generic-component-type.ts b/src/material/core/overlay/generic-component-type.ts similarity index 100% rename from src/lib/core/overlay/generic-component-type.ts rename to src/material/core/overlay/generic-component-type.ts diff --git a/src/lib/core/overlay/overlay-container.ts b/src/material/core/overlay/overlay-container.ts similarity index 100% rename from src/lib/core/overlay/overlay-container.ts rename to src/material/core/overlay/overlay-container.ts diff --git a/src/lib/core/overlay/overlay-directives.spec.ts b/src/material/core/overlay/overlay-directives.spec.ts similarity index 100% rename from src/lib/core/overlay/overlay-directives.spec.ts rename to src/material/core/overlay/overlay-directives.spec.ts diff --git a/src/lib/core/overlay/overlay-directives.ts b/src/material/core/overlay/overlay-directives.ts similarity index 100% rename from src/lib/core/overlay/overlay-directives.ts rename to src/material/core/overlay/overlay-directives.ts diff --git a/src/lib/core/overlay/overlay-ref.ts b/src/material/core/overlay/overlay-ref.ts similarity index 100% rename from src/lib/core/overlay/overlay-ref.ts rename to src/material/core/overlay/overlay-ref.ts diff --git a/src/lib/core/overlay/overlay-state.ts b/src/material/core/overlay/overlay-state.ts similarity index 100% rename from src/lib/core/overlay/overlay-state.ts rename to src/material/core/overlay/overlay-state.ts diff --git a/src/lib/core/overlay/overlay.spec.ts b/src/material/core/overlay/overlay.spec.ts similarity index 100% rename from src/lib/core/overlay/overlay.spec.ts rename to src/material/core/overlay/overlay.spec.ts diff --git a/src/lib/core/overlay/overlay.ts b/src/material/core/overlay/overlay.ts similarity index 100% rename from src/lib/core/overlay/overlay.ts rename to src/material/core/overlay/overlay.ts diff --git a/src/lib/core/overlay/position/connected-position-strategy.spec.ts b/src/material/core/overlay/position/connected-position-strategy.spec.ts similarity index 100% rename from src/lib/core/overlay/position/connected-position-strategy.spec.ts rename to src/material/core/overlay/position/connected-position-strategy.spec.ts diff --git a/src/lib/core/overlay/position/connected-position-strategy.ts b/src/material/core/overlay/position/connected-position-strategy.ts similarity index 100% rename from src/lib/core/overlay/position/connected-position-strategy.ts rename to src/material/core/overlay/position/connected-position-strategy.ts diff --git a/src/lib/core/overlay/position/connected-position.ts b/src/material/core/overlay/position/connected-position.ts similarity index 100% rename from src/lib/core/overlay/position/connected-position.ts rename to src/material/core/overlay/position/connected-position.ts diff --git a/src/lib/core/overlay/position/fake-viewport-ruler.ts b/src/material/core/overlay/position/fake-viewport-ruler.ts similarity index 100% rename from src/lib/core/overlay/position/fake-viewport-ruler.ts rename to src/material/core/overlay/position/fake-viewport-ruler.ts diff --git a/src/lib/core/overlay/position/global-position-strategy.spec.ts b/src/material/core/overlay/position/global-position-strategy.spec.ts similarity index 100% rename from src/lib/core/overlay/position/global-position-strategy.spec.ts rename to src/material/core/overlay/position/global-position-strategy.spec.ts diff --git a/src/lib/core/overlay/position/global-position-strategy.ts b/src/material/core/overlay/position/global-position-strategy.ts similarity index 100% rename from src/lib/core/overlay/position/global-position-strategy.ts rename to src/material/core/overlay/position/global-position-strategy.ts diff --git a/src/lib/core/overlay/position/overlay-position-builder.ts b/src/material/core/overlay/position/overlay-position-builder.ts similarity index 100% rename from src/lib/core/overlay/position/overlay-position-builder.ts rename to src/material/core/overlay/position/overlay-position-builder.ts diff --git a/src/lib/core/overlay/position/position-strategy.ts b/src/material/core/overlay/position/position-strategy.ts similarity index 100% rename from src/lib/core/overlay/position/position-strategy.ts rename to src/material/core/overlay/position/position-strategy.ts diff --git a/src/lib/core/overlay/position/relative-position-strategy.ts b/src/material/core/overlay/position/relative-position-strategy.ts similarity index 100% rename from src/lib/core/overlay/position/relative-position-strategy.ts rename to src/material/core/overlay/position/relative-position-strategy.ts diff --git a/src/lib/core/overlay/position/viewport-ruler.spec.ts b/src/material/core/overlay/position/viewport-ruler.spec.ts similarity index 100% rename from src/lib/core/overlay/position/viewport-ruler.spec.ts rename to src/material/core/overlay/position/viewport-ruler.spec.ts diff --git a/src/lib/core/overlay/position/viewport-ruler.ts b/src/material/core/overlay/position/viewport-ruler.ts similarity index 100% rename from src/lib/core/overlay/position/viewport-ruler.ts rename to src/material/core/overlay/position/viewport-ruler.ts diff --git a/src/lib/core/overlay/scroll/scroll-dispatcher.spec.ts b/src/material/core/overlay/scroll/scroll-dispatcher.spec.ts similarity index 100% rename from src/lib/core/overlay/scroll/scroll-dispatcher.spec.ts rename to src/material/core/overlay/scroll/scroll-dispatcher.spec.ts diff --git a/src/lib/core/overlay/scroll/scroll-dispatcher.ts b/src/material/core/overlay/scroll/scroll-dispatcher.ts similarity index 100% rename from src/lib/core/overlay/scroll/scroll-dispatcher.ts rename to src/material/core/overlay/scroll/scroll-dispatcher.ts diff --git a/src/lib/core/overlay/scroll/scrollable.ts b/src/material/core/overlay/scroll/scrollable.ts similarity index 100% rename from src/lib/core/overlay/scroll/scrollable.ts rename to src/material/core/overlay/scroll/scrollable.ts diff --git a/src/lib/core/platform/features.ts b/src/material/core/platform/features.ts similarity index 100% rename from src/lib/core/platform/features.ts rename to src/material/core/platform/features.ts diff --git a/src/lib/core/platform/index.ts b/src/material/core/platform/index.ts similarity index 100% rename from src/lib/core/platform/index.ts rename to src/material/core/platform/index.ts diff --git a/src/lib/core/platform/platform.ts b/src/material/core/platform/platform.ts similarity index 100% rename from src/lib/core/platform/platform.ts rename to src/material/core/platform/platform.ts diff --git a/src/lib/core/portal/README.md b/src/material/core/portal/README.md similarity index 100% rename from src/lib/core/portal/README.md rename to src/material/core/portal/README.md diff --git a/src/lib/core/portal/dom-portal-host.ts b/src/material/core/portal/dom-portal-host.ts similarity index 100% rename from src/lib/core/portal/dom-portal-host.ts rename to src/material/core/portal/dom-portal-host.ts diff --git a/src/lib/core/portal/portal-directives.ts b/src/material/core/portal/portal-directives.ts similarity index 100% rename from src/lib/core/portal/portal-directives.ts rename to src/material/core/portal/portal-directives.ts diff --git a/src/lib/core/portal/portal-errors.ts b/src/material/core/portal/portal-errors.ts similarity index 100% rename from src/lib/core/portal/portal-errors.ts rename to src/material/core/portal/portal-errors.ts diff --git a/src/lib/core/portal/portal.spec.ts b/src/material/core/portal/portal.spec.ts similarity index 100% rename from src/lib/core/portal/portal.spec.ts rename to src/material/core/portal/portal.spec.ts diff --git a/src/lib/core/portal/portal.ts b/src/material/core/portal/portal.ts similarity index 100% rename from src/lib/core/portal/portal.ts rename to src/material/core/portal/portal.ts diff --git a/src/lib/core/ripple/README.md b/src/material/core/ripple/README.md similarity index 100% rename from src/lib/core/ripple/README.md rename to src/material/core/ripple/README.md diff --git a/src/lib/core/ripple/_ripple.scss b/src/material/core/ripple/_ripple.scss similarity index 100% rename from src/lib/core/ripple/_ripple.scss rename to src/material/core/ripple/_ripple.scss diff --git a/src/lib/core/ripple/index.ts b/src/material/core/ripple/index.ts similarity index 100% rename from src/lib/core/ripple/index.ts rename to src/material/core/ripple/index.ts diff --git a/src/lib/core/ripple/ripple-ref.ts b/src/material/core/ripple/ripple-ref.ts similarity index 100% rename from src/lib/core/ripple/ripple-ref.ts rename to src/material/core/ripple/ripple-ref.ts diff --git a/src/lib/core/ripple/ripple-renderer.ts b/src/material/core/ripple/ripple-renderer.ts similarity index 100% rename from src/lib/core/ripple/ripple-renderer.ts rename to src/material/core/ripple/ripple-renderer.ts diff --git a/src/lib/core/ripple/ripple.spec.ts b/src/material/core/ripple/ripple.spec.ts similarity index 100% rename from src/lib/core/ripple/ripple.spec.ts rename to src/material/core/ripple/ripple.spec.ts diff --git a/src/lib/core/ripple/ripple.ts b/src/material/core/ripple/ripple.ts similarity index 100% rename from src/lib/core/ripple/ripple.ts rename to src/material/core/ripple/ripple.ts diff --git a/src/lib/core/rtl/dir.ts b/src/material/core/rtl/dir.ts similarity index 100% rename from src/lib/core/rtl/dir.ts rename to src/material/core/rtl/dir.ts diff --git a/src/lib/core/selection/index.ts b/src/material/core/selection/index.ts similarity index 100% rename from src/lib/core/selection/index.ts rename to src/material/core/selection/index.ts diff --git a/src/lib/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss b/src/material/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss similarity index 100% rename from src/lib/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss rename to src/material/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss diff --git a/src/lib/core/selection/pseudo-checkbox/pseudo-checkbox.scss b/src/material/core/selection/pseudo-checkbox/pseudo-checkbox.scss similarity index 100% rename from src/lib/core/selection/pseudo-checkbox/pseudo-checkbox.scss rename to src/material/core/selection/pseudo-checkbox/pseudo-checkbox.scss diff --git a/src/lib/core/selection/pseudo-checkbox/pseudo-checkbox.ts b/src/material/core/selection/pseudo-checkbox/pseudo-checkbox.ts similarity index 100% rename from src/lib/core/selection/pseudo-checkbox/pseudo-checkbox.ts rename to src/material/core/selection/pseudo-checkbox/pseudo-checkbox.ts diff --git a/src/lib/core/selection/selection.spec.ts b/src/material/core/selection/selection.spec.ts similarity index 100% rename from src/lib/core/selection/selection.spec.ts rename to src/material/core/selection/selection.spec.ts diff --git a/src/lib/core/selection/selection.ts b/src/material/core/selection/selection.ts similarity index 100% rename from src/lib/core/selection/selection.ts rename to src/material/core/selection/selection.ts diff --git a/src/lib/core/style/_button-common.scss b/src/material/core/style/_button-common.scss similarity index 100% rename from src/lib/core/style/_button-common.scss rename to src/material/core/style/_button-common.scss diff --git a/src/lib/core/style/_checkbox-common.scss b/src/material/core/style/_checkbox-common.scss similarity index 100% rename from src/lib/core/style/_checkbox-common.scss rename to src/material/core/style/_checkbox-common.scss diff --git a/src/lib/core/style/_elevation.scss b/src/material/core/style/_elevation.scss similarity index 100% rename from src/lib/core/style/_elevation.scss rename to src/material/core/style/_elevation.scss diff --git a/src/lib/core/style/_form-common.scss b/src/material/core/style/_form-common.scss similarity index 100% rename from src/lib/core/style/_form-common.scss rename to src/material/core/style/_form-common.scss diff --git a/src/lib/core/style/_layout-common.scss b/src/material/core/style/_layout-common.scss similarity index 100% rename from src/lib/core/style/_layout-common.scss rename to src/material/core/style/_layout-common.scss diff --git a/src/lib/core/style/_list-common.scss b/src/material/core/style/_list-common.scss similarity index 100% rename from src/lib/core/style/_list-common.scss rename to src/material/core/style/_list-common.scss diff --git a/src/lib/core/style/_menu-common.scss b/src/material/core/style/_menu-common.scss similarity index 100% rename from src/lib/core/style/_menu-common.scss rename to src/material/core/style/_menu-common.scss diff --git a/src/lib/core/style/_variables.scss b/src/material/core/style/_variables.scss similarity index 100% rename from src/lib/core/style/_variables.scss rename to src/material/core/style/_variables.scss diff --git a/src/lib/core/style/_vendor-prefixes.scss b/src/material/core/style/_vendor-prefixes.scss similarity index 100% rename from src/lib/core/style/_vendor-prefixes.scss rename to src/material/core/style/_vendor-prefixes.scss diff --git a/src/lib/core/style/apply-transform.ts b/src/material/core/style/apply-transform.ts similarity index 100% rename from src/lib/core/style/apply-transform.ts rename to src/material/core/style/apply-transform.ts diff --git a/src/lib/core/style/focus-origin-monitor.spec.ts b/src/material/core/style/focus-origin-monitor.spec.ts similarity index 100% rename from src/lib/core/style/focus-origin-monitor.spec.ts rename to src/material/core/style/focus-origin-monitor.spec.ts diff --git a/src/lib/core/style/focus-origin-monitor.ts b/src/material/core/style/focus-origin-monitor.ts similarity index 100% rename from src/lib/core/style/focus-origin-monitor.ts rename to src/material/core/style/focus-origin-monitor.ts diff --git a/src/lib/core/style/index.ts b/src/material/core/style/index.ts similarity index 100% rename from src/lib/core/style/index.ts rename to src/material/core/style/index.ts diff --git a/src/lib/core/testing/dispatch-events.ts b/src/material/core/testing/dispatch-events.ts similarity index 100% rename from src/lib/core/testing/dispatch-events.ts rename to src/material/core/testing/dispatch-events.ts diff --git a/src/lib/core/testing/event-objects.ts b/src/material/core/testing/event-objects.ts similarity index 100% rename from src/lib/core/testing/event-objects.ts rename to src/material/core/testing/event-objects.ts diff --git a/src/lib/core/testing/type-in-element.ts b/src/material/core/testing/type-in-element.ts similarity index 100% rename from src/lib/core/testing/type-in-element.ts rename to src/material/core/testing/type-in-element.ts diff --git a/src/lib/core/testing/wrapped-error-message.ts b/src/material/core/testing/wrapped-error-message.ts similarity index 100% rename from src/lib/core/testing/wrapped-error-message.ts rename to src/material/core/testing/wrapped-error-message.ts diff --git a/src/lib/core/theming/_all-theme.scss b/src/material/core/theming/_all-theme.scss similarity index 100% rename from src/lib/core/theming/_all-theme.scss rename to src/material/core/theming/_all-theme.scss diff --git a/src/lib/core/theming/_palette.scss b/src/material/core/theming/_palette.scss similarity index 100% rename from src/lib/core/theming/_palette.scss rename to src/material/core/theming/_palette.scss diff --git a/src/lib/core/theming/_theming.scss b/src/material/core/theming/_theming.scss similarity index 100% rename from src/lib/core/theming/_theming.scss rename to src/material/core/theming/_theming.scss diff --git a/src/lib/core/theming/prebuilt/deeppurple-amber.scss b/src/material/core/theming/prebuilt/deeppurple-amber.scss similarity index 100% rename from src/lib/core/theming/prebuilt/deeppurple-amber.scss rename to src/material/core/theming/prebuilt/deeppurple-amber.scss diff --git a/src/lib/core/theming/prebuilt/indigo-pink.scss b/src/material/core/theming/prebuilt/indigo-pink.scss similarity index 100% rename from src/lib/core/theming/prebuilt/indigo-pink.scss rename to src/material/core/theming/prebuilt/indigo-pink.scss diff --git a/src/lib/core/theming/prebuilt/pink-bluegrey.scss b/src/material/core/theming/prebuilt/pink-bluegrey.scss similarity index 100% rename from src/lib/core/theming/prebuilt/pink-bluegrey.scss rename to src/material/core/theming/prebuilt/pink-bluegrey.scss diff --git a/src/lib/core/theming/prebuilt/purple-green.scss b/src/material/core/theming/prebuilt/purple-green.scss similarity index 100% rename from src/lib/core/theming/prebuilt/purple-green.scss rename to src/material/core/theming/prebuilt/purple-green.scss diff --git a/src/lib/core/typography/_typography.scss b/src/material/core/typography/_typography.scss similarity index 100% rename from src/lib/core/typography/_typography.scss rename to src/material/core/typography/_typography.scss diff --git a/src/lib/core/util/object-extend.spec.ts b/src/material/core/util/object-extend.spec.ts similarity index 100% rename from src/lib/core/util/object-extend.spec.ts rename to src/material/core/util/object-extend.spec.ts diff --git a/src/lib/core/util/object-extend.ts b/src/material/core/util/object-extend.ts similarity index 100% rename from src/lib/core/util/object-extend.ts rename to src/material/core/util/object-extend.ts diff --git a/src/lib/dialog/README.md b/src/material/dialog/README.md similarity index 100% rename from src/lib/dialog/README.md rename to src/material/dialog/README.md diff --git a/src/lib/dialog/_dialog-theme.scss b/src/material/dialog/_dialog-theme.scss similarity index 100% rename from src/lib/dialog/_dialog-theme.scss rename to src/material/dialog/_dialog-theme.scss diff --git a/src/lib/dialog/dialog-config.ts b/src/material/dialog/dialog-config.ts similarity index 100% rename from src/lib/dialog/dialog-config.ts rename to src/material/dialog/dialog-config.ts diff --git a/src/lib/dialog/dialog-container.html b/src/material/dialog/dialog-container.html similarity index 100% rename from src/lib/dialog/dialog-container.html rename to src/material/dialog/dialog-container.html diff --git a/src/lib/dialog/dialog-container.ts b/src/material/dialog/dialog-container.ts similarity index 100% rename from src/lib/dialog/dialog-container.ts rename to src/material/dialog/dialog-container.ts diff --git a/src/lib/dialog/dialog-content-directives.ts b/src/material/dialog/dialog-content-directives.ts similarity index 100% rename from src/lib/dialog/dialog-content-directives.ts rename to src/material/dialog/dialog-content-directives.ts diff --git a/src/lib/dialog/dialog-errors.ts b/src/material/dialog/dialog-errors.ts similarity index 100% rename from src/lib/dialog/dialog-errors.ts rename to src/material/dialog/dialog-errors.ts diff --git a/src/lib/dialog/dialog-injector.ts b/src/material/dialog/dialog-injector.ts similarity index 100% rename from src/lib/dialog/dialog-injector.ts rename to src/material/dialog/dialog-injector.ts diff --git a/src/lib/dialog/dialog-ref.ts b/src/material/dialog/dialog-ref.ts similarity index 100% rename from src/lib/dialog/dialog-ref.ts rename to src/material/dialog/dialog-ref.ts diff --git a/src/lib/dialog/dialog.md b/src/material/dialog/dialog.md similarity index 100% rename from src/lib/dialog/dialog.md rename to src/material/dialog/dialog.md diff --git a/src/lib/dialog/dialog.scss b/src/material/dialog/dialog.scss similarity index 100% rename from src/lib/dialog/dialog.scss rename to src/material/dialog/dialog.scss diff --git a/src/lib/dialog/dialog.spec.ts b/src/material/dialog/dialog.spec.ts similarity index 100% rename from src/lib/dialog/dialog.spec.ts rename to src/material/dialog/dialog.spec.ts diff --git a/src/lib/dialog/dialog.ts b/src/material/dialog/dialog.ts similarity index 100% rename from src/lib/dialog/dialog.ts rename to src/material/dialog/dialog.ts diff --git a/src/lib/dialog/index.ts b/src/material/dialog/index.ts similarity index 100% rename from src/lib/dialog/index.ts rename to src/material/dialog/index.ts diff --git a/src/lib/grid-list/README.md b/src/material/grid-list/README.md similarity index 100% rename from src/lib/grid-list/README.md rename to src/material/grid-list/README.md diff --git a/src/lib/grid-list/_grid-list-theme.scss b/src/material/grid-list/_grid-list-theme.scss similarity index 100% rename from src/lib/grid-list/_grid-list-theme.scss rename to src/material/grid-list/_grid-list-theme.scss diff --git a/src/lib/grid-list/grid-list-errors.ts b/src/material/grid-list/grid-list-errors.ts similarity index 100% rename from src/lib/grid-list/grid-list-errors.ts rename to src/material/grid-list/grid-list-errors.ts diff --git a/src/lib/grid-list/grid-list-measure.ts b/src/material/grid-list/grid-list-measure.ts similarity index 100% rename from src/lib/grid-list/grid-list-measure.ts rename to src/material/grid-list/grid-list-measure.ts diff --git a/src/lib/grid-list/grid-list.html b/src/material/grid-list/grid-list.html similarity index 100% rename from src/lib/grid-list/grid-list.html rename to src/material/grid-list/grid-list.html diff --git a/src/lib/grid-list/grid-list.md b/src/material/grid-list/grid-list.md similarity index 100% rename from src/lib/grid-list/grid-list.md rename to src/material/grid-list/grid-list.md diff --git a/src/lib/grid-list/grid-list.scss b/src/material/grid-list/grid-list.scss similarity index 100% rename from src/lib/grid-list/grid-list.scss rename to src/material/grid-list/grid-list.scss diff --git a/src/lib/grid-list/grid-list.spec.ts b/src/material/grid-list/grid-list.spec.ts similarity index 100% rename from src/lib/grid-list/grid-list.spec.ts rename to src/material/grid-list/grid-list.spec.ts diff --git a/src/lib/grid-list/grid-list.ts b/src/material/grid-list/grid-list.ts similarity index 100% rename from src/lib/grid-list/grid-list.ts rename to src/material/grid-list/grid-list.ts diff --git a/src/lib/grid-list/grid-tile-text.html b/src/material/grid-list/grid-tile-text.html similarity index 100% rename from src/lib/grid-list/grid-tile-text.html rename to src/material/grid-list/grid-tile-text.html diff --git a/src/lib/grid-list/grid-tile.html b/src/material/grid-list/grid-tile.html similarity index 100% rename from src/lib/grid-list/grid-tile.html rename to src/material/grid-list/grid-tile.html diff --git a/src/lib/grid-list/grid-tile.ts b/src/material/grid-list/grid-tile.ts similarity index 100% rename from src/lib/grid-list/grid-tile.ts rename to src/material/grid-list/grid-tile.ts diff --git a/src/lib/grid-list/index.ts b/src/material/grid-list/index.ts similarity index 100% rename from src/lib/grid-list/index.ts rename to src/material/grid-list/index.ts diff --git a/src/lib/grid-list/tile-coordinator.ts b/src/material/grid-list/tile-coordinator.ts similarity index 100% rename from src/lib/grid-list/tile-coordinator.ts rename to src/material/grid-list/tile-coordinator.ts diff --git a/src/lib/grid-list/tile-styler.ts b/src/material/grid-list/tile-styler.ts similarity index 100% rename from src/lib/grid-list/tile-styler.ts rename to src/material/grid-list/tile-styler.ts diff --git a/src/lib/icon/README.md b/src/material/icon/README.md similarity index 100% rename from src/lib/icon/README.md rename to src/material/icon/README.md diff --git a/src/lib/icon/_icon-theme.scss b/src/material/icon/_icon-theme.scss similarity index 100% rename from src/lib/icon/_icon-theme.scss rename to src/material/icon/_icon-theme.scss diff --git a/src/lib/icon/fake-svgs.ts b/src/material/icon/fake-svgs.ts similarity index 100% rename from src/lib/icon/fake-svgs.ts rename to src/material/icon/fake-svgs.ts diff --git a/src/lib/icon/icon-registry.ts b/src/material/icon/icon-registry.ts similarity index 100% rename from src/lib/icon/icon-registry.ts rename to src/material/icon/icon-registry.ts diff --git a/src/lib/icon/icon.md b/src/material/icon/icon.md similarity index 100% rename from src/lib/icon/icon.md rename to src/material/icon/icon.md diff --git a/src/lib/icon/icon.scss b/src/material/icon/icon.scss similarity index 100% rename from src/lib/icon/icon.scss rename to src/material/icon/icon.scss diff --git a/src/lib/icon/icon.spec.ts b/src/material/icon/icon.spec.ts similarity index 100% rename from src/lib/icon/icon.spec.ts rename to src/material/icon/icon.spec.ts diff --git a/src/lib/icon/icon.ts b/src/material/icon/icon.ts similarity index 100% rename from src/lib/icon/icon.ts rename to src/material/icon/icon.ts diff --git a/src/lib/icon/index.ts b/src/material/icon/index.ts similarity index 100% rename from src/lib/icon/index.ts rename to src/material/icon/index.ts diff --git a/src/lib/input/README.md b/src/material/input/README.md similarity index 100% rename from src/lib/input/README.md rename to src/material/input/README.md diff --git a/src/lib/input/_input-theme.scss b/src/material/input/_input-theme.scss similarity index 100% rename from src/lib/input/_input-theme.scss rename to src/material/input/_input-theme.scss diff --git a/src/lib/input/autosize.spec.ts b/src/material/input/autosize.spec.ts similarity index 100% rename from src/lib/input/autosize.spec.ts rename to src/material/input/autosize.spec.ts diff --git a/src/lib/input/autosize.ts b/src/material/input/autosize.ts similarity index 100% rename from src/lib/input/autosize.ts rename to src/material/input/autosize.ts diff --git a/src/lib/input/index.ts b/src/material/input/index.ts similarity index 100% rename from src/lib/input/index.ts rename to src/material/input/index.ts diff --git a/src/lib/input/input-container-errors.ts b/src/material/input/input-container-errors.ts similarity index 100% rename from src/lib/input/input-container-errors.ts rename to src/material/input/input-container-errors.ts diff --git a/src/lib/input/input-container.html b/src/material/input/input-container.html similarity index 100% rename from src/lib/input/input-container.html rename to src/material/input/input-container.html diff --git a/src/lib/input/input-container.scss b/src/material/input/input-container.scss similarity index 100% rename from src/lib/input/input-container.scss rename to src/material/input/input-container.scss diff --git a/src/lib/input/input-container.spec.ts b/src/material/input/input-container.spec.ts similarity index 100% rename from src/lib/input/input-container.spec.ts rename to src/material/input/input-container.spec.ts diff --git a/src/lib/input/input-container.ts b/src/material/input/input-container.ts similarity index 100% rename from src/lib/input/input-container.ts rename to src/material/input/input-container.ts diff --git a/src/lib/input/input.md b/src/material/input/input.md similarity index 100% rename from src/lib/input/input.md rename to src/material/input/input.md diff --git a/src/lib/list/README.md b/src/material/list/README.md similarity index 100% rename from src/lib/list/README.md rename to src/material/list/README.md diff --git a/src/lib/list/_list-theme.scss b/src/material/list/_list-theme.scss similarity index 100% rename from src/lib/list/_list-theme.scss rename to src/material/list/_list-theme.scss diff --git a/src/lib/list/index.ts b/src/material/list/index.ts similarity index 100% rename from src/lib/list/index.ts rename to src/material/list/index.ts diff --git a/src/lib/list/list-item.html b/src/material/list/list-item.html similarity index 100% rename from src/lib/list/list-item.html rename to src/material/list/list-item.html diff --git a/src/lib/list/list.md b/src/material/list/list.md similarity index 100% rename from src/lib/list/list.md rename to src/material/list/list.md diff --git a/src/lib/list/list.scss b/src/material/list/list.scss similarity index 100% rename from src/lib/list/list.scss rename to src/material/list/list.scss diff --git a/src/lib/list/list.spec.ts b/src/material/list/list.spec.ts similarity index 100% rename from src/lib/list/list.spec.ts rename to src/material/list/list.spec.ts diff --git a/src/lib/list/list.ts b/src/material/list/list.ts similarity index 100% rename from src/lib/list/list.ts rename to src/material/list/list.ts diff --git a/src/lib/menu/README.md b/src/material/menu/README.md similarity index 100% rename from src/lib/menu/README.md rename to src/material/menu/README.md diff --git a/src/lib/menu/_menu-theme.scss b/src/material/menu/_menu-theme.scss similarity index 100% rename from src/lib/menu/_menu-theme.scss rename to src/material/menu/_menu-theme.scss diff --git a/src/lib/menu/index.ts b/src/material/menu/index.ts similarity index 100% rename from src/lib/menu/index.ts rename to src/material/menu/index.ts diff --git a/src/lib/menu/menu-animations.ts b/src/material/menu/menu-animations.ts similarity index 100% rename from src/lib/menu/menu-animations.ts rename to src/material/menu/menu-animations.ts diff --git a/src/lib/menu/menu-directive.ts b/src/material/menu/menu-directive.ts similarity index 100% rename from src/lib/menu/menu-directive.ts rename to src/material/menu/menu-directive.ts diff --git a/src/lib/menu/menu-errors.ts b/src/material/menu/menu-errors.ts similarity index 100% rename from src/lib/menu/menu-errors.ts rename to src/material/menu/menu-errors.ts diff --git a/src/lib/menu/menu-item.html b/src/material/menu/menu-item.html similarity index 100% rename from src/lib/menu/menu-item.html rename to src/material/menu/menu-item.html diff --git a/src/lib/menu/menu-item.ts b/src/material/menu/menu-item.ts similarity index 100% rename from src/lib/menu/menu-item.ts rename to src/material/menu/menu-item.ts diff --git a/src/lib/menu/menu-panel.ts b/src/material/menu/menu-panel.ts similarity index 100% rename from src/lib/menu/menu-panel.ts rename to src/material/menu/menu-panel.ts diff --git a/src/lib/menu/menu-positions.ts b/src/material/menu/menu-positions.ts similarity index 100% rename from src/lib/menu/menu-positions.ts rename to src/material/menu/menu-positions.ts diff --git a/src/lib/menu/menu-trigger.ts b/src/material/menu/menu-trigger.ts similarity index 100% rename from src/lib/menu/menu-trigger.ts rename to src/material/menu/menu-trigger.ts diff --git a/src/lib/menu/menu.html b/src/material/menu/menu.html similarity index 100% rename from src/lib/menu/menu.html rename to src/material/menu/menu.html diff --git a/src/lib/menu/menu.md b/src/material/menu/menu.md similarity index 100% rename from src/lib/menu/menu.md rename to src/material/menu/menu.md diff --git a/src/lib/menu/menu.scss b/src/material/menu/menu.scss similarity index 100% rename from src/lib/menu/menu.scss rename to src/material/menu/menu.scss diff --git a/src/lib/menu/menu.spec.ts b/src/material/menu/menu.spec.ts similarity index 100% rename from src/lib/menu/menu.spec.ts rename to src/material/menu/menu.spec.ts diff --git a/src/lib/menu/menu.ts b/src/material/menu/menu.ts similarity index 100% rename from src/lib/menu/menu.ts rename to src/material/menu/menu.ts diff --git a/src/lib/module.ts b/src/material/module.ts similarity index 100% rename from src/lib/module.ts rename to src/material/module.ts diff --git a/src/lib/package.json b/src/material/package.json similarity index 100% rename from src/lib/package.json rename to src/material/package.json diff --git a/src/lib/progress-bar/README.md b/src/material/progress-bar/README.md similarity index 100% rename from src/lib/progress-bar/README.md rename to src/material/progress-bar/README.md diff --git a/src/lib/progress-bar/_progress-bar-theme.scss b/src/material/progress-bar/_progress-bar-theme.scss similarity index 100% rename from src/lib/progress-bar/_progress-bar-theme.scss rename to src/material/progress-bar/_progress-bar-theme.scss diff --git a/src/lib/progress-bar/index.ts b/src/material/progress-bar/index.ts similarity index 100% rename from src/lib/progress-bar/index.ts rename to src/material/progress-bar/index.ts diff --git a/src/lib/progress-bar/progress-bar.html b/src/material/progress-bar/progress-bar.html similarity index 100% rename from src/lib/progress-bar/progress-bar.html rename to src/material/progress-bar/progress-bar.html diff --git a/src/lib/progress-bar/progress-bar.md b/src/material/progress-bar/progress-bar.md similarity index 100% rename from src/lib/progress-bar/progress-bar.md rename to src/material/progress-bar/progress-bar.md diff --git a/src/lib/progress-bar/progress-bar.scss b/src/material/progress-bar/progress-bar.scss similarity index 100% rename from src/lib/progress-bar/progress-bar.scss rename to src/material/progress-bar/progress-bar.scss diff --git a/src/lib/progress-bar/progress-bar.spec.ts b/src/material/progress-bar/progress-bar.spec.ts similarity index 100% rename from src/lib/progress-bar/progress-bar.spec.ts rename to src/material/progress-bar/progress-bar.spec.ts diff --git a/src/lib/progress-bar/progress-bar.ts b/src/material/progress-bar/progress-bar.ts similarity index 100% rename from src/lib/progress-bar/progress-bar.ts rename to src/material/progress-bar/progress-bar.ts diff --git a/src/lib/progress-spinner/README.md b/src/material/progress-spinner/README.md similarity index 100% rename from src/lib/progress-spinner/README.md rename to src/material/progress-spinner/README.md diff --git a/src/lib/progress-spinner/_progress-spinner-theme.scss b/src/material/progress-spinner/_progress-spinner-theme.scss similarity index 100% rename from src/lib/progress-spinner/_progress-spinner-theme.scss rename to src/material/progress-spinner/_progress-spinner-theme.scss diff --git a/src/lib/progress-spinner/index.ts b/src/material/progress-spinner/index.ts similarity index 100% rename from src/lib/progress-spinner/index.ts rename to src/material/progress-spinner/index.ts diff --git a/src/lib/progress-spinner/progress-spinner.html b/src/material/progress-spinner/progress-spinner.html similarity index 100% rename from src/lib/progress-spinner/progress-spinner.html rename to src/material/progress-spinner/progress-spinner.html diff --git a/src/lib/progress-spinner/progress-spinner.md b/src/material/progress-spinner/progress-spinner.md similarity index 100% rename from src/lib/progress-spinner/progress-spinner.md rename to src/material/progress-spinner/progress-spinner.md diff --git a/src/lib/progress-spinner/progress-spinner.scss b/src/material/progress-spinner/progress-spinner.scss similarity index 100% rename from src/lib/progress-spinner/progress-spinner.scss rename to src/material/progress-spinner/progress-spinner.scss diff --git a/src/lib/progress-spinner/progress-spinner.spec.ts b/src/material/progress-spinner/progress-spinner.spec.ts similarity index 100% rename from src/lib/progress-spinner/progress-spinner.spec.ts rename to src/material/progress-spinner/progress-spinner.spec.ts diff --git a/src/lib/progress-spinner/progress-spinner.ts b/src/material/progress-spinner/progress-spinner.ts similarity index 100% rename from src/lib/progress-spinner/progress-spinner.ts rename to src/material/progress-spinner/progress-spinner.ts diff --git a/src/lib/public_api.ts b/src/material/public_api.ts similarity index 100% rename from src/lib/public_api.ts rename to src/material/public_api.ts diff --git a/src/lib/radio/README.md b/src/material/radio/README.md similarity index 100% rename from src/lib/radio/README.md rename to src/material/radio/README.md diff --git a/src/lib/radio/_radio-theme.scss b/src/material/radio/_radio-theme.scss similarity index 100% rename from src/lib/radio/_radio-theme.scss rename to src/material/radio/_radio-theme.scss diff --git a/src/lib/radio/index.ts b/src/material/radio/index.ts similarity index 100% rename from src/lib/radio/index.ts rename to src/material/radio/index.ts diff --git a/src/lib/radio/radio.html b/src/material/radio/radio.html similarity index 100% rename from src/lib/radio/radio.html rename to src/material/radio/radio.html diff --git a/src/lib/radio/radio.md b/src/material/radio/radio.md similarity index 100% rename from src/lib/radio/radio.md rename to src/material/radio/radio.md diff --git a/src/lib/radio/radio.scss b/src/material/radio/radio.scss similarity index 100% rename from src/lib/radio/radio.scss rename to src/material/radio/radio.scss diff --git a/src/lib/radio/radio.spec.ts b/src/material/radio/radio.spec.ts similarity index 100% rename from src/lib/radio/radio.spec.ts rename to src/material/radio/radio.spec.ts diff --git a/src/lib/radio/radio.ts b/src/material/radio/radio.ts similarity index 100% rename from src/lib/radio/radio.ts rename to src/material/radio/radio.ts diff --git a/src/lib/select/README.md b/src/material/select/README.md similarity index 100% rename from src/lib/select/README.md rename to src/material/select/README.md diff --git a/src/lib/select/_select-theme.scss b/src/material/select/_select-theme.scss similarity index 100% rename from src/lib/select/_select-theme.scss rename to src/material/select/_select-theme.scss diff --git a/src/lib/select/index.ts b/src/material/select/index.ts similarity index 100% rename from src/lib/select/index.ts rename to src/material/select/index.ts diff --git a/src/lib/select/select-animations.ts b/src/material/select/select-animations.ts similarity index 100% rename from src/lib/select/select-animations.ts rename to src/material/select/select-animations.ts diff --git a/src/lib/select/select-errors.ts b/src/material/select/select-errors.ts similarity index 100% rename from src/lib/select/select-errors.ts rename to src/material/select/select-errors.ts diff --git a/src/lib/select/select.html b/src/material/select/select.html similarity index 100% rename from src/lib/select/select.html rename to src/material/select/select.html diff --git a/src/lib/select/select.md b/src/material/select/select.md similarity index 100% rename from src/lib/select/select.md rename to src/material/select/select.md diff --git a/src/lib/select/select.scss b/src/material/select/select.scss similarity index 100% rename from src/lib/select/select.scss rename to src/material/select/select.scss diff --git a/src/lib/select/select.spec.ts b/src/material/select/select.spec.ts similarity index 100% rename from src/lib/select/select.spec.ts rename to src/material/select/select.spec.ts diff --git a/src/lib/select/select.ts b/src/material/select/select.ts similarity index 100% rename from src/lib/select/select.ts rename to src/material/select/select.ts diff --git a/src/lib/sidenav/README.md b/src/material/sidenav/README.md similarity index 100% rename from src/lib/sidenav/README.md rename to src/material/sidenav/README.md diff --git a/src/lib/sidenav/_sidenav-theme.scss b/src/material/sidenav/_sidenav-theme.scss similarity index 100% rename from src/lib/sidenav/_sidenav-theme.scss rename to src/material/sidenav/_sidenav-theme.scss diff --git a/src/lib/sidenav/index.ts b/src/material/sidenav/index.ts similarity index 100% rename from src/lib/sidenav/index.ts rename to src/material/sidenav/index.ts diff --git a/src/lib/sidenav/sidenav-container.html b/src/material/sidenav/sidenav-container.html similarity index 100% rename from src/lib/sidenav/sidenav-container.html rename to src/material/sidenav/sidenav-container.html diff --git a/src/lib/sidenav/sidenav-transitions.scss b/src/material/sidenav/sidenav-transitions.scss similarity index 100% rename from src/lib/sidenav/sidenav-transitions.scss rename to src/material/sidenav/sidenav-transitions.scss diff --git a/src/lib/sidenav/sidenav.html b/src/material/sidenav/sidenav.html similarity index 100% rename from src/lib/sidenav/sidenav.html rename to src/material/sidenav/sidenav.html diff --git a/src/lib/sidenav/sidenav.md b/src/material/sidenav/sidenav.md similarity index 100% rename from src/lib/sidenav/sidenav.md rename to src/material/sidenav/sidenav.md diff --git a/src/lib/sidenav/sidenav.scss b/src/material/sidenav/sidenav.scss similarity index 100% rename from src/lib/sidenav/sidenav.scss rename to src/material/sidenav/sidenav.scss diff --git a/src/lib/sidenav/sidenav.spec.ts b/src/material/sidenav/sidenav.spec.ts similarity index 100% rename from src/lib/sidenav/sidenav.spec.ts rename to src/material/sidenav/sidenav.spec.ts diff --git a/src/lib/sidenav/sidenav.ts b/src/material/sidenav/sidenav.ts similarity index 100% rename from src/lib/sidenav/sidenav.ts rename to src/material/sidenav/sidenav.ts diff --git a/src/lib/slide-toggle/README.md b/src/material/slide-toggle/README.md similarity index 100% rename from src/lib/slide-toggle/README.md rename to src/material/slide-toggle/README.md diff --git a/src/lib/slide-toggle/_slide-toggle-theme.scss b/src/material/slide-toggle/_slide-toggle-theme.scss similarity index 100% rename from src/lib/slide-toggle/_slide-toggle-theme.scss rename to src/material/slide-toggle/_slide-toggle-theme.scss diff --git a/src/lib/slide-toggle/index.ts b/src/material/slide-toggle/index.ts similarity index 100% rename from src/lib/slide-toggle/index.ts rename to src/material/slide-toggle/index.ts diff --git a/src/lib/slide-toggle/slide-toggle.html b/src/material/slide-toggle/slide-toggle.html similarity index 100% rename from src/lib/slide-toggle/slide-toggle.html rename to src/material/slide-toggle/slide-toggle.html diff --git a/src/lib/slide-toggle/slide-toggle.md b/src/material/slide-toggle/slide-toggle.md similarity index 100% rename from src/lib/slide-toggle/slide-toggle.md rename to src/material/slide-toggle/slide-toggle.md diff --git a/src/lib/slide-toggle/slide-toggle.scss b/src/material/slide-toggle/slide-toggle.scss similarity index 100% rename from src/lib/slide-toggle/slide-toggle.scss rename to src/material/slide-toggle/slide-toggle.scss diff --git a/src/lib/slide-toggle/slide-toggle.spec.ts b/src/material/slide-toggle/slide-toggle.spec.ts similarity index 100% rename from src/lib/slide-toggle/slide-toggle.spec.ts rename to src/material/slide-toggle/slide-toggle.spec.ts diff --git a/src/lib/slide-toggle/slide-toggle.ts b/src/material/slide-toggle/slide-toggle.ts similarity index 100% rename from src/lib/slide-toggle/slide-toggle.ts rename to src/material/slide-toggle/slide-toggle.ts diff --git a/src/lib/slider/README.md b/src/material/slider/README.md similarity index 100% rename from src/lib/slider/README.md rename to src/material/slider/README.md diff --git a/src/lib/slider/_slider-theme.scss b/src/material/slider/_slider-theme.scss similarity index 100% rename from src/lib/slider/_slider-theme.scss rename to src/material/slider/_slider-theme.scss diff --git a/src/lib/slider/index.ts b/src/material/slider/index.ts similarity index 100% rename from src/lib/slider/index.ts rename to src/material/slider/index.ts diff --git a/src/lib/slider/slider.html b/src/material/slider/slider.html similarity index 100% rename from src/lib/slider/slider.html rename to src/material/slider/slider.html diff --git a/src/lib/slider/slider.md b/src/material/slider/slider.md similarity index 100% rename from src/lib/slider/slider.md rename to src/material/slider/slider.md diff --git a/src/lib/slider/slider.scss b/src/material/slider/slider.scss similarity index 100% rename from src/lib/slider/slider.scss rename to src/material/slider/slider.scss diff --git a/src/lib/slider/slider.spec.ts b/src/material/slider/slider.spec.ts similarity index 100% rename from src/lib/slider/slider.spec.ts rename to src/material/slider/slider.spec.ts diff --git a/src/lib/slider/slider.ts b/src/material/slider/slider.ts similarity index 100% rename from src/lib/slider/slider.ts rename to src/material/slider/slider.ts diff --git a/src/lib/slider/test-gesture-config.ts b/src/material/slider/test-gesture-config.ts similarity index 100% rename from src/lib/slider/test-gesture-config.ts rename to src/material/slider/test-gesture-config.ts diff --git a/src/lib/snack-bar/README.md b/src/material/snack-bar/README.md similarity index 100% rename from src/lib/snack-bar/README.md rename to src/material/snack-bar/README.md diff --git a/src/lib/snack-bar/index.ts b/src/material/snack-bar/index.ts similarity index 100% rename from src/lib/snack-bar/index.ts rename to src/material/snack-bar/index.ts diff --git a/src/lib/snack-bar/simple-snack-bar.html b/src/material/snack-bar/simple-snack-bar.html similarity index 100% rename from src/lib/snack-bar/simple-snack-bar.html rename to src/material/snack-bar/simple-snack-bar.html diff --git a/src/lib/snack-bar/simple-snack-bar.scss b/src/material/snack-bar/simple-snack-bar.scss similarity index 100% rename from src/lib/snack-bar/simple-snack-bar.scss rename to src/material/snack-bar/simple-snack-bar.scss diff --git a/src/lib/snack-bar/simple-snack-bar.ts b/src/material/snack-bar/simple-snack-bar.ts similarity index 100% rename from src/lib/snack-bar/simple-snack-bar.ts rename to src/material/snack-bar/simple-snack-bar.ts diff --git a/src/lib/snack-bar/snack-bar-config.ts b/src/material/snack-bar/snack-bar-config.ts similarity index 100% rename from src/lib/snack-bar/snack-bar-config.ts rename to src/material/snack-bar/snack-bar-config.ts diff --git a/src/lib/snack-bar/snack-bar-container.html b/src/material/snack-bar/snack-bar-container.html similarity index 100% rename from src/lib/snack-bar/snack-bar-container.html rename to src/material/snack-bar/snack-bar-container.html diff --git a/src/lib/snack-bar/snack-bar-container.scss b/src/material/snack-bar/snack-bar-container.scss similarity index 100% rename from src/lib/snack-bar/snack-bar-container.scss rename to src/material/snack-bar/snack-bar-container.scss diff --git a/src/lib/snack-bar/snack-bar-container.ts b/src/material/snack-bar/snack-bar-container.ts similarity index 100% rename from src/lib/snack-bar/snack-bar-container.ts rename to src/material/snack-bar/snack-bar-container.ts diff --git a/src/lib/snack-bar/snack-bar-errors.ts b/src/material/snack-bar/snack-bar-errors.ts similarity index 100% rename from src/lib/snack-bar/snack-bar-errors.ts rename to src/material/snack-bar/snack-bar-errors.ts diff --git a/src/lib/snack-bar/snack-bar-ref.ts b/src/material/snack-bar/snack-bar-ref.ts similarity index 100% rename from src/lib/snack-bar/snack-bar-ref.ts rename to src/material/snack-bar/snack-bar-ref.ts diff --git a/src/lib/snack-bar/snack-bar.md b/src/material/snack-bar/snack-bar.md similarity index 100% rename from src/lib/snack-bar/snack-bar.md rename to src/material/snack-bar/snack-bar.md diff --git a/src/lib/snack-bar/snack-bar.spec.ts b/src/material/snack-bar/snack-bar.spec.ts similarity index 100% rename from src/lib/snack-bar/snack-bar.spec.ts rename to src/material/snack-bar/snack-bar.spec.ts diff --git a/src/lib/snack-bar/snack-bar.ts b/src/material/snack-bar/snack-bar.ts similarity index 100% rename from src/lib/snack-bar/snack-bar.ts rename to src/material/snack-bar/snack-bar.ts diff --git a/src/lib/system-config-spec.ts b/src/material/system-config-spec.ts similarity index 100% rename from src/lib/system-config-spec.ts rename to src/material/system-config-spec.ts diff --git a/src/lib/tabs/README.md b/src/material/tabs/README.md similarity index 100% rename from src/lib/tabs/README.md rename to src/material/tabs/README.md diff --git a/src/lib/tabs/Tabs Pagination.png b/src/material/tabs/Tabs Pagination.png similarity index 100% rename from src/lib/tabs/Tabs Pagination.png rename to src/material/tabs/Tabs Pagination.png diff --git a/src/lib/tabs/_tabs-common.scss b/src/material/tabs/_tabs-common.scss similarity index 100% rename from src/lib/tabs/_tabs-common.scss rename to src/material/tabs/_tabs-common.scss diff --git a/src/lib/tabs/_tabs-theme.scss b/src/material/tabs/_tabs-theme.scss similarity index 100% rename from src/lib/tabs/_tabs-theme.scss rename to src/material/tabs/_tabs-theme.scss diff --git a/src/lib/tabs/index.ts b/src/material/tabs/index.ts similarity index 100% rename from src/lib/tabs/index.ts rename to src/material/tabs/index.ts diff --git a/src/lib/tabs/ink-bar.ts b/src/material/tabs/ink-bar.ts similarity index 100% rename from src/lib/tabs/ink-bar.ts rename to src/material/tabs/ink-bar.ts diff --git a/src/lib/tabs/tab-body.html b/src/material/tabs/tab-body.html similarity index 100% rename from src/lib/tabs/tab-body.html rename to src/material/tabs/tab-body.html diff --git a/src/lib/tabs/tab-body.scss b/src/material/tabs/tab-body.scss similarity index 100% rename from src/lib/tabs/tab-body.scss rename to src/material/tabs/tab-body.scss diff --git a/src/lib/tabs/tab-body.spec.ts b/src/material/tabs/tab-body.spec.ts similarity index 100% rename from src/lib/tabs/tab-body.spec.ts rename to src/material/tabs/tab-body.spec.ts diff --git a/src/lib/tabs/tab-body.ts b/src/material/tabs/tab-body.ts similarity index 100% rename from src/lib/tabs/tab-body.ts rename to src/material/tabs/tab-body.ts diff --git a/src/lib/tabs/tab-group.html b/src/material/tabs/tab-group.html similarity index 100% rename from src/lib/tabs/tab-group.html rename to src/material/tabs/tab-group.html diff --git a/src/lib/tabs/tab-group.scss b/src/material/tabs/tab-group.scss similarity index 100% rename from src/lib/tabs/tab-group.scss rename to src/material/tabs/tab-group.scss diff --git a/src/lib/tabs/tab-group.spec.ts b/src/material/tabs/tab-group.spec.ts similarity index 100% rename from src/lib/tabs/tab-group.spec.ts rename to src/material/tabs/tab-group.spec.ts diff --git a/src/lib/tabs/tab-group.ts b/src/material/tabs/tab-group.ts similarity index 100% rename from src/lib/tabs/tab-group.ts rename to src/material/tabs/tab-group.ts diff --git a/src/lib/tabs/tab-header.html b/src/material/tabs/tab-header.html similarity index 100% rename from src/lib/tabs/tab-header.html rename to src/material/tabs/tab-header.html diff --git a/src/lib/tabs/tab-header.scss b/src/material/tabs/tab-header.scss similarity index 100% rename from src/lib/tabs/tab-header.scss rename to src/material/tabs/tab-header.scss diff --git a/src/lib/tabs/tab-header.spec.ts b/src/material/tabs/tab-header.spec.ts similarity index 100% rename from src/lib/tabs/tab-header.spec.ts rename to src/material/tabs/tab-header.spec.ts diff --git a/src/lib/tabs/tab-header.ts b/src/material/tabs/tab-header.ts similarity index 100% rename from src/lib/tabs/tab-header.ts rename to src/material/tabs/tab-header.ts diff --git a/src/lib/tabs/tab-label-wrapper.ts b/src/material/tabs/tab-label-wrapper.ts similarity index 100% rename from src/lib/tabs/tab-label-wrapper.ts rename to src/material/tabs/tab-label-wrapper.ts diff --git a/src/lib/tabs/tab-label.ts b/src/material/tabs/tab-label.ts similarity index 100% rename from src/lib/tabs/tab-label.ts rename to src/material/tabs/tab-label.ts diff --git a/src/lib/tabs/tab-nav-bar/index.ts b/src/material/tabs/tab-nav-bar/index.ts similarity index 100% rename from src/lib/tabs/tab-nav-bar/index.ts rename to src/material/tabs/tab-nav-bar/index.ts diff --git a/src/lib/tabs/tab-nav-bar/tab-nav-bar.html b/src/material/tabs/tab-nav-bar/tab-nav-bar.html similarity index 100% rename from src/lib/tabs/tab-nav-bar/tab-nav-bar.html rename to src/material/tabs/tab-nav-bar/tab-nav-bar.html diff --git a/src/lib/tabs/tab-nav-bar/tab-nav-bar.scss b/src/material/tabs/tab-nav-bar/tab-nav-bar.scss similarity index 100% rename from src/lib/tabs/tab-nav-bar/tab-nav-bar.scss rename to src/material/tabs/tab-nav-bar/tab-nav-bar.scss diff --git a/src/lib/tabs/tab-nav-bar/tab-nav-bar.spec.ts b/src/material/tabs/tab-nav-bar/tab-nav-bar.spec.ts similarity index 100% rename from src/lib/tabs/tab-nav-bar/tab-nav-bar.spec.ts rename to src/material/tabs/tab-nav-bar/tab-nav-bar.spec.ts diff --git a/src/lib/tabs/tab-nav-bar/tab-nav-bar.ts b/src/material/tabs/tab-nav-bar/tab-nav-bar.ts similarity index 100% rename from src/lib/tabs/tab-nav-bar/tab-nav-bar.ts rename to src/material/tabs/tab-nav-bar/tab-nav-bar.ts diff --git a/src/lib/tabs/tab.html b/src/material/tabs/tab.html similarity index 100% rename from src/lib/tabs/tab.html rename to src/material/tabs/tab.html diff --git a/src/lib/tabs/tab.ts b/src/material/tabs/tab.ts similarity index 100% rename from src/lib/tabs/tab.ts rename to src/material/tabs/tab.ts diff --git a/src/lib/tabs/tabs.md b/src/material/tabs/tabs.md similarity index 100% rename from src/lib/tabs/tabs.md rename to src/material/tabs/tabs.md diff --git a/src/lib/toolbar/README.md b/src/material/toolbar/README.md similarity index 100% rename from src/lib/toolbar/README.md rename to src/material/toolbar/README.md diff --git a/src/lib/toolbar/_toolbar-theme.scss b/src/material/toolbar/_toolbar-theme.scss similarity index 100% rename from src/lib/toolbar/_toolbar-theme.scss rename to src/material/toolbar/_toolbar-theme.scss diff --git a/src/lib/toolbar/index.ts b/src/material/toolbar/index.ts similarity index 100% rename from src/lib/toolbar/index.ts rename to src/material/toolbar/index.ts diff --git a/src/lib/toolbar/toolbar.html b/src/material/toolbar/toolbar.html similarity index 100% rename from src/lib/toolbar/toolbar.html rename to src/material/toolbar/toolbar.html diff --git a/src/lib/toolbar/toolbar.md b/src/material/toolbar/toolbar.md similarity index 100% rename from src/lib/toolbar/toolbar.md rename to src/material/toolbar/toolbar.md diff --git a/src/lib/toolbar/toolbar.scss b/src/material/toolbar/toolbar.scss similarity index 100% rename from src/lib/toolbar/toolbar.scss rename to src/material/toolbar/toolbar.scss diff --git a/src/lib/toolbar/toolbar.spec.ts b/src/material/toolbar/toolbar.spec.ts similarity index 100% rename from src/lib/toolbar/toolbar.spec.ts rename to src/material/toolbar/toolbar.spec.ts diff --git a/src/lib/toolbar/toolbar.ts b/src/material/toolbar/toolbar.ts similarity index 100% rename from src/lib/toolbar/toolbar.ts rename to src/material/toolbar/toolbar.ts diff --git a/src/lib/tooltip/README.md b/src/material/tooltip/README.md similarity index 100% rename from src/lib/tooltip/README.md rename to src/material/tooltip/README.md diff --git a/src/lib/tooltip/_tooltip-theme.scss b/src/material/tooltip/_tooltip-theme.scss similarity index 100% rename from src/lib/tooltip/_tooltip-theme.scss rename to src/material/tooltip/_tooltip-theme.scss diff --git a/src/lib/tooltip/index.ts b/src/material/tooltip/index.ts similarity index 100% rename from src/lib/tooltip/index.ts rename to src/material/tooltip/index.ts diff --git a/src/lib/tooltip/tooltip-errors.ts b/src/material/tooltip/tooltip-errors.ts similarity index 100% rename from src/lib/tooltip/tooltip-errors.ts rename to src/material/tooltip/tooltip-errors.ts diff --git a/src/lib/tooltip/tooltip.html b/src/material/tooltip/tooltip.html similarity index 100% rename from src/lib/tooltip/tooltip.html rename to src/material/tooltip/tooltip.html diff --git a/src/lib/tooltip/tooltip.md b/src/material/tooltip/tooltip.md similarity index 100% rename from src/lib/tooltip/tooltip.md rename to src/material/tooltip/tooltip.md diff --git a/src/lib/tooltip/tooltip.scss b/src/material/tooltip/tooltip.scss similarity index 100% rename from src/lib/tooltip/tooltip.scss rename to src/material/tooltip/tooltip.scss diff --git a/src/lib/tooltip/tooltip.spec.ts b/src/material/tooltip/tooltip.spec.ts similarity index 100% rename from src/lib/tooltip/tooltip.spec.ts rename to src/material/tooltip/tooltip.spec.ts diff --git a/src/lib/tooltip/tooltip.ts b/src/material/tooltip/tooltip.ts similarity index 100% rename from src/lib/tooltip/tooltip.ts rename to src/material/tooltip/tooltip.ts diff --git a/src/lib/tsconfig-build.json b/src/material/tsconfig-build.json similarity index 100% rename from src/lib/tsconfig-build.json rename to src/material/tsconfig-build.json diff --git a/src/lib/tsconfig-specs.json b/src/material/tsconfig-specs.json similarity index 100% rename from src/lib/tsconfig-specs.json rename to src/material/tsconfig-specs.json diff --git a/src/lib/typedoc.json b/src/material/typedoc.json similarity index 100% rename from src/lib/typedoc.json rename to src/material/typedoc.json diff --git a/src/lib/typings.d.ts b/src/material/typings.d.ts similarity index 100% rename from src/lib/typings.d.ts rename to src/material/typings.d.ts diff --git a/src/tsconfig.json b/src/tsconfig.json index 9f199f2cf4a7..56ba5a12a6db 100644 --- a/src/tsconfig.json +++ b/src/tsconfig.json @@ -10,6 +10,11 @@ "inlineSources": true, "target": "es2015", "lib": ["es2015", "dom"], - "types": ["jasmine"] + "types": ["jasmine"], + "paths": { + "@angular/material": [ + "../../dist/packages/material" + ] + } } } diff --git a/tools/dgeni/index.js b/tools/dgeni/index.js index f37d76df3689..259fdfe6ed68 100644 --- a/tools/dgeni/index.js +++ b/tools/dgeni/index.js @@ -11,7 +11,7 @@ const typescriptPackage = require('dgeni-packages/typescript'); // Project configuration. const projectRootDir = path.resolve(__dirname, '../..'); -const sourceDir = path.resolve(projectRootDir, 'src/lib'); +const sourceDir = path.resolve(projectRootDir, 'src/material'); const outputDir = path.resolve(projectRootDir, 'dist/docs/api'); const templateDir = path.resolve(__dirname, './templates'); diff --git a/tools/gulp/constants.ts b/tools/gulp/constants.ts index 199a6690dbb0..f8e62a18315e 100644 --- a/tools/gulp/constants.ts +++ b/tools/gulp/constants.ts @@ -19,6 +19,7 @@ export const DIST_RELEASE = join(DIST_ROOT, 'release'); export const DIST_DEMOAPP = join(DIST_ROOT, 'packages', 'demo-app'); export const DIST_E2EAPP = join(DIST_ROOT, 'packages', 'e2e-app'); +export const DIST_EXAMPLES = join(DIST_ROOT, 'packages', 'examples'); export const COVERAGE_RESULT_FILE = join(DIST_ROOT, 'coverage', 'coverage-summary.json'); @@ -40,4 +41,4 @@ export const NPM_VENDOR_FILES = [ 'zone.js/dist', 'web-animations-js' ]; -export const COMPONENTS_DIR = join(SOURCE_ROOT, 'lib'); +export const COMPONENTS_DIR = join(SOURCE_ROOT, 'material'); diff --git a/tools/gulp/gulpfile.ts b/tools/gulp/gulpfile.ts index 3268612e0052..0acef67e2f87 100644 --- a/tools/gulp/gulpfile.ts +++ b/tools/gulp/gulpfile.ts @@ -12,3 +12,4 @@ import './tasks/aot'; import './tasks/payload'; import './tasks/coverage'; import './tasks/library'; +import './tasks/examples'; diff --git a/tools/gulp/tasks/docs.ts b/tools/gulp/tasks/docs.ts index 793d07162cc9..aea612a7eeec 100644 --- a/tools/gulp/tasks/docs.ts +++ b/tools/gulp/tasks/docs.ts @@ -48,7 +48,6 @@ const MARKDOWN_TAGS_TO_CLASS_ALIAS = [ 'code', ]; - /** Generate all docs content. */ task('docs', [ 'markdown-docs', @@ -60,7 +59,7 @@ task('docs', [ /** Generates html files from the markdown overviews and guides. */ task('markdown-docs', () => { - return src(['src/lib/**/*.md', 'guides/*.md']) + return src(['src/material/**/*.md', 'guides/*.md']) .pipe(markdown({ // Add syntax highlight using highlight.js highlight: (code: string, language: string) => { diff --git a/tools/gulp/tasks/examples.ts b/tools/gulp/tasks/examples.ts new file mode 100644 index 000000000000..2b73a984cf65 --- /dev/null +++ b/tools/gulp/tasks/examples.ts @@ -0,0 +1,52 @@ +import {task, watch} from 'gulp'; +import {join} from 'path'; +import {main as tsc} from '@angular/tsc-wrapped'; +import {SOURCE_ROOT, DIST_BUNDLES, DIST_EXAMPLES} from '../constants'; +import {sequenceTask, sassBuildTask, copyTask, triggerLivereload} from '../util/task_helpers'; +import {createRollupBundle} from '../util/rollup-helper'; +import {transpileFile} from '../util/ts-compiler'; +import {buildModuleEntry, composeRelease} from '../util/package-build'; +import {ScriptTarget, ModuleKind} from 'typescript'; +import {writeFileSync} from 'fs'; + +// There are no type definitions available for these imports. +const inlineResources = require('../../../scripts/release/inline-resources'); +const uglify = require('uglify-js'); + +const examplesRoot = join(SOURCE_ROOT, 'examples'); +const tsconfigPath = join(examplesRoot, 'tsconfig-build.json'); + +// Paths to the different output directories. +const examplesOut = DIST_EXAMPLES; +const bundlesDir = DIST_BUNDLES; + +const examplesMain = join(examplesOut, 'public_api.js'); + +task('examples:clean-build', sequenceTask('clean', 'examples:build')); + +task('examples:build', sequenceTask( + // The examples depend on the library. Build the library first. + 'library:build', + // Build ESM and copy HTML assets to the dist. + ['examples:build:esm', 'examples:assets:html'], + // Inline assets into ESM output. + 'examples:assets:inline', + // Build bundles on top of inlined ESM output. + 'examples:build:bundles', +)); + +task('examples:release', ['examples:clean-build'], () => composeRelease('examples')); + +/** + * TypeScript compilation tasks. Tasks are creating ESM, FESM, UMD bundles for releases. + **/ + +task('examples:build:esm', () => tsc(tsconfigPath, {basePath: examplesRoot})); +task('examples:build:bundles', () => buildModuleEntry(examplesMain, 'examples')); + +/** + * Asset tasks. Copying and inlining CSS, HTML files into the ESM output. + **/ + +task('examples:assets:html', copyTask(join(examplesRoot, '**/*.+(html|css)'), examplesOut)); +task('examples:assets:inline', () => inlineResources(examplesOut)); diff --git a/tools/gulp/tasks/library.ts b/tools/gulp/tasks/library.ts index d55d3d354792..ad88820689da 100644 --- a/tools/gulp/tasks/library.ts +++ b/tools/gulp/tasks/library.ts @@ -5,6 +5,7 @@ import {SOURCE_ROOT, DIST_BUNDLES, DIST_MATERIAL} from '../constants'; import {sequenceTask, sassBuildTask, copyTask, triggerLivereload} from '../util/task_helpers'; import {createRollupBundle} from '../util/rollup-helper'; import {transpileFile} from '../util/ts-compiler'; +import {buildModuleEntry} from '../util/package-build'; import {ScriptTarget, ModuleKind} from 'typescript'; import {writeFileSync} from 'fs'; @@ -12,7 +13,7 @@ import {writeFileSync} from 'fs'; const inlineResources = require('../../../scripts/release/inline-resources'); const uglify = require('uglify-js'); -const libraryRoot = join(SOURCE_ROOT, 'lib'); +const libraryRoot = join(SOURCE_ROOT, 'material'); const tsconfigPath = join(libraryRoot, 'tsconfig-build.json'); // Paths to the different output directories. @@ -45,44 +46,6 @@ task('library:watch', () => { task('library:build:esm', () => tsc(tsconfigPath, {basePath: libraryRoot})); task('library:build:bundles', () => buildModuleEntry(esmMainFile)); -/** Builds a module entry-point. If no entry name is specified it builds the whole library. */ -async function buildModuleEntry(entryFile: string, entryName = '') { - let baseFileName = entryName ? `material-${entryName}` : 'material'; - let moduleName = entryName ? `ng.material.${entryName}` : 'ng.material'; - - // List of paths for the specified entrypoint. - let fesm2015File = join(bundlesDir, `${baseFileName}.js`); - let fesm2014File = join(bundlesDir, `${baseFileName}.es5.js`); - let umdFile = join(bundlesDir, `${baseFileName}.umd.js`); - let umdMinFile = join(bundlesDir, `${baseFileName}.umd.min.js`); - - // Build FESM-2015 bundle file. - await createRollupBundle({ - moduleName: moduleName, - entry: entryFile, - dest: fesm2015File, - format: 'es', - }); - - // Downlevel FESM-2015 file to ES5. - transpileFile(fesm2015File, fesm2014File, { - target: ScriptTarget.ES5, - module: ModuleKind.ES2015, - allowJs: true - }); - - // Create UMD bundle of FESM-2014 output. - await createRollupBundle({ - moduleName: moduleName, - entry: fesm2014File, - dest: umdFile, - format: 'umd' - }); - - // Output a minified version of the UMD bundle - writeFileSync(umdMinFile, uglify.minify(umdFile, { preserveComments: 'license' }).code); -} - /** * Asset tasks. Building SaSS files and inlining CSS, HTML files into the ESM output. **/ diff --git a/tools/gulp/tasks/release.ts b/tools/gulp/tasks/release.ts index f02b12a99fe8..14fedb4238af 100644 --- a/tools/gulp/tasks/release.ts +++ b/tools/gulp/tasks/release.ts @@ -2,7 +2,9 @@ import {spawn} from 'child_process'; import {existsSync, readFileSync, statSync, writeFileSync} from 'fs-extra'; import {basename, join} from 'path'; import {dest, src, task} from 'gulp'; +import {inlineMetadataResources} from '../util/inline-resources'; import {execNodeTask, execTask, sequenceTask} from '../util/task_helpers'; +import {composeRelease} from '../util/package-build'; import { COMPONENTS_DIR, DIST_BUNDLES, @@ -21,15 +23,6 @@ const gulpRename = require('gulp-rename'); /** Parse command-line arguments for release task. */ const argv = minimist(process.argv.slice(3)); -// Matches all Typescript definition files for Material. -const typingsGlob = join(DIST_MATERIAL, '**/*.+(d.ts|metadata.json)'); -// Matches the "package.json" and "README.md" file that needs to be shipped. -const assetsGlob = join(COMPONENTS_DIR, '+(package.json|README.md)'); -// Matches all UMD bundles inside of the bundles distribution. -const umdGlob = join(DIST_BUNDLES, '*.umd.*'); -// Matches all flat ESM bundles (e.g material.js and material.es5.js) -const fesmGlob = [join(DIST_BUNDLES, '*.js'), `!${umdGlob}`]; - // The entry-point for the scss theming bundle. const themingEntryPointPath = join(COMPONENTS_DIR, 'core', 'theming', '_all-theme.scss'); @@ -44,76 +37,18 @@ task('build:release', sequenceTask( ':package:release', )); -/** Task that combines intermediate build artifacts into the release package structure. */ -task(':package:release', sequenceTask( - // Run in parallel - [ - ':package:typings', - ':package:umd', - ':package:fesm', - ':package:assets', - ':package:theming', - ':package:license' - ], - // Run in sequence - ':inline-metadata-resources', - ':package:metadata', -)); - -/** Writes a re-export metadata */ -task(':package:metadata', () => { - const metadataReExport = - `{"__symbolic":"module","version":3,"metadata":{},"exports":[{"from":"./typings/index"}]}`; - writeFileSync(join(DIST_RELEASE, 'material.metadata.json'), metadataReExport, 'utf-8'); -}); - -/** Inlines the html and css resources into all metadata.json files in dist/ */ -task(':inline-metadata-resources', () => { - // Create a map of fileName -> fullFilePath. This is needed because the templateUrl and - // styleUrls for each component use just the filename because, in the source, the component - // and the resources live in the same directory. - const componentResources = new Map(); - glob(join(DIST_ROOT, '**/*.+(html|css)'), (err: any, resourceFilePaths: any) => { - for (const path of resourceFilePaths) { - componentResources.set(basename(path), path); - } - }); - - // Find all metadata files. For each one, parse the JSON content, inline the resources, and - // reserialize and rewrite back to the original location. - glob(join(DIST_ROOT, '**/*.metadata.json'), (err: any, metadataFilePaths: any) => { - for (const path of metadataFilePaths) { - let metadata = JSON.parse(readFileSync(path, 'utf-8')); - inlineMetadataResources(metadata, componentResources); - writeFileSync(path , JSON.stringify(metadata), 'utf-8'); - } - }); -}); - -/** Copy static assets (package.json, README.md) to the release package. */ -task(':package:assets', () => src(assetsGlob).pipe(dest(DIST_RELEASE))); - -/** Copy the license to the release package. */ -task(':package:license', () => src(join(PROJECT_ROOT, 'LICENSE')).pipe(dest(DIST_RELEASE))); - -/** Copy all d.ts except the special flat typings from ngc to typings/ in the release package. */ -task(':package:typings', () => { - return src(typingsGlob) - .pipe(dest(join(DIST_RELEASE, 'typings'))) - .on('end', () => createTypingFile()); -}); - -/** Copy umd bundles to the root of the release package. */ -task(':package:umd', () => src(umdGlob).pipe((dest(join(DIST_RELEASE, 'bundles'))))); +/** Task that composes the different build files into the release structure. */ +task(':package:release', [':package:theming'], () => composeRelease('material')); -/** Copy primary entry-point FESM bundles to the @angular/ directory. */ -task(':package:fesm', () => src(fesmGlob).pipe(dest(join(DIST_RELEASE, '@angular')))); +/** Task that composes the different build files into the release structure. */ +task(':package:compose', () => composeRelease('material')); /** Copies all prebuilt themes into the release package under `prebuilt-themes/` */ -task(':package:theming', [':bundle:theming-scss'], - () => src(prebuiltThemeGlob) - .pipe(gulpRename({dirname: ''})) - .pipe(dest(join(DIST_RELEASE, 'prebuilt-themes')))); +task(':package:theming', [':bundle:theming-scss'], () => { + src(prebuiltThemeGlob) + .pipe(gulpRename({dirname: ''})) + .pipe(dest(join(DIST_RELEASE, 'prebuilt-themes'))); +}); /** Bundles all scss requires for theming into a single scss file in the root of the package. */ task(':bundle:theming-scss', execNodeTask( @@ -209,36 +144,3 @@ task('publish', sequenceTask( ':publish', ':publish:logout', )); - - -/** - * Recurse through a parsed metadata.json file and inline all html and css. - * Note: this assumes that all html and css files have a unique name. - */ -function inlineMetadataResources(metadata: any, componentResources: Map) { - // Convert `templateUrl` to `template` - if (metadata.templateUrl) { - const fullResourcePath = componentResources.get(metadata.templateUrl); - metadata.template = readFileSync(fullResourcePath, 'utf-8'); - delete metadata.templateUrl; - } - - // Convert `styleUrls` to `styles` - if (metadata.styleUrls && metadata.styleUrls.length) { - metadata.styles = []; - for (const styleUrl of metadata.styleUrls) { - const fullResourcePath = componentResources.get(styleUrl); - metadata.styles.push(readFileSync(fullResourcePath, 'utf-8')); - } - delete metadata.styleUrls; - } - - // We we did nothing at this node, go deeper. - if (!metadata.template && !metadata.styles) { - for (const property in metadata) { - if (typeof metadata[property] == 'object' && metadata[property]) { - inlineMetadataResources(metadata[property], componentResources); - } - } - } -} diff --git a/tools/gulp/util/inline-resources.ts b/tools/gulp/util/inline-resources.ts new file mode 100644 index 000000000000..dc5ad61885b2 --- /dev/null +++ b/tools/gulp/util/inline-resources.ts @@ -0,0 +1,34 @@ +import {readFileSync} from 'fs'; +import {basename} from 'path'; + +/** + * Recurse through a parsed metadata.json file and inline all html and css. + * Note: this assumes that all html and css files have a unique name. + */ +export function inlineMetadataResources(metadata: any, componentResources: Map) { + // Convert `templateUrl` to `template` + if (metadata.templateUrl) { + const fullResourcePath = componentResources.get(basename(metadata.templateUrl)); + metadata.template = readFileSync(fullResourcePath, 'utf-8'); + delete metadata.templateUrl; + } + + // Convert `styleUrls` to `styles` + if (metadata.styleUrls && metadata.styleUrls.length) { + metadata.styles = []; + for (const styleUrl of metadata.styleUrls) { + const fullResourcePath = componentResources.get(basename(styleUrl)); + metadata.styles.push(readFileSync(fullResourcePath, 'utf-8')); + } + delete metadata.styleUrls; + } + + // We we did nothing at this node, go deeper. + if (!metadata.template && !metadata.styles) { + for (const property in metadata) { + if (typeof metadata[property] == 'object' && metadata[property]) { + inlineMetadataResources(metadata[property], componentResources); + } + } + } +} diff --git a/tools/gulp/util/package-build.ts b/tools/gulp/util/package-build.ts new file mode 100644 index 000000000000..4a8fd4672f9d --- /dev/null +++ b/tools/gulp/util/package-build.ts @@ -0,0 +1,110 @@ +import {join, basename, dirname, relative} from 'path'; +import {main as tsc} from '@angular/tsc-wrapped'; +import {DIST_BUNDLES, DIST_ROOT, SOURCE_ROOT, PROJECT_ROOT, LICENSE_BANNER} from '../constants'; +import {createRollupBundle} from '../util/rollup-helper'; +import {inlineMetadataResources} from '../util/inline-resources'; +import {transpileFile} from '../util/ts-compiler'; +import {ScriptTarget, ModuleKind} from 'typescript'; +import {sync as glob} from 'glob'; +import { + writeFileSync, createReadStream, createWriteStream, mkdirpSync, readFileSync +} from 'fs-extra'; + +// There are no type definitions available for these imports. +const uglify = require('uglify-js'); + +export function composeRelease(packageName: string) { + let sourcePath = join(SOURCE_ROOT, packageName); + let packagePath = join(DIST_ROOT, 'packages', packageName); + let releasePath = join(DIST_ROOT, 'releases', packageName); + + copyFiles(packagePath, '**/*.+(d.ts|metadata.json)', join(releasePath, 'typings')); + copyFiles(DIST_BUNDLES, `${packageName}.umd?(.min).js`, join(releasePath, 'bundles')); + copyFiles(DIST_BUNDLES, `${packageName}?(.es5).js`, join(releasePath, '@angular')); + copyFiles(PROJECT_ROOT, 'LICENSE', releasePath); + copyFiles(SOURCE_ROOT, 'README', releasePath); + copyFiles(sourcePath, 'package.json', releasePath); + + createTypingFile(releasePath, packageName); + inlineMetadata(packagePath); + createMetadataFile(releasePath, packageName); +} + +/** Builds a module entry-point. If no entry name is specified it builds the whole library. */ +export async function buildModuleEntry(entryFile: string, entryName = 'material') { + let moduleName = entryName ? `ng.material.${entryName}` : 'ng.material'; + + // List of paths for the specified entrypoint. + let fesm2015File = join(DIST_BUNDLES, `${entryName}.js`); + let fesm2014File = join(DIST_BUNDLES, `${entryName}.es5.js`); + let umdFile = join(DIST_BUNDLES, `${entryName}.umd.js`); + let umdMinFile = join(DIST_BUNDLES, `${entryName}.umd.min.js`); + + // Build FESM-2015 bundle file. + await createRollupBundle({ + moduleName: moduleName, + entry: entryFile, + dest: fesm2015File, + format: 'es', + }); + + // Downlevel FESM-2015 file to ES5. + transpileFile(fesm2015File, fesm2014File, { + target: ScriptTarget.ES5, + module: ModuleKind.ES2015, + allowJs: true + }); + + // Create UMD bundle of FESM-2014 output. + await createRollupBundle({ + moduleName: moduleName, + entry: fesm2014File, + dest: umdFile, + format: 'umd' + }); + + // Output a minified version of the UMD bundle + writeFileSync(umdMinFile, uglify.minify(umdFile, { preserveComments: 'license' }).code); +} + +function copyFiles(fromPath: string, fileGlob: string, outDir: string) { + glob(fileGlob, {cwd: fromPath}).forEach(filePath => { + let fileDestDir = join(outDir, filePath); + mkdirpSync(dirname(fileDestDir)); + createReadStream(join(fromPath, filePath)).pipe(createWriteStream(fileDestDir)); + }); +} + +/** Create a typing file that links to the bundled definitions of NGC. */ +function createTypingFile(outputDir: string, entryName: string) { + writeFileSync(join(outputDir, `${entryName}.d.ts`), + LICENSE_BANNER + '\nexport * from "./typings/index";' + ); +} + +/** Creates a metadata file that re-exports the metadata bundle inside of the typings. */ +function createMetadataFile(packageDir: string, packageName: string) { + const metadataReExport = + `{"__symbolic":"module","version":3,"metadata":{},"exports":[{"from":"./typings/index"}]}`; + writeFileSync(join(packageDir, `${packageName}.metadata.json`), metadataReExport, 'utf-8'); + console.log('Write file', join(packageDir, `${packageName}.metadata.json`)); +} + +function inlineMetadata(packagePath: string) { + // Create a map of fileName -> fullFilePath. This is needed because the templateUrl and + // styleUrls for each component use just the filename because, in the source, the component + // and the resources live in the same directory. + const componentResources = new Map(); + + glob(join(packagePath, '**/*.+(html|css)')).forEach(resourcePath => { + componentResources.set(basename(resourcePath), resourcePath); + }); + + // Find all metadata files. For each one, parse the JSON content, inline the resources, and + // reserialize and rewrite back to the original location. + glob(join(packagePath, '**/*.metadata.json')).forEach(path => { + let metadata = JSON.parse(readFileSync(path, 'utf-8')); + inlineMetadataResources(metadata, componentResources); + writeFileSync(path , JSON.stringify(metadata), 'utf-8'); + }); +} diff --git a/tools/gulp/util/rollup-helper.ts b/tools/gulp/util/rollup-helper.ts index dbf746b1fce5..075c58dc3845 100644 --- a/tools/gulp/util/rollup-helper.ts +++ b/tools/gulp/util/rollup-helper.ts @@ -13,6 +13,7 @@ const ROLLUP_GLOBALS = { '@angular/platform-browser': 'ng.platformBrowser', '@angular/platform-browser-dynamic': 'ng.platformBrowserDynamic', '@angular/platform-browser/animations': 'ng.platformBrowser.animations', + '@angular/material/index': 'ng.material', // Rxjs dependencies 'rxjs/Subject': 'Rx',