glotfile 0.7.1 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -4,7 +4,7 @@ var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],en
|
|
|
4
4
|
`);s=t.pop()??``;for(let e of t){if(e.startsWith(`event:`)){c=e.slice(6).trim();continue}e.startsWith(`data:`)&&(yield{...JSON.parse(e.slice(5).trim()),type:c},c=`message`)}}}finally{a.cancel().catch(()=>{})}}async function*$d(e,t){let n;try{n=await fetch(`/api/context/build`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(e),signal:t})}catch(e){if(e.name===`AbortError`)return;throw e}if(!n.ok||!n.body)throw Error(n.statusText);let r=n.body.getReader(),i=new TextDecoder,a=``,o=`message`;try{for(;;){let e;try{e=await r.read()}catch(e){if(e.name===`AbortError`)return;throw e}if(e.done)break;a+=i.decode(e.value,{stream:!0});let t=a.split(`
|
|
5
5
|
`);a=t.pop()??``;for(let e of t){if(e.startsWith(`event:`)){o=e.slice(6).trim();continue}if(e.startsWith(`data:`)){let t=JSON.parse(e.slice(5).trim());if(o===`error`)throw Error(t.error??`Unknown error`);yield{...t,type:o},o=`message`}}}}finally{r.cancel().catch(()=>{})}}var ef=()=>fetch(`/api/scan`,{method:`POST`}).then(e=>J(e)),tf=()=>fetch(`/api/scan`).then(e=>J(e)),nf=e=>fetch(`/api/scan/usage?key=${encodeURIComponent(e)}`).then(e=>J(e)),rf=()=>fetch(`/api/scan/used`).then(e=>J(e)),af=e=>fetch(`/api/config`,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify(e)}).then(J),of=()=>fetch(`/api/ui-prefs`).then(e=>J(e)),sf=e=>fetch(`/api/ui-prefs`,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify(e)}).then(J),cf=()=>fetch(`/api/local-settings`).then(e=>J(e)),lf=e=>fetch(`/api/local-settings`,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify(e)}).then(J),uf=()=>fetch(`/api/ai-profiles`).then(e=>J(e)),df=(e,t)=>fetch(`/api/ai-profiles/${encodeURIComponent(e)}`,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify(t)}).then(J),ff=e=>fetch(`/api/ai-profiles/${encodeURIComponent(e)}`,{method:`DELETE`}).then(J),pf=e=>fetch(`/api/ai-profiles/active`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({name:e})}).then(J),mf=e=>fetch(`/api/dictionary`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({word:e})}).then(J),hf=()=>fetch(`/api/glossary`).then(e=>J(e)),gf=e=>fetch(`/api/glossary`,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify(e)}).then(J),_f=e=>fetch(`/api/glossary/${encodeURIComponent(e)}`,{method:`DELETE`}).then(J),vf=(e,t)=>{let n=new FormData;return n.append(`file`,t),fetch(`/api/keys/${encodeURIComponent(e)}/screenshot`,{method:`POST`,body:n}).then(J)},yf=e=>fetch(`/api/keys/${encodeURIComponent(e)}/screenshot`,{method:`DELETE`}).then(J),bf=(e,t)=>fetch(`/api/keys/${encodeURIComponent(e)}/notes`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({text:t})}).then(e=>J(e)),xf=(e,t,n)=>fetch(`/api/keys/${encodeURIComponent(e)}/notes/${encodeURIComponent(t)}`,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify({text:n})}).then(J),Sf=(e,t)=>fetch(`/api/keys/${encodeURIComponent(e)}/notes/${encodeURIComponent(t)}`,{method:`DELETE`}).then(J),Cf=()=>fetch(`/api/log`).then(e=>J(e)),wf=()=>fetch(`/api/export/preview`).then(e=>J(e)),Tf=()=>fetch(`/api/export`,{method:`POST`}).then(e=>J(e)),Ef=()=>fetch(`/api/file`).then(e=>J(e)),Df=()=>fetch(`/api/files`).then(e=>J(e)),Of=e=>fetch(`/api/file`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({path:e})}).then(e=>J(e)),kf=e=>e.length===0?Promise.resolve({issues:[],spellPending:!1}):fetch(`/api/checks?checks=${e.join(`,`)}`).then(e=>J(e)),Af=(e={})=>fetch(`/api/lint${e.includeSuppressed?`?includeSuppressed=1`:``}`).then(e=>J(e)),jf=(e,t,n)=>fetch(`/api/keys/${encodeURIComponent(e)}/suppressions`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({rule:t,locale:n})}).then(J),Mf=(e,t,n)=>fetch(`/api/keys/${encodeURIComponent(e)}/suppressions?rule=${encodeURIComponent(t)}&locale=${encodeURIComponent(n)}`,{method:`DELETE`}).then(J),Nf=(e={})=>fetch(`/api/lint/accept`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(e)}).then(e=>J(e)),Pf=()=>fetch(`/api/import/detect`).then(e=>J(e)),Ff=e=>fetch(`/api/import`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(e)}).then(e=>J(e));function If(e,t,n){let r=Array(e);return new Proxy(r,{get(r,i,a){if(typeof i==`string`){let a=i.charCodeAt(0);if(a>=48&&a<=57){let a=+i;if(Number.isInteger(a)&&a>=0&&a<e){let e=r[a];if(!e){let i=t[a*2];e=r[a]={index:a,key:n(a),start:i,size:t[a*2+1],end:i+t[a*2+1],lane:0}}return e}}if(i===`length`)return e}return Reflect.get(r,i,a)}})}function Lf(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=e();return o.length!==r.length||o.some((e,t)=>r[t]!==e)?(r=o,i=t(...o),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i):i}return o.updateDeps=e=>{r=e},o}function Rf(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var zf=(e,t)=>Math.abs(e-t)<1.01,Bf=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}},Vf,Hf=()=>{if(Vf!==void 0)return Vf;if(typeof navigator>`u`)return Vf=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return Vf=!0;let e=navigator.maxTouchPoints;return Vf=navigator.platform===`MacIntel`&&e!==void 0&&e>0},Uf=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},Wf=e=>e,Gf=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,r=Array(n);for(let e=0;e<n;e++)r[e]=t+e;return r},Kf=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(Uf(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(Uf(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},qf={passive:!0},Jf=typeof window>`u`?!0:`onscrollend`in window,Yf=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&Jf,o=0,s=a?null:Bf(i,()=>t(o,!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,qf),a&&r.addEventListener(`scrollend`,u,qf),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u)}},Xf=(e,t)=>Yf(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),Zf=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},Qf=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:e+t,behavior:n})},$f=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,n=this.indexFromElement(t);if(!t.isConnected){this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}return}this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:Wf,rangeExtractor:Gf,onChange:()=>{},measureElement:Zf,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=e>0?s[0]?.key??n.getItemKey(0):null,l=e>0?s[e-1]?.key??n.getItemKey(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==c||t.getItemKey(o-1)!==l)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>e&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==l)&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=!1,s=0;if(r&&this.scrollOffset!==null){let[e,t]=r,n=this.getMeasurements(),{count:i,getItemKey:a}=this.options,c=0;for(;c<i&&a(c)!==e;)c++;if(c<i){let e=n[c];if(e){let n=e.start+t;n!==this.scrollOffset&&(s=n-this.scrollOffset,this.scrollOffset=n,o=!0)}}}(o||i)&&(this.pendingScrollAnchor=[o?r[0]:null,o?r[1]:0,i,s])},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=Lf(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.scrollElement&&`ownerDocument`in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{this._intendedScrollOffset!==null&&Math.abs(e-this._intendedScrollOffset)<1.5&&(e=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0,this.scrollDirection=t?this.getScrollOffset()<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement){let e=this.scrollElement,t=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},n=()=>{this._iosTouching=!1,!(!Hf()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener(`touchstart`,t,qf),e.addEventListener(`touchend`,n,qf),this.unsubs.push(()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchend`,n),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let t=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled){let[e,n,r,i]=t;e!==null&&!r&&(Hf()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?i!==0&&(this._iosDeferredAdjustment+=i):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),r&&this.scrollToEnd({behavior:r})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let e=this.getScrollOffset(),t=this.getMaxScrollOffset();if(e<0||e>t)return;let n=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(e,{adjustments:this.scrollAdjustments+=n,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,t)=>{let n=new Map,r=new Map;for(let i=t-1;i>=0;i--){let t=e[i];if(n.has(t.lane))continue;let a=r.get(t.lane);if(a==null||t.end>a.end?r.set(t.lane,t):t.end<a.end&&n.set(t.lane,!0),n.size===this.options.lanes)break}return r.size===this.options.lanes?Array.from(r.values()).sort((e,t)=>e.end===t.end?e.index-t.index:e.end-t.end)[0]:void 0},this.getMeasurementOptions=Lf(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(e,t,n,r,i,a,o)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o}),{key:!1}),this.getMeasurements=Lf(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o},s)=>{let c=this.itemSizeCache;if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let l=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=this.options.gap,a=e*2,o=this._flatMeasurements;if(!o||o.length<a){let e=new Float64Array(a);o&&l>0&&e.set(o.subarray(0,l*2)),o=e,this._flatMeasurements=o}let s;if(l===0)s=t+n;else{let e=l-1;s=o[e*2]+o[e*2+1]+i}for(let t=l;t<e;t++){let e=r(t),n=c.get(e),a=typeof n==`number`?n:this.options.estimateSize(t);o[t*2]=s,o[t*2+1]=a,s+=a+i}let u=If(e,o,r);return this.measurementsCache=u,u}let u=this.measurementsCache.slice(0,l),d=Array(a).fill(void 0);for(let e=0;e<l;e++){let t=u[e];t&&(d[t.lane]=e)}for(let i=l;i<e;i++){let e=r(i),a=this.laneAssignments.get(i),s,l,f=o===`estimate`||c.has(e);if(a!==void 0&&this.options.lanes>1){s=a;let e=d[s],r=e===void 0?void 0:u[e];l=r?r.end+this.options.gap:t+n}else{let e=this.options.lanes===1?u[i-1]:this.getFurthestMeasurement(u,i);l=e?e.end+this.options.gap:t+n,s=e?e.lane:i%this.options.lanes,this.options.lanes>1&&f&&this.laneAssignments.set(i,s)}let p=c.get(e),m=typeof p==`number`?p:this.options.estimateSize(i),h=l+m;u[i]={index:i,start:l,size:m,end:h,key:e,lane:s},d[s]=i}return this.measurementsCache=u,u},{key:!1,debug:()=>this.options.debug}),this.calculateRange=Lf(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>this.range=e.length>0&&t>0?tp({measurements:e,outerSize:t,scrollOffset:n,lanes:r,flat:r===1&&this._flatMeasurements!=null?this._flatMeasurements:null}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=Lf(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!this.scrollState||this.scrollState.behavior!==`smooth`)return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e),n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{if(e<0||e>=this.options.count)return;let n,r,i,a=this._flatMeasurements;if(this.options.lanes===1&&a!==null)i=this.options.getItemKey(e),r=a[e*2],n=a[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;i=t.key,r=t.start,n=t.size}let o=t-(this.itemSizeCache.get(i)??n);if(o!==0){let a=this.options.anchorTo===`end`&&this.scrollState?.behavior!==`smooth`&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,s=a?this.getTotalSize():0,c=this.scrollState?.behavior!==`smooth`&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?r<this.getScrollOffset()+this.scrollAdjustments&&this.scrollDirection!==`backward`:this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:i,start:r,size:n,end:r+n,lane:0},o,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(i,t),this.itemSizeCacheVersion++,a?this.applyScrollAdjustment(this.getTotalSize()-s):c&&this.applyScrollAdjustment(o),this.notify(!1)}},this.getVirtualItems=Lf(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._flatMeasurements,r=this.options.lanes===1&&n!=null;return Rf(t[ep(0,t.length-1,r?e=>n[e*2]:e=>Rf(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`)if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t];if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{let r=this.getOffsetForAlignment(e,t),i=this.now();this.scrollState={index:null,align:t,behavior:n,startedAt:i,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r,o=this.now();this.scrollState={index:e,align:a,behavior:n,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getScrollOffset()+e,r=this.now();this.scrollState={index:null,align:`start`,behavior:t,startedAt:r,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:e=`auto`}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:`end`,behavior:e});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._flatMeasurements;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this._intendedScrollOffset=e+(t??0),this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){e!==0&&(Hf()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=e:this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index==null?void 0:this.getOffsetForIndex(this.scrollState.index,this.scrollState.align),t=e?e[0]:this.scrollState.lastTargetOffset,n=t!==this.scrollState.lastTargetOffset;if(!n&&zf(t,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.getScrollOffset()!==t&&this._scrollToOffset(t,{adjustments:void 0,behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let e=this.getSize()||600,n=Math.abs(t-this.getScrollOffset()),r=this.scrollState.behavior===`smooth`&&n>e;this.scrollState.lastTargetOffset=t,r||(this.scrollState.behavior=`auto`),this._scrollToOffset(t,{adjustments:void 0,behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}},ep=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function tp({measurements:e,outerSize:t,scrollOffset:n,lanes:r,flat:i}){let a=e.length-1,o=i?e=>i[e*2]:t=>e[t].start,s=i?e=>i[e*2]+i[e*2+1]:t=>e[t].end;if(e.length<=r)return{startIndex:0,endIndex:a};let c=ep(0,a,o,n),l=c;if(r===1)for(;l<a&&s(l)<n+t;)l++;else if(r>1){let i=Array(r).fill(0);for(;l<a&&i.some(e=>e<n+t);){let t=e[l];i[t.lane]=t.end,l++}let o=Array(r).fill(n+t);for(;c>=0&&o.some(e=>e>=n);){let t=e[c];o[t.lane]=t.start,c--}c=Math.max(0,c-c%r),l=Math.min(a,l+(r-1-l%r))}return{startIndex:c,endIndex:l}}function np(e){let t=new $f(M(e)),n=dn(t),r=t._didMount();return Dr(()=>M(e).getScrollElement(),e=>{e&&t._willUpdate()},{immediate:!0}),Dr(()=>M(e),e=>{t.setOptions({...e,onChange:(t,r)=>{var i;mn(n),(i=e.onChange)==null||i.call(e,t,r)}}),t._willUpdate(),mn(n)},{immediate:!0}),Fe(r),n}function rp(e){return np(K(()=>({observeElementRect:Kf,observeElementOffset:Xf,scrollToFn:Qf,...M(e)})))}function ip(e,t){let n=e.values[t];return n?e.plural?(n.forms?.other??``).trim()===``:(n.value??``).trim()===``:!0}function ap(e,t,n,r){return n===`missing`?r?ip(t,r):e.config.locales.some(n=>n!==e.config.sourceLocale&&ip(t,n)):r?t.values[r]?.state===n:Object.values(t.values).some(e=>e.state===n)}function op(e){try{return new RegExp(e,`i`)}catch{return null}}function sp(e,t,n,r){let i=t.text.trim(),a=i.length>=2&&i.startsWith(`"`)&&i.endsWith(`"`)?i.slice(1,-1).toLowerCase():null,o=a===null&&i.startsWith(`^`)?op(i):null,s=i.toLowerCase();return Object.keys(e.keys).sort().filter(c=>{let l=e.keys[c];if(t.tag&&!(l.tags??[]).includes(t.tag)||t.needsAttention&&(n?.get(c)?.length??0)===0||t.aiContextUnreviewed&&l.contextSource!==`ai`||t.emptySource&&!ip(l,e.config.sourceLocale)||t.noUsages&&r&&r.has(c)||t.skipTranslate&&!l.skipTranslate)return!1;if(t.plurality?.length){let e=l.plural?`plural`:`single`;if(!t.plurality.includes(e))return!1}if(t.states.length&&!t.states.some(n=>ap(e,l,n,t.locale)))return!1;if(t.issues.length){let e=(n?.get(c)??[]).filter(e=>!t.locale||e.locale===t.locale),r=new Set(e.map(e=>e.check));if(!t.issues.some(e=>r.has(e)))return!1}if(i){if(a!==null){if(c.toLowerCase()!==a)return!1}else if(i.startsWith(`^`)){if(!o||!o.test(c))return!1}else if(!(c+` `+(l.context??``)+` `+(l.tags??[]).join(` `)+` `+Object.values(l.values).map(e=>e.value).join(` `)).toLowerCase().includes(s))return!1}return!0})}var cp=[`untranslated`,`placeholder`,`spelling`,`length`,`glossary`],lp=[`untranslated`,`placeholder`,`length`,`glossary`],up=[`missing`,`machine`,`needs-review`,`reviewed`],dp=[`plural`,`single`],fp={untranslated:`Untranslated`,placeholder:`Placeholder mismatch`,spelling:`Spelling`,length:`Too long`,glossary:`Glossary`},pp={missing:`Missing`,machine:`Machine`,reviewed:`Reviewed`,"needs-review":`Needs review`},mp={plural:`Plural`,single:`Single`};function hp(e){let t=new Map;for(let n of e){let e=t.get(n.key);e?e.push(n):t.set(n.key,[n])}return t}var gp=[`key-asc`,`key-desc`,`created`,`updated`],_p=[`multilingual`,`bilingual`],vp={text:``,states:[],issues:[],plurality:[],tag:``,needsAttention:!1,emptySource:!1,aiContextUnreviewed:!1,noUsages:!1,skipTranslate:!1};function yp(e){let t=e.get(`q`)??``,n=e.get(`tag`)??``,r=(e.get(`states`)??``).split(`,`).map(e=>e.trim()).filter(e=>up.includes(e)),i=(e.get(`issues`)??``).split(`,`).map(e=>e.trim()).filter(e=>cp.includes(e)),a=(e.get(`plurality`)??``).split(`,`).map(e=>e.trim()).filter(e=>dp.includes(e)),o=e.get(`sort`)??``,s=gp.includes(o)?o:`key-asc`,c=e.get(`view`)??``,l=_p.includes(c)?c:`multilingual`,u=e.get(`locale`)??``;return{filter:{...vp,text:t,tag:n,states:r,issues:i,plurality:a,needsAttention:e.get(`attention`)===`1`,emptySource:e.get(`emptySource`)===`1`,aiContextUnreviewed:e.get(`aiContext`)===`1`,noUsages:e.get(`noUsages`)===`1`,skipTranslate:e.get(`skipTranslate`)===`1`},sort:s,view:l,locale:u}}function bp(e){let t=new URLSearchParams,{filter:n,sort:r,view:i,locale:a}=e;return n.text&&t.set(`q`,n.text),n.tag&&t.set(`tag`,n.tag),n.states.length&&t.set(`states`,n.states.join(`,`)),n.issues.length&&t.set(`issues`,n.issues.join(`,`)),n.plurality.length&&t.set(`plurality`,n.plurality.join(`,`)),n.needsAttention&&t.set(`attention`,`1`),n.emptySource&&t.set(`emptySource`,`1`),n.aiContextUnreviewed&&t.set(`aiContext`,`1`),n.noUsages&&t.set(`noUsages`,`1`),n.skipTranslate&&t.set(`skipTranslate`,`1`),r!==`key-asc`&&t.set(`sort`,r),i!==`multilingual`&&t.set(`view`,i),i===`bilingual`&&a&&t.set(`locale`,a),t}var xp=[`editor`,`analytics`,`glossary`,`screenshots`,`settings`,`activity`,`docs`];function Sp(){let e=location.hash.replace(/^#\/?/,``),t=e.indexOf(`?`),n=t===-1?e:e.slice(0,t),r=t===-1?``:e.slice(t+1);return{route:xp.includes(n)?n:`editor`,search:r}}var Cp=j(Sp().route);window.addEventListener(`hashchange`,()=>{Cp.value=Sp().route});var wp=null;function Tp(e){wp=e}function Ep(e){wp&&!wp(e)||(location.hash=e)}function Dp(){return Qt(Cp)}function Op(){return new URLSearchParams(Sp().search)}function kp(e){let t=e.toString(),n=`#${Sp().route}${t?`?${t}`:``}`;history.replaceState(null,``,n)}var Ap=j(null);function jp(e){Ap.value=e,Ep(`editor`)}var Mp=j(null);function Np(e){Mp.value=e,jp({text:e})}function Pp(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Pp(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function Fp(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Pp(e))&&(r&&(r+=` `),r+=t);return r}var Ip=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,Lp=Fp,Rp=(e,t)=>n=>{if(t?.variants==null)return Lp(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=Ip(t)||Ip(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return Lp(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)};function zp(e){return typeof e==`string`?`'${e}'`:new Bp().serialize(e)}var Bp=function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return n===`string`&&r===`string`?e.localeCompare(t):n===`number`&&r===`number`?e-t:String.prototype.localeCompare.call(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return`null`;switch(typeof e){case`string`:return t?e:`'${e}'`;case`bigint`:return`${e}n`;case`object`:return this.$object(e);case`function`:return this.$function(e)}return String(e)}serializeObject(e){let t=Object.prototype.toString.call(e);if(t!==`[object Object]`)return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);let n=e.constructor,r=n===Object||n===void 0?``:n.name;if(r!==``&&globalThis[r]===n)return this.serializeBuiltInType(r,e);if(typeof e.toJSON==`function`){let t=e.toJSON();return r+(typeof t==`object`&&t?this.$object(t):`(${this.serialize(t)})`)}return this.serializeObjectEntries(r,Object.entries(e))}serializeBuiltInType(e,t){let n=this[`$`+e];if(n)return n.call(this,t);if(typeof t?.entries==`function`)return this.serializeObjectEntries(e,t.entries());throw Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){let n=Array.from(t).sort((e,t)=>this.compare(e[0],t[0])),r=`${e}{`;for(let e=0;e<n.length;e++){let[t,i]=n[e];r+=`${this.serialize(t,!0)}:${this.serialize(i)}`,e<n.length-1&&(r+=`,`)}return r+`}`}$object(e){let t=this.#e.get(e);return t===void 0&&(this.#e.set(e,`#${this.#e.size}`),t=this.serializeObject(e),this.#e.set(e,t)),t}$function(e){let t=Function.prototype.toString.call(e);return t.slice(-15)===`[native code] }`?`${e.name||``}()[native]`:`${e.name}(${e.length})${t.replace(/\s*\n\s*/g,``)}`}$Array(e){let t=`[`;for(let n=0;n<e.length;n++)t+=this.serialize(e[n]),n<e.length-1&&(t+=`,`);return t+`]`}$Date(e){try{return`Date(${e.toISOString()})`}catch{return`Date(null)`}}$ArrayBuffer(e){return`ArrayBuffer[${new Uint8Array(e).join(`,`)}]`}$Set(e){return`Set${this.$Array(Array.from(e).sort((e,t)=>this.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e}();function Vp(e,t){return e===t||zp(e)===zp(t)}function Hp(e,t,n){let r=e.findIndex(e=>Vp(e,t)),i=e.findIndex(e=>Vp(e,n));if(r===-1||i===-1)return[];let[a,o]=[r,i].sort((e,t)=>e-t);return e.slice(a,o+1)}function Up(e,t=-1/0,n=1/0){return Math.min(n,Math.max(t,e))}function Wp(e,t){let n=typeof e==`string`&&!t?`${e}Context`:t,r=Symbol(n);return[t=>{let n=br(r,t);if(n||n===null)return n;throw Error(`Injection \`${r.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(`, `)}`:`\`${e}\``}`)},e=>(yr(r,e),e)]}function Gp(){let e=document.activeElement;if(e==null)return null;for(;e!=null&&e.shadowRoot!=null&&e.shadowRoot.activeElement!=null;)e=e.shadowRoot.activeElement;return e}function Kp(e,t,n){let r=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),r.dispatchEvent(i)}function qp(e){return e==null}function Jp(e,t){let n=dn();return wr(()=>{n.value=e()},{...t,flush:t?.flush??`sync`}),Qt(n)}function Yp(e,t){return Pe()?(Fe(e,t),!0):!1}function Xp(){let e=new Set,t=t=>{e.delete(t)};return{on:n=>{e.add(n);let r=()=>t(n);return Yp(r),{off:r}},off:t,trigger:(...t)=>Promise.all(Array.from(e).map(e=>e(...t))),clear:()=>{e.clear()}}}function Zp(e){let t=!1,n,r=Ne(!0);return((...i)=>(t||=(n=r.run(()=>e(...i)),!0),n))}var Qp=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var $p=e=>e!==void 0,em=Object.prototype.toString,tm=e=>em.call(e)===`[object Object]`,nm=rm();function rm(){var e,t;return Qp&&!!(!((e=window)==null||(e=e.navigator)==null)&&e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window)==null||(t=t.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function im(e){return Array.isArray(e)?e:[e]}function am(e){return e||Ds()}function om(e){if(!Qp)return e;let t=0,n,r,i=()=>{--t,r&&t<=0&&(r.stop(),n=void 0,r=void 0)};return((...a)=>(t+=1,r||(r=Ne(!0),n=r.run(()=>e(...a))),Yp(i),n))}function sm(e){return Xt(un(e)?new Proxy({},{get(t,n,r){return M(Reflect.get(e.value,n,r))},set(t,n,r){return un(e.value[n])&&!un(r)?e.value[n].value=r:e.value[n]=r,!0},deleteProperty(t,n){return Reflect.deleteProperty(e.value,n)},has(t,n){return Reflect.has(e.value,n)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}}):e)}function cm(e){return sm(K(e))}function lm(e,...t){let n=t.flat(),r=n[0];return cm(()=>Object.fromEntries(typeof r==`function`?Object.entries(bn(e)).filter(([e,t])=>!r(hn(t),e)):Object.entries(bn(e)).filter(e=>!n.includes(e[0]))))}function um(e,t=1e4){return yn((n,r)=>{let i=hn(e),a,o=()=>setTimeout(()=>{i=hn(e),r()},hn(t));return Yp(()=>{clearTimeout(a)}),{get(){return n(),i},set(e){i=e,r(),clearTimeout(a),a=o()}}})}function dm(e,t){am(t)&&Yi(e,t)}function fm(e,t,n={}){let{immediate:r=!0,immediateCallback:i=!1}=n,a=dn(!1),o;function s(){o&&=(clearTimeout(o),void 0)}function c(){a.value=!1,s()}function l(...n){i&&e(),s(),a.value=!0,o=setTimeout(()=>{a.value=!1,o=void 0,e(...n)},hn(t))}return r&&(a.value=!0,Qp&&l()),Yp(c),{isPending:$t(a),start:l,stop:c}}function pm(e,t,n){return Dr(e,t,{...n,immediate:!0})}var mm=Qp?window:void 0;Qp&&window.document,Qp&&window.navigator,Qp&&window.location;function hm(e){let t=hn(e);return t?.$el??t}function gm(...e){let t=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),n=K(()=>{let t=im(hn(e[0])).filter(e=>e!=null);return t.every(e=>typeof e!=`string`)?t:void 0});return pm(()=>[n.value?.map(e=>hm(e))??[mm].filter(e=>e!=null),im(hn(n.value?e[1]:e[0])),im(M(n.value?e[2]:e[1])),hn(n.value?e[3]:e[2])],([e,n,r,i],a,o)=>{if(!e?.length||!n?.length||!r?.length)return;let s=tm(i)?{...i}:i,c=e.flatMap(e=>n.flatMap(n=>r.map(r=>t(e,n,r,s))));o(()=>{c.forEach(e=>e())})},{flush:`post`})}function _m(){let e=dn(!1),t=Ds();return t&&Ki(()=>{e.value=!0},t),e}function vm(e){let t=_m();return K(()=>(t.value,!!e()))}function ym(e){return typeof e==`function`?e:typeof e==`string`?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function bm(...e){let t,n,r={};e.length===3?(t=e[0],n=e[1],r=e[2]):e.length===2?typeof e[1]==`object`?(t=!0,n=e[0],r=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);let{target:i=mm,eventName:a=`keydown`,passive:o=!1,dedupe:s=!1}=r,c=ym(t);return gm(i,a,e=>{e.repeat&&hn(s)||c(e)&&n(e)},o)}function xm(e){return JSON.parse(JSON.stringify(e))}function Sm(e,t,n={}){let{window:r=mm,...i}=n,a,o=vm(()=>r&&`ResizeObserver`in r),s=()=>{a&&=(a.disconnect(),void 0)},c=Dr(K(()=>{let t=hn(e);return Array.isArray(t)?t.map(e=>hm(e)):[hm(t)]}),e=>{if(s(),o.value&&r){a=new ResizeObserver(t);for(let t of e)t&&a.observe(t,i)}},{immediate:!0,flush:`post`}),l=()=>{s(),c()};return Yp(l),{isSupported:o,stop:l}}function Cm(e,t,n,r={}){var i,a;let{clone:o=!1,passive:s=!1,eventName:c,deep:l=!1,defaultValue:u,shouldEmit:d}=r,f=Ds(),p=n||f?.emit||(f==null||(i=f.$emit)==null?void 0:i.bind(f))||(f==null||(a=f.proxy)==null||(a=a.$emit)==null?void 0:a.bind(f?.proxy)),m=c;t||=`modelValue`,m||=`update:${t.toString()}`;let h=e=>o?typeof o==`function`?o(e):xm(e):e,g=()=>$p(e[t])?h(e[t]):u,_=e=>{d?d(e)&&p(m,e):p(m,e)};if(s){let n=j(g()),r=!1;return Dr(()=>e[t],e=>{r||(r=!0,n.value=h(e),$n(()=>r=!1))}),Dr(n,n=>{!r&&(n!==e[t]||l)&&_(n)},{deep:l}),n}else return K({get(){return g()},set(e){_(e)}})}function wm(e){return e?e.flatMap(e=>e.type===L?wm(e.children):[e]):[]}var Tm=[`INPUT`,`TEXTAREA`];function Em(e,t,n,r={}){if(!t||r.enableIgnoredElement&&Tm.includes(t.nodeName))return null;let{arrowKeyOptions:i=`both`,attributeName:a=`[data-reka-collection-item]`,itemsArray:o=[],loop:s=!0,dir:c=`ltr`,preventScroll:l=!0,focus:u=!1}=r,[d,f,p,m,h,g]=[e.key===`ArrowRight`,e.key===`ArrowLeft`,e.key===`ArrowUp`,e.key===`ArrowDown`,e.key===`Home`,e.key===`End`],_=p||m,v=d||f;if(!h&&!g&&(!_&&!v||i===`vertical`&&v||i===`horizontal`&&_))return null;let y=n?Array.from(n.querySelectorAll(a)):o;if(!y.length)return null;l&&e.preventDefault();let b=null;return v||_?b=Dm(y,t,{goForward:_?m:c===`ltr`?d:f,loop:s}):h?b=y.at(0)||null:g&&(b=y.at(-1)||null),u&&b?.focus(),b}function Dm(e,t,n,r=e.includes(t)?e.length:e.length+1){if(--r===0)return null;let i=e.indexOf(t),a;if(a=i===-1?n.goForward?0:e.length-1:n.goForward?i+1:i-1,!n.loop&&(a<0||a>=e.length))return null;let o=e[(a+e.length)%e.length];return o?o.hasAttribute(`disabled`)&&o.getAttribute(`disabled`)!==`false`?Dm(e,o,n,r):o:null}var[Om,km]=Wp(`ConfigProvider`);function Am(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)===`[object Module]`:!0}function jm(e,t,n=`.`,r){if(!Am(t))return jm(e,{},n,r);let i={...t};for(let t of Object.keys(e)){if(t===`__proto__`||t===`constructor`)continue;let a=e[t];a!=null&&(r&&r(i,t,a,n)||(Array.isArray(a)&&Array.isArray(i[t])?i[t]=[...a,...i[t]]:Am(a)&&Am(i[t])?i[t]=jm(a,i[t],(n?`${n}.`:``)+t.toString(),r):i[t]=a))}return i}function Mm(e){return(...t)=>t.reduce((t,n)=>jm(t,n,``,e),{})}var Nm=Mm(),Pm=om(()=>{let e=j(new Map),t=j(),n=K(()=>{for(let t of e.value.values())if(t)return!0;return!1}),r=Om({scrollBody:j(!0)}),i=null,a=()=>{document.body.style.paddingRight=``,document.body.style.marginRight=``,document.body.style.pointerEvents=``,document.documentElement.style.removeProperty(`--scrollbar-width`),document.body.style.overflow=t.value??``,nm&&i?.(),t.value=void 0};return Dr(n,(e,o)=>{if(!Qp)return;if(!e){o&&a();return}t.value===void 0&&(t.value=document.body.style.overflow);let s=window.innerWidth-document.documentElement.clientWidth,c={padding:s,margin:0},l=r.scrollBody?.value?typeof r.scrollBody.value==`object`?Nm({padding:r.scrollBody.value.padding===!0?s:r.scrollBody.value.padding,margin:r.scrollBody.value.margin===!0?s:r.scrollBody.value.margin},c):c:{padding:0,margin:0};s>0&&(document.body.style.paddingRight=typeof l.padding==`number`?`${l.padding}px`:String(l.padding),document.body.style.marginRight=typeof l.margin==`number`?`${l.margin}px`:String(l.margin),document.documentElement.style.setProperty(`--scrollbar-width`,`${s}px`),document.body.style.overflow=`hidden`),nm&&(i=gm(document,`touchmove`,e=>Lm(e),{passive:!1})),$n(()=>{n.value&&(document.body.style.pointerEvents=`none`,document.body.style.overflow=`hidden`)})},{immediate:!0,flush:`sync`}),e});function Fm(e){let t=Math.random().toString(36).substring(2,7),n=Pm();n.value.set(t,e??!1);let r=K({get:()=>n.value.get(t)??!1,set:e=>n.value.set(t,e)});return dm(()=>{n.value.delete(t)}),r}function Im(e){let t=window.getComputedStyle(e);if(t.overflowX===`scroll`||t.overflowY===`scroll`||t.overflowX===`auto`&&e.clientWidth<e.scrollWidth||t.overflowY===`auto`&&e.clientHeight<e.scrollHeight)return!0;{let t=e.parentNode;return!(t instanceof Element)||t.tagName===`BODY`?!1:Im(t)}}function Lm(e){let t=e||window.event,n=t.target;return n instanceof Element&&Im(n)?!1:t.touches.length>1?!0:(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}function Rm(e){let t=j(!1);function n(){t.value=!0}function r(n){$n(()=>{t.value=!1,e?.(n)})}return{isComposing:t,handleCompositionStart:n,handleCompositionEnd:r}}function zm(e){let t=Om({dir:j(`ltr`)});return K(()=>e?.value||t.dir?.value||`ltr`)}function Bm(e){let t=Ds(),n=t?.type.emits,r={};return n?.length||console.warn(`No emitted event found. Please check component: ${t?.type.__name}`),n?.forEach(t=>{r[se(D(t))]=(...n)=>e(t,...n)}),r}function Vm(e){let t=K(()=>M(e)),n=K(()=>new Intl.Collator(`en`,{usage:`search`,...t.value}));return{startsWith:(e,t)=>t.length===0?!0:(e=e.normalize(`NFC`),t=t.normalize(`NFC`),n.value.compare(e.slice(0,t.length),t)===0),endsWith:(e,t)=>t.length===0?!0:(e=e.normalize(`NFC`),t=t.normalize(`NFC`),n.value.compare(e.slice(-t.length),t)===0),contains:(e,t)=>{if(t.length===0)return!0;e=e.normalize(`NFC`),t=t.normalize(`NFC`);let r=0,i=t.length;for(;r+i<=e.length;r++){let a=e.slice(r,r+i);if(n.value.compare(t,a)===0)return!0}return!1}}}var Hm=0;function Um(){wr(e=>{if(!Qp)return;let t=document.querySelectorAll(`[data-reka-focus-guard]`);document.body.insertAdjacentElement(`afterbegin`,t[0]??Wm()),document.body.insertAdjacentElement(`beforeend`,t[1]??Wm()),Hm++,e(()=>{Hm===1&&document.querySelectorAll(`[data-reka-focus-guard]`).forEach(e=>e.remove()),Hm--})})}function Wm(){let e=document.createElement(`span`);return e.setAttribute(`data-reka-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}function Gm(e){return K(()=>hn(e)?!!hm(e)?.closest(`form`):!0)}function Y(){let e=Ds(),t=j(),n=K(()=>r());Ji(()=>{n.value!==r()&&mn(t)});function r(){return t.value&&`$el`in t.value&&[`#text`,`#comment`].includes(t.value.$el.nodeName)?t.value.$el.nextElementSibling:hm(t)}let i=Object.assign({},e.exposed),a={};for(let t in e.props)Object.defineProperty(a,t,{enumerable:!0,configurable:!0,get:()=>e.props[t]});if(Object.keys(i).length>0)for(let e in i)Object.defineProperty(a,e,{enumerable:!0,configurable:!0,get:()=>i[e]});Object.defineProperty(a,"$el",{enumerable:!0,configurable:!0,get:()=>e.vnode.el}),e.exposed=a;function o(n){if(t.value=n,n&&(Object.defineProperty(a,"$el",{enumerable:!0,configurable:!0,get:()=>n instanceof Element?n:n.$el}),!(n instanceof Element)&&!Object.hasOwn(n,`$el`))){let t=n.$.exposed,r=Object.assign({},a);for(let e in t)Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>t[e]});e.exposed=r}}return{forwardRef:o,currentRef:t,currentElement:n}}function Km(e){let t=Ds(),n=Object.keys(t?.type.props??{}).reduce((e,n)=>{let r=(t?.type.props[n]).default;return r!==void 0&&(e[n]=r),e},{}),r=Cn(e);return K(()=>{let e={},i=t?.vnode.props??{};return Object.keys(i).forEach(t=>{e[D(t)]=i[t]}),Object.keys({...n,...e}).reduce((e,t)=>(r.value[t]!==void 0&&(e[t]=r.value[t]),e),{})})}function qm(e,t){let n=Km(e),r=t?Bm(t):{};return K(()=>({...n.value,...r}))}function Jm(e,t){let n=um(!1,300);Yp(()=>{n.value=!1});let r=j(null),i=Xp();function a(){r.value=null,n.value=!1}function o(e,t){if(!t)return;let i=e.currentTarget,a={x:e.clientX,y:e.clientY},o=Xm(a,Ym(a,i.getBoundingClientRect()),1),s=Zm(t.getBoundingClientRect());r.value=$m([...o,...s]),n.value=!0}return wr(n=>{if(e.value&&t.value){let r=e=>o(e,t.value),i=t=>o(t,e.value);e.value.addEventListener(`pointerleave`,r),t.value.addEventListener(`pointerleave`,i),n(()=>{e.value?.removeEventListener(`pointerleave`,r),t.value?.removeEventListener(`pointerleave`,i)})}}),wr(n=>{if(r.value){let o=n=>{if(!r.value||!(n.target instanceof Element))return;let o=n.target,s={x:n.clientX,y:n.clientY},c=e.value?.contains(o)||t.value?.contains(o),l=!Qm(s,r.value),u=!!o.closest(`[data-grace-area-trigger]`);c?a():(l||u)&&(a(),i.trigger())};e.value?.ownerDocument.addEventListener(`pointermove`,o),n(()=>e.value?.ownerDocument.removeEventListener(`pointermove`,o))}}),{isPointerInTransit:n,onPointerExit:i.on}}function Ym(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function Xm(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function Zm(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function Qm(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e].x,s=t[e].y,c=t[a].x,l=t[a].y;s>r!=l>r&&n<(c-o)*(r-s)/(l-s)+o&&(i=!i)}return i}function $m(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),eh(t)}function eh(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t.at(-1),n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n.at(-1),t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var th=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},nh=new WeakMap,rh=new WeakMap,ih={},ah=0,oh=function(e){return e&&(e.host||oh(e.parentNode))},sh=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=oh(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},ch=function(e,t,n,r){var i=sh(t,Array.isArray(e)?e:[e]);ih[n]||(ih[n]=new WeakMap);var a=ih[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(nh.get(e)||0)+1,l=(a.get(e)||0)+1;nh.set(e,c),a.set(e,l),o.push(e),c===1&&i&&rh.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),ah++,function(){o.forEach(function(e){var t=nh.get(e)-1,i=a.get(e)-1;nh.set(e,t),a.set(e,i),t||(rh.has(e)||e.removeAttribute(r),rh.delete(e)),i||e.removeAttribute(n)}),ah--,ah||(nh=new WeakMap,nh=new WeakMap,rh=new WeakMap,ih={})}},lh=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||th(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),ch(r,i,n,`aria-hidden`)):function(){return null}};function uh(e){let t;Dr(()=>hm(e),e=>{let n=!1;try{n=!!e?.closest(`[popover]:not(:popover-open)`)}catch{}e&&!n?t=lh(e):t&&t()}),Xi(()=>{t&&t()})}var dh=0;function fh(e,t=`reka`){if(e)return e;let n;return n=`useId`in du?oi?.():Om({useId:void 0}).useId?.()??`${++dh}`,t?`${t}-${n}`:n}function ph(){return{ALT:`Alt`,ARROW_DOWN:`ArrowDown`,ARROW_LEFT:`ArrowLeft`,ARROW_RIGHT:`ArrowRight`,ARROW_UP:`ArrowUp`,BACKSPACE:`Backspace`,CAPS_LOCK:`CapsLock`,CONTROL:`Control`,DELETE:`Delete`,END:`End`,ENTER:`Enter`,ESCAPE:`Escape`,F1:`F1`,F10:`F10`,F11:`F11`,F12:`F12`,F2:`F2`,F3:`F3`,F4:`F4`,F5:`F5`,F6:`F6`,F7:`F7`,F8:`F8`,F9:`F9`,HOME:`Home`,META:`Meta`,PAGE_DOWN:`PageDown`,PAGE_UP:`PageUp`,SHIFT:`Shift`,SPACE:` `,TAB:`Tab`,CTRL:`Control`,ASTERISK:`*`,SPACE_CODE:`Space`}}function mh(e){let t=j(),n=K(()=>t.value?.width??0),r=K(()=>t.value?.height??0);return Ki(()=>{let n=hm(e);if(n){t.value={width:n.offsetWidth,height:n.offsetHeight};let e=new ResizeObserver(e=>{if(!Array.isArray(e)||!e.length)return;let r=e[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=n.offsetWidth,a=n.offsetHeight;t.value={width:i,height:a}});return e.observe(n,{box:`border-box`}),()=>e.unobserve(n)}else t.value=void 0}),{width:n,height:r}}function hh(e,t){let n=j(e);function r(e){return t[n.value][e]??n.value}return{state:n,dispatch:e=>{n.value=r(e)}}}function gh(e){let t=um(``,1e3);return{search:t,handleTypeaheadSearch:(n,r)=>{if(t.value+=n,e)e(n);else{let e=Gp(),n=r.map(e=>({...e,textValue:e.value?.textValue??e.ref.textContent?.trim()??``})),i=n.find(t=>t.ref===e),a=vh(n.map(e=>e.textValue),t.value,i?.textValue),o=n.find(e=>e.textValue===a);return o&&o.ref.focus(),o?.ref}},resetTypeahead:()=>{t.value=``}}}function _h(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function vh(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=_h(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function yh(e,t){let n=j({}),r=j(`none`),i=j(e),a=e.value?`mounted`:`unmounted`,o,s=t.value?.ownerDocument.defaultView??mm,{state:c,dispatch:l}=hh(a,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}}),u=e=>{if(Qp){let n=new CustomEvent(e,{bubbles:!1,cancelable:!1});t.value?.dispatchEvent(n)}};Dr(e,async(e,i)=>{let a=i!==e;if(await $n(),a){let a=r.value,o=bh(t.value);e?(l(`MOUNT`),u(`enter`),o===`none`&&u(`after-enter`)):o===`none`||o===`undefined`||n.value?.display===`none`?(l(`UNMOUNT`),u(`leave`),u(`after-leave`)):i&&a!==o?(l(`ANIMATION_OUT`),u(`leave`)):(l(`UNMOUNT`),u(`after-leave`))}},{immediate:!0});let d=e=>{let n=bh(t.value),r=n.includes(CSS.escape(e.animationName)),a=c.value===`mounted`?`enter`:`leave`;if(e.target===t.value&&r&&(u(`after-${a}`),l(`ANIMATION_END`),!i.value)){let e=t.value.style.animationFillMode;t.value.style.animationFillMode=`forwards`,o=s?.setTimeout(()=>{t.value?.style.animationFillMode===`forwards`&&(t.value.style.animationFillMode=e)})}e.target===t.value&&n===`none`&&l(`ANIMATION_END`)},f=e=>{e.target===t.value&&(r.value=bh(t.value))},p=Dr(t,(e,t)=>{e?(n.value=getComputedStyle(e),e.addEventListener(`animationstart`,f),e.addEventListener(`animationcancel`,d),e.addEventListener(`animationend`,d)):(l(`ANIMATION_END`),o!==void 0&&s?.clearTimeout(o),t?.removeEventListener(`animationstart`,f),t?.removeEventListener(`animationcancel`,d),t?.removeEventListener(`animationend`,d))},{immediate:!0}),m=Dr(c,()=>{let e=bh(t.value);r.value=c.value===`mounted`?e:`none`});return Xi(()=>{p(),m()}),{isPresent:K(()=>[`mounted`,`unmountSuspended`].includes(c.value))}}function bh(e){return e&&getComputedStyle(e).animationName||`none`}var xh=P({name:`Presence`,props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(e,{slots:t,expose:n}){let{present:r,forceMount:i}=bn(e),a=j(),{isPresent:o}=yh(r,a);n({present:o});let s=t.default({present:o.value});s=wm(s||[]);let c=Ds();if(s&&s?.length>1){let e=c?.parent?.type.name?`<${c.parent.type.name} />`:`component`;throw Error([`Detected an invalid children for \`${e}\` for \`Presence\` component.`,``,"Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.",`You can apply a few solutions:`,["Provide a single child element so that `presence` directive attach correctly.",`Ensure the first child is an actual element instead of a raw text node or comment node.`].map(e=>` - ${e}`).join(`
|
|
6
6
|
`)].join(`
|
|
7
|
-
`))}return()=>i.value||r.value||o.value?qs(t.default({present:o.value})[0],{ref:e=>{let t=hm(e);return t?.hasAttribute===void 0||(t?.hasAttribute(`data-reka-popper-content-wrapper`)?a.value=t.firstElementChild:a.value=t),t}}):null}}),Sh=P({name:`PrimitiveSlot`,inheritAttrs:!1,setup(e,{attrs:t,slots:n}){return()=>{if(!n.default)return null;let e=wm(n.default()),r=e.findIndex(e=>e.type!==ns);if(r===-1)return e;let i=e[r];delete i.props?.ref;let a=i.props?G(t,i.props):t,o=_s({...i,props:{}},a);return e.length===1?o:(e[r]=o,e)}}}),Ch=[`area`,`img`,`input`],wh=P({name:`Primitive`,inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:`div`}},setup(e,{attrs:t,slots:n}){let r=e.asChild?`template`:e.as;return typeof r==`string`&&Ch.includes(r)?()=>qs(r,t):r===`template`?()=>qs(Sh,t,{default:n.default}):()=>qs(e.as,t,{default:n.default})}});function Th(){let e=j();return{primitiveElement:e,currentElement:K(()=>[`#text`,`#comment`].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:hm(e))}}var[Eh,Dh]=Wp(`DialogRoot`),Oh=P({inheritAttrs:!1,__name:`DialogRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=Cm(n,`open`,t,{defaultValue:n.defaultOpen,passive:n.open===void 0}),i=j(),a=j(),{modal:o}=bn(n);return Dh({open:r,modal:o,openModal:()=>{r.value=!0},onOpenChange:e=>{r.value=e},onOpenToggle:()=>{r.value=!r.value},contentId:``,titleId:``,descriptionId:``,triggerElement:i,contentElement:a}),(e,t)=>I(e.$slots,`default`,{open:M(r),close:()=>r.value=!1})}}),kh=P({__name:`DialogClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;Y();let n=Eh();return(e,r)=>(R(),B(M(wh),G(t,{type:e.as===`button`?`button`:void 0,onClick:r[0]||=e=>M(n).onOpenChange(!1)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`type`]))}}),Ah=`dismissableLayer.pointerDownOutside`,jh=`dismissableLayer.focusOutside`;function Mh(e,t){if(!(t instanceof Element))return!1;let n=t.closest(`[data-dismissable-layer]`),r=e.dataset.dismissableLayer===``?e:e.querySelector(`[data-dismissable-layer]`),i=Array.from(e.ownerDocument.querySelectorAll(`[data-dismissable-layer]`));return!!(n&&(r===n||i.indexOf(r)<i.indexOf(n)))}function Nh(e,t,n=!0){let r=t?.value?.ownerDocument??globalThis?.document,i=j(!1),a=j(()=>{});return wr(o=>{if(!Qp||!hn(n))return;let s=async n=>{let o=n.target;if(!(!t?.value||!o)){if(Mh(t.value,o)){i.value=!1;return}if(n.target&&!i.value){let t={originalEvent:n};function i(){Kp(Ah,e,t)}n.pointerType===`touch`?(r.removeEventListener(`click`,a.value),a.value=i,r.addEventListener(`click`,a.value,{once:!0})):i()}else r.removeEventListener(`click`,a.value);i.value=!1}},c=window.setTimeout(()=>{r.addEventListener(`pointerdown`,s)},0);o(()=>{window.clearTimeout(c),r.removeEventListener(`pointerdown`,s),r.removeEventListener(`click`,a.value)})}),{onPointerDownCapture:()=>{hn(n)&&(i.value=!0)}}}function Ph(e,t,n=!0){let r=t?.value?.ownerDocument??globalThis?.document,i=j(!1);return wr(a=>{if(!Qp||!hn(n))return;let o=async n=>{if(!t?.value)return;await $n(),await $n();let r=n.target;!t.value||!r||Mh(t.value,r)||n.target&&!i.value&&Kp(jh,e,{originalEvent:n})};r.addEventListener(`focusin`,o),a(()=>r.removeEventListener(`focusin`,o))}),{onFocusCapture:()=>{hn(n)&&(i.value=!0)},onBlurCapture:()=>{hn(n)&&(i.value=!1)}}}var Fh=Xt({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set}),Ih=P({__name:`DismissableLayer`,props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`dismiss`],setup(e,{emit:t}){let n=e,r=t,{forwardRef:i,currentElement:a}=Y(),o=K(()=>a.value?.ownerDocument??globalThis.document),s=K(()=>Fh.layersRoot),c=K(()=>a.value?Array.from(s.value).indexOf(a.value):-1),l=K(()=>Fh.layersWithOutsidePointerEventsDisabled.size>0),u=K(()=>{let e=Array.from(s.value),[t]=[...Fh.layersWithOutsidePointerEventsDisabled].slice(-1),n=e.indexOf(t);return c.value>=n}),d=Nh(async e=>{let t=[...Fh.branches].some(t=>t?.contains(e.target));!u.value||t||(r(`pointerDownOutside`,e),r(`interactOutside`,e),await $n(),e.defaultPrevented||r(`dismiss`))},a),f=Ph(e=>{[...Fh.branches].some(t=>t?.contains(e.target))||(r(`focusOutside`,e),r(`interactOutside`,e),e.defaultPrevented||r(`dismiss`))},a);return bm(`Escape`,e=>{c.value===s.value.size-1&&(r(`escapeKeyDown`,e),e.defaultPrevented||r(`dismiss`))}),wr(e=>{a.value&&(n.disableOutsidePointerEvents&&(Fh.layersWithOutsidePointerEventsDisabled.size===0&&(Fh.originalBodyPointerEvents=o.value.body.style.pointerEvents,o.value.body.style.pointerEvents=`none`),Fh.layersWithOutsidePointerEventsDisabled.add(a.value)),s.value.add(a.value),e(()=>{n.disableOutsidePointerEvents&&Fh.layersWithOutsidePointerEventsDisabled.size===1&&!qp(Fh.originalBodyPointerEvents)&&(o.value.body.style.pointerEvents=Fh.originalBodyPointerEvents)}))}),wr(e=>{e(()=>{a.value&&(s.value.delete(a.value),Fh.layersWithOutsidePointerEventsDisabled.delete(a.value))})}),(e,t)=>(R(),B(M(wh),{ref:M(i),"as-child":e.asChild,as:e.as,"data-dismissable-layer":``,style:he({pointerEvents:l.value?u.value?`auto`:`none`:void 0}),onFocusCapture:M(f).onFocusCapture,onBlurCapture:M(f).onBlurCapture,onPointerdownCapture:M(d).onPointerDownCapture},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`style`,`onFocusCapture`,`onBlurCapture`,`onPointerdownCapture`]))}}),Lh=Zp(()=>j([]));function Rh(){let e=Lh();return{add(t){let n=e.value[0];t!==n&&n?.pause(),e.value=zh(e.value,t),e.value.unshift(t)},remove(t){e.value=zh(e.value,t),e.value[0]?.resume()}}}function zh(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}var Bh=`focusScope.autoFocusOnMount`,Vh=`focusScope.autoFocusOnUnmount`,Hh={bubbles:!1,cancelable:!0};function Uh(e,{select:t=!1}={}){let n=Gp();for(let r of e)if(Yh(r,{select:t}),Gp()!==n)return!0}function Wh(e){let t=Gh(e);return[Kh(t,e),Kh(t.reverse(),e)]}function Gh(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Kh(e,t){for(let n of e)if(!qh(n,{upTo:t}))return n}function qh(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function Jh(e){return e instanceof HTMLInputElement&&`select`in e}function Yh(e,{select:t=!1}={}){if(e&&e.focus){let n=Gp();e.focus({preventScroll:!0}),e!==n&&Jh(e)&&t&&e.select()}}var Xh=P({__name:`FocusScope`,props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`mountAutoFocus`,`unmountAutoFocus`],setup(e,{emit:t}){let n=e,r=t,{currentRef:i,currentElement:a}=Y(),o=j(null),s=Rh(),c=Xt({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});wr(e=>{if(!Qp)return;let t=a.value;if(!n.trapped)return;function r(e){if(c.paused||!t)return;let n=e.target;t.contains(n)?o.value=n:Yh(o.value,{select:!0})}function i(e){if(c.paused||!t)return;let n=e.relatedTarget;n!==null&&(t.contains(n)||Yh(o.value,{select:!0}))}function s(e){let n=o.value;n!==null&&e.some(e=>e.removedNodes.length>0)&&(t.contains(n)||Yh(t))}document.addEventListener(`focusin`,r),document.addEventListener(`focusout`,i);let l=new MutationObserver(s);t&&l.observe(t,{childList:!0,subtree:!0}),e(()=>{document.removeEventListener(`focusin`,r),document.removeEventListener(`focusout`,i),l.disconnect()})}),wr(async e=>{let t=a.value;if(await $n(),!t)return;s.add(c);let n=Gp();if(!t.contains(n)){let e=new CustomEvent(Bh,Hh);t.addEventListener(Bh,e=>r(`mountAutoFocus`,e)),t.dispatchEvent(e),e.defaultPrevented||(Uh(Gh(t),{select:!0}),Gp()===n&&Yh(t))}e(()=>{t.removeEventListener(Bh,e=>r(`mountAutoFocus`,e));let e=new CustomEvent(Vh,Hh),i=e=>{r(`unmountAutoFocus`,e)};t.addEventListener(Vh,i),t.dispatchEvent(e),t.setAttribute(`data-focus-scope-unmounting`,``),setTimeout(()=>{e.defaultPrevented||Yh(n??document.body,{select:!0}),t.removeEventListener(Vh,i),s.remove(c),t.removeAttribute(`data-focus-scope-unmounting`)},0)})});function l(e){if(!n.loop&&!n.trapped||c.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,r=Gp();if(t&&r){let t=e.currentTarget,[i,a]=Wh(t);i&&a?!e.shiftKey&&r===a?(e.preventDefault(),n.loop&&Yh(i,{select:!0})):e.shiftKey&&r===i&&(e.preventDefault(),n.loop&&Yh(a,{select:!0})):r===t&&e.preventDefault()}}return(e,t)=>(R(),B(M(wh),{ref_key:`currentRef`,ref:i,tabindex:`-1`,"as-child":e.asChild,as:e.as,onKeydown:l},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`as-child`,`as`]))}}),Zh=`menu.itemSelect`,Qh=[`Enter`,` `],$h=[`ArrowDown`,`PageUp`,`Home`],eg=[`ArrowUp`,`PageDown`,`End`],tg=[...$h,...eg];[...Qh],[...Qh];function ng(e){return e?`open`:`closed`}function rg(e){let t=Gp();for(let n of e)if(n===t||(n.focus(),Gp()!==t))return}function ig(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e].x,s=t[e].y,c=t[a].x,l=t[a].y;s>r!=l>r&&n<(c-o)*(r-s)/(l-s)+o&&(i=!i)}return i}function ag(e,t){return t?ig({x:e.clientX,y:e.clientY},t):!1}function og(e){return e.pointerType===`mouse`}var sg=P({__name:`DialogContentImpl`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Eh(),{forwardRef:a,currentElement:o}=Y();return i.titleId||=fh(void 0,`reka-dialog-title`),i.descriptionId||=fh(void 0,`reka-dialog-description`),Ki(()=>{i.contentElement=o,Gp()!==document.body&&(i.triggerElement.value=Gp())}),(e,t)=>(R(),B(M(Xh),{"as-child":``,loop:``,trapped:n.trapFocus,onMountAutoFocus:t[5]||=e=>r(`openAutoFocus`,e),onUnmountAutoFocus:t[6]||=e=>r(`closeAutoFocus`,e)},{default:N(()=>[H(M(Ih),G({id:M(i).contentId,ref:M(a),as:e.as,"as-child":e.asChild,"disable-outside-pointer-events":e.disableOutsidePointerEvents,role:`dialog`,"aria-describedby":M(i).descriptionId,"aria-labelledby":M(i).titleId,"data-state":M(ng)(M(i).open.value)},e.$attrs,{onDismiss:t[0]||=e=>M(i).onOpenChange(!1),onEscapeKeyDown:t[1]||=e=>r(`escapeKeyDown`,e),onFocusOutside:t[2]||=e=>r(`focusOutside`,e),onInteractOutside:t[3]||=e=>r(`interactOutside`,e),onPointerDownOutside:t[4]||=e=>r(`pointerDownOutside`,e)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`,`as`,`as-child`,`disable-outside-pointer-events`,`aria-describedby`,`aria-labelledby`,`data-state`])]),_:3},8,[`trapped`]))}}),cg=P({__name:`DialogContentModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Eh(),a=Bm(r),{forwardRef:o,currentElement:s}=Y();return uh(s),(e,t)=>(R(),B(sg,G({...n,...M(a)},{ref:M(o),"trap-focus":M(i).open.value,"disable-outside-pointer-events":!0,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(e.preventDefault(),M(i).triggerElement.value?.focus())},onPointerDownOutside:t[1]||=e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()},onFocusOutside:t[2]||=e=>{e.preventDefault()}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`trap-focus`]))}}),lg=P({__name:`DialogContentNonModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=Bm(t);Y();let i=Eh(),a=j(!1),o=j(!1);return(e,t)=>(R(),B(sg,G({...n,...M(r)},{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(a.value||M(i).triggerElement.value?.focus(),e.preventDefault()),a.value=!1,o.value=!1},onInteractOutside:t[1]||=e=>{e.defaultPrevented||(a.value=!0,e.detail.originalEvent.type===`pointerdown`&&(o.value=!0));let t=e.target;M(i).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&o.value&&e.preventDefault()}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),ug=P({__name:`DialogContent`,props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Eh(),a=Bm(r),{forwardRef:o}=Y();return(e,t)=>(R(),B(M(xh),{present:e.forceMount||M(i).open.value},{default:N(()=>[M(i).modal.value?(R(),B(cg,G({key:0,ref:M(o)},{...n,...M(a),...e.$attrs}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)):(R(),B(lg,G({key:1,ref:M(o)},{...n,...M(a),...e.$attrs}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),dg=P({__name:`DialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let t=e;Y();let n=Eh();return(e,r)=>(R(),B(M(wh),G(t,{id:M(n).descriptionId}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`]))}}),fg=P({__name:`DialogOverlayImpl`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=Eh();return Fm(!0),Y(),(e,n)=>(R(),B(M(wh),{as:e.as,"as-child":e.asChild,"data-state":M(t).open.value?`open`:`closed`,style:{"pointer-events":`auto`},onPointerdown:n[0]||=Yl(()=>{},[`left`,`self`,`prevent`])},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-state`]))}}),pg=P({__name:`DialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=Eh(),{forwardRef:n}=Y();return(e,r)=>M(t)?.modal.value?(R(),B(M(xh),{key:0,present:e.forceMount||M(t).open.value},{default:N(()=>[H(fg,G(e.$attrs,{ref:M(n),as:e.as,"as-child":e.asChild}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`as`,`as-child`])]),_:3},8,[`present`])):W(`v-if`,!0)}}),mg=P({__name:`Teleport`,props:{to:{type:null,required:!1,default:`body`},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=_m();return(e,n)=>M(t)||e.forceMount?(R(),B(Hr,{key:0,to:e.to,disabled:e.disabled,defer:e.defer},[I(e.$slots,`default`)],8,[`to`,`disabled`,`defer`])):W(`v-if`,!0)}}),hg=P({__name:`DialogPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(R(),B(M(mg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),gg=P({__name:`DialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let t=e,n=Eh();return Y(),(e,r)=>(R(),B(M(wh),G(t,{id:M(n).titleId}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`]))}}),_g=`data-reka-collection-item`;function vg(e={}){let{key:t=``,isProvider:n=!1}=e,r=`${t}CollectionProvider`,i;n?(i={collectionRef:j(),itemMap:j(new Map)},yr(r,i)):i=br(r);let a=(e=!1)=>{let t=i.collectionRef.value;if(!t)return[];let n=Array.from(t.querySelectorAll(`[${_g}]`)),r=Array.from(i.itemMap.value.values()).sort((e,t)=>n.indexOf(e.ref)-n.indexOf(t.ref));return e?r:r.filter(e=>e.ref.dataset.disabled!==``)},o=P({name:`CollectionSlot`,inheritAttrs:!1,setup(e,{slots:t,attrs:n}){let{primitiveElement:r,currentElement:a}=Th();return Dr(a,()=>{i.collectionRef.value=a.value}),()=>qs(Sh,{ref:r,...n},t)}}),s=P({name:`CollectionItem`,inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(e,{slots:t,attrs:n}){let{primitiveElement:r,currentElement:a}=Th();return wr(t=>{if(a.value){let n=sn(a.value);i.itemMap.value.set(n,{ref:a.value,value:e.value}),t(()=>i.itemMap.value.delete(n))}}),()=>qs(Sh,{...n,[_g]:``,ref:r},t)}});return{getItems:a,reactiveItems:K(()=>Array.from(i.itemMap.value.values())),itemMapSize:K(()=>i.itemMap.value.size),CollectionSlot:o,CollectionItem:s}}var yg=P({__name:`VisuallyHidden`,props:{feature:{type:String,required:!1,default:`focusable`},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,t)=>(R(),B(M(wh),{as:e.as,"as-child":e.asChild,"aria-hidden":e.feature===`focusable`?`true`:void 0,"data-hidden":e.feature===`fully-hidden`?``:void 0,tabindex:e.feature===`fully-hidden`?`-1`:void 0,style:{position:`absolute`,border:0,width:`1px`,height:`1px`,padding:0,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,clipPath:`inset(50%)`,whiteSpace:`nowrap`,wordWrap:`normal`,top:`-1px`,left:`-1px`}},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`aria-hidden`,`data-hidden`,`tabindex`]))}}),bg=P({inheritAttrs:!1,__name:`VisuallyHiddenInputBubble`,props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:`fully-hidden`}},setup(e){let t=e,{primitiveElement:n,currentElement:r}=Th();return Dr(K(()=>t.checked??t.value),(e,t)=>{if(!r.value)return;let n=r.value,i=window.HTMLInputElement.prototype,a=Object.getOwnPropertyDescriptor(i,`value`).set;if(a&&e!==t){let t=new Event(`input`,{bubbles:!0}),r=new Event(`change`,{bubbles:!0});a.call(n,e),n.dispatchEvent(t),n.dispatchEvent(r)}}),(e,r)=>(R(),B(yg,G({ref_key:`primitiveElement`,ref:n},{...t,...e.$attrs},{as:`input`}),null,16))}}),xg=P({inheritAttrs:!1,__name:`VisuallyHiddenInput`,props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:`fully-hidden`}},setup(e){let t=e,n=K(()=>typeof t.value==`object`&&Array.isArray(t.value)&&t.value.length===0&&t.required),r=K(()=>typeof t.value==`string`||typeof t.value==`number`||typeof t.value==`boolean`||t.value===null||t.value===void 0?[{name:t.name,value:t.value}]:typeof t.value==`object`&&Array.isArray(t.value)?t.value.flatMap((e,n)=>typeof e==`object`?Object.entries(e).map(([e,r])=>({name:`${t.name}[${n}][${e}]`,value:r})):{name:`${t.name}[${n}]`,value:e}):t.value!==null&&typeof t.value==`object`&&!Array.isArray(t.value)?Object.entries(t.value).map(([e,n])=>({name:`${t.name}[${e}]`,value:n})):[]);return(e,i)=>(R(),z(L,null,[W(` We render single input if it's required `),n.value?(R(),B(bg,G({key:e.name},{...t,...e.$attrs},{name:e.name,value:e.value}),null,16,[`name`,`value`])):(R(!0),z(L,{key:1},F(r.value,n=>(R(),B(bg,G({key:n.name},{ref_for:!0},{...t,...e.$attrs},{name:n.name,value:n.value}),null,16,[`name`,`value`]))),128))],2112))}});function Sg(e,t,n){return e===void 0?!1:Array.isArray(e)?e.some(e=>Cg(e,t,n)):Cg(e,t,n)}function Cg(e,t,n){return e===void 0||t===void 0?!1:typeof e==`string`?e===t:typeof n==`function`?n(e,t):typeof n==`string`?e?.[n]===t?.[n]:Vp(e,t)}var wg=`rovingFocusGroup.onEntryFocus`,Tg={bubbles:!1,cancelable:!0},Eg={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function Dg(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function Og(e,t,n){let r=Dg(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return Eg[r]}function kg(e,t=!1){let n=Gp();for(let r of e)if(r===n||(r.focus({preventScroll:t}),Gp()!==n))return}function Ag(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var[jg,Mg]=Wp(`ListboxRoot`),Ng=P({__name:`ListboxRoot`,props:{modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},multiple:{type:Boolean,required:!1},orientation:{type:String,required:!1,default:`vertical`},dir:{type:String,required:!1},disabled:{type:Boolean,required:!1},selectionBehavior:{type:String,required:!1,default:`toggle`},highlightOnHover:{type:Boolean,required:!1},by:{type:[String,Function],required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`,`highlight`,`entryFocus`,`leave`],setup(e,{expose:t,emit:n}){let r=e,i=n,{multiple:a,highlightOnHover:o,orientation:s,disabled:c,selectionBehavior:l,dir:u}=bn(r),{getItems:d}=vg({isProvider:!0}),{handleTypeaheadSearch:f}=gh(),{primitiveElement:p,currentElement:m}=Th(),h=ph(),g=zm(u),_=Gm(m),v=j(),y=j(!1),b=j(!0),x=Cm(r,`modelValue`,i,{defaultValue:r.defaultValue??(a.value?[]:void 0),passive:r.modelValue===void 0,deep:!0});function S(e){if(y.value=!0,r.multiple){let t=Array.isArray(x.value)?[...x.value]:[],n=t.findIndex(t=>Cg(t,e,r.by));r.selectionBehavior===`toggle`?(n===-1?t.push(e):t.splice(n,1),x.value=t):(x.value=[e],v.value=e)}else r.selectionBehavior===`toggle`&&Cg(x.value,e,r.by)?x.value=void 0:x.value=e;setTimeout(()=>{y.value=!1},1)}let C=j(null),w=j(null),T=j(!1),ee=j(!1),E=Xp(),te=Xp(),ne=Xp();function re(){return d().map(e=>e.ref).filter(e=>e.dataset.disabled!==``)}function D(e,t=!0,n){e&&(C.value=e,(n??b.value)&&C.value.focus(),t&&C.value.scrollIntoView({block:`nearest`}),i(`highlight`,d().find(t=>t.ref===e)))}function ie(e){if(T.value)ne.trigger(e);else{let t=d().find(t=>Cg(t.value,e,r.by));t&&(C.value=t.ref,D(t.ref))}}function ae(e){C.value&&C.value.isConnected&&(e.preventDefault(),e.stopPropagation(),ee.value||C.value.click())}function oe(e){if(b.value){if(y.value=!0,T.value)te.trigger(e);else{let t=e.altKey||e.ctrlKey||e.metaKey;if(t&&e.key===`a`&&a.value){let t=d();x.value=[...t.map(e=>e.value)],e.preventDefault();let n=t.at(-1);n&&D(n.ref)}else if(!t){let t=f(e.key,d());t&&D(t)}}setTimeout(()=>{y.value=!1},1)}}function se(){ee.value=!0}function O(){$n(()=>{ee.value=!1})}function ce(){$n(()=>{de(new KeyboardEvent(`keydown`,{key:`PageUp`}))})}function le(e){let t=C.value;t?.isConnected&&(w.value=t),C.value=null,i(`leave`,e)}function ue(e){let t=new CustomEvent(`listbox.entryFocus`,{bubbles:!1,cancelable:!0});if(e.currentTarget?.dispatchEvent(t),i(`entryFocus`,t),!t.defaultPrevented)if(w.value)D(w.value);else{let e=re()?.[0];D(e)}}function de(e){let t=Og(e,s.value,g.value);if(!t)return;let n=re();if(C.value){if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let e=n.indexOf(C.value);n=n.slice(e+1)}fe(e,n[0])}if(n.length){let e=!C.value&&t===`prev`?n.length-1:0;D(n[e])}if(T.value)return te.trigger(e)}function fe(e,t){if(!(T.value||r.selectionBehavior!==`replace`||!a.value||!Array.isArray(x.value))&&!((e.altKey||e.ctrlKey||e.metaKey)&&!e.shiftKey)&&e.shiftKey){let n=d().filter(e=>e.ref.dataset.disabled!==``),r=n.find(e=>e.ref===t)?.value;if(e.key===h.END?r=n.at(-1)?.value:e.key===h.HOME&&(r=n[0]?.value),!r||!v.value)return;x.value=Hp(n.map(e=>e.value),v.value,r)}}async function pe(e,t=!0){if(Qp)if(await $n(),T.value)E.trigger(e);else{let e=re(),n=e.find(e=>e.dataset.state===`checked`),r=t?void 0:!1;n?D(n,t,r):e.length&&D(e[0],t,r)}}let me=!1;return Dr(x,()=>{if(!y.value){let e=me;me=!0,$n(()=>{pe(void 0,e)})}},{immediate:!0,deep:!0}),t({highlightedElement:C,highlightItem:ie,highlightFirstItem:ce,highlightSelected:pe,getItems:d}),Mg({modelValue:x,onValueChange:S,multiple:a,orientation:s,dir:g,disabled:c,highlightOnHover:o,highlightedElement:C,isVirtual:T,virtualFocusHook:E,virtualKeydownHook:te,virtualHighlightHook:ne,by:r.by,firstValue:v,selectionBehavior:l,focusable:b,onLeave:le,onEnter:ue,changeHighlight:D,onKeydownEnter:ae,onKeydownNavigation:de,onKeydownTypeAhead:oe,onCompositionStart:se,onCompositionEnd:O,highlightFirstItem:ce}),(e,t)=>(R(),B(M(wh),{ref_key:`primitiveElement`,ref:p,as:e.as,"as-child":e.asChild,dir:M(g),"data-disabled":M(c)?``:void 0,onPointerleave:le,onFocusout:t[0]||=async e=>{let t=e.relatedTarget||e.target;await $n(),C.value&&M(m)&&!M(m).contains(t)&&le(e)}},{default:N(()=>[I(e.$slots,`default`,{modelValue:M(x)}),M(_)&&e.name?(R(),B(M(xg),{key:0,name:e.name,value:M(x),disabled:M(c),required:e.required},null,8,[`name`,`value`,`disabled`,`required`])):W(`v-if`,!0)]),_:3},8,[`as`,`as-child`,`dir`,`data-disabled`]))}}),Pg=P({__name:`ListboxContent`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let{CollectionSlot:t}=vg(),n=jg(),r=um(!1,10);return(e,i)=>(R(),B(M(t),null,{default:N(()=>[H(M(wh),{role:`listbox`,as:e.as,"as-child":e.asChild,tabindex:M(n).focusable.value?M(n).highlightedElement.value?`-1`:`0`:`-1`,"aria-orientation":M(n).orientation.value,"aria-multiselectable":!!M(n).multiple.value,"data-orientation":M(n).orientation.value,onMousedown:i[0]||=Yl(e=>r.value=!0,[`left`]),onFocus:i[1]||=e=>{M(r)||M(n).onEnter(e)},onKeydown:[i[2]||=Zl(e=>{M(n).orientation.value===`vertical`&&(e.key===`ArrowLeft`||e.key===`ArrowRight`)||M(n).orientation.value===`horizontal`&&(e.key===`ArrowUp`||e.key===`ArrowDown`)||(e.preventDefault(),M(n).focusable.value&&M(n).onKeydownNavigation(e))},[`down`,`up`,`left`,`right`,`home`,`end`]),Zl(M(n).onKeydownEnter,[`enter`]),M(n).onKeydownTypeAhead]},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`tabindex`,`aria-orientation`,`aria-multiselectable`,`data-orientation`,`onKeydown`])]),_:3}))}}),Fg=P({__name:`ListboxFilter`,props:{modelValue:{type:String,required:!1},autoFocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`input`}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=Cm(n,`modelValue`,t,{defaultValue:``,passive:n.modelValue===void 0}),i=jg(),{primitiveElement:a,currentElement:o}=Th(),s=K(()=>n.disabled||i.disabled.value||!1),c=j();Er(()=>c.value=i.highlightedElement.value?.id),Ki(()=>{i.focusable.value=!1,setTimeout(()=>{n.autoFocus&&o.value?.focus()},1)}),Xi(()=>{i.focusable.value=!0});let{isComposing:l,handleCompositionStart:u,handleCompositionEnd:d}=Rm(e=>{r.value=e.target.value,i.onCompositionEnd(),i.highlightFirstItem()});function f(){i.onCompositionStart(),u()}function p(e){l.value||(r.value=e.target.value,i.highlightFirstItem())}function m(e){l.value||(e.preventDefault(),i.onKeydownNavigation(e))}function h(e){l.value||i.onKeydownEnter(e)}return(e,t)=>(R(),B(M(wh),{ref_key:`primitiveElement`,ref:a,as:e.as,"as-child":e.asChild,value:M(r),disabled:s.value?``:void 0,"data-disabled":s.value?``:void 0,"aria-disabled":s.value??void 0,"aria-activedescendant":c.value,type:`text`,onKeydown:[Zl(m,[`down`,`up`,`home`,`end`]),Zl(h,[`enter`])],onInput:p,onCompositionstart:f,onCompositionend:M(d)},{default:N(()=>[I(e.$slots,`default`,{modelValue:M(r)})]),_:3},8,[`as`,`as-child`,`value`,`disabled`,`data-disabled`,`aria-disabled`,`aria-activedescendant`,`onCompositionend`]))}}),Ig=`listbox.select`,[Lg,Rg]=Wp(`ListboxItem`),zg=P({__name:`ListboxItem`,props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`div`}},emits:[`select`],setup(e,{emit:t}){let n=e,r=t,i=fh(void 0,`reka-listbox-item`),{CollectionItem:a}=vg(),{forwardRef:o,currentElement:s}=Y(),c=jg(),l=K(()=>s.value!=null&&s.value===c.highlightedElement.value),u=K(()=>Sg(c.modelValue.value,n.value,c.by)),d=K(()=>c.disabled.value||n.disabled);async function f(e){r(`select`,e),!e?.defaultPrevented&&!d.value&&e&&(c.onValueChange(n.value),c.changeHighlight(s.value))}function p(e){Kp(Ig,f,{originalEvent:e,value:n.value})}return Rg({isSelected:u}),(e,t)=>(R(),B(M(a),{value:e.value},{default:N(()=>[Ys([l.value,u.value,d.value,M(c).focusable.value],()=>H(M(wh),G({id:M(i)},e.$attrs,{ref:M(o),role:`option`,tabindex:M(c).focusable.value?l.value?`0`:`-1`:-1,"aria-selected":u.value,as:e.as,"as-child":e.asChild,disabled:d.value?``:void 0,"data-disabled":d.value?``:void 0,"data-highlighted":l.value?``:void 0,"data-state":u.value?`checked`:`unchecked`,onClick:p,onKeydown:Zl(Yl(p,[`prevent`]),[`space`]),onPointermove:t[0]||=()=>{M(c).highlightedElement.value!==M(s)&&M(c).highlightOnHover.value&&M(c).changeHighlight(M(s),!1,!1)}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`,`tabindex`,`aria-selected`,`as`,`as-child`,`disabled`,`data-disabled`,`data-highlighted`,`data-state`,`onKeydown`]),t,1)]),_:3},8,[`value`]))}}),Bg=P({__name:`ListboxItemIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e;Y();let n=Lg();return(e,r)=>M(n).isSelected.value?(R(),B(M(wh),G({key:0,"aria-hidden":`true`},t),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)):W(`v-if`,!0)}}),[Vg,Hg]=Wp(`PopperRoot`),Ug=P({inheritAttrs:!1,__name:`PopperRoot`,setup(e){let t=j();return Hg({anchor:t,onAnchorChange:e=>t.value=e}),(e,t)=>I(e.$slots,`default`)}}),Wg=P({__name:`PopperAnchor`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{forwardRef:n,currentElement:r}=Y(),i=Vg();return Tr(()=>{i.onAnchorChange(t.reference??r.value)}),(e,t)=>(R(),B(M(wh),{ref:M(n),as:e.as,"as-child":e.asChild},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}});function Gg(e){return e!==null}function Kg(e){return{name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=qg(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}}}function qg(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var Jg=[`top`,`right`,`bottom`,`left`],Yg=Math.min,Xg=Math.max,Zg=Math.round,Qg=Math.floor,$g=e=>({x:e,y:e}),e_={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function t_(e,t,n){return Xg(e,Yg(t,n))}function n_(e,t){return typeof e==`function`?e(t):e}function r_(e){return e.split(`-`)[0]}function i_(e){return e.split(`-`)[1]}function a_(e){return e===`x`?`y`:`x`}function o_(e){return e===`y`?`height`:`width`}function s_(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function c_(e){return a_(s_(e))}function l_(e,t,n){n===void 0&&(n=!1);let r=i_(e),i=c_(e),a=o_(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=v_(o)),[o,v_(o)]}function u_(e){let t=v_(e);return[d_(e),t,d_(t)]}function d_(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var f_=[`left`,`right`],p_=[`right`,`left`],m_=[`top`,`bottom`],h_=[`bottom`,`top`];function g_(e,t,n){switch(e){case`top`:case`bottom`:return n?t?p_:f_:t?f_:p_;case`left`:case`right`:return t?m_:h_;default:return[]}}function __(e,t,n,r){let i=i_(e),a=g_(r_(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(d_)))),a}function v_(e){let t=r_(e);return e_[t]+e.slice(t.length)}function y_(e){return{top:0,right:0,bottom:0,left:0,...e}}function b_(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:y_(e)}function x_(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function S_(e,t,n){let{reference:r,floating:i}=e,a=s_(t),o=c_(t),s=o_(o),c=r_(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(i_(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function C_(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=n_(t,e),p=b_(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=x_(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=x_(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var w_=50,T_=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:C_},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=S_(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<w_&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=S_(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},E_=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=n_(e,t)||{};if(l==null)return{};let d=b_(u),f={x:n,y:r},p=c_(i),m=o_(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,ee=Yg(d[_],T),E=Yg(d[v],T),te=ee,ne=C-h[m]-E,re=C/2-h[m]/2+w,D=t_(te,re,ne),ie=!c.arrow&&i_(i)!=null&&re!==D&&a.reference[m]/2-(re<te?ee:E)-h[m]/2<0,ae=ie?re<te?re-te:re-ne:0;return{[p]:f[p]+ae,data:{[p]:D,centerOffset:re-D-ae,...ie&&{alignmentOffset:ae}},reset:ie}}}),D_=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=n_(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=r_(r),_=s_(o),v=r_(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[v_(o)]:u_(o)),x=p!==`none`;!d&&x&&b.push(...__(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=l_(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==s_(t))||T.every(e=>s_(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=s_(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function O_(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function k_(e){return Jg.some(t=>e[t]>=0)}var A_=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=n_(e,t);switch(i){case`referenceHidden`:{let e=O_(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:k_(e)}}}case`escaped`:{let e=O_(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:k_(e)}}}default:return{}}}}},j_=new Set([`left`,`top`]);async function M_(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=r_(n),s=i_(n),c=s_(n)===`y`,l=j_.has(o)?-1:1,u=a&&c?-1:1,d=n_(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var N_=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await M_(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},P_=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=n_(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=s_(r_(i)),p=a_(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=t_(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=t_(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},F_=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=n_(e,t),u={x:n,y:r},d=s_(i),f=a_(d),p=u[f],m=u[d],h=n_(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=j_.has(r_(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},I_=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=n_(e,t),u=await o.detectOverflow(t,l),d=r_(i),f=i_(i),p=s_(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=Yg(h-u[g],v),x=Yg(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=Xg(u.left,0),t=Xg(u.right,0),n=Xg(u.top,0),r=Xg(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:Xg(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:Xg(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function L_(){return typeof window<`u`}function R_(e){return V_(e)?(e.nodeName||``).toLowerCase():`#document`}function z_(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function B_(e){return((V_(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function V_(e){return L_()?e instanceof Node||e instanceof z_(e).Node:!1}function H_(e){return L_()?e instanceof Element||e instanceof z_(e).Element:!1}function U_(e){return L_()?e instanceof HTMLElement||e instanceof z_(e).HTMLElement:!1}function W_(e){return!L_()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof z_(e).ShadowRoot}function G_(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=nv(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function K_(e){return/^(table|td|th)$/.test(R_(e))}function q_(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var J_=/transform|translate|scale|rotate|perspective|filter/,Y_=/paint|layout|strict|content/,X_=e=>!!e&&e!==`none`,Z_;function Q_(e){let t=H_(e)?nv(e):e;return X_(t.transform)||X_(t.translate)||X_(t.scale)||X_(t.rotate)||X_(t.perspective)||!ev()&&(X_(t.backdropFilter)||X_(t.filter))||J_.test(t.willChange||``)||Y_.test(t.contain||``)}function $_(e){let t=iv(e);for(;U_(t)&&!tv(t);){if(Q_(t))return t;if(q_(t))return null;t=iv(t)}return null}function ev(){return Z_??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Z_}function tv(e){return/^(html|body|#document)$/.test(R_(e))}function nv(e){return z_(e).getComputedStyle(e)}function rv(e){return H_(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function iv(e){if(R_(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||W_(e)&&e.host||B_(e);return W_(t)?t.host:t}function av(e){let t=iv(e);return tv(t)?e.ownerDocument?e.ownerDocument.body:e.body:U_(t)&&G_(t)?t:av(t)}function ov(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=av(e),i=r===e.ownerDocument?.body,a=z_(r);if(i){let e=sv(a);return t.concat(a,a.visualViewport||[],G_(r)?r:[],e&&n?ov(e):[])}else return t.concat(r,ov(r,[],n))}function sv(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function cv(e){let t=nv(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=U_(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Zg(n)!==a||Zg(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function lv(e){return H_(e)?e:e.contextElement}function uv(e){let t=lv(e);if(!U_(t))return $g(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=cv(t),o=(a?Zg(n.width):n.width)/r,s=(a?Zg(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var dv=$g(0);function fv(e){let t=z_(e);return!ev()||!t.visualViewport?dv:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function pv(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==z_(e)?!1:t}function mv(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=lv(e),o=$g(1);t&&(r?H_(r)&&(o=uv(r)):o=uv(e));let s=pv(a,n,r)?fv(a):$g(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=z_(a),t=r&&H_(r)?z_(r):r,n=e,i=sv(n);for(;i&&r&&t!==n;){let e=uv(i),t=i.getBoundingClientRect(),r=nv(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=z_(i),i=sv(n)}}return x_({width:u,height:d,x:c,y:l})}function hv(e,t){let n=rv(e).scrollLeft;return t?t.left+n:mv(B_(e)).left+n}function gv(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-hv(e,n),y:n.top+t.scrollTop}}function _v(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=B_(r),s=t?q_(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=$g(1),u=$g(0),d=U_(r);if((d||!d&&!a)&&((R_(r)!==`body`||G_(o))&&(c=rv(r)),d)){let e=mv(r);l=uv(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?gv(o,c):$g(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function vv(e){return Array.from(e.getClientRects())}function yv(e){let t=B_(e),n=rv(e),r=e.ownerDocument.body,i=Xg(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=Xg(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+hv(e),s=-n.scrollTop;return nv(r).direction===`rtl`&&(o+=Xg(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var bv=25;function xv(e,t){let n=z_(e),r=B_(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=ev();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=hv(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=bv&&(a-=o)}else l<=bv&&(a+=l);return{width:a,height:o,x:s,y:c}}function Sv(e,t){let n=mv(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=U_(e)?uv(e):$g(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Cv(e,t,n){let r;if(t===`viewport`)r=xv(e,n);else if(t===`document`)r=yv(B_(e));else if(H_(t))r=Sv(t,n);else{let n=fv(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return x_(r)}function wv(e,t){let n=iv(e);return n===t||!H_(n)||tv(n)?!1:nv(n).position===`fixed`||wv(n,t)}function Tv(e,t){let n=t.get(e);if(n)return n;let r=ov(e,[],!1).filter(e=>H_(e)&&R_(e)!==`body`),i=null,a=nv(e).position===`fixed`,o=a?iv(e):e;for(;H_(o)&&!tv(o);){let t=nv(o),n=Q_(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||G_(o)&&!n&&wv(e,o))?r=r.filter(e=>e!==o):i=t,o=iv(o)}return t.set(e,r),r}function Ev(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?q_(t)?[]:Tv(t,this._c):[].concat(n),r],o=Cv(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Cv(t,a[e],i);s=Xg(n.top,s),c=Yg(n.right,c),l=Yg(n.bottom,l),u=Xg(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Dv(e){let{width:t,height:n}=cv(e);return{width:t,height:n}}function Ov(e,t,n){let r=U_(t),i=B_(t),a=n===`fixed`,o=mv(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=$g(0);function l(){c.x=hv(i)}if(r||!r&&!a)if((R_(t)!==`body`||G_(i))&&(s=rv(t)),r){let e=mv(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?gv(i,s):$g(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function kv(e){return nv(e).position===`static`}function Av(e,t){if(!U_(e)||nv(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return B_(e)===n&&(n=n.ownerDocument.body),n}function jv(e,t){let n=z_(e);if(q_(e))return n;if(!U_(e)){let t=iv(e);for(;t&&!tv(t);){if(H_(t)&&!kv(t))return t;t=iv(t)}return n}let r=Av(e,t);for(;r&&K_(r)&&kv(r);)r=Av(r,t);return r&&tv(r)&&kv(r)&&!Q_(r)?n:r||$_(e)||n}var Mv=async function(e){let t=this.getOffsetParent||jv,n=this.getDimensions,r=await n(e.floating);return{reference:Ov(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Nv(e){return nv(e).direction===`rtl`}var Pv={convertOffsetParentRelativeRectToViewportRelativeRect:_v,getDocumentElement:B_,getClippingRect:Ev,getOffsetParent:jv,getElementRects:Mv,getClientRects:vv,getDimensions:Dv,getScale:uv,isElement:H_,isRTL:Nv};function Fv(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Iv(e,t){let n=null,r,i=B_(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=Qg(d),h=Qg(i.clientWidth-(u+f)),g=Qg(i.clientHeight-(d+p)),_=Qg(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:Xg(0,Yg(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!Fv(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function Lv(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=lv(e),u=i||a?[...l?ov(l):[],...t?ov(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Iv(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?mv(e):null;c&&g();function g(){let t=mv(e);h&&!Fv(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var Rv=N_,zv=P_,Bv=D_,Vv=I_,Hv=A_,Uv=E_,Wv=F_,Gv=(e,t,n)=>{let r=new Map,i={platform:Pv,...n},a={...i.platform,_c:r};return T_(e,t,{...i,platform:a})};function Kv(e){return typeof e==`object`&&!!e&&`$el`in e}function qv(e){if(Kv(e)){let t=e.$el;return V_(t)&&R_(t)===`#comment`?null:t}return e}function Jv(e){return typeof e==`function`?e():M(e)}function Yv(e){return{name:`arrow`,options:e,fn(t){let n=qv(Jv(e.element));return n==null?{}:Uv({element:n,padding:e.padding}).fn(t)}}}function Xv(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Zv(e,t){let n=Xv(e);return Math.round(t*n)/n}function Qv(e,t,n){n===void 0&&(n={});let r=n.whileElementsMounted,i=K(()=>Jv(n.open)??!0),a=K(()=>Jv(n.middleware)),o=K(()=>Jv(n.placement)??`bottom`),s=K(()=>Jv(n.strategy)??`absolute`),c=K(()=>Jv(n.transform)??!0),l=K(()=>qv(e.value)),u=K(()=>qv(t.value)),d=j(0),f=j(0),p=j(s.value),m=j(o.value),h=dn({}),g=j(!1),_=K(()=>{let e={position:p.value,left:`0`,top:`0`};if(!u.value)return e;let t=Zv(u.value,d.value),n=Zv(u.value,f.value);return c.value?{...e,transform:`translate(`+t+`px, `+n+`px)`,...Xv(u.value)>=1.5&&{willChange:`transform`}}:{position:p.value,left:t+`px`,top:n+`px`}}),v;function y(){if(l.value==null||u.value==null)return;let e=i.value;Gv(l.value,u.value,{middleware:a.value,placement:o.value,strategy:s.value}).then(t=>{d.value=t.x,f.value=t.y,p.value=t.strategy,m.value=t.placement,h.value=t.middlewareData,g.value=e!==!1})}function b(){typeof v==`function`&&(v(),v=void 0)}function x(){if(b(),r===void 0){y();return}if(l.value!=null&&u.value!=null){v=r(l.value,u.value,y);return}}function S(){i.value||(g.value=!1)}return Dr([a,o,s,i],y,{flush:`sync`}),Dr([l,u],x,{flush:`sync`}),Dr(i,S,{flush:`sync`}),Pe()&&Fe(b),{x:$t(d),y:$t(f),strategy:$t(p),placement:$t(m),middlewareData:$t(h),isPositioned:$t(g),floatingStyles:_,update:y}}var $v={side:`bottom`,sideOffset:0,sideFlip:!0,align:`center`,alignOffset:0,alignFlip:!0,arrowPadding:0,hideShiftedArrow:!0,avoidCollisions:!0,collisionBoundary:()=>[],collisionPadding:0,sticky:`partial`,hideWhenDetached:!1,positionStrategy:`fixed`,updatePositionStrategy:`optimized`,prioritizePosition:!1},[ey,ty]=Wp(`PopperContent`),ny=P({inheritAttrs:!1,__name:`PopperContent`,props:Oa({side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...$v}),emits:[`placed`],setup(e,{emit:t}){let n=e,r=t,i=Vg(),{forwardRef:a,currentElement:o}=Y(),s=j(),c=j(),{width:l,height:u}=mh(c),d=K(()=>n.side+(n.align===`center`?``:`-${n.align}`)),f=K(()=>typeof n.collisionPadding==`number`?n.collisionPadding:{top:0,right:0,bottom:0,left:0,...n.collisionPadding}),p=K(()=>Array.isArray(n.collisionBoundary)?n.collisionBoundary:[n.collisionBoundary]),m=K(()=>({padding:f.value,boundary:p.value.filter(Gg),altBoundary:p.value.length>0})),h=K(()=>({mainAxis:n.sideFlip,crossAxis:n.alignFlip})),g=Jp(()=>[Rv({mainAxis:n.sideOffset+u.value,alignmentAxis:n.alignOffset}),n.prioritizePosition&&n.avoidCollisions&&Bv({...m.value,...h.value}),n.avoidCollisions&&zv({mainAxis:!0,crossAxis:!!n.prioritizePosition,limiter:n.sticky===`partial`?Wv():void 0,...m.value}),!n.prioritizePosition&&n.avoidCollisions&&Bv({...m.value,...h.value}),Vv({...m.value,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--reka-popper-available-width`,`${n}px`),o.setProperty(`--reka-popper-available-height`,`${r}px`),o.setProperty(`--reka-popper-anchor-width`,`${i}px`),o.setProperty(`--reka-popper-anchor-height`,`${a}px`)}}),c.value&&Yv({element:c.value,padding:n.arrowPadding}),Kg({arrowWidth:l.value,arrowHeight:u.value}),n.hideWhenDetached&&Hv({strategy:`referenceHidden`,...m.value})]),{floatingStyles:_,placement:v,isPositioned:y,middlewareData:b,update:x}=Qv(K(()=>n.reference??i.anchor.value),s,{strategy:n.positionStrategy,placement:d,whileElementsMounted:(...e)=>Lv(...e,{layoutShift:!n.disableUpdateOnLayoutShift,animationFrame:n.updatePositionStrategy===`always`}),middleware:g}),S=K(()=>qg(v.value)[0]),C=K(()=>qg(v.value)[1]);Tr(()=>{y.value&&r(`placed`)});let w=K(()=>{let e=b.value.arrow?.centerOffset!==0;return n.hideShiftedArrow&&e}),T=j(``);return wr(()=>{o.value&&(T.value=window.getComputedStyle(o.value).zIndex)}),ty({placedSide:S,onArrowChange:e=>c.value=e,arrowX:K(()=>b.value.arrow?.x??0),arrowY:K(()=>b.value.arrow?.y??0),shouldHideArrow:w}),(e,t)=>(R(),z(`div`,{ref_key:`floatingRef`,ref:s,"data-reka-popper-content-wrapper":``,style:he({...M(_),transform:M(y)?M(_).transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:T.value,"--reka-popper-transform-origin":[M(b).transformOrigin?.x,M(b).transformOrigin?.y].join(` `),...M(b).hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}})},[H(M(wh),G({ref:M(a)},e.$attrs,{"as-child":n.asChild,as:e.as,"data-side":S.value,"data-align":C.value,style:{animation:M(y)?void 0:`none`}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`as-child`,`as`,`data-side`,`data-align`,`style`])],4))}}),[ry,iy]=Wp(`ComboboxRoot`),ay=P({__name:`ComboboxRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},resetSearchTermOnBlur:{type:Boolean,required:!1,default:!0},resetSearchTermOnSelect:{type:Boolean,required:!1,default:!0},openOnFocus:{type:Boolean,required:!1,default:!1},openOnClick:{type:Boolean,required:!1,default:!1},ignoreFilter:{type:Boolean,required:!1},resetModelValueOnClear:{type:Boolean,required:!1,default:!1},modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},multiple:{type:Boolean,required:!1},dir:{type:String,required:!1},disabled:{type:Boolean,required:!1},highlightOnHover:{type:Boolean,required:!1,default:!0},by:{type:[String,Function],required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`,`highlight`,`update:open`],setup(e,{expose:t,emit:n}){let r=e,i=n,{primitiveElement:a,currentElement:o}=Th(),{multiple:s,disabled:c,ignoreFilter:l,resetSearchTermOnSelect:u,openOnFocus:d,openOnClick:f,dir:p,resetModelValueOnClear:m,highlightOnHover:h}=bn(r),g=zm(p),_=Cm(r,`modelValue`,i,{defaultValue:r.defaultValue??(s.value?[]:void 0),passive:r.modelValue===void 0,deep:!0}),v=Cm(r,`open`,i,{defaultValue:r.defaultOpen,passive:r.open===void 0});async function y(e){v.value=e,ne.value=``,e?(await $n(),a.value?.highlightSelected(),x.value=!0,C.value?.focus()):(x.value=!1,setTimeout(()=>{!e&&r.resetSearchTermOnBlur&&b.trigger()},1))}let b=Xp(),x=j(!1),S=j(!1),C=j(),w=j(),T=K(()=>a.value?.highlightedElement??void 0),ee=j(new Map),E=j(new Map),{contains:te}=Vm({sensitivity:`base`}),ne=j(``),re=K(e=>{if(!ne.value||r.ignoreFilter||S.value)return{count:ee.value.size,items:e?.items??new Map,groups:e?.groups??new Set(E.value.keys())};let t=0,n=new Map,i=new Set;for(let[e,r]of ee.value){let i=te(r,ne.value);n.set(e,+!!i),i&&t++}for(let[e,t]of E.value)for(let r of t)if(n.get(r)>0){i.add(e);break}return{count:t,items:n,groups:i}}),D=Ds();return Ki(()=>{D?.exposed&&(D.exposed.highlightItem=a.value?.highlightItem,D.exposed.highlightFirstItem=a.value?.highlightFirstItem,D.exposed.highlightSelected=a.value?.highlightSelected)}),t({filtered:re,highlightedElement:T,highlightItem:a.value?.highlightItem,highlightFirstItem:a.value?.highlightFirstItem,highlightSelected:a.value?.highlightSelected}),iy({modelValue:_,multiple:s,disabled:c,open:v,onOpenChange:y,contentId:``,isUserInputted:x,isVirtual:S,inputElement:C,highlightedElement:T,onInputElementChange:e=>C.value=e,triggerElement:w,onTriggerElementChange:e=>w.value=e,parentElement:o,resetSearchTermOnSelect:u,onResetSearchTerm:b.on,allItems:ee,allGroups:E,filterSearch:ne,filterState:re,ignoreFilter:l,openOnFocus:d,openOnClick:f,resetModelValueOnClear:m}),(e,t)=>(R(),B(M(Ug),null,{default:N(()=>[H(M(Ng),G({ref_key:`primitiveElement`,ref:a},e.$attrs,{modelValue:M(_),"onUpdate:modelValue":t[0]||=e=>un(_)?_.value=e:null,style:{pointerEvents:M(v)?`auto`:void 0},as:e.as,"as-child":e.asChild,dir:M(g),multiple:M(s),name:e.name,required:e.required,disabled:M(c),"highlight-on-hover":M(h),by:r.by,onHighlight:t[1]||=e=>i(`highlight`,e)}),{default:N(()=>[I(e.$slots,`default`,{open:M(v),modelValue:M(_)})]),_:3},16,[`modelValue`,`style`,`as`,`as-child`,`dir`,`multiple`,`name`,`required`,`disabled`,`highlight-on-hover`,`by`])]),_:3}))}}),oy=P({__name:`ComboboxAnchor`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let{forwardRef:t}=Y();return(e,n)=>(R(),B(M(Wg),{"as-child":``,reference:e.reference},{default:N(()=>[H(M(wh),G({ref:M(t),"as-child":e.asChild,as:e.as},e.$attrs),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`as-child`,`as`])]),_:3},8,[`reference`]))}}),[sy,cy]=Wp(`ComboboxContent`),ly=P({__name:`ComboboxContentImpl`,props:{position:{type:String,required:!1,default:`inline`},bodyLock:{type:Boolean,required:!1},hideWhenEmpty:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`],setup(e,{emit:t}){let n=e,r=t,{position:i}=bn(n),a=ry(),o=K(()=>a.ignoreFilter.value?a.allItems.value.size===0:a.filterState.value.count===0),{forwardRef:s,currentElement:c}=Y();Fm(n.bodyLock),Um(),uh(a.parentElement);let l=Km(K(()=>n.position===`popper`?n:{}).value),u={boxSizing:`border-box`,"--reka-combobox-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-combobox-content-available-width":`var(--reka-popper-available-width)`,"--reka-combobox-content-available-height":`var(--reka-popper-available-height)`,"--reka-combobox-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-combobox-trigger-height":`var(--reka-popper-anchor-height)`};cy({position:i});let d=j(!1);return Ki(()=>{a.inputElement.value&&(d.value=c.value.contains(a.inputElement.value),d.value&&a.inputElement.value.focus())}),Xi(()=>{let e=Gp();d.value&&(!e||e===document.body)&&a.triggerElement.value?.focus()}),(e,t)=>(R(),B(M(Pg),{"as-child":``},{default:N(()=>[H(M(Xh),{"as-child":``,onMountAutoFocus:t[5]||=Yl(()=>{},[`prevent`]),onUnmountAutoFocus:t[6]||=Yl(()=>{},[`prevent`])},{default:N(()=>[H(M(Ih),{"as-child":``,"disable-outside-pointer-events":e.disableOutsidePointerEvents,onDismiss:t[0]||=e=>M(a).onOpenChange(!1),onFocusOutside:t[1]||=e=>{M(a).parentElement.value?.contains(e.target)&&e.preventDefault(),r(`focusOutside`,e)},onInteractOutside:t[2]||=e=>r(`interactOutside`,e),onEscapeKeyDown:t[3]||=e=>r(`escapeKeyDown`,e),onPointerDownOutside:t[4]||=e=>{M(a).parentElement.value?.contains(e.target)&&e.preventDefault(),r(`pointerDownOutside`,e)}},{default:N(()=>[(R(),B(aa(M(i)===`popper`?M(ny):M(wh)),G({...e.$attrs,...M(l)},{id:M(a).contentId,ref:M(s),"data-state":M(a).open.value?`open`:`closed`,"data-empty":o.value?``:void 0,style:{display:n.hideWhenEmpty&&o.value?`none`:`flex`,flexDirection:`column`,outline:`none`,...M(i)===`popper`?u:{}}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`data-empty`,`style`]))]),_:3},8,[`disable-outside-pointer-events`])]),_:3})]),_:3}))}}),uy=P({__name:`ComboboxContent`,props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},hideWhenEmpty:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`],setup(e,{emit:t}){let n=qm(e,t),{forwardRef:r}=Y(),i=ry();return i.contentId||=fh(void 0,`reka-combobox-content`),(e,t)=>(R(),B(M(xh),{present:e.forceMount||M(i).open.value},{default:N(()=>[H(ly,G({...M(n),...e.$attrs},{ref:M(r)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)]),_:3},8,[`present`]))}}),dy=P({__name:`ComboboxEmpty`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,n=ry(),r=K(()=>n.ignoreFilter.value?n.allItems.value.size===0:n.filterState.value.count===0);return(e,n)=>r.value?(R(),B(M(wh),be(G({key:0},t)),{default:N(()=>[I(e.$slots,`default`,{},()=>[n[0]||=U(`No options`)])]),_:3},16)):W(`v-if`,!0)}}),[fy,py]=Wp(`ComboboxGroup`),my=P({__name:`ComboboxInput`,props:{displayValue:{type:Function,required:!1},modelValue:{type:String,required:!1},autoFocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`input`}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,i=ry(),a=jg(),{primitiveElement:o,currentElement:s}=Th(),c=Cm(n,`modelValue`,r,{passive:n.modelValue===void 0});Ki(()=>{s.value&&i.onInputElementChange(s.value)});let{isComposing:l,handleCompositionStart:u,handleCompositionEnd:d}=Rm(e=>{let t=e.target;t&&p(t.value)});function f(e){l.value||(e.preventDefault(),i.open.value||i.onOpenChange(!0))}function p(e){i.open.value?i.filterSearch.value=e:(i.onOpenChange(!0),$n(()=>{e&&(i.filterSearch.value=e,a.highlightFirstItem())}))}function m(e){l.value||p(e.target.value)}function h(){i.openOnFocus.value&&!i.open.value&&i.onOpenChange(!0)}function g(e){if(!i.open.value)return;let t=e.relatedTarget;if(!t)return;let n=i.parentElement.value?.contains(t),r=document.getElementById(i.contentId)?.contains(t);!n&&!r&&requestAnimationFrame(()=>{if(!i.open.value)return;let e=document.activeElement;!i.parentElement.value?.contains(e)&&!document.getElementById(i.contentId)?.contains(e)&&i.onOpenChange(!1)})}function _(){i.openOnClick.value&&!i.open.value&&i.onOpenChange(!0)}function v(){let e=i.modelValue.value;n.displayValue?c.value=n.displayValue(e):!i.multiple.value&&e&&!Array.isArray(e)?typeof e==`object`?c.value=``:c.value=e.toString():c.value=``,$n(()=>{c.value=c.value})}return i.onResetSearchTerm(()=>{v()}),Dr(i.modelValue,async()=>{!i.isUserInputted.value&&i.resetSearchTermOnSelect.value&&v()},{immediate:!0,deep:!0}),Dr(i.filterState,(e,t)=>{!i.isVirtual.value&&t.count===0&&a.highlightFirstItem()}),(e,t)=>(R(),B(M(Fg),{ref_key:`primitiveElement`,ref:o,modelValue:M(c),"onUpdate:modelValue":t[0]||=e=>un(c)?c.value=e:null,as:e.as,"as-child":e.asChild,"auto-focus":e.autoFocus,disabled:e.disabled,"aria-expanded":M(i).open.value,"aria-controls":M(i).contentId,"aria-autocomplete":`list`,role:`combobox`,autocomplete:`off`,onClick:_,onInput:m,onKeydown:Zl(f,[`down`,`up`]),onFocus:h,onBlur:g,onCompositionstart:M(u),onCompositionend:M(d)},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`modelValue`,`as`,`as-child`,`auto-focus`,`disabled`,`aria-expanded`,`aria-controls`,`onCompositionstart`,`onCompositionend`]))}}),hy=P({__name:`ComboboxItem`,props:{textValue:{type:String,required:!1},value:{type:null,required:!0},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`select`],setup(e,{emit:t}){let n=e,r=t,i=fh(void 0,`reka-combobox-item`),a=ry(),o=fy(null),{primitiveElement:s,currentElement:c}=Th();if(n.value===``)throw Error(`A <ComboboxItem /> must have a value prop that is not an empty string. This is because the Combobox value can be set to an empty string to clear the selection and show the placeholder.`);let l=K(()=>{if(a.isVirtual.value||a.ignoreFilter.value||!a.filterSearch.value)return!0;{let e=a.filterState.value.items.get(i);return e===void 0?!0:e>0}});return Ki(()=>{a.allItems.value.set(i,n.textValue||c.value.textContent||c.value.innerText);let e=o?.id;e&&(a.allGroups.value.has(e)?a.allGroups.value.get(e)?.add(i):a.allGroups.value.set(e,new Set([i])))}),Xi(()=>{a.allItems.value.delete(i)}),(e,t)=>l.value?(R(),B(M(zg),G({key:0},n,{id:M(i),ref_key:`primitiveElement`,ref:s,disabled:M(a).disabled.value||e.disabled,onSelect:t[0]||=t=>{r(`select`,t),!t.defaultPrevented&&(!M(a).multiple.value&&!e.disabled&&!M(a).disabled.value?(t.preventDefault(),M(a).onOpenChange(!1),M(a).modelValue.value=n.value):M(a).multiple.value&&M(a).inputElement.value?.focus())}}),{default:N(()=>[I(e.$slots,`default`,{},()=>[U(A(e.value),1)])]),_:3},16,[`id`,`disabled`])):W(`v-if`,!0)}}),gy=P({__name:`ComboboxItemIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e;return(e,n)=>(R(),B(M(Bg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),_y=P({__name:`ComboboxPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(R(),B(M(mg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),vy=P({__name:`ComboboxTrigger`,props:{disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,{forwardRef:n,currentElement:r}=Y(),i=ry(),a=K(()=>t.disabled||i.disabled.value||!1);return Ki(()=>{r.value&&i.onTriggerElementChange(r.value)}),(e,r)=>(R(),B(M(wh),G(t,{ref:M(n),type:e.as===`button`?`button`:void 0,tabindex:`-1`,"aria-label":`Show popup`,"aria-haspopup":`listbox`,"aria-expanded":M(i).open.value,"aria-controls":M(i).contentId,"data-state":M(i).open.value?`open`:`closed`,disabled:a.value,"data-disabled":a.value?``:void 0,"aria-disabled":a.value??void 0,onClick:r[0]||=e=>M(i).onOpenChange(!M(i).open.value)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`type`,`aria-expanded`,`aria-controls`,`data-state`,`disabled`,`data-disabled`,`aria-disabled`]))}});function yy(e){let t=Om({nonce:j()});return K(()=>e?.value||t.nonce?.value)}var by=P({__name:`ComboboxViewport`,props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{forwardRef:n}=Y(),{nonce:r}=bn(t),i=yy(r),a=ry();return(e,r)=>(R(),z(L,null,[H(M(wh),G({...e.$attrs,...t},{ref:M(n),"data-reka-combobox-viewport":``,role:`presentation`,style:{position:`relative`,flex:M(a).isVirtual.value?void 0:1,overflow:`auto`}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`style`]),H(M(wh),{as:`style`,nonce:M(i)},{default:N(()=>r[0]||=[U(` /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-combobox-viewport] { scrollbar-width:none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } [data-reka-combobox-viewport]::-webkit-scrollbar { display: none; } `)]),_:1,__:[0]},8,[`nonce`])],64))}}),[xy,Sy]=Wp(`RovingFocusGroup`),Cy=P({__name:`RovingFocusGroup`,props:{orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},currentTabStopId:{type:[String,null],required:!1},defaultCurrentTabStopId:{type:String,required:!1},preventScrollOnEntryFocus:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`entryFocus`,`update:currentTabStopId`],setup(e,{expose:t,emit:n}){let r=e,i=n,{loop:a,orientation:o,dir:s}=bn(r),c=zm(s),l=Cm(r,`currentTabStopId`,i,{defaultValue:r.defaultCurrentTabStopId,passive:r.currentTabStopId===void 0}),u=j(!1),d=j(!1),f=j(0),{getItems:p,CollectionSlot:m}=vg({isProvider:!0});function h(e){let t=!d.value;if(e.currentTarget&&e.target===e.currentTarget&&t&&!u.value){let t=new CustomEvent(wg,Tg);if(e.currentTarget.dispatchEvent(t),i(`entryFocus`,t),!t.defaultPrevented){let e=p().map(e=>e.ref).filter(e=>e.dataset.disabled!==``);kg([e.find(e=>e.getAttribute(`data-active`)===``),e.find(e=>e.getAttribute(`data-highlighted`)===``),e.find(e=>e.id===l.value),...e].filter(Boolean),r.preventScrollOnEntryFocus)}}d.value=!1}function g(){setTimeout(()=>{d.value=!1},1)}return t({getItems:p}),Sy({loop:a,dir:c,orientation:o,currentTabStopId:l,onItemFocus:e=>{l.value=e},onItemShiftTab:()=>{u.value=!0},onFocusableItemAdd:()=>{f.value++},onFocusableItemRemove:()=>{f.value--}}),(e,t)=>(R(),B(M(m),null,{default:N(()=>[H(M(wh),{tabindex:u.value||f.value===0?-1:0,"data-orientation":M(o),as:e.as,"as-child":e.asChild,dir:M(c),style:{outline:`none`},onMousedown:t[0]||=e=>d.value=!0,onMouseup:g,onFocus:h,onBlur:t[1]||=e=>u.value=!1},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`as`,`as-child`,`dir`])]),_:3}))}}),wy=P({__name:`RovingFocusItem`,props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=xy(),r=fh(),i=K(()=>t.tabStopId||r),a=K(()=>n.currentTabStopId.value===i.value),{getItems:o,CollectionItem:s}=vg();Ki(()=>{t.focusable&&n.onFocusableItemAdd()}),Xi(()=>{t.focusable&&n.onFocusableItemRemove()});function c(e){if(e.key===`Tab`&&e.shiftKey){n.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let r=Og(e,n.orientation.value,n.dir.value);if(r!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||!t.allowShiftKey&&e.shiftKey)return;e.preventDefault();let i=[...o().map(e=>e.ref).filter(e=>e.dataset.disabled!==``)];if(r===`last`)i.reverse();else if(r===`prev`||r===`next`){r===`prev`&&i.reverse();let t=i.indexOf(e.currentTarget);i=n.loop.value?Ag(i,t+1):i.slice(t+1)}$n(()=>kg(i))}}return(e,t)=>(R(),B(M(s),null,{default:N(()=>[H(M(wh),{tabindex:a.value?0:-1,"data-orientation":M(n).orientation.value,"data-active":e.active?``:void 0,"data-disabled":e.focusable?void 0:``,as:e.as,"as-child":e.asChild,onMousedown:t[0]||=t=>{e.focusable?M(n).onItemFocus(i.value):t.preventDefault()},onFocus:t[1]||=e=>M(n).onItemFocus(i.value),onKeydown:c},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`data-active`,`data-disabled`,`as`,`as-child`])]),_:3}))}}),Ty=P({__name:`MenuAnchor`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return(e,n)=>(R(),B(M(Wg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}});function Ey(){let e=j(!1);return Ki(()=>{gm(`keydown`,()=>{e.value=!0},{capture:!0,passive:!0}),gm([`pointerdown`,`pointermove`],()=>{e.value=!1},{capture:!0,passive:!0})}),e}var Dy=om(Ey),[Oy,ky]=Wp([`MenuRoot`,`MenuSub`],`MenuContext`),[Ay,jy]=Wp(`MenuRoot`),My=P({__name:`MenuRoot`,props:{open:{type:Boolean,required:!1,default:!1},dir:{type:String,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t,{modal:i,dir:a}=bn(n),o=zm(a),s=Cm(n,`open`,r),c=j(),l=Dy();return ky({open:s,onOpenChange:e=>{s.value=e},content:c,onContentChange:e=>{c.value=e}}),jy({onClose:()=>{s.value=!1},isUsingKeyboardRef:l,dir:o,modal:i}),(e,t)=>(R(),B(M(Ug),null,{default:N(()=>[I(e.$slots,`default`)]),_:3}))}}),[Ny,Py]=Wp(`MenuContent`),Fy=P({__name:`MenuContentImpl`,props:Oa({loop:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},disableOutsideScroll:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...$v}),emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`entryFocus`,`openAutoFocus`,`closeAutoFocus`,`dismiss`],setup(e,{emit:t}){let n=e,r=t,i=Oy(),a=Ay(),{trapFocus:o,disableOutsidePointerEvents:s,loop:c}=bn(n);Um(),Fm(s.value);let l=j(``),u=j(0),d=j(0),f=j(null),p=j(`right`),m=j(0),h=j(null),g=j(),{forwardRef:_,currentElement:v}=Y(),{handleTypeaheadSearch:y}=gh(),b=j();function x(e){let t=Em(e,b.value||Gp(),v.value,{loop:c.value,arrowKeyOptions:`vertical`,dir:a?.dir.value,focus:!1,attributeName:`[data-reka-collection-item]:not([data-disabled])`});t&&(b.value=t,t.scrollIntoView({block:`nearest`}))}function S(){b.value&&b.value.click()}let C=j(),w=j();Dr(b,e=>{w.value&&(e===void 0||e!==w.value.trigger.value)&&(w.value.onOpenChange(!1),w.value=void 0)}),Dr(v,e=>{i.onContentChange(e)}),Xi(()=>{window.clearTimeout(u.value)});function T(e){return p.value===f.value?.side&&ag(e,f.value?.area)}async function ee(e){r(`openAutoFocus`,e),!e.defaultPrevented&&(e.preventDefault(),v.value?.focus({preventScroll:!0}))}function E(e){if(e.defaultPrevented)return;let t=e.target,n=t.closest(`[data-reka-menu-content]`)===e.currentTarget,r=[`input`,`textarea`].includes(t.tagName.toLowerCase()),i=e.ctrlKey||e.altKey||e.metaKey,o=e.key.length===1,s=Em(e,Gp(),v.value,{loop:c.value,arrowKeyOptions:`vertical`,dir:a?.dir.value,focus:!0,attributeName:`[data-reka-collection-item]:not([data-disabled])`});if(s)return s?.focus();if(e.code===`Space`)return;let l=g.value?.getItems()??[];if(n&&(e.key===`Tab`&&e.preventDefault(),!i&&o&&!r&&y(e.key,l)),e.target!==v.value||!tg.includes(e.key))return;e.preventDefault();let u=[...l.map(e=>e.ref)];eg.includes(e.key)&&u.reverse(),rg(u)}function te(e){e?.currentTarget?.contains?.(e.target)||(window.clearTimeout(u.value),l.value=``)}function ne(e){if(!og(e))return;let t=e.target,n=m.value!==e.clientX;(e?.currentTarget)?.contains(t)&&n&&(p.value=e.clientX>m.value?`right`:`left`,m.value=e.clientX)}function re(e){og(e)&&C.value&&C.value.focus()}return Py({onItemEnter:e=>!!T(e),onItemLeave:e=>T(e)?!0:([`INPUT`,`TEXTAREA`].includes(Gp()?.tagName||``)||v.value?.focus(),h.value=null,!1),onTriggerLeave:e=>!!T(e),searchRef:l,highlightedElement:b,onKeydownNavigation:x,onKeydownEnter:S,filterElement:C,onFilterElementChange:e=>{C.value=e},activeSubmenuContext:w,pointerGraceTimerRef:d,onPointerGraceIntentChange:e=>{f.value=e}}),(e,t)=>(R(),B(M(Xh),{"as-child":``,trapped:M(o),onMountAutoFocus:ee,onUnmountAutoFocus:t[7]||=e=>r(`closeAutoFocus`,e)},{default:N(()=>[H(M(Ih),{"as-child":``,"disable-outside-pointer-events":M(s),onEscapeKeyDown:t[2]||=e=>r(`escapeKeyDown`,e),onPointerDownOutside:t[3]||=e=>r(`pointerDownOutside`,e),onFocusOutside:t[4]||=e=>r(`focusOutside`,e),onInteractOutside:t[5]||=e=>r(`interactOutside`,e),onDismiss:t[6]||=e=>r(`dismiss`)},{default:N(()=>[H(M(Cy),{ref_key:`rovingFocusGroupRef`,ref:g,"current-tab-stop-id":h.value,"onUpdate:currentTabStopId":t[0]||=e=>h.value=e,"as-child":``,orientation:`vertical`,dir:M(a).dir.value,loop:M(c),onEntryFocus:t[1]||=e=>{r(`entryFocus`,e),M(a).isUsingKeyboardRef.value||e.preventDefault()}},{default:N(()=>[H(M(ny),{ref:M(_),role:`menu`,as:e.as,"as-child":e.asChild,"aria-orientation":`vertical`,"data-reka-menu-content":``,"data-state":M(ng)(M(i).open.value),dir:M(a).dir.value,side:e.side,"side-offset":e.sideOffset,align:e.align,"align-offset":e.alignOffset,"avoid-collisions":e.avoidCollisions,"collision-boundary":e.collisionBoundary,"collision-padding":e.collisionPadding,"arrow-padding":e.arrowPadding,"prioritize-position":e.prioritizePosition,"position-strategy":e.positionStrategy,"update-position-strategy":e.updatePositionStrategy,sticky:e.sticky,"hide-when-detached":e.hideWhenDetached,reference:e.reference,onKeydown:E,onBlur:te,onPointermove:ne,onPointerenter:re},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-state`,`dir`,`side`,`side-offset`,`align`,`align-offset`,`avoid-collisions`,`collision-boundary`,`collision-padding`,`arrow-padding`,`prioritize-position`,`position-strategy`,`update-position-strategy`,`sticky`,`hide-when-detached`,`reference`])]),_:3},8,[`current-tab-stop-id`,`dir`,`loop`])]),_:3},8,[`disable-outside-pointer-events`])]),_:3},8,[`trapped`]))}}),Iy=P({inheritAttrs:!1,__name:`MenuItemImpl`,props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,n=Ny(),{forwardRef:r,currentElement:i}=Y(),{CollectionItem:a}=vg(),o=j(!1),s=K(()=>o.value||i.value!=null&&n.highlightedElement.value===i.value);async function c(e){if(!(e.defaultPrevented||!og(e))){if(t.disabled)n.onItemLeave(e);else if(!n.onItemEnter(e)){let t=e.currentTarget;n.highlightedElement.value=t,[`INPUT`,`TEXTAREA`].includes(Gp()?.tagName||``)||t.focus({preventScroll:!0})}}}async function l(e){await $n(),!e.defaultPrevented&&og(e)&&n.highlightedElement.value===i.value&&!n.onItemLeave(e)&&n.highlightedElement.value===i.value&&(n.highlightedElement.value=void 0)}return(e,t)=>(R(),B(M(a),{value:{textValue:e.textValue}},{default:N(()=>[H(M(wh),G({ref:M(r),role:`menuitem`,tabindex:`-1`},e.$attrs,{as:e.as,"as-child":e.asChild,"aria-disabled":e.disabled||void 0,"data-disabled":e.disabled?``:void 0,"data-highlighted":s.value?``:void 0,onPointermove:c,onPointerleave:l,onFocus:t[0]||=async t=>{await $n(),!(t.defaultPrevented||e.disabled)&&(o.value=!0,M(n).highlightedElement.value=t.currentTarget)},onBlur:t[1]||=async e=>{await $n(),!e.defaultPrevented&&(o.value=!1)}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`as`,`as-child`,`aria-disabled`,`data-disabled`,`data-highlighted`])]),_:3},8,[`value`]))}}),Ly=P({__name:`MenuItem`,props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`select`],setup(e,{emit:t}){let n=e,r=t,{forwardRef:i,currentElement:a}=Y(),o=Ay(),s=Ny(),c=j(!1);async function l(){let e=a.value;if(!n.disabled&&e){let e=new CustomEvent(Zh,{bubbles:!0,cancelable:!0});r(`select`,e),await $n(),e.defaultPrevented?c.value=!1:o.onClose()}}return(e,t)=>(R(),B(Iy,G(n,{ref:M(i),onClick:l,onPointerdown:t[0]||=()=>{c.value=!0},onPointerup:t[1]||=async e=>{await $n(),!e.defaultPrevented&&(c.value||e.currentTarget?.click())},onKeydown:t[2]||=async t=>{let n=M(s).searchRef.value!==``;e.disabled||n&&t.key===` `||M(Qh).includes(t.key)&&(t.currentTarget?.click(),t.preventDefault())}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),Ry=P({__name:`MenuRootContentModal`,props:{loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`entryFocus`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=qm(n,r),a=Oy(),{forwardRef:o,currentElement:s}=Y();return uh(s),(e,t)=>(R(),B(Fy,G(M(i),{ref:M(o),"trap-focus":M(a).open.value,"disable-outside-pointer-events":M(a).open.value,"disable-outside-scroll":!0,onDismiss:t[0]||=e=>M(a).onOpenChange(!1),onFocusOutside:t[1]||=Yl(e=>r(`focusOutside`,e),[`prevent`])}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`trap-focus`,`disable-outside-pointer-events`]))}}),zy=P({__name:`MenuRootContentNonModal`,props:{loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`entryFocus`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=qm(e,t),r=Oy();return(e,t)=>(R(),B(Fy,G(M(n),{"trap-focus":!1,"disable-outside-pointer-events":!1,"disable-outside-scroll":!1,onDismiss:t[0]||=e=>M(r).onOpenChange(!1)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),By=P({__name:`MenuContent`,props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`entryFocus`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=qm(e,t),r=Oy(),i=Ay();return(e,t)=>(R(),B(M(xh),{present:e.forceMount||M(r).open.value},{default:N(()=>[M(i).modal.value?(R(),B(Ry,be(G({key:0},{...e.$attrs,...M(n)})),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)):(R(),B(zy,be(G({key:1},{...e.$attrs,...M(n)})),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),[Vy,Hy]=Wp(`MenuGroup`),Uy=P({__name:`MenuLabel`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`div`}},setup(e){let t=e,n=Vy({id:``});return(e,r)=>(R(),B(M(wh),G(t,{id:M(n).id||void 0}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`]))}}),Wy=P({__name:`MenuPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(R(),B(M(mg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),Gy=P({__name:`MenuSeparator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return(e,n)=>(R(),B(M(wh),G(t,{role:`separator`,"aria-orientation":`horizontal`}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),[Ky,qy]=Wp(`PopoverRoot`),Jy=P({__name:`PopoverRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},modal:{type:Boolean,required:!1,default:!1}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t,{modal:i}=bn(n),a=Cm(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0});return qy({contentId:``,triggerId:``,modal:i,open:a,onOpenChange:e=>{a.value=e},onOpenToggle:()=>{a.value=!a.value},triggerElement:j(),hasCustomAnchor:j(!1)}),(e,t)=>(R(),B(M(Ug),null,{default:N(()=>[I(e.$slots,`default`,{open:M(a),close:()=>a.value=!1})]),_:3}))}}),Yy=P({__name:`PopoverContentImpl`,props:{trapFocus:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Km(lm(n,`trapFocus`,`disableOutsidePointerEvents`)),{forwardRef:a}=Y(),o=Ky();return Um(),(e,t)=>(R(),B(M(Xh),{"as-child":``,loop:``,trapped:e.trapFocus,onMountAutoFocus:t[5]||=e=>r(`openAutoFocus`,e),onUnmountAutoFocus:t[6]||=e=>r(`closeAutoFocus`,e)},{default:N(()=>[H(M(Ih),{"as-child":``,"disable-outside-pointer-events":e.disableOutsidePointerEvents,onPointerDownOutside:t[0]||=e=>r(`pointerDownOutside`,e),onInteractOutside:t[1]||=e=>r(`interactOutside`,e),onEscapeKeyDown:t[2]||=e=>r(`escapeKeyDown`,e),onFocusOutside:t[3]||=e=>r(`focusOutside`,e),onDismiss:t[4]||=e=>M(o).onOpenChange(!1)},{default:N(()=>[H(M(ny),G(M(i),{id:M(o).contentId,ref:M(a),"data-state":M(o).open.value?`open`:`closed`,"aria-labelledby":M(o).triggerId,style:{"--reka-popover-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-popover-content-available-width":`var(--reka-popper-available-width)`,"--reka-popover-content-available-height":`var(--reka-popper-available-height)`,"--reka-popover-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-popover-trigger-height":`var(--reka-popper-anchor-height)`},role:`dialog`}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`aria-labelledby`])]),_:3},8,[`disable-outside-pointer-events`])]),_:3},8,[`trapped`]))}}),Xy=P({__name:`PopoverContentModal`,props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Ky(),a=j(!1);Fm(!0);let o=qm(n,r),{forwardRef:s,currentElement:c}=Y();return uh(c),(e,t)=>(R(),B(Yy,G(M(o),{ref:M(s),"trap-focus":M(i).open.value,"disable-outside-pointer-events":``,onCloseAutoFocus:t[0]||=Yl(e=>{r(`closeAutoFocus`,e),a.value||M(i).triggerElement.value?.focus()},[`prevent`]),onPointerDownOutside:t[1]||=e=>{r(`pointerDownOutside`,e);let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;a.value=t.button===2||n},onFocusOutside:t[2]||=Yl(()=>{},[`prevent`])}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`trap-focus`]))}}),Zy=P({__name:`PopoverContentNonModal`,props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Ky(),a=j(!1),o=j(!1),s=qm(n,r);return(e,t)=>(R(),B(Yy,G(M(s),{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:t[0]||=e=>{r(`closeAutoFocus`,e),e.defaultPrevented||(a.value||M(i).triggerElement.value?.focus(),e.preventDefault()),a.value=!1,o.value=!1},onInteractOutside:t[1]||=async e=>{r(`interactOutside`,e),e.defaultPrevented||(a.value=!0,e.detail.originalEvent.type===`pointerdown`&&(o.value=!0));let t=e.target;M(i).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&o.value&&e.preventDefault()}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),Qy=P({__name:`PopoverContent`,props:{forceMount:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Ky(),a=qm(n,r),{forwardRef:o}=Y();return i.contentId||=fh(void 0,`reka-popover-content`),(e,t)=>(R(),B(M(xh),{present:e.forceMount||M(i).open.value},{default:N(()=>[M(i).modal.value?(R(),B(Xy,G({key:0},M(a),{ref:M(o)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)):(R(),B(Zy,G({key:1},M(a),{ref:M(o)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),$y=P({__name:`PopoverPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(R(),B(M(mg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),eb=P({__name:`PopoverTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Ky(),{forwardRef:r,currentElement:i}=Y();return n.triggerId||=fh(void 0,`reka-popover-trigger`),Ki(()=>{n.triggerElement.value=i.value}),(e,i)=>(R(),B(aa(M(n).hasCustomAnchor.value?M(wh):M(Wg)),{"as-child":``},{default:N(()=>[H(M(wh),{id:M(n).triggerId,ref:M(r),type:e.as===`button`?`button`:void 0,"aria-haspopup":`dialog`,"aria-expanded":M(n).open.value,"aria-controls":M(n).contentId,"data-state":M(n).open.value?`open`:`closed`,as:e.as,"as-child":t.asChild,onClick:M(n).onOpenToggle},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`id`,`type`,`aria-expanded`,`aria-controls`,`data-state`,`as`,`as-child`,`onClick`])]),_:3}))}}),[tb,nb]=Wp(`DropdownMenuRoot`),rb=P({__name:`DropdownMenuRoot`,props:{defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1,default:void 0},dir:{type:String,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t;Y();let i=Cm(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0}),a=j(),{modal:o,dir:s}=bn(n),c=zm(s);return nb({open:i,onOpenChange:e=>{i.value=e},onOpenToggle:()=>{i.value=!i.value},triggerId:``,triggerElement:a,contentId:``,modal:o,dir:c}),(e,t)=>(R(),B(M(My),{open:M(i),"onUpdate:open":t[0]||=e=>un(i)?i.value=e:null,dir:M(c),modal:M(o)},{default:N(()=>[I(e.$slots,`default`,{open:M(i)})]),_:3},8,[`open`,`dir`,`modal`]))}}),ib=P({__name:`DropdownMenuContent`,props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`closeAutoFocus`],setup(e,{emit:t}){let n=qm(e,t);Y();let r=tb(),i=j(!1);function a(e){e.defaultPrevented||(i.value||setTimeout(()=>{r.triggerElement.value?.focus()},0),i.value=!1,e.preventDefault())}return r.contentId||=fh(void 0,`reka-dropdown-menu-content`),(e,t)=>(R(),B(M(By),G(M(n),{id:M(r).contentId,"aria-labelledby":M(r)?.triggerId,style:{"--reka-dropdown-menu-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-dropdown-menu-content-available-width":`var(--reka-popper-available-width)`,"--reka-dropdown-menu-content-available-height":`var(--reka-popper-available-height)`,"--reka-dropdown-menu-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-dropdown-menu-trigger-height":`var(--reka-popper-anchor-height)`},onCloseAutoFocus:a,onInteractOutside:t[0]||=e=>{if(e.defaultPrevented)return;let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,a=t.button===2||n;(!M(r).modal.value||a)&&(i.value=!0),M(r).triggerElement.value?.contains(e.target)&&e.preventDefault()}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`,`aria-labelledby`]))}}),ab=P({__name:`DropdownMenuItem`,props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`select`],setup(e,{emit:t}){let n=e,r=Bm(t);return Y(),(e,t)=>(R(),B(M(Ly),be(gs({...n,...M(r)})),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),ob=P({__name:`DropdownMenuLabel`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return Y(),(e,n)=>(R(),B(M(Uy),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),sb=P({__name:`DropdownMenuPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(R(),B(M(Wy),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),cb=P({__name:`DropdownMenuSeparator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return Y(),(e,n)=>(R(),B(M(Gy),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),lb=P({__name:`DropdownMenuTrigger`,props:{disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=tb(),{forwardRef:r,currentElement:i}=Y();return Ki(()=>{n.triggerElement=i}),n.triggerId||=fh(void 0,`reka-dropdown-menu-trigger`),(e,i)=>(R(),B(M(Ty),{"as-child":``},{default:N(()=>[H(M(wh),{id:M(n).triggerId,ref:M(r),type:e.as===`button`?`button`:void 0,"as-child":t.asChild,as:e.as,"aria-haspopup":`menu`,"aria-expanded":M(n).open.value,"aria-controls":M(n).open.value?M(n).contentId:void 0,"data-disabled":e.disabled?``:void 0,disabled:e.disabled,"data-state":M(n).open.value?`open`:`closed`,onClick:i[0]||=async t=>{!e.disabled&&t.button===0&&t.ctrlKey===!1&&(M(n)?.onOpenToggle(),await $n(),M(n).open.value&&t.preventDefault())},onKeydown:i[1]||=Zl(t=>{e.disabled||([`Enter`,` `].includes(t.key)&&M(n).onOpenToggle(),t.key===`ArrowDown`&&M(n).onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(t.key)&&t.preventDefault())},[`enter`,`space`,`arrow-down`])},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`id`,`type`,`as-child`,`as`,`aria-expanded`,`aria-controls`,`data-disabled`,`disabled`,`data-state`])]),_:3}))}}),ub=P({__name:`Label`,props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`label`}},setup(e){let t=e;return Y(),(e,n)=>(R(),B(M(wh),G(t,{onMousedown:n[0]||=e=>{!e.defaultPrevented&&e.detail>1&&e.preventDefault()}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),db=[` `,`Enter`,`ArrowUp`,`ArrowDown`],fb=[` `,`Enter`];function pb(e,t,n){return e===void 0?!1:Array.isArray(e)?e.some(e=>mb(e,t,n)):mb(e,t,n)}function mb(e,t,n){return e===void 0||t===void 0?!1:typeof e==`string`?e===t:typeof n==`function`?n(e,t):typeof n==`string`?e?.[n]===t?.[n]:Vp(e,t)}function hb(e){return e==null||e===``||Array.isArray(e)&&e.length===0}var gb={key:0,value:``},[_b,vb]=Wp(`SelectRoot`),yb=P({inheritAttrs:!1,__name:`SelectRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},by:{type:[String,Function],required:!1},dir:{type:String,required:!1},multiple:{type:Boolean,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`,`update:open`],setup(e,{emit:t}){let n=e,r=t,{required:i,disabled:a,multiple:o,dir:s}=bn(n),c=Cm(n,`modelValue`,r,{defaultValue:n.defaultValue??(o.value?[]:void 0),passive:n.modelValue===void 0,deep:!0}),l=Cm(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0}),u=j(),d=j(),f=j({x:0,y:0}),p=K(()=>o.value&&Array.isArray(c.value)?c.value?.length===0:qp(c.value));vg({isProvider:!0});let m=zm(s),h=Gm(u),g=j(new Set),_=K(()=>Array.from(g.value).map(e=>e.value).join(`;`));function v(e){if(o.value){let t=Array.isArray(c.value)?[...c.value]:[],r=t.findIndex(t=>mb(t,e,n.by));r===-1?t.push(e):t.splice(r,1),c.value=[...t]}else c.value=e}function y(e){return Array.from(g.value).find(t=>pb(e,t.value,n.by))}return vb({triggerElement:u,onTriggerChange:e=>{u.value=e},valueElement:d,onValueElementChange:e=>{d.value=e},contentId:``,modelValue:c,onValueChange:v,by:n.by,open:l,multiple:o,required:i,onOpenChange:e=>{l.value=e},dir:m,triggerPointerDownPosRef:f,disabled:a,isEmptyModelValue:p,optionsSet:g,onOptionAdd:e=>{let t=y(e.value);t&&g.value.delete(t),g.value.add(e)},onOptionRemove:e=>{let t=y(e.value);t&&g.value.delete(t)}}),(e,t)=>(R(),B(M(Ug),null,{default:N(()=>[I(e.$slots,`default`,{modelValue:M(c),open:M(l)}),M(h)&&e.name?(R(),B(bb,{key:_.value,"aria-hidden":`true`,tabindex:`-1`,multiple:M(o),required:M(i),name:e.name,autocomplete:e.autocomplete,disabled:M(a),value:M(c)},{default:N(()=>[M(qp)(M(c))?(R(),z(`option`,gb)):W(`v-if`,!0),(R(!0),z(L,null,F(Array.from(g.value),e=>(R(),z(`option`,G({key:e.value??``},{ref_for:!0},e),null,16))),128))]),_:1},8,[`multiple`,`required`,`name`,`autocomplete`,`disabled`,`value`])):W(`v-if`,!0)]),_:3}))}}),bb=P({__name:`BubbleSelect`,props:{autocomplete:{type:String,required:!1},autofocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},form:{type:String,required:!1},multiple:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},size:{type:Number,required:!1},value:{type:null,required:!1}},setup(e){let t=e,n=j(),r=_b();Dr(()=>t.value,(e,t)=>{let r=window.HTMLSelectElement.prototype,i=Object.getOwnPropertyDescriptor(r,`value`).set;if(e!==t&&i&&n.value){let t=new Event(`change`,{bubbles:!0});i.call(n.value,e),n.value.dispatchEvent(t)}});function i(e){r.onValueChange(e.target.value)}return(e,r)=>(R(),B(M(yg),{"as-child":``},{default:N(()=>[V(`select`,G({ref_key:`selectElement`,ref:n},t,{onInput:i}),[I(e.$slots,`default`)],16)]),_:3}))}}),xb=P({__name:`SelectPopperPosition`,props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1,default:10},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=Km(e);return(e,n)=>(R(),B(M(ny),G(M(t),{style:{boxSizing:`border-box`,"--reka-select-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-select-content-available-width":`var(--reka-popper-available-width)`,"--reka-select-content-available-height":`var(--reka-popper-available-height)`,"--reka-select-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-select-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),Sb={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[Cb,wb]=Wp(`SelectContent`),Tb=P({__name:`SelectContentImpl`,props:{position:{type:String,required:!1,default:`item-aligned`},bodyLock:{type:Boolean,required:!1,default:!0},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=_b();Um(),Fm(n.bodyLock);let{CollectionSlot:a,getItems:o}=vg(),s=j();uh(s);let{search:c,handleTypeaheadSearch:l}=gh(),u=j(),d=j(),f=j(),p=j(!1),m=j(!1),h=j(!1);function g(){d.value&&s.value&&rg([d.value,s.value])}Dr(p,()=>{g()});let{onOpenChange:_,triggerPointerDownPosRef:v}=i;wr(e=>{if(!s.value)return;let t={x:0,y:0},n=e=>{t={x:Math.abs(Math.round(e.pageX)-(v.value?.x??0)),y:Math.abs(Math.round(e.pageY)-(v.value?.y??0))}},r=e=>{e.pointerType!==`touch`&&(t.x<=10&&t.y<=10?e.preventDefault():s.value?.contains(e.target)||_(!1),document.removeEventListener(`pointermove`,n),v.value=null)};v.value!==null&&(document.addEventListener(`pointermove`,n),document.addEventListener(`pointerup`,r,{capture:!0,once:!0})),e(()=>{document.removeEventListener(`pointermove`,n),document.removeEventListener(`pointerup`,r,{capture:!0})})});function y(e){let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&l(e.key,o()),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=[...o().map(e=>e.ref)];if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>rg(t)),e.preventDefault()}}let b=Km(K(()=>n.position===`popper`?n:{}).value);return wb({content:s,viewport:u,onViewportChange:e=>{u.value=e},itemRefCallback:(e,t,n)=>{let r=!m.value&&!n,a=pb(i.modelValue.value,t,i.by);if(i.multiple.value){if(h.value)return;(a||r)&&(d.value=e,a&&(h.value=!0))}else (a||r)&&(d.value=e);r&&(m.value=!0)},selectedItem:d,selectedItemText:f,onItemLeave:()=>{s.value?.focus()},itemTextRefCallback:(e,t,n)=>{let r=!m.value&&!n;(pb(i.modelValue.value,t,i.by)||r)&&(f.value=e)},focusSelectedItem:g,position:n.position,isPositioned:p,searchRef:c}),(e,t)=>(R(),B(M(a),null,{default:N(()=>[H(M(Xh),{"as-child":``,onMountAutoFocus:t[6]||=Yl(()=>{},[`prevent`]),onUnmountAutoFocus:t[7]||=e=>{r(`closeAutoFocus`,e),!e.defaultPrevented&&(M(i).triggerElement.value?.focus({preventScroll:!0}),e.preventDefault())}},{default:N(()=>[H(M(Ih),{"as-child":``,"disable-outside-pointer-events":e.disableOutsidePointerEvents,onFocusOutside:t[2]||=Yl(()=>{},[`prevent`]),onDismiss:t[3]||=e=>M(i).onOpenChange(!1),onEscapeKeyDown:t[4]||=e=>r(`escapeKeyDown`,e),onPointerDownOutside:t[5]||=e=>r(`pointerDownOutside`,e)},{default:N(()=>[(R(),B(aa(e.position===`popper`?xb:Ob),G({...e.$attrs,...M(b)},{id:M(i).contentId,ref:e=>{if(!e)return;let t=M(hm)(e);t?.hasAttribute(`data-reka-popper-content-wrapper`)?s.value=t.firstElementChild:s.value=t},role:`listbox`,"data-state":M(i).open.value?`open`:`closed`,dir:M(i).dir.value,style:{display:`flex`,flexDirection:`column`,outline:`none`},onContextmenu:t[0]||=Yl(()=>{},[`prevent`]),onPlaced:t[1]||=e=>p.value=!0,onKeydown:y}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`dir`,`onKeydown`]))]),_:3},8,[`disable-outside-pointer-events`])]),_:3})]),_:3}))}}),[Eb,Db]=Wp(`SelectItemAlignedPosition`),Ob=P({inheritAttrs:!1,__name:`SelectItemAlignedPosition`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`placed`],setup(e,{emit:t}){let n=e,r=t,{getItems:i}=vg(),a=_b(),o=Cb(),s=j(!1),c=j(!0),l=j(),{forwardRef:u,currentElement:d}=Y(),{viewport:f,selectedItem:p,selectedItemText:m,focusSelectedItem:h}=o;function g(){if(a.triggerElement.value&&a.valueElement.value&&l.value&&d.value&&f?.value&&p?.value&&m?.value){let e=a.triggerElement.value.getBoundingClientRect(),t=d.value.getBoundingClientRect(),n=a.valueElement.value.getBoundingClientRect(),o=m.value.getBoundingClientRect();if(a.dir.value!==`rtl`){let r=o.left-t.left,i=n.left-r,a=e.left-i,s=e.width+a,c=Math.max(s,t.width),u=window.innerWidth-10,d=Up(i,10,Math.max(10,u-c));l.value.style.minWidth=`${s}px`,l.value.style.left=`${d}px`}else{let r=t.right-o.right,i=window.innerWidth-n.right-r,a=window.innerWidth-e.right-i,s=e.width+a,c=Math.max(s,t.width),u=window.innerWidth-10,d=Up(i,10,Math.max(10,u-c));l.value.style.minWidth=`${s}px`,l.value.style.right=`${d}px`}let c=i().map(e=>e.ref),u=window.innerHeight-20,h=f.value.scrollHeight,g=window.getComputedStyle(d.value),_=Number.parseInt(g.borderTopWidth,10),v=Number.parseInt(g.paddingTop,10),y=Number.parseInt(g.borderBottomWidth,10),b=Number.parseInt(g.paddingBottom,10),x=_+v+h+b+y,S=Math.min(p.value.offsetHeight*5,x),C=window.getComputedStyle(f.value),w=Number.parseInt(C.paddingTop,10),T=Number.parseInt(C.paddingBottom,10),ee=e.top+e.height/2-10,E=u-ee,te=p.value.offsetHeight/2,ne=p.value.offsetTop+te,re=_+v+ne,D=x-re;if(re<=ee){let e=p.value===c.at(-1);l.value.style.bottom=`0px`;let t=d.value.clientHeight-f.value.offsetTop-f.value.offsetHeight,n=re+Math.max(E,te+(e?T:0)+t+y);l.value.style.height=`${n}px`}else{let e=p.value===c[0];l.value.style.top=`0px`;let t=Math.max(ee,_+f.value.offsetTop+(e?w:0)+te)+D;l.value.style.height=`${t}px`,f.value.scrollTop=re-ee+f.value.offsetTop}l.value.style.margin=`10px 0`,l.value.style.minHeight=`${S}px`,l.value.style.maxHeight=`${u}px`,r(`placed`),requestAnimationFrame(()=>s.value=!0)}}let _=j(``);Ki(async()=>{await $n(),g(),d.value&&(_.value=window.getComputedStyle(d.value).zIndex)});function v(e){e&&c.value===!0&&(g(),h?.(),c.value=!1)}return Sm(a.triggerElement,()=>{g()}),Db({contentWrapper:l,shouldExpandOnScrollRef:s,onScrollButtonChange:v}),(e,t)=>(R(),z(`div`,{ref_key:`contentWrapperElement`,ref:l,style:he({display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:_.value})},[H(M(wh),G({ref:M(u),style:{boxSizing:`border-box`,maxHeight:`100%`}},{...e.$attrs,...n}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)],4))}}),kb=P({inheritAttrs:!1,__name:`SelectProvider`,props:{context:{type:Object,required:!0}},setup(e){return vb(e.context),wb(Sb),(e,t)=>I(e.$slots,`default`)}}),Ab={key:1},jb=P({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=qm(n,t),i=_b(),a=j();Ki(()=>{a.value=new DocumentFragment});let o=j(),s=K(()=>n.forceMount||i.open.value),c=j(s.value),l;function u(){l&&=(clearTimeout(l),void 0)}return Dr(s,(e,t,n)=>{u(),l=setTimeout(()=>{c.value=s.value,l=void 0}),n(u)}),Xi(u),(e,t)=>s.value||c.value||o.value?.present?(R(),B(M(xh),{key:0,ref_key:`presenceRef`,ref:o,present:s.value},{default:N(()=>[H(Tb,be(gs({...M(r),...e.$attrs})),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)]),_:3},8,[`present`])):a.value?(R(),z(`div`,Ab,[(R(),B(Hr,{to:a.value},[H(kb,{context:M(i)},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`context`])],8,[`to`]))])):W(`v-if`,!0)}}),Mb=P({__name:`SelectIcon`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,t)=>(R(),B(M(wh),{"aria-hidden":`true`,as:e.as,"as-child":e.asChild},{default:N(()=>[I(e.$slots,`default`,{},()=>[t[0]||=U(`▼`)])]),_:3},8,[`as`,`as-child`]))}}),[Nb,Pb]=Wp(`SelectItem`),Fb=P({__name:`SelectItem`,props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`select`],setup(e,{emit:t}){let n=e,r=t,{disabled:i}=bn(n),a=_b(),o=Cb(),{forwardRef:s,currentElement:c}=Y(),{CollectionItem:l}=vg(),u=K(()=>pb(a.modelValue?.value,n.value,a.by)),d=j(!1),f=j(n.textValue??``),p=fh(void 0,`reka-select-item-text`);async function m(e){e.defaultPrevented||Kp(`select.select`,h,{originalEvent:e,value:n.value})}async function h(e){await $n(),r(`select`,e),!e.defaultPrevented&&(i.value||(a.onValueChange(n.value),a.multiple.value||a.onOpenChange(!1)))}async function g(e){await $n(),!e.defaultPrevented&&(i.value?o.onItemLeave?.():e.currentTarget?.focus({preventScroll:!0}))}async function _(e){await $n(),!e.defaultPrevented&&e.currentTarget===Gp()&&o.onItemLeave?.()}async function v(e){await $n(),!e.defaultPrevented&&(o.searchRef?.value!==``&&e.key===` `||(fb.includes(e.key)&&m(e),e.key===` `&&e.preventDefault()))}if(n.value===``)throw Error(`A <SelectItem /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.`);return Ki(()=>{c.value&&o.itemRefCallback(c.value,n.value,n.disabled)}),Pb({value:n.value,disabled:i,textId:p,isSelected:u,onItemTextChange:e=>{f.value=((f.value||e?.textContent)??``).trim()}}),(e,t)=>(R(),B(M(l),{value:{textValue:f.value}},{default:N(()=>[H(M(wh),{ref:M(s),role:`option`,"aria-labelledby":M(p),"data-highlighted":d.value?``:void 0,"aria-selected":u.value,"data-state":u.value?`checked`:`unchecked`,"aria-disabled":M(i)||void 0,"data-disabled":M(i)?``:void 0,tabindex:M(i)?void 0:-1,as:e.as,"as-child":e.asChild,onFocus:t[0]||=e=>d.value=!0,onBlur:t[1]||=e=>d.value=!1,onPointerup:m,onPointerdown:t[2]||=e=>{e.currentTarget.focus({preventScroll:!0})},onTouchend:t[3]||=Yl(()=>{},[`prevent`,`stop`]),onPointermove:g,onPointerleave:_,onKeydown:v},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`aria-labelledby`,`data-highlighted`,`aria-selected`,`data-state`,`aria-disabled`,`data-disabled`,`tabindex`,`as`,`as-child`])]),_:3},8,[`value`]))}}),Ib=P({__name:`SelectItemIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=Nb();return(e,r)=>M(n).isSelected.value?(R(),B(M(wh),G({key:0,"aria-hidden":`true`},t),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)):W(`v-if`,!0)}}),Lb=P({inheritAttrs:!1,__name:`SelectItemText`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=_b(),r=Cb(),i=Nb(),{forwardRef:a,currentElement:o}=Y(),s=K(()=>({value:i.value,disabled:i.disabled.value,textContent:o.value?.textContent??i.value?.toString()??``}));return Ki(()=>{o.value&&(i.onItemTextChange(o.value),r.itemTextRefCallback(o.value,i.value,i.disabled.value),n.onOptionAdd(s.value))}),Xi(()=>{n.onOptionRemove(s.value)}),(e,n)=>(R(),B(M(wh),G({id:M(i).textId,ref:M(a)},{...t,...e.$attrs}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`]))}}),Rb=P({__name:`SelectPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(R(),B(M(mg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),zb=P({__name:`SelectTrigger`,props:{disabled:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=_b(),{forwardRef:r,currentElement:i}=Y(),a=K(()=>n.disabled?.value||t.disabled);n.contentId||=fh(void 0,`reka-select-content`),Ki(()=>{n.onTriggerChange(i.value)});let{getItems:o}=vg(),{search:s,handleTypeaheadSearch:c,resetTypeahead:l}=gh();function u(){a.value||(n.onOpenChange(!0),l())}function d(e){u(),n.triggerPointerDownPosRef.value={x:Math.round(e.pageX),y:Math.round(e.pageY)}}return(e,t)=>(R(),B(M(Wg),{"as-child":``,reference:e.reference},{default:N(()=>[H(M(wh),{ref:M(r),role:`combobox`,type:e.as===`button`?`button`:void 0,"aria-controls":M(n).contentId,"aria-expanded":M(n).open.value||!1,"aria-required":M(n).required?.value,"aria-autocomplete":`none`,disabled:a.value,dir:M(n)?.dir.value,"data-state":M(n)?.open.value?`open`:`closed`,"data-disabled":a.value?``:void 0,"data-placeholder":M(hb)(M(n).modelValue?.value)?``:void 0,"as-child":e.asChild,as:e.as,onClick:t[0]||=e=>{(e?.currentTarget)?.focus()},onPointerdown:t[1]||=e=>{if(e.pointerType===`touch`)return e.preventDefault();let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&(d(e),e.preventDefault())},onPointerup:t[2]||=Yl(e=>{e.pointerType===`touch`&&d(e)},[`prevent`]),onKeydown:t[3]||=e=>{let t=M(s)!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&t&&e.key===` `||(M(c)(e.key,M(o)()),M(db).includes(e.key)&&(u(),e.preventDefault()))}},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`type`,`aria-controls`,`aria-expanded`,`aria-required`,`disabled`,`dir`,`data-state`,`data-disabled`,`data-placeholder`,`as-child`,`as`])]),_:3},8,[`reference`]))}}),Bb=P({__name:`SelectValue`,props:{placeholder:{type:String,required:!1,default:``},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,{forwardRef:n,currentElement:r}=Y(),i=_b();Ki(()=>{i.valueElement=r});let a=K(()=>{let e=[],t=Array.from(i.optionsSet.value),n=e=>t.find(t=>pb(e,t.value,i.by));return e=Array.isArray(i.modelValue.value)?i.modelValue.value.map(e=>n(e)?.textContent??``):[n(i.modelValue.value)?.textContent??``],e.filter(Boolean)}),o=K(()=>a.value.length?a.value.join(`, `):t.placeholder);return(e,r)=>(R(),B(M(wh),{ref:M(n),as:e.as,"as-child":e.asChild,style:{pointerEvents:`none`},"data-placeholder":a.value.length?void 0:t.placeholder},{default:N(()=>[I(e.$slots,`default`,{selectedLabel:a.value,modelValue:M(i).modelValue.value},()=>[U(A(o.value),1)])]),_:3},8,[`as`,`as-child`,`data-placeholder`]))}}),Vb=P({__name:`SelectViewport`,props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{nonce:n}=bn(t),r=yy(n),i=Cb(),a=i.position===`item-aligned`?Eb():void 0,{forwardRef:o,currentElement:s}=Y();Ki(()=>{i?.onViewportChange(s.value)});let c=j(0);function l(e){let t=e.currentTarget,{shouldExpandOnScrollRef:n,contentWrapper:r}=a??{};if(n?.value&&r?.value){let e=Math.abs(c.value-t.scrollTop);if(e>0){let n=window.innerHeight-20,i=Number.parseFloat(r.value.style.minHeight),a=Number.parseFloat(r.value.style.height),o=Math.max(i,a);if(o<n){let i=o+e,a=Math.min(n,i),s=i-a;r.value.style.height=`${a}px`,r.value.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,r.value.style.justifyContent=`flex-end`)}}}c.value=t.scrollTop}return(e,n)=>(R(),z(L,null,[H(M(wh),G({ref:M(o),"data-reka-select-viewport":``,role:`presentation`},{...e.$attrs,...t},{style:{position:`relative`,flex:1,overflow:`hidden auto`},onScroll:l}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16),H(M(wh),{as:`style`,nonce:M(r)},{default:N(()=>n[0]||=[U(` /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-select-viewport] { scrollbar-width:none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } [data-reka-select-viewport]::-webkit-scrollbar { display: none; } `)]),_:1,__:[0]},8,[`nonce`])],64))}}),[Hb,Ub]=Wp(`SwitchRoot`),Wb=P({__name:`SwitchRoot`,props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},disabled:{type:Boolean,required:!1},id:{type:String,required:!1},value:{type:String,required:!1,default:`on`},trueValue:{type:null,required:!1,default:()=>!0},falseValue:{type:null,required:!1,default:()=>!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,{disabled:i}=bn(n),a=Cm(n,`modelValue`,r,{defaultValue:n.defaultValue??n.falseValue,passive:n.modelValue===void 0}),o=K(()=>a.value===n.trueValue);function s(){i.value||(a.value=o.value?n.falseValue:n.trueValue)}let{forwardRef:c,currentElement:l}=Y(),u=Gm(l),d=K(()=>n.id&&l.value?document.querySelector(`[for="${n.id}"]`)?.innerText:void 0);return Ub({checked:o,toggleCheck:s,disabled:i}),(e,t)=>(R(),B(M(wh),G(e.$attrs,{id:e.id,ref:M(c),role:`switch`,type:e.as===`button`?`button`:void 0,value:e.value,"aria-label":e.$attrs[`aria-label`]||d.value,"aria-checked":o.value,"aria-required":e.required,"data-state":o.value?`checked`:`unchecked`,"data-disabled":M(i)?``:void 0,"as-child":e.asChild,as:e.as,disabled:M(i),onClick:s,onKeydown:Zl(Yl(s,[`prevent`]),[`enter`])}),{default:N(()=>[I(e.$slots,`default`,{modelValue:M(a),checked:o.value}),M(u)&&e.name?(R(),B(M(xg),{key:0,type:`checkbox`,name:e.name,disabled:M(i),required:e.required,value:e.value,checked:o.value},null,8,[`name`,`disabled`,`required`,`value`,`checked`])):W(`v-if`,!0)]),_:3},16,[`id`,`type`,`value`,`aria-label`,`aria-checked`,`aria-required`,`data-state`,`data-disabled`,`as-child`,`as`,`disabled`,`onKeydown`]))}}),Gb=P({__name:`SwitchThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=Hb();return Y(),(e,n)=>(R(),B(M(wh),{"data-state":M(t).checked.value?`checked`:`unchecked`,"data-disabled":M(t).disabled.value?``:void 0,"as-child":e.asChild,as:e.as},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`data-state`,`data-disabled`,`as-child`,`as`]))}}),[Kb,qb]=Wp(`TabsRoot`),Jb=P({__name:`TabsRoot`,props:{defaultValue:{type:null,required:!1},orientation:{type:String,required:!1,default:`horizontal`},dir:{type:String,required:!1},activationMode:{type:String,required:!1,default:`automatic`},modelValue:{type:null,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,{orientation:i,unmountOnHide:a,dir:o}=bn(n),s=zm(o);Y();let c=Cm(n,`modelValue`,r,{defaultValue:n.defaultValue,passive:n.modelValue===void 0}),l=j(),u=dn(new Set);return qb({modelValue:c,changeModelValue:e=>{c.value=e},orientation:i,dir:s,unmountOnHide:a,activationMode:n.activationMode,baseId:fh(void 0,`reka-tabs`),tabsList:l,contentIds:u,registerContent:e=>{u.value=new Set([...u.value,e])},unregisterContent:e=>{let t=new Set(u.value);t.delete(e),u.value=t}}),(e,t)=>(R(),B(M(wh),{dir:M(s),"data-orientation":M(i),"as-child":e.asChild,as:e.as},{default:N(()=>[I(e.$slots,`default`,{modelValue:M(c)})]),_:3},8,[`dir`,`data-orientation`,`as-child`,`as`]))}});function Yb(e,t){return`${e}-trigger-${t}`}function Xb(e,t){return`${e}-content-${t}`}var Zb=P({__name:`TabsList`,props:{loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let{loop:t}=bn(e),{forwardRef:n,currentElement:r}=Y(),i=Kb();return i.tabsList=r,(e,r)=>(R(),B(M(Cy),{"as-child":``,orientation:M(i).orientation.value,dir:M(i).dir.value,loop:M(t)},{default:N(()=>[H(M(wh),{ref:M(n),role:`tablist`,"as-child":e.asChild,as:e.as,"aria-orientation":M(i).orientation.value},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`aria-orientation`])]),_:3},8,[`orientation`,`dir`,`loop`]))}}),Qb=P({__name:`TabsTrigger`,props:{value:{type:[String,Number],required:!0},disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,{forwardRef:n}=Y(),r=Kb(),i=K(()=>Yb(r.baseId,t.value)),a=K(()=>r.contentIds.value.has(t.value)?Xb(r.baseId,t.value):void 0),o=K(()=>t.value===r.modelValue.value);return(e,t)=>(R(),B(M(wy),{"as-child":``,focusable:!e.disabled,active:o.value},{default:N(()=>[H(M(wh),{id:i.value,ref:M(n),role:`tab`,type:e.as===`button`?`button`:void 0,as:e.as,"as-child":e.asChild,"aria-selected":o.value?`true`:`false`,"aria-controls":a.value,"data-state":o.value?`active`:`inactive`,disabled:e.disabled,"data-disabled":e.disabled?``:void 0,"data-orientation":M(r).orientation.value,onMousedown:t[0]||=Yl(t=>{!e.disabled&&t.ctrlKey===!1?M(r).changeModelValue(e.value):t.preventDefault()},[`left`]),onKeydown:t[1]||=Zl(t=>M(r).changeModelValue(e.value),[`enter`,`space`]),onFocus:t[2]||=()=>{let t=M(r).activationMode!==`manual`;!o.value&&!e.disabled&&t&&M(r).changeModelValue(e.value)}},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`id`,`type`,`as`,`as-child`,`aria-selected`,`aria-controls`,`data-state`,`disabled`,`data-disabled`,`data-orientation`])]),_:3},8,[`focusable`,`active`]))}}),[$b,ex]=Wp(`TooltipProvider`),tx=P({inheritAttrs:!1,__name:`TooltipProvider`,props:{delayDuration:{type:Number,required:!1,default:700},skipDelayDuration:{type:Number,required:!1,default:300},disableHoverableContent:{type:Boolean,required:!1,default:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:!1},content:{type:Object,required:!1}},setup(e){let{delayDuration:t,skipDelayDuration:n,disableHoverableContent:r,disableClosingTrigger:i,ignoreNonKeyboardFocus:a,disabled:o,content:s}=bn(e);Y();let c=j(!0),l=j(!1),{start:u,stop:d}=fm(()=>{c.value=!0},n,{immediate:!1});return ex({isOpenDelayed:c,delayDuration:t,onOpen(){d(),c.value=!1},onClose(){u()},isPointerInTransitRef:l,disableHoverableContent:r,disableClosingTrigger:i,disabled:o,ignoreNonKeyboardFocus:a,content:s}),(e,t)=>I(e.$slots,`default`)}}),nx=`tooltip.open`,[rx,ix]=Wp(`TooltipRoot`),ax=P({__name:`TooltipRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},delayDuration:{type:Number,required:!1,default:void 0},disableHoverableContent:{type:Boolean,required:!1,default:void 0},disableClosingTrigger:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1,default:void 0},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:void 0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t;Y();let i=$b(),a=K(()=>n.disableHoverableContent??i.disableHoverableContent.value),o=K(()=>n.disableClosingTrigger??i.disableClosingTrigger.value),s=K(()=>n.disabled??i.disabled.value),c=K(()=>n.delayDuration??i.delayDuration.value),l=K(()=>n.ignoreNonKeyboardFocus??i.ignoreNonKeyboardFocus.value),u=Cm(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0});Dr(u,e=>{i.onClose&&(e?(i.onOpen(),document.dispatchEvent(new CustomEvent(nx))):i.onClose())});let d=j(!1),f=j(),p=K(()=>u.value?d.value?`delayed-open`:`instant-open`:`closed`),{start:m,stop:h}=fm(()=>{d.value=!0,u.value=!0},c,{immediate:!1});function g(){h(),d.value=!1,u.value=!0}function _(){h(),u.value=!1}function v(){m()}return ix({contentId:``,open:u,stateAttribute:p,trigger:f,onTriggerChange(e){f.value=e},onTriggerEnter(){i.isOpenDelayed.value?v():g()},onTriggerLeave(){a.value?_():h()},onOpen:g,onClose:_,disableHoverableContent:a,disableClosingTrigger:o,disabled:s,ignoreNonKeyboardFocus:l}),(e,t)=>(R(),B(M(Ug),null,{default:N(()=>[I(e.$slots,`default`,{open:M(u)})]),_:3}))}}),ox=P({__name:`TooltipContentImpl`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1,default:void 0},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1,default:void 0},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1,default:void 0},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=rx(),a=$b(),{forwardRef:o,currentElement:s}=Y(),c=K(()=>n.ariaLabel||s.value?.textContent),l=K(()=>{let{ariaLabel:e,...t}=n;return Nm(t,a.content.value??{},{side:`top`,sideOffset:0,align:`center`,avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:`partial`,hideWhenDetached:!1})});return Ki(()=>{gm(window,`scroll`,e=>{e.target?.contains(i.trigger.value)&&i.onClose()},{capture:!0}),gm(window,nx,i.onClose)}),(e,t)=>(R(),B(M(Ih),{"as-child":``,"disable-outside-pointer-events":!1,onEscapeKeyDown:t[0]||=e=>r(`escapeKeyDown`,e),onPointerDownOutside:t[1]||=e=>{M(i).disableClosingTrigger.value&&M(i).trigger.value?.contains(e.target)&&e.preventDefault(),r(`pointerDownOutside`,e)},onFocusOutside:t[2]||=Yl(()=>{},[`prevent`]),onDismiss:t[3]||=e=>M(i).onClose()},{default:N(()=>[H(M(ny),G({ref:M(o),"data-state":M(i).stateAttribute.value},{...e.$attrs,...l.value},{style:{"--reka-tooltip-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-tooltip-content-available-width":`var(--reka-popper-available-width)`,"--reka-tooltip-content-available-height":`var(--reka-popper-available-height)`,"--reka-tooltip-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-tooltip-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:N(()=>[I(e.$slots,`default`),H(M(yg),{id:M(i).contentId,role:`tooltip`},{default:N(()=>[U(A(c.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),sx=P({__name:`TooltipContentHoverable`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},setup(e){let t=Km(e),{forwardRef:n,currentElement:r}=Y(),{trigger:i,onClose:a}=rx(),o=$b(),{isPointerInTransit:s,onPointerExit:c}=Jm(i,r);return o.isPointerInTransitRef=s,c(()=>{a()}),(e,r)=>(R(),B(ox,G({ref:M(n)},M(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),cx=P({__name:`TooltipContent`,props:{forceMount:{type:Boolean,required:!1},ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=rx(),a=qm(n,r),{forwardRef:o}=Y();return(e,t)=>(R(),B(M(xh),{present:e.forceMount||M(i).open.value},{default:N(()=>[(R(),B(aa(M(i).disableHoverableContent.value?ox:sx),G({ref:M(o)},M(a)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),lx=P({__name:`TooltipPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(R(),B(M(mg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),ux=P({__name:`TooltipTrigger`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=rx(),r=$b();n.contentId||=fh(void 0,`reka-tooltip-content`);let{forwardRef:i,currentElement:a}=Y(),o=j(!1),s=j(!1),c=K(()=>n.disabled.value?{}:{click:h,focus:p,pointermove:d,pointerleave:f,pointerdown:u,blur:m});Ki(()=>{n.onTriggerChange(a.value)});function l(){setTimeout(()=>{o.value=!1},1)}function u(){n.open&&!n.disableClosingTrigger.value&&n.onClose(),o.value=!0,document.addEventListener(`pointerup`,l,{once:!0})}function d(e){e.pointerType!==`touch`&&!s.value&&!r.isPointerInTransitRef.value&&(n.onTriggerEnter(),s.value=!0)}function f(){n.onTriggerLeave(),s.value=!1}function p(e){o.value||n.ignoreNonKeyboardFocus.value&&!e.target.matches?.(`:focus-visible`)||n.onOpen()}function m(){n.onClose()}function h(){n.disableClosingTrigger.value||n.onClose()}return(e,r)=>(R(),B(M(Wg),{"as-child":``,reference:e.reference},{default:N(()=>[H(M(wh),G({ref:M(i),"aria-describedby":M(n).open.value?M(n).contentId:void 0,"data-state":M(n).stateAttribute.value,as:e.as,"as-child":t.asChild,"data-grace-area-trigger":``},da(c.value)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`aria-describedby`,`data-state`,`as`,`as-child`])]),_:3},8,[`reference`]))}}),dx=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},fx=(e,t)=>({classGroupId:e,validator:t}),px=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),mx=`-`,hx=[],gx=`arbitrary..`,_x=e=>{let t=bx(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return yx(e);let n=e.split(mx);return vx(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?dx(i,t):t:i||hx}return n[e]||hx}}},vx=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=vx(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(mx):e.slice(t).join(mx),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},yx=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?gx+r:void 0})(),bx=e=>{let{theme:t,classGroups:n}=e;return xx(n,t)},xx=(e,t)=>{let n=px();for(let r in e){let i=e[r];Sx(i,n,r,t)}return n},Sx=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];Cx(i,t,n,r)}},Cx=(e,t,n,r)=>{if(typeof e==`string`){wx(e,t,n);return}if(typeof e==`function`){Tx(e,t,n,r);return}Ex(e,t,n,r)},wx=(e,t,n)=>{let r=e===``?t:Dx(t,e);r.classGroupId=n},Tx=(e,t,n,r)=>{if(Ox(e)){Sx(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(fx(n,e))},Ex=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];Sx(o,Dx(t,a),n,r)}},Dx=(e,t)=>{let n=e,r=t.split(mx),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=px(),n.nextPart.set(t,i)),n=i}return n},Ox=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,kx=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},Ax=`!`,jx=`:`,Mx=[],Nx=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),Px=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===jx){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(Ax)?(c=s.slice(0,-1),l=!0):s.startsWith(Ax)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return Nx(t,l,c,u)};if(t){let e=t+jx,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):Nx(Mx,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},Fx=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},Ix=e=>({cache:kx(e.cacheSize),parseClassName:Px(e),sortModifiers:Fx(e),postfixLookupClassGroupIds:Lx(e),..._x(e)}),Lx=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e<n.length;e++)t[n[e]]=!0;return t},Rx=/\s+/,zx=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(Rx),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h){l=t+(l.length>0?` `+l:l);continue}if(g=r(p),!g){l=t+(l.length>0?` `+l:l);continue}h=!1}let _=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),v=f?_+Ax:_,y=v+g;if(s.indexOf(y)>-1)continue;s.push(y);let b=i(g,h);for(let e=0;e<b.length;++e){let t=b[e];s.push(v+t)}l=t+(l.length>0?` `+l:l)}return l},Bx=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=Vx(n))&&(i&&(i+=` `),i+=r);return i},Vx=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=Vx(e[r]))&&(n&&(n+=` `),n+=t);return n},Hx=(e,...t)=>{let n,r,i,a,o=o=>(n=Ix(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=zx(e,n);return i(e,a),a};return a=o,(...e)=>a(Bx(...e))},Ux=[],Wx=e=>{let t=t=>t[e]||Ux;return t.isThemeGetter=!0,t},Gx=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Kx=/^\((?:(\w[\w-]*):)?(.+)\)$/i,qx=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Jx=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Yx=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Xx=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Zx=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Qx=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,$x=e=>qx.test(e),eS=e=>!!e&&!Number.isNaN(Number(e)),tS=e=>!!e&&Number.isInteger(Number(e)),nS=e=>e.endsWith(`%`)&&eS(e.slice(0,-1)),rS=e=>Jx.test(e),iS=()=>!0,aS=e=>Yx.test(e)&&!Xx.test(e),oS=()=>!1,sS=e=>Zx.test(e),cS=e=>Qx.test(e),lS=e=>!X(e)&&!Z(e),uS=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),dS=e=>ES(e,AS,oS),X=e=>Gx.test(e),fS=e=>ES(e,jS,aS),pS=e=>ES(e,MS,eS),mS=e=>ES(e,PS,iS),hS=e=>ES(e,NS,oS),gS=e=>ES(e,OS,oS),_S=e=>ES(e,kS,cS),vS=e=>ES(e,FS,sS),Z=e=>Kx.test(e),yS=e=>DS(e,jS),bS=e=>DS(e,NS),xS=e=>DS(e,OS),SS=e=>DS(e,AS),CS=e=>DS(e,kS),wS=e=>DS(e,FS,!0),TS=e=>DS(e,PS,!0),ES=(e,t,n)=>{let r=Gx.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},DS=(e,t,n=!1)=>{let r=Kx.exec(e);return r?r[1]?t(r[1]):n:!1},OS=e=>e===`position`||e===`percentage`,kS=e=>e===`image`||e===`url`,AS=e=>e===`length`||e===`size`||e===`bg-size`,jS=e=>e===`length`,MS=e=>e===`number`,NS=e=>e===`family-name`,PS=e=>e===`number`||e===`weight`,FS=e=>e===`shadow`,IS=Hx(()=>{let e=Wx(`color`),t=Wx(`font`),n=Wx(`text`),r=Wx(`font-weight`),i=Wx(`tracking`),a=Wx(`leading`),o=Wx(`breakpoint`),s=Wx(`container`),c=Wx(`spacing`),l=Wx(`radius`),u=Wx(`shadow`),d=Wx(`inset-shadow`),f=Wx(`text-shadow`),p=Wx(`drop-shadow`),m=Wx(`blur`),h=Wx(`perspective`),g=Wx(`aspect`),_=Wx(`ease`),v=Wx(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),Z,X],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[Z,X,c],T=()=>[$x,`full`,`auto`,...w()],ee=()=>[tS,`none`,`subgrid`,Z,X],E=()=>[`auto`,{span:[`full`,tS,Z,X]},tS,Z,X],te=()=>[tS,`auto`,Z,X],ne=()=>[`auto`,`min`,`max`,`fr`,Z,X],re=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],D=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],ie=()=>[`auto`,...w()],ae=()=>[$x,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],oe=()=>[$x,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],se=()=>[$x,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],O=()=>[e,Z,X],ce=()=>[...b(),xS,gS,{position:[Z,X]}],le=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ue=()=>[`auto`,`cover`,`contain`,SS,dS,{size:[Z,X]}],de=()=>[nS,yS,fS],fe=()=>[``,`none`,`full`,l,Z,X],pe=()=>[``,eS,yS,fS],me=()=>[`solid`,`dashed`,`dotted`,`double`],he=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],ge=()=>[eS,nS,xS,gS],_e=()=>[``,`none`,m,Z,X],ve=()=>[`none`,eS,Z,X],ye=()=>[`none`,eS,Z,X],k=()=>[eS,Z,X],be=()=>[$x,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[rS],breakpoint:[rS],color:[iS],container:[rS],"drop-shadow":[rS],ease:[`in`,`out`,`in-out`],font:[lS],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[rS],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[rS],shadow:[rS],spacing:[`px`,eS],text:[rS],"text-shadow":[rS],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,$x,X,Z,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,Z,X]}],"container-named":[uS],columns:[{columns:[eS,X,Z,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[tS,`auto`,Z,X]}],basis:[{basis:[$x,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[eS,$x,`auto`,`initial`,`none`,X]}],grow:[{grow:[``,eS,Z,X]}],shrink:[{shrink:[``,eS,Z,X]}],order:[{order:[tS,`first`,`last`,`none`,Z,X]}],"grid-cols":[{"grid-cols":ee()}],"col-start-end":[{col:E()}],"col-start":[{"col-start":te()}],"col-end":[{"col-end":te()}],"grid-rows":[{"grid-rows":ee()}],"row-start-end":[{row:E()}],"row-start":[{"row-start":te()}],"row-end":[{"row-end":te()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":ne()}],"auto-rows":[{"auto-rows":ne()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...re(),`normal`]}],"justify-items":[{"justify-items":[...D(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...D()]}],"align-content":[{content:[`normal`,...re()]}],"align-items":[{items:[...D(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...D(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":re()}],"place-items":[{"place-items":[...D(),`baseline`]}],"place-self":[{"place-self":[`auto`,...D()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:ie()}],mx:[{mx:ie()}],my:[{my:ie()}],ms:[{ms:ie()}],me:[{me:ie()}],mbs:[{mbs:ie()}],mbe:[{mbe:ie()}],mt:[{mt:ie()}],mr:[{mr:ie()}],mb:[{mb:ie()}],ml:[{ml:ie()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:ae()}],"inline-size":[{inline:[`auto`,...oe()]}],"min-inline-size":[{"min-inline":[`auto`,...oe()]}],"max-inline-size":[{"max-inline":[`none`,...oe()]}],"block-size":[{block:[`auto`,...se()]}],"min-block-size":[{"min-block":[`auto`,...se()]}],"max-block-size":[{"max-block":[`none`,...se()]}],w:[{w:[s,`screen`,...ae()]}],"min-w":[{"min-w":[s,`screen`,`none`,...ae()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...ae()]}],h:[{h:[`screen`,`lh`,...ae()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...ae()]}],"max-h":[{"max-h":[`screen`,`lh`,...ae()]}],"font-size":[{text:[`base`,n,yS,fS]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,TS,mS]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,nS,X]}],"font-family":[{font:[bS,hS,t]}],"font-features":[{"font-features":[X]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,Z,X]}],"line-clamp":[{"line-clamp":[eS,`none`,Z,pS]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,Z,X]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,Z,X]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:O()}],"text-color":[{text:O()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...me(),`wavy`]}],"text-decoration-thickness":[{decoration:[eS,`from-font`,`auto`,Z,fS]}],"text-decoration-color":[{decoration:O()}],"underline-offset":[{"underline-offset":[eS,`auto`,Z,X]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"tab-size":[{tab:[tS,Z,X]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,Z,X]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,Z,X]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:ce()}],"bg-repeat":[{bg:le()}],"bg-size":[{bg:ue()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},tS,Z,X],radial:[``,Z,X],conic:[tS,Z,X]},CS,_S]}],"bg-color":[{bg:O()}],"gradient-from-pos":[{from:de()}],"gradient-via-pos":[{via:de()}],"gradient-to-pos":[{to:de()}],"gradient-from":[{from:O()}],"gradient-via":[{via:O()}],"gradient-to":[{to:O()}],rounded:[{rounded:fe()}],"rounded-s":[{"rounded-s":fe()}],"rounded-e":[{"rounded-e":fe()}],"rounded-t":[{"rounded-t":fe()}],"rounded-r":[{"rounded-r":fe()}],"rounded-b":[{"rounded-b":fe()}],"rounded-l":[{"rounded-l":fe()}],"rounded-ss":[{"rounded-ss":fe()}],"rounded-se":[{"rounded-se":fe()}],"rounded-ee":[{"rounded-ee":fe()}],"rounded-es":[{"rounded-es":fe()}],"rounded-tl":[{"rounded-tl":fe()}],"rounded-tr":[{"rounded-tr":fe()}],"rounded-br":[{"rounded-br":fe()}],"rounded-bl":[{"rounded-bl":fe()}],"border-w":[{border:pe()}],"border-w-x":[{"border-x":pe()}],"border-w-y":[{"border-y":pe()}],"border-w-s":[{"border-s":pe()}],"border-w-e":[{"border-e":pe()}],"border-w-bs":[{"border-bs":pe()}],"border-w-be":[{"border-be":pe()}],"border-w-t":[{"border-t":pe()}],"border-w-r":[{"border-r":pe()}],"border-w-b":[{"border-b":pe()}],"border-w-l":[{"border-l":pe()}],"divide-x":[{"divide-x":pe()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":pe()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...me(),`hidden`,`none`]}],"divide-style":[{divide:[...me(),`hidden`,`none`]}],"border-color":[{border:O()}],"border-color-x":[{"border-x":O()}],"border-color-y":[{"border-y":O()}],"border-color-s":[{"border-s":O()}],"border-color-e":[{"border-e":O()}],"border-color-bs":[{"border-bs":O()}],"border-color-be":[{"border-be":O()}],"border-color-t":[{"border-t":O()}],"border-color-r":[{"border-r":O()}],"border-color-b":[{"border-b":O()}],"border-color-l":[{"border-l":O()}],"divide-color":[{divide:O()}],"outline-style":[{outline:[...me(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[eS,Z,X]}],"outline-w":[{outline:[``,eS,yS,fS]}],"outline-color":[{outline:O()}],shadow:[{shadow:[``,`none`,u,wS,vS]}],"shadow-color":[{shadow:O()}],"inset-shadow":[{"inset-shadow":[`none`,d,wS,vS]}],"inset-shadow-color":[{"inset-shadow":O()}],"ring-w":[{ring:pe()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:O()}],"ring-offset-w":[{"ring-offset":[eS,fS]}],"ring-offset-color":[{"ring-offset":O()}],"inset-ring-w":[{"inset-ring":pe()}],"inset-ring-color":[{"inset-ring":O()}],"text-shadow":[{"text-shadow":[`none`,f,wS,vS]}],"text-shadow-color":[{"text-shadow":O()}],opacity:[{opacity:[eS,Z,X]}],"mix-blend":[{"mix-blend":[...he(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":he()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[eS]}],"mask-image-linear-from-pos":[{"mask-linear-from":ge()}],"mask-image-linear-to-pos":[{"mask-linear-to":ge()}],"mask-image-linear-from-color":[{"mask-linear-from":O()}],"mask-image-linear-to-color":[{"mask-linear-to":O()}],"mask-image-t-from-pos":[{"mask-t-from":ge()}],"mask-image-t-to-pos":[{"mask-t-to":ge()}],"mask-image-t-from-color":[{"mask-t-from":O()}],"mask-image-t-to-color":[{"mask-t-to":O()}],"mask-image-r-from-pos":[{"mask-r-from":ge()}],"mask-image-r-to-pos":[{"mask-r-to":ge()}],"mask-image-r-from-color":[{"mask-r-from":O()}],"mask-image-r-to-color":[{"mask-r-to":O()}],"mask-image-b-from-pos":[{"mask-b-from":ge()}],"mask-image-b-to-pos":[{"mask-b-to":ge()}],"mask-image-b-from-color":[{"mask-b-from":O()}],"mask-image-b-to-color":[{"mask-b-to":O()}],"mask-image-l-from-pos":[{"mask-l-from":ge()}],"mask-image-l-to-pos":[{"mask-l-to":ge()}],"mask-image-l-from-color":[{"mask-l-from":O()}],"mask-image-l-to-color":[{"mask-l-to":O()}],"mask-image-x-from-pos":[{"mask-x-from":ge()}],"mask-image-x-to-pos":[{"mask-x-to":ge()}],"mask-image-x-from-color":[{"mask-x-from":O()}],"mask-image-x-to-color":[{"mask-x-to":O()}],"mask-image-y-from-pos":[{"mask-y-from":ge()}],"mask-image-y-to-pos":[{"mask-y-to":ge()}],"mask-image-y-from-color":[{"mask-y-from":O()}],"mask-image-y-to-color":[{"mask-y-to":O()}],"mask-image-radial":[{"mask-radial":[Z,X]}],"mask-image-radial-from-pos":[{"mask-radial-from":ge()}],"mask-image-radial-to-pos":[{"mask-radial-to":ge()}],"mask-image-radial-from-color":[{"mask-radial-from":O()}],"mask-image-radial-to-color":[{"mask-radial-to":O()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[eS]}],"mask-image-conic-from-pos":[{"mask-conic-from":ge()}],"mask-image-conic-to-pos":[{"mask-conic-to":ge()}],"mask-image-conic-from-color":[{"mask-conic-from":O()}],"mask-image-conic-to-color":[{"mask-conic-to":O()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:ce()}],"mask-repeat":[{mask:le()}],"mask-size":[{mask:ue()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,Z,X]}],filter:[{filter:[``,`none`,Z,X]}],blur:[{blur:_e()}],brightness:[{brightness:[eS,Z,X]}],contrast:[{contrast:[eS,Z,X]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,wS,vS]}],"drop-shadow-color":[{"drop-shadow":O()}],grayscale:[{grayscale:[``,eS,Z,X]}],"hue-rotate":[{"hue-rotate":[eS,Z,X]}],invert:[{invert:[``,eS,Z,X]}],saturate:[{saturate:[eS,Z,X]}],sepia:[{sepia:[``,eS,Z,X]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,Z,X]}],"backdrop-blur":[{"backdrop-blur":_e()}],"backdrop-brightness":[{"backdrop-brightness":[eS,Z,X]}],"backdrop-contrast":[{"backdrop-contrast":[eS,Z,X]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,eS,Z,X]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[eS,Z,X]}],"backdrop-invert":[{"backdrop-invert":[``,eS,Z,X]}],"backdrop-opacity":[{"backdrop-opacity":[eS,Z,X]}],"backdrop-saturate":[{"backdrop-saturate":[eS,Z,X]}],"backdrop-sepia":[{"backdrop-sepia":[``,eS,Z,X]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,Z,X]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[eS,`initial`,Z,X]}],ease:[{ease:[`linear`,`initial`,_,Z,X]}],delay:[{delay:[eS,Z,X]}],animate:[{animate:[`none`,v,Z,X]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,Z,X]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:ve()}],"rotate-x":[{"rotate-x":ve()}],"rotate-y":[{"rotate-y":ve()}],"rotate-z":[{"rotate-z":ve()}],scale:[{scale:ye()}],"scale-x":[{"scale-x":ye()}],"scale-y":[{"scale-y":ye()}],"scale-z":[{"scale-z":ye()}],"scale-3d":[`scale-3d`],skew:[{skew:k()}],"skew-x":[{"skew-x":k()}],"skew-y":[{"skew-y":k()}],transform:[{transform:[Z,X,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:be()}],"translate-x":[{"translate-x":be()}],"translate-y":[{"translate-y":be()}],"translate-z":[{"translate-z":be()}],"translate-none":[`translate-none`],zoom:[{zoom:[tS,Z,X]}],accent:[{accent:O()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:O()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,Z,X]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":O()}],"scrollbar-track-color":[{"scrollbar-track":O()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,Z,X]}],fill:[{fill:[`none`,...O()]}],"stroke-w":[{stroke:[eS,yS,fS,pS]}],stroke:[{stroke:[`none`,...O()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function LS(...e){return IS(Fp(e))}async function RS(e){if(navigator.clipboard){await navigator.clipboard.writeText(e);return}let t=document.createElement(`textarea`);t.value=e,t.style.cssText=`position:fixed;top:-9999px;left:-9999px;opacity:0`,document.body.appendChild(t),t.select(),document.execCommand(`copy`),document.body.removeChild(t)}var Q=P({__name:`Button`,props:{variant:{},size:{},class:{},asChild:{type:Boolean},as:{default:`button`}},setup(e){let t=e;return(n,r)=>(R(),B(M(wh),{as:e.as,"as-child":e.asChild,class:k(M(LS)(M(zS)({variant:e.variant,size:e.size}),t.class))},{default:N(()=>[I(n.$slots,`default`)]),_:3},8,[`as`,`as-child`,`class`]))}}),zS=Rp(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground`,outline:`border border-input bg-background hover:bg-accent hover:text-accent-foreground`,destructive:`bg-destructive text-white hover:bg-destructive/90`},size:{sm:`h-8 rounded-md px-3 text-xs`,default:`h-9 px-4 py-2`,icon:`size-9`}},defaultVariants:{variant:`default`,size:`default`}}),BS=P({__name:`Input`,props:ka({class:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=Za(e,`modelValue`);return(e,n)=>_r((R(),z(`input`,{"onUpdate:modelValue":n[0]||=e=>t.value=e,class:k(M(LS)(`flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50`,e.$props.class))},null,2)),[[Fl,t.value]])}}),VS=P({__name:`SelectTrigger`,props:{disabled:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=Km(t);return(e,r)=>(R(),B(M(zb),G(M(n),{class:M(LS)(`flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1`,t.class)}),{default:N(()=>[I(e.$slots,`default`),H(M(Mb),{"as-child":``},{default:N(()=>[H(M(ku),{class:`size-4 opacity-50`})]),_:1})]),_:3},16,[`class`]))}}),HS=P({__name:`SelectContent`,props:{forceMount:{type:Boolean},position:{default:`popper`},bodyLock:{type:Boolean},side:{},sideOffset:{},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=qm(n,t);return(t,i)=>(R(),B(M(Rb),null,{default:N(()=>[H(M(jb),G(M(r),{class:M(LS)(`relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95`,e.position===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1`,n.class)}),{default:N(()=>[H(M(Vb),{class:k(M(LS)(`p-1`,e.position===`popper`&&`h-[var(--reka-select-trigger-height)] w-full min-w-[var(--reka-select-trigger-width)]`))},{default:N(()=>[I(t.$slots,`default`)]),_:3},8,[`class`])]),_:3},16,[`class`])]),_:3}))}}),US={class:`absolute left-2 flex size-3.5 items-center justify-center`},WS=P({__name:`SelectItem`,props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=Km(t);return(e,r)=>(R(),B(M(Fb),G(M(n),{class:M(LS)(`relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,t.class)}),{default:N(()=>[V(`span`,US,[H(M(Ib),null,{default:N(()=>[H(M(Ou),{class:`size-4`})]),_:1})]),H(M(Lb),null,{default:N(()=>[I(e.$slots,`default`)]),_:3})]),_:3},16,[`class`]))}}),GS=P({__name:`TabsList`,props:{loop:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e;return(e,n)=>(R(),B(M(Zb),G(t,{class:M(LS)(`inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground`,t.class)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`class`]))}}),KS=P({__name:`TabsTrigger`,props:{value:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=Km(t);return(e,r)=>(R(),B(M(Qb),G(M(n),{class:M(LS)(`inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow`,t.class)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`class`]))}}),qS=P({__name:`PopoverContent`,props:{forceMount:{type:Boolean},side:{},sideOffset:{default:4},sideFlip:{type:Boolean},align:{default:`center`},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=qm(n,t);return(e,t)=>(R(),B(M($y),null,{default:N(()=>[H(M(Qy),G(M(r),{class:M(LS)(`z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95`,n.class)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`class`])]),_:3}))}}),JS=P({__name:`Badge`,props:{variant:{},class:{}},setup(e){return(t,n)=>(R(),z(`span`,{class:k(M(LS)(M(YS)({variant:e.variant}),t.$props.class))},[I(t.$slots,`default`)],2))}}),YS=Rp(`inline-flex items-center gap-1 rounded-md border px-2 py-0.5 text-xs font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`,{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground`,secondary:`border-transparent bg-secondary text-secondary-foreground`,outline:`text-foreground`,destructive:`border-transparent bg-destructive text-white`,source:`border-transparent bg-state-source/15 text-state-source`,machine:`border-transparent bg-state-machine/15 text-state-machine`,reviewed:`border-transparent bg-state-reviewed/15 text-state-reviewed`,"needs-review":`border-transparent bg-state-needs-review/15 text-state-needs-review`}},defaultVariants:{variant:`default`}}),XS=P({__name:`Switch`,props:{defaultValue:{},modelValue:{},disabled:{type:Boolean},id:{},value:{},trueValue:{},falseValue:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=qm(n,t);return(e,t)=>(R(),B(M(Wb),G(M(r),{class:M(LS)(`peer inline-flex h-5 w-9 shrink-0 items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input`,n.class)}),{default:N(()=>[H(M(Gb),{class:`pointer-events-none block size-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0`})]),_:1},16,[`class`]))}}),ZS={class:`flex flex-col gap-3`},QS=[`aria-checked`,`onClick`],$S=[`aria-checked`],eC=[`aria-checked`,`disabled`],tC={key:0,class:`ml-[30px] text-[11px] text-muted-foreground`},nC=[`aria-checked`],rC={class:`border-t pt-2`},iC=[`aria-checked`,`onClick`],aC={class:`border-t pt-2`},oC=[`aria-checked`],sC={class:`border-t pt-2`},cC=[`aria-checked`,`disabled`,`onClick`],lC={class:`truncate`},uC=P({__name:`FilterMenu`,props:{states:{},issues:{},enabled:{},plurality:{},emptySource:{type:Boolean},aiContextUnreviewed:{type:Boolean},noUsages:{type:Boolean},skipTranslate:{type:Boolean},scanIndexed:{type:Boolean}},emits:[`update:states`,`update:issues`,`update:enabled`,`update:plurality`,`update:emptySource`,`update:aiContextUnreviewed`,`update:noUsages`,`update:skipTranslate`],setup(e,{emit:t}){let n=e,r=t,i=K(()=>new Set(n.enabled));function a(e){r(`update:states`,n.states.includes(e)?n.states.filter(t=>t!==e):[...n.states,e])}function o(e){r(`update:plurality`,n.plurality.includes(e)?n.plurality.filter(t=>t!==e):[...n.plurality,e])}function s(e){i.value.has(e)&&r(`update:issues`,n.issues.includes(e)?n.issues.filter(t=>t!==e):[...n.issues,e])}function c(e,t){t?i.value.has(e)||r(`update:enabled`,[...n.enabled,e]):(r(`update:enabled`,n.enabled.filter(t=>t!==e)),n.issues.includes(e)&&r(`update:issues`,n.issues.filter(t=>t!==e)))}return(t,n)=>(R(),z(`div`,ZS,[V(`div`,null,[n[7]||=V(`p`,{class:`mb-1.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground`},`Status`,-1),(R(!0),z(L,null,F(M(up),t=>(R(),z(`button`,{key:t,type:`button`,role:`checkbox`,"aria-checked":e.states.includes(t),class:`flex w-full items-center gap-2 rounded px-1.5 py-1 text-sm hover:bg-accent`,onClick:e=>a(t)},[V(`span`,{class:k([`flex size-4 items-center justify-center rounded border transition-colors`,e.states.includes(t)?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground hover:border-primary hover:bg-primary/10`])},[e.states.includes(t)?(R(),B(M(Ou),{key:0,class:`size-3`})):W(``,!0)],2),U(` `+A(M(pp)[t]),1)],8,QS))),128)),V(`button`,{type:`button`,role:`checkbox`,"aria-checked":e.emptySource,class:`flex w-full items-center gap-2 rounded px-1.5 py-1 text-sm hover:bg-accent`,onClick:n[0]||=t=>r(`update:emptySource`,!e.emptySource)},[V(`span`,{class:k([`flex size-4 items-center justify-center rounded border transition-colors`,e.emptySource?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground hover:border-primary hover:bg-primary/10`])},[e.emptySource?(R(),B(M(Ou),{key:0,class:`size-3`})):W(``,!0)],2),n[4]||=U(` Empty source `,-1)],8,$S),V(`button`,{type:`button`,role:`checkbox`,"aria-checked":e.noUsages,disabled:!e.scanIndexed,class:`flex w-full items-center gap-2 rounded px-1.5 py-1 text-sm enabled:hover:bg-accent disabled:cursor-not-allowed disabled:opacity-50`,onClick:n[1]||=t=>r(`update:noUsages`,!e.noUsages)},[V(`span`,{class:k([`flex size-4 items-center justify-center rounded border transition-colors`,e.noUsages?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground hover:border-primary hover:bg-primary/10`])},[e.noUsages?(R(),B(M(Ou),{key:0,class:`size-3`})):W(``,!0)],2),n[5]||=U(` Unused `,-1)],8,eC),e.scanIndexed?W(``,!0):(R(),z(`p`,tC,`Run a scan first`)),V(`button`,{type:`button`,role:`checkbox`,"aria-checked":e.skipTranslate,class:`flex w-full items-center gap-2 rounded px-1.5 py-1 text-sm hover:bg-accent`,onClick:n[2]||=t=>r(`update:skipTranslate`,!e.skipTranslate)},[V(`span`,{class:k([`flex size-4 items-center justify-center rounded border transition-colors`,e.skipTranslate?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground hover:border-primary hover:bg-primary/10`])},[e.skipTranslate?(R(),B(M(Ou),{key:0,class:`size-3`})):W(``,!0)],2),n[6]||=U(` Skip-translate `,-1)],8,nC)]),V(`div`,rC,[n[8]||=V(`p`,{class:`mb-1.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground`},`Type`,-1),(R(!0),z(L,null,F(M(dp),t=>(R(),z(`button`,{key:t,type:`button`,role:`checkbox`,"aria-checked":e.plurality.includes(t),class:`flex w-full items-center gap-2 rounded px-1.5 py-1 text-sm hover:bg-accent`,onClick:e=>o(t)},[V(`span`,{class:k([`flex size-4 items-center justify-center rounded border transition-colors`,e.plurality.includes(t)?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground hover:border-primary hover:bg-primary/10`])},[e.plurality.includes(t)?(R(),B(M(Ou),{key:0,class:`size-3`})):W(``,!0)],2),U(` `+A(M(mp)[t]),1)],8,iC))),128))]),V(`div`,aC,[n[10]||=V(`p`,{class:`mb-1.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground`},`Context`,-1),V(`button`,{type:`button`,role:`checkbox`,"aria-checked":e.aiContextUnreviewed,class:`flex w-full items-center gap-2 rounded px-1.5 py-1 text-sm hover:bg-accent`,onClick:n[3]||=t=>r(`update:aiContextUnreviewed`,!e.aiContextUnreviewed)},[V(`span`,{class:k([`flex size-4 items-center justify-center rounded border transition-colors`,e.aiContextUnreviewed?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground hover:border-primary hover:bg-primary/10`])},[e.aiContextUnreviewed?(R(),B(M(Ou),{key:0,class:`size-3`})):W(``,!0)],2),H(M(yd),{class:`size-3.5 text-muted-foreground`}),n[9]||=U(` AI context (unreviewed) `,-1)],8,oC)]),V(`div`,sC,[n[11]||=V(`p`,{class:`mb-1.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground`},`Issues`,-1),n[12]||=V(`p`,{class:`mb-1.5 text-[11px] text-muted-foreground`},`Toggle a check to run it; tick its box to filter by it.`,-1),(R(!0),z(L,null,F(M(cp),t=>(R(),z(`div`,{key:t,class:`flex items-center gap-2 py-0.5`},[V(`button`,{type:`button`,role:`checkbox`,"aria-checked":e.issues.includes(t),class:`flex min-w-0 flex-1 items-center gap-2 rounded px-1.5 py-1 text-sm disabled:opacity-50 enabled:hover:bg-accent`,disabled:!i.value.has(t),onClick:e=>s(t)},[V(`span`,{class:k([`flex size-4 shrink-0 items-center justify-center rounded border transition-colors`,e.issues.includes(t)?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground hover:border-primary hover:bg-primary/10`])},[e.issues.includes(t)?(R(),B(M(Ou),{key:0,class:`size-3`})):W(``,!0)],2),V(`span`,lC,A(M(fp)[t]),1)],8,cC),H(M(XS),{"model-value":i.value.has(t),"aria-label":`Enable ${M(fp)[t]} check`,"onUpdate:modelValue":e=>c(t,e)},null,8,[`model-value`,`aria-label`,`onUpdate:modelValue`])]))),128))])]))}}),dC={class:`pointer-events-none fixed bottom-4 right-4 z-[200] flex w-80 flex-col gap-2`},fC=[`onClick`],pC=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})(P({__name:`Toaster`,setup(e){let t=vC();return(e,n)=>(R(),B(Hr,{to:`body`},[V(`div`,dC,[H(wl,{name:`toast`},{default:N(()=>[(R(!0),z(L,null,F(M(t).toasts,e=>(R(),z(`button`,{key:e.id,type:`button`,class:k(M(LS)(`pointer-events-auto flex items-center rounded-md border bg-card px-4 py-3 text-left text-sm text-card-foreground shadow-lg`,e.variant===`success`&&`border-state-reviewed/50 text-state-reviewed`,e.variant===`error`&&`border-destructive/50 text-destructive`)),onClick:t=>M(_C)(e.id)},A(e.message),11,fC))),128))]),_:1})])]))}}),[[`__scopeId`,`data-v-e9967100`]]),mC=Xt({toasts:[]}),hC=0;function gC(e,t,n=4e3){let r=hC++;mC.toasts.push({id:r,message:e,variant:t}),window.setTimeout(()=>_C(r),n)}function _C(e){let t=mC.toasts.findIndex(t=>t.id===e);t!==-1&&mC.toasts.splice(t,1)}var $=Object.assign(e=>gC(e,`default`),{success:e=>gC(e,`success`),error:e=>gC(e,`error`),info:e=>gC(e,`default`)});function vC(){return mC}var yC=P({__name:`Label`,props:{for:{},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e;return(e,n)=>(R(),B(M(ub),{for:t.for,class:k(M(LS)(`text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70`,t.class))},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`for`,`class`]))}}),bC=P({__name:`DialogContent`,props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=qm(n,t);return(e,t)=>(R(),B(M(hg),null,{default:N(()=>[H(M(pg),{class:`fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`}),H(M(ug),G(M(r),{class:M(LS)(`fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border bg-card p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 sm:rounded-lg`,n.class)}),{default:N(()=>[I(e.$slots,`default`),H(M(kh),{class:`absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`},{default:N(()=>[H(M(Ad),{class:`size-4`}),t[0]||=V(`span`,{class:`sr-only`},`Close`,-1)]),_:1})]),_:3},16,[`class`])]),_:3}))}}),xC=P({__name:`DialogHeader`,props:{class:{}},setup(e){return(e,t)=>(R(),z(`div`,{class:k(M(LS)(`flex flex-col gap-1.5 text-center sm:text-left`,e.$props.class))},[I(e.$slots,`default`)],2))}}),SC=P({__name:`DialogFooter`,props:{class:{}},setup(e){return(e,t)=>(R(),z(`div`,{class:k(M(LS)(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e.$props.class))},[I(e.$slots,`default`)],2))}}),CC=P({__name:`DialogTitle`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e;return(e,n)=>(R(),B(M(gg),{class:k(M(LS)(`text-lg font-semibold leading-none tracking-tight`,t.class))},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`class`]))}}),wC=P({__name:`DialogDescription`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e;return(e,n)=>(R(),B(M(dg),{class:k(M(LS)(`text-sm text-muted-foreground`,t.class))},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`class`]))}}),TC=P({__name:`DropdownMenuContent`,props:{forceMount:{type:Boolean},loop:{type:Boolean},side:{},sideOffset:{default:4},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=qm(n,t);return(e,t)=>(R(),B(M(sb),null,{default:N(()=>[H(M(ib),G(M(r),{class:M(LS)(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95`,n.class)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`class`])]),_:3}))}}),EC=P({__name:`DropdownMenuItem`,props:{disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=Km(t);return(e,r)=>(R(),B(M(ab),G(M(n),{class:M(LS)(`relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:size-4`,t.class)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`class`]))}}),DC=P({__name:`DropdownMenuLabel`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e;return(e,n)=>(R(),B(M(ob),{class:k(M(LS)(`px-2 py-1.5 text-sm font-semibold`,t.class))},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`class`]))}}),OC=P({__name:`DropdownMenuSeparator`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e;return(e,n)=>(R(),B(M(cb),{class:k(M(LS)(`-mx-1 my-1 h-px bg-border`,t.class))},null,8,[`class`]))}}),kC={class:`flex flex-wrap items-center gap-2`},AC={class:`grid gap-2`},jC={class:`flex flex-wrap gap-2`},MC=P({__name:`SelectionBar`,props:{keys:{},locales:{},scopeLabel:{},tagsOnSelection:{}},emits:[`changed`,`clear`,`translate`,`build-context`],setup(e,{emit:t}){let n=e,r=t,i=j(!1),a=j(!1),o=j(!1),s=j(!1),c=j(!1),l=j(``);Dr(s,e=>{e||(l.value=``)});async function u(e,t,n=!1){i.value=!0;try{await e(),$.success(t),r(`changed`),n&&r(`clear`),a.value=!1,o.value=!1,s.value=!1,c.value=!1}catch(e){$.error(e.message||`Bulk action failed`)}finally{i.value=!1}}let d=()=>u(()=>Fd(n.keys,n.locales),`Cleared translations for ${n.keys.length} key${n.keys.length===1?``:`s`}`),f=()=>u(()=>Id(n.keys),`Deleted ${n.keys.length} key${n.keys.length===1?``:`s`}`,!0),p=e=>u(()=>Ld(n.keys,n.locales,e),`Marked ${n.keys.length} key${n.keys.length===1?``:`s`} ${e}`),m=e=>u(()=>Rd(n.keys,{skipTranslate:e}),e?`Marked skip-translate`:`Cleared skip-translate`),h=()=>u(()=>Rd(n.keys,{clearContext:!0}),`Cleared context for ${n.keys.length} key${n.keys.length===1?``:`s`}`),g=()=>{let e=l.value.trim();if(!(!e||i.value))return u(()=>Rd(n.keys,{addTags:[e]}),`Added tag "${e}"`).then(()=>l.value=``)},_=e=>u(()=>Rd(n.keys,{removeTags:[e]}),`Removed tag "${e}"`);return(t,n)=>(R(),z(`div`,kC,[H(M(Q),{variant:`ghost`,size:`sm`,class:`h-8 gap-1.5`,"data-testid":`bulk-clear-trigger`,disabled:i.value||!e.keys.length,onClick:n[0]||=e=>a.value=!0},{default:N(()=>[H(M(zu),{class:`size-4`}),n[19]||=U(` Clear translations `,-1)]),_:1},8,[`disabled`]),H(M(Q),{variant:`ghost`,size:`sm`,class:`h-8 gap-1.5`,"data-testid":`bulk-translate`,disabled:i.value||!e.keys.length,onClick:n[1]||=e=>r(`translate`)},{default:N(()=>[H(M(yd),{class:`size-4`}),n[20]||=U(` Translate `,-1)]),_:1},8,[`disabled`]),H(M(Q),{variant:`ghost`,size:`sm`,class:`h-8 gap-1.5`,"data-testid":`bulk-build-context`,disabled:i.value||!e.keys.length,onClick:n[2]||=e=>r(`build-context`)},{default:N(()=>[H(M(kd),{class:`size-4`}),n[21]||=U(` Build context `,-1)]),_:1},8,[`disabled`]),H(M(rb),null,{default:N(()=>[H(M(lb),{"as-child":``},{default:N(()=>[H(M(Q),{variant:`ghost`,size:`sm`,class:`h-8 gap-1.5`,"data-testid":`bulk-set-trigger`,disabled:i.value||!e.keys.length},{default:N(()=>[n[22]||=U(` Set `,-1),H(M(ku),{class:`size-4`})]),_:1},8,[`disabled`])]),_:1}),H(M(TC),{align:`end`,class:`w-52`},{default:N(()=>[H(M(DC),null,{default:N(()=>[U(`Status · `+A(e.scopeLabel),1)]),_:1}),H(M(EC),{"data-testid":`bulk-mark-reviewed`,onSelect:n[3]||=e=>p(`reviewed`)},{default:N(()=>[...n[23]||=[U(`Mark reviewed`,-1)]]),_:1}),H(M(EC),{"data-testid":`bulk-mark-needs-review`,onSelect:n[4]||=e=>p(`needs-review`)},{default:N(()=>[...n[24]||=[U(`Mark needs-review`,-1)]]),_:1}),H(M(OC)),H(M(DC),null,{default:N(()=>[...n[25]||=[U(`Tags · key`,-1)]]),_:1}),H(M(EC),{onSelect:n[5]||=e=>s.value=!0},{default:N(()=>[...n[26]||=[U(`Add tag…`,-1)]]),_:1}),H(M(EC),{disabled:!e.tagsOnSelection.length,onSelect:n[6]||=e=>c.value=!0},{default:N(()=>[...n[27]||=[U(`Remove tag…`,-1)]]),_:1},8,[`disabled`]),H(M(OC)),H(M(DC),null,{default:N(()=>[...n[28]||=[U(`Context · key`,-1)]]),_:1}),H(M(EC),{onSelect:h},{default:N(()=>[...n[29]||=[U(`Clear context`,-1)]]),_:1}),H(M(OC)),H(M(DC),null,{default:N(()=>[...n[30]||=[U(`Translation · key`,-1)]]),_:1}),H(M(EC),{onSelect:n[7]||=e=>m(!0)},{default:N(()=>[...n[31]||=[U(`Skip translate`,-1)]]),_:1}),H(M(EC),{onSelect:n[8]||=e=>m(!1)},{default:N(()=>[...n[32]||=[U(`Don't skip`,-1)]]),_:1})]),_:1})]),_:1}),H(M(Q),{variant:`ghost`,size:`sm`,class:`h-8 gap-1.5 text-destructive hover:bg-destructive/10 hover:text-destructive`,"data-testid":`bulk-delete-trigger`,disabled:i.value||!e.keys.length,onClick:n[9]||=e=>o.value=!0},{default:N(()=>[H(M(Td),{class:`size-4`}),n[33]||=U(` Delete `,-1)]),_:1},8,[`disabled`]),H(M(Oh),{open:a.value,"onUpdate:open":n[11]||=e=>a.value=e},{default:N(()=>[H(M(bC),{class:`max-w-md`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),null,{default:N(()=>[...n[34]||=[U(`Clear translations`,-1)]]),_:1}),H(M(wC),null,{default:N(()=>[U(` Clear translations for `+A(e.keys.length)+` `+A(e.keys.length===1?`key`:`keys`)+` in `+A(e.scopeLabel)+`? Source strings are kept. This cannot be undone. `,1)]),_:1})]),_:1}),H(M(SC),null,{default:N(()=>[H(M(Q),{variant:`outline`,disabled:i.value,onClick:n[10]||=e=>a.value=!1},{default:N(()=>[...n[35]||=[U(`Cancel`,-1)]]),_:1},8,[`disabled`]),H(M(Q),{variant:`destructive`,disabled:i.value,"data-testid":`bulk-clear-confirm`,onClick:d},{default:N(()=>[...n[36]||=[U(`Clear translations`,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`]),H(M(Oh),{open:o.value,"onUpdate:open":n[13]||=e=>o.value=e},{default:N(()=>[H(M(bC),{class:`max-w-md`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),null,{default:N(()=>[...n[37]||=[U(`Delete keys`,-1)]]),_:1}),H(M(wC),null,{default:N(()=>[U(` Delete `+A(e.keys.length)+` `+A(e.keys.length===1?`key`:`keys`)+` and all their translations? This cannot be undone. `,1)]),_:1})]),_:1}),H(M(SC),null,{default:N(()=>[H(M(Q),{variant:`outline`,disabled:i.value,onClick:n[12]||=e=>o.value=!1},{default:N(()=>[...n[38]||=[U(`Cancel`,-1)]]),_:1},8,[`disabled`]),H(M(Q),{variant:`destructive`,disabled:i.value,"data-testid":`bulk-delete-confirm`,onClick:f},{default:N(()=>[...n[39]||=[U(`Delete`,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`]),H(M(Oh),{open:s.value,"onUpdate:open":n[16]||=e=>s.value=e},{default:N(()=>[H(M(bC),{class:`max-w-md`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),null,{default:N(()=>[...n[40]||=[U(`Add tag`,-1)]]),_:1}),H(M(wC),null,{default:N(()=>[U(`Add a tag to `+A(e.keys.length)+` `+A(e.keys.length===1?`key`:`keys`)+`.`,1)]),_:1})]),_:1}),V(`div`,AC,[H(M(yC),{for:`bulk-add-tag`},{default:N(()=>[...n[41]||=[U(`Tag`,-1)]]),_:1}),H(M(BS),{id:`bulk-add-tag`,modelValue:l.value,"onUpdate:modelValue":n[14]||=e=>l.value=e,disabled:i.value,onKeydown:Zl(Yl(g,[`prevent`]),[`enter`])},null,8,[`modelValue`,`disabled`,`onKeydown`])]),H(M(SC),null,{default:N(()=>[H(M(Q),{variant:`outline`,disabled:i.value,onClick:n[15]||=e=>s.value=!1},{default:N(()=>[...n[42]||=[U(`Cancel`,-1)]]),_:1},8,[`disabled`]),H(M(Q),{disabled:i.value||!l.value.trim(),onClick:g},{default:N(()=>[...n[43]||=[U(`Add`,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`]),H(M(Oh),{open:c.value,"onUpdate:open":n[18]||=e=>c.value=e},{default:N(()=>[H(M(bC),{class:`max-w-md`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),null,{default:N(()=>[...n[44]||=[U(`Remove tag`,-1)]]),_:1}),H(M(wC),null,{default:N(()=>[...n[45]||=[U(`Remove a tag from the selected keys.`,-1)]]),_:1})]),_:1}),V(`div`,jC,[(R(!0),z(L,null,F(e.tagsOnSelection,e=>(R(),B(M(Q),{key:e,variant:`outline`,size:`sm`,disabled:i.value,onClick:t=>_(e)},{default:N(()=>[U(A(e),1)]),_:2},1032,[`disabled`,`onClick`]))),128))]),H(M(SC),null,{default:N(()=>[H(M(Q),{variant:`outline`,disabled:i.value,onClick:n[17]||=e=>c.value=!1},{default:N(()=>[...n[46]||=[U(`Close`,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`])]))}});function NC(){let e=j(new Set),t=null;function n(t){return e.value.has(t)}function r(n){e.value.has(n)?e.value.delete(n):e.value.add(n),t=n}function i(n,i){if(t===null)return r(n);let a=i.indexOf(t),o=i.indexOf(n);if(a===-1||o===-1)return r(n);let[s,c]=a<o?[a,o]:[o,a];for(let t=s;t<=c;t++)e.value.add(i[t]);t=n}function a(n){for(let t of n)e.value.add(t);t=n.length?n[n.length-1]:null}function o(){e.value.clear(),t=null}function s(n){let r=new Set(n);for(let t of[...e.value])r.has(t)||e.value.delete(t);t!==null&&!r.has(t)&&(t=null)}return{has:n,toggle:r,toggleRange:i,selectAll:a,clear:o,pruneTo:s,keys:()=>[...e.value],count:K(()=>e.value.size),allSelected:t=>t.length>0&&t.every(t=>e.value.has(t)),someSelected:t=>t.some(t=>e.value.has(t))}}var PC=P({__name:`TooltipContent`,props:{forceMount:{type:Boolean},ariaLabel:{},asChild:{type:Boolean},as:{},side:{},sideOffset:{default:4},align:{},alignOffset:{},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},class:{}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=qm(n,t);return(e,t)=>(R(),B(M(lx),null,{default:N(()=>[H(M(cx),G(M(r),{class:M(LS)(`z-50 overflow-hidden rounded-md bg-foreground px-3 py-1.5 text-xs text-background shadow-md data-[state=delayed-open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95`,n.class)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`class`])]),_:3}))}}),FC=[`zero`,`one`,`two`,`few`,`many`,`other`];function IC(e){let t;try{t=new Intl.PluralRules(e.replace(/_/g,`-`),{type:`cardinal`}).resolvedOptions().pluralCategories}catch{t=[`other`]}let n=new Set(t);return FC.filter(e=>n.has(e))}function LC(e,t,n){if(t===n)return!1;let r=e.values[n];if(e.plural){if(!r?.forms?.other)return!1;let n=e.values[t]?.forms??{};return IC(t).some(e=>(n[e]??``)===``)}return r?.value?!e.values[t]?.value:!1}function RC(e,t,n){return t.filter(t=>LC(e,t,n))}function zC(e,t,n){return t.filter(t=>{if(t===n)return!1;let r=e.values[t];return!r||r.state!==`needs-review`?!1:r.value?r.value.length>0:Object.keys(r.forms??{}).length>0})}var BC=new Intl.DisplayNames([`en`],{type:`language`}),VC=new Map;function HC(e){if(!VC.has(e)){let t;try{t=new Intl.DisplayNames([e],{type:`language`}).of(e)??void 0}catch{t=void 0}VC.set(e,t)}return VC.get(e)}function UC(e){return e.split(`-`).slice(1).some(e=>/^[a-zA-Z]{5,8}$/.test(e)||/^[0-9][a-zA-Z0-9]{3}$/.test(e))}var WC=new Set([`ar`,`he`,`iw`,`fa`,`ur`,`ps`,`sd`,`ug`,`yi`,`dv`,`ckb`,`ks`,`nqo`,`rhg`]);function GC(e){let t=e.split(/[-_]/)[0]?.toLowerCase()??``;return WC.has(t)}function KC(e,t){let n=e.replace(/_/g,`-`),r=n,i=!1;try{r=Intl.getCanonicalLocales(n)[0]??n,UC(r)&&(i=!0)}catch{i=!0}let a=e;t?.name===void 0?i||(a=BC.of(r)??e):a=t.name;let o;return o=t&&t.flag!==void 0?t.flag:i?null:r===`en`?`en`:new Intl.Locale(r).maximize().region??null,{code:e,bcp47:r,name:a,endonym:i?void 0:HC(r),flagRegion:o,isCustom:i,rtl:GC(e)}}var qC=[`aria-label`],JC=`inline-flex items-center gap-1.5 rounded-md border px-2.5 py-1 text-[11.5px] font-medium leading-none whitespace-nowrap min-w-[132px]`,YC=P({__name:`StateBadge`,props:{state:{},editable:{type:Boolean}},emits:[`setState`],setup(e,{emit:t}){let n=e,r=t,i=[`machine`,`reviewed`,`needs-review`],a={source:`Source`,machine:`Machine`,reviewed:`Reviewed`,"needs-review":`Needs review`},o={source:`bg-accent text-muted-foreground border-border-soft`,machine:`bg-machine-soft text-machine border-transparent`,reviewed:`bg-review-soft text-review border-transparent`,"needs-review":`bg-muted text-muted-foreground border-border`},s={source:`bg-muted-foreground`,machine:`bg-machine`,reviewed:`bg-review`,"needs-review":`bg-muted-foreground`};return(t,c)=>!e.editable||e.state===`source`?(R(),z(`span`,{key:0,class:k(M(LS)(JC,o[e.state],`cursor-default`)),"data-testid":`state-badge`},[e.state===`reviewed`?(R(),B(M(Ou),{key:0,class:`size-3 shrink-0`})):(R(),z(`span`,{key:1,class:k(M(LS)(`size-[7px] shrink-0 rounded-full`,s[e.state]))},null,2)),U(` `+A(a[e.state]),1)],2)):(R(),B(M(rb),{key:1},{default:N(()=>[H(M(lb),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:k(M(LS)(JC,o[e.state],`transition hover:brightness-95 focus:outline-none focus-visible:ring-2 focus-visible:ring-ring`)),"aria-label":`${a[e.state]} — change state`,"data-testid":`state-badge`},[e.state===`reviewed`?(R(),B(M(Ou),{key:0,class:`size-3 shrink-0`})):(R(),z(`span`,{key:1,class:k(M(LS)(`size-[7px] shrink-0 rounded-full`,s[e.state]))},null,2)),U(` `+A(a[e.state])+` `,1),H(M(ku),{class:`ml-auto size-3 opacity-50`})],10,qC)]),_:1}),H(M(TC),{align:`end`,class:`min-w-[10rem]`},{default:N(()=>[(R(),z(L,null,F(i,e=>H(M(EC),{key:e,onSelect:t=>r(`setState`,e)},{default:N(()=>[V(`span`,{class:k(M(LS)(`size-[7px] shrink-0 rounded-full`,s[e]))},null,2),U(` `+A(a[e])+` `,1),H(M(Ou),{class:k(M(LS)(`ml-auto size-4`,e===n.state?`opacity-100`:`opacity-0`))},null,8,[`class`])]),_:2},1032,[`onSelect`])),64))]),_:1})]),_:1}))}}),XC=new RegExp([`\\{\\s*[A-Za-z0-9_]+\\s*,\\s*(?:plural|select|selectordinal)\\s*,(?:[^{}]|\\{[^{}]*\\})*\\}`,`\\{\\s*[A-Za-z0-9_.]+\\s*\\}`].join(`|`),`g`);function ZC(e){let t=[];if(!e.includes(`'`))return t;for(let n=0;n<e.length;){if(e[n]===`'`){let r=e[n+1];if(r===`'`){n+=2;continue}if(r===`{`||r===`}`||r===`#`||r===`|`){let r=n;for(n+=2;n<e.length&&e[n]!==`'`;)n++;let i=n<e.length?n+1:n;t.push([r,i]),n=i;continue}}n++}return t}function QC(e){if(!e)return[];let t=ZC(e),n=e=>t.some(([t,n])=>e>=t&&e<n),r=[],i=0;XC.lastIndex=0;let a;for(;(a=XC.exec(e))!==null;){if(a[0].length===0){XC.lastIndex++;continue}n(a.index)||(a.index>i&&r.push({text:e.slice(i,a.index),placeholder:!1}),r.push({text:a[0],placeholder:!0}),i=a.index+a[0].length)}return i<e.length&&r.push({text:e.slice(i),placeholder:!1}),r}var $C=P({__name:`Textarea`,props:ka({class:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=Za(e,`modelValue`);return(e,n)=>_r((R(),z(`textarea`,{"onUpdate:modelValue":n[0]||=e=>t.value=e,class:k(M(LS)(`flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50`,e.$props.class))},null,2)),[[Fl,t.value]])}}),ew={class:`min-w-0`},tw={key:0,class:`flex flex-col gap-1`},nw={class:`whitespace-pre-wrap break-words`},rw={key:0,class:`rounded bg-ph-bg px-1 font-mono text-[0.85em] font-semibold text-ph-fg`},iw=P({__name:`ValueEditor`,props:{keyName:{},locale:{},sourceLocale:{},value:{},maxLength:{}},emits:[`changed`],setup(e,{emit:t}){let n=e,r=t,i=j(!1),a=j(``),o=j(!1),s=j(null),c=K(()=>n.locale===n.sourceLocale),l=K(()=>QC(n.value)),u=K(()=>n.maxLength!==void 0&&n.value.length>n.maxLength);function d(e){e&&(e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,160)}px`)}async function f(){a.value=n.value,i.value=!0,await $n();let e=s.value?.$el;e?.focus(),e?.select(),d(e)}function p(){i.value=!1}async function m(){if(!i.value)return;i.value=!1;let e=a.value;if(e!==n.value){o.value=!0;try{c.value?await zd(n.keyName,{source:e}):await Bd(n.keyName,n.locale,e),r(`changed`)}catch(e){$.error(`Could not save: ${e.message}`),r(`changed`)}finally{o.value=!1}}}return(t,n)=>(R(),z(`div`,ew,[i.value?(R(),z(`div`,tw,[H(M($C),{ref_key:`textareaEl`,ref:s,modelValue:a.value,"onUpdate:modelValue":n[0]||=e=>a.value=e,rows:`1`,maxlength:e.maxLength,class:`max-w-[560px] resize-none rounded-lg border-2 border-primary text-sm shadow-[0_0_0_3px_var(--ring)]`,onInput:n[1]||=e=>d(e.target),onBlur:m,onKeydown:[Zl(Yl(p,[`prevent`]),[`escape`]),Zl(Yl(m,[`exact`,`prevent`]),[`enter`])]},null,8,[`modelValue`,`maxlength`,`onKeydown`]),n[2]||=V(`span`,{class:`text-[10.5px] text-muted-foreground`},[V(`kbd`,{class:`rounded border border-border-soft bg-accent px-1 font-mono text-[10px]`},`↵`),U(` save · `),V(`kbd`,{class:`rounded border border-border-soft bg-accent px-1 font-mono text-[10px]`},`esc`),U(` cancel `)],-1)])):e.value?(R(),z(`button`,{key:1,type:`button`,class:k(M(LS)(`group inline-flex max-w-full items-center gap-1.5 rounded-md px-2 py-1 -mx-2 -my-1 text-left text-sm leading-relaxed hover:bg-accent focus:outline-none focus-visible:ring-2 focus-visible:ring-ring`,u.value&&`text-destructive`)),onClick:Yl(f,[`stop`])},[V(`span`,nw,[(R(!0),z(L,null,F(l.value,(e,t)=>(R(),z(L,{key:t},[e.placeholder?(R(),z(`span`,rw,A(e.text),1)):(R(),z(L,{key:1},[U(A(e.text),1)],64))],64))),128))]),H(M(od),{"aria-hidden":`true`,class:`size-3 shrink-0 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-60`})],2)):(R(),z(`button`,{key:2,type:`button`,"data-testid":`empty-marker`,class:`group inline-flex items-center gap-1.5 rounded-md border border-dashed border-input px-2.5 py-1 text-[12.5px] font-medium italic text-muted-foreground transition-colors hover:border-border hover:bg-accent hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:Yl(f,[`stop`])},[n[3]||=U(` Empty `,-1),H(M(od),{class:`size-3 shrink-0 opacity-0 transition-opacity group-hover:opacity-60`,"aria-hidden":`true`})]))]))}}),aw={class:`flex min-w-0 flex-col gap-2`},ow={class:`min-w-0 flex-1`},sw={key:0,class:`flex flex-col gap-1`},cw={class:`font-mono text-[10px] font-semibold uppercase tracking-wide text-primary`},lw=[`onClick`],uw={class:`whitespace-pre-wrap break-words`},dw={key:0,class:`rounded bg-ph-bg px-1 font-mono text-[0.85em] font-semibold text-ph-fg`},fw=[`onClick`],pw=P({__name:`PluralValueEditor`,props:{keyName:{},locale:{},sourceLocale:{},arg:{},forms:{},sourceForms:{},maxLength:{}},emits:[`changed`],setup(e,{emit:t}){let n=e,r=t,i=K(()=>n.locale===n.sourceLocale),a=K(()=>[...Object.keys(n.forms).filter(e=>/^=\d+$/.test(e)).sort((e,t)=>Number(e.slice(1))-Number(t.slice(1))),...IC(n.locale)]),o=j(null),s=j(``),c=j(!1),l=j(null);function u(e){l.value=e}function d(e){return n.forms[e]??``}function f(e){return QC(d(e))}function p(e){return n.maxLength!==void 0&&d(e).length>n.maxLength}function m(e){e&&(e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,160)}px`)}async function h(e){s.value=d(e),o.value=e,await $n();let t=l.value?.$el;t?.focus(),t?.select(),m(t)}function g(){o.value=null}async function _(){let e=o.value;if(!e)return;o.value=null;let t=s.value;if(t!==d(e)){c.value=!0;try{let i={};for(let[e,t]of Object.entries(n.forms))i[e]=t??``;i[e]=t,await Ud(n.keyName,n.locale,i),r(`changed`)}catch(e){$.error(`Could not save: ${e.message}`),r(`changed`)}finally{c.value=!1}}}return(t,n)=>(R(),z(`div`,aw,[(R(!0),z(L,null,F(a.value,t=>(R(),z(`div`,{key:t,"data-testid":`plural-field`,class:`flex items-start gap-2.5`},[V(`span`,{class:k(M(LS)(`mt-0.5 min-w-[46px] shrink-0 rounded border border-border px-1.5 py-1 text-center font-mono text-[9.5px] font-semibold uppercase tracking-wide text-muted-foreground`,!i.value&&!d(t)&&`opacity-55`))},A(t),3),V(`div`,ow,[o.value===t?(R(),z(`div`,sw,[V(`span`,cw,`Plural: `+A(t),1),H(M($C),{ref_for:!0,ref:u,modelValue:s.value,"onUpdate:modelValue":n[0]||=e=>s.value=e,rows:`1`,maxlength:e.maxLength,class:`max-w-[560px] resize-none rounded-lg border-2 border-primary text-sm shadow-[0_0_0_3px_var(--ring)]`,onInput:n[1]||=e=>m(e.target),onBlur:_,onKeydown:[Zl(Yl(g,[`prevent`]),[`escape`]),Zl(Yl(_,[`exact`,`prevent`]),[`enter`])]},null,8,[`modelValue`,`maxlength`,`onKeydown`]),n[2]||=V(`span`,{class:`text-[10.5px] text-muted-foreground`},[V(`kbd`,{class:`rounded border border-border-soft bg-accent px-1 font-mono text-[10px]`},`↵`),U(` save · `),V(`kbd`,{class:`rounded border border-border-soft bg-accent px-1 font-mono text-[10px]`},`esc`),U(` cancel `)],-1)])):d(t)?(R(),z(`button`,{key:1,type:`button`,class:k(M(LS)(`group inline-flex max-w-full items-center gap-1.5 rounded-md px-2 py-1 -mx-2 -my-1 text-left text-sm leading-relaxed hover:bg-accent focus:outline-none focus-visible:ring-2 focus-visible:ring-ring`,p(t)&&`text-destructive`)),onClick:Yl(e=>h(t),[`stop`])},[V(`span`,uw,[(R(!0),z(L,null,F(f(t),(e,t)=>(R(),z(L,{key:t},[e.placeholder?(R(),z(`span`,dw,A(e.text),1)):(R(),z(L,{key:1},[U(A(e.text),1)],64))],64))),128))]),H(M(od),{class:`size-3 shrink-0 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-60`,"aria-hidden":`true`})],10,lw)):(R(),z(`button`,{key:2,type:`button`,"data-testid":`empty-marker`,class:`group inline-flex items-center gap-1.5 rounded-md border border-dashed border-input px-2.5 py-1 text-[12.5px] font-medium italic text-muted-foreground transition-colors hover:border-border hover:bg-accent hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:Yl(e=>h(t),[`stop`])},[n[3]||=U(` Empty `,-1),H(M(od),{class:`size-3 shrink-0 opacity-0 transition-opacity group-hover:opacity-60`,"aria-hidden":`true`})],8,fw))])]))),128))]))}}),mw=Object.assign({"./assets/flags/ad.svg":`/assets/ad-B18i8NGa.svg`,"./assets/flags/ae.svg":`/assets/ae-CZRtWSox.svg`,"./assets/flags/af.svg":`/assets/af-C77Rf6cE.svg`,"./assets/flags/ag.svg":`/assets/ag-C8MykuG2.svg`,"./assets/flags/ai.svg":`/assets/ai-Dmedkf4v.svg`,"./assets/flags/al.svg":`/assets/al-10QRkakw.svg`,"./assets/flags/am.svg":`/assets/am-DMt4_dd4.svg`,"./assets/flags/ao.svg":`/assets/ao-tXuRa6vm.svg`,"./assets/flags/aq.svg":`/assets/aq-CF5jO-0h.svg`,"./assets/flags/ar.svg":`/assets/ar-Be8Ju1cG.svg`,"./assets/flags/arab.svg":`/assets/arab-C4CYPgyC.svg`,"./assets/flags/as.svg":`/assets/as-Dekqy8Of.svg`,"./assets/flags/asean.svg":`/assets/asean-WMtZ-US_.svg`,"./assets/flags/at.svg":`/assets/at-DGA_6m5E.svg`,"./assets/flags/au.svg":`/assets/au-DAHDIuPI.svg`,"./assets/flags/aw.svg":`/assets/aw-W0PWLK5p.svg`,"./assets/flags/ax.svg":`/assets/ax-DvLIy84U.svg`,"./assets/flags/az.svg":`/assets/az-Bk-bYNxy.svg`,"./assets/flags/ba.svg":`/assets/ba-WdDiSMvP.svg`,"./assets/flags/bb.svg":`/assets/bb-DJxbaxmT.svg`,"./assets/flags/bd.svg":`/assets/bd-BF9t1-60.svg`,"./assets/flags/be.svg":`/assets/be-CLLkK3PN.svg`,"./assets/flags/bf.svg":`/assets/bf-YclsoDuF.svg`,"./assets/flags/bg.svg":`/assets/bg-GUQenraa.svg`,"./assets/flags/bh.svg":`/assets/bh-BQqEGq6F.svg`,"./assets/flags/bi.svg":`/assets/bi-CRmKY6RQ.svg`,"./assets/flags/bj.svg":`/assets/bj-14PhO9bM.svg`,"./assets/flags/bl.svg":`/assets/bl-4CI2YcwX.svg`,"./assets/flags/bm.svg":`/assets/bm-BeYgB2z9.svg`,"./assets/flags/bn.svg":`/assets/bn-B6T3O78g.svg`,"./assets/flags/bo.svg":`/assets/bo-CcUiMqkJ.svg`,"./assets/flags/bq.svg":`/assets/bq-BYpdxEeT.svg`,"./assets/flags/br.svg":`/assets/br-Cu5YU29T.svg`,"./assets/flags/bs.svg":`/assets/bs-7Gd_oriM.svg`,"./assets/flags/bt.svg":`/assets/bt-BTo4qm10.svg`,"./assets/flags/bv.svg":`/assets/bv-wM9JLv4R.svg`,"./assets/flags/bw.svg":`/assets/bw-n5ZaAnGL.svg`,"./assets/flags/by.svg":`/assets/by-C621sBpd.svg`,"./assets/flags/bz.svg":`/assets/bz-BCKHR4_q.svg`,"./assets/flags/ca.svg":`/assets/ca-PYUrLVUV.svg`,"./assets/flags/cc.svg":`/assets/cc-BNT6Xjzk.svg`,"./assets/flags/cd.svg":`/assets/cd-BGclsrP6.svg`,"./assets/flags/cefta.svg":`/assets/cefta-2dDBYygd.svg`,"./assets/flags/cf.svg":`/assets/cf-DRetLmp-.svg`,"./assets/flags/cg.svg":`/assets/cg-CwIyG6SE.svg`,"./assets/flags/ch.svg":`/assets/ch-sfriZoF1.svg`,"./assets/flags/ci.svg":`/assets/ci-C8Q8IYTn.svg`,"./assets/flags/ck.svg":`/assets/ck-DfXMUOTo.svg`,"./assets/flags/cl.svg":`/assets/cl-BgYYb4qP.svg`,"./assets/flags/cm.svg":`/assets/cm-D4yjdmKT.svg`,"./assets/flags/cn.svg":`/assets/cn-DifnnI3t.svg`,"./assets/flags/co.svg":`/assets/co-DV591zMm.svg`,"./assets/flags/cp.svg":`/assets/cp-K_ay05Q_.svg`,"./assets/flags/cr.svg":`/assets/cr-BlYVN-_Q.svg`,"./assets/flags/cu.svg":`/assets/cu-L6XVZNgo.svg`,"./assets/flags/cv.svg":`/assets/cv-CPsfcOfk.svg`,"./assets/flags/cw.svg":`/assets/cw-BbrnximR.svg`,"./assets/flags/cx.svg":`/assets/cx-DpYD6n6U.svg`,"./assets/flags/cy.svg":`/assets/cy-bZuP8hmf.svg`,"./assets/flags/cz.svg":`/assets/cz-WWBC5Aeb.svg`,"./assets/flags/de.svg":`/assets/de-B-2o-4Z9.svg`,"./assets/flags/dg.svg":`/assets/dg-CJPJrjiZ.svg`,"./assets/flags/dj.svg":`/assets/dj-hp_BwbmO.svg`,"./assets/flags/dk.svg":`/assets/dk-DmS9BCZB.svg`,"./assets/flags/dm.svg":`/assets/dm-Cbhezfe1.svg`,"./assets/flags/do.svg":`/assets/do-B86d445t.svg`,"./assets/flags/dz.svg":`/assets/dz-Dytc1TFu.svg`,"./assets/flags/eac.svg":`/assets/eac-CwGQsyAM.svg`,"./assets/flags/ec.svg":`/assets/ec-CaVOFQ3t.svg`,"./assets/flags/ee.svg":`/assets/ee-DufrxGIR.svg`,"./assets/flags/eg.svg":`/assets/eg-YC70hswZ.svg`,"./assets/flags/eh.svg":`/assets/eh-0awM4TVj.svg`,"./assets/flags/en.svg":`/assets/en-BZRN_IpI.svg`,"./assets/flags/er.svg":`/assets/er-X83uml6t.svg`,"./assets/flags/es-ct.svg":`/assets/es-ct-CVyhLp7O.svg`,"./assets/flags/es-ga.svg":`/assets/es-ga-D9xG2hYr.svg`,"./assets/flags/es-pv.svg":`/assets/es-pv-CO3NM2SE.svg`,"./assets/flags/es.svg":`/assets/es-d5m8M5h8.svg`,"./assets/flags/et.svg":`/assets/et-DwdlzOIx.svg`,"./assets/flags/eu.svg":`/assets/eu-Brdgz8ab.svg`,"./assets/flags/fi.svg":`/assets/fi-DWUIkfjL.svg`,"./assets/flags/fj.svg":`/assets/fj-DEAVMg38.svg`,"./assets/flags/fk.svg":`/assets/fk-nuUF_Ak3.svg`,"./assets/flags/fm.svg":`/assets/fm-B4Z83GL0.svg`,"./assets/flags/fo.svg":`/assets/fo-DFjwyWur.svg`,"./assets/flags/fr.svg":`/assets/fr-DVvUyOqI.svg`,"./assets/flags/ga.svg":`/assets/ga-BklUhLH_.svg`,"./assets/flags/gb-eng.svg":`/assets/gb-eng-C8iDhGHN.svg`,"./assets/flags/gb-nir.svg":`/assets/gb-nir-D4gikpNq.svg`,"./assets/flags/gb-sct.svg":`/assets/gb-sct-fW5q01ek.svg`,"./assets/flags/gb-wls.svg":`/assets/gb-wls-Bxz9hxvX.svg`,"./assets/flags/gb.svg":`/assets/gb-DTXiLQoe.svg`,"./assets/flags/gd.svg":`/assets/gd-CO-whzUe.svg`,"./assets/flags/ge.svg":`/assets/ge-B2RiL-Ih.svg`,"./assets/flags/gf.svg":`/assets/gf-DWl5zcw0.svg`,"./assets/flags/gg.svg":`/assets/gg-jdOQS2nU.svg`,"./assets/flags/gh.svg":`/assets/gh-r3LP_X7q.svg`,"./assets/flags/gi.svg":`/assets/gi-BJKE9SzW.svg`,"./assets/flags/gl.svg":`/assets/gl-CHaBnMib.svg`,"./assets/flags/gm.svg":`/assets/gm-Bu99atwn.svg`,"./assets/flags/gn.svg":`/assets/gn-1dJNy9oQ.svg`,"./assets/flags/gp.svg":`/assets/gp-DNyt_wTA.svg`,"./assets/flags/gq.svg":`/assets/gq-Cag8QTk2.svg`,"./assets/flags/gr.svg":`/assets/gr-C5PU0p9p.svg`,"./assets/flags/gs.svg":`/assets/gs-DiiNa0F5.svg`,"./assets/flags/gt.svg":`/assets/gt-CJo5DI-7.svg`,"./assets/flags/gu.svg":`/assets/gu-Di1JYREk.svg`,"./assets/flags/gw.svg":`/assets/gw-D249VY33.svg`,"./assets/flags/gy.svg":`/assets/gy-CcVYUM2E.svg`,"./assets/flags/hk.svg":`/assets/hk-CUNIaSX0.svg`,"./assets/flags/hm.svg":`/assets/hm-Dh6t_Tj3.svg`,"./assets/flags/hn.svg":`/assets/hn-CRjyS_bm.svg`,"./assets/flags/hr.svg":`/assets/hr-fzLfaANM.svg`,"./assets/flags/ht.svg":`/assets/ht-DIMg4gti.svg`,"./assets/flags/hu.svg":`/assets/hu-7Q5wwIIi.svg`,"./assets/flags/ic.svg":`/assets/ic-CSo4d8tH.svg`,"./assets/flags/id.svg":`/assets/id-DiSP6Fmm.svg`,"./assets/flags/ie.svg":`/assets/ie-ChAXClx3.svg`,"./assets/flags/il.svg":`/assets/il-_56OEGLa.svg`,"./assets/flags/im.svg":`/assets/im--VPIqfkF.svg`,"./assets/flags/in.svg":`/assets/in-Cdwu6Bq7.svg`,"./assets/flags/io.svg":`/assets/io-13HOfeJD.svg`,"./assets/flags/iq.svg":`/assets/iq-Dp8HDzo2.svg`,"./assets/flags/ir.svg":`/assets/ir-cCIgaNf6.svg`,"./assets/flags/is.svg":`/assets/is-CZjefTNV.svg`,"./assets/flags/it.svg":`/assets/it-Br7q0Zh6.svg`,"./assets/flags/je.svg":`/assets/je-DyWbhIiC.svg`,"./assets/flags/jm.svg":`/assets/jm-CItSr3iX.svg`,"./assets/flags/jo.svg":`/assets/jo-BAF1FGbm.svg`,"./assets/flags/jp.svg":`/assets/jp-BIMmfxpO.svg`,"./assets/flags/ke.svg":`/assets/ke-C8foqndp.svg`,"./assets/flags/kg.svg":`/assets/kg-B0FsxZiL.svg`,"./assets/flags/kh.svg":`/assets/kh-BeWfuE30.svg`,"./assets/flags/ki.svg":`/assets/ki-p_fAQGbS.svg`,"./assets/flags/km.svg":`/assets/km-B5tqtGG7.svg`,"./assets/flags/kn.svg":`/assets/kn-DVPxDkNY.svg`,"./assets/flags/kp.svg":`/assets/kp-CrDKzoxe.svg`,"./assets/flags/kr.svg":`/assets/kr-BCXH1Hao.svg`,"./assets/flags/kw.svg":`/assets/kw-fSBzmd30.svg`,"./assets/flags/ky.svg":`/assets/ky-Dpsu1myA.svg`,"./assets/flags/kz.svg":`/assets/kz-CwKXYZ8s.svg`,"./assets/flags/la.svg":`/assets/la-CuJflhIW.svg`,"./assets/flags/lb.svg":`/assets/lb-BSjpYEoo.svg`,"./assets/flags/lc.svg":`/assets/lc-CNvab8Ae.svg`,"./assets/flags/li.svg":`/assets/li-CHdhvNcr.svg`,"./assets/flags/lk.svg":`/assets/lk-DUkgV9Tq.svg`,"./assets/flags/lr.svg":`/assets/lr-B84vu3Ds.svg`,"./assets/flags/ls.svg":`/assets/ls-5Xk3Mxq5.svg`,"./assets/flags/lt.svg":`/assets/lt-DoukV-Sm.svg`,"./assets/flags/lu.svg":`/assets/lu-DOI02Msy.svg`,"./assets/flags/lv.svg":`/assets/lv-C-KfY8Yc.svg`,"./assets/flags/ly.svg":`/assets/ly-BWpTK3ux.svg`,"./assets/flags/ma.svg":`/assets/ma-BTRNTRUj.svg`,"./assets/flags/mc.svg":`/assets/mc-PK078JHl.svg`,"./assets/flags/md.svg":`/assets/md-DRlxvNwm.svg`,"./assets/flags/me.svg":`/assets/me-Cv4Gwqah.svg`,"./assets/flags/mf.svg":`/assets/mf-BaAGWwAq.svg`,"./assets/flags/mg.svg":`/assets/mg-C168LHXW.svg`,"./assets/flags/mh.svg":`/assets/mh-gxuIp6Wk.svg`,"./assets/flags/mk.svg":`/assets/mk-D9SIMr-a.svg`,"./assets/flags/ml.svg":`/assets/ml-DVf6ujpi.svg`,"./assets/flags/mm.svg":`/assets/mm-lwT09MQ0.svg`,"./assets/flags/mn.svg":`/assets/mn-CgXyw0O9.svg`,"./assets/flags/mo.svg":`/assets/mo-BAtCjuYA.svg`,"./assets/flags/mp.svg":`/assets/mp-CrOApEqW.svg`,"./assets/flags/mq.svg":`/assets/mq-BFnJ22KI.svg`,"./assets/flags/mr.svg":`/assets/mr-D6G1wpeZ.svg`,"./assets/flags/ms.svg":`/assets/ms-DxciGbUu.svg`,"./assets/flags/mt.svg":`/assets/mt-YqzKx9xl.svg`,"./assets/flags/mu.svg":`/assets/mu-mcq7cUFl.svg`,"./assets/flags/mv.svg":`/assets/mv-BynAllfM.svg`,"./assets/flags/mw.svg":`/assets/mw-C15nc1xZ.svg`,"./assets/flags/mx.svg":`/assets/mx-Cc8Ccfe8.svg`,"./assets/flags/my.svg":`/assets/my-Co4JeeyE.svg`,"./assets/flags/mz.svg":`/assets/mz-Drlr_USV.svg`,"./assets/flags/na.svg":`/assets/na-D79ffb4Z.svg`,"./assets/flags/nc.svg":`/assets/nc-5j7wEmDR.svg`,"./assets/flags/ne.svg":`/assets/ne-B1jPOYkl.svg`,"./assets/flags/nf.svg":`/assets/nf-Dl00mlk2.svg`,"./assets/flags/ng.svg":`/assets/ng-su4NM9If.svg`,"./assets/flags/ni.svg":`/assets/ni-CcFCSQxm.svg`,"./assets/flags/nl.svg":`/assets/nl-BnOa6UiA.svg`,"./assets/flags/no.svg":`/assets/no-qf2JPO73.svg`,"./assets/flags/np.svg":`/assets/np-CIuq5GKd.svg`,"./assets/flags/nr.svg":`/assets/nr-DERIdzkN.svg`,"./assets/flags/nu.svg":`/assets/nu-BfgWvGcd.svg`,"./assets/flags/nz.svg":`/assets/nz-5vODdBjz.svg`,"./assets/flags/om.svg":`/assets/om-DcqxRdQL.svg`,"./assets/flags/pa.svg":`/assets/pa-BLNN9G2-.svg`,"./assets/flags/pc.svg":`/assets/pc-BJpYiA9b.svg`,"./assets/flags/pe.svg":`/assets/pe-BLqhuu1C.svg`,"./assets/flags/pf.svg":`/assets/pf-C8ahG68q.svg`,"./assets/flags/pg.svg":`/assets/pg-BAYpbp9Z.svg`,"./assets/flags/ph.svg":`/assets/ph-BEzTn62K.svg`,"./assets/flags/pk.svg":`/assets/pk-CWMEc3ad.svg`,"./assets/flags/pl.svg":`/assets/pl-o38JROoc.svg`,"./assets/flags/pm.svg":`/assets/pm-CHiP5UmZ.svg`,"./assets/flags/pn.svg":`/assets/pn-DgxdtieE.svg`,"./assets/flags/pr.svg":`/assets/pr-B4tMV0xm.svg`,"./assets/flags/ps.svg":`/assets/ps-DO8YKYeS.svg`,"./assets/flags/pt.svg":`/assets/pt-DZ2ADgIR.svg`,"./assets/flags/pw.svg":`/assets/pw-CQP52WMX.svg`,"./assets/flags/py.svg":`/assets/py-mNzh0mZC.svg`,"./assets/flags/qa.svg":`/assets/qa-Dkmpc78M.svg`,"./assets/flags/re.svg":`/assets/re-Bk4ipYK1.svg`,"./assets/flags/ro.svg":`/assets/ro-CoSeqKY1.svg`,"./assets/flags/rs.svg":`/assets/rs-BfwKwXtn.svg`,"./assets/flags/ru.svg":`/assets/ru-D-4tNwXt.svg`,"./assets/flags/rw.svg":`/assets/rw-D7nbSYKI.svg`,"./assets/flags/sa.svg":`/assets/sa-Dh79zbT9.svg`,"./assets/flags/sb.svg":`/assets/sb-BDTYjcbk.svg`,"./assets/flags/sc.svg":`/assets/sc-CRNsSLg9.svg`,"./assets/flags/sd.svg":`/assets/sd-ClziNjGr.svg`,"./assets/flags/se.svg":`/assets/se-8C923vhy.svg`,"./assets/flags/sg.svg":`/assets/sg-DGYIMG0G.svg`,"./assets/flags/sh-ac.svg":`/assets/sh-ac-FjwY7RYr.svg`,"./assets/flags/sh-hl.svg":`/assets/sh-hl-CqtQPzWZ.svg`,"./assets/flags/sh-ta.svg":`/assets/sh-ta-CPJublpi.svg`,"./assets/flags/sh.svg":`/assets/sh-DNImvbrE.svg`,"./assets/flags/si.svg":`/assets/si-BMKT-Tec.svg`,"./assets/flags/sj.svg":`/assets/sj-BFFEGknm.svg`,"./assets/flags/sk.svg":`/assets/sk-K9BNIYAO.svg`,"./assets/flags/sl.svg":`/assets/sl-DxLJY5vJ.svg`,"./assets/flags/sm.svg":`/assets/sm-DGBIRFB_.svg`,"./assets/flags/sn.svg":`/assets/sn-S8ipNF1U.svg`,"./assets/flags/so.svg":`/assets/so-DlzA2Fco.svg`,"./assets/flags/sr.svg":`/assets/sr-Co7OKBh3.svg`,"./assets/flags/ss.svg":`/assets/ss-CxVEpdPD.svg`,"./assets/flags/st.svg":`/assets/st-C1Nd1c3V.svg`,"./assets/flags/sv.svg":`/assets/sv-CJIHhYwF.svg`,"./assets/flags/sx.svg":`/assets/sx-nDhIaDNb.svg`,"./assets/flags/sy.svg":`/assets/sy-DwSud114.svg`,"./assets/flags/sz.svg":`/assets/sz-qxMwa2gs.svg`,"./assets/flags/tc.svg":`/assets/tc-dtelpZmc.svg`,"./assets/flags/td.svg":`/assets/td-BsuVhZpT.svg`,"./assets/flags/tf.svg":`/assets/tf-Co33RhQH.svg`,"./assets/flags/tg.svg":`/assets/tg-CP1-sc35.svg`,"./assets/flags/th.svg":`/assets/th-tzq84hgd.svg`,"./assets/flags/tj.svg":`/assets/tj-b-aWfOTb.svg`,"./assets/flags/tk.svg":`/assets/tk-CDucsEss.svg`,"./assets/flags/tl.svg":`/assets/tl-wpo93AGk.svg`,"./assets/flags/tm.svg":`/assets/tm-C_WSgUcv.svg`,"./assets/flags/tn.svg":`/assets/tn-BcKCZULf.svg`,"./assets/flags/to.svg":`/assets/to-D8uVsoxb.svg`,"./assets/flags/tr.svg":`/assets/tr-Cd6FO9Bg.svg`,"./assets/flags/tt.svg":`/assets/tt-CTnr7aY5.svg`,"./assets/flags/tv.svg":`/assets/tv-DDqkVT-n.svg`,"./assets/flags/tw.svg":`/assets/tw-d-Mf-0VT.svg`,"./assets/flags/tz.svg":`/assets/tz-BjLtHeil.svg`,"./assets/flags/ua.svg":`/assets/ua-Bq0XgQqK.svg`,"./assets/flags/ug.svg":`/assets/ug-ByL2ejGl.svg`,"./assets/flags/um.svg":`/assets/um-Bhke9Eic.svg`,"./assets/flags/un.svg":`/assets/un-Bqg4Cbbh.svg`,"./assets/flags/us.svg":`/assets/us-C73uVeEr.svg`,"./assets/flags/uy.svg":`/assets/uy-DD6peej-.svg`,"./assets/flags/uz.svg":`/assets/uz-C2f-Cubn.svg`,"./assets/flags/va.svg":`/assets/va-B9-hqIE-.svg`,"./assets/flags/vc.svg":`/assets/vc-COpmFovN.svg`,"./assets/flags/ve.svg":`/assets/ve-BSqnIB9l.svg`,"./assets/flags/vg.svg":`/assets/vg-C7xY6pic.svg`,"./assets/flags/vi.svg":`/assets/vi-BC_zcciE.svg`,"./assets/flags/vn.svg":`/assets/vn-BEAEijd0.svg`,"./assets/flags/vu.svg":`/assets/vu-D6k0NQlg.svg`,"./assets/flags/wf.svg":`/assets/wf-DrxpOO_G.svg`,"./assets/flags/ws.svg":`/assets/ws-vzJNwdVm.svg`,"./assets/flags/xk.svg":`/assets/xk-Bj15g7cp.svg`,"./assets/flags/xx.svg":`/assets/xx-zm_JmrXl.svg`,"./assets/flags/ye.svg":`/assets/ye-BwST9gXC.svg`,"./assets/flags/yt.svg":`/assets/yt-DIfEG0ex.svg`,"./assets/flags/za.svg":`/assets/za-Jz40JTrv.svg`,"./assets/flags/zm.svg":`/assets/zm-BmsW91ne.svg`,"./assets/flags/zw.svg":`/assets/zw-U0m7oJ5e.svg`}),hw=new Map;for(let[e,t]of Object.entries(mw)){let n=e.match(/\/([^/]+)\.svg$/);n&&hw.set(n[1].toLowerCase(),t)}function gw(e){return hw.get(e.toLowerCase())}var _w=[`src`,`alt`,`width`,`height`],vw=P({__name:`Flag`,props:{code:{},override:{},size:{default:16}},setup(e){let t=e,n=K(()=>KC(t.code,t.override)),r=K(()=>n.value.flagRegion?gw(n.value.flagRegion):void 0),i=K(()=>Math.round(t.size*4/3));return(t,a)=>r.value?(R(),z(`img`,{key:0,src:r.value,alt:n.value.name,width:i.value,height:e.size,class:`inline-block shrink-0 rounded-[2px] object-cover ring-1 ring-black/10`,style:he({width:`${i.value}px`,height:`${e.size}px`})},null,12,_w)):(R(),B(M(Ju),{key:1,class:`inline-block shrink-0 text-muted-foreground`,style:he({width:`${e.size}px`,height:`${e.size}px`}),"aria-hidden":`true`},null,8,[`style`]))}}),yw={class:`inline-flex min-w-0 items-start gap-2`},bw={class:`flex min-w-0 flex-col leading-tight`},xw={class:`flex items-center gap-1.5`},Sw={class:`font-mono text-[11.5px] font-semibold tracking-wide`},Cw={key:0,class:`truncate text-[11px] text-muted-foreground`},ww={class:`inline-flex min-w-0 items-center gap-1.5`},Tw={key:0,class:`truncate`},Ew=P({__name:`LanguageLabel`,props:{code:{},override:{},showName:{type:Boolean,default:!1},showCode:{type:Boolean,default:!0},size:{default:16},codeMinChars:{},layout:{default:`inline`}},setup(e){let t=e,n=K(()=>KC(t.code,t.override));return(t,r)=>e.layout===`stacked`?(R(),B(M(ax),{key:0},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`span`,yw,[H(vw,{code:e.code,override:e.override,size:e.size,class:`mt-0.5 shrink-0`},null,8,[`code`,`override`,`size`]),V(`span`,bw,[V(`span`,xw,[V(`span`,Sw,A(e.code.toUpperCase()),1),n.value.rtl?(R(),B(M(ax),{key:0},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[...r[0]||=[V(`span`,{class:`rounded border border-border px-1 text-[9px] font-bold uppercase tracking-wide text-muted-foreground`},`RTL`,-1)]]),_:1}),H(M(PC),null,{default:N(()=>[...r[1]||=[U(`Right-to-left`,-1)]]),_:1})]),_:1})):W(``,!0)]),e.showName?(R(),z(`span`,Cw,A(n.value.name),1)):W(``,!0)])])]),_:1}),H(M(PC),null,{default:N(()=>[U(A(n.value.name),1)]),_:1})]),_:1})):(R(),B(M(ax),{key:1},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`span`,ww,[H(vw,{code:e.code,override:e.override,size:e.size},null,8,[`code`,`override`,`size`]),e.showName?(R(),z(`span`,Tw,A(n.value.name),1)):W(``,!0),e.showCode?(R(),z(`span`,{key:1,class:`font-mono text-xs`,style:he(e.codeMinChars==null?void 0:{minWidth:`${e.codeMinChars}ch`})},A(e.code.toUpperCase()),5)):W(``,!0)])]),_:1}),H(M(PC),null,{default:N(()=>[U(A(n.value.name),1)]),_:1})]),_:1}))}}),Dw=[`data-state`],Ow={class:`flex flex-wrap items-start gap-2 pt-0.5`},kw={key:0,class:`rounded-md border border-border-soft bg-accent px-1.5 py-0.5 text-[10.5px] font-semibold uppercase tracking-wide text-muted-foreground`},Aw=[`dir`],jw={key:0,"data-testid":`filling-hint`,class:`flex items-center gap-1.5 text-sm italic text-muted-foreground`},Mw={key:0,class:`flex items-center justify-end gap-1.5 pt-0.5`},Nw={type:`button`,class:`flex size-7 items-center justify-center rounded-md bg-destructive-soft text-destructive transition hover:brightness-95 focus:outline-none focus-visible:ring-2 focus-visible:ring-ring`,"aria-label":`Show issues`},Pw={class:`flex flex-col gap-1`},Fw={key:0,class:`mt-2 border-t pt-2`},Iw={class:`flex flex-wrap gap-1`},Lw=[`onClick`],Rw=[`disabled`],zw=P({__name:`TranslationRow`,props:{keyName:{},locale:{},sourceLocale:{},value:{},maxLength:{},issues:{},labelChars:{},plural:{},sourceForms:{},filling:{type:Boolean}},emits:[`changed`],setup(e,{emit:t}){let n=e,r=t,i=K(()=>n.locale===n.sourceLocale),a=K(()=>n.value?.state??(i.value?`source`:`needs-review`)),o=K(()=>n.value?.value??``),s=K(()=>!!n.plural),c=K(()=>n.value?.forms??{}),l=K(()=>GC(n.locale)),u=K(()=>!i.value&&(s.value?Object.keys(c.value).length>0:!!n.value?.value)),d=K(()=>(n.issues?.length??0)>0),f=K(()=>[...new Set((n.issues??[]).filter(e=>e.check===`spelling`).flatMap(e=>e.detail??[]))]);async function p(e){try{await mf(e),$.success(`Added "${e}" to the dictionary`),r(`changed`)}catch(e){$.error(`Could not add word: ${e.message}`)}}let m=j(!1);async function h(){try{await Hd(n.keyName,n.locale),$.success(`Cleared`),r(`changed`)}catch(e){$.error(e.message)}}async function g(e){try{await Vd(n.keyName,n.locale,e),r(`changed`)}catch(e){$.error(`Could not update state: ${e.message}`)}}async function _(){m.value=!0;try{let e=await Kd({onlyMissing:!1,locales:[n.locale],keyGlob:n.keyName,force:!0});e.errors?.length?$.error(e.errors[0]?.error??`Translation failed`):$.success(`Translated ${n.locale.toUpperCase()} (${e.written} written)`),r(`changed`)}catch(e){$.error(`Translate failed: ${e.message}`)}finally{m.value=!1}}return(t,n)=>(R(),z(`div`,{class:k(M(LS)(`grid grid-cols-[172px_minmax(0,1fr)_232px] items-start gap-[18px] border-b border-border-soft py-[11px] pl-4 pr-[18px] last:border-b-0 max-[1080px]:grid-cols-[150px_minmax(0,1fr)_200px] max-[1080px]:gap-3`,i.value&&`bg-foreground/[0.015] dark:bg-foreground/[0.025]`)),"data-state":a.value},[V(`div`,Ow,[H(Ew,{code:e.locale,layout:`stacked`,"show-name":``,size:15},null,8,[`code`]),i.value?(R(),z(`span`,kw,`Source`)):W(``,!0)]),V(`div`,{class:`flex min-w-0 flex-col gap-2`,dir:l.value?`rtl`:`ltr`},[e.filling?(R(),z(`div`,jw,[H(M(ed),{class:`size-3.5 shrink-0 animate-spin`}),n[2]||=U(` filling… `,-1)])):s.value?(R(),B(pw,{key:1,"key-name":e.keyName,locale:e.locale,"source-locale":e.sourceLocale,arg:e.plural.arg,forms:c.value,"source-forms":e.sourceForms,"max-length":e.maxLength,onChanged:n[0]||=e=>r(`changed`)},null,8,[`key-name`,`locale`,`source-locale`,`arg`,`forms`,`source-forms`,`max-length`])):(R(),B(iw,{key:2,"key-name":e.keyName,locale:e.locale,"source-locale":e.sourceLocale,value:o.value,"max-length":e.maxLength,onChanged:n[1]||=e=>r(`changed`)},null,8,[`key-name`,`locale`,`source-locale`,`value`,`max-length`]))],8,Aw),i.value?W(``,!0):(R(),z(`div`,Mw,[d.value?(R(),B(M(Jy),{key:0},{default:N(()=>[H(M(eb),{"as-child":``},{default:N(()=>[V(`button`,Nw,[H(M(Ed),{class:`size-3.5`})])]),_:1}),H(M(qS),{align:`end`,class:`w-fit max-w-xs text-xs`},{default:N(()=>[V(`ul`,Pw,[(R(!0),z(L,null,F(e.issues,(e,t)=>(R(),z(`li`,{key:t,class:`whitespace-pre-line text-foreground/80`},A(e.message),1))),128))]),f.value.length?(R(),z(`div`,Fw,[n[3]||=V(`p`,{class:`mb-1 text-[11px] font-medium text-muted-foreground`},`Add to dictionary`,-1),V(`div`,Iw,[(R(!0),z(L,null,F(f.value,e=>(R(),B(M(ax),{key:e},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:`inline-flex items-center gap-0.5 rounded border border-amber-500/40 px-1.5 py-0.5 text-[11px] text-amber-700 transition-colors hover:bg-amber-500/10 dark:text-amber-300`,onClick:t=>p(e)},[H(M(sd),{class:`size-3`}),U(A(e),1)],8,Lw)]),_:2},1024),H(M(PC),null,{default:N(()=>[U(`Add '`+A(e)+`' to the custom dictionary`,1)]),_:2},1024)]),_:2},1024))),128))])])):W(``,!0)]),_:1})]),_:1})):W(``,!0),u.value?(R(),B(M(ax),{key:1},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:`flex size-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,"aria-label":`Clear translation`,onClick:Yl(h,[`stop`])},[H(M(zu),{class:`size-4`})])]),_:1}),H(M(PC),null,{default:N(()=>[...n[4]||=[U(`Clear translation`,-1)]]),_:1})]),_:1})):W(``,!0),H(M(ax),null,{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:`flex size-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-primary-soft hover:text-primary disabled:opacity-50`,disabled:m.value||e.filling,"aria-label":`AI translate this cell`,onClick:Yl(_,[`stop`])},[m.value||e.filling?(R(),B(M(ed),{key:0,class:`size-4 animate-spin`})):(R(),B(M(Qu),{key:1,class:`size-4`}))],8,Rw)]),_:1}),H(M(PC),null,{default:N(()=>[...n[5]||=[U(`AI translate`,-1)]]),_:1})]),_:1}),H(YC,{state:a.value,editable:!0,onSetState:g},null,8,[`state`])]))],10,Dw))}}),Bw=[`aria-pressed`],Vw={key:0,class:`pointer-events-none absolute inset-0 z-[3] border-2 border-primary`,"aria-hidden":`true`},Hw={key:1,class:`pointer-events-none absolute inset-y-0 left-0 z-[4] w-1 bg-primary`,"aria-hidden":`true`},Uw={class:`sticky top-3`},Ww=[`aria-checked`],Gw={class:`absolute right-0 top-0`},Kw=[`disabled`],qw=[`innerHTML`],Jw={key:0,class:`mt-1.5 flex flex-wrap items-center gap-1.5 pl-6`},Yw={key:0,class:`inline-flex items-center gap-1 rounded-md border border-primary-border bg-primary/[0.09] px-1.5 py-0.5 font-mono text-[10px] font-bold uppercase tracking-wide text-primary`},Xw={class:`font-medium normal-case text-muted-foreground`},Zw={"data-testid":`issue-badge`,class:`inline-flex items-center gap-1 rounded-md bg-destructive-soft px-1.5 py-0.5 text-[11.5px] font-bold text-destructive`},Qw={key:1,class:`mt-2 flex flex-wrap gap-1.5 pl-6`},$w=[`onClick`],eT=[`data-testid`,`disabled`],tT={key:3,"data-testid":`translating-missing`,class:`ml-6 mt-2.5 inline-flex items-center gap-1 text-[11px] text-primary`},nT=[`disabled`],rT={class:`min-w-0 flex-1 [&>*:nth-child(even)]:bg-zebra`},iT={class:`grid gap-2`},aT={class:`break-all rounded bg-muted px-1 py-0.5 font-mono text-sm`},oT=P({__name:`KeyRow`,props:{keyName:{},entry:{},sourceLocale:{},locales:{},selected:{type:Boolean},checked:{type:Boolean},issues:{}},emits:[`changed`,`select`,`toggle-select`,`renamed`,`filter-tag`],setup(e,{emit:t}){let n=e,r=K(()=>n.keyName.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/\./g,`.<wbr>`)),i=K(()=>{let e=new Map;for(let t of n.issues??[]){let n=e.get(t.locale);n?n.push(t):e.set(t.locale,[t])}return e}),a=t,o=j(!1),s=j(``),c=j(!1),l=j(!1),u=j(!1),d=j(!1),f=K(()=>RC(n.entry,n.locales,n.sourceLocale)),p=K(()=>zC(n.entry,n.locales,n.sourceLocale));async function m(){d.value=!0;try{let e=await Kd({onlyMissing:!1,force:!0,keyGlob:n.keyName,locales:p.value});e.errors?.length?$.error(e.errors[0]?.error??`Translation failed`):$.success(`Re-translated ${e.written} stale value${e.written===1?``:`s`}`),a(`changed`)}catch(e){$.error(`Translate failed: ${e.message}`)}finally{d.value=!1}}async function h(){u.value=!0;try{let e=await Kd({onlyMissing:!0,keyGlob:n.keyName});e.errors?.length?$.error(e.errors[0]?.error??`Translation failed`):$.success(`Translated ${e.written} missing value${e.written===1?``:`s`}`),a(`changed`)}catch(e){$.error(`Translate failed: ${e.message}`)}finally{u.value=!1}}function g(e){a(`toggle-select`,{shift:e.shiftKey})}function _(e){e.target?.closest(`button, input, textarea, select, a, [contenteditable="true"]`)||a(`select`)}async function v(){let e=!n.entry.skipTranslate;l.value=!0;try{await Rd([n.keyName],{skipTranslate:e}),$.success(e?`Excluded from translation`:`Included in translation`),a(`changed`)}catch(e){$.error(`Update failed: ${e.message}`)}finally{l.value=!1}}function y(){s.value=n.keyName,o.value=!0}async function b(){let e=s.value.trim();if(!e||e===n.keyName){o.value=!1;return}l.value=!0;try{await zd(n.keyName,{rename:e}),o.value=!1,$.success(`Renamed to ${e}`),a(`renamed`,e)}catch(e){$.error(`Rename failed: ${e.message}`)}finally{l.value=!1}}async function x(){l.value=!0;try{await Pd(n.keyName),c.value=!1,$.success(`Deleted ${n.keyName}`),a(`changed`)}catch(e){$.error(`Delete failed: ${e.message}`)}finally{l.value=!1}}return(t,n)=>(R(),z(`div`,{class:k(M(LS)(`relative flex border-b-2 border-border bg-card`,e.selected&&`z-[1]`)),role:`button`,"aria-pressed":e.selected,"aria-label":`Select key`,onClick:_},[e.selected?(R(),z(`span`,Vw)):W(``,!0),e.selected?(R(),z(`span`,Hw)):W(``,!0),V(`div`,{class:k(M(LS)(`relative w-[var(--key-col-width,272px)] shrink-0 border-r border-border-soft p-[14px_16px_14px_18px]`,e.selected&&`bg-primary-soft/60`))},[V(`div`,Uw,[V(`button`,{type:`button`,role:`checkbox`,"aria-checked":!!e.checked,"data-testid":`row-select`,class:k([`absolute left-0 top-0.5 flex size-4 items-center justify-center rounded border transition-colors`,e.checked?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground hover:border-primary hover:bg-primary/10`]),"aria-label":`Select key`,onClick:Yl(g,[`stop`])},[e.checked?(R(),B(M(Ou),{key:0,class:`size-3`})):W(``,!0)],10,Ww),V(`div`,Gw,[H(M(rb),null,{default:N(()=>[H(M(lb),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:`flex size-6 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50`,"aria-label":`Key actions`,disabled:u.value,onClick:n[0]||=Yl(()=>{},[`stop`])},[H(M(Ru),{class:`size-4`})],8,Kw)]),_:1}),H(M(TC),{align:`end`},{default:N(()=>[f.value.length>0?(R(),B(M(EC),{key:0,disabled:u.value,onSelect:h},{default:N(()=>[H(M(yd),{class:`size-4`}),U(` Translate missing (`+A(f.value.length)+`) `,1)]),_:1},8,[`disabled`])):W(``,!0),H(M(EC),{onSelect:y},{default:N(()=>[H(M(od),{class:`size-4`}),n[9]||=U(` Rename `,-1)]),_:1}),H(M(EC),{"data-testid":`toggle-skip`,disabled:l.value,onSelect:v},{default:N(()=>[H(M(Qu),{class:`size-4`}),U(` `+A(e.entry.skipTranslate?`Include in translation`:`Skip translation`),1)]),_:1},8,[`disabled`]),H(M(EC),{class:`text-destructive data-[highlighted]:bg-destructive/10 data-[highlighted]:text-destructive`,onSelect:n[1]||=e=>c.value=!0},{default:N(()=>[H(M(Td),{class:`size-4`}),n[10]||=U(` Delete `,-1)]),_:1})]),_:1})]),_:1})]),V(`div`,{class:`break-words pl-6 pr-7 font-mono text-[13.5px] font-semibold tracking-tight cursor-pointer`,onClick:n[2]||=Yl(e=>g(e),[`stop`])},[V(`span`,{innerHTML:r.value},null,8,qw),e.entry.screenshot?(R(),B(M(Xu),{key:0,class:`ml-1.5 inline size-3.5 align-[-2px] text-muted-foreground`,"aria-label":`Has screenshot`})):W(``,!0)]),e.entry.plural||e.entry.skipTranslate||(e.issues?.length??0)>0?(R(),z(`div`,Jw,[e.entry.plural?(R(),z(`span`,Yw,[n[11]||=U(`PLURAL`,-1),V(`span`,Xw,`· `+A(e.entry.plural.arg),1)])):W(``,!0),e.entry.skipTranslate?(R(),B(M(ax),{key:1},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[...n[12]||=[V(`span`,{"data-testid":`skip-badge`,class:`inline-flex items-center gap-1 rounded-md border border-warning-border bg-warning-bg px-1.5 py-0.5 font-mono text-[10px] font-bold uppercase tracking-wide text-warning`},`SKIP`,-1)]]),_:1}),H(M(PC),null,{default:N(()=>[...n[13]||=[U(`Excluded from translation`,-1)]]),_:1})]),_:1})):W(``,!0),(e.issues?.length??0)>0?(R(),B(M(ax),{key:2},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`span`,Zw,[H(M(Ed),{class:`size-3`}),U(A(e.issues.length),1)])]),_:1}),H(M(PC),null,{default:N(()=>[U(A(e.issues.length)+` issue`+A(e.issues.length===1?``:`s`),1)]),_:1})]),_:1})):W(``,!0)])):W(``,!0),(e.entry.tags??[]).length?(R(),z(`div`,Qw,[(R(!0),z(L,null,F(e.entry.tags,e=>(R(),B(M(ax),{key:e},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:`inline-flex h-[22px] items-center gap-1.5 rounded-full border border-primary-border bg-transparent px-[9px] text-xs font-medium text-foreground transition-colors hover:border-primary hover:bg-primary/[0.07]`,onClick:Yl(t=>a(`filter-tag`,e),[`stop`])},[H(M(Cd),{class:`size-3 text-primary`}),U(A(e),1)],8,$w)]),_:2},1024),H(M(PC),null,{default:N(()=>[U(`Filter by tag: `+A(e),1)]),_:2},1024)]),_:2},1024))),128))])):W(``,!0),f.value.length>0?(R(),B(M(ax),{key:2},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,"data-testid":u.value?`translating-missing`:`translate-missing-btn`,disabled:u.value,class:`ml-6 mt-2.5 inline-flex items-center gap-1.5 rounded-lg border border-primary-border bg-primary-soft px-2.5 py-1.5 text-[11.5px] font-semibold text-primary transition hover:brightness-95 disabled:opacity-80`,onClick:Yl(h,[`stop`])},[u.value?(R(),B(M(ed),{key:0,class:`size-3 animate-spin`})):(R(),B(M(yd),{key:1,class:`size-3`})),U(` `+A(u.value?`Translating…`:`Translate ${f.value.length} missing`),1)],8,eT)]),_:1}),H(M(PC),null,{default:N(()=>[U(`Translate the `+A(f.value.length)+` missing language`+A(f.value.length>1?`s`:``)+` for this key`,1)]),_:1})]),_:1})):u.value?(R(),z(`span`,tT,[H(M(ed),{class:`size-3 animate-spin`}),n[14]||=U(` Translating… `,-1)])):W(``,!0),p.value.length>0?(R(),B(M(ax),{key:4},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,"data-testid":`retranslate-stale-btn`,disabled:d.value,class:`ml-6 mt-2.5 inline-flex items-center gap-1.5 rounded-lg border border-amber-500/40 bg-amber-500/10 px-2.5 py-1.5 text-[11.5px] font-semibold text-amber-700 transition hover:brightness-95 disabled:opacity-80 dark:text-amber-300`,onClick:Yl(m,[`stop`])},[d.value?(R(),B(M(ed),{key:0,class:`size-3 animate-spin`})):(R(),B(M(cd),{key:1,class:`size-3`})),U(` `+A(d.value?`Re-translating…`:`Re-translate ${p.value.length} stale`),1)],8,nT)]),_:1}),H(M(PC),null,{default:N(()=>[U(`Re-translate the `+A(p.value.length)+` stale language`+A(p.value.length>1?`s`:``)+` for this key`,1)]),_:1})]),_:1})):W(``,!0)])],2),V(`div`,rT,[(R(!0),z(L,null,F(e.locales,t=>(R(),B(zw,{key:t,"key-name":e.keyName,locale:t,"source-locale":e.sourceLocale,value:e.entry.values[t],"max-length":e.entry.maxLength,issues:i.value.get(t)??[],plural:e.entry.plural,"source-forms":e.entry.values[e.sourceLocale]?.forms,filling:u.value&&f.value.includes(t)||d.value&&p.value.includes(t),onChanged:n[3]||=e=>a(`changed`)},null,8,[`key-name`,`locale`,`source-locale`,`value`,`max-length`,`issues`,`plural`,`source-forms`,`filling`]))),128))]),H(M(Oh),{open:o.value,"onUpdate:open":n[6]||=e=>o.value=e},{default:N(()=>[H(M(bC),{class:`max-w-md`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),null,{default:N(()=>[...n[15]||=[U(`Rename key`,-1)]]),_:1}),H(M(wC),null,{default:N(()=>[...n[16]||=[U(`Use dot notation, e.g. `,-1),V(`span`,{class:`font-mono`},`home.title`,-1),U(`.`,-1)]]),_:1})]),_:1}),V(`div`,iT,[H(M(yC),{for:`rename-key`},{default:N(()=>[...n[17]||=[U(`New key`,-1)]]),_:1}),H(M(BS),{id:`rename-key`,modelValue:s.value,"onUpdate:modelValue":n[4]||=e=>s.value=e,class:`font-mono`,onKeydown:Zl(Yl(b,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),H(M(SC),null,{default:N(()=>[H(M(Q),{variant:`outline`,disabled:l.value,onClick:n[5]||=e=>o.value=!1},{default:N(()=>[...n[18]||=[U(`Cancel`,-1)]]),_:1},8,[`disabled`]),H(M(Q),{disabled:l.value,onClick:b},{default:N(()=>[...n[19]||=[U(`Rename`,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`]),H(M(Oh),{open:c.value,"onUpdate:open":n[8]||=e=>c.value=e},{default:N(()=>[H(M(bC),{class:`max-w-md`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),null,{default:N(()=>[...n[20]||=[U(`Delete key`,-1)]]),_:1}),H(M(wC),null,{default:N(()=>[n[21]||=U(` Delete `,-1),V(`code`,aT,A(e.keyName),1),n[22]||=U(` and all its translations? This cannot be undone. `,-1)]),_:1})]),_:1}),H(M(SC),null,{default:N(()=>[H(M(Q),{variant:`outline`,disabled:l.value,onClick:n[7]||=e=>c.value=!1},{default:N(()=>[...n[23]||=[U(`Cancel`,-1)]]),_:1},8,[`disabled`]),H(M(Q),{variant:`destructive`,disabled:l.value,onClick:x},{default:N(()=>[...n[24]||=[U(`Delete`,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`])],10,Bw))}}),sT=[{id:`phpstorm`,label:`PhpStorm`,buildUrl:e=>`phpstorm://open?file=${encodeURIComponent(e.abs)}&line=${e.line}`},{id:`vscode`,label:`VS Code`,buildUrl:e=>`vscode://file${e.abs}:${e.line}:${e.col}`},{id:`zed`,label:`Zed`,buildUrl:e=>`zed://file${e.abs}:${e.line}:${e.col}`}],cT=`vscode`,lT=e=>sT.some(t=>t.id===e),uT=j(cT);function dT(e){lT(e)&&(uT.value=e,lf({editor:e}).catch(()=>{}))}async function fT(){try{let{editor:e}=await cf();lT(e)&&(uT.value=e)}catch{}}function pT(e,t){return(sT.find(e=>e.id===uT.value)??sT[0]).buildUrl(e,t)}function mT(){return{dirs:new Map,files:new Map}}function hT(e){let t=mT();for(let n of e){let e=n.file.split(`/`).filter(Boolean),r=e.pop()??n.file,i=t;for(let t of e){let e=i.dirs.get(t);e||(e=mT(),i.dirs.set(t,e)),i=e}let a=i.files.get(r)??[];a.push({line:n.line,url:n.url}),i.files.set(r,a)}let n=[],r=(e,t)=>{for(let i of[...e.dirs.keys()].sort()){let a=i,o=e.dirs.get(i);for(;o.files.size===0&&o.dirs.size===1;){let e=[...o.dirs.keys()][0];a+=`/`+e,o=o.dirs.get(e)}n.push({kind:`dir`,depth:t,label:a}),r(o,t+1)}for(let r of[...e.files.keys()].sort()){let i=e.files.get(r).slice().sort((e,t)=>e.line-t.line);n.push({kind:`file`,depth:t,name:r,refs:i})}};return r(t,0),n}var gT={class:`flex flex-col gap-2`},_T={class:`flex items-center gap-1.5`},vT={key:0,class:`flex flex-col gap-2`},yT={class:`mt-1 flex gap-2`},bT={class:`flex items-center justify-between`},xT={class:`font-mono text-[10px] text-muted-foreground`},ST={class:`flex gap-1.5`},CT=[`onClick`],wT=[`onClick`],TT={class:`whitespace-pre-wrap break-words text-[12.5px] leading-snug`},ET=P({__name:`NotesEditor`,props:{keyName:{},notes:{}},emits:[`changed`],setup(e,{emit:t}){let n=e,r=t,i=e=>new Date(e).toLocaleString(),a=j(``),o=j(!1);async function s(){let e=a.value.trim();if(e){o.value=!0;try{await bf(n.keyName,e),a.value=``,r(`changed`)}catch(e){$.error(`Could not add note: ${e.message}`)}finally{o.value=!1}}}let c=j(null),l=j(``),u=j(!1);function d(e){c.value=e.id,l.value=e.text}function f(){c.value=null,l.value=``}async function p(e){let t=l.value.trim();if(t){u.value=!0;try{await xf(n.keyName,e,t),f(),r(`changed`)}catch(e){$.error(`Could not save note: ${e.message}`)}finally{u.value=!1}}}async function m(e){try{await Sf(n.keyName,e),r(`changed`)}catch(e){$.error(`Could not delete note: ${e.message}`)}}return(t,n)=>(R(),z(`div`,gT,[V(`div`,_T,[H(M(xd),{class:`size-3.5 text-muted-foreground`}),n[2]||=V(`p`,{class:`text-[13px] font-semibold`},`Notes`,-1)]),n[6]||=V(`p`,{class:`-mt-1 text-[11.5px] text-muted-foreground`},`Internal notes — never sent to the AI or exported.`,-1),e.notes.length?(R(),z(`ul`,vT,[(R(!0),z(L,null,F(e.notes,e=>(R(),z(`li`,{key:e.id,class:`flex flex-col gap-1 rounded-lg border border-border-soft bg-background p-2.5 text-sm`},[c.value===e.id?(R(),z(L,{key:0},[H(M($C),{modelValue:l.value,"onUpdate:modelValue":n[0]||=e=>l.value=e,rows:`2`,onKeydown:Zl(Yl(f,[`prevent`]),[`escape`])},null,8,[`modelValue`,`onKeydown`]),V(`div`,yT,[H(M(Q),{size:`sm`,disabled:u.value||!l.value.trim(),onClick:t=>p(e.id)},{default:N(()=>[...n[3]||=[U(`Save`,-1)]]),_:1},8,[`disabled`,`onClick`]),H(M(Q),{size:`sm`,variant:`ghost`,onClick:f},{default:N(()=>[...n[4]||=[U(`Cancel`,-1)]]),_:1})])],64)):(R(),z(L,{key:1},[V(`div`,bT,[V(`span`,xT,A(i(e.at)),1),V(`span`,ST,[V(`button`,{type:`button`,"aria-label":`Edit note`,class:`text-muted-foreground hover:text-foreground`,onClick:t=>d(e)},[H(M(od),{class:`size-3.5`})],8,CT),V(`button`,{type:`button`,"aria-label":`Delete note`,class:`text-muted-foreground hover:text-destructive`,onClick:t=>m(e.id)},[H(M(Td),{class:`size-3.5`})],8,wT)])]),V(`p`,TT,A(e.text),1)],64))]))),128))])):W(``,!0),H(M($C),{"data-testid":`new-note`,modelValue:a.value,"onUpdate:modelValue":n[1]||=e=>a.value=e,rows:`2`,placeholder:`Add an internal note…`},null,8,[`modelValue`]),H(M(Q),{"data-testid":`add-note`,variant:`outline`,class:`w-full text-muted-foreground`,disabled:o.value||!a.value.trim(),onClick:s},{default:N(()=>[...n[5]||=[U(` Add note `,-1)]]),_:1},8,[`disabled`])]))}}),DT={class:`flex shrink-0 flex-col overflow-y-auto border-l border-border bg-card max-[1080px]:hidden`},OT={key:0,class:`flex flex-1 flex-col items-center justify-center gap-2.5 p-10 text-center text-muted-foreground`},kT={key:1,class:`flex flex-col gap-4 px-5 pb-10 pt-[18px]`},AT={class:`flex flex-col gap-0.5`},jT=[`innerHTML`],MT={class:`flex flex-wrap items-center gap-2`},NT={key:0,class:`rounded-md border border-primary-border bg-primary-soft px-1.5 py-0.5 font-mono text-[10px] font-bold uppercase tracking-wide text-primary`},PT={key:1,class:`rounded-md border border-border-soft bg-accent px-1.5 py-0.5 font-mono text-[10px] font-bold uppercase tracking-wide text-muted-foreground`},FT=[`disabled`],IT=[`disabled`],LT={key:0,class:`flex flex-col gap-1.5`},RT={class:`flex items-center gap-1.5 text-[11px] font-bold uppercase tracking-wide text-destructive`},zT={class:`font-mono text-[11px] font-semibold`},BT={class:`ml-auto rounded border border-destructive px-1.5 py-0.5 text-[10.5px] font-semibold text-destructive`},VT=[`disabled`,`onClick`],HT={key:1,class:`flex flex-col gap-1.5`},UT={class:`flex items-center gap-1.5 text-[11px] font-bold uppercase tracking-wide text-muted-foreground`},WT={class:`font-mono text-[11px] font-semibold`},GT={class:`flex flex-col gap-1.5`},KT={class:`flex items-center gap-1.5`},qT={key:0,class:`ml-auto text-[11.5px] text-muted-foreground`},JT={key:0,class:`text-[12px] text-muted-foreground`},YT={key:0,class:`rounded-md border border-border-soft bg-accent px-2 py-1.5 text-[12px] text-muted-foreground`},XT={key:1,class:`flex flex-col gap-0.5 text-[11.5px]`},ZT={class:`min-w-0 truncate font-mono`,style:{direction:`rtl`,"text-align":`left`}},QT=[`href`],$T={key:1,class:`min-w-0 shrink truncate font-mono text-foreground`},eE={class:`flex min-w-0 flex-wrap items-baseline gap-x-1.5 gap-y-0.5`},tE=[`href`],nE={key:1,class:`shrink-0 font-mono text-muted-foreground`},rE={key:2,class:`flex flex-col gap-1`},iE={class:`flex items-center gap-1 text-[11px] font-medium text-muted-foreground`},aE={class:`flex flex-col gap-1`},oE={class:`min-w-0 flex-1 truncate font-mono`,style:{direction:`rtl`,"text-align":`left`}},sE={class:`shrink-0 rounded border border-dashed border-border-soft px-1 font-mono text-[10px]`},cE={class:`shrink-0 font-mono`},lE={key:3,class:`flex flex-col gap-1`},uE={class:`flex items-center gap-1 text-[11px] font-medium text-muted-foreground`},dE={class:`flex flex-col gap-1`},fE={class:`min-w-0 flex-1 truncate font-mono`,style:{direction:`rtl`,"text-align":`left`}},pE={class:`shrink-0 rounded border border-dashed border-border-soft px-1 font-mono text-[10px]`},mE={class:`shrink-0 font-mono`},hE={class:`flex flex-col gap-1.5`},gE={class:`flex items-center gap-1.5`},_E={class:`ml-0.5 flex items-center gap-0.5 rounded border border-primary/30 bg-primary/10 px-1 py-0.5 text-[10px] font-semibold text-primary`},vE=[`disabled`],yE={class:`flex flex-col gap-1.5`},bE={class:`flex items-center gap-1.5`},xE={class:`flex flex-col gap-1.5`},SE={class:`flex items-center gap-1.5`},CE={class:`flex flex-col gap-2`},wE={class:`flex items-center gap-1.5`},TE={key:0,class:`flex flex-col gap-2`},EE=[`src`,`alt`],DE={class:`flex gap-2`},OE=[`disabled`],kE={class:`flex flex-col gap-1.5 text-[11.5px] text-muted-foreground`},AE={class:`flex items-center justify-between gap-3`},jE={class:`font-mono text-[11px] text-foreground`},ME={class:`flex items-center justify-between gap-3`},NE={class:`font-mono text-[11px] text-foreground`},PE=P({__name:`DetailPanel`,props:{keyName:{},entry:{},issues:{},locales:{},sourceLocale:{},usageRevision:{}},emits:[`changed`],setup(e,{emit:t}){let n=e,r=t,i=e=>e?new Date(e).toLocaleString():`—`,a=K(()=>n.keyName?n.keyName.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/\./g,`.<wbr>`):``),o=K(()=>{let e=``;for(let t of Object.values(n.entry?.values??{}))t.updatedAt&&t.updatedAt>e&&(e=t.updatedAt);return e||void 0}),s=K(()=>!!n.entry?.plural),c=j(!1),l;function u(){RS(n.keyName).then(()=>{c.value=!0,clearTimeout(l),l=setTimeout(()=>c.value=!1,1500)}).catch(()=>{})}let d={placeholder:`Placeholder`,spelling:`Spelling`,length:`Length`,glossary:`Glossary`},f=K(()=>(n.issues??[]).filter(e=>e.check!==`untranslated`)),p={spelling:`spelling`,length:`max-length`},m=j(!1);async function h(e){let t=p[e.check];if(!(!t||!n.keyName||m.value)){m.value=!0;try{await jf(n.keyName,t,e.locale),$.success(`Dismissed until the source text changes`),r(`changed`)}catch(e){$.error(e.message)}finally{m.value=!1}}}let g=K(()=>{let e=n.entry,t=n.sourceLocale;return!e||!t?[]:(n.locales??[]).filter(n=>LC(e,n,t))}),_=j(null),v=j(!1),y=j(!1);function b(){_.value?.click()}async function x(e){let t=e.target,i=t.files?.[0];if(t.value=``,!(!i||!n.keyName)){v.value=!0;try{await vf(n.keyName,i),$.success(`Screenshot uploaded`),r(`changed`)}catch(e){$.error(`Upload failed: ${e.message}`)}finally{v.value=!1}}}async function S(){if(n.keyName){y.value=!0;try{await yf(n.keyName),$.success(`Screenshot removed`),r(`changed`)}catch(e){$.error(`Could not remove: ${e.message}`)}finally{y.value=!1}}}let C=Xt({context:``,tags:``,maxLength:void 0}),w=j(!1),T=j(!1);async function ee(){if(n.keyName){T.value=!0;try{let e=0,t=[];for await(let r of $d({keyGlob:n.keyName,all:!0,force:!0}))r.type===`done`&&(e=r.written,t=r.errors);e>0?($.success(`Context suggested and saved — review it below`),r(`changed`)):t.length>0?$.error(t[0].error):$.info(`No usage found — add a code snippet or type context manually`)}catch(e){$.error(`Could not suggest: ${e.message}`)}finally{T.value=!1}}}Dr(()=>[n.keyName,n.entry],()=>{C.context=n.entry?.context??``,C.tags=(n.entry?.tags??[]).join(`, `),C.maxLength=n.entry?.maxLength},{immediate:!0});let E=j(null),te=j(6);async function ne(){let e=n.keyName;if(!e){E.value=null;return}try{E.value=await nf(e)}catch{E.value=null}}Dr(()=>n.keyName,async()=>{E.value=null,te.value=6,await ne()},{immediate:!0}),Dr(()=>n.usageRevision,ne);let re=e=>pT(e,E.value?.project??``),D=K(()=>(E.value?.refs??[]).map(e=>({...e,url:re(e)}))),ie=K(()=>(E.value?.prefixRefs??[]).map(e=>({...e,url:re(e)}))),ae=K(()=>(E.value?.literalRefs??[]).map(e=>({...e,url:pT(e,E.value?.project??``)}))),oe=K(()=>hT(D.value.slice(0,te.value))),se=e=>e.find(e=>e.url)?.url??null,O=j(`count`),ce=j(!1);Dr(()=>[n.keyName,n.entry],()=>{O.value=n.entry?.plural?.arg??`count`},{immediate:!0});async function le(){if(!n.keyName)return;let e=O.value.trim()||`count`;ce.value=!0;try{await Wd(n.keyName,e),$.success(`Converted to plural`),r(`changed`)}catch(e){$.error(`Could not convert: ${e.message}`)}finally{ce.value=!1}}async function ue(){if(n.keyName){ce.value=!0;try{await Gd(n.keyName),$.success(`Converted to a single string`),r(`changed`)}catch(e){$.error(`Could not convert: ${e.message}`)}finally{ce.value=!1}}}async function de(){let e=O.value.trim();if(!(!n.keyName||!e||e===n.entry?.plural?.arg))try{await zd(n.keyName,{pluralArg:e}),$.success(`Renamed count variable`),r(`changed`)}catch(e){$.error(`Could not rename: ${e.message}`)}}async function fe(){if(n.keyName){w.value=!0;try{await zd(n.keyName,{metadata:{context:C.context.trim(),tags:C.tags.split(`,`).map(e=>e.trim()).filter(Boolean),maxLength:C.maxLength?Number(C.maxLength):null}}),$.success(`Metadata saved`),r(`changed`)}catch(e){$.error(`Could not save: ${e.message}`)}finally{w.value=!1}}}return(t,n)=>(R(),z(`aside`,DT,[!e.keyName||!e.entry?(R(),z(`div`,OT,[H(M(Wu),{class:`size-5`}),n[6]||=V(`p`,{class:`max-w-[200px] text-sm leading-relaxed`},`Select a key to view and edit its details.`,-1)])):(R(),z(`div`,kT,[V(`div`,AT,[n[7]||=V(`span`,{class:`text-[10.5px] font-bold uppercase tracking-wide text-muted-foreground`},`Key`,-1),H(M(ax),{"disable-closing-trigger":``},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`span`,{class:`inline-block w-fit break-words cursor-pointer font-mono text-base font-semibold tracking-tight`,innerHTML:a.value,onClick:u},null,8,jT)]),_:1}),H(M(PC),null,{default:N(()=>[U(A(c.value?`Copied`:`Click to copy`),1)]),_:1})]),_:1})]),V(`div`,MT,[s.value?(R(),z(`span`,NT,`PLURAL`)):(R(),z(`span`,PT,`SINGLE`)),s.value?(R(),z(L,{key:2},[n[8]||=V(`span`,{class:`text-[11.5px] text-muted-foreground`},`arg`,-1),H(M(BS),{modelValue:O.value,"onUpdate:modelValue":n[0]||=e=>O.value=e,class:`h-7 w-24 font-mono text-xs`,"aria-label":`Number variable name`,onBlur:de,onKeydown:Zl(Yl(de,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),V(`button`,{type:`button`,class:`ml-auto rounded-md px-2 py-1 text-[12px] font-semibold text-primary transition-colors hover:bg-primary-soft disabled:opacity-50`,disabled:ce.value,onClick:ue},`Make single`,8,FT)],64)):(R(),z(`button`,{key:3,type:`button`,class:`ml-auto rounded-md px-2 py-1 text-[12px] font-semibold text-primary transition-colors hover:bg-primary-soft disabled:opacity-50`,disabled:ce.value,onClick:le},`Make plural`,8,IT))]),f.value.length||g.value.length?(R(),z(`div`,{key:0,class:k(M(LS)(`flex flex-col gap-3 rounded-xl border border-border bg-background p-3`,f.value.length&&`border-primary-border`))},[f.value.length?(R(),z(`div`,LT,[V(`div`,RT,[H(M(Ed),{class:`size-3.5`}),U(` `+A(f.value.length)+` issue`+A(f.value.length===1?``:`s`),1)]),(R(!0),z(L,null,F(f.value,(e,t)=>(R(),z(`div`,{key:t,class:`group flex items-center gap-2 text-[12.5px]`},[H(vw,{code:e.locale,size:14},null,8,[`code`]),V(`span`,zT,A(e.locale.toUpperCase()),1),V(`span`,BT,A(d[e.check]??e.check),1),p[e.check]?(R(),B(M(ax),{key:0},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:`flex size-[20px] items-center justify-center rounded text-muted-foreground opacity-0 transition-opacity hover:bg-accent hover:text-foreground group-hover:opacity-100`,disabled:m.value,"aria-label":`Dismiss until the source changes`,onClick:t=>h(e)},[H(M(Cu),{class:`size-3`})],8,VT)]),_:2},1024),H(M(PC),null,{default:N(()=>[...n[9]||=[U(`Dismiss until the source text changes`,-1)]]),_:1})]),_:2},1024)):W(``,!0)]))),128))])):W(``,!0),g.value.length?(R(),z(`div`,HT,[V(`div`,UT,[n[10]||=V(`span`,{class:`size-[7px] rounded-full bg-muted-foreground`},null,-1),U(` `+A(g.value.length)+` untranslated `,1)]),(R(!0),z(L,null,F(g.value,e=>(R(),z(`div`,{key:e,class:`flex items-center gap-2 text-[12.5px]`},[H(vw,{code:e,size:14},null,8,[`code`]),V(`span`,WT,A(e.toUpperCase()),1),n[11]||=V(`span`,{class:`ml-auto rounded border border-border-soft bg-accent px-1.5 py-0.5 text-[10.5px] font-semibold italic text-muted-foreground`},`Empty`,-1)]))),128))])):W(``,!0)],2)):W(``,!0),V(`div`,GT,[V(`div`,KT,[H(M(Iu),{class:`size-3.5 text-muted-foreground`}),n[12]||=V(`span`,{class:`text-[13px] font-semibold`},`Usage`,-1),E.value?.indexed?(R(),z(`span`,qT,A(E.value.count)+` reference`+A(E.value.count===1?``:`s`),1)):W(``,!0)]),!E.value||!E.value.indexed?(R(),z(`p`,JT,` Run a scan to find where this key is used in your code. `)):(R(),z(L,{key:1},[E.value.count===0&&ie.value.length===0&&ae.value.length===0?(R(),z(`p`,YT,` Not referenced in the last scan — this key may be unused. `)):W(``,!0),D.value.length?(R(),z(`div`,XT,[(R(!0),z(L,null,F(oe.value,(e,t)=>(R(),z(L,{key:t},[e.kind===`dir`?(R(),z(`div`,{key:0,class:`flex items-center gap-1 text-muted-foreground`,style:he({paddingLeft:`${e.depth*12}px`})},[H(M(qu),{class:`size-3 shrink-0`}),H(M(ax),null,{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`span`,ZT,A(e.label),1)]),_:2},1024),H(M(PC),{class:`font-mono`},{default:N(()=>[U(A(e.label),1)]),_:2},1024)]),_:2},1024)],4)):(R(),z(`div`,{key:1,class:`flex items-baseline gap-1.5`,style:he({paddingLeft:`${e.depth*12+16}px`})},[H(M(ax),null,{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[se(e.refs)?(R(),z(`a`,{key:0,href:se(e.refs),class:`min-w-0 shrink truncate rounded px-0.5 font-mono text-foreground hover:bg-accent hover:text-primary`},A(e.name),9,QT)):(R(),z(`span`,$T,A(e.name),1))]),_:2},1024),H(M(PC),{class:`font-mono`},{default:N(()=>[U(A(se(e.refs)?`Open ${e.name}`:e.name),1)]),_:2},1024)]),_:2},1024),V(`span`,eE,[(R(!0),z(L,null,F(e.refs,(t,n)=>(R(),z(L,{key:n},[t.url?(R(),B(M(ax),{key:0},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`a`,{href:t.url,class:`shrink-0 rounded px-0.5 font-mono text-muted-foreground hover:bg-accent hover:text-primary`},`:`+A(t.line),9,tE)]),_:2},1024),H(M(PC),{class:`font-mono`},{default:N(()=>[U(`Open `+A(e.name)+`:`+A(t.line),1)]),_:2},1024)]),_:2},1024)):(R(),z(`span`,nE,`:`+A(t.line),1))],64))),128))])],4))],64))),128)),E.value.count>te.value?(R(),z(`button`,{key:0,type:`button`,class:`mt-0.5 self-start text-[11.5px] text-primary hover:underline`,onClick:n[1]||=e=>te.value=E.value.count},` + `+A(E.value.count-te.value)+` more `,1)):W(``,!0)])):W(``,!0),ie.value.length?(R(),z(`div`,rE,[V(`p`,iE,[H(M(Su),{class:`size-3`}),n[13]||=U(` Possible usage (dynamic keys) `,-1)]),V(`ul`,aE,[(R(!0),z(L,null,F(ie.value,(e,t)=>(R(),z(`li`,{key:t,class:`text-[11.5px]`},[H(M(ax),null,{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[(R(),B(aa(e.url?`a`:`div`),{href:e.url||void 0,class:k([`group flex items-baseline gap-2 text-muted-foreground`,e.url?`hover:text-primary`:``])},{default:N(()=>[V(`span`,oE,A(e.file),1),V(`span`,sE,A(e.prefix)+`*`,1),V(`span`,cE,`:`+A(e.line),1),e.url?(R(),B(M(Bu),{key:0,class:`size-3 shrink-0 opacity-0 transition-opacity group-hover:opacity-100`})):W(``,!0)]),_:2},1032,[`href`,`class`]))]),_:2},1024),H(M(PC),{class:`font-mono`},{default:N(()=>[U(A(e.url?`Open ${e.file}:${e.line}`:`${e.file}:${e.line}`),1)]),_:2},1024)]),_:2},1024)]))),128))])])):W(``,!0),ae.value.length?(R(),z(`div`,lE,[V(`p`,uE,[H(M(Su),{class:`size-3`}),n[14]||=U(` Possible usage (string literals) `,-1)]),V(`ul`,dE,[(R(!0),z(L,null,F(ae.value,(e,t)=>(R(),z(`li`,{key:t,class:`text-[11.5px]`},[H(M(ax),null,{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[(R(),B(aa(e.url?`a`:`div`),{href:e.url||void 0,class:k([`group flex items-baseline gap-2 text-muted-foreground`,e.url?`hover:text-primary`:``])},{default:N(()=>[V(`span`,fE,A(e.file),1),V(`span`,pE,`'`+A(e.literal)+`'`,1),V(`span`,mE,`:`+A(e.line),1),e.url?(R(),B(M(Bu),{key:0,class:`size-3 shrink-0 opacity-0 transition-opacity group-hover:opacity-100`})):W(``,!0)]),_:2},1032,[`href`,`class`]))]),_:2},1024),H(M(PC),{class:`font-mono`},{default:N(()=>[U(A(e.url?`Open ${e.file}:${e.line}`:`${e.file}:${e.line}`),1)]),_:2},1024)]),_:2},1024)]))),128))])])):W(``,!0)],64))]),V(`div`,hE,[V(`div`,gE,[H(M(Zu),{class:`size-3.5 text-muted-foreground`}),n[16]||=V(`label`,{for:`detail-context`,class:`text-[13px] font-semibold`},`Context`,-1),e.entry.contextSource===`ai`?(R(),B(M(ax),{key:0},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`span`,_E,[H(M(yd),{class:`size-2.5`}),n[15]||=U(` AI `,-1)])]),_:1}),H(M(PC),null,{default:N(()=>[U(A(e.entry.contextAt?`AI-generated ${i(e.entry.contextAt)}`:`AI-generated`),1)]),_:1})]),_:1})):W(``,!0),H(M(ax),null,{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:`ml-auto flex items-center gap-1 rounded px-1.5 py-0.5 text-[11.5px] font-medium text-muted-foreground transition-colors hover:bg-accent hover:text-foreground disabled:opacity-40`,disabled:T.value,onClick:ee},[H(M(yd),{class:`size-3`}),U(` `+A(T.value?`Suggesting…`:`Suggest`),1)],8,vE)]),_:1}),H(M(PC),null,{default:N(()=>[U(A(T.value?`Suggesting…`:`Suggest context with AI`),1)]),_:1})]),_:1})]),H(M($C),{id:`detail-context`,modelValue:C.context,"onUpdate:modelValue":n[2]||=e=>C.context=e,rows:`5`,class:`min-h-28`,placeholder:`Where/how this string is used…`},null,8,[`modelValue`])]),V(`div`,yE,[V(`div`,bE,[H(M(wd),{class:`size-3.5 text-muted-foreground`}),n[17]||=V(`label`,{for:`detail-tags`,class:`text-[13px] font-semibold`},`Tags`,-1)]),H(M(BS),{id:`detail-tags`,modelValue:C.tags,"onUpdate:modelValue":n[3]||=e=>C.tags=e,placeholder:`comma, separated`},null,8,[`modelValue`])]),V(`div`,xE,[V(`div`,SE,[H(M(ud),{class:`size-3.5 text-muted-foreground`}),n[18]||=V(`label`,{for:`detail-maxlen`,class:`text-[13px] font-semibold`},`Max length`,-1)]),H(M(BS),{id:`detail-maxlen`,modelValue:C.maxLength,"onUpdate:modelValue":n[4]||=e=>C.maxLength=e,modelModifiers:{number:!0},type:`number`,min:`0`,placeholder:`—`,class:`font-mono`},null,8,[`modelValue`])]),H(M(Q),{class:`w-full`,disabled:w.value,onClick:fe},{default:N(()=>[...n[19]||=[U(`Save details`,-1)]]),_:1},8,[`disabled`]),n[25]||=V(`div`,{class:`h-px bg-border-soft`},null,-1),e.keyName?(R(),B(ET,{key:1,"key-name":e.keyName,notes:e.entry.notes??[],onChanged:n[5]||=e=>r(`changed`)},null,8,[`key-name`,`notes`])):W(``,!0),n[26]||=V(`div`,{class:`h-px bg-border-soft`},null,-1),V(`div`,CE,[V(`div`,wE,[H(M(Xu),{class:`size-3.5 text-muted-foreground`}),n[20]||=V(`span`,{class:`text-[13px] font-semibold`},`Screenshot`,-1)]),V(`input`,{ref_key:`fileInput`,ref:_,type:`file`,accept:`image/*`,class:`hidden`,onChange:x},null,544),e.entry.screenshot?(R(),z(`div`,TE,[V(`img`,{src:`/`+e.entry.screenshot,alt:`Screenshot for ${e.keyName}`,class:`max-h-48 w-full rounded-lg border border-border object-contain`},null,8,EE),V(`div`,DE,[H(M(Q),{variant:`outline`,size:`sm`,disabled:v.value,onClick:b},{default:N(()=>[H(M(cd),{class:`size-4`}),n[21]||=U(` Replace `,-1)]),_:1},8,[`disabled`]),H(M(Q),{variant:`outline`,size:`sm`,class:`text-muted-foreground hover:text-destructive`,disabled:y.value,onClick:S},{default:N(()=>[H(M(Td),{class:`size-4`}),n[22]||=U(` Remove `,-1)]),_:1},8,[`disabled`])])])):(R(),z(`button`,{key:1,type:`button`,class:`flex w-full flex-col items-center gap-2 rounded-xl border-[1.5px] border-dashed border-input p-[22px] text-center text-[12.5px] font-medium text-muted-foreground transition-colors hover:border-primary-border hover:bg-accent hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-60`,disabled:v.value,onClick:b},[H(M(Od),{class:`size-5`}),U(` `+A(v.value?`Uploading…`:`Upload screenshot`),1)],8,OE))]),n[27]||=V(`div`,{class:`h-px bg-border-soft`},null,-1),V(`div`,kE,[V(`div`,AE,[n[23]||=V(`span`,null,`Created`,-1),V(`span`,jE,A(i(e.entry.createdAt)),1)]),V(`div`,ME,[n[24]||=V(`span`,null,`Last updated`,-1),V(`span`,NE,A(i(o.value)),1)])])]))]))}}),FE={class:`grid gap-3`},IE={class:`grid gap-1.5`},LE={class:`grid gap-1.5`},RE={class:`flex items-center justify-between gap-2 rounded-md border p-2.5`},zE={class:`flex flex-col`},BE={key:0,class:`grid gap-1.5`},VE={key:1,class:`text-sm text-destructive`},HE=P({__name:`AddKeyDialog`,props:{open:{type:Boolean,required:!0},openModifiers:{}},emits:ka([`created`],[`update:open`]),setup(e,{emit:t}){let n=Za(e,`open`),r=t,i=j(``),a=j(``),o=j(``),s=j(!1),c=j(!1),l=j(`count`);Dr(n,e=>{e&&(i.value=``,a.value=``,o.value=``,c.value=!1,l.value=`count`)});async function u(){let e=i.value.trim();if(!e){o.value=`Key is required.`;return}if(!a.value.trim()){o.value=`Source value is required.`;return}s.value=!0,o.value=``;try{c.value?await Nd(e,a.value,{arg:l.value.trim()||`count`}):await Nd(e,a.value),$.success(`Added ${e}`),n.value=!1,r(`created`,e)}catch(e){o.value=e.message}finally{s.value=!1}}return(e,t)=>(R(),B(M(Oh),{open:n.value,"onUpdate:open":t[5]||=e=>n.value=e},{default:N(()=>[H(M(bC),{class:`max-w-md`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),null,{default:N(()=>[...t[6]||=[U(`Add key`,-1)]]),_:1}),H(M(wC),null,{default:N(()=>[...t[7]||=[U(`Create a new translation key using dot notation.`,-1)]]),_:1})]),_:1}),V(`div`,FE,[V(`div`,IE,[H(M(yC),{for:`add-key`},{default:N(()=>[...t[8]||=[U(`Key `,-1),V(`span`,{class:`text-destructive`},`*`,-1)]]),_:1}),H(M(BS),{id:`add-key`,modelValue:i.value,"onUpdate:modelValue":t[0]||=e=>i.value=e,class:`font-mono`,placeholder:`home.title`,onKeydown:Zl(Yl(u,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),V(`div`,LE,[H(M(yC),{for:`add-value`},{default:N(()=>[U(A(c.value?`Source value (other form)`:`Source value`)+` `,1),t[9]||=V(`span`,{class:`text-destructive`},`*`,-1)]),_:1}),H(M(BS),{id:`add-value`,modelValue:a.value,"onUpdate:modelValue":t[1]||=e=>a.value=e,placeholder:c.value?`{count} items`:`Welcome home`,onKeydown:Zl(Yl(u,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`])]),V(`div`,RE,[V(`div`,zE,[H(M(yC),{for:`add-plural`,class:`cursor-pointer`},{default:N(()=>[...t[10]||=[U(`Plural`,-1)]]),_:1}),t[11]||=V(`span`,{class:`text-xs text-muted-foreground`},`One form per CLDR category, by locale.`,-1)]),H(M(XS),{id:`add-plural`,modelValue:c.value,"onUpdate:modelValue":t[2]||=e=>c.value=e},null,8,[`modelValue`])]),c.value?(R(),z(`div`,BE,[H(M(yC),{for:`add-plural-arg`},{default:N(()=>[...t[12]||=[U(`Count argument`,-1)]]),_:1}),H(M(BS),{id:`add-plural-arg`,modelValue:l.value,"onUpdate:modelValue":t[3]||=e=>l.value=e,class:`font-mono`,placeholder:`count`,onKeydown:Zl(Yl(u,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])])):W(``,!0),o.value?(R(),z(`p`,VE,A(o.value),1)):W(``,!0)]),H(M(SC),null,{default:N(()=>[H(M(Q),{variant:`outline`,disabled:s.value,onClick:t[4]||=e=>n.value=!1},{default:N(()=>[...t[13]||=[U(`Cancel`,-1)]]),_:1},8,[`disabled`]),H(M(Q),{disabled:s.value||!i.value.trim()||!a.value.trim(),onClick:u},{default:N(()=>[...t[14]||=[U(`Add key`,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`]))}}),UE={key:0,class:`flex items-center gap-1.5 rounded-md border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-xs text-amber-700 dark:text-amber-400`},WE={key:1,class:`text-sm text-destructive`},GE={key:2,class:`flex flex-1 items-center justify-center py-12 text-sm text-muted-foreground`},KE={key:0,class:`flex flex-col gap-1 rounded-md border border-amber-500/30 bg-amber-500/10 p-3 text-sm text-amber-700 dark:text-amber-400`},qE={class:`flex items-center gap-1.5 font-medium`},JE={class:`list-inside list-disc pl-1`},YE={class:`grid min-h-0 flex-1 grid-cols-[16rem_1fr] gap-3 overflow-hidden`},XE={class:`min-h-0 overflow-y-auto rounded-md border`},ZE=[`onClick`],QE={key:0,class:`px-3 py-2 text-xs text-muted-foreground`},$E={key:0,class:`min-h-0 overflow-auto rounded-md border bg-muted/30 p-3 font-mono text-xs leading-relaxed [tab-size:2]`},eD={key:1,class:`flex min-h-0 items-center justify-center rounded-md border text-sm text-muted-foreground`},tD=P({__name:`ExportDialog`,props:ka({exportLocales:{}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:[`update:open`],setup(e){let t=Za(e,`open`),n=e,r=K(()=>(n.exportLocales?.length??0)>0),i=j(!1),a=j(!1),o=j(``),s=j([]),c=j([]),l=j(null),u=K(()=>s.value.find(e=>e.path===l.value)??null);async function d(){i.value=!0,o.value=``,s.value=[],c.value=[],l.value=null;try{let e=await wf();s.value=[...e.files].sort((e,t)=>e.path.localeCompare(t.path)),c.value=e.warnings,l.value=s.value[0]?.path??null}catch(e){o.value=e.message}finally{i.value=!1}}Dr(t,e=>{e&&d()},{immediate:!0});async function f(){a.value=!0;try{let e=await Tf();$.success(`Wrote ${e.files} file${e.files===1?``:`s`}`),t.value=!1}catch(e){$.error(`Export failed: ${e.message}`)}finally{a.value=!1}}return(e,d)=>(R(),B(M(Oh),{open:t.value,"onUpdate:open":d[1]||=e=>t.value=e},{default:N(()=>[H(M(bC),{class:`flex max-h-[85vh] w-full max-w-5xl flex-col`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),null,{default:N(()=>[...d[2]||=[U(`Export preview`,-1)]]),_:1}),H(M(wC),null,{default:N(()=>[...d[3]||=[U(`Review the files that will be written to disk.`,-1)]]),_:1})]),_:1}),r.value?(R(),z(`p`,UE,[H(M(Ed),{class:`size-3.5 shrink-0`}),U(` Export is limited to `+A(n.exportLocales.length)+` language`+A(n.exportLocales.length===1?``:`s`)+` (Settings → Export targets). `,1)])):W(``,!0),o.value?(R(),z(`p`,WE,A(o.value),1)):W(``,!0),i.value?(R(),z(`div`,GE,` Generating preview… `)):o.value?W(``,!0):(R(),z(L,{key:3},[c.value.length?(R(),z(`div`,KE,[V(`p`,qE,[H(M(Ed),{class:`size-4`}),U(` `+A(c.value.length)+` warning`+A(c.value.length===1?``:`s`),1)]),V(`ul`,JE,[(R(!0),z(L,null,F(c.value,(e,t)=>(R(),z(`li`,{key:t},A(e),1))),128))])])):W(``,!0),V(`div`,YE,[V(`ul`,XE,[(R(!0),z(L,null,F(s.value,e=>(R(),z(`li`,{key:e.path},[H(M(ax),null,{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:k(M(LS)(`w-full truncate px-3 py-1.5 text-left font-mono text-xs transition-colors`,e.path===l.value?`bg-accent text-accent-foreground`:`hover:bg-muted/60`)),onClick:t=>l.value=e.path},A(e.path),11,ZE)]),_:2},1024),H(M(PC),{class:`font-mono`},{default:N(()=>[U(A(e.path),1)]),_:2},1024)]),_:2},1024)]))),128)),s.value.length===0?(R(),z(`li`,QE,` No files to write. `)):W(``,!0)]),u.value?(R(),z(`pre`,$E,A(u.value.contents),1)):(R(),z(`div`,eD,` Select a file to preview its contents. `))])],64)),H(M(SC),null,{default:N(()=>[H(M(Q),{variant:`outline`,disabled:a.value,onClick:d[0]||=e=>t.value=!1},{default:N(()=>[...d[4]||=[U(`Cancel`,-1)]]),_:1},8,[`disabled`]),H(M(Q),{disabled:i.value||a.value||s.value.length===0,onClick:f},{default:N(()=>[H(M(Uu),{class:`size-4`}),U(` `+A(a.value?`Writing…`:`Write ${s.value.length} file${s.value.length===1?``:`s`}`),1)]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`]))}}),nD={class:`relative h-2 w-full overflow-hidden rounded-full bg-muted`},rD=P({__name:`Progress`,props:{modelValue:{}},setup(e){return(t,n)=>(R(),z(`div`,nD,[V(`div`,{class:`h-full bg-primary transition-all`,style:he({width:`${Math.min(100,Math.max(0,e.modelValue??0))}%`})},null,4)]))}}),iD={key:0,class:`rounded-md border bg-muted/40 px-3 py-2 text-xs text-muted-foreground`},aD={class:`font-medium text-foreground`},oD={key:0,class:`mt-0.5`},sD={key:1,class:`mt-1`},cD={class:`mt-1`},lD={key:1,class:`flex min-h-0 flex-col gap-1.5`},uD={class:`flex justify-between text-xs text-muted-foreground`},dD={key:0},fD={key:0,class:`mt-1 flex max-h-56 min-h-0 flex-col overflow-y-auto rounded-md border text-sm`},pD={key:2,class:`flex flex-col gap-1 rounded-md border border-destructive/30 bg-destructive/10 p-3 text-sm text-destructive`},mD={class:`flex items-center gap-1.5 font-medium`},hD={key:3,class:`flex min-h-0 flex-col gap-1.5`},gD={class:`flex items-center gap-1.5 text-sm font-medium text-amber-700 dark:text-amber-400`},_D={class:`min-h-0 flex-1 overflow-y-auto rounded-md border text-sm`},vD={class:`inline-flex items-center gap-1.5 font-mono text-xs`},yD={class:`text-muted-foreground`},bD=P({__name:`TranslateDialog`,props:ka({state:{},filteredKeys:{},targetLocale:{}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:ka([`changed`],[`update:open`]),setup(e,{emit:t}){let n=e,r=Za(e,`open`),i=t,a=j(!1),o=j(``),s=j([]),c=j(0),l=j(0),u=null,d=j([]),f=e=>d.value.find(t=>t.locale===e),p=K(()=>d.value.filter(e=>e.status===`active`).length),m={active:0,queued:1,done:2},h=K(()=>[...d.value].sort((e,t)=>m[e.status]-m[t.status])),g=e=>e===`active`?ed:e===`done`?Ou:Pu,_=K(()=>{let e=n.state;return e?n.targetLocale?[n.targetLocale]:e.config.locales.filter(t=>t!==e.config.sourceLocale):[]}),v=K(()=>{let e=n.state;if(!e)return 0;let t=n.filteredKeys?new Set(n.filteredKeys):null,r=0;for(let[n,i]of Object.entries(e.keys))if(!(t&&!t.has(n))&&!i.skipTranslate)for(let t of _.value)LC(i,t,e.config.sourceLocale)&&r++;return r}),y=j(null),b=K(()=>y.value??v.value),x=j(!1),S=j(!1);async function C(){x.value=!1;try{let e=await Jd();x.value=e.supported&&!e.pending}catch{}}async function w(){S.value=!0;try{let e=await Yd({keys:n.filteredKeys?.length?n.filteredKeys:void 0,locales:n.targetLocale?[n.targetLocale]:void 0});$.success(`Batch of ${e.total.toLocaleString()} strings submitted — results apply when processing finishes (usually under an hour).`),r.value=!1}catch(e){o.value=e.message}finally{S.value=!1}}let T=j(null),ee=e=>e>=1e4?`${Math.round(e/1e3)}k`:e.toLocaleString(),E=e=>e>=.1?`$${e.toFixed(2)}`:`$${e.toFixed(4)}`;async function te(){T.value=null;try{T.value=await qd({keys:n.filteredKeys?.length?n.filteredKeys:void 0,locales:n.targetLocale?[n.targetLocale]:void 0})}catch{}}Dr(r,e=>{e&&(o.value=``,s.value=[],c.value=0,l.value=0,d.value=[],y.value=null,te(),C())},{immediate:!0});function ne(){u?.abort()}async function re(){u=new AbortController,a.value=!0,o.value=``,s.value=[],c.value=0,d.value=[],y.value=v.value,l.value=y.value;try{let e=u.signal,t=0,a=n.filteredKeys?.length?n.filteredKeys:void 0,o=n.targetLocale?[n.targetLocale]:void 0,p=o?[e,a,o]:a?[e,a]:[e];for await(let e of Qd(...p))if(e.type===`start`)l.value=e.total,d.value=e.locales.map(e=>({locale:e.locale,total:e.total,done:0,status:`queued`}));else if(e.type===`locale-start`){let t=f(e.locale);t&&(t.status=`active`)}else if(e.type===`progress`){c.value=e.done,l.value=e.total;let t=f(e.locale);t&&(t.done=e.localeDone,t.status===`queued`&&(t.status=`active`)),i(`changed`)}else if(e.type===`locale-done`){let t=f(e.locale);t&&(t.status=`done`,t.done=t.total)}else e.type===`done`&&(t=e.written,s.value=e.errors,c.value=l.value,i(`changed`));e.aborted||($.success(`Translated ${t} string${t===1?``:`s`}`),s.value.length===0&&(r.value=!1))}catch(e){e.name!==`AbortError`&&(o.value=e.message)}finally{a.value=!1,u=null}}return(e,t)=>(R(),B(M(Oh),{open:r.value,"onUpdate:open":t[1]||=e=>r.value=e},{default:N(()=>[H(M(bC),{class:`flex max-h-[85vh] max-w-lg flex-col`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),null,{default:N(()=>[...t[2]||=[U(`Translate missing strings`,-1)]]),_:1}),H(M(wC),null,{default:N(()=>[b.value===0?(R(),z(L,{key:0},[U(`Nothing missing — all translations are filled.`)],64)):(R(),z(L,{key:1},[U(` Translate `+A(b.value.toLocaleString())+` missing string`+A(b.value===1?``:`s`)+` across `+A(_.value.length)+` language`+A(_.value.length===1?``:`s`)+` with Claude? This sends source strings + context to the AI provider. `,1)],64))]),_:1})]),_:1}),T.value&&T.value.requests>0&&b.value>0&&!a.value&&c.value===0?(R(),z(`div`,iD,[V(`p`,null,[U(` ≈ `+A(T.value.requests.toLocaleString())+` requests · `+A(T.value.batches.toLocaleString())+` batch`+A(T.value.batches===1?``:`es`)+` · ~`+A(ee(T.value.inputTokens))+` in / ~`+A(ee(T.value.outputTokens))+` out tokens`,1),T.value.estimatedCost===null?W(``,!0):(R(),z(L,{key:0},[t[3]||=U(` · `,-1),V(`span`,aD,`≈ `+A(E(T.value.estimatedCost)),1),t[4]||=U(` (±20%)`,-1)],64))]),T.value.pricing?W(``,!0):(R(),z(`p`,oD,` No pricing known for this model — set a price in Settings → AI for a dollar estimate. `)),T.value.perLocale.length>1?(R(),z(`details`,sD,[t[5]||=V(`summary`,{class:`cursor-pointer select-none`},`Per-language breakdown`,-1),V(`ul`,cD,[(R(!0),z(L,null,F(T.value.perLocale,e=>(R(),z(`li`,{key:e.locale,class:`flex justify-between font-mono tabular-nums`},[V(`span`,null,A(e.locale),1),V(`span`,null,A(e.requests.toLocaleString())+` req · ~`+A(ee(e.inputTokens))+` / ~`+A(ee(e.outputTokens)),1)]))),128))])])):W(``,!0)])):W(``,!0),a.value||c.value>0?(R(),z(`div`,lD,[V(`div`,uD,[V(`span`,null,A(c.value.toLocaleString())+` / `+A(l.value.toLocaleString())+` translated`,1),a.value&&d.value.length?(R(),z(`span`,dD,A(p.value)+` of `+A(d.value.length)+` language`+A(d.value.length===1?``:`s`)+` active`,1)):W(``,!0)]),H(M(rD),{"model-value":l.value>0?c.value/l.value*100:0},null,8,[`model-value`]),d.value.length?(R(),z(`ul`,fD,[(R(!0),z(L,null,F(h.value,e=>(R(),z(`li`,{key:e.locale,class:k([`flex items-center gap-2 border-b px-3 py-1.5 last:border-b-0`,e.status===`queued`&&`opacity-55`])},[(R(),B(aa(g(e.status)),{class:k([`size-3.5 shrink-0`,e.status===`active`?`animate-spin text-primary`:e.status===`done`?`text-emerald-600 dark:text-emerald-400`:`text-muted-foreground`])},null,8,[`class`])),H(Ew,{code:e.locale,size:14,"show-name":``},null,8,[`code`]),V(`span`,{class:k([`ml-auto font-mono text-xs tabular-nums`,e.status===`active`?`text-foreground`:`text-muted-foreground`])},A(e.done.toLocaleString())+` / `+A(e.total.toLocaleString()),3)],2))),128))])):W(``,!0)])):W(``,!0),o.value?(R(),z(`div`,pD,[V(`p`,mD,[H(M(Ed),{class:`size-4`}),t[6]||=U(` Translation failed `,-1)]),V(`p`,null,A(o.value),1)])):W(``,!0),s.value.length?(R(),z(`div`,hD,[V(`p`,gD,[H(M(Ed),{class:`size-4`}),U(` `+A(s.value.length)+` string`+A(s.value.length===1?``:`s`)+` could not be translated `,1)]),V(`ul`,_D,[(R(!0),z(L,null,F(s.value,(e,t)=>(R(),z(`li`,{key:`${e.key}-${e.locale}-${t}`,class:`border-b px-3 py-1.5 last:border-b-0`},[V(`span`,vD,[U(A(e.key)+` @ `,1),H(Ew,{code:e.locale,size:12},null,8,[`code`])]),V(`span`,yD,` — `+A(e.error),1)]))),128))])])):W(``,!0),H(M(SC),null,{default:N(()=>[H(M(Q),{variant:`outline`,onClick:t[0]||=e=>a.value?ne():r.value=!1},{default:N(()=>[U(A(a.value?`Cancel`:`Close`),1)]),_:1}),b.value>0&&x.value?(R(),B(M(Q),{key:0,variant:`secondary`,disabled:a.value||S.value,onClick:w},{default:N(()=>[U(A(S.value?`Submitting…`:`Batch (50% cost)`),1)]),_:1},8,[`disabled`])):W(``,!0),b.value>0?(R(),B(M(Q),{key:1,disabled:a.value,onClick:re},{default:N(()=>[H(M(yd),{class:`size-4`}),U(` `+A(a.value?`Translating…`:`Translate`),1)]),_:1},8,[`disabled`])):W(``,!0)]),_:1})]),_:1})]),_:1},8,[`open`]))}}),xD={key:0,class:`flex flex-col gap-1.5`},SD={class:`flex justify-between text-xs text-muted-foreground`},CD={key:1,class:`flex flex-col gap-1 rounded-md border border-destructive/30 bg-destructive/10 p-3 text-sm text-destructive`},wD={class:`flex items-center gap-1.5 font-medium`},TD={key:2,class:`flex min-h-0 flex-col gap-1.5`},ED={class:`flex items-center gap-1.5 text-sm font-medium text-amber-700 dark:text-amber-400`},DD={class:`min-h-0 flex-1 overflow-y-auto rounded-md border text-sm`},OD={class:`font-mono text-xs`},kD={class:`text-muted-foreground`},AD=P({__name:`ContextDialog`,props:ka({state:{},keys:{}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:ka([`changed`],[`update:open`]),setup(e,{emit:t}){let n=e,r=Za(e,`open`),i=t,a=j(!1),o=j(null),s=j(``),c=j([]),l=j(0),u=j(0),d=K(()=>{let e=n.state;return e?n.keys.filter(t=>e.keys[t]&&!e.keys[t].context).length:0});Dr(r,e=>{e?(s.value=``,c.value=[],l.value=0,u.value=0):o.value?.abort()});function f(){o.value?.abort()}async function p(){a.value=!0,s.value=``,c.value=[],l.value=0,u.value=0,o.value=new AbortController;let e=!1;try{for await(let t of $d({keys:n.keys},o.value.signal))t.type===`start`?u.value=t.total:t.type===`progress`?(l.value=t.done,u.value=t.total):t.type===`done`&&(e=!0,l.value=u.value,c.value=t.errors,i(`changed`),$.success(`Built context for ${t.written} key${t.written===1?``:`s`}`),t.errors.length===0&&(r.value=!1))}catch(e){s.value=e.message}finally{!e&&o.value?.signal.aborted&&(i(`changed`),$(`Build cancelled after ${l.value} of ${u.value} keys`)),o.value=null,a.value=!1}}return(e,t)=>(R(),B(M(Oh),{open:r.value,"onUpdate:open":t[1]||=e=>r.value=e},{default:N(()=>[H(M(bC),{class:`flex max-h-[85vh] max-w-lg flex-col`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),null,{default:N(()=>[...t[2]||=[U(`Build context`,-1)]]),_:1}),H(M(wC),null,{default:N(()=>[d.value===0?(R(),z(L,{key:0},[U(` All selected keys already have context — nothing to build. `)],64)):(R(),z(L,{key:1},[U(` Build AI context notes for `+A(d.value)+` selected key`+A(d.value===1?``:`s`)+` that currently have none? The AI will scan call-site code snippets to write a short translator hint for each key. `,1)],64))]),_:1})]),_:1}),a.value||l.value>0?(R(),z(`div`,xD,[V(`div`,SD,[V(`span`,null,A(l.value.toLocaleString())+` / `+A(u.value.toLocaleString())+` built`,1)]),H(M(rD),{"model-value":u.value>0?l.value/u.value*100:0},null,8,[`model-value`])])):W(``,!0),s.value?(R(),z(`div`,CD,[V(`p`,wD,[H(M(Ed),{class:`size-4`}),t[3]||=U(` Build failed `,-1)]),V(`p`,null,A(s.value),1)])):W(``,!0),c.value.length?(R(),z(`div`,TD,[V(`p`,ED,[H(M(Ed),{class:`size-4`}),U(` `+A(c.value.length)+` key`+A(c.value.length===1?``:`s`)+` could not be processed `,1)]),V(`ul`,DD,[(R(!0),z(L,null,F(c.value,(e,t)=>(R(),z(`li`,{key:`${e.key}-${t}`,class:`border-b px-3 py-1.5 last:border-b-0`},[V(`span`,OD,A(e.key),1),V(`span`,kD,` — `+A(e.error),1)]))),128))])])):W(``,!0),H(M(SC),null,{default:N(()=>[a.value?(R(),B(M(Q),{key:0,variant:`outline`,onClick:f},{default:N(()=>[...t[4]||=[U(`Cancel`,-1)]]),_:1})):(R(),B(M(Q),{key:1,variant:`outline`,onClick:t[0]||=e=>r.value=!1},{default:N(()=>[...t[5]||=[U(`Close`,-1)]]),_:1})),d.value>0?(R(),B(M(Q),{key:2,disabled:a.value,onClick:p},{default:N(()=>[H(M(yd),{class:`size-4`}),U(` `+A(a.value?`Building…`:`Build context`),1)]),_:1},8,[`disabled`])):W(``,!0)]),_:1})]),_:1})]),_:1},8,[`open`]))}}),jD={key:0,class:`flex items-center gap-3 rounded-md border bg-muted/40 px-3 py-2 text-sm`},MD={class:`flex min-w-0 flex-1 flex-col gap-1`},ND={class:`truncate`},PD=P({__name:`BatchBanner`,emits:[`changed`],setup(e,{expose:t,emit:n}){let r=n,i=j(null),a=j(!1),o;async function s(){try{i.value=(await Jd()).pending}catch{}}Ki(()=>{s(),o=setInterval(()=>void s(),3e4)}),Xi(()=>clearInterval(o)),t({refresh:s});let c=K(()=>{let e=i.value?.counts;return e?e.succeeded+e.errored+e.canceled+e.expired:0}),l=K(()=>{let e=i.value?.counts;return e?c.value+e.processing:0}),u=K(()=>i.value?.status===`ended`);async function d(){a.value=!0;try{let e=await Xd(),t=[e.retried?`${e.retried} retried`:``,e.staleSkipped?`${e.staleSkipped} stale skipped`:``,e.errors.length?`${e.errors.length} error(s)`:``].filter(Boolean).join(`, `);$.success(`Batch applied — wrote ${e.written} translation(s)${t?` (${t})`:``}`),r(`changed`),await s()}catch(e){$.error(e.message)}finally{a.value=!1}}async function f(){if(window.confirm(`Cancel this batch? Finished entries are discarded.`))try{await Zd(),await s()}catch(e){$.error(e.message)}}return(e,t)=>i.value?(R(),z(`div`,jD,[(R(),B(aa(u.value?M(Ou):M(ed)),{class:k([`size-4 shrink-0`,u.value?`text-emerald-600 dark:text-emerald-400`:`animate-spin text-primary`])},null,8,[`class`])),V(`div`,MD,[V(`span`,ND,[U(` Batch translation (`+A(i.value.total.toLocaleString())+` strings) `,1),u.value?(R(),z(L,{key:0},[U(` — finished, ready to apply`)],64)):i.value.counts?(R(),z(L,{key:1},[U(` — `+A(c.value)+` / `+A(l.value)+` entries done`,1)],64)):(R(),z(L,{key:2},[U(` — checking status…`)],64))]),!u.value&&l.value>0?(R(),B(M(rD),{key:0,"model-value":c.value/l.value*100,class:`h-1`},null,8,[`model-value`])):W(``,!0)]),H(M(Q),{size:`sm`,disabled:!u.value||a.value,onClick:d},{default:N(()=>[U(A(a.value?`Applying…`:u.value?`Apply results`:`Waiting…`),1)]),_:1},8,[`disabled`]),H(M(Q),{size:`sm`,variant:`ghost`,disabled:a.value,onClick:f},{default:N(()=>[H(M(Ad),{class:`size-4`})]),_:1},8,[`disabled`])])):W(``,!0)}}),FD={key:1,class:`text-muted-foreground`},ID={class:`flex items-center gap-2 border-b px-3`},LD={class:`absolute left-2 flex size-3.5 items-center justify-center`},RD={class:`flex w-full min-w-0 items-center justify-between gap-2`},zD={class:`shrink-0 font-mono text-xs text-muted-foreground`},BD=P({__name:`LocaleCombobox`,props:ka({locales:{},placeholder:{},class:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=Za(e,`modelValue`),r=j(!1),i=j(``),a=K(()=>t.locales.map(e=>({code:e,resolved:KC(e)})).sort((e,t)=>e.resolved.name.localeCompare(t.resolved.name,`en`))),o=K(()=>{let e=i.value.trim().toLowerCase();return e?a.value.filter(({code:t,resolved:n})=>t.toLowerCase().includes(e)||n.bcp47.toLowerCase().includes(e)||n.name.toLowerCase().includes(e)||(n.endonym?.toLowerCase().includes(e)??!1)):a.value});function s(e){r.value=e,e&&(i.value=``)}return(a,c)=>(R(),B(M(ay),{modelValue:n.value,"onUpdate:modelValue":c[1]||=e=>n.value=e,open:r.value,"ignore-filter":``,"onUpdate:open":s},{default:N(()=>[H(M(oy),{"as-child":``},{default:N(()=>[H(M(vy),{class:k(M(LS)(`flex h-9 items-center justify-between gap-2 whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50`,t.class))},{default:N(()=>[n.value?(R(),B(Ew,{key:0,code:n.value,"show-name":``,"show-code":!1,size:14},null,8,[`code`])):(R(),z(`span`,FD,A(e.placeholder??`Locale`),1)),H(M(ku),{class:`size-4 shrink-0 opacity-50`})]),_:1},8,[`class`])]),_:1}),H(M(_y),null,{default:N(()=>[H(M(uy),{position:`popper`,align:`start`,"side-offset":4,class:`z-50 max-h-96 w-[260px] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1`},{default:N(()=>[V(`div`,ID,[H(M(md),{class:`size-4 shrink-0 opacity-50`}),H(M(my),{modelValue:i.value,"onUpdate:modelValue":c[0]||=e=>i.value=e,"display-value":()=>``,placeholder:`Search locales…`,class:`h-9 w-full bg-transparent text-sm outline-none placeholder:text-muted-foreground`},null,8,[`modelValue`])]),H(M(by),{class:`max-h-72 p-1`},{default:N(()=>[H(M(dy),{class:`py-6 text-center text-sm text-muted-foreground`},{default:N(()=>[...c[2]||=[U(` No locales found `,-1)]]),_:1}),(R(!0),z(L,null,F(o.value,({code:e})=>(R(),B(M(hy),{key:e,value:e,class:`relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`},{default:N(()=>[V(`span`,LD,[H(M(gy),null,{default:N(()=>[H(M(Ou),{class:`size-4`})]),_:1})]),V(`span`,RD,[H(Ew,{code:e,"show-name":``,"show-code":!1,size:14},null,8,[`code`]),V(`span`,zD,A(e.toUpperCase()),1)])]),_:2},1032,[`value`]))),128))]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`,`open`]))}}),VD={class:`relative w-0 shrink-0`},HD=[`aria-valuenow`,`aria-valuemin`,`aria-valuemax`],UD=P({__name:`ResizeHandle`,props:{side:{},width:{},min:{},max:{}},emits:[`update:width`,`commit`,`reset`],setup(e,{emit:t}){let n=e,r=t,i=j(!1);function a(e){if(e.button!==0)return;let t=e.currentTarget,a=e.clientX,o=n.width,s=n.side===`right`?1:-1;i.value=!0,t.setPointerCapture(e.pointerId),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`;let c=e=>Math.min(n.max,Math.max(n.min,Math.round(e))),l=e=>{r(`update:width`,c(o+s*(e.clientX-a)))},u=()=>{t.removeEventListener(`pointermove`,l),t.removeEventListener(`pointerup`,u),t.removeEventListener(`pointercancel`,u),document.body.style.cursor=``,document.body.style.userSelect=``,i.value=!1,r(`commit`)};t.addEventListener(`pointermove`,l),t.addEventListener(`pointerup`,u),t.addEventListener(`pointercancel`,u)}return(t,n)=>(R(),z(`div`,VD,[V(`div`,{class:k(M(LS)(`absolute inset-y-0 -left-1 z-10 w-2 cursor-col-resize transition-colors hover:bg-primary/20`,i.value&&`bg-primary/30`)),role:`separator`,"aria-orientation":`vertical`,"aria-valuenow":e.width,"aria-valuemin":e.min,"aria-valuemax":e.max,"aria-label":`Resize panel (double-click to reset)`,onPointerdown:a,onDblclick:n[0]||=e=>r(`reset`)},null,42,HD)]))}});function WD(e,t,n,r){let i=`glotfile-${e}`,a=e=>Math.min(r,Math.max(n,Math.round(e))),o=j((()=>{let e=Number(localStorage.getItem(i));return Number.isFinite(e)&&e>0?a(e):t})()),s=()=>{localStorage.setItem(i,String(o.value)),sf({[e]:o.value}).catch(()=>{})};return{width:o,min:n,max:r,set:e=>{o.value=a(e)},commit:s,reset:()=>{o.value=t,s()},syncValue:e=>{typeof e==`number`&&Number.isFinite(e)&&(o.value=a(e),localStorage.setItem(i,String(o.value)))}}}var GD=WD(`keyColumnWidth`,272,180,560),KD=WD(`detailPanelWidth`,420,320,720);async function qD(e){try{let t=e??await of();GD.syncValue(t.keyColumnWidth),KD.syncValue(t.detailPanelWidth)}catch{}}var JD={class:`flex min-h-0 flex-1 flex-col`},YD={class:`flex shrink-0 flex-wrap items-center gap-2 border-b px-4 py-2`},XD={class:`relative`},ZD={key:0,class:`rounded bg-primary px-1.5 text-xs text-primary-foreground`},QD=[`aria-label`],$D={class:`ml-auto flex items-center gap-2`},eO={class:`mr-1 text-xs text-muted-foreground tabular-nums`},tO={key:2},nO={key:3},rO={key:4},iO={key:0,class:`flex shrink-0 flex-wrap items-center gap-1.5 border-b px-4 py-1.5`},aO=[`aria-label`,`onClick`],oO=[`aria-label`,`onClick`],sO=[`aria-label`,`onClick`],cO={class:`px-4 py-2 empty:hidden`},lO={key:1,class:`sticky top-0 z-20 flex h-11 shrink-0 items-center gap-2 border-b bg-background pl-[18px] pr-4`},uO=[`aria-checked`,`aria-label`],dO={class:`text-sm font-medium tabular-nums`},fO={class:`text-sm text-muted-foreground`},pO={key:1,for:`select-all-checkbox`,class:`cursor-pointer select-none text-sm text-muted-foreground`},mO={class:`relative min-w-0 flex-1 overflow-hidden`},hO={key:0,class:`flex h-full items-center justify-center gap-2 p-8 text-sm text-muted-foreground`},gO={key:1,class:`flex h-full items-center justify-center p-8 text-sm text-muted-foreground`},_O=[`data-index`],vO=`glotfile:enabledChecks`,yO=P({__name:`EditorView`,setup(e){let t=GD.width,n=KD.width,r=dn(null),{filter:i,sort:a,view:o,locale:s}=yp(Op()),c=j(i),l=NC();function u(){try{let e=localStorage.getItem(vO);if(e){let t=JSON.parse(e);return cp.filter(e=>t.includes(e))}}catch{}return[...lp]}let d=j(u()),f=j(new Map),p=j(null),m=j(!1),h=j(0);async function g(){try{let e=await rf();m.value=e.indexed,p.value=e.indexed?new Set(e.used):null}catch{m.value=!1,p.value=null}h.value++}let _=j(!1),v=0;async function y(){if(d.value.length===0){f.value=new Map,_.value=!1;return}try{let e=await kf(d.value);f.value=hp(e.issues),_.value=e.spellPending,e.spellPending&&v<6?(v++,setTimeout(y,800)):v=0}catch{f.value=new Map}}Dr(d,e=>{localStorage.setItem(vO,JSON.stringify(e)),v=0,y()},{deep:!0});let b=j(a),x=j(o),S=j(s),C=null;Dr([b,x,S,()=>({...c.value,text:void 0})],()=>{kp(bp({filter:c.value,sort:b.value,view:x.value,locale:S.value}))},{deep:!0}),Dr(()=>c.value.text,()=>{C&&clearTimeout(C),C=setTimeout(()=>{kp(bp({filter:c.value,sort:b.value,view:x.value,locale:S.value}))},300)});let w=K(()=>c.value.states.length+c.value.issues.length+c.value.plurality.length+ +!!c.value.emptySource+ +!!c.value.aiContextUnreviewed+ +!!c.value.noUsages+ +!!c.value.skipTranslate),T=K(()=>{let e=0;for(let t of f.value.values())e+=t.length;return e});function ee(e){c.value.states=c.value.states.filter(t=>t!==e)}function E(e){c.value.issues=c.value.issues.filter(t=>t!==e)}function te(e){c.value.plurality=c.value.plurality.filter(t=>t!==e)}if(Ap.value){let e=Ap.value;if(c.value={text:``,states:[],issues:[],plurality:[],tag:``,needsAttention:!1,emptySource:!1,aiContextUnreviewed:!1,noUsages:!1,skipTranslate:!1,...e},e.issues?.length){let t=new Set([...d.value,...e.issues]);d.value=cp.filter(e=>t.has(e))}e.locale&&(x.value=`bilingual`,S.value=e.locale),Ap.value=null}let ne=j(null);Mp.value&&=(ne.value=Mp.value,null);let re=j(!1),D=j(!1),ie=j(!1),ae=j(!1),oe=j(!1),se=j(null),O=j(null),ce=j(!0),le=j(!1);async function ue(){r.value=await Md(),y()}let de=setTimeout(()=>{ce.value&&(le.value=!0)},250);ue().finally(()=>{ce.value=!1,le.value=!1,clearTimeout(de)});let fe=K(()=>r.value?.config.sourceLocale??``),pe=K(()=>r.value?.config.locales??[]),me=K(()=>pe.value.filter(e=>e!==fe.value));Dr(me,e=>{!S.value&&e.length>0&&(S.value=e[0])},{immediate:!0});let ge=K(()=>{if(x.value===`bilingual`)return S.value?[fe.value,S.value]:[fe.value];let e=pe.value.filter(e=>e!==fe.value);return[fe.value,...e]}),_e=K(()=>{let e=r.value;if(!e)return[];let t=x.value===`bilingual`&&S.value?S.value:void 0;return sp(e,{...c.value,locale:t},f.value,p.value??void 0)}),ve=K(()=>{let e=r.value,t=_e.value;if(b.value===`key-desc`)return[...t].reverse();if(b.value===`created`){let n=t=>{let n=e?.keys[t]?.createdAt;return n?Date.parse(n):0};return[...t].sort((e,t)=>n(t)-n(e))}if(b.value===`updated`){let n=t=>{let n=Object.values(e?.keys[t]?.values??{}),r=0;for(let e of n){let t=e.updatedAt?Date.parse(e.updatedAt):0;t>r&&(r=t)}return r};return[...t].sort((e,t)=>n(t)-n(e))}return t}),ye=K(()=>x.value===`bilingual`?S.value?[S.value]:[]:me.value),be=K(()=>x.value===`bilingual`?S.value||`—`:`all ${me.value.length} targets`),xe=K(()=>l.keys()),Se=K(()=>l.count.value),Ce=K(()=>l.allSelected(ve.value)),we=K(()=>l.someSelected(ve.value)),Te=K(()=>{let e=r.value;if(!e)return[];let t=new Set;for(let n of l.keys())for(let r of e.keys[n]?.tags??[])t.add(r);return[...t].sort()});function Ee(){l.allSelected(ve.value)?l.clear():l.selectAll(ve.value)}function De(e,t){t?l.toggleRange(e,ve.value):l.toggle(e)}Dr(ve,e=>l.pruneTo(e));let Oe=K(()=>r.value&&ne.value?r.value.keys[ne.value]??null:null),ke=rp(K(()=>({count:ve.value.length,getScrollElement:()=>O.value,estimateSize:()=>56,overscan:8,getItemKey:e=>ve.value[e]??e}))),Ae=K(()=>ke.value.getVirtualItems()),je=K(()=>ke.value.getTotalSize());function Me(e){ne.value=e}let Ne=j(null);function Pe(){let e=Ne.value?.$el;e?.focus?.(),e?.select?.()}function Fe(e){let t=e.target,n=!!(t&&(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.isContentEditable)),r=!!document.querySelector(`[role="listbox"],[role="menu"],[role="dialog"]`);if(e.key===`/`&&!n&&!r&&!e.metaKey&&!e.ctrlKey&&!e.altKey){e.preventDefault(),Pe();return}if(e.key!==`ArrowDown`&&e.key!==`ArrowUp`||n||r)return;let i=ve.value;if(i.length===0)return;e.preventDefault();let a=ne.value?i.indexOf(ne.value):-1,o=Math.max(0,Math.min(i.length-1,e.key===`ArrowDown`?a+1:a-1)),s=i[o];s&&(ne.value=s,ke.value.scrollToIndex(o,{align:`auto`}))}Ki(()=>window.addEventListener(`keydown`,Fe)),Xi(()=>{window.removeEventListener(`keydown`,Fe),C&&clearTimeout(C)}),Ki(async()=>{try{let e=await tf();e.indexed&&!se.value&&!oe.value&&(se.value=`${e.files.toLocaleString()} files · ${e.refs.toLocaleString()} refs`)}catch{}g()});async function Ie(e,t){ne.value===e&&(ne.value=t),await ue()}async function Le(e){await ue(),ne.value=e,c.value.text=`"${e}"`}async function Re(){oe.value=!0,se.value=null;try{let e=await ef();se.value=`${e.files.toLocaleString()} files · ${e.refs.toLocaleString()} refs`,await g()}catch{se.value=`Scan failed`}finally{oe.value=!1}}return(e,i)=>(R(),B(M(tx),{"delay-duration":400},{default:N(()=>[V(`div`,JD,[V(`div`,YD,[V(`div`,XD,[H(M(md),{class:`pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-muted-foreground`}),H(M(BS),{ref_key:`searchInput`,ref:Ne,modelValue:c.value.text,"onUpdate:modelValue":i[0]||=e=>c.value.text=e,placeholder:`Search keys, values, context…`,class:`h-8 w-64 pl-8 pr-8`,onKeydown:i[1]||=Zl(e=>c.value.text=``,[`esc`])},null,8,[`modelValue`]),c.value.text?(R(),z(`button`,{key:0,type:`button`,class:`absolute right-1.5 top-1/2 grid size-5 -translate-y-1/2 place-items-center rounded text-muted-foreground transition-colors hover:bg-muted hover:text-foreground`,"aria-label":`Clear search`,onClick:i[2]||=e=>c.value.text=``},[H(M(Ad),{class:`size-3.5`})])):W(``,!0)]),H(M(Jy),null,{default:N(()=>[H(M(eb),{"as-child":``},{default:N(()=>[H(M(Q),{variant:`outline`,size:`sm`,class:`h-8 gap-1.5`},{default:N(()=>[H(M($u),{class:`size-4 opacity-60`}),i[29]||=U(` Filter `,-1),w.value?(R(),z(`span`,ZD,A(w.value),1)):W(``,!0)]),_:1})]),_:1}),H(M(qS),{align:`start`,class:`w-64`},{default:N(()=>[H(uC,{states:c.value.states,"onUpdate:states":i[3]||=e=>c.value.states=e,issues:c.value.issues,"onUpdate:issues":i[4]||=e=>c.value.issues=e,enabled:d.value,"onUpdate:enabled":i[5]||=e=>d.value=e,plurality:c.value.plurality,"onUpdate:plurality":i[6]||=e=>c.value.plurality=e,"empty-source":c.value.emptySource,"onUpdate:emptySource":i[7]||=e=>c.value.emptySource=e,"ai-context-unreviewed":c.value.aiContextUnreviewed,"onUpdate:aiContextUnreviewed":i[8]||=e=>c.value.aiContextUnreviewed=e,"no-usages":c.value.noUsages,"onUpdate:noUsages":i[9]||=e=>c.value.noUsages=e,"skip-translate":c.value.skipTranslate,"onUpdate:skipTranslate":i[10]||=e=>c.value.skipTranslate=e,"scan-indexed":m.value},null,8,[`states`,`issues`,`enabled`,`plurality`,`empty-source`,`ai-context-unreviewed`,`no-usages`,`skip-translate`,`scan-indexed`])]),_:1})]),_:1}),H(M(Q),{variant:c.value.needsAttention?`default`:`outline`,size:`sm`,class:`h-8 gap-1.5`,role:`switch`,"aria-checked":c.value.needsAttention,onClick:i[11]||=e=>c.value.needsAttention=!c.value.needsAttention},{default:N(()=>[H(M(Ed),{class:k([`size-4`,c.value.needsAttention?``:`opacity-60`])},null,8,[`class`]),i[30]||=U(` Needs attention `,-1),T.value?(R(),z(`span`,{key:0,class:`ml-0.5 rounded-full bg-destructive-soft px-1.5 text-[11px] font-bold text-destructive tabular-nums`,"aria-label":`${T.value} issue${T.value===1?``:`s`}`},A(T.value.toLocaleString()),9,QD)):W(``,!0)]),_:1},8,[`variant`,`aria-checked`]),H(M(yb),{modelValue:b.value,"onUpdate:modelValue":i[12]||=e=>b.value=e},{default:N(()=>[H(M(VS),{class:`h-8 w-[160px]`},{default:N(()=>[H(M(Bb),{placeholder:`Sort`})]),_:1}),H(M(HS),null,{default:N(()=>[H(M(WS),{value:`key-asc`},{default:N(()=>[...i[31]||=[U(`Key A→Z`,-1)]]),_:1}),H(M(WS),{value:`key-desc`},{default:N(()=>[...i[32]||=[U(`Key Z→A`,-1)]]),_:1}),H(M(WS),{value:`created`},{default:N(()=>[...i[33]||=[U(`Recently created`,-1)]]),_:1}),H(M(WS),{value:`updated`},{default:N(()=>[...i[34]||=[U(`Recently updated`,-1)]]),_:1})]),_:1})]),_:1},8,[`modelValue`]),H(M(Jb),{modelValue:x.value,"onUpdate:modelValue":i[13]||=e=>x.value=e},{default:N(()=>[H(M(GS),{class:`h-8`},{default:N(()=>[H(M(KS),{value:`bilingual`,class:`text-xs`},{default:N(()=>[...i[35]||=[U(`Bilingual`,-1)]]),_:1}),H(M(KS),{value:`multilingual`,class:`text-xs`},{default:N(()=>[...i[36]||=[U(`Multilingual`,-1)]]),_:1})]),_:1})]),_:1},8,[`modelValue`]),x.value===`bilingual`?(R(),B(BD,{key:0,modelValue:S.value,"onUpdate:modelValue":i[14]||=e=>S.value=e,locales:me.value,class:`h-8 w-[170px]`},null,8,[`modelValue`,`locales`])):W(``,!0),V(`div`,$D,[V(`span`,eO,A(ve.value.length.toLocaleString())+` keys`,1),H(M(Q),{size:`sm`,variant:`outline`,onClick:i[15]||=e=>D.value=!0},{default:N(()=>[H(M(Uu),{class:`size-4`}),i[37]||=U(` Export `,-1)]),_:1}),H(M(Q),{size:`sm`,variant:`outline`,disabled:oe.value,onClick:Re},{default:N(()=>[oe.value?(R(),B(M(ed),{key:0,class:`size-4 animate-spin`})):(R(),B(M(fd),{key:1,class:`size-4`})),oe.value?(R(),z(`span`,tO,`Scanning…`)):se.value?(R(),z(`span`,nO,A(se.value),1)):(R(),z(`span`,rO,`Scan`))]),_:1},8,[`disabled`]),H(M(Q),{size:`sm`,onClick:i[16]||=e=>re.value=!0},{default:N(()=>[H(M(sd),{class:`size-4`}),i[38]||=U(` Add key `,-1)]),_:1})])]),c.value.states.length||c.value.issues.length||c.value.plurality.length||c.value.emptySource||c.value.aiContextUnreviewed||c.value.noUsages||c.value.skipTranslate?(R(),z(`div`,iO,[(R(!0),z(L,null,F(c.value.states,e=>(R(),B(M(JS),{key:`s-${e}`,variant:`secondary`,class:`gap-1`},{default:N(()=>[U(A(M(pp)[e])+` `,1),V(`button`,{type:`button`,class:`hover:text-foreground`,"aria-label":`Remove ${M(pp)[e]} filter`,onClick:t=>ee(e)},[H(M(Ad),{class:`size-3`})],8,aO)]),_:2},1024))),128)),(R(!0),z(L,null,F(c.value.plurality,e=>(R(),B(M(JS),{key:`p-${e}`,variant:`secondary`,class:`gap-1`},{default:N(()=>[U(A(M(mp)[e])+` `,1),V(`button`,{type:`button`,class:`hover:text-foreground`,"aria-label":`Remove ${M(mp)[e]} filter`,onClick:t=>te(e)},[H(M(Ad),{class:`size-3`})],8,oO)]),_:2},1024))),128)),c.value.emptySource?(R(),B(M(JS),{key:0,variant:`secondary`,class:`gap-1`},{default:N(()=>[i[39]||=U(` Empty source `,-1),V(`button`,{type:`button`,class:`hover:text-foreground`,"aria-label":`Remove Empty source filter`,onClick:i[17]||=e=>c.value.emptySource=!1},[H(M(Ad),{class:`size-3`})])]),_:1})):W(``,!0),(R(!0),z(L,null,F(c.value.issues,e=>(R(),B(M(JS),{key:`i-${e}`,variant:`outline`,class:`gap-1`},{default:N(()=>[U(A(M(fp)[e])+` `,1),V(`button`,{type:`button`,class:`hover:text-foreground`,"aria-label":`Remove ${M(fp)[e]} filter`,onClick:t=>E(e)},[H(M(Ad),{class:`size-3`})],8,sO)]),_:2},1024))),128)),c.value.aiContextUnreviewed?(R(),B(M(JS),{key:1,variant:`secondary`,class:`gap-1`},{default:N(()=>[H(M(yd),{class:`size-3`}),i[40]||=U(` AI context (unreviewed) `,-1),V(`button`,{type:`button`,class:`hover:text-foreground`,"aria-label":`Remove AI context filter`,onClick:i[18]||=e=>c.value.aiContextUnreviewed=!1},[H(M(Ad),{class:`size-3`})])]),_:1})):W(``,!0),c.value.noUsages?(R(),B(M(JS),{key:2,variant:`secondary`,class:`gap-1`},{default:N(()=>[i[41]||=U(` Unused `,-1),V(`button`,{type:`button`,class:`hover:text-foreground`,"aria-label":`Remove Unused filter`,onClick:i[19]||=e=>c.value.noUsages=!1},[H(M(Ad),{class:`size-3`})])]),_:1})):W(``,!0),c.value.skipTranslate?(R(),B(M(JS),{key:3,variant:`secondary`,class:`gap-1`},{default:N(()=>[i[42]||=U(` Skip-translate `,-1),V(`button`,{type:`button`,class:`hover:text-foreground`,"aria-label":`Remove Skip-translate filter`,onClick:i[20]||=e=>c.value.skipTranslate=!1},[H(M(Ad),{class:`size-3`})])]),_:1})):W(``,!0)])):W(``,!0),V(`div`,cO,[H(PD,{onChanged:ue})]),ve.value.length?(R(),z(`div`,lO,[V(`button`,{id:`select-all-checkbox`,type:`button`,role:`checkbox`,"aria-checked":Ce.value?`true`:we.value?`mixed`:`false`,"data-testid":`select-all`,class:k([`flex size-4 items-center justify-center rounded border transition-colors`,Ce.value||we.value?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground hover:border-primary hover:bg-primary/10`]),"aria-label":Ce.value?`Deselect all`:`Select all`,onClick:Ee},[Ce.value?(R(),B(M(Ou),{key:0,class:`size-3`})):we.value?(R(),B(M(nd),{key:1,class:`size-3`})):W(``,!0)],10,uO),Se.value?(R(),z(L,{key:0},[V(`span`,dO,A(Se.value.toLocaleString())+` selected`,1),V(`span`,fO,`· `+A(be.value),1)],64)):(R(),z(`label`,pO,`Select all`)),Se.value?(R(),B(MC,{key:2,class:`ml-auto`,keys:xe.value,locales:ye.value,"scope-label":be.value,"tags-on-selection":Te.value,onChanged:ue,onClear:i[21]||=e=>M(l).clear(),onTranslate:i[22]||=e=>ie.value=!0,onBuildContext:i[23]||=e=>ae.value=!0},null,8,[`keys`,`locales`,`scope-label`,`tags-on-selection`])):W(``,!0)])):W(``,!0),V(`div`,{class:`flex min-h-0 flex-1 overflow-hidden`,style:he({"--key-col-width":`${M(t)}px`})},[V(`div`,mO,[V(`div`,{ref_key:`parent`,ref:O,class:`h-full overflow-auto`},[le.value?(R(),z(`div`,hO,[H(M(ed),{class:`size-4 animate-spin`}),i[43]||=U(` Loading… `,-1)])):!ce.value&&ve.value.length===0?(R(),z(`div`,gO,` No keys match the current filter. `)):(R(),z(`div`,{key:2,style:he({height:`${je.value}px`,position:`relative`,width:`100%`})},[(R(!0),z(L,null,F(Ae.value,e=>(R(),z(`div`,{key:e.key,ref_for:!0,ref:e=>M(ke).measureElement(e),"data-index":e.index,style:he({position:`absolute`,top:`${e.start}px`,left:`0`,width:`100%`})},[r.value&&ve.value[e.index]?(R(),B(oT,{key:0,"key-name":ve.value[e.index],entry:r.value.keys[ve.value[e.index]],"source-locale":fe.value,locales:ge.value,selected:ne.value===ve.value[e.index],issues:f.value.get(ve.value[e.index])??[],checked:M(l).has(ve.value[e.index]),onSelect:t=>Me(ve.value[e.index]),onChanged:ue,onRenamed:t=>Ie(ve.value[e.index],t),onFilterTag:i[24]||=e=>c.value.text=e,onToggleSelect:t=>De(ve.value[e.index],t.shift)},null,8,[`key-name`,`entry`,`source-locale`,`locales`,`selected`,`issues`,`checked`,`onSelect`,`onRenamed`,`onToggleSelect`])):W(``,!0)],12,_O))),128))],4))],512),ve.value.length?(R(),z(`div`,{key:0,class:`absolute inset-y-0`,style:he({left:`${M(t)}px`})},[H(UD,{side:`right`,class:`h-full`,width:M(t),min:M(GD).min,max:M(GD).max,"onUpdate:width":M(GD).set,onCommit:M(GD).commit,onReset:M(GD).reset},null,8,[`width`,`min`,`max`,`onUpdate:width`,`onCommit`,`onReset`])],4)):W(``,!0)]),H(UD,{side:`left`,class:`max-[1080px]:hidden`,width:M(n),min:M(KD).min,max:M(KD).max,"onUpdate:width":M(KD).set,onCommit:M(KD).commit,onReset:M(KD).reset},null,8,[`width`,`min`,`max`,`onUpdate:width`,`onCommit`,`onReset`]),H(PE,{"key-name":ne.value,entry:Oe.value,issues:ne.value?f.value.get(ne.value)??[]:[],locales:pe.value,"source-locale":fe.value,"usage-revision":h.value,style:he({width:`${M(n)}px`}),onChanged:ue},null,8,[`key-name`,`entry`,`issues`,`locales`,`source-locale`,`usage-revision`,`style`])],4),H(HE,{open:re.value,"onUpdate:open":i[25]||=e=>re.value=e,onCreated:Le},null,8,[`open`]),H(tD,{open:D.value,"onUpdate:open":i[26]||=e=>D.value=e,"export-locales":r.value?.config.exportLocales??[]},null,8,[`open`,`export-locales`]),H(bD,{open:ie.value,"onUpdate:open":i[27]||=e=>ie.value=e,state:r.value,"filtered-keys":xe.value,"target-locale":x.value===`bilingual`?S.value:void 0,onChanged:ue},null,8,[`open`,`state`,`filtered-keys`,`target-locale`]),H(AD,{open:ae.value,"onUpdate:open":i[28]||=e=>ae.value=e,state:r.value,keys:xe.value,onChanged:ue},null,8,[`open`,`state`,`keys`])])]),_:1}))}}),bO={"empty-source":`Empty source`,"empty-translation":`Untranslated`,"placeholder-mismatch":`Placeholder mismatch`,"icu-mismatch":`ICU mismatch`,"glossary-violation":`Glossary`,"max-length":`Too long`,"identical-to-source":`Identical to source`,whitespace:`Whitespace`,spelling:`Spelling`,"output-stale":`Outputs out of date`},xO={"empty-translation":`untranslated`,"placeholder-mismatch":`placeholder`,"glossary-violation":`glossary`,"max-length":`length`,spelling:`spelling`};function SO(e){if(e.ruleId===`empty-translation`)return{text:e.key,states:[`missing`]};if(e.ruleId===`output-stale`)return{};let t=xO[e.ruleId],n=e.locale?{locale:e.locale}:{};return t?{...n,issues:[t]}:{...n,text:e.key}}function CO(e,t){let n=e.values[t];return n?e.plural?(n.forms?.other??``).trim()!==``:(n.value??``).trim()!==``:!1}function wO(e,t){if(!CO(e,t))return`missing`;let n=e.values[t].state;return n===`reviewed`?`reviewed`:n===`needs-review`?`needsReview`:`machine`}function TO(e,t){let n=e.values[t];return n?e.plural?n.forms?.other??``:n.value??``:``}function EO(e){let t=e.trim();return t===``?0:t.split(/\s+/).length}function DO(e,t){return`${e} ${t}${e===1?``:`s`}`}function OO(e,t){let{sourceLocale:n,locales:r}=e.config,i=r.filter(e=>e!==n),a=Object.keys(e.keys).filter(t=>!e.keys[t].skipTranslate),o=t.findings.filter(e=>e.locale===``),s=o.filter(e=>e.severity===`error`).length,c=new Map;for(let e of t.findings){if(e.locale===``)continue;let t=c.get(e.locale);t?t.push(e):c.set(e.locale,[e])}let l=i.map(t=>{let n={reviewed:0,needsReview:0,machine:0,missing:0},r=[];for(let i of a){let a=wO(e.keys[i],t);n[a]++,a===`needsReview`&&r.push(i)}let i=c.get(t)??[],o=[...new Set(i.filter(e=>e.ruleId===`empty-translation`).map(e=>e.key))],s=i.filter(e=>e.severity===`error`&&e.ruleId!==`empty-translation`),l=i.filter(e=>e.severity===`warn`),u=a.length,d=n.reviewed+n.needsReview+n.machine,f;f=o.length>0||s.length>0?`blocked`:r.length>0?`almost`:`ready`;let p=[];o.length&&p.push(`${o.length} missing`),s.length&&p.push(`${s.length} breaking`),r.length&&p.push(`${r.length} stale`);let m=[];return l.length&&m.push(DO(l.length,`warning`)),{locale:t,total:u,translated:d,pct:u?Math.round(d/u*100):0,counts:n,missingKeys:o,staleKeys:r,errors:s,warnings:l,breaking:s.length,warning:l.length,verdict:f,blockers:p,notes:m}}),u=a.length*i.length,d=0,f=0;for(let e of l)d+=e.translated,f+=e.counts.reviewed;let p=a.reduce((t,r)=>t+EO(TO(e.keys[r],n)),0),m={breaking:[],warning:[]};for(let e of t.findings)e.ruleId!==`empty-translation`&&m[e.severity===`error`?`breaking`:`warning`].push(e);return{totals:{keys:Object.keys(e.keys).length,locales:i.length,translatedPct:u?Math.round(d/u*1e3)/10:0,reviewedPct:u?Math.round(f/u*1e3)/10:0,sourceWords:p,openIssues:m.breaking.length+m.warning.length,ready:l.filter(e=>e.verdict===`ready`).length,almost:l.filter(e=>e.verdict===`almost`).length,blocked:l.filter(e=>e.verdict===`blocked`).length,breaking:m.breaking.length,missing:l.reduce((e,t)=>e+t.missingKeys.length,0),stale:l.reduce((e,t)=>e+t.staleKeys.length,0)},project:o,projectErrors:s,locales:l,risk:m,worklist:kO(l,m)}}function kO(e,t){let n=[];for(let e of t.breaking)n.push({id:`b:${e.locale}:${e.key}:${e.ruleId}`,priority:`breaking`,title:`Fix ${bO[e.ruleId].toLowerCase()}`,where:e.locale?`${e.locale.toUpperCase()} · ${e.key}`:e.key,detail:e.message,filter:e.ruleId===`output-stale`?void 0:SO(e),count:1});let r=new Map;for(let t of e)for(let e of t.missingKeys){let n=r.get(e);n?n.push(t.locale):r.set(e,[t.locale])}for(let[e,t]of r)n.push({id:`m:${e}`,priority:`missing`,title:`Translate ${DO(t.length,`missing string`)}`,where:e,detail:`Missing in ${t.map(e=>e.toUpperCase()).join(`, `)}`,filter:{text:e,states:[`missing`]},count:t.length});let i=[];for(let t of e)for(let e of t.staleKeys)i.push({locale:t.locale,key:e});i.length&&n.push({id:`s:all`,priority:`stale`,title:`Refresh ${DO(i.length,`stale translation`)}`,where:`source changed since translated`,detail:i.map(e=>`${e.locale.toUpperCase()} · ${e.key}`).join(` · `),filter:{states:[`needs-review`]},count:i.length});let a=new Map;for(let e of t.warning){let t=a.get(e.ruleId);t?t.push(e):a.set(e.ruleId,[e])}for(let[e,t]of a)n.push({id:`w:${e}`,priority:`warning`,title:`Review ${DO(t.length,`${bO[e].toLowerCase()} warning`)}`,where:[...new Set(t.map(e=>e.locale.toUpperCase()||e.key))].join(`, `),detail:t.map(e=>`${e.locale?e.locale.toUpperCase():`—`} · ${e.key}`).join(` · `),filter:SO(t[0]),count:t.length});return n}var AO={class:`min-h-0 flex-1 overflow-y-auto p-6`},jO={key:0,class:`mt-8 text-center text-sm text-muted-foreground`},MO={key:1,class:`mt-8 text-center text-sm text-muted-foreground`},NO={key:2,class:`mx-auto flex max-w-[1080px] flex-col gap-4`},PO={class:`flex flex-wrap divide-x rounded-xl border bg-card px-2 py-3 shadow-sm`},FO={class:`flex flex-col px-5`},IO={class:`text-lg font-semibold tabular-nums`},LO={class:`flex flex-col px-5`},RO={class:`text-lg font-semibold tabular-nums`},zO={class:`flex flex-col px-5`},BO={class:`text-lg font-semibold tabular-nums`},VO={class:`flex flex-col px-5`},HO={class:`text-lg font-semibold tabular-nums`},UO=[`disabled`],WO={class:`flex flex-col px-5`},GO={class:`text-lg font-semibold tabular-nums`},KO={class:`flex flex-wrap items-start justify-between gap-6`},qO={class:`min-w-0`},JO={class:`mt-1.5 flex items-center gap-2.5 text-2xl font-semibold tracking-tight`},YO={class:`mt-1.5 text-sm text-muted-foreground`},XO={class:`text-emerald-600 dark:text-emerald-400`},ZO={class:`text-amber-600 dark:text-amber-400`},QO={class:`text-red-600 dark:text-red-400`},$O={key:0,class:`mt-2 flex flex-col gap-1`},ek={class:`font-semibold`},tk={class:`font-mono text-muted-foreground`},nk={class:`text-muted-foreground`},rk={class:`flex gap-2`},ik={class:`text-[11px] uppercase tracking-wide text-muted-foreground`},ak={class:`mt-4 flex flex-wrap items-center gap-x-4 gap-y-2 border-t pt-3.5`},ok={class:`flex items-center gap-1 text-xs text-muted-foreground`},sk={class:`flex items-center gap-1 text-xs text-muted-foreground`},ck={class:`flex items-center gap-1 text-xs text-muted-foreground`},lk={class:`flex items-center gap-1 text-xs text-muted-foreground`},uk={class:`rounded-2xl border bg-card p-5 shadow-sm`},dk={key:0,class:`flex items-center gap-3 rounded-xl bg-muted p-4`},fk={key:1,class:`grid grid-cols-[repeat(auto-fill,minmax(218px,1fr))] gap-3`},pk=[`data-test`,`onClick`],mk={class:`flex items-start justify-between gap-2`},hk={class:`flex min-w-0 flex-col`},gk={class:`truncate font-mono text-xs font-semibold uppercase`},_k=[`title`],vk={class:`text-2xl font-semibold tabular-nums leading-none`},yk={class:`flex h-[7px] w-full overflow-hidden rounded-full bg-muted`},bk={class:`flex min-h-[20px] items-center gap-1.5 text-xs text-muted-foreground`},xk={class:`truncate`},Sk={class:`rounded-2xl border bg-card p-5 shadow-sm`},Ck={class:`mb-4`},wk={class:`mt-0.5 text-sm text-muted-foreground`},Tk={key:0,class:`flex items-center gap-3 rounded-xl bg-muted p-4`},Ek={key:1,class:`flex flex-col gap-2`},Dk=[`disabled`,`onClick`],Ok={class:`flex min-w-0 flex-col gap-0.5`},kk={class:`flex items-center gap-2 text-sm font-semibold`},Ak={class:`truncate font-mono text-xs text-muted-foreground`},jk={key:0,class:`grid grid-cols-1 gap-4 lg:grid-cols-2`},Mk={class:`rounded-2xl border bg-card p-5 shadow-sm`},Nk={key:0,class:`flex items-center gap-3 rounded-xl bg-muted p-4`},Pk={key:1,class:`flex flex-col gap-2.5`},Fk=[`disabled`,`onClick`],Ik={class:`flex flex-1 flex-col`},Lk={class:`text-sm font-semibold`},Rk={class:`text-xs text-muted-foreground`},zk={key:0,class:`border-t`},Bk={class:`flex items-center justify-between gap-2 border-b bg-muted/40 px-3.5 py-1.5`},Vk={class:`text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`},Hk=[`disabled`,`title`,`onClick`],Uk=[`onClick`,`onKeydown`],Wk=[`title`],Gk={class:`truncate font-medium`},Kk={class:`font-mono text-muted-foreground`},qk={class:`truncate text-muted-foreground`},Jk={class:`flex items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100`},Yk=[`disabled`,`title`,`onClick`],Xk=[`disabled`,`onClick`],Zk={key:2,class:`mt-3 overflow-hidden rounded-xl border`},Qk={key:0,class:`border-t`},$k={class:`font-mono font-semibold uppercase`},eA={class:`truncate`},tA={class:`font-mono`},nA={class:`truncate`},rA=[`disabled`,`onClick`],iA={class:`rounded-2xl border bg-card p-5 shadow-sm`},aA=[`onClick`],oA={class:`flex min-w-0 items-center gap-2`},sA={class:`flex min-w-0 flex-col`},cA={class:`whitespace-nowrap font-mono uppercase leading-tight`},lA=[`title`],uA={class:`text-center font-mono tabular-nums`},dA={key:1,class:`rounded-2xl border bg-card p-5 shadow-sm`},fA={class:`flex items-center gap-3 rounded-xl bg-muted p-4`},pA=P({__name:`AnalyticsView`,setup(e){let t=j(null),n=j({findings:[],counts:{error:0,warn:0,suppressed:0},ok:!0}),r=j(!0),i=K(()=>({...n.value,findings:n.value.findings.filter(e=>!e.suppressed)})),a=K(()=>n.value.findings.filter(e=>e.suppressed)),o=K(()=>t.value?OO(t.value,i.value):null),s=K(()=>!!o.value&&(o.value.totals.keys===0||o.value.totals.locales===0)),c=K(()=>!!o.value&&o.value.totals.translatedPct===0);async function l(){let[e,r]=await Promise.all([Md(),Af({includeSuppressed:!0}).catch(()=>null)]);t.value=e,r&&(n.value=r)}Ki(async()=>{try{await l()}catch(e){$.error(e.message)}finally{r.value=!1}});let u=j(!1),d=j(!1);function f(e){return e.ruleId===`spelling`?/"([^"]+)"/.exec(e.message)?.[1]:void 0}async function p(e,t){if(!d.value){d.value=!0;try{await t(),await l(),$.success(e)}catch(e){$.error(e.message)}finally{d.value=!1}}}let m=e=>p(`Dismissed until the source of ${e.key} changes`,()=>jf(e.key,e.ruleId,e.locale)),h=e=>p(`Restored ${bO[e.ruleId].toLowerCase()} on ${e.key}`,()=>Mf(e.key,e.ruleId,e.locale)),g=(e,t)=>p(`Dismissed ${t} warning${t===1?``:`s`}`,()=>Nf({rules:[e]})),_=e=>{let t=f(e);t&&p(`Added "${t}" to the dictionary`,()=>mf(t))};function v(e){let t=new Map;for(let n of o.value.risk[e]){let e=t.get(n.ruleId);e?e.push(n):t.set(n.ruleId,[n])}return[...t.entries()].map(([e,t])=>({ruleId:e,findings:t}))}let y={ready:{label:`Ready`,icon:Mu,text:`text-emerald-600 dark:text-emerald-400`,border:`border-l-emerald-500`,bar:`bg-emerald-500`,soft:`bg-emerald-500/10`},almost:{label:`Almost`,icon:Fu,text:`text-amber-600 dark:text-amber-400`,border:`border-l-amber-500`,bar:`bg-amber-500`,soft:`bg-amber-500/10`},blocked:{label:`Blocked`,icon:ad,text:`text-red-600 dark:text-red-400`,border:`border-l-red-500`,bar:`bg-red-500`,soft:`bg-red-500/10`},none:{label:`Not started`,icon:_d,text:`text-muted-foreground`,border:`border-l-border`,bar:`bg-muted-foreground/40`,soft:`bg-muted`}},b={breaking:{label:`Breaking`,icon:ad,text:`text-red-600 dark:text-red-400`,border:`border-l-red-500`,soft:`bg-red-500/10`},missing:{label:`Missing`,icon:Pu,text:`text-muted-foreground`,border:`border-l-muted-foreground/40`,soft:`bg-muted`},stale:{label:`Stale`,icon:Fu,text:`text-amber-600 dark:text-amber-400`,border:`border-l-amber-500`,soft:`bg-amber-500/10`},warning:{label:`Warning`,icon:Ed,text:`text-amber-600 dark:text-amber-400`,border:`border-l-amber-500`,soft:`bg-amber-500/10`}},x=[{key:`breaking`,label:`Breaking`,blurb:"Lint errors — `glotfile check` fails on these. Ship-blocking.",text:`text-red-600 dark:text-red-400`,bar:`bg-red-500`},{key:`warning`,label:`Warning`,blurb:`Lint warnings — worth a look, won't block a release.`,text:`text-amber-600 dark:text-amber-400`,bar:`bg-amber-500`}],S=K(()=>{let e=o.value;return c.value?`none`:e.projectErrors>0?`blocked`:e.totals.ready===e.totals.locales&&e.totals.locales>0?`ready`:`blocked`}),C=K(()=>S.value===`none`?`Nothing to ship yet`:S.value===`ready`?`Ready to ship`:`Not ready to ship`);function w(e){return e.verdict===`ready`?e.notes.length?e.notes.join(` · `):`Clean — clears the gate`:e.blockers.join(` · `)}function T(e){return e.missingKeys.length?{locale:e.locale,states:[`missing`]}:e.errors.length?{locale:e.locale,...SO(e.errors[0])}:e.staleKeys.length?{locale:e.locale,states:[`needs-review`]}:{locale:e.locale}}function ee(e){return KC(e).name}function E(e,t){return(t?e/t*100:0)+`%`}function te(e){let t=[...new Set(o.value.risk[e].flatMap(e=>SO(e).issues??[]))];return t.length?{issues:t}:{needsAttention:!0}}return(e,t)=>(R(),z(`div`,AO,[r.value?(R(),z(`div`,jO,`Loading analytics…`)):s.value?(R(),z(`div`,MO,` No keys yet — add keys in the Editor to see analytics. `)):o.value?(R(),z(`div`,NO,[V(`section`,PO,[V(`div`,FO,[V(`span`,IO,A(o.value.totals.keys),1),t[2]||=V(`span`,{class:`text-xs text-muted-foreground`},`keys`,-1)]),V(`div`,LO,[V(`span`,RO,A(o.value.totals.locales),1),t[3]||=V(`span`,{class:`text-xs text-muted-foreground`},`locales`,-1)]),V(`div`,zO,[V(`span`,BO,A(o.value.totals.translatedPct)+`%`,1),t[4]||=V(`span`,{class:`text-xs text-muted-foreground`},`translated`,-1)]),V(`div`,VO,[V(`span`,HO,A(o.value.totals.reviewedPct)+`%`,1),t[5]||=V(`span`,{class:`text-xs text-muted-foreground`},`reviewed`,-1)]),V(`button`,{type:`button`,class:`group flex flex-col px-5 text-left`,"data-test":`open-issues`,disabled:!o.value.totals.openIssues,onClick:t[0]||=e=>M(jp)({needsAttention:!0})},[V(`span`,{class:k([`text-lg font-semibold tabular-nums`,o.value.totals.breaking?`text-red-600 dark:text-red-400`:``])},A(o.value.totals.openIssues),3),t[6]||=V(`span`,{class:`text-xs text-muted-foreground group-hover:text-foreground`},`open issues`,-1)],8,UO),V(`div`,WO,[V(`span`,GO,A(o.value.totals.sourceWords),1),t[7]||=V(`span`,{class:`text-xs text-muted-foreground`},`source words`,-1)])]),V(`section`,{class:k([`rounded-2xl border border-l-4 bg-card p-6 shadow-sm`,y[S.value].border])},[V(`div`,KO,[V(`div`,qO,[t[12]||=V(`div`,{class:`font-mono text-[11px] uppercase tracking-wider text-muted-foreground`},`Can I ship?`,-1),V(`h1`,JO,[(R(),B(aa(y[S.value].icon),{class:k([`size-6`,y[S.value].text])},null,8,[`class`])),U(` `+A(C.value),1)]),V(`p`,YO,[c.value?(R(),z(L,{key:0},[U(`Add translations to get started — run a sync to let the AI fill them in.`)],64)):(R(),z(L,{key:1},[V(`strong`,XO,A(o.value.totals.ready),1),U(` of `+A(o.value.totals.locales)+` locales ready`,1),o.value.totals.almost?(R(),z(L,{key:0},[t[8]||=U(` · `,-1),V(`strong`,ZO,A(o.value.totals.almost),1),t[9]||=U(` need a refresh`,-1)],64)):W(``,!0),o.value.totals.blocked?(R(),z(L,{key:1},[t[10]||=U(` · `,-1),V(`strong`,QO,A(o.value.totals.blocked),1),t[11]||=U(` blocked`,-1)],64)):W(``,!0)],64))]),o.value.project.length?(R(),z(`ul`,$O,[(R(!0),z(L,null,F(o.value.project,e=>(R(),z(`li`,{key:`${e.ruleId}:${e.key}`,class:k([`flex items-center gap-1.5 text-xs`,e.severity===`error`?`text-red-600 dark:text-red-400`:`text-amber-600 dark:text-amber-400`])},[e.severity===`error`?(R(),B(M(ad),{key:0,class:`size-3 shrink-0`})):(R(),B(M(Ed),{key:1,class:`size-3 shrink-0`})),V(`span`,ek,A(M(bO)[e.ruleId]),1),V(`span`,tk,A(e.key),1),V(`span`,nk,A(e.message),1)],2))),128))])):W(``,!0)]),V(`div`,rk,[(R(!0),z(L,null,F([{n:o.value.totals.ready,label:`ready`,cls:`text-emerald-600 dark:text-emerald-400`},{n:o.value.totals.almost,label:`almost`,cls:`text-amber-600 dark:text-amber-400`},{n:o.value.totals.blocked,label:`blocked`,cls:`text-red-600 dark:text-red-400`}],e=>(R(),z(`div`,{key:e.label,class:`flex min-w-[66px] flex-col items-center rounded-xl border px-4 py-2`},[V(`span`,{class:k([`text-2xl font-semibold tabular-nums`,e.n?e.cls:`text-muted-foreground/50`])},A(e.n),3),V(`span`,ik,A(e.label),1)]))),128))])]),V(`div`,ak,[t[17]||=V(`span`,{class:`font-mono text-[10px] uppercase tracking-wider text-muted-foreground`},`Release gate`,-1),V(`span`,ok,[H(M(Ou),{class:`size-3 text-emerald-500`}),t[13]||=U(` 100% translated`,-1)]),V(`span`,sk,[H(M(Ou),{class:`size-3 text-emerald-500`}),t[14]||=U(` 0 lint errors`,-1)]),V(`span`,ck,[H(M(Ou),{class:`size-3 text-emerald-500`}),t[15]||=U(` outputs exported`,-1)]),V(`span`,lk,[H(M(Ou),{class:`size-3 text-emerald-500`}),t[16]||=U(` nothing stale`,-1)]),t[18]||=V(`span`,{class:`ml-auto text-[11px] italic text-muted-foreground`},[U(`same rules as `),V(`code`,{class:`font-mono not-italic`},`glotfile check`),U(` · skip via `),V(`code`,{class:`font-mono not-italic`},`config.lint.rules`)],-1)])],2),V(`section`,uk,[t[21]||=V(`header`,{class:`mb-4`},[V(`h2`,{class:`text-base font-semibold`},`Release readiness`),V(`p`,{class:`mt-0.5 text-sm text-muted-foreground`},`Per-locale status against the release gate. Click any locale to drill in.`)],-1),c.value?(R(),z(`div`,dk,[H(M(Gu),{class:`size-5 text-muted-foreground`}),t[19]||=V(`div`,{class:`flex flex-col`},[V(`b`,{class:`text-sm`},`No locale is ready yet.`),V(`span`,{class:`text-sm text-muted-foreground`},`Translate your strings, then locales appear here as they clear the gate.`)],-1)])):(R(),z(`div`,fk,[(R(!0),z(L,null,F(o.value.locales,e=>(R(),z(`button`,{key:e.locale,type:`button`,"data-test":`rcard-${e.locale}`,class:k([`flex flex-col gap-2 rounded-xl border border-l-[3px] p-3.5 text-left transition hover:-translate-y-0.5 hover:bg-muted/50`,y[e.verdict].border]),onClick:t=>M(jp)(T(e))},[V(`div`,mk,[V(`span`,hk,[V(`span`,gk,A(e.locale),1),V(`span`,{class:`truncate text-[11px] text-muted-foreground`,title:ee(e.locale)},A(ee(e.locale)),9,_k)]),V(`span`,{class:k([`flex items-center gap-1 text-[11px] font-semibold`,y[e.verdict].text])},[(R(),B(aa(y[e.verdict].icon),{class:`size-3`})),U(A(y[e.verdict].label),1)],2)]),V(`div`,vk,[U(A(e.pct),1),t[20]||=V(`span`,{class:`ml-0.5 text-xs text-muted-foreground`},`%`,-1)]),V(`div`,yk,[V(`span`,{class:`h-full bg-emerald-500`,style:he({width:E(e.counts.reviewed,e.total)})},null,4),V(`span`,{class:`h-full bg-amber-500`,style:he({width:E(e.counts.needsReview,e.total)})},null,4),V(`span`,{class:`h-full bg-sky-500`,style:he({width:E(e.counts.machine,e.total)})},null,4)]),V(`div`,bk,[e.verdict===`ready`?W(``,!0):(R(),B(aa(y[e.verdict].icon),{key:0,class:k([`size-3 shrink-0`,y[e.verdict].text])},null,8,[`class`])),V(`span`,xk,A(w(e)),1)])],10,pk))),128))]))]),V(`section`,Sk,[V(`header`,Ck,[t[22]||=V(`h2`,{class:`text-base font-semibold`},`Needs attention`,-1),V(`p`,wk,A(c.value?`Your prioritized worklist will fill in as the AI translates.`:`Prioritized — fix the top item first. Each opens the matching strings.`),1)]),o.value.worklist.length?(R(),z(`ol`,Ek,[(R(!0),z(L,null,F(o.value.worklist,(e,t)=>(R(),z(`li`,{key:e.id},[V(`button`,{type:`button`,class:k([`grid w-full grid-cols-[30px_1fr_auto_16px] items-center gap-3 rounded-xl border border-l-[3px] px-3.5 py-3 text-left transition enabled:hover:bg-muted/50`,[b[e.priority].border,t===0?b[e.priority].soft:``]]),disabled:!e.filter,onClick:t=>e.filter&&M(jp)(e.filter)},[V(`span`,{class:k([`flex size-[30px] items-center justify-center rounded-lg`,[b[e.priority].soft,b[e.priority].text]])},[(R(),B(aa(b[e.priority].icon),{class:`size-4`}))],2),V(`span`,Ok,[V(`span`,kk,[U(A(e.title)+` `,1),t===0?(R(),z(`span`,{key:0,class:k([`rounded-full px-2 py-0.5 font-mono text-[9.5px] font-semibold uppercase tracking-wide text-white`,b[e.priority].text.includes(`red`)?`bg-red-500`:b[e.priority].text.includes(`amber`)?`bg-amber-500`:`bg-muted-foreground`])},`Start here`,2)):W(``,!0)]),V(`span`,Ak,A(e.where),1)]),V(`span`,{class:k([`rounded-full px-2.5 py-1 text-[11px] font-semibold`,[b[e.priority].soft,b[e.priority].text]])},A(b[e.priority].label),3),H(M(Au),{class:`size-4 text-muted-foreground`})],10,Dk)]))),128))])):(R(),z(`div`,Tk,[H(M(Mu),{class:`size-5 text-emerald-500`}),t[23]||=V(`div`,{class:`flex flex-col`},[V(`b`,{class:`text-sm`},`Nothing needs attention.`),V(`span`,{class:`text-sm text-muted-foreground`},`Every translated string clears its checks and is up to date.`)],-1)]))]),c.value?(R(),z(`section`,dA,[t[32]||=V(`h2`,{class:`mb-4 text-base font-semibold`},`Quality`,-1),V(`div`,fA,[H(M(Nu),{class:`size-5 text-muted-foreground`}),t[31]||=V(`div`,{class:`flex flex-col`},[V(`b`,{class:`text-sm`},`No checks run yet.`),V(`span`,{class:`text-sm text-muted-foreground`},`Quality checks appear once strings are translated.`)],-1)])])):(R(),z(`div`,jk,[V(`section`,Mk,[t[29]||=V(`header`,{class:`mb-4`},[V(`h2`,{class:`text-base font-semibold`},`Quality`),V(`p`,{class:`mt-0.5 text-sm text-muted-foreground`},`Grouped by risk — a broken placeholder is not a typo.`)],-1),o.value.totals.openIssues?(R(),z(`div`,Pk,[(R(),z(L,null,F(x,e=>V(`div`,{key:e.key,class:`overflow-hidden rounded-xl border`},[V(`button`,{type:`button`,class:`flex w-full items-center gap-3 px-3.5 py-3 text-left enabled:hover:bg-muted/50`,disabled:!o.value.risk[e.key].length,onClick:t=>M(jp)(te(e.key))},[V(`span`,{class:k([`w-1 self-stretch rounded-full`,e.bar])},null,2),V(`span`,{class:k([`min-w-[22px] text-xl font-semibold tabular-nums`,e.text])},A(o.value.risk[e.key].length),3),V(`span`,Ik,[V(`span`,Lk,A(e.label),1),V(`span`,Rk,A(e.blurb),1)]),o.value.risk[e.key].length?(R(),B(M(Au),{key:0,class:`size-4 text-muted-foreground`})):W(``,!0)],8,Fk),o.value.risk[e.key].length?(R(),z(`div`,zk,[(R(!0),z(L,null,F(v(e.key),n=>(R(),z(L,{key:n.ruleId},[V(`div`,Bk,[V(`span`,Vk,A(M(bO)[n.ruleId])+` · `+A(n.findings.length),1),e.key===`warning`?(R(),z(`button`,{key:0,type:`button`,class:`flex items-center gap-1 rounded px-1.5 py-0.5 text-[11px] text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,disabled:d.value,title:`Hide all ${n.findings.length} until each key's source changes`,onClick:e=>g(n.ruleId,n.findings.length)},[H(M(Cu),{class:`size-3`}),t[25]||=U(` Dismiss all `,-1)],8,Hk)):W(``,!0)]),(R(!0),z(L,null,F(n.findings,(e,n)=>(R(),z(`div`,{key:n,role:`button`,tabindex:`0`,class:`group grid w-full cursor-pointer grid-cols-[42px_minmax(90px,1fr)_1.4fr_auto] items-center gap-2.5 border-b px-3.5 py-2.5 text-left text-xs last:border-b-0 hover:bg-muted/50`,onClick:t=>M(jp)(M(SO)(e)),onKeydown:Zl(t=>M(jp)(M(SO)(e)),[`enter`])},[V(`span`,{class:`font-mono font-semibold uppercase text-muted-foreground`,title:e.locale?ee(e.locale):`project-wide`},A(e.locale||`—`),9,Wk),V(`span`,Gk,[V(`span`,Kk,A(e.key),1)]),V(`span`,qk,A(e.message),1),V(`span`,Jk,[f(e)?(R(),z(`button`,{key:0,type:`button`,class:`flex items-center gap-1 rounded border bg-background px-1.5 py-0.5 text-[11px] text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,disabled:d.value,title:`Never flag "${f(e)}" again`,onClick:Yl(t=>_(e),[`stop`])},[H(M(Tu),{class:`size-3`}),t[26]||=U(` Add word `,-1)],8,Yk)):W(``,!0),e.severity===`warn`?(R(),z(`button`,{key:1,type:`button`,class:`flex items-center gap-1 rounded border bg-background px-1.5 py-0.5 text-[11px] text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,disabled:d.value,title:`Hide until this key's source changes`,onClick:Yl(t=>m(e),[`stop`])},[H(M(Cu),{class:`size-3`}),t[27]||=U(` Dismiss `,-1)],8,Xk)):W(``,!0)])],40,Uk))),128))],64))),128))])):W(``,!0)])),64))])):(R(),z(`div`,Nk,[H(M(Mu),{class:`size-5 text-emerald-500`}),t[24]||=V(`div`,{class:`flex flex-col`},[V(`b`,{class:`text-sm`},`No issues found.`),V(`span`,{class:`text-sm text-muted-foreground`},`All translated strings pass their checks.`)],-1)])),a.value.length?(R(),z(`div`,Zk,[V(`button`,{type:`button`,class:`flex w-full items-center gap-2 px-3.5 py-2.5 text-left text-xs text-muted-foreground hover:bg-muted/50`,onClick:t[1]||=e=>u.value=!u.value},[(R(),B(aa(u.value?M(ku):M(Au)),{class:`size-3.5`})),H(M(Cu),{class:`size-3.5`}),U(` Suppressed (`+A(a.value.length)+`) — hidden until each key's source changes `,1)]),u.value?(R(),z(`div`,Qk,[(R(!0),z(L,null,F(a.value,(e,n)=>(R(),z(`div`,{key:n,class:`grid w-full grid-cols-[42px_minmax(90px,1fr)_1.4fr_auto] items-center gap-2.5 border-b px-3.5 py-2.5 text-left text-xs text-muted-foreground last:border-b-0`},[V(`span`,$k,A(e.locale||`—`),1),V(`span`,eA,[U(A(M(bO)[e.ruleId])+` · `,1),V(`span`,tA,A(e.key),1)]),V(`span`,nA,A(e.message),1),V(`button`,{type:`button`,class:`flex items-center gap-1 rounded border bg-background px-1.5 py-0.5 text-[11px] transition-colors hover:bg-accent hover:text-foreground`,disabled:d.value,onClick:t=>h(e)},[H(M(ld),{class:`size-3`}),t[28]||=U(` Restore `,-1)],8,rA)]))),128))])):W(``,!0)])):W(``,!0)]),V(`section`,iA,[t[30]||=vs(`<header class="mb-4"><h2 class="text-base font-semibold">By locale</h2><p class="mt-0.5 text-sm text-muted-foreground">Full breakdown.</p></header><div class="grid grid-cols-[minmax(96px,1.4fr)_52px_64px_50px_72px_72px_16px] gap-2 border-b pb-2 font-mono text-[11px] uppercase tracking-wide text-muted-foreground"><span>Locale</span><span class="text-center">Done</span><span class="text-center">Missing</span><span class="text-center">Stale</span><span class="text-center">Breaking</span><span class="text-center">Warnings</span><span></span></div>`,2),(R(!0),z(L,null,F(o.value.locales,e=>(R(),z(`button`,{key:e.locale,type:`button`,class:`grid w-full grid-cols-[minmax(96px,1.4fr)_52px_64px_50px_72px_72px_16px] items-center gap-2 border-b py-2.5 text-left text-sm last:border-b-0 hover:bg-muted/50`,onClick:t=>M(jp)(T(e))},[V(`span`,oA,[V(`span`,{class:k([`size-2 shrink-0 rounded-full`,y[e.verdict].bar])},null,2),V(`span`,sA,[V(`span`,cA,A(e.locale),1),V(`span`,{class:`truncate text-xs leading-tight text-muted-foreground`,title:ee(e.locale)},A(ee(e.locale)),9,lA)])]),V(`span`,uA,A(e.pct)+`%`,1),V(`span`,{class:k([`text-center font-mono tabular-nums`,e.missingKeys.length?``:`text-muted-foreground`])},A(e.missingKeys.length||`—`),3),V(`span`,{class:k([`text-center font-mono tabular-nums`,e.staleKeys.length?`text-amber-600 dark:text-amber-400`:`text-muted-foreground`])},A(e.staleKeys.length||`—`),3),V(`span`,{class:k([`text-center font-mono tabular-nums`,e.breaking?`text-red-600 dark:text-red-400`:`text-muted-foreground`])},A(e.breaking||`—`),3),V(`span`,{class:k([`text-center font-mono tabular-nums`,e.warning?`text-amber-600 dark:text-amber-400`:`text-muted-foreground`])},A(e.warning||`—`),3),H(M(Au),{class:`size-3.5 text-muted-foreground`})],8,aA))),128))])]))])):W(``,!0)]))}});function mA(e,t){let n=t.trim().toLowerCase();return n===``?e:e.filter(e=>e.term.toLowerCase().includes(n)||(e.notes??``).toLowerCase().includes(n)?!0:Object.entries(e.translations??{}).some(([e,t])=>e.toLowerCase().includes(n)||t.toLowerCase().includes(n)))}var hA={class:`grid gap-4`},gA={class:`grid gap-1.5`},_A={key:0,class:`text-xs text-muted-foreground`},vA={class:`flex items-center justify-between`},yA={class:`flex items-center justify-between`},bA={class:`grid gap-1.5`},xA={key:0,class:`grid gap-2 border-t pt-3`},SA={key:1,class:`text-sm text-destructive`},CA=P({__name:`GlossaryEntryDialog`,props:ka({entry:{},targetLocales:{}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:ka([`saved`],[`update:open`]),setup(e,{emit:t}){let n=e,r=Za(e,`open`),i=t,a=Xt({term:``,doNotTranslate:!1,caseSensitive:!1,notes:``,translations:{}}),o=j(!1),s=j(``),c=j(!1);Dr(r,e=>{if(!e)return;let t=n.entry;c.value=t!==null,a.term=t?.term??``,a.doNotTranslate=t?.doNotTranslate??!1,a.caseSensitive=t?.caseSensitive??!1,a.notes=t?.notes??``,a.translations={};for(let e of n.targetLocales)a.translations[e]=t?.translations?.[e]??``;s.value=``},{immediate:!0});async function l(){let e=a.term.trim();if(!e){s.value=`Term is required.`;return}let t={};for(let[e,n]of Object.entries(a.translations)){let r=n.trim();r&&(t[e]=r)}let n={term:e};a.doNotTranslate&&(n.doNotTranslate=!0),a.caseSensitive&&(n.caseSensitive=!0),a.notes.trim()&&(n.notes=a.notes.trim()),Object.keys(t).length>0&&(n.translations=t),o.value=!0,s.value=``;try{await gf(n),$.success(c.value?`Updated ${e}`:`Added ${e}`),r.value=!1,i(`saved`)}catch(e){s.value=e.message}finally{o.value=!1}}return(t,n)=>(R(),B(M(Oh),{open:r.value,"onUpdate:open":n[5]||=e=>r.value=e},{default:N(()=>[H(M(bC),{class:`max-h-[85vh] max-w-lg overflow-y-auto`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),null,{default:N(()=>[U(A(c.value?`Edit term`:`Add term`),1)]),_:1}),H(M(wC),null,{default:N(()=>[...n[6]||=[U(` Guide AI translations with do-not-translate terms and forced translations. `,-1)]]),_:1})]),_:1}),V(`div`,hA,[V(`div`,gA,[H(M(yC),{for:`glossary-term`},{default:N(()=>[...n[7]||=[U(`Term`,-1)]]),_:1}),H(M(BS),{id:`glossary-term`,modelValue:a.term,"onUpdate:modelValue":n[0]||=e=>a.term=e,class:`font-mono`,placeholder:`Sign in`,disabled:c.value,onKeydown:Zl(Yl(l,[`prevent`]),[`enter`])},null,8,[`modelValue`,`disabled`,`onKeydown`]),c.value?(R(),z(`p`,_A,` The term is the entry's identity and can't be changed. `)):W(``,!0)]),V(`div`,vA,[V(`div`,null,[H(M(yC),{for:`glossary-dnt`},{default:N(()=>[...n[8]||=[U(`Do not translate`,-1)]]),_:1}),n[9]||=V(`p`,{class:`text-xs text-muted-foreground`},`Keep this term verbatim in every language.`,-1)]),H(M(XS),{id:`glossary-dnt`,modelValue:a.doNotTranslate,"onUpdate:modelValue":n[1]||=e=>a.doNotTranslate=e},null,8,[`modelValue`])]),V(`div`,yA,[V(`div`,null,[H(M(yC),{for:`glossary-cs`},{default:N(()=>[...n[10]||=[U(`Case sensitive`,-1)]]),_:1}),n[11]||=V(`p`,{class:`text-xs text-muted-foreground`},`Only match the exact casing.`,-1)]),H(M(XS),{id:`glossary-cs`,modelValue:a.caseSensitive,"onUpdate:modelValue":n[2]||=e=>a.caseSensitive=e},null,8,[`modelValue`])]),V(`div`,bA,[H(M(yC),{for:`glossary-notes`},{default:N(()=>[...n[12]||=[U(`Notes`,-1)]]),_:1}),H(M($C),{id:`glossary-notes`,modelValue:a.notes,"onUpdate:modelValue":n[3]||=e=>a.notes=e,rows:`5`,class:`min-h-24 resize-y`,placeholder:`Optional guidance for translators.`},null,8,[`modelValue`])]),e.targetLocales.length>0?(R(),z(`div`,xA,[n[13]||=V(`p`,{class:`text-sm font-medium`},`Forced translations`,-1),(R(!0),z(L,null,F(e.targetLocales,e=>(R(),z(`div`,{key:e,class:`grid gap-1.5`},[H(M(yC),{for:`glossary-tr-${e}`,class:`text-xs text-muted-foreground`},{default:N(()=>[H(Ew,{code:e,"show-name":``,"show-code":!1,size:12},null,8,[`code`])]),_:2},1032,[`for`]),H(M(BS),{id:`glossary-tr-${e}`,modelValue:a.translations[e],"onUpdate:modelValue":t=>a.translations[e]=t,placeholder:`Forced translation for ${e}`},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`placeholder`])]))),128))])):W(``,!0),s.value?(R(),z(`p`,SA,A(s.value),1)):W(``,!0)]),H(M(SC),null,{default:N(()=>[H(M(Q),{variant:`outline`,disabled:o.value,onClick:n[4]||=e=>r.value=!1},{default:N(()=>[...n[14]||=[U(`Cancel`,-1)]]),_:1},8,[`disabled`]),H(M(Q),{disabled:o.value,onClick:l},{default:N(()=>[U(A(c.value?`Save`:`Add term`),1)]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`]))}}),wA={class:`min-h-0 flex-1 overflow-y-auto`},TA={key:0,class:`flex h-full items-center justify-center p-8 text-sm text-muted-foreground`},EA={key:1,class:`mx-auto flex max-w-3xl flex-col gap-4 p-6`},DA={class:`flex items-center justify-between`},OA={class:`relative`},kA={key:0,class:`rounded-lg border border-dashed p-10 text-center text-sm text-muted-foreground`},AA={key:1,class:`rounded-lg border border-dashed p-10 text-center text-sm text-muted-foreground`},jA={key:2,class:`flex flex-col gap-2`},MA={class:`min-w-0 flex-1`},NA={class:`flex flex-wrap items-center gap-2`},PA={class:`font-mono text-sm font-medium`},FA={key:0,class:`mt-1 text-sm text-muted-foreground`},IA={key:1,class:`mt-2 flex flex-wrap gap-1.5`},LA={class:`flex shrink-0 items-center gap-1`},RA={class:`font-mono`},zA=P({__name:`GlossaryView`,setup(e){let t=j([]),n=j(``),r=j([]),i=j(!1),a=j(!1),o=j(null),s=j(null),c=j(!1),l=j(``),u=K(()=>mA(t.value,l.value)),d=K(()=>r.value.filter(e=>e!==n.value));async function f(){let[e,a]=await Promise.all([hf(),Md()]);t.value=e,n.value=a.config.sourceLocale,r.value=a.config.locales,i.value=!0}f();function p(){o.value=null,a.value=!0}function m(e){o.value=e,a.value=!0}function h(e){return Object.entries(e.translations??{}).map(([e,t])=>`${e}: ${t}`)}async function g(){let e=s.value;if(e){c.value=!0;try{await _f(e.term),$.success(`Deleted ${e.term}`),s.value=null,await f()}catch(e){$.error(`Delete failed: ${e.message}`)}finally{c.value=!1}}}return(e,n)=>(R(),z(`div`,wA,[i.value?(R(),z(`div`,EA,[V(`div`,DA,[n[7]||=V(`div`,null,[V(`h2`,{class:`text-base font-semibold`},`Glossary`),V(`p`,{class:`text-sm text-muted-foreground`},`Do-not-translate terms and forced translations.`)],-1),H(M(Q),{onClick:p},{default:N(()=>[H(M(sd),{class:`size-4`}),n[6]||=U(` Add term `,-1)]),_:1})]),V(`div`,OA,[H(M(md),{class:`pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-muted-foreground`}),H(M(BS),{modelValue:l.value,"onUpdate:modelValue":n[0]||=e=>l.value=e,placeholder:`Search terms, notes, translations…`,class:`h-8 w-full pl-8 pr-8`,onKeydown:n[1]||=Zl(e=>l.value=``,[`esc`])},null,8,[`modelValue`]),l.value?(R(),z(`button`,{key:0,class:`absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,"aria-label":`Clear search`,onClick:n[2]||=e=>l.value=``},[H(M(Ad),{class:`size-4`})])):W(``,!0)]),t.value.length===0?(R(),z(`div`,kA,` No glossary terms yet — add do-not-translate terms and forced translations to guide AI. `)):u.value.length===0?(R(),z(`div`,AA,` No terms match your search. `)):(R(),z(`ul`,jA,[(R(!0),z(L,null,F(u.value,e=>(R(),z(`li`,{key:e.term,class:`flex items-start gap-3 rounded-lg border bg-card p-3 text-card-foreground shadow-sm`},[V(`div`,MA,[V(`div`,NA,[V(`span`,PA,A(e.term),1),e.doNotTranslate?(R(),B(M(JS),{key:0,variant:`secondary`},{default:N(()=>[...n[8]||=[U(`Do-not-translate`,-1)]]),_:1})):W(``,!0),e.caseSensitive?(R(),B(M(JS),{key:1,variant:`outline`},{default:N(()=>[...n[9]||=[U(`Case-sensitive`,-1)]]),_:1})):W(``,!0)]),e.notes?(R(),z(`p`,FA,A(e.notes),1)):W(``,!0),h(e).length?(R(),z(`div`,IA,[(R(!0),z(L,null,F(h(e),e=>(R(),z(`span`,{key:e,class:`inline-flex items-center rounded-md border bg-background px-2 py-0.5 font-mono text-xs`},A(e),1))),128))])):W(``,!0)]),V(`div`,LA,[H(M(Q),{variant:`ghost`,size:`icon`,"aria-label":`Edit ${e.term}`,onClick:t=>m(e)},{default:N(()=>[H(M(od),{class:`size-4`})]),_:1},8,[`aria-label`,`onClick`]),H(M(Q),{variant:`ghost`,size:`icon`,class:`text-muted-foreground hover:text-destructive`,"aria-label":`Delete ${e.term}`,onClick:t=>s.value=e},{default:N(()=>[H(M(Td),{class:`size-4`})]),_:1},8,[`aria-label`,`onClick`])])]))),128))]))])):(R(),z(`div`,TA,` Loading glossary… `)),H(CA,{open:a.value,"onUpdate:open":n[3]||=e=>a.value=e,entry:o.value,"target-locales":d.value,onSaved:f},null,8,[`open`,`entry`,`target-locales`]),H(M(Oh),{open:s.value!==null,"onUpdate:open":n[5]||=e=>{e||(s.value=null)}},{default:N(()=>[H(M(bC),{class:`max-w-md`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),null,{default:N(()=>[...n[10]||=[U(`Delete term`,-1)]]),_:1}),H(M(wC),null,{default:N(()=>[n[11]||=U(` Delete `,-1),V(`span`,RA,A(s.value?.term),1),n[12]||=U(` from the glossary? This cannot be undone. `,-1)]),_:1})]),_:1}),H(M(SC),null,{default:N(()=>[H(M(Q),{variant:`outline`,disabled:c.value,onClick:n[4]||=e=>s.value=null},{default:N(()=>[...n[13]||=[U(`Cancel`,-1)]]),_:1},8,[`disabled`]),H(M(Q),{variant:`destructive`,disabled:c.value,onClick:g},{default:N(()=>[...n[14]||=[U(`Delete`,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`])]))}}),BA=[{id:`empty-source`,label:`Empty source`,description:`The source text itself is empty.`,default:`error`},{id:`empty-translation`,label:`Untranslated`,description:`A target translation is missing or blank.`,default:`error`},{id:`placeholder-mismatch`,label:`Placeholder mismatch`,description:`Placeholders differ between source and translation.`,default:`error`},{id:`icu-mismatch`,label:`ICU mismatch`,description:`ICU plural/select structure differs from the source.`,default:`error`},{id:`glossary-violation`,label:`Glossary`,description:`A glossary term is missing or translated incorrectly.`,default:`error`},{id:`max-length`,label:`Too long`,description:`The translation exceeds the key's maximum length.`,default:`warn`},{id:`identical-to-source`,label:`Identical to source`,description:`The translation is exactly the source text.`,default:`warn`},{id:`whitespace`,label:`Whitespace`,description:`Leading/trailing whitespace differs from the source.`,default:`warn`},{id:`spelling`,label:`Spelling`,description:`A word isn't in the locale's dictionary, the glossary, or your custom dictionary.`,default:`warn`}],VA=Object.fromEntries(BA.map(e=>[e.id,e.default]));function HA(e,t){if(typeof e==`string`&&e.trim()===``)return t;let n=typeof e==`number`?e:Number(e);return Number.isFinite(n)?n:t}function UA(e){return{sourceLocale:e.sourceLocale,locales:[...e.locales],outputs:e.outputs.map(e=>({adapter:e.adapter,path:e.path,emptyAs:e.emptyAs,style:e.style===`flat`?`flat`:`nested`,indent:e.indent??null,finalNewline:e.finalNewline??null,includeLocale:e.includeLocale??!0,skipSourceLocale:e.skipSourceLocale??!1,localeAliases:e.localeAliases?structuredClone(e.localeAliases):{},localeCase:e.localeCase,localeMap:e.localeMap?structuredClone(e.localeMap):{}})),indent:e.format.indent,sortKeys:e.format.sortKeys,finalNewline:e.format.finalNewline,autoExport:e.autoExport??!0,exportLocales:[...e.exportLocales??[]],customWords:[...e.spelling?.customWords??[]],lintRules:{...VA,...e.lint?.rules},lintIgnore:[...e.lint?.ignore??[]],scanAccessors:[...e.scan?.accessors??[]],scanPatterns:[...e.scan?.patterns??[]],scanInclude:[...e.scan?.include??[]],scanExclude:[...e.scan?.exclude??[]],scanKeep:[...e.scan?.keep??[]]}}function WA(e,t){let n=e.outputs.map(e=>{let t={adapter:e.adapter.trim(),path:e.path.trim()};if(e.style===`flat`&&(t.style=`flat`),e.emptyAs&&(t.emptyAs=e.emptyAs),e.indent!=null&&(t.indent=e.indent),e.finalNewline!=null&&(t.finalNewline=e.finalNewline),e.includeLocale||(t.includeLocale=!1),e.skipSourceLocale&&(t.skipSourceLocale=!0),e.localeAliases&&Object.keys(e.localeAliases).length&&(t.localeAliases=Object.fromEntries(Object.entries(e.localeAliases).filter(([,e])=>e.length>0)),Object.keys(t.localeAliases).length===0&&delete t.localeAliases),e.localeCase&&(t.localeCase=e.localeCase),e.localeMap){let n=Object.fromEntries(Object.entries(e.localeMap).filter(([,e])=>e.trim()!==``));Object.keys(n).length&&(t.localeMap=n)}return t}).filter(e=>e.adapter||e.path),r={};e.scanAccessors.length&&(r.accessors=[...e.scanAccessors]),e.scanPatterns.length&&(r.patterns=[...e.scanPatterns]),e.scanInclude.length&&(r.include=[...e.scanInclude]),e.scanExclude.length&&(r.exclude=[...e.scanExclude]),e.scanKeep.length&&(r.keep=[...e.scanKeep]);let i={sourceLocale:e.sourceLocale,locales:[...e.locales],outputs:n,format:{indent:HA(e.indent,2),sortKeys:e.sortKeys,finalNewline:e.finalNewline},autoExport:e.autoExport,...e.exportLocales.length?{exportLocales:[...e.exportLocales]}:{},spelling:{customWords:[...e.customWords]},...Object.keys(r).length?{scan:r}:{}},a=Object.fromEntries(Object.entries(e.lintRules).filter(([e,t])=>VA[e]!==void 0&&t!==VA[e])),o={};return Object.keys(a).length&&(o.rules=a),e.lintIgnore.length&&(o.ignore=[...e.lintIgnore]),t?.lint?.spelling!==void 0&&(o.spelling=t.lint.spelling),Object.keys(o).length&&(i.lint=o),t?.storage!==void 0&&(i.storage=t.storage),i}var GA=j(0),KA={class:`flex items-center gap-2 p-2`},qA=[`aria-label`],JA={class:`!flex items-center gap-2`},YA={class:`truncate font-medium`},XA={class:`flex items-center gap-2`},ZA={key:0,class:`grid gap-5 border-t border-border p-4`},QA={key:0,class:`grid gap-1.5`},$A={class:`mt-1 inline-flex w-fit rounded-md border border-input p-0.5`},ej=[`onClick`],tj={key:1,class:`grid gap-1.5`},nj={class:`mt-1 inline-flex w-fit rounded-md border border-input p-0.5`},rj=[`onClick`],ij={key:2,class:`grid gap-1.5`},aj={class:`flex items-center gap-2`},oj={key:0,class:`text-xs text-muted-foreground`},sj={class:`flex items-center gap-2`},cj={key:3,class:`grid gap-1.5`},lj={class:`flex items-center gap-2`},uj={key:0,class:`text-xs text-muted-foreground`},dj={class:`flex items-center gap-2`},fj={class:`text-xs text-muted-foreground`},pj={key:4,class:`grid gap-1.5`},mj={class:`flex items-center gap-2`},hj={class:`text-xs text-muted-foreground`},gj={class:`grid gap-1.5`},_j={class:`flex w-full items-center justify-between gap-4`},vj={class:`font-mono text-xs text-muted-foreground`},yj={class:`grid gap-1.5`},bj={class:`mt-1 grid gap-2`},xj={key:0,class:`text-xs text-muted-foreground`},Sj={class:`w-24 shrink-0 font-mono text-xs font-semibold`},Cj={key:1},wj={class:`!flex items-center gap-1.5`},Tj={class:`border-t border-border pt-4`},Ej={class:`mt-2 grid gap-2`},Dj={key:0,class:`text-xs text-muted-foreground`},Oj={class:`flex h-8 shrink-0 items-center gap-1.5`},kj={class:`font-mono text-xs font-semibold`},Aj={class:`flex flex-1 flex-wrap items-center gap-1.5`},jj=[`onClick`],Mj={key:1},Nj={class:`!flex items-center gap-1.5`},Pj=P({__name:`OutputEditor`,props:{output:{},formatIndent:{},formatFinalNewline:{type:Boolean},locales:{},adapters:{}},emits:[`update:output`,`remove`],setup(e,{emit:t}){let n=e,r=t,i=j(!1),a=j({}),o={"laravel-php":[`emptyAs`,`indent`,`finalNewline`],"vue-i18n-json":[`emptyAs`,`style`,`indent`,`finalNewline`],"flutter-arb":[`emptyAs`,`indent`,`finalNewline`,`includeLocale`],"angular-xliff":[`emptyAs`],"rails-yaml":[`emptyAs`,`indent`,`finalNewline`],"apple-strings":[`emptyAs`]};function s(e){return o[e]??[`emptyAs`,`indent`,`finalNewline`]}function c(e){return s(n.output.adapter).includes(e)}let l=[{value:`source`,label:`Fill source`},{value:`empty`,label:`Leave empty`},{value:`omit`,label:`Omit`}],u=[{value:`lower-hyphen`,label:`lower-hyphen`,example:`en-us`},{value:`lower-underscore`,label:`lower-underscore`,example:`en_us`},{value:`bcp47-hyphen`,label:`bcp47-hyphen`,example:`en-US`},{value:`bcp47-underscore`,label:`bcp47-underscore`,example:`en_US`}];function d(e){return e===`flutter-arb`?`Default (Flutter: en_US)`:e===`angular-xliff`?`Default (Angular: en-US)`:e===`rails-yaml`?`Default (Rails: en-US)`:e===`apple-strings`?`Default (Apple: en-US)`:`Default (en-us)`}let f=K(()=>n.output.localeCase??`default`);function p(e){v({localeCase:e==="default"?void 0:e})}let m={"laravel-php":`Laravel PHP`,"vue-i18n-json":`Vue i18n JSON`,"flutter-arb":`Flutter ARB`,"angular-xliff":`Angular XLIFF`,"rails-yaml":`Rails YAML`,"apple-strings":`Apple .strings`};function h(e){return m[e]??e}let g={"laravel-php":Hu,"vue-i18n-json":Vu,"flutter-arb":vd,"angular-xliff":Hu,"rails-yaml":Hu,"apple-strings":vd};function _(e){return g[e]??Wu}function v(e){r(`update:output`,{...n.output,...e})}function y(e){return e===`flutter-arb`?`omit`:`source`}function b(e){v({adapter:e,emptyAs:y(e),style:e===`vue-i18n-json`?`nested`:n.output.style,includeLocale:!0})}let x=K(()=>n.output.emptyAs??y(n.output.adapter)),S=K(()=>n.output.finalNewline??n.formatFinalNewline),C=K(()=>n.output.indent!=null),w=K(()=>n.output.finalNewline!=null),T=K(()=>n.output.localeAliases??{}),ee=K(()=>Object.keys(T.value)),E=K(()=>n.locales.filter(e=>!ee.value.includes(e)));function te(e){v({localeAliases:e})}function ne(e){te({...T.value,[e]:[]})}function re(e){let t={...T.value};delete t[e],te(t)}function D(e){let t=(a.value[e]??``).trim();if(!t)return;let n=T.value[e]??[];n.includes(t)||(te({...T.value,[e]:[...n,t]}),a.value={...a.value,[e]:``})}function ie(e,t){te({...T.value,[e]:(T.value[e]??[]).filter(e=>e!==t)})}let ae=K(()=>n.output.localeMap??{}),oe=K(()=>Object.keys(ae.value)),se=K(()=>n.locales.filter(e=>!oe.value.includes(e)));function O(e){v({localeMap:e})}function ce(e){O({...ae.value,[e]:e})}function le(e){let t={...ae.value};delete t[e],O(t)}function ue(e,t){O({...ae.value,[e]:t})}return(t,n)=>(R(),z(`div`,{class:k([`rounded-lg border`,i.value?`border-input`:`border-border`])},[V(`div`,KA,[H(M(ax),null,{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:`grid size-7 shrink-0 place-items-center rounded-md text-muted-foreground hover:bg-muted hover:text-foreground`,"aria-label":i.value?`Collapse`:`Expand options`,onClick:n[0]||=e=>i.value=!i.value},[H(M(Au),{class:k([`size-4 transition-transform`,i.value?`rotate-90`:``])},null,8,[`class`])],8,qA)]),_:1}),H(M(PC),null,{default:N(()=>[U(A(i.value?`Collapse`:`Expand options`),1)]),_:1})]),_:1}),H(M(yb),{"model-value":e.output.adapter,"onUpdate:modelValue":b},{default:N(()=>[H(M(VS),{class:`w-44 shrink-0`},{default:N(()=>[V(`span`,JA,[(R(),B(aa(_(e.output.adapter)),{class:`size-3.5 shrink-0 text-primary`})),V(`span`,YA,A(h(e.output.adapter)),1)])]),_:1}),H(M(HS),null,{default:N(()=>[(R(!0),z(L,null,F(e.adapters,e=>(R(),B(M(WS),{key:e,value:e},{default:N(()=>[V(`span`,XA,[(R(),B(aa(_(e)),{class:`size-3.5 text-primary`})),U(` `+A(h(e)),1)])]),_:2},1032,[`value`]))),128)),e.output.adapter&&!e.adapters.includes(e.output.adapter)?(R(),B(M(WS),{key:0,value:e.output.adapter},{default:N(()=>[U(A(e.output.adapter),1)]),_:1},8,[`value`])):W(``,!0)]),_:1})]),_:1},8,[`model-value`]),H(M(BS),{"model-value":e.output.path,class:`flex-1 font-mono text-sm`,placeholder:`lib/l10n/app_{locale}.arb`,spellcheck:`false`,"aria-label":`Output path`,"onUpdate:modelValue":n[1]||=e=>v({path:String(e)})},null,8,[`model-value`]),H(M(Q),{variant:`ghost`,size:`icon`,class:`shrink-0 text-muted-foreground hover:text-destructive`,"aria-label":`Remove output`,onClick:n[2]||=e=>r(`remove`)},{default:N(()=>[H(M(Td),{class:`size-4`})]),_:1})]),i.value?(R(),z(`div`,ZA,[c(`emptyAs`)?(R(),z(`div`,QA,[H(M(yC),null,{default:N(()=>[...n[8]||=[U(`Empty keys`,-1)]]),_:1}),n[9]||=V(`p`,{class:`text-xs text-muted-foreground`},`What to write when a translation is missing.`,-1),V(`div`,$A,[(R(),z(L,null,F(l,e=>V(`button`,{key:e.value,type:`button`,class:k([`rounded-[5px] px-2.5 py-1 text-xs font-medium transition-colors`,x.value===e.value?`bg-primary text-primary-foreground`:`text-muted-foreground hover:text-foreground`]),onClick:t=>v({emptyAs:e.value})},A(e.label),11,ej)),64))])])):W(``,!0),c(`style`)?(R(),z(`div`,tj,[H(M(yC),null,{default:N(()=>[...n[10]||=[U(`Nesting`,-1)]]),_:1}),n[11]||=V(`p`,{class:`text-xs text-muted-foreground`},`Expand dotted keys into nested objects.`,-1),V(`div`,nj,[(R(),z(L,null,F([`nested`,`flat`],t=>V(`button`,{key:t,type:`button`,class:k([`rounded-[5px] px-2.5 py-1 text-xs font-medium capitalize transition-colors`,(e.output.style??`nested`)===t?`bg-primary text-primary-foreground`:`text-muted-foreground hover:text-foreground`]),onClick:e=>v({style:t})},A(t),11,rj)),64))])])):W(``,!0),c(`indent`)?(R(),z(`div`,ij,[V(`div`,aj,[H(M(yC),null,{default:N(()=>[...n[12]||=[U(`Indent`,-1)]]),_:1}),C.value?(R(),z(`button`,{key:1,type:`button`,class:`text-xs text-primary hover:underline`,onClick:n[3]||=e=>v({indent:null})},`Reset`)):(R(),z(`span`,oj,`Inherited · `+A(e.formatIndent),1))]),V(`div`,sj,[H(M(BS),{type:`number`,min:`0`,max:`8`,class:k([`w-20`,C.value?`border-primary`:``]),"model-value":e.output.indent??``,placeholder:String(e.formatIndent),"onUpdate:modelValue":n[4]||=e=>v({indent:e===``?null:Math.max(0,parseInt(String(e),10)||0)})},null,8,[`class`,`model-value`,`placeholder`]),n[13]||=V(`span`,{class:`text-xs text-muted-foreground`},`spaces`,-1)])])):W(``,!0),c(`finalNewline`)?(R(),z(`div`,cj,[V(`div`,lj,[H(M(yC),null,{default:N(()=>[...n[14]||=[U(`Final newline`,-1)]]),_:1}),w.value?(R(),z(`button`,{key:1,type:`button`,class:`text-xs text-primary hover:underline`,onClick:n[5]||=e=>v({finalNewline:null})},`Reset`)):(R(),z(`span`,uj,`Inherited · `+A(e.formatFinalNewline?`on`:`off`),1))]),V(`div`,dj,[H(M(XS),{"model-value":S.value,"onUpdate:modelValue":n[6]||=e=>v({finalNewline:e})},null,8,[`model-value`]),V(`span`,fj,A(S.value?`Enabled`:`Disabled`),1)])])):W(``,!0),c(`includeLocale`)?(R(),z(`div`,pj,[H(M(yC),{class:`flex items-center gap-1.5`},{default:N(()=>[...n[15]||=[U(`Include `,-1),V(`code`,{class:`font-mono text-xs`},`@@locale`,-1)]]),_:1}),n[16]||=V(`p`,{class:`text-xs text-muted-foreground`},`Write the locale marker into each file. Standard for Flutter.`,-1),V(`div`,mj,[H(M(XS),{"model-value":e.output.includeLocale??!0,"onUpdate:modelValue":n[7]||=e=>v({includeLocale:e})},null,8,[`model-value`]),V(`span`,hj,A(e.output.includeLocale??!0?`Enabled`:`Disabled`),1)])])):W(``,!0),V(`div`,gj,[H(M(yC),null,{default:N(()=>[...n[17]||=[U(`Locale code format`,-1)]]),_:1}),n[18]||=V(`p`,{class:`text-xs text-muted-foreground`},[U(`How the `),V(`code`,{class:`font-mono text-xs`},`{locale}`),U(` token is rendered in file names (and the in-file marker for ARB).`)],-1),H(M(yb),{"model-value":f.value,"onUpdate:modelValue":p},{default:N(()=>[H(M(VS),{class:`w-72`,"aria-label":`Locale code format`},{default:N(()=>[H(M(Bb))]),_:1}),H(M(HS),null,{default:N(()=>[H(M(WS),{value:`default`},{default:N(()=>[U(A(d(e.output.adapter)),1)]),_:1}),(R(),z(L,null,F(u,e=>H(M(WS),{key:e.value,value:e.value},{default:N(()=>[V(`span`,_j,[V(`span`,null,A(e.label),1),V(`span`,vj,A(e.example),1)])]),_:2},1032,[`value`])),64))]),_:1})]),_:1},8,[`model-value`])]),V(`div`,yj,[H(M(yC),null,{default:N(()=>[...n[19]||=[U(`Locale overrides`,-1)]]),_:1}),n[21]||=V(`p`,{class:`text-xs text-muted-foreground`},`Force a specific export code for one locale — wins over the format above.`,-1),V(`div`,bj,[oe.value.length===0?(R(),z(`p`,xj,`No overrides.`)):W(``,!0),(R(!0),z(L,null,F(oe.value,e=>(R(),z(`div`,{key:e,class:`flex items-center gap-2`},[V(`span`,Sj,A(e),1),H(M(xu),{class:`size-3 shrink-0 text-muted-foreground`}),H(M(BS),{class:`h-8 flex-1 font-mono text-xs`,"aria-label":`Export code for `+e,placeholder:`export code`,"model-value":ae.value[e]??``,"onUpdate:modelValue":t=>ue(e,String(t))},null,8,[`aria-label`,`model-value`,`onUpdate:modelValue`]),H(M(Q),{variant:`ghost`,size:`icon`,class:`size-8 shrink-0 text-muted-foreground hover:text-destructive`,"aria-label":`Remove override `+e,onClick:t=>le(e)},{default:N(()=>[H(M(Td),{class:`size-3.5`})]),_:1},8,[`aria-label`,`onClick`])]))),128)),se.value.length>0?(R(),z(`div`,Cj,[H(M(yb),{"model-value":``,"onUpdate:modelValue":ce},{default:N(()=>[H(M(VS),{class:`w-56 text-muted-foreground`,"aria-label":`Add locale override`},{default:N(()=>[V(`span`,wj,[H(M(sd),{class:`size-3.5`}),n[20]||=U(` Add override…`,-1)])]),_:1}),H(M(HS),null,{default:N(()=>[(R(!0),z(L,null,F(se.value,e=>(R(),B(M(WS),{key:e,value:e},{default:N(()=>[U(A(e),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1})])):W(``,!0)])]),V(`div`,Tj,[n[25]||=V(`div`,{class:`text-xs font-semibold uppercase tracking-wide text-muted-foreground`},`Advanced · Locale aliases`,-1),n[26]||=V(`p`,{class:`mt-1.5 text-xs text-muted-foreground`},[U(` Write one catalog locale to additional file codes — e.g. `),V(`span`,{class:`font-mono`},`zh-Hans`),U(` also as `),V(`span`,{class:`font-mono`},`zh, zh_CN`),U(`. `)],-1),V(`div`,Ej,[ee.value.length===0?(R(),z(`p`,Dj,`No aliases. The locale's own code is used as the file name.`)):W(``,!0),(R(!0),z(L,null,F(ee.value,e=>(R(),z(`div`,{key:e,class:`flex items-start gap-2`},[V(`div`,Oj,[V(`span`,kj,A(e),1),H(M(xu),{class:`size-3 text-muted-foreground`})]),V(`div`,Aj,[(R(!0),z(L,null,F(T.value[e]??[],t=>(R(),z(`span`,{key:t,class:`inline-flex items-center gap-1 rounded-md border border-border bg-muted px-1.5 py-0.5 font-mono text-xs`},[U(A(t)+` `,1),H(M(ax),null,{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:`text-muted-foreground hover:text-destructive`,"aria-label":`Remove`,onClick:n=>ie(e,t)},[H(M(Ad),{class:`size-3`})],8,jj)]),_:2},1024),H(M(PC),null,{default:N(()=>[...n[22]||=[U(`Remove`,-1)]]),_:1})]),_:2},1024)]))),128)),H(M(BS),{class:`h-8 w-28 font-mono text-xs`,placeholder:`add code…`,"model-value":a.value[e]??``,"onUpdate:modelValue":t=>a.value={...a.value,[e]:String(t)},onKeydown:Zl(Yl(t=>D(e),[`prevent`]),[`enter`])},null,8,[`model-value`,`onUpdate:modelValue`,`onKeydown`])]),H(M(ax),null,{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[H(M(Q),{variant:`ghost`,size:`icon`,class:`size-8 shrink-0 text-muted-foreground hover:text-destructive`,"aria-label":`Remove alias`,onClick:t=>re(e)},{default:N(()=>[H(M(Td),{class:`size-3.5`})]),_:1},8,[`onClick`])]),_:2},1024),H(M(PC),null,{default:N(()=>[...n[23]||=[U(`Remove alias`,-1)]]),_:1})]),_:2},1024)]))),128)),E.value.length>0?(R(),z(`div`,Mj,[H(M(yb),{"model-value":``,"onUpdate:modelValue":ne},{default:N(()=>[H(M(VS),{class:`w-56 text-muted-foreground`},{default:N(()=>[V(`span`,Nj,[H(M(sd),{class:`size-3.5`}),n[24]||=U(` Add locale alias…`,-1)])]),_:1}),H(M(HS),null,{default:N(()=>[(R(!0),z(L,null,F(E.value,e=>(R(),B(M(WS),{key:e,value:e},{default:N(()=>[U(A(e),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1})])):W(``,!0)])])])):W(``,!0)],2))}}),Fj={class:`grid gap-1.5`},Ij={class:`flex flex-wrap gap-2`},Lj=[`aria-label`,`onClick`],Rj={key:0,class:`text-sm text-muted-foreground`},zj={class:`flex max-w-sm gap-2`},Bj={key:0,class:`flex items-center gap-1.5 text-xs text-destructive`},Vj=P({__name:`ScanListField`,props:{label:{},items:{},placeholder:{},mono:{type:Boolean},addLabel:{},validate:{type:Function}},emits:[`update:items`],setup(e,{emit:t}){let n=e,r=t,i=j(``),a=j(``);function o(){let e=i.value.trim();if(!e)return;if(n.items.includes(e)){a.value=`"${e}" is already listed`;return}let t=n.validate?.(e)??null;if(t){a.value=t;return}a.value=``,r(`update:items`,[...n.items,e]),i.value=``}function s(e){r(`update:items`,n.items.filter(t=>t!==e))}return(t,n)=>(R(),z(`div`,Fj,[H(M(yC),null,{default:N(()=>[U(A(e.label),1)]),_:1}),I(t.$slots,`help`),V(`div`,Ij,[(R(!0),z(L,null,F(e.items,t=>(R(),z(`span`,{key:t,class:k([`inline-flex items-center gap-1.5 rounded-lg border bg-accent px-2.5 py-1.5 text-sm`,e.mono&&`font-mono`])},[U(A(t)+` `,1),V(`button`,{type:`button`,class:`flex size-[18px] items-center justify-center rounded text-muted-foreground transition-colors hover:bg-destructive/10 hover:text-destructive`,"aria-label":`Remove ${t}`,onClick:e=>s(t)},[H(M(Ad),{class:`size-3`})],8,Lj)],2))),128)),e.items.length===0?(R(),z(`p`,Rj,`None — auto-detect.`)):W(``,!0)]),V(`div`,zj,[H(M(BS),{modelValue:i.value,"onUpdate:modelValue":n[0]||=e=>i.value=e,class:k(e.mono?`font-mono`:void 0),placeholder:e.placeholder,onKeydown:Zl(Yl(o,[`prevent`]),[`enter`]),onInput:n[1]||=e=>a.value=``},null,8,[`modelValue`,`class`,`placeholder`,`onKeydown`]),H(M(Q),{variant:`outline`,onClick:o},{default:N(()=>[H(M(sd),{class:`size-4`}),U(` `+A(e.addLabel??`Add`),1)]),_:1})]),a.value?(R(),z(`p`,Bj,[H(M(Ed),{class:`size-3.5`}),U(` `+A(a.value),1)])):W(``,!0)]))}}),Hj={key:0,class:`flex flex-1 items-center justify-center text-sm text-muted-foreground`},Uj={key:1,class:`flex min-h-0 flex-1 overflow-hidden`},Wj={class:`flex w-60 shrink-0 flex-col gap-1 overflow-y-auto border-r bg-muted p-3`},Gj=[`onClick`],Kj={class:`min-w-0 flex-1`},qj={class:`block text-[13px] font-[570] leading-tight`},Jj={class:`mt-0.5 block truncate text-[11px] opacity-70`},Yj={key:0,class:`size-2 shrink-0 rounded-full bg-primary ring-2 ring-primary/25`},Xj={key:1,class:`shrink-0 rounded border border-emerald-500/30 bg-emerald-500/10 px-1.5 py-0.5 font-mono text-[9px] font-semibold uppercase tracking-wide text-emerald-600 dark:text-emerald-400`},Zj=[`onClick`],Qj={class:`min-w-0 flex-1`},$j={class:`block text-[13px] font-[570] leading-tight`},eM={class:`mt-0.5 block truncate text-[11px] opacity-70`},tM={class:`relative flex min-w-0 flex-1 flex-col`},nM={class:`flex-1 overflow-y-auto px-8 pb-28 pt-7`},rM={class:`max-w-[680px]`},iM={class:`mb-6`},aM={class:`flex items-center gap-2.5 text-[21px] font-bold tracking-tight`},oM={key:0,class:`size-2 rounded-full bg-primary ring-2 ring-primary/25`},sM={key:0,class:`mt-1.5 text-sm text-muted-foreground`},cM={key:1,class:`mt-1.5 text-sm text-muted-foreground`},lM={key:2,class:`mt-1.5 text-sm text-muted-foreground`},uM={key:3,class:`mt-1.5 text-sm text-muted-foreground`},dM={key:4,class:`mt-1.5 text-sm text-muted-foreground`},fM={key:5,class:`mt-1.5 text-sm text-muted-foreground`},pM={key:6,class:`mt-1.5 text-sm text-muted-foreground`},mM={key:7,class:`mt-2 flex items-center gap-1.5 text-sm text-muted-foreground`},hM={key:0,class:`flex flex-col gap-5`},gM={class:`grid max-w-sm gap-1.5`},_M={key:0},vM={class:`grid gap-1.5`},yM={class:`ml-1.5 font-normal text-muted-foreground`},bM={class:`flex flex-wrap gap-2`},xM={key:0,class:`font-mono text-[10px] italic text-muted-foreground`},SM=[`aria-label`,`onClick`],CM={class:`mt-1 flex items-center gap-1.5 text-xs text-destructive`},wM={class:`grid max-w-sm gap-1.5`},TM={class:`flex gap-2`},EM={key:0,class:`flex items-center gap-1.5 text-xs text-muted-foreground`},DM={key:1,class:`flex flex-col gap-6`},OM={class:`flex items-center justify-between gap-4 rounded-lg border p-3.5`},kM={class:`flex items-start gap-2.5`},AM={class:`grid size-8 shrink-0 place-items-center rounded-md border border-primary/25 bg-primary/10 text-primary`},jM={class:`rounded-lg border p-3.5`},MM={class:`flex items-center justify-between gap-4`},NM={class:`flex items-start gap-2.5`},PM={class:`grid size-8 shrink-0 place-items-center rounded-md border border-amber-500/30 bg-amber-500/10 text-amber-600 dark:text-amber-400`},FM={key:0,class:`mt-3 border-t pt-3`},IM={class:`flex flex-wrap gap-2`},LM=[`aria-checked`,`onClick`],RM={class:`mt-2 flex items-center gap-1.5 text-xs text-amber-600 dark:text-amber-400`},zM={class:`mt-2 divide-y rounded-lg border`},BM={class:`flex items-center justify-between gap-4 p-3.5`},VM={class:`flex items-center gap-2`},HM={class:`flex items-center justify-between gap-4 p-3.5`},UM={class:`flex items-center gap-2 text-sm font-medium`},WM={class:`inline-flex items-center gap-1 rounded border border-border bg-muted px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground`},GM={class:`inline-flex shrink-0 items-center gap-1 rounded-md border border-primary/25 bg-primary/10 px-2 py-1 text-xs font-medium text-primary`},KM={class:`flex items-center justify-between gap-4 p-3.5`},qM={class:`mt-2 flex flex-col gap-2.5`},JM={key:0,class:`text-sm text-muted-foreground`},YM={key:2,class:`flex flex-col gap-4`},XM={class:`flex items-center gap-2 rounded-lg border p-3`},ZM={key:1,class:`flex-1 text-sm text-muted-foreground`},QM={class:`grid max-w-sm gap-4`},$M={class:`grid gap-1.5`},eN={class:`flex items-center gap-2`},tN={key:0,class:`flex items-center gap-1 text-xs leading-none text-emerald-600 dark:text-emerald-400`},nN={class:`text-xs text-muted-foreground`},rN={class:`grid gap-1.5`},iN={key:0,class:`text-xs text-muted-foreground`},aN=[`onClick`],oN={key:0},sN={key:0,class:`grid gap-1.5`},cN={key:1,class:`grid gap-1.5`},lN={key:0,class:`text-xs text-muted-foreground`},uN={key:1,class:`text-xs text-muted-foreground`},dN={class:`grid gap-1.5`},fN={class:`grid gap-1.5`},pN={class:`grid gap-1.5`},mN={class:`grid gap-1.5`},hN={class:`grid gap-1.5`},gN={class:`grid gap-1.5`},_N={key:2,class:`flex items-center gap-3`},vN={class:`grid gap-0.5`},yN={key:3,class:`grid gap-1.5`},bN={key:3,class:`flex flex-col gap-6`},xN={key:4,class:`flex flex-col gap-6`},SN={class:`mt-2 divide-y rounded-lg border`},CN={class:`min-w-0`},wN={class:`flex items-center gap-2 text-sm font-medium`},TN={class:`rounded border bg-muted px-1 py-0.5 font-mono text-[10px] text-muted-foreground`},EN={class:`mt-0.5 text-xs text-muted-foreground`},DN={key:5,class:`flex flex-col gap-4`},ON={class:`flex flex-wrap gap-2`},kN=[`aria-label`,`onClick`],AN={key:0,class:`text-sm text-muted-foreground`},jN={class:`grid max-w-sm gap-1.5`},MN={class:`flex gap-2`},NN={key:6,class:`flex flex-col gap-4`},PN={class:`grid max-w-sm gap-1.5`},FN={class:`flex items-center gap-2`},IN={key:0,class:`flex items-center gap-1 text-xs leading-none text-emerald-600 dark:text-emerald-400`},LN={class:`flex items-center gap-1.5 text-sm text-muted-foreground`},RN={class:`inline-grid h-5 min-w-[20px] shrink-0 place-items-center rounded-full bg-primary px-1.5 text-[11px] font-bold tabular-nums text-primary-foreground`},zN={class:`font-semibold`},BN={class:`relative`},VN={key:0,class:`absolute bottom-full left-1/2 z-50 mb-2.5 w-64 -translate-x-1/2 rounded-xl border bg-card p-3.5 shadow-lg`},HN={class:`mt-1 text-xs leading-relaxed text-muted-foreground`},UN={class:`mt-3 flex justify-end gap-2`},WN={role:`dialog`,"aria-modal":`true`,"aria-labelledby":`leave-warning-title`,class:`w-full max-w-md rounded-2xl border bg-card p-5 shadow-xl`},GN={id:`leave-warning-title`,class:`flex items-center gap-2 text-[15px] font-semibold`},KN={class:`mt-1.5 text-[13px] leading-relaxed text-muted-foreground`},qN={class:`font-medium text-foreground`},JN={class:`block`},YN={class:`mt-4 flex items-center gap-2`},XN={key:0,class:`fixed left-1/2 top-4 z-[80] flex -translate-x-1/2 items-center gap-2 rounded-[11px] bg-foreground px-4 py-2.5 text-[12.5px] font-medium text-background shadow-lg`},ZN=P({__name:`SettingsView`,setup(e){let t=[`languages`,`outputs`,`ai`,`scan`,`quality`,`dictionary`,`editor`],n=[`flutter-arb`,`laravel-php`,`vue-i18n-json`,`angular-xliff`,`rails-yaml`,`apple-strings`],r=[{value:`anthropic`,label:`Anthropic`},{value:`bedrock`,label:`AWS Bedrock`},{value:`claude-code`,label:`Claude Code`},{value:`ollama`,label:`Ollama`},{value:`openai`,label:`OpenAI`},{value:`openrouter`,label:`OpenRouter`}],i={anthropic:[`claude-opus-4-8`,`claude-sonnet-4-6`,`claude-haiku-4-5-20251001`],openai:[`gpt-4o-mini`,`gpt-4o`,`gpt-4.1`],bedrock:[`amazon.nova-pro-v1:0`,`anthropic.claude-3-5-sonnet-20241022-v2:0`,`meta.llama3-1-70b-instruct-v1:0`],openrouter:[`anthropic/claude-3.5-haiku`,`openai/gpt-4o-mini`,`google/gemini-2.0-flash-001`],ollama:[`translategemma:4b`,`translategemma:12b`,`qwen3.5:9b`],"claude-code":[`claude-opus-4-8`,`claude-sonnet-4-6`,`claude-haiku-4-5-20251001`]},a={anthropic:`Set ANTHROPIC_API_KEY in your environment (or a .env file).`,openai:`Set OPENAI_API_KEY in your environment (or a .env file).`,bedrock:`Uses your AWS credentials (env vars, AWS_PROFILE, or an instance/SSO role).`,openrouter:`Set OPENROUTER_API_KEY in your environment (or a .env file).`,ollama:`Runs locally — no API key needed. Set OLLAMA_API_KEY only for a secured/remote server.`,"claude-code":`Uses your local Claude Code session — no separate API key needed. Requires the claude CLI to be installed.`},o=j(null),s=j(null),c=Xt({sourceLocale:``,locales:[],outputs:[],indent:2,sortKeys:!0,finalNewline:!0,autoExport:!0,exportLocales:[],customWords:[],lintRules:{},lintIgnore:[],scanAccessors:[],scanPatterns:[],scanInclude:[],scanExclude:[],scanKeep:[]}),l=j(!1),u=j(!1),d=j(p()),f=j(!1);function p(){let e=Op().get(`section`)??``;return t.includes(e)?e:`languages`}function m(e){d.value=e,location.hash=`settings?section=${e}`}function h(){d.value=p()}let g=j(null),_=j(!1),v=null;function y(e){c.sourceLocale=e.sourceLocale,c.locales=[...e.locales],c.outputs=e.outputs.map(e=>({...e})),c.indent=e.indent,c.sortKeys=e.sortKeys,c.finalNewline=e.finalNewline,c.autoExport=e.autoExport,c.exportLocales=[...e.exportLocales],c.customWords=[...e.customWords],c.lintRules={...e.lintRules},c.lintIgnore=[...e.lintIgnore],c.scanAccessors=[...e.scanAccessors],c.scanPatterns=[...e.scanPatterns],c.scanInclude=[...e.scanInclude],c.scanExclude=[...e.scanExclude],c.scanKeep=[...e.scanKeep]}function b(){o.value={sourceLocale:c.sourceLocale,locales:[...c.locales],outputs:c.outputs.map(e=>({...e})),indent:c.indent,sortKeys:c.sortKeys,finalNewline:c.finalNewline,autoExport:c.autoExport,exportLocales:[...c.exportLocales],customWords:[...c.customWords],lintRules:{...c.lintRules},lintIgnore:[...c.lintIgnore],scanAccessors:[...c.scanAccessors],scanPatterns:[...c.scanPatterns],scanInclude:[...c.scanInclude],scanExclude:[...c.scanExclude],scanKeep:[...c.scanKeep]}}async function x(){let e=await Md();s.value=e.config,y(UA(e.config)),b(),await re(),l.value=!0}x();let S=j({}),C=j(null),w=j(``),T=Xt({provider:`anthropic`,model:``,endpoint:``,region:``,batchSize:25,concurrency:``,contextBatchSize:``,contextConcurrency:``,vision:!1,promptStyle:``,inputPricePerMTok:``,outputPricePerMTok:``}),ee=j(!1),E=null,te=null,ne=``;async function re(){let[e,t]=await Promise.all([cf(),uf()]);S.value=t.profiles,C.value=t.activeProfile,w.value=t.activeProfile??``,D(C.value?t.profiles[C.value]??e.ai:e.ai),ne=JSON.stringify(ie())}function D(e){T.provider=e.provider,T.model=e.model,T.endpoint=e.endpoint??``,T.region=e.region??``,T.batchSize=e.batchSize,T.concurrency=e.concurrency??``,T.contextBatchSize=e.contextBatchSize??``,T.contextConcurrency=e.contextConcurrency??``,T.vision=e.vision??!1,T.promptStyle=e.promptStyle??``,T.inputPricePerMTok=e.inputPricePerMTok??``,T.outputPricePerMTok=e.outputPricePerMTok??``,ne=JSON.stringify(ie())}function ie(){let e=String(T.endpoint).trim(),t=String(T.region).trim(),n=Number(T.batchSize),r=Number(T.concurrency),i=Number(T.contextBatchSize),a=Number(T.contextConcurrency),o=Number(T.inputPricePerMTok),s=Number(T.outputPricePerMTok);return{provider:T.provider.trim(),model:T.model.trim(),endpoint:e===``?null:e,region:t===``?null:t,batchSize:Number.isFinite(n)&&n>0?n:25,concurrency:Number.isFinite(r)&&r>0?r:void 0,contextBatchSize:Number.isFinite(i)&&i>0?i:void 0,contextConcurrency:Number.isFinite(a)&&a>0?a:void 0,vision:T.vision||void 0,promptStyle:T.promptStyle||void 0,inputPricePerMTok:T.inputPricePerMTok!==``&&Number.isFinite(o)&&o>=0?o:void 0,outputPricePerMTok:T.outputPricePerMTok!==``&&Number.isFinite(s)&&s>=0?s:void 0}}Dr(T,()=>{JSON.stringify(ie())!==ne&&(te&&clearTimeout(te),te=setTimeout(async()=>{let e=ie();try{C.value?(await df(C.value,e),S.value={...S.value,[C.value]:e}):await lf({ai:e}),ne=JSON.stringify(e),ee.value=!0,E&&clearTimeout(E),E=setTimeout(()=>{ee.value=!1},1700)}catch(e){$.error(e.message)}},500))},{deep:!0});let ae=[`languages`,`outputs`,`scan`,`quality`,`dictionary`],oe=[`ai`,`editor`];function se(e){if(!o.value)return!0;let t=c,n=o.value;return e===`languages`?JSON.stringify(t.locales)===JSON.stringify(n.locales)&&t.sourceLocale===n.sourceLocale:e===`outputs`?JSON.stringify(t.outputs)===JSON.stringify(n.outputs)&&String(t.indent)===String(n.indent)&&t.finalNewline===n.finalNewline&&t.autoExport===n.autoExport&&JSON.stringify(t.exportLocales)===JSON.stringify(n.exportLocales):e===`scan`?JSON.stringify(t.scanAccessors)===JSON.stringify(n.scanAccessors)&&JSON.stringify(t.scanPatterns)===JSON.stringify(n.scanPatterns)&&JSON.stringify(t.scanInclude)===JSON.stringify(n.scanInclude)&&JSON.stringify(t.scanExclude)===JSON.stringify(n.scanExclude)&&JSON.stringify(t.scanKeep)===JSON.stringify(n.scanKeep):e===`quality`?JSON.stringify(t.lintRules)===JSON.stringify(n.lintRules)&&JSON.stringify(t.lintIgnore)===JSON.stringify(n.lintIgnore):e===`dictionary`?JSON.stringify(t.customWords)===JSON.stringify(n.customWords):!0}let O=K(()=>ae.filter(e=>!se(e))),ce=K(()=>O.value.length),le=K(()=>O.value.map(e=>me[e].title));Dr(ce,e=>{GA.value=e},{immediate:!0}),Xi(()=>{GA.value=0});let ue=K(()=>sT.find(e=>e.id===uT.value)?.label??`VS Code`),de=j(!1),fe=null;function pe(e){dT(e),de.value=!0,fe&&clearTimeout(fe),fe=setTimeout(()=>{de.value=!1},1700)}let me={languages:{title:`Languages`},outputs:{title:`Export targets`},ai:{title:`AI`},scan:{title:`Scan`},quality:{title:`Quality checks`},dictionary:{title:`Custom dictionary`},editor:{title:`Editor`}},he=[{id:`languages`,title:`Languages`},{id:`outputs`,title:`Export targets`},{id:`scan`,title:`Scan`},{id:`quality`,title:`Quality checks`},{id:`dictionary`,title:`Custom dictionary`}];function ge(e){if(e===`languages`)return`${c.locales.length} language${c.locales.length===1?``:`s`}`;if(e===`outputs`)return`${c.outputs.length} target${c.outputs.length===1?``:`s`}${c.autoExport?` · auto`:``}${c.exportLocales.length?` · limited`:``}`;if(e===`ai`)return C.value?`${C.value} · ${T.model}`:`${T.provider} · ${T.model}`;if(e===`scan`){let e=c.scanAccessors.length,t=c.scanPatterns.length,n=c.scanKeep.length,r=[e&&`${e} accessor${e===1?``:`s`}`,t&&`${t} pattern${t===1?``:`s`}`,n&&`${n} kept`].filter(Boolean);return r.length?r.join(` · `):`Auto-detect`}if(e===`quality`){let e=Object.entries(c.lintRules).filter(([,e])=>e===`off`).length,t=Object.entries(c.lintRules).filter(([e,t])=>VA[e]!==void 0&&t!==VA[e]).length;return!t&&!c.lintIgnore.length?`Defaults`:[t&&`${t} adjusted${e?` (${e} off)`:``}`,c.lintIgnore.length&&`${c.lintIgnore.length} ignored`].filter(Boolean).join(` · `)}return e===`dictionary`?c.customWords.length?`${c.customWords.length} word${c.customWords.length===1?``:`s`}`:`No custom words`:``}async function _e(){if(ce.value!==0){u.value=!0;try{await af(WA(c,s.value??void 0)),b(),_.value=!0,v&&clearTimeout(v),v=setTimeout(()=>{_.value=!1},1700)}catch(e){$.error(e.message)}finally{u.value=!1}}}function ve(){o.value&&y(o.value),f.value=!1}function ye(e){return e===`settings`||ce.value===0?!0:(g.value=e,!1)}function be(e){g.value=null,Ep(e)}function xe(){g.value=null}function Se(){let e=g.value;ve(),e&&be(e)}async function Ce(){let e=g.value;await _e(),e&&ce.value===0&&be(e)}function we(e){ce.value>0&&(e.preventDefault(),e.returnValue=``)}function Te(e){if(e.key===`Escape`&&g.value){e.preventDefault(),xe();return}(e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===`s`&&(e.preventDefault(),_e())}Ki(()=>{window.addEventListener(`keydown`,Te),window.addEventListener(`beforeunload`,we),window.addEventListener(`hashchange`,h),Tp(ye)}),Xi(()=>{window.removeEventListener(`keydown`,Te),window.removeEventListener(`beforeunload`,we),window.removeEventListener(`hashchange`,h),Tp(null)});let Ee=j(``);function De(){let e=Ee.value.trim().toLowerCase();if(e){if(c.locales.some(t=>t.toLowerCase()===e)){$.error(`${e} is already in the list`);return}c.locales.push(e),Ee.value=``}}function Oe(e){e!==c.sourceLocale&&(c.locales=c.locales.filter(t=>t!==e))}function ke(){c.outputs.push({adapter:`flutter-arb`,path:``,emptyAs:`omit`,style:`nested`,indent:null,finalNewline:null,includeLocale:!0,localeAliases:{}})}function Ae(e){c.outputs.splice(e,1)}let je=K(()=>c.exportLocales.length>0);function Me(e){c.exportLocales=e?[...c.locales]:[]}function Ne(e){c.exportLocales=c.exportLocales.includes(e)?c.exportLocales.filter(t=>t!==e):[...c.exportLocales,e]}let Pe=K(()=>T.provider===`bedrock`),Fe=K(()=>T.provider===`ollama`),Ie=K(()=>a[T.provider]??``),Le=K(()=>i[T.provider]??[]),Re=K(()=>Le.value[0]??``);async function ze(e){C.value=e,w.value=e??``,await pf(e),D(e?S.value[e]??ie():(await cf()).ai)}async function Be(){let e=`Profile ${Object.keys(S.value).length+1}`,t=ie();await df(e,t),S.value={...S.value,[e]:t},await ze(e)}async function Ve(e,t){let n=t.trim();if(!n||n===e){w.value=e;return}if(n in S.value){$.error(`A profile with that name already exists`),w.value=e;return}let r=S.value[e];await df(n,r),await ff(e);let i={...S.value};delete i[e],i[n]=r,S.value=i,await ze(n)}async function He(){if(!C.value)return;let e=C.value;await ff(e);let t={...S.value};delete t[e],S.value=t,await ze(null)}let Ue=j(``);function We(){let e=Ue.value.trim();if(e){if(c.customWords.includes(e)){$.error(`${e} is already in the dictionary`);return}c.customWords=[...c.customWords,e].sort(),Ue.value=``}}function Ge(e){c.customWords=c.customWords.filter(t=>t!==e)}function Ke(e){try{return new RegExp(e),null}catch(e){return`Invalid regex: ${e.message}`}}return(e,t)=>(R(),z(L,null,[l.value?(R(),z(`div`,Uj,[V(`nav`,Wj,[t[30]||=V(`p`,{class:`px-2.5 pb-2 pt-1 text-[10.5px] font-bold uppercase tracking-widest text-muted-foreground`},` Settings `,-1),(R(),z(L,null,F(he,e=>V(`button`,{key:e.id,type:`button`,class:k([`flex w-full items-center gap-2.5 rounded-[10px] border px-2.5 py-2.5 text-left transition-colors`,d.value===e.id?`border-border bg-card text-foreground shadow-sm`:`border-transparent bg-transparent text-muted-foreground hover:bg-accent hover:text-foreground`]),onClick:t=>m(e.id)},[V(`span`,{class:k([`flex size-[30px] shrink-0 items-center justify-center rounded-lg border`,d.value===e.id?`border-primary/30 bg-primary/10 text-primary`:`border-border/60 bg-background text-muted-foreground`])},[e.id===`languages`?(R(),B(M(Ju),{key:0,class:`size-4`})):e.id===`outputs`?(R(),B(M(Wu),{key:1,class:`size-4`})):e.id===`ai`?(R(),B(M(Lu),{key:2,class:`size-4`})):e.id===`scan`?(R(),B(M(fd),{key:3,class:`size-4`})):e.id===`quality`?(R(),B(M(gd),{key:4,class:`size-4`})):(R(),B(M(wu),{key:5,class:`size-4`}))],2),V(`span`,Kj,[V(`span`,qj,A(e.title),1),V(`span`,Jj,A(ge(e.id)),1)]),!e.autosave&&O.value.includes(e.id)?(R(),z(`span`,Yj)):W(``,!0),e.autosave?(R(),z(`span`,Xj,`Auto`)):W(``,!0)],10,Gj)),64)),t[31]||=V(`p`,{class:`mt-4 border-t px-2.5 pb-2 pt-3 text-[10.5px] font-bold uppercase tracking-widest text-muted-foreground`},` Local (not committed) `,-1),(R(),z(L,null,F(oe,e=>V(`button`,{key:e,type:`button`,class:k([`flex w-full items-center gap-2.5 rounded-[10px] border px-2.5 py-2.5 text-left transition-colors`,d.value===e?`border-border bg-card text-foreground shadow-sm`:`border-transparent bg-transparent text-muted-foreground hover:bg-accent hover:text-foreground`]),onClick:t=>m(e)},[V(`span`,{class:k([`flex size-[30px] shrink-0 items-center justify-center rounded-lg border`,d.value===e?`border-primary/30 bg-primary/10 text-primary`:`border-border/60 bg-background text-muted-foreground`])},[e===`ai`?(R(),B(M(Lu),{key:0,class:`size-4`})):(R(),B(M(Iu),{key:1,class:`size-4`}))],2),V(`span`,Qj,[V(`span`,$j,A(me[e].title),1),V(`span`,eM,A(e===`editor`?ue.value:ge(e)),1)])],10,Zj)),64))]),V(`div`,tM,[V(`div`,nM,[V(`div`,rM,[V(`div`,iM,[V(`h2`,aM,[U(A(me[d.value].title)+` `,1),O.value.includes(d.value)?(R(),z(`span`,oM)):W(``,!0)]),d.value===`languages`?(R(),z(`p`,sM,` The source language is translated into every other language. `)):d.value===`outputs`?(R(),z(`p`,cM,[...t[32]||=[U(` Where compiled translation files are written. Use `,-1),V(`code`,{class:`rounded border bg-muted px-1 py-0.5 font-mono text-xs`},`{locale}`,-1),U(` and `,-1),V(`code`,{class:`rounded border bg-muted px-1 py-0.5 font-mono text-xs`},`{namespace}`,-1),U(` placeholders in the path. `,-1)]])):d.value===`ai`?(R(),z(`p`,lM,[...t[33]||=[U(` The provider and model used for machine translation. Stored locally in `,-1),V(`code`,{class:`rounded border bg-muted px-1 py-0.5 font-mono text-xs`},`.glotfile/`,-1),U(`, not shared with your team. `,-1)]])):d.value===`scan`?(R(),z(`p`,uM,` How the usage scanner finds where keys are referenced in code. Auto-detection handles most projects — these settings are for the cases it can't infer. `)):d.value===`quality`?(R(),z(`p`,dM,[...t[34]||=[U(` Which checks run and how severe they are — in the editor, the Analytics release gate, and `,-1),V(`code`,{class:`rounded border bg-muted px-1 py-0.5 font-mono text-xs`},`glotfile lint`,-1),U(` alike. Errors block a release; warnings don't. `,-1)]])):d.value===`dictionary`?(R(),z(`p`,fM,` Words the spell checker should never flag. Added here or from a cell's warning. `)):d.value===`editor`?(R(),z(`p`,pM,[...t[35]||=[U(` Which editor opens when you click a key's code usage. Stored locally in `,-1),V(`code`,{class:`rounded border bg-muted px-1 py-0.5 font-mono text-xs`},`.glotfile/`,-1),U(`, not shared with your team. `,-1)]])):W(``,!0),oe.includes(d.value)?(R(),z(`p`,mM,[H(M(jd),{class:`size-3.5`}),t[36]||=U(` Changes here save automatically. `,-1)])):W(``,!0)]),d.value===`languages`?(R(),z(`div`,hM,[V(`div`,gM,[H(M(yC),{for:`source-locale`},{default:N(()=>[...t[37]||=[U(`Source language`,-1)]]),_:1}),H(M(yb),{modelValue:c.sourceLocale,"onUpdate:modelValue":t[0]||=e=>c.sourceLocale=e},{default:N(()=>[H(M(VS),{id:`source-locale`},{default:N(()=>[c.sourceLocale?(R(),z(`span`,_M,[H(Ew,{code:c.sourceLocale,"show-name":``,size:14},null,8,[`code`])])):(R(),B(M(Bb),{key:1,placeholder:`Select source`}))]),_:1}),H(M(HS),null,{default:N(()=>[(R(!0),z(L,null,F(c.locales,e=>(R(),B(M(WS),{key:e,value:e},{default:N(()=>[H(Ew,{code:e,"show-name":``,size:14},null,8,[`code`])]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`])]),V(`div`,vM,[H(M(yC),null,{default:N(()=>[t[38]||=U(` Languages `,-1),V(`span`,yM,A(c.locales.length),1)]),_:1}),V(`div`,bM,[(R(!0),z(L,null,F(c.locales,e=>(R(),z(`span`,{key:e,class:k([`inline-flex items-center gap-1.5 rounded-[9px] border px-2.5 py-1.5 text-sm transition-colors`,e===c.sourceLocale?`border-border/60 bg-accent`:`border-border bg-background`])},[H(Ew,{code:e,"show-name":``,size:14},null,8,[`code`]),e===c.sourceLocale?(R(),z(`span`,xM,`source`)):(R(),z(`button`,{key:1,type:`button`,class:`ml-0.5 flex size-[18px] items-center justify-center rounded text-muted-foreground transition-colors hover:bg-destructive/10 hover:text-destructive`,"aria-label":`Remove ${e}`,onClick:t=>Oe(e)},[H(M(Ad),{class:`size-3`})],8,SM))],2))),128))]),V(`p`,CM,[H(M(Ed),{class:`size-3.5`}),t[39]||=U(` Removing a language deletes its translations. `,-1)])]),V(`div`,wM,[H(M(yC),{for:`add-locale`},{default:N(()=>[...t[40]||=[U(`Add language`,-1)]]),_:1}),V(`div`,TM,[H(M(BS),{id:`add-locale`,modelValue:Ee.value,"onUpdate:modelValue":t[1]||=e=>Ee.value=e,class:`font-mono`,placeholder:`es`,onKeydown:Zl(Yl(De,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),H(M(Q),{variant:`outline`,onClick:De},{default:N(()=>[H(M(sd),{class:`size-4`}),t[41]||=U(` Add`,-1)]),_:1})]),Ee.value.trim()?(R(),z(`p`,EM,[t[42]||=U(` Preview: `,-1),H(Ew,{code:Ee.value.trim(),"show-name":``,size:14},null,8,[`code`])])):W(``,!0)])])):d.value===`outputs`?(R(),z(`div`,DM,[V(`div`,OM,[V(`div`,kM,[V(`span`,AM,[H(M(jd),{class:`size-4`})]),t[43]||=V(`div`,null,[V(`div`,{class:`text-sm font-medium`},`Auto-export on save`),V(`div`,{class:`mt-0.5 text-xs text-muted-foreground`},`Write locale files to your project automatically as you edit, so your running app picks them up immediately.`)],-1)]),H(M(XS),{modelValue:c.autoExport,"onUpdate:modelValue":t[2]||=e=>c.autoExport=e},null,8,[`modelValue`])]),V(`div`,jM,[V(`div`,MM,[V(`div`,NM,[V(`span`,PM,[H(M(Qu),{class:`size-4`})]),t[44]||=V(`div`,null,[V(`div`,{class:`text-sm font-medium`},`Limit export languages`),V(`div`,{class:`mt-0.5 text-xs text-muted-foreground`},`Only the selected languages are written to disk, including auto-export. Off exports all languages.`)],-1)]),H(M(XS),{"model-value":je.value,"onUpdate:modelValue":Me},null,8,[`model-value`])]),je.value?(R(),z(`div`,FM,[V(`div`,IM,[(R(!0),z(L,null,F(c.locales,e=>(R(),z(`button`,{key:e,type:`button`,role:`checkbox`,"aria-checked":c.exportLocales.includes(e),class:k([`inline-flex items-center gap-1.5 rounded-[9px] border px-2.5 py-1.5 text-sm transition-colors`,c.exportLocales.includes(e)?`border-primary/40 bg-primary/10`:`border-border bg-background text-muted-foreground hover:bg-accent`]),onClick:t=>Ne(e)},[V(`span`,{class:k([`flex size-4 items-center justify-center rounded border transition-colors`,c.exportLocales.includes(e)?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground hover:border-primary hover:bg-primary/10`])},[c.exportLocales.includes(e)?(R(),B(M(Ou),{key:0,class:`size-3`})):W(``,!0)],2),H(Ew,{code:e,"show-name":``,size:14},null,8,[`code`])],10,LM))),128))]),V(`p`,RM,[H(M(Ed),{class:`size-3.5`}),U(` Export limited to `+A(c.exportLocales.length)+` of `+A(c.locales.length)+` languages. `,1)])])):W(``,!0)]),V(`div`,null,[t[52]||=V(`div`,{class:`text-xs font-semibold uppercase tracking-wide text-muted-foreground`},`Format defaults`,-1),t[53]||=V(`p`,{class:`mt-1 text-xs text-muted-foreground`},`Export targets inherit these. Indent and Final newline can be overridden per target.`,-1),V(`div`,zM,[V(`div`,BM,[t[46]||=V(`div`,null,[V(`div`,{class:`text-sm font-medium`},`Indent`),V(`div`,{class:`mt-0.5 text-xs text-muted-foreground`},`Spaces per nesting level.`)],-1),V(`div`,VM,[H(M(BS),{modelValue:c.indent,"onUpdate:modelValue":t[3]||=e=>c.indent=e,modelModifiers:{number:!0},type:`number`,min:`0`,max:`8`,class:`w-20`},null,8,[`modelValue`]),t[45]||=V(`span`,{class:`text-xs text-muted-foreground`},`spaces`,-1)])]),V(`div`,HM,[V(`div`,null,[V(`div`,UM,[t[48]||=U(` Sort keys `,-1),V(`span`,WM,[H(M(td),{class:`size-2.5`}),t[47]||=U(` Locked`,-1)])]),t[49]||=V(`div`,{class:`mt-0.5 text-xs text-muted-foreground`},`Keys are always written alphabetically so output is deterministic and diffs stay clean.`,-1)]),V(`span`,GM,[H(M(Ou),{class:`size-3`}),t[50]||=U(` Always alphabetical`,-1)])]),V(`div`,KM,[t[51]||=V(`div`,null,[V(`div`,{class:`text-sm font-medium`},`Final newline`),V(`div`,{class:`mt-0.5 text-xs text-muted-foreground`},`Append a trailing newline at the end of every file.`)],-1),H(M(XS),{modelValue:c.finalNewline,"onUpdate:modelValue":t[4]||=e=>c.finalNewline=e},null,8,[`modelValue`])])])]),V(`div`,null,[t[55]||=V(`div`,{class:`text-xs font-semibold uppercase tracking-wide text-muted-foreground`},`Export targets`,-1),V(`div`,qM,[(R(!0),z(L,null,F(c.outputs,(e,t)=>(R(),B(Pj,{key:t,output:e,"format-indent":Number(c.indent)||0,"format-final-newline":c.finalNewline,locales:c.locales,adapters:n,"onUpdate:output":e=>c.outputs.splice(t,1,e),onRemove:e=>Ae(t)},null,8,[`output`,`format-indent`,`format-final-newline`,`locales`,`onUpdate:output`,`onRemove`]))),128)),c.outputs.length===0?(R(),z(`p`,JM,`No export targets configured.`)):W(``,!0),V(`div`,null,[H(M(Q),{variant:`ghost`,size:`sm`,class:`mt-1 pl-2`,onClick:ke},{default:N(()=>[H(M(sd),{class:`size-4`}),t[54]||=U(` Add export target `,-1)]),_:1})])])])])):d.value===`ai`?(R(),z(`div`,YM,[V(`div`,XM,[H(M(yb),{"model-value":C.value??`__none__`,"onUpdate:modelValue":t[5]||=e=>ze(e===`__none__`?null:e)},{default:N(()=>[H(M(VS),{class:`w-44`},{default:N(()=>[H(M(Bb),{placeholder:`No profile`})]),_:1}),H(M(HS),null,{default:N(()=>[H(M(WS),{value:`__none__`},{default:N(()=>[...t[56]||=[U(`No profile`,-1)]]),_:1}),(R(!0),z(L,null,F(Object.keys(S.value),e=>(R(),B(M(WS),{key:e,value:e},{default:N(()=>[U(A(e),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`model-value`]),C.value?(R(),B(M(BS),{key:0,modelValue:w.value,"onUpdate:modelValue":t[6]||=e=>w.value=e,class:`flex-1 font-medium`,placeholder:`Profile name`,onBlur:t[7]||=e=>Ve(C.value,w.value),onKeydown:t[8]||=Zl(Yl(e=>Ve(C.value,w.value),[`prevent`]),[`enter`])},null,8,[`modelValue`])):(R(),z(`span`,ZM,`Using default settings`)),H(M(Q),{variant:`outline`,size:`sm`,class:`shrink-0`,onClick:Be},{default:N(()=>[H(M(sd),{class:`size-4`}),t[57]||=U(` New `,-1)]),_:1}),H(M(Q),{variant:`ghost`,size:`sm`,class:`shrink-0 text-destructive hover:bg-destructive/10 hover:text-destructive`,disabled:!C.value,onClick:He},{default:N(()=>[H(M(Ad),{class:`size-4`})]),_:1},8,[`disabled`])]),V(`div`,QM,[V(`div`,$M,[V(`div`,eN,[H(M(yC),{for:`ai-provider`},{default:N(()=>[...t[58]||=[U(`Provider`,-1)]]),_:1}),H(gc,{"enter-active-class":`transition duration-150 ease-out`,"enter-from-class":`opacity-0 translate-y-0.5`,"enter-to-class":`opacity-100 translate-y-0`,"leave-active-class":`transition duration-300 ease-in`,"leave-from-class":`opacity-100 translate-y-0`,"leave-to-class":`opacity-0`},{default:N(()=>[ee.value?(R(),z(`span`,tN,[H(M(Ou),{class:`size-3`}),t[59]||=U(` Saved `,-1)])):W(``,!0)]),_:1})]),H(M(yb),{modelValue:T.provider,"onUpdate:modelValue":t[9]||=e=>T.provider=e},{default:N(()=>[H(M(VS),{id:`ai-provider`},{default:N(()=>[H(M(Bb),{placeholder:`Select provider`})]),_:1}),H(M(HS),null,{default:N(()=>[(R(),z(L,null,F(r,e=>H(M(WS),{key:e.value,value:e.value},{default:N(()=>[U(A(e.label),1)]),_:2},1032,[`value`])),64))]),_:1})]),_:1},8,[`modelValue`]),V(`p`,nN,A(Ie.value),1)]),V(`div`,rN,[H(M(yC),{for:`ai-model`},{default:N(()=>[...t[60]||=[U(`Model`,-1)]]),_:1}),H(M(BS),{id:`ai-model`,modelValue:T.model,"onUpdate:modelValue":t[10]||=e=>T.model=e,class:`font-mono`,placeholder:Re.value},null,8,[`modelValue`,`placeholder`]),Le.value.length?(R(),z(`p`,iN,[t[61]||=U(` Examples: `,-1),(R(!0),z(L,null,F(Le.value,(e,t)=>(R(),z(L,{key:e},[V(`button`,{type:`button`,class:`font-mono underline-offset-2 hover:text-foreground hover:underline`,onClick:t=>T.model=e},A(e),9,aN),t<Le.value.length-1?(R(),z(`span`,oN,` · `)):W(``,!0)],64))),128))])):W(``,!0)]),Pe.value?(R(),z(`div`,sN,[H(M(yC),{for:`ai-region`},{default:N(()=>[...t[62]||=[U(`Region`,-1)]]),_:1}),H(M(BS),{id:`ai-region`,modelValue:T.region,"onUpdate:modelValue":t[11]||=e=>T.region=e,class:`font-mono`,placeholder:`us-east-1`},null,8,[`modelValue`]),t[63]||=V(`p`,{class:`text-xs text-muted-foreground`},[U(`AWS region for Bedrock. Falls back to `),V(`code`,{class:`font-mono`},`AWS_REGION`),U(` if empty.`)],-1)])):(R(),z(`div`,cN,[H(M(yC),{for:`ai-endpoint`},{default:N(()=>[...t[64]||=[U(`Endpoint`,-1)]]),_:1}),H(M(BS),{id:`ai-endpoint`,modelValue:T.endpoint,"onUpdate:modelValue":t[12]||=e=>T.endpoint=e,class:`font-mono`,placeholder:Fe.value?`http://localhost:11434/v1`:`Default (leave empty)`},null,8,[`modelValue`,`placeholder`]),Fe.value?(R(),z(`p`,lN,[...t[65]||=[U(`Defaults to the local Ollama server. Override only for a remote instance — include the `,-1),V(`code`,{class:`font-mono`},`/v1`,-1),U(` suffix.`,-1)]])):(R(),z(`p`,uN,`Optional — for an in-region or self-hosted / OpenAI-compatible gateway.`))])),t[83]||=V(`div`,{class:`text-xs font-semibold uppercase tracking-wide text-muted-foreground`},`Translation`,-1),V(`div`,dN,[H(M(yC),{for:`ai-batch`},{default:N(()=>[...t[66]||=[U(`Batch size`,-1)]]),_:1}),H(M(BS),{id:`ai-batch`,modelValue:T.batchSize,"onUpdate:modelValue":t[13]||=e=>T.batchSize=e,modelModifiers:{number:!0},type:`number`,min:`1`,class:`w-28`},null,8,[`modelValue`]),t[67]||=V(`p`,{class:`text-xs text-muted-foreground`},`Strings sent per request.`,-1)]),V(`div`,fN,[H(M(yC),{for:`ai-concurrency`},{default:N(()=>[...t[68]||=[U(`Parallel locales`,-1)]]),_:1}),H(M(BS),{id:`ai-concurrency`,modelValue:T.concurrency,"onUpdate:modelValue":t[14]||=e=>T.concurrency=e,modelModifiers:{number:!0},type:`number`,min:`1`,placeholder:`3`,class:`w-28`},null,8,[`modelValue`]),t[69]||=V(`p`,{class:`text-xs text-muted-foreground`},`How many locales to translate at once.`,-1)]),V(`div`,pN,[H(M(yC),{for:`ai-price-in`},{default:N(()=>[...t[70]||=[U(`Input price ($ / 1M tokens)`,-1)]]),_:1}),H(M(BS),{id:`ai-price-in`,modelValue:T.inputPricePerMTok,"onUpdate:modelValue":t[15]||=e=>T.inputPricePerMTok=e,modelModifiers:{number:!0},type:`number`,min:`0`,step:`0.01`,placeholder:`Auto for Claude models`,class:`w-44`},null,8,[`modelValue`])]),V(`div`,mN,[H(M(yC),{for:`ai-price-out`},{default:N(()=>[...t[71]||=[U(`Output price ($ / 1M tokens)`,-1)]]),_:1}),H(M(BS),{id:`ai-price-out`,modelValue:T.outputPricePerMTok,"onUpdate:modelValue":t[16]||=e=>T.outputPricePerMTok=e,modelModifiers:{number:!0},type:`number`,min:`0`,step:`0.01`,placeholder:`Auto for Claude models`,class:`w-44`},null,8,[`modelValue`]),t[72]||=V(`p`,{class:`text-xs text-muted-foreground`},`Used for the pre-translate cost estimate. Set both to override the built-in Claude prices or to price other models.`,-1)]),t[84]||=V(`div`,{class:`text-xs font-semibold uppercase tracking-wide text-muted-foreground`},`Context build`,-1),V(`div`,hN,[H(M(yC),{for:`ai-context-batch`},{default:N(()=>[...t[73]||=[U(`Batch size`,-1)]]),_:1}),H(M(BS),{id:`ai-context-batch`,modelValue:T.contextBatchSize,"onUpdate:modelValue":t[17]||=e=>T.contextBatchSize=e,modelModifiers:{number:!0},type:`number`,min:`1`,placeholder:String(T.batchSize||25),class:`w-28`},null,8,[`modelValue`,`placeholder`]),t[74]||=V(`p`,{class:`text-xs text-muted-foreground`},`Keys per request. Defaults to translation batch size.`,-1)]),V(`div`,gN,[H(M(yC),{for:`ai-context-concurrency`},{default:N(()=>[...t[75]||=[U(`Concurrency`,-1)]]),_:1}),H(M(BS),{id:`ai-context-concurrency`,modelValue:T.contextConcurrency,"onUpdate:modelValue":t[18]||=e=>T.contextConcurrency=e,modelModifiers:{number:!0},type:`number`,min:`1`,placeholder:String(T.concurrency||3),class:`w-28`},null,8,[`modelValue`,`placeholder`]),t[76]||=V(`p`,{class:`text-xs text-muted-foreground`},`Parallel context requests. Defaults to parallel locales.`,-1)]),Fe.value?(R(),z(`div`,_N,[H(M(XS),{id:`ai-vision`,modelValue:T.vision,"onUpdate:modelValue":t[19]||=e=>T.vision=e},null,8,[`modelValue`]),V(`div`,vN,[H(M(yC),{for:`ai-vision`},{default:N(()=>[...t[77]||=[U(`Vision`,-1)]]),_:1}),t[78]||=V(`p`,{class:`text-xs text-muted-foreground`},`Enable for models that support image input (e.g. translategemma, llava).`,-1)])])):W(``,!0),Fe.value?(R(),z(`div`,yN,[H(M(yC),{for:`ai-prompt-style`},{default:N(()=>[...t[79]||=[U(`Prompt style`,-1)]]),_:1}),H(M(yb),{"model-value":T.promptStyle||`__default__`,"onUpdate:modelValue":t[20]||=e=>T.promptStyle=e===`__default__`?``:e},{default:N(()=>[H(M(VS),{id:`ai-prompt-style`},{default:N(()=>[H(M(Bb),{placeholder:`Default`})]),_:1}),H(M(HS),null,{default:N(()=>[H(M(WS),{value:`__default__`},{default:N(()=>[...t[80]||=[U(`Default`,-1)]]),_:1}),H(M(WS),{value:`translategemma`},{default:N(()=>[...t[81]||=[U(`TranslateGemma`,-1)]]),_:1})]),_:1})]),_:1},8,[`model-value`]),t[82]||=V(`p`,{class:`text-xs text-muted-foreground`},`TranslateGemma uses a role-based system prompt and plain-text output instead of JSON batching.`,-1)])):W(``,!0)])])):d.value===`scan`?(R(),z(`div`,bN,[H(Vj,{label:`Flutter accessors`,items:c.scanAccessors,mono:``,placeholder:`translations`,"onUpdate:items":t[21]||=e=>c.scanAccessors=e},{help:N(()=>[...t[85]||=[V(`p`,{class:`text-xs text-muted-foreground`},[U(` Accessors assigned from `),V(`code`,{class:`rounded border bg-muted px-1 py-0.5 font-mono text-[11px]`},`AppLocalizations.of(...)`),U(` are detected automatically. Add a name only if yours isn't found. `)],-1)]]),_:1},8,[`items`]),H(Vj,{label:`Custom patterns`,items:c.scanPatterns,mono:``,placeholder:`LocaleKeys\\.(\\w+)\\.tr\\(\\)`,validate:Ke,"onUpdate:items":t[22]||=e=>c.scanPatterns=e},{help:N(()=>[...t[86]||=[V(`p`,{class:`text-xs text-muted-foreground`},` Regex applied to every scanned file — capture group 1 is the key. `,-1)]]),_:1},8,[`items`]),H(Vj,{label:`Include globs`,items:c.scanInclude,mono:``,placeholder:`lib/**`,"onUpdate:items":t[23]||=e=>c.scanInclude=e},{help:N(()=>[...t[87]||=[V(`p`,{class:`text-xs text-muted-foreground`},`Limit the scan to these globs. Empty scans everything.`,-1)]]),_:1},8,[`items`]),H(Vj,{label:`Exclude globs`,items:c.scanExclude,mono:``,placeholder:`**/*.g.dart`,"onUpdate:items":t[24]||=e=>c.scanExclude=e},{help:N(()=>[...t[88]||=[V(`p`,{class:`text-xs text-muted-foreground`},`Skipped on top of always-excluded dirs (node_modules, build, …).`,-1)]]),_:1},8,[`items`]),H(Vj,{label:`Keep keys`,items:c.scanKeep,mono:``,placeholder:`validation.*`,"onUpdate:items":t[25]||=e=>c.scanKeep=e},{help:N(()=>[...t[89]||=[V(`p`,{class:`text-xs text-muted-foreground`},[U(` Key globs always treated as used — for keys consumed by code the scan can't see (framework internals, vendored packages). They never show as unused and are safe from `),V(`code`,{class:`rounded border bg-muted px-1 py-0.5 font-mono text-[11px]`},`prune --unused`),U(`. `)],-1)]]),_:1},8,[`items`])])):d.value===`quality`?(R(),z(`div`,xN,[V(`div`,null,[t[91]||=V(`div`,{class:`text-xs font-semibold uppercase tracking-wide text-muted-foreground`},`Rules`,-1),V(`div`,SN,[(R(!0),z(L,null,F(M(BA),e=>(R(),z(`div`,{key:e.id,class:`flex items-center justify-between gap-4 p-3.5`},[V(`div`,CN,[V(`div`,wN,[U(A(e.label)+` `,1),V(`code`,TN,A(e.id),1)]),V(`div`,EN,A(e.description),1)]),H(M(yb),{"model-value":c.lintRules[e.id]??e.default,"onUpdate:modelValue":t=>c.lintRules={...c.lintRules,[e.id]:t}},{default:N(()=>[H(M(VS),{class:k([`w-32 shrink-0`,c.lintRules[e.id]===`off`?`text-muted-foreground`:``])},{default:N(()=>[H(M(Bb))]),_:1},8,[`class`]),H(M(HS),null,{default:N(()=>[H(M(WS),{value:`error`},{default:N(()=>[U(`Error`+A(e.default===`error`?` ·`:``),1)]),_:2},1024),H(M(WS),{value:`warn`},{default:N(()=>[U(`Warning`+A(e.default===`warn`?` ·`:``),1)]),_:2},1024),H(M(WS),{value:`off`},{default:N(()=>[...t[90]||=[U(`Off`,-1)]]),_:1})]),_:2},1024)]),_:2},1032,[`model-value`,`onUpdate:modelValue`])]))),128))]),t[92]||=V(`p`,{class:`mt-2 text-xs text-muted-foreground`},`· marks the built-in default.`,-1)]),H(Vj,{label:`Ignore keys`,items:c.lintIgnore,mono:``,placeholder:`legacy.*`,"onUpdate:items":t[26]||=e=>c.lintIgnore=e},{help:N(()=>[...t[93]||=[V(`p`,{class:`text-xs text-muted-foreground`},` Key globs excluded from every check — for legacy or generated keys you don't maintain. `,-1)]]),_:1},8,[`items`])])):d.value===`dictionary`?(R(),z(`div`,DN,[V(`div`,ON,[(R(!0),z(L,null,F(c.customWords,e=>(R(),z(`span`,{key:e,class:`inline-flex items-center gap-1.5 rounded-lg border bg-accent px-2.5 py-1.5 font-mono text-sm`},[U(A(e)+` `,1),V(`button`,{type:`button`,class:`flex size-[18px] items-center justify-center rounded text-muted-foreground transition-colors hover:bg-destructive/10 hover:text-destructive`,"aria-label":`Remove ${e}`,onClick:t=>Ge(e)},[H(M(Ad),{class:`size-3`})],8,kN)]))),128)),c.customWords.length===0?(R(),z(`p`,AN,`No custom words yet.`)):W(``,!0)]),V(`div`,jN,[H(M(yC),{for:`add-word`},{default:N(()=>[...t[94]||=[U(`Add word`,-1)]]),_:1}),V(`div`,MN,[H(M(BS),{id:`add-word`,modelValue:Ue.value,"onUpdate:modelValue":t[27]||=e=>Ue.value=e,class:`font-mono`,placeholder:`Glotfile`,onKeydown:Zl(Yl(We,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),H(M(Q),{variant:`outline`,onClick:We},{default:N(()=>[H(M(sd),{class:`size-4`}),t[95]||=U(` Add`,-1)]),_:1})])])])):d.value===`editor`?(R(),z(`div`,NN,[V(`div`,PN,[V(`div`,FN,[H(M(yC),{for:`editor-select`},{default:N(()=>[...t[96]||=[U(`Editor`,-1)]]),_:1}),H(gc,{"enter-active-class":`transition duration-150 ease-out`,"enter-from-class":`opacity-0 translate-y-0.5`,"enter-to-class":`opacity-100 translate-y-0`,"leave-active-class":`transition duration-300 ease-in`,"leave-from-class":`opacity-100 translate-y-0`,"leave-to-class":`opacity-0`},{default:N(()=>[de.value?(R(),z(`span`,IN,[H(M(Ou),{class:`size-3`}),t[97]||=U(` Saved `,-1)])):W(``,!0)]),_:1})]),H(M(yb),{"model-value":M(uT),"onUpdate:modelValue":pe},{default:N(()=>[H(M(VS),{id:`editor-select`},{default:N(()=>[H(M(Bb),{placeholder:`Select editor`})]),_:1}),H(M(HS),null,{default:N(()=>[(R(!0),z(L,null,F(M(sT),e=>(R(),B(M(WS),{key:e.id,value:e.id},{default:N(()=>[U(A(e.label),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`model-value`])]),V(`p`,LN,[H(M(td),{class:`size-3.5`}),t[98]||=U(` Stored locally in `,-1),t[99]||=V(`code`,{class:`rounded border bg-muted px-1 py-0.5 font-mono text-xs`},`.glotfile/`,-1),t[100]||=U(` — clicking a usage opens the file via its URL scheme. `,-1)])])):W(``,!0)])]),oe.includes(d.value)?W(``,!0):(R(),z(`div`,{key:0,class:k([`absolute bottom-5 left-1/2 flex min-w-[400px] max-w-[calc(100%-3.5rem)] -translate-x-1/2 items-center gap-3 rounded-[14px] border bg-card px-4 py-2.5 shadow-lg transition-[border-color,box-shadow]`,ce.value>0?`border-primary/40 shadow-primary/10`:`border-border`])},[V(`span`,{class:k([`flex min-w-0 flex-1 items-center gap-2 overflow-hidden text-ellipsis whitespace-nowrap text-[13px]`,ce.value>0?`text-foreground`:`text-muted-foreground`])},[ce.value>0?(R(),z(L,{key:0},[V(`span`,RN,A(ce.value),1),U(` Unsaved `+A(ce.value===1?`change`:`changes`)+` in `,1),V(`strong`,zN,A(le.value.join(`, `)),1)],64)):(R(),z(L,{key:1},[H(M(Ou),{class:`size-3.5 shrink-0`}),t[101]||=U(` All changes saved `,-1)],64))],2),V(`div`,BN,[H(M(Q),{variant:`ghost`,size:`sm`,disabled:ce.value===0,onClick:t[28]||=e=>f.value=!f.value},{default:N(()=>[H(M(Dd),{class:`size-4`}),t[102]||=U(` Discard `,-1)]),_:1},8,[`disabled`]),f.value?(R(),z(`div`,VN,[t[105]||=V(`p`,{class:`text-[13px] font-semibold`},`Discard all changes?`,-1),V(`p`,HN,` Reverts every unsaved edit in `+A(le.value.join(`, `))+`. `,1),V(`div`,UN,[H(M(Q),{size:`sm`,variant:`outline`,onClick:t[29]||=e=>f.value=!1},{default:N(()=>[...t[103]||=[U(`Keep editing`,-1)]]),_:1}),H(M(Q),{size:`sm`,variant:`destructive`,onClick:ve},{default:N(()=>[...t[104]||=[U(`Discard`,-1)]]),_:1})])])):W(``,!0)]),H(M(Q),{size:`sm`,disabled:ce.value===0||u.value,onClick:_e},{default:N(()=>[H(M(dd),{class:`size-4`}),t[106]||=U(` Save changes `,-1)]),_:1},8,[`disabled`])],2))])])):(R(),z(`div`,Hj,` Loading settings… `)),H(gc,{"enter-active-class":`transition duration-150 ease-out`,"enter-from-class":`opacity-0`,"enter-to-class":`opacity-100`,"leave-active-class":`transition duration-100 ease-in`,"leave-from-class":`opacity-100`,"leave-to-class":`opacity-0`},{default:N(()=>[g.value?(R(),z(`div`,{key:0,class:`fixed inset-0 z-[70] flex items-center justify-center bg-background/70 p-6 backdrop-blur-sm`,onClick:Yl(xe,[`self`])},[V(`div`,WN,[V(`h3`,GN,[H(M(Ed),{class:`size-4 text-amber-500`}),t[107]||=U(` Unsaved changes `,-1)]),V(`p`,KN,[U(` You have `+A(ce.value)+` unsaved `+A(ce.value===1?`change`:`changes`)+` in `,1),V(`strong`,qN,A(le.value.join(`, `)),1),t[108]||=U(`. `,-1),V(`span`,JN,`Leaving now discards `+A(ce.value===1?`it`:`them`)+`.`,1)]),V(`div`,YN,[H(M(Q),{size:`sm`,variant:`outline`,class:`mr-auto`,onClick:xe},{default:N(()=>[...t[109]||=[U(`Keep editing`,-1)]]),_:1}),H(M(Q),{size:`sm`,variant:`destructive`,onClick:Se},{default:N(()=>[H(M(Dd),{class:`size-4`}),t[110]||=U(` Discard & leave `,-1)]),_:1}),H(M(Q),{size:`sm`,disabled:u.value,onClick:Ce},{default:N(()=>[H(M(dd),{class:`size-4`}),t[111]||=U(` Save & leave `,-1)]),_:1},8,[`disabled`])])])])):W(``,!0)]),_:1}),H(gc,{"enter-active-class":`transition duration-200 ease-out`,"enter-from-class":`opacity-0 -translate-y-1.5`,"enter-to-class":`opacity-100 translate-y-0`,"leave-active-class":`transition duration-150 ease-in`,"leave-from-class":`opacity-100 translate-y-0`,"leave-to-class":`opacity-0 -translate-y-1.5`},{default:N(()=>[_.value?(R(),z(`div`,XN,[H(M(Ou),{class:`size-3.5`}),t[112]||=U(` Settings saved `,-1)])):W(``,!0)]),_:1})],64))}}),QN={class:`min-h-0 flex-1 overflow-y-auto`},$N={key:0,class:`flex h-full items-center justify-center p-8 text-sm text-muted-foreground`},eP={key:1,class:`flex h-full items-center justify-center p-8`},tP={class:`flex max-w-md flex-col items-center gap-3 text-center text-muted-foreground`},nP={key:2,class:`grid grid-cols-[repeat(auto-fill,minmax(180px,1fr))] gap-3 p-6`},rP=[`onClick`],iP={class:`flex aspect-video items-center justify-center overflow-hidden border-b bg-muted/30`},aP=[`src`,`alt`],oP={class:`flex flex-col gap-0.5 p-2.5`},sP={class:`truncate font-mono text-xs font-medium`},cP={class:`truncate text-xs text-muted-foreground`},lP={key:1,class:`truncate text-xs text-muted-foreground`},uP={class:`flex max-h-[70vh] items-center justify-center overflow-auto rounded-md border bg-muted/30 p-2`},dP=[`src`,`alt`],fP={key:0,class:`text-sm text-muted-foreground`},pP=P({__name:`ScreenshotsView`,setup(e){let t=dn(null),n=j(!1),r=j(null);async function i(){t.value=await Md(),n.value=!0}i();let a=K(()=>t.value?.config.sourceLocale??``),o=K(()=>{let e=t.value;return e?Object.entries(e.keys).filter(([,e])=>!!e.screenshot).map(([e,t])=>({key:e,entry:t,screenshot:t.screenshot,source:t.values[a.value]?.value??``})).sort((e,t)=>e.key.localeCompare(t.key)):[]});return(e,t)=>(R(),z(`div`,QN,[n.value?o.value.length===0?(R(),z(`div`,eP,[V(`div`,tP,[H(M(Yu),{class:`size-8 opacity-60`}),t[2]||=V(`p`,{class:`text-sm`},` No screenshots yet — add one from a key's detail panel in the Editor. `,-1)])])):(R(),z(`div`,nP,[(R(!0),z(L,null,F(o.value,e=>(R(),z(`button`,{key:e.key,type:`button`,class:`group flex flex-col overflow-hidden rounded-lg border bg-card text-left shadow-sm transition-colors hover:border-ring focus:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:t=>r.value=e},[V(`div`,iP,[V(`img`,{src:`/`+e.screenshot,alt:`Screenshot for ${e.key}`,class:`h-full w-full object-contain`},null,8,aP)]),V(`div`,oP,[H(M(ax),null,{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`span`,sP,A(e.key),1)]),_:2},1024),H(M(PC),{class:`font-mono`},{default:N(()=>[U(A(e.key),1)]),_:2},1024)]),_:2},1024),e.source?(R(),B(M(ax),{key:0},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`span`,cP,A(e.source),1)]),_:2},1024),H(M(PC),null,{default:N(()=>[U(A(e.source),1)]),_:2},1024)]),_:2},1024)):(R(),z(`span`,lP,`—`))])],8,rP))),128))])):(R(),z(`div`,$N,` Loading screenshots… `)),H(M(Oh),{open:r.value!==null,"onUpdate:open":t[1]||=e=>{e||(r.value=null)}},{default:N(()=>[r.value?(R(),B(M(bC),{key:0,class:`max-w-3xl`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),{class:`break-all font-mono text-sm`},{default:N(()=>[U(A(r.value.key),1)]),_:1}),H(M(wC),null,{default:N(()=>[U(A(r.value.source||`—`),1)]),_:1})]),_:1}),V(`div`,uP,[V(`img`,{src:`/`+r.value.screenshot,alt:`Screenshot for ${r.value.key}`,class:`max-h-[65vh] w-auto object-contain`},null,8,dP)]),r.value.entry.context?(R(),z(`p`,fP,[t[3]||=V(`span`,{class:`font-medium text-foreground`},`Context:`,-1),U(` `+A(r.value.entry.context),1)])):W(``,!0),H(M(SC),null,{default:N(()=>[H(M(Q),{size:`sm`,onClick:t[0]||=e=>M(Np)(r.value.key)},{default:N(()=>[H(M(bd),{class:`size-4`}),t[4]||=U(` Open in editor `,-1)]),_:1})]),_:1})]),_:1})):W(``,!0)]),_:1},8,[`open`])]))}}),mP={class:`min-h-0 flex-1 overflow-y-auto p-4`},hP={key:0,class:`mt-8 text-center text-sm text-muted-foreground`},gP={key:1,class:`mx-auto flex max-w-4xl flex-col gap-4`},_P={key:0,class:`flex flex-wrap gap-1.5`},vP=[`onClick`],yP={class:`flex flex-wrap items-center gap-3 border-b px-4 py-2.5`},bP={class:`text-sm font-medium`},xP={class:`text-sm text-muted-foreground`},SP={class:`border-b`},CP={class:`overflow-x-auto whitespace-pre-wrap break-words bg-muted/40 px-4 py-3 font-mono text-xs leading-relaxed`},wP={class:`divide-y`},TP={class:`flex items-center gap-2`},EP={class:`truncate font-mono text-xs text-muted-foreground`},DP={class:`flex items-start gap-2 text-sm`},OP={class:`min-w-0 flex-1 break-words`},kP={class:`min-w-0 flex-1 break-words`},AP={key:0,class:`text-destructive`},jP={key:1},MP={key:0,class:`text-xs text-muted-foreground`},NP={key:1,class:`flex flex-wrap gap-1`},PP={key:2,class:`flex items-center gap-1.5 text-xs text-muted-foreground`},FP={class:`truncate font-mono`},IP={key:1,class:`flex flex-col gap-1.5 px-4 py-3`},LP={key:0,class:`flex items-center gap-2`},RP={class:`truncate font-mono text-xs text-muted-foreground`},zP={key:1,class:`flex items-start gap-2 text-sm`},BP=P({__name:`ActivityView`,setup(e){let t=j([]),n=j(!0),r=j(`all`);Ki(async()=>{try{t.value=await Cf()}catch(e){$.error(e.message)}finally{n.value=!1}});let i=e=>e.kind===`translate`||e.kind===`context`,a=K(()=>[...new Set(t.value.map(e=>e.kind))]),o=K(()=>r.value===`all`?t.value:t.value.filter(e=>e.kind===r.value)),s=e=>LS(`rounded-full border px-2.5 py-0.5 text-xs transition-colors`,r.value===e?`bg-primary text-primary-foreground`:`text-muted-foreground hover:bg-muted`);function c(e,t){return e.results?.find(e=>e.id===t)}function l(e){return e.doNotTranslate?`${e.term} (do-not-translate)`:e.forced?`${e.term} → ${e.forced}`:e.term}function u(e){return e==null||e===``?`∅`:typeof e==`string`?e:JSON.stringify(e)}let d=e=>typeof e==`object`&&!!e;return(e,f)=>(R(),z(`div`,mP,[!n.value&&t.value.length===0?(R(),z(`p`,hP,` No activity yet — edits, translations, and config changes will show up here. `)):(R(),z(`div`,gP,[a.value.length>1?(R(),z(`div`,_P,[V(`button`,{type:`button`,class:k(s(`all`)),onClick:f[0]||=e=>r.value=`all`},`All`,2),(R(!0),z(L,null,F(a.value,e=>(R(),z(`button`,{key:e,type:`button`,class:k(s(e)),onClick:t=>r.value=e},A(e),11,vP))),128))])):W(``,!0),(R(!0),z(L,null,F(o.value,(e,t)=>(R(),z(`article`,{key:`${e.at}-${t}`,class:`rounded-lg border bg-card`},[V(`header`,yP,[V(`span`,bP,A(new Date(e.at).toLocaleString()),1),H(M(JS),{variant:`outline`,class:`font-mono uppercase`},{default:N(()=>[U(A(e.kind),1)]),_:2},1024),V(`span`,xP,A(e.summary),1),e.model?(R(),B(M(JS),{key:0,variant:`secondary`,class:`ml-auto font-mono`},{default:N(()=>[U(A(e.model),1)]),_:2},1024)):W(``,!0)]),i(e)?(R(),z(L,{key:0},[V(`details`,SP,[f[1]||=V(`summary`,{class:`cursor-pointer select-none px-4 py-2 text-xs font-medium text-muted-foreground hover:text-foreground`},` System prompt `,-1),V(`pre`,CP,A(e.system),1)]),V(`ul`,wP,[(R(!0),z(L,null,F(e.items,t=>(R(),z(`li`,{key:t.id,class:`flex flex-col gap-1.5 px-4 py-3`},[V(`div`,TP,[V(`span`,EP,A(t.key),1),t.targetLocale?(R(),B(M(JS),{key:0,variant:`outline`,class:`shrink-0 font-mono uppercase`},{default:N(()=>[U(A(t.targetLocale),1)]),_:2},1024)):W(``,!0)]),V(`div`,DP,[V(`span`,OP,A(t.source),1),H(M(xu),{class:`mt-0.5 size-4 shrink-0 text-muted-foreground`}),V(`span`,kP,[c(e,t.id)?.error?(R(),z(`span`,AP,A(c(e,t.id)?.error),1)):(R(),z(`span`,jP,A(c(e,t.id)?.translation??c(e,t.id)?.value),1))])]),t.context?(R(),z(`p`,MP,A(t.context),1)):W(``,!0),t.glossary?.length?(R(),z(`div`,NP,[(R(!0),z(L,null,F(t.glossary,e=>(R(),z(`span`,{key:e.term,class:`rounded bg-muted px-1.5 py-0.5 font-mono text-[11px] text-muted-foreground`},A(l(e)),1))),128))])):W(``,!0),t.screenshot?(R(),z(`div`,PP,[H(M(Xu),{class:`size-3.5 shrink-0`}),V(`span`,FP,A(t.screenshot),1)])):W(``,!0)]))),128))])],64)):e.key||e.before!==void 0||e.after!==void 0?(R(),z(`div`,IP,[e.key?(R(),z(`div`,LP,[V(`span`,RP,A(e.key),1),e.locale?(R(),B(M(JS),{key:0,variant:`outline`,class:`shrink-0 font-mono uppercase`},{default:N(()=>[U(A(e.locale),1)]),_:2},1024)):W(``,!0)])):W(``,!0),e.before!==void 0||e.after!==void 0?(R(),z(`div`,zP,[e.before===void 0?W(``,!0):(R(),z(`span`,{key:0,class:k(M(LS)(`min-w-0 flex-1 break-words text-muted-foreground`,d(e.before)&&`font-mono text-xs`))},A(u(e.before)),3)),e.before!==void 0&&e.after!==void 0?(R(),B(M(xu),{key:1,class:`mt-0.5 size-4 shrink-0 text-muted-foreground`})):W(``,!0),e.after===void 0?W(``,!0):(R(),z(`span`,{key:2,class:k(M(LS)(`min-w-0 flex-1 break-words`,d(e.after)&&`font-mono text-xs`))},A(u(e.after)),3))])):W(``,!0)])):W(``,!0)]))),128))]))]))}}),VP=[{id:`home`,title:`Home`,section:``,html:`<h1>Glotfile</h1>
|
|
7
|
+
`))}return()=>i.value||r.value||o.value?qs(t.default({present:o.value})[0],{ref:e=>{let t=hm(e);return t?.hasAttribute===void 0||(t?.hasAttribute(`data-reka-popper-content-wrapper`)?a.value=t.firstElementChild:a.value=t),t}}):null}}),Sh=P({name:`PrimitiveSlot`,inheritAttrs:!1,setup(e,{attrs:t,slots:n}){return()=>{if(!n.default)return null;let e=wm(n.default()),r=e.findIndex(e=>e.type!==ns);if(r===-1)return e;let i=e[r];delete i.props?.ref;let a=i.props?G(t,i.props):t,o=_s({...i,props:{}},a);return e.length===1?o:(e[r]=o,e)}}}),Ch=[`area`,`img`,`input`],wh=P({name:`Primitive`,inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:`div`}},setup(e,{attrs:t,slots:n}){let r=e.asChild?`template`:e.as;return typeof r==`string`&&Ch.includes(r)?()=>qs(r,t):r===`template`?()=>qs(Sh,t,{default:n.default}):()=>qs(e.as,t,{default:n.default})}});function Th(){let e=j();return{primitiveElement:e,currentElement:K(()=>[`#text`,`#comment`].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:hm(e))}}var[Eh,Dh]=Wp(`DialogRoot`),Oh=P({inheritAttrs:!1,__name:`DialogRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=Cm(n,`open`,t,{defaultValue:n.defaultOpen,passive:n.open===void 0}),i=j(),a=j(),{modal:o}=bn(n);return Dh({open:r,modal:o,openModal:()=>{r.value=!0},onOpenChange:e=>{r.value=e},onOpenToggle:()=>{r.value=!r.value},contentId:``,titleId:``,descriptionId:``,triggerElement:i,contentElement:a}),(e,t)=>I(e.$slots,`default`,{open:M(r),close:()=>r.value=!1})}}),kh=P({__name:`DialogClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;Y();let n=Eh();return(e,r)=>(R(),B(M(wh),G(t,{type:e.as===`button`?`button`:void 0,onClick:r[0]||=e=>M(n).onOpenChange(!1)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`type`]))}}),Ah=`dismissableLayer.pointerDownOutside`,jh=`dismissableLayer.focusOutside`;function Mh(e,t){if(!(t instanceof Element))return!1;let n=t.closest(`[data-dismissable-layer]`),r=e.dataset.dismissableLayer===``?e:e.querySelector(`[data-dismissable-layer]`),i=Array.from(e.ownerDocument.querySelectorAll(`[data-dismissable-layer]`));return!!(n&&(r===n||i.indexOf(r)<i.indexOf(n)))}function Nh(e,t,n=!0){let r=t?.value?.ownerDocument??globalThis?.document,i=j(!1),a=j(()=>{});return wr(o=>{if(!Qp||!hn(n))return;let s=async n=>{let o=n.target;if(!(!t?.value||!o)){if(Mh(t.value,o)){i.value=!1;return}if(n.target&&!i.value){let t={originalEvent:n};function i(){Kp(Ah,e,t)}n.pointerType===`touch`?(r.removeEventListener(`click`,a.value),a.value=i,r.addEventListener(`click`,a.value,{once:!0})):i()}else r.removeEventListener(`click`,a.value);i.value=!1}},c=window.setTimeout(()=>{r.addEventListener(`pointerdown`,s)},0);o(()=>{window.clearTimeout(c),r.removeEventListener(`pointerdown`,s),r.removeEventListener(`click`,a.value)})}),{onPointerDownCapture:()=>{hn(n)&&(i.value=!0)}}}function Ph(e,t,n=!0){let r=t?.value?.ownerDocument??globalThis?.document,i=j(!1);return wr(a=>{if(!Qp||!hn(n))return;let o=async n=>{if(!t?.value)return;await $n(),await $n();let r=n.target;!t.value||!r||Mh(t.value,r)||n.target&&!i.value&&Kp(jh,e,{originalEvent:n})};r.addEventListener(`focusin`,o),a(()=>r.removeEventListener(`focusin`,o))}),{onFocusCapture:()=>{hn(n)&&(i.value=!0)},onBlurCapture:()=>{hn(n)&&(i.value=!1)}}}var Fh=Xt({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set}),Ih=P({__name:`DismissableLayer`,props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`dismiss`],setup(e,{emit:t}){let n=e,r=t,{forwardRef:i,currentElement:a}=Y(),o=K(()=>a.value?.ownerDocument??globalThis.document),s=K(()=>Fh.layersRoot),c=K(()=>a.value?Array.from(s.value).indexOf(a.value):-1),l=K(()=>Fh.layersWithOutsidePointerEventsDisabled.size>0),u=K(()=>{let e=Array.from(s.value),[t]=[...Fh.layersWithOutsidePointerEventsDisabled].slice(-1),n=e.indexOf(t);return c.value>=n}),d=Nh(async e=>{let t=[...Fh.branches].some(t=>t?.contains(e.target));!u.value||t||(r(`pointerDownOutside`,e),r(`interactOutside`,e),await $n(),e.defaultPrevented||r(`dismiss`))},a),f=Ph(e=>{[...Fh.branches].some(t=>t?.contains(e.target))||(r(`focusOutside`,e),r(`interactOutside`,e),e.defaultPrevented||r(`dismiss`))},a);return bm(`Escape`,e=>{c.value===s.value.size-1&&(r(`escapeKeyDown`,e),e.defaultPrevented||r(`dismiss`))}),wr(e=>{a.value&&(n.disableOutsidePointerEvents&&(Fh.layersWithOutsidePointerEventsDisabled.size===0&&(Fh.originalBodyPointerEvents=o.value.body.style.pointerEvents,o.value.body.style.pointerEvents=`none`),Fh.layersWithOutsidePointerEventsDisabled.add(a.value)),s.value.add(a.value),e(()=>{n.disableOutsidePointerEvents&&Fh.layersWithOutsidePointerEventsDisabled.size===1&&!qp(Fh.originalBodyPointerEvents)&&(o.value.body.style.pointerEvents=Fh.originalBodyPointerEvents)}))}),wr(e=>{e(()=>{a.value&&(s.value.delete(a.value),Fh.layersWithOutsidePointerEventsDisabled.delete(a.value))})}),(e,t)=>(R(),B(M(wh),{ref:M(i),"as-child":e.asChild,as:e.as,"data-dismissable-layer":``,style:he({pointerEvents:l.value?u.value?`auto`:`none`:void 0}),onFocusCapture:M(f).onFocusCapture,onBlurCapture:M(f).onBlurCapture,onPointerdownCapture:M(d).onPointerDownCapture},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`style`,`onFocusCapture`,`onBlurCapture`,`onPointerdownCapture`]))}}),Lh=Zp(()=>j([]));function Rh(){let e=Lh();return{add(t){let n=e.value[0];t!==n&&n?.pause(),e.value=zh(e.value,t),e.value.unshift(t)},remove(t){e.value=zh(e.value,t),e.value[0]?.resume()}}}function zh(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}var Bh=`focusScope.autoFocusOnMount`,Vh=`focusScope.autoFocusOnUnmount`,Hh={bubbles:!1,cancelable:!0};function Uh(e,{select:t=!1}={}){let n=Gp();for(let r of e)if(Yh(r,{select:t}),Gp()!==n)return!0}function Wh(e){let t=Gh(e);return[Kh(t,e),Kh(t.reverse(),e)]}function Gh(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Kh(e,t){for(let n of e)if(!qh(n,{upTo:t}))return n}function qh(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function Jh(e){return e instanceof HTMLInputElement&&`select`in e}function Yh(e,{select:t=!1}={}){if(e&&e.focus){let n=Gp();e.focus({preventScroll:!0}),e!==n&&Jh(e)&&t&&e.select()}}var Xh=P({__name:`FocusScope`,props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`mountAutoFocus`,`unmountAutoFocus`],setup(e,{emit:t}){let n=e,r=t,{currentRef:i,currentElement:a}=Y(),o=j(null),s=Rh(),c=Xt({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});wr(e=>{if(!Qp)return;let t=a.value;if(!n.trapped)return;function r(e){if(c.paused||!t)return;let n=e.target;t.contains(n)?o.value=n:Yh(o.value,{select:!0})}function i(e){if(c.paused||!t)return;let n=e.relatedTarget;n!==null&&(t.contains(n)||Yh(o.value,{select:!0}))}function s(e){let n=o.value;n!==null&&e.some(e=>e.removedNodes.length>0)&&(t.contains(n)||Yh(t))}document.addEventListener(`focusin`,r),document.addEventListener(`focusout`,i);let l=new MutationObserver(s);t&&l.observe(t,{childList:!0,subtree:!0}),e(()=>{document.removeEventListener(`focusin`,r),document.removeEventListener(`focusout`,i),l.disconnect()})}),wr(async e=>{let t=a.value;if(await $n(),!t)return;s.add(c);let n=Gp();if(!t.contains(n)){let e=new CustomEvent(Bh,Hh);t.addEventListener(Bh,e=>r(`mountAutoFocus`,e)),t.dispatchEvent(e),e.defaultPrevented||(Uh(Gh(t),{select:!0}),Gp()===n&&Yh(t))}e(()=>{t.removeEventListener(Bh,e=>r(`mountAutoFocus`,e));let e=new CustomEvent(Vh,Hh),i=e=>{r(`unmountAutoFocus`,e)};t.addEventListener(Vh,i),t.dispatchEvent(e),t.setAttribute(`data-focus-scope-unmounting`,``),setTimeout(()=>{e.defaultPrevented||Yh(n??document.body,{select:!0}),t.removeEventListener(Vh,i),s.remove(c),t.removeAttribute(`data-focus-scope-unmounting`)},0)})});function l(e){if(!n.loop&&!n.trapped||c.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,r=Gp();if(t&&r){let t=e.currentTarget,[i,a]=Wh(t);i&&a?!e.shiftKey&&r===a?(e.preventDefault(),n.loop&&Yh(i,{select:!0})):e.shiftKey&&r===i&&(e.preventDefault(),n.loop&&Yh(a,{select:!0})):r===t&&e.preventDefault()}}return(e,t)=>(R(),B(M(wh),{ref_key:`currentRef`,ref:i,tabindex:`-1`,"as-child":e.asChild,as:e.as,onKeydown:l},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`as-child`,`as`]))}}),Zh=`menu.itemSelect`,Qh=[`Enter`,` `],$h=[`ArrowDown`,`PageUp`,`Home`],eg=[`ArrowUp`,`PageDown`,`End`],tg=[...$h,...eg];[...Qh],[...Qh];function ng(e){return e?`open`:`closed`}function rg(e){let t=Gp();for(let n of e)if(n===t||(n.focus(),Gp()!==t))return}function ig(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e].x,s=t[e].y,c=t[a].x,l=t[a].y;s>r!=l>r&&n<(c-o)*(r-s)/(l-s)+o&&(i=!i)}return i}function ag(e,t){return t?ig({x:e.clientX,y:e.clientY},t):!1}function og(e){return e.pointerType===`mouse`}var sg=P({__name:`DialogContentImpl`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Eh(),{forwardRef:a,currentElement:o}=Y();return i.titleId||=fh(void 0,`reka-dialog-title`),i.descriptionId||=fh(void 0,`reka-dialog-description`),Ki(()=>{i.contentElement=o,Gp()!==document.body&&(i.triggerElement.value=Gp())}),(e,t)=>(R(),B(M(Xh),{"as-child":``,loop:``,trapped:n.trapFocus,onMountAutoFocus:t[5]||=e=>r(`openAutoFocus`,e),onUnmountAutoFocus:t[6]||=e=>r(`closeAutoFocus`,e)},{default:N(()=>[H(M(Ih),G({id:M(i).contentId,ref:M(a),as:e.as,"as-child":e.asChild,"disable-outside-pointer-events":e.disableOutsidePointerEvents,role:`dialog`,"aria-describedby":M(i).descriptionId,"aria-labelledby":M(i).titleId,"data-state":M(ng)(M(i).open.value)},e.$attrs,{onDismiss:t[0]||=e=>M(i).onOpenChange(!1),onEscapeKeyDown:t[1]||=e=>r(`escapeKeyDown`,e),onFocusOutside:t[2]||=e=>r(`focusOutside`,e),onInteractOutside:t[3]||=e=>r(`interactOutside`,e),onPointerDownOutside:t[4]||=e=>r(`pointerDownOutside`,e)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`,`as`,`as-child`,`disable-outside-pointer-events`,`aria-describedby`,`aria-labelledby`,`data-state`])]),_:3},8,[`trapped`]))}}),cg=P({__name:`DialogContentModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Eh(),a=Bm(r),{forwardRef:o,currentElement:s}=Y();return uh(s),(e,t)=>(R(),B(sg,G({...n,...M(a)},{ref:M(o),"trap-focus":M(i).open.value,"disable-outside-pointer-events":!0,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(e.preventDefault(),M(i).triggerElement.value?.focus())},onPointerDownOutside:t[1]||=e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()},onFocusOutside:t[2]||=e=>{e.preventDefault()}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`trap-focus`]))}}),lg=P({__name:`DialogContentNonModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=Bm(t);Y();let i=Eh(),a=j(!1),o=j(!1);return(e,t)=>(R(),B(sg,G({...n,...M(r)},{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(a.value||M(i).triggerElement.value?.focus(),e.preventDefault()),a.value=!1,o.value=!1},onInteractOutside:t[1]||=e=>{e.defaultPrevented||(a.value=!0,e.detail.originalEvent.type===`pointerdown`&&(o.value=!0));let t=e.target;M(i).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&o.value&&e.preventDefault()}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),ug=P({__name:`DialogContent`,props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Eh(),a=Bm(r),{forwardRef:o}=Y();return(e,t)=>(R(),B(M(xh),{present:e.forceMount||M(i).open.value},{default:N(()=>[M(i).modal.value?(R(),B(cg,G({key:0,ref:M(o)},{...n,...M(a),...e.$attrs}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)):(R(),B(lg,G({key:1,ref:M(o)},{...n,...M(a),...e.$attrs}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),dg=P({__name:`DialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let t=e;Y();let n=Eh();return(e,r)=>(R(),B(M(wh),G(t,{id:M(n).descriptionId}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`]))}}),fg=P({__name:`DialogOverlayImpl`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=Eh();return Fm(!0),Y(),(e,n)=>(R(),B(M(wh),{as:e.as,"as-child":e.asChild,"data-state":M(t).open.value?`open`:`closed`,style:{"pointer-events":`auto`},onPointerdown:n[0]||=Yl(()=>{},[`left`,`self`,`prevent`])},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-state`]))}}),pg=P({__name:`DialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=Eh(),{forwardRef:n}=Y();return(e,r)=>M(t)?.modal.value?(R(),B(M(xh),{key:0,present:e.forceMount||M(t).open.value},{default:N(()=>[H(fg,G(e.$attrs,{ref:M(n),as:e.as,"as-child":e.asChild}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`as`,`as-child`])]),_:3},8,[`present`])):W(`v-if`,!0)}}),mg=P({__name:`Teleport`,props:{to:{type:null,required:!1,default:`body`},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=_m();return(e,n)=>M(t)||e.forceMount?(R(),B(Hr,{key:0,to:e.to,disabled:e.disabled,defer:e.defer},[I(e.$slots,`default`)],8,[`to`,`disabled`,`defer`])):W(`v-if`,!0)}}),hg=P({__name:`DialogPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(R(),B(M(mg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),gg=P({__name:`DialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let t=e,n=Eh();return Y(),(e,r)=>(R(),B(M(wh),G(t,{id:M(n).titleId}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`]))}}),_g=`data-reka-collection-item`;function vg(e={}){let{key:t=``,isProvider:n=!1}=e,r=`${t}CollectionProvider`,i;n?(i={collectionRef:j(),itemMap:j(new Map)},yr(r,i)):i=br(r);let a=(e=!1)=>{let t=i.collectionRef.value;if(!t)return[];let n=Array.from(t.querySelectorAll(`[${_g}]`)),r=Array.from(i.itemMap.value.values()).sort((e,t)=>n.indexOf(e.ref)-n.indexOf(t.ref));return e?r:r.filter(e=>e.ref.dataset.disabled!==``)},o=P({name:`CollectionSlot`,inheritAttrs:!1,setup(e,{slots:t,attrs:n}){let{primitiveElement:r,currentElement:a}=Th();return Dr(a,()=>{i.collectionRef.value=a.value}),()=>qs(Sh,{ref:r,...n},t)}}),s=P({name:`CollectionItem`,inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(e,{slots:t,attrs:n}){let{primitiveElement:r,currentElement:a}=Th();return wr(t=>{if(a.value){let n=sn(a.value);i.itemMap.value.set(n,{ref:a.value,value:e.value}),t(()=>i.itemMap.value.delete(n))}}),()=>qs(Sh,{...n,[_g]:``,ref:r},t)}});return{getItems:a,reactiveItems:K(()=>Array.from(i.itemMap.value.values())),itemMapSize:K(()=>i.itemMap.value.size),CollectionSlot:o,CollectionItem:s}}var yg=P({__name:`VisuallyHidden`,props:{feature:{type:String,required:!1,default:`focusable`},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,t)=>(R(),B(M(wh),{as:e.as,"as-child":e.asChild,"aria-hidden":e.feature===`focusable`?`true`:void 0,"data-hidden":e.feature===`fully-hidden`?``:void 0,tabindex:e.feature===`fully-hidden`?`-1`:void 0,style:{position:`absolute`,border:0,width:`1px`,height:`1px`,padding:0,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,clipPath:`inset(50%)`,whiteSpace:`nowrap`,wordWrap:`normal`,top:`-1px`,left:`-1px`}},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`aria-hidden`,`data-hidden`,`tabindex`]))}}),bg=P({inheritAttrs:!1,__name:`VisuallyHiddenInputBubble`,props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:`fully-hidden`}},setup(e){let t=e,{primitiveElement:n,currentElement:r}=Th();return Dr(K(()=>t.checked??t.value),(e,t)=>{if(!r.value)return;let n=r.value,i=window.HTMLInputElement.prototype,a=Object.getOwnPropertyDescriptor(i,`value`).set;if(a&&e!==t){let t=new Event(`input`,{bubbles:!0}),r=new Event(`change`,{bubbles:!0});a.call(n,e),n.dispatchEvent(t),n.dispatchEvent(r)}}),(e,r)=>(R(),B(yg,G({ref_key:`primitiveElement`,ref:n},{...t,...e.$attrs},{as:`input`}),null,16))}}),xg=P({inheritAttrs:!1,__name:`VisuallyHiddenInput`,props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:`fully-hidden`}},setup(e){let t=e,n=K(()=>typeof t.value==`object`&&Array.isArray(t.value)&&t.value.length===0&&t.required),r=K(()=>typeof t.value==`string`||typeof t.value==`number`||typeof t.value==`boolean`||t.value===null||t.value===void 0?[{name:t.name,value:t.value}]:typeof t.value==`object`&&Array.isArray(t.value)?t.value.flatMap((e,n)=>typeof e==`object`?Object.entries(e).map(([e,r])=>({name:`${t.name}[${n}][${e}]`,value:r})):{name:`${t.name}[${n}]`,value:e}):t.value!==null&&typeof t.value==`object`&&!Array.isArray(t.value)?Object.entries(t.value).map(([e,n])=>({name:`${t.name}[${e}]`,value:n})):[]);return(e,i)=>(R(),z(L,null,[W(` We render single input if it's required `),n.value?(R(),B(bg,G({key:e.name},{...t,...e.$attrs},{name:e.name,value:e.value}),null,16,[`name`,`value`])):(R(!0),z(L,{key:1},F(r.value,n=>(R(),B(bg,G({key:n.name},{ref_for:!0},{...t,...e.$attrs},{name:n.name,value:n.value}),null,16,[`name`,`value`]))),128))],2112))}});function Sg(e,t,n){return e===void 0?!1:Array.isArray(e)?e.some(e=>Cg(e,t,n)):Cg(e,t,n)}function Cg(e,t,n){return e===void 0||t===void 0?!1:typeof e==`string`?e===t:typeof n==`function`?n(e,t):typeof n==`string`?e?.[n]===t?.[n]:Vp(e,t)}var wg=`rovingFocusGroup.onEntryFocus`,Tg={bubbles:!1,cancelable:!0},Eg={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function Dg(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function Og(e,t,n){let r=Dg(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return Eg[r]}function kg(e,t=!1){let n=Gp();for(let r of e)if(r===n||(r.focus({preventScroll:t}),Gp()!==n))return}function Ag(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var[jg,Mg]=Wp(`ListboxRoot`),Ng=P({__name:`ListboxRoot`,props:{modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},multiple:{type:Boolean,required:!1},orientation:{type:String,required:!1,default:`vertical`},dir:{type:String,required:!1},disabled:{type:Boolean,required:!1},selectionBehavior:{type:String,required:!1,default:`toggle`},highlightOnHover:{type:Boolean,required:!1},by:{type:[String,Function],required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`,`highlight`,`entryFocus`,`leave`],setup(e,{expose:t,emit:n}){let r=e,i=n,{multiple:a,highlightOnHover:o,orientation:s,disabled:c,selectionBehavior:l,dir:u}=bn(r),{getItems:d}=vg({isProvider:!0}),{handleTypeaheadSearch:f}=gh(),{primitiveElement:p,currentElement:m}=Th(),h=ph(),g=zm(u),_=Gm(m),v=j(),y=j(!1),b=j(!0),x=Cm(r,`modelValue`,i,{defaultValue:r.defaultValue??(a.value?[]:void 0),passive:r.modelValue===void 0,deep:!0});function S(e){if(y.value=!0,r.multiple){let t=Array.isArray(x.value)?[...x.value]:[],n=t.findIndex(t=>Cg(t,e,r.by));r.selectionBehavior===`toggle`?(n===-1?t.push(e):t.splice(n,1),x.value=t):(x.value=[e],v.value=e)}else r.selectionBehavior===`toggle`&&Cg(x.value,e,r.by)?x.value=void 0:x.value=e;setTimeout(()=>{y.value=!1},1)}let C=j(null),w=j(null),T=j(!1),ee=j(!1),E=Xp(),te=Xp(),ne=Xp();function re(){return d().map(e=>e.ref).filter(e=>e.dataset.disabled!==``)}function D(e,t=!0,n){e&&(C.value=e,(n??b.value)&&C.value.focus(),t&&C.value.scrollIntoView({block:`nearest`}),i(`highlight`,d().find(t=>t.ref===e)))}function ie(e){if(T.value)ne.trigger(e);else{let t=d().find(t=>Cg(t.value,e,r.by));t&&(C.value=t.ref,D(t.ref))}}function ae(e){C.value&&C.value.isConnected&&(e.preventDefault(),e.stopPropagation(),ee.value||C.value.click())}function oe(e){if(b.value){if(y.value=!0,T.value)te.trigger(e);else{let t=e.altKey||e.ctrlKey||e.metaKey;if(t&&e.key===`a`&&a.value){let t=d();x.value=[...t.map(e=>e.value)],e.preventDefault();let n=t.at(-1);n&&D(n.ref)}else if(!t){let t=f(e.key,d());t&&D(t)}}setTimeout(()=>{y.value=!1},1)}}function se(){ee.value=!0}function O(){$n(()=>{ee.value=!1})}function ce(){$n(()=>{de(new KeyboardEvent(`keydown`,{key:`PageUp`}))})}function le(e){let t=C.value;t?.isConnected&&(w.value=t),C.value=null,i(`leave`,e)}function ue(e){let t=new CustomEvent(`listbox.entryFocus`,{bubbles:!1,cancelable:!0});if(e.currentTarget?.dispatchEvent(t),i(`entryFocus`,t),!t.defaultPrevented)if(w.value)D(w.value);else{let e=re()?.[0];D(e)}}function de(e){let t=Og(e,s.value,g.value);if(!t)return;let n=re();if(C.value){if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let e=n.indexOf(C.value);n=n.slice(e+1)}fe(e,n[0])}if(n.length){let e=!C.value&&t===`prev`?n.length-1:0;D(n[e])}if(T.value)return te.trigger(e)}function fe(e,t){if(!(T.value||r.selectionBehavior!==`replace`||!a.value||!Array.isArray(x.value))&&!((e.altKey||e.ctrlKey||e.metaKey)&&!e.shiftKey)&&e.shiftKey){let n=d().filter(e=>e.ref.dataset.disabled!==``),r=n.find(e=>e.ref===t)?.value;if(e.key===h.END?r=n.at(-1)?.value:e.key===h.HOME&&(r=n[0]?.value),!r||!v.value)return;x.value=Hp(n.map(e=>e.value),v.value,r)}}async function pe(e,t=!0){if(Qp)if(await $n(),T.value)E.trigger(e);else{let e=re(),n=e.find(e=>e.dataset.state===`checked`),r=t?void 0:!1;n?D(n,t,r):e.length&&D(e[0],t,r)}}let me=!1;return Dr(x,()=>{if(!y.value){let e=me;me=!0,$n(()=>{pe(void 0,e)})}},{immediate:!0,deep:!0}),t({highlightedElement:C,highlightItem:ie,highlightFirstItem:ce,highlightSelected:pe,getItems:d}),Mg({modelValue:x,onValueChange:S,multiple:a,orientation:s,dir:g,disabled:c,highlightOnHover:o,highlightedElement:C,isVirtual:T,virtualFocusHook:E,virtualKeydownHook:te,virtualHighlightHook:ne,by:r.by,firstValue:v,selectionBehavior:l,focusable:b,onLeave:le,onEnter:ue,changeHighlight:D,onKeydownEnter:ae,onKeydownNavigation:de,onKeydownTypeAhead:oe,onCompositionStart:se,onCompositionEnd:O,highlightFirstItem:ce}),(e,t)=>(R(),B(M(wh),{ref_key:`primitiveElement`,ref:p,as:e.as,"as-child":e.asChild,dir:M(g),"data-disabled":M(c)?``:void 0,onPointerleave:le,onFocusout:t[0]||=async e=>{let t=e.relatedTarget||e.target;await $n(),C.value&&M(m)&&!M(m).contains(t)&&le(e)}},{default:N(()=>[I(e.$slots,`default`,{modelValue:M(x)}),M(_)&&e.name?(R(),B(M(xg),{key:0,name:e.name,value:M(x),disabled:M(c),required:e.required},null,8,[`name`,`value`,`disabled`,`required`])):W(`v-if`,!0)]),_:3},8,[`as`,`as-child`,`dir`,`data-disabled`]))}}),Pg=P({__name:`ListboxContent`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let{CollectionSlot:t}=vg(),n=jg(),r=um(!1,10);return(e,i)=>(R(),B(M(t),null,{default:N(()=>[H(M(wh),{role:`listbox`,as:e.as,"as-child":e.asChild,tabindex:M(n).focusable.value?M(n).highlightedElement.value?`-1`:`0`:`-1`,"aria-orientation":M(n).orientation.value,"aria-multiselectable":!!M(n).multiple.value,"data-orientation":M(n).orientation.value,onMousedown:i[0]||=Yl(e=>r.value=!0,[`left`]),onFocus:i[1]||=e=>{M(r)||M(n).onEnter(e)},onKeydown:[i[2]||=Zl(e=>{M(n).orientation.value===`vertical`&&(e.key===`ArrowLeft`||e.key===`ArrowRight`)||M(n).orientation.value===`horizontal`&&(e.key===`ArrowUp`||e.key===`ArrowDown`)||(e.preventDefault(),M(n).focusable.value&&M(n).onKeydownNavigation(e))},[`down`,`up`,`left`,`right`,`home`,`end`]),Zl(M(n).onKeydownEnter,[`enter`]),M(n).onKeydownTypeAhead]},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`tabindex`,`aria-orientation`,`aria-multiselectable`,`data-orientation`,`onKeydown`])]),_:3}))}}),Fg=P({__name:`ListboxFilter`,props:{modelValue:{type:String,required:!1},autoFocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`input`}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=Cm(n,`modelValue`,t,{defaultValue:``,passive:n.modelValue===void 0}),i=jg(),{primitiveElement:a,currentElement:o}=Th(),s=K(()=>n.disabled||i.disabled.value||!1),c=j();Er(()=>c.value=i.highlightedElement.value?.id),Ki(()=>{i.focusable.value=!1,setTimeout(()=>{n.autoFocus&&o.value?.focus()},1)}),Xi(()=>{i.focusable.value=!0});let{isComposing:l,handleCompositionStart:u,handleCompositionEnd:d}=Rm(e=>{r.value=e.target.value,i.onCompositionEnd(),i.highlightFirstItem()});function f(){i.onCompositionStart(),u()}function p(e){l.value||(r.value=e.target.value,i.highlightFirstItem())}function m(e){l.value||(e.preventDefault(),i.onKeydownNavigation(e))}function h(e){l.value||i.onKeydownEnter(e)}return(e,t)=>(R(),B(M(wh),{ref_key:`primitiveElement`,ref:a,as:e.as,"as-child":e.asChild,value:M(r),disabled:s.value?``:void 0,"data-disabled":s.value?``:void 0,"aria-disabled":s.value??void 0,"aria-activedescendant":c.value,type:`text`,onKeydown:[Zl(m,[`down`,`up`,`home`,`end`]),Zl(h,[`enter`])],onInput:p,onCompositionstart:f,onCompositionend:M(d)},{default:N(()=>[I(e.$slots,`default`,{modelValue:M(r)})]),_:3},8,[`as`,`as-child`,`value`,`disabled`,`data-disabled`,`aria-disabled`,`aria-activedescendant`,`onCompositionend`]))}}),Ig=`listbox.select`,[Lg,Rg]=Wp(`ListboxItem`),zg=P({__name:`ListboxItem`,props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`div`}},emits:[`select`],setup(e,{emit:t}){let n=e,r=t,i=fh(void 0,`reka-listbox-item`),{CollectionItem:a}=vg(),{forwardRef:o,currentElement:s}=Y(),c=jg(),l=K(()=>s.value!=null&&s.value===c.highlightedElement.value),u=K(()=>Sg(c.modelValue.value,n.value,c.by)),d=K(()=>c.disabled.value||n.disabled);async function f(e){r(`select`,e),!e?.defaultPrevented&&!d.value&&e&&(c.onValueChange(n.value),c.changeHighlight(s.value))}function p(e){Kp(Ig,f,{originalEvent:e,value:n.value})}return Rg({isSelected:u}),(e,t)=>(R(),B(M(a),{value:e.value},{default:N(()=>[Ys([l.value,u.value,d.value,M(c).focusable.value],()=>H(M(wh),G({id:M(i)},e.$attrs,{ref:M(o),role:`option`,tabindex:M(c).focusable.value?l.value?`0`:`-1`:-1,"aria-selected":u.value,as:e.as,"as-child":e.asChild,disabled:d.value?``:void 0,"data-disabled":d.value?``:void 0,"data-highlighted":l.value?``:void 0,"data-state":u.value?`checked`:`unchecked`,onClick:p,onKeydown:Zl(Yl(p,[`prevent`]),[`space`]),onPointermove:t[0]||=()=>{M(c).highlightedElement.value!==M(s)&&M(c).highlightOnHover.value&&M(c).changeHighlight(M(s),!1,!1)}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`,`tabindex`,`aria-selected`,`as`,`as-child`,`disabled`,`data-disabled`,`data-highlighted`,`data-state`,`onKeydown`]),t,1)]),_:3},8,[`value`]))}}),Bg=P({__name:`ListboxItemIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e;Y();let n=Lg();return(e,r)=>M(n).isSelected.value?(R(),B(M(wh),G({key:0,"aria-hidden":`true`},t),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)):W(`v-if`,!0)}}),[Vg,Hg]=Wp(`PopperRoot`),Ug=P({inheritAttrs:!1,__name:`PopperRoot`,setup(e){let t=j();return Hg({anchor:t,onAnchorChange:e=>t.value=e}),(e,t)=>I(e.$slots,`default`)}}),Wg=P({__name:`PopperAnchor`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{forwardRef:n,currentElement:r}=Y(),i=Vg();return Tr(()=>{i.onAnchorChange(t.reference??r.value)}),(e,t)=>(R(),B(M(wh),{ref:M(n),as:e.as,"as-child":e.asChild},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}});function Gg(e){return e!==null}function Kg(e){return{name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=qg(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}}}function qg(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var Jg=[`top`,`right`,`bottom`,`left`],Yg=Math.min,Xg=Math.max,Zg=Math.round,Qg=Math.floor,$g=e=>({x:e,y:e}),e_={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function t_(e,t,n){return Xg(e,Yg(t,n))}function n_(e,t){return typeof e==`function`?e(t):e}function r_(e){return e.split(`-`)[0]}function i_(e){return e.split(`-`)[1]}function a_(e){return e===`x`?`y`:`x`}function o_(e){return e===`y`?`height`:`width`}function s_(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function c_(e){return a_(s_(e))}function l_(e,t,n){n===void 0&&(n=!1);let r=i_(e),i=c_(e),a=o_(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=v_(o)),[o,v_(o)]}function u_(e){let t=v_(e);return[d_(e),t,d_(t)]}function d_(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var f_=[`left`,`right`],p_=[`right`,`left`],m_=[`top`,`bottom`],h_=[`bottom`,`top`];function g_(e,t,n){switch(e){case`top`:case`bottom`:return n?t?p_:f_:t?f_:p_;case`left`:case`right`:return t?m_:h_;default:return[]}}function __(e,t,n,r){let i=i_(e),a=g_(r_(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(d_)))),a}function v_(e){let t=r_(e);return e_[t]+e.slice(t.length)}function y_(e){return{top:0,right:0,bottom:0,left:0,...e}}function b_(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:y_(e)}function x_(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function S_(e,t,n){let{reference:r,floating:i}=e,a=s_(t),o=c_(t),s=o_(o),c=r_(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(i_(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function C_(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=n_(t,e),p=b_(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=x_(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=x_(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var w_=50,T_=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:C_},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=S_(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<w_&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=S_(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},E_=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=n_(e,t)||{};if(l==null)return{};let d=b_(u),f={x:n,y:r},p=c_(i),m=o_(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,ee=Yg(d[_],T),E=Yg(d[v],T),te=ee,ne=C-h[m]-E,re=C/2-h[m]/2+w,D=t_(te,re,ne),ie=!c.arrow&&i_(i)!=null&&re!==D&&a.reference[m]/2-(re<te?ee:E)-h[m]/2<0,ae=ie?re<te?re-te:re-ne:0;return{[p]:f[p]+ae,data:{[p]:D,centerOffset:re-D-ae,...ie&&{alignmentOffset:ae}},reset:ie}}}),D_=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=n_(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=r_(r),_=s_(o),v=r_(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[v_(o)]:u_(o)),x=p!==`none`;!d&&x&&b.push(...__(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=l_(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==s_(t))||T.every(e=>s_(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=s_(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function O_(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function k_(e){return Jg.some(t=>e[t]>=0)}var A_=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=n_(e,t);switch(i){case`referenceHidden`:{let e=O_(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:k_(e)}}}case`escaped`:{let e=O_(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:k_(e)}}}default:return{}}}}},j_=new Set([`left`,`top`]);async function M_(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=r_(n),s=i_(n),c=s_(n)===`y`,l=j_.has(o)?-1:1,u=a&&c?-1:1,d=n_(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var N_=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await M_(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},P_=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=n_(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=s_(r_(i)),p=a_(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=t_(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=t_(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},F_=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=n_(e,t),u={x:n,y:r},d=s_(i),f=a_(d),p=u[f],m=u[d],h=n_(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=j_.has(r_(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},I_=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=n_(e,t),u=await o.detectOverflow(t,l),d=r_(i),f=i_(i),p=s_(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=Yg(h-u[g],v),x=Yg(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=Xg(u.left,0),t=Xg(u.right,0),n=Xg(u.top,0),r=Xg(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:Xg(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:Xg(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function L_(){return typeof window<`u`}function R_(e){return V_(e)?(e.nodeName||``).toLowerCase():`#document`}function z_(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function B_(e){return((V_(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function V_(e){return L_()?e instanceof Node||e instanceof z_(e).Node:!1}function H_(e){return L_()?e instanceof Element||e instanceof z_(e).Element:!1}function U_(e){return L_()?e instanceof HTMLElement||e instanceof z_(e).HTMLElement:!1}function W_(e){return!L_()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof z_(e).ShadowRoot}function G_(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=nv(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function K_(e){return/^(table|td|th)$/.test(R_(e))}function q_(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var J_=/transform|translate|scale|rotate|perspective|filter/,Y_=/paint|layout|strict|content/,X_=e=>!!e&&e!==`none`,Z_;function Q_(e){let t=H_(e)?nv(e):e;return X_(t.transform)||X_(t.translate)||X_(t.scale)||X_(t.rotate)||X_(t.perspective)||!ev()&&(X_(t.backdropFilter)||X_(t.filter))||J_.test(t.willChange||``)||Y_.test(t.contain||``)}function $_(e){let t=iv(e);for(;U_(t)&&!tv(t);){if(Q_(t))return t;if(q_(t))return null;t=iv(t)}return null}function ev(){return Z_??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Z_}function tv(e){return/^(html|body|#document)$/.test(R_(e))}function nv(e){return z_(e).getComputedStyle(e)}function rv(e){return H_(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function iv(e){if(R_(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||W_(e)&&e.host||B_(e);return W_(t)?t.host:t}function av(e){let t=iv(e);return tv(t)?e.ownerDocument?e.ownerDocument.body:e.body:U_(t)&&G_(t)?t:av(t)}function ov(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=av(e),i=r===e.ownerDocument?.body,a=z_(r);if(i){let e=sv(a);return t.concat(a,a.visualViewport||[],G_(r)?r:[],e&&n?ov(e):[])}else return t.concat(r,ov(r,[],n))}function sv(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function cv(e){let t=nv(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=U_(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Zg(n)!==a||Zg(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function lv(e){return H_(e)?e:e.contextElement}function uv(e){let t=lv(e);if(!U_(t))return $g(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=cv(t),o=(a?Zg(n.width):n.width)/r,s=(a?Zg(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var dv=$g(0);function fv(e){let t=z_(e);return!ev()||!t.visualViewport?dv:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function pv(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==z_(e)?!1:t}function mv(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=lv(e),o=$g(1);t&&(r?H_(r)&&(o=uv(r)):o=uv(e));let s=pv(a,n,r)?fv(a):$g(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=z_(a),t=r&&H_(r)?z_(r):r,n=e,i=sv(n);for(;i&&r&&t!==n;){let e=uv(i),t=i.getBoundingClientRect(),r=nv(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=z_(i),i=sv(n)}}return x_({width:u,height:d,x:c,y:l})}function hv(e,t){let n=rv(e).scrollLeft;return t?t.left+n:mv(B_(e)).left+n}function gv(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-hv(e,n),y:n.top+t.scrollTop}}function _v(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=B_(r),s=t?q_(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=$g(1),u=$g(0),d=U_(r);if((d||!d&&!a)&&((R_(r)!==`body`||G_(o))&&(c=rv(r)),d)){let e=mv(r);l=uv(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?gv(o,c):$g(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function vv(e){return Array.from(e.getClientRects())}function yv(e){let t=B_(e),n=rv(e),r=e.ownerDocument.body,i=Xg(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=Xg(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+hv(e),s=-n.scrollTop;return nv(r).direction===`rtl`&&(o+=Xg(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var bv=25;function xv(e,t){let n=z_(e),r=B_(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=ev();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=hv(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=bv&&(a-=o)}else l<=bv&&(a+=l);return{width:a,height:o,x:s,y:c}}function Sv(e,t){let n=mv(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=U_(e)?uv(e):$g(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Cv(e,t,n){let r;if(t===`viewport`)r=xv(e,n);else if(t===`document`)r=yv(B_(e));else if(H_(t))r=Sv(t,n);else{let n=fv(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return x_(r)}function wv(e,t){let n=iv(e);return n===t||!H_(n)||tv(n)?!1:nv(n).position===`fixed`||wv(n,t)}function Tv(e,t){let n=t.get(e);if(n)return n;let r=ov(e,[],!1).filter(e=>H_(e)&&R_(e)!==`body`),i=null,a=nv(e).position===`fixed`,o=a?iv(e):e;for(;H_(o)&&!tv(o);){let t=nv(o),n=Q_(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||G_(o)&&!n&&wv(e,o))?r=r.filter(e=>e!==o):i=t,o=iv(o)}return t.set(e,r),r}function Ev(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?q_(t)?[]:Tv(t,this._c):[].concat(n),r],o=Cv(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Cv(t,a[e],i);s=Xg(n.top,s),c=Yg(n.right,c),l=Yg(n.bottom,l),u=Xg(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Dv(e){let{width:t,height:n}=cv(e);return{width:t,height:n}}function Ov(e,t,n){let r=U_(t),i=B_(t),a=n===`fixed`,o=mv(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=$g(0);function l(){c.x=hv(i)}if(r||!r&&!a)if((R_(t)!==`body`||G_(i))&&(s=rv(t)),r){let e=mv(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?gv(i,s):$g(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function kv(e){return nv(e).position===`static`}function Av(e,t){if(!U_(e)||nv(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return B_(e)===n&&(n=n.ownerDocument.body),n}function jv(e,t){let n=z_(e);if(q_(e))return n;if(!U_(e)){let t=iv(e);for(;t&&!tv(t);){if(H_(t)&&!kv(t))return t;t=iv(t)}return n}let r=Av(e,t);for(;r&&K_(r)&&kv(r);)r=Av(r,t);return r&&tv(r)&&kv(r)&&!Q_(r)?n:r||$_(e)||n}var Mv=async function(e){let t=this.getOffsetParent||jv,n=this.getDimensions,r=await n(e.floating);return{reference:Ov(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Nv(e){return nv(e).direction===`rtl`}var Pv={convertOffsetParentRelativeRectToViewportRelativeRect:_v,getDocumentElement:B_,getClippingRect:Ev,getOffsetParent:jv,getElementRects:Mv,getClientRects:vv,getDimensions:Dv,getScale:uv,isElement:H_,isRTL:Nv};function Fv(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Iv(e,t){let n=null,r,i=B_(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=Qg(d),h=Qg(i.clientWidth-(u+f)),g=Qg(i.clientHeight-(d+p)),_=Qg(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:Xg(0,Yg(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!Fv(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function Lv(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=lv(e),u=i||a?[...l?ov(l):[],...t?ov(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Iv(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?mv(e):null;c&&g();function g(){let t=mv(e);h&&!Fv(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var Rv=N_,zv=P_,Bv=D_,Vv=I_,Hv=A_,Uv=E_,Wv=F_,Gv=(e,t,n)=>{let r=new Map,i={platform:Pv,...n},a={...i.platform,_c:r};return T_(e,t,{...i,platform:a})};function Kv(e){return typeof e==`object`&&!!e&&`$el`in e}function qv(e){if(Kv(e)){let t=e.$el;return V_(t)&&R_(t)===`#comment`?null:t}return e}function Jv(e){return typeof e==`function`?e():M(e)}function Yv(e){return{name:`arrow`,options:e,fn(t){let n=qv(Jv(e.element));return n==null?{}:Uv({element:n,padding:e.padding}).fn(t)}}}function Xv(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Zv(e,t){let n=Xv(e);return Math.round(t*n)/n}function Qv(e,t,n){n===void 0&&(n={});let r=n.whileElementsMounted,i=K(()=>Jv(n.open)??!0),a=K(()=>Jv(n.middleware)),o=K(()=>Jv(n.placement)??`bottom`),s=K(()=>Jv(n.strategy)??`absolute`),c=K(()=>Jv(n.transform)??!0),l=K(()=>qv(e.value)),u=K(()=>qv(t.value)),d=j(0),f=j(0),p=j(s.value),m=j(o.value),h=dn({}),g=j(!1),_=K(()=>{let e={position:p.value,left:`0`,top:`0`};if(!u.value)return e;let t=Zv(u.value,d.value),n=Zv(u.value,f.value);return c.value?{...e,transform:`translate(`+t+`px, `+n+`px)`,...Xv(u.value)>=1.5&&{willChange:`transform`}}:{position:p.value,left:t+`px`,top:n+`px`}}),v;function y(){if(l.value==null||u.value==null)return;let e=i.value;Gv(l.value,u.value,{middleware:a.value,placement:o.value,strategy:s.value}).then(t=>{d.value=t.x,f.value=t.y,p.value=t.strategy,m.value=t.placement,h.value=t.middlewareData,g.value=e!==!1})}function b(){typeof v==`function`&&(v(),v=void 0)}function x(){if(b(),r===void 0){y();return}if(l.value!=null&&u.value!=null){v=r(l.value,u.value,y);return}}function S(){i.value||(g.value=!1)}return Dr([a,o,s,i],y,{flush:`sync`}),Dr([l,u],x,{flush:`sync`}),Dr(i,S,{flush:`sync`}),Pe()&&Fe(b),{x:$t(d),y:$t(f),strategy:$t(p),placement:$t(m),middlewareData:$t(h),isPositioned:$t(g),floatingStyles:_,update:y}}var $v={side:`bottom`,sideOffset:0,sideFlip:!0,align:`center`,alignOffset:0,alignFlip:!0,arrowPadding:0,hideShiftedArrow:!0,avoidCollisions:!0,collisionBoundary:()=>[],collisionPadding:0,sticky:`partial`,hideWhenDetached:!1,positionStrategy:`fixed`,updatePositionStrategy:`optimized`,prioritizePosition:!1},[ey,ty]=Wp(`PopperContent`),ny=P({inheritAttrs:!1,__name:`PopperContent`,props:Oa({side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...$v}),emits:[`placed`],setup(e,{emit:t}){let n=e,r=t,i=Vg(),{forwardRef:a,currentElement:o}=Y(),s=j(),c=j(),{width:l,height:u}=mh(c),d=K(()=>n.side+(n.align===`center`?``:`-${n.align}`)),f=K(()=>typeof n.collisionPadding==`number`?n.collisionPadding:{top:0,right:0,bottom:0,left:0,...n.collisionPadding}),p=K(()=>Array.isArray(n.collisionBoundary)?n.collisionBoundary:[n.collisionBoundary]),m=K(()=>({padding:f.value,boundary:p.value.filter(Gg),altBoundary:p.value.length>0})),h=K(()=>({mainAxis:n.sideFlip,crossAxis:n.alignFlip})),g=Jp(()=>[Rv({mainAxis:n.sideOffset+u.value,alignmentAxis:n.alignOffset}),n.prioritizePosition&&n.avoidCollisions&&Bv({...m.value,...h.value}),n.avoidCollisions&&zv({mainAxis:!0,crossAxis:!!n.prioritizePosition,limiter:n.sticky===`partial`?Wv():void 0,...m.value}),!n.prioritizePosition&&n.avoidCollisions&&Bv({...m.value,...h.value}),Vv({...m.value,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--reka-popper-available-width`,`${n}px`),o.setProperty(`--reka-popper-available-height`,`${r}px`),o.setProperty(`--reka-popper-anchor-width`,`${i}px`),o.setProperty(`--reka-popper-anchor-height`,`${a}px`)}}),c.value&&Yv({element:c.value,padding:n.arrowPadding}),Kg({arrowWidth:l.value,arrowHeight:u.value}),n.hideWhenDetached&&Hv({strategy:`referenceHidden`,...m.value})]),{floatingStyles:_,placement:v,isPositioned:y,middlewareData:b,update:x}=Qv(K(()=>n.reference??i.anchor.value),s,{strategy:n.positionStrategy,placement:d,whileElementsMounted:(...e)=>Lv(...e,{layoutShift:!n.disableUpdateOnLayoutShift,animationFrame:n.updatePositionStrategy===`always`}),middleware:g}),S=K(()=>qg(v.value)[0]),C=K(()=>qg(v.value)[1]);Tr(()=>{y.value&&r(`placed`)});let w=K(()=>{let e=b.value.arrow?.centerOffset!==0;return n.hideShiftedArrow&&e}),T=j(``);return wr(()=>{o.value&&(T.value=window.getComputedStyle(o.value).zIndex)}),ty({placedSide:S,onArrowChange:e=>c.value=e,arrowX:K(()=>b.value.arrow?.x??0),arrowY:K(()=>b.value.arrow?.y??0),shouldHideArrow:w}),(e,t)=>(R(),z(`div`,{ref_key:`floatingRef`,ref:s,"data-reka-popper-content-wrapper":``,style:he({...M(_),transform:M(y)?M(_).transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:T.value,"--reka-popper-transform-origin":[M(b).transformOrigin?.x,M(b).transformOrigin?.y].join(` `),...M(b).hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}})},[H(M(wh),G({ref:M(a)},e.$attrs,{"as-child":n.asChild,as:e.as,"data-side":S.value,"data-align":C.value,style:{animation:M(y)?void 0:`none`}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`as-child`,`as`,`data-side`,`data-align`,`style`])],4))}}),[ry,iy]=Wp(`ComboboxRoot`),ay=P({__name:`ComboboxRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},resetSearchTermOnBlur:{type:Boolean,required:!1,default:!0},resetSearchTermOnSelect:{type:Boolean,required:!1,default:!0},openOnFocus:{type:Boolean,required:!1,default:!1},openOnClick:{type:Boolean,required:!1,default:!1},ignoreFilter:{type:Boolean,required:!1},resetModelValueOnClear:{type:Boolean,required:!1,default:!1},modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},multiple:{type:Boolean,required:!1},dir:{type:String,required:!1},disabled:{type:Boolean,required:!1},highlightOnHover:{type:Boolean,required:!1,default:!0},by:{type:[String,Function],required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`,`highlight`,`update:open`],setup(e,{expose:t,emit:n}){let r=e,i=n,{primitiveElement:a,currentElement:o}=Th(),{multiple:s,disabled:c,ignoreFilter:l,resetSearchTermOnSelect:u,openOnFocus:d,openOnClick:f,dir:p,resetModelValueOnClear:m,highlightOnHover:h}=bn(r),g=zm(p),_=Cm(r,`modelValue`,i,{defaultValue:r.defaultValue??(s.value?[]:void 0),passive:r.modelValue===void 0,deep:!0}),v=Cm(r,`open`,i,{defaultValue:r.defaultOpen,passive:r.open===void 0});async function y(e){v.value=e,ne.value=``,e?(await $n(),a.value?.highlightSelected(),x.value=!0,C.value?.focus()):(x.value=!1,setTimeout(()=>{!e&&r.resetSearchTermOnBlur&&b.trigger()},1))}let b=Xp(),x=j(!1),S=j(!1),C=j(),w=j(),T=K(()=>a.value?.highlightedElement??void 0),ee=j(new Map),E=j(new Map),{contains:te}=Vm({sensitivity:`base`}),ne=j(``),re=K(e=>{if(!ne.value||r.ignoreFilter||S.value)return{count:ee.value.size,items:e?.items??new Map,groups:e?.groups??new Set(E.value.keys())};let t=0,n=new Map,i=new Set;for(let[e,r]of ee.value){let i=te(r,ne.value);n.set(e,+!!i),i&&t++}for(let[e,t]of E.value)for(let r of t)if(n.get(r)>0){i.add(e);break}return{count:t,items:n,groups:i}}),D=Ds();return Ki(()=>{D?.exposed&&(D.exposed.highlightItem=a.value?.highlightItem,D.exposed.highlightFirstItem=a.value?.highlightFirstItem,D.exposed.highlightSelected=a.value?.highlightSelected)}),t({filtered:re,highlightedElement:T,highlightItem:a.value?.highlightItem,highlightFirstItem:a.value?.highlightFirstItem,highlightSelected:a.value?.highlightSelected}),iy({modelValue:_,multiple:s,disabled:c,open:v,onOpenChange:y,contentId:``,isUserInputted:x,isVirtual:S,inputElement:C,highlightedElement:T,onInputElementChange:e=>C.value=e,triggerElement:w,onTriggerElementChange:e=>w.value=e,parentElement:o,resetSearchTermOnSelect:u,onResetSearchTerm:b.on,allItems:ee,allGroups:E,filterSearch:ne,filterState:re,ignoreFilter:l,openOnFocus:d,openOnClick:f,resetModelValueOnClear:m}),(e,t)=>(R(),B(M(Ug),null,{default:N(()=>[H(M(Ng),G({ref_key:`primitiveElement`,ref:a},e.$attrs,{modelValue:M(_),"onUpdate:modelValue":t[0]||=e=>un(_)?_.value=e:null,style:{pointerEvents:M(v)?`auto`:void 0},as:e.as,"as-child":e.asChild,dir:M(g),multiple:M(s),name:e.name,required:e.required,disabled:M(c),"highlight-on-hover":M(h),by:r.by,onHighlight:t[1]||=e=>i(`highlight`,e)}),{default:N(()=>[I(e.$slots,`default`,{open:M(v),modelValue:M(_)})]),_:3},16,[`modelValue`,`style`,`as`,`as-child`,`dir`,`multiple`,`name`,`required`,`disabled`,`highlight-on-hover`,`by`])]),_:3}))}}),oy=P({__name:`ComboboxAnchor`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let{forwardRef:t}=Y();return(e,n)=>(R(),B(M(Wg),{"as-child":``,reference:e.reference},{default:N(()=>[H(M(wh),G({ref:M(t),"as-child":e.asChild,as:e.as},e.$attrs),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`as-child`,`as`])]),_:3},8,[`reference`]))}}),[sy,cy]=Wp(`ComboboxContent`),ly=P({__name:`ComboboxContentImpl`,props:{position:{type:String,required:!1,default:`inline`},bodyLock:{type:Boolean,required:!1},hideWhenEmpty:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`],setup(e,{emit:t}){let n=e,r=t,{position:i}=bn(n),a=ry(),o=K(()=>a.ignoreFilter.value?a.allItems.value.size===0:a.filterState.value.count===0),{forwardRef:s,currentElement:c}=Y();Fm(n.bodyLock),Um(),uh(a.parentElement);let l=Km(K(()=>n.position===`popper`?n:{}).value),u={boxSizing:`border-box`,"--reka-combobox-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-combobox-content-available-width":`var(--reka-popper-available-width)`,"--reka-combobox-content-available-height":`var(--reka-popper-available-height)`,"--reka-combobox-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-combobox-trigger-height":`var(--reka-popper-anchor-height)`};cy({position:i});let d=j(!1);return Ki(()=>{a.inputElement.value&&(d.value=c.value.contains(a.inputElement.value),d.value&&a.inputElement.value.focus())}),Xi(()=>{let e=Gp();d.value&&(!e||e===document.body)&&a.triggerElement.value?.focus()}),(e,t)=>(R(),B(M(Pg),{"as-child":``},{default:N(()=>[H(M(Xh),{"as-child":``,onMountAutoFocus:t[5]||=Yl(()=>{},[`prevent`]),onUnmountAutoFocus:t[6]||=Yl(()=>{},[`prevent`])},{default:N(()=>[H(M(Ih),{"as-child":``,"disable-outside-pointer-events":e.disableOutsidePointerEvents,onDismiss:t[0]||=e=>M(a).onOpenChange(!1),onFocusOutside:t[1]||=e=>{M(a).parentElement.value?.contains(e.target)&&e.preventDefault(),r(`focusOutside`,e)},onInteractOutside:t[2]||=e=>r(`interactOutside`,e),onEscapeKeyDown:t[3]||=e=>r(`escapeKeyDown`,e),onPointerDownOutside:t[4]||=e=>{M(a).parentElement.value?.contains(e.target)&&e.preventDefault(),r(`pointerDownOutside`,e)}},{default:N(()=>[(R(),B(aa(M(i)===`popper`?M(ny):M(wh)),G({...e.$attrs,...M(l)},{id:M(a).contentId,ref:M(s),"data-state":M(a).open.value?`open`:`closed`,"data-empty":o.value?``:void 0,style:{display:n.hideWhenEmpty&&o.value?`none`:`flex`,flexDirection:`column`,outline:`none`,...M(i)===`popper`?u:{}}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`data-empty`,`style`]))]),_:3},8,[`disable-outside-pointer-events`])]),_:3})]),_:3}))}}),uy=P({__name:`ComboboxContent`,props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},hideWhenEmpty:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`],setup(e,{emit:t}){let n=qm(e,t),{forwardRef:r}=Y(),i=ry();return i.contentId||=fh(void 0,`reka-combobox-content`),(e,t)=>(R(),B(M(xh),{present:e.forceMount||M(i).open.value},{default:N(()=>[H(ly,G({...M(n),...e.$attrs},{ref:M(r)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)]),_:3},8,[`present`]))}}),dy=P({__name:`ComboboxEmpty`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,n=ry(),r=K(()=>n.ignoreFilter.value?n.allItems.value.size===0:n.filterState.value.count===0);return(e,n)=>r.value?(R(),B(M(wh),be(G({key:0},t)),{default:N(()=>[I(e.$slots,`default`,{},()=>[n[0]||=U(`No options`)])]),_:3},16)):W(`v-if`,!0)}}),[fy,py]=Wp(`ComboboxGroup`),my=P({__name:`ComboboxInput`,props:{displayValue:{type:Function,required:!1},modelValue:{type:String,required:!1},autoFocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`input`}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,i=ry(),a=jg(),{primitiveElement:o,currentElement:s}=Th(),c=Cm(n,`modelValue`,r,{passive:n.modelValue===void 0});Ki(()=>{s.value&&i.onInputElementChange(s.value)});let{isComposing:l,handleCompositionStart:u,handleCompositionEnd:d}=Rm(e=>{let t=e.target;t&&p(t.value)});function f(e){l.value||(e.preventDefault(),i.open.value||i.onOpenChange(!0))}function p(e){i.open.value?i.filterSearch.value=e:(i.onOpenChange(!0),$n(()=>{e&&(i.filterSearch.value=e,a.highlightFirstItem())}))}function m(e){l.value||p(e.target.value)}function h(){i.openOnFocus.value&&!i.open.value&&i.onOpenChange(!0)}function g(e){if(!i.open.value)return;let t=e.relatedTarget;if(!t)return;let n=i.parentElement.value?.contains(t),r=document.getElementById(i.contentId)?.contains(t);!n&&!r&&requestAnimationFrame(()=>{if(!i.open.value)return;let e=document.activeElement;!i.parentElement.value?.contains(e)&&!document.getElementById(i.contentId)?.contains(e)&&i.onOpenChange(!1)})}function _(){i.openOnClick.value&&!i.open.value&&i.onOpenChange(!0)}function v(){let e=i.modelValue.value;n.displayValue?c.value=n.displayValue(e):!i.multiple.value&&e&&!Array.isArray(e)?typeof e==`object`?c.value=``:c.value=e.toString():c.value=``,$n(()=>{c.value=c.value})}return i.onResetSearchTerm(()=>{v()}),Dr(i.modelValue,async()=>{!i.isUserInputted.value&&i.resetSearchTermOnSelect.value&&v()},{immediate:!0,deep:!0}),Dr(i.filterState,(e,t)=>{!i.isVirtual.value&&t.count===0&&a.highlightFirstItem()}),(e,t)=>(R(),B(M(Fg),{ref_key:`primitiveElement`,ref:o,modelValue:M(c),"onUpdate:modelValue":t[0]||=e=>un(c)?c.value=e:null,as:e.as,"as-child":e.asChild,"auto-focus":e.autoFocus,disabled:e.disabled,"aria-expanded":M(i).open.value,"aria-controls":M(i).contentId,"aria-autocomplete":`list`,role:`combobox`,autocomplete:`off`,onClick:_,onInput:m,onKeydown:Zl(f,[`down`,`up`]),onFocus:h,onBlur:g,onCompositionstart:M(u),onCompositionend:M(d)},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`modelValue`,`as`,`as-child`,`auto-focus`,`disabled`,`aria-expanded`,`aria-controls`,`onCompositionstart`,`onCompositionend`]))}}),hy=P({__name:`ComboboxItem`,props:{textValue:{type:String,required:!1},value:{type:null,required:!0},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`select`],setup(e,{emit:t}){let n=e,r=t,i=fh(void 0,`reka-combobox-item`),a=ry(),o=fy(null),{primitiveElement:s,currentElement:c}=Th();if(n.value===``)throw Error(`A <ComboboxItem /> must have a value prop that is not an empty string. This is because the Combobox value can be set to an empty string to clear the selection and show the placeholder.`);let l=K(()=>{if(a.isVirtual.value||a.ignoreFilter.value||!a.filterSearch.value)return!0;{let e=a.filterState.value.items.get(i);return e===void 0?!0:e>0}});return Ki(()=>{a.allItems.value.set(i,n.textValue||c.value.textContent||c.value.innerText);let e=o?.id;e&&(a.allGroups.value.has(e)?a.allGroups.value.get(e)?.add(i):a.allGroups.value.set(e,new Set([i])))}),Xi(()=>{a.allItems.value.delete(i)}),(e,t)=>l.value?(R(),B(M(zg),G({key:0},n,{id:M(i),ref_key:`primitiveElement`,ref:s,disabled:M(a).disabled.value||e.disabled,onSelect:t[0]||=t=>{r(`select`,t),!t.defaultPrevented&&(!M(a).multiple.value&&!e.disabled&&!M(a).disabled.value?(t.preventDefault(),M(a).onOpenChange(!1),M(a).modelValue.value=n.value):M(a).multiple.value&&M(a).inputElement.value?.focus())}}),{default:N(()=>[I(e.$slots,`default`,{},()=>[U(A(e.value),1)])]),_:3},16,[`id`,`disabled`])):W(`v-if`,!0)}}),gy=P({__name:`ComboboxItemIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e;return(e,n)=>(R(),B(M(Bg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),_y=P({__name:`ComboboxPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(R(),B(M(mg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),vy=P({__name:`ComboboxTrigger`,props:{disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,{forwardRef:n,currentElement:r}=Y(),i=ry(),a=K(()=>t.disabled||i.disabled.value||!1);return Ki(()=>{r.value&&i.onTriggerElementChange(r.value)}),(e,r)=>(R(),B(M(wh),G(t,{ref:M(n),type:e.as===`button`?`button`:void 0,tabindex:`-1`,"aria-label":`Show popup`,"aria-haspopup":`listbox`,"aria-expanded":M(i).open.value,"aria-controls":M(i).contentId,"data-state":M(i).open.value?`open`:`closed`,disabled:a.value,"data-disabled":a.value?``:void 0,"aria-disabled":a.value??void 0,onClick:r[0]||=e=>M(i).onOpenChange(!M(i).open.value)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`type`,`aria-expanded`,`aria-controls`,`data-state`,`disabled`,`data-disabled`,`aria-disabled`]))}});function yy(e){let t=Om({nonce:j()});return K(()=>e?.value||t.nonce?.value)}var by=P({__name:`ComboboxViewport`,props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{forwardRef:n}=Y(),{nonce:r}=bn(t),i=yy(r),a=ry();return(e,r)=>(R(),z(L,null,[H(M(wh),G({...e.$attrs,...t},{ref:M(n),"data-reka-combobox-viewport":``,role:`presentation`,style:{position:`relative`,flex:M(a).isVirtual.value?void 0:1,overflow:`auto`}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`style`]),H(M(wh),{as:`style`,nonce:M(i)},{default:N(()=>r[0]||=[U(` /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-combobox-viewport] { scrollbar-width:none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } [data-reka-combobox-viewport]::-webkit-scrollbar { display: none; } `)]),_:1,__:[0]},8,[`nonce`])],64))}}),[xy,Sy]=Wp(`RovingFocusGroup`),Cy=P({__name:`RovingFocusGroup`,props:{orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},currentTabStopId:{type:[String,null],required:!1},defaultCurrentTabStopId:{type:String,required:!1},preventScrollOnEntryFocus:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`entryFocus`,`update:currentTabStopId`],setup(e,{expose:t,emit:n}){let r=e,i=n,{loop:a,orientation:o,dir:s}=bn(r),c=zm(s),l=Cm(r,`currentTabStopId`,i,{defaultValue:r.defaultCurrentTabStopId,passive:r.currentTabStopId===void 0}),u=j(!1),d=j(!1),f=j(0),{getItems:p,CollectionSlot:m}=vg({isProvider:!0});function h(e){let t=!d.value;if(e.currentTarget&&e.target===e.currentTarget&&t&&!u.value){let t=new CustomEvent(wg,Tg);if(e.currentTarget.dispatchEvent(t),i(`entryFocus`,t),!t.defaultPrevented){let e=p().map(e=>e.ref).filter(e=>e.dataset.disabled!==``);kg([e.find(e=>e.getAttribute(`data-active`)===``),e.find(e=>e.getAttribute(`data-highlighted`)===``),e.find(e=>e.id===l.value),...e].filter(Boolean),r.preventScrollOnEntryFocus)}}d.value=!1}function g(){setTimeout(()=>{d.value=!1},1)}return t({getItems:p}),Sy({loop:a,dir:c,orientation:o,currentTabStopId:l,onItemFocus:e=>{l.value=e},onItemShiftTab:()=>{u.value=!0},onFocusableItemAdd:()=>{f.value++},onFocusableItemRemove:()=>{f.value--}}),(e,t)=>(R(),B(M(m),null,{default:N(()=>[H(M(wh),{tabindex:u.value||f.value===0?-1:0,"data-orientation":M(o),as:e.as,"as-child":e.asChild,dir:M(c),style:{outline:`none`},onMousedown:t[0]||=e=>d.value=!0,onMouseup:g,onFocus:h,onBlur:t[1]||=e=>u.value=!1},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`as`,`as-child`,`dir`])]),_:3}))}}),wy=P({__name:`RovingFocusItem`,props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=xy(),r=fh(),i=K(()=>t.tabStopId||r),a=K(()=>n.currentTabStopId.value===i.value),{getItems:o,CollectionItem:s}=vg();Ki(()=>{t.focusable&&n.onFocusableItemAdd()}),Xi(()=>{t.focusable&&n.onFocusableItemRemove()});function c(e){if(e.key===`Tab`&&e.shiftKey){n.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let r=Og(e,n.orientation.value,n.dir.value);if(r!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||!t.allowShiftKey&&e.shiftKey)return;e.preventDefault();let i=[...o().map(e=>e.ref).filter(e=>e.dataset.disabled!==``)];if(r===`last`)i.reverse();else if(r===`prev`||r===`next`){r===`prev`&&i.reverse();let t=i.indexOf(e.currentTarget);i=n.loop.value?Ag(i,t+1):i.slice(t+1)}$n(()=>kg(i))}}return(e,t)=>(R(),B(M(s),null,{default:N(()=>[H(M(wh),{tabindex:a.value?0:-1,"data-orientation":M(n).orientation.value,"data-active":e.active?``:void 0,"data-disabled":e.focusable?void 0:``,as:e.as,"as-child":e.asChild,onMousedown:t[0]||=t=>{e.focusable?M(n).onItemFocus(i.value):t.preventDefault()},onFocus:t[1]||=e=>M(n).onItemFocus(i.value),onKeydown:c},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`data-active`,`data-disabled`,`as`,`as-child`])]),_:3}))}}),Ty=P({__name:`MenuAnchor`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return(e,n)=>(R(),B(M(Wg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}});function Ey(){let e=j(!1);return Ki(()=>{gm(`keydown`,()=>{e.value=!0},{capture:!0,passive:!0}),gm([`pointerdown`,`pointermove`],()=>{e.value=!1},{capture:!0,passive:!0})}),e}var Dy=om(Ey),[Oy,ky]=Wp([`MenuRoot`,`MenuSub`],`MenuContext`),[Ay,jy]=Wp(`MenuRoot`),My=P({__name:`MenuRoot`,props:{open:{type:Boolean,required:!1,default:!1},dir:{type:String,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t,{modal:i,dir:a}=bn(n),o=zm(a),s=Cm(n,`open`,r),c=j(),l=Dy();return ky({open:s,onOpenChange:e=>{s.value=e},content:c,onContentChange:e=>{c.value=e}}),jy({onClose:()=>{s.value=!1},isUsingKeyboardRef:l,dir:o,modal:i}),(e,t)=>(R(),B(M(Ug),null,{default:N(()=>[I(e.$slots,`default`)]),_:3}))}}),[Ny,Py]=Wp(`MenuContent`),Fy=P({__name:`MenuContentImpl`,props:Oa({loop:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},disableOutsideScroll:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...$v}),emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`entryFocus`,`openAutoFocus`,`closeAutoFocus`,`dismiss`],setup(e,{emit:t}){let n=e,r=t,i=Oy(),a=Ay(),{trapFocus:o,disableOutsidePointerEvents:s,loop:c}=bn(n);Um(),Fm(s.value);let l=j(``),u=j(0),d=j(0),f=j(null),p=j(`right`),m=j(0),h=j(null),g=j(),{forwardRef:_,currentElement:v}=Y(),{handleTypeaheadSearch:y}=gh(),b=j();function x(e){let t=Em(e,b.value||Gp(),v.value,{loop:c.value,arrowKeyOptions:`vertical`,dir:a?.dir.value,focus:!1,attributeName:`[data-reka-collection-item]:not([data-disabled])`});t&&(b.value=t,t.scrollIntoView({block:`nearest`}))}function S(){b.value&&b.value.click()}let C=j(),w=j();Dr(b,e=>{w.value&&(e===void 0||e!==w.value.trigger.value)&&(w.value.onOpenChange(!1),w.value=void 0)}),Dr(v,e=>{i.onContentChange(e)}),Xi(()=>{window.clearTimeout(u.value)});function T(e){return p.value===f.value?.side&&ag(e,f.value?.area)}async function ee(e){r(`openAutoFocus`,e),!e.defaultPrevented&&(e.preventDefault(),v.value?.focus({preventScroll:!0}))}function E(e){if(e.defaultPrevented)return;let t=e.target,n=t.closest(`[data-reka-menu-content]`)===e.currentTarget,r=[`input`,`textarea`].includes(t.tagName.toLowerCase()),i=e.ctrlKey||e.altKey||e.metaKey,o=e.key.length===1,s=Em(e,Gp(),v.value,{loop:c.value,arrowKeyOptions:`vertical`,dir:a?.dir.value,focus:!0,attributeName:`[data-reka-collection-item]:not([data-disabled])`});if(s)return s?.focus();if(e.code===`Space`)return;let l=g.value?.getItems()??[];if(n&&(e.key===`Tab`&&e.preventDefault(),!i&&o&&!r&&y(e.key,l)),e.target!==v.value||!tg.includes(e.key))return;e.preventDefault();let u=[...l.map(e=>e.ref)];eg.includes(e.key)&&u.reverse(),rg(u)}function te(e){e?.currentTarget?.contains?.(e.target)||(window.clearTimeout(u.value),l.value=``)}function ne(e){if(!og(e))return;let t=e.target,n=m.value!==e.clientX;(e?.currentTarget)?.contains(t)&&n&&(p.value=e.clientX>m.value?`right`:`left`,m.value=e.clientX)}function re(e){og(e)&&C.value&&C.value.focus()}return Py({onItemEnter:e=>!!T(e),onItemLeave:e=>T(e)?!0:([`INPUT`,`TEXTAREA`].includes(Gp()?.tagName||``)||v.value?.focus(),h.value=null,!1),onTriggerLeave:e=>!!T(e),searchRef:l,highlightedElement:b,onKeydownNavigation:x,onKeydownEnter:S,filterElement:C,onFilterElementChange:e=>{C.value=e},activeSubmenuContext:w,pointerGraceTimerRef:d,onPointerGraceIntentChange:e=>{f.value=e}}),(e,t)=>(R(),B(M(Xh),{"as-child":``,trapped:M(o),onMountAutoFocus:ee,onUnmountAutoFocus:t[7]||=e=>r(`closeAutoFocus`,e)},{default:N(()=>[H(M(Ih),{"as-child":``,"disable-outside-pointer-events":M(s),onEscapeKeyDown:t[2]||=e=>r(`escapeKeyDown`,e),onPointerDownOutside:t[3]||=e=>r(`pointerDownOutside`,e),onFocusOutside:t[4]||=e=>r(`focusOutside`,e),onInteractOutside:t[5]||=e=>r(`interactOutside`,e),onDismiss:t[6]||=e=>r(`dismiss`)},{default:N(()=>[H(M(Cy),{ref_key:`rovingFocusGroupRef`,ref:g,"current-tab-stop-id":h.value,"onUpdate:currentTabStopId":t[0]||=e=>h.value=e,"as-child":``,orientation:`vertical`,dir:M(a).dir.value,loop:M(c),onEntryFocus:t[1]||=e=>{r(`entryFocus`,e),M(a).isUsingKeyboardRef.value||e.preventDefault()}},{default:N(()=>[H(M(ny),{ref:M(_),role:`menu`,as:e.as,"as-child":e.asChild,"aria-orientation":`vertical`,"data-reka-menu-content":``,"data-state":M(ng)(M(i).open.value),dir:M(a).dir.value,side:e.side,"side-offset":e.sideOffset,align:e.align,"align-offset":e.alignOffset,"avoid-collisions":e.avoidCollisions,"collision-boundary":e.collisionBoundary,"collision-padding":e.collisionPadding,"arrow-padding":e.arrowPadding,"prioritize-position":e.prioritizePosition,"position-strategy":e.positionStrategy,"update-position-strategy":e.updatePositionStrategy,sticky:e.sticky,"hide-when-detached":e.hideWhenDetached,reference:e.reference,onKeydown:E,onBlur:te,onPointermove:ne,onPointerenter:re},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-state`,`dir`,`side`,`side-offset`,`align`,`align-offset`,`avoid-collisions`,`collision-boundary`,`collision-padding`,`arrow-padding`,`prioritize-position`,`position-strategy`,`update-position-strategy`,`sticky`,`hide-when-detached`,`reference`])]),_:3},8,[`current-tab-stop-id`,`dir`,`loop`])]),_:3},8,[`disable-outside-pointer-events`])]),_:3},8,[`trapped`]))}}),Iy=P({inheritAttrs:!1,__name:`MenuItemImpl`,props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,n=Ny(),{forwardRef:r,currentElement:i}=Y(),{CollectionItem:a}=vg(),o=j(!1),s=K(()=>o.value||i.value!=null&&n.highlightedElement.value===i.value);async function c(e){if(!(e.defaultPrevented||!og(e))){if(t.disabled)n.onItemLeave(e);else if(!n.onItemEnter(e)){let t=e.currentTarget;n.highlightedElement.value=t,[`INPUT`,`TEXTAREA`].includes(Gp()?.tagName||``)||t.focus({preventScroll:!0})}}}async function l(e){await $n(),!e.defaultPrevented&&og(e)&&n.highlightedElement.value===i.value&&!n.onItemLeave(e)&&n.highlightedElement.value===i.value&&(n.highlightedElement.value=void 0)}return(e,t)=>(R(),B(M(a),{value:{textValue:e.textValue}},{default:N(()=>[H(M(wh),G({ref:M(r),role:`menuitem`,tabindex:`-1`},e.$attrs,{as:e.as,"as-child":e.asChild,"aria-disabled":e.disabled||void 0,"data-disabled":e.disabled?``:void 0,"data-highlighted":s.value?``:void 0,onPointermove:c,onPointerleave:l,onFocus:t[0]||=async t=>{await $n(),!(t.defaultPrevented||e.disabled)&&(o.value=!0,M(n).highlightedElement.value=t.currentTarget)},onBlur:t[1]||=async e=>{await $n(),!e.defaultPrevented&&(o.value=!1)}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`as`,`as-child`,`aria-disabled`,`data-disabled`,`data-highlighted`])]),_:3},8,[`value`]))}}),Ly=P({__name:`MenuItem`,props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`select`],setup(e,{emit:t}){let n=e,r=t,{forwardRef:i,currentElement:a}=Y(),o=Ay(),s=Ny(),c=j(!1);async function l(){let e=a.value;if(!n.disabled&&e){let e=new CustomEvent(Zh,{bubbles:!0,cancelable:!0});r(`select`,e),await $n(),e.defaultPrevented?c.value=!1:o.onClose()}}return(e,t)=>(R(),B(Iy,G(n,{ref:M(i),onClick:l,onPointerdown:t[0]||=()=>{c.value=!0},onPointerup:t[1]||=async e=>{await $n(),!e.defaultPrevented&&(c.value||e.currentTarget?.click())},onKeydown:t[2]||=async t=>{let n=M(s).searchRef.value!==``;e.disabled||n&&t.key===` `||M(Qh).includes(t.key)&&(t.currentTarget?.click(),t.preventDefault())}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),Ry=P({__name:`MenuRootContentModal`,props:{loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`entryFocus`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=qm(n,r),a=Oy(),{forwardRef:o,currentElement:s}=Y();return uh(s),(e,t)=>(R(),B(Fy,G(M(i),{ref:M(o),"trap-focus":M(a).open.value,"disable-outside-pointer-events":M(a).open.value,"disable-outside-scroll":!0,onDismiss:t[0]||=e=>M(a).onOpenChange(!1),onFocusOutside:t[1]||=Yl(e=>r(`focusOutside`,e),[`prevent`])}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`trap-focus`,`disable-outside-pointer-events`]))}}),zy=P({__name:`MenuRootContentNonModal`,props:{loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`entryFocus`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=qm(e,t),r=Oy();return(e,t)=>(R(),B(Fy,G(M(n),{"trap-focus":!1,"disable-outside-pointer-events":!1,"disable-outside-scroll":!1,onDismiss:t[0]||=e=>M(r).onOpenChange(!1)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),By=P({__name:`MenuContent`,props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`entryFocus`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=qm(e,t),r=Oy(),i=Ay();return(e,t)=>(R(),B(M(xh),{present:e.forceMount||M(r).open.value},{default:N(()=>[M(i).modal.value?(R(),B(Ry,be(G({key:0},{...e.$attrs,...M(n)})),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)):(R(),B(zy,be(G({key:1},{...e.$attrs,...M(n)})),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),[Vy,Hy]=Wp(`MenuGroup`),Uy=P({__name:`MenuLabel`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`div`}},setup(e){let t=e,n=Vy({id:``});return(e,r)=>(R(),B(M(wh),G(t,{id:M(n).id||void 0}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`]))}}),Wy=P({__name:`MenuPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(R(),B(M(mg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),Gy=P({__name:`MenuSeparator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return(e,n)=>(R(),B(M(wh),G(t,{role:`separator`,"aria-orientation":`horizontal`}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),[Ky,qy]=Wp(`PopoverRoot`),Jy=P({__name:`PopoverRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},modal:{type:Boolean,required:!1,default:!1}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t,{modal:i}=bn(n),a=Cm(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0});return qy({contentId:``,triggerId:``,modal:i,open:a,onOpenChange:e=>{a.value=e},onOpenToggle:()=>{a.value=!a.value},triggerElement:j(),hasCustomAnchor:j(!1)}),(e,t)=>(R(),B(M(Ug),null,{default:N(()=>[I(e.$slots,`default`,{open:M(a),close:()=>a.value=!1})]),_:3}))}}),Yy=P({__name:`PopoverContentImpl`,props:{trapFocus:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Km(lm(n,`trapFocus`,`disableOutsidePointerEvents`)),{forwardRef:a}=Y(),o=Ky();return Um(),(e,t)=>(R(),B(M(Xh),{"as-child":``,loop:``,trapped:e.trapFocus,onMountAutoFocus:t[5]||=e=>r(`openAutoFocus`,e),onUnmountAutoFocus:t[6]||=e=>r(`closeAutoFocus`,e)},{default:N(()=>[H(M(Ih),{"as-child":``,"disable-outside-pointer-events":e.disableOutsidePointerEvents,onPointerDownOutside:t[0]||=e=>r(`pointerDownOutside`,e),onInteractOutside:t[1]||=e=>r(`interactOutside`,e),onEscapeKeyDown:t[2]||=e=>r(`escapeKeyDown`,e),onFocusOutside:t[3]||=e=>r(`focusOutside`,e),onDismiss:t[4]||=e=>M(o).onOpenChange(!1)},{default:N(()=>[H(M(ny),G(M(i),{id:M(o).contentId,ref:M(a),"data-state":M(o).open.value?`open`:`closed`,"aria-labelledby":M(o).triggerId,style:{"--reka-popover-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-popover-content-available-width":`var(--reka-popper-available-width)`,"--reka-popover-content-available-height":`var(--reka-popper-available-height)`,"--reka-popover-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-popover-trigger-height":`var(--reka-popper-anchor-height)`},role:`dialog`}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`aria-labelledby`])]),_:3},8,[`disable-outside-pointer-events`])]),_:3},8,[`trapped`]))}}),Xy=P({__name:`PopoverContentModal`,props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Ky(),a=j(!1);Fm(!0);let o=qm(n,r),{forwardRef:s,currentElement:c}=Y();return uh(c),(e,t)=>(R(),B(Yy,G(M(o),{ref:M(s),"trap-focus":M(i).open.value,"disable-outside-pointer-events":``,onCloseAutoFocus:t[0]||=Yl(e=>{r(`closeAutoFocus`,e),a.value||M(i).triggerElement.value?.focus()},[`prevent`]),onPointerDownOutside:t[1]||=e=>{r(`pointerDownOutside`,e);let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;a.value=t.button===2||n},onFocusOutside:t[2]||=Yl(()=>{},[`prevent`])}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`trap-focus`]))}}),Zy=P({__name:`PopoverContentNonModal`,props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Ky(),a=j(!1),o=j(!1),s=qm(n,r);return(e,t)=>(R(),B(Yy,G(M(s),{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:t[0]||=e=>{r(`closeAutoFocus`,e),e.defaultPrevented||(a.value||M(i).triggerElement.value?.focus(),e.preventDefault()),a.value=!1,o.value=!1},onInteractOutside:t[1]||=async e=>{r(`interactOutside`,e),e.defaultPrevented||(a.value=!0,e.detail.originalEvent.type===`pointerdown`&&(o.value=!0));let t=e.target;M(i).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&o.value&&e.preventDefault()}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),Qy=P({__name:`PopoverContent`,props:{forceMount:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Ky(),a=qm(n,r),{forwardRef:o}=Y();return i.contentId||=fh(void 0,`reka-popover-content`),(e,t)=>(R(),B(M(xh),{present:e.forceMount||M(i).open.value},{default:N(()=>[M(i).modal.value?(R(),B(Xy,G({key:0},M(a),{ref:M(o)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)):(R(),B(Zy,G({key:1},M(a),{ref:M(o)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),$y=P({__name:`PopoverPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(R(),B(M(mg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),eb=P({__name:`PopoverTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Ky(),{forwardRef:r,currentElement:i}=Y();return n.triggerId||=fh(void 0,`reka-popover-trigger`),Ki(()=>{n.triggerElement.value=i.value}),(e,i)=>(R(),B(aa(M(n).hasCustomAnchor.value?M(wh):M(Wg)),{"as-child":``},{default:N(()=>[H(M(wh),{id:M(n).triggerId,ref:M(r),type:e.as===`button`?`button`:void 0,"aria-haspopup":`dialog`,"aria-expanded":M(n).open.value,"aria-controls":M(n).contentId,"data-state":M(n).open.value?`open`:`closed`,as:e.as,"as-child":t.asChild,onClick:M(n).onOpenToggle},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`id`,`type`,`aria-expanded`,`aria-controls`,`data-state`,`as`,`as-child`,`onClick`])]),_:3}))}}),[tb,nb]=Wp(`DropdownMenuRoot`),rb=P({__name:`DropdownMenuRoot`,props:{defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1,default:void 0},dir:{type:String,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t;Y();let i=Cm(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0}),a=j(),{modal:o,dir:s}=bn(n),c=zm(s);return nb({open:i,onOpenChange:e=>{i.value=e},onOpenToggle:()=>{i.value=!i.value},triggerId:``,triggerElement:a,contentId:``,modal:o,dir:c}),(e,t)=>(R(),B(M(My),{open:M(i),"onUpdate:open":t[0]||=e=>un(i)?i.value=e:null,dir:M(c),modal:M(o)},{default:N(()=>[I(e.$slots,`default`,{open:M(i)})]),_:3},8,[`open`,`dir`,`modal`]))}}),ib=P({__name:`DropdownMenuContent`,props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`closeAutoFocus`],setup(e,{emit:t}){let n=qm(e,t);Y();let r=tb(),i=j(!1);function a(e){e.defaultPrevented||(i.value||setTimeout(()=>{r.triggerElement.value?.focus()},0),i.value=!1,e.preventDefault())}return r.contentId||=fh(void 0,`reka-dropdown-menu-content`),(e,t)=>(R(),B(M(By),G(M(n),{id:M(r).contentId,"aria-labelledby":M(r)?.triggerId,style:{"--reka-dropdown-menu-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-dropdown-menu-content-available-width":`var(--reka-popper-available-width)`,"--reka-dropdown-menu-content-available-height":`var(--reka-popper-available-height)`,"--reka-dropdown-menu-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-dropdown-menu-trigger-height":`var(--reka-popper-anchor-height)`},onCloseAutoFocus:a,onInteractOutside:t[0]||=e=>{if(e.defaultPrevented)return;let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,a=t.button===2||n;(!M(r).modal.value||a)&&(i.value=!0),M(r).triggerElement.value?.contains(e.target)&&e.preventDefault()}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`,`aria-labelledby`]))}}),ab=P({__name:`DropdownMenuItem`,props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`select`],setup(e,{emit:t}){let n=e,r=Bm(t);return Y(),(e,t)=>(R(),B(M(Ly),be(gs({...n,...M(r)})),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),ob=P({__name:`DropdownMenuLabel`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return Y(),(e,n)=>(R(),B(M(Uy),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),sb=P({__name:`DropdownMenuPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(R(),B(M(Wy),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),cb=P({__name:`DropdownMenuSeparator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return Y(),(e,n)=>(R(),B(M(Gy),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),lb=P({__name:`DropdownMenuTrigger`,props:{disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=tb(),{forwardRef:r,currentElement:i}=Y();return Ki(()=>{n.triggerElement=i}),n.triggerId||=fh(void 0,`reka-dropdown-menu-trigger`),(e,i)=>(R(),B(M(Ty),{"as-child":``},{default:N(()=>[H(M(wh),{id:M(n).triggerId,ref:M(r),type:e.as===`button`?`button`:void 0,"as-child":t.asChild,as:e.as,"aria-haspopup":`menu`,"aria-expanded":M(n).open.value,"aria-controls":M(n).open.value?M(n).contentId:void 0,"data-disabled":e.disabled?``:void 0,disabled:e.disabled,"data-state":M(n).open.value?`open`:`closed`,onClick:i[0]||=async t=>{!e.disabled&&t.button===0&&t.ctrlKey===!1&&(M(n)?.onOpenToggle(),await $n(),M(n).open.value&&t.preventDefault())},onKeydown:i[1]||=Zl(t=>{e.disabled||([`Enter`,` `].includes(t.key)&&M(n).onOpenToggle(),t.key===`ArrowDown`&&M(n).onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(t.key)&&t.preventDefault())},[`enter`,`space`,`arrow-down`])},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`id`,`type`,`as-child`,`as`,`aria-expanded`,`aria-controls`,`data-disabled`,`disabled`,`data-state`])]),_:3}))}}),ub=P({__name:`Label`,props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`label`}},setup(e){let t=e;return Y(),(e,n)=>(R(),B(M(wh),G(t,{onMousedown:n[0]||=e=>{!e.defaultPrevented&&e.detail>1&&e.preventDefault()}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),db=[` `,`Enter`,`ArrowUp`,`ArrowDown`],fb=[` `,`Enter`];function pb(e,t,n){return e===void 0?!1:Array.isArray(e)?e.some(e=>mb(e,t,n)):mb(e,t,n)}function mb(e,t,n){return e===void 0||t===void 0?!1:typeof e==`string`?e===t:typeof n==`function`?n(e,t):typeof n==`string`?e?.[n]===t?.[n]:Vp(e,t)}function hb(e){return e==null||e===``||Array.isArray(e)&&e.length===0}var gb={key:0,value:``},[_b,vb]=Wp(`SelectRoot`),yb=P({inheritAttrs:!1,__name:`SelectRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},by:{type:[String,Function],required:!1},dir:{type:String,required:!1},multiple:{type:Boolean,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`,`update:open`],setup(e,{emit:t}){let n=e,r=t,{required:i,disabled:a,multiple:o,dir:s}=bn(n),c=Cm(n,`modelValue`,r,{defaultValue:n.defaultValue??(o.value?[]:void 0),passive:n.modelValue===void 0,deep:!0}),l=Cm(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0}),u=j(),d=j(),f=j({x:0,y:0}),p=K(()=>o.value&&Array.isArray(c.value)?c.value?.length===0:qp(c.value));vg({isProvider:!0});let m=zm(s),h=Gm(u),g=j(new Set),_=K(()=>Array.from(g.value).map(e=>e.value).join(`;`));function v(e){if(o.value){let t=Array.isArray(c.value)?[...c.value]:[],r=t.findIndex(t=>mb(t,e,n.by));r===-1?t.push(e):t.splice(r,1),c.value=[...t]}else c.value=e}function y(e){return Array.from(g.value).find(t=>pb(e,t.value,n.by))}return vb({triggerElement:u,onTriggerChange:e=>{u.value=e},valueElement:d,onValueElementChange:e=>{d.value=e},contentId:``,modelValue:c,onValueChange:v,by:n.by,open:l,multiple:o,required:i,onOpenChange:e=>{l.value=e},dir:m,triggerPointerDownPosRef:f,disabled:a,isEmptyModelValue:p,optionsSet:g,onOptionAdd:e=>{let t=y(e.value);t&&g.value.delete(t),g.value.add(e)},onOptionRemove:e=>{let t=y(e.value);t&&g.value.delete(t)}}),(e,t)=>(R(),B(M(Ug),null,{default:N(()=>[I(e.$slots,`default`,{modelValue:M(c),open:M(l)}),M(h)&&e.name?(R(),B(bb,{key:_.value,"aria-hidden":`true`,tabindex:`-1`,multiple:M(o),required:M(i),name:e.name,autocomplete:e.autocomplete,disabled:M(a),value:M(c)},{default:N(()=>[M(qp)(M(c))?(R(),z(`option`,gb)):W(`v-if`,!0),(R(!0),z(L,null,F(Array.from(g.value),e=>(R(),z(`option`,G({key:e.value??``},{ref_for:!0},e),null,16))),128))]),_:1},8,[`multiple`,`required`,`name`,`autocomplete`,`disabled`,`value`])):W(`v-if`,!0)]),_:3}))}}),bb=P({__name:`BubbleSelect`,props:{autocomplete:{type:String,required:!1},autofocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},form:{type:String,required:!1},multiple:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},size:{type:Number,required:!1},value:{type:null,required:!1}},setup(e){let t=e,n=j(),r=_b();Dr(()=>t.value,(e,t)=>{let r=window.HTMLSelectElement.prototype,i=Object.getOwnPropertyDescriptor(r,`value`).set;if(e!==t&&i&&n.value){let t=new Event(`change`,{bubbles:!0});i.call(n.value,e),n.value.dispatchEvent(t)}});function i(e){r.onValueChange(e.target.value)}return(e,r)=>(R(),B(M(yg),{"as-child":``},{default:N(()=>[V(`select`,G({ref_key:`selectElement`,ref:n},t,{onInput:i}),[I(e.$slots,`default`)],16)]),_:3}))}}),xb=P({__name:`SelectPopperPosition`,props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1,default:10},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=Km(e);return(e,n)=>(R(),B(M(ny),G(M(t),{style:{boxSizing:`border-box`,"--reka-select-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-select-content-available-width":`var(--reka-popper-available-width)`,"--reka-select-content-available-height":`var(--reka-popper-available-height)`,"--reka-select-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-select-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),Sb={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[Cb,wb]=Wp(`SelectContent`),Tb=P({__name:`SelectContentImpl`,props:{position:{type:String,required:!1,default:`item-aligned`},bodyLock:{type:Boolean,required:!1,default:!0},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=_b();Um(),Fm(n.bodyLock);let{CollectionSlot:a,getItems:o}=vg(),s=j();uh(s);let{search:c,handleTypeaheadSearch:l}=gh(),u=j(),d=j(),f=j(),p=j(!1),m=j(!1),h=j(!1);function g(){d.value&&s.value&&rg([d.value,s.value])}Dr(p,()=>{g()});let{onOpenChange:_,triggerPointerDownPosRef:v}=i;wr(e=>{if(!s.value)return;let t={x:0,y:0},n=e=>{t={x:Math.abs(Math.round(e.pageX)-(v.value?.x??0)),y:Math.abs(Math.round(e.pageY)-(v.value?.y??0))}},r=e=>{e.pointerType!==`touch`&&(t.x<=10&&t.y<=10?e.preventDefault():s.value?.contains(e.target)||_(!1),document.removeEventListener(`pointermove`,n),v.value=null)};v.value!==null&&(document.addEventListener(`pointermove`,n),document.addEventListener(`pointerup`,r,{capture:!0,once:!0})),e(()=>{document.removeEventListener(`pointermove`,n),document.removeEventListener(`pointerup`,r,{capture:!0})})});function y(e){let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&l(e.key,o()),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=[...o().map(e=>e.ref)];if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>rg(t)),e.preventDefault()}}let b=Km(K(()=>n.position===`popper`?n:{}).value);return wb({content:s,viewport:u,onViewportChange:e=>{u.value=e},itemRefCallback:(e,t,n)=>{let r=!m.value&&!n,a=pb(i.modelValue.value,t,i.by);if(i.multiple.value){if(h.value)return;(a||r)&&(d.value=e,a&&(h.value=!0))}else (a||r)&&(d.value=e);r&&(m.value=!0)},selectedItem:d,selectedItemText:f,onItemLeave:()=>{s.value?.focus()},itemTextRefCallback:(e,t,n)=>{let r=!m.value&&!n;(pb(i.modelValue.value,t,i.by)||r)&&(f.value=e)},focusSelectedItem:g,position:n.position,isPositioned:p,searchRef:c}),(e,t)=>(R(),B(M(a),null,{default:N(()=>[H(M(Xh),{"as-child":``,onMountAutoFocus:t[6]||=Yl(()=>{},[`prevent`]),onUnmountAutoFocus:t[7]||=e=>{r(`closeAutoFocus`,e),!e.defaultPrevented&&(M(i).triggerElement.value?.focus({preventScroll:!0}),e.preventDefault())}},{default:N(()=>[H(M(Ih),{"as-child":``,"disable-outside-pointer-events":e.disableOutsidePointerEvents,onFocusOutside:t[2]||=Yl(()=>{},[`prevent`]),onDismiss:t[3]||=e=>M(i).onOpenChange(!1),onEscapeKeyDown:t[4]||=e=>r(`escapeKeyDown`,e),onPointerDownOutside:t[5]||=e=>r(`pointerDownOutside`,e)},{default:N(()=>[(R(),B(aa(e.position===`popper`?xb:Ob),G({...e.$attrs,...M(b)},{id:M(i).contentId,ref:e=>{if(!e)return;let t=M(hm)(e);t?.hasAttribute(`data-reka-popper-content-wrapper`)?s.value=t.firstElementChild:s.value=t},role:`listbox`,"data-state":M(i).open.value?`open`:`closed`,dir:M(i).dir.value,style:{display:`flex`,flexDirection:`column`,outline:`none`},onContextmenu:t[0]||=Yl(()=>{},[`prevent`]),onPlaced:t[1]||=e=>p.value=!0,onKeydown:y}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`dir`,`onKeydown`]))]),_:3},8,[`disable-outside-pointer-events`])]),_:3})]),_:3}))}}),[Eb,Db]=Wp(`SelectItemAlignedPosition`),Ob=P({inheritAttrs:!1,__name:`SelectItemAlignedPosition`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`placed`],setup(e,{emit:t}){let n=e,r=t,{getItems:i}=vg(),a=_b(),o=Cb(),s=j(!1),c=j(!0),l=j(),{forwardRef:u,currentElement:d}=Y(),{viewport:f,selectedItem:p,selectedItemText:m,focusSelectedItem:h}=o;function g(){if(a.triggerElement.value&&a.valueElement.value&&l.value&&d.value&&f?.value&&p?.value&&m?.value){let e=a.triggerElement.value.getBoundingClientRect(),t=d.value.getBoundingClientRect(),n=a.valueElement.value.getBoundingClientRect(),o=m.value.getBoundingClientRect();if(a.dir.value!==`rtl`){let r=o.left-t.left,i=n.left-r,a=e.left-i,s=e.width+a,c=Math.max(s,t.width),u=window.innerWidth-10,d=Up(i,10,Math.max(10,u-c));l.value.style.minWidth=`${s}px`,l.value.style.left=`${d}px`}else{let r=t.right-o.right,i=window.innerWidth-n.right-r,a=window.innerWidth-e.right-i,s=e.width+a,c=Math.max(s,t.width),u=window.innerWidth-10,d=Up(i,10,Math.max(10,u-c));l.value.style.minWidth=`${s}px`,l.value.style.right=`${d}px`}let c=i().map(e=>e.ref),u=window.innerHeight-20,h=f.value.scrollHeight,g=window.getComputedStyle(d.value),_=Number.parseInt(g.borderTopWidth,10),v=Number.parseInt(g.paddingTop,10),y=Number.parseInt(g.borderBottomWidth,10),b=Number.parseInt(g.paddingBottom,10),x=_+v+h+b+y,S=Math.min(p.value.offsetHeight*5,x),C=window.getComputedStyle(f.value),w=Number.parseInt(C.paddingTop,10),T=Number.parseInt(C.paddingBottom,10),ee=e.top+e.height/2-10,E=u-ee,te=p.value.offsetHeight/2,ne=p.value.offsetTop+te,re=_+v+ne,D=x-re;if(re<=ee){let e=p.value===c.at(-1);l.value.style.bottom=`0px`;let t=d.value.clientHeight-f.value.offsetTop-f.value.offsetHeight,n=re+Math.max(E,te+(e?T:0)+t+y);l.value.style.height=`${n}px`}else{let e=p.value===c[0];l.value.style.top=`0px`;let t=Math.max(ee,_+f.value.offsetTop+(e?w:0)+te)+D;l.value.style.height=`${t}px`,f.value.scrollTop=re-ee+f.value.offsetTop}l.value.style.margin=`10px 0`,l.value.style.minHeight=`${S}px`,l.value.style.maxHeight=`${u}px`,r(`placed`),requestAnimationFrame(()=>s.value=!0)}}let _=j(``);Ki(async()=>{await $n(),g(),d.value&&(_.value=window.getComputedStyle(d.value).zIndex)});function v(e){e&&c.value===!0&&(g(),h?.(),c.value=!1)}return Sm(a.triggerElement,()=>{g()}),Db({contentWrapper:l,shouldExpandOnScrollRef:s,onScrollButtonChange:v}),(e,t)=>(R(),z(`div`,{ref_key:`contentWrapperElement`,ref:l,style:he({display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:_.value})},[H(M(wh),G({ref:M(u),style:{boxSizing:`border-box`,maxHeight:`100%`}},{...e.$attrs,...n}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)],4))}}),kb=P({inheritAttrs:!1,__name:`SelectProvider`,props:{context:{type:Object,required:!0}},setup(e){return vb(e.context),wb(Sb),(e,t)=>I(e.$slots,`default`)}}),Ab={key:1},jb=P({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=qm(n,t),i=_b(),a=j();Ki(()=>{a.value=new DocumentFragment});let o=j(),s=K(()=>n.forceMount||i.open.value),c=j(s.value),l;function u(){l&&=(clearTimeout(l),void 0)}return Dr(s,(e,t,n)=>{u(),l=setTimeout(()=>{c.value=s.value,l=void 0}),n(u)}),Xi(u),(e,t)=>s.value||c.value||o.value?.present?(R(),B(M(xh),{key:0,ref_key:`presenceRef`,ref:o,present:s.value},{default:N(()=>[H(Tb,be(gs({...M(r),...e.$attrs})),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)]),_:3},8,[`present`])):a.value?(R(),z(`div`,Ab,[(R(),B(Hr,{to:a.value},[H(kb,{context:M(i)},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`context`])],8,[`to`]))])):W(`v-if`,!0)}}),Mb=P({__name:`SelectIcon`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,t)=>(R(),B(M(wh),{"aria-hidden":`true`,as:e.as,"as-child":e.asChild},{default:N(()=>[I(e.$slots,`default`,{},()=>[t[0]||=U(`▼`)])]),_:3},8,[`as`,`as-child`]))}}),[Nb,Pb]=Wp(`SelectItem`),Fb=P({__name:`SelectItem`,props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`select`],setup(e,{emit:t}){let n=e,r=t,{disabled:i}=bn(n),a=_b(),o=Cb(),{forwardRef:s,currentElement:c}=Y(),{CollectionItem:l}=vg(),u=K(()=>pb(a.modelValue?.value,n.value,a.by)),d=j(!1),f=j(n.textValue??``),p=fh(void 0,`reka-select-item-text`);async function m(e){e.defaultPrevented||Kp(`select.select`,h,{originalEvent:e,value:n.value})}async function h(e){await $n(),r(`select`,e),!e.defaultPrevented&&(i.value||(a.onValueChange(n.value),a.multiple.value||a.onOpenChange(!1)))}async function g(e){await $n(),!e.defaultPrevented&&(i.value?o.onItemLeave?.():e.currentTarget?.focus({preventScroll:!0}))}async function _(e){await $n(),!e.defaultPrevented&&e.currentTarget===Gp()&&o.onItemLeave?.()}async function v(e){await $n(),!e.defaultPrevented&&(o.searchRef?.value!==``&&e.key===` `||(fb.includes(e.key)&&m(e),e.key===` `&&e.preventDefault()))}if(n.value===``)throw Error(`A <SelectItem /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.`);return Ki(()=>{c.value&&o.itemRefCallback(c.value,n.value,n.disabled)}),Pb({value:n.value,disabled:i,textId:p,isSelected:u,onItemTextChange:e=>{f.value=((f.value||e?.textContent)??``).trim()}}),(e,t)=>(R(),B(M(l),{value:{textValue:f.value}},{default:N(()=>[H(M(wh),{ref:M(s),role:`option`,"aria-labelledby":M(p),"data-highlighted":d.value?``:void 0,"aria-selected":u.value,"data-state":u.value?`checked`:`unchecked`,"aria-disabled":M(i)||void 0,"data-disabled":M(i)?``:void 0,tabindex:M(i)?void 0:-1,as:e.as,"as-child":e.asChild,onFocus:t[0]||=e=>d.value=!0,onBlur:t[1]||=e=>d.value=!1,onPointerup:m,onPointerdown:t[2]||=e=>{e.currentTarget.focus({preventScroll:!0})},onTouchend:t[3]||=Yl(()=>{},[`prevent`,`stop`]),onPointermove:g,onPointerleave:_,onKeydown:v},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`aria-labelledby`,`data-highlighted`,`aria-selected`,`data-state`,`aria-disabled`,`data-disabled`,`tabindex`,`as`,`as-child`])]),_:3},8,[`value`]))}}),Ib=P({__name:`SelectItemIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=Nb();return(e,r)=>M(n).isSelected.value?(R(),B(M(wh),G({key:0,"aria-hidden":`true`},t),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)):W(`v-if`,!0)}}),Lb=P({inheritAttrs:!1,__name:`SelectItemText`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=_b(),r=Cb(),i=Nb(),{forwardRef:a,currentElement:o}=Y(),s=K(()=>({value:i.value,disabled:i.disabled.value,textContent:o.value?.textContent??i.value?.toString()??``}));return Ki(()=>{o.value&&(i.onItemTextChange(o.value),r.itemTextRefCallback(o.value,i.value,i.disabled.value),n.onOptionAdd(s.value))}),Xi(()=>{n.onOptionRemove(s.value)}),(e,n)=>(R(),B(M(wh),G({id:M(i).textId,ref:M(a)},{...t,...e.$attrs}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`]))}}),Rb=P({__name:`SelectPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(R(),B(M(mg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),zb=P({__name:`SelectTrigger`,props:{disabled:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=_b(),{forwardRef:r,currentElement:i}=Y(),a=K(()=>n.disabled?.value||t.disabled);n.contentId||=fh(void 0,`reka-select-content`),Ki(()=>{n.onTriggerChange(i.value)});let{getItems:o}=vg(),{search:s,handleTypeaheadSearch:c,resetTypeahead:l}=gh();function u(){a.value||(n.onOpenChange(!0),l())}function d(e){u(),n.triggerPointerDownPosRef.value={x:Math.round(e.pageX),y:Math.round(e.pageY)}}return(e,t)=>(R(),B(M(Wg),{"as-child":``,reference:e.reference},{default:N(()=>[H(M(wh),{ref:M(r),role:`combobox`,type:e.as===`button`?`button`:void 0,"aria-controls":M(n).contentId,"aria-expanded":M(n).open.value||!1,"aria-required":M(n).required?.value,"aria-autocomplete":`none`,disabled:a.value,dir:M(n)?.dir.value,"data-state":M(n)?.open.value?`open`:`closed`,"data-disabled":a.value?``:void 0,"data-placeholder":M(hb)(M(n).modelValue?.value)?``:void 0,"as-child":e.asChild,as:e.as,onClick:t[0]||=e=>{(e?.currentTarget)?.focus()},onPointerdown:t[1]||=e=>{if(e.pointerType===`touch`)return e.preventDefault();let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&(d(e),e.preventDefault())},onPointerup:t[2]||=Yl(e=>{e.pointerType===`touch`&&d(e)},[`prevent`]),onKeydown:t[3]||=e=>{let t=M(s)!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&t&&e.key===` `||(M(c)(e.key,M(o)()),M(db).includes(e.key)&&(u(),e.preventDefault()))}},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`type`,`aria-controls`,`aria-expanded`,`aria-required`,`disabled`,`dir`,`data-state`,`data-disabled`,`data-placeholder`,`as-child`,`as`])]),_:3},8,[`reference`]))}}),Bb=P({__name:`SelectValue`,props:{placeholder:{type:String,required:!1,default:``},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,{forwardRef:n,currentElement:r}=Y(),i=_b();Ki(()=>{i.valueElement=r});let a=K(()=>{let e=[],t=Array.from(i.optionsSet.value),n=e=>t.find(t=>pb(e,t.value,i.by));return e=Array.isArray(i.modelValue.value)?i.modelValue.value.map(e=>n(e)?.textContent??``):[n(i.modelValue.value)?.textContent??``],e.filter(Boolean)}),o=K(()=>a.value.length?a.value.join(`, `):t.placeholder);return(e,r)=>(R(),B(M(wh),{ref:M(n),as:e.as,"as-child":e.asChild,style:{pointerEvents:`none`},"data-placeholder":a.value.length?void 0:t.placeholder},{default:N(()=>[I(e.$slots,`default`,{selectedLabel:a.value,modelValue:M(i).modelValue.value},()=>[U(A(o.value),1)])]),_:3},8,[`as`,`as-child`,`data-placeholder`]))}}),Vb=P({__name:`SelectViewport`,props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{nonce:n}=bn(t),r=yy(n),i=Cb(),a=i.position===`item-aligned`?Eb():void 0,{forwardRef:o,currentElement:s}=Y();Ki(()=>{i?.onViewportChange(s.value)});let c=j(0);function l(e){let t=e.currentTarget,{shouldExpandOnScrollRef:n,contentWrapper:r}=a??{};if(n?.value&&r?.value){let e=Math.abs(c.value-t.scrollTop);if(e>0){let n=window.innerHeight-20,i=Number.parseFloat(r.value.style.minHeight),a=Number.parseFloat(r.value.style.height),o=Math.max(i,a);if(o<n){let i=o+e,a=Math.min(n,i),s=i-a;r.value.style.height=`${a}px`,r.value.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,r.value.style.justifyContent=`flex-end`)}}}c.value=t.scrollTop}return(e,n)=>(R(),z(L,null,[H(M(wh),G({ref:M(o),"data-reka-select-viewport":``,role:`presentation`},{...e.$attrs,...t},{style:{position:`relative`,flex:1,overflow:`hidden auto`},onScroll:l}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16),H(M(wh),{as:`style`,nonce:M(r)},{default:N(()=>n[0]||=[U(` /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-select-viewport] { scrollbar-width:none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } [data-reka-select-viewport]::-webkit-scrollbar { display: none; } `)]),_:1,__:[0]},8,[`nonce`])],64))}}),[Hb,Ub]=Wp(`SwitchRoot`),Wb=P({__name:`SwitchRoot`,props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},disabled:{type:Boolean,required:!1},id:{type:String,required:!1},value:{type:String,required:!1,default:`on`},trueValue:{type:null,required:!1,default:()=>!0},falseValue:{type:null,required:!1,default:()=>!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,{disabled:i}=bn(n),a=Cm(n,`modelValue`,r,{defaultValue:n.defaultValue??n.falseValue,passive:n.modelValue===void 0}),o=K(()=>a.value===n.trueValue);function s(){i.value||(a.value=o.value?n.falseValue:n.trueValue)}let{forwardRef:c,currentElement:l}=Y(),u=Gm(l),d=K(()=>n.id&&l.value?document.querySelector(`[for="${n.id}"]`)?.innerText:void 0);return Ub({checked:o,toggleCheck:s,disabled:i}),(e,t)=>(R(),B(M(wh),G(e.$attrs,{id:e.id,ref:M(c),role:`switch`,type:e.as===`button`?`button`:void 0,value:e.value,"aria-label":e.$attrs[`aria-label`]||d.value,"aria-checked":o.value,"aria-required":e.required,"data-state":o.value?`checked`:`unchecked`,"data-disabled":M(i)?``:void 0,"as-child":e.asChild,as:e.as,disabled:M(i),onClick:s,onKeydown:Zl(Yl(s,[`prevent`]),[`enter`])}),{default:N(()=>[I(e.$slots,`default`,{modelValue:M(a),checked:o.value}),M(u)&&e.name?(R(),B(M(xg),{key:0,type:`checkbox`,name:e.name,disabled:M(i),required:e.required,value:e.value,checked:o.value},null,8,[`name`,`disabled`,`required`,`value`,`checked`])):W(`v-if`,!0)]),_:3},16,[`id`,`type`,`value`,`aria-label`,`aria-checked`,`aria-required`,`data-state`,`data-disabled`,`as-child`,`as`,`disabled`,`onKeydown`]))}}),Gb=P({__name:`SwitchThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=Hb();return Y(),(e,n)=>(R(),B(M(wh),{"data-state":M(t).checked.value?`checked`:`unchecked`,"data-disabled":M(t).disabled.value?``:void 0,"as-child":e.asChild,as:e.as},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`data-state`,`data-disabled`,`as-child`,`as`]))}}),[Kb,qb]=Wp(`TabsRoot`),Jb=P({__name:`TabsRoot`,props:{defaultValue:{type:null,required:!1},orientation:{type:String,required:!1,default:`horizontal`},dir:{type:String,required:!1},activationMode:{type:String,required:!1,default:`automatic`},modelValue:{type:null,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,{orientation:i,unmountOnHide:a,dir:o}=bn(n),s=zm(o);Y();let c=Cm(n,`modelValue`,r,{defaultValue:n.defaultValue,passive:n.modelValue===void 0}),l=j(),u=dn(new Set);return qb({modelValue:c,changeModelValue:e=>{c.value=e},orientation:i,dir:s,unmountOnHide:a,activationMode:n.activationMode,baseId:fh(void 0,`reka-tabs`),tabsList:l,contentIds:u,registerContent:e=>{u.value=new Set([...u.value,e])},unregisterContent:e=>{let t=new Set(u.value);t.delete(e),u.value=t}}),(e,t)=>(R(),B(M(wh),{dir:M(s),"data-orientation":M(i),"as-child":e.asChild,as:e.as},{default:N(()=>[I(e.$slots,`default`,{modelValue:M(c)})]),_:3},8,[`dir`,`data-orientation`,`as-child`,`as`]))}});function Yb(e,t){return`${e}-trigger-${t}`}function Xb(e,t){return`${e}-content-${t}`}var Zb=P({__name:`TabsList`,props:{loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let{loop:t}=bn(e),{forwardRef:n,currentElement:r}=Y(),i=Kb();return i.tabsList=r,(e,r)=>(R(),B(M(Cy),{"as-child":``,orientation:M(i).orientation.value,dir:M(i).dir.value,loop:M(t)},{default:N(()=>[H(M(wh),{ref:M(n),role:`tablist`,"as-child":e.asChild,as:e.as,"aria-orientation":M(i).orientation.value},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`aria-orientation`])]),_:3},8,[`orientation`,`dir`,`loop`]))}}),Qb=P({__name:`TabsTrigger`,props:{value:{type:[String,Number],required:!0},disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,{forwardRef:n}=Y(),r=Kb(),i=K(()=>Yb(r.baseId,t.value)),a=K(()=>r.contentIds.value.has(t.value)?Xb(r.baseId,t.value):void 0),o=K(()=>t.value===r.modelValue.value);return(e,t)=>(R(),B(M(wy),{"as-child":``,focusable:!e.disabled,active:o.value},{default:N(()=>[H(M(wh),{id:i.value,ref:M(n),role:`tab`,type:e.as===`button`?`button`:void 0,as:e.as,"as-child":e.asChild,"aria-selected":o.value?`true`:`false`,"aria-controls":a.value,"data-state":o.value?`active`:`inactive`,disabled:e.disabled,"data-disabled":e.disabled?``:void 0,"data-orientation":M(r).orientation.value,onMousedown:t[0]||=Yl(t=>{!e.disabled&&t.ctrlKey===!1?M(r).changeModelValue(e.value):t.preventDefault()},[`left`]),onKeydown:t[1]||=Zl(t=>M(r).changeModelValue(e.value),[`enter`,`space`]),onFocus:t[2]||=()=>{let t=M(r).activationMode!==`manual`;!o.value&&!e.disabled&&t&&M(r).changeModelValue(e.value)}},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`id`,`type`,`as`,`as-child`,`aria-selected`,`aria-controls`,`data-state`,`disabled`,`data-disabled`,`data-orientation`])]),_:3},8,[`focusable`,`active`]))}}),[$b,ex]=Wp(`TooltipProvider`),tx=P({inheritAttrs:!1,__name:`TooltipProvider`,props:{delayDuration:{type:Number,required:!1,default:700},skipDelayDuration:{type:Number,required:!1,default:300},disableHoverableContent:{type:Boolean,required:!1,default:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:!1},content:{type:Object,required:!1}},setup(e){let{delayDuration:t,skipDelayDuration:n,disableHoverableContent:r,disableClosingTrigger:i,ignoreNonKeyboardFocus:a,disabled:o,content:s}=bn(e);Y();let c=j(!0),l=j(!1),{start:u,stop:d}=fm(()=>{c.value=!0},n,{immediate:!1});return ex({isOpenDelayed:c,delayDuration:t,onOpen(){d(),c.value=!1},onClose(){u()},isPointerInTransitRef:l,disableHoverableContent:r,disableClosingTrigger:i,disabled:o,ignoreNonKeyboardFocus:a,content:s}),(e,t)=>I(e.$slots,`default`)}}),nx=`tooltip.open`,[rx,ix]=Wp(`TooltipRoot`),ax=P({__name:`TooltipRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},delayDuration:{type:Number,required:!1,default:void 0},disableHoverableContent:{type:Boolean,required:!1,default:void 0},disableClosingTrigger:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1,default:void 0},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:void 0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t;Y();let i=$b(),a=K(()=>n.disableHoverableContent??i.disableHoverableContent.value),o=K(()=>n.disableClosingTrigger??i.disableClosingTrigger.value),s=K(()=>n.disabled??i.disabled.value),c=K(()=>n.delayDuration??i.delayDuration.value),l=K(()=>n.ignoreNonKeyboardFocus??i.ignoreNonKeyboardFocus.value),u=Cm(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0});Dr(u,e=>{i.onClose&&(e?(i.onOpen(),document.dispatchEvent(new CustomEvent(nx))):i.onClose())});let d=j(!1),f=j(),p=K(()=>u.value?d.value?`delayed-open`:`instant-open`:`closed`),{start:m,stop:h}=fm(()=>{d.value=!0,u.value=!0},c,{immediate:!1});function g(){h(),d.value=!1,u.value=!0}function _(){h(),u.value=!1}function v(){m()}return ix({contentId:``,open:u,stateAttribute:p,trigger:f,onTriggerChange(e){f.value=e},onTriggerEnter(){i.isOpenDelayed.value?v():g()},onTriggerLeave(){a.value?_():h()},onOpen:g,onClose:_,disableHoverableContent:a,disableClosingTrigger:o,disabled:s,ignoreNonKeyboardFocus:l}),(e,t)=>(R(),B(M(Ug),null,{default:N(()=>[I(e.$slots,`default`,{open:M(u)})]),_:3}))}}),ox=P({__name:`TooltipContentImpl`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1,default:void 0},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1,default:void 0},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1,default:void 0},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=rx(),a=$b(),{forwardRef:o,currentElement:s}=Y(),c=K(()=>n.ariaLabel||s.value?.textContent),l=K(()=>{let{ariaLabel:e,...t}=n;return Nm(t,a.content.value??{},{side:`top`,sideOffset:0,align:`center`,avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:`partial`,hideWhenDetached:!1})});return Ki(()=>{gm(window,`scroll`,e=>{e.target?.contains(i.trigger.value)&&i.onClose()},{capture:!0}),gm(window,nx,i.onClose)}),(e,t)=>(R(),B(M(Ih),{"as-child":``,"disable-outside-pointer-events":!1,onEscapeKeyDown:t[0]||=e=>r(`escapeKeyDown`,e),onPointerDownOutside:t[1]||=e=>{M(i).disableClosingTrigger.value&&M(i).trigger.value?.contains(e.target)&&e.preventDefault(),r(`pointerDownOutside`,e)},onFocusOutside:t[2]||=Yl(()=>{},[`prevent`]),onDismiss:t[3]||=e=>M(i).onClose()},{default:N(()=>[H(M(ny),G({ref:M(o),"data-state":M(i).stateAttribute.value},{...e.$attrs,...l.value},{style:{"--reka-tooltip-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-tooltip-content-available-width":`var(--reka-popper-available-width)`,"--reka-tooltip-content-available-height":`var(--reka-popper-available-height)`,"--reka-tooltip-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-tooltip-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:N(()=>[I(e.$slots,`default`),H(M(yg),{id:M(i).contentId,role:`tooltip`},{default:N(()=>[U(A(c.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),sx=P({__name:`TooltipContentHoverable`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},setup(e){let t=Km(e),{forwardRef:n,currentElement:r}=Y(),{trigger:i,onClose:a}=rx(),o=$b(),{isPointerInTransit:s,onPointerExit:c}=Jm(i,r);return o.isPointerInTransitRef=s,c(()=>{a()}),(e,r)=>(R(),B(ox,G({ref:M(n)},M(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),cx=P({__name:`TooltipContent`,props:{forceMount:{type:Boolean,required:!1},ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=rx(),a=qm(n,r),{forwardRef:o}=Y();return(e,t)=>(R(),B(M(xh),{present:e.forceMount||M(i).open.value},{default:N(()=>[(R(),B(aa(M(i).disableHoverableContent.value?ox:sx),G({ref:M(o)},M(a)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),lx=P({__name:`TooltipPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(R(),B(M(mg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),ux=P({__name:`TooltipTrigger`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=rx(),r=$b();n.contentId||=fh(void 0,`reka-tooltip-content`);let{forwardRef:i,currentElement:a}=Y(),o=j(!1),s=j(!1),c=K(()=>n.disabled.value?{}:{click:h,focus:p,pointermove:d,pointerleave:f,pointerdown:u,blur:m});Ki(()=>{n.onTriggerChange(a.value)});function l(){setTimeout(()=>{o.value=!1},1)}function u(){n.open&&!n.disableClosingTrigger.value&&n.onClose(),o.value=!0,document.addEventListener(`pointerup`,l,{once:!0})}function d(e){e.pointerType!==`touch`&&!s.value&&!r.isPointerInTransitRef.value&&(n.onTriggerEnter(),s.value=!0)}function f(){n.onTriggerLeave(),s.value=!1}function p(e){o.value||n.ignoreNonKeyboardFocus.value&&!e.target.matches?.(`:focus-visible`)||n.onOpen()}function m(){n.onClose()}function h(){n.disableClosingTrigger.value||n.onClose()}return(e,r)=>(R(),B(M(Wg),{"as-child":``,reference:e.reference},{default:N(()=>[H(M(wh),G({ref:M(i),"aria-describedby":M(n).open.value?M(n).contentId:void 0,"data-state":M(n).stateAttribute.value,as:e.as,"as-child":t.asChild,"data-grace-area-trigger":``},da(c.value)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`aria-describedby`,`data-state`,`as`,`as-child`])]),_:3},8,[`reference`]))}}),dx=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},fx=(e,t)=>({classGroupId:e,validator:t}),px=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),mx=`-`,hx=[],gx=`arbitrary..`,_x=e=>{let t=bx(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return yx(e);let n=e.split(mx);return vx(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?dx(i,t):t:i||hx}return n[e]||hx}}},vx=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=vx(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(mx):e.slice(t).join(mx),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},yx=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?gx+r:void 0})(),bx=e=>{let{theme:t,classGroups:n}=e;return xx(n,t)},xx=(e,t)=>{let n=px();for(let r in e){let i=e[r];Sx(i,n,r,t)}return n},Sx=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];Cx(i,t,n,r)}},Cx=(e,t,n,r)=>{if(typeof e==`string`){wx(e,t,n);return}if(typeof e==`function`){Tx(e,t,n,r);return}Ex(e,t,n,r)},wx=(e,t,n)=>{let r=e===``?t:Dx(t,e);r.classGroupId=n},Tx=(e,t,n,r)=>{if(Ox(e)){Sx(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(fx(n,e))},Ex=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];Sx(o,Dx(t,a),n,r)}},Dx=(e,t)=>{let n=e,r=t.split(mx),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=px(),n.nextPart.set(t,i)),n=i}return n},Ox=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,kx=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},Ax=`!`,jx=`:`,Mx=[],Nx=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),Px=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===jx){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(Ax)?(c=s.slice(0,-1),l=!0):s.startsWith(Ax)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return Nx(t,l,c,u)};if(t){let e=t+jx,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):Nx(Mx,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},Fx=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},Ix=e=>({cache:kx(e.cacheSize),parseClassName:Px(e),sortModifiers:Fx(e),postfixLookupClassGroupIds:Lx(e),..._x(e)}),Lx=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e<n.length;e++)t[n[e]]=!0;return t},Rx=/\s+/,zx=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(Rx),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h){l=t+(l.length>0?` `+l:l);continue}if(g=r(p),!g){l=t+(l.length>0?` `+l:l);continue}h=!1}let _=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),v=f?_+Ax:_,y=v+g;if(s.indexOf(y)>-1)continue;s.push(y);let b=i(g,h);for(let e=0;e<b.length;++e){let t=b[e];s.push(v+t)}l=t+(l.length>0?` `+l:l)}return l},Bx=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=Vx(n))&&(i&&(i+=` `),i+=r);return i},Vx=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=Vx(e[r]))&&(n&&(n+=` `),n+=t);return n},Hx=(e,...t)=>{let n,r,i,a,o=o=>(n=Ix(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=zx(e,n);return i(e,a),a};return a=o,(...e)=>a(Bx(...e))},Ux=[],Wx=e=>{let t=t=>t[e]||Ux;return t.isThemeGetter=!0,t},Gx=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Kx=/^\((?:(\w[\w-]*):)?(.+)\)$/i,qx=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Jx=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Yx=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Xx=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Zx=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Qx=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,$x=e=>qx.test(e),eS=e=>!!e&&!Number.isNaN(Number(e)),tS=e=>!!e&&Number.isInteger(Number(e)),nS=e=>e.endsWith(`%`)&&eS(e.slice(0,-1)),rS=e=>Jx.test(e),iS=()=>!0,aS=e=>Yx.test(e)&&!Xx.test(e),oS=()=>!1,sS=e=>Zx.test(e),cS=e=>Qx.test(e),lS=e=>!X(e)&&!Z(e),uS=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),dS=e=>ES(e,AS,oS),X=e=>Gx.test(e),fS=e=>ES(e,jS,aS),pS=e=>ES(e,MS,eS),mS=e=>ES(e,PS,iS),hS=e=>ES(e,NS,oS),gS=e=>ES(e,OS,oS),_S=e=>ES(e,kS,cS),vS=e=>ES(e,FS,sS),Z=e=>Kx.test(e),yS=e=>DS(e,jS),bS=e=>DS(e,NS),xS=e=>DS(e,OS),SS=e=>DS(e,AS),CS=e=>DS(e,kS),wS=e=>DS(e,FS,!0),TS=e=>DS(e,PS,!0),ES=(e,t,n)=>{let r=Gx.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},DS=(e,t,n=!1)=>{let r=Kx.exec(e);return r?r[1]?t(r[1]):n:!1},OS=e=>e===`position`||e===`percentage`,kS=e=>e===`image`||e===`url`,AS=e=>e===`length`||e===`size`||e===`bg-size`,jS=e=>e===`length`,MS=e=>e===`number`,NS=e=>e===`family-name`,PS=e=>e===`number`||e===`weight`,FS=e=>e===`shadow`,IS=Hx(()=>{let e=Wx(`color`),t=Wx(`font`),n=Wx(`text`),r=Wx(`font-weight`),i=Wx(`tracking`),a=Wx(`leading`),o=Wx(`breakpoint`),s=Wx(`container`),c=Wx(`spacing`),l=Wx(`radius`),u=Wx(`shadow`),d=Wx(`inset-shadow`),f=Wx(`text-shadow`),p=Wx(`drop-shadow`),m=Wx(`blur`),h=Wx(`perspective`),g=Wx(`aspect`),_=Wx(`ease`),v=Wx(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),Z,X],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[Z,X,c],T=()=>[$x,`full`,`auto`,...w()],ee=()=>[tS,`none`,`subgrid`,Z,X],E=()=>[`auto`,{span:[`full`,tS,Z,X]},tS,Z,X],te=()=>[tS,`auto`,Z,X],ne=()=>[`auto`,`min`,`max`,`fr`,Z,X],re=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],D=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],ie=()=>[`auto`,...w()],ae=()=>[$x,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],oe=()=>[$x,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],se=()=>[$x,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],O=()=>[e,Z,X],ce=()=>[...b(),xS,gS,{position:[Z,X]}],le=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ue=()=>[`auto`,`cover`,`contain`,SS,dS,{size:[Z,X]}],de=()=>[nS,yS,fS],fe=()=>[``,`none`,`full`,l,Z,X],pe=()=>[``,eS,yS,fS],me=()=>[`solid`,`dashed`,`dotted`,`double`],he=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],ge=()=>[eS,nS,xS,gS],_e=()=>[``,`none`,m,Z,X],ve=()=>[`none`,eS,Z,X],ye=()=>[`none`,eS,Z,X],k=()=>[eS,Z,X],be=()=>[$x,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[rS],breakpoint:[rS],color:[iS],container:[rS],"drop-shadow":[rS],ease:[`in`,`out`,`in-out`],font:[lS],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[rS],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[rS],shadow:[rS],spacing:[`px`,eS],text:[rS],"text-shadow":[rS],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,$x,X,Z,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,Z,X]}],"container-named":[uS],columns:[{columns:[eS,X,Z,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[tS,`auto`,Z,X]}],basis:[{basis:[$x,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[eS,$x,`auto`,`initial`,`none`,X]}],grow:[{grow:[``,eS,Z,X]}],shrink:[{shrink:[``,eS,Z,X]}],order:[{order:[tS,`first`,`last`,`none`,Z,X]}],"grid-cols":[{"grid-cols":ee()}],"col-start-end":[{col:E()}],"col-start":[{"col-start":te()}],"col-end":[{"col-end":te()}],"grid-rows":[{"grid-rows":ee()}],"row-start-end":[{row:E()}],"row-start":[{"row-start":te()}],"row-end":[{"row-end":te()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":ne()}],"auto-rows":[{"auto-rows":ne()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...re(),`normal`]}],"justify-items":[{"justify-items":[...D(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...D()]}],"align-content":[{content:[`normal`,...re()]}],"align-items":[{items:[...D(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...D(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":re()}],"place-items":[{"place-items":[...D(),`baseline`]}],"place-self":[{"place-self":[`auto`,...D()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:ie()}],mx:[{mx:ie()}],my:[{my:ie()}],ms:[{ms:ie()}],me:[{me:ie()}],mbs:[{mbs:ie()}],mbe:[{mbe:ie()}],mt:[{mt:ie()}],mr:[{mr:ie()}],mb:[{mb:ie()}],ml:[{ml:ie()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:ae()}],"inline-size":[{inline:[`auto`,...oe()]}],"min-inline-size":[{"min-inline":[`auto`,...oe()]}],"max-inline-size":[{"max-inline":[`none`,...oe()]}],"block-size":[{block:[`auto`,...se()]}],"min-block-size":[{"min-block":[`auto`,...se()]}],"max-block-size":[{"max-block":[`none`,...se()]}],w:[{w:[s,`screen`,...ae()]}],"min-w":[{"min-w":[s,`screen`,`none`,...ae()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...ae()]}],h:[{h:[`screen`,`lh`,...ae()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...ae()]}],"max-h":[{"max-h":[`screen`,`lh`,...ae()]}],"font-size":[{text:[`base`,n,yS,fS]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,TS,mS]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,nS,X]}],"font-family":[{font:[bS,hS,t]}],"font-features":[{"font-features":[X]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,Z,X]}],"line-clamp":[{"line-clamp":[eS,`none`,Z,pS]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,Z,X]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,Z,X]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:O()}],"text-color":[{text:O()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...me(),`wavy`]}],"text-decoration-thickness":[{decoration:[eS,`from-font`,`auto`,Z,fS]}],"text-decoration-color":[{decoration:O()}],"underline-offset":[{"underline-offset":[eS,`auto`,Z,X]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"tab-size":[{tab:[tS,Z,X]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,Z,X]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,Z,X]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:ce()}],"bg-repeat":[{bg:le()}],"bg-size":[{bg:ue()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},tS,Z,X],radial:[``,Z,X],conic:[tS,Z,X]},CS,_S]}],"bg-color":[{bg:O()}],"gradient-from-pos":[{from:de()}],"gradient-via-pos":[{via:de()}],"gradient-to-pos":[{to:de()}],"gradient-from":[{from:O()}],"gradient-via":[{via:O()}],"gradient-to":[{to:O()}],rounded:[{rounded:fe()}],"rounded-s":[{"rounded-s":fe()}],"rounded-e":[{"rounded-e":fe()}],"rounded-t":[{"rounded-t":fe()}],"rounded-r":[{"rounded-r":fe()}],"rounded-b":[{"rounded-b":fe()}],"rounded-l":[{"rounded-l":fe()}],"rounded-ss":[{"rounded-ss":fe()}],"rounded-se":[{"rounded-se":fe()}],"rounded-ee":[{"rounded-ee":fe()}],"rounded-es":[{"rounded-es":fe()}],"rounded-tl":[{"rounded-tl":fe()}],"rounded-tr":[{"rounded-tr":fe()}],"rounded-br":[{"rounded-br":fe()}],"rounded-bl":[{"rounded-bl":fe()}],"border-w":[{border:pe()}],"border-w-x":[{"border-x":pe()}],"border-w-y":[{"border-y":pe()}],"border-w-s":[{"border-s":pe()}],"border-w-e":[{"border-e":pe()}],"border-w-bs":[{"border-bs":pe()}],"border-w-be":[{"border-be":pe()}],"border-w-t":[{"border-t":pe()}],"border-w-r":[{"border-r":pe()}],"border-w-b":[{"border-b":pe()}],"border-w-l":[{"border-l":pe()}],"divide-x":[{"divide-x":pe()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":pe()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...me(),`hidden`,`none`]}],"divide-style":[{divide:[...me(),`hidden`,`none`]}],"border-color":[{border:O()}],"border-color-x":[{"border-x":O()}],"border-color-y":[{"border-y":O()}],"border-color-s":[{"border-s":O()}],"border-color-e":[{"border-e":O()}],"border-color-bs":[{"border-bs":O()}],"border-color-be":[{"border-be":O()}],"border-color-t":[{"border-t":O()}],"border-color-r":[{"border-r":O()}],"border-color-b":[{"border-b":O()}],"border-color-l":[{"border-l":O()}],"divide-color":[{divide:O()}],"outline-style":[{outline:[...me(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[eS,Z,X]}],"outline-w":[{outline:[``,eS,yS,fS]}],"outline-color":[{outline:O()}],shadow:[{shadow:[``,`none`,u,wS,vS]}],"shadow-color":[{shadow:O()}],"inset-shadow":[{"inset-shadow":[`none`,d,wS,vS]}],"inset-shadow-color":[{"inset-shadow":O()}],"ring-w":[{ring:pe()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:O()}],"ring-offset-w":[{"ring-offset":[eS,fS]}],"ring-offset-color":[{"ring-offset":O()}],"inset-ring-w":[{"inset-ring":pe()}],"inset-ring-color":[{"inset-ring":O()}],"text-shadow":[{"text-shadow":[`none`,f,wS,vS]}],"text-shadow-color":[{"text-shadow":O()}],opacity:[{opacity:[eS,Z,X]}],"mix-blend":[{"mix-blend":[...he(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":he()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[eS]}],"mask-image-linear-from-pos":[{"mask-linear-from":ge()}],"mask-image-linear-to-pos":[{"mask-linear-to":ge()}],"mask-image-linear-from-color":[{"mask-linear-from":O()}],"mask-image-linear-to-color":[{"mask-linear-to":O()}],"mask-image-t-from-pos":[{"mask-t-from":ge()}],"mask-image-t-to-pos":[{"mask-t-to":ge()}],"mask-image-t-from-color":[{"mask-t-from":O()}],"mask-image-t-to-color":[{"mask-t-to":O()}],"mask-image-r-from-pos":[{"mask-r-from":ge()}],"mask-image-r-to-pos":[{"mask-r-to":ge()}],"mask-image-r-from-color":[{"mask-r-from":O()}],"mask-image-r-to-color":[{"mask-r-to":O()}],"mask-image-b-from-pos":[{"mask-b-from":ge()}],"mask-image-b-to-pos":[{"mask-b-to":ge()}],"mask-image-b-from-color":[{"mask-b-from":O()}],"mask-image-b-to-color":[{"mask-b-to":O()}],"mask-image-l-from-pos":[{"mask-l-from":ge()}],"mask-image-l-to-pos":[{"mask-l-to":ge()}],"mask-image-l-from-color":[{"mask-l-from":O()}],"mask-image-l-to-color":[{"mask-l-to":O()}],"mask-image-x-from-pos":[{"mask-x-from":ge()}],"mask-image-x-to-pos":[{"mask-x-to":ge()}],"mask-image-x-from-color":[{"mask-x-from":O()}],"mask-image-x-to-color":[{"mask-x-to":O()}],"mask-image-y-from-pos":[{"mask-y-from":ge()}],"mask-image-y-to-pos":[{"mask-y-to":ge()}],"mask-image-y-from-color":[{"mask-y-from":O()}],"mask-image-y-to-color":[{"mask-y-to":O()}],"mask-image-radial":[{"mask-radial":[Z,X]}],"mask-image-radial-from-pos":[{"mask-radial-from":ge()}],"mask-image-radial-to-pos":[{"mask-radial-to":ge()}],"mask-image-radial-from-color":[{"mask-radial-from":O()}],"mask-image-radial-to-color":[{"mask-radial-to":O()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[eS]}],"mask-image-conic-from-pos":[{"mask-conic-from":ge()}],"mask-image-conic-to-pos":[{"mask-conic-to":ge()}],"mask-image-conic-from-color":[{"mask-conic-from":O()}],"mask-image-conic-to-color":[{"mask-conic-to":O()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:ce()}],"mask-repeat":[{mask:le()}],"mask-size":[{mask:ue()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,Z,X]}],filter:[{filter:[``,`none`,Z,X]}],blur:[{blur:_e()}],brightness:[{brightness:[eS,Z,X]}],contrast:[{contrast:[eS,Z,X]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,wS,vS]}],"drop-shadow-color":[{"drop-shadow":O()}],grayscale:[{grayscale:[``,eS,Z,X]}],"hue-rotate":[{"hue-rotate":[eS,Z,X]}],invert:[{invert:[``,eS,Z,X]}],saturate:[{saturate:[eS,Z,X]}],sepia:[{sepia:[``,eS,Z,X]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,Z,X]}],"backdrop-blur":[{"backdrop-blur":_e()}],"backdrop-brightness":[{"backdrop-brightness":[eS,Z,X]}],"backdrop-contrast":[{"backdrop-contrast":[eS,Z,X]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,eS,Z,X]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[eS,Z,X]}],"backdrop-invert":[{"backdrop-invert":[``,eS,Z,X]}],"backdrop-opacity":[{"backdrop-opacity":[eS,Z,X]}],"backdrop-saturate":[{"backdrop-saturate":[eS,Z,X]}],"backdrop-sepia":[{"backdrop-sepia":[``,eS,Z,X]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,Z,X]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[eS,`initial`,Z,X]}],ease:[{ease:[`linear`,`initial`,_,Z,X]}],delay:[{delay:[eS,Z,X]}],animate:[{animate:[`none`,v,Z,X]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,Z,X]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:ve()}],"rotate-x":[{"rotate-x":ve()}],"rotate-y":[{"rotate-y":ve()}],"rotate-z":[{"rotate-z":ve()}],scale:[{scale:ye()}],"scale-x":[{"scale-x":ye()}],"scale-y":[{"scale-y":ye()}],"scale-z":[{"scale-z":ye()}],"scale-3d":[`scale-3d`],skew:[{skew:k()}],"skew-x":[{"skew-x":k()}],"skew-y":[{"skew-y":k()}],transform:[{transform:[Z,X,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:be()}],"translate-x":[{"translate-x":be()}],"translate-y":[{"translate-y":be()}],"translate-z":[{"translate-z":be()}],"translate-none":[`translate-none`],zoom:[{zoom:[tS,Z,X]}],accent:[{accent:O()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:O()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,Z,X]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":O()}],"scrollbar-track-color":[{"scrollbar-track":O()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,Z,X]}],fill:[{fill:[`none`,...O()]}],"stroke-w":[{stroke:[eS,yS,fS,pS]}],stroke:[{stroke:[`none`,...O()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function LS(...e){return IS(Fp(e))}async function RS(e){if(navigator.clipboard){await navigator.clipboard.writeText(e);return}let t=document.createElement(`textarea`);t.value=e,t.style.cssText=`position:fixed;top:-9999px;left:-9999px;opacity:0`,document.body.appendChild(t),t.select(),document.execCommand(`copy`),document.body.removeChild(t)}var Q=P({__name:`Button`,props:{variant:{},size:{},class:{},asChild:{type:Boolean},as:{default:`button`}},setup(e){let t=e;return(n,r)=>(R(),B(M(wh),{as:e.as,"as-child":e.asChild,class:k(M(LS)(M(zS)({variant:e.variant,size:e.size}),t.class))},{default:N(()=>[I(n.$slots,`default`)]),_:3},8,[`as`,`as-child`,`class`]))}}),zS=Rp(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground`,outline:`border border-input bg-background hover:bg-accent hover:text-accent-foreground`,destructive:`bg-destructive text-white hover:bg-destructive/90`},size:{sm:`h-8 rounded-md px-3 text-xs`,default:`h-9 px-4 py-2`,icon:`size-9`}},defaultVariants:{variant:`default`,size:`default`}}),BS=P({__name:`Input`,props:ka({class:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=Za(e,`modelValue`);return(e,n)=>_r((R(),z(`input`,{"onUpdate:modelValue":n[0]||=e=>t.value=e,class:k(M(LS)(`flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50`,e.$props.class))},null,2)),[[Fl,t.value]])}}),VS=P({__name:`SelectTrigger`,props:{disabled:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=Km(t);return(e,r)=>(R(),B(M(zb),G(M(n),{class:M(LS)(`flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1`,t.class)}),{default:N(()=>[I(e.$slots,`default`),H(M(Mb),{"as-child":``},{default:N(()=>[H(M(ku),{class:`size-4 opacity-50`})]),_:1})]),_:3},16,[`class`]))}}),HS=P({__name:`SelectContent`,props:{forceMount:{type:Boolean},position:{default:`popper`},bodyLock:{type:Boolean},side:{},sideOffset:{},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=qm(n,t);return(t,i)=>(R(),B(M(Rb),null,{default:N(()=>[H(M(jb),G(M(r),{class:M(LS)(`relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95`,e.position===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1`,n.class)}),{default:N(()=>[H(M(Vb),{class:k(M(LS)(`p-1`,e.position===`popper`&&`h-[var(--reka-select-trigger-height)] w-full min-w-[var(--reka-select-trigger-width)]`))},{default:N(()=>[I(t.$slots,`default`)]),_:3},8,[`class`])]),_:3},16,[`class`])]),_:3}))}}),US={class:`absolute left-2 flex size-3.5 items-center justify-center`},WS=P({__name:`SelectItem`,props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=Km(t);return(e,r)=>(R(),B(M(Fb),G(M(n),{class:M(LS)(`relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,t.class)}),{default:N(()=>[V(`span`,US,[H(M(Ib),null,{default:N(()=>[H(M(Ou),{class:`size-4`})]),_:1})]),H(M(Lb),null,{default:N(()=>[I(e.$slots,`default`)]),_:3})]),_:3},16,[`class`]))}}),GS=P({__name:`TabsList`,props:{loop:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e;return(e,n)=>(R(),B(M(Zb),G(t,{class:M(LS)(`inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground`,t.class)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`class`]))}}),KS=P({__name:`TabsTrigger`,props:{value:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=Km(t);return(e,r)=>(R(),B(M(Qb),G(M(n),{class:M(LS)(`inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow`,t.class)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`class`]))}}),qS=P({__name:`PopoverContent`,props:{forceMount:{type:Boolean},side:{},sideOffset:{default:4},sideFlip:{type:Boolean},align:{default:`center`},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=qm(n,t);return(e,t)=>(R(),B(M($y),null,{default:N(()=>[H(M(Qy),G(M(r),{class:M(LS)(`z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95`,n.class)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`class`])]),_:3}))}}),JS=P({__name:`Badge`,props:{variant:{},class:{}},setup(e){return(t,n)=>(R(),z(`span`,{class:k(M(LS)(M(YS)({variant:e.variant}),t.$props.class))},[I(t.$slots,`default`)],2))}}),YS=Rp(`inline-flex items-center gap-1 rounded-md border px-2 py-0.5 text-xs font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`,{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground`,secondary:`border-transparent bg-secondary text-secondary-foreground`,outline:`text-foreground`,destructive:`border-transparent bg-destructive text-white`,source:`border-transparent bg-state-source/15 text-state-source`,machine:`border-transparent bg-state-machine/15 text-state-machine`,reviewed:`border-transparent bg-state-reviewed/15 text-state-reviewed`,"needs-review":`border-transparent bg-state-needs-review/15 text-state-needs-review`}},defaultVariants:{variant:`default`}}),XS=P({__name:`Switch`,props:{defaultValue:{},modelValue:{},disabled:{type:Boolean},id:{},value:{},trueValue:{},falseValue:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=qm(n,t);return(e,t)=>(R(),B(M(Wb),G(M(r),{class:M(LS)(`peer inline-flex h-5 w-9 shrink-0 items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input`,n.class)}),{default:N(()=>[H(M(Gb),{class:`pointer-events-none block size-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0`})]),_:1},16,[`class`]))}}),ZS={class:`flex flex-col gap-3`},QS=[`aria-checked`,`onClick`],$S=[`aria-checked`],eC=[`aria-checked`,`disabled`],tC={key:0,class:`ml-[30px] text-[11px] text-muted-foreground`},nC=[`aria-checked`],rC={class:`border-t pt-2`},iC=[`aria-checked`,`onClick`],aC={class:`border-t pt-2`},oC=[`aria-checked`],sC={class:`border-t pt-2`},cC=[`aria-checked`,`disabled`,`onClick`],lC={class:`truncate`},uC=P({__name:`FilterMenu`,props:{states:{},issues:{},enabled:{},plurality:{},emptySource:{type:Boolean},aiContextUnreviewed:{type:Boolean},noUsages:{type:Boolean},skipTranslate:{type:Boolean},scanIndexed:{type:Boolean}},emits:[`update:states`,`update:issues`,`update:enabled`,`update:plurality`,`update:emptySource`,`update:aiContextUnreviewed`,`update:noUsages`,`update:skipTranslate`],setup(e,{emit:t}){let n=e,r=t,i=K(()=>new Set(n.enabled));function a(e){r(`update:states`,n.states.includes(e)?n.states.filter(t=>t!==e):[...n.states,e])}function o(e){r(`update:plurality`,n.plurality.includes(e)?n.plurality.filter(t=>t!==e):[...n.plurality,e])}function s(e){i.value.has(e)&&r(`update:issues`,n.issues.includes(e)?n.issues.filter(t=>t!==e):[...n.issues,e])}function c(e,t){t?i.value.has(e)||r(`update:enabled`,[...n.enabled,e]):(r(`update:enabled`,n.enabled.filter(t=>t!==e)),n.issues.includes(e)&&r(`update:issues`,n.issues.filter(t=>t!==e)))}return(t,n)=>(R(),z(`div`,ZS,[V(`div`,null,[n[7]||=V(`p`,{class:`mb-1.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground`},`Status`,-1),(R(!0),z(L,null,F(M(up),t=>(R(),z(`button`,{key:t,type:`button`,role:`checkbox`,"aria-checked":e.states.includes(t),class:`flex w-full items-center gap-2 rounded px-1.5 py-1 text-sm hover:bg-accent`,onClick:e=>a(t)},[V(`span`,{class:k([`flex size-4 items-center justify-center rounded border transition-colors`,e.states.includes(t)?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground hover:border-primary hover:bg-primary/10`])},[e.states.includes(t)?(R(),B(M(Ou),{key:0,class:`size-3`})):W(``,!0)],2),U(` `+A(M(pp)[t]),1)],8,QS))),128)),V(`button`,{type:`button`,role:`checkbox`,"aria-checked":e.emptySource,class:`flex w-full items-center gap-2 rounded px-1.5 py-1 text-sm hover:bg-accent`,onClick:n[0]||=t=>r(`update:emptySource`,!e.emptySource)},[V(`span`,{class:k([`flex size-4 items-center justify-center rounded border transition-colors`,e.emptySource?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground hover:border-primary hover:bg-primary/10`])},[e.emptySource?(R(),B(M(Ou),{key:0,class:`size-3`})):W(``,!0)],2),n[4]||=U(` Empty source `,-1)],8,$S),V(`button`,{type:`button`,role:`checkbox`,"aria-checked":e.noUsages,disabled:!e.scanIndexed,class:`flex w-full items-center gap-2 rounded px-1.5 py-1 text-sm enabled:hover:bg-accent disabled:cursor-not-allowed disabled:opacity-50`,onClick:n[1]||=t=>r(`update:noUsages`,!e.noUsages)},[V(`span`,{class:k([`flex size-4 items-center justify-center rounded border transition-colors`,e.noUsages?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground hover:border-primary hover:bg-primary/10`])},[e.noUsages?(R(),B(M(Ou),{key:0,class:`size-3`})):W(``,!0)],2),n[5]||=U(` Unused `,-1)],8,eC),e.scanIndexed?W(``,!0):(R(),z(`p`,tC,`Run a scan first`)),V(`button`,{type:`button`,role:`checkbox`,"aria-checked":e.skipTranslate,class:`flex w-full items-center gap-2 rounded px-1.5 py-1 text-sm hover:bg-accent`,onClick:n[2]||=t=>r(`update:skipTranslate`,!e.skipTranslate)},[V(`span`,{class:k([`flex size-4 items-center justify-center rounded border transition-colors`,e.skipTranslate?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground hover:border-primary hover:bg-primary/10`])},[e.skipTranslate?(R(),B(M(Ou),{key:0,class:`size-3`})):W(``,!0)],2),n[6]||=U(` Skip-translate `,-1)],8,nC)]),V(`div`,rC,[n[8]||=V(`p`,{class:`mb-1.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground`},`Type`,-1),(R(!0),z(L,null,F(M(dp),t=>(R(),z(`button`,{key:t,type:`button`,role:`checkbox`,"aria-checked":e.plurality.includes(t),class:`flex w-full items-center gap-2 rounded px-1.5 py-1 text-sm hover:bg-accent`,onClick:e=>o(t)},[V(`span`,{class:k([`flex size-4 items-center justify-center rounded border transition-colors`,e.plurality.includes(t)?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground hover:border-primary hover:bg-primary/10`])},[e.plurality.includes(t)?(R(),B(M(Ou),{key:0,class:`size-3`})):W(``,!0)],2),U(` `+A(M(mp)[t]),1)],8,iC))),128))]),V(`div`,aC,[n[10]||=V(`p`,{class:`mb-1.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground`},`Context`,-1),V(`button`,{type:`button`,role:`checkbox`,"aria-checked":e.aiContextUnreviewed,class:`flex w-full items-center gap-2 rounded px-1.5 py-1 text-sm hover:bg-accent`,onClick:n[3]||=t=>r(`update:aiContextUnreviewed`,!e.aiContextUnreviewed)},[V(`span`,{class:k([`flex size-4 items-center justify-center rounded border transition-colors`,e.aiContextUnreviewed?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground hover:border-primary hover:bg-primary/10`])},[e.aiContextUnreviewed?(R(),B(M(Ou),{key:0,class:`size-3`})):W(``,!0)],2),H(M(yd),{class:`size-3.5 text-muted-foreground`}),n[9]||=U(` AI context (unreviewed) `,-1)],8,oC)]),V(`div`,sC,[n[11]||=V(`p`,{class:`mb-1.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground`},`Issues`,-1),n[12]||=V(`p`,{class:`mb-1.5 text-[11px] text-muted-foreground`},`Toggle a check to run it; tick its box to filter by it.`,-1),(R(!0),z(L,null,F(M(cp),t=>(R(),z(`div`,{key:t,class:`flex items-center gap-2 py-0.5`},[V(`button`,{type:`button`,role:`checkbox`,"aria-checked":e.issues.includes(t),class:`flex min-w-0 flex-1 items-center gap-2 rounded px-1.5 py-1 text-sm disabled:opacity-50 enabled:hover:bg-accent`,disabled:!i.value.has(t),onClick:e=>s(t)},[V(`span`,{class:k([`flex size-4 shrink-0 items-center justify-center rounded border transition-colors`,e.issues.includes(t)?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground hover:border-primary hover:bg-primary/10`])},[e.issues.includes(t)?(R(),B(M(Ou),{key:0,class:`size-3`})):W(``,!0)],2),V(`span`,lC,A(M(fp)[t]),1)],8,cC),H(M(XS),{"model-value":i.value.has(t),"aria-label":`Enable ${M(fp)[t]} check`,"onUpdate:modelValue":e=>c(t,e)},null,8,[`model-value`,`aria-label`,`onUpdate:modelValue`])]))),128))])]))}}),dC={class:`pointer-events-none fixed bottom-4 right-4 z-[200] flex w-80 flex-col gap-2`},fC=[`onClick`],pC=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})(P({__name:`Toaster`,setup(e){let t=vC();return(e,n)=>(R(),B(Hr,{to:`body`},[V(`div`,dC,[H(wl,{name:`toast`},{default:N(()=>[(R(!0),z(L,null,F(M(t).toasts,e=>(R(),z(`button`,{key:e.id,type:`button`,class:k(M(LS)(`pointer-events-auto flex items-center rounded-md border bg-card px-4 py-3 text-left text-sm text-card-foreground shadow-lg`,e.variant===`success`&&`border-state-reviewed/50 text-state-reviewed`,e.variant===`error`&&`border-destructive/50 text-destructive`)),onClick:t=>M(_C)(e.id)},A(e.message),11,fC))),128))]),_:1})])]))}}),[[`__scopeId`,`data-v-e9967100`]]),mC=Xt({toasts:[]}),hC=0;function gC(e,t,n=4e3){let r=hC++;mC.toasts.push({id:r,message:e,variant:t}),window.setTimeout(()=>_C(r),n)}function _C(e){let t=mC.toasts.findIndex(t=>t.id===e);t!==-1&&mC.toasts.splice(t,1)}var $=Object.assign(e=>gC(e,`default`),{success:e=>gC(e,`success`),error:e=>gC(e,`error`),info:e=>gC(e,`default`)});function vC(){return mC}var yC=P({__name:`Label`,props:{for:{},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e;return(e,n)=>(R(),B(M(ub),{for:t.for,class:k(M(LS)(`text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70`,t.class))},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`for`,`class`]))}}),bC=P({__name:`DialogContent`,props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=qm(n,t);return(e,t)=>(R(),B(M(hg),null,{default:N(()=>[H(M(pg),{class:`fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`}),H(M(ug),G(M(r),{class:M(LS)(`fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border bg-card p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 sm:rounded-lg`,n.class)}),{default:N(()=>[I(e.$slots,`default`),H(M(kh),{class:`absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`},{default:N(()=>[H(M(Ad),{class:`size-4`}),t[0]||=V(`span`,{class:`sr-only`},`Close`,-1)]),_:1})]),_:3},16,[`class`])]),_:3}))}}),xC=P({__name:`DialogHeader`,props:{class:{}},setup(e){return(e,t)=>(R(),z(`div`,{class:k(M(LS)(`flex flex-col gap-1.5 text-center sm:text-left`,e.$props.class))},[I(e.$slots,`default`)],2))}}),SC=P({__name:`DialogFooter`,props:{class:{}},setup(e){return(e,t)=>(R(),z(`div`,{class:k(M(LS)(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e.$props.class))},[I(e.$slots,`default`)],2))}}),CC=P({__name:`DialogTitle`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e;return(e,n)=>(R(),B(M(gg),{class:k(M(LS)(`text-lg font-semibold leading-none tracking-tight`,t.class))},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`class`]))}}),wC=P({__name:`DialogDescription`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e;return(e,n)=>(R(),B(M(dg),{class:k(M(LS)(`text-sm text-muted-foreground`,t.class))},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`class`]))}}),TC=P({__name:`DropdownMenuContent`,props:{forceMount:{type:Boolean},loop:{type:Boolean},side:{},sideOffset:{default:4},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=qm(n,t);return(e,t)=>(R(),B(M(sb),null,{default:N(()=>[H(M(ib),G(M(r),{class:M(LS)(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95`,n.class)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`class`])]),_:3}))}}),EC=P({__name:`DropdownMenuItem`,props:{disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=Km(t);return(e,r)=>(R(),B(M(ab),G(M(n),{class:M(LS)(`relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:size-4`,t.class)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`class`]))}}),DC=P({__name:`DropdownMenuLabel`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e;return(e,n)=>(R(),B(M(ob),{class:k(M(LS)(`px-2 py-1.5 text-sm font-semibold`,t.class))},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`class`]))}}),OC=P({__name:`DropdownMenuSeparator`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e;return(e,n)=>(R(),B(M(cb),{class:k(M(LS)(`-mx-1 my-1 h-px bg-border`,t.class))},null,8,[`class`]))}}),kC={class:`flex flex-wrap items-center gap-2`},AC={class:`grid gap-2`},jC={class:`flex flex-wrap gap-2`},MC=P({__name:`SelectionBar`,props:{keys:{},locales:{},scopeLabel:{},tagsOnSelection:{}},emits:[`changed`,`clear`,`translate`,`build-context`],setup(e,{emit:t}){let n=e,r=t,i=j(!1),a=j(!1),o=j(!1),s=j(!1),c=j(!1),l=j(``);Dr(s,e=>{e||(l.value=``)});async function u(e,t,n=!1){i.value=!0;try{await e(),$.success(t),r(`changed`),n&&r(`clear`),a.value=!1,o.value=!1,s.value=!1,c.value=!1}catch(e){$.error(e.message||`Bulk action failed`)}finally{i.value=!1}}let d=()=>u(()=>Fd(n.keys,n.locales),`Cleared translations for ${n.keys.length} key${n.keys.length===1?``:`s`}`),f=()=>u(()=>Id(n.keys),`Deleted ${n.keys.length} key${n.keys.length===1?``:`s`}`,!0),p=e=>u(()=>Ld(n.keys,n.locales,e),`Marked ${n.keys.length} key${n.keys.length===1?``:`s`} ${e}`),m=e=>u(()=>Rd(n.keys,{skipTranslate:e}),e?`Marked skip-translate`:`Cleared skip-translate`),h=()=>u(()=>Rd(n.keys,{clearContext:!0}),`Cleared context for ${n.keys.length} key${n.keys.length===1?``:`s`}`),g=()=>{let e=l.value.trim();if(!(!e||i.value))return u(()=>Rd(n.keys,{addTags:[e]}),`Added tag "${e}"`).then(()=>l.value=``)},_=e=>u(()=>Rd(n.keys,{removeTags:[e]}),`Removed tag "${e}"`);return(t,n)=>(R(),z(`div`,kC,[H(M(Q),{variant:`ghost`,size:`sm`,class:`h-8 gap-1.5`,"data-testid":`bulk-clear-trigger`,disabled:i.value||!e.keys.length,onClick:n[0]||=e=>a.value=!0},{default:N(()=>[H(M(zu),{class:`size-4`}),n[19]||=U(` Clear translations `,-1)]),_:1},8,[`disabled`]),H(M(Q),{variant:`ghost`,size:`sm`,class:`h-8 gap-1.5`,"data-testid":`bulk-translate`,disabled:i.value||!e.keys.length,onClick:n[1]||=e=>r(`translate`)},{default:N(()=>[H(M(yd),{class:`size-4`}),n[20]||=U(` Translate `,-1)]),_:1},8,[`disabled`]),H(M(Q),{variant:`ghost`,size:`sm`,class:`h-8 gap-1.5`,"data-testid":`bulk-build-context`,disabled:i.value||!e.keys.length,onClick:n[2]||=e=>r(`build-context`)},{default:N(()=>[H(M(kd),{class:`size-4`}),n[21]||=U(` Build context `,-1)]),_:1},8,[`disabled`]),H(M(rb),null,{default:N(()=>[H(M(lb),{"as-child":``},{default:N(()=>[H(M(Q),{variant:`ghost`,size:`sm`,class:`h-8 gap-1.5`,"data-testid":`bulk-set-trigger`,disabled:i.value||!e.keys.length},{default:N(()=>[n[22]||=U(` Set `,-1),H(M(ku),{class:`size-4`})]),_:1},8,[`disabled`])]),_:1}),H(M(TC),{align:`end`,class:`w-52`},{default:N(()=>[H(M(DC),null,{default:N(()=>[U(`Status · `+A(e.scopeLabel),1)]),_:1}),H(M(EC),{"data-testid":`bulk-mark-reviewed`,onSelect:n[3]||=e=>p(`reviewed`)},{default:N(()=>[...n[23]||=[U(`Mark reviewed`,-1)]]),_:1}),H(M(EC),{"data-testid":`bulk-mark-needs-review`,onSelect:n[4]||=e=>p(`needs-review`)},{default:N(()=>[...n[24]||=[U(`Mark needs-review`,-1)]]),_:1}),H(M(OC)),H(M(DC),null,{default:N(()=>[...n[25]||=[U(`Tags · key`,-1)]]),_:1}),H(M(EC),{onSelect:n[5]||=e=>s.value=!0},{default:N(()=>[...n[26]||=[U(`Add tag…`,-1)]]),_:1}),H(M(EC),{disabled:!e.tagsOnSelection.length,onSelect:n[6]||=e=>c.value=!0},{default:N(()=>[...n[27]||=[U(`Remove tag…`,-1)]]),_:1},8,[`disabled`]),H(M(OC)),H(M(DC),null,{default:N(()=>[...n[28]||=[U(`Context · key`,-1)]]),_:1}),H(M(EC),{onSelect:h},{default:N(()=>[...n[29]||=[U(`Clear context`,-1)]]),_:1}),H(M(OC)),H(M(DC),null,{default:N(()=>[...n[30]||=[U(`Translation · key`,-1)]]),_:1}),H(M(EC),{onSelect:n[7]||=e=>m(!0)},{default:N(()=>[...n[31]||=[U(`Skip translate`,-1)]]),_:1}),H(M(EC),{onSelect:n[8]||=e=>m(!1)},{default:N(()=>[...n[32]||=[U(`Don't skip`,-1)]]),_:1})]),_:1})]),_:1}),H(M(Q),{variant:`ghost`,size:`sm`,class:`h-8 gap-1.5 text-destructive hover:bg-destructive/10 hover:text-destructive`,"data-testid":`bulk-delete-trigger`,disabled:i.value||!e.keys.length,onClick:n[9]||=e=>o.value=!0},{default:N(()=>[H(M(Td),{class:`size-4`}),n[33]||=U(` Delete `,-1)]),_:1},8,[`disabled`]),H(M(Oh),{open:a.value,"onUpdate:open":n[11]||=e=>a.value=e},{default:N(()=>[H(M(bC),{class:`max-w-md`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),null,{default:N(()=>[...n[34]||=[U(`Clear translations`,-1)]]),_:1}),H(M(wC),null,{default:N(()=>[U(` Clear translations for `+A(e.keys.length)+` `+A(e.keys.length===1?`key`:`keys`)+` in `+A(e.scopeLabel)+`? Source strings are kept. This cannot be undone. `,1)]),_:1})]),_:1}),H(M(SC),null,{default:N(()=>[H(M(Q),{variant:`outline`,disabled:i.value,onClick:n[10]||=e=>a.value=!1},{default:N(()=>[...n[35]||=[U(`Cancel`,-1)]]),_:1},8,[`disabled`]),H(M(Q),{variant:`destructive`,disabled:i.value,"data-testid":`bulk-clear-confirm`,onClick:d},{default:N(()=>[...n[36]||=[U(`Clear translations`,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`]),H(M(Oh),{open:o.value,"onUpdate:open":n[13]||=e=>o.value=e},{default:N(()=>[H(M(bC),{class:`max-w-md`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),null,{default:N(()=>[...n[37]||=[U(`Delete keys`,-1)]]),_:1}),H(M(wC),null,{default:N(()=>[U(` Delete `+A(e.keys.length)+` `+A(e.keys.length===1?`key`:`keys`)+` and all their translations? This cannot be undone. `,1)]),_:1})]),_:1}),H(M(SC),null,{default:N(()=>[H(M(Q),{variant:`outline`,disabled:i.value,onClick:n[12]||=e=>o.value=!1},{default:N(()=>[...n[38]||=[U(`Cancel`,-1)]]),_:1},8,[`disabled`]),H(M(Q),{variant:`destructive`,disabled:i.value,"data-testid":`bulk-delete-confirm`,onClick:f},{default:N(()=>[...n[39]||=[U(`Delete`,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`]),H(M(Oh),{open:s.value,"onUpdate:open":n[16]||=e=>s.value=e},{default:N(()=>[H(M(bC),{class:`max-w-md`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),null,{default:N(()=>[...n[40]||=[U(`Add tag`,-1)]]),_:1}),H(M(wC),null,{default:N(()=>[U(`Add a tag to `+A(e.keys.length)+` `+A(e.keys.length===1?`key`:`keys`)+`.`,1)]),_:1})]),_:1}),V(`div`,AC,[H(M(yC),{for:`bulk-add-tag`},{default:N(()=>[...n[41]||=[U(`Tag`,-1)]]),_:1}),H(M(BS),{id:`bulk-add-tag`,modelValue:l.value,"onUpdate:modelValue":n[14]||=e=>l.value=e,disabled:i.value,onKeydown:Zl(Yl(g,[`prevent`]),[`enter`])},null,8,[`modelValue`,`disabled`,`onKeydown`])]),H(M(SC),null,{default:N(()=>[H(M(Q),{variant:`outline`,disabled:i.value,onClick:n[15]||=e=>s.value=!1},{default:N(()=>[...n[42]||=[U(`Cancel`,-1)]]),_:1},8,[`disabled`]),H(M(Q),{disabled:i.value||!l.value.trim(),onClick:g},{default:N(()=>[...n[43]||=[U(`Add`,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`]),H(M(Oh),{open:c.value,"onUpdate:open":n[18]||=e=>c.value=e},{default:N(()=>[H(M(bC),{class:`max-w-md`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),null,{default:N(()=>[...n[44]||=[U(`Remove tag`,-1)]]),_:1}),H(M(wC),null,{default:N(()=>[...n[45]||=[U(`Remove a tag from the selected keys.`,-1)]]),_:1})]),_:1}),V(`div`,jC,[(R(!0),z(L,null,F(e.tagsOnSelection,e=>(R(),B(M(Q),{key:e,variant:`outline`,size:`sm`,disabled:i.value,onClick:t=>_(e)},{default:N(()=>[U(A(e),1)]),_:2},1032,[`disabled`,`onClick`]))),128))]),H(M(SC),null,{default:N(()=>[H(M(Q),{variant:`outline`,disabled:i.value,onClick:n[17]||=e=>c.value=!1},{default:N(()=>[...n[46]||=[U(`Close`,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`])]))}});function NC(){let e=j(new Set),t=null;function n(t){return e.value.has(t)}function r(n){e.value.has(n)?e.value.delete(n):e.value.add(n),t=n}function i(n,i){if(t===null)return r(n);let a=i.indexOf(t),o=i.indexOf(n);if(a===-1||o===-1)return r(n);let[s,c]=a<o?[a,o]:[o,a];for(let t=s;t<=c;t++)e.value.add(i[t]);t=n}function a(n){for(let t of n)e.value.add(t);t=n.length?n[n.length-1]:null}function o(){e.value.clear(),t=null}function s(n){let r=new Set(n);for(let t of[...e.value])r.has(t)||e.value.delete(t);t!==null&&!r.has(t)&&(t=null)}return{has:n,toggle:r,toggleRange:i,selectAll:a,clear:o,pruneTo:s,keys:()=>[...e.value],count:K(()=>e.value.size),allSelected:t=>t.length>0&&t.every(t=>e.value.has(t)),someSelected:t=>t.some(t=>e.value.has(t))}}var PC=P({__name:`TooltipContent`,props:{forceMount:{type:Boolean},ariaLabel:{},asChild:{type:Boolean},as:{},side:{},sideOffset:{default:4},align:{},alignOffset:{},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},class:{}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=qm(n,t);return(e,t)=>(R(),B(M(lx),null,{default:N(()=>[H(M(cx),G(M(r),{class:M(LS)(`z-50 overflow-hidden rounded-md bg-foreground px-3 py-1.5 text-xs text-background shadow-md data-[state=delayed-open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95`,n.class)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`class`])]),_:3}))}}),FC=[`zero`,`one`,`two`,`few`,`many`,`other`];function IC(e){let t;try{t=new Intl.PluralRules(e.replace(/_/g,`-`),{type:`cardinal`}).resolvedOptions().pluralCategories}catch{t=[`other`]}let n=new Set(t);return FC.filter(e=>n.has(e))}function LC(e,t,n){if(t===n)return!1;let r=e.values[n];if(e.plural){if(!r?.forms?.other)return!1;let n=e.values[t]?.forms??{};return IC(t).some(e=>(n[e]??``)===``)}return r?.value?!e.values[t]?.value:!1}function RC(e,t,n){return t.filter(t=>LC(e,t,n))}function zC(e,t,n){return t.filter(t=>{if(t===n)return!1;let r=e.values[t];return!r||r.state!==`needs-review`?!1:r.value?r.value.length>0:Object.keys(r.forms??{}).length>0})}var BC=new Intl.DisplayNames([`en`],{type:`language`}),VC=new Map;function HC(e){if(!VC.has(e)){let t;try{t=new Intl.DisplayNames([e],{type:`language`}).of(e)??void 0}catch{t=void 0}VC.set(e,t)}return VC.get(e)}function UC(e){return e.split(`-`).slice(1).some(e=>/^[a-zA-Z]{5,8}$/.test(e)||/^[0-9][a-zA-Z0-9]{3}$/.test(e))}var WC=new Set([`ar`,`he`,`iw`,`fa`,`ur`,`ps`,`sd`,`ug`,`yi`,`dv`,`ckb`,`ks`,`nqo`,`rhg`]);function GC(e){let t=e.split(/[-_]/)[0]?.toLowerCase()??``;return WC.has(t)}function KC(e,t){let n=e.replace(/_/g,`-`),r=n,i=!1;try{r=Intl.getCanonicalLocales(n)[0]??n,UC(r)&&(i=!0)}catch{i=!0}let a=e;t?.name===void 0?i||(a=BC.of(r)??e):a=t.name;let o;return o=t&&t.flag!==void 0?t.flag:i?null:r===`en`?`en`:new Intl.Locale(r).maximize().region??null,{code:e,bcp47:r,name:a,endonym:i?void 0:HC(r),flagRegion:o,isCustom:i,rtl:GC(e)}}var qC=[`aria-label`],JC=`inline-flex items-center gap-1.5 rounded-md border px-2.5 py-1 text-[11.5px] font-medium leading-none whitespace-nowrap min-w-[132px]`,YC=P({__name:`StateBadge`,props:{state:{},editable:{type:Boolean}},emits:[`setState`],setup(e,{emit:t}){let n=e,r=t,i=[`machine`,`reviewed`,`needs-review`],a={source:`Source`,machine:`Machine`,reviewed:`Reviewed`,"needs-review":`Needs review`},o={source:`bg-accent text-muted-foreground border-border-soft`,machine:`bg-machine-soft text-machine border-transparent`,reviewed:`bg-review-soft text-review border-transparent`,"needs-review":`bg-muted text-muted-foreground border-border`},s={source:`bg-muted-foreground`,machine:`bg-machine`,reviewed:`bg-review`,"needs-review":`bg-muted-foreground`};return(t,c)=>!e.editable||e.state===`source`?(R(),z(`span`,{key:0,class:k(M(LS)(JC,o[e.state],`cursor-default`)),"data-testid":`state-badge`},[e.state===`reviewed`?(R(),B(M(Ou),{key:0,class:`size-3 shrink-0`})):(R(),z(`span`,{key:1,class:k(M(LS)(`size-[7px] shrink-0 rounded-full`,s[e.state]))},null,2)),U(` `+A(a[e.state]),1)],2)):(R(),B(M(rb),{key:1},{default:N(()=>[H(M(lb),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:k(M(LS)(JC,o[e.state],`transition hover:brightness-95 focus:outline-none focus-visible:ring-2 focus-visible:ring-ring`)),"aria-label":`${a[e.state]} — change state`,"data-testid":`state-badge`},[e.state===`reviewed`?(R(),B(M(Ou),{key:0,class:`size-3 shrink-0`})):(R(),z(`span`,{key:1,class:k(M(LS)(`size-[7px] shrink-0 rounded-full`,s[e.state]))},null,2)),U(` `+A(a[e.state])+` `,1),H(M(ku),{class:`ml-auto size-3 opacity-50`})],10,qC)]),_:1}),H(M(TC),{align:`end`,class:`min-w-[10rem]`},{default:N(()=>[(R(),z(L,null,F(i,e=>H(M(EC),{key:e,onSelect:t=>r(`setState`,e)},{default:N(()=>[V(`span`,{class:k(M(LS)(`size-[7px] shrink-0 rounded-full`,s[e]))},null,2),U(` `+A(a[e])+` `,1),H(M(Ou),{class:k(M(LS)(`ml-auto size-4`,e===n.state?`opacity-100`:`opacity-0`))},null,8,[`class`])]),_:2},1032,[`onSelect`])),64))]),_:1})]),_:1}))}}),XC=new RegExp([`\\{\\s*[A-Za-z0-9_]+\\s*,\\s*(?:plural|select|selectordinal)\\s*,(?:[^{}]|\\{[^{}]*\\})*\\}`,`\\{\\s*[A-Za-z0-9_.]+\\s*\\}`].join(`|`),`g`);function ZC(e){let t=[];if(!e.includes(`'`))return t;for(let n=0;n<e.length;){if(e[n]===`'`){let r=e[n+1];if(r===`'`){n+=2;continue}if(r===`{`||r===`}`||r===`#`||r===`|`){let r=n;for(n+=2;n<e.length&&e[n]!==`'`;)n++;let i=n<e.length?n+1:n;t.push([r,i]),n=i;continue}}n++}return t}function QC(e){if(!e)return[];let t=ZC(e),n=e=>t.some(([t,n])=>e>=t&&e<n),r=[],i=0;XC.lastIndex=0;let a;for(;(a=XC.exec(e))!==null;){if(a[0].length===0){XC.lastIndex++;continue}n(a.index)||(a.index>i&&r.push({text:e.slice(i,a.index),placeholder:!1}),r.push({text:a[0],placeholder:!0}),i=a.index+a[0].length)}return i<e.length&&r.push({text:e.slice(i),placeholder:!1}),r}var $C=P({__name:`Textarea`,props:ka({class:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=Za(e,`modelValue`);return(e,n)=>_r((R(),z(`textarea`,{"onUpdate:modelValue":n[0]||=e=>t.value=e,class:k(M(LS)(`flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50`,e.$props.class))},null,2)),[[Fl,t.value]])}}),ew={class:`min-w-0`},tw={key:0,class:`flex flex-col gap-1`},nw={class:`whitespace-pre-wrap break-words`},rw={key:0,class:`rounded bg-ph-bg px-1 font-mono text-[0.85em] font-semibold text-ph-fg`},iw=P({__name:`ValueEditor`,props:{keyName:{},locale:{},sourceLocale:{},value:{},maxLength:{}},emits:[`changed`],setup(e,{emit:t}){let n=e,r=t,i=j(!1),a=j(``),o=j(!1),s=j(null),c=K(()=>n.locale===n.sourceLocale),l=K(()=>QC(n.value)),u=K(()=>n.maxLength!==void 0&&n.value.length>n.maxLength);function d(e){e&&(e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,160)}px`)}async function f(){a.value=n.value,i.value=!0,await $n();let e=s.value?.$el;e?.focus(),e?.select(),d(e)}function p(){i.value=!1}async function m(){if(!i.value)return;i.value=!1;let e=a.value;if(e!==n.value){o.value=!0;try{c.value?await zd(n.keyName,{source:e}):await Bd(n.keyName,n.locale,e),r(`changed`)}catch(e){$.error(`Could not save: ${e.message}`),r(`changed`)}finally{o.value=!1}}}return(t,n)=>(R(),z(`div`,ew,[i.value?(R(),z(`div`,tw,[H(M($C),{ref_key:`textareaEl`,ref:s,modelValue:a.value,"onUpdate:modelValue":n[0]||=e=>a.value=e,rows:`1`,maxlength:e.maxLength,class:`max-w-[560px] resize-none rounded-lg border-2 border-primary text-sm shadow-[0_0_0_3px_var(--ring)]`,onInput:n[1]||=e=>d(e.target),onBlur:m,onKeydown:[Zl(Yl(p,[`prevent`]),[`escape`]),Zl(Yl(m,[`exact`,`prevent`]),[`enter`])]},null,8,[`modelValue`,`maxlength`,`onKeydown`]),n[2]||=V(`span`,{class:`text-[10.5px] text-muted-foreground`},[V(`kbd`,{class:`rounded border border-border-soft bg-accent px-1 font-mono text-[10px]`},`↵`),U(` save · `),V(`kbd`,{class:`rounded border border-border-soft bg-accent px-1 font-mono text-[10px]`},`esc`),U(` cancel `)],-1)])):e.value?(R(),z(`button`,{key:1,type:`button`,class:k(M(LS)(`group inline-flex max-w-full items-center gap-1.5 rounded-md px-2 py-1 -mx-2 -my-1 text-left text-sm leading-relaxed hover:bg-accent focus:outline-none focus-visible:ring-2 focus-visible:ring-ring`,u.value&&`text-destructive`)),onClick:Yl(f,[`stop`])},[V(`span`,nw,[(R(!0),z(L,null,F(l.value,(e,t)=>(R(),z(L,{key:t},[e.placeholder?(R(),z(`span`,rw,A(e.text),1)):(R(),z(L,{key:1},[U(A(e.text),1)],64))],64))),128))]),H(M(od),{"aria-hidden":`true`,class:`size-3 shrink-0 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-60`})],2)):(R(),z(`button`,{key:2,type:`button`,"data-testid":`empty-marker`,class:`group inline-flex items-center gap-1.5 rounded-md border border-dashed border-input px-2.5 py-1 text-[12.5px] font-medium italic text-muted-foreground transition-colors hover:border-border hover:bg-accent hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:Yl(f,[`stop`])},[n[3]||=U(` Empty `,-1),H(M(od),{class:`size-3 shrink-0 opacity-0 transition-opacity group-hover:opacity-60`,"aria-hidden":`true`})]))]))}}),aw={class:`flex min-w-0 flex-col gap-2`},ow={class:`min-w-0 flex-1`},sw={key:0,class:`flex flex-col gap-1`},cw={class:`font-mono text-[10px] font-semibold uppercase tracking-wide text-primary`},lw=[`onClick`],uw={class:`whitespace-pre-wrap break-words`},dw={key:0,class:`rounded bg-ph-bg px-1 font-mono text-[0.85em] font-semibold text-ph-fg`},fw=[`onClick`],pw=P({__name:`PluralValueEditor`,props:{keyName:{},locale:{},sourceLocale:{},arg:{},forms:{},sourceForms:{},maxLength:{}},emits:[`changed`],setup(e,{emit:t}){let n=e,r=t,i=K(()=>n.locale===n.sourceLocale),a=K(()=>[...Object.keys(n.forms).filter(e=>/^=\d+$/.test(e)).sort((e,t)=>Number(e.slice(1))-Number(t.slice(1))),...IC(n.locale)]),o=j(null),s=j(``),c=j(!1),l=j(null);function u(e){l.value=e}function d(e){return n.forms[e]??``}function f(e){return QC(d(e))}function p(e){return n.maxLength!==void 0&&d(e).length>n.maxLength}function m(e){e&&(e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,160)}px`)}async function h(e){s.value=d(e),o.value=e,await $n();let t=l.value?.$el;t?.focus(),t?.select(),m(t)}function g(){o.value=null}async function _(){let e=o.value;if(!e)return;o.value=null;let t=s.value;if(t!==d(e)){c.value=!0;try{let i={};for(let[e,t]of Object.entries(n.forms))i[e]=t??``;i[e]=t,await Ud(n.keyName,n.locale,i),r(`changed`)}catch(e){$.error(`Could not save: ${e.message}`),r(`changed`)}finally{c.value=!1}}}return(t,n)=>(R(),z(`div`,aw,[(R(!0),z(L,null,F(a.value,t=>(R(),z(`div`,{key:t,"data-testid":`plural-field`,class:`flex items-start gap-2.5`},[V(`span`,{class:k(M(LS)(`mt-0.5 min-w-[46px] shrink-0 rounded border border-border px-1.5 py-1 text-center font-mono text-[9.5px] font-semibold uppercase tracking-wide text-muted-foreground`,!i.value&&!d(t)&&`opacity-55`))},A(t),3),V(`div`,ow,[o.value===t?(R(),z(`div`,sw,[V(`span`,cw,`Plural: `+A(t),1),H(M($C),{ref_for:!0,ref:u,modelValue:s.value,"onUpdate:modelValue":n[0]||=e=>s.value=e,rows:`1`,maxlength:e.maxLength,class:`max-w-[560px] resize-none rounded-lg border-2 border-primary text-sm shadow-[0_0_0_3px_var(--ring)]`,onInput:n[1]||=e=>m(e.target),onBlur:_,onKeydown:[Zl(Yl(g,[`prevent`]),[`escape`]),Zl(Yl(_,[`exact`,`prevent`]),[`enter`])]},null,8,[`modelValue`,`maxlength`,`onKeydown`]),n[2]||=V(`span`,{class:`text-[10.5px] text-muted-foreground`},[V(`kbd`,{class:`rounded border border-border-soft bg-accent px-1 font-mono text-[10px]`},`↵`),U(` save · `),V(`kbd`,{class:`rounded border border-border-soft bg-accent px-1 font-mono text-[10px]`},`esc`),U(` cancel `)],-1)])):d(t)?(R(),z(`button`,{key:1,type:`button`,class:k(M(LS)(`group inline-flex max-w-full items-center gap-1.5 rounded-md px-2 py-1 -mx-2 -my-1 text-left text-sm leading-relaxed hover:bg-accent focus:outline-none focus-visible:ring-2 focus-visible:ring-ring`,p(t)&&`text-destructive`)),onClick:Yl(e=>h(t),[`stop`])},[V(`span`,uw,[(R(!0),z(L,null,F(f(t),(e,t)=>(R(),z(L,{key:t},[e.placeholder?(R(),z(`span`,dw,A(e.text),1)):(R(),z(L,{key:1},[U(A(e.text),1)],64))],64))),128))]),H(M(od),{class:`size-3 shrink-0 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-60`,"aria-hidden":`true`})],10,lw)):(R(),z(`button`,{key:2,type:`button`,"data-testid":`empty-marker`,class:`group inline-flex items-center gap-1.5 rounded-md border border-dashed border-input px-2.5 py-1 text-[12.5px] font-medium italic text-muted-foreground transition-colors hover:border-border hover:bg-accent hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:Yl(e=>h(t),[`stop`])},[n[3]||=U(` Empty `,-1),H(M(od),{class:`size-3 shrink-0 opacity-0 transition-opacity group-hover:opacity-60`,"aria-hidden":`true`})],8,fw))])]))),128))]))}}),mw=Object.assign({"./assets/flags/ad.svg":`/assets/ad-B18i8NGa.svg`,"./assets/flags/ae.svg":`/assets/ae-CZRtWSox.svg`,"./assets/flags/af.svg":`/assets/af-C77Rf6cE.svg`,"./assets/flags/ag.svg":`/assets/ag-C8MykuG2.svg`,"./assets/flags/ai.svg":`/assets/ai-Dmedkf4v.svg`,"./assets/flags/al.svg":`/assets/al-10QRkakw.svg`,"./assets/flags/am.svg":`/assets/am-DMt4_dd4.svg`,"./assets/flags/ao.svg":`/assets/ao-tXuRa6vm.svg`,"./assets/flags/aq.svg":`/assets/aq-CF5jO-0h.svg`,"./assets/flags/ar.svg":`/assets/ar-Be8Ju1cG.svg`,"./assets/flags/arab.svg":`/assets/arab-C4CYPgyC.svg`,"./assets/flags/as.svg":`/assets/as-Dekqy8Of.svg`,"./assets/flags/asean.svg":`/assets/asean-WMtZ-US_.svg`,"./assets/flags/at.svg":`/assets/at-DGA_6m5E.svg`,"./assets/flags/au.svg":`/assets/au-DAHDIuPI.svg`,"./assets/flags/aw.svg":`/assets/aw-W0PWLK5p.svg`,"./assets/flags/ax.svg":`/assets/ax-DvLIy84U.svg`,"./assets/flags/az.svg":`/assets/az-Bk-bYNxy.svg`,"./assets/flags/ba.svg":`/assets/ba-WdDiSMvP.svg`,"./assets/flags/bb.svg":`/assets/bb-DJxbaxmT.svg`,"./assets/flags/bd.svg":`/assets/bd-BF9t1-60.svg`,"./assets/flags/be.svg":`/assets/be-CLLkK3PN.svg`,"./assets/flags/bf.svg":`/assets/bf-YclsoDuF.svg`,"./assets/flags/bg.svg":`/assets/bg-GUQenraa.svg`,"./assets/flags/bh.svg":`/assets/bh-BQqEGq6F.svg`,"./assets/flags/bi.svg":`/assets/bi-CRmKY6RQ.svg`,"./assets/flags/bj.svg":`/assets/bj-14PhO9bM.svg`,"./assets/flags/bl.svg":`/assets/bl-4CI2YcwX.svg`,"./assets/flags/bm.svg":`/assets/bm-BeYgB2z9.svg`,"./assets/flags/bn.svg":`/assets/bn-B6T3O78g.svg`,"./assets/flags/bo.svg":`/assets/bo-CcUiMqkJ.svg`,"./assets/flags/bq.svg":`/assets/bq-BYpdxEeT.svg`,"./assets/flags/br.svg":`/assets/br-Cu5YU29T.svg`,"./assets/flags/bs.svg":`/assets/bs-7Gd_oriM.svg`,"./assets/flags/bt.svg":`/assets/bt-BTo4qm10.svg`,"./assets/flags/bv.svg":`/assets/bv-wM9JLv4R.svg`,"./assets/flags/bw.svg":`/assets/bw-n5ZaAnGL.svg`,"./assets/flags/by.svg":`/assets/by-C621sBpd.svg`,"./assets/flags/bz.svg":`/assets/bz-BCKHR4_q.svg`,"./assets/flags/ca.svg":`/assets/ca-PYUrLVUV.svg`,"./assets/flags/cc.svg":`/assets/cc-BNT6Xjzk.svg`,"./assets/flags/cd.svg":`/assets/cd-BGclsrP6.svg`,"./assets/flags/cefta.svg":`/assets/cefta-2dDBYygd.svg`,"./assets/flags/cf.svg":`/assets/cf-DRetLmp-.svg`,"./assets/flags/cg.svg":`/assets/cg-CwIyG6SE.svg`,"./assets/flags/ch.svg":`/assets/ch-sfriZoF1.svg`,"./assets/flags/ci.svg":`/assets/ci-C8Q8IYTn.svg`,"./assets/flags/ck.svg":`/assets/ck-DfXMUOTo.svg`,"./assets/flags/cl.svg":`/assets/cl-BgYYb4qP.svg`,"./assets/flags/cm.svg":`/assets/cm-D4yjdmKT.svg`,"./assets/flags/cn.svg":`/assets/cn-DifnnI3t.svg`,"./assets/flags/co.svg":`/assets/co-DV591zMm.svg`,"./assets/flags/cp.svg":`/assets/cp-K_ay05Q_.svg`,"./assets/flags/cr.svg":`/assets/cr-BlYVN-_Q.svg`,"./assets/flags/cu.svg":`/assets/cu-L6XVZNgo.svg`,"./assets/flags/cv.svg":`/assets/cv-CPsfcOfk.svg`,"./assets/flags/cw.svg":`/assets/cw-BbrnximR.svg`,"./assets/flags/cx.svg":`/assets/cx-DpYD6n6U.svg`,"./assets/flags/cy.svg":`/assets/cy-bZuP8hmf.svg`,"./assets/flags/cz.svg":`/assets/cz-WWBC5Aeb.svg`,"./assets/flags/de.svg":`/assets/de-B-2o-4Z9.svg`,"./assets/flags/dg.svg":`/assets/dg-CJPJrjiZ.svg`,"./assets/flags/dj.svg":`/assets/dj-hp_BwbmO.svg`,"./assets/flags/dk.svg":`/assets/dk-DmS9BCZB.svg`,"./assets/flags/dm.svg":`/assets/dm-Cbhezfe1.svg`,"./assets/flags/do.svg":`/assets/do-B86d445t.svg`,"./assets/flags/dz.svg":`/assets/dz-Dytc1TFu.svg`,"./assets/flags/eac.svg":`/assets/eac-CwGQsyAM.svg`,"./assets/flags/ec.svg":`/assets/ec-CaVOFQ3t.svg`,"./assets/flags/ee.svg":`/assets/ee-DufrxGIR.svg`,"./assets/flags/eg.svg":`/assets/eg-YC70hswZ.svg`,"./assets/flags/eh.svg":`/assets/eh-0awM4TVj.svg`,"./assets/flags/en.svg":`/assets/en-BZRN_IpI.svg`,"./assets/flags/er.svg":`/assets/er-X83uml6t.svg`,"./assets/flags/es-ct.svg":`/assets/es-ct-CVyhLp7O.svg`,"./assets/flags/es-ga.svg":`/assets/es-ga-D9xG2hYr.svg`,"./assets/flags/es-pv.svg":`/assets/es-pv-CO3NM2SE.svg`,"./assets/flags/es.svg":`/assets/es-d5m8M5h8.svg`,"./assets/flags/et.svg":`/assets/et-DwdlzOIx.svg`,"./assets/flags/eu.svg":`/assets/eu-Brdgz8ab.svg`,"./assets/flags/fi.svg":`/assets/fi-DWUIkfjL.svg`,"./assets/flags/fj.svg":`/assets/fj-DEAVMg38.svg`,"./assets/flags/fk.svg":`/assets/fk-nuUF_Ak3.svg`,"./assets/flags/fm.svg":`/assets/fm-B4Z83GL0.svg`,"./assets/flags/fo.svg":`/assets/fo-DFjwyWur.svg`,"./assets/flags/fr.svg":`/assets/fr-DVvUyOqI.svg`,"./assets/flags/ga.svg":`/assets/ga-BklUhLH_.svg`,"./assets/flags/gb-eng.svg":`/assets/gb-eng-C8iDhGHN.svg`,"./assets/flags/gb-nir.svg":`/assets/gb-nir-D4gikpNq.svg`,"./assets/flags/gb-sct.svg":`/assets/gb-sct-fW5q01ek.svg`,"./assets/flags/gb-wls.svg":`/assets/gb-wls-Bxz9hxvX.svg`,"./assets/flags/gb.svg":`/assets/gb-DTXiLQoe.svg`,"./assets/flags/gd.svg":`/assets/gd-CO-whzUe.svg`,"./assets/flags/ge.svg":`/assets/ge-B2RiL-Ih.svg`,"./assets/flags/gf.svg":`/assets/gf-DWl5zcw0.svg`,"./assets/flags/gg.svg":`/assets/gg-jdOQS2nU.svg`,"./assets/flags/gh.svg":`/assets/gh-r3LP_X7q.svg`,"./assets/flags/gi.svg":`/assets/gi-BJKE9SzW.svg`,"./assets/flags/gl.svg":`/assets/gl-CHaBnMib.svg`,"./assets/flags/gm.svg":`/assets/gm-Bu99atwn.svg`,"./assets/flags/gn.svg":`/assets/gn-1dJNy9oQ.svg`,"./assets/flags/gp.svg":`/assets/gp-DNyt_wTA.svg`,"./assets/flags/gq.svg":`/assets/gq-Cag8QTk2.svg`,"./assets/flags/gr.svg":`/assets/gr-C5PU0p9p.svg`,"./assets/flags/gs.svg":`/assets/gs-DiiNa0F5.svg`,"./assets/flags/gt.svg":`/assets/gt-CJo5DI-7.svg`,"./assets/flags/gu.svg":`/assets/gu-Di1JYREk.svg`,"./assets/flags/gw.svg":`/assets/gw-D249VY33.svg`,"./assets/flags/gy.svg":`/assets/gy-CcVYUM2E.svg`,"./assets/flags/hk.svg":`/assets/hk-CUNIaSX0.svg`,"./assets/flags/hm.svg":`/assets/hm-Dh6t_Tj3.svg`,"./assets/flags/hn.svg":`/assets/hn-CRjyS_bm.svg`,"./assets/flags/hr.svg":`/assets/hr-fzLfaANM.svg`,"./assets/flags/ht.svg":`/assets/ht-DIMg4gti.svg`,"./assets/flags/hu.svg":`/assets/hu-7Q5wwIIi.svg`,"./assets/flags/ic.svg":`/assets/ic-CSo4d8tH.svg`,"./assets/flags/id.svg":`/assets/id-DiSP6Fmm.svg`,"./assets/flags/ie.svg":`/assets/ie-ChAXClx3.svg`,"./assets/flags/il.svg":`/assets/il-_56OEGLa.svg`,"./assets/flags/im.svg":`/assets/im--VPIqfkF.svg`,"./assets/flags/in.svg":`/assets/in-Cdwu6Bq7.svg`,"./assets/flags/io.svg":`/assets/io-13HOfeJD.svg`,"./assets/flags/iq.svg":`/assets/iq-Dp8HDzo2.svg`,"./assets/flags/ir.svg":`/assets/ir-cCIgaNf6.svg`,"./assets/flags/is.svg":`/assets/is-CZjefTNV.svg`,"./assets/flags/it.svg":`/assets/it-Br7q0Zh6.svg`,"./assets/flags/je.svg":`/assets/je-DyWbhIiC.svg`,"./assets/flags/jm.svg":`/assets/jm-CItSr3iX.svg`,"./assets/flags/jo.svg":`/assets/jo-BAF1FGbm.svg`,"./assets/flags/jp.svg":`/assets/jp-BIMmfxpO.svg`,"./assets/flags/ke.svg":`/assets/ke-C8foqndp.svg`,"./assets/flags/kg.svg":`/assets/kg-B0FsxZiL.svg`,"./assets/flags/kh.svg":`/assets/kh-BeWfuE30.svg`,"./assets/flags/ki.svg":`/assets/ki-p_fAQGbS.svg`,"./assets/flags/km.svg":`/assets/km-B5tqtGG7.svg`,"./assets/flags/kn.svg":`/assets/kn-DVPxDkNY.svg`,"./assets/flags/kp.svg":`/assets/kp-CrDKzoxe.svg`,"./assets/flags/kr.svg":`/assets/kr-BCXH1Hao.svg`,"./assets/flags/kw.svg":`/assets/kw-fSBzmd30.svg`,"./assets/flags/ky.svg":`/assets/ky-Dpsu1myA.svg`,"./assets/flags/kz.svg":`/assets/kz-CwKXYZ8s.svg`,"./assets/flags/la.svg":`/assets/la-CuJflhIW.svg`,"./assets/flags/lb.svg":`/assets/lb-BSjpYEoo.svg`,"./assets/flags/lc.svg":`/assets/lc-CNvab8Ae.svg`,"./assets/flags/li.svg":`/assets/li-CHdhvNcr.svg`,"./assets/flags/lk.svg":`/assets/lk-DUkgV9Tq.svg`,"./assets/flags/lr.svg":`/assets/lr-B84vu3Ds.svg`,"./assets/flags/ls.svg":`/assets/ls-5Xk3Mxq5.svg`,"./assets/flags/lt.svg":`/assets/lt-DoukV-Sm.svg`,"./assets/flags/lu.svg":`/assets/lu-DOI02Msy.svg`,"./assets/flags/lv.svg":`/assets/lv-C-KfY8Yc.svg`,"./assets/flags/ly.svg":`/assets/ly-BWpTK3ux.svg`,"./assets/flags/ma.svg":`/assets/ma-BTRNTRUj.svg`,"./assets/flags/mc.svg":`/assets/mc-PK078JHl.svg`,"./assets/flags/md.svg":`/assets/md-DRlxvNwm.svg`,"./assets/flags/me.svg":`/assets/me-Cv4Gwqah.svg`,"./assets/flags/mf.svg":`/assets/mf-BaAGWwAq.svg`,"./assets/flags/mg.svg":`/assets/mg-C168LHXW.svg`,"./assets/flags/mh.svg":`/assets/mh-gxuIp6Wk.svg`,"./assets/flags/mk.svg":`/assets/mk-D9SIMr-a.svg`,"./assets/flags/ml.svg":`/assets/ml-DVf6ujpi.svg`,"./assets/flags/mm.svg":`/assets/mm-lwT09MQ0.svg`,"./assets/flags/mn.svg":`/assets/mn-CgXyw0O9.svg`,"./assets/flags/mo.svg":`/assets/mo-BAtCjuYA.svg`,"./assets/flags/mp.svg":`/assets/mp-CrOApEqW.svg`,"./assets/flags/mq.svg":`/assets/mq-BFnJ22KI.svg`,"./assets/flags/mr.svg":`/assets/mr-D6G1wpeZ.svg`,"./assets/flags/ms.svg":`/assets/ms-DxciGbUu.svg`,"./assets/flags/mt.svg":`/assets/mt-YqzKx9xl.svg`,"./assets/flags/mu.svg":`/assets/mu-mcq7cUFl.svg`,"./assets/flags/mv.svg":`/assets/mv-BynAllfM.svg`,"./assets/flags/mw.svg":`/assets/mw-C15nc1xZ.svg`,"./assets/flags/mx.svg":`/assets/mx-Cc8Ccfe8.svg`,"./assets/flags/my.svg":`/assets/my-Co4JeeyE.svg`,"./assets/flags/mz.svg":`/assets/mz-Drlr_USV.svg`,"./assets/flags/na.svg":`/assets/na-D79ffb4Z.svg`,"./assets/flags/nc.svg":`/assets/nc-5j7wEmDR.svg`,"./assets/flags/ne.svg":`/assets/ne-B1jPOYkl.svg`,"./assets/flags/nf.svg":`/assets/nf-Dl00mlk2.svg`,"./assets/flags/ng.svg":`/assets/ng-su4NM9If.svg`,"./assets/flags/ni.svg":`/assets/ni-CcFCSQxm.svg`,"./assets/flags/nl.svg":`/assets/nl-BnOa6UiA.svg`,"./assets/flags/no.svg":`/assets/no-qf2JPO73.svg`,"./assets/flags/np.svg":`/assets/np-CIuq5GKd.svg`,"./assets/flags/nr.svg":`/assets/nr-DERIdzkN.svg`,"./assets/flags/nu.svg":`/assets/nu-BfgWvGcd.svg`,"./assets/flags/nz.svg":`/assets/nz-5vODdBjz.svg`,"./assets/flags/om.svg":`/assets/om-DcqxRdQL.svg`,"./assets/flags/pa.svg":`/assets/pa-BLNN9G2-.svg`,"./assets/flags/pc.svg":`/assets/pc-BJpYiA9b.svg`,"./assets/flags/pe.svg":`/assets/pe-BLqhuu1C.svg`,"./assets/flags/pf.svg":`/assets/pf-C8ahG68q.svg`,"./assets/flags/pg.svg":`/assets/pg-BAYpbp9Z.svg`,"./assets/flags/ph.svg":`/assets/ph-BEzTn62K.svg`,"./assets/flags/pk.svg":`/assets/pk-CWMEc3ad.svg`,"./assets/flags/pl.svg":`/assets/pl-o38JROoc.svg`,"./assets/flags/pm.svg":`/assets/pm-CHiP5UmZ.svg`,"./assets/flags/pn.svg":`/assets/pn-DgxdtieE.svg`,"./assets/flags/pr.svg":`/assets/pr-B4tMV0xm.svg`,"./assets/flags/ps.svg":`/assets/ps-DO8YKYeS.svg`,"./assets/flags/pt.svg":`/assets/pt-DZ2ADgIR.svg`,"./assets/flags/pw.svg":`/assets/pw-CQP52WMX.svg`,"./assets/flags/py.svg":`/assets/py-mNzh0mZC.svg`,"./assets/flags/qa.svg":`/assets/qa-Dkmpc78M.svg`,"./assets/flags/re.svg":`/assets/re-Bk4ipYK1.svg`,"./assets/flags/ro.svg":`/assets/ro-CoSeqKY1.svg`,"./assets/flags/rs.svg":`/assets/rs-BfwKwXtn.svg`,"./assets/flags/ru.svg":`/assets/ru-D-4tNwXt.svg`,"./assets/flags/rw.svg":`/assets/rw-D7nbSYKI.svg`,"./assets/flags/sa.svg":`/assets/sa-Dh79zbT9.svg`,"./assets/flags/sb.svg":`/assets/sb-BDTYjcbk.svg`,"./assets/flags/sc.svg":`/assets/sc-CRNsSLg9.svg`,"./assets/flags/sd.svg":`/assets/sd-ClziNjGr.svg`,"./assets/flags/se.svg":`/assets/se-8C923vhy.svg`,"./assets/flags/sg.svg":`/assets/sg-DGYIMG0G.svg`,"./assets/flags/sh-ac.svg":`/assets/sh-ac-FjwY7RYr.svg`,"./assets/flags/sh-hl.svg":`/assets/sh-hl-CqtQPzWZ.svg`,"./assets/flags/sh-ta.svg":`/assets/sh-ta-CPJublpi.svg`,"./assets/flags/sh.svg":`/assets/sh-DNImvbrE.svg`,"./assets/flags/si.svg":`/assets/si-BMKT-Tec.svg`,"./assets/flags/sj.svg":`/assets/sj-BFFEGknm.svg`,"./assets/flags/sk.svg":`/assets/sk-K9BNIYAO.svg`,"./assets/flags/sl.svg":`/assets/sl-DxLJY5vJ.svg`,"./assets/flags/sm.svg":`/assets/sm-DGBIRFB_.svg`,"./assets/flags/sn.svg":`/assets/sn-S8ipNF1U.svg`,"./assets/flags/so.svg":`/assets/so-DlzA2Fco.svg`,"./assets/flags/sr.svg":`/assets/sr-Co7OKBh3.svg`,"./assets/flags/ss.svg":`/assets/ss-CxVEpdPD.svg`,"./assets/flags/st.svg":`/assets/st-C1Nd1c3V.svg`,"./assets/flags/sv.svg":`/assets/sv-CJIHhYwF.svg`,"./assets/flags/sx.svg":`/assets/sx-nDhIaDNb.svg`,"./assets/flags/sy.svg":`/assets/sy-DwSud114.svg`,"./assets/flags/sz.svg":`/assets/sz-qxMwa2gs.svg`,"./assets/flags/tc.svg":`/assets/tc-dtelpZmc.svg`,"./assets/flags/td.svg":`/assets/td-BsuVhZpT.svg`,"./assets/flags/tf.svg":`/assets/tf-Co33RhQH.svg`,"./assets/flags/tg.svg":`/assets/tg-CP1-sc35.svg`,"./assets/flags/th.svg":`/assets/th-tzq84hgd.svg`,"./assets/flags/tj.svg":`/assets/tj-b-aWfOTb.svg`,"./assets/flags/tk.svg":`/assets/tk-CDucsEss.svg`,"./assets/flags/tl.svg":`/assets/tl-wpo93AGk.svg`,"./assets/flags/tm.svg":`/assets/tm-C_WSgUcv.svg`,"./assets/flags/tn.svg":`/assets/tn-BcKCZULf.svg`,"./assets/flags/to.svg":`/assets/to-D8uVsoxb.svg`,"./assets/flags/tr.svg":`/assets/tr-Cd6FO9Bg.svg`,"./assets/flags/tt.svg":`/assets/tt-CTnr7aY5.svg`,"./assets/flags/tv.svg":`/assets/tv-DDqkVT-n.svg`,"./assets/flags/tw.svg":`/assets/tw-d-Mf-0VT.svg`,"./assets/flags/tz.svg":`/assets/tz-BjLtHeil.svg`,"./assets/flags/ua.svg":`/assets/ua-Bq0XgQqK.svg`,"./assets/flags/ug.svg":`/assets/ug-ByL2ejGl.svg`,"./assets/flags/um.svg":`/assets/um-Bhke9Eic.svg`,"./assets/flags/un.svg":`/assets/un-Bqg4Cbbh.svg`,"./assets/flags/us.svg":`/assets/us-C73uVeEr.svg`,"./assets/flags/uy.svg":`/assets/uy-DD6peej-.svg`,"./assets/flags/uz.svg":`/assets/uz-C2f-Cubn.svg`,"./assets/flags/va.svg":`/assets/va-B9-hqIE-.svg`,"./assets/flags/vc.svg":`/assets/vc-COpmFovN.svg`,"./assets/flags/ve.svg":`/assets/ve-BSqnIB9l.svg`,"./assets/flags/vg.svg":`/assets/vg-C7xY6pic.svg`,"./assets/flags/vi.svg":`/assets/vi-BC_zcciE.svg`,"./assets/flags/vn.svg":`/assets/vn-BEAEijd0.svg`,"./assets/flags/vu.svg":`/assets/vu-D6k0NQlg.svg`,"./assets/flags/wf.svg":`/assets/wf-DrxpOO_G.svg`,"./assets/flags/ws.svg":`/assets/ws-vzJNwdVm.svg`,"./assets/flags/xk.svg":`/assets/xk-Bj15g7cp.svg`,"./assets/flags/xx.svg":`/assets/xx-zm_JmrXl.svg`,"./assets/flags/ye.svg":`/assets/ye-BwST9gXC.svg`,"./assets/flags/yt.svg":`/assets/yt-DIfEG0ex.svg`,"./assets/flags/za.svg":`/assets/za-Jz40JTrv.svg`,"./assets/flags/zm.svg":`/assets/zm-BmsW91ne.svg`,"./assets/flags/zw.svg":`/assets/zw-U0m7oJ5e.svg`}),hw=new Map;for(let[e,t]of Object.entries(mw)){let n=e.match(/\/([^/]+)\.svg$/);n&&hw.set(n[1].toLowerCase(),t)}function gw(e){return hw.get(e.toLowerCase())}var _w=[`src`,`alt`,`width`,`height`],vw=P({__name:`Flag`,props:{code:{},override:{},size:{default:16}},setup(e){let t=e,n=K(()=>KC(t.code,t.override)),r=K(()=>n.value.flagRegion?gw(n.value.flagRegion):void 0),i=K(()=>Math.round(t.size*4/3));return(t,a)=>r.value?(R(),z(`img`,{key:0,src:r.value,alt:n.value.name,width:i.value,height:e.size,class:`inline-block shrink-0 rounded-[2px] object-cover ring-1 ring-black/10`,style:he({width:`${i.value}px`,height:`${e.size}px`})},null,12,_w)):(R(),B(M(Ju),{key:1,class:`inline-block shrink-0 text-muted-foreground`,style:he({width:`${e.size}px`,height:`${e.size}px`}),"aria-hidden":`true`},null,8,[`style`]))}}),yw={class:`inline-flex min-w-0 items-start gap-2`},bw={class:`flex min-w-0 flex-col leading-tight`},xw={class:`flex items-center gap-1.5`},Sw={class:`font-mono text-[11.5px] font-semibold tracking-wide`},Cw={key:0,class:`truncate text-[11px] text-muted-foreground`},ww={class:`inline-flex min-w-0 items-center gap-1.5`},Tw={key:0,class:`truncate`},Ew=P({__name:`LanguageLabel`,props:{code:{},override:{},showName:{type:Boolean,default:!1},showCode:{type:Boolean,default:!0},size:{default:16},codeMinChars:{},layout:{default:`inline`}},setup(e){let t=e,n=K(()=>KC(t.code,t.override));return(t,r)=>e.layout===`stacked`?(R(),B(M(ax),{key:0},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`span`,yw,[H(vw,{code:e.code,override:e.override,size:e.size,class:`mt-0.5 shrink-0`},null,8,[`code`,`override`,`size`]),V(`span`,bw,[V(`span`,xw,[V(`span`,Sw,A(e.code.toUpperCase()),1),n.value.rtl?(R(),B(M(ax),{key:0},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[...r[0]||=[V(`span`,{class:`rounded border border-border px-1 text-[9px] font-bold uppercase tracking-wide text-muted-foreground`},`RTL`,-1)]]),_:1}),H(M(PC),null,{default:N(()=>[...r[1]||=[U(`Right-to-left`,-1)]]),_:1})]),_:1})):W(``,!0)]),e.showName?(R(),z(`span`,Cw,A(n.value.name),1)):W(``,!0)])])]),_:1}),H(M(PC),null,{default:N(()=>[U(A(n.value.name),1)]),_:1})]),_:1})):(R(),B(M(ax),{key:1},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`span`,ww,[H(vw,{code:e.code,override:e.override,size:e.size},null,8,[`code`,`override`,`size`]),e.showName?(R(),z(`span`,Tw,A(n.value.name),1)):W(``,!0),e.showCode?(R(),z(`span`,{key:1,class:`font-mono text-xs`,style:he(e.codeMinChars==null?void 0:{minWidth:`${e.codeMinChars}ch`})},A(e.code.toUpperCase()),5)):W(``,!0)])]),_:1}),H(M(PC),null,{default:N(()=>[U(A(n.value.name),1)]),_:1})]),_:1}))}}),Dw=[`data-state`],Ow={class:`flex flex-wrap items-start gap-2 pt-0.5`},kw={key:0,class:`rounded-md border border-border-soft bg-accent px-1.5 py-0.5 text-[10.5px] font-semibold uppercase tracking-wide text-muted-foreground`},Aw=[`dir`],jw={key:0,"data-testid":`filling-hint`,class:`flex items-center gap-1.5 text-sm italic text-muted-foreground`},Mw={key:0,class:`flex items-center justify-end gap-1.5 pt-0.5`},Nw={type:`button`,class:`flex size-7 items-center justify-center rounded-md bg-destructive-soft text-destructive transition hover:brightness-95 focus:outline-none focus-visible:ring-2 focus-visible:ring-ring`,"aria-label":`Show issues`},Pw={class:`flex flex-col gap-1`},Fw={key:0,class:`mt-2 border-t pt-2`},Iw={class:`flex flex-wrap gap-1`},Lw=[`onClick`],Rw=[`disabled`],zw=P({__name:`TranslationRow`,props:{keyName:{},locale:{},sourceLocale:{},value:{},maxLength:{},issues:{},labelChars:{},plural:{},sourceForms:{},filling:{type:Boolean}},emits:[`changed`],setup(e,{emit:t}){let n=e,r=t,i=K(()=>n.locale===n.sourceLocale),a=K(()=>n.value?.state??(i.value?`source`:`needs-review`)),o=K(()=>n.value?.value??``),s=K(()=>!!n.plural),c=K(()=>n.value?.forms??{}),l=K(()=>GC(n.locale)),u=K(()=>!i.value&&(s.value?Object.keys(c.value).length>0:!!n.value?.value)),d=K(()=>(n.issues?.length??0)>0),f=K(()=>[...new Set((n.issues??[]).filter(e=>e.check===`spelling`).flatMap(e=>e.detail??[]))]);async function p(e){try{await mf(e),$.success(`Added "${e}" to the dictionary`),r(`changed`)}catch(e){$.error(`Could not add word: ${e.message}`)}}let m=j(!1);async function h(){try{await Hd(n.keyName,n.locale),$.success(`Cleared`),r(`changed`)}catch(e){$.error(e.message)}}async function g(e){try{await Vd(n.keyName,n.locale,e),r(`changed`)}catch(e){$.error(`Could not update state: ${e.message}`)}}async function _(){m.value=!0;try{let e=await Kd({onlyMissing:!1,locales:[n.locale],keyGlob:n.keyName,force:!0});e.errors?.length?$.error(e.errors[0]?.error??`Translation failed`):$.success(`Translated ${n.locale.toUpperCase()} (${e.written} written)`),r(`changed`)}catch(e){$.error(`Translate failed: ${e.message}`)}finally{m.value=!1}}return(t,n)=>(R(),z(`div`,{class:k(M(LS)(`grid grid-cols-[172px_minmax(0,1fr)_232px] items-start gap-[18px] border-b border-border-soft py-[11px] pl-4 pr-[18px] last:border-b-0 max-[1080px]:grid-cols-[150px_minmax(0,1fr)_200px] max-[1080px]:gap-3`,i.value&&`bg-foreground/[0.015] dark:bg-foreground/[0.025]`)),"data-state":a.value},[V(`div`,Ow,[H(Ew,{code:e.locale,layout:`stacked`,"show-name":``,size:15},null,8,[`code`]),i.value?(R(),z(`span`,kw,`Source`)):W(``,!0)]),V(`div`,{class:`flex min-w-0 flex-col gap-2`,dir:l.value?`rtl`:`ltr`},[e.filling?(R(),z(`div`,jw,[H(M(ed),{class:`size-3.5 shrink-0 animate-spin`}),n[2]||=U(` filling… `,-1)])):s.value?(R(),B(pw,{key:1,"key-name":e.keyName,locale:e.locale,"source-locale":e.sourceLocale,arg:e.plural.arg,forms:c.value,"source-forms":e.sourceForms,"max-length":e.maxLength,onChanged:n[0]||=e=>r(`changed`)},null,8,[`key-name`,`locale`,`source-locale`,`arg`,`forms`,`source-forms`,`max-length`])):(R(),B(iw,{key:2,"key-name":e.keyName,locale:e.locale,"source-locale":e.sourceLocale,value:o.value,"max-length":e.maxLength,onChanged:n[1]||=e=>r(`changed`)},null,8,[`key-name`,`locale`,`source-locale`,`value`,`max-length`]))],8,Aw),i.value?W(``,!0):(R(),z(`div`,Mw,[d.value?(R(),B(M(Jy),{key:0},{default:N(()=>[H(M(eb),{"as-child":``},{default:N(()=>[V(`button`,Nw,[H(M(Ed),{class:`size-3.5`})])]),_:1}),H(M(qS),{align:`end`,class:`w-fit max-w-xs text-xs`},{default:N(()=>[V(`ul`,Pw,[(R(!0),z(L,null,F(e.issues,(e,t)=>(R(),z(`li`,{key:t,class:`whitespace-pre-line text-foreground/80`},A(e.message),1))),128))]),f.value.length?(R(),z(`div`,Fw,[n[3]||=V(`p`,{class:`mb-1 text-[11px] font-medium text-muted-foreground`},`Add to dictionary`,-1),V(`div`,Iw,[(R(!0),z(L,null,F(f.value,e=>(R(),B(M(ax),{key:e},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:`inline-flex items-center gap-0.5 rounded border border-amber-500/40 px-1.5 py-0.5 text-[11px] text-amber-700 transition-colors hover:bg-amber-500/10 dark:text-amber-300`,onClick:t=>p(e)},[H(M(sd),{class:`size-3`}),U(A(e),1)],8,Lw)]),_:2},1024),H(M(PC),null,{default:N(()=>[U(`Add '`+A(e)+`' to the custom dictionary`,1)]),_:2},1024)]),_:2},1024))),128))])])):W(``,!0)]),_:1})]),_:1})):W(``,!0),u.value?(R(),B(M(ax),{key:1},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:`flex size-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,"aria-label":`Clear translation`,onClick:Yl(h,[`stop`])},[H(M(zu),{class:`size-4`})])]),_:1}),H(M(PC),null,{default:N(()=>[...n[4]||=[U(`Clear translation`,-1)]]),_:1})]),_:1})):W(``,!0),H(M(ax),null,{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:`flex size-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-primary-soft hover:text-primary disabled:opacity-50`,disabled:m.value||e.filling,"aria-label":`AI translate this cell`,onClick:Yl(_,[`stop`])},[m.value||e.filling?(R(),B(M(ed),{key:0,class:`size-4 animate-spin`})):(R(),B(M(Qu),{key:1,class:`size-4`}))],8,Rw)]),_:1}),H(M(PC),null,{default:N(()=>[...n[5]||=[U(`AI translate`,-1)]]),_:1})]),_:1}),H(YC,{state:a.value,editable:!0,onSetState:g},null,8,[`state`])]))],10,Dw))}}),Bw=[`aria-pressed`],Vw={key:0,class:`pointer-events-none absolute inset-0 z-[3] border-2 border-primary`,"aria-hidden":`true`},Hw={key:1,class:`pointer-events-none absolute inset-y-0 left-0 z-[4] w-1 bg-primary`,"aria-hidden":`true`},Uw={class:`sticky top-3`},Ww=[`aria-checked`],Gw={class:`absolute right-0 top-0`},Kw=[`disabled`],qw=[`innerHTML`],Jw={key:0,class:`mt-1.5 flex flex-wrap items-center gap-1.5 pl-6`},Yw={key:0,class:`inline-flex items-center gap-1 rounded-md border border-primary-border bg-primary/[0.09] px-1.5 py-0.5 font-mono text-[10px] font-bold uppercase tracking-wide text-primary`},Xw={class:`font-medium normal-case text-muted-foreground`},Zw={"data-testid":`issue-badge`,class:`inline-flex items-center gap-1 rounded-md bg-destructive-soft px-1.5 py-0.5 text-[11.5px] font-bold text-destructive`},Qw={key:1,class:`mt-2 flex flex-wrap gap-1.5 pl-6`},$w=[`onClick`],eT=[`data-testid`,`disabled`],tT={key:3,"data-testid":`translating-missing`,class:`ml-6 mt-2.5 inline-flex items-center gap-1 text-[11px] text-primary`},nT=[`disabled`],rT={class:`min-w-0 flex-1 [&>*:nth-child(even)]:bg-zebra`},iT={class:`grid gap-2`},aT={class:`break-all rounded bg-muted px-1 py-0.5 font-mono text-sm`},oT=P({__name:`KeyRow`,props:{keyName:{},entry:{},sourceLocale:{},locales:{},selected:{type:Boolean},checked:{type:Boolean},issues:{}},emits:[`changed`,`select`,`toggle-select`,`renamed`,`filter-tag`],setup(e,{emit:t}){let n=e,r=K(()=>n.keyName.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/\./g,`.<wbr>`)),i=K(()=>{let e=new Map;for(let t of n.issues??[]){let n=e.get(t.locale);n?n.push(t):e.set(t.locale,[t])}return e}),a=t,o=j(!1),s=j(``),c=j(!1),l=j(!1),u=j(!1),d=j(!1),f=K(()=>RC(n.entry,n.locales,n.sourceLocale)),p=K(()=>zC(n.entry,n.locales,n.sourceLocale));async function m(){d.value=!0;try{let e=await Kd({onlyMissing:!1,force:!0,keyGlob:n.keyName,locales:p.value});e.errors?.length?$.error(e.errors[0]?.error??`Translation failed`):$.success(`Re-translated ${e.written} stale value${e.written===1?``:`s`}`),a(`changed`)}catch(e){$.error(`Translate failed: ${e.message}`)}finally{d.value=!1}}async function h(){u.value=!0;try{let e=await Kd({onlyMissing:!0,keyGlob:n.keyName});e.errors?.length?$.error(e.errors[0]?.error??`Translation failed`):$.success(`Translated ${e.written} missing value${e.written===1?``:`s`}`),a(`changed`)}catch(e){$.error(`Translate failed: ${e.message}`)}finally{u.value=!1}}function g(e){a(`toggle-select`,{shift:e.shiftKey})}function _(e){e.target?.closest(`button, input, textarea, select, a, [contenteditable="true"]`)||a(`select`)}async function v(){let e=!n.entry.skipTranslate;l.value=!0;try{await Rd([n.keyName],{skipTranslate:e}),$.success(e?`Excluded from translation`:`Included in translation`),a(`changed`)}catch(e){$.error(`Update failed: ${e.message}`)}finally{l.value=!1}}function y(){s.value=n.keyName,o.value=!0}async function b(){let e=s.value.trim();if(!e||e===n.keyName){o.value=!1;return}l.value=!0;try{await zd(n.keyName,{rename:e}),o.value=!1,$.success(`Renamed to ${e}`),a(`renamed`,e)}catch(e){$.error(`Rename failed: ${e.message}`)}finally{l.value=!1}}async function x(){l.value=!0;try{await Pd(n.keyName),c.value=!1,$.success(`Deleted ${n.keyName}`),a(`changed`)}catch(e){$.error(`Delete failed: ${e.message}`)}finally{l.value=!1}}return(t,n)=>(R(),z(`div`,{class:k(M(LS)(`relative flex border-b-2 border-border bg-card`,e.selected&&`z-[1]`)),role:`button`,"aria-pressed":e.selected,"aria-label":`Select key`,onClick:_},[e.selected?(R(),z(`span`,Vw)):W(``,!0),e.selected?(R(),z(`span`,Hw)):W(``,!0),V(`div`,{class:k(M(LS)(`relative w-[var(--key-col-width,272px)] shrink-0 border-r border-border-soft p-[14px_16px_14px_18px]`,e.selected&&`bg-primary-soft/60`))},[V(`div`,Uw,[V(`button`,{type:`button`,role:`checkbox`,"aria-checked":!!e.checked,"data-testid":`row-select`,class:k([`absolute left-0 top-0.5 flex size-4 items-center justify-center rounded border transition-colors`,e.checked?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground hover:border-primary hover:bg-primary/10`]),"aria-label":`Select key`,onClick:Yl(g,[`stop`])},[e.checked?(R(),B(M(Ou),{key:0,class:`size-3`})):W(``,!0)],10,Ww),V(`div`,Gw,[H(M(rb),null,{default:N(()=>[H(M(lb),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:`flex size-6 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50`,"aria-label":`Key actions`,disabled:u.value,onClick:n[0]||=Yl(()=>{},[`stop`])},[H(M(Ru),{class:`size-4`})],8,Kw)]),_:1}),H(M(TC),{align:`end`},{default:N(()=>[f.value.length>0?(R(),B(M(EC),{key:0,disabled:u.value,onSelect:h},{default:N(()=>[H(M(yd),{class:`size-4`}),U(` Translate missing (`+A(f.value.length)+`) `,1)]),_:1},8,[`disabled`])):W(``,!0),H(M(EC),{onSelect:y},{default:N(()=>[H(M(od),{class:`size-4`}),n[9]||=U(` Rename `,-1)]),_:1}),H(M(EC),{"data-testid":`toggle-skip`,disabled:l.value,onSelect:v},{default:N(()=>[H(M(Qu),{class:`size-4`}),U(` `+A(e.entry.skipTranslate?`Include in translation`:`Skip translation`),1)]),_:1},8,[`disabled`]),H(M(EC),{class:`text-destructive data-[highlighted]:bg-destructive/10 data-[highlighted]:text-destructive`,onSelect:n[1]||=e=>c.value=!0},{default:N(()=>[H(M(Td),{class:`size-4`}),n[10]||=U(` Delete `,-1)]),_:1})]),_:1})]),_:1})]),V(`div`,{class:`break-words pl-6 pr-7 font-mono text-[13.5px] font-semibold tracking-tight cursor-pointer`,onClick:n[2]||=Yl(e=>g(e),[`stop`])},[V(`span`,{innerHTML:r.value},null,8,qw),e.entry.screenshot?(R(),B(M(Xu),{key:0,class:`ml-1.5 inline size-3.5 align-[-2px] text-muted-foreground`,"aria-label":`Has screenshot`})):W(``,!0)]),e.entry.plural||e.entry.skipTranslate||(e.issues?.length??0)>0?(R(),z(`div`,Jw,[e.entry.plural?(R(),z(`span`,Yw,[n[11]||=U(`PLURAL`,-1),V(`span`,Xw,`· `+A(e.entry.plural.arg),1)])):W(``,!0),e.entry.skipTranslate?(R(),B(M(ax),{key:1},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[...n[12]||=[V(`span`,{"data-testid":`skip-badge`,class:`inline-flex items-center gap-1 rounded-md border border-warning-border bg-warning-bg px-1.5 py-0.5 font-mono text-[10px] font-bold uppercase tracking-wide text-warning`},`SKIP`,-1)]]),_:1}),H(M(PC),null,{default:N(()=>[...n[13]||=[U(`Excluded from translation`,-1)]]),_:1})]),_:1})):W(``,!0),(e.issues?.length??0)>0?(R(),B(M(ax),{key:2},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`span`,Zw,[H(M(Ed),{class:`size-3`}),U(A(e.issues.length),1)])]),_:1}),H(M(PC),null,{default:N(()=>[U(A(e.issues.length)+` issue`+A(e.issues.length===1?``:`s`),1)]),_:1})]),_:1})):W(``,!0)])):W(``,!0),(e.entry.tags??[]).length?(R(),z(`div`,Qw,[(R(!0),z(L,null,F(e.entry.tags,e=>(R(),B(M(ax),{key:e},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:`inline-flex h-[22px] items-center gap-1.5 rounded-full border border-primary-border bg-transparent px-[9px] text-xs font-medium text-foreground transition-colors hover:border-primary hover:bg-primary/[0.07]`,onClick:Yl(t=>a(`filter-tag`,e),[`stop`])},[H(M(Cd),{class:`size-3 text-primary`}),U(A(e),1)],8,$w)]),_:2},1024),H(M(PC),null,{default:N(()=>[U(`Filter by tag: `+A(e),1)]),_:2},1024)]),_:2},1024))),128))])):W(``,!0),f.value.length>0?(R(),B(M(ax),{key:2},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,"data-testid":u.value?`translating-missing`:`translate-missing-btn`,disabled:u.value,class:`ml-6 mt-2.5 inline-flex items-center gap-1.5 rounded-lg border border-primary-border bg-primary-soft px-2.5 py-1.5 text-[11.5px] font-semibold text-primary transition hover:brightness-95 disabled:opacity-80`,onClick:Yl(h,[`stop`])},[u.value?(R(),B(M(ed),{key:0,class:`size-3 animate-spin`})):(R(),B(M(yd),{key:1,class:`size-3`})),U(` `+A(u.value?`Translating…`:`Translate ${f.value.length} missing`),1)],8,eT)]),_:1}),H(M(PC),null,{default:N(()=>[U(`Translate the `+A(f.value.length)+` missing language`+A(f.value.length>1?`s`:``)+` for this key`,1)]),_:1})]),_:1})):u.value?(R(),z(`span`,tT,[H(M(ed),{class:`size-3 animate-spin`}),n[14]||=U(` Translating… `,-1)])):W(``,!0),p.value.length>0?(R(),B(M(ax),{key:4},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,"data-testid":`retranslate-stale-btn`,disabled:d.value,class:`ml-6 mt-2.5 inline-flex items-center gap-1.5 rounded-lg border border-amber-500/40 bg-amber-500/10 px-2.5 py-1.5 text-[11.5px] font-semibold text-amber-700 transition hover:brightness-95 disabled:opacity-80 dark:text-amber-300`,onClick:Yl(m,[`stop`])},[d.value?(R(),B(M(ed),{key:0,class:`size-3 animate-spin`})):(R(),B(M(cd),{key:1,class:`size-3`})),U(` `+A(d.value?`Re-translating…`:`Re-translate ${p.value.length} stale`),1)],8,nT)]),_:1}),H(M(PC),null,{default:N(()=>[U(`Re-translate the `+A(p.value.length)+` stale language`+A(p.value.length>1?`s`:``)+` for this key`,1)]),_:1})]),_:1})):W(``,!0)])],2),V(`div`,rT,[(R(!0),z(L,null,F(e.locales,t=>(R(),B(zw,{key:t,"key-name":e.keyName,locale:t,"source-locale":e.sourceLocale,value:e.entry.values[t],"max-length":e.entry.maxLength,issues:i.value.get(t)??[],plural:e.entry.plural,"source-forms":e.entry.values[e.sourceLocale]?.forms,filling:u.value&&f.value.includes(t)||d.value&&p.value.includes(t),onChanged:n[3]||=e=>a(`changed`)},null,8,[`key-name`,`locale`,`source-locale`,`value`,`max-length`,`issues`,`plural`,`source-forms`,`filling`]))),128))]),H(M(Oh),{open:o.value,"onUpdate:open":n[6]||=e=>o.value=e},{default:N(()=>[H(M(bC),{class:`max-w-md`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),null,{default:N(()=>[...n[15]||=[U(`Rename key`,-1)]]),_:1}),H(M(wC),null,{default:N(()=>[...n[16]||=[U(`Use dot notation, e.g. `,-1),V(`span`,{class:`font-mono`},`home.title`,-1),U(`.`,-1)]]),_:1})]),_:1}),V(`div`,iT,[H(M(yC),{for:`rename-key`},{default:N(()=>[...n[17]||=[U(`New key`,-1)]]),_:1}),H(M(BS),{id:`rename-key`,modelValue:s.value,"onUpdate:modelValue":n[4]||=e=>s.value=e,class:`font-mono`,onKeydown:Zl(Yl(b,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),H(M(SC),null,{default:N(()=>[H(M(Q),{variant:`outline`,disabled:l.value,onClick:n[5]||=e=>o.value=!1},{default:N(()=>[...n[18]||=[U(`Cancel`,-1)]]),_:1},8,[`disabled`]),H(M(Q),{disabled:l.value,onClick:b},{default:N(()=>[...n[19]||=[U(`Rename`,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`]),H(M(Oh),{open:c.value,"onUpdate:open":n[8]||=e=>c.value=e},{default:N(()=>[H(M(bC),{class:`max-w-md`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),null,{default:N(()=>[...n[20]||=[U(`Delete key`,-1)]]),_:1}),H(M(wC),null,{default:N(()=>[n[21]||=U(` Delete `,-1),V(`code`,aT,A(e.keyName),1),n[22]||=U(` and all its translations? This cannot be undone. `,-1)]),_:1})]),_:1}),H(M(SC),null,{default:N(()=>[H(M(Q),{variant:`outline`,disabled:l.value,onClick:n[7]||=e=>c.value=!1},{default:N(()=>[...n[23]||=[U(`Cancel`,-1)]]),_:1},8,[`disabled`]),H(M(Q),{variant:`destructive`,disabled:l.value,onClick:x},{default:N(()=>[...n[24]||=[U(`Delete`,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`])],10,Bw))}}),sT=[{id:`phpstorm`,label:`PhpStorm`,buildUrl:e=>`phpstorm://open?file=${encodeURIComponent(e.abs)}&line=${e.line}`},{id:`vscode`,label:`VS Code`,buildUrl:e=>`vscode://file${e.abs}:${e.line}:${e.col}`},{id:`zed`,label:`Zed`,buildUrl:e=>`zed://file${e.abs}:${e.line}:${e.col}`}],cT=`vscode`,lT=e=>sT.some(t=>t.id===e),uT=j(cT);function dT(e){lT(e)&&(uT.value=e,lf({editor:e}).catch(()=>{}))}async function fT(){try{let{editor:e}=await cf();lT(e)&&(uT.value=e)}catch{}}function pT(e,t){return(sT.find(e=>e.id===uT.value)??sT[0]).buildUrl(e,t)}function mT(){return{dirs:new Map,files:new Map}}function hT(e){let t=mT();for(let n of e){let e=n.file.split(`/`).filter(Boolean),r=e.pop()??n.file,i=t;for(let t of e){let e=i.dirs.get(t);e||(e=mT(),i.dirs.set(t,e)),i=e}let a=i.files.get(r)??[];a.push({line:n.line,url:n.url}),i.files.set(r,a)}let n=[],r=(e,t)=>{for(let i of[...e.dirs.keys()].sort()){let a=i,o=e.dirs.get(i);for(;o.files.size===0&&o.dirs.size===1;){let e=[...o.dirs.keys()][0];a+=`/`+e,o=o.dirs.get(e)}n.push({kind:`dir`,depth:t,label:a}),r(o,t+1)}for(let r of[...e.files.keys()].sort()){let i=e.files.get(r).slice().sort((e,t)=>e.line-t.line);n.push({kind:`file`,depth:t,name:r,refs:i})}};return r(t,0),n}var gT={class:`flex flex-col gap-2`},_T={class:`flex items-center gap-1.5`},vT={key:0,class:`flex flex-col gap-2`},yT={class:`mt-1 flex gap-2`},bT={class:`flex items-center justify-between`},xT={class:`font-mono text-[10px] text-muted-foreground`},ST={class:`flex gap-1.5`},CT=[`onClick`],wT=[`onClick`],TT={class:`whitespace-pre-wrap break-words text-[12.5px] leading-snug`},ET=P({__name:`NotesEditor`,props:{keyName:{},notes:{}},emits:[`changed`],setup(e,{emit:t}){let n=e,r=t,i=e=>new Date(e).toLocaleString(),a=j(``),o=j(!1);async function s(){let e=a.value.trim();if(e){o.value=!0;try{await bf(n.keyName,e),a.value=``,r(`changed`)}catch(e){$.error(`Could not add note: ${e.message}`)}finally{o.value=!1}}}let c=j(null),l=j(``),u=j(!1);function d(e){c.value=e.id,l.value=e.text}function f(){c.value=null,l.value=``}async function p(e){let t=l.value.trim();if(t){u.value=!0;try{await xf(n.keyName,e,t),f(),r(`changed`)}catch(e){$.error(`Could not save note: ${e.message}`)}finally{u.value=!1}}}async function m(e){try{await Sf(n.keyName,e),r(`changed`)}catch(e){$.error(`Could not delete note: ${e.message}`)}}return(t,n)=>(R(),z(`div`,gT,[V(`div`,_T,[H(M(xd),{class:`size-3.5 text-muted-foreground`}),n[2]||=V(`p`,{class:`text-[13px] font-semibold`},`Notes`,-1)]),n[6]||=V(`p`,{class:`-mt-1 text-[11.5px] text-muted-foreground`},`Internal notes — never sent to the AI or exported.`,-1),e.notes.length?(R(),z(`ul`,vT,[(R(!0),z(L,null,F(e.notes,e=>(R(),z(`li`,{key:e.id,class:`flex flex-col gap-1 rounded-lg border border-border-soft bg-background p-2.5 text-sm`},[c.value===e.id?(R(),z(L,{key:0},[H(M($C),{modelValue:l.value,"onUpdate:modelValue":n[0]||=e=>l.value=e,rows:`2`,onKeydown:Zl(Yl(f,[`prevent`]),[`escape`])},null,8,[`modelValue`,`onKeydown`]),V(`div`,yT,[H(M(Q),{size:`sm`,disabled:u.value||!l.value.trim(),onClick:t=>p(e.id)},{default:N(()=>[...n[3]||=[U(`Save`,-1)]]),_:1},8,[`disabled`,`onClick`]),H(M(Q),{size:`sm`,variant:`ghost`,onClick:f},{default:N(()=>[...n[4]||=[U(`Cancel`,-1)]]),_:1})])],64)):(R(),z(L,{key:1},[V(`div`,bT,[V(`span`,xT,A(i(e.at)),1),V(`span`,ST,[V(`button`,{type:`button`,"aria-label":`Edit note`,class:`text-muted-foreground hover:text-foreground`,onClick:t=>d(e)},[H(M(od),{class:`size-3.5`})],8,CT),V(`button`,{type:`button`,"aria-label":`Delete note`,class:`text-muted-foreground hover:text-destructive`,onClick:t=>m(e.id)},[H(M(Td),{class:`size-3.5`})],8,wT)])]),V(`p`,TT,A(e.text),1)],64))]))),128))])):W(``,!0),H(M($C),{"data-testid":`new-note`,modelValue:a.value,"onUpdate:modelValue":n[1]||=e=>a.value=e,rows:`2`,placeholder:`Add an internal note…`},null,8,[`modelValue`]),H(M(Q),{"data-testid":`add-note`,variant:`outline`,class:`w-full text-muted-foreground`,disabled:o.value||!a.value.trim(),onClick:s},{default:N(()=>[...n[5]||=[U(` Add note `,-1)]]),_:1},8,[`disabled`])]))}}),DT={class:`flex shrink-0 flex-col overflow-y-auto border-l border-border bg-card max-[1080px]:hidden`},OT={key:0,class:`flex flex-1 flex-col items-center justify-center gap-2.5 p-10 text-center text-muted-foreground`},kT={key:1,class:`flex flex-col gap-4 px-5 pb-10 pt-[18px]`},AT={class:`flex flex-col gap-0.5`},jT=[`innerHTML`],MT={class:`flex flex-wrap items-center gap-2`},NT={key:0,class:`rounded-md border border-primary-border bg-primary-soft px-1.5 py-0.5 font-mono text-[10px] font-bold uppercase tracking-wide text-primary`},PT={key:1,class:`rounded-md border border-border-soft bg-accent px-1.5 py-0.5 font-mono text-[10px] font-bold uppercase tracking-wide text-muted-foreground`},FT=[`disabled`],IT=[`disabled`],LT={key:0,class:`flex flex-col gap-1.5`},RT={class:`flex items-center gap-1.5 text-[11px] font-bold uppercase tracking-wide text-destructive`},zT={class:`font-mono text-[11px] font-semibold`},BT={class:`ml-auto rounded border border-destructive px-1.5 py-0.5 text-[10.5px] font-semibold text-destructive`},VT=[`disabled`,`onClick`],HT={key:1,class:`flex flex-col gap-1.5`},UT={class:`flex items-center gap-1.5 text-[11px] font-bold uppercase tracking-wide text-muted-foreground`},WT={class:`font-mono text-[11px] font-semibold`},GT={class:`flex flex-col gap-1.5`},KT={class:`flex items-center gap-1.5`},qT={key:0,class:`ml-auto text-[11.5px] text-muted-foreground`},JT={key:0,class:`text-[12px] text-muted-foreground`},YT={key:0,class:`rounded-md border border-border-soft bg-accent px-2 py-1.5 text-[12px] text-muted-foreground`},XT={key:1,class:`flex flex-col gap-0.5 text-[11.5px]`},ZT={class:`min-w-0 truncate font-mono`,style:{direction:`rtl`,"text-align":`left`}},QT=[`href`],$T={key:1,class:`min-w-0 shrink truncate font-mono text-foreground`},eE={class:`flex min-w-0 flex-wrap items-baseline gap-x-1.5 gap-y-0.5`},tE=[`href`],nE={key:1,class:`shrink-0 font-mono text-muted-foreground`},rE={key:2,class:`flex flex-col gap-1`},iE={class:`flex items-center gap-1 text-[11px] font-medium text-muted-foreground`},aE={class:`flex flex-col gap-1`},oE={class:`min-w-0 flex-1 truncate font-mono`,style:{direction:`rtl`,"text-align":`left`}},sE={class:`shrink-0 rounded border border-dashed border-border-soft px-1 font-mono text-[10px]`},cE={class:`shrink-0 font-mono`},lE={key:3,class:`flex flex-col gap-1`},uE={class:`flex items-center gap-1 text-[11px] font-medium text-muted-foreground`},dE={class:`flex flex-col gap-1`},fE={class:`min-w-0 flex-1 truncate font-mono`,style:{direction:`rtl`,"text-align":`left`}},pE={class:`shrink-0 rounded border border-dashed border-border-soft px-1 font-mono text-[10px]`},mE={class:`shrink-0 font-mono`},hE={class:`flex flex-col gap-1.5`},gE={class:`flex items-center gap-1.5`},_E={class:`ml-0.5 flex items-center gap-0.5 rounded border border-primary/30 bg-primary/10 px-1 py-0.5 text-[10px] font-semibold text-primary`},vE=[`disabled`],yE={class:`flex flex-col gap-1.5`},bE={class:`flex items-center gap-1.5`},xE={class:`flex flex-col gap-1.5`},SE={class:`flex items-center gap-1.5`},CE={class:`flex flex-col gap-2`},wE={class:`flex items-center gap-1.5`},TE={key:0,class:`flex flex-col gap-2`},EE=[`src`,`alt`],DE={class:`flex gap-2`},OE=[`disabled`],kE={class:`flex flex-col gap-1.5 text-[11.5px] text-muted-foreground`},AE={class:`flex items-center justify-between gap-3`},jE={class:`font-mono text-[11px] text-foreground`},ME={class:`flex items-center justify-between gap-3`},NE={class:`font-mono text-[11px] text-foreground`},PE=P({__name:`DetailPanel`,props:{keyName:{},entry:{},issues:{},locales:{},sourceLocale:{},usageRevision:{}},emits:[`changed`],setup(e,{emit:t}){let n=e,r=t,i=e=>e?new Date(e).toLocaleString():`—`,a=K(()=>n.keyName?n.keyName.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/\./g,`.<wbr>`):``),o=K(()=>{let e=``;for(let t of Object.values(n.entry?.values??{}))t.updatedAt&&t.updatedAt>e&&(e=t.updatedAt);return e||void 0}),s=K(()=>!!n.entry?.plural),c=j(!1),l;function u(){RS(n.keyName).then(()=>{c.value=!0,clearTimeout(l),l=setTimeout(()=>c.value=!1,1500)}).catch(()=>{})}let d={placeholder:`Placeholder`,spelling:`Spelling`,length:`Length`,glossary:`Glossary`},f=K(()=>(n.issues??[]).filter(e=>e.check!==`untranslated`)),p={spelling:`spelling`,length:`max-length`},m=j(!1);async function h(e){let t=p[e.check];if(!(!t||!n.keyName||m.value)){m.value=!0;try{await jf(n.keyName,t,e.locale),$.success(`Dismissed until the source text changes`),r(`changed`)}catch(e){$.error(e.message)}finally{m.value=!1}}}let g=K(()=>{let e=n.entry,t=n.sourceLocale;return!e||!t?[]:(n.locales??[]).filter(n=>LC(e,n,t))}),_=j(null),v=j(!1),y=j(!1);function b(){_.value?.click()}async function x(e){let t=e.target,i=t.files?.[0];if(t.value=``,!(!i||!n.keyName)){v.value=!0;try{await vf(n.keyName,i),$.success(`Screenshot uploaded`),r(`changed`)}catch(e){$.error(`Upload failed: ${e.message}`)}finally{v.value=!1}}}async function S(){if(n.keyName){y.value=!0;try{await yf(n.keyName),$.success(`Screenshot removed`),r(`changed`)}catch(e){$.error(`Could not remove: ${e.message}`)}finally{y.value=!1}}}let C=Xt({context:``,tags:``,maxLength:void 0}),w=j(!1),T=j(!1);async function ee(){if(n.keyName){T.value=!0;try{let e=0,t=[];for await(let r of $d({keyGlob:n.keyName,all:!0,force:!0}))r.type===`done`&&(e=r.written,t=r.errors);e>0?($.success(`Context suggested and saved — review it below`),r(`changed`)):t.length>0?$.error(t[0].error):$.info(`No usage found — add a code snippet or type context manually`)}catch(e){$.error(`Could not suggest: ${e.message}`)}finally{T.value=!1}}}Dr(()=>[n.keyName,n.entry],()=>{C.context=n.entry?.context??``,C.tags=(n.entry?.tags??[]).join(`, `),C.maxLength=n.entry?.maxLength},{immediate:!0});let E=j(null),te=j(6);async function ne(){let e=n.keyName;if(!e){E.value=null;return}try{E.value=await nf(e)}catch{E.value=null}}Dr(()=>n.keyName,async()=>{E.value=null,te.value=6,await ne()},{immediate:!0}),Dr(()=>n.usageRevision,ne);let re=e=>pT(e,E.value?.project??``),D=K(()=>(E.value?.refs??[]).map(e=>({...e,url:re(e)}))),ie=K(()=>(E.value?.prefixRefs??[]).map(e=>({...e,url:re(e)}))),ae=K(()=>(E.value?.literalRefs??[]).map(e=>({...e,url:pT(e,E.value?.project??``)}))),oe=K(()=>hT(D.value.slice(0,te.value))),se=e=>e.find(e=>e.url)?.url??null,O=j(`count`),ce=j(!1);Dr(()=>[n.keyName,n.entry],()=>{O.value=n.entry?.plural?.arg??`count`},{immediate:!0});async function le(){if(!n.keyName)return;let e=O.value.trim()||`count`;ce.value=!0;try{await Wd(n.keyName,e),$.success(`Converted to plural`),r(`changed`)}catch(e){$.error(`Could not convert: ${e.message}`)}finally{ce.value=!1}}async function ue(){if(n.keyName){ce.value=!0;try{await Gd(n.keyName),$.success(`Converted to a single string`),r(`changed`)}catch(e){$.error(`Could not convert: ${e.message}`)}finally{ce.value=!1}}}async function de(){let e=O.value.trim();if(!(!n.keyName||!e||e===n.entry?.plural?.arg))try{await zd(n.keyName,{pluralArg:e}),$.success(`Renamed count variable`),r(`changed`)}catch(e){$.error(`Could not rename: ${e.message}`)}}async function fe(){if(n.keyName){w.value=!0;try{await zd(n.keyName,{metadata:{context:C.context.trim(),tags:C.tags.split(`,`).map(e=>e.trim()).filter(Boolean),maxLength:C.maxLength?Number(C.maxLength):null}}),$.success(`Metadata saved`),r(`changed`)}catch(e){$.error(`Could not save: ${e.message}`)}finally{w.value=!1}}}return(t,n)=>(R(),z(`aside`,DT,[!e.keyName||!e.entry?(R(),z(`div`,OT,[H(M(Wu),{class:`size-5`}),n[6]||=V(`p`,{class:`max-w-[200px] text-sm leading-relaxed`},`Select a key to view and edit its details.`,-1)])):(R(),z(`div`,kT,[V(`div`,AT,[n[7]||=V(`span`,{class:`text-[10.5px] font-bold uppercase tracking-wide text-muted-foreground`},`Key`,-1),H(M(ax),{"disable-closing-trigger":``},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`span`,{class:`inline-block w-fit break-words cursor-pointer font-mono text-base font-semibold tracking-tight`,innerHTML:a.value,onClick:u},null,8,jT)]),_:1}),H(M(PC),null,{default:N(()=>[U(A(c.value?`Copied`:`Click to copy`),1)]),_:1})]),_:1})]),V(`div`,MT,[s.value?(R(),z(`span`,NT,`PLURAL`)):(R(),z(`span`,PT,`SINGLE`)),s.value?(R(),z(L,{key:2},[n[8]||=V(`span`,{class:`text-[11.5px] text-muted-foreground`},`arg`,-1),H(M(BS),{modelValue:O.value,"onUpdate:modelValue":n[0]||=e=>O.value=e,class:`h-7 w-24 font-mono text-xs`,"aria-label":`Number variable name`,onBlur:de,onKeydown:Zl(Yl(de,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),V(`button`,{type:`button`,class:`ml-auto rounded-md px-2 py-1 text-[12px] font-semibold text-primary transition-colors hover:bg-primary-soft disabled:opacity-50`,disabled:ce.value,onClick:ue},`Make single`,8,FT)],64)):(R(),z(`button`,{key:3,type:`button`,class:`ml-auto rounded-md px-2 py-1 text-[12px] font-semibold text-primary transition-colors hover:bg-primary-soft disabled:opacity-50`,disabled:ce.value,onClick:le},`Make plural`,8,IT))]),f.value.length||g.value.length?(R(),z(`div`,{key:0,class:k(M(LS)(`flex flex-col gap-3 rounded-xl border border-border bg-background p-3`,f.value.length&&`border-primary-border`))},[f.value.length?(R(),z(`div`,LT,[V(`div`,RT,[H(M(Ed),{class:`size-3.5`}),U(` `+A(f.value.length)+` issue`+A(f.value.length===1?``:`s`),1)]),(R(!0),z(L,null,F(f.value,(e,t)=>(R(),z(`div`,{key:t,class:`group flex items-center gap-2 text-[12.5px]`},[H(vw,{code:e.locale,size:14},null,8,[`code`]),V(`span`,zT,A(e.locale.toUpperCase()),1),V(`span`,BT,A(d[e.check]??e.check),1),p[e.check]?(R(),B(M(ax),{key:0},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:`flex size-[20px] items-center justify-center rounded text-muted-foreground opacity-0 transition-opacity hover:bg-accent hover:text-foreground group-hover:opacity-100`,disabled:m.value,"aria-label":`Dismiss until the source changes`,onClick:t=>h(e)},[H(M(Cu),{class:`size-3`})],8,VT)]),_:2},1024),H(M(PC),null,{default:N(()=>[...n[9]||=[U(`Dismiss until the source text changes`,-1)]]),_:1})]),_:2},1024)):W(``,!0)]))),128))])):W(``,!0),g.value.length?(R(),z(`div`,HT,[V(`div`,UT,[n[10]||=V(`span`,{class:`size-[7px] rounded-full bg-muted-foreground`},null,-1),U(` `+A(g.value.length)+` untranslated `,1)]),(R(!0),z(L,null,F(g.value,e=>(R(),z(`div`,{key:e,class:`flex items-center gap-2 text-[12.5px]`},[H(vw,{code:e,size:14},null,8,[`code`]),V(`span`,WT,A(e.toUpperCase()),1),n[11]||=V(`span`,{class:`ml-auto rounded border border-border-soft bg-accent px-1.5 py-0.5 text-[10.5px] font-semibold italic text-muted-foreground`},`Empty`,-1)]))),128))])):W(``,!0)],2)):W(``,!0),V(`div`,GT,[V(`div`,KT,[H(M(Iu),{class:`size-3.5 text-muted-foreground`}),n[12]||=V(`span`,{class:`text-[13px] font-semibold`},`Usage`,-1),E.value?.indexed?(R(),z(`span`,qT,A(E.value.count)+` reference`+A(E.value.count===1?``:`s`),1)):W(``,!0)]),!E.value||!E.value.indexed?(R(),z(`p`,JT,` Run a scan to find where this key is used in your code. `)):(R(),z(L,{key:1},[E.value.count===0&&ie.value.length===0&&ae.value.length===0?(R(),z(`p`,YT,` Not referenced in the last scan — this key may be unused. `)):W(``,!0),D.value.length?(R(),z(`div`,XT,[(R(!0),z(L,null,F(oe.value,(e,t)=>(R(),z(L,{key:t},[e.kind===`dir`?(R(),z(`div`,{key:0,class:`flex items-center gap-1 text-muted-foreground`,style:he({paddingLeft:`${e.depth*12}px`})},[H(M(qu),{class:`size-3 shrink-0`}),H(M(ax),null,{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`span`,ZT,A(e.label),1)]),_:2},1024),H(M(PC),{class:`font-mono`},{default:N(()=>[U(A(e.label),1)]),_:2},1024)]),_:2},1024)],4)):(R(),z(`div`,{key:1,class:`flex items-baseline gap-1.5`,style:he({paddingLeft:`${e.depth*12+16}px`})},[H(M(ax),null,{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[se(e.refs)?(R(),z(`a`,{key:0,href:se(e.refs),class:`min-w-0 shrink truncate rounded px-0.5 font-mono text-foreground hover:bg-accent hover:text-primary`},A(e.name),9,QT)):(R(),z(`span`,$T,A(e.name),1))]),_:2},1024),H(M(PC),{class:`font-mono`},{default:N(()=>[U(A(se(e.refs)?`Open ${e.name}`:e.name),1)]),_:2},1024)]),_:2},1024),V(`span`,eE,[(R(!0),z(L,null,F(e.refs,(t,n)=>(R(),z(L,{key:n},[t.url?(R(),B(M(ax),{key:0},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`a`,{href:t.url,class:`shrink-0 rounded px-0.5 font-mono text-muted-foreground hover:bg-accent hover:text-primary`},`:`+A(t.line),9,tE)]),_:2},1024),H(M(PC),{class:`font-mono`},{default:N(()=>[U(`Open `+A(e.name)+`:`+A(t.line),1)]),_:2},1024)]),_:2},1024)):(R(),z(`span`,nE,`:`+A(t.line),1))],64))),128))])],4))],64))),128)),E.value.count>te.value?(R(),z(`button`,{key:0,type:`button`,class:`mt-0.5 self-start text-[11.5px] text-primary hover:underline`,onClick:n[1]||=e=>te.value=E.value.count},` + `+A(E.value.count-te.value)+` more `,1)):W(``,!0)])):W(``,!0),ie.value.length?(R(),z(`div`,rE,[V(`p`,iE,[H(M(Su),{class:`size-3`}),n[13]||=U(` Possible usage (dynamic keys) `,-1)]),V(`ul`,aE,[(R(!0),z(L,null,F(ie.value,(e,t)=>(R(),z(`li`,{key:t,class:`text-[11.5px]`},[H(M(ax),null,{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[(R(),B(aa(e.url?`a`:`div`),{href:e.url||void 0,class:k([`group flex items-baseline gap-2 text-muted-foreground`,e.url?`hover:text-primary`:``])},{default:N(()=>[V(`span`,oE,A(e.file),1),V(`span`,sE,A(e.prefix)+`*`,1),V(`span`,cE,`:`+A(e.line),1),e.url?(R(),B(M(Bu),{key:0,class:`size-3 shrink-0 opacity-0 transition-opacity group-hover:opacity-100`})):W(``,!0)]),_:2},1032,[`href`,`class`]))]),_:2},1024),H(M(PC),{class:`font-mono`},{default:N(()=>[U(A(e.url?`Open ${e.file}:${e.line}`:`${e.file}:${e.line}`),1)]),_:2},1024)]),_:2},1024)]))),128))])])):W(``,!0),ae.value.length?(R(),z(`div`,lE,[V(`p`,uE,[H(M(Su),{class:`size-3`}),n[14]||=U(` Possible usage (string literals) `,-1)]),V(`ul`,dE,[(R(!0),z(L,null,F(ae.value,(e,t)=>(R(),z(`li`,{key:t,class:`text-[11.5px]`},[H(M(ax),null,{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[(R(),B(aa(e.url?`a`:`div`),{href:e.url||void 0,class:k([`group flex items-baseline gap-2 text-muted-foreground`,e.url?`hover:text-primary`:``])},{default:N(()=>[V(`span`,fE,A(e.file),1),V(`span`,pE,`'`+A(e.literal)+`'`,1),V(`span`,mE,`:`+A(e.line),1),e.url?(R(),B(M(Bu),{key:0,class:`size-3 shrink-0 opacity-0 transition-opacity group-hover:opacity-100`})):W(``,!0)]),_:2},1032,[`href`,`class`]))]),_:2},1024),H(M(PC),{class:`font-mono`},{default:N(()=>[U(A(e.url?`Open ${e.file}:${e.line}`:`${e.file}:${e.line}`),1)]),_:2},1024)]),_:2},1024)]))),128))])])):W(``,!0)],64))]),V(`div`,hE,[V(`div`,gE,[H(M(Zu),{class:`size-3.5 text-muted-foreground`}),n[16]||=V(`label`,{for:`detail-context`,class:`text-[13px] font-semibold`},`Context`,-1),e.entry.contextSource===`ai`?(R(),B(M(ax),{key:0},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`span`,_E,[H(M(yd),{class:`size-2.5`}),n[15]||=U(` AI `,-1)])]),_:1}),H(M(PC),null,{default:N(()=>[U(A(e.entry.contextAt?`AI-generated ${i(e.entry.contextAt)}`:`AI-generated`),1)]),_:1})]),_:1})):W(``,!0),H(M(ax),null,{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:`ml-auto flex items-center gap-1 rounded px-1.5 py-0.5 text-[11.5px] font-medium text-muted-foreground transition-colors hover:bg-accent hover:text-foreground disabled:opacity-40`,disabled:T.value,onClick:ee},[H(M(yd),{class:`size-3`}),U(` `+A(T.value?`Suggesting…`:`Suggest`),1)],8,vE)]),_:1}),H(M(PC),null,{default:N(()=>[U(A(T.value?`Suggesting…`:`Suggest context with AI`),1)]),_:1})]),_:1})]),H(M($C),{id:`detail-context`,modelValue:C.context,"onUpdate:modelValue":n[2]||=e=>C.context=e,rows:`5`,class:`min-h-28`,placeholder:`Where/how this string is used…`},null,8,[`modelValue`])]),V(`div`,yE,[V(`div`,bE,[H(M(wd),{class:`size-3.5 text-muted-foreground`}),n[17]||=V(`label`,{for:`detail-tags`,class:`text-[13px] font-semibold`},`Tags`,-1)]),H(M(BS),{id:`detail-tags`,modelValue:C.tags,"onUpdate:modelValue":n[3]||=e=>C.tags=e,placeholder:`comma, separated`},null,8,[`modelValue`])]),V(`div`,xE,[V(`div`,SE,[H(M(ud),{class:`size-3.5 text-muted-foreground`}),n[18]||=V(`label`,{for:`detail-maxlen`,class:`text-[13px] font-semibold`},`Max length`,-1)]),H(M(BS),{id:`detail-maxlen`,modelValue:C.maxLength,"onUpdate:modelValue":n[4]||=e=>C.maxLength=e,modelModifiers:{number:!0},type:`number`,min:`0`,placeholder:`—`,class:`font-mono`},null,8,[`modelValue`])]),H(M(Q),{class:`w-full`,disabled:w.value,onClick:fe},{default:N(()=>[...n[19]||=[U(`Save details`,-1)]]),_:1},8,[`disabled`]),n[25]||=V(`div`,{class:`h-px bg-border-soft`},null,-1),e.keyName?(R(),B(ET,{key:1,"key-name":e.keyName,notes:e.entry.notes??[],onChanged:n[5]||=e=>r(`changed`)},null,8,[`key-name`,`notes`])):W(``,!0),n[26]||=V(`div`,{class:`h-px bg-border-soft`},null,-1),V(`div`,CE,[V(`div`,wE,[H(M(Xu),{class:`size-3.5 text-muted-foreground`}),n[20]||=V(`span`,{class:`text-[13px] font-semibold`},`Screenshot`,-1)]),V(`input`,{ref_key:`fileInput`,ref:_,type:`file`,accept:`image/*`,class:`hidden`,onChange:x},null,544),e.entry.screenshot?(R(),z(`div`,TE,[V(`img`,{src:`/`+e.entry.screenshot,alt:`Screenshot for ${e.keyName}`,class:`max-h-48 w-full rounded-lg border border-border object-contain`},null,8,EE),V(`div`,DE,[H(M(Q),{variant:`outline`,size:`sm`,disabled:v.value,onClick:b},{default:N(()=>[H(M(cd),{class:`size-4`}),n[21]||=U(` Replace `,-1)]),_:1},8,[`disabled`]),H(M(Q),{variant:`outline`,size:`sm`,class:`text-muted-foreground hover:text-destructive`,disabled:y.value,onClick:S},{default:N(()=>[H(M(Td),{class:`size-4`}),n[22]||=U(` Remove `,-1)]),_:1},8,[`disabled`])])])):(R(),z(`button`,{key:1,type:`button`,class:`flex w-full flex-col items-center gap-2 rounded-xl border-[1.5px] border-dashed border-input p-[22px] text-center text-[12.5px] font-medium text-muted-foreground transition-colors hover:border-primary-border hover:bg-accent hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-60`,disabled:v.value,onClick:b},[H(M(Od),{class:`size-5`}),U(` `+A(v.value?`Uploading…`:`Upload screenshot`),1)],8,OE))]),n[27]||=V(`div`,{class:`h-px bg-border-soft`},null,-1),V(`div`,kE,[V(`div`,AE,[n[23]||=V(`span`,null,`Created`,-1),V(`span`,jE,A(i(e.entry.createdAt)),1)]),V(`div`,ME,[n[24]||=V(`span`,null,`Last updated`,-1),V(`span`,NE,A(i(o.value)),1)])])]))]))}}),FE={class:`grid gap-3`},IE={class:`grid gap-1.5`},LE={class:`grid gap-1.5`},RE={class:`flex items-center justify-between gap-2 rounded-md border p-2.5`},zE={class:`flex flex-col`},BE={key:0,class:`grid gap-1.5`},VE={key:1,class:`text-sm text-destructive`},HE=P({__name:`AddKeyDialog`,props:{open:{type:Boolean,required:!0},openModifiers:{}},emits:ka([`created`],[`update:open`]),setup(e,{emit:t}){let n=Za(e,`open`),r=t,i=j(``),a=j(``),o=j(``),s=j(!1),c=j(!1),l=j(`count`);Dr(n,e=>{e&&(i.value=``,a.value=``,o.value=``,c.value=!1,l.value=`count`)});async function u(){let e=i.value.trim();if(!e){o.value=`Key is required.`;return}if(!a.value.trim()){o.value=`Source value is required.`;return}s.value=!0,o.value=``;try{c.value?await Nd(e,a.value,{arg:l.value.trim()||`count`}):await Nd(e,a.value),$.success(`Added ${e}`),n.value=!1,r(`created`,e)}catch(e){o.value=e.message}finally{s.value=!1}}return(e,t)=>(R(),B(M(Oh),{open:n.value,"onUpdate:open":t[5]||=e=>n.value=e},{default:N(()=>[H(M(bC),{class:`max-w-md`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),null,{default:N(()=>[...t[6]||=[U(`Add key`,-1)]]),_:1}),H(M(wC),null,{default:N(()=>[...t[7]||=[U(`Create a new translation key using dot notation.`,-1)]]),_:1})]),_:1}),V(`div`,FE,[V(`div`,IE,[H(M(yC),{for:`add-key`},{default:N(()=>[...t[8]||=[U(`Key `,-1),V(`span`,{class:`text-destructive`},`*`,-1)]]),_:1}),H(M(BS),{id:`add-key`,modelValue:i.value,"onUpdate:modelValue":t[0]||=e=>i.value=e,class:`font-mono`,placeholder:`home.title`,onKeydown:Zl(Yl(u,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),V(`div`,LE,[H(M(yC),{for:`add-value`},{default:N(()=>[U(A(c.value?`Source value (other form)`:`Source value`)+` `,1),t[9]||=V(`span`,{class:`text-destructive`},`*`,-1)]),_:1}),H(M(BS),{id:`add-value`,modelValue:a.value,"onUpdate:modelValue":t[1]||=e=>a.value=e,placeholder:c.value?`{count} items`:`Welcome home`,onKeydown:Zl(Yl(u,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`])]),V(`div`,RE,[V(`div`,zE,[H(M(yC),{for:`add-plural`,class:`cursor-pointer`},{default:N(()=>[...t[10]||=[U(`Plural`,-1)]]),_:1}),t[11]||=V(`span`,{class:`text-xs text-muted-foreground`},`One form per CLDR category, by locale.`,-1)]),H(M(XS),{id:`add-plural`,modelValue:c.value,"onUpdate:modelValue":t[2]||=e=>c.value=e},null,8,[`modelValue`])]),c.value?(R(),z(`div`,BE,[H(M(yC),{for:`add-plural-arg`},{default:N(()=>[...t[12]||=[U(`Count argument`,-1)]]),_:1}),H(M(BS),{id:`add-plural-arg`,modelValue:l.value,"onUpdate:modelValue":t[3]||=e=>l.value=e,class:`font-mono`,placeholder:`count`,onKeydown:Zl(Yl(u,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])])):W(``,!0),o.value?(R(),z(`p`,VE,A(o.value),1)):W(``,!0)]),H(M(SC),null,{default:N(()=>[H(M(Q),{variant:`outline`,disabled:s.value,onClick:t[4]||=e=>n.value=!1},{default:N(()=>[...t[13]||=[U(`Cancel`,-1)]]),_:1},8,[`disabled`]),H(M(Q),{disabled:s.value||!i.value.trim()||!a.value.trim(),onClick:u},{default:N(()=>[...t[14]||=[U(`Add key`,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`]))}}),UE={key:0,class:`flex items-center gap-1.5 rounded-md border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-xs text-amber-700 dark:text-amber-400`},WE={key:1,class:`text-sm text-destructive`},GE={key:2,class:`flex flex-1 items-center justify-center py-12 text-sm text-muted-foreground`},KE={key:0,class:`flex flex-col gap-1 rounded-md border border-amber-500/30 bg-amber-500/10 p-3 text-sm text-amber-700 dark:text-amber-400`},qE={class:`flex items-center gap-1.5 font-medium`},JE={class:`list-inside list-disc pl-1`},YE={class:`grid min-h-0 flex-1 grid-cols-[16rem_1fr] gap-3 overflow-hidden`},XE={class:`min-h-0 overflow-y-auto rounded-md border`},ZE=[`onClick`],QE={key:0,class:`px-3 py-2 text-xs text-muted-foreground`},$E={key:0,class:`min-h-0 overflow-auto rounded-md border bg-muted/30 p-3 font-mono text-xs leading-relaxed [tab-size:2]`},eD={key:1,class:`flex min-h-0 items-center justify-center rounded-md border text-sm text-muted-foreground`},tD=P({__name:`ExportDialog`,props:ka({exportLocales:{}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:[`update:open`],setup(e){let t=Za(e,`open`),n=e,r=K(()=>(n.exportLocales?.length??0)>0),i=j(!1),a=j(!1),o=j(``),s=j([]),c=j([]),l=j(null),u=K(()=>s.value.find(e=>e.path===l.value)??null);async function d(){i.value=!0,o.value=``,s.value=[],c.value=[],l.value=null;try{let e=await wf();s.value=[...e.files].sort((e,t)=>e.path.localeCompare(t.path)),c.value=e.warnings,l.value=s.value[0]?.path??null}catch(e){o.value=e.message}finally{i.value=!1}}Dr(t,e=>{e&&d()},{immediate:!0});async function f(){a.value=!0;try{let e=await Tf();$.success(`Wrote ${e.files} file${e.files===1?``:`s`}`),t.value=!1}catch(e){$.error(`Export failed: ${e.message}`)}finally{a.value=!1}}return(e,d)=>(R(),B(M(Oh),{open:t.value,"onUpdate:open":d[1]||=e=>t.value=e},{default:N(()=>[H(M(bC),{class:`flex max-h-[85vh] w-full max-w-5xl flex-col`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),null,{default:N(()=>[...d[2]||=[U(`Export preview`,-1)]]),_:1}),H(M(wC),null,{default:N(()=>[...d[3]||=[U(`Review the files that will be written to disk.`,-1)]]),_:1})]),_:1}),r.value?(R(),z(`p`,UE,[H(M(Ed),{class:`size-3.5 shrink-0`}),U(` Export is limited to `+A(n.exportLocales.length)+` language`+A(n.exportLocales.length===1?``:`s`)+` (Settings → Export targets). `,1)])):W(``,!0),o.value?(R(),z(`p`,WE,A(o.value),1)):W(``,!0),i.value?(R(),z(`div`,GE,` Generating preview… `)):o.value?W(``,!0):(R(),z(L,{key:3},[c.value.length?(R(),z(`div`,KE,[V(`p`,qE,[H(M(Ed),{class:`size-4`}),U(` `+A(c.value.length)+` warning`+A(c.value.length===1?``:`s`),1)]),V(`ul`,JE,[(R(!0),z(L,null,F(c.value,(e,t)=>(R(),z(`li`,{key:t},A(e),1))),128))])])):W(``,!0),V(`div`,YE,[V(`ul`,XE,[(R(!0),z(L,null,F(s.value,e=>(R(),z(`li`,{key:e.path},[H(M(ax),null,{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:k(M(LS)(`w-full truncate px-3 py-1.5 text-left font-mono text-xs transition-colors`,e.path===l.value?`bg-accent text-accent-foreground`:`hover:bg-muted/60`)),onClick:t=>l.value=e.path},A(e.path),11,ZE)]),_:2},1024),H(M(PC),{class:`font-mono`},{default:N(()=>[U(A(e.path),1)]),_:2},1024)]),_:2},1024)]))),128)),s.value.length===0?(R(),z(`li`,QE,` No files to write. `)):W(``,!0)]),u.value?(R(),z(`pre`,$E,A(u.value.contents),1)):(R(),z(`div`,eD,` Select a file to preview its contents. `))])],64)),H(M(SC),null,{default:N(()=>[H(M(Q),{variant:`outline`,disabled:a.value,onClick:d[0]||=e=>t.value=!1},{default:N(()=>[...d[4]||=[U(`Cancel`,-1)]]),_:1},8,[`disabled`]),H(M(Q),{disabled:i.value||a.value||s.value.length===0,onClick:f},{default:N(()=>[H(M(Uu),{class:`size-4`}),U(` `+A(a.value?`Writing…`:`Write ${s.value.length} file${s.value.length===1?``:`s`}`),1)]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`]))}}),nD={class:`relative h-2 w-full overflow-hidden rounded-full bg-muted`},rD=P({__name:`Progress`,props:{modelValue:{}},setup(e){return(t,n)=>(R(),z(`div`,nD,[V(`div`,{class:`h-full bg-primary transition-all`,style:he({width:`${Math.min(100,Math.max(0,e.modelValue??0))}%`})},null,4)]))}}),iD={key:0,class:`rounded-md border bg-muted/40 px-3 py-2 text-xs text-muted-foreground`},aD={class:`font-medium text-foreground`},oD={key:0,class:`mt-0.5`},sD={key:1,class:`mt-1`},cD={class:`mt-1`},lD={key:1,class:`flex min-h-0 flex-col gap-1.5`},uD={class:`flex justify-between text-xs text-muted-foreground`},dD={key:0},fD={key:0,class:`mt-1 flex max-h-56 min-h-0 flex-col overflow-y-auto rounded-md border text-sm`},pD={key:2,class:`flex flex-col gap-1 rounded-md border border-destructive/30 bg-destructive/10 p-3 text-sm text-destructive`},mD={class:`flex items-center gap-1.5 font-medium`},hD={key:3,class:`flex min-h-0 flex-col gap-1.5`},gD={class:`flex items-center gap-1.5 text-sm font-medium text-amber-700 dark:text-amber-400`},_D={class:`min-h-0 flex-1 overflow-y-auto rounded-md border text-sm`},vD={class:`inline-flex items-center gap-1.5 font-mono text-xs`},yD={class:`text-muted-foreground`},bD=P({__name:`TranslateDialog`,props:ka({state:{},filteredKeys:{},targetLocale:{}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:ka([`changed`],[`update:open`]),setup(e,{emit:t}){let n=e,r=Za(e,`open`),i=t,a=j(!1),o=j(``),s=j([]),c=j(0),l=j(0),u=null,d=j([]),f=e=>d.value.find(t=>t.locale===e),p=K(()=>d.value.filter(e=>e.status===`active`).length),m={active:0,queued:1,done:2},h=K(()=>[...d.value].sort((e,t)=>m[e.status]-m[t.status])),g=e=>e===`active`?ed:e===`done`?Ou:Pu,_=K(()=>{let e=n.state;return e?n.targetLocale?[n.targetLocale]:e.config.locales.filter(t=>t!==e.config.sourceLocale):[]}),v=K(()=>{let e=n.state;if(!e)return 0;let t=n.filteredKeys?new Set(n.filteredKeys):null,r=0;for(let[n,i]of Object.entries(e.keys))if(!(t&&!t.has(n))&&!i.skipTranslate)for(let t of _.value)LC(i,t,e.config.sourceLocale)&&r++;return r}),y=j(null),b=K(()=>y.value??v.value),x=j(!1),S=j(!1);async function C(){x.value=!1;try{let e=await Jd();x.value=e.supported&&!e.pending}catch{}}async function w(){S.value=!0;try{let e=await Yd({keys:n.filteredKeys?.length?n.filteredKeys:void 0,locales:n.targetLocale?[n.targetLocale]:void 0});$.success(`Batch of ${e.total.toLocaleString()} strings submitted — results apply when processing finishes (usually under an hour).`),r.value=!1}catch(e){o.value=e.message}finally{S.value=!1}}let T=j(null),ee=e=>e>=1e4?`${Math.round(e/1e3)}k`:e.toLocaleString(),E=e=>e>=.1?`$${e.toFixed(2)}`:`$${e.toFixed(4)}`,te=K(()=>{let e=T.value?.estimatedCost;return e==null?`Batch (50% off)`:`Batch ≈ ${E(e/2)} (50% off)`});async function ne(){T.value=null;try{T.value=await qd({keys:n.filteredKeys?.length?n.filteredKeys:void 0,locales:n.targetLocale?[n.targetLocale]:void 0})}catch{}}Dr(r,e=>{e&&(o.value=``,s.value=[],c.value=0,l.value=0,d.value=[],y.value=null,ne(),C())},{immediate:!0});function re(){u?.abort()}async function D(){u=new AbortController,a.value=!0,o.value=``,s.value=[],c.value=0,d.value=[],y.value=v.value,l.value=y.value;try{let e=u.signal,t=0,a=n.filteredKeys?.length?n.filteredKeys:void 0,o=n.targetLocale?[n.targetLocale]:void 0,p=o?[e,a,o]:a?[e,a]:[e];for await(let e of Qd(...p))if(e.type===`start`)l.value=e.total,d.value=e.locales.map(e=>({locale:e.locale,total:e.total,done:0,status:`queued`}));else if(e.type===`locale-start`){let t=f(e.locale);t&&(t.status=`active`)}else if(e.type===`progress`){c.value=e.done,l.value=e.total;let t=f(e.locale);t&&(t.done=e.localeDone,t.status===`queued`&&(t.status=`active`)),i(`changed`)}else if(e.type===`locale-done`){let t=f(e.locale);t&&(t.status=`done`,t.done=t.total)}else e.type===`done`&&(t=e.written,s.value=e.errors,c.value=l.value,i(`changed`));e.aborted||($.success(`Translated ${t} string${t===1?``:`s`}`),s.value.length===0&&(r.value=!1))}catch(e){e.name!==`AbortError`&&(o.value=e.message)}finally{a.value=!1,u=null}}return(e,t)=>(R(),B(M(Oh),{open:r.value,"onUpdate:open":t[1]||=e=>r.value=e},{default:N(()=>[H(M(bC),{class:`flex max-h-[85vh] max-w-lg flex-col`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),null,{default:N(()=>[...t[2]||=[U(`Translate missing strings`,-1)]]),_:1}),H(M(wC),null,{default:N(()=>[b.value===0?(R(),z(L,{key:0},[U(`Nothing missing — all translations are filled.`)],64)):(R(),z(L,{key:1},[U(` Translate `+A(b.value.toLocaleString())+` missing string`+A(b.value===1?``:`s`)+` across `+A(_.value.length)+` language`+A(_.value.length===1?``:`s`)+` with Claude? This sends source strings + context to the AI provider. `,1)],64))]),_:1})]),_:1}),T.value&&T.value.requests>0&&b.value>0&&!a.value&&c.value===0?(R(),z(`div`,iD,[V(`p`,null,[U(` ≈ `+A(T.value.requests.toLocaleString())+` requests · `+A(T.value.batches.toLocaleString())+` batch`+A(T.value.batches===1?``:`es`)+` · ~`+A(ee(T.value.inputTokens))+` in / ~`+A(ee(T.value.outputTokens))+` out tokens`,1),T.value.estimatedCost===null?W(``,!0):(R(),z(L,{key:0},[t[3]||=U(` · `,-1),V(`span`,aD,`≈ `+A(E(T.value.estimatedCost)),1),t[4]||=U(` (±20%)`,-1)],64))]),T.value.pricing?W(``,!0):(R(),z(`p`,oD,` No pricing known for this model — set a price in Settings → AI for a dollar estimate. `)),T.value.perLocale.length>1?(R(),z(`details`,sD,[t[5]||=V(`summary`,{class:`cursor-pointer select-none`},`Per-language breakdown`,-1),V(`ul`,cD,[(R(!0),z(L,null,F(T.value.perLocale,e=>(R(),z(`li`,{key:e.locale,class:`flex justify-between font-mono tabular-nums`},[V(`span`,null,A(e.locale),1),V(`span`,null,A(e.requests.toLocaleString())+` req · ~`+A(ee(e.inputTokens))+` / ~`+A(ee(e.outputTokens)),1)]))),128))])])):W(``,!0)])):W(``,!0),a.value||c.value>0?(R(),z(`div`,lD,[V(`div`,uD,[V(`span`,null,A(c.value.toLocaleString())+` / `+A(l.value.toLocaleString())+` translated`,1),a.value&&d.value.length?(R(),z(`span`,dD,A(p.value)+` of `+A(d.value.length)+` language`+A(d.value.length===1?``:`s`)+` active`,1)):W(``,!0)]),H(M(rD),{"model-value":l.value>0?c.value/l.value*100:0},null,8,[`model-value`]),d.value.length?(R(),z(`ul`,fD,[(R(!0),z(L,null,F(h.value,e=>(R(),z(`li`,{key:e.locale,class:k([`flex items-center gap-2 border-b px-3 py-1.5 last:border-b-0`,e.status===`queued`&&`opacity-55`])},[(R(),B(aa(g(e.status)),{class:k([`size-3.5 shrink-0`,e.status===`active`?`animate-spin text-primary`:e.status===`done`?`text-emerald-600 dark:text-emerald-400`:`text-muted-foreground`])},null,8,[`class`])),H(Ew,{code:e.locale,size:14,"show-name":``},null,8,[`code`]),V(`span`,{class:k([`ml-auto font-mono text-xs tabular-nums`,e.status===`active`?`text-foreground`:`text-muted-foreground`])},A(e.done.toLocaleString())+` / `+A(e.total.toLocaleString()),3)],2))),128))])):W(``,!0)])):W(``,!0),o.value?(R(),z(`div`,pD,[V(`p`,mD,[H(M(Ed),{class:`size-4`}),t[6]||=U(` Translation failed `,-1)]),V(`p`,null,A(o.value),1)])):W(``,!0),s.value.length?(R(),z(`div`,hD,[V(`p`,gD,[H(M(Ed),{class:`size-4`}),U(` `+A(s.value.length)+` string`+A(s.value.length===1?``:`s`)+` could not be translated `,1)]),V(`ul`,_D,[(R(!0),z(L,null,F(s.value,(e,t)=>(R(),z(`li`,{key:`${e.key}-${e.locale}-${t}`,class:`border-b px-3 py-1.5 last:border-b-0`},[V(`span`,vD,[U(A(e.key)+` @ `,1),H(Ew,{code:e.locale,size:12},null,8,[`code`])]),V(`span`,yD,` — `+A(e.error),1)]))),128))])])):W(``,!0),H(M(SC),null,{default:N(()=>[H(M(Q),{variant:`outline`,onClick:t[0]||=e=>a.value?re():r.value=!1},{default:N(()=>[U(A(a.value?`Cancel`:`Close`),1)]),_:1}),b.value>0&&x.value?(R(),B(M(Q),{key:0,variant:`outline`,disabled:a.value||S.value,onClick:w},{default:N(()=>[U(A(S.value?`Submitting…`:te.value),1)]),_:1},8,[`disabled`])):W(``,!0),b.value>0?(R(),B(M(Q),{key:1,disabled:a.value,onClick:D},{default:N(()=>[H(M(yd),{class:`size-4`}),U(` `+A(a.value?`Translating…`:`Translate`),1)]),_:1},8,[`disabled`])):W(``,!0)]),_:1})]),_:1})]),_:1},8,[`open`]))}}),xD={key:0,class:`flex flex-col gap-1.5`},SD={class:`flex justify-between text-xs text-muted-foreground`},CD={key:1,class:`flex flex-col gap-1 rounded-md border border-destructive/30 bg-destructive/10 p-3 text-sm text-destructive`},wD={class:`flex items-center gap-1.5 font-medium`},TD={key:2,class:`flex min-h-0 flex-col gap-1.5`},ED={class:`flex items-center gap-1.5 text-sm font-medium text-amber-700 dark:text-amber-400`},DD={class:`min-h-0 flex-1 overflow-y-auto rounded-md border text-sm`},OD={class:`font-mono text-xs`},kD={class:`text-muted-foreground`},AD=P({__name:`ContextDialog`,props:ka({state:{},keys:{}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:ka([`changed`],[`update:open`]),setup(e,{emit:t}){let n=e,r=Za(e,`open`),i=t,a=j(!1),o=j(null),s=j(``),c=j([]),l=j(0),u=j(0),d=K(()=>{let e=n.state;return e?n.keys.filter(t=>e.keys[t]&&!e.keys[t].context).length:0});Dr(r,e=>{e?(s.value=``,c.value=[],l.value=0,u.value=0):o.value?.abort()});function f(){o.value?.abort()}async function p(){a.value=!0,s.value=``,c.value=[],l.value=0,u.value=0,o.value=new AbortController;let e=!1;try{for await(let t of $d({keys:n.keys},o.value.signal))t.type===`start`?u.value=t.total:t.type===`progress`?(l.value=t.done,u.value=t.total):t.type===`done`&&(e=!0,l.value=u.value,c.value=t.errors,i(`changed`),$.success(`Built context for ${t.written} key${t.written===1?``:`s`}`),t.errors.length===0&&(r.value=!1))}catch(e){s.value=e.message}finally{!e&&o.value?.signal.aborted&&(i(`changed`),$(`Build cancelled after ${l.value} of ${u.value} keys`)),o.value=null,a.value=!1}}return(e,t)=>(R(),B(M(Oh),{open:r.value,"onUpdate:open":t[1]||=e=>r.value=e},{default:N(()=>[H(M(bC),{class:`flex max-h-[85vh] max-w-lg flex-col`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),null,{default:N(()=>[...t[2]||=[U(`Build context`,-1)]]),_:1}),H(M(wC),null,{default:N(()=>[d.value===0?(R(),z(L,{key:0},[U(` All selected keys already have context — nothing to build. `)],64)):(R(),z(L,{key:1},[U(` Build AI context notes for `+A(d.value)+` selected key`+A(d.value===1?``:`s`)+` that currently have none? The AI will scan call-site code snippets to write a short translator hint for each key. `,1)],64))]),_:1})]),_:1}),a.value||l.value>0?(R(),z(`div`,xD,[V(`div`,SD,[V(`span`,null,A(l.value.toLocaleString())+` / `+A(u.value.toLocaleString())+` built`,1)]),H(M(rD),{"model-value":u.value>0?l.value/u.value*100:0},null,8,[`model-value`])])):W(``,!0),s.value?(R(),z(`div`,CD,[V(`p`,wD,[H(M(Ed),{class:`size-4`}),t[3]||=U(` Build failed `,-1)]),V(`p`,null,A(s.value),1)])):W(``,!0),c.value.length?(R(),z(`div`,TD,[V(`p`,ED,[H(M(Ed),{class:`size-4`}),U(` `+A(c.value.length)+` key`+A(c.value.length===1?``:`s`)+` could not be processed `,1)]),V(`ul`,DD,[(R(!0),z(L,null,F(c.value,(e,t)=>(R(),z(`li`,{key:`${e.key}-${t}`,class:`border-b px-3 py-1.5 last:border-b-0`},[V(`span`,OD,A(e.key),1),V(`span`,kD,` — `+A(e.error),1)]))),128))])])):W(``,!0),H(M(SC),null,{default:N(()=>[a.value?(R(),B(M(Q),{key:0,variant:`outline`,onClick:f},{default:N(()=>[...t[4]||=[U(`Cancel`,-1)]]),_:1})):(R(),B(M(Q),{key:1,variant:`outline`,onClick:t[0]||=e=>r.value=!1},{default:N(()=>[...t[5]||=[U(`Close`,-1)]]),_:1})),d.value>0?(R(),B(M(Q),{key:2,disabled:a.value,onClick:p},{default:N(()=>[H(M(yd),{class:`size-4`}),U(` `+A(a.value?`Building…`:`Build context`),1)]),_:1},8,[`disabled`])):W(``,!0)]),_:1})]),_:1})]),_:1},8,[`open`]))}}),jD={key:0,class:`flex items-center gap-3 rounded-md border bg-muted/40 px-3 py-2 text-sm`},MD={class:`flex min-w-0 flex-1 flex-col gap-1`},ND={class:`truncate`},PD=P({__name:`BatchBanner`,emits:[`changed`],setup(e,{expose:t,emit:n}){let r=n,i=j(null),a=j(!1),o;async function s(){try{i.value=(await Jd()).pending}catch{}}Ki(()=>{s(),o=setInterval(()=>void s(),3e4)}),Xi(()=>clearInterval(o)),t({refresh:s});let c=K(()=>{let e=i.value?.counts;return e?e.succeeded+e.errored+e.canceled+e.expired:0}),l=K(()=>{let e=i.value?.counts;return e?c.value+e.processing:0}),u=K(()=>i.value?.status===`ended`);async function d(){a.value=!0;try{let e=await Xd(),t=[e.retried?`${e.retried} retried`:``,e.staleSkipped?`${e.staleSkipped} stale skipped`:``,e.errors.length?`${e.errors.length} error(s)`:``].filter(Boolean).join(`, `);$.success(`Batch applied — wrote ${e.written} translation(s)${t?` (${t})`:``}`),r(`changed`),await s()}catch(e){$.error(e.message)}finally{a.value=!1}}async function f(){if(window.confirm(`Cancel this batch? Finished entries are discarded.`))try{await Zd(),await s()}catch(e){$.error(e.message)}}return(e,t)=>i.value?(R(),z(`div`,jD,[(R(),B(aa(u.value?M(Ou):M(ed)),{class:k([`size-4 shrink-0`,u.value?`text-emerald-600 dark:text-emerald-400`:`animate-spin text-primary`])},null,8,[`class`])),V(`div`,MD,[V(`span`,ND,[U(` Batch translation (`+A(i.value.total.toLocaleString())+` strings) `,1),u.value?(R(),z(L,{key:0},[U(` — finished, ready to apply`)],64)):i.value.counts?(R(),z(L,{key:1},[U(` — `+A(c.value)+` / `+A(l.value)+` entries done`,1)],64)):(R(),z(L,{key:2},[U(` — checking status…`)],64))]),!u.value&&l.value>0?(R(),B(M(rD),{key:0,"model-value":c.value/l.value*100,class:`h-1`},null,8,[`model-value`])):W(``,!0)]),H(M(Q),{size:`sm`,disabled:!u.value||a.value,onClick:d},{default:N(()=>[U(A(a.value?`Applying…`:u.value?`Apply results`:`Waiting…`),1)]),_:1},8,[`disabled`]),H(M(Q),{size:`sm`,variant:`ghost`,disabled:a.value,onClick:f},{default:N(()=>[H(M(Ad),{class:`size-4`})]),_:1},8,[`disabled`])])):W(``,!0)}}),FD={key:1,class:`text-muted-foreground`},ID={class:`flex items-center gap-2 border-b px-3`},LD={class:`absolute left-2 flex size-3.5 items-center justify-center`},RD={class:`flex w-full min-w-0 items-center justify-between gap-2`},zD={class:`shrink-0 font-mono text-xs text-muted-foreground`},BD=P({__name:`LocaleCombobox`,props:ka({locales:{},placeholder:{},class:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=Za(e,`modelValue`),r=j(!1),i=j(``),a=K(()=>t.locales.map(e=>({code:e,resolved:KC(e)})).sort((e,t)=>e.resolved.name.localeCompare(t.resolved.name,`en`))),o=K(()=>{let e=i.value.trim().toLowerCase();return e?a.value.filter(({code:t,resolved:n})=>t.toLowerCase().includes(e)||n.bcp47.toLowerCase().includes(e)||n.name.toLowerCase().includes(e)||(n.endonym?.toLowerCase().includes(e)??!1)):a.value});function s(e){r.value=e,e&&(i.value=``)}return(a,c)=>(R(),B(M(ay),{modelValue:n.value,"onUpdate:modelValue":c[1]||=e=>n.value=e,open:r.value,"ignore-filter":``,"onUpdate:open":s},{default:N(()=>[H(M(oy),{"as-child":``},{default:N(()=>[H(M(vy),{class:k(M(LS)(`flex h-9 items-center justify-between gap-2 whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50`,t.class))},{default:N(()=>[n.value?(R(),B(Ew,{key:0,code:n.value,"show-name":``,"show-code":!1,size:14},null,8,[`code`])):(R(),z(`span`,FD,A(e.placeholder??`Locale`),1)),H(M(ku),{class:`size-4 shrink-0 opacity-50`})]),_:1},8,[`class`])]),_:1}),H(M(_y),null,{default:N(()=>[H(M(uy),{position:`popper`,align:`start`,"side-offset":4,class:`z-50 max-h-96 w-[260px] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1`},{default:N(()=>[V(`div`,ID,[H(M(md),{class:`size-4 shrink-0 opacity-50`}),H(M(my),{modelValue:i.value,"onUpdate:modelValue":c[0]||=e=>i.value=e,"display-value":()=>``,placeholder:`Search locales…`,class:`h-9 w-full bg-transparent text-sm outline-none placeholder:text-muted-foreground`},null,8,[`modelValue`])]),H(M(by),{class:`max-h-72 p-1`},{default:N(()=>[H(M(dy),{class:`py-6 text-center text-sm text-muted-foreground`},{default:N(()=>[...c[2]||=[U(` No locales found `,-1)]]),_:1}),(R(!0),z(L,null,F(o.value,({code:e})=>(R(),B(M(hy),{key:e,value:e,class:`relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`},{default:N(()=>[V(`span`,LD,[H(M(gy),null,{default:N(()=>[H(M(Ou),{class:`size-4`})]),_:1})]),V(`span`,RD,[H(Ew,{code:e,"show-name":``,"show-code":!1,size:14},null,8,[`code`]),V(`span`,zD,A(e.toUpperCase()),1)])]),_:2},1032,[`value`]))),128))]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`,`open`]))}}),VD={class:`relative w-0 shrink-0`},HD=[`aria-valuenow`,`aria-valuemin`,`aria-valuemax`],UD=P({__name:`ResizeHandle`,props:{side:{},width:{},min:{},max:{}},emits:[`update:width`,`commit`,`reset`],setup(e,{emit:t}){let n=e,r=t,i=j(!1);function a(e){if(e.button!==0)return;let t=e.currentTarget,a=e.clientX,o=n.width,s=n.side===`right`?1:-1;i.value=!0,t.setPointerCapture(e.pointerId),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`;let c=e=>Math.min(n.max,Math.max(n.min,Math.round(e))),l=e=>{r(`update:width`,c(o+s*(e.clientX-a)))},u=()=>{t.removeEventListener(`pointermove`,l),t.removeEventListener(`pointerup`,u),t.removeEventListener(`pointercancel`,u),document.body.style.cursor=``,document.body.style.userSelect=``,i.value=!1,r(`commit`)};t.addEventListener(`pointermove`,l),t.addEventListener(`pointerup`,u),t.addEventListener(`pointercancel`,u)}return(t,n)=>(R(),z(`div`,VD,[V(`div`,{class:k(M(LS)(`absolute inset-y-0 -left-1 z-10 w-2 cursor-col-resize transition-colors hover:bg-primary/20`,i.value&&`bg-primary/30`)),role:`separator`,"aria-orientation":`vertical`,"aria-valuenow":e.width,"aria-valuemin":e.min,"aria-valuemax":e.max,"aria-label":`Resize panel (double-click to reset)`,onPointerdown:a,onDblclick:n[0]||=e=>r(`reset`)},null,42,HD)]))}});function WD(e,t,n,r){let i=`glotfile-${e}`,a=e=>Math.min(r,Math.max(n,Math.round(e))),o=j((()=>{let e=Number(localStorage.getItem(i));return Number.isFinite(e)&&e>0?a(e):t})()),s=()=>{localStorage.setItem(i,String(o.value)),sf({[e]:o.value}).catch(()=>{})};return{width:o,min:n,max:r,set:e=>{o.value=a(e)},commit:s,reset:()=>{o.value=t,s()},syncValue:e=>{typeof e==`number`&&Number.isFinite(e)&&(o.value=a(e),localStorage.setItem(i,String(o.value)))}}}var GD=WD(`keyColumnWidth`,272,180,560),KD=WD(`detailPanelWidth`,420,320,720);async function qD(e){try{let t=e??await of();GD.syncValue(t.keyColumnWidth),KD.syncValue(t.detailPanelWidth)}catch{}}var JD={class:`flex min-h-0 flex-1 flex-col`},YD={class:`flex shrink-0 flex-wrap items-center gap-2 border-b px-4 py-2`},XD={class:`relative`},ZD={key:0,class:`rounded bg-primary px-1.5 text-xs text-primary-foreground`},QD=[`aria-label`],$D={class:`ml-auto flex items-center gap-2`},eO={class:`mr-1 text-xs text-muted-foreground tabular-nums`},tO={key:2},nO={key:3},rO={key:4},iO={key:0,class:`flex shrink-0 flex-wrap items-center gap-1.5 border-b px-4 py-1.5`},aO=[`aria-label`,`onClick`],oO=[`aria-label`,`onClick`],sO=[`aria-label`,`onClick`],cO={class:`px-4 py-2 empty:hidden`},lO={key:1,class:`sticky top-0 z-20 flex h-11 shrink-0 items-center gap-2 border-b bg-background pl-[18px] pr-4`},uO=[`aria-checked`,`aria-label`],dO={class:`text-sm font-medium tabular-nums`},fO={class:`text-sm text-muted-foreground`},pO={key:1,for:`select-all-checkbox`,class:`cursor-pointer select-none text-sm text-muted-foreground`},mO={class:`relative min-w-0 flex-1 overflow-hidden`},hO={key:0,class:`flex h-full items-center justify-center gap-2 p-8 text-sm text-muted-foreground`},gO={key:1,class:`flex h-full items-center justify-center p-8 text-sm text-muted-foreground`},_O=[`data-index`],vO=`glotfile:enabledChecks`,yO=P({__name:`EditorView`,setup(e){let t=GD.width,n=KD.width,r=dn(null),{filter:i,sort:a,view:o,locale:s}=yp(Op()),c=j(i),l=NC();function u(){try{let e=localStorage.getItem(vO);if(e){let t=JSON.parse(e);return cp.filter(e=>t.includes(e))}}catch{}return[...lp]}let d=j(u()),f=j(new Map),p=j(null),m=j(!1),h=j(0);async function g(){try{let e=await rf();m.value=e.indexed,p.value=e.indexed?new Set(e.used):null}catch{m.value=!1,p.value=null}h.value++}let _=j(!1),v=0;async function y(){if(d.value.length===0){f.value=new Map,_.value=!1;return}try{let e=await kf(d.value);f.value=hp(e.issues),_.value=e.spellPending,e.spellPending&&v<6?(v++,setTimeout(y,800)):v=0}catch{f.value=new Map}}Dr(d,e=>{localStorage.setItem(vO,JSON.stringify(e)),v=0,y()},{deep:!0});let b=j(a),x=j(o),S=j(s),C=null;Dr([b,x,S,()=>({...c.value,text:void 0})],()=>{kp(bp({filter:c.value,sort:b.value,view:x.value,locale:S.value}))},{deep:!0}),Dr(()=>c.value.text,()=>{C&&clearTimeout(C),C=setTimeout(()=>{kp(bp({filter:c.value,sort:b.value,view:x.value,locale:S.value}))},300)});let w=K(()=>c.value.states.length+c.value.issues.length+c.value.plurality.length+ +!!c.value.emptySource+ +!!c.value.aiContextUnreviewed+ +!!c.value.noUsages+ +!!c.value.skipTranslate),T=K(()=>{let e=0;for(let t of f.value.values())e+=t.length;return e});function ee(e){c.value.states=c.value.states.filter(t=>t!==e)}function E(e){c.value.issues=c.value.issues.filter(t=>t!==e)}function te(e){c.value.plurality=c.value.plurality.filter(t=>t!==e)}if(Ap.value){let e=Ap.value;if(c.value={text:``,states:[],issues:[],plurality:[],tag:``,needsAttention:!1,emptySource:!1,aiContextUnreviewed:!1,noUsages:!1,skipTranslate:!1,...e},e.issues?.length){let t=new Set([...d.value,...e.issues]);d.value=cp.filter(e=>t.has(e))}e.locale&&(x.value=`bilingual`,S.value=e.locale),Ap.value=null}let ne=j(null);Mp.value&&=(ne.value=Mp.value,null);let re=j(!1),D=j(!1),ie=j(!1),ae=j(!1),oe=j(!1),se=j(null),O=j(null),ce=j(!0),le=j(!1);async function ue(){r.value=await Md(),y()}let de=setTimeout(()=>{ce.value&&(le.value=!0)},250);ue().finally(()=>{ce.value=!1,le.value=!1,clearTimeout(de)});let fe=K(()=>r.value?.config.sourceLocale??``),pe=K(()=>r.value?.config.locales??[]),me=K(()=>pe.value.filter(e=>e!==fe.value));Dr(me,e=>{!S.value&&e.length>0&&(S.value=e[0])},{immediate:!0});let ge=K(()=>{if(x.value===`bilingual`)return S.value?[fe.value,S.value]:[fe.value];let e=pe.value.filter(e=>e!==fe.value);return[fe.value,...e]}),_e=K(()=>{let e=r.value;if(!e)return[];let t=x.value===`bilingual`&&S.value?S.value:void 0;return sp(e,{...c.value,locale:t},f.value,p.value??void 0)}),ve=K(()=>{let e=r.value,t=_e.value;if(b.value===`key-desc`)return[...t].reverse();if(b.value===`created`){let n=t=>{let n=e?.keys[t]?.createdAt;return n?Date.parse(n):0};return[...t].sort((e,t)=>n(t)-n(e))}if(b.value===`updated`){let n=t=>{let n=Object.values(e?.keys[t]?.values??{}),r=0;for(let e of n){let t=e.updatedAt?Date.parse(e.updatedAt):0;t>r&&(r=t)}return r};return[...t].sort((e,t)=>n(t)-n(e))}return t}),ye=K(()=>x.value===`bilingual`?S.value?[S.value]:[]:me.value),be=K(()=>x.value===`bilingual`?S.value||`—`:`all ${me.value.length} targets`),xe=K(()=>l.keys()),Se=K(()=>l.count.value),Ce=K(()=>l.allSelected(ve.value)),we=K(()=>l.someSelected(ve.value)),Te=K(()=>{let e=r.value;if(!e)return[];let t=new Set;for(let n of l.keys())for(let r of e.keys[n]?.tags??[])t.add(r);return[...t].sort()});function Ee(){l.allSelected(ve.value)?l.clear():l.selectAll(ve.value)}function De(e,t){t?l.toggleRange(e,ve.value):l.toggle(e)}Dr(ve,e=>l.pruneTo(e));let Oe=K(()=>r.value&&ne.value?r.value.keys[ne.value]??null:null),ke=rp(K(()=>({count:ve.value.length,getScrollElement:()=>O.value,estimateSize:()=>56,overscan:8,getItemKey:e=>ve.value[e]??e}))),Ae=K(()=>ke.value.getVirtualItems()),je=K(()=>ke.value.getTotalSize());function Me(e){ne.value=e}let Ne=j(null);function Pe(){let e=Ne.value?.$el;e?.focus?.(),e?.select?.()}function Fe(e){let t=e.target,n=!!(t&&(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.isContentEditable)),r=!!document.querySelector(`[role="listbox"],[role="menu"],[role="dialog"]`);if(e.key===`/`&&!n&&!r&&!e.metaKey&&!e.ctrlKey&&!e.altKey){e.preventDefault(),Pe();return}if(e.key!==`ArrowDown`&&e.key!==`ArrowUp`||n||r)return;let i=ve.value;if(i.length===0)return;e.preventDefault();let a=ne.value?i.indexOf(ne.value):-1,o=Math.max(0,Math.min(i.length-1,e.key===`ArrowDown`?a+1:a-1)),s=i[o];s&&(ne.value=s,ke.value.scrollToIndex(o,{align:`auto`}))}Ki(()=>window.addEventListener(`keydown`,Fe)),Xi(()=>{window.removeEventListener(`keydown`,Fe),C&&clearTimeout(C)}),Ki(async()=>{try{let e=await tf();e.indexed&&!se.value&&!oe.value&&(se.value=`${e.files.toLocaleString()} files · ${e.refs.toLocaleString()} refs`)}catch{}g()});async function Ie(e,t){ne.value===e&&(ne.value=t),await ue()}async function Le(e){await ue(),ne.value=e,c.value.text=`"${e}"`}async function Re(){oe.value=!0,se.value=null;try{let e=await ef();se.value=`${e.files.toLocaleString()} files · ${e.refs.toLocaleString()} refs`,await g()}catch{se.value=`Scan failed`}finally{oe.value=!1}}return(e,i)=>(R(),B(M(tx),{"delay-duration":400},{default:N(()=>[V(`div`,JD,[V(`div`,YD,[V(`div`,XD,[H(M(md),{class:`pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-muted-foreground`}),H(M(BS),{ref_key:`searchInput`,ref:Ne,modelValue:c.value.text,"onUpdate:modelValue":i[0]||=e=>c.value.text=e,placeholder:`Search keys, values, context…`,class:`h-8 w-64 pl-8 pr-8`,onKeydown:i[1]||=Zl(e=>c.value.text=``,[`esc`])},null,8,[`modelValue`]),c.value.text?(R(),z(`button`,{key:0,type:`button`,class:`absolute right-1.5 top-1/2 grid size-5 -translate-y-1/2 place-items-center rounded text-muted-foreground transition-colors hover:bg-muted hover:text-foreground`,"aria-label":`Clear search`,onClick:i[2]||=e=>c.value.text=``},[H(M(Ad),{class:`size-3.5`})])):W(``,!0)]),H(M(Jy),null,{default:N(()=>[H(M(eb),{"as-child":``},{default:N(()=>[H(M(Q),{variant:`outline`,size:`sm`,class:`h-8 gap-1.5`},{default:N(()=>[H(M($u),{class:`size-4 opacity-60`}),i[29]||=U(` Filter `,-1),w.value?(R(),z(`span`,ZD,A(w.value),1)):W(``,!0)]),_:1})]),_:1}),H(M(qS),{align:`start`,class:`w-64`},{default:N(()=>[H(uC,{states:c.value.states,"onUpdate:states":i[3]||=e=>c.value.states=e,issues:c.value.issues,"onUpdate:issues":i[4]||=e=>c.value.issues=e,enabled:d.value,"onUpdate:enabled":i[5]||=e=>d.value=e,plurality:c.value.plurality,"onUpdate:plurality":i[6]||=e=>c.value.plurality=e,"empty-source":c.value.emptySource,"onUpdate:emptySource":i[7]||=e=>c.value.emptySource=e,"ai-context-unreviewed":c.value.aiContextUnreviewed,"onUpdate:aiContextUnreviewed":i[8]||=e=>c.value.aiContextUnreviewed=e,"no-usages":c.value.noUsages,"onUpdate:noUsages":i[9]||=e=>c.value.noUsages=e,"skip-translate":c.value.skipTranslate,"onUpdate:skipTranslate":i[10]||=e=>c.value.skipTranslate=e,"scan-indexed":m.value},null,8,[`states`,`issues`,`enabled`,`plurality`,`empty-source`,`ai-context-unreviewed`,`no-usages`,`skip-translate`,`scan-indexed`])]),_:1})]),_:1}),H(M(Q),{variant:c.value.needsAttention?`default`:`outline`,size:`sm`,class:`h-8 gap-1.5`,role:`switch`,"aria-checked":c.value.needsAttention,onClick:i[11]||=e=>c.value.needsAttention=!c.value.needsAttention},{default:N(()=>[H(M(Ed),{class:k([`size-4`,c.value.needsAttention?``:`opacity-60`])},null,8,[`class`]),i[30]||=U(` Needs attention `,-1),T.value?(R(),z(`span`,{key:0,class:`ml-0.5 rounded-full bg-destructive-soft px-1.5 text-[11px] font-bold text-destructive tabular-nums`,"aria-label":`${T.value} issue${T.value===1?``:`s`}`},A(T.value.toLocaleString()),9,QD)):W(``,!0)]),_:1},8,[`variant`,`aria-checked`]),H(M(yb),{modelValue:b.value,"onUpdate:modelValue":i[12]||=e=>b.value=e},{default:N(()=>[H(M(VS),{class:`h-8 w-[160px]`},{default:N(()=>[H(M(Bb),{placeholder:`Sort`})]),_:1}),H(M(HS),null,{default:N(()=>[H(M(WS),{value:`key-asc`},{default:N(()=>[...i[31]||=[U(`Key A→Z`,-1)]]),_:1}),H(M(WS),{value:`key-desc`},{default:N(()=>[...i[32]||=[U(`Key Z→A`,-1)]]),_:1}),H(M(WS),{value:`created`},{default:N(()=>[...i[33]||=[U(`Recently created`,-1)]]),_:1}),H(M(WS),{value:`updated`},{default:N(()=>[...i[34]||=[U(`Recently updated`,-1)]]),_:1})]),_:1})]),_:1},8,[`modelValue`]),H(M(Jb),{modelValue:x.value,"onUpdate:modelValue":i[13]||=e=>x.value=e},{default:N(()=>[H(M(GS),{class:`h-8`},{default:N(()=>[H(M(KS),{value:`bilingual`,class:`text-xs`},{default:N(()=>[...i[35]||=[U(`Bilingual`,-1)]]),_:1}),H(M(KS),{value:`multilingual`,class:`text-xs`},{default:N(()=>[...i[36]||=[U(`Multilingual`,-1)]]),_:1})]),_:1})]),_:1},8,[`modelValue`]),x.value===`bilingual`?(R(),B(BD,{key:0,modelValue:S.value,"onUpdate:modelValue":i[14]||=e=>S.value=e,locales:me.value,class:`h-8 w-[170px]`},null,8,[`modelValue`,`locales`])):W(``,!0),V(`div`,$D,[V(`span`,eO,A(ve.value.length.toLocaleString())+` keys`,1),H(M(Q),{size:`sm`,variant:`outline`,onClick:i[15]||=e=>D.value=!0},{default:N(()=>[H(M(Uu),{class:`size-4`}),i[37]||=U(` Export `,-1)]),_:1}),H(M(Q),{size:`sm`,variant:`outline`,disabled:oe.value,onClick:Re},{default:N(()=>[oe.value?(R(),B(M(ed),{key:0,class:`size-4 animate-spin`})):(R(),B(M(fd),{key:1,class:`size-4`})),oe.value?(R(),z(`span`,tO,`Scanning…`)):se.value?(R(),z(`span`,nO,A(se.value),1)):(R(),z(`span`,rO,`Scan`))]),_:1},8,[`disabled`]),H(M(Q),{size:`sm`,onClick:i[16]||=e=>re.value=!0},{default:N(()=>[H(M(sd),{class:`size-4`}),i[38]||=U(` Add key `,-1)]),_:1})])]),c.value.states.length||c.value.issues.length||c.value.plurality.length||c.value.emptySource||c.value.aiContextUnreviewed||c.value.noUsages||c.value.skipTranslate?(R(),z(`div`,iO,[(R(!0),z(L,null,F(c.value.states,e=>(R(),B(M(JS),{key:`s-${e}`,variant:`secondary`,class:`gap-1`},{default:N(()=>[U(A(M(pp)[e])+` `,1),V(`button`,{type:`button`,class:`hover:text-foreground`,"aria-label":`Remove ${M(pp)[e]} filter`,onClick:t=>ee(e)},[H(M(Ad),{class:`size-3`})],8,aO)]),_:2},1024))),128)),(R(!0),z(L,null,F(c.value.plurality,e=>(R(),B(M(JS),{key:`p-${e}`,variant:`secondary`,class:`gap-1`},{default:N(()=>[U(A(M(mp)[e])+` `,1),V(`button`,{type:`button`,class:`hover:text-foreground`,"aria-label":`Remove ${M(mp)[e]} filter`,onClick:t=>te(e)},[H(M(Ad),{class:`size-3`})],8,oO)]),_:2},1024))),128)),c.value.emptySource?(R(),B(M(JS),{key:0,variant:`secondary`,class:`gap-1`},{default:N(()=>[i[39]||=U(` Empty source `,-1),V(`button`,{type:`button`,class:`hover:text-foreground`,"aria-label":`Remove Empty source filter`,onClick:i[17]||=e=>c.value.emptySource=!1},[H(M(Ad),{class:`size-3`})])]),_:1})):W(``,!0),(R(!0),z(L,null,F(c.value.issues,e=>(R(),B(M(JS),{key:`i-${e}`,variant:`outline`,class:`gap-1`},{default:N(()=>[U(A(M(fp)[e])+` `,1),V(`button`,{type:`button`,class:`hover:text-foreground`,"aria-label":`Remove ${M(fp)[e]} filter`,onClick:t=>E(e)},[H(M(Ad),{class:`size-3`})],8,sO)]),_:2},1024))),128)),c.value.aiContextUnreviewed?(R(),B(M(JS),{key:1,variant:`secondary`,class:`gap-1`},{default:N(()=>[H(M(yd),{class:`size-3`}),i[40]||=U(` AI context (unreviewed) `,-1),V(`button`,{type:`button`,class:`hover:text-foreground`,"aria-label":`Remove AI context filter`,onClick:i[18]||=e=>c.value.aiContextUnreviewed=!1},[H(M(Ad),{class:`size-3`})])]),_:1})):W(``,!0),c.value.noUsages?(R(),B(M(JS),{key:2,variant:`secondary`,class:`gap-1`},{default:N(()=>[i[41]||=U(` Unused `,-1),V(`button`,{type:`button`,class:`hover:text-foreground`,"aria-label":`Remove Unused filter`,onClick:i[19]||=e=>c.value.noUsages=!1},[H(M(Ad),{class:`size-3`})])]),_:1})):W(``,!0),c.value.skipTranslate?(R(),B(M(JS),{key:3,variant:`secondary`,class:`gap-1`},{default:N(()=>[i[42]||=U(` Skip-translate `,-1),V(`button`,{type:`button`,class:`hover:text-foreground`,"aria-label":`Remove Skip-translate filter`,onClick:i[20]||=e=>c.value.skipTranslate=!1},[H(M(Ad),{class:`size-3`})])]),_:1})):W(``,!0)])):W(``,!0),V(`div`,cO,[H(PD,{onChanged:ue})]),ve.value.length?(R(),z(`div`,lO,[V(`button`,{id:`select-all-checkbox`,type:`button`,role:`checkbox`,"aria-checked":Ce.value?`true`:we.value?`mixed`:`false`,"data-testid":`select-all`,class:k([`flex size-4 items-center justify-center rounded border transition-colors`,Ce.value||we.value?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground hover:border-primary hover:bg-primary/10`]),"aria-label":Ce.value?`Deselect all`:`Select all`,onClick:Ee},[Ce.value?(R(),B(M(Ou),{key:0,class:`size-3`})):we.value?(R(),B(M(nd),{key:1,class:`size-3`})):W(``,!0)],10,uO),Se.value?(R(),z(L,{key:0},[V(`span`,dO,A(Se.value.toLocaleString())+` selected`,1),V(`span`,fO,`· `+A(be.value),1)],64)):(R(),z(`label`,pO,`Select all`)),Se.value?(R(),B(MC,{key:2,class:`ml-auto`,keys:xe.value,locales:ye.value,"scope-label":be.value,"tags-on-selection":Te.value,onChanged:ue,onClear:i[21]||=e=>M(l).clear(),onTranslate:i[22]||=e=>ie.value=!0,onBuildContext:i[23]||=e=>ae.value=!0},null,8,[`keys`,`locales`,`scope-label`,`tags-on-selection`])):W(``,!0)])):W(``,!0),V(`div`,{class:`flex min-h-0 flex-1 overflow-hidden`,style:he({"--key-col-width":`${M(t)}px`})},[V(`div`,mO,[V(`div`,{ref_key:`parent`,ref:O,class:`h-full overflow-auto`},[le.value?(R(),z(`div`,hO,[H(M(ed),{class:`size-4 animate-spin`}),i[43]||=U(` Loading… `,-1)])):!ce.value&&ve.value.length===0?(R(),z(`div`,gO,` No keys match the current filter. `)):(R(),z(`div`,{key:2,style:he({height:`${je.value}px`,position:`relative`,width:`100%`})},[(R(!0),z(L,null,F(Ae.value,e=>(R(),z(`div`,{key:e.key,ref_for:!0,ref:e=>M(ke).measureElement(e),"data-index":e.index,style:he({position:`absolute`,top:`${e.start}px`,left:`0`,width:`100%`})},[r.value&&ve.value[e.index]?(R(),B(oT,{key:0,"key-name":ve.value[e.index],entry:r.value.keys[ve.value[e.index]],"source-locale":fe.value,locales:ge.value,selected:ne.value===ve.value[e.index],issues:f.value.get(ve.value[e.index])??[],checked:M(l).has(ve.value[e.index]),onSelect:t=>Me(ve.value[e.index]),onChanged:ue,onRenamed:t=>Ie(ve.value[e.index],t),onFilterTag:i[24]||=e=>c.value.text=e,onToggleSelect:t=>De(ve.value[e.index],t.shift)},null,8,[`key-name`,`entry`,`source-locale`,`locales`,`selected`,`issues`,`checked`,`onSelect`,`onRenamed`,`onToggleSelect`])):W(``,!0)],12,_O))),128))],4))],512),ve.value.length?(R(),z(`div`,{key:0,class:`absolute inset-y-0`,style:he({left:`${M(t)}px`})},[H(UD,{side:`right`,class:`h-full`,width:M(t),min:M(GD).min,max:M(GD).max,"onUpdate:width":M(GD).set,onCommit:M(GD).commit,onReset:M(GD).reset},null,8,[`width`,`min`,`max`,`onUpdate:width`,`onCommit`,`onReset`])],4)):W(``,!0)]),H(UD,{side:`left`,class:`max-[1080px]:hidden`,width:M(n),min:M(KD).min,max:M(KD).max,"onUpdate:width":M(KD).set,onCommit:M(KD).commit,onReset:M(KD).reset},null,8,[`width`,`min`,`max`,`onUpdate:width`,`onCommit`,`onReset`]),H(PE,{"key-name":ne.value,entry:Oe.value,issues:ne.value?f.value.get(ne.value)??[]:[],locales:pe.value,"source-locale":fe.value,"usage-revision":h.value,style:he({width:`${M(n)}px`}),onChanged:ue},null,8,[`key-name`,`entry`,`issues`,`locales`,`source-locale`,`usage-revision`,`style`])],4),H(HE,{open:re.value,"onUpdate:open":i[25]||=e=>re.value=e,onCreated:Le},null,8,[`open`]),H(tD,{open:D.value,"onUpdate:open":i[26]||=e=>D.value=e,"export-locales":r.value?.config.exportLocales??[]},null,8,[`open`,`export-locales`]),H(bD,{open:ie.value,"onUpdate:open":i[27]||=e=>ie.value=e,state:r.value,"filtered-keys":xe.value,"target-locale":x.value===`bilingual`?S.value:void 0,onChanged:ue},null,8,[`open`,`state`,`filtered-keys`,`target-locale`]),H(AD,{open:ae.value,"onUpdate:open":i[28]||=e=>ae.value=e,state:r.value,keys:xe.value,onChanged:ue},null,8,[`open`,`state`,`keys`])])]),_:1}))}}),bO={"empty-source":`Empty source`,"empty-translation":`Untranslated`,"placeholder-mismatch":`Placeholder mismatch`,"icu-mismatch":`ICU mismatch`,"glossary-violation":`Glossary`,"max-length":`Too long`,"identical-to-source":`Identical to source`,whitespace:`Whitespace`,spelling:`Spelling`,"output-stale":`Outputs out of date`},xO={"empty-translation":`untranslated`,"placeholder-mismatch":`placeholder`,"glossary-violation":`glossary`,"max-length":`length`,spelling:`spelling`};function SO(e){if(e.ruleId===`empty-translation`)return{text:e.key,states:[`missing`]};if(e.ruleId===`output-stale`)return{};let t=xO[e.ruleId],n=e.locale?{locale:e.locale}:{};return t?{...n,issues:[t]}:{...n,text:e.key}}function CO(e,t){let n=e.values[t];return n?e.plural?(n.forms?.other??``).trim()!==``:(n.value??``).trim()!==``:!1}function wO(e,t){if(!CO(e,t))return`missing`;let n=e.values[t].state;return n===`reviewed`?`reviewed`:n===`needs-review`?`needsReview`:`machine`}function TO(e,t){let n=e.values[t];return n?e.plural?n.forms?.other??``:n.value??``:``}function EO(e){let t=e.trim();return t===``?0:t.split(/\s+/).length}function DO(e,t){return`${e} ${t}${e===1?``:`s`}`}function OO(e,t){let{sourceLocale:n,locales:r}=e.config,i=r.filter(e=>e!==n),a=Object.keys(e.keys).filter(t=>!e.keys[t].skipTranslate),o=t.findings.filter(e=>e.locale===``),s=o.filter(e=>e.severity===`error`).length,c=new Map;for(let e of t.findings){if(e.locale===``)continue;let t=c.get(e.locale);t?t.push(e):c.set(e.locale,[e])}let l=i.map(t=>{let n={reviewed:0,needsReview:0,machine:0,missing:0},r=[];for(let i of a){let a=wO(e.keys[i],t);n[a]++,a===`needsReview`&&r.push(i)}let i=c.get(t)??[],o=[...new Set(i.filter(e=>e.ruleId===`empty-translation`).map(e=>e.key))],s=i.filter(e=>e.severity===`error`&&e.ruleId!==`empty-translation`),l=i.filter(e=>e.severity===`warn`),u=a.length,d=n.reviewed+n.needsReview+n.machine,f;f=o.length>0||s.length>0?`blocked`:r.length>0?`almost`:`ready`;let p=[];o.length&&p.push(`${o.length} missing`),s.length&&p.push(`${s.length} breaking`),r.length&&p.push(`${r.length} stale`);let m=[];return l.length&&m.push(DO(l.length,`warning`)),{locale:t,total:u,translated:d,pct:u?Math.round(d/u*100):0,counts:n,missingKeys:o,staleKeys:r,errors:s,warnings:l,breaking:s.length,warning:l.length,verdict:f,blockers:p,notes:m}}),u=a.length*i.length,d=0,f=0;for(let e of l)d+=e.translated,f+=e.counts.reviewed;let p=a.reduce((t,r)=>t+EO(TO(e.keys[r],n)),0),m={breaking:[],warning:[]};for(let e of t.findings)e.ruleId!==`empty-translation`&&m[e.severity===`error`?`breaking`:`warning`].push(e);return{totals:{keys:Object.keys(e.keys).length,locales:i.length,translatedPct:u?Math.round(d/u*1e3)/10:0,reviewedPct:u?Math.round(f/u*1e3)/10:0,sourceWords:p,openIssues:m.breaking.length+m.warning.length,ready:l.filter(e=>e.verdict===`ready`).length,almost:l.filter(e=>e.verdict===`almost`).length,blocked:l.filter(e=>e.verdict===`blocked`).length,breaking:m.breaking.length,missing:l.reduce((e,t)=>e+t.missingKeys.length,0),stale:l.reduce((e,t)=>e+t.staleKeys.length,0)},project:o,projectErrors:s,locales:l,risk:m,worklist:kO(l,m)}}function kO(e,t){let n=[];for(let e of t.breaking)n.push({id:`b:${e.locale}:${e.key}:${e.ruleId}`,priority:`breaking`,title:`Fix ${bO[e.ruleId].toLowerCase()}`,where:e.locale?`${e.locale.toUpperCase()} · ${e.key}`:e.key,detail:e.message,filter:e.ruleId===`output-stale`?void 0:SO(e),count:1});let r=new Map;for(let t of e)for(let e of t.missingKeys){let n=r.get(e);n?n.push(t.locale):r.set(e,[t.locale])}for(let[e,t]of r)n.push({id:`m:${e}`,priority:`missing`,title:`Translate ${DO(t.length,`missing string`)}`,where:e,detail:`Missing in ${t.map(e=>e.toUpperCase()).join(`, `)}`,filter:{text:e,states:[`missing`]},count:t.length});let i=[];for(let t of e)for(let e of t.staleKeys)i.push({locale:t.locale,key:e});i.length&&n.push({id:`s:all`,priority:`stale`,title:`Refresh ${DO(i.length,`stale translation`)}`,where:`source changed since translated`,detail:i.map(e=>`${e.locale.toUpperCase()} · ${e.key}`).join(` · `),filter:{states:[`needs-review`]},count:i.length});let a=new Map;for(let e of t.warning){let t=a.get(e.ruleId);t?t.push(e):a.set(e.ruleId,[e])}for(let[e,t]of a)n.push({id:`w:${e}`,priority:`warning`,title:`Review ${DO(t.length,`${bO[e].toLowerCase()} warning`)}`,where:[...new Set(t.map(e=>e.locale.toUpperCase()||e.key))].join(`, `),detail:t.map(e=>`${e.locale?e.locale.toUpperCase():`—`} · ${e.key}`).join(` · `),filter:SO(t[0]),count:t.length});return n}var AO={class:`min-h-0 flex-1 overflow-y-auto p-6`},jO={key:0,class:`mt-8 text-center text-sm text-muted-foreground`},MO={key:1,class:`mt-8 text-center text-sm text-muted-foreground`},NO={key:2,class:`mx-auto flex max-w-[1080px] flex-col gap-4`},PO={class:`flex flex-wrap divide-x rounded-xl border bg-card px-2 py-3 shadow-sm`},FO={class:`flex flex-col px-5`},IO={class:`text-lg font-semibold tabular-nums`},LO={class:`flex flex-col px-5`},RO={class:`text-lg font-semibold tabular-nums`},zO={class:`flex flex-col px-5`},BO={class:`text-lg font-semibold tabular-nums`},VO={class:`flex flex-col px-5`},HO={class:`text-lg font-semibold tabular-nums`},UO=[`disabled`],WO={class:`flex flex-col px-5`},GO={class:`text-lg font-semibold tabular-nums`},KO={class:`flex flex-wrap items-start justify-between gap-6`},qO={class:`min-w-0`},JO={class:`mt-1.5 flex items-center gap-2.5 text-2xl font-semibold tracking-tight`},YO={class:`mt-1.5 text-sm text-muted-foreground`},XO={class:`text-emerald-600 dark:text-emerald-400`},ZO={class:`text-amber-600 dark:text-amber-400`},QO={class:`text-red-600 dark:text-red-400`},$O={key:0,class:`mt-2 flex flex-col gap-1`},ek={class:`font-semibold`},tk={class:`font-mono text-muted-foreground`},nk={class:`text-muted-foreground`},rk={class:`flex gap-2`},ik={class:`text-[11px] uppercase tracking-wide text-muted-foreground`},ak={class:`mt-4 flex flex-wrap items-center gap-x-4 gap-y-2 border-t pt-3.5`},ok={class:`flex items-center gap-1 text-xs text-muted-foreground`},sk={class:`flex items-center gap-1 text-xs text-muted-foreground`},ck={class:`flex items-center gap-1 text-xs text-muted-foreground`},lk={class:`flex items-center gap-1 text-xs text-muted-foreground`},uk={class:`rounded-2xl border bg-card p-5 shadow-sm`},dk={key:0,class:`flex items-center gap-3 rounded-xl bg-muted p-4`},fk={key:1,class:`grid grid-cols-[repeat(auto-fill,minmax(218px,1fr))] gap-3`},pk=[`data-test`,`onClick`],mk={class:`flex items-start justify-between gap-2`},hk={class:`flex min-w-0 flex-col`},gk={class:`truncate font-mono text-xs font-semibold uppercase`},_k=[`title`],vk={class:`text-2xl font-semibold tabular-nums leading-none`},yk={class:`flex h-[7px] w-full overflow-hidden rounded-full bg-muted`},bk={class:`flex min-h-[20px] items-center gap-1.5 text-xs text-muted-foreground`},xk={class:`truncate`},Sk={class:`rounded-2xl border bg-card p-5 shadow-sm`},Ck={class:`mb-4`},wk={class:`mt-0.5 text-sm text-muted-foreground`},Tk={key:0,class:`flex items-center gap-3 rounded-xl bg-muted p-4`},Ek={key:1,class:`flex flex-col gap-2`},Dk=[`disabled`,`onClick`],Ok={class:`flex min-w-0 flex-col gap-0.5`},kk={class:`flex items-center gap-2 text-sm font-semibold`},Ak={class:`truncate font-mono text-xs text-muted-foreground`},jk={key:0,class:`grid grid-cols-1 gap-4 lg:grid-cols-2`},Mk={class:`rounded-2xl border bg-card p-5 shadow-sm`},Nk={key:0,class:`flex items-center gap-3 rounded-xl bg-muted p-4`},Pk={key:1,class:`flex flex-col gap-2.5`},Fk=[`disabled`,`onClick`],Ik={class:`flex flex-1 flex-col`},Lk={class:`text-sm font-semibold`},Rk={class:`text-xs text-muted-foreground`},zk={key:0,class:`border-t`},Bk={class:`flex items-center justify-between gap-2 border-b bg-muted/40 px-3.5 py-1.5`},Vk={class:`text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`},Hk=[`disabled`,`title`,`onClick`],Uk=[`onClick`,`onKeydown`],Wk=[`title`],Gk={class:`truncate font-medium`},Kk={class:`font-mono text-muted-foreground`},qk={class:`truncate text-muted-foreground`},Jk={class:`flex items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100`},Yk=[`disabled`,`title`,`onClick`],Xk=[`disabled`,`onClick`],Zk={key:2,class:`mt-3 overflow-hidden rounded-xl border`},Qk={key:0,class:`border-t`},$k={class:`font-mono font-semibold uppercase`},eA={class:`truncate`},tA={class:`font-mono`},nA={class:`truncate`},rA=[`disabled`,`onClick`],iA={class:`rounded-2xl border bg-card p-5 shadow-sm`},aA=[`onClick`],oA={class:`flex min-w-0 items-center gap-2`},sA={class:`flex min-w-0 flex-col`},cA={class:`whitespace-nowrap font-mono uppercase leading-tight`},lA=[`title`],uA={class:`text-center font-mono tabular-nums`},dA={key:1,class:`rounded-2xl border bg-card p-5 shadow-sm`},fA={class:`flex items-center gap-3 rounded-xl bg-muted p-4`},pA=P({__name:`AnalyticsView`,setup(e){let t=j(null),n=j({findings:[],counts:{error:0,warn:0,suppressed:0},ok:!0}),r=j(!0),i=K(()=>({...n.value,findings:n.value.findings.filter(e=>!e.suppressed)})),a=K(()=>n.value.findings.filter(e=>e.suppressed)),o=K(()=>t.value?OO(t.value,i.value):null),s=K(()=>!!o.value&&(o.value.totals.keys===0||o.value.totals.locales===0)),c=K(()=>!!o.value&&o.value.totals.translatedPct===0);async function l(){let[e,r]=await Promise.all([Md(),Af({includeSuppressed:!0}).catch(()=>null)]);t.value=e,r&&(n.value=r)}Ki(async()=>{try{await l()}catch(e){$.error(e.message)}finally{r.value=!1}});let u=j(!1),d=j(!1);function f(e){return e.ruleId===`spelling`?/"([^"]+)"/.exec(e.message)?.[1]:void 0}async function p(e,t){if(!d.value){d.value=!0;try{await t(),await l(),$.success(e)}catch(e){$.error(e.message)}finally{d.value=!1}}}let m=e=>p(`Dismissed until the source of ${e.key} changes`,()=>jf(e.key,e.ruleId,e.locale)),h=e=>p(`Restored ${bO[e.ruleId].toLowerCase()} on ${e.key}`,()=>Mf(e.key,e.ruleId,e.locale)),g=(e,t)=>p(`Dismissed ${t} warning${t===1?``:`s`}`,()=>Nf({rules:[e]})),_=e=>{let t=f(e);t&&p(`Added "${t}" to the dictionary`,()=>mf(t))};function v(e){let t=new Map;for(let n of o.value.risk[e]){let e=t.get(n.ruleId);e?e.push(n):t.set(n.ruleId,[n])}return[...t.entries()].map(([e,t])=>({ruleId:e,findings:t}))}let y={ready:{label:`Ready`,icon:Mu,text:`text-emerald-600 dark:text-emerald-400`,border:`border-l-emerald-500`,bar:`bg-emerald-500`,soft:`bg-emerald-500/10`},almost:{label:`Almost`,icon:Fu,text:`text-amber-600 dark:text-amber-400`,border:`border-l-amber-500`,bar:`bg-amber-500`,soft:`bg-amber-500/10`},blocked:{label:`Blocked`,icon:ad,text:`text-red-600 dark:text-red-400`,border:`border-l-red-500`,bar:`bg-red-500`,soft:`bg-red-500/10`},none:{label:`Not started`,icon:_d,text:`text-muted-foreground`,border:`border-l-border`,bar:`bg-muted-foreground/40`,soft:`bg-muted`}},b={breaking:{label:`Breaking`,icon:ad,text:`text-red-600 dark:text-red-400`,border:`border-l-red-500`,soft:`bg-red-500/10`},missing:{label:`Missing`,icon:Pu,text:`text-muted-foreground`,border:`border-l-muted-foreground/40`,soft:`bg-muted`},stale:{label:`Stale`,icon:Fu,text:`text-amber-600 dark:text-amber-400`,border:`border-l-amber-500`,soft:`bg-amber-500/10`},warning:{label:`Warning`,icon:Ed,text:`text-amber-600 dark:text-amber-400`,border:`border-l-amber-500`,soft:`bg-amber-500/10`}},x=[{key:`breaking`,label:`Breaking`,blurb:"Lint errors — `glotfile check` fails on these. Ship-blocking.",text:`text-red-600 dark:text-red-400`,bar:`bg-red-500`},{key:`warning`,label:`Warning`,blurb:`Lint warnings — worth a look, won't block a release.`,text:`text-amber-600 dark:text-amber-400`,bar:`bg-amber-500`}],S=K(()=>{let e=o.value;return c.value?`none`:e.projectErrors>0?`blocked`:e.totals.ready===e.totals.locales&&e.totals.locales>0?`ready`:`blocked`}),C=K(()=>S.value===`none`?`Nothing to ship yet`:S.value===`ready`?`Ready to ship`:`Not ready to ship`);function w(e){return e.verdict===`ready`?e.notes.length?e.notes.join(` · `):`Clean — clears the gate`:e.blockers.join(` · `)}function T(e){return e.missingKeys.length?{locale:e.locale,states:[`missing`]}:e.errors.length?{locale:e.locale,...SO(e.errors[0])}:e.staleKeys.length?{locale:e.locale,states:[`needs-review`]}:{locale:e.locale}}function ee(e){return KC(e).name}function E(e,t){return(t?e/t*100:0)+`%`}function te(e){let t=[...new Set(o.value.risk[e].flatMap(e=>SO(e).issues??[]))];return t.length?{issues:t}:{needsAttention:!0}}return(e,t)=>(R(),z(`div`,AO,[r.value?(R(),z(`div`,jO,`Loading analytics…`)):s.value?(R(),z(`div`,MO,` No keys yet — add keys in the Editor to see analytics. `)):o.value?(R(),z(`div`,NO,[V(`section`,PO,[V(`div`,FO,[V(`span`,IO,A(o.value.totals.keys),1),t[2]||=V(`span`,{class:`text-xs text-muted-foreground`},`keys`,-1)]),V(`div`,LO,[V(`span`,RO,A(o.value.totals.locales),1),t[3]||=V(`span`,{class:`text-xs text-muted-foreground`},`locales`,-1)]),V(`div`,zO,[V(`span`,BO,A(o.value.totals.translatedPct)+`%`,1),t[4]||=V(`span`,{class:`text-xs text-muted-foreground`},`translated`,-1)]),V(`div`,VO,[V(`span`,HO,A(o.value.totals.reviewedPct)+`%`,1),t[5]||=V(`span`,{class:`text-xs text-muted-foreground`},`reviewed`,-1)]),V(`button`,{type:`button`,class:`group flex flex-col px-5 text-left`,"data-test":`open-issues`,disabled:!o.value.totals.openIssues,onClick:t[0]||=e=>M(jp)({needsAttention:!0})},[V(`span`,{class:k([`text-lg font-semibold tabular-nums`,o.value.totals.breaking?`text-red-600 dark:text-red-400`:``])},A(o.value.totals.openIssues),3),t[6]||=V(`span`,{class:`text-xs text-muted-foreground group-hover:text-foreground`},`open issues`,-1)],8,UO),V(`div`,WO,[V(`span`,GO,A(o.value.totals.sourceWords),1),t[7]||=V(`span`,{class:`text-xs text-muted-foreground`},`source words`,-1)])]),V(`section`,{class:k([`rounded-2xl border border-l-4 bg-card p-6 shadow-sm`,y[S.value].border])},[V(`div`,KO,[V(`div`,qO,[t[12]||=V(`div`,{class:`font-mono text-[11px] uppercase tracking-wider text-muted-foreground`},`Can I ship?`,-1),V(`h1`,JO,[(R(),B(aa(y[S.value].icon),{class:k([`size-6`,y[S.value].text])},null,8,[`class`])),U(` `+A(C.value),1)]),V(`p`,YO,[c.value?(R(),z(L,{key:0},[U(`Add translations to get started — run a sync to let the AI fill them in.`)],64)):(R(),z(L,{key:1},[V(`strong`,XO,A(o.value.totals.ready),1),U(` of `+A(o.value.totals.locales)+` locales ready`,1),o.value.totals.almost?(R(),z(L,{key:0},[t[8]||=U(` · `,-1),V(`strong`,ZO,A(o.value.totals.almost),1),t[9]||=U(` need a refresh`,-1)],64)):W(``,!0),o.value.totals.blocked?(R(),z(L,{key:1},[t[10]||=U(` · `,-1),V(`strong`,QO,A(o.value.totals.blocked),1),t[11]||=U(` blocked`,-1)],64)):W(``,!0)],64))]),o.value.project.length?(R(),z(`ul`,$O,[(R(!0),z(L,null,F(o.value.project,e=>(R(),z(`li`,{key:`${e.ruleId}:${e.key}`,class:k([`flex items-center gap-1.5 text-xs`,e.severity===`error`?`text-red-600 dark:text-red-400`:`text-amber-600 dark:text-amber-400`])},[e.severity===`error`?(R(),B(M(ad),{key:0,class:`size-3 shrink-0`})):(R(),B(M(Ed),{key:1,class:`size-3 shrink-0`})),V(`span`,ek,A(M(bO)[e.ruleId]),1),V(`span`,tk,A(e.key),1),V(`span`,nk,A(e.message),1)],2))),128))])):W(``,!0)]),V(`div`,rk,[(R(!0),z(L,null,F([{n:o.value.totals.ready,label:`ready`,cls:`text-emerald-600 dark:text-emerald-400`},{n:o.value.totals.almost,label:`almost`,cls:`text-amber-600 dark:text-amber-400`},{n:o.value.totals.blocked,label:`blocked`,cls:`text-red-600 dark:text-red-400`}],e=>(R(),z(`div`,{key:e.label,class:`flex min-w-[66px] flex-col items-center rounded-xl border px-4 py-2`},[V(`span`,{class:k([`text-2xl font-semibold tabular-nums`,e.n?e.cls:`text-muted-foreground/50`])},A(e.n),3),V(`span`,ik,A(e.label),1)]))),128))])]),V(`div`,ak,[t[17]||=V(`span`,{class:`font-mono text-[10px] uppercase tracking-wider text-muted-foreground`},`Release gate`,-1),V(`span`,ok,[H(M(Ou),{class:`size-3 text-emerald-500`}),t[13]||=U(` 100% translated`,-1)]),V(`span`,sk,[H(M(Ou),{class:`size-3 text-emerald-500`}),t[14]||=U(` 0 lint errors`,-1)]),V(`span`,ck,[H(M(Ou),{class:`size-3 text-emerald-500`}),t[15]||=U(` outputs exported`,-1)]),V(`span`,lk,[H(M(Ou),{class:`size-3 text-emerald-500`}),t[16]||=U(` nothing stale`,-1)]),t[18]||=V(`span`,{class:`ml-auto text-[11px] italic text-muted-foreground`},[U(`same rules as `),V(`code`,{class:`font-mono not-italic`},`glotfile check`),U(` · skip via `),V(`code`,{class:`font-mono not-italic`},`config.lint.rules`)],-1)])],2),V(`section`,uk,[t[21]||=V(`header`,{class:`mb-4`},[V(`h2`,{class:`text-base font-semibold`},`Release readiness`),V(`p`,{class:`mt-0.5 text-sm text-muted-foreground`},`Per-locale status against the release gate. Click any locale to drill in.`)],-1),c.value?(R(),z(`div`,dk,[H(M(Gu),{class:`size-5 text-muted-foreground`}),t[19]||=V(`div`,{class:`flex flex-col`},[V(`b`,{class:`text-sm`},`No locale is ready yet.`),V(`span`,{class:`text-sm text-muted-foreground`},`Translate your strings, then locales appear here as they clear the gate.`)],-1)])):(R(),z(`div`,fk,[(R(!0),z(L,null,F(o.value.locales,e=>(R(),z(`button`,{key:e.locale,type:`button`,"data-test":`rcard-${e.locale}`,class:k([`flex flex-col gap-2 rounded-xl border border-l-[3px] p-3.5 text-left transition hover:-translate-y-0.5 hover:bg-muted/50`,y[e.verdict].border]),onClick:t=>M(jp)(T(e))},[V(`div`,mk,[V(`span`,hk,[V(`span`,gk,A(e.locale),1),V(`span`,{class:`truncate text-[11px] text-muted-foreground`,title:ee(e.locale)},A(ee(e.locale)),9,_k)]),V(`span`,{class:k([`flex items-center gap-1 text-[11px] font-semibold`,y[e.verdict].text])},[(R(),B(aa(y[e.verdict].icon),{class:`size-3`})),U(A(y[e.verdict].label),1)],2)]),V(`div`,vk,[U(A(e.pct),1),t[20]||=V(`span`,{class:`ml-0.5 text-xs text-muted-foreground`},`%`,-1)]),V(`div`,yk,[V(`span`,{class:`h-full bg-emerald-500`,style:he({width:E(e.counts.reviewed,e.total)})},null,4),V(`span`,{class:`h-full bg-amber-500`,style:he({width:E(e.counts.needsReview,e.total)})},null,4),V(`span`,{class:`h-full bg-sky-500`,style:he({width:E(e.counts.machine,e.total)})},null,4)]),V(`div`,bk,[e.verdict===`ready`?W(``,!0):(R(),B(aa(y[e.verdict].icon),{key:0,class:k([`size-3 shrink-0`,y[e.verdict].text])},null,8,[`class`])),V(`span`,xk,A(w(e)),1)])],10,pk))),128))]))]),V(`section`,Sk,[V(`header`,Ck,[t[22]||=V(`h2`,{class:`text-base font-semibold`},`Needs attention`,-1),V(`p`,wk,A(c.value?`Your prioritized worklist will fill in as the AI translates.`:`Prioritized — fix the top item first. Each opens the matching strings.`),1)]),o.value.worklist.length?(R(),z(`ol`,Ek,[(R(!0),z(L,null,F(o.value.worklist,(e,t)=>(R(),z(`li`,{key:e.id},[V(`button`,{type:`button`,class:k([`grid w-full grid-cols-[30px_1fr_auto_16px] items-center gap-3 rounded-xl border border-l-[3px] px-3.5 py-3 text-left transition enabled:hover:bg-muted/50`,[b[e.priority].border,t===0?b[e.priority].soft:``]]),disabled:!e.filter,onClick:t=>e.filter&&M(jp)(e.filter)},[V(`span`,{class:k([`flex size-[30px] items-center justify-center rounded-lg`,[b[e.priority].soft,b[e.priority].text]])},[(R(),B(aa(b[e.priority].icon),{class:`size-4`}))],2),V(`span`,Ok,[V(`span`,kk,[U(A(e.title)+` `,1),t===0?(R(),z(`span`,{key:0,class:k([`rounded-full px-2 py-0.5 font-mono text-[9.5px] font-semibold uppercase tracking-wide text-white`,b[e.priority].text.includes(`red`)?`bg-red-500`:b[e.priority].text.includes(`amber`)?`bg-amber-500`:`bg-muted-foreground`])},`Start here`,2)):W(``,!0)]),V(`span`,Ak,A(e.where),1)]),V(`span`,{class:k([`rounded-full px-2.5 py-1 text-[11px] font-semibold`,[b[e.priority].soft,b[e.priority].text]])},A(b[e.priority].label),3),H(M(Au),{class:`size-4 text-muted-foreground`})],10,Dk)]))),128))])):(R(),z(`div`,Tk,[H(M(Mu),{class:`size-5 text-emerald-500`}),t[23]||=V(`div`,{class:`flex flex-col`},[V(`b`,{class:`text-sm`},`Nothing needs attention.`),V(`span`,{class:`text-sm text-muted-foreground`},`Every translated string clears its checks and is up to date.`)],-1)]))]),c.value?(R(),z(`section`,dA,[t[32]||=V(`h2`,{class:`mb-4 text-base font-semibold`},`Quality`,-1),V(`div`,fA,[H(M(Nu),{class:`size-5 text-muted-foreground`}),t[31]||=V(`div`,{class:`flex flex-col`},[V(`b`,{class:`text-sm`},`No checks run yet.`),V(`span`,{class:`text-sm text-muted-foreground`},`Quality checks appear once strings are translated.`)],-1)])])):(R(),z(`div`,jk,[V(`section`,Mk,[t[29]||=V(`header`,{class:`mb-4`},[V(`h2`,{class:`text-base font-semibold`},`Quality`),V(`p`,{class:`mt-0.5 text-sm text-muted-foreground`},`Grouped by risk — a broken placeholder is not a typo.`)],-1),o.value.totals.openIssues?(R(),z(`div`,Pk,[(R(),z(L,null,F(x,e=>V(`div`,{key:e.key,class:`overflow-hidden rounded-xl border`},[V(`button`,{type:`button`,class:`flex w-full items-center gap-3 px-3.5 py-3 text-left enabled:hover:bg-muted/50`,disabled:!o.value.risk[e.key].length,onClick:t=>M(jp)(te(e.key))},[V(`span`,{class:k([`w-1 self-stretch rounded-full`,e.bar])},null,2),V(`span`,{class:k([`min-w-[22px] text-xl font-semibold tabular-nums`,e.text])},A(o.value.risk[e.key].length),3),V(`span`,Ik,[V(`span`,Lk,A(e.label),1),V(`span`,Rk,A(e.blurb),1)]),o.value.risk[e.key].length?(R(),B(M(Au),{key:0,class:`size-4 text-muted-foreground`})):W(``,!0)],8,Fk),o.value.risk[e.key].length?(R(),z(`div`,zk,[(R(!0),z(L,null,F(v(e.key),n=>(R(),z(L,{key:n.ruleId},[V(`div`,Bk,[V(`span`,Vk,A(M(bO)[n.ruleId])+` · `+A(n.findings.length),1),e.key===`warning`?(R(),z(`button`,{key:0,type:`button`,class:`flex items-center gap-1 rounded px-1.5 py-0.5 text-[11px] text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,disabled:d.value,title:`Hide all ${n.findings.length} until each key's source changes`,onClick:e=>g(n.ruleId,n.findings.length)},[H(M(Cu),{class:`size-3`}),t[25]||=U(` Dismiss all `,-1)],8,Hk)):W(``,!0)]),(R(!0),z(L,null,F(n.findings,(e,n)=>(R(),z(`div`,{key:n,role:`button`,tabindex:`0`,class:`group grid w-full cursor-pointer grid-cols-[42px_minmax(90px,1fr)_1.4fr_auto] items-center gap-2.5 border-b px-3.5 py-2.5 text-left text-xs last:border-b-0 hover:bg-muted/50`,onClick:t=>M(jp)(M(SO)(e)),onKeydown:Zl(t=>M(jp)(M(SO)(e)),[`enter`])},[V(`span`,{class:`font-mono font-semibold uppercase text-muted-foreground`,title:e.locale?ee(e.locale):`project-wide`},A(e.locale||`—`),9,Wk),V(`span`,Gk,[V(`span`,Kk,A(e.key),1)]),V(`span`,qk,A(e.message),1),V(`span`,Jk,[f(e)?(R(),z(`button`,{key:0,type:`button`,class:`flex items-center gap-1 rounded border bg-background px-1.5 py-0.5 text-[11px] text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,disabled:d.value,title:`Never flag "${f(e)}" again`,onClick:Yl(t=>_(e),[`stop`])},[H(M(Tu),{class:`size-3`}),t[26]||=U(` Add word `,-1)],8,Yk)):W(``,!0),e.severity===`warn`?(R(),z(`button`,{key:1,type:`button`,class:`flex items-center gap-1 rounded border bg-background px-1.5 py-0.5 text-[11px] text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,disabled:d.value,title:`Hide until this key's source changes`,onClick:Yl(t=>m(e),[`stop`])},[H(M(Cu),{class:`size-3`}),t[27]||=U(` Dismiss `,-1)],8,Xk)):W(``,!0)])],40,Uk))),128))],64))),128))])):W(``,!0)])),64))])):(R(),z(`div`,Nk,[H(M(Mu),{class:`size-5 text-emerald-500`}),t[24]||=V(`div`,{class:`flex flex-col`},[V(`b`,{class:`text-sm`},`No issues found.`),V(`span`,{class:`text-sm text-muted-foreground`},`All translated strings pass their checks.`)],-1)])),a.value.length?(R(),z(`div`,Zk,[V(`button`,{type:`button`,class:`flex w-full items-center gap-2 px-3.5 py-2.5 text-left text-xs text-muted-foreground hover:bg-muted/50`,onClick:t[1]||=e=>u.value=!u.value},[(R(),B(aa(u.value?M(ku):M(Au)),{class:`size-3.5`})),H(M(Cu),{class:`size-3.5`}),U(` Suppressed (`+A(a.value.length)+`) — hidden until each key's source changes `,1)]),u.value?(R(),z(`div`,Qk,[(R(!0),z(L,null,F(a.value,(e,n)=>(R(),z(`div`,{key:n,class:`grid w-full grid-cols-[42px_minmax(90px,1fr)_1.4fr_auto] items-center gap-2.5 border-b px-3.5 py-2.5 text-left text-xs text-muted-foreground last:border-b-0`},[V(`span`,$k,A(e.locale||`—`),1),V(`span`,eA,[U(A(M(bO)[e.ruleId])+` · `,1),V(`span`,tA,A(e.key),1)]),V(`span`,nA,A(e.message),1),V(`button`,{type:`button`,class:`flex items-center gap-1 rounded border bg-background px-1.5 py-0.5 text-[11px] transition-colors hover:bg-accent hover:text-foreground`,disabled:d.value,onClick:t=>h(e)},[H(M(ld),{class:`size-3`}),t[28]||=U(` Restore `,-1)],8,rA)]))),128))])):W(``,!0)])):W(``,!0)]),V(`section`,iA,[t[30]||=vs(`<header class="mb-4"><h2 class="text-base font-semibold">By locale</h2><p class="mt-0.5 text-sm text-muted-foreground">Full breakdown.</p></header><div class="grid grid-cols-[minmax(96px,1.4fr)_52px_64px_50px_72px_72px_16px] gap-2 border-b pb-2 font-mono text-[11px] uppercase tracking-wide text-muted-foreground"><span>Locale</span><span class="text-center">Done</span><span class="text-center">Missing</span><span class="text-center">Stale</span><span class="text-center">Breaking</span><span class="text-center">Warnings</span><span></span></div>`,2),(R(!0),z(L,null,F(o.value.locales,e=>(R(),z(`button`,{key:e.locale,type:`button`,class:`grid w-full grid-cols-[minmax(96px,1.4fr)_52px_64px_50px_72px_72px_16px] items-center gap-2 border-b py-2.5 text-left text-sm last:border-b-0 hover:bg-muted/50`,onClick:t=>M(jp)(T(e))},[V(`span`,oA,[V(`span`,{class:k([`size-2 shrink-0 rounded-full`,y[e.verdict].bar])},null,2),V(`span`,sA,[V(`span`,cA,A(e.locale),1),V(`span`,{class:`truncate text-xs leading-tight text-muted-foreground`,title:ee(e.locale)},A(ee(e.locale)),9,lA)])]),V(`span`,uA,A(e.pct)+`%`,1),V(`span`,{class:k([`text-center font-mono tabular-nums`,e.missingKeys.length?``:`text-muted-foreground`])},A(e.missingKeys.length||`—`),3),V(`span`,{class:k([`text-center font-mono tabular-nums`,e.staleKeys.length?`text-amber-600 dark:text-amber-400`:`text-muted-foreground`])},A(e.staleKeys.length||`—`),3),V(`span`,{class:k([`text-center font-mono tabular-nums`,e.breaking?`text-red-600 dark:text-red-400`:`text-muted-foreground`])},A(e.breaking||`—`),3),V(`span`,{class:k([`text-center font-mono tabular-nums`,e.warning?`text-amber-600 dark:text-amber-400`:`text-muted-foreground`])},A(e.warning||`—`),3),H(M(Au),{class:`size-3.5 text-muted-foreground`})],8,aA))),128))])]))])):W(``,!0)]))}});function mA(e,t){let n=t.trim().toLowerCase();return n===``?e:e.filter(e=>e.term.toLowerCase().includes(n)||(e.notes??``).toLowerCase().includes(n)?!0:Object.entries(e.translations??{}).some(([e,t])=>e.toLowerCase().includes(n)||t.toLowerCase().includes(n)))}var hA={class:`grid gap-4`},gA={class:`grid gap-1.5`},_A={key:0,class:`text-xs text-muted-foreground`},vA={class:`flex items-center justify-between`},yA={class:`flex items-center justify-between`},bA={class:`grid gap-1.5`},xA={key:0,class:`grid gap-2 border-t pt-3`},SA={key:1,class:`text-sm text-destructive`},CA=P({__name:`GlossaryEntryDialog`,props:ka({entry:{},targetLocales:{}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:ka([`saved`],[`update:open`]),setup(e,{emit:t}){let n=e,r=Za(e,`open`),i=t,a=Xt({term:``,doNotTranslate:!1,caseSensitive:!1,notes:``,translations:{}}),o=j(!1),s=j(``),c=j(!1);Dr(r,e=>{if(!e)return;let t=n.entry;c.value=t!==null,a.term=t?.term??``,a.doNotTranslate=t?.doNotTranslate??!1,a.caseSensitive=t?.caseSensitive??!1,a.notes=t?.notes??``,a.translations={};for(let e of n.targetLocales)a.translations[e]=t?.translations?.[e]??``;s.value=``},{immediate:!0});async function l(){let e=a.term.trim();if(!e){s.value=`Term is required.`;return}let t={};for(let[e,n]of Object.entries(a.translations)){let r=n.trim();r&&(t[e]=r)}let n={term:e};a.doNotTranslate&&(n.doNotTranslate=!0),a.caseSensitive&&(n.caseSensitive=!0),a.notes.trim()&&(n.notes=a.notes.trim()),Object.keys(t).length>0&&(n.translations=t),o.value=!0,s.value=``;try{await gf(n),$.success(c.value?`Updated ${e}`:`Added ${e}`),r.value=!1,i(`saved`)}catch(e){s.value=e.message}finally{o.value=!1}}return(t,n)=>(R(),B(M(Oh),{open:r.value,"onUpdate:open":n[5]||=e=>r.value=e},{default:N(()=>[H(M(bC),{class:`max-h-[85vh] max-w-lg overflow-y-auto`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),null,{default:N(()=>[U(A(c.value?`Edit term`:`Add term`),1)]),_:1}),H(M(wC),null,{default:N(()=>[...n[6]||=[U(` Guide AI translations with do-not-translate terms and forced translations. `,-1)]]),_:1})]),_:1}),V(`div`,hA,[V(`div`,gA,[H(M(yC),{for:`glossary-term`},{default:N(()=>[...n[7]||=[U(`Term`,-1)]]),_:1}),H(M(BS),{id:`glossary-term`,modelValue:a.term,"onUpdate:modelValue":n[0]||=e=>a.term=e,class:`font-mono`,placeholder:`Sign in`,disabled:c.value,onKeydown:Zl(Yl(l,[`prevent`]),[`enter`])},null,8,[`modelValue`,`disabled`,`onKeydown`]),c.value?(R(),z(`p`,_A,` The term is the entry's identity and can't be changed. `)):W(``,!0)]),V(`div`,vA,[V(`div`,null,[H(M(yC),{for:`glossary-dnt`},{default:N(()=>[...n[8]||=[U(`Do not translate`,-1)]]),_:1}),n[9]||=V(`p`,{class:`text-xs text-muted-foreground`},`Keep this term verbatim in every language.`,-1)]),H(M(XS),{id:`glossary-dnt`,modelValue:a.doNotTranslate,"onUpdate:modelValue":n[1]||=e=>a.doNotTranslate=e},null,8,[`modelValue`])]),V(`div`,yA,[V(`div`,null,[H(M(yC),{for:`glossary-cs`},{default:N(()=>[...n[10]||=[U(`Case sensitive`,-1)]]),_:1}),n[11]||=V(`p`,{class:`text-xs text-muted-foreground`},`Only match the exact casing.`,-1)]),H(M(XS),{id:`glossary-cs`,modelValue:a.caseSensitive,"onUpdate:modelValue":n[2]||=e=>a.caseSensitive=e},null,8,[`modelValue`])]),V(`div`,bA,[H(M(yC),{for:`glossary-notes`},{default:N(()=>[...n[12]||=[U(`Notes`,-1)]]),_:1}),H(M($C),{id:`glossary-notes`,modelValue:a.notes,"onUpdate:modelValue":n[3]||=e=>a.notes=e,rows:`5`,class:`min-h-24 resize-y`,placeholder:`Optional guidance for translators.`},null,8,[`modelValue`])]),e.targetLocales.length>0?(R(),z(`div`,xA,[n[13]||=V(`p`,{class:`text-sm font-medium`},`Forced translations`,-1),(R(!0),z(L,null,F(e.targetLocales,e=>(R(),z(`div`,{key:e,class:`grid gap-1.5`},[H(M(yC),{for:`glossary-tr-${e}`,class:`text-xs text-muted-foreground`},{default:N(()=>[H(Ew,{code:e,"show-name":``,"show-code":!1,size:12},null,8,[`code`])]),_:2},1032,[`for`]),H(M(BS),{id:`glossary-tr-${e}`,modelValue:a.translations[e],"onUpdate:modelValue":t=>a.translations[e]=t,placeholder:`Forced translation for ${e}`},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`placeholder`])]))),128))])):W(``,!0),s.value?(R(),z(`p`,SA,A(s.value),1)):W(``,!0)]),H(M(SC),null,{default:N(()=>[H(M(Q),{variant:`outline`,disabled:o.value,onClick:n[4]||=e=>r.value=!1},{default:N(()=>[...n[14]||=[U(`Cancel`,-1)]]),_:1},8,[`disabled`]),H(M(Q),{disabled:o.value,onClick:l},{default:N(()=>[U(A(c.value?`Save`:`Add term`),1)]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`]))}}),wA={class:`min-h-0 flex-1 overflow-y-auto`},TA={key:0,class:`flex h-full items-center justify-center p-8 text-sm text-muted-foreground`},EA={key:1,class:`mx-auto flex max-w-3xl flex-col gap-4 p-6`},DA={class:`flex items-center justify-between`},OA={class:`relative`},kA={key:0,class:`rounded-lg border border-dashed p-10 text-center text-sm text-muted-foreground`},AA={key:1,class:`rounded-lg border border-dashed p-10 text-center text-sm text-muted-foreground`},jA={key:2,class:`flex flex-col gap-2`},MA={class:`min-w-0 flex-1`},NA={class:`flex flex-wrap items-center gap-2`},PA={class:`font-mono text-sm font-medium`},FA={key:0,class:`mt-1 text-sm text-muted-foreground`},IA={key:1,class:`mt-2 flex flex-wrap gap-1.5`},LA={class:`flex shrink-0 items-center gap-1`},RA={class:`font-mono`},zA=P({__name:`GlossaryView`,setup(e){let t=j([]),n=j(``),r=j([]),i=j(!1),a=j(!1),o=j(null),s=j(null),c=j(!1),l=j(``),u=K(()=>mA(t.value,l.value)),d=K(()=>r.value.filter(e=>e!==n.value));async function f(){let[e,a]=await Promise.all([hf(),Md()]);t.value=e,n.value=a.config.sourceLocale,r.value=a.config.locales,i.value=!0}f();function p(){o.value=null,a.value=!0}function m(e){o.value=e,a.value=!0}function h(e){return Object.entries(e.translations??{}).map(([e,t])=>`${e}: ${t}`)}async function g(){let e=s.value;if(e){c.value=!0;try{await _f(e.term),$.success(`Deleted ${e.term}`),s.value=null,await f()}catch(e){$.error(`Delete failed: ${e.message}`)}finally{c.value=!1}}}return(e,n)=>(R(),z(`div`,wA,[i.value?(R(),z(`div`,EA,[V(`div`,DA,[n[7]||=V(`div`,null,[V(`h2`,{class:`text-base font-semibold`},`Glossary`),V(`p`,{class:`text-sm text-muted-foreground`},`Do-not-translate terms and forced translations.`)],-1),H(M(Q),{onClick:p},{default:N(()=>[H(M(sd),{class:`size-4`}),n[6]||=U(` Add term `,-1)]),_:1})]),V(`div`,OA,[H(M(md),{class:`pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-muted-foreground`}),H(M(BS),{modelValue:l.value,"onUpdate:modelValue":n[0]||=e=>l.value=e,placeholder:`Search terms, notes, translations…`,class:`h-8 w-full pl-8 pr-8`,onKeydown:n[1]||=Zl(e=>l.value=``,[`esc`])},null,8,[`modelValue`]),l.value?(R(),z(`button`,{key:0,class:`absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,"aria-label":`Clear search`,onClick:n[2]||=e=>l.value=``},[H(M(Ad),{class:`size-4`})])):W(``,!0)]),t.value.length===0?(R(),z(`div`,kA,` No glossary terms yet — add do-not-translate terms and forced translations to guide AI. `)):u.value.length===0?(R(),z(`div`,AA,` No terms match your search. `)):(R(),z(`ul`,jA,[(R(!0),z(L,null,F(u.value,e=>(R(),z(`li`,{key:e.term,class:`flex items-start gap-3 rounded-lg border bg-card p-3 text-card-foreground shadow-sm`},[V(`div`,MA,[V(`div`,NA,[V(`span`,PA,A(e.term),1),e.doNotTranslate?(R(),B(M(JS),{key:0,variant:`secondary`},{default:N(()=>[...n[8]||=[U(`Do-not-translate`,-1)]]),_:1})):W(``,!0),e.caseSensitive?(R(),B(M(JS),{key:1,variant:`outline`},{default:N(()=>[...n[9]||=[U(`Case-sensitive`,-1)]]),_:1})):W(``,!0)]),e.notes?(R(),z(`p`,FA,A(e.notes),1)):W(``,!0),h(e).length?(R(),z(`div`,IA,[(R(!0),z(L,null,F(h(e),e=>(R(),z(`span`,{key:e,class:`inline-flex items-center rounded-md border bg-background px-2 py-0.5 font-mono text-xs`},A(e),1))),128))])):W(``,!0)]),V(`div`,LA,[H(M(Q),{variant:`ghost`,size:`icon`,"aria-label":`Edit ${e.term}`,onClick:t=>m(e)},{default:N(()=>[H(M(od),{class:`size-4`})]),_:1},8,[`aria-label`,`onClick`]),H(M(Q),{variant:`ghost`,size:`icon`,class:`text-muted-foreground hover:text-destructive`,"aria-label":`Delete ${e.term}`,onClick:t=>s.value=e},{default:N(()=>[H(M(Td),{class:`size-4`})]),_:1},8,[`aria-label`,`onClick`])])]))),128))]))])):(R(),z(`div`,TA,` Loading glossary… `)),H(CA,{open:a.value,"onUpdate:open":n[3]||=e=>a.value=e,entry:o.value,"target-locales":d.value,onSaved:f},null,8,[`open`,`entry`,`target-locales`]),H(M(Oh),{open:s.value!==null,"onUpdate:open":n[5]||=e=>{e||(s.value=null)}},{default:N(()=>[H(M(bC),{class:`max-w-md`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),null,{default:N(()=>[...n[10]||=[U(`Delete term`,-1)]]),_:1}),H(M(wC),null,{default:N(()=>[n[11]||=U(` Delete `,-1),V(`span`,RA,A(s.value?.term),1),n[12]||=U(` from the glossary? This cannot be undone. `,-1)]),_:1})]),_:1}),H(M(SC),null,{default:N(()=>[H(M(Q),{variant:`outline`,disabled:c.value,onClick:n[4]||=e=>s.value=null},{default:N(()=>[...n[13]||=[U(`Cancel`,-1)]]),_:1},8,[`disabled`]),H(M(Q),{variant:`destructive`,disabled:c.value,onClick:g},{default:N(()=>[...n[14]||=[U(`Delete`,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`])]))}}),BA=[{id:`empty-source`,label:`Empty source`,description:`The source text itself is empty.`,default:`error`},{id:`empty-translation`,label:`Untranslated`,description:`A target translation is missing or blank.`,default:`error`},{id:`placeholder-mismatch`,label:`Placeholder mismatch`,description:`Placeholders differ between source and translation.`,default:`error`},{id:`icu-mismatch`,label:`ICU mismatch`,description:`ICU plural/select structure differs from the source.`,default:`error`},{id:`glossary-violation`,label:`Glossary`,description:`A glossary term is missing or translated incorrectly.`,default:`error`},{id:`max-length`,label:`Too long`,description:`The translation exceeds the key's maximum length.`,default:`warn`},{id:`identical-to-source`,label:`Identical to source`,description:`The translation is exactly the source text.`,default:`warn`},{id:`whitespace`,label:`Whitespace`,description:`Leading/trailing whitespace differs from the source.`,default:`warn`},{id:`spelling`,label:`Spelling`,description:`A word isn't in the locale's dictionary, the glossary, or your custom dictionary.`,default:`warn`}],VA=Object.fromEntries(BA.map(e=>[e.id,e.default]));function HA(e,t){if(typeof e==`string`&&e.trim()===``)return t;let n=typeof e==`number`?e:Number(e);return Number.isFinite(n)?n:t}function UA(e){return{sourceLocale:e.sourceLocale,locales:[...e.locales],outputs:e.outputs.map(e=>({adapter:e.adapter,path:e.path,emptyAs:e.emptyAs,style:e.style===`flat`?`flat`:`nested`,indent:e.indent??null,finalNewline:e.finalNewline??null,includeLocale:e.includeLocale??!0,skipSourceLocale:e.skipSourceLocale??!1,localeAliases:e.localeAliases?structuredClone(e.localeAliases):{},localeCase:e.localeCase,localeMap:e.localeMap?structuredClone(e.localeMap):{}})),indent:e.format.indent,sortKeys:e.format.sortKeys,finalNewline:e.format.finalNewline,autoExport:e.autoExport??!0,exportLocales:[...e.exportLocales??[]],customWords:[...e.spelling?.customWords??[]],lintRules:{...VA,...e.lint?.rules},lintIgnore:[...e.lint?.ignore??[]],scanAccessors:[...e.scan?.accessors??[]],scanPatterns:[...e.scan?.patterns??[]],scanInclude:[...e.scan?.include??[]],scanExclude:[...e.scan?.exclude??[]],scanKeep:[...e.scan?.keep??[]]}}function WA(e,t){let n=e.outputs.map(e=>{let t={adapter:e.adapter.trim(),path:e.path.trim()};if(e.style===`flat`&&(t.style=`flat`),e.emptyAs&&(t.emptyAs=e.emptyAs),e.indent!=null&&(t.indent=e.indent),e.finalNewline!=null&&(t.finalNewline=e.finalNewline),e.includeLocale||(t.includeLocale=!1),e.skipSourceLocale&&(t.skipSourceLocale=!0),e.localeAliases&&Object.keys(e.localeAliases).length&&(t.localeAliases=Object.fromEntries(Object.entries(e.localeAliases).filter(([,e])=>e.length>0)),Object.keys(t.localeAliases).length===0&&delete t.localeAliases),e.localeCase&&(t.localeCase=e.localeCase),e.localeMap){let n=Object.fromEntries(Object.entries(e.localeMap).filter(([,e])=>e.trim()!==``));Object.keys(n).length&&(t.localeMap=n)}return t}).filter(e=>e.adapter||e.path),r={};e.scanAccessors.length&&(r.accessors=[...e.scanAccessors]),e.scanPatterns.length&&(r.patterns=[...e.scanPatterns]),e.scanInclude.length&&(r.include=[...e.scanInclude]),e.scanExclude.length&&(r.exclude=[...e.scanExclude]),e.scanKeep.length&&(r.keep=[...e.scanKeep]);let i={sourceLocale:e.sourceLocale,locales:[...e.locales],outputs:n,format:{indent:HA(e.indent,2),sortKeys:e.sortKeys,finalNewline:e.finalNewline},autoExport:e.autoExport,...e.exportLocales.length?{exportLocales:[...e.exportLocales]}:{},spelling:{customWords:[...e.customWords]},...Object.keys(r).length?{scan:r}:{}},a=Object.fromEntries(Object.entries(e.lintRules).filter(([e,t])=>VA[e]!==void 0&&t!==VA[e])),o={};return Object.keys(a).length&&(o.rules=a),e.lintIgnore.length&&(o.ignore=[...e.lintIgnore]),t?.lint?.spelling!==void 0&&(o.spelling=t.lint.spelling),Object.keys(o).length&&(i.lint=o),t?.storage!==void 0&&(i.storage=t.storage),i}var GA=j(0),KA={class:`flex items-center gap-2 p-2`},qA=[`aria-label`],JA={class:`!flex items-center gap-2`},YA={class:`truncate font-medium`},XA={class:`flex items-center gap-2`},ZA={key:0,class:`grid gap-5 border-t border-border p-4`},QA={key:0,class:`grid gap-1.5`},$A={class:`mt-1 inline-flex w-fit rounded-md border border-input p-0.5`},ej=[`onClick`],tj={key:1,class:`grid gap-1.5`},nj={class:`mt-1 inline-flex w-fit rounded-md border border-input p-0.5`},rj=[`onClick`],ij={key:2,class:`grid gap-1.5`},aj={class:`flex items-center gap-2`},oj={key:0,class:`text-xs text-muted-foreground`},sj={class:`flex items-center gap-2`},cj={key:3,class:`grid gap-1.5`},lj={class:`flex items-center gap-2`},uj={key:0,class:`text-xs text-muted-foreground`},dj={class:`flex items-center gap-2`},fj={class:`text-xs text-muted-foreground`},pj={key:4,class:`grid gap-1.5`},mj={class:`flex items-center gap-2`},hj={class:`text-xs text-muted-foreground`},gj={class:`grid gap-1.5`},_j={class:`flex w-full items-center justify-between gap-4`},vj={class:`font-mono text-xs text-muted-foreground`},yj={class:`grid gap-1.5`},bj={class:`mt-1 grid gap-2`},xj={key:0,class:`text-xs text-muted-foreground`},Sj={class:`w-24 shrink-0 font-mono text-xs font-semibold`},Cj={key:1},wj={class:`!flex items-center gap-1.5`},Tj={class:`border-t border-border pt-4`},Ej={class:`mt-2 grid gap-2`},Dj={key:0,class:`text-xs text-muted-foreground`},Oj={class:`flex h-8 shrink-0 items-center gap-1.5`},kj={class:`font-mono text-xs font-semibold`},Aj={class:`flex flex-1 flex-wrap items-center gap-1.5`},jj=[`onClick`],Mj={key:1},Nj={class:`!flex items-center gap-1.5`},Pj=P({__name:`OutputEditor`,props:{output:{},formatIndent:{},formatFinalNewline:{type:Boolean},locales:{},adapters:{}},emits:[`update:output`,`remove`],setup(e,{emit:t}){let n=e,r=t,i=j(!1),a=j({}),o={"laravel-php":[`emptyAs`,`indent`,`finalNewline`],"vue-i18n-json":[`emptyAs`,`style`,`indent`,`finalNewline`],"flutter-arb":[`emptyAs`,`indent`,`finalNewline`,`includeLocale`],"angular-xliff":[`emptyAs`],"rails-yaml":[`emptyAs`,`indent`,`finalNewline`],"apple-strings":[`emptyAs`]};function s(e){return o[e]??[`emptyAs`,`indent`,`finalNewline`]}function c(e){return s(n.output.adapter).includes(e)}let l=[{value:`source`,label:`Fill source`},{value:`empty`,label:`Leave empty`},{value:`omit`,label:`Omit`}],u=[{value:`lower-hyphen`,label:`lower-hyphen`,example:`en-us`},{value:`lower-underscore`,label:`lower-underscore`,example:`en_us`},{value:`bcp47-hyphen`,label:`bcp47-hyphen`,example:`en-US`},{value:`bcp47-underscore`,label:`bcp47-underscore`,example:`en_US`}];function d(e){return e===`flutter-arb`?`Default (Flutter: en_US)`:e===`angular-xliff`?`Default (Angular: en-US)`:e===`rails-yaml`?`Default (Rails: en-US)`:e===`apple-strings`?`Default (Apple: en-US)`:`Default (en-us)`}let f=K(()=>n.output.localeCase??`default`);function p(e){v({localeCase:e==="default"?void 0:e})}let m={"laravel-php":`Laravel PHP`,"vue-i18n-json":`Vue i18n JSON`,"flutter-arb":`Flutter ARB`,"angular-xliff":`Angular XLIFF`,"rails-yaml":`Rails YAML`,"apple-strings":`Apple .strings`};function h(e){return m[e]??e}let g={"laravel-php":Hu,"vue-i18n-json":Vu,"flutter-arb":vd,"angular-xliff":Hu,"rails-yaml":Hu,"apple-strings":vd};function _(e){return g[e]??Wu}function v(e){r(`update:output`,{...n.output,...e})}function y(e){return e===`flutter-arb`?`omit`:`source`}function b(e){v({adapter:e,emptyAs:y(e),style:e===`vue-i18n-json`?`nested`:n.output.style,includeLocale:!0})}let x=K(()=>n.output.emptyAs??y(n.output.adapter)),S=K(()=>n.output.finalNewline??n.formatFinalNewline),C=K(()=>n.output.indent!=null),w=K(()=>n.output.finalNewline!=null),T=K(()=>n.output.localeAliases??{}),ee=K(()=>Object.keys(T.value)),E=K(()=>n.locales.filter(e=>!ee.value.includes(e)));function te(e){v({localeAliases:e})}function ne(e){te({...T.value,[e]:[]})}function re(e){let t={...T.value};delete t[e],te(t)}function D(e){let t=(a.value[e]??``).trim();if(!t)return;let n=T.value[e]??[];n.includes(t)||(te({...T.value,[e]:[...n,t]}),a.value={...a.value,[e]:``})}function ie(e,t){te({...T.value,[e]:(T.value[e]??[]).filter(e=>e!==t)})}let ae=K(()=>n.output.localeMap??{}),oe=K(()=>Object.keys(ae.value)),se=K(()=>n.locales.filter(e=>!oe.value.includes(e)));function O(e){v({localeMap:e})}function ce(e){O({...ae.value,[e]:e})}function le(e){let t={...ae.value};delete t[e],O(t)}function ue(e,t){O({...ae.value,[e]:t})}return(t,n)=>(R(),z(`div`,{class:k([`rounded-lg border`,i.value?`border-input`:`border-border`])},[V(`div`,KA,[H(M(ax),null,{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:`grid size-7 shrink-0 place-items-center rounded-md text-muted-foreground hover:bg-muted hover:text-foreground`,"aria-label":i.value?`Collapse`:`Expand options`,onClick:n[0]||=e=>i.value=!i.value},[H(M(Au),{class:k([`size-4 transition-transform`,i.value?`rotate-90`:``])},null,8,[`class`])],8,qA)]),_:1}),H(M(PC),null,{default:N(()=>[U(A(i.value?`Collapse`:`Expand options`),1)]),_:1})]),_:1}),H(M(yb),{"model-value":e.output.adapter,"onUpdate:modelValue":b},{default:N(()=>[H(M(VS),{class:`w-44 shrink-0`},{default:N(()=>[V(`span`,JA,[(R(),B(aa(_(e.output.adapter)),{class:`size-3.5 shrink-0 text-primary`})),V(`span`,YA,A(h(e.output.adapter)),1)])]),_:1}),H(M(HS),null,{default:N(()=>[(R(!0),z(L,null,F(e.adapters,e=>(R(),B(M(WS),{key:e,value:e},{default:N(()=>[V(`span`,XA,[(R(),B(aa(_(e)),{class:`size-3.5 text-primary`})),U(` `+A(h(e)),1)])]),_:2},1032,[`value`]))),128)),e.output.adapter&&!e.adapters.includes(e.output.adapter)?(R(),B(M(WS),{key:0,value:e.output.adapter},{default:N(()=>[U(A(e.output.adapter),1)]),_:1},8,[`value`])):W(``,!0)]),_:1})]),_:1},8,[`model-value`]),H(M(BS),{"model-value":e.output.path,class:`flex-1 font-mono text-sm`,placeholder:`lib/l10n/app_{locale}.arb`,spellcheck:`false`,"aria-label":`Output path`,"onUpdate:modelValue":n[1]||=e=>v({path:String(e)})},null,8,[`model-value`]),H(M(Q),{variant:`ghost`,size:`icon`,class:`shrink-0 text-muted-foreground hover:text-destructive`,"aria-label":`Remove output`,onClick:n[2]||=e=>r(`remove`)},{default:N(()=>[H(M(Td),{class:`size-4`})]),_:1})]),i.value?(R(),z(`div`,ZA,[c(`emptyAs`)?(R(),z(`div`,QA,[H(M(yC),null,{default:N(()=>[...n[8]||=[U(`Empty keys`,-1)]]),_:1}),n[9]||=V(`p`,{class:`text-xs text-muted-foreground`},`What to write when a translation is missing.`,-1),V(`div`,$A,[(R(),z(L,null,F(l,e=>V(`button`,{key:e.value,type:`button`,class:k([`rounded-[5px] px-2.5 py-1 text-xs font-medium transition-colors`,x.value===e.value?`bg-primary text-primary-foreground`:`text-muted-foreground hover:text-foreground`]),onClick:t=>v({emptyAs:e.value})},A(e.label),11,ej)),64))])])):W(``,!0),c(`style`)?(R(),z(`div`,tj,[H(M(yC),null,{default:N(()=>[...n[10]||=[U(`Nesting`,-1)]]),_:1}),n[11]||=V(`p`,{class:`text-xs text-muted-foreground`},`Expand dotted keys into nested objects.`,-1),V(`div`,nj,[(R(),z(L,null,F([`nested`,`flat`],t=>V(`button`,{key:t,type:`button`,class:k([`rounded-[5px] px-2.5 py-1 text-xs font-medium capitalize transition-colors`,(e.output.style??`nested`)===t?`bg-primary text-primary-foreground`:`text-muted-foreground hover:text-foreground`]),onClick:e=>v({style:t})},A(t),11,rj)),64))])])):W(``,!0),c(`indent`)?(R(),z(`div`,ij,[V(`div`,aj,[H(M(yC),null,{default:N(()=>[...n[12]||=[U(`Indent`,-1)]]),_:1}),C.value?(R(),z(`button`,{key:1,type:`button`,class:`text-xs text-primary hover:underline`,onClick:n[3]||=e=>v({indent:null})},`Reset`)):(R(),z(`span`,oj,`Inherited · `+A(e.formatIndent),1))]),V(`div`,sj,[H(M(BS),{type:`number`,min:`0`,max:`8`,class:k([`w-20`,C.value?`border-primary`:``]),"model-value":e.output.indent??``,placeholder:String(e.formatIndent),"onUpdate:modelValue":n[4]||=e=>v({indent:e===``?null:Math.max(0,parseInt(String(e),10)||0)})},null,8,[`class`,`model-value`,`placeholder`]),n[13]||=V(`span`,{class:`text-xs text-muted-foreground`},`spaces`,-1)])])):W(``,!0),c(`finalNewline`)?(R(),z(`div`,cj,[V(`div`,lj,[H(M(yC),null,{default:N(()=>[...n[14]||=[U(`Final newline`,-1)]]),_:1}),w.value?(R(),z(`button`,{key:1,type:`button`,class:`text-xs text-primary hover:underline`,onClick:n[5]||=e=>v({finalNewline:null})},`Reset`)):(R(),z(`span`,uj,`Inherited · `+A(e.formatFinalNewline?`on`:`off`),1))]),V(`div`,dj,[H(M(XS),{"model-value":S.value,"onUpdate:modelValue":n[6]||=e=>v({finalNewline:e})},null,8,[`model-value`]),V(`span`,fj,A(S.value?`Enabled`:`Disabled`),1)])])):W(``,!0),c(`includeLocale`)?(R(),z(`div`,pj,[H(M(yC),{class:`flex items-center gap-1.5`},{default:N(()=>[...n[15]||=[U(`Include `,-1),V(`code`,{class:`font-mono text-xs`},`@@locale`,-1)]]),_:1}),n[16]||=V(`p`,{class:`text-xs text-muted-foreground`},`Write the locale marker into each file. Standard for Flutter.`,-1),V(`div`,mj,[H(M(XS),{"model-value":e.output.includeLocale??!0,"onUpdate:modelValue":n[7]||=e=>v({includeLocale:e})},null,8,[`model-value`]),V(`span`,hj,A(e.output.includeLocale??!0?`Enabled`:`Disabled`),1)])])):W(``,!0),V(`div`,gj,[H(M(yC),null,{default:N(()=>[...n[17]||=[U(`Locale code format`,-1)]]),_:1}),n[18]||=V(`p`,{class:`text-xs text-muted-foreground`},[U(`How the `),V(`code`,{class:`font-mono text-xs`},`{locale}`),U(` token is rendered in file names (and the in-file marker for ARB).`)],-1),H(M(yb),{"model-value":f.value,"onUpdate:modelValue":p},{default:N(()=>[H(M(VS),{class:`w-72`,"aria-label":`Locale code format`},{default:N(()=>[H(M(Bb))]),_:1}),H(M(HS),null,{default:N(()=>[H(M(WS),{value:`default`},{default:N(()=>[U(A(d(e.output.adapter)),1)]),_:1}),(R(),z(L,null,F(u,e=>H(M(WS),{key:e.value,value:e.value},{default:N(()=>[V(`span`,_j,[V(`span`,null,A(e.label),1),V(`span`,vj,A(e.example),1)])]),_:2},1032,[`value`])),64))]),_:1})]),_:1},8,[`model-value`])]),V(`div`,yj,[H(M(yC),null,{default:N(()=>[...n[19]||=[U(`Locale overrides`,-1)]]),_:1}),n[21]||=V(`p`,{class:`text-xs text-muted-foreground`},`Force a specific export code for one locale — wins over the format above.`,-1),V(`div`,bj,[oe.value.length===0?(R(),z(`p`,xj,`No overrides.`)):W(``,!0),(R(!0),z(L,null,F(oe.value,e=>(R(),z(`div`,{key:e,class:`flex items-center gap-2`},[V(`span`,Sj,A(e),1),H(M(xu),{class:`size-3 shrink-0 text-muted-foreground`}),H(M(BS),{class:`h-8 flex-1 font-mono text-xs`,"aria-label":`Export code for `+e,placeholder:`export code`,"model-value":ae.value[e]??``,"onUpdate:modelValue":t=>ue(e,String(t))},null,8,[`aria-label`,`model-value`,`onUpdate:modelValue`]),H(M(Q),{variant:`ghost`,size:`icon`,class:`size-8 shrink-0 text-muted-foreground hover:text-destructive`,"aria-label":`Remove override `+e,onClick:t=>le(e)},{default:N(()=>[H(M(Td),{class:`size-3.5`})]),_:1},8,[`aria-label`,`onClick`])]))),128)),se.value.length>0?(R(),z(`div`,Cj,[H(M(yb),{"model-value":``,"onUpdate:modelValue":ce},{default:N(()=>[H(M(VS),{class:`w-56 text-muted-foreground`,"aria-label":`Add locale override`},{default:N(()=>[V(`span`,wj,[H(M(sd),{class:`size-3.5`}),n[20]||=U(` Add override…`,-1)])]),_:1}),H(M(HS),null,{default:N(()=>[(R(!0),z(L,null,F(se.value,e=>(R(),B(M(WS),{key:e,value:e},{default:N(()=>[U(A(e),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1})])):W(``,!0)])]),V(`div`,Tj,[n[25]||=V(`div`,{class:`text-xs font-semibold uppercase tracking-wide text-muted-foreground`},`Advanced · Locale aliases`,-1),n[26]||=V(`p`,{class:`mt-1.5 text-xs text-muted-foreground`},[U(` Write one catalog locale to additional file codes — e.g. `),V(`span`,{class:`font-mono`},`zh-Hans`),U(` also as `),V(`span`,{class:`font-mono`},`zh, zh_CN`),U(`. `)],-1),V(`div`,Ej,[ee.value.length===0?(R(),z(`p`,Dj,`No aliases. The locale's own code is used as the file name.`)):W(``,!0),(R(!0),z(L,null,F(ee.value,e=>(R(),z(`div`,{key:e,class:`flex items-start gap-2`},[V(`div`,Oj,[V(`span`,kj,A(e),1),H(M(xu),{class:`size-3 text-muted-foreground`})]),V(`div`,Aj,[(R(!0),z(L,null,F(T.value[e]??[],t=>(R(),z(`span`,{key:t,class:`inline-flex items-center gap-1 rounded-md border border-border bg-muted px-1.5 py-0.5 font-mono text-xs`},[U(A(t)+` `,1),H(M(ax),null,{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:`text-muted-foreground hover:text-destructive`,"aria-label":`Remove`,onClick:n=>ie(e,t)},[H(M(Ad),{class:`size-3`})],8,jj)]),_:2},1024),H(M(PC),null,{default:N(()=>[...n[22]||=[U(`Remove`,-1)]]),_:1})]),_:2},1024)]))),128)),H(M(BS),{class:`h-8 w-28 font-mono text-xs`,placeholder:`add code…`,"model-value":a.value[e]??``,"onUpdate:modelValue":t=>a.value={...a.value,[e]:String(t)},onKeydown:Zl(Yl(t=>D(e),[`prevent`]),[`enter`])},null,8,[`model-value`,`onUpdate:modelValue`,`onKeydown`])]),H(M(ax),null,{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[H(M(Q),{variant:`ghost`,size:`icon`,class:`size-8 shrink-0 text-muted-foreground hover:text-destructive`,"aria-label":`Remove alias`,onClick:t=>re(e)},{default:N(()=>[H(M(Td),{class:`size-3.5`})]),_:1},8,[`onClick`])]),_:2},1024),H(M(PC),null,{default:N(()=>[...n[23]||=[U(`Remove alias`,-1)]]),_:1})]),_:2},1024)]))),128)),E.value.length>0?(R(),z(`div`,Mj,[H(M(yb),{"model-value":``,"onUpdate:modelValue":ne},{default:N(()=>[H(M(VS),{class:`w-56 text-muted-foreground`},{default:N(()=>[V(`span`,Nj,[H(M(sd),{class:`size-3.5`}),n[24]||=U(` Add locale alias…`,-1)])]),_:1}),H(M(HS),null,{default:N(()=>[(R(!0),z(L,null,F(E.value,e=>(R(),B(M(WS),{key:e,value:e},{default:N(()=>[U(A(e),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1})])):W(``,!0)])])])):W(``,!0)],2))}}),Fj={class:`grid gap-1.5`},Ij={class:`flex flex-wrap gap-2`},Lj=[`aria-label`,`onClick`],Rj={key:0,class:`text-sm text-muted-foreground`},zj={class:`flex max-w-sm gap-2`},Bj={key:0,class:`flex items-center gap-1.5 text-xs text-destructive`},Vj=P({__name:`ScanListField`,props:{label:{},items:{},placeholder:{},mono:{type:Boolean},addLabel:{},validate:{type:Function}},emits:[`update:items`],setup(e,{emit:t}){let n=e,r=t,i=j(``),a=j(``);function o(){let e=i.value.trim();if(!e)return;if(n.items.includes(e)){a.value=`"${e}" is already listed`;return}let t=n.validate?.(e)??null;if(t){a.value=t;return}a.value=``,r(`update:items`,[...n.items,e]),i.value=``}function s(e){r(`update:items`,n.items.filter(t=>t!==e))}return(t,n)=>(R(),z(`div`,Fj,[H(M(yC),null,{default:N(()=>[U(A(e.label),1)]),_:1}),I(t.$slots,`help`),V(`div`,Ij,[(R(!0),z(L,null,F(e.items,t=>(R(),z(`span`,{key:t,class:k([`inline-flex items-center gap-1.5 rounded-lg border bg-accent px-2.5 py-1.5 text-sm`,e.mono&&`font-mono`])},[U(A(t)+` `,1),V(`button`,{type:`button`,class:`flex size-[18px] items-center justify-center rounded text-muted-foreground transition-colors hover:bg-destructive/10 hover:text-destructive`,"aria-label":`Remove ${t}`,onClick:e=>s(t)},[H(M(Ad),{class:`size-3`})],8,Lj)],2))),128)),e.items.length===0?(R(),z(`p`,Rj,`None — auto-detect.`)):W(``,!0)]),V(`div`,zj,[H(M(BS),{modelValue:i.value,"onUpdate:modelValue":n[0]||=e=>i.value=e,class:k(e.mono?`font-mono`:void 0),placeholder:e.placeholder,onKeydown:Zl(Yl(o,[`prevent`]),[`enter`]),onInput:n[1]||=e=>a.value=``},null,8,[`modelValue`,`class`,`placeholder`,`onKeydown`]),H(M(Q),{variant:`outline`,onClick:o},{default:N(()=>[H(M(sd),{class:`size-4`}),U(` `+A(e.addLabel??`Add`),1)]),_:1})]),a.value?(R(),z(`p`,Bj,[H(M(Ed),{class:`size-3.5`}),U(` `+A(a.value),1)])):W(``,!0)]))}}),Hj={key:0,class:`flex flex-1 items-center justify-center text-sm text-muted-foreground`},Uj={key:1,class:`flex min-h-0 flex-1 overflow-hidden`},Wj={class:`flex w-60 shrink-0 flex-col gap-1 overflow-y-auto border-r bg-muted p-3`},Gj=[`onClick`],Kj={class:`min-w-0 flex-1`},qj={class:`block text-[13px] font-[570] leading-tight`},Jj={class:`mt-0.5 block truncate text-[11px] opacity-70`},Yj={key:0,class:`size-2 shrink-0 rounded-full bg-primary ring-2 ring-primary/25`},Xj={key:1,class:`shrink-0 rounded border border-emerald-500/30 bg-emerald-500/10 px-1.5 py-0.5 font-mono text-[9px] font-semibold uppercase tracking-wide text-emerald-600 dark:text-emerald-400`},Zj=[`onClick`],Qj={class:`min-w-0 flex-1`},$j={class:`block text-[13px] font-[570] leading-tight`},eM={class:`mt-0.5 block truncate text-[11px] opacity-70`},tM={class:`relative flex min-w-0 flex-1 flex-col`},nM={class:`flex-1 overflow-y-auto px-8 pb-28 pt-7`},rM={class:`max-w-[680px]`},iM={class:`mb-6`},aM={class:`flex items-center gap-2.5 text-[21px] font-bold tracking-tight`},oM={key:0,class:`size-2 rounded-full bg-primary ring-2 ring-primary/25`},sM={key:0,class:`mt-1.5 text-sm text-muted-foreground`},cM={key:1,class:`mt-1.5 text-sm text-muted-foreground`},lM={key:2,class:`mt-1.5 text-sm text-muted-foreground`},uM={key:3,class:`mt-1.5 text-sm text-muted-foreground`},dM={key:4,class:`mt-1.5 text-sm text-muted-foreground`},fM={key:5,class:`mt-1.5 text-sm text-muted-foreground`},pM={key:6,class:`mt-1.5 text-sm text-muted-foreground`},mM={key:7,class:`mt-2 flex items-center gap-1.5 text-sm text-muted-foreground`},hM={key:0,class:`flex flex-col gap-5`},gM={class:`grid max-w-sm gap-1.5`},_M={key:0},vM={class:`grid gap-1.5`},yM={class:`ml-1.5 font-normal text-muted-foreground`},bM={class:`flex flex-wrap gap-2`},xM={key:0,class:`font-mono text-[10px] italic text-muted-foreground`},SM=[`aria-label`,`onClick`],CM={class:`mt-1 flex items-center gap-1.5 text-xs text-destructive`},wM={class:`grid max-w-sm gap-1.5`},TM={class:`flex gap-2`},EM={key:0,class:`flex items-center gap-1.5 text-xs text-muted-foreground`},DM={key:1,class:`flex flex-col gap-6`},OM={class:`flex items-center justify-between gap-4 rounded-lg border p-3.5`},kM={class:`flex items-start gap-2.5`},AM={class:`grid size-8 shrink-0 place-items-center rounded-md border border-primary/25 bg-primary/10 text-primary`},jM={class:`rounded-lg border p-3.5`},MM={class:`flex items-center justify-between gap-4`},NM={class:`flex items-start gap-2.5`},PM={class:`grid size-8 shrink-0 place-items-center rounded-md border border-amber-500/30 bg-amber-500/10 text-amber-600 dark:text-amber-400`},FM={key:0,class:`mt-3 border-t pt-3`},IM={class:`flex flex-wrap gap-2`},LM=[`aria-checked`,`onClick`],RM={class:`mt-2 flex items-center gap-1.5 text-xs text-amber-600 dark:text-amber-400`},zM={class:`mt-2 divide-y rounded-lg border`},BM={class:`flex items-center justify-between gap-4 p-3.5`},VM={class:`flex items-center gap-2`},HM={class:`flex items-center justify-between gap-4 p-3.5`},UM={class:`flex items-center gap-2 text-sm font-medium`},WM={class:`inline-flex items-center gap-1 rounded border border-border bg-muted px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground`},GM={class:`inline-flex shrink-0 items-center gap-1 rounded-md border border-primary/25 bg-primary/10 px-2 py-1 text-xs font-medium text-primary`},KM={class:`flex items-center justify-between gap-4 p-3.5`},qM={class:`mt-2 flex flex-col gap-2.5`},JM={key:0,class:`text-sm text-muted-foreground`},YM={key:2,class:`flex flex-col gap-4`},XM={class:`flex items-center gap-2 rounded-lg border p-3`},ZM={key:1,class:`flex-1 text-sm text-muted-foreground`},QM={class:`grid max-w-sm gap-4`},$M={class:`grid gap-1.5`},eN={class:`flex items-center gap-2`},tN={key:0,class:`flex items-center gap-1 text-xs leading-none text-emerald-600 dark:text-emerald-400`},nN={class:`text-xs text-muted-foreground`},rN={class:`grid gap-1.5`},iN={key:0,class:`text-xs text-muted-foreground`},aN=[`onClick`],oN={key:0},sN={key:0,class:`grid gap-1.5`},cN={key:1,class:`grid gap-1.5`},lN={key:0,class:`text-xs text-muted-foreground`},uN={key:1,class:`text-xs text-muted-foreground`},dN={class:`grid gap-1.5`},fN={class:`grid gap-1.5`},pN={class:`grid gap-1.5`},mN={class:`grid gap-1.5`},hN={class:`grid gap-1.5`},gN={class:`grid gap-1.5`},_N={key:2,class:`flex items-center gap-3`},vN={class:`grid gap-0.5`},yN={key:3,class:`grid gap-1.5`},bN={key:3,class:`flex flex-col gap-6`},xN={key:4,class:`flex flex-col gap-6`},SN={class:`mt-2 divide-y rounded-lg border`},CN={class:`min-w-0`},wN={class:`flex items-center gap-2 text-sm font-medium`},TN={class:`rounded border bg-muted px-1 py-0.5 font-mono text-[10px] text-muted-foreground`},EN={class:`mt-0.5 text-xs text-muted-foreground`},DN={key:5,class:`flex flex-col gap-4`},ON={class:`flex flex-wrap gap-2`},kN=[`aria-label`,`onClick`],AN={key:0,class:`text-sm text-muted-foreground`},jN={class:`grid max-w-sm gap-1.5`},MN={class:`flex gap-2`},NN={key:6,class:`flex flex-col gap-4`},PN={class:`grid max-w-sm gap-1.5`},FN={class:`flex items-center gap-2`},IN={key:0,class:`flex items-center gap-1 text-xs leading-none text-emerald-600 dark:text-emerald-400`},LN={class:`flex items-center gap-1.5 text-sm text-muted-foreground`},RN={class:`inline-grid h-5 min-w-[20px] shrink-0 place-items-center rounded-full bg-primary px-1.5 text-[11px] font-bold tabular-nums text-primary-foreground`},zN={class:`font-semibold`},BN={class:`relative`},VN={key:0,class:`absolute bottom-full left-1/2 z-50 mb-2.5 w-64 -translate-x-1/2 rounded-xl border bg-card p-3.5 shadow-lg`},HN={class:`mt-1 text-xs leading-relaxed text-muted-foreground`},UN={class:`mt-3 flex justify-end gap-2`},WN={role:`dialog`,"aria-modal":`true`,"aria-labelledby":`leave-warning-title`,class:`w-full max-w-md rounded-2xl border bg-card p-5 shadow-xl`},GN={id:`leave-warning-title`,class:`flex items-center gap-2 text-[15px] font-semibold`},KN={class:`mt-1.5 text-[13px] leading-relaxed text-muted-foreground`},qN={class:`font-medium text-foreground`},JN={class:`block`},YN={class:`mt-4 flex items-center gap-2`},XN={key:0,class:`fixed left-1/2 top-4 z-[80] flex -translate-x-1/2 items-center gap-2 rounded-[11px] bg-foreground px-4 py-2.5 text-[12.5px] font-medium text-background shadow-lg`},ZN=P({__name:`SettingsView`,setup(e){let t=[`languages`,`outputs`,`ai`,`scan`,`quality`,`dictionary`,`editor`],n=[`flutter-arb`,`laravel-php`,`vue-i18n-json`,`angular-xliff`,`rails-yaml`,`apple-strings`],r=[{value:`anthropic`,label:`Anthropic`},{value:`bedrock`,label:`AWS Bedrock`},{value:`claude-code`,label:`Claude Code`},{value:`ollama`,label:`Ollama`},{value:`openai`,label:`OpenAI`},{value:`openrouter`,label:`OpenRouter`}],i={anthropic:[`claude-opus-4-8`,`claude-sonnet-4-6`,`claude-haiku-4-5-20251001`],openai:[`gpt-4o-mini`,`gpt-4o`,`gpt-4.1`],bedrock:[`amazon.nova-pro-v1:0`,`anthropic.claude-3-5-sonnet-20241022-v2:0`,`meta.llama3-1-70b-instruct-v1:0`],openrouter:[`anthropic/claude-3.5-haiku`,`openai/gpt-4o-mini`,`google/gemini-2.0-flash-001`],ollama:[`translategemma:4b`,`translategemma:12b`,`qwen3.5:9b`],"claude-code":[`claude-opus-4-8`,`claude-sonnet-4-6`,`claude-haiku-4-5-20251001`]},a={anthropic:`Set ANTHROPIC_API_KEY in your environment (or a .env file).`,openai:`Set OPENAI_API_KEY in your environment (or a .env file).`,bedrock:`Uses your AWS credentials (env vars, AWS_PROFILE, or an instance/SSO role).`,openrouter:`Set OPENROUTER_API_KEY in your environment (or a .env file).`,ollama:`Runs locally — no API key needed. Set OLLAMA_API_KEY only for a secured/remote server.`,"claude-code":`Uses your local Claude Code session — no separate API key needed. Requires the claude CLI to be installed.`},o=j(null),s=j(null),c=Xt({sourceLocale:``,locales:[],outputs:[],indent:2,sortKeys:!0,finalNewline:!0,autoExport:!0,exportLocales:[],customWords:[],lintRules:{},lintIgnore:[],scanAccessors:[],scanPatterns:[],scanInclude:[],scanExclude:[],scanKeep:[]}),l=j(!1),u=j(!1),d=j(p()),f=j(!1);function p(){let e=Op().get(`section`)??``;return t.includes(e)?e:`languages`}function m(e){d.value=e,location.hash=`settings?section=${e}`}function h(){d.value=p()}let g=j(null),_=j(!1),v=null;function y(e){c.sourceLocale=e.sourceLocale,c.locales=[...e.locales],c.outputs=e.outputs.map(e=>({...e})),c.indent=e.indent,c.sortKeys=e.sortKeys,c.finalNewline=e.finalNewline,c.autoExport=e.autoExport,c.exportLocales=[...e.exportLocales],c.customWords=[...e.customWords],c.lintRules={...e.lintRules},c.lintIgnore=[...e.lintIgnore],c.scanAccessors=[...e.scanAccessors],c.scanPatterns=[...e.scanPatterns],c.scanInclude=[...e.scanInclude],c.scanExclude=[...e.scanExclude],c.scanKeep=[...e.scanKeep]}function b(){o.value={sourceLocale:c.sourceLocale,locales:[...c.locales],outputs:c.outputs.map(e=>({...e})),indent:c.indent,sortKeys:c.sortKeys,finalNewline:c.finalNewline,autoExport:c.autoExport,exportLocales:[...c.exportLocales],customWords:[...c.customWords],lintRules:{...c.lintRules},lintIgnore:[...c.lintIgnore],scanAccessors:[...c.scanAccessors],scanPatterns:[...c.scanPatterns],scanInclude:[...c.scanInclude],scanExclude:[...c.scanExclude],scanKeep:[...c.scanKeep]}}async function x(){let e=await Md();s.value=e.config,y(UA(e.config)),b(),await re(),l.value=!0}x();let S=j({}),C=j(null),w=j(``),T=Xt({provider:`anthropic`,model:``,endpoint:``,region:``,batchSize:25,concurrency:``,contextBatchSize:``,contextConcurrency:``,vision:!1,promptStyle:``,inputPricePerMTok:``,outputPricePerMTok:``}),ee=j(!1),E=null,te=null,ne=``;async function re(){let[e,t]=await Promise.all([cf(),uf()]);S.value=t.profiles,C.value=t.activeProfile,w.value=t.activeProfile??``,D(C.value?t.profiles[C.value]??e.ai:e.ai),ne=JSON.stringify(ie())}function D(e){T.provider=e.provider,T.model=e.model,T.endpoint=e.endpoint??``,T.region=e.region??``,T.batchSize=e.batchSize,T.concurrency=e.concurrency??``,T.contextBatchSize=e.contextBatchSize??``,T.contextConcurrency=e.contextConcurrency??``,T.vision=e.vision??!1,T.promptStyle=e.promptStyle??``,T.inputPricePerMTok=e.inputPricePerMTok??``,T.outputPricePerMTok=e.outputPricePerMTok??``,ne=JSON.stringify(ie())}function ie(){let e=String(T.endpoint).trim(),t=String(T.region).trim(),n=Number(T.batchSize),r=Number(T.concurrency),i=Number(T.contextBatchSize),a=Number(T.contextConcurrency),o=Number(T.inputPricePerMTok),s=Number(T.outputPricePerMTok);return{provider:T.provider.trim(),model:T.model.trim(),endpoint:e===``?null:e,region:t===``?null:t,batchSize:Number.isFinite(n)&&n>0?n:25,concurrency:Number.isFinite(r)&&r>0?r:void 0,contextBatchSize:Number.isFinite(i)&&i>0?i:void 0,contextConcurrency:Number.isFinite(a)&&a>0?a:void 0,vision:T.vision||void 0,promptStyle:T.promptStyle||void 0,inputPricePerMTok:T.inputPricePerMTok!==``&&Number.isFinite(o)&&o>=0?o:void 0,outputPricePerMTok:T.outputPricePerMTok!==``&&Number.isFinite(s)&&s>=0?s:void 0}}Dr(T,()=>{JSON.stringify(ie())!==ne&&(te&&clearTimeout(te),te=setTimeout(async()=>{let e=ie();try{C.value?(await df(C.value,e),S.value={...S.value,[C.value]:e}):await lf({ai:e}),ne=JSON.stringify(e),ee.value=!0,E&&clearTimeout(E),E=setTimeout(()=>{ee.value=!1},1700)}catch(e){$.error(e.message)}},500))},{deep:!0});let ae=[`languages`,`outputs`,`scan`,`quality`,`dictionary`],oe=[`ai`,`editor`];function se(e){if(!o.value)return!0;let t=c,n=o.value;return e===`languages`?JSON.stringify(t.locales)===JSON.stringify(n.locales)&&t.sourceLocale===n.sourceLocale:e===`outputs`?JSON.stringify(t.outputs)===JSON.stringify(n.outputs)&&String(t.indent)===String(n.indent)&&t.finalNewline===n.finalNewline&&t.autoExport===n.autoExport&&JSON.stringify(t.exportLocales)===JSON.stringify(n.exportLocales):e===`scan`?JSON.stringify(t.scanAccessors)===JSON.stringify(n.scanAccessors)&&JSON.stringify(t.scanPatterns)===JSON.stringify(n.scanPatterns)&&JSON.stringify(t.scanInclude)===JSON.stringify(n.scanInclude)&&JSON.stringify(t.scanExclude)===JSON.stringify(n.scanExclude)&&JSON.stringify(t.scanKeep)===JSON.stringify(n.scanKeep):e===`quality`?JSON.stringify(t.lintRules)===JSON.stringify(n.lintRules)&&JSON.stringify(t.lintIgnore)===JSON.stringify(n.lintIgnore):e===`dictionary`?JSON.stringify(t.customWords)===JSON.stringify(n.customWords):!0}let O=K(()=>ae.filter(e=>!se(e))),ce=K(()=>O.value.length),le=K(()=>O.value.map(e=>me[e].title));Dr(ce,e=>{GA.value=e},{immediate:!0}),Xi(()=>{GA.value=0});let ue=K(()=>sT.find(e=>e.id===uT.value)?.label??`VS Code`),de=j(!1),fe=null;function pe(e){dT(e),de.value=!0,fe&&clearTimeout(fe),fe=setTimeout(()=>{de.value=!1},1700)}let me={languages:{title:`Languages`},outputs:{title:`Export targets`},ai:{title:`AI`},scan:{title:`Scan`},quality:{title:`Quality checks`},dictionary:{title:`Custom dictionary`},editor:{title:`Editor`}},he=[{id:`languages`,title:`Languages`},{id:`outputs`,title:`Export targets`},{id:`scan`,title:`Scan`},{id:`quality`,title:`Quality checks`},{id:`dictionary`,title:`Custom dictionary`}];function ge(e){if(e===`languages`)return`${c.locales.length} language${c.locales.length===1?``:`s`}`;if(e===`outputs`)return`${c.outputs.length} target${c.outputs.length===1?``:`s`}${c.autoExport?` · auto`:``}${c.exportLocales.length?` · limited`:``}`;if(e===`ai`)return C.value?`${C.value} · ${T.model}`:`${T.provider} · ${T.model}`;if(e===`scan`){let e=c.scanAccessors.length,t=c.scanPatterns.length,n=c.scanKeep.length,r=[e&&`${e} accessor${e===1?``:`s`}`,t&&`${t} pattern${t===1?``:`s`}`,n&&`${n} kept`].filter(Boolean);return r.length?r.join(` · `):`Auto-detect`}if(e===`quality`){let e=Object.entries(c.lintRules).filter(([,e])=>e===`off`).length,t=Object.entries(c.lintRules).filter(([e,t])=>VA[e]!==void 0&&t!==VA[e]).length;return!t&&!c.lintIgnore.length?`Defaults`:[t&&`${t} adjusted${e?` (${e} off)`:``}`,c.lintIgnore.length&&`${c.lintIgnore.length} ignored`].filter(Boolean).join(` · `)}return e===`dictionary`?c.customWords.length?`${c.customWords.length} word${c.customWords.length===1?``:`s`}`:`No custom words`:``}async function _e(){if(ce.value!==0){u.value=!0;try{await af(WA(c,s.value??void 0)),b(),_.value=!0,v&&clearTimeout(v),v=setTimeout(()=>{_.value=!1},1700)}catch(e){$.error(e.message)}finally{u.value=!1}}}function ve(){o.value&&y(o.value),f.value=!1}function ye(e){return e===`settings`||ce.value===0?!0:(g.value=e,!1)}function be(e){g.value=null,Ep(e)}function xe(){g.value=null}function Se(){let e=g.value;ve(),e&&be(e)}async function Ce(){let e=g.value;await _e(),e&&ce.value===0&&be(e)}function we(e){ce.value>0&&(e.preventDefault(),e.returnValue=``)}function Te(e){if(e.key===`Escape`&&g.value){e.preventDefault(),xe();return}(e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===`s`&&(e.preventDefault(),_e())}Ki(()=>{window.addEventListener(`keydown`,Te),window.addEventListener(`beforeunload`,we),window.addEventListener(`hashchange`,h),Tp(ye)}),Xi(()=>{window.removeEventListener(`keydown`,Te),window.removeEventListener(`beforeunload`,we),window.removeEventListener(`hashchange`,h),Tp(null)});let Ee=j(``);function De(){let e=Ee.value.trim().toLowerCase();if(e){if(c.locales.some(t=>t.toLowerCase()===e)){$.error(`${e} is already in the list`);return}c.locales.push(e),Ee.value=``}}function Oe(e){e!==c.sourceLocale&&(c.locales=c.locales.filter(t=>t!==e))}function ke(){c.outputs.push({adapter:`flutter-arb`,path:``,emptyAs:`omit`,style:`nested`,indent:null,finalNewline:null,includeLocale:!0,localeAliases:{}})}function Ae(e){c.outputs.splice(e,1)}let je=K(()=>c.exportLocales.length>0);function Me(e){c.exportLocales=e?[...c.locales]:[]}function Ne(e){c.exportLocales=c.exportLocales.includes(e)?c.exportLocales.filter(t=>t!==e):[...c.exportLocales,e]}let Pe=K(()=>T.provider===`bedrock`),Fe=K(()=>T.provider===`ollama`),Ie=K(()=>a[T.provider]??``),Le=K(()=>i[T.provider]??[]),Re=K(()=>Le.value[0]??``);async function ze(e){C.value=e,w.value=e??``,await pf(e),D(e?S.value[e]??ie():(await cf()).ai)}async function Be(){let e=`Profile ${Object.keys(S.value).length+1}`,t=ie();await df(e,t),S.value={...S.value,[e]:t},await ze(e)}async function Ve(e,t){let n=t.trim();if(!n||n===e){w.value=e;return}if(n in S.value){$.error(`A profile with that name already exists`),w.value=e;return}let r=S.value[e];await df(n,r),await ff(e);let i={...S.value};delete i[e],i[n]=r,S.value=i,await ze(n)}async function He(){if(!C.value)return;let e=C.value;await ff(e);let t={...S.value};delete t[e],S.value=t,await ze(null)}let Ue=j(``);function We(){let e=Ue.value.trim();if(e){if(c.customWords.includes(e)){$.error(`${e} is already in the dictionary`);return}c.customWords=[...c.customWords,e].sort(),Ue.value=``}}function Ge(e){c.customWords=c.customWords.filter(t=>t!==e)}function Ke(e){try{return new RegExp(e),null}catch(e){return`Invalid regex: ${e.message}`}}return(e,t)=>(R(),z(L,null,[l.value?(R(),z(`div`,Uj,[V(`nav`,Wj,[t[30]||=V(`p`,{class:`px-2.5 pb-2 pt-1 text-[10.5px] font-bold uppercase tracking-widest text-muted-foreground`},` Settings `,-1),(R(),z(L,null,F(he,e=>V(`button`,{key:e.id,type:`button`,class:k([`flex w-full items-center gap-2.5 rounded-[10px] border px-2.5 py-2.5 text-left transition-colors`,d.value===e.id?`border-border bg-card text-foreground shadow-sm`:`border-transparent bg-transparent text-muted-foreground hover:bg-accent hover:text-foreground`]),onClick:t=>m(e.id)},[V(`span`,{class:k([`flex size-[30px] shrink-0 items-center justify-center rounded-lg border`,d.value===e.id?`border-primary/30 bg-primary/10 text-primary`:`border-border/60 bg-background text-muted-foreground`])},[e.id===`languages`?(R(),B(M(Ju),{key:0,class:`size-4`})):e.id===`outputs`?(R(),B(M(Wu),{key:1,class:`size-4`})):e.id===`ai`?(R(),B(M(Lu),{key:2,class:`size-4`})):e.id===`scan`?(R(),B(M(fd),{key:3,class:`size-4`})):e.id===`quality`?(R(),B(M(gd),{key:4,class:`size-4`})):(R(),B(M(wu),{key:5,class:`size-4`}))],2),V(`span`,Kj,[V(`span`,qj,A(e.title),1),V(`span`,Jj,A(ge(e.id)),1)]),!e.autosave&&O.value.includes(e.id)?(R(),z(`span`,Yj)):W(``,!0),e.autosave?(R(),z(`span`,Xj,`Auto`)):W(``,!0)],10,Gj)),64)),t[31]||=V(`p`,{class:`mt-4 border-t px-2.5 pb-2 pt-3 text-[10.5px] font-bold uppercase tracking-widest text-muted-foreground`},` Local (not committed) `,-1),(R(),z(L,null,F(oe,e=>V(`button`,{key:e,type:`button`,class:k([`flex w-full items-center gap-2.5 rounded-[10px] border px-2.5 py-2.5 text-left transition-colors`,d.value===e?`border-border bg-card text-foreground shadow-sm`:`border-transparent bg-transparent text-muted-foreground hover:bg-accent hover:text-foreground`]),onClick:t=>m(e)},[V(`span`,{class:k([`flex size-[30px] shrink-0 items-center justify-center rounded-lg border`,d.value===e?`border-primary/30 bg-primary/10 text-primary`:`border-border/60 bg-background text-muted-foreground`])},[e===`ai`?(R(),B(M(Lu),{key:0,class:`size-4`})):(R(),B(M(Iu),{key:1,class:`size-4`}))],2),V(`span`,Qj,[V(`span`,$j,A(me[e].title),1),V(`span`,eM,A(e===`editor`?ue.value:ge(e)),1)])],10,Zj)),64))]),V(`div`,tM,[V(`div`,nM,[V(`div`,rM,[V(`div`,iM,[V(`h2`,aM,[U(A(me[d.value].title)+` `,1),O.value.includes(d.value)?(R(),z(`span`,oM)):W(``,!0)]),d.value===`languages`?(R(),z(`p`,sM,` The source language is translated into every other language. `)):d.value===`outputs`?(R(),z(`p`,cM,[...t[32]||=[U(` Where compiled translation files are written. Use `,-1),V(`code`,{class:`rounded border bg-muted px-1 py-0.5 font-mono text-xs`},`{locale}`,-1),U(` and `,-1),V(`code`,{class:`rounded border bg-muted px-1 py-0.5 font-mono text-xs`},`{namespace}`,-1),U(` placeholders in the path. `,-1)]])):d.value===`ai`?(R(),z(`p`,lM,[...t[33]||=[U(` The provider and model used for machine translation. Stored locally in `,-1),V(`code`,{class:`rounded border bg-muted px-1 py-0.5 font-mono text-xs`},`.glotfile/`,-1),U(`, not shared with your team. `,-1)]])):d.value===`scan`?(R(),z(`p`,uM,` How the usage scanner finds where keys are referenced in code. Auto-detection handles most projects — these settings are for the cases it can't infer. `)):d.value===`quality`?(R(),z(`p`,dM,[...t[34]||=[U(` Which checks run and how severe they are — in the editor, the Analytics release gate, and `,-1),V(`code`,{class:`rounded border bg-muted px-1 py-0.5 font-mono text-xs`},`glotfile lint`,-1),U(` alike. Errors block a release; warnings don't. `,-1)]])):d.value===`dictionary`?(R(),z(`p`,fM,` Words the spell checker should never flag. Added here or from a cell's warning. `)):d.value===`editor`?(R(),z(`p`,pM,[...t[35]||=[U(` Which editor opens when you click a key's code usage. Stored locally in `,-1),V(`code`,{class:`rounded border bg-muted px-1 py-0.5 font-mono text-xs`},`.glotfile/`,-1),U(`, not shared with your team. `,-1)]])):W(``,!0),oe.includes(d.value)?(R(),z(`p`,mM,[H(M(jd),{class:`size-3.5`}),t[36]||=U(` Changes here save automatically. `,-1)])):W(``,!0)]),d.value===`languages`?(R(),z(`div`,hM,[V(`div`,gM,[H(M(yC),{for:`source-locale`},{default:N(()=>[...t[37]||=[U(`Source language`,-1)]]),_:1}),H(M(yb),{modelValue:c.sourceLocale,"onUpdate:modelValue":t[0]||=e=>c.sourceLocale=e},{default:N(()=>[H(M(VS),{id:`source-locale`},{default:N(()=>[c.sourceLocale?(R(),z(`span`,_M,[H(Ew,{code:c.sourceLocale,"show-name":``,size:14},null,8,[`code`])])):(R(),B(M(Bb),{key:1,placeholder:`Select source`}))]),_:1}),H(M(HS),null,{default:N(()=>[(R(!0),z(L,null,F(c.locales,e=>(R(),B(M(WS),{key:e,value:e},{default:N(()=>[H(Ew,{code:e,"show-name":``,size:14},null,8,[`code`])]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`])]),V(`div`,vM,[H(M(yC),null,{default:N(()=>[t[38]||=U(` Languages `,-1),V(`span`,yM,A(c.locales.length),1)]),_:1}),V(`div`,bM,[(R(!0),z(L,null,F(c.locales,e=>(R(),z(`span`,{key:e,class:k([`inline-flex items-center gap-1.5 rounded-[9px] border px-2.5 py-1.5 text-sm transition-colors`,e===c.sourceLocale?`border-border/60 bg-accent`:`border-border bg-background`])},[H(Ew,{code:e,"show-name":``,size:14},null,8,[`code`]),e===c.sourceLocale?(R(),z(`span`,xM,`source`)):(R(),z(`button`,{key:1,type:`button`,class:`ml-0.5 flex size-[18px] items-center justify-center rounded text-muted-foreground transition-colors hover:bg-destructive/10 hover:text-destructive`,"aria-label":`Remove ${e}`,onClick:t=>Oe(e)},[H(M(Ad),{class:`size-3`})],8,SM))],2))),128))]),V(`p`,CM,[H(M(Ed),{class:`size-3.5`}),t[39]||=U(` Removing a language deletes its translations. `,-1)])]),V(`div`,wM,[H(M(yC),{for:`add-locale`},{default:N(()=>[...t[40]||=[U(`Add language`,-1)]]),_:1}),V(`div`,TM,[H(M(BS),{id:`add-locale`,modelValue:Ee.value,"onUpdate:modelValue":t[1]||=e=>Ee.value=e,class:`font-mono`,placeholder:`es`,onKeydown:Zl(Yl(De,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),H(M(Q),{variant:`outline`,onClick:De},{default:N(()=>[H(M(sd),{class:`size-4`}),t[41]||=U(` Add`,-1)]),_:1})]),Ee.value.trim()?(R(),z(`p`,EM,[t[42]||=U(` Preview: `,-1),H(Ew,{code:Ee.value.trim(),"show-name":``,size:14},null,8,[`code`])])):W(``,!0)])])):d.value===`outputs`?(R(),z(`div`,DM,[V(`div`,OM,[V(`div`,kM,[V(`span`,AM,[H(M(jd),{class:`size-4`})]),t[43]||=V(`div`,null,[V(`div`,{class:`text-sm font-medium`},`Auto-export on save`),V(`div`,{class:`mt-0.5 text-xs text-muted-foreground`},`Write locale files to your project automatically as you edit, so your running app picks them up immediately.`)],-1)]),H(M(XS),{modelValue:c.autoExport,"onUpdate:modelValue":t[2]||=e=>c.autoExport=e},null,8,[`modelValue`])]),V(`div`,jM,[V(`div`,MM,[V(`div`,NM,[V(`span`,PM,[H(M(Qu),{class:`size-4`})]),t[44]||=V(`div`,null,[V(`div`,{class:`text-sm font-medium`},`Limit export languages`),V(`div`,{class:`mt-0.5 text-xs text-muted-foreground`},`Only the selected languages are written to disk, including auto-export. Off exports all languages.`)],-1)]),H(M(XS),{"model-value":je.value,"onUpdate:modelValue":Me},null,8,[`model-value`])]),je.value?(R(),z(`div`,FM,[V(`div`,IM,[(R(!0),z(L,null,F(c.locales,e=>(R(),z(`button`,{key:e,type:`button`,role:`checkbox`,"aria-checked":c.exportLocales.includes(e),class:k([`inline-flex items-center gap-1.5 rounded-[9px] border px-2.5 py-1.5 text-sm transition-colors`,c.exportLocales.includes(e)?`border-primary/40 bg-primary/10`:`border-border bg-background text-muted-foreground hover:bg-accent`]),onClick:t=>Ne(e)},[V(`span`,{class:k([`flex size-4 items-center justify-center rounded border transition-colors`,c.exportLocales.includes(e)?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground hover:border-primary hover:bg-primary/10`])},[c.exportLocales.includes(e)?(R(),B(M(Ou),{key:0,class:`size-3`})):W(``,!0)],2),H(Ew,{code:e,"show-name":``,size:14},null,8,[`code`])],10,LM))),128))]),V(`p`,RM,[H(M(Ed),{class:`size-3.5`}),U(` Export limited to `+A(c.exportLocales.length)+` of `+A(c.locales.length)+` languages. `,1)])])):W(``,!0)]),V(`div`,null,[t[52]||=V(`div`,{class:`text-xs font-semibold uppercase tracking-wide text-muted-foreground`},`Format defaults`,-1),t[53]||=V(`p`,{class:`mt-1 text-xs text-muted-foreground`},`Export targets inherit these. Indent and Final newline can be overridden per target.`,-1),V(`div`,zM,[V(`div`,BM,[t[46]||=V(`div`,null,[V(`div`,{class:`text-sm font-medium`},`Indent`),V(`div`,{class:`mt-0.5 text-xs text-muted-foreground`},`Spaces per nesting level.`)],-1),V(`div`,VM,[H(M(BS),{modelValue:c.indent,"onUpdate:modelValue":t[3]||=e=>c.indent=e,modelModifiers:{number:!0},type:`number`,min:`0`,max:`8`,class:`w-20`},null,8,[`modelValue`]),t[45]||=V(`span`,{class:`text-xs text-muted-foreground`},`spaces`,-1)])]),V(`div`,HM,[V(`div`,null,[V(`div`,UM,[t[48]||=U(` Sort keys `,-1),V(`span`,WM,[H(M(td),{class:`size-2.5`}),t[47]||=U(` Locked`,-1)])]),t[49]||=V(`div`,{class:`mt-0.5 text-xs text-muted-foreground`},`Keys are always written alphabetically so output is deterministic and diffs stay clean.`,-1)]),V(`span`,GM,[H(M(Ou),{class:`size-3`}),t[50]||=U(` Always alphabetical`,-1)])]),V(`div`,KM,[t[51]||=V(`div`,null,[V(`div`,{class:`text-sm font-medium`},`Final newline`),V(`div`,{class:`mt-0.5 text-xs text-muted-foreground`},`Append a trailing newline at the end of every file.`)],-1),H(M(XS),{modelValue:c.finalNewline,"onUpdate:modelValue":t[4]||=e=>c.finalNewline=e},null,8,[`modelValue`])])])]),V(`div`,null,[t[55]||=V(`div`,{class:`text-xs font-semibold uppercase tracking-wide text-muted-foreground`},`Export targets`,-1),V(`div`,qM,[(R(!0),z(L,null,F(c.outputs,(e,t)=>(R(),B(Pj,{key:t,output:e,"format-indent":Number(c.indent)||0,"format-final-newline":c.finalNewline,locales:c.locales,adapters:n,"onUpdate:output":e=>c.outputs.splice(t,1,e),onRemove:e=>Ae(t)},null,8,[`output`,`format-indent`,`format-final-newline`,`locales`,`onUpdate:output`,`onRemove`]))),128)),c.outputs.length===0?(R(),z(`p`,JM,`No export targets configured.`)):W(``,!0),V(`div`,null,[H(M(Q),{variant:`ghost`,size:`sm`,class:`mt-1 pl-2`,onClick:ke},{default:N(()=>[H(M(sd),{class:`size-4`}),t[54]||=U(` Add export target `,-1)]),_:1})])])])])):d.value===`ai`?(R(),z(`div`,YM,[V(`div`,XM,[H(M(yb),{"model-value":C.value??`__none__`,"onUpdate:modelValue":t[5]||=e=>ze(e===`__none__`?null:e)},{default:N(()=>[H(M(VS),{class:`w-44`},{default:N(()=>[H(M(Bb),{placeholder:`No profile`})]),_:1}),H(M(HS),null,{default:N(()=>[H(M(WS),{value:`__none__`},{default:N(()=>[...t[56]||=[U(`No profile`,-1)]]),_:1}),(R(!0),z(L,null,F(Object.keys(S.value),e=>(R(),B(M(WS),{key:e,value:e},{default:N(()=>[U(A(e),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`model-value`]),C.value?(R(),B(M(BS),{key:0,modelValue:w.value,"onUpdate:modelValue":t[6]||=e=>w.value=e,class:`flex-1 font-medium`,placeholder:`Profile name`,onBlur:t[7]||=e=>Ve(C.value,w.value),onKeydown:t[8]||=Zl(Yl(e=>Ve(C.value,w.value),[`prevent`]),[`enter`])},null,8,[`modelValue`])):(R(),z(`span`,ZM,`Using default settings`)),H(M(Q),{variant:`outline`,size:`sm`,class:`shrink-0`,onClick:Be},{default:N(()=>[H(M(sd),{class:`size-4`}),t[57]||=U(` New `,-1)]),_:1}),H(M(Q),{variant:`ghost`,size:`sm`,class:`shrink-0 text-destructive hover:bg-destructive/10 hover:text-destructive`,disabled:!C.value,onClick:He},{default:N(()=>[H(M(Ad),{class:`size-4`})]),_:1},8,[`disabled`])]),V(`div`,QM,[V(`div`,$M,[V(`div`,eN,[H(M(yC),{for:`ai-provider`},{default:N(()=>[...t[58]||=[U(`Provider`,-1)]]),_:1}),H(gc,{"enter-active-class":`transition duration-150 ease-out`,"enter-from-class":`opacity-0 translate-y-0.5`,"enter-to-class":`opacity-100 translate-y-0`,"leave-active-class":`transition duration-300 ease-in`,"leave-from-class":`opacity-100 translate-y-0`,"leave-to-class":`opacity-0`},{default:N(()=>[ee.value?(R(),z(`span`,tN,[H(M(Ou),{class:`size-3`}),t[59]||=U(` Saved `,-1)])):W(``,!0)]),_:1})]),H(M(yb),{modelValue:T.provider,"onUpdate:modelValue":t[9]||=e=>T.provider=e},{default:N(()=>[H(M(VS),{id:`ai-provider`},{default:N(()=>[H(M(Bb),{placeholder:`Select provider`})]),_:1}),H(M(HS),null,{default:N(()=>[(R(),z(L,null,F(r,e=>H(M(WS),{key:e.value,value:e.value},{default:N(()=>[U(A(e.label),1)]),_:2},1032,[`value`])),64))]),_:1})]),_:1},8,[`modelValue`]),V(`p`,nN,A(Ie.value),1)]),V(`div`,rN,[H(M(yC),{for:`ai-model`},{default:N(()=>[...t[60]||=[U(`Model`,-1)]]),_:1}),H(M(BS),{id:`ai-model`,modelValue:T.model,"onUpdate:modelValue":t[10]||=e=>T.model=e,class:`font-mono`,placeholder:Re.value},null,8,[`modelValue`,`placeholder`]),Le.value.length?(R(),z(`p`,iN,[t[61]||=U(` Examples: `,-1),(R(!0),z(L,null,F(Le.value,(e,t)=>(R(),z(L,{key:e},[V(`button`,{type:`button`,class:`font-mono underline-offset-2 hover:text-foreground hover:underline`,onClick:t=>T.model=e},A(e),9,aN),t<Le.value.length-1?(R(),z(`span`,oN,` · `)):W(``,!0)],64))),128))])):W(``,!0)]),Pe.value?(R(),z(`div`,sN,[H(M(yC),{for:`ai-region`},{default:N(()=>[...t[62]||=[U(`Region`,-1)]]),_:1}),H(M(BS),{id:`ai-region`,modelValue:T.region,"onUpdate:modelValue":t[11]||=e=>T.region=e,class:`font-mono`,placeholder:`us-east-1`},null,8,[`modelValue`]),t[63]||=V(`p`,{class:`text-xs text-muted-foreground`},[U(`AWS region for Bedrock. Falls back to `),V(`code`,{class:`font-mono`},`AWS_REGION`),U(` if empty.`)],-1)])):(R(),z(`div`,cN,[H(M(yC),{for:`ai-endpoint`},{default:N(()=>[...t[64]||=[U(`Endpoint`,-1)]]),_:1}),H(M(BS),{id:`ai-endpoint`,modelValue:T.endpoint,"onUpdate:modelValue":t[12]||=e=>T.endpoint=e,class:`font-mono`,placeholder:Fe.value?`http://localhost:11434/v1`:`Default (leave empty)`},null,8,[`modelValue`,`placeholder`]),Fe.value?(R(),z(`p`,lN,[...t[65]||=[U(`Defaults to the local Ollama server. Override only for a remote instance — include the `,-1),V(`code`,{class:`font-mono`},`/v1`,-1),U(` suffix.`,-1)]])):(R(),z(`p`,uN,`Optional — for an in-region or self-hosted / OpenAI-compatible gateway.`))])),t[83]||=V(`div`,{class:`text-xs font-semibold uppercase tracking-wide text-muted-foreground`},`Translation`,-1),V(`div`,dN,[H(M(yC),{for:`ai-batch`},{default:N(()=>[...t[66]||=[U(`Batch size`,-1)]]),_:1}),H(M(BS),{id:`ai-batch`,modelValue:T.batchSize,"onUpdate:modelValue":t[13]||=e=>T.batchSize=e,modelModifiers:{number:!0},type:`number`,min:`1`,class:`w-28`},null,8,[`modelValue`]),t[67]||=V(`p`,{class:`text-xs text-muted-foreground`},`Strings sent per request.`,-1)]),V(`div`,fN,[H(M(yC),{for:`ai-concurrency`},{default:N(()=>[...t[68]||=[U(`Parallel locales`,-1)]]),_:1}),H(M(BS),{id:`ai-concurrency`,modelValue:T.concurrency,"onUpdate:modelValue":t[14]||=e=>T.concurrency=e,modelModifiers:{number:!0},type:`number`,min:`1`,placeholder:`3`,class:`w-28`},null,8,[`modelValue`]),t[69]||=V(`p`,{class:`text-xs text-muted-foreground`},`How many locales to translate at once.`,-1)]),V(`div`,pN,[H(M(yC),{for:`ai-price-in`},{default:N(()=>[...t[70]||=[U(`Input price ($ / 1M tokens)`,-1)]]),_:1}),H(M(BS),{id:`ai-price-in`,modelValue:T.inputPricePerMTok,"onUpdate:modelValue":t[15]||=e=>T.inputPricePerMTok=e,modelModifiers:{number:!0},type:`number`,min:`0`,step:`0.01`,placeholder:`Auto for Claude models`,class:`w-44`},null,8,[`modelValue`])]),V(`div`,mN,[H(M(yC),{for:`ai-price-out`},{default:N(()=>[...t[71]||=[U(`Output price ($ / 1M tokens)`,-1)]]),_:1}),H(M(BS),{id:`ai-price-out`,modelValue:T.outputPricePerMTok,"onUpdate:modelValue":t[16]||=e=>T.outputPricePerMTok=e,modelModifiers:{number:!0},type:`number`,min:`0`,step:`0.01`,placeholder:`Auto for Claude models`,class:`w-44`},null,8,[`modelValue`]),t[72]||=V(`p`,{class:`text-xs text-muted-foreground`},`Used for the pre-translate cost estimate. Set both to override the built-in Claude prices or to price other models.`,-1)]),t[84]||=V(`div`,{class:`text-xs font-semibold uppercase tracking-wide text-muted-foreground`},`Context build`,-1),V(`div`,hN,[H(M(yC),{for:`ai-context-batch`},{default:N(()=>[...t[73]||=[U(`Batch size`,-1)]]),_:1}),H(M(BS),{id:`ai-context-batch`,modelValue:T.contextBatchSize,"onUpdate:modelValue":t[17]||=e=>T.contextBatchSize=e,modelModifiers:{number:!0},type:`number`,min:`1`,placeholder:String(T.batchSize||25),class:`w-28`},null,8,[`modelValue`,`placeholder`]),t[74]||=V(`p`,{class:`text-xs text-muted-foreground`},`Keys per request. Defaults to translation batch size.`,-1)]),V(`div`,gN,[H(M(yC),{for:`ai-context-concurrency`},{default:N(()=>[...t[75]||=[U(`Concurrency`,-1)]]),_:1}),H(M(BS),{id:`ai-context-concurrency`,modelValue:T.contextConcurrency,"onUpdate:modelValue":t[18]||=e=>T.contextConcurrency=e,modelModifiers:{number:!0},type:`number`,min:`1`,placeholder:String(T.concurrency||3),class:`w-28`},null,8,[`modelValue`,`placeholder`]),t[76]||=V(`p`,{class:`text-xs text-muted-foreground`},`Parallel context requests. Defaults to parallel locales.`,-1)]),Fe.value?(R(),z(`div`,_N,[H(M(XS),{id:`ai-vision`,modelValue:T.vision,"onUpdate:modelValue":t[19]||=e=>T.vision=e},null,8,[`modelValue`]),V(`div`,vN,[H(M(yC),{for:`ai-vision`},{default:N(()=>[...t[77]||=[U(`Vision`,-1)]]),_:1}),t[78]||=V(`p`,{class:`text-xs text-muted-foreground`},`Enable for models that support image input (e.g. translategemma, llava).`,-1)])])):W(``,!0),Fe.value?(R(),z(`div`,yN,[H(M(yC),{for:`ai-prompt-style`},{default:N(()=>[...t[79]||=[U(`Prompt style`,-1)]]),_:1}),H(M(yb),{"model-value":T.promptStyle||`__default__`,"onUpdate:modelValue":t[20]||=e=>T.promptStyle=e===`__default__`?``:e},{default:N(()=>[H(M(VS),{id:`ai-prompt-style`},{default:N(()=>[H(M(Bb),{placeholder:`Default`})]),_:1}),H(M(HS),null,{default:N(()=>[H(M(WS),{value:`__default__`},{default:N(()=>[...t[80]||=[U(`Default`,-1)]]),_:1}),H(M(WS),{value:`translategemma`},{default:N(()=>[...t[81]||=[U(`TranslateGemma`,-1)]]),_:1})]),_:1})]),_:1},8,[`model-value`]),t[82]||=V(`p`,{class:`text-xs text-muted-foreground`},`TranslateGemma uses a role-based system prompt and plain-text output instead of JSON batching.`,-1)])):W(``,!0)])])):d.value===`scan`?(R(),z(`div`,bN,[H(Vj,{label:`Flutter accessors`,items:c.scanAccessors,mono:``,placeholder:`translations`,"onUpdate:items":t[21]||=e=>c.scanAccessors=e},{help:N(()=>[...t[85]||=[V(`p`,{class:`text-xs text-muted-foreground`},[U(` Accessors assigned from `),V(`code`,{class:`rounded border bg-muted px-1 py-0.5 font-mono text-[11px]`},`AppLocalizations.of(...)`),U(` are detected automatically. Add a name only if yours isn't found. `)],-1)]]),_:1},8,[`items`]),H(Vj,{label:`Custom patterns`,items:c.scanPatterns,mono:``,placeholder:`LocaleKeys\\.(\\w+)\\.tr\\(\\)`,validate:Ke,"onUpdate:items":t[22]||=e=>c.scanPatterns=e},{help:N(()=>[...t[86]||=[V(`p`,{class:`text-xs text-muted-foreground`},` Regex applied to every scanned file — capture group 1 is the key. `,-1)]]),_:1},8,[`items`]),H(Vj,{label:`Include globs`,items:c.scanInclude,mono:``,placeholder:`lib/**`,"onUpdate:items":t[23]||=e=>c.scanInclude=e},{help:N(()=>[...t[87]||=[V(`p`,{class:`text-xs text-muted-foreground`},`Limit the scan to these globs. Empty scans everything.`,-1)]]),_:1},8,[`items`]),H(Vj,{label:`Exclude globs`,items:c.scanExclude,mono:``,placeholder:`**/*.g.dart`,"onUpdate:items":t[24]||=e=>c.scanExclude=e},{help:N(()=>[...t[88]||=[V(`p`,{class:`text-xs text-muted-foreground`},`Skipped on top of always-excluded dirs (node_modules, build, …).`,-1)]]),_:1},8,[`items`]),H(Vj,{label:`Keep keys`,items:c.scanKeep,mono:``,placeholder:`validation.*`,"onUpdate:items":t[25]||=e=>c.scanKeep=e},{help:N(()=>[...t[89]||=[V(`p`,{class:`text-xs text-muted-foreground`},[U(` Key globs always treated as used — for keys consumed by code the scan can't see (framework internals, vendored packages). They never show as unused and are safe from `),V(`code`,{class:`rounded border bg-muted px-1 py-0.5 font-mono text-[11px]`},`prune --unused`),U(`. `)],-1)]]),_:1},8,[`items`])])):d.value===`quality`?(R(),z(`div`,xN,[V(`div`,null,[t[91]||=V(`div`,{class:`text-xs font-semibold uppercase tracking-wide text-muted-foreground`},`Rules`,-1),V(`div`,SN,[(R(!0),z(L,null,F(M(BA),e=>(R(),z(`div`,{key:e.id,class:`flex items-center justify-between gap-4 p-3.5`},[V(`div`,CN,[V(`div`,wN,[U(A(e.label)+` `,1),V(`code`,TN,A(e.id),1)]),V(`div`,EN,A(e.description),1)]),H(M(yb),{"model-value":c.lintRules[e.id]??e.default,"onUpdate:modelValue":t=>c.lintRules={...c.lintRules,[e.id]:t}},{default:N(()=>[H(M(VS),{class:k([`w-32 shrink-0`,c.lintRules[e.id]===`off`?`text-muted-foreground`:``])},{default:N(()=>[H(M(Bb))]),_:1},8,[`class`]),H(M(HS),null,{default:N(()=>[H(M(WS),{value:`error`},{default:N(()=>[U(`Error`+A(e.default===`error`?` ·`:``),1)]),_:2},1024),H(M(WS),{value:`warn`},{default:N(()=>[U(`Warning`+A(e.default===`warn`?` ·`:``),1)]),_:2},1024),H(M(WS),{value:`off`},{default:N(()=>[...t[90]||=[U(`Off`,-1)]]),_:1})]),_:2},1024)]),_:2},1032,[`model-value`,`onUpdate:modelValue`])]))),128))]),t[92]||=V(`p`,{class:`mt-2 text-xs text-muted-foreground`},`· marks the built-in default.`,-1)]),H(Vj,{label:`Ignore keys`,items:c.lintIgnore,mono:``,placeholder:`legacy.*`,"onUpdate:items":t[26]||=e=>c.lintIgnore=e},{help:N(()=>[...t[93]||=[V(`p`,{class:`text-xs text-muted-foreground`},` Key globs excluded from every check — for legacy or generated keys you don't maintain. `,-1)]]),_:1},8,[`items`])])):d.value===`dictionary`?(R(),z(`div`,DN,[V(`div`,ON,[(R(!0),z(L,null,F(c.customWords,e=>(R(),z(`span`,{key:e,class:`inline-flex items-center gap-1.5 rounded-lg border bg-accent px-2.5 py-1.5 font-mono text-sm`},[U(A(e)+` `,1),V(`button`,{type:`button`,class:`flex size-[18px] items-center justify-center rounded text-muted-foreground transition-colors hover:bg-destructive/10 hover:text-destructive`,"aria-label":`Remove ${e}`,onClick:t=>Ge(e)},[H(M(Ad),{class:`size-3`})],8,kN)]))),128)),c.customWords.length===0?(R(),z(`p`,AN,`No custom words yet.`)):W(``,!0)]),V(`div`,jN,[H(M(yC),{for:`add-word`},{default:N(()=>[...t[94]||=[U(`Add word`,-1)]]),_:1}),V(`div`,MN,[H(M(BS),{id:`add-word`,modelValue:Ue.value,"onUpdate:modelValue":t[27]||=e=>Ue.value=e,class:`font-mono`,placeholder:`Glotfile`,onKeydown:Zl(Yl(We,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),H(M(Q),{variant:`outline`,onClick:We},{default:N(()=>[H(M(sd),{class:`size-4`}),t[95]||=U(` Add`,-1)]),_:1})])])])):d.value===`editor`?(R(),z(`div`,NN,[V(`div`,PN,[V(`div`,FN,[H(M(yC),{for:`editor-select`},{default:N(()=>[...t[96]||=[U(`Editor`,-1)]]),_:1}),H(gc,{"enter-active-class":`transition duration-150 ease-out`,"enter-from-class":`opacity-0 translate-y-0.5`,"enter-to-class":`opacity-100 translate-y-0`,"leave-active-class":`transition duration-300 ease-in`,"leave-from-class":`opacity-100 translate-y-0`,"leave-to-class":`opacity-0`},{default:N(()=>[de.value?(R(),z(`span`,IN,[H(M(Ou),{class:`size-3`}),t[97]||=U(` Saved `,-1)])):W(``,!0)]),_:1})]),H(M(yb),{"model-value":M(uT),"onUpdate:modelValue":pe},{default:N(()=>[H(M(VS),{id:`editor-select`},{default:N(()=>[H(M(Bb),{placeholder:`Select editor`})]),_:1}),H(M(HS),null,{default:N(()=>[(R(!0),z(L,null,F(M(sT),e=>(R(),B(M(WS),{key:e.id,value:e.id},{default:N(()=>[U(A(e.label),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`model-value`])]),V(`p`,LN,[H(M(td),{class:`size-3.5`}),t[98]||=U(` Stored locally in `,-1),t[99]||=V(`code`,{class:`rounded border bg-muted px-1 py-0.5 font-mono text-xs`},`.glotfile/`,-1),t[100]||=U(` — clicking a usage opens the file via its URL scheme. `,-1)])])):W(``,!0)])]),oe.includes(d.value)?W(``,!0):(R(),z(`div`,{key:0,class:k([`absolute bottom-5 left-1/2 flex min-w-[400px] max-w-[calc(100%-3.5rem)] -translate-x-1/2 items-center gap-3 rounded-[14px] border bg-card px-4 py-2.5 shadow-lg transition-[border-color,box-shadow]`,ce.value>0?`border-primary/40 shadow-primary/10`:`border-border`])},[V(`span`,{class:k([`flex min-w-0 flex-1 items-center gap-2 overflow-hidden text-ellipsis whitespace-nowrap text-[13px]`,ce.value>0?`text-foreground`:`text-muted-foreground`])},[ce.value>0?(R(),z(L,{key:0},[V(`span`,RN,A(ce.value),1),U(` Unsaved `+A(ce.value===1?`change`:`changes`)+` in `,1),V(`strong`,zN,A(le.value.join(`, `)),1)],64)):(R(),z(L,{key:1},[H(M(Ou),{class:`size-3.5 shrink-0`}),t[101]||=U(` All changes saved `,-1)],64))],2),V(`div`,BN,[H(M(Q),{variant:`ghost`,size:`sm`,disabled:ce.value===0,onClick:t[28]||=e=>f.value=!f.value},{default:N(()=>[H(M(Dd),{class:`size-4`}),t[102]||=U(` Discard `,-1)]),_:1},8,[`disabled`]),f.value?(R(),z(`div`,VN,[t[105]||=V(`p`,{class:`text-[13px] font-semibold`},`Discard all changes?`,-1),V(`p`,HN,` Reverts every unsaved edit in `+A(le.value.join(`, `))+`. `,1),V(`div`,UN,[H(M(Q),{size:`sm`,variant:`outline`,onClick:t[29]||=e=>f.value=!1},{default:N(()=>[...t[103]||=[U(`Keep editing`,-1)]]),_:1}),H(M(Q),{size:`sm`,variant:`destructive`,onClick:ve},{default:N(()=>[...t[104]||=[U(`Discard`,-1)]]),_:1})])])):W(``,!0)]),H(M(Q),{size:`sm`,disabled:ce.value===0||u.value,onClick:_e},{default:N(()=>[H(M(dd),{class:`size-4`}),t[106]||=U(` Save changes `,-1)]),_:1},8,[`disabled`])],2))])])):(R(),z(`div`,Hj,` Loading settings… `)),H(gc,{"enter-active-class":`transition duration-150 ease-out`,"enter-from-class":`opacity-0`,"enter-to-class":`opacity-100`,"leave-active-class":`transition duration-100 ease-in`,"leave-from-class":`opacity-100`,"leave-to-class":`opacity-0`},{default:N(()=>[g.value?(R(),z(`div`,{key:0,class:`fixed inset-0 z-[70] flex items-center justify-center bg-background/70 p-6 backdrop-blur-sm`,onClick:Yl(xe,[`self`])},[V(`div`,WN,[V(`h3`,GN,[H(M(Ed),{class:`size-4 text-amber-500`}),t[107]||=U(` Unsaved changes `,-1)]),V(`p`,KN,[U(` You have `+A(ce.value)+` unsaved `+A(ce.value===1?`change`:`changes`)+` in `,1),V(`strong`,qN,A(le.value.join(`, `)),1),t[108]||=U(`. `,-1),V(`span`,JN,`Leaving now discards `+A(ce.value===1?`it`:`them`)+`.`,1)]),V(`div`,YN,[H(M(Q),{size:`sm`,variant:`outline`,class:`mr-auto`,onClick:xe},{default:N(()=>[...t[109]||=[U(`Keep editing`,-1)]]),_:1}),H(M(Q),{size:`sm`,variant:`destructive`,onClick:Se},{default:N(()=>[H(M(Dd),{class:`size-4`}),t[110]||=U(` Discard & leave `,-1)]),_:1}),H(M(Q),{size:`sm`,disabled:u.value,onClick:Ce},{default:N(()=>[H(M(dd),{class:`size-4`}),t[111]||=U(` Save & leave `,-1)]),_:1},8,[`disabled`])])])])):W(``,!0)]),_:1}),H(gc,{"enter-active-class":`transition duration-200 ease-out`,"enter-from-class":`opacity-0 -translate-y-1.5`,"enter-to-class":`opacity-100 translate-y-0`,"leave-active-class":`transition duration-150 ease-in`,"leave-from-class":`opacity-100 translate-y-0`,"leave-to-class":`opacity-0 -translate-y-1.5`},{default:N(()=>[_.value?(R(),z(`div`,XN,[H(M(Ou),{class:`size-3.5`}),t[112]||=U(` Settings saved `,-1)])):W(``,!0)]),_:1})],64))}}),QN={class:`min-h-0 flex-1 overflow-y-auto`},$N={key:0,class:`flex h-full items-center justify-center p-8 text-sm text-muted-foreground`},eP={key:1,class:`flex h-full items-center justify-center p-8`},tP={class:`flex max-w-md flex-col items-center gap-3 text-center text-muted-foreground`},nP={key:2,class:`grid grid-cols-[repeat(auto-fill,minmax(180px,1fr))] gap-3 p-6`},rP=[`onClick`],iP={class:`flex aspect-video items-center justify-center overflow-hidden border-b bg-muted/30`},aP=[`src`,`alt`],oP={class:`flex flex-col gap-0.5 p-2.5`},sP={class:`truncate font-mono text-xs font-medium`},cP={class:`truncate text-xs text-muted-foreground`},lP={key:1,class:`truncate text-xs text-muted-foreground`},uP={class:`flex max-h-[70vh] items-center justify-center overflow-auto rounded-md border bg-muted/30 p-2`},dP=[`src`,`alt`],fP={key:0,class:`text-sm text-muted-foreground`},pP=P({__name:`ScreenshotsView`,setup(e){let t=dn(null),n=j(!1),r=j(null);async function i(){t.value=await Md(),n.value=!0}i();let a=K(()=>t.value?.config.sourceLocale??``),o=K(()=>{let e=t.value;return e?Object.entries(e.keys).filter(([,e])=>!!e.screenshot).map(([e,t])=>({key:e,entry:t,screenshot:t.screenshot,source:t.values[a.value]?.value??``})).sort((e,t)=>e.key.localeCompare(t.key)):[]});return(e,t)=>(R(),z(`div`,QN,[n.value?o.value.length===0?(R(),z(`div`,eP,[V(`div`,tP,[H(M(Yu),{class:`size-8 opacity-60`}),t[2]||=V(`p`,{class:`text-sm`},` No screenshots yet — add one from a key's detail panel in the Editor. `,-1)])])):(R(),z(`div`,nP,[(R(!0),z(L,null,F(o.value,e=>(R(),z(`button`,{key:e.key,type:`button`,class:`group flex flex-col overflow-hidden rounded-lg border bg-card text-left shadow-sm transition-colors hover:border-ring focus:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:t=>r.value=e},[V(`div`,iP,[V(`img`,{src:`/`+e.screenshot,alt:`Screenshot for ${e.key}`,class:`h-full w-full object-contain`},null,8,aP)]),V(`div`,oP,[H(M(ax),null,{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`span`,sP,A(e.key),1)]),_:2},1024),H(M(PC),{class:`font-mono`},{default:N(()=>[U(A(e.key),1)]),_:2},1024)]),_:2},1024),e.source?(R(),B(M(ax),{key:0},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`span`,cP,A(e.source),1)]),_:2},1024),H(M(PC),null,{default:N(()=>[U(A(e.source),1)]),_:2},1024)]),_:2},1024)):(R(),z(`span`,lP,`—`))])],8,rP))),128))])):(R(),z(`div`,$N,` Loading screenshots… `)),H(M(Oh),{open:r.value!==null,"onUpdate:open":t[1]||=e=>{e||(r.value=null)}},{default:N(()=>[r.value?(R(),B(M(bC),{key:0,class:`max-w-3xl`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),{class:`break-all font-mono text-sm`},{default:N(()=>[U(A(r.value.key),1)]),_:1}),H(M(wC),null,{default:N(()=>[U(A(r.value.source||`—`),1)]),_:1})]),_:1}),V(`div`,uP,[V(`img`,{src:`/`+r.value.screenshot,alt:`Screenshot for ${r.value.key}`,class:`max-h-[65vh] w-auto object-contain`},null,8,dP)]),r.value.entry.context?(R(),z(`p`,fP,[t[3]||=V(`span`,{class:`font-medium text-foreground`},`Context:`,-1),U(` `+A(r.value.entry.context),1)])):W(``,!0),H(M(SC),null,{default:N(()=>[H(M(Q),{size:`sm`,onClick:t[0]||=e=>M(Np)(r.value.key)},{default:N(()=>[H(M(bd),{class:`size-4`}),t[4]||=U(` Open in editor `,-1)]),_:1})]),_:1})]),_:1})):W(``,!0)]),_:1},8,[`open`])]))}}),mP={class:`min-h-0 flex-1 overflow-y-auto p-4`},hP={key:0,class:`mt-8 text-center text-sm text-muted-foreground`},gP={key:1,class:`mx-auto flex max-w-4xl flex-col gap-4`},_P={key:0,class:`flex flex-wrap gap-1.5`},vP=[`onClick`],yP={class:`flex flex-wrap items-center gap-3 border-b px-4 py-2.5`},bP={class:`text-sm font-medium`},xP={class:`text-sm text-muted-foreground`},SP={class:`border-b`},CP={class:`overflow-x-auto whitespace-pre-wrap break-words bg-muted/40 px-4 py-3 font-mono text-xs leading-relaxed`},wP={class:`divide-y`},TP={class:`flex items-center gap-2`},EP={class:`truncate font-mono text-xs text-muted-foreground`},DP={class:`flex items-start gap-2 text-sm`},OP={class:`min-w-0 flex-1 break-words`},kP={class:`min-w-0 flex-1 break-words`},AP={key:0,class:`text-destructive`},jP={key:1},MP={key:0,class:`text-xs text-muted-foreground`},NP={key:1,class:`flex flex-wrap gap-1`},PP={key:2,class:`flex items-center gap-1.5 text-xs text-muted-foreground`},FP={class:`truncate font-mono`},IP={key:1,class:`flex flex-col gap-1.5 px-4 py-3`},LP={key:0,class:`flex items-center gap-2`},RP={class:`truncate font-mono text-xs text-muted-foreground`},zP={key:1,class:`flex items-start gap-2 text-sm`},BP=P({__name:`ActivityView`,setup(e){let t=j([]),n=j(!0),r=j(`all`);Ki(async()=>{try{t.value=await Cf()}catch(e){$.error(e.message)}finally{n.value=!1}});let i=e=>e.kind===`translate`||e.kind===`context`,a=K(()=>[...new Set(t.value.map(e=>e.kind))]),o=K(()=>r.value===`all`?t.value:t.value.filter(e=>e.kind===r.value)),s=e=>LS(`rounded-full border px-2.5 py-0.5 text-xs transition-colors`,r.value===e?`bg-primary text-primary-foreground`:`text-muted-foreground hover:bg-muted`);function c(e,t){return e.results?.find(e=>e.id===t)}function l(e){return e.doNotTranslate?`${e.term} (do-not-translate)`:e.forced?`${e.term} → ${e.forced}`:e.term}function u(e){return e==null||e===``?`∅`:typeof e==`string`?e:JSON.stringify(e)}let d=e=>typeof e==`object`&&!!e;return(e,f)=>(R(),z(`div`,mP,[!n.value&&t.value.length===0?(R(),z(`p`,hP,` No activity yet — edits, translations, and config changes will show up here. `)):(R(),z(`div`,gP,[a.value.length>1?(R(),z(`div`,_P,[V(`button`,{type:`button`,class:k(s(`all`)),onClick:f[0]||=e=>r.value=`all`},`All`,2),(R(!0),z(L,null,F(a.value,e=>(R(),z(`button`,{key:e,type:`button`,class:k(s(e)),onClick:t=>r.value=e},A(e),11,vP))),128))])):W(``,!0),(R(!0),z(L,null,F(o.value,(e,t)=>(R(),z(`article`,{key:`${e.at}-${t}`,class:`rounded-lg border bg-card`},[V(`header`,yP,[V(`span`,bP,A(new Date(e.at).toLocaleString()),1),H(M(JS),{variant:`outline`,class:`font-mono uppercase`},{default:N(()=>[U(A(e.kind),1)]),_:2},1024),V(`span`,xP,A(e.summary),1),e.model?(R(),B(M(JS),{key:0,variant:`secondary`,class:`ml-auto font-mono`},{default:N(()=>[U(A(e.model),1)]),_:2},1024)):W(``,!0)]),i(e)?(R(),z(L,{key:0},[V(`details`,SP,[f[1]||=V(`summary`,{class:`cursor-pointer select-none px-4 py-2 text-xs font-medium text-muted-foreground hover:text-foreground`},` System prompt `,-1),V(`pre`,CP,A(e.system),1)]),V(`ul`,wP,[(R(!0),z(L,null,F(e.items,t=>(R(),z(`li`,{key:t.id,class:`flex flex-col gap-1.5 px-4 py-3`},[V(`div`,TP,[V(`span`,EP,A(t.key),1),t.targetLocale?(R(),B(M(JS),{key:0,variant:`outline`,class:`shrink-0 font-mono uppercase`},{default:N(()=>[U(A(t.targetLocale),1)]),_:2},1024)):W(``,!0)]),V(`div`,DP,[V(`span`,OP,A(t.source),1),H(M(xu),{class:`mt-0.5 size-4 shrink-0 text-muted-foreground`}),V(`span`,kP,[c(e,t.id)?.error?(R(),z(`span`,AP,A(c(e,t.id)?.error),1)):(R(),z(`span`,jP,A(c(e,t.id)?.translation??c(e,t.id)?.value),1))])]),t.context?(R(),z(`p`,MP,A(t.context),1)):W(``,!0),t.glossary?.length?(R(),z(`div`,NP,[(R(!0),z(L,null,F(t.glossary,e=>(R(),z(`span`,{key:e.term,class:`rounded bg-muted px-1.5 py-0.5 font-mono text-[11px] text-muted-foreground`},A(l(e)),1))),128))])):W(``,!0),t.screenshot?(R(),z(`div`,PP,[H(M(Xu),{class:`size-3.5 shrink-0`}),V(`span`,FP,A(t.screenshot),1)])):W(``,!0)]))),128))])],64)):e.key||e.before!==void 0||e.after!==void 0?(R(),z(`div`,IP,[e.key?(R(),z(`div`,LP,[V(`span`,RP,A(e.key),1),e.locale?(R(),B(M(JS),{key:0,variant:`outline`,class:`shrink-0 font-mono uppercase`},{default:N(()=>[U(A(e.locale),1)]),_:2},1024)):W(``,!0)])):W(``,!0),e.before!==void 0||e.after!==void 0?(R(),z(`div`,zP,[e.before===void 0?W(``,!0):(R(),z(`span`,{key:0,class:k(M(LS)(`min-w-0 flex-1 break-words text-muted-foreground`,d(e.before)&&`font-mono text-xs`))},A(u(e.before)),3)),e.before!==void 0&&e.after!==void 0?(R(),B(M(xu),{key:1,class:`mt-0.5 size-4 shrink-0 text-muted-foreground`})):W(``,!0),e.after===void 0?W(``,!0):(R(),z(`span`,{key:2,class:k(M(LS)(`min-w-0 flex-1 break-words`,d(e.after)&&`font-mono text-xs`))},A(u(e.after)),3))])):W(``,!0)])):W(``,!0)]))),128))]))]))}}),VP=[{id:`home`,title:`Home`,section:``,html:`<h1>Glotfile</h1>
|
|
8
8
|
<blockquote>
|
|
9
9
|
<p>A <strong>local-first, git-native translation manager</strong>. All of your app's copy lives in one JSON file you commit to your repo. You edit and AI-translate it through a local web UI, then export to whatever locale formats your apps consume — no SaaS, no hosted database, nothing leaves your machine except the AI calls you choose to make.</p>
|
|
10
10
|
</blockquote>
|
|
@@ -2121,4 +2121,4 @@ Only the AI calls you trigger. The UI is local-only; no credentials or screensho
|
|
|
2121
2121
|
<ul>
|
|
2122
2122
|
<li>Home · Installation · AI Providers · Continuous Integration</li>
|
|
2123
2123
|
</ul>
|
|
2124
|
-
`,text:`Troubleshooting and FAQ Setup It's pre-1.0 and not yet on npm. Run from a checkout: . See Installation. Wrong Node version Glotfile needs Node . Check with . Translation "Install the SDK for this provider" OpenAI, OpenRouter, and Bedrock need an optional SDK. Install the one for your provider — (OpenAI or OpenRouter) or (Bedrock). See AI Providers. No API key / auth errors Set the provider's credentials in your environment or a local : , , , or the AWS chain. See AI Providers. A translation was skipped The result failed validation — a dropped placeholder, broken ICU, or an over-length value. Glotfile prints the reason and leaves the value untranslated. See Placeholders and ICU and How Translation Works. My reviewed translation didn't change after That's intentional — values are protected from being overwritten. Unmark it first to re-translate. Screenshots seem ignored The selected model may not support vision (e.g. Bedrock Meta Llama text models). The run proceeds text-only and warns how many screenshots were skipped. See Screenshots. Validation and CI fails with Your exported files don't match the catalog. Run and commit the result. See Continuous Integration. Spelling flags real words Add them to the custom dictionary in Settings ( ). The same list silences both the editor's live spell check and the lint rule. Glossary terms are accepted automatically. See Checks and Validation. A rule is too noisy Override its severity (or turn it off) in , or certain key globs. See Configuration Reference. Files and git Can I edit by hand? You can, but you rarely need to — the UI writes it for you, deterministically. If you do edit it, keep it valid: it's validated on load. See The State File. Big diffs on every save Check ( , , ). Deterministic formatting keeps diffs minimal. See The State File. General Do I already have translations I can import? Import existing locale files with — see import. You can also add keys via the Editor. Does anything leave my machine? Only the AI calls you trigger. The UI is local-only; no credentials or screenshot bytes are ever logged. See AI Log. Related - Home · Installation · AI Providers · Continuous Integration`}],HP={class:`flex min-h-0 flex-1 overflow-hidden`},UP={class:`flex w-56 shrink-0 flex-col overflow-hidden border-r bg-muted/30`},WP={class:`relative shrink-0 px-2 py-2`},GP={key:0,class:`flex flex-col gap-1 overflow-y-auto px-2 pb-3`},KP={class:`px-2 py-1 text-xs text-muted-foreground`},qP=[`onClick`],JP={class:`text-sm font-medium`},YP={key:0,class:`text-[10px] uppercase tracking-wider text-muted-foreground`},XP={key:1,class:`mt-0.5 line-clamp-2 text-xs text-muted-foreground`},ZP={class:`bg-primary/20 text-foreground`},QP={key:1,class:`flex flex-col gap-1 overflow-y-auto px-2 pb-3`},$P=[`onClick`],eF={class:`min-w-0 flex-1 overflow-y-auto`},tF=[`innerHTML`],nF=P({__name:`DocsView`,setup(e){let t=[``,`Getting Started`,`Web UI`,`CLI`,`Concepts`,`AI Translation`,`Reference`,`Guides`,`Help`],n=j(VP[0]?.id??``),r=j(``),i=K(()=>{let e=new Map;for(let n of t)e.set(n,[]);for(let t of VP)e.has(t.section)||e.set(t.section,[]),e.get(t.section).push(t);return t.map(t=>({section:t,pages:e.get(t)??[]})).filter(e=>e.pages.length>0)}),a=K(()=>{let e=r.value.trim().toLowerCase();if(!e)return[];let t=[];for(let n of VP){let r=n.text.toLowerCase(),i=n.title.toLowerCase().includes(e),a=r.indexOf(e);if(a===-1&&!i)continue;if(a===-1){t.push({id:n.id,title:n.title,section:n.section,before:``,match:``,after:``});continue}let o=Math.max(0,a-40),s=Math.min(n.text.length,a+e.length+80);t.push({id:n.id,title:n.title,section:n.section,before:(o>0?`…`:``)+n.text.slice(o,a),match:n.text.slice(a,a+e.length),after:n.text.slice(a+e.length,s)+(s<n.text.length?`…`:``)})}return t}),o=K(()=>VP.find(e=>e.id===n.value)??VP[0]);function s(e){n.value=e,r.value=``}return(e,t)=>(R(),z(`div`,HP,[V(`nav`,UP,[V(`div`,WP,[H(M(md),{class:`pointer-events-none absolute left-4 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground`}),_r(V(`input`,{"onUpdate:modelValue":t[0]||=e=>r.value=e,type:`search`,placeholder:`Search docs…`,class:`w-full rounded-md border bg-background py-1 pl-7 pr-7 text-sm outline-none focus:ring-2 focus:ring-ring`},null,512),[[Fl,r.value]]),r.value?(R(),z(`button`,{key:0,type:`button`,class:`absolute right-4 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,onClick:t[1]||=e=>r.value=``},[H(M(Ad),{class:`size-3.5`})])):W(``,!0)]),r.value.trim()?(R(),z(`div`,GP,[V(`div`,KP,A(a.value.length)+` result`+A(a.value.length===1?``:`s`),1),(R(!0),z(L,null,F(a.value,e=>(R(),z(`button`,{key:e.id,type:`button`,class:`w-full rounded-md px-2 py-1.5 text-left transition-colors hover:bg-accent hover:text-accent-foreground`,onClick:t=>s(e.id)},[V(`div`,JP,A(e.title),1),e.section?(R(),z(`div`,YP,A(e.section),1)):W(``,!0),e.match?(R(),z(`div`,XP,[U(A(e.before),1),V(`mark`,ZP,A(e.match),1),U(A(e.after),1)])):W(``,!0)],8,qP))),128))])):(R(),z(`div`,QP,[(R(!0),z(L,null,F(i.value,(e,t)=>(R(),z(L,{key:e.section},[e.section?(R(),z(`div`,{key:0,class:k([`px-2 pb-1 text-xs font-semibold uppercase tracking-wider text-muted-foreground`,t>0?`mt-3`:``])},A(e.section),3)):W(``,!0),(R(!0),z(L,null,F(e.pages,e=>(R(),z(`button`,{key:e.id,type:`button`,class:k([`w-full rounded-md px-2 py-1 text-left text-sm transition-colors`,n.value===e.id?`bg-primary text-primary-foreground`:`text-foreground hover:bg-accent hover:text-accent-foreground`]),onClick:t=>n.value=e.id},A(e.title),11,$P))),128))],64))),128))]))]),V(`div`,eF,[V(`div`,{class:`prose prose-sm dark:prose-invert mx-auto max-w-3xl px-8 py-6`,innerHTML:o.value?.html},null,8,tF)])]))}}),rF={en:`English`,fr:`French`,de:`German`,es:`Spanish`,pt:`Portuguese`,it:`Italian`,nl:`Dutch`,ca:`Catalan`,pl:`Polish`,ru:`Russian`,uk:`Ukrainian`,cs:`Czech`,sk:`Slovak`,sv:`Swedish`,da:`Danish`,no:`Norwegian`,nb:`Norwegian Bokmål`,fi:`Finnish`,tr:`Turkish`,el:`Greek`,ro:`Romanian`,hu:`Hungarian`,bg:`Bulgarian`,hr:`Croatian`,sr:`Serbian`,sl:`Slovenian`,ja:`Japanese`,ko:`Korean`,zh:`Chinese`,ar:`Arabic`,he:`Hebrew`,hi:`Hindi`,th:`Thai`,vi:`Vietnamese`,id:`Indonesian`,ms:`Malay`,fa:`Persian`};function iF(e){let[t=``,n]=e.split(/[-_]/),r=t.toLowerCase(),i=n&&/^[A-Za-z]{2}$/.test(n)?n.toUpperCase():void 0,a=rF[r]??e;return{code:e,name:i?`${a} (${i})`:a}}var aF={class:`p-6`},oF={class:`flex items-start gap-3 pr-6`},sF={class:`grid h-10 w-10 shrink-0 place-items-center rounded-lg border border-primary/25 bg-primary/10 font-mono text-[13px] font-semibold leading-none tracking-tight text-primary`},cF={class:`min-w-0`},lF={class:`font-medium text-foreground`},uF={class:`font-mono text-[12px]`},dF={class:`mt-4 flex items-center gap-4 rounded-lg border border-border bg-muted/40 px-3.5 py-2.5`},fF={class:`flex flex-col`},pF={class:`text-[17px] font-semibold leading-none tabular-nums`},mF={class:`flex flex-col`},hF={class:`text-[17px] font-semibold leading-none tabular-nums`},gF={class:`ml-auto flex items-center gap-1.5 whitespace-nowrap text-[11px] text-muted-foreground`},_F={class:`mt-5`},vF={class:`!flex min-w-0 items-center gap-2`},yF={class:`font-mono text-[13px]`},bF={class:`truncate text-[13px] text-muted-foreground`},xF={class:`flex items-center gap-2`},SF={class:`font-mono text-[13px]`},CF={class:`text-[13px] text-muted-foreground`},wF={class:`mt-4`},TF={class:`flex items-center justify-between`},EF={class:`whitespace-nowrap text-[12px] tabular-nums text-muted-foreground`},DF={class:`mt-1.5 flex flex-wrap gap-1.5 rounded-lg border border-border bg-muted/30 p-2.5`},OF=[`disabled`,`onClick`],kF={class:`font-mono`},AF={key:0,class:`ml-0.5 rounded-sm bg-primary/15 px-1 text-[9px] font-semibold uppercase tracking-wide text-primary`},jF={key:0,class:`mt-4`},MF={class:`overflow-hidden rounded-lg border border-border`},NF={class:`ml-auto font-mono text-[11px] text-muted-foreground/70`},PF={key:0,class:`divide-y divide-border border-t border-border gf-content-fade`},FF={class:`shrink-0 font-mono text-foreground`},IF={class:`ml-auto truncate text-right text-muted-foreground`},LF={key:0,class:`px-3 py-1.5 text-[11px] text-muted-foreground/70`},RF={class:`flex items-center gap-2 border-t border-border px-6 py-4`},zF={class:`ml-1 flex cursor-pointer select-none items-center gap-1.5 text-[12px] text-muted-foreground`},BF={class:`ml-auto`},VF={class:`flex flex-col items-center justify-center gap-4 p-6 py-8 text-center`},HF={key:0,class:`mt-1 text-[13px] text-muted-foreground`},UF={class:`p-6`},WF={class:`flex flex-col items-center gap-3 pt-1 text-center`},GF={class:`grid h-12 w-12 place-items-center rounded-full bg-success-bg text-success ring-1 ring-success-border`},KF={class:`font-semibold text-foreground tabular-nums`},qF={class:`font-semibold text-foreground`},JF={key:0,class:`mt-5 overflow-hidden rounded-lg border border-warning-border bg-warning-bg/60`},YF={class:`whitespace-nowrap text-[13px] font-medium text-warning`},XF={key:0,class:`max-h-44 divide-y divide-warning-border/40 overflow-auto border-t border-warning-border/70 gf-content-fade`},ZF={class:`flex items-center border-t border-border px-6 py-4`},QF={class:`ml-auto`},$F={class:`p-6`},eI={class:`flex items-start gap-3 pr-6`},tI={class:`grid h-10 w-10 shrink-0 place-items-center rounded-full bg-destructive-soft text-destructive`},nI={class:`min-w-0`},rI={class:`flex items-center border-t border-border px-6 py-4`},iI={class:`ml-auto`},aI=P({__name:`ImportWizard`,emits:[`dismiss`,`imported`],setup(e,{expose:t,emit:n}){let r=n,i=j(!0),a=j(`confirm`),o=j(null),s=j(``),c=j({}),l=j(!1),u=j(!1),d=j(null),f=j(``),p=j(!0);t({init:m});async function m(){try{let e=await Pf();if(!e.found){r(`dismiss`);return}o.value=e,s.value=e.sourceLocale}catch{r(`dismiss`)}}let h={"laravel-php":{label:`Laravel PHP`,glyph:`</>`,file:`lang/{locale}/*.php`},"vue-i18n-json":{label:`Vue i18n JSON`,glyph:`{ }`,file:`locales/{locale}.json`},"flutter-arb":{label:`Flutter ARB`,glyph:`arb`,file:`lib/l10n/app_{locale}.arb`},"apple-strings":{label:`Apple .strings`,glyph:``,file:`{locale}.lproj/Localizable.strings`}},g=K(()=>h[o.value?.format??``]??{label:o.value?.format??``,glyph:`{}`,file:``});function _(e){return e===s.value||!c.value[e]}function v(e){e!==s.value&&(c.value={...c.value,[e]:!c.value[e]})}let y=K(()=>o.value?o.value.locales.filter(_):[]),b=K(()=>y.value.length),x=K(()=>o.value?Math.max(0,o.value.keyCount-o.value.sampleKeys.length):0);async function S(){if(o.value){a.value=`importing`;try{d.value=await Ff({format:o.value.format,sourceLocale:s.value,locales:y.value,cldr:p.value}),a.value=`done`}catch(e){f.value=e.message,a.value=`error`}}}function C(e){e||a.value!==`importing`&&(a.value===`done`?r(`imported`):r(`dismiss`))}return(e,t)=>(R(),B(M(Oh),{open:i.value,"onUpdate:open":C},{default:N(()=>[H(M(hg),null,{default:N(()=>[H(M(pg),{class:`fixed inset-0 z-50 bg-foreground/40 gf-content-fade`}),H(M(ug),{class:`fixed left-1/2 top-1/2 z-50 w-[28rem] max-w-[calc(100vw-2rem)] -translate-x-1/2 -translate-y-1/2 rounded-xl border border-border bg-card text-card-foreground shadow-2xl focus:outline-none gf-content-fade`,onInteractOutside:t[9]||=Yl(()=>{},[`prevent`])},{default:N(()=>[a.value===`confirm`&&o.value?(R(),z(L,{key:0},[V(`button`,{type:`button`,class:`absolute right-3.5 top-3.5 z-10 grid h-7 w-7 place-items-center rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground`,onClick:t[0]||=e=>r(`dismiss`)},[H(M(Ad),{class:`size-4`})]),V(`div`,aF,[V(`div`,oF,[V(`div`,sF,A(g.value.glyph),1),V(`div`,cF,[H(M(gg),{class:`text-base font-semibold leading-tight`},{default:N(()=>[...t[10]||=[U(`Import your translations`,-1)]]),_:1}),H(M(dg),{class:`mt-0.5 text-[13px] text-muted-foreground`},{default:N(()=>[t[11]||=U(` Found a `,-1),V(`span`,lF,A(g.value.label),1),t[12]||=U(` setup in `,-1),V(`span`,uF,A(g.value.file),1),t[13]||=U(`. `,-1)]),_:1})])]),V(`div`,dF,[V(`div`,fF,[V(`span`,pF,A(o.value.keyCount.toLocaleString()),1),t[14]||=V(`span`,{class:`mt-1 whitespace-nowrap text-[11px] text-muted-foreground`},`keys detected`,-1)]),t[17]||=V(`div`,{class:`h-7 w-px bg-border`},null,-1),V(`div`,mF,[V(`span`,hF,A(o.value.locales.length),1),t[15]||=V(`span`,{class:`mt-1 whitespace-nowrap text-[11px] text-muted-foreground`},`locales`,-1)]),V(`div`,gF,[H(M(Ku),{class:`size-3.5 opacity-70`}),t[16]||=U(` Detected automatically `,-1)])]),V(`div`,_F,[H(M(yC),{class:`flex items-center gap-1.5 whitespace-nowrap`},{default:N(()=>[...t[18]||=[U(` Source language `,-1),V(`span`,{class:`text-[12px] font-normal text-muted-foreground`},`· the original text`,-1)]]),_:1}),H(M(yb),{modelValue:s.value,"onUpdate:modelValue":t[1]||=e=>s.value=e},{default:N(()=>[H(M(VS),{class:`mt-1.5`},{default:N(()=>[V(`span`,vF,[H(vw,{code:s.value,size:14},null,8,[`code`]),V(`span`,yF,A(s.value),1),V(`span`,bF,A(M(iF)(s.value).name),1)])]),_:1}),H(M(HS),null,{default:N(()=>[(R(!0),z(L,null,F(o.value.locales,e=>(R(),B(M(WS),{key:e,value:e},{default:N(()=>[V(`span`,xF,[H(vw,{code:e,size:14},null,8,[`code`]),V(`span`,SF,A(e),1),V(`span`,CF,A(M(iF)(e).name),1)])]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`])]),V(`div`,wF,[V(`div`,TF,[H(M(yC),{class:`whitespace-nowrap`},{default:N(()=>[...t[19]||=[U(`Locales to import`,-1)]]),_:1}),V(`span`,EF,A(b.value)+` of `+A(o.value.locales.length),1)]),V(`div`,DF,[(R(!0),z(L,null,F(o.value.locales,e=>(R(),B(M(ax),{key:e},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,disabled:e===s.value,class:k([`group inline-flex h-7 shrink-0 items-center gap-1.5 whitespace-nowrap rounded-md border pl-1.5 pr-2 text-[12px] transition-colors`,e===s.value?`border-primary/40 bg-primary/10 cursor-default`:_(e)?`border-input bg-card text-foreground hover:bg-muted`:`border-dashed border-border bg-transparent text-muted-foreground hover:bg-muted/50`]),onClick:t=>v(e)},[H(vw,{code:e,size:14},null,8,[`code`]),V(`span`,kF,A(e),1),e===s.value?(R(),z(`span`,AF,`src`)):(R(),z(`span`,{key:1,class:k([`grid size-3.5 place-items-center rounded-[3px] border`,_(e)?`border-primary bg-primary text-primary-foreground`:`border-border text-transparent`])},[H(M(Ou),{class:`size-2.5`,"stroke-width":3})],2))],10,OF)]),_:2},1024),H(M(PC),null,{default:N(()=>[U(A(e===s.value?`Source language — always imported`:_(e)?`Click to exclude`:`Click to include`),1)]),_:2},1024)]),_:2},1024))),128))])]),o.value.sampleKeys.length?(R(),z(`div`,jF,[V(`div`,MF,[V(`button`,{type:`button`,class:`flex w-full items-center gap-2 px-3 py-2 text-[13px] text-muted-foreground transition-colors hover:bg-muted/50`,onClick:t[2]||=e=>l.value=!l.value},[H(M(Au),{class:k([`size-3.5 shrink-0 transition-transform`,l.value?`rotate-90`:``])},null,8,[`class`]),t[20]||=V(`span`,{class:`whitespace-nowrap`},`Preview sample keys`,-1),V(`span`,NF,A(g.value.glyph),1)]),l.value?(R(),z(`div`,PF,[(R(!0),z(L,null,F(o.value.sampleKeys,e=>(R(),z(`div`,{key:e.key,class:`flex items-baseline gap-3 px-3 py-1.5 text-[12px]`},[V(`span`,FF,A(e.key),1),V(`span`,IF,A(e.value),1)]))),128)),x.value>0?(R(),z(`div`,LF,` + `+A(x.value.toLocaleString())+` more keys `,1)):W(``,!0)])):W(``,!0)])])):W(``,!0)]),V(`div`,RF,[H(M(Q),{variant:`ghost`,size:`sm`,onClick:t[3]||=e=>r(`dismiss`)},{default:N(()=>[...t[21]||=[U(`Skip`,-1)]]),_:1}),H(M(ax),null,{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`label`,zF,[_r(V(`input`,{type:`checkbox`,"data-testid":`cldr-toggle`,"onUpdate:modelValue":t[4]||=e=>p.value=e,class:`size-3.5 accent-primary`},null,512),[[Il,p.value]]),t[22]||=U(` Convert plurals to CLDR categories `,-1)])]),_:1}),H(M(PC),{class:`max-w-xs`},{default:N(()=>[...t[23]||=[U(`Rewrite exact =N plural selectors (e.g. =1) into each language's CLDR plural categories, the way Crowdin does.`,-1)]]),_:1})]),_:1}),V(`div`,BF,[H(M(Q),{"data-testid":`import-btn`,disabled:b.value===0,onClick:S},{default:N(()=>[H(M(jd),{class:`size-4`}),U(` Import `+A(b.value)+` `+A(b.value===1?`locale`:`locales`),1)]),_:1},8,[`disabled`])])])],64)):a.value===`importing`?(R(),z(L,{key:1},[H(M(gg),{class:`sr-only`},{default:N(()=>[...t[24]||=[U(`Importing translations`,-1)]]),_:1}),V(`div`,VF,[H(M(ed),{class:`size-10 text-primary gf-spin`}),V(`div`,null,[t[25]||=V(`div`,{class:`text-sm font-semibold`},`Importing translations…`,-1),o.value?(R(),z(`div`,HF,` Reading `+A(o.value.keyCount.toLocaleString())+` keys across `+A(b.value)+` locales `,1)):W(``,!0)])])],64)):a.value===`done`&&d.value?(R(),z(L,{key:2},[V(`div`,UF,[V(`div`,WF,[V(`div`,GF,[H(M(Ou),{class:`size-6`,"stroke-width":2.5})]),V(`div`,null,[H(M(gg),{class:`text-base font-semibold`},{default:N(()=>[...t[26]||=[U(`Import complete`,-1)]]),_:1}),H(M(dg),{class:`mt-1 text-[13px] text-muted-foreground`},{default:N(()=>[V(`span`,KF,A(d.value.keyCount.toLocaleString())+` keys`,1),t[27]||=U(` across `,-1),V(`span`,qF,A(d.value.localeCount)+` locales`,1),t[28]||=U(` imported. `,-1)]),_:1})])]),d.value.warnings.length?(R(),z(`div`,JF,[V(`button`,{type:`button`,class:`flex w-full items-center gap-2 px-3 py-2.5 text-left`,onClick:t[5]||=e=>u.value=!u.value},[H(M(Ed),{class:`size-3.5 shrink-0 text-warning`}),V(`span`,YF,A(d.value.warnings.length)+` `+A(d.value.warnings.length===1?`warning`:`warnings`),1),t[29]||=V(`span`,{class:`whitespace-nowrap text-[12px] text-warning/70`},`· import still succeeded`,-1),H(M(Au),{class:k([`ml-auto size-3.5 shrink-0 text-warning transition-transform`,u.value?`rotate-90`:``])},null,8,[`class`])]),u.value?(R(),z(`ul`,XF,[(R(!0),z(L,null,F(d.value.warnings,(e,t)=>(R(),z(`li`,{key:t,class:`px-3 py-2 text-[12px] text-muted-foreground`},A(e),1))),128))])):W(``,!0)])):W(``,!0)]),V(`div`,ZF,[V(`div`,QF,[H(M(Q),{onClick:t[6]||=e=>r(`imported`)},{default:N(()=>[t[30]||=U(`Open editor `,-1),H(M(xu),{class:`size-4`})]),_:1})])])],64)):a.value===`error`?(R(),z(L,{key:3},[V(`button`,{type:`button`,class:`absolute right-3.5 top-3.5 z-10 grid h-7 w-7 place-items-center rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground`,onClick:t[7]||=e=>r(`dismiss`)},[H(M(Ad),{class:`size-4`})]),V(`div`,$F,[V(`div`,eI,[V(`div`,tI,[H(M(Ed),{class:`size-5`})]),V(`div`,nI,[H(M(gg),{class:`text-base font-semibold`},{default:N(()=>[...t[31]||=[U(`Couldn't import translations`,-1)]]),_:1}),H(M(dg),{class:`mt-1 text-[13px] text-muted-foreground`},{default:N(()=>[U(A(f.value),1)]),_:1})])])]),V(`div`,rI,[V(`div`,iI,[H(M(Q),{variant:`outline`,onClick:t[8]||=e=>r(`dismiss`)},{default:N(()=>[...t[32]||=[U(`Dismiss`,-1)]]),_:1})])])],64)):W(``,!0)]),_:1})]),_:1})]),_:1},8,[`open`]))}}),oI=`glotfile-theme`,sI=[`system`,`light`,`dark`],cI=e=>sI.includes(e);function lI(){let e=localStorage.getItem(oI);return cI(e)?e:`system`}var uI=window.matchMedia(`(prefers-color-scheme: dark)`),dI=j(uI.matches);uI.addEventListener(`change`,e=>{dI.value=e.matches});var fI=j(lI()),pI=K(()=>fI.value===`system`?dI.value:fI.value===`dark`);function mI(){document.documentElement.classList.toggle(`dark`,pI.value)}function hI(){Dr(pI,mI,{immediate:!0,flush:`sync`})}function gI(e){fI.value=e,localStorage.setItem(oI,e),sf({theme:e}).catch(()=>{})}async function _I(){try{let{theme:e}=await of();cI(e)&&e!==fI.value&&(fI.value=e,localStorage.setItem(oI,e))}catch{}}var vI={class:`flex flex-col items-center gap-0.5 rounded-lg bg-black/15 p-0.5`},yI=[`data-mode`,`aria-label`,`aria-pressed`,`onClick`],bI=P({__name:`ThemeToggle`,setup(e){let t=[{value:`light`,label:`Light`,icon:Sd},{value:`system`,label:`System`,icon:rd},{value:`dark`,label:`Dark`,icon:id}];return(e,n)=>(R(),z(`div`,vI,[(R(),z(L,null,F(t,e=>H(M(ax),{key:e.value},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,"data-mode":e.value,"aria-label":e.label,"aria-pressed":M(fI)===e.value,class:k(M(LS)(`flex size-8 items-center justify-center rounded-md transition-colors`,M(fI)===e.value?`bg-primary text-primary-foreground`:`text-rail-foreground/70 hover:bg-white/10 hover:text-rail-foreground`)),onClick:t=>M(gI)(e.value)},[(R(),B(aa(e.icon),{class:`size-4`}))],10,yI)]),_:2},1024),H(M(PC),{side:`right`},{default:N(()=>[U(A(e.label),1)]),_:2},1024)]),_:2},1024)),64))]))}}),xI=P({__name:`Kbd`,props:{class:{}},setup(e){return(e,t)=>(R(),z(`kbd`,{class:k(M(LS)(`inline-flex h-5 min-w-5 items-center justify-center rounded border bg-muted px-1.5 font-mono text-xs font-medium text-muted-foreground`,e.$props.class))},[I(e.$slots,`default`)],2))}}),SI=[{route:`editor`,keys:[`g`,`e`],label:`Editor`},{route:`analytics`,keys:[`g`,`a`],label:`Analytics`},{route:`glossary`,keys:[`g`,`g`],label:`Glossary`},{route:`screenshots`,keys:[`g`,`i`],label:`Screenshots`},{route:`settings`,keys:[`g`,`s`],label:`Settings`},{route:`activity`,keys:[`g`,`l`],label:`Activity`},{route:`docs`,keys:[`g`,`d`],label:`Docs`}];function CI(e,t){if(e.pending===`g`){let e=SI.find(e=>e.keys[1]===t);return{state:{pending:null},action:e?{type:`navigate`,route:e.route}:null}}return t===`g`?{state:{pending:`g`},action:null}:t===`?`?{state:{pending:null},action:{type:`toggleHelp`}}:{state:{pending:null},action:null}}var wI={class:`flex w-14 shrink-0 flex-col items-center gap-1 bg-rail py-3 text-rail-foreground`},TI=[`aria-label`,`onClick`],EI={key:0,class:`flex items-center gap-0.5`},DI={class:`mt-auto flex flex-col items-center gap-1.5`},OI={class:`font-mono text-[10px] text-rail-foreground/50`},kI=P({__name:`NavRail`,setup(e){let t=Dp(),n=[{id:`editor`,label:`Editor`,icon:Qu},{id:`analytics`,label:`Analytics`,icon:Du},{id:`glossary`,label:`Glossary`,icon:Eu},{id:`screenshots`,label:`Screenshots`,icon:Xu},{id:`settings`,label:`Settings`,icon:hd},{id:`activity`,label:`Activity`,icon:pd},{id:`docs`,label:`Docs`,icon:wu}].map(e=>({...e,keys:SI.find(t=>t.route===e.id)?.keys}));return(e,r)=>(R(),B(M(tx),{"delay-duration":300},{default:N(()=>[V(`nav`,wI,[r[0]||=V(`div`,{class:`mb-3 flex size-9 items-center justify-center rounded-md bg-primary font-mono text-base font-semibold text-primary-foreground`},` G `,-1),(R(!0),z(L,null,F(M(n),e=>(R(),B(M(ax),{key:e.id},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,"aria-label":e.label,class:k(M(LS)(`relative flex size-10 items-center justify-center rounded-md transition-colors`,M(t)===e.id?`bg-primary text-primary-foreground`:`text-rail-foreground/70 hover:bg-white/10 hover:text-rail-foreground`)),onClick:t=>M(Ep)(e.id)},[(R(),B(aa(e.icon),{class:`size-5`}))],10,TI)]),_:2},1024),H(M(PC),{side:`right`,class:`flex items-center gap-2`},{default:N(()=>[V(`span`,null,A(e.label),1),e.keys?(R(),z(`span`,EI,[(R(!0),z(L,null,F(e.keys,(e,t)=>(R(),B(xI,{key:t},{default:N(()=>[U(A(e),1)]),_:2},1024))),128))])):W(``,!0)]),_:2},1024)]),_:2},1024))),128)),V(`div`,DI,[H(bI),V(`span`,OI,`v`+A(M(`0.7.1`)),1)])])]),_:1}))}}),AI={class:`flex flex-col gap-1`},jI={class:`flex items-center gap-1`},MI={class:`flex items-center justify-between py-1 text-sm`},NI={class:`flex items-center gap-1`},PI=P({__name:`ShortcutsDialog`,props:{open:{type:Boolean,required:!0},openModifiers:{}},emits:[`update:open`],setup(e){let t=Za(e,`open`);return(e,n)=>(R(),B(M(Oh),{open:t.value,"onUpdate:open":n[0]||=e=>t.value=e},{default:N(()=>[H(M(bC),{class:`max-w-sm`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),null,{default:N(()=>[...n[1]||=[U(`Keyboard shortcuts`,-1)]]),_:1})]),_:1}),V(`ul`,AI,[(R(!0),z(L,null,F(M(SI),e=>(R(),z(`li`,{key:e.route,class:`flex items-center justify-between py-1 text-sm`},[V(`span`,null,A(e.label),1),V(`span`,jI,[(R(!0),z(L,null,F(e.keys,(e,t)=>(R(),B(xI,{key:t},{default:N(()=>[U(A(e),1)]),_:2},1024))),128))])]))),128)),V(`li`,MI,[n[3]||=V(`span`,null,`Search keys`,-1),V(`span`,NI,[H(xI,null,{default:N(()=>[...n[2]||=[U(`/`,-1)]]),_:1})])])])]),_:1})]),_:1},8,[`open`]))}}),FI=j(!1),II=1e3;function LI(){let e={pending:null},t=null;function n(){t!==null&&(clearTimeout(t),t=null)}function r(r){if(r.metaKey||r.ctrlKey||r.altKey||r.repeat)return;let i=r.target;if(i&&(i.tagName===`INPUT`||i.tagName===`TEXTAREA`||i.isContentEditable))return;let a=r.key.toLowerCase(),o=!!document.querySelector(`[role="dialog"],[role="menu"],[role="listbox"]`),s=a===`?`&&FI.value;if(o&&!s)return;let c=CI(e,a);e=c.state,n(),e.pending===`g`&&(t=window.setTimeout(()=>{e={pending:null},t=null},II));let{action:l}=c;l&&(l.type===`navigate`?Ep(l.route):FI.value=!FI.value,r.preventDefault())}Ki(()=>window.addEventListener(`keydown`,r)),Xi(()=>{n(),window.removeEventListener(`keydown`,r)})}var RI={class:`flex h-screen bg-background text-foreground`},zI={class:`flex min-w-0 flex-1 flex-col`},BI={class:`flex h-12 shrink-0 items-center justify-between border-b px-4`},VI={class:`flex min-w-0 items-center gap-3`},HI={key:0,class:`flex min-w-0 items-center gap-1.5`},UI={class:`max-w-[12rem] shrink-0 truncate font-mono text-sm font-medium`},WI={class:`truncate`},GI={key:0,class:`text-muted-foreground`},KI={class:`text-sm font-semibold`},qI={class:`font-mono`},JI={class:`flex min-h-0 flex-1 flex-col overflow-hidden`},YI=P({__name:`App`,setup(e){let t=Dp();LI();let n=dn(null),r=j(null),i=j([]),a=K(()=>[...i.value].sort((e,t)=>{let n=e.relDir?`${e.relDir}/${e.name}`:e.name,r=t.relDir?`${t.relDir}/${t.name}`:t.name;return n.localeCompare(r)})),o=j(!1),s=j(null);async function c(){n.value=await Md()}Ki(async()=>{await c();try{[r.value,i.value]=await Promise.all([Ef(),Df()]),document.title=r.value.project?`${r.value.project} — Glotfile`:`Glotfile`}catch(e){$.error(e.message)}n.value&&Object.keys(n.value.keys).length===0&&(o.value=!0)});function l(){location.reload()}async function u(e){if(e!==r.value?.path)try{await Of(e),location.reload()}catch(e){$.error(e.message)}}let d=K(()=>({editor:`Editor`,analytics:`Analytics`,glossary:`Glossary`,screenshots:`Screenshots`,settings:`Settings`,activity:`Activity`,docs:`Docs`})[t.value]),f=K(()=>{if(!n.value)return null;let{sourceLocale:e,locales:t}=n.value.config;return{source:e,targets:t.filter(t=>t!==e)}});return(e,n)=>(R(),B(M(tx),{"delay-duration":300},{default:N(()=>[V(`div`,RI,[H(kI),V(`div`,zI,[V(`header`,BI,[V(`div`,VI,[r.value?(R(),z(`div`,HI,[H(M(ax),null,{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`span`,UI,A(r.value.project),1)]),_:1}),H(M(PC),{side:`bottom`,class:`font-mono`},{default:N(()=>[U(A(r.value.dir),1)]),_:1})]),_:1}),H(M(Au),{class:`size-3.5 shrink-0 text-muted-foreground`}),H(M(rb),null,{default:N(()=>[H(M(lb),{"as-child":``},{default:N(()=>[H(M(Q),{variant:`outline`,size:`sm`,class:`max-w-[16rem] gap-1.5 font-mono`},{default:N(()=>[V(`span`,WI,A(r.value.name),1),H(M(ju),{class:`size-3.5 shrink-0 text-muted-foreground`})]),_:1})]),_:1}),H(M(TC),{align:`start`,class:`w-max`},{default:N(()=>[(R(!0),z(L,null,F(a.value,e=>(R(),B(M(EC),{key:e.path,class:`font-mono`,onSelect:t=>u(e.path)},{default:N(()=>[H(M(Ou),{class:k([`size-4 shrink-0`,e.path===r.value.path?`opacity-100`:`opacity-0`])},null,8,[`class`]),V(`span`,null,[e.relDir?(R(),z(`span`,GI,A(e.relDir)+`/`,1)):W(``,!0),U(A(e.name),1)])]),_:2},1032,[`onSelect`]))),128))]),_:1})]),_:1})])):W(``,!0),V(`h1`,KI,A(d.value),1)]),f.value?(R(),B(M(ax),{key:0},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:`shrink-0 font-mono text-xs text-muted-foreground transition-colors hover:text-foreground`,onClick:n[0]||=e=>M(Ep)(`settings`)},A(f.value.source)+` → `+A(f.value.targets.length)+` `+A(f.value.targets.length===1?`locale`:`locales`),1)]),_:1}),H(M(PC),{side:`bottom`,class:`max-w-[28rem] leading-relaxed`},{default:N(()=>[V(`div`,qI,A(f.value.targets.join(`, `)||`—`),1),n[4]||=V(`div`,{class:`mt-1 text-background/60`},`Click to manage in Settings`,-1)]),_:1})]),_:1})):W(``,!0)]),V(`main`,JI,[M(t)===`editor`?(R(),B(yO,{key:0})):M(t)===`analytics`?(R(),B(pA,{key:1})):M(t)===`glossary`?(R(),B(zA,{key:2})):M(t)===`screenshots`?(R(),B(pP,{key:3})):M(t)===`settings`?(R(),B(ZN,{key:4})):M(t)===`activity`?(R(),B(BP,{key:5})):M(t)===`docs`?(R(),B(nF,{key:6})):W(``,!0)])]),H(M(pC)),H(PI,{open:M(FI),"onUpdate:open":n[1]||=e=>un(FI)?FI.value=e:null},null,8,[`open`]),o.value?(R(),B(aI,{key:0,ref_key:`wizardRef`,ref:s,onVnodeMounted:n[2]||=e=>s.value?.init(),onDismiss:n[3]||=e=>o.value=!1,onImported:l},null,512)):W(``,!0)])]),_:1}))}});hI(),au(YI).mount(`#app`),_I(),qD(),fT();
|
|
2124
|
+
`,text:`Troubleshooting and FAQ Setup It's pre-1.0 and not yet on npm. Run from a checkout: . See Installation. Wrong Node version Glotfile needs Node . Check with . Translation "Install the SDK for this provider" OpenAI, OpenRouter, and Bedrock need an optional SDK. Install the one for your provider — (OpenAI or OpenRouter) or (Bedrock). See AI Providers. No API key / auth errors Set the provider's credentials in your environment or a local : , , , or the AWS chain. See AI Providers. A translation was skipped The result failed validation — a dropped placeholder, broken ICU, or an over-length value. Glotfile prints the reason and leaves the value untranslated. See Placeholders and ICU and How Translation Works. My reviewed translation didn't change after That's intentional — values are protected from being overwritten. Unmark it first to re-translate. Screenshots seem ignored The selected model may not support vision (e.g. Bedrock Meta Llama text models). The run proceeds text-only and warns how many screenshots were skipped. See Screenshots. Validation and CI fails with Your exported files don't match the catalog. Run and commit the result. See Continuous Integration. Spelling flags real words Add them to the custom dictionary in Settings ( ). The same list silences both the editor's live spell check and the lint rule. Glossary terms are accepted automatically. See Checks and Validation. A rule is too noisy Override its severity (or turn it off) in , or certain key globs. See Configuration Reference. Files and git Can I edit by hand? You can, but you rarely need to — the UI writes it for you, deterministically. If you do edit it, keep it valid: it's validated on load. See The State File. Big diffs on every save Check ( , , ). Deterministic formatting keeps diffs minimal. See The State File. General Do I already have translations I can import? Import existing locale files with — see import. You can also add keys via the Editor. Does anything leave my machine? Only the AI calls you trigger. The UI is local-only; no credentials or screenshot bytes are ever logged. See AI Log. Related - Home · Installation · AI Providers · Continuous Integration`}],HP={class:`flex min-h-0 flex-1 overflow-hidden`},UP={class:`flex w-56 shrink-0 flex-col overflow-hidden border-r bg-muted/30`},WP={class:`relative shrink-0 px-2 py-2`},GP={key:0,class:`flex flex-col gap-1 overflow-y-auto px-2 pb-3`},KP={class:`px-2 py-1 text-xs text-muted-foreground`},qP=[`onClick`],JP={class:`text-sm font-medium`},YP={key:0,class:`text-[10px] uppercase tracking-wider text-muted-foreground`},XP={key:1,class:`mt-0.5 line-clamp-2 text-xs text-muted-foreground`},ZP={class:`bg-primary/20 text-foreground`},QP={key:1,class:`flex flex-col gap-1 overflow-y-auto px-2 pb-3`},$P=[`onClick`],eF={class:`min-w-0 flex-1 overflow-y-auto`},tF=[`innerHTML`],nF=P({__name:`DocsView`,setup(e){let t=[``,`Getting Started`,`Web UI`,`CLI`,`Concepts`,`AI Translation`,`Reference`,`Guides`,`Help`],n=j(VP[0]?.id??``),r=j(``),i=K(()=>{let e=new Map;for(let n of t)e.set(n,[]);for(let t of VP)e.has(t.section)||e.set(t.section,[]),e.get(t.section).push(t);return t.map(t=>({section:t,pages:e.get(t)??[]})).filter(e=>e.pages.length>0)}),a=K(()=>{let e=r.value.trim().toLowerCase();if(!e)return[];let t=[];for(let n of VP){let r=n.text.toLowerCase(),i=n.title.toLowerCase().includes(e),a=r.indexOf(e);if(a===-1&&!i)continue;if(a===-1){t.push({id:n.id,title:n.title,section:n.section,before:``,match:``,after:``});continue}let o=Math.max(0,a-40),s=Math.min(n.text.length,a+e.length+80);t.push({id:n.id,title:n.title,section:n.section,before:(o>0?`…`:``)+n.text.slice(o,a),match:n.text.slice(a,a+e.length),after:n.text.slice(a+e.length,s)+(s<n.text.length?`…`:``)})}return t}),o=K(()=>VP.find(e=>e.id===n.value)??VP[0]);function s(e){n.value=e,r.value=``}return(e,t)=>(R(),z(`div`,HP,[V(`nav`,UP,[V(`div`,WP,[H(M(md),{class:`pointer-events-none absolute left-4 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground`}),_r(V(`input`,{"onUpdate:modelValue":t[0]||=e=>r.value=e,type:`search`,placeholder:`Search docs…`,class:`w-full rounded-md border bg-background py-1 pl-7 pr-7 text-sm outline-none focus:ring-2 focus:ring-ring`},null,512),[[Fl,r.value]]),r.value?(R(),z(`button`,{key:0,type:`button`,class:`absolute right-4 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,onClick:t[1]||=e=>r.value=``},[H(M(Ad),{class:`size-3.5`})])):W(``,!0)]),r.value.trim()?(R(),z(`div`,GP,[V(`div`,KP,A(a.value.length)+` result`+A(a.value.length===1?``:`s`),1),(R(!0),z(L,null,F(a.value,e=>(R(),z(`button`,{key:e.id,type:`button`,class:`w-full rounded-md px-2 py-1.5 text-left transition-colors hover:bg-accent hover:text-accent-foreground`,onClick:t=>s(e.id)},[V(`div`,JP,A(e.title),1),e.section?(R(),z(`div`,YP,A(e.section),1)):W(``,!0),e.match?(R(),z(`div`,XP,[U(A(e.before),1),V(`mark`,ZP,A(e.match),1),U(A(e.after),1)])):W(``,!0)],8,qP))),128))])):(R(),z(`div`,QP,[(R(!0),z(L,null,F(i.value,(e,t)=>(R(),z(L,{key:e.section},[e.section?(R(),z(`div`,{key:0,class:k([`px-2 pb-1 text-xs font-semibold uppercase tracking-wider text-muted-foreground`,t>0?`mt-3`:``])},A(e.section),3)):W(``,!0),(R(!0),z(L,null,F(e.pages,e=>(R(),z(`button`,{key:e.id,type:`button`,class:k([`w-full rounded-md px-2 py-1 text-left text-sm transition-colors`,n.value===e.id?`bg-primary text-primary-foreground`:`text-foreground hover:bg-accent hover:text-accent-foreground`]),onClick:t=>n.value=e.id},A(e.title),11,$P))),128))],64))),128))]))]),V(`div`,eF,[V(`div`,{class:`prose prose-sm dark:prose-invert mx-auto max-w-3xl px-8 py-6`,innerHTML:o.value?.html},null,8,tF)])]))}}),rF={en:`English`,fr:`French`,de:`German`,es:`Spanish`,pt:`Portuguese`,it:`Italian`,nl:`Dutch`,ca:`Catalan`,pl:`Polish`,ru:`Russian`,uk:`Ukrainian`,cs:`Czech`,sk:`Slovak`,sv:`Swedish`,da:`Danish`,no:`Norwegian`,nb:`Norwegian Bokmål`,fi:`Finnish`,tr:`Turkish`,el:`Greek`,ro:`Romanian`,hu:`Hungarian`,bg:`Bulgarian`,hr:`Croatian`,sr:`Serbian`,sl:`Slovenian`,ja:`Japanese`,ko:`Korean`,zh:`Chinese`,ar:`Arabic`,he:`Hebrew`,hi:`Hindi`,th:`Thai`,vi:`Vietnamese`,id:`Indonesian`,ms:`Malay`,fa:`Persian`};function iF(e){let[t=``,n]=e.split(/[-_]/),r=t.toLowerCase(),i=n&&/^[A-Za-z]{2}$/.test(n)?n.toUpperCase():void 0,a=rF[r]??e;return{code:e,name:i?`${a} (${i})`:a}}var aF={class:`p-6`},oF={class:`flex items-start gap-3 pr-6`},sF={class:`grid h-10 w-10 shrink-0 place-items-center rounded-lg border border-primary/25 bg-primary/10 font-mono text-[13px] font-semibold leading-none tracking-tight text-primary`},cF={class:`min-w-0`},lF={class:`font-medium text-foreground`},uF={class:`font-mono text-[12px]`},dF={class:`mt-4 flex items-center gap-4 rounded-lg border border-border bg-muted/40 px-3.5 py-2.5`},fF={class:`flex flex-col`},pF={class:`text-[17px] font-semibold leading-none tabular-nums`},mF={class:`flex flex-col`},hF={class:`text-[17px] font-semibold leading-none tabular-nums`},gF={class:`ml-auto flex items-center gap-1.5 whitespace-nowrap text-[11px] text-muted-foreground`},_F={class:`mt-5`},vF={class:`!flex min-w-0 items-center gap-2`},yF={class:`font-mono text-[13px]`},bF={class:`truncate text-[13px] text-muted-foreground`},xF={class:`flex items-center gap-2`},SF={class:`font-mono text-[13px]`},CF={class:`text-[13px] text-muted-foreground`},wF={class:`mt-4`},TF={class:`flex items-center justify-between`},EF={class:`whitespace-nowrap text-[12px] tabular-nums text-muted-foreground`},DF={class:`mt-1.5 flex flex-wrap gap-1.5 rounded-lg border border-border bg-muted/30 p-2.5`},OF=[`disabled`,`onClick`],kF={class:`font-mono`},AF={key:0,class:`ml-0.5 rounded-sm bg-primary/15 px-1 text-[9px] font-semibold uppercase tracking-wide text-primary`},jF={key:0,class:`mt-4`},MF={class:`overflow-hidden rounded-lg border border-border`},NF={class:`ml-auto font-mono text-[11px] text-muted-foreground/70`},PF={key:0,class:`divide-y divide-border border-t border-border gf-content-fade`},FF={class:`shrink-0 font-mono text-foreground`},IF={class:`ml-auto truncate text-right text-muted-foreground`},LF={key:0,class:`px-3 py-1.5 text-[11px] text-muted-foreground/70`},RF={class:`flex items-center gap-2 border-t border-border px-6 py-4`},zF={class:`ml-1 flex cursor-pointer select-none items-center gap-1.5 text-[12px] text-muted-foreground`},BF={class:`ml-auto`},VF={class:`flex flex-col items-center justify-center gap-4 p-6 py-8 text-center`},HF={key:0,class:`mt-1 text-[13px] text-muted-foreground`},UF={class:`p-6`},WF={class:`flex flex-col items-center gap-3 pt-1 text-center`},GF={class:`grid h-12 w-12 place-items-center rounded-full bg-success-bg text-success ring-1 ring-success-border`},KF={class:`font-semibold text-foreground tabular-nums`},qF={class:`font-semibold text-foreground`},JF={key:0,class:`mt-5 overflow-hidden rounded-lg border border-warning-border bg-warning-bg/60`},YF={class:`whitespace-nowrap text-[13px] font-medium text-warning`},XF={key:0,class:`max-h-44 divide-y divide-warning-border/40 overflow-auto border-t border-warning-border/70 gf-content-fade`},ZF={class:`flex items-center border-t border-border px-6 py-4`},QF={class:`ml-auto`},$F={class:`p-6`},eI={class:`flex items-start gap-3 pr-6`},tI={class:`grid h-10 w-10 shrink-0 place-items-center rounded-full bg-destructive-soft text-destructive`},nI={class:`min-w-0`},rI={class:`flex items-center border-t border-border px-6 py-4`},iI={class:`ml-auto`},aI=P({__name:`ImportWizard`,emits:[`dismiss`,`imported`],setup(e,{expose:t,emit:n}){let r=n,i=j(!0),a=j(`confirm`),o=j(null),s=j(``),c=j({}),l=j(!1),u=j(!1),d=j(null),f=j(``),p=j(!0);t({init:m});async function m(){try{let e=await Pf();if(!e.found){r(`dismiss`);return}o.value=e,s.value=e.sourceLocale}catch{r(`dismiss`)}}let h={"laravel-php":{label:`Laravel PHP`,glyph:`</>`,file:`lang/{locale}/*.php`},"vue-i18n-json":{label:`Vue i18n JSON`,glyph:`{ }`,file:`locales/{locale}.json`},"flutter-arb":{label:`Flutter ARB`,glyph:`arb`,file:`lib/l10n/app_{locale}.arb`},"apple-strings":{label:`Apple .strings`,glyph:``,file:`{locale}.lproj/Localizable.strings`}},g=K(()=>h[o.value?.format??``]??{label:o.value?.format??``,glyph:`{}`,file:``});function _(e){return e===s.value||!c.value[e]}function v(e){e!==s.value&&(c.value={...c.value,[e]:!c.value[e]})}let y=K(()=>o.value?o.value.locales.filter(_):[]),b=K(()=>y.value.length),x=K(()=>o.value?Math.max(0,o.value.keyCount-o.value.sampleKeys.length):0);async function S(){if(o.value){a.value=`importing`;try{d.value=await Ff({format:o.value.format,sourceLocale:s.value,locales:y.value,cldr:p.value}),a.value=`done`}catch(e){f.value=e.message,a.value=`error`}}}function C(e){e||a.value!==`importing`&&(a.value===`done`?r(`imported`):r(`dismiss`))}return(e,t)=>(R(),B(M(Oh),{open:i.value,"onUpdate:open":C},{default:N(()=>[H(M(hg),null,{default:N(()=>[H(M(pg),{class:`fixed inset-0 z-50 bg-foreground/40 gf-content-fade`}),H(M(ug),{class:`fixed left-1/2 top-1/2 z-50 w-[28rem] max-w-[calc(100vw-2rem)] -translate-x-1/2 -translate-y-1/2 rounded-xl border border-border bg-card text-card-foreground shadow-2xl focus:outline-none gf-content-fade`,onInteractOutside:t[9]||=Yl(()=>{},[`prevent`])},{default:N(()=>[a.value===`confirm`&&o.value?(R(),z(L,{key:0},[V(`button`,{type:`button`,class:`absolute right-3.5 top-3.5 z-10 grid h-7 w-7 place-items-center rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground`,onClick:t[0]||=e=>r(`dismiss`)},[H(M(Ad),{class:`size-4`})]),V(`div`,aF,[V(`div`,oF,[V(`div`,sF,A(g.value.glyph),1),V(`div`,cF,[H(M(gg),{class:`text-base font-semibold leading-tight`},{default:N(()=>[...t[10]||=[U(`Import your translations`,-1)]]),_:1}),H(M(dg),{class:`mt-0.5 text-[13px] text-muted-foreground`},{default:N(()=>[t[11]||=U(` Found a `,-1),V(`span`,lF,A(g.value.label),1),t[12]||=U(` setup in `,-1),V(`span`,uF,A(g.value.file),1),t[13]||=U(`. `,-1)]),_:1})])]),V(`div`,dF,[V(`div`,fF,[V(`span`,pF,A(o.value.keyCount.toLocaleString()),1),t[14]||=V(`span`,{class:`mt-1 whitespace-nowrap text-[11px] text-muted-foreground`},`keys detected`,-1)]),t[17]||=V(`div`,{class:`h-7 w-px bg-border`},null,-1),V(`div`,mF,[V(`span`,hF,A(o.value.locales.length),1),t[15]||=V(`span`,{class:`mt-1 whitespace-nowrap text-[11px] text-muted-foreground`},`locales`,-1)]),V(`div`,gF,[H(M(Ku),{class:`size-3.5 opacity-70`}),t[16]||=U(` Detected automatically `,-1)])]),V(`div`,_F,[H(M(yC),{class:`flex items-center gap-1.5 whitespace-nowrap`},{default:N(()=>[...t[18]||=[U(` Source language `,-1),V(`span`,{class:`text-[12px] font-normal text-muted-foreground`},`· the original text`,-1)]]),_:1}),H(M(yb),{modelValue:s.value,"onUpdate:modelValue":t[1]||=e=>s.value=e},{default:N(()=>[H(M(VS),{class:`mt-1.5`},{default:N(()=>[V(`span`,vF,[H(vw,{code:s.value,size:14},null,8,[`code`]),V(`span`,yF,A(s.value),1),V(`span`,bF,A(M(iF)(s.value).name),1)])]),_:1}),H(M(HS),null,{default:N(()=>[(R(!0),z(L,null,F(o.value.locales,e=>(R(),B(M(WS),{key:e,value:e},{default:N(()=>[V(`span`,xF,[H(vw,{code:e,size:14},null,8,[`code`]),V(`span`,SF,A(e),1),V(`span`,CF,A(M(iF)(e).name),1)])]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`])]),V(`div`,wF,[V(`div`,TF,[H(M(yC),{class:`whitespace-nowrap`},{default:N(()=>[...t[19]||=[U(`Locales to import`,-1)]]),_:1}),V(`span`,EF,A(b.value)+` of `+A(o.value.locales.length),1)]),V(`div`,DF,[(R(!0),z(L,null,F(o.value.locales,e=>(R(),B(M(ax),{key:e},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,disabled:e===s.value,class:k([`group inline-flex h-7 shrink-0 items-center gap-1.5 whitespace-nowrap rounded-md border pl-1.5 pr-2 text-[12px] transition-colors`,e===s.value?`border-primary/40 bg-primary/10 cursor-default`:_(e)?`border-input bg-card text-foreground hover:bg-muted`:`border-dashed border-border bg-transparent text-muted-foreground hover:bg-muted/50`]),onClick:t=>v(e)},[H(vw,{code:e,size:14},null,8,[`code`]),V(`span`,kF,A(e),1),e===s.value?(R(),z(`span`,AF,`src`)):(R(),z(`span`,{key:1,class:k([`grid size-3.5 place-items-center rounded-[3px] border`,_(e)?`border-primary bg-primary text-primary-foreground`:`border-border text-transparent`])},[H(M(Ou),{class:`size-2.5`,"stroke-width":3})],2))],10,OF)]),_:2},1024),H(M(PC),null,{default:N(()=>[U(A(e===s.value?`Source language — always imported`:_(e)?`Click to exclude`:`Click to include`),1)]),_:2},1024)]),_:2},1024))),128))])]),o.value.sampleKeys.length?(R(),z(`div`,jF,[V(`div`,MF,[V(`button`,{type:`button`,class:`flex w-full items-center gap-2 px-3 py-2 text-[13px] text-muted-foreground transition-colors hover:bg-muted/50`,onClick:t[2]||=e=>l.value=!l.value},[H(M(Au),{class:k([`size-3.5 shrink-0 transition-transform`,l.value?`rotate-90`:``])},null,8,[`class`]),t[20]||=V(`span`,{class:`whitespace-nowrap`},`Preview sample keys`,-1),V(`span`,NF,A(g.value.glyph),1)]),l.value?(R(),z(`div`,PF,[(R(!0),z(L,null,F(o.value.sampleKeys,e=>(R(),z(`div`,{key:e.key,class:`flex items-baseline gap-3 px-3 py-1.5 text-[12px]`},[V(`span`,FF,A(e.key),1),V(`span`,IF,A(e.value),1)]))),128)),x.value>0?(R(),z(`div`,LF,` + `+A(x.value.toLocaleString())+` more keys `,1)):W(``,!0)])):W(``,!0)])])):W(``,!0)]),V(`div`,RF,[H(M(Q),{variant:`ghost`,size:`sm`,onClick:t[3]||=e=>r(`dismiss`)},{default:N(()=>[...t[21]||=[U(`Skip`,-1)]]),_:1}),H(M(ax),null,{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`label`,zF,[_r(V(`input`,{type:`checkbox`,"data-testid":`cldr-toggle`,"onUpdate:modelValue":t[4]||=e=>p.value=e,class:`size-3.5 accent-primary`},null,512),[[Il,p.value]]),t[22]||=U(` Convert plurals to CLDR categories `,-1)])]),_:1}),H(M(PC),{class:`max-w-xs`},{default:N(()=>[...t[23]||=[U(`Rewrite exact =N plural selectors (e.g. =1) into each language's CLDR plural categories, the way Crowdin does.`,-1)]]),_:1})]),_:1}),V(`div`,BF,[H(M(Q),{"data-testid":`import-btn`,disabled:b.value===0,onClick:S},{default:N(()=>[H(M(jd),{class:`size-4`}),U(` Import `+A(b.value)+` `+A(b.value===1?`locale`:`locales`),1)]),_:1},8,[`disabled`])])])],64)):a.value===`importing`?(R(),z(L,{key:1},[H(M(gg),{class:`sr-only`},{default:N(()=>[...t[24]||=[U(`Importing translations`,-1)]]),_:1}),V(`div`,VF,[H(M(ed),{class:`size-10 text-primary gf-spin`}),V(`div`,null,[t[25]||=V(`div`,{class:`text-sm font-semibold`},`Importing translations…`,-1),o.value?(R(),z(`div`,HF,` Reading `+A(o.value.keyCount.toLocaleString())+` keys across `+A(b.value)+` locales `,1)):W(``,!0)])])],64)):a.value===`done`&&d.value?(R(),z(L,{key:2},[V(`div`,UF,[V(`div`,WF,[V(`div`,GF,[H(M(Ou),{class:`size-6`,"stroke-width":2.5})]),V(`div`,null,[H(M(gg),{class:`text-base font-semibold`},{default:N(()=>[...t[26]||=[U(`Import complete`,-1)]]),_:1}),H(M(dg),{class:`mt-1 text-[13px] text-muted-foreground`},{default:N(()=>[V(`span`,KF,A(d.value.keyCount.toLocaleString())+` keys`,1),t[27]||=U(` across `,-1),V(`span`,qF,A(d.value.localeCount)+` locales`,1),t[28]||=U(` imported. `,-1)]),_:1})])]),d.value.warnings.length?(R(),z(`div`,JF,[V(`button`,{type:`button`,class:`flex w-full items-center gap-2 px-3 py-2.5 text-left`,onClick:t[5]||=e=>u.value=!u.value},[H(M(Ed),{class:`size-3.5 shrink-0 text-warning`}),V(`span`,YF,A(d.value.warnings.length)+` `+A(d.value.warnings.length===1?`warning`:`warnings`),1),t[29]||=V(`span`,{class:`whitespace-nowrap text-[12px] text-warning/70`},`· import still succeeded`,-1),H(M(Au),{class:k([`ml-auto size-3.5 shrink-0 text-warning transition-transform`,u.value?`rotate-90`:``])},null,8,[`class`])]),u.value?(R(),z(`ul`,XF,[(R(!0),z(L,null,F(d.value.warnings,(e,t)=>(R(),z(`li`,{key:t,class:`px-3 py-2 text-[12px] text-muted-foreground`},A(e),1))),128))])):W(``,!0)])):W(``,!0)]),V(`div`,ZF,[V(`div`,QF,[H(M(Q),{onClick:t[6]||=e=>r(`imported`)},{default:N(()=>[t[30]||=U(`Open editor `,-1),H(M(xu),{class:`size-4`})]),_:1})])])],64)):a.value===`error`?(R(),z(L,{key:3},[V(`button`,{type:`button`,class:`absolute right-3.5 top-3.5 z-10 grid h-7 w-7 place-items-center rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground`,onClick:t[7]||=e=>r(`dismiss`)},[H(M(Ad),{class:`size-4`})]),V(`div`,$F,[V(`div`,eI,[V(`div`,tI,[H(M(Ed),{class:`size-5`})]),V(`div`,nI,[H(M(gg),{class:`text-base font-semibold`},{default:N(()=>[...t[31]||=[U(`Couldn't import translations`,-1)]]),_:1}),H(M(dg),{class:`mt-1 text-[13px] text-muted-foreground`},{default:N(()=>[U(A(f.value),1)]),_:1})])])]),V(`div`,rI,[V(`div`,iI,[H(M(Q),{variant:`outline`,onClick:t[8]||=e=>r(`dismiss`)},{default:N(()=>[...t[32]||=[U(`Dismiss`,-1)]]),_:1})])])],64)):W(``,!0)]),_:1})]),_:1})]),_:1},8,[`open`]))}}),oI=`glotfile-theme`,sI=[`system`,`light`,`dark`],cI=e=>sI.includes(e);function lI(){let e=localStorage.getItem(oI);return cI(e)?e:`system`}var uI=window.matchMedia(`(prefers-color-scheme: dark)`),dI=j(uI.matches);uI.addEventListener(`change`,e=>{dI.value=e.matches});var fI=j(lI()),pI=K(()=>fI.value===`system`?dI.value:fI.value===`dark`);function mI(){document.documentElement.classList.toggle(`dark`,pI.value)}function hI(){Dr(pI,mI,{immediate:!0,flush:`sync`})}function gI(e){fI.value=e,localStorage.setItem(oI,e),sf({theme:e}).catch(()=>{})}async function _I(){try{let{theme:e}=await of();cI(e)&&e!==fI.value&&(fI.value=e,localStorage.setItem(oI,e))}catch{}}var vI={class:`flex flex-col items-center gap-0.5 rounded-lg bg-black/15 p-0.5`},yI=[`data-mode`,`aria-label`,`aria-pressed`,`onClick`],bI=P({__name:`ThemeToggle`,setup(e){let t=[{value:`light`,label:`Light`,icon:Sd},{value:`system`,label:`System`,icon:rd},{value:`dark`,label:`Dark`,icon:id}];return(e,n)=>(R(),z(`div`,vI,[(R(),z(L,null,F(t,e=>H(M(ax),{key:e.value},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,"data-mode":e.value,"aria-label":e.label,"aria-pressed":M(fI)===e.value,class:k(M(LS)(`flex size-8 items-center justify-center rounded-md transition-colors`,M(fI)===e.value?`bg-primary text-primary-foreground`:`text-rail-foreground/70 hover:bg-white/10 hover:text-rail-foreground`)),onClick:t=>M(gI)(e.value)},[(R(),B(aa(e.icon),{class:`size-4`}))],10,yI)]),_:2},1024),H(M(PC),{side:`right`},{default:N(()=>[U(A(e.label),1)]),_:2},1024)]),_:2},1024)),64))]))}}),xI=P({__name:`Kbd`,props:{class:{}},setup(e){return(e,t)=>(R(),z(`kbd`,{class:k(M(LS)(`inline-flex h-5 min-w-5 items-center justify-center rounded border bg-muted px-1.5 font-mono text-xs font-medium text-muted-foreground`,e.$props.class))},[I(e.$slots,`default`)],2))}}),SI=[{route:`editor`,keys:[`g`,`e`],label:`Editor`},{route:`analytics`,keys:[`g`,`a`],label:`Analytics`},{route:`glossary`,keys:[`g`,`g`],label:`Glossary`},{route:`screenshots`,keys:[`g`,`i`],label:`Screenshots`},{route:`settings`,keys:[`g`,`s`],label:`Settings`},{route:`activity`,keys:[`g`,`l`],label:`Activity`},{route:`docs`,keys:[`g`,`d`],label:`Docs`}];function CI(e,t){if(e.pending===`g`){let e=SI.find(e=>e.keys[1]===t);return{state:{pending:null},action:e?{type:`navigate`,route:e.route}:null}}return t===`g`?{state:{pending:`g`},action:null}:t===`?`?{state:{pending:null},action:{type:`toggleHelp`}}:{state:{pending:null},action:null}}var wI={class:`flex w-14 shrink-0 flex-col items-center gap-1 bg-rail py-3 text-rail-foreground`},TI=[`aria-label`,`onClick`],EI={key:0,class:`flex items-center gap-0.5`},DI={class:`mt-auto flex flex-col items-center gap-1.5`},OI={class:`font-mono text-[10px] text-rail-foreground/50`},kI=P({__name:`NavRail`,setup(e){let t=Dp(),n=[{id:`editor`,label:`Editor`,icon:Qu},{id:`analytics`,label:`Analytics`,icon:Du},{id:`glossary`,label:`Glossary`,icon:Eu},{id:`screenshots`,label:`Screenshots`,icon:Xu},{id:`settings`,label:`Settings`,icon:hd},{id:`activity`,label:`Activity`,icon:pd},{id:`docs`,label:`Docs`,icon:wu}].map(e=>({...e,keys:SI.find(t=>t.route===e.id)?.keys}));return(e,r)=>(R(),B(M(tx),{"delay-duration":300},{default:N(()=>[V(`nav`,wI,[r[0]||=V(`div`,{class:`mb-3 flex size-9 items-center justify-center rounded-md bg-primary font-mono text-base font-semibold text-primary-foreground`},` G `,-1),(R(!0),z(L,null,F(M(n),e=>(R(),B(M(ax),{key:e.id},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,"aria-label":e.label,class:k(M(LS)(`relative flex size-10 items-center justify-center rounded-md transition-colors`,M(t)===e.id?`bg-primary text-primary-foreground`:`text-rail-foreground/70 hover:bg-white/10 hover:text-rail-foreground`)),onClick:t=>M(Ep)(e.id)},[(R(),B(aa(e.icon),{class:`size-5`}))],10,TI)]),_:2},1024),H(M(PC),{side:`right`,class:`flex items-center gap-2`},{default:N(()=>[V(`span`,null,A(e.label),1),e.keys?(R(),z(`span`,EI,[(R(!0),z(L,null,F(e.keys,(e,t)=>(R(),B(xI,{key:t},{default:N(()=>[U(A(e),1)]),_:2},1024))),128))])):W(``,!0)]),_:2},1024)]),_:2},1024))),128)),V(`div`,DI,[H(bI),V(`span`,OI,`v`+A(M(`0.7.2`)),1)])])]),_:1}))}}),AI={class:`flex flex-col gap-1`},jI={class:`flex items-center gap-1`},MI={class:`flex items-center justify-between py-1 text-sm`},NI={class:`flex items-center gap-1`},PI=P({__name:`ShortcutsDialog`,props:{open:{type:Boolean,required:!0},openModifiers:{}},emits:[`update:open`],setup(e){let t=Za(e,`open`);return(e,n)=>(R(),B(M(Oh),{open:t.value,"onUpdate:open":n[0]||=e=>t.value=e},{default:N(()=>[H(M(bC),{class:`max-w-sm`},{default:N(()=>[H(M(xC),null,{default:N(()=>[H(M(CC),null,{default:N(()=>[...n[1]||=[U(`Keyboard shortcuts`,-1)]]),_:1})]),_:1}),V(`ul`,AI,[(R(!0),z(L,null,F(M(SI),e=>(R(),z(`li`,{key:e.route,class:`flex items-center justify-between py-1 text-sm`},[V(`span`,null,A(e.label),1),V(`span`,jI,[(R(!0),z(L,null,F(e.keys,(e,t)=>(R(),B(xI,{key:t},{default:N(()=>[U(A(e),1)]),_:2},1024))),128))])]))),128)),V(`li`,MI,[n[3]||=V(`span`,null,`Search keys`,-1),V(`span`,NI,[H(xI,null,{default:N(()=>[...n[2]||=[U(`/`,-1)]]),_:1})])])])]),_:1})]),_:1},8,[`open`]))}}),FI=j(!1),II=1e3;function LI(){let e={pending:null},t=null;function n(){t!==null&&(clearTimeout(t),t=null)}function r(r){if(r.metaKey||r.ctrlKey||r.altKey||r.repeat)return;let i=r.target;if(i&&(i.tagName===`INPUT`||i.tagName===`TEXTAREA`||i.isContentEditable))return;let a=r.key.toLowerCase(),o=!!document.querySelector(`[role="dialog"],[role="menu"],[role="listbox"]`),s=a===`?`&&FI.value;if(o&&!s)return;let c=CI(e,a);e=c.state,n(),e.pending===`g`&&(t=window.setTimeout(()=>{e={pending:null},t=null},II));let{action:l}=c;l&&(l.type===`navigate`?Ep(l.route):FI.value=!FI.value,r.preventDefault())}Ki(()=>window.addEventListener(`keydown`,r)),Xi(()=>{n(),window.removeEventListener(`keydown`,r)})}var RI={class:`flex h-screen bg-background text-foreground`},zI={class:`flex min-w-0 flex-1 flex-col`},BI={class:`flex h-12 shrink-0 items-center justify-between border-b px-4`},VI={class:`flex min-w-0 items-center gap-3`},HI={key:0,class:`flex min-w-0 items-center gap-1.5`},UI={class:`max-w-[12rem] shrink-0 truncate font-mono text-sm font-medium`},WI={class:`truncate`},GI={key:0,class:`text-muted-foreground`},KI={class:`text-sm font-semibold`},qI={class:`font-mono`},JI={class:`flex min-h-0 flex-1 flex-col overflow-hidden`},YI=P({__name:`App`,setup(e){let t=Dp();LI();let n=dn(null),r=j(null),i=j([]),a=K(()=>[...i.value].sort((e,t)=>{let n=e.relDir?`${e.relDir}/${e.name}`:e.name,r=t.relDir?`${t.relDir}/${t.name}`:t.name;return n.localeCompare(r)})),o=j(!1),s=j(null);async function c(){n.value=await Md()}Ki(async()=>{await c();try{[r.value,i.value]=await Promise.all([Ef(),Df()]),document.title=r.value.project?`${r.value.project} — Glotfile`:`Glotfile`}catch(e){$.error(e.message)}n.value&&Object.keys(n.value.keys).length===0&&(o.value=!0)});function l(){location.reload()}async function u(e){if(e!==r.value?.path)try{await Of(e),location.reload()}catch(e){$.error(e.message)}}let d=K(()=>({editor:`Editor`,analytics:`Analytics`,glossary:`Glossary`,screenshots:`Screenshots`,settings:`Settings`,activity:`Activity`,docs:`Docs`})[t.value]),f=K(()=>{if(!n.value)return null;let{sourceLocale:e,locales:t}=n.value.config;return{source:e,targets:t.filter(t=>t!==e)}});return(e,n)=>(R(),B(M(tx),{"delay-duration":300},{default:N(()=>[V(`div`,RI,[H(kI),V(`div`,zI,[V(`header`,BI,[V(`div`,VI,[r.value?(R(),z(`div`,HI,[H(M(ax),null,{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`span`,UI,A(r.value.project),1)]),_:1}),H(M(PC),{side:`bottom`,class:`font-mono`},{default:N(()=>[U(A(r.value.dir),1)]),_:1})]),_:1}),H(M(Au),{class:`size-3.5 shrink-0 text-muted-foreground`}),H(M(rb),null,{default:N(()=>[H(M(lb),{"as-child":``},{default:N(()=>[H(M(Q),{variant:`outline`,size:`sm`,class:`max-w-[16rem] gap-1.5 font-mono`},{default:N(()=>[V(`span`,WI,A(r.value.name),1),H(M(ju),{class:`size-3.5 shrink-0 text-muted-foreground`})]),_:1})]),_:1}),H(M(TC),{align:`start`,class:`w-max`},{default:N(()=>[(R(!0),z(L,null,F(a.value,e=>(R(),B(M(EC),{key:e.path,class:`font-mono`,onSelect:t=>u(e.path)},{default:N(()=>[H(M(Ou),{class:k([`size-4 shrink-0`,e.path===r.value.path?`opacity-100`:`opacity-0`])},null,8,[`class`]),V(`span`,null,[e.relDir?(R(),z(`span`,GI,A(e.relDir)+`/`,1)):W(``,!0),U(A(e.name),1)])]),_:2},1032,[`onSelect`]))),128))]),_:1})]),_:1})])):W(``,!0),V(`h1`,KI,A(d.value),1)]),f.value?(R(),B(M(ax),{key:0},{default:N(()=>[H(M(ux),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:`shrink-0 font-mono text-xs text-muted-foreground transition-colors hover:text-foreground`,onClick:n[0]||=e=>M(Ep)(`settings`)},A(f.value.source)+` → `+A(f.value.targets.length)+` `+A(f.value.targets.length===1?`locale`:`locales`),1)]),_:1}),H(M(PC),{side:`bottom`,class:`max-w-[28rem] leading-relaxed`},{default:N(()=>[V(`div`,qI,A(f.value.targets.join(`, `)||`—`),1),n[4]||=V(`div`,{class:`mt-1 text-background/60`},`Click to manage in Settings`,-1)]),_:1})]),_:1})):W(``,!0)]),V(`main`,JI,[M(t)===`editor`?(R(),B(yO,{key:0})):M(t)===`analytics`?(R(),B(pA,{key:1})):M(t)===`glossary`?(R(),B(zA,{key:2})):M(t)===`screenshots`?(R(),B(pP,{key:3})):M(t)===`settings`?(R(),B(ZN,{key:4})):M(t)===`activity`?(R(),B(BP,{key:5})):M(t)===`docs`?(R(),B(nF,{key:6})):W(``,!0)])]),H(M(pC)),H(PI,{open:M(FI),"onUpdate:open":n[1]||=e=>un(FI)?FI.value=e:null},null,8,[`open`]),o.value?(R(),B(aI,{key:0,ref_key:`wizardRef`,ref:s,onVnodeMounted:n[2]||=e=>s.value?.init(),onDismiss:n[3]||=e=>o.value=!1,onImported:l},null,512)):W(``,!0)])]),_:1}))}});hI(),au(YI).mount(`#app`),_I(),qD(),fT();
|