ratatui_ruby 0.4.0 → 0.6.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 (441) 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 +98 -176
  7. data/CHANGELOG.md +80 -6
  8. data/README.md +19 -7
  9. data/REUSE.toml +15 -0
  10. data/doc/application_architecture.md +179 -45
  11. data/doc/application_testing.md +80 -32
  12. data/doc/contributors/design/ruby_frontend.md +48 -8
  13. data/doc/contributors/design/rust_backend.md +1 -0
  14. data/doc/contributors/developing_examples.md +191 -48
  15. data/doc/contributors/documentation_style.md +7 -0
  16. data/doc/contributors/examples_audit/p1_high.md +21 -0
  17. data/doc/contributors/examples_audit/p2_moderate.md +81 -0
  18. data/doc/contributors/examples_audit.md +41 -0
  19. data/doc/contributors/index.md +2 -0
  20. data/doc/event_handling.md +21 -7
  21. data/doc/images/app_all_events.png +0 -0
  22. data/doc/images/app_color_picker.png +0 -0
  23. data/doc/images/app_login_form.png +0 -0
  24. data/doc/images/app_stateful_interaction.png +0 -0
  25. data/doc/images/verify_quickstart_dsl.png +0 -0
  26. data/doc/images/verify_quickstart_layout.png +0 -0
  27. data/doc/images/verify_quickstart_lifecycle.png +0 -0
  28. data/doc/images/verify_readme_usage.png +0 -0
  29. data/doc/images/widget_barchart_demo.png +0 -0
  30. data/doc/images/widget_block_demo.png +0 -0
  31. data/doc/images/widget_box_demo.png +0 -0
  32. data/doc/images/widget_calendar_demo.png +0 -0
  33. data/doc/images/widget_canvas_demo.png +0 -0
  34. data/doc/images/widget_cell_demo.png +0 -0
  35. data/doc/images/widget_center_demo.png +0 -0
  36. data/doc/images/widget_chart_demo.png +0 -0
  37. data/doc/images/widget_gauge_demo.png +0 -0
  38. data/doc/images/widget_layout_split.png +0 -0
  39. data/doc/images/widget_line_gauge_demo.png +0 -0
  40. data/doc/images/widget_list_demo.png +0 -0
  41. data/doc/images/widget_overlay_demo.png +0 -0
  42. data/doc/images/widget_ratatui_logo_demo.png +0 -0
  43. data/doc/images/widget_ratatui_mascot_demo.png +0 -0
  44. data/doc/images/widget_render.png +0 -0
  45. data/doc/images/widget_rich_text.png +0 -0
  46. data/doc/images/widget_scroll_text.png +0 -0
  47. data/doc/images/widget_scrollbar_demo.png +0 -0
  48. data/doc/images/widget_sparkline_demo.png +0 -0
  49. data/doc/images/widget_style_colors.png +0 -0
  50. data/doc/images/widget_table_demo.png +0 -0
  51. data/doc/images/widget_table_flex.png +0 -0
  52. data/doc/images/widget_tabs_demo.png +0 -0
  53. data/doc/images/widget_text_width.png +0 -0
  54. data/doc/interactive_design.md +25 -30
  55. data/doc/quickstart.md +150 -130
  56. data/doc/terminal_limitations.md +92 -0
  57. data/examples/app_all_events/README.md +99 -0
  58. data/examples/app_all_events/app.rb +96 -0
  59. data/examples/app_all_events/model/app_model.rb +157 -0
  60. data/examples/app_all_events/model/event_color_cycle.rb +41 -0
  61. data/examples/app_all_events/model/event_entry.rb +92 -0
  62. data/examples/app_all_events/model/msg.rb +37 -0
  63. data/examples/app_all_events/model/timestamp.rb +54 -0
  64. data/examples/app_all_events/update.rb +73 -0
  65. data/examples/app_all_events/view/app_view.rb +78 -0
  66. data/examples/app_all_events/view/controls_view.rb +52 -0
  67. data/examples/app_all_events/view/counts_view.rb +59 -0
  68. data/examples/app_all_events/view/live_view.rb +70 -0
  69. data/examples/app_all_events/view/log_view.rb +55 -0
  70. data/examples/app_all_events/view.rb +7 -0
  71. data/examples/app_color_picker/README.md +134 -0
  72. data/examples/app_color_picker/app.rb +74 -0
  73. data/examples/app_color_picker/clipboard.rb +84 -0
  74. data/examples/app_color_picker/color.rb +191 -0
  75. data/examples/app_color_picker/controls.rb +90 -0
  76. data/examples/app_color_picker/copy_dialog.rb +166 -0
  77. data/examples/app_color_picker/export_pane.rb +126 -0
  78. data/examples/app_color_picker/harmony.rb +56 -0
  79. data/examples/app_color_picker/input.rb +174 -0
  80. data/examples/app_color_picker/main_container.rb +178 -0
  81. data/examples/app_color_picker/palette.rb +109 -0
  82. data/examples/app_login_form/README.md +47 -0
  83. data/examples/{login_form → app_login_form}/app.rb +38 -42
  84. data/examples/app_stateful_interaction/README.md +31 -0
  85. data/examples/app_stateful_interaction/app.rb +272 -0
  86. data/examples/timeout_demo.rb +43 -0
  87. data/examples/verify_quickstart_dsl/README.md +48 -0
  88. data/examples/{quickstart_dsl → verify_quickstart_dsl}/app.rb +17 -6
  89. data/examples/verify_quickstart_layout/README.md +71 -0
  90. data/examples/verify_quickstart_layout/app.rb +71 -0
  91. data/examples/verify_quickstart_lifecycle/README.md +56 -0
  92. data/examples/verify_quickstart_lifecycle/app.rb +54 -0
  93. data/examples/verify_readme_usage/README.md +43 -0
  94. data/examples/verify_readme_usage/app.rb +40 -0
  95. data/examples/widget_barchart_demo/README.md +49 -0
  96. data/examples/widget_barchart_demo/app.rb +238 -0
  97. data/examples/widget_block_demo/README.md +34 -0
  98. data/examples/widget_block_demo/app.rb +256 -0
  99. data/examples/widget_box_demo/README.md +45 -0
  100. data/examples/{box_demo → widget_box_demo}/app.rb +99 -65
  101. data/examples/widget_calendar_demo/README.md +39 -0
  102. data/examples/widget_calendar_demo/app.rb +109 -0
  103. data/examples/widget_canvas_demo/README.md +27 -0
  104. data/examples/widget_canvas_demo/app.rb +123 -0
  105. data/examples/widget_cell_demo/README.md +36 -0
  106. data/examples/widget_cell_demo/app.rb +111 -0
  107. data/examples/widget_center_demo/README.md +29 -0
  108. data/examples/widget_center_demo/app.rb +116 -0
  109. data/examples/widget_chart_demo/README.md +41 -0
  110. data/examples/widget_chart_demo/app.rb +218 -0
  111. data/examples/widget_gauge_demo/README.md +41 -0
  112. data/examples/widget_gauge_demo/app.rb +212 -0
  113. data/examples/widget_layout_split/README.md +44 -0
  114. data/examples/widget_layout_split/app.rb +246 -0
  115. data/examples/widget_line_gauge_demo/README.md +41 -0
  116. data/examples/widget_line_gauge_demo/app.rb +217 -0
  117. data/examples/widget_list_demo/README.md +49 -0
  118. data/examples/widget_list_demo/app.rb +366 -0
  119. data/examples/widget_map_demo/README.md +39 -0
  120. data/examples/{map_demo → widget_map_demo}/app.rb +24 -21
  121. data/examples/widget_overlay_demo/app.rb +248 -0
  122. data/examples/widget_popup_demo/README.md +36 -0
  123. data/examples/widget_popup_demo/app.rb +104 -0
  124. data/examples/widget_ratatui_logo_demo/README.md +34 -0
  125. data/examples/widget_ratatui_logo_demo/app.rb +103 -0
  126. data/examples/widget_ratatui_mascot_demo/README.md +34 -0
  127. data/examples/widget_ratatui_mascot_demo/app.rb +93 -0
  128. data/examples/widget_rect/README.md +38 -0
  129. data/examples/widget_rect/app.rb +205 -0
  130. data/examples/widget_render/README.md +37 -0
  131. data/examples/widget_render/app.rb +184 -0
  132. data/examples/widget_rich_text/README.md +35 -0
  133. data/examples/widget_rich_text/app.rb +166 -0
  134. data/examples/widget_scroll_text/README.md +37 -0
  135. data/examples/widget_scroll_text/app.rb +107 -0
  136. data/examples/widget_scrollbar_demo/README.md +37 -0
  137. data/examples/widget_scrollbar_demo/app.rb +153 -0
  138. data/examples/widget_sparkline_demo/README.md +42 -0
  139. data/examples/widget_sparkline_demo/app.rb +275 -0
  140. data/examples/widget_style_colors/README.md +34 -0
  141. data/examples/widget_style_colors/app.rb +19 -21
  142. data/examples/widget_table_demo/README.md +48 -0
  143. data/examples/widget_table_demo/app.rb +239 -0
  144. data/examples/widget_tabs_demo/README.md +41 -0
  145. data/examples/widget_tabs_demo/app.rb +181 -0
  146. data/examples/widget_text_width/README.md +35 -0
  147. data/examples/widget_text_width/app.rb +106 -0
  148. data/ext/ratatui_ruby/Cargo.lock +11 -4
  149. data/ext/ratatui_ruby/Cargo.toml +2 -1
  150. data/ext/ratatui_ruby/src/events.rs +359 -62
  151. data/ext/ratatui_ruby/src/frame.rs +227 -0
  152. data/ext/ratatui_ruby/src/lib.rs +110 -27
  153. data/ext/ratatui_ruby/src/rendering.rs +8 -4
  154. data/ext/ratatui_ruby/src/string_width.rs +101 -0
  155. data/ext/ratatui_ruby/src/style.rs +138 -57
  156. data/ext/ratatui_ruby/src/terminal.rs +42 -22
  157. data/ext/ratatui_ruby/src/text.rs +14 -7
  158. data/ext/ratatui_ruby/src/widgets/barchart.rs +74 -54
  159. data/ext/ratatui_ruby/src/widgets/block.rs +7 -6
  160. data/ext/ratatui_ruby/src/widgets/canvas.rs +21 -3
  161. data/ext/ratatui_ruby/src/widgets/chart.rs +20 -10
  162. data/ext/ratatui_ruby/src/widgets/gauge.rs +9 -2
  163. data/ext/ratatui_ruby/src/widgets/layout.rs +9 -4
  164. data/ext/ratatui_ruby/src/widgets/line_gauge.rs +9 -2
  165. data/ext/ratatui_ruby/src/widgets/list.rs +211 -12
  166. data/ext/ratatui_ruby/src/widgets/list_state.rs +137 -0
  167. data/ext/ratatui_ruby/src/widgets/mod.rs +3 -0
  168. data/ext/ratatui_ruby/src/widgets/overlay.rs +2 -1
  169. data/ext/ratatui_ruby/src/widgets/paragraph.rs +1 -1
  170. data/ext/ratatui_ruby/src/widgets/ratatui_logo.rs +19 -8
  171. data/ext/ratatui_ruby/src/widgets/ratatui_mascot.rs +17 -10
  172. data/ext/ratatui_ruby/src/widgets/scrollbar.rs +97 -3
  173. data/ext/ratatui_ruby/src/widgets/scrollbar_state.rs +169 -0
  174. data/ext/ratatui_ruby/src/widgets/sparkline.rs +14 -11
  175. data/ext/ratatui_ruby/src/widgets/table.rs +121 -5
  176. data/ext/ratatui_ruby/src/widgets/table_state.rs +121 -0
  177. data/ext/ratatui_ruby/src/widgets/tabs.rs +11 -11
  178. data/lib/ratatui_ruby/cell.rb +7 -7
  179. data/lib/ratatui_ruby/event/key/character.rb +35 -0
  180. data/lib/ratatui_ruby/event/key/media.rb +44 -0
  181. data/lib/ratatui_ruby/event/key/modifier.rb +95 -0
  182. data/lib/ratatui_ruby/event/key/navigation.rb +55 -0
  183. data/lib/ratatui_ruby/event/key/system.rb +45 -0
  184. data/lib/ratatui_ruby/event/key.rb +112 -52
  185. data/lib/ratatui_ruby/event/mouse.rb +3 -3
  186. data/lib/ratatui_ruby/event/none.rb +43 -0
  187. data/lib/ratatui_ruby/event/paste.rb +1 -1
  188. data/lib/ratatui_ruby/event.rb +56 -4
  189. data/lib/ratatui_ruby/frame.rb +183 -0
  190. data/lib/ratatui_ruby/list_state.rb +88 -0
  191. data/lib/ratatui_ruby/schema/bar_chart/bar.rb +13 -13
  192. data/lib/ratatui_ruby/schema/bar_chart/bar_group.rb +1 -5
  193. data/lib/ratatui_ruby/schema/bar_chart.rb +217 -217
  194. data/lib/ratatui_ruby/schema/block.rb +163 -168
  195. data/lib/ratatui_ruby/schema/calendar.rb +66 -67
  196. data/lib/ratatui_ruby/schema/canvas.rb +63 -63
  197. data/lib/ratatui_ruby/schema/center.rb +46 -46
  198. data/lib/ratatui_ruby/schema/chart.rb +135 -143
  199. data/lib/ratatui_ruby/schema/clear.rb +42 -42
  200. data/lib/ratatui_ruby/schema/constraint.rb +76 -76
  201. data/lib/ratatui_ruby/schema/cursor.rb +30 -25
  202. data/lib/ratatui_ruby/schema/gauge.rb +54 -52
  203. data/lib/ratatui_ruby/schema/layout.rb +87 -87
  204. data/lib/ratatui_ruby/schema/line_gauge.rb +62 -62
  205. data/lib/ratatui_ruby/schema/list.rb +103 -80
  206. data/lib/ratatui_ruby/schema/list_item.rb +41 -0
  207. data/lib/ratatui_ruby/schema/overlay.rb +31 -31
  208. data/lib/ratatui_ruby/schema/paragraph.rb +80 -80
  209. data/lib/ratatui_ruby/schema/ratatui_logo.rb +10 -6
  210. data/lib/ratatui_ruby/schema/ratatui_mascot.rb +10 -5
  211. data/lib/ratatui_ruby/schema/rect.rb +99 -56
  212. data/lib/ratatui_ruby/schema/scrollbar.rb +119 -119
  213. data/lib/ratatui_ruby/schema/shape/label.rb +1 -1
  214. data/lib/ratatui_ruby/schema/sparkline.rb +111 -110
  215. data/lib/ratatui_ruby/schema/style.rb +66 -46
  216. data/lib/ratatui_ruby/schema/table.rb +126 -115
  217. data/lib/ratatui_ruby/schema/tabs.rb +66 -67
  218. data/lib/ratatui_ruby/schema/text.rb +69 -1
  219. data/lib/ratatui_ruby/scrollbar_state.rb +112 -0
  220. data/lib/ratatui_ruby/session/autodoc.rb +482 -0
  221. data/lib/ratatui_ruby/session.rb +55 -23
  222. data/lib/ratatui_ruby/table_state.rb +90 -0
  223. data/lib/ratatui_ruby/test_helper/event_injection.rb +169 -0
  224. data/lib/ratatui_ruby/test_helper/snapshot.rb +390 -0
  225. data/lib/ratatui_ruby/test_helper/style_assertions.rb +351 -0
  226. data/lib/ratatui_ruby/test_helper/terminal.rb +127 -0
  227. data/lib/ratatui_ruby/test_helper/test_doubles.rb +68 -0
  228. data/lib/ratatui_ruby/test_helper.rb +66 -193
  229. data/lib/ratatui_ruby/version.rb +1 -1
  230. data/lib/ratatui_ruby.rb +100 -51
  231. data/{examples/sparkline_demo → sig/examples/app_all_events}/app.rbs +3 -2
  232. data/sig/examples/app_all_events/model/event_entry.rbs +16 -0
  233. data/sig/examples/app_all_events/model/events.rbs +15 -0
  234. data/sig/examples/app_all_events/model/timestamp.rbs +11 -0
  235. data/sig/examples/app_all_events/view/app_view.rbs +8 -0
  236. data/sig/examples/app_all_events/view/controls_view.rbs +6 -0
  237. data/sig/examples/app_all_events/view/counts_view.rbs +6 -0
  238. data/sig/examples/app_all_events/view/live_view.rbs +6 -0
  239. data/sig/examples/app_all_events/view/log_view.rbs +6 -0
  240. data/sig/examples/app_all_events/view.rbs +8 -0
  241. data/sig/examples/app_all_events/view_state.rbs +15 -0
  242. data/{examples/list_demo → sig/examples/app_color_picker}/app.rbs +2 -2
  243. data/sig/examples/app_login_form/app.rbs +11 -0
  244. data/sig/examples/app_stateful_interaction/app.rbs +33 -0
  245. data/sig/examples/verify_quickstart_dsl/app.rbs +11 -0
  246. data/sig/examples/verify_quickstart_lifecycle/app.rbs +11 -0
  247. data/sig/examples/verify_readme_usage/app.rbs +11 -0
  248. data/sig/examples/widget_block_demo/app.rbs +32 -0
  249. data/sig/examples/widget_box_demo/app.rbs +11 -0
  250. data/sig/examples/widget_calendar_demo/app.rbs +11 -0
  251. data/sig/examples/widget_cell_demo/app.rbs +11 -0
  252. data/sig/examples/widget_chart_demo/app.rbs +11 -0
  253. data/{examples/gauge_demo → sig/examples/widget_gauge_demo}/app.rbs +4 -0
  254. data/sig/examples/widget_layout_split/app.rbs +10 -0
  255. data/sig/examples/widget_line_gauge_demo/app.rbs +11 -0
  256. data/sig/examples/widget_list_demo/app.rbs +12 -0
  257. data/sig/examples/widget_map_demo/app.rbs +11 -0
  258. data/sig/examples/widget_popup_demo/app.rbs +11 -0
  259. data/sig/examples/widget_ratatui_logo_demo/app.rbs +11 -0
  260. data/sig/examples/widget_ratatui_mascot_demo/app.rbs +11 -0
  261. data/sig/examples/widget_rect/app.rbs +12 -0
  262. data/sig/examples/widget_render/app.rbs +10 -0
  263. data/sig/examples/widget_rich_text/app.rbs +11 -0
  264. data/sig/examples/widget_scroll_text/app.rbs +11 -0
  265. data/sig/examples/widget_scrollbar_demo/app.rbs +11 -0
  266. data/sig/examples/widget_sparkline_demo/app.rbs +10 -0
  267. data/{examples → sig/examples}/widget_style_colors/app.rbs +1 -1
  268. data/sig/examples/widget_table_demo/app.rbs +11 -0
  269. data/sig/examples/widget_text_width/app.rbs +10 -0
  270. data/sig/ratatui_ruby/event.rbs +11 -1
  271. data/sig/ratatui_ruby/frame.rbs +11 -0
  272. data/sig/ratatui_ruby/list_state.rbs +13 -0
  273. data/sig/ratatui_ruby/ratatui_ruby.rbs +5 -4
  274. data/sig/ratatui_ruby/schema/bar_chart/bar.rbs +3 -3
  275. data/sig/ratatui_ruby/schema/draw.rbs +4 -0
  276. data/sig/ratatui_ruby/schema/gauge.rbs +2 -2
  277. data/sig/ratatui_ruby/schema/layout.rbs +1 -1
  278. data/sig/ratatui_ruby/schema/line_gauge.rbs +2 -2
  279. data/sig/ratatui_ruby/schema/list.rbs +4 -2
  280. data/sig/ratatui_ruby/schema/list_item.rbs +10 -0
  281. data/sig/ratatui_ruby/schema/rect.rbs +3 -0
  282. data/sig/ratatui_ruby/schema/style.rbs +3 -3
  283. data/sig/ratatui_ruby/schema/table.rbs +3 -1
  284. data/sig/ratatui_ruby/schema/text.rbs +8 -6
  285. data/sig/ratatui_ruby/scrollbar_state.rbs +18 -0
  286. data/sig/ratatui_ruby/session.rbs +107 -0
  287. data/sig/ratatui_ruby/table_state.rbs +15 -0
  288. data/sig/ratatui_ruby/test_helper/event_injection.rbs +16 -0
  289. data/sig/ratatui_ruby/test_helper/snapshot.rbs +12 -0
  290. data/sig/ratatui_ruby/test_helper/style_assertions.rbs +64 -0
  291. data/sig/ratatui_ruby/test_helper/terminal.rbs +14 -0
  292. data/sig/ratatui_ruby/test_helper/test_doubles.rbs +22 -0
  293. data/sig/ratatui_ruby/test_helper.rbs +5 -4
  294. data/tasks/autodoc/examples.rb +79 -0
  295. data/tasks/autodoc/inventory.rb +63 -0
  296. data/tasks/autodoc/member.rb +56 -0
  297. data/tasks/autodoc/name.rb +19 -0
  298. data/tasks/autodoc/notice.rb +26 -0
  299. data/tasks/autodoc/rbs.rb +38 -0
  300. data/tasks/autodoc/rdoc.rb +45 -0
  301. data/tasks/autodoc.rake +53 -0
  302. data/tasks/bump/changelog.rb +3 -3
  303. data/tasks/bump/history.rb +2 -2
  304. data/tasks/bump/links.rb +67 -0
  305. data/tasks/doc.rake +600 -6
  306. data/tasks/example_viewer.html.erb +172 -0
  307. data/tasks/lint.rake +8 -4
  308. data/tasks/resources/index.html.erb +6 -0
  309. data/tasks/sourcehut.rake +70 -30
  310. data/tasks/terminal_preview/app_screenshot.rb +14 -6
  311. data/tasks/terminal_preview/crash_report.rb +7 -9
  312. data/tasks/terminal_preview/launcher_script.rb +4 -6
  313. data/tasks/terminal_preview/preview_collection.rb +4 -6
  314. data/tasks/terminal_preview/safety_confirmation.rb +3 -5
  315. data/tasks/terminal_preview/saved_screenshot.rb +10 -11
  316. data/tasks/terminal_preview/terminal_window.rb +7 -9
  317. data/tasks/test.rake +1 -1
  318. data/tasks/website/index_page.rb +3 -3
  319. data/tasks/website/version.rb +10 -10
  320. data/tasks/website/version_menu.rb +10 -12
  321. data/tasks/website/versioned_documentation.rb +49 -17
  322. data/tasks/website/website.rb +6 -8
  323. data/tasks/website.rake +4 -4
  324. metadata +232 -127
  325. data/LICENSES/BSD-2-Clause.txt +0 -9
  326. data/doc/contributors/better_dx.md +0 -543
  327. data/doc/contributors/example_analysis.md +0 -82
  328. data/doc/images/all_events.png +0 -0
  329. data/doc/images/block_padding.png +0 -0
  330. data/doc/images/block_titles.png +0 -0
  331. data/doc/images/box_demo.png +0 -0
  332. data/doc/images/calendar_demo.png +0 -0
  333. data/doc/images/cell_demo.png +0 -0
  334. data/doc/images/chart_demo.png +0 -0
  335. data/doc/images/flex_layout.png +0 -0
  336. data/doc/images/gauge_demo.png +0 -0
  337. data/doc/images/line_gauge_demo.png +0 -0
  338. data/doc/images/list_demo.png +0 -0
  339. data/doc/images/list_styles.png +0 -0
  340. data/doc/images/login_form.png +0 -0
  341. data/doc/images/quickstart_dsl.png +0 -0
  342. data/doc/images/quickstart_lifecycle.png +0 -0
  343. data/doc/images/readme_usage.png +0 -0
  344. data/doc/images/rich_text.png +0 -0
  345. data/doc/images/scroll_text.png +0 -0
  346. data/doc/images/scrollbar_demo.png +0 -0
  347. data/doc/images/sparkline_demo.png +0 -0
  348. data/doc/images/table_flex.png +0 -0
  349. data/doc/images/table_select.png +0 -0
  350. data/examples/all_events/app.rb +0 -169
  351. data/examples/all_events/app.rbs +0 -7
  352. data/examples/all_events/test_app.rb +0 -139
  353. data/examples/analytics/app.rb +0 -258
  354. data/examples/analytics/app.rbs +0 -7
  355. data/examples/analytics/test_app.rb +0 -132
  356. data/examples/block_padding/app.rb +0 -63
  357. data/examples/block_padding/app.rbs +0 -7
  358. data/examples/block_padding/test_app.rb +0 -31
  359. data/examples/block_titles/app.rb +0 -61
  360. data/examples/block_titles/app.rbs +0 -7
  361. data/examples/block_titles/test_app.rb +0 -34
  362. data/examples/box_demo/app.rbs +0 -7
  363. data/examples/box_demo/test_app.rb +0 -88
  364. data/examples/calendar_demo/app.rb +0 -101
  365. data/examples/calendar_demo/app.rbs +0 -7
  366. data/examples/calendar_demo/test_app.rb +0 -108
  367. data/examples/cell_demo/app.rb +0 -108
  368. data/examples/cell_demo/app.rbs +0 -7
  369. data/examples/cell_demo/test_app.rb +0 -36
  370. data/examples/chart_demo/app.rb +0 -203
  371. data/examples/chart_demo/app.rbs +0 -7
  372. data/examples/chart_demo/test_app.rb +0 -102
  373. data/examples/custom_widget/app.rb +0 -51
  374. data/examples/custom_widget/app.rbs +0 -7
  375. data/examples/custom_widget/test_app.rb +0 -30
  376. data/examples/flex_layout/app.rb +0 -156
  377. data/examples/flex_layout/app.rbs +0 -7
  378. data/examples/flex_layout/test_app.rb +0 -65
  379. data/examples/gauge_demo/app.rb +0 -182
  380. data/examples/gauge_demo/test_app.rb +0 -120
  381. data/examples/hit_test/app.rb +0 -175
  382. data/examples/hit_test/app.rbs +0 -7
  383. data/examples/hit_test/test_app.rb +0 -102
  384. data/examples/line_gauge_demo/app.rb +0 -190
  385. data/examples/line_gauge_demo/app.rbs +0 -7
  386. data/examples/line_gauge_demo/test_app.rb +0 -129
  387. data/examples/list_demo/app.rb +0 -253
  388. data/examples/list_demo/test_app.rb +0 -237
  389. data/examples/list_styles/app.rb +0 -140
  390. data/examples/list_styles/app.rbs +0 -7
  391. data/examples/list_styles/test_app.rb +0 -157
  392. data/examples/login_form/app.rbs +0 -7
  393. data/examples/login_form/test_app.rb +0 -51
  394. data/examples/map_demo/app.rbs +0 -7
  395. data/examples/map_demo/test_app.rb +0 -149
  396. data/examples/mouse_events/app.rb +0 -97
  397. data/examples/mouse_events/app.rbs +0 -7
  398. data/examples/mouse_events/test_app.rb +0 -53
  399. data/examples/popup_demo/app.rb +0 -103
  400. data/examples/popup_demo/app.rbs +0 -7
  401. data/examples/popup_demo/test_app.rb +0 -54
  402. data/examples/quickstart_dsl/app.rbs +0 -7
  403. data/examples/quickstart_dsl/test_app.rb +0 -29
  404. data/examples/quickstart_lifecycle/app.rb +0 -39
  405. data/examples/quickstart_lifecycle/app.rbs +0 -7
  406. data/examples/quickstart_lifecycle/test_app.rb +0 -29
  407. data/examples/ratatui_logo_demo/app.rb +0 -79
  408. data/examples/ratatui_logo_demo/app.rbs +0 -7
  409. data/examples/ratatui_logo_demo/test_app.rb +0 -51
  410. data/examples/ratatui_mascot_demo/app.rb +0 -84
  411. data/examples/ratatui_mascot_demo/app.rbs +0 -7
  412. data/examples/ratatui_mascot_demo/test_app.rb +0 -47
  413. data/examples/readme_usage/app.rb +0 -29
  414. data/examples/readme_usage/app.rbs +0 -7
  415. data/examples/readme_usage/test_app.rb +0 -29
  416. data/examples/rich_text/app.rb +0 -141
  417. data/examples/rich_text/app.rbs +0 -7
  418. data/examples/rich_text/test_app.rb +0 -166
  419. data/examples/scroll_text/app.rb +0 -103
  420. data/examples/scroll_text/app.rbs +0 -7
  421. data/examples/scroll_text/test_app.rb +0 -110
  422. data/examples/scrollbar_demo/app.rb +0 -143
  423. data/examples/scrollbar_demo/app.rbs +0 -7
  424. data/examples/scrollbar_demo/test_app.rb +0 -77
  425. data/examples/sparkline_demo/app.rb +0 -240
  426. data/examples/sparkline_demo/test_app.rb +0 -107
  427. data/examples/table_flex/app.rb +0 -65
  428. data/examples/table_flex/app.rbs +0 -7
  429. data/examples/table_flex/test_app.rb +0 -36
  430. data/examples/table_select/app.rb +0 -198
  431. data/examples/table_select/app.rbs +0 -7
  432. data/examples/table_select/test_app.rb +0 -180
  433. data/examples/widget_style_colors/test_app.rb +0 -48
  434. data/tasks/bump/comparison_links.rb +0 -41
  435. /data/doc/images/{analytics.png → app_analytics.png} +0 -0
  436. /data/doc/images/{custom_widget.png → app_custom_widget.png} +0 -0
  437. /data/doc/images/{mouse_events.png → app_mouse_events.png} +0 -0
  438. /data/doc/images/{map_demo.png → widget_map_demo.png} +0 -0
  439. /data/doc/images/{popup_demo.png → widget_popup_demo.png} +0 -0
  440. /data/doc/images/{hit_test.png → widget_rect.png} +0 -0
  441. /data/{doc/images/ratatui_logo_demo.png → exe/.gitkeep} +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.4.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kerrick Long
