ratatui_ruby 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. checksums.yaml +4 -4
  2. data/.builds/ruby-3.2.yml +1 -1
  3. data/.builds/ruby-3.3.yml +1 -1
  4. data/.builds/ruby-3.4.yml +1 -1
  5. data/.builds/ruby-4.0.0.yml +1 -1
  6. data/AGENTS.md +2 -1
  7. data/CHANGELOG.md +122 -0
  8. data/REUSE.toml +5 -0
  9. data/Rakefile +1 -1
  10. data/Steepfile +49 -0
  11. data/doc/concepts/debugging.md +401 -0
  12. data/doc/getting_started/quickstart.md +8 -3
  13. data/doc/images/app_all_events.png +0 -0
  14. data/doc/images/app_color_picker.png +0 -0
  15. data/doc/images/app_debugging_showcase.gif +0 -0
  16. data/doc/images/app_debugging_showcase.png +0 -0
  17. data/doc/images/app_login_form.png +0 -0
  18. data/doc/images/app_stateful_interaction.png +0 -0
  19. data/doc/images/verify_quickstart_dsl.png +0 -0
  20. data/doc/images/verify_quickstart_layout.png +0 -0
  21. data/doc/images/verify_quickstart_lifecycle.png +0 -0
  22. data/doc/images/verify_readme_usage.png +0 -0
  23. data/doc/images/widget_barchart.png +0 -0
  24. data/doc/images/widget_block.png +0 -0
  25. data/doc/images/widget_box.png +0 -0
  26. data/doc/images/widget_calendar.png +0 -0
  27. data/doc/images/widget_canvas.png +0 -0
  28. data/doc/images/widget_cell.png +0 -0
  29. data/doc/images/widget_center.png +0 -0
  30. data/doc/images/widget_chart.png +0 -0
  31. data/doc/images/widget_gauge.png +0 -0
  32. data/doc/images/widget_layout_split.png +0 -0
  33. data/doc/images/widget_line_gauge.png +0 -0
  34. data/doc/images/widget_list.png +0 -0
  35. data/doc/images/widget_map.png +0 -0
  36. data/doc/images/widget_overlay.png +0 -0
  37. data/doc/images/widget_popup.png +0 -0
  38. data/doc/images/widget_ratatui_logo.png +0 -0
  39. data/doc/images/widget_ratatui_mascot.png +0 -0
  40. data/doc/images/widget_rect.png +0 -0
  41. data/doc/images/widget_render.png +0 -0
  42. data/doc/images/widget_rich_text.png +0 -0
  43. data/doc/images/widget_scroll_text.png +0 -0
  44. data/doc/images/widget_scrollbar.png +0 -0
  45. data/doc/images/widget_sparkline.png +0 -0
  46. data/doc/images/widget_style_colors.png +0 -0
  47. data/doc/images/widget_table.png +0 -0
  48. data/doc/images/widget_tabs.png +0 -0
  49. data/doc/images/widget_text_width.png +0 -0
  50. data/doc/troubleshooting/async.md +4 -0
  51. data/examples/app_debugging_showcase/README.md +119 -0
  52. data/examples/app_debugging_showcase/app.rb +318 -0
  53. data/examples/widget_canvas/app.rb +19 -14
  54. data/examples/widget_gauge/app.rb +18 -3
  55. data/examples/widget_layout_split/app.rb +16 -4
  56. data/examples/widget_list/app.rb +22 -6
  57. data/examples/widget_rect/app.rb +7 -6
  58. data/examples/widget_rich_text/app.rb +62 -37
  59. data/examples/widget_style_colors/app.rb +26 -47
  60. data/examples/widget_table/app.rb +28 -5
  61. data/examples/widget_text_width/app.rb +6 -4
  62. data/ext/ratatui_ruby/Cargo.lock +48 -1
  63. data/ext/ratatui_ruby/Cargo.toml +6 -2
  64. data/ext/ratatui_ruby/src/color.rs +82 -0
  65. data/ext/ratatui_ruby/src/errors.rs +28 -0
  66. data/ext/ratatui_ruby/src/events.rs +16 -14
  67. data/ext/ratatui_ruby/src/lib.rs +56 -0
  68. data/ext/ratatui_ruby/src/rendering.rs +3 -1
  69. data/ext/ratatui_ruby/src/style.rs +48 -21
  70. data/ext/ratatui_ruby/src/terminal.rs +40 -9
  71. data/ext/ratatui_ruby/src/text.rs +21 -9
  72. data/ext/ratatui_ruby/src/widgets/chart.rs +2 -1
  73. data/ext/ratatui_ruby/src/widgets/layout.rs +90 -2
  74. data/ext/ratatui_ruby/src/widgets/list.rs +6 -5
  75. data/ext/ratatui_ruby/src/widgets/overlay.rs +2 -1
  76. data/ext/ratatui_ruby/src/widgets/table.rs +7 -6
  77. data/ext/ratatui_ruby/src/widgets/table_state.rs +55 -0
  78. data/ext/ratatui_ruby/src/widgets/tabs.rs +3 -2
  79. data/lib/ratatui_ruby/buffer/cell.rb +25 -15
  80. data/lib/ratatui_ruby/buffer.rb +134 -2
  81. data/lib/ratatui_ruby/cell.rb +13 -5
  82. data/lib/ratatui_ruby/debug.rb +215 -0
  83. data/lib/ratatui_ruby/event/key.rb +3 -2
  84. data/lib/ratatui_ruby/event/sync.rb +52 -0
  85. data/lib/ratatui_ruby/event.rb +7 -1
  86. data/lib/ratatui_ruby/layout/constraint.rb +184 -0
  87. data/lib/ratatui_ruby/layout/layout.rb +119 -13
  88. data/lib/ratatui_ruby/layout/position.rb +55 -0
  89. data/lib/ratatui_ruby/layout/rect.rb +188 -0
  90. data/lib/ratatui_ruby/layout/size.rb +55 -0
  91. data/lib/ratatui_ruby/layout.rb +4 -0
  92. data/lib/ratatui_ruby/style/color.rb +149 -0
  93. data/lib/ratatui_ruby/style/style.rb +51 -4
  94. data/lib/ratatui_ruby/style.rb +2 -0
  95. data/lib/ratatui_ruby/symbols.rb +435 -0
  96. data/lib/ratatui_ruby/synthetic_events.rb +86 -0
  97. data/lib/ratatui_ruby/table_state.rb +51 -0
  98. data/lib/ratatui_ruby/terminal_lifecycle.rb +2 -1
  99. data/lib/ratatui_ruby/test_helper/event_injection.rb +34 -1
  100. data/lib/ratatui_ruby/test_helper.rb +9 -0
  101. data/lib/ratatui_ruby/text/line.rb +245 -0
  102. data/lib/ratatui_ruby/text/span.rb +158 -0
  103. data/lib/ratatui_ruby/text.rb +99 -0
  104. data/lib/ratatui_ruby/tui/canvas_factories.rb +103 -0
  105. data/lib/ratatui_ruby/tui/core.rb +13 -2
  106. data/lib/ratatui_ruby/tui/layout_factories.rb +50 -3
  107. data/lib/ratatui_ruby/tui/state_factories.rb +42 -0
  108. data/lib/ratatui_ruby/tui/text_factories.rb +40 -0
  109. data/lib/ratatui_ruby/tui/widget_factories.rb +135 -60
  110. data/lib/ratatui_ruby/tui.rb +22 -1
  111. data/lib/ratatui_ruby/version.rb +1 -1
  112. data/lib/ratatui_ruby/widgets/bar_chart/bar.rb +2 -0
  113. data/lib/ratatui_ruby/widgets/bar_chart/bar_group.rb +2 -0
  114. data/lib/ratatui_ruby/widgets/bar_chart.rb +30 -20
  115. data/lib/ratatui_ruby/widgets/block.rb +14 -6
  116. data/lib/ratatui_ruby/widgets/calendar.rb +2 -0
  117. data/lib/ratatui_ruby/widgets/canvas.rb +56 -0
  118. data/lib/ratatui_ruby/widgets/cell.rb +2 -0
  119. data/lib/ratatui_ruby/widgets/center.rb +2 -0
  120. data/lib/ratatui_ruby/widgets/chart.rb +6 -0
  121. data/lib/ratatui_ruby/widgets/clear.rb +2 -0
  122. data/lib/ratatui_ruby/widgets/coerceable_widget.rb +77 -0
  123. data/lib/ratatui_ruby/widgets/cursor.rb +2 -0
  124. data/lib/ratatui_ruby/widgets/gauge.rb +61 -3
  125. data/lib/ratatui_ruby/widgets/line_gauge.rb +66 -4
  126. data/lib/ratatui_ruby/widgets/list.rb +87 -3
  127. data/lib/ratatui_ruby/widgets/list_item.rb +2 -0
  128. data/lib/ratatui_ruby/widgets/overlay.rb +2 -0
  129. data/lib/ratatui_ruby/widgets/paragraph.rb +4 -0
  130. data/lib/ratatui_ruby/widgets/ratatui_logo.rb +2 -0
  131. data/lib/ratatui_ruby/widgets/ratatui_mascot.rb +2 -0
  132. data/lib/ratatui_ruby/widgets/row.rb +45 -0
  133. data/lib/ratatui_ruby/widgets/scrollbar.rb +2 -0
  134. data/lib/ratatui_ruby/widgets/shape/label.rb +2 -0
  135. data/lib/ratatui_ruby/widgets/sparkline.rb +21 -13
  136. data/lib/ratatui_ruby/widgets/table.rb +13 -3
  137. data/lib/ratatui_ruby/widgets/tabs.rb +6 -4
  138. data/lib/ratatui_ruby/widgets.rb +1 -0
  139. data/lib/ratatui_ruby.rb +51 -16
  140. data/sig/examples/app_all_events/model/app_model.rbs +23 -0
  141. data/sig/examples/app_all_events/model/event_entry.rbs +15 -8
  142. data/sig/examples/app_all_events/model/timestamp.rbs +1 -1
  143. data/sig/examples/app_all_events/view.rbs +1 -1
  144. data/sig/examples/app_stateful_interaction/app.rbs +5 -5
  145. data/sig/examples/widget_block_demo/app.rbs +6 -6
  146. data/sig/manifest.yaml +5 -0
  147. data/sig/patches/data.rbs +26 -0
  148. data/sig/patches/debugger__.rbs +8 -0
  149. data/sig/ratatui_ruby/buffer/cell.rbs +46 -0
  150. data/sig/ratatui_ruby/buffer.rbs +18 -0
  151. data/sig/ratatui_ruby/cell.rbs +44 -0
  152. data/sig/ratatui_ruby/clear.rbs +18 -0
  153. data/sig/ratatui_ruby/constraint.rbs +26 -0
  154. data/sig/ratatui_ruby/debug.rbs +45 -0
  155. data/sig/ratatui_ruby/draw.rbs +30 -0
  156. data/sig/ratatui_ruby/event.rbs +68 -8
  157. data/sig/ratatui_ruby/frame.rbs +4 -4
  158. data/sig/ratatui_ruby/interfaces.rbs +25 -0
  159. data/sig/ratatui_ruby/layout/constraint.rbs +39 -0
  160. data/sig/ratatui_ruby/layout/layout.rbs +45 -0
  161. data/sig/ratatui_ruby/layout/position.rbs +18 -0
  162. data/sig/ratatui_ruby/layout/rect.rbs +64 -0
  163. data/sig/ratatui_ruby/layout/size.rbs +18 -0
  164. data/sig/ratatui_ruby/output_guard.rbs +23 -0
  165. data/sig/ratatui_ruby/ratatui_ruby.rbs +83 -4
  166. data/sig/ratatui_ruby/rect.rbs +17 -0
  167. data/sig/ratatui_ruby/style/color.rbs +22 -0
  168. data/sig/ratatui_ruby/style/style.rbs +29 -0
  169. data/sig/ratatui_ruby/symbols.rbs +141 -0
  170. data/sig/ratatui_ruby/synthetic_events.rbs +21 -0
  171. data/sig/ratatui_ruby/table_state.rbs +6 -0
  172. data/sig/ratatui_ruby/terminal_lifecycle.rbs +31 -0
  173. data/sig/ratatui_ruby/test_helper/event_injection.rbs +2 -2
  174. data/sig/ratatui_ruby/test_helper/snapshot.rbs +22 -3
  175. data/sig/ratatui_ruby/test_helper/style_assertions.rbs +8 -1
  176. data/sig/ratatui_ruby/test_helper/test_doubles.rbs +7 -3
  177. data/sig/ratatui_ruby/text/line.rbs +27 -0
  178. data/sig/ratatui_ruby/text/span.rbs +23 -0
  179. data/sig/ratatui_ruby/text.rbs +12 -0
  180. data/sig/ratatui_ruby/tui/buffer_factories.rbs +1 -1
  181. data/sig/ratatui_ruby/tui/canvas_factories.rbs +23 -5
  182. data/sig/ratatui_ruby/tui/core.rbs +2 -2
  183. data/sig/ratatui_ruby/tui/layout_factories.rbs +16 -2
  184. data/sig/ratatui_ruby/tui/state_factories.rbs +8 -3
  185. data/sig/ratatui_ruby/tui/style_factories.rbs +3 -1
  186. data/sig/ratatui_ruby/tui/text_factories.rbs +7 -4
  187. data/sig/ratatui_ruby/tui/widget_factories.rbs +123 -30
  188. data/sig/ratatui_ruby/widgets/bar_chart.rbs +95 -0
  189. data/sig/ratatui_ruby/widgets/block.rbs +51 -0
  190. data/sig/ratatui_ruby/widgets/calendar.rbs +45 -0
  191. data/sig/ratatui_ruby/widgets/canvas.rbs +95 -0
  192. data/sig/ratatui_ruby/widgets/chart.rbs +91 -0
  193. data/sig/ratatui_ruby/widgets/coerceable_widget.rbs +26 -0
  194. data/sig/ratatui_ruby/widgets/gauge.rbs +44 -0
  195. data/sig/ratatui_ruby/widgets/line_gauge.rbs +48 -0
  196. data/sig/ratatui_ruby/widgets/list.rbs +63 -0
  197. data/sig/ratatui_ruby/widgets/misc.rbs +158 -0
  198. data/sig/ratatui_ruby/widgets/paragraph.rbs +45 -0
  199. data/sig/ratatui_ruby/widgets/row.rbs +43 -0
  200. data/sig/ratatui_ruby/widgets/scrollbar.rbs +53 -0
  201. data/sig/ratatui_ruby/widgets/shape/label.rbs +37 -0
  202. data/sig/ratatui_ruby/widgets/sparkline.rbs +45 -0
  203. data/sig/ratatui_ruby/widgets/table.rbs +78 -0
  204. data/sig/ratatui_ruby/widgets/tabs.rbs +44 -0
  205. data/sig/ratatui_ruby/{schema/list_item.rbs → widgets.rbs} +4 -4
  206. data/tasks/steep.rake +11 -0
  207. metadata +82 -63
  208. data/doc/contributors/v1.0.0_blockers.md +0 -876
  209. data/doc/troubleshooting/debugging.md +0 -101
  210. data/lib/ratatui_ruby/schema/bar_chart/bar.rb +0 -47
  211. data/lib/ratatui_ruby/schema/bar_chart/bar_group.rb +0 -25
  212. data/lib/ratatui_ruby/schema/bar_chart.rb +0 -287
  213. data/lib/ratatui_ruby/schema/block.rb +0 -198
  214. data/lib/ratatui_ruby/schema/calendar.rb +0 -84
  215. data/lib/ratatui_ruby/schema/canvas.rb +0 -239
  216. data/lib/ratatui_ruby/schema/center.rb +0 -67
  217. data/lib/ratatui_ruby/schema/chart.rb +0 -159
  218. data/lib/ratatui_ruby/schema/clear.rb +0 -62
  219. data/lib/ratatui_ruby/schema/constraint.rb +0 -151
  220. data/lib/ratatui_ruby/schema/cursor.rb +0 -50
  221. data/lib/ratatui_ruby/schema/gauge.rb +0 -72
  222. data/lib/ratatui_ruby/schema/layout.rb +0 -122
  223. data/lib/ratatui_ruby/schema/line_gauge.rb +0 -80
  224. data/lib/ratatui_ruby/schema/list.rb +0 -135
  225. data/lib/ratatui_ruby/schema/list_item.rb +0 -51
  226. data/lib/ratatui_ruby/schema/overlay.rb +0 -51
  227. data/lib/ratatui_ruby/schema/paragraph.rb +0 -107
  228. data/lib/ratatui_ruby/schema/ratatui_logo.rb +0 -31
  229. data/lib/ratatui_ruby/schema/ratatui_mascot.rb +0 -36
  230. data/lib/ratatui_ruby/schema/rect.rb +0 -174
  231. data/lib/ratatui_ruby/schema/row.rb +0 -76
  232. data/lib/ratatui_ruby/schema/scrollbar.rb +0 -143
  233. data/lib/ratatui_ruby/schema/shape/label.rb +0 -76
  234. data/lib/ratatui_ruby/schema/sparkline.rb +0 -142
  235. data/lib/ratatui_ruby/schema/style.rb +0 -97
  236. data/lib/ratatui_ruby/schema/table.rb +0 -141
  237. data/lib/ratatui_ruby/schema/tabs.rb +0 -85
  238. data/lib/ratatui_ruby/schema/text.rb +0 -217
  239. data/sig/examples/app_all_events/model/events.rbs +0 -15
  240. data/sig/examples/app_all_events/view_state.rbs +0 -21
  241. data/sig/ratatui_ruby/schema/bar_chart/bar.rbs +0 -22
  242. data/sig/ratatui_ruby/schema/bar_chart/bar_group.rbs +0 -19
  243. data/sig/ratatui_ruby/schema/bar_chart.rbs +0 -38
  244. data/sig/ratatui_ruby/schema/block.rbs +0 -18
  245. data/sig/ratatui_ruby/schema/calendar.rbs +0 -23
  246. data/sig/ratatui_ruby/schema/canvas.rbs +0 -81
  247. data/sig/ratatui_ruby/schema/center.rbs +0 -17
  248. data/sig/ratatui_ruby/schema/chart.rbs +0 -39
  249. data/sig/ratatui_ruby/schema/constraint.rbs +0 -22
  250. data/sig/ratatui_ruby/schema/cursor.rbs +0 -16
  251. data/sig/ratatui_ruby/schema/draw.rbs +0 -33
  252. data/sig/ratatui_ruby/schema/gauge.rbs +0 -23
  253. data/sig/ratatui_ruby/schema/layout.rbs +0 -27
  254. data/sig/ratatui_ruby/schema/line_gauge.rbs +0 -24
  255. data/sig/ratatui_ruby/schema/list.rbs +0 -28
  256. data/sig/ratatui_ruby/schema/overlay.rbs +0 -15
  257. data/sig/ratatui_ruby/schema/paragraph.rbs +0 -20
  258. data/sig/ratatui_ruby/schema/ratatui_logo.rbs +0 -14
  259. data/sig/ratatui_ruby/schema/ratatui_mascot.rbs +0 -17
  260. data/sig/ratatui_ruby/schema/rect.rbs +0 -48
  261. data/sig/ratatui_ruby/schema/row.rbs +0 -28
  262. data/sig/ratatui_ruby/schema/scrollbar.rbs +0 -42
  263. data/sig/ratatui_ruby/schema/sparkline.rbs +0 -22
  264. data/sig/ratatui_ruby/schema/style.rbs +0 -19
  265. data/sig/ratatui_ruby/schema/table.rbs +0 -32
  266. data/sig/ratatui_ruby/schema/tabs.rbs +0 -21
  267. data/sig/ratatui_ruby/schema/text.rbs +0 -31
  268. /data/lib/ratatui_ruby/{schema/draw.rb → draw.rb} +0 -0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ratatui_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kerrick Long
