flet 0.82.3.dev7889__tar.gz → 0.82.3.dev7890__tar.gz

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 (301) hide show
  1. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/PKG-INFO +9 -9
  2. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/pyproject.toml +9 -9
  3. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/__init__.py +4 -0
  4. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/base_page.py +3 -2
  5. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/scrollable_control.py +119 -3
  6. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/types.py +38 -1
  7. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/version.py +1 -1
  8. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet.egg-info/PKG-INFO +9 -9
  9. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet.egg-info/requires.txt +8 -8
  10. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/README.md +0 -0
  11. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/setup.cfg +0 -0
  12. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/app.py +0 -0
  13. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/auth/__init__.py +0 -0
  14. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/auth/authorization.py +0 -0
  15. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/auth/authorization_service.py +0 -0
  16. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/auth/group.py +0 -0
  17. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/auth/oauth_provider.py +0 -0
  18. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/auth/oauth_token.py +0 -0
  19. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/auth/providers/__init__.py +0 -0
  20. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/auth/providers/auth0_oauth_provider.py +0 -0
  21. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/auth/providers/azure_oauth_provider.py +0 -0
  22. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/auth/providers/github_oauth_provider.py +0 -0
  23. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/auth/providers/google_oauth_provider.py +0 -0
  24. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/auth/user.py +0 -0
  25. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/canvas/__init__.py +0 -0
  26. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/cli.py +0 -0
  27. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/components/__init__.py +0 -0
  28. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/components/component.py +0 -0
  29. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/components/component_decorator.py +0 -0
  30. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/components/component_owned.py +0 -0
  31. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/components/hooks/__init__.py +0 -0
  32. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/components/hooks/hook.py +0 -0
  33. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/components/hooks/use_callback.py +0 -0
  34. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/components/hooks/use_context.py +0 -0
  35. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/components/hooks/use_effect.py +0 -0
  36. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/components/hooks/use_memo.py +0 -0
  37. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/components/hooks/use_ref.py +0 -0
  38. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/components/hooks/use_state.py +0 -0
  39. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/components/memo.py +0 -0
  40. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/components/observable.py +0 -0
  41. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/components/public_utils.py +0 -0
  42. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/components/utils.py +0 -0
  43. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/__init__.py +0 -0
  44. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/adaptive_control.py +0 -0
  45. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/alignment.py +0 -0
  46. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/animation.py +0 -0
  47. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/base_control.py +0 -0
  48. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/blur.py +0 -0
  49. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/border.py +0 -0
  50. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/border_radius.py +0 -0
  51. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/box.py +0 -0
  52. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/buttons.py +0 -0
  53. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/colors.py +0 -0
  54. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/context.py +0 -0
  55. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/control.py +0 -0
  56. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/control_event.py +0 -0
  57. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/control_state.py +0 -0
  58. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/__init__.py +0 -0
  59. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/animated_switcher.py +0 -0
  60. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/autofill_group.py +0 -0
  61. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/canvas/__init__.py +0 -0
  62. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/canvas/arc.py +0 -0
  63. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/canvas/canvas.py +0 -0
  64. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/canvas/circle.py +0 -0
  65. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/canvas/color.py +0 -0
  66. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/canvas/fill.py +0 -0
  67. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/canvas/image.py +0 -0
  68. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/canvas/line.py +0 -0
  69. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/canvas/oval.py +0 -0
  70. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/canvas/path.py +0 -0
  71. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/canvas/points.py +0 -0
  72. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/canvas/rect.py +0 -0
  73. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/canvas/shadow.py +0 -0
  74. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/canvas/shape.py +0 -0
  75. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/canvas/text.py +0 -0
  76. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/column.py +0 -0
  77. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/dismissible.py +0 -0
  78. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/drag_target.py +0 -0
  79. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/draggable.py +0 -0
  80. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/flet_app.py +0 -0
  81. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/gesture_detector.py +0 -0
  82. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/grid_view.py +0 -0
  83. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/hero.py +0 -0
  84. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/icon.py +0 -0
  85. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/image.py +0 -0
  86. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/interactive_viewer.py +0 -0
  87. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/keyboard_listener.py +0 -0
  88. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/list_view.py +0 -0
  89. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/markdown.py +0 -0
  90. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/merge_semantics.py +0 -0
  91. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/page_view.py +0 -0
  92. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/pagelet.py +0 -0
  93. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/placeholder.py +0 -0
  94. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/reorderable_drag_handle.py +0 -0
  95. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/responsive_row.py +0 -0
  96. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/rotated_box.py +0 -0
  97. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/row.py +0 -0
  98. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/safe_area.py +0 -0
  99. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/screenshot.py +0 -0
  100. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/semantics.py +0 -0
  101. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/shader_mask.py +0 -0
  102. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/shimmer.py +0 -0
  103. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/stack.py +0 -0
  104. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/text.py +0 -0
  105. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/text_span.py +0 -0
  106. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/transparent_pointer.py +0 -0
  107. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/view.py +0 -0
  108. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/window.py +0 -0
  109. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/core/window_drag_area.py +0 -0
  110. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/__init__.py +0 -0
  111. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_action_sheet.py +0 -0
  112. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_action_sheet_action.py +0 -0
  113. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_activity_indicator.py +0 -0
  114. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_alert_dialog.py +0 -0
  115. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_app_bar.py +0 -0
  116. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_bottom_sheet.py +0 -0
  117. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_button.py +0 -0
  118. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_checkbox.py +0 -0
  119. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_colors.py +0 -0
  120. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_context_menu.py +0 -0
  121. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_context_menu_action.py +0 -0
  122. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_date_picker.py +0 -0
  123. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_dialog_action.py +0 -0
  124. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_filled_button.py +0 -0
  125. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_icons.json +0 -0
  126. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_icons.py +0 -0
  127. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_icons.pyi +0 -0
  128. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_list_tile.py +0 -0
  129. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_navigation_bar.py +0 -0
  130. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_picker.py +0 -0
  131. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_radio.py +0 -0
  132. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_segmented_button.py +0 -0
  133. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_slider.py +0 -0
  134. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_sliding_segmented_button.py +0 -0
  135. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_switch.py +0 -0
  136. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_textfield.py +0 -0
  137. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_timer_picker.py +0 -0
  138. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/cupertino/cupertino_tinted_button.py +0 -0
  139. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/device_info.py +0 -0
  140. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/dialog_control.py +0 -0
  141. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/duration.py +0 -0
  142. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/embed_json_encoder.py +0 -0
  143. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/events.py +0 -0
  144. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/exceptions.py +0 -0
  145. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/geometry.py +0 -0
  146. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/gradients.py +0 -0
  147. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/icon_data.py +0 -0
  148. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/id_counter.py +0 -0
  149. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/keys.py +0 -0
  150. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/layout_control.py +0 -0
  151. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/margin.py +0 -0
  152. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/__init__.py +0 -0
  153. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/alert_dialog.py +0 -0
  154. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/app_bar.py +0 -0
  155. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/auto_complete.py +0 -0
  156. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/badge.py +0 -0
  157. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/banner.py +0 -0
  158. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/bottom_app_bar.py +0 -0
  159. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/bottom_sheet.py +0 -0
  160. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/button.py +0 -0
  161. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/card.py +0 -0
  162. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/checkbox.py +0 -0
  163. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/chip.py +0 -0
  164. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/circle_avatar.py +0 -0
  165. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/container.py +0 -0
  166. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/context_menu.py +0 -0
  167. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/datatable.py +0 -0
  168. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/date_picker.py +0 -0
  169. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/date_range_picker.py +0 -0
  170. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/divider.py +0 -0
  171. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/dropdown.py +0 -0
  172. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/dropdownm2.py +0 -0
  173. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/elevated_button.py +0 -0
  174. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/expansion_panel.py +0 -0
  175. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/expansion_tile.py +0 -0
  176. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/filled_button.py +0 -0
  177. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/filled_tonal_button.py +0 -0
  178. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/floating_action_button.py +0 -0
  179. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/form_field_control.py +0 -0
  180. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/icon_button.py +0 -0
  181. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/icons.json +0 -0
  182. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/icons.py +0 -0
  183. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/icons.pyi +0 -0
  184. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/list_tile.py +0 -0
  185. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/menu_bar.py +0 -0
  186. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/menu_item_button.py +0 -0
  187. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/navigation_bar.py +0 -0
  188. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/navigation_drawer.py +0 -0
  189. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/navigation_rail.py +0 -0
  190. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/outlined_button.py +0 -0
  191. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/popup_menu_button.py +0 -0
  192. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/progress_bar.py +0 -0
  193. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/progress_ring.py +0 -0
  194. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/radio.py +0 -0
  195. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/radio_group.py +0 -0
  196. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/range_slider.py +0 -0
  197. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/reorderable_list_view.py +0 -0
  198. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/search_bar.py +0 -0
  199. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/segmented_button.py +0 -0
  200. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/selection_area.py +0 -0
  201. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/slider.py +0 -0
  202. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/snack_bar.py +0 -0
  203. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/submenu_button.py +0 -0
  204. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/switch.py +0 -0
  205. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/tabs.py +0 -0
  206. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/text_button.py +0 -0
  207. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/textfield.py +0 -0
  208. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/time_picker.py +0 -0
  209. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/tooltip.py +0 -0
  210. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/material/vertical_divider.py +0 -0
  211. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/multi_view.py +0 -0
  212. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/object_patch.py +0 -0
  213. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/padding.py +0 -0
  214. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/page.py +0 -0
  215. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/painting.py +0 -0
  216. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/query_string.py +0 -0
  217. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/ref.py +0 -0
  218. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/services/__init__.py +0 -0
  219. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/services/accelerometer.py +0 -0
  220. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/services/barometer.py +0 -0
  221. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/services/battery.py +0 -0
  222. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/services/browser_context_menu.py +0 -0
  223. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/services/clipboard.py +0 -0
  224. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/services/connectivity.py +0 -0
  225. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/services/file_picker.py +0 -0
  226. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/services/gyroscope.py +0 -0
  227. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/services/haptic_feedback.py +0 -0
  228. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/services/magnetometer.py +0 -0
  229. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/services/screen_brightness.py +0 -0
  230. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/services/semantics_service.py +0 -0
  231. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/services/sensor_error_event.py +0 -0
  232. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/services/service.py +0 -0
  233. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/services/shake_detector.py +0 -0
  234. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/services/share.py +0 -0
  235. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/services/shared_preferences.py +0 -0
  236. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/services/storage_paths.py +0 -0
  237. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/services/url_launcher.py +0 -0
  238. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/services/user_accelerometer.py +0 -0
  239. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/services/wakelock.py +0 -0
  240. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/template_route.py +0 -0
  241. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/text_style.py +0 -0
  242. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/theme.py +0 -0
  243. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/transform.py +0 -0
  244. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/controls/value_types.py +0 -0
  245. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/fastapi/__init__.py +0 -0
  246. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/messaging/connection.py +0 -0
  247. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/messaging/flet_socket_server.py +0 -0
  248. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/messaging/protocol.py +0 -0
  249. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/messaging/pyodide_connection.py +0 -0
  250. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/messaging/session.py +0 -0
  251. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/messaging/session_store.py +0 -0
  252. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/pubsub/__init__.py +0 -0
  253. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/pubsub/pubsub_client.py +0 -0
  254. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/pubsub/pubsub_hub.py +0 -0
  255. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/py.typed +0 -0
  256. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/security/__init__.py +0 -0
  257. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/testing/__init__.py +0 -0
  258. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/testing/finder.py +0 -0
  259. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/testing/flet_test_app.py +0 -0
  260. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/testing/tester.py +0 -0
  261. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/utils/__init__.py +0 -0
  262. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/utils/browser.py +0 -0
  263. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/utils/classproperty.py +0 -0
  264. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/utils/deprecated.py +0 -0
  265. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/utils/deprecated_enum.py +0 -0
  266. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/utils/files.py +0 -0
  267. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/utils/from_dict.py +0 -0
  268. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/utils/hashing.py +0 -0
  269. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/utils/json_utils.py +0 -0
  270. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/utils/locks.py +0 -0
  271. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/utils/network.py +0 -0
  272. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/utils/object_model.py +0 -0
  273. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/utils/once.py +0 -0
  274. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/utils/pip.py +0 -0
  275. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/utils/platform_utils.py +0 -0
  276. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/utils/slugify.py +0 -0
  277. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/utils/strings.py +0 -0
  278. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/utils/typing_utils.py +0 -0
  279. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet/utils/vector.py +0 -0
  280. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet.egg-info/SOURCES.txt +0 -0
  281. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet.egg-info/dependency_links.txt +0 -0
  282. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet.egg-info/entry_points.txt +0 -0
  283. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/src/flet.egg-info/top_level.txt +0 -0
  284. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/tests/test_auth_lazy_imports.py +0 -0
  285. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/tests/test_base_control.py +0 -0
  286. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/tests/test_colors.py +0 -0
  287. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/tests/test_component_effects.py +0 -0
  288. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/tests/test_component_renderer.py +0 -0
  289. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/tests/test_dataclasses.py +0 -0
  290. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/tests/test_datetime.py +0 -0
  291. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/tests/test_events.py +0 -0
  292. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/tests/test_from_dict.py +0 -0
  293. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/tests/test_icons.py +0 -0
  294. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/tests/test_object_diff_frozen.py +0 -0
  295. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/tests/test_object_diff_in_place.py +0 -0
  296. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/tests/test_object_diff_memory_churn.py +0 -0
  297. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/tests/test_object_diff_performance.py +0 -0
  298. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/tests/test_observable.py +0 -0
  299. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/tests/test_patch_dataclass.py +0 -0
  300. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/tests/test_session_disconnect_buffering.py +0 -0
  301. {flet-0.82.3.dev7889 → flet-0.82.3.dev7890}/tests/test_skip_double_update.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flet