@@ -65,11 +65,26 @@ dependencies:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
67
  version: '7.0'
68
+ - !ruby/object:Gem::Dependency
69
+ name: faker
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: 3.5.3
75
+ type: :development
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: 3.5.3
68
82
  description: ratatui_ruby is a wrapper for the Ratatui Rust crate <https://ratatui.rs>.
69
83
  It allows you to cook up Terminal User Interfaces in Ruby.
70
84
  email:
71
85
  - me@kerricklong.com
72
- executables: []
86
+ executables:
87
+ - ".gitkeep"
73
88
  extensions:
74
89
  - ext/ratatui_ruby/extconf.rb
75
90
  extra_rdoc_files: []
@@ -84,7 +99,6 @@ files:
84
99
  - CHANGELOG.md
85
100
  - LICENSE
86
101
  - LICENSES/AGPL-3.0-or-later.txt
87
- - LICENSES/BSD-2-Clause.txt
88
102
  - LICENSES/CC-BY-SA-4.0.txt
89
103
  - LICENSES/CC0-1.0.txt
90
104
  - LICENSES/MIT.txt
@@ -93,143 +107,153 @@ files:
93
107
  - Rakefile
94
108
  - doc/application_architecture.md
95
109
  - doc/application_testing.md
96
- - doc/contributors/better_dx.md
97
110
  - doc/contributors/design.md