@@ -79,6 +79,20 @@ dependencies:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
81
  version: 3.5.3
82
+ - !ruby/object:Gem::Dependency
83
+ name: debug
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '1.0'
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '1.0'
82
96
  description: ratatui_ruby is a wrapper for the Ratatui Rust crate <https://ratatui.rs>.
83
97
  It allows you to cook up Terminal User Interfaces in Ruby.
84
98
  email:
@@ -107,10 +121,12 @@ files:
107
121
  - README.md
108
122
  - REUSE.toml
109
123
  - Rakefile
124
+ - Steepfile
110
125
  - doc/concepts/application_architecture.md
111
126
  - doc/concepts/application_testing.md
112
127
  - doc/concepts/async.md
113
128
  - doc/concepts/custom_widgets.md
129
+ - doc/concepts/debugging.md
114
130
  - doc/concepts/event_handling.md
115
131
  - doc/concepts/interactive_design.md
116
132
  - doc/contributors/auditing/parity.md
@@ -123,12 +139,13 @@ files:
123
139
  - doc/contributors/index.md
124
140
  - doc/contributors/upstream_requests/tab_rects.md
125
141
  - doc/contributors/upstream_requests/title_rects.md
126
- - doc/contributors/v1.0.0_blockers.md
127
142
  - doc/custom.css
128
143
  - doc/getting_started/quickstart.md
129
144
  - doc/getting_started/why.md
130
145
  - doc/images/app_all_events.png
131
146
  - doc/images/app_color_picker.png
147
+ - doc/images/app_debugging_showcase.gif
148
+ - doc/images/app_debugging_showcase.png
132
149
  - doc/images/app_login_form.png
133
150
  - doc/images/app_stateful_interaction.png
134
151
  - doc/images/verify_quickstart_dsl.png
@@ -163,7 +180,7 @@ files:
163
180
  - doc/images/widget_tabs.png
164
181
  - doc/images/widget_text_width.png
165
182
  - doc/index.md
166
- - doc/troubleshooting/debugging.md
183
+ - doc/troubleshooting/async.md
167
184
  - doc/troubleshooting/terminal_limitations.md
168
185
  - doc/troubleshooting/tui_output.md
169
186
  - examples/app_all_events/README.md
@@ -191,6 +208,8 @@ files:
191
208
  - examples/app_color_picker/input.rb
192
209
  - examples/app_color_picker/main_container.rb
193
210
  - examples/app_color_picker/palette.rb
211
+ - examples/app_debugging_showcase/README.md
212
+ - examples/app_debugging_showcase/app.rb
194
213
  - examples/app_login_form/README.md
