489 Commits

Author SHA1 Message Date
Valentin Vignal
e016ac3035
Add test for platform_menu_bar.0.dart (#157328)
Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for
- `examples/api/test/material/platform_menu_bar/platform_menu_bar.0_test.dart`
2024-10-23 06:57:13 +00:00
Valentin Vignal
7504abcc14
Add test for pointer_signal_resolver.0.dart (#157330)
Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for
- `examples/api/test/gestures/pointer_signal_resolver/pointer_signal_resolver.0_test.dart`
2024-10-23 02:20:40 +00:00
Nate Wilson
ea0fda51ef
WidgetStateInputBorder (#157190)
**Changes**
- Add `WidgetStateInputBorder` class, with `.resolveWith()` and `.fromMap()` constructors
- Deprecate `MaterialStateOutlineInputBorder` and `MaterialStateUnderlineInputBorder` and provide data-driven fixes

<br>

**Other changes** based on https://github.com/flutter/flutter/pull/154972#pullrequestreview-2344092821
- Fix documentation copy-paste typo ("OutlinedBorder" → "InputBorder")
- Add test to ensure borders are painted correctly
- Add DartPad sample & relevant test
2024-10-22 23:45:41 +00:00
Jiten Patel
3e9901dac9
Fix: showDatePicker should have a simple example in the docs (#156196)
This PR introduces a basic example of how to use the `showDatePicker` function. The purpose of this PR is to simplify the onboarding process for new Flutter developers by providing a straightforward demonstration of handling the asynchronous Future returned by the showDatePicker. This will help users unfamiliar with the intricacies of asynchronous operations in Flutter.

Fixes #156157
2024-10-22 17:04:23 +00:00
Valentin Vignal
a484aa260b
Add test for selectable_region.0.dart (#157258)
Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for
- `examples/api/test/material/selectable_region/selectable_region.0_test.dart`
2024-10-22 07:25:25 +00:00
Valentin Vignal
27f0c6a08e
Add test for navigation_rail.extended_animation.0_test.dart (#157222)
Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for
- `examples/api/test/material/navigation_rail/navigation_rail.extended_animation.0_test.dart`
2024-10-22 03:55:21 +00:00
Valentin Vignal
3405f11e5c
Add test for flexible_space_bar.0.dart (#157107)
Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for
- `examples/api/test/material/flexible_space_bar/flexible_space_bar.0_test.dart`
2024-10-21 15:17:14 +00:00
Ildeberto Vasconcelos
8aa25aeff2
Add Tests for bottom_app_bar api examples (#156501)
Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for

`examples/api/test/material/bottom_app_bar/bottom_app_bar.1_test.dart` and
`examples/api/test/material/bottom_app_bar/bottom_app_bar.2_test.dart`

This are tests of snippets used in [AutofillGroup class](https://api.flutter.dev/flutter/widgets/AutofillGroup-class.html)
2024-10-21 12:31:21 +00:00
Valentin Vignal
230cba2331
Add test for selection_container.0_test.dart (#157079)
Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for
- `examples/api/test/material/selection_container/selection_container.0_test.dart`
2024-10-17 15:32:31 +00:00
Victor Sanni
f9eebe0319
Add bottom to CupertinoNavigationBar to allow for a double-row nav bar (#155959)
Fixes [Support segmented controls in nav bars and double row nav bars](https://github.com/flutter/flutter/issues/10469)

<img width="270" height="600"  alt="Screenshot 2024-09-30 at 3 09 04 PM" src="https://github.com/user-attachments/assets/4003116f-69dd-4f8f-a185-6ca151b74d2d">
2024-10-16 19:36:55 +00:00
Victor Sanni
293ae2e5ab
Add bottom to CupertinoSliverNavigationBar (#155841)
Fixes [Support search box inside large title nav bar](https://github.com/flutter/flutter/issues/18103)
Part of [Support segmented controls in nav bars and double row nav bars](https://github.com/flutter/flutter/issues/10469)

## None mode (Current default)

https://github.com/user-attachments/assets/d798314e-940f-4311-9a9a-fe999c65f280

## Always mode

https://github.com/user-attachments/assets/950a85aa-8ca2-42ea-bf8b-3cb8f95e616e

## Automatic mode

https://github.com/user-attachments/assets/c7c7240b-d493-4036-a987-30f61d02bac3

## With CupertinoSlidingSegmentedControl

https://github.com/user-attachments/assets/59f4aec4-8d9c-4223-915b-97b73cb25dc8

<details>
<summary>Sample Code</summary>

```dart
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'package:flutter/cupertino.dart';

/// Flutter code sample for [CupertinoSliverNavigationBar].

void main() => runApp(const SliverNavBarApp());

class SliverNavBarApp extends StatelessWidget {
  const SliverNavBarApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const CupertinoApp(
      theme: CupertinoThemeData(brightness: Brightness.light),
      home: SliverNavBarExample(),
    );
  }
}

class SliverNavBarExample extends StatelessWidget {
  const SliverNavBarExample({super.key});

  @override
  Widget build(BuildContext context) {
    return const CupertinoPageScaffold(
      // A ScrollView that creates custom scroll effects using slivers.
      child: SafeArea(
        child: CustomScrollView(
          // A list of sliver widgets.
          slivers: <Widget>[
            CupertinoSliverNavigationBar(
              leading: SizedBox(
                width: 100,
                child: Row(
                  children: [
                    Icon(CupertinoIcons.back),
                    Text(
                      'Lists',
                      style: TextStyle(color: CupertinoColors.activeBlue),
                    ),
                  ],
                ),
              ),
              trailing: Icon(CupertinoIcons.plus),
              largeTitle: Text('iPhone'),
              // Change to desired mode.
              drawerMode: NavigationDrawerMode.none,
              drawer: Padding(
                padding: EdgeInsets.fromLTRB(8.0, 0.0, 8.0, 16.0),
                child: CupertinoSearchTextField(),
              ),
            ),
            SliverFillRemaining(
              child: Column(
                mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                children: <Widget>[
                  Text('Drag me up', textAlign: TextAlign.center),
                ],
              ),
            ),
          ],
        ),
      ),
    );
  }
}
```

</details>
2024-10-16 18:25:06 +00:00
Bruno Leroux
e08ad36dd9
Remove LogicalKeySet usage in one Shortcuts example (#156941)
## Description

This PR replaces `LogicalKeySet` by `SingleActivator` in one of the Shortcuts example.
According to [LogicalKeySet documentation](https://api.flutter.dev/flutter/widgets/LogicalKeySet-class.html) :
"prefer [SingleActivator](https://api.flutter.dev/flutter/widgets/SingleActivator-class.html) when possible, whose behavior more closely resembles that of typical platforms".

## Related Issue

Related to [LogicalKeySet Not Working on Linux Environment](https://github.com/flutter/flutter/issues/156806).

## Tests

Adds 1 test.
2024-10-16 17:15:06 +00:00
Valentin Vignal
5644c032b3
Add test for selection_container_disabled.0.dart (#156934)
Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for
- `examples/api/test/material/selection_container/selection_container_disabled.0_test.dart`
2024-10-16 16:59:38 +00:00
Valentin Vignal
6829c6a9b9
Add tests for material_state_outlined_border.0.dart (#156814)
Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for
- `examples/api/test/material/material_state/material_state_outlined_border.0_test.dart`
2024-10-15 14:36:36 +00:00
Valentin Vignal
5d06db6aad
Add test for material_state_property.0.dart (#156719)
Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for
- `examples/api/test/material/material_state/material_state_property.0_test.dart`
2024-10-15 12:10:21 +00:00
Ildeberto Vasconcelos
ba778dea6d
Add test for AutofillGroup api example (#156439)
Write Tests for API Examples of `autoffil_group`  as part  of https://github.com/flutter/flutter/issues/130459

This are tests of snippets used in [AutofillGroup class](https://api.flutter.dev/flutter/widgets/AutofillGroup-class.html)
2024-10-12 13:54:31 +00:00
RamonFarizel
51aa2f5809
Add code sample to the CupertinoMagnifier/CupertinoTextMagnifier (#156028)
This PR adds code samples regarding the CupertinoMagnifier and CupertinoTextMagnifier

Fixes #154439
2024-10-11 20:53:18 +00:00
Valentin Vignal
96c761c1a6
Add test for animated list example (#156452)
Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for
- `examples/api/lib/widgets/animated_list/animated_list.0.dart`
2024-10-10 15:48:17 +00:00
Bruno Leroux
480869afe7
Update MenuAnchor API examples (#156404)
## Description

Cleanup MenuAnchor API examples:
- Remove usage of useMaterial3
- fix some formatting issues
2024-10-08 19:15:07 +00:00
Mitchell Goodwin
d877d2875e
Allow mixing route transitions in one app. (#150031)
Fixes #33799

Allows for a route to inform the route below it in the navigation stack how to animate when the topmost route enters are leaves the stack.

It does this by making a `DelegatedTransition` available for the previous route to look up and use. If available, the route lower in the stack will wrap it's transition builders with that delegated transition and use it instead of it's default secondary transition.

This is what the sample code in this PR shows an app that is able to use both a Material zoom transition and a Cupertino slide transition in one app. It also includes a custom vertical transition. Every page animates off the screen in a way to match up with the incoming page's transition. When popped, the correct transitions play in reverse.

https://github.com/user-attachments/assets/1fc910fa-8cde-4e05-898e-daad8ff4a697

The below video shows this logic making a pseudo iOS styled sheet transition.

https://github.com/flutter/flutter/assets/58190796/207163d8-d87f-48b1-aad9-7e770d1d96c5

All existing page transitions in Flutter will be overwritten by the incoming route if a `delegatedTransition` is provided. This can be opted out of through `canTransitionTo` for a new route widget. Of Flutter's existing page transitions, this PR only adds a `DelegatedTransition` for the Zoom and Cupertino transitions. The other transitions possible in Material will get delegated transitions in a later PR.
2024-10-02 20:08:11 +00:00
Sikandar Sadaqat
d355a474f9
[Docs] CupertinoListTile API Example (#154548)
This PR adds an example for CupertinoListTile

Fixes: https://github.com/flutter/flutter/issues/154438
2024-10-02 15:24:05 +00:00
Kostia Sokolovskyi
591cc39c2d
Add WidgetStateMouseCursor example and tests for it. (#155552)
Fixes https://github.com/flutter/flutter/issues/155551

### Description
- Adds example for `WidgetStateMouseCursor`
- Adds tests for `examples/api/lib/widgets/widget_state/widget_state_mouse_cursor.0.dart`
2024-10-01 23:15:53 +00:00
Taha Tesser
9f88de930b
Optimize Overlay sample to avoid overflow (#155861)
Fixes [Optimize official `Overlay` sample to avoid overflowing.](https://github.com/flutter/flutter/issues/155860)

When checking https://main-api.flutter.dev/flutter/widgets/Overlay-class.html on a laptop screen it overflows as the layout uses Row instead of more robust widget for spacing `Wrap`

Quick Friday night fix. :) 

| Before | After |
| --------------- | --------------- |
| <img src="https://github.com/user-attachments/assets/eea6f1d9-e860-4ebd-8d16-2d8f4141e1ec" /> | <img src="https://github.com/user-attachments/assets/9f8426ba-d541-44a6-8ea6-2e34636b7e82"  /> |
2024-09-28 09:20:32 +00:00
Kostia Sokolovskyi
ce24dd6a76
Add WidgetStateBorderSide example and tests for it. (#155559)
Fixes https://github.com/flutter/flutter/issues/155557

### Description
- Adds example for `WidgetStateBorderSide`
- Adds tests for `examples/api/lib/widgets/widget_state/widget_state_border_side.0.dart`
2024-09-25 15:53:28 +00:00
Kostia Sokolovskyi
96ba3c555a
Add WidgetStateProperty example and tests for it. (#155315)
This PR contributes to https://github.com/flutter/flutter/issues/155313

### Description
- Adds example for `WidgetStateProperty`
- Adds tests for `examples/api/lib/widgets/widget_state/widget_state_property.0.dart`
2024-09-24 00:31:07 +00:00
gaaclarke
1ed8a0a0fd
Redo flutter engine flutter autoroll bd3d1990 485b 419c 8c55 b27e3eeb15ed 1727117767 (#155579)
fixes https://github.com/flutter/flutter/issues/155578
A manual roll for https://github.com/flutter/flutter/pull/155560
2024-09-24 00:21:06 +00:00
miechoo
6d38831fc8
Test of AppBarMediumApp and AppBarLargeApp (#153973)
Part of https://github.com/flutter/flutter/issues/130459

This are tests of snippets used in [SliverAppBar.medium const constructor](https://api.flutter.dev/flutter/material/SliverAppBar/SliverAppBar.medium.html) and [SliverAppBar.large const constructor](https://api.flutter.dev/flutter/material/SliverAppBar/SliverAppBar.large.html) Flutter API reference documentation.

The only way I've found to distinguish the SliverAppBar.medium and SliverAppBar.large constructors from the regular SliverAppBar is to check if the title is styled according to the [Material Design 3](https://m3.material.io/components/top-app-bar/specs) specification.
2024-09-04 19:46:16 +00:00
Bruno Leroux
dce20c97dd
Fix duplicate MaterialApp in api example test (#154550)
This PR fixes two tests that created a nested `MaterialApp` (and it simplifies another test).
2024-09-04 06:38:33 +00:00
Qun Cheng
182c266961
Update tokens to v6.1 (#153722)
This PR is to update the token version to v6.1. 
* This version fixes https://github.com/flutter/flutter/issues/153271
* Change the chip default border color from `ColorScheme.outline` to `ColorScheme.outlineVariant`. The Chips' border color is softened to improve visual hierarchy between chips and buttons
2024-09-04 00:20:16 +00:00
Valentin Vignal
15904ef9be
Add tests for sliver grid delegate with fixed cross axis count examples (#153500)
Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for
- `examples/api/lib/rendering/sliver_grid/sliver_grid_delegate_with_fixed_cross_axis_count.0.dart`
- `examples/api/lib/rendering/sliver_grid/sliver_grid_delegate_with_fixed_cross_axis_count.1.dart`

I also fixed a mistake in the documentation
2024-08-29 21:41:21 +00:00
Mansour Alhaddad
a43c401c67
Add test for error_widget.0_test.dart (#153103)
Add test for error_widget.0_test.dart which is listed in this issue 

related to this issue https://github.com/flutter/flutter/issues/130459
2024-08-26 18:11:02 +00:00
Husnul Aman
0fe1239314
Added missing test for SelectionArea example (#151585)
Added missing test for SelectionArea example. Issue #130459
2024-08-26 11:29:33 +00:00
Pavlo Kochylo
a4b0d973fb
Added new constructor RefreshIndicator.noSpinner() (#152075)
This PR adds a new constructor to the RefreshIndicator's class, which is `noSpinner`.
The purpose of this new constructor is to create a RefreshIndicator that doesn't show a spinner when the user arms it by pulling.

The work is based on a partial that is here: https://github.com/flutter/flutter/pull/133507

I addressed the following issues reported in the PR above:
- in the example for `noSpinner`, arming the RefreshIndicator now shows a CircularProgressIndicator, instead of just printing text to the console;
- added a test for the new example;
- added a doc comment on the new constructor;

Fixes https://github.com/flutter/flutter/issues/132775
2024-08-23 20:37:24 +00:00
miechoo
b6c14d783a
Test of CustomScrollViewExampleApp (#152431)
CustomScrollViewExampleApp 
Part of https://github.com/flutter/flutter/issues/130459

The test is checking: 
- if all crucial Widgets are initially visible
- if IconButton click will expand existing SliverList
- if IconButton click and mouse scroll will reveal additional SliverList
2024-08-23 06:57:28 +00:00
Justin McCandless
420755dcfa
Nested Navigator state restoration predictive back examples (#153723)
I've updated these two examples to support state restoration of the navigation stack and verified that they work with predictive back in the tests. This was motivated by a worry that users are not properly setting up their navigation and that our examples are misleading them in the name of simplicity.
2024-08-22 03:40:09 +00:00
Valentin Vignal
36a391f689
Add tests for SingleChildScrollView examples (#153548)
Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for
- `examples/api/lib/widgets/single_child_scroll_view/single_child_scroll_view.0.dart`
- `examples/api/lib/widgets/single_child_scroll_view/single_child_scroll_view.1.dart`

I also fixed a mistake in the documentation
2024-08-21 09:45:32 +00:00
Tirth
4bc7829bd1
[API Examples] scroll_direction.0_test.dart & growth_direction.0_test.dart (#152941)
Move `scroll_direction.0_test.dart` & `growth_direction.0_test.dart` to same directory structure as the example files.

Tests were already present, only had to move them & remove the entries from the missing tests.

Part of #130459
2024-08-06 20:49:52 +00:00
davidhicks980
faabe3af72
[material/menu_anchor.dart] MenuAnchor focus refactoring for RawMenuAnchor (#150950)
This PR is aimed at (1) reducing the private API surface of _MenuAnchorState to make migration into RawMenuAnchor simpler, and (2) fixing focus-related bugs. 

Directional focus handling was moved from MenuAnchor (_MenuDirectionalFocusAction, _MenuNextFocusAction, and _MenuPreviousFocusAction) into SubmenuButton (_SubmenuDirectionalFocusAction). MenuAnchor now behaves similarly to a flat FocusScope, which makes it easier to customize. A future PR will ideally expose or remove the remaining internals (_lastItemFocusNode, _firstItemFocusNode, _isRoot, etc). All previous framework tests are passing, and additional tests were added for fixes (MenuAnchor tab traversal, reopened menus not being focusable), and to test MenuAnchor focus behavior separately from MenuBar. 

However, [one example test](https://github.com/flutter/flutter/pull/150950/files#diff-a33fa01b59d280784e7c8ed6b704bd005cde95b7d3b649dc82fd58530061a09d) had to be changed. I'm not sure why the previous example test was working to begin with, as submenu buttons are supposed to open on focus, but this behavior was not observed in the original test. 

Fixes https://github.com/flutter/flutter/issues/144381, https://github.com/flutter/flutter/issues/150334.

One added feature is the ability to move between top-level horizontal submenus if a horizontal movement is made on a vertical menu item that has no children in the movement direction. This behavior was observed on Google Docs, MacOS, and various other menu systems I encountered.

https://github.com/flutter/flutter/assets/59215665/04a42b8a-cc9e-4a50-9d0c-6f2d784cfc78
2024-08-06 19:04:11 +00:00
Valentin Vignal
ff3ad8290e
Add tests for ordered_traversal_group.0.dart (#152849)
Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for
- `examples/api/lib/widgets/focus_traversal/focus_traversal_group.0.dart`
2024-08-06 02:28:25 +00:00
Valentin Vignal
b7997cba54
Add tests for scaffold messenger state (#152735)
Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for
- `examples/api/lib/material/scaffold/scaffold_messenger_state.show_snack_bar.0.dart`
- `examples/api/lib/material/scaffold/scaffold_messenger_state.show_material_banner.0.dart`
2024-08-02 19:46:04 +00:00
Valentin Vignal
8818e60a65
Add test for scaffold_state.show_bottom_sheet.0.dart (#152731)
Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for
- `examples/api/lib/material/scaffold/scaffold_state.show_bottom_sheet.0.dart`
2024-08-02 14:40:09 +00:00
Valentin Vignal
7f4f1a0a62
Fix formatting issues in search_anchor.0_test.dart (#152669)
Fix formatting issues in `examples/api/test/material/search_anchor/search_anchor.0_test.dart`

Comes from https://github.com/flutter/flutter/pull/152371
Linked to https://github.com/flutter/flutter/issues/130459
2024-08-01 08:59:17 +00:00
Valentin Vignal
e38f730335
Add tests for search anchor examples (#152659)
Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for
- `examples/api/lib/material/search_anchor/search_anchor.1.dart`
- `examples/api/lib/material/search_anchor/search_anchor.2.dart`
2024-08-01 08:51:23 +00:00
Valentin Vignal
27e53c813c
Add tests for scaffold messenger examples (#152536)
Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for
- `examples/api/lib/material/scaffold/scaffold_messenger.0.dart`
- `examples/api/lib/material/scaffold/scaffold_messenger.of.0.dart`
- `examples/api/lib/material/scaffold/scaffold_messenger.of.1.dart`
2024-07-31 14:59:13 +00:00
Valentin Vignal
99e201e2ef
Add test for search_anchor.0.dart (#152371)
Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for
- `examples/api/lib/material/search_anchor/search_anchor.0.dart`
2024-07-31 13:28:08 +00:00
Valentin Vignal
1ceeb54087
Add tests for deletable_chip_attributes.on_deleted.0.dart (#152361)
Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for
- `examples/api/lib/material/chip/deletable_chip_attributes.on_deleted.0.dart`
2024-07-29 06:52:25 +00:00
Valentin Vignal
ccd51a7f58
Add test for range_slider.0.dart (#152152)
Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for
- `examples/api/lib/material/range_slider/range_slider.0.dart`
2024-07-26 13:18:26 +00:00
Taha Tesser
bba6ea9a2d
Introduce TabBar.indicatorAnimation to customize tab indicator animation (#151746)
fixes [Add ability to customize `TabBar` indicator animation](https://github.com/flutter/flutter/issues/150508)

Similar option exist on Android
https://developer.android.com/reference/com/google/android/material/tabs/TabLayout#setTabIndicatorAnimationMode(int)

### Dartpad Example Preview
<img width="874" alt="Screenshot 2024-07-12 at 17 36 08" src="https://github.com/user-attachments/assets/e349c5aa-ee5d-46ce-9e44-4f02346603bd">

### Linear vs Elastic tab indicator animation

https://github.com/user-attachments/assets/d7ae3ae4-ae52-4ccd-89b1-75908bf8a34d
2024-07-26 11:54:28 +00:00
Valentin Vignal
1ec4907b40
Add test for expansion_panel_list.expansion_panel_list_radio.0_test.dart (#151730)
Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for
- `examples/api/test/material/expansion_panel/expansion_panel_list.expansion_panel_list_radio.0_test.dart`
2024-07-25 20:49:32 +00:00
Valentin Vignal
43da705701
Add test for focus_traversal_group.0.dart (#151591)
Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for
- `examples/api/lib/widgets/focus_traversal/focus_traversal_group.0.dart`
2024-07-23 07:01:09 +00:00