Docsv3.31.0
Back to API Reference
Struct

InteractiveRange

sealed

Represents a clickable / hoverable / long-pressable range within text.

Remarks

Produced by InteractiveModifierBase subclasses to mark interactive regions like links, hashtags, mentions, or custom clickable areas. Ranges are stored per owning modifier; overlapping targets resolve through explicit priority, Style order, specificity and stable registration order before one routed event is emitted.
public RangeIdentity Identity{ get }

Stable source-scoped identity shared by every segment of the entity.

public RangeSegment Segment{ get }

Concrete segment represented by this target.

public RangeChannel Channel{ get }

Stable semantic routing asset, or null for modifier-local routing.

public RangeSource Source{ get }

Range source that owns identity and lifetime.

public TextRevision Revision{ get }

Rendered-text revision against which this range is valid.

public RangePayloadView Payload{ get }

Typed semantic value emitted by the source.

public string PrimaryValue{ get }

Opaque primary source value, such as a URL or matched mention text.

public static InteractiveRange None{ get }

Returns an empty/invalid range.

public bool IsValid{ get }

Returns whether this target has a current source-owned identity.

public bool Contains(int cluster)

Returns true if the cluster is within this range.

public readonly int start

Start cluster index (inclusive).

public readonly int end

End cluster index (exclusive).