flet 0.70.0.dev6232__py3-none-any.whl → 0.70.0.dev6281__py3-none-any.whl

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.

Potentially problematic release.


This version of flet might be problematic. Click here for more details.

Files changed (39) hide show
  1. flet/controls/core/column.py +15 -2
  2. flet/controls/core/grid_view.py +22 -0
  3. flet/controls/core/icon.py +4 -0
  4. flet/controls/core/image.py +8 -0
  5. flet/controls/core/text.py +4 -0
  6. flet/controls/cupertino/cupertino_button.py +4 -0
  7. flet/controls/cupertino/cupertino_checkbox.py +11 -0
  8. flet/controls/cupertino/cupertino_filled_button.py +4 -0
  9. flet/controls/cupertino/cupertino_list_tile.py +12 -1
  10. flet/controls/cupertino/cupertino_radio.py +14 -0
  11. flet/controls/cupertino/cupertino_segmented_button.py +11 -0
  12. flet/controls/cupertino/cupertino_slider.py +4 -0
  13. flet/controls/cupertino/cupertino_sliding_segmented_button.py +11 -0
  14. flet/controls/cupertino/cupertino_switch.py +4 -0
  15. flet/controls/cupertino/cupertino_textfield.py +4 -0
  16. flet/controls/cupertino/cupertino_tinted_button.py +4 -0
  17. flet/controls/material/card.py +15 -0
  18. flet/controls/material/checkbox.py +6 -0
  19. flet/controls/material/chip.py +7 -0
  20. flet/controls/material/circle_avatar.py +8 -0
  21. flet/controls/material/datatable.py +23 -0
  22. flet/controls/material/divider.py +12 -0
  23. flet/controls/material/dropdown.py +11 -0
  24. flet/controls/material/dropdownm2.py +11 -0
  25. flet/controls/material/expansion_panel.py +34 -0
  26. flet/controls/material/expansion_tile.py +13 -0
  27. flet/controls/material/filled_button.py +4 -0
  28. flet/controls/material/filled_tonal_button.py +4 -0
  29. flet/controls/material/floating_action_button.py +4 -0
  30. flet/controls/material/icon_button.py +12 -0
  31. flet/controls/material/list_tile.py +11 -0
  32. flet/controls/material/textfield.py +4 -0
  33. flet/testing/flet_test_app.py +3 -0
  34. flet/version.py +1 -1
  35. {flet-0.70.0.dev6232.dist-info → flet-0.70.0.dev6281.dist-info}/METADATA +1 -1
  36. {flet-0.70.0.dev6232.dist-info → flet-0.70.0.dev6281.dist-info}/RECORD +39 -39
  37. {flet-0.70.0.dev6232.dist-info → flet-0.70.0.dev6281.dist-info}/WHEEL +0 -0
  38. {flet-0.70.0.dev6232.dist-info → flet-0.70.0.dev6281.dist-info}/entry_points.txt +0 -0
  39. {flet-0.70.0.dev6232.dist-info → flet-0.70.0.dev6281.dist-info}/top_level.txt +0 -0
@@ -13,8 +13,21 @@ __all__ = ["Column"]
13
13
  @control("Column")
14
14
  class Column(LayoutControl, ScrollableControl, AdaptiveControl):
15
15
  """
16
- Container allows to decorate a control with background color and border and
17
- position it with padding, margin and alignment.
16
+ Arranges child controls vertically, optionally aligning and spacing them within
17
+ the available space.
18
+
19
+ ```python
20
+ ft.Column(
21
+ width=220,
22
+ height=120,
23
+ spacing=12,
24
+ controls=[
25
+ ft.Text("Daily planning", size=20, weight=ft.FontWeight.W_600),
26
+ ft.Text("Review pull requests"),
27
+ ft.Text("Ship release"),
28
+ ],
29
+ )
30
+ ```
18
31
  """
19
32
 
20
33
  controls: list[Control] = field(default_factory=list)
@@ -20,6 +20,28 @@ class GridView(LayoutControl, ScrollableControl, AdaptiveControl):
20
20
  It is very effective for large lists (thousands of items).
21
21
  Prefer it over wrapping [`Column`][flet.]s or
22
22
  [`Row`][flet.]s for smooth scrolling.
23
+
24
+ ```python
25
+ ft.GridView(
26
+ width=180,
27
+ runs_count=2,
28
+ spacing=8,
29
+ controls=[
30
+ ft.Container(
31
+ width=50, height=50, bgcolor=ft.Colors.PRIMARY, border_radius=8
32
+ ),
33
+ ft.Container(
34
+ width=50, height=50, bgcolor=ft.Colors.SECONDARY, border_radius=8
35
+ ),
36
+ ft.Container(
37
+ width=50, height=50, bgcolor=ft.Colors.TERTIARY, border_radius=8
38
+ ),
39
+ ft.Container(
40
+ width=50, height=50, bgcolor=ft.Colors.ERROR, border_radius=8
41
+ ),
42
+ ],
43
+ )
44
+ ```
23
45
  """
24
46
 
25
47
  controls: list[Control] = field(default_factory=list)
@@ -15,6 +15,10 @@ class Icon(LayoutControl):
15
15
 
16
16
  Icons can be customized in color, size, and visual style using various
17
17
  parameters such as stroke weight, fill level, and shadows.
18
+
19
+ ```python
20
+ ft.Icon(ft.Icons.FAVORITE, color=ft.Colors.PRIMARY, size=40)
21
+ ```
18
22
  """
19
23
 
20
24
  icon: IconData
@@ -26,6 +26,14 @@ class Image(LayoutControl):
26
26
  - [`src_bytes`][(c).]
27
27
  - [`src_base64`][(c).]
28
28
  - [`src`][(c).]
