{"version":3,"sources":["webpack:///../node_modules/activity-detector/dist/activity-detector.js"],"names":[],"mappings":";;;;;;;;;;;;AAAa;;AAEb;AACA;AACA,CAAC;;AAED,2CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,SAAS;AACrB,YAAY,SAAS;AACrB,YAAY,SAAS;AACrB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,QAAQ;AACpB,YAAY,OAAO;AACnB;AACA;AACA;;AAEA,qFAAqF;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC;AACpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;AACT;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,YAAY;AACZ;;AAEA,mC","file":"vendor.activity-detector.623cb262d453d6672320.js","sourcesContent":["'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar ACTIVE = 'active';\nvar IDLE = 'idle';\n\nvar DEFAULT_INITIAL_STATE = ACTIVE;\n\nvar DEFAULT_ACTIVITY_EVENTS = ['click', 'mousemove', 'keydown', 'DOMMouseScroll', 'mousewheel', 'mousedown', 'touchstart', 'touchmove', 'focus'];\n\nvar DEFAULT_INACTIVITY_EVENTS = ['blur', 'visibilitychange'];\n\nvar DEFAULT_IGNORED_EVENTS_WHEN_IDLE = ['mousemove'];\n\nvar hidden = void 0,\n visibilityChangeEvent = void 0;\nif (typeof document.hidden !== 'undefined') {\n hidden = 'hidden';\n visibilityChangeEvent = 'visibilitychange';\n} else {\n var prefixes = ['webkit', 'moz', 'ms'];\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n if (typeof document[prefix + 'Hidden'] !== 'undefined') {\n hidden = prefix + 'Hidden';\n visibilityChangeEvent = prefix + 'visibilitychange';\n break;\n }\n }\n}\n\n/**\n * Creates an activity detector instance\n *\n * @param {Object} options\n * @param {string[]} options.activityEvents Events which force a transition to 'active'\n * @param {string[]} options.inactivityEvents Events which force a transition to 'idle'\n * @param {string[]} options.ignoredEventsWhenIdle Events that are ignored in 'idle' state\n * @param {number} options.timeToIdle Inactivity time in ms to transition to 'idle'\n * @param {string} options.initialState One of 'active' or 'idle'\n * @param {boolean} options.autoInit\n * @return {Object} activity detector instance\n */\nvar activityDetector = function activityDetector() {\n var _listeners;\n\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$activityEvents = _ref.activityEvents,\n activityEvents = _ref$activityEvents === undefined ? DEFAULT_ACTIVITY_EVENTS : _ref$activityEvents,\n _ref$inactivityEvents = _ref.inactivityEvents,\n inactivityEvents = _ref$inactivityEvents === undefined ? DEFAULT_INACTIVITY_EVENTS : _ref$inactivityEvents,\n _ref$ignoredEventsWhe = _ref.ignoredEventsWhenIdle,\n ignoredEventsWhenIdle = _ref$ignoredEventsWhe === undefined ? DEFAULT_IGNORED_EVENTS_WHEN_IDLE : _ref$ignoredEventsWhe,\n _ref$timeToIdle = _ref.timeToIdle,\n timeToIdle = _ref$timeToIdle === undefined ? 30000 : _ref$timeToIdle,\n _ref$initialState = _ref.initialState,\n initialState = _ref$initialState === undefined ? DEFAULT_INITIAL_STATE : _ref$initialState,\n _ref$autoInit = _ref.autoInit,\n autoInit = _ref$autoInit === undefined ? true : _ref$autoInit;\n\n var listeners = (_listeners = {}, _defineProperty(_listeners, ACTIVE, []), _defineProperty(_listeners, IDLE, []), _listeners);\n var state = void 0;\n var timer = void 0;\n\n var setState = function setState(newState) {\n clearTimeout(timer);\n if (newState === ACTIVE) {\n timer = setTimeout(function () {\n return setState(IDLE);\n }, timeToIdle);\n }\n if (state !== newState) {\n state = newState;\n listeners[state].forEach(function (l) {\n return l();\n });\n }\n };\n\n var handleUserActivityEvent = function handleUserActivityEvent(event) {\n if (state === ACTIVE || ignoredEventsWhenIdle.indexOf(event.type) < 0) {\n setState(ACTIVE);\n }\n };\n\n var handleUserInactivityEvent = function handleUserInactivityEvent() {\n setState(IDLE);\n };\n\n var handleVisibilityChangeEvent = function handleVisibilityChangeEvent() {\n setState(document[hidden] ? IDLE : ACTIVE);\n };\n\n /**\n * Starts the activity detector with the given state.\n * @param {string} firstState 'idle' or 'active'\n */\n var init = function init() {\n var firstState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_INITIAL_STATE;\n\n setState(firstState === ACTIVE ? ACTIVE : IDLE);\n activityEvents.forEach(function (eventName) {\n return window.addEventListener(eventName, handleUserActivityEvent);\n });\n\n inactivityEvents.filter(function (eventName) {\n return eventName !== 'visibilitychange';\n }).forEach(function (eventName) {\n return window.addEventListener(eventName, handleUserInactivityEvent);\n });\n\n if (inactivityEvents.indexOf('visibilitychange') >= 0 && visibilityChangeEvent) {\n document.addEventListener(visibilityChangeEvent, handleVisibilityChangeEvent);\n }\n };\n\n /**\n * Register an event listener for the required event\n * @param {string} eventName 'active' or 'idle'\n * @param {Function} listener\n */\n var on = function on(eventName, listener) {\n listeners[eventName].push(listener);\n var off = function off() {\n var index = listeners[eventName].indexOf(listener);\n if (index >= 0) {\n listeners[eventName].splice(index, 1);\n }\n };\n return off;\n };\n\n /**\n * Stops the activity detector and clean the listeners\n */\n var stop = function stop() {\n listeners[ACTIVE] = [];\n listeners[IDLE] = [];\n\n clearTimeout(timer);\n\n activityEvents.forEach(function (eventName) {\n return window.removeEventListener(eventName, handleUserActivityEvent);\n });\n\n inactivityEvents.forEach(function (eventName) {\n return window.removeEventListener(eventName, handleUserInactivityEvent);\n });\n\n if (visibilityChangeEvent) {\n document.removeEventListener(visibilityChangeEvent, handleVisibilityChangeEvent);\n }\n };\n\n if (autoInit) {\n init(initialState);\n }\n\n return { on: on, stop: stop, init: init };\n};\n\nexports.default = activityDetector;"],"sourceRoot":""}