PageSourceSearch

https://sabahparks.org.my/build/js/mobile-floating-nav-v4.js?id=7b11cd86067bc18e2e7627afbdfdb2a1

js sabahparks.org.my collected 2026-10-02 06:31:17 UTC 5,709 bytes, 1 lines download raw bytes

1!function(){"use strict";const e=document.getElementById("header"),t=e&&e.querySelector("#mainMenu-trigger button"),n=e&&e.querySelector(".sp-main-nav");if(!t||!n||!document.body.matches(".homepage-version-4, .navigation-version-4"))return;const a=window.matchMedia("(max-width: 1024px)"),o=window.websiteText;let s=!1,r=0,c="";const i=document.createElement("div");function l(){const t=a.matches&&window.scrollY>96,n=e.classList.contains("is-mobile-floating");if(t&&!n){const t=window.getComputedStyle(e).position,n="absolute"!==t&&"fixed"!==t;i.style.height=n?e.getBoundingClientRect().height+"px":"0px"}e.classList.toggle("is-mobile-floating",t),t||(i.style.height="0px"),s=!1}function d(){s||(s=!0,window.requestAnimationFrame(l))}if(i.className="sp-mobile-header-spacer",i.setAttribute("aria-hidden","true"),e.before(i),l(),window.addEventListener("scroll",d,{passive:!0}),window.addEventListener("resize",d,{passive:!0}),"undefined"==typeof HTMLDialogElement)return;const u=document.createElement("dialog");u.id="sp-mobile-navigation",u.className="sp-mobile-menu",u.setAttribute("aria-label",o("main_navigation")),u.setAttribute("data-lenis-prevent","");const m=document.createElement("div");m.className="sp-mobile-menu__top";const p=document.createElement("a");p.className="sp-mobile-menu__brand",p.href=e.querySelector("#logo a").href;const b=e.querySelector("#logo .logo-dark img").cloneNode(!0);b.removeAttribute("style"),p.append(b);const f=document.createElement("button");f.type="button",f.className="sp-mobile-menu__close",f.setAttribute("aria-label",o("close_menu")),f.textContent="×",m.append(p,f);const h=document.createElement("div");h.className="sp-mobile-menu__scroll";const v=document.createElement("p");v.className="sp-mobile-menu__eyebrow",v.textContent=o("explore_parks");const g=document.createElement("nav");function _(e,t){const n=e.querySelector(".sp-nav-park-label");n&&t.replaceChildren(n.cloneNode(!0))}g.setAttribute("aria-label",o("explore_website")),g.append(function e(t,n){const a=document.createElement("ul");a.className=0===n?"sp-mobile-menu__links":"sp-mobile-menu__children";for(const s of t.children){const t=s.querySelector(":scope > a");if(!t)continue;const c=document.createElement("li"),i=s.querySelector(":scope > ul"),l=s.classList.contains("current");if(i){const o=document.createElement("button");o.type="button",o.className="sp-mobile-menu__expand",o.textContent=t.textContent.trim(),_(t,o),o.setAttribute("aria-expanded","false");const s=e(i,n+1);s.id="sp-mobile-menu-panel-"+ ++r,s.hidden=!0,o.setAttribute("aria-controls",s.id),l&&o.classList.add("is-current"),o.addEventListener("click",function(){const e="true"===o.getAttribute("aria-expanded");for(const e of a.children){const t=e.querySelector(":scope > button"),n=e.querySelector(":scope > ul");t&&n&&(t.setAttribute("aria-expanded","false"),n.hidden=!0)}o.setAttribute("aria-expanded",String(!e)),s.hidden=e}),c.append(o,s)}else{const e=document.createElement("a");if(e.href=t.href,e.textContent=t.textContent.trim(),_(t,e),t.classList.contains("sp-nav-service-link")){e.classList.add("sp-nav-service-link"),e.replaceChildren(t.querySelector(".sp-nav-service-icon").cloneNode(!0),t.querySelector(".sp-nav-service-label").cloneNode(!0));const n=t.querySelector(".sp-nav-service-external");n&&(e.classList.add("sp-nav-service-link--external"),e.append(n.cloneNode(!0)))}"_blank"===t.target&&(e.target="_blank",e.rel="noopener noreferrer",e.setAttribute("aria-label",o("new_tab_label",{label:e.textContent}))),t.hasAttribute("aria-current")&&e.setAttribute("aria-current",t.getAttribute("aria-current")),c.append(e)}a.append(c)}return a}(n,0)),h.append(v,g);const y=e.querySelector(".search-form");if(y){const e=document.createElement("form");e.className="sp-mobile-menu__search",e.action=y.action,e.method="get",e.setAttribute("role","search");const t=document.createElement("input");t.type="search",t.name="search",t.required=!0,t.placeholder=o("search_prompt"),t.setAttribute("aria-label",o("search_site"));const n=document.createElement("button");
1n.type="submit",n.textContent=o("search"),e.append(t,n),h.append(e)}const E=document.createElement("div");E.className="sp-mobile-menu__utilities";for(const e of document.querySelectorAll("#topbar .topbar-v4__contact a")){const t=document.createElement("a");t.href=e.href,t.textContent=e.textContent.trim(),E.append(t)}const x=document.createElement("p");x.className="sp-mobile-menu__caption",x.textContent=o("mobile_caption");const A=e.querySelector("[data-language-switch]"),w=A&&A.querySelector("[data-language-links]");if(w){const e=document.createElement("div");e.className="sp-mobile-menu__language",e.setAttribute("role","group"),e.setAttribute("aria-label",A.querySelector("summary").getAttribute("aria-label"));const t=document.createElement("p");t.className="sp-mobile-menu__language-label",t.textContent=A.dataset.languageLabel,e.append(t,w.cloneNode(!0)),h.append(e)}function S(){u.open&&u.close()}h.append(E,x),u.append(m,h),document.body.append(u),document.body.classList.add("sp-mobile-nav-ready"),t.addEventListener("click",function(e){a.matches&&(e.preventDefault(),e.stopImmediatePropagation(),u.open?S():(c=document.documentElement.style.overflow,document.documentElement.style.overflow="hidden",t.setAttribute("aria-expanded","true"),t.setAttribute("aria-controls",u.id),u.showModal(),f.focus({preventScroll:!0})))},!0),f.addEventListener("click",S),u.addEventListener("click",function(e){e.target.closest("a")&&S()}),u.addEventListener("close",function(){document.documentElement.style.overflow=c,t.setAttribute("aria-expanded","false"),t.focus({preventScroll:!0})}),a.addEventListener("change",function(){l(),a.matches||S()})}();

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.