6 Commits

Author SHA1 Message Date
Andrew Overton
e360f3c1c4 [TextControls] Expose preferredContainerHeight on MDCBaseTextField
PiperOrigin-RevId: 322999254
2020-07-24 08:23:22 -07:00
Andrew Overton
9c99bc9006 [TextControls] Add padding customizing properties to MDCBaseTextField and MDCBaseTextArea
This CL adds two new properties, leadingEdgePaddingOverride and trailingEdgePaddingOverride, to MDCBaseTextField and MDCBaseTextArea. When these properties are set, they will be used as padding values by the text field. When they are not set, the text field will use default values. I decided to make these properties NSNumbers, so there is a distinction between setting them to a @0 and leaving them as nil. This is where optionals would come in handy...

Things to come in upcoming CLs:
* Snapshot tests for text areas
* Will rename MDCTextControlVerticalPositioningReference to MDCTextControlVerticalPositioning, for consistency with its horizontal equivalent

PiperOrigin-RevId: 317349272
2020-06-19 11:49:20 -07:00
Andrew Overton
55f0fead00 [TextControls] Add underlined text field
This CL adds an MDCUnderlinedTextField class and some snapshot tests. Upcoming CLs will make slight visual modifications that will be reflected in snapshot diffs.

PiperOrigin-RevId: 314993621
2020-06-05 14:12:50 -07:00
Andrew Overton
083cf8c12f
[TextControls] Restructure Cocoapods and Blaze targets (#9430)
## UPDATED PR DESCRIPTION:

**NOTE: [cl/290296411](http://cl/290296411) must be patched into whatever release includes this PR.**

There were requests to break it up further. With the latest changes, it will look like this in the future:

//components/TextControls:Shared # shared public types
//components/TextControls:BaseTextFields
//components/TextControls:FilledTextFields
//components/TextControls:FilledTextFieldsTheming
//components/TextControls:OutlinedTextFields
//components/TextControls:OutlinedTextFieldsTheming
//components/TextControls:BaseTextAreas
//components/TextControls:FilledTextAreas
//components/TextControls:FilledTextAreasTheming
//components/TextControls:OutlinedTextAreas
//components/TextControls:OutlinedTextAreasTheming
//components/TextControls:FilledInputChipView
//components/TextControls:FilledInputChipViewTheming
//components/TextControls:OutlinedInputChipView
//components/TextControls:OutlinedInputChipViewTheming
//components/private/TextControlsPrivate: Shared # shared private types
//components/private/TextControlsPrivate:OutlinedStyle
//components/private/TextControlsPrivate:FilledStyle

This would make it easier to sunset/retire a specific style of a specific text control type, for example.

## ORIGINAL PR DESCRIPTION:

This PR is an attempt to satisfy the recent requests to break up the Cocoapods subspecs and Bazel targets for TextControls.

~**NOTE: [cl/289710430](http://cl/289710430) must be patched into whatever release includes this PR.**~

**ANOTHER NOTE: This PR will break any third party people who depend on TextControls via Cocoapods and have not pinned to a specific version of our library.**

This PR takes the following Cocoapods subspecs:
TextControls
TextControls+Theming

And breaks them up into these ones:
TextControls
TextControls+TextFields
TextControls+TextFieldsTheming
private/TextControlsPrivate

Similarly, it takes the following bazel targets:
//components/TextControls
//components/TextControls:Theming

And breaks them up into these ones:
//components/TextControls
//components/TextControls:TextFields
//components/TextControls:TextFieldsTheming
//components/private/TextControlsPrivate

Where before a third party client would have had the following in their Podfile:
`pod 'MaterialComponents/TextControls'`
They would now have:
`pod 'MaterialComponents/TextControls+TextFields'`

When I started this work I originally planned to have there be top level components for each of the TextControls that all depended on a shared private component. However, I quickly remembered that all the text controls shared some public types too. At some point I decided it make make sense to make use of extensions.

In order to satisfy pod lib lint I had to add some dummy source files and dummy test files. The dummy test files could potentially have some stuff in there if we want to validate the enums they refer to somehow...

Closes #9405.
2020-01-17 15:21:08 -05:00
Andrew Overton
53a925d96d
Snapshot test with AXXXL sizes (#8781)
Note: This PR no longer relates to the automatic adjusting behavior on MDCBaseTextField. Instead, it is solely about adding snapshot test coverage for accessibility XXXL content sizes.

Closes #8800.
2019-11-13 12:26:25 -05:00
Andrew Overton
02f9c9f01d
Move new TextFields into TextControls directory (#8726)
In this PR I extract the new TextFields from the old TextFields directory. In the future, if we bring over the input chip view and text area, they will go under this new TextControls directory as well.

Closes #8684.
2019-11-07 14:17:56 -05:00