Skip to content

Commit e1c86b6

Browse files
authored
Merge pull request #135 from Zverik/material_widgets
MaterialButton, Autocomplete, and related widgets
2 parents e3b802d + 368b5bd commit e1c86b6

15 files changed

Lines changed: 2963 additions & 27 deletions

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
## 0.8.2
22
- Support for Flutter 3.38
33
- Added `Color` methods, `SafeArea` widget, and `showBottomSheet` function.
4+
- Added `MaterialButton`, `Autocomplete`, and related classes.
45
- Exported multiple wrappers (thanks @Zverik)
56
- Fix typo in example code (thanks @chan150)
67

lib/flutter_eval.dart

Lines changed: 57 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,11 @@ import 'package:flutter_eval/src/gestures/velocity_tracker.dart';
2222
import 'package:flutter_eval/src/material.dart';
2323
import 'package:flutter_eval/src/material/app.dart';
2424
import 'package:flutter_eval/src/material/app_bar.dart';
25+
import 'package:flutter_eval/src/material/autocomplete.dart';
2526
import 'package:flutter_eval/src/material/bottom_sheet.dart';
2627
import 'package:flutter_eval/src/material/button_style.dart';
2728
import 'package:flutter_eval/src/material/button_style_button.dart';
29+
import 'package:flutter_eval/src/material/button_theme.dart';
2830
import 'package:flutter_eval/src/material/card.dart';
2931
import 'package:flutter_eval/src/material/colors.dart';
3032
import 'package:flutter_eval/src/material/drawer.dart';
@@ -34,6 +36,7 @@ import 'package:flutter_eval/src/material/icon_button.dart';
3436
import 'package:flutter_eval/src/material/icons.dart';
3537
import 'package:flutter_eval/src/material/ink_well.dart';
3638
import 'package:flutter_eval/src/material/list_tile.dart';
39+
import 'package:flutter_eval/src/material/material_button.dart';
3740
import 'package:flutter_eval/src/material/page.dart';
3841
import 'package:flutter_eval/src/material/scaffold.dart';
3942
import 'package:flutter_eval/src/material/snack_bar.dart';
@@ -73,6 +76,7 @@ import 'package:flutter_eval/src/sky_engine/ui/text.dart';
7376
import 'package:flutter_eval/src/sky_engine/ui/ui.dart';
7477
import 'package:flutter_eval/src/widgets.dart';
7578
import 'package:flutter_eval/src/widgets/app.dart';
79+
import 'package:flutter_eval/src/widgets/autocomplete.dart';
7680
import 'package:flutter_eval/src/widgets/basic.dart';
7781
import 'package:flutter_eval/src/widgets/container.dart';
7882
import 'package:flutter_eval/src/widgets/editable_text.dart';
@@ -104,7 +108,7 @@ class FlutterEvalPlugin implements EvalPlugin {
104108

105109
@override
106110
void configureForCompile(BridgeDeclarationRegistry registry) {
107-
final classes = [
111+
final classes = <BridgeClassDef>[
108112
$Widget.$declaration,
109113
$StatelessWidget$bridge.$declaration,
110114
$StatefulWidget$bridge.$declaration,
@@ -250,38 +254,54 @@ class FlutterEvalPlugin implements EvalPlugin {
250254
$KeyRepeatEvent.$declaration,
251255
$BottomSheet.$declaration,
252256
$SafeArea.$declaration,
257+
$TextRange.$declaration,
258+
$RawAutocomplete.$declaration,
259+
$TextInputType.$declaration,
260+
$TextEditingValue.$declaration,
261+
$Autocomplete.$declaration,
262+
$MaterialButton.$declaration,
253263
];
254264

255265
for (final cls in classes) {
256266
registry.defineBridgeClass(cls);
257267
}
258268

259-
registry.defineBridgeEnum($MainAxisAlignment.$declaration);
260-
registry.defineBridgeEnum($CrossAxisAlignment.$declaration);
261-
registry.defineBridgeEnum($MainAxisSize.$declaration);
262-
registry.defineBridgeEnum($FontWeight.$declaration);
263-
registry.defineBridgeEnum($FontStyle.$declaration);
264-
registry.defineBridgeEnum($TextDirection.$declaration);
265-
registry.defineBridgeEnum($VerticalDirection.$declaration);
266-
registry.defineBridgeEnum($TextBaseline.$declaration);
267-
registry.defineBridgeEnum($Axis.$declaration);
268-
registry.defineBridgeEnum($BorderStyle.$declaration);
269-
registry.defineBridgeEnum($BoxFit.$declaration);
270-
registry.defineBridgeEnum($FilterQuality.$declaration);
271-
registry.defineBridgeEnum($PointerDeviceKind.$declaration);
272-
registry.defineBridgeEnum($HitTestBehavior.$declaration);
273-
registry.defineBridgeEnum($Clip.$declaration);
274-
registry.defineBridgeEnum($StackFit.$declaration);
275-
registry.defineBridgeEnum($AnimationStatus.$declaration);
276-
registry.defineBridgeEnum($ColorSpace.$declaration);
277-
registry.defineBridgeEnum($DiagnosticLevel.$declaration);
278-
registry.defineBridgeEnum($DiagnosticsTreeStyle.$declaration);
279-
registry.defineBridgeEnum($KeyEventResult.$declaration);
280-
registry.defineBridgeEnum($FocusHighlightMode.$declaration);
281-
registry.defineBridgeEnum($MaterialTapTargetSize.$declaration);
282-
registry.defineBridgeEnum($IconAlignment.$declaration);
283-
registry.defineBridgeEnum($WidgetState.$declaration);
284-
registry.defineBridgeEnum($KeyEventResult.$declaration);
269+
final enums = <BridgeEnumDef>[
270+
$MainAxisAlignment.$declaration,
271+
$CrossAxisAlignment.$declaration,
272+
$MainAxisSize.$declaration,
273+
$FontWeight.$declaration,
274+
$FontStyle.$declaration,
275+
$TextDirection.$declaration,
276+
$VerticalDirection.$declaration,
277+
$TextBaseline.$declaration,
278+
$Axis.$declaration,
279+
$BorderStyle.$declaration,
280+
$BoxFit.$declaration,
281+
$FilterQuality.$declaration,
282+
$PointerDeviceKind.$declaration,
283+
$HitTestBehavior.$declaration,
284+
$Clip.$declaration,
285+
$StackFit.$declaration,
286+
$AnimationStatus.$declaration,
287+
$ColorSpace.$declaration,
288+
$DiagnosticLevel.$declaration,
289+
$DiagnosticsTreeStyle.$declaration,
290+
$KeyEventResult.$declaration,
291+
$FocusHighlightMode.$declaration,
292+
$MaterialTapTargetSize.$declaration,
293+
$IconAlignment.$declaration,
294+
$WidgetState.$declaration,
295+
$KeyEventResult.$declaration,
296+
$TextInputAction.$declaration,
297+
$TextCapitalization.$declaration,
298+
$ButtonTextTheme.$declaration,
299+
$OptionsViewOpenDirection.$declaration,
300+
];
301+
302+
for (final cls in enums) {
303+
registry.defineBridgeEnum(cls);
304+
}
285305

286306
registry.defineBridgeTopLevelFunction($showModalBottomSheetFn.$declaration);
287307

@@ -383,6 +403,16 @@ class FlutterEvalPlugin implements EvalPlugin {
383403
$IconAlignment.configureForRuntime(runtime);
384404
$BottomSheet.configureForRuntime(runtime);
385405
$SafeArea.configureForRuntime(runtime);
406+
$TextRange.configureForRuntime(runtime);
407+
$RawAutocomplete.configureForRuntime(runtime);
408+
$TextInputType.configureForRuntime(runtime);
409+
$TextInputAction.configureForRuntime(runtime);
410+
$TextCapitalization.configureForRuntime(runtime);
411+
$TextEditingValue.configureForRuntime(runtime);
412+
$ButtonTextTheme.configureForRuntime(runtime);
413+
$Autocomplete.configureForRuntime(runtime);
414+
$MaterialButton.configureForRuntime(runtime);
415+
$OptionsViewOpenDirection.configureForRuntime(runtime);
386416

387417
$showModalBottomSheetFn.configureForRuntime(runtime);
388418

lib/material.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@ library;
33

44
export 'src/material/app.dart';
55
export 'src/material/app_bar.dart';
6+
export 'src/material/autocomplete.dart';
67
export 'src/material/bottom_sheet.dart';
78
export 'src/material/button_style.dart';
89
export 'src/material/button_style_button.dart';
10+
export 'src/material/button_theme.dart';
911
export 'src/material/card.dart';
1012
export 'src/material/colors.dart';
1113
export 'src/material/drawer.dart';
@@ -14,6 +16,7 @@ export 'src/material/floating_action_button.dart';
1416
export 'src/material/icons.dart';
1517
export 'src/material/icon_button.dart';
1618
export 'src/material/list_tile.dart';
19+
export 'src/material/material_button.dart';
1720
export 'src/material/switch_list_tile.dart';
1821
export 'src/material/page.dart';
1922
export 'src/material/scaffold.dart';

lib/services.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@ export 'src/services/hardware_keyboard.dart';
55
export 'src/services/keyboard_key.g.dart';
66
export 'src/services/message_codec.dart';
77
export 'src/services/platform_channel.dart';
8+
export 'src/services/text_input.dart';

lib/src/material.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@ library material;
44
export 'widgets.dart';
55
export 'src/material/app.dart';
66
export 'src/material/app_bar.dart';
7+
export 'src/material/autocomplete.dart';
78
export 'src/material/bottom_sheet.dart';
89
export 'src/material/button_style.dart';
910
export 'src/material/button_style_button.dart';
11+
export 'src/material/button_theme.dart';
1012
export 'src/material/card.dart';
1113
export 'src/material/colors.dart';
1214
export 'src/material/drawer.dart';
@@ -15,6 +17,7 @@ export 'src/material/floating_action_button.dart';
1517
export 'src/material/icons.dart';
1618
export 'src/material/icon_button.dart';
1719
export 'src/material/list_tile.dart';
20+
export 'src/material/material_button.dart';
1821
export 'src/material/switch_list_tile.dart';
1922
export 'src/material/page.dart';
2023
export 'src/material/scaffold.dart';

0 commit comments

Comments
 (0)