[package]
description = "Winit's Web (WebAssembly) backend"
documentation = "https://docs.rs/winit-web"
edition.workspace = true
include = [
    "/src",
    "!/src/platform_impl/web/script",
    "/src/platform_impl/web/script/**/*.min.js",
    "README.md",
]
license.workspace = true
name = "winit-web"
repository.workspace = true
rust-version.workspace = true
version.workspace = true

[features]
serde = ["dep:serde", "bitflags/serde", "smol_str/serde", "dpi/serde"]

[dependencies]
bitflags.workspace = true
cursor-icon.workspace = true
dpi.workspace = true
rwh_06.workspace = true
serde = { workspace = true, optional = true }
smol_str.workspace = true
tracing.workspace = true
winit-core.workspace = true

# Platform-specific
js-sys.workspace = true
pin-project.workspace = true
wasm-bindgen.workspace = true
wasm-bindgen-futures.workspace = true
web-time.workspace = true
web_sys = { workspace = true, features = [
    "AbortController",
    "AbortSignal",
    "Blob",
    "BlobPropertyBag",
    "console",
    "CssStyleDeclaration",
    "Document",
    "DomException",
    "DomRect",
    "DomRectReadOnly",
    "Element",
    "Event",
    "EventTarget",
    "FocusEvent",
    "HtmlCanvasElement",
    "HtmlElement",
    "HtmlHtmlElement",
    "HtmlImageElement",
    "ImageBitmap",
    "ImageBitmapOptions",
    "ImageBitmapRenderingContext",
    "ImageData",
    "IntersectionObserver",
    "IntersectionObserverEntry",
    "KeyboardEvent",
    "MediaQueryList",
    "MessageChannel",
    "MessagePort",
    "Navigator",
    "Node",
    "OrientationLockType",
    "OrientationType",
    "PageTransitionEvent",
    "Permissions",
    "PermissionState",
    "PermissionStatus",
    "PointerEvent",
    "PremultiplyAlpha",
    "ResizeObserver",
    "ResizeObserverBoxOptions",
    "ResizeObserverEntry",
    "ResizeObserverOptions",
    "ResizeObserverSize",
    "Screen",
    "ScreenOrientation",
    "Url",
    "VisibilityState",
    "WheelEvent",
    "Window",
    "Worker",
] }

[target.'cfg(target_feature = "atomics")'.dependencies]
atomic-waker.workspace = true
concurrent-queue.workspace = true

[package.metadata.docs.rs]
all-features = true
targets = ["wasm32-unknown-unknown"]
