Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
275 commits
Select commit Hold shift + click to select a range
42fd98a
Added `clipboard` example
ickshonpe May 19, 2025
f672c3d
Refactor to flatten the implementation.
ickshonpe May 19, 2025
a552a5c
Added message to discriminate unknown arboard errors.
ickshonpe May 19, 2025
0be5178
renamed `get_or_poll` to `try_take`
ickshonpe May 19, 2025
ddbe3b1
Renamed `ClipboardContents` to `ClipboardRead`
ickshonpe May 19, 2025
68ff77a
Fixed grammar in comment
ickshonpe May 19, 2025
0b89af6
updated doc comments
ickshonpe May 19, 2025
4191194
Merge branch 'main' into clipboard
ickshonpe May 19, 2025
7954954
Fixed cargo description
ickshonpe May 19, 2025
c27f8c9
Fixed wasm32 imports
ickshonpe May 19, 2025
5d3660f
Cleaned up imports
ickshonpe May 19, 2025
776c7c0
Fixed spelling mistake
ickshonpe May 19, 2025
7ae694c
Edited comment.
ickshonpe May 19, 2025
e09036e
convert string on wasm
ickshonpe May 19, 2025
bbfa2b8
Merge branch 'main' into clipboard
ickshonpe May 19, 2025
2e44ed3
Return `Err(ClipboardError::ClipboardNotSupported)` when no clipboar…
ickshonpe May 24, 2025
e403912
Merge branch 'main' into clipboard
ickshonpe May 24, 2025
2916c96
Added input module to bevy_text
ickshonpe Jun 14, 2025
df60382
Added `TextInputBuffer` component wrapping a cosmic-text `Editor`
ickshonpe Jun 14, 2025
13bd4e3
Added `TextInputCommand` enum
ickshonpe Jun 14, 2025
09df6fa
Initial commit. Migrated code from `bevy_ui_text_input.
ickshonpe Jun 18, 2025
6d12b35
Fixed bevy_text dependency
ickshonpe Jun 18, 2025
68b1722
migrated observers
ickshonpe Jun 18, 2025
b413c9b
Removed old `YAxisOrientation` code
ickshonpe Jun 18, 2025
f49b71c
Moved `text_input` widget to `bevy_ui`
ickshonpe Jun 18, 2025
fd187f5
Added `bevy_time` dependency to bevy_ui
ickshonpe Jun 18, 2025
1484187
Added `SelectLine` variant to `TextInputCommand`
ickshonpe Jun 18, 2025
5449a3d
cleaning up observer functions
ickshonpe Jun 19, 2025
8b7126f
Merge remote-tracking branch 'bevy/main' into clipboard
andrewzhurov Jun 23, 2025
07adf25
0.16.0-dev -> 0.17.0-dev
andrewzhurov Jun 23, 2025
c1cd17d
migrate clipboard example
andrewzhurov Jun 23, 2025
3552f6c
Merge pull request #8 from andrewzhurov/clipboard
ickshonpe Jun 24, 2025
dfdbe22
Merge branch 'main' into clipboard
ickshonpe Jun 24, 2025
bb860fa
Added `fetch_text_async` function
ickshonpe Jun 24, 2025
5a78aef
Made buffer_dimensions function pub crate
ickshonpe Jun 27, 2025
f03fc74
Added minimal example
ickshonpe Jun 27, 2025
7baaee5
Fixed update_text_input_layout's params
ickshonpe Jun 27, 2025
34fe77f
Renamed TextInputCommand/Commands to TextInputAction/Actions.
ickshonpe Jun 27, 2025
02078f0
implemented essential text input actions
ickshonpe Jun 27, 2025
ffd309a
Implemented action responses to key presses
ickshonpe Jun 27, 2025
60ddc28
Removed single line input code for the moment
ickshonpe Jun 27, 2025
d262d71
updated example
ickshonpe Jun 27, 2025
3f400d4
Add derives for `TextInputSize`
ickshonpe Jun 30, 2025
bf5fd28
added on_remove_input_focus observer
ickshonpe Jun 30, 2025
1616ee4
Merge branch 'main' into text_input
ickshonpe Jun 30, 2025
57ee61f
Merge branch 'main' into text_input
ickshonpe Jul 1, 2025
b72cf1a
Updated dependencies
ickshonpe Jul 1, 2025
a7e29e9
Fixed errors due to merge
ickshonpe Jul 1, 2025
4614cfa
Added plugins
ickshonpe Jul 1, 2025
1b9d701
Added bevy_input_focus plugins to example
ickshonpe Jul 1, 2025
4aacda8
Added `update_size` system, TextInputSystems system set.
ickshonpe Jul 1, 2025
17e5785
Added bevy_log to bevy_ui dependencies
ickshonpe Jul 1, 2025
a2fdc02
Fixed schedule and rendering
ickshonpe Jul 1, 2025
813d226
* Added documentation for `TextInputActions` enum.
ickshonpe Jul 2, 2025
da1cf39
Renamed `SetContents` to `SetText`
ickshonpe Jul 2, 2025
e72b86f
Added `get_text` method to `TextInputBuffer`
ickshonpe Jul 2, 2025
3f493a8
Added Orbitron font for testing.
ickshonpe Jul 2, 2025
2e38eaa
Made TextInputAttributes fields pub.
ickshonpe Jul 2, 2025
8922e93
Added update_attributes system.
ickshonpe Jul 2, 2025
e42dcc0
Updated example
ickshonpe Jul 2, 2025
9f6d817
Removed requirements from `TextLayout` placed them on `Text`, `Text2d…
ickshonpe Jul 2, 2025
5bdbba6
Added cursor geometry to TextLayoutInfo
ickshonpe Jul 2, 2025
0b9b02f
Added `TextCursorStyle` and `TextCursorBlinkTimer` components and req…
ickshonpe Jul 2, 2025
80e4bb6
Removed rendering debug logging
ickshonpe Jul 3, 2025
9fe4b62
Added `TextInputHistory` component and undo and redo support.
ickshonpe Jul 3, 2025
855d533
split up target and attributes buffer updates
ickshonpe Jul 3, 2025
a2ef726
Removed unused
ickshonpe Jul 3, 2025
d839efb
Removed unused imports
ickshonpe Jul 3, 2025
8d25aea
Added overwrite mode
ickshonpe Jul 3, 2025
1a17d54
Removed unused import
ickshonpe Jul 3, 2025
464a087
Added `TextInputPasswordMask` component
ickshonpe Jul 3, 2025
ab55939
Added masked password entry support.
ickshonpe Jul 3, 2025
b0bdf29
Added `SingleLineTextInputBuffer` component for single line input sup…
ickshonpe Jul 3, 2025
28d7802
Removed logging
ickshonpe Jul 3, 2025
6b9e18d
Removed `TextInputMask` test code.
ickshonpe Jul 3, 2025
3b249f7
Removed unused import
ickshonpe Jul 3, 2025
374fc52
Added `max_chars: usize` field to `TextInputAttributes`, text truncat…
ickshonpe Jul 4, 2025
e155d5a
Removed single line text input buffer component, replaced with `Singl…
ickshonpe Jul 4, 2025
ecaf2c2
Disable scrolling for single line inputs
ickshonpe Jul 4, 2025
4cdf1d4
added max_chars to update_attributes
ickshonpe Jul 5, 2025
a4333f5
Added `SingleLineTextInputNode` component
ickshonpe Jul 5, 2025
664c108
Add default impl for SingleLineTextInput
ickshonpe Jul 5, 2025
3d82583
Added component hooks for SingleLineTextInput
ickshonpe Jul 5, 2025
f1f4314
Discard changes in aplly_text_input_actions if they put a text input …
ickshonpe Jul 7, 2025
c372e68
Added `TextInputFilter` enum for filtering inputs by a regex
ickshonpe Jul 7, 2025
ecc8535
Merge branch 'main' into text_input
ickshonpe Jul 10, 2025
6c6fcf2
Merge branch 'main' into clipboard
ickshonpe Jul 16, 2025
0b5a775
Merge branch 'main' into text_input_merge
ickshonpe Jul 16, 2025
d6c6c90
Added single_line_text_input_node example, renamed ui_text_input exam…
ickshonpe Jul 16, 2025
6d8f328
added line height measurement for line inputs
ickshonpe Jul 16, 2025
d3a55f4
Added `line_inputs` example
ickshonpe Jul 17, 2025
5f0a6e2
Added custom filter functions
ickshonpe Jul 17, 2025
ace8333
updated line_inputs example
ickshonpe Jul 17, 2025
954cc8b
clean up imports
ickshonpe Jul 17, 2025
65ce6d5
Added TextInputFilter regex helper message
ickshonpe Jul 17, 2025
ebcc5ea
extracted inner action application from `apply_text_input_actions` to…
ickshonpe Jul 17, 2025
cad59ec
Added local clipboard impl.
ickshonpe Jul 17, 2025
f463308
updated examples
ickshonpe Jul 17, 2025
9e0eeee
tweak examples
ickshonpe Jul 17, 2025
8b021c4
Merge branch 'main' into text_input
ickshonpe Jul 17, 2025
a0cbbdf
Fixed clipping and single line sizing.
ickshonpe Jul 17, 2025
80f19bb
Removed debug logging
ickshonpe Jul 17, 2025
1bb4293
Removed unneeded component queries
ickshonpe Jul 17, 2025
72e8a49
updated filters example
ickshonpe Jul 17, 2025
372b214
Added `scroll` field to `TextLayoutInfo`, use to scroll horizontally
ickshonpe Jul 17, 2025
94f2ef8
Renamed `TextInputNode` to `TextBox` and `LineInputNode` to `TextInput`
ickshonpe Jul 18, 2025
b2ac17b
Increased default cursor width
ickshonpe Jul 18, 2025
dbfdde0
Fixed SpaceAdvance updates
ickshonpe Jul 18, 2025
ff61321
Removed `cursor_size` field from `TextInputAttributes`
ickshonpe Jul 18, 2025
1cbf07e
Clean up unused
ickshonpe Jul 18, 2025
c9335c3
Cleaned up cursor rendering
ickshonpe Jul 18, 2025
42125f7
Added `TextUnderCursorColor` component
ickshonpe Jul 18, 2025
ba8fb95
Removed logging
ickshonpe Jul 18, 2025
2a4203d
Fixed under cursor color rendering
ickshonpe Jul 18, 2025
335924c
fix warning
ickshonpe Jul 18, 2025
1ff0422
Added text selection rendering
ickshonpe Jul 20, 2025
b59cf9b
New line iterator that doesn't skip clipped bottom lines.
ickshonpe Jul 20, 2025
de9c8ef
Renamed `FixedLayoutRunIter` to `ScrollingLayoutRunIter`
ickshonpe Jul 20, 2025
3aef0d7
Merge branch 'main' into text_input
ickshonpe Jul 20, 2025
1a996e2
renamed LineInputNode to Textinput
ickshonpe Jul 20, 2025
3b0e682
update filters example
ickshonpe Jul 21, 2025
8b161a3
Added `TextInputValue` component, contains current input contents, in…
ickshonpe Jul 21, 2025
7759dc7
Improved example layout
ickshonpe Jul 21, 2025
ac0779c
Added get function to TextInputValue
ickshonpe Jul 21, 2025
56da1a7
Fixed submission action, and propagation via the `TextInputSubmit` ev…
ickshonpe Jul 21, 2025
9a8dce1
Added is_buffer_empty helper function and `TextInputPrompt` component
ickshonpe Jul 21, 2025
2f1831a
Added TextInputPromptLayout component newtypes TextLayoutInfo
ickshonpe Jul 21, 2025
5f67140
Added mousewheel scrolling for TextBox
ickshonpe Jul 21, 2025
78d6567
Clean up example imports
ickshonpe Jul 21, 2025
54c9357
Removed regex dependency
ickshonpe Jul 22, 2025
e71c4cc
Never skip glyph under cursor
ickshonpe Jul 22, 2025
e325feb
Fixed cursor width
ickshonpe Jul 22, 2025
04180c6
added `is_empty` method to `TextInputBuffer`
ickshonpe Jul 22, 2025
a8807f9
Added `is_empty` function to `TextInputTarget`, added `TextInputPromp…
ickshonpe Jul 22, 2025
6d3ef57
Added `TextLayoutInfo::clear` method
ickshonpe Jul 22, 2025
647bfd1
Added system to update text input prompt layouts.
ickshonpe Jul 22, 2025
48dc851
Added text_input_prompt_system to plugin schedule
ickshonpe Jul 22, 2025
49d2a0c
made buffer borrow in mouse_wheel_scroll non-mutable
ickshonpe Jul 22, 2025
4986aaa
Added `new` constructor fn for Prompt
ickshonpe Jul 22, 2025
5fdf736
Added `Prompt` to example
ickshonpe Jul 22, 2025
f226477
Added `PromptColor` component, removed `Color` from `PromptStyle`
ickshonpe Jul 22, 2025
d588f34
Added prompt extraction to `extract_text_input_nodes`
ickshonpe Jul 22, 2025
f523054
Added prompt to `text_input_node` example
ickshonpe Jul 22, 2025
9360ea6
Added TextSelectionBlockColor component
ickshonpe Jul 22, 2025
49e3c5b
Added requires for `TextSelectionBlockColor`
ickshonpe Jul 22, 2025
304581f
Added `color` field to `ExtractedGlyph`.
ickshonpe Jul 22, 2025
7d86215
Move `color` and `rect` fields to ExtractedUiItem
ickshonpe Jul 22, 2025
1c2ab1f
Fixed `extract_gradients`
ickshonpe Jul 22, 2025
a790bfa
Individual glyphs just have a position, not a transform.
ickshonpe Jul 22, 2025
a25f1f0
Renamed `ExtractedGlyph`'s `position` field to `translation`.
ickshonpe Jul 22, 2025
3d0dc52
Merge branch 'extract-text-color-per-glyph' into text_input_glyph_col…
ickshonpe Jul 22, 2025
be76937
FIx errors from merge
ickshonpe Jul 22, 2025
236cbbc
Migrated `debug_overlay` module.
ickshonpe Jul 22, 2025
a3874e0
Another overlay fix
ickshonpe Jul 22, 2025
5ead04d
Merge branch 'extract-text-color-per-glyph' into text_input
ickshonpe Jul 22, 2025
5e6f6fc
Merge branch 'text_input_glyph_color_merge' into text_input
ickshonpe Jul 22, 2025
2ccc77c
Added release content
ickshonpe Jul 22, 2025
1c74aa6
updated examples
ickshonpe Jul 22, 2025
a48eee2
remove input folder, move module
ickshonpe Jul 22, 2025
3e60085
Removed unused import
ickshonpe Jul 22, 2025
b74d174
Fixed paste, Update examples
ickshonpe Jul 22, 2025
4c66c93
add clipboard contents display to `text_input` example
ickshonpe Jul 22, 2025
ae0b136
Improved text_input example layout
ickshonpe Jul 22, 2025
54ba401
Added comments
ickshonpe Jul 22, 2025
565081c
Merge branch 'main' into text-input-widget
ickshonpe Jul 22, 2025
6e9433b
Removed unused
ickshonpe Jul 22, 2025
7a5e197
Derived Copy and Clone for NavAction
ickshonpe Jul 23, 2025
09d6a82
Added TextInputVisibleLines component, allows setting the vertical he…
ickshonpe Jul 23, 2025
c398bcc
Consolidated the two on_focused_keyboard_input systems into one system.
ickshonpe Jul 23, 2025
0ea834f
Improved measure func to support setting height of inputs by number o…
ickshonpe Jul 23, 2025
62c320c
Set no wrap on example outputs
ickshonpe Jul 23, 2025
cb69e87
Fixed example so input nodes fill the space correctly
ickshonpe Jul 23, 2025
a3c7de1
Cleaned up imports
ickshonpe Jul 23, 2025
67350ab
Renamed `cursor_at_end_of_line` to `is_cursor_at_end_of_line`.
ickshonpe Jul 23, 2025
a53975b
FIxed cursor size calculations
ickshonpe Jul 23, 2025
8f4dc02
Merge branch 'main' into text-input-widget
ickshonpe Jul 28, 2025
8f63c8b
Added skeleton of a password input example
ickshonpe Jul 28, 2025
f8c6415
Improved password buffer change detection
ickshonpe Jul 28, 2025
66c7b29
Fixed redraw loop with password masks
ickshonpe Jul 28, 2025
c8b3b23
Updated documentation.
ickshonpe Jul 29, 2025
d66edff
Renamed text input modules to `input_box` and `input_field`
ickshonpe Jul 29, 2025
4d4fd1a
More docs
ickshonpe Jul 29, 2025
0609a98
Removed the `PromptStyle` component, use the text input's attributes.
ickshonpe Jul 29, 2025
c2a8b4b
Fix ui_render prompt errors
ickshonpe Jul 29, 2025
089d291
Consolidated visual styling into `InputStyle` component
ickshonpe Jul 29, 2025
f88a6bc
Store space advance with in `TextInputBuffer`
ickshonpe Jul 29, 2025
d8c8171
Store multi click delay in a resource.
ickshonpe Jul 29, 2025
c428c69
Fixed multi click for input field
ickshonpe Jul 29, 2025
d71e616
New TextInputEvent event, replaces TextInputSubmit event
ickshonpe Jul 29, 2025
e51cf04
Removed unused line
ickshonpe Jul 29, 2025
b56d821
Implement change event
ickshonpe Jul 29, 2025
bd2f191
Added sounds, not working
ickshonpe Jul 29, 2025
5bd784b
Merge branch 'main' into text-input-widget-change-event
ickshonpe Jul 29, 2025
e05de8e
Updated password_input example to show character count
ickshonpe Jul 29, 2025
64beda8
Removed unused
ickshonpe Jul 29, 2025
ccc95c1
Clean up
ickshonpe Jul 29, 2025
dd21c62
Update attributes from text_field component
ickshonpe Jul 29, 2025
b929494
Uncomponent Justify
ickshonpe Jul 29, 2025
7d1d1b1
Add options to text_box struct
ickshonpe Jul 29, 2025
ec0c518
Reworked measure lines system and schedule
ickshonpe Jul 29, 2025
88d69c3
Removed `TextInputSubmitBehaviour` component
ickshonpe Jul 29, 2025
30d9ff5
Don't add plugins by default, updated examples
ickshonpe Jul 29, 2025
ec85b33
Removed unused
ickshonpe Jul 29, 2025
29de4d5
Removed `clear_on_submit` component
ickshonpe Jul 29, 2025
8c49b81
more clean up
ickshonpe Jul 29, 2025
7e4a0dc
Fixed password examples imports
ickshonpe Jul 29, 2025
def8177
Renamed `TextInputMultiClickDelay` to `TextInputMultiClickPeriod`.
ickshonpe Jul 29, 2025
dec3b04
Moved requirements to TextInputBuffer.
ickshonpe Jul 29, 2025
f1f8599
Fixed crashes without `TextInputPlugin` in extraction due to missing …
ickshonpe Jul 29, 2025
e6a90c7
Removed internal import
ickshonpe Jul 29, 2025
be794d5
Merge branch 'main' into text-input-widget
ickshonpe Jul 29, 2025
eb70de1
Fixed spelling errors.
ickshonpe Jul 29, 2025
c76fb95
Merge branch 'text-input-widget' of https://github.com/ickshonpe/bevy…
ickshonpe Jul 29, 2025
0d9f8e6
Replaced internal import
ickshonpe Jul 29, 2025
25c74e7
Fixed more typos
ickshonpe Jul 29, 2025
4c4bb25
lint suggested fixes
ickshonpe Jul 29, 2025
74a5522
More lint fixes
ickshonpe Jul 29, 2025
7f0152b
Even more lints
ickshonpe Jul 29, 2025
41651c2
more lints
ickshonpe Jul 29, 2025
d589273
Fixed example meta data
ickshonpe Jul 29, 2025
931e41a
Fixed example links
ickshonpe Jul 29, 2025
86a4474
Fixed example meta data again
ickshonpe Jul 29, 2025
acf40f7
cargo run -p build-templated-pages -- update examples
ickshonpe Jul 29, 2025
5fa71bd
lint fixes
ickshonpe Jul 29, 2025
45dc6d6
Fixed doc links
ickshonpe Jul 29, 2025
261bf0d
more and more lint fixes
ickshonpe Jul 29, 2025
8cb3f9b
Merge branch 'main' into text-input-widget
ickshonpe Jul 29, 2025
0c23669
lints again
ickshonpe Jul 29, 2025
59dea02
Merge branch 'main' into text-input-widget
ickshonpe Jul 29, 2025
65c5b03
Renamed line_input_node to text_field
ickshonpe Jul 29, 2025
855e159
Removed rogue import from borders example
ickshonpe Jul 29, 2025
3ddde2b
removed lifetime from const
ickshonpe Jul 29, 2025
2516fe4
resolve system ambiguities
ickshonpe Jul 29, 2025
bbe9f3b
Merge branch 'main' into text-input-widget
ickshonpe Jul 30, 2025
1951948
Reorganized schedule.
ickshonpe Jul 30, 2025
5c18ad1
Renamed `text_input_prompt_system` to `update_text_input_prompt_layouts`
ickshonpe Jul 30, 2025
10141ff
Updated prompt system doc comment
ickshonpe Jul 30, 2025
511daa2
Fixed wrong system name
ickshonpe Jul 30, 2025
b8322b8
Removed selection block color component.
ickshonpe Jul 30, 2025
a08fa0f
Reverted `TextLayout` component changes
ickshonpe Jul 30, 2025
ec632ea
Merge branch 'main' into text-input-widget
ickshonpe Jul 30, 2025
7dcf591
Merge branch 'main' into clipboard
ickshonpe Jul 30, 2025
0072d3a
Merge branch 'clipboard' into text-input-widget
ickshonpe Jul 30, 2025
38fcefd
Added new fonts, updated clipboard example
ickshonpe Jul 30, 2025
683f292
Changed the `text_field` example to spawn containing some arabic text.
ickshonpe Jul 30, 2025
ef0579c
Merge branch 'main' into text-input-widget
ickshonpe Jul 30, 2025
b0eb343
Use `bevy_clipboard` crate to access system clipboard for cut, copy a…
ickshonpe Jul 30, 2025
5fcadba
Merge branch 'text-input-widget' of https://github.com/ickshonpe/bevy…
ickshonpe Jul 30, 2025
9f655bb
Merge branch 'main' into text-input-widget
ickshonpe Jul 30, 2025
8bb280f
Merge branch 'main' into text-input-widget
ickshonpe Jul 31, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 63 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ default = [
"animation",
"bevy_asset",
"bevy_audio",
"bevy_clipboard",
"bevy_color",
"bevy_core_pipeline",
"bevy_core_widgets",
Expand Down Expand Up @@ -307,6 +308,9 @@ bevy_log = ["bevy_internal/bevy_log"]
# Enable input focus subsystem
bevy_input_focus = ["bevy_internal/bevy_input_focus"]

# Clipboard access
bevy_clipboard = ["bevy_internal/bevy_clipboard"]

# Headless widget collection for Bevy UI.
bevy_core_widgets = ["bevy_internal/bevy_core_widgets"]

Expand Down Expand Up @@ -2691,12 +2695,12 @@ category = "Input"
wasm = false

[[example]]
name = "text_input"
path = "examples/input/text_input.rs"
name = "ime_text_input"
path = "examples/input/ime_text_input.rs"
doc-scrape-examples = true

[package.metadata.example.text_input]
name = "Text Input"
[package.metadata.example.ime_text_input]
name = "IME Text Input"
description = "Simple text input with IME support"
category = "Input"
wasm = false
Expand Down Expand Up @@ -3360,6 +3364,17 @@ description = "Illustrates creating and updating a button"
category = "UI (User Interface)"
wasm = true

[[example]]
name = "clipboard"
path = "examples/ui/clipboard.rs"
doc-scrape-examples = true

[package.metadata.example.clipboard]
name = "Clipboard"
description = "Demonstrates accessing the clipboard to retrieve and display text"
category = "UI (User Interface)"
wasm = true

[[example]]
name = "display_and_visibility"
path = "examples/ui/display_and_visibility.rs"
Expand Down Expand Up @@ -3471,6 +3486,50 @@ description = "Illustrates creating and updating text"
category = "UI (User Interface)"
wasm = true

[[example]]
name = "text_box"
path = "examples/ui/text_box.rs"
doc-scrape-examples = true

[package.metadata.example.text_box]
name = "Text Box"
description = "Example demonstrating a text input box"
category = "UI (User Interface)"
wasm = true

[[example]]
name = "text_input"
path = "examples/ui/text_input.rs"
doc-scrape-examples = true

[package.metadata.example.text_input]
name = "Text Input"
description = "Example demonstrating multiple text inputs"
category = "UI (User Interface)"
wasm = true

[[example]]
name = "password_input"
path = "examples/ui/password_input.rs"
doc-scrape-examples = true

[package.metadata.example.password_input]
name = "Password Input"
description = "Example demonstrating a password input field"
category = "UI (User Interface)"
wasm = true

[[example]]
name = "text_field"
path = "examples/ui/text_field.rs"
doc-scrape-examples = true

[package.metadata.example.text_field]
name = "Single Line Text Input"
description = "Example demonstrating a single line text input"
category = "UI (User Interface)"
wasm = true

[[example]]
name = "text_background_colors"
path = "examples/ui/text_background_colors.rs"
Expand Down
Binary file added assets/fonts/NotoNaskhArabic-Medium.ttf
Binary file not shown.
Binary file added assets/fonts/NotoSans-Medium.ttf
Binary file not shown.
93 changes: 93 additions & 0 deletions assets/fonts/OFL.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
Copyright 2022 The Noto Project Authors (https://github.com/notofonts/arabic)

This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
https://openfontlicense.org


-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------

PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.

The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.

DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).

"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.

"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.

5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.

TERMINATION
This license becomes null and void if any of the above conditions are
not met.

DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.
Binary file added assets/fonts/Orbitron-Medium.ttf
Binary file not shown.
Binary file added assets/sounds/invalid_key.ogg
Binary file not shown.
Binary file added assets/sounds/key_press.ogg
Binary file not shown.
30 changes: 30 additions & 0 deletions crates/bevy_clipboard/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
[package]
name = "bevy_clipboard"
version = "0.17.0-dev"
edition = "2024"
description = "Provides clipboard support for Bevy Engine"
homepage = "https://bevyengine.org"
repository = "https://github.com/bevyengine/bevy"
license = "MIT OR Apache-2.0"
keywords = ["bevy", "clipboard"]

[dependencies]
# bevy
bevy_app = { path = "../bevy_app", version = "0.17.0-dev", default-features = false }
bevy_ecs = { path = "../bevy_ecs", version = "0.17.0-dev", default-features = false }
bevy_platform = { path = "../bevy_platform", version = "0.17.0-dev", default-features = false }

[target.'cfg(any(windows, unix))'.dependencies]
arboard = { version = "3.5.0", default-features = false }

[target.'cfg(target_arch = "wasm32")'.dependencies]
wasm-bindgen = { version = "0.2" }
web-sys = { version = "0.3", features = ["Navigator", "Clipboard"] }
wasm-bindgen-futures = "0.4"

[lints]
workspace = true

[package.metadata.docs.rs]
rustdoc-args = ["-Zunstable-options", "--generate-link-to-definition"]
all-features = true
Loading
Loading