[package]
edition = "2024"
rust-version = "1.95"
name = "telar"
version = "0.2.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A modular Rust UI framework with its own template language, reactive signals and a self-contained renderer."
readme = "README.md"
keywords = [
"ui",
"gui",
"framework",
"reactive",
"declarative",
]
categories = [
"gui",
"rendering",
"graphics",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/AdrielGBM/telar"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
a11y = ["platform-desktop?/a11y"]
android = [
"android-bare",
"hardware",
"software",
]
android-bare = [
"runtime",
"dep:platform-android",
]
async-assets = [
"runtime",
"ui-core/async-assets",
]
clipboard = ["platform-desktop?/clipboard"]
clipboard-wayland = [
"clipboard",
"platform-desktop?/clipboard-wayland",
]
components = [
"components-base",
"components-overlays",
"components-chrome",
"components-advanced",
]
components-advanced = [
"components-base",
"ui-components/advanced",
]
components-base = [
"runtime",
"dep:ui-components",
]
components-chrome = [
"components-base",
"ui-components/chrome",
]
components-overlays = [
"components-base",
"ui-components/overlays",
]
default = ["desktop"]
desktop = [
"desktop-bare",
"hardware",
"software",
"a11y",
"clipboard-wayland",
"dialogs",
"system-theme",
]
desktop-bare = [
"runtime",
"dep:platform-desktop",
]
dev = [
"runtime",
"platform-core/dylib",
"dep:telar-devtools",
"dep:libloading",
"dep:serde_json",
]
di = ["services-core/di"]
dialogs = ["platform-desktop?/dialogs"]
document-features = ["dep:document-features"]
hardware = [
"runtime",
"shaper",
"dep:renderer-hardware",
"dep:platform-headless",
]
headless = [
"runtime",
"software",
"dep:platform-headless",
]
hot-reload = [
"dev",
"desktop-bare",
"telar-macros/hot-reload",
]
navigate = [
"runtime",
"dep:navigate-core",
]
preview = [
"previews",
"desktop-bare",
]
preview-headless = [
"previews",
"headless",
]
previews = [
"runtime",
"telar-macros/preview",
]
runtime = [
"dep:platform-core",
"dep:renderer-core",
"dep:renderer-assets",
"dep:reactive-core",
"dep:layout-core",
"dep:theme-core",
"dep:ui-core",
"dep:ui-tree",
"dep:geometry-core",
"dep:toml",
"dep:tracing",
"dep:libc",
]
runtime-catalog = ["i18n-core/runtime-catalog"]
shaper = [
"runtime",
"dep:renderer-text",
]
software = [
"runtime",
"dep:renderer-software",
"shaper",
]
svg = ["ui-core?/svg"]
system-theme = ["platform-desktop?/system-theme"]
testing = ["runtime"]
tui = [
"runtime",
"dep:platform-tui",
"dep:renderer-tui",
"services-core/system-paths",
]
watch = [
"runtime",
"dep:notify",
]
web = [
"web-dom",
"shaper",
"dep:renderer-web",
]
web-dom = [
"runtime",
"dep:platform-web",
"dep:renderer-dom",
]
[lib]
name = "telar"
path = "src/lib.rs"
[[test]]
name = "component"
path = "src/component_test.rs"
[[test]]
name = "devtools_seam"
path = "src/devtools_seam_test.rs"
[[test]]
name = "frame_budget"
path = "src/frame_budget_test.rs"
[[test]]
name = "headless_multi_surface"
path = "src/headless_multi_surface_test.rs"
[[test]]
name = "headless_pixels"
path = "src/headless_pixels_test.rs"
[[test]]
name = "headless_spawn_task"
path = "src/headless_spawn_task_test.rs"
[[test]]
name = "installed_renderer"
path = "src/installed_renderer_test.rs"
[[test]]
name = "local_tree_repaints"
path = "src/local_tree_repaints_test.rs"
[[test]]
name = "max_width_wrapping"
path = "src/max_width_wrapping_test.rs"
[[test]]
name = "path_lays_out"
path = "src/path_lays_out_test.rs"
[[test]]
name = "text_style_baseline"
path = "src/text_style_baseline_test.rs"
[[test]]
name = "texture_ui"
path = "src/texture_ui_test.rs"
[[test]]
name = "theme_repaints"
path = "src/theme_repaints_test.rs"
[[test]]
name = "watch_path"
path = "src/watch_path_test.rs"
[dependencies.document-features]
version = "0.2.12"
optional = true
[dependencies.geometry-core]
version = "0.2.0"
optional = true
package = "telar-geometry-core"
[dependencies.i18n-core]
version = "0.2.0"
package = "telar-i18n-core"
[dependencies.layout-core]
version = "0.2.0"
optional = true
package = "telar-layout-core"
[dependencies.libloading]
version = "0.8"
optional = true
[dependencies.motion-core]
version = "0.2.0"
package = "telar-motion-core"
[dependencies.navigate-core]
version = "0.2.0"
optional = true
package = "telar-navigate-core"
[dependencies.notify]
version = "8.2.0"
optional = true
[dependencies.platform-core]
version = "0.2.0"
optional = true
package = "telar-platform-core"
[dependencies.platform-headless]
version = "0.2.0"
optional = true
package = "telar-platform-headless"
[dependencies.platform-tui]
version = "0.2.0"
optional = true
package = "telar-platform-tui"
[dependencies.raw-window-handle]
version = "0.6"
[dependencies.reactive-core]
version = "0.2.0"
optional = true
package = "telar-reactive-core"
[dependencies.renderer-assets]
version = "0.2.0"
optional = true
package = "telar-renderer-assets"
[dependencies.renderer-core]
version = "0.2.0"
optional = true
package = "telar-renderer-core"
[dependencies.renderer-hardware]
version = "0.2.0"
optional = true
package = "telar-renderer-hardware"
[dependencies.renderer-software]
version = "0.2.0"
optional = true
package = "telar-renderer-software"
[dependencies.renderer-text]
version = "0.2.0"
optional = true
package = "telar-renderer-text"
[dependencies.renderer-tui]
version = "0.2.0"
optional = true
package = "telar-renderer-tui"
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.151"
optional = true
[dependencies.services-core]
version = "0.2.0"
package = "telar-services-core"
[dependencies.telar-devtools]
version = "0.2.0"
optional = true
[dependencies.telar-macros]
version = "0.2.0"
[dependencies.theme-core]
version = "0.2.0"
optional = true
package = "telar-theme-core"
[dependencies.toml]
version = "1.1.2"
optional = true
[dependencies.tracing]
version = "0.1.44"
features = ["log"]
optional = true
[dependencies.ui-components]
version = "0.2.0"
optional = true
default-features = false
package = "telar-ui-components"
[dependencies.ui-core]
version = "0.2.0"
optional = true
package = "telar-ui-core"
[dependencies.ui-tree]
version = "0.2.0"
optional = true
package = "telar-ui-tree"
[dependencies.web-time]
version = "1.1.0"
[dev-dependencies.platform-headless]
version = "0.2.0"
package = "telar-platform-headless"
[dev-dependencies.renderer-record]
version = "0.2.0"
package = "telar-renderer-record"
[target.'cfg(all(not(target_os = "android"), not(target_arch = "wasm32")))'.dependencies.platform-desktop]
version = "0.2.0"
optional = true
default-features = false
package = "telar-platform-desktop"
[target.'cfg(all(unix, not(target_os = "android")))'.dependencies.libc]
version = "0.2.189"
optional = true
[target.'cfg(target_arch = "wasm32")'.dependencies.platform-web]
version = "0.2.0"
optional = true
package = "telar-platform-web"
[target.'cfg(target_arch = "wasm32")'.dependencies.renderer-dom]
version = "0.2.0"
optional = true
package = "telar-renderer-dom"
[target.'cfg(target_arch = "wasm32")'.dependencies.renderer-web]
version = "0.2.0"
optional = true
package = "telar-renderer-web"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4"
[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
version = "0.3"
features = ["HtmlElement"]
[target.'cfg(target_os = "android")'.dependencies.platform-android]
version = "0.2.0"
optional = true
package = "telar-platform-android"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(docsrs)"]