"use client";import{a as u}from"./chunk-FZGQ6H67.mjs";import"./chunk-MSXDLSXH.mjs";import{c as s}from"./chunk-S7CSCIW4.mjs";import"./chunk-JZXLCA2E.mjs";import{useCallback as d,useState as N,useRef as S,useEffect as y}from"react";import{UniformSlot as c}from"@uniformdev/canvas-next-rsc/component";import{jsx as v}from"react/jsx-runtime";var h=({className:o,...t})=>v("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",className:s("size-8",o),...t,children:v("path",{d:"m16.192 6.344-4.243 4.242-4.242-4.242-1.414 1.414L10.535 12l-4.242 4.242 1.414 1.414 4.242-4.242 4.243 4.242 1.414-1.414L13.364 12l4.242-4.242z"})});var M=({showModal:o})=>s("fixed left-0 top-0 size-full",{hidden:!o,block:o}),P=({maxWidth:o,backgroundColor:t})=>s("rounded-lg shadow-lg relative",u[o||"small"],{[`bg-${t}`]:!!t}),b=({disableCloseModalOnClickOutside:o})=>s("group absolute right-4 top-4 opacity-40 hover:opacity-100",{hidden:o});import{jsx as e,jsxs as k}from"react/jsx-runtime";var O=({slots:o,component:t,context:a,maxWidth:x,backgroundColor:E,closeIconColor:p,disableCloseModalOnClickOutside:r})=>{let i=S(null),[C,n]=N(!1),F=d(()=>{r||n(!1)},[r]),f=d(()=>{n(l=>!l)},[]),w=d(l=>{l.stopPropagation()},[]);return y(()=>{if(!i.current)return;let l=i.current.querySelectorAll("button, a"),g=()=>n(!1);return l.forEach(m=>{m.addEventListener("click",g)}),()=>l.forEach(m=>{m.removeEventListener("click",g)})},[]),k("div",{children:[e("div",{onClick:f,children:e(c,{data:t,context:a,slot:o.trigger})}),e("div",{className:M({showModal:C}),children:e("dialog",{open:C,onClick:F,"aria-label":"Close modal","aria-modal":"true",className:"flex size-full items-center justify-center bg-black/50 px-4",children:k("form",{method:"dialog",className:P({maxWidth:x,backgroundColor:E}),onClick:w,children:[e("button",{onClick:f,className:b({disableCloseModalOnClickOutside:r}),children:e(h,{className:s({[`fill-${p}`]:p})})}),e("div",{className:"p-6 md:p-8",children:e(c,{data:t,context:a,slot:o.modalContent})}),o?.modalActions?.items?.length&&e("div",{ref:i,className:"border-t p-6 md:p-8",children:e(c,{data:t,context:a,slot:o.modalActions})})]})})})]})};export{O as Modal};
