[package]
name = "leptos_router"
version = "0.4.8"
edition = "2021"
authors = ["Greg Johnston"]
license = "MIT"
readme = "../README.md"
repository = "https://github.com/leptos-rs/leptos"
description = "Router for the Leptos web framework."

[dependencies]
leptos = { workspace = true }
cached = { version = "0.44.0", optional = true }
cfg-if = "1"
common_macros = "0.1"
gloo-net = { version = "0.2", features = ["http"] }
lazy_static = "1"
linear-map = { version = "1", features = ["serde_impl"] }
log = "0.4"
once_cell = "1.18"
regex = { version = "1", optional = true }
url = { version = "2", optional = true }
percent-encoding = "2"
thiserror = "1"
serde_qs = "0.12"
serde = "1"
tracing = "0.1"
js-sys = { version = "0.3" }
wasm-bindgen = { version = "0.2" }
wasm-bindgen-futures = { version = "0.4" }
lru = { version = "0.10", optional = true }
serde_json = "1.0.96"

[dependencies.web-sys]
version = "0.3"
features = [
  # History/Routing
  "History",
  "HtmlAnchorElement",
  "MouseEvent",
  "Url",
  # Form
  "FormData",
  "HtmlButtonElement",
  "HtmlFormElement",
  "HtmlInputElement",
  "SubmitEvent",
  "Url",
  "UrlSearchParams",
  # Fetching in Hydrate Mode
  "Headers",
  "Request",
  "RequestInit",
  "RequestMode",
  "Response",
  "Window",
]

[features]
default = []
csr = ["leptos/csr"]
hydrate = ["leptos/hydrate"]
ssr = ["leptos/ssr", "dep:cached", "dep:lru", "dep:url", "dep:regex"]
nightly = ["leptos/nightly"]

[package.metadata.cargo-all-features]
# No need to test optional dependencies as they are enabled by the ssr feature
denylist = ["url", "regex", "nightly"]
skip_feature_sets = [["csr", "ssr"], ["csr", "hydrate"], ["ssr", "hydrate"]]
