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.
public static class ResponsiveExtensionsInheritance
Object → ResponsiveExtensions
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:
ctx(WidgetContext<<TParent>>):builder(Func<ConditionalWidget>, Hex1bWidget>):
Returns: ConditionalWidget
public static ConditionalWidget Otherwise<TParent>(this WidgetContext<TParent> ctx, Func<WidgetContext<ConditionalWidget>, Hex1bWidget> builder) where TParent : Hex1bWidgetResponsive<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:
ctx(WidgetContext<<TParent>>):builder(Func<ResponsiveWidget>, ConditionalWidget[]>):
Returns: ResponsiveWidget
public static ResponsiveWidget Responsive<TParent>(this WidgetContext<TParent> ctx, Func<WidgetContext<ResponsiveWidget>, ConditionalWidget[]> builder) where TParent : Hex1bWidgetWhen<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:
ctx(WidgetContext<<TParent>>):condition(Func<Int32, Int32, Boolean>):builder(Func<ConditionalWidget>, Hex1bWidget>):
Returns: ConditionalWidget
public static ConditionalWidget When<TParent>(this WidgetContext<TParent> ctx, Func<int, int, bool> condition, Func<WidgetContext<ConditionalWidget>, Hex1bWidget> builder) where TParent : Hex1bWidgetWhenMinWidth<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:
ctx(WidgetContext<<TParent>>):minWidth(Int32):builder(Func<ConditionalWidget>, Hex1bWidget>):
Returns: ConditionalWidget
public static ConditionalWidget WhenMinWidth<TParent>(this WidgetContext<TParent> ctx, int minWidth, Func<WidgetContext<ConditionalWidget>, Hex1bWidget> builder) where TParent : Hex1bWidgetWhenWidth<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:
ctx(WidgetContext<<TParent>>):widthCondition(Func<Int32, Boolean>):builder(Func<ConditionalWidget>, Hex1bWidget>):
Returns: ConditionalWidget
public static ConditionalWidget WhenWidth<TParent>(this WidgetContext<TParent> ctx, Func<int, bool> widthCondition, Func<WidgetContext<ConditionalWidget>, Hex1bWidget> builder) where TParent : Hex1bWidget