diff --git a/Cargo.toml b/Cargo.toml index e32940e18..7b6a08a39 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,7 +15,8 @@ members = [ "packages/liveview", "packages/autofmt", "packages/rsx", - "packages/tui", + "packages/dioxus-tui", + "packages/rink", "packages/native-core", "packages/native-core-macro", "packages/rsx-rosetta", diff --git a/docs/guide/Cargo.toml b/docs/guide/Cargo.toml index 87d5b9006..c9707e0d7 100644 --- a/docs/guide/Cargo.toml +++ b/docs/guide/Cargo.toml @@ -13,7 +13,7 @@ dioxus-web = { path = "../../packages/web" } dioxus-ssr = { path = "../../packages/ssr" } dioxus-router = { path = "../../packages/router" } dioxus-liveview = { path = "../../packages/liveview", features = ["axum"] } -dioxus-tui = { path = "../../packages/tui" } +dioxus-tui = { path = "../../packages/dioxus-tui" } fermi = { path = "../../packages/fermi" } diff --git a/packages/tui/.gitignore b/packages/dioxus-tui/.gitignore similarity index 100% rename from packages/tui/.gitignore rename to packages/dioxus-tui/.gitignore diff --git a/packages/tui/.vscode/spellright.dict b/packages/dioxus-tui/.vscode/spellright.dict similarity index 100% rename from packages/tui/.vscode/spellright.dict rename to packages/dioxus-tui/.vscode/spellright.dict diff --git a/packages/tui/Cargo.toml b/packages/dioxus-tui/Cargo.toml similarity index 70% rename from packages/tui/Cargo.toml rename to packages/dioxus-tui/Cargo.toml index 05d3a6e12..43e568b0f 100644 --- a/packages/tui/Cargo.toml +++ b/packages/dioxus-tui/Cargo.toml @@ -13,25 +13,18 @@ license = "MIT/Apache-2.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -dioxus = { path = "../dioxus", version = "^0.3.0", optional = true } -dioxus-core = { path = "../core", version = "^0.3.0", features = ["serialize"], optional = true } +dioxus = { path = "../dioxus", version = "^0.3.0" } +dioxus-core = { path = "../core", version = "^0.3.0", features = ["serialize"] } dioxus-html = { path = "../html", version = "^0.3.0" } -dioxus-native-core = { path = "../native-core", version = "^0.2.0" } +dioxus-native-core = { path = "../native-core", version = "^0.2.0", features = ["dioxus"] } dioxus-native-core-macro = { path = "../native-core-macro", version = "^0.3.0" } dioxus-hot-reload = { path = "../hot-reload", optional = true } +rink = { path = "../rink" } -tui = "0.17.0" crossterm = "0.23.0" -anyhow = "1.0.42" tokio = { version = "1.15.0", features = ["full"] } futures = "0.3.19" taffy = "0.2.1" -smallvec = "1.6" -rustc-hash = "1.1.0" -anymap = "1.0.0-beta.2" -futures-channel = "0.3.25" -shipyard = { version = "0.6.2", features = ["proc", "std"], default-features = false } -once_cell = "1.17.1" [dev-dependencies] dioxus = { path = "../dioxus" } @@ -43,6 +36,5 @@ name = "update" harness = false [features] -default = ["hot-reload", "dioxus-bindings"] +default = ["hot-reload"] hot-reload = ["dioxus-hot-reload"] -dioxus-bindings = ["dioxus", "dioxus-core", "dioxus-native-core/dioxus"] diff --git a/packages/tui/README.md b/packages/dioxus-tui/README.md similarity index 100% rename from packages/tui/README.md rename to packages/dioxus-tui/README.md diff --git a/packages/tui/benches/update.rs b/packages/dioxus-tui/benches/update.rs similarity index 100% rename from packages/tui/benches/update.rs rename to packages/dioxus-tui/benches/update.rs diff --git a/packages/tui/examples/all_events.rs b/packages/dioxus-tui/examples/all_events.rs similarity index 100% rename from packages/tui/examples/all_events.rs rename to packages/dioxus-tui/examples/all_events.rs diff --git a/packages/tui/examples/border.rs b/packages/dioxus-tui/examples/border.rs similarity index 100% rename from packages/tui/examples/border.rs rename to packages/dioxus-tui/examples/border.rs diff --git a/packages/tui/examples/buttons.rs b/packages/dioxus-tui/examples/buttons.rs similarity index 100% rename from packages/tui/examples/buttons.rs rename to packages/dioxus-tui/examples/buttons.rs diff --git a/packages/tui/examples/color_test.rs b/packages/dioxus-tui/examples/color_test.rs similarity index 100% rename from packages/tui/examples/color_test.rs rename to packages/dioxus-tui/examples/color_test.rs diff --git a/packages/tui/examples/colorpicker.rs b/packages/dioxus-tui/examples/colorpicker.rs similarity index 100% rename from packages/tui/examples/colorpicker.rs rename to packages/dioxus-tui/examples/colorpicker.rs diff --git a/packages/tui/examples/components.rs b/packages/dioxus-tui/examples/components.rs similarity index 100% rename from packages/tui/examples/components.rs rename to packages/dioxus-tui/examples/components.rs diff --git a/packages/tui/examples/example.png b/packages/dioxus-tui/examples/example.png similarity index 100% rename from packages/tui/examples/example.png rename to packages/dioxus-tui/examples/example.png diff --git a/packages/tui/examples/flex.rs b/packages/dioxus-tui/examples/flex.rs similarity index 100% rename from packages/tui/examples/flex.rs rename to packages/dioxus-tui/examples/flex.rs diff --git a/packages/tui/examples/hover.rs b/packages/dioxus-tui/examples/hover.rs similarity index 100% rename from packages/tui/examples/hover.rs rename to packages/dioxus-tui/examples/hover.rs diff --git a/packages/tui/examples/list.rs b/packages/dioxus-tui/examples/list.rs similarity index 100% rename from packages/tui/examples/list.rs rename to packages/dioxus-tui/examples/list.rs diff --git a/packages/tui/examples/margin.rs b/packages/dioxus-tui/examples/margin.rs similarity index 100% rename from packages/tui/examples/margin.rs rename to packages/dioxus-tui/examples/margin.rs diff --git a/packages/tui/examples/quadrants.rs b/packages/dioxus-tui/examples/quadrants.rs similarity index 100% rename from packages/tui/examples/quadrants.rs rename to packages/dioxus-tui/examples/quadrants.rs diff --git a/packages/tui/examples/readme.rs b/packages/dioxus-tui/examples/readme.rs similarity index 100% rename from packages/tui/examples/readme.rs rename to packages/dioxus-tui/examples/readme.rs diff --git a/packages/tui/examples/stress.rs b/packages/dioxus-tui/examples/stress.rs similarity index 100% rename from packages/tui/examples/stress.rs rename to packages/dioxus-tui/examples/stress.rs diff --git a/packages/tui/examples/task.rs b/packages/dioxus-tui/examples/task.rs similarity index 100% rename from packages/tui/examples/task.rs rename to packages/dioxus-tui/examples/task.rs diff --git a/packages/tui/examples/text.rs b/packages/dioxus-tui/examples/text.rs similarity index 100% rename from packages/tui/examples/text.rs rename to packages/dioxus-tui/examples/text.rs diff --git a/packages/tui/examples/widgets.rs b/packages/dioxus-tui/examples/widgets.rs similarity index 99% rename from packages/tui/examples/widgets.rs rename to packages/dioxus-tui/examples/widgets.rs index 793057bc5..04690522c 100644 --- a/packages/tui/examples/widgets.rs +++ b/packages/dioxus-tui/examples/widgets.rs @@ -1,7 +1,6 @@ use dioxus::prelude::*; use dioxus_html::FormData; use dioxus_tui::prelude::*; -use dioxus_tui::Config; fn main() { dioxus_tui::launch_cfg(app, Config::new()); diff --git a/packages/tui/src/dioxus.rs b/packages/dioxus-tui/src/lib.rs similarity index 94% rename from packages/tui/src/dioxus.rs rename to packages/dioxus-tui/src/lib.rs index c07d138d2..99df66df9 100644 --- a/packages/tui/src/dioxus.rs +++ b/packages/dioxus-tui/src/lib.rs @@ -1,3 +1,6 @@ +pub mod prelude; +pub mod widgets; + use std::{ ops::Deref, rc::Rc, @@ -11,7 +14,8 @@ use dioxus_native_core::{ NodeId, RealDom, }; -use crate::{query::Query, render, Config, Renderer, TuiContext}; +pub use rink::Config; +use rink::{query::Query, render, Renderer, TuiContext}; pub fn launch(app: Component<()>) { launch_cfg(app, Config::default()) @@ -29,11 +33,8 @@ pub fn launch_cfg_with_props(app: Component, props: Props }; let dioxus_state = Rc::new(RwLock::new(dioxus_state)); let mut vdom = VirtualDom::new_with_props(app, props) - .with_root_context(TuiContext { tx: event_tx }) - .with_root_context(Query { - rdom: rdom.clone(), - stretch: taffy.clone(), - }) + .with_root_context(TuiContext::new(event_tx)) + .with_root_context(Query::new(rdom.clone(), taffy.clone())) .with_root_context(DioxusElementToNodeId { mapping: dioxus_state.clone(), }); diff --git a/packages/dioxus-tui/src/prelude/mod.rs b/packages/dioxus-tui/src/prelude/mod.rs new file mode 100644 index 000000000..cb4fdee65 --- /dev/null +++ b/packages/dioxus-tui/src/prelude/mod.rs @@ -0,0 +1,2 @@ +pub use crate::widgets::*; +pub use rink::Config; diff --git a/packages/tui/src/widgets/button.rs b/packages/dioxus-tui/src/widgets/button.rs similarity index 100% rename from packages/tui/src/widgets/button.rs rename to packages/dioxus-tui/src/widgets/button.rs diff --git a/packages/tui/src/widgets/checkbox.rs b/packages/dioxus-tui/src/widgets/checkbox.rs similarity index 100% rename from packages/tui/src/widgets/checkbox.rs rename to packages/dioxus-tui/src/widgets/checkbox.rs diff --git a/packages/tui/src/widgets/input.rs b/packages/dioxus-tui/src/widgets/input.rs similarity index 100% rename from packages/tui/src/widgets/input.rs rename to packages/dioxus-tui/src/widgets/input.rs diff --git a/packages/tui/src/widgets/mod.rs b/packages/dioxus-tui/src/widgets/mod.rs similarity index 100% rename from packages/tui/src/widgets/mod.rs rename to packages/dioxus-tui/src/widgets/mod.rs diff --git a/packages/tui/src/widgets/number.rs b/packages/dioxus-tui/src/widgets/number.rs similarity index 99% rename from packages/tui/src/widgets/number.rs rename to packages/dioxus-tui/src/widgets/number.rs index 3e9d80d2d..f82732981 100644 --- a/packages/tui/src/widgets/number.rs +++ b/packages/dioxus-tui/src/widgets/number.rs @@ -1,11 +1,11 @@ use crate::widgets::get_root_id; -use crate::Query; use crossterm::{cursor::MoveTo, execute}; use dioxus::prelude::*; use dioxus_elements::input_data::keyboard_types::Key; use dioxus_html as dioxus_elements; use dioxus_html::FormData; use dioxus_native_core::utils::cursor::{Cursor, Pos}; +use rink::Query; use std::{collections::HashMap, io::stdout}; use taffy::geometry::Point; diff --git a/packages/tui/src/widgets/password.rs b/packages/dioxus-tui/src/widgets/password.rs similarity index 99% rename from packages/tui/src/widgets/password.rs rename to packages/dioxus-tui/src/widgets/password.rs index 5e74e8b09..07491c140 100644 --- a/packages/tui/src/widgets/password.rs +++ b/packages/dioxus-tui/src/widgets/password.rs @@ -1,11 +1,11 @@ use crate::widgets::get_root_id; -use crate::Query; use crossterm::{cursor::*, execute}; use dioxus::prelude::*; use dioxus_elements::input_data::keyboard_types::Key; use dioxus_html as dioxus_elements; use dioxus_html::FormData; use dioxus_native_core::utils::cursor::{Cursor, Pos}; +use rink::Query; use std::{collections::HashMap, io::stdout}; use taffy::geometry::Point; diff --git a/packages/tui/src/widgets/slider.rs b/packages/dioxus-tui/src/widgets/slider.rs similarity index 99% rename from packages/tui/src/widgets/slider.rs rename to packages/dioxus-tui/src/widgets/slider.rs index 32de32ce2..9e8d63cb9 100644 --- a/packages/tui/src/widgets/slider.rs +++ b/packages/dioxus-tui/src/widgets/slider.rs @@ -1,11 +1,11 @@ use std::collections::HashMap; use crate::widgets::get_root_id; -use crate::Query; use dioxus::prelude::*; use dioxus_elements::input_data::keyboard_types::Key; use dioxus_html as dioxus_elements; use dioxus_html::FormData; +use rink::Query; #[derive(Props)] pub(crate) struct SliderProps<'a> { diff --git a/packages/tui/src/widgets/textbox.rs b/packages/dioxus-tui/src/widgets/textbox.rs similarity index 99% rename from packages/tui/src/widgets/textbox.rs rename to packages/dioxus-tui/src/widgets/textbox.rs index 6c378cd72..fcfaf0a90 100644 --- a/packages/tui/src/widgets/textbox.rs +++ b/packages/dioxus-tui/src/widgets/textbox.rs @@ -1,11 +1,11 @@ use crate::widgets::get_root_id; -use crate::Query; use crossterm::{cursor::*, execute}; use dioxus::prelude::*; use dioxus_elements::input_data::keyboard_types::Key; use dioxus_html as dioxus_elements; use dioxus_html::FormData; use dioxus_native_core::utils::cursor::{Cursor, Pos}; +use rink::Query; use std::{collections::HashMap, io::stdout}; use taffy::geometry::Point; diff --git a/packages/tui/test.html b/packages/dioxus-tui/test.html similarity index 100% rename from packages/tui/test.html rename to packages/dioxus-tui/test.html diff --git a/packages/tui/tests/events.rs b/packages/dioxus-tui/tests/events.rs similarity index 100% rename from packages/tui/tests/events.rs rename to packages/dioxus-tui/tests/events.rs diff --git a/packages/rink/.gitignore b/packages/rink/.gitignore new file mode 100644 index 000000000..96ef6c0b9 --- /dev/null +++ b/packages/rink/.gitignore @@ -0,0 +1,2 @@ +/target +Cargo.lock diff --git a/packages/rink/.vscode/spellright.dict b/packages/rink/.vscode/spellright.dict new file mode 100644 index 000000000..c30e473fc --- /dev/null +++ b/packages/rink/.vscode/spellright.dict @@ -0,0 +1,2 @@ +esque +Tui diff --git a/packages/rink/Cargo.toml b/packages/rink/Cargo.toml new file mode 100644 index 000000000..2f08eb720 --- /dev/null +++ b/packages/rink/Cargo.toml @@ -0,0 +1,39 @@ +[package] +name = "rink" +version = "0.2.2" +authors = ["Jonathan Kelley, @dementhos"] +edition = "2021" +description = "TUI-based renderer for Dioxus" +repository = "https://github.com/DioxusLabs/dioxus/" +homepage = "https://dioxuslabs.com" +documentation = "https://dioxuslabs.com" +keywords = ["dom", "ui", "gui", "react", "terminal"] +license = "MIT/Apache-2.0" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +dioxus-html = { path = "../html", version = "^0.3.0" } +dioxus-native-core = { path = "../native-core", version = "^0.2.0" } +dioxus-native-core-macro = { path = "../native-core-macro", version = "^0.3.0" } + +tui = "0.17.0" +crossterm = "0.23.0" +anyhow = "1.0.42" +tokio = { version = "1.15.0", features = ["full"] } +futures = "0.3.19" +taffy = "0.2.1" +smallvec = "1.6" +rustc-hash = "1.1.0" +anymap = "1.0.0-beta.2" +futures-channel = "0.3.25" +shipyard = { version = "0.6.2", features = ["proc", "std"], default-features = false } +once_cell = "1.17.1" + +[dev-dependencies] +tokio = { version = "1" } +criterion = "0.3.5" + +[features] +default = [] +parallel = ["shipyard/parallel"] \ No newline at end of file diff --git a/packages/rink/README.md b/packages/rink/README.md new file mode 100644 index 000000000..d021a728b --- /dev/null +++ b/packages/rink/README.md @@ -0,0 +1,90 @@ +
+

Rink

+

+ A beautiful terminal user interfaces library in Rust. +

+
+ +
+ + + Crates.io version + + + + Download + + + + docs.rs docs + + + + CI status + + + + Discord Link + +
+ +
+ +Leverage CSS, HTML, and Rust to build beautiful, portable, terminal user interfaces. + +```rust +fn app(cx: Scope) -> Element { + cx.render(rsx!{ + div { + width: "100%", + height: "10px", + background_color: "red", + justify_content: "center", + align_items: "center", + "Hello world!" + } + }) +} +``` + +![demo app](examples/example.png) + +## Background + +You can use Html-like semantics with inline styles, tree hierarchy, components, and more in your [`text-based user interface (TUI)`](https://en.wikipedia.org/wiki/Text-based_user_interface) application. + +Rink is essentially a port of [Ink](https://github.com/vadimdemedes/ink) but for [`Rust`](https://www.rust-lang.org/) and [`Dioxus`](https://dioxuslabs.com/). Rink doesn't depend on Node.js or any other JavaScript runtime, so your binaries are portable and beautiful. + +## Limitations + +- **Subset of Html** + Terminals can only render a subset of HTML. We support as much as we can. +- **Particular frontend design** + Terminals and browsers are and look different. Therefore, the same design might not be the best to cover both renderers. + +## Status + +**WARNING: Rink is currently under construction!** + +Rendering a VirtualDom works fine, but the ecosystem of hooks is not yet ready. Additionally, some bugs in the flexbox implementation might be quirky at times. + +## Features + +Rink features: + +- [x] Flexbox-based layout system +- [ ] CSS selectors +- [x] inline CSS support +- [x] Built-in focusing system + +* [x] Widgets1 +* [ ] Support for events, hooks, and callbacks2 +* [ ] Html tags3 + +1 Currently only a subset of the input element is implemented as a component (not an element). The `Input` component supports sliders, text, numbers, passwords, buttons, and checkboxes. +2 Basic keyboard, mouse, and focus events are implemented. +3 Currently, most HTML tags don't translate into any meaning inside of Dioxus TUI. So an `input` _element_ won't mean anything nor does it have any additional functionality. diff --git a/packages/tui/examples/driven.rs b/packages/rink/examples/driven.rs similarity index 100% rename from packages/tui/examples/driven.rs rename to packages/rink/examples/driven.rs diff --git a/packages/rink/examples/example.png b/packages/rink/examples/example.png new file mode 100644 index 000000000..ba45e6e99 Binary files /dev/null and b/packages/rink/examples/example.png differ diff --git a/packages/tui/src/config.rs b/packages/rink/src/config.rs similarity index 91% rename from packages/tui/src/config.rs rename to packages/rink/src/config.rs index 8251b13b6..41e068542 100644 --- a/packages/tui/src/config.rs +++ b/packages/rink/src/config.rs @@ -46,18 +46,13 @@ impl Default for Config { } } -#[derive(Clone, Copy)] +#[derive(Clone, Copy, Default)] pub enum RenderingMode { /// only 16 colors by accessed by name, no alpha support BaseColors, /// 8 bit colors, will be downsampled from rgb colors Ansi, /// 24 bit colors, most terminals support this + #[default] Rgb, } - -impl Default for RenderingMode { - fn default() -> Self { - RenderingMode::Rgb - } -} diff --git a/packages/tui/src/focus.rs b/packages/rink/src/focus.rs similarity index 98% rename from packages/tui/src/focus.rs rename to packages/rink/src/focus.rs index 919182e4f..b42e10b55 100644 --- a/packages/tui/src/focus.rs +++ b/packages/rink/src/focus.rs @@ -19,8 +19,9 @@ use dioxus_native_core::node_ref::NodeView; #[derive(Component)] pub struct Focused(pub bool); -#[derive(Clone, Copy, PartialEq, Eq, Debug)] +#[derive(Clone, Copy, PartialEq, Eq, Debug, Default)] pub(crate) enum FocusLevel { + #[default] Unfocusable, Focusable, Ordered(std::num::NonZeroU16), @@ -58,12 +59,6 @@ impl Ord for FocusLevel { } } -impl Default for FocusLevel { - fn default() -> Self { - FocusLevel::Unfocusable - } -} - #[derive(Clone, PartialEq, Debug, Default, Component)] pub(crate) struct Focus { pub level: FocusLevel, diff --git a/packages/tui/src/hooks.rs b/packages/rink/src/hooks.rs similarity index 100% rename from packages/tui/src/hooks.rs rename to packages/rink/src/hooks.rs diff --git a/packages/tui/src/layout.rs b/packages/rink/src/layout.rs similarity index 100% rename from packages/tui/src/layout.rs rename to packages/rink/src/layout.rs diff --git a/packages/tui/src/lib.rs b/packages/rink/src/lib.rs similarity index 98% rename from packages/tui/src/lib.rs rename to packages/rink/src/lib.rs index 6112f3bf5..9e1a4dbf1 100644 --- a/packages/tui/src/lib.rs +++ b/packages/rink/src/lib.rs @@ -27,8 +27,6 @@ use tokio::select; use tui::{backend::CrosstermBackend, layout::Rect, Terminal}; mod config; -#[cfg(feature = "dioxus-bindings")] -pub mod dioxus; mod focus; mod hooks; mod layout; @@ -39,16 +37,10 @@ mod render; mod style; mod style_attributes; mod widget; -#[cfg(feature = "dioxus-bindings")] -mod widgets; -#[cfg(feature = "dioxus-bindings")] -pub use crate::dioxus::*; pub use config::*; pub use hooks::*; pub use query::Query; -#[cfg(feature = "dioxus-bindings")] -pub use widgets::*; // the layout space has a multiplier of 10 to minimize rounding errors pub(crate) fn screen_to_layout_space(screen: u16) -> f32 { @@ -69,6 +61,10 @@ pub struct TuiContext { } impl TuiContext { + pub fn new(tx: UnboundedSender) -> Self { + Self { tx } + } + pub fn quit(&self) { self.tx.unbounded_send(InputEvent::Close).unwrap(); } diff --git a/packages/tui/src/prelude/mod.rs b/packages/rink/src/prelude/mod.rs similarity index 100% rename from packages/tui/src/prelude/mod.rs rename to packages/rink/src/prelude/mod.rs diff --git a/packages/tui/src/prevent_default.rs b/packages/rink/src/prevent_default.rs similarity index 94% rename from packages/tui/src/prevent_default.rs rename to packages/rink/src/prevent_default.rs index 8e1761c5f..cadd262f2 100644 --- a/packages/tui/src/prevent_default.rs +++ b/packages/rink/src/prevent_default.rs @@ -2,7 +2,7 @@ use dioxus_native_core::{node_ref::NodeView, Dependancy, SendAnyMap, State}; use dioxus_native_core_macro::partial_derive_state; use shipyard::Component; -#[derive(PartialEq, Debug, Clone, Copy, Component)] +#[derive(PartialEq, Debug, Clone, Copy, Component, Default)] pub(crate) enum PreventDefault { Focus, KeyPress, @@ -14,6 +14,7 @@ pub(crate) enum PreventDefault { MouseEnter, MouseLeave, MouseOut, + #[default] Unknown, MouseOver, ContextMenu, @@ -21,12 +22,6 @@ pub(crate) enum PreventDefault { MouseUp, } -impl Default for PreventDefault { - fn default() -> Self { - PreventDefault::Unknown - } -} - #[partial_derive_state] impl State for PreventDefault { type ParentDependencies = (); diff --git a/packages/tui/src/query.rs b/packages/rink/src/query.rs similarity index 96% rename from packages/tui/src/query.rs rename to packages/rink/src/query.rs index 3a11d0f2d..f28c4978f 100644 --- a/packages/tui/src/query.rs +++ b/packages/rink/src/query.rs @@ -47,6 +47,10 @@ pub struct Query { } impl Query { + pub fn new(rdom: Arc>, stretch: Arc>) -> Self { + Self { rdom, stretch } + } + pub fn get(&self, id: NodeId) -> ElementRef { let rdom = self.rdom.read(); let stretch = self.stretch.lock(); diff --git a/packages/tui/src/render.rs b/packages/rink/src/render.rs similarity index 100% rename from packages/tui/src/render.rs rename to packages/rink/src/render.rs diff --git a/packages/tui/src/style.rs b/packages/rink/src/style.rs similarity index 100% rename from packages/tui/src/style.rs rename to packages/rink/src/style.rs diff --git a/packages/tui/src/style_attributes.rs b/packages/rink/src/style_attributes.rs similarity index 100% rename from packages/tui/src/style_attributes.rs rename to packages/rink/src/style_attributes.rs diff --git a/packages/tui/src/widget.rs b/packages/rink/src/widget.rs similarity index 100% rename from packages/tui/src/widget.rs rename to packages/rink/src/widget.rs diff --git a/packages/rink/test.html b/packages/rink/test.html new file mode 100644 index 000000000..5298c723e --- /dev/null +++ b/packages/rink/test.html @@ -0,0 +1,73 @@ + + + + + Test + + + + +
+
+
+

Hello World

+

This is a test

+
+
+
+ + + + \ No newline at end of file