# BonboardingStep (Component) `Bit.Bonboarding.BonboardingStep` - inherits `ComponentBase` - implements `IComponent`, `IDisposable`, `IHandleAfterRender`, `IHandleEvent` Declares one step of the enclosing BonboardingTour. Renders no markup. ## Parameter - **Actions** : `IReadOnlyList` - Extra footer buttons. - **AdditionalTargets** : `IReadOnlyList` - Extra elements folded into the same spotlight. - **AdvanceOn** : `BonboardingAdvanceTrigger` - Advances when the user interacts with the highlighted element. - **Anchor** : `string` - Points at the element carrying data-bonboarding-anchor="...". - **CanAdvance** : `Func>` - Blocks the forward button while this returns false. - **ChildContent** : `RenderFragment` - Custom body markup. - **Configure** : `Action` - Escape hatch for anything not exposed as a parameter. Runs after the parameters are applied, every time they are set, so it must be idempotent: assign values rather than appending to collections or subscribing to events. - **Data** : `object` - Arbitrary payload carried through to callbacks and templates. - **Description** : `string` - Body text. Ignored when BonboardingStep.ChildContent is supplied. - **DoneLabel** : `string` - **Element** : `ElementReference?` - Points at a captured element reference. - **Footer** : `RenderFragment` - Custom footer markup, replacing the whole button row. - **Header** : `RenderFragment` - Custom header markup, replacing the title row. - **Id** : `string` - Stable identifier, needed for jumps, branching and reliable resume. - **Interaction** : `BonboardingInteractionMode?` - **MissingTarget** : `BonboardingMissingTargetBehavior?` - **NextLabel** : `string` - **Offset** : `double?` - **OnBeforeLeave** : `Func` - Runs before the step is left, for every step whose BonboardingStep.OnBeforeShow ran. Throwing fails the whole tour; use BonboardingStep.CanAdvance to hold the user on the step instead. - **OnBeforeShow** : `Func` - Runs before the popover is shown. - **OnShown** : `Func` - Runs once the step is on screen. - **Order** : `int?` - Explicit position. Steps without one keep the order they are first rendered in, which is the declaration order unless a step only appears later (inside an @if, say): give such a step an BonboardingStep.Order, or keep it rendered and use BonboardingStep.When instead. A step with Order="n" is placed as if it were the n-th step to render, just ahead of the step that actually rendered n-th. Steps sharing the same BonboardingStep.Order keep their render order among themselves. - **Placement** : `BonboardingPlacement?` - **PlacementFallbacks** : `IReadOnlyList` - **PopoverClass** : `string` - **PreviousLabel** : `string` - **Progress** : `BonboardingProgressStyle?` - **ResolveNext** : `Func>` - Branching: returns the id of the next step. - **ResolvePrevious** : `Func>` - Branching: returns the id of the previous step. - **Route** : `string` - Route this step belongs to; the engine navigates there first. - **Scroll** : `BonboardingScrollMode?` - **Selector** : `string` - Points at the first element matching a CSS selector. - **ShowClose** : `bool?` - **ShowNext** : `bool?` - **ShowOverlay** : `bool?` - **ShowPrevious** : `bool?` - **ShowSkip** : `bool?` - **ShowSpotlight** : `bool?` - **SkipLabel** : `string` - **SpotlightPadding** : `double?` - **SpotlightRadius** : `double?` - **SpotlightShape** : `BonboardingSpotlightShape?` - **Target** : `BonboardingStepTarget` - The element to point at. Accepts a CSS selector string or a captured ElementReference directly. - **Template** : `RenderFragment` - Replaces the entire popover for this step. - **Title** : `string` - Heading, also the dialog's accessible name. - **WaitTimeout** : `TimeSpan?` - **WaitTimeoutBehavior** : `BonboardingMissingTargetBehavior?` - **When** : `Func>` - Skips the step when this returns false. ## Property - **Definition** : `BonboardingStepDefinition` - The definition this component maintains. Live: edits are picked up by a running tour. ## Method - **Dispose**() : `void`