Hopfully the start of something much bigger :)
C73UJ7ZYG4EE3YTK3N66GXPNWJHEBSRE4PDQBWMN6SKQ3U6ZYKXAC extern crate xilem_html;use xilem_html::{document_body, elements as el,events::{self as evt},App, Event, View, ViewExt,};#[derive(Default)]struct AppState {command: String,}impl AppState {fn update_command(&mut self, new_command: String) {self.command = new_command;}}fn command_item<A, F>(label: &'static str,click_fn: F,) -> evt::OnClick<AppState, A, el::Button<&'static str>, F, ()>whereF: Fn(&mut AppState, &Event<web_sys::MouseEvent, web_sys::HtmlButtonElement>),{el::button(label).on_click(click_fn)}fn app_logic(state: &mut AppState) -> impl View<AppState> {let input = el::input(()).attr("placeholder", "Enter command here").attr("autofocus", true);el::div((input.on_input(|state: &mut AppState, event| state.update_command(event.target().value())),el::br(()),el::span(format!("Command is: `{}`", state.command)),))}pub fn main() {console_error_panic_hook::set_once();let app = App::new(AppState::default(), app_logic);app.run(&document_body());}
<!DOCTYPE html><head></head><body></body>
[package]name = "new_manual"version = "0.1.0"[dependencies]console_error_panic_hook = "0.1"wasm-bindgen = "0.2.87"web-sys = "0.3.64"xilem_html = { path = "../xilem/crates/xilem_html" }
# This file is automatically @generated by Cargo.# It is not intended for manual editing.version = 3[[package]]name = "arrayvec"version = "0.7.4"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"[[package]]name = "bitflags"version = "2.4.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"[[package]]name = "bumpalo"version = "3.14.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"[[package]]name = "cfg-if"version = "1.0.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"[[package]]name = "console_error_panic_hook"version = "0.1.7"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc"dependencies = ["cfg-if","wasm-bindgen",][[package]]name = "gloo"version = "0.8.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "28999cda5ef6916ffd33fb4a7b87e1de633c47c0dc6d97905fee1cdaa142b94d"dependencies = ["gloo-events","gloo-utils",][[package]]name = "gloo-events"version = "0.1.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "68b107f8abed8105e4182de63845afcc7b69c098b7852a813ea7462a320992fc"dependencies = ["wasm-bindgen","web-sys",][[package]]name = "gloo-utils"version = "0.1.7"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "037fcb07216cb3a30f7292bd0176b050b7b9a052ba830ef7d5d65f6dc64ba58e"dependencies = ["js-sys","serde","serde_json","wasm-bindgen","web-sys",][[package]]name = "itoa"version = "1.0.9"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"[[package]]name = "js-sys"version = "0.3.64"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"dependencies = ["wasm-bindgen",][[package]]name = "kurbo"version = "0.9.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "bd85a5776cd9500c2e2059c8c76c3b01528566b7fcbaf8098b55a33fc298849b"dependencies = ["arrayvec",][[package]]name = "log"version = "0.4.20"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"[[package]]name = "new_manual"version = "0.1.0"dependencies = ["console_error_panic_hook","wasm-bindgen","web-sys","xilem_html",][[package]]name = "once_cell"version = "1.18.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"[[package]]name = "proc-macro2"version = "1.0.69"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"dependencies = ["unicode-ident",][[package]]name = "quote"version = "1.0.33"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"dependencies = ["proc-macro2",][[package]]name = "ryu"version = "1.0.15"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"[[package]]name = "serde"version = "1.0.189"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "8e422a44e74ad4001bdc8eede9a4570ab52f71190e9c076d14369f38b9200537"dependencies = ["serde_derive",][[package]]name = "serde_derive"version = "1.0.189"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "1e48d1f918009ce3145511378cf68d613e3b3d9137d67272562080d68a2b32d5"dependencies = ["proc-macro2","quote","syn",][[package]]name = "serde_json"version = "1.0.107"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65"dependencies = ["itoa","ryu","serde",][[package]]name = "syn"version = "2.0.38"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"dependencies = ["proc-macro2","quote","unicode-ident",][[package]]name = "unicode-ident"version = "1.0.12"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"[[package]]name = "wasm-bindgen"version = "0.2.87"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"dependencies = ["cfg-if","wasm-bindgen-macro",][[package]]name = "wasm-bindgen-backend"version = "0.2.87"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"dependencies = ["bumpalo","log","once_cell","proc-macro2","quote","syn","wasm-bindgen-shared",][[package]]name = "wasm-bindgen-macro"version = "0.2.87"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"dependencies = ["quote","wasm-bindgen-macro-support",][[package]]name = "wasm-bindgen-macro-support"version = "0.2.87"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"dependencies = ["proc-macro2","quote","syn","wasm-bindgen-backend","wasm-bindgen-shared",][[package]]name = "wasm-bindgen-shared"version = "0.2.87"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"[[package]]name = "web-sys"version = "0.3.64"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b"dependencies = ["js-sys","wasm-bindgen",][[package]]name = "xilem_core"version = "0.1.0"[[package]]name = "xilem_html"version = "0.1.0"dependencies = ["bitflags","gloo","kurbo","log","wasm-bindgen","web-sys","xilem_core",]
dist/target/