From 56543d51a8776d3bc7fa9b947771ce5308bf5df4 Mon Sep 17 00:00:00 2001 From: Jon Dufresne Date: Mon, 29 Apr 2024 00:44:57 -0700 Subject: [PATCH] feat: Add window events "pagehide" / "pageshow" (#1308) MDN documentation at: https://developer.mozilla.org/en-US/docs/Web/API/Window/pagehide_event https://developer.mozilla.org/en-US/docs/Web/API/Window/pageshow_event By adding these events, it allows library users to use the familiar fireEvent & friends in their test environments to verify pagehide and pageshow behavior. Co-authored-by: Matan Borenkraout --- src/__tests__/events.js | 4 ++-- src/event-map.js | 8 ++++++++ types/events.d.ts | 2 ++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/__tests__/events.js b/src/__tests__/events.js index 20d01b0d..f96c0da1 100644 --- a/src/__tests__/events.js +++ b/src/__tests__/events.js @@ -77,8 +77,8 @@ const eventTypes = [ elementType: 'img', }, { - type: '', - events: ['offline', 'online'], + type: 'Window', + events: ['offline', 'online', 'pageHide', 'pageShow'], elementType: 'window', }, { diff --git a/src/event-map.js b/src/event-map.js index 30e4f9d0..08676759 100644 --- a/src/event-map.js +++ b/src/event-map.js @@ -372,6 +372,14 @@ export const eventMap = { EventType: 'Event', defaultInit: {bubbles: false, cancelable: false}, }, + pageHide: { + EventType: 'PageTransitionEvent', + defaultInit: {bubbles: true, cancelable: true}, + }, + pageShow: { + EventType: 'PageTransitionEvent', + defaultInit: {bubbles: true, cancelable: true}, + }, } export const eventAliasMap = { diff --git a/types/events.d.ts b/types/events.d.ts index 57a7edd6..b524c189 100644 --- a/types/events.d.ts +++ b/types/events.d.ts @@ -88,6 +88,8 @@ export type EventType = | 'lostPointerCapture' | 'offline' | 'online' + | 'pageHide' + | 'pageShow' export type FireFunction = ( element: Document | Element | Window | Node,