3
- Version: 0.82.3.dev7889
3
+ Version: 0.82.3.dev7890
4
4
  Summary: Flet for Python - easily build interactive multi-platform apps in Python
5
5
  Author-email: "Appveyor Systems Inc." <hello@flet.dev>
6
6
  License-Expression: Apache-2.0
@@ -9,23 +9,23 @@ Project-URL: Repository, https://github.com/flet-dev/flet
9
9
  Project-URL: Documentation, https://docs.flet.dev/
10
10
  Requires-Python: >=3.10
11
11
  Description-Content-Type: text/markdown
12
- Requires-Dist: flet-cli==0.82.3.dev7889; extra == "cli"
13
- Requires-Dist: flet-web==0.82.3.dev7889; extra == "web"
12
+ Requires-Dist: flet-cli==0.82.3.dev7890; extra == "cli"
13
+ Requires-Dist: flet-web==0.82.3.dev7890; extra == "web"
14
14
  Requires-Dist: oauthlib>=3.2.2; platform_system != "Pyodide"
15
15
  Requires-Dist: httpx>=0.28.1; platform_system != "Pyodide"
16
16
  Requires-Dist: repath>=0.9.0
17
17
  Requires-Dist: msgpack>=1.1.0
18
18
  Requires-Dist: typing-extensions; python_version < "3.11"
