{"id":27771240,"url":"https://github.com/ickshonpe/bevy_ui_text_input","last_synced_at":"2025-04-29T22:01:29.163Z","repository":{"id":288601737,"uuid":"964838403","full_name":"ickshonpe/bevy_ui_text_input","owner":"ickshonpe","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-26T08:58:06.000Z","size":679,"stargazers_count":9,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-26T09:32:39.059Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ickshonpe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-11T21:55:13.000Z","updated_at":"2025-04-26T08:58:09.000Z","dependencies_parsed_at":"2025-04-19T02:11:29.254Z","dependency_job_id":null,"html_url":"https://github.com/ickshonpe/bevy_ui_text_input","commit_stats":null,"previous_names":["ickshonpe/bevy_ui_text_input"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ickshonpe%2Fbevy_ui_text_input","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ickshonpe%2Fbevy_ui_text_input/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ickshonpe%2Fbevy_ui_text_input/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ickshonpe%2Fbevy_ui_text_input/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ickshonpe","download_url":"https://codeload.github.com/ickshonpe/bevy_ui_text_input/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251590120,"owners_count":21613900,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-29T22:01:09.231Z","updated_at":"2025-04-29T22:01:29.125Z","avatar_url":"https://github.com/ickshonpe.png","language":"Rust","funding_links":[],"categories":["Input"],"sub_categories":[],"readme":"## Bevy UI Text Input\n\nText input crate for Bevy UI using cosmic text.\n\n![Text Input Example](input_screen.png)\n\n#### Basic usage\n\nSpawn a `TextInputNode` component to create a text input:\n\n```\ncommands\n        .spawn((\n            TextInputNode::default(),\n            Node {\n                width: Val::Px(500.),\n                height: Val::Px(250.),\n                ..default()\n            },\n        ))\n```\n\nThe size has to be set using `Node`, there isn't any support for responsive sizing yet.\nThe active text input is set using the `ActiveTextInput` resource. Inputs can also be set to activate on clicks.\n\nThere are a couple of examples, `text_input` is the most complete:\n```\ncargo run --example text_input\n```\n\n#### Features\n* Undo and redo\n* Text selection with keyboard and mouse\n* Overwrite and insert edit modes\n* Horizontally scrolling single line input\n* Validated integer, decimal and hexadecimal input modes\n* Vertical and horizontal scrolling\n* Cut, copy, and paste with clipboard support\n* Display prompt when empty\n* Keyboard navigation supports page up \u0026 down, home \u0026 End, next \u0026 previous word, buffer start \u0026 end and scroll up \u0026 down\n* Mouse wheel scrolling\n* Max characters limit\n\n#### Problems + Bugs\n* Overwrite cursor becomes an insert cursor at the end of lines.\n* Scrolling can be glitchy if the line height isn't an exact divisor of the input box.\n* The plugin can't access any existing `FontAtlasSet`s from `bevy_text` and has to create its own atlases for any fonts it uses.\n\n#### Not supported (at least yet)\n* IME\n* Responsive sizing\n* Rich text\n* Syntax highlighting\n* World UI\n* Text2d\n* Onscreen keyboard","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fickshonpe%2Fbevy_ui_text_input","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fickshonpe%2Fbevy_ui_text_input","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fickshonpe%2Fbevy_ui_text_input/lists"}