//
//  MVMCoreUITopAlertBaseView.h
//  mobilefirst
//
//  Created by Scott Pfeil on 9/6/16.
//  Copyright © 2016 Verizon Wireless. All rights reserved.
//

#import <UIKit/UIKit.h>
#import <MVMCoreUI/MVMCoreTopAlertAnimationDelegateProtocol.h>
#import <MVMCore/MVMCoreViewProtocol.h>

@class Button;

@interface MVMCoreUITopAlertBaseView : UIView<MVMCoreViewProtocol>

// Adds a top alert action.
+ (void)addActionToButton:(nonnull Button *)button actionMap:(nullable NSDictionary *)actionMap additionalData:(nullable NSDictionary *)additionalData;

// Returns a top alert styled label.
+ (nonnull UILabel *)topAlertLabel;

// Returns a string for the passed in messages.
+ (nullable NSAttributedString *)getStringForMessage:(nullable NSString *)message subMessage:(nullable NSString *)subMessage color:(nullable UIColor *)color;

// Adds a close button.
- (nonnull Button *)addCloseButtonWithAnimationDelegate:(nullable id <MVMCoreTopAlertAnimationDelegateProtocol>)animationDelegate;

// Handles making various parts accessible.
- (void)handleAccessibility;

/// Adds the top alert accessibility prefix to the view.
+ (void)amendAccesibilityLabelForView:(nonnull UIView *)view;

@end
