// // ButtonIconBadgeIndicatorModel.swift // VDS // // Created by Kanamarlapudi, Vasavi on 08/02/24. // import Foundation extension ButtonIcon { //Model that represents the options available for the Badge Indicator public struct BadgeIndicatorModel { /// Kind that will be used for the badge indicator. public var kind: BadgeIndicator.Kind /// Fill color that will be used for the badge indicator. public var fillColor: BadgeIndicator.FillColor /// Current Surface and this is used to pass down to child objects that implement Surfacable public var surface: Surface /// Size that will be used for the badge indicator. public var size: BadgeIndicator.Size /// Number of digits that will be used for the badge indicator. public var maximumDigits: BadgeIndicator.MaximumDigits /// Max width that will be used for the badge indicator. public var width: CGFloat? /// Max height that will be used for the badge indicator. public var height: CGFloat? /// Number that will be used for the badge indicator. public var number: Int? /// Leading Character that will be used for the badge indicator. public var leadingCharacter: String? /// Trailing Text height that will be used for the badge indicator. public var trailingText: String? /// Dot Size that will be used for the badge indicator. public var dotSize: CGFloat? /// Vertical Padding that will be used for the badge indicator. public var verticalPadding: CGFloat? /// Horizontal Padding that will be used for the badge indicator. public var horizontalPadding: CGFloat? /// Hide Dot that will be used for the badge indicator. public var hideDot: Bool = false /// Hide Border that will be used for the badge indicator. public var hideBorder: Bool = false public init(kind: BadgeIndicator.Kind = .simple, fillColor: BadgeIndicator.FillColor = .red, surface: Surface = .light, size: BadgeIndicator.Size = .xxlarge, maximumDigits: BadgeIndicator.MaximumDigits = .two, width: CGFloat? = nil, height: CGFloat? = nil, number: Int? = nil, leadingCharacter: String = "", trailingText: String = "", dotSize: CGFloat? = nil, verticalPadding: CGFloat? = nil, horizontalPadding: CGFloat? = nil, hideDot: Bool = false, hideBorder: Bool = false) { self.kind = kind self.fillColor = fillColor self.surface = surface self.size = size self.maximumDigits = maximumDigits self.width = width self.height = height self.number = number self.leadingCharacter = leadingCharacter self.trailingText = trailingText self.dotSize = dotSize self.verticalPadding = verticalPadding self.horizontalPadding = horizontalPadding self.hideDot = hideDot self.hideBorder = hideBorder } } }