[package]
name = "blitz-shell"
description = "Blitz application shell"
documentation = "https://docs.rs/blitz-shell"
version.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
categories.workspace = true
edition.workspace = true
rust-version.workspace = true

[features]
default = ["accessibility", "clipboard", "file_dialog"]
accessibility = [
    "dep:accesskit",
    "dep:accesskit_xplat",
    "blitz-dom/accessibility",
]
clipboard = ["dep:arboard"]
tracing = ["dep:tracing", "blitz-dom/tracing"]
file_dialog = ["dep:rfd"]
# Enables a data-uri-only NetProvider. Only needed if you aren't using the regular NetProvider
data-uri = ["dep:data-url"]

[dependencies]
# Blitz dependencies
blitz-traits = { workspace = true }
blitz-dom = { workspace = true }
blitz-paint = { workspace = true }
anyrender = { workspace = true }

# Windowing & Input
winit = { workspace = true }
keyboard-types = { workspace = true }
accesskit = { workspace = true, optional = true }
accesskit_xplat = { workspace = true, optional = true }

# Other dependencies
tracing = { workspace = true, optional = true }
futures-util = { workspace = true }
data-url = { workspace = true, optional = true }

[target.'cfg(target_os = "android")'.dependencies]
android-activity = { version = "0.6.0" }

[target.'cfg(any(target_os = "windows",target_os = "macos",target_os = "linux",target_os = "dragonfly", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd"))'.dependencies]
arboard = { workspace = true, optional = true }


[target.'cfg(any(target_os = "windows",target_os = "macos",target_os = "linux",target_os = "freebsd", target_os = "dragonfly", target_os = "netbsd", target_os = "openbsd"))'.dependencies]
rfd = { workspace = true, optional = true, features = ["xdg-portal"] }

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
