-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.min.js
More file actions
1 lines (1 loc) · 3.69 KB
/
index.min.js
File metadata and controls
1 lines (1 loc) · 3.69 KB
1
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.removeBackButtonHandler=exports.initialize=exports.enableBackButtonHandler=exports.default=void 0;var _react=require("react");function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_unsupportedIterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,c){if(a){if("string"==typeof a)return _arrayLikeToArray(a,c);var b=Object.prototype.toString.call(a).slice(8,-1);if("Object"===b&&a.constructor&&(b=a.constructor.name),"Map"===b||"Set"===b)return Array.from(a);if("Arguments"===b||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(b))return _arrayLikeToArray(a,c)}}function _iterableToArray(a){if("undefined"!=typeof Symbol&&null!=a[Symbol.iterator]||null!=a["@@iterator"])return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a))return _arrayLikeToArray(a)}function _arrayLikeToArray(c,a){(null==a||a>c.length)&&(a=c.length);for(var b=0,d=new Array(a);b<a;b++)d[b]=c[b];return d}var callBackFunctions={},callBackIDStack=[],backButtons=null,element=document,event="keypress",initialize=function(a){var b=a.keyCodes,c=a.element,d=a.event;backButtons||(backButtons=void 0===b?[]:b),element=void 0===c?document:c,event=void 0===d?"keypress":d};exports.initialize=initialize;var isKeyBackButton=function(a){return -1!==(backButtons||[]).indexOf(a.keyCode)},getRandomIDArray=function(){return callBackIDStack.map(function(a){return a.randomID})||[]},updateCallBackIDStackwithRank=function(f,c){var a=callBackIDStack.map(function(a){return a.rank})||[],d=[],g=[];(function e(b){var c=a[b]||null,f=callBackIDStack[b]||null;null!==c&&(d.unshift(c),g.unshift(f),e(b-1))})(a.length-1),d.push(c),g.push({randomID:f,rank:c});var b=d.sort(function(a,b){return a-b}),e=[];b.forEach(function(a){e.push(g.filter(function(b){return b.rank===a})[0])});var h=callBackIDStack.slice(0,callBackIDStack.length-e.length+1),i=a.slice(0,a.length-b.length+1);callBackIDStack=[].concat(_toConsumableArray(h),e),a=[].concat(_toConsumableArray(i),_toConsumableArray(b))},addNewCallbackToStack=function(){var b=arguments.length>0&& void 0!==arguments[0]?arguments[0]:{},a=b.randomID,d=b.callBack,e=b.rank,c=void 0===e?null:e;if(-1===getRandomIDArray().indexOf(a)){var f=callBackIDStack[callBackIDStack.length-1];c&&f&&null!==f.rank?updateCallBackIDStackwithRank(a,c):callBackIDStack.push({randomID:a,rank:c})}callBackFunctions[a]=void 0===d?function(){}:d},removeCallBack=function(a){a||(callBackIDStack=[]);var b=getRandomIDArray().indexOf(a);b> -1&&(callBackIDStack.splice(b,1),delete callBackFunctions[a])},executeBackPressFunctionality=function d(){var b=arguments.length>0&& void 0!==arguments[0]?arguments[0]:0,c=getRandomIDArray().length-(b+1),a=callBackFunctions[callBackIDStack[c]&&callBackIDStack[c].randomID];a&&"function"==typeof a&& !0!==a()&&d(b+1)},handleBackPress=function(a){isKeyBackButton(a)&&executeBackPressFunctionality()},enableBackButtonHandler=function(){return element.addEventListener(event,handleBackPress)};exports.enableBackButtonHandler=enableBackButtonHandler,enableBackButtonHandler();var removeBackButtonHandler=function(){element.removeEventListener(event,handleBackPress)};exports.removeBackButtonHandler=removeBackButtonHandler;var useBackButton=function(a){var c=a.callBack,b=a.rank,d=a.randomID,e=(0,_react.useRef)(d||Math.random());addNewCallbackToStack({randomID:e.current,callBack:c,rank:void 0===b?null:b}),(0,_react.useEffect)(function(){return function(){removeCallBack(e.current)}},[])},_default=useBackButton;exports.default=_default