{"version":3,"sources":["jsdelivr-header.js","/npm/@jsuites/menu@4.0.0/menu.js"],"names":[],"mappings":"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","file":"/npm/@jsuites/menu@4.0.0/menu.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@jsuites/menu@4.0.0/menu.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n",";(function (global, factory) {\r\n    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\r\n    typeof define === 'function' && define.amd ? define(factory) :\r\n    global.menu = factory();\r\n}(this, (function () {\r\n\r\n    const slideLeft = function (element, direction, done) {\r\n        if (direction) {\r\n            element.classList.add('jslide-left-in');\r\n            setTimeout(function () {\r\n                element.classList.remove('jslide-left-in');\r\n                if (typeof (done) == 'function') {\r\n                    done();\r\n                }\r\n            }, 400);\r\n        } else {\r\n            element.classList.add('jslide-left-out');\r\n            setTimeout(function () {\r\n                element.classList.remove('jslide-left-out');\r\n                if (typeof (done) == 'function') {\r\n                    done();\r\n                }\r\n            }, 400);\r\n        }\r\n    }\r\n\r\n    const getWindowWidth = function() {\r\n        let w = window;\r\n        let d = document;\r\n        let e = d.documentElement;\r\n        let g = d.getElementsByTagName('body')[0];\r\n        return w.innerWidth || e.clientWidth || g.clientWidth;\r\n    }\r\n\r\n    const selectOnLoad = function(adjustScroll) {\r\n        let m = document.querySelectorAll('.jmenu li');\r\n        for (let i = 0; i < m.length; i++) {\r\n            m[i].classList.remove('selected');\r\n        }\r\n\r\n        let href = window.location.pathname;\r\n        if (href) {\r\n            let menu = document.querySelector('.jmenu nav a[href=\"'+ href +'\"]');\r\n            if (menu) {\r\n                const container = menu.closest('li');\r\n                if (container) {\r\n                    container.classList.add('selected');\r\n                }\r\n\r\n                // Select header\r\n                let item = container;\r\n                while (item && item.parentNode) {\r\n                    if (item.tagName !== 'NAV') {\r\n                        item = item.parentNode;\r\n\r\n                        if (item.previousElementSibling?.classList.contains('folder')) {\r\n                            item.previousElementSibling.classList.add('selected');\r\n                        }\r\n                    } else {\r\n                        item = false;\r\n                    }\r\n                }\r\n\r\n                // Direct scroll to element\r\n                if (adjustScroll === true) {\r\n                    // Force a small delay to ensure DOM is ready\r\n                    menu.scrollIntoView({ block: 'center' });\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n    const Plugin = (function(el, options) {\r\n        let obj = {};\r\n\r\n        obj.show = function() {\r\n            el.style.display = 'block';\r\n            if (document.body.offsetWidth < 800) {\r\n                slideLeft(el, 1);\r\n            }\r\n        }\r\n\r\n        obj.hide = function() {\r\n            if (document.body.offsetWidth < 800) {\r\n                slideLeft(el, 0, function() {\r\n                    el.style.display = 'none';\r\n                });\r\n            } else {\r\n                el.style.display = 'none';\r\n            }\r\n        }\r\n\r\n        obj.toggle = function() {\r\n            if (el.offsetWidth) {\r\n                obj.hide();\r\n            } else {\r\n                obj.show();\r\n            }\r\n        }\r\n\r\n        obj.load = function() {\r\n            if (options.adjustOnLoad !== false) {\r\n                selectOnLoad(true);\r\n            }\r\n        }\r\n\r\n        obj.update = function(adjustScroll) {\r\n            selectOnLoad(adjustScroll);\r\n        }\r\n\r\n        obj.select = function(o, e) {\r\n\r\n            let m = el.querySelectorAll('li.selected');\r\n            for (let i = 0; i < m.length; i++) {\r\n                m[i].classList.remove('selected');\r\n            }\r\n            o.parentNode.classList.add('selected');\r\n\r\n            if (options && typeof(options.onclick) == 'function') {\r\n                options.onclick(obj, e);\r\n            }\r\n\r\n            // Close menu if is oped\r\n            if (getWindowWidth() < 800) {\r\n                obj.hide();\r\n            }\r\n        }\r\n\r\n        let action = function(e) {\r\n            if (e.target.classList.contains('folder')) {\r\n                if (e.target.classList.contains('selected')) {\r\n                    e.target.classList.remove('selected');\r\n                } else {\r\n                    e.target.classList.add('selected');\r\n                }\r\n            } else if (e.target.tagName === 'A') {\r\n                // Mark the link as selected\r\n                obj.select(e.target, e);\r\n            } else {\r\n                // Get target info\r\n                let rect = el.getBoundingClientRect();\r\n                let x;\r\n                let y;\r\n\r\n                if (e.changedTouches && e.changedTouches[0]) {\r\n                    x = e.changedTouches[0].clientX;\r\n                    y = e.changedTouches[0].clientY;\r\n                } else {\r\n                    x = e.clientX;\r\n                    y = e.clientY;\r\n                }\r\n\r\n                const computedStyle = window.getComputedStyle(e.target);\r\n                if (computedStyle.position === 'fixed') {\r\n                    if (rect.width - (x - rect.left) < 45 && (y - rect.top) < 45) {\r\n                        obj.hide();\r\n                    }\r\n                }\r\n            }\r\n        }\r\n\r\n        el.addEventListener('click', action);\r\n\r\n        // Add menu class\r\n        el.classList.add('jmenu');\r\n\r\n        // Load state\r\n        obj.load();\r\n\r\n        if (options && typeof(options.onload) == 'function') {\r\n            options.onload(el, obj);\r\n        }\r\n\r\n        // Keep reference\r\n        el.menu = obj;\r\n\r\n        return obj;\r\n    });\r\n\r\n    if (window.jSuites) {\r\n        jSuites.setExtensions({ menu: Plugin });\r\n    }\r\n\r\n    return Plugin;\r\n\r\n})));"]}