This allows us to cherry-pick @kara's static query updates from the
`ivy-2019` branch.
This change includes:
* Adding missing dependencies for various Angular subpackages
* Add umd assets where they are now necessary
* Configure bazel to target ES5 output as a workaround for https://github.com/angular/angular/issues/29107
* Updates most npm dependencies to the @npm// workspace
* Updates general workspace setup, RBE config, ngcontainer
* Update to rxjs 6.4.0 (building from source no longer needed)
* Added rxjs_shims for ts_web_test and ts_devserver targets
* Removed index.bzl and angular_material_setup_workspace (not needed anymore since material won't be built from source)
* Use browser_repositories() from @npm_bazel_karma which have pinned browsers that work on all platforms
* Change dgeni processor functions from arrow function to `function` to
work around `@npm//di` not supporting arrow functions
Co-authored-by: Greg Magolan <gmagolan@gmail.com>
While looking at #15085, I noticed that the only place in the CDK where we use `@angular/forms` is to type an optional input in the stepper. These changes replace the typing with a partial representation of the `AbstractControl` so that we can drop the dependency.
Currently the selection list always uses the `accent` color for the underlying
pseudo checkbox of list options. In order to make this configurable by the
user, we add a `color` input that matches our other usages of the `color`
input in order to be consistent.
Since we want to allow that a color can be specified for the `<mat-selection-list>` and
that it's possible to overwrite the color for an individual list option, we don't use the
color mixin as it brings in a lot of overhead and also doesn't make it easy to provide
the desired precedence for individual options. Also we **can't** set the color class
on the `<mat-selection-list>` as the pseudo checkbox will then ignore the color class
set for the individual list option.
Closes#15234
Allows for focus restoration to be disabled in a menu, similarly to some other components. In some cases restoring focus automatically might not make sense (e.g. if the user closes the menu by selecting something which then opens a dialog) and this allows consumers to customize the behavior as needed.
Fixes#15168.
Adds the ability to disable sorting inside of a `CdkDropList`. This allows for use cases where one list is considered the source and one or more connected lists are the destinations, and the user isn't supposed to sort the items within the source list.
Fixes#14838.
Currently we still cannot cut the Github release automatically because
the publish script does not have API access. Though it's sometimes
not quite clear for the caretaker what he needs to do manually. In
the meanwhile we make this _slighty_ more clear by adding a
note that indicates where the release notes should be copy-pasted
to.
* Adds an extra theme to the build that will allow us to verify that everything still works if somebody passes in the palette colors as CSS variables.
* Fixes a handful of places where Sass would either throw an error or would produce invalid CSS.
Fixes#15107.
No longer adds the `aria-label` to the `mat-dialog-close` directive, if the element that it's being applied to has text. This prevents the label from being read instead of the button text.
Fixes#11084.
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`.