PageSourceSearch

https://www.aseanbiodiversity.org/wp-content/themes/hello-elementor/assets/js/hello-frontend.min.js?ver=3.0.1

js aseanbiodiversity.org collected 2026-09-24 09:53:29 UTC 2,937 bytes, 75 lines download raw bytes

1/******/ (() => { // webpackBootstrap
2/******/ 	"use strict";
3var __webpack_exports__ = {};
4
5
6class elementorHelloThemeHandler {
7  constructor() {
8    this.initSettings();
9    this.initElements();
10    this.bindEvents();
11  }
12  initSettings() {
13    this.settings = {
14      selectors: {
15        menuToggle: '.site-header .site-navigation-toggle',
16        menuToggleHolder: '.site-header .site-navigation-toggle-holder',
17        dropdownMenu: '.site-header .site-navigation-dropdown'
18      }
19    };
20  }
21  initElements() {
22    this.elements = {
23      window,
24      menuToggle: document.querySelector(this.settings.selectors.menuToggle),
25      menuToggleHolder: document.querySelector(this.settings.selectors.menuToggleHolder),
26      dropdownMenu: document.querySelector(this.settings.selectors.dropdownMenu)
27    };
28  }
29  bindEvents() {
30    var _this$elements$menuTo;
31    if (!this.elements.menuToggleHolder || (_this$elements$menuTo = this.elements.menuToggleHolder) !== null && _this$elements$menuTo !== void 0 && _this$elements$menuTo.classList.contains('hide')) {
32      return;
33    }
34    this.elements.menuToggle.addEventListener('click', () => this.handleMenuToggle());
35    this.elements.menuToggle.addEventListener('keyup', event => {
36      const ENTER_KEY = 13;
37      const SPACE_KEY = 32;
38      if (ENTER_KEY === event.keyCode || SPACE_KEY === event.keyCode) {
39        event.currentTarget.click();
40      }
41    });
42    this.elements.dropdownMenu.querySelectorAll('.menu-item-has-children > a').forEach(anchorElement => anchorElement.addEventListener('click', event => this.handleMenuChildren(event)));
43  }
44  closeMenuItems() {
45    this.elements.menuToggleHolder.classList.remove('elementor-active');
46    this.elements.window.removeEventListener('resize', () => this.closeMenuItems());
47  }
48  handleMenuToggle() {
49    const isDropdownVisible = !this.elements.menuToggleHolder.classList.contains('elementor-active');
50    this.elements.menuToggle.setAttribute('aria-expanded', isDropdownVisible);
51    this.elements.dropdownMenu.setAttribute('aria-hidden', !isDropdownVisible);
52    this.elements.menuToggleHolder.classList.toggle('elementor-active', isDropdownVisible);
53
54    // Always close all sub active items.
55    this.elements.dropdownMenu.querySelectorAll('.elementor-active').forEach(item => item.classList.remove('elementor-active'));
56    if (isDropdownVisible) {
57      this.elements.window.addEventListener('resize', () => this.closeMenuItems());
58    } else {
59      this.elements.window.removeEventListener('resize', () => this.closeMenuItems());
60    }
61  }
62  handleMenuChildren(event) {
63    const anchor = event.currentTarget;
64    const parentLi = anchor.parentElement;
65    if (!(parentLi !== null && parentLi !== void 0 && parentLi.classList)) {
66      return;
67    }
68    parentLi.classList.toggle('elementor-active');
69  }
70}
71document.addEventListener('DOMContentLoaded', () => {
72  new elementorHelloThemeHandler();
73});
74/******/ })()
75;

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.