TutorialStep class
One step of a TutorialSequence — same fields as SpotlightOverlay (which this composes, not reimplements), minus SpotlightOverlay.onDismiss (the sequence supplies that itself, wired to advance to the next step).
Constructors
-
TutorialStep({required GlobalKey<
State< targetKey, required String message, String? title, String? buttonLabel, Color? color, String? id})StatefulWidget> > -
const
Properties
-
Defaults to
'tutorial_got_it'.tr(BUG-94) — nullable because a locale-resolved string is no longer a compile-time constant.final - color → Color?
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- id → String?
-
Stable id for this step, used to key its shown/dismissed
AnalyticsProviderevents (IDEA-35).null(the default, e.g. for a step authored the imperative way, directly in code) means "don't log analytics for this step" — the sequence never emits events an existing imperative call site didn't ask for.final - message → String
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
targetKey
→ GlobalKey<
State< StatefulWidget> > -
final
- title → String?
-
final
Methods
-
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
Static Methods
-
listFromJson(
String json, {required Map< String, GlobalKey< keyRegistry}) → List<State< >StatefulWidget> >TutorialStep> -
Parses a data-driven step list (IDEA-35) — the typical caller reads
this JSON from
RemoteConfigService.getString('onboarding_flow_v1')(this method itself has no dependency onRemoteConfigService; it only ever sees the already-fetched JSON string, keeping this widget layer decoupled from any specific remote-config key name), so a designer can reorder/reword/A-B-test onboarding without a rebuild.