195
214
  - examples/app_login_form/app.rb
196
215
  - examples/app_stateful_interaction/README.md
@@ -266,6 +285,8 @@ files:
266
285
  - ext/ratatui_ruby/Cargo.toml
267
286
  - ext/ratatui_ruby/clippy.toml
268
287
  - ext/ratatui_ruby/extconf.rb
288
+ - ext/ratatui_ruby/src/color.rs
289
+ - ext/ratatui_ruby/src/errors.rs
269
290
  - ext/ratatui_ruby/src/events.rs
270
291
  - ext/ratatui_ruby/src/frame.rs
271
292
  - ext/ratatui_ruby/src/lib.rs
@@ -302,6 +323,8 @@ files:
302
323
  - lib/ratatui_ruby/buffer.rb
303
324
  - lib/ratatui_ruby/buffer/cell.rb
304
325
  - lib/ratatui_ruby/cell.rb
326
+ - lib/ratatui_ruby/debug.rb
327
+ - lib/ratatui_ruby/draw.rb
305
328
  - lib/ratatui_ruby/event.rb
306
329
  - lib/ratatui_ruby/event/focus_gained.rb
307
330
  - lib/ratatui_ruby/event/focus_lost.rb
@@ -315,46 +338,22 @@ files:
315
338
  - lib/ratatui_ruby/event/none.rb
