diff --git a/DesignKit/Variants/Fonts/ElementFonts.swift b/DesignKit/Variants/Fonts/ElementFonts.swift index e17984389..e0a612f85 100644 --- a/DesignKit/Variants/Fonts/ElementFonts.swift +++ b/DesignKit/Variants/Fonts/ElementFonts.swift @@ -28,26 +28,7 @@ public class ElementFonts { /// (even if that font was created with the appropriate metrics). public struct SharedFont { public let uiFont: UIFont - /// The underlying font for the `font` property. This is stored - /// as an optional `Any` due to unavailability on iOS 12. - private let _font: Any? - - @available(iOS 13.0, *) - public var font: Font { - _font as! Font - } - - @available(iOS, deprecated: 13.0, message: "Use init(uiFont:font:) instead and remove this initialiser.") - init(uiFont: UIFont) { - self.uiFont = uiFont - self._font = nil - } - - @available(iOS 13.0, *) - init(uiFont: UIFont, font: Font) { - self.uiFont = uiFont - self._font = font - } + public let font: Font } // MARK: - Setup @@ -69,213 +50,101 @@ extension ElementFonts: Fonts { public var largeTitle: SharedFont { let uiFont = self.font(forTextStyle: .largeTitle) - - if #available(iOS 13.0, *) { - return SharedFont(uiFont: uiFont, font: .largeTitle) - } else { - return SharedFont(uiFont: uiFont) - } + return SharedFont(uiFont: uiFont, font: .largeTitle) } public var largeTitleB: SharedFont { let uiFont = self.largeTitle.uiFont.vc_bold - - if #available(iOS 13.0, *) { - return SharedFont(uiFont: uiFont, font: .largeTitle.bold()) - } else { - return SharedFont(uiFont: uiFont) - } + return SharedFont(uiFont: uiFont, font: .largeTitle.bold()) } public var title1: SharedFont { let uiFont = self.font(forTextStyle: .title1) - - if #available(iOS 13.0, *) { - return SharedFont(uiFont: uiFont, font: .title) - } else { - return SharedFont(uiFont: uiFont) - } + return SharedFont(uiFont: uiFont, font: .title) } public var title1B: SharedFont { let uiFont = self.title1.uiFont.vc_bold - - if #available(iOS 13.0, *) { - return SharedFont(uiFont: uiFont, font: .title.bold()) - } else { - return SharedFont(uiFont: uiFont) - } + return SharedFont(uiFont: uiFont, font: .title.bold()) } public var title2: SharedFont { let uiFont = self.font(forTextStyle: .title2) - - if #available(iOS 14.0, *) { - return SharedFont(uiFont: uiFont, font: .title2) - } else if #available(iOS 13.0, *) { - return SharedFont(uiFont: uiFont, font: Font(uiFont)) - } else { - return SharedFont(uiFont: uiFont) - } + return SharedFont(uiFont: uiFont, font: .title2) } public var title2B: SharedFont { let uiFont = self.title2.uiFont.vc_bold - - if #available(iOS 14.0, *) { - return SharedFont(uiFont: uiFont, font: .title2.bold()) - } else if #available(iOS 13.0, *) { - return SharedFont(uiFont: uiFont, font: Font(uiFont)) - } else { - return SharedFont(uiFont: uiFont) - } + return SharedFont(uiFont: uiFont, font: .title2.bold()) } public var title3: SharedFont { let uiFont = self.font(forTextStyle: .title3) - - if #available(iOS 14.0, *) { - return SharedFont(uiFont: uiFont, font: .title3) - } else if #available(iOS 13.0, *) { - return SharedFont(uiFont: uiFont, font: Font(uiFont)) - } else { - return SharedFont(uiFont: uiFont) - } + return SharedFont(uiFont: uiFont, font: .title3) } public var title3SB: SharedFont { let uiFont = self.title3.uiFont.vc_semiBold - - if #available(iOS 14.0, *) { - return SharedFont(uiFont: uiFont, font: .title3.weight(.semibold)) - } else if #available(iOS 13.0, *) { - return SharedFont(uiFont: uiFont, font: Font(uiFont)) - } else { - return SharedFont(uiFont: uiFont) - } + return SharedFont(uiFont: uiFont, font: .title3.weight(.semibold)) } public var headline: SharedFont { let uiFont = self.font(forTextStyle: .headline) - - if #available(iOS 13.0, *) { - return SharedFont(uiFont: uiFont, font: .headline) - } else { - return SharedFont(uiFont: uiFont) - } + return SharedFont(uiFont: uiFont, font: .headline) } public var subheadline: SharedFont { let uiFont = self.font(forTextStyle: .subheadline) - - if #available(iOS 13.0, *) { - return SharedFont(uiFont: uiFont, font: .subheadline) - } else { - return SharedFont(uiFont: uiFont) - } + return SharedFont(uiFont: uiFont, font: .subheadline) } public var body: SharedFont { let uiFont = self.font(forTextStyle: .body) - - if #available(iOS 13.0, *) { - return SharedFont(uiFont: uiFont, font: .body) - } else { - return SharedFont(uiFont: uiFont) - } + return SharedFont(uiFont: uiFont, font: .body) } public var bodySB: SharedFont { let uiFont = self.body.uiFont.vc_semiBold - - if #available(iOS 13.0, *) { - return SharedFont(uiFont: uiFont, font: .body.weight(.semibold)) - } else { - return SharedFont(uiFont: uiFont) - } + return SharedFont(uiFont: uiFont, font: .body.weight(.semibold)) } public var callout: SharedFont { let uiFont = self.font(forTextStyle: .callout) - - if #available(iOS 13.0, *) { - return SharedFont(uiFont: uiFont, font: .callout) - } else { - return SharedFont(uiFont: uiFont) - } + return SharedFont(uiFont: uiFont, font: .callout) } public var calloutSB: SharedFont { let uiFont = self.callout.uiFont.vc_semiBold - - if #available(iOS 13.0, *) { - return SharedFont(uiFont: uiFont, font: .callout.weight(.semibold)) - } else { - return SharedFont(uiFont: uiFont) - } + return SharedFont(uiFont: uiFont, font: .callout.weight(.semibold)) } public var footnote: SharedFont { let uiFont = self.font(forTextStyle: .footnote) - - if #available(iOS 13.0, *) { - return SharedFont(uiFont: uiFont, font: .footnote) - } else { - return SharedFont(uiFont: uiFont) - } + return SharedFont(uiFont: uiFont, font: .footnote) } public var footnoteSB: SharedFont { let uiFont = self.footnote.uiFont.vc_semiBold - - if #available(iOS 13.0, *) { - return SharedFont(uiFont: uiFont, font: .footnote.weight(.semibold)) - } else { - return SharedFont(uiFont: uiFont) - } + return SharedFont(uiFont: uiFont, font: .footnote.weight(.semibold)) } public var caption1: SharedFont { let uiFont = self.font(forTextStyle: .caption1) - - if #available(iOS 13.0, *) { - return SharedFont(uiFont: uiFont, font: .caption) - } else { - return SharedFont(uiFont: uiFont) - } + return SharedFont(uiFont: uiFont, font: .caption) } public var caption1SB: SharedFont { let uiFont = self.caption1.uiFont.vc_semiBold - - if #available(iOS 13.0, *) { - return SharedFont(uiFont: uiFont, font: .caption.weight(.semibold)) - } else { - return SharedFont(uiFont: uiFont) - } + return SharedFont(uiFont: uiFont, font: .caption.weight(.semibold)) } public var caption2: SharedFont { let uiFont = self.font(forTextStyle: .caption2) - - if #available(iOS 14.0, *) { - return SharedFont(uiFont: uiFont, font: .caption2) - } else if #available(iOS 13.0, *) { - return SharedFont(uiFont: uiFont, font: Font(uiFont)) - } else { - return SharedFont(uiFont: uiFont) - } + return SharedFont(uiFont: uiFont, font: .caption2) } public var caption2SB: SharedFont { let uiFont = self.caption2.uiFont.vc_semiBold - - if #available(iOS 14.0, *) { - return SharedFont(uiFont: uiFont, font: .caption2.weight(.semibold)) - } else if #available(iOS 13.0, *) { - return SharedFont(uiFont: uiFont, font: Font(uiFont)) - } else { - return SharedFont(uiFont: uiFont) - } + return SharedFont(uiFont: uiFont, font: .caption2.weight(.semibold)) } }