gh-EmergeTools-Pow/Example/Pow Example/Examples/Transitions/PoofExample.swift
Joe Fabisevich 781d455727
Moving Pow to @emergetools
Co-authored-by: Robert Böhnke <robb@robb.is>
Co-authored-by: Kasper Lahti <kasper@lahti.email>
2023-11-29 09:38:34 -05: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")
}
}