[package]
edition = "2024"
name = "cranpose-ui"
version = "0.9.21"
authors = ["Dmitry Samoylenko"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Composable widgets, text, layouts and input for Cranpose apps"
homepage = "https://samoylenkodmitry.github.io/cranpose/"
readme = "README.md"
keywords = [
"gui",
"ui",
"compose",
"declarative",
"framework",
]
categories = ["gui"]
license = "Apache-2.0 OR MIT"
repository = "https://github.com/samoylenkodmitry/cranpose"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = []
inspection = ["cranpose-core/inspection"]
localization = [
"dep:cranpose-localization",
"cranpose-macros/localization",
]
localization-formatting = [
"localization",
"cranpose-localization/formatting",
]
svg = ["dep:tiny-skia"]
test-helpers = []
[lib]
name = "cranpose_ui"
path = "src/lib.rs"
[[example]]
name = "modifier_demo"
path = "examples/modifier_demo.rs"
[[example]]
name = "modifier_showcase"
path = "examples/modifier_showcase.rs"
[[example]]
name = "test_node_duplication"
path = "examples/test_node_duplication.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[[test]]
name = "allocations"
path = "tests/allocations/main.rs"
[[bench]]
name = "layout_keep"
path = "benches/layout_keep.rs"
harness = false
[[bench]]
name = "lazy_scroll"
path = "benches/lazy_scroll.rs"
harness = false
[[bench]]
name = "localization"
path = "benches/localization.rs"
harness = false
required-features = ["localization"]
[[bench]]
name = "pipeline"
path = "benches/pipeline.rs"
harness = false
[[bench]]
name = "scope_cost"
path = "benches/scope_cost.rs"
harness = false
[[bench]]
name = "skip_recomposition"
path = "benches/skip_recomposition.rs"
harness = false
[[bench]]
name = "slot_table_v2"
path = "benches/slot_table_v2.rs"
harness = false
[dependencies.cranpose-animation]
version = "0.9.21"
[dependencies.cranpose-core]
version = "0.9.21"
features = ["internal"]
[dependencies.cranpose-foundation]
version = "0.9.21"
[dependencies.cranpose-localization]
version = "0.9.21"
optional = true
[dependencies.cranpose-macros]
version = "0.9.21"
[dependencies.cranpose-ui-graphics]
version = "0.9.21"
[dependencies.cranpose-ui-layout]
version = "0.9.21"
[dependencies.futures-task]
version = "0.3"
[dependencies.icu_properties]
version = "2.3"
features = ["compiled_data"]
default-features = false
[dependencies.log]
version = "0.4"
[dependencies.smallvec]
version = "1.16"
[dependencies.thiserror]
version = "2.0.21"
[dependencies.tiny-skia]
version = "0.12.0"
features = [
"std",
"simd",
]
optional = true
default-features = false
[dependencies.web-time]
version = "1.1"
[dev-dependencies.criterion]
version = "0.8"
[dev-dependencies.stats_alloc]
version = "0.1.10"
[lints.clippy]
assigning_clones = "warn"
clone_on_copy = "deny"
cloned_instead_of_copied = "warn"
dbg_macro = "deny"
elidable_lifetime_names = "warn"
explicit_iter_loop = "warn"
ignored_unit_patterns = "warn"
manual_assert = "warn"
manual_let_else = "warn"
map_unwrap_or = "warn"
needless_raw_string_hashes = "warn"
or_fun_call = "warn"
redundant_clone = "warn"
redundant_closure_for_method_calls = "warn"
redundant_locals = "deny"
semicolon_if_nothing_returned = "warn"
todo = "deny"
uninlined_format_args = "warn"
unnested_or_patterns = "warn"
[lints.rust]
linker_messages = "deny"
unsafe_code = "deny"