29
+
30
+ ```python
31
+ ft.Image(
32
+ src_base64="iVBORw0KGgoAAAANSUhEUgAAABkAAAAgCAYAAADnnNMGAAAACXBIWXMAAAORAAADkQFnq8zdAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAA6dJREFUSImllltoHFUYx3/fzOzm0lt23ZrQ1AQbtBehNpvQohgkBYVo410RwQctNE3Sh0IfiiBoIAjqi6TYrKnFy4O3oiiRavDJFi3mXomIBmOxNZe63ay52GR3Zj4f2sTEzmx3m//TYf7/c35zvgPnO6KqrESXqpq3muocAikv6m+/zytj3ejik1VN21G31YA9CgJ6xC+bMyQZPVCuarciPAMYC99V6Vw5pLbFSibHmlVoRVj9P3cmPBM8tSJI/M6mzabpfoAQ9fIF7WK4bd5vvuFnLGgy2vi0abg94A0AcJGvMq3hDxGRyar9r4F+iLAm0yIiRk8m37tctS1WsrIhhrI30+Srmg+J87OXUf3lWGS1q89dC6ltsSanxk4Aj2QBABii96300g87P/rtlrWr8l+vyDMfdlXSyyEikqxsiOUAQJCBhfHdXRfCq1LSsSlcWG+KBAGStvvrMkgiuv8lUc2mREukPwLUfHG+uTQv8Eown7VL3XlbBxYhf1c17hbVF3MDwA9bts280TnaU1YYqPby07aeFlUlHt27wSQ4CLo+F8AvoTCvHmyKF+ZbEb/M77P2LgvAwmrTHAHflN3KZxVbMC2jMFNOpgPnrMSOhvvFkMezXdwV4ePbtvHtxnJAMQ0j4JtVnO+eLb5oiSlt5HDbv7t1O90lpYCCCKbhfzW5kAIwUAazR0BlfII8Ow0I6uoVmI9MyAMwbMs8CExmDbk4zgu931MyO4OI4KrYflkRjOoTI+uM9d1vjotwKPu9QMk/sxzuO8POiVFcdZ1M2YBVsMEAKOqLvaPIe7mACuw0z/80SMH58SMplxlfiDhVi7dw2pltRhjKBQTQdrSja2KKTfE551NHuaZ0QVPvWYQUn31/Vm2nDvgjF4grVJx6suSvrvrSJ/6cSW2Oz9mf264uNrB806xZ1k/CZ49dUKgDEtlCROX2hfHpx8pGuuo3PpqYulw8fjndOp1yhgtNKRevJ1FyR2Ola+jXAjdnwTkZ6o896GdWdxDw7IxFg+0DpmXchTKSBWQnIuJn9u4j7dt+13UfHXEkXQOcuQ4kMhVtqsgUyPiQiPQfHw1NB2sRjmXKuTg1NwwBYLhtPtQX26eqTwGXPDOqvmcC4Hnwfrrad94GrVsOYTqUTkQY+iTlNe/6O1miSP/x0VB/+wMIDwHn/vtV1iQC4Xv95uUEWVCoL9Y5Z+gdovoyMHUFJHv88jmVy0vTuw7cZNv2YaA61Bfb7ZX5F8SaUv2xwZevAAAAAElFTkSuQmCC",
33
+ width=100,
34
+ height=100,
35
+ )
36
+ ```
29
37
  """
30
38
 
31
39
  src: Optional[str] = None
@@ -178,6 +178,10 @@ class Text(LayoutControl):
178
178
 
179
179
  It consists of two sources combined to produce the final text:
180
180
  [`value`][(c).] and [`spans`][(c).].
181
+
182
+ ```python
183
+ ft.Text("Hello from Flet!", size=24, weight=ft.FontWeight.W_600)
184
+ ```
181
185
  """
182
186
 
183
187
  value: str = ""
@@ -31,6 +31,10 @@ class CupertinoButtonSize(Enum):
31
31
  class CupertinoButton(LayoutControl):
32
32
  """
33
33
  An iOS-style button.
34
+
35
+ ```python
36
+ ft.CupertinoButton("Tap me")
37
+ ```
34
38
  """
35
39
 
36
40
  content: Optional[StrOrControl] = None
@@ -23,6 +23,17 @@ class CupertinoCheckbox(LayoutControl):
23
23
 
24
24
  Checkbox allows to select one or more items from a group,
25
25
  or switch between two mutually exclusive options (checked or unchecked, on or off).
26
+
27
+ ```python
28
+ ft.Column(
29
+ intrinsic_width=True,
30
+ controls=[
31
+ ft.CupertinoCheckbox(),
32
+ ft.CupertinoCheckbox(label="Checked", value=True),
33
+ ft.CupertinoCheckbox(label="Disabled", disabled=True),
34
+ ],
35
+ )
36
+ ```
26
37
  """
27
38
 
28
39
  label: Optional[str] = None
@@ -8,4 +8,8 @@ __all__ = ["CupertinoFilledButton"]
8
8
  class CupertinoFilledButton(CupertinoButton):
9
9
  """
10
10
  An iOS-style button filled with default background color.
11
+
12
+ ```python
13
+ ft.CupertinoFilledButton("Tap me")
14
+ ```
11
15
  """
@@ -20,7 +20,18 @@ class CupertinoListTile(LayoutControl):
20
20
  """
21
21
  An iOS-style list tile.
22
22
 
23
- Can also serve as a cupertino equivalent of the Material [`ListTile`][flet.].
23
+ The CupertinoListTile is a Cupertino equivalent of the Material [`ListTile`][flet.].
24
+
25
+ ```python
26
+ ft.CupertinoListTile(
27
+ title="Notifications",
28
+ subtitle="Enabled",
29
+ width=400,
30
+ leading=ft.Icon(ft.Icons.NOTIFICATIONS_OUTLINED),
31
+ trailing=ft.Icon(ft.Icons.CHEVRON_RIGHT),
32
+ bgcolor=ft.Colors.SURFACE_CONTAINER_LOW,
33
+ )
34
+ ```
24
35
  """
25
36
 
26
37
  title: StrOrControl
@@ -18,6 +18,20 @@ class CupertinoRadio(LayoutControl):
18
18
  """
19
19
  A macOS-styled radio button, allowing the user to select a single option from two
20
20
  or more choices.
21
+
22
+ ```python
23
+ ft.RadioGroup(
24
+ value="option_2",
25
+ content=ft.Column(
26
+ intrinsic_width=True,
27
+ controls=[
28
+ ft.CupertinoRadio(value="option_1", label="Option 1"),
29
+ ft.CupertinoRadio(value="option_2", label="Option 2"),
30
+ ft.CupertinoRadio(value="option_3", label="Option 3"),
31
+ ],
32
+ ),
33
+ )
34
+ ```
21
35
  """
22
36
 
23
37
  label: Optional[str] = None
@@ -14,6 +14,17 @@ __all__ = ["CupertinoSegmentedButton"]
14
14
  class CupertinoSegmentedButton(LayoutControl):
15
15
  """
16
16
  An iOS-style segmented button.
17
+
18
+ ```python
19
+ ft.CupertinoSegmentedButton(
20
+ controls=[
21
+ ft.Text("One"),
22
+ ft.Text("Two"),
23
+ ft.Text("Three"),
24
+ ],
25
+ selected_index=1,
26
+ )
27
+ ```
17
28
  """
18
29
 
19
30
  controls: list[Control]
@@ -22,6 +22,10 @@ class CupertinoSlider(LayoutControl):
22
22
  Use a slider when you want people to set defined values (such as volume or
23
23
  brightness), or when people would benefit from instant feedback on the effect of
24
24
  setting changes.
25
+
26
+ ```python
27
+ ft.CupertinoSlider(value=0.6)
28
+ ```
25
29
  """
