ShowcaseCoachConfig class

Configuration options for customizing the appearance and behavior of ShowcaseCoach.

This class provides fine-grained control over colors, typography, and visual effects. All properties are optional and will fall back to sensible defaults based on the current theme.

Example

ShowcaseCoachConfig(
  primaryColor: Colors.blue,
  cardStyle: ShowcaseCoachCardStyle.glass,
  titleStyle: TextStyle(fontSize: 24),
)

Constructors

ShowcaseCoachConfig({String? fontFamily, TextStyle? titleStyle, TextStyle? bodyStyle, TextStyle? buttonTextStyle, Color? primaryColor, Color? buttonColor, double overlayTintOpacity = _defaultOverlayTintOpacity, ShowcaseCoachCardStyle cardStyle = ShowcaseCoachCardStyle.glass, bool showProgressIndicator = true, bool? enableTransitions, Duration? transitionDuration, Curve? transitionCurve, Duration? backdropTransitionDuration, Duration? gradientTransitionDuration, Duration? highlightTransitionDuration, Duration? cardTransitionDuration, bool enableHapticFeedback = false, HapticFeedbackType hapticFeedbackType = HapticFeedbackType.medium, bool enableAutoAdvance = false, bool enableRippleEffect = false, double glowIntensity = 1.0, double shadowIntensity = 1.0, HighlightBorderStyle borderStyle = HighlightBorderStyle.solid, bool enableShimmerEffect = false, bool enableParticleEffect = false, double pulseAnimationSpeed = 1.0, double bounceIntensity = 1.0, double borderWidth = 3.0, double borderRadius = 24.0, HighlightShape highlightShape = HighlightShape.roundedRectangle, bool dismissOnTapOutside = false, bool debugMode = false, bool enableRotationAnimation = false, double rotationAnimationSpeed = 1.0, double rotationAngle = 0.0, Duration? fadeAnimationDuration, Curve? fadeAnimationCurve, Duration? scaleAnimationDuration, Curve? scaleAnimationCurve, ScaleRange scaleAnimationRange = const ScaleRange(0.8, 1.0), Duration? slideAnimationDuration, Curve? slideAnimationCurve, Offset? slideAnimationOffset, Duration animationDelay = Duration.zero, Duration staggerAnimationDelay = Duration.zero, bool enableStaggerAnimations = false, AnimationPreset animationPreset = AnimationPreset.defaultPreset, AnimationDirection animationDirection = AnimationDirection.normal, String? skipButtonText, String? nextButtonText, ShowcaseOverlayStyle overlayStyle = ShowcaseOverlayStyle.modern})
Creates a new showcase coach configuration.
const

Properties

animationDelay Duration
Delay before starting animations.
final
animationDirection AnimationDirection
Direction for animations.
final
animationPreset AnimationPreset
Animation preset to use.
final
backdropTransitionDuration Duration?
Duration for backdrop hole transitions.
final
bodyStyle TextStyle?
Optional override for the body/description text style.
final
borderRadius double
Border radius for the highlight in pixels.
final
borderStyle HighlightBorderStyle
Border style for the highlight.
final
borderWidth double
Width of the highlight border in pixels.
final
bounceIntensity double
Intensity multiplier for bounce animation.
final
buttonColor Color?
Optional override for the primary CTA button color.
final
buttonTextStyle TextStyle?
Optional override for the button text style.
final
cardStyle ShowcaseCoachCardStyle
Visual style for the tooltip card.
final
cardTransitionDuration Duration?
Duration for tooltip card transitions.
final
debugMode bool
Whether to enable debug mode visualization.
final
dismissOnTapOutside bool
Whether to dismiss the tour when tapping outside the highlight area.
final
effectiveButtonColor Color?
Returns the effective button color without needing a BuildContext.
no setter
enableAutoAdvance bool
Whether to enable auto-advance functionality.
final
enableHapticFeedback bool
Whether to enable haptic feedback on step changes.
final
enableParticleEffect bool
Whether to enable particle/sparkle effect around the highlight.
final
enableRippleEffect bool
Whether to enable ripple effect on the highlight.
final
enableRotationAnimation bool
Whether to enable rotation animation on the highlight.
final
enableShimmerEffect bool
Whether to enable shimmer/sparkle effect on the highlight.
final
enableStaggerAnimations bool
Whether to enable staggered animations.
final
enableTransitions bool?
Whether to enable transition animations between steps.
final
fadeAnimationCurve Curve?
Curve for fade animations.
final
fadeAnimationDuration Duration?
Duration for fade animations.
final
fontFamily String?
Global font family applied to all coach text.
final
glowIntensity double
Intensity multiplier for the glow effect around the highlight.
final
gradientTransitionDuration Duration?
Duration for gradient overlay transitions.
final
hapticFeedbackType HapticFeedbackType
Type of haptic feedback to use.
final
hashCode int
The hash code for this object.
no setterinherited
highlightShape HighlightShape
Shape of the highlight border.
final
highlightTransitionDuration Duration?
Duration for highlight position transitions.
final
nextButtonText String?
Custom text for the "Next" button.
final
overlayStyle ShowcaseOverlayStyle
Optional showcase overlay style for a different look.
final
overlayTintOpacity double
Opacity for the radial gradient overlay tint.
final
primaryColor Color?
Primary accent color used for glows, gradients, and highlights.
final
pulseAnimationSpeed double
Speed multiplier for pulse animation.
final
rotationAngle double
Maximum rotation angle in degrees.
final
rotationAnimationSpeed double
Speed multiplier for rotation animation.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scaleAnimationCurve Curve?
Curve for scale animations.
final
scaleAnimationDuration Duration?
Duration for scale animations.
final
scaleAnimationRange ScaleRange
Range for scale animations (begin, end).
final
shadowIntensity double
Intensity multiplier for shadow effects.
final
showProgressIndicator bool
Whether to show a progress indicator (e.g., "Step 2 of 5").
final
skipButtonText String?
Custom text for the "Skip" button.
final
slideAnimationCurve Curve?
Curve for slide animations.
final
slideAnimationDuration Duration?
Duration for slide animations.
final
slideAnimationOffset Offset?
Offset for slide animations.
final
staggerAnimationDelay Duration
Delay between staggered animations.
final
titleStyle TextStyle?
Optional override for the title text style.
final
transitionCurve Curve?
Curve for transition animations.
final
transitionDuration Duration?
Duration for all transition animations.
final

Methods

merge(TextStyle base, TextStyle? override) TextStyle
Merges a base TextStyle with an optional override.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited