{"version":3,"file":"kiosk.legacy.js","sources":["../../resources/modern-javascript/kiosk/components/back-button.js","../../resources/modern-javascript/kiosk/kiosk.js","../../resources/modern-javascript/kiosk.js"],"sourcesContent":["/**\n * Initialize the kiosk back button, everywhere but the\n */\nexport const initKioskBackButton = () => {\n    if (!shouldShowBackButton()) {\n        return;\n    }\n\n    // Create back button\n    const backButton = document.createElement('div')\n    Object.assign(backButton, {\n        className: 'kiosk__back-button'\n    })\n\n    const circle = document.createElement('div')\n    Object.assign(circle, {\n        className: 'kiosk__back-button-circle',\n        innerHTML: '&#8678'\n    })\n\n    backButton.appendChild(circle);\n\n    const textSpan = document.createElement('span')\n    textSpan.textContent = 'Go Back'\n\n    backButton.appendChild(textSpan);\n\n    // Append back button to body\n    document.body.appendChild(backButton)\n\n    document.querySelector('.kiosk__back-button').addEventListener('click', () => {\n        history.back();\n    })\n}\n\n/**\n * Check if the back button should be shown\n *\n * @returns {Boolean}\n */\nconst shouldShowBackButton = () => {\n    // Are we on the homepage?\n    return window.location.pathname == '/' ? false : true\n}\n","import { debounce } from 'lodash-es'\nimport { loadOverlay } from '../features/overlays'\nimport { initKioskBackButton } from './components/back-button'\n\nexport default class Kiosk {\n    /* @var Number  */\n    timeout = 0\n\n    /* @var Number */\n    timer = null\n\n    /**\n     * @param {HTMLElement} elm\n     * @param {Object} options\n     */\n    constructor() {\n        if (!this.getKioskCookie()) {\n            return;\n        }\n\n        initKioskBackButton();\n\n        const timeout = this.getTimeoutValue()\n        if (!timeout) {\n            return;\n        }\n\n        this.timeout = timeout\n        this.addEventListeners()\n    }\n\n    /**\n     * Get cookie by name\n     */\n    getKioskCookie() {\n        const value = `; ${document.cookie}`\n        const parts = value.split(`; kiosk=`)\n        if (parts.length === 2) {\n            const data = decodeURIComponent(parts.pop().split(';').shift())\n            try {\n                return JSON.parse(data)\n            } catch { }\n        }\n\n        return null\n    }\n\n    /**\n     * Get timeout value from cookie\n     */\n    getTimeoutValue() {\n        const KioskCookie = this.getKioskCookie()\n\n        if (KioskCookie && typeof KioskCookie[0] !== 'undefined' && !isNaN(KioskCookie[0])) {\n            return parseInt(KioskCookie[0]) * 1000\n        }\n\n        return null\n    }\n\n    /**\n     * Show the overlay\n     */\n    showOverlay() {\n        loadOverlay('/kiosk/overlay', {\n            modifiers: ['takeover', 'inactivity'],\n        })\n\n        const oneTrustBanner = document.querySelector('#onetrust-consent-sdk');\n        if (oneTrustBanner) {\n            oneTrustBanner.remove();\n        }\n\n        const cookieScriptBanner = document.querySelector('#cookiescript_injected');\n        if (cookieScriptBanner) {\n            cookieScriptBanner.remove();\n        }\n    }\n\n    /**\n     * Debounced timer method\n     */\n    timerReset = debounce(() => {\n        clearTimeout(this.timer)\n        this.timer = setTimeout(this.showOverlay, this.timeout)\n    }, 1000)\n\n    /**\n     * Add event listeners to body/overlay\n     */\n    addEventListeners() {\n        const events = ['click', 'touchstart', 'touchmove', 'wheel', 'pointerdown', 'pointermove', 'scroll', 'keydown', 'mousemove'];\n        events.forEach(event => document.body.addEventListener(event, () => {\n            this.timerReset()\n        }))\n\n        this.timerReset()\n    }\n}\n","import Kiosk from './kiosk/kiosk';\n\nwindow.addEventListener('DOMContentLoaded', () => {\n    new Kiosk();\n});\n"],"names":["shouldShowBackButton","window","location","pathname","Kiosk","_this","this","_classCallCheck","_defineProperty","debounce","d","clearTimeout","timer","setTimeout","showOverlay","timeout","getKioskCookie","backButton","document","createElement","Object","assign","className","circle","innerHTML","appendChild","textSpan","textContent","body","querySelector","addEventListener","history","back","initKioskBackButton","getTimeoutValue","addEventListeners","key","value","parts","concat","cookie","split","length","data","decodeURIComponent","pop","shift","JSON","parse","_unused","KioskCookie","isNaN","parseInt","loadOverlay","modifiers","oneTrustBanner","remove","cookieScriptBanner","_this2","forEach","event","timerReset"],"mappings":"o2CAGO,IAqCDA,EAAuB,WAEzB,MAAmC,KAA5BC,OAAOC,SAASC,QAC3B,ECvCqBC,EAAK,WA2B1B,SAhBI,SAAAA,IAAc,IAAAC,EAAAC,KACV,+FADUC,MAAAH,GAVlBI,iBACc,GAEdA,eACY,MAsEZA,EAGiBF,KAAA,cAAA,EAAAG,EAAQC,IAAC,WAClBC,aAAaN,EAAKO,OAClBP,EAAKO,MAAQC,WAAWR,EAAKS,YAAaT,EAAKU,QAClD,GAAE,MArEMT,KAAKU,iBAAV,EDb2B,WAC/B,GAAKhB,IAAL,CAKA,IAAMiB,EAAaC,SAASC,cAAc,OAC1CC,OAAOC,OAAOJ,EAAY,CACtBK,UAAW,uBAGf,IAAMC,EAASL,SAASC,cAAc,OACtCC,OAAOC,OAAOE,EAAQ,CAClBD,UAAW,4BACXE,UAAW,WAGfP,EAAWQ,YAAYF,GAEvB,IAAMG,EAAWR,SAASC,cAAc,QACxCO,EAASC,YAAc,UAEvBV,EAAWQ,YAAYC,GAGvBR,SAASU,KAAKH,YAAYR,GAE1BC,SAASW,cAAc,uBAAuBC,iBAAiB,SAAS,WACpEC,QAAQC,MAChB,GA1BK,CA2BL,CCbQC,GAEA,IAAMlB,EAAUT,KAAK4B,kBAChBnB,IAILT,KAAKS,QAAUA,EACfT,KAAK6B,oBAVJ,CAWJ,KAEL,CAAA,CAAAC,IAAA,iBAAAC,MAGI,WACI,IACMC,EADKC,KAAAA,OAAQrB,SAASsB,QACRC,kBACpB,GAAqB,IAAjBH,EAAMI,OAAc,CACpB,IAAMC,EAAOC,mBAAmBN,EAAMO,MAAMJ,MAAM,KAAKK,SACvD,IACI,OAAOC,KAAKC,MAAML,EACrB,CAAC,MAAAM,GAAS,CACd,CAED,OAAO,IACV,GAEL,CAAAb,IAAA,kBAAAC,MAGI,WACI,IAAMa,EAAc5C,KAAKU,iBAEzB,OAAIkC,QAAyC,IAAnBA,EAAY,KAAuBC,MAAMD,EAAY,IACzC,IAA3BE,SAASF,EAAY,IAGzB,IACV,GAEL,CAAAd,IAAA,cAAAC,MAGI,YACI,EAAAgB,EAAAA,GAAY,iBAAkB,CAC1BC,UAAW,CAAC,WAAY,gBAG5B,IAAMC,EAAiBrC,SAASW,cAAc,yBAC1C0B,GACAA,EAAeC,SAGnB,IAAMC,EAAqBvC,SAASW,cAAc,0BAC9C4B,GACAA,EAAmBD,QAE1B,GAAA,CAAApB,IAAA,oBAAAC,MAaD,WAAoB,IAAAqB,EAAApD,KACD,CAAC,QAAS,aAAc,YAAa,QAAS,cAAe,cAAe,SAAU,UAAW,aACzGqD,SAAQ,SAAAC,GAAK,OAAI1C,SAASU,KAAKE,iBAAiB8B,GAAO,WAC1DF,EAAKG,YACjB,GAAU,IAEFvD,KAAKuD,YACR,+FAAA,CA7FqB,GCF1B5D,OAAO6B,iBAAiB,oBAAoB,WACxC,IAAI1B,CACR,GAAE"}