//
//  MVMCoreUIConstants.h
//  MVMCoreUI
//
//  Created by Scott Pfeil on 1/10/19.
//  Copyright © 2019 Verizon Wireless. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <CoreGraphics/CoreGraphics.h>

#pragma mark - Keys

extern NSString * const KeyScreenHeading;

extern NSString * const KeyMolecules;
extern NSString * const KeyMoleculeName;
extern NSString * const KeyMolecule;

extern NSString * const KeyDisableButton;

extern NSString * const KeyValue;
extern NSString * const KeyLabel;
extern NSString * const KeyDisable;
extern NSString * const KeyEnabled;
extern NSString * const KeyFieldName;

extern NSString * const KeyHideMainMenu;
extern NSString * const KeyProgressPercent;

extern NSString * const KeyPrimaryButton;
extern NSString * const KeySecondaryButton;
extern NSString * const KeyTitlePrefix;
extern NSString * const KeyTitlePostfix;

extern NSString * const KeyBackgroundColor;
extern NSString * const KeyText;
extern NSString * const KeyTextColor;

extern NSString * const KeyIsHidden;
extern NSString * const KeyIsOpaque;

extern NSString * const KeyFieldKey;
extern NSString * const KeyRequired;
extern NSString * const KeySourceModel;

extern NSString * const KeyActionTypePopup;
extern NSString * const KeyActionTypeAlert;
extern NSString * const KeyActionTypeTopAlert;
extern NSString * const KeyActionTypeCollapseNotification;
extern NSString * const KeyActionTypeTopNotification;

/// Key for molecular top notification architecture.
extern NSString * const KeyTopAlert;

#pragma mark - Values

extern NSString * const StringY;

extern NSString * const KeyErrorMessage;

#pragma mark - Notifications

extern NSString * const NotificationStatusBarTouched;

#pragma mark - Regular Expressions

extern NSUInteger const LengthContactNumber;
extern NSUInteger const LengthInternationalNumber;

extern NSString * const RegularExpressionDigitOnly;

#pragma mark - Other Constants

extern CGFloat const CornerRadiusLarge;

//Turn off animations for debugging purposes
extern BOOL DisableAnimations;

// Hand Scroll Key
extern NSString * const KeyHandScrollAnimation;
extern NSString * const KeyHandScroll;

#pragma mark - Error Codes

// Native Error Codes (Add new ones to bottom, don't change order!)
typedef NS_ENUM(NSInteger, CoreUIErrorCode) {
    ErrorCodeModuleMolecule = 100,
    ErrorCodeListMolecule = 101
};

#pragma mark - Apple Design Guidelines

extern CGFloat const MinimumTappableArea;
