From c3d3bd34affdd0d52500682bb3c129995f24eadc Mon Sep 17 00:00:00 2001 From: Justin Shephard Date: Fri, 10 Feb 2017 15:07:04 -0500 Subject: [PATCH 1/9] [NavigationBar] - Added Accessibility Mutator (#1109) * [NavigationBar] - Added Accessibility Enforcer to Navigation Bar. Updated Podspec to include MDFTextAccessibility to MDCNavigationBar * [NavigationBar] - Added unit tests and updated examples * [NavigationBar] - Updated doc comment * [NavigationBar] - Updated naming convention of mutator * [NavigationBar] - Updated examples * Update and rename NavigationBarAccessibilityEnforcerTestColorTest.swift to NavigationBarAccessibilityMutatorTestColorTest.swift --- MaterialComponents.podspec | 3 + .../examples/NavigationBarTypicalUseExample.m | 5 +- .../NavigationBarTypicalUseExample.swift | 5 +- .../NavigationBarWithBarItemsExample.m | 5 +- .../NavigationBar/src/MDCNavigationBar.h | 25 ++++++ .../NavigationBar/src/MDCNavigationBar.m | 30 +++++++ ...BarAccessibilityMutatorTestColorTest.swift | 86 +++++++++++++++++++ 7 files changed, 152 insertions(+), 7 deletions(-) create mode 100644 components/NavigationBar/tests/unit/NavigationBarAccessibilityMutatorTestColorTest.swift diff --git a/MaterialComponents.podspec b/MaterialComponents.podspec index e6e342e1771..e7041ed0a69 100644 --- a/MaterialComponents.podspec +++ b/MaterialComponents.podspec @@ -177,6 +177,9 @@ Pod::Spec.new do |s| ss.public_header_files = "components/#{ss.base_name}/src/*.h" ss.source_files = "components/#{ss.base_name}/src/*.{h,m}" + # Accessibility Configurator + ss.dependency "MDFTextAccessibility" + ss.dependency "MaterialComponents/ButtonBar" ss.dependency "MaterialComponents/Typography" ss.dependency "MaterialComponents/private/RTL" diff --git a/components/NavigationBar/examples/NavigationBarTypicalUseExample.m b/components/NavigationBar/examples/NavigationBarTypicalUseExample.m index 4f33f4e10c6..8cb7291d241 100644 --- a/components/NavigationBar/examples/NavigationBarTypicalUseExample.m +++ b/components/NavigationBar/examples/NavigationBarTypicalUseExample.m @@ -34,11 +34,12 @@ - (void)viewDidLoad { self.navBar = [[MDCNavigationBar alloc] initWithFrame:CGRectZero]; [self.navBar observeNavigationItem:self.navigationItem]; - self.navBar.tintColor = [UIColor whiteColor]; - self.navBar.titleTextAttributes = @{NSForegroundColorAttributeName : [UIColor whiteColor]}; // Light blue 500 [self.navBar setBackgroundColor:[UIColor colorWithRed:0.012 green:0.663 blue:0.957 alpha:1]]; + MDCNavigationBarTextColorAccessibilityMutator *mutator = + [[MDCNavigationBarTextColorAccessibilityMutator alloc] init]; + [mutator mutate:self.navBar]; [self.view addSubview:self.navBar]; diff --git a/components/NavigationBar/examples/NavigationBarTypicalUseExample.swift b/components/NavigationBar/examples/NavigationBarTypicalUseExample.swift index b57ba40ccf4..2a6ad5f6a12 100644 --- a/components/NavigationBar/examples/NavigationBarTypicalUseExample.swift +++ b/components/NavigationBar/examples/NavigationBarTypicalUseExample.swift @@ -28,12 +28,11 @@ open class NavigationBarTypicalUseSwiftExample: NavigationBarTypicalUseExample { navBar = MDCNavigationBar() navBar!.observe(navigationItem) - navBar!.tintColor = .white - navBar!.titleTextAttributes = - [ NSForegroundColorAttributeName: UIColor.white ] // Light blue 500 navBar!.backgroundColor = UIColor.init(red: 0.012, green: 0.663, blue: 0.957, alpha: 1) + var mutator = MDCNavigationBarTextColorAccessibilityMutator() + mutator.mutate(navBar!) view.addSubview(navBar!) diff --git a/components/NavigationBar/examples/NavigationBarWithBarItemsExample.m b/components/NavigationBar/examples/NavigationBarWithBarItemsExample.m index 578305270ff..4dc86a54bd1 100644 --- a/components/NavigationBar/examples/NavigationBarWithBarItemsExample.m +++ b/components/NavigationBar/examples/NavigationBarWithBarItemsExample.m @@ -44,11 +44,12 @@ - (void)viewDidLoad { self.navBar = [[MDCNavigationBar alloc] initWithFrame:CGRectZero]; [self.navBar observeNavigationItem:self.navigationItem]; - self.navBar.tintColor = [UIColor whiteColor]; - self.navBar.titleTextAttributes = @{NSForegroundColorAttributeName : [UIColor whiteColor]}; // Light blue 500 [self.navBar setBackgroundColor:[UIColor colorWithRed:0.012 green:0.663 blue:0.957 alpha:1]]; + MDCNavigationBarTextColorAccessibilityMutator *mutator = + [[MDCNavigationBarTextColorAccessibilityMutator alloc] init]; + [mutator mutate:self.navBar]; [self.view addSubview:self.navBar]; diff --git a/components/NavigationBar/src/MDCNavigationBar.h b/components/NavigationBar/src/MDCNavigationBar.h index 8c4b223c8d7..8e3b250a34d 100644 --- a/components/NavigationBar/src/MDCNavigationBar.h +++ b/components/NavigationBar/src/MDCNavigationBar.h @@ -44,6 +44,31 @@ typedef NS_ENUM(NSInteger, MDCNavigationBarTitleAlignment) { @end +@class MDCNavigationBar; + +/** + The MDCNavigationBarTextColorAccessibilityMutator class creates an external object with which to + work on an instance of a Material Navigation Bar to activate and esnure accessibility on its title + and buttons. + + ### Dependencies + + Material NavigationBarTextColorAccessibilityMutator depends on the Navigation Bar material + component and MDFTextAccessibility Framework. + */ + +@interface MDCNavigationBarTextColorAccessibilityMutator : NSObject + +- (nonnull instancetype)init; + +/** + Mutates title text color and navigation items' tint colors based on background color of + navigation bar. + */ +- (void)mutate:(nonnull MDCNavigationBar *)navBar; + +@end + /** The MDCNavigationBar class is a view consisting of a leading and trailing button bar, title label, and an optional title view. diff --git a/components/NavigationBar/src/MDCNavigationBar.m b/components/NavigationBar/src/MDCNavigationBar.m index 34cb3abd82e..06ab39448e9 100644 --- a/components/NavigationBar/src/MDCNavigationBar.m +++ b/components/NavigationBar/src/MDCNavigationBar.m @@ -19,6 +19,7 @@ #import "MaterialButtonBar.h" #import "MaterialRTL.h" #import "MaterialTypography.h" +#import "MDFTextAccessibility.h" #import @@ -88,6 +89,35 @@ static inline CGFloat Floor(CGFloat value) { @"MDCNavigationBarLeadingButtonSupplementsBackButtonKey"; static NSString *const MDCNavigationBarTitleAlignmentKey = @"MDCNavigationBarTitleAlignmentKey"; +@implementation MDCNavigationBarTextColorAccessibilityMutator + +- (nonnull instancetype)init { + self = [super init]; + return self; +} + +- (void)mutate:(MDCNavigationBar *)navBar { + // Determine what is the appropriate background color + UIColor *backgroundColor = navBar.backgroundColor; + if (!backgroundColor) { + return; + } + + // Update title label color based on navigationBar backgroundColor + NSMutableDictionary *textAttr = + [NSMutableDictionary dictionaryWithDictionary:[navBar titleTextAttributes]]; + UIColor *textColor = [MDFTextAccessibility textColorOnBackgroundColor:backgroundColor + targetTextAlpha:1.0 + font:[textAttr objectForKey:NSFontAttributeName]]; + [textAttr setObject:textColor forKey:NSForegroundColorAttributeName]; + [navBar setTitleTextAttributes:textAttr]; + + // Update button's tint color based on navigationBar backgroundColor + navBar.tintColor = textColor; +} + +@end + /** Indiana Jones style placeholder view for UINavigationBar. Ownership of UIBarButtonItem.customView and UINavigationItem.titleView are normally transferred to UINavigationController but we plan to diff --git a/components/NavigationBar/tests/unit/NavigationBarAccessibilityMutatorTestColorTest.swift b/components/NavigationBar/tests/unit/NavigationBarAccessibilityMutatorTestColorTest.swift new file mode 100644 index 00000000000..4c36b285d41 --- /dev/null +++ b/components/NavigationBar/tests/unit/NavigationBarAccessibilityMutatorTestColorTest.swift @@ -0,0 +1,86 @@ +/* + Copyright 2016-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. + */ + +import XCTest +import MaterialComponents +import MDFTextAccessibility + +// Tests confirming that the Navigation Bar Accessibility Mutator correctly changes title font +// color and tint color to meet accepted accessibility values defined by MDFTextAccessibility + +class NavigationBarAccessibilityMutatorTestColorTest: XCTestCase { + + var navBar : MDCNavigationBar! + var mutator : MDCNavigationBarTextColorAccessibilityMutator! + + override func setUp() { + super.setUp() + navBar = MDCNavigationBar() + mutator = MDCNavigationBarTextColorAccessibilityMutator() + } + + func testDarkNavigationBarBackground() { + // Given + navBar.backgroundColor = UIColor.black + + // When + mutator.mutate(navBar) + + // Then + let fontColor = navBar.titleTextAttributes![NSForegroundColorAttributeName] as! UIColor + let tintColor = navBar.tintColor + let accessibleColor = MDFTextAccessibility.textColor(onBackgroundColor: UIColor.black, + targetTextAlpha: 1.0, + font: nil) + + XCTAssertEqual(fontColor, accessibleColor) + XCTAssertEqual(tintColor, accessibleColor) + } + + func testLightNavigationBarBackground() { + // Given + navBar.backgroundColor = UIColor.white + + // When + mutator.mutate(navBar) + + // Then + let fontColor = navBar.titleTextAttributes![NSForegroundColorAttributeName] as! UIColor + let tintColor = navBar.tintColor + let accessibleColor = MDFTextAccessibility.textColor(onBackgroundColor: UIColor.white, + targetTextAlpha: 1.0, + font: nil) + XCTAssertEqual(fontColor, accessibleColor) + XCTAssertEqual(tintColor, accessibleColor) + } + + func testNoBackgroundColor() { + // Given no background color set + let fontColorBefore = navBar.titleTextAttributes?[NSForegroundColorAttributeName] as? UIColor + let tintColorBefore = navBar.tintColor + + // When + mutator.mutate(navBar) + + // Then + let fontColorAfter = navBar.titleTextAttributes?[NSForegroundColorAttributeName] as? UIColor + let tintColorAfter = navBar.tintColor + XCTAssertEqual(fontColorBefore, fontColorAfter) + XCTAssertEqual(tintColorBefore, tintColorAfter) + + } + +} From 5db1b8add5e9e77d9439a973cbc9d2d41188d049 Mon Sep 17 00:00:00 2001 From: Justin Shephard Date: Mon, 13 Feb 2017 13:29:59 -0500 Subject: [PATCH 2/9] [Ink] - Fix memory leak in Ink and correct issues with ink when re-using cells (#1180) * [Collections] - Initial changes * [Ink] - Updated MDCInkLayer to allow for multiple foreground and background ripples that stay referenced as opposed to one and one. * [Ink] - Code cleanup, indentions, removed unused properties * [Ink] - Line character counts * [Ink] - More code cleanup, renaming, line spacing * [Ink] - Updated docs * [Ink] - Renamed methods * [Ink] - Added state of cancelled for ink to prevent completion block calling * [Ink] - Moved some api to private, updated completion blocks to incorporate weakSelf/strongSelf * [Ink] - Removed testing and example code * [Ink] - Additional demo code removed * [Ink] - Broke retain cycle in ink * [Ink] - Prevent over removal of ink layers caused by animation delegate being called on animation end AND removal * [Ink] - Pulled completion block setting out if not needed * [Ink] - Updated naming convention * [Ink] - Addressing comments (possible crash on setting inkView to nil on collection cell, naming) * [Ink] - Added easy out on setInkView method, styling for property declarations * [Ink] - Renamed clearAllAnimations method to get in tandem with removeAllAnimations method on super class of CALayer * [Ink] - Removed dependence on indexing for unedited ripples and rather using array count property --- .../src/MDCCollectionViewCell+Ink.h | 30 --- .../src/MDCCollectionViewCell+Ink.m | 43 ---- .../src/MDCCollectionViewCell.h | 5 + .../src/MDCCollectionViewCell.m | 25 +++ .../src/MaterialCollectionCells.h | 1 - components/Ink/src/MDCInkView.m | 2 +- components/Ink/src/private/MDCInkLayer.h | 2 +- components/Ink/src/private/MDCInkLayer.m | 210 +++++++++++++----- 8 files changed, 184 insertions(+), 134 deletions(-) delete mode 100644 components/CollectionCells/src/MDCCollectionViewCell+Ink.h delete mode 100644 components/CollectionCells/src/MDCCollectionViewCell+Ink.m diff --git a/components/CollectionCells/src/MDCCollectionViewCell+Ink.h b/components/CollectionCells/src/MDCCollectionViewCell+Ink.h deleted file mode 100644 index 1732edac535..00000000000 --- a/components/CollectionCells/src/MDCCollectionViewCell+Ink.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - Copyright 2016-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. - */ - -#import "MDCCollectionViewCell.h" - -#import "MaterialInk.h" - -/** - This class adds an ink view as a cell subview. Must be used with an ink controller in order to - fully implement ink behavior. - */ -@interface MDCCollectionViewCell (Ink) - -/** View containing the ink effect. */ -@property(nonatomic, strong, nullable) MDCInkView *inkView; - -@end diff --git a/components/CollectionCells/src/MDCCollectionViewCell+Ink.m b/components/CollectionCells/src/MDCCollectionViewCell+Ink.m deleted file mode 100644 index 9d30606b4b1..00000000000 --- a/components/CollectionCells/src/MDCCollectionViewCell+Ink.m +++ /dev/null @@ -1,43 +0,0 @@ -/* - Copyright 2016-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. - */ - -#import "MDCCollectionViewCell+Ink.h" - -#import - -@implementation MDCCollectionViewCell (Ink) - -@dynamic inkView; - -- (MDCInkView *)inkView { - MDCInkView *ink = objc_getAssociatedObject(self, _cmd); - if (!ink) { - ink = [[MDCInkView alloc] initWithFrame:self.bounds]; - [self addSubview:ink]; - objc_setAssociatedObject(self, @selector(inkView), ink, OBJC_ASSOCIATION_RETAIN_NONATOMIC); - } - return ink; -} - -- (void)setInkView:(MDCInkView *)inkView { - if (self.inkView) { - [self.inkView removeFromSuperview]; - } - [self addSubview:inkView]; - objc_setAssociatedObject(self, @selector(inkView), inkView, OBJC_ASSOCIATION_RETAIN_NONATOMIC); -} - -@end diff --git a/components/CollectionCells/src/MDCCollectionViewCell.h b/components/CollectionCells/src/MDCCollectionViewCell.h index c05348ef0a2..c2568a2c3fe 100644 --- a/components/CollectionCells/src/MDCCollectionViewCell.h +++ b/components/CollectionCells/src/MDCCollectionViewCell.h @@ -14,6 +14,8 @@ limitations under the License. */ +#import "MaterialInk.h" + #import /** The available cell accessory view types. Based on UITableViewCellAccessoryType. */ @@ -94,4 +96,7 @@ typedef NS_ENUM(NSUInteger, MDCCollectionViewCellAccessoryType) { */ - (void)setEditing:(BOOL)editing animated:(BOOL)animated; +/** View containing the ink effect. */ +@property(nonatomic, strong, nullable) MDCInkView *inkView; + @end diff --git a/components/CollectionCells/src/MDCCollectionViewCell.m b/components/CollectionCells/src/MDCCollectionViewCell.m index e94e4fee2e8..2a655bfbdfb 100644 --- a/components/CollectionCells/src/MDCCollectionViewCell.m +++ b/components/CollectionCells/src/MDCCollectionViewCell.m @@ -57,6 +57,8 @@ @implementation MDCCollectionViewCell { UIImageView *_editingSelectorImageView; } +@synthesize inkView = _inkView; + - (instancetype)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { @@ -106,6 +108,8 @@ - (void)prepareForReuse { // Reset cells hidden during swipe deletion. self.hidden = NO; + + [self.inkView cancelAllAnimationsAnimated:NO]; } - (void)layoutSubviews { @@ -255,6 +259,27 @@ - (CGRect)accessoryFrame { return CGRectMake(originX, originY, size.width, size.height); } +- (MDCInkView *)inkView { + if (!_inkView) { + _inkView = [[MDCInkView alloc] initWithFrame:self.bounds]; + [self addSubview:_inkView]; + } + return _inkView; +} + +- (void)setInkView:(MDCInkView *)inkView { + if (inkView == _inkView) { + return; + } + if (_inkView) { + [_inkView removeFromSuperview]; + } + if (inkView) { + [self addSubview:inkView]; + } + _inkView = inkView; +} + #pragma mark - Separator - (void)setShouldHideSeparator:(BOOL)shouldHideSeparator { diff --git a/components/CollectionCells/src/MaterialCollectionCells.h b/components/CollectionCells/src/MaterialCollectionCells.h index 15e460857dc..9a0e5652053 100644 --- a/components/CollectionCells/src/MaterialCollectionCells.h +++ b/components/CollectionCells/src/MaterialCollectionCells.h @@ -14,6 +14,5 @@ limitations under the License. */ -#import "MDCCollectionViewCell+Ink.h" #import "MDCCollectionViewCell.h" #import "MDCCollectionViewTextCell.h" diff --git a/components/Ink/src/MDCInkView.m b/components/Ink/src/MDCInkView.m index 31b9f30fc6d..01989c83d6d 100644 --- a/components/Ink/src/MDCInkView.m +++ b/components/Ink/src/MDCInkView.m @@ -115,7 +115,7 @@ - (void)startTouchEndedAnimationAtPoint:(CGPoint)point } - (void)cancelAllAnimationsAnimated:(BOOL)animated { - [self.inkLayer reset:animated]; + [self.inkLayer resetAllInk:animated]; } - (UIColor *)defaultInkColor { diff --git a/components/Ink/src/private/MDCInkLayer.h b/components/Ink/src/private/MDCInkLayer.h index c059e92b5b8..a22b14d3274 100644 --- a/components/Ink/src/private/MDCInkLayer.h +++ b/components/Ink/src/private/MDCInkLayer.h @@ -70,7 +70,7 @@ @param animated Enables the ink ripple fade out animation. */ -- (void)reset:(BOOL)animated; +- (void)resetAllInk:(BOOL)animated; /** Spreads the ink over the whole view. diff --git a/components/Ink/src/private/MDCInkLayer.m b/components/Ink/src/private/MDCInkLayer.m index ef399d909f4..338966e6327 100644 --- a/components/Ink/src/private/MDCInkLayer.m +++ b/components/Ink/src/private/MDCInkLayer.m @@ -73,22 +73,26 @@ static inline CGFloat MDCInkLayerRectHypotenuse(CGRect rect) { typedef NS_ENUM(NSInteger, MDCInkRippleState) { kInkRippleNone, kInkRippleSpreading, - kInkRippleComplete + kInkRippleComplete, + kInkRippleCancelled, }; @protocol MDCInkLayerRippleDelegate @optional -- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)finished; +- (void)animationDidStop:(CAAnimation *)anim + shapeLayer:(CAShapeLayer *)shapeLayer + finished:(BOOL)finished; @end @interface MDCInkLayerRipple : CAShapeLayer +@property(nonatomic, assign, getter=isAnimationCleared) BOOL animationCleared; @property(nonatomic, weak) id animationDelegate; @property(nonatomic, assign) BOOL bounded; -@property(nonatomic, strong) CALayer *inkLayer; +@property(nonatomic, weak) CALayer *inkLayer; @property(nonatomic, assign) CGFloat radius; @property(nonatomic, assign) CGPoint point; @property(nonatomic, assign) CGRect targetFrame; @@ -108,6 +112,7 @@ - (instancetype)init { self = [super init]; if (self) { _rippleState = kInkRippleNone; + _animationCleared = YES; } return self; } @@ -123,10 +128,13 @@ - (void)setupRipple { - (void)enter { _rippleState = kInkRippleSpreading; [_inkLayer addSublayer:self]; + _animationCleared = NO; } - (void)exit { - _rippleState = kInkRippleComplete; + if (_rippleState != kInkRippleCancelled) { + _rippleState = kInkRippleComplete; + } } - (CAKeyframeAnimation *)opacityAnimWithValues:(NSArray *)values @@ -169,8 +177,10 @@ - (CAMediaTimingFunction *)logDecelerateEasing { } - (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)finished { - [self removeFromSuperlayer]; - [self.animationDelegate animationDidStop:anim finished:finished]; + if (!self.isAnimationCleared) { + [self removeFromSuperlayer]; + [self.animationDelegate animationDidStop:anim shapeLayer:self finished:finished]; + } } @end @@ -205,7 +215,7 @@ - (void)setupRipple { [super setupRipple]; } -- (void)enter { +- (void)enterWithCompletion:(void (^)())completionBlock { [super enter]; if (self.bounded) { @@ -242,11 +252,28 @@ - (void)enter { _foregroundPositionAnim.keyTimes = @[ @(kInkLayerForegroundUnboundedEnterDelay), @1 ]; [self addAnimation:_foregroundPositionAnim forKey:kInkLayerForegroundPositionAnim]; } + + [CATransaction begin]; + if (completionBlock) { + __weak MDCInkLayerForegroundRipple *weakSelf = self; + [CATransaction setCompletionBlock:^{ + MDCInkLayerForegroundRipple *strongSelf = weakSelf; + if (strongSelf.rippleState != kInkRippleCancelled) { + completionBlock(); + } + }]; + } [self addAnimation:_foregroundOpacityAnim forKey:kInkLayerForegroundOpacityAnim]; [self addAnimation:_foregroundScaleAnim forKey:kInkLayerForegroundScaleAnim]; + [CATransaction commit]; } - (void)exit:(BOOL)animated { + self.rippleState = kInkRippleCancelled; + [self exit:animated completion:nil]; +} + +- (void)exit:(BOOL)animated completion:(void (^)())completionBlock { [super exit]; if (!animated) { @@ -321,9 +348,28 @@ - (void)exit:(BOOL)animated { _foregroundPositionAnim.timingFunction = [self logDecelerateEasing]; _foregroundScaleAnim.timingFunction = [self logDecelerateEasing]; + [CATransaction begin]; + if (completionBlock) { + __weak MDCInkLayerForegroundRipple *weakSelf = self; + [CATransaction setCompletionBlock:^{ + MDCInkLayerForegroundRipple *strongSelf = weakSelf; + if (strongSelf.rippleState != kInkRippleCancelled) { + completionBlock(); + } + }]; + } [self addAnimation:_foregroundOpacityAnim forKey:kInkLayerForegroundOpacityAnim]; [self addAnimation:_foregroundPositionAnim forKey:kInkLayerForegroundPositionAnim]; [self addAnimation:_foregroundScaleAnim forKey:kInkLayerForegroundScaleAnim]; + [CATransaction commit]; +} + +- (void)removeAllAnimations { + [super removeAllAnimations]; + _foregroundOpacityAnim = nil; + _foregroundPositionAnim = nil; + _foregroundScaleAnim = nil; + self.animationCleared = YES; } @end @@ -379,16 +425,38 @@ - (void)exit:(BOOL)animated { [self addAnimation:_backgroundOpacityAnim forKey:kInkLayerBackgroundOpacityAnim]; } +- (void)removeAllAnimations { + [super removeAllAnimations]; + _backgroundOpacityAnim = nil; + self.animationCleared = YES; +} + @end @interface MDCInkLayer () +/** + Reset the bottom-most ink applied to the layer with a completion handler to be called on completion + if applicable. + + @param animated Enables the ink ripple fade out animation. + @param completionBlock Block called after the completion of the animation. + */ +- (void)resetBottomInk:(BOOL)animated completion:(void (^)())completionBlock; + +/** + Reset the bottom-most ink applied to the layer with a completion handler to be called on completion + if applicable. + + @param animated Enables the ink ripple fade out animation. + @param point Evaporate the ink towards the point. + @param completionBlock Block called after the completion of the animation. + */ +- (void)resetBottomInk:(BOOL)animated toPoint:(CGPoint)point completion:(void (^)())completionBlock; + @property(nonatomic, strong) CAShapeLayer *compositeRipple; -@property(nonatomic, strong) MDCInkLayerForegroundRipple *foregroundRipple; -@property(nonatomic, strong) MDCInkLayerBackgroundRipple *backgroundRipple; -@property(nonatomic, copy) void (^spreadCompletionBlock)(); -@property(nonatomic, copy) void (^evaporateCompletionBlock)(); -@property(nonatomic, copy) void (^evaporateToPointCompletionBlock)(); +@property(nonatomic, strong) NSMutableArray *foregroundRipples; +@property(nonatomic, strong) NSMutableArray *backgroundRipples; @end @@ -400,6 +468,8 @@ - (instancetype)init { self.masksToBounds = YES; _bounded = YES; _compositeRipple = [CAShapeLayer layer]; + _foregroundRipples = [NSMutableArray array]; + _backgroundRipples = [NSMutableArray array]; [self addSublayer:_compositeRipple]; } return self; @@ -422,11 +492,37 @@ - (void)layoutSublayers { _compositeRipple.mask = rippleMaskLayer; } -- (void)reset:(BOOL)animated { - [_foregroundRipple exit:animated]; - [_backgroundRipple exit:animated]; - _foregroundRipple = nil; - _backgroundRipple = nil; +- (void)resetAllInk:(BOOL)animated { + if (self.foregroundRipples.count > 0) { + [self.foregroundRipples makeObjectsPerformSelector:@selector(exit:)]; + } + if (self.backgroundRipples.count > 0) { + [self.backgroundRipples makeObjectsPerformSelector:@selector(exit:)]; + } +} + +- (void)resetBottomInk:(BOOL)animated completion:(void (^)())completionBlock { + if (self.foregroundRipples.count > 0) { + [[self.foregroundRipples objectAtIndex:(self.foregroundRipples.count - 1)] exit:animated + completion:completionBlock]; + } + if (self.backgroundRipples.count > 0) { + [[self.backgroundRipples objectAtIndex:(self.backgroundRipples.count - 1)] exit:animated]; + } +} + +- (void)resetBottomInk:(BOOL)animated + toPoint:(CGPoint)point + completion:(void (^)())completionBlock { + if (self.foregroundRipples.count > 0) { + MDCInkLayerForegroundRipple *foregroundRipple = + [self.foregroundRipples objectAtIndex:(self.foregroundRipples.count - 1)]; + foregroundRipple.point = point; + [foregroundRipple exit:animated completion:completionBlock]; + } + if (self.backgroundRipples.count > 0) { + [[self.backgroundRipples objectAtIndex:(self.backgroundRipples.count - 1)] exit:animated]; + } } #pragma mark - Properties @@ -446,57 +542,55 @@ - (void)spreadFromPoint:(CGPoint)point completion:(void (^)())completionBlock { CGFloat radius = MDCInkLayerRadiusBounds(_maxRippleRadius, MDCInkLayerRectHypotenuse(self.bounds) / 2.f, _bounded); - _backgroundRipple = [[MDCInkLayerBackgroundRipple alloc] init]; - _backgroundRipple.inkLayer = _compositeRipple; - _backgroundRipple.targetFrame = self.bounds; - _backgroundRipple.point = point; - _backgroundRipple.color = self.inkColor; - _backgroundRipple.radius = radius; - _backgroundRipple.bounded = self.bounded; - [_backgroundRipple setupRipple]; - - _foregroundRipple = [[MDCInkLayerForegroundRipple alloc] init]; - _foregroundRipple.inkLayer = _compositeRipple; - _foregroundRipple.targetFrame = self.bounds; - _foregroundRipple.point = point; - _foregroundRipple.color = self.inkColor; - _foregroundRipple.radius = radius; - _foregroundRipple.bounded = self.bounded; - _foregroundRipple.animationDelegate = self; - _foregroundRipple.useCustomInkCenter = self.useCustomInkCenter; - _foregroundRipple.customInkCenter = self.customInkCenter; - [_foregroundRipple setupRipple]; - - [_backgroundRipple enter]; - [_foregroundRipple enter]; - - _spreadCompletionBlock = completionBlock; + MDCInkLayerBackgroundRipple *backgroundRipple = [[MDCInkLayerBackgroundRipple alloc] init]; + backgroundRipple.inkLayer = _compositeRipple; + backgroundRipple.targetFrame = self.bounds; + backgroundRipple.point = point; + backgroundRipple.color = self.inkColor; + backgroundRipple.radius = radius; + backgroundRipple.bounded = self.bounded; + backgroundRipple.animationDelegate = self; + [backgroundRipple setupRipple]; + + MDCInkLayerForegroundRipple *foregroundRipple = [[MDCInkLayerForegroundRipple alloc] init]; + foregroundRipple.inkLayer = _compositeRipple; + foregroundRipple.targetFrame = self.bounds; + foregroundRipple.point = point; + foregroundRipple.color = self.inkColor; + foregroundRipple.radius = radius; + foregroundRipple.bounded = self.bounded; + foregroundRipple.animationDelegate = self; + foregroundRipple.useCustomInkCenter = self.useCustomInkCenter; + foregroundRipple.customInkCenter = self.customInkCenter; + [foregroundRipple setupRipple]; + + [backgroundRipple enter]; + [self.backgroundRipples addObject:backgroundRipple]; + [foregroundRipple enterWithCompletion:completionBlock]; + [self.foregroundRipples addObject:foregroundRipple]; + } - (void)evaporateWithCompletion:(void (^)())completionBlock { - _evaporateCompletionBlock = completionBlock; - [self reset:YES]; + [self resetBottomInk:YES completion:completionBlock]; } - (void)evaporateToPoint:(CGPoint)point completion:(void (^)())completionBlock { - _evaporateToPointCompletionBlock = completionBlock; - _foregroundRipple.point = point; - [self reset:YES]; + [self resetBottomInk:YES toPoint:point completion:completionBlock]; } #pragma mark - MDCInkLayerRippleDelegate -- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)finished { - if (finished) { - if (_spreadCompletionBlock) { - _spreadCompletionBlock(); - } - if (_evaporateCompletionBlock) { - _evaporateCompletionBlock(); - } - if (_evaporateToPointCompletionBlock) { - _evaporateToPointCompletionBlock(); - } +- (void)animationDidStop:(CAAnimation *)anim + shapeLayer:(CAShapeLayer *)shapeLayer + finished:(BOOL)finished { + + [shapeLayer removeAllAnimations]; + + if ([shapeLayer isMemberOfClass:[MDCInkLayerForegroundRipple class]]) { + [self.foregroundRipples removeObject:(MDCInkLayerForegroundRipple *)shapeLayer]; + } else if ([shapeLayer isMemberOfClass:[MDCInkLayerBackgroundRipple class]]) { + [self.backgroundRipples removeObject:(MDCInkLayerBackgroundRipple *)shapeLayer]; } } From a6b23484bdf25b3f15629693e0e8beb65932791a Mon Sep 17 00:00:00 2001 From: Will Larche Date: Mon, 13 Feb 2017 16:35:55 -0500 Subject: [PATCH 3/9] [Typography] Corrects typo in snippet. (#1198) --- components/Typography/README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/components/Typography/README.md b/components/Typography/README.md index b17e64b9c59..f9d37f67595 100644 --- a/components/Typography/README.md +++ b/components/Typography/README.md @@ -252,9 +252,8 @@ func application(_ application: UIApplication, didFinishLaunchingWithOptions lau ... -func application(_ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: - [UIApplicationLaunchOptionsKey: Any]?) -> Bool { +- (BOOL)application:(UIApplication *)application + didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Before any UI is called [MDCTypography setFontLoader:[[CustomFontLoader alloc] init]]; } From 8ffd18be47e8aa15abba8839d8bf6c80752ea11f Mon Sep 17 00:00:00 2001 From: Adrian Secord Date: Mon, 13 Feb 2017 16:36:30 -0500 Subject: [PATCH 4/9] [Testing] Remove interaction tests from Travis CI (#1190) * Add ability to specify test to run on the command line. * Run only unit tests. --- .travis.yml | 4 +++- scripts/test_all | 7 ++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index a2718f72266..6512c4a1e8d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,6 +18,8 @@ before_install: - scripts/install_contributor_tools # The travis_wait prefix ensures that the build doesn't error out because too much time went past # without any output being produced. +# +# Note that we only test unit tests in an attempt to get reasonable performance out of Travis CI. script: - set -o pipefail - xcodebuild -version @@ -26,6 +28,6 @@ script: - swiftlint - scripts/prep_all - travis_wait scripts/build_all - - travis_wait scripts/test_all + - travis_wait scripts/test_all catalog/MDCCatalog.xcworkspace:MDCUnitTests after_success: - bash <(curl -s https://codecov.io/bash) diff --git a/scripts/test_all b/scripts/test_all index bee8a8cd9aa..5c73c7bac17 100755 --- a/scripts/test_all +++ b/scripts/test_all @@ -31,7 +31,12 @@ function guess_failure() { fi } -readonly WORKSPACE_SCHEMES=$("$SCRIPTS_DIR"/xcode/list_all_xcode_schemes) +if [[ $# -lt 1 ]]; then + WORKSPACE_SCHEMES=$("$SCRIPTS_DIR"/xcode/list_all_xcode_schemes) +else + WORKSPACE_SCHEMES=$* +fi + all_tests_ok=1 for workspace_scheme in $WORKSPACE_SCHEMES; do workspace=$(echo $workspace_scheme | cut -d: -f1) From e85fbf247de375c1dd1281d53be1043138690507 Mon Sep 17 00:00:00 2001 From: Adrian Secord Date: Tue, 14 Feb 2017 15:37:34 -0500 Subject: [PATCH 5/9] Update releasing.md with the right cleaning command. --- contributing/releasing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributing/releasing.md b/contributing/releasing.md index 61a4ad19c87..21f98a0b755 100644 --- a/contributing/releasing.md +++ b/contributing/releasing.md @@ -32,7 +32,7 @@ the issue to a subsequent release. Releasing is important enough that we want to start with a clean slate: - scripts/release/manage_pods.py clean + scripts/clean_all ### Cut a release branch and notify clients From 3cda5190601ef56d01a9bdaf0831f4184c31b85a Mon Sep 17 00:00:00 2001 From: Adrian Secord Date: Tue, 14 Feb 2017 15:57:03 -0500 Subject: [PATCH 6/9] Cut release candidate. --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 47a51a508cc..08e83446cbd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,5 @@ +# release-candidate TODO: Replace me with version number. + # 21.1.0 ## Component changes From cc5d3863098105b78a9ba681807c73bfd9af1430 Mon Sep 17 00:00:00 2001 From: Adrian Secord Date: Tue, 14 Feb 2017 16:38:36 -0500 Subject: [PATCH 7/9] Added API diff to CHANGELOG.md. --- CHANGELOG.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 08e83446cbd..61b519a8315 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,16 @@ -# release-candidate TODO: Replace me with version number. +# 21.2.0 + +## API diffs + +### NavigationBar + +* [Add MDCNavigationBarTextColorAccessibilityMutator. (#1180)](https://github.com/material-components/material-components-ios/commit/5db1b8add5e9e77d9439a973cbc9d2d41188d049) (Justin Shephard) + +## Component changes + +### Collection Cells + +* [Moved `inkView` property from class extension into class. (#1180)](https://github.com/material-components/material-components-ios/commit/5db1b8add5e9e77d9439a973cbc9d2d41188d049) (Justin Shephard) # 21.1.0 From ad1fc660bc458cfb851153b0c09e12ce9bafcdc6 Mon Sep 17 00:00:00 2001 From: Adrian Secord Date: Tue, 14 Feb 2017 16:39:44 -0500 Subject: [PATCH 8/9] Hand-modified CHANGELOG.md API diff. --- CHANGELOG.md | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 61b519a8315..11c1e26de7d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,13 +4,33 @@ ### NavigationBar -* [Add MDCNavigationBarTextColorAccessibilityMutator. (#1180)](https://github.com/material-components/material-components-ios/commit/5db1b8add5e9e77d9439a973cbc9d2d41188d049) (Justin Shephard) +* [Added MDCNavigationBarTextColorAccessibilityMutator. (#1180)](https://github.com/material-components/material-components-ios/commit/5db1b8add5e9e77d9439a973cbc9d2d41188d049) (Justin Shephard) ## Component changes -### Collection Cells +### CollectionCells + +#### Changes + +* [Fix memory leak in Ink and correct issues with ink when re-using cells (#1180)](https://github.com/material-components/material-components-ios/commit/5db1b8add5e9e77d9439a973cbc9d2d41188d049) (Justin Shephard) + +### Ink + +#### Changes + +* [Fix memory leak in Ink and correct issues with ink when re-using cells (#1180)](https://github.com/material-components/material-components-ios/commit/5db1b8add5e9e77d9439a973cbc9d2d41188d049) (Justin Shephard) + +### NavigationBar + +#### Changes + +* [Added Accessibility Mutator (#1109)](https://github.com/material-components/material-components-ios/commit/c3d3bd34affdd0d52500682bb3c129995f24eadc) (Justin Shephard) + +### Typography + +#### Changes -* [Moved `inkView` property from class extension into class. (#1180)](https://github.com/material-components/material-components-ios/commit/5db1b8add5e9e77d9439a973cbc9d2d41188d049) (Justin Shephard) +* [Corrects typo in snippet. (#1198)](https://github.com/material-components/material-components-ios/commit/a6b23484bdf25b3f15629693e0e8beb65932791a) (Will Larche) # 21.1.0 From d1b2b7dd5c893c4697ae413d513124dce4d10d14 Mon Sep 17 00:00:00 2001 From: Adrian Secord Date: Tue, 14 Feb 2017 16:50:26 -0500 Subject: [PATCH 9/9] Bumped version number to 21.2.0. --- MaterialComponents.podspec | 2 +- MaterialComponentsCatalog.podspec | 2 +- MaterialComponentsUnitTests.podspec | 2 +- catalog/Podfile.lock | 169 +++++++++--------- demos/Bare/Podfile.lock | 161 ++++++++--------- demos/Pesto/Podfile.lock | 51 +++--- demos/Shrine/Podfile.lock | 37 ++-- .../RemoteImageServiceForMDCDemos.podspec | 2 +- 8 files changed, 215 insertions(+), 211 deletions(-) diff --git a/MaterialComponents.podspec b/MaterialComponents.podspec index 70924f18a13..9d9efec6f0d 100644 --- a/MaterialComponents.podspec +++ b/MaterialComponents.podspec @@ -2,7 +2,7 @@ load 'scripts/generated/icons.rb' Pod::Spec.new do |s| s.name = "MaterialComponents" - s.version = "21.1.0" + s.version = "21.2.0" s.authors = "The Material Components authors." s.summary = "A collection of stand-alone production-ready UI libraries focused on design details." s.homepage = "https://github.com/material-components/material-components-ios" diff --git a/MaterialComponentsCatalog.podspec b/MaterialComponentsCatalog.podspec index 6175a61d504..487d1ef4138 100644 --- a/MaterialComponentsCatalog.podspec +++ b/MaterialComponentsCatalog.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "MaterialComponentsCatalog" - s.version = "21.1.0" + s.version = "21.2.0" s.authors = "The Material Components authors." s.summary = "A collection of stand-alone production-ready UI libraries focused on design details." s.homepage = "https://github.com/material-components/material-components-ios" diff --git a/MaterialComponentsUnitTests.podspec b/MaterialComponentsUnitTests.podspec index 18fac737500..1361681b689 100644 --- a/MaterialComponentsUnitTests.podspec +++ b/MaterialComponentsUnitTests.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "MaterialComponentsUnitTests" - s.version = "21.1.0" + s.version = "21.2.0" s.authors = "The Material Motion authors." s.summary = "A collection of stand-alone production-ready UI libraries focused on design details." s.homepage = "https://github.com/material-components/material-components-ios" diff --git a/catalog/Podfile.lock b/catalog/Podfile.lock index d932986d287..9c969942738 100644 --- a/catalog/Podfile.lock +++ b/catalog/Podfile.lock @@ -1,37 +1,37 @@ PODS: - CatalogByConvention (2.0.0) - EarlGrey (1.7.1) - - MaterialComponents (21.1.0): - - MaterialComponents/ActivityIndicator (= 21.1.0) - - MaterialComponents/AnimationTiming (= 21.1.0) - - MaterialComponents/AppBar (= 21.1.0) - - MaterialComponents/ButtonBar (= 21.1.0) - - MaterialComponents/Buttons (= 21.1.0) - - MaterialComponents/CollectionCells (= 21.1.0) - - MaterialComponents/CollectionLayoutAttributes (= 21.1.0) - - MaterialComponents/Collections (= 21.1.0) - - MaterialComponents/Dialogs (= 21.1.0) - - MaterialComponents/FeatureHighlight (= 21.1.0) - - MaterialComponents/FlexibleHeader (= 21.1.0) - - MaterialComponents/HeaderStackView (= 21.1.0) - - MaterialComponents/Ink (= 21.1.0) - - MaterialComponents/NavigationBar (= 21.1.0) - - MaterialComponents/OverlayWindow (= 21.1.0) - - MaterialComponents/PageControl (= 21.1.0) - - MaterialComponents/Palettes (= 21.1.0) - - MaterialComponents/private (= 21.1.0) - - MaterialComponents/ProgressView (= 21.1.0) - - MaterialComponents/ShadowElevations (= 21.1.0) - - MaterialComponents/ShadowLayer (= 21.1.0) - - MaterialComponents/Slider (= 21.1.0) - - MaterialComponents/Snackbar (= 21.1.0) - - MaterialComponents/Tabs (= 21.1.0) - - MaterialComponents/Typography (= 21.1.0) - - MaterialComponents/ActivityIndicator (21.1.0): + - MaterialComponents (21.2.0): + - MaterialComponents/ActivityIndicator (= 21.2.0) + - MaterialComponents/AnimationTiming (= 21.2.0) + - MaterialComponents/AppBar (= 21.2.0) + - MaterialComponents/ButtonBar (= 21.2.0) + - MaterialComponents/Buttons (= 21.2.0) + - MaterialComponents/CollectionCells (= 21.2.0) + - MaterialComponents/CollectionLayoutAttributes (= 21.2.0) + - MaterialComponents/Collections (= 21.2.0) + - MaterialComponents/Dialogs (= 21.2.0) + - MaterialComponents/FeatureHighlight (= 21.2.0) + - MaterialComponents/FlexibleHeader (= 21.2.0) + - MaterialComponents/HeaderStackView (= 21.2.0) + - MaterialComponents/Ink (= 21.2.0) + - MaterialComponents/NavigationBar (= 21.2.0) + - MaterialComponents/OverlayWindow (= 21.2.0) + - MaterialComponents/PageControl (= 21.2.0) + - MaterialComponents/Palettes (= 21.2.0) + - MaterialComponents/private (= 21.2.0) + - MaterialComponents/ProgressView (= 21.2.0) + - MaterialComponents/ShadowElevations (= 21.2.0) + - MaterialComponents/ShadowLayer (= 21.2.0) + - MaterialComponents/Slider (= 21.2.0) + - MaterialComponents/Snackbar (= 21.2.0) + - MaterialComponents/Tabs (= 21.2.0) + - MaterialComponents/Typography (= 21.2.0) + - MaterialComponents/ActivityIndicator (21.2.0): - MaterialComponents/private/Application - MaterialComponents/private/RTL - - MaterialComponents/AnimationTiming (21.1.0) - - MaterialComponents/AppBar (21.1.0): + - MaterialComponents/AnimationTiming (21.2.0) + - MaterialComponents/AppBar (21.2.0): - MaterialComponents/FlexibleHeader - MaterialComponents/HeaderStackView - MaterialComponents/NavigationBar @@ -40,16 +40,16 @@ PODS: - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - - MaterialComponents/ButtonBar (21.1.0): + - MaterialComponents/ButtonBar (21.2.0): - MaterialComponents/Buttons - MaterialComponents/private/RTL - - MaterialComponents/Buttons (21.1.0): + - MaterialComponents/Buttons (21.2.0): - MaterialComponents/Ink - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - MDFTextAccessibility - - MaterialComponents/CollectionCells (21.1.0): + - MaterialComponents/CollectionCells (21.2.0): - MaterialComponents/CollectionLayoutAttributes - MaterialComponents/Ink - MaterialComponents/private/Icons/ic_check @@ -60,85 +60,86 @@ PODS: - MaterialComponents/private/Icons/ic_reorder - MaterialComponents/private/RTL - MaterialComponents/Typography - - MaterialComponents/CollectionLayoutAttributes (21.1.0) - - MaterialComponents/Collections (21.1.0): + - MaterialComponents/CollectionLayoutAttributes (21.2.0) + - MaterialComponents/Collections (21.2.0): - MaterialComponents/CollectionCells - MaterialComponents/CollectionLayoutAttributes - MaterialComponents/Ink - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - - MaterialComponents/Dialogs (21.1.0): + - MaterialComponents/Dialogs (21.2.0): - MaterialComponents/Buttons - MaterialComponents/private/KeyboardWatcher - MaterialComponents/private/RTL - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - - MaterialComponents/FeatureHighlight (21.1.0): + - MaterialComponents/FeatureHighlight (21.2.0): - MaterialComponents/Typography - MDFTextAccessibility - - MaterialComponents/FlexibleHeader (21.1.0): + - MaterialComponents/FlexibleHeader (21.2.0): - MaterialComponents/private/Application - MDFTextAccessibility - - MaterialComponents/HeaderStackView (21.1.0) - - MaterialComponents/Ink (21.1.0) - - MaterialComponents/NavigationBar (21.1.0): + - MaterialComponents/HeaderStackView (21.2.0) + - MaterialComponents/Ink (21.2.0) + - MaterialComponents/NavigationBar (21.2.0): - MaterialComponents/ButtonBar - MaterialComponents/private/RTL - MaterialComponents/Typography - - MaterialComponents/OverlayWindow (21.1.0): + - MDFTextAccessibility + - MaterialComponents/OverlayWindow (21.2.0): - MaterialComponents/private/Application - - MaterialComponents/PageControl (21.1.0) - - MaterialComponents/Palettes (21.1.0) - - MaterialComponents/private (21.1.0): - - MaterialComponents/private/Application (= 21.1.0) - - MaterialComponents/private/Icons (= 21.1.0) - - MaterialComponents/private/KeyboardWatcher (= 21.1.0) - - MaterialComponents/private/Overlay (= 21.1.0) - - MaterialComponents/private/RTL (= 21.1.0) - - MaterialComponents/private/ThumbTrack (= 21.1.0) - - MaterialComponents/private/Application (21.1.0) - - MaterialComponents/private/Icons (21.1.0): - - MaterialComponents/private/Icons/Base (= 21.1.0) - - MaterialComponents/private/Icons/ic_arrow_back (= 21.1.0) - - MaterialComponents/private/Icons/ic_check (= 21.1.0) - - MaterialComponents/private/Icons/ic_check_circle (= 21.1.0) - - MaterialComponents/private/Icons/ic_chevron_right (= 21.1.0) - - MaterialComponents/private/Icons/ic_info (= 21.1.0) - - MaterialComponents/private/Icons/ic_radio_button_unchecked (= 21.1.0) - - MaterialComponents/private/Icons/ic_reorder (= 21.1.0) - - MaterialComponents/private/Icons/Base (21.1.0) - - MaterialComponents/private/Icons/ic_arrow_back (21.1.0): + - MaterialComponents/PageControl (21.2.0) + - MaterialComponents/Palettes (21.2.0) + - MaterialComponents/private (21.2.0): + - MaterialComponents/private/Application (= 21.2.0) + - MaterialComponents/private/Icons (= 21.2.0) + - MaterialComponents/private/KeyboardWatcher (= 21.2.0) + - MaterialComponents/private/Overlay (= 21.2.0) + - MaterialComponents/private/RTL (= 21.2.0) + - MaterialComponents/private/ThumbTrack (= 21.2.0) + - MaterialComponents/private/Application (21.2.0) + - MaterialComponents/private/Icons (21.2.0): + - MaterialComponents/private/Icons/Base (= 21.2.0) + - MaterialComponents/private/Icons/ic_arrow_back (= 21.2.0) + - MaterialComponents/private/Icons/ic_check (= 21.2.0) + - MaterialComponents/private/Icons/ic_check_circle (= 21.2.0) + - MaterialComponents/private/Icons/ic_chevron_right (= 21.2.0) + - MaterialComponents/private/Icons/ic_info (= 21.2.0) + - MaterialComponents/private/Icons/ic_radio_button_unchecked (= 21.2.0) + - MaterialComponents/private/Icons/ic_reorder (= 21.2.0) + - MaterialComponents/private/Icons/Base (21.2.0) + - MaterialComponents/private/Icons/ic_arrow_back (21.2.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_check (21.1.0): + - MaterialComponents/private/Icons/ic_check (21.2.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_check_circle (21.1.0): + - MaterialComponents/private/Icons/ic_check_circle (21.2.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_chevron_right (21.1.0): + - MaterialComponents/private/Icons/ic_chevron_right (21.2.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_info (21.1.0): + - MaterialComponents/private/Icons/ic_info (21.2.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_radio_button_unchecked (21.1.0): + - MaterialComponents/private/Icons/ic_radio_button_unchecked (21.2.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_reorder (21.1.0): + - MaterialComponents/private/Icons/ic_reorder (21.2.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/KeyboardWatcher (21.1.0): + - MaterialComponents/private/KeyboardWatcher (21.2.0): - MaterialComponents/private/Application - - MaterialComponents/private/Overlay (21.1.0) - - MaterialComponents/private/RTL (21.1.0) - - MaterialComponents/private/ThumbTrack (21.1.0): + - MaterialComponents/private/Overlay (21.2.0) + - MaterialComponents/private/RTL (21.2.0) + - MaterialComponents/private/ThumbTrack (21.2.0): - MaterialComponents/Ink - MaterialComponents/private/RTL - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - - MaterialComponents/ProgressView (21.1.0): + - MaterialComponents/ProgressView (21.2.0): - MaterialComponents/private/RTL - - MaterialComponents/ShadowElevations (21.1.0) - - MaterialComponents/ShadowLayer (21.1.0) - - MaterialComponents/Slider (21.1.0): + - MaterialComponents/ShadowElevations (21.2.0) + - MaterialComponents/ShadowLayer (21.2.0) + - MaterialComponents/Slider (21.2.0): - MaterialComponents/private/ThumbTrack - - MaterialComponents/Snackbar (21.1.0): + - MaterialComponents/Snackbar (21.2.0): - MaterialComponents/AnimationTiming - MaterialComponents/Buttons - MaterialComponents/OverlayWindow @@ -146,16 +147,16 @@ PODS: - MaterialComponents/private/KeyboardWatcher - MaterialComponents/private/Overlay - MaterialComponents/Typography - - MaterialComponents/Tabs (21.1.0): + - MaterialComponents/Tabs (21.2.0): - MaterialComponents/AnimationTiming - MaterialComponents/Ink - MaterialComponents/private/RTL - MaterialComponents/Typography - - MaterialComponents/Typography (21.1.0): + - MaterialComponents/Typography (21.2.0): - MaterialComponents/private/Application - - MaterialComponentsCatalog (21.1.0): + - MaterialComponentsCatalog (21.2.0): - MaterialComponents - - MaterialComponentsUnitTests (21.1.0): + - MaterialComponentsUnitTests (21.2.0): - MaterialComponents - MDFTextAccessibility - MDFTextAccessibility (1.1.4) @@ -178,9 +179,9 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: CatalogByConvention: be55c2263132e4f9f59299ac8a528ee8715b3275 EarlGrey: 4ee729245614b7157aafa7fa4a8c4fd4ba38113a - MaterialComponents: 1ebb183bfa1b2ccbe7f5afb9536fc9395b368b07 - MaterialComponentsCatalog: e7f07ab415fe6455b607f122aca9511f2866096c - MaterialComponentsUnitTests: '09d7e3529e8b03ff7a89240da8c5117523cbdea7' + MaterialComponents: 69b470f9d3dc303cd360b4ba5ab2cd937853e5e1 + MaterialComponentsCatalog: bfb9427952bf4f851e898b5157964973623adac9 + MaterialComponentsUnitTests: eccd0e947f8507a908856e6985e38484d43b5b05 MDFTextAccessibility: aa897b2675bc614c01a331053af680deea692148 PODFILE CHECKSUM: 0a93a34ae9af89654baaaa3a998126cb7d9e1198 diff --git a/demos/Bare/Podfile.lock b/demos/Bare/Podfile.lock index 629e232149c..fb9d5d0f647 100644 --- a/demos/Bare/Podfile.lock +++ b/demos/Bare/Podfile.lock @@ -1,35 +1,35 @@ PODS: - - MaterialComponents (21.1.0): - - MaterialComponents/ActivityIndicator (= 21.1.0) - - MaterialComponents/AnimationTiming (= 21.1.0) - - MaterialComponents/AppBar (= 21.1.0) - - MaterialComponents/ButtonBar (= 21.1.0) - - MaterialComponents/Buttons (= 21.1.0) - - MaterialComponents/CollectionCells (= 21.1.0) - - MaterialComponents/CollectionLayoutAttributes (= 21.1.0) - - MaterialComponents/Collections (= 21.1.0) - - MaterialComponents/Dialogs (= 21.1.0) - - MaterialComponents/FeatureHighlight (= 21.1.0) - - MaterialComponents/FlexibleHeader (= 21.1.0) - - MaterialComponents/HeaderStackView (= 21.1.0) - - MaterialComponents/Ink (= 21.1.0) - - MaterialComponents/NavigationBar (= 21.1.0) - - MaterialComponents/OverlayWindow (= 21.1.0) - - MaterialComponents/PageControl (= 21.1.0) - - MaterialComponents/Palettes (= 21.1.0) - - MaterialComponents/private (= 21.1.0) - - MaterialComponents/ProgressView (= 21.1.0) - - MaterialComponents/ShadowElevations (= 21.1.0) - - MaterialComponents/ShadowLayer (= 21.1.0) - - MaterialComponents/Slider (= 21.1.0) - - MaterialComponents/Snackbar (= 21.1.0) - - MaterialComponents/Tabs (= 21.1.0) - - MaterialComponents/Typography (= 21.1.0) - - MaterialComponents/ActivityIndicator (21.1.0): + - MaterialComponents (21.2.0): + - MaterialComponents/ActivityIndicator (= 21.2.0) + - MaterialComponents/AnimationTiming (= 21.2.0) + - MaterialComponents/AppBar (= 21.2.0) + - MaterialComponents/ButtonBar (= 21.2.0) + - MaterialComponents/Buttons (= 21.2.0) + - MaterialComponents/CollectionCells (= 21.2.0) + - MaterialComponents/CollectionLayoutAttributes (= 21.2.0) + - MaterialComponents/Collections (= 21.2.0) + - MaterialComponents/Dialogs (= 21.2.0) + - MaterialComponents/FeatureHighlight (= 21.2.0) + - MaterialComponents/FlexibleHeader (= 21.2.0) + - MaterialComponents/HeaderStackView (= 21.2.0) + - MaterialComponents/Ink (= 21.2.0) + - MaterialComponents/NavigationBar (= 21.2.0) + - MaterialComponents/OverlayWindow (= 21.2.0) + - MaterialComponents/PageControl (= 21.2.0) + - MaterialComponents/Palettes (= 21.2.0) + - MaterialComponents/private (= 21.2.0) + - MaterialComponents/ProgressView (= 21.2.0) + - MaterialComponents/ShadowElevations (= 21.2.0) + - MaterialComponents/ShadowLayer (= 21.2.0) + - MaterialComponents/Slider (= 21.2.0) + - MaterialComponents/Snackbar (= 21.2.0) + - MaterialComponents/Tabs (= 21.2.0) + - MaterialComponents/Typography (= 21.2.0) + - MaterialComponents/ActivityIndicator (21.2.0): - MaterialComponents/private/Application - MaterialComponents/private/RTL - - MaterialComponents/AnimationTiming (21.1.0) - - MaterialComponents/AppBar (21.1.0): + - MaterialComponents/AnimationTiming (21.2.0) + - MaterialComponents/AppBar (21.2.0): - MaterialComponents/FlexibleHeader - MaterialComponents/HeaderStackView - MaterialComponents/NavigationBar @@ -38,16 +38,16 @@ PODS: - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - - MaterialComponents/ButtonBar (21.1.0): + - MaterialComponents/ButtonBar (21.2.0): - MaterialComponents/Buttons - MaterialComponents/private/RTL - - MaterialComponents/Buttons (21.1.0): + - MaterialComponents/Buttons (21.2.0): - MaterialComponents/Ink - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - MDFTextAccessibility - - MaterialComponents/CollectionCells (21.1.0): + - MaterialComponents/CollectionCells (21.2.0): - MaterialComponents/CollectionLayoutAttributes - MaterialComponents/Ink - MaterialComponents/private/Icons/ic_check @@ -58,85 +58,86 @@ PODS: - MaterialComponents/private/Icons/ic_reorder - MaterialComponents/private/RTL - MaterialComponents/Typography - - MaterialComponents/CollectionLayoutAttributes (21.1.0) - - MaterialComponents/Collections (21.1.0): + - MaterialComponents/CollectionLayoutAttributes (21.2.0) + - MaterialComponents/Collections (21.2.0): - MaterialComponents/CollectionCells - MaterialComponents/CollectionLayoutAttributes - MaterialComponents/Ink - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - - MaterialComponents/Dialogs (21.1.0): + - MaterialComponents/Dialogs (21.2.0): - MaterialComponents/Buttons - MaterialComponents/private/KeyboardWatcher - MaterialComponents/private/RTL - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - - MaterialComponents/FeatureHighlight (21.1.0): + - MaterialComponents/FeatureHighlight (21.2.0): - MaterialComponents/Typography - MDFTextAccessibility - - MaterialComponents/FlexibleHeader (21.1.0): + - MaterialComponents/FlexibleHeader (21.2.0): - MaterialComponents/private/Application - MDFTextAccessibility - - MaterialComponents/HeaderStackView (21.1.0) - - MaterialComponents/Ink (21.1.0) - - MaterialComponents/NavigationBar (21.1.0): + - MaterialComponents/HeaderStackView (21.2.0) + - MaterialComponents/Ink (21.2.0) + - MaterialComponents/NavigationBar (21.2.0): - MaterialComponents/ButtonBar - MaterialComponents/private/RTL - MaterialComponents/Typography - - MaterialComponents/OverlayWindow (21.1.0): + - MDFTextAccessibility + - MaterialComponents/OverlayWindow (21.2.0): - MaterialComponents/private/Application - - MaterialComponents/PageControl (21.1.0) - - MaterialComponents/Palettes (21.1.0) - - MaterialComponents/private (21.1.0): - - MaterialComponents/private/Application (= 21.1.0) - - MaterialComponents/private/Icons (= 21.1.0) - - MaterialComponents/private/KeyboardWatcher (= 21.1.0) - - MaterialComponents/private/Overlay (= 21.1.0) - - MaterialComponents/private/RTL (= 21.1.0) - - MaterialComponents/private/ThumbTrack (= 21.1.0) - - MaterialComponents/private/Application (21.1.0) - - MaterialComponents/private/Icons (21.1.0): - - MaterialComponents/private/Icons/Base (= 21.1.0) - - MaterialComponents/private/Icons/ic_arrow_back (= 21.1.0) - - MaterialComponents/private/Icons/ic_check (= 21.1.0) - - MaterialComponents/private/Icons/ic_check_circle (= 21.1.0) - - MaterialComponents/private/Icons/ic_chevron_right (= 21.1.0) - - MaterialComponents/private/Icons/ic_info (= 21.1.0) - - MaterialComponents/private/Icons/ic_radio_button_unchecked (= 21.1.0) - - MaterialComponents/private/Icons/ic_reorder (= 21.1.0) - - MaterialComponents/private/Icons/Base (21.1.0) - - MaterialComponents/private/Icons/ic_arrow_back (21.1.0): + - MaterialComponents/PageControl (21.2.0) + - MaterialComponents/Palettes (21.2.0) + - MaterialComponents/private (21.2.0): + - MaterialComponents/private/Application (= 21.2.0) + - MaterialComponents/private/Icons (= 21.2.0) + - MaterialComponents/private/KeyboardWatcher (= 21.2.0) + - MaterialComponents/private/Overlay (= 21.2.0) + - MaterialComponents/private/RTL (= 21.2.0) + - MaterialComponents/private/ThumbTrack (= 21.2.0) + - MaterialComponents/private/Application (21.2.0) + - MaterialComponents/private/Icons (21.2.0): + - MaterialComponents/private/Icons/Base (= 21.2.0) + - MaterialComponents/private/Icons/ic_arrow_back (= 21.2.0) + - MaterialComponents/private/Icons/ic_check (= 21.2.0) + - MaterialComponents/private/Icons/ic_check_circle (= 21.2.0) + - MaterialComponents/private/Icons/ic_chevron_right (= 21.2.0) + - MaterialComponents/private/Icons/ic_info (= 21.2.0) + - MaterialComponents/private/Icons/ic_radio_button_unchecked (= 21.2.0) + - MaterialComponents/private/Icons/ic_reorder (= 21.2.0) + - MaterialComponents/private/Icons/Base (21.2.0) + - MaterialComponents/private/Icons/ic_arrow_back (21.2.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_check (21.1.0): + - MaterialComponents/private/Icons/ic_check (21.2.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_check_circle (21.1.0): + - MaterialComponents/private/Icons/ic_check_circle (21.2.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_chevron_right (21.1.0): + - MaterialComponents/private/Icons/ic_chevron_right (21.2.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_info (21.1.0): + - MaterialComponents/private/Icons/ic_info (21.2.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_radio_button_unchecked (21.1.0): + - MaterialComponents/private/Icons/ic_radio_button_unchecked (21.2.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_reorder (21.1.0): + - MaterialComponents/private/Icons/ic_reorder (21.2.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/KeyboardWatcher (21.1.0): + - MaterialComponents/private/KeyboardWatcher (21.2.0): - MaterialComponents/private/Application - - MaterialComponents/private/Overlay (21.1.0) - - MaterialComponents/private/RTL (21.1.0) - - MaterialComponents/private/ThumbTrack (21.1.0): + - MaterialComponents/private/Overlay (21.2.0) + - MaterialComponents/private/RTL (21.2.0) + - MaterialComponents/private/ThumbTrack (21.2.0): - MaterialComponents/Ink - MaterialComponents/private/RTL - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - - MaterialComponents/ProgressView (21.1.0): + - MaterialComponents/ProgressView (21.2.0): - MaterialComponents/private/RTL - - MaterialComponents/ShadowElevations (21.1.0) - - MaterialComponents/ShadowLayer (21.1.0) - - MaterialComponents/Slider (21.1.0): + - MaterialComponents/ShadowElevations (21.2.0) + - MaterialComponents/ShadowLayer (21.2.0) + - MaterialComponents/Slider (21.2.0): - MaterialComponents/private/ThumbTrack - - MaterialComponents/Snackbar (21.1.0): + - MaterialComponents/Snackbar (21.2.0): - MaterialComponents/AnimationTiming - MaterialComponents/Buttons - MaterialComponents/OverlayWindow @@ -144,12 +145,12 @@ PODS: - MaterialComponents/private/KeyboardWatcher - MaterialComponents/private/Overlay - MaterialComponents/Typography - - MaterialComponents/Tabs (21.1.0): + - MaterialComponents/Tabs (21.2.0): - MaterialComponents/AnimationTiming - MaterialComponents/Ink - MaterialComponents/private/RTL - MaterialComponents/Typography - - MaterialComponents/Typography (21.1.0): + - MaterialComponents/Typography (21.2.0): - MaterialComponents/private/Application - MDFTextAccessibility (1.1.4) @@ -161,7 +162,7 @@ EXTERNAL SOURCES: :path: "../../" SPEC CHECKSUMS: - MaterialComponents: 1ebb183bfa1b2ccbe7f5afb9536fc9395b368b07 + MaterialComponents: 69b470f9d3dc303cd360b4ba5ab2cd937853e5e1 MDFTextAccessibility: aa897b2675bc614c01a331053af680deea692148 PODFILE CHECKSUM: 44e7c616a05bb4ce24db557c3de4bfbe915c2f56 diff --git a/demos/Pesto/Podfile.lock b/demos/Pesto/Podfile.lock index 34c1bf8efa3..e2ebb736807 100644 --- a/demos/Pesto/Podfile.lock +++ b/demos/Pesto/Podfile.lock @@ -1,6 +1,6 @@ PODS: - - MaterialComponents/AnimationTiming (21.1.0) - - MaterialComponents/AppBar (21.1.0): + - MaterialComponents/AnimationTiming (21.2.0) + - MaterialComponents/AppBar (21.2.0): - MaterialComponents/FlexibleHeader - MaterialComponents/HeaderStackView - MaterialComponents/NavigationBar @@ -9,16 +9,16 @@ PODS: - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - - MaterialComponents/ButtonBar (21.1.0): + - MaterialComponents/ButtonBar (21.2.0): - MaterialComponents/Buttons - MaterialComponents/private/RTL - - MaterialComponents/Buttons (21.1.0): + - MaterialComponents/Buttons (21.2.0): - MaterialComponents/Ink - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - MDFTextAccessibility - - MaterialComponents/CollectionCells (21.1.0): + - MaterialComponents/CollectionCells (21.2.0): - MaterialComponents/CollectionLayoutAttributes - MaterialComponents/Ink - MaterialComponents/private/Icons/ic_check @@ -29,43 +29,44 @@ PODS: - MaterialComponents/private/Icons/ic_reorder - MaterialComponents/private/RTL - MaterialComponents/Typography - - MaterialComponents/CollectionLayoutAttributes (21.1.0) - - MaterialComponents/Collections (21.1.0): + - MaterialComponents/CollectionLayoutAttributes (21.2.0) + - MaterialComponents/Collections (21.2.0): - MaterialComponents/CollectionCells - MaterialComponents/CollectionLayoutAttributes - MaterialComponents/Ink - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - - MaterialComponents/FlexibleHeader (21.1.0): + - MaterialComponents/FlexibleHeader (21.2.0): - MaterialComponents/private/Application - MDFTextAccessibility - - MaterialComponents/HeaderStackView (21.1.0) - - MaterialComponents/Ink (21.1.0) - - MaterialComponents/NavigationBar (21.1.0): + - MaterialComponents/HeaderStackView (21.2.0) + - MaterialComponents/Ink (21.2.0) + - MaterialComponents/NavigationBar (21.2.0): - MaterialComponents/ButtonBar - MaterialComponents/private/RTL - MaterialComponents/Typography - - MaterialComponents/private/Application (21.1.0) - - MaterialComponents/private/Icons/Base (21.1.0) - - MaterialComponents/private/Icons/ic_arrow_back (21.1.0): + - MDFTextAccessibility + - MaterialComponents/private/Application (21.2.0) + - MaterialComponents/private/Icons/Base (21.2.0) + - MaterialComponents/private/Icons/ic_arrow_back (21.2.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_check (21.1.0): + - MaterialComponents/private/Icons/ic_check (21.2.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_check_circle (21.1.0): + - MaterialComponents/private/Icons/ic_check_circle (21.2.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_chevron_right (21.1.0): + - MaterialComponents/private/Icons/ic_chevron_right (21.2.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_info (21.1.0): + - MaterialComponents/private/Icons/ic_info (21.2.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_radio_button_unchecked (21.1.0): + - MaterialComponents/private/Icons/ic_radio_button_unchecked (21.2.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_reorder (21.1.0): + - MaterialComponents/private/Icons/ic_reorder (21.2.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/RTL (21.1.0) - - MaterialComponents/ShadowElevations (21.1.0) - - MaterialComponents/ShadowLayer (21.1.0) - - MaterialComponents/Typography (21.1.0): + - MaterialComponents/private/RTL (21.2.0) + - MaterialComponents/ShadowElevations (21.2.0) + - MaterialComponents/ShadowLayer (21.2.0) + - MaterialComponents/Typography (21.2.0): - MaterialComponents/private/Application - MDFTextAccessibility (1.1.4) @@ -84,7 +85,7 @@ EXTERNAL SOURCES: :path: "../../" SPEC CHECKSUMS: - MaterialComponents: 1ebb183bfa1b2ccbe7f5afb9536fc9395b368b07 + MaterialComponents: 69b470f9d3dc303cd360b4ba5ab2cd937853e5e1 MDFTextAccessibility: aa897b2675bc614c01a331053af680deea692148 PODFILE CHECKSUM: 0bae51237ebf30ce3f4ecbcefedc8cf3d7af40cf diff --git a/demos/Shrine/Podfile.lock b/demos/Shrine/Podfile.lock index 0a6bdd8a1be..a028042ebca 100644 --- a/demos/Shrine/Podfile.lock +++ b/demos/Shrine/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - MaterialComponents/AppBar (21.1.0): + - MaterialComponents/AppBar (21.2.0): - MaterialComponents/FlexibleHeader - MaterialComponents/HeaderStackView - MaterialComponents/NavigationBar @@ -8,36 +8,37 @@ PODS: - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - - MaterialComponents/ButtonBar (21.1.0): + - MaterialComponents/ButtonBar (21.2.0): - MaterialComponents/Buttons - MaterialComponents/private/RTL - - MaterialComponents/Buttons (21.1.0): + - MaterialComponents/Buttons (21.2.0): - MaterialComponents/Ink - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - MDFTextAccessibility - - MaterialComponents/FlexibleHeader (21.1.0): + - MaterialComponents/FlexibleHeader (21.2.0): - MaterialComponents/private/Application - MDFTextAccessibility - - MaterialComponents/HeaderStackView (21.1.0) - - MaterialComponents/Ink (21.1.0) - - MaterialComponents/NavigationBar (21.1.0): + - MaterialComponents/HeaderStackView (21.2.0) + - MaterialComponents/Ink (21.2.0) + - MaterialComponents/NavigationBar (21.2.0): - MaterialComponents/ButtonBar - MaterialComponents/private/RTL - MaterialComponents/Typography - - MaterialComponents/PageControl (21.1.0) - - MaterialComponents/private/Application (21.1.0) - - MaterialComponents/private/Icons/Base (21.1.0) - - MaterialComponents/private/Icons/ic_arrow_back (21.1.0): + - MDFTextAccessibility + - MaterialComponents/PageControl (21.2.0) + - MaterialComponents/private/Application (21.2.0) + - MaterialComponents/private/Icons/Base (21.2.0) + - MaterialComponents/private/Icons/ic_arrow_back (21.2.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/RTL (21.1.0) - - MaterialComponents/ShadowElevations (21.1.0) - - MaterialComponents/ShadowLayer (21.1.0) - - MaterialComponents/Typography (21.1.0): + - MaterialComponents/private/RTL (21.2.0) + - MaterialComponents/ShadowElevations (21.2.0) + - MaterialComponents/ShadowLayer (21.2.0) + - MaterialComponents/Typography (21.2.0): - MaterialComponents/private/Application - MDFTextAccessibility (1.1.4) - - RemoteImageServiceForMDCDemos (21.1.0) + - RemoteImageServiceForMDCDemos (21.2.0) DEPENDENCIES: - MaterialComponents/AppBar (from `../../`) @@ -51,9 +52,9 @@ EXTERNAL SOURCES: :path: "../supplemental" SPEC CHECKSUMS: - MaterialComponents: 1ebb183bfa1b2ccbe7f5afb9536fc9395b368b07 + MaterialComponents: 69b470f9d3dc303cd360b4ba5ab2cd937853e5e1 MDFTextAccessibility: aa897b2675bc614c01a331053af680deea692148 - RemoteImageServiceForMDCDemos: edf9f79c39b0fd0110d140ab9649420dfa738e1c + RemoteImageServiceForMDCDemos: 4015f825ef3494f297ff09f0bbfa8716ad4e4139 PODFILE CHECKSUM: 5eb94d7fb8deeb6709b7300f5d0e0e1a75902cca diff --git a/demos/supplemental/RemoteImageServiceForMDCDemos.podspec b/demos/supplemental/RemoteImageServiceForMDCDemos.podspec index 22f97d61b20..f1d6e2e14c7 100644 --- a/demos/supplemental/RemoteImageServiceForMDCDemos.podspec +++ b/demos/supplemental/RemoteImageServiceForMDCDemos.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "RemoteImageServiceForMDCDemos" - s.version = "21.1.0" + s.version = "21.2.0" s.summary = "A helper image class for the MDC demos." s.description = "This spec is made for use in the MDC demos. It gets images via url." s.homepage = "https://github.com/material-components/material-components-ios"