Skip to content

ResponsiveExtensions

Namespace: Hex1b

Assembly: Hex1b.dll

Extension methods for building Responsive widgets. The Responsive widget displays the first child whose condition evaluates to true based on the available space from parent constraints.

csharp
public static class ResponsiveExtensions

Inheritance

ObjectResponsiveExtensions

Methods

Otherwise<TParent>(WidgetContext<TParent>, Func<WidgetContext<ConditionalWidget>, Hex1bWidget>)

Creates a conditional widget that always matches. Use as the last branch in a Responsive() to provide a fallback.

Parameters:

Returns: ConditionalWidget

csharp
public static ConditionalWidget Otherwise<TParent>(this WidgetContext<TParent> ctx, Func<WidgetContext<ConditionalWidget>, Hex1bWidget> builder) where TParent : Hex1bWidget

Responsive<TParent>(WidgetContext<TParent>, Func<WidgetContext<ResponsiveWidget>, ConditionalWidget[]>)

Creates a Responsive widget that displays the first child whose condition evaluates to true. Conditions receive (availableWidth, availableHeight) from the parent's layout constraints. Use collection expression syntax with When()/WhenMinWidth()/Otherwise() to define conditional branches. Example: ctx.Responsive(r => [r.WhenMinWidth(100, r => r.Text("Wide")), r.Otherwise(r => r.Text("Narrow"))])

Parameters:

Returns: ResponsiveWidget

csharp
public static ResponsiveWidget Responsive<TParent>(this WidgetContext<TParent> ctx, Func<WidgetContext<ResponsiveWidget>, ConditionalWidget[]> builder) where TParent : Hex1bWidget

When<TParent>(WidgetContext<TParent>, Func<int, int, bool>, Func<WidgetContext<ConditionalWidget>, Hex1bWidget>)

Creates a conditional widget that wraps content with a size-based condition. The condition receives (availableWidth, availableHeight) from the parent's layout constraints. Use inside a Responsive() builder to create conditional branches.

Parameters:

Returns: ConditionalWidget

csharp
public static ConditionalWidget When<TParent>(this WidgetContext<TParent> ctx, Func<int, int, bool> condition, Func<WidgetContext<ConditionalWidget>, Hex1bWidget> builder) where TParent : Hex1bWidget

WhenMinWidth<TParent>(WidgetContext<TParent>, int, Func<WidgetContext<ConditionalWidget>, Hex1bWidget>)

Creates a conditional widget with a minimum width requirement. The content is displayed when availableWidth >= minWidth.

Parameters:

Returns: ConditionalWidget

csharp
public static ConditionalWidget WhenMinWidth<TParent>(this WidgetContext<TParent> ctx, int minWidth, Func<WidgetContext<ConditionalWidget>, Hex1bWidget> builder) where TParent : Hex1bWidget

WhenWidth<TParent>(WidgetContext<TParent>, Func<int, bool>, Func<WidgetContext<ConditionalWidget>, Hex1bWidget>)

Creates a conditional widget with a width-only condition. Convenience overload for common width-based responsive layouts.

Parameters:

Returns: ConditionalWidget

csharp
public static ConditionalWidget WhenWidth<TParent>(this WidgetContext<TParent> ctx, Func<int, bool> widthCondition, Func<WidgetContext<ConditionalWidget>, Hex1bWidget> builder) where TParent : Hex1bWidget

Released under the MIT License.