gh-EmergeTools-Pow/Example/Pow Example/Examples/Transitions/PoofExample.swift
Joe Fabisevich 5b95fe95b0
Moving Pow to @emergetools (#36)
Co-authored-by: Robert Böhnke <robb@robb.is>
Co-authored-by: Kasper Lahti <kasper@lahti.email>
2023-11-29 12:08:53 -03:00

35 lines
876 B
Swift

import Pow
import SwiftUI
struct PoofExample: View, Example {
@State
var isVisible: Bool = false
var body: some View {
ZStack {
if isVisible {
PlaceholderView()
.compositingGroup()
// Assign a random ID so that quick re-insertion will not
// play the poof transition backwards.
.id(UUID())
.transition(
.asymmetric(insertion: .opacity, removal: .movingParts.poof)
)
}
}
.defaultBackground()
.onTapGesture {
withAnimation {
isVisible.toggle()
}
}
.autotoggle($isVisible)
}
static let localPath = LocalPath()
static var icon: Image? {
Image(systemName: "trash")
}
}