26
30
 
27
31
  value: Optional[Number] = None
@@ -18,6 +18,17 @@ __all__ = ["CupertinoSlidingSegmentedButton"]
18
18
  class CupertinoSlidingSegmentedButton(LayoutControl):
19
19
  """
20
20
  A cupertino sliding segmented button.
21
+
22
+ ```python
23
+ ft.CupertinoSlidingSegmentedButton(
24
+ controls=[
25
+ ft.Text("One"),
26
+ ft.Text("Two"),
27
+ ft.Text("Three"),
28
+ ],
29
+ selected_index=1,
30
+ )
31
+ ```
21
32
  """
22
33
 
23
34
  controls: list[Control]
@@ -20,6 +20,10 @@ class CupertinoSwitch(LayoutControl):
20
20
  An iOS-style switch.
21
21
 
22
22
  Used to toggle the on/off state of a single setting.
23
+
24
+ ```python
25
+ ft.CupertinoSwitch(value=True)
26
+ ```
23
27
  """
24
28
 
25
29
  label: Optional[str] = None
@@ -24,6 +24,10 @@ class OverlayVisibilityMode(Enum):
24
24
  class CupertinoTextField(TextField):
25
25
  """
26
26
  An iOS-style text field.
27
+
28
+ ```python
29
+ ft.CupertinoTextField(placeholder_text="Search")
30
+ ```
27
31
  """
28
32
 
29
33
  placeholder_text: Optional[str] = None
@@ -8,4 +8,8 @@ __all__ = ["CupertinoTintedButton"]
8
8
  class CupertinoTintedButton(CupertinoButton):
9
9
  """
10
10
  An iOS-style button filled with default background color.
11
+
12
+ ```python
13
+ ft.CupertinoTintedButton("Tap me")
14
+ ```
11
15
  """
@@ -22,6 +22,21 @@ class Card(LayoutControl, AdaptiveControl):
22
22
  """
23
23
  A material design card: a panel with slightly rounded corners and an elevation
24
24
  shadow.
25
+
26
+ ```python
27
+ ft.Card(
28
+ shadow_color=ft.Colors.ON_SURFACE_VARIANT,
29
+ content=ft.Container(
30
+ width=400,
31
+ padding=10,
32
+ content=ft.ListTile(
33
+ bgcolor=ft.Colors.GREY_400,
34
+ leading=ft.Icon(ft.Icons.FOREST),
35
+ title=ft.Text("Card Name"),
36
+ ),
37
+ ),
38
+ )
39
+ ```
25
40
  """
26
41
 
27
42
  content: Optional[Control] = None
@@ -25,6 +25,12 @@ class Checkbox(LayoutControl, AdaptiveControl):
25
25
  """
26
26
  Checkbox allows to select one or more items from a group, or switch between two
27
27
  mutually exclusive options (checked or unchecked, on or off).
28
+
29
+ ```python
30
+ ft.Checkbox()
31
+ ft.Checkbox(label="Checked", value=True)
32
+ ft.Checkbox(label="Disabled", disabled=True)
33
+ ```
28
34
  """
29
35
 
30
36
  label: Optional[StrOrControl] = None
@@ -26,6 +26,13 @@ __all__ = ["Chip"]
26
26
  class Chip(LayoutControl):
27
27
  """
28
28
  Chips are compact elements that represent an attribute, text, entity, or action.
29
+
30
+ ```python
31
+ ft.Chip(
32
+ label="Explore topics",
33
+ leading=ft.Icon(ft.Icons.EXPLORE_OUTLINED),
34
+ )
35
+ ```
29
36
  """
30
37
 
31
38
  label: StrOrControl
@@ -19,6 +19,14 @@ class CircleAvatar(LayoutControl):
19
19
 
20
20
  If [`foreground_image_src`][(c).] fails then [`background_image_src`][(c).] is used,
21
21
  and if this also fails, then [`bgcolor`][(c).] is used.
22
+
23
+ ```python
24
+ ft.CircleAvatar(
25
+ content=ft.Text("AB"),
26
+ bgcolor=ft.Colors.PRIMARY,
27
+ color=ft.Colors.ON_PRIMARY,
28
+ )
29
+ ```
22
30
  """
23
31
 
24
32
  content: Optional[StrOrControl] = None
@@ -281,6 +281,29 @@ class DataRow(Control):
281
281
  class DataTable(LayoutControl):
282
282
  """
283
283
  A Material Design data table.
284
+
285
+ ```python
286
+ ft.DataTable(
287
+ columns=[
288
+ ft.DataColumn(label=ft.Text("Name")),
289
+ ft.DataColumn(label=ft.Text("Role")),
290
+ ],
291
+ rows=[
292
+ ft.DataRow(
293
+ cells=[
294
+ ft.DataCell(ft.Text("Alice")),
295
+ ft.DataCell(ft.Text("Engineer")),
296
+ ]
297
+ ),
298
+ ft.DataRow(
299
+ cells=[
300
+ ft.DataCell(ft.Text("Bob")),
301
+ ft.DataCell(ft.Text("Designer")),
302
+ ]
303
+ ),
304
+ ],
305
+ )
306
+ ```
284
307
  """
285
308
 
286
309
  columns: list[DataColumn]
@@ -12,6 +12,18 @@ __all__ = ["Divider"]
12
12
  class Divider(Control):
13
13
  """
14
14
  A thin horizontal line (divider), with padding on either side.
15
+
16
+ ```python
17
+ ft.Column(
18
+ width=240,
19
+ spacing=10,
20
+ controls=[
21
+ ft.Text("Section A", weight=ft.FontWeight.W_600),
22
+ ft.Divider(),
23
+ ft.Text("Section B"),
24
+ ],
25
+ )
26
+ ```
15
27
  """
16
28
 
17
29
  color: Optional[ColorValue] = None
@@ -81,6 +81,17 @@ class Dropdown(LayoutControl):
81
81
  """
82
82
  A dropdown control that allows users to select a single option from a list of
83
83
  options.
84
+
85
+ ```python
86
+ ft.Dropdown(
87
+ width=220,
88
+ value="alice",
89
+ options=[
90
+ ft.dropdown.Option(key="alice", text="Alice"),
91
+ ft.dropdown.Option(key="bob", text="Bob"),
92
+ ],
93
+ )
94
+ ```
84
95
  """
85
96
 
86
97
  value: Optional[str] = None
@@ -69,6 +69,17 @@ class DropdownM2(FormFieldControl):
69
69
  A dropdown lets the user select from a number of items. The dropdown shows the
