* fix(virtual-scroll): fix several small bugs
fixes include:
* ensure content wrapper is at least as wide as the viewport
* run change detection when data source emits but the data length remains the same
* improve error message when no virtual scroll strategy is provided
* add docs on using a custom virtual scroll strategy
* address comments
* address feedback
Fixes the `enterPredicate` being called with the item's current container, rather than the one it is being moved into. Also tweaks the function signature to avoid unnecessary null checks and expands the description.
* Fixes the `disableClose` option not working for `cdk-experimental/dialog`.
* Updates our unit tests that were supposed to catch the issue, but didn't. Also updates similar tests for `material/dialog` and `material/bottom-sheet`.
Fixes#13583.
Fixes the `Dialog` emitting some of its events twice on certain browsers due to an issue in `@angular/animations` which invokes the animation `done` callback twice.
Fixes#13585.
* As we've already moved the ng-update foundation to the CDK, and therefore introduced an `optionalDependency` on `parse5` for the CDK, we should also move the last `parse5` call from `@angular/material` to the `@angular/cdk`. This way we don't depend on `parse5` for both packages + we can re-use the abstract utility function within the CDK schematics if we need them.
* The `parse5` runtime check is actually not working because NodeJS would throw already if we just `require("parse5")`. Since we marked `parse5` as a dependency and the default NodeJS `module not found` message is clear enough, we can remove this check from the `ng-add` command as well.
* Due to the fact that we modify the `package.json` in cronjobs without updating the actual lock-file, the `--frozen-lockfile` installation fails. In order to fix this, we should just re-install the dependencies after the general `yarn` installation.
* Runs the Lint job on CircleCI within a new workflow.
* Adds comment for structuring the Circle config file (the file will
become even larger in the future)
* Since we already track all available schematics in the schematics guide, we should remove the outdated `README.md` for the Angular Material schematics.
* Also while being at it, we should remove the readme for the CDK schematics as well because there is no useful information stored within that readme (the source is self-explaining; and documented mostly)
* Fixes the free-dragging example in the docs site going under other UI elements if they're dragged too far.
* Fixes one of the buttons on the tooltip demo being uneven.
Fixes#13510.
* Since the CLI is able to prompt for required schema properties, we should automatically prompt for a name when a developer wants to generate a CDK or Material component.
* build: build cdk with angular from source
* Continues the long-term Bazel goal by fixing the CDK bazel build
targets. Also builds the CDK targets with Angular from source.
Follow up's will try to make serving, and testing possible.
* Build package on CI
* No longer compile with AOT compiler that generates factory files that cannot be packaged into "ng_package"
* Re-enables linting for the `build-component` file which has been originally copied from `@schematics/angular`. For some reason, linting has been disabled explicitly for this file. This re-enables TSLint.
* Also fixes a few shadowed variable failures (this logic comes from the `@schematics/angular:component` schematic and **should** be kept as similar as possible)
* Assuming most of the CLI projects have the line limit at around `100`, one line within the `address-form` TS template file exceeds this average max-line-length boundary by `17`.
* docs: show all available schematics in the schematics guide
* Updates the outdated `schematics` guide to mention the new available component schematics.
* Address feedback
Fixes errors being thrown by the decorator validation rule when run in an IDE. The errors can happen, because the rule is run for each key stroke and the user might not be done typing out the definition yet. The two cases where it was throwing were when a decorator is added without being called (e.g. `@Component class Something`) and when defining a new property that doesn't have an initializer yet (e.g. `@Component({selector})`).
* Since the NodeJS rules execute built code in a sandbox, we need to enable source map support. This is recommended by the `Bazel NodeJS` rules.
* Also introduces support for repository-wide defaults. This will be helpful when fully switching to Bazel.
* fix(ng-add): do not add theme file if existing theme is set up
* No longer adds other theme files to the workspace configuration if a custom theme has been generated in a previous run already.
* Instead of silently doing nothing if a prebuilt theme is being generated while another prebuilt theme is already defined, we now replace the previous prebuilt theme with the new theme.
* Do not overwrite existing custom-theme files
* Since we lock our dependencies in the `yarn.lock` file, we need to enforce that the lock file is in sync with the `package.json` file (similar as in angular/angular)
* Since we cache the dependenices & the yarn cache within Travis, it can happen that the node modules are stale (there is no checksum mechanism in Travis). In that case we need to purge the node modules and re-install.
* By default TypeScript truncates the types when calling `typeToString`. Since we don't want to truncate the types automatically, we need to work around: https://github.com/angular/dgeni-packages/issues/276 until there is a possibility to change this using the `tsHost`.
* Similar to the other component generation schematics in `@angular/material`, the drag-drop schematic in `@angular/cdk` requires a name to be specified. If we don't mark this as required, a runtime exception will be thrown (`Cannot read property 'replace' of undefined`)