1"use strict";(self.webpackChunk_griddo_cx=self.webpackChunk_griddo_cx||[]).push([[5876],{23701:function(e,t,n){n.r(t),n.d(t,{default:function(){return c}});var o=n(26322),r=n(63987);var c=({isOpen:e,onClose:t,children:n})=>{const[c,u]=o.useState(e),[l,s]=o.useState(!1),d=o.useRef(null);return o.useEffect(()=>{e?(u(!0),s(!1)):c&&(s(!0),setTimeout(()=>{u(!1),s(!1)},350))},[e]),o.useEffect(()=>{const e=e=>{"Escape"===e.key&&t()};return c&&window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[c]),o.useEffect(()=>{const e=document.body.style.overflow;return c&&(document.body.style.overflow="hidden"),()=>{document.body.style.overflow=e}},[c]),o.useEffect(()=>{if(!c||!d.current)return;const e=d.current.querySelectorAll('a, button, input, textarea, select, [tabindex]:not([tabindex="-1"])');if(!e.length)return;const t=e[0],n=e[e.length-1];t.focus();const o=e=>{"Tab"===e.key&&(e.shiftKey&&document.activeElement===t&&(e.preventDefault(),n.focus()),e.shiftKey||document.activeElement!==n||(e.preventDefault(),t.focus()))},r=d.current;return r?(r.addEventListener("keydown",o),()=>{r.removeEventListener("keydown",o)}):void 0},[c]),c?(0,r.createPortal)(o.createElement(o.Fragment,null,o.createElement("div",{className:"SubjectPillContent-module--backdrop--32b1f","data-closing":l,onClick:t}),o.createElement("div",{ref:d,className:"SubjectPillContent-module--panel--a2b99","data-closing":l},n)),document.body):null}}}]);
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.