flet 0.70.0.dev6491__tar.gz → 0.70.0.dev6516__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 (271) hide show
  1. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/PKG-INFO +1 -1
  2. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/pyproject.toml +1 -1
  3. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/__init__.py +0 -2
  4. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/base_page.py +30 -0
  5. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/pagelet.py +33 -24
  6. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/shader_mask.py +16 -0
  7. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/view.py +37 -3
  8. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/dropdown.py +1 -1
  9. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/navigation_drawer.py +6 -13
  10. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/slider.py +5 -0
  11. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/snack_bar.py +7 -0
  12. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/vertical_divider.py +23 -0
  13. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/testing/flet_test_app.py +28 -4
  14. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/version.py +1 -1
  15. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet.egg-info/PKG-INFO +1 -1
  16. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/README.md +0 -0
  17. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/setup.cfg +0 -0
  18. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/app.py +0 -0
  19. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/auth/__init__.py +0 -0
  20. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/auth/authorization.py +0 -0
  21. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/auth/authorization_service.py +0 -0
  22. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/auth/group.py +0 -0
  23. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/auth/oauth_provider.py +0 -0
  24. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/auth/oauth_token.py +0 -0
  25. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/auth/providers/__init__.py +0 -0
  26. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/auth/providers/auth0_oauth_provider.py +0 -0
  27. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/auth/providers/azure_oauth_provider.py +0 -0
  28. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/auth/providers/github_oauth_provider.py +0 -0
  29. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/auth/providers/google_oauth_provider.py +0 -0
  30. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/auth/user.py +0 -0
  31. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/canvas/__init__.py +0 -0
  32. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/cli.py +0 -0
  33. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/__init__.py +0 -0
  34. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/component.py +0 -0
  35. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/component_decorator.py +0 -0
  36. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/component_owned.py +0 -0
  37. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/hooks/__init__.py +0 -0
  38. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/hooks/hook.py +0 -0
  39. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/hooks/use_callback.py +0 -0
  40. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/hooks/use_context.py +0 -0
  41. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/hooks/use_effect.py +0 -0
  42. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/hooks/use_memo.py +0 -0
  43. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/hooks/use_state.py +0 -0
  44. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/memo.py +0 -0
  45. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/observable.py +0 -0
  46. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/public_utils.py +0 -0
  47. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/utils.py +0 -0
  48. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/__init__.py +0 -0
  49. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/adaptive_control.py +0 -0
  50. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/alignment.py +0 -0
  51. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/animation.py +0 -0
  52. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/base_control.py +0 -0
  53. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/blur.py +0 -0
  54. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/border.py +0 -0
  55. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/border_radius.py +0 -0
  56. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/box.py +0 -0
  57. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/buttons.py +0 -0
  58. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/colors.py +0 -0
  59. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/context.py +0 -0
  60. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/control.py +0 -0
  61. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/control_event.py +0 -0
  62. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/control_state.py +0 -0
  63. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/__init__.py +0 -0
  64. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/animated_switcher.py +0 -0
  65. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/autofill_group.py +0 -0
  66. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/__init__.py +0 -0
  67. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/arc.py +0 -0
  68. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/canvas.py +0 -0
  69. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/circle.py +0 -0
  70. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/color.py +0 -0
  71. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/fill.py +0 -0
  72. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/image.py +0 -0
  73. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/line.py +0 -0
  74. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/oval.py +0 -0
  75. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/path.py +0 -0
  76. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/points.py +0 -0
  77. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/rect.py +0 -0
  78. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/shadow.py +0 -0
  79. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/shape.py +0 -0
  80. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/text.py +0 -0
  81. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/column.py +0 -0
  82. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/dismissible.py +0 -0
  83. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/drag_target.py +0 -0
  84. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/draggable.py +0 -0
  85. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/flet_app.py +0 -0
  86. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/gesture_detector.py +0 -0
  87. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/grid_view.py +0 -0
  88. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/icon.py +0 -0
  89. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/image.py +0 -0
  90. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/interactive_viewer.py +0 -0
  91. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/keyboard_listener.py +0 -0
  92. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/list_view.py +0 -0
  93. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/markdown.py +0 -0
  94. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/merge_semantics.py +0 -0
  95. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/placeholder.py +0 -0
  96. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/reorderable_draggable.py +0 -0
  97. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/responsive_row.py +0 -0
  98. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/row.py +0 -0
  99. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/safe_area.py +0 -0
  100. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/screenshot.py +0 -0
  101. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/semantics.py +0 -0
  102. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/stack.py +0 -0
  103. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/text.py +0 -0
  104. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/text_span.py +0 -0
  105. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/transparent_pointer.py +0 -0
  106. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/window.py +0 -0
  107. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/window_drag_area.py +0 -0
  108. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/__init__.py +0 -0
  109. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_action_sheet.py +0 -0
  110. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_action_sheet_action.py +0 -0
  111. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_activity_indicator.py +0 -0
  112. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_alert_dialog.py +0 -0
  113. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_app_bar.py +0 -0
  114. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_bottom_sheet.py +0 -0
  115. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_button.py +0 -0
  116. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_checkbox.py +0 -0
  117. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_colors.py +0 -0
  118. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_context_menu.py +0 -0
  119. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_context_menu_action.py +0 -0
  120. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_date_picker.py +0 -0
  121. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_dialog_action.py +0 -0
  122. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_filled_button.py +0 -0
  123. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_icons.py +0 -0
  124. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_list_tile.py +0 -0
  125. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_navigation_bar.py +0 -0
  126. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_picker.py +0 -0
  127. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_radio.py +0 -0
  128. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_segmented_button.py +0 -0
  129. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_slider.py +0 -0
  130. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_sliding_segmented_button.py +0 -0
  131. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_switch.py +0 -0
  132. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_textfield.py +0 -0
  133. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_timer_picker.py +0 -0
  134. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_tinted_button.py +0 -0
  135. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/device_info.py +0 -0
  136. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/dialog_control.py +0 -0
  137. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/duration.py +0 -0
  138. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/embed_json_encoder.py +0 -0
  139. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/events.py +0 -0
  140. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/exceptions.py +0 -0
  141. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/geometry.py +0 -0
  142. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/gradients.py +0 -0
  143. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/icon_data.py +0 -0
  144. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/id_counter.py +0 -0
  145. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/keys.py +0 -0
  146. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/layout_control.py +0 -0
  147. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/margin.py +0 -0
  148. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/__init__.py +0 -0
  149. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/alert_dialog.py +0 -0
  150. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/app_bar.py +0 -0
  151. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/auto_complete.py +0 -0
  152. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/badge.py +0 -0
  153. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/banner.py +0 -0
  154. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/bottom_app_bar.py +0 -0
  155. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/bottom_sheet.py +0 -0
  156. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/button.py +0 -0
  157. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/card.py +0 -0
  158. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/checkbox.py +0 -0
  159. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/chip.py +0 -0
  160. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/circle_avatar.py +0 -0
  161. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/container.py +0 -0
  162. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/datatable.py +0 -0
  163. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/date_picker.py +0 -0
  164. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/date_range_picker.py +0 -0
  165. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/divider.py +0 -0
  166. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/dropdownm2.py +0 -0
  167. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/elevated_button.py +0 -0
  168. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/expansion_panel.py +0 -0
  169. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/expansion_tile.py +0 -0
  170. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/filled_button.py +0 -0
  171. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/filled_tonal_button.py +0 -0
  172. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/floating_action_button.py +0 -0
  173. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/form_field_control.py +0 -0
  174. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/icon_button.py +0 -0
  175. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/icons.py +0 -0
  176. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/list_tile.py +0 -0
  177. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/menu_bar.py +0 -0
  178. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/menu_item_button.py +0 -0
  179. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/navigation_bar.py +0 -0
  180. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/navigation_rail.py +0 -0
  181. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/outlined_button.py +0 -0
  182. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/popup_menu_button.py +0 -0
  183. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/progress_bar.py +0 -0
  184. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/progress_ring.py +0 -0
  185. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/radio.py +0 -0
  186. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/radio_group.py +0 -0
  187. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/range_slider.py +0 -0
  188. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/reorderable_list_view.py +0 -0
  189. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/search_bar.py +0 -0
  190. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/segmented_button.py +0 -0
  191. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/selection_area.py +0 -0
  192. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/submenu_button.py +0 -0
  193. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/switch.py +0 -0
  194. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/tabs.py +0 -0
  195. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/text_button.py +0 -0
  196. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/textfield.py +0 -0
  197. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/time_picker.py +0 -0
  198. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/tooltip.py +0 -0
  199. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/multi_view.py +0 -0
  200. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/object_patch.py +0 -0
  201. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/padding.py +0 -0
  202. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/page.py +0 -0
  203. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/painting.py +0 -0
  204. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/query_string.py +0 -0
  205. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/ref.py +0 -0
  206. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/scrollable_control.py +0 -0
  207. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/services/__init__.py +0 -0
  208. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/services/browser_context_menu.py +0 -0
  209. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/services/clipboard.py +0 -0
  210. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/services/file_picker.py +0 -0
  211. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/services/haptic_feedback.py +0 -0
  212. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/services/semantics_service.py +0 -0
  213. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/services/service.py +0 -0
  214. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/services/shake_detector.py +0 -0
  215. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/services/shared_preferences.py +0 -0
  216. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/services/storage_paths.py +0 -0
  217. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/services/url_launcher.py +0 -0
  218. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/template_route.py +0 -0
  219. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/text_style.py +0 -0
  220. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/theme.py +0 -0
  221. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/transform.py +0 -0
  222. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/types.py +0 -0
  223. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/fastapi/__init__.py +0 -0
  224. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/messaging/connection.py +0 -0
  225. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/messaging/flet_socket_server.py +0 -0
  226. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/messaging/protocol.py +0 -0
  227. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/messaging/pyodide_connection.py +0 -0
  228. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/messaging/session.py +0 -0
  229. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/messaging/session_store.py +0 -0
  230. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/pubsub/__init__.py +0 -0
  231. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/pubsub/pubsub_client.py +0 -0
  232. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/pubsub/pubsub_hub.py +0 -0
  233. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/security/__init__.py +0 -0
  234. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/testing/__init__.py +0 -0
  235. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/testing/finder.py +0 -0
  236. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/testing/tester.py +0 -0
  237. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/__init__.py +0 -0
  238. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/browser.py +0 -0
  239. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/classproperty.py +0 -0
  240. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/deprecated.py +0 -0
  241. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/deprecated_enum.py +0 -0
  242. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/files.py +0 -0
  243. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/from_dict.py +0 -0
  244. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/hashing.py +0 -0
  245. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/json_utils.py +0 -0
  246. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/locks.py +0 -0
  247. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/network.py +0 -0
  248. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/object_model.py +0 -0
  249. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/once.py +0 -0
  250. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/pip.py +0 -0
  251. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/platform_utils.py +0 -0
  252. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/slugify.py +0 -0
  253. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/strings.py +0 -0
  254. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/vector.py +0 -0
  255. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet.egg-info/SOURCES.txt +0 -0
  256. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet.egg-info/dependency_links.txt +0 -0
  257. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet.egg-info/entry_points.txt +0 -0
  258. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet.egg-info/requires.txt +0 -0
  259. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet.egg-info/top_level.txt +0 -0
  260. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/tests/test_base_control.py +0 -0
  261. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/tests/test_colors.py +0 -0
  262. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/tests/test_dataclasses.py +0 -0
  263. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/tests/test_datetime.py +0 -0
  264. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/tests/test_events.py +0 -0
  265. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/tests/test_from_dict.py +0 -0
  266. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/tests/test_icons.py +0 -0
  267. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/tests/test_object_diff_frozen.py +0 -0
  268. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/tests/test_object_diff_in_place.py +0 -0
  269. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/tests/test_object_diff_performance.py +0 -0
  270. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/tests/test_observable.py +0 -0
  271. {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/tests/test_patch_dataclass.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flet
3
- Version: 0.70.0.dev6491
3
+ Version: 0.70.0.dev6516
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "flet"
3
- version = "0.70.0.dev6491"
3
+ version = "0.70.0.dev6516"
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"
@@ -311,7 +311,6 @@ from flet.controls.material.navigation_bar import (
311
311
  from flet.controls.material.navigation_drawer import (
312
312
  NavigationDrawer,
313
313
  NavigationDrawerDestination,
314
- NavigationDrawerPosition,
315
314
  )
316
315
  from flet.controls.material.navigation_rail import (
317
316
  NavigationRail,
@@ -778,7 +777,6 @@ __all__ = [
778
777
  "NavigationBarTheme",
779
778
  "NavigationDrawer",
780
779
  "NavigationDrawerDestination",
781
- "NavigationDrawerPosition",
782
780
  "NavigationDrawerTheme",
783
781
  "NavigationRail",
784
782
  "NavigationRailDestination",
@@ -372,6 +372,36 @@ class BasePage(AdaptiveControl):
372
372
  dialog.update()
373
373
  return dialog
374
374
 
375
+ async def show_drawer(self):
376
+ """
377
+ Show the drawer.
378
+
379
+ Raises:
380
+ ValueError: If no [`drawer`][(c).] is defined.
381
+ """
382
+ await self.__default_view().show_drawer()
383
+
384
+ async def close_drawer(self):
385
+ """
386
+ Close the drawer.
387
+ """
388
+ await self.__default_view().close_drawer()
389
+
390
+ async def show_end_drawer(self):
391
+ """
392
+ Show the end drawer.
393
+
394
+ Raises:
395
+ ValueError: If no [`end_drawer`][(c).] is defined.
396
+ """
397
+ await self.__default_view().show_end_drawer()
398
+
399
+ async def close_end_drawer(self):
400
+ """
401
+ Close the end drawer.
402
+ """
403
+ await self.__default_view().close_end_drawer()
404
+
375
405
  async def take_screenshot(
376
406
  self,
377
407
  pixel_ratio: Optional[Number] = None,
@@ -107,27 +107,36 @@ class Pagelet(LayoutControl, AdaptiveControl):
107
107
  if not self.content.visible:
108
108
  raise ValueError("content must be visible")
109
109
 
110
- # todo: deprecate show_* in favor of a open/close methods, or page.open/close
111
- # Drawer
112
- #
113
- def show_drawer(self, drawer: NavigationDrawer):
114
- self.drawer = drawer
115
- self.drawer.open = True
116
- self.update()
117
-
118
- def close_drawer(self):
119
- if self.drawer is not None:
120
- self.drawer.open = False
121
- self.update()
122
-
123
- # End_drawer
124
- #
125
- def show_end_drawer(self, end_drawer: NavigationDrawer):
126
- self.end_drawer = end_drawer
127
- self.end_drawer.open = True
128
- self.update()
129
-
130
- def close_end_drawer(self):
131
- if self.end_drawer is not None:
132
- self.end_drawer.open = False
133
- self.update()
110
+ async def show_drawer(self):
111
+ """
112
+ Show the drawer.
113
+
114
+ Raises:
115
+ ValueError: If no [`drawer`][(c).] is defined.
116
+ """
117
+ if self.drawer is None:
118
+ raise ValueError("No drawer defined")
119
+ await self._invoke_method("show_drawer")
120
+
121
+ async def close_drawer(self):
122
+ """
123
+ Close the drawer.
124
+ """
125
+ await self._invoke_method("close_drawer")
126
+
127
+ async def show_end_drawer(self):
128
+ """
129
+ Show the end drawer.
130
+
131
+ Raises:
132
+ ValueError: If no [`end_drawer`][(c).] is defined.
133
+ """
134
+ if self.end_drawer is None:
135
+ raise ValueError("No end_drawer defined")
136
+ await self._invoke_method("show_end_drawer")
137
+
138
+ async def close_end_drawer(self):
139
+ """
140
+ Close the end drawer.
141
+ """
142
+ await self._invoke_method("close_end_drawer")
@@ -17,6 +17,22 @@ class ShaderMask(LayoutControl):
17
17
 
18
18
  For example, it can be used to gradually fade out the edge of a control by
19
19
  using a [`LinearGradient`][flet.] mask.
20
+
21
+ ```python
22
+ ft.ShaderMask(
23
+ blend_mode=ft.BlendMode.MULTIPLY,
24
+ shader=ft.LinearGradient(
25
+ begin=ft.Alignment.CENTER_LEFT,
26
+ end=ft.Alignment.CENTER_RIGHT,
27
+ colors=[ft.Colors.WHITE, ft.Colors.BLACK],
28
+ tile_mode=ft.GradientTileMode.CLAMP,
29
+ ),
30
+ content=ft.Image(
31
+ src="https://picsum.photos/id/288/300/300",
32
+ height=300,
33
+ fit=ft.BoxFit.FILL,
34
+ )
35
+ ```
20
36
  """
21
37
 
22
38
  shader: Gradient
@@ -158,9 +158,6 @@ class View(ScrollableControl, LayoutControl):
158
158
  can_pop: bool = True
159
159
  on_confirm_pop: Optional[ControlEventHandler["View"]] = None
160
160
 
161
- async def confirm_pop(self, should_pop: bool) -> None:
162
- await self._invoke_method("confirm_pop", {"should_pop": should_pop})
163
-
164
161
  def init(self):
165
162
  super().init()
166
163
  self._internals["host_expanded"] = True
@@ -168,3 +165,40 @@ class View(ScrollableControl, LayoutControl):
168
165
  # Magic methods
169
166
  def __contains__(self, item: Control) -> bool:
170
167
  return item in self.controls
168
+
169
+ async def confirm_pop(self, should_pop: bool) -> None:
170
+ await self._invoke_method("confirm_pop", {"should_pop": should_pop})
171
+
172
+ async def show_drawer(self):
173
+ """
174
+ Show the drawer.
175
+
176
+ Raises:
177
+ ValueError: If no [`drawer`][(c).] is defined.
178
+ """
179
+ if self.drawer is None:
180
+ raise ValueError("No drawer defined")
181
+ await self._invoke_method("show_drawer")
182
+
183
+ async def close_drawer(self):
184
+ """
185
+ Close the drawer.
186
+ """
187
+ await self._invoke_method("close_drawer")
188
+
189
+ async def show_end_drawer(self):
190
+ """
191
+ Show the end drawer.
192
+
193
+ Raises:
194
+ ValueError: If no [`end_drawer`][(c).] is defined.
195
+ """
196
+ if self.end_drawer is None:
197
+ raise ValueError("No end_drawer defined")
198
+ await self._invoke_method("show_end_drawer")
199
+
200
+ async def close_end_drawer(self):
201
+ """
202
+ Close the end drawer.
203
+ """
204
+ await self._invoke_method("close_end_drawer")
@@ -220,7 +220,7 @@ class Dropdown(LayoutControl):
220
220
  Called when the selected item of this dropdown has changed.
221
221
  """
222
222
 
223
- on_change: Optional[ControlEventHandler["Dropdown"]] = None
223
+ on_text_change: Optional[ControlEventHandler["Dropdown"]] = None
224
224
  """
225
225
  Called when the text input of this dropdown has changed.
226
226
  """
@@ -1,12 +1,11 @@
1
1
  from dataclasses import field
2
- from enum import Enum
3
2
  from typing import Optional
4
3
 
4
+ from flet.controls.adaptive_control import AdaptiveControl
5
5
  from flet.controls.base_control import control
6
6
  from flet.controls.buttons import OutlinedBorder
7
7
  from flet.controls.control import Control
8
8
  from flet.controls.control_event import ControlEventHandler
9
- from flet.controls.dialog_control import DialogControl
10
9
  from flet.controls.padding import PaddingValue
11
10
  from flet.controls.types import (
12
11
  ColorValue,
@@ -17,7 +16,6 @@ from flet.controls.types import (
17
16
  __all__ = [
18
17
  "NavigationDrawer",
19
18
  "NavigationDrawerDestination",
20
- "NavigationDrawerPosition",
21
19
  ]
22
20
 
23
21
 
@@ -74,13 +72,8 @@ class NavigationDrawerDestination(Control):
74
72
  """
75
73
 
76
74
 
77
- class NavigationDrawerPosition(Enum):
78
- START = "start"
79
- END = "end"
80
-
81
-
82
75
  @control("NavigationDrawer")
83
- class NavigationDrawer(DialogControl):
76
+ class NavigationDrawer(AdaptiveControl):
84
77
  """
85
78
  Material Design Navigation Drawer component.
86
79
 
@@ -138,12 +131,12 @@ class NavigationDrawer(DialogControl):
138
131
  Defines the padding for `destination` controls.
139
132
  """
140
133
 
141
- position: NavigationDrawerPosition = NavigationDrawerPosition.START
134
+ on_change: Optional[ControlEventHandler["NavigationDrawer"]] = None
142
135
  """
143
- The position of this drawer.
136
+ Called when selected destination changed.
144
137
  """
145
138
 
146
- on_change: Optional[ControlEventHandler["NavigationDrawer"]] = None
139
+ on_dismiss: Optional[ControlEventHandler["NavigationDrawer"]] = None
147
140
  """
148
- Called when selected destination changed.
141
+ Called when the drawer is dismissed.
149
142
  """
@@ -32,6 +32,11 @@ class Slider(LayoutControl, AdaptiveControl):
32
32
  Use a slider when you want people to set defined values (such as volume or
33
33
  brightness), or when people would benefit from instant feedback on the effect
34
34
  of setting changes.
35
+
36
+ ```python
37
+ ft.Slider(label="Slider", value=0.3)
38
+ ```
39
+
35
40
  """
36
41
 
37
42
  value: Optional[Number] = None
@@ -47,6 +47,8 @@ class SnackBarAction(Control):
47
47
  action, avoid including it in the snack bar in the first place.
48
48
  - Snack bar actions can will only respond to first click.
49
49
  Subsequent clicks/presses are ignored.
50
+
51
+
50
52
  """
51
53
 
52
54
  label: str
@@ -93,6 +95,11 @@ class SnackBar(DialogControl):
93
95
  """
94
96
  A lightweight message with an optional action which briefly displays at the
95
97
  bottom of the screen.
98
+
99
+ ```python
100
+ page.show_dialog(ft.SnackBar(ft.Text("Opened snack bar")))
101
+ ```
102
+
96
103
  """
97
104
 
98
105
  content: StrOrControl
@@ -14,6 +14,29 @@ class VerticalDivider(Control):
14
14
  A thin vertical line, with padding on either side.
15
15
 
16
16
  In the material design language, this represents a divider.
17
+
18
+ ```python
19
+ ft.Row(
20
+ width=120,
21
+ height=60,
22
+ expand=True,
23
+ spacing=0,
24
+ controls=[
25
+ ft.Container(
26
+ bgcolor=ft.Colors.BLUE_GREY_200,
27
+ alignment=ft.Alignment.CENTER,
28
+ expand=True,
29
+ ),
30
+ ft.VerticalDivider(),
31
+ ft.Container(
32
+ bgcolor=ft.Colors.GREY_500,
33
+ alignment=ft.Alignment.CENTER,
34
+ expand=True,
35
+ ),
36
+ ],
37
+ )
38
+ ```
39
+
17
40
  """
18
41
 
19
42
  width: Optional[Number] = None
@@ -261,7 +261,24 @@ class FletTestApp:
261
261
  print("Force killing Flutter test process...")
262
262
  self.__flutter_process.kill()
263
263
 
264
- async def wrap_page_controls_in_screenshot(self, margin=10):
264
+ async def resize_page(self, width: int, height: int):
265
+ """
266
+ Resizes the page window to the specified width and height.
267
+ """
268
+ if self.page.window.width is None or self.page.window.height is None:
269
+ return
270
+
271
+ chrome_width = self.page.window.width - self.page.width
272
+ chrome_height = self.page.window.height - self.page.height
273
+ self.page.window.width = width + chrome_width
274
+ self.page.window.height = height + chrome_height
275
+
276
+ async def wrap_page_controls_in_screenshot(
277
+ self,
278
+ margin=10,
279
+ pump_times: int = 0,
280
+ pump_duration: Optional[ft.DurationValue] = None,
281
+ ) -> ft.Screenshot:
265
282
  """
266
283
  Wraps provided controls in a Screenshot control.
267
284
  """
@@ -273,16 +290,22 @@ class FletTestApp:
273
290
  ] # type: ignore
274
291
  self.page.update()
275
292
  await self.tester.pump_and_settle()
293
+ for _ in range(0, pump_times):
294
+ await self.tester.pump(duration=pump_duration)
276
295
  return scr
277
296
 
278
297
  async def take_page_controls_screenshot(
279
298
  self,
280
299
  pixel_ratio: Optional[float] = None,
281
- ):
300
+ pump_times: int = 0,
301
+ pump_duration: Optional[ft.DurationValue] = None,
302
+ ) -> bytes:
282
303
  """
283
304
  Takes a screenshot of all controls on the current page.
284
305
  """
285
- scr = await self.wrap_page_controls_in_screenshot()
306
+ scr = await self.wrap_page_controls_in_screenshot(
307
+ pump_times=pump_times, pump_duration=pump_duration
308
+ )
286
309
  return await scr.capture(
287
310
  pixel_ratio=pixel_ratio or self.screenshots_pixel_ratio
288
311
  )
@@ -371,7 +394,8 @@ class FletTestApp:
371
394
  with open(actual_image_path, "bw") as f:
372
395
  f.write(screenshot)
373
396
  assert similarity > similarity_threshold, (
374
- f"{name} screenshots are not identical"
397
+ f"{name} screenshots are not identical "
398
+ f"(similarity: {similarity}% <= {similarity_threshold}%)"
375
399
  )
376
400
 
377
401
  def _load_image_from_file(self, file_name):
@@ -10,7 +10,7 @@ from flet.utils import is_mobile, is_windows, which
10
10
  DEFAULT_VERSION = "0.1.0"
11
11
 
12
12
  # will be replaced by CI
13
- version = "0.70.0.dev6491"
13
+ version = "0.70.0.dev6516"
14
14
 
15
15
 
16
16
  def update_version():
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flet
3
- Version: 0.70.0.dev6491
3
+ Version: 0.70.0.dev6516
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
File without changes
File without changes