From c3106bbba623b60bf6fd20d044593059453de541 Mon Sep 17 00:00:00 2001 From: Angelo Silvestre Date: Sat, 25 Jan 2025 17:42:14 -0300 Subject: [PATCH] [SuperTextField] - Add support for inline widgets (Resolves #2507) (#2520) --- .../android/android_textfield.dart | 7 +- .../desktop/desktop_textfield.dart | 8 +- .../attributed_text_editing_controller.dart | 1 + .../super_textfield/ios/ios_textfield.dart | 11 +- .../src/super_textfield/super_textfield.dart | 12 + .../super_textfield_attributions_test.dart | 10 +- .../super_textfield_inline_widgets_test.dart | 412 ++++++++++++++++++ ...ne_widgets_multi_line_caret_downstream.png | Bin 0 -> 19996 bytes ...line_widgets_multi_line_caret_upstream.png | Bin 0 -> 20002 bytes ...ts_multi_line_selection_box_downstream.png | Bin 0 -> 21418 bytes ..._widgets_multi_line_selection_box_over.png | Bin 0 -> 20362 bytes ...idgets_multi_line_selection_box_single.png | Bin 0 -> 20019 bytes ...gets_multi_line_selection_box_upstream.png | Bin 0 -> 21442 bytes ...e_widgets_single_line_caret_downstream.png | Bin 0 -> 7543 bytes ...ine_widgets_single_line_caret_upstream.png | Bin 0 -> 7561 bytes ...s_single_line_selection_box_downstream.png | Bin 0 -> 8843 bytes ...widgets_single_line_selection_box_over.png | Bin 0 -> 7613 bytes ...dgets_single_line_selection_box_single.png | Bin 0 -> 7573 bytes ...ets_single_line_selection_box_upstream.png | Bin 0 -> 8829 bytes .../super_textfield_inline_widgets_test.dart | 280 ++++++++++++ 20 files changed, 730 insertions(+), 11 deletions(-) create mode 100644 super_editor/test/super_textfield/super_textfield_inline_widgets_test.dart create mode 100644 super_editor/test_goldens/super_textfield/goldens/super-text-field_inline_widgets_multi_line_caret_downstream.png create mode 100644 super_editor/test_goldens/super_textfield/goldens/super-text-field_inline_widgets_multi_line_caret_upstream.png create mode 100644 super_editor/test_goldens/super_textfield/goldens/super-text-field_inline_widgets_multi_line_selection_box_downstream.png create mode 100644 super_editor/test_goldens/super_textfield/goldens/super-text-field_inline_widgets_multi_line_selection_box_over.png create mode 100644 super_editor/test_goldens/super_textfield/goldens/super-text-field_inline_widgets_multi_line_selection_box_single.png create mode 100644 super_editor/test_goldens/super_textfield/goldens/super-text-field_inline_widgets_multi_line_selection_box_upstream.png create mode 100644 super_editor/test_goldens/super_textfield/goldens/super-text-field_inline_widgets_single_line_caret_downstream.png create mode 100644 super_editor/test_goldens/super_textfield/goldens/super-text-field_inline_widgets_single_line_caret_upstream.png create mode 100644 super_editor/test_goldens/super_textfield/goldens/super-text-field_inline_widgets_single_line_selection_box_downstream.png create mode 100644 super_editor/test_goldens/super_textfield/goldens/super-text-field_inline_widgets_single_line_selection_box_over.png create mode 100644 super_editor/test_goldens/super_textfield/goldens/super-text-field_inline_widgets_single_line_selection_box_single.png create mode 100644 super_editor/test_goldens/super_textfield/goldens/super-text-field_inline_widgets_single_line_selection_box_upstream.png create mode 100644 super_editor/test_goldens/super_textfield/super_textfield_inline_widgets_test.dart diff --git a/super_editor/lib/src/super_textfield/android/android_textfield.dart b/super_editor/lib/src/super_textfield/android/android_textfield.dart index 6275f1fa80..4aa64c7059 100644 --- a/super_editor/lib/src/super_textfield/android/android_textfield.dart +++ b/super_editor/lib/src/super_textfield/android/android_textfield.dart @@ -1,3 +1,4 @@ +import 'package:attributed_text/attributed_text.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:follow_the_leader/follow_the_leader.dart'; @@ -35,6 +36,7 @@ class SuperAndroidTextField extends StatefulWidget { this.textController, this.textAlign, this.textStyleBuilder = defaultTextFieldStyleBuilder, + this.inlineWidgetBuilders = const [], this.hintBehavior = HintBehavior.displayHintUntilFocus, this.hintBuilder, this.minLines, @@ -73,6 +75,9 @@ class SuperAndroidTextField extends StatefulWidget { /// [textController] based on the attributions in that content. final AttributionStyleBuilder textStyleBuilder; + /// {@macro super_text_field_inline_widget_builders} + final InlineWidgetBuilderChain inlineWidgetBuilders; + /// Policy for when the hint should be displayed. final HintBehavior hintBehavior; @@ -631,7 +636,7 @@ class SuperAndroidTextFieldState extends State Widget _buildSelectableText() { final textSpan = _textEditingController.text.isNotEmpty - ? _textEditingController.text.computeTextSpan(widget.textStyleBuilder) + ? _textEditingController.text.computeInlineSpan(context, widget.textStyleBuilder, widget.inlineWidgetBuilders) : TextSpan(text: "", style: widget.textStyleBuilder({})); return Directionality( diff --git a/super_editor/lib/src/super_textfield/desktop/desktop_textfield.dart b/super_editor/lib/src/super_textfield/desktop/desktop_textfield.dart index c649818cb6..ab7e5e265d 100644 --- a/super_editor/lib/src/super_textfield/desktop/desktop_textfield.dart +++ b/super_editor/lib/src/super_textfield/desktop/desktop_textfield.dart @@ -51,7 +51,8 @@ class SuperDesktopTextField extends StatefulWidget { this.tapRegionGroupId, this.textController, this.textStyleBuilder = defaultTextFieldStyleBuilder, - this.textAlign, + this.inlineWidgetBuilders = const [], + this.textAlign = TextAlign.left, this.hintBehavior = HintBehavior.displayHintUntilFocus, this.hintBuilder, this.selectionHighlightStyle = const SelectionHighlightStyle( @@ -92,6 +93,9 @@ class SuperDesktopTextField extends StatefulWidget { /// [textController] based on the attributions in that content. final AttributionStyleBuilder textStyleBuilder; + /// {@macro super_text_field_inline_widget_builders} + final InlineWidgetBuilderChain inlineWidgetBuilders; + /// Policy for when the hint should be displayed. final HintBehavior hintBehavior; @@ -525,7 +529,7 @@ class SuperDesktopTextFieldState extends State implements textDirection: _textDirection, child: SuperText( key: _textKey, - richText: _controller.text.computeTextSpan(widget.textStyleBuilder), + richText: _controller.text.computeInlineSpan(context, widget.textStyleBuilder, widget.inlineWidgetBuilders), textAlign: _textAlign, textDirection: _textDirection, textScaler: _textScaler, diff --git a/super_editor/lib/src/super_textfield/infrastructure/attributed_text_editing_controller.dart b/super_editor/lib/src/super_textfield/infrastructure/attributed_text_editing_controller.dart index b027a6ba69..94f100010f 100644 --- a/super_editor/lib/src/super_textfield/infrastructure/attributed_text_editing_controller.dart +++ b/super_editor/lib/src/super_textfield/infrastructure/attributed_text_editing_controller.dart @@ -655,6 +655,7 @@ class AttributedTextEditingController with ChangeNotifier { notifyListeners(); } + @Deprecated('Use text.computeInlineSpan() instead, which adds support for inline widgets.') TextSpan buildTextSpan(AttributionStyleBuilder styleBuilder) { return text.computeTextSpan(styleBuilder); } diff --git a/super_editor/lib/src/super_textfield/ios/ios_textfield.dart b/super_editor/lib/src/super_textfield/ios/ios_textfield.dart index be00a479a0..08f9928435 100644 --- a/super_editor/lib/src/super_textfield/ios/ios_textfield.dart +++ b/super_editor/lib/src/super_textfield/ios/ios_textfield.dart @@ -42,7 +42,8 @@ class SuperIOSTextField extends StatefulWidget { this.tapHandlers = const [], this.textController, this.textStyleBuilder = defaultTextFieldStyleBuilder, - this.textAlign, + this.inlineWidgetBuilders = const [], + this.textAlign = TextAlign.left, this.padding, this.hintBehavior = HintBehavior.displayHintUntilFocus, this.hintBuilder, @@ -83,6 +84,9 @@ class SuperIOSTextField extends StatefulWidget { /// [textController] based on the attributions in that content. final AttributionStyleBuilder textStyleBuilder; + /// {@macro super_text_field_inline_widget_builders} + final InlineWidgetBuilderChain inlineWidgetBuilders; + /// Padding placed around the text content of this text field, but within the /// scrollable viewport. final EdgeInsets? padding; @@ -630,9 +634,8 @@ class SuperIOSTextFieldState extends State } Widget _buildSelectableText() { - final textSpan = _textEditingController.text.isNotEmpty - ? _textEditingController.text.computeTextSpan(widget.textStyleBuilder) - : AttributedText().computeTextSpan(widget.textStyleBuilder); + final textSpan = _textEditingController.text // + .computeInlineSpan(context, widget.textStyleBuilder, widget.inlineWidgetBuilders); CaretStyle caretStyle = widget.caretStyle; diff --git a/super_editor/lib/src/super_textfield/super_textfield.dart b/super_editor/lib/src/super_textfield/super_textfield.dart index 37ff87fa89..887de51a8d 100644 --- a/super_editor/lib/src/super_textfield/super_textfield.dart +++ b/super_editor/lib/src/super_textfield/super_textfield.dart @@ -62,6 +62,7 @@ class SuperTextField extends StatefulWidget { this.textController, this.textAlign, this.textStyleBuilder = defaultTextFieldStyleBuilder, + this.inlineWidgetBuilders = const [], this.hintBehavior = HintBehavior.displayHintUntilFocus, this.hintBuilder, this.controlsColor, @@ -107,6 +108,14 @@ class SuperTextField extends StatefulWidget { /// [textController] based on the attributions in that content. final AttributionStyleBuilder textStyleBuilder; + /// {@template super_text_field_inline_widget_builders} + /// A Chain of Responsibility that's used to build inline widgets. + /// + /// The first builder in the chain to return a non-null `Widget` will be + /// used for a given inline placeholder. + /// {@endtemplate} + final InlineWidgetBuilderChain inlineWidgetBuilders; + /// Policy for when the hint should be displayed. final HintBehavior hintBehavior; @@ -364,6 +373,7 @@ class SuperTextFieldState extends State implements ImeInputOwner textController: _controller, textAlign: widget.textAlign, textStyleBuilder: widget.textStyleBuilder, + inlineWidgetBuilders: widget.inlineWidgetBuilders, hintBehavior: widget.hintBehavior, hintBuilder: widget.hintBuilder, selectionHighlightStyle: SelectionHighlightStyle( @@ -398,6 +408,7 @@ class SuperTextFieldState extends State implements ImeInputOwner textController: _controller, textAlign: widget.textAlign, textStyleBuilder: widget.textStyleBuilder, + inlineWidgetBuilders: widget.inlineWidgetBuilders, hintBehavior: widget.hintBehavior, hintBuilder: widget.hintBuilder, caretStyle: widget.caretStyle ?? @@ -427,6 +438,7 @@ class SuperTextFieldState extends State implements ImeInputOwner textController: _controller, textAlign: widget.textAlign, textStyleBuilder: widget.textStyleBuilder, + inlineWidgetBuilders: widget.inlineWidgetBuilders, padding: widget.padding, hintBehavior: widget.hintBehavior, hintBuilder: widget.hintBuilder, diff --git a/super_editor/test/super_textfield/super_textfield_attributions_test.dart b/super_editor/test/super_textfield/super_textfield_attributions_test.dart index bf810f7527..d95e265252 100644 --- a/super_editor/test/super_textfield/super_textfield_attributions_test.dart +++ b/super_editor/test/super_textfield/super_textfield_attributions_test.dart @@ -31,10 +31,12 @@ void main() { ); // Ensure the text is colored orange. - expect( - SuperTextFieldInspector.findRichText().style!.color, - Colors.orange, - ); + for (int i = 0; i <= 9; i++) { + expect( + SuperTextFieldInspector.findRichText().getSpanForPosition(TextPosition(offset: i))!.style!.color, + Colors.orange, + ); + } }); testWidgetsOnAllPlatforms("to partial text", (tester) async { diff --git a/super_editor/test/super_textfield/super_textfield_inline_widgets_test.dart b/super_editor/test/super_textfield/super_textfield_inline_widgets_test.dart new file mode 100644 index 0000000000..7c09c79017 --- /dev/null +++ b/super_editor/test/super_textfield/super_textfield_inline_widgets_test.dart @@ -0,0 +1,412 @@ +import 'package:flutter/gestures.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:flutter_test_robots/flutter_test_robots.dart'; +import 'package:flutter_test_runners/flutter_test_runners.dart'; +import 'package:super_editor/super_editor.dart'; + +import 'super_textfield_inspector.dart'; +import 'super_textfield_robot.dart'; + +void main() { + group('SuperTextField > inline widgets >', () { + testWidgetsOnAllPlatforms('renders single inline widget at beginning of the text', (tester) async { + final controller = AttributedTextEditingController( + text: AttributedText( + 'Hello', + null, + { + 0: const _NamedPlaceHolder('1'), + }, + ), + ); + + await _pumpTestApp(tester, controller: controller); + + // Ensure the widget was rendered. + expect( + find.byPlaceholderName('1'), + findsOneWidget, + ); + + // Ensure the inline widget was rendered at the beginning of the textfield. + final inlineWidgetRect = tester.getRect(find.byPlaceholderName('1')); + expect( + inlineWidgetRect.left, + tester.getTopLeft(find.byType(SuperTextField)).dx, + ); + }); + + testWidgetsOnAllPlatforms('renders single inline widget at middle of the text', (tester) async { + final controller = AttributedTextEditingController( + text: AttributedText( + 'inline', + null, + { + 3: const _NamedPlaceHolder('1'), + }, + ), + ); + + await _pumpTestApp(tester, controller: controller); + + // Ensure the inline widget was rendered between characters at offsets + // 2 and 3 of the original string. + final inlineWidgetRect = tester.getRect(find.byPlaceholderName('1')); + final (beforeInlineWidget, afterInlineWidget) = _getOffsetsAroundPosition( + tester, + const TextPosition(offset: 3), + ); + expect(inlineWidgetRect.left, greaterThan(beforeInlineWidget.dx)); + expect(inlineWidgetRect.left, lessThan(afterInlineWidget.dx)); + }); + + testWidgetsOnAllPlatforms('renders single inline widget at end of the text', (tester) async { + final controller = AttributedTextEditingController( + text: AttributedText( + 'Hello', + null, + { + 5: const _NamedPlaceHolder('1'), + }, + ), + ); + + await _pumpTestApp(tester, controller: controller); + + // Ensure the widget was rendered. + expect( + find.byPlaceholderName('1'), + findsOneWidget, + ); + + // Ensure the inline widget was rendered after the last character. + final inlineWidgetRect = tester.getRect(find.byPlaceholderName('1')); + expect( + inlineWidgetRect.left, + greaterThan(_getOffsetAtPosition(tester, const TextPosition(offset: 4)).dx), + ); + }); + + testWidgetsOnAllPlatforms('renders multiple inline widgets', (tester) async { + final controller = AttributedTextEditingController( + text: AttributedText( + 'Hello', + null, + { + 0: const _NamedPlaceHolder('1'), + 6: const _NamedPlaceHolder('2'), + }, + ), + ); + + await _pumpTestApp(tester, controller: controller); + + // Ensure the first widget was rendered. + expect( + find.byPlaceholderName('1'), + findsOneWidget, + ); + + // Ensure the first inline widget was rendered at the beginning of the textfield. + final firstInlineWidgetRect = tester.getRect(find.byPlaceholderName('1')); + expect( + firstInlineWidgetRect.left, + tester.getTopLeft(find.byType(SuperTextField)).dx, + ); + + // Ensure the second widget was rendered. + expect( + find.byPlaceholderName('2'), + findsOneWidget, + ); + + // Ensure the second inline widget was rendered at the end of the textfield. + final secondInlineWidgetRect = tester.getRect(find.byPlaceholderName('2')); + expect( + secondInlineWidgetRect.left, + _getOffsetAtPosition(tester, const TextPosition(offset: 6)).dx, + ); + }); + + testWidgetsOnAllPlatforms('places caret when tapping on inline widget', (tester) async { + final controller = AttributedTextEditingController( + text: AttributedText( + 'inline', + null, + { + 3: const _NamedPlaceHolder('1'), + }, + ), + ); + + await _pumpTestApp(tester, controller: controller); + + // Tap on the inline widget. + await tester.tapAt(tester.getTopLeft(find.byPlaceholderName('1'))); + await tester.pump(kDoubleTapTimeout); + + // Ensure the caret is placed just before the inline widget. + expect( + SuperTextFieldInspector.findSelection(), + const TextSelection.collapsed(offset: 3), + ); + }); + + testWidgetsOnDesktop('navigates using arrow keys', (tester) async { + final controller = AttributedTextEditingController( + text: AttributedText( + 'inline', + null, + { + 3: const _NamedPlaceHolder('1'), + }, + ), + ); + + await _pumpTestApp(tester, controller: controller); + + // Place caret at "in|line". + await tester.placeCaretInSuperTextField(2); + expect( + SuperTextFieldInspector.findSelection(), + const TextSelection.collapsed(offset: 2), + ); + + // Place RIGHT ARROW twice to move the caret to the position + // immediately after the inline widget. + await tester.pressRightArrow(); + await tester.pressRightArrow(); + + // Ensure that the caret moved. + expect( + SuperTextFieldInspector.findSelection(), + const TextSelection.collapsed(offset: 4), + ); + + // Place LEFT ARROW to move the caret back to the position + // immediately before the inline widget. + await tester.pressLeftArrow(); + + // Ensure that the caret moved. + expect( + SuperTextFieldInspector.findSelection(), + const TextSelection.collapsed(offset: 3), + ); + }); + + testWidgetsOnDesktop('deletes inline widget with backspace', (tester) async { + final controller = AttributedTextEditingController( + text: AttributedText( + 'inline', + null, + { + 3: const _NamedPlaceHolder('1'), + }, + ), + ); + + await _pumpTestApp(tester, controller: controller); + + // Ensure the widget is present. + expect( + find.byPlaceholderName('1'), + findsOneWidget, + ); + + // Place the caret at the position immediately after the inline widget. + await tester.placeCaretInSuperTextField(4); + + // Press backspace to remove the inline widget. + await tester.pressBackspace(); + + // Ensure the widget was not rendered. + expect( + find.byPlaceholderName('1'), + findsNothing, + ); + + // Ensure the original text remains unmodified. + expect( + SuperTextFieldInspector.findText().toPlainText(), + 'inline', + ); + }); + + testWidgetsOnDesktop('deletes inline widget with delete', (tester) async { + final controller = AttributedTextEditingController( + text: AttributedText( + 'inline', + null, + { + 3: const _NamedPlaceHolder('1'), + }, + ), + ); + + await _pumpTestApp(tester, controller: controller); + + // Ensure the widget is present. + expect( + find.byPlaceholderName('1'), + findsOneWidget, + ); + + // Place the caret before the inline widget. + await tester.placeCaretInSuperTextField(3); + + // Press delete to remove the inline widget. + await tester.pressDelete(); + + // Ensure the widget was not rendered. + expect( + find.byPlaceholderName('1'), + findsNothing, + ); + + // Ensure the original text remains unmodified. + expect( + SuperTextFieldInspector.findText().toPlainText(), + 'inline', + ); + }); + + testWidgetsOnDesktop('deletes inline widget inside expanded selection', (tester) async { + final controller = AttributedTextEditingController( + text: AttributedText( + 'before inline after', + null, + { + 10: const _NamedPlaceHolder('1'), + }, + ), + ); + + await _pumpTestApp(tester, controller: controller); + + // Ensure the widget is present. + expect( + find.byPlaceholderName('1'), + findsOneWidget, + ); + + // Place caret at "|inline". + await tester.placeCaretInSuperTextField(7); + + // Press shift + right arrow to expand the selection to "|inl�ine|", + // where "�" means the inline widget. + await tester.pressShiftRightArrow(); + await tester.pressShiftRightArrow(); + await tester.pressShiftRightArrow(); + await tester.pressShiftRightArrow(); + await tester.pressShiftRightArrow(); + await tester.pressShiftRightArrow(); + await tester.pressShiftRightArrow(); + + // Press backspace to remove the selected content. + await tester.pressBackspace(); + + // Ensure the widget was not rendered. + expect( + find.byPlaceholderName('1'), + findsNothing, + ); + + // Ensure the text was updated. + expect( + SuperTextFieldInspector.findText().toPlainText(), + 'before after', + ); + }); + }); +} + +/// Pump a test app with a [SuperTextField] that renders a [ColoredBox] for each +/// [_NamedPlaceHolder] in the text. +Future _pumpTestApp( + WidgetTester tester, { + required AttributedTextEditingController controller, +}) { + return tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: SizedBox( + width: 300, + child: SuperTextField( + textController: controller, + inlineWidgetBuilders: const [ + _boxPlaceHolderBuilder, + ], + ), + ), + ), + ), + ); +} + +/// A builder that renders a [ColoredBox] for a [_NamedPlaceHolder]. +Widget? _boxPlaceHolderBuilder(BuildContext context, TextStyle textStyle, Object placeholder) { + if (placeholder is! _NamedPlaceHolder) { + return null; + } + + return KeyedSubtree( + key: ValueKey('placeholder-${placeholder.name}'), + child: LineHeight( + style: textStyle, + child: const SizedBox( + width: 24, + child: ColoredBox( + color: Colors.yellow, + ), + ), + ), + ); +} + +/// Returns the [Offset] of the given [textPosition] in the [SuperTextField], +/// in global coordinates. +Offset _getOffsetAtPosition(WidgetTester tester, TextPosition textPosition) { + final renderBox = tester.renderObject(find.byType(SuperTextField)) as RenderBox; + final textLayout = SuperTextFieldInspector.findProseTextLayout(); + + return renderBox.localToGlobal(textLayout.getOffsetAtPosition(textPosition)); +} + +/// Returns the [Offset]s of the positions before and after the given [textPosition] +/// in the [SuperTextField], in global coordinates. +/// +/// For example, for the text "world" and the position 2, this method will return +/// the offsets for the letters "o" and "l". +/// +/// This method assumes that there are characters before and after the given position. +(Offset offsetBefore, Offset offsetAfter) _getOffsetsAroundPosition(WidgetTester tester, TextPosition textPosition) { + final renderBox = tester.renderObject(find.byType(SuperTextField)) as RenderBox; + final textLayout = SuperTextFieldInspector.findProseTextLayout(); + + final offsetBefore = textLayout.getOffsetAtPosition(TextPosition(offset: textPosition.offset - 1)); + final offsetAfter = textLayout.getOffsetAtPosition(TextPosition(offset: textPosition.offset + 1)); + + return (renderBox.localToGlobal(offsetBefore), renderBox.localToGlobal(offsetAfter)); +} + +/// A placeholder that is identified by a name. +class _NamedPlaceHolder { + const _NamedPlaceHolder(this.name); + + final String name; + + @override + bool operator ==(Object other) => + identical(this, other) || other is _NamedPlaceHolder && runtimeType == other.runtimeType && name == other.name; + + @override + int get hashCode => name.hashCode; +} + +extension _WidgetForPlaceholderFinder on CommonFinders { + /// Finds a widget that represents a placeholder with the given name. + Finder byPlaceholderName(String name) { + return byKey(ValueKey('placeholder-$name')); + } +} diff --git a/super_editor/test_goldens/super_textfield/goldens/super-text-field_inline_widgets_multi_line_caret_downstream.png b/super_editor/test_goldens/super_textfield/goldens/super-text-field_inline_widgets_multi_line_caret_downstream.png new file mode 100644 index 0000000000000000000000000000000000000000..44cc35cd008f17acff025734150284d96ab109fd GIT binary patch literal 19996 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 F_cu-ME>!>k literal 0 HcmV?d00001 diff --git a/super_editor/test_goldens/super_textfield/goldens/super-text-field_inline_widgets_single_line_caret_downstream.png b/super_editor/test_goldens/super_textfield/goldens/super-text-field_inline_widgets_single_line_caret_downstream.png new file mode 100644 index 0000000000000000000000000000000000000000..89b6690972e671f046d3aaacbeb27d787a1f3e23 GIT binary patch literal 7543 zcmeI1c~Dc?m&Z}NwcS7)5oB*sltpNaEMaY0mR4C*4ErKPKx8wrLl$kil_h{JAOr~5 z(13shBC;kVDj`u;Q6cP60t5&ULLduU=B4L1RZ~+_GxPUUrz(}otM~3b_ug~9=X1_W zz3OCt_<-U8DJiMLmwvIiE+w_wT}o=#Qe#m*!lHY!$27~uhfNl86+sI8uqlDe;^_~2Wq$N8^!Oa0<-bC=X9&3Y-R z?_~kwQ}^pi-KTtWTjHx)JMY+; za_$!mnINQKaJ+7+H#O2OdGBH3>x-v<6yIOyYX45>=36D%skt2llj&^f%VsJX-EQe? z+CL;et9BI&-dj^-S;+G!iXKfpO=_{X2^)R(#&kr}-7g>YQw&S?#l1Fe#T$d|_IV7K zffWZ(x8U1Evp?2emdsK$ z%a}7LgYNt)0z(m*bFxYiE&flIz8Q+#U8C%a;;r`#pO*JIiMy%ti=kLGer`u0QT(9@ zUp$d?Kv#V~?PhLAj#f4ZYLTSudwOg)TM3wKzhp8aRzuHl>{yuFf4p-r6370*fE0x9+(8`T4c5 z=H6KRd_|!qsxODM%^%C(9#|BvH8?}(=~pyPmR{?yyXNk$F!pLh(`e*Y_GQElxTHVT zqanC+JRz#=*)w&|#xOZT%y{kRZu;7`v*?^3$=tGN-M>c!chdD}JLQV=K2aD(ycE_p zU%_P>S!K@l7T8-`TSFp)%4@2@S8v=n_Nl@-U7x&l{;96d_lJ$bk63NLcP^{H=3j2E zRv(nB=>CaOs46(rZl)S9d?2xmXIUXO*e>h;!`_ze7hSt@kYmh%%XZiw&hnQTmoKBC z`!@4UV-{@4Wt*LUv?tQ60Y^M+G<>s`Eji(`q`Hgrjr=Stk;$FGZt~I<7Q$zNc~R3D ztDI%ABWPifl7?Ey2bARO7?y}Kue^)QFMDM4V4H4nTbF1vMFphpJ_04jxYEvsLiohU zD2!~^dN^)*idV$5EGhAzFK9!>F57bQ^0XE@we#IIjez0gj;VAM5>KTqH`07zaItJD z%ip3bB)j4?&a88*#;Z9ZtmV?Y?*j7ksm<9L%o!>LuvmL=H5a^3;$Op2WQ%)L)g&Qz zZlpc+ayqE{Q;9_Y`U(zxf2v3Ru zO+|%+T0yp!fO1=TvsAE{S2!Fa$b`)_y5V9_=iFP=BUJ8%Mzco@GfkVEiH4%u0~Uf( z+w_ws1BB1N;{8|%5DemJm>_mRewxG{M{KIdZN^L*OU!DdLTo6){Y>U7kaGq?df3d) z0<4{uo=zWWa&4;4-=pLDB1Lp?miE4~es#8a{ZoBERWf0^)I?k=*7|fW zZX991ruIR9M>J#A{c1dpfsjv*R85Ju~|8Pd@3V0~dU>eJ6>k zk!5jxHjp9yvONcz_J?iyG`n>*)n0*s_mOrs*e0A`8B~PKxEpTfL09&c&fD&~HeH@t zOtaoZKwcBUrhQ`_`t{du4H6cn-1)7Fw2Jl$O9_bqcvm$*zL43U?;g<_1|S@$;>DWsq)H%=(3hag#oi zb#xK_tHvW1(WTC%(y1u=?WKg~$Z$2WGa~8En#pQC(fCC;1BX~Md1Zegl4ScC=VL}H z*n|*&u`^P}i$N^%2M5 z%`dh}23TgAU&ucEN8L;zk{0ZH0dNxNDB;u8#+&4+Nq<4mQ$oVZIoRxc@KfPdRuI12+BD-mX1y{d~7Wu_;)Ou=-KK;EqjSyhIeRsCJz@biG!vj7hvW zem*yEhZn^LHk^;ny6nA7?!_7#Co03-9pa%s_r-6NN;(YNXTwf%$*1NR!Uw*G;E2HMvFq6hD6*bRkllF#ugd3qV!f-x)J zaP_D-)McekR)bXN@n_7|kqqT_^~5!?IDc-kHVGa7YO5r%4^Ymhw~%6jmG`S5=Hsc&x+WxV%#Vd`3>!FKth5bZv#Jm)`n@oF z#XcgKG`Nr`Sipjij6H(R;XLZo)kt@k@#F;)S+{-Brs~Ct-00|STRKs2Q8L4X>GE+I zX~bD%!l-@}(hbM~WJ|%Kds}o!Yg2F@HZFC49Z|Joxz!37Q)P3p(RuL|(+TfIn^>hn z92w#qM*Y4=fl~`Ft-Mu}aqY+qnB38UfbQck-WRV@x2$pX6N1r}^QcBwl^d1dyYFrD zC|oze$K9^lYM-uOCT$m+Oh3DL89u&ODeQ>6pK!D1 zgr4NoD($QqhXNk~0x#>2A}sO0w|bMx(RVPJ8)bv!&l1IN{7>r@zBT(anHsv+CmS^M z(zd&W9T{iO3+lb%O^TRkGngx2Ggmt9kxLT-$8`)=-@ini$1fR;QB&;gsr|^+hU@w+ z*#av$5S+pUTSX2o1g-m;bDc8eORbT4$)B=3oL;`_kB#5}K0 z0;?IpL>!}2>kL*Aa15RmDuTp)di%pO>ni#H9zp9Fe&L~}Ir*^*0$Avqv?v#hMGhsx z!VR8>JlW@3xy{e=Z0u?p~gVKWZNWp+KMbGj-Uq~EhAQ|aom{Ci)E ztaoTfjA^+8`)ueDIxzEk{eYd)%+}UYGsAVHDaRg|NbmE(LAq%x#3>{U2ty2B5JZyq zk)D47a`pBuYEAK@Uu=82ap*7cP)j}Rn2~nR{$l4<@AE&D!#Pf7(eIFf*FDXeC%_>7 z27tY5E>8LaQ+frEk+j_a@#z7?$#Q$~lW>Dw2OW7Ch+iBF#Ly7i>vYIVgjW8ZpF(aF zzP>Y29TOC`LrlQn>t>O;qJ@<|?bXsAtt!)RsESE169O?ME*vo!R$!z)cXNv>KKRUGgx?|s%O`;3)PM{XUz5l zai4Tz@LfnQhWujp6Zfs$2pFt0B3o>()Tz{^bHx4gKva z-rmT;K!fE*7^EG{MuVkt>>2@(_nlazvD4*)_vkR_hqWMlH+d1x1w!_n$9a-9MYsz- z9;mDWlK4{D^XF%gVp=-$@kJTmx+!hIo}B95GwwQWxE}Nj!J(r-Z{qRgKnC21@vV(c z;`%B)FVMYJn_%Vge15YeO-D~J6M!G}2;vO2hm#o1IXcm%thf{#BHvqRm}PfZsnbp= zJVzAAXkt2H#y)>OHY;^iaZt0Ks{@lOgAqEdGi9SpWx>_VC|k@B5a!U*Gn)Ph>1SO+tja0I?%yyqfw4rsWQhfe)!hL!(EVKgsMAIQ(nSr@9_b zPJ|AtE4kPBiA+ugEW7zZMq|r|>izj_;^`|-ZL+D3U5%uvsi}OC^>Vwwv+1_SLSbN@ zL27rTPhJ4BpXr;zHX_X=vYYl)kxq35uIg9^t3GG}hRUhD^UaP(y>**w8Ww zzz&?QlI(bbI9ULK2DUz$k$LdPQP4vcc~^21VO&Vp`U8Aj87QtyZ_{r%nNxxMX%Y0u*rfg z*V(RjSpL#633p7=I1O}548Cwj(2u`+jenE#(LIl2Zaf*!6b_yscbzB%RvkYzf2NCw zI{^y5wH!JeTiKMmllrscr1*vd2{gWHOCNP8IA29AwiZSLhxKIo!TN_X83}wp-QY?n z^#R>4?*s?62n!`%on5w?u*fvudRK&RW+a&5h#P6=OQy`%m#XkAWD@1I(%#wjaqB=6 z{u~m6m!O`cKB}VQ13J@MRtt2_Gb>B(*|kQDTsv-v0HE2i(5M$}A=qjt_eCxfTe)Mr z{$8|OXZe0tvRXjSS4B68L6=2oD-@S~6sU%(4i^RxW10j#RTCEfDB?=0EPz0VTD*Z; zt0;l$f#JR}mdVt?wVrf+;eM@p2_Cam16$lrqg0k46ag8wE{dJ4N~n8PJep~?sK6@5 zZkF@_)%;Wr$VqRISLfY&ekWd}CMjm_QOBA?)wWkDUU&Ysbt&$>>P3^4hYt++<@nQj zWw($RB%~*rDD7nL@PEu$EgC4~+$w|vp?WGe_R!EDh^!Pz3`zvJhXaru6C1*z z+;?$GslgGnd7CwLEt*D*FkT~${E38}O1o0mgZ4}8RAc^@ot5?8k)0YHbjr<2 zQHWoEcKd^R(nFU(iPx`=M2sx~^x%u(N>KRm*rQvdlM<-_+=Bw4`^c%pagOw7AuKtG z!Ke#_kNRI)+tkD+NirYC9*!3Xq`w#C?|D7?@95e~-kD`f4t^Tl7)iIRaKJtR#jZTq zXHVm+K$(t4skR5@sefr@4+%4y`;Q_5=6nP*?Ng!!Ns&{DO}H~|wm3;7TM1t$GgX zd3F!7ByQ9a(o>Hz0{egQVf+WMGK<^d*s2<;Djv%*?Enx9-xm{RwtcXsF;n#sk8F9f zy^`!?z^zR!C;j#&uLLRQSa^&4tG7?J$T+0yui@~l#S_hdVq_r%lg2=`O=bDPRrjgH z-(6cCG~<{K%_zSUBqojZqEbIOS=Jsxh2HeJg#2^hftyU)nPNpbV@4tmMWvb>YXaX2 zN}$YA;_dN7UU+$0jc`XH%`39)oWy+;F2rA*6_g_;fq0;`$4S?&pq2v%|MYnjKgB)6 zY?0jz-jOXZ2?+oyY5WcLiB&QxBYR(w_a(2^Ac=2V5@Lr9RTcSnm1Dw605?rbn;M|0 z`LI_7ox#Q_D$sp%E$$-1`%IZHTA=T+*M`p~>0lbG{K!b}sF_9>W1^#U$tk?M zrST{tNsxhu`l9>xMeFfiYQ37M3P;1kZWQrqqPmD-tUac*P<`hV7bo-bt_bJr5>)#{ zaN|gb{=Co4=&X{Zqx$9`qYbrBRwhGN8e_7wk`nSI{JiaZ*hdU5G*wfprp}A zeD-so7g2;-78$IoMbbp9Vl@E0yqU}_P8{5vN68oRN+Prc1iEMAolXOL6d04fh|WHvIfY&#;k`k|FKJr8a;T=HH3})M90^OQQqN{mX`{*Ifsy18bf` zY8E-Rp{t=suEN-->TmiSbr(TmZ|-_r<2kOqPwLAfoBy>{{C7wBMJyyz>J%ijAw^hG z-CVj+1=)^->{+=uiWSml2T_(l}~fLLQ_c>gUA&g=Yk%{)KwL~+2#2vZ^Cq#RCq@Dng9nzz)Ux=({&{cl=&zt?5ODa0q+`6UV`M0_5S7aum ziZbAA^%qr(k-Asx?Ce?IDBz>CK`*=n9ug|QZbqP{rU`f_}400G9of|JcqFjM~4GAGLhA z4~4)aI}+{6p4M1Zmxk_(94~-X`!6jA9O`}pQIaH~W7c5sHYNkSf_I0W)o_!q^&Z?1 zm(9}W|B`6!L2efV$DeF#T5w2UahcISh>tOUi5XXNw0o$4J^|ee?SH0U^st=zis!jS zc7Tloe^9FSpG# z@ovOTdRb{{DyBGIKBSEu*`H^uB8+~e&Pmw`AFSZ2$2b*G)e^ZE?!C9srvdMcy*uB5 zF-ecc4yGk1Q&#FSdwYAw>e%ma6sG|45*ux_MH8O2X3$>U`}gmYGZhR-+r|x5+Z!1u z!QI%SXH}DtGbm+~!aYQP0R$r4Dxls)h2j>=7<&_}g>cpF z#imo--cqq9a%Rf6KC*0Qpbe#b#o2+3XN76E0BhqXp1i4mH~$#Kg3MF=Fuh! z$F^+WU)$DLBAmvkHR_;VRNzw%qn}GlNL0aMj4NB#@}$E$es2%A#u^k=S6(D{@r&n# zDW?~r)y=2T?&$=SY23yrEN5@5Aad+-<_bD)(}aMmbHy{lMhg)86^#pdxIHIwYzddr z)CJMN7_IvXefC##&+Yzj6dipoaw;e(3m3cA42c1c7@k#kkp`;lY#VQSi}fcV_h-fM z6*YX91Pb$>5)O)9{-V-umUgzw&cR*MH8xOE6s;Rtf;%apxk`C}u)&Jbo-ncUccIUn zR_Jl_J<6U{yclzVNVn=%f*PMM9`hJ(+KXj`YaZcpj2q1XBEOG};nCY?r?Y0{2$zIT8t zcfs0#(RpomGy4eQ;0Si}gHyG~_5ID?*z;3tKGD2yI%+s$2>n5mH3}0r6@6{x@2yD3 zF=odC+6ujte{jhmt~IK}a2S#_rS!6)u;)sxTAJJX9?YGska$;`7qgLBIOfMufRBh4 z`SbR%@!Nhzh7041!_42G=?8dc{=|NM{9QU?03%RIr0O->_lZU*^Hkc?G>Grl!CN9+g_Dzyrj_#Wz7n^O z-QC$R=zYh?&AUakzu!I7IgRIOIsxHU(B*WZZ1Op^*fS*jlxN=}%7(c(hPzviBgtx_ zNSo5y3yso%Gg;kMF>u?>CFD(`t+C-D+>P$`n29>S)5X}Zn4YmucP?1Ylt2O~s@6vQ z&YDSlIYyui#2up$89FXUiDXiYV-&_zCIAe~(+iTtT5(kirFl_CCVQ-`ZZ+UG3iH(w zA}e8`5I%ie12PxkE{I#`bv?Cg_ z!u}(yD7(jEU1}GCFRLOMv(!$R;sV?hy$w0if>@kG{Y(NNgfv@Lnb{$(ubKx5adY(E z?_?o{-b#^B9IAs>eE&bXJO7~a&gJR3#)q#p4l1%nv|&6p-CDu0>q!q&4cUm+1wd{w zV)3Kqb{Fm^gY#z!y}RXq2B_hRN|%+{9k=jUIdRNy1) zY610yAx))cZ(PVLAA6GzhViaNj)&9Rw)(V$F5PU;0WA{;jv!}y1BJ3$?A zpv=p5Aub39cWuH+huF1NpZ%rQBu@d8;l3U3D=8_7Ltz-S?FYzC4vZJy!xYvV)QBr4 zOq5g5pq_KcX*f3eocUB-0I(<|a@;R>%)hU~ldCwHn^8t;6_m6{;4zmv$!5^DYlmE; z$+omB=RG@)>!k;X36%CWuN=<;aJZ7>UZH#7_>wdMXx8&zakTk-aKUNrT1!YEo)L+Q z7_ETQ6_95gY+%cOs}63OTNpz!QMp_K+1^=gK+rRI#DUQN0;0j+T*u}#uKq5Uc;@^n zXOvn!1q+>Lo<1$!v{BlAAOSyP;@Q~e9ko^OKuf*u@FYEAtop|O90y{?jb!8!_wxcO zWgb@&u88XsHdXR`3S*VbjUCx+oZjT4S^{(J4vQ(+W|H0BX)@9F{hzpNYP-9WL2U}q z9sY^Z2+2_P!e?4JxX@J^9ob)7GD*B^ZLFqo<^B0L>!&eL+(fReh3TW!KQssQ%Qj8-y{s_5 zFAWfxm(pEhhP-qQ1h1pn3ka5m`sH+Y=$EGUX!XAExr0*VMb}_BRWLF$>W)?rR@KzC zhl@~wOYBz2Yr8UgvYQ2F&G-nM*~+!v$e~muh8

##;F`1w?x3QxNZ&sKCKG8-&( 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 LHm&^0C>**tB&UYb)#xa(l_75p1bJr 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 FzW{woznlO7 literal 0 HcmV?d00001 diff --git a/super_editor/test_goldens/super_textfield/goldens/super-text-field_inline_widgets_single_line_selection_box_over.png b/super_editor/test_goldens/super_textfield/goldens/super-text-field_inline_widgets_single_line_selection_box_over.png new file mode 100644 index 0000000000000000000000000000000000000000..08380e0f238d69d729ba93b2c28e713c3348a313 GIT binary patch literal 7613 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 literal 0 HcmV?d00001 diff --git a/super_editor/test_goldens/super_textfield/super_textfield_inline_widgets_test.dart b/super_editor/test_goldens/super_textfield/super_textfield_inline_widgets_test.dart new file mode 100644 index 0000000000..248dad2816 --- /dev/null +++ b/super_editor/test_goldens/super_textfield/super_textfield_inline_widgets_test.dart @@ -0,0 +1,280 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:golden_toolkit/golden_toolkit.dart'; +import 'package:super_editor/super_editor.dart'; + +import '../../test/super_textfield/super_textfield_robot.dart'; +import '../test_tools_goldens.dart'; + +Future main() async { + await loadAppFonts(); + + group('SuperTextField > inline widgets >', () { + group('single line >', () { + testGoldensOnMac( + 'displays caret at upstream side of inline widget', + (tester) async { + await _pumpSingleLineTestApp(tester); + + // Place the caret at the upstream side of the inline widget. + await tester.placeCaretInSuperTextField(7); + + await screenMatchesGolden(tester, 'super-text-field_inline_widgets_single_line_caret_upstream'); + }, + windowSize: goldenSizeSmall, + ); + + testGoldensOnMac( + 'displays caret at downstream side of inline widget', + (tester) async { + await _pumpSingleLineTestApp(tester); + + // Place the caret at the downstream side of the inline widget. + await tester.placeCaretInSuperTextField(8); + + await screenMatchesGolden(tester, 'super-text-field_inline_widgets_single_line_caret_downstream'); + }, + windowSize: goldenSizeSmall, + ); + + testGoldensOnMac( + 'displays selection box when selecting inline widget', + (tester) async { + await _pumpSingleLineTestApp( + tester, + initialSelection: const TextSelection(baseOffset: 7, extentOffset: 8), + ); + + await screenMatchesGolden(tester, 'super-text-field_inline_widgets_single_line_selection_box_single'); + }, + windowSize: goldenSizeSmall, + ); + + testGoldensOnMac( + 'displays selection box upstream near inline widget', + (tester) async { + await _pumpSingleLineTestApp( + tester, + initialSelection: const TextSelection(baseOffset: 0, extentOffset: 7), + ); + + await screenMatchesGolden(tester, 'super-text-field_inline_widgets_single_line_selection_box_upstream'); + }, + windowSize: goldenSizeSmall, + ); + + testGoldensOnMac( + 'displays selection box downstream near inline widget', + (tester) async { + await _pumpSingleLineTestApp( + tester, + initialSelection: const TextSelection(baseOffset: 8, extentOffset: 14), + ); + + await screenMatchesGolden(tester, 'super-text-field_inline_widgets_single_line_selection_box_downstream'); + }, + windowSize: goldenSizeSmall, + ); + + testGoldensOnMac( + 'displays selection box when selecting over inline widget', + (tester) async { + await _pumpSingleLineTestApp( + tester, + initialSelection: const TextSelection(baseOffset: 0, extentOffset: 14), + ); + + await screenMatchesGolden(tester, 'super-text-field_inline_widgets_single_line_selection_box_over'); + }, + windowSize: goldenSizeSmall, + ); + }); + + group('multi line >', () { + testGoldensOnMac( + 'displays caret at upstream side of inline widget', + (tester) async { + await _pumpMultiLineTestApp(tester); + + // Place the caret at the upstream side of the inline widget. + await tester.placeCaretInSuperTextField(27); + + await screenMatchesGolden(tester, 'super-text-field_inline_widgets_multi_line_caret_upstream'); + }, + windowSize: goldenSizeSmall, + ); + + testGoldensOnMac( + 'displays caret at downstream side of inline widget', + (tester) async { + await _pumpMultiLineTestApp(tester); + + // Place the caret at the downstream side of the inline widget. + await tester.placeCaretInSuperTextField(28); + + await screenMatchesGolden(tester, 'super-text-field_inline_widgets_multi_line_caret_downstream'); + }, + windowSize: goldenSizeSmall, + ); + + testGoldensOnMac( + 'displays selection box when selecting inline widget', + (tester) async { + await _pumpMultiLineTestApp( + tester, + initialSelection: const TextSelection(baseOffset: 27, extentOffset: 28), + ); + + await screenMatchesGolden(tester, 'super-text-field_inline_widgets_multi_line_selection_box_single'); + }, + windowSize: goldenSizeSmall, + ); + + testGoldensOnMac( + 'displays selection box upstream near inline widget', + (tester) async { + await _pumpMultiLineTestApp( + tester, + initialSelection: const TextSelection(baseOffset: 0, extentOffset: 27), + ); + + await screenMatchesGolden(tester, 'super-text-field_inline_widgets_multi_line_selection_box_upstream'); + }, + windowSize: goldenSizeSmall, + ); + + testGoldensOnMac( + 'displays selection box downstream near inline widget', + (tester) async { + await _pumpMultiLineTestApp( + tester, + initialSelection: const TextSelection(baseOffset: 28, extentOffset: 53), + ); + + await screenMatchesGolden(tester, 'super-text-field_inline_widgets_multi_line_selection_box_downstream'); + }, + windowSize: goldenSizeSmall, + ); + + testGoldensOnMac( + 'displays selection box when selecting over inline widget', + (tester) async { + await _pumpMultiLineTestApp( + tester, + initialSelection: const TextSelection(baseOffset: 0, extentOffset: 53), + ); + + await screenMatchesGolden(tester, 'super-text-field_inline_widgets_multi_line_selection_box_over'); + }, + windowSize: goldenSizeSmall, + ); + }); + }); +} + +/// Pump a test app with a [SuperTextField] that renders a [ColoredBox] for each +/// [_NamedPlaceHolder] in the text, with an inline widget at offset 7. +Future _pumpSingleLineTestApp( + WidgetTester tester, { + TextSelection? initialSelection, +}) async { + final controller = AttributedTextEditingController( + text: AttributedText( + 'before after', + null, + { + 7: const _NamedPlaceHolder('1'), + }, + ), + selection: initialSelection, + ); + await _pumpTestApp(tester, controller: controller); +} + +/// Pump a test app with a [SuperTextField] that renders a [ColoredBox] for each +/// [_NamedPlaceHolder] in the text, with an inline widget at offset 27. +Future _pumpMultiLineTestApp( + WidgetTester tester, { + TextSelection? initialSelection, +}) async { + final controller = AttributedTextEditingController( + text: AttributedText( + 'first line of text \nbefore after\nthird line of text', + null, + { + 27: const _NamedPlaceHolder('1'), + }, + ), + selection: initialSelection, + ); + await _pumpTestApp(tester, controller: controller); +} + +/// Pump a test app with a [SuperTextField] that renders a [ColoredBox] for each +/// [_NamedPlaceHolder] in the text. +Future _pumpTestApp( + WidgetTester tester, { + required AttributedTextEditingController controller, +}) async { + await tester.pumpWidget( + MaterialApp( + debugShowCheckedModeBanner: false, + home: Scaffold( + body: Center( + child: Padding( + padding: const EdgeInsets.all(4.0), + child: SizedBox( + height: 300, + child: SuperTextField( + textController: controller, + textStyleBuilder: (attributions) => const TextStyle( + // Use Roboto so that goldens show real text. + fontFamily: 'Roboto', + fontSize: 18, + color: Colors.black, + ), + inlineWidgetBuilders: const [ + _boxPlaceHolderBuilder, + ], + ), + ), + ), + ), + ), + ), + ); +} + +/// A builder that renders a [ColoredBox] for a [_NamedPlaceHolder]. +Widget? _boxPlaceHolderBuilder(BuildContext context, TextStyle textStyle, Object placeholder) { + if (placeholder is! _NamedPlaceHolder) { + return null; + } + + return KeyedSubtree( + key: ValueKey('placeholder-${placeholder.name}'), + child: LineHeight( + style: textStyle, + child: const SizedBox( + width: 24, + child: ColoredBox( + color: Colors.yellow, + ), + ), + ), + ); +} + +// A placeholder that is identified by a name. +class _NamedPlaceHolder { + const _NamedPlaceHolder(this.name); + + final String name; + + @override + bool operator ==(Object other) => + identical(this, other) || other is _NamedPlaceHolder && runtimeType == other.runtimeType && name == other.name; + + @override + int get hashCode => name.hashCode; +}