98
111
  - doc/contributors/design/ruby_frontend.md
99
112
  - doc/contributors/design/rust_backend.md
100
113
  - doc/contributors/developing_examples.md
101
114
  - doc/contributors/documentation_style.md
102
115
  - doc/contributors/dwim_dx.md
103
- - doc/contributors/example_analysis.md
116
+ - doc/contributors/examples_audit.md
117
+ - doc/contributors/examples_audit/p1_high.md
118
+ - doc/contributors/examples_audit/p2_moderate.md
104
119
  - doc/contributors/index.md
105
120
  - doc/custom.css
106
121
  - doc/event_handling.md
107
- - doc/images/all_events.png
108
- - doc/images/analytics.png
109
- - doc/images/block_padding.png
110
- - doc/images/block_titles.png
111
- - doc/images/box_demo.png
112
- - doc/images/calendar_demo.png
113
- - doc/images/cell_demo.png
114
- - doc/images/chart_demo.png
115
- - doc/images/custom_widget.png
116
- - doc/images/flex_layout.png
117
- - doc/images/gauge_demo.png
118
- - doc/images/hit_test.png
119
- - doc/images/line_gauge_demo.png
120
- - doc/images/list_demo.png
121
- - doc/images/list_styles.png
122
- - doc/images/login_form.png
123
- - doc/images/map_demo.png
124
- - doc/images/mouse_events.png
125
- - doc/images/popup_demo.png
126
- - doc/images/quickstart_dsl.png
127
- - doc/images/quickstart_lifecycle.png
128
- - doc/images/ratatui_logo_demo.png
129
- - doc/images/readme_usage.png
130
- - doc/images/rich_text.png
131
- - doc/images/scroll_text.png
132
- - doc/images/scrollbar_demo.png
133
- - doc/images/sparkline_demo.png
134
- - doc/images/table_flex.png
135
- - doc/images/table_select.png
122
+ - doc/images/app_all_events.png
123
+ - doc/images/app_analytics.png
124
+ - doc/images/app_color_picker.png
125
+ - doc/images/app_custom_widget.png
126
+ - doc/images/app_login_form.png
127
+ - doc/images/app_mouse_events.png
128
+ - doc/images/app_stateful_interaction.png
129
+ - doc/images/verify_quickstart_dsl.png
130
+ - doc/images/verify_quickstart_layout.png
131
+ - doc/images/verify_quickstart_lifecycle.png
132
+ - doc/images/verify_readme_usage.png
133
+ - doc/images/widget_barchart_demo.png
134
+ - doc/images/widget_block_demo.png
135
+ - doc/images/widget_box_demo.png
136
+ - doc/images/widget_calendar_demo.png
137
+ - doc/images/widget_canvas_demo.png
138
+ - doc/images/widget_cell_demo.png
139
+ - doc/images/widget_center_demo.png
140
+ - doc/images/widget_chart_demo.png
141
+ - doc/images/widget_gauge_demo.png
142
+ - doc/images/widget_layout_split.png
143
+ - doc/images/widget_line_gauge_demo.png
144
+ - doc/images/widget_list_demo.png
145
+ - doc/images/widget_map_demo.png
146
+ - doc/images/widget_overlay_demo.png
147
+ - doc/images/widget_popup_demo.png
148
+ - doc/images/widget_ratatui_logo_demo.png
149
+ - doc/images/widget_ratatui_mascot_demo.png
150
+ - doc/images/widget_rect.png
151
+ - doc/images/widget_render.png
152
+ - doc/images/widget_rich_text.png
153
+ - doc/images/widget_scroll_text.png
154
+ - doc/images/widget_scrollbar_demo.png
155
+ - doc/images/widget_sparkline_demo.png
136
156
  - doc/images/widget_style_colors.png
