## Related links
* Related bug: #6441
* Theming extensions: [Buttons+Theming](https://github.com/material-components/material-components-ios/tree/develop/components/Buttons/src/Theming)
## Introduction
The team is pivoting to using theming extensions so our examples should reflect the current best practices when using our APIs.
## The problem
We are using _Themers_ in some instances and some instances used a work around for the container scheme. In #6458 we added a Catalog wide container scheme.
## The fix
Remove _Themers_ for _Theming extensions_ and remove the workarounds for not having a catalog wide container scheme.
### Context
As the team pivots to using theming within extensions we have started off with buttons as a test run. This will be part fo the work with buttons only addressing the contained button type. This adds a new method to MDCButton - `applyContainedThemeWithScheme:(id<MDCContainerScheming>)scheme`
### The problem
We currently do not theme buttons the way the team has decided to theme them
### The fix
This themes Contained buttons with the new style we have all agreed on.
### Remaining Work
Theming for Text and Outlined buttons in this new style.
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.
```
* [Buttons] Remove .largeIcon shape from FloatingButton (#2513)
The LargeIcon shape is not required, since the same behavior (support
for 36-point images) can be achieved by setting the contentEdgeInsets to
.zero.
Also updates one of the button examples to use a 36-point icon.
* [Buttons] Add extended FAB layout code (#2528)
Creating (internal for now) the required properties and layout code to support
the extended FAB. Unit tests to confirm the behavior and some minor
adjustments to existing values like default contentEdgeInsets values.
Implements #2495
* [Buttons] Expose Extended FAB properties (#2543)
Making the new properties public and also migrating away from simple
property setters to the new forShape:inMode: setters required for
UIAppearance support.
* minimumSize
* maximumSize
* contentEdgeInsets
* hitAreaInsets
Implements #2495
* [Buttons] Add basic Floating Button example (#2554)
Includes automatic adjustment of extended/normal layout depending on size
classes.
Demonstrates #2495
* [Buttons] Update README for Extended FAB (#2561)
The README includes usage examples for the FAB. Adding a section to
demonstrate how to configure the FAB in its different shapes and modes.
Documents #2495
All examples now have at least the required `+catalogBreadcrumbs` and `+catalogIsPrimaryDemo`. All examples in the same breadcrumbs path have only one primary demo. There should be only one `-catalogDescription` attached to the primary demo.
Closes#1897
* [Buttons] Unbounded ink aligns to content insets
Unbounded ink should be centered on the content of buttons, but bounded
ink should remain aligned with the bounds of the button.
* Changing Ink behavior for unbounded ink
* Modified Content Rect Insets example in the Catalog
Closes#1669
* Making example buttons have same width
The `contentEdgeInsets` value of an MDCButton causes the `_inkView` to
realign to match the `contentRect`. This results in a ripple/highlight
that does not match the position of the button on-screen (doesn't align
with the background).
This commit removes the re-alignment code, so `_inkView` will remain
aligned with the rest of the button's view.