A highly customizable welcome window built for NSDocument
-based macOS applications. Designed to provide a native and elegant welcome experience for your app at launch, with support for new/open document actions, drag-and-drop, and dynamic layouts.
This package is fully documented here.
To use WelcomeWindow
, simply add it to your app.
WelcomeWindow(
actions: { dismiss in
WelcomeActionView(
iconName: "circle.fill",
title: "New Text Document",
action: {
NSDocumentController.shared.createNewDocumentWithDialog(
configuration: .init(title: "Create new text document"),
onCompletion: { dismiss() }
)
}
)
WelcomeActionView(
iconName: "triangle.fill",
title: "Open Text Document or Folder",
action: {
NSDocumentController.shared.openDocumentWithDialog(
configuration: .init(canChooseDirectories: true),
onDialogPresented: { dismiss() },
onCancel: { openWindow(id: "welcome") }
)
}
)
},
onDrop: { url, dismiss in
print("File dropped at: \(url.path)")
Task {
NSDocumentController.shared.openDocument(at: url, onCompletion: { dismiss() })
}
}
)
Licensed under the MIT license