19
19
  Provides-Extra: all
20
- Requires-Dist: flet-cli==0.82.3.dev7889; extra == "all"
21
- Requires-Dist: flet-web==0.82.3.dev7889; extra == "all"
22
- Requires-Dist: flet-desktop==0.82.3.dev7889; extra == "all"
20
+ Requires-Dist: flet-cli==0.82.3.dev7890; extra == "all"
21
+ Requires-Dist: flet-web==0.82.3.dev7890; extra == "all"
22
+ Requires-Dist: flet-desktop==0.82.3.dev7890; extra == "all"
23
23
  Provides-Extra: cli
24
- Requires-Dist: flet-cli==0.82.3.dev7889; extra == "cli"
24
+ Requires-Dist: flet-cli==0.82.3.dev7890; extra == "cli"
25
25
  Provides-Extra: desktop
26
- Requires-Dist: flet-desktop==0.82.3.dev7889; extra == "desktop"
26
+ Requires-Dist: flet-desktop==0.82.3.dev7890; extra == "desktop"
27
27
  Provides-Extra: web
28
- Requires-Dist: flet-web==0.82.3.dev7889; extra == "web"
28
+ Requires-Dist: flet-web==0.82.3.dev7890; extra == "web"
29
29
 
30
30
  <p align="center">
