//
//  SeparatorView.h
//  mobilefirst
//
//  Created by Chris Yang on 2/24/16.
//  Copyright © 2016 Verizon Wireless. All rights reserved.
//

#import <UIKit/UIKit.h>
#import <MVMCoreUI/MFView.h>
#import <MVMCoreUI/MVMCoreUIViewConstrainingProtocol.h>
@class MFSizeObject;

typedef enum : NSUInteger {
    SeparatorPositionTop,
    SeparatorPositionBot
} SeparatorPosition;

@interface SeparatorView : MFView <MVMCoreUIViewConstrainingProtocol>

@property (nullable, weak, nonatomic) NSLayoutConstraint *height;
@property (nullable, weak, nonatomic) NSLayoutConstraint *leftPin;
@property (nullable, weak, nonatomic) NSLayoutConstraint *rightPin;
@property (nullable, weak, nonatomic) NSLayoutConstraint *verticalPaddingConstraint;

@property (nullable, strong, nonatomic) MFSizeObject *heightSizeObject;


+ (nullable SeparatorView *)separatorAddToView:(nullable UIView *)superView position:(SeparatorPosition)position positionPadding:(CGFloat)positionPadding withHorizontalPadding:(CGFloat)padding;
+ (nullable SeparatorView *)separatorAddToView:(nullable UIView *)superView position:(SeparatorPosition)position withHorizontalPadding:(CGFloat)padding;
+ (nullable SeparatorView *)separatorAddToView:(nullable UIView *)superView position:(SeparatorPosition)position;

- (void)setLeftAndRightPinConstant:(CGFloat)pinConstant;
- (void)setVerticalPaddingConstant:(CGFloat)pinConstant;//might need the super view to relayout after calling this method 

- (void)hide;
- (void)show;

- (void)setAsHeavy;
- (void)setAsRegular;
- (void)setAsLight;
- (void)setAsMedium;

@end