70
70
  currently selected item as well as an arrow that opens a menu for selecting another
71
71
  item.
72
+
73
+ ```python
74
+ ft.DropdownM2(
75
+ width=220,
76
+ value="Alice",
77
+ options=[
78
+ ft.dropdownm2.Option(key="Alice", text="Alice"),
79
+ ft.dropdownm2.Option(key="Bob", text="Bob"),
80
+ ],
81
+ )
82
+ ```
72
83
  """
73
84
 
74
85
  value: Optional[str] = None
@@ -20,6 +20,23 @@ class ExpansionPanel(LayoutControl, AdaptiveControl):
20
20
  """
21
21
  A material expansion panel. It can either be expanded or collapsed. Its body is
22
22
  only visible when it is expanded.
23
+
24
+ ```python
25
+ ft.ExpansionPanelList(
26
+ width=400,
27
+ controls=[
28
+ ft.ExpansionPanel(
29
+ header=ft.Text("Shipping address"),
30
+ content=ft.Text("123 Market Street, Springfield"),
31
+ expanded=True,
32
+ ),
33
+ ft.ExpansionPanel(
34
+ header=ft.Text("Billing address"),
35
+ content=ft.Text("Same as shipping"),
36
+ ),
37
+ ],
38
+ )
39
+ ```
23
40
  """
24
41
 
25
42
  header: Optional[Control] = None
@@ -71,6 +88,23 @@ class ExpansionPanel(LayoutControl, AdaptiveControl):
71
88
  class ExpansionPanelList(LayoutControl):
72
89
  """
73
90
  A material expansion panel list that lays out its children and animates expansions.
91
+
92
+ ```python
93
+ ft.ExpansionPanelList(
94
+ width=400,
95
+ controls=[
96
+ ft.ExpansionPanel(
97
+ header=ft.Text("Details"),
98
+ content=ft.Text("More information here"),
99
+ expanded=True,
100
+ ),
101
+ ft.ExpansionPanel(
102
+ header=ft.Text("History"),
103
+ content=ft.Text("View previous updates"),
104
+ ),
105
+ ],
106
+ )
107
+ ```
74
108
  """
75
109
 
76
110
  controls: list[ExpansionPanel] = field(default_factory=list)
@@ -33,6 +33,19 @@ class ExpansionTile(LayoutControl, AdaptiveControl):
33
33
  """
34
34
  A single-line ListTile with an expansion arrow icon that expands or collapses the
35
35
  tile to reveal or hide its controls.
36
+
37
+ ```python
38
+ ft.ExpansionTile(
39
+ width=400,
40
+ title="Account",
41
+ subtitle="Manage profile and security",
42
+ controls=[
43
+ ft.ListTile(title=ft.Text("Profile")),
44
+ ft.ListTile(title=ft.Text("Security")),
45
+ ],
46
+ initially_expanded=True,
47
+ )
48
+ ```
36
49
  """
37
50
 
38
51
  title: StrOrControl
@@ -9,6 +9,10 @@ class FilledButton(Button):
9
9
  [`FloatingActionButton`][flet.], and is typically used for
10
10
  important, final actions that complete a flow, like "Save",
11
11
  "Join now", or "Confirm".
12
+
13
+ ```python
14
+ ft.FilledButton(content="Tap me")
15
+ ```
12
16
  """
13
17
 
14
18
  pass
@@ -9,6 +9,10 @@ class FilledTonalButton(Button):
9
9
  OutlinedButton buttons. They're useful in contexts where a lower-priority button
10
10
  requires slightly more emphasis than an outline would give, such as "Next" in an
11
11
  onboarding flow. Tonal buttons use the secondary color mapping.
12
+
13
+ ```python
14
+ ft.FilledTonalButton(content="Tap me")
15
+ ```
12
16
  """
13
17
 
14
18
  pass
@@ -25,6 +25,10 @@ class FloatingActionButton(LayoutControl):
25
25
  promote a primary action in the application. Floating action button is usually set
26
26
  to `page.floating_action_button`, but can also be added as a regular control at any
27
27
  place on a page.
28
+
29
+ ```python
30
+ ft.FloatingActionButton(icon=ft.Icons.ADD)
31
+ ```
28
32
  """
29
33
 
30
34
  content: Optional[StrOrControl] = None
@@ -34,6 +34,10 @@ class IconButton(LayoutControl, AdaptiveControl):
34
34
 
35
35
  Icon buttons are commonly used in the toolbars, but they can be used in many other
36
36
  places as well.
37
+
38
+ ```python
39
+ ft.IconButton(icon=ft.Icons.FAVORITE, icon_color=ft.Colors.PRIMARY)
40
+ ```
37
41
  """
38
42
 
39
43
  icon: Optional[IconDataOrControl] = None
@@ -233,6 +237,10 @@ class FilledIconButton(IconButton):
233
237
 
234
238
  Filled icon buttons have higher visual impact and should be used for high emphasis
235
239
  actions, such as turning off a microphone or camera.
240
+
241
+ ```python
242
+ ft.FilledIconButton(icon=ft.Icons.CHECK)
243
+ ```
236
244
  """
237
245
 
238
246
 
@@ -245,6 +253,10 @@ class FilledTonalIconButton(IconButton):
245
253
  outlined icon buttons. They're useful in contexts where the button requires
246
254
  slightly more emphasis than an outline would give, such as a secondary action
247
255
  paired with a high emphasis action.
256
+
257
+ ```python
258
+ ft.FilledTonalIconButton(icon=ft.Icons.CHECK)
259
+ ```
248
260
  """
249
261
 
250
262
 
@@ -47,6 +47,17 @@ class ListTile(LayoutControl, AdaptiveControl):
47
47
  """
48
48
  A single fixed-height row that typically contains some text as well as a leading or
49
49
  trailing icon.
50
+
51
+ ```python
52
+ ft.ListTile(
53
+ width=400,
54
+ leading=ft.Icon(ft.Icons.ACCOUNT_CIRCLE),
55
+ title="Jane Doe",
56
+ subtitle="Product Manager",
57
+ trailing=ft.Icon(ft.Icons.CHEVRON_RIGHT),
58
+ bgcolor=ft.Colors.SURFACE_CONTAINER_LOW,
59
+ )
60
+ ```
50
61
  """
51
62
 
52
63
  title: Optional[StrOrControl] = None
@@ -133,6 +133,10 @@ class TextField(FormFieldControl, AdaptiveControl):
133
133
  """
134
134
  A text field lets the user enter text, either with hardware keyboard or with an
135
135
  onscreen keyboard.
