The parent of Events that are the direct result of a user interaction, e.g. a button click.
graph LR AbstractEvent["AbstractEvent<br><span class='requires_context'>requires:<br />ApplicationContext<span class='properties'>location_stack: array<br />global_contexts: array<br />_type: string<br />id: string<br />time: integer</span></span>"]; AbstractEvent --> InteractiveEvent; InteractiveEvent["InteractiveEvent<br /><span class='properties'>requires:<br />AbstractLocationContext</span>"]; InteractiveEvent --> PressEvent["PressEvent<br /><span class='properties'>requires:<br />PressableContext</span>"]; InteractiveEvent --> InputChangeEvent["InputChangeEvent<br /><span class='properties'>requires:<br />InputContext</span>"]; class InteractiveEvent diagramActive; click PressEvent "/docs/taxonomy/reference/events/PressEvent" "See details" _self click InputChangeEvent "/docs/taxonomy/reference/events/InputChangeEvent" "See details" _self
|location_stack||array||The location stack is an ordered list (stack), that contains a hierarchy of location contexts that deterministically describes where an event took place from global to specific. The whole stack (list) is needed to exactly pinpoint where in the UI the event originated.||[AbstractLocationContext]|
|global_contexts||array||Global contexts add global / general information about the event. They carry information that is not related to where the Event originated (location), such as device, platform or business data.||[AbstractGlobalContext]|
|_type||string||String containing the name of the event type. (eg. PressEvent).|
|id||string||Unique identifier for a specific instance of an event. Typically UUID's are a good way of implementing this. On the collector side, events should be unique, this means duplicate id's result in ||pattern: |
|time||integer||Timestamp indicating when the event was generated.|