TappableActionConfig.critical constructor

const TappableActionConfig.critical({
  1. bool requireNetwork = true,
  2. bool debounceTaps = true,
  3. Duration? coolDownDuration = const Duration(seconds: 2),
  4. Duration? delayBeforeFirstTapDuration = const Duration(milliseconds: 300),
  5. bool disableVisuallyDuringFirstDelay = true,
  6. Duration? minDisabledDuration = const Duration(seconds: 1),
  7. String? groupId,
  8. bool disableVisuallyDuringDebouncing = true,
  9. TapExecutionMode executionMode = TapExecutionMode.throttle,
  10. bool executeOnLeadingEdge = true,
  11. bool executeOnTrailingEdge = false,
  12. TapConcurrencyMode concurrencyMode = TapConcurrencyMode.drop,
  13. int rateLimitMaxTokens = 10,
  14. Duration rateLimitRefillInterval = const Duration(seconds: 1),
  15. int rateLimitTokensPerRefill = 5,
  16. void onMetrics(
    1. TapMetrics
    )?,
  17. bool enabled = true,
  18. Duration? maxDuration,
  19. String? debugName,
})

Conservative configuration for critical actions (payments, deletions, etc.).

Implementation

const TappableActionConfig.critical({
  this.requireNetwork = true,
  this.debounceTaps = true,
  this.coolDownDuration = const Duration(seconds: 2),
  this.delayBeforeFirstTapDuration = const Duration(milliseconds: 300),
  this.disableVisuallyDuringFirstDelay = true,
  this.minDisabledDuration = const Duration(seconds: 1),
  this.groupId,
  this.disableVisuallyDuringDebouncing = true,
  // New defaults for critical
  this.executionMode = TapExecutionMode.throttle,
  this.executeOnLeadingEdge = true,
  this.executeOnTrailingEdge = false,
  this.concurrencyMode = TapConcurrencyMode.drop,
  this.rateLimitMaxTokens = 10,
  this.rateLimitRefillInterval = const Duration(seconds: 1),
  this.rateLimitTokensPerRefill = 5,
  this.onMetrics,
  this.enabled = true,
  this.maxDuration,
  this.debugName,
});