Currently the publish script prints an error if the release tag does not exist locally yet. This is not expected since the function
that calls `git` to check if a given tag exists, returns a boolean and should not additionally print the git `stderr`.
Note we can also look into attaching the release notes automatically, but since the release notes are making the URL too large and Github denies too large URL's, this is something we can explore in a follow-ups.
With #12306 we added the ability to swap out position strategies, however that won't be enough to handle all use cases since the consumer is still locked into the scroll strategy that they chose at the start. E.g. when switching an overlay from a dialog to a dropdown, it might not make sense to block scrolling anymore. These changes add an API to allow for the scroll strategy to be swapped.
* Adds a way for developers to disable ripples of the `MatStepHeader`. This is useful because currently developers have no way of specifically disabling ripples for a stepper (only disabling globally is possible)
Closes#14940.
Currently the way we verify that the passed in data source is by using `instanceof` which assumes that the consumer has extended our `DataSource`. In `cdk/table` we do the verification by checking whether the object matches the interface of a `DataSource` instead.
These changes add a utility method to check whether something is a data source and refactor the `tree` and `scrolling` entry points to be consistent with `table`.
* In order to make it easier to test/update goldens, the Bazel targets are updated to the match the actual golden file paths. This is useful because developers can then use terminal autocompletion to go to the desired golden file, and just need to add the `_api` suffix. This easier than manually constructing the Bazel API target name which is not intuitive and takes up time.
* Adds the `DragDrop` service that simplifies the construction logic for `DragRef` and `DropListRef` and allows consumers to attach drag&drop functionality to arbitrary DOM nodes, rather than having to go through the directives.
* Reworks `DragRef` and `DragDropRef` to make them easier to construct.
* Normalizes some of the instances where some parameters only accept an `ElementRef`, whereas others accept `ElementRef | HTMLElement`.
Adds some code that automatically keeps scrolling the tab header while holding down one of the paginator buttons. This is useful on long lists of tabs where the user might have to click a lot to reach the tab that they want.
Fixes#6510.
In order to have proper action names when running bazel, we should add progress messages for all custom rules. Currently Bazel always uses the first input as action name, but this is *very* confusing since failures lead to the input file, instead of the associated Bazel action.
Note that this is not really a progress_message, but it is consistent with native bazel actions (e.g. `StarlarkAction`)
* Removes some configuration parts of the Dgeni docs package which are overwritten by Bazel using the `apiDocsPackage`. Globs do not work within Bazel.
* build: fix version bumps not detected in release script
* build: allow recovering from failed publish script
* Currently if anything fails after the creating the local git tag, it's not possible to just re-run the release script because the script fails with an error saying that the local tag already exists. We can be smart about this and just use the existing tag if it refers to the expected SHA.
* Additionally if anything fails after pushing the release tag to the remote, it's not possible to re-run the release script because the tag exists remotely. We can be smart about this and just use the remote tag if it refers to the expected SHA.
Allows for the connected overlay's origin to be set to a point on the page, rather than a DOM element. This allows people to easily implement right click context menus.
Relates to #5007.
* docs(cdk-stepper): add guide to create stepper
* Added guide how to create a custom stepper using the CDK
* Added a material example to demonstrate the custom CDK stepper
* Made steps from CdkStepper public as it is necessary to build
a custom stepper
* Review comments
Cleans up the API of the DragRef before we can expose it through the public API by making the handle, custom placeholder and custom preview easier to configure.
The icon registry can end up caching some fairly large SVG elements which may end up being retained, because we're using a regular `Map`. These changes clear out all the references if the registry is destroyed.
With https://github.com/angular/material.angular.io/pull/565 the docs-content will be pulled from the `@angular/material-examples` package. Changes needed on this repository:
* Since we update some styles and logic in favor of simplicity, we need to update the Dgeni templates to conform with these changes.
* Remove the unnecessary `examplesPath` property member because we now compute the `docs-content/` asset paths in a consistent way and don't want to mix up the source locations.
* Our UMD bundles currently have wrong AMD module names for secondary entry-points which are dash-cased. e.g. AMD module name for the bottom-sheet is `@angular/material/bottomSheet`.
* Our UMD bundles currently reference incorrect rollup globals. e.g. the AMD module name is `ng.material-experimental.{secondary}`, while it should be `ng.materialExperimental`.
* Updates to the latest `node-sass` version.
* Fixes the build not using the `node-sass` version from the package.json.
* Fixes a deprecation warning from the latest SASS version when the consumer has configured a non-string `font-family` (e.g. `Helvetica Neue`).
Fixes#14636.
**Note**: In a follow-up I want to wire up the release output validations as part of a CircleCI job. It just makes sense to keep all of these release output validations in the same place.
References https://github.com/angular/material2/issues/12877
* Based on request from Vivian and the comments on the last changelog
PR, we don't want to report experimental package changes (yet). In order
to make this easier for the caretaker when doing releases, we just
filter these out automatically.
* The gulp publish script has been replaced with a standalone NodeJS script. This just made a lot of things easier and also could work with Bazel in the future.
* Since we filter out duplicate changelog entries it can happen that a `commitGroup` shows up without any commits. e.g. there would be an empty section for `"Features"`.
Since we're having more and more APIs that accept both an `ElementRef` and an `Element`, we have a few places that repeat the same logic for coercing the value to an `Element`. These changes add a utility function that can be used everywhere.
Currently the root element is only resolved once on init, however since it's an input, it could change. These changes add some logic to keep the element up to date.
Adds the `cdkDragReleased` event, in addition to `cdkDragEnded`. The difference between released and ended is that released will fire as soon as the user has released the item, whereas ended will fire once all animations are done. The former is useful to customize the animation on drop, based on where the item is being dropped.
Fixes#14498.
Fixes `cdk-experimental` being set up to have a dependency on `material`, as well as `material-experimental` having a dependency on `cdk-experimental`. Also adds `cdk` and `material` as dependencies to `material-examples`.