@embrace-io/web-sdk
Version:
1 lines • 2.24 kB
Source Map (JSON)
{"version":3,"file":"activity.cjs","names":[],"sources":["../../../../src/managers/EmbraceUserSessionManager/utils/activity.ts"],"sourcesContent":["import type { VisibilityStateDocument } from '../../../common/index.ts';\n\nexport const isTabEngaged = (visibilityDoc: VisibilityStateDocument): boolean =>\n visibilityDoc.visibilityState === 'visible' && visibilityDoc.hasFocus();\n\nexport interface ActivityListenersArgs {\n target: EventTarget;\n visibilityDoc: VisibilityStateDocument;\n activityEvents: ReadonlyArray<string>;\n onActivity: (event: Event) => void;\n onVisibilityChange: (event: Event) => void;\n onFocus: (event: Event) => void;\n onBlur: (event: Event) => void;\n}\n\nexport const addActivityListeners = ({\n target,\n visibilityDoc,\n activityEvents,\n onActivity,\n onVisibilityChange,\n onFocus,\n onBlur,\n}: ActivityListenersArgs): void => {\n for (const event of activityEvents) {\n target.addEventListener(event, onActivity);\n }\n // Tab visibility flips (switch tabs, minimize, OS app switch).\n visibilityDoc.addEventListener?.('visibilitychange', onVisibilityChange);\n // Window focus changes (alt-tab, click into DevTools, multi-monitor).\n target.addEventListener('focus', onFocus);\n target.addEventListener('blur', onBlur);\n};\n\nexport const removeActivityListeners = ({\n target,\n visibilityDoc,\n activityEvents,\n onActivity,\n onVisibilityChange,\n onFocus,\n onBlur,\n}: ActivityListenersArgs): void => {\n for (const event of activityEvents) {\n target.removeEventListener(event, onActivity);\n }\n visibilityDoc.removeEventListener?.('visibilitychange', onVisibilityChange);\n target.removeEventListener('focus', onFocus);\n target.removeEventListener('blur', onBlur);\n};\n"],"mappings":";;AAEA,MAAa,gBAAgB,kBAC3B,cAAc,oBAAoB,aAAa,cAAc,SAAS;AAYxE,MAAa,wBAAwB,EACnC,QACA,eACA,gBACA,YACA,oBACA,SACA,aACiC;CACjC,KAAK,MAAM,SAAS,gBAClB,OAAO,iBAAiB,OAAO,UAAU;CAG3C,cAAc,mBAAmB,oBAAoB,kBAAkB;CAEvE,OAAO,iBAAiB,SAAS,OAAO;CACxC,OAAO,iBAAiB,QAAQ,MAAM;AACxC;AAEA,MAAa,2BAA2B,EACtC,QACA,eACA,gBACA,YACA,oBACA,SACA,aACiC;CACjC,KAAK,MAAM,SAAS,gBAClB,OAAO,oBAAoB,OAAO,UAAU;CAE9C,cAAc,sBAAsB,oBAAoB,kBAAkB;CAC1E,OAAO,oBAAoB,SAAS,OAAO;CAC3C,OAAO,oBAAoB,QAAQ,MAAM;AAC3C"}