157
+ - doc/images/widget_table_demo.png
158
+ - doc/images/widget_table_flex.png
159
+ - doc/images/widget_tabs_demo.png
160
+ - doc/images/widget_text_width.png
137
161
  - doc/index.md
138
162
  - doc/interactive_design.md
139
163
  - doc/quickstart.md
140
- - examples/all_events/app.rb
141
- - examples/all_events/app.rbs
142
- - examples/all_events/test_app.rb
143
- - examples/analytics/app.rb
144
- - examples/analytics/app.rbs
145
- - examples/analytics/test_app.rb
146
- - examples/block_padding/app.rb
147
- - examples/block_padding/app.rbs
148
- - examples/block_padding/test_app.rb
149
- - examples/block_titles/app.rb
150
- - examples/block_titles/app.rbs
151
- - examples/block_titles/test_app.rb
152
- - examples/box_demo/app.rb
153
- - examples/box_demo/app.rbs
154
- - examples/box_demo/test_app.rb
155
- - examples/calendar_demo/app.rb
156
- - examples/calendar_demo/app.rbs
157
- - examples/calendar_demo/test_app.rb
158
- - examples/cell_demo/app.rb
159
- - examples/cell_demo/app.rbs
160
- - examples/cell_demo/test_app.rb
161
- - examples/chart_demo/app.rb
162
- - examples/chart_demo/app.rbs
163
- - examples/chart_demo/test_app.rb
164
- - examples/custom_widget/app.rb
165
- - examples/custom_widget/app.rbs
166
- - examples/custom_widget/test_app.rb
167
- - examples/flex_layout/app.rb
168
- - examples/flex_layout/app.rbs
169
- - examples/flex_layout/test_app.rb
170
- - examples/gauge_demo/app.rb
171
- - examples/gauge_demo/app.rbs
172
- - examples/gauge_demo/test_app.rb
173
- - examples/hit_test/app.rb
174
- - examples/hit_test/app.rbs
175
- - examples/hit_test/test_app.rb
176
- - examples/line_gauge_demo/app.rb
177
- - examples/line_gauge_demo/app.rbs
178
- - examples/line_gauge_demo/test_app.rb
179
- - examples/list_demo/app.rb
180
- - examples/list_demo/app.rbs
181
- - examples/list_demo/test_app.rb
182
- - examples/list_styles/app.rb
183
- - examples/list_styles/app.rbs
184
- - examples/list_styles/test_app.rb
185
- - examples/login_form/app.rb
186
- - examples/login_form/app.rbs
187
- - examples/login_form/test_app.rb
188
- - examples/map_demo/app.rb
189
- - examples/map_demo/app.rbs
190
- - examples/map_demo/test_app.rb
191
- - examples/mouse_events/app.rb
192
- - examples/mouse_events/app.rbs
193
- - examples/mouse_events/test_app.rb
194
- - examples/popup_demo/app.rb
195
- - examples/popup_demo/app.rbs
196
- - examples/popup_demo/test_app.rb
197
- - examples/quickstart_dsl/app.rb
198
- - examples/quickstart_dsl/app.rbs
199
- - examples/quickstart_dsl/test_app.rb
200
- - examples/quickstart_lifecycle/app.rb
201
- - examples/quickstart_lifecycle/app.rbs
202
- - examples/quickstart_lifecycle/test_app.rb
203
- - examples/ratatui_logo_demo/app.rb
204
- - examples/ratatui_logo_demo/app.rbs
205
- - examples/ratatui_logo_demo/test_app.rb
206
- - examples/ratatui_mascot_demo/app.rb
207
- - examples/ratatui_mascot_demo/app.rbs
208
- - examples/ratatui_mascot_demo/test_app.rb
209
- - examples/readme_usage/app.rb
210
- - examples/readme_usage/app.rbs
211
- - examples/readme_usage/test_app.rb
212
- - examples/rich_text/app.rb
213
- - examples/rich_text/app.rbs
214
- - examples/rich_text/test_app.rb
215
- - examples/scroll_text/app.rb
216
- - examples/scroll_text/app.rbs
217
- - examples/scroll_text/test_app.rb
218
- - examples/scrollbar_demo/app.rb
219
- - examples/scrollbar_demo/app.rbs
220
- - examples/scrollbar_demo/test_app.rb
221
- - examples/sparkline_demo/app.rb
222
- - examples/sparkline_demo/app.rbs
223
- - examples/sparkline_demo/test_app.rb
224
- - examples/table_flex/app.rb
225
- - examples/table_flex/app.rbs
226
- - examples/table_flex/test_app.rb
227
- - examples/table_select/app.rb
228
- - examples/table_select/app.rbs
229
- - examples/table_select/test_app.rb
164
+ - doc/terminal_limitations.md
165
+ - examples/app_all_events/README.md
166
+ - examples/app_all_events/app.rb
167
+ - examples/app_all_events/model/app_model.rb
168
+ - examples/app_all_events/model/event_color_cycle.rb
169
+ - examples/app_all_events/model/event_entry.rb
170
+ - examples/app_all_events/model/msg.rb
171
+ - examples/app_all_events/model/timestamp.rb
172
+ - examples/app_all_events/update.rb
173
+ - examples/app_all_events/view.rb
174
+ - examples/app_all_events/view/app_view.rb
175
+ - examples/app_all_events/view/controls_view.rb
176
+ - examples/app_all_events/view/counts_view.rb
177
+ - examples/app_all_events/view/live_view.rb
178
+ - examples/app_all_events/view/log_view.rb
179
+ - examples/app_color_picker/README.md
180
+ - examples/app_color_picker/app.rb
181
+ - examples/app_color_picker/clipboard.rb
182
+ - examples/app_color_picker/color.rb
183
+ - examples/app_color_picker/controls.rb
184
+ - examples/app_color_picker/copy_dialog.rb
185
+ - examples/app_color_picker/export_pane.rb
186
+ - examples/app_color_picker/harmony.rb
187
+ - examples/app_color_picker/input.rb
188
+ - examples/app_color_picker/main_container.rb
189
+ - examples/app_color_picker/palette.rb
190
+ - examples/app_login_form/README.md
191
+ - examples/app_login_form/app.rb
192
+ - examples/app_stateful_interaction/README.md
193
+ - examples/app_stateful_interaction/app.rb
194
+ - examples/timeout_demo.rb
195
+ - examples/verify_quickstart_dsl/README.md
196
+ - examples/verify_quickstart_dsl/app.rb
197
+ - examples/verify_quickstart_layout/README.md
198
+ - examples/verify_quickstart_layout/app.rb
199
+ - examples/verify_quickstart_lifecycle/README.md
200
+ - examples/verify_quickstart_lifecycle/app.rb
201
+ - examples/verify_readme_usage/README.md
202
+ - examples/verify_readme_usage/app.rb
203
+ - examples/widget_barchart_demo/README.md
204
+ - examples/widget_barchart_demo/app.rb
205
+ - examples/widget_block_demo/README.md
206
+ - examples/widget_block_demo/app.rb
207
+ - examples/widget_box_demo/README.md
208
+ - examples/widget_box_demo/app.rb
209
+ - examples/widget_calendar_demo/README.md
210
+ - examples/widget_calendar_demo/app.rb
211
+ - examples/widget_canvas_demo/README.md
212
+ - examples/widget_canvas_demo/app.rb
213
+ - examples/widget_cell_demo/README.md
214
+ - examples/widget_cell_demo/app.rb
215
+ - examples/widget_center_demo/README.md
216
+ - examples/widget_center_demo/app.rb
217
+ - examples/widget_chart_demo/README.md
218
+ - examples/widget_chart_demo/app.rb
219
+ - examples/widget_gauge_demo/README.md
220
+ - examples/widget_gauge_demo/app.rb
221
+ - examples/widget_layout_split/README.md
222
+ - examples/widget_layout_split/app.rb
223
+ - examples/widget_line_gauge_demo/README.md
224
+ - examples/widget_line_gauge_demo/app.rb
225
+ - examples/widget_list_demo/README.md
226
+ - examples/widget_list_demo/app.rb
227
+ - examples/widget_map_demo/README.md
228
+ - examples/widget_map_demo/app.rb
229
+ - examples/widget_overlay_demo/app.rb
230
+ - examples/widget_popup_demo/README.md
231
+ - examples/widget_popup_demo/app.rb
232
+ - examples/widget_ratatui_logo_demo/README.md
233
+ - examples/widget_ratatui_logo_demo/app.rb
234
+ - examples/widget_ratatui_mascot_demo/README.md
235
+ - examples/widget_ratatui_mascot_demo/app.rb
236
+ - examples/widget_rect/README.md
237
+ - examples/widget_rect/app.rb
238
+ - examples/widget_render/README.md
239
+ - examples/widget_render/app.rb
240
+ - examples/widget_rich_text/README.md
241
+ - examples/widget_rich_text/app.rb
242
+ - examples/widget_scroll_text/README.md
243
+ - examples/widget_scroll_text/app.rb
244
+ - examples/widget_scrollbar_demo/README.md
245
+ - examples/widget_scrollbar_demo/app.rb
246
+ - examples/widget_sparkline_demo/README.md
247
+ - examples/widget_sparkline_demo/app.rb
248
+ - examples/widget_style_colors/README.md
230
249
  - examples/widget_style_colors/app.rb
