578 Commits

Author SHA1 Message Date
Wenyu Zhang
cb4ffbc580
[Chips] Move Chips Theming to Ready. (#7179)
closes https://github.com/material-components/material-components-ios/issues/7164
2019-04-19 12:00:55 -04:00
Wenyu Zhang
9aa1d72bc7
[Cards] Move Cards theming extension to ready. (#7178)
closes https://github.com/material-components/material-components-ios/issues/7165
2019-04-19 11:36:20 -04:00
Wenyu Zhang
ebb9b84be8
Move Tabs theming extension to ready. (#7176)
closes https://github.com/material-components/material-components-ios/issues/7162
2019-04-18 23:24:10 -04:00
Yarden Eitan
5bed3961e6
[ContainerScheme] Graduate ContainerScheme to ready. (#7170)
This PR graduates ContainerScheme to ready.

This includes updating the podspecs, podfile, all the import statements related to ContainerScheme, updating .kokoro rewrite rules, and finally the readme to not have ContainerScheme regarded to as being in beta.

Ran locally kokoro with -b bazel successfully.

Resolves #6732
2019-04-18 09:25:02 -04:00
Wenyu Zhang
998cdda22e Bumped version number to 82.0.0. 2019-04-16 18:03:15 -04:00
Wenyu Zhang
d506ec4088 Revert "Bumped version number to 81.2.0."
This reverts commit de8eee65d9af4420cf96bed5697a8f31daafc300.
2019-04-16 18:02:46 -04:00
Wenyu Zhang
de8eee65d9 Bumped version number to 81.2.0. 2019-04-16 16:25:15 -04:00
featherless
a3e215daa7
[ios8]! Drop support for iOS 8 in all components. (#7135)
Closes https://github.com/material-components/material-components-ios/issues/4656

I used the following `grep` to find references to iOS 8:

    grep -rI "8\.0" .
2019-04-12 23:08:35 +03:00
Yarden Eitan
8d750dc979 Bumped version number to 81.1.0. 2019-04-09 12:59:57 -04:00
Cody Weaver
02e802767b
[Buttons] Integrate MDCRipple into MDCButton (#7087)
## Related links
* Bug: b/129773399
* Ripple: [MDCRipple](https://github.com/material-components/material-components-ios/tree/develop/components/Ripple)

## Introduction
This PR integrates [`MDCStatefulRippleView`](https://github.com/material-components/material-components-ios/blob/develop/components/Ripple/src/MDCStatefulRippleView.h) into [`MDCButton`](https://github.com/material-components/material-components-ios/tree/develop/components/Buttons). This behavior is an opt in flag property added to MDCButton, `enableRippleBehavior`.  This improves the visual touch feedback for our users as MDCInkView didn't support our current motion guidelines. 

## Alternatives considered
I additionally considered using [`MDCRippleView`](https://github.com/material-components/material-components-ios/blob/develop/components/Ripple/src/MDCRippleView.h) but upon investigation that required essentially implementing MDCStatefulRippleView within MDCButton to handle the touch events.

## Videos
| Before | After |
| - | - |
|![oldRipple](https://user-images.githubusercontent.com/7131294/55747652-bd15b500-5a0a-11e9-91ab-d9e431a1371a.gif)|![newRipple](https://user-images.githubusercontent.com/7131294/55747666-c1da6900-5a0a-11e9-896a-becb06661a8a.gif)|
2019-04-09 09:40:02 -04:00
Robert Moore
a56b67ba68
[Tabs] Increase badge text contrast. (#7012)
The Tabs badge default text has a contrast ratio of around 4:1. For WCAG
AA-level text, we should have 4.5:1 for small text like this.  Changing
to Material Red #700 increases contrast to 5:1. Material Red #600 only
provides 4.4:1 against white.

Part of #6981
2019-04-03 14:09:16 -04:00
Robert Moore
afb6295ab2
[BottomNavigation] Increase badge text contrast (#7013)
Increasing text contrast for the Bottom Navigation badge. It's currently
4:1 but WCAG AA requires 4.5:1. Material Red 700 provides 5:1.  Material
Red #600 only provides 4.4:1 against white.

Part of #6981
2019-04-03 11:22:24 -04:00
Robert Moore
62ffa6fb17 Bumped version number to 81.0.0. 2019-04-01 21:41:40 -04:00
Yarden Eitan
ba8269c13e
[Ripple] Graduate Ripple to Ready. (#7000)
Following updating the docs in #6996 and adding additional tests #6992 for the Ripple:

In this PR I am officially graduating Ripple to ready.

These are the steps taken to do so:
1. Update docs to not show Beta anymore.
2. Move Ripple from the Beta podspec to the main podspec.
3. Removal of MDCCard+Private, MDCCard+Ripple, MDCCardCollectionCell+Private, MDCCardCollectionCell+Ripple, as they were used as connectors between Ripple being a beta component and Card being a ready component.
4. Moving the relevant code in the above files into the Card implementation.
5. Modifying the property `enableBetaBehavior` for Cards to `enableRippleBehavior` as it is no longer a beta behavior.

Tested to see all the examples work well for Cards and CardCollectionCells.

Closes #6941
2019-03-27 16:58:01 -04:00
Robert Moore
c886eef520 Fixing podspec for TypographyScheme 2019-03-26 09:29:32 -04:00
Robert Moore
0b4d9ebf5f Bumped version number to 80.0.0. 2019-03-25 16:26:00 -04:00
Robert Moore
4848c0c9e0 Bumped version number to 79.3.0. 2019-03-20 10:45:30 -04:00
Robert Moore
8ae3da1336 Correcting release version to 79.2.0 2019-03-19 09:26:41 -04:00
Robert Moore
a8901c95aa Bumped version number to 79.2.1. 2019-03-18 21:55:39 -04:00
featherless
5340e44671 Bump the release. 2019-03-13 15:52:35 -04:00
featherless
24224024a7 Bump the release. 2019-03-12 16:58:08 -04:00
featherless
4e7a1f6e65 Bump the release. 2019-03-08 13:52:41 -05:00
featherless
bb251cb263 Bump the release. 2019-03-05 09:52:52 -05:00
Yarden Eitan
71512ff72e reverting 2019-02-26 11:50:30 -05:00
Yarden Eitan
0b381e191f Revert "[AppBar] Use test Typography scheme (#6692)"
This reverts commit f7bbace1c0403760445ca02af97f171285d8c773.
2019-02-26 11:49:37 -05:00
Yarden Eitan
72be04af6b Revert "[ButtonBar] Use test Typography scheme (#6693)"
This reverts commit 84916db4360bd9b3db0a7fd5312f1760c840019b.
2019-02-26 11:49:22 -05:00
Yarden Eitan
07343a951b Revert "[Snackbar] Use test Typography scheme (#6695)"
This reverts commit b99025053836a0c97b6b453914f78d379d375f08.
2019-02-26 11:48:57 -05:00
Yarden Eitan
7665eba879 Revert "[Dialogs] Use test Typography scheme (#6694)"
This reverts commit 81bab4571f0c38efde43afaae3dc3b886bc2519a.
2019-02-26 11:48:35 -05:00
Yarden Eitan
8076d9fea9 Bumped version number to 78.0.1. 2019-02-26 10:24:29 -05:00
Robert Moore
81bab4571f
[Dialogs] Use test Typography scheme (#6694)
Using a test-specific Typography scheme to simplify custom scheme
creation. Removes a unit test that was testing the unit test setUp
method.
2019-02-22 11:11:12 -05:00
Robert Moore
b990250538
[Snackbar] Use test Typography scheme (#6695)
Using a test-specific Typography scheme to simplify custom scheme
creation.
2019-02-22 09:44:28 -05:00
Robert Moore
84916db436
[ButtonBar] Use test Typography scheme (#6693)
Using a test-specific Typography scheme to simplify custom scheme
creation.
2019-02-22 09:44:19 -05:00
Robert Moore
f7bbace1c0
[AppBar] Use test Typography scheme (#6692)
Using a test-specific Typography scheme to simplify custom scheme
creation.
2019-02-22 09:44:07 -05:00
Robert Moore
f1b5318d5e
[ColorScheme] Add test schemes. (#6690)
Adding test schemes useful for unit/snapshot tests where the baseline
scheme is insufficient (for example to verify bindings).
2019-02-22 09:43:42 -05:00
Yarden Eitan
7aaa270f19 Bumped version number to 78.0.0. 2019-02-20 13:57:48 -05:00
Yarden Eitan
136273636d
[Cards] [Ripple] Integrate the new ripple and states into the Cards component (#6621)
**Overview**
This PR integrates the new Ripple component and its state support into our existing Cards and CardCells components. It does so in an opt in form, where you must have MaterialComponentsBeta installed for one to have Cards use the new behavior. The PR also includes 2 examples showcasing the new behavior with MDCCard and MDCCardCollectionCell.

**Resolves**: #6463

**Acceptance Criteria:**
* The Cards have an opt in property (as ripple is in beta) to be able to activate the ripple and its states support in Cards. It will fallback to the existing (legacy) implementation by default.
* An MDC example that showcases the work for Cards.
* Interaction and animation with the card should follow the guidelines from the updated cards design doc.

**Implementation Explained**
This is a pioneer PR, trying to converge a beta component into a ready component. To do so we had to have our Card component not be aware of the existence of the beta component Ripple, but we needed the Ripple component to be able to plug in to the Card component.

To achieve this I created a few different things:
1. A ripple delegate that plugs into MDCCard and MDCCardCollectionCell that consists of methods that should be invoked in the component where the Ripple work needs to be inserted. A check for the existence of the delegate and the corresponding delegate method is checked in the Card component before invoked. This allows us to identify if Ripple should be used or not.

2. A MDCCard+Private and MDCCardCollectionCell+Private categories that expose the RippleView property in the implementation files of the Card component, and also exposing other methods that the Ripple integration needs to invoke but aren't exposed in the original Card header files.

3. An MDCCard+Ripple and MDCCardCollectionCell+Ripple categories under beta, that implement the delegate introduced in 1. and have knowledge and access to the beta component Ripple. This is where the actual implementation of the ripple integration sits.

4. Lastly, we need a way to set card.rippleDelegate = self for the +Ripple categories. However, there are a few issues in achieving this. If we create a BOOL property like `shouldIntegrateRipple`, we would need to be able to switch the state from `YES` to `NO` and back correctly. The state is very complicated when you have states, ripple vs ink, etc. Therefore the best way to do this is not to allow users to trigger a BOOL, but to have a separate initializer for `initWithRipple`. However, CardCollectionCells are reused and the dequeue method calls `initWithFrame` and we can't ask it to invoke `initWithRippleandFrame` instead. Therefore, I added performSelector logic in the init methods of the Card component that checks to see if the Cards+Ripple category is apparent (meaning Beta is integrated in the framework), and if so initializes the Ripple. Happy to find alternatives if better ones are offered.

**GIFs before and after**

Before:
![oldtop9card](https://user-images.githubusercontent.com/4066863/53095318-8501f380-34ea-11e9-8b79-328af61e0fc1.gif)

After:
![newtop9card](https://user-images.githubusercontent.com/4066863/53095334-8c290180-34ea-11e9-9767-73d74e8fefd8.gif)
2019-02-20 11:32:19 -05:00
Yarden Eitan
25ff47e248
[Shapes]! Move shapes from components/private to components/ - Part 2 (#6664)
This is the second part of the migration of moving the Shape libraries away from the private/ folder. Continuation to PR: #6495

**This is a breaking change**

Tracking bug, progress and more details can be found here: #6494

Because Shapes and ShapeLibrary have been used in production and are an integral part of the shape scheme and theming. Moreover, with to stop the confusion of clients that the library should not be imported as it is under private, we want to migrate the Shape libs to be under components/ instead of components/private.

The migration will be a 7 step migration to not break clients internally.
**We have completed steps 1 to 4, This PR concludes step 5**

1. move the folders to the new directory.
2. Make the old component's BUILD and Podspec targets depend on the new component (and nothing else).
3. Delete all implementation files from the old component.
4. Replace the contents of the old component's headers with import statements to the new component's header. If the new component has headers that match the old component's, then the new component's headers will need to be named uniquely for a period of time to allow clients to migrate over.
5. Once all clients have migrated from the old component, delete the old component. This is a breaking change.
6. If you had to create temporary header names in the new component, then in a separate release add the new headers that you want the new component to use. Move the content of the old headers into the new headers and replace the old headers with an import of the new headers. Migrate clients to the desired headers.
7. Once all clients have moved off of the old headers, delete the old headers.

Passes bazel build and pod build locally.
2019-02-20 11:31:59 -05:00
Yarden Eitan
bc281ff876
[NavigationDrawer] Expose the a11y identifier so it can be reached for testing purposes. (#6659)
Expose the a11y identifier so it can be reached for testing purposes.

Clients have asked for this to fully test the component in Earl Grey.
2019-02-20 08:34:51 -05:00
Randall Li
7b73a03e14 Merge branch 'release-candidate' into develop 2019-02-15 00:18:41 -05:00
Randall Li
85d3f991c8 Bumped version number to 77.0.0. 2019-02-13 13:38:03 -05:00
Cody Weaver
7614c80c26
[ActionSheet] Promote to Ready (#6613)
## Related links
* Component: [ActionSheet](https://github.com/material-components/material-components-ios/tree/develop/components/ActionSheet)
* Component readiness: [beta-components](https://github.com/material-components/material-components-ios/blob/develop/contributing/beta_components.md)

## Introduction
MDCActionSheet has been in the beta program [since last August](https://github.com/material-components/material-components-ios/pull/4830). I don't foresee any major API changes. 

## Motivation
This will allow clients to use MDCActionSheet through CocoaPods instead of having to clone our repo.

## Proposed solution
Update the Podspec to reflect the `MDCActionSheet` component as a _Ready_ component.
2019-02-13 12:34:35 -05:00
Ian Gordon
ac78d824a9 Bumped version number to 76.1.2. 2019-02-08 14:54:24 -05:00
Ian Gordon
fa686995c7 Bump Version 2019-02-07 13:11:55 -05:00
Ian Gordon
e650856240 Bumped version number to 76.1.0. 2019-02-06 17:49:09 -05:00
Robert Moore
388ccc3808
{CocoaPods} Format MaterialComponents.podspec (#6503)
Splitting up some of our comma-delimited arrays into explicit multi-line
arrays.

Follow-up work from #6501
2019-02-06 11:00:11 -05:00
Robert Moore
68794ae90a Bumped version number to 76.0.0. 2019-01-30 13:17:41 -05:00
Robert Moore
1b98e1ea21
[BottomNavigation] Move controller out of /beta. (#6501)
Instead of having separate `/beta` file paths for beta code, the beta files
can be excluded from CocoaPods. Also adding targets to bazel since it was trying to compile all of the source files (and failing).

Part of #4160
2019-01-29 11:33:51 -05:00
Yarden Eitan
de5d200599
[Shapes] Move shapes from components/private to components/ (#6495)
This is the first part of the migration of moving the Shape libraries away from the private/ folder.

Tracking bug, progress and more details can be found here: #6494 

"Because Shapes and ShapeLibrary have been used in production and are an integral part of the shape scheme and theming. Moreover, with to stop the confusion of clients that the library should not be imported as it is under private, we want to migrate the Shape libs to be under components/ instead of components/private.

The migration will be a 7 step migration to not break clients internally.

1. move the folders to the new directory.
2. Make the old component's BUILD and Podspec targets depend on the new component (and nothing else).
3. Delete all implementation files from the old component.
4. Replace the contents of the old component's headers with import statements to the new component's header. If the new component has headers that match the old component's, then the new component's headers will need to be named uniquely for a period of time to allow clients to migrate over.
5. Once all clients have migrated from the old component, delete the old component. This is a breaking change.
6. If you had to create temporary header names in the new component, then in a separate release add the new headers that you want the new component to use. Move the content of the old headers into the new headers and replace the old headers with an import of the new headers. Migrate clients to the desired headers.
7. Once all clients have moved off of the old headers, delete the old headers.

Passes bazel build and pod build locally.
2019-01-28 17:51:27 -05:00
Rob Moore
a7cb1d6a2e Bumped version number to 75.0.1. 2019-01-23 15:33:37 -05:00
Rob Moore
e13c926089 Bumped version number to 75.0.0. 2019-01-23 10:29:37 -05:00