316
339
  - lib/ratatui_ruby/event/paste.rb
317
340
  - lib/ratatui_ruby/event/resize.rb
341
+ - lib/ratatui_ruby/event/sync.rb
318
342
  - lib/ratatui_ruby/frame.rb
319
343
  - lib/ratatui_ruby/layout.rb
320
344
  - lib/ratatui_ruby/layout/constraint.rb
321
345
  - lib/ratatui_ruby/layout/layout.rb
346
+ - lib/ratatui_ruby/layout/position.rb
322
347
  - lib/ratatui_ruby/layout/rect.rb
348
+ - lib/ratatui_ruby/layout/size.rb
323
349
  - lib/ratatui_ruby/list_state.rb
324
350
  - lib/ratatui_ruby/output_guard.rb
325
- - lib/ratatui_ruby/schema/bar_chart.rb
326
- - lib/ratatui_ruby/schema/bar_chart/bar.rb
327
- - lib/ratatui_ruby/schema/bar_chart/bar_group.rb
328
- - lib/ratatui_ruby/schema/block.rb
329
- - lib/ratatui_ruby/schema/calendar.rb
330
- - lib/ratatui_ruby/schema/canvas.rb
331
- - lib/ratatui_ruby/schema/center.rb
332
- - lib/ratatui_ruby/schema/chart.rb
333
- - lib/ratatui_ruby/schema/clear.rb
334
- - lib/ratatui_ruby/schema/constraint.rb
335
- - lib/ratatui_ruby/schema/cursor.rb
336
- - lib/ratatui_ruby/schema/draw.rb
337
- - lib/ratatui_ruby/schema/gauge.rb
338
- - lib/ratatui_ruby/schema/layout.rb
339
- - lib/ratatui_ruby/schema/line_gauge.rb
340
- - lib/ratatui_ruby/schema/list.rb
341
- - lib/ratatui_ruby/schema/list_item.rb
342
- - lib/ratatui_ruby/schema/overlay.rb
343
- - lib/ratatui_ruby/schema/paragraph.rb
344
- - lib/ratatui_ruby/schema/ratatui_logo.rb
345
- - lib/ratatui_ruby/schema/ratatui_mascot.rb
346
- - lib/ratatui_ruby/schema/rect.rb
347
- - lib/ratatui_ruby/schema/row.rb
348
- - lib/ratatui_ruby/schema/scrollbar.rb
349
- - lib/ratatui_ruby/schema/shape/label.rb
350
- - lib/ratatui_ruby/schema/sparkline.rb
351
- - lib/ratatui_ruby/schema/style.rb
352
- - lib/ratatui_ruby/schema/table.rb
353
- - lib/ratatui_ruby/schema/tabs.rb
354
- - lib/ratatui_ruby/schema/text.rb
355
351
  - lib/ratatui_ruby/scrollbar_state.rb
