PageSourceSearch

https://spellbook-finance.com/assets/index-D1ApIg2g.js

js spellbook-finance.com collected 2026-09-24 14:53:56 UTC 3,868 bytes, 1 lines download raw bytes

1import{r,af as x,j as b,ac as m,ad as h,ii as _,aa as j,ij as M}from"./index-FkOWO1kn.js";import{u as P}from"./index-CJco3Ph0.js";function U(n,e=globalThis?.document){const t=P(n);r.useEffect(()=>{const i=s=>{s.key==="Escape"&&t(s)};return e.addEventListener("keydown",i,{capture:!0}),()=>e.removeEventListener("keydown",i,{capture:!0})},[t,e])}var z="DismissableLayer",p="dismissableLayer.update",H="dismissableLayer.pointerDownOutside",K="dismissableLayer.focusOutside",R,T=r.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),X=r.forwardRef((n,e)=>{const{disableOutsidePointerEvents:t=!1,onEscapeKeyDown:i,onPointerDownOutside:s,onFocusOutside:a,onInteractOutside:d,onDismiss:l,...E}=n,c=r.useContext(T),[u,F]=r.useState(null),f=u?.ownerDocument??globalThis?.document,[,I]=r.useState({}),S=x(e,o=>F(o)),D=Array.from(c.layers),[A]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),N=D.indexOf(A),O=u?D.indexOf(u):-1,W=c.layersWithOutsidePointerEventsDisabled.size>0,L=O>=N,k=G(o=>{const v=o.target,w=[...c.branches].some(y=>y.contains(v));!L||w||(s?.(o),d?.(o),o.defaultPrevented||l?.())},f),C=J(o=>{const v=o.target;[...c.branches].some(y=>y.contains(v))||(a?.(o),d?.(o),o.defaultPrevented||l?.())},f);return U(o=>{O===c.layers.size-1&&(i?.(o),!o.defaultPrevented&&l&&(o.preventDefault(),l()))},f),r.useEffect(()=>{if(u)return t&&(c.layersWithOutsidePointerEventsDisabled.size===0&&(R=f.body.style.pointerEvents,f.body.style.pointerEvents="none"),c.layersWithOutsidePointerEventsDisabled.add(u)),c.layers.add(u),g(),()=>{t&&c.layersWithOutsidePointerEventsDisabled.size===1&&(f.body.style.pointerEvents=R)}},[u,f,t,c]),r.useEffect(()=>()=>{u&&(c.layers.delete(u),c.layersWithOutsidePointerEventsDisabled.delete(u),g())},[u,c]),r.useEffect(()=>{const o=()=>I({});return document.addEventListener(p,o),()=>document.removeEventListener(p,o)},[]),b.jsx(m.div,{...E,ref:S,style:{pointerEvents:W?L?"auto":"none":void 0,...n.style},onFocusCapture:h(n.onFocusCapture,C.onFocusCapture),onBlurCapture:h(n.onBlurCapture,C.onBlurCapture),onPointerDownCapture:h(n.onPointerDownCapture,k.onPointerDownCapture)})});X.displayName=z;var Y="DismissableLayerBranch",q=r.forwardRef((n,e)=>{const t=r.useContext(T),i=r.useRef(null),s=x(e,i);return r.useEffect(()=>{const a=i.current;if(a)return t.branches.add(a),()=>{t.branches.delete(a)}},[t.branches]),b.jsx(m.div,{...n,ref:s})});q.displayName=Y;function G(n,e=globalThis?.document){const t=P(n),i=r.useRef(!1),s=r.useRef(()=>{});return r.useEffect(()=>{const a=l=>{if(l.target&&!i.current){let E=function(){B(H,t,c,{discrete:!0})};const c={originalEvent:l};l.pointerType==="touch"?(e.removeEventListener("click",s.current),s.current=E,e.addEventListener("click",s.current,{once:!0})):E()}else e.removeEventListener("click",s.current);i.current=!1},d=window.setTimeout(()=>{e.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(d),e.removeEventListener("pointerdown",a),e.removeEventListener("click",s.current)}},[e,t]),{onPointerDownCapture:()=>i.current=!0}}function J(n,e=globalThis?.document){const t=P(n),i=r.useRef(!1);return r.useEffect(()=>{const s=a=>{a.target&&!i.current&&B(K,t,{originalEvent:a},{discrete:!1})};return e.addEventListener("focusin",s),()=>e.removeEventListener("focusin",s)},[e,t]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}function g(){const n=new CustomEvent(p);document.dispatchEvent(n)}function B(n,e,t,{discrete:i}){const s=t.originalEvent.target,a=new CustomEvent(n,{bubbles:!1,cancelable:!0,detail:t});e&&s.addEventListener(n,e,{once:!0}),i?_(s,a):s.dispatchEvent(a)}var Q="Portal",V=r.forwardRef((n,e)=>{const{container:t,...i}=n,[s,a]=r.useState(!1);j(()=>a(!0),[]);const d=t||s&&globalThis?.document?.body;return d?M.createPortal(b.jsx(m.div,{...i,ref:e}),d):null});V.displayName=Q;export{X as D,V as P};

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.