flet 0.70.0.dev5623__py3-none-any.whl → 0.70.0.dev5774__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 (125) hide show
  1. flet/__init__.py +2 -0
  2. flet/controls/adaptive_control.py +16 -13
  3. flet/controls/base_page.py +5 -5
  4. flet/controls/border.py +4 -3
  5. flet/controls/box.py +6 -11
  6. flet/controls/buttons.py +7 -7
  7. flet/controls/context.py +2 -2
  8. flet/controls/control.py +18 -11
  9. flet/controls/core/animated_switcher.py +9 -13
  10. flet/controls/core/canvas/canvas.py +1 -1
  11. flet/controls/core/canvas/line.py +2 -3
  12. flet/controls/core/canvas/oval.py +1 -1
  13. flet/controls/core/canvas/shape.py +10 -10
  14. flet/controls/core/canvas/text.py +1 -1
  15. flet/controls/core/column.py +5 -5
  16. flet/controls/core/dismissible.py +8 -8
  17. flet/controls/core/drag_target.py +5 -4
  18. flet/controls/core/draggable.py +19 -14
  19. flet/controls/core/grid_view.py +2 -2
  20. flet/controls/core/image.py +1 -1
  21. flet/controls/core/interactive_viewer.py +2 -2
  22. flet/controls/core/list_view.py +7 -7
  23. flet/controls/core/markdown.py +1 -1
  24. flet/controls/core/pagelet.py +10 -10
  25. flet/controls/core/reorderable_draggable.py +1 -1
  26. flet/controls/core/responsive_row.py +7 -7
  27. flet/controls/core/row.py +8 -8
  28. flet/controls/core/semantics.py +9 -6
  29. flet/controls/core/shader_mask.py +3 -3
  30. flet/controls/core/stack.py +4 -4
  31. flet/controls/core/text.py +7 -7
  32. flet/controls/core/text_span.py +4 -4
  33. flet/controls/core/transparent_pointer.py +3 -3
  34. flet/controls/core/view.py +16 -16
  35. flet/controls/core/window.py +1 -1
  36. flet/controls/core/window_drag_area.py +1 -1
  37. flet/controls/cupertino/cupertino_action_sheet.py +19 -8
  38. flet/controls/cupertino/cupertino_activity_indicator.py +5 -6
  39. flet/controls/cupertino/cupertino_alert_dialog.py +7 -10
  40. flet/controls/cupertino/cupertino_app_bar.py +34 -34
  41. flet/controls/cupertino/cupertino_bottom_sheet.py +5 -5
  42. flet/controls/cupertino/cupertino_button.py +4 -4
  43. flet/controls/cupertino/cupertino_checkbox.py +33 -40
  44. flet/controls/cupertino/cupertino_context_menu.py +7 -6
  45. flet/controls/cupertino/cupertino_context_menu_action.py +2 -4
  46. flet/controls/cupertino/cupertino_date_picker.py +35 -37
  47. flet/controls/cupertino/cupertino_dialog_action.py +12 -9
  48. flet/controls/cupertino/cupertino_list_tile.py +24 -36
  49. flet/controls/cupertino/cupertino_navigation_bar.py +10 -11
  50. flet/controls/cupertino/cupertino_picker.py +11 -10
  51. flet/controls/cupertino/cupertino_radio.py +10 -13
  52. flet/controls/cupertino/cupertino_segmented_button.py +9 -12
  53. flet/controls/cupertino/cupertino_slider.py +6 -9
  54. flet/controls/cupertino/cupertino_sliding_segmented_button.py +14 -17
  55. flet/controls/cupertino/cupertino_switch.py +30 -41
  56. flet/controls/cupertino/cupertino_textfield.py +14 -18
  57. flet/controls/cupertino/cupertino_timer_picker.py +11 -8
  58. flet/controls/exceptions.py +5 -5
  59. flet/controls/icon_data.py +2 -2
  60. flet/controls/keys.py +2 -1
  61. flet/controls/layout_control.py +22 -27
  62. flet/controls/material/alert_dialog.py +44 -50
  63. flet/controls/material/app_bar.py +41 -45
  64. flet/controls/material/auto_complete.py +10 -8
  65. flet/controls/material/badge.py +32 -28
  66. flet/controls/material/banner.py +14 -14
  67. flet/controls/material/bottom_app_bar.py +7 -9
  68. flet/controls/material/bottom_sheet.py +10 -10
  69. flet/controls/material/button.py +2 -24
  70. flet/controls/material/card.py +10 -11
  71. flet/controls/material/checkbox.py +41 -49
  72. flet/controls/material/chip.py +44 -47
  73. flet/controls/material/circle_avatar.py +19 -22
  74. flet/controls/material/container.py +16 -123
  75. flet/controls/material/datatable.py +71 -95
  76. flet/controls/material/date_picker.py +13 -14
  77. flet/controls/material/date_range_picker.py +183 -0
  78. flet/controls/material/divider.py +24 -23
  79. flet/controls/material/dropdown.py +13 -13
  80. flet/controls/material/expansion_tile.py +5 -6
  81. flet/controls/material/filled_button.py +1 -1
  82. flet/controls/material/floating_action_button.py +2 -2
  83. flet/controls/material/form_field_control.py +64 -56
  84. flet/controls/material/icon_button.py +29 -65
  85. flet/controls/material/list_tile.py +25 -23
  86. flet/controls/material/menu_item_button.py +2 -2
  87. flet/controls/material/navigation_bar.py +3 -3
  88. flet/controls/material/navigation_rail.py +11 -11
  89. flet/controls/material/outlined_button.py +1 -1
  90. flet/controls/material/popup_menu_button.py +3 -3
  91. flet/controls/material/progress_bar.py +15 -22
  92. flet/controls/material/progress_ring.py +8 -8
  93. flet/controls/material/radio.py +3 -8
  94. flet/controls/material/range_slider.py +1 -1
  95. flet/controls/material/search_bar.py +15 -16
  96. flet/controls/material/segmented_button.py +4 -4
  97. flet/controls/material/selection_area.py +4 -3
  98. flet/controls/material/slider.py +16 -16
  99. flet/controls/material/snack_bar.py +33 -32
  100. flet/controls/material/submenu_button.py +9 -9
  101. flet/controls/material/switch.py +13 -13
  102. flet/controls/material/tabs.py +77 -78
  103. flet/controls/material/text_button.py +2 -2
  104. flet/controls/material/textfield.py +4 -6
  105. flet/controls/material/tooltip.py +16 -15
  106. flet/controls/material/vertical_divider.py +10 -10
  107. flet/controls/page.py +4 -4
  108. flet/controls/painting.py +2 -2
  109. flet/controls/scrollable_control.py +1 -1
  110. flet/controls/services/file_picker.py +7 -7
  111. flet/controls/services/haptic_feedback.py +1 -1
  112. flet/controls/services/shake_detector.py +1 -1
  113. flet/controls/services/storage_paths.py +3 -3
  114. flet/controls/text_style.py +1 -1
  115. flet/controls/theme.py +611 -609
  116. flet/controls/types.py +11 -11
  117. flet/testing/finder.py +2 -0
  118. flet/testing/flet_test_app.py +6 -4
  119. flet/version.py +1 -1
  120. {flet-0.70.0.dev5623.dist-info → flet-0.70.0.dev5774.dist-info}/METADATA +5 -5
  121. flet-0.70.0.dev5774.dist-info/RECORD +239 -0
  122. flet-0.70.0.dev5623.dist-info/RECORD +0 -238
  123. {flet-0.70.0.dev5623.dist-info → flet-0.70.0.dev5774.dist-info}/WHEEL +0 -0
  124. {flet-0.70.0.dev5623.dist-info → flet-0.70.0.dev5774.dist-info}/entry_points.txt +0 -0
  125. {flet-0.70.0.dev5623.dist-info → flet-0.70.0.dev5774.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,183 @@
1
+ from dataclasses import field
2
+ from datetime import datetime
3
+ from typing import Optional
4
+
5
+ from flet.controls.base_control import control
6
+ from flet.controls.control_event import (
7
+ ControlEventHandler,
8
+ )
9
+ from flet.controls.dialog_control import DialogControl
10
+ from flet.controls.duration import DateTimeValue
11
+ from flet.controls.material.date_picker import DatePickerEntryMode
12
+ from flet.controls.material.textfield import KeyboardType
13
+ from flet.controls.types import (
14
+ ColorValue,
15
+ IconData,
16
+ )
17
+
18
+ __all__ = [
19
+ "DateRangePicker",
20
+ ]
21
+
22
+
23
+ @control("DateRangePicker")
24
+ class DateRangePicker(DialogControl):
25
+ """
26
+ A Material-style date range picker dialog.
27
+
28
+ It can be opened by calling [`Page.show_dialog()`][flet.Page.show_dialog] method.
29
+
30
+ Depending on the [`date_picker_entry_mode`][(c).], it will show either a Calendar
31
+ or an Input (TextField) for picking a date range.
32
+ """
33
+
34
+ start_value: Optional[DateTimeValue] = None
35
+ """
36
+ The selected start date that the picker should display.
37
+
38
+ Defaults to [`current_date`][(c).].
39
+ """
40
+
41
+ end_value: Optional[DateTimeValue] = None
42
+ """
43
+ The selected end date that the picker should display.
44
+
45
+ Defaults to [`current_date`][(c).].
46
+ """
47
+
48
+ save_text: Optional[str] = None
49
+ """
50
+ The label on the save button for the fullscreen calendar mode.
51
+ """
52
+
53
+ error_invalid_range_text: Optional[str] = None
54
+ """
55
+ The message used when the date range is invalid (e.g. start date is after end date).
56
+ """
57
+
58
+ modal: bool = False
59
+ """
60
+ Whether this date picker cannot be dismissed by clicking the area outside of it.
61
+ """
62
+
63
+ first_date: DateTimeValue = field(
64
+ default_factory=lambda: datetime(year=1900, month=1, day=1)
65
+ )
66
+ """
67
+ The earliest allowable date on the date range. Defaults to `January 1, 1900`.
68
+ """
69
+
70
+ last_date: DateTimeValue = field(
71
+ default_factory=lambda: datetime(year=2050, month=1, day=1)
72
+ )
73
+ """
74
+ The latest allowable date on the date range. Defaults to `January 1, 2050`.
75
+ """
76
+
77
+ current_date: DateTimeValue = field(default_factory=lambda: datetime.now())
78
+ """
79
+ The date representing today. It will be highlighted in the day grid.
80
+ """
81
+
82
+ keyboard_type: KeyboardType = KeyboardType.DATETIME
83
+ """
84
+ The type of keyboard to use for editing the text.
85
+ """
86
+
87
+ date_picker_entry_mode: DatePickerEntryMode = DatePickerEntryMode.CALENDAR
88
+ """
89
+ The initial mode of date entry method for the date picker dialog.
90
+ """
91
+
92
+ help_text: Optional[str] = None
93
+ """
94
+ The text that is displayed at the top of the header.
95
+
96
+ This is used to indicate to the user what they are selecting a date for.
97
+ """
98
+
99
+ cancel_text: Optional[str] = None
100
+ """
101
+ The text that is displayed on the cancel button.
102
+ """
103
+
104
+ confirm_text: Optional[str] = None
105
+ """
106
+ The text that is displayed on the confirm button.
107
+ """
108
+
109
+ error_format_text: Optional[str] = None
110
+ """
111
+ The error message displayed below the TextField if the entered date is not in the
112
+ correct format.
113
+ """
114
+
115
+ error_invalid_text: Optional[str] = None
116
+ """
117
+ The error message displayed below the TextField if the date is earlier than
118
+ [`first_date`][(c).] or
119
+ later than [`last_date`][(c).].
120
+ """
121
+
122
+ field_start_hint_text: Optional[str] = None
123
+ """
124
+ The text used to prompt the user when no text has been entered in the start field.
125
+ """
126
+
127
+ field_end_hint_text: Optional[str] = None
128
+ """
129
+ The text used to prompt the user when no text has been entered in the end field.
130
+ """
131
+
132
+ field_start_label_text: Optional[str] = None
133
+ """
134
+ The label for the start date text input field.
135
+ """
136
+
137
+ field_end_label_text: Optional[str] = None
138
+ """
139
+ The label for the end date text input field.
140
+ """
141
+
142
+ switch_to_calendar_icon: Optional[IconData] = None
143
+ """
144
+ The name of the icon displayed in the corner of the dialog when
145
+ [`date_picker_entry_mode`][(c).]
146
+ is [`DatePickerEntryMode.INPUT`][flet.DatePickerEntryMode.INPUT].
147
+
148
+ Clicking on this icon changes the `date_picker_entry_mode` to
149
+ [`DatePickerEntryMode.CALENDAR`][flet.DatePickerEntryMode.CALENDAR].
150
+
151
+ If `None`, [`Icons.CALENDAR_TODAY`][flet.Icons.CALENDAR_TODAY] is used.
152
+ """
153
+
154
+ switch_to_input_icon: Optional[IconData] = None
155
+ """
156
+ The name of the icon displayed in the corner of the dialog when
157
+ [`date_picker_entry_mode`][(c).]
158
+ is [`DatePickerEntryMode.CALENDAR`][flet.DatePickerEntryMode.CALENDAR].
159
+
160
+ Clicking on this icon changes the `date_picker_entry_mode` to
161
+ [`DatePickerEntryMode.INPUT`][flet.DatePickerEntryMode.INPUT].
162
+
163
+ If `None`, [`Icons.EDIT_OUTLINED`][flet.Icons.EDIT_OUTLINED] is used.
164
+ """
165
+
166
+ barrier_color: Optional[ColorValue] = None
167
+ """
168
+ The color of the modal barrier that
169
+ darkens everything below the date picker.
170
+
171
+ If `None`, the [`DialogTheme.barrier_color`][flet.DialogTheme.barrier_color]
172
+ is used.
173
+ If it is also `None`, then `Colors.BLACK_54` is used.
174
+ """
175
+
176
+ on_change: Optional[ControlEventHandler["DateRangePicker"]] = None
177
+ """
178
+ Called when user clicks confirm button.
179
+ [`start_value`][(c).] and
180
+ [`end_value`][(c).] are updated with selected dates.
181
+
182
+ The `data` property of the event handler argument contains the selected dates.
183
+ """
@@ -17,8 +17,7 @@ class Divider(Control):
17
17
  """
18
18
  The color to use when painting the line.
19
19
 
20
- If `None`, [`DividerTheme.color`][flet.DividerTheme.color] is used.
21
- If that's is also `None`, defaults to [`Theme.divider_color`][flet.Theme.divider_color].
20
+ If `None`, [`DividerTheme.color`][flet.] is used.
22
21
  """
23
22
 
24
23
  height: Optional[Number] = None
@@ -26,7 +25,7 @@ class Divider(Control):
26
25
  The divider's height extent. The divider itself is always drawn as a horizontal
27
26
  line that is centered within the height specified by this value.
28
27
 
29
- If `None`, [`DividerTheme.space`][flet.DividerTheme.space] is used.
28
+ If `None`, [`DividerTheme.space`][flet.] is used.
30
29
  If that's is also `None`, defaults to `16.0`.
31
30
  """
32
31
 
@@ -34,40 +33,42 @@ class Divider(Control):
34
33
  """
35
34
  The amount of empty space to the leading edge of the divider.
36
35
 
37
- If `None`, [`DividerTheme.leading_indent`][flet.DividerTheme.leading_indent] is used.
36
+ If `None`, [`DividerTheme.leading_indent`][flet.] is used.
38
37
  If that's is also `None`, defaults to `0.0`.
39
38
  """
40
39
 
41
40
  thickness: Optional[Number] = None
42
41
  """
43
- The thickness of the line drawn within the divider.
44
-
45
- A divider with a thickness of `0.0` is always drawn as a line with a
42
+ The thickness of the line drawn within the divider.
43
+
44
+ A divider with a thickness of `0.0` is always drawn as a line with a
46
45
  height of exactly one device pixel.
47
46
 
48
- If `None`, [`DividerTheme.thickness`][flet.DividerTheme.thickness] is used.
49
- If that's is also `None`, defaults to `0.0`.
47
+ If `None`, [`DividerTheme.thickness`][flet.] is used.
48
+ If that is also `None`, defaults to `0.0`.
50
49
  """
51
50
 
52
51
  trailing_indent: Optional[Number] = None
53
52
  """
54
53
  The amount of empty space to the trailing edge of the divider.
55
54
 
56
- If `None`, [`DividerTheme.trailing_indent`][flet.DividerTheme.trailing_indent] is used.
57
- If that's is also `None`, defaults to `0.0`.
55
+ If `None`, [`DividerTheme.trailing_indent`][flet.] is used.
56
+ If that is also `None`, defaults to `0.0`.
58
57
  """
59
58
 
60
59
  def before_update(self):
61
60
  super().before_update()
62
- assert (
63
- self.height is None or self.height >= 0
64
- ), f"height must be greater than or equal to 0, got {self.height}"
65
- assert (
66
- self.thickness is None or self.thickness >= 0
67
- ), f"thickness must be greater than or equal to 0, got {self.thickness}"
68
- assert (
69
- self.leading_indent is None or self.leading_indent >= 0
70
- ), f"leading_indent must be greater than or equal to 0, got {self.leading_indent}"
71
- assert (
72
- self.trailing_indent is None or self.trailing_indent >= 0
73
- ), f"trailing_indent must be greater than or equal to 0, got {self.trailing_indent}"
61
+ assert self.height is None or self.height >= 0, (
62
+ f"height must be greater than or equal to 0, got {self.height}"
63
+ )
64
+ assert self.thickness is None or self.thickness >= 0, (
65
+ f"thickness must be greater than or equal to 0, got {self.thickness}"
66
+ )
67
+ assert self.leading_indent is None or self.leading_indent >= 0, (
68
+ "leading_indent must be greater than or equal to 0, "
69
+ f"got {self.leading_indent}"
70
+ )
71
+ assert self.trailing_indent is None or self.trailing_indent >= 0, (
72
+ "trailing_indent must be greater than or equal to 0, "
73
+ f"got {self.trailing_indent}"
74
+ )
@@ -34,7 +34,7 @@ class DropdownOption(Control):
34
34
 
35
35
  key: Optional[str] = None
36
36
  """
37
- Option's key. If not specified [`text`][flet.DropdownOption.text] will
37
+ Option's key. If not specified [`text`][(c).] will
38
38
  be used as fallback.
39
39
  """
40
40
 
@@ -83,7 +83,7 @@ class Dropdown(LayoutControl):
83
83
 
84
84
  value: Optional[str] = None
85
85
  """
86
- [`key`][flet.DropdownOption.key] value of the selected option.
86
+ [`key`][(c).] value of the selected option.
87
87
  """
88
88
 
89
89
  options: list[DropdownOption] = field(default_factory=list)
@@ -110,7 +110,7 @@ class Dropdown(LayoutControl):
110
110
 
111
111
  elevation: Optional[ControlStateValue[Optional[Number]]] = 8
112
112
  """
113
- The dropdown's menu elevation in various [`ControlState`][flet.ControlState]
113
+ The dropdown's menu elevation in various [`ControlState`][flet.]
114
114
  states.
115
115
  """
116
116
 
@@ -198,7 +198,7 @@ class Dropdown(LayoutControl):
198
198
  bgcolor: Optional[ControlStateValue[ColorValue]] = None
199
199
  """
200
200
  The background color of the dropdown menu
201
- in various [`ControlState`][flet.ControlState]
201
+ in various [`ControlState`][flet.]
202
202
  states.
203
203
  """
204
204
 
@@ -226,8 +226,8 @@ class Dropdown(LayoutControl):
226
226
 
227
227
  error_style: Optional[TextStyle] = None
228
228
  """
229
- The [`TextStyle`][flet.TextStyle] to use for
230
- [`error_text`][flet.Dropdown.error_text].
229
+ The [`TextStyle`][flet.] to use for
230
+ [`error_text`][(c).].
231
231
  """
232
232
 
233
233
  error_text: Optional[str] = None
@@ -244,7 +244,7 @@ class Dropdown(LayoutControl):
244
244
 
245
245
  text_style: Optional[TextStyle] = None
246
246
  """
247
- The [`TextStyle`][flet.TextStyle] to use for text
247
+ The [`TextStyle`][flet.] to use for text
248
248
  in input text field.
249
249
  """
250
250
 
@@ -261,7 +261,7 @@ class Dropdown(LayoutControl):
261
261
 
262
262
  label_style: Optional[TextStyle] = None
263
263
  """
264
- The [`label`][flet.Dropdown.label]'s text style.
264
+ The [`label`][(c).]'s text style.
265
265
  """
266
266
 
267
267
  border: Optional[InputBorder] = None
@@ -317,7 +317,7 @@ class Dropdown(LayoutControl):
317
317
  filled: bool = False
318
318
  """
319
319
  Whether the decoration's container is filled with theme
320
- [`fill_color`][flet.Dropdown.fill_color].
320
+ [`fill_color`][(c).].
321
321
  """
322
322
 
323
323
  fill_color: Optional[ColorValue] = None
@@ -345,8 +345,8 @@ class Dropdown(LayoutControl):
345
345
 
346
346
  hint_style: Optional[TextStyle] = None
347
347
  """
348
- The [`TextStyle`][flet.TextStyle] to use for
349
- [`hint_text`][flet.Dropdown.hint_text].
348
+ The [`TextStyle`][flet.] to use for
349
+ [`hint_text`][(c).].
350
350
  """
351
351
 
352
352
  helper_text: Optional[str] = None
@@ -361,8 +361,8 @@ class Dropdown(LayoutControl):
361
361
 
362
362
  helper_style: Optional[TextStyle] = None
363
363
  """
364
- The [`TextStyle`][flet.TextStyle] to use for
365
- [`helper_text`][flet.Dropdown.helper_text].
364
+ The [`TextStyle`][flet.] to use for
365
+ [`helper_text`][(c).].
366
366
  """
367
367
 
368
368
  def __contains__(self, item):
@@ -39,21 +39,21 @@ class ExpansionTile(LayoutControl, AdaptiveControl):
39
39
  """
40
40
  A `Control` to display as primary content of the tile.
41
41
 
42
- Typically a [`Text`][flet.Text] control.
42
+ Typically a [`Text`][flet.] control.
43
43
  """
44
44
 
45
45
  controls: Optional[list[Control]] = None
46
46
  """
47
47
  The controls to be displayed when the tile expands.
48
48
 
49
- Typically a list of [`ListTile`][flet.ListTile] controls.
49
+ Typically a list of [`ListTile`][flet.] controls.
50
50
  """
51
51
 
52
52
  subtitle: Optional[StrOrControl] = None
53
53
  """
54
54
  Additional content displayed below the title.
55
55
 
56
- Typically a [`Text`][flet.Text] control.
56
+ Typically a [`Text`][flet.] control.
57
57
  """
58
58
 
59
59
  leading: Optional[IconDataOrControl] = None
@@ -65,7 +65,7 @@ class ExpansionTile(LayoutControl, AdaptiveControl):
65
65
  """
66
66
  A `Control` to display after the title.
67
67
 
68
- Typically an [`Icon`][flet.Icon] control.
68
+ Typically an [`Icon`][flet.] control.
69
69
  """
70
70
 
71
71
  controls_padding: Optional[PaddingValue] = None
@@ -163,8 +163,7 @@ class ExpansionTile(LayoutControl, AdaptiveControl):
163
163
 
164
164
  collapsed_shape: Optional[OutlinedBorder] = None
165
165
  """
166
- The tile's border shape when the sublist is collapsed. The value is an instance
167
- of [`OutlinedBorder`][flet.OutlinedBorder]
166
+ The tile's border shape when the sublist is collapsed.
168
167
  """
169
168
 
170
169
  dense: Optional[bool] = None
@@ -6,7 +6,7 @@ from flet.controls.material.button import Button
6
6
  class FilledButton(Button):
7
7
  """
8
8
  Filled buttons have the most visual impact after the
9
- [`FloatingActionButton`][flet.FloatingActionButton], and is typically used for
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
12
  """
@@ -85,7 +85,7 @@ class FloatingActionButton(LayoutControl):
85
85
 
86
86
  clip_behavior: ClipBehavior = ClipBehavior.NONE
87
87
  """
88
- Defines how the [`content`][flet.FloatingActionButton.content] is clipped.
88
+ Defines how the [`content`][(c).] is clipped.
89
89
  """
90
90
 
91
91
  elevation: Optional[Number] = None
@@ -144,7 +144,7 @@ class FloatingActionButton(LayoutControl):
144
144
  """
145
145
  The URL to open when this button is clicked.
146
146
 
147
- Additionally, if [`on_click`][flet.FloatingActionButton.on_click] event callback
147
+ Additionally, if [`on_click`][(c).] event callback
148
148
  is provided, it is fired after that.
149
149
  """
150
150