SignalSlotExtensions<T> extension
============================================================================ COMPOSABLE SLOT MODIFIERS (Extension Methods)
Elegant chainable modifiers for Signal-based widgets.
Example:
controller.count
.slot((ctx, val) => Text('$val'))
.animated(effect: SlotEffect.fadeScale)
.withDelay(Duration(milliseconds: 100))
.onTap(() => controller.increment());
- on
-
- Signal<
T>
- Signal<
Methods
-
animated(
{required Widget to(BuildContext context, T value), Duration duration = const Duration(milliseconds: 300), Curve curve = Curves.easeInOut, SlotEffect effect = SlotEffect.fade, DirectionalEffect? directionalEffect}) → Widget -
Available on Signal<
Create an AnimatedSlot with elegant syntax.T> , provided by the SignalSlotExtensions extension -
debounced(
{required Widget to(BuildContext context, T value), Duration duration = const Duration(milliseconds: 300)}) → Widget -
Available on Signal<
Create a debounced slot.T> , provided by the SignalSlotExtensions extension -
lazy(
{required Widget to(BuildContext context, T value), Widget placeholder(BuildContext context)?}) → Widget -
Available on Signal<
Create a lazy slot that defers building.T> , provided by the SignalSlotExtensions extension -
memoized(
{required Widget to(BuildContext context, T value), bool equals(T a, T b)?}) → Widget -
Available on Signal<
Create a memoized slot with custom equality.T> , provided by the SignalSlotExtensions extension -
pulsing(
{required Widget to(BuildContext context, T value), bool when(T value)?, Duration duration = const Duration(milliseconds: 1000)}) → Widget -
Available on Signal<
Create a pulsing slot for attention.T> , provided by the SignalSlotExtensions extension -
slot(
Widget builder(BuildContext context, T value)) → Widget -
Available on Signal<
Create a basic Slot widget from this signal.T> , provided by the SignalSlotExtensions extension -
tappable(
{required Widget to(BuildContext context, T value), VoidCallback? onTap, VoidCallback? onDoubleTap, VoidCallback? onLongPress, double pressedScale = 0.95}) → Widget -
Available on Signal<
Create a gesture-animated slot.T> , provided by the SignalSlotExtensions extension -
throttled(
{required Widget to(BuildContext context, T value), Duration duration = const Duration(milliseconds: 100)}) → Widget -
Available on Signal<
Create a throttled slot.T> , provided by the SignalSlotExtensions extension -
transition(
{required Widget to(BuildContext context, T value), SlotTransition type = SlotTransition.fade, Duration duration = const Duration(milliseconds: 300), Curve curve = Curves.easeInOut}) → Widget -
Available on Signal<
Create a TransitionSlot with specified transition type.T> , provided by the SignalSlotExtensions extension -
when(
{required bool condition(T value), required Widget to(BuildContext context, T value), Widget orElse(BuildContext context)?}) → Widget -
Available on Signal<
Create a conditional slot with when/orElse.T> , provided by the SignalSlotExtensions extension