Repository: flutter
Issue: `Checkbox` and `Radio` splash effect clips widgets placed before, but not after them (inconsistent clipping)
Labels: framework,f: material design,has reproducible steps,P2,found in release: 3.7,found in release: 3.8,team-design,triaged-design

## Steps to Reproduce

1. Execute `flutter run` on the code sample (see "Code sample" section below).
2. Tap on Checkbox / Radio widget provided.
3. Text widgets that come *before* them are clipped by the paint drawn by `Toggleable.paintRadialReaction()`, but notice those that come *after* do not.

There are videos attached at the bottom of this post that illustrates the clipping.

It seems that widgets that come before has a lower z-index, whereas those that come after has a higher z-index. If this is the intended behavior, please kindly point out the documentation for it. But imo they should behave like `Material`'s ripple effect.

**Expected results:** <!-- what did you want to see? -->
Both widgets *before* and *after* are clipped, or not clipped (consistent).

**Actual results:** <!-- what did you see? -->
Only widgets *before* are clipped.

Tested on Flutter 3.7.3 on both Android (API 32) and iOS simulator (iOS 16.2).

<details>
<summary>Code sample</summary>

Repo: https://github.com/leovinsen/toggleable-splash-issue

```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(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  bool _checkboxValue = false;
  bool _radioValue = false;

  static const text =
      'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.';

  @override
  Widget build(BuildContext context) {
    final loremIpsumTexts = Row(
      children: [
        Expanded(
          child: Container(
            color: Colors.amber,
            child: const Text(text),
          ),
        ),
        const SizedBox(
          width: 10,
        ),
        const Expanded(
          child: Text(text),
        ),
      ],
    );

    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Container(
        alignment: Alignment.center,
        padding: const EdgeInsets.all(16.0),
        child: Column(
          mainAxisSize: MainAxisSize.min,
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            loremIpsumTexts,
            Row(
              mainAxisSize: MainAxisSize.min,
              children: [
                const Text('Before (Clipped)'),
                Checkbox(
                  splashRadius: 100,
                  overlayColor:
                      MaterialStateColor.resolveWith((states) => Colors.red),
                  value: _checkboxValue,
                  onChanged: (value) {
                    setState(() {
                      _checkboxValue = value!;
                    });
                  },
                ),
                Radio<bool>(
                  splashRadius: 100,
                  overlayColor:
                      MaterialStateColor.resolveWith((states) => Colors.red),
                  groupValue: _radioValue,
                  value: true,
                  onChanged: (value) {
                    setState(() {
                      _radioValue = !_radioValue;
                    });
                  },
                ),
                const Text('After (Not Clipped)'),
              ],
            ),
            loremIpsumTexts,
          ],
        ),
      ),
    );
  }
}

```

</details>

<details>
  <summary>Logs</summary>

```
[✓] Flutter (Channel stable, 3.7.3, on macOS 13.1 22C65 darwin-x64, locale en-ID)
    • Flutter version 3.7.3 on channel stable at /Users/leonardov/fvm/versions/3.7.3
    • Upstream repository git@github.com:flutter/flutter.git
    • Framework revision 9944297138 (8 days ago), 2023-02-08 15:46:04 -0800
    • Engine revision 248290d6d5
    • Dart version 2.19.2
    • DevTools version 2.20.1

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/leonardov/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.

[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14C18
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] VS Code (version 1.75.1)
    • VS Code at /Applications/Programming/Visual Studio Code.app/Contents
    • Flutter extension version 3.58.0

[✓] Connected device (3 available)
    • iPhone SE (3rd generation) (mobile) • B8C03FD6-777B-4ED7-BA42-08121512F495 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-2 (simulator)
    • macOS (desktop)                     • macos                                • darwin-x64     • macOS 13.1 22C65 darwin-x64
    • Chrome (web)                        • chrome                               • web-javascript • Google Chrome 109.0.5414.119

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.
```
</details>

<details>
  <summary>Video Files</summary>

https://user-images.githubusercontent.com/26619158/219406364-dbeaae11-6b02-4c9f-aa97-9e0045f80f6c.mov

https://user-images.githubusercontent.com/26619158/219406585-e973380b-faa6-4e8a-ab40-eb9d24f6eb9b.mov



</details>