231
- - examples/widget_style_colors/app.rbs
232
- - examples/widget_style_colors/test_app.rb
250
+ - examples/widget_table_demo/README.md
251
+ - examples/widget_table_demo/app.rb
252
+ - examples/widget_tabs_demo/README.md
253
+ - examples/widget_tabs_demo/app.rb
254
+ - examples/widget_text_width/README.md
255
+ - examples/widget_text_width/app.rb
256
+ - exe/.gitkeep
233
257
  - ext/ratatui_ruby/.cargo/config.toml
234
258
  - ext/ratatui_ruby/.gitignore
235
259
  - ext/ratatui_ruby/Cargo.lock
@@ -237,8 +261,10 @@ files:
237
261
  - ext/ratatui_ruby/clippy.toml
238
262
  - ext/ratatui_ruby/extconf.rb
239
263
  - ext/ratatui_ruby/src/events.rs
264
+ - ext/ratatui_ruby/src/frame.rs
240
265
  - ext/ratatui_ruby/src/lib.rs
241
266
  - ext/ratatui_ruby/src/rendering.rs
267
+ - ext/ratatui_ruby/src/string_width.rs
242
268
  - ext/ratatui_ruby/src/style.rs
243
269
  - ext/ratatui_ruby/src/terminal.rs
244
270
  - ext/ratatui_ruby/src/text.rs
