ruflet 0.0.7 → 0.0.8

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 (238) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ruflet/version.rb +1 -1
  3. data/lib/ruflet_ui/ruflet/app.rb +10 -14
  4. data/lib/ruflet_ui/ruflet/control.rb +120 -7
  5. data/lib/ruflet_ui/ruflet/dsl.rb +68 -4
  6. data/lib/ruflet_ui/ruflet/event.rb +15 -1
  7. data/lib/ruflet_ui/ruflet/events/gesture_events.rb +552 -0
  8. data/lib/ruflet_ui/ruflet/page.rb +558 -77
  9. data/lib/ruflet_ui/ruflet/types/geometry.rb +65 -0
  10. data/lib/ruflet_ui/ruflet/types/text_style.rb +191 -0
  11. data/lib/ruflet_ui/ruflet/ui/control_factory.rb +35 -5
  12. data/lib/ruflet_ui/ruflet/ui/control_methods.rb +1 -0
  13. data/lib/ruflet_ui/ruflet/ui/control_registry.rb +22 -2
  14. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoactionsheet_control.rb +57 -0
  15. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoactionsheetaction_control.rb +58 -0
  16. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoactivityindicator_control.rb +57 -0
  17. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoalertdialog_control.rb +39 -0
  18. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoappbar_control.rb +44 -0
  19. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinobottomsheet_control.rb +38 -0
  20. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinobutton_control.rb +73 -0
  21. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinocheckbox_control.rb +70 -0
  22. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinocontextmenu_control.rb +34 -0
  23. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinocontextmenuaction_control.rb +36 -0
  24. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinodatepicker_control.rb +67 -0
  25. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinodialogaction_control.rb +35 -0
  26. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinofilledbutton_control.rb +73 -0
  27. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinolisttile_control.rb +67 -0
  28. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinonavigationbar_control.rb +61 -0
  29. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinopicker_control.rb +66 -0
  30. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoradio_control.rb +66 -0
  31. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinosegmentedbutton_control.rb +63 -0
  32. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoslider_control.rb +64 -0
  33. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoslidingsegmentedbutton_control.rb +60 -0
  34. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoswitch_control.rb +73 -0
  35. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinotextfield_control.rb +159 -0
  36. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinotimerpicker_control.rb +61 -0
  37. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinotintedbutton_control.rb +73 -0
  38. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/ruflet_controls.rb +89 -0
  39. data/lib/ruflet_ui/ruflet/ui/controls/materials/alertdialog_control.rb +58 -0
  40. data/lib/ruflet_ui/ruflet/ui/controls/materials/appbar_control.rb +53 -0
  41. data/lib/ruflet_ui/ruflet/ui/controls/materials/audio_control.rb +36 -0
  42. data/lib/ruflet_ui/ruflet/ui/controls/materials/autocomplete_control.rb +58 -0
  43. data/lib/ruflet_ui/ruflet/ui/controls/materials/badge_control.rb +31 -0
  44. data/lib/ruflet_ui/ruflet/ui/controls/materials/banner_control.rb +47 -0
  45. data/lib/ruflet_ui/ruflet/ui/controls/materials/bottomappbar_control.rb +62 -0
  46. data/lib/ruflet_ui/ruflet/ui/controls/materials/bottomsheet_control.rb +48 -0
  47. data/lib/ruflet_ui/ruflet/ui/controls/materials/button_control.rb +69 -0
  48. data/lib/ruflet_ui/ruflet/ui/controls/materials/card_control.rb +63 -0
  49. data/lib/ruflet_ui/ruflet/ui/controls/materials/chart_controls.rb +321 -0
  50. data/lib/ruflet_ui/ruflet/ui/controls/materials/checkbox_control.rb +76 -0
  51. data/lib/ruflet_ui/ruflet/ui/controls/materials/chip_control.rb +88 -0
  52. data/lib/ruflet_ui/ruflet/ui/controls/materials/circleavatar_control.rb +62 -0
  53. data/lib/ruflet_ui/ruflet/ui/controls/materials/container_control.rb +81 -0
  54. data/lib/ruflet_ui/ruflet/ui/controls/materials/contextmenu_control.rb +63 -0
  55. data/lib/ruflet_ui/ruflet/ui/controls/materials/datacell_control.rb +38 -0
  56. data/lib/ruflet_ui/ruflet/ui/controls/materials/datacolumn_control.rb +34 -0
  57. data/lib/ruflet_ui/ruflet/ui/controls/materials/datarow_control.rb +35 -0
  58. data/lib/ruflet_ui/ruflet/ui/controls/materials/datatable_control.rb +78 -0
  59. data/lib/ruflet_ui/ruflet/ui/controls/materials/datepicker_control.rb +55 -0
  60. data/lib/ruflet_ui/ruflet/ui/controls/materials/daterangepicker_control.rb +57 -0
  61. data/lib/ruflet_ui/ruflet/ui/controls/materials/divider_control.rb +36 -0
  62. data/lib/ruflet_ui/ruflet/ui/controls/materials/dropdown_control.rb +99 -0
  63. data/lib/ruflet_ui/ruflet/ui/controls/materials/dropdownm2_control.rb +119 -0
  64. data/lib/ruflet_ui/ruflet/ui/controls/materials/dropdownoption_control.rb +35 -0
  65. data/lib/ruflet_ui/ruflet/ui/controls/materials/expansionpanel_control.rb +61 -0
  66. data/lib/ruflet_ui/ruflet/ui/controls/materials/expansionpanellist_control.rb +60 -0
  67. data/lib/ruflet_ui/ruflet/ui/controls/materials/expansiontile_control.rb +82 -0
  68. data/lib/ruflet_ui/ruflet/ui/controls/materials/filledbutton_control.rb +69 -0
  69. data/lib/ruflet_ui/ruflet/ui/controls/materials/fillediconbutton_control.rb +81 -0
  70. data/lib/ruflet_ui/ruflet/ui/controls/materials/filledtonalbutton_control.rb +69 -0
  71. data/lib/ruflet_ui/ruflet/ui/controls/materials/filledtonaliconbutton_control.rb +81 -0
  72. data/lib/ruflet_ui/ruflet/ui/controls/materials/floatingactionbutton_control.rb +73 -0
  73. data/lib/ruflet_ui/ruflet/ui/controls/materials/iconbutton_control.rb +81 -0
  74. data/lib/ruflet_ui/ruflet/ui/controls/materials/listtile_control.rb +87 -0
  75. data/lib/ruflet_ui/ruflet/ui/controls/materials/menubar_control.rb +33 -0
  76. data/lib/ruflet_ui/ruflet/ui/controls/materials/menuitembutton_control.rb +67 -0
  77. data/lib/ruflet_ui/ruflet/ui/controls/materials/navigationbar_control.rb +67 -0
  78. data/lib/ruflet_ui/ruflet/ui/controls/materials/navigationbardestination_control.rb +35 -0
  79. data/lib/ruflet_ui/ruflet/ui/controls/materials/navigationdrawer_control.rb +41 -0
  80. data/lib/ruflet_ui/ruflet/ui/controls/materials/navigationdrawerdestination_control.rb +34 -0
  81. data/lib/ruflet_ui/ruflet/ui/controls/materials/navigationrail_control.rb +70 -0
  82. data/lib/ruflet_ui/ruflet/ui/controls/materials/navigationraildestination_control.rb +36 -0
  83. data/lib/ruflet_ui/ruflet/ui/controls/materials/option_control.rb +35 -0
  84. data/lib/ruflet_ui/ruflet/ui/controls/materials/outlinedbutton_control.rb +66 -0
  85. data/lib/ruflet_ui/ruflet/ui/controls/materials/outlinediconbutton_control.rb +81 -0
  86. data/lib/ruflet_ui/ruflet/ui/controls/materials/popupmenubutton_control.rb +74 -0
  87. data/lib/ruflet_ui/ruflet/ui/controls/materials/popupmenuitem_control.rb +38 -0
  88. data/lib/ruflet_ui/ruflet/ui/controls/materials/progressbar_control.rb +64 -0
  89. data/lib/ruflet_ui/ruflet/ui/controls/materials/progressring_control.rb +65 -0
  90. data/lib/ruflet_ui/ruflet/ui/controls/materials/radio_control.rb +70 -0
  91. data/lib/ruflet_ui/ruflet/ui/controls/materials/radiogroup_control.rb +33 -0
  92. data/lib/ruflet_ui/ruflet/ui/controls/materials/rangeslider_control.rb +67 -0
  93. data/lib/ruflet_ui/ruflet/ui/controls/materials/reorderablelistview_control.rb +80 -0
  94. data/lib/ruflet_ui/ruflet/ui/controls/materials/ruflet_controls.rb +252 -0
  95. data/lib/ruflet_ui/ruflet/ui/controls/materials/searchbar_control.rb +94 -0
  96. data/lib/ruflet_ui/ruflet/ui/controls/materials/segment_control.rb +33 -0
  97. data/lib/ruflet_ui/ruflet/ui/controls/materials/segmentedbutton_control.rb +63 -0
  98. data/lib/ruflet_ui/ruflet/ui/controls/materials/selectionarea_control.rb +32 -0
  99. data/lib/ruflet_ui/ruflet/ui/controls/materials/slider_control.rb +76 -0
  100. data/lib/ruflet_ui/ruflet/ui/controls/materials/snackbar_control.rb +51 -0
  101. data/lib/ruflet_ui/ruflet/ui/controls/materials/submenubutton_control.rb +66 -0
  102. data/lib/ruflet_ui/ruflet/ui/controls/materials/switch_control.rb +77 -0
  103. data/lib/ruflet_ui/ruflet/ui/controls/materials/tab_control.rb +35 -0
  104. data/lib/ruflet_ui/ruflet/ui/controls/materials/tabbar_control.rb +77 -0
  105. data/lib/ruflet_ui/ruflet/ui/controls/materials/tabbarview_control.rb +57 -0
  106. data/lib/ruflet_ui/ruflet/ui/controls/materials/tabs_control.rb +59 -0
  107. data/lib/ruflet_ui/ruflet/ui/controls/materials/textbutton_control.rb +66 -0
  108. data/lib/ruflet_ui/ruflet/ui/controls/materials/textfield_control.rb +148 -0
  109. data/lib/ruflet_ui/ruflet/ui/controls/materials/timepicker_control.rb +50 -0
  110. data/lib/ruflet_ui/ruflet/ui/controls/materials/verticaldivider_control.rb +36 -0
  111. data/lib/ruflet_ui/ruflet/ui/controls/materials/video_control.rb +39 -0
  112. data/lib/ruflet_ui/ruflet/ui/controls/materials/webview_control.rb +35 -0
  113. data/lib/ruflet_ui/ruflet/ui/controls/ruflet_controls.rb +447 -0
  114. data/lib/ruflet_ui/ruflet/ui/controls/shared/animatedswitcher_control.rb +59 -0
  115. data/lib/ruflet_ui/ruflet/ui/controls/shared/arc_control.rb +29 -0
  116. data/lib/ruflet_ui/ruflet/ui/controls/shared/autofillgroup_control.rb +32 -0
  117. data/lib/ruflet_ui/ruflet/ui/controls/shared/basepage_control.rb +44 -0
  118. data/lib/ruflet_ui/ruflet/ui/controls/shared/browsercontextmenu_control.rb +21 -0
  119. data/lib/ruflet_ui/ruflet/ui/controls/shared/canvas_control.rb +57 -0
  120. data/lib/ruflet_ui/ruflet/ui/controls/shared/circle_control.rb +25 -0
  121. data/lib/ruflet_ui/ruflet/ui/controls/shared/color_control.rb +23 -0
  122. data/lib/ruflet_ui/ruflet/ui/controls/shared/column_control.rb +67 -0
  123. data/lib/ruflet_ui/ruflet/ui/controls/shared/dialogs_control.rb +22 -0
  124. data/lib/ruflet_ui/ruflet/ui/controls/shared/dismissible_control.rb +66 -0
  125. data/lib/ruflet_ui/ruflet/ui/controls/shared/draggable_control.rb +39 -0
  126. data/lib/ruflet_ui/ruflet/ui/controls/shared/dragtarget_control.rb +36 -0
  127. data/lib/ruflet_ui/ruflet/ui/controls/shared/fill_control.rb +22 -0
  128. data/lib/ruflet_ui/ruflet/ui/controls/shared/fletapp_control.rb +62 -0
  129. data/lib/ruflet_ui/ruflet/ui/controls/shared/gesturedetector_control.rb +129 -0
  130. data/lib/ruflet_ui/ruflet/ui/controls/shared/gridview_control.rb +71 -0
  131. data/lib/ruflet_ui/ruflet/ui/controls/shared/hero_control.rb +56 -0
  132. data/lib/ruflet_ui/ruflet/ui/controls/shared/icon_control.rb +64 -0
  133. data/lib/ruflet_ui/ruflet/ui/controls/shared/image_control.rb +27 -0
  134. data/lib/ruflet_ui/ruflet/ui/controls/shared/interactiveviewer_control.rb +69 -0
  135. data/lib/ruflet_ui/ruflet/ui/controls/shared/keyboardlistener_control.rb +36 -0
  136. data/lib/ruflet_ui/ruflet/ui/controls/shared/line_control.rb +26 -0
  137. data/lib/ruflet_ui/ruflet/ui/controls/shared/listview_control.rb +71 -0
  138. data/lib/ruflet_ui/ruflet/ui/controls/shared/markdown_control.rb +70 -0
  139. data/lib/ruflet_ui/ruflet/ui/controls/shared/mergesemantics_control.rb +31 -0
  140. data/lib/ruflet_ui/ruflet/ui/controls/shared/oval_control.rb +26 -0
  141. data/lib/ruflet_ui/ruflet/ui/controls/shared/overlay_control.rb +22 -0
  142. data/lib/ruflet_ui/ruflet/ui/controls/shared/page_control.rb +74 -0
  143. data/lib/ruflet_ui/ruflet/ui/controls/shared/pagelet_control.rb +64 -0
  144. data/lib/ruflet_ui/ruflet/ui/controls/shared/pageview_control.rb +64 -0
  145. data/lib/ruflet_ui/ruflet/ui/controls/shared/path_control.rb +23 -0
  146. data/lib/ruflet_ui/ruflet/ui/controls/shared/placeholder_control.rb +58 -0
  147. data/lib/ruflet_ui/ruflet/ui/controls/shared/points_control.rb +24 -0
  148. data/lib/ruflet_ui/ruflet/ui/controls/shared/rect_control.rb +27 -0
  149. data/lib/ruflet_ui/ruflet/ui/controls/shared/reorderabledraghandle_control.rb +56 -0
  150. data/lib/ruflet_ui/ruflet/ui/controls/shared/responsiverow_control.rb +61 -0
  151. data/lib/ruflet_ui/ruflet/ui/controls/shared/row_control.rb +67 -0
  152. data/lib/ruflet_ui/ruflet/ui/controls/shared/ruflet_controls.rb +140 -0
  153. data/lib/ruflet_ui/ruflet/ui/controls/shared/safearea_control.rb +61 -0
  154. data/lib/ruflet_ui/ruflet/ui/controls/shared/semantics_control.rb +79 -0
  155. data/lib/ruflet_ui/ruflet/ui/controls/shared/serviceregistry_control.rb +21 -0
  156. data/lib/ruflet_ui/ruflet/ui/controls/shared/shadermask_control.rb +57 -0
  157. data/lib/ruflet_ui/ruflet/ui/controls/shared/shadow_control.rb +25 -0
  158. data/lib/ruflet_ui/ruflet/ui/controls/shared/shimmer_control.rb +60 -0
  159. data/lib/ruflet_ui/ruflet/ui/controls/shared/stack_control.rb +58 -0
  160. data/lib/ruflet_ui/ruflet/ui/controls/shared/text_control.rb +32 -0
  161. data/lib/ruflet_ui/ruflet/ui/controls/shared/textspan_control.rb +39 -0
  162. data/lib/ruflet_ui/ruflet/ui/controls/shared/transparentpointer_control.rb +54 -0
  163. data/lib/ruflet_ui/ruflet/ui/controls/shared/view_control.rb +77 -0
  164. data/lib/ruflet_ui/ruflet/ui/controls/shared/window_control.rb +56 -0
  165. data/lib/ruflet_ui/ruflet/ui/controls/shared/windowdragarea_control.rb +58 -0
  166. data/lib/ruflet_ui/ruflet/ui/cupertino_control_factory.rb +3 -30
  167. data/lib/ruflet_ui/ruflet/ui/material_control_factory.rb +3 -87
  168. data/lib/ruflet_ui/ruflet/ui/material_control_methods.rb +44 -2
  169. data/lib/ruflet_ui/ruflet/ui/material_control_registry.rb +26 -12
  170. data/lib/ruflet_ui/ruflet/ui/services/ruflet/accelerometer_control.rb +26 -0
  171. data/lib/ruflet_ui/ruflet/ui/services/ruflet/barometer_control.rb +26 -0
  172. data/lib/ruflet_ui/ruflet/ui/services/ruflet/battery_control.rb +22 -0
  173. data/lib/ruflet_ui/ruflet/ui/services/ruflet/camera_control.rb +58 -0
  174. data/lib/ruflet_ui/ruflet/ui/services/ruflet/clipboard_control.rb +21 -0
  175. data/lib/ruflet_ui/ruflet/ui/services/ruflet/connectivity_control.rb +22 -0
  176. data/lib/ruflet_ui/ruflet/ui/services/ruflet/filepicker_control.rb +23 -0
  177. data/lib/ruflet_ui/ruflet/ui/services/ruflet/flashlight_control.rb +22 -0
  178. data/lib/ruflet_ui/ruflet/ui/services/ruflet/gyroscope_control.rb +26 -0
  179. data/lib/ruflet_ui/ruflet/ui/services/ruflet/hapticfeedback_control.rb +21 -0
  180. data/lib/ruflet_ui/ruflet/ui/services/ruflet/magnetometer_control.rb +26 -0
  181. data/lib/ruflet_ui/ruflet/ui/services/ruflet/screenbrightness_control.rb +23 -0
  182. data/lib/ruflet_ui/ruflet/ui/services/ruflet/screenshot_control.rb +31 -0
  183. data/lib/ruflet_ui/ruflet/ui/services/ruflet/semanticsservice_control.rb +21 -0
  184. data/lib/ruflet_ui/ruflet/ui/services/ruflet/shakedetector_control.rb +26 -0
  185. data/lib/ruflet_ui/ruflet/ui/services/ruflet/share_control.rb +21 -0
  186. data/lib/ruflet_ui/ruflet/ui/services/ruflet/sharedpreferences_control.rb +21 -0
  187. data/lib/ruflet_ui/ruflet/ui/services/ruflet/storagepaths_control.rb +21 -0
  188. data/lib/ruflet_ui/ruflet/ui/services/ruflet/urllauncher_control.rb +21 -0
  189. data/lib/ruflet_ui/ruflet/ui/services/ruflet/useraccelerometer_control.rb +26 -0
  190. data/lib/ruflet_ui/ruflet/ui/services/ruflet/wakelock_control.rb +21 -0
  191. data/lib/ruflet_ui/ruflet/ui/services/ruflet_services.rb +66 -0
  192. data/lib/ruflet_ui/ruflet/ui/shared_control_forwarders.rb +41 -1
  193. data/lib/ruflet_ui/ruflet/ui/widget_builder.rb +9 -0
  194. data/lib/ruflet_ui.rb +14 -1
  195. metadata +178 -44
  196. data/lib/ruflet/manifest_compiler.rb +0 -62
  197. data/lib/ruflet_ui/ruflet/ui/controls/cupertino/cupertino_action_sheet_control.rb +0 -13
  198. data/lib/ruflet_ui/ruflet/ui/controls/cupertino/cupertino_alert_dialog_control.rb +0 -13
  199. data/lib/ruflet_ui/ruflet/ui/controls/cupertino/cupertino_button_control.rb +0 -13
  200. data/lib/ruflet_ui/ruflet/ui/controls/cupertino/cupertino_dialog_action_control.rb +0 -24
  201. data/lib/ruflet_ui/ruflet/ui/controls/cupertino/cupertino_filled_button_control.rb +0 -13
  202. data/lib/ruflet_ui/ruflet/ui/controls/cupertino/cupertino_navigation_bar_control.rb +0 -13
  203. data/lib/ruflet_ui/ruflet/ui/controls/cupertino/cupertino_slider_control.rb +0 -13
  204. data/lib/ruflet_ui/ruflet/ui/controls/cupertino/cupertino_switch_control.rb +0 -13
  205. data/lib/ruflet_ui/ruflet/ui/controls/cupertino/cupertino_text_field_control.rb +0 -13
  206. data/lib/ruflet_ui/ruflet/ui/controls/material/alert_dialog_control.rb +0 -13
  207. data/lib/ruflet_ui/ruflet/ui/controls/material/app_bar_control.rb +0 -13
  208. data/lib/ruflet_ui/ruflet/ui/controls/material/bottom_sheet_control.rb +0 -13
  209. data/lib/ruflet_ui/ruflet/ui/controls/material/button_control.rb +0 -24
  210. data/lib/ruflet_ui/ruflet/ui/controls/material/checkbox_control.rb +0 -13
  211. data/lib/ruflet_ui/ruflet/ui/controls/material/column_control.rb +0 -13
  212. data/lib/ruflet_ui/ruflet/ui/controls/material/container_control.rb +0 -13
  213. data/lib/ruflet_ui/ruflet/ui/controls/material/drag_target_control.rb +0 -13
  214. data/lib/ruflet_ui/ruflet/ui/controls/material/draggable_control.rb +0 -13
  215. data/lib/ruflet_ui/ruflet/ui/controls/material/elevated_button_control.rb +0 -13
  216. data/lib/ruflet_ui/ruflet/ui/controls/material/filled_button_control.rb +0 -13
  217. data/lib/ruflet_ui/ruflet/ui/controls/material/floating_action_button_control.rb +0 -28
  218. data/lib/ruflet_ui/ruflet/ui/controls/material/gesture_detector_control.rb +0 -13
  219. data/lib/ruflet_ui/ruflet/ui/controls/material/grid_view_control.rb +0 -13
  220. data/lib/ruflet_ui/ruflet/ui/controls/material/icon_button_control.rb +0 -13
  221. data/lib/ruflet_ui/ruflet/ui/controls/material/icon_control.rb +0 -24
  222. data/lib/ruflet_ui/ruflet/ui/controls/material/image_control.rb +0 -13
  223. data/lib/ruflet_ui/ruflet/ui/controls/material/markdown_control.rb +0 -13
  224. data/lib/ruflet_ui/ruflet/ui/controls/material/navigation_bar_control.rb +0 -13
  225. data/lib/ruflet_ui/ruflet/ui/controls/material/navigation_bar_destination_control.rb +0 -13
  226. data/lib/ruflet_ui/ruflet/ui/controls/material/radio_control.rb +0 -13
  227. data/lib/ruflet_ui/ruflet/ui/controls/material/radio_group_control.rb +0 -13
  228. data/lib/ruflet_ui/ruflet/ui/controls/material/row_control.rb +0 -13
  229. data/lib/ruflet_ui/ruflet/ui/controls/material/snack_bar_control.rb +0 -68
  230. data/lib/ruflet_ui/ruflet/ui/controls/material/stack_control.rb +0 -13
  231. data/lib/ruflet_ui/ruflet/ui/controls/material/tab_bar_control.rb +0 -13
  232. data/lib/ruflet_ui/ruflet/ui/controls/material/tab_bar_view_control.rb +0 -13
  233. data/lib/ruflet_ui/ruflet/ui/controls/material/tab_control.rb +0 -13
  234. data/lib/ruflet_ui/ruflet/ui/controls/material/tabs_control.rb +0 -63
  235. data/lib/ruflet_ui/ruflet/ui/controls/material/text_button_control.rb +0 -13
  236. data/lib/ruflet_ui/ruflet/ui/controls/material/text_control.rb +0 -13
  237. data/lib/ruflet_ui/ruflet/ui/controls/material/text_field_control.rb +0 -13
  238. data/lib/ruflet_ui/ruflet/ui/controls/material/view_control.rb +0 -13
