PageSourceSearch

https://www.nami.org/wp-content/themes/nami-2025/dist/blocks/toggle-button/view.js?ver=e94b92dc4370b928db9b

js nami.org collected 2026-09-24 06:33:47 UTC 4,882 bytes, 1 lines download raw bytes

1import*as t from"@wordpress/interactivity";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)};const n=(t=>{var n={};return e.d(n,t),n})({getContext:()=>t.getContext,getElement:()=>t.getElement,store:()=>t.store});function r(t){const e=t.querySelectorAll(["a[href]","area[href]","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","iframe","object","embed",'[tabindex]:not([tabindex^="-"])',"[contenteditable]"].join(","));return Array.from(e).filter((e=>{if(e.hasAttribute("hidden"))return!1;if(!function(t){return!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)}(e))return!1;const n=window.getComputedStyle(e);return"hidden"!==n.visibility&&"none"!==n.display&&(!function(t,e){let n=t.parentElement;for(;n&&n!==e;){const t=window.getComputedStyle(n);if("none"===t.display||"hidden"===t.visibility||n.hasAttribute("hidden"))return!0;n=n.parentElement}return!1}(e,t)&&!function(t,e){let n=t;for(;n&&n!==e;){if(n.hasAttribute("inert"))return!0;n=n.parentElement}return!1}(e,t))}))}const o=window.matchMedia("( min-width: 80rem )"),{actions:i}=(0,n.store)("nami-2025/toggle-button",{actions:{open(t=!1){const{targetId:e}=(0,n.getContext)(),r=document.getElementById(e);if(!r)return;i.resetMobileSubmenus(),r.setAttribute("aria-hidden","false"),r.removeAttribute("inert");if(document.querySelectorAll(`.toggle-button__button[aria-controls="${e}"]`).forEach((t=>{t.setAttribute("aria-expanded","true")})),t){const t=r.querySelector('a, button, input, select, textarea, [tabindex]:not([tabindex="-1"])');if(!t)return;t.focus()}},close(t=!1){const{ref:e}=(0,n.getElement)();if(!e)return;const{targetId:o}=(0,n.getContext)(),i=document.getElementById(o);if(!i)return;i.setAttribute("aria-hidden","true"),i.setAttribute("inert","");if(document.querySelectorAll(`.toggle-button__button[aria-controls="${o}"]`).forEach((t=>{t.setAttribute("aria-expanded","false")})),t){const t=document.querySelector("body");if(!t)return;const e=r(t).filter((t=>t.getAttribute("aria-controls")===o));if(0===e.length)return;e[0].focus()}},resetMobileSubmenus(){const{targetId:t}=(0,n.getContext)(),e=document.getElementById(t);if(!e?.classList.contains("site-header__mobile"))return;const r=e.querySelectorAll('.wp-block-navigation-submenu__toggle[aria-expanded="true"]'),o=e.querySelectorAll('.wp-block-tenup-navigation-megamenu__trigger[aria-expanded="true"]');r.forEach((t=>{t.click()})),o.forEach((t=>{t.click()}))},handleButtonOnClick(t){const{ref:e}=(0,n.getElement)(),r=0===t.detail;if(!e)return;const{targetId:o}=(0,n.getContext)(),a=document.getElementById(o);if(!a)return;const l="false"===a.getAttribute("aria-hidden");t.stopPropagation(),l?i.close(r):i.open(r)},handleMediaQueryChange(){const{ref:t}=(0,n.getElement)();if(!t)return;const{useMediaQuery:e}=(0,n.getContext)();e&&i.close()},handleTargetOnKeyDown(t){const{ref:e}=(0,n.getElement)();if(!e)return;const{targetId:r}=(0,n.getContext)(),o=document.getElementById(r),a=Array.from(document.querySelectorAll(`.toggle-button__button[aria-controls="${r}"]`));if(!o||0===a.length)return;const{key:l,shiftKey:u,target:c}=t;"Escape"===l&&i.close();const s=Array.from(o.querySelectorAll('a, button, input, select, textarea, [tabindex]:not([tabindex="-1"])')),d=s[0],g=s[s.length-1];"Tab"===l&&(d===c&&u||g===c&&!u)&&(t.preventDefault(),c.closest(".toggle-button__button").focus())},handleButtonOnKeyDown(t){const{ref:e}=(0,n.getElement)();if(!e)return;const{targetId:r}=(0,n.getContext)(),o=document.getElementById(r);if(!o)return;if(!("false"===o?.getAttribute("aria-hidden")))return;const{key:a,shiftKey:l}=t;if("Escape"===a&&i.close(),"Tab"!==a)return;const u=Array.from(o.querySelectorAll('a, button, input, select, textarea, [tabindex]:not([tabindex="-1"])')),c=u[0],s=u[u.length-1];l?(t.preventDefault(),s.focus()):(t.preventDefault(),c.focus())},handleDocumentOnClick(t){const{ref:e}=(0,n.getElement)();if(!e)return;const{targetId:r,closeOnDocumentClick:o}=(0,n.getContext)();if(!o)return;const a=document.getElementById(r),l=e.querySelector(".toggle-button__button");if(!a||!l)return;const{target:u}=t,c=u.closest(".toggle-button__target"),s=u.closest(".toggle-button__button");c&&c.id===r||s===l||i.close()}},callbacks:{init(){const{ref:t}=(0,n.getElement)();if(!t)return;const{targetId:e,isOpenByDefault:r}=(0,n.getContext)(),a=document.getElementById(e),l=t.querySelector(".toggle-button__button");l&&a&&(a.classList.add("toggle-button__target"),a.setAttribute("aria-hidden",r?"false":"true"),l.setAttribute("aria-expanded",r?"true":"false"),r?a.removeAttribute("inert"):a.setAttribute("inert",""),a.addEventListener("keydown",i.handleTargetOnKeyDown),o.addEventListener("change",i.handleMediaQueryChange),document.addEventListener("click",i.handleDocumentOnClick))}}});

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.