"use strict";var m=Object.defineProperty,H=Object.defineProperties,N=Object.getOwnPropertyDescriptor,U=Object.getOwnPropertyDescriptors,B=Object.getOwnPropertyNames,h=Object.getOwnPropertySymbols;var D=Object.prototype.hasOwnProperty,j=Object.prototype.propertyIsEnumerable;var R=(e,t,n)=>t in e?m(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,f=(e,t)=>{for(var n in t||(t={}))D.call(t,n)&&R(e,n,t[n]);if(h)for(var n of h(t))j.call(t,n)&&R(e,n,t[n]);return e},F=(e,t)=>H(e,U(t));var q=(e,t)=>{for(var n in t)m(e,n,{get:t[n],enumerable:!0})},W=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of B(t))!D.call(e,o)&&o!==n&&m(e,o,{get:()=>t[o],enumerable:!(r=N(t,o))||r.enumerable});return e};var _=e=>W(m({},"__esModule",{value:!0}),e);var me={};q(me,{I18nProvider:()=>fe,NullSymbol:()=>g,createCustomEvent:()=>ae,createSafeContext:()=>T,generateID:()=>G,mergeProps:()=>J,mergeRefs:()=>b,useControlledState:()=>ne,useLocale:()=>w,useLocalizedStringFormatter:()=>pe,useMergeRefs:()=>ee,useOutsideClick:()=>ie,usePreviousState:()=>oe,useReturnFocus:()=>ue});module.exports=_(me);var g=Symbol("Null");var y=require("react");function k(){let e=typeof navigator!="undefined"&&navigator.language||"ko-KR";try{Intl.DateTimeFormat.supportedLocalesOf([e])}catch(t){e="ko-KR"}return{locale:e}}function L(){let[e,t]=(0,y.useState)(k);return(0,y.useEffect)(()=>{function n(){t(k())}return window.addEventListener("languagechange",n),()=>{window.removeEventListener("languagechange",n)}},[]),e}var K=0,X="from: @quotalab/headless-hooks/utils";function G(e){return K++,`${e!=null?e:X}-${K}`}var S=require("react");function T(e){let t=(0,S.createContext)(g);t.displayName=e!=null?e:"SafeContext";function n(){var o;let r=(0,S.useContext)(t);if(r===g){let i=new Error(`[${t.displayName}]: Provider\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.`);throw i.name="[Error] Context",(o=Error.captureStackTrace)==null||o.call(Error,i,n),i}return r}return[t.Provider,n]}function J(...e){return e.reduce(Q,{})}function Q(e,t){for(let n in t)if(t[n]!==void 0)switch(n){case"className":e[n]=`${e[n]||""} ${t[n]}`.trim();break;case"style":e[n]=Y(e[n],t[n]);break;default:let r=Z(e[n],t[n]);r?e[n]=r:t[n]!==void 0&&(e[n]=t[n])}return e}function Y(e,t){return e==null?t:f(f({},e),t)}function Z(e,t){if(typeof e=="function"&&typeof t=="function")return(...n)=>{e(...n),t(...n)}}var z=require("react");function ee(...e){return(0,z.useMemo)(()=>b(...e),e)}function b(...e){return t=>{e.forEach(n=>{te(n,t)})}}function te(e,t){if(e!=null){if(typeof e=="function"){e(t);return}try{e.current=t}catch(n){throw new Error(`Cannot assign value '${t}' to ref '${e}'`)}}}var E=require("react");function ne({value:e,defaultValue:t,onChange:n,equalityFn:r=Object.is}){let[o,i]=(0,E.useState)(t),u=e!==void 0,c=u?e:o,d=(0,E.useCallback)(a=>{let s=re(a)?a(c):a;r(c,s)!==!0&&(u===!1&&i(s),u===!0&&s===void 0&&i(s),n==null||n(s))},[u,n,r,c]);return[c,d]}function re(e){return typeof e=="function"}var x=require("react");function oe(e,t){let[n,r]=(0,x.useState)(e),[o,i]=(0,x.useState)(n);return n!==o&&(i(n),t==null||t(o,n)),[n,r]}var p=require("react");function ie({ref:e,handler:t,enabled:n=!0}){let r=(0,p.useRef)(t);r.current=t;let i=(0,p.useRef)({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;(0,p.useEffect)(()=>{if(!n)return;function u(s){P(s,e)&&(i.isPointerDown=!0)}function c(s){if(i.ignoreEmulatedMouseEvents){i.ignoreEmulatedMouseEvents=!1;return}i.isPointerDown&&P(s,e)&&(i.isPointerDown=!1,r.current(s))}function d(s){i.ignoreEmulatedMouseEvents=!0,i.isPointerDown&&P(s,e)&&(i.isPointerDown=!1,r.current(s))}let a=I(e.current);return a.addEventListener("mousedown",u,!0),a.addEventListener("mouseup",c,!0),a.addEventListener("touchstart",u,!0),a.addEventListener("touchend",d,!0),()=>{a.removeEventListener("mousedown",u,!0),a.removeEventListener("mouseup",c,!0),a.removeEventListener("touchstart",u,!0),a.removeEventListener("touchend",d,!0)}},[e,i,n])}function P(e,t){var r;let n=e.target;return n&&!I(n).contains(n)?!1:!((r=t.current)!=null&&r.contains(n))}function I(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}var l=require("react");function ue({active:e,shouldReturnFocus:t=!0}){let n=(0,l.useRef)(!1),r=(0,l.useRef)(),o=(0,l.useCallback)(()=>{r.current!=null&&"focus"in r.current&&typeof r.current.focus=="function"&&r.current.focus({preventScroll:!0})},[]);return(0,l.useEffect)(()=>(n.current=!0,()=>{n.current=!1}),[]),(0,l.useEffect)(()=>{n.current!==!1&&(e?r.current=document.activeElement:t&&requestAnimationFrame(o))},[e,t,o]),o}var M=require("react"),v=require("@quotalab/utils");function se(e,t){window.dispatchEvent(new CustomEvent(e,{detail:t}))}function ae(e){function t(r){let o=(0,v.getObjectKeys)(r).reduce((i,u)=>{let c=`${e}:${u.toString()}`;return F(f({},i),{[c]:function(d){r[u](d.detail)}})},{});(0,M.useEffect)(()=>((0,v.getObjectKeys)(o).forEach(i=>{window.removeEventListener(i,o[i]),window.addEventListener(i,o[i])}),()=>{(0,v.getObjectKeys)(o).forEach(i=>{window.removeEventListener(i,o[i])})}),[o])}function n(r){return(...o)=>{se(`${e}:${String(r)}`,o[0])}}return[t,n]}var $=require("react/jsx-runtime"),[ce,le]=T("@quotalab/headless-hooks/I18nContext");function fe({locale:e,children:t}){let n=L();return(0,$.jsx)(ce,{value:e?{locale:e}:n,children:t})}function w(){let e=L();try{return le()}catch(t){return e}}var C=require("react");function O(e,t,n="ko-KR"){if(t[e])return t[e];let r=de(e);if(t[r])return t[r];for(let o in t)if(o.startsWith(`${r}-`))return t[o];return t[n]}function de(e){return Intl.Locale?new Intl.Locale(e).language:e.split("-")[0]}function V(e,t="ko-KR"){let n=f({},e);return{getStringForLocale(r,o){let i=n[o];i||(i=O(o,n,t),n[o]=i);let u=i[r];if(!u)throw new Error(`No string for key ${r} in locale ${o}`);return u}}}function A(e,t){return{format(n,r){let o=t.getStringForLocale(n,e);return r!=null&&Object.keys(r).forEach(i=>{o=o.replaceAll(`{{${i}}}`,r[i].toString())}),o}}}function pe(e){let{locale:t}=w(),n=(0,C.useMemo)(()=>V(e),[e]);return(0,C.useMemo)(()=>A(t,n),[t,n])} //# sourceMappingURL=index.min.cjs.map