@@ -1,28 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Ruflet
4
- module UI
5
- module Controls
6
- class FloatingActionButtonControl < Ruflet::Control
7
- def initialize(id: nil, **props)
8
- super(type: "floatingactionbutton", id: id, **props)
9
- end
10
-
11
- private
12
-
13
- def preprocess_props(props)
14
- normalized = props.dup
15
-
16
- # Accept both correct and common-misspelled foreground color keys.
17
- if !normalized.key?(:color) && !normalized.key?("color")
18
- fg = normalized.delete(:foreground_color) || normalized.delete("foreground_color")
19
- fg ||= normalized.delete(:forground_color) || normalized.delete("forground_color")
20
- normalized[:color] = fg if fg
21
- end
22
-
23
- normalized
24
- end
25
- end
26
- end
27
- end
28
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Ruflet
4
- module UI
5
- module Controls
6
- class GestureDetectorControl < Ruflet::Control
7
- def initialize(id: nil, **props)
8
- super(type: "gesturedetector", id: id, **props)
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Ruflet
4
- module UI
5
- module Controls
6
- class GridViewControl < Ruflet::Control
7
- def initialize(id: nil, **props)
8
- super(type: "gridview", id: id, **props)
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Ruflet
4
- module UI
5
- module Controls
6
- class IconButtonControl < Ruflet::Control
7
- def initialize(id: nil, **props)
8
- super(type: "iconbutton", id: id, **props)
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,24 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Ruflet
4
- module UI
5
- module Controls
6
- class IconControl < Ruflet::Control
7
- def initialize(id: nil, **props)
8
- super(type: "icon", id: id, **props)
9
- end
10
-
11
- private
12
-
13
- def preprocess_props(props)
14
- mapped = props.dup
15
- if mapped.key?(:name) || mapped.key?("name")
16
- value = mapped.delete(:name) || mapped.delete("name")
17
- mapped[:icon] = value unless mapped.key?(:icon) || mapped.key?("icon")
18
- end
19
- mapped
20
- end
21
- end
22
- end
23
- end
24
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Ruflet
4
- module UI
5
- module Controls
6
- class ImageControl < Ruflet::Control
7
- def initialize(id: nil, **props)
8
- super(type: "image", id: id, **props)
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Ruflet
4
- module UI
5
- module Controls
6
- class MarkdownControl < Ruflet::Control
7
- def initialize(id: nil, **props)
8
- super(type: "markdown", id: id, **props)
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Ruflet
4
- module UI
5
- module Controls
6
- class NavigationBarControl < Ruflet::Control
7
- def initialize(id: nil, **props)
8
- super(type: "navigationbar", id: id, **props)
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Ruflet
4
- module UI
5
- module Controls
6
- class NavigationBarDestinationControl < Ruflet::Control
7
- def initialize(id: nil, **props)
8
- super(type: "navigationbardestination", id: id, **props)
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Ruflet
4
- module UI
5
- module Controls
6
- class RadioControl < Ruflet::Control
7
- def initialize(id: nil, **props)
8
- super(type: "radio", id: id, **props)
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Ruflet
4
- module UI
5
- module Controls
6
- class RadioGroupControl < Ruflet::Control
7
- def initialize(id: nil, **props)
8
- super(type: "radiogroup", id: id, **props)
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Ruflet
4
- module UI
5
- module Controls
6
- class RowControl < Ruflet::Control
7
- def initialize(id: nil, **props)
8
- super(type: "row", id: id, **props)
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,68 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Ruflet
4
- module UI
5
- module Controls
6
- class SnackBarControl < Ruflet::Control
7
- def initialize(id: nil, **props)
8
- super(type: "snackbar", id: id, **props)
9
- end
10
-
11
- private
12
-
13
- def preprocess_props(props)
14
- mapped = props.dup
15
- key = if mapped.key?(:duration)
16
- :duration
17
- elsif mapped.key?("duration")
18
- "duration"
19
- end
20
- return mapped unless key
21
-
22
- mapped[key] = normalize_duration_ms(mapped[key])
23
- mapped
24
- end
25
-
26
- def normalize_duration_ms(value)
27
- return value.to_i if value.is_a?(Numeric)
28
- return value.to_i if value.is_a?(String) && value.match?(/\A\d+(\.\d+)?\z/)
29
-
30
- parts =
31
- if value.is_a?(Hash)
32
- value
33
- elsif value.respond_to?(:to_h)
34
- value.to_h
35
- else
36
- nil
37
- end
38
- return value unless parts.is_a?(Hash)
39
-
40
- days = read_number(parts, "days")
41
- hours = read_number(parts, "hours")
42
- minutes = read_number(parts, "minutes")
43
- seconds = read_number(parts, "seconds")
44
- milliseconds = read_number(parts, "milliseconds")
45
- microseconds = read_number(parts, "microseconds")
46
-
47
- total_ms = 0.0
48
- total_ms += days * 86_400_000.0
49
- total_ms += hours * 3_600_000.0
50
- total_ms += minutes * 60_000.0
51
- total_ms += seconds * 1_000.0
52
- total_ms += milliseconds
53
- total_ms += microseconds / 1000.0
54
- total_ms.round
55
- end
56
-
57
- def read_number(parts, key)
58
- raw = parts[key] || parts[key.to_sym]
59
- return 0.0 if raw.nil?
60
- return raw.to_f if raw.is_a?(Numeric)
61
- return raw.to_f if raw.is_a?(String) && raw.match?(/\A-?\d+(\.\d+)?\z/)
62
-
63
- 0.0
64
- end
65
- end
66
- end
67
- end
68
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Ruflet
4
- module UI
5
- module Controls
6
- class StackControl < Ruflet::Control
7
- def initialize(id: nil, **props)
8
- super(type: "stack", id: id, **props)
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Ruflet
4
- module UI
5
- module Controls
6
- class TabBarControl < Ruflet::Control
7
- def initialize(id: nil, **props)
8
- super(type: "tabbar", id: id, **props)
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Ruflet
4
- module UI
5
- module Controls
6
- class TabBarViewControl < Ruflet::Control
7
- def initialize(id: nil, **props)
8
- super(type: "tabbarview", id: id, **props)
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Ruflet
4
- module UI
5
- module Controls
6
- class TabControl < Ruflet::Control
7
- def initialize(id: nil, **props)
8
- super(type: "tab", id: id, **props)
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,63 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "column_control"
4
- require_relative "tab_control"
5
- require_relative "tab_bar_control"
6
- require_relative "tab_bar_view_control"
7
-
8
- module Ruflet
9
- module UI
10
- module Controls
11
- class TabsControl < Ruflet::Control
12
- def initialize(id: nil, **props)
13
- super(type: "tabs", id: id, **props)
14
- end
15
-
16
- private
17
-
18
- # Normalize shorthand tabs payload into Flet's expected structure:
19
- # Tabs(length, content: Column(TabBar, TabBarView))
20
- def preprocess_props(props)
21
- mapped = props.dup
22
- tabs = mapped.delete(:tabs) || mapped.delete("tabs")
23
- return mapped if tabs.nil?
24
- return mapped unless tabs.is_a?(Array)
25
- return mapped if mapped.key?(:content) || mapped.key?("content")
26
-
27
- tab_controls = []
28
- view_controls = []
29
-
30
- tabs.each do |tab|
31
- unless tab.is_a?(Ruflet::Control) && tab.type == "tab"
32
- # Keep TabBar and TabBarView lengths aligned.
33
- tab_controls << Ruflet::UI::Controls::TabControl.new(label: tab)
34
- view_controls << Ruflet::UI::Controls::ColumnControl.new(controls: [])
35
- next
36
- end
37
-
38
- label = tab.props["label"]
39
- icon = tab.props["icon"]
40
- header_tab = Ruflet::UI::Controls::TabControl.new(label: label, icon: icon)
41
- tab_controls << header_tab
42
-
43
- content = tab.props["content"]
44
- view_controls << (content.is_a?(Ruflet::Control) ? content : Ruflet::UI::Controls::ColumnControl.new(controls: []))
45
- end
46
-
47
- tab_bar = Ruflet::UI::Controls::TabBarControl.new(tabs: tab_controls)
48
- tab_bar_view_props = { controls: view_controls }
49
- # Only opt into flexed TabBarView when developer explicitly sizes Tabs.
50
- if mapped.key?(:expand) || mapped.key?("expand") || mapped.key?(:height) || mapped.key?("height")
51
- tab_bar_view_props[:expand] = 1
52
- end
53
- tab_bar_view = Ruflet::UI::Controls::TabBarViewControl.new(**tab_bar_view_props)
54
- content = Ruflet::UI::Controls::ColumnControl.new(expand: true, spacing: 0, controls: [tab_bar, tab_bar_view])
55
-
56
- mapped[:length] = tab_controls.length unless mapped.key?(:length) || mapped.key?("length")
57
- mapped[:content] = content
58
- mapped
59
- end
60
- end
61
- end
62
- end
63
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Ruflet
4
- module UI
5
- module Controls
6
- class TextButtonControl < ButtonControl
7
- def initialize(id: nil, **props)
8
- super(type: "textbutton", id: id, **props)
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Ruflet
4
- module UI
5
- module Controls
6
- class TextControl < Ruflet::Control
7
- def initialize(id: nil, **props)
8
- super(type: "text", id: id, **props)
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Ruflet
4
- module UI
5
- module Controls
6
- class TextFieldControl < Ruflet::Control
7
- def initialize(id: nil, **props)
8
- super(type: "textfield", id: id, **props)
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Ruflet
4
- module UI
5
- module Controls
6
- class ViewControl < Ruflet::Control
7
- def initialize(id: nil, **props)
8
- super(type: "view", id: id, **props)
9
- end
10
- end
11
- end
12
- end
13
- end