@expofp/floorplan
Version:
Interactive floor plan library for expos and events
28 lines • 1.72 kB
TypeScript
type TrackEventType = 'load' | 'exview' | 'search' | 'route' | 'share' | 'booview' | 'catview' | 'ws_exhibitor_click' | 'sesview' | 'bookmark' | 'spkview' | 'sbtnview';
/** Which kind of entity a `bookmark` event refers to. */
export type TrackEventBookmarkSubtype = 'booth' | 'exhibitor' | 'session' | 'speaker';
/**
* Which button surface an `sbtnview` came from. The main row above the plan
* sends none, so its series is unchanged; the surfaces added later are
* distinguishable instead of being silently mixed into the same counter.
*/
export type TrackEventButtonSubtype = 'subbutton' | 'shortcut';
export type TrackEventSubtype = TrackEventBookmarkSubtype | TrackEventButtonSubtype;
export default function trackEvent(type: TrackEventType, value?: any, subtype?: TrackEventSubtype): Promise<void>;
/**
* Drops the module-scope telemetry state — the client (with its cached expo,
* expoId and kioskId) and the one-shot migration flag. `unstable_destroy()`
* tears down the DOM and the stores, but ES module state outlives it, so
* without this a host that destroys the plan and loads a different one keeps
* reporting under the first plan's event.
*
* Anything the client still had queued is drained first: it belongs to the
* plan being torn down. That drain is best-effort — `flush()` is async and
* can return early — so it is not what stops the batch being credited to the
* next plan; the per-expo storage key is. A batch restored after a failed
* POST keeps its own expo's key and waits for the next client for that expo,
* instead of being adopted and relabelled by a different one.
*/
export declare function resetTelemetry(): void;
export {};
//# sourceMappingURL=track-event.d.ts.map