From b47ec3d6b695dfb1ebb5e693d884453c7ce05d93 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Tue, 24 Dec 2024 19:45:09 +0300 Subject: [PATCH 001/107] SUProgressBar and ProgressBarVM --- .../PreviewPages/ProgressBarPreview.swift | 36 ++++++ Examples/DemosApp/DemosApp/Core/App.swift | 3 + .../ProgressBar/Models/ProgressBarVM.swift | 114 ++++++++++++++++++ .../ProgressBar/SUProgressBar.swift | 80 ++++++++++++ 4 files changed, 233 insertions(+) create mode 100644 Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift create mode 100644 Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift create mode 100644 Sources/ComponentsKit/ProgressBar/SUProgressBar.swift diff --git a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift new file mode 100644 index 00000000..59d0b671 --- /dev/null +++ b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift @@ -0,0 +1,36 @@ +import ComponentsKit +import SwiftUI +import UIKit + +struct ProgressBarPreview: View { + @State private var model = ProgressBarVM() + @State private var currentValue: CGFloat = 50 + + var body: some View { + VStack { + PreviewWrapper(title: "SwiftUI") { + SUProgressBar(currentValue: $currentValue, model: model) + } + Form { + ComponentColorPicker(selection: self.$model.color) + Picker("Current Value", selection: $currentValue) { + Text("0").tag(CGFloat(0)) + Text("25").tag(CGFloat(25)) + Text("50").tag(CGFloat(50)) + Text("75").tag(CGFloat(75)) + Text("100").tag(CGFloat(100)) + } + SizePicker(selection: self.$model.size) + Picker("Style", selection: $model.style) { + Text("Light").tag(ProgressBarStyle.light) + Text("Filled").tag(ProgressBarStyle.filled) + Text("Striped").tag(ProgressBarStyle.striped) + } + } + } + } +} + +#Preview { + ProgressBarPreview() +} diff --git a/Examples/DemosApp/DemosApp/Core/App.swift b/Examples/DemosApp/DemosApp/Core/App.swift index 714bcec6..e8e27dbc 100644 --- a/Examples/DemosApp/DemosApp/Core/App.swift +++ b/Examples/DemosApp/DemosApp/Core/App.swift @@ -24,6 +24,9 @@ struct App: View { NavigationLinkWithTitle("Loading") { LoadingPreview() } + NavigationLinkWithTitle("Progress Bar") { + ProgressBarPreview() + } NavigationLinkWithTitle("Radio Group") { RadioGroupPreview() } diff --git a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift new file mode 100644 index 00000000..95822823 --- /dev/null +++ b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift @@ -0,0 +1,114 @@ +import SwiftUI + +public enum ProgressBarStyle: String { + case light + case filled + case striped +} + +public struct ProgressBarVM: ComponentVM { + public var color: ComponentColor = .primary + public var style: ProgressBarStyle = .striped + public var size: ComponentSize = .medium + public var minValue: CGFloat = 0 + public var maxValue: CGFloat = 100 + + public var cornerRadius: ComponentRadius = .medium + public var stripeWidth: CGFloat = 2 + public var stripeSpacing: CGFloat = 4 + public var stripeAngle: Angle = .degrees(135) + + public init() {} +} + +extension ProgressBarVM { + var barHeight: CGFloat { + switch style { + case .light: + switch size { + case .small: + return 4 + case .medium: + return 8 + case .large: + return 16 + } + case .filled, .striped: + switch size { + case .small: + return 10 + case .medium: + return 25 + case .large: + return 45 + } + } + } + + var computedCornerRadius: CGFloat { + switch style { + case .light: + return barHeight / 2 + case .filled, .striped: + switch size { + case .small, .medium: + return barHeight / 2 + case .large: + return barHeight / 2.5 + } + } + } + + var backgroundColor: UniversalColor { + switch style { + case .light: + return self.color.main.withOpacity(0.15) + case .filled: + return self.color.main + case .striped: + return self.color.main + } + } + + var barColor: UniversalColor { + switch style { + case .light: + return self.color.main + case .filled: + return self.color.contrast + case .striped: + return self.color.contrast + } + } + + func shouldUpdateLayout(_ oldModel: Self) -> Bool { + return self.size != oldModel.size + } + + public func stripesPath(in rect: CGRect) -> Path { + var path = Path() + let step = stripeWidth + stripeSpacing + let radians = stripeAngle.radians + let dx = rect.height * tan(radians) + + for x in stride(from: -dx - step, through: rect.width + step, by: step) { + let topLeft = CGPoint(x: x, y: 0) + let topRight = CGPoint(x: x + stripeWidth, y: 0) + let bottomLeft = CGPoint(x: x + dx, y: rect.height) + let bottomRight = CGPoint(x: x + stripeWidth + dx, y: rect.height) + + path.move(to: topLeft) + path.addLine(to: topRight) + path.addLine(to: bottomRight) + path.addLine(to: bottomLeft) + path.closeSubpath() + } + + return path + } + + public func stripesBezierPath(in rect: CGRect) -> UIBezierPath { + let swiftUIPath = stripesPath(in: rect) + return UIBezierPath(cgPath: swiftUIPath.cgPath) + } +} diff --git a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift new file mode 100644 index 00000000..34cc82a3 --- /dev/null +++ b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift @@ -0,0 +1,80 @@ +import SwiftUI + +public struct SUProgressBar: View { + var model: ProgressBarVM + @Binding private var currentValue: CGFloat + + public init(currentValue: Binding, model: ProgressBarVM) { + self._currentValue = currentValue + self.model = model + } + + public var body: some View { + GeometryReader { geometry in + switch model.style { + case .light: + HStack(spacing: 4) { + Rectangle() + .foregroundColor(model.barColor.color) + .frame(width: geometry.size.width * fraction, height: model.barHeight) + .cornerRadius(model.computedCornerRadius) + Rectangle() + .foregroundColor(model.backgroundColor.color) + .frame(width: geometry.size.width * (1 - fraction), height: model.barHeight) + .cornerRadius(model.computedCornerRadius) + } + .animation(.default, value: fraction) + + case .filled: + ZStack(alignment: .leading) { + RoundedRectangle(cornerRadius: model.computedCornerRadius) + .foregroundColor(model.color.main.color) + .frame(width: geometry.size.width, height: model.barHeight) + + RoundedRectangle(cornerRadius: model.computedCornerRadius) + .foregroundColor((model.color.contrast ?? .foreground).color) + .frame(width: (geometry.size.width - 6) * fraction, height: model.barHeight - 6) + .padding(3) + } + .animation(.default, value: fraction) + + case .striped: + ZStack(alignment: .leading) { + RoundedRectangle(cornerRadius: model.computedCornerRadius) + .foregroundColor(model.color.main.color) + .frame(width: geometry.size.width, height: model.barHeight) + + RoundedRectangle(cornerRadius: model.computedCornerRadius) + .foregroundColor(model.color.contrast.color) + .frame(width: (geometry.size.width - 6) * fraction, height: model.barHeight - 6) + .padding(3) + + StripesShape(model: model) + .foregroundColor(model.color.main.color) + .scaleEffect(1.3) + .cornerRadius(model.computedCornerRadius) + .frame(width: (geometry.size.width - 6) * fraction, height: model.barHeight - 6) + .clipped() + .padding(3) + } + .animation(.default, value: fraction) + } + } + .frame(height: model.barHeight) + } + + private var fraction: CGFloat { + let range = model.maxValue - model.minValue + guard range != 0 else { return 0 } + let fraction = (currentValue - model.minValue) / range + return max(0, min(1, fraction)) + } +} + +struct StripesShape: Shape { + var model: ProgressBarVM + + func path(in rect: CGRect) -> Path { + model.stripesPath(in: rect) + } +} From ac97deafbf563c3da13d5f6a07045624fd5a8933 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Tue, 24 Dec 2024 20:40:11 +0300 Subject: [PATCH 002/107] Documentation --- .../PreviewPages/ProgressBarPreview.swift | 6 +- .../ProgressBar/Models/ProgressBarStyle.swift | 10 +++ .../ProgressBar/Models/ProgressBarVM.swift | 62 +++++++++++++------ .../ProgressBar/SUProgressBar.swift | 56 +++++++++++------ 4 files changed, 95 insertions(+), 39 deletions(-) create mode 100644 Sources/ComponentsKit/ProgressBar/Models/ProgressBarStyle.swift diff --git a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift index 59d0b671..e4ec48b8 100644 --- a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift +++ b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift @@ -22,9 +22,9 @@ struct ProgressBarPreview: View { } SizePicker(selection: self.$model.size) Picker("Style", selection: $model.style) { - Text("Light").tag(ProgressBarStyle.light) - Text("Filled").tag(ProgressBarStyle.filled) - Text("Striped").tag(ProgressBarStyle.striped) + Text("Light").tag(ProgressBarVM.ProgressBarStyle.light) + Text("Filled").tag(ProgressBarVM.ProgressBarStyle.filled) + Text("Striped").tag(ProgressBarVM.ProgressBarStyle.striped) } } } diff --git a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarStyle.swift b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarStyle.swift new file mode 100644 index 00000000..bcd1e414 --- /dev/null +++ b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarStyle.swift @@ -0,0 +1,10 @@ +import Foundation + +extension ProgressBarVM { + /// Defines the visual styles for the progress bar component. + public enum ProgressBarStyle { + case light + case filled + case striped + } +} diff --git a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift index 95822823..9522d0c9 100644 --- a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift +++ b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift @@ -1,26 +1,48 @@ import SwiftUI -public enum ProgressBarStyle: String { - case light - case filled - case striped -} - +/// A model that defines the appearance properties for a a progress bar component. public struct ProgressBarVM: ComponentVM { + /// The color of the progress bar.. + /// + /// Defaults to `.primary`. public var color: ComponentColor = .primary + + /// The visual style of the progress bar component. + /// + /// Defaults to `.light`. public var style: ProgressBarStyle = .striped - public var size: ComponentSize = .medium + + /// The size of the progress bar. + /// + /// Defaults to `.medium`. + public var size: ComponentSize = .large + + /// The minimum value of the progress bar. public var minValue: CGFloat = 0 + + /// The maximum value of the progress bar. public var maxValue: CGFloat = 100 + /// The corner radius of the progress bar. + /// + /// Defaults to `.medium`. public var cornerRadius: ComponentRadius = .medium + + /// The width of the stripes in the `.striped` progress bar style. public var stripeWidth: CGFloat = 2 + + /// The spacing between the stripes in the `.striped` progress bar style. public var stripeSpacing: CGFloat = 4 + + /// The angle of the stripes in the `.striped` progress bar style.. public var stripeAngle: Angle = .degrees(135) + /// Initializes a new instance of `ProgressBarVM` with default values. public init() {} } +// MARK: - Shared Helpers + extension ProgressBarVM { var barHeight: CGFloat { switch style { @@ -63,9 +85,7 @@ extension ProgressBarVM { switch style { case .light: return self.color.main.withOpacity(0.15) - case .filled: - return self.color.main - case .striped: + case .filled, .striped: return self.color.main } } @@ -74,9 +94,7 @@ extension ProgressBarVM { switch style { case .light: return self.color.main - case .filled: - return self.color.contrast - case .striped: + case .filled, .striped: return self.color.contrast } } @@ -90,13 +108,13 @@ extension ProgressBarVM { let step = stripeWidth + stripeSpacing let radians = stripeAngle.radians let dx = rect.height * tan(radians) - - for x in stride(from: -dx - step, through: rect.width + step, by: step) { - let topLeft = CGPoint(x: x, y: 0) + + for x in stride(from: dx - step, through: rect.width + step, by: step) { + let topLeft = CGPoint(x: x, y: 0) let topRight = CGPoint(x: x + stripeWidth, y: 0) - let bottomLeft = CGPoint(x: x + dx, y: rect.height) + let bottomLeft = CGPoint(x: x + dx, y: rect.height) let bottomRight = CGPoint(x: x + stripeWidth + dx, y: rect.height) - + path.move(to: topLeft) path.addLine(to: topRight) path.addLine(to: bottomRight) @@ -112,3 +130,11 @@ extension ProgressBarVM { return UIBezierPath(cgPath: swiftUIPath.cgPath) } } + +// MARK: - Validation + +extension ProgressBarVM { + public func isValid() -> Bool { + return minValue < maxValue + } +} diff --git a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift index 34cc82a3..c79d06b6 100644 --- a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift @@ -1,14 +1,30 @@ import SwiftUI +/// A SwiftUI component that displays a progress bar. public struct SUProgressBar: View { - var model: ProgressBarVM + // MARK: - Properties + + /// A model that defines the appearance properties. + public var model: ProgressBarVM + @Binding private var currentValue: CGFloat - public init(currentValue: Binding, model: ProgressBarVM) { + // MARK: - Initializer + + /// Initializer. + /// - Parameters: + /// - currentValue: A binding to the current value. + /// - model: A model that defines the appearance properties. + public init( + currentValue: Binding, + model: ProgressBarVM + ) { self._currentValue = currentValue self.model = model } + // MARK: - Body + public var body: some View { GeometryReader { geometry in switch model.style { @@ -22,21 +38,23 @@ public struct SUProgressBar: View { .foregroundColor(model.backgroundColor.color) .frame(width: geometry.size.width * (1 - fraction), height: model.barHeight) .cornerRadius(model.computedCornerRadius) + .scaleEffect(fraction == 0 ? 0 : 1, anchor: .leading) } - .animation(.default, value: fraction) + .animation(.spring, value: fraction) case .filled: ZStack(alignment: .leading) { RoundedRectangle(cornerRadius: model.computedCornerRadius) .foregroundColor(model.color.main.color) .frame(width: geometry.size.width, height: model.barHeight) - + RoundedRectangle(cornerRadius: model.computedCornerRadius) .foregroundColor((model.color.contrast ?? .foreground).color) .frame(width: (geometry.size.width - 6) * fraction, height: model.barHeight - 6) .padding(3) + .scaleEffect(fraction == 0 ? 0 : 1, anchor: .leading) } - .animation(.default, value: fraction) + .animation(.spring, value: fraction) case .striped: ZStack(alignment: .leading) { @@ -44,25 +62,26 @@ public struct SUProgressBar: View { .foregroundColor(model.color.main.color) .frame(width: geometry.size.width, height: model.barHeight) - RoundedRectangle(cornerRadius: model.computedCornerRadius) - .foregroundColor(model.color.contrast.color) - .frame(width: (geometry.size.width - 6) * fraction, height: model.barHeight - 6) - .padding(3) - - StripesShape(model: model) - .foregroundColor(model.color.main.color) - .scaleEffect(1.3) - .cornerRadius(model.computedCornerRadius) - .frame(width: (geometry.size.width - 6) * fraction, height: model.barHeight - 6) - .clipped() - .padding(3) + RoundedRectangle(cornerRadius: model.computedCornerRadius) + .foregroundColor(model.color.contrast.color) + .frame(width: (geometry.size.width - 6) * fraction, height: model.barHeight - 6) + .padding(3) + .scaleEffect(fraction == 0 ? 0 : 1, anchor: .leading) + + StripesShape(model: model) + .foregroundColor(model.color.main.color) + .scaleEffect(1.2) + .cornerRadius(model.computedCornerRadius) + .clipped() } - .animation(.default, value: fraction) + .animation(.spring, value: fraction) } } .frame(height: model.barHeight) } + // MARK: - Properties + private var fraction: CGFloat { let range = model.maxValue - model.minValue guard range != 0 else { return 0 } @@ -71,6 +90,7 @@ public struct SUProgressBar: View { } } + struct StripesShape: Shape { var model: ProgressBarVM From 04c39806650a499238435305af04fe343e84ef0b Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Tue, 24 Dec 2024 20:44:52 +0300 Subject: [PATCH 003/107] swiftlint fix --- .../ComponentsPreview/PreviewPages/ProgressBarPreview.swift | 2 +- Sources/ComponentsKit/ProgressBar/SUProgressBar.swift | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift index e4ec48b8..d934e4ad 100644 --- a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift +++ b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift @@ -5,7 +5,7 @@ import UIKit struct ProgressBarPreview: View { @State private var model = ProgressBarVM() @State private var currentValue: CGFloat = 50 - + var body: some View { VStack { PreviewWrapper(title: "SwiftUI") { diff --git a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift index c79d06b6..294ce1be 100644 --- a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift @@ -90,7 +90,6 @@ public struct SUProgressBar: View { } } - struct StripesShape: Shape { var model: ProgressBarVM From 10700271b3a595e444f216fb9316dcc0eba5345c Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Wed, 25 Dec 2024 14:46:12 +0300 Subject: [PATCH 004/107] .self added --- .../ProgressBar/SUProgressBar.swift | 64 +++++++++---------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift index 294ce1be..61fb989d 100644 --- a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift @@ -27,65 +27,65 @@ public struct SUProgressBar: View { public var body: some View { GeometryReader { geometry in - switch model.style { + switch self.model.style { case .light: HStack(spacing: 4) { Rectangle() - .foregroundColor(model.barColor.color) - .frame(width: geometry.size.width * fraction, height: model.barHeight) - .cornerRadius(model.computedCornerRadius) + .foregroundColor(self.model.barColor.color) + .frame(width: geometry.size.width * self.fraction, height: self.model.barHeight) + .cornerRadius(self.model.computedCornerRadius) Rectangle() - .foregroundColor(model.backgroundColor.color) - .frame(width: geometry.size.width * (1 - fraction), height: model.barHeight) - .cornerRadius(model.computedCornerRadius) - .scaleEffect(fraction == 0 ? 0 : 1, anchor: .leading) + .foregroundColor(self.model.backgroundColor.color) + .frame(width: geometry.size.width * (1 - self.fraction), height: self.model.barHeight) + .cornerRadius(self.model.computedCornerRadius) + .scaleEffect(self.fraction == 0 ? 0 : 1, anchor: .leading) } - .animation(.spring, value: fraction) + .animation(.spring, value: self.fraction) case .filled: ZStack(alignment: .leading) { - RoundedRectangle(cornerRadius: model.computedCornerRadius) - .foregroundColor(model.color.main.color) - .frame(width: geometry.size.width, height: model.barHeight) + RoundedRectangle(cornerRadius: self.model.computedCornerRadius) + .foregroundColor(self.model.color.main.color) + .frame(width: geometry.size.width, height: self.model.barHeight) - RoundedRectangle(cornerRadius: model.computedCornerRadius) - .foregroundColor((model.color.contrast ?? .foreground).color) - .frame(width: (geometry.size.width - 6) * fraction, height: model.barHeight - 6) + RoundedRectangle(cornerRadius: self.model.computedCornerRadius) + .foregroundColor((self.model.color.contrast ?? .foreground).color) + .frame(width: (geometry.size.width - 6) * self.fraction, height: self.model.barHeight - 6) .padding(3) - .scaleEffect(fraction == 0 ? 0 : 1, anchor: .leading) + .scaleEffect(self.fraction == 0 ? 0 : 1, anchor: .leading) } - .animation(.spring, value: fraction) + .animation(.spring, value: self.fraction) case .striped: ZStack(alignment: .leading) { - RoundedRectangle(cornerRadius: model.computedCornerRadius) - .foregroundColor(model.color.main.color) - .frame(width: geometry.size.width, height: model.barHeight) + RoundedRectangle(cornerRadius: self.model.computedCornerRadius) + .foregroundColor(self.model.color.main.color) + .frame(width: geometry.size.width, height: self.model.barHeight) - RoundedRectangle(cornerRadius: model.computedCornerRadius) - .foregroundColor(model.color.contrast.color) - .frame(width: (geometry.size.width - 6) * fraction, height: model.barHeight - 6) + RoundedRectangle(cornerRadius: self.model.computedCornerRadius) + .foregroundColor(self.model.color.contrast.color) + .frame(width: (geometry.size.width - 6) * self.fraction, height: self.model.barHeight - 6) .padding(3) - .scaleEffect(fraction == 0 ? 0 : 1, anchor: .leading) + .scaleEffect(self.fraction == 0 ? 0 : 1, anchor: .leading) - StripesShape(model: model) - .foregroundColor(model.color.main.color) + StripesShape(model: self.model) + .foregroundColor(self.model.color.main.color) .scaleEffect(1.2) - .cornerRadius(model.computedCornerRadius) + .cornerRadius(self.model.computedCornerRadius) .clipped() } - .animation(.spring, value: fraction) + .animation(.spring, value: self.fraction) } } - .frame(height: model.barHeight) + .frame(height: self.model.barHeight) } // MARK: - Properties private var fraction: CGFloat { - let range = model.maxValue - model.minValue + let range = self.model.maxValue - self.model.minValue guard range != 0 else { return 0 } - let fraction = (currentValue - model.minValue) / range + let fraction = (self.currentValue - self.model.minValue) / range return max(0, min(1, fraction)) } } @@ -94,6 +94,6 @@ struct StripesShape: Shape { var model: ProgressBarVM func path(in rect: CGRect) -> Path { - model.stripesPath(in: rect) + self.model.stripesPath(in: rect) } } From b2ac453e84dfa08ef5722ec72711b48d7923f6cd Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Thu, 26 Dec 2024 08:02:27 +0300 Subject: [PATCH 005/107] code style fix --- .../PreviewPages/ProgressBarPreview.swift | 8 +-- .../ProgressBar/Models/ProgressBarStyle.swift | 2 +- .../ProgressBar/Models/ProgressBarVM.swift | 53 ++++++++++--------- .../ProgressBar/SUProgressBar.swift | 24 ++++----- 4 files changed, 46 insertions(+), 41 deletions(-) diff --git a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift index d934e4ad..9320c43f 100644 --- a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift +++ b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift @@ -4,7 +4,7 @@ import UIKit struct ProgressBarPreview: View { @State private var model = ProgressBarVM() - @State private var currentValue: CGFloat = 50 + @State private var currentValue: CGFloat = 75 var body: some View { VStack { @@ -22,9 +22,9 @@ struct ProgressBarPreview: View { } SizePicker(selection: self.$model.size) Picker("Style", selection: $model.style) { - Text("Light").tag(ProgressBarVM.ProgressBarStyle.light) - Text("Filled").tag(ProgressBarVM.ProgressBarStyle.filled) - Text("Striped").tag(ProgressBarVM.ProgressBarStyle.striped) + Text("Light").tag(ProgressBarVM.Style.light) + Text("Filled").tag(ProgressBarVM.Style.filled) + Text("Striped").tag(ProgressBarVM.Style.striped) } } } diff --git a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarStyle.swift b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarStyle.swift index bcd1e414..08c0639c 100644 --- a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarStyle.swift +++ b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarStyle.swift @@ -2,7 +2,7 @@ import Foundation extension ProgressBarVM { /// Defines the visual styles for the progress bar component. - public enum ProgressBarStyle { + public enum Style { case light case filled case striped diff --git a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift index 9522d0c9..e195985e 100644 --- a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift +++ b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift @@ -4,18 +4,18 @@ import SwiftUI public struct ProgressBarVM: ComponentVM { /// The color of the progress bar.. /// - /// Defaults to `.primary`. - public var color: ComponentColor = .primary + /// Defaults to `.accent`. + public var color: ComponentColor = .accent /// The visual style of the progress bar component. /// - /// Defaults to `.light`. - public var style: ProgressBarStyle = .striped + /// Defaults to `.striped`. + public var style: Style = .striped /// The size of the progress bar. /// /// Defaults to `.medium`. - public var size: ComponentSize = .large + public var size: ComponentSize = .medium /// The minimum value of the progress bar. public var minValue: CGFloat = 0 @@ -45,7 +45,7 @@ public struct ProgressBarVM: ComponentVM { extension ProgressBarVM { var barHeight: CGFloat { - switch style { + switch self.style { case .light: switch size { case .small: @@ -53,38 +53,41 @@ extension ProgressBarVM { case .medium: return 8 case .large: - return 16 + return 12 } case .filled, .striped: - switch size { + switch self.size { case .small: - return 10 + return 20 case .medium: - return 25 + return 32 case .large: - return 45 + return 42 } } } var computedCornerRadius: CGFloat { - switch style { - case .light: - return barHeight / 2 - case .filled, .striped: - switch size { - case .small, .medium: - return barHeight / 2 - case .large: - return barHeight / 2.5 - } + switch self.cornerRadius { + case .none: + return 0.0 + case .small: + return self.barHeight / 3.5 + case .medium: + return self.barHeight / 3.0 + case .large: + return self.barHeight / 2.5 + case .full: + return self.barHeight / 2.0 + case .custom(let value): + return min(value, self.barHeight / 2) } } var backgroundColor: UniversalColor { switch style { case .light: - return self.color.main.withOpacity(0.15) + return self.color.background case .filled, .striped: return self.color.main } @@ -134,7 +137,9 @@ extension ProgressBarVM { // MARK: - Validation extension ProgressBarVM { - public func isValid() -> Bool { - return minValue < maxValue + func validateMinMaxValues() { + if self.minValue > self.maxValue { + assertionFailure("Min value must be less than max value") + } } } diff --git a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift index 61fb989d..14f39915 100644 --- a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift @@ -17,7 +17,7 @@ public struct SUProgressBar: View { /// - model: A model that defines the appearance properties. public init( currentValue: Binding, - model: ProgressBarVM + model: ProgressBarVM = .init() ) { self._currentValue = currentValue self.model = model @@ -30,26 +30,24 @@ public struct SUProgressBar: View { switch self.model.style { case .light: HStack(spacing: 4) { - Rectangle() - .foregroundColor(self.model.barColor.color) + RoundedRectangle(cornerRadius: self.model.computedCornerRadius) + .foregroundStyle(self.model.barColor.color) .frame(width: geometry.size.width * self.fraction, height: self.model.barHeight) - .cornerRadius(self.model.computedCornerRadius) Rectangle() - .foregroundColor(self.model.backgroundColor.color) + .foregroundStyle(self.model.backgroundColor.color) .frame(width: geometry.size.width * (1 - self.fraction), height: self.model.barHeight) .cornerRadius(self.model.computedCornerRadius) - .scaleEffect(self.fraction == 0 ? 0 : 1, anchor: .leading) } .animation(.spring, value: self.fraction) case .filled: ZStack(alignment: .leading) { RoundedRectangle(cornerRadius: self.model.computedCornerRadius) - .foregroundColor(self.model.color.main.color) + .foregroundStyle(self.model.color.main.color) .frame(width: geometry.size.width, height: self.model.barHeight) RoundedRectangle(cornerRadius: self.model.computedCornerRadius) - .foregroundColor((self.model.color.contrast ?? .foreground).color) + .foregroundStyle((self.model.color.contrast ?? .foreground).color) .frame(width: (geometry.size.width - 6) * self.fraction, height: self.model.barHeight - 6) .padding(3) .scaleEffect(self.fraction == 0 ? 0 : 1, anchor: .leading) @@ -59,17 +57,16 @@ public struct SUProgressBar: View { case .striped: ZStack(alignment: .leading) { RoundedRectangle(cornerRadius: self.model.computedCornerRadius) - .foregroundColor(self.model.color.main.color) + .foregroundStyle(self.model.color.main.color) .frame(width: geometry.size.width, height: self.model.barHeight) RoundedRectangle(cornerRadius: self.model.computedCornerRadius) - .foregroundColor(self.model.color.contrast.color) + .foregroundStyle(self.model.color.contrast.color) .frame(width: (geometry.size.width - 6) * self.fraction, height: self.model.barHeight - 6) .padding(3) - .scaleEffect(self.fraction == 0 ? 0 : 1, anchor: .leading) StripesShape(model: self.model) - .foregroundColor(self.model.color.main.color) + .foregroundStyle(self.model.color.main.color) .scaleEffect(1.2) .cornerRadius(self.model.computedCornerRadius) .clipped() @@ -78,6 +75,9 @@ public struct SUProgressBar: View { } } .frame(height: self.model.barHeight) + .onAppear { + self.model.validateMinMaxValues() + } } // MARK: - Properties From 45040263e0455683555852984b2e4f4a4b78a34f Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Thu, 26 Dec 2024 08:04:23 +0300 Subject: [PATCH 006/107] ProgressBarPreview step fix --- .../PreviewPages/ProgressBarPreview.swift | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift index 9320c43f..c60bba3f 100644 --- a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift +++ b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift @@ -13,12 +13,9 @@ struct ProgressBarPreview: View { } Form { ComponentColorPicker(selection: self.$model.color) - Picker("Current Value", selection: $currentValue) { - Text("0").tag(CGFloat(0)) - Text("25").tag(CGFloat(25)) - Text("50").tag(CGFloat(50)) - Text("75").tag(CGFloat(75)) - Text("100").tag(CGFloat(100)) + Stepper("Current Value", value: $currentValue, in: self.model.minValue...self.model.maxValue, step: 10) + CornerRadiusPicker(selection: self.$model.cornerRadius) { + Text("Custom: 2px").tag(ComponentRadius.custom(2)) } SizePicker(selection: self.$model.size) Picker("Style", selection: $model.style) { From fd771263b082e27d564e7f01892b603716a65f30 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Thu, 26 Dec 2024 08:13:42 +0300 Subject: [PATCH 007/107] padding fix --- .../ComponentsKit/ProgressBar/Models/ProgressBarVM.swift | 5 +++++ Sources/ComponentsKit/ProgressBar/SUProgressBar.swift | 7 ++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift index e195985e..b88ec7b2 100644 --- a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift +++ b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift @@ -37,6 +37,11 @@ public struct ProgressBarVM: ComponentVM { /// The angle of the stripes in the `.striped` progress bar style.. public var stripeAngle: Angle = .degrees(135) + /// The padding applied to the modal's content area. + /// + /// Defaults to a padding value of `3` for all sides. + public var contentPaddings: Paddings = .init(padding: 3) + /// Initializes a new instance of `ProgressBarVM` with default values. public init() {} } diff --git a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift index 14f39915..acd1f853 100644 --- a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift @@ -49,8 +49,8 @@ public struct SUProgressBar: View { RoundedRectangle(cornerRadius: self.model.computedCornerRadius) .foregroundStyle((self.model.color.contrast ?? .foreground).color) .frame(width: (geometry.size.width - 6) * self.fraction, height: self.model.barHeight - 6) - .padding(3) - .scaleEffect(self.fraction == 0 ? 0 : 1, anchor: .leading) + .padding(.vertical, self.model.contentPaddings.top) + .padding(.horizontal, self.model.contentPaddings.trailing) } .animation(.spring, value: self.fraction) @@ -63,7 +63,8 @@ public struct SUProgressBar: View { RoundedRectangle(cornerRadius: self.model.computedCornerRadius) .foregroundStyle(self.model.color.contrast.color) .frame(width: (geometry.size.width - 6) * self.fraction, height: self.model.barHeight - 6) - .padding(3) + .padding(.vertical, self.model.contentPaddings.top) + .padding(.horizontal, self.model.contentPaddings.trailing) StripesShape(model: self.model) .foregroundStyle(self.model.color.main.color) From dd1158d75e87d268a06b369e7990bcc9794b4ff1 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Thu, 26 Dec 2024 08:21:23 +0300 Subject: [PATCH 008/107] var fraction fix renamed to progress and moved to the top --- .../ProgressBar/SUProgressBar.swift | 36 ++++++++++--------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift index acd1f853..0861100c 100644 --- a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift @@ -9,6 +9,17 @@ public struct SUProgressBar: View { @Binding private var currentValue: CGFloat + private var progress: CGFloat { + let range = self.model.maxValue - self.model.minValue + + guard range > 0 else { + return 0 + } + + let progress = (self.currentValue - self.model.minValue) / range + return max(0, min(1, progress)) + } + // MARK: - Initializer /// Initializer. @@ -32,13 +43,13 @@ public struct SUProgressBar: View { HStack(spacing: 4) { RoundedRectangle(cornerRadius: self.model.computedCornerRadius) .foregroundStyle(self.model.barColor.color) - .frame(width: geometry.size.width * self.fraction, height: self.model.barHeight) + .frame(width: geometry.size.width * self.progress, height: self.model.barHeight) Rectangle() .foregroundStyle(self.model.backgroundColor.color) - .frame(width: geometry.size.width * (1 - self.fraction), height: self.model.barHeight) + .frame(width: geometry.size.width * (1 - self.progress), height: self.model.barHeight) .cornerRadius(self.model.computedCornerRadius) } - .animation(.spring, value: self.fraction) + .animation(.spring, value: self.progress) case .filled: ZStack(alignment: .leading) { @@ -48,11 +59,11 @@ public struct SUProgressBar: View { RoundedRectangle(cornerRadius: self.model.computedCornerRadius) .foregroundStyle((self.model.color.contrast ?? .foreground).color) - .frame(width: (geometry.size.width - 6) * self.fraction, height: self.model.barHeight - 6) + .frame(width: (geometry.size.width - 6) * self.progress, height: self.model.barHeight - 6) .padding(.vertical, self.model.contentPaddings.top) .padding(.horizontal, self.model.contentPaddings.trailing) } - .animation(.spring, value: self.fraction) + .animation(.spring, value: self.progress) case .striped: ZStack(alignment: .leading) { @@ -62,7 +73,7 @@ public struct SUProgressBar: View { RoundedRectangle(cornerRadius: self.model.computedCornerRadius) .foregroundStyle(self.model.color.contrast.color) - .frame(width: (geometry.size.width - 6) * self.fraction, height: self.model.barHeight - 6) + .frame(width: (geometry.size.width - 6) * self.progress, height: self.model.barHeight - 6) .padding(.vertical, self.model.contentPaddings.top) .padding(.horizontal, self.model.contentPaddings.trailing) @@ -72,7 +83,7 @@ public struct SUProgressBar: View { .cornerRadius(self.model.computedCornerRadius) .clipped() } - .animation(.spring, value: self.fraction) + .animation(.spring, value: self.progress) } } .frame(height: self.model.barHeight) @@ -80,17 +91,10 @@ public struct SUProgressBar: View { self.model.validateMinMaxValues() } } - - // MARK: - Properties - - private var fraction: CGFloat { - let range = self.model.maxValue - self.model.minValue - guard range != 0 else { return 0 } - let fraction = (self.currentValue - self.model.minValue) / range - return max(0, min(1, fraction)) - } } +// MARK: - Properties + struct StripesShape: Shape { var model: ProgressBarVM From 0ff5aea788f6edf3ddd8d4b7a3da8acf289035f6 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Thu, 26 Dec 2024 08:26:48 +0300 Subject: [PATCH 009/107] stripes fix bug fix: the stripes are not drawn on the entire area --- .../ProgressBar/Models/ProgressBarVM.swift | 20 +++++++++++-------- .../ProgressBar/SUProgressBar.swift | 1 - 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift index b88ec7b2..e2c000af 100644 --- a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift +++ b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift @@ -111,31 +111,35 @@ extension ProgressBarVM { return self.size != oldModel.size } - public func stripesPath(in rect: CGRect) -> Path { - var path = Path() + private func stripesCGPath(in rect: CGRect) -> CGMutablePath { + let stripeWidth: CGFloat = 2 + let stripeSpacing: CGFloat = 4 + let stripeAngle: Angle = .degrees(135) + + let path = CGMutablePath() let step = stripeWidth + stripeSpacing let radians = stripeAngle.radians let dx = rect.height * tan(radians) - - for x in stride(from: dx - step, through: rect.width + step, by: step) { + for x in stride(from: dx, through: rect.width + rect.height, by: step) { let topLeft = CGPoint(x: x, y: 0) let topRight = CGPoint(x: x + stripeWidth, y: 0) let bottomLeft = CGPoint(x: x + dx, y: rect.height) let bottomRight = CGPoint(x: x + stripeWidth + dx, y: rect.height) - path.move(to: topLeft) path.addLine(to: topRight) path.addLine(to: bottomRight) path.addLine(to: bottomLeft) path.closeSubpath() } - return path } + public func stripesPath(in rect: CGRect) -> Path { + return Path(self.stripesCGPath(in: rect)) + } + public func stripesBezierPath(in rect: CGRect) -> UIBezierPath { - let swiftUIPath = stripesPath(in: rect) - return UIBezierPath(cgPath: swiftUIPath.cgPath) + return UIBezierPath(cgPath: self.stripesCGPath(in: rect)) } } diff --git a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift index 0861100c..80046e5f 100644 --- a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift @@ -79,7 +79,6 @@ public struct SUProgressBar: View { StripesShape(model: self.model) .foregroundStyle(self.model.color.main.color) - .scaleEffect(1.2) .cornerRadius(self.model.computedCornerRadius) .clipped() } From 9b65fae32a254fdf361f4c54219ab80a62efccd6 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Thu, 26 Dec 2024 08:28:29 +0300 Subject: [PATCH 010/107] unused properties removed --- .../ComponentsKit/ProgressBar/Models/ProgressBarVM.swift | 9 --------- 1 file changed, 9 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift index e2c000af..b8112551 100644 --- a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift +++ b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift @@ -28,15 +28,6 @@ public struct ProgressBarVM: ComponentVM { /// Defaults to `.medium`. public var cornerRadius: ComponentRadius = .medium - /// The width of the stripes in the `.striped` progress bar style. - public var stripeWidth: CGFloat = 2 - - /// The spacing between the stripes in the `.striped` progress bar style. - public var stripeSpacing: CGFloat = 4 - - /// The angle of the stripes in the `.striped` progress bar style.. - public var stripeAngle: Angle = .degrees(135) - /// The padding applied to the modal's content area. /// /// Defaults to a padding value of `3` for all sides. From 3cec343a42422d8df90b09ea10bc84e92bbe2233 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Thu, 26 Dec 2024 14:09:01 +0300 Subject: [PATCH 011/107] added innerCornerRadius --- .../ComponentsKit/ProgressBar/Models/ProgressBarVM.swift | 7 ++++++- Sources/ComponentsKit/ProgressBar/SUProgressBar.swift | 7 +++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift index b8112551..d9c88feb 100644 --- a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift +++ b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift @@ -80,6 +80,11 @@ extension ProgressBarVM { } } + var innerCornerRadius: CGFloat { + let distance: CGFloat = 3 + return max(0, self.computedCornerRadius - distance) + } + var backgroundColor: UniversalColor { switch style { case .light: @@ -106,7 +111,7 @@ extension ProgressBarVM { let stripeWidth: CGFloat = 2 let stripeSpacing: CGFloat = 4 let stripeAngle: Angle = .degrees(135) - + let path = CGMutablePath() let step = stripeWidth + stripeSpacing let radians = stripeAngle.radians diff --git a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift index 80046e5f..cdd85ea7 100644 --- a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift @@ -44,10 +44,9 @@ public struct SUProgressBar: View { RoundedRectangle(cornerRadius: self.model.computedCornerRadius) .foregroundStyle(self.model.barColor.color) .frame(width: geometry.size.width * self.progress, height: self.model.barHeight) - Rectangle() + RoundedRectangle(cornerRadius: self.model.computedCornerRadius) .foregroundStyle(self.model.backgroundColor.color) .frame(width: geometry.size.width * (1 - self.progress), height: self.model.barHeight) - .cornerRadius(self.model.computedCornerRadius) } .animation(.spring, value: self.progress) @@ -57,7 +56,7 @@ public struct SUProgressBar: View { .foregroundStyle(self.model.color.main.color) .frame(width: geometry.size.width, height: self.model.barHeight) - RoundedRectangle(cornerRadius: self.model.computedCornerRadius) + RoundedRectangle(cornerRadius: self.model.innerCornerRadius) .foregroundStyle((self.model.color.contrast ?? .foreground).color) .frame(width: (geometry.size.width - 6) * self.progress, height: self.model.barHeight - 6) .padding(.vertical, self.model.contentPaddings.top) @@ -71,7 +70,7 @@ public struct SUProgressBar: View { .foregroundStyle(self.model.color.main.color) .frame(width: geometry.size.width, height: self.model.barHeight) - RoundedRectangle(cornerRadius: self.model.computedCornerRadius) + RoundedRectangle(cornerRadius: self.model.innerCornerRadius) .foregroundStyle(self.model.color.contrast.color) .frame(width: (geometry.size.width - 6) * self.progress, height: self.model.barHeight - 6) .padding(.vertical, self.model.contentPaddings.top) From 1f5ecd1f7f16210b2b75046c0aa27052b1482426 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Thu, 26 Dec 2024 14:09:56 +0300 Subject: [PATCH 012/107] some minor fix --- Sources/ComponentsKit/ProgressBar/SUProgressBar.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift index cdd85ea7..729849f5 100644 --- a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift @@ -57,7 +57,7 @@ public struct SUProgressBar: View { .frame(width: geometry.size.width, height: self.model.barHeight) RoundedRectangle(cornerRadius: self.model.innerCornerRadius) - .foregroundStyle((self.model.color.contrast ?? .foreground).color) + .foregroundStyle(self.model.color.contrast.color) .frame(width: (geometry.size.width - 6) * self.progress, height: self.model.barHeight - 6) .padding(.vertical, self.model.contentPaddings.top) .padding(.horizontal, self.model.contentPaddings.trailing) From 4d508f68ea88d61fef04cc3c6a3ef20bc2ddc78e Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Thu, 26 Dec 2024 14:25:25 +0300 Subject: [PATCH 013/107] automatic progress in preview --- .../PreviewPages/ProgressBarPreview.swift | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift index c60bba3f..5d20350c 100644 --- a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift +++ b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift @@ -4,16 +4,18 @@ import UIKit struct ProgressBarPreview: View { @State private var model = ProgressBarVM() - @State private var currentValue: CGFloat = 75 + @State private var currentValue: CGFloat = 0 + private let timer = Timer + .publish(every: 0.1, on: .main, in: .common) + .autoconnect() var body: some View { VStack { PreviewWrapper(title: "SwiftUI") { - SUProgressBar(currentValue: $currentValue, model: model) + SUProgressBar(currentValue: $currentValue, model: self.model) } Form { ComponentColorPicker(selection: self.$model.color) - Stepper("Current Value", value: $currentValue, in: self.model.minValue...self.model.maxValue, step: 10) CornerRadiusPicker(selection: self.$model.cornerRadius) { Text("Custom: 2px").tag(ComponentRadius.custom(2)) } @@ -25,6 +27,13 @@ struct ProgressBarPreview: View { } } } + .onReceive(timer) { _ in + if self.currentValue < self.model.maxValue { + self.currentValue += 1 + } else { + self.currentValue = 0 + } + } } } From e506856f99a57b5f97e655e993325836c1022b3b Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Mon, 30 Dec 2024 23:39:38 +0400 Subject: [PATCH 014/107] UKProgressBar --- .../PreviewPages/ProgressBarPreview.swift | 22 ++ .../ProgressBar/Models/ProgressBarVM.swift | 4 +- .../ProgressBar/SUProgressBar.swift | 17 +- .../ProgressBar/UKProgressBar.swift | 190 ++++++++++++++++++ 4 files changed, 227 insertions(+), 6 deletions(-) create mode 100644 Sources/ComponentsKit/ProgressBar/UKProgressBar.swift diff --git a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift index 5d20350c..f89c780a 100644 --- a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift +++ b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift @@ -11,6 +11,9 @@ struct ProgressBarPreview: View { var body: some View { VStack { + PreviewWrapper(title: "UIKit") { + UKProgressBarRepresentable(currentValue: $currentValue, model: self.model) + } PreviewWrapper(title: "SwiftUI") { SUProgressBar(currentValue: $currentValue, model: self.model) } @@ -37,6 +40,25 @@ struct ProgressBarPreview: View { } } +struct UKProgressBarRepresentable: UIViewRepresentable { + @Binding var currentValue: CGFloat + var model: ProgressBarVM + + func makeUIView(context: Context) -> UKProgressBar { + let progressBar = UKProgressBar(currentValue: currentValue, model: model) + return progressBar + } + + func updateUIView(_ uiView: UKProgressBar, context: Context) { + uiView.currentValue = currentValue + uiView.model = model + uiView.setNeedsLayout() + } + + static func dismantleUIView(_ uiView: UKProgressBar, coordinator: ()) { + } +} + #Preview { ProgressBarPreview() } diff --git a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift index d9c88feb..41c53bb6 100644 --- a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift +++ b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift @@ -103,8 +103,10 @@ extension ProgressBarVM { } } - func shouldUpdateLayout(_ oldModel: Self) -> Bool { + func layoutNeedsUpdate(from oldModel: Self) -> Bool { return self.size != oldModel.size + || self.cornerRadius != oldModel.cornerRadius + || self.style != oldModel.style } private func stripesCGPath(in rect: CGRect) -> CGMutablePath { diff --git a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift index 729849f5..7ea0f952 100644 --- a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift @@ -48,8 +48,10 @@ public struct SUProgressBar: View { .foregroundStyle(self.model.backgroundColor.color) .frame(width: geometry.size.width * (1 - self.progress), height: self.model.barHeight) } - .animation(.spring, value: self.progress) - + .animation( + Animation.easeInOut(duration: 0.3), + value: self.progress + ) case .filled: ZStack(alignment: .leading) { RoundedRectangle(cornerRadius: self.model.computedCornerRadius) @@ -62,8 +64,10 @@ public struct SUProgressBar: View { .padding(.vertical, self.model.contentPaddings.top) .padding(.horizontal, self.model.contentPaddings.trailing) } - .animation(.spring, value: self.progress) - + .animation( + Animation.easeInOut(duration: 0.3), + value: self.progress + ) case .striped: ZStack(alignment: .leading) { RoundedRectangle(cornerRadius: self.model.computedCornerRadius) @@ -81,7 +85,10 @@ public struct SUProgressBar: View { .cornerRadius(self.model.computedCornerRadius) .clipped() } - .animation(.spring, value: self.progress) + .animation( + Animation.easeInOut(duration: 0.3), + value: self.progress + ) } } .frame(height: self.model.barHeight) diff --git a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift new file mode 100644 index 00000000..39ce3d51 --- /dev/null +++ b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift @@ -0,0 +1,190 @@ +import AutoLayout +import UIKit + +open class UKProgressBar: UIView, UKComponent { + public var model: ProgressBarVM { + didSet { + self.update(oldValue) + } + } + + public var currentValue: CGFloat { + didSet { + self.updateBarWidth() + } + } + + private let remainingView = UIView() + private let filledView = UIView() + private let stripedView = UIView() + + private var remainingViewConstraints: LayoutConstraints = .init() + private var filledViewConstraints: LayoutConstraints = .init() + private var stripedViewConstraints: LayoutConstraints = .init() + + private var progress: CGFloat { + let range = self.model.maxValue - self.model.minValue + guard range > 0 else { return 0 } + let normalized = (self.currentValue - self.model.minValue) / range + return max(0, min(1, normalized)) + } + + public init( + currentValue: CGFloat = 0, + model: ProgressBarVM = .init() + ) { + self.currentValue = currentValue + self.model = model + super.init(frame: .zero) + self.setup() + self.style() + self.layout() + } + + public required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + private func setup() { + self.addSubview(self.remainingView) + self.addSubview(self.filledView) + self.addSubview(self.stripedView) + } + + private func style() { + switch self.model.style { + case .light: + self.remainingView.backgroundColor = self.model.backgroundColor.uiColor + self.filledView.backgroundColor = self.model.barColor.uiColor + self.stripedView.backgroundColor = .clear + + case .filled: + self.remainingView.backgroundColor = self.model.color.main.uiColor + self.filledView.backgroundColor = self.model.color.contrast.uiColor + self.stripedView.backgroundColor = .clear + + case .striped: + self.remainingView.backgroundColor = self.model.color.main.uiColor + self.filledView.backgroundColor = self.model.color.contrast.uiColor + self.stripedView.backgroundColor = self.model.color.main.uiColor + } + } + + private func layout() { + self.remainingViewConstraints.deactivateAll() + self.filledViewConstraints.deactivateAll() + self.stripedViewConstraints.deactivateAll() + + UIView.performWithoutAnimation { + switch self.model.style { + case .light: + self.remainingViewConstraints = .merged { + self.remainingView.after(self.filledView, padding: 4) + self.remainingView.centerVertically() + self.remainingView.height(self.model.barHeight) + self.remainingView.width(0) + } + self.filledViewConstraints = .merged { + self.filledView.leading(0) + self.filledView.centerVertically() + self.filledView.height(self.model.barHeight) + self.filledView.width(0) + } + + case .filled, .striped: + self.remainingViewConstraints = .merged { + self.remainingView.horizontally(0) + self.remainingView.centerVertically() + self.remainingView.height(self.model.barHeight) + } + self.filledViewConstraints = .merged { + self.filledView.top(3, to: self.remainingView) + self.filledView.leading(3, to: self.remainingView) + self.filledView.bottom(3, to: self.remainingView) + self.filledView.width(0) + } + + if self.model.style == .striped { + self.stripedViewConstraints = .merged { + self.stripedView.horizontally(0) + self.stripedView.centerVertically() + self.stripedView.height(self.model.barHeight) + } + } + } + } + + self.setNeedsLayout() + } + + public func update(_ oldModel: ProgressBarVM) { + guard self.model != oldModel else { return } + self.style() + + if self.model.layoutNeedsUpdate(from: oldModel) { + self.layout() + self.invalidateIntrinsicContentSize() + self.setNeedsLayout() + } + + self.updateBarWidth() + } + + private func updateBarWidth() { + let duration: TimeInterval = 0.3 + + UIView.performWithoutAnimation { + self.layoutIfNeeded() + } + + switch self.model.style { + case .light: + let totalWidth = self.bounds.width - 4 + let filledWidth = totalWidth * self.progress + self.filledViewConstraints.width?.constant = max(0, filledWidth) + self.remainingViewConstraints.width?.constant = max(0, totalWidth - filledWidth) + + case .filled, .striped: + let totalWidth = self.bounds.width - 6 + let filledWidth = totalWidth * self.progress + self.filledViewConstraints.width?.constant = max(0, filledWidth) + } + + UIView.animate(withDuration: duration) { + self.layoutIfNeeded() + } + } + + open override func layoutSubviews() { + super.layoutSubviews() + + switch self.model.style { + case .light: + self.remainingView.layer.cornerRadius = self.model.computedCornerRadius + self.filledView.layer.cornerRadius = self.model.computedCornerRadius + + case .filled: + self.remainingView.layer.cornerRadius = self.model.computedCornerRadius + self.filledView.layer.cornerRadius = self.model.innerCornerRadius + + case .striped: + self.remainingView.layer.cornerRadius = self.model.computedCornerRadius + self.filledView.layer.cornerRadius = self.model.innerCornerRadius + self.stripedView.layer.cornerRadius = self.model.computedCornerRadius + self.stripedView.clipsToBounds = true + } + + self.updateBarWidth() + self.layoutIfNeeded() + + if self.model.style == .striped { + let shapeLayer = CAShapeLayer() + shapeLayer.path = self.model.stripesBezierPath(in: self.stripedView.bounds).cgPath + self.stripedView.layer.mask = shapeLayer + } + } + + open override var intrinsicContentSize: CGSize { + CGSize(width: UIView.noIntrinsicMetric, height: self.model.barHeight) + } +} From 484b972ef0552dde4d743e32e1ea421b07a355ef Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Mon, 30 Dec 2024 23:45:29 +0400 Subject: [PATCH 015/107] Documentation --- .../ProgressBar/UKProgressBar.swift | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift index 39ce3d51..39b98f75 100644 --- a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift @@ -1,27 +1,43 @@ import AutoLayout import UIKit +/// A UIKit component that displays a Progress Bar. open class UKProgressBar: UIView, UKComponent { + // MARK: - Properties + + /// A model that defines the appearance properties. public var model: ProgressBarVM { didSet { self.update(oldValue) } } + /// The current progress value for the progress bar. public var currentValue: CGFloat { didSet { self.updateBarWidth() } } + // MARK: - Subviews + + /// A view representing the part of the progress bar that is not yet filled. private let remainingView = UIView() + + /// A view representing the filled part of the bar. private let filledView = UIView() + + /// A view used to display the striped pattern. private let stripedView = UIView() + // MARK: - Layout Constraints + private var remainingViewConstraints: LayoutConstraints = .init() private var filledViewConstraints: LayoutConstraints = .init() private var stripedViewConstraints: LayoutConstraints = .init() + // MARK: - Private Properties + private var progress: CGFloat { let range = self.model.maxValue - self.model.minValue guard range > 0 else { return 0 } @@ -29,6 +45,12 @@ open class UKProgressBar: UIView, UKComponent { return max(0, min(1, normalized)) } + // MARK: - Initialization + + /// Initializer. + /// - Parameters: + /// - currentValue: The initial progress value. Defaults to `0`. + /// - model: A model that defines the appearance properties. public init( currentValue: CGFloat = 0, model: ProgressBarVM = .init() @@ -36,6 +58,7 @@ open class UKProgressBar: UIView, UKComponent { self.currentValue = currentValue self.model = model super.init(frame: .zero) + self.setup() self.style() self.layout() @@ -45,12 +68,16 @@ open class UKProgressBar: UIView, UKComponent { fatalError("init(coder:) has not been implemented") } + // MARK: - Setup + private func setup() { self.addSubview(self.remainingView) self.addSubview(self.filledView) self.addSubview(self.stripedView) } + // MARK: - Style + private func style() { switch self.model.style { case .light: @@ -70,6 +97,8 @@ open class UKProgressBar: UIView, UKComponent { } } + // MARK: - Layout + private func layout() { self.remainingViewConstraints.deactivateAll() self.filledViewConstraints.deactivateAll() @@ -117,8 +146,11 @@ open class UKProgressBar: UIView, UKComponent { self.setNeedsLayout() } + // MARK: - Update + public func update(_ oldModel: ProgressBarVM) { guard self.model != oldModel else { return } + self.style() if self.model.layoutNeedsUpdate(from: oldModel) { @@ -155,6 +187,8 @@ open class UKProgressBar: UIView, UKComponent { } } + // MARK: - Style Helpers + open override func layoutSubviews() { super.layoutSubviews() From d9b9b819095a0c4188752d41d66faba98ede1d06 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Mon, 30 Dec 2024 23:47:36 +0400 Subject: [PATCH 016/107] swiftlint fix --- .../PreviewPages/ProgressBarPreview.swift | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift index f89c780a..22392121 100644 --- a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift +++ b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift @@ -41,22 +41,22 @@ struct ProgressBarPreview: View { } struct UKProgressBarRepresentable: UIViewRepresentable { - @Binding var currentValue: CGFloat - var model: ProgressBarVM - - func makeUIView(context: Context) -> UKProgressBar { - let progressBar = UKProgressBar(currentValue: currentValue, model: model) - return progressBar - } - - func updateUIView(_ uiView: UKProgressBar, context: Context) { - uiView.currentValue = currentValue - uiView.model = model - uiView.setNeedsLayout() - } - - static func dismantleUIView(_ uiView: UKProgressBar, coordinator: ()) { - } + @Binding var currentValue: CGFloat + var model: ProgressBarVM + + func makeUIView(context: Context) -> UKProgressBar { + let progressBar = UKProgressBar(currentValue: currentValue, model: model) + return progressBar + } + + func updateUIView(_ uiView: UKProgressBar, context: Context) { + uiView.currentValue = currentValue + uiView.model = model + uiView.setNeedsLayout() + } + + static func dismantleUIView(_ uiView: UKProgressBar, coordinator: ()) { + } } #Preview { From 5bafbbced6b5101c2d05430ce4c0e6640523e50f Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Mon, 30 Dec 2024 23:52:32 +0400 Subject: [PATCH 017/107] renamed layoutNeedsUpdate - layoutNeedsUpdate to shouldUpdateLayout --- Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift | 2 +- Sources/ComponentsKit/ProgressBar/UKProgressBar.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift index 41c53bb6..8a602f10 100644 --- a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift +++ b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift @@ -103,7 +103,7 @@ extension ProgressBarVM { } } - func layoutNeedsUpdate(from oldModel: Self) -> Bool { + func shouldUpdateLayout(from oldModel: Self) -> Bool { return self.size != oldModel.size || self.cornerRadius != oldModel.cornerRadius || self.style != oldModel.style diff --git a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift index 39b98f75..ac4cf232 100644 --- a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift @@ -153,7 +153,7 @@ open class UKProgressBar: UIView, UKComponent { self.style() - if self.model.layoutNeedsUpdate(from: oldModel) { + if self.model.shouldUpdateLayout(from: oldModel) { self.layout() self.invalidateIntrinsicContentSize() self.setNeedsLayout() From 34c6d879bdafe211de8739e5ef8dc69d792be742 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Mon, 30 Dec 2024 23:55:34 +0400 Subject: [PATCH 018/107] some fix --- Sources/ComponentsKit/ProgressBar/UKProgressBar.swift | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift index ac4cf232..dc0d77df 100644 --- a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift @@ -127,9 +127,8 @@ open class UKProgressBar: UIView, UKComponent { self.remainingView.height(self.model.barHeight) } self.filledViewConstraints = .merged { - self.filledView.top(3, to: self.remainingView) self.filledView.leading(3, to: self.remainingView) - self.filledView.bottom(3, to: self.remainingView) + self.filledView.vertically(3, to: self.remainingView) self.filledView.width(0) } From f21599ac80e83722df5fef0834fdb5a335aaf235 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Tue, 31 Dec 2024 13:22:11 +0400 Subject: [PATCH 019/107] fix contentPaddings - renamed to innerBarPadding - moved to extension ProgressBarVM --- .../ComponentsKit/ProgressBar/Models/ProgressBarVM.swift | 9 ++++----- Sources/ComponentsKit/ProgressBar/SUProgressBar.swift | 8 ++++---- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift index d9c88feb..10dffc2d 100644 --- a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift +++ b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift @@ -28,11 +28,6 @@ public struct ProgressBarVM: ComponentVM { /// Defaults to `.medium`. public var cornerRadius: ComponentRadius = .medium - /// The padding applied to the modal's content area. - /// - /// Defaults to a padding value of `3` for all sides. - public var contentPaddings: Paddings = .init(padding: 3) - /// Initializes a new instance of `ProgressBarVM` with default values. public init() {} } @@ -40,6 +35,10 @@ public struct ProgressBarVM: ComponentVM { // MARK: - Shared Helpers extension ProgressBarVM { + var innerBarPadding: CGFloat { + return 3 + } + var barHeight: CGFloat { switch self.style { case .light: diff --git a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift index 729849f5..c63ae9eb 100644 --- a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift @@ -59,8 +59,8 @@ public struct SUProgressBar: View { RoundedRectangle(cornerRadius: self.model.innerCornerRadius) .foregroundStyle(self.model.color.contrast.color) .frame(width: (geometry.size.width - 6) * self.progress, height: self.model.barHeight - 6) - .padding(.vertical, self.model.contentPaddings.top) - .padding(.horizontal, self.model.contentPaddings.trailing) + .padding(.vertical, self.model.innerBarPadding) + .padding(.horizontal, self.model.innerBarPadding) } .animation(.spring, value: self.progress) @@ -73,8 +73,8 @@ public struct SUProgressBar: View { RoundedRectangle(cornerRadius: self.model.innerCornerRadius) .foregroundStyle(self.model.color.contrast.color) .frame(width: (geometry.size.width - 6) * self.progress, height: self.model.barHeight - 6) - .padding(.vertical, self.model.contentPaddings.top) - .padding(.horizontal, self.model.contentPaddings.trailing) + .padding(.vertical, self.model.innerBarPadding) + .padding(.horizontal, self.model.innerBarPadding) StripesShape(model: self.model) .foregroundStyle(self.model.color.main.color) From b6470ff74e248a74700a7dc19d6a6404f1711b35 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Tue, 31 Dec 2024 13:24:03 +0400 Subject: [PATCH 020/107] code style fix - Corner Radius fix - frame calculation fix --- Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift | 3 +-- Sources/ComponentsKit/ProgressBar/SUProgressBar.swift | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift index 10dffc2d..74a5845a 100644 --- a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift +++ b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift @@ -80,8 +80,7 @@ extension ProgressBarVM { } var innerCornerRadius: CGFloat { - let distance: CGFloat = 3 - return max(0, self.computedCornerRadius - distance) + return max(0, self.computedCornerRadius - self.innerBarPadding) } var backgroundColor: UniversalColor { diff --git a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift index c63ae9eb..0b4a13e4 100644 --- a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift @@ -58,7 +58,7 @@ public struct SUProgressBar: View { RoundedRectangle(cornerRadius: self.model.innerCornerRadius) .foregroundStyle(self.model.color.contrast.color) - .frame(width: (geometry.size.width - 6) * self.progress, height: self.model.barHeight - 6) + .frame(width: (geometry.size.width - self.model.innerBarPadding * 2) * self.progress, height: self.model.barHeight - self.model.innerBarPadding * 2) .padding(.vertical, self.model.innerBarPadding) .padding(.horizontal, self.model.innerBarPadding) } @@ -72,7 +72,7 @@ public struct SUProgressBar: View { RoundedRectangle(cornerRadius: self.model.innerCornerRadius) .foregroundStyle(self.model.color.contrast.color) - .frame(width: (geometry.size.width - 6) * self.progress, height: self.model.barHeight - 6) + .frame(width: (geometry.size.width - self.model.innerBarPadding * 2) * self.progress, height: self.model.barHeight - self.model.innerBarPadding * 2) .padding(.vertical, self.model.innerBarPadding) .padding(.horizontal, self.model.innerBarPadding) From 8a36501be6bda13e86584d4eeb6bec7f4d0778b4 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Tue, 31 Dec 2024 13:27:33 +0400 Subject: [PATCH 021/107] fix self --- .../ComponentsPreview/PreviewPages/ProgressBarPreview.swift | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift index 5d20350c..d6ad186e 100644 --- a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift +++ b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift @@ -12,7 +12,7 @@ struct ProgressBarPreview: View { var body: some View { VStack { PreviewWrapper(title: "SwiftUI") { - SUProgressBar(currentValue: $currentValue, model: self.model) + SUProgressBar(currentValue: self.$currentValue, model: self.model) } Form { ComponentColorPicker(selection: self.$model.color) @@ -20,14 +20,14 @@ struct ProgressBarPreview: View { Text("Custom: 2px").tag(ComponentRadius.custom(2)) } SizePicker(selection: self.$model.size) - Picker("Style", selection: $model.style) { + Picker("Style", selection: self.$model.style) { Text("Light").tag(ProgressBarVM.Style.light) Text("Filled").tag(ProgressBarVM.Style.filled) Text("Striped").tag(ProgressBarVM.Style.striped) } } } - .onReceive(timer) { _ in + .onReceive(self.timer) { _ in if self.currentValue < self.model.maxValue { self.currentValue += 1 } else { From a88172ebca9f27f5f738650dcde7188d19d244b4 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Tue, 31 Dec 2024 13:28:27 +0400 Subject: [PATCH 022/107] .onReceive code style fix --- .../ComponentsPreview/PreviewPages/ProgressBarPreview.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift index d6ad186e..c2d869db 100644 --- a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift +++ b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift @@ -29,9 +29,9 @@ struct ProgressBarPreview: View { } .onReceive(self.timer) { _ in if self.currentValue < self.model.maxValue { - self.currentValue += 1 + self.currentValue += (self.model.maxValue - self.model.minValue) / 100 } else { - self.currentValue = 0 + self.currentValue = self.model.minValue } } } From 40d1a5ff399dd621299b85851cacd4e71cd425e1 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Tue, 31 Dec 2024 13:32:58 +0400 Subject: [PATCH 023/107] swiftlint fix --- .../ComponentsKit/ProgressBar/SUProgressBar.swift | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift index 0b4a13e4..215271d3 100644 --- a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift @@ -43,7 +43,10 @@ public struct SUProgressBar: View { HStack(spacing: 4) { RoundedRectangle(cornerRadius: self.model.computedCornerRadius) .foregroundStyle(self.model.barColor.color) - .frame(width: geometry.size.width * self.progress, height: self.model.barHeight) + .frame( + width: geometry.size.width * self.progress, + height: self.model.barHeight + ) RoundedRectangle(cornerRadius: self.model.computedCornerRadius) .foregroundStyle(self.model.backgroundColor.color) .frame(width: geometry.size.width * (1 - self.progress), height: self.model.barHeight) @@ -58,7 +61,10 @@ public struct SUProgressBar: View { RoundedRectangle(cornerRadius: self.model.innerCornerRadius) .foregroundStyle(self.model.color.contrast.color) - .frame(width: (geometry.size.width - self.model.innerBarPadding * 2) * self.progress, height: self.model.barHeight - self.model.innerBarPadding * 2) + .frame( + width: (geometry.size.width - self.model.innerBarPadding * 2) * self.progress, + height: self.model.barHeight - self.model.innerBarPadding * 2 + ) .padding(.vertical, self.model.innerBarPadding) .padding(.horizontal, self.model.innerBarPadding) } @@ -72,7 +78,10 @@ public struct SUProgressBar: View { RoundedRectangle(cornerRadius: self.model.innerCornerRadius) .foregroundStyle(self.model.color.contrast.color) - .frame(width: (geometry.size.width - self.model.innerBarPadding * 2) * self.progress, height: self.model.barHeight - self.model.innerBarPadding * 2) + .frame( + width: (geometry.size.width - self.model.innerBarPadding * 2) * self.progress, + height: self.model.barHeight - self.model.innerBarPadding * 2 + ) .padding(.vertical, self.model.innerBarPadding) .padding(.horizontal, self.model.innerBarPadding) From 4e8055d9385ffa929a54ee438aa4b3b1225b1a45 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Tue, 31 Dec 2024 12:48:28 +0100 Subject: [PATCH 024/107] minor code improvements --- .../ProgressBar/Models/ProgressBarVM.swift | 2 +- .../ProgressBar/SUProgressBar.swift | 31 ++++++------------- 2 files changed, 11 insertions(+), 22 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift index 74a5845a..9bb13912 100644 --- a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift +++ b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift @@ -2,7 +2,7 @@ import SwiftUI /// A model that defines the appearance properties for a a progress bar component. public struct ProgressBarVM: ComponentVM { - /// The color of the progress bar.. + /// The color of the progress bar. /// /// Defaults to `.accent`. public var color: ComponentColor = .accent diff --git a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift index 215271d3..8f1c8544 100644 --- a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift @@ -6,8 +6,8 @@ public struct SUProgressBar: View { /// A model that defines the appearance properties. public var model: ProgressBarVM - - @Binding private var currentValue: CGFloat + /// A binding to control the current value. + @Binding public var currentValue: CGFloat private var progress: CGFloat { let range = self.model.maxValue - self.model.minValue @@ -43,45 +43,34 @@ public struct SUProgressBar: View { HStack(spacing: 4) { RoundedRectangle(cornerRadius: self.model.computedCornerRadius) .foregroundStyle(self.model.barColor.color) - .frame( - width: geometry.size.width * self.progress, - height: self.model.barHeight - ) + .frame(width: geometry.size.width * self.progress) RoundedRectangle(cornerRadius: self.model.computedCornerRadius) .foregroundStyle(self.model.backgroundColor.color) - .frame(width: geometry.size.width * (1 - self.progress), height: self.model.barHeight) + .frame(width: geometry.size.width * (1 - self.progress)) } - .animation(.spring, value: self.progress) case .filled: ZStack(alignment: .leading) { RoundedRectangle(cornerRadius: self.model.computedCornerRadius) .foregroundStyle(self.model.color.main.color) - .frame(width: geometry.size.width, height: self.model.barHeight) + .frame(width: geometry.size.width) RoundedRectangle(cornerRadius: self.model.innerCornerRadius) .foregroundStyle(self.model.color.contrast.color) - .frame( - width: (geometry.size.width - self.model.innerBarPadding * 2) * self.progress, - height: self.model.barHeight - self.model.innerBarPadding * 2 - ) + .frame(width: (geometry.size.width - self.model.innerBarPadding * 2) * self.progress) .padding(.vertical, self.model.innerBarPadding) .padding(.horizontal, self.model.innerBarPadding) } - .animation(.spring, value: self.progress) case .striped: ZStack(alignment: .leading) { RoundedRectangle(cornerRadius: self.model.computedCornerRadius) .foregroundStyle(self.model.color.main.color) - .frame(width: geometry.size.width, height: self.model.barHeight) + .frame(width: geometry.size.width) RoundedRectangle(cornerRadius: self.model.innerCornerRadius) .foregroundStyle(self.model.color.contrast.color) - .frame( - width: (geometry.size.width - self.model.innerBarPadding * 2) * self.progress, - height: self.model.barHeight - self.model.innerBarPadding * 2 - ) + .frame(width: (geometry.size.width - self.model.innerBarPadding * 2) * self.progress) .padding(.vertical, self.model.innerBarPadding) .padding(.horizontal, self.model.innerBarPadding) @@ -90,9 +79,9 @@ public struct SUProgressBar: View { .cornerRadius(self.model.computedCornerRadius) .clipped() } - .animation(.spring, value: self.progress) } } + .animation(.spring, value: self.progress) .frame(height: self.model.barHeight) .onAppear { self.model.validateMinMaxValues() @@ -100,7 +89,7 @@ public struct SUProgressBar: View { } } -// MARK: - Properties +// MARK: - Helpers struct StripesShape: Shape { var model: ProgressBarVM From 99c9756188588232721f5aaa7934a8012b058edf Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Thu, 2 Jan 2025 22:17:30 +0400 Subject: [PATCH 025/107] fix shouldUpdateLayout --- Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift | 2 +- Sources/ComponentsKit/ProgressBar/UKProgressBar.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift index 8a602f10..159dba12 100644 --- a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift +++ b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift @@ -103,7 +103,7 @@ extension ProgressBarVM { } } - func shouldUpdateLayout(from oldModel: Self) -> Bool { + func shouldUpdateLayout(_ oldModel: Self) -> Bool { return self.size != oldModel.size || self.cornerRadius != oldModel.cornerRadius || self.style != oldModel.style diff --git a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift index dc0d77df..5956669f 100644 --- a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift @@ -152,7 +152,7 @@ open class UKProgressBar: UIView, UKComponent { self.style() - if self.model.shouldUpdateLayout(from: oldModel) { + if self.model.shouldUpdateLayout(oldModel) { self.layout() self.invalidateIntrinsicContentSize() self.setNeedsLayout() From ab22fe924847c545bf716b70f20fbc129a801a9a Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Thu, 2 Jan 2025 22:18:51 +0400 Subject: [PATCH 026/107] Preview fix - self.$currentValue --- .../ComponentsPreview/PreviewPages/ProgressBarPreview.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift index 22392121..ed98a7b9 100644 --- a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift +++ b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift @@ -12,7 +12,7 @@ struct ProgressBarPreview: View { var body: some View { VStack { PreviewWrapper(title: "UIKit") { - UKProgressBarRepresentable(currentValue: $currentValue, model: self.model) + UKProgressBarRepresentable(currentValue: self.$currentValue, model: self.model) } PreviewWrapper(title: "SwiftUI") { SUProgressBar(currentValue: $currentValue, model: self.model) From dc192aa15eb0f6f99a7a9c075fb0edfacb477617 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Thu, 2 Jan 2025 22:29:39 +0400 Subject: [PATCH 027/107] progress extracted extracted to the model and used for swiftui and uikit --- .../ComponentsKit/ProgressBar/Models/ProgressBarVM.swift | 9 +++++++++ Sources/ComponentsKit/ProgressBar/SUProgressBar.swift | 9 +-------- Sources/ComponentsKit/ProgressBar/UKProgressBar.swift | 5 +---- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift index 159dba12..11b407c8 100644 --- a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift +++ b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift @@ -141,6 +141,15 @@ extension ProgressBarVM { } } +extension ProgressBarVM { + func progress(for currentValue: CGFloat) -> CGFloat { + let range = self.maxValue - self.minValue + guard range > 0 else { return 0 } + let normalized = (currentValue - self.minValue) / range + return max(0, min(1, normalized)) + } +} + // MARK: - Validation extension ProgressBarVM { diff --git a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift index 7ea0f952..3a4d90e5 100644 --- a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift @@ -10,14 +10,7 @@ public struct SUProgressBar: View { @Binding private var currentValue: CGFloat private var progress: CGFloat { - let range = self.model.maxValue - self.model.minValue - - guard range > 0 else { - return 0 - } - - let progress = (self.currentValue - self.model.minValue) / range - return max(0, min(1, progress)) + self.model.progress(for: self.currentValue) } // MARK: - Initializer diff --git a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift index 5956669f..907d5501 100644 --- a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift @@ -39,10 +39,7 @@ open class UKProgressBar: UIView, UKComponent { // MARK: - Private Properties private var progress: CGFloat { - let range = self.model.maxValue - self.model.minValue - guard range > 0 else { return 0 } - let normalized = (self.currentValue - self.model.minValue) / range - return max(0, min(1, normalized)) + return self.model.progress(for: self.currentValue) } // MARK: - Initialization From 2779d70adadcec5251a33501f089ca0823eea7a7 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Thu, 2 Jan 2025 22:38:47 +0400 Subject: [PATCH 028/107] updateBarWidth fix - renamed to updateProgressBar - moved to updateBarWidth --- .../ProgressBar/UKProgressBar.swift | 87 +++++++++---------- 1 file changed, 41 insertions(+), 46 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift index 907d5501..6177d160 100644 --- a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift @@ -15,19 +15,14 @@ open class UKProgressBar: UIView, UKComponent { /// The current progress value for the progress bar. public var currentValue: CGFloat { didSet { - self.updateBarWidth() + self.updateProgressBar() } } // MARK: - Subviews - /// A view representing the part of the progress bar that is not yet filled. - private let remainingView = UIView() - - /// A view representing the filled part of the bar. - private let filledView = UIView() - - /// A view used to display the striped pattern. + private let backgroundView = UIView() + private let progressView = UIView() private let stripedView = UIView() // MARK: - Layout Constraints @@ -39,7 +34,7 @@ open class UKProgressBar: UIView, UKComponent { // MARK: - Private Properties private var progress: CGFloat { - return self.model.progress(for: self.currentValue) + self.model.progress(for: self.currentValue) } // MARK: - Initialization @@ -68,8 +63,8 @@ open class UKProgressBar: UIView, UKComponent { // MARK: - Setup private func setup() { - self.addSubview(self.remainingView) - self.addSubview(self.filledView) + self.addSubview(self.backgroundView) + self.addSubview(self.progressView) self.addSubview(self.stripedView) } @@ -78,18 +73,18 @@ open class UKProgressBar: UIView, UKComponent { private func style() { switch self.model.style { case .light: - self.remainingView.backgroundColor = self.model.backgroundColor.uiColor - self.filledView.backgroundColor = self.model.barColor.uiColor + self.backgroundView.backgroundColor = self.model.backgroundColor.uiColor + self.progressView.backgroundColor = self.model.barColor.uiColor self.stripedView.backgroundColor = .clear case .filled: - self.remainingView.backgroundColor = self.model.color.main.uiColor - self.filledView.backgroundColor = self.model.color.contrast.uiColor + self.backgroundView.backgroundColor = self.model.color.main.uiColor + self.progressView.backgroundColor = self.model.color.contrast.uiColor self.stripedView.backgroundColor = .clear case .striped: - self.remainingView.backgroundColor = self.model.color.main.uiColor - self.filledView.backgroundColor = self.model.color.contrast.uiColor + self.backgroundView.backgroundColor = self.model.color.main.uiColor + self.progressView.backgroundColor = self.model.color.contrast.uiColor self.stripedView.backgroundColor = self.model.color.main.uiColor } } @@ -105,28 +100,28 @@ open class UKProgressBar: UIView, UKComponent { switch self.model.style { case .light: self.remainingViewConstraints = .merged { - self.remainingView.after(self.filledView, padding: 4) - self.remainingView.centerVertically() - self.remainingView.height(self.model.barHeight) - self.remainingView.width(0) + self.backgroundView.after(self.progressView, padding: 4) + self.backgroundView.centerVertically() + self.backgroundView.height(self.model.barHeight) + self.backgroundView.width(0) } self.filledViewConstraints = .merged { - self.filledView.leading(0) - self.filledView.centerVertically() - self.filledView.height(self.model.barHeight) - self.filledView.width(0) + self.progressView.leading(0) + self.progressView.centerVertically() + self.progressView.height(self.model.barHeight) + self.progressView.width(0) } case .filled, .striped: self.remainingViewConstraints = .merged { - self.remainingView.horizontally(0) - self.remainingView.centerVertically() - self.remainingView.height(self.model.barHeight) + self.backgroundView.horizontally(0) + self.backgroundView.centerVertically() + self.backgroundView.height(self.model.barHeight) } self.filledViewConstraints = .merged { - self.filledView.leading(3, to: self.remainingView) - self.filledView.vertically(3, to: self.remainingView) - self.filledView.width(0) + self.progressView.leading(3, to: self.backgroundView) + self.progressView.vertically(3, to: self.backgroundView) + self.progressView.width(0) } if self.model.style == .striped { @@ -155,10 +150,10 @@ open class UKProgressBar: UIView, UKComponent { self.setNeedsLayout() } - self.updateBarWidth() + self.updateProgressBar() } - private func updateBarWidth() { + private func updateProgressBar() { let duration: TimeInterval = 0.3 UIView.performWithoutAnimation { @@ -178,6 +173,12 @@ open class UKProgressBar: UIView, UKComponent { self.filledViewConstraints.width?.constant = max(0, filledWidth) } + if self.model.style == .striped { + let shapeLayer = CAShapeLayer() + shapeLayer.path = self.model.stripesBezierPath(in: self.stripedView.bounds).cgPath + self.stripedView.layer.mask = shapeLayer + } + UIView.animate(withDuration: duration) { self.layoutIfNeeded() } @@ -190,28 +191,22 @@ open class UKProgressBar: UIView, UKComponent { switch self.model.style { case .light: - self.remainingView.layer.cornerRadius = self.model.computedCornerRadius - self.filledView.layer.cornerRadius = self.model.computedCornerRadius + self.backgroundView.layer.cornerRadius = self.model.computedCornerRadius + self.progressView.layer.cornerRadius = self.model.computedCornerRadius case .filled: - self.remainingView.layer.cornerRadius = self.model.computedCornerRadius - self.filledView.layer.cornerRadius = self.model.innerCornerRadius + self.backgroundView.layer.cornerRadius = self.model.computedCornerRadius + self.progressView.layer.cornerRadius = self.model.innerCornerRadius case .striped: - self.remainingView.layer.cornerRadius = self.model.computedCornerRadius - self.filledView.layer.cornerRadius = self.model.innerCornerRadius + self.backgroundView.layer.cornerRadius = self.model.computedCornerRadius + self.progressView.layer.cornerRadius = self.model.innerCornerRadius self.stripedView.layer.cornerRadius = self.model.computedCornerRadius self.stripedView.clipsToBounds = true } - self.updateBarWidth() + self.updateProgressBar() self.layoutIfNeeded() - - if self.model.style == .striped { - let shapeLayer = CAShapeLayer() - shapeLayer.path = self.model.stripesBezierPath(in: self.stripedView.bounds).cgPath - self.stripedView.layer.mask = shapeLayer - } } open override var intrinsicContentSize: CGSize { From 3c963faa543a004aa635c03b94e723d4a4ed22a9 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Thu, 2 Jan 2025 22:42:30 +0400 Subject: [PATCH 029/107] intrinsicContentSize fix - added func sizeThatFits --- .../ProgressBar/UKProgressBar.swift | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift index 6177d160..97fd498f 100644 --- a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift @@ -3,6 +3,19 @@ import UIKit /// A UIKit component that displays a Progress Bar. open class UKProgressBar: UIView, UKComponent { + + open override func sizeThatFits(_ size: CGSize) -> CGSize { + let width = self.superview?.bounds.width ?? size.width + return CGSize( + width: min(size.width, width), + height: min(size.height, self.model.barHeight) + ) + } + + open override var intrinsicContentSize: CGSize { + return self.sizeThatFits(UIView.layoutFittingExpandedSize) + } + // MARK: - Properties /// A model that defines the appearance properties. @@ -208,8 +221,4 @@ open class UKProgressBar: UIView, UKComponent { self.updateProgressBar() self.layoutIfNeeded() } - - open override var intrinsicContentSize: CGSize { - CGSize(width: UIView.noIntrinsicMetric, height: self.model.barHeight) - } } From ace276a1f27eb83ee37e1ddb216c7ab52c9f2e97 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Thu, 2 Jan 2025 22:48:32 +0400 Subject: [PATCH 030/107] currentValue renamed to initialValue --- .../ComponentsPreview/PreviewPages/ProgressBarPreview.swift | 2 +- Sources/ComponentsKit/ProgressBar/UKProgressBar.swift | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift index ed98a7b9..517b90c2 100644 --- a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift +++ b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift @@ -45,7 +45,7 @@ struct UKProgressBarRepresentable: UIViewRepresentable { var model: ProgressBarVM func makeUIView(context: Context) -> UKProgressBar { - let progressBar = UKProgressBar(currentValue: currentValue, model: model) + let progressBar = UKProgressBar(initialValue: currentValue, model: model) return progressBar } diff --git a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift index 97fd498f..fa7315a1 100644 --- a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift @@ -57,10 +57,10 @@ open class UKProgressBar: UIView, UKComponent { /// - currentValue: The initial progress value. Defaults to `0`. /// - model: A model that defines the appearance properties. public init( - currentValue: CGFloat = 0, + initialValue: CGFloat = 0, model: ProgressBarVM = .init() ) { - self.currentValue = currentValue + self.currentValue = initialValue self.model = model super.init(frame: .zero) From 9fcef79e62991a12147c5f7259b13da849f4924a Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Thu, 2 Jan 2025 22:54:21 +0400 Subject: [PATCH 031/107] horizontalPadding - added in model - used for updateProgressBar --- .../ComponentsKit/ProgressBar/Models/ProgressBarVM.swift | 9 +++++++++ Sources/ComponentsKit/ProgressBar/UKProgressBar.swift | 8 +++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift index 11b407c8..e4dfd53a 100644 --- a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift +++ b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift @@ -40,6 +40,15 @@ public struct ProgressBarVM: ComponentVM { // MARK: - Shared Helpers extension ProgressBarVM { + var horizontalPadding: CGFloat { + switch self.style { + case .light: + return 4 + case .filled, .striped: + return 6 + } + } + var barHeight: CGFloat { switch self.style { case .light: diff --git a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift index fa7315a1..8412a7b1 100644 --- a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift @@ -3,7 +3,6 @@ import UIKit /// A UIKit component that displays a Progress Bar. open class UKProgressBar: UIView, UKComponent { - open override func sizeThatFits(_ size: CGSize) -> CGSize { let width = self.superview?.bounds.width ?? size.width return CGSize( @@ -173,16 +172,15 @@ open class UKProgressBar: UIView, UKComponent { self.layoutIfNeeded() } + let totalWidth = self.bounds.width - self.model.horizontalPadding + let filledWidth = totalWidth * self.progress + switch self.model.style { case .light: - let totalWidth = self.bounds.width - 4 - let filledWidth = totalWidth * self.progress self.filledViewConstraints.width?.constant = max(0, filledWidth) self.remainingViewConstraints.width?.constant = max(0, totalWidth - filledWidth) case .filled, .striped: - let totalWidth = self.bounds.width - 6 - let filledWidth = totalWidth * self.progress self.filledViewConstraints.width?.constant = max(0, filledWidth) } From 49b8e918d57d7ecb8a57afbdfd666195e141b491 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Thu, 2 Jan 2025 23:23:18 +0400 Subject: [PATCH 032/107] corner radius fix added func cornerRadius(forHeight height: CGFloat) -> CGFloat to calculate corner radius --- .../ProgressBar/Models/ProgressBarVM.swift | 18 +++++++++--------- .../ProgressBar/SUProgressBar.swift | 14 +++++++------- .../ProgressBar/UKProgressBar.swift | 14 +++++++------- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift index e4dfd53a..c46cc967 100644 --- a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift +++ b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift @@ -72,26 +72,26 @@ extension ProgressBarVM { } } - var computedCornerRadius: CGFloat { + func cornerRadius(forHeight height: CGFloat) -> CGFloat { switch self.cornerRadius { case .none: - return 0.0 + return 0 case .small: - return self.barHeight / 3.5 + return height / 3.5 case .medium: - return self.barHeight / 3.0 + return height / 3.0 case .large: - return self.barHeight / 2.5 + return height / 2.5 case .full: - return self.barHeight / 2.0 + return height / 2.0 case .custom(let value): - return min(value, self.barHeight / 2) + return min(value, height / 2) } } - var innerCornerRadius: CGFloat { + func innerCornerRadius(forHeight height: CGFloat) -> CGFloat { let distance: CGFloat = 3 - return max(0, self.computedCornerRadius - distance) + return max(0, self.cornerRadius(forHeight: height) - distance) } var backgroundColor: UniversalColor { diff --git a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift index 3a4d90e5..f537a8ac 100644 --- a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift @@ -34,10 +34,10 @@ public struct SUProgressBar: View { switch self.model.style { case .light: HStack(spacing: 4) { - RoundedRectangle(cornerRadius: self.model.computedCornerRadius) + RoundedRectangle(cornerRadius: self.model.cornerRadius(forHeight: self.model.barHeight)) .foregroundStyle(self.model.barColor.color) .frame(width: geometry.size.width * self.progress, height: self.model.barHeight) - RoundedRectangle(cornerRadius: self.model.computedCornerRadius) + RoundedRectangle(cornerRadius: self.model.cornerRadius(forHeight: self.model.barHeight)) .foregroundStyle(self.model.backgroundColor.color) .frame(width: geometry.size.width * (1 - self.progress), height: self.model.barHeight) } @@ -47,11 +47,11 @@ public struct SUProgressBar: View { ) case .filled: ZStack(alignment: .leading) { - RoundedRectangle(cornerRadius: self.model.computedCornerRadius) + RoundedRectangle(cornerRadius: self.model.cornerRadius(forHeight: self.model.barHeight)) .foregroundStyle(self.model.color.main.color) .frame(width: geometry.size.width, height: self.model.barHeight) - RoundedRectangle(cornerRadius: self.model.innerCornerRadius) + RoundedRectangle(cornerRadius: self.model.innerCornerRadius(forHeight: self.model.barHeight)) .foregroundStyle(self.model.color.contrast.color) .frame(width: (geometry.size.width - 6) * self.progress, height: self.model.barHeight - 6) .padding(.vertical, self.model.contentPaddings.top) @@ -63,11 +63,11 @@ public struct SUProgressBar: View { ) case .striped: ZStack(alignment: .leading) { - RoundedRectangle(cornerRadius: self.model.computedCornerRadius) + RoundedRectangle(cornerRadius: self.model.cornerRadius(forHeight: self.model.barHeight)) .foregroundStyle(self.model.color.main.color) .frame(width: geometry.size.width, height: self.model.barHeight) - RoundedRectangle(cornerRadius: self.model.innerCornerRadius) + RoundedRectangle(cornerRadius: self.model.innerCornerRadius(forHeight: self.model.barHeight)) .foregroundStyle(self.model.color.contrast.color) .frame(width: (geometry.size.width - 6) * self.progress, height: self.model.barHeight - 6) .padding(.vertical, self.model.contentPaddings.top) @@ -75,7 +75,7 @@ public struct SUProgressBar: View { StripesShape(model: self.model) .foregroundStyle(self.model.color.main.color) - .cornerRadius(self.model.computedCornerRadius) + .cornerRadius(self.model.cornerRadius(forHeight: self.model.barHeight)) .clipped() } .animation( diff --git a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift index 8412a7b1..617fec4f 100644 --- a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift @@ -202,17 +202,17 @@ open class UKProgressBar: UIView, UKComponent { switch self.model.style { case .light: - self.backgroundView.layer.cornerRadius = self.model.computedCornerRadius - self.progressView.layer.cornerRadius = self.model.computedCornerRadius + self.backgroundView.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) + self.progressView.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) case .filled: - self.backgroundView.layer.cornerRadius = self.model.computedCornerRadius - self.progressView.layer.cornerRadius = self.model.innerCornerRadius + self.backgroundView.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) + self.progressView.layer.cornerRadius = self.model.innerCornerRadius(forHeight: self.backgroundView.bounds.height) case .striped: - self.backgroundView.layer.cornerRadius = self.model.computedCornerRadius - self.progressView.layer.cornerRadius = self.model.innerCornerRadius - self.stripedView.layer.cornerRadius = self.model.computedCornerRadius + self.backgroundView.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) + self.progressView.layer.cornerRadius = self.model.innerCornerRadius(forHeight: self.backgroundView.bounds.height) + self.stripedView.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) self.stripedView.clipsToBounds = true } From 76516e9bac5fa5b50613417896e2eed185847970 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Fri, 3 Jan 2025 00:33:00 +0400 Subject: [PATCH 033/107] renaming --- .../ProgressBar/UKProgressBar.swift | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift index 617fec4f..5be5f972 100644 --- a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift @@ -35,12 +35,12 @@ open class UKProgressBar: UIView, UKComponent { private let backgroundView = UIView() private let progressView = UIView() - private let stripedView = UIView() + private let stripedLayer = UIView() // MARK: - Layout Constraints - private var remainingViewConstraints: LayoutConstraints = .init() - private var filledViewConstraints: LayoutConstraints = .init() + private var backgroundViewConstraints: LayoutConstraints = .init() + private var progressViewConstraints: LayoutConstraints = .init() private var stripedViewConstraints: LayoutConstraints = .init() // MARK: - Private Properties @@ -77,7 +77,7 @@ open class UKProgressBar: UIView, UKComponent { private func setup() { self.addSubview(self.backgroundView) self.addSubview(self.progressView) - self.addSubview(self.stripedView) + self.addSubview(self.stripedLayer) } // MARK: - Style @@ -87,37 +87,37 @@ open class UKProgressBar: UIView, UKComponent { case .light: self.backgroundView.backgroundColor = self.model.backgroundColor.uiColor self.progressView.backgroundColor = self.model.barColor.uiColor - self.stripedView.backgroundColor = .clear + self.stripedLayer.backgroundColor = .clear case .filled: self.backgroundView.backgroundColor = self.model.color.main.uiColor self.progressView.backgroundColor = self.model.color.contrast.uiColor - self.stripedView.backgroundColor = .clear + self.stripedLayer.backgroundColor = .clear case .striped: self.backgroundView.backgroundColor = self.model.color.main.uiColor self.progressView.backgroundColor = self.model.color.contrast.uiColor - self.stripedView.backgroundColor = self.model.color.main.uiColor + self.stripedLayer.backgroundColor = self.model.color.main.uiColor } } // MARK: - Layout private func layout() { - self.remainingViewConstraints.deactivateAll() - self.filledViewConstraints.deactivateAll() + self.backgroundViewConstraints.deactivateAll() + self.progressViewConstraints.deactivateAll() self.stripedViewConstraints.deactivateAll() UIView.performWithoutAnimation { switch self.model.style { case .light: - self.remainingViewConstraints = .merged { + self.backgroundViewConstraints = .merged { self.backgroundView.after(self.progressView, padding: 4) self.backgroundView.centerVertically() self.backgroundView.height(self.model.barHeight) self.backgroundView.width(0) } - self.filledViewConstraints = .merged { + self.progressViewConstraints = .merged { self.progressView.leading(0) self.progressView.centerVertically() self.progressView.height(self.model.barHeight) @@ -125,12 +125,12 @@ open class UKProgressBar: UIView, UKComponent { } case .filled, .striped: - self.remainingViewConstraints = .merged { + self.backgroundViewConstraints = .merged { self.backgroundView.horizontally(0) self.backgroundView.centerVertically() self.backgroundView.height(self.model.barHeight) } - self.filledViewConstraints = .merged { + self.progressViewConstraints = .merged { self.progressView.leading(3, to: self.backgroundView) self.progressView.vertically(3, to: self.backgroundView) self.progressView.width(0) @@ -138,9 +138,9 @@ open class UKProgressBar: UIView, UKComponent { if self.model.style == .striped { self.stripedViewConstraints = .merged { - self.stripedView.horizontally(0) - self.stripedView.centerVertically() - self.stripedView.height(self.model.barHeight) + self.stripedLayer.horizontally(0) + self.stripedLayer.centerVertically() + self.stripedLayer.height(self.model.barHeight) } } } @@ -173,21 +173,21 @@ open class UKProgressBar: UIView, UKComponent { } let totalWidth = self.bounds.width - self.model.horizontalPadding - let filledWidth = totalWidth * self.progress + let progressWidth = totalWidth * self.progress switch self.model.style { case .light: - self.filledViewConstraints.width?.constant = max(0, filledWidth) - self.remainingViewConstraints.width?.constant = max(0, totalWidth - filledWidth) + self.progressViewConstraints.width?.constant = max(0, progressWidth) + self.backgroundViewConstraints.width?.constant = max(0, totalWidth - progressWidth) case .filled, .striped: - self.filledViewConstraints.width?.constant = max(0, filledWidth) + self.progressViewConstraints.width?.constant = max(0, progressWidth) } if self.model.style == .striped { let shapeLayer = CAShapeLayer() - shapeLayer.path = self.model.stripesBezierPath(in: self.stripedView.bounds).cgPath - self.stripedView.layer.mask = shapeLayer + shapeLayer.path = self.model.stripesBezierPath(in: self.stripedLayer.bounds).cgPath + self.stripedLayer.layer.mask = shapeLayer } UIView.animate(withDuration: duration) { @@ -212,8 +212,8 @@ open class UKProgressBar: UIView, UKComponent { case .striped: self.backgroundView.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) self.progressView.layer.cornerRadius = self.model.innerCornerRadius(forHeight: self.backgroundView.bounds.height) - self.stripedView.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) - self.stripedView.clipsToBounds = true + self.stripedLayer.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) + self.stripedLayer.clipsToBounds = true } self.updateProgressBar() From faf4e54380add9dafc2e070e415a9a66aec8a8ea Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Fri, 3 Jan 2025 00:41:25 +0400 Subject: [PATCH 034/107] style extension for UKProgressBar --- .../ProgressBar/UKProgressBar.swift | 53 +++++++++++++------ 1 file changed, 37 insertions(+), 16 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift index 5be5f972..03f7d44e 100644 --- a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift @@ -83,22 +83,9 @@ open class UKProgressBar: UIView, UKComponent { // MARK: - Style private func style() { - switch self.model.style { - case .light: - self.backgroundView.backgroundColor = self.model.backgroundColor.uiColor - self.progressView.backgroundColor = self.model.barColor.uiColor - self.stripedLayer.backgroundColor = .clear - - case .filled: - self.backgroundView.backgroundColor = self.model.color.main.uiColor - self.progressView.backgroundColor = self.model.color.contrast.uiColor - self.stripedLayer.backgroundColor = .clear - - case .striped: - self.backgroundView.backgroundColor = self.model.color.main.uiColor - self.progressView.backgroundColor = self.model.color.contrast.uiColor - self.stripedLayer.backgroundColor = self.model.color.main.uiColor - } + Self.Style.backgroundView(self.backgroundView, model: self.model) + Self.Style.progressView(self.progressView, model: self.model) + Self.Style.stripedLayer(self.stripedLayer, model: self.model) } // MARK: - Layout @@ -220,3 +207,37 @@ open class UKProgressBar: UIView, UKComponent { self.layoutIfNeeded() } } + +extension UKProgressBar { + fileprivate enum Style { + + static func backgroundView(_ view: UIView, model: ProgressBarVM) { + switch model.style { + case .light: + view.backgroundColor = model.backgroundColor.uiColor + case .filled, .striped: + view.backgroundColor = model.color.main.uiColor + } + } + + static func progressView(_ view: UIView, model: ProgressBarVM) { + switch model.style { + case .light: + view.backgroundColor = model.barColor.uiColor + case .filled, .striped: + view.backgroundColor = model.color.contrast.uiColor + } + } + + static func stripedLayer(_ view: UIView, model: ProgressBarVM) { + switch model.style { + case .light, .filled: + view.backgroundColor = .clear + view.isHidden = true + case .striped: + view.backgroundColor = model.color.main.uiColor + view.isHidden = false + } + } + } +} From 50bdc32d03d1b1e8a54c04e8ec109703642ca80f Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Fri, 3 Jan 2025 00:55:32 +0400 Subject: [PATCH 035/107] swiftlint fix --- .../ProgressBar/UKProgressBar.swift | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift index 03f7d44e..c96018cd 100644 --- a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift @@ -189,17 +189,17 @@ open class UKProgressBar: UIView, UKComponent { switch self.model.style { case .light: - self.backgroundView.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) - self.progressView.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) + self.backgroundView.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) + self.progressView.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) case .filled: - self.backgroundView.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) - self.progressView.layer.cornerRadius = self.model.innerCornerRadius(forHeight: self.backgroundView.bounds.height) + self.backgroundView.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) + self.progressView.layer.cornerRadius = self.model.innerCornerRadius(forHeight: self.backgroundView.bounds.height) case .striped: - self.backgroundView.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) - self.progressView.layer.cornerRadius = self.model.innerCornerRadius(forHeight: self.backgroundView.bounds.height) - self.stripedLayer.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) + self.backgroundView.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) + self.progressView.layer.cornerRadius = self.model.innerCornerRadius(forHeight: self.backgroundView.bounds.height) + self.stripedLayer.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) self.stripedLayer.clipsToBounds = true } @@ -210,7 +210,6 @@ open class UKProgressBar: UIView, UKComponent { extension UKProgressBar { fileprivate enum Style { - static func backgroundView(_ view: UIView, model: ProgressBarVM) { switch model.style { case .light: @@ -219,7 +218,7 @@ extension UKProgressBar { view.backgroundColor = model.color.main.uiColor } } - + static func progressView(_ view: UIView, model: ProgressBarVM) { switch model.style { case .light: @@ -228,7 +227,7 @@ extension UKProgressBar { view.backgroundColor = model.color.contrast.uiColor } } - + static func stripedLayer(_ view: UIView, model: ProgressBarVM) { switch model.style { case .light, .filled: From 78c07c7b0ef4066c7c81daf9753affd579d12f53 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Sun, 5 Jan 2025 20:08:15 +0400 Subject: [PATCH 036/107] fix layout metod --- .../ProgressBar/UKProgressBar.swift | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift index c96018cd..51c85c6a 100644 --- a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift @@ -143,12 +143,25 @@ open class UKProgressBar: UIView, UKComponent { self.style() - if self.model.shouldUpdateLayout(oldModel) { - self.layout() + if self.model.barHeight != oldModel.barHeight { + self.backgroundViewConstraints.height?.constant = self.model.barHeight + self.progressViewConstraints.height?.constant = self.model.barHeight + self.stripedViewConstraints.height?.constant = self.model.barHeight + self.invalidateIntrinsicContentSize() self.setNeedsLayout() } + if self.model.style != oldModel.style { + if self.model.style == .striped { + self.stripedLayer.isHidden = false + } else { + self.stripedLayer.isHidden = true + } + + self.setNeedsLayout() + } + self.updateProgressBar() } @@ -182,8 +195,6 @@ open class UKProgressBar: UIView, UKComponent { } } - // MARK: - Style Helpers - open override func layoutSubviews() { super.layoutSubviews() @@ -202,12 +213,12 @@ open class UKProgressBar: UIView, UKComponent { self.stripedLayer.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) self.stripedLayer.clipsToBounds = true } - self.updateProgressBar() - self.layoutIfNeeded() } } +// MARK: - Style Helpers + extension UKProgressBar { fileprivate enum Style { static func backgroundView(_ view: UIView, model: ProgressBarVM) { From d921d2a99423a7e9fcb222f1ebcc2da542a0f16f Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Sun, 5 Jan 2025 21:03:42 +0400 Subject: [PATCH 037/107] CAShapeLayer for stripedLayer instead of UIView --- .../ProgressBar/UKProgressBar.swift | 39 +++++++------------ 1 file changed, 14 insertions(+), 25 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift index 51c85c6a..9ac22493 100644 --- a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift @@ -35,13 +35,13 @@ open class UKProgressBar: UIView, UKComponent { private let backgroundView = UIView() private let progressView = UIView() - private let stripedLayer = UIView() + + private let stripedLayer = CAShapeLayer() // MARK: - Layout Constraints private var backgroundViewConstraints: LayoutConstraints = .init() private var progressViewConstraints: LayoutConstraints = .init() - private var stripedViewConstraints: LayoutConstraints = .init() // MARK: - Private Properties @@ -77,7 +77,9 @@ open class UKProgressBar: UIView, UKComponent { private func setup() { self.addSubview(self.backgroundView) self.addSubview(self.progressView) - self.addSubview(self.stripedLayer) + + self.progressView.layer.addSublayer(self.stripedLayer) + self.progressView.layer.masksToBounds = true } // MARK: - Style @@ -93,7 +95,6 @@ open class UKProgressBar: UIView, UKComponent { private func layout() { self.backgroundViewConstraints.deactivateAll() self.progressViewConstraints.deactivateAll() - self.stripedViewConstraints.deactivateAll() UIView.performWithoutAnimation { switch self.model.style { @@ -122,14 +123,6 @@ open class UKProgressBar: UIView, UKComponent { self.progressView.vertically(3, to: self.backgroundView) self.progressView.width(0) } - - if self.model.style == .striped { - self.stripedViewConstraints = .merged { - self.stripedLayer.horizontally(0) - self.stripedLayer.centerVertically() - self.stripedLayer.height(self.model.barHeight) - } - } } } @@ -146,8 +139,6 @@ open class UKProgressBar: UIView, UKComponent { if self.model.barHeight != oldModel.barHeight { self.backgroundViewConstraints.height?.constant = self.model.barHeight self.progressViewConstraints.height?.constant = self.model.barHeight - self.stripedViewConstraints.height?.constant = self.model.barHeight - self.invalidateIntrinsicContentSize() self.setNeedsLayout() } @@ -158,7 +149,6 @@ open class UKProgressBar: UIView, UKComponent { } else { self.stripedLayer.isHidden = true } - self.setNeedsLayout() } @@ -185,9 +175,10 @@ open class UKProgressBar: UIView, UKComponent { } if self.model.style == .striped { - let shapeLayer = CAShapeLayer() - shapeLayer.path = self.model.stripesBezierPath(in: self.stripedLayer.bounds).cgPath - self.stripedLayer.layer.mask = shapeLayer + self.stripedLayer.frame = self.bounds + self.stripedLayer.path = self.model + .stripesBezierPath(in: self.stripedLayer.bounds) + .cgPath } UIView.animate(withDuration: duration) { @@ -210,8 +201,6 @@ open class UKProgressBar: UIView, UKComponent { case .striped: self.backgroundView.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) self.progressView.layer.cornerRadius = self.model.innerCornerRadius(forHeight: self.backgroundView.bounds.height) - self.stripedLayer.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) - self.stripedLayer.clipsToBounds = true } self.updateProgressBar() } @@ -239,14 +228,14 @@ extension UKProgressBar { } } - static func stripedLayer(_ view: UIView, model: ProgressBarVM) { + static func stripedLayer(_ layer: CAShapeLayer, model: ProgressBarVM) { switch model.style { case .light, .filled: - view.backgroundColor = .clear - view.isHidden = true + layer.fillColor = UIColor.clear.cgColor + layer.isHidden = true case .striped: - view.backgroundColor = model.color.main.uiColor - view.isHidden = false + layer.fillColor = model.color.main.uiColor.cgColor + layer.isHidden = false } } } From 84abff2a678a861397cc0a23c564268a4623f4ff Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Sun, 5 Jan 2025 21:04:49 +0400 Subject: [PATCH 038/107] fix animation --- .../ComponentsKit/ProgressBar/UKProgressBar.swift | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift index 9ac22493..4ecb0e91 100644 --- a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift @@ -181,9 +181,15 @@ open class UKProgressBar: UIView, UKComponent { .cgPath } - UIView.animate(withDuration: duration) { - self.layoutIfNeeded() - } + UIView.animate( + withDuration: duration, + delay: 0, + options: .curveEaseInOut, + animations: { + self.layoutIfNeeded() + }, + completion: nil + ) } open override func layoutSubviews() { From 5f9009985e2ef10ec5089e83b5c39f05e4ccbdfe Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Sun, 5 Jan 2025 21:07:18 +0400 Subject: [PATCH 039/107] code style fix --- Sources/ComponentsKit/ProgressBar/UKProgressBar.swift | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift index 4ecb0e91..85e56cd8 100644 --- a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift @@ -176,9 +176,7 @@ open class UKProgressBar: UIView, UKComponent { if self.model.style == .striped { self.stripedLayer.frame = self.bounds - self.stripedLayer.path = self.model - .stripesBezierPath(in: self.stripedLayer.bounds) - .cgPath + self.stripedLayer.path = self.model.stripesBezierPath(in: self.stripedLayer.bounds).cgPath } UIView.animate( From 9a2c02e0145f61212099134b2b5557f3a65211e0 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Tue, 7 Jan 2025 15:40:23 +0400 Subject: [PATCH 040/107] some fix --- .../ProgressBar/UKProgressBar.swift | 57 +++++-------------- 1 file changed, 15 insertions(+), 42 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift index 85e56cd8..5f7a1dc2 100644 --- a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift @@ -33,10 +33,14 @@ open class UKProgressBar: UIView, UKComponent { // MARK: - Subviews - private let backgroundView = UIView() - private let progressView = UIView() + /// The background layer of the progress bar. + public let backgroundView = UIView() - private let stripedLayer = CAShapeLayer() + /// The fill layer that displays the current progress. + public let progressView = UIView() + + /// A shape layer used to render striped styling. + public let stripedLayer = CAShapeLayer() // MARK: - Layout Constraints @@ -53,7 +57,7 @@ open class UKProgressBar: UIView, UKComponent { /// Initializer. /// - Parameters: - /// - currentValue: The initial progress value. Defaults to `0`. + /// - initialValue: The initial progress value. Defaults to `0`. /// - model: A model that defines the appearance properties. public init( initialValue: CGFloat = 0, @@ -79,7 +83,6 @@ open class UKProgressBar: UIView, UKComponent { self.addSubview(self.progressView) self.progressView.layer.addSublayer(self.stripedLayer) - self.progressView.layer.masksToBounds = true } // MARK: - Style @@ -93,9 +96,6 @@ open class UKProgressBar: UIView, UKComponent { // MARK: - Layout private func layout() { - self.backgroundViewConstraints.deactivateAll() - self.progressViewConstraints.deactivateAll() - UIView.performWithoutAnimation { switch self.model.style { case .light: @@ -125,8 +125,6 @@ open class UKProgressBar: UIView, UKComponent { } } } - - self.setNeedsLayout() } // MARK: - Update @@ -142,16 +140,6 @@ open class UKProgressBar: UIView, UKComponent { self.invalidateIntrinsicContentSize() self.setNeedsLayout() } - - if self.model.style != oldModel.style { - if self.model.style == .striped { - self.stripedLayer.isHidden = false - } else { - self.stripedLayer.isHidden = true - } - self.setNeedsLayout() - } - self.updateProgressBar() } @@ -193,17 +181,12 @@ open class UKProgressBar: UIView, UKComponent { open override func layoutSubviews() { super.layoutSubviews() + self.backgroundView.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) + switch self.model.style { case .light: - self.backgroundView.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) self.progressView.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) - - case .filled: - self.backgroundView.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) - self.progressView.layer.cornerRadius = self.model.innerCornerRadius(forHeight: self.backgroundView.bounds.height) - - case .striped: - self.backgroundView.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) + case .filled, .striped: self.progressView.layer.cornerRadius = self.model.innerCornerRadius(forHeight: self.backgroundView.bounds.height) } self.updateProgressBar() @@ -215,30 +198,20 @@ open class UKProgressBar: UIView, UKComponent { extension UKProgressBar { fileprivate enum Style { static func backgroundView(_ view: UIView, model: ProgressBarVM) { - switch model.style { - case .light: - view.backgroundColor = model.backgroundColor.uiColor - case .filled, .striped: - view.backgroundColor = model.color.main.uiColor - } + view.backgroundColor = model.backgroundColor.uiColor } static func progressView(_ view: UIView, model: ProgressBarVM) { - switch model.style { - case .light: - view.backgroundColor = model.barColor.uiColor - case .filled, .striped: - view.backgroundColor = model.color.contrast.uiColor - } + view.backgroundColor = model.barColor.uiColor + view.layer.masksToBounds = true } static func stripedLayer(_ layer: CAShapeLayer, model: ProgressBarVM) { + layer.fillColor = model.color.main.uiColor.cgColor switch model.style { case .light, .filled: - layer.fillColor = UIColor.clear.cgColor layer.isHidden = true case .striped: - layer.fillColor = model.color.main.uiColor.cgColor layer.isHidden = false } } From 058e95a17f580dd841865ba451ea495f2c1c4549 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Tue, 7 Jan 2025 15:45:49 +0400 Subject: [PATCH 041/107] swiftlint fix --- .../ComponentsKit/ProgressBar/SUProgressBar.swift | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift index f537a8ac..8a7e3d6d 100644 --- a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift @@ -42,9 +42,10 @@ public struct SUProgressBar: View { .frame(width: geometry.size.width * (1 - self.progress), height: self.model.barHeight) } .animation( - Animation.easeInOut(duration: 0.3), - value: self.progress + Animation.easeInOut(duration: 0.3), + value: self.progress ) + case .filled: ZStack(alignment: .leading) { RoundedRectangle(cornerRadius: self.model.cornerRadius(forHeight: self.model.barHeight)) @@ -58,9 +59,10 @@ public struct SUProgressBar: View { .padding(.horizontal, self.model.contentPaddings.trailing) } .animation( - Animation.easeInOut(duration: 0.3), - value: self.progress + Animation.easeInOut(duration: 0.3), + value: self.progress ) + case .striped: ZStack(alignment: .leading) { RoundedRectangle(cornerRadius: self.model.cornerRadius(forHeight: self.model.barHeight)) @@ -79,8 +81,8 @@ public struct SUProgressBar: View { .clipped() } .animation( - Animation.easeInOut(duration: 0.3), - value: self.progress + Animation.easeInOut(duration: 0.3), + value: self.progress ) } } From cb9babd392ec9dcbce7b166fdbb827c3ef6f0fa5 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Tue, 7 Jan 2025 15:55:27 +0400 Subject: [PATCH 042/107] fix merge conflicts --- Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift | 4 ++++ Sources/ComponentsKit/ProgressBar/SUProgressBar.swift | 3 --- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift index 98c1aaa3..83020f21 100644 --- a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift +++ b/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift @@ -84,6 +84,10 @@ extension ProgressBarVM { } } + var innerBarPadding: CGFloat { + return 3 + } + func innerCornerRadius(forHeight height: CGFloat) -> CGFloat { let distance: CGFloat = 3 return max(0, self.cornerRadius(forHeight: height) - distance) diff --git a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift index 1e2a97f3..f9d22cf9 100644 --- a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift +++ b/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift @@ -45,7 +45,6 @@ public struct SUProgressBar: View { Animation.easeInOut(duration: 0.3), value: self.progress ) - case .filled: ZStack(alignment: .leading) { RoundedRectangle(cornerRadius: self.model.cornerRadius(forHeight: self.model.barHeight)) @@ -62,7 +61,6 @@ public struct SUProgressBar: View { Animation.easeInOut(duration: 0.3), value: self.progress ) - case .striped: ZStack(alignment: .leading) { RoundedRectangle(cornerRadius: self.model.cornerRadius(forHeight: self.model.barHeight)) @@ -84,7 +82,6 @@ public struct SUProgressBar: View { Animation.easeInOut(duration: 0.3), value: self.progress ) - } } .animation(.spring, value: self.progress) From 0d1b482048f465e669c20aa02b267e0586c4bb86 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Tue, 7 Jan 2025 15:06:19 +0100 Subject: [PATCH 043/107] move ProgressBar folder into Components --- .../{ => Components}/ProgressBar/Models/ProgressBarStyle.swift | 0 .../{ => Components}/ProgressBar/Models/ProgressBarVM.swift | 0 .../{ => Components}/ProgressBar/SUProgressBar.swift | 0 .../{ => Components}/ProgressBar/UKProgressBar.swift | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename Sources/ComponentsKit/{ => Components}/ProgressBar/Models/ProgressBarStyle.swift (100%) rename Sources/ComponentsKit/{ => Components}/ProgressBar/Models/ProgressBarVM.swift (100%) rename Sources/ComponentsKit/{ => Components}/ProgressBar/SUProgressBar.swift (100%) rename Sources/ComponentsKit/{ => Components}/ProgressBar/UKProgressBar.swift (100%) diff --git a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarStyle.swift b/Sources/ComponentsKit/Components/ProgressBar/Models/ProgressBarStyle.swift similarity index 100% rename from Sources/ComponentsKit/ProgressBar/Models/ProgressBarStyle.swift rename to Sources/ComponentsKit/Components/ProgressBar/Models/ProgressBarStyle.swift diff --git a/Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift b/Sources/ComponentsKit/Components/ProgressBar/Models/ProgressBarVM.swift similarity index 100% rename from Sources/ComponentsKit/ProgressBar/Models/ProgressBarVM.swift rename to Sources/ComponentsKit/Components/ProgressBar/Models/ProgressBarVM.swift diff --git a/Sources/ComponentsKit/ProgressBar/SUProgressBar.swift b/Sources/ComponentsKit/Components/ProgressBar/SUProgressBar.swift similarity index 100% rename from Sources/ComponentsKit/ProgressBar/SUProgressBar.swift rename to Sources/ComponentsKit/Components/ProgressBar/SUProgressBar.swift diff --git a/Sources/ComponentsKit/ProgressBar/UKProgressBar.swift b/Sources/ComponentsKit/Components/ProgressBar/UKProgressBar.swift similarity index 100% rename from Sources/ComponentsKit/ProgressBar/UKProgressBar.swift rename to Sources/ComponentsKit/Components/ProgressBar/UKProgressBar.swift From 263a3027ef995c094609d31647760766ec69568a Mon Sep 17 00:00:00 2001 From: Mikhail Date: Tue, 7 Jan 2025 20:11:19 +0100 Subject: [PATCH 044/107] improve layout in UKProgressBar --- .../ProgressBar/Models/ProgressBarVM.swift | 44 +++--- .../ProgressBar/SUProgressBar.swift | 21 +-- .../ProgressBar/UKProgressBar.swift | 128 ++++++++++-------- 3 files changed, 102 insertions(+), 91 deletions(-) diff --git a/Sources/ComponentsKit/Components/ProgressBar/Models/ProgressBarVM.swift b/Sources/ComponentsKit/Components/ProgressBar/Models/ProgressBarVM.swift index 83020f21..dcc0c92d 100644 --- a/Sources/ComponentsKit/Components/ProgressBar/Models/ProgressBarVM.swift +++ b/Sources/ComponentsKit/Components/ProgressBar/Models/ProgressBarVM.swift @@ -38,9 +38,9 @@ extension ProgressBarVM { var horizontalPadding: CGFloat { switch self.style { case .light: - return 4 + return self.lightBarSpacing case .filled, .striped: - return 6 + return self.innerBarPadding * 2 } } @@ -84,13 +84,21 @@ extension ProgressBarVM { } } + var animationDuration: TimeInterval { + return 0.2 + } + var innerBarPadding: CGFloat { return 3 } + var lightBarSpacing: CGFloat { + return 4 + } + func innerCornerRadius(forHeight height: CGFloat) -> CGFloat { - let distance: CGFloat = 3 - return max(0, self.cornerRadius(forHeight: height) - distance) + // TODO: Fix when full corner radius + return max(0, self.cornerRadius(forHeight: height) - self.innerBarPadding) } var backgroundColor: UniversalColor { @@ -111,12 +119,6 @@ extension ProgressBarVM { } } - func shouldUpdateLayout(_ oldModel: Self) -> Bool { - return self.size != oldModel.size - || self.cornerRadius != oldModel.cornerRadius - || self.style != oldModel.style - } - private func stripesCGPath(in rect: CGRect) -> CGMutablePath { let stripeWidth: CGFloat = 2 let stripeSpacing: CGFloat = 4 @@ -139,22 +141,30 @@ extension ProgressBarVM { } return path } +} - public func stripesPath(in rect: CGRect) -> Path { - return Path(self.stripesCGPath(in: rect)) +extension ProgressBarVM { + func progress(for currentValue: CGFloat) -> CGFloat { + let range = self.maxValue - self.minValue + guard range > 0 else { return 0 } + let normalized = (currentValue - self.minValue) / range + return max(0, min(1, normalized)) } +} + +// MARK: - UIKit Helpers +extension ProgressBarVM { public func stripesBezierPath(in rect: CGRect) -> UIBezierPath { return UIBezierPath(cgPath: self.stripesCGPath(in: rect)) } } +// MARK: - SwiftUI Helpers + extension ProgressBarVM { - func progress(for currentValue: CGFloat) -> CGFloat { - let range = self.maxValue - self.minValue - guard range > 0 else { return 0 } - let normalized = (currentValue - self.minValue) / range - return max(0, min(1, normalized)) + public func stripesPath(in rect: CGRect) -> Path { + return Path(self.stripesCGPath(in: rect)) } } diff --git a/Sources/ComponentsKit/Components/ProgressBar/SUProgressBar.swift b/Sources/ComponentsKit/Components/ProgressBar/SUProgressBar.swift index f9d22cf9..41d7665c 100644 --- a/Sources/ComponentsKit/Components/ProgressBar/SUProgressBar.swift +++ b/Sources/ComponentsKit/Components/ProgressBar/SUProgressBar.swift @@ -33,7 +33,7 @@ public struct SUProgressBar: View { GeometryReader { geometry in switch self.model.style { case .light: - HStack(spacing: 4) { + HStack(spacing: self.model.lightBarSpacing) { RoundedRectangle(cornerRadius: self.model.cornerRadius(forHeight: self.model.barHeight)) .foregroundStyle(self.model.barColor.color) .frame(width: geometry.size.width * self.progress, height: self.model.barHeight) @@ -41,10 +41,7 @@ public struct SUProgressBar: View { .foregroundStyle(self.model.backgroundColor.color) .frame(width: geometry.size.width * (1 - self.progress)) } - .animation( - Animation.easeInOut(duration: 0.3), - value: self.progress - ) + case .filled: ZStack(alignment: .leading) { RoundedRectangle(cornerRadius: self.model.cornerRadius(forHeight: self.model.barHeight)) @@ -57,10 +54,7 @@ public struct SUProgressBar: View { .padding(.vertical, self.model.innerBarPadding) .padding(.horizontal, self.model.innerBarPadding) } - .animation( - Animation.easeInOut(duration: 0.3), - value: self.progress - ) + case .striped: ZStack(alignment: .leading) { RoundedRectangle(cornerRadius: self.model.cornerRadius(forHeight: self.model.barHeight)) @@ -78,13 +72,12 @@ public struct SUProgressBar: View { .cornerRadius(self.model.cornerRadius(forHeight: self.model.barHeight)) .clipped() } - .animation( - Animation.easeInOut(duration: 0.3), - value: self.progress - ) } } - .animation(.spring, value: self.progress) + .animation( + Animation.easeInOut(duration: self.model.animationDuration), + value: self.progress + ) .frame(height: self.model.barHeight) .onAppear { self.model.validateMinMaxValues() diff --git a/Sources/ComponentsKit/Components/ProgressBar/UKProgressBar.swift b/Sources/ComponentsKit/Components/ProgressBar/UKProgressBar.swift index 5f7a1dc2..e18bc584 100644 --- a/Sources/ComponentsKit/Components/ProgressBar/UKProgressBar.swift +++ b/Sources/ComponentsKit/Components/ProgressBar/UKProgressBar.swift @@ -3,18 +3,6 @@ import UIKit /// A UIKit component that displays a Progress Bar. open class UKProgressBar: UIView, UKComponent { - open override func sizeThatFits(_ size: CGSize) -> CGSize { - let width = self.superview?.bounds.width ?? size.width - return CGSize( - width: min(size.width, width), - height: min(size.height, self.model.barHeight) - ) - } - - open override var intrinsicContentSize: CGSize { - return self.sizeThatFits(UIView.layoutFittingExpandedSize) - } - // MARK: - Properties /// A model that defines the appearance properties. @@ -44,7 +32,8 @@ open class UKProgressBar: UIView, UKComponent { // MARK: - Layout Constraints - private var backgroundViewConstraints: LayoutConstraints = .init() + private var backgroundViewLightLeadingConstraint: NSLayoutConstraint? + private var backgroundViewFilledLeadingConstraint: NSLayoutConstraint? private var progressViewConstraints: LayoutConstraints = .init() // MARK: - Private Properties @@ -53,6 +42,12 @@ open class UKProgressBar: UIView, UKComponent { self.model.progress(for: self.currentValue) } + // MARK: - UIView Properties + + open override var intrinsicContentSize: CGSize { + return self.sizeThatFits(UIView.layoutFittingExpandedSize) + } + // MARK: - Initialization /// Initializer. @@ -96,35 +91,31 @@ open class UKProgressBar: UIView, UKComponent { // MARK: - Layout private func layout() { - UIView.performWithoutAnimation { - switch self.model.style { - case .light: - self.backgroundViewConstraints = .merged { - self.backgroundView.after(self.progressView, padding: 4) - self.backgroundView.centerVertically() - self.backgroundView.height(self.model.barHeight) - self.backgroundView.width(0) - } - self.progressViewConstraints = .merged { - self.progressView.leading(0) - self.progressView.centerVertically() - self.progressView.height(self.model.barHeight) - self.progressView.width(0) - } + self.backgroundView.vertically() + self.backgroundView.trailing() + self.backgroundViewLightLeadingConstraint = self.backgroundView.after( + self.progressView, + padding: self.model.lightBarSpacing + ).leading + self.backgroundViewFilledLeadingConstraint = self.backgroundView.leading().leading - case .filled, .striped: - self.backgroundViewConstraints = .merged { - self.backgroundView.horizontally(0) - self.backgroundView.centerVertically() - self.backgroundView.height(self.model.barHeight) - } - self.progressViewConstraints = .merged { - self.progressView.leading(3, to: self.backgroundView) - self.progressView.vertically(3, to: self.backgroundView) - self.progressView.width(0) - } + switch self.model.style { + case .light: + self.backgroundViewFilledLeadingConstraint?.isActive = false + self.progressViewConstraints = .merged { + self.progressView.leading() + self.progressView.vertically() + } + + case .filled, .striped: + self.backgroundViewLightLeadingConstraint?.isActive = false + self.progressViewConstraints = .merged { + self.progressView.leading(self.model.innerBarPadding) + self.progressView.vertically(self.model.innerBarPadding) } } + + self.progressViewConstraints.width = self.progressView.width(0).width } // MARK: - Update @@ -135,40 +126,44 @@ open class UKProgressBar: UIView, UKComponent { self.style() if self.model.barHeight != oldModel.barHeight { - self.backgroundViewConstraints.height?.constant = self.model.barHeight - self.progressViewConstraints.height?.constant = self.model.barHeight + switch self.model.style { + case .light: + self.backgroundViewFilledLeadingConstraint?.isActive = false + self.backgroundViewLightLeadingConstraint?.isActive = true + self.progressViewConstraints.leading?.constant = 0 + self.progressViewConstraints.top?.constant = 0 + self.progressViewConstraints.bottom?.constant = 0 + + case .filled, .striped: + self.backgroundViewLightLeadingConstraint?.isActive = false + self.backgroundViewFilledLeadingConstraint?.isActive = true + self.progressViewConstraints.leading?.constant = self.model.innerBarPadding + self.progressViewConstraints.top?.constant = self.model.innerBarPadding + self.progressViewConstraints.bottom?.constant = -self.model.innerBarPadding + } + self.invalidateIntrinsicContentSize() self.setNeedsLayout() } - self.updateProgressBar() - } - - private func updateProgressBar() { - let duration: TimeInterval = 0.3 UIView.performWithoutAnimation { - self.layoutIfNeeded() - } - - let totalWidth = self.bounds.width - self.model.horizontalPadding - let progressWidth = totalWidth * self.progress - - switch self.model.style { - case .light: - self.progressViewConstraints.width?.constant = max(0, progressWidth) - self.backgroundViewConstraints.width?.constant = max(0, totalWidth - progressWidth) - - case .filled, .striped: - self.progressViewConstraints.width?.constant = max(0, progressWidth) + self.updateProgressBar() } + } + private func updateProgressBar() { if self.model.style == .striped { self.stripedLayer.frame = self.bounds self.stripedLayer.path = self.model.stripesBezierPath(in: self.stripedLayer.bounds).cgPath } + let totalWidth = self.bounds.width - self.model.horizontalPadding + let progressWidth = totalWidth * self.progress + + self.progressViewConstraints.width?.constant = max(0, progressWidth) + UIView.animate( - withDuration: duration, + withDuration: self.model.animationDuration, delay: 0, options: .curveEaseInOut, animations: { @@ -178,6 +173,8 @@ open class UKProgressBar: UIView, UKComponent { ) } + // MARK: - Layout + open override func layoutSubviews() { super.layoutSubviews() @@ -189,8 +186,19 @@ open class UKProgressBar: UIView, UKComponent { case .filled, .striped: self.progressView.layer.cornerRadius = self.model.innerCornerRadius(forHeight: self.backgroundView.bounds.height) } + self.updateProgressBar() } + + // MARK: - UIView methods + + open override func sizeThatFits(_ size: CGSize) -> CGSize { + let width = self.superview?.bounds.width ?? size.width + return CGSize( + width: min(size.width, width), + height: min(size.height, self.model.barHeight) + ) + } } // MARK: - Style Helpers From 4e22f5b76fbb4a4edd244d5aaa7b55aa38804eca Mon Sep 17 00:00:00 2001 From: Mikhail Date: Tue, 7 Jan 2025 20:11:33 +0100 Subject: [PATCH 045/107] fix progress bar preview --- .../PreviewPages/ProgressBarPreview.swift | 39 ++++++++++--------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift index 51ed476a..ae6b0356 100644 --- a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift +++ b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/ProgressBarPreview.swift @@ -3,8 +3,11 @@ import SwiftUI import UIKit struct ProgressBarPreview: View { - @State private var model = ProgressBarVM() - @State private var currentValue: CGFloat = 0 + @State private var model = Self.initialModel + @State private var currentValue: CGFloat = Self.initialValue + + private let progressBar = UKProgressBar(initialValue: Self.initialValue, model: Self.initialModel) + private let timer = Timer .publish(every: 0.1, on: .main, in: .common) .autoconnect() @@ -12,7 +15,15 @@ struct ProgressBarPreview: View { var body: some View { VStack { PreviewWrapper(title: "UIKit") { - UKProgressBarRepresentable(currentValue: self.$currentValue, model: self.model) + self.progressBar + .preview + .onAppear { + self.progressBar.currentValue = self.currentValue + self.progressBar.model = Self.initialModel + } + .onChange(of: self.model) { newValue in + self.progressBar.model = newValue + } } PreviewWrapper(title: "SwiftUI") { SUProgressBar(currentValue: self.$currentValue, model: self.model) @@ -36,26 +47,18 @@ struct ProgressBarPreview: View { } else { self.currentValue = self.model.minValue } + + self.progressBar.currentValue = self.currentValue } } -} - -struct UKProgressBarRepresentable: UIViewRepresentable { - @Binding var currentValue: CGFloat - var model: ProgressBarVM - func makeUIView(context: Context) -> UKProgressBar { - let progressBar = UKProgressBar(initialValue: currentValue, model: model) - return progressBar - } + // MARK: - Helpers - func updateUIView(_ uiView: UKProgressBar, context: Context) { - uiView.currentValue = currentValue - uiView.model = model - uiView.setNeedsLayout() + private static var initialValue: Double { + return 0.0 } - - static func dismantleUIView(_ uiView: UKProgressBar, coordinator: ()) { + private static var initialModel: ProgressBarVM { + return .init() } } From c10bc32e622d3b4eed18856741fae7454ee4649a Mon Sep 17 00:00:00 2001 From: Mikhail Date: Tue, 7 Jan 2025 20:35:05 +0100 Subject: [PATCH 046/107] improve helpers to calculate corner radius in progress bar --- .../ProgressBar/Models/ProgressBarVM.swift | 37 +++++++++---------- .../ProgressBar/SUProgressBar.swift | 18 ++++----- .../ProgressBar/UKProgressBar.swift | 26 ++++++------- 3 files changed, 40 insertions(+), 41 deletions(-) diff --git a/Sources/ComponentsKit/Components/ProgressBar/Models/ProgressBarVM.swift b/Sources/ComponentsKit/Components/ProgressBar/Models/ProgressBarVM.swift index dcc0c92d..ba7424d4 100644 --- a/Sources/ComponentsKit/Components/ProgressBar/Models/ProgressBarVM.swift +++ b/Sources/ComponentsKit/Components/ProgressBar/Models/ProgressBarVM.swift @@ -35,16 +35,7 @@ public struct ProgressBarVM: ComponentVM { // MARK: - Shared Helpers extension ProgressBarVM { - var horizontalPadding: CGFloat { - switch self.style { - case .light: - return self.lightBarSpacing - case .filled, .striped: - return self.innerBarPadding * 2 - } - } - - var barHeight: CGFloat { + var backgroundHeight: CGFloat { switch self.style { case .light: switch size { @@ -67,7 +58,11 @@ extension ProgressBarVM { } } - func cornerRadius(forHeight height: CGFloat) -> CGFloat { + var progressHeight: CGFloat { + return self.backgroundHeight - self.innerBarPadding + } + + func cornerRadius(for height: CGFloat) -> CGFloat { switch self.cornerRadius { case .none: return 0 @@ -89,18 +84,18 @@ extension ProgressBarVM { } var innerBarPadding: CGFloat { - return 3 + switch self.style { + case .light: + return 0 + case .filled, .striped: + return 3 + } } var lightBarSpacing: CGFloat { return 4 } - func innerCornerRadius(forHeight height: CGFloat) -> CGFloat { - // TODO: Fix when full corner radius - return max(0, self.cornerRadius(forHeight: height) - self.innerBarPadding) - } - var backgroundColor: UniversalColor { switch style { case .light: @@ -155,15 +150,19 @@ extension ProgressBarVM { // MARK: - UIKit Helpers extension ProgressBarVM { - public func stripesBezierPath(in rect: CGRect) -> UIBezierPath { + func stripesBezierPath(in rect: CGRect) -> UIBezierPath { return UIBezierPath(cgPath: self.stripesCGPath(in: rect)) } + + func shouldUpdateLayout(_ oldModel: Self) -> Bool { + return self.style != oldModel.style || self.size != oldModel.size + } } // MARK: - SwiftUI Helpers extension ProgressBarVM { - public func stripesPath(in rect: CGRect) -> Path { + func stripesPath(in rect: CGRect) -> Path { return Path(self.stripesCGPath(in: rect)) } } diff --git a/Sources/ComponentsKit/Components/ProgressBar/SUProgressBar.swift b/Sources/ComponentsKit/Components/ProgressBar/SUProgressBar.swift index 41d7665c..62039dba 100644 --- a/Sources/ComponentsKit/Components/ProgressBar/SUProgressBar.swift +++ b/Sources/ComponentsKit/Components/ProgressBar/SUProgressBar.swift @@ -34,21 +34,21 @@ public struct SUProgressBar: View { switch self.model.style { case .light: HStack(spacing: self.model.lightBarSpacing) { - RoundedRectangle(cornerRadius: self.model.cornerRadius(forHeight: self.model.barHeight)) + RoundedRectangle(cornerRadius: self.model.cornerRadius(for: self.model.progressHeight)) .foregroundStyle(self.model.barColor.color) - .frame(width: geometry.size.width * self.progress, height: self.model.barHeight) - RoundedRectangle(cornerRadius: self.model.cornerRadius(forHeight: self.model.barHeight)) + .frame(width: geometry.size.width * self.progress) + RoundedRectangle(cornerRadius: self.model.cornerRadius(for: self.model.backgroundHeight)) .foregroundStyle(self.model.backgroundColor.color) .frame(width: geometry.size.width * (1 - self.progress)) } case .filled: ZStack(alignment: .leading) { - RoundedRectangle(cornerRadius: self.model.cornerRadius(forHeight: self.model.barHeight)) + RoundedRectangle(cornerRadius: self.model.cornerRadius(for: self.model.backgroundHeight)) .foregroundStyle(self.model.color.main.color) .frame(width: geometry.size.width) - RoundedRectangle(cornerRadius: self.model.innerCornerRadius(forHeight: self.model.barHeight)) + RoundedRectangle(cornerRadius: self.model.cornerRadius(for: self.model.progressHeight)) .foregroundStyle(self.model.color.contrast.color) .frame(width: (geometry.size.width - self.model.innerBarPadding * 2) * self.progress) .padding(.vertical, self.model.innerBarPadding) @@ -57,11 +57,11 @@ public struct SUProgressBar: View { case .striped: ZStack(alignment: .leading) { - RoundedRectangle(cornerRadius: self.model.cornerRadius(forHeight: self.model.barHeight)) + RoundedRectangle(cornerRadius: self.model.cornerRadius(for: self.model.backgroundHeight)) .foregroundStyle(self.model.color.main.color) .frame(width: geometry.size.width) - RoundedRectangle(cornerRadius: self.model.innerCornerRadius(forHeight: self.model.barHeight)) + RoundedRectangle(cornerRadius: self.model.cornerRadius(for: self.model.progressHeight)) .foregroundStyle(self.model.color.contrast.color) .frame(width: (geometry.size.width - self.model.innerBarPadding * 2) * self.progress) .padding(.vertical, self.model.innerBarPadding) @@ -69,7 +69,7 @@ public struct SUProgressBar: View { StripesShape(model: self.model) .foregroundStyle(self.model.color.main.color) - .cornerRadius(self.model.cornerRadius(forHeight: self.model.barHeight)) + .cornerRadius(self.model.cornerRadius(for: self.model.progressHeight)) .clipped() } } @@ -78,7 +78,7 @@ public struct SUProgressBar: View { Animation.easeInOut(duration: self.model.animationDuration), value: self.progress ) - .frame(height: self.model.barHeight) + .frame(height: self.model.backgroundHeight) .onAppear { self.model.validateMinMaxValues() } diff --git a/Sources/ComponentsKit/Components/ProgressBar/UKProgressBar.swift b/Sources/ComponentsKit/Components/ProgressBar/UKProgressBar.swift index e18bc584..a4631661 100644 --- a/Sources/ComponentsKit/Components/ProgressBar/UKProgressBar.swift +++ b/Sources/ComponentsKit/Components/ProgressBar/UKProgressBar.swift @@ -21,10 +21,10 @@ open class UKProgressBar: UIView, UKComponent { // MARK: - Subviews - /// The background layer of the progress bar. + /// The background view of the progress bar. public let backgroundView = UIView() - /// The fill layer that displays the current progress. + /// The view that displays the current progress. public let progressView = UIView() /// A shape layer used to render striped styling. @@ -125,7 +125,7 @@ open class UKProgressBar: UIView, UKComponent { self.style() - if self.model.barHeight != oldModel.barHeight { + if self.model.shouldUpdateLayout(oldModel) { switch self.model.style { case .light: self.backgroundViewFilledLeadingConstraint?.isActive = false @@ -157,7 +157,11 @@ open class UKProgressBar: UIView, UKComponent { self.stripedLayer.path = self.model.stripesBezierPath(in: self.stripedLayer.bounds).cgPath } - let totalWidth = self.bounds.width - self.model.horizontalPadding + let totalHorizontalPadding: CGFloat = switch self.model.style { + case .light: self.model.lightBarSpacing + case .filled, .striped: self.model.innerBarPadding * 2 + } + let totalWidth = self.bounds.width - totalHorizontalPadding let progressWidth = totalWidth * self.progress self.progressViewConstraints.width?.constant = max(0, progressWidth) @@ -178,14 +182,8 @@ open class UKProgressBar: UIView, UKComponent { open override func layoutSubviews() { super.layoutSubviews() - self.backgroundView.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) - - switch self.model.style { - case .light: - self.progressView.layer.cornerRadius = self.model.cornerRadius(forHeight: self.backgroundView.bounds.height) - case .filled, .striped: - self.progressView.layer.cornerRadius = self.model.innerCornerRadius(forHeight: self.backgroundView.bounds.height) - } + self.backgroundView.layer.cornerRadius = self.model.cornerRadius(for: self.backgroundView.bounds.height) + self.progressView.layer.cornerRadius = self.model.cornerRadius(for: self.progressView.bounds.height) self.updateProgressBar() } @@ -196,7 +194,7 @@ open class UKProgressBar: UIView, UKComponent { let width = self.superview?.bounds.width ?? size.width return CGSize( width: min(size.width, width), - height: min(size.height, self.model.barHeight) + height: min(size.height, self.model.backgroundHeight) ) } } @@ -207,10 +205,12 @@ extension UKProgressBar { fileprivate enum Style { static func backgroundView(_ view: UIView, model: ProgressBarVM) { view.backgroundColor = model.backgroundColor.uiColor + view.layer.cornerRadius = model.cornerRadius(for: view.bounds.height) } static func progressView(_ view: UIView, model: ProgressBarVM) { view.backgroundColor = model.barColor.uiColor + view.layer.cornerRadius = model.cornerRadius(for: view.bounds.height) view.layer.masksToBounds = true } From fcc588d7efbcb1f2462641fd93e2813dd408c118 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Tue, 7 Jan 2025 20:39:57 +0100 Subject: [PATCH 047/107] simplify code in progress bar --- .../ProgressBar/Models/ProgressBarVM.swift | 4 +-- .../ProgressBar/SUProgressBar.swift | 12 ++++---- .../ProgressBar/UKProgressBar.swift | 30 +++++++------------ 3 files changed, 19 insertions(+), 27 deletions(-) diff --git a/Sources/ComponentsKit/Components/ProgressBar/Models/ProgressBarVM.swift b/Sources/ComponentsKit/Components/ProgressBar/Models/ProgressBarVM.swift index ba7424d4..be1d3c1b 100644 --- a/Sources/ComponentsKit/Components/ProgressBar/Models/ProgressBarVM.swift +++ b/Sources/ComponentsKit/Components/ProgressBar/Models/ProgressBarVM.swift @@ -59,7 +59,7 @@ extension ProgressBarVM { } var progressHeight: CGFloat { - return self.backgroundHeight - self.innerBarPadding + return self.backgroundHeight - self.progressPadding } func cornerRadius(for height: CGFloat) -> CGFloat { @@ -83,7 +83,7 @@ extension ProgressBarVM { return 0.2 } - var innerBarPadding: CGFloat { + var progressPadding: CGFloat { switch self.style { case .light: return 0 diff --git a/Sources/ComponentsKit/Components/ProgressBar/SUProgressBar.swift b/Sources/ComponentsKit/Components/ProgressBar/SUProgressBar.swift index 62039dba..520d9809 100644 --- a/Sources/ComponentsKit/Components/ProgressBar/SUProgressBar.swift +++ b/Sources/ComponentsKit/Components/ProgressBar/SUProgressBar.swift @@ -50,9 +50,9 @@ public struct SUProgressBar: View { RoundedRectangle(cornerRadius: self.model.cornerRadius(for: self.model.progressHeight)) .foregroundStyle(self.model.color.contrast.color) - .frame(width: (geometry.size.width - self.model.innerBarPadding * 2) * self.progress) - .padding(.vertical, self.model.innerBarPadding) - .padding(.horizontal, self.model.innerBarPadding) + .frame(width: (geometry.size.width - self.model.progressPadding * 2) * self.progress) + .padding(.vertical, self.model.progressPadding) + .padding(.horizontal, self.model.progressPadding) } case .striped: @@ -63,9 +63,9 @@ public struct SUProgressBar: View { RoundedRectangle(cornerRadius: self.model.cornerRadius(for: self.model.progressHeight)) .foregroundStyle(self.model.color.contrast.color) - .frame(width: (geometry.size.width - self.model.innerBarPadding * 2) * self.progress) - .padding(.vertical, self.model.innerBarPadding) - .padding(.horizontal, self.model.innerBarPadding) + .frame(width: (geometry.size.width - self.model.progressPadding * 2) * self.progress) + .padding(.vertical, self.model.progressPadding) + .padding(.horizontal, self.model.progressPadding) StripesShape(model: self.model) .foregroundStyle(self.model.color.main.color) diff --git a/Sources/ComponentsKit/Components/ProgressBar/UKProgressBar.swift b/Sources/ComponentsKit/Components/ProgressBar/UKProgressBar.swift index a4631661..745c0b50 100644 --- a/Sources/ComponentsKit/Components/ProgressBar/UKProgressBar.swift +++ b/Sources/ComponentsKit/Components/ProgressBar/UKProgressBar.swift @@ -1,7 +1,7 @@ import AutoLayout import UIKit -/// A UIKit component that displays a Progress Bar. +/// A UIKit component that displays a progress bar. open class UKProgressBar: UIView, UKComponent { // MARK: - Properties @@ -102,20 +102,15 @@ open class UKProgressBar: UIView, UKComponent { switch self.model.style { case .light: self.backgroundViewFilledLeadingConstraint?.isActive = false - self.progressViewConstraints = .merged { - self.progressView.leading() - self.progressView.vertically() - } - case .filled, .striped: self.backgroundViewLightLeadingConstraint?.isActive = false - self.progressViewConstraints = .merged { - self.progressView.leading(self.model.innerBarPadding) - self.progressView.vertically(self.model.innerBarPadding) - } } - self.progressViewConstraints.width = self.progressView.width(0).width + self.progressViewConstraints = .merged { + self.progressView.leading(self.model.progressPadding) + self.progressView.vertically(self.model.progressPadding) + self.progressView.width(0) + } } // MARK: - Update @@ -130,18 +125,15 @@ open class UKProgressBar: UIView, UKComponent { case .light: self.backgroundViewFilledLeadingConstraint?.isActive = false self.backgroundViewLightLeadingConstraint?.isActive = true - self.progressViewConstraints.leading?.constant = 0 - self.progressViewConstraints.top?.constant = 0 - self.progressViewConstraints.bottom?.constant = 0 - case .filled, .striped: self.backgroundViewLightLeadingConstraint?.isActive = false self.backgroundViewFilledLeadingConstraint?.isActive = true - self.progressViewConstraints.leading?.constant = self.model.innerBarPadding - self.progressViewConstraints.top?.constant = self.model.innerBarPadding - self.progressViewConstraints.bottom?.constant = -self.model.innerBarPadding } + self.progressViewConstraints.leading?.constant = self.model.progressPadding + self.progressViewConstraints.top?.constant = self.model.progressPadding + self.progressViewConstraints.bottom?.constant = -self.model.progressPadding + self.invalidateIntrinsicContentSize() self.setNeedsLayout() } @@ -159,7 +151,7 @@ open class UKProgressBar: UIView, UKComponent { let totalHorizontalPadding: CGFloat = switch self.model.style { case .light: self.model.lightBarSpacing - case .filled, .striped: self.model.innerBarPadding * 2 + case .filled, .striped: self.model.progressPadding * 2 } let totalWidth = self.bounds.width - totalHorizontalPadding let progressWidth = totalWidth * self.progress From f8fab4d2fd7b3cdc5d56759912ffacfdc525ed94 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Tue, 7 Jan 2025 20:43:16 +0100 Subject: [PATCH 048/107] improve method's name --- .../Components/ProgressBar/UKProgressBar.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Sources/ComponentsKit/Components/ProgressBar/UKProgressBar.swift b/Sources/ComponentsKit/Components/ProgressBar/UKProgressBar.swift index 745c0b50..8a25f202 100644 --- a/Sources/ComponentsKit/Components/ProgressBar/UKProgressBar.swift +++ b/Sources/ComponentsKit/Components/ProgressBar/UKProgressBar.swift @@ -15,7 +15,7 @@ open class UKProgressBar: UIView, UKComponent { /// The current progress value for the progress bar. public var currentValue: CGFloat { didSet { - self.updateProgressBar() + self.updateProgressWidthAndAppearance() } } @@ -139,11 +139,11 @@ open class UKProgressBar: UIView, UKComponent { } UIView.performWithoutAnimation { - self.updateProgressBar() + self.updateProgressWidthAndAppearance() } } - private func updateProgressBar() { + private func updateProgressWidthAndAppearance() { if self.model.style == .striped { self.stripedLayer.frame = self.bounds self.stripedLayer.path = self.model.stripesBezierPath(in: self.stripedLayer.bounds).cgPath @@ -177,7 +177,7 @@ open class UKProgressBar: UIView, UKComponent { self.backgroundView.layer.cornerRadius = self.model.cornerRadius(for: self.backgroundView.bounds.height) self.progressView.layer.cornerRadius = self.model.cornerRadius(for: self.progressView.bounds.height) - self.updateProgressBar() + self.updateProgressWidthAndAppearance() } // MARK: - UIView methods From 7ae6885bc9566ee43788a4e5511c031dfd7693aa Mon Sep 17 00:00:00 2001 From: Mikhail Date: Wed, 8 Jan 2025 10:29:30 +0100 Subject: [PATCH 049/107] validate min max values in UKProgressBar --- .../ComponentsKit/Components/ProgressBar/UKProgressBar.swift | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Sources/ComponentsKit/Components/ProgressBar/UKProgressBar.swift b/Sources/ComponentsKit/Components/ProgressBar/UKProgressBar.swift index 8a25f202..2982e676 100644 --- a/Sources/ComponentsKit/Components/ProgressBar/UKProgressBar.swift +++ b/Sources/ComponentsKit/Components/ProgressBar/UKProgressBar.swift @@ -178,6 +178,8 @@ open class UKProgressBar: UIView, UKComponent { self.progressView.layer.cornerRadius = self.model.cornerRadius(for: self.progressView.bounds.height) self.updateProgressWidthAndAppearance() + + self.model.validateMinMaxValues() } // MARK: - UIView methods From 06e613bc91a11709e40a4e0ac5e70229537b7678 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Wed, 8 Jan 2025 10:34:57 +0100 Subject: [PATCH 050/107] change animation style in progress bar to `linear` --- .../ComponentsKit/Components/ProgressBar/SUProgressBar.swift | 2 +- .../ComponentsKit/Components/ProgressBar/UKProgressBar.swift | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/Sources/ComponentsKit/Components/ProgressBar/SUProgressBar.swift b/Sources/ComponentsKit/Components/ProgressBar/SUProgressBar.swift index 520d9809..2343f7fa 100644 --- a/Sources/ComponentsKit/Components/ProgressBar/SUProgressBar.swift +++ b/Sources/ComponentsKit/Components/ProgressBar/SUProgressBar.swift @@ -75,7 +75,7 @@ public struct SUProgressBar: View { } } .animation( - Animation.easeInOut(duration: self.model.animationDuration), + Animation.linear(duration: self.model.animationDuration), value: self.progress ) .frame(height: self.model.backgroundHeight) diff --git a/Sources/ComponentsKit/Components/ProgressBar/UKProgressBar.swift b/Sources/ComponentsKit/Components/ProgressBar/UKProgressBar.swift index 2982e676..3a14cc31 100644 --- a/Sources/ComponentsKit/Components/ProgressBar/UKProgressBar.swift +++ b/Sources/ComponentsKit/Components/ProgressBar/UKProgressBar.swift @@ -160,12 +160,9 @@ open class UKProgressBar: UIView, UKComponent { UIView.animate( withDuration: self.model.animationDuration, - delay: 0, - options: .curveEaseInOut, animations: { self.layoutIfNeeded() - }, - completion: nil + } ) } From b28aeb0e1a8642fbb438787d05be38c6f4ffc0cd Mon Sep 17 00:00:00 2001 From: Mikhail Date: Wed, 8 Jan 2025 12:57:54 +0100 Subject: [PATCH 051/107] fix: properly calculate progress height --- .../Components/ProgressBar/Models/ProgressBarVM.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/ComponentsKit/Components/ProgressBar/Models/ProgressBarVM.swift b/Sources/ComponentsKit/Components/ProgressBar/Models/ProgressBarVM.swift index be1d3c1b..902293e9 100644 --- a/Sources/ComponentsKit/Components/ProgressBar/Models/ProgressBarVM.swift +++ b/Sources/ComponentsKit/Components/ProgressBar/Models/ProgressBarVM.swift @@ -59,7 +59,7 @@ extension ProgressBarVM { } var progressHeight: CGFloat { - return self.backgroundHeight - self.progressPadding + return self.backgroundHeight - self.progressPadding * 2 } func cornerRadius(for height: CGFloat) -> CGFloat { From ed16a8d8b7e170ea55543468739b068260e868f0 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Wed, 8 Jan 2025 12:58:31 +0100 Subject: [PATCH 052/107] fix: do not display stripes outside of the progress bar --- .../ComponentsKit/Components/ProgressBar/SUProgressBar.swift | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Sources/ComponentsKit/Components/ProgressBar/SUProgressBar.swift b/Sources/ComponentsKit/Components/ProgressBar/SUProgressBar.swift index 2343f7fa..005300a1 100644 --- a/Sources/ComponentsKit/Components/ProgressBar/SUProgressBar.swift +++ b/Sources/ComponentsKit/Components/ProgressBar/SUProgressBar.swift @@ -70,7 +70,9 @@ public struct SUProgressBar: View { StripesShape(model: self.model) .foregroundStyle(self.model.color.main.color) .cornerRadius(self.model.cornerRadius(for: self.model.progressHeight)) - .clipped() + .frame(width: (geometry.size.width - self.model.progressPadding * 2) * self.progress) + .padding(.vertical, self.model.progressPadding) + .padding(.horizontal, self.model.progressPadding) } } } From cffc15678feb3e970299906c2c67747c2980abcf Mon Sep 17 00:00:00 2001 From: Mikhail Date: Wed, 8 Jan 2025 13:02:20 +0100 Subject: [PATCH 053/107] fix: update a method to calculate a corner radius for the selected segment --- .../Components/SegmentedControl/Models/SegmentedControlVM.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/ComponentsKit/Components/SegmentedControl/Models/SegmentedControlVM.swift b/Sources/ComponentsKit/Components/SegmentedControl/Models/SegmentedControlVM.swift index 6aab2aad..e95308a7 100644 --- a/Sources/ComponentsKit/Components/SegmentedControl/Models/SegmentedControlVM.swift +++ b/Sources/ComponentsKit/Components/SegmentedControl/Models/SegmentedControlVM.swift @@ -102,7 +102,7 @@ extension SegmentedControlVM { case .none, .full, .custom: return componentRadius case .small, .medium, .large: - return max(0, componentRadius - self.outerPaddings / 2) + return max(0, componentRadius - self.outerPaddings) } } func preferredFont(for id: ID) -> UniversalFont { From 03ee10880b47684f90a484b2ae4e93ea966e8d42 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Sun, 12 Jan 2025 20:35:56 +0400 Subject: [PATCH 054/107] SUBadge - SUBadge - BadgeVM - Badge Style - BadgePreview into App --- .../Helpers/PreviewPickers.swift | 20 +++++ .../PreviewPages/BadgePreview.swift | 32 ++++++++ Examples/DemosApp/DemosApp/Core/App.swift | 3 + .../Components/Badge/Models/BadgeStyle.swift | 9 +++ .../Components/Badge/Models/BadgeVM.swift | 73 +++++++++++++++++++ .../Components/Badge/SUBadge.swift | 33 +++++++++ 6 files changed, 170 insertions(+) create mode 100644 Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/BadgePreview.swift create mode 100644 Sources/ComponentsKit/Components/Badge/Models/BadgeStyle.swift create mode 100644 Sources/ComponentsKit/Components/Badge/Models/BadgeVM.swift create mode 100644 Sources/ComponentsKit/Components/Badge/SUBadge.swift diff --git a/Examples/DemosApp/DemosApp/ComponentsPreview/Helpers/PreviewPickers.swift b/Examples/DemosApp/DemosApp/ComponentsPreview/Helpers/PreviewPickers.swift index 4645fa94..3aa4265d 100644 --- a/Examples/DemosApp/DemosApp/ComponentsPreview/Helpers/PreviewPickers.swift +++ b/Examples/DemosApp/DemosApp/ComponentsPreview/Helpers/PreviewPickers.swift @@ -123,6 +123,26 @@ struct ContainerRadiusPicker: View { // MARK: - FontPickers +struct BadgeFontPicker: View { + let title: String + @Binding var selection: UniversalFont? + + init(title: String = "Font", selection: Binding) { + self.title = title + self._selection = selection + } + + var body: some View { + Picker(self.title, selection: self.$selection) { + Text("Default").tag(Optional.none) + Text("Small").tag(UniversalFont.smButton) + Text("Medium").tag(UniversalFont.mdButton) + Text("Large").tag(UniversalFont.lgButton) + Text("Custom: system bold of size 16").tag(UniversalFont.system(size: 16, weight: .bold)) + } + } +} + struct BodyFontPicker: View { let title: String @Binding var selection: UniversalFont? diff --git a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/BadgePreview.swift b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/BadgePreview.swift new file mode 100644 index 00000000..46133744 --- /dev/null +++ b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/BadgePreview.swift @@ -0,0 +1,32 @@ +import ComponentsKit +import SwiftUI +import UIKit + +struct BadgePreview: View { + @State private var model = BadgeVM { + $0.title = "Badge" + } + + var body: some View { + VStack { + PreviewWrapper(title: "SwiftUI") { + SUBadge(model: self.model) + } + Form { + BadgeFontPicker(selection: self.$model.font) + ComponentOptionalColorPicker(selection: self.$model.color) + ComponentRadiusPicker(selection: self.$model.cornerRadius) { + Text("Custom: 20px").tag(ComponentRadius.custom(20)) + } + Picker("Style", selection: self.$model.style) { + Text("Filled").tag(BadgeVM.Style.filled) + Text("Light").tag(BadgeVM.Style.light) + } + } + } + } +} + +#Preview { + BadgePreview() +} diff --git a/Examples/DemosApp/DemosApp/Core/App.swift b/Examples/DemosApp/DemosApp/Core/App.swift index 380cd80a..ab7aaf9e 100644 --- a/Examples/DemosApp/DemosApp/Core/App.swift +++ b/Examples/DemosApp/DemosApp/Core/App.swift @@ -8,6 +8,9 @@ struct App: View { NavigationLinkWithTitle("Alert") { AlertPreview() } + NavigationLinkWithTitle("Badge") { + BadgePreview() + } NavigationLinkWithTitle("Button") { ButtonPreview() } diff --git a/Sources/ComponentsKit/Components/Badge/Models/BadgeStyle.swift b/Sources/ComponentsKit/Components/Badge/Models/BadgeStyle.swift new file mode 100644 index 00000000..5cc3cdb8 --- /dev/null +++ b/Sources/ComponentsKit/Components/Badge/Models/BadgeStyle.swift @@ -0,0 +1,9 @@ +import Foundation + +extension BadgeVM { + /// Defines the available visual styles for a badge. + public enum Style: Equatable { + case filled + case light + } +} diff --git a/Sources/ComponentsKit/Components/Badge/Models/BadgeVM.swift b/Sources/ComponentsKit/Components/Badge/Models/BadgeVM.swift new file mode 100644 index 00000000..e8ea07e7 --- /dev/null +++ b/Sources/ComponentsKit/Components/Badge/Models/BadgeVM.swift @@ -0,0 +1,73 @@ +import SwiftUI + +/// A model that defines the appearance properties for a badge component. +public struct BadgeVM: ComponentVM { + /// The text displayed on the badge. + public var title: String = "" + + /// The color of the badge. + public var color: ComponentColor? + + /// The visual style of the badge. + /// + /// Can be either `.filled` or `.light`. + /// Defaults to `.filled`. + public var style: Style = .filled + + /// The font used for the badge's text. + /// + /// Defaults to `.smButton`. + public var font: UniversalFont? = .smButton + + /// The corner radius of the badge. + /// + /// Defaults to `.medium`. + public var cornerRadius: ComponentRadius = .medium + + /// Vertical padding for the badge. + /// + /// Defaults to `8`. + public var verticalPadding: CGFloat = 8 + + /// Horizontal padding for the badge. + /// + /// Defaults to `10`. + public var horizontalPadding: CGFloat = 10 + + /// Initializes a new instance of `BadgeVM` with default values. + public init() {} +} + +// MARK: Helpers + +extension BadgeVM { + /// Returns the background color of the badge based on its style. + var backgroundColor: UniversalColor? { + switch self.style { + case .filled: + let color = self.color?.main ?? .content2 + return color.enabled(true) // Badges are always "enabled" + case .light: + let color = self.color?.background ?? .content1 + return color.enabled(true) + } + } + + /// Returns the foreground color of the badge based on its style. + var foregroundColor: UniversalColor { + switch self.style { + case .filled: + return (self.color?.contrast ?? .foreground).enabled(true) + case .light: + return (self.color?.main ?? .foreground).enabled(true) + } + } + + /// Returns the preferred font for the badge text. + var preferredFont: UniversalFont { + if let font { + return font + } + return .smButton + } +} diff --git a/Sources/ComponentsKit/Components/Badge/SUBadge.swift b/Sources/ComponentsKit/Components/Badge/SUBadge.swift new file mode 100644 index 00000000..e0f60b8a --- /dev/null +++ b/Sources/ComponentsKit/Components/Badge/SUBadge.swift @@ -0,0 +1,33 @@ +import SwiftUI + +// MARK: - SUBadge + +/// A SwiftUI component that displays a badge. +public struct SUBadge: View { + // MARK: Properties + + /// A model that defines the appearance properties. + public var model: BadgeVM + + // MARK: Initialization + + /// Initializes a new instance of `SUBadge`. + /// - Parameter model: A model that defines the appearance properties. + public init(model: BadgeVM) { + self.model = model + } + + // MARK: Body + + public var body: some View { + Text(self.model.title) + .font(self.model.preferredFont.font) + .padding(.vertical, self.model.verticalPadding) + .padding(.horizontal, self.model.horizontalPadding) + .foregroundStyle(self.model.foregroundColor.color) + .background(self.model.backgroundColor?.color ?? .clear) + .clipShape( + RoundedRectangle(cornerRadius: self.model.cornerRadius.value()) + ) + } +} From 10bc9378d52ab51fb6012f84e96cc66f0e029f67 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Sun, 12 Jan 2025 20:49:03 +0400 Subject: [PATCH 055/107] UKBadge --- .../PreviewPages/BadgePreview.swift | 4 + .../Components/Badge/UKBadge.swift | 134 ++++++++++++++++++ 2 files changed, 138 insertions(+) create mode 100644 Sources/ComponentsKit/Components/Badge/UKBadge.swift diff --git a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/BadgePreview.swift b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/BadgePreview.swift index 46133744..23ae6be7 100644 --- a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/BadgePreview.swift +++ b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/BadgePreview.swift @@ -9,6 +9,10 @@ struct BadgePreview: View { var body: some View { VStack { + PreviewWrapper(title: "UIKit") { + UKBadge(model: self.model) + .preview + } PreviewWrapper(title: "SwiftUI") { SUBadge(model: self.model) } diff --git a/Sources/ComponentsKit/Components/Badge/UKBadge.swift b/Sources/ComponentsKit/Components/Badge/UKBadge.swift new file mode 100644 index 00000000..d7192510 --- /dev/null +++ b/Sources/ComponentsKit/Components/Badge/UKBadge.swift @@ -0,0 +1,134 @@ +import AutoLayout +import UIKit + +/// A UIKit component that displays a badge. +open class UKBadge: UIView, UKComponent { + // MARK: - Properties + + /// A model that defines the appearance properties. + public var model: BadgeVM { + didSet { + self.update(oldValue) + } + } + + private var titleLabelConstraints: LayoutConstraints = .init() + + // MARK: Subviews + + /// A label that displays the title from the model. + public var titleLabel = UILabel() + + // MARK: - UIView Properties + + open override var intrinsicContentSize: CGSize { + return self.sizeThatFits(UIView.layoutFittingExpandedSize) + } + + // MARK: - Initialization + + /// Initializes a new instance of `UKBadge`. + /// - Parameter model: A model that defines the appearance properties for the badge. + public init(model: BadgeVM = .init()) { + self.model = model + super.init(frame: .zero) + + self.setup() + self.style() + self.layout() + } + + public required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + // MARK: - Setup + + private func setup() { + self.addSubview(self.titleLabel) + + if #available(iOS 17.0, *) { + self.registerForTraitChanges([UITraitUserInterfaceStyle.self]) { (view: Self, _: UITraitCollection) in + view.handleTraitChanges() + } + } + } + + // MARK: - Style + + private func style() { + Self.Style.mainView(self, model: self.model) + Self.Style.titleLabel(self.titleLabel, model: self.model) + } + + // MARK: - Layout + + private func layout() { + self.titleLabelConstraints = self.titleLabel.horizontally(self.model.horizontalPadding) + self.titleLabel.center() + + self.titleLabelConstraints.leading?.priority = .defaultHigh + self.titleLabelConstraints.trailing?.priority = .defaultHigh + } + + open override func layoutSubviews() { + super.layoutSubviews() + + self.layer.cornerRadius = self.model.cornerRadius.value() + } + + // MARK: - Update + + public func update(_ oldModel: BadgeVM) { + guard self.model != oldModel else { return } + + self.style() + self.titleLabelConstraints.leading?.constant = self.model.horizontalPadding + self.titleLabelConstraints.trailing?.constant = -self.model.horizontalPadding + + self.invalidateIntrinsicContentSize() + self.setNeedsLayout() + } + + // MARK: - UIView Methods + + open override func sizeThatFits(_ size: CGSize) -> CGSize { + let contentSize = self.titleLabel.sizeThatFits(size) + + let width = contentSize.width + self.model.horizontalPadding * 2 + let height = contentSize.height + self.model.verticalPadding * 2 + + return CGSize( + width: min(width, size.width), + height: min(height, size.height) + ) + } + + open override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) { + super.traitCollectionDidChange(previousTraitCollection) + self.handleTraitChanges() + } + + // MARK: - Helpers + + @objc private func handleTraitChanges() { + self.backgroundColor = self.model.backgroundColor?.uiColor + } +} + +// MARK: - Style Helpers + +extension UKBadge { + fileprivate enum Style { + static func mainView(_ view: UIView, model: BadgeVM) { + view.backgroundColor = model.backgroundColor?.uiColor + view.layer.cornerRadius = model.cornerRadius.value() + } + static func titleLabel(_ label: UILabel, model: BadgeVM) { + label.textAlignment = .center + label.text = model.title + label.font = model.preferredFont.uiFont + label.textColor = model.foregroundColor.uiColor + } + } +} From ae7b7ef8769ba516a30d5a04742c187e01b15683 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Sun, 12 Jan 2025 23:03:29 +0400 Subject: [PATCH 056/107] swiftlint fix --- Sources/ComponentsKit/Components/Badge/Models/BadgeVM.swift | 4 ++-- Sources/ComponentsKit/Components/Badge/SUBadge.swift | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/Sources/ComponentsKit/Components/Badge/Models/BadgeVM.swift b/Sources/ComponentsKit/Components/Badge/Models/BadgeVM.swift index e8ea07e7..bb5eae8d 100644 --- a/Sources/ComponentsKit/Components/Badge/Models/BadgeVM.swift +++ b/Sources/ComponentsKit/Components/Badge/Models/BadgeVM.swift @@ -23,7 +23,7 @@ public struct BadgeVM: ComponentVM { /// /// Defaults to `.medium`. public var cornerRadius: ComponentRadius = .medium - + /// Vertical padding for the badge. /// /// Defaults to `8`. @@ -33,7 +33,7 @@ public struct BadgeVM: ComponentVM { /// /// Defaults to `10`. public var horizontalPadding: CGFloat = 10 - + /// Initializes a new instance of `BadgeVM` with default values. public init() {} } diff --git a/Sources/ComponentsKit/Components/Badge/SUBadge.swift b/Sources/ComponentsKit/Components/Badge/SUBadge.swift index e0f60b8a..3d501529 100644 --- a/Sources/ComponentsKit/Components/Badge/SUBadge.swift +++ b/Sources/ComponentsKit/Components/Badge/SUBadge.swift @@ -1,7 +1,5 @@ import SwiftUI -// MARK: - SUBadge - /// A SwiftUI component that displays a badge. public struct SUBadge: View { // MARK: Properties From b49bb881ed3e675e001b05a6d684460c9f43ebbc Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Sun, 12 Jan 2025 23:04:16 +0400 Subject: [PATCH 057/107] swiftlint fix --- Sources/ComponentsKit/Components/Badge/Models/BadgeVM.swift | 4 ++-- Sources/ComponentsKit/Components/Badge/SUBadge.swift | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/Sources/ComponentsKit/Components/Badge/Models/BadgeVM.swift b/Sources/ComponentsKit/Components/Badge/Models/BadgeVM.swift index e8ea07e7..bb5eae8d 100644 --- a/Sources/ComponentsKit/Components/Badge/Models/BadgeVM.swift +++ b/Sources/ComponentsKit/Components/Badge/Models/BadgeVM.swift @@ -23,7 +23,7 @@ public struct BadgeVM: ComponentVM { /// /// Defaults to `.medium`. public var cornerRadius: ComponentRadius = .medium - + /// Vertical padding for the badge. /// /// Defaults to `8`. @@ -33,7 +33,7 @@ public struct BadgeVM: ComponentVM { /// /// Defaults to `10`. public var horizontalPadding: CGFloat = 10 - + /// Initializes a new instance of `BadgeVM` with default values. public init() {} } diff --git a/Sources/ComponentsKit/Components/Badge/SUBadge.swift b/Sources/ComponentsKit/Components/Badge/SUBadge.swift index e0f60b8a..3d501529 100644 --- a/Sources/ComponentsKit/Components/Badge/SUBadge.swift +++ b/Sources/ComponentsKit/Components/Badge/SUBadge.swift @@ -1,7 +1,5 @@ import SwiftUI -// MARK: - SUBadge - /// A SwiftUI component that displays a badge. public struct SUBadge: View { // MARK: Properties From ede79bac5017e2ba4f2211b1c8f6b1d3ccd70898 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Mon, 13 Jan 2025 15:03:33 +0100 Subject: [PATCH 058/107] add avatar model --- .../Avatar/Models/AvatarPlaceholder.swift | 8 +++++++ .../Components/Avatar/Models/AvatarVM.swift | 23 +++++++++++++++++++ .../Avatar/Models/ImageRepresentable.swift | 9 ++++++++ 3 files changed, 40 insertions(+) create mode 100644 Sources/ComponentsKit/Components/Avatar/Models/AvatarPlaceholder.swift create mode 100644 Sources/ComponentsKit/Components/Avatar/Models/AvatarVM.swift create mode 100644 Sources/ComponentsKit/Components/Avatar/Models/ImageRepresentable.swift diff --git a/Sources/ComponentsKit/Components/Avatar/Models/AvatarPlaceholder.swift b/Sources/ComponentsKit/Components/Avatar/Models/AvatarPlaceholder.swift new file mode 100644 index 00000000..7bf1651d --- /dev/null +++ b/Sources/ComponentsKit/Components/Avatar/Models/AvatarPlaceholder.swift @@ -0,0 +1,8 @@ +import Foundation + +extension AvatarVM { + public enum Placeholder: Equatable { + case name(String) + case icon(ImageRepresentable) + } +} diff --git a/Sources/ComponentsKit/Components/Avatar/Models/AvatarVM.swift b/Sources/ComponentsKit/Components/Avatar/Models/AvatarVM.swift new file mode 100644 index 00000000..16aef46d --- /dev/null +++ b/Sources/ComponentsKit/Components/Avatar/Models/AvatarVM.swift @@ -0,0 +1,23 @@ +import Foundation + +/// A model that defines the appearance properties for an avatar component. +public struct AvatarVM: ComponentVM { + /// The corner radius of the button. + /// + /// Defaults to `.medium`. + public var cornerRadius: ComponentRadius = .medium + + /// The image that should be displayed. + public var image: ImageRepresentable? + + /// The placeholder that is displayed if the image is not provided or fails to load. + public var placeholder: Placeholder = .icon(.system("person.circle")) + + /// The predefined size of the button. + /// + /// Defaults to `.medium`. + public var size: ComponentSize = .medium + + /// Initializes a new instance of `AvatarVM` with default values. + public init() {} +} diff --git a/Sources/ComponentsKit/Components/Avatar/Models/ImageRepresentable.swift b/Sources/ComponentsKit/Components/Avatar/Models/ImageRepresentable.swift new file mode 100644 index 00000000..866edd77 --- /dev/null +++ b/Sources/ComponentsKit/Components/Avatar/Models/ImageRepresentable.swift @@ -0,0 +1,9 @@ +import Foundation + +extension AvatarVM { + public enum ImageRepresentable: Equatable { + case url(_ url: URL) + case system(_ name: String) + case image(_ name: String, _ bundle: Bundle) + } +} From 87beac0c913cdcf0720b79c1c8bb58ac24f12a3c Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Mon, 13 Jan 2025 19:25:41 +0400 Subject: [PATCH 059/107] pr fix - BadgeFontPicker deleted - code style fix - paddings fix - deleted optional for font and backgroundColor --- .../Helpers/PreviewPickers.swift | 20 ----------- .../PreviewPages/BadgePreview.swift | 8 ++++- .../Components/Badge/Models/BadgeVM.swift | 34 +++++-------------- .../Components/Badge/SUBadge.swift | 7 ++-- 4 files changed, 18 insertions(+), 51 deletions(-) diff --git a/Examples/DemosApp/DemosApp/ComponentsPreview/Helpers/PreviewPickers.swift b/Examples/DemosApp/DemosApp/ComponentsPreview/Helpers/PreviewPickers.swift index 3aa4265d..4645fa94 100644 --- a/Examples/DemosApp/DemosApp/ComponentsPreview/Helpers/PreviewPickers.swift +++ b/Examples/DemosApp/DemosApp/ComponentsPreview/Helpers/PreviewPickers.swift @@ -123,26 +123,6 @@ struct ContainerRadiusPicker: View { // MARK: - FontPickers -struct BadgeFontPicker: View { - let title: String - @Binding var selection: UniversalFont? - - init(title: String = "Font", selection: Binding) { - self.title = title - self._selection = selection - } - - var body: some View { - Picker(self.title, selection: self.$selection) { - Text("Default").tag(Optional.none) - Text("Small").tag(UniversalFont.smButton) - Text("Medium").tag(UniversalFont.mdButton) - Text("Large").tag(UniversalFont.lgButton) - Text("Custom: system bold of size 16").tag(UniversalFont.system(size: 16, weight: .bold)) - } - } -} - struct BodyFontPicker: View { let title: String @Binding var selection: UniversalFont? diff --git a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/BadgePreview.swift b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/BadgePreview.swift index 46133744..15aa2b7f 100644 --- a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/BadgePreview.swift +++ b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/BadgePreview.swift @@ -13,7 +13,13 @@ struct BadgePreview: View { SUBadge(model: self.model) } Form { - BadgeFontPicker(selection: self.$model.font) + Picker("Font", selection: self.$model.font) { + Text("Default").tag(Optional.none) + Text("Small").tag(UniversalFont.smButton) + Text("Medium").tag(UniversalFont.mdButton) + Text("Large").tag(UniversalFont.lgButton) + Text("Custom: system bold of size 16").tag(UniversalFont.system(size: 16, weight: .bold)) + } ComponentOptionalColorPicker(selection: self.$model.color) ComponentRadiusPicker(selection: self.$model.cornerRadius) { Text("Custom: 20px").tag(ComponentRadius.custom(20)) diff --git a/Sources/ComponentsKit/Components/Badge/Models/BadgeVM.swift b/Sources/ComponentsKit/Components/Badge/Models/BadgeVM.swift index bb5eae8d..a8c900e2 100644 --- a/Sources/ComponentsKit/Components/Badge/Models/BadgeVM.swift +++ b/Sources/ComponentsKit/Components/Badge/Models/BadgeVM.swift @@ -10,29 +10,21 @@ public struct BadgeVM: ComponentVM { /// The visual style of the badge. /// - /// Can be either `.filled` or `.light`. /// Defaults to `.filled`. public var style: Style = .filled /// The font used for the badge's text. /// /// Defaults to `.smButton`. - public var font: UniversalFont? = .smButton + public var font: UniversalFont = .smButton /// The corner radius of the badge. /// /// Defaults to `.medium`. public var cornerRadius: ComponentRadius = .medium - /// Vertical padding for the badge. - /// - /// Defaults to `8`. - public var verticalPadding: CGFloat = 8 - - /// Horizontal padding for the badge. - /// - /// Defaults to `10`. - public var horizontalPadding: CGFloat = 10 + /// Paddings for the badge. + public var paddings: Paddings = .init(horizontal: 10, vertical: 8) /// Initializes a new instance of `BadgeVM` with default values. public init() {} @@ -42,14 +34,12 @@ public struct BadgeVM: ComponentVM { extension BadgeVM { /// Returns the background color of the badge based on its style. - var backgroundColor: UniversalColor? { + var backgroundColor: UniversalColor { switch self.style { case .filled: - let color = self.color?.main ?? .content2 - return color.enabled(true) // Badges are always "enabled" + return self.color?.main ?? .content2 case .light: - let color = self.color?.background ?? .content1 - return color.enabled(true) + return self.color?.background ?? .content1 } } @@ -57,17 +47,9 @@ extension BadgeVM { var foregroundColor: UniversalColor { switch self.style { case .filled: - return (self.color?.contrast ?? .foreground).enabled(true) + return self.color?.contrast ?? .foreground case .light: - return (self.color?.main ?? .foreground).enabled(true) - } - } - - /// Returns the preferred font for the badge text. - var preferredFont: UniversalFont { - if let font { - return font + return self.color?.main ?? .foreground } - return .smButton } } diff --git a/Sources/ComponentsKit/Components/Badge/SUBadge.swift b/Sources/ComponentsKit/Components/Badge/SUBadge.swift index 3d501529..216af4b5 100644 --- a/Sources/ComponentsKit/Components/Badge/SUBadge.swift +++ b/Sources/ComponentsKit/Components/Badge/SUBadge.swift @@ -19,11 +19,10 @@ public struct SUBadge: View { public var body: some View { Text(self.model.title) - .font(self.model.preferredFont.font) - .padding(.vertical, self.model.verticalPadding) - .padding(.horizontal, self.model.horizontalPadding) + .font(self.model.font.font) + .padding(self.model.paddings.edgeInsets) .foregroundStyle(self.model.foregroundColor.color) - .background(self.model.backgroundColor?.color ?? .clear) + .background(self.model.backgroundColor.color) .clipShape( RoundedRectangle(cornerRadius: self.model.cornerRadius.value()) ) From 3baf924051dc33708b7e17bd993b4a336a436f3c Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Mon, 13 Jan 2025 21:00:42 +0400 Subject: [PATCH 060/107] pr fix - layout fix and added shouldUpdateLayout - handleTraitChages deleted - added height for corner radius --- .../Components/Badge/Models/BadgeVM.swift | 9 ++++ .../Components/Badge/UKBadge.swift | 52 ++++++++++--------- 2 files changed, 36 insertions(+), 25 deletions(-) diff --git a/Sources/ComponentsKit/Components/Badge/Models/BadgeVM.swift b/Sources/ComponentsKit/Components/Badge/Models/BadgeVM.swift index a8c900e2..4232dff6 100644 --- a/Sources/ComponentsKit/Components/Badge/Models/BadgeVM.swift +++ b/Sources/ComponentsKit/Components/Badge/Models/BadgeVM.swift @@ -53,3 +53,12 @@ extension BadgeVM { } } } + +// MARK: UIKit Helpers + +extension BadgeVM { + func shouldUpdateLayout(_ oldModel: Self?) -> Bool { + return self.font != oldModel?.font + || self.paddings != oldModel?.paddings + } +} diff --git a/Sources/ComponentsKit/Components/Badge/UKBadge.swift b/Sources/ComponentsKit/Components/Badge/UKBadge.swift index d7192510..42ead0b2 100644 --- a/Sources/ComponentsKit/Components/Badge/UKBadge.swift +++ b/Sources/ComponentsKit/Components/Badge/UKBadge.swift @@ -14,7 +14,7 @@ open class UKBadge: UIView, UKComponent { private var titleLabelConstraints: LayoutConstraints = .init() - // MARK: Subviews + // MARK: - Subviews /// A label that displays the title from the model. public var titleLabel = UILabel() @@ -49,7 +49,6 @@ open class UKBadge: UIView, UKComponent { if #available(iOS 17.0, *) { self.registerForTraitChanges([UITraitUserInterfaceStyle.self]) { (view: Self, _: UITraitCollection) in - view.handleTraitChanges() } } } @@ -64,17 +63,20 @@ open class UKBadge: UIView, UKComponent { // MARK: - Layout private func layout() { - self.titleLabelConstraints = self.titleLabel.horizontally(self.model.horizontalPadding) - self.titleLabel.center() - - self.titleLabelConstraints.leading?.priority = .defaultHigh - self.titleLabelConstraints.trailing?.priority = .defaultHigh + self.titleLabelConstraints = .merged { + self.titleLabel.top(self.model.paddings.top) + self.titleLabel.leading(self.model.paddings.leading) + self.titleLabel.bottom(self.model.paddings.bottom) + self.titleLabel.trailing(self.model.paddings.trailing) + } + + self.titleLabelConstraints.allConstraints.forEach { $0?.priority = .defaultHigh } } open override func layoutSubviews() { super.layoutSubviews() - self.layer.cornerRadius = self.model.cornerRadius.value() + self.layer.cornerRadius = self.model.cornerRadius.value(for: self.bounds.height) } // MARK: - Update @@ -83,11 +85,15 @@ open class UKBadge: UIView, UKComponent { guard self.model != oldModel else { return } self.style() - self.titleLabelConstraints.leading?.constant = self.model.horizontalPadding - self.titleLabelConstraints.trailing?.constant = -self.model.horizontalPadding - - self.invalidateIntrinsicContentSize() - self.setNeedsLayout() + if self.model.shouldUpdateLayout(oldModel) { + self.titleLabelConstraints.leading?.constant = self.model.paddings.leading + self.titleLabelConstraints.top?.constant = self.model.paddings.top + self.titleLabelConstraints.bottom?.constant = -self.model.paddings.bottom + self.titleLabelConstraints.trailing?.constant = -self.model.paddings.trailing + + self.invalidateIntrinsicContentSize() + self.setNeedsLayout() + } } // MARK: - UIView Methods @@ -95,8 +101,11 @@ open class UKBadge: UIView, UKComponent { open override func sizeThatFits(_ size: CGSize) -> CGSize { let contentSize = self.titleLabel.sizeThatFits(size) - let width = contentSize.width + self.model.horizontalPadding * 2 - let height = contentSize.height + self.model.verticalPadding * 2 + let totalWidthPadding = self.model.paddings.leading + self.model.paddings.trailing + let totalHeightPadding = self.model.paddings.top + self.model.paddings.bottom + + let width = contentSize.width + totalWidthPadding + let height = contentSize.height + totalHeightPadding return CGSize( width: min(width, size.width), @@ -106,13 +115,6 @@ open class UKBadge: UIView, UKComponent { open override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) { super.traitCollectionDidChange(previousTraitCollection) - self.handleTraitChanges() - } - - // MARK: - Helpers - - @objc private func handleTraitChanges() { - self.backgroundColor = self.model.backgroundColor?.uiColor } } @@ -121,13 +123,13 @@ open class UKBadge: UIView, UKComponent { extension UKBadge { fileprivate enum Style { static func mainView(_ view: UIView, model: BadgeVM) { - view.backgroundColor = model.backgroundColor?.uiColor - view.layer.cornerRadius = model.cornerRadius.value() + view.backgroundColor = model.backgroundColor.uiColor + view.layer.cornerRadius = model.cornerRadius.value(for: view.bounds.height) } static func titleLabel(_ label: UILabel, model: BadgeVM) { label.textAlignment = .center label.text = model.title - label.font = model.preferredFont.uiFont + label.font = model.font.uiFont label.textColor = model.foregroundColor.uiColor } } From 38a3c07a49f1e87ff74b6d86f13f35387507fdae Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Mon, 13 Jan 2025 21:01:28 +0400 Subject: [PATCH 061/107] swiftlint fix --- Sources/ComponentsKit/Components/Badge/UKBadge.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Sources/ComponentsKit/Components/Badge/UKBadge.swift b/Sources/ComponentsKit/Components/Badge/UKBadge.swift index 42ead0b2..92eb5373 100644 --- a/Sources/ComponentsKit/Components/Badge/UKBadge.swift +++ b/Sources/ComponentsKit/Components/Badge/UKBadge.swift @@ -48,7 +48,7 @@ open class UKBadge: UIView, UKComponent { self.addSubview(self.titleLabel) if #available(iOS 17.0, *) { - self.registerForTraitChanges([UITraitUserInterfaceStyle.self]) { (view: Self, _: UITraitCollection) in + self.registerForTraitChanges([UITraitUserInterfaceStyle.self]) { (_: Self, _: UITraitCollection) in } } } @@ -69,7 +69,7 @@ open class UKBadge: UIView, UKComponent { self.titleLabel.bottom(self.model.paddings.bottom) self.titleLabel.trailing(self.model.paddings.trailing) } - + self.titleLabelConstraints.allConstraints.forEach { $0?.priority = .defaultHigh } } @@ -90,7 +90,7 @@ open class UKBadge: UIView, UKComponent { self.titleLabelConstraints.top?.constant = self.model.paddings.top self.titleLabelConstraints.bottom?.constant = -self.model.paddings.bottom self.titleLabelConstraints.trailing?.constant = -self.model.paddings.trailing - + self.invalidateIntrinsicContentSize() self.setNeedsLayout() } @@ -103,7 +103,7 @@ open class UKBadge: UIView, UKComponent { let totalWidthPadding = self.model.paddings.leading + self.model.paddings.trailing let totalHeightPadding = self.model.paddings.top + self.model.paddings.bottom - + let width = contentSize.width + totalWidthPadding let height = contentSize.height + totalHeightPadding From 7fa7518548f31bddc33f2899984c7c4e8e1ed47b Mon Sep 17 00:00:00 2001 From: Mikhail Date: Tue, 14 Jan 2025 11:38:32 +0100 Subject: [PATCH 062/107] update custom corner radius in badge's preview --- .../DemosApp/ComponentsPreview/PreviewPages/BadgePreview.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/BadgePreview.swift b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/BadgePreview.swift index 15aa2b7f..c27eb21c 100644 --- a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/BadgePreview.swift +++ b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/BadgePreview.swift @@ -22,7 +22,7 @@ struct BadgePreview: View { } ComponentOptionalColorPicker(selection: self.$model.color) ComponentRadiusPicker(selection: self.$model.cornerRadius) { - Text("Custom: 20px").tag(ComponentRadius.custom(20)) + Text("Custom: 4px").tag(ComponentRadius.custom(4)) } Picker("Style", selection: self.$model.style) { Text("Filled").tag(BadgeVM.Style.filled) From 7e9954990e49483796a3350fe38b80cf7d577435 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Tue, 14 Jan 2025 11:46:59 +0100 Subject: [PATCH 063/107] fix warning in `StripesShape` struct --- .../ComponentsKit/Components/ProgressBar/SUProgressBar.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/ComponentsKit/Components/ProgressBar/SUProgressBar.swift b/Sources/ComponentsKit/Components/ProgressBar/SUProgressBar.swift index 005300a1..756d49a4 100644 --- a/Sources/ComponentsKit/Components/ProgressBar/SUProgressBar.swift +++ b/Sources/ComponentsKit/Components/ProgressBar/SUProgressBar.swift @@ -89,7 +89,7 @@ public struct SUProgressBar: View { // MARK: - Helpers -struct StripesShape: Shape { +struct StripesShape: Shape, @unchecked Sendable { var model: ProgressBarVM func path(in rect: CGRect) -> Path { From 47c99d43b8ab8e68bca936efabbc83f70bec0c9c Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Tue, 14 Jan 2025 20:49:30 +0300 Subject: [PATCH 064/107] deleted traitCollectionDidChange --- Sources/ComponentsKit/Components/Badge/UKBadge.swift | 9 --------- 1 file changed, 9 deletions(-) diff --git a/Sources/ComponentsKit/Components/Badge/UKBadge.swift b/Sources/ComponentsKit/Components/Badge/UKBadge.swift index 92eb5373..9088b78e 100644 --- a/Sources/ComponentsKit/Components/Badge/UKBadge.swift +++ b/Sources/ComponentsKit/Components/Badge/UKBadge.swift @@ -46,11 +46,6 @@ open class UKBadge: UIView, UKComponent { private func setup() { self.addSubview(self.titleLabel) - - if #available(iOS 17.0, *) { - self.registerForTraitChanges([UITraitUserInterfaceStyle.self]) { (_: Self, _: UITraitCollection) in - } - } } // MARK: - Style @@ -112,10 +107,6 @@ open class UKBadge: UIView, UKComponent { height: min(height, size.height) ) } - - open override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) { - super.traitCollectionDidChange(previousTraitCollection) - } } // MARK: - Style Helpers From d53eef5278f16e7477c6f059fcfc4352e2ed4539 Mon Sep 17 00:00:00 2001 From: Vislov Ivan Date: Tue, 14 Jan 2025 21:03:33 +0300 Subject: [PATCH 065/107] added paddings picker into preview --- .../ComponentsPreview/PreviewPages/BadgePreview.swift | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/BadgePreview.swift b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/BadgePreview.swift index a146ad8b..3b8ba160 100644 --- a/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/BadgePreview.swift +++ b/Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/BadgePreview.swift @@ -32,6 +32,14 @@ struct BadgePreview: View { Text("Filled").tag(BadgeVM.Style.filled) Text("Light").tag(BadgeVM.Style.light) } + Picker("Paddings", selection: self.$model.paddings) { + Text("8px; 6px") + .tag(Paddings(top: 6, leading: 8, bottom: 6, trailing: 8)) + Text("10px; 8px") + .tag(Paddings(top: 8, leading: 10, bottom: 8, trailing: 10)) + Text("12px; 10px") + .tag(Paddings(top: 10, leading: 12, bottom: 10, trailing: 12)) + } } } } From d28eebd0d5f9eec63ee649dc8567479babdef900 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Wed, 15 Jan 2025 12:45:25 +0100 Subject: [PATCH 066/107] add suavatar implementation and avatar preview --- .../avatar_image.imageset/Contents.json | 21 +++ .../avatar_image.imageset/avatar.jpg | Bin 0 -> 1666044 bytes .../avatar_placeholder.imageset/Contents.json | 21 +++ .../avatar_placeholder.svg | 4 + .../PreviewPages/AvatarPreview.swift | 38 ++++++ Examples/DemosApp/DemosApp/Core/App.swift | 3 + .../Avatar/Helpers/ImageLoader.swift | 22 ++++ .../Avatar/Models/AvatarImageSource.swift | 8 ++ .../Avatar/Models/AvatarPlaceholder.swift | 7 +- .../Components/Avatar/Models/AvatarVM.swift | 124 ++++++++++++++++-- .../Avatar/Models/ImageRepresentable.swift | 9 -- .../Components/Avatar/SUAvatar.swift | 85 ++++++++++++ .../Resources/Assets.xcassets/Contents.json | 6 + .../avatar_placeholder.imageset/Contents.json | 21 +++ .../avatar_placeholder.svg | 4 + 15 files changed, 353 insertions(+), 20 deletions(-) create mode 100644 Examples/DemosApp/DemosApp/Assets.xcassets/avatar_image.imageset/Contents.json create mode 100644 Examples/DemosApp/DemosApp/Assets.xcassets/avatar_image.imageset/avatar.jpg create mode 100644 Examples/DemosApp/DemosApp/Assets.xcassets/avatar_placeholder.imageset/Contents.json create mode 100644 Examples/DemosApp/DemosApp/Assets.xcassets/avatar_placeholder.imageset/avatar_placeholder.svg create mode 100644 Examples/DemosApp/DemosApp/ComponentsPreview/PreviewPages/AvatarPreview.swift create mode 100644 Sources/ComponentsKit/Components/Avatar/Helpers/ImageLoader.swift create mode 100644 Sources/ComponentsKit/Components/Avatar/Models/AvatarImageSource.swift delete mode 100644 Sources/ComponentsKit/Components/Avatar/Models/ImageRepresentable.swift create mode 100644 Sources/ComponentsKit/Components/Avatar/SUAvatar.swift create mode 100644 Sources/ComponentsKit/Resources/Assets.xcassets/Contents.json create mode 100644 Sources/ComponentsKit/Resources/Assets.xcassets/avatar_placeholder.imageset/Contents.json create mode 100644 Sources/ComponentsKit/Resources/Assets.xcassets/avatar_placeholder.imageset/avatar_placeholder.svg diff --git a/Examples/DemosApp/DemosApp/Assets.xcassets/avatar_image.imageset/Contents.json b/Examples/DemosApp/DemosApp/Assets.xcassets/avatar_image.imageset/Contents.json new file mode 100644 index 00000000..2458a635 --- /dev/null +++ b/Examples/DemosApp/DemosApp/Assets.xcassets/avatar_image.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "avatar.jpg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Examples/DemosApp/DemosApp/Assets.xcassets/avatar_image.imageset/avatar.jpg b/Examples/DemosApp/DemosApp/Assets.xcassets/avatar_image.imageset/avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7df42a26f1d19759825366b6fb13c64215514fac GIT binary patch literal 1666044 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�-?avMv5hlV>oj)x|OWL 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�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