@@ -254,14 +280,17 @@ files:
254
280
  - ext/ratatui_ruby/src/widgets/layout.rs
255
281
  - ext/ratatui_ruby/src/widgets/line_gauge.rs
256
282
  - ext/ratatui_ruby/src/widgets/list.rs
283
+ - ext/ratatui_ruby/src/widgets/list_state.rs
257
284
  - ext/ratatui_ruby/src/widgets/mod.rs
258
285
  - ext/ratatui_ruby/src/widgets/overlay.rs
259
286
  - ext/ratatui_ruby/src/widgets/paragraph.rs
260
287
  - ext/ratatui_ruby/src/widgets/ratatui_logo.rs
261
288
  - ext/ratatui_ruby/src/widgets/ratatui_mascot.rs
262
289
  - ext/ratatui_ruby/src/widgets/scrollbar.rs
290
+ - ext/ratatui_ruby/src/widgets/scrollbar_state.rs
263
291
  - ext/ratatui_ruby/src/widgets/sparkline.rs
264
292
  - ext/ratatui_ruby/src/widgets/table.rs
293
+ - ext/ratatui_ruby/src/widgets/table_state.rs
265
294
  - ext/ratatui_ruby/src/widgets/tabs.rs
266
295
  - lib/ratatui_ruby.rb
