glotfile 0.7.3 → 0.7.5

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*rf(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 af=()=>fetch(`/api/scan`,{method:`POST`}).then(e=>J(e)),of=()=>fetch(`/api/scan`).then(e=>J(e)),sf=e=>fetch(`/api/scan/usage?key=${encodeURIComponent(e)}`).then(e=>J(e)),cf=()=>fetch(`/api/scan/used`).then(e=>J(e)),lf=e=>fetch(`/api/config`,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify(e)}).then(J),uf=()=>fetch(`/api/ui-prefs`).then(e=>J(e)),df=e=>fetch(`/api/ui-prefs`,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify(e)}).then(J),ff=()=>fetch(`/api/local-settings`).then(e=>J(e)),pf=e=>fetch(`/api/local-settings`,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify(e)}).then(J),mf=()=>fetch(`/api/ai-profiles`).then(e=>J(e)),hf=(e,t)=>fetch(`/api/ai-profiles/${encodeURIComponent(e)}`,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify(t)}).then(J),gf=e=>fetch(`/api/ai-profiles/${encodeURIComponent(e)}`,{method:`DELETE`}).then(J),_f=e=>fetch(`/api/ai-profiles/active`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({name:e})}).then(J),vf=e=>fetch(`/api/dictionary`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({word:e})}).then(J),yf=()=>fetch(`/api/glossary`).then(e=>J(e)),bf=e=>fetch(`/api/glossary`,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify(e)}).then(J),xf=e=>fetch(`/api/glossary/${encodeURIComponent(e)}`,{method:`DELETE`}).then(J),Sf=(e,t)=>{let n=new FormData;return n.append(`file`,t),fetch(`/api/keys/${encodeURIComponent(e)}/screenshot`,{method:`POST`,body:n}).then(J)},Cf=e=>fetch(`/api/keys/${encodeURIComponent(e)}/screenshot`,{method:`DELETE`}).then(J),wf=(e,t)=>fetch(`/api/keys/${encodeURIComponent(e)}/notes`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({text:t})}).then(e=>J(e)),Tf=(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),Ef=(e,t)=>fetch(`/api/keys/${encodeURIComponent(e)}/notes/${encodeURIComponent(t)}`,{method:`DELETE`}).then(J),Df=()=>fetch(`/api/log`).then(e=>J(e)),Of=()=>fetch(`/api/export/preview`).then(e=>J(e)),kf=()=>fetch(`/api/export`,{method:`POST`}).then(e=>J(e)),Af=()=>fetch(`/api/file`).then(e=>J(e)),jf=()=>fetch(`/api/files`).then(e=>J(e)),Mf=e=>fetch(`/api/file`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({path:e})}).then(e=>J(e)),Nf=e=>e.length===0?Promise.resolve({issues:[],spellPending:!1}):fetch(`/api/checks?checks=${e.join(`,`)}`).then(e=>J(e)),Pf=(e={})=>fetch(`/api/lint${e.includeSuppressed?`?includeSuppressed=1`:``}`).then(e=>J(e)),Ff=(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),If=(e,t,n)=>fetch(`/api/keys/${encodeURIComponent(e)}/suppressions?rule=${encodeURIComponent(t)}&locale=${encodeURIComponent(n)}`,{method:`DELETE`}).then(J),Lf=(e={})=>fetch(`/api/lint/accept`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(e)}).then(e=>J(e)),Rf=()=>fetch(`/api/import/detect`).then(e=>J(e)),zf=e=>fetch(`/api/import`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(e)}).then(e=>J(e));function Bf(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 Vf(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 Hf(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var Uf=(e,t)=>Math.abs(e-t)<1.01,Wf=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}},Gf,Kf=()=>{if(Gf!==void 0)return Gf;if(typeof navigator>`u`)return Gf=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return Gf=!0;let e=navigator.maxTouchPoints;return Gf=navigator.platform===`MacIntel`&&e!==void 0&&e>0},qf=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},Jf=e=>e,Yf=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},Xf=(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(qf(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(qf(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},Zf={passive:!0},Qf=typeof window>`u`?!0:`onscrollend`in window,$f=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&Qf,o=0,s=a?null:Wf(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,Zf),a&&r.addEventListener(`scrollend`,u,Zf),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u)}},ep=(e,t)=>$f(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),tp=(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`]},np=(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})},rp=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:Jf,rangeExtractor:Yf,onChange:()=>{},measureElement:tp,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=Vf(()=>(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,!(!Kf()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener(`touchstart`,t,Zf),e.addEventListener(`touchend`,n,Zf),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&&(Kf()&&(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=Vf(()=>[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=Vf(()=>[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=Bf(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=Vf(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>this.range=e.length>0&&t>0?ap({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=Vf(()=>{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=Vf(()=>[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 Hf(t[ip(0,t.length-1,r?e=>n[e*2]:e=>Hf(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&&(Kf()&&(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&&Uf(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()}},ip=(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 ap({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=ip(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 op(e){let t=new rp(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 sp(e){return op(K(()=>({observeElementRect:Xf,observeElementOffset:ep,scrollToFn:np,...M(e)})))}function cp(e,t){let n=e.values[t];return n?e.plural?(n.forms?.other??``).trim()===``:(n.value??``).trim()===``:!0}function lp(e,t,n,r){return n===`missing`?r?cp(t,r):e.config.locales.some(n=>n!==e.config.sourceLocale&&cp(t,n)):r?t.values[r]?.state===n:Object.values(t.values).some(e=>e.state===n)}function up(e){try{return new RegExp(e,`i`)}catch{return null}}function dp(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(`^`)?up(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&&!cp(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=>lp(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 fp=[`untranslated`,`placeholder`,`spelling`,`length`,`glossary`],pp=[`untranslated`,`placeholder`,`length`,`glossary`],mp=[`missing`,`machine`,`needs-review`,`reviewed`],hp=[`plural`,`single`],gp={untranslated:`Untranslated`,placeholder:`Placeholder mismatch`,spelling:`Spelling`,length:`Too long`,glossary:`Glossary`},_p={missing:`Missing`,machine:`Machine`,reviewed:`Reviewed`,"needs-review":`Needs review`},vp={plural:`Plural`,single:`Single`};function yp(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 bp=[`key-asc`,`key-desc`,`created`,`updated`],xp=[`multilingual`,`bilingual`],Sp={text:``,states:[],issues:[],plurality:[],tag:``,needsAttention:!1,emptySource:!1,aiContextUnreviewed:!1,noUsages:!1,skipTranslate:!1};function Cp(e){let t=e.get(`q`)??``,n=e.get(`tag`)??``,r=(e.get(`states`)??``).split(`,`).map(e=>e.trim()).filter(e=>mp.includes(e)),i=(e.get(`issues`)??``).split(`,`).map(e=>e.trim()).filter(e=>fp.includes(e)),a=(e.get(`plurality`)??``).split(`,`).map(e=>e.trim()).filter(e=>hp.includes(e)),o=e.get(`sort`)??``,s=bp.includes(o)?o:`key-asc`,c=e.get(`view`)??``,l=xp.includes(c)?c:`multilingual`,u=e.get(`locale`)??``;return{filter:{...Sp,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 wp(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 Tp=[`editor`,`analytics`,`glossary`,`screenshots`,`settings`,`activity`,`docs`];function Ep(){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:Tp.includes(n)?n:`editor`,search:r}}var Dp=j(Ep().route);window.addEventListener(`hashchange`,()=>{Dp.value=Ep().route});var Op=null;function kp(e){Op=e}function Ap(e){Op&&!Op(e)||(location.hash=e)}function jp(){return Qt(Dp)}function Mp(){return new URLSearchParams(Ep().search)}function Np(e){let t=e.toString(),n=`#${Ep().route}${t?`?${t}`:``}`;history.replaceState(null,``,n)}var Pp=j(null);function Fp(e){Pp.value=e,Ap(`editor`)}var Ip=j(null);function Lp(e){Ip.value=e,Fp({text:e})}function Rp(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=Rp(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function zp(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Rp(e))&&(r&&(r+=` `),r+=t);return r}var Bp=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,Vp=zp,Hp=(e,t)=>n=>{if(t?.variants==null)return Vp(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=Bp(t)||Bp(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 Vp(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 Up(e){return typeof e==`string`?`'${e}'`:new Wp().serialize(e)}var Wp=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 Gp(e,t){return e===t||Up(e)===Up(t)}function Kp(e,t,n){let r=e.findIndex(e=>Gp(e,t)),i=e.findIndex(e=>Gp(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 qp(e,t=-1/0,n=1/0){return Math.min(n,Math.max(t,e))}function Jp(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 Yp(){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 Xp(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 Zp(e){return e==null}function Qp(e,t){let n=dn();return wr(()=>{n.value=e()},{...t,flush:t?.flush??`sync`}),Qt(n)}function $p(e,t){return Pe()?(Fe(e,t),!0):!1}function em(){let e=new Set,t=t=>{e.delete(t)};return{on:n=>{e.add(n);let r=()=>t(n);return $p(r),{off:r}},off:t,trigger:(...t)=>Promise.all(Array.from(e).map(e=>e(...t))),clear:()=>{e.clear()}}}function tm(e){let t=!1,n,r=Ne(!0);return((...i)=>(t||=(n=r.run(()=>e(...i)),!0),n))}var nm=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var rm=e=>e!==void 0,im=Object.prototype.toString,am=e=>im.call(e)===`[object Object]`,om=sm();function sm(){var e,t;return nm&&!!(!((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 cm(e){return Array.isArray(e)?e:[e]}function lm(e){return e||Ds()}function um(e){if(!nm)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))),$p(i),n))}function dm(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 fm(e){return dm(K(e))}function pm(e,...t){let n=t.flat(),r=n[0];return fm(()=>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 mm(e,t=1e4){return yn((n,r)=>{let i=hn(e),a,o=()=>setTimeout(()=>{i=hn(e),r()},hn(t));return $p(()=>{clearTimeout(a)}),{get(){return n(),i},set(e){i=e,r(),clearTimeout(a),a=o()}}})}function hm(e,t){lm(t)&&Yi(e,t)}function gm(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,nm&&l()),$p(c),{isPending:$t(a),start:l,stop:c}}function _m(e,t,n){return Dr(e,t,{...n,immediate:!0})}var vm=nm?window:void 0;nm&&window.document,nm&&window.navigator,nm&&window.location;function ym(e){let t=hn(e);return t?.$el??t}function bm(...e){let t=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),n=K(()=>{let t=cm(hn(e[0])).filter(e=>e!=null);return t.every(e=>typeof e!=`string`)?t:void 0});return _m(()=>[n.value?.map(e=>ym(e))??[vm].filter(e=>e!=null),cm(hn(n.value?e[1]:e[0])),cm(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=am(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 xm(){let e=dn(!1),t=Ds();return t&&Ki(()=>{e.value=!0},t),e}function Sm(e){let t=xm();return K(()=>(t.value,!!e()))}function Cm(e){return typeof e==`function`?e:typeof e==`string`?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function wm(...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=vm,eventName:a=`keydown`,passive:o=!1,dedupe:s=!1}=r,c=Cm(t);return bm(i,a,e=>{e.repeat&&hn(s)||c(e)&&n(e)},o)}function Tm(e){return JSON.parse(JSON.stringify(e))}function Em(e,t,n={}){let{window:r=vm,...i}=n,a,o=Sm(()=>r&&`ResizeObserver`in r),s=()=>{a&&=(a.disconnect(),void 0)},c=Dr(K(()=>{let t=hn(e);return Array.isArray(t)?t.map(e=>ym(e)):[ym(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 $p(l),{isSupported:o,stop:l}}function Dm(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):Tm(e):e,g=()=>rm(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 Om(e){return e?e.flatMap(e=>e.type===L?Om(e.children):[e]):[]}var km=[`INPUT`,`TEXTAREA`];function Am(e,t,n,r={}){if(!t||r.enableIgnoredElement&&km.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=jm(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 jm(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`?jm(e,o,n,r):o:null}var[Mm,Nm]=Jp(`ConfigProvider`);function Pm(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 Fm(e,t,n=`.`,r){if(!Pm(t))return Fm(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]]:Pm(a)&&Pm(i[t])?i[t]=Fm(a,i[t],(n?`${n}.`:``)+t.toString(),r):i[t]=a))}return i}function Im(e){return(...t)=>t.reduce((t,n)=>Fm(t,n,``,e),{})}var Lm=Im(),Rm=um(()=>{let e=j(new Map),t=j(),n=K(()=>{for(let t of e.value.values())if(t)return!0;return!1}),r=Mm({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??``,om&&i?.(),t.value=void 0};return Dr(n,(e,o)=>{if(!nm)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`?Lm({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`),om&&(i=bm(document,`touchmove`,e=>Vm(e),{passive:!1})),$n(()=>{n.value&&(document.body.style.pointerEvents=`none`,document.body.style.overflow=`hidden`)})},{immediate:!0,flush:`sync`}),e});function zm(e){let t=Math.random().toString(36).substring(2,7),n=Rm();n.value.set(t,e??!1);let r=K({get:()=>n.value.get(t)??!1,set:e=>n.value.set(t,e)});return hm(()=>{n.value.delete(t)}),r}function Bm(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:Bm(t)}}function Vm(e){let t=e||window.event,n=t.target;return n instanceof Element&&Bm(n)?!1:t.touches.length>1?!0:(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}function Hm(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 Um(e){let t=Mm({dir:j(`ltr`)});return K(()=>e?.value||t.dir?.value||`ltr`)}function Wm(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 Gm(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 Km=0;function qm(){wr(e=>{if(!nm)return;let t=document.querySelectorAll(`[data-reka-focus-guard]`);document.body.insertAdjacentElement(`afterbegin`,t[0]??Jm()),document.body.insertAdjacentElement(`beforeend`,t[1]??Jm()),Km++,e(()=>{Km===1&&document.querySelectorAll(`[data-reka-focus-guard]`).forEach(e=>e.remove()),Km--})})}function Jm(){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 Ym(e){return K(()=>hn(e)?!!ym(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:ym(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 Xm(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 Zm(e,t){let n=Xm(e),r=t?Wm(t):{};return K(()=>({...n.value,...r}))}function Qm(e,t){let n=mm(!1,300);$p(()=>{n.value=!1});let r=j(null),i=em();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=eh(a,$m(a,i.getBoundingClientRect()),1),s=th(t.getBoundingClientRect());r.value=rh([...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=!nh(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 $m(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 eh(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 th(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 nh(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 rh(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)),ih(t)}function ih(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 ah=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},oh=new WeakMap,sh=new WeakMap,ch={},lh=0,uh=function(e){return e&&(e.host||uh(e.parentNode))},dh=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=uh(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})},fh=function(e,t,n,r){var i=dh(t,Array.isArray(e)?e:[e]);ch[n]||(ch[n]=new WeakMap);var a=ch[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=(oh.get(e)||0)+1,l=(a.get(e)||0)+1;oh.set(e,c),a.set(e,l),o.push(e),c===1&&i&&sh.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(),lh++,function(){o.forEach(function(e){var t=oh.get(e)-1,i=a.get(e)-1;oh.set(e,t),a.set(e,i),t||(sh.has(e)||e.removeAttribute(r),sh.delete(e)),i||e.removeAttribute(n)}),lh--,lh||(oh=new WeakMap,oh=new WeakMap,sh=new WeakMap,ch={})}},ph=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||ah(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),fh(r,i,n,`aria-hidden`)):function(){return null}};function mh(e){let t;Dr(()=>ym(e),e=>{let n=!1;try{n=!!e?.closest(`[popover]:not(:popover-open)`)}catch{}e&&!n?t=ph(e):t&&t()}),Xi(()=>{t&&t()})}var hh=0;function gh(e,t=`reka`){if(e)return e;let n;return n=`useId`in du?oi?.():Mm({useId:void 0}).useId?.()??`${++hh}`,t?`${t}-${n}`:n}function _h(){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 vh(e){let t=j(),n=K(()=>t.value?.width??0),r=K(()=>t.value?.height??0);return Ki(()=>{let n=ym(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 yh(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 bh(e){let t=mm(``,1e3);return{search:t,handleTypeaheadSearch:(n,r)=>{if(t.value+=n,e)e(n);else{let e=Yp(),n=r.map(e=>({...e,textValue:e.value?.textValue??e.ref.textContent?.trim()??``})),i=n.find(t=>t.ref===e),a=Sh(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 xh(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function Sh(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=xh(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 Ch(e,t){let n=j({}),r=j(`none`),i=j(e),a=e.value?`mounted`:`unmounted`,o,s=t.value?.ownerDocument.defaultView??vm,{state:c,dispatch:l}=yh(a,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}}),u=e=>{if(nm){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=wh(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=wh(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=wh(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=wh(t.value);r.value=c.value===`mounted`?e:`none`});return Xi(()=>{p(),m()}),{isPresent:K(()=>[`mounted`,`unmountSuspended`].includes(c.value))}}function wh(e){return e&&getComputedStyle(e).animationName||`none`}var Th=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}=Ch(r,a);n({present:o});let s=t.default({present:o.value});s=Om(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=ym(e);return t?.hasAttribute===void 0||(t?.hasAttribute(`data-reka-popper-content-wrapper`)?a.value=t.firstElementChild:a.value=t),t}}):null}}),Eh=P({name:`PrimitiveSlot`,inheritAttrs:!1,setup(e,{attrs:t,slots:n}){return()=>{if(!n.default)return null;let e=Om(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)}}}),Dh=[`area`,`img`,`input`],Oh=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`&&Dh.includes(r)?()=>qs(r,t):r===`template`?()=>qs(Eh,t,{default:n.default}):()=>qs(e.as,t,{default:n.default})}});function kh(){let e=j();return{primitiveElement:e,currentElement:K(()=>[`#text`,`#comment`].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:ym(e))}}var[Ah,jh]=Jp(`DialogRoot`),Mh=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=Dm(n,`open`,t,{defaultValue:n.defaultOpen,passive:n.open===void 0}),i=j(),a=j(),{modal:o}=bn(n);return jh({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})}}),Nh=P({__name:`DialogClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;Y();let n=Ah();return(e,r)=>(R(),B(M(Oh),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`]))}}),Ph=`dismissableLayer.pointerDownOutside`,Fh=`dismissableLayer.focusOutside`;function Ih(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 Lh(e,t,n=!0){let r=t?.value?.ownerDocument??globalThis?.document,i=j(!1),a=j(()=>{});return wr(o=>{if(!nm||!hn(n))return;let s=async n=>{let o=n.target;if(!(!t?.value||!o)){if(Ih(t.value,o)){i.value=!1;return}if(n.target&&!i.value){let t={originalEvent:n};function i(){Xp(Ph,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 Rh(e,t,n=!0){let r=t?.value?.ownerDocument??globalThis?.document,i=j(!1);return wr(a=>{if(!nm||!hn(n))return;let o=async n=>{if(!t?.value)return;await $n(),await $n();let r=n.target;!t.value||!r||Ih(t.value,r)||n.target&&!i.value&&Xp(Fh,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 zh=Xt({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set}),Bh=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(()=>zh.layersRoot),c=K(()=>a.value?Array.from(s.value).indexOf(a.value):-1),l=K(()=>zh.layersWithOutsidePointerEventsDisabled.size>0),u=K(()=>{let e=Array.from(s.value),[t]=[...zh.layersWithOutsidePointerEventsDisabled].slice(-1),n=e.indexOf(t);return c.value>=n}),d=Lh(async e=>{let t=[...zh.branches].some(t=>t?.contains(e.target));!u.value||t||(r(`pointerDownOutside`,e),r(`interactOutside`,e),await $n(),e.defaultPrevented||r(`dismiss`))},a),f=Rh(e=>{[...zh.branches].some(t=>t?.contains(e.target))||(r(`focusOutside`,e),r(`interactOutside`,e),e.defaultPrevented||r(`dismiss`))},a);return wm(`Escape`,e=>{c.value===s.value.size-1&&(r(`escapeKeyDown`,e),e.defaultPrevented||r(`dismiss`))}),wr(e=>{a.value&&(n.disableOutsidePointerEvents&&(zh.layersWithOutsidePointerEventsDisabled.size===0&&(zh.originalBodyPointerEvents=o.value.body.style.pointerEvents,o.value.body.style.pointerEvents=`none`),zh.layersWithOutsidePointerEventsDisabled.add(a.value)),s.value.add(a.value),e(()=>{n.disableOutsidePointerEvents&&zh.layersWithOutsidePointerEventsDisabled.size===1&&!Zp(zh.originalBodyPointerEvents)&&(o.value.body.style.pointerEvents=zh.originalBodyPointerEvents)}))}),wr(e=>{e(()=>{a.value&&(s.value.delete(a.value),zh.layersWithOutsidePointerEventsDisabled.delete(a.value))})}),(e,t)=>(R(),B(M(Oh),{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`]))}}),Vh=tm(()=>j([]));function Hh(){let e=Vh();return{add(t){let n=e.value[0];t!==n&&n?.pause(),e.value=Uh(e.value,t),e.value.unshift(t)},remove(t){e.value=Uh(e.value,t),e.value[0]?.resume()}}}function Uh(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}var Wh=`focusScope.autoFocusOnMount`,Gh=`focusScope.autoFocusOnUnmount`,Kh={bubbles:!1,cancelable:!0};function qh(e,{select:t=!1}={}){let n=Yp();for(let r of e)if($h(r,{select:t}),Yp()!==n)return!0}function Jh(e){let t=Yh(e);return[Xh(t,e),Xh(t.reverse(),e)]}function Yh(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 Xh(e,t){for(let n of e)if(!Zh(n,{upTo:t}))return n}function Zh(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 Qh(e){return e instanceof HTMLInputElement&&`select`in e}function $h(e,{select:t=!1}={}){if(e&&e.focus){let n=Yp();e.focus({preventScroll:!0}),e!==n&&Qh(e)&&t&&e.select()}}var eg=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=Hh(),c=Xt({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});wr(e=>{if(!nm)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:$h(o.value,{select:!0})}function i(e){if(c.paused||!t)return;let n=e.relatedTarget;n!==null&&(t.contains(n)||$h(o.value,{select:!0}))}function s(e){let n=o.value;n!==null&&e.some(e=>e.removedNodes.length>0)&&(t.contains(n)||$h(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=Yp();if(!t.contains(n)){let e=new CustomEvent(Wh,Kh);t.addEventListener(Wh,e=>r(`mountAutoFocus`,e)),t.dispatchEvent(e),e.defaultPrevented||(qh(Yh(t),{select:!0}),Yp()===n&&$h(t))}e(()=>{t.removeEventListener(Wh,e=>r(`mountAutoFocus`,e));let e=new CustomEvent(Gh,Kh),i=e=>{r(`unmountAutoFocus`,e)};t.addEventListener(Gh,i),t.dispatchEvent(e),t.setAttribute(`data-focus-scope-unmounting`,``),setTimeout(()=>{e.defaultPrevented||$h(n??document.body,{select:!0}),t.removeEventListener(Gh,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=Yp();if(t&&r){let t=e.currentTarget,[i,a]=Jh(t);i&&a?!e.shiftKey&&r===a?(e.preventDefault(),n.loop&&$h(i,{select:!0})):e.shiftKey&&r===i&&(e.preventDefault(),n.loop&&$h(a,{select:!0})):r===t&&e.preventDefault()}}return(e,t)=>(R(),B(M(Oh),{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`]))}}),tg=`menu.itemSelect`,ng=[`Enter`,` `],rg=[`ArrowDown`,`PageUp`,`Home`],ig=[`ArrowUp`,`PageDown`,`End`],ag=[...rg,...ig];[...ng],[...ng];function og(e){return e?`open`:`closed`}function sg(e){let t=Yp();for(let n of e)if(n===t||(n.focus(),Yp()!==t))return}function cg(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 lg(e,t){return t?cg({x:e.clientX,y:e.clientY},t):!1}function ug(e){return e.pointerType===`mouse`}var dg=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=Ah(),{forwardRef:a,currentElement:o}=Y();return i.titleId||=gh(void 0,`reka-dialog-title`),i.descriptionId||=gh(void 0,`reka-dialog-description`),Ki(()=>{i.contentElement=o,Yp()!==document.body&&(i.triggerElement.value=Yp())}),(e,t)=>(R(),B(M(eg),{"as-child":``,loop:``,trapped:n.trapFocus,onMountAutoFocus:t[5]||=e=>r(`openAutoFocus`,e),onUnmountAutoFocus:t[6]||=e=>r(`closeAutoFocus`,e)},{default:N(()=>[H(M(Bh),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(og)(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`]))}}),fg=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=Ah(),a=Wm(r),{forwardRef:o,currentElement:s}=Y();return mh(s),(e,t)=>(R(),B(dg,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`]))}}),pg=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=Wm(t);Y();let i=Ah(),a=j(!1),o=j(!1);return(e,t)=>(R(),B(dg,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))}}),mg=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=Ah(),a=Wm(r),{forwardRef:o}=Y();return(e,t)=>(R(),B(M(Th),{present:e.forceMount||M(i).open.value},{default:N(()=>[M(i).modal.value?(R(),B(fg,G({key:0,ref:M(o)},{...n,...M(a),...e.$attrs}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)):(R(),B(pg,G({key:1,ref:M(o)},{...n,...M(a),...e.$attrs}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),hg=P({__name:`DialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let t=e;Y();let n=Ah();return(e,r)=>(R(),B(M(Oh),G(t,{id:M(n).descriptionId}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`]))}}),gg=P({__name:`DialogOverlayImpl`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=Ah();return zm(!0),Y(),(e,n)=>(R(),B(M(Oh),{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`]))}}),_g=P({__name:`DialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=Ah(),{forwardRef:n}=Y();return(e,r)=>M(t)?.modal.value?(R(),B(M(Th),{key:0,present:e.forceMount||M(t).open.value},{default:N(()=>[H(gg,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)}}),vg=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=xm();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)}}),yg=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(vg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),bg=P({__name:`DialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let t=e,n=Ah();return Y(),(e,r)=>(R(),B(M(Oh),G(t,{id:M(n).titleId}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`]))}}),xg=`data-reka-collection-item`;function Sg(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(`[${xg}]`)),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}=kh();return Dr(a,()=>{i.collectionRef.value=a.value}),()=>qs(Eh,{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}=kh();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(Eh,{...n,[xg]:``,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 Cg=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(Oh),{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`]))}}),wg=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}=kh();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(Cg,G({ref_key:`primitiveElement`,ref:n},{...t,...e.$attrs},{as:`input`}),null,16))}}),Tg=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(wg,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(wg,G({key:n.name},{ref_for:!0},{...t,...e.$attrs},{name:n.name,value:n.value}),null,16,[`name`,`value`]))),128))],2112))}});function Eg(e,t,n){return e===void 0?!1:Array.isArray(e)?e.some(e=>Dg(e,t,n)):Dg(e,t,n)}function Dg(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]:Gp(e,t)}var Og=`rovingFocusGroup.onEntryFocus`,kg={bubbles:!1,cancelable:!0},Ag={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function jg(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function Mg(e,t,n){let r=jg(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return Ag[r]}function Ng(e,t=!1){let n=Yp();for(let r of e)if(r===n||(r.focus({preventScroll:t}),Yp()!==n))return}function Pg(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var[Fg,Ig]=Jp(`ListboxRoot`),Lg=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}=Sg({isProvider:!0}),{handleTypeaheadSearch:f}=bh(),{primitiveElement:p,currentElement:m}=kh(),h=_h(),g=Um(u),_=Ym(m),v=j(),y=j(!1),b=j(!0),x=Dm(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=>Dg(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`&&Dg(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=em(),te=em(),ne=em();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=>Dg(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=Mg(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=Kp(n.map(e=>e.value),v.value,r)}}async function pe(e,t=!0){if(nm)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}),Ig({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(Oh),{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(Tg),{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`]))}}),Rg=P({__name:`ListboxContent`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let{CollectionSlot:t}=Sg(),n=Fg(),r=mm(!1,10);return(e,i)=>(R(),B(M(t),null,{default:N(()=>[H(M(Oh),{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}))}}),zg=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=Dm(n,`modelValue`,t,{defaultValue:``,passive:n.modelValue===void 0}),i=Fg(),{primitiveElement:a,currentElement:o}=kh(),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}=Hm(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(Oh),{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`]))}}),Bg=`listbox.select`,[Vg,Hg]=Jp(`ListboxItem`),Ug=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=gh(void 0,`reka-listbox-item`),{CollectionItem:a}=Sg(),{forwardRef:o,currentElement:s}=Y(),c=Fg(),l=K(()=>s.value!=null&&s.value===c.highlightedElement.value),u=K(()=>Eg(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){Xp(Bg,f,{originalEvent:e,value:n.value})}return Hg({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(Oh),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`]))}}),Wg=P({__name:`ListboxItemIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e;Y();let n=Vg();return(e,r)=>M(n).isSelected.value?(R(),B(M(Oh),G({key:0,"aria-hidden":`true`},t),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)):W(`v-if`,!0)}}),[Gg,Kg]=Jp(`PopperRoot`),qg=P({inheritAttrs:!1,__name:`PopperRoot`,setup(e){let t=j();return Kg({anchor:t,onAnchorChange:e=>t.value=e}),(e,t)=>I(e.$slots,`default`)}}),Jg=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=Gg();return Tr(()=>{i.onAnchorChange(t.reference??r.value)}),(e,t)=>(R(),B(M(Oh),{ref:M(n),as:e.as,"as-child":e.asChild},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}});function Yg(e){return e!==null}function Xg(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]=Zg(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 Zg(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var Qg=[`top`,`right`,`bottom`,`left`],$g=Math.min,e_=Math.max,t_=Math.round,n_=Math.floor,r_=e=>({x:e,y:e}),i_={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function a_(e,t,n){return e_(e,$g(t,n))}function o_(e,t){return typeof e==`function`?e(t):e}function s_(e){return e.split(`-`)[0]}function c_(e){return e.split(`-`)[1]}function l_(e){return e===`x`?`y`:`x`}function u_(e){return e===`y`?`height`:`width`}function d_(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function f_(e){return l_(d_(e))}function p_(e,t,n){n===void 0&&(n=!1);let r=c_(e),i=f_(e),a=u_(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=S_(o)),[o,S_(o)]}function m_(e){let t=S_(e);return[h_(e),t,h_(t)]}function h_(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var g_=[`left`,`right`],__=[`right`,`left`],v_=[`top`,`bottom`],y_=[`bottom`,`top`];function b_(e,t,n){switch(e){case`top`:case`bottom`:return n?t?__:g_:t?g_:__;case`left`:case`right`:return t?v_:y_;default:return[]}}function x_(e,t,n,r){let i=c_(e),a=b_(s_(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(h_)))),a}function S_(e){let t=s_(e);return i_[t]+e.slice(t.length)}function C_(e){return{top:0,right:0,bottom:0,left:0,...e}}function w_(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:C_(e)}function T_(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 E_(e,t,n){let{reference:r,floating:i}=e,a=d_(t),o=f_(t),s=u_(o),c=s_(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(c_(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 D_(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}=o_(t,e),p=w_(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=T_(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=T_(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 O_=50,k_=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:D_},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=E_(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<O_&&(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}=E_(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},A_=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}=o_(e,t)||{};if(l==null)return{};let d=w_(u),f={x:n,y:r},p=f_(i),m=u_(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=$g(d[_],T),E=$g(d[v],T),te=ee,ne=C-h[m]-E,re=C/2-h[m]/2+w,D=a_(te,re,ne),ie=!c.arrow&&c_(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}}}),j_=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}=o_(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=s_(r),_=d_(o),v=s_(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[S_(o)]:m_(o)),x=p!==`none`;!d&&x&&b.push(...x_(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=p_(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`&&_!==d_(t))||T.every(e=>d_(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=d_(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 M_(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function N_(e){return Qg.some(t=>e[t]>=0)}var P_=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=o_(e,t);switch(i){case`referenceHidden`:{let e=M_(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:N_(e)}}}case`escaped`:{let e=M_(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:N_(e)}}}default:return{}}}}},F_=new Set([`left`,`top`]);async function I_(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=s_(n),s=c_(n),c=d_(n)===`y`,l=F_.has(o)?-1:1,u=a&&c?-1:1,d=o_(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 L_=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 I_(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}}}}},R_=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}=o_(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=d_(s_(i)),p=l_(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=a_(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=a_(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}}}}}},z_=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}=o_(e,t),u={x:n,y:r},d=d_(i),f=l_(d),p=u[f],m=u[d],h=o_(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=F_.has(s_(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}}}},B_=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}=o_(e,t),u=await o.detectOverflow(t,l),d=s_(i),f=c_(i),p=d_(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=$g(h-u[g],v),x=$g(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=e_(u.left,0),t=e_(u.right,0),n=e_(u.top,0),r=e_(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:e_(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:e_(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 V_(){return typeof window<`u`}function H_(e){return G_(e)?(e.nodeName||``).toLowerCase():`#document`}function U_(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function W_(e){return((G_(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function G_(e){return V_()?e instanceof Node||e instanceof U_(e).Node:!1}function K_(e){return V_()?e instanceof Element||e instanceof U_(e).Element:!1}function q_(e){return V_()?e instanceof HTMLElement||e instanceof U_(e).HTMLElement:!1}function J_(e){return!V_()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof U_(e).ShadowRoot}function Y_(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=ov(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function X_(e){return/^(table|td|th)$/.test(H_(e))}function Z_(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Q_=/transform|translate|scale|rotate|perspective|filter/,$_=/paint|layout|strict|content/,ev=e=>!!e&&e!==`none`,tv;function nv(e){let t=K_(e)?ov(e):e;return ev(t.transform)||ev(t.translate)||ev(t.scale)||ev(t.rotate)||ev(t.perspective)||!iv()&&(ev(t.backdropFilter)||ev(t.filter))||Q_.test(t.willChange||``)||$_.test(t.contain||``)}function rv(e){let t=cv(e);for(;q_(t)&&!av(t);){if(nv(t))return t;if(Z_(t))return null;t=cv(t)}return null}function iv(){return tv??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),tv}function av(e){return/^(html|body|#document)$/.test(H_(e))}function ov(e){return U_(e).getComputedStyle(e)}function sv(e){return K_(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function cv(e){if(H_(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||J_(e)&&e.host||W_(e);return J_(t)?t.host:t}function lv(e){let t=cv(e);return av(t)?e.ownerDocument?e.ownerDocument.body:e.body:q_(t)&&Y_(t)?t:lv(t)}function uv(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=lv(e),i=r===e.ownerDocument?.body,a=U_(r);if(i){let e=dv(a);return t.concat(a,a.visualViewport||[],Y_(r)?r:[],e&&n?uv(e):[])}else return t.concat(r,uv(r,[],n))}function dv(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function fv(e){let t=ov(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=q_(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=t_(n)!==a||t_(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function pv(e){return K_(e)?e:e.contextElement}function mv(e){let t=pv(e);if(!q_(t))return r_(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=fv(t),o=(a?t_(n.width):n.width)/r,s=(a?t_(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var hv=r_(0);function gv(e){let t=U_(e);return!iv()||!t.visualViewport?hv:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function _v(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==U_(e)?!1:t}function vv(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=pv(e),o=r_(1);t&&(r?K_(r)&&(o=mv(r)):o=mv(e));let s=_v(a,n,r)?gv(a):r_(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=U_(a),t=r&&K_(r)?U_(r):r,n=e,i=dv(n);for(;i&&r&&t!==n;){let e=mv(i),t=i.getBoundingClientRect(),r=ov(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=U_(i),i=dv(n)}}return T_({width:u,height:d,x:c,y:l})}function yv(e,t){let n=sv(e).scrollLeft;return t?t.left+n:vv(W_(e)).left+n}function bv(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-yv(e,n),y:n.top+t.scrollTop}}function xv(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=W_(r),s=t?Z_(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=r_(1),u=r_(0),d=q_(r);if((d||!d&&!a)&&((H_(r)!==`body`||Y_(o))&&(c=sv(r)),d)){let e=vv(r);l=mv(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?bv(o,c):r_(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 Sv(e){return Array.from(e.getClientRects())}function Cv(e){let t=W_(e),n=sv(e),r=e.ownerDocument.body,i=e_(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=e_(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+yv(e),s=-n.scrollTop;return ov(r).direction===`rtl`&&(o+=e_(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var wv=25;function Tv(e,t){let n=U_(e),r=W_(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=iv();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=yv(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<=wv&&(a-=o)}else l<=wv&&(a+=l);return{width:a,height:o,x:s,y:c}}function Ev(e,t){let n=vv(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=q_(e)?mv(e):r_(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Dv(e,t,n){let r;if(t===`viewport`)r=Tv(e,n);else if(t===`document`)r=Cv(W_(e));else if(K_(t))r=Ev(t,n);else{let n=gv(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return T_(r)}function Ov(e,t){let n=cv(e);return n===t||!K_(n)||av(n)?!1:ov(n).position===`fixed`||Ov(n,t)}function kv(e,t){let n=t.get(e);if(n)return n;let r=uv(e,[],!1).filter(e=>K_(e)&&H_(e)!==`body`),i=null,a=ov(e).position===`fixed`,o=a?cv(e):e;for(;K_(o)&&!av(o);){let t=ov(o),n=nv(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||Y_(o)&&!n&&Ov(e,o))?r=r.filter(e=>e!==o):i=t,o=cv(o)}return t.set(e,r),r}function Av(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Z_(t)?[]:kv(t,this._c):[].concat(n),r],o=Dv(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=Dv(t,a[e],i);s=e_(n.top,s),c=$g(n.right,c),l=$g(n.bottom,l),u=e_(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function jv(e){let{width:t,height:n}=fv(e);return{width:t,height:n}}function Mv(e,t,n){let r=q_(t),i=W_(t),a=n===`fixed`,o=vv(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=r_(0);function l(){c.x=yv(i)}if(r||!r&&!a)if((H_(t)!==`body`||Y_(i))&&(s=sv(t)),r){let e=vv(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?bv(i,s):r_(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 Nv(e){return ov(e).position===`static`}function Pv(e,t){if(!q_(e)||ov(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return W_(e)===n&&(n=n.ownerDocument.body),n}function Fv(e,t){let n=U_(e);if(Z_(e))return n;if(!q_(e)){let t=cv(e);for(;t&&!av(t);){if(K_(t)&&!Nv(t))return t;t=cv(t)}return n}let r=Pv(e,t);for(;r&&X_(r)&&Nv(r);)r=Pv(r,t);return r&&av(r)&&Nv(r)&&!nv(r)?n:r||rv(e)||n}var Iv=async function(e){let t=this.getOffsetParent||Fv,n=this.getDimensions,r=await n(e.floating);return{reference:Mv(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Lv(e){return ov(e).direction===`rtl`}var Rv={convertOffsetParentRelativeRectToViewportRelativeRect:xv,getDocumentElement:W_,getClippingRect:Av,getOffsetParent:Fv,getElementRects:Iv,getClientRects:Sv,getDimensions:jv,getScale:mv,isElement:K_,isRTL:Lv};function zv(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Bv(e,t){let n=null,r,i=W_(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=n_(d),h=n_(i.clientWidth-(u+f)),g=n_(i.clientHeight-(d+p)),_=n_(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:e_(0,$g(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&&!zv(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 Vv(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=pv(e),u=i||a?[...l?uv(l):[],...t?uv(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Bv(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?vv(e):null;c&&g();function g(){let t=vv(e);h&&!zv(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 Hv=L_,Uv=R_,Wv=j_,Gv=B_,Kv=P_,qv=A_,Jv=z_,Yv=(e,t,n)=>{let r=new Map,i={platform:Rv,...n},a={...i.platform,_c:r};return k_(e,t,{...i,platform:a})};function Xv(e){return typeof e==`object`&&!!e&&`$el`in e}function Zv(e){if(Xv(e)){let t=e.$el;return G_(t)&&H_(t)===`#comment`?null:t}return e}function Qv(e){return typeof e==`function`?e():M(e)}function $v(e){return{name:`arrow`,options:e,fn(t){let n=Zv(Qv(e.element));return n==null?{}:qv({element:n,padding:e.padding}).fn(t)}}}function ey(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function ty(e,t){let n=ey(e);return Math.round(t*n)/n}function ny(e,t,n){n===void 0&&(n={});let r=n.whileElementsMounted,i=K(()=>Qv(n.open)??!0),a=K(()=>Qv(n.middleware)),o=K(()=>Qv(n.placement)??`bottom`),s=K(()=>Qv(n.strategy)??`absolute`),c=K(()=>Qv(n.transform)??!0),l=K(()=>Zv(e.value)),u=K(()=>Zv(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=ty(u.value,d.value),n=ty(u.value,f.value);return c.value?{...e,transform:`translate(`+t+`px, `+n+`px)`,...ey(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;Yv(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 ry={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},[iy,ay]=Jp(`PopperContent`),oy=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}},{...ry}),emits:[`placed`],setup(e,{emit:t}){let n=e,r=t,i=Gg(),{forwardRef:a,currentElement:o}=Y(),s=j(),c=j(),{width:l,height:u}=vh(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(Yg),altBoundary:p.value.length>0})),h=K(()=>({mainAxis:n.sideFlip,crossAxis:n.alignFlip})),g=Qp(()=>[Hv({mainAxis:n.sideOffset+u.value,alignmentAxis:n.alignOffset}),n.prioritizePosition&&n.avoidCollisions&&Wv({...m.value,...h.value}),n.avoidCollisions&&Uv({mainAxis:!0,crossAxis:!!n.prioritizePosition,limiter:n.sticky===`partial`?Jv():void 0,...m.value}),!n.prioritizePosition&&n.avoidCollisions&&Wv({...m.value,...h.value}),Gv({...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&&$v({element:c.value,padding:n.arrowPadding}),Xg({arrowWidth:l.value,arrowHeight:u.value}),n.hideWhenDetached&&Kv({strategy:`referenceHidden`,...m.value})]),{floatingStyles:_,placement:v,isPositioned:y,middlewareData:b,update:x}=ny(K(()=>n.reference??i.anchor.value),s,{strategy:n.positionStrategy,placement:d,whileElementsMounted:(...e)=>Vv(...e,{layoutShift:!n.disableUpdateOnLayoutShift,animationFrame:n.updatePositionStrategy===`always`}),middleware:g}),S=K(()=>Zg(v.value)[0]),C=K(()=>Zg(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)}),ay({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(Oh),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))}}),[sy,cy]=Jp(`ComboboxRoot`),ly=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}=kh(),{multiple:s,disabled:c,ignoreFilter:l,resetSearchTermOnSelect:u,openOnFocus:d,openOnClick:f,dir:p,resetModelValueOnClear:m,highlightOnHover:h}=bn(r),g=Um(p),_=Dm(r,`modelValue`,i,{defaultValue:r.defaultValue??(s.value?[]:void 0),passive:r.modelValue===void 0,deep:!0}),v=Dm(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=em(),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}=Gm({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}),cy({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(qg),null,{default:N(()=>[H(M(Lg),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}))}}),uy=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(Jg),{"as-child":``,reference:e.reference},{default:N(()=>[H(M(Oh),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`]))}}),[dy,fy]=Jp(`ComboboxContent`),py=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=sy(),o=K(()=>a.ignoreFilter.value?a.allItems.value.size===0:a.filterState.value.count===0),{forwardRef:s,currentElement:c}=Y();zm(n.bodyLock),qm(),mh(a.parentElement);let l=Xm(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)`};fy({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=Yp();d.value&&(!e||e===document.body)&&a.triggerElement.value?.focus()}),(e,t)=>(R(),B(M(Rg),{"as-child":``},{default:N(()=>[H(M(eg),{"as-child":``,onMountAutoFocus:t[5]||=Yl(()=>{},[`prevent`]),onUnmountAutoFocus:t[6]||=Yl(()=>{},[`prevent`])},{default:N(()=>[H(M(Bh),{"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(oy):M(Oh)),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}))}}),my=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=Zm(e,t),{forwardRef:r}=Y(),i=sy();return i.contentId||=gh(void 0,`reka-combobox-content`),(e,t)=>(R(),B(M(Th),{present:e.forceMount||M(i).open.value},{default:N(()=>[H(py,G({...M(n),...e.$attrs},{ref:M(r)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)]),_:3},8,[`present`]))}}),hy=P({__name:`ComboboxEmpty`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,n=sy(),r=K(()=>n.ignoreFilter.value?n.allItems.value.size===0:n.filterState.value.count===0);return(e,n)=>r.value?(R(),B(M(Oh),be(G({key:0},t)),{default:N(()=>[I(e.$slots,`default`,{},()=>[n[0]||=U(`No options`)])]),_:3},16)):W(`v-if`,!0)}}),[gy,_y]=Jp(`ComboboxGroup`),vy=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=sy(),a=Fg(),{primitiveElement:o,currentElement:s}=kh(),c=Dm(n,`modelValue`,r,{passive:n.modelValue===void 0});Ki(()=>{s.value&&i.onInputElementChange(s.value)});let{isComposing:l,handleCompositionStart:u,handleCompositionEnd:d}=Hm(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(zg),{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`]))}}),yy=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=gh(void 0,`reka-combobox-item`),a=sy(),o=gy(null),{primitiveElement:s,currentElement:c}=kh();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(Ug),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)}}),by=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(Wg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),xy=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(vg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),Sy=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=sy(),a=K(()=>t.disabled||i.disabled.value||!1);return Ki(()=>{r.value&&i.onTriggerElementChange(r.value)}),(e,r)=>(R(),B(M(Oh),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 Cy(e){let t=Mm({nonce:j()});return K(()=>e?.value||t.nonce?.value)}var wy=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=Cy(r),a=sy();return(e,r)=>(R(),z(L,null,[H(M(Oh),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(Oh),{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))}}),[Ty,Ey]=Jp(`RovingFocusGroup`),Dy=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=Um(s),l=Dm(r,`currentTabStopId`,i,{defaultValue:r.defaultCurrentTabStopId,passive:r.currentTabStopId===void 0}),u=j(!1),d=j(!1),f=j(0),{getItems:p,CollectionSlot:m}=Sg({isProvider:!0});function h(e){let t=!d.value;if(e.currentTarget&&e.target===e.currentTarget&&t&&!u.value){let t=new CustomEvent(Og,kg);if(e.currentTarget.dispatchEvent(t),i(`entryFocus`,t),!t.defaultPrevented){let e=p().map(e=>e.ref).filter(e=>e.dataset.disabled!==``);Ng([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}),Ey({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(Oh),{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}))}}),Oy=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=Ty(),r=gh(),i=K(()=>t.tabStopId||r),a=K(()=>n.currentTabStopId.value===i.value),{getItems:o,CollectionItem:s}=Sg();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=Mg(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?Pg(i,t+1):i.slice(t+1)}$n(()=>Ng(i))}}return(e,t)=>(R(),B(M(s),null,{default:N(()=>[H(M(Oh),{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}))}}),ky=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(Jg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}});function Ay(){let e=j(!1);return Ki(()=>{bm(`keydown`,()=>{e.value=!0},{capture:!0,passive:!0}),bm([`pointerdown`,`pointermove`],()=>{e.value=!1},{capture:!0,passive:!0})}),e}var jy=um(Ay),[My,Ny]=Jp([`MenuRoot`,`MenuSub`],`MenuContext`),[Py,Fy]=Jp(`MenuRoot`),Iy=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=Um(a),s=Dm(n,`open`,r),c=j(),l=jy();return Ny({open:s,onOpenChange:e=>{s.value=e},content:c,onContentChange:e=>{c.value=e}}),Fy({onClose:()=>{s.value=!1},isUsingKeyboardRef:l,dir:o,modal:i}),(e,t)=>(R(),B(M(qg),null,{default:N(()=>[I(e.$slots,`default`)]),_:3}))}}),[Ly,Ry]=Jp(`MenuContent`),zy=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}},{...ry}),emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`entryFocus`,`openAutoFocus`,`closeAutoFocus`,`dismiss`],setup(e,{emit:t}){let n=e,r=t,i=My(),a=Py(),{trapFocus:o,disableOutsidePointerEvents:s,loop:c}=bn(n);qm(),zm(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}=bh(),b=j();function x(e){let t=Am(e,b.value||Yp(),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&&lg(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=Am(e,Yp(),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||!ag.includes(e.key))return;e.preventDefault();let u=[...l.map(e=>e.ref)];ig.includes(e.key)&&u.reverse(),sg(u)}function te(e){e?.currentTarget?.contains?.(e.target)||(window.clearTimeout(u.value),l.value=``)}function ne(e){if(!ug(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){ug(e)&&C.value&&C.value.focus()}return Ry({onItemEnter:e=>!!T(e),onItemLeave:e=>T(e)?!0:([`INPUT`,`TEXTAREA`].includes(Yp()?.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(eg),{"as-child":``,trapped:M(o),onMountAutoFocus:ee,onUnmountAutoFocus:t[7]||=e=>r(`closeAutoFocus`,e)},{default:N(()=>[H(M(Bh),{"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(Dy),{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(oy),{ref:M(_),role:`menu`,as:e.as,"as-child":e.asChild,"aria-orientation":`vertical`,"data-reka-menu-content":``,"data-state":M(og)(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`]))}}),By=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=Ly(),{forwardRef:r,currentElement:i}=Y(),{CollectionItem:a}=Sg(),o=j(!1),s=K(()=>o.value||i.value!=null&&n.highlightedElement.value===i.value);async function c(e){if(!(e.defaultPrevented||!ug(e))){if(t.disabled)n.onItemLeave(e);else if(!n.onItemEnter(e)){let t=e.currentTarget;n.highlightedElement.value=t,[`INPUT`,`TEXTAREA`].includes(Yp()?.tagName||``)||t.focus({preventScroll:!0})}}}async function l(e){await $n(),!e.defaultPrevented&&ug(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(Oh),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`]))}}),Vy=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=Py(),s=Ly(),c=j(!1);async function l(){let e=a.value;if(!n.disabled&&e){let e=new CustomEvent(tg,{bubbles:!0,cancelable:!0});r(`select`,e),await $n(),e.defaultPrevented?c.value=!1:o.onClose()}}return(e,t)=>(R(),B(By,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(ng).includes(t.key)&&(t.currentTarget?.click(),t.preventDefault())}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),Hy=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=Zm(n,r),a=My(),{forwardRef:o,currentElement:s}=Y();return mh(s),(e,t)=>(R(),B(zy,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`]))}}),Uy=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=Zm(e,t),r=My();return(e,t)=>(R(),B(zy,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))}}),Wy=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=Zm(e,t),r=My(),i=Py();return(e,t)=>(R(),B(M(Th),{present:e.forceMount||M(r).open.value},{default:N(()=>[M(i).modal.value?(R(),B(Hy,be(G({key:0},{...e.$attrs,...M(n)})),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)):(R(),B(Uy,be(G({key:1},{...e.$attrs,...M(n)})),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),[Gy,Ky]=Jp(`MenuGroup`),qy=P({__name:`MenuLabel`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`div`}},setup(e){let t=e,n=Gy({id:``});return(e,r)=>(R(),B(M(Oh),G(t,{id:M(n).id||void 0}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`]))}}),Jy=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(vg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),Yy=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(Oh),G(t,{role:`separator`,"aria-orientation":`horizontal`}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),[Xy,Zy]=Jp(`PopoverRoot`),Qy=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=Dm(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0});return Zy({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(qg),null,{default:N(()=>[I(e.$slots,`default`,{open:M(a),close:()=>a.value=!1})]),_:3}))}}),$y=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=Xm(pm(n,`trapFocus`,`disableOutsidePointerEvents`)),{forwardRef:a}=Y(),o=Xy();return qm(),(e,t)=>(R(),B(M(eg),{"as-child":``,loop:``,trapped:e.trapFocus,onMountAutoFocus:t[5]||=e=>r(`openAutoFocus`,e),onUnmountAutoFocus:t[6]||=e=>r(`closeAutoFocus`,e)},{default:N(()=>[H(M(Bh),{"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(oy),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`]))}}),eb=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=Xy(),a=j(!1);zm(!0);let o=Zm(n,r),{forwardRef:s,currentElement:c}=Y();return mh(c),(e,t)=>(R(),B($y,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`]))}}),tb=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=Xy(),a=j(!1),o=j(!1),s=Zm(n,r);return(e,t)=>(R(),B($y,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))}}),nb=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=Xy(),a=Zm(n,r),{forwardRef:o}=Y();return i.contentId||=gh(void 0,`reka-popover-content`),(e,t)=>(R(),B(M(Th),{present:e.forceMount||M(i).open.value},{default:N(()=>[M(i).modal.value?(R(),B(eb,G({key:0},M(a),{ref:M(o)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)):(R(),B(tb,G({key:1},M(a),{ref:M(o)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),rb=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(vg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),ib=P({__name:`PopoverTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Xy(),{forwardRef:r,currentElement:i}=Y();return n.triggerId||=gh(void 0,`reka-popover-trigger`),Ki(()=>{n.triggerElement.value=i.value}),(e,i)=>(R(),B(aa(M(n).hasCustomAnchor.value?M(Oh):M(Jg)),{"as-child":``},{default:N(()=>[H(M(Oh),{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}))}}),[ab,ob]=Jp(`DropdownMenuRoot`),sb=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=Dm(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0}),a=j(),{modal:o,dir:s}=bn(n),c=Um(s);return ob({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(Iy),{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`]))}}),cb=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=Zm(e,t);Y();let r=ab(),i=j(!1);function a(e){e.defaultPrevented||(i.value||setTimeout(()=>{r.triggerElement.value?.focus()},0),i.value=!1,e.preventDefault())}return r.contentId||=gh(void 0,`reka-dropdown-menu-content`),(e,t)=>(R(),B(M(Wy),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`]))}}),lb=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=Wm(t);return Y(),(e,t)=>(R(),B(M(Vy),be(gs({...n,...M(r)})),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),ub=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(qy),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),db=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(Jy),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),fb=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(Yy),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),pb=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=ab(),{forwardRef:r,currentElement:i}=Y();return Ki(()=>{n.triggerElement=i}),n.triggerId||=gh(void 0,`reka-dropdown-menu-trigger`),(e,i)=>(R(),B(M(ky),{"as-child":``},{default:N(()=>[H(M(Oh),{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}))}}),mb=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(Oh),G(t,{onMousedown:n[0]||=e=>{!e.defaultPrevented&&e.detail>1&&e.preventDefault()}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),hb=[` `,`Enter`,`ArrowUp`,`ArrowDown`],gb=[` `,`Enter`];function _b(e,t,n){return e===void 0?!1:Array.isArray(e)?e.some(e=>vb(e,t,n)):vb(e,t,n)}function vb(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]:Gp(e,t)}function yb(e){return e==null||e===``||Array.isArray(e)&&e.length===0}var bb={key:0,value:``},[xb,Sb]=Jp(`SelectRoot`),Cb=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=Dm(n,`modelValue`,r,{defaultValue:n.defaultValue??(o.value?[]:void 0),passive:n.modelValue===void 0,deep:!0}),l=Dm(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:Zp(c.value));Sg({isProvider:!0});let m=Um(s),h=Ym(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=>vb(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=>_b(e,t.value,n.by))}return Sb({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(qg),null,{default:N(()=>[I(e.$slots,`default`,{modelValue:M(c),open:M(l)}),M(h)&&e.name?(R(),B(wb,{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(Zp)(M(c))?(R(),z(`option`,bb)):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}))}}),wb=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=xb();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(Cg),{"as-child":``},{default:N(()=>[V(`select`,G({ref_key:`selectElement`,ref:n},t,{onInput:i}),[I(e.$slots,`default`)],16)]),_:3}))}}),Tb=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=Xm(e);return(e,n)=>(R(),B(M(oy),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))}}),Eb={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[Db,Ob]=Jp(`SelectContent`),kb=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=xb();qm(),zm(n.bodyLock);let{CollectionSlot:a,getItems:o}=Sg(),s=j();mh(s);let{search:c,handleTypeaheadSearch:l}=bh(),u=j(),d=j(),f=j(),p=j(!1),m=j(!1),h=j(!1);function g(){d.value&&s.value&&sg([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(()=>sg(t)),e.preventDefault()}}let b=Xm(K(()=>n.position===`popper`?n:{}).value);return Ob({content:s,viewport:u,onViewportChange:e=>{u.value=e},itemRefCallback:(e,t,n)=>{let r=!m.value&&!n,a=_b(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;(_b(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(eg),{"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(Bh),{"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`?Tb:Mb),G({...e.$attrs,...M(b)},{id:M(i).contentId,ref:e=>{if(!e)return;let t=M(ym)(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}))}}),[Ab,jb]=Jp(`SelectItemAlignedPosition`),Mb=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}=Sg(),a=xb(),o=Db(),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=qp(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=qp(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 Em(a.triggerElement,()=>{g()}),jb({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(Oh),G({ref:M(u),style:{boxSizing:`border-box`,maxHeight:`100%`}},{...e.$attrs,...n}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)],4))}}),Nb=P({inheritAttrs:!1,__name:`SelectProvider`,props:{context:{type:Object,required:!0}},setup(e){return Sb(e.context),Ob(Eb),(e,t)=>I(e.$slots,`default`)}}),Pb={key:1},Fb=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=Zm(n,t),i=xb(),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(Th),{key:0,ref_key:`presenceRef`,ref:o,present:s.value},{default:N(()=>[H(kb,be(gs({...M(r),...e.$attrs})),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)]),_:3},8,[`present`])):a.value?(R(),z(`div`,Pb,[(R(),B(Hr,{to:a.value},[H(Nb,{context:M(i)},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`context`])],8,[`to`]))])):W(`v-if`,!0)}}),Ib=P({__name:`SelectIcon`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,t)=>(R(),B(M(Oh),{"aria-hidden":`true`,as:e.as,"as-child":e.asChild},{default:N(()=>[I(e.$slots,`default`,{},()=>[t[0]||=U(`▼`)])]),_:3},8,[`as`,`as-child`]))}}),[Lb,Rb]=Jp(`SelectItem`),zb=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=xb(),o=Db(),{forwardRef:s,currentElement:c}=Y(),{CollectionItem:l}=Sg(),u=K(()=>_b(a.modelValue?.value,n.value,a.by)),d=j(!1),f=j(n.textValue??``),p=gh(void 0,`reka-select-item-text`);async function m(e){e.defaultPrevented||Xp(`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===Yp()&&o.onItemLeave?.()}async function v(e){await $n(),!e.defaultPrevented&&(o.searchRef?.value!==``&&e.key===` `||(gb.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)}),Rb({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(Oh),{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`]))}}),Bb=P({__name:`SelectItemIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=Lb();return(e,r)=>M(n).isSelected.value?(R(),B(M(Oh),G({key:0,"aria-hidden":`true`},t),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)):W(`v-if`,!0)}}),Vb=P({inheritAttrs:!1,__name:`SelectItemText`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=xb(),r=Db(),i=Lb(),{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(Oh),G({id:M(i).textId,ref:M(a)},{...t,...e.$attrs}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`]))}}),Hb=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(vg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),Ub=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=xb(),{forwardRef:r,currentElement:i}=Y(),a=K(()=>n.disabled?.value||t.disabled);n.contentId||=gh(void 0,`reka-select-content`),Ki(()=>{n.onTriggerChange(i.value)});let{getItems:o}=Sg(),{search:s,handleTypeaheadSearch:c,resetTypeahead:l}=bh();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(Jg),{"as-child":``,reference:e.reference},{default:N(()=>[H(M(Oh),{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(yb)(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(hb).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`]))}}),Wb=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=xb();Ki(()=>{i.valueElement=r});let a=K(()=>{let e=[],t=Array.from(i.optionsSet.value),n=e=>t.find(t=>_b(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(Oh),{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`]))}}),Gb=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=Cy(n),i=Db(),a=i.position===`item-aligned`?Ab():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(Oh),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(Oh),{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))}}),[Kb,qb]=Jp(`SwitchRoot`),Jb=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=Dm(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=Ym(l),d=K(()=>n.id&&l.value?document.querySelector(`[for="${n.id}"]`)?.innerText:void 0);return qb({checked:o,toggleCheck:s,disabled:i}),(e,t)=>(R(),B(M(Oh),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(Tg),{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`]))}}),Yb=P({__name:`SwitchThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=Kb();return Y(),(e,n)=>(R(),B(M(Oh),{"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`]))}}),[Xb,Zb]=Jp(`TabsRoot`),Qb=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=Um(o);Y();let c=Dm(n,`modelValue`,r,{defaultValue:n.defaultValue,passive:n.modelValue===void 0}),l=j(),u=dn(new Set);return Zb({modelValue:c,changeModelValue:e=>{c.value=e},orientation:i,dir:s,unmountOnHide:a,activationMode:n.activationMode,baseId:gh(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(Oh),{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 $b(e,t){return`${e}-trigger-${t}`}function ex(e,t){return`${e}-content-${t}`}var tx=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=Xb();return i.tabsList=r,(e,r)=>(R(),B(M(Dy),{"as-child":``,orientation:M(i).orientation.value,dir:M(i).dir.value,loop:M(t)},{default:N(()=>[H(M(Oh),{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`]))}}),nx=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=Xb(),i=K(()=>$b(r.baseId,t.value)),a=K(()=>r.contentIds.value.has(t.value)?ex(r.baseId,t.value):void 0),o=K(()=>t.value===r.modelValue.value);return(e,t)=>(R(),B(M(Oy),{"as-child":``,focusable:!e.disabled,active:o.value},{default:N(()=>[H(M(Oh),{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`]))}}),[rx,ix]=Jp(`TooltipProvider`),ax=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}=gm(()=>{c.value=!0},n,{immediate:!1});return ix({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`)}}),ox=`tooltip.open`,[sx,cx]=Jp(`TooltipRoot`),lx=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=rx(),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=Dm(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0});Dr(u,e=>{i.onClose&&(e?(i.onOpen(),document.dispatchEvent(new CustomEvent(ox))):i.onClose())});let d=j(!1),f=j(),p=K(()=>u.value?d.value?`delayed-open`:`instant-open`:`closed`),{start:m,stop:h}=gm(()=>{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 cx({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(qg),null,{default:N(()=>[I(e.$slots,`default`,{open:M(u)})]),_:3}))}}),ux=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=sx(),a=rx(),{forwardRef:o,currentElement:s}=Y(),c=K(()=>n.ariaLabel||s.value?.textContent),l=K(()=>{let{ariaLabel:e,...t}=n;return Lm(t,a.content.value??{},{side:`top`,sideOffset:0,align:`center`,avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:`partial`,hideWhenDetached:!1})});return Ki(()=>{bm(window,`scroll`,e=>{e.target?.contains(i.trigger.value)&&i.onClose()},{capture:!0}),bm(window,ox,i.onClose)}),(e,t)=>(R(),B(M(Bh),{"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(oy),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(Cg),{id:M(i).contentId,role:`tooltip`},{default:N(()=>[U(A(c.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),dx=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=Xm(e),{forwardRef:n,currentElement:r}=Y(),{trigger:i,onClose:a}=sx(),o=rx(),{isPointerInTransit:s,onPointerExit:c}=Qm(i,r);return o.isPointerInTransitRef=s,c(()=>{a()}),(e,r)=>(R(),B(ux,G({ref:M(n)},M(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),fx=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=sx(),a=Zm(n,r),{forwardRef:o}=Y();return(e,t)=>(R(),B(M(Th),{present:e.forceMount||M(i).open.value},{default:N(()=>[(R(),B(aa(M(i).disableHoverableContent.value?ux:dx),G({ref:M(o)},M(a)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),px=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(vg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),mx=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=sx(),r=rx();n.contentId||=gh(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(Jg),{"as-child":``,reference:e.reference},{default:N(()=>[H(M(Oh),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`]))}}),hx=(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},gx=(e,t)=>({classGroupId:e,validator:t}),_x=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),vx=`-`,yx=[],bx=`arbitrary..`,xx=e=>{let t=wx(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return Cx(e);let n=e.split(vx);return Sx(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?hx(i,t):t:i||yx}return n[e]||yx}}},Sx=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=Sx(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(vx):e.slice(t).join(vx),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},Cx=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?bx+r:void 0})(),wx=e=>{let{theme:t,classGroups:n}=e;return Tx(n,t)},Tx=(e,t)=>{let n=_x();for(let r in e){let i=e[r];Ex(i,n,r,t)}return n},Ex=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];Dx(i,t,n,r)}},Dx=(e,t,n,r)=>{if(typeof e==`string`){Ox(e,t,n);return}if(typeof e==`function`){kx(e,t,n,r);return}Ax(e,t,n,r)},Ox=(e,t,n)=>{let r=e===``?t:jx(t,e);r.classGroupId=n},kx=(e,t,n,r)=>{if(Mx(e)){Ex(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(gx(n,e))},Ax=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];Ex(o,jx(t,a),n,r)}},jx=(e,t)=>{let n=e,r=t.split(vx),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=_x(),n.nextPart.set(t,i)),n=i}return n},Mx=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,Nx=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)}}},Px=`!`,Fx=`:`,Ix=[],Lx=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),Rx=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===Fx){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(Px)?(c=s.slice(0,-1),l=!0):s.startsWith(Px)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return Lx(t,l,c,u)};if(t){let e=t+Fx,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):Lx(Ix,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},zx=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}},Bx=e=>({cache:Nx(e.cacheSize),parseClassName:Rx(e),sortModifiers:zx(e),postfixLookupClassGroupIds:Vx(e),...xx(e)}),Vx=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},Hx=/\s+/,Ux=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(Hx),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?_+Px:_,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},Wx=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=Gx(n))&&(i&&(i+=` `),i+=r);return i},Gx=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=Gx(e[r]))&&(n&&(n+=` `),n+=t);return n},Kx=(e,...t)=>{let n,r,i,a,o=o=>(n=Bx(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=Ux(e,n);return i(e,a),a};return a=o,(...e)=>a(Wx(...e))},qx=[],Jx=e=>{let t=t=>t[e]||qx;return t.isThemeGetter=!0,t},Yx=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Xx=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Zx=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Qx=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,$x=/\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$/,eS=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,tS=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,nS=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,rS=e=>Zx.test(e),iS=e=>!!e&&!Number.isNaN(Number(e)),aS=e=>!!e&&Number.isInteger(Number(e)),oS=e=>e.endsWith(`%`)&&iS(e.slice(0,-1)),sS=e=>Qx.test(e),cS=()=>!0,lS=e=>$x.test(e)&&!eS.test(e),uS=()=>!1,dS=e=>tS.test(e),fS=e=>nS.test(e),pS=e=>!X(e)&&!Z(e),mS=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)),hS=e=>AS(e,PS,uS),X=e=>Yx.test(e),gS=e=>AS(e,FS,lS),_S=e=>AS(e,IS,iS),vS=e=>AS(e,RS,cS),yS=e=>AS(e,LS,uS),bS=e=>AS(e,MS,uS),xS=e=>AS(e,NS,fS),SS=e=>AS(e,zS,dS),Z=e=>Xx.test(e),CS=e=>jS(e,FS),wS=e=>jS(e,LS),TS=e=>jS(e,MS),ES=e=>jS(e,PS),DS=e=>jS(e,NS),OS=e=>jS(e,zS,!0),kS=e=>jS(e,RS,!0),AS=(e,t,n)=>{let r=Yx.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},jS=(e,t,n=!1)=>{let r=Xx.exec(e);return r?r[1]?t(r[1]):n:!1},MS=e=>e===`position`||e===`percentage`,NS=e=>e===`image`||e===`url`,PS=e=>e===`length`||e===`size`||e===`bg-size`,FS=e=>e===`length`,IS=e=>e===`number`,LS=e=>e===`family-name`,RS=e=>e===`number`||e===`weight`,zS=e=>e===`shadow`,BS=Kx(()=>{let e=Jx(`color`),t=Jx(`font`),n=Jx(`text`),r=Jx(`font-weight`),i=Jx(`tracking`),a=Jx(`leading`),o=Jx(`breakpoint`),s=Jx(`container`),c=Jx(`spacing`),l=Jx(`radius`),u=Jx(`shadow`),d=Jx(`inset-shadow`),f=Jx(`text-shadow`),p=Jx(`drop-shadow`),m=Jx(`blur`),h=Jx(`perspective`),g=Jx(`aspect`),_=Jx(`ease`),v=Jx(`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=()=>[rS,`full`,`auto`,...w()],ee=()=>[aS,`none`,`subgrid`,Z,X],E=()=>[`auto`,{span:[`full`,aS,Z,X]},aS,Z,X],te=()=>[aS,`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=()=>[rS,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],oe=()=>[rS,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],se=()=>[rS,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],O=()=>[e,Z,X],ce=()=>[...b(),TS,bS,{position:[Z,X]}],le=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ue=()=>[`auto`,`cover`,`contain`,ES,hS,{size:[Z,X]}],de=()=>[oS,CS,gS],fe=()=>[``,`none`,`full`,l,Z,X],pe=()=>[``,iS,CS,gS],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=()=>[iS,oS,TS,bS],_e=()=>[``,`none`,m,Z,X],ve=()=>[`none`,iS,Z,X],ye=()=>[`none`,iS,Z,X],k=()=>[iS,Z,X],be=()=>[rS,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[sS],breakpoint:[sS],color:[cS],container:[sS],"drop-shadow":[sS],ease:[`in`,`out`,`in-out`],font:[pS],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[sS],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[sS],shadow:[sS],spacing:[`px`,iS],text:[sS],"text-shadow":[sS],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,rS,X,Z,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,Z,X]}],"container-named":[mS],columns:[{columns:[iS,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:[aS,`auto`,Z,X]}],basis:[{basis:[rS,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[iS,rS,`auto`,`initial`,`none`,X]}],grow:[{grow:[``,iS,Z,X]}],shrink:[{shrink:[``,iS,Z,X]}],order:[{order:[aS,`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,CS,gS]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,kS,vS]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,oS,X]}],"font-family":[{font:[wS,yS,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":[iS,`none`,Z,_S]}],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:[iS,`from-font`,`auto`,Z,gS]}],"text-decoration-color":[{decoration:O()}],"underline-offset":[{"underline-offset":[iS,`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:[aS,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`]},aS,Z,X],radial:[``,Z,X],conic:[aS,Z,X]},DS,xS]}],"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":[iS,Z,X]}],"outline-w":[{outline:[``,iS,CS,gS]}],"outline-color":[{outline:O()}],shadow:[{shadow:[``,`none`,u,OS,SS]}],"shadow-color":[{shadow:O()}],"inset-shadow":[{"inset-shadow":[`none`,d,OS,SS]}],"inset-shadow-color":[{"inset-shadow":O()}],"ring-w":[{ring:pe()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:O()}],"ring-offset-w":[{"ring-offset":[iS,gS]}],"ring-offset-color":[{"ring-offset":O()}],"inset-ring-w":[{"inset-ring":pe()}],"inset-ring-color":[{"inset-ring":O()}],"text-shadow":[{"text-shadow":[`none`,f,OS,SS]}],"text-shadow-color":[{"text-shadow":O()}],opacity:[{opacity:[iS,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":[iS]}],"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":[iS]}],"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:[iS,Z,X]}],contrast:[{contrast:[iS,Z,X]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,OS,SS]}],"drop-shadow-color":[{"drop-shadow":O()}],grayscale:[{grayscale:[``,iS,Z,X]}],"hue-rotate":[{"hue-rotate":[iS,Z,X]}],invert:[{invert:[``,iS,Z,X]}],saturate:[{saturate:[iS,Z,X]}],sepia:[{sepia:[``,iS,Z,X]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,Z,X]}],"backdrop-blur":[{"backdrop-blur":_e()}],"backdrop-brightness":[{"backdrop-brightness":[iS,Z,X]}],"backdrop-contrast":[{"backdrop-contrast":[iS,Z,X]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,iS,Z,X]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[iS,Z,X]}],"backdrop-invert":[{"backdrop-invert":[``,iS,Z,X]}],"backdrop-opacity":[{"backdrop-opacity":[iS,Z,X]}],"backdrop-saturate":[{"backdrop-saturate":[iS,Z,X]}],"backdrop-sepia":[{"backdrop-sepia":[``,iS,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:[iS,`initial`,Z,X]}],ease:[{ease:[`linear`,`initial`,_,Z,X]}],delay:[{delay:[iS,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:[aS,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:[iS,CS,gS,_S]}],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 VS(...e){return BS(zp(e))}async function HS(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(Oh),{as:e.as,"as-child":e.asChild,class:k(M(VS)(M(US)({variant:e.variant,size:e.size}),t.class))},{default:N(()=>[I(n.$slots,`default`)]),_:3},8,[`as`,`as-child`,`class`]))}}),US=Hp(`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`}}),WS=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(VS)(`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]])}}),GS=P({__name:`SelectTrigger`,props:{disabled:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=Xm(t);return(e,r)=>(R(),B(M(Ub),G(M(n),{class:M(VS)(`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(Ib),{"as-child":``},{default:N(()=>[H(M(ku),{class:`size-4 opacity-50`})]),_:1})]),_:3},16,[`class`]))}}),KS=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=Zm(n,t);return(t,i)=>(R(),B(M(Hb),null,{default:N(()=>[H(M(Fb),G(M(r),{class:M(VS)(`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(Gb),{class:k(M(VS)(`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}))}}),qS={class:`absolute left-2 flex size-3.5 items-center justify-center`},JS=P({__name:`SelectItem`,props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=Xm(t);return(e,r)=>(R(),B(M(zb),G(M(n),{class:M(VS)(`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`,qS,[H(M(Bb),null,{default:N(()=>[H(M(Ou),{class:`size-4`})]),_:1})]),H(M(Vb),null,{default:N(()=>[I(e.$slots,`default`)]),_:3})]),_:3},16,[`class`]))}}),YS=P({__name:`TabsList`,props:{loop:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e;return(e,n)=>(R(),B(M(tx),G(t,{class:M(VS)(`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`]))}}),XS=P({__name:`TabsTrigger`,props:{value:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=Xm(t);return(e,r)=>(R(),B(M(nx),G(M(n),{class:M(VS)(`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`]))}}),ZS=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=Zm(n,t);return(e,t)=>(R(),B(M(rb),null,{default:N(()=>[H(M(nb),G(M(r),{class:M(VS)(`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}))}}),QS=P({__name:`Badge`,props:{variant:{},class:{}},setup(e){return(t,n)=>(R(),z(`span`,{class:k(M(VS)(M($S)({variant:e.variant}),t.$props.class))},[I(t.$slots,`default`)],2))}}),$S=Hp(`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`}}),eC=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=Zm(n,t);return(e,t)=>(R(),B(M(Jb),G(M(r),{class:M(VS)(`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(Yb),{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`]))}}),tC={class:`flex flex-col gap-3`},nC=[`aria-checked`,`onClick`],rC=[`aria-checked`],iC=[`aria-checked`,`disabled`],aC={key:0,class:`ml-[30px] text-[11px] text-muted-foreground`},oC=[`aria-checked`],sC={class:`border-t pt-2`},cC=[`aria-checked`,`onClick`],lC={class:`border-t pt-2`},uC=[`aria-checked`],dC={class:`border-t pt-2`},fC=[`aria-checked`,`disabled`,`onClick`],pC={class:`truncate`},mC=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`,tC,[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(mp),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(_p)[t]),1)],8,nC))),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,rC),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,iC),e.scanIndexed?W(``,!0):(R(),z(`p`,aC,`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,oC)]),V(`div`,sC,[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(hp),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(vp)[t]),1)],8,cC))),128))]),V(`div`,lC,[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,uC)]),V(`div`,dC,[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(fp),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`,pC,A(M(gp)[t]),1)],8,fC),H(M(eC),{"model-value":i.value.has(t),"aria-label":`Enable ${M(gp)[t]} check`,"onUpdate:modelValue":e=>c(t,e)},null,8,[`model-value`,`aria-label`,`onUpdate:modelValue`])]))),128))])]))}}),hC={class:`pointer-events-none fixed bottom-4 right-4 z-[200] flex w-80 flex-col gap-2`},gC=[`onClick`],_C=((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=SC();return(e,n)=>(R(),B(Hr,{to:`body`},[V(`div`,hC,[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(VS)(`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(xC)(e.id)},A(e.message),11,gC))),128))]),_:1})])]))}}),[[`__scopeId`,`data-v-e9967100`]]),vC=Xt({toasts:[]}),yC=0;function bC(e,t,n=4e3){let r=yC++;vC.toasts.push({id:r,message:e,variant:t}),window.setTimeout(()=>xC(r),n)}function xC(e){let t=vC.toasts.findIndex(t=>t.id===e);t!==-1&&vC.toasts.splice(t,1)}var $=Object.assign(e=>bC(e,`default`),{success:e=>bC(e,`success`),error:e=>bC(e,`error`),info:e=>bC(e,`default`)});function SC(){return vC}var CC=P({__name:`Label`,props:{for:{},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e;return(e,n)=>(R(),B(M(mb),{for:t.for,class:k(M(VS)(`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`]))}}),wC=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=Zm(n,t);return(e,t)=>(R(),B(M(yg),null,{default:N(()=>[H(M(_g),{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(mg),G(M(r),{class:M(VS)(`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(Nh),{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}))}}),TC=P({__name:`DialogHeader`,props:{class:{}},setup(e){return(e,t)=>(R(),z(`div`,{class:k(M(VS)(`flex flex-col gap-1.5 text-center sm:text-left`,e.$props.class))},[I(e.$slots,`default`)],2))}}),EC=P({__name:`DialogFooter`,props:{class:{}},setup(e){return(e,t)=>(R(),z(`div`,{class:k(M(VS)(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e.$props.class))},[I(e.$slots,`default`)],2))}}),DC=P({__name:`DialogTitle`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e;return(e,n)=>(R(),B(M(bg),{class:k(M(VS)(`text-lg font-semibold leading-none tracking-tight`,t.class))},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`class`]))}}),OC=P({__name:`DialogDescription`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e;return(e,n)=>(R(),B(M(hg),{class:k(M(VS)(`text-sm text-muted-foreground`,t.class))},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`class`]))}}),kC=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=Zm(n,t);return(e,t)=>(R(),B(M(db),null,{default:N(()=>[H(M(cb),G(M(r),{class:M(VS)(`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}))}}),AC=P({__name:`DropdownMenuItem`,props:{disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=Xm(t);return(e,r)=>(R(),B(M(lb),G(M(n),{class:M(VS)(`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`]))}}),jC=P({__name:`DropdownMenuLabel`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e;return(e,n)=>(R(),B(M(ub),{class:k(M(VS)(`px-2 py-1.5 text-sm font-semibold`,t.class))},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`class`]))}}),MC=P({__name:`DropdownMenuSeparator`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e;return(e,n)=>(R(),B(M(fb),{class:k(M(VS)(`-mx-1 my-1 h-px bg-border`,t.class))},null,8,[`class`]))}}),NC={class:`flex flex-wrap items-center gap-2`},PC={class:`grid gap-2`},FC={class:`flex flex-wrap gap-2`},IC=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`,NC,[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(sb),null,{default:N(()=>[H(M(pb),{"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(kC),{align:`end`,class:`w-52`},{default:N(()=>[H(M(jC),null,{default:N(()=>[U(`Status · `+A(e.scopeLabel),1)]),_:1}),H(M(AC),{"data-testid":`bulk-mark-reviewed`,onSelect:n[3]||=e=>p(`reviewed`)},{default:N(()=>[...n[23]||=[U(`Mark reviewed`,-1)]]),_:1}),H(M(AC),{"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(MC)),H(M(jC),null,{default:N(()=>[...n[25]||=[U(`Tags · key`,-1)]]),_:1}),H(M(AC),{onSelect:n[5]||=e=>s.value=!0},{default:N(()=>[...n[26]||=[U(`Add tag…`,-1)]]),_:1}),H(M(AC),{disabled:!e.tagsOnSelection.length,onSelect:n[6]||=e=>c.value=!0},{default:N(()=>[...n[27]||=[U(`Remove tag…`,-1)]]),_:1},8,[`disabled`]),H(M(MC)),H(M(jC),null,{default:N(()=>[...n[28]||=[U(`Context · key`,-1)]]),_:1}),H(M(AC),{onSelect:h},{default:N(()=>[...n[29]||=[U(`Clear context`,-1)]]),_:1}),H(M(MC)),H(M(jC),null,{default:N(()=>[...n[30]||=[U(`Translation · key`,-1)]]),_:1}),H(M(AC),{onSelect:n[7]||=e=>m(!0)},{default:N(()=>[...n[31]||=[U(`Skip translate`,-1)]]),_:1}),H(M(AC),{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(Mh),{open:a.value,"onUpdate:open":n[11]||=e=>a.value=e},{default:N(()=>[H(M(wC),{class:`max-w-md`},{default:N(()=>[H(M(TC),null,{default:N(()=>[H(M(DC),null,{default:N(()=>[...n[34]||=[U(`Clear translations`,-1)]]),_:1}),H(M(OC),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(EC),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(Mh),{open:o.value,"onUpdate:open":n[13]||=e=>o.value=e},{default:N(()=>[H(M(wC),{class:`max-w-md`},{default:N(()=>[H(M(TC),null,{default:N(()=>[H(M(DC),null,{default:N(()=>[...n[37]||=[U(`Delete keys`,-1)]]),_:1}),H(M(OC),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(EC),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(Mh),{open:s.value,"onUpdate:open":n[16]||=e=>s.value=e},{default:N(()=>[H(M(wC),{class:`max-w-md`},{default:N(()=>[H(M(TC),null,{default:N(()=>[H(M(DC),null,{default:N(()=>[...n[40]||=[U(`Add tag`,-1)]]),_:1}),H(M(OC),null,{default:N(()=>[U(`Add a tag to `+A(e.keys.length)+` `+A(e.keys.length===1?`key`:`keys`)+`.`,1)]),_:1})]),_:1}),V(`div`,PC,[H(M(CC),{for:`bulk-add-tag`},{default:N(()=>[...n[41]||=[U(`Tag`,-1)]]),_:1}),H(M(WS),{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(EC),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(Mh),{open:c.value,"onUpdate:open":n[18]||=e=>c.value=e},{default:N(()=>[H(M(wC),{class:`max-w-md`},{default:N(()=>[H(M(TC),null,{default:N(()=>[H(M(DC),null,{default:N(()=>[...n[44]||=[U(`Remove tag`,-1)]]),_:1}),H(M(OC),null,{default:N(()=>[...n[45]||=[U(`Remove a tag from the selected keys.`,-1)]]),_:1})]),_:1}),V(`div`,FC,[(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(EC),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 LC(){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 RC=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=Zm(n,t);return(e,t)=>(R(),B(M(px),null,{default:N(()=>[H(M(fx),G(M(r),{class:M(VS)(`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}))}}),zC=[`zero`,`one`,`two`,`few`,`many`,`other`];function BC(e){let t;try{t=new Intl.PluralRules(e.replace(/_/g,`-`),{type:`cardinal`}).resolvedOptions().pluralCategories}catch{t=[`other`]}let n=new Set(t);return zC.filter(e=>n.has(e))}function VC(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 BC(t).some(e=>(n[e]??``)===``)}return r?.value?!e.values[t]?.value:!1}function HC(e,t,n){return t.filter(t=>VC(e,t,n))}function UC(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 WC=new Intl.DisplayNames([`en`],{type:`language`}),GC=new Map;function KC(e){if(!GC.has(e)){let t;try{t=new Intl.DisplayNames([e],{type:`language`}).of(e)??void 0}catch{t=void 0}GC.set(e,t)}return GC.get(e)}function qC(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 JC=new Set([`ar`,`he`,`iw`,`fa`,`ur`,`ps`,`sd`,`ug`,`yi`,`dv`,`ckb`,`ks`,`nqo`,`rhg`]);function YC(e){let t=e.split(/[-_]/)[0]?.toLowerCase()??``;return JC.has(t)}function XC(e,t){let n=e.replace(/_/g,`-`),r=n,i=!1;try{r=Intl.getCanonicalLocales(n)[0]??n,qC(r)&&(i=!0)}catch{i=!0}let a=e;t?.name===void 0?i||(a=WC.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:KC(r),flagRegion:o,isCustom:i,rtl:YC(e)}}var ZC=[`aria-label`],QC=`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]`,$C=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(VS)(QC,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(VS)(`size-[7px] shrink-0 rounded-full`,s[e.state]))},null,2)),U(` `+A(a[e.state]),1)],2)):(R(),B(M(sb),{key:1},{default:N(()=>[H(M(pb),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:k(M(VS)(QC,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(VS)(`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,ZC)]),_:1}),H(M(kC),{align:`end`,class:`min-w-[10rem]`},{default:N(()=>[(R(),z(L,null,F(i,e=>H(M(AC),{key:e,onSelect:t=>r(`setState`,e)},{default:N(()=>[V(`span`,{class:k(M(VS)(`size-[7px] shrink-0 rounded-full`,s[e]))},null,2),U(` `+A(a[e])+` `,1),H(M(Ou),{class:k(M(VS)(`ml-auto size-4`,e===n.state?`opacity-100`:`opacity-0`))},null,8,[`class`])]),_:2},1032,[`onSelect`])),64))]),_:1})]),_:1}))}}),ew=new RegExp([`\\{\\s*[A-Za-z0-9_]+\\s*,\\s*(?:plural|select|selectordinal)\\s*,(?:[^{}]|\\{[^{}]*\\})*\\}`,`\\{\\s*[A-Za-z0-9_.]+\\s*\\}`].join(`|`),`g`);function tw(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 nw(e){if(!e)return[];let t=tw(e),n=e=>t.some(([t,n])=>e>=t&&e<n),r=[],i=0;ew.lastIndex=0;let a;for(;(a=ew.exec(e))!==null;){if(a[0].length===0){ew.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 rw=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(VS)(`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]])}}),iw={class:`min-w-0`},aw={key:0,class:`flex flex-col gap-1`},ow={class:`whitespace-pre-wrap break-words`},sw={key:0,class:`rounded bg-ph-bg px-1 font-mono text-[0.85em] font-semibold text-ph-fg`},cw=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(()=>nw(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`,iw,[i.value?(R(),z(`div`,aw,[H(M(rw),{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(VS)(`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`,ow,[(R(!0),z(L,null,F(l.value,(e,t)=>(R(),z(L,{key:t},[e.placeholder?(R(),z(`span`,sw,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`})]))]))}}),lw={class:`flex min-w-0 flex-col gap-2`},uw={class:`min-w-0 flex-1`},dw={key:0,class:`flex flex-col gap-1`},fw={class:`font-mono text-[10px] font-semibold uppercase tracking-wide text-primary`},pw=[`onClick`],mw={class:`whitespace-pre-wrap break-words`},hw={key:0,class:`rounded bg-ph-bg px-1 font-mono text-[0.85em] font-semibold text-ph-fg`},gw=[`onClick`],_w=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))),...BC(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 nw(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`,lw,[(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(VS)(`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`,uw,[o.value===t?(R(),z(`div`,dw,[V(`span`,fw,`Plural: `+A(t),1),H(M(rw),{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(VS)(`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`,mw,[(R(!0),z(L,null,F(f(t),(e,t)=>(R(),z(L,{key:t},[e.placeholder?(R(),z(`span`,hw,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,pw)):(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,gw))])]))),128))]))}}),vw=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`}),yw=new Map;for(let[e,t]of Object.entries(vw)){let n=e.match(/\/([^/]+)\.svg$/);n&&yw.set(n[1].toLowerCase(),t)}function bw(e){return yw.get(e.toLowerCase())}var xw=[`src`,`alt`,`width`,`height`],Sw=P({__name:`Flag`,props:{code:{},override:{},size:{default:16}},setup(e){let t=e,n=K(()=>XC(t.code,t.override)),r=K(()=>n.value.flagRegion?bw(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,xw)):(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`]))}}),Cw={class:`inline-flex min-w-0 items-start gap-2`},ww={class:`flex min-w-0 flex-col leading-tight`},Tw={class:`flex items-center gap-1.5`},Ew={class:`font-mono text-[11.5px] font-semibold tracking-wide`},Dw={key:0,class:`truncate text-[11px] text-muted-foreground`},Ow={class:`inline-flex min-w-0 items-center gap-1.5`},kw={key:0,class:`truncate`},Aw=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(()=>XC(t.code,t.override));return(t,r)=>e.layout===`stacked`?(R(),B(M(lx),{key:0},{default:N(()=>[H(M(mx),{"as-child":``},{default:N(()=>[V(`span`,Cw,[H(Sw,{code:e.code,override:e.override,size:e.size,class:`mt-0.5 shrink-0`},null,8,[`code`,`override`,`size`]),V(`span`,ww,[V(`span`,Tw,[V(`span`,Ew,A(e.code.toUpperCase()),1),n.value.rtl?(R(),B(M(lx),{key:0},{default:N(()=>[H(M(mx),{"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(RC),null,{default:N(()=>[...r[1]||=[U(`Right-to-left`,-1)]]),_:1})]),_:1})):W(``,!0)]),e.showName?(R(),z(`span`,Dw,A(n.value.name),1)):W(``,!0)])])]),_:1}),H(M(RC),null,{default:N(()=>[U(A(n.value.name),1)]),_:1})]),_:1})):(R(),B(M(lx),{key:1},{default:N(()=>[H(M(mx),{"as-child":``},{default:N(()=>[V(`span`,Ow,[H(Sw,{code:e.code,override:e.override,size:e.size},null,8,[`code`,`override`,`size`]),e.showName?(R(),z(`span`,kw,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(RC),null,{default:N(()=>[U(A(n.value.name),1)]),_:1})]),_:1}))}}),jw=[`data-state`],Mw={class:`flex flex-wrap items-start gap-2 pt-0.5`},Nw={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`},Pw=[`dir`],Fw={key:0,"data-testid":`filling-hint`,class:`flex items-center gap-1.5 text-sm italic text-muted-foreground`},Iw={key:0,class:`flex items-center justify-end gap-1.5 pt-0.5`},Lw={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`},Rw={class:`flex flex-col gap-1`},zw={key:0,class:`mt-2 border-t pt-2`},Bw={class:`flex flex-wrap gap-1`},Vw=[`onClick`],Hw=[`disabled`],Uw=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(()=>YC(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 vf(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(VS)(`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`,Mw,[H(Aw,{code:e.locale,layout:`stacked`,"show-name":``,size:15},null,8,[`code`]),i.value?(R(),z(`span`,Nw,`Source`)):W(``,!0)]),V(`div`,{class:`flex min-w-0 flex-col gap-2`,dir:l.value?`rtl`:`ltr`},[e.filling?(R(),z(`div`,Fw,[H(M(ed),{class:`size-3.5 shrink-0 animate-spin`}),n[2]||=U(` filling… `,-1)])):s.value?(R(),B(_w,{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(cw,{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,Pw),i.value?W(``,!0):(R(),z(`div`,Iw,[d.value?(R(),B(M(Qy),{key:0},{default:N(()=>[H(M(ib),{"as-child":``},{default:N(()=>[V(`button`,Lw,[H(M(Ed),{class:`size-3.5`})])]),_:1}),H(M(ZS),{align:`end`,class:`w-fit max-w-xs text-xs`},{default:N(()=>[V(`ul`,Rw,[(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`,zw,[n[3]||=V(`p`,{class:`mb-1 text-[11px] font-medium text-muted-foreground`},`Add to dictionary`,-1),V(`div`,Bw,[(R(!0),z(L,null,F(f.value,e=>(R(),B(M(lx),{key:e},{default:N(()=>[H(M(mx),{"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,Vw)]),_:2},1024),H(M(RC),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(lx),{key:1},{default:N(()=>[H(M(mx),{"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(RC),null,{default:N(()=>[...n[4]||=[U(`Clear translation`,-1)]]),_:1})]),_:1})):W(``,!0),H(M(lx),null,{default:N(()=>[H(M(mx),{"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,Hw)]),_:1}),H(M(RC),null,{default:N(()=>[...n[5]||=[U(`AI translate`,-1)]]),_:1})]),_:1}),H($C,{state:a.value,editable:!0,onSetState:g},null,8,[`state`])]))],10,jw))}}),Ww=[`aria-pressed`],Gw={key:0,class:`pointer-events-none absolute inset-0 z-[3] border-2 border-primary`,"aria-hidden":`true`},Kw={key:1,class:`pointer-events-none absolute inset-y-0 left-0 z-[4] w-1 bg-primary`,"aria-hidden":`true`},qw={class:`sticky top-3`},Jw=[`aria-checked`],Yw={class:`absolute right-0 top-0`},Xw=[`disabled`],Zw=[`innerHTML`],Qw={key:0,class:`mt-1.5 flex flex-wrap items-center gap-1.5 pl-6`},$w={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`},eT={class:`font-medium normal-case text-muted-foreground`},tT={"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`},nT={key:1,class:`mt-2 flex flex-wrap gap-1.5 pl-6`},rT=[`onClick`],iT=[`data-testid`,`disabled`],aT={key:3,"data-testid":`translating-missing`,class:`ml-6 mt-2.5 inline-flex items-center gap-1 text-[11px] text-primary`},oT=[`disabled`],sT={class:`min-w-0 flex-1 [&>*:nth-child(even)]:bg-zebra`},cT={class:`grid gap-2`},lT={class:`break-all rounded bg-muted px-1 py-0.5 font-mono text-sm`},uT=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,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).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(()=>HC(n.entry,n.locales,n.sourceLocale)),p=K(()=>UC(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(VS)(`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`,Gw)):W(``,!0),e.selected?(R(),z(`span`,Kw)):W(``,!0),V(`div`,{class:k(M(VS)(`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`,qw,[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,Jw),V(`div`,Yw,[H(M(sb),null,{default:N(()=>[H(M(pb),{"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,Xw)]),_:1}),H(M(kC),{align:`end`},{default:N(()=>[f.value.length>0?(R(),B(M(AC),{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(AC),{onSelect:y},{default:N(()=>[H(M(od),{class:`size-4`}),n[9]||=U(` Rename `,-1)]),_:1}),H(M(AC),{"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(AC),{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,Zw),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`,Qw,[e.entry.plural?(R(),z(`span`,$w,[n[11]||=U(`PLURAL`,-1),V(`span`,eT,`· `+A(e.entry.plural.arg),1)])):W(``,!0),e.entry.skipTranslate?(R(),B(M(lx),{key:1},{default:N(()=>[H(M(mx),{"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(RC),null,{default:N(()=>[...n[13]||=[U(`Excluded from translation`,-1)]]),_:1})]),_:1})):W(``,!0),(e.issues?.length??0)>0?(R(),B(M(lx),{key:2},{default:N(()=>[H(M(mx),{"as-child":``},{default:N(()=>[V(`span`,tT,[H(M(Ed),{class:`size-3`}),U(A(e.issues.length),1)])]),_:1}),H(M(RC),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`,nT,[(R(!0),z(L,null,F(e.entry.tags,e=>(R(),B(M(lx),{key:e},{default:N(()=>[H(M(mx),{"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,rT)]),_:2},1024),H(M(RC),null,{default:N(()=>[U(`Filter by tag: `+A(e),1)]),_:2},1024)]),_:2},1024))),128))])):W(``,!0),f.value.length>0?(R(),B(M(lx),{key:2},{default:N(()=>[H(M(mx),{"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,iT)]),_:1}),H(M(RC),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`,aT,[H(M(ed),{class:`size-3 animate-spin`}),n[14]||=U(` Translating… `,-1)])):W(``,!0),p.value.length>0?(R(),B(M(lx),{key:4},{default:N(()=>[H(M(mx),{"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,oT)]),_:1}),H(M(RC),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`,sT,[(R(!0),z(L,null,F(e.locales,t=>(R(),B(Uw,{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(Mh),{open:o.value,"onUpdate:open":n[6]||=e=>o.value=e},{default:N(()=>[H(M(wC),{class:`max-w-md`},{default:N(()=>[H(M(TC),null,{default:N(()=>[H(M(DC),null,{default:N(()=>[...n[15]||=[U(`Rename key`,-1)]]),_:1}),H(M(OC),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`,cT,[H(M(CC),{for:`rename-key`},{default:N(()=>[...n[17]||=[U(`New key`,-1)]]),_:1}),H(M(WS),{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(EC),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(Mh),{open:c.value,"onUpdate:open":n[8]||=e=>c.value=e},{default:N(()=>[H(M(wC),{class:`max-w-md`},{default:N(()=>[H(M(TC),null,{default:N(()=>[H(M(DC),null,{default:N(()=>[...n[20]||=[U(`Delete key`,-1)]]),_:1}),H(M(OC),null,{default:N(()=>[n[21]||=U(` Delete `,-1),V(`code`,lT,A(e.keyName),1),n[22]||=U(` and all its translations? This cannot be undone. `,-1)]),_:1})]),_:1}),H(M(EC),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,Ww))}}),dT=[{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}`}],fT=`vscode`,pT=e=>dT.some(t=>t.id===e),mT=j(fT);function hT(e){pT(e)&&(mT.value=e,pf({editor:e}).catch(()=>{}))}async function gT(){try{let{editor:e}=await ff();pT(e)&&(mT.value=e)}catch{}}function _T(e,t){return(dT.find(e=>e.id===mT.value)??dT[0]).buildUrl(e,t)}function vT(){return{dirs:new Map,files:new Map}}function yT(e){let t=vT();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=vT(),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 bT={class:`flex flex-col gap-2`},xT={class:`flex items-center gap-1.5`},ST={key:0,class:`flex flex-col gap-2`},CT={class:`mt-1 flex gap-2`},wT={class:`flex items-center justify-between`},TT={class:`font-mono text-[10px] text-muted-foreground`},ET={class:`flex gap-1.5`},DT=[`onClick`],OT=[`onClick`],kT={class:`whitespace-pre-wrap break-words text-[12.5px] leading-snug`},AT=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 wf(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 Tf(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 Ef(n.keyName,e),r(`changed`)}catch(e){$.error(`Could not delete note: ${e.message}`)}}return(t,n)=>(R(),z(`div`,bT,[V(`div`,xT,[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`,ST,[(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(rw),{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`,CT,[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`,wT,[V(`span`,TT,A(i(e.at)),1),V(`span`,ET,[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,DT),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,OT)])]),V(`p`,kT,A(e.text),1)],64))]))),128))])):W(``,!0),H(M(rw),{"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`])]))}}),jT={class:`flex shrink-0 flex-col overflow-y-auto border-l border-border bg-card max-[1080px]:hidden`},MT={key:0,class:`flex flex-1 flex-col items-center justify-center gap-2.5 p-10 text-center text-muted-foreground`},NT={key:1,class:`flex flex-col gap-4 px-5 pb-10 pt-[18px]`},PT={class:`flex flex-col gap-0.5`},FT=[`innerHTML`],IT={class:`flex flex-wrap items-center gap-2`},LT={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`},RT={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`},zT=[`disabled`],BT=[`disabled`],VT={key:0,class:`flex flex-col gap-1.5`},HT={class:`flex items-center gap-1.5 text-[11px] font-bold uppercase tracking-wide text-destructive`},UT={class:`font-mono text-[11px] font-semibold`},WT={class:`ml-auto rounded border border-destructive px-1.5 py-0.5 text-[10.5px] font-semibold text-destructive`},GT=[`disabled`,`onClick`],KT={key:1,class:`flex flex-col gap-1.5`},qT={class:`flex items-center gap-1.5 text-[11px] font-bold uppercase tracking-wide text-muted-foreground`},JT={class:`font-mono text-[11px] font-semibold`},YT={class:`flex flex-col gap-1.5`},XT={class:`flex items-center gap-1.5`},ZT={key:0,class:`ml-auto text-[11.5px] text-muted-foreground`},QT={key:0,class:`text-[12px] text-muted-foreground`},$T={key:0,class:`rounded-md border border-border-soft bg-accent px-2 py-1.5 text-[12px] text-muted-foreground`},eE={key:1,class:`flex flex-col gap-0.5 text-[11.5px]`},tE={class:`min-w-0 truncate font-mono`,style:{direction:`rtl`,"text-align":`left`}},nE=[`href`],rE={key:1,class:`min-w-0 shrink truncate font-mono text-foreground`},iE={class:`flex min-w-0 flex-wrap items-baseline gap-x-1.5 gap-y-0.5`},aE=[`href`],oE={key:1,class:`shrink-0 font-mono text-muted-foreground`},sE={key:2,class:`flex flex-col gap-1`},cE={class:`flex items-center gap-1 text-[11px] font-medium text-muted-foreground`},lE={class:`flex flex-col gap-1`},uE={class:`min-w-0 flex-1 truncate font-mono`,style:{direction:`rtl`,"text-align":`left`}},dE={class:`shrink-0 rounded border border-dashed border-border-soft px-1 font-mono text-[10px]`},fE={class:`shrink-0 font-mono`},pE={key:3,class:`flex flex-col gap-1`},mE={class:`flex items-center gap-1 text-[11px] font-medium text-muted-foreground`},hE={class:`flex flex-col gap-1`},gE={class:`min-w-0 flex-1 truncate font-mono`,style:{direction:`rtl`,"text-align":`left`}},_E={class:`shrink-0 rounded border border-dashed border-border-soft px-1 font-mono text-[10px]`},vE={class:`shrink-0 font-mono`},yE={class:`flex flex-col gap-1.5`},bE={class:`flex items-center gap-1.5`},xE={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`},SE=[`disabled`],CE={class:`flex flex-col gap-1.5`},wE={class:`flex items-center gap-1.5`},TE={class:`flex flex-col gap-1.5`},EE={class:`flex items-center gap-1.5`},DE={class:`flex flex-col gap-2`},OE={class:`flex items-center gap-1.5`},kE={key:0,class:`flex flex-col gap-2`},AE=[`src`,`alt`],jE={class:`flex gap-2`},ME=[`disabled`],NE={class:`flex flex-col gap-1.5 text-[11.5px] text-muted-foreground`},PE={class:`flex items-center justify-between gap-3`},FE={class:`font-mono text-[11px] text-foreground`},IE={class:`flex items-center justify-between gap-3`},LE={class:`font-mono text-[11px] text-foreground`},RE=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,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).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(){HS(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 Ff(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=>VC(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 Sf(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 Cf(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 rf({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 sf(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=>_T(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:_T(e,E.value?.project??``)}))),oe=K(()=>yT(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`,jT,[!e.keyName||!e.entry?(R(),z(`div`,MT,[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`,NT,[V(`div`,PT,[n[7]||=V(`span`,{class:`text-[10.5px] font-bold uppercase tracking-wide text-muted-foreground`},`Key`,-1),H(M(lx),{"disable-closing-trigger":``},{default:N(()=>[H(M(mx),{"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,FT)]),_:1}),H(M(RC),null,{default:N(()=>[U(A(c.value?`Copied`:`Click to copy`),1)]),_:1})]),_:1})]),V(`div`,IT,[s.value?(R(),z(`span`,LT,`PLURAL`)):(R(),z(`span`,RT,`SINGLE`)),s.value?(R(),z(L,{key:2},[n[8]||=V(`span`,{class:`text-[11.5px] text-muted-foreground`},`arg`,-1),H(M(WS),{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,zT)],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,BT))]),f.value.length||g.value.length?(R(),z(`div`,{key:0,class:k(M(VS)(`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`,VT,[V(`div`,HT,[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(Sw,{code:e.locale,size:14},null,8,[`code`]),V(`span`,UT,A(e.locale.toUpperCase()),1),V(`span`,WT,A(d[e.check]??e.check),1),p[e.check]?(R(),B(M(lx),{key:0},{default:N(()=>[H(M(mx),{"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,GT)]),_:2},1024),H(M(RC),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`,KT,[V(`div`,qT,[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(Sw,{code:e,size:14},null,8,[`code`]),V(`span`,JT,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`,YT,[V(`div`,XT,[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`,ZT,A(E.value.count)+` reference`+A(E.value.count===1?``:`s`),1)):W(``,!0)]),!E.value||!E.value.indexed?(R(),z(`p`,QT,` 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`,$T,` Not referenced in the last scan — this key may be unused. `)):W(``,!0),D.value.length?(R(),z(`div`,eE,[(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(lx),null,{default:N(()=>[H(M(mx),{"as-child":``},{default:N(()=>[V(`span`,tE,A(e.label),1)]),_:2},1024),H(M(RC),{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(lx),null,{default:N(()=>[H(M(mx),{"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,nE)):(R(),z(`span`,rE,A(e.name),1))]),_:2},1024),H(M(RC),{class:`font-mono`},{default:N(()=>[U(A(se(e.refs)?`Open ${e.name}`:e.name),1)]),_:2},1024)]),_:2},1024),V(`span`,iE,[(R(!0),z(L,null,F(e.refs,(t,n)=>(R(),z(L,{key:n},[t.url?(R(),B(M(lx),{key:0},{default:N(()=>[H(M(mx),{"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,aE)]),_:2},1024),H(M(RC),{class:`font-mono`},{default:N(()=>[U(`Open `+A(e.name)+`:`+A(t.line),1)]),_:2},1024)]),_:2},1024)):(R(),z(`span`,oE,`:`+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`,sE,[V(`p`,cE,[H(M(Su),{class:`size-3`}),n[13]||=U(` Possible usage (dynamic keys) `,-1)]),V(`ul`,lE,[(R(!0),z(L,null,F(ie.value,(e,t)=>(R(),z(`li`,{key:t,class:`text-[11.5px]`},[H(M(lx),null,{default:N(()=>[H(M(mx),{"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`,uE,A(e.file),1),V(`span`,dE,A(e.prefix)+`*`,1),V(`span`,fE,`:`+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(RC),{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`,pE,[V(`p`,mE,[H(M(Su),{class:`size-3`}),n[14]||=U(` Possible usage (string literals) `,-1)]),V(`ul`,hE,[(R(!0),z(L,null,F(ae.value,(e,t)=>(R(),z(`li`,{key:t,class:`text-[11.5px]`},[H(M(lx),null,{default:N(()=>[H(M(mx),{"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`,gE,A(e.file),1),V(`span`,_E,`'`+A(e.literal)+`'`,1),V(`span`,vE,`:`+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(RC),{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`,yE,[V(`div`,bE,[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(lx),{key:0},{default:N(()=>[H(M(mx),{"as-child":``},{default:N(()=>[V(`span`,xE,[H(M(yd),{class:`size-2.5`}),n[15]||=U(` AI `,-1)])]),_:1}),H(M(RC),null,{default:N(()=>[U(A(e.entry.contextAt?`AI-generated ${i(e.entry.contextAt)}`:`AI-generated`),1)]),_:1})]),_:1})):W(``,!0),H(M(lx),null,{default:N(()=>[H(M(mx),{"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,SE)]),_:1}),H(M(RC),null,{default:N(()=>[U(A(T.value?`Suggesting…`:`Suggest context with AI`),1)]),_:1})]),_:1})]),H(M(rw),{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`,CE,[V(`div`,wE,[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(WS),{id:`detail-tags`,modelValue:C.tags,"onUpdate:modelValue":n[3]||=e=>C.tags=e,placeholder:`comma, separated`},null,8,[`modelValue`])]),V(`div`,TE,[V(`div`,EE,[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(WS),{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(AT,{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`,DE,[V(`div`,OE,[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`,kE,[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,AE),V(`div`,jE,[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,ME))]),n[27]||=V(`div`,{class:`h-px bg-border-soft`},null,-1),V(`div`,NE,[V(`div`,PE,[n[23]||=V(`span`,null,`Created`,-1),V(`span`,FE,A(i(e.entry.createdAt)),1)]),V(`div`,IE,[n[24]||=V(`span`,null,`Last updated`,-1),V(`span`,LE,A(i(o.value)),1)])])]))]))}}),zE={class:`grid gap-3`},BE={class:`grid gap-1.5`},VE={class:`grid gap-1.5`},HE={class:`flex items-center justify-between gap-2 rounded-md border p-2.5`},UE={class:`flex flex-col`},WE={key:0,class:`grid gap-1.5`},GE={key:1,class:`text-sm text-destructive`},KE=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(Mh),{open:n.value,"onUpdate:open":t[5]||=e=>n.value=e},{default:N(()=>[H(M(wC),{class:`max-w-md`},{default:N(()=>[H(M(TC),null,{default:N(()=>[H(M(DC),null,{default:N(()=>[...t[6]||=[U(`Add key`,-1)]]),_:1}),H(M(OC),null,{default:N(()=>[...t[7]||=[U(`Create a new translation key using dot notation.`,-1)]]),_:1})]),_:1}),V(`div`,zE,[V(`div`,BE,[H(M(CC),{for:`add-key`},{default:N(()=>[...t[8]||=[U(`Key `,-1),V(`span`,{class:`text-destructive`},`*`,-1)]]),_:1}),H(M(WS),{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`,VE,[H(M(CC),{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(WS),{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`,HE,[V(`div`,UE,[H(M(CC),{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(eC),{id:`add-plural`,modelValue:c.value,"onUpdate:modelValue":t[2]||=e=>c.value=e},null,8,[`modelValue`])]),c.value?(R(),z(`div`,WE,[H(M(CC),{for:`add-plural-arg`},{default:N(()=>[...t[12]||=[U(`Count argument`,-1)]]),_:1}),H(M(WS),{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`,GE,A(o.value),1)):W(``,!0)]),H(M(EC),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`]))}}),qE={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`},JE={key:1,class:`text-sm text-destructive`},YE={key:2,class:`flex flex-1 items-center justify-center py-12 text-sm text-muted-foreground`},XE={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`},ZE={class:`flex items-center gap-1.5 font-medium`},QE={class:`list-inside list-disc pl-1`},$E={class:`grid min-h-0 flex-1 grid-cols-[16rem_1fr] gap-3 overflow-hidden`},eD={class:`min-h-0 overflow-y-auto rounded-md border`},tD=[`onClick`],nD={key:0,class:`px-3 py-2 text-xs text-muted-foreground`},rD={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]`},iD={key:1,class:`flex min-h-0 items-center justify-center rounded-md border text-sm text-muted-foreground`},aD=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 Of();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 kf();$.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(Mh),{open:t.value,"onUpdate:open":d[1]||=e=>t.value=e},{default:N(()=>[H(M(wC),{class:`flex max-h-[85vh] w-full max-w-5xl flex-col`},{default:N(()=>[H(M(TC),null,{default:N(()=>[H(M(DC),null,{default:N(()=>[...d[2]||=[U(`Export preview`,-1)]]),_:1}),H(M(OC),null,{default:N(()=>[...d[3]||=[U(`Review the files that will be written to disk.`,-1)]]),_:1})]),_:1}),r.value?(R(),z(`p`,qE,[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`,JE,A(o.value),1)):W(``,!0),i.value?(R(),z(`div`,YE,` Generating preview… `)):o.value?W(``,!0):(R(),z(L,{key:3},[c.value.length?(R(),z(`div`,XE,[V(`p`,ZE,[H(M(Ed),{class:`size-4`}),U(` `+A(c.value.length)+` warning`+A(c.value.length===1?``:`s`),1)]),V(`ul`,QE,[(R(!0),z(L,null,F(c.value,(e,t)=>(R(),z(`li`,{key:t},A(e),1))),128))])])):W(``,!0),V(`div`,$E,[V(`ul`,eD,[(R(!0),z(L,null,F(s.value,e=>(R(),z(`li`,{key:e.path},[H(M(lx),null,{default:N(()=>[H(M(mx),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:k(M(VS)(`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,tD)]),_:2},1024),H(M(RC),{class:`font-mono`},{default:N(()=>[U(A(e.path),1)]),_:2},1024)]),_:2},1024)]))),128)),s.value.length===0?(R(),z(`li`,nD,` No files to write. `)):W(``,!0)]),u.value?(R(),z(`pre`,rD,A(u.value.contents),1)):(R(),z(`div`,iD,` Select a file to preview its contents. `))])],64)),H(M(EC),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`]))}}),oD={class:`relative h-2 w-full overflow-hidden rounded-full bg-muted`},sD=P({__name:`Progress`,props:{modelValue:{}},setup(e){return(t,n)=>(R(),z(`div`,oD,[V(`div`,{class:`h-full bg-primary transition-all`,style:he({width:`${Math.min(100,Math.max(0,e.modelValue??0))}%`})},null,4)]))}}),cD={key:0,class:`rounded-md border bg-muted/40 px-3 py-2 text-xs text-muted-foreground`},lD={class:`font-medium text-foreground`},uD={key:0,class:`mt-0.5`},dD={key:1,class:`mt-1`},fD={class:`mt-1`},pD={key:1,class:`flex min-h-0 flex-col gap-1.5`},mD={class:`flex justify-between text-xs text-muted-foreground`},hD={key:0},gD={key:0,class:`mt-1 flex max-h-56 min-h-0 flex-col overflow-y-auto rounded-md border text-sm`},_D={key:2,class:`flex flex-col gap-1 rounded-md border border-destructive/30 bg-destructive/10 p-3 text-sm text-destructive`},vD={class:`flex items-center gap-1.5 font-medium`},yD={key:3,class:`flex min-h-0 flex-col gap-1.5`},bD={class:`flex items-center gap-1.5 text-sm font-medium text-amber-700 dark:text-amber-400`},xD={class:`min-h-0 flex-1 overflow-y-auto rounded-md border text-sm`},SD={class:`inline-flex items-center gap-1.5 font-mono text-xs`},CD={class:`text-muted-foreground`},wD=P({__name:`TranslateDialog`,props:ka({state:{},filteredKeys:{},targetLocale:{}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:ka([`changed`,`batch-submitted`],[`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)VC(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).`),i(`batch-submitted`),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 nf(...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(Mh),{open:r.value,"onUpdate:open":t[1]||=e=>r.value=e},{default:N(()=>[H(M(wC),{class:`flex max-h-[85vh] max-w-lg flex-col`},{default:N(()=>[H(M(TC),null,{default:N(()=>[H(M(DC),null,{default:N(()=>[...t[2]||=[U(`Translate missing strings`,-1)]]),_:1}),H(M(OC),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`,cD,[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`,lD,`≈ `+A(E(T.value.estimatedCost)),1),t[4]||=U(` (±20%)`,-1)],64))]),T.value.pricing?W(``,!0):(R(),z(`p`,uD,` No pricing known for this model — set a price in Settings → AI for a dollar estimate. `)),T.value.perLocale.length>1?(R(),z(`details`,dD,[t[5]||=V(`summary`,{class:`cursor-pointer select-none`},`Per-language breakdown`,-1),V(`ul`,fD,[(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`,pD,[V(`div`,mD,[V(`span`,null,A(c.value.toLocaleString())+` / `+A(l.value.toLocaleString())+` translated`,1),a.value&&d.value.length?(R(),z(`span`,hD,A(p.value)+` of `+A(d.value.length)+` language`+A(d.value.length===1?``:`s`)+` active`,1)):W(``,!0)]),H(M(sD),{"model-value":l.value>0?c.value/l.value*100:0},null,8,[`model-value`]),d.value.length?(R(),z(`ul`,gD,[(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(Aw,{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`,_D,[V(`p`,vD,[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`,yD,[V(`p`,bD,[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`,xD,[(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`,SD,[U(A(e.key)+` @ `,1),H(Aw,{code:e.locale,size:12},null,8,[`code`])]),V(`span`,CD,` — `+A(e.error),1)]))),128))])])):W(``,!0),H(M(EC),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`]))}}),TD={key:0,class:`flex flex-col gap-1.5`},ED={class:`flex justify-between text-xs text-muted-foreground`},DD={key:1,class:`flex flex-col gap-1 rounded-md border border-destructive/30 bg-destructive/10 p-3 text-sm text-destructive`},OD={class:`flex items-center gap-1.5 font-medium`},kD={key:2,class:`flex min-h-0 flex-col gap-1.5`},AD={class:`flex items-center gap-1.5 text-sm font-medium text-amber-700 dark:text-amber-400`},jD={class:`min-h-0 flex-1 overflow-y-auto rounded-md border text-sm`},MD={class:`font-mono text-xs`},ND={class:`text-muted-foreground`},PD=P({__name:`ContextDialog`,props:ka({state:{},keys:{}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:ka([`changed`,`batch-submitted`],[`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}),f=j(!1),p=j(!1);async function m(){f.value=!1;try{let e=await Qd();f.value=e.supported&&!e.pending}catch{}}async function h(){p.value=!0;try{let e=await $d({keys:n.keys});$.success(`Context batch of ${e.total.toLocaleString()} keys submitted — results apply when processing finishes (usually under an hour).`),i(`batch-submitted`),r.value=!1}catch(e){s.value=e.message}finally{p.value=!1}}Dr(r,e=>{e?(s.value=``,c.value=[],l.value=0,u.value=0,m()):o.value?.abort()});function g(){o.value?.abort()}async function _(){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 rf({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(Mh),{open:r.value,"onUpdate:open":t[1]||=e=>r.value=e},{default:N(()=>[H(M(wC),{class:`flex max-h-[85vh] max-w-lg flex-col`},{default:N(()=>[H(M(TC),null,{default:N(()=>[H(M(DC),null,{default:N(()=>[...t[2]||=[U(`Build context`,-1)]]),_:1}),H(M(OC),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`,TD,[V(`div`,ED,[V(`span`,null,A(l.value.toLocaleString())+` / `+A(u.value.toLocaleString())+` built`,1)]),H(M(sD),{"model-value":u.value>0?l.value/u.value*100:0},null,8,[`model-value`])])):W(``,!0),s.value?(R(),z(`div`,DD,[V(`p`,OD,[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`,kD,[V(`p`,AD,[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`,jD,[(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`,MD,A(e.key),1),V(`span`,ND,` — `+A(e.error),1)]))),128))])])):W(``,!0),H(M(EC),null,{default:N(()=>[a.value?(R(),B(M(Q),{key:0,variant:`outline`,onClick:g},{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&&f.value?(R(),B(M(Q),{key:2,variant:`outline`,disabled:a.value||p.value,onClick:h},{default:N(()=>[U(A(p.value?`Submitting…`:`Batch (50% off)`),1)]),_:1},8,[`disabled`])):W(``,!0),d.value>0?(R(),B(M(Q),{key:3,disabled:a.value||p.value,onClick:_},{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`]))}}),FD={key:0,class:`flex items-center gap-3 rounded-md border bg-muted/40 px-3 py-2 text-sm`},ID={class:`flex min-w-0 flex-1 flex-col gap-1`},LD={class:`truncate`},RD=P({__name:`BatchBanner`,props:{kind:{default:`translate`}},emits:[`changed`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=j(null),o=j(!1),s;async function c(){try{a.value=(await(r.kind===`context`?Qd():Jd())).pending}catch{}}Ki(()=>{c(),s=setInterval(()=>void c(),3e4)}),Xi(()=>clearInterval(s)),t({refresh:c});let l=K(()=>{let e=a.value?.counts;return e?e.succeeded+e.errored+e.canceled+e.expired:0}),u=K(()=>{let e=a.value?.counts;return e?l.value+e.processing:0}),d=K(()=>a.value?.status===`ended`);async function f(){o.value=!0;try{if(r.kind===`context`){let e=await ef(),t=[e.retried?`${e.retried} retried`:``,e.errors.length?`${e.errors.length} error(s)`:``].filter(Boolean).join(`, `);$.success(`Context batch applied — wrote ${e.written} context(s)${t?` (${t})`:``}`)}else{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})`:``}`)}i(`changed`),await c()}catch(e){$.error(e.message)}finally{o.value=!1}}async function p(){if(window.confirm(`Cancel this batch? Finished entries are discarded.`))try{await(r.kind===`context`?tf():Zd()),await c()}catch(e){$.error(e.message)}}return(e,t)=>a.value?(R(),z(`div`,FD,[(R(),B(aa(d.value?M(Ou):M(ed)),{class:k([`size-4 shrink-0`,d.value?`text-emerald-600 dark:text-emerald-400`:`animate-spin text-primary`])},null,8,[`class`])),V(`div`,ID,[V(`span`,LD,[U(A(r.kind===`context`?`Batch context build`:`Batch translation`)+` (`+A(a.value.total.toLocaleString())+` `+A(r.kind===`context`?`keys`:`strings`)+`) `,1),d.value?(R(),z(L,{key:0},[U(` — finished, ready to apply`)],64)):a.value.counts?(R(),z(L,{key:1},[U(` — `+A(l.value)+` / `+A(u.value)+` entries done`,1)],64)):(R(),z(L,{key:2},[U(` — checking status…`)],64))]),!d.value&&u.value>0?(R(),B(M(sD),{key:0,"model-value":l.value/u.value*100,class:`h-1`},null,8,[`model-value`])):W(``,!0)]),H(M(Q),{size:`sm`,disabled:!d.value||o.value,onClick:f},{default:N(()=>[U(A(o.value?`Applying…`:d.value?`Apply results`:`Waiting…`),1)]),_:1},8,[`disabled`]),H(M(Q),{size:`sm`,variant:`ghost`,disabled:o.value,onClick:p},{default:N(()=>[H(M(Ad),{class:`size-4`})]),_:1},8,[`disabled`])])):W(``,!0)}}),zD={key:1,class:`text-muted-foreground`},BD={class:`flex items-center gap-2 border-b px-3`},VD={class:`absolute left-2 flex size-3.5 items-center justify-center`},HD={class:`flex w-full min-w-0 items-center justify-between gap-2`},UD={class:`shrink-0 font-mono text-xs text-muted-foreground`},WD=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:XC(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(ly),{modelValue:n.value,"onUpdate:modelValue":c[1]||=e=>n.value=e,open:r.value,"ignore-filter":``,"onUpdate:open":s},{default:N(()=>[H(M(uy),{"as-child":``},{default:N(()=>[H(M(Sy),{class:k(M(VS)(`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(Aw,{key:0,code:n.value,"show-name":``,"show-code":!1,size:14},null,8,[`code`])):(R(),z(`span`,zD,A(e.placeholder??`Locale`),1)),H(M(ku),{class:`size-4 shrink-0 opacity-50`})]),_:1},8,[`class`])]),_:1}),H(M(xy),null,{default:N(()=>[H(M(my),{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`,BD,[H(M(md),{class:`size-4 shrink-0 opacity-50`}),H(M(vy),{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(wy),{class:`max-h-72 p-1`},{default:N(()=>[H(M(hy),{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(yy),{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`,VD,[H(M(by),null,{default:N(()=>[H(M(Ou),{class:`size-4`})]),_:1})]),V(`span`,HD,[H(Aw,{code:e,"show-name":``,"show-code":!1,size:14},null,8,[`code`]),V(`span`,UD,A(e.toUpperCase()),1)])]),_:2},1032,[`value`]))),128))]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`,`open`]))}}),GD={class:`relative w-0 shrink-0`},KD=[`aria-valuenow`,`aria-valuemin`,`aria-valuemax`],qD=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`,GD,[V(`div`,{class:k(M(VS)(`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,KD)]))}});function JD(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)),df({[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 YD=JD(`keyColumnWidth`,272,180,560),XD=JD(`detailPanelWidth`,420,320,720);async function ZD(e){try{let t=e??await uf();YD.syncValue(t.keyColumnWidth),XD.syncValue(t.detailPanelWidth)}catch{}}var QD={class:`flex min-h-0 flex-1 flex-col`},$D={class:`flex shrink-0 flex-wrap items-center gap-2 border-b px-4 py-2`},eO={class:`relative`},tO={key:0,class:`rounded bg-primary px-1.5 text-xs text-primary-foreground`},nO=[`aria-label`],rO={class:`ml-auto flex items-center gap-2`},iO={class:`mr-1 text-xs text-muted-foreground tabular-nums`},aO={key:2},oO={key:3},sO={key:4},cO={key:0,class:`flex shrink-0 flex-wrap items-center gap-1.5 border-b px-4 py-1.5`},lO=[`aria-label`,`onClick`],uO=[`aria-label`,`onClick`],dO=[`aria-label`,`onClick`],fO={class:`flex flex-col gap-2 px-4 py-2 empty:hidden`},pO={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`},mO=[`aria-checked`,`aria-label`],hO={class:`text-sm font-medium tabular-nums`},gO={class:`text-sm text-muted-foreground`},_O={key:1,for:`select-all-checkbox`,class:`cursor-pointer select-none text-sm text-muted-foreground`},vO={class:`relative min-w-0 flex-1 overflow-hidden`},yO={key:0,class:`flex h-full items-center justify-center gap-2 p-8 text-sm text-muted-foreground`},bO={key:1,class:`flex h-full items-center justify-center p-8 text-sm text-muted-foreground`},xO=[`data-index`],SO=`glotfile:enabledChecks`,CO=P({__name:`EditorView`,setup(e){let t=YD.width,n=XD.width,r=dn(null),{filter:i,sort:a,view:o,locale:s}=Cp(Mp()),c=j(i),l=LC();function u(){try{let e=localStorage.getItem(SO);if(e){let t=JSON.parse(e);return fp.filter(e=>t.includes(e))}}catch{}return[...pp]}let d=j(u()),f=j(new Map),p=j(null),m=j(!1),h=j(0);async function g(){try{let e=await cf();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 Nf(d.value);f.value=yp(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(SO,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})],()=>{Np(wp({filter:c.value,sort:b.value,view:x.value,locale:S.value}))},{deep:!0}),Dr(()=>c.value.text,()=>{C&&clearTimeout(C),C=setTimeout(()=>{Np(wp({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(Pp.value){let e=Pp.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=fp.filter(e=>t.has(e))}e.locale&&(x.value=`bilingual`,S.value=e.locale),Pp.value=null}let ne=j(null),re=j(null),D=j(null);Ip.value&&=(ne.value=Ip.value,null);let ie=j(!1),ae=j(!1),oe=j(!1),se=j(!1),O=j(!1),ce=j(null),le=j(null),ue=j(!0),de=j(!1);async function fe(){r.value=await Md(),y()}let pe=setTimeout(()=>{ue.value&&(de.value=!0)},250);fe().finally(()=>{ue.value=!1,de.value=!1,clearTimeout(pe)});let me=K(()=>r.value?.config.sourceLocale??``),ge=K(()=>r.value?.config.locales??[]),_e=K(()=>ge.value.filter(e=>e!==me.value));Dr(_e,e=>{!S.value&&e.length>0&&(S.value=e[0])},{immediate:!0});let ve=K(()=>{if(x.value===`bilingual`)return S.value?[me.value,S.value]:[me.value];let e=ge.value.filter(e=>e!==me.value);return[me.value,...e]}),ye=K(()=>{let e=r.value;if(!e)return[];let t=x.value===`bilingual`&&S.value?S.value:void 0;return dp(e,{...c.value,locale:t},f.value,p.value??void 0)}),be=K(()=>{let e=r.value,t=ye.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}),xe=K(()=>x.value===`bilingual`?S.value?[S.value]:[]:_e.value),Se=K(()=>x.value===`bilingual`?S.value||`—`:`all ${_e.value.length} targets`),Ce=K(()=>l.keys()),we=K(()=>l.count.value),Te=K(()=>l.allSelected(be.value)),Ee=K(()=>l.someSelected(be.value)),De=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 Oe(){l.allSelected(be.value)?l.clear():l.selectAll(be.value)}function ke(e,t){t?l.toggleRange(e,be.value):l.toggle(e)}Dr(be,e=>l.pruneTo(e));let Ae=K(()=>r.value&&ne.value?r.value.keys[ne.value]??null:null),je=sp(K(()=>({count:be.value.length,getScrollElement:()=>le.value,estimateSize:()=>56,overscan:8,getItemKey:e=>be.value[e]??e}))),Me=K(()=>je.value.getVirtualItems()),Ne=K(()=>je.value.getTotalSize());function Pe(e){ne.value=e}let Fe=j(null);function Ie(){let e=Fe.value?.$el;e?.focus?.(),e?.select?.()}function Le(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(),Ie();return}if(e.key!==`ArrowDown`&&e.key!==`ArrowUp`||n||r)return;let i=be.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,je.value.scrollToIndex(o,{align:`auto`}))}Ki(()=>window.addEventListener(`keydown`,Le)),Xi(()=>{window.removeEventListener(`keydown`,Le),C&&clearTimeout(C)}),Ki(async()=>{try{let e=await of();e.indexed&&!ce.value&&!O.value&&(ce.value=`${e.files.toLocaleString()} files · ${e.refs.toLocaleString()} refs`)}catch{}g()});async function Re(e,t){ne.value===e&&(ne.value=t),await fe()}async function ze(e){await fe(),ne.value=e,c.value.text=`"${e}"`}async function Be(){O.value=!0,ce.value=null;try{let e=await af();ce.value=`${e.files.toLocaleString()} files · ${e.refs.toLocaleString()} refs`,await g()}catch{ce.value=`Scan failed`}finally{O.value=!1}}return(e,i)=>(R(),B(M(ax),{"delay-duration":400},{default:N(()=>[V(`div`,QD,[V(`div`,$D,[V(`div`,eO,[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(WS),{ref_key:`searchInput`,ref:Fe,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(Qy),null,{default:N(()=>[H(M(ib),{"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[31]||=U(` Filter `,-1),w.value?(R(),z(`span`,tO,A(w.value),1)):W(``,!0)]),_:1})]),_:1}),H(M(ZS),{align:`start`,class:`w-64`},{default:N(()=>[H(mC,{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[32]||=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,nO)):W(``,!0)]),_:1},8,[`variant`,`aria-checked`]),H(M(Cb),{modelValue:b.value,"onUpdate:modelValue":i[12]||=e=>b.value=e},{default:N(()=>[H(M(GS),{class:`h-8 w-[160px]`},{default:N(()=>[H(M(Wb),{placeholder:`Sort`})]),_:1}),H(M(KS),null,{default:N(()=>[H(M(JS),{value:`key-asc`},{default:N(()=>[...i[33]||=[U(`Key A→Z`,-1)]]),_:1}),H(M(JS),{value:`key-desc`},{default:N(()=>[...i[34]||=[U(`Key Z→A`,-1)]]),_:1}),H(M(JS),{value:`created`},{default:N(()=>[...i[35]||=[U(`Recently created`,-1)]]),_:1}),H(M(JS),{value:`updated`},{default:N(()=>[...i[36]||=[U(`Recently updated`,-1)]]),_:1})]),_:1})]),_:1},8,[`modelValue`]),H(M(Qb),{modelValue:x.value,"onUpdate:modelValue":i[13]||=e=>x.value=e},{default:N(()=>[H(M(YS),{class:`h-8`},{default:N(()=>[H(M(XS),{value:`bilingual`,class:`text-xs`},{default:N(()=>[...i[37]||=[U(`Bilingual`,-1)]]),_:1}),H(M(XS),{value:`multilingual`,class:`text-xs`},{default:N(()=>[...i[38]||=[U(`Multilingual`,-1)]]),_:1})]),_:1})]),_:1},8,[`modelValue`]),x.value===`bilingual`?(R(),B(WD,{key:0,modelValue:S.value,"onUpdate:modelValue":i[14]||=e=>S.value=e,locales:_e.value,class:`h-8 w-[170px]`},null,8,[`modelValue`,`locales`])):W(``,!0),V(`div`,rO,[V(`span`,iO,A(be.value.length.toLocaleString())+` keys`,1),H(M(Q),{size:`sm`,variant:`outline`,onClick:i[15]||=e=>ae.value=!0},{default:N(()=>[H(M(Uu),{class:`size-4`}),i[39]||=U(` Export `,-1)]),_:1}),H(M(Q),{size:`sm`,variant:`outline`,disabled:O.value,onClick:Be},{default:N(()=>[O.value?(R(),B(M(ed),{key:0,class:`size-4 animate-spin`})):(R(),B(M(fd),{key:1,class:`size-4`})),O.value?(R(),z(`span`,aO,`Scanning…`)):ce.value?(R(),z(`span`,oO,A(ce.value),1)):(R(),z(`span`,sO,`Scan`))]),_:1},8,[`disabled`]),H(M(Q),{size:`sm`,onClick:i[16]||=e=>ie.value=!0},{default:N(()=>[H(M(sd),{class:`size-4`}),i[40]||=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`,cO,[(R(!0),z(L,null,F(c.value.states,e=>(R(),B(M(QS),{key:`s-${e}`,variant:`secondary`,class:`gap-1`},{default:N(()=>[U(A(M(_p)[e])+` `,1),V(`button`,{type:`button`,class:`hover:text-foreground`,"aria-label":`Remove ${M(_p)[e]} filter`,onClick:t=>ee(e)},[H(M(Ad),{class:`size-3`})],8,lO)]),_:2},1024))),128)),(R(!0),z(L,null,F(c.value.plurality,e=>(R(),B(M(QS),{key:`p-${e}`,variant:`secondary`,class:`gap-1`},{default:N(()=>[U(A(M(vp)[e])+` `,1),V(`button`,{type:`button`,class:`hover:text-foreground`,"aria-label":`Remove ${M(vp)[e]} filter`,onClick:t=>te(e)},[H(M(Ad),{class:`size-3`})],8,uO)]),_:2},1024))),128)),c.value.emptySource?(R(),B(M(QS),{key:0,variant:`secondary`,class:`gap-1`},{default:N(()=>[i[41]||=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(QS),{key:`i-${e}`,variant:`outline`,class:`gap-1`},{default:N(()=>[U(A(M(gp)[e])+` `,1),V(`button`,{type:`button`,class:`hover:text-foreground`,"aria-label":`Remove ${M(gp)[e]} filter`,onClick:t=>E(e)},[H(M(Ad),{class:`size-3`})],8,dO)]),_:2},1024))),128)),c.value.aiContextUnreviewed?(R(),B(M(QS),{key:1,variant:`secondary`,class:`gap-1`},{default:N(()=>[H(M(yd),{class:`size-3`}),i[42]||=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(QS),{key:2,variant:`secondary`,class:`gap-1`},{default:N(()=>[i[43]||=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(QS),{key:3,variant:`secondary`,class:`gap-1`},{default:N(()=>[i[44]||=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`,fO,[H(RD,{ref_key:`translateBanner`,ref:re,onChanged:fe},null,512),H(RD,{ref_key:`contextBanner`,ref:D,kind:`context`,onChanged:fe},null,512)]),be.value.length?(R(),z(`div`,pO,[V(`button`,{id:`select-all-checkbox`,type:`button`,role:`checkbox`,"aria-checked":Te.value?`true`:Ee.value?`mixed`:`false`,"data-testid":`select-all`,class:k([`flex size-4 items-center justify-center rounded border transition-colors`,Te.value||Ee.value?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground hover:border-primary hover:bg-primary/10`]),"aria-label":Te.value?`Deselect all`:`Select all`,onClick:Oe},[Te.value?(R(),B(M(Ou),{key:0,class:`size-3`})):Ee.value?(R(),B(M(nd),{key:1,class:`size-3`})):W(``,!0)],10,mO),we.value?(R(),z(L,{key:0},[V(`span`,hO,A(we.value.toLocaleString())+` selected`,1),V(`span`,gO,`· `+A(Se.value),1)],64)):(R(),z(`label`,_O,`Select all`)),we.value?(R(),B(IC,{key:2,class:`ml-auto`,keys:Ce.value,locales:xe.value,"scope-label":Se.value,"tags-on-selection":De.value,onChanged:fe,onClear:i[21]||=e=>M(l).clear(),onTranslate:i[22]||=e=>oe.value=!0,onBuildContext:i[23]||=e=>se.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`,vO,[V(`div`,{ref_key:`parent`,ref:le,class:`h-full overflow-auto`},[de.value?(R(),z(`div`,yO,[H(M(ed),{class:`size-4 animate-spin`}),i[45]||=U(` Loading… `,-1)])):!ue.value&&be.value.length===0?(R(),z(`div`,bO,` No keys match the current filter. `)):(R(),z(`div`,{key:2,style:he({height:`${Ne.value}px`,position:`relative`,width:`100%`})},[(R(!0),z(L,null,F(Me.value,e=>(R(),z(`div`,{key:e.key,ref_for:!0,ref:e=>M(je).measureElement(e),"data-index":e.index,style:he({position:`absolute`,top:`${e.start}px`,left:`0`,width:`100%`})},[r.value&&be.value[e.index]?(R(),B(uT,{key:0,"key-name":be.value[e.index],entry:r.value.keys[be.value[e.index]],"source-locale":me.value,locales:ve.value,selected:ne.value===be.value[e.index],issues:f.value.get(be.value[e.index])??[],checked:M(l).has(be.value[e.index]),onSelect:t=>Pe(be.value[e.index]),onChanged:fe,onRenamed:t=>Re(be.value[e.index],t),onFilterTag:i[24]||=e=>c.value.text=e,onToggleSelect:t=>ke(be.value[e.index],t.shift)},null,8,[`key-name`,`entry`,`source-locale`,`locales`,`selected`,`issues`,`checked`,`onSelect`,`onRenamed`,`onToggleSelect`])):W(``,!0)],12,xO))),128))],4))],512),be.value.length?(R(),z(`div`,{key:0,class:`absolute inset-y-0`,style:he({left:`${M(t)}px`})},[H(qD,{side:`right`,class:`h-full`,width:M(t),min:M(YD).min,max:M(YD).max,"onUpdate:width":M(YD).set,onCommit:M(YD).commit,onReset:M(YD).reset},null,8,[`width`,`min`,`max`,`onUpdate:width`,`onCommit`,`onReset`])],4)):W(``,!0)]),H(qD,{side:`left`,class:`max-[1080px]:hidden`,width:M(n),min:M(XD).min,max:M(XD).max,"onUpdate:width":M(XD).set,onCommit:M(XD).commit,onReset:M(XD).reset},null,8,[`width`,`min`,`max`,`onUpdate:width`,`onCommit`,`onReset`]),H(RE,{"key-name":ne.value,entry:Ae.value,issues:ne.value?f.value.get(ne.value)??[]:[],locales:ge.value,"source-locale":me.value,"usage-revision":h.value,style:he({width:`${M(n)}px`}),onChanged:fe},null,8,[`key-name`,`entry`,`issues`,`locales`,`source-locale`,`usage-revision`,`style`])],4),H(KE,{open:ie.value,"onUpdate:open":i[25]||=e=>ie.value=e,onCreated:ze},null,8,[`open`]),H(aD,{open:ae.value,"onUpdate:open":i[26]||=e=>ae.value=e,"export-locales":r.value?.config.exportLocales??[]},null,8,[`open`,`export-locales`]),H(wD,{open:oe.value,"onUpdate:open":i[27]||=e=>oe.value=e,state:r.value,"filtered-keys":Ce.value,"target-locale":x.value===`bilingual`?S.value:void 0,onChanged:fe,onBatchSubmitted:i[28]||=e=>re.value?.refresh()},null,8,[`open`,`state`,`filtered-keys`,`target-locale`]),H(PD,{open:se.value,"onUpdate:open":i[29]||=e=>se.value=e,state:r.value,keys:Ce.value,onChanged:fe,onBatchSubmitted:i[30]||=e=>D.value?.refresh()},null,8,[`open`,`state`,`keys`])])]),_:1}))}}),wO={"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`},TO={"empty-translation":`untranslated`,"placeholder-mismatch":`placeholder`,"glossary-violation":`glossary`,"max-length":`length`,spelling:`spelling`};function EO(e){if(e.ruleId===`empty-translation`)return{text:e.key,states:[`missing`]};if(e.ruleId===`output-stale`)return{};let t=TO[e.ruleId],n=e.locale?{locale:e.locale}:{};return t?{...n,issues:[t]}:{...n,text:e.key}}function DO(e,t){let n=e.values[t];return n?e.plural?(n.forms?.other??``).trim()!==``:(n.value??``).trim()!==``:!1}function OO(e,t){if(!DO(e,t))return`missing`;let n=e.values[t].state;return n===`reviewed`?`reviewed`:n===`needs-review`?`needsReview`:`machine`}function kO(e,t){let n=e.values[t];return n?e.plural?n.forms?.other??``:n.value??``:``}function AO(e){let t=e.trim();return t===``?0:t.split(/\s+/).length}function jO(e,t){return`${e} ${t}${e===1?``:`s`}`}function MO(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=OO(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(jO(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+AO(kO(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:NO(l,m)}}function NO(e,t){let n=[];for(let e of t.breaking)n.push({id:`b:${e.locale}:${e.key}:${e.ruleId}`,priority:`breaking`,title:`Fix ${wO[e.ruleId].toLowerCase()}`,where:e.locale?`${e.locale.toUpperCase()} · ${e.key}`:e.key,detail:e.message,filter:e.ruleId===`output-stale`?void 0:EO(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 ${jO(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 ${jO(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 ${jO(t.length,`${wO[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:EO(t[0]),count:t.length});return n}var PO={class:`min-h-0 flex-1 overflow-y-auto p-6`},FO={key:0,class:`mt-8 text-center text-sm text-muted-foreground`},IO={key:1,class:`mt-8 text-center text-sm text-muted-foreground`},LO={key:2,class:`mx-auto flex max-w-[1080px] flex-col gap-4`},RO={class:`flex flex-wrap divide-x rounded-xl border bg-card px-2 py-3 shadow-sm`},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={class:`flex flex-col px-5`},WO={class:`text-lg font-semibold tabular-nums`},GO={class:`flex flex-col px-5`},KO={class:`text-lg font-semibold tabular-nums`},qO=[`disabled`],JO={class:`flex flex-col px-5`},YO={class:`text-lg font-semibold tabular-nums`},XO={class:`flex flex-wrap items-start justify-between gap-6`},ZO={class:`min-w-0`},QO={class:`mt-1.5 flex items-center gap-2.5 text-2xl font-semibold tracking-tight`},$O={class:`mt-1.5 text-sm text-muted-foreground`},ek={class:`text-emerald-600 dark:text-emerald-400`},tk={class:`text-amber-600 dark:text-amber-400`},nk={class:`text-red-600 dark:text-red-400`},rk={key:0,class:`mt-2 flex flex-col gap-1`},ik={class:`font-semibold`},ak={class:`font-mono text-muted-foreground`},ok={class:`text-muted-foreground`},sk={class:`flex gap-2`},ck={class:`text-[11px] uppercase tracking-wide text-muted-foreground`},lk={class:`mt-4 flex flex-wrap items-center gap-x-4 gap-y-2 border-t pt-3.5`},uk={class:`flex items-center gap-1 text-xs text-muted-foreground`},dk={class:`flex items-center gap-1 text-xs text-muted-foreground`},fk={class:`flex items-center gap-1 text-xs text-muted-foreground`},pk={class:`flex items-center gap-1 text-xs text-muted-foreground`},mk={class:`rounded-2xl border bg-card p-5 shadow-sm`},hk={key:0,class:`flex items-center gap-3 rounded-xl bg-muted p-4`},gk={key:1,class:`grid grid-cols-[repeat(auto-fill,minmax(218px,1fr))] gap-3`},_k=[`data-test`,`onClick`],vk={class:`flex items-start justify-between gap-2`},yk={class:`flex min-w-0 flex-col`},bk={class:`truncate font-mono text-xs font-semibold uppercase`},xk=[`title`],Sk={class:`text-2xl font-semibold tabular-nums leading-none`},Ck={class:`flex h-[7px] w-full overflow-hidden rounded-full bg-muted`},wk={class:`flex min-h-[20px] items-center gap-1.5 text-xs text-muted-foreground`},Tk={class:`truncate`},Ek={class:`rounded-2xl border bg-card p-5 shadow-sm`},Dk={class:`mb-4`},Ok={class:`mt-0.5 text-sm text-muted-foreground`},kk={key:0,class:`flex items-center gap-3 rounded-xl bg-muted p-4`},Ak={key:1,class:`flex flex-col gap-2`},jk=[`disabled`,`onClick`],Mk={class:`flex min-w-0 flex-col gap-0.5`},Nk={class:`flex items-center gap-2 text-sm font-semibold`},Pk={class:`truncate font-mono text-xs text-muted-foreground`},Fk={key:0,class:`grid grid-cols-1 gap-4 lg:grid-cols-2`},Ik={class:`rounded-2xl border bg-card p-5 shadow-sm`},Lk={key:0,class:`flex items-center gap-3 rounded-xl bg-muted p-4`},Rk={key:1,class:`flex flex-col gap-2.5`},zk=[`disabled`,`onClick`],Bk={class:`flex flex-1 flex-col`},Vk={class:`text-sm font-semibold`},Hk={class:`text-xs text-muted-foreground`},Uk={key:0,class:`border-t`},Wk={class:`flex items-center justify-between gap-2 border-b bg-muted/40 px-3.5 py-1.5`},Gk={class:`text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`},Kk=[`disabled`,`title`,`onClick`],qk=[`onClick`,`onKeydown`],Jk=[`title`],Yk={class:`truncate font-medium`},Xk={class:`font-mono text-muted-foreground`},Zk={class:`truncate text-muted-foreground`},Qk={class:`flex items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100`},$k=[`disabled`,`title`,`onClick`],eA=[`disabled`,`onClick`],tA={key:2,class:`mt-3 overflow-hidden rounded-xl border`},nA={key:0,class:`border-t`},rA={class:`font-mono font-semibold uppercase`},iA={class:`truncate`},aA={class:`font-mono`},oA={class:`truncate`},sA=[`disabled`,`onClick`],cA={class:`rounded-2xl border bg-card p-5 shadow-sm`},lA=[`onClick`],uA={class:`flex min-w-0 items-center gap-2`},dA={class:`flex min-w-0 flex-col`},fA={class:`whitespace-nowrap font-mono uppercase leading-tight`},pA=[`title`],mA={class:`text-center font-mono tabular-nums`},hA={key:1,class:`rounded-2xl border bg-card p-5 shadow-sm`},gA={class:`flex items-center gap-3 rounded-xl bg-muted p-4`},_A=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?MO(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(),Pf({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`,()=>Ff(e.key,e.ruleId,e.locale)),h=e=>p(`Restored ${wO[e.ruleId].toLowerCase()} on ${e.key}`,()=>If(e.key,e.ruleId,e.locale)),g=(e,t)=>p(`Dismissed ${t} warning${t===1?``:`s`}`,()=>Lf({rules:[e]})),_=e=>{let t=f(e);t&&p(`Added "${t}" to the dictionary`,()=>vf(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,...EO(e.errors[0])}:e.staleKeys.length?{locale:e.locale,states:[`needs-review`]}:{locale:e.locale}}function ee(e){return XC(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=>EO(e).issues??[]))];return t.length?{issues:t}:{needsAttention:!0}}return(e,t)=>(R(),z(`div`,PO,[r.value?(R(),z(`div`,FO,`Loading analytics…`)):s.value?(R(),z(`div`,IO,` No keys yet — add keys in the Editor to see analytics. `)):o.value?(R(),z(`div`,LO,[V(`section`,RO,[V(`div`,zO,[V(`span`,BO,A(o.value.totals.keys),1),t[2]||=V(`span`,{class:`text-xs text-muted-foreground`},`keys`,-1)]),V(`div`,VO,[V(`span`,HO,A(o.value.totals.locales),1),t[3]||=V(`span`,{class:`text-xs text-muted-foreground`},`locales`,-1)]),V(`div`,UO,[V(`span`,WO,A(o.value.totals.translatedPct)+`%`,1),t[4]||=V(`span`,{class:`text-xs text-muted-foreground`},`translated`,-1)]),V(`div`,GO,[V(`span`,KO,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(Fp)({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,qO),V(`div`,JO,[V(`span`,YO,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`,XO,[V(`div`,ZO,[t[12]||=V(`div`,{class:`font-mono text-[11px] uppercase tracking-wider text-muted-foreground`},`Can I ship?`,-1),V(`h1`,QO,[(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`,$O,[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`,ek,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`,tk,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`,nk,A(o.value.totals.blocked),1),t[11]||=U(` blocked`,-1)],64)):W(``,!0)],64))]),o.value.project.length?(R(),z(`ul`,rk,[(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`,ik,A(M(wO)[e.ruleId]),1),V(`span`,ak,A(e.key),1),V(`span`,ok,A(e.message),1)],2))),128))])):W(``,!0)]),V(`div`,sk,[(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`,ck,A(e.label),1)]))),128))])]),V(`div`,lk,[t[17]||=V(`span`,{class:`font-mono text-[10px] uppercase tracking-wider text-muted-foreground`},`Release gate`,-1),V(`span`,uk,[H(M(Ou),{class:`size-3 text-emerald-500`}),t[13]||=U(` 100% translated`,-1)]),V(`span`,dk,[H(M(Ou),{class:`size-3 text-emerald-500`}),t[14]||=U(` 0 lint errors`,-1)]),V(`span`,fk,[H(M(Ou),{class:`size-3 text-emerald-500`}),t[15]||=U(` outputs exported`,-1)]),V(`span`,pk,[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`,mk,[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`,hk,[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`,gk,[(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(Fp)(T(e))},[V(`div`,vk,[V(`span`,yk,[V(`span`,bk,A(e.locale),1),V(`span`,{class:`truncate text-[11px] text-muted-foreground`,title:ee(e.locale)},A(ee(e.locale)),9,xk)]),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`,Sk,[U(A(e.pct),1),t[20]||=V(`span`,{class:`ml-0.5 text-xs text-muted-foreground`},`%`,-1)]),V(`div`,Ck,[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`,wk,[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`,Tk,A(w(e)),1)])],10,_k))),128))]))]),V(`section`,Ek,[V(`header`,Dk,[t[22]||=V(`h2`,{class:`text-base font-semibold`},`Needs attention`,-1),V(`p`,Ok,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`,Ak,[(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(Fp)(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`,Mk,[V(`span`,Nk,[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`,Pk,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,jk)]))),128))])):(R(),z(`div`,kk,[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`,hA,[t[32]||=V(`h2`,{class:`mb-4 text-base font-semibold`},`Quality`,-1),V(`div`,gA,[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`,Fk,[V(`section`,Ik,[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`,Rk,[(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(Fp)(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`,Bk,[V(`span`,Vk,A(e.label),1),V(`span`,Hk,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,zk),o.value.risk[e.key].length?(R(),z(`div`,Uk,[(R(!0),z(L,null,F(v(e.key),n=>(R(),z(L,{key:n.ruleId},[V(`div`,Wk,[V(`span`,Gk,A(M(wO)[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,Kk)):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(Fp)(M(EO)(e)),onKeydown:Zl(t=>M(Fp)(M(EO)(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,Jk),V(`span`,Yk,[V(`span`,Xk,A(e.key),1)]),V(`span`,Zk,A(e.message),1),V(`span`,Qk,[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,$k)):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,eA)):W(``,!0)])],40,qk))),128))],64))),128))])):W(``,!0)])),64))])):(R(),z(`div`,Lk,[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`,tA,[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`,nA,[(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`,rA,A(e.locale||`—`),1),V(`span`,iA,[U(A(M(wO)[e.ruleId])+` · `,1),V(`span`,aA,A(e.key),1)]),V(`span`,oA,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,sA)]))),128))])):W(``,!0)])):W(``,!0)]),V(`section`,cA,[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(Fp)(T(e))},[V(`span`,uA,[V(`span`,{class:k([`size-2 shrink-0 rounded-full`,y[e.verdict].bar])},null,2),V(`span`,dA,[V(`span`,fA,A(e.locale),1),V(`span`,{class:`truncate text-xs leading-tight text-muted-foreground`,title:ee(e.locale)},A(ee(e.locale)),9,pA)])]),V(`span`,mA,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,lA))),128))])]))])):W(``,!0)]))}});function vA(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 yA={class:`grid gap-4`},bA={class:`grid gap-1.5`},xA={key:0,class:`text-xs text-muted-foreground`},SA={class:`flex items-center justify-between`},CA={class:`flex items-center justify-between`},wA={class:`grid gap-1.5`},TA={key:0,class:`grid gap-2 border-t pt-3`},EA={key:1,class:`text-sm text-destructive`},DA=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 bf(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(Mh),{open:r.value,"onUpdate:open":n[5]||=e=>r.value=e},{default:N(()=>[H(M(wC),{class:`max-h-[85vh] max-w-lg overflow-y-auto`},{default:N(()=>[H(M(TC),null,{default:N(()=>[H(M(DC),null,{default:N(()=>[U(A(c.value?`Edit term`:`Add term`),1)]),_:1}),H(M(OC),null,{default:N(()=>[...n[6]||=[U(` Guide AI translations with do-not-translate terms and forced translations. `,-1)]]),_:1})]),_:1}),V(`div`,yA,[V(`div`,bA,[H(M(CC),{for:`glossary-term`},{default:N(()=>[...n[7]||=[U(`Term`,-1)]]),_:1}),H(M(WS),{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`,xA,` The term is the entry's identity and can't be changed. `)):W(``,!0)]),V(`div`,SA,[V(`div`,null,[H(M(CC),{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(eC),{id:`glossary-dnt`,modelValue:a.doNotTranslate,"onUpdate:modelValue":n[1]||=e=>a.doNotTranslate=e},null,8,[`modelValue`])]),V(`div`,CA,[V(`div`,null,[H(M(CC),{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(eC),{id:`glossary-cs`,modelValue:a.caseSensitive,"onUpdate:modelValue":n[2]||=e=>a.caseSensitive=e},null,8,[`modelValue`])]),V(`div`,wA,[H(M(CC),{for:`glossary-notes`},{default:N(()=>[...n[12]||=[U(`Notes`,-1)]]),_:1}),H(M(rw),{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`,TA,[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(CC),{for:`glossary-tr-${e}`,class:`text-xs text-muted-foreground`},{default:N(()=>[H(Aw,{code:e,"show-name":``,"show-code":!1,size:12},null,8,[`code`])]),_:2},1032,[`for`]),H(M(WS),{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`,EA,A(s.value),1)):W(``,!0)]),H(M(EC),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`]))}}),OA={class:`min-h-0 flex-1 overflow-y-auto`},kA={key:0,class:`flex h-full items-center justify-center p-8 text-sm text-muted-foreground`},AA={key:1,class:`mx-auto flex max-w-3xl flex-col gap-4 p-6`},jA={class:`flex items-center justify-between`},MA={class:`relative`},NA={key:0,class:`rounded-lg border border-dashed p-10 text-center text-sm text-muted-foreground`},PA={key:1,class:`rounded-lg border border-dashed p-10 text-center text-sm text-muted-foreground`},FA={key:2,class:`flex flex-col gap-2`},IA={class:`min-w-0 flex-1`},LA={class:`flex flex-wrap items-center gap-2`},RA={class:`font-mono text-sm font-medium`},zA={key:0,class:`mt-1 text-sm text-muted-foreground`},BA={key:1,class:`mt-2 flex flex-wrap gap-1.5`},VA={class:`flex shrink-0 items-center gap-1`},HA={class:`font-mono`},UA=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(()=>vA(t.value,l.value)),d=K(()=>r.value.filter(e=>e!==n.value));async function f(){let[e,a]=await Promise.all([yf(),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 xf(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`,OA,[i.value?(R(),z(`div`,AA,[V(`div`,jA,[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`,MA,[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(WS),{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`,NA,` No glossary terms yet — add do-not-translate terms and forced translations to guide AI. `)):u.value.length===0?(R(),z(`div`,PA,` No terms match your search. `)):(R(),z(`ul`,FA,[(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`,IA,[V(`div`,LA,[V(`span`,RA,A(e.term),1),e.doNotTranslate?(R(),B(M(QS),{key:0,variant:`secondary`},{default:N(()=>[...n[8]||=[U(`Do-not-translate`,-1)]]),_:1})):W(``,!0),e.caseSensitive?(R(),B(M(QS),{key:1,variant:`outline`},{default:N(()=>[...n[9]||=[U(`Case-sensitive`,-1)]]),_:1})):W(``,!0)]),e.notes?(R(),z(`p`,zA,A(e.notes),1)):W(``,!0),h(e).length?(R(),z(`div`,BA,[(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`,VA,[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`,kA,` Loading glossary… `)),H(DA,{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(Mh),{open:s.value!==null,"onUpdate:open":n[5]||=e=>{e||(s.value=null)}},{default:N(()=>[H(M(wC),{class:`max-w-md`},{default:N(()=>[H(M(TC),null,{default:N(()=>[H(M(DC),null,{default:N(()=>[...n[10]||=[U(`Delete term`,-1)]]),_:1}),H(M(OC),null,{default:N(()=>[n[11]||=U(` Delete `,-1),V(`span`,HA,A(s.value?.term),1),n[12]||=U(` from the glossary? This cannot be undone. `,-1)]),_:1})]),_:1}),H(M(EC),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`])]))}}),WA=[{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`}],GA=Object.fromEntries(WA.map(e=>[e.id,e.default]));function KA(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 qA(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:{...GA,...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 JA(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:KA(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])=>GA[e]!==void 0&&t!==GA[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 YA=j(0),XA={class:`flex items-center gap-2 p-2`},ZA=[`aria-label`],QA={class:`!flex items-center gap-2`},$A={class:`truncate font-medium`},ej={class:`flex items-center gap-2`},tj={key:0,class:`grid gap-5 border-t border-border p-4`},nj={key:0,class:`grid gap-1.5`},rj={class:`mt-1 inline-flex w-fit rounded-md border border-input p-0.5`},ij=[`onClick`],aj={key:1,class:`grid gap-1.5`},oj={class:`mt-1 inline-flex w-fit rounded-md border border-input p-0.5`},sj=[`onClick`],cj={key:2,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={key:3,class:`grid gap-1.5`},pj={class:`flex items-center gap-2`},mj={key:0,class:`text-xs text-muted-foreground`},hj={class:`flex items-center gap-2`},gj={class:`text-xs text-muted-foreground`},_j={key:4,class:`grid gap-1.5`},vj={class:`flex items-center gap-2`},yj={class:`text-xs text-muted-foreground`},bj={class:`grid gap-1.5`},xj={class:`flex w-full items-center justify-between gap-4`},Sj={class:`font-mono text-xs text-muted-foreground`},Cj={class:`grid gap-1.5`},wj={class:`mt-1 grid gap-2`},Tj={key:0,class:`text-xs text-muted-foreground`},Ej={class:`w-24 shrink-0 font-mono text-xs font-semibold`},Dj={key:1},Oj={class:`!flex items-center gap-1.5`},kj={class:`border-t border-border pt-4`},Aj={class:`mt-2 grid gap-2`},jj={key:0,class:`text-xs text-muted-foreground`},Mj={class:`flex h-8 shrink-0 items-center gap-1.5`},Nj={class:`font-mono text-xs font-semibold`},Pj={class:`flex flex-1 flex-wrap items-center gap-1.5`},Fj=[`onClick`],Ij={key:1},Lj={class:`!flex items-center gap-1.5`},Rj=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`,XA,[H(M(lx),null,{default:N(()=>[H(M(mx),{"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,ZA)]),_:1}),H(M(RC),null,{default:N(()=>[U(A(i.value?`Collapse`:`Expand options`),1)]),_:1})]),_:1}),H(M(Cb),{"model-value":e.output.adapter,"onUpdate:modelValue":b},{default:N(()=>[H(M(GS),{class:`w-44 shrink-0`},{default:N(()=>[V(`span`,QA,[(R(),B(aa(_(e.output.adapter)),{class:`size-3.5 shrink-0 text-primary`})),V(`span`,$A,A(h(e.output.adapter)),1)])]),_:1}),H(M(KS),null,{default:N(()=>[(R(!0),z(L,null,F(e.adapters,e=>(R(),B(M(JS),{key:e,value:e},{default:N(()=>[V(`span`,ej,[(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(JS),{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(WS),{"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`,tj,[c(`emptyAs`)?(R(),z(`div`,nj,[H(M(CC),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`,rj,[(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,ij)),64))])])):W(``,!0),c(`style`)?(R(),z(`div`,aj,[H(M(CC),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`,oj,[(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,sj)),64))])])):W(``,!0),c(`indent`)?(R(),z(`div`,cj,[V(`div`,lj,[H(M(CC),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`,uj,`Inherited · `+A(e.formatIndent),1))]),V(`div`,dj,[H(M(WS),{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`,fj,[V(`div`,pj,[H(M(CC),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`,mj,`Inherited · `+A(e.formatFinalNewline?`on`:`off`),1))]),V(`div`,hj,[H(M(eC),{"model-value":S.value,"onUpdate:modelValue":n[6]||=e=>v({finalNewline:e})},null,8,[`model-value`]),V(`span`,gj,A(S.value?`Enabled`:`Disabled`),1)])])):W(``,!0),c(`includeLocale`)?(R(),z(`div`,_j,[H(M(CC),{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`,vj,[H(M(eC),{"model-value":e.output.includeLocale??!0,"onUpdate:modelValue":n[7]||=e=>v({includeLocale:e})},null,8,[`model-value`]),V(`span`,yj,A(e.output.includeLocale??!0?`Enabled`:`Disabled`),1)])])):W(``,!0),V(`div`,bj,[H(M(CC),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(Cb),{"model-value":f.value,"onUpdate:modelValue":p},{default:N(()=>[H(M(GS),{class:`w-72`,"aria-label":`Locale code format`},{default:N(()=>[H(M(Wb))]),_:1}),H(M(KS),null,{default:N(()=>[H(M(JS),{value:`default`},{default:N(()=>[U(A(d(e.output.adapter)),1)]),_:1}),(R(),z(L,null,F(u,e=>H(M(JS),{key:e.value,value:e.value},{default:N(()=>[V(`span`,xj,[V(`span`,null,A(e.label),1),V(`span`,Sj,A(e.example),1)])]),_:2},1032,[`value`])),64))]),_:1})]),_:1},8,[`model-value`])]),V(`div`,Cj,[H(M(CC),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`,wj,[oe.value.length===0?(R(),z(`p`,Tj,`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`,Ej,A(e),1),H(M(xu),{class:`size-3 shrink-0 text-muted-foreground`}),H(M(WS),{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`,Dj,[H(M(Cb),{"model-value":``,"onUpdate:modelValue":ce},{default:N(()=>[H(M(GS),{class:`w-56 text-muted-foreground`,"aria-label":`Add locale override`},{default:N(()=>[V(`span`,Oj,[H(M(sd),{class:`size-3.5`}),n[20]||=U(` Add override…`,-1)])]),_:1}),H(M(KS),null,{default:N(()=>[(R(!0),z(L,null,F(se.value,e=>(R(),B(M(JS),{key:e,value:e},{default:N(()=>[U(A(e),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1})])):W(``,!0)])]),V(`div`,kj,[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`,Aj,[ee.value.length===0?(R(),z(`p`,jj,`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`,Mj,[V(`span`,Nj,A(e),1),H(M(xu),{class:`size-3 text-muted-foreground`})]),V(`div`,Pj,[(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(lx),null,{default:N(()=>[H(M(mx),{"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,Fj)]),_:2},1024),H(M(RC),null,{default:N(()=>[...n[22]||=[U(`Remove`,-1)]]),_:1})]),_:2},1024)]))),128)),H(M(WS),{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(lx),null,{default:N(()=>[H(M(mx),{"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(RC),null,{default:N(()=>[...n[23]||=[U(`Remove alias`,-1)]]),_:1})]),_:2},1024)]))),128)),E.value.length>0?(R(),z(`div`,Ij,[H(M(Cb),{"model-value":``,"onUpdate:modelValue":ne},{default:N(()=>[H(M(GS),{class:`w-56 text-muted-foreground`},{default:N(()=>[V(`span`,Lj,[H(M(sd),{class:`size-3.5`}),n[24]||=U(` Add locale alias…`,-1)])]),_:1}),H(M(KS),null,{default:N(()=>[(R(!0),z(L,null,F(E.value,e=>(R(),B(M(JS),{key:e,value:e},{default:N(()=>[U(A(e),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1})])):W(``,!0)])])])):W(``,!0)],2))}}),zj={class:`grid gap-1.5`},Bj={class:`flex flex-wrap gap-2`},Vj=[`aria-label`,`onClick`],Hj={key:0,class:`text-sm text-muted-foreground`},Uj={class:`flex max-w-sm gap-2`},Wj={key:0,class:`flex items-center gap-1.5 text-xs text-destructive`},Gj=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`,zj,[H(M(CC),null,{default:N(()=>[U(A(e.label),1)]),_:1}),I(t.$slots,`help`),V(`div`,Bj,[(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,Vj)],2))),128)),e.items.length===0?(R(),z(`p`,Hj,`None — auto-detect.`)):W(``,!0)]),V(`div`,Uj,[H(M(WS),{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`,Wj,[H(M(Ed),{class:`size-3.5`}),U(` `+A(a.value),1)])):W(``,!0)]))}}),Kj={key:0,class:`flex flex-1 items-center justify-center text-sm text-muted-foreground`},qj={key:1,class:`flex min-h-0 flex-1 overflow-hidden`},Jj={class:`flex w-60 shrink-0 flex-col gap-1 overflow-y-auto border-r bg-muted p-3`},Yj=[`onClick`],Xj={class:`min-w-0 flex-1`},Zj={class:`block text-[13px] font-[570] leading-tight`},Qj={class:`mt-0.5 block truncate text-[11px] opacity-70`},$j={key:0,class:`size-2 shrink-0 rounded-full bg-primary ring-2 ring-primary/25`},eM={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`},tM=[`onClick`],nM={class:`min-w-0 flex-1`},rM={class:`block text-[13px] font-[570] leading-tight`},iM={class:`mt-0.5 block truncate text-[11px] opacity-70`},aM={class:`relative flex min-w-0 flex-1 flex-col`},oM={class:`flex-1 overflow-y-auto px-8 pb-28 pt-7`},sM={class:`max-w-[680px]`},cM={class:`mb-6`},lM={class:`flex items-center gap-2.5 text-[21px] font-bold tracking-tight`},uM={key:0,class:`size-2 rounded-full bg-primary ring-2 ring-primary/25`},dM={key:0,class:`mt-1.5 text-sm text-muted-foreground`},fM={key:1,class:`mt-1.5 text-sm text-muted-foreground`},pM={key:2,class:`mt-1.5 text-sm text-muted-foreground`},mM={key:3,class:`mt-1.5 text-sm text-muted-foreground`},hM={key:4,class:`mt-1.5 text-sm text-muted-foreground`},gM={key:5,class:`mt-1.5 text-sm text-muted-foreground`},_M={key:6,class:`mt-1.5 text-sm text-muted-foreground`},vM={key:7,class:`mt-2 flex items-center gap-1.5 text-sm text-muted-foreground`},yM={key:0,class:`flex flex-col gap-5`},bM={class:`grid max-w-sm gap-1.5`},xM={key:0},SM={class:`grid gap-1.5`},CM={class:`ml-1.5 font-normal text-muted-foreground`},wM={class:`flex flex-wrap gap-2`},TM={key:0,class:`font-mono text-[10px] italic text-muted-foreground`},EM=[`aria-label`,`onClick`],DM={class:`mt-1 flex items-center gap-1.5 text-xs text-destructive`},OM={class:`grid max-w-sm gap-1.5`},kM={class:`flex gap-2`},AM={key:0,class:`flex items-center gap-1.5 text-xs text-muted-foreground`},jM={key:1,class:`flex flex-col gap-6`},MM={class:`flex items-center justify-between gap-4 rounded-lg border p-3.5`},NM={class:`flex items-start gap-2.5`},PM={class:`grid size-8 shrink-0 place-items-center rounded-md border border-primary/25 bg-primary/10 text-primary`},FM={class:`rounded-lg border p-3.5`},IM={class:`flex items-center justify-between gap-4`},LM={class:`flex items-start gap-2.5`},RM={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`},zM={key:0,class:`mt-3 border-t pt-3`},BM={class:`flex flex-wrap gap-2`},VM=[`aria-checked`,`onClick`],HM={class:`mt-2 flex items-center gap-1.5 text-xs text-amber-600 dark:text-amber-400`},UM={class:`mt-2 divide-y rounded-lg border`},WM={class:`flex items-center justify-between gap-4 p-3.5`},GM={class:`flex items-center gap-2`},KM={class:`flex items-center justify-between gap-4 p-3.5`},qM={class:`flex items-center gap-2 text-sm font-medium`},JM={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`},YM={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`},XM={class:`flex items-center justify-between gap-4 p-3.5`},ZM={class:`mt-2 flex flex-col gap-2.5`},QM={key:0,class:`text-sm text-muted-foreground`},$M={key:2,class:`flex flex-col gap-4`},eN={class:`flex items-center gap-2 rounded-lg border p-3`},tN={key:1,class:`flex-1 text-sm text-muted-foreground`},nN={class:`grid max-w-sm gap-4`},rN={class:`grid gap-1.5`},iN={class:`flex items-center gap-2`},aN={key:0,class:`flex items-center gap-1 text-xs leading-none text-emerald-600 dark:text-emerald-400`},oN={class:`text-xs text-muted-foreground`},sN={class:`grid gap-1.5`},cN={key:0,class:`text-xs text-muted-foreground`},lN=[`onClick`],uN={key:0},dN={key:0,class:`grid gap-1.5`},fN={key:1,class:`grid gap-1.5`},pN={key:0,class:`text-xs text-muted-foreground`},mN={key:1,class:`text-xs text-muted-foreground`},hN={class:`grid gap-1.5`},gN={class:`grid gap-1.5`},_N={class:`grid gap-1.5`},vN={class:`grid gap-1.5`},yN={class:`grid gap-1.5`},bN={class:`grid gap-1.5`},xN={key:2,class:`flex items-center gap-3`},SN={class:`grid gap-0.5`},CN={key:3,class:`grid gap-1.5`},wN={key:3,class:`flex flex-col gap-6`},TN={key:4,class:`flex flex-col gap-6`},EN={class:`mt-2 divide-y rounded-lg border`},DN={class:`min-w-0`},ON={class:`flex items-center gap-2 text-sm font-medium`},kN={class:`rounded border bg-muted px-1 py-0.5 font-mono text-[10px] text-muted-foreground`},AN={class:`mt-0.5 text-xs text-muted-foreground`},jN={key:5,class:`flex flex-col gap-4`},MN={class:`flex flex-wrap gap-2`},NN=[`aria-label`,`onClick`],PN={key:0,class:`text-sm text-muted-foreground`},FN={class:`grid max-w-sm gap-1.5`},IN={class:`flex gap-2`},LN={key:6,class:`flex flex-col gap-4`},RN={class:`grid max-w-sm gap-1.5`},zN={class:`flex items-center gap-2`},BN={key:0,class:`flex items-center gap-1 text-xs leading-none text-emerald-600 dark:text-emerald-400`},VN={class:`flex items-center gap-1.5 text-sm text-muted-foreground`},HN={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`},UN={class:`font-semibold`},WN={class:`relative`},GN={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`},KN={class:`mt-1 text-xs leading-relaxed text-muted-foreground`},qN={class:`mt-3 flex justify-end gap-2`},JN={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`},YN={id:`leave-warning-title`,class:`flex items-center gap-2 text-[15px] font-semibold`},XN={class:`mt-1.5 text-[13px] leading-relaxed text-muted-foreground`},ZN={class:`font-medium text-foreground`},QN={class:`block`},$N={class:`mt-4 flex items-center gap-2`},eP={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`},tP=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=Mp().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(qA(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([ff(),mf()]);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 hf(C.value,e),S.value={...S.value,[C.value]:e}):await pf({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=>{YA.value=e},{immediate:!0}),Xi(()=>{YA.value=0});let ue=K(()=>dT.find(e=>e.id===mT.value)?.label??`VS Code`),de=j(!1),fe=null;function pe(e){hT(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])=>GA[e]!==void 0&&t!==GA[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 lf(JA(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,Ap(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),kp(ye)}),Xi(()=>{window.removeEventListener(`keydown`,Te),window.removeEventListener(`beforeunload`,we),window.removeEventListener(`hashchange`,h),kp(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 _f(e),D(e?S.value[e]??ie():(await ff()).ai)}async function Be(){let e=`Profile ${Object.keys(S.value).length+1}`,t=ie();await hf(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 hf(n,r),await gf(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 gf(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`,qj,[V(`nav`,Jj,[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`,Xj,[V(`span`,Zj,A(e.title),1),V(`span`,Qj,A(ge(e.id)),1)]),!e.autosave&&O.value.includes(e.id)?(R(),z(`span`,$j)):W(``,!0),e.autosave?(R(),z(`span`,eM,`Auto`)):W(``,!0)],10,Yj)),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`,nM,[V(`span`,rM,A(me[e].title),1),V(`span`,iM,A(e===`editor`?ue.value:ge(e)),1)])],10,tM)),64))]),V(`div`,aM,[V(`div`,oM,[V(`div`,sM,[V(`div`,cM,[V(`h2`,lM,[U(A(me[d.value].title)+` `,1),O.value.includes(d.value)?(R(),z(`span`,uM)):W(``,!0)]),d.value===`languages`?(R(),z(`p`,dM,` The source language is translated into every other language. `)):d.value===`outputs`?(R(),z(`p`,fM,[...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`,pM,[...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`,mM,` 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`,hM,[...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`,gM,` Words the spell checker should never flag. Added here or from a cell's warning. `)):d.value===`editor`?(R(),z(`p`,_M,[...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`,vM,[H(M(jd),{class:`size-3.5`}),t[36]||=U(` Changes here save automatically. `,-1)])):W(``,!0)]),d.value===`languages`?(R(),z(`div`,yM,[V(`div`,bM,[H(M(CC),{for:`source-locale`},{default:N(()=>[...t[37]||=[U(`Source language`,-1)]]),_:1}),H(M(Cb),{modelValue:c.sourceLocale,"onUpdate:modelValue":t[0]||=e=>c.sourceLocale=e},{default:N(()=>[H(M(GS),{id:`source-locale`},{default:N(()=>[c.sourceLocale?(R(),z(`span`,xM,[H(Aw,{code:c.sourceLocale,"show-name":``,size:14},null,8,[`code`])])):(R(),B(M(Wb),{key:1,placeholder:`Select source`}))]),_:1}),H(M(KS),null,{default:N(()=>[(R(!0),z(L,null,F(c.locales,e=>(R(),B(M(JS),{key:e,value:e},{default:N(()=>[H(Aw,{code:e,"show-name":``,size:14},null,8,[`code`])]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`])]),V(`div`,SM,[H(M(CC),null,{default:N(()=>[t[38]||=U(` Languages `,-1),V(`span`,CM,A(c.locales.length),1)]),_:1}),V(`div`,wM,[(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(Aw,{code:e,"show-name":``,size:14},null,8,[`code`]),e===c.sourceLocale?(R(),z(`span`,TM,`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,EM))],2))),128))]),V(`p`,DM,[H(M(Ed),{class:`size-3.5`}),t[39]||=U(` Removing a language deletes its translations. `,-1)])]),V(`div`,OM,[H(M(CC),{for:`add-locale`},{default:N(()=>[...t[40]||=[U(`Add language`,-1)]]),_:1}),V(`div`,kM,[H(M(WS),{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`,AM,[t[42]||=U(` Preview: `,-1),H(Aw,{code:Ee.value.trim(),"show-name":``,size:14},null,8,[`code`])])):W(``,!0)])])):d.value===`outputs`?(R(),z(`div`,jM,[V(`div`,MM,[V(`div`,NM,[V(`span`,PM,[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(eC),{modelValue:c.autoExport,"onUpdate:modelValue":t[2]||=e=>c.autoExport=e},null,8,[`modelValue`])]),V(`div`,FM,[V(`div`,IM,[V(`div`,LM,[V(`span`,RM,[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(eC),{"model-value":je.value,"onUpdate:modelValue":Me},null,8,[`model-value`])]),je.value?(R(),z(`div`,zM,[V(`div`,BM,[(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(Aw,{code:e,"show-name":``,size:14},null,8,[`code`])],10,VM))),128))]),V(`p`,HM,[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`,UM,[V(`div`,WM,[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`,GM,[H(M(WS),{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`,KM,[V(`div`,null,[V(`div`,qM,[t[48]||=U(` Sort keys `,-1),V(`span`,JM,[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`,YM,[H(M(Ou),{class:`size-3`}),t[50]||=U(` Always alphabetical`,-1)])]),V(`div`,XM,[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(eC),{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`,ZM,[(R(!0),z(L,null,F(c.outputs,(e,t)=>(R(),B(Rj,{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`,QM,`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`,$M,[V(`div`,eN,[H(M(Cb),{"model-value":C.value??`__none__`,"onUpdate:modelValue":t[5]||=e=>ze(e===`__none__`?null:e)},{default:N(()=>[H(M(GS),{class:`w-44`},{default:N(()=>[H(M(Wb),{placeholder:`No profile`})]),_:1}),H(M(KS),null,{default:N(()=>[H(M(JS),{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(JS),{key:e,value:e},{default:N(()=>[U(A(e),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`model-value`]),C.value?(R(),B(M(WS),{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`,tN,`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`,nN,[V(`div`,rN,[V(`div`,iN,[H(M(CC),{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`,aN,[H(M(Ou),{class:`size-3`}),t[59]||=U(` Saved `,-1)])):W(``,!0)]),_:1})]),H(M(Cb),{modelValue:T.provider,"onUpdate:modelValue":t[9]||=e=>T.provider=e},{default:N(()=>[H(M(GS),{id:`ai-provider`},{default:N(()=>[H(M(Wb),{placeholder:`Select provider`})]),_:1}),H(M(KS),null,{default:N(()=>[(R(),z(L,null,F(r,e=>H(M(JS),{key:e.value,value:e.value},{default:N(()=>[U(A(e.label),1)]),_:2},1032,[`value`])),64))]),_:1})]),_:1},8,[`modelValue`]),V(`p`,oN,A(Ie.value),1)]),V(`div`,sN,[H(M(CC),{for:`ai-model`},{default:N(()=>[...t[60]||=[U(`Model`,-1)]]),_:1}),H(M(WS),{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`,cN,[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,lN),t<Le.value.length-1?(R(),z(`span`,uN,` · `)):W(``,!0)],64))),128))])):W(``,!0)]),Pe.value?(R(),z(`div`,dN,[H(M(CC),{for:`ai-region`},{default:N(()=>[...t[62]||=[U(`Region`,-1)]]),_:1}),H(M(WS),{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`,fN,[H(M(CC),{for:`ai-endpoint`},{default:N(()=>[...t[64]||=[U(`Endpoint`,-1)]]),_:1}),H(M(WS),{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`,pN,[...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`,mN,`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`,hN,[H(M(CC),{for:`ai-batch`},{default:N(()=>[...t[66]||=[U(`Batch size`,-1)]]),_:1}),H(M(WS),{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`,gN,[H(M(CC),{for:`ai-concurrency`},{default:N(()=>[...t[68]||=[U(`Parallel locales`,-1)]]),_:1}),H(M(WS),{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`,_N,[H(M(CC),{for:`ai-price-in`},{default:N(()=>[...t[70]||=[U(`Input price ($ / 1M tokens)`,-1)]]),_:1}),H(M(WS),{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`,vN,[H(M(CC),{for:`ai-price-out`},{default:N(()=>[...t[71]||=[U(`Output price ($ / 1M tokens)`,-1)]]),_:1}),H(M(WS),{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`,yN,[H(M(CC),{for:`ai-context-batch`},{default:N(()=>[...t[73]||=[U(`Batch size`,-1)]]),_:1}),H(M(WS),{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`,bN,[H(M(CC),{for:`ai-context-concurrency`},{default:N(()=>[...t[75]||=[U(`Concurrency`,-1)]]),_:1}),H(M(WS),{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`,xN,[H(M(eC),{id:`ai-vision`,modelValue:T.vision,"onUpdate:modelValue":t[19]||=e=>T.vision=e},null,8,[`modelValue`]),V(`div`,SN,[H(M(CC),{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`,CN,[H(M(CC),{for:`ai-prompt-style`},{default:N(()=>[...t[79]||=[U(`Prompt style`,-1)]]),_:1}),H(M(Cb),{"model-value":T.promptStyle||`__default__`,"onUpdate:modelValue":t[20]||=e=>T.promptStyle=e===`__default__`?``:e},{default:N(()=>[H(M(GS),{id:`ai-prompt-style`},{default:N(()=>[H(M(Wb),{placeholder:`Default`})]),_:1}),H(M(KS),null,{default:N(()=>[H(M(JS),{value:`__default__`},{default:N(()=>[...t[80]||=[U(`Default`,-1)]]),_:1}),H(M(JS),{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`,wN,[H(Gj,{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(Gj,{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(Gj,{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(Gj,{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(Gj,{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`,TN,[V(`div`,null,[t[91]||=V(`div`,{class:`text-xs font-semibold uppercase tracking-wide text-muted-foreground`},`Rules`,-1),V(`div`,EN,[(R(!0),z(L,null,F(M(WA),e=>(R(),z(`div`,{key:e.id,class:`flex items-center justify-between gap-4 p-3.5`},[V(`div`,DN,[V(`div`,ON,[U(A(e.label)+` `,1),V(`code`,kN,A(e.id),1)]),V(`div`,AN,A(e.description),1)]),H(M(Cb),{"model-value":c.lintRules[e.id]??e.default,"onUpdate:modelValue":t=>c.lintRules={...c.lintRules,[e.id]:t}},{default:N(()=>[H(M(GS),{class:k([`w-32 shrink-0`,c.lintRules[e.id]===`off`?`text-muted-foreground`:``])},{default:N(()=>[H(M(Wb))]),_:1},8,[`class`]),H(M(KS),null,{default:N(()=>[H(M(JS),{value:`error`},{default:N(()=>[U(`Error`+A(e.default===`error`?` ·`:``),1)]),_:2},1024),H(M(JS),{value:`warn`},{default:N(()=>[U(`Warning`+A(e.default===`warn`?` ·`:``),1)]),_:2},1024),H(M(JS),{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(Gj,{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`,jN,[V(`div`,MN,[(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,NN)]))),128)),c.customWords.length===0?(R(),z(`p`,PN,`No custom words yet.`)):W(``,!0)]),V(`div`,FN,[H(M(CC),{for:`add-word`},{default:N(()=>[...t[94]||=[U(`Add word`,-1)]]),_:1}),V(`div`,IN,[H(M(WS),{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`,LN,[V(`div`,RN,[V(`div`,zN,[H(M(CC),{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`,BN,[H(M(Ou),{class:`size-3`}),t[97]||=U(` Saved `,-1)])):W(``,!0)]),_:1})]),H(M(Cb),{"model-value":M(mT),"onUpdate:modelValue":pe},{default:N(()=>[H(M(GS),{id:`editor-select`},{default:N(()=>[H(M(Wb),{placeholder:`Select editor`})]),_:1}),H(M(KS),null,{default:N(()=>[(R(!0),z(L,null,F(M(dT),e=>(R(),B(M(JS),{key:e.id,value:e.id},{default:N(()=>[U(A(e.label),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`model-value`])]),V(`p`,VN,[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`,HN,A(ce.value),1),U(` Unsaved `+A(ce.value===1?`change`:`changes`)+` in `,1),V(`strong`,UN,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`,WN,[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`,GN,[t[105]||=V(`p`,{class:`text-[13px] font-semibold`},`Discard all changes?`,-1),V(`p`,KN,` Reverts every unsaved edit in `+A(le.value.join(`, `))+`. `,1),V(`div`,qN,[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`,Kj,` 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`,JN,[V(`h3`,YN,[H(M(Ed),{class:`size-4 text-amber-500`}),t[107]||=U(` Unsaved changes `,-1)]),V(`p`,XN,[U(` You have `+A(ce.value)+` unsaved `+A(ce.value===1?`change`:`changes`)+` in `,1),V(`strong`,ZN,A(le.value.join(`, `)),1),t[108]||=U(`. `,-1),V(`span`,QN,`Leaving now discards `+A(ce.value===1?`it`:`them`)+`.`,1)]),V(`div`,$N,[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`,eP,[H(M(Ou),{class:`size-3.5`}),t[112]||=U(` Settings saved `,-1)])):W(``,!0)]),_:1})],64))}}),nP={class:`min-h-0 flex-1 overflow-y-auto`},rP={key:0,class:`flex h-full items-center justify-center p-8 text-sm text-muted-foreground`},iP={key:1,class:`flex h-full items-center justify-center p-8`},aP={class:`flex max-w-md flex-col items-center gap-3 text-center text-muted-foreground`},oP={key:2,class:`grid grid-cols-[repeat(auto-fill,minmax(180px,1fr))] gap-3 p-6`},sP=[`onClick`],cP={class:`flex aspect-video items-center justify-center overflow-hidden border-b bg-muted/30`},lP=[`src`,`alt`],uP={class:`flex flex-col gap-0.5 p-2.5`},dP={class:`truncate font-mono text-xs font-medium`},fP={class:`truncate text-xs text-muted-foreground`},pP={key:1,class:`truncate text-xs text-muted-foreground`},mP={class:`flex max-h-[70vh] items-center justify-center overflow-auto rounded-md border bg-muted/30 p-2`},hP=[`src`,`alt`],gP={key:0,class:`text-sm text-muted-foreground`},_P=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`,nP,[n.value?o.value.length===0?(R(),z(`div`,iP,[V(`div`,aP,[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`,oP,[(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`,cP,[V(`img`,{src:`/`+e.screenshot,alt:`Screenshot for ${e.key}`,class:`h-full w-full object-contain`},null,8,lP)]),V(`div`,uP,[H(M(lx),null,{default:N(()=>[H(M(mx),{"as-child":``},{default:N(()=>[V(`span`,dP,A(e.key),1)]),_:2},1024),H(M(RC),{class:`font-mono`},{default:N(()=>[U(A(e.key),1)]),_:2},1024)]),_:2},1024),e.source?(R(),B(M(lx),{key:0},{default:N(()=>[H(M(mx),{"as-child":``},{default:N(()=>[V(`span`,fP,A(e.source),1)]),_:2},1024),H(M(RC),null,{default:N(()=>[U(A(e.source),1)]),_:2},1024)]),_:2},1024)):(R(),z(`span`,pP,`—`))])],8,sP))),128))])):(R(),z(`div`,rP,` Loading screenshots… `)),H(M(Mh),{open:r.value!==null,"onUpdate:open":t[1]||=e=>{e||(r.value=null)}},{default:N(()=>[r.value?(R(),B(M(wC),{key:0,class:`max-w-3xl`},{default:N(()=>[H(M(TC),null,{default:N(()=>[H(M(DC),{class:`break-all font-mono text-sm`},{default:N(()=>[U(A(r.value.key),1)]),_:1}),H(M(OC),null,{default:N(()=>[U(A(r.value.source||`—`),1)]),_:1})]),_:1}),V(`div`,mP,[V(`img`,{src:`/`+r.value.screenshot,alt:`Screenshot for ${r.value.key}`,class:`max-h-[65vh] w-auto object-contain`},null,8,hP)]),r.value.entry.context?(R(),z(`p`,gP,[t[3]||=V(`span`,{class:`font-medium text-foreground`},`Context:`,-1),U(` `+A(r.value.entry.context),1)])):W(``,!0),H(M(EC),null,{default:N(()=>[H(M(Q),{size:`sm`,onClick:t[0]||=e=>M(Lp)(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`])]))}}),vP={class:`min-h-0 flex-1 overflow-y-auto p-4`},yP={key:0,class:`mt-8 text-center text-sm text-muted-foreground`},bP={key:1,class:`mx-auto flex max-w-4xl flex-col gap-4`},xP={key:0,class:`flex flex-wrap gap-1.5`},SP=[`onClick`],CP={class:`flex flex-wrap items-center gap-3 border-b px-4 py-2.5`},wP={class:`text-sm font-medium`},TP={class:`text-sm text-muted-foreground`},EP={class:`border-b`},DP={class:`overflow-x-auto whitespace-pre-wrap break-words bg-muted/40 px-4 py-3 font-mono text-xs leading-relaxed`},OP={class:`divide-y`},kP={class:`flex items-center gap-2`},AP={class:`truncate font-mono text-xs text-muted-foreground`},jP={class:`flex items-start gap-2 text-sm`},MP={class:`min-w-0 flex-1 break-words`},NP={class:`min-w-0 flex-1 break-words`},PP={key:0,class:`text-destructive`},FP={key:1},IP={key:0,class:`text-xs text-muted-foreground`},LP={key:1,class:`flex flex-wrap gap-1`},RP={key:2,class:`flex items-center gap-1.5 text-xs text-muted-foreground`},zP={class:`truncate font-mono`},BP={key:1,class:`flex flex-col gap-1.5 px-4 py-3`},VP={key:0,class:`flex items-center gap-2`},HP={class:`truncate font-mono text-xs text-muted-foreground`},UP={key:1,class:`flex items-start gap-2 text-sm`},WP=P({__name:`ActivityView`,setup(e){let t=j([]),n=j(!0),r=j(`all`);Ki(async()=>{try{t.value=await Df()}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=>VS(`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`,vP,[!n.value&&t.value.length===0?(R(),z(`p`,yP,` No activity yet — edits, translations, and config changes will show up here. `)):(R(),z(`div`,bP,[a.value.length>1?(R(),z(`div`,xP,[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,SP))),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`,CP,[V(`span`,wP,A(new Date(e.at).toLocaleString()),1),H(M(QS),{variant:`outline`,class:`font-mono uppercase`},{default:N(()=>[U(A(e.kind),1)]),_:2},1024),V(`span`,TP,A(e.summary),1),e.model?(R(),B(M(QS),{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`,EP,[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`,DP,A(e.system),1)]),V(`ul`,OP,[(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`,kP,[V(`span`,AP,A(t.key),1),t.targetLocale?(R(),B(M(QS),{key:0,variant:`outline`,class:`shrink-0 font-mono uppercase`},{default:N(()=>[U(A(t.targetLocale),1)]),_:2},1024)):W(``,!0)]),V(`div`,jP,[V(`span`,MP,A(t.source),1),H(M(xu),{class:`mt-0.5 size-4 shrink-0 text-muted-foreground`}),V(`span`,NP,[c(e,t.id)?.error?(R(),z(`span`,PP,A(c(e,t.id)?.error),1)):(R(),z(`span`,FP,A(c(e,t.id)?.translation??c(e,t.id)?.value),1))])]),t.context?(R(),z(`p`,IP,A(t.context),1)):W(``,!0),t.glossary?.length?(R(),z(`div`,LP,[(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`,RP,[H(M(Xu),{class:`size-3.5 shrink-0`}),V(`span`,zP,A(t.screenshot),1)])):W(``,!0)]))),128))])],64)):e.key||e.before!==void 0||e.after!==void 0?(R(),z(`div`,BP,[e.key?(R(),z(`div`,VP,[V(`span`,HP,A(e.key),1),e.locale?(R(),B(M(QS),{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`,UP,[e.before===void 0?W(``,!0):(R(),z(`span`,{key:0,class:k(M(VS)(`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(VS)(`min-w-0 flex-1 break-words`,d(e.after)&&`font-mono text-xs`))},A(u(e.after)),3))])):W(``,!0)])):W(``,!0)]))),128))]))]))}}),GP=[{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=ym(e);return t?.hasAttribute===void 0||(t?.hasAttribute(`data-reka-popper-content-wrapper`)?a.value=t.firstElementChild:a.value=t),t}}):null}}),Eh=P({name:`PrimitiveSlot`,inheritAttrs:!1,setup(e,{attrs:t,slots:n}){return()=>{if(!n.default)return null;let e=Om(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)}}}),Dh=[`area`,`img`,`input`],Oh=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`&&Dh.includes(r)?()=>qs(r,t):r===`template`?()=>qs(Eh,t,{default:n.default}):()=>qs(e.as,t,{default:n.default})}});function kh(){let e=j();return{primitiveElement:e,currentElement:K(()=>[`#text`,`#comment`].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:ym(e))}}var[Ah,jh]=Jp(`DialogRoot`),Mh=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=Dm(n,`open`,t,{defaultValue:n.defaultOpen,passive:n.open===void 0}),i=j(),a=j(),{modal:o}=bn(n);return jh({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})}}),Nh=P({__name:`DialogClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;Y();let n=Ah();return(e,r)=>(R(),B(M(Oh),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`]))}}),Ph=`dismissableLayer.pointerDownOutside`,Fh=`dismissableLayer.focusOutside`;function Ih(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 Lh(e,t,n=!0){let r=t?.value?.ownerDocument??globalThis?.document,i=j(!1),a=j(()=>{});return wr(o=>{if(!nm||!hn(n))return;let s=async n=>{let o=n.target;if(!(!t?.value||!o)){if(Ih(t.value,o)){i.value=!1;return}if(n.target&&!i.value){let t={originalEvent:n};function i(){Xp(Ph,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 Rh(e,t,n=!0){let r=t?.value?.ownerDocument??globalThis?.document,i=j(!1);return wr(a=>{if(!nm||!hn(n))return;let o=async n=>{if(!t?.value)return;await $n(),await $n();let r=n.target;!t.value||!r||Ih(t.value,r)||n.target&&!i.value&&Xp(Fh,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 zh=Xt({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set}),Bh=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(()=>zh.layersRoot),c=K(()=>a.value?Array.from(s.value).indexOf(a.value):-1),l=K(()=>zh.layersWithOutsidePointerEventsDisabled.size>0),u=K(()=>{let e=Array.from(s.value),[t]=[...zh.layersWithOutsidePointerEventsDisabled].slice(-1),n=e.indexOf(t);return c.value>=n}),d=Lh(async e=>{let t=[...zh.branches].some(t=>t?.contains(e.target));!u.value||t||(r(`pointerDownOutside`,e),r(`interactOutside`,e),await $n(),e.defaultPrevented||r(`dismiss`))},a),f=Rh(e=>{[...zh.branches].some(t=>t?.contains(e.target))||(r(`focusOutside`,e),r(`interactOutside`,e),e.defaultPrevented||r(`dismiss`))},a);return wm(`Escape`,e=>{c.value===s.value.size-1&&(r(`escapeKeyDown`,e),e.defaultPrevented||r(`dismiss`))}),wr(e=>{a.value&&(n.disableOutsidePointerEvents&&(zh.layersWithOutsidePointerEventsDisabled.size===0&&(zh.originalBodyPointerEvents=o.value.body.style.pointerEvents,o.value.body.style.pointerEvents=`none`),zh.layersWithOutsidePointerEventsDisabled.add(a.value)),s.value.add(a.value),e(()=>{n.disableOutsidePointerEvents&&zh.layersWithOutsidePointerEventsDisabled.size===1&&!Zp(zh.originalBodyPointerEvents)&&(o.value.body.style.pointerEvents=zh.originalBodyPointerEvents)}))}),wr(e=>{e(()=>{a.value&&(s.value.delete(a.value),zh.layersWithOutsidePointerEventsDisabled.delete(a.value))})}),(e,t)=>(R(),B(M(Oh),{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`]))}}),Vh=tm(()=>j([]));function Hh(){let e=Vh();return{add(t){let n=e.value[0];t!==n&&n?.pause(),e.value=Uh(e.value,t),e.value.unshift(t)},remove(t){e.value=Uh(e.value,t),e.value[0]?.resume()}}}function Uh(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}var Wh=`focusScope.autoFocusOnMount`,Gh=`focusScope.autoFocusOnUnmount`,Kh={bubbles:!1,cancelable:!0};function qh(e,{select:t=!1}={}){let n=Yp();for(let r of e)if($h(r,{select:t}),Yp()!==n)return!0}function Jh(e){let t=Yh(e);return[Xh(t,e),Xh(t.reverse(),e)]}function Yh(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 Xh(e,t){for(let n of e)if(!Zh(n,{upTo:t}))return n}function Zh(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 Qh(e){return e instanceof HTMLInputElement&&`select`in e}function $h(e,{select:t=!1}={}){if(e&&e.focus){let n=Yp();e.focus({preventScroll:!0}),e!==n&&Qh(e)&&t&&e.select()}}var eg=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=Hh(),c=Xt({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});wr(e=>{if(!nm)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:$h(o.value,{select:!0})}function i(e){if(c.paused||!t)return;let n=e.relatedTarget;n!==null&&(t.contains(n)||$h(o.value,{select:!0}))}function s(e){let n=o.value;n!==null&&e.some(e=>e.removedNodes.length>0)&&(t.contains(n)||$h(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=Yp();if(!t.contains(n)){let e=new CustomEvent(Wh,Kh);t.addEventListener(Wh,e=>r(`mountAutoFocus`,e)),t.dispatchEvent(e),e.defaultPrevented||(qh(Yh(t),{select:!0}),Yp()===n&&$h(t))}e(()=>{t.removeEventListener(Wh,e=>r(`mountAutoFocus`,e));let e=new CustomEvent(Gh,Kh),i=e=>{r(`unmountAutoFocus`,e)};t.addEventListener(Gh,i),t.dispatchEvent(e),t.setAttribute(`data-focus-scope-unmounting`,``),setTimeout(()=>{e.defaultPrevented||$h(n??document.body,{select:!0}),t.removeEventListener(Gh,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=Yp();if(t&&r){let t=e.currentTarget,[i,a]=Jh(t);i&&a?!e.shiftKey&&r===a?(e.preventDefault(),n.loop&&$h(i,{select:!0})):e.shiftKey&&r===i&&(e.preventDefault(),n.loop&&$h(a,{select:!0})):r===t&&e.preventDefault()}}return(e,t)=>(R(),B(M(Oh),{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`]))}}),tg=`menu.itemSelect`,ng=[`Enter`,` `],rg=[`ArrowDown`,`PageUp`,`Home`],ig=[`ArrowUp`,`PageDown`,`End`],ag=[...rg,...ig];[...ng],[...ng];function og(e){return e?`open`:`closed`}function sg(e){let t=Yp();for(let n of e)if(n===t||(n.focus(),Yp()!==t))return}function cg(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 lg(e,t){return t?cg({x:e.clientX,y:e.clientY},t):!1}function ug(e){return e.pointerType===`mouse`}var dg=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=Ah(),{forwardRef:a,currentElement:o}=Y();return i.titleId||=gh(void 0,`reka-dialog-title`),i.descriptionId||=gh(void 0,`reka-dialog-description`),Ki(()=>{i.contentElement=o,Yp()!==document.body&&(i.triggerElement.value=Yp())}),(e,t)=>(R(),B(M(eg),{"as-child":``,loop:``,trapped:n.trapFocus,onMountAutoFocus:t[5]||=e=>r(`openAutoFocus`,e),onUnmountAutoFocus:t[6]||=e=>r(`closeAutoFocus`,e)},{default:N(()=>[H(M(Bh),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(og)(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`]))}}),fg=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=Ah(),a=Wm(r),{forwardRef:o,currentElement:s}=Y();return mh(s),(e,t)=>(R(),B(dg,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`]))}}),pg=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=Wm(t);Y();let i=Ah(),a=j(!1),o=j(!1);return(e,t)=>(R(),B(dg,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))}}),mg=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=Ah(),a=Wm(r),{forwardRef:o}=Y();return(e,t)=>(R(),B(M(Th),{present:e.forceMount||M(i).open.value},{default:N(()=>[M(i).modal.value?(R(),B(fg,G({key:0,ref:M(o)},{...n,...M(a),...e.$attrs}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)):(R(),B(pg,G({key:1,ref:M(o)},{...n,...M(a),...e.$attrs}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),hg=P({__name:`DialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let t=e;Y();let n=Ah();return(e,r)=>(R(),B(M(Oh),G(t,{id:M(n).descriptionId}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`]))}}),gg=P({__name:`DialogOverlayImpl`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=Ah();return zm(!0),Y(),(e,n)=>(R(),B(M(Oh),{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`]))}}),_g=P({__name:`DialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=Ah(),{forwardRef:n}=Y();return(e,r)=>M(t)?.modal.value?(R(),B(M(Th),{key:0,present:e.forceMount||M(t).open.value},{default:N(()=>[H(gg,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)}}),vg=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=xm();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)}}),yg=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(vg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),bg=P({__name:`DialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let t=e,n=Ah();return Y(),(e,r)=>(R(),B(M(Oh),G(t,{id:M(n).titleId}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`]))}}),xg=`data-reka-collection-item`;function Sg(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(`[${xg}]`)),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}=kh();return Dr(a,()=>{i.collectionRef.value=a.value}),()=>qs(Eh,{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}=kh();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(Eh,{...n,[xg]:``,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 Cg=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(Oh),{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`]))}}),wg=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}=kh();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(Cg,G({ref_key:`primitiveElement`,ref:n},{...t,...e.$attrs},{as:`input`}),null,16))}}),Tg=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(wg,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(wg,G({key:n.name},{ref_for:!0},{...t,...e.$attrs},{name:n.name,value:n.value}),null,16,[`name`,`value`]))),128))],2112))}});function Eg(e,t,n){return e===void 0?!1:Array.isArray(e)?e.some(e=>Dg(e,t,n)):Dg(e,t,n)}function Dg(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]:Gp(e,t)}var Og=`rovingFocusGroup.onEntryFocus`,kg={bubbles:!1,cancelable:!0},Ag={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function jg(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function Mg(e,t,n){let r=jg(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return Ag[r]}function Ng(e,t=!1){let n=Yp();for(let r of e)if(r===n||(r.focus({preventScroll:t}),Yp()!==n))return}function Pg(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var[Fg,Ig]=Jp(`ListboxRoot`),Lg=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}=Sg({isProvider:!0}),{handleTypeaheadSearch:f}=bh(),{primitiveElement:p,currentElement:m}=kh(),h=_h(),g=Um(u),_=Ym(m),v=j(),y=j(!1),b=j(!0),x=Dm(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=>Dg(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`&&Dg(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=em(),te=em(),ne=em();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=>Dg(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=Mg(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=Kp(n.map(e=>e.value),v.value,r)}}async function pe(e,t=!0){if(nm)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}),Ig({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(Oh),{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(Tg),{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`]))}}),Rg=P({__name:`ListboxContent`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let{CollectionSlot:t}=Sg(),n=Fg(),r=mm(!1,10);return(e,i)=>(R(),B(M(t),null,{default:N(()=>[H(M(Oh),{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}))}}),zg=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=Dm(n,`modelValue`,t,{defaultValue:``,passive:n.modelValue===void 0}),i=Fg(),{primitiveElement:a,currentElement:o}=kh(),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}=Hm(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(Oh),{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`]))}}),Bg=`listbox.select`,[Vg,Hg]=Jp(`ListboxItem`),Ug=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=gh(void 0,`reka-listbox-item`),{CollectionItem:a}=Sg(),{forwardRef:o,currentElement:s}=Y(),c=Fg(),l=K(()=>s.value!=null&&s.value===c.highlightedElement.value),u=K(()=>Eg(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){Xp(Bg,f,{originalEvent:e,value:n.value})}return Hg({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(Oh),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`]))}}),Wg=P({__name:`ListboxItemIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e;Y();let n=Vg();return(e,r)=>M(n).isSelected.value?(R(),B(M(Oh),G({key:0,"aria-hidden":`true`},t),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)):W(`v-if`,!0)}}),[Gg,Kg]=Jp(`PopperRoot`),qg=P({inheritAttrs:!1,__name:`PopperRoot`,setup(e){let t=j();return Kg({anchor:t,onAnchorChange:e=>t.value=e}),(e,t)=>I(e.$slots,`default`)}}),Jg=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=Gg();return Tr(()=>{i.onAnchorChange(t.reference??r.value)}),(e,t)=>(R(),B(M(Oh),{ref:M(n),as:e.as,"as-child":e.asChild},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}});function Yg(e){return e!==null}function Xg(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]=Zg(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 Zg(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var Qg=[`top`,`right`,`bottom`,`left`],$g=Math.min,e_=Math.max,t_=Math.round,n_=Math.floor,r_=e=>({x:e,y:e}),i_={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function a_(e,t,n){return e_(e,$g(t,n))}function o_(e,t){return typeof e==`function`?e(t):e}function s_(e){return e.split(`-`)[0]}function c_(e){return e.split(`-`)[1]}function l_(e){return e===`x`?`y`:`x`}function u_(e){return e===`y`?`height`:`width`}function d_(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function f_(e){return l_(d_(e))}function p_(e,t,n){n===void 0&&(n=!1);let r=c_(e),i=f_(e),a=u_(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=S_(o)),[o,S_(o)]}function m_(e){let t=S_(e);return[h_(e),t,h_(t)]}function h_(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var g_=[`left`,`right`],__=[`right`,`left`],v_=[`top`,`bottom`],y_=[`bottom`,`top`];function b_(e,t,n){switch(e){case`top`:case`bottom`:return n?t?__:g_:t?g_:__;case`left`:case`right`:return t?v_:y_;default:return[]}}function x_(e,t,n,r){let i=c_(e),a=b_(s_(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(h_)))),a}function S_(e){let t=s_(e);return i_[t]+e.slice(t.length)}function C_(e){return{top:0,right:0,bottom:0,left:0,...e}}function w_(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:C_(e)}function T_(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 E_(e,t,n){let{reference:r,floating:i}=e,a=d_(t),o=f_(t),s=u_(o),c=s_(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(c_(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 D_(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}=o_(t,e),p=w_(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=T_(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=T_(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 O_=50,k_=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:D_},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=E_(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<O_&&(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}=E_(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},A_=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}=o_(e,t)||{};if(l==null)return{};let d=w_(u),f={x:n,y:r},p=f_(i),m=u_(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=$g(d[_],T),E=$g(d[v],T),te=ee,ne=C-h[m]-E,re=C/2-h[m]/2+w,D=a_(te,re,ne),ie=!c.arrow&&c_(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}}}),j_=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}=o_(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=s_(r),_=d_(o),v=s_(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[S_(o)]:m_(o)),x=p!==`none`;!d&&x&&b.push(...x_(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=p_(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`&&_!==d_(t))||T.every(e=>d_(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=d_(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 M_(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function N_(e){return Qg.some(t=>e[t]>=0)}var P_=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=o_(e,t);switch(i){case`referenceHidden`:{let e=M_(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:N_(e)}}}case`escaped`:{let e=M_(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:N_(e)}}}default:return{}}}}},F_=new Set([`left`,`top`]);async function I_(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=s_(n),s=c_(n),c=d_(n)===`y`,l=F_.has(o)?-1:1,u=a&&c?-1:1,d=o_(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 L_=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 I_(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}}}}},R_=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}=o_(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=d_(s_(i)),p=l_(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=a_(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=a_(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}}}}}},z_=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}=o_(e,t),u={x:n,y:r},d=d_(i),f=l_(d),p=u[f],m=u[d],h=o_(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=F_.has(s_(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}}}},B_=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}=o_(e,t),u=await o.detectOverflow(t,l),d=s_(i),f=c_(i),p=d_(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=$g(h-u[g],v),x=$g(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=e_(u.left,0),t=e_(u.right,0),n=e_(u.top,0),r=e_(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:e_(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:e_(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 V_(){return typeof window<`u`}function H_(e){return G_(e)?(e.nodeName||``).toLowerCase():`#document`}function U_(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function W_(e){return((G_(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function G_(e){return V_()?e instanceof Node||e instanceof U_(e).Node:!1}function K_(e){return V_()?e instanceof Element||e instanceof U_(e).Element:!1}function q_(e){return V_()?e instanceof HTMLElement||e instanceof U_(e).HTMLElement:!1}function J_(e){return!V_()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof U_(e).ShadowRoot}function Y_(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=ov(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function X_(e){return/^(table|td|th)$/.test(H_(e))}function Z_(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Q_=/transform|translate|scale|rotate|perspective|filter/,$_=/paint|layout|strict|content/,ev=e=>!!e&&e!==`none`,tv;function nv(e){let t=K_(e)?ov(e):e;return ev(t.transform)||ev(t.translate)||ev(t.scale)||ev(t.rotate)||ev(t.perspective)||!iv()&&(ev(t.backdropFilter)||ev(t.filter))||Q_.test(t.willChange||``)||$_.test(t.contain||``)}function rv(e){let t=cv(e);for(;q_(t)&&!av(t);){if(nv(t))return t;if(Z_(t))return null;t=cv(t)}return null}function iv(){return tv??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),tv}function av(e){return/^(html|body|#document)$/.test(H_(e))}function ov(e){return U_(e).getComputedStyle(e)}function sv(e){return K_(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function cv(e){if(H_(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||J_(e)&&e.host||W_(e);return J_(t)?t.host:t}function lv(e){let t=cv(e);return av(t)?e.ownerDocument?e.ownerDocument.body:e.body:q_(t)&&Y_(t)?t:lv(t)}function uv(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=lv(e),i=r===e.ownerDocument?.body,a=U_(r);if(i){let e=dv(a);return t.concat(a,a.visualViewport||[],Y_(r)?r:[],e&&n?uv(e):[])}else return t.concat(r,uv(r,[],n))}function dv(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function fv(e){let t=ov(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=q_(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=t_(n)!==a||t_(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function pv(e){return K_(e)?e:e.contextElement}function mv(e){let t=pv(e);if(!q_(t))return r_(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=fv(t),o=(a?t_(n.width):n.width)/r,s=(a?t_(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var hv=r_(0);function gv(e){let t=U_(e);return!iv()||!t.visualViewport?hv:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function _v(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==U_(e)?!1:t}function vv(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=pv(e),o=r_(1);t&&(r?K_(r)&&(o=mv(r)):o=mv(e));let s=_v(a,n,r)?gv(a):r_(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=U_(a),t=r&&K_(r)?U_(r):r,n=e,i=dv(n);for(;i&&r&&t!==n;){let e=mv(i),t=i.getBoundingClientRect(),r=ov(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=U_(i),i=dv(n)}}return T_({width:u,height:d,x:c,y:l})}function yv(e,t){let n=sv(e).scrollLeft;return t?t.left+n:vv(W_(e)).left+n}function bv(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-yv(e,n),y:n.top+t.scrollTop}}function xv(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=W_(r),s=t?Z_(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=r_(1),u=r_(0),d=q_(r);if((d||!d&&!a)&&((H_(r)!==`body`||Y_(o))&&(c=sv(r)),d)){let e=vv(r);l=mv(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?bv(o,c):r_(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 Sv(e){return Array.from(e.getClientRects())}function Cv(e){let t=W_(e),n=sv(e),r=e.ownerDocument.body,i=e_(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=e_(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+yv(e),s=-n.scrollTop;return ov(r).direction===`rtl`&&(o+=e_(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var wv=25;function Tv(e,t){let n=U_(e),r=W_(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=iv();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=yv(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<=wv&&(a-=o)}else l<=wv&&(a+=l);return{width:a,height:o,x:s,y:c}}function Ev(e,t){let n=vv(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=q_(e)?mv(e):r_(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Dv(e,t,n){let r;if(t===`viewport`)r=Tv(e,n);else if(t===`document`)r=Cv(W_(e));else if(K_(t))r=Ev(t,n);else{let n=gv(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return T_(r)}function Ov(e,t){let n=cv(e);return n===t||!K_(n)||av(n)?!1:ov(n).position===`fixed`||Ov(n,t)}function kv(e,t){let n=t.get(e);if(n)return n;let r=uv(e,[],!1).filter(e=>K_(e)&&H_(e)!==`body`),i=null,a=ov(e).position===`fixed`,o=a?cv(e):e;for(;K_(o)&&!av(o);){let t=ov(o),n=nv(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||Y_(o)&&!n&&Ov(e,o))?r=r.filter(e=>e!==o):i=t,o=cv(o)}return t.set(e,r),r}function Av(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Z_(t)?[]:kv(t,this._c):[].concat(n),r],o=Dv(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=Dv(t,a[e],i);s=e_(n.top,s),c=$g(n.right,c),l=$g(n.bottom,l),u=e_(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function jv(e){let{width:t,height:n}=fv(e);return{width:t,height:n}}function Mv(e,t,n){let r=q_(t),i=W_(t),a=n===`fixed`,o=vv(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=r_(0);function l(){c.x=yv(i)}if(r||!r&&!a)if((H_(t)!==`body`||Y_(i))&&(s=sv(t)),r){let e=vv(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?bv(i,s):r_(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 Nv(e){return ov(e).position===`static`}function Pv(e,t){if(!q_(e)||ov(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return W_(e)===n&&(n=n.ownerDocument.body),n}function Fv(e,t){let n=U_(e);if(Z_(e))return n;if(!q_(e)){let t=cv(e);for(;t&&!av(t);){if(K_(t)&&!Nv(t))return t;t=cv(t)}return n}let r=Pv(e,t);for(;r&&X_(r)&&Nv(r);)r=Pv(r,t);return r&&av(r)&&Nv(r)&&!nv(r)?n:r||rv(e)||n}var Iv=async function(e){let t=this.getOffsetParent||Fv,n=this.getDimensions,r=await n(e.floating);return{reference:Mv(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Lv(e){return ov(e).direction===`rtl`}var Rv={convertOffsetParentRelativeRectToViewportRelativeRect:xv,getDocumentElement:W_,getClippingRect:Av,getOffsetParent:Fv,getElementRects:Iv,getClientRects:Sv,getDimensions:jv,getScale:mv,isElement:K_,isRTL:Lv};function zv(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Bv(e,t){let n=null,r,i=W_(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=n_(d),h=n_(i.clientWidth-(u+f)),g=n_(i.clientHeight-(d+p)),_=n_(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:e_(0,$g(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&&!zv(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 Vv(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=pv(e),u=i||a?[...l?uv(l):[],...t?uv(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Bv(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?vv(e):null;c&&g();function g(){let t=vv(e);h&&!zv(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 Hv=L_,Uv=R_,Wv=j_,Gv=B_,Kv=P_,qv=A_,Jv=z_,Yv=(e,t,n)=>{let r=new Map,i={platform:Rv,...n},a={...i.platform,_c:r};return k_(e,t,{...i,platform:a})};function Xv(e){return typeof e==`object`&&!!e&&`$el`in e}function Zv(e){if(Xv(e)){let t=e.$el;return G_(t)&&H_(t)===`#comment`?null:t}return e}function Qv(e){return typeof e==`function`?e():M(e)}function $v(e){return{name:`arrow`,options:e,fn(t){let n=Zv(Qv(e.element));return n==null?{}:qv({element:n,padding:e.padding}).fn(t)}}}function ey(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function ty(e,t){let n=ey(e);return Math.round(t*n)/n}function ny(e,t,n){n===void 0&&(n={});let r=n.whileElementsMounted,i=K(()=>Qv(n.open)??!0),a=K(()=>Qv(n.middleware)),o=K(()=>Qv(n.placement)??`bottom`),s=K(()=>Qv(n.strategy)??`absolute`),c=K(()=>Qv(n.transform)??!0),l=K(()=>Zv(e.value)),u=K(()=>Zv(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=ty(u.value,d.value),n=ty(u.value,f.value);return c.value?{...e,transform:`translate(`+t+`px, `+n+`px)`,...ey(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;Yv(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 ry={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},[iy,ay]=Jp(`PopperContent`),oy=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}},{...ry}),emits:[`placed`],setup(e,{emit:t}){let n=e,r=t,i=Gg(),{forwardRef:a,currentElement:o}=Y(),s=j(),c=j(),{width:l,height:u}=vh(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(Yg),altBoundary:p.value.length>0})),h=K(()=>({mainAxis:n.sideFlip,crossAxis:n.alignFlip})),g=Qp(()=>[Hv({mainAxis:n.sideOffset+u.value,alignmentAxis:n.alignOffset}),n.prioritizePosition&&n.avoidCollisions&&Wv({...m.value,...h.value}),n.avoidCollisions&&Uv({mainAxis:!0,crossAxis:!!n.prioritizePosition,limiter:n.sticky===`partial`?Jv():void 0,...m.value}),!n.prioritizePosition&&n.avoidCollisions&&Wv({...m.value,...h.value}),Gv({...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&&$v({element:c.value,padding:n.arrowPadding}),Xg({arrowWidth:l.value,arrowHeight:u.value}),n.hideWhenDetached&&Kv({strategy:`referenceHidden`,...m.value})]),{floatingStyles:_,placement:v,isPositioned:y,middlewareData:b,update:x}=ny(K(()=>n.reference??i.anchor.value),s,{strategy:n.positionStrategy,placement:d,whileElementsMounted:(...e)=>Vv(...e,{layoutShift:!n.disableUpdateOnLayoutShift,animationFrame:n.updatePositionStrategy===`always`}),middleware:g}),S=K(()=>Zg(v.value)[0]),C=K(()=>Zg(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)}),ay({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(Oh),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))}}),[sy,cy]=Jp(`ComboboxRoot`),ly=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}=kh(),{multiple:s,disabled:c,ignoreFilter:l,resetSearchTermOnSelect:u,openOnFocus:d,openOnClick:f,dir:p,resetModelValueOnClear:m,highlightOnHover:h}=bn(r),g=Um(p),_=Dm(r,`modelValue`,i,{defaultValue:r.defaultValue??(s.value?[]:void 0),passive:r.modelValue===void 0,deep:!0}),v=Dm(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=em(),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}=Gm({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}),cy({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(qg),null,{default:N(()=>[H(M(Lg),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}))}}),uy=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(Jg),{"as-child":``,reference:e.reference},{default:N(()=>[H(M(Oh),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`]))}}),[dy,fy]=Jp(`ComboboxContent`),py=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=sy(),o=K(()=>a.ignoreFilter.value?a.allItems.value.size===0:a.filterState.value.count===0),{forwardRef:s,currentElement:c}=Y();zm(n.bodyLock),qm(),mh(a.parentElement);let l=Xm(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)`};fy({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=Yp();d.value&&(!e||e===document.body)&&a.triggerElement.value?.focus()}),(e,t)=>(R(),B(M(Rg),{"as-child":``},{default:N(()=>[H(M(eg),{"as-child":``,onMountAutoFocus:t[5]||=Yl(()=>{},[`prevent`]),onUnmountAutoFocus:t[6]||=Yl(()=>{},[`prevent`])},{default:N(()=>[H(M(Bh),{"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(oy):M(Oh)),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}))}}),my=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=Zm(e,t),{forwardRef:r}=Y(),i=sy();return i.contentId||=gh(void 0,`reka-combobox-content`),(e,t)=>(R(),B(M(Th),{present:e.forceMount||M(i).open.value},{default:N(()=>[H(py,G({...M(n),...e.$attrs},{ref:M(r)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)]),_:3},8,[`present`]))}}),hy=P({__name:`ComboboxEmpty`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,n=sy(),r=K(()=>n.ignoreFilter.value?n.allItems.value.size===0:n.filterState.value.count===0);return(e,n)=>r.value?(R(),B(M(Oh),be(G({key:0},t)),{default:N(()=>[I(e.$slots,`default`,{},()=>[n[0]||=U(`No options`)])]),_:3},16)):W(`v-if`,!0)}}),[gy,_y]=Jp(`ComboboxGroup`),vy=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=sy(),a=Fg(),{primitiveElement:o,currentElement:s}=kh(),c=Dm(n,`modelValue`,r,{passive:n.modelValue===void 0});Ki(()=>{s.value&&i.onInputElementChange(s.value)});let{isComposing:l,handleCompositionStart:u,handleCompositionEnd:d}=Hm(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(zg),{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`]))}}),yy=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=gh(void 0,`reka-combobox-item`),a=sy(),o=gy(null),{primitiveElement:s,currentElement:c}=kh();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(Ug),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)}}),by=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(Wg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),xy=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(vg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),Sy=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=sy(),a=K(()=>t.disabled||i.disabled.value||!1);return Ki(()=>{r.value&&i.onTriggerElementChange(r.value)}),(e,r)=>(R(),B(M(Oh),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 Cy(e){let t=Mm({nonce:j()});return K(()=>e?.value||t.nonce?.value)}var wy=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=Cy(r),a=sy();return(e,r)=>(R(),z(L,null,[H(M(Oh),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(Oh),{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))}}),[Ty,Ey]=Jp(`RovingFocusGroup`),Dy=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=Um(s),l=Dm(r,`currentTabStopId`,i,{defaultValue:r.defaultCurrentTabStopId,passive:r.currentTabStopId===void 0}),u=j(!1),d=j(!1),f=j(0),{getItems:p,CollectionSlot:m}=Sg({isProvider:!0});function h(e){let t=!d.value;if(e.currentTarget&&e.target===e.currentTarget&&t&&!u.value){let t=new CustomEvent(Og,kg);if(e.currentTarget.dispatchEvent(t),i(`entryFocus`,t),!t.defaultPrevented){let e=p().map(e=>e.ref).filter(e=>e.dataset.disabled!==``);Ng([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}),Ey({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(Oh),{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}))}}),Oy=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=Ty(),r=gh(),i=K(()=>t.tabStopId||r),a=K(()=>n.currentTabStopId.value===i.value),{getItems:o,CollectionItem:s}=Sg();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=Mg(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?Pg(i,t+1):i.slice(t+1)}$n(()=>Ng(i))}}return(e,t)=>(R(),B(M(s),null,{default:N(()=>[H(M(Oh),{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}))}}),ky=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(Jg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}});function Ay(){let e=j(!1);return Ki(()=>{bm(`keydown`,()=>{e.value=!0},{capture:!0,passive:!0}),bm([`pointerdown`,`pointermove`],()=>{e.value=!1},{capture:!0,passive:!0})}),e}var jy=um(Ay),[My,Ny]=Jp([`MenuRoot`,`MenuSub`],`MenuContext`),[Py,Fy]=Jp(`MenuRoot`),Iy=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=Um(a),s=Dm(n,`open`,r),c=j(),l=jy();return Ny({open:s,onOpenChange:e=>{s.value=e},content:c,onContentChange:e=>{c.value=e}}),Fy({onClose:()=>{s.value=!1},isUsingKeyboardRef:l,dir:o,modal:i}),(e,t)=>(R(),B(M(qg),null,{default:N(()=>[I(e.$slots,`default`)]),_:3}))}}),[Ly,Ry]=Jp(`MenuContent`),zy=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}},{...ry}),emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`entryFocus`,`openAutoFocus`,`closeAutoFocus`,`dismiss`],setup(e,{emit:t}){let n=e,r=t,i=My(),a=Py(),{trapFocus:o,disableOutsidePointerEvents:s,loop:c}=bn(n);qm(),zm(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}=bh(),b=j();function x(e){let t=Am(e,b.value||Yp(),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&&lg(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=Am(e,Yp(),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||!ag.includes(e.key))return;e.preventDefault();let u=[...l.map(e=>e.ref)];ig.includes(e.key)&&u.reverse(),sg(u)}function te(e){e?.currentTarget?.contains?.(e.target)||(window.clearTimeout(u.value),l.value=``)}function ne(e){if(!ug(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){ug(e)&&C.value&&C.value.focus()}return Ry({onItemEnter:e=>!!T(e),onItemLeave:e=>T(e)?!0:([`INPUT`,`TEXTAREA`].includes(Yp()?.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(eg),{"as-child":``,trapped:M(o),onMountAutoFocus:ee,onUnmountAutoFocus:t[7]||=e=>r(`closeAutoFocus`,e)},{default:N(()=>[H(M(Bh),{"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(Dy),{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(oy),{ref:M(_),role:`menu`,as:e.as,"as-child":e.asChild,"aria-orientation":`vertical`,"data-reka-menu-content":``,"data-state":M(og)(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`]))}}),By=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=Ly(),{forwardRef:r,currentElement:i}=Y(),{CollectionItem:a}=Sg(),o=j(!1),s=K(()=>o.value||i.value!=null&&n.highlightedElement.value===i.value);async function c(e){if(!(e.defaultPrevented||!ug(e))){if(t.disabled)n.onItemLeave(e);else if(!n.onItemEnter(e)){let t=e.currentTarget;n.highlightedElement.value=t,[`INPUT`,`TEXTAREA`].includes(Yp()?.tagName||``)||t.focus({preventScroll:!0})}}}async function l(e){await $n(),!e.defaultPrevented&&ug(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(Oh),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`]))}}),Vy=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=Py(),s=Ly(),c=j(!1);async function l(){let e=a.value;if(!n.disabled&&e){let e=new CustomEvent(tg,{bubbles:!0,cancelable:!0});r(`select`,e),await $n(),e.defaultPrevented?c.value=!1:o.onClose()}}return(e,t)=>(R(),B(By,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(ng).includes(t.key)&&(t.currentTarget?.click(),t.preventDefault())}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),Hy=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=Zm(n,r),a=My(),{forwardRef:o,currentElement:s}=Y();return mh(s),(e,t)=>(R(),B(zy,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`]))}}),Uy=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=Zm(e,t),r=My();return(e,t)=>(R(),B(zy,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))}}),Wy=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=Zm(e,t),r=My(),i=Py();return(e,t)=>(R(),B(M(Th),{present:e.forceMount||M(r).open.value},{default:N(()=>[M(i).modal.value?(R(),B(Hy,be(G({key:0},{...e.$attrs,...M(n)})),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)):(R(),B(Uy,be(G({key:1},{...e.$attrs,...M(n)})),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),[Gy,Ky]=Jp(`MenuGroup`),qy=P({__name:`MenuLabel`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`div`}},setup(e){let t=e,n=Gy({id:``});return(e,r)=>(R(),B(M(Oh),G(t,{id:M(n).id||void 0}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`]))}}),Jy=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(vg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),Yy=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(Oh),G(t,{role:`separator`,"aria-orientation":`horizontal`}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),[Xy,Zy]=Jp(`PopoverRoot`),Qy=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=Dm(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0});return Zy({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(qg),null,{default:N(()=>[I(e.$slots,`default`,{open:M(a),close:()=>a.value=!1})]),_:3}))}}),$y=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=Xm(pm(n,`trapFocus`,`disableOutsidePointerEvents`)),{forwardRef:a}=Y(),o=Xy();return qm(),(e,t)=>(R(),B(M(eg),{"as-child":``,loop:``,trapped:e.trapFocus,onMountAutoFocus:t[5]||=e=>r(`openAutoFocus`,e),onUnmountAutoFocus:t[6]||=e=>r(`closeAutoFocus`,e)},{default:N(()=>[H(M(Bh),{"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(oy),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`]))}}),eb=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=Xy(),a=j(!1);zm(!0);let o=Zm(n,r),{forwardRef:s,currentElement:c}=Y();return mh(c),(e,t)=>(R(),B($y,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`]))}}),tb=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=Xy(),a=j(!1),o=j(!1),s=Zm(n,r);return(e,t)=>(R(),B($y,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))}}),nb=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=Xy(),a=Zm(n,r),{forwardRef:o}=Y();return i.contentId||=gh(void 0,`reka-popover-content`),(e,t)=>(R(),B(M(Th),{present:e.forceMount||M(i).open.value},{default:N(()=>[M(i).modal.value?(R(),B(eb,G({key:0},M(a),{ref:M(o)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)):(R(),B(tb,G({key:1},M(a),{ref:M(o)}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),rb=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(vg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),ib=P({__name:`PopoverTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Xy(),{forwardRef:r,currentElement:i}=Y();return n.triggerId||=gh(void 0,`reka-popover-trigger`),Ki(()=>{n.triggerElement.value=i.value}),(e,i)=>(R(),B(aa(M(n).hasCustomAnchor.value?M(Oh):M(Jg)),{"as-child":``},{default:N(()=>[H(M(Oh),{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}))}}),[ab,ob]=Jp(`DropdownMenuRoot`),sb=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=Dm(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0}),a=j(),{modal:o,dir:s}=bn(n),c=Um(s);return ob({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(Iy),{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`]))}}),cb=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=Zm(e,t);Y();let r=ab(),i=j(!1);function a(e){e.defaultPrevented||(i.value||setTimeout(()=>{r.triggerElement.value?.focus()},0),i.value=!1,e.preventDefault())}return r.contentId||=gh(void 0,`reka-dropdown-menu-content`),(e,t)=>(R(),B(M(Wy),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`]))}}),lb=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=Wm(t);return Y(),(e,t)=>(R(),B(M(Vy),be(gs({...n,...M(r)})),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),ub=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(qy),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),db=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(Jy),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),fb=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(Yy),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),pb=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=ab(),{forwardRef:r,currentElement:i}=Y();return Ki(()=>{n.triggerElement=i}),n.triggerId||=gh(void 0,`reka-dropdown-menu-trigger`),(e,i)=>(R(),B(M(ky),{"as-child":``},{default:N(()=>[H(M(Oh),{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}))}}),mb=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(Oh),G(t,{onMousedown:n[0]||=e=>{!e.defaultPrevented&&e.detail>1&&e.preventDefault()}}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),hb=[` `,`Enter`,`ArrowUp`,`ArrowDown`],gb=[` `,`Enter`];function _b(e,t,n){return e===void 0?!1:Array.isArray(e)?e.some(e=>vb(e,t,n)):vb(e,t,n)}function vb(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]:Gp(e,t)}function yb(e){return e==null||e===``||Array.isArray(e)&&e.length===0}var bb={key:0,value:``},[xb,Sb]=Jp(`SelectRoot`),Cb=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=Dm(n,`modelValue`,r,{defaultValue:n.defaultValue??(o.value?[]:void 0),passive:n.modelValue===void 0,deep:!0}),l=Dm(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:Zp(c.value));Sg({isProvider:!0});let m=Um(s),h=Ym(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=>vb(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=>_b(e,t.value,n.by))}return Sb({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(qg),null,{default:N(()=>[I(e.$slots,`default`,{modelValue:M(c),open:M(l)}),M(h)&&e.name?(R(),B(wb,{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(Zp)(M(c))?(R(),z(`option`,bb)):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}))}}),wb=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=xb();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(Cg),{"as-child":``},{default:N(()=>[V(`select`,G({ref_key:`selectElement`,ref:n},t,{onInput:i}),[I(e.$slots,`default`)],16)]),_:3}))}}),Tb=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=Xm(e);return(e,n)=>(R(),B(M(oy),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))}}),Eb={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[Db,Ob]=Jp(`SelectContent`),kb=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=xb();qm(),zm(n.bodyLock);let{CollectionSlot:a,getItems:o}=Sg(),s=j();mh(s);let{search:c,handleTypeaheadSearch:l}=bh(),u=j(),d=j(),f=j(),p=j(!1),m=j(!1),h=j(!1);function g(){d.value&&s.value&&sg([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(()=>sg(t)),e.preventDefault()}}let b=Xm(K(()=>n.position===`popper`?n:{}).value);return Ob({content:s,viewport:u,onViewportChange:e=>{u.value=e},itemRefCallback:(e,t,n)=>{let r=!m.value&&!n,a=_b(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;(_b(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(eg),{"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(Bh),{"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`?Tb:Mb),G({...e.$attrs,...M(b)},{id:M(i).contentId,ref:e=>{if(!e)return;let t=M(ym)(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}))}}),[Ab,jb]=Jp(`SelectItemAlignedPosition`),Mb=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}=Sg(),a=xb(),o=Db(),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=qp(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=qp(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 Em(a.triggerElement,()=>{g()}),jb({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(Oh),G({ref:M(u),style:{boxSizing:`border-box`,maxHeight:`100%`}},{...e.$attrs,...n}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)],4))}}),Nb=P({inheritAttrs:!1,__name:`SelectProvider`,props:{context:{type:Object,required:!0}},setup(e){return Sb(e.context),Ob(Eb),(e,t)=>I(e.$slots,`default`)}}),Pb={key:1},Fb=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=Zm(n,t),i=xb(),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(Th),{key:0,ref_key:`presenceRef`,ref:o,present:s.value},{default:N(()=>[H(kb,be(gs({...M(r),...e.$attrs})),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)]),_:3},8,[`present`])):a.value?(R(),z(`div`,Pb,[(R(),B(Hr,{to:a.value},[H(Nb,{context:M(i)},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`context`])],8,[`to`]))])):W(`v-if`,!0)}}),Ib=P({__name:`SelectIcon`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,t)=>(R(),B(M(Oh),{"aria-hidden":`true`,as:e.as,"as-child":e.asChild},{default:N(()=>[I(e.$slots,`default`,{},()=>[t[0]||=U(`▼`)])]),_:3},8,[`as`,`as-child`]))}}),[Lb,Rb]=Jp(`SelectItem`),zb=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=xb(),o=Db(),{forwardRef:s,currentElement:c}=Y(),{CollectionItem:l}=Sg(),u=K(()=>_b(a.modelValue?.value,n.value,a.by)),d=j(!1),f=j(n.textValue??``),p=gh(void 0,`reka-select-item-text`);async function m(e){e.defaultPrevented||Xp(`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===Yp()&&o.onItemLeave?.()}async function v(e){await $n(),!e.defaultPrevented&&(o.searchRef?.value!==``&&e.key===` `||(gb.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)}),Rb({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(Oh),{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`]))}}),Bb=P({__name:`SelectItemIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=Lb();return(e,r)=>M(n).isSelected.value?(R(),B(M(Oh),G({key:0,"aria-hidden":`true`},t),{default:N(()=>[I(e.$slots,`default`)]),_:3},16)):W(`v-if`,!0)}}),Vb=P({inheritAttrs:!1,__name:`SelectItemText`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=xb(),r=Db(),i=Lb(),{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(Oh),G({id:M(i).textId,ref:M(a)},{...t,...e.$attrs}),{default:N(()=>[I(e.$slots,`default`)]),_:3},16,[`id`]))}}),Hb=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(vg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),Ub=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=xb(),{forwardRef:r,currentElement:i}=Y(),a=K(()=>n.disabled?.value||t.disabled);n.contentId||=gh(void 0,`reka-select-content`),Ki(()=>{n.onTriggerChange(i.value)});let{getItems:o}=Sg(),{search:s,handleTypeaheadSearch:c,resetTypeahead:l}=bh();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(Jg),{"as-child":``,reference:e.reference},{default:N(()=>[H(M(Oh),{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(yb)(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(hb).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`]))}}),Wb=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=xb();Ki(()=>{i.valueElement=r});let a=K(()=>{let e=[],t=Array.from(i.optionsSet.value),n=e=>t.find(t=>_b(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(Oh),{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`]))}}),Gb=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=Cy(n),i=Db(),a=i.position===`item-aligned`?Ab():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(Oh),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(Oh),{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))}}),[Kb,qb]=Jp(`SwitchRoot`),Jb=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=Dm(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=Ym(l),d=K(()=>n.id&&l.value?document.querySelector(`[for="${n.id}"]`)?.innerText:void 0);return qb({checked:o,toggleCheck:s,disabled:i}),(e,t)=>(R(),B(M(Oh),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(Tg),{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`]))}}),Yb=P({__name:`SwitchThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=Kb();return Y(),(e,n)=>(R(),B(M(Oh),{"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`]))}}),[Xb,Zb]=Jp(`TabsRoot`),Qb=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=Um(o);Y();let c=Dm(n,`modelValue`,r,{defaultValue:n.defaultValue,passive:n.modelValue===void 0}),l=j(),u=dn(new Set);return Zb({modelValue:c,changeModelValue:e=>{c.value=e},orientation:i,dir:s,unmountOnHide:a,activationMode:n.activationMode,baseId:gh(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(Oh),{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 $b(e,t){return`${e}-trigger-${t}`}function ex(e,t){return`${e}-content-${t}`}var tx=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=Xb();return i.tabsList=r,(e,r)=>(R(),B(M(Dy),{"as-child":``,orientation:M(i).orientation.value,dir:M(i).dir.value,loop:M(t)},{default:N(()=>[H(M(Oh),{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`]))}}),nx=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=Xb(),i=K(()=>$b(r.baseId,t.value)),a=K(()=>r.contentIds.value.has(t.value)?ex(r.baseId,t.value):void 0),o=K(()=>t.value===r.modelValue.value);return(e,t)=>(R(),B(M(Oy),{"as-child":``,focusable:!e.disabled,active:o.value},{default:N(()=>[H(M(Oh),{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`]))}}),[rx,ix]=Jp(`TooltipProvider`),ax=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}=gm(()=>{c.value=!0},n,{immediate:!1});return ix({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`)}}),ox=`tooltip.open`,[sx,cx]=Jp(`TooltipRoot`),lx=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=rx(),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=Dm(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0});Dr(u,e=>{i.onClose&&(e?(i.onOpen(),document.dispatchEvent(new CustomEvent(ox))):i.onClose())});let d=j(!1),f=j(),p=K(()=>u.value?d.value?`delayed-open`:`instant-open`:`closed`),{start:m,stop:h}=gm(()=>{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 cx({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(qg),null,{default:N(()=>[I(e.$slots,`default`,{open:M(u)})]),_:3}))}}),ux=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=sx(),a=rx(),{forwardRef:o,currentElement:s}=Y(),c=K(()=>n.ariaLabel||s.value?.textContent),l=K(()=>{let{ariaLabel:e,...t}=n;return Lm(t,a.content.value??{},{side:`top`,sideOffset:0,align:`center`,avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:`partial`,hideWhenDetached:!1})});return Ki(()=>{bm(window,`scroll`,e=>{e.target?.contains(i.trigger.value)&&i.onClose()},{capture:!0}),bm(window,ox,i.onClose)}),(e,t)=>(R(),B(M(Bh),{"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(oy),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(Cg),{id:M(i).contentId,role:`tooltip`},{default:N(()=>[U(A(c.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),dx=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=Xm(e),{forwardRef:n,currentElement:r}=Y(),{trigger:i,onClose:a}=sx(),o=rx(),{isPointerInTransit:s,onPointerExit:c}=Qm(i,r);return o.isPointerInTransitRef=s,c(()=>{a()}),(e,r)=>(R(),B(ux,G({ref:M(n)},M(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),fx=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=sx(),a=Zm(n,r),{forwardRef:o}=Y();return(e,t)=>(R(),B(M(Th),{present:e.forceMount||M(i).open.value},{default:N(()=>[(R(),B(aa(M(i).disableHoverableContent.value?ux:dx),G({ref:M(o)},M(a)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),px=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(vg),be(gs(t)),{default:N(()=>[I(e.$slots,`default`)]),_:3},16))}}),mx=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=sx(),r=rx();n.contentId||=gh(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(Jg),{"as-child":``,reference:e.reference},{default:N(()=>[H(M(Oh),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`]))}}),hx=(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},gx=(e,t)=>({classGroupId:e,validator:t}),_x=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),vx=`-`,yx=[],bx=`arbitrary..`,xx=e=>{let t=wx(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return Cx(e);let n=e.split(vx);return Sx(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?hx(i,t):t:i||yx}return n[e]||yx}}},Sx=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=Sx(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(vx):e.slice(t).join(vx),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},Cx=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?bx+r:void 0})(),wx=e=>{let{theme:t,classGroups:n}=e;return Tx(n,t)},Tx=(e,t)=>{let n=_x();for(let r in e){let i=e[r];Ex(i,n,r,t)}return n},Ex=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];Dx(i,t,n,r)}},Dx=(e,t,n,r)=>{if(typeof e==`string`){Ox(e,t,n);return}if(typeof e==`function`){kx(e,t,n,r);return}Ax(e,t,n,r)},Ox=(e,t,n)=>{let r=e===``?t:jx(t,e);r.classGroupId=n},kx=(e,t,n,r)=>{if(Mx(e)){Ex(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(gx(n,e))},Ax=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];Ex(o,jx(t,a),n,r)}},jx=(e,t)=>{let n=e,r=t.split(vx),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=_x(),n.nextPart.set(t,i)),n=i}return n},Mx=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,Nx=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)}}},Px=`!`,Fx=`:`,Ix=[],Lx=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),Rx=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===Fx){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(Px)?(c=s.slice(0,-1),l=!0):s.startsWith(Px)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return Lx(t,l,c,u)};if(t){let e=t+Fx,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):Lx(Ix,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},zx=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}},Bx=e=>({cache:Nx(e.cacheSize),parseClassName:Rx(e),sortModifiers:zx(e),postfixLookupClassGroupIds:Vx(e),...xx(e)}),Vx=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},Hx=/\s+/,Ux=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(Hx),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?_+Px:_,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},Wx=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=Gx(n))&&(i&&(i+=` `),i+=r);return i},Gx=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=Gx(e[r]))&&(n&&(n+=` `),n+=t);return n},Kx=(e,...t)=>{let n,r,i,a,o=o=>(n=Bx(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=Ux(e,n);return i(e,a),a};return a=o,(...e)=>a(Wx(...e))},qx=[],Jx=e=>{let t=t=>t[e]||qx;return t.isThemeGetter=!0,t},Yx=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Xx=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Zx=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Qx=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,$x=/\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$/,eS=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,tS=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,nS=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,rS=e=>Zx.test(e),iS=e=>!!e&&!Number.isNaN(Number(e)),aS=e=>!!e&&Number.isInteger(Number(e)),oS=e=>e.endsWith(`%`)&&iS(e.slice(0,-1)),sS=e=>Qx.test(e),cS=()=>!0,lS=e=>$x.test(e)&&!eS.test(e),uS=()=>!1,dS=e=>tS.test(e),fS=e=>nS.test(e),pS=e=>!X(e)&&!Z(e),mS=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)),hS=e=>AS(e,PS,uS),X=e=>Yx.test(e),gS=e=>AS(e,FS,lS),_S=e=>AS(e,IS,iS),vS=e=>AS(e,RS,cS),yS=e=>AS(e,LS,uS),bS=e=>AS(e,MS,uS),xS=e=>AS(e,NS,fS),SS=e=>AS(e,zS,dS),Z=e=>Xx.test(e),CS=e=>jS(e,FS),wS=e=>jS(e,LS),TS=e=>jS(e,MS),ES=e=>jS(e,PS),DS=e=>jS(e,NS),OS=e=>jS(e,zS,!0),kS=e=>jS(e,RS,!0),AS=(e,t,n)=>{let r=Yx.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},jS=(e,t,n=!1)=>{let r=Xx.exec(e);return r?r[1]?t(r[1]):n:!1},MS=e=>e===`position`||e===`percentage`,NS=e=>e===`image`||e===`url`,PS=e=>e===`length`||e===`size`||e===`bg-size`,FS=e=>e===`length`,IS=e=>e===`number`,LS=e=>e===`family-name`,RS=e=>e===`number`||e===`weight`,zS=e=>e===`shadow`,BS=Kx(()=>{let e=Jx(`color`),t=Jx(`font`),n=Jx(`text`),r=Jx(`font-weight`),i=Jx(`tracking`),a=Jx(`leading`),o=Jx(`breakpoint`),s=Jx(`container`),c=Jx(`spacing`),l=Jx(`radius`),u=Jx(`shadow`),d=Jx(`inset-shadow`),f=Jx(`text-shadow`),p=Jx(`drop-shadow`),m=Jx(`blur`),h=Jx(`perspective`),g=Jx(`aspect`),_=Jx(`ease`),v=Jx(`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=()=>[rS,`full`,`auto`,...w()],ee=()=>[aS,`none`,`subgrid`,Z,X],E=()=>[`auto`,{span:[`full`,aS,Z,X]},aS,Z,X],te=()=>[aS,`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=()=>[rS,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],oe=()=>[rS,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],se=()=>[rS,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],O=()=>[e,Z,X],ce=()=>[...b(),TS,bS,{position:[Z,X]}],le=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ue=()=>[`auto`,`cover`,`contain`,ES,hS,{size:[Z,X]}],de=()=>[oS,CS,gS],fe=()=>[``,`none`,`full`,l,Z,X],pe=()=>[``,iS,CS,gS],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=()=>[iS,oS,TS,bS],_e=()=>[``,`none`,m,Z,X],ve=()=>[`none`,iS,Z,X],ye=()=>[`none`,iS,Z,X],k=()=>[iS,Z,X],be=()=>[rS,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[sS],breakpoint:[sS],color:[cS],container:[sS],"drop-shadow":[sS],ease:[`in`,`out`,`in-out`],font:[pS],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[sS],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[sS],shadow:[sS],spacing:[`px`,iS],text:[sS],"text-shadow":[sS],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,rS,X,Z,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,Z,X]}],"container-named":[mS],columns:[{columns:[iS,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:[aS,`auto`,Z,X]}],basis:[{basis:[rS,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[iS,rS,`auto`,`initial`,`none`,X]}],grow:[{grow:[``,iS,Z,X]}],shrink:[{shrink:[``,iS,Z,X]}],order:[{order:[aS,`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,CS,gS]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,kS,vS]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,oS,X]}],"font-family":[{font:[wS,yS,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":[iS,`none`,Z,_S]}],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:[iS,`from-font`,`auto`,Z,gS]}],"text-decoration-color":[{decoration:O()}],"underline-offset":[{"underline-offset":[iS,`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:[aS,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`]},aS,Z,X],radial:[``,Z,X],conic:[aS,Z,X]},DS,xS]}],"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":[iS,Z,X]}],"outline-w":[{outline:[``,iS,CS,gS]}],"outline-color":[{outline:O()}],shadow:[{shadow:[``,`none`,u,OS,SS]}],"shadow-color":[{shadow:O()}],"inset-shadow":[{"inset-shadow":[`none`,d,OS,SS]}],"inset-shadow-color":[{"inset-shadow":O()}],"ring-w":[{ring:pe()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:O()}],"ring-offset-w":[{"ring-offset":[iS,gS]}],"ring-offset-color":[{"ring-offset":O()}],"inset-ring-w":[{"inset-ring":pe()}],"inset-ring-color":[{"inset-ring":O()}],"text-shadow":[{"text-shadow":[`none`,f,OS,SS]}],"text-shadow-color":[{"text-shadow":O()}],opacity:[{opacity:[iS,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":[iS]}],"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":[iS]}],"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:[iS,Z,X]}],contrast:[{contrast:[iS,Z,X]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,OS,SS]}],"drop-shadow-color":[{"drop-shadow":O()}],grayscale:[{grayscale:[``,iS,Z,X]}],"hue-rotate":[{"hue-rotate":[iS,Z,X]}],invert:[{invert:[``,iS,Z,X]}],saturate:[{saturate:[iS,Z,X]}],sepia:[{sepia:[``,iS,Z,X]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,Z,X]}],"backdrop-blur":[{"backdrop-blur":_e()}],"backdrop-brightness":[{"backdrop-brightness":[iS,Z,X]}],"backdrop-contrast":[{"backdrop-contrast":[iS,Z,X]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,iS,Z,X]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[iS,Z,X]}],"backdrop-invert":[{"backdrop-invert":[``,iS,Z,X]}],"backdrop-opacity":[{"backdrop-opacity":[iS,Z,X]}],"backdrop-saturate":[{"backdrop-saturate":[iS,Z,X]}],"backdrop-sepia":[{"backdrop-sepia":[``,iS,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:[iS,`initial`,Z,X]}],ease:[{ease:[`linear`,`initial`,_,Z,X]}],delay:[{delay:[iS,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:[aS,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:[iS,CS,gS,_S]}],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 VS(...e){return BS(zp(e))}async function HS(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(Oh),{as:e.as,"as-child":e.asChild,class:k(M(VS)(M(US)({variant:e.variant,size:e.size}),t.class))},{default:N(()=>[I(n.$slots,`default`)]),_:3},8,[`as`,`as-child`,`class`]))}}),US=Hp(`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`}}),WS=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(VS)(`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]])}}),GS=P({__name:`SelectTrigger`,props:{disabled:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=Xm(t);return(e,r)=>(R(),B(M(Ub),G(M(n),{class:M(VS)(`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(Ib),{"as-child":``},{default:N(()=>[H(M(ku),{class:`size-4 opacity-50`})]),_:1})]),_:3},16,[`class`]))}}),KS=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=Zm(n,t);return(t,i)=>(R(),B(M(Hb),null,{default:N(()=>[H(M(Fb),G(M(r),{class:M(VS)(`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(Gb),{class:k(M(VS)(`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}))}}),qS={class:`absolute left-2 flex size-3.5 items-center justify-center`},JS=P({__name:`SelectItem`,props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=Xm(t);return(e,r)=>(R(),B(M(zb),G(M(n),{class:M(VS)(`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`,qS,[H(M(Bb),null,{default:N(()=>[H(M(Ou),{class:`size-4`})]),_:1})]),H(M(Vb),null,{default:N(()=>[I(e.$slots,`default`)]),_:3})]),_:3},16,[`class`]))}}),YS=P({__name:`TabsList`,props:{loop:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e;return(e,n)=>(R(),B(M(tx),G(t,{class:M(VS)(`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`]))}}),XS=P({__name:`TabsTrigger`,props:{value:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=Xm(t);return(e,r)=>(R(),B(M(nx),G(M(n),{class:M(VS)(`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`]))}}),ZS=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=Zm(n,t);return(e,t)=>(R(),B(M(rb),null,{default:N(()=>[H(M(nb),G(M(r),{class:M(VS)(`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}))}}),QS=P({__name:`Badge`,props:{variant:{},class:{}},setup(e){return(t,n)=>(R(),z(`span`,{class:k(M(VS)(M($S)({variant:e.variant}),t.$props.class))},[I(t.$slots,`default`)],2))}}),$S=Hp(`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`}}),eC=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=Zm(n,t);return(e,t)=>(R(),B(M(Jb),G(M(r),{class:M(VS)(`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(Yb),{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`]))}}),tC={class:`flex flex-col gap-3`},nC=[`aria-checked`,`onClick`],rC=[`aria-checked`],iC=[`aria-checked`,`disabled`],aC={key:0,class:`ml-[30px] text-[11px] text-muted-foreground`},oC=[`aria-checked`],sC={class:`border-t pt-2`},cC=[`aria-checked`,`onClick`],lC={class:`border-t pt-2`},uC=[`aria-checked`],dC={class:`border-t pt-2`},fC=[`aria-checked`,`disabled`,`onClick`],pC={class:`truncate`},mC=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`,tC,[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(mp),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(_p)[t]),1)],8,nC))),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,rC),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,iC),e.scanIndexed?W(``,!0):(R(),z(`p`,aC,`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,oC)]),V(`div`,sC,[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(hp),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(vp)[t]),1)],8,cC))),128))]),V(`div`,lC,[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,uC)]),V(`div`,dC,[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(fp),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`,pC,A(M(gp)[t]),1)],8,fC),H(M(eC),{"model-value":i.value.has(t),"aria-label":`Enable ${M(gp)[t]} check`,"onUpdate:modelValue":e=>c(t,e)},null,8,[`model-value`,`aria-label`,`onUpdate:modelValue`])]))),128))])]))}}),hC={class:`pointer-events-none fixed bottom-4 right-4 z-[200] flex w-80 flex-col gap-2`},gC=[`onClick`],_C=P({__name:`Toaster`,setup(e){let t=wC();return(e,n)=>(R(),B(Hr,{to:`body`},[V(`div`,hC,[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(VS)(`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(CC)(e.id)},A(e.message),11,gC))),128))]),_:1})])]))}}),vC=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},yC=vC(_C,[[`__scopeId`,`data-v-e9967100`]]),bC=Xt({toasts:[]}),xC=0;function SC(e,t,n=4e3){let r=xC++;bC.toasts.push({id:r,message:e,variant:t}),window.setTimeout(()=>CC(r),n)}function CC(e){let t=bC.toasts.findIndex(t=>t.id===e);t!==-1&&bC.toasts.splice(t,1)}var $=Object.assign(e=>SC(e,`default`),{success:e=>SC(e,`success`),error:e=>SC(e,`error`),info:e=>SC(e,`default`)});function wC(){return bC}var TC=P({__name:`Label`,props:{for:{},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e;return(e,n)=>(R(),B(M(mb),{for:t.for,class:k(M(VS)(`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`]))}}),EC=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=Zm(n,t);return(e,t)=>(R(),B(M(yg),null,{default:N(()=>[H(M(_g),{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(mg),G(M(r),{class:M(VS)(`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(Nh),{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}))}}),DC=P({__name:`DialogHeader`,props:{class:{}},setup(e){return(e,t)=>(R(),z(`div`,{class:k(M(VS)(`flex flex-col gap-1.5 text-center sm:text-left`,e.$props.class))},[I(e.$slots,`default`)],2))}}),OC=P({__name:`DialogFooter`,props:{class:{}},setup(e){return(e,t)=>(R(),z(`div`,{class:k(M(VS)(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e.$props.class))},[I(e.$slots,`default`)],2))}}),kC=P({__name:`DialogTitle`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e;return(e,n)=>(R(),B(M(bg),{class:k(M(VS)(`text-lg font-semibold leading-none tracking-tight`,t.class))},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`class`]))}}),AC=P({__name:`DialogDescription`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e;return(e,n)=>(R(),B(M(hg),{class:k(M(VS)(`text-sm text-muted-foreground`,t.class))},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`class`]))}}),jC=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=Zm(n,t);return(e,t)=>(R(),B(M(db),null,{default:N(()=>[H(M(cb),G(M(r),{class:M(VS)(`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}))}}),MC=P({__name:`DropdownMenuItem`,props:{disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=Xm(t);return(e,r)=>(R(),B(M(lb),G(M(n),{class:M(VS)(`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`]))}}),NC=P({__name:`DropdownMenuLabel`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e;return(e,n)=>(R(),B(M(ub),{class:k(M(VS)(`px-2 py-1.5 text-sm font-semibold`,t.class))},{default:N(()=>[I(e.$slots,`default`)]),_:3},8,[`class`]))}}),PC=P({__name:`DropdownMenuSeparator`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e;return(e,n)=>(R(),B(M(fb),{class:k(M(VS)(`-mx-1 my-1 h-px bg-border`,t.class))},null,8,[`class`]))}}),FC={class:`flex flex-wrap items-center gap-2`},IC={class:`grid gap-2`},LC={class:`flex flex-wrap gap-2`},RC=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`,FC,[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(sb),null,{default:N(()=>[H(M(pb),{"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(jC),{align:`end`,class:`w-52`},{default:N(()=>[H(M(NC),null,{default:N(()=>[U(`Status · `+A(e.scopeLabel),1)]),_:1}),H(M(MC),{"data-testid":`bulk-mark-reviewed`,onSelect:n[3]||=e=>p(`reviewed`)},{default:N(()=>[...n[23]||=[U(`Mark reviewed`,-1)]]),_:1}),H(M(MC),{"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(PC)),H(M(NC),null,{default:N(()=>[...n[25]||=[U(`Tags · key`,-1)]]),_:1}),H(M(MC),{onSelect:n[5]||=e=>s.value=!0},{default:N(()=>[...n[26]||=[U(`Add tag…`,-1)]]),_:1}),H(M(MC),{disabled:!e.tagsOnSelection.length,onSelect:n[6]||=e=>c.value=!0},{default:N(()=>[...n[27]||=[U(`Remove tag…`,-1)]]),_:1},8,[`disabled`]),H(M(PC)),H(M(NC),null,{default:N(()=>[...n[28]||=[U(`Context · key`,-1)]]),_:1}),H(M(MC),{onSelect:h},{default:N(()=>[...n[29]||=[U(`Clear context`,-1)]]),_:1}),H(M(PC)),H(M(NC),null,{default:N(()=>[...n[30]||=[U(`Translation · key`,-1)]]),_:1}),H(M(MC),{onSelect:n[7]||=e=>m(!0)},{default:N(()=>[...n[31]||=[U(`Skip translate`,-1)]]),_:1}),H(M(MC),{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(Mh),{open:a.value,"onUpdate:open":n[11]||=e=>a.value=e},{default:N(()=>[H(M(EC),{class:`max-w-md`},{default:N(()=>[H(M(DC),null,{default:N(()=>[H(M(kC),null,{default:N(()=>[...n[34]||=[U(`Clear translations`,-1)]]),_:1}),H(M(AC),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(OC),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(Mh),{open:o.value,"onUpdate:open":n[13]||=e=>o.value=e},{default:N(()=>[H(M(EC),{class:`max-w-md`},{default:N(()=>[H(M(DC),null,{default:N(()=>[H(M(kC),null,{default:N(()=>[...n[37]||=[U(`Delete keys`,-1)]]),_:1}),H(M(AC),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(OC),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(Mh),{open:s.value,"onUpdate:open":n[16]||=e=>s.value=e},{default:N(()=>[H(M(EC),{class:`max-w-md`},{default:N(()=>[H(M(DC),null,{default:N(()=>[H(M(kC),null,{default:N(()=>[...n[40]||=[U(`Add tag`,-1)]]),_:1}),H(M(AC),null,{default:N(()=>[U(`Add a tag to `+A(e.keys.length)+` `+A(e.keys.length===1?`key`:`keys`)+`.`,1)]),_:1})]),_:1}),V(`div`,IC,[H(M(TC),{for:`bulk-add-tag`},{default:N(()=>[...n[41]||=[U(`Tag`,-1)]]),_:1}),H(M(WS),{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(OC),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(Mh),{open:c.value,"onUpdate:open":n[18]||=e=>c.value=e},{default:N(()=>[H(M(EC),{class:`max-w-md`},{default:N(()=>[H(M(DC),null,{default:N(()=>[H(M(kC),null,{default:N(()=>[...n[44]||=[U(`Remove tag`,-1)]]),_:1}),H(M(AC),null,{default:N(()=>[...n[45]||=[U(`Remove a tag from the selected keys.`,-1)]]),_:1})]),_:1}),V(`div`,LC,[(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(OC),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 zC(){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 BC=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=Zm(n,t);return(e,t)=>(R(),B(M(px),null,{default:N(()=>[H(M(fx),G(M(r),{class:M(VS)(`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}))}}),VC=[`zero`,`one`,`two`,`few`,`many`,`other`];function HC(e){let t;try{t=new Intl.PluralRules(e.replace(/_/g,`-`),{type:`cardinal`}).resolvedOptions().pluralCategories}catch{t=[`other`]}let n=new Set(t);return VC.filter(e=>n.has(e))}function UC(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 HC(t).some(e=>(n[e]??``)===``)}return r?.value?!e.values[t]?.value:!1}function WC(e,t,n){return t.filter(t=>UC(e,t,n))}function GC(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 KC=new Intl.DisplayNames([`en`],{type:`language`}),qC=new Map;function JC(e){if(!qC.has(e)){let t;try{t=new Intl.DisplayNames([e],{type:`language`}).of(e)??void 0}catch{t=void 0}qC.set(e,t)}return qC.get(e)}function YC(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 XC=new Set([`ar`,`he`,`iw`,`fa`,`ur`,`ps`,`sd`,`ug`,`yi`,`dv`,`ckb`,`ks`,`nqo`,`rhg`]);function ZC(e){let t=e.split(/[-_]/)[0]?.toLowerCase()??``;return XC.has(t)}function QC(e,t){let n=e.replace(/_/g,`-`),r=n,i=!1;try{r=Intl.getCanonicalLocales(n)[0]??n,YC(r)&&(i=!0)}catch{i=!0}let a=e;t?.name===void 0?i||(a=KC.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:JC(r),flagRegion:o,isCustom:i,rtl:ZC(e)}}var $C=[`aria-label`],ew=`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]`,tw=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(VS)(ew,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(VS)(`size-[7px] shrink-0 rounded-full`,s[e.state]))},null,2)),U(` `+A(a[e.state]),1)],2)):(R(),B(M(sb),{key:1},{default:N(()=>[H(M(pb),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:k(M(VS)(ew,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(VS)(`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,$C)]),_:1}),H(M(jC),{align:`end`,class:`min-w-[10rem]`},{default:N(()=>[(R(),z(L,null,F(i,e=>H(M(MC),{key:e,onSelect:t=>r(`setState`,e)},{default:N(()=>[V(`span`,{class:k(M(VS)(`size-[7px] shrink-0 rounded-full`,s[e]))},null,2),U(` `+A(a[e])+` `,1),H(M(Ou),{class:k(M(VS)(`ml-auto size-4`,e===n.state?`opacity-100`:`opacity-0`))},null,8,[`class`])]),_:2},1032,[`onSelect`])),64))]),_:1})]),_:1}))}}),nw=new RegExp([`\\{\\s*[A-Za-z0-9_]+\\s*,\\s*(?:plural|select|selectordinal)\\s*,(?:[^{}]|\\{[^{}]*\\})*\\}`,`\\{\\s*[A-Za-z0-9_.]+\\s*\\}`].join(`|`),`g`);function rw(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 iw(e){if(!e)return[];let t=rw(e),n=e=>t.some(([t,n])=>e>=t&&e<n),r=[],i=0;nw.lastIndex=0;let a;for(;(a=nw.exec(e))!==null;){if(a[0].length===0){nw.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 aw=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(VS)(`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]])}}),ow={class:`min-w-0`},sw={key:0,class:`flex flex-col gap-1`},cw={class:`whitespace-pre-wrap break-words`},lw={key:0,class:`rounded bg-ph-bg px-1 font-mono text-[0.85em] font-semibold text-ph-fg`},uw=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(()=>iw(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`,ow,[i.value?(R(),z(`div`,sw,[H(M(aw),{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(VS)(`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`,cw,[(R(!0),z(L,null,F(l.value,(e,t)=>(R(),z(L,{key:t},[e.placeholder?(R(),z(`span`,lw,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`})]))]))}}),dw={class:`flex min-w-0 flex-col gap-2`},fw={class:`min-w-0 flex-1`},pw={key:0,class:`flex flex-col gap-1`},mw={class:`font-mono text-[10px] font-semibold uppercase tracking-wide text-primary`},hw=[`onClick`],gw={class:`whitespace-pre-wrap break-words`},_w={key:0,class:`rounded bg-ph-bg px-1 font-mono text-[0.85em] font-semibold text-ph-fg`},vw=[`onClick`],yw=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))),...HC(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 iw(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`,dw,[(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(VS)(`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`,fw,[o.value===t?(R(),z(`div`,pw,[V(`span`,mw,`Plural: `+A(t),1),H(M(aw),{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(VS)(`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`,gw,[(R(!0),z(L,null,F(f(t),(e,t)=>(R(),z(L,{key:t},[e.placeholder?(R(),z(`span`,_w,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,hw)):(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,vw))])]))),128))]))}}),bw=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`}),xw=new Map;for(let[e,t]of Object.entries(bw)){let n=e.match(/\/([^/]+)\.svg$/);n&&xw.set(n[1].toLowerCase(),t)}function Sw(e){return xw.get(e.toLowerCase())}var Cw=[`src`,`alt`,`width`,`height`],ww=P({__name:`Flag`,props:{code:{},override:{},size:{default:16}},setup(e){let t=e,n=K(()=>QC(t.code,t.override)),r=K(()=>n.value.flagRegion?Sw(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,Cw)):(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`]))}}),Tw={class:`inline-flex min-w-0 items-start gap-2`},Ew={class:`flex min-w-0 flex-col leading-tight`},Dw={class:`flex items-center gap-1.5`},Ow={class:`font-mono text-[11.5px] font-semibold tracking-wide`},kw={key:0,class:`truncate text-[11px] text-muted-foreground`},Aw={class:`inline-flex min-w-0 items-center gap-1.5`},jw={key:0,class:`truncate`},Mw=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(()=>QC(t.code,t.override));return(t,r)=>e.layout===`stacked`?(R(),B(M(lx),{key:0},{default:N(()=>[H(M(mx),{"as-child":``},{default:N(()=>[V(`span`,Tw,[H(ww,{code:e.code,override:e.override,size:e.size,class:`mt-0.5 shrink-0`},null,8,[`code`,`override`,`size`]),V(`span`,Ew,[V(`span`,Dw,[V(`span`,Ow,A(e.code.toUpperCase()),1),n.value.rtl?(R(),B(M(lx),{key:0},{default:N(()=>[H(M(mx),{"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(BC),null,{default:N(()=>[...r[1]||=[U(`Right-to-left`,-1)]]),_:1})]),_:1})):W(``,!0)]),e.showName?(R(),z(`span`,kw,A(n.value.name),1)):W(``,!0)])])]),_:1}),H(M(BC),null,{default:N(()=>[U(A(n.value.name),1)]),_:1})]),_:1})):(R(),B(M(lx),{key:1},{default:N(()=>[H(M(mx),{"as-child":``},{default:N(()=>[V(`span`,Aw,[H(ww,{code:e.code,override:e.override,size:e.size},null,8,[`code`,`override`,`size`]),e.showName?(R(),z(`span`,jw,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(BC),null,{default:N(()=>[U(A(n.value.name),1)]),_:1})]),_:1}))}}),Nw=[`data-state`],Pw={class:`flex flex-wrap items-start gap-2 pt-0.5`},Fw={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`},Iw=[`dir`],Lw={key:0,"data-testid":`filling-hint`,class:`flex items-center gap-1.5 text-sm italic text-muted-foreground`},Rw={key:0,class:`flex items-center justify-end gap-1.5 pt-0.5`},zw={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`},Bw={class:`flex flex-col gap-1`},Vw={key:0,class:`mt-2 border-t pt-2`},Hw={class:`flex flex-wrap gap-1`},Uw=[`onClick`],Ww=[`disabled`],Gw=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(()=>ZC(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 vf(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(VS)(`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`,Pw,[H(Mw,{code:e.locale,layout:`stacked`,"show-name":``,size:15},null,8,[`code`]),i.value?(R(),z(`span`,Fw,`Source`)):W(``,!0)]),V(`div`,{class:`flex min-w-0 flex-col gap-2`,dir:l.value?`rtl`:`ltr`},[e.filling?(R(),z(`div`,Lw,[H(M(ed),{class:`size-3.5 shrink-0 animate-spin`}),n[2]||=U(` filling… `,-1)])):s.value?(R(),B(yw,{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(uw,{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,Iw),i.value?W(``,!0):(R(),z(`div`,Rw,[d.value?(R(),B(M(Qy),{key:0},{default:N(()=>[H(M(ib),{"as-child":``},{default:N(()=>[V(`button`,zw,[H(M(Ed),{class:`size-3.5`})])]),_:1}),H(M(ZS),{align:`end`,class:`w-fit max-w-xs text-xs`},{default:N(()=>[V(`ul`,Bw,[(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`,Vw,[n[3]||=V(`p`,{class:`mb-1 text-[11px] font-medium text-muted-foreground`},`Add to dictionary`,-1),V(`div`,Hw,[(R(!0),z(L,null,F(f.value,e=>(R(),B(M(lx),{key:e},{default:N(()=>[H(M(mx),{"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,Uw)]),_:2},1024),H(M(BC),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(lx),{key:1},{default:N(()=>[H(M(mx),{"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(BC),null,{default:N(()=>[...n[4]||=[U(`Clear translation`,-1)]]),_:1})]),_:1})):W(``,!0),H(M(lx),null,{default:N(()=>[H(M(mx),{"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,Ww)]),_:1}),H(M(BC),null,{default:N(()=>[...n[5]||=[U(`AI translate`,-1)]]),_:1})]),_:1}),H(tw,{state:a.value,editable:!0,onSetState:g},null,8,[`state`])]))],10,Nw))}}),Kw=[`aria-pressed`],qw={key:0,class:`pointer-events-none absolute inset-0 z-[3] border-2 border-primary`,"aria-hidden":`true`},Jw={key:1,class:`pointer-events-none absolute inset-y-0 left-0 z-[4] w-1 bg-primary`,"aria-hidden":`true`},Yw={class:`sticky top-3`},Xw=[`aria-checked`],Zw={class:`absolute right-0 top-0`},Qw=[`disabled`],$w=[`innerHTML`],eT={key:0,class:`mt-1.5 flex flex-wrap items-center gap-1.5 pl-6`},tT={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`},nT={class:`font-medium normal-case text-muted-foreground`},rT={"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`},iT={key:1,class:`mt-2 flex flex-wrap gap-1.5 pl-6`},aT=[`onClick`],oT=[`data-testid`,`disabled`],sT={key:3,"data-testid":`translating-missing`,class:`ml-6 mt-2.5 inline-flex items-center gap-1 text-[11px] text-primary`},cT=[`disabled`],lT={class:`min-w-0 flex-1 [&>*:nth-child(even)]:bg-zebra`},uT={class:`grid gap-2`},dT={class:`break-all rounded bg-muted px-1 py-0.5 font-mono text-sm`},fT=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,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).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(()=>WC(n.entry,n.locales,n.sourceLocale)),p=K(()=>GC(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(VS)(`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`,qw)):W(``,!0),e.selected?(R(),z(`span`,Jw)):W(``,!0),V(`div`,{class:k(M(VS)(`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`,Yw,[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,Xw),V(`div`,Zw,[H(M(sb),null,{default:N(()=>[H(M(pb),{"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,Qw)]),_:1}),H(M(jC),{align:`end`},{default:N(()=>[f.value.length>0?(R(),B(M(MC),{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(MC),{onSelect:y},{default:N(()=>[H(M(od),{class:`size-4`}),n[9]||=U(` Rename `,-1)]),_:1}),H(M(MC),{"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(MC),{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,$w),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`,eT,[e.entry.plural?(R(),z(`span`,tT,[n[11]||=U(`PLURAL`,-1),V(`span`,nT,`· `+A(e.entry.plural.arg),1)])):W(``,!0),e.entry.skipTranslate?(R(),B(M(lx),{key:1},{default:N(()=>[H(M(mx),{"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(BC),null,{default:N(()=>[...n[13]||=[U(`Excluded from translation`,-1)]]),_:1})]),_:1})):W(``,!0),(e.issues?.length??0)>0?(R(),B(M(lx),{key:2},{default:N(()=>[H(M(mx),{"as-child":``},{default:N(()=>[V(`span`,rT,[H(M(Ed),{class:`size-3`}),U(A(e.issues.length),1)])]),_:1}),H(M(BC),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`,iT,[(R(!0),z(L,null,F(e.entry.tags,e=>(R(),B(M(lx),{key:e},{default:N(()=>[H(M(mx),{"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,aT)]),_:2},1024),H(M(BC),null,{default:N(()=>[U(`Filter by tag: `+A(e),1)]),_:2},1024)]),_:2},1024))),128))])):W(``,!0),f.value.length>0?(R(),B(M(lx),{key:2},{default:N(()=>[H(M(mx),{"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,oT)]),_:1}),H(M(BC),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`,sT,[H(M(ed),{class:`size-3 animate-spin`}),n[14]||=U(` Translating… `,-1)])):W(``,!0),p.value.length>0?(R(),B(M(lx),{key:4},{default:N(()=>[H(M(mx),{"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,cT)]),_:1}),H(M(BC),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`,lT,[(R(!0),z(L,null,F(e.locales,t=>(R(),B(Gw,{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(Mh),{open:o.value,"onUpdate:open":n[6]||=e=>o.value=e},{default:N(()=>[H(M(EC),{class:`max-w-md`},{default:N(()=>[H(M(DC),null,{default:N(()=>[H(M(kC),null,{default:N(()=>[...n[15]||=[U(`Rename key`,-1)]]),_:1}),H(M(AC),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`,uT,[H(M(TC),{for:`rename-key`},{default:N(()=>[...n[17]||=[U(`New key`,-1)]]),_:1}),H(M(WS),{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(OC),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(Mh),{open:c.value,"onUpdate:open":n[8]||=e=>c.value=e},{default:N(()=>[H(M(EC),{class:`max-w-md`},{default:N(()=>[H(M(DC),null,{default:N(()=>[H(M(kC),null,{default:N(()=>[...n[20]||=[U(`Delete key`,-1)]]),_:1}),H(M(AC),null,{default:N(()=>[n[21]||=U(` Delete `,-1),V(`code`,dT,A(e.keyName),1),n[22]||=U(` and all its translations? This cannot be undone. `,-1)]),_:1})]),_:1}),H(M(OC),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,Kw))}}),pT=[{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}`}],mT=`vscode`,hT=e=>pT.some(t=>t.id===e),gT=j(mT);function _T(e){hT(e)&&(gT.value=e,pf({editor:e}).catch(()=>{}))}async function vT(){try{let{editor:e}=await ff();hT(e)&&(gT.value=e)}catch{}}function yT(e,t){return(pT.find(e=>e.id===gT.value)??pT[0]).buildUrl(e,t)}function bT(){return{dirs:new Map,files:new Map}}function xT(e){let t=bT();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=bT(),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 ST={class:`flex flex-col gap-2`},CT={class:`flex items-center gap-1.5`},wT={key:0,class:`flex flex-col gap-2`},TT={class:`mt-1 flex gap-2`},ET={class:`flex items-center justify-between`},DT={class:`font-mono text-[10px] text-muted-foreground`},OT={class:`flex gap-1.5`},kT=[`onClick`],AT=[`onClick`],jT={class:`whitespace-pre-wrap break-words text-[12.5px] leading-snug`},MT=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 wf(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 Tf(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 Ef(n.keyName,e),r(`changed`)}catch(e){$.error(`Could not delete note: ${e.message}`)}}return(t,n)=>(R(),z(`div`,ST,[V(`div`,CT,[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`,wT,[(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(aw),{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`,TT,[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`,ET,[V(`span`,DT,A(i(e.at)),1),V(`span`,OT,[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,kT),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,AT)])]),V(`p`,jT,A(e.text),1)],64))]))),128))])):W(``,!0),H(M(aw),{"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`])]))}}),NT={class:`flex shrink-0 flex-col overflow-y-auto border-l border-border bg-card max-[1080px]:hidden`},PT={key:0,class:`flex flex-1 flex-col items-center justify-center gap-2.5 p-10 text-center text-muted-foreground`},FT={key:1,class:`flex flex-col gap-4 px-5 pb-10 pt-[18px]`},IT={class:`flex flex-col gap-0.5`},LT=[`innerHTML`],RT={class:`flex flex-wrap items-center gap-2`},zT={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`},BT={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`},VT=[`disabled`],HT=[`disabled`],UT={key:0,class:`flex flex-col gap-1.5`},WT={class:`flex items-center gap-1.5 text-[11px] font-bold uppercase tracking-wide text-destructive`},GT={class:`font-mono text-[11px] font-semibold`},KT={class:`ml-auto rounded border border-destructive px-1.5 py-0.5 text-[10.5px] font-semibold text-destructive`},qT=[`disabled`,`onClick`],JT={key:1,class:`flex flex-col gap-1.5`},YT={class:`flex items-center gap-1.5 text-[11px] font-bold uppercase tracking-wide text-muted-foreground`},XT={class:`font-mono text-[11px] font-semibold`},ZT={class:`flex flex-col gap-1.5`},QT={class:`flex items-center gap-1.5`},$T={key:0,class:`ml-auto text-[11.5px] text-muted-foreground`},eE={key:0,class:`text-[12px] text-muted-foreground`},tE={key:0,class:`rounded-md border border-border-soft bg-accent px-2 py-1.5 text-[12px] text-muted-foreground`},nE={key:1,class:`flex flex-col gap-0.5 text-[11.5px]`},rE={class:`min-w-0 truncate font-mono`,style:{direction:`rtl`,"text-align":`left`}},iE=[`href`],aE={key:1,class:`min-w-0 shrink truncate font-mono text-foreground`},oE={class:`flex min-w-0 flex-wrap items-baseline gap-x-1.5 gap-y-0.5`},sE=[`href`],cE={key:1,class:`shrink-0 font-mono text-muted-foreground`},lE={key:2,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={key:3,class:`flex flex-col gap-1`},gE={class:`flex items-center gap-1 text-[11px] font-medium text-muted-foreground`},_E={class:`flex flex-col gap-1`},vE={class:`min-w-0 flex-1 truncate font-mono`,style:{direction:`rtl`,"text-align":`left`}},yE={class:`shrink-0 rounded border border-dashed border-border-soft px-1 font-mono text-[10px]`},bE={class:`shrink-0 font-mono`},xE={class:`flex flex-col gap-1.5`},SE={class:`flex items-center gap-1.5`},CE={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`},wE=[`disabled`],TE={class:`flex flex-col gap-1.5`},EE={class:`flex items-center gap-1.5`},DE={class:`flex flex-col gap-1.5`},OE={class:`flex items-center gap-1.5`},kE={class:`flex flex-col gap-2`},AE={class:`flex items-center gap-1.5`},jE={key:0,class:`flex flex-col gap-2`},ME=[`src`,`alt`],NE={class:`flex gap-2`},PE=[`disabled`],FE={class:`flex flex-col gap-1.5 text-[11.5px] text-muted-foreground`},IE={class:`flex items-center justify-between gap-3`},LE={class:`font-mono text-[11px] text-foreground`},RE={class:`flex items-center justify-between gap-3`},zE={class:`font-mono text-[11px] text-foreground`},BE=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,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).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(){HS(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 Ff(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=>UC(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 Sf(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 Cf(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 rf({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 sf(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=>yT(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:yT(e,E.value?.project??``)}))),oe=K(()=>xT(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`,NT,[!e.keyName||!e.entry?(R(),z(`div`,PT,[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`,FT,[V(`div`,IT,[n[7]||=V(`span`,{class:`text-[10.5px] font-bold uppercase tracking-wide text-muted-foreground`},`Key`,-1),H(M(lx),{"disable-closing-trigger":``},{default:N(()=>[H(M(mx),{"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,LT)]),_:1}),H(M(BC),null,{default:N(()=>[U(A(c.value?`Copied`:`Click to copy`),1)]),_:1})]),_:1})]),V(`div`,RT,[s.value?(R(),z(`span`,zT,`PLURAL`)):(R(),z(`span`,BT,`SINGLE`)),s.value?(R(),z(L,{key:2},[n[8]||=V(`span`,{class:`text-[11.5px] text-muted-foreground`},`arg`,-1),H(M(WS),{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,VT)],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,HT))]),f.value.length||g.value.length?(R(),z(`div`,{key:0,class:k(M(VS)(`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`,UT,[V(`div`,WT,[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(ww,{code:e.locale,size:14},null,8,[`code`]),V(`span`,GT,A(e.locale.toUpperCase()),1),V(`span`,KT,A(d[e.check]??e.check),1),p[e.check]?(R(),B(M(lx),{key:0},{default:N(()=>[H(M(mx),{"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,qT)]),_:2},1024),H(M(BC),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`,JT,[V(`div`,YT,[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(ww,{code:e,size:14},null,8,[`code`]),V(`span`,XT,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`,ZT,[V(`div`,QT,[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`,$T,A(E.value.count)+` reference`+A(E.value.count===1?``:`s`),1)):W(``,!0)]),!E.value||!E.value.indexed?(R(),z(`p`,eE,` 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`,tE,` Not referenced in the last scan — this key may be unused. `)):W(``,!0),D.value.length?(R(),z(`div`,nE,[(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(lx),null,{default:N(()=>[H(M(mx),{"as-child":``},{default:N(()=>[V(`span`,rE,A(e.label),1)]),_:2},1024),H(M(BC),{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(lx),null,{default:N(()=>[H(M(mx),{"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,iE)):(R(),z(`span`,aE,A(e.name),1))]),_:2},1024),H(M(BC),{class:`font-mono`},{default:N(()=>[U(A(se(e.refs)?`Open ${e.name}`:e.name),1)]),_:2},1024)]),_:2},1024),V(`span`,oE,[(R(!0),z(L,null,F(e.refs,(t,n)=>(R(),z(L,{key:n},[t.url?(R(),B(M(lx),{key:0},{default:N(()=>[H(M(mx),{"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,sE)]),_:2},1024),H(M(BC),{class:`font-mono`},{default:N(()=>[U(`Open `+A(e.name)+`:`+A(t.line),1)]),_:2},1024)]),_:2},1024)):(R(),z(`span`,cE,`:`+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`,lE,[V(`p`,uE,[H(M(Su),{class:`size-3`}),n[13]||=U(` Possible usage (dynamic keys) `,-1)]),V(`ul`,dE,[(R(!0),z(L,null,F(ie.value,(e,t)=>(R(),z(`li`,{key:t,class:`text-[11.5px]`},[H(M(lx),null,{default:N(()=>[H(M(mx),{"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.prefix)+`*`,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(BC),{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`,hE,[V(`p`,gE,[H(M(Su),{class:`size-3`}),n[14]||=U(` Possible usage (string literals) `,-1)]),V(`ul`,_E,[(R(!0),z(L,null,F(ae.value,(e,t)=>(R(),z(`li`,{key:t,class:`text-[11.5px]`},[H(M(lx),null,{default:N(()=>[H(M(mx),{"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`,vE,A(e.file),1),V(`span`,yE,`'`+A(e.literal)+`'`,1),V(`span`,bE,`:`+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(BC),{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`,xE,[V(`div`,SE,[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(lx),{key:0},{default:N(()=>[H(M(mx),{"as-child":``},{default:N(()=>[V(`span`,CE,[H(M(yd),{class:`size-2.5`}),n[15]||=U(` AI `,-1)])]),_:1}),H(M(BC),null,{default:N(()=>[U(A(e.entry.contextAt?`AI-generated ${i(e.entry.contextAt)}`:`AI-generated`),1)]),_:1})]),_:1})):W(``,!0),H(M(lx),null,{default:N(()=>[H(M(mx),{"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,wE)]),_:1}),H(M(BC),null,{default:N(()=>[U(A(T.value?`Suggesting…`:`Suggest context with AI`),1)]),_:1})]),_:1})]),H(M(aw),{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`,TE,[V(`div`,EE,[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(WS),{id:`detail-tags`,modelValue:C.tags,"onUpdate:modelValue":n[3]||=e=>C.tags=e,placeholder:`comma, separated`},null,8,[`modelValue`])]),V(`div`,DE,[V(`div`,OE,[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(WS),{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(MT,{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`,kE,[V(`div`,AE,[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`,jE,[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,ME),V(`div`,NE,[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,PE))]),n[27]||=V(`div`,{class:`h-px bg-border-soft`},null,-1),V(`div`,FE,[V(`div`,IE,[n[23]||=V(`span`,null,`Created`,-1),V(`span`,LE,A(i(e.entry.createdAt)),1)]),V(`div`,RE,[n[24]||=V(`span`,null,`Last updated`,-1),V(`span`,zE,A(i(o.value)),1)])])]))]))}}),VE={class:`grid gap-3`},HE={class:`grid gap-1.5`},UE={class:`grid gap-1.5`},WE={class:`flex items-center justify-between gap-2 rounded-md border p-2.5`},GE={class:`flex flex-col`},KE={key:0,class:`grid gap-1.5`},qE={key:1,class:`text-sm text-destructive`},JE=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(Mh),{open:n.value,"onUpdate:open":t[5]||=e=>n.value=e},{default:N(()=>[H(M(EC),{class:`max-w-md`},{default:N(()=>[H(M(DC),null,{default:N(()=>[H(M(kC),null,{default:N(()=>[...t[6]||=[U(`Add key`,-1)]]),_:1}),H(M(AC),null,{default:N(()=>[...t[7]||=[U(`Create a new translation key using dot notation.`,-1)]]),_:1})]),_:1}),V(`div`,VE,[V(`div`,HE,[H(M(TC),{for:`add-key`},{default:N(()=>[...t[8]||=[U(`Key `,-1),V(`span`,{class:`text-destructive`},`*`,-1)]]),_:1}),H(M(WS),{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`,UE,[H(M(TC),{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(WS),{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`,WE,[V(`div`,GE,[H(M(TC),{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(eC),{id:`add-plural`,modelValue:c.value,"onUpdate:modelValue":t[2]||=e=>c.value=e},null,8,[`modelValue`])]),c.value?(R(),z(`div`,KE,[H(M(TC),{for:`add-plural-arg`},{default:N(()=>[...t[12]||=[U(`Count argument`,-1)]]),_:1}),H(M(WS),{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`,qE,A(o.value),1)):W(``,!0)]),H(M(OC),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`]))}}),YE={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`},XE={key:1,class:`text-sm text-destructive`},ZE={key:2,class:`flex flex-1 items-center justify-center py-12 text-sm text-muted-foreground`},QE={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`},$E={class:`flex items-center gap-1.5 font-medium`},eD={class:`list-inside list-disc pl-1`},tD={class:`grid min-h-0 flex-1 grid-cols-[16rem_1fr] gap-3 overflow-hidden`},nD={class:`min-h-0 overflow-y-auto rounded-md border`},rD=[`onClick`],iD={key:0,class:`px-3 py-2 text-xs text-muted-foreground`},aD={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]`},oD={key:1,class:`flex min-h-0 items-center justify-center rounded-md border text-sm text-muted-foreground`},sD=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 Of();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 kf();$.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(Mh),{open:t.value,"onUpdate:open":d[1]||=e=>t.value=e},{default:N(()=>[H(M(EC),{class:`flex max-h-[85vh] w-full max-w-5xl flex-col`},{default:N(()=>[H(M(DC),null,{default:N(()=>[H(M(kC),null,{default:N(()=>[...d[2]||=[U(`Export preview`,-1)]]),_:1}),H(M(AC),null,{default:N(()=>[...d[3]||=[U(`Review the files that will be written to disk.`,-1)]]),_:1})]),_:1}),r.value?(R(),z(`p`,YE,[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`,XE,A(o.value),1)):W(``,!0),i.value?(R(),z(`div`,ZE,` Generating preview… `)):o.value?W(``,!0):(R(),z(L,{key:3},[c.value.length?(R(),z(`div`,QE,[V(`p`,$E,[H(M(Ed),{class:`size-4`}),U(` `+A(c.value.length)+` warning`+A(c.value.length===1?``:`s`),1)]),V(`ul`,eD,[(R(!0),z(L,null,F(c.value,(e,t)=>(R(),z(`li`,{key:t},A(e),1))),128))])])):W(``,!0),V(`div`,tD,[V(`ul`,nD,[(R(!0),z(L,null,F(s.value,e=>(R(),z(`li`,{key:e.path},[H(M(lx),null,{default:N(()=>[H(M(mx),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,class:k(M(VS)(`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,rD)]),_:2},1024),H(M(BC),{class:`font-mono`},{default:N(()=>[U(A(e.path),1)]),_:2},1024)]),_:2},1024)]))),128)),s.value.length===0?(R(),z(`li`,iD,` No files to write. `)):W(``,!0)]),u.value?(R(),z(`pre`,aD,A(u.value.contents),1)):(R(),z(`div`,oD,` Select a file to preview its contents. `))])],64)),H(M(OC),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`]))}}),cD={class:`relative h-2 w-full overflow-hidden rounded-full bg-muted`},lD={key:0,class:`gf-progress-indeterminate absolute inset-y-0 w-1/3 rounded-full bg-primary`},uD=vC(P({__name:`Progress`,props:{modelValue:{},indeterminate:{type:Boolean}},setup(e){return(t,n)=>(R(),z(`div`,cD,[e.indeterminate?(R(),z(`div`,lD)):(R(),z(`div`,{key:1,class:`h-full bg-primary transition-all`,style:he({width:`${Math.min(100,Math.max(0,e.modelValue??0))}%`})},null,4))]))}}),[[`__scopeId`,`data-v-558dffb9`]]),dD={key:0,class:`rounded-md border bg-muted/40 px-3 py-2 text-xs text-muted-foreground`},fD={class:`font-medium text-foreground`},pD={key:0,class:`mt-0.5`},mD={key:1,class:`mt-1`},hD={class:`mt-1`},gD={key:1,class:`flex min-h-0 flex-col gap-1.5`},_D={class:`flex justify-between text-xs text-muted-foreground`},vD={key:0},yD={key:0,class:`mt-1 flex max-h-56 min-h-0 flex-col overflow-y-auto rounded-md border text-sm`},bD={key:2,class:`flex flex-col gap-1 rounded-md border border-destructive/30 bg-destructive/10 p-3 text-sm text-destructive`},xD={class:`flex items-center gap-1.5 font-medium`},SD={key:3,class:`flex min-h-0 flex-col gap-1.5`},CD={class:`flex items-center gap-1.5 text-sm font-medium text-amber-700 dark:text-amber-400`},wD={class:`min-h-0 flex-1 overflow-y-auto rounded-md border text-sm`},TD={class:`inline-flex items-center gap-1.5 font-mono text-xs`},ED={class:`text-muted-foreground`},DD=P({__name:`TranslateDialog`,props:ka({state:{},filteredKeys:{},targetLocale:{}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:ka([`changed`,`batch-submitted`],[`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)UC(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).`),i(`batch-submitted`),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 nf(...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(Mh),{open:r.value,"onUpdate:open":t[1]||=e=>r.value=e},{default:N(()=>[H(M(EC),{class:`flex max-h-[85vh] max-w-lg flex-col`},{default:N(()=>[H(M(DC),null,{default:N(()=>[H(M(kC),null,{default:N(()=>[...t[2]||=[U(`Translate missing strings`,-1)]]),_:1}),H(M(AC),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`,dD,[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`,fD,`≈ `+A(E(T.value.estimatedCost)),1),t[4]||=U(` (±20%)`,-1)],64))]),T.value.pricing?W(``,!0):(R(),z(`p`,pD,` No pricing known for this model — set a price in Settings → AI for a dollar estimate. `)),T.value.perLocale.length>1?(R(),z(`details`,mD,[t[5]||=V(`summary`,{class:`cursor-pointer select-none`},`Per-language breakdown`,-1),V(`ul`,hD,[(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`,gD,[V(`div`,_D,[V(`span`,null,A(c.value.toLocaleString())+` / `+A(l.value.toLocaleString())+` translated`,1),a.value&&d.value.length?(R(),z(`span`,vD,A(p.value)+` of `+A(d.value.length)+` language`+A(d.value.length===1?``:`s`)+` active`,1)):W(``,!0)]),H(M(uD),{"model-value":l.value>0?c.value/l.value*100:0},null,8,[`model-value`]),d.value.length?(R(),z(`ul`,yD,[(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(Mw,{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`,bD,[V(`p`,xD,[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`,SD,[V(`p`,CD,[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`,wD,[(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`,TD,[U(A(e.key)+` @ `,1),H(Mw,{code:e.locale,size:12},null,8,[`code`])]),V(`span`,ED,` — `+A(e.error),1)]))),128))])])):W(``,!0),H(M(OC),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`]))}}),OD={key:0,class:`flex flex-col gap-1.5`},kD={class:`flex justify-between text-xs text-muted-foreground`},AD={key:1,class:`flex flex-col gap-1 rounded-md border border-destructive/30 bg-destructive/10 p-3 text-sm text-destructive`},jD={class:`flex items-center gap-1.5 font-medium`},MD={key:2,class:`flex min-h-0 flex-col gap-1.5`},ND={class:`flex items-center gap-1.5 text-sm font-medium text-amber-700 dark:text-amber-400`},PD={class:`min-h-0 flex-1 overflow-y-auto rounded-md border text-sm`},FD={class:`font-mono text-xs`},ID={class:`text-muted-foreground`},LD=P({__name:`ContextDialog`,props:ka({state:{},keys:{}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:ka([`changed`,`batch-submitted`],[`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}),f=j(!1),p=j(!1);async function m(){f.value=!1;try{let e=await Qd();f.value=e.supported&&!e.pending}catch{}}async function h(){p.value=!0;try{let e=await $d({keys:n.keys});$.success(`Context batch of ${e.total.toLocaleString()} keys submitted — results apply when processing finishes (usually under an hour).`),i(`batch-submitted`),r.value=!1}catch(e){s.value=e.message}finally{p.value=!1}}Dr(r,e=>{e?(s.value=``,c.value=[],l.value=0,u.value=0,m()):o.value?.abort()});function g(){o.value?.abort()}async function _(){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 rf({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(Mh),{open:r.value,"onUpdate:open":t[1]||=e=>r.value=e},{default:N(()=>[H(M(EC),{class:`flex max-h-[85vh] max-w-lg flex-col`},{default:N(()=>[H(M(DC),null,{default:N(()=>[H(M(kC),null,{default:N(()=>[...t[2]||=[U(`Build context`,-1)]]),_:1}),H(M(AC),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`,OD,[V(`div`,kD,[V(`span`,null,A(l.value.toLocaleString())+` / `+A(u.value.toLocaleString())+` built`,1)]),H(M(uD),{"model-value":u.value>0?l.value/u.value*100:0},null,8,[`model-value`])])):W(``,!0),s.value?(R(),z(`div`,AD,[V(`p`,jD,[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`,MD,[V(`p`,ND,[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`,PD,[(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`,FD,A(e.key),1),V(`span`,ID,` — `+A(e.error),1)]))),128))])])):W(``,!0),H(M(OC),null,{default:N(()=>[a.value?(R(),B(M(Q),{key:0,variant:`outline`,onClick:g},{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&&f.value?(R(),B(M(Q),{key:2,variant:`outline`,disabled:a.value||p.value,onClick:h},{default:N(()=>[U(A(p.value?`Submitting…`:`Batch (50% off)`),1)]),_:1},8,[`disabled`])):W(``,!0),d.value>0?(R(),B(M(Q),{key:3,disabled:a.value||p.value,onClick:_},{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`]))}}),RD={key:0,class:`flex items-center gap-3 rounded-md border bg-muted/40 px-3 py-2 text-sm`},zD={class:`flex min-w-0 flex-1 flex-col gap-1`},BD={class:`truncate`},VD=P({__name:`BatchBanner`,props:{kind:{default:`translate`}},emits:[`changed`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=j(null),o=j(!1),s;async function c(){try{a.value=(await(r.kind===`context`?Qd():Jd())).pending}catch{}}Ki(()=>{c(),s=setInterval(()=>void c(),3e4)}),Xi(()=>clearInterval(s)),t({refresh:c});let l=K(()=>a.value?.status===`ended`);async function u(){o.value=!0;try{if(r.kind===`context`){let e=await ef(),t=[e.retried?`${e.retried} retried`:``,e.errors.length?`${e.errors.length} error(s)`:``].filter(Boolean).join(`, `);$.success(`Context batch applied — wrote ${e.written} context(s)${t?` (${t})`:``}`)}else{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})`:``}`)}i(`changed`),await c()}catch(e){$.error(e.message)}finally{o.value=!1}}async function d(){if(window.confirm(`Cancel this batch? Finished entries are discarded.`))try{await(r.kind===`context`?tf():Zd()),await c()}catch(e){$.error(e.message)}}return(e,t)=>a.value?(R(),z(`div`,RD,[(R(),B(aa(l.value?M(Ou):M(ed)),{class:k([`size-4 shrink-0`,l.value?`text-emerald-600 dark:text-emerald-400`:`animate-spin text-primary`])},null,8,[`class`])),V(`div`,zD,[V(`span`,BD,[U(A(r.kind===`context`?`Batch context build`:`Batch translation`)+` (`+A(a.value.total.toLocaleString())+` `+A(r.kind===`context`?`keys`:`strings`)+`) `,1),l.value?(R(),z(L,{key:0},[U(` — finished, ready to apply`)],64)):(R(),z(L,{key:1},[U(` — processing…`)],64))]),l.value?W(``,!0):(R(),B(M(uD),{key:0,indeterminate:``,class:`h-1`}))]),H(M(Q),{size:`sm`,disabled:!l.value||o.value,onClick:u},{default:N(()=>[U(A(o.value?`Applying…`:l.value?`Apply results`:`Waiting…`),1)]),_:1},8,[`disabled`]),H(M(Q),{size:`sm`,variant:`ghost`,disabled:o.value,onClick:d},{default:N(()=>[H(M(Ad),{class:`size-4`})]),_:1},8,[`disabled`])])):W(``,!0)}}),HD={key:1,class:`text-muted-foreground`},UD={class:`flex items-center gap-2 border-b px-3`},WD={class:`absolute left-2 flex size-3.5 items-center justify-center`},GD={class:`flex w-full min-w-0 items-center justify-between gap-2`},KD={class:`shrink-0 font-mono text-xs text-muted-foreground`},qD=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:QC(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(ly),{modelValue:n.value,"onUpdate:modelValue":c[1]||=e=>n.value=e,open:r.value,"ignore-filter":``,"onUpdate:open":s},{default:N(()=>[H(M(uy),{"as-child":``},{default:N(()=>[H(M(Sy),{class:k(M(VS)(`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(Mw,{key:0,code:n.value,"show-name":``,"show-code":!1,size:14},null,8,[`code`])):(R(),z(`span`,HD,A(e.placeholder??`Locale`),1)),H(M(ku),{class:`size-4 shrink-0 opacity-50`})]),_:1},8,[`class`])]),_:1}),H(M(xy),null,{default:N(()=>[H(M(my),{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`,UD,[H(M(md),{class:`size-4 shrink-0 opacity-50`}),H(M(vy),{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(wy),{class:`max-h-72 p-1`},{default:N(()=>[H(M(hy),{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(yy),{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`,WD,[H(M(by),null,{default:N(()=>[H(M(Ou),{class:`size-4`})]),_:1})]),V(`span`,GD,[H(Mw,{code:e,"show-name":``,"show-code":!1,size:14},null,8,[`code`]),V(`span`,KD,A(e.toUpperCase()),1)])]),_:2},1032,[`value`]))),128))]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`,`open`]))}}),JD={class:`relative w-0 shrink-0`},YD=[`aria-valuenow`,`aria-valuemin`,`aria-valuemax`],XD=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`,JD,[V(`div`,{class:k(M(VS)(`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,YD)]))}});function ZD(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)),df({[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 QD=ZD(`keyColumnWidth`,272,180,560),$D=ZD(`detailPanelWidth`,420,320,720);async function eO(e){try{let t=e??await uf();QD.syncValue(t.keyColumnWidth),$D.syncValue(t.detailPanelWidth)}catch{}}var tO={class:`flex min-h-0 flex-1 flex-col`},nO={class:`flex shrink-0 flex-wrap items-center gap-2 border-b px-4 py-2`},rO={class:`relative`},iO={key:0,class:`rounded bg-primary px-1.5 text-xs text-primary-foreground`},aO=[`aria-label`],oO={class:`ml-auto flex items-center gap-2`},sO={class:`mr-1 text-xs text-muted-foreground tabular-nums`},cO={key:2},lO={key:3},uO={key:4},dO={key:0,class:`flex shrink-0 flex-wrap items-center gap-1.5 border-b px-4 py-1.5`},fO=[`aria-label`,`onClick`],pO=[`aria-label`,`onClick`],mO=[`aria-label`,`onClick`],hO={class:`flex flex-col gap-2 px-4 py-2 empty:hidden`},gO={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`},_O=[`aria-checked`,`aria-label`],vO={class:`text-sm font-medium tabular-nums`},yO={class:`text-sm text-muted-foreground`},bO={key:1,for:`select-all-checkbox`,class:`cursor-pointer select-none text-sm text-muted-foreground`},xO={class:`relative min-w-0 flex-1 overflow-hidden`},SO={key:0,class:`flex h-full items-center justify-center gap-2 p-8 text-sm text-muted-foreground`},CO={key:1,class:`flex h-full items-center justify-center p-8 text-sm text-muted-foreground`},wO=[`data-index`],TO=`glotfile:enabledChecks`,EO=P({__name:`EditorView`,setup(e){let t=QD.width,n=$D.width,r=dn(null),{filter:i,sort:a,view:o,locale:s}=Cp(Mp()),c=j(i),l=zC();function u(){try{let e=localStorage.getItem(TO);if(e){let t=JSON.parse(e);return fp.filter(e=>t.includes(e))}}catch{}return[...pp]}let d=j(u()),f=j(new Map),p=j(null),m=j(!1),h=j(0);async function g(){try{let e=await cf();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 Nf(d.value);f.value=yp(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(TO,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})],()=>{Np(wp({filter:c.value,sort:b.value,view:x.value,locale:S.value}))},{deep:!0}),Dr(()=>c.value.text,()=>{C&&clearTimeout(C),C=setTimeout(()=>{Np(wp({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(Pp.value){let e=Pp.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=fp.filter(e=>t.has(e))}e.locale&&(x.value=`bilingual`,S.value=e.locale),Pp.value=null}let ne=j(null),re=j(null),D=j(null);Ip.value&&=(ne.value=Ip.value,null);let ie=j(!1),ae=j(!1),oe=j(!1),se=j(!1),O=j(!1),ce=j(null),le=j(null),ue=j(!0),de=j(!1);async function fe(){r.value=await Md(),y()}let pe=setTimeout(()=>{ue.value&&(de.value=!0)},250);fe().finally(()=>{ue.value=!1,de.value=!1,clearTimeout(pe)});let me=K(()=>r.value?.config.sourceLocale??``),ge=K(()=>r.value?.config.locales??[]),_e=K(()=>ge.value.filter(e=>e!==me.value));Dr(_e,e=>{!S.value&&e.length>0&&(S.value=e[0])},{immediate:!0});let ve=K(()=>{if(x.value===`bilingual`)return S.value?[me.value,S.value]:[me.value];let e=ge.value.filter(e=>e!==me.value);return[me.value,...e]}),ye=K(()=>{let e=r.value;if(!e)return[];let t=x.value===`bilingual`&&S.value?S.value:void 0;return dp(e,{...c.value,locale:t},f.value,p.value??void 0)}),be=K(()=>{let e=r.value,t=ye.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}),xe=K(()=>x.value===`bilingual`?S.value?[S.value]:[]:_e.value),Se=K(()=>x.value===`bilingual`?S.value||`—`:`all ${_e.value.length} targets`),Ce=K(()=>l.keys()),we=K(()=>l.count.value),Te=K(()=>l.allSelected(be.value)),Ee=K(()=>l.someSelected(be.value)),De=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 Oe(){l.allSelected(be.value)?l.clear():l.selectAll(be.value)}function ke(e,t){t?l.toggleRange(e,be.value):l.toggle(e)}Dr(be,e=>l.pruneTo(e));let Ae=K(()=>r.value&&ne.value?r.value.keys[ne.value]??null:null),je=sp(K(()=>({count:be.value.length,getScrollElement:()=>le.value,estimateSize:()=>56,overscan:8,getItemKey:e=>be.value[e]??e}))),Me=K(()=>je.value.getVirtualItems()),Ne=K(()=>je.value.getTotalSize());function Pe(e){ne.value=e}let Fe=j(null);function Ie(){let e=Fe.value?.$el;e?.focus?.(),e?.select?.()}function Le(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(),Ie();return}if(e.key!==`ArrowDown`&&e.key!==`ArrowUp`||n||r)return;let i=be.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,je.value.scrollToIndex(o,{align:`auto`}))}Ki(()=>window.addEventListener(`keydown`,Le)),Xi(()=>{window.removeEventListener(`keydown`,Le),C&&clearTimeout(C)}),Ki(async()=>{try{let e=await of();e.indexed&&!ce.value&&!O.value&&(ce.value=`${e.files.toLocaleString()} files · ${e.refs.toLocaleString()} refs`)}catch{}g()});async function Re(e,t){ne.value===e&&(ne.value=t),await fe()}async function ze(e){await fe(),ne.value=e,c.value.text=`"${e}"`}async function Be(){O.value=!0,ce.value=null;try{let e=await af();ce.value=`${e.files.toLocaleString()} files · ${e.refs.toLocaleString()} refs`,await g()}catch{ce.value=`Scan failed`}finally{O.value=!1}}return(e,i)=>(R(),B(M(ax),{"delay-duration":400},{default:N(()=>[V(`div`,tO,[V(`div`,nO,[V(`div`,rO,[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(WS),{ref_key:`searchInput`,ref:Fe,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(Qy),null,{default:N(()=>[H(M(ib),{"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[31]||=U(` Filter `,-1),w.value?(R(),z(`span`,iO,A(w.value),1)):W(``,!0)]),_:1})]),_:1}),H(M(ZS),{align:`start`,class:`w-64`},{default:N(()=>[H(mC,{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[32]||=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,aO)):W(``,!0)]),_:1},8,[`variant`,`aria-checked`]),H(M(Cb),{modelValue:b.value,"onUpdate:modelValue":i[12]||=e=>b.value=e},{default:N(()=>[H(M(GS),{class:`h-8 w-[160px]`},{default:N(()=>[H(M(Wb),{placeholder:`Sort`})]),_:1}),H(M(KS),null,{default:N(()=>[H(M(JS),{value:`key-asc`},{default:N(()=>[...i[33]||=[U(`Key A→Z`,-1)]]),_:1}),H(M(JS),{value:`key-desc`},{default:N(()=>[...i[34]||=[U(`Key Z→A`,-1)]]),_:1}),H(M(JS),{value:`created`},{default:N(()=>[...i[35]||=[U(`Recently created`,-1)]]),_:1}),H(M(JS),{value:`updated`},{default:N(()=>[...i[36]||=[U(`Recently updated`,-1)]]),_:1})]),_:1})]),_:1},8,[`modelValue`]),H(M(Qb),{modelValue:x.value,"onUpdate:modelValue":i[13]||=e=>x.value=e},{default:N(()=>[H(M(YS),{class:`h-8`},{default:N(()=>[H(M(XS),{value:`bilingual`,class:`text-xs`},{default:N(()=>[...i[37]||=[U(`Bilingual`,-1)]]),_:1}),H(M(XS),{value:`multilingual`,class:`text-xs`},{default:N(()=>[...i[38]||=[U(`Multilingual`,-1)]]),_:1})]),_:1})]),_:1},8,[`modelValue`]),x.value===`bilingual`?(R(),B(qD,{key:0,modelValue:S.value,"onUpdate:modelValue":i[14]||=e=>S.value=e,locales:_e.value,class:`h-8 w-[170px]`},null,8,[`modelValue`,`locales`])):W(``,!0),V(`div`,oO,[V(`span`,sO,A(be.value.length.toLocaleString())+` keys`,1),H(M(Q),{size:`sm`,variant:`outline`,onClick:i[15]||=e=>ae.value=!0},{default:N(()=>[H(M(Uu),{class:`size-4`}),i[39]||=U(` Export `,-1)]),_:1}),H(M(Q),{size:`sm`,variant:`outline`,disabled:O.value,onClick:Be},{default:N(()=>[O.value?(R(),B(M(ed),{key:0,class:`size-4 animate-spin`})):(R(),B(M(fd),{key:1,class:`size-4`})),O.value?(R(),z(`span`,cO,`Scanning…`)):ce.value?(R(),z(`span`,lO,A(ce.value),1)):(R(),z(`span`,uO,`Scan`))]),_:1},8,[`disabled`]),H(M(Q),{size:`sm`,onClick:i[16]||=e=>ie.value=!0},{default:N(()=>[H(M(sd),{class:`size-4`}),i[40]||=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`,dO,[(R(!0),z(L,null,F(c.value.states,e=>(R(),B(M(QS),{key:`s-${e}`,variant:`secondary`,class:`gap-1`},{default:N(()=>[U(A(M(_p)[e])+` `,1),V(`button`,{type:`button`,class:`hover:text-foreground`,"aria-label":`Remove ${M(_p)[e]} filter`,onClick:t=>ee(e)},[H(M(Ad),{class:`size-3`})],8,fO)]),_:2},1024))),128)),(R(!0),z(L,null,F(c.value.plurality,e=>(R(),B(M(QS),{key:`p-${e}`,variant:`secondary`,class:`gap-1`},{default:N(()=>[U(A(M(vp)[e])+` `,1),V(`button`,{type:`button`,class:`hover:text-foreground`,"aria-label":`Remove ${M(vp)[e]} filter`,onClick:t=>te(e)},[H(M(Ad),{class:`size-3`})],8,pO)]),_:2},1024))),128)),c.value.emptySource?(R(),B(M(QS),{key:0,variant:`secondary`,class:`gap-1`},{default:N(()=>[i[41]||=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(QS),{key:`i-${e}`,variant:`outline`,class:`gap-1`},{default:N(()=>[U(A(M(gp)[e])+` `,1),V(`button`,{type:`button`,class:`hover:text-foreground`,"aria-label":`Remove ${M(gp)[e]} filter`,onClick:t=>E(e)},[H(M(Ad),{class:`size-3`})],8,mO)]),_:2},1024))),128)),c.value.aiContextUnreviewed?(R(),B(M(QS),{key:1,variant:`secondary`,class:`gap-1`},{default:N(()=>[H(M(yd),{class:`size-3`}),i[42]||=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(QS),{key:2,variant:`secondary`,class:`gap-1`},{default:N(()=>[i[43]||=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(QS),{key:3,variant:`secondary`,class:`gap-1`},{default:N(()=>[i[44]||=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`,hO,[H(VD,{ref_key:`translateBanner`,ref:re,onChanged:fe},null,512),H(VD,{ref_key:`contextBanner`,ref:D,kind:`context`,onChanged:fe},null,512)]),be.value.length?(R(),z(`div`,gO,[V(`button`,{id:`select-all-checkbox`,type:`button`,role:`checkbox`,"aria-checked":Te.value?`true`:Ee.value?`mixed`:`false`,"data-testid":`select-all`,class:k([`flex size-4 items-center justify-center rounded border transition-colors`,Te.value||Ee.value?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground hover:border-primary hover:bg-primary/10`]),"aria-label":Te.value?`Deselect all`:`Select all`,onClick:Oe},[Te.value?(R(),B(M(Ou),{key:0,class:`size-3`})):Ee.value?(R(),B(M(nd),{key:1,class:`size-3`})):W(``,!0)],10,_O),we.value?(R(),z(L,{key:0},[V(`span`,vO,A(we.value.toLocaleString())+` selected`,1),V(`span`,yO,`· `+A(Se.value),1)],64)):(R(),z(`label`,bO,`Select all`)),we.value?(R(),B(RC,{key:2,class:`ml-auto`,keys:Ce.value,locales:xe.value,"scope-label":Se.value,"tags-on-selection":De.value,onChanged:fe,onClear:i[21]||=e=>M(l).clear(),onTranslate:i[22]||=e=>oe.value=!0,onBuildContext:i[23]||=e=>se.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`,xO,[V(`div`,{ref_key:`parent`,ref:le,class:`h-full overflow-auto`},[de.value?(R(),z(`div`,SO,[H(M(ed),{class:`size-4 animate-spin`}),i[45]||=U(` Loading… `,-1)])):!ue.value&&be.value.length===0?(R(),z(`div`,CO,` No keys match the current filter. `)):(R(),z(`div`,{key:2,style:he({height:`${Ne.value}px`,position:`relative`,width:`100%`})},[(R(!0),z(L,null,F(Me.value,e=>(R(),z(`div`,{key:e.key,ref_for:!0,ref:e=>M(je).measureElement(e),"data-index":e.index,style:he({position:`absolute`,top:`${e.start}px`,left:`0`,width:`100%`})},[r.value&&be.value[e.index]?(R(),B(fT,{key:0,"key-name":be.value[e.index],entry:r.value.keys[be.value[e.index]],"source-locale":me.value,locales:ve.value,selected:ne.value===be.value[e.index],issues:f.value.get(be.value[e.index])??[],checked:M(l).has(be.value[e.index]),onSelect:t=>Pe(be.value[e.index]),onChanged:fe,onRenamed:t=>Re(be.value[e.index],t),onFilterTag:i[24]||=e=>c.value.text=e,onToggleSelect:t=>ke(be.value[e.index],t.shift)},null,8,[`key-name`,`entry`,`source-locale`,`locales`,`selected`,`issues`,`checked`,`onSelect`,`onRenamed`,`onToggleSelect`])):W(``,!0)],12,wO))),128))],4))],512),be.value.length?(R(),z(`div`,{key:0,class:`absolute inset-y-0`,style:he({left:`${M(t)}px`})},[H(XD,{side:`right`,class:`h-full`,width:M(t),min:M(QD).min,max:M(QD).max,"onUpdate:width":M(QD).set,onCommit:M(QD).commit,onReset:M(QD).reset},null,8,[`width`,`min`,`max`,`onUpdate:width`,`onCommit`,`onReset`])],4)):W(``,!0)]),H(XD,{side:`left`,class:`max-[1080px]:hidden`,width:M(n),min:M($D).min,max:M($D).max,"onUpdate:width":M($D).set,onCommit:M($D).commit,onReset:M($D).reset},null,8,[`width`,`min`,`max`,`onUpdate:width`,`onCommit`,`onReset`]),H(BE,{"key-name":ne.value,entry:Ae.value,issues:ne.value?f.value.get(ne.value)??[]:[],locales:ge.value,"source-locale":me.value,"usage-revision":h.value,style:he({width:`${M(n)}px`}),onChanged:fe},null,8,[`key-name`,`entry`,`issues`,`locales`,`source-locale`,`usage-revision`,`style`])],4),H(JE,{open:ie.value,"onUpdate:open":i[25]||=e=>ie.value=e,onCreated:ze},null,8,[`open`]),H(sD,{open:ae.value,"onUpdate:open":i[26]||=e=>ae.value=e,"export-locales":r.value?.config.exportLocales??[]},null,8,[`open`,`export-locales`]),H(DD,{open:oe.value,"onUpdate:open":i[27]||=e=>oe.value=e,state:r.value,"filtered-keys":Ce.value,"target-locale":x.value===`bilingual`?S.value:void 0,onChanged:fe,onBatchSubmitted:i[28]||=e=>re.value?.refresh()},null,8,[`open`,`state`,`filtered-keys`,`target-locale`]),H(LD,{open:se.value,"onUpdate:open":i[29]||=e=>se.value=e,state:r.value,keys:Ce.value,onChanged:fe,onBatchSubmitted:i[30]||=e=>D.value?.refresh()},null,8,[`open`,`state`,`keys`])])]),_:1}))}}),DO={"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`},OO={"empty-translation":`untranslated`,"placeholder-mismatch":`placeholder`,"glossary-violation":`glossary`,"max-length":`length`,spelling:`spelling`};function kO(e){if(e.ruleId===`empty-translation`)return{text:e.key,states:[`missing`]};if(e.ruleId===`output-stale`)return{};let t=OO[e.ruleId],n=e.locale?{locale:e.locale}:{};return t?{...n,issues:[t]}:{...n,text:e.key}}function AO(e,t){let n=e.values[t];return n?e.plural?(n.forms?.other??``).trim()!==``:(n.value??``).trim()!==``:!1}function jO(e,t){if(!AO(e,t))return`missing`;let n=e.values[t].state;return n===`reviewed`?`reviewed`:n===`needs-review`?`needsReview`:`machine`}function MO(e,t){let n=e.values[t];return n?e.plural?n.forms?.other??``:n.value??``:``}function NO(e){let t=e.trim();return t===``?0:t.split(/\s+/).length}function PO(e,t){return`${e} ${t}${e===1?``:`s`}`}function FO(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=jO(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(PO(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+NO(MO(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:IO(l,m)}}function IO(e,t){let n=[];for(let e of t.breaking)n.push({id:`b:${e.locale}:${e.key}:${e.ruleId}`,priority:`breaking`,title:`Fix ${DO[e.ruleId].toLowerCase()}`,where:e.locale?`${e.locale.toUpperCase()} · ${e.key}`:e.key,detail:e.message,filter:e.ruleId===`output-stale`?void 0:kO(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 ${PO(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 ${PO(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 ${PO(t.length,`${DO[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:kO(t[0]),count:t.length});return n}var LO={class:`min-h-0 flex-1 overflow-y-auto p-6`},RO={key:0,class:`mt-8 text-center text-sm text-muted-foreground`},zO={key:1,class:`mt-8 text-center text-sm text-muted-foreground`},BO={key:2,class:`mx-auto flex max-w-[1080px] flex-col gap-4`},VO={class:`flex flex-wrap divide-x rounded-xl border bg-card px-2 py-3 shadow-sm`},HO={class:`flex flex-col px-5`},UO={class:`text-lg font-semibold tabular-nums`},WO={class:`flex flex-col px-5`},GO={class:`text-lg font-semibold tabular-nums`},KO={class:`flex flex-col px-5`},qO={class:`text-lg font-semibold tabular-nums`},JO={class:`flex flex-col px-5`},YO={class:`text-lg font-semibold tabular-nums`},XO=[`disabled`],ZO={class:`flex flex-col px-5`},QO={class:`text-lg font-semibold tabular-nums`},$O={class:`flex flex-wrap items-start justify-between gap-6`},ek={class:`min-w-0`},tk={class:`mt-1.5 flex items-center gap-2.5 text-2xl font-semibold tracking-tight`},nk={class:`mt-1.5 text-sm text-muted-foreground`},rk={class:`text-emerald-600 dark:text-emerald-400`},ik={class:`text-amber-600 dark:text-amber-400`},ak={class:`text-red-600 dark:text-red-400`},ok={key:0,class:`mt-2 flex flex-col gap-1`},sk={class:`font-semibold`},ck={class:`font-mono text-muted-foreground`},lk={class:`text-muted-foreground`},uk={class:`flex gap-2`},dk={class:`text-[11px] uppercase tracking-wide text-muted-foreground`},fk={class:`mt-4 flex flex-wrap items-center gap-x-4 gap-y-2 border-t pt-3.5`},pk={class:`flex items-center gap-1 text-xs text-muted-foreground`},mk={class:`flex items-center gap-1 text-xs text-muted-foreground`},hk={class:`flex items-center gap-1 text-xs text-muted-foreground`},gk={class:`flex items-center gap-1 text-xs text-muted-foreground`},_k={class:`rounded-2xl border bg-card p-5 shadow-sm`},vk={key:0,class:`flex items-center gap-3 rounded-xl bg-muted p-4`},yk={key:1,class:`grid grid-cols-[repeat(auto-fill,minmax(218px,1fr))] gap-3`},bk=[`data-test`,`onClick`],xk={class:`flex items-start justify-between gap-2`},Sk={class:`flex min-w-0 flex-col`},Ck={class:`truncate font-mono text-xs font-semibold uppercase`},wk=[`title`],Tk={class:`text-2xl font-semibold tabular-nums leading-none`},Ek={class:`flex h-[7px] w-full overflow-hidden rounded-full bg-muted`},Dk={class:`flex min-h-[20px] items-center gap-1.5 text-xs text-muted-foreground`},Ok={class:`truncate`},kk={class:`rounded-2xl border bg-card p-5 shadow-sm`},Ak={class:`mb-4`},jk={class:`mt-0.5 text-sm text-muted-foreground`},Mk={key:0,class:`flex items-center gap-3 rounded-xl bg-muted p-4`},Nk={key:1,class:`flex flex-col gap-2`},Pk=[`disabled`,`onClick`],Fk={class:`flex min-w-0 flex-col gap-0.5`},Ik={class:`flex items-center gap-2 text-sm font-semibold`},Lk={class:`truncate font-mono text-xs text-muted-foreground`},Rk={key:0,class:`grid grid-cols-1 gap-4 lg:grid-cols-2`},zk={class:`rounded-2xl border bg-card p-5 shadow-sm`},Bk={key:0,class:`flex items-center gap-3 rounded-xl bg-muted p-4`},Vk={key:1,class:`flex flex-col gap-2.5`},Hk=[`disabled`,`onClick`],Uk={class:`flex flex-1 flex-col`},Wk={class:`text-sm font-semibold`},Gk={class:`text-xs text-muted-foreground`},Kk={key:0,class:`border-t`},qk={class:`flex items-center justify-between gap-2 border-b bg-muted/40 px-3.5 py-1.5`},Jk={class:`text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`},Yk=[`disabled`,`title`,`onClick`],Xk=[`onClick`,`onKeydown`],Zk=[`title`],Qk={class:`truncate font-medium`},$k={class:`font-mono text-muted-foreground`},eA={class:`truncate text-muted-foreground`},tA={class:`flex items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100`},nA=[`disabled`,`title`,`onClick`],rA=[`disabled`,`onClick`],iA={key:2,class:`mt-3 overflow-hidden rounded-xl border`},aA={key:0,class:`border-t`},oA={class:`font-mono font-semibold uppercase`},sA={class:`truncate`},cA={class:`font-mono`},lA={class:`truncate`},uA=[`disabled`,`onClick`],dA={class:`rounded-2xl border bg-card p-5 shadow-sm`},fA=[`onClick`],pA={class:`flex min-w-0 items-center gap-2`},mA={class:`flex min-w-0 flex-col`},hA={class:`whitespace-nowrap font-mono uppercase leading-tight`},gA=[`title`],_A={class:`text-center font-mono tabular-nums`},vA={key:1,class:`rounded-2xl border bg-card p-5 shadow-sm`},yA={class:`flex items-center gap-3 rounded-xl bg-muted p-4`},bA=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?FO(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(),Pf({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`,()=>Ff(e.key,e.ruleId,e.locale)),h=e=>p(`Restored ${DO[e.ruleId].toLowerCase()} on ${e.key}`,()=>If(e.key,e.ruleId,e.locale)),g=(e,t)=>p(`Dismissed ${t} warning${t===1?``:`s`}`,()=>Lf({rules:[e]})),_=e=>{let t=f(e);t&&p(`Added "${t}" to the dictionary`,()=>vf(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,...kO(e.errors[0])}:e.staleKeys.length?{locale:e.locale,states:[`needs-review`]}:{locale:e.locale}}function ee(e){return QC(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=>kO(e).issues??[]))];return t.length?{issues:t}:{needsAttention:!0}}return(e,t)=>(R(),z(`div`,LO,[r.value?(R(),z(`div`,RO,`Loading analytics…`)):s.value?(R(),z(`div`,zO,` No keys yet — add keys in the Editor to see analytics. `)):o.value?(R(),z(`div`,BO,[V(`section`,VO,[V(`div`,HO,[V(`span`,UO,A(o.value.totals.keys),1),t[2]||=V(`span`,{class:`text-xs text-muted-foreground`},`keys`,-1)]),V(`div`,WO,[V(`span`,GO,A(o.value.totals.locales),1),t[3]||=V(`span`,{class:`text-xs text-muted-foreground`},`locales`,-1)]),V(`div`,KO,[V(`span`,qO,A(o.value.totals.translatedPct)+`%`,1),t[4]||=V(`span`,{class:`text-xs text-muted-foreground`},`translated`,-1)]),V(`div`,JO,[V(`span`,YO,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(Fp)({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,XO),V(`div`,ZO,[V(`span`,QO,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`,$O,[V(`div`,ek,[t[12]||=V(`div`,{class:`font-mono text-[11px] uppercase tracking-wider text-muted-foreground`},`Can I ship?`,-1),V(`h1`,tk,[(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`,nk,[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`,rk,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`,ik,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`,ak,A(o.value.totals.blocked),1),t[11]||=U(` blocked`,-1)],64)):W(``,!0)],64))]),o.value.project.length?(R(),z(`ul`,ok,[(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`,sk,A(M(DO)[e.ruleId]),1),V(`span`,ck,A(e.key),1),V(`span`,lk,A(e.message),1)],2))),128))])):W(``,!0)]),V(`div`,uk,[(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`,dk,A(e.label),1)]))),128))])]),V(`div`,fk,[t[17]||=V(`span`,{class:`font-mono text-[10px] uppercase tracking-wider text-muted-foreground`},`Release gate`,-1),V(`span`,pk,[H(M(Ou),{class:`size-3 text-emerald-500`}),t[13]||=U(` 100% translated`,-1)]),V(`span`,mk,[H(M(Ou),{class:`size-3 text-emerald-500`}),t[14]||=U(` 0 lint errors`,-1)]),V(`span`,hk,[H(M(Ou),{class:`size-3 text-emerald-500`}),t[15]||=U(` outputs exported`,-1)]),V(`span`,gk,[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`,_k,[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`,vk,[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`,yk,[(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(Fp)(T(e))},[V(`div`,xk,[V(`span`,Sk,[V(`span`,Ck,A(e.locale),1),V(`span`,{class:`truncate text-[11px] text-muted-foreground`,title:ee(e.locale)},A(ee(e.locale)),9,wk)]),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`,Tk,[U(A(e.pct),1),t[20]||=V(`span`,{class:`ml-0.5 text-xs text-muted-foreground`},`%`,-1)]),V(`div`,Ek,[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`,Dk,[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`,Ok,A(w(e)),1)])],10,bk))),128))]))]),V(`section`,kk,[V(`header`,Ak,[t[22]||=V(`h2`,{class:`text-base font-semibold`},`Needs attention`,-1),V(`p`,jk,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`,Nk,[(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(Fp)(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`,Fk,[V(`span`,Ik,[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`,Lk,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,Pk)]))),128))])):(R(),z(`div`,Mk,[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`,vA,[t[32]||=V(`h2`,{class:`mb-4 text-base font-semibold`},`Quality`,-1),V(`div`,yA,[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`,Rk,[V(`section`,zk,[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`,Vk,[(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(Fp)(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`,Uk,[V(`span`,Wk,A(e.label),1),V(`span`,Gk,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,Hk),o.value.risk[e.key].length?(R(),z(`div`,Kk,[(R(!0),z(L,null,F(v(e.key),n=>(R(),z(L,{key:n.ruleId},[V(`div`,qk,[V(`span`,Jk,A(M(DO)[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,Yk)):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(Fp)(M(kO)(e)),onKeydown:Zl(t=>M(Fp)(M(kO)(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,Zk),V(`span`,Qk,[V(`span`,$k,A(e.key),1)]),V(`span`,eA,A(e.message),1),V(`span`,tA,[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,nA)):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,rA)):W(``,!0)])],40,Xk))),128))],64))),128))])):W(``,!0)])),64))])):(R(),z(`div`,Bk,[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`,iA,[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`,aA,[(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`,oA,A(e.locale||`—`),1),V(`span`,sA,[U(A(M(DO)[e.ruleId])+` · `,1),V(`span`,cA,A(e.key),1)]),V(`span`,lA,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,uA)]))),128))])):W(``,!0)])):W(``,!0)]),V(`section`,dA,[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(Fp)(T(e))},[V(`span`,pA,[V(`span`,{class:k([`size-2 shrink-0 rounded-full`,y[e.verdict].bar])},null,2),V(`span`,mA,[V(`span`,hA,A(e.locale),1),V(`span`,{class:`truncate text-xs leading-tight text-muted-foreground`,title:ee(e.locale)},A(ee(e.locale)),9,gA)])]),V(`span`,_A,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,fA))),128))])]))])):W(``,!0)]))}});function xA(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 SA={class:`grid gap-4`},CA={class:`grid gap-1.5`},wA={key:0,class:`text-xs text-muted-foreground`},TA={class:`flex items-center justify-between`},EA={class:`flex items-center justify-between`},DA={class:`grid gap-1.5`},OA={key:0,class:`grid gap-2 border-t pt-3`},kA={key:1,class:`text-sm text-destructive`},AA=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 bf(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(Mh),{open:r.value,"onUpdate:open":n[5]||=e=>r.value=e},{default:N(()=>[H(M(EC),{class:`max-h-[85vh] max-w-lg overflow-y-auto`},{default:N(()=>[H(M(DC),null,{default:N(()=>[H(M(kC),null,{default:N(()=>[U(A(c.value?`Edit term`:`Add term`),1)]),_:1}),H(M(AC),null,{default:N(()=>[...n[6]||=[U(` Guide AI translations with do-not-translate terms and forced translations. `,-1)]]),_:1})]),_:1}),V(`div`,SA,[V(`div`,CA,[H(M(TC),{for:`glossary-term`},{default:N(()=>[...n[7]||=[U(`Term`,-1)]]),_:1}),H(M(WS),{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`,wA,` The term is the entry's identity and can't be changed. `)):W(``,!0)]),V(`div`,TA,[V(`div`,null,[H(M(TC),{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(eC),{id:`glossary-dnt`,modelValue:a.doNotTranslate,"onUpdate:modelValue":n[1]||=e=>a.doNotTranslate=e},null,8,[`modelValue`])]),V(`div`,EA,[V(`div`,null,[H(M(TC),{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(eC),{id:`glossary-cs`,modelValue:a.caseSensitive,"onUpdate:modelValue":n[2]||=e=>a.caseSensitive=e},null,8,[`modelValue`])]),V(`div`,DA,[H(M(TC),{for:`glossary-notes`},{default:N(()=>[...n[12]||=[U(`Notes`,-1)]]),_:1}),H(M(aw),{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`,OA,[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(TC),{for:`glossary-tr-${e}`,class:`text-xs text-muted-foreground`},{default:N(()=>[H(Mw,{code:e,"show-name":``,"show-code":!1,size:12},null,8,[`code`])]),_:2},1032,[`for`]),H(M(WS),{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`,kA,A(s.value),1)):W(``,!0)]),H(M(OC),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`]))}}),jA={class:`min-h-0 flex-1 overflow-y-auto`},MA={key:0,class:`flex h-full items-center justify-center p-8 text-sm text-muted-foreground`},NA={key:1,class:`mx-auto flex max-w-3xl flex-col gap-4 p-6`},PA={class:`flex items-center justify-between`},FA={class:`relative`},IA={key:0,class:`rounded-lg border border-dashed p-10 text-center text-sm text-muted-foreground`},LA={key:1,class:`rounded-lg border border-dashed p-10 text-center text-sm text-muted-foreground`},RA={key:2,class:`flex flex-col gap-2`},zA={class:`min-w-0 flex-1`},BA={class:`flex flex-wrap items-center gap-2`},VA={class:`font-mono text-sm font-medium`},HA={key:0,class:`mt-1 text-sm text-muted-foreground`},UA={key:1,class:`mt-2 flex flex-wrap gap-1.5`},WA={class:`flex shrink-0 items-center gap-1`},GA={class:`font-mono`},KA=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(()=>xA(t.value,l.value)),d=K(()=>r.value.filter(e=>e!==n.value));async function f(){let[e,a]=await Promise.all([yf(),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 xf(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`,jA,[i.value?(R(),z(`div`,NA,[V(`div`,PA,[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`,FA,[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(WS),{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`,IA,` No glossary terms yet — add do-not-translate terms and forced translations to guide AI. `)):u.value.length===0?(R(),z(`div`,LA,` No terms match your search. `)):(R(),z(`ul`,RA,[(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`,zA,[V(`div`,BA,[V(`span`,VA,A(e.term),1),e.doNotTranslate?(R(),B(M(QS),{key:0,variant:`secondary`},{default:N(()=>[...n[8]||=[U(`Do-not-translate`,-1)]]),_:1})):W(``,!0),e.caseSensitive?(R(),B(M(QS),{key:1,variant:`outline`},{default:N(()=>[...n[9]||=[U(`Case-sensitive`,-1)]]),_:1})):W(``,!0)]),e.notes?(R(),z(`p`,HA,A(e.notes),1)):W(``,!0),h(e).length?(R(),z(`div`,UA,[(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`,WA,[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`,MA,` Loading glossary… `)),H(AA,{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(Mh),{open:s.value!==null,"onUpdate:open":n[5]||=e=>{e||(s.value=null)}},{default:N(()=>[H(M(EC),{class:`max-w-md`},{default:N(()=>[H(M(DC),null,{default:N(()=>[H(M(kC),null,{default:N(()=>[...n[10]||=[U(`Delete term`,-1)]]),_:1}),H(M(AC),null,{default:N(()=>[n[11]||=U(` Delete `,-1),V(`span`,GA,A(s.value?.term),1),n[12]||=U(` from the glossary? This cannot be undone. `,-1)]),_:1})]),_:1}),H(M(OC),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`])]))}}),qA=[{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`}],JA=Object.fromEntries(qA.map(e=>[e.id,e.default]));function YA(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 XA(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:{...JA,...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 ZA(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:YA(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])=>JA[e]!==void 0&&t!==JA[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 QA=j(0),$A={class:`flex items-center gap-2 p-2`},ej=[`aria-label`],tj={class:`!flex items-center gap-2`},nj={class:`truncate font-medium`},rj={class:`flex items-center gap-2`},ij={key:0,class:`grid gap-5 border-t border-border p-4`},aj={key:0,class:`grid gap-1.5`},oj={class:`mt-1 inline-flex w-fit rounded-md border border-input p-0.5`},sj=[`onClick`],cj={key:1,class:`grid gap-1.5`},lj={class:`mt-1 inline-flex w-fit rounded-md border border-input p-0.5`},uj=[`onClick`],dj={key:2,class:`grid gap-1.5`},fj={class:`flex items-center gap-2`},pj={key:0,class:`text-xs text-muted-foreground`},mj={class:`flex items-center gap-2`},hj={key:3,class:`grid gap-1.5`},gj={class:`flex items-center gap-2`},_j={key:0,class:`text-xs text-muted-foreground`},vj={class:`flex items-center gap-2`},yj={class:`text-xs text-muted-foreground`},bj={key:4,class:`grid gap-1.5`},xj={class:`flex items-center gap-2`},Sj={class:`text-xs text-muted-foreground`},Cj={class:`grid gap-1.5`},wj={class:`flex w-full items-center justify-between gap-4`},Tj={class:`font-mono text-xs text-muted-foreground`},Ej={class:`grid gap-1.5`},Dj={class:`mt-1 grid gap-2`},Oj={key:0,class:`text-xs text-muted-foreground`},kj={class:`w-24 shrink-0 font-mono text-xs font-semibold`},Aj={key:1},jj={class:`!flex items-center gap-1.5`},Mj={class:`border-t border-border pt-4`},Nj={class:`mt-2 grid gap-2`},Pj={key:0,class:`text-xs text-muted-foreground`},Fj={class:`flex h-8 shrink-0 items-center gap-1.5`},Ij={class:`font-mono text-xs font-semibold`},Lj={class:`flex flex-1 flex-wrap items-center gap-1.5`},Rj=[`onClick`],zj={key:1},Bj={class:`!flex items-center gap-1.5`},Vj=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`,$A,[H(M(lx),null,{default:N(()=>[H(M(mx),{"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,ej)]),_:1}),H(M(BC),null,{default:N(()=>[U(A(i.value?`Collapse`:`Expand options`),1)]),_:1})]),_:1}),H(M(Cb),{"model-value":e.output.adapter,"onUpdate:modelValue":b},{default:N(()=>[H(M(GS),{class:`w-44 shrink-0`},{default:N(()=>[V(`span`,tj,[(R(),B(aa(_(e.output.adapter)),{class:`size-3.5 shrink-0 text-primary`})),V(`span`,nj,A(h(e.output.adapter)),1)])]),_:1}),H(M(KS),null,{default:N(()=>[(R(!0),z(L,null,F(e.adapters,e=>(R(),B(M(JS),{key:e,value:e},{default:N(()=>[V(`span`,rj,[(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(JS),{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(WS),{"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`,ij,[c(`emptyAs`)?(R(),z(`div`,aj,[H(M(TC),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`,oj,[(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,sj)),64))])])):W(``,!0),c(`style`)?(R(),z(`div`,cj,[H(M(TC),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`,lj,[(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,uj)),64))])])):W(``,!0),c(`indent`)?(R(),z(`div`,dj,[V(`div`,fj,[H(M(TC),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`,pj,`Inherited · `+A(e.formatIndent),1))]),V(`div`,mj,[H(M(WS),{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`,hj,[V(`div`,gj,[H(M(TC),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`,_j,`Inherited · `+A(e.formatFinalNewline?`on`:`off`),1))]),V(`div`,vj,[H(M(eC),{"model-value":S.value,"onUpdate:modelValue":n[6]||=e=>v({finalNewline:e})},null,8,[`model-value`]),V(`span`,yj,A(S.value?`Enabled`:`Disabled`),1)])])):W(``,!0),c(`includeLocale`)?(R(),z(`div`,bj,[H(M(TC),{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`,xj,[H(M(eC),{"model-value":e.output.includeLocale??!0,"onUpdate:modelValue":n[7]||=e=>v({includeLocale:e})},null,8,[`model-value`]),V(`span`,Sj,A(e.output.includeLocale??!0?`Enabled`:`Disabled`),1)])])):W(``,!0),V(`div`,Cj,[H(M(TC),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(Cb),{"model-value":f.value,"onUpdate:modelValue":p},{default:N(()=>[H(M(GS),{class:`w-72`,"aria-label":`Locale code format`},{default:N(()=>[H(M(Wb))]),_:1}),H(M(KS),null,{default:N(()=>[H(M(JS),{value:`default`},{default:N(()=>[U(A(d(e.output.adapter)),1)]),_:1}),(R(),z(L,null,F(u,e=>H(M(JS),{key:e.value,value:e.value},{default:N(()=>[V(`span`,wj,[V(`span`,null,A(e.label),1),V(`span`,Tj,A(e.example),1)])]),_:2},1032,[`value`])),64))]),_:1})]),_:1},8,[`model-value`])]),V(`div`,Ej,[H(M(TC),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`,Dj,[oe.value.length===0?(R(),z(`p`,Oj,`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`,kj,A(e),1),H(M(xu),{class:`size-3 shrink-0 text-muted-foreground`}),H(M(WS),{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`,Aj,[H(M(Cb),{"model-value":``,"onUpdate:modelValue":ce},{default:N(()=>[H(M(GS),{class:`w-56 text-muted-foreground`,"aria-label":`Add locale override`},{default:N(()=>[V(`span`,jj,[H(M(sd),{class:`size-3.5`}),n[20]||=U(` Add override…`,-1)])]),_:1}),H(M(KS),null,{default:N(()=>[(R(!0),z(L,null,F(se.value,e=>(R(),B(M(JS),{key:e,value:e},{default:N(()=>[U(A(e),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1})])):W(``,!0)])]),V(`div`,Mj,[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`,Nj,[ee.value.length===0?(R(),z(`p`,Pj,`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`,Fj,[V(`span`,Ij,A(e),1),H(M(xu),{class:`size-3 text-muted-foreground`})]),V(`div`,Lj,[(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(lx),null,{default:N(()=>[H(M(mx),{"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,Rj)]),_:2},1024),H(M(BC),null,{default:N(()=>[...n[22]||=[U(`Remove`,-1)]]),_:1})]),_:2},1024)]))),128)),H(M(WS),{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(lx),null,{default:N(()=>[H(M(mx),{"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(BC),null,{default:N(()=>[...n[23]||=[U(`Remove alias`,-1)]]),_:1})]),_:2},1024)]))),128)),E.value.length>0?(R(),z(`div`,zj,[H(M(Cb),{"model-value":``,"onUpdate:modelValue":ne},{default:N(()=>[H(M(GS),{class:`w-56 text-muted-foreground`},{default:N(()=>[V(`span`,Bj,[H(M(sd),{class:`size-3.5`}),n[24]||=U(` Add locale alias…`,-1)])]),_:1}),H(M(KS),null,{default:N(()=>[(R(!0),z(L,null,F(E.value,e=>(R(),B(M(JS),{key:e,value:e},{default:N(()=>[U(A(e),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1})])):W(``,!0)])])])):W(``,!0)],2))}}),Hj={class:`grid gap-1.5`},Uj={class:`flex flex-wrap gap-2`},Wj=[`aria-label`,`onClick`],Gj={key:0,class:`text-sm text-muted-foreground`},Kj={class:`flex max-w-sm gap-2`},qj={key:0,class:`flex items-center gap-1.5 text-xs text-destructive`},Jj=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`,Hj,[H(M(TC),null,{default:N(()=>[U(A(e.label),1)]),_:1}),I(t.$slots,`help`),V(`div`,Uj,[(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,Wj)],2))),128)),e.items.length===0?(R(),z(`p`,Gj,`None — auto-detect.`)):W(``,!0)]),V(`div`,Kj,[H(M(WS),{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`,qj,[H(M(Ed),{class:`size-3.5`}),U(` `+A(a.value),1)])):W(``,!0)]))}}),Yj={key:0,class:`flex flex-1 items-center justify-center text-sm text-muted-foreground`},Xj={key:1,class:`flex min-h-0 flex-1 overflow-hidden`},Zj={class:`flex w-60 shrink-0 flex-col gap-1 overflow-y-auto border-r bg-muted p-3`},Qj=[`onClick`],$j={class:`min-w-0 flex-1`},eM={class:`block text-[13px] font-[570] leading-tight`},tM={class:`mt-0.5 block truncate text-[11px] opacity-70`},nM={key:0,class:`size-2 shrink-0 rounded-full bg-primary ring-2 ring-primary/25`},rM={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`},iM=[`onClick`],aM={class:`min-w-0 flex-1`},oM={class:`block text-[13px] font-[570] leading-tight`},sM={class:`mt-0.5 block truncate text-[11px] opacity-70`},cM={class:`relative flex min-w-0 flex-1 flex-col`},lM={class:`flex-1 overflow-y-auto px-8 pb-28 pt-7`},uM={class:`max-w-[680px]`},dM={class:`mb-6`},fM={class:`flex items-center gap-2.5 text-[21px] font-bold tracking-tight`},pM={key:0,class:`size-2 rounded-full bg-primary ring-2 ring-primary/25`},mM={key:0,class:`mt-1.5 text-sm text-muted-foreground`},hM={key:1,class:`mt-1.5 text-sm text-muted-foreground`},gM={key:2,class:`mt-1.5 text-sm text-muted-foreground`},_M={key:3,class:`mt-1.5 text-sm text-muted-foreground`},vM={key:4,class:`mt-1.5 text-sm text-muted-foreground`},yM={key:5,class:`mt-1.5 text-sm text-muted-foreground`},bM={key:6,class:`mt-1.5 text-sm text-muted-foreground`},xM={key:7,class:`mt-2 flex items-center gap-1.5 text-sm text-muted-foreground`},SM={key:0,class:`flex flex-col gap-5`},CM={class:`grid max-w-sm gap-1.5`},wM={key:0},TM={class:`grid gap-1.5`},EM={class:`ml-1.5 font-normal text-muted-foreground`},DM={class:`flex flex-wrap gap-2`},OM={key:0,class:`font-mono text-[10px] italic text-muted-foreground`},kM=[`aria-label`,`onClick`],AM={class:`mt-1 flex items-center gap-1.5 text-xs text-destructive`},jM={class:`grid max-w-sm gap-1.5`},MM={class:`flex gap-2`},NM={key:0,class:`flex items-center gap-1.5 text-xs text-muted-foreground`},PM={key:1,class:`flex flex-col gap-6`},FM={class:`flex items-center justify-between gap-4 rounded-lg border p-3.5`},IM={class:`flex items-start gap-2.5`},LM={class:`grid size-8 shrink-0 place-items-center rounded-md border border-primary/25 bg-primary/10 text-primary`},RM={class:`rounded-lg border p-3.5`},zM={class:`flex items-center justify-between gap-4`},BM={class:`flex items-start gap-2.5`},VM={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`},HM={key:0,class:`mt-3 border-t pt-3`},UM={class:`flex flex-wrap gap-2`},WM=[`aria-checked`,`onClick`],GM={class:`mt-2 flex items-center gap-1.5 text-xs text-amber-600 dark:text-amber-400`},KM={class:`mt-2 divide-y rounded-lg border`},qM={class:`flex items-center justify-between gap-4 p-3.5`},JM={class:`flex items-center gap-2`},YM={class:`flex items-center justify-between gap-4 p-3.5`},XM={class:`flex items-center gap-2 text-sm font-medium`},ZM={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`},QM={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`},$M={class:`flex items-center justify-between gap-4 p-3.5`},eN={class:`mt-2 flex flex-col gap-2.5`},tN={key:0,class:`text-sm text-muted-foreground`},nN={key:2,class:`flex flex-col gap-4`},rN={class:`flex items-center gap-2 rounded-lg border p-3`},iN={key:1,class:`flex-1 text-sm text-muted-foreground`},aN={class:`grid max-w-sm gap-4`},oN={class:`grid gap-1.5`},sN={class:`flex items-center gap-2`},cN={key:0,class:`flex items-center gap-1 text-xs leading-none text-emerald-600 dark:text-emerald-400`},lN={class:`text-xs text-muted-foreground`},uN={class:`grid gap-1.5`},dN={key:0,class:`text-xs text-muted-foreground`},fN=[`onClick`],pN={key:0},mN={key:0,class:`grid gap-1.5`},hN={key:1,class:`grid gap-1.5`},gN={key:0,class:`text-xs text-muted-foreground`},_N={key:1,class:`text-xs text-muted-foreground`},vN={class:`grid gap-1.5`},yN={class:`grid gap-1.5`},bN={class:`grid gap-1.5`},xN={class:`grid gap-1.5`},SN={class:`grid gap-1.5`},CN={class:`grid gap-1.5`},wN={key:2,class:`flex items-center gap-3`},TN={class:`grid gap-0.5`},EN={key:3,class:`grid gap-1.5`},DN={key:3,class:`flex flex-col gap-6`},ON={key:4,class:`flex flex-col gap-6`},kN={class:`mt-2 divide-y rounded-lg border`},AN={class:`min-w-0`},jN={class:`flex items-center gap-2 text-sm font-medium`},MN={class:`rounded border bg-muted px-1 py-0.5 font-mono text-[10px] text-muted-foreground`},NN={class:`mt-0.5 text-xs text-muted-foreground`},PN={key:5,class:`flex flex-col gap-4`},FN={class:`flex flex-wrap gap-2`},IN=[`aria-label`,`onClick`],LN={key:0,class:`text-sm text-muted-foreground`},RN={class:`grid max-w-sm gap-1.5`},zN={class:`flex gap-2`},BN={key:6,class:`flex flex-col gap-4`},VN={class:`grid max-w-sm gap-1.5`},HN={class:`flex items-center gap-2`},UN={key:0,class:`flex items-center gap-1 text-xs leading-none text-emerald-600 dark:text-emerald-400`},WN={class:`flex items-center gap-1.5 text-sm text-muted-foreground`},GN={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`},KN={class:`font-semibold`},qN={class:`relative`},JN={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`},YN={class:`mt-1 text-xs leading-relaxed text-muted-foreground`},XN={class:`mt-3 flex justify-end gap-2`},ZN={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`},QN={id:`leave-warning-title`,class:`flex items-center gap-2 text-[15px] font-semibold`},$N={class:`mt-1.5 text-[13px] leading-relaxed text-muted-foreground`},eP={class:`font-medium text-foreground`},tP={class:`block`},nP={class:`mt-4 flex items-center gap-2`},rP={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`},iP=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=Mp().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(XA(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([ff(),mf()]);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 hf(C.value,e),S.value={...S.value,[C.value]:e}):await pf({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=>{QA.value=e},{immediate:!0}),Xi(()=>{QA.value=0});let ue=K(()=>pT.find(e=>e.id===gT.value)?.label??`VS Code`),de=j(!1),fe=null;function pe(e){_T(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])=>JA[e]!==void 0&&t!==JA[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 lf(ZA(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,Ap(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),kp(ye)}),Xi(()=>{window.removeEventListener(`keydown`,Te),window.removeEventListener(`beforeunload`,we),window.removeEventListener(`hashchange`,h),kp(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 _f(e),D(e?S.value[e]??ie():(await ff()).ai)}async function Be(){let e=`Profile ${Object.keys(S.value).length+1}`,t=ie();await hf(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 hf(n,r),await gf(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 gf(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`,Xj,[V(`nav`,Zj,[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`,$j,[V(`span`,eM,A(e.title),1),V(`span`,tM,A(ge(e.id)),1)]),!e.autosave&&O.value.includes(e.id)?(R(),z(`span`,nM)):W(``,!0),e.autosave?(R(),z(`span`,rM,`Auto`)):W(``,!0)],10,Qj)),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`,aM,[V(`span`,oM,A(me[e].title),1),V(`span`,sM,A(e===`editor`?ue.value:ge(e)),1)])],10,iM)),64))]),V(`div`,cM,[V(`div`,lM,[V(`div`,uM,[V(`div`,dM,[V(`h2`,fM,[U(A(me[d.value].title)+` `,1),O.value.includes(d.value)?(R(),z(`span`,pM)):W(``,!0)]),d.value===`languages`?(R(),z(`p`,mM,` The source language is translated into every other language. `)):d.value===`outputs`?(R(),z(`p`,hM,[...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`,gM,[...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`,_M,` 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`,vM,[...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`,yM,` Words the spell checker should never flag. Added here or from a cell's warning. `)):d.value===`editor`?(R(),z(`p`,bM,[...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`,xM,[H(M(jd),{class:`size-3.5`}),t[36]||=U(` Changes here save automatically. `,-1)])):W(``,!0)]),d.value===`languages`?(R(),z(`div`,SM,[V(`div`,CM,[H(M(TC),{for:`source-locale`},{default:N(()=>[...t[37]||=[U(`Source language`,-1)]]),_:1}),H(M(Cb),{modelValue:c.sourceLocale,"onUpdate:modelValue":t[0]||=e=>c.sourceLocale=e},{default:N(()=>[H(M(GS),{id:`source-locale`},{default:N(()=>[c.sourceLocale?(R(),z(`span`,wM,[H(Mw,{code:c.sourceLocale,"show-name":``,size:14},null,8,[`code`])])):(R(),B(M(Wb),{key:1,placeholder:`Select source`}))]),_:1}),H(M(KS),null,{default:N(()=>[(R(!0),z(L,null,F(c.locales,e=>(R(),B(M(JS),{key:e,value:e},{default:N(()=>[H(Mw,{code:e,"show-name":``,size:14},null,8,[`code`])]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`])]),V(`div`,TM,[H(M(TC),null,{default:N(()=>[t[38]||=U(` Languages `,-1),V(`span`,EM,A(c.locales.length),1)]),_:1}),V(`div`,DM,[(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(Mw,{code:e,"show-name":``,size:14},null,8,[`code`]),e===c.sourceLocale?(R(),z(`span`,OM,`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,kM))],2))),128))]),V(`p`,AM,[H(M(Ed),{class:`size-3.5`}),t[39]||=U(` Removing a language deletes its translations. `,-1)])]),V(`div`,jM,[H(M(TC),{for:`add-locale`},{default:N(()=>[...t[40]||=[U(`Add language`,-1)]]),_:1}),V(`div`,MM,[H(M(WS),{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`,NM,[t[42]||=U(` Preview: `,-1),H(Mw,{code:Ee.value.trim(),"show-name":``,size:14},null,8,[`code`])])):W(``,!0)])])):d.value===`outputs`?(R(),z(`div`,PM,[V(`div`,FM,[V(`div`,IM,[V(`span`,LM,[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(eC),{modelValue:c.autoExport,"onUpdate:modelValue":t[2]||=e=>c.autoExport=e},null,8,[`modelValue`])]),V(`div`,RM,[V(`div`,zM,[V(`div`,BM,[V(`span`,VM,[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(eC),{"model-value":je.value,"onUpdate:modelValue":Me},null,8,[`model-value`])]),je.value?(R(),z(`div`,HM,[V(`div`,UM,[(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(Mw,{code:e,"show-name":``,size:14},null,8,[`code`])],10,WM))),128))]),V(`p`,GM,[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`,KM,[V(`div`,qM,[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`,JM,[H(M(WS),{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`,YM,[V(`div`,null,[V(`div`,XM,[t[48]||=U(` Sort keys `,-1),V(`span`,ZM,[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`,QM,[H(M(Ou),{class:`size-3`}),t[50]||=U(` Always alphabetical`,-1)])]),V(`div`,$M,[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(eC),{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`,eN,[(R(!0),z(L,null,F(c.outputs,(e,t)=>(R(),B(Vj,{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`,tN,`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`,nN,[V(`div`,rN,[H(M(Cb),{"model-value":C.value??`__none__`,"onUpdate:modelValue":t[5]||=e=>ze(e===`__none__`?null:e)},{default:N(()=>[H(M(GS),{class:`w-44`},{default:N(()=>[H(M(Wb),{placeholder:`No profile`})]),_:1}),H(M(KS),null,{default:N(()=>[H(M(JS),{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(JS),{key:e,value:e},{default:N(()=>[U(A(e),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`model-value`]),C.value?(R(),B(M(WS),{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`,iN,`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`,aN,[V(`div`,oN,[V(`div`,sN,[H(M(TC),{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`,cN,[H(M(Ou),{class:`size-3`}),t[59]||=U(` Saved `,-1)])):W(``,!0)]),_:1})]),H(M(Cb),{modelValue:T.provider,"onUpdate:modelValue":t[9]||=e=>T.provider=e},{default:N(()=>[H(M(GS),{id:`ai-provider`},{default:N(()=>[H(M(Wb),{placeholder:`Select provider`})]),_:1}),H(M(KS),null,{default:N(()=>[(R(),z(L,null,F(r,e=>H(M(JS),{key:e.value,value:e.value},{default:N(()=>[U(A(e.label),1)]),_:2},1032,[`value`])),64))]),_:1})]),_:1},8,[`modelValue`]),V(`p`,lN,A(Ie.value),1)]),V(`div`,uN,[H(M(TC),{for:`ai-model`},{default:N(()=>[...t[60]||=[U(`Model`,-1)]]),_:1}),H(M(WS),{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`,dN,[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,fN),t<Le.value.length-1?(R(),z(`span`,pN,` · `)):W(``,!0)],64))),128))])):W(``,!0)]),Pe.value?(R(),z(`div`,mN,[H(M(TC),{for:`ai-region`},{default:N(()=>[...t[62]||=[U(`Region`,-1)]]),_:1}),H(M(WS),{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`,hN,[H(M(TC),{for:`ai-endpoint`},{default:N(()=>[...t[64]||=[U(`Endpoint`,-1)]]),_:1}),H(M(WS),{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`,gN,[...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`,_N,`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`,vN,[H(M(TC),{for:`ai-batch`},{default:N(()=>[...t[66]||=[U(`Batch size`,-1)]]),_:1}),H(M(WS),{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`,yN,[H(M(TC),{for:`ai-concurrency`},{default:N(()=>[...t[68]||=[U(`Parallel locales`,-1)]]),_:1}),H(M(WS),{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`,bN,[H(M(TC),{for:`ai-price-in`},{default:N(()=>[...t[70]||=[U(`Input price ($ / 1M tokens)`,-1)]]),_:1}),H(M(WS),{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`,xN,[H(M(TC),{for:`ai-price-out`},{default:N(()=>[...t[71]||=[U(`Output price ($ / 1M tokens)`,-1)]]),_:1}),H(M(WS),{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`,SN,[H(M(TC),{for:`ai-context-batch`},{default:N(()=>[...t[73]||=[U(`Batch size`,-1)]]),_:1}),H(M(WS),{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`,CN,[H(M(TC),{for:`ai-context-concurrency`},{default:N(()=>[...t[75]||=[U(`Concurrency`,-1)]]),_:1}),H(M(WS),{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`,wN,[H(M(eC),{id:`ai-vision`,modelValue:T.vision,"onUpdate:modelValue":t[19]||=e=>T.vision=e},null,8,[`modelValue`]),V(`div`,TN,[H(M(TC),{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`,EN,[H(M(TC),{for:`ai-prompt-style`},{default:N(()=>[...t[79]||=[U(`Prompt style`,-1)]]),_:1}),H(M(Cb),{"model-value":T.promptStyle||`__default__`,"onUpdate:modelValue":t[20]||=e=>T.promptStyle=e===`__default__`?``:e},{default:N(()=>[H(M(GS),{id:`ai-prompt-style`},{default:N(()=>[H(M(Wb),{placeholder:`Default`})]),_:1}),H(M(KS),null,{default:N(()=>[H(M(JS),{value:`__default__`},{default:N(()=>[...t[80]||=[U(`Default`,-1)]]),_:1}),H(M(JS),{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`,DN,[H(Jj,{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(Jj,{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(Jj,{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(Jj,{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(Jj,{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`,ON,[V(`div`,null,[t[91]||=V(`div`,{class:`text-xs font-semibold uppercase tracking-wide text-muted-foreground`},`Rules`,-1),V(`div`,kN,[(R(!0),z(L,null,F(M(qA),e=>(R(),z(`div`,{key:e.id,class:`flex items-center justify-between gap-4 p-3.5`},[V(`div`,AN,[V(`div`,jN,[U(A(e.label)+` `,1),V(`code`,MN,A(e.id),1)]),V(`div`,NN,A(e.description),1)]),H(M(Cb),{"model-value":c.lintRules[e.id]??e.default,"onUpdate:modelValue":t=>c.lintRules={...c.lintRules,[e.id]:t}},{default:N(()=>[H(M(GS),{class:k([`w-32 shrink-0`,c.lintRules[e.id]===`off`?`text-muted-foreground`:``])},{default:N(()=>[H(M(Wb))]),_:1},8,[`class`]),H(M(KS),null,{default:N(()=>[H(M(JS),{value:`error`},{default:N(()=>[U(`Error`+A(e.default===`error`?` ·`:``),1)]),_:2},1024),H(M(JS),{value:`warn`},{default:N(()=>[U(`Warning`+A(e.default===`warn`?` ·`:``),1)]),_:2},1024),H(M(JS),{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(Jj,{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`,PN,[V(`div`,FN,[(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,IN)]))),128)),c.customWords.length===0?(R(),z(`p`,LN,`No custom words yet.`)):W(``,!0)]),V(`div`,RN,[H(M(TC),{for:`add-word`},{default:N(()=>[...t[94]||=[U(`Add word`,-1)]]),_:1}),V(`div`,zN,[H(M(WS),{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`,BN,[V(`div`,VN,[V(`div`,HN,[H(M(TC),{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`,UN,[H(M(Ou),{class:`size-3`}),t[97]||=U(` Saved `,-1)])):W(``,!0)]),_:1})]),H(M(Cb),{"model-value":M(gT),"onUpdate:modelValue":pe},{default:N(()=>[H(M(GS),{id:`editor-select`},{default:N(()=>[H(M(Wb),{placeholder:`Select editor`})]),_:1}),H(M(KS),null,{default:N(()=>[(R(!0),z(L,null,F(M(pT),e=>(R(),B(M(JS),{key:e.id,value:e.id},{default:N(()=>[U(A(e.label),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`model-value`])]),V(`p`,WN,[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`,GN,A(ce.value),1),U(` Unsaved `+A(ce.value===1?`change`:`changes`)+` in `,1),V(`strong`,KN,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`,qN,[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`,JN,[t[105]||=V(`p`,{class:`text-[13px] font-semibold`},`Discard all changes?`,-1),V(`p`,YN,` Reverts every unsaved edit in `+A(le.value.join(`, `))+`. `,1),V(`div`,XN,[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`,Yj,` 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`,ZN,[V(`h3`,QN,[H(M(Ed),{class:`size-4 text-amber-500`}),t[107]||=U(` Unsaved changes `,-1)]),V(`p`,$N,[U(` You have `+A(ce.value)+` unsaved `+A(ce.value===1?`change`:`changes`)+` in `,1),V(`strong`,eP,A(le.value.join(`, `)),1),t[108]||=U(`. `,-1),V(`span`,tP,`Leaving now discards `+A(ce.value===1?`it`:`them`)+`.`,1)]),V(`div`,nP,[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`,rP,[H(M(Ou),{class:`size-3.5`}),t[112]||=U(` Settings saved `,-1)])):W(``,!0)]),_:1})],64))}}),aP={class:`min-h-0 flex-1 overflow-y-auto`},oP={key:0,class:`flex h-full items-center justify-center p-8 text-sm text-muted-foreground`},sP={key:1,class:`flex h-full items-center justify-center p-8`},cP={class:`flex max-w-md flex-col items-center gap-3 text-center text-muted-foreground`},lP={key:2,class:`grid grid-cols-[repeat(auto-fill,minmax(180px,1fr))] gap-3 p-6`},uP=[`onClick`],dP={class:`flex aspect-video items-center justify-center overflow-hidden border-b bg-muted/30`},fP=[`src`,`alt`],pP={class:`flex flex-col gap-0.5 p-2.5`},mP={class:`truncate font-mono text-xs font-medium`},hP={class:`truncate text-xs text-muted-foreground`},gP={key:1,class:`truncate text-xs text-muted-foreground`},_P={class:`flex max-h-[70vh] items-center justify-center overflow-auto rounded-md border bg-muted/30 p-2`},vP=[`src`,`alt`],yP={key:0,class:`text-sm text-muted-foreground`},bP=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`,aP,[n.value?o.value.length===0?(R(),z(`div`,sP,[V(`div`,cP,[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`,lP,[(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`,dP,[V(`img`,{src:`/`+e.screenshot,alt:`Screenshot for ${e.key}`,class:`h-full w-full object-contain`},null,8,fP)]),V(`div`,pP,[H(M(lx),null,{default:N(()=>[H(M(mx),{"as-child":``},{default:N(()=>[V(`span`,mP,A(e.key),1)]),_:2},1024),H(M(BC),{class:`font-mono`},{default:N(()=>[U(A(e.key),1)]),_:2},1024)]),_:2},1024),e.source?(R(),B(M(lx),{key:0},{default:N(()=>[H(M(mx),{"as-child":``},{default:N(()=>[V(`span`,hP,A(e.source),1)]),_:2},1024),H(M(BC),null,{default:N(()=>[U(A(e.source),1)]),_:2},1024)]),_:2},1024)):(R(),z(`span`,gP,`—`))])],8,uP))),128))])):(R(),z(`div`,oP,` Loading screenshots… `)),H(M(Mh),{open:r.value!==null,"onUpdate:open":t[1]||=e=>{e||(r.value=null)}},{default:N(()=>[r.value?(R(),B(M(EC),{key:0,class:`max-w-3xl`},{default:N(()=>[H(M(DC),null,{default:N(()=>[H(M(kC),{class:`break-all font-mono text-sm`},{default:N(()=>[U(A(r.value.key),1)]),_:1}),H(M(AC),null,{default:N(()=>[U(A(r.value.source||`—`),1)]),_:1})]),_:1}),V(`div`,_P,[V(`img`,{src:`/`+r.value.screenshot,alt:`Screenshot for ${r.value.key}`,class:`max-h-[65vh] w-auto object-contain`},null,8,vP)]),r.value.entry.context?(R(),z(`p`,yP,[t[3]||=V(`span`,{class:`font-medium text-foreground`},`Context:`,-1),U(` `+A(r.value.entry.context),1)])):W(``,!0),H(M(OC),null,{default:N(()=>[H(M(Q),{size:`sm`,onClick:t[0]||=e=>M(Lp)(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`])]))}}),xP={class:`min-h-0 flex-1 overflow-y-auto p-4`},SP={key:0,class:`mt-8 text-center text-sm text-muted-foreground`},CP={key:1,class:`mx-auto flex max-w-4xl flex-col gap-4`},wP={key:0,class:`flex flex-wrap gap-1.5`},TP=[`onClick`],EP={class:`flex flex-wrap items-center gap-3 border-b px-4 py-2.5`},DP={class:`text-sm font-medium`},OP={class:`text-sm text-muted-foreground`},kP={class:`border-b`},AP={class:`overflow-x-auto whitespace-pre-wrap break-words bg-muted/40 px-4 py-3 font-mono text-xs leading-relaxed`},jP={class:`divide-y`},MP={class:`flex items-center gap-2`},NP={class:`truncate font-mono text-xs text-muted-foreground`},PP={class:`flex items-start gap-2 text-sm`},FP={class:`min-w-0 flex-1 break-words`},IP={class:`min-w-0 flex-1 break-words`},LP={key:0,class:`text-destructive`},RP={key:1},zP={key:0,class:`text-xs text-muted-foreground`},BP={key:1,class:`flex flex-wrap gap-1`},VP={key:2,class:`flex items-center gap-1.5 text-xs text-muted-foreground`},HP={class:`truncate font-mono`},UP={key:1,class:`flex flex-col gap-1.5 px-4 py-3`},WP={key:0,class:`flex items-center gap-2`},GP={class:`truncate font-mono text-xs text-muted-foreground`},KP={key:1,class:`flex items-start gap-2 text-sm`},qP=P({__name:`ActivityView`,setup(e){let t=j([]),n=j(!0),r=j(`all`);Ki(async()=>{try{t.value=await Df()}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=>VS(`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`,xP,[!n.value&&t.value.length===0?(R(),z(`p`,SP,` No activity yet — edits, translations, and config changes will show up here. `)):(R(),z(`div`,CP,[a.value.length>1?(R(),z(`div`,wP,[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,TP))),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`,EP,[V(`span`,DP,A(new Date(e.at).toLocaleString()),1),H(M(QS),{variant:`outline`,class:`font-mono uppercase`},{default:N(()=>[U(A(e.kind),1)]),_:2},1024),V(`span`,OP,A(e.summary),1),e.model?(R(),B(M(QS),{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`,kP,[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`,AP,A(e.system),1)]),V(`ul`,jP,[(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`,MP,[V(`span`,NP,A(t.key),1),t.targetLocale?(R(),B(M(QS),{key:0,variant:`outline`,class:`shrink-0 font-mono uppercase`},{default:N(()=>[U(A(t.targetLocale),1)]),_:2},1024)):W(``,!0)]),V(`div`,PP,[V(`span`,FP,A(t.source),1),H(M(xu),{class:`mt-0.5 size-4 shrink-0 text-muted-foreground`}),V(`span`,IP,[c(e,t.id)?.error?(R(),z(`span`,LP,A(c(e,t.id)?.error),1)):(R(),z(`span`,RP,A(c(e,t.id)?.translation??c(e,t.id)?.value),1))])]),t.context?(R(),z(`p`,zP,A(t.context),1)):W(``,!0),t.glossary?.length?(R(),z(`div`,BP,[(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`,VP,[H(M(Xu),{class:`size-3.5 shrink-0`}),V(`span`,HP,A(t.screenshot),1)])):W(``,!0)]))),128))])],64)):e.key||e.before!==void 0||e.after!==void 0?(R(),z(`div`,UP,[e.key?(R(),z(`div`,WP,[V(`span`,GP,A(e.key),1),e.locale?(R(),B(M(QS),{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`,KP,[e.before===void 0?W(``,!0):(R(),z(`span`,{key:0,class:k(M(VS)(`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(VS)(`min-w-0 flex-1 break-words`,d(e.after)&&`font-mono text-xs`))},A(u(e.after)),3))])):W(``,!0)])):W(``,!0)]))),128))]))]))}}),JP=[{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&#39;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`}],KP={class:`flex min-h-0 flex-1 overflow-hidden`},qP={class:`flex w-56 shrink-0 flex-col overflow-hidden border-r bg-muted/30`},JP={class:`relative shrink-0 px-2 py-2`},YP={key:0,class:`flex flex-col gap-1 overflow-y-auto px-2 pb-3`},XP={class:`px-2 py-1 text-xs text-muted-foreground`},ZP=[`onClick`],QP={class:`text-sm font-medium`},$P={key:0,class:`text-[10px] uppercase tracking-wider text-muted-foreground`},eF={key:1,class:`mt-0.5 line-clamp-2 text-xs text-muted-foreground`},tF={class:`bg-primary/20 text-foreground`},nF={key:1,class:`flex flex-col gap-1 overflow-y-auto px-2 pb-3`},rF=[`onClick`],iF={class:`min-w-0 flex-1 overflow-y-auto`},aF=[`innerHTML`],oF=P({__name:`DocsView`,setup(e){let t=[``,`Getting Started`,`Web UI`,`CLI`,`Concepts`,`AI Translation`,`Reference`,`Guides`,`Help`],n=j(GP[0]?.id??``),r=j(``),i=K(()=>{let e=new Map;for(let n of t)e.set(n,[]);for(let t of GP)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 GP){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(()=>GP.find(e=>e.id===n.value)??GP[0]);function s(e){n.value=e,r.value=``}return(e,t)=>(R(),z(`div`,KP,[V(`nav`,qP,[V(`div`,JP,[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`,YP,[V(`div`,XP,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`,QP,A(e.title),1),e.section?(R(),z(`div`,$P,A(e.section),1)):W(``,!0),e.match?(R(),z(`div`,eF,[U(A(e.before),1),V(`mark`,tF,A(e.match),1),U(A(e.after),1)])):W(``,!0)],8,ZP))),128))])):(R(),z(`div`,nF,[(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,rF))),128))],64))),128))]))]),V(`div`,iF,[V(`div`,{class:`prose prose-sm dark:prose-invert mx-auto max-w-3xl px-8 py-6`,innerHTML:o.value?.html},null,8,aF)])]))}}),sF={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 cF(e){let[t=``,n]=e.split(/[-_]/),r=t.toLowerCase(),i=n&&/^[A-Za-z]{2}$/.test(n)?n.toUpperCase():void 0,a=sF[r]??e;return{code:e,name:i?`${a} (${i})`:a}}var lF={class:`p-6`},uF={class:`flex items-start gap-3 pr-6`},dF={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`},fF={class:`min-w-0`},pF={class:`font-medium text-foreground`},mF={class:`font-mono text-[12px]`},hF={class:`mt-4 flex items-center gap-4 rounded-lg border border-border bg-muted/40 px-3.5 py-2.5`},gF={class:`flex flex-col`},_F={class:`text-[17px] font-semibold leading-none tabular-nums`},vF={class:`flex flex-col`},yF={class:`text-[17px] font-semibold leading-none tabular-nums`},bF={class:`ml-auto flex items-center gap-1.5 whitespace-nowrap text-[11px] text-muted-foreground`},xF={class:`mt-5`},SF={class:`!flex min-w-0 items-center gap-2`},CF={class:`font-mono text-[13px]`},wF={class:`truncate text-[13px] text-muted-foreground`},TF={class:`flex items-center gap-2`},EF={class:`font-mono text-[13px]`},DF={class:`text-[13px] text-muted-foreground`},OF={class:`mt-4`},kF={class:`flex items-center justify-between`},AF={class:`whitespace-nowrap text-[12px] tabular-nums text-muted-foreground`},jF={class:`mt-1.5 flex flex-wrap gap-1.5 rounded-lg border border-border bg-muted/30 p-2.5`},MF=[`disabled`,`onClick`],NF={class:`font-mono`},PF={key:0,class:`ml-0.5 rounded-sm bg-primary/15 px-1 text-[9px] font-semibold uppercase tracking-wide text-primary`},FF={key:0,class:`mt-4`},IF={class:`overflow-hidden rounded-lg border border-border`},LF={class:`ml-auto font-mono text-[11px] text-muted-foreground/70`},RF={key:0,class:`divide-y divide-border border-t border-border gf-content-fade`},zF={class:`shrink-0 font-mono text-foreground`},BF={class:`ml-auto truncate text-right text-muted-foreground`},VF={key:0,class:`px-3 py-1.5 text-[11px] text-muted-foreground/70`},HF={class:`flex items-center gap-2 border-t border-border px-6 py-4`},UF={class:`ml-1 flex cursor-pointer select-none items-center gap-1.5 text-[12px] text-muted-foreground`},WF={class:`ml-auto`},GF={class:`flex flex-col items-center justify-center gap-4 p-6 py-8 text-center`},KF={key:0,class:`mt-1 text-[13px] text-muted-foreground`},qF={class:`p-6`},JF={class:`flex flex-col items-center gap-3 pt-1 text-center`},YF={class:`grid h-12 w-12 place-items-center rounded-full bg-success-bg text-success ring-1 ring-success-border`},XF={class:`font-semibold text-foreground tabular-nums`},ZF={class:`font-semibold text-foreground`},QF={key:0,class:`mt-5 overflow-hidden rounded-lg border border-warning-border bg-warning-bg/60`},$F={class:`whitespace-nowrap text-[13px] font-medium text-warning`},eI={key:0,class:`max-h-44 divide-y divide-warning-border/40 overflow-auto border-t border-warning-border/70 gf-content-fade`},tI={class:`flex items-center border-t border-border px-6 py-4`},nI={class:`ml-auto`},rI={class:`p-6`},iI={class:`flex items-start gap-3 pr-6`},aI={class:`grid h-10 w-10 shrink-0 place-items-center rounded-full bg-destructive-soft text-destructive`},oI={class:`min-w-0`},sI={class:`flex items-center border-t border-border px-6 py-4`},cI={class:`ml-auto`},lI=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 Rf();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 zf({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(Mh),{open:i.value,"onUpdate:open":C},{default:N(()=>[H(M(yg),null,{default:N(()=>[H(M(_g),{class:`fixed inset-0 z-50 bg-foreground/40 gf-content-fade`}),H(M(mg),{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`,lF,[V(`div`,uF,[V(`div`,dF,A(g.value.glyph),1),V(`div`,fF,[H(M(bg),{class:`text-base font-semibold leading-tight`},{default:N(()=>[...t[10]||=[U(`Import your translations`,-1)]]),_:1}),H(M(hg),{class:`mt-0.5 text-[13px] text-muted-foreground`},{default:N(()=>[t[11]||=U(` Found a `,-1),V(`span`,pF,A(g.value.label),1),t[12]||=U(` setup in `,-1),V(`span`,mF,A(g.value.file),1),t[13]||=U(`. `,-1)]),_:1})])]),V(`div`,hF,[V(`div`,gF,[V(`span`,_F,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`,vF,[V(`span`,yF,A(o.value.locales.length),1),t[15]||=V(`span`,{class:`mt-1 whitespace-nowrap text-[11px] text-muted-foreground`},`locales`,-1)]),V(`div`,bF,[H(M(Ku),{class:`size-3.5 opacity-70`}),t[16]||=U(` Detected automatically `,-1)])]),V(`div`,xF,[H(M(CC),{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(Cb),{modelValue:s.value,"onUpdate:modelValue":t[1]||=e=>s.value=e},{default:N(()=>[H(M(GS),{class:`mt-1.5`},{default:N(()=>[V(`span`,SF,[H(Sw,{code:s.value,size:14},null,8,[`code`]),V(`span`,CF,A(s.value),1),V(`span`,wF,A(M(cF)(s.value).name),1)])]),_:1}),H(M(KS),null,{default:N(()=>[(R(!0),z(L,null,F(o.value.locales,e=>(R(),B(M(JS),{key:e,value:e},{default:N(()=>[V(`span`,TF,[H(Sw,{code:e,size:14},null,8,[`code`]),V(`span`,EF,A(e),1),V(`span`,DF,A(M(cF)(e).name),1)])]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`])]),V(`div`,OF,[V(`div`,kF,[H(M(CC),{class:`whitespace-nowrap`},{default:N(()=>[...t[19]||=[U(`Locales to import`,-1)]]),_:1}),V(`span`,AF,A(b.value)+` of `+A(o.value.locales.length),1)]),V(`div`,jF,[(R(!0),z(L,null,F(o.value.locales,e=>(R(),B(M(lx),{key:e},{default:N(()=>[H(M(mx),{"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(Sw,{code:e,size:14},null,8,[`code`]),V(`span`,NF,A(e),1),e===s.value?(R(),z(`span`,PF,`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,MF)]),_:2},1024),H(M(RC),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`,FF,[V(`div`,IF,[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`,LF,A(g.value.glyph),1)]),l.value?(R(),z(`div`,RF,[(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`,zF,A(e.key),1),V(`span`,BF,A(e.value),1)]))),128)),x.value>0?(R(),z(`div`,VF,` + `+A(x.value.toLocaleString())+` more keys `,1)):W(``,!0)])):W(``,!0)])])):W(``,!0)]),V(`div`,HF,[H(M(Q),{variant:`ghost`,size:`sm`,onClick:t[3]||=e=>r(`dismiss`)},{default:N(()=>[...t[21]||=[U(`Skip`,-1)]]),_:1}),H(M(lx),null,{default:N(()=>[H(M(mx),{"as-child":``},{default:N(()=>[V(`label`,UF,[_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(RC),{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`,WF,[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(bg),{class:`sr-only`},{default:N(()=>[...t[24]||=[U(`Importing translations`,-1)]]),_:1}),V(`div`,GF,[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`,KF,` 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`,qF,[V(`div`,JF,[V(`div`,YF,[H(M(Ou),{class:`size-6`,"stroke-width":2.5})]),V(`div`,null,[H(M(bg),{class:`text-base font-semibold`},{default:N(()=>[...t[26]||=[U(`Import complete`,-1)]]),_:1}),H(M(hg),{class:`mt-1 text-[13px] text-muted-foreground`},{default:N(()=>[V(`span`,XF,A(d.value.keyCount.toLocaleString())+` keys`,1),t[27]||=U(` across `,-1),V(`span`,ZF,A(d.value.localeCount)+` locales`,1),t[28]||=U(` imported. `,-1)]),_:1})])]),d.value.warnings.length?(R(),z(`div`,QF,[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`,$F,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`,eI,[(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`,tI,[V(`div`,nI,[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`,rI,[V(`div`,iI,[V(`div`,aI,[H(M(Ed),{class:`size-5`})]),V(`div`,oI,[H(M(bg),{class:`text-base font-semibold`},{default:N(()=>[...t[31]||=[U(`Couldn't import translations`,-1)]]),_:1}),H(M(hg),{class:`mt-1 text-[13px] text-muted-foreground`},{default:N(()=>[U(A(f.value),1)]),_:1})])])]),V(`div`,sI,[V(`div`,cI,[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`]))}}),uI=`glotfile-theme`,dI=[`system`,`light`,`dark`],fI=e=>dI.includes(e);function pI(){let e=localStorage.getItem(uI);return fI(e)?e:`system`}var mI=window.matchMedia(`(prefers-color-scheme: dark)`),hI=j(mI.matches);mI.addEventListener(`change`,e=>{hI.value=e.matches});var gI=j(pI()),_I=K(()=>gI.value===`system`?hI.value:gI.value===`dark`);function vI(){document.documentElement.classList.toggle(`dark`,_I.value)}function yI(){Dr(_I,vI,{immediate:!0,flush:`sync`})}function bI(e){gI.value=e,localStorage.setItem(uI,e),df({theme:e}).catch(()=>{})}async function xI(){try{let{theme:e}=await uf();fI(e)&&e!==gI.value&&(gI.value=e,localStorage.setItem(uI,e))}catch{}}var SI={class:`flex flex-col items-center gap-0.5 rounded-lg bg-black/15 p-0.5`},CI=[`data-mode`,`aria-label`,`aria-pressed`,`onClick`],wI=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`,SI,[(R(),z(L,null,F(t,e=>H(M(lx),{key:e.value},{default:N(()=>[H(M(mx),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,"data-mode":e.value,"aria-label":e.label,"aria-pressed":M(gI)===e.value,class:k(M(VS)(`flex size-8 items-center justify-center rounded-md transition-colors`,M(gI)===e.value?`bg-primary text-primary-foreground`:`text-rail-foreground/70 hover:bg-white/10 hover:text-rail-foreground`)),onClick:t=>M(bI)(e.value)},[(R(),B(aa(e.icon),{class:`size-4`}))],10,CI)]),_:2},1024),H(M(RC),{side:`right`},{default:N(()=>[U(A(e.label),1)]),_:2},1024)]),_:2},1024)),64))]))}}),TI=P({__name:`Kbd`,props:{class:{}},setup(e){return(e,t)=>(R(),z(`kbd`,{class:k(M(VS)(`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))}}),EI=[{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 DI(e,t){if(e.pending===`g`){let e=EI.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 OI={class:`flex w-14 shrink-0 flex-col items-center gap-1 bg-rail py-3 text-rail-foreground`},kI=[`aria-label`,`onClick`],AI={key:0,class:`flex items-center gap-0.5`},jI={class:`mt-auto flex flex-col items-center gap-1.5`},MI={class:`font-mono text-[10px] text-rail-foreground/50`},NI=P({__name:`NavRail`,setup(e){let t=jp(),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:EI.find(t=>t.route===e.id)?.keys}));return(e,r)=>(R(),B(M(ax),{"delay-duration":300},{default:N(()=>[V(`nav`,OI,[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(lx),{key:e.id},{default:N(()=>[H(M(mx),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,"aria-label":e.label,class:k(M(VS)(`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(Ap)(e.id)},[(R(),B(aa(e.icon),{class:`size-5`}))],10,kI)]),_:2},1024),H(M(RC),{side:`right`,class:`flex items-center gap-2`},{default:N(()=>[V(`span`,null,A(e.label),1),e.keys?(R(),z(`span`,AI,[(R(!0),z(L,null,F(e.keys,(e,t)=>(R(),B(TI,{key:t},{default:N(()=>[U(A(e),1)]),_:2},1024))),128))])):W(``,!0)]),_:2},1024)]),_:2},1024))),128)),V(`div`,jI,[H(wI),V(`span`,MI,`v`+A(M(`0.7.3`)),1)])])]),_:1}))}}),PI={class:`flex flex-col gap-1`},FI={class:`flex items-center gap-1`},II={class:`flex items-center justify-between py-1 text-sm`},LI={class:`flex items-center gap-1`},RI=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(Mh),{open:t.value,"onUpdate:open":n[0]||=e=>t.value=e},{default:N(()=>[H(M(wC),{class:`max-w-sm`},{default:N(()=>[H(M(TC),null,{default:N(()=>[H(M(DC),null,{default:N(()=>[...n[1]||=[U(`Keyboard shortcuts`,-1)]]),_:1})]),_:1}),V(`ul`,PI,[(R(!0),z(L,null,F(M(EI),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`,FI,[(R(!0),z(L,null,F(e.keys,(e,t)=>(R(),B(TI,{key:t},{default:N(()=>[U(A(e),1)]),_:2},1024))),128))])]))),128)),V(`li`,II,[n[3]||=V(`span`,null,`Search keys`,-1),V(`span`,LI,[H(TI,null,{default:N(()=>[...n[2]||=[U(`/`,-1)]]),_:1})])])])]),_:1})]),_:1},8,[`open`]))}}),zI=j(!1),BI=1e3;function VI(){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===`?`&&zI.value;if(o&&!s)return;let c=DI(e,a);e=c.state,n(),e.pending===`g`&&(t=window.setTimeout(()=>{e={pending:null},t=null},BI));let{action:l}=c;l&&(l.type===`navigate`?Ap(l.route):zI.value=!zI.value,r.preventDefault())}Ki(()=>window.addEventListener(`keydown`,r)),Xi(()=>{n(),window.removeEventListener(`keydown`,r)})}var HI={class:`flex h-screen bg-background text-foreground`},UI={class:`flex min-w-0 flex-1 flex-col`},WI={class:`flex h-12 shrink-0 items-center justify-between border-b px-4`},GI={class:`flex min-w-0 items-center gap-3`},KI={key:0,class:`flex min-w-0 items-center gap-1.5`},qI={class:`max-w-[12rem] shrink-0 truncate font-mono text-sm font-medium`},JI={class:`truncate`},YI={key:0,class:`text-muted-foreground`},XI={class:`text-sm font-semibold`},ZI={class:`font-mono`},QI={class:`flex min-h-0 flex-1 flex-col overflow-hidden`},$I=P({__name:`App`,setup(e){let t=jp();VI();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([Af(),jf()]),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 Mf(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(ax),{"delay-duration":300},{default:N(()=>[V(`div`,HI,[H(NI),V(`div`,UI,[V(`header`,WI,[V(`div`,GI,[r.value?(R(),z(`div`,KI,[H(M(lx),null,{default:N(()=>[H(M(mx),{"as-child":``},{default:N(()=>[V(`span`,qI,A(r.value.project),1)]),_:1}),H(M(RC),{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(sb),null,{default:N(()=>[H(M(pb),{"as-child":``},{default:N(()=>[H(M(Q),{variant:`outline`,size:`sm`,class:`max-w-[16rem] gap-1.5 font-mono`},{default:N(()=>[V(`span`,JI,A(r.value.name),1),H(M(ju),{class:`size-3.5 shrink-0 text-muted-foreground`})]),_:1})]),_:1}),H(M(kC),{align:`start`,class:`w-max`},{default:N(()=>[(R(!0),z(L,null,F(a.value,e=>(R(),B(M(AC),{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`,YI,A(e.relDir)+`/`,1)):W(``,!0),U(A(e.name),1)])]),_:2},1032,[`onSelect`]))),128))]),_:1})]),_:1})])):W(``,!0),V(`h1`,XI,A(d.value),1)]),f.value?(R(),B(M(lx),{key:0},{default:N(()=>[H(M(mx),{"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(Ap)(`settings`)},A(f.value.source)+` → `+A(f.value.targets.length)+` `+A(f.value.targets.length===1?`locale`:`locales`),1)]),_:1}),H(M(RC),{side:`bottom`,class:`max-w-[28rem] leading-relaxed`},{default:N(()=>[V(`div`,ZI,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`,QI,[M(t)===`editor`?(R(),B(CO,{key:0})):M(t)===`analytics`?(R(),B(_A,{key:1})):M(t)===`glossary`?(R(),B(UA,{key:2})):M(t)===`screenshots`?(R(),B(_P,{key:3})):M(t)===`settings`?(R(),B(tP,{key:4})):M(t)===`activity`?(R(),B(WP,{key:5})):M(t)===`docs`?(R(),B(oF,{key:6})):W(``,!0)])]),H(M(_C)),H(RI,{open:M(zI),"onUpdate:open":n[1]||=e=>un(zI)?zI.value=e:null},null,8,[`open`]),o.value?(R(),B(lI,{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}))}});yI(),au($I).mount(`#app`),xI(),ZD(),gT();
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`}],YP={class:`flex min-h-0 flex-1 overflow-hidden`},XP={class:`flex w-56 shrink-0 flex-col overflow-hidden border-r bg-muted/30`},ZP={class:`relative shrink-0 px-2 py-2`},QP={key:0,class:`flex flex-col gap-1 overflow-y-auto px-2 pb-3`},$P={class:`px-2 py-1 text-xs text-muted-foreground`},eF=[`onClick`],tF={class:`text-sm font-medium`},nF={key:0,class:`text-[10px] uppercase tracking-wider text-muted-foreground`},rF={key:1,class:`mt-0.5 line-clamp-2 text-xs text-muted-foreground`},iF={class:`bg-primary/20 text-foreground`},aF={key:1,class:`flex flex-col gap-1 overflow-y-auto px-2 pb-3`},oF=[`onClick`],sF={class:`min-w-0 flex-1 overflow-y-auto`},cF=[`innerHTML`],lF=P({__name:`DocsView`,setup(e){let t=[``,`Getting Started`,`Web UI`,`CLI`,`Concepts`,`AI Translation`,`Reference`,`Guides`,`Help`],n=j(JP[0]?.id??``),r=j(``),i=K(()=>{let e=new Map;for(let n of t)e.set(n,[]);for(let t of JP)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 JP){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(()=>JP.find(e=>e.id===n.value)??JP[0]);function s(e){n.value=e,r.value=``}return(e,t)=>(R(),z(`div`,YP,[V(`nav`,XP,[V(`div`,ZP,[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`,QP,[V(`div`,$P,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`,tF,A(e.title),1),e.section?(R(),z(`div`,nF,A(e.section),1)):W(``,!0),e.match?(R(),z(`div`,rF,[U(A(e.before),1),V(`mark`,iF,A(e.match),1),U(A(e.after),1)])):W(``,!0)],8,eF))),128))])):(R(),z(`div`,aF,[(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,oF))),128))],64))),128))]))]),V(`div`,sF,[V(`div`,{class:`prose prose-sm dark:prose-invert mx-auto max-w-3xl px-8 py-6`,innerHTML:o.value?.html},null,8,cF)])]))}}),uF={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 dF(e){let[t=``,n]=e.split(/[-_]/),r=t.toLowerCase(),i=n&&/^[A-Za-z]{2}$/.test(n)?n.toUpperCase():void 0,a=uF[r]??e;return{code:e,name:i?`${a} (${i})`:a}}var fF={class:`p-6`},pF={class:`flex items-start gap-3 pr-6`},mF={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`},hF={class:`min-w-0`},gF={class:`font-medium text-foreground`},_F={class:`font-mono text-[12px]`},vF={class:`mt-4 flex items-center gap-4 rounded-lg border border-border bg-muted/40 px-3.5 py-2.5`},yF={class:`flex flex-col`},bF={class:`text-[17px] font-semibold leading-none tabular-nums`},xF={class:`flex flex-col`},SF={class:`text-[17px] font-semibold leading-none tabular-nums`},CF={class:`ml-auto flex items-center gap-1.5 whitespace-nowrap text-[11px] text-muted-foreground`},wF={class:`mt-5`},TF={class:`!flex min-w-0 items-center gap-2`},EF={class:`font-mono text-[13px]`},DF={class:`truncate text-[13px] text-muted-foreground`},OF={class:`flex items-center gap-2`},kF={class:`font-mono text-[13px]`},AF={class:`text-[13px] text-muted-foreground`},jF={class:`mt-4`},MF={class:`flex items-center justify-between`},NF={class:`whitespace-nowrap text-[12px] tabular-nums text-muted-foreground`},PF={class:`mt-1.5 flex flex-wrap gap-1.5 rounded-lg border border-border bg-muted/30 p-2.5`},FF=[`disabled`,`onClick`],IF={class:`font-mono`},LF={key:0,class:`ml-0.5 rounded-sm bg-primary/15 px-1 text-[9px] font-semibold uppercase tracking-wide text-primary`},RF={key:0,class:`mt-4`},zF={class:`overflow-hidden rounded-lg border border-border`},BF={class:`ml-auto font-mono text-[11px] text-muted-foreground/70`},VF={key:0,class:`divide-y divide-border border-t border-border gf-content-fade`},HF={class:`shrink-0 font-mono text-foreground`},UF={class:`ml-auto truncate text-right text-muted-foreground`},WF={key:0,class:`px-3 py-1.5 text-[11px] text-muted-foreground/70`},GF={class:`flex items-center gap-2 border-t border-border px-6 py-4`},KF={class:`ml-1 flex cursor-pointer select-none items-center gap-1.5 text-[12px] text-muted-foreground`},qF={class:`ml-auto`},JF={class:`flex flex-col items-center justify-center gap-4 p-6 py-8 text-center`},YF={key:0,class:`mt-1 text-[13px] text-muted-foreground`},XF={class:`p-6`},ZF={class:`flex flex-col items-center gap-3 pt-1 text-center`},QF={class:`grid h-12 w-12 place-items-center rounded-full bg-success-bg text-success ring-1 ring-success-border`},$F={class:`font-semibold text-foreground tabular-nums`},eI={class:`font-semibold text-foreground`},tI={key:0,class:`mt-5 overflow-hidden rounded-lg border border-warning-border bg-warning-bg/60`},nI={class:`whitespace-nowrap text-[13px] font-medium text-warning`},rI={key:0,class:`max-h-44 divide-y divide-warning-border/40 overflow-auto border-t border-warning-border/70 gf-content-fade`},iI={class:`flex items-center border-t border-border px-6 py-4`},aI={class:`ml-auto`},oI={class:`p-6`},sI={class:`flex items-start gap-3 pr-6`},cI={class:`grid h-10 w-10 shrink-0 place-items-center rounded-full bg-destructive-soft text-destructive`},lI={class:`min-w-0`},uI={class:`flex items-center border-t border-border px-6 py-4`},dI={class:`ml-auto`},fI=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 Rf();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 zf({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(Mh),{open:i.value,"onUpdate:open":C},{default:N(()=>[H(M(yg),null,{default:N(()=>[H(M(_g),{class:`fixed inset-0 z-50 bg-foreground/40 gf-content-fade`}),H(M(mg),{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`,fF,[V(`div`,pF,[V(`div`,mF,A(g.value.glyph),1),V(`div`,hF,[H(M(bg),{class:`text-base font-semibold leading-tight`},{default:N(()=>[...t[10]||=[U(`Import your translations`,-1)]]),_:1}),H(M(hg),{class:`mt-0.5 text-[13px] text-muted-foreground`},{default:N(()=>[t[11]||=U(` Found a `,-1),V(`span`,gF,A(g.value.label),1),t[12]||=U(` setup in `,-1),V(`span`,_F,A(g.value.file),1),t[13]||=U(`. `,-1)]),_:1})])]),V(`div`,vF,[V(`div`,yF,[V(`span`,bF,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`,xF,[V(`span`,SF,A(o.value.locales.length),1),t[15]||=V(`span`,{class:`mt-1 whitespace-nowrap text-[11px] text-muted-foreground`},`locales`,-1)]),V(`div`,CF,[H(M(Ku),{class:`size-3.5 opacity-70`}),t[16]||=U(` Detected automatically `,-1)])]),V(`div`,wF,[H(M(TC),{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(Cb),{modelValue:s.value,"onUpdate:modelValue":t[1]||=e=>s.value=e},{default:N(()=>[H(M(GS),{class:`mt-1.5`},{default:N(()=>[V(`span`,TF,[H(ww,{code:s.value,size:14},null,8,[`code`]),V(`span`,EF,A(s.value),1),V(`span`,DF,A(M(dF)(s.value).name),1)])]),_:1}),H(M(KS),null,{default:N(()=>[(R(!0),z(L,null,F(o.value.locales,e=>(R(),B(M(JS),{key:e,value:e},{default:N(()=>[V(`span`,OF,[H(ww,{code:e,size:14},null,8,[`code`]),V(`span`,kF,A(e),1),V(`span`,AF,A(M(dF)(e).name),1)])]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`])]),V(`div`,jF,[V(`div`,MF,[H(M(TC),{class:`whitespace-nowrap`},{default:N(()=>[...t[19]||=[U(`Locales to import`,-1)]]),_:1}),V(`span`,NF,A(b.value)+` of `+A(o.value.locales.length),1)]),V(`div`,PF,[(R(!0),z(L,null,F(o.value.locales,e=>(R(),B(M(lx),{key:e},{default:N(()=>[H(M(mx),{"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(ww,{code:e,size:14},null,8,[`code`]),V(`span`,IF,A(e),1),e===s.value?(R(),z(`span`,LF,`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,FF)]),_:2},1024),H(M(BC),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`,RF,[V(`div`,zF,[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`,BF,A(g.value.glyph),1)]),l.value?(R(),z(`div`,VF,[(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`,HF,A(e.key),1),V(`span`,UF,A(e.value),1)]))),128)),x.value>0?(R(),z(`div`,WF,` + `+A(x.value.toLocaleString())+` more keys `,1)):W(``,!0)])):W(``,!0)])])):W(``,!0)]),V(`div`,GF,[H(M(Q),{variant:`ghost`,size:`sm`,onClick:t[3]||=e=>r(`dismiss`)},{default:N(()=>[...t[21]||=[U(`Skip`,-1)]]),_:1}),H(M(lx),null,{default:N(()=>[H(M(mx),{"as-child":``},{default:N(()=>[V(`label`,KF,[_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(BC),{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`,qF,[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(bg),{class:`sr-only`},{default:N(()=>[...t[24]||=[U(`Importing translations`,-1)]]),_:1}),V(`div`,JF,[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`,YF,` 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`,XF,[V(`div`,ZF,[V(`div`,QF,[H(M(Ou),{class:`size-6`,"stroke-width":2.5})]),V(`div`,null,[H(M(bg),{class:`text-base font-semibold`},{default:N(()=>[...t[26]||=[U(`Import complete`,-1)]]),_:1}),H(M(hg),{class:`mt-1 text-[13px] text-muted-foreground`},{default:N(()=>[V(`span`,$F,A(d.value.keyCount.toLocaleString())+` keys`,1),t[27]||=U(` across `,-1),V(`span`,eI,A(d.value.localeCount)+` locales`,1),t[28]||=U(` imported. `,-1)]),_:1})])]),d.value.warnings.length?(R(),z(`div`,tI,[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`,nI,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`,rI,[(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`,iI,[V(`div`,aI,[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`,oI,[V(`div`,sI,[V(`div`,cI,[H(M(Ed),{class:`size-5`})]),V(`div`,lI,[H(M(bg),{class:`text-base font-semibold`},{default:N(()=>[...t[31]||=[U(`Couldn't import translations`,-1)]]),_:1}),H(M(hg),{class:`mt-1 text-[13px] text-muted-foreground`},{default:N(()=>[U(A(f.value),1)]),_:1})])])]),V(`div`,uI,[V(`div`,dI,[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`]))}}),pI=`glotfile-theme`,mI=[`system`,`light`,`dark`],hI=e=>mI.includes(e);function gI(){let e=localStorage.getItem(pI);return hI(e)?e:`system`}var _I=window.matchMedia(`(prefers-color-scheme: dark)`),vI=j(_I.matches);_I.addEventListener(`change`,e=>{vI.value=e.matches});var yI=j(gI()),bI=K(()=>yI.value===`system`?vI.value:yI.value===`dark`);function xI(){document.documentElement.classList.toggle(`dark`,bI.value)}function SI(){Dr(bI,xI,{immediate:!0,flush:`sync`})}function CI(e){yI.value=e,localStorage.setItem(pI,e),df({theme:e}).catch(()=>{})}async function wI(){try{let{theme:e}=await uf();hI(e)&&e!==yI.value&&(yI.value=e,localStorage.setItem(pI,e))}catch{}}var TI={class:`flex flex-col items-center gap-0.5 rounded-lg bg-black/15 p-0.5`},EI=[`data-mode`,`aria-label`,`aria-pressed`,`onClick`],DI=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`,TI,[(R(),z(L,null,F(t,e=>H(M(lx),{key:e.value},{default:N(()=>[H(M(mx),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,"data-mode":e.value,"aria-label":e.label,"aria-pressed":M(yI)===e.value,class:k(M(VS)(`flex size-8 items-center justify-center rounded-md transition-colors`,M(yI)===e.value?`bg-primary text-primary-foreground`:`text-rail-foreground/70 hover:bg-white/10 hover:text-rail-foreground`)),onClick:t=>M(CI)(e.value)},[(R(),B(aa(e.icon),{class:`size-4`}))],10,EI)]),_:2},1024),H(M(BC),{side:`right`},{default:N(()=>[U(A(e.label),1)]),_:2},1024)]),_:2},1024)),64))]))}}),OI=P({__name:`Kbd`,props:{class:{}},setup(e){return(e,t)=>(R(),z(`kbd`,{class:k(M(VS)(`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))}}),kI=[{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 AI(e,t){if(e.pending===`g`){let e=kI.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 jI={class:`flex w-14 shrink-0 flex-col items-center gap-1 bg-rail py-3 text-rail-foreground`},MI=[`aria-label`,`onClick`],NI={key:0,class:`flex items-center gap-0.5`},PI={class:`mt-auto flex flex-col items-center gap-1.5`},FI={class:`font-mono text-[10px] text-rail-foreground/50`},II=P({__name:`NavRail`,setup(e){let t=jp(),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:kI.find(t=>t.route===e.id)?.keys}));return(e,r)=>(R(),B(M(ax),{"delay-duration":300},{default:N(()=>[V(`nav`,jI,[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(lx),{key:e.id},{default:N(()=>[H(M(mx),{"as-child":``},{default:N(()=>[V(`button`,{type:`button`,"aria-label":e.label,class:k(M(VS)(`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(Ap)(e.id)},[(R(),B(aa(e.icon),{class:`size-5`}))],10,MI)]),_:2},1024),H(M(BC),{side:`right`,class:`flex items-center gap-2`},{default:N(()=>[V(`span`,null,A(e.label),1),e.keys?(R(),z(`span`,NI,[(R(!0),z(L,null,F(e.keys,(e,t)=>(R(),B(OI,{key:t},{default:N(()=>[U(A(e),1)]),_:2},1024))),128))])):W(``,!0)]),_:2},1024)]),_:2},1024))),128)),V(`div`,PI,[H(DI),V(`span`,FI,`v`+A(M(`0.7.5`)),1)])])]),_:1}))}}),LI={class:`flex flex-col gap-1`},RI={class:`flex items-center gap-1`},zI={class:`flex items-center justify-between py-1 text-sm`},BI={class:`flex items-center gap-1`},VI=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(Mh),{open:t.value,"onUpdate:open":n[0]||=e=>t.value=e},{default:N(()=>[H(M(EC),{class:`max-w-sm`},{default:N(()=>[H(M(DC),null,{default:N(()=>[H(M(kC),null,{default:N(()=>[...n[1]||=[U(`Keyboard shortcuts`,-1)]]),_:1})]),_:1}),V(`ul`,LI,[(R(!0),z(L,null,F(M(kI),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`,RI,[(R(!0),z(L,null,F(e.keys,(e,t)=>(R(),B(OI,{key:t},{default:N(()=>[U(A(e),1)]),_:2},1024))),128))])]))),128)),V(`li`,zI,[n[3]||=V(`span`,null,`Search keys`,-1),V(`span`,BI,[H(OI,null,{default:N(()=>[...n[2]||=[U(`/`,-1)]]),_:1})])])])]),_:1})]),_:1},8,[`open`]))}}),HI=j(!1),UI=1e3;function WI(){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===`?`&&HI.value;if(o&&!s)return;let c=AI(e,a);e=c.state,n(),e.pending===`g`&&(t=window.setTimeout(()=>{e={pending:null},t=null},UI));let{action:l}=c;l&&(l.type===`navigate`?Ap(l.route):HI.value=!HI.value,r.preventDefault())}Ki(()=>window.addEventListener(`keydown`,r)),Xi(()=>{n(),window.removeEventListener(`keydown`,r)})}var GI={class:`flex h-screen bg-background text-foreground`},KI={class:`flex min-w-0 flex-1 flex-col`},qI={class:`flex h-12 shrink-0 items-center justify-between border-b px-4`},JI={class:`flex min-w-0 items-center gap-3`},YI={key:0,class:`flex min-w-0 items-center gap-1.5`},XI={class:`max-w-[12rem] shrink-0 truncate font-mono text-sm font-medium`},ZI={class:`truncate`},QI={key:0,class:`text-muted-foreground`},$I={class:`text-sm font-semibold`},eL={class:`font-mono`},tL={class:`flex min-h-0 flex-1 flex-col overflow-hidden`},nL=P({__name:`App`,setup(e){let t=jp();WI();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([Af(),jf()]),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 Mf(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(ax),{"delay-duration":300},{default:N(()=>[V(`div`,GI,[H(II),V(`div`,KI,[V(`header`,qI,[V(`div`,JI,[r.value?(R(),z(`div`,YI,[H(M(lx),null,{default:N(()=>[H(M(mx),{"as-child":``},{default:N(()=>[V(`span`,XI,A(r.value.project),1)]),_:1}),H(M(BC),{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(sb),null,{default:N(()=>[H(M(pb),{"as-child":``},{default:N(()=>[H(M(Q),{variant:`outline`,size:`sm`,class:`max-w-[16rem] gap-1.5 font-mono`},{default:N(()=>[V(`span`,ZI,A(r.value.name),1),H(M(ju),{class:`size-3.5 shrink-0 text-muted-foreground`})]),_:1})]),_:1}),H(M(jC),{align:`start`,class:`w-max`},{default:N(()=>[(R(!0),z(L,null,F(a.value,e=>(R(),B(M(MC),{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`,QI,A(e.relDir)+`/`,1)):W(``,!0),U(A(e.name),1)])]),_:2},1032,[`onSelect`]))),128))]),_:1})]),_:1})])):W(``,!0),V(`h1`,$I,A(d.value),1)]),f.value?(R(),B(M(lx),{key:0},{default:N(()=>[H(M(mx),{"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(Ap)(`settings`)},A(f.value.source)+` → `+A(f.value.targets.length)+` `+A(f.value.targets.length===1?`locale`:`locales`),1)]),_:1}),H(M(BC),{side:`bottom`,class:`max-w-[28rem] leading-relaxed`},{default:N(()=>[V(`div`,eL,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`,tL,[M(t)===`editor`?(R(),B(EO,{key:0})):M(t)===`analytics`?(R(),B(bA,{key:1})):M(t)===`glossary`?(R(),B(KA,{key:2})):M(t)===`screenshots`?(R(),B(bP,{key:3})):M(t)===`settings`?(R(),B(iP,{key:4})):M(t)===`activity`?(R(),B(qP,{key:5})):M(t)===`docs`?(R(),B(lF,{key:6})):W(``,!0)])]),H(M(yC)),H(VI,{open:M(HI),"onUpdate:open":n[1]||=e=>un(HI)?HI.value=e:null},null,8,[`open`]),o.value?(R(),B(fI,{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}))}});SI(),au(nL).mount(`#app`),wI(),eO(),vT();