Adding semantic emphasis to Dialog actions which allows conditional theming of buttons. The MDCDailogScheme now has a button scheme which can be used to theme buttons according to their action's assigned emphasis.
Issue: b/117608629
Design Review document (go/gmdc-ios-dialogs-design-doc).
Adding scrimColor property to MDCAlertController, which controls the background color when the alert is presented by a MDCDialogPresentationController.
Issues: b/116845327, b/117173678.
Adding the API to customize the color of MDCAlertController's background scrim, and to apply the color during theming. Also includes tests & an example.
Issue: #5279
Issue: b/116845327
Updating AlertController API to customize the tintColor of the alert's titleIcon. Includes tests and examples.
issue: #5174
issue: Update MDC API to customize MDCAlertController title🐛
Adding a title icon property to MDCAlertController.
The title icon is an image that is shown above the dialog title, and is automatically aligned with the title, supporting all NSTextAlignment alignment options (center, natural, left, right, etc).
Includes tests and examples using the new property.
Issue: #5174
Issue: Update MDC API to customize MDCAlertController title🐛
Removes the need to copy-paste stanzas from other files anymore as we'll rely on #4478 to generate the correct stanza for us instead.
This was an automated change generated by running a find-and-replace regular expression:
```
/\*
Copyright ([0-9]+)-present the Material Components for iOS authors\. All Rights Reserved\.
Licensed under the Apache License, Version 2\.0 \(the "License"\);
you may not use this file except in compliance with the License\.
You may obtain a copy of the License at
http://www\.apache\.org/licenses/LICENSE-2\.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied\.
See the License for the specific language governing permissions and
limitations under the License\.
\*/
```
```
/\*
Copyright ([0-9]+)-present the Material Components for iOS authors\. All Rights Reserved\.
Licensed under the Apache License, Version 2\.0 \(the "License"\);
you may not use this file except in compliance with the License\.
You may obtain a copy of the License at
http://www\.apache\.org/licenses/LICENSE-2\.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied\.
See the License for the specific language governing permissions and
limitations under the License\.
\*/
```
```
/\*
Copyright ([0-9]+)-present the Material Components for iOS authors\. All Rights Reserved\.
Licensed under the Apache License, Version 2\.0 \(the "License"\);
you may not use this file except in compliance with the License\.
You may obtain a copy of the License at
http://www\.apache\.org/licenses/LICENSE-2\.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied\.
See the License for the specific language governing permissions and
limitations under the License\.
\*/
```
```
// Copyright $1-present the Material Components for iOS authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
```
Many of our Swift examples are either missing imports or are importing all of
MaterialComponents. Both of these will cause failures during internal builds.
Update buttons within Dialog to have a minimum 48x48 touch area.
Also, update example to make sure in an case where there is a large number of buttons, make sure that their is enough room in the scroll view.
Closes#3664
* [Dialogs] Make "modal" dialog "non-dismissable"
"Modal" dialogs simply meant that they were non-dismissable. Fixing the
wording in the example to communicate the differences.
Pivotal: https://www.pivotaltracker.com/story/show/157298804
* Fixing line format
* [Dialogs] Replace MDCRaisedButton with themer APIs in DialogWithPreferredContentSizeViewController.
Pivotal story: https://www.pivotaltracker.com/story/show/157096622
* Use global theming.
* Proper theming.
Made colorScheme and typographyScheme properties in the class interfaces for all our examples.
Moved theming away from example inits and into viewDidLoad
Small update for slider example to allow it to grab the theming properly.
Related Pivotal: https://www.pivotaltracker.com/story/show/156616695
* Implementing MDCAlertTypographyThemer.
* fixed the test.
* Implementing MDCAlertTypographyThemer.
* fixed the test.
* Dialogs: Example for typography added.
* Revert "[Dialogs] Migrate to Material Motion. (#2481)"
This reverts commit 211ca772ea0456b56e522c0c67bd44312ddfe4d1.
* Bump animator back to 2.5.0
* Pull in develop project file
* Remove test for MMotion
* [Dialogs] Added Example for issue #2860 to Dragons
Added an example to the dialogs examples which shows a dialog from a presented
view controller. Upon dismissal, the content of the view controller (designed to
obviously demark its bounds) shifts due to #2860.
* Changing the dialog content to better illuminate why this example exists.
* Added more informative titles
The presented view controller how has a title which further illustrates the
bounds change since the navigation bar's content shifts too. Also updated the
catalog description.
* Update copyright dates to help kokoro.
Copyright files only during a time range in which they actually existed.
This change implements the Material Motion spec for the Dialogs component using the Motion Interchange, Animator, and Transitioning APIs.
Many of the existing APIs will be able to be deprecated or made private in the future, though there is considerable existing downstream client usage of many of these APIs so this will need to be done with some care.
The client migration path for this change will look something like this on average:
```objc
// Old API
_transitionController = [[MDCDialogTransitionController alloc] init];
self.transitioningDelegate = _transitionController;
self.modalPresentationStyle = UIModalPresentationCustom;
// New API
self.mdm_transitionController.transition = [[MDCDialogTransition alloc] init];
```
* Added warnings to examples.
* fixed some warnings
* using button sender parameter.
* use button sender in example
* use button sender in example
* removed sender from methods that don’t use it.
* removed sender from methods that don’t use it.
* use button sender in example
* use button sender in example
* use button sender in example
* use button sender in example
* Fixed init of header configurator to use passed in parameter
* removed unused API
* use button sender in example
* Revert "Added warnings to examples."
This reverts commit 91f0480f86cb609c47b00f1346f82de67c31c4e9.
* fixed example: Using the view controllers navigationItem rather than creating a new one.
* removed finished checks from animation blocks in examples.
* reverted id sender checks
* revert id sender check for Flexible header UINavigationBar
* revert clug
* revert clug
* addressing nits
* removed sender check for FeatureHighlightTypicalUseView
* more nits
Buttons were previously being sized during `viewDidLoad`, which caused
problems if UIAppearance caused changes to contentEdgeInsets. Instead,
the buttons should be sized before layout of the dialog's subviews.
Also fixing some examples that were incorrectly sizing buttons before
layout.
Closes#1943