267
296
  - lib/ratatui_ruby/cell.rb
@@ -269,9 +298,17 @@ files:
269
298
  - lib/ratatui_ruby/event/focus_gained.rb
270
299
  - lib/ratatui_ruby/event/focus_lost.rb
271
300
  - lib/ratatui_ruby/event/key.rb
301
+ - lib/ratatui_ruby/event/key/character.rb
302
+ - lib/ratatui_ruby/event/key/media.rb
303
+ - lib/ratatui_ruby/event/key/modifier.rb
304
+ - lib/ratatui_ruby/event/key/navigation.rb
305
+ - lib/ratatui_ruby/event/key/system.rb
272
306
  - lib/ratatui_ruby/event/mouse.rb
307
+ - lib/ratatui_ruby/event/none.rb
273
308
  - lib/ratatui_ruby/event/paste.rb
274
309
  - lib/ratatui_ruby/event/resize.rb
310
+ - lib/ratatui_ruby/frame.rb
311
+ - lib/ratatui_ruby/list_state.rb
275
312
  - lib/ratatui_ruby/schema/bar_chart.rb
276
313
  - lib/ratatui_ruby/schema/bar_chart/bar.rb
277
314
  - lib/ratatui_ruby/schema/bar_chart/bar_group.rb
@@ -288,6 +325,7 @@ files:
288
325
  - lib/ratatui_ruby/schema/layout.rb
289
326
  - lib/ratatui_ruby/schema/line_gauge.rb
290
327
  - lib/ratatui_ruby/schema/list.rb
328
+ - lib/ratatui_ruby/schema/list_item.rb
291
329
  - lib/ratatui_ruby/schema/overlay.rb
