From 84b133acad79d241166e84ff98095ac532901caa Mon Sep 17 00:00:00 2001 From: Tong Mu Date: Wed, 22 Jul 2026 10:17:42 -0700 Subject: [PATCH 1/3] Impl --- packages/cupertino_ui/lib/src/scrollbar.dart | 5 +++- packages/cupertino_ui/lib/src/text_field.dart | 24 ++++++++++++++++--- .../material_ui/lib/src/autocomplete.dart | 10 ++++++-- .../material_ui/lib/src/reorderable_list.dart | 7 +++++- packages/material_ui/lib/src/scrollbar.dart | 20 +++++++++++++--- packages/material_ui/lib/src/text_field.dart | 17 +++++++++++-- 6 files changed, 71 insertions(+), 12 deletions(-) diff --git a/packages/cupertino_ui/lib/src/scrollbar.dart b/packages/cupertino_ui/lib/src/scrollbar.dart index d3387c15e41..2117c2f2cdb 100644 --- a/packages/cupertino_ui/lib/src/scrollbar.dart +++ b/packages/cupertino_ui/lib/src/scrollbar.dart @@ -37,7 +37,10 @@ const double _kScrollbarCrossAxisMargin = 3.0; /// /// {@youtube 560 315 https://www.youtube.com/watch?v=DbkIQSvwnZc} /// -/// {@macro flutter.widgets.Scrollbar} +/// For a detailed introduction, see [RawScrollbar]. +// TODO(dkwingsmt): Migrate the doc back to macro +// flutter.widgets.Scrollbar +// when https://github.com/flutter/flutter/issues/189629 reaches phase 3. /// /// When dragging a [CupertinoScrollbar] thumb, the thickness and radius will /// animate from [thickness] and [radius] to [thicknessWhileDragging] and diff --git a/packages/cupertino_ui/lib/src/text_field.dart b/packages/cupertino_ui/lib/src/text_field.dart index 33b62f91e3b..9b68741594e 100644 --- a/packages/cupertino_ui/lib/src/text_field.dart +++ b/packages/cupertino_ui/lib/src/text_field.dart @@ -700,7 +700,13 @@ class CupertinoTextField extends StatefulWidget { /// {@macro flutter.services.textFormatter.maxLengthEnforcement} final MaxLengthEnforcement? maxLengthEnforcement; - /// {@macro flutter.widgets.editableText.onChanged} + /// Called when the user initiates a change to the TextField's + /// value: when they have inserted or deleted text. + /// + /// For a detailed introduction, see [EditableText.onChanged]. + // TODO(dkwingsmt): Migrate the doc back to macro + // flutter.widgets.editableText.onChanged + // when https://github.com/flutter/flutter/issues/189629 reaches phase 3. final ValueChanged? onChanged; /// {@macro flutter.widgets.editableText.onEditingComplete} @@ -865,10 +871,22 @@ class CupertinoTextField extends StatefulWidget { /// {@macro flutter.services.TextInputConfiguration.enableInlinePrediction} final bool? enableInlinePrediction; - /// {@macro flutter.widgets.editableText.contentInsertionConfiguration} + /// Configuration of handler for media content inserted via the system input + /// method. + /// + /// For a detailed introduction, see + /// [EditableText.contentInsertionConfiguration]. + // TODO(dkwingsmt): Migrate the doc back to macro + // flutter.widgets.editableText.contentInsertionConfiguration + // when https://github.com/flutter/flutter/issues/189629 reaches phase 3. final ContentInsertionConfiguration? contentInsertionConfiguration; - /// {@macro flutter.widgets.EditableText.contextMenuBuilder} + /// Builds the text selection toolbar when requested by the user. + /// + /// For a detailed introduction, see [EditableText.contextMenuBuilder]. + // TODO(dkwingsmt): Migrate the doc back to macro + // flutter.widgets.EditableText.contextMenuBuilder + // when https://github.com/flutter/flutter/issues/189629 reaches phase 3. /// /// If not provided, will build a default menu based on the platform. /// diff --git a/packages/material_ui/lib/src/autocomplete.dart b/packages/material_ui/lib/src/autocomplete.dart index bcb86c4a671..f0e843ca73c 100644 --- a/packages/material_ui/lib/src/autocomplete.dart +++ b/packages/material_ui/lib/src/autocomplete.dart @@ -113,7 +113,10 @@ class Autocomplete extends StatelessWidget { /// The [FocusNode] that is used for the text field. /// - /// {@macro flutter.widgets.RawAutocomplete.split} + /// For a detailed introduction, see [RawAutocomplete.focusNode]. + // TODO(dkwingsmt): Migrate the doc back to macro + // flutter.widgets.RawAutocomplete.split + // when https://github.com/flutter/flutter/issues/189629 reaches phase 3. /// /// If this parameter is not null, then [textEditingController] must also be /// non-null. @@ -144,7 +147,10 @@ class Autocomplete extends StatelessWidget { /// The [TextEditingController] that is used for the text field. /// - /// {@macro flutter.widgets.RawAutocomplete.split} + /// For a detailed introduction, see [RawAutocomplete.focusNode]. + // TODO(dkwingsmt): Migrate the doc back to macro + // flutter.widgets.RawAutocomplete.split + // when https://github.com/flutter/flutter/issues/189629 reaches phase 3. /// /// If this parameter is not null, then [focusNode] must also be non-null. final TextEditingController? textEditingController; diff --git a/packages/material_ui/lib/src/reorderable_list.dart b/packages/material_ui/lib/src/reorderable_list.dart index 430de8a9d3c..2c5ec07038a 100644 --- a/packages/material_ui/lib/src/reorderable_list.dart +++ b/packages/material_ui/lib/src/reorderable_list.dart @@ -333,7 +333,12 @@ class ReorderableListView extends StatefulWidget { /// {@macro flutter.widgets.scroll_view.shrinkWrap} final bool shrinkWrap; - /// {@macro flutter.widgets.scroll_view.anchor} + /// The relative position of the zero scroll offset. + /// + /// For a detailed introduction, see [ScrollView.anchor]. + // TODO(dkwingsmt): Migrate the doc back to macro + // flutter.widgets.scroll_view.anchor + // when https://github.com/flutter/flutter/issues/189629 reaches phase 3. final double anchor; /// {@macro flutter.rendering.RenderViewportBase.cacheExtent} diff --git a/packages/material_ui/lib/src/scrollbar.dart b/packages/material_ui/lib/src/scrollbar.dart index e7e9ab1cb08..ff7f44f7cd4 100644 --- a/packages/material_ui/lib/src/scrollbar.dart +++ b/packages/material_ui/lib/src/scrollbar.dart @@ -24,7 +24,10 @@ const Duration _kScrollbarTimeToFade = Duration(milliseconds: 600); /// /// {@youtube 560 315 https://www.youtube.com/watch?v=DbkIQSvwnZc} /// -/// {@macro flutter.widgets.Scrollbar} +/// For a detailed introduction, see [RawScrollbar]. +// TODO(dkwingsmt): Migrate the doc back to macro +// flutter.widgets.Scrollbar +// when https://github.com/flutter/flutter/issues/189629 reaches phase 3. /// /// Dynamically changes to a [CupertinoScrollbar], an iOS style scrollbar, by /// default on the iOS platform. @@ -111,10 +114,21 @@ class Scrollbar extends StatelessWidget { /// {@macro flutter.widgets.Scrollbar.child} final Widget child; - /// {@macro flutter.widgets.Scrollbar.controller} + /// The [ScrollController] used to implement Scrollbar dragging. + /// + /// For a detailed introduction, see [RawScrollbar.controller]. + // TODO(dkwingsmt): Migrate the doc back to macro + // flutter.widgets.Scrollbar.controller + // when https://github.com/flutter/flutter/issues/189629 reaches phase 3. final ScrollController? controller; - /// {@macro flutter.widgets.Scrollbar.thumbVisibility} + /// Indicates that the scrollbar thumb should be visible, even when a scroll + /// is not underway. + /// + /// For a detailed introduction, see [RawScrollbar.thumbVisibility]. + // TODO(dkwingsmt): Migrate the doc back to macro + // flutter.widgets.Scrollbar.thumbVisibility + // when https://github.com/flutter/flutter/issues/189629 reaches phase 3. /// /// If this property is null, then [ScrollbarThemeData.thumbVisibility] of /// [ThemeData.scrollbarTheme] is used. If that is also null, the default value diff --git a/packages/material_ui/lib/src/text_field.dart b/packages/material_ui/lib/src/text_field.dart index 0184fb04d11..aee2cf86b9d 100644 --- a/packages/material_ui/lib/src/text_field.dart +++ b/packages/material_ui/lib/src/text_field.dart @@ -607,7 +607,13 @@ class TextField extends StatefulWidget { /// {@macro flutter.services.textFormatter.maxLengthEnforcement} final MaxLengthEnforcement? maxLengthEnforcement; - /// {@macro flutter.widgets.editableText.onChanged} + /// Called when the user initiates a change to the TextField's + /// value: when they have inserted or deleted text. + /// + /// For a detailed introduction, see [EditableText.onChanged]. + // TODO(dkwingsmt): Migrate the doc back to macro + // flutter.widgets.editableText.onChanged + // when https://github.com/flutter/flutter/issues/189629 reaches phase 3. /// /// See also: /// @@ -863,7 +869,14 @@ class TextField extends StatefulWidget { /// {@macro flutter.services.TextInputConfiguration.enableInlinePrediction} final bool? enableInlinePrediction; - /// {@macro flutter.widgets.editableText.contentInsertionConfiguration} + /// Configuration of handler for media content inserted via the system input + /// method. + /// + /// For a detailed introduction, see + /// [EditableText.contentInsertionConfiguration]. + // TODO(dkwingsmt): Migrate the doc back to macro + // flutter.widgets.editableText.contentInsertionConfiguration + // when https://github.com/flutter/flutter/issues/189629 reaches phase 3. final ContentInsertionConfiguration? contentInsertionConfiguration; /// {@macro flutter.widgets.EditableText.contextMenuBuilder} From c1db05f888dac8ea0c5882a7b626614806a4375a Mon Sep 17 00:00:00 2001 From: Tong Mu Date: Wed, 22 Jul 2026 10:22:57 -0700 Subject: [PATCH 2/3] Fix --- packages/material_ui/lib/src/autocomplete.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/material_ui/lib/src/autocomplete.dart b/packages/material_ui/lib/src/autocomplete.dart index f0e843ca73c..bc47284f47d 100644 --- a/packages/material_ui/lib/src/autocomplete.dart +++ b/packages/material_ui/lib/src/autocomplete.dart @@ -147,7 +147,7 @@ class Autocomplete extends StatelessWidget { /// The [TextEditingController] that is used for the text field. /// - /// For a detailed introduction, see [RawAutocomplete.focusNode]. + /// For a detailed introduction, see [RawAutocomplete.textEditingController]. // TODO(dkwingsmt): Migrate the doc back to macro // flutter.widgets.RawAutocomplete.split // when https://github.com/flutter/flutter/issues/189629 reaches phase 3. From ca047781449b0852a9fe7899eb6f0cf2c1f5d3d9 Mon Sep 17 00:00:00 2001 From: Tong Mu Date: Wed, 22 Jul 2026 16:42:09 -0700 Subject: [PATCH 3/3] Fix --- packages/cupertino_ui/lib/src/scrollbar.dart | 4 ++-- packages/cupertino_ui/lib/src/text_field.dart | 13 ++++++------- packages/material_ui/lib/src/autocomplete.dart | 8 ++++---- packages/material_ui/lib/src/reorderable_list.dart | 4 ++-- packages/material_ui/lib/src/scrollbar.dart | 12 ++++++------ packages/material_ui/lib/src/text_field.dart | 8 ++++---- 6 files changed, 24 insertions(+), 25 deletions(-) diff --git a/packages/cupertino_ui/lib/src/scrollbar.dart b/packages/cupertino_ui/lib/src/scrollbar.dart index 2117c2f2cdb..f02656bcdf5 100644 --- a/packages/cupertino_ui/lib/src/scrollbar.dart +++ b/packages/cupertino_ui/lib/src/scrollbar.dart @@ -37,10 +37,10 @@ const double _kScrollbarCrossAxisMargin = 3.0; /// /// {@youtube 560 315 https://www.youtube.com/watch?v=DbkIQSvwnZc} /// -/// For a detailed introduction, see [RawScrollbar]. +/// For more information, see [RawScrollbar]. // TODO(dkwingsmt): Migrate the doc back to macro // flutter.widgets.Scrollbar -// when https://github.com/flutter/flutter/issues/189629 reaches phase 3. +// https://github.com/flutter/flutter/issues/189629 /// /// When dragging a [CupertinoScrollbar] thumb, the thickness and radius will /// animate from [thickness] and [radius] to [thicknessWhileDragging] and diff --git a/packages/cupertino_ui/lib/src/text_field.dart b/packages/cupertino_ui/lib/src/text_field.dart index 9b68741594e..d1e81380d79 100644 --- a/packages/cupertino_ui/lib/src/text_field.dart +++ b/packages/cupertino_ui/lib/src/text_field.dart @@ -703,10 +703,10 @@ class CupertinoTextField extends StatefulWidget { /// Called when the user initiates a change to the TextField's /// value: when they have inserted or deleted text. /// - /// For a detailed introduction, see [EditableText.onChanged]. + /// For more information, see [EditableText.onChanged]. // TODO(dkwingsmt): Migrate the doc back to macro // flutter.widgets.editableText.onChanged - // when https://github.com/flutter/flutter/issues/189629 reaches phase 3. + // https://github.com/flutter/flutter/issues/189629 final ValueChanged? onChanged; /// {@macro flutter.widgets.editableText.onEditingComplete} @@ -874,19 +874,18 @@ class CupertinoTextField extends StatefulWidget { /// Configuration of handler for media content inserted via the system input /// method. /// - /// For a detailed introduction, see - /// [EditableText.contentInsertionConfiguration]. + /// For more information, see [EditableText.contentInsertionConfiguration]. // TODO(dkwingsmt): Migrate the doc back to macro // flutter.widgets.editableText.contentInsertionConfiguration - // when https://github.com/flutter/flutter/issues/189629 reaches phase 3. + // https://github.com/flutter/flutter/issues/189629 final ContentInsertionConfiguration? contentInsertionConfiguration; /// Builds the text selection toolbar when requested by the user. /// - /// For a detailed introduction, see [EditableText.contextMenuBuilder]. + /// For more information, see [EditableText.contextMenuBuilder]. // TODO(dkwingsmt): Migrate the doc back to macro // flutter.widgets.EditableText.contextMenuBuilder - // when https://github.com/flutter/flutter/issues/189629 reaches phase 3. + // https://github.com/flutter/flutter/issues/189629 /// /// If not provided, will build a default menu based on the platform. /// diff --git a/packages/material_ui/lib/src/autocomplete.dart b/packages/material_ui/lib/src/autocomplete.dart index bc47284f47d..7ff2f559535 100644 --- a/packages/material_ui/lib/src/autocomplete.dart +++ b/packages/material_ui/lib/src/autocomplete.dart @@ -113,10 +113,10 @@ class Autocomplete extends StatelessWidget { /// The [FocusNode] that is used for the text field. /// - /// For a detailed introduction, see [RawAutocomplete.focusNode]. + /// For more information, see [RawAutocomplete.focusNode]. // TODO(dkwingsmt): Migrate the doc back to macro // flutter.widgets.RawAutocomplete.split - // when https://github.com/flutter/flutter/issues/189629 reaches phase 3. + // https://github.com/flutter/flutter/issues/189629 /// /// If this parameter is not null, then [textEditingController] must also be /// non-null. @@ -147,10 +147,10 @@ class Autocomplete extends StatelessWidget { /// The [TextEditingController] that is used for the text field. /// - /// For a detailed introduction, see [RawAutocomplete.textEditingController]. + /// For more information, see [RawAutocomplete.textEditingController]. // TODO(dkwingsmt): Migrate the doc back to macro // flutter.widgets.RawAutocomplete.split - // when https://github.com/flutter/flutter/issues/189629 reaches phase 3. + // https://github.com/flutter/flutter/issues/189629 /// /// If this parameter is not null, then [focusNode] must also be non-null. final TextEditingController? textEditingController; diff --git a/packages/material_ui/lib/src/reorderable_list.dart b/packages/material_ui/lib/src/reorderable_list.dart index 2c5ec07038a..d7655148a32 100644 --- a/packages/material_ui/lib/src/reorderable_list.dart +++ b/packages/material_ui/lib/src/reorderable_list.dart @@ -335,10 +335,10 @@ class ReorderableListView extends StatefulWidget { /// The relative position of the zero scroll offset. /// - /// For a detailed introduction, see [ScrollView.anchor]. + /// For more information, see [ScrollView.anchor]. // TODO(dkwingsmt): Migrate the doc back to macro // flutter.widgets.scroll_view.anchor - // when https://github.com/flutter/flutter/issues/189629 reaches phase 3. + // https://github.com/flutter/flutter/issues/189629 final double anchor; /// {@macro flutter.rendering.RenderViewportBase.cacheExtent} diff --git a/packages/material_ui/lib/src/scrollbar.dart b/packages/material_ui/lib/src/scrollbar.dart index ff7f44f7cd4..092799850c6 100644 --- a/packages/material_ui/lib/src/scrollbar.dart +++ b/packages/material_ui/lib/src/scrollbar.dart @@ -24,10 +24,10 @@ const Duration _kScrollbarTimeToFade = Duration(milliseconds: 600); /// /// {@youtube 560 315 https://www.youtube.com/watch?v=DbkIQSvwnZc} /// -/// For a detailed introduction, see [RawScrollbar]. +/// For more information, see [RawScrollbar]. // TODO(dkwingsmt): Migrate the doc back to macro // flutter.widgets.Scrollbar -// when https://github.com/flutter/flutter/issues/189629 reaches phase 3. +// https://github.com/flutter/flutter/issues/189629 /// /// Dynamically changes to a [CupertinoScrollbar], an iOS style scrollbar, by /// default on the iOS platform. @@ -116,19 +116,19 @@ class Scrollbar extends StatelessWidget { /// The [ScrollController] used to implement Scrollbar dragging. /// - /// For a detailed introduction, see [RawScrollbar.controller]. + /// For more information, see [RawScrollbar.controller]. // TODO(dkwingsmt): Migrate the doc back to macro // flutter.widgets.Scrollbar.controller - // when https://github.com/flutter/flutter/issues/189629 reaches phase 3. + // https://github.com/flutter/flutter/issues/189629 final ScrollController? controller; /// Indicates that the scrollbar thumb should be visible, even when a scroll /// is not underway. /// - /// For a detailed introduction, see [RawScrollbar.thumbVisibility]. + /// For more information, see [RawScrollbar.thumbVisibility]. // TODO(dkwingsmt): Migrate the doc back to macro // flutter.widgets.Scrollbar.thumbVisibility - // when https://github.com/flutter/flutter/issues/189629 reaches phase 3. + // https://github.com/flutter/flutter/issues/189629 /// /// If this property is null, then [ScrollbarThemeData.thumbVisibility] of /// [ThemeData.scrollbarTheme] is used. If that is also null, the default value diff --git a/packages/material_ui/lib/src/text_field.dart b/packages/material_ui/lib/src/text_field.dart index aee2cf86b9d..7e3ff9146ac 100644 --- a/packages/material_ui/lib/src/text_field.dart +++ b/packages/material_ui/lib/src/text_field.dart @@ -610,10 +610,10 @@ class TextField extends StatefulWidget { /// Called when the user initiates a change to the TextField's /// value: when they have inserted or deleted text. /// - /// For a detailed introduction, see [EditableText.onChanged]. + /// For more information, see [EditableText.onChanged]. // TODO(dkwingsmt): Migrate the doc back to macro // flutter.widgets.editableText.onChanged - // when https://github.com/flutter/flutter/issues/189629 reaches phase 3. + // https://github.com/flutter/flutter/issues/189629 /// /// See also: /// @@ -872,11 +872,11 @@ class TextField extends StatefulWidget { /// Configuration of handler for media content inserted via the system input /// method. /// - /// For a detailed introduction, see + /// For more information, see /// [EditableText.contentInsertionConfiguration]. // TODO(dkwingsmt): Migrate the doc back to macro // flutter.widgets.editableText.contentInsertionConfiguration - // when https://github.com/flutter/flutter/issues/189629 reaches phase 3. + // https://github.com/flutter/flutter/issues/189629 final ContentInsertionConfiguration? contentInsertionConfiguration; /// {@macro flutter.widgets.EditableText.contextMenuBuilder}