content: [package]
  name          = "uibeam"
  documentation = "https://docs.rs/uibeam"
  description   = "A lightweight, JSX-style Web UI library for Rust"
  version       = { workspace = true }
  edition       = { workspace = true }
  authors       = { workspace = true }
  homepage      = { workspace = true }
  repository    = { workspace = true }
  readme        = { workspace = true }
  license       = { workspace = true }
  keywords      = { workspace = true }
  categories    = { workspace = true }
  
  [package.metadata.docs.rs]
  all-features = true
  
  [features]
  laser = [
      "uibeam_macros/laser",
      "dep:serde", "dep:serde_json", "dep:serde-wasm-bindgen",
      "dep:wasm-bindgen", "dep:js-sys", "dep:web-sys"
  ]
  __integration__ = ["dep:http", "dep:mime"]
  axum      = ["__integration__", "dep:axum-core"]
  actix-web = ["__integration__", "dep:actix-web"]
  
  [dependencies]
  uibeam_html   = { path = "../uibeam_html",   version = "=0.3.0" }
  uibeam_macros = { path = "../uibeam_macros", version = "=0.3.0" }
  
  # for islands
  serde              = { optional = true, version = "1.0" }
  serde_json         = { optional = true, version = "1.0" }
  wasm-bindgen       = { optional = true, version = "0.2" }
  serde-wasm-bindgen = { optional = true, version = "0.6" }
  js-sys             = { optional = true, version = "0.3" }
  web-sys            = { optional = true, version = "0.3", features = [
      "console", "Window", "Document", "Element", "Text",
      "Event",
      "AnimationEvent",
      "ClipboardEvent",
      "CompositionEvent",
      "FocusEvent",
      "InputEvent",
      "KeyboardEvent",
      "MouseEvent",
      "PointerEvent",
      "TouchEvent",
      "TransitionEvent",
      "UiEvent",
      "WheelEvent",
  ] }
  
  # for integrations
  http = { optional = true, version = "1.3.1" }
  mime = { optional = true, version = "0.3.17" }
  
  [dependencies.axum-core]
  optional         = true
  default-features = false
  version          = "0.5.2"
  
  [dependencies.actix-web]
  optional         = true
  default-features = false
  version          = "4.11.0"
  
  [dev-dependencies]
  tokio      = { version = "1.45.0", features = ["rt-multi-thread", "net", "macros"] }
  axum       = { version = "0.8.4" }
  actix-web  = { version = "4.11.0", default-features = false, features = ["macros"] }
  tower-http = { version = "0.6.4", features = ["fs"] } # [2025-05-19] build fails without `default-features = false`
  web-sys    = { version = "0.3", features = ["HtmlInputElement"] } # for doc tests around Lasers
  