136
+
137
+ ```python
138
+ ft.TextField(label="Name", hint_text="Jane Doe")
139
+ ```
136
140
  """
137
141
 
138
142
  value: str = ""
@@ -164,6 +164,7 @@ class FletTestApp:
164
164
  await self.__flet_app_main(page)
165
165
  elif callable(self.__flet_app_main):
166
166
  self.__flet_app_main(page)
167
+ await self.__tester.pump_and_settle()
167
168
  ready.set()
168
169
 
169
170
  if not self.__tcp_port:
@@ -290,6 +291,7 @@ class FletTestApp:
290
291
  pump_times: int = 0,
291
292
  pump_duration: Optional[ft.DurationValue] = None,
292
293
  expand_screenshot: bool = False,
294
+ similarity_threshold: float = 0,
293
295
  ):
294
296
  """
295
297
  Adds control to a clean page, takes a screenshot and compares it with
@@ -313,6 +315,7 @@ class FletTestApp:
313
315
  self.assert_screenshot(
314
316
  name,
315
317
  await screenshot.capture(pixel_ratio=self.screenshots_pixel_ratio),
318
+ similarity_threshold=similarity_threshold,
316
319
  )
317
320
 
318
321
  def assert_screenshot(
flet/version.py CHANGED
@@ -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.dev6232"
13
+ version = "0.70.0.dev6281"
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.dev6232
3
+ Version: 0.70.0.dev6281
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,7 +1,7 @@
1
1
  flet/__init__.py,sha256=rj0DuM9ZNrzkM-TpQ35iIspYLzsrxOCwkVxOHRX6oiU,26152
2
2
  flet/app.py,sha256=HSws0Zm4ZO0-Hp2P9h7xirCVnRkKCVXhuekyAXT_9Fo,11883
3
3
  flet/cli.py,sha256=IUM25fY_sqMtl0hlQGhlMQaBb1oNyO0VZeeBgRodhuA,204
4
- flet/version.py,sha256=bpMuUH5DU2TiKSdiPL7T-tkBtDbaKEaNHm23KgizxUg,2512
4
+ flet/version.py,sha256=ZWgYuCSi-KSEoEEKFdgNYMuHtJTD2SpNpYxAf4NWRBU,2512
5
5
  flet/auth/__init__.py,sha256=eDqmi0Ki8Resd198S7XxgYa2R14wnNqIXnYhBLPl8fQ,289
6
6
  flet/auth/authorization.py,sha256=hP_36RiRPtSwmK_Yp6MMzAjQdDxbBiEcZ2yFNqyNiRs,357
7
7
  flet/auth/authorization_service.py,sha256=6N2LvisSt7KI_VgfyCH0OaJ6jTcmXCkAldN1yYlakzQ,6410
@@ -75,15 +75,15 @@ flet/controls/types.py,sha256=f4rUZ36Ul5FID2ZTgamPXAT7wZTfJl4Lbam9dpANtvI,25574
75
75
  flet/controls/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
76
  flet/controls/core/animated_switcher.py,sha256=6aYrxH_3wc-9YSdS-6BqKR6F75sBzykbi2ttnqeglr4,1873
77
77
  flet/controls/core/autofill_group.py,sha256=RqaO3dJo6eXnHmIeIg-NnEEeTq6-PlkhIlwscngVz4A,3709
78
- flet/controls/core/column.py,sha256=g04SvwdP0iqJP-1w3STJl2eCEciwN4dt6eLKZ_xzV2U,2157
78
+ flet/controls/core/column.py,sha256=Xjxa1JAVBB4PyZzQ8UwLwggW1oGYfGbiObr07JSgS8A,2425
79
79
  flet/controls/core/dismissible.py,sha256=BLHxUftho32A2fbTAKlP7N5WVyd5HYizXhAVnvorHnE,5577
80
80
  flet/controls/core/drag_target.py,sha256=VtvBFtMrQgN8ErdF4QfVVMVms-ZhwXQwhgO5nQeDAEg,2832
81
81
  flet/controls/core/draggable.py,sha256=tmY5muNn84JvFYMPuQlJ61dOj7bgpoCD8pYnVXlt5JE,3859
82
82
  flet/controls/core/flet_app.py,sha256=5WvbgRiktRxAMRKiZ667o1Yt7ozfuSM811yTE6D2rfA,1116
83
83
  flet/controls/core/gesture_detector.py,sha256=dcSzIiIjD7QOPVGcKDdW2MxvCdtla8M_yHvqxn4N1kg,8911
84
- flet/controls/core/grid_view.py,sha256=kzln6PKgQ2jGEoNkNMjx0auoFfUndfzx6x0TgzLn5yA,3139
85
- flet/controls/core/icon.py,sha256=laAFLql660x0l7a2-DmzkXWoKhVuzmrS2GI8kq2Bhqo,4027
86
- flet/controls/core/image.py,sha256=ES4byvkgl3z_YbsBVNnYVox8QN4_qCnOn9RjBK_3vUY,3950
84
+ flet/controls/core/grid_view.py,sha256=s9otiOfKffHMg6u7REN6bQt9j7ykl9GIbWBZIhaYmFg,3760
85
+ flet/controls/core/icon.py,sha256=LVjdByVXnVjR_vxb_kJT2BMqiF7vgvp0OR-iV9LTw30,4115
86
+ flet/controls/core/image.py,sha256=Qbooag88pvfqUq-hzf6C-Q1awib_bT3_cOeEAGhyjDA,5455
87
87
  flet/controls/core/interactive_viewer.py,sha256=xiS6UMOzTHed7xAnOr3D0Yi-Msv40wR_ugudRayi2lg,4897
88
88
  flet/controls/core/keyboard_listener.py,sha256=Rml7c7pHNzTyBiSbW15cUXwhr5YddTrSo98z2tzWhaI,2527
89
89
  flet/controls/core/list_view.py,sha256=zyWHHG8Tpr4VYztQFWA_mRipLXKO6bVJ-Ra1Gso4qp4,3273
@@ -99,7 +99,7 @@ flet/controls/core/screenshot.py,sha256=6X3f6rYaX7PHkvWM7gpFlyhA2xzt-M15ax-Nfd45
99
99
  flet/controls/core/semantics.py,sha256=tiRTyFMYYNIcj8kuiopZMPGxeo_n4L7eCchHcywColI,7413
100
100
  flet/controls/core/shader_mask.py,sha256=z4sr8RP2PnP-ooh0c5KNiUDLsHmj1S-R7ATm53j5CJo,1034
101
101
  flet/controls/core/stack.py,sha256=JqCIXFcDxd4C7dhJik0qwOu7IoHRmkj7BpvF6LhM03k,1954
102
- flet/controls/core/text.py,sha256=Z2gqu5IIOvUQYV7RpoqAmoEueiHozxL0xN0hlnyMseQ,8811
102
+ flet/controls/core/text.py,sha256=jKl-j9Zzoj0nuxIbj-wRj4re6VLSvygvsqTwAIiMKqg,8903
103
103
  flet/controls/core/text_span.py,sha256=-f60CaJ6H31_f6JcYLEogiwe14Lw_HdvCAccRRsANP8,2939
104
104
  flet/controls/core/transparent_pointer.py,sha256=BGDFuDWyDUIYOmwaEgMMks6OWS_lVjZObAw2M-3r2bQ,963
105
105
  flet/controls/core/view.py,sha256=WuXwdjKtMwhzy1foPJa5kPsrwnpti_b85g8w_ldhOeQ,5031
@@ -127,26 +127,26 @@ flet/controls/cupertino/cupertino_activity_indicator.py,sha256=vSLNarHRb0Oc5lVex
127
127
  flet/controls/cupertino/cupertino_alert_dialog.py,sha256=kcACIyiv7gWN3KX27aqPfMS9BUVTPt0CPW8k2L9hC2o,2284
128
128
  flet/controls/cupertino/cupertino_app_bar.py,sha256=CxhgW5Z_tohnyn7WkGxes9aN_KBDjovzcn_mEuhRqms,5176
129
129
  flet/controls/cupertino/cupertino_bottom_sheet.py,sha256=o8154fJuBtJUSJtqJFrjE6tEBv1ylNtgDW8qn6vwSxs,938
130
- flet/controls/cupertino/cupertino_button.py,sha256=jPq2qdcmZ1lgYQVX2VUD27JAIgP2Mcj8CB0REb2EMng,4504
131
- flet/controls/cupertino/cupertino_checkbox.py,sha256=XmTY2IQL4MX08uEPTm4mAeb17o2QoWrybZaxcgfB1vs,4449
130
+ flet/controls/cupertino/cupertino_button.py,sha256=0k8kVgbA7O1yEOf_t1eokKIamoQ6niahsh-IMXjVhvU,4560
131
+ flet/controls/cupertino/cupertino_checkbox.py,sha256=NsCpe6UxRx7c_s-tbC1th1Jsw_2Y-wSF_ohS5uCwzJU,4719
132
132
  flet/controls/cupertino/cupertino_colors.py,sha256=nbkvUsvt4hN1Z5Ay5tqX24pX56qFfPK2qB1DSnrEuvw,5106
133
133
  flet/controls/cupertino/cupertino_context_menu.py,sha256=TbKXLcmvm4dNVyUO0X5vH_dq2gQBpqZdhtrcpffwU1s,1503
134
134
  flet/controls/cupertino/cupertino_context_menu_action.py,sha256=JaY38NA_S8tI2VAodlB4M2xRFXeeM9Sn4BqboDMG3HE,1427
135
135
  flet/controls/cupertino/cupertino_date_picker.py,sha256=5Qczw4_oYox_jJoBDJlohOCizb3u5GYduSYY9zVnkk0,8456
136
136
  flet/controls/cupertino/cupertino_dialog_action.py,sha256=Np0JXlmr35L6-sTcpvKHER3HzME4bCBsjtd9z--klc8,1660
137
- flet/controls/cupertino/cupertino_filled_button.py,sha256=BQ9sSUMEPCCJQl8isEnIOP_qXO4tjsX7yyCTs-O4hw0,313
137
+ flet/controls/cupertino/cupertino_filled_button.py,sha256=d3wfzrbQMyMvrv6SJD8Kwi8heSWFvBYQnyX1PcR8zdI,375
138
138
  flet/controls/cupertino/cupertino_icons.py,sha256=tufRxJiAgb1bqOWBS4wsAN999ZKIlY4pIXvlxZCnjsE,40321
139
- flet/controls/cupertino/cupertino_list_tile.py,sha256=JElMK9sbGiBCG3ksjRpZpV4IRn7VzLnXhx3OKd_m-pU,3397
139
+ flet/controls/cupertino/cupertino_list_tile.py,sha256=V5ZH3ZKPuoVqUDhY1MrQb9uMVeMOdOKyUOX3WFsq0YU,3694
140
140
  flet/controls/cupertino/cupertino_navigation_bar.py,sha256=Ucn2NU0ASBNjxnJFC1smRRvxRIIvF8pIrUmnf9p-7hA,2907
141
141
  flet/controls/cupertino/cupertino_picker.py,sha256=bWWPGFKK-2RYDSyvbhHV7Q8q6dwDP64vTyCttsWsrtM,3600
142
- flet/controls/cupertino/cupertino_radio.py,sha256=WksRSPn0mAcMiAnE2UU7Piqe2ae_isocjzUZzNcQ-eA,2339
143
- flet/controls/cupertino/cupertino_segmented_button.py,sha256=lz3TuGjE2eJi8SPvbhGQG1Kj1ZFwkJqAVmAOfHlmRi8,3033
144
- flet/controls/cupertino/cupertino_slider.py,sha256=QNFus_fLjKBQxCURAz8tGCg9vnk44bXPGcWxrllWVrQ,3530
145
- flet/controls/cupertino/cupertino_sliding_segmented_button.py,sha256=gDA2WcRnGIQQ5JJpxbn_K4TMt-FSE2hVFwjy3siFqFU,3103
146
- flet/controls/cupertino/cupertino_switch.py,sha256=0UtGp1fhCGlYVf2w8xXic0MfcEds-uNqF7WQi84Ld8w,4201
147
- flet/controls/cupertino/cupertino_textfield.py,sha256=yqwTdXLvu7IKwX-4GjtJWCjUeX2rB2wuN5akgrBM5V4,3131
142
+ flet/controls/cupertino/cupertino_radio.py,sha256=ibdDyQZL64UDmFLyG0UaekL15hkQlJEwITgWu1GIzq4,2736
143
+ flet/controls/cupertino/cupertino_segmented_button.py,sha256=0j2XFQp_0WF2b-eEMZXcT2SI4apugN3qLwOfYlbMKmM,3237
144
+ flet/controls/cupertino/cupertino_slider.py,sha256=T3DB9BPWAulcaHN-cl3fBpQrfmgptN9p3ewb7Slr_bg,3587
145
+ flet/controls/cupertino/cupertino_sliding_segmented_button.py,sha256=9PGsdIzbuOHzywuOgQPhIc_Pq9VxtOucXgSaWPnvUes,3314
146
+ flet/controls/cupertino/cupertino_switch.py,sha256=nRqYfP65Jaieg0lm3JhXoz73Mdael2W6MBUZmf5829M,4259
147
+ flet/controls/cupertino/cupertino_textfield.py,sha256=Iu_6ZQCBj34iAFtmboZb909fD75B8VpFm7J02-Xb6XE,3207
148
148
  flet/controls/cupertino/cupertino_timer_picker.py,sha256=BNS2W8hUfiozKpiUZueo1h4_6YhxAd5zknR3WAGbs54,4438
149
- flet/controls/cupertino/cupertino_tinted_button.py,sha256=rU1bW9qfu2GGkma3zlTTMZOhBlqBtj4bYxqJMrwJBF8,313
149
+ flet/controls/cupertino/cupertino_tinted_button.py,sha256=SmLukUZWYU_c2roz81a1hY7x6KLYr3RaP2TKyLxVIXM,375
150
150
  flet/controls/material/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
151
151
  flet/controls/material/alert_dialog.py,sha256=xM1UAjl0S52kB78KSEKH5jxwncazVzxx4Hct8TI3eAU,7606
152
152
  flet/controls/material/app_bar.py,sha256=UkrJZ523SinUmJ8FgBRq9XoIBA2UYwpa0OnT7gfwXzk,6418
@@ -156,27 +156,27 @@ flet/controls/material/banner.py,sha256=x4oNVNVQmS0V4xnT6UDe_X_sAEno292A1qRnohvt
156
156
  flet/controls/material/bottom_app_bar.py,sha256=Rrx4LhiFxKkTAhyblvcuNenLuxNxc93tmlUULgKeVqo,2083
157
157
  flet/controls/material/bottom_sheet.py,sha256=fQE725QwN0mxknh_CdkWIAPC5DHV1tzW_mCT-CzX9ZY,2791
158
158
  flet/controls/material/button.py,sha256=8_CLLvjPO9ZXsaGkJhO1a3cVbG2Abe-40cEQcT9BPpY,4189
159
- flet/controls/material/card.py,sha256=95ONA-QHR7By54X5Q4SWvdRIHJVJ_0schDybZcR_rW8,2505
160
- flet/controls/material/checkbox.py,sha256=4F2OcbvBJ4BJXVD2F-U7YdI17elmwgMe3NhWIsFgA7o,5716
161
- flet/controls/material/chip.py,sha256=jsLEmJ3opE_p8w3QpDNiPQOg1sBRMyOamh8gYm0JnzY,7852
162
- flet/controls/material/circle_avatar.py,sha256=KsCRShfEctoTJnvShDKjxdkZXwlXcdeALy48BTzjHGM,4183
159
+ flet/controls/material/card.py,sha256=kR87buDfX_mSTOlj4HRicq2hDfIRPyigIdLlxa5Q7Fw,2872
160
+ flet/controls/material/checkbox.py,sha256=FUa77no8mpDI7p7wIQebiyu7ul69aMMDkychkoTxo2I,5851
161
+ flet/controls/material/chip.py,sha256=ksFGi9S32nPkOCEWbuYWOA-kx5UuabO6T2KaW_dwGA4,7978
162
+ flet/controls/material/circle_avatar.py,sha256=_TY50hrMJoN70X35yEznfRzSFrfdQY3J6JIWM98T7ws,4335
163
163
  flet/controls/material/container.py,sha256=quw_KEu7N5tbEFK7EuX39OQ4Idd0i4qa4Nu6HIeS440,6875
164
- flet/controls/material/datatable.py,sha256=nk-ucUXkqDcVh_Hh9b9J6uRmRDS3iylbqfvmBZXiDFA,17782
164
+ flet/controls/material/datatable.py,sha256=Rx937BudxdgModJeXImX9uXtrQAuVCiXujVmRKgkLnc,18354
165
165
  flet/controls/material/date_picker.py,sha256=JCuU3-BcwFkb8KHQdcRQm0Scfdur7FGiMXElUX4WSxU,5336
166
166
  flet/controls/material/date_range_picker.py,sha256=7KJKE78bQYLJRdsTKgNu9JZbmyu3xh8xQUbrgwN5HwY,5350
167
- flet/controls/material/divider.py,sha256=jVtVd9Jlrt6wIGMBlltCaUFtE-DET4VWGqL0mi6oagU,2947
168
- flet/controls/material/dropdown.py,sha256=m_Ui9rmiQuta4PcvLbmh-nyI2EnGtwBb3UhNLK5uz4U,9863
169
- flet/controls/material/dropdownm2.py,sha256=JGie5s9jReAbhGWQkkoBMY1S8iBgdEvqqhhL7JMIoJg,5452
167
+ flet/controls/material/divider.py,sha256=Y7T5FYz8X0xHb137QiNMXNRwXRFEWsxLHa8P0DD0k3U,3182
168
+ flet/controls/material/dropdown.py,sha256=OqisJ0GxPTtHfOEvPTPtF_nCKpNfKNhx3YRegTFYzbA,10094
169
+ flet/controls/material/dropdownm2.py,sha256=WBg4EEtCDuKRiZGXbrBTudPR0SrF2ApVQR0r0IhwIdA,5689
170
170
  flet/controls/material/elevated_button.py,sha256=AjrLkxn1ViwGE7ms8aNlNTgaR1-qIFhN8aU254Hx9Vc,274
171
- flet/controls/material/expansion_panel.py,sha256=nk7pforJciuaz5i2Sqmlmk7xksqR2ah425wzIseO-rM,3406
172
- flet/controls/material/expansion_tile.py,sha256=N9HZP-xlFxC6j-2hmccr6GQHgzbPYaD5h_jKkuah3vQ,5435
173
- flet/controls/material/filled_button.py,sha256=yG-JqPNMUvdkTny-oULS7IUicL2Wnw4ngeKUuDfHgC8,391
174
- flet/controls/material/filled_tonal_button.py,sha256=SoNneqj0O-RiCm895s-mpXbQAigsrlrplFTSii0DdHs,508
175
- flet/controls/material/floating_action_button.py,sha256=wAiEEsp28f2SYXzu9glyzZPdgh_9WvUyKRDvmXxq8ls,5953
171
+ flet/controls/material/expansion_panel.py,sha256=8h7WwE8TtKcWmbBwlwWJLtjNz3LKz4T7HthnsIApWp0,4287
172
+ flet/controls/material/expansion_tile.py,sha256=sEAXoc7-FkjFUEIgM5pK3LVKIpjsTxI2BSedKvC9GSU,5744
173
+ flet/controls/material/filled_button.py,sha256=ZtCy47Yrv2B1RyDk1pszVKiUj-YtMcLI7koTf5Bz0Mo,452
174
+ flet/controls/material/filled_tonal_button.py,sha256=t9zXaMvakzmHUWtPfJK1ORAd8P3O5XCPi098PYAiOCU,574
175
+ flet/controls/material/floating_action_button.py,sha256=1i9__kC4Y0uuha2lnWInYszUXLQW05_PmgiAwPUOpAk,6023
176
176
  flet/controls/material/form_field_control.py,sha256=khfIY-7S4Auk0-slhHV1Q1znM2XuRfAtMjjSz9MLN9Y,8491
177
- flet/controls/material/icon_button.py,sha256=R_dyyz69b8OQcSstPXq9KbGjSVc7CCOv9rIYvdFoxWo,7552
177
+ flet/controls/material/icon_button.py,sha256=ZmOmOtk7fv1B2gWOvf0yTvwxxRdI7UDl5YsNLsEzLNA,7788
178
178
  flet/controls/material/icons.py,sha256=dsBk2nwUW3SQjwpzPv8G53ILP_zCg7tJocylHQLC-RU,287261
179
- flet/controls/material/list_tile.py,sha256=LysJ_L9rshEBRY5Yeptt5HJjgILqmvnYrBtc1wyBZMA,7785
179
+ flet/controls/material/list_tile.py,sha256=RIBO8ibubZjnGyWV4iTw7FOhMVNJM6jImoUYumAvjfw,8061
180
180
  flet/controls/material/menu_bar.py,sha256=P0bn4HDtNgrfe0GzWbEH4A-oiGA-n4dFoeyvUle3HeY,2168
181
181
  flet/controls/material/menu_item_button.py,sha256=ICiTw3FMCTL7maI04KggHOcuxEOEHLPxAU08D_XVVxY,2523
182
182
  flet/controls/material/navigation_bar.py,sha256=HzSiMT6P6bgkxz-d1iWxRNACMuOqnPKi2qbLBmp7BCg,4998
@@ -199,7 +199,7 @@ flet/controls/material/submenu_button.py,sha256=4iQvOPTNRjNwXx3in8FWqBFKW6Mt22aw
199
199
  flet/controls/material/switch.py,sha256=EaeAF1qDQfzmHz_uLzQTurc5vKUXXYuCSmoKdXjmQCg,6892
200
200
  flet/controls/material/tabs.py,sha256=C7SHqCuQPhQA5zFr5hNbuoQ46FFTzK8E7ECcJcuyvPo,18682
201
201
  flet/controls/material/text_button.py,sha256=Mkvz4LIl0yH1-e0ekOjPD6z8CZ5ZUIyE00zcb7sLKns,2578
202
- flet/controls/material/textfield.py,sha256=NeqrP7tnoAMggJQHq0aAzkHOkhLRNQ-3mucVOpiABjc,11740
202
+ flet/controls/material/textfield.py,sha256=_JrdBKfVwwSeROm3Yh-0u2TsuovYcW7P8nQevIP7g2I,11816
203
203
  flet/controls/material/time_picker.py,sha256=_gUTaQi4N-mo1Oj_yJEsti8ToM0WhwhofbCjP5v2gzA,3070
204
204
  flet/controls/material/tooltip.py,sha256=PTqJiiE95z4WCTlvCx7i3vA-gGwphUT7w_2oXMiiVtY,5636
205
205
  flet/controls/material/vertical_divider.py,sha256=kOqmL4XoL6tfRHoXA3oJurvIaixwn54Qf6ATC0-CT48,2752
@@ -227,7 +227,7 @@ flet/pubsub/pubsub_hub.py,sha256=1loRKhFYq23E89EYPaK4RMCbFdOW2qVeTQk8JqnbNp8,651
227
227
  flet/security/__init__.py,sha256=LcBftVee6pXMB2MiDsc0PPUXnTlR2CT53VAPiPadaHI,2189
228
228
  flet/testing/__init__.py,sha256=Yb9e6h11b2hV7O3TuqsJ7zwFAgNcbB7tY7Gp2ssxtN4,176
229
229
  flet/testing/finder.py,sha256=G9iW6VBAOGGdOF4i2_Ax26Lrl9ujiJaqk57ESHgP018,347
230
- flet/testing/flet_test_app.py,sha256=485xRDdptn5lMDq3HWSF4RH24dc4bCjh9G4FGk07VbM,13891
230
+ flet/testing/flet_test_app.py,sha256=DNgSp1lRzJ5Wess7WdPrjScMB3RPx9jSeT9cTeiNBnM,14037
231
231
  flet/testing/tester.py,sha256=_DSRFQQoGISve5JR2nq3AdSbUf18E6FfG3ytRD5tAfo,4946
232
232
  flet/utils/__init__.py,sha256=LVgyCBf1VNqGXkdtf1JCP20Rx2oaPITF4nAGw2zquVI,1739
233
233
  flet/utils/browser.py,sha256=Z2PomJjClBXRRiPvGP7WRzbguvXQ8W2HQAzd_A5cmvE,157
@@ -246,8 +246,8 @@ flet/utils/platform_utils.py,sha256=U4cqV3EPi5QNYjbhfZmtk41-KMtI_P7KvVdnZzMOgJA,
246
246
  flet/utils/slugify.py,sha256=e-lsoDc2_dk5jQnySaHCU83AA4O6mguEgCEdk2smW2Y,466
247
247
  flet/utils/strings.py,sha256=R63_i7PdSAStCDPJ-O_WHBt3H02JQ14GSbnjLIpPTUc,178
248
248
  flet/utils/vector.py,sha256=pYZzjldBWCZbSeSkZ8VmujwcZC7VBWk1NLBPA-2th3U,3207
249
- flet-0.70.0.dev6232.dist-info/METADATA,sha256=fkSTMuAZOUJc6b2WH4PJN8D03qKu4K8rlOLlxVJi8v8,6051
250
- flet-0.70.0.dev6232.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
251
- flet-0.70.0.dev6232.dist-info/entry_points.txt,sha256=mbBhHNUnLHiDqR36WeJrfLJU0Y0y087-M4wagQmaQ_Y,39
252
- flet-0.70.0.dev6232.dist-info/top_level.txt,sha256=HbLrSnWJX2jZOEZAI14cGzW8Q5BbOGTtE-7knD5FDh0,5
253
- flet-0.70.0.dev6232.dist-info/RECORD,,
249
+ flet-0.70.0.dev6281.dist-info/METADATA,sha256=ei0TtlZtEY6ggEKqzAqAnpW5lT02FieKjJtPaD1hOBc,6051
250
+ flet-0.70.0.dev6281.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
251
+ flet-0.70.0.dev6281.dist-info/entry_points.txt,sha256=mbBhHNUnLHiDqR36WeJrfLJU0Y0y087-M4wagQmaQ_Y,39
252
+ flet-0.70.0.dev6281.dist-info/top_level.txt,sha256=HbLrSnWJX2jZOEZAI14cGzW8Q5BbOGTtE-7knD5FDh0,5
253
+ flet-0.70.0.dev6281.dist-info/RECORD,,