macbackend/Sources/Core/View/NavigationSplitView.swift
david-swift 3d2ef52cc8
Some checks failed
Deploy Docs / publish (push) Successful in 3m4s
SwiftLint / SwiftLint (push) Failing after 9s
Extract core target
2024-12-04 21:17:21 +01:00

47 lines
1.1 KiB
Swift

//
// NavigationSplitView.swift
// MacBackend
//
// Created by david-swift on 18.09.2024.
//
import SwiftUI
/// A navigation split view widget.
public struct NavigationSplitView: SwiftUIWidget {
/// The sidebar view.
var sidebar: Body
/// The detail view.
var detail: Body
/// The wrapped views.
public var wrappedViews: [String: Meta.AnyView] {
["sidebar": sidebar, "detail": detail]
}
/// Initialize the navigation split view.
/// - Parameters:
/// - sidebar: The sidebar view.
/// - detail: The detail view.
public init(
@Meta.ViewBuilder sidebar: () -> Body,
@Meta.ViewBuilder detail: () -> Body
) {
self.detail = detail()
self.sidebar = sidebar()
}
/// Get the SwiftUI view.
/// - Parameter properties: The widget data.
/// - Returns: The SwiftUI view.
public static func view(properties: Self) -> some SwiftUI.View {
SwiftUI.NavigationSplitView {
MacBackendView("sidebar")
} detail: {
MacBackendView("detail")
}
}
}