From 4d84e2ec140a76b163be405aef3a4b01bfec30c3 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Tue, 27 Jan 2026 08:49:03 -0600 Subject: [PATCH] Signed-off-by: Matt Bruce --- Sources/Bedrock/Theme/Design.swift | 40 +++++++++++------------------- 1 file changed, 14 insertions(+), 26 deletions(-) diff --git a/Sources/Bedrock/Theme/Design.swift b/Sources/Bedrock/Theme/Design.swift index 98c7169..3d10c9e 100644 --- a/Sources/Bedrock/Theme/Design.swift +++ b/Sources/Bedrock/Theme/Design.swift @@ -190,36 +190,24 @@ public enum Design { /// Standard icon sizes for SF Symbols and custom icons. public enum IconSize { + /// Extra small icon (10pt) - tiny indicators. public static let xSmall: CGFloat = 10 + /// Small icon (12pt) - inline with caption text. public static let small: CGFloat = 12 + /// Medium icon (16pt) - inline with body text. public static let medium: CGFloat = 16 + /// Large icon (22pt) - standalone icons. public static let large: CGFloat = 22 - public static let xLarge: CGFloat = 32 - public static let xxLarge: CGFloat = 48 - public static let xxxLarge: CGFloat = 64 - } - - // MARK: - Font Sizes (Base values for @ScaledMetric) - - /// Base font sizes to use with @ScaledMetric for Dynamic Type support. - public enum BaseFontSize { - public static let xxSmall: CGFloat = 7 - public static let xSmall: CGFloat = 9 - public static let small: CGFloat = 10 - public static let caption: CGFloat = 11 - public static let body: CGFloat = 12 - public static let callout: CGFloat = 13 - public static let medium: CGFloat = 14 - public static let subheadline: CGFloat = 15 - public static let large: CGFloat = 16 - public static let xLarge: CGFloat = 18 - public static let xxLarge: CGFloat = 20 - public static let title3: CGFloat = 22 - public static let title2: CGFloat = 26 - public static let title: CGFloat = 32 - public static let largeTitle: CGFloat = 36 - public static let display: CGFloat = 48 - public static let hero: CGFloat = 64 + /// Extra large icon (28pt) - row icons, list items. + public static let xLarge: CGFloat = 28 + /// Double extra large icon (36pt) - card icons, buttons. + public static let xxLarge: CGFloat = 36 + /// Triple extra large icon (48pt) - feature icons. + public static let xxxLarge: CGFloat = 48 + /// Display icon (64pt) - section headers, prominent features. + public static let display: CGFloat = 64 + /// Hero icon (80pt) - empty states, splash screens. + public static let hero: CGFloat = 80 } // MARK: - Scale