diff --git a/BlazorSliders/BlazorSliders.csproj b/BlazorSliders/BlazorSliders.csproj index 6b7648f..dc782df 100644 --- a/BlazorSliders/BlazorSliders.csproj +++ b/BlazorSliders/BlazorSliders.csproj @@ -8,7 +8,7 @@ - net9.0 + net8.0 Carl Franklin @@ -23,7 +23,7 @@ - + diff --git a/BlazorSliders/VerticalSliderPanel.razor b/BlazorSliders/VerticalSliderPanel.razor index b4dbdfd..f487e64 100644 --- a/BlazorSliders/VerticalSliderPanel.razor +++ b/BlazorSliders/VerticalSliderPanel.razor @@ -27,6 +27,7 @@ top: 0px; left: @LeftPanelWidthPx; height: @HeightPx;"> + @SliderContent
- net9.0 + net8.0 enable enable diff --git a/BlazorSlidersWasmTestApp/BlazorSlidersWasmTestApp.csproj b/BlazorSlidersWasmTestApp/BlazorSlidersWasmTestApp.csproj index 8b3cf9a..690a1d7 100644 --- a/BlazorSlidersWasmTestApp/BlazorSlidersWasmTestApp.csproj +++ b/BlazorSlidersWasmTestApp/BlazorSlidersWasmTestApp.csproj @@ -1,14 +1,14 @@ - net9.0 + net8.0 enable enable - - + + diff --git a/BlazorSlidersWasmTestApp/Pages/CustomClasses.razor b/BlazorSlidersWasmTestApp/Pages/CustomClasses.razor index 70b6ede..6e70fc7 100644 --- a/BlazorSlidersWasmTestApp/Pages/CustomClasses.razor +++ b/BlazorSlidersWasmTestApp/Pages/CustomClasses.razor @@ -6,12 +6,24 @@

Left Content

This is a demo of custom class styling for the panels and slider. +

+ New Feature Test: The slider now supports custom content via the SliderContent parameter.
+ +
+ ⇔ CUSTOM SLIDER ⇔ +
+

Right Content

+

+ SliderContent Demo: The slider between these panels now displays custom content + (a colorful gradient bar with drag indicator), demonstrating the new SliderContent parameter + that was added to match the functionality available in HorizontalSliderPanel. +

diff --git a/PARAMETER_PARITY_ANALYSIS.md b/PARAMETER_PARITY_ANALYSIS.md new file mode 100644 index 0000000..0978820 --- /dev/null +++ b/PARAMETER_PARITY_ANALYSIS.md @@ -0,0 +1,79 @@ +# BlazorSliders Parameter Parity Analysis + +## HorizontalSliderPanel vs VerticalSliderPanel Parameter Comparison + +### Common Parameters (Present in Both Components) +| Parameter | HorizontalSliderPanel | VerticalSliderPanel | Notes | +|-----------|----------------------|-------------------|-------| +| SliderClassString | ✅ | ✅ | Custom CSS classes for slider | +| OverrideSliderStyle | ✅ | ✅ | Override default slider styling | +| InitialSliderPosition | ✅ | ✅ | Initial position of slider | +| SliderPositionChanged | ✅ | ✅ | Event callback for position changes | + +### Panel Content Parameters +| Parameter | HorizontalSliderPanel | VerticalSliderPanel | Notes | +|-----------|----------------------|-------------------|-------| +| TopChildContent | ✅ | ❌ | Content for top panel | +| BottomChildContent | ✅ | ❌ | Content for bottom panel | +| LeftChildContent | ❌ | ✅ | Content for left panel | +| RightChildContent | ❌ | ✅ | Content for right panel | +| TopHeaderContent | ✅ | ❌ | Header content for top panel | +| BottomHeaderContent | ✅ | ❌ | Header content for bottom panel | +| LeftHeaderContent | ❌ | ❌ | **MISSING**: No header content for left panel | +| RightHeaderContent | ❌ | ❌ | **MISSING**: No header content for right panel | + +### Panel Styling Parameters +| Parameter | HorizontalSliderPanel | VerticalSliderPanel | Notes | +|-----------|----------------------|-------------------|-------| +| TopStyleString | ✅ | ❌ | Custom styles for top panel | +| TopClassString | ✅ | ❌ | Custom CSS classes for top panel | +| BottomStyleString | ✅ | ❌ | Custom styles for bottom panel | +| BottomClassString | ✅ | ❌ | Custom CSS classes for bottom panel | +| LeftStyleString | ❌ | ✅ | Custom styles for left panel | +| LeftClassString | ❌ | ✅ | Custom CSS classes for left panel | +| RightStyleString | ❌ | ✅ | Custom styles for right panel | +| RightClassString | ❌ | ✅ | Custom CSS classes for right panel | + +### Slider-Specific Parameters +| Parameter | HorizontalSliderPanel | VerticalSliderPanel | Notes | +|-----------|----------------------|-------------------|-------| +| SliderContent | ✅ | ✅ (**FIXED**) | Custom content inside slider | +| SliderHeight | ✅ | ❌ | Height of horizontal slider | +| SliderWidth | ❌ | ✅ | Width of vertical slider | + +### Size and Unit Parameters +| Parameter | HorizontalSliderPanel | VerticalSliderPanel | Notes | +|-----------|----------------------|-------------------|-------| +| HeightUnit | ✅ | ❌ | Unit for height calculations | +| WidthUnit | ❌ | ✅ | Unit for width calculations | +| TopPanelHeight | ✅ | ❌ | Height of top panel | +| LeftPanelStartingWidth | ❌ | ✅ | Starting width of left panel | + +### Minimum Size Parameters +| Parameter | HorizontalSliderPanel | VerticalSliderPanel | Notes | +|-----------|----------------------|-------------------|-------| +| MinimumTopPanelHeight | ✅ | ❌ | Minimum height for top panel | +| MinimumBottomPanelHeight | ✅ | ❌ | Minimum height for bottom panel | +| MinimumLeftPanelWidth | ❌ | ✅ | Minimum width for left panel | +| MinimumRightPanelWidth | ❌ | ✅ | Minimum width for right panel | + +### Unique Parameters (No Counterpart) +| Parameter | Component | Notes | +|-----------|-----------|-------| +| SliderPosition | VerticalSliderPanel | **EXTRA**: Read/write property for current position | +| CurrentSliderPosition | Both | Read-only property (HorizontalSliderPanel returns topPanelHeight, VerticalSliderPanel returns leftPanelWidth) | + +## Summary + +### Issues Resolved +- ✅ **SliderContent**: Added to VerticalSliderPanel (was missing) + +### Potential Missing Features (by design) +- **Header Content**: VerticalSliderPanel doesn't have LeftHeaderContent/RightHeaderContent parameters like HorizontalSliderPanel has TopHeaderContent/BottomHeaderContent. This appears to be intentional design choice as vertical layouts typically don't use headers. + +### Architectural Differences +- **SliderPosition**: VerticalSliderPanel has an additional SliderPosition property with getter/setter that HorizontalSliderPanel lacks. This seems to be a newer feature. +- **Parameter naming**: Parameters are appropriately named for their orientation (Top/Bottom vs Left/Right, Height vs Width, etc.) + +### Conclusion +The components have good parameter parity considering their different orientations. The main missing feature was **SliderContent** in VerticalSliderPanel, which has been resolved. Other differences appear to be intentional design choices based on the orientation and typical usage patterns of each component. \ No newline at end of file diff --git a/global.json b/global.json index b2f13b7..a55c0e0 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "9.0.102", + "version": "8.0.118", "allowPrerelease": true, "rollForward": "latestFeature" }