Victoria Ashworth
c57e4e79a2
Revert "Cover some test/widgets tests with leak tracking" ( #133779 )
...
Reverts flutter/flutter#133767
Causing failures to Mac framework_tests_widgets and Linux framework_tests_widgets
2023-08-31 16:46:02 +00:00
Pierrick Bouvier
792e26df95
[Windows] Add target architecture to build path ( #131843 )
...
To implement windows-arm64 support, it is needed to add architecture as a subdirectory (https://github.com/flutter/flutter/issues/129805 ).
In short, when performing a flutter windows build, we have:
- Before: build/windows/runner/Release/gallery.exe
- After: build/windows/x64/runner/Release/gallery.exe
This convention follows what flutter linux build does.
Addresses: https://github.com/flutter/flutter/issues/129805
Addresses: https://github.com/flutter/flutter/issues/116196
Design doc: [flutter.dev/go/windows-arm64](https://flutter.dev/go/windows-arm64 )
2023-08-31 09:09:02 -07:00
Kostia Sokolovskyi
be06151e7d
Cover some test/widgets tests with leak tracking ( #133767 )
2023-08-31 09:02:49 -07:00
Kostia Sokolovskyi
414bff1403
ScrollController creation dispatching for memory leaks tracking ( #133759 )
2023-08-31 08:52:06 -07:00
Delwin Mathew
dd1ee24fc2
InputDecorationTheme.isCollapsed
doesn't work if InputDecoration.isCollapsed
is not provided. (#133189 )
...
`appleDefault` method didn't include setting values for non-null (here `isCollapsed`) parameters initially, which has been updated and documented in this commit.
Existing and new tests are passing.
Fixes #133144
2023-08-31 13:29:18 +00:00
Jonah Williams
a0862f1c3f
[framework] use ImageFilter for stretch overscroll. ( #133613 )
...
Rather than changing the size of the child elements (relaying out text
and potentially changing glyph shape and position due to pixel
snapping), apply the stretch effect as a compositing effect - render the
children to a texture and stretch the texture. If we end up using an
image shader to apply an custom shader we'll need to do this anyway.
Fixes https://github.com/flutter/flutter/issues/129528
### Before
https://github.com/flutter/flutter/assets/8975114/16e9eb57-f864-4093-b4a4-461082b89b43
### After
https://github.com/flutter/flutter/assets/8975114/14cf0167-8922-4876-a325-e3bc154b084f
2023-08-30 18:58:42 -07:00
Polina Cherkasova
be3e64abf1
Mark leak in _DraggableScrollableSheetState. ( #133693 )
2023-08-30 17:09:09 -07:00
Polina Cherkasova
2bc4c7a888
Mark routing test as leaking. ( #133697 )
2023-08-30 16:25:18 -07:00
Polina Cherkasova
95e197ba69
_RawAutocompleteState should dispose _highlightedOptionIndex. ( #133700 )
2023-08-30 16:07:35 -07:00
Matan Lurey
31600c829e
Forward-fix a test that will break with an engine roll. ( #133619 )
...
See https://github.com/flutter/engine/pull/44705 where it fails a framework smoke test.
Partial work towards https://github.com/flutter/flutter/issues/112498 .
2023-08-30 22:29:05 +00:00
Taha Tesser
d7a3a68275
Fix cancelButtonStyle
& confirmButtonStyle
properties from TimePickerTheme
aren't working ( #132843 )
...
fixes [`TimePickerThemeData` action buttons styles aren't working](https://github.com/flutter/flutter/issues/132760 )
### Code sample
<details>
<summary>expand to view the code sample</summary>
```dart
import 'package:flutter/material.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
useMaterial3: true,
timePickerTheme: TimePickerThemeData(
cancelButtonStyle: TextButton.styleFrom(
shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(4)),
side: BorderSide(color: Colors.red),
),
backgroundColor: Colors.white,
foregroundColor: Colors.red,
elevation: 3,
shadowColor: Colors.red,
),
confirmButtonStyle: TextButton.styleFrom(
shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(4)),
),
backgroundColor: Colors.green[700],
foregroundColor: Colors.white,
elevation: 3,
shadowColor: Colors.green[700],
),
),
),
home: const Example(),
);
}
}
class Example extends StatelessWidget {
const Example({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: TimePickerDialog(initialTime: TimeOfDay.now()),
),
);
}
}
```
</details>
### Before (action buttons don't use the style from the `TimePickerTheme`)

### After (action buttons use the style from the `TimePickerTheme`)

2023-08-30 22:21:29 +00:00
Taha Tesser
1e770c3808
Add cancelButtonStyle
& confirmButtonStyle
to the DatePickerThemeData
( #132847 )
...
fixes [Unable to adjust the color for "Cancel" and "Ok" button in datePicker dialog](https://github.com/flutter/flutter/issues/127739 )
### Code sample
<details>
<summary>expand to view the code sample</summary>
```dart
import 'package:flutter/material.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
useMaterial3: true,
datePickerTheme: DatePickerThemeData(
cancelButtonStyle: TextButton.styleFrom(
shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(16)),
side: BorderSide(color: Colors.red),
),
backgroundColor: Colors.white,
foregroundColor: Colors.red,
elevation: 3,
shadowColor: Colors.red,
),
confirmButtonStyle: TextButton.styleFrom(
shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(16)),
),
backgroundColor: Colors.green[700],
foregroundColor: Colors.white,
elevation: 3,
shadowColor: Colors.green[700],
),
),
),
home: const Example(),
);
}
}
class Example extends StatelessWidget {
const Example({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: DatePickerDialog(
initialDate: DateTime.now(),
firstDate: DateTime(2020),
lastDate: DateTime(2030),
),
),
);
}
}
```
</details>
### Before
Not possible to customize action buttons from the `DatePickerThemeData`.
### After

2023-08-30 21:16:13 +00:00
Renzo Olivares
4b89fce108
Fixing memory leak in EditableTextState ( #131377 )
2023-08-30 12:49:56 -07:00
Bruno Leroux
b23105276f
Expose barrierDismissible in PageRoute constructor ( #133659 )
...
## Description
This PR exposes `barrierDismissible` in `PageRoute`, `MaterialPageRoute` and `CupertinoPageRoute` constructors.
Setting this property to true will enable the escape key binding.
## Related Issue
Fixes https://github.com/flutter/flutter/issues/132138 .
## Tests
Adds one test.
2023-08-30 19:02:06 +00:00
LongCatIsLooong
7f3abea35a
Reland "Remove ImageProvider.load, DecoderCallback and PaintingBinding.instantiateImageCodec
( #132679 ) (reverted in #133482 ) ( #133605 )
...
Relanding the commit per
https://github.com/flutter/flutter/pull/133482#issuecomment-1698030976
## Pre-launch Checklist
- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-08-30 11:28:10 -07:00
Taha Tesser
994aab4c78
Update & improve TabBar.labelColor
tests ( #133668 )
...
fixes [Improve `TabBar.labelColor` tests](https://github.com/flutter/flutter/issues/133665 )
While working on a fix for https://github.com/flutter/flutter/issues/109484 , I found the existing test could use some improvement first.
2023-08-30 16:40:59 +00:00
Zachary Anderson
44a9b36461
Bump gradle heap size limits in templates ( #133671 )
...
For https://github.com/flutter/flutter/issues/133639
2023-08-30 15:40:14 +00:00
Bruno Leroux
1fe24956ac
Update SelectableRegion test for M3 ( #129627 )
...
## Description
This PR fixes one selectable region test failure when switching to M3.
The failure is somewhat tricky because it is related to the M3 typography (line height set to 1.43).
## Related Issue
fixes https://github.com/flutter/flutter/issues/129626
## Tests
Updates 1 test.
2023-08-30 13:25:35 +00:00
Xilai Zhang
6fd42536b7
[flutter roll] Revert "Fix Chip.shape
's side is not used when provided in Material 3" ( #133615 )
...
Reverts flutter/flutter#132941
context: b/298110031
The rounded rectangle borders don't appear in some of the internal
golden image tests.
2023-08-29 19:59:02 -07:00
Parker Lougheed
670d011b71
No longer include .packages
in created .gitignore
files ( #133484 )
...
The `.packages` file was deprecated in Dart 2.8 and slowly discontinued until support being fully removed in Dart 2.19. The file will no longer be created, so it can be safely dropped from the generated `.gitignore` files.
2023-08-30 00:40:01 +00:00
Polina Cherkasova
4736cd3d37
Fix one notDisposed leak and mark another. ( #133595 )
2023-08-29 23:08:48 +00:00
Polina Cherkasova
67f9d77177
Upgrade packages. ( #133593 )
2023-08-29 15:18:12 -07:00
Polina Cherkasova
fb5abe45b8
Cover more tests with leak tracking. ( #133596 )
2023-08-29 14:23:10 -07:00
Hans Muller
4022864c65
Added DropdownMenuEntry.labelWidget ( #133491 )
2023-08-29 13:01:49 -07:00
Ian Hickson
89310edaa2
Use a fake stopwatch to remove flakiness. ( #133229 )
...
Fixes https://github.com/flutter/flutter/issues/133215
2023-08-29 12:49:33 -07:00
Mouad Debbar
9a9c2826d1
[web] Migrate remaining web-only API usages to dart:ui_web
( #132248 )
...
This is the last batch of web-only API migration.
Depends on https://github.com/flutter/engine/pull/44516
Fixes https://github.com/flutter/flutter/issues/52899
Fixes https://github.com/flutter/flutter/issues/126831
2023-08-29 18:56:07 +00:00
Polina Cherkasova
ae64abc614
ShortcutManager should dispatch creation in constructor. ( #133487 )
2023-08-29 10:40:20 -07:00
Taha Tesser
d8d7e019c1
Add FAB Additional Color Mappings example ( #133453 )
...
fixes [Additional color mappings for FAB in Material 3](https://github.com/flutter/flutter/issues/130702 )
### Preview

2023-08-29 17:31:02 +00:00
Dan Field
f489256fce
Fix bug in setPreferredOrientations example ( #133503 )
...
The `ui.Display` is a simple data class (like `MediaQueryData`), and does not get updated when the display size changes. The provided sample code does not work as intended, but the update does.
2023-08-29 06:29:05 +00:00
Polina Cherkasova
bd1583f3e5
FocusNode and FocusManager should dispatch creation in constructor. ( #133490 )
2023-08-28 16:19:32 -07:00
Polina Cherkasova
e8df434956
PlatformRouteInformationProvider should dispatch creation in constructor. ( #133492 )
2023-08-28 15:51:01 -07:00
Zachary Anderson
7772f6b05a
Revert "Remove ImageProvider.load
, DecoderCallback
and `PaintingB… ( #133482 )
...
…inding.instantiateImageCodec` (#132679 )"
This reverts commit b4f4ece40d956ad86efa340ff7fe9d0fa6deea07.
Trial revert for https://github.com/flutter/flutter/issues/133398
Co-authored-by: LongCatIsLooong <31859944+LongCatIsLooong@users.noreply.github.com>
2023-08-28 15:39:10 -07:00
Renzo Olivares
ca33836b45
Fix context menu button color on Android when textButtonTheme is set ( #133271 )
...
Fixes #133027
When setting a `textButtonTheme` it should not override the native context menu colors.
```dart
theme: ThemeData(
textButtonTheme: const TextButtonThemeData(
style: ButtonStyle(
backgroundColor: MaterialStatePropertyAll<Color>(
Color(0xff05164d)), // blue color
),
),
),
```
Before|After
--|--
<img width="341" alt="Screenshot 2023-08-24 at 1 17 25 PM" src="https://github.com/flutter/flutter/assets/948037/30ea0ef8-b41a-4e1f-93a3-50fcd87ab2bf ">|<img width="341" alt="Screenshot 2023-08-24 at 1 15 35 PM" src="https://github.com/flutter/flutter/assets/948037/5f59481c-aa5d-4850-aa4b-daa678e54044 ">
2023-08-28 22:27:39 +00:00
Taha Tesser
a0943e6533
Fix DatePickerDialog
& DateRangePickerDialog
overflow when resized from landscape to portrait ( #133327 )
...
fixes [resize window with a `showDateRangePicker` will make RenderFlex overflowed error](https://github.com/flutter/flutter/issues/131989 )
### Description
- This fixes `DatePickerDialog` & `DateRangePickerDialog` overflow error when resized from landscape to portrait.
- Added tests that check these two widgets from landscape to portrait for no overflow errors.
<details
<summary>expand to view the code sample</summary>
```dart
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(
debugShowCheckedModeBanner: false,
home: Example(),
);
}
}
class Example extends StatefulWidget {
const Example({super.key});
@override
State<Example> createState() => _ExampleState();
}
class _ExampleState extends State<Example> {
bool _portait = false;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('DatePicker & DateRangePicker'),
),
body: MediaQuery(
data: MediaQuery.of(context).copyWith(
size: _portait ? const Size(400, 800) : const Size(800, 400),
),
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
DatePickerDialog(
initialDate: DateTime.now(),
firstDate: DateTime(2020),
lastDate: DateTime(2030),
initialEntryMode: DatePickerEntryMode.inputOnly,
),
DateRangePickerDialog(
currentDate: DateTime.now(),
firstDate: DateTime(2020),
lastDate: DateTime(2030),
initialEntryMode: DatePickerEntryMode.inputOnly,
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
setState(() {
_portait = !_portait;
});
},
child: const Icon(Icons.refresh),
),
);
}
}
```
</details>
### Before
https://github.com/flutter/flutter/assets/48603081/81387cbb-cdcf-42bd-b4f8-b7a08317c955
### After
https://github.com/flutter/flutter/assets/48603081/36d28ea9-cfed-48ad-90f5-0459755e08c0
2023-08-28 20:52:54 +00:00
Victoria Ashworth
f1f46ef2d3
Revert "PlatformRouteInformationProvider should dispatch creation in constructor." ( #133479 )
...
Reverts flutter/flutter#133353
Tree is failing on Mac and Linux customer_testing on this PR.
https://ci.chromium.org/ui/p/flutter/builders/prod/Mac%20customer_testing/14646/overview
https://ci.chromium.org/ui/p/flutter/builders/prod/Linux%20customer_testing/14974/overview
2023-08-28 18:13:21 +00:00
Victoria Ashworth
76d6d36b7a
Revert "FocusNode and FocusManager should dispatch creation in constructor." ( #133474 )
...
Reverts flutter/flutter#133352
Tree is failing on Mac and Linux customer_testing on this PR.
https://ci.chromium.org/ui/p/flutter/builders/prod/Mac%20customer_testing/14646/overview
https://ci.chromium.org/ui/p/flutter/builders/prod/Linux%20customer_testing/14974/overview
2023-08-28 17:50:22 +00:00
Victoria Ashworth
ec387a467a
Revert "ShortcutManager should dispatch creation in constructor." ( #133472 )
...
Reverts flutter/flutter#133356
Tree is failing on customer_testing on this PR.
https://ci.chromium.org/ui/p/flutter/builders/prod/Mac%20customer_testing/14646/overview
2023-08-28 17:34:23 +00:00
Polina Cherkasova
703d60b5e9
FocusNode and FocusManager should dispatch creation in constructor. ( #133352 )
2023-08-28 09:38:19 -07:00
Polina Cherkasova
cf91262f75
ShortcutManager should dispatch creation in constructor. ( #133356 )
2023-08-28 09:38:05 -07:00
Justin McCandless
dfd4147cea
Fix stuck predictive back platform channel calls ( #133368 )
...
Fix a Google test flakiness increase.
2023-08-28 09:23:52 -07:00
Salmanul Farisi.M
69f61a289e
added option to change color of heading row(flutter#132428) ( #132728 )
...
Paginated datatable widget cannot give color to table header
fixes #132428
---------
Co-authored-by: Hans Muller <hansmuller@google.com>
2023-08-28 08:51:56 -07:00
Polina Cherkasova
2ea5296616
PlatformRouteInformationProvider should dispatch creation in constructor. ( #133353 )
2023-08-28 08:46:10 -07:00
Polina Cherkasova
343000b6e9
_SelectableFragment should dispatch creation in constructor. ( #133351 )
2023-08-25 17:03:47 -07:00
Chinmoy
347f7bac94
Adds callback onWillAcceptWithDetails in DragTarget. ( #131545 )
...
This PR adds onWillAcceptWithDetails callback to DragTarget to get information about offset.
Fixes : #131378
This PR is subject to changes based on #131542
2023-08-25 21:24:05 +00:00
Kate Lovett
72bd36026f
Remove deprecated onPlatformMessage from TestWindow and TestPlatformDispatcher ( #133183 )
2023-08-25 15:46:11 -05:00
Kate Lovett
721016c1db
Remove deprecated androidOverscrollIndicator from ScrollBehaviors ( #133181 )
2023-08-25 15:13:42 -05:00
gmilou
40af7db6bb
Add an example showing how to use a MatrixTransition. ( #132874 )
2023-08-25 15:09:58 -05:00
Kenzie Davisson
61d9f55665
Update flutter packages to pick up latest vm_service ( #133335 )
...
Generated by running `flutter update-packages --force-upgrade`
2023-08-25 11:03:35 -07:00
Taha Tesser
ea00521939
Fix PopupMenuItem
with a ListTile
doesn't use the correct style. ( #133141 )
...
fixes [`PopupMenuItem` with a `ListTile` doesn't use the correct text style.](https://github.com/flutter/flutter/issues/133138 )
### Description
This fixes an issue text style issue for `PopupMenuItem` with a `ListTile` (for an elaborate popup menu)
https://api.flutter.dev/flutter/material/PopupMenuItem-class.html
<details>
<summary>expand to view the code sample</summary>
```dart
import 'package:flutter/material.dart';
/// Flutter code sample for [PopupMenuButton].
// This is the type used by the popup menu below.
enum SampleItem { itemOne, itemTwo, itemThree }
void main() => runApp(const PopupMenuApp());
class PopupMenuApp extends StatelessWidget {
const PopupMenuApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(
useMaterial3: true,
textTheme: const TextTheme(
labelLarge: TextStyle(
fontStyle: FontStyle.italic,
fontWeight: FontWeight.bold,
),
),
),
home: const PopupMenuExample(),
);
}
}
class PopupMenuExample extends StatefulWidget {
const PopupMenuExample({super.key});
@override
State<PopupMenuExample> createState() => _PopupMenuExampleState();
}
class _PopupMenuExampleState extends State<PopupMenuExample> {
SampleItem? selectedMenu;
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: SizedBox(
width: 300,
height: 130,
child: Align(
alignment: Alignment.topLeft,
child: PopupMenuButton<SampleItem>(
initialValue: selectedMenu,
// Callback that sets the selected popup menu item.
onSelected: (SampleItem item) {
setState(() {
selectedMenu = item;
});
},
itemBuilder: (BuildContext context) =>
<PopupMenuEntry<SampleItem>>[
const PopupMenuItem<SampleItem>(
value: SampleItem.itemOne,
child: Text('PopupMenuItem'),
),
const CheckedPopupMenuItem<SampleItem>(
checked: true,
value: SampleItem.itemTwo,
child: Text('CheckedPopupMenuItem'),
),
const PopupMenuItem<SampleItem>(
value: SampleItem.itemOne,
child: ListTile(
leading: Icon(Icons.cloud),
title: Text('ListTile'),
contentPadding: EdgeInsets.zero,
trailing: Icon(Icons.arrow_right_rounded),
),
),
],
),
),
),
),
);
}
}
```
</details>
### Before

### After

2023-08-25 14:49:04 +00:00
Taha Tesser
612117a690
Fix Chip.shape
's side is not used when provided in Material 3 ( #132941 )
...
fixes [Chip border side color not working in Material3](https://github.com/flutter/flutter/issues/132922 )
### Code sample
<details>
<summary>expand to view the code sample</summary>
```dart
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(
useMaterial3: true,
chipTheme: const ChipThemeData(
// shape: RoundedRectangleBorder(
// side: BorderSide(color: Colors.amber),
// borderRadius: BorderRadius.all(Radius.circular(12)),
// ),
// side: BorderSide(color: Colors.red),
),
),
home: const Example(),
);
}
}
class Example extends StatelessWidget {
const Example({super.key});
@override
Widget build(BuildContext context) {
return const Scaffold(
body: Center(
child: RawChip(
shape: RoundedRectangleBorder(
side: BorderSide(color: Colors.amber),
borderRadius: BorderRadius.all(Radius.circular(12)),
),
// side: BorderSide(color: Colors.red),
label: Text('Chip'),
),
),
);
}
}
```
</details>
---
### Before
When `RawChip.shape` is provided with a `BorderSide`.
```dart
body: Center(
child: RawChip(
shape: RoundedRectangleBorder(
side: BorderSide(color: Colors.amber),
borderRadius: BorderRadius.all(Radius.circular(12)),
),
label: Text('Chip'),
),
),
```

When `RawChip.shape` is provided with a `BorderSide` and also `RawChip.side` is provided. The `RawChip.side` overrides the shape's side.
```dart
body: Center(
child: RawChip(
shape: RoundedRectangleBorder(
side: BorderSide(color: Colors.amber),
borderRadius: BorderRadius.all(Radius.circular(12)),
),
side: BorderSide(color: Colors.red),
label: Text('Chip'),
),
),
```

---
### After
When `RawChip.shape` is provided with a `BorderSide`.
```dart
body: Center(
child: RawChip(
shape: RoundedRectangleBorder(
side: BorderSide(color: Colors.amber),
borderRadius: BorderRadius.all(Radius.circular(12)),
),
label: Text('Chip'),
),
),
```

When `RawChip.shape` is provided with a `BorderSide` and also `RawChip.side` is provided. The `RawChip.side` overrides the shape's side.
```dart
body: Center(
child: RawChip(
shape: RoundedRectangleBorder(
side: BorderSide(color: Colors.amber),
borderRadius: BorderRadius.all(Radius.circular(12)),
),
side: BorderSide(color: Colors.red),
label: Text('Chip'),
),
),
```

---
2023-08-25 14:47:08 +00:00