Back to API Reference
Struct

InteractiveRange

sealed

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

Remarks

Produced by InteractiveModifier 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()

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).