31
31
  <a href="https://flet.dev"><img src="https://raw.githubusercontent.com/flet-dev/flet/refs/heads/main/media/logo/flet-logo.svg" height="150" alt="Flet logo"></a>
@@ -1,14 +1,14 @@
1
1
  [project]
2
2
  name = "flet"
3
- version = "0.82.3.dev7889"
3
+ version = "0.82.3.dev7890"
4
4
  description = "Flet for Python - easily build interactive multi-platform apps in Python"
5
5
  authors = [{name = "Appveyor Systems Inc.", email = "hello@flet.dev"}]
6
6
  license = "Apache-2.0"
7
7
  readme = "README.md"
8
8
  requires-python = ">=3.10"
9
9
  dependencies = [
10
- "flet-cli==0.82.3.dev7889; extra == 'cli'",
11
- "flet-web==0.82.3.dev7889; extra == 'web'",
10
+ "flet-cli==0.82.3.dev7890; extra == 'cli'",
11
+ "flet-web==0.82.3.dev7890; extra == 'web'",
12
12
  "oauthlib >=3.2.2; platform_system != 'Pyodide'",
13
13
  "httpx >=0.28.1; platform_system != 'Pyodide'",
14
14
  "repath >=0.9.0",
@@ -23,15 +23,15 @@ Documentation = "https://docs.flet.dev/"
23
23
 
24
24
  [project.optional-dependencies]
25
25
  all = [
26
- "flet-cli==0.82.3.dev7889",
27
- "flet-web==0.82.3.dev7889",
28
- "flet-desktop==0.82.3.dev7889",
26
+ "flet-cli==0.82.3.dev7890",
27
+ "flet-web==0.82.3.dev7890",
28
+ "flet-desktop==0.82.3.dev7890",
29
29
  ]
30
- cli = ["flet-cli==0.82.3.dev7889"]
30
+ cli = ["flet-cli==0.82.3.dev7890"]
31
31
  desktop = [
32
- "flet-desktop==0.82.3.dev7889",
32
+ "flet-desktop==0.82.3.dev7890",
33
33
  ]
34
- web = ["flet-web==0.82.3.dev7889"]
34
+ web = ["flet-web==0.82.3.dev7890"]
35
35
 
36
36
  [project.scripts]
37
37
  flet = "flet.cli:main"
@@ -423,6 +423,8 @@ from flet.controls.ref import Ref
423
423
  from flet.controls.scrollable_control import (
424
424
  OnScrollEvent,
425
425
  ScrollableControl,
426
+ Scrollbar,
427
+ ScrollbarOrientation,
426
428
  ScrollDirection,
427
429
  ScrollType,
428
430
  )
@@ -967,6 +969,8 @@ __all__ = [
967
969
  "ScrollMode",
968
970
  "ScrollType",
969
971
  "ScrollableControl",
972
+ "Scrollbar",
973
+ "ScrollbarOrientation",
970
974
  "ScrollbarTheme",
971
975
  "SearchBar",
972
976
  "SearchBarTheme",
@@ -27,6 +27,7 @@ from flet.controls.material.floating_action_button import FloatingActionButton
27
27
  from flet.controls.material.navigation_bar import NavigationBar
28
28
  from flet.controls.material.navigation_drawer import NavigationDrawer
29
29
  from flet.controls.padding import Padding, PaddingValue
30
+ from flet.controls.scrollable_control import Scrollbar
30
31
  from flet.controls.services.service import Service
31
32
  from flet.controls.transform import OffsetValue
32
33
  from flet.controls.types import (
@@ -702,7 +703,7 @@ class BasePage(AdaptiveControl):
702
703
 
703
704
  # scroll
704
705
  @property
705
- def scroll(self) -> Optional[ScrollMode]:
706
+ def scroll(self) -> Optional[Union[ScrollMode, Scrollbar]]:
706
707
  """
707
708
  Scroll behavior mode for root view content.
708
709
  """
@@ -710,7 +711,7 @@ class BasePage(AdaptiveControl):
710
711
  return self.__root_view().scroll
711
712
 
712
713
  @scroll.setter
713
- def scroll(self, value: Optional[ScrollMode]):
714
+ def scroll(self, value: Optional[Union[ScrollMode, Scrollbar]]):
714
715
  self.__root_view().scroll = value
715
716
 
716
717
  # auto_scroll
@@ -13,7 +13,14 @@ from flet.controls.types import (
13
13
  ScrollMode,
14
14
  )
15
15
 
16
- __all__ = ["OnScrollEvent", "ScrollDirection", "ScrollType", "ScrollableControl"]
16
+ __all__ = [
17
+ "OnScrollEvent",
18
+ "ScrollDirection",
19
+ "ScrollType",
20
+ "ScrollableControl",
21
+ "Scrollbar",
22
+ "ScrollbarOrientation",
23
+ ]
17
24
 
18
25
 
19
26
  class ScrollType(Enum):
@@ -78,6 +85,111 @@ class ScrollDirection(Enum):
78
85
  """
79
86
 
80
87
 
88
+ class ScrollbarOrientation(Enum):
89
+ """
90
+ Defines the edge/side of the viewport where the [`Scrollbar`][flet.] is shown.
91
+ """
92
+
93
+ LEFT = "left"
94
+ """
95
+ Places the scrollbar on the left/leading edge of a vertical scrollable.
96
+ """
97
+
98
+ RIGHT = "right"
99
+ """
100
+ Places the scrollbar on the right/trailing edge of a vertical scrollable.
101
+ """
102
+
103
+ TOP = "top"
104
+ """
105
+ Places the scrollbar above a horizontal scrollable.
106
+ """
107
+
108
+ BOTTOM = "bottom"
109
+ """
110
+ Places the scrollbar below a horizontal scrollable.
111
+ """
112
+
113
+
114
+ @dataclass
115
+ class Scrollbar:
116
+ """
117
+ Configures the scrollbar that scrollable controls render for their content.
118
+ """
119
+
120
+ thumb_visibility: Optional[bool] = None
121
+ """
122
+ Whether this scrollbar's thumb should be always be visible, even when not being
123
+ scrolled. When `False`, the scrollbar will be shown during scrolling and
124
+ will fade out otherwise.
125
+
126
+ If `None`, then [`ScrollbarTheme.thumb_visibility`][flet.] is used.
127
+ If that is also `None`, defaults to `False`.
128
+ """
129
+
130
+ track_visibility: Optional[bool] = None
131
+ """
132
+ Indicates whether the scrollbar track should be visible,
133
+ so long as the [thumb][(c).thumb_visibility] is visible.
134
+
135
+ If `None`, then [`ScrollbarTheme.track_visibility`][flet.] is used.
136
+ If that is also `None`, defaults to `False`.
137
+ """
138
+
139
+ thickness: Optional[Number] = None
140
+ """
141
+ Controls the cross-axis size of the scrollbar in logical pixels.
142
+ The thickness of the scrollbar in the cross axis of the scrollable.
143
+
144
+ If `None`, the default value is platform dependent:
145
+ `4.0` pixels on Android
146
+ ([`Page.platform`][flet.] == [`PagePlatform.ANDROID`][flet.]) and iOS
147
+ ([`Page.platform`][flet.] == [`PagePlatform.IOS`][flet.]);
148
+ [`ScrollbarTheme.thickness`][flet.] on the remaining platforms.
149
+ """
150
+
151
+ radius: Optional[Number] = None
152
+ """
153
+ Circular radius of the scrollbar thumb's rounded rectangle corners in logical
154
+ pixels. If `None`, platform defaults are used.
155
+
156
+ The radius of the scrollbar thumb's rounded rectangle corners.
157
+
158
+ If `None`, the default value is platform dependent:
159
+ no radius is applied on Android
160
+ ([`Page.platform`][flet.] == [`PagePlatform.ANDROID`][flet.]);
161
+ `1.5` pixels on iOS ([`Page.platform`][flet.] == [`PagePlatform.IOS`][flet.]);
162
+ `8.0` pixels on the remaining platforms.
163
+ """
164
+
165
+ interactive: Optional[bool] = None
166
+ """
167
+ Whether this scroll bar should be interactive and respond to dragging on the
168
+ thumb, or tapping in the track area.
169
+
170
+ When `False`, the scrollbar will not respond to gesture or hover events, and will
171
+ allow to click through it.
172
+
173
+ If `None`, defaults to `True`, unless on Android, where it defaults to `False`.
174
+ """
175
+
176
+ orientation: Optional[ScrollbarOrientation] = None
177
+ """
178
+ Specifies where the scrollbar should appear relative to the scrollable.
179
+
180
+ If `None`, for a vertical scroll, defaults to [`ScrollbarOrientation.RIGHT`][flet.]
181
+ for left-to-right text direction and [`ScrollbarOrientation.LEFT`][flet.]
182
+ for right-to-left text direction, while for a horizontal scroll, it defaults to
183
+ [`ScrollbarOrientation.BOTTOM`][flet.].
184
+
185
+ Note:
186
+ [`ScrollbarOrientation.TOP`][flet.] and [`ScrollbarOrientation.BOTTOM`][flet.]
187
+ can only be used with a horizontal scroll; [`ScrollbarOrientation.LEFT`][flet.]
188
+ and [`ScrollbarOrientation.RIGHT`][flet.] can only be used with a vertical
189
+ scroll.
190
+ """
191
+
192
+
81
193
  @dataclass
82
194
  class OnScrollEvent(Event["ScrollableControl"]):
83
195
  """
@@ -89,6 +201,7 @@ class OnScrollEvent(Event["ScrollableControl"]):
89
201
  Logical type of the scroll notification.
90
202
 
91
203
  Determines which optional fields are populated:
204
+
92
205
  - [`ScrollType.UPDATE`][flet.]: [`scroll_delta`][(c).]
93
206
  - [`ScrollType.USER`][flet.]: [`direction`][(c).direction]
94
207
  - [`ScrollType.OVERSCROLL`][flet.]: [`overscroll`][(c).] and [`velocity`][(c).]
@@ -222,9 +335,12 @@ class ScrollableControl(Control):
222
335
  - imperatively changing position with [`scroll_to()`][(c).scroll_to].
223
336
  """
224
337
 
225
- scroll: Optional[ScrollMode] = None
338
+ scroll: Optional[Union[ScrollMode, Scrollbar]] = None
226
339
  """
227
- Enables a vertical scrolling for the Column to prevent its content overflow.
340
+ Defines the scroll bar configuration of this control.
341
+
342
+ Can be a [`Scrollbar`][flet.] instance for full control over the appearance of the
343
+ scrollbar, or a [`ScrollMode`][flet.] value, for ready-made scrollbar behaviors.
228
344
  """
229
345
 
230
346
  auto_scroll: bool = False
@@ -438,28 +438,65 @@ class TextAlign(Enum):
438
438
 
439
439
  class ScrollMode(Enum):
440
440
  """
441
- Weather scrolling is enabled and visibility of scroll bar options.
441
+ Defines scrolling behavior and scroll bar visibility for scrollable controls.
442
+
443
+ When assigned to [`ScrollableControl.scroll`][flet.], for example, each value
444
+ internally maps to a specific [`Scrollbar`][flet.] configuration.
442
445
  """
443
446
 
444
447
  AUTO = "auto"
445
448
  """
446
449
  Scrolling is enabled and scroll bar is only shown when scrolling occurs.
450
+
451
+ [`Scrollbar`][flet.] equivalent:
452
+
453
+ ```python
454
+ ft.Scrollbar(
455
+ thickness=4.0 if page.platform.is_mobile() and not page.web else None,
456
+ )
457
+ ```
447
458
  """
448
459
 
449
460
  ADAPTIVE = "adaptive"
450
461
  """
451
462
  Scrolling is enabled and scroll bar is always shown when running app as web or \
452
463
  desktop.
464
+
465
+ [`Scrollbar`][flet.] equivalent:
466
+
467
+ ```python
468
+ ft.Scrollbar(
469
+ thumb_visibility=page.web or not page.platform.is_mobile(),
470
+ thickness=4.0 if page.platform.is_mobile() and not page.web else None,
471
+ )
472
+ ```
453
473
  """
454
474
 
455
475
  ALWAYS = "always"
456
476
  """
457
477
  Scrolling is enabled and scroll bar is always shown.
478
+
479
+ [`Scrollbar`][flet.] equivalent:
480
+
481
+ ```python
482
+ ft.Scrollbar(
483
+ thumb_visibility=True,
484
+ thickness=4.0 if page.platform.is_mobile() and not page.web else None,
485
+ )
486
+ ```
458
487
  """
459
488
 
460
489
  HIDDEN = "hidden"
461
490
  """
462
491
  Scrolling is enabled, but scroll bar is always hidden.
492
+
493
+ [`Scrollbar`][flet.] equivalent:
494
+
495
+ ```python
496
+ ft.Scrollbar(
497
+ thickness=0,
498
+ )
499
+ ```
463
500
  """
464
501
 
465
502
 
@@ -16,7 +16,7 @@ __all__ = [
16
16
  ]
17
17
 
18
18
  # set by CI
19
- flet_version = "0.82.3.dev7889"
19
+ flet_version = "0.82.3.dev7890"
20
20
  """
21
21
  The Flet version in use.
22
22
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flet
3
- Version: 0.82.3.dev7889
3
+ Version: 0.82.3.dev7890
4
4
  Summary: Flet for Python - easily build interactive multi-platform apps in Python
5
5
  Author-email: "Appveyor Systems Inc." <hello@flet.dev>
6
6
  License-Expression: Apache-2.0
@@ -9,23 +9,23 @@ Project-URL: Repository, https://github.com/flet-dev/flet
9
9
  Project-URL: Documentation, https://docs.flet.dev/
10
10
  Requires-Python: >=3.10
11
11
  Description-Content-Type: text/markdown
12
- Requires-Dist: flet-cli==0.82.3.dev7889; extra == "cli"
13
- Requires-Dist: flet-web==0.82.3.dev7889; extra == "web"
12
+ Requires-Dist: flet-cli==0.82.3.dev7890; extra == "cli"
13
+ Requires-Dist: flet-web==0.82.3.dev7890; extra == "web"
14
14
  Requires-Dist: oauthlib>=3.2.2; platform_system != "Pyodide"
15
15
  Requires-Dist: httpx>=0.28.1; platform_system != "Pyodide"
16
16
  Requires-Dist: repath>=0.9.0
17
17
  Requires-Dist: msgpack>=1.1.0
18
18
  Requires-Dist: typing-extensions; python_version < "3.11"
19
19
  Provides-Extra: all
20
- Requires-Dist: flet-cli==0.82.3.dev7889; extra == "all"
21
- Requires-Dist: flet-web==0.82.3.dev7889; extra == "all"
22
- Requires-Dist: flet-desktop==0.82.3.dev7889; extra == "all"
20
+ Requires-Dist: flet-cli==0.82.3.dev7890; extra == "all"
21
+ Requires-Dist: flet-web==0.82.3.dev7890; extra == "all"
22
+ Requires-Dist: flet-desktop==0.82.3.dev7890; extra == "all"
23
23
  Provides-Extra: cli
24
- Requires-Dist: flet-cli==0.82.3.dev7889; extra == "cli"
24
+ Requires-Dist: flet-cli==0.82.3.dev7890; extra == "cli"
25
25
  Provides-Extra: desktop
26
- Requires-Dist: flet-desktop==0.82.3.dev7889; extra == "desktop"
26
+ Requires-Dist: flet-desktop==0.82.3.dev7890; extra == "desktop"
27
27
  Provides-Extra: web
28
- Requires-Dist: flet-web==0.82.3.dev7889; extra == "web"
28
+ Requires-Dist: flet-web==0.82.3.dev7890; extra == "web"
29
29
 
30
30
  <p align="center">
31
31
  <a href="https://flet.dev"><img src="https://raw.githubusercontent.com/flet-dev/flet/refs/heads/main/media/logo/flet-logo.svg" height="150" alt="Flet logo"></a>
@@ -2,10 +2,10 @@ repath>=0.9.0
2
2
  msgpack>=1.1.0
3
3
 
4
4
  [:extra == "cli"]
5
- flet-cli==0.82.3.dev7889
5
+ flet-cli==0.82.3.dev7890
6
6
 
7
7
  [:extra == "web"]
8
- flet-web==0.82.3.dev7889
8
+ flet-web==0.82.3.dev7890
9
9
 
10
10
  [:platform_system != "Pyodide"]
11
11
  oauthlib>=3.2.2
@@ -15,15 +15,15 @@ httpx>=0.28.1
15
15
  typing-extensions
16
16
 
17
17
  [all]
18
- flet-cli==0.82.3.dev7889
19
- flet-web==0.82.3.dev7889
20
- flet-desktop==0.82.3.dev7889
18
+ flet-cli==0.82.3.dev7890
19
+ flet-web==0.82.3.dev7890
20
+ flet-desktop==0.82.3.dev7890
21
21
 
22
22
  [cli]
23
- flet-cli==0.82.3.dev7889
23
+ flet-cli==0.82.3.dev7890
24
24
 
25
25
  [desktop]
26
- flet-desktop==0.82.3.dev7889
26
+ flet-desktop==0.82.3.dev7890
27
27
 
28
28
  [web]
29
- flet-web==0.82.3.dev7889
29
+ flet-web==0.82.3.dev7890
File without changes
File without changes