import Foundation import UIKit public enum ActionSheetControllerThemeBackgroundType { case light case dark } public final class ActionSheetControllerTheme: Equatable { public let dimColor: UIColor public let backgroundType: ActionSheetControllerThemeBackgroundType public let itemBackgroundColor: UIColor public let itemHighlightedBackgroundColor: UIColor public let standardActionTextColor: UIColor public let destructiveActionTextColor: UIColor public let disabledActionTextColor: UIColor public let primaryTextColor: UIColor public let secondaryTextColor: UIColor public let controlAccentColor: UIColor public let controlColor: UIColor public let switchFrameColor: UIColor public let switchContentColor: UIColor public let switchHandleColor: UIColor public let baseFontSize: CGFloat public init(dimColor: UIColor, backgroundType: ActionSheetControllerThemeBackgroundType, itemBackgroundColor: UIColor, itemHighlightedBackgroundColor: UIColor, standardActionTextColor: UIColor, destructiveActionTextColor: UIColor, disabledActionTextColor: UIColor, primaryTextColor: UIColor, secondaryTextColor: UIColor, controlAccentColor: UIColor, controlColor: UIColor, switchFrameColor: UIColor, switchContentColor: UIColor, switchHandleColor: UIColor, baseFontSize: CGFloat) { self.dimColor = dimColor self.backgroundType = backgroundType self.itemBackgroundColor = itemBackgroundColor self.itemHighlightedBackgroundColor = itemHighlightedBackgroundColor self.standardActionTextColor = standardActionTextColor self.destructiveActionTextColor = destructiveActionTextColor self.disabledActionTextColor = disabledActionTextColor self.primaryTextColor = primaryTextColor self.secondaryTextColor = secondaryTextColor self.controlAccentColor = controlAccentColor self.controlColor = controlColor self.switchFrameColor = switchFrameColor self.switchContentColor = switchContentColor self.switchHandleColor = switchHandleColor self.baseFontSize = min(26.0, baseFontSize) } public static func ==(lhs: ActionSheetControllerTheme, rhs: ActionSheetControllerTheme) -> Bool { if lhs.dimColor != rhs.dimColor { return false } if lhs.backgroundType != rhs.backgroundType { return false } if lhs.itemBackgroundColor != rhs.itemBackgroundColor { return false } if lhs.itemHighlightedBackgroundColor != rhs.itemHighlightedBackgroundColor { return false } if lhs.standardActionTextColor != rhs.standardActionTextColor { return false } if lhs.destructiveActionTextColor != rhs.destructiveActionTextColor { return false } if lhs.disabledActionTextColor != rhs.disabledActionTextColor { return false } if lhs.primaryTextColor != rhs.primaryTextColor { return false } if lhs.secondaryTextColor != rhs.secondaryTextColor { return false } if lhs.controlAccentColor != rhs.controlAccentColor { return false } if lhs.controlColor != rhs.controlColor { return false } if lhs.switchFrameColor != rhs.switchFrameColor { return false } if lhs.switchContentColor != rhs.switchContentColor { return false } if lhs.switchHandleColor != rhs.switchHandleColor { return false } if lhs.baseFontSize != rhs.baseFontSize { return false } return true } }