[package]
edition = "2024"
name = "goyda"
version = "0.1.3"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A Rust UI toolkit that compiles the same app to Windows, Android, and web"
readme = "README.md"
license = "MIT"
resolver = "2"
[package.metadata.docs.rs]
features = ["windows"]
default-target = "x86_64-pc-windows-msvc"
[features]
android = [
"dep:jni",
"dep:resvg",
]
default = []
web = [
"dep:wasm-bindgen",
"dep:web-sys",
"dep:js-sys",
"dep:console_error_panic_hook",
"dep:serde",
"dep:serde_json",
]
windows = [
"dep:windows-sys",
"dep:resvg",
"dep:image",
]
[lib]
name = "goyda"
crate-type = [
"rlib",
"dylib",
]
path = "src/lib.rs"
[[test]]
name = "components_badge"
path = "tests/components_badge.rs"
[[test]]
name = "components_button"
path = "tests/components_button.rs"
[[test]]
name = "components_card"
path = "tests/components_card.rs"
[[test]]
name = "components_checkbox"
path = "tests/components_checkbox.rs"
[[test]]
name = "components_divider"
path = "tests/components_divider.rs"
[[test]]
name = "components_image"
path = "tests/components_image.rs"
[[test]]
name = "components_layout"
path = "tests/components_layout.rs"
[[test]]
name = "components_link"
path = "tests/components_link.rs"
[[test]]
name = "components_mod"
path = "tests/components_mod.rs"
[[test]]
name = "components_overlay"
path = "tests/components_overlay.rs"
[[test]]
name = "components_progress"
path = "tests/components_progress.rs"
[[test]]
name = "components_radio_button"
path = "tests/components_radio_button.rs"
[[test]]
name = "components_scroll_view"
path = "tests/components_scroll_view.rs"
[[test]]
name = "components_spacer"
path = "tests/components_spacer.rs"
[[test]]
name = "components_style"
path = "tests/components_style.rs"
[[test]]
name = "components_switch"
path = "tests/components_switch.rs"
[[test]]
name = "components_text"
path = "tests/components_text.rs"
[[test]]
name = "components_text_input"
path = "tests/components_text_input.rs"
[[test]]
name = "components_textarea"
path = "tests/components_textarea.rs"
[[test]]
name = "core_events"
path = "tests/core_events.rs"
[[test]]
name = "core_theme"
path = "tests/core_theme.rs"
[[test]]
name = "macros_asset"
path = "tests/macros_asset.rs"
[[test]]
name = "macros_into_string"
path = "tests/macros_into_string.rs"
[[test]]
name = "macros_stack"
path = "tests/macros_stack.rs"
[[test]]
name = "macros_theme"
path = "tests/macros_theme.rs"
[[test]]
name = "page_registry"
path = "tests/page_registry.rs"
[[test]]
name = "reactive_signal"
path = "tests/reactive_signal.rs"
[dependencies.console_error_panic_hook]
version = "0.1"
optional = true
[dependencies.goyda-derive]
version = "0.1.3"
[dependencies.goyda-macros]
version = "0.1.3"
[dependencies.goyda-utils]
version = "0.1.3"
[dependencies.image]
version = "0.25.10"
features = [
"png",
"jpeg",
]
optional = true
default-features = false
[dependencies.inventory]
version = "0.3.15"
[dependencies.jni]
version = "0.21.1"
features = ["invocation"]
optional = true
[dependencies.js-sys]
version = "0.3.77"
optional = true
[dependencies.once_cell]
version = "1.21.4"
[dependencies.paste]
version = "1.0"
[dependencies.resvg]
version = "0.48.1"
optional = true
default-features = false
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.wasm-bindgen]
version = "0.2.100"
optional = true
[dependencies.web-sys]
version = "0.3.77"
features = [
"console",
"Window",
"Document",
"Element",
"HtmlElement",
"HtmlHeadElement",
"HtmlInputElement",
"HtmlTextAreaElement",
"CssStyleDeclaration",
"Node",
"Event",
"MouseEvent",
"FocusEvent",
"InputEvent",
"EventTarget",
"Location",
"Blob",
"BlobPropertyBag",
"Url",
"History",
"PopStateEvent",
"MediaQueryList",
"Storage",
]
optional = true
[dependencies.windows-sys]
version = "0.61.2"
features = [
"Win32_Foundation",
"Win32_UI_WindowsAndMessaging",
"Win32_Graphics_Gdi",
"Win32_System_LibraryLoader",
"Win32_UI_Controls",
"Win32_UI_Shell",
"Win32_Graphics_GdiPlus",
"Win32_UI_HiDpi",
"Win32_UI_Input_KeyboardAndMouse",
"Win32_System_Registry",
"Win32_System_DataExchange",
]
optional = true
[lints.clippy]
crate_in_macro_def = "allow"
explicit_counter_loop = "allow"
missing_const_for_thread_local = "allow"
new_ret_no_self = "allow"
type_complexity = "allow"
[lints.clippy.all]
level = "deny"
priority = -1