"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react"),y=10080*60*1e3,a="healthspanClosedModalList",f=()=>{try{return JSON.parse(localStorage.getItem(a)||"{}")}catch{return{}}},i=e=>{localStorage.setItem(a,JSON.stringify(e))},p=e=>{const o=f()[e];return!o||Date.now()>o},w=({id:e,initiallyOpen:l=!1,trigger:o,onCloseCallback:c,onClickCallback:u})=>{const[n,M]=s.useState(l),r=s.useCallback(()=>{p(e)&&M(!0)},[e]),d=s.useCallback(()=>{M(!1);const t=f();t[e]=Date.now()+y,i(t),c==null||c()},[e,c]),E=s.useCallback(()=>{u==null||u()},[u]);s.useEffect(()=>{if((o==null?void 0:o.type)==="timer"&&!n){const t=setTimeout(()=>{r()},o.delay*1e3);return()=>clearTimeout(t)}},[o,n,r]),s.useEffect(()=>{if(!n)return;const t=window.getComputedStyle(document.body).overflow;document.body.style.overflow="hidden";const S=O=>{O.key==="Escape"&&d()};return document.addEventListener("keydown",S),()=>{document.body.style.overflow=t,document.removeEventListener("keydown",S)}},[n,d,e]);const m=s.useCallback(t=>{t.target===t.currentTarget&&d()},[d]);return{isOpen:n,openModal:r,closeModal:d,handleClick:E,handleOverlayClick:m}};exports.CLOSED_MODALS_KEY=a;exports.REOPEN_TIMEOUT_MS=y;exports.useHSModal=w;