356
352
  - lib/ratatui_ruby/style.rb
353
+ - lib/ratatui_ruby/style/color.rb
357
354
  - lib/ratatui_ruby/style/style.rb
355
+ - lib/ratatui_ruby/symbols.rb
356
+ - lib/ratatui_ruby/synthetic_events.rb
358
357
  - lib/ratatui_ruby/table_state.rb
359
358
  - lib/ratatui_ruby/terminal_lifecycle.rb
360
359
  - lib/ratatui_ruby/test_helper.rb
@@ -384,6 +383,9 @@ files:
384
383
  - lib/ratatui_ruby/test_helper/style_assertions.rb
385
384
  - lib/ratatui_ruby/test_helper/terminal.rb
386
385
  - lib/ratatui_ruby/test_helper/test_doubles.rb
386
+ - lib/ratatui_ruby/text.rb
387
+ - lib/ratatui_ruby/text/line.rb
388
+ - lib/ratatui_ruby/text/span.rb
387
389
  - lib/ratatui_ruby/tui.rb
388
390
  - lib/ratatui_ruby/tui/buffer_factories.rb
389
391
  - lib/ratatui_ruby/tui/canvas_factories.rb
@@ -405,6 +407,7 @@ files:
405
407
  - lib/ratatui_ruby/widgets/center.rb
