flet 0.82.3.dev7877__tar.gz → 0.82.3.dev7883__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.82.3.dev7877 → flet-0.82.3.dev7883}/PKG-INFO +9 -9
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/pyproject.toml +9 -9
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/__init__.py +6 -1
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/auth/authorization_service.py +1 -1
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/expansion_panel.py +66 -19
- flet-0.82.3.dev7883/src/flet/controls/services/shared_preferences.py +104 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/version.py +1 -1
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet.egg-info/PKG-INFO +9 -9
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet.egg-info/requires.txt +8 -8
- flet-0.82.3.dev7877/src/flet/controls/services/shared_preferences.py +0 -51
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/README.md +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/setup.cfg +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/app.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/auth/__init__.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/auth/authorization.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/auth/group.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/auth/oauth_provider.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/auth/oauth_token.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/auth/providers/__init__.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/auth/providers/auth0_oauth_provider.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/auth/providers/azure_oauth_provider.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/auth/providers/github_oauth_provider.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/auth/providers/google_oauth_provider.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/auth/user.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/canvas/__init__.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/cli.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/components/__init__.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/components/component.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/components/component_decorator.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/components/component_owned.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/components/hooks/__init__.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/components/hooks/hook.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/components/hooks/use_callback.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/components/hooks/use_context.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/components/hooks/use_effect.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/components/hooks/use_memo.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/components/hooks/use_ref.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/components/hooks/use_state.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/components/memo.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/components/observable.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/components/public_utils.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/components/utils.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/__init__.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/adaptive_control.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/alignment.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/animation.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/base_control.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/base_page.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/blur.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/border.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/border_radius.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/box.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/buttons.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/colors.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/context.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/control.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/control_event.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/control_state.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/__init__.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/animated_switcher.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/autofill_group.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/canvas/__init__.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/canvas/arc.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/canvas/canvas.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/canvas/circle.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/canvas/color.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/canvas/fill.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/canvas/image.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/canvas/line.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/canvas/oval.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/canvas/path.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/canvas/points.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/canvas/rect.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/canvas/shadow.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/canvas/shape.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/canvas/text.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/column.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/dismissible.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/drag_target.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/draggable.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/flet_app.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/gesture_detector.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/grid_view.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/hero.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/icon.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/image.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/interactive_viewer.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/keyboard_listener.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/list_view.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/markdown.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/merge_semantics.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/page_view.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/pagelet.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/placeholder.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/reorderable_drag_handle.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/responsive_row.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/rotated_box.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/row.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/safe_area.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/screenshot.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/semantics.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/shader_mask.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/shimmer.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/stack.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/text.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/text_span.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/transparent_pointer.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/view.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/window.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/core/window_drag_area.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/__init__.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_action_sheet.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_action_sheet_action.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_activity_indicator.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_alert_dialog.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_app_bar.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_bottom_sheet.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_button.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_checkbox.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_colors.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_context_menu.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_context_menu_action.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_date_picker.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_dialog_action.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_filled_button.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_icons.json +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_icons.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_icons.pyi +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_list_tile.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_navigation_bar.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_picker.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_radio.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_segmented_button.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_slider.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_sliding_segmented_button.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_switch.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_textfield.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_timer_picker.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/cupertino/cupertino_tinted_button.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/device_info.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/dialog_control.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/duration.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/embed_json_encoder.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/events.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/exceptions.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/geometry.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/gradients.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/icon_data.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/id_counter.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/keys.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/layout_control.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/margin.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/__init__.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/alert_dialog.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/app_bar.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/auto_complete.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/badge.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/banner.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/bottom_app_bar.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/bottom_sheet.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/button.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/card.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/checkbox.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/chip.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/circle_avatar.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/container.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/context_menu.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/datatable.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/date_picker.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/date_range_picker.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/divider.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/dropdown.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/dropdownm2.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/elevated_button.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/expansion_tile.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/filled_button.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/filled_tonal_button.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/floating_action_button.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/form_field_control.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/icon_button.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/icons.json +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/icons.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/icons.pyi +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/list_tile.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/menu_bar.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/menu_item_button.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/navigation_bar.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/navigation_drawer.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/navigation_rail.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/outlined_button.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/popup_menu_button.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/progress_bar.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/progress_ring.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/radio.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/radio_group.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/range_slider.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/reorderable_list_view.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/search_bar.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/segmented_button.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/selection_area.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/slider.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/snack_bar.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/submenu_button.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/switch.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/tabs.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/text_button.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/textfield.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/time_picker.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/tooltip.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/material/vertical_divider.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/multi_view.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/object_patch.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/padding.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/page.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/painting.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/query_string.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/ref.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/scrollable_control.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/services/__init__.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/services/accelerometer.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/services/barometer.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/services/battery.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/services/browser_context_menu.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/services/clipboard.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/services/connectivity.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/services/file_picker.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/services/gyroscope.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/services/haptic_feedback.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/services/magnetometer.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/services/screen_brightness.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/services/semantics_service.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/services/sensor_error_event.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/services/service.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/services/shake_detector.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/services/share.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/services/storage_paths.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/services/url_launcher.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/services/user_accelerometer.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/services/wakelock.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/template_route.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/text_style.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/theme.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/transform.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/controls/types.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/fastapi/__init__.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/messaging/connection.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/messaging/flet_socket_server.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/messaging/protocol.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/messaging/pyodide_connection.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/messaging/session.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/messaging/session_store.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/pubsub/__init__.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/pubsub/pubsub_client.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/pubsub/pubsub_hub.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/py.typed +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/security/__init__.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/testing/__init__.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/testing/finder.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/testing/flet_test_app.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/testing/tester.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/utils/__init__.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/utils/browser.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/utils/classproperty.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/utils/deprecated.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/utils/deprecated_enum.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/utils/files.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/utils/from_dict.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/utils/hashing.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/utils/json_utils.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/utils/locks.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/utils/network.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/utils/object_model.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/utils/once.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/utils/pip.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/utils/platform_utils.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/utils/slugify.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/utils/strings.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/utils/typing_utils.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/utils/vector.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet.egg-info/SOURCES.txt +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet.egg-info/dependency_links.txt +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet.egg-info/entry_points.txt +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet.egg-info/top_level.txt +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/tests/test_auth_lazy_imports.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/tests/test_base_control.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/tests/test_colors.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/tests/test_component_effects.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/tests/test_component_renderer.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/tests/test_dataclasses.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/tests/test_datetime.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/tests/test_events.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/tests/test_from_dict.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/tests/test_icons.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/tests/test_object_diff_frozen.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/tests/test_object_diff_in_place.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/tests/test_object_diff_memory_churn.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/tests/test_object_diff_performance.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/tests/test_observable.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/tests/test_patch_dataclass.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/tests/test_session_disconnect_buffering.py +0 -0
- {flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/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.
|
|
3
|
+
Version: 0.82.3.dev7883
|
|
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.
|
|
13
|
-
Requires-Dist: flet-web==0.82.3.
|
|
12
|
+
Requires-Dist: flet-cli==0.82.3.dev7883; extra == "cli"
|
|
13
|
+
Requires-Dist: flet-web==0.82.3.dev7883; 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.
|
|
21
|
-
Requires-Dist: flet-web==0.82.3.
|
|
22
|
-
Requires-Dist: flet-desktop==0.82.3.
|
|
20
|
+
Requires-Dist: flet-cli==0.82.3.dev7883; extra == "all"
|
|
21
|
+
Requires-Dist: flet-web==0.82.3.dev7883; extra == "all"
|
|
22
|
+
Requires-Dist: flet-desktop==0.82.3.dev7883; extra == "all"
|
|
23
23
|
Provides-Extra: cli
|
|
24
|
-
Requires-Dist: flet-cli==0.82.3.
|
|
24
|
+
Requires-Dist: flet-cli==0.82.3.dev7883; extra == "cli"
|
|
25
25
|
Provides-Extra: desktop
|
|
26
|
-
Requires-Dist: flet-desktop==0.82.3.
|
|
26
|
+
Requires-Dist: flet-desktop==0.82.3.dev7883; extra == "desktop"
|
|
27
27
|
Provides-Extra: web
|
|
28
|
-
Requires-Dist: flet-web==0.82.3.
|
|
28
|
+
Requires-Dist: flet-web==0.82.3.dev7883; 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.
|
|
3
|
+
version = "0.82.3.dev7883"
|
|
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.
|
|
11
|
-
"flet-web==0.82.3.
|
|
10
|
+
"flet-cli==0.82.3.dev7883; extra == 'cli'",
|
|
11
|
+
"flet-web==0.82.3.dev7883; 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.
|
|
27
|
-
"flet-web==0.82.3.
|
|
28
|
-
"flet-desktop==0.82.3.
|
|
26
|
+
"flet-cli==0.82.3.dev7883",
|
|
27
|
+
"flet-web==0.82.3.dev7883",
|
|
28
|
+
"flet-desktop==0.82.3.dev7883",
|
|
29
29
|
]
|
|
30
|
-
cli = ["flet-cli==0.82.3.
|
|
30
|
+
cli = ["flet-cli==0.82.3.dev7883"]
|
|
31
31
|
desktop = [
|
|
32
|
-
"flet-desktop==0.82.3.
|
|
32
|
+
"flet-desktop==0.82.3.dev7883",
|
|
33
33
|
]
|
|
34
|
-
web = ["flet-web==0.82.3.
|
|
34
|
+
web = ["flet-web==0.82.3.dev7883"]
|
|
35
35
|
|
|
36
36
|
[project.scripts]
|
|
37
37
|
flet = "flet.cli:main"
|
|
@@ -304,7 +304,11 @@ from flet.controls.material.divider import Divider
|
|
|
304
304
|
from flet.controls.material.dropdown import Dropdown, DropdownOption
|
|
305
305
|
from flet.controls.material.dropdownm2 import DropdownM2
|
|
306
306
|
from flet.controls.material.elevated_button import ElevatedButton
|
|
307
|
-
from flet.controls.material.expansion_panel import
|
|
307
|
+
from flet.controls.material.expansion_panel import (
|
|
308
|
+
ExpansionPanel,
|
|
309
|
+
ExpansionPanelList,
|
|
310
|
+
ExpansionPanelListChangeEvent,
|
|
311
|
+
)
|
|
308
312
|
from flet.controls.material.expansion_tile import ExpansionTile, TileAffinity
|
|
309
313
|
from flet.controls.material.filled_button import FilledButton
|
|
310
314
|
from flet.controls.material.filled_tonal_button import FilledTonalButton
|
|
@@ -775,6 +779,7 @@ __all__ = [
|
|
|
775
779
|
"EventHandler",
|
|
776
780
|
"ExpansionPanel",
|
|
777
781
|
"ExpansionPanelList",
|
|
782
|
+
"ExpansionPanelListChangeEvent",
|
|
778
783
|
"ExpansionTile",
|
|
779
784
|
"ExpansionTileTheme",
|
|
780
785
|
"FilePicker",
|
|
@@ -72,7 +72,7 @@ class AuthorizationService(Authorization):
|
|
|
72
72
|
await self.__refresh_token()
|
|
73
73
|
await self.__fetch_user_and_groups()
|
|
74
74
|
|
|
75
|
-
async def get_token(self):
|
|
75
|
+
async def get_token(self) -> Optional[OAuthToken]:
|
|
76
76
|
"""
|
|
77
77
|
Return current token after applying refresh logic when required.
|
|
78
78
|
|
|
@@ -1,18 +1,46 @@
|
|
|
1
|
-
from dataclasses import field
|
|
1
|
+
from dataclasses import dataclass, field
|
|
2
2
|
from typing import Optional
|
|
3
3
|
|
|
4
4
|
from flet.controls.adaptive_control import AdaptiveControl
|
|
5
5
|
from flet.controls.base_control import control
|
|
6
6
|
from flet.controls.control import Control
|
|
7
|
-
from flet.controls.control_event import
|
|
7
|
+
from flet.controls.control_event import (
|
|
8
|
+
Event,
|
|
9
|
+
EventHandler,
|
|
10
|
+
)
|
|
8
11
|
from flet.controls.layout_control import LayoutControl
|
|
9
12
|
from flet.controls.padding import Padding, PaddingValue
|
|
13
|
+
from flet.controls.scrollable_control import ScrollableControl
|
|
10
14
|
from flet.controls.types import (
|
|
11
15
|
ColorValue,
|
|
12
16
|
Number,
|
|
13
17
|
)
|
|
14
18
|
|
|
15
|
-
__all__ = ["ExpansionPanel", "ExpansionPanelList"]
|
|
19
|
+
__all__ = ["ExpansionPanel", "ExpansionPanelList", "ExpansionPanelListChangeEvent"]
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
@dataclass
|
|
23
|
+
class ExpansionPanelListChangeEvent(Event["ExpansionPanelList"]):
|
|
24
|
+
"""
|
|
25
|
+
Payload for [`ExpansionPanelList.on_change`][flet.] event.
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
index: int
|
|
29
|
+
"""
|
|
30
|
+
The index of the panel in [`ExpansionPanelList.controls`][flet.] that was toggled.
|
|
31
|
+
|
|
32
|
+
Panels with [`visible`][flet.Control.] set to `False` are not counted/indexed.
|
|
33
|
+
This means the value may differ from the panel's position in the original
|
|
34
|
+
[`ExpansionPanelList.controls`][flet.] list when some panels are invisible.
|
|
35
|
+
To map it back, filter [`ExpansionPanelList.controls`][flet.] to only visible
|
|
36
|
+
panels and use this index on that filtered list.
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
expanded: bool
|
|
40
|
+
"""
|
|
41
|
+
Whether the toggled panel is expanded (`True`) or
|
|
42
|
+
collapsed (`False`) after the event.
|
|
43
|
+
"""
|
|
16
44
|
|
|
17
45
|
|
|
18
46
|
@control("ExpansionPanel")
|
|
@@ -21,6 +49,7 @@ class ExpansionPanel(LayoutControl, AdaptiveControl):
|
|
|
21
49
|
A material expansion panel. It can either be expanded or collapsed. Its body is \
|
|
22
50
|
only visible when it is expanded.
|
|
23
51
|
|
|
52
|
+
Example:
|
|
24
53
|
```python
|
|
25
54
|
ft.ExpansionPanelList(
|
|
26
55
|
width=400,
|
|
@@ -41,54 +70,75 @@ class ExpansionPanel(LayoutControl, AdaptiveControl):
|
|
|
41
70
|
|
|
42
71
|
header: Optional[Control] = None
|
|
43
72
|
"""
|
|
44
|
-
The control to be found in the header of
|
|
45
|
-
is `True`, tapping on the header will expand or collapse the panel.
|
|
73
|
+
The control to be found in the header of this panel.
|
|
46
74
|
|
|
47
|
-
|
|
75
|
+
It is always visible, regardless of whether this panel is expanded or collapsed.
|
|
76
|
+
If [`can_tap_header`][(c).] is `True`, tapping on this `header` will expand or
|
|
77
|
+
collapse this panel.
|
|
78
|
+
|
|
79
|
+
If this property is `None`, this panel will have a placeholder `Text` as
|
|
48
80
|
header.
|
|
49
81
|
"""
|
|
50
82
|
|
|
51
83
|
content: Optional[Control] = None
|
|
52
84
|
"""
|
|
53
|
-
The control to be found in the body of
|
|
54
|
-
|
|
85
|
+
The control to be found in the body of this panel.
|
|
86
|
+
|
|
87
|
+
It is displayed below the [`header`][(c).] when this panel is [`expanded`][(c).].
|
|
55
88
|
|
|
56
|
-
If this property is `None`,
|
|
89
|
+
If this property is `None`, this panel will have a placeholder `Text` as
|
|
57
90
|
content.
|
|
58
91
|
"""
|
|
59
92
|
|
|
60
93
|
bgcolor: Optional[ColorValue] = None
|
|
61
94
|
"""
|
|
62
|
-
The background color of
|
|
95
|
+
The background color of this panel.
|
|
63
96
|
"""
|
|
64
97
|
|
|
65
98
|
expanded: bool = False
|
|
66
99
|
"""
|
|
67
|
-
Whether expanded(`True`) or collapsed(`False`).
|
|
100
|
+
Whether this panel is in expanded (`True`) or collapsed (`False`) state.
|
|
68
101
|
"""
|
|
69
102
|
|
|
70
103
|
can_tap_header: bool = False
|
|
71
104
|
"""
|
|
72
|
-
|
|
105
|
+
Whether tapping on this panel's [`header`][(c).] will expand or collapse it.
|
|
73
106
|
"""
|
|
74
107
|
|
|
75
108
|
splash_color: Optional[ColorValue] = None
|
|
76
109
|
"""
|
|
77
|
-
|
|
110
|
+
Defines the splash color of this panel if [`can_tap_header`][(c).] is `True`, \
|
|
111
|
+
or the splash color of the expand/collapse `IconButton` if \
|
|
112
|
+
[`can_tap_header`][(c).] is `False`.
|
|
113
|
+
|
|
114
|
+
If [`can_tap_header`][(c).] is `False`, and [`Theme.use_material3`][flet.] is
|
|
115
|
+
`True`, this field will be ignored, as [`IconButton.splash_color`][flet.]
|
|
116
|
+
will be ignored, and you should use [`highlight_color`][(c).] instead.
|
|
117
|
+
|
|
118
|
+
If this is `None`, then the icon button will use its default splash color
|
|
119
|
+
[`Theme.splash_color`][flet.], and this panel will use its default splash color
|
|
120
|
+
[`Theme.splash_color`][flet.] (if [`can_tap_header`][(c).] is `True`).
|
|
78
121
|
"""
|
|
79
122
|
|
|
80
123
|
highlight_color: Optional[ColorValue] = None
|
|
81
124
|
"""
|
|
82
|
-
|
|
125
|
+
Defines the highlight color of this panel if [`can_tap_header`][(c).] is `True`, \
|
|
126
|
+
or the highlight color of the expand/collapse `IconButton` \
|
|
127
|
+
if [`can_tap_header`][(c).] is `False`.
|
|
128
|
+
|
|
129
|
+
If this is `None`, then the icon button will use its default highlight color
|
|
130
|
+
[`Theme.highlight_color`][flet.], and this panel will use its default highlight
|
|
131
|
+
color [`Theme.highlight_color`][flet.] (if [`can_tap_header`][(c).] is `True`).
|
|
83
132
|
"""
|
|
84
133
|
|
|
85
134
|
|
|
86
135
|
@control("ExpansionPanelList")
|
|
87
|
-
class ExpansionPanelList(LayoutControl):
|
|
136
|
+
class ExpansionPanelList(LayoutControl, ScrollableControl):
|
|
88
137
|
"""
|
|
89
138
|
A material expansion panel list that lays out its children and animates \
|
|
90
139
|
expansions.
|
|
91
140
|
|
|
141
|
+
Example:
|
|
92
142
|
```python
|
|
93
143
|
ft.ExpansionPanelList(
|
|
94
144
|
width=400,
|
|
@@ -145,12 +195,9 @@ class ExpansionPanelList(LayoutControl):
|
|
|
145
195
|
The size of the gap between the [`controls`][(c).]s when expanded.
|
|
146
196
|
"""
|
|
147
197
|
|
|
148
|
-
on_change: Optional[
|
|
198
|
+
on_change: Optional[EventHandler[ExpansionPanelListChangeEvent]] = None
|
|
149
199
|
"""
|
|
150
200
|
Called when an item of [`controls`][(c).] is expanded or collapsed.
|
|
151
|
-
|
|
152
|
-
The [`data`][flet.Event.] property of the event handler argument contains the
|
|
153
|
-
index of the child panel (in [`controls`][(c).]) which triggered this event.
|
|
154
201
|
"""
|
|
155
202
|
|
|
156
203
|
def before_update(self):
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
from typing import Optional, TypeAlias, Union
|
|
2
|
+
|
|
3
|
+
from flet.controls.base_control import control
|
|
4
|
+
from flet.controls.services.service import Service
|
|
5
|
+
|
|
6
|
+
__all__ = ["SharedPreferences", "SharedPreferencesValueType"]
|
|
7
|
+
|
|
8
|
+
SharedPreferencesValueType: TypeAlias = Union[str, int, float, bool, list[str]]
|
|
9
|
+
"""Supported types for [`SharedPreferences`][flet.] values."""
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@control("SharedPreferences")
|
|
13
|
+
class SharedPreferences(Service):
|
|
14
|
+
"""
|
|
15
|
+
Provides access to persistent key-value storage.
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
async def set(self, key: str, value: SharedPreferencesValueType) -> bool:
|
|
19
|
+
"""
|
|
20
|
+
Sets a value for the given key.
|
|
21
|
+
|
|
22
|
+
Note:
|
|
23
|
+
Due to limitations on Android, it is not possible to set values that start
|
|
24
|
+
with any of the following: `VGhpcyBpcyB0aGUgcHJlZml4IGZvciBhIGxpc3Qu`,
|
|
25
|
+
`VGhpcyBpcyB0aGUgcHJlZml4IGZvciBCaWdJbnRlZ2Vy`, and
|
|
26
|
+
`VGhpcyBpcyB0aGUgcHJlZml4IGZvciBEb3VibGUu`.
|
|
27
|
+
|
|
28
|
+
Args:
|
|
29
|
+
key: The key to store the value under.
|
|
30
|
+
value: The value to store.
|
|
31
|
+
|
|
32
|
+
Returns:
|
|
33
|
+
`True` if the value was set successfully, `False` otherwise.
|
|
34
|
+
|
|
35
|
+
Raises:
|
|
36
|
+
ValueError: If `value` is of an unsupported type
|
|
37
|
+
(`str`, `int`, `float`, `bool`, and `list[str]`).
|
|
38
|
+
"""
|
|
39
|
+
if not (
|
|
40
|
+
isinstance(value, (str, int, float, bool))
|
|
41
|
+
or (isinstance(value, list) and all(isinstance(x, str) for x in value))
|
|
42
|
+
):
|
|
43
|
+
raise ValueError(
|
|
44
|
+
f"Unsupported value type: {type(value)}. "
|
|
45
|
+
"Supported types are: str, int, float, bool, list[str]."
|
|
46
|
+
)
|
|
47
|
+
return await self._invoke_method("set", {"key": key, "value": value})
|
|
48
|
+
|
|
49
|
+
async def get(self, key: str) -> Optional[SharedPreferencesValueType]:
|
|
50
|
+
"""
|
|
51
|
+
Gets the value for the given key.
|
|
52
|
+
|
|
53
|
+
Args:
|
|
54
|
+
key: The key to retrieve the value for.
|
|
55
|
+
|
|
56
|
+
Returns:
|
|
57
|
+
The value for the given key, or `None` if the key doesn't exist.
|
|
58
|
+
"""
|
|
59
|
+
return await self._invoke_method("get", {"key": key})
|
|
60
|
+
|
|
61
|
+
async def contains_key(self, key: str) -> bool:
|
|
62
|
+
"""
|
|
63
|
+
Checks if the given key exists.
|
|
64
|
+
|
|
65
|
+
Args:
|
|
66
|
+
key: The key to check for existence.
|
|
67
|
+
|
|
68
|
+
Returns:
|
|
69
|
+
`True` if the key exists, `False` otherwise.
|
|
70
|
+
"""
|
|
71
|
+
return await self._invoke_method("contains_key", {"key": key})
|
|
72
|
+
|
|
73
|
+
async def remove(self, key: str) -> bool:
|
|
74
|
+
"""
|
|
75
|
+
Removes the value for the given key.
|
|
76
|
+
|
|
77
|
+
Args:
|
|
78
|
+
key: The key to remove.
|
|
79
|
+
|
|
80
|
+
Returns:
|
|
81
|
+
`True` if the key was removed, `False` if the key didn't exist.
|
|
82
|
+
"""
|
|
83
|
+
return await self._invoke_method("remove", {"key": key})
|
|
84
|
+
|
|
85
|
+
async def get_keys(self, key_prefix: str) -> list[str]:
|
|
86
|
+
"""
|
|
87
|
+
Gets all keys with the given prefix.
|
|
88
|
+
|
|
89
|
+
Args:
|
|
90
|
+
key_prefix: The prefix to filter keys by.
|
|
91
|
+
|
|
92
|
+
Returns:
|
|
93
|
+
A list of keys that start with the given prefix.
|
|
94
|
+
"""
|
|
95
|
+
return await self._invoke_method("get_keys", {"key_prefix": key_prefix})
|
|
96
|
+
|
|
97
|
+
async def clear(self) -> bool:
|
|
98
|
+
"""
|
|
99
|
+
Clears all keys and values.
|
|
100
|
+
|
|
101
|
+
Returns:
|
|
102
|
+
`True` if the preferences were cleared successfully, `False` otherwise.
|
|
103
|
+
"""
|
|
104
|
+
return await self._invoke_method("clear")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flet
|
|
3
|
-
Version: 0.82.3.
|
|
3
|
+
Version: 0.82.3.dev7883
|
|
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.
|
|
13
|
-
Requires-Dist: flet-web==0.82.3.
|
|
12
|
+
Requires-Dist: flet-cli==0.82.3.dev7883; extra == "cli"
|
|
13
|
+
Requires-Dist: flet-web==0.82.3.dev7883; 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.
|
|
21
|
-
Requires-Dist: flet-web==0.82.3.
|
|
22
|
-
Requires-Dist: flet-desktop==0.82.3.
|
|
20
|
+
Requires-Dist: flet-cli==0.82.3.dev7883; extra == "all"
|
|
21
|
+
Requires-Dist: flet-web==0.82.3.dev7883; extra == "all"
|
|
22
|
+
Requires-Dist: flet-desktop==0.82.3.dev7883; extra == "all"
|
|
23
23
|
Provides-Extra: cli
|
|
24
|
-
Requires-Dist: flet-cli==0.82.3.
|
|
24
|
+
Requires-Dist: flet-cli==0.82.3.dev7883; extra == "cli"
|
|
25
25
|
Provides-Extra: desktop
|
|
26
|
-
Requires-Dist: flet-desktop==0.82.3.
|
|
26
|
+
Requires-Dist: flet-desktop==0.82.3.dev7883; extra == "desktop"
|
|
27
27
|
Provides-Extra: web
|
|
28
|
-
Requires-Dist: flet-web==0.82.3.
|
|
28
|
+
Requires-Dist: flet-web==0.82.3.dev7883; 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.
|
|
5
|
+
flet-cli==0.82.3.dev7883
|
|
6
6
|
|
|
7
7
|
[:extra == "web"]
|
|
8
|
-
flet-web==0.82.3.
|
|
8
|
+
flet-web==0.82.3.dev7883
|
|
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.
|
|
19
|
-
flet-web==0.82.3.
|
|
20
|
-
flet-desktop==0.82.3.
|
|
18
|
+
flet-cli==0.82.3.dev7883
|
|
19
|
+
flet-web==0.82.3.dev7883
|
|
20
|
+
flet-desktop==0.82.3.dev7883
|
|
21
21
|
|
|
22
22
|
[cli]
|
|
23
|
-
flet-cli==0.82.3.
|
|
23
|
+
flet-cli==0.82.3.dev7883
|
|
24
24
|
|
|
25
25
|
[desktop]
|
|
26
|
-
flet-desktop==0.82.3.
|
|
26
|
+
flet-desktop==0.82.3.dev7883
|
|
27
27
|
|
|
28
28
|
[web]
|
|
29
|
-
flet-web==0.82.3.
|
|
29
|
+
flet-web==0.82.3.dev7883
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
from typing import Any
|
|
2
|
-
|
|
3
|
-
from flet.controls.base_control import control
|
|
4
|
-
from flet.controls.services.service import Service
|
|
5
|
-
|
|
6
|
-
__all__ = ["SharedPreferences"]
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
@control("SharedPreferences")
|
|
10
|
-
class SharedPreferences(Service):
|
|
11
|
-
"""
|
|
12
|
-
Provides access to persistent key-value storage.
|
|
13
|
-
"""
|
|
14
|
-
|
|
15
|
-
async def set(self, key: str, value: Any) -> bool:
|
|
16
|
-
"""
|
|
17
|
-
Sets a value for the given key.
|
|
18
|
-
"""
|
|
19
|
-
if value is None:
|
|
20
|
-
raise ValueError("value can't be None")
|
|
21
|
-
return await self._invoke_method("set", {"key": key, "value": value})
|
|
22
|
-
|
|
23
|
-
async def get(self, key: str):
|
|
24
|
-
"""
|
|
25
|
-
Gets the value for the given key.
|
|
26
|
-
"""
|
|
27
|
-
return await self._invoke_method("get", {"key": key})
|
|
28
|
-
|
|
29
|
-
async def contains_key(self, key: str) -> bool:
|
|
30
|
-
"""
|
|
31
|
-
Checks if the given key exists.
|
|
32
|
-
"""
|
|
33
|
-
return await self._invoke_method("contains_key", {"key": key})
|
|
34
|
-
|
|
35
|
-
async def remove(self, key: str) -> bool:
|
|
36
|
-
"""
|
|
37
|
-
Removes the value for the given key.
|
|
38
|
-
"""
|
|
39
|
-
return await self._invoke_method("remove", {"key": key})
|
|
40
|
-
|
|
41
|
-
async def get_keys(self, key_prefix: str) -> list[str]:
|
|
42
|
-
"""
|
|
43
|
-
Gets all keys with the given prefix.
|
|
44
|
-
"""
|
|
45
|
-
return await self._invoke_method("get_keys", {"key_prefix": key_prefix})
|
|
46
|
-
|
|
47
|
-
async def clear(self) -> bool:
|
|
48
|
-
"""
|
|
49
|
-
Clears all keys and values.
|
|
50
|
-
"""
|
|
51
|
-
return await self._invoke_method("clear")
|
|
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.82.3.dev7877 → flet-0.82.3.dev7883}/src/flet/auth/providers/github_oauth_provider.py
RENAMED
|
File without changes
|
{flet-0.82.3.dev7877 → flet-0.82.3.dev7883}/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
|