From 28980a42242c1310f32482a30d1e461811199b37 Mon Sep 17 00:00:00 2001 From: David Roman <2538074+davdroman@users.noreply.github.com> Date: Mon, 3 Nov 2025 16:27:29 +0000 Subject: [PATCH 1/3] WIP --- .editorconfig | 9 +++++++++ Sources/ConfettiSwiftUI.swift | 34 +++++++++++++++++++++------------- 2 files changed, 30 insertions(+), 13 deletions(-) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..e272efe --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +# editorconfig.org + +root = true + +[*] +indent_style = space +indent_size = 4 +trim_trailing_whitespace = true +insert_final_newline = true diff --git a/Sources/ConfettiSwiftUI.swift b/Sources/ConfettiSwiftUI.swift index 8a58ed5..97f6bc8 100644 --- a/Sources/ConfettiSwiftUI.swift +++ b/Sources/ConfettiSwiftUI.swift @@ -7,8 +7,8 @@ import SwiftUI -public enum ConfettiType:CaseIterable, Hashable { - +public enum ConfettiType:CaseIterable, Equatable { + public enum Shape { case circle case triangle @@ -19,27 +19,35 @@ public enum ConfettiType:CaseIterable, Hashable { case shape(Shape) case text(String) + case image(Image) + + @available(*, deprecated, message: "Use the Image version of ConfettiType.image(_:) with Image(systemName:) instead") case sfSymbol(symbolName: String) - case image(String) - - public var view:AnyView{ + + @available(*, deprecated, message: "Use the Image version of ConfettiType.image(_:) instead") + static func image(_ name: String) -> ConfettiType { + return .image(Image(name)) + } + + @ViewBuilder + public var view: some View { switch self { case .shape(.square): - return AnyView(Rectangle()) + Rectangle() case .shape(.triangle): - return AnyView(Triangle()) + Triangle() case .shape(.slimRectangle): - return AnyView(SlimRectangle()) + SlimRectangle() case .shape(.roundedCross): - return AnyView(RoundedCross()) + RoundedCross() case let .text(text): - return AnyView(Text(text)) + Text(text) case .sfSymbol(let symbolName): - return AnyView(Image(systemName: symbolName)) + Image(systemName: symbolName) case .image(let image): - return AnyView(Image(image).resizable()) + image.resizable() default: - return AnyView(Circle()) + Circle() } } From 960455227921e31d0590cbc18782eface479bbb1 Mon Sep 17 00:00:00 2001 From: David Roman <2538074+davdroman@users.noreply.github.com> Date: Mon, 3 Nov 2025 16:37:47 +0000 Subject: [PATCH 2/3] WIP --- Sources/ConfettiSwiftUI.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Sources/ConfettiSwiftUI.swift b/Sources/ConfettiSwiftUI.swift index 97f6bc8..dbcb3b4 100644 --- a/Sources/ConfettiSwiftUI.swift +++ b/Sources/ConfettiSwiftUI.swift @@ -21,10 +21,10 @@ public enum ConfettiType:CaseIterable, Equatable { case text(String) case image(Image) - @available(*, deprecated, message: "Use the Image version of ConfettiType.image(_:) with Image(systemName:) instead") + @available(*, deprecated, message: "Use ConfettiType.image(_:) with Image(systemName:) instead") case sfSymbol(symbolName: String) - @available(*, deprecated, message: "Use the Image version of ConfettiType.image(_:) instead") + @available(*, deprecated, message: "Use ConfettiType.image(_:) with an Image instead") static func image(_ name: String) -> ConfettiType { return .image(Image(name)) } From af28b67152f0374c1899c0582535f3aed61b72f3 Mon Sep 17 00:00:00 2001 From: David Roman <2538074+davdroman@users.noreply.github.com> Date: Mon, 3 Nov 2025 16:43:42 +0000 Subject: [PATCH 3/3] WIP --- Sources/ConfettiSwiftUI.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/ConfettiSwiftUI.swift b/Sources/ConfettiSwiftUI.swift index dbcb3b4..f97d20c 100644 --- a/Sources/ConfettiSwiftUI.swift +++ b/Sources/ConfettiSwiftUI.swift @@ -25,7 +25,7 @@ public enum ConfettiType:CaseIterable, Equatable { case sfSymbol(symbolName: String) @available(*, deprecated, message: "Use ConfettiType.image(_:) with an Image instead") - static func image(_ name: String) -> ConfettiType { + public static func image(_ name: String) -> ConfettiType { return .image(Image(name)) }