406
408
  - lib/ratatui_ruby/widgets/chart.rb
407
409
  - lib/ratatui_ruby/widgets/clear.rb
410
+ - lib/ratatui_ruby/widgets/coerceable_widget.rb
408
411
  - lib/ratatui_ruby/widgets/cursor.rb
409
412
  - lib/ratatui_ruby/widgets/gauge.rb
410
413
  - lib/ratatui_ruby/widgets/line_gauge.rb
@@ -422,8 +425,8 @@ files:
422
425
  - lib/ratatui_ruby/widgets/tabs.rb
423
426
  - mise.toml
424
427
  - sig/examples/app_all_events/app.rbs
428
+ - sig/examples/app_all_events/model/app_model.rbs
425
429
  - sig/examples/app_all_events/model/event_entry.rbs
426
- - sig/examples/app_all_events/model/events.rbs
427
430
  - sig/examples/app_all_events/model/timestamp.rbs
428
431
  - sig/examples/app_all_events/view.rbs
429
432
  - sig/examples/app_all_events/view/app_view.rbs
@@ -431,7 +434,6 @@ files:
431
434
  - sig/examples/app_all_events/view/counts_view.rbs
432
435
  - sig/examples/app_all_events/view/live_view.rbs
433
436
  - sig/examples/app_all_events/view/log_view.rbs
434
- - sig/examples/app_all_events/view_state.rbs
435
437
  - sig/examples/app_color_picker/app.rbs
436
438
  - sig/examples/app_login_form/app.rbs
437
439
  - sig/examples/app_stateful_interaction/app.rbs
@@ -460,47 +462,45 @@ files:
460
462
  - sig/examples/widget_style_colors/app.rbs
461
463
  - sig/examples/widget_table_demo/app.rbs
462
464
  - sig/examples/widget_text_width/app.rbs
465
+ - sig/manifest.yaml
466
+ - sig/patches/data.rbs
467
+ - sig/patches/debugger__.rbs
468
+ - sig/ratatui_ruby/buffer.rbs
469
+ - sig/ratatui_ruby/buffer/cell.rbs
470
+ - sig/ratatui_ruby/cell.rbs
471
+ - sig/ratatui_ruby/clear.rbs
472
+ - sig/ratatui_ruby/constraint.rbs
473
+ - sig/ratatui_ruby/debug.rbs
474
+ - sig/ratatui_ruby/draw.rbs
463
475
  - sig/ratatui_ruby/event.rbs
464
476
  - sig/ratatui_ruby/frame.rbs
477
+ - sig/ratatui_ruby/interfaces.rbs
478
+ - sig/ratatui_ruby/layout/constraint.rbs
479
+ - sig/ratatui_ruby/layout/layout.rbs
480
+ - sig/ratatui_ruby/layout/position.rbs
481
+ - sig/ratatui_ruby/layout/rect.rbs
482
+ - sig/ratatui_ruby/layout/size.rbs
465
483
  - sig/ratatui_ruby/list_state.rbs
484
+ - sig/ratatui_ruby/output_guard.rbs
466
485
  - sig/ratatui_ruby/ratatui_ruby.rbs
