PageSourceSearch

https://dnevniki-vampira.beer/templates/MONO_TShow_01/assets/js/defaultmenu.js?v=11

js dnevniki-vampira.beer collected 2026-10-08 00:15:42 UTC 44,532 bytes, 768 lines download raw bytes

1!(function () {
2    "use strict";
3    localStorage.getItem("tshowdarktheme") &&
4        (document.querySelector("html").setAttribute("data-theme-mode", "dark"), document.querySelector("html").setAttribute("data-menu-styles", "dark"), document.querySelector("html").setAttribute("data-header-styles", "dark")),
5        (function () {
6            if (
7                (localStorage.primaryRGB &&
8                    (document.querySelector(".theme-container-primary") && (document.querySelector(".theme-container-primary").value = localStorage.primaryRGB),
9                    document.querySelector("html").style.setProperty("--primary-rgb", localStorage.primaryRGB)),
10                localStorage.bodyBgRGB && localStorage.bodylightRGB)
11            ) {
12                document.querySelector(".theme-container-background") && (document.querySelector(".theme-container-background").value = localStorage.bodyBgRGB),
13                    document.querySelector("html").style.setProperty("--body-bg-rgb", localStorage.bodyBgRGB),
14                    document.querySelector("html").style.setProperty("--body-bg-rgb2", localStorage.bodylightRGB),
15                    document.querySelector("html").style.setProperty("--light-rgb", localStorage.bodylightRGB),
16                    document.querySelector("html").style.setProperty("--form-control-bg", `rgb(${localStorage.bodylightRGB})`),
17                    document.querySelector("html").style.setProperty("--input-border", "rgba(255,255,255,0.1)");
18                let e = document.querySelector("html");
19                e.setAttribute("data-theme-mode", "dark"), e.setAttribute("data-menu-styles", "dark"), e.setAttribute("data-header-styles", "dark");
20            }
21            if (localStorage.tshowdarktheme) {
22                document.querySelector("html").setAttribute("data-theme-mode", "dark");
23            }
24            if (localStorage.tshowlayout) {
25                let e = document.querySelector("html");
26                localStorage.getItem("tshowlayout");
27                e.setAttribute("data-nav-layout", "horizontal"),
28                    setTimeout(() => {
29                        clearNavDropdown();
30                    }, 5e3),
31                    e.setAttribute("data-nav-style", "menu-click"),
32                    setTimeout(() => {
33                        checkHoriMenu();
34                    }, 5e3);
35            }
36            if (localStorage.tshowverticalstyles) {
37                let e = document.querySelector("html"),
38                    t = localStorage.getItem("tshowverticalstyles");
39                "default" == t && (e.setAttribute("data-vertical-style", "default"), localStorage.removeItem("ynexnavstyles")),
40                    "closed" == t && (e.setAttribute("data-vertical-style", "closed"), localStorage.removeItem("tshownavstyles")),
41                    "icontext" == t && (e.setAttribute("data-vertical-style", "icontext"), localStorage.removeItem("tshownavstyles")),
42                    "overlay" == t && (e.setAttribute("data-vertical-style", "overlay"), localStorage.removeItem("tshownavstyles")),
43                    "detached" == t && (e.setAttribute("data-vertical-style", "detached"), localStorage.removeItem("tshownavstyles")),
44                    "doublemenu" == t &&
45                        (e.setAttribute("data-vertical-style", "doublemenu"),
46                        localStorage.removeItem("tshownavstyles"),
47                        setTimeout(() => {
48                            const e = document.querySelectorAll(".main-menu > li > .side-menu__item"),
49                                t = document.createElement("div");
50                            (t.className = "custome-tooltip"),
51                                t.style.setProperty("position", "fixed"),
52                                t.style.setProperty("display", "none"),
53                                t.style.setProperty("padding", "0.5rem"),
54                                t.style.setProperty("font-weight", "500"),
55                                t.style.setProperty("font-size", "0.75rem"),
56                                t.style.setProperty("background-color", "rgb(15, 23 ,42)"),
57                                t.style.setProperty("color", "rgb(255, 255 ,255)"),
58                                t.style.setProperty("margin-inline-start", "100px"),
59                                t.style.setProperty("border-radius", "0.25rem"),
60                                t.style.setProperty("z-index", "99"),
61                                e.forEach((e) => {
62                                    e.addEventListener("mouseenter", () => {
63                                        t.style.setProperty("display", "block"),
64                                            (t.textContent = e.querySelector(".side-menu__label").textContent),
65                                            "doublemenu" == document.querySelector("html").getAttribute("data-vertical-style") && e.appendChild(t);
66                                    }),
67                                        e.addEventListener("mouseleave", () => {
68                                            t.style.setProperty("display", "none"), (t.textContent = e.querySelector(".side-menu__label").textContent);
69                                        });
70                                });
71                        }, 1e3));
72            }
73            if (localStorage.tshownavstyles) {
74                let e = document.querySelector("html"),
75                    t = localStorage.getItem("tshownavstyles");
76                "menu-click" == t && (e.setAttribute("data-nav-style", "menu-click"), localStorage.removeItem("tshowverticalstyles"), e.removeAttribute("data-vertical-style")),
77                    "menu-hover" == t && (e.setAttribute("data-nav-style", "menu-hover"), localStorage.removeItem("tshowverticalstyles"), e.removeAttribute("data-vertical-style")),
78                    "icon-click" == t && (e.setAttribute("data-nav-style", "icon-click"), localStorage.removeItem("tshowverticalstyles"), e.removeAttribute("data-vertical-style")),
79                    "icon-hover" == t && (e.setAttribute("data-nav-style", "icon-hover"), localStorage.removeItem("tshowverticalstyles"), e.removeAttribute("data-vertical-style"));
80            }
81            if (localStorage.tshowclassic) {
82                document.querySelector("html").setAttribute("data-page-style", "classic");
83            }
84            if (localStorage.tshowmodern) {
85                document.querySelector("html").setAttribute("data-page-style", "modern");
86            }
87            if (localStorage.tshowboxed) {
88                document.querySelector("html").setAttribute("data-width", "boxed");
89            }
90            if (localStorage.tshowHeaderfixed) {
91                document.querySelector("html").setAttribute("data-header-position", "fixed");
92            }
93            if (localStorage.tshowHeaderscrollable) {
94                document.querySelector("html").setAttribute("data-header-position", "scrollable");
95            }
96            if (localStorage.tshowMenufixed) {
97                document.querySelector("html").setAttribute("data-menu-position", "fixed");
98            }
99            if (localStorage.tshowMenuscrollable) {
100                document.querySelector("html").setAttribute("data-menu-position", "scrollable");
101            }
102            if (localStorage.tshowMenu) {
103                let e = document.querySelector("html");
104                switch (localStorage.getItem("tshowMenu")) {
105                    case "light":
106                        e.setAttribute("data-menu-styles", "light");
107                        break;
108                    case "dark":
109                        e.setAttribute("data-menu-styles", "dark");
110                        break;
111                    case "color":
112                        e.setAttribute("data-menu-styles", "color");
113                        break;
114                    case "gradient":
115                        e.setAttribute("data-menu-styles", "gradient");
116                        break;
117                    case "transparent":
118                        e.setAttribute("data-menu-styles", "transparent");
119                }
120            }
121            if (localStorage.tshowHeader) {
122                let e = document.querySelector("html");
123                switch (localStorage.getItem("tshowHeader")) {
124                    case "light":
125                        e.setAttribute("data-header-styles", "light");
126                        break;
127                    case "dark":
128                        e.setAttribute("data-header-styles", "dark");
129                        break;
130                    case "color":
131                        e.setAttribute("data-header-styles", "color");
132                        break;
133                    case "gradient":
134                        e.setAttribute("data-header-styles", "gradient");
135                        break;
136                    case "transparent":
137                        e.setAttribute("data-header-styles", "transparent");
138                }
139            }
140            if (localStorage.bgimg) {
141                let e = document.querySelector("html"),
142                    t = localStorage.getItem("bgimg");
143                e.setAttribute("data-bg-img", t);
144            }
145        })();
146})(),
147    (function () {
148        var e = document.getElementById("sidebar-scroll");
149        e && new SimpleBar(e, { autoHide: !0 });
150    })();
151const ANIMATION_DURATION = 300,
152    sidebar = document.getElementById("sidebar");
153let mainContentDiv = document.querySelector(".main-content");
154const slideHasSub = document.querySelectorAll(".nav > ul > .slide.has-sub"),
155    firstLevelItems = document.querySelectorAll(".nav > ul > .slide.has-sub > a"),
156    innerLevelItems = document.querySelectorAll(".nav > ul > .slide.has-sub .slide.has-sub > a");
157class PopperObject {
158    instance = null;
159    reference = null;
160    popperTarget = null;
161    constructor(e, t) {
162        this.init(e, t);
163    }
164    init(e, t) {
165        (this.reference = e),
166            (this.popperTarget = t),
167            (this.instance = Popper.createPopper(this.reference, this.popperTarget, { placement: "bottom", strategy: "relative", resize: !0, modifiers: [{ name: "computeStyles", options: { adaptive: !1 } }] })),
168            document.addEventListener("click", (e) => this.clicker(e, this.popperTarget, this.reference), !1);
169        const i = new ResizeObserver(() => {
170            this.instance.update();
171        });
172        i.observe(this.popperTarget), i.observe(this.reference);
173    }
174    clicker(e, t, i) {
175        !sidebar.classList.contains("collapsed") || t.contains(e.target) || i.contains(e.target) || this.hide();
176    }
177    hide() {}
178}
179class Poppers {
180    subMenuPoppers = [];
181    constructor() {
182        this.init();
183    }
184    init() {
185        slideHasSub.forEach((e) => {
186            this.subMenuPoppers.push(new PopperObject(e, e.lastElementChild)), this.closePoppers();
187        });
188    }
189    togglePopper(e) {
190        "hidden" === window.getComputedStyle(e).visibility && void 0 === window.getComputedStyle(e).visibility ? (e.style.visibility = "visible") : (e.style.visibility = "hidden");
191    }
192    updatePoppers() {
193        this.subMenuPoppers.forEach((e) => {
194            (e.instance.state.elements.popper.style.display = "none"), e.instance.update();
195        });
196    }
197    closePoppers() {
198        this.subMenuPoppers.forEach((e) => {
199            e.hide();
200        });
201    }
202}
203const slideUp = (e, t = 300) => {
204        const { parentElement: i } = e;
205        i.classList.remove("open"),
206            (e.style.transitionProperty = "height, margin, padding"),
207            (e.style.transitionDuration = `${t}ms`),
208            (e.style.boxSizing = "border-box"),
209            (e.style.height = `${e.offsetHeight}px`),
210            e.offsetHeight,
211            (e.style.overflow = "hidden"),
212            (e.style.height = 0),
213            (e.style.paddingTop = 0),
214            (e.style.paddingBottom = 0),
215            (e.style.marginTop = 0),
216            (e.style.marginBottom = 0),
217            window.setTimeout(() => {
218                (e.style.display = "none"),
219                    e.style.removeProperty("height"),
220                    e.style.removeProperty("padding-top"),
221                    e.style.removeProperty("padding-bottom"),
222                    e.style.removeProperty("margin-top"),
223                    e.style.removeProperty("margin-bottom"),
224                    e.style.removeProperty("overflow"),
225                    e.style.removeProperty("transition-duration"),
226                    e.style.removeProperty("transition-property");
227            }, t);
228    },
229    slideDown = (e, t = 300) => {
230        const { parentElement: i } = e;
231        i.classList.add("open"), e.style.removeProperty("display");
232        let { display: r } = window.getComputedStyle(e);
233        "none" === r && (r = "block"), (e.style.display = r);
234        const n = e.offsetHeight;
235        (e.style.overflow = "hidden"),
236            (e.style.height = 0),
237            (e.style.paddingTop = 0),
238            (e.style.paddingBottom = 0),
239            (e.style.marginTop = 0),
240            (e.style.marginBottom = 0),
241            e.offsetHeight,
242            (e.style.boxSizing = "border-box"),
243            (e.style.transitionProperty = "height, margin, padding"),
244            (e.style.transitionDuration = `${t}ms`),
245            (e.style.height = `${n}px`),
246            e.style.removeProperty("padding-top"),
247            e.style.removeProperty("padding-bottom"),
248            e.style.removeProperty("margin-top"),
249            e.style.removeProperty("margin-bottom"),
250            window.setTimeout(() => {
251                e.style.removeProperty("height"), e.style.removeProperty("overflow"), e.style.removeProperty("transition-property"), e.style.removeProperty("transition-duration");
252            }, t);
253    },
254    slideToggle = (e, t = 300) => {
255        let i = document.querySelector("html");
256        if (
257            !(
258                ("menu-hover" === i.getAttribute("data-nav-style") && "menu-hover-closed" === i.getAttribute("data-toggled") && window.innerWidth >= 992) ||
259                ("icon-hover" === i.getAttribute("data-nav-style") && "icon-hover-closed" === i.getAttribute("data-toggled") && window.innerWidth >= 992)
260            ) &&
261            e &&
262            3 != e.nodeType
263        )
264            return "none" === window.getComputedStyle(e).display ? slideDown(e, t) : slideUp(e, t);
265    },
266    PoppersInstance = new Poppers(),
267    updatePoppersTimeout = () => {
268        setTimeout(() => {
269            PoppersInstance.updatePoppers();
270        }, 300);
271    },
272    defaultOpenMenus = document.querySelectorAll(".slide.has-sub.open");
273let headerToggleBtn, WindowPreSize;
274function checkHoriMenu() {
275    let e = document.querySelector("html");
276    if ("horizontal" !== e.getAttribute("data-nav-layout") || window.innerWidth < 992) return;
277    let t = document.querySelector(".main-menu"),
278        i = document.querySelector(".main-sidebar"),
279        r = document.querySelector(".slide-left"),
280        n = document.querySelector(".slide-right");
281    if (!t || !i) return;
282    let s = Math.ceil(Number(window.getComputedStyle(t).marginRight.split("px")[0])),
283        o = Math.ceil(Number(window.getComputedStyle(t).marginLeft.split("px")[0]));
284    if (r) {
285        if ("rtl" === e.getAttribute("dir")) {
286            0 !== s ? r.classList.remove("d-none") : r.classList.add("d-none");
287        } else {
288            0 !== o ? r.classList.remove("d-none") : r.classList.add("d-none");
289        }
290    }
291    if (t.scrollWidth > i.offsetWidth) {
292        n && n.classList.remove("d-none");
293    } else {
294        (t.style.marginLeft = "0px"), (t.style.marginRight = "0px"), n && n.classList.add("d-none"), r && r.classList.add("d-none");
295    }
296}
297function ResizeMenu() {
298    let e = document.querySelector("html"),
299        t = document.querySelector(".main-content");
300    WindowPreSize.push(window.innerWidth),
301        WindowPreSize.length > 2 && WindowPreSize.shift(),
302        WindowPreSize.length > 1 &&
303            (WindowPreSize[WindowPreSize.length - 1] < 992 && WindowPreSize[WindowPreSize.length - 2] >= 992 && (t.addEventListener("click", menuClose), setNavActive(), toggleSidemenu(), t.removeEventListener("click", clearNavDropdown)),
304            WindowPreSize[WindowPreSize.length - 1] >= 992 &&
305                WindowPreSize[WindowPreSize.length - 2] < 992 &&
306                (t.removeEventListener("click", menuClose),
307                toggleSidemenu(),
308                "horizontal" === e.getAttribute("data-nav-layout") ? (clearNavDropdown(), t.addEventListener("click", clearNavDropdown)) : t.removeEventListener("click", clearNavDropdown),
309                e.removeAttribute("data-toggled"))),
310        checkHoriMenu();
311}
312function menuClose() {
313    document.querySelector("html").setAttribute("data-toggled", "close"), document.querySelector("#responsive-overlay").classList.remove("active");
314}
315function toggleSidemenu() {
316    let e = document.querySelector("html"),
317        t = e.getAttribute("data-nav-layout");
318    if (window.innerWidth >= 992) {
319        if ("vertical" === t) {
320            switch (
321                (sidebar.removeEventListener("mouseenter", mouseEntered),
322                sidebar.removeEventListener("mouseleave", mouseLeave),
323                sidebar.removeEventListener("click", icontextOpen),
324                mainContentDiv.removeEventListener("click", icontextClose),
325                document.querySelectorAll(".main-menu li > .side-menu__item").forEach((e) => e.removeEventListener("click", doubleClickFn)),
326                e.getAttribute("data-vertical-style"))
327            ) {
328                case "closed":
329                    e.removeAttribute("data-nav-style"), "close-menu-close" === e.getAttribute("data-toggled") ? e.removeAttribute("data-toggled") : e.setAttribute("data-toggled", "close-menu-close");
330                    break;
331                case "overlay":
332                    e.removeAttribute("data-nav-style"),
333                        "icon-overlay-close" === e.getAttribute("data-toggled")
334                            ? (e.removeAttribute("data-toggled", "icon-overlay-close"), sidebar.removeEventListener("mouseenter", mouseEntered), sidebar.removeEventListener("mouseleave", mouseLeave))
335                            : window.innerWidth >= 992
336                            ? (localStorage.getItem("tshowlayout") || e.setAttribute("data-toggled", "icon-overlay-close"), sidebar.addEventListener("mouseenter", mouseEntered), sidebar.addEventListener("mouseleave", mouseLeave))
337                            : (sidebar.removeEventListener("mouseenter", mouseEntered), sidebar.removeEventListener("mouseleave", mouseLeave));
338                    break;
339                case "icontext":
340                    e.removeAttribute("data-nav-style"),
341                        "icon-text-close" === e.getAttribute("data-toggled")
342                            ? (e.removeAttribute("data-toggled", "icon-text-close"), sidebar.removeEventListener("click", icontextOpen), mainContentDiv.removeEventListener("click", icontextClose))
343                            : (e.setAttribute("data-toggled", "icon-text-close"),
344                              window.innerWidth >= 992
345                                  ? (sidebar.addEventListener("click", icontextOpen), mainContentDiv.addEventListener("click", icontextClose))
346                                  : (sidebar.removeEventListener("click", icontextOpen), mainContentDiv.removeEventListener("click", icontextClose)));
347                    break;
348                case "doublemenu":
349                    if ((e.removeAttribute("data-nav-style"), "double-menu-open" === e.getAttribute("data-toggled"))) {
350                        if ((e.setAttribute("data-toggled", "double-menu-close"), document.querySelector(".slide-menu"))) {
351                            document.querySelectorAll(".slide-menu").forEach((e) => {
352                                e.classList.contains("double-menu-active") && e.classList.remove("double-menu-active");
353                            });
354                        }
355                    } else {
356                        let t = document.querySelector(".side-menu__item.active");
357                        t &&
358                            (e.setAttribute("data-toggled", "double-menu-open"),
359                            t.nextElementSibling ? t.nextElementSibling.classList.add("double-menu-active") : document.querySelector("html").setAttribute("data-toggled", "double-menu-close"));
360                    }
361                    doublemenu();
362                    break;
363                case "detached":
364                    e.removeAttribute("data-nav-style"),
365                        "detached-close" === e.getAttribute("data-toggled")
366                            ? (e.removeAttribute("data-toggled", "detached-close"), sidebar.removeEventListener("mouseenter", mou
366seEntered), sidebar.removeEventListener("mouseleave", mouseLeave))
367                            : (e.setAttribute("data-toggled", "detached-close"),
368                              window.innerWidth >= 992
369                                  ? (sidebar.addEventListener("mouseenter", mouseEntered), sidebar.addEventListener("mouseleave", mouseLeave))
370                                  : (sidebar.removeEventListener("mouseenter", mouseEntered), sidebar.removeEventListener("mouseleave", mouseLeave)));
371                    break;
372                case "default":
373                    iconOverayFn(), e.removeAttribute("data-toggled");
374            }
375            switch (e.getAttribute("data-nav-style")) {
376                case "menu-click":
377                    "menu-click-closed" === e.getAttribute("data-toggled") ? e.removeAttribute("data-toggled") : e.setAttribute("data-toggled", "menu-click-closed");
378                    break;
379                case "menu-hover":
380                    "menu-hover-closed" === e.getAttribute("data-toggled") ? (e.removeAttribute("data-toggled"), setNavActive()) : (e.setAttribute("data-toggled", "menu-hover-closed"), clearNavDropdown());
381                    break;
382                case "icon-click":
383                    "icon-click-closed" === e.getAttribute("data-toggled") ? e.removeAttribute("data-toggled") : e.setAttribute("data-toggled", "icon-click-closed");
384                    break;
385                case "icon-hover":
386                    "icon-hover-closed" === e.getAttribute("data-toggled") ? (e.removeAttribute("data-toggled"), setNavActive()) : (e.setAttribute("data-toggled", "icon-hover-closed"), clearNavDropdown());
387            }
388        }
389    } else if ("close" === e.getAttribute("data-toggled")) {
390        e.setAttribute("data-toggled", "open");
391        let t = document.createElement("div");
392        (t.id = "responsive-overlay"),
393            setTimeout(() => {
394                "open" == document.querySelector("html").getAttribute("data-toggled") &&
395                    (document.querySelector("#responsive-overlay").classList.add("active"),
396                    document.querySelector("#responsive-overlay").addEventListener("click", () => {
397                        document.querySelector("#responsive-overlay").classList.remove("active"), console.log(t.id), menuClose();
398                    })),
399                    window.addEventListener("resize", () => {
400                        window.screen.width >= 992 && document.querySelector("#responsive-overlay").classList.remove("active");
401                    });
402            }, 100);
403    } else e.setAttribute("data-toggled", "close");
404}
405function mouseEntered() {
406    document.querySelector("html").setAttribute("data-icon-overlay", "open");
407}
408function mouseLeave() {
409    document.querySelector("html").removeAttribute("data-icon-overlay");
410}
411function icontextOpen() {
412    document.querySelector("html").setAttribute("data-icon-text", "open");
413}
414function icontextClose() {
415    document.querySelector("html").removeAttribute("data-icon-text");
416}
417function closedSidemenuFn() {
418    let e = document.querySelector("html");
419    e.setAttribute("data-nav-layout", "vertical"), e.setAttribute("data-vertical-style", "closed"), toggleSidemenu();
420}
421function detachedFn() {
422    let e = document.querySelector("html");
423    e.setAttribute("data-nav-layout", "vertical"), e.setAttribute("data-vertical-style", "detached"), toggleSidemenu();
424}
425function iconTextFn() {
426    let e = document.querySelector("html");
427    e.setAttribute("data-nav-layout", "vertical"), e.setAttribute("data-vertical-style", "icontext"), toggleSidemenu();
428}
429function iconOverayFn() {
430    let e = document.querySelector("html");
431    e.setAttribute("data-nav-layout", "vertical"), e.setAttribute("data-vertical-style", "overlay"), toggleSidemenu(), setNavActive();
432}
433function doubletFn() {
434    let e = document.querySelector("html");
435    e.setAttribute("data-nav-layout", "vertical"), e.setAttribute("data-vertical-style", "doublemenu"), toggleSidemenu();
436    const t = document.querySelectorAll(".main-menu > li > .side-menu__item"),
437        i = document.createElement("div");
438    (i.className = "custome-tooltip"),
439        i.style.setProperty("position", "fixed"),
440        i.style.setProperty("display", "none"),
441        i.style.setProperty("padding", "0.5rem"),
442        i.style.setProperty("font-weight", "500"),
443        i.style.setProperty("font-size", "0.75rem"),
444        i.style.setProperty("background-color", "rgb(15, 23 ,42)"),
445        i.style.setProperty("color", "rgb(255, 255 ,255)"),
446        i.style.setProperty("margin-inline-start", "100px"),
447        i.style.setProperty("border-radius", "0.25rem"),
448        i.style.setProperty("z-index", "99"),
449        t.forEach((e) => {
450            e.addEventListener("mouseenter", () => {
451                i.style.setProperty("display", "block"), (i.textContent = e.querySelector(".side-menu__label").textContent), "doublemenu" == document.querySelector("html").getAttribute("data-vertical-style") && e.appendChild(i);
452            }),
453                e.addEventListener("mouseleave", () => {
454                    i.style.setProperty("display", "none"), (i.textContent = e.querySelector(".side-menu__label").textContent), "doublemenu" == document.querySelector("html").getAttribute("data-vertical-style") && e.removeChild(i);
455                });
456        });
457}
458function menuClickFn() {
459    let e = document.querySelector("html");
460    e.setAttribute("data-nav-style", "menu-click"), e.removeAttribute("data-hor-style"), e.removeAttribute("data-vertical-style"), toggleSidemenu(), "vertical" === e.getAttribute("data-nav-layout") && setNavActive();
461}
462function menuhoverFn() {
463    let e = document.querySelector("html");
464    e.setAttribute("data-nav-style", "menu-hover"), e.removeAttribute("data-hor-style"), e.removeAttribute("data-vertical-style"), toggleSidemenu(), "menu-hover-closed" === e.getAttribute("data-toggled") && clearNavDropdown();
465}
466function iconClickFn() {
467    let e = document.querySelector("html");
468    e.setAttribute("data-nav-style", "icon-click"), toggleSidemenu(), "vertical" === e.getAttribute("data-nav-layout") && setNavActive();
469}
470function iconHoverFn() {
471    document.querySelector("html").setAttribute("data-nav-style", "icon-hover"), toggleSidemenu(), clearNavDropdown();
472}
473function setNavActive() {
474    let e = window.location.pathname.split("/")[0];
475    (e = "/" == location.pathname ? "index.html" : location.pathname.substring(1)),
476        (e = e.substring(e.lastIndexOf("/") + 1)),
477        document.querySelectorAll(".side-menu__item").forEach((t) => {
478            if (("/" === e && (e = "index.html"), t.getAttribute("href") === e)) {
479                t.classList.add("active"), t.parentElement.classList.add("active");
480                let e = t.closest("ul"),
481                    i = t.closest("ul:not(.main-menu)"),
482                    r = !0;
483                if (e) {
484                    if ((e.classList.add("active"), e.previousElementSibling.classList.add("active"), e.parentElement.classList.add("active"), e.parentElement.classList.contains("has-sub"))) {
485                        let t = e.parentElement.parentElement.parentElement;
486                        t.classList.add("open", "active"),
487                            t.firstElementChild.classList.add("active"),
488                            (t.children[1].style.display = "block"),
489                            Array.from(t.children[1].children).map((e) => {
490                                e.classList.contains("active") && (e.children[1].style.display = "block");
491                            });
492                    }
493                    e.classList.contains("child1") && slideDown(e), (e = e.parentElement.closest("ul")), e && e.closest("ul:not(.main-menu)") && (i = e.closest("ul:not(.main-menu)")), i || (r = !1);
494                } else r = !1;
495            }
496        });
497}
498function clearNavDropdown() {
499    document.querySelectorAll("ul.slide-menu").forEach((e) => {
500        let t = e.closest("ul"),
501            i = e.closest("ul:not(.main-menu)");
502        if (t) {
503            let e = t.closest("ul.main-menu");
504            for (; e; ) t.classList.add("active"), slideUp(t), (t = t.parentElement.closest("ul")), (i = t.closest("ul:not(.main-menu)")), i || (e = !1);
505        }
506    });
507}
508function switcherArrowFn() {
509    let e = document.querySelector(".slide-left"),
510        t = document.querySelector(".slide-right");
511    if ((checkHoriMenu(), !e || !t)) return;
512    function i() {
513        let e = document.querySelectorAll(".slide"),
514            t = document.querySelectorAll(".slide-menu");
515        e.forEach((e, t) => {
516            1 == e.classList.contains("is-expanded") && e.classList.remove("is-expanded");
517        }),
518            t.forEach((e, t) => {
519                1 == e.classList.contains("open") && (e.classList.remove("open"), (e.style.display = "none"));
520            });
521    }
522    e.addEventListener("click", () => {
523            let r = document.querySelector(".main-menu"),
524                n = document.querySelector(".main-sidebar"),
525                s = Math.ceil(Number(window.getComputedStyle(r).marginLeft.split("px")[0])),
526                o = Math.ceil(Number(window.getComputedStyle(r).marginRight.split("px")[0])),
527                a = n.offsetWidth;
528            r.scrollWidth > n.offsetWidth
529                ? "rtl" !== document.querySelector("html").getAttribute("dir")
530                    ? s < 0 && !(Math.abs(s) < a)
531                        ? ((r.style.marginRight = 0), (r.style.marginLeft = Number(r.style.marginLeft.split("px")[0]) + Math.abs(a) + "px"), t.classList.remove("d-none"))
532                        : ((r.style.marginLeft = "0px"), e.classList.add("d-none"), t.classList.remove("d-none"))
533                    : o < 0 && !(Math.abs(o) < a)
534                    ? ((r.style.marginLeft = 0), (r.style.marginRight = Number(r.style.marginRight.split("px")[0]) + Math.abs(a) + "px"), t.classList.remove("d-none"))
535                    : ((r.style.marginRight = "0px"), e.classList.add("d-none"), t.classList.remove("d-none"))
536                : ((document.querySelector(".main-menu").style.marginLeft = "0p
536x"), (document.querySelector(".main-menu").style.marginRight = "0px"), e.classList.add("d-none"));
537            let l = document.querySelector(".main-menu > .slide.open"),
538                c = document.querySelector(".main-menu > .slide.open >ul");
539            l && l.classList.remove("open"), c && (c.style.display = "none"), i();
540        }),
541        t.addEventListener("click", () => {
542            let r = document.querySelector(".main-menu"),
543                n = document.querySelector(".main-sidebar"),
544                s = Math.ceil(Number(window.getComputedStyle(r).marginLeft.split("px")[0])),
545                o = Math.ceil(Number(window.getComputedStyle(r).marginRight.split("px")[0])),
546                a = r.scrollWidth - n.offsetWidth,
547                l = n.offsetWidth;
548            r.scrollWidth > n.offsetWidth &&
549                ("rtl" !== document.querySelector("html").getAttribute("dir")
550                    ? Math.abs(a) > Math.abs(s) &&
551                      ((r.style.marginRight = 0),
552                      Math.abs(a) > Math.abs(s) + l || ((l = Math.abs(a) - Math.abs(s)), t.classList.add("d-none")),
553                      (r.style.marginLeft = Number(r.style.marginLeft.split("px")[0]) - Math.abs(l) + "px"),
554                      e.classList.remove("d-none"))
555                    : Math.abs(a) > Math.abs(o) &&
556                      ((r.style.marginLeft = 0),
557                      Math.abs(a) > Math.abs(o) + l || ((l = Math.abs(a) - Math.abs(o)), t.classList.add("d-none")),
558                      (r.style.marginRight = Number(r.style.marginRight.split("px")[0]) - Math.abs(l) + "px"),
559                      e.classList.remove("d-none")));
560            let c = document.querySelector(".main-menu > .slide.open"),
561                d = document.querySelector(".main-menu > .slide.open >ul");
562            c && c.classList.remove("open"), d && (d.style.display = "none"), i();
563        });
564}
565
566function doublemenu() {
567    if (window.innerWidth >= 992) {
568        document.querySelector("html");
569        document.querySelectorAll(".main-menu > li > .side-menu__item").forEach((e) => {
570            e.addEventListener("click", doubleClickFn);
571        });
572    }
573}
574function doubleClickFn() {
575    let e = document.querySelector("html");
576    var t = this.nextElementSibling;
577    if (t && !t.classList.contains("double-menu-active")) {
578        if (document.querySelector(".slide-menu")) {
579            document.querySelectorAll(".slide-menu").forEach((t) => {
580                t.classList.contains("double-menu-active") && (t.classList.remove("double-menu-active"), e.setAttribute("data-toggled", "double-menu-close"));
581            });
582        }
583        t.classList.add("double-menu-active"), e.setAttribute("data-toggled", "double-menu-open");
584    }
585}
586defaultOpenMenus.forEach((e) => {
587    e.lastElementChild.style.display = "block";
588}),
589    firstLevelItems.forEach((e) => {
590        e.addEventListener("click", () => {
591            let t = document.querySelector("html");
592            if (
593                !(
594                    ("menu-hover" === t.getAttribute("data-nav-style") && "menu-hover-closed" === t.getAttribute("data-toggled") && window.innerWidth >= 992) ||
595                    ("icon-hover" === t.getAttribute("data-nav-style") && "icon-hover-closed" === t.getAttribute("data-toggled") && window.innerWidth >= 992)
596                )
597            ) {
598                const t = e.closest(".nav.sub-open");
599                t &&
600                    t.querySelectorAll(":scope > ul > .slide.has-sub > a").forEach((e) => {
601                        ("block" !== e.nextElementSibling.style.display && "block" !== window.getComputedStyle(e.nextElementSibling).display) || slideUp(e.nextElementSibling);
602                    }),
603                    slideToggle(e.nextElementSibling);
604            }
605        });
606    }),
607    innerLevelItems.forEach((e) => {
608        document.querySelector("html");
609        e.addEventListener("click", () => {
610            const t = e.closest(".slide-menu");
611            t &&
612                t.querySelectorAll(":scope .slide.has-sub > a").forEach((e) => {
613                    e.nextElementSibling && "block" === e.nextElementSibling?.style.display && slideUp(e.nextElementSibling);
614                }),
615                slideToggle(e.nextElementSibling);
616        });
617    }),
618    (() => {
619        let e = document.querySelector("html");
620        (headerToggleBtn = document.querySelector(".sidemenu-toggle")), headerToggleBtn && headerToggleBtn.addEventListener("click", toggleSidemenu);
621        let t = document.querySelector(".main-content");
622        window.innerWidth <= 992 ? t.addEventListener("click", menuClose) : t.removeEventListener("click", menuClose),
623            (WindowPreSize = [window.innerWidth]),
624            setNavActive(),
625            "horizontal" === e.getAttribute("data-nav-layout") && window.innerWidth >= 992 ? (clearNavDropdown(), t.addEventListener("click", clearNavDropdown)) : t.removeEventListener("click", clearNavDropdown),
626            window.addEventListener("resize", ResizeMenu),
627            switcherArrowFn(),
628            localStorage.getItem("tshowlayout") ||
629                localStorage.getItem("tshownavstyles") ||
630                localStorage.getItem("tshowverticalstyles") ||
631                document.querySelector(".landing-body") ||
632                "horizontal" === document.querySelector("html").getAttribute("data-nav-layout") ||
633                e.getAttribute("data-vertical-style") ||
634                e.getAttribute("data-nav-style") ||
635                iconOverayFn(),
636            "rtl" === e.getAttribute("dir") &&
637                (document.querySelector("html").setAttribute("dir", "rtl"),
638                document.querySelector("#style")?.setAttribute("href", "../assets/libs/bootstrap/css/bootstrap.rtl.min.css"),
639                localStorage.getItem("tshowrtl") && (document.querySelector("#switcher-rtl").checked = !0)),
640            
641            toggleSidemenu(),
642            ("menu-hover" === e.getAttribute("data-nav-style") || "icon-hover" === e.getAttribute("data-nav-style")) && window.innerWidth >= 992 && clearNavDropdown(),
643            window.innerWidth < 992 && e.setAttribute("data-toggled", "close");
644    })(),
645    ["switcher-icon-click", "switcher-icon-hover", "switcher-horizontal"].map((e) => {
646        document.getElementById(e) &&
647            document.getElementById(e).addEventListener("click", () => {
648                let e = document.querySelector(".main-menu"),
649                    t = document.querySelector(".main-sidebar");
650                setTimeout(() => {
651                    e.offsetWidth > t.offsetWidth ? document.getElementById("slide-right").classList.remove("d-none") : document.getElementById("slide-right").classList.add("d-none");
652                }, 100);
653            });
654    }),
655    window.addEventListener("unload", () => {
656        document.querySelector(".main-content").removeEventListener("click", clearNavDropdown),
657            window.removeEventListener("resize", ResizeMenu),
658            document.querySelectorAll(".main-menu li > .side-menu__item").forEach((e) => e.removeEventListener("click", doubleClickFn));
659    });
660let customScrollTop = () => {
661    document.querySelectorAll(".side-menu__item").forEach((e) => {
662        if (e.classList.contains("active")) {
663            let t = e.getBoundingClientRect();
664            e.children[0] && e.parentElement.classList.contains("has-sub") && t.top > 435 && e.scrollIntoView({ behavior: "smooth" });
665        }
666    });
667};
668setTimeout(() => {
669    customScrollTop();
670}, 300),
671    document.querySelector(".main-content") &&
672        document.querySelector(".main-content").addEventListener("click", () => {
673            document.querySelectorAll(".slide-menu").forEach((e) => {
674                ("menu-click-closed" != document.querySelector("html").getAttribute("data-toggled") && "icon-cl
674ick-closed" != document.querySelector("html").getAttribute("data-toggled")) || (e.style.display = "none");
675            });
676        }),
677    (() => {
678        var e = document.getElementById("sidebar");
679        if (!e) return;
680        e.offsetTop;
681        function t() {
682            window.scrollY >= 75 ? e.classList.add("sticky-pin") : e.classList.remove("sticky-pin");
683        }
684        window.addEventListener("scroll", t), window.addEventListener("DOMContentLoaded", t);
685    })(),
686    (function () {
687            [...document.querySelectorAll('[data-bs-toggle="tooltip"]')].map((e) => new bootstrap.Tooltip(e));
688            [...document.querySelectorAll('[data-bs-toggle="popover"]')].map((e) => new bootstrap.Popover(e));
689            const layoutSettingEl = document.querySelector(".layout-setting");
690            layoutSettingEl && layoutSettingEl.addEventListener("click", function () {
691                let e = document.querySelector("html");
692                "dark" === e.getAttribute("data-theme-mode")
693                    ? (e.setAttribute("data-theme-mode", "light"),
694                      e.setAttribute("data-header-styles", "light"),
695                      e.setAttribute("data-menu-styles", "light"),
696                      localStorage.getItem("primaryRGB") || e.setAttribute("style", ""),
697                      e.removeAttribute("data-bg-theme"),
698                      document.querySelector("html").style.removeProperty("--body-bg-rgb", localStorage.bodyBgRGB),
699                      e.style.removeProperty("--body-bg-rgb2"),
700                      e.style.removeProperty("--light-rgb"),
701                      e.style.removeProperty("--form-control-bg"),
702                      e.style.removeProperty("--input-border"),
703                      document.querySelector("#switcher-canvas") &&
704                          ((document.querySelector("#switcher-header-light").checked = !0),
705                          (document.querySelector("#switcher-menu-light").checked = !0),
706                          (document.querySelector("#switcher-light-theme").checked = !0),
707                          (document.querySelector("#switcher-background4").checked = !1),
708                          (document.querySelector("#switcher-background3").checked = !1),
709                          (document.querySelector("#switcher-background2").checked = !1),
710                          (document.querySelector("#switcher-background1").checked = !1),
711                          (document.querySelector("#switcher-background").checked = !1)),
712                      localStorage.removeItem("tshowdarktheme"),
713                      localStorage.removeItem("tshowMenu"),
714                      localStorage.removeItem("tshowHeader"),
715                      localStorage.removeItem("bodylightRGB"),
716                      localStorage.removeItem("bodyBgRGB"),
717                      "horizontal" != localStorage.getItem("tshowlayout") && e.setAttribute("data-menu-styles", "light  "),
718                      e.setAttribute("data-header-styles", "light"))
719                    : (e.setAttribute("data-theme-mode", "dark"),
720                      e.setAttribute("data-header-styles", "dark"),
721                      localStorage.getItem("primaryRGB") || e.setAttribute("style", ""),
722                      e.setAttribute("data-menu-styles", "dark"),
723                      localStorage.setItem("tshowdarktheme", "true"),
724                      localStorage.setItem("tshowMenu", "dark"),
725                      localStorage.setItem("tshowHeader", "dark"),
726                      localStorage.removeItem("bodylightRGB"),
727                      localStorage.removeItem("bodyBgRGB"));
728            });
729            document.addEventListener("DOMContentLoaded", function () {
730                var e = document.querySelectorAll("[data-trigger]");
731                for (let i = 0; i < e.length; ++i) {
732                    var t = e[i];
733                    new Choices(t, { allowHTML: !0, placeholderValue: "This is a placeholder set in the config", searchPlaceholderValue: "Search" });
734                }
735            });
736            Waves.attach(".btn-wave", ["waves-light"]);
737            Waves.init();
738            const e = document.querySelector(".scrollToTop"),
739                t = document.documentElement;
740            e &&
741                ((window.onscroll = () => {
742                    t.scrollHeight, t.clientHeight, window.scrollY > 100 ? (e.style.display = "flex") : (e.style.display = "none");
743                }),
744                (e.onclick = () => {
745                    window.scrollTo(0, 0);
746                }));
747    })();
748var o = document.documentElement;
749window.openFullscreen = function () {
750    let e = document.querySelector(".full-screen-open"),
751        t = document.querySelector(".full-screen-close");
752    document.fullscreenElement || document.webkitFullscreenElement || document.msFullscreenElement
753        ? (document.exitFullscreen ? document.exitFullscreen() : document.webkitExitFullscreen ? (document.webkitExitFullscreen(), console.log("working")) : document.msExitFullscreen && document.msExitFullscreen(),
754          t.classList.remove("d-block"),
755          e.classList.remove("d-none"),
756          t.classList.add("d-none"),
757          e.classList.add("d-block"))
758        : (o.requestFullscreen ? o.requestFullscreen() : o.webkitRequestFullscreen ? o.webkitRequestFullscreen() : o.msRequestFullscreen && o.msRequestFullscreen(),
759          t.classList.add("d-block"),
760          t.classList.remove("d-none"),
761          e.classList.add("d-none"));
762};
763let y = document.querySelectorAll(".toggle");
764y.forEach((e) =>
765    e.addEventListener("click", () => {
766        e.classList.toggle("on");
767    })
768);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.