diff --git a/docs/maui-coverage.md b/docs/maui-coverage.md index 6094154..a737508 100644 --- a/docs/maui-coverage.md +++ b/docs/maui-coverage.md @@ -1,6 +1,6 @@ # .NET MAUI ⇄ Microsoft.AndroidX.Compose.Maui backend coverage -Generated by `scripts/maui-coverage.cs` on 2026-06-16 14:48 UTC. +Generated by `scripts/maui-coverage.cs` on 2026-06-16 14:59 UTC. Pinned MAUI version: **10.0.20** (from `Directory.Build.targets`). @@ -15,15 +15,15 @@ collected transitively across base mappers (`ViewHandler.ViewMapper`, - **Stock MAUI handlers in scope**: 43 - **Handlers we override**: 25 (**58.1%**) -- **Property-mapper keys covered**: 925 / 1224 (**75.6%**) +- **Property-mapper keys covered**: 927 / 1224 (**75.7%**) ### Per-category coverage | Category | Handlers | Keys | | --- | --- | --- | | **Pages / Navigation** | 2/4 (50%) | 64/130 (49%) | -| **Containers** | 5/5 (100%) | 171/174 (98%) | -| **Leaves** | 18/18 (100%) | 690/695 (99%) | +| **Containers** | 5/5 (100%) | 172/174 (99%) | +| **Leaves** | 18/18 (100%) | 691/695 (99%) | | **Menus / Toolbar** | 0/7 (0%) | 0/1 (0%) | | **Shapes** | 0/1 (0%) | 0/41 (0%) | | **App / Window** | 0/2 (0%) | 0/8 (0%) | @@ -42,7 +42,7 @@ Sorted by category. ✅ = fully covered (100%), 🟡 = partial, ❌ = not implem | ✅ | `BorderHandler` | Containers | `Border` | `BorderHandler` | 40 / 40 (100%) | | ✅ | `ContentViewHandler` | Containers | `ContentView`, `IContentView` | `ContentViewHandler` | 32 / 32 (100%) | | ✅ | `LayoutHandler` | Containers | `Layout` | `LayoutHandler` | 32 / 32 (100%) | -| 🟡 | `RefreshViewHandler` | Containers | `RefreshView` | `RefreshViewHandler` | 34 / 35 (97%) | +| ✅ | `RefreshViewHandler` | Containers | `RefreshView` | `RefreshViewHandler` | 35 / 35 (100%) | | 🟡 | `ScrollViewHandler` | Containers | `ScrollView` | `ScrollViewHandler` | 33 / 35 (94%) | | ✅ | `ActivityIndicatorHandler` | Leaves | `ActivityIndicator` | `ActivityIndicatorHandler` | 33 / 33 (100%) | | ✅ | `ButtonHandler` | Leaves | `Button` | `ButtonHandler` | 40 / 40 (100%) | @@ -58,7 +58,7 @@ Sorted by category. ✅ = fully covered (100%), 🟡 = partial, ❌ = not implem | ✅ | `ProgressBarHandler` | Leaves | `ProgressBar` | `ProgressBarHandler` | 33 / 33 (100%) | | 🟡 | `RadioButtonHandler` | Leaves | `RadioButton` | `RadioButtonHandler` | 37 / 39 (95%) | | ✅ | `SearchBarHandler` | Leaves | `SearchBar` | `SearchBarHandler` | 47 / 47 (100%) | -| 🟡 | `SliderHandler` | Leaves | `Slider` | `SliderHandler` | 37 / 38 (97%) | +| ✅ | `SliderHandler` | Leaves | `Slider` | `SliderHandler` | 38 / 38 (100%) | | ✅ | `StepperHandler` | Leaves | `Stepper` | `StepperHandler` | 35 / 35 (100%) | | ✅ | `SwitchHandler` | Leaves | `Switch` | `SwitchHandler` | 34 / 34 (100%) | | ✅ | `TimePickerHandler` | Leaves | `TimePicker` | `TimePickerHandler` | 37 / 37 (100%) | @@ -114,9 +114,7 @@ dashed stroke patterns on `Border`). - **`ScrollViewHandler`** (94%) — missing: `HorizontalScrollBarVisibility`, `VerticalScrollBarVisibility` - **`RadioButtonHandler`** (95%) — missing: `CornerRadius`, `StrokeThickness` - **`ImageHandler`** (97%) — missing: `IsAnimationPlaying` -- **`RefreshViewHandler`** (97%) — missing: `RefreshColor` - **`ImageButtonHandler`** (97%) — missing: `IsAnimationPlaying` -- **`SliderHandler`** (97%) — missing: `ThumbImageSource` ## Per-handler property detail @@ -439,13 +437,9 @@ Extra keys we map (no stock counterpart): -### 🟡 `RefreshViewHandler` — `RefreshView` +### ✅ `RefreshViewHandler` — `RefreshView` -Backed by `RefreshViewHandler`. **34 / 35 keys (97%)**. - -Missing keys: - -- [ ] `RefreshColor` +Backed by `RefreshViewHandler`. **35 / 35 keys (100%)**.
All stock keys @@ -468,7 +462,7 @@ Missing keys: - [x] `MinimumHeight` - [x] `MinimumWidth` - [x] `Opacity` -- [ ] `RefreshColor` +- [x] `RefreshColor` - [x] `Rotation` - [x] `RotationX` - [x] `RotationY` @@ -1257,13 +1251,9 @@ Extra keys we map (no stock counterpart):
-### 🟡 `SliderHandler` — `Slider` - -Backed by `SliderHandler`. **37 / 38 keys (97%)**. - -Missing keys: +### ✅ `SliderHandler` — `Slider` -- [ ] `ThumbImageSource` +Backed by `SliderHandler`. **38 / 38 keys (100%)**.
All stock keys @@ -1297,7 +1287,7 @@ Missing keys: - [x] `Semantics` - [x] `Shadow` - [x] `ThumbColor` -- [ ] `ThumbImageSource` +- [x] `ThumbImageSource` - [x] `ToolTip` - [x] `Toolbar` - [x] `TranslationX` diff --git a/src/Microsoft.AndroidX.Compose.Maui.Sample/Pages/RefreshPage.xaml b/src/Microsoft.AndroidX.Compose.Maui.Sample/Pages/RefreshPage.xaml index 1d033fc..3c0d6b7 100644 --- a/src/Microsoft.AndroidX.Compose.Maui.Sample/Pages/RefreshPage.xaml +++ b/src/Microsoft.AndroidX.Compose.Maui.Sample/Pages/RefreshPage.xaml @@ -18,6 +18,7 @@ VerticalStackLayout folds into the parent Page composition. --> + the pull gesture even kicks off a refresh. + RefreshColor (above on the RefreshView) tints the + spinner glyph orange. -->