PageSourceSearch

https://donaldjoseph.com/wp-content/plugins/bubble-menu/public/assets/js/script.min.js?ver=4.1.1

js donaldjoseph.com collected 2026-10-09 00:03:03 UTC 3,111 bytes, 10 lines download raw bytes

1/**
2 * BubbleMenu
3 * A JavaScript class for creating customizable side menus.
4 *
5 * @version 4.0.0
6 * @license MIT License
7 * @author Dmytro Lobov
8 * @url https://wow-estore.com/item/bubble-menu-pro/
9 */
10"use strict";const BubbleMenu=()=>{const t=document.querySelectorAll(".bubble-menu");if(0===t.length)return;const s=Math.PI,o=Math.PI/2;function n(t,s){return t.querySelectorAll(s)}function i(s,o){const n=s.classList.contains("-active");o.forEach((t=>t.setAttribute("tabindex",n?"0":"-1")));const i=t=>{t.classList.contains("-active")?t.classList.add("-show"):t.classList.remove("-show")};n&&s.hasAttribute("data-bubbles-hide")?t.forEach(i):t.forEach((t=>t.classList.add("-show"))),document.addEventListener("click",(function(s){s.target.closest("[data-bubble-toggle]")||t.forEach((t=>{t.hasAttribute("data-bubble-toggle")&&t.classList.remove("-active"),t.classList.add("-show")}))}))}t.forEach((t=>{!function(t){t.classList.add("-show");const e=(f=t,h=".bm-toggle",f.querySelector(h)),c=n(t,".bm-item"),a=n(t,".bm-link"),l=function(t){return t[0].offsetWidth+15}(c),r=function(t){return["-top-left","-top-right","-bottom-left","-bottom-right"].some((s=>t.classList.contains(s)))}(t),u=function(t,n){return(n?o:s)/(t-1)}(c.length,r);var f,h;let b=function(t,s){return t/2/Math.sin(s/2)}(l,u);const L=1.5*l;b<L&&(b=L);(function(t,s,o,n){s.forEach(((i,e)=>{const c=s.length-1-e,a=function(t,s,o,n){return t.classList.contains("-top")?s*n:t.classList.contains("-top-right")?s*n+Math.PI/2:t.classList.contains("-top-left")?s*o:t.classList.contains("-left")?s*o-Math.PI/2:t.classList.contains("-right")?s*n+Math.PI/2:t.classList.contains("-bottom")?s*n*-1:t.classList.contains("-bottom-right")?s*n+Math.PI:(t.classList.contains("-bottom-left"),s*o-Math.PI/2)}(t,o,e,c);!function(t,s,o,n,i){const e=function(t,s){if(t.classList.contains("-bottom"))return s<-1.571?"-top-left":"-top-right";if(t.classList.contains("-top"))return s<1.571?"-bottom-right":"-bottom-left";if(t.classList.contains("-bottom-left"))return"-top-right";if(t.classList.contains("-top-left"))return"-bottom-right";if(t.classList.contains("-bottom-right"))return"-top-left";if(t.classList.contains("-top-right"))return"-bottom-left";if(t.classList.contains("-right"))return s<2.36?"-bottom-left":s<3.92?"-left":"-top-left";if(t.classList.contains("-left"))return s<-.78?"-top-right":s<.78?"-right":"-bottom-right"}(s,n);t.querySelector(".bm-link").classList.add(e),function(t){const s=t.querySelector(".bm-toggle");t.classList.contains("-top-right")||t.classList.contains("-bottom-right")||t.classList.contains("-right")?s.classList.add("-left"):s.classList.add("-right")}(s);const c=o*Math.cos(n),a=o*Math.sin(n);t.style.setProperty("--x",`${c}px`),t.style.setProperty("--y",`${a}px`),i>0&&t.style.setProperty("--delay",`0.${i}s`)}(i,t,n,a,e)}))})(t,c,u,b),i(t,a),function(t,s,o){s.addEventListener("click",(()=>{t.classList.toggle("-active"),i(t,o)})),document.addEventListener("keydown",(n=>{"Enter"!==n.key&&" "!==n.key||document.activeElement!==s||(t.classList.toggle("-active"),i(t,o),n.preventDefault())}))}(t,e,a)}(t)}))};BubbleMenu();

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.