{"version":3,"file":"1827.94c6adb8b7d98954e47c.js","mappings":"6XAOMA,EAAAA,WAEF,WAAYC,GAAI,Y,4FAAA,SACZC,KAAKC,QAAS,EACdD,KAAKD,GAAKA,EACVC,KAAKE,gBAAkB,KACvB,IAAIC,EAASC,SAASC,cAAcN,EAAGO,QAAQC,UAClC,MAAVJ,IACCH,KAAKQ,WAAaC,EAAAA,GAAAA,oBAA+BN,EAAQ,CACrDO,QAAQ,IAEU,MAAnBV,KAAKQ,aACJR,KAAKW,SACLC,OAAOC,iBAAiB,UAAU,WAC1B,EAAKX,kBACL,EAAKA,iBAAkB,EACvBY,YAAW,WACP,EAAKH,QACR,GAAE,KAEV,KAGZ,C,6CAED,WACI,IAAII,EAAWH,OAAOI,WAAaC,EAAAA,EAAAA,GACnCjB,KAAKE,iBAAkB,EACpBa,GAAYf,KAAKC,SAChBD,KAAKC,OAASc,EACXA,GACCf,KAAKQ,WAAWU,OAChBlB,KAAKD,GAAGoB,gBAAgB,cAExBnB,KAAKQ,WAAWY,OAChBpB,KAAKD,GAAGsB,aAAa,YAAW,IAG3C,M,gFAtCCvB,GA2CC,SAASwB,EAAWC,GACvBA,EAASC,SAAQ,SAACC,GAEQ,IAAlBA,EAAKC,UACL,IAAI5B,EAAiB2B,EAE5B,GACJ,C","sources":["webpack://nationalspacecentre.web/./wwwroot/app/src/js/collapse-expand-for-desktop.js"],"sourcesContent":["// *****************************\r\n// *****  Main Navigation  *****\r\n// *****************************\r\n\r\nimport { Collapse as bsCollapse } from 'bootstrap';\r\nimport { breakPoint } from './config';\r\n\r\nclass ExpandForDesktop {\r\n\r\n    constructor(el) {\r\n        this.mobile = true;\r\n        this.el = el; // collapse controller element\r\n        this.resizeRequested = null;\r\n        let target = document.querySelector(el.dataset.bsTarget);\r\n        if(target != null) {\r\n            this.collapseEl = bsCollapse.getOrCreateInstance(target, {\r\n                toggle: false\r\n            });\r\n            if(this.collapseEl != null) {\r\n                this.resize();\r\n                window.addEventListener('resize', () => {\r\n                    if(!this.resizeRequested) {\r\n                        this.resizeRequested = true;\r\n                        setTimeout(() => {\r\n                            this.resize();\r\n                        }, 200);\r\n                    }\r\n                });\r\n            }\r\n        }\r\n    }\r\n\r\n    resize() {\r\n        let isMobile = window.innerWidth < breakPoint.LG;\r\n        this.resizeRequested = false;\r\n        if(isMobile != this.mobile) {\r\n            this.mobile = isMobile;\r\n            if(isMobile) {\r\n                this.collapseEl.hide();\r\n                this.el.removeAttribute('disabled');\r\n            } else {\r\n                this.collapseEl.show();\r\n                this.el.setAttribute('disabled',true);\r\n            }\r\n        }\r\n    }\r\n\r\n}\r\n\r\n// export the default function to create\r\nexport function createFrom(wrappers) {\r\n    wrappers.forEach((node) => {\r\n        // if node is an element\r\n        if (node.nodeType === 1) {\r\n            new ExpandForDesktop(node);\r\n        }\r\n    });\r\n}"],"names":["ExpandForDesktop","el","this","mobile","resizeRequested","target","document","querySelector","dataset","bsTarget","collapseEl","bsCollapse","toggle","resize","window","addEventListener","setTimeout","isMobile","innerWidth","breakPoint","hide","removeAttribute","show","setAttribute","createFrom","wrappers","forEach","node","nodeType"],"sourceRoot":""}