467
- - sig/ratatui_ruby/schema/bar_chart.rbs
468
- - sig/ratatui_ruby/schema/bar_chart/bar.rbs
469
- - sig/ratatui_ruby/schema/bar_chart/bar_group.rbs
470
- - sig/ratatui_ruby/schema/block.rbs
471
- - sig/ratatui_ruby/schema/calendar.rbs
472
- - sig/ratatui_ruby/schema/canvas.rbs
473
- - sig/ratatui_ruby/schema/center.rbs
474
- - sig/ratatui_ruby/schema/chart.rbs
475
- - sig/ratatui_ruby/schema/constraint.rbs
476
- - sig/ratatui_ruby/schema/cursor.rbs
477
- - sig/ratatui_ruby/schema/draw.rbs
478
- - sig/ratatui_ruby/schema/gauge.rbs
479
- - sig/ratatui_ruby/schema/layout.rbs
480
- - sig/ratatui_ruby/schema/line_gauge.rbs
481
- - sig/ratatui_ruby/schema/list.rbs
482
- - sig/ratatui_ruby/schema/list_item.rbs
483
- - sig/ratatui_ruby/schema/overlay.rbs
484
- - sig/ratatui_ruby/schema/paragraph.rbs
485
- - sig/ratatui_ruby/schema/ratatui_logo.rbs
486
- - sig/ratatui_ruby/schema/ratatui_mascot.rbs
487
- - sig/ratatui_ruby/schema/rect.rbs
488
- - sig/ratatui_ruby/schema/row.rbs
489
- - sig/ratatui_ruby/schema/scrollbar.rbs
490
- - sig/ratatui_ruby/schema/sparkline.rbs
491
- - sig/ratatui_ruby/schema/style.rbs
492
- - sig/ratatui_ruby/schema/table.rbs
493
- - sig/ratatui_ruby/schema/tabs.rbs
494
- - sig/ratatui_ruby/schema/text.rbs
486
+ - sig/ratatui_ruby/rect.rbs
495
487
  - sig/ratatui_ruby/scrollbar_state.rbs
496
488
  - sig/ratatui_ruby/session.rbs
489
+ - sig/ratatui_ruby/style/color.rbs
490
+ - sig/ratatui_ruby/style/style.rbs
491
+ - sig/ratatui_ruby/symbols.rbs
492
+ - sig/ratatui_ruby/synthetic_events.rbs
497
493
  - sig/ratatui_ruby/table_state.rbs
494
+ - sig/ratatui_ruby/terminal_lifecycle.rbs
498
495
  - sig/ratatui_ruby/test_helper.rbs
499
496
  - sig/ratatui_ruby/test_helper/event_injection.rbs
500
497
  - sig/ratatui_ruby/test_helper/snapshot.rbs
501
498
  - sig/ratatui_ruby/test_helper/style_assertions.rbs
502
499
  - sig/ratatui_ruby/test_helper/terminal.rbs
503
500
  - sig/ratatui_ruby/test_helper/test_doubles.rbs
501
+ - sig/ratatui_ruby/text.rbs
502
+ - sig/ratatui_ruby/text/line.rbs
503
+ - sig/ratatui_ruby/text/span.rbs
504
504
  - sig/ratatui_ruby/tui.rbs
505
505
  - sig/ratatui_ruby/tui/buffer_factories.rbs
506
506
  - sig/ratatui_ruby/tui/canvas_factories.rbs
@@ -511,6 +511,24 @@ files:
511
511
  - sig/ratatui_ruby/tui/text_factories.rbs
512
512
  - sig/ratatui_ruby/tui/widget_factories.rbs
513
513
  - sig/ratatui_ruby/version.rbs
514
+ - sig/ratatui_ruby/widgets.rbs
515
+ - sig/ratatui_ruby/widgets/bar_chart.rbs
516
+ - sig/ratatui_ruby/widgets/block.rbs
517
+ - sig/ratatui_ruby/widgets/calendar.rbs
518
+ - sig/ratatui_ruby/widgets/canvas.rbs
519
+ - sig/ratatui_ruby/widgets/chart.rbs
520
+ - sig/ratatui_ruby/widgets/coerceable_widget.rbs
521
+ - sig/ratatui_ruby/widgets/gauge.rbs
522
+ - sig/ratatui_ruby/widgets/line_gauge.rbs
523
+ - sig/ratatui_ruby/widgets/list.rbs
524
+ - sig/ratatui_ruby/widgets/misc.rbs
525
+ - sig/ratatui_ruby/widgets/paragraph.rbs
526
+ - sig/ratatui_ruby/widgets/row.rbs
527
+ - sig/ratatui_ruby/widgets/scrollbar.rbs
528
+ - sig/ratatui_ruby/widgets/shape/label.rbs
529
+ - sig/ratatui_ruby/widgets/sparkline.rbs
530
+ - sig/ratatui_ruby/widgets/table.rbs
531
+ - sig/ratatui_ruby/widgets/tabs.rbs
514
532
  - tasks/autodoc.rake
515
533
  - tasks/autodoc/examples.rb
516
534
  - tasks/autodoc/member.rb
@@ -540,6 +558,7 @@ files:
540
558
  - tasks/resources/index.html.erb
541
559
  - tasks/resources/rubies.yml
542
560
  - tasks/sourcehut.rake
561
+ - tasks/steep.rake
543
562
  - tasks/terminal_preview.rake
544
563
  - tasks/terminal_preview/app_screenshot.rb
545
564
  - tasks/terminal_preview/crash_report.rb