292
330
  - lib/ratatui_ruby/schema/paragraph.rb
293
331
  - lib/ratatui_ruby/schema/ratatui_logo.rb
@@ -300,11 +338,60 @@ files:
300
338
  - lib/ratatui_ruby/schema/table.rb
301
339
  - lib/ratatui_ruby/schema/tabs.rb
302
340
  - lib/ratatui_ruby/schema/text.rb
341
+ - lib/ratatui_ruby/scrollbar_state.rb
303
342
  - lib/ratatui_ruby/session.rb
343
+ - lib/ratatui_ruby/session/autodoc.rb
344
+ - lib/ratatui_ruby/table_state.rb
304
345
  - lib/ratatui_ruby/test_helper.rb
346
+ - lib/ratatui_ruby/test_helper/event_injection.rb
347
+ - lib/ratatui_ruby/test_helper/snapshot.rb
348
+ - lib/ratatui_ruby/test_helper/style_assertions.rb
349
+ - lib/ratatui_ruby/test_helper/terminal.rb
350
+ - lib/ratatui_ruby/test_helper/test_doubles.rb
305
351
  - lib/ratatui_ruby/version.rb
306
352
  - mise.toml
353
+ - sig/examples/app_all_events/app.rbs
354
+ - sig/examples/app_all_events/model/event_entry.rbs
355
+ - sig/examples/app_all_events/model/events.rbs
356
+ - sig/examples/app_all_events/model/timestamp.rbs
357
+ - sig/examples/app_all_events/view.rbs
358
+ - sig/examples/app_all_events/view/app_view.rbs
359
+ - sig/examples/app_all_events/view/controls_view.rbs
360
+ - sig/examples/app_all_events/view/counts_view.rbs
361
+ - sig/examples/app_all_events/view/live_view.rbs
362
+ - sig/examples/app_all_events/view/log_view.rbs
363
+ - sig/examples/app_all_events/view_state.rbs
364
+ - sig/examples/app_color_picker/app.rbs
365
+ - sig/examples/app_login_form/app.rbs
366
+ - sig/examples/app_stateful_interaction/app.rbs
367
+ - sig/examples/verify_quickstart_dsl/app.rbs
368
+ - sig/examples/verify_quickstart_lifecycle/app.rbs
369
+ - sig/examples/verify_readme_usage/app.rbs
370
+ - sig/examples/widget_block_demo/app.rbs
371
+ - sig/examples/widget_box_demo/app.rbs
372
+ - sig/examples/widget_calendar_demo/app.rbs
373
+ - sig/examples/widget_cell_demo/app.rbs
374
+ - sig/examples/widget_chart_demo/app.rbs
375
+ - sig/examples/widget_gauge_demo/app.rbs
376
+ - sig/examples/widget_layout_split/app.rbs
377
+ - sig/examples/widget_line_gauge_demo/app.rbs
378
+ - sig/examples/widget_list_demo/app.rbs
379
+ - sig/examples/widget_map_demo/app.rbs
380
+ - sig/examples/widget_popup_demo/app.rbs
381
+ - sig/examples/widget_ratatui_logo_demo/app.rbs
382
+ - sig/examples/widget_ratatui_mascot_demo/app.rbs
383
+ - sig/examples/widget_rect/app.rbs
384
+ - sig/examples/widget_render/app.rbs
385
+ - sig/examples/widget_rich_text/app.rbs
386
+ - sig/examples/widget_scroll_text/app.rbs
387
+ - sig/examples/widget_scrollbar_demo/app.rbs
388
+ - sig/examples/widget_sparkline_demo/app.rbs
389
+ - sig/examples/widget_style_colors/app.rbs
390
+ - sig/examples/widget_table_demo/app.rbs
391
+ - sig/examples/widget_text_width/app.rbs
307
392
  - sig/ratatui_ruby/event.rbs
393
+ - sig/ratatui_ruby/frame.rbs
394
+ - sig/ratatui_ruby/list_state.rbs
308
395
  - sig/ratatui_ruby/ratatui_ruby.rbs
309
396
  - sig/ratatui_ruby/schema/bar_chart.rbs
310
397
  - sig/ratatui_ruby/schema/bar_chart/bar.rbs
@@ -321,6 +408,7 @@ files:
321
408
  - sig/ratatui_ruby/schema/layout.rbs
322
409
  - sig/ratatui_ruby/schema/line_gauge.rbs
323
410
  - sig/ratatui_ruby/schema/list.rbs
411
+ - sig/ratatui_ruby/schema/list_item.rbs
324
412
  - sig/ratatui_ruby/schema/overlay.rbs
325
413
  - sig/ratatui_ruby/schema/paragraph.rbs
326
414
  - sig/ratatui_ruby/schema/ratatui_logo.rbs
@@ -332,19 +420,36 @@ files:
332
420
  - sig/ratatui_ruby/schema/table.rbs
333
421
  - sig/ratatui_ruby/schema/tabs.rbs
334
422
  - sig/ratatui_ruby/schema/text.rbs
423
+ - sig/ratatui_ruby/scrollbar_state.rbs
424
+ - sig/ratatui_ruby/session.rbs
425
+ - sig/ratatui_ruby/table_state.rbs
335
426
  - sig/ratatui_ruby/test_helper.rbs
427
+ - sig/ratatui_ruby/test_helper/event_injection.rbs
428
+ - sig/ratatui_ruby/test_helper/snapshot.rbs
429
+ - sig/ratatui_ruby/test_helper/style_assertions.rbs
430
+ - sig/ratatui_ruby/test_helper/terminal.rbs
431
+ - sig/ratatui_ruby/test_helper/test_doubles.rbs
336
432
  - sig/ratatui_ruby/version.rbs
433
+ - tasks/autodoc.rake
434
+ - tasks/autodoc/examples.rb
435
+ - tasks/autodoc/inventory.rb
436
+ - tasks/autodoc/member.rb
437
+ - tasks/autodoc/name.rb
438
+ - tasks/autodoc/notice.rb
439
+ - tasks/autodoc/rbs.rb
440
+ - tasks/autodoc/rdoc.rb
337
441
  - tasks/bump.rake
338
442
  - tasks/bump/cargo_lockfile.rb
339
443
  - tasks/bump/changelog.rb
340
- - tasks/bump/comparison_links.rb
341
444
  - tasks/bump/header.rb
342
445
  - tasks/bump/history.rb
446
+ - tasks/bump/links.rb
343
447
  - tasks/bump/manifest.rb
344
448
  - tasks/bump/ruby_gem.rb
345
449
  - tasks/bump/sem_ver.rb
346
450
  - tasks/bump/unreleased_section.rb
347
451
  - tasks/doc.rake
452
+ - tasks/example_viewer.html.erb
348
453
  - tasks/extension.rake
349
454
  - tasks/lint.rake
350
455
  - tasks/rdoc_config.rb
@@ -1,9 +0,0 @@
1
- Copyright <YEAR> <COPYRIGHT HOLDER>
2
-
3
- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
4
-
5
- 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
6
-
7
- 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
8
-
9
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.