-
Notifications
You must be signed in to change notification settings - Fork 29.7k
feat: Add selectionColor property to selectable text #162177
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Add selectionColor property to selectable text #162177
Conversation
Renzo-Olivares
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @lucas-goldner, thank you for your contribution! I left a few small comments but overall this looks good to me.
| cursorOpacityAnimates = true; | ||
| cursorColor = | ||
| widget.cursorColor ?? selectionStyle.cursorColor ?? cupertinoTheme.primaryColor; | ||
| selectionColor = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of updating each switch case, your selectionColor: widget.selectionColor ?? selectionColor on EditableText is sufficient.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I adjusted it thank you! Does that mean cursorColor could also be shortened here? Or am I missing something
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think for this PR we can leave it as is.
c143b51 to
2615ce5
Compare
2615ce5 to
4c1ac74
Compare
|
Golden file changes have been found for this pull request. Click here to view and triage (e.g. because this is an intentional change). If you are still iterating on this change and are not ready to resolve the images on the Flutter Gold dashboard, consider marking this PR as a draft pull request above. You will still be able to view image results on the dashboard, commenting will be silenced, and the check will not try to resolve itself until marked ready for review. For more guidance, visit Writing a golden file test for Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, the goldens seem unrelated, maybe try doing a rebase?
4c1ac74 to
8e00f49
Compare
justinmc
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM with nits 👍 . Thanks for adding this!
8e00f49 to
644faf0
Compare
justinmc
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Renewing my LGTM and merging 👍
Manual roll Flutter from 39b4951 to 911aa75 (56 revisions) Manual roll requested by [email protected] flutter/flutter@39b4951...911aa75 2025-02-21 [email protected] Remove legacy scenec stuff from flutter_tool (flutter/flutter#163569) 2025-02-21 [email protected] [fuchsia] reorder tests in test_suites.yaml and update the comment (flutter/flutter#163799) 2025-02-21 [email protected] Roll Dart SDK from 7ceb3be8ed0a to c5e582f15b6c (2 revisions) (flutter/flutter#163844) 2025-02-21 [email protected] Roll Packages from a9b9172 to 5a721da (2 revisions) (flutter/flutter#163848) 2025-02-21 [email protected] Roll Dart SDK from ad642ee6f94b to 7ceb3be8ed0a (2 revisions) (flutter/flutter#163832) 2025-02-21 [email protected] Update how to use VSCode with `clangd` after the monorepo merge (flutter/flutter#163671) 2025-02-21 [email protected] Reland #163711 after #163780 (flutter/flutter#163812) 2025-02-21 [email protected] Fix incorrect function name in FlutterEngineRun documentation (flutter/flutter#163696) 2025-02-21 [email protected] Roll Dart SDK from 557cbf2c7da6 to ad642ee6f94b (5 revisions) (flutter/flutter#163794) 2025-02-21 [email protected] [canvaskit] Use `visualViewport.scale` to determine device pixel ratio. (flutter/flutter#163688) 2025-02-21 [email protected] [DisplayList] Migrate rendering tests and benchmarks to DL geometry (flutter/flutter#163766) 2025-02-21 [email protected] Make `releaseMode` explicit, inform `determineDevDependencies` entirely on the flag (flutter/flutter#163780) 2025-02-21 [email protected] Ensure `exclude_dev_dependencies_test` runs if `flutter_tools` changes. (flutter/flutter#163768) 2025-02-21 [email protected] WebKit should respect TextCapitalization.words (flutter/flutter#161027) 2025-02-21 [email protected] CupertinoSliverNavigationBar.search fidelity updates (flutter/flutter#163089) 2025-02-21 [email protected] feat: Add selectionColor property to selectable text (flutter/flutter#162177) 2025-02-20 [email protected] Restore `linux_android_emulator_tests` to CI. (flutter/flutter#163747) 2025-02-20 [email protected] introduce system color palette (flutter/flutter#163335) 2025-02-20 [email protected] [web] DRY up access to headers required for multi-threaded WebAssembly (flutter/flutter#163555) 2025-02-20 [email protected] fix(CupertinoDatePicker): font is inconsistent (flutter/flutter#162932) 2025-02-20 [email protected] Create Android-API-And-Related-Versions.md (flutter/flutter#163556) 2025-02-20 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Avoid implicitly setting `determineDevDependencies: true` (it's not a safe operation) (#163711)" (flutter/flutter#163762) 2025-02-20 [email protected] Revert "Create g3_bug.yml" (flutter/flutter#163757) 2025-02-20 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Make Flutter version information accessible at runtime (#140783)" (flutter/flutter#163753) 2025-02-20 [email protected] Skip Xcode install on mac_mokey Android tests (flutter/flutter#163685) 2025-02-20 [email protected] Roll Dart SDK from 2cecb16348e4 to 557cbf2c7da6 (3 revisions) (flutter/flutter#163705) 2025-02-20 [email protected] Add `FlutterVersion.engineCommitDate`, helps signal engine artifact SHA issues (flutter/flutter#163652) 2025-02-20 [email protected] Avoid implicitly setting `determineDevDependencies: true` (it's not a safe operation) (flutter/flutter#163711) 2025-02-20 [email protected] It is now safe to call `getBuildMode().release` (flutter/flutter#163712) 2025-02-20 [email protected] [iOS] remove Skia interfaces from iOS platform code. (flutter/flutter#163505) 2025-02-20 [email protected] Make Flutter version information accessible at runtime (flutter/flutter#140783) 2025-02-20 [email protected] [windows] Implement merged UI and platform thread (flutter/flutter#162935) 2025-02-20 [email protected] `CircularProgressIndicator` throws null exception (flutter/flutter#163356) 2025-02-20 [email protected] Fix the issue where DropdownMenu does not gain focus when tapped. (flutter/flutter#162874) 2025-02-20 [email protected] Check for tracked engine.version before overriding (flutter/flutter#163672) 2025-02-20 [email protected] showDialogs adds a `requestFocus` parameter. (flutter/flutter#162928) 2025-02-20 [email protected] Create helper method to dispatch object creation and disposal. (flutter/flutter#163637) 2025-02-20 [email protected] Redistribute iOS TESTOWNERS (flutter/flutter#163653) 2025-02-20 [email protected] enclosingElement -> enclosingElement3 (flutter/flutter#163681) 2025-02-19 [email protected] [ Widget Preview ] Move `preview_detector_test.dart` from `general.shard` to `commands.shard` (flutter/flutter#163619) 2025-02-19 [email protected] [iOS] always post new task during gesture dispatch. (flutter/flutter#163646) 2025-02-19 [email protected] Allow flutter tools to detach a running Chrome session (flutter/flutter#163349) 2025-02-19 [email protected] Reland "[Impeller] add support for rational bezier conics to Path (#63282)" (flutter/flutter#163645) 2025-02-19 [email protected] [web:a11y] wheel events switch to pointer mode (flutter/flutter#163582) ...
) Manual roll Flutter from 39b4951 to 911aa75 (56 revisions) Manual roll requested by [email protected] flutter/flutter@39b4951...911aa75 2025-02-21 [email protected] Remove legacy scenec stuff from flutter_tool (flutter/flutter#163569) 2025-02-21 [email protected] [fuchsia] reorder tests in test_suites.yaml and update the comment (flutter/flutter#163799) 2025-02-21 [email protected] Roll Dart SDK from 7ceb3be8ed0a to c5e582f15b6c (2 revisions) (flutter/flutter#163844) 2025-02-21 [email protected] Roll Packages from a9b9172 to 5a721da (2 revisions) (flutter/flutter#163848) 2025-02-21 [email protected] Roll Dart SDK from ad642ee6f94b to 7ceb3be8ed0a (2 revisions) (flutter/flutter#163832) 2025-02-21 [email protected] Update how to use VSCode with `clangd` after the monorepo merge (flutter/flutter#163671) 2025-02-21 [email protected] Reland #163711 after #163780 (flutter/flutter#163812) 2025-02-21 [email protected] Fix incorrect function name in FlutterEngineRun documentation (flutter/flutter#163696) 2025-02-21 [email protected] Roll Dart SDK from 557cbf2c7da6 to ad642ee6f94b (5 revisions) (flutter/flutter#163794) 2025-02-21 [email protected] [canvaskit] Use `visualViewport.scale` to determine device pixel ratio. (flutter/flutter#163688) 2025-02-21 [email protected] [DisplayList] Migrate rendering tests and benchmarks to DL geometry (flutter/flutter#163766) 2025-02-21 [email protected] Make `releaseMode` explicit, inform `determineDevDependencies` entirely on the flag (flutter/flutter#163780) 2025-02-21 [email protected] Ensure `exclude_dev_dependencies_test` runs if `flutter_tools` changes. (flutter/flutter#163768) 2025-02-21 [email protected] WebKit should respect TextCapitalization.words (flutter/flutter#161027) 2025-02-21 [email protected] CupertinoSliverNavigationBar.search fidelity updates (flutter/flutter#163089) 2025-02-21 [email protected] feat: Add selectionColor property to selectable text (flutter/flutter#162177) 2025-02-20 [email protected] Restore `linux_android_emulator_tests` to CI. (flutter/flutter#163747) 2025-02-20 [email protected] introduce system color palette (flutter/flutter#163335) 2025-02-20 [email protected] [web] DRY up access to headers required for multi-threaded WebAssembly (flutter/flutter#163555) 2025-02-20 [email protected] fix(CupertinoDatePicker): font is inconsistent (flutter/flutter#162932) 2025-02-20 [email protected] Create Android-API-And-Related-Versions.md (flutter/flutter#163556) 2025-02-20 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Avoid implicitly setting `determineDevDependencies: true` (it's not a safe operation) (#163711)" (flutter/flutter#163762) 2025-02-20 [email protected] Revert "Create g3_bug.yml" (flutter/flutter#163757) 2025-02-20 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Make Flutter version information accessible at runtime (#140783)" (flutter/flutter#163753) 2025-02-20 [email protected] Skip Xcode install on mac_mokey Android tests (flutter/flutter#163685) 2025-02-20 [email protected] Roll Dart SDK from 2cecb16348e4 to 557cbf2c7da6 (3 revisions) (flutter/flutter#163705) 2025-02-20 [email protected] Add `FlutterVersion.engineCommitDate`, helps signal engine artifact SHA issues (flutter/flutter#163652) 2025-02-20 [email protected] Avoid implicitly setting `determineDevDependencies: true` (it's not a safe operation) (flutter/flutter#163711) 2025-02-20 [email protected] It is now safe to call `getBuildMode().release` (flutter/flutter#163712) 2025-02-20 [email protected] [iOS] remove Skia interfaces from iOS platform code. (flutter/flutter#163505) 2025-02-20 [email protected] Make Flutter version information accessible at runtime (flutter/flutter#140783) 2025-02-20 [email protected] [windows] Implement merged UI and platform thread (flutter/flutter#162935) 2025-02-20 [email protected] `CircularProgressIndicator` throws null exception (flutter/flutter#163356) 2025-02-20 [email protected] Fix the issue where DropdownMenu does not gain focus when tapped. (flutter/flutter#162874) 2025-02-20 [email protected] Check for tracked engine.version before overriding (flutter/flutter#163672) 2025-02-20 [email protected] showDialogs adds a `requestFocus` parameter. (flutter/flutter#162928) 2025-02-20 [email protected] Create helper method to dispatch object creation and disposal. (flutter/flutter#163637) 2025-02-20 [email protected] Redistribute iOS TESTOWNERS (flutter/flutter#163653) 2025-02-20 [email protected] enclosingElement -> enclosingElement3 (flutter/flutter#163681) 2025-02-19 [email protected] [ Widget Preview ] Move `preview_detector_test.dart` from `general.shard` to `commands.shard` (flutter/flutter#163619) 2025-02-19 [email protected] [iOS] always post new task during gesture dispatch. (flutter/flutter#163646) 2025-02-19 [email protected] Allow flutter tools to detach a running Chrome session (flutter/flutter#163349) 2025-02-19 [email protected] Reland "[Impeller] add support for rational bezier conics to Path (#63282)" (flutter/flutter#163645) 2025-02-19 [email protected] [web:a11y] wheel events switch to pointer mode (flutter/flutter#163582) ...
) Manual roll Flutter from 39b4951 to 911aa75 (56 revisions) Manual roll requested by [email protected] flutter/flutter@39b4951...911aa75 2025-02-21 [email protected] Remove legacy scenec stuff from flutter_tool (flutter/flutter#163569) 2025-02-21 [email protected] [fuchsia] reorder tests in test_suites.yaml and update the comment (flutter/flutter#163799) 2025-02-21 [email protected] Roll Dart SDK from 7ceb3be8ed0a to c5e582f15b6c (2 revisions) (flutter/flutter#163844) 2025-02-21 [email protected] Roll Packages from a9b9172 to 5a721da (2 revisions) (flutter/flutter#163848) 2025-02-21 [email protected] Roll Dart SDK from ad642ee6f94b to 7ceb3be8ed0a (2 revisions) (flutter/flutter#163832) 2025-02-21 [email protected] Update how to use VSCode with `clangd` after the monorepo merge (flutter/flutter#163671) 2025-02-21 [email protected] Reland #163711 after #163780 (flutter/flutter#163812) 2025-02-21 [email protected] Fix incorrect function name in FlutterEngineRun documentation (flutter/flutter#163696) 2025-02-21 [email protected] Roll Dart SDK from 557cbf2c7da6 to ad642ee6f94b (5 revisions) (flutter/flutter#163794) 2025-02-21 [email protected] [canvaskit] Use `visualViewport.scale` to determine device pixel ratio. (flutter/flutter#163688) 2025-02-21 [email protected] [DisplayList] Migrate rendering tests and benchmarks to DL geometry (flutter/flutter#163766) 2025-02-21 [email protected] Make `releaseMode` explicit, inform `determineDevDependencies` entirely on the flag (flutter/flutter#163780) 2025-02-21 [email protected] Ensure `exclude_dev_dependencies_test` runs if `flutter_tools` changes. (flutter/flutter#163768) 2025-02-21 [email protected] WebKit should respect TextCapitalization.words (flutter/flutter#161027) 2025-02-21 [email protected] CupertinoSliverNavigationBar.search fidelity updates (flutter/flutter#163089) 2025-02-21 [email protected] feat: Add selectionColor property to selectable text (flutter/flutter#162177) 2025-02-20 [email protected] Restore `linux_android_emulator_tests` to CI. (flutter/flutter#163747) 2025-02-20 [email protected] introduce system color palette (flutter/flutter#163335) 2025-02-20 [email protected] [web] DRY up access to headers required for multi-threaded WebAssembly (flutter/flutter#163555) 2025-02-20 [email protected] fix(CupertinoDatePicker): font is inconsistent (flutter/flutter#162932) 2025-02-20 [email protected] Create Android-API-And-Related-Versions.md (flutter/flutter#163556) 2025-02-20 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Avoid implicitly setting `determineDevDependencies: true` (it's not a safe operation) (#163711)" (flutter/flutter#163762) 2025-02-20 [email protected] Revert "Create g3_bug.yml" (flutter/flutter#163757) 2025-02-20 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Make Flutter version information accessible at runtime (#140783)" (flutter/flutter#163753) 2025-02-20 [email protected] Skip Xcode install on mac_mokey Android tests (flutter/flutter#163685) 2025-02-20 [email protected] Roll Dart SDK from 2cecb16348e4 to 557cbf2c7da6 (3 revisions) (flutter/flutter#163705) 2025-02-20 [email protected] Add `FlutterVersion.engineCommitDate`, helps signal engine artifact SHA issues (flutter/flutter#163652) 2025-02-20 [email protected] Avoid implicitly setting `determineDevDependencies: true` (it's not a safe operation) (flutter/flutter#163711) 2025-02-20 [email protected] It is now safe to call `getBuildMode().release` (flutter/flutter#163712) 2025-02-20 [email protected] [iOS] remove Skia interfaces from iOS platform code. (flutter/flutter#163505) 2025-02-20 [email protected] Make Flutter version information accessible at runtime (flutter/flutter#140783) 2025-02-20 [email protected] [windows] Implement merged UI and platform thread (flutter/flutter#162935) 2025-02-20 [email protected] `CircularProgressIndicator` throws null exception (flutter/flutter#163356) 2025-02-20 [email protected] Fix the issue where DropdownMenu does not gain focus when tapped. (flutter/flutter#162874) 2025-02-20 [email protected] Check for tracked engine.version before overriding (flutter/flutter#163672) 2025-02-20 [email protected] showDialogs adds a `requestFocus` parameter. (flutter/flutter#162928) 2025-02-20 [email protected] Create helper method to dispatch object creation and disposal. (flutter/flutter#163637) 2025-02-20 [email protected] Redistribute iOS TESTOWNERS (flutter/flutter#163653) 2025-02-20 [email protected] enclosingElement -> enclosingElement3 (flutter/flutter#163681) 2025-02-19 [email protected] [ Widget Preview ] Move `preview_detector_test.dart` from `general.shard` to `commands.shard` (flutter/flutter#163619) 2025-02-19 [email protected] [iOS] always post new task during gesture dispatch. (flutter/flutter#163646) 2025-02-19 [email protected] Allow flutter tools to detach a running Chrome session (flutter/flutter#163349) 2025-02-19 [email protected] Reland "[Impeller] add support for rational bezier conics to Path (#63282)" (flutter/flutter#163645) 2025-02-19 [email protected] [web:a11y] wheel events switch to pointer mode (flutter/flutter#163582) ...
This PR aims to add a
selectionColorproperty to theSelectableTextwidget. Below I have an image attached showing a SelectableText with a custom selectionColorFixes #162165
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.
P.S. This is my first PR to the Flutter repo, so if I can improve something, please let me know 🙇🏽