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.
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/PKG-INFO +1 -1
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/pyproject.toml +1 -1
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/__init__.py +0 -2
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/base_page.py +30 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/pagelet.py +33 -24
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/shader_mask.py +16 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/view.py +37 -3
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/dropdown.py +1 -1
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/navigation_drawer.py +6 -13
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/slider.py +5 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/snack_bar.py +7 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/vertical_divider.py +23 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/testing/flet_test_app.py +28 -4
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/version.py +1 -1
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet.egg-info/PKG-INFO +1 -1
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/README.md +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/setup.cfg +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/app.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/auth/__init__.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/auth/authorization.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/auth/authorization_service.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/auth/group.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/auth/oauth_provider.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/auth/oauth_token.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/auth/providers/__init__.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/auth/providers/auth0_oauth_provider.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/auth/providers/azure_oauth_provider.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/auth/providers/github_oauth_provider.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/auth/providers/google_oauth_provider.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/auth/user.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/canvas/__init__.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/cli.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/__init__.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/component.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/component_decorator.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/component_owned.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/hooks/__init__.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/hooks/hook.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/hooks/use_callback.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/hooks/use_context.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/hooks/use_effect.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/hooks/use_memo.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/hooks/use_state.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/memo.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/observable.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/public_utils.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/components/utils.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/__init__.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/adaptive_control.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/alignment.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/animation.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/base_control.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/blur.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/border.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/border_radius.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/box.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/buttons.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/colors.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/context.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/control.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/control_event.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/control_state.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/__init__.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/animated_switcher.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/autofill_group.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/__init__.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/arc.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/canvas.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/circle.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/color.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/fill.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/image.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/line.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/oval.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/path.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/points.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/rect.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/shadow.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/shape.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/canvas/text.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/column.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/dismissible.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/drag_target.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/draggable.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/flet_app.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/gesture_detector.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/grid_view.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/icon.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/image.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/interactive_viewer.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/keyboard_listener.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/list_view.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/markdown.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/merge_semantics.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/placeholder.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/reorderable_draggable.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/responsive_row.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/row.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/safe_area.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/screenshot.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/semantics.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/stack.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/text.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/text_span.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/transparent_pointer.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/window.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/core/window_drag_area.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/__init__.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_action_sheet.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_action_sheet_action.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_activity_indicator.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_alert_dialog.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_app_bar.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_bottom_sheet.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_button.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_checkbox.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_colors.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_context_menu.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_context_menu_action.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_date_picker.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_dialog_action.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_filled_button.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_icons.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_list_tile.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_navigation_bar.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_picker.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_radio.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_segmented_button.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_slider.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_sliding_segmented_button.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_switch.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_textfield.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_timer_picker.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/cupertino/cupertino_tinted_button.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/device_info.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/dialog_control.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/duration.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/embed_json_encoder.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/events.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/exceptions.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/geometry.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/gradients.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/icon_data.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/id_counter.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/keys.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/layout_control.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/margin.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/__init__.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/alert_dialog.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/app_bar.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/auto_complete.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/badge.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/banner.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/bottom_app_bar.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/bottom_sheet.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/button.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/card.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/checkbox.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/chip.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/circle_avatar.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/container.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/datatable.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/date_picker.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/date_range_picker.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/divider.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/dropdownm2.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/elevated_button.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/expansion_panel.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/expansion_tile.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/filled_button.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/filled_tonal_button.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/floating_action_button.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/form_field_control.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/icon_button.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/icons.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/list_tile.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/menu_bar.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/menu_item_button.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/navigation_bar.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/navigation_rail.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/outlined_button.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/popup_menu_button.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/progress_bar.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/progress_ring.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/radio.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/radio_group.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/range_slider.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/reorderable_list_view.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/search_bar.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/segmented_button.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/selection_area.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/submenu_button.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/switch.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/tabs.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/text_button.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/textfield.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/time_picker.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/material/tooltip.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/multi_view.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/object_patch.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/padding.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/page.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/painting.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/query_string.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/ref.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/scrollable_control.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/services/__init__.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/services/browser_context_menu.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/services/clipboard.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/services/file_picker.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/services/haptic_feedback.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/services/semantics_service.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/services/service.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/services/shake_detector.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/services/shared_preferences.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/services/storage_paths.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/services/url_launcher.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/template_route.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/text_style.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/theme.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/transform.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/controls/types.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/fastapi/__init__.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/messaging/connection.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/messaging/flet_socket_server.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/messaging/protocol.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/messaging/pyodide_connection.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/messaging/session.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/messaging/session_store.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/pubsub/__init__.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/pubsub/pubsub_client.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/pubsub/pubsub_hub.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/security/__init__.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/testing/__init__.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/testing/finder.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/testing/tester.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/__init__.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/browser.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/classproperty.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/deprecated.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/deprecated_enum.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/files.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/from_dict.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/hashing.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/json_utils.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/locks.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/network.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/object_model.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/once.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/pip.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/platform_utils.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/slugify.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/strings.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/utils/vector.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet.egg-info/SOURCES.txt +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet.egg-info/dependency_links.txt +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet.egg-info/entry_points.txt +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet.egg-info/requires.txt +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet.egg-info/top_level.txt +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/tests/test_base_control.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/tests/test_colors.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/tests/test_dataclasses.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/tests/test_datetime.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/tests/test_events.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/tests/test_from_dict.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/tests/test_icons.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/tests/test_object_diff_frozen.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/tests/test_object_diff_in_place.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/tests/test_object_diff_performance.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/tests/test_observable.py +0 -0
- {flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/tests/test_patch_dataclass.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "flet"
|
|
3
|
-
version = "0.70.0.
|
|
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
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
134
|
+
on_change: Optional[ControlEventHandler["NavigationDrawer"]] = None
|
|
142
135
|
"""
|
|
143
|
-
|
|
136
|
+
Called when selected destination changed.
|
|
144
137
|
"""
|
|
145
138
|
|
|
146
|
-
|
|
139
|
+
on_dismiss: Optional[ControlEventHandler["NavigationDrawer"]] = None
|
|
147
140
|
"""
|
|
148
|
-
Called when
|
|
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
|
|
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):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/auth/providers/github_oauth_provider.py
RENAMED
|
File without changes
|
{flet-0.70.0.dev6491 → flet-0.70.0.dev6516}/src/flet/auth/providers/google_oauth_provider.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|