diff --git a/Sources/ComponentsKit/Components/Button/SUButton.swift b/Sources/ComponentsKit/Components/Button/SUButton.swift index 6339993..2c253d0 100644 --- a/Sources/ComponentsKit/Components/Button/SUButton.swift +++ b/Sources/ComponentsKit/Components/Button/SUButton.swift @@ -139,7 +139,7 @@ private struct CustomButtonStyle: SwiftUI.ButtonStyle { RoundedRectangle( cornerRadius: self.model.cornerRadius.value() ) - .stroke( + .strokeBorder( self.model.borderColor?.color ?? .clear, lineWidth: self.model.borderWidth ) diff --git a/Sources/ComponentsKit/Components/Card/SUCard.swift b/Sources/ComponentsKit/Components/Card/SUCard.swift index 0f1934b..13cb8c5 100644 --- a/Sources/ComponentsKit/Components/Card/SUCard.swift +++ b/Sources/ComponentsKit/Components/Card/SUCard.swift @@ -59,22 +59,19 @@ public struct SUCard: View { .shadow(self.model.shadow) .observeSize { self.contentSize = $0 } .contentShape(.rect) - .gesture( + .onTapGesture { + guard self.model.isTappable else { return } + self.onTap() + } + .simultaneousGesture( DragGesture(minimumDistance: 0.0) .onChanged { _ in - guard self.model.isTappable else { return } self.isPressed = true } - .onEnded { value in - guard self.model.isTappable else { return } - - defer { self.isPressed = false } - - if CGRect(origin: .zero, size: self.contentSize) - .contains(value.location) { - self.onTap() - } - } + .onEnded { _ in + self.isPressed = false + }, + isEnabled: self.model.isTappable ) .scaleEffect( self.isPressed ? self.model.animationScale.value : 1, diff --git a/Sources/ComponentsKit/Components/Checkbox/SUCheckbox.swift b/Sources/ComponentsKit/Components/Checkbox/SUCheckbox.swift index 56db027..cd6e438 100644 --- a/Sources/ComponentsKit/Components/Checkbox/SUCheckbox.swift +++ b/Sources/ComponentsKit/Components/Checkbox/SUCheckbox.swift @@ -56,7 +56,7 @@ public struct SUCheckbox: View { } .overlay { RoundedRectangle(cornerRadius: self.model.checkboxCornerRadius) - .stroke( + .strokeBorder( self.model.borderColor.color, lineWidth: self.model.borderWidth ) diff --git a/Sources/ComponentsKit/Components/InputField/SUInputField.swift b/Sources/ComponentsKit/Components/InputField/SUInputField.swift index a2a58b3..3c59879 100644 --- a/Sources/ComponentsKit/Components/InputField/SUInputField.swift +++ b/Sources/ComponentsKit/Components/InputField/SUInputField.swift @@ -99,7 +99,7 @@ public struct SUInputField: View { RoundedRectangle( cornerRadius: self.model.cornerRadius.value() ) - .stroke( + .strokeBorder( self.model.borderColor.color, lineWidth: self.model.borderWidth ) diff --git a/Sources/ComponentsKit/Components/Modal/SwiftUI/Helpers/ModalPresentationModifier.swift b/Sources/ComponentsKit/Components/Modal/SwiftUI/Helpers/ModalPresentationModifier.swift index 0d99bfa..b617628 100644 --- a/Sources/ComponentsKit/Components/Modal/SwiftUI/Helpers/ModalPresentationModifier.swift +++ b/Sources/ComponentsKit/Components/Modal/SwiftUI/Helpers/ModalPresentationModifier.swift @@ -23,6 +23,9 @@ struct ModalPresentationModifier: ViewModifier { func body(content: Content) -> some View { content + .transaction { + $0.disablesAnimations = false + } .onAppear { if self.isContentVisible { self.isPresented = true diff --git a/Sources/ComponentsKit/Components/Modal/SwiftUI/Helpers/ModalPresentationWithItemModifier.swift b/Sources/ComponentsKit/Components/Modal/SwiftUI/Helpers/ModalPresentationWithItemModifier.swift index d6b6eed..63f6b4e 100644 --- a/Sources/ComponentsKit/Components/Modal/SwiftUI/Helpers/ModalPresentationWithItemModifier.swift +++ b/Sources/ComponentsKit/Components/Modal/SwiftUI/Helpers/ModalPresentationWithItemModifier.swift @@ -23,6 +23,9 @@ struct ModalPresentationWithItemModifier: ViewM func body(content: Content) -> some View { content + .transaction { + $0.disablesAnimations = false + } .onAppear { self.presentedItem = self.visibleItem } diff --git a/Sources/ComponentsKit/Components/Modal/SwiftUI/ModalContent.swift b/Sources/ComponentsKit/Components/Modal/SwiftUI/ModalContent.swift index 50b7fa5..96ab9a8 100644 --- a/Sources/ComponentsKit/Components/Modal/SwiftUI/ModalContent.swift +++ b/Sources/ComponentsKit/Components/Modal/SwiftUI/ModalContent.swift @@ -59,7 +59,7 @@ struct ModalContent: View { .clipShape(RoundedRectangle(cornerRadius: self.model.cornerRadius.value)) .overlay( RoundedRectangle(cornerRadius: self.model.cornerRadius.value) - .stroke(UniversalColor.divider.color, lineWidth: self.model.borderWidth.value) + .strokeBorder(UniversalColor.divider.color, lineWidth: self.model.borderWidth.value) ) .padding(self.model.outerPaddings.edgeInsets) } diff --git a/Sources/ComponentsKit/Components/TextInput/SUTextInput.swift b/Sources/ComponentsKit/Components/TextInput/SUTextInput.swift index bd90dcb..02d37e7 100644 --- a/Sources/ComponentsKit/Components/TextInput/SUTextInput.swift +++ b/Sources/ComponentsKit/Components/TextInput/SUTextInput.swift @@ -137,7 +137,7 @@ public struct SUTextInput: View { RoundedRectangle( cornerRadius: self.model.cornerRadius.value() ) - .stroke( + .strokeBorder( self.model.borderColor.color, lineWidth: self.model.borderWidth )