primitive-app 3.0.4 → 3.0.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.
- package/dist/dev-tools/test-harness/TestRunner.vue.d.ts.map +1 -1
- package/dist/dev-tools/test-harness/lib.d.ts.map +1 -1
- package/dist/dev-tools/test-harness/types.d.ts +13 -0
- package/dist/dev-tools/test-harness/types.d.ts.map +1 -1
- package/dist/index.cjs +3 -3
- package/dist/index.js +77 -54
- package/dist/{lib-C53EcrFg.cjs → lib-CgtC-xno.cjs} +1 -1
- package/dist/{lib-zKX4LVeH.js → lib-DjHuEFvC.js} +1 -0
- package/dist/testing/index.cjs +1 -1
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +13 -7
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-BNMv73og.cjs"),t=require("./lib-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-BNMv73og.cjs"),t=require("./lib-CgtC-xno.cjs");let n=require("vue");n=e.i(n,1);let r=require("pinia"),i=require("@vueuse/core"),a=require("js-bao");var o=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAAXNSR0IB2cksfwAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAutQTFRFAAAAMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzis4yvAAAAPl0Uk5TAAFXmEs8zv/GMQU5sP79nDMEJYXp5H0gABVn1s9gDAZBu/v5pzoCKpHy2+6IJhaN79lUD1/f63MSC1rX7PDQUQk7vPatITe2+LMkGI/8zEwIClXSgxQX48kQE2Lc3nyCHSeLwQP0ojaq+vGmMpDoy08N0eVv4WXmZNVCtTSaGw71UnEHd+1o50DKkp7CI8MsQ82ghFxm6mzadV5JNfe6wOLHky2bRag9GR+sdp+BvlNrpHS4lEijeRFhfkeHRii9eOBq1E0ilW0agNNWtz6/82Mchmmlrop63XK0uS7IocV/nVseRC/EezCxK9iJsik/WXCOl69Kq104Y+NFpAAACcNJREFUeJztm3tUE1cex+duZaDpEZouQlg4QV5pcStYKa8j2xpXoxVaA5ZUBVmFIIVltT5bFA2PdqFLNaAtHAUUkUfRbrUgio8CC1YQtRbtrlVQEOlZX8cH3aKLWndC5jcJMDOZSQKe7uH+kXwzmZn7mfv6/e69v0HYU07oVw6AiPToKQJYIKSBuP90AATE0/dphCUh7ow4ABIi9BP8sCYQro0sgANCPX26n7gNQl0jCOBMPPGPAw85EUd6RwhAQmR/mdSOVt3/JaU7Qt8/GQEAkR1C5+HHBE0/PAu/vBHq5NsUeAMEEhlC5ftedG3GMK9fhC3kActJCNUPK4DIE13pJnUQQke0B71QOxyUInRgGAGC0SWofBlR9vvgeCjBQjUFT7RnmAAUX0/XZdnlXK73l2ga0mWrQPXcuyR3AKFnVw88pbcn2jmowUumoDZoCjK7do8CcwN4OLsUk1IqRrtphl7Bwxi0ndQxCH1qVoBFY9FWUlouRiea6M9afsM+H3pI4s0Hu80GIFY0tIJeim6zlK5z+DPZoN9DzfVmAVAWrd4E2nHq/XK2c4lRofcGtBRs5ssZBodGwwAz/LZQd4w8dsHg+Vhy+16QjhEozUQAVYdrBuhwD5Xh7DX39LE6Cdp1/pm9bOcaAEhHuieIccri7HVMvf8GhZ1S9R2blWQDQBloA2jLZPW/uWavSRvGpkF/wFWHzzKbKBaAjW1Ut8Yy0HI+2WtSNloDUjr72yLeAJK/FFJGd6nz0X1M5zGnwMieFNBqlMpQCAwAC6Y8s4yUuFfUUT7WRS8Fn5RS4CEzt57mDCDIKT8JNbgBL75ppL9J3D3/zJNCUltOacBpWjENAJKg8XWkzkWPT3A1K7RJ8L64BVqS3x3xt0OeZShAsL84jpSy28FVDMM+96TKk1XCSOYWWdlsACDQLmwJ6BTHrHOmZq9Ju9BmypRMi8yvZwEQTur8DThXrtF1B/k7ubQJSVTJ4MXnftF0T/+2+gCiJZKPwOPCbbISjJ5uDU3Ok07dAu3pfvGGrinoAUgcen+Atm9tMca4iQ5j8hnjDx4F7r4qkioEPQB1QTupkgTieebNnkiiHLQdOldiyXUagD2R2m+psv4zM1X+wKQsz4emsDGRBuDvC/q/yhVB9cORvSaJc97RZlghZwR4FGbkuMst2W9TGABY9rfhzB/DKsN/LQC77rh8ftnkcVibfNYv33JhJT+AiQHENCQkOsQM3UH4nj1h2tXV1bwAluzUfMrif3rH1PwXX9Ga9pdaeQG8Uas9mOR/WG1K9jVtggSt2jubF8Cht+Cwd/qSK8ZmL09Ihwkrtn8GLwBRSRg1HdmGLzCqKUjy/nQTtGM2+UTcu2H5YipXJ+RyhH/+tW/ZUStpNcU7ML4A2NT/uFEu5YbKFp6FIAy1Am8QC+99ZT1oXgORQzkKAQNtO3XhLO7ZO1Tkw+QcP/DVdL0r+Y2EonsLW2B2gJeFWXBciXQu3VEC2nvmrLn6nijfoVhY9VBJOWn45CIOFYGK3RbCJbm7o+oGetX8bYF469pL0CEUCVvKDOXf3JrcQ0rZmuohaxTGGCOHfaXgTWGN6K+s023xEwUsDuFWuRsHO+FGWkP09YMqmF1IP1zbeZEpe0EjyocTXde5zKWZUhlpjgV7xv0BtN8d59O0kzXRrBC3AFLj0vO3aL1qo/0B1c+/TYGbz/mHE42hVr3yzWbQ8qR4BlNugkPSiqKgS8pcG8WDJuyhaTsKoK2qb33PuERnikek7Nr0GTXR9HpUp9cUlPFWK8Hnljb1PWDuraa5ZIG4zSHQctU58BVEfR88TiE17ju/mm01w1SfsMIrBW4v82j4V//QKI/++ByUfitKZR8pTHZKhRHCMmrHIG+C9+majK4XofQ9H8T908Bygjm84uTnU3UbZlHFlLQ8XbnS4MVmccsltm40rfxV3xwOlsJM84LQ89S+GZk8sxvX0587LADEvKGkTW/n0Cnj3dvcrjPfzEg0h9o0wX23uXO8yqxTM5/dE7Ti/Er2BenhAsAmdvb3htwvq7lfY97JadXbms/CSB6XmBfA7h7vS8wLkPaR5nPiqVGAUYBRgFGAUYBRgFGAUYBRgFGA/yuAUxOHFQAdkBsA+OErNff9Cd4A8nXH1zACdL7Y/5X0atsKrkvzPAEkstVx2sUUXTnrAXT9nlz3cC1Uc9w95Qdw9WExGd4kmxdBAxAwnprjKi7h9eYGCIxUQSQ2bvuYCg7QD2Borr4GCz6WrbLXOQSvcAcQxtsnw8KSn421biVtQAiHMuXhH2HZI2i5t6/B8B2uAOiTg2NgJc2pQCLVW+IcFMSiqtrvQkp8tkp6HWNPHAFe0K1jOhZarB6wijwkjOfz1zNgc0DmId/EHsLFCSDgSffkw6Te6hNxduC/Q+OIJA1HVdRKZJk/zrg5wA1AGXqjAko/SbDIfnAPpwvlSp88lzptbGUcSyyRQQBR1mslVERi1468oWMcfTCbQoxg6R93V6XTRqFxAViw7NN90Pbd7sam0pzCFM4nePYobH5g3W93MozO7ADyzR0y0J7lc+jrkjmg8UbOWWg62BeH6MOU2QAkP6auA+2YuY9pDZ0lolJyec5+0NE3O+jqgQUg3K+B4n/3OebwXtag1tDMHGr/V/3Ld0OHRkYAwfNu1L69vDGeZRXZQFjvgs2R0IcwRYYTV4AIEVVlQe8fZI2AMBRXLLI5Pp7aHFjVMmgXv2mq5lMXFqVNtzsDQVra7ZzCnoHhyGplXA5lnHP3nh0Q49btpvl89q7+sfnB31DBuCvW+LONY9wAMKymrIOq0Al1Qr32pAwLxbAZp/SMljIxkYqq9q1OMRx/wi28f2PsbLitzE58RmcgJKkvXI3VEflYig/A9tXShZuKONya4/sF6GqMgoyGwZJW9qhofQVhljUVsJe0KrOAUzAu5zcs0n8uuUe9vDC9omZoeOyxa9ch/FqWbfESx2AHHi+5OFxIpmIipT53B1WvT2Eftb0tT0kz8BaCUQAY1vqaAnw2x4TbpXoGIn3F2u1QPjG1bjw2MPi9Z4TWxVA+WxSaN42Uyg9+9+YxUkfHNH7MJxKb76teqvvR3qDHLnqu38AGfHgCbD7uVc618o0EwND6L3dRUQqy4nG96S8HuULpq90LGngGohvxup+ydNVxqsBju7ypSmk+kmlraOAzBwDRymMlK8DWykA4NuWUMvgtZgcgrGTenwfN3mzbozl3PTMAYJJj0R3tup9jayOMeNvSFACi6xdWTyZlUE5on7Exh8YDECm/qN8VGdduZfw9TALAhJmPl1vXepkS+WoaANEWigNNC7w1FcDk9D+qqu2uOamLAAAAAABJRU5ErkJggg==`,s=[`title`],c=[`src`],l=`primitive-devtools-anchor`,u=`primitive-devtools-btn-styles`,d=40,f=16,p=3,m=`
|
|
2
2
|
.pdt-btn {
|
|
3
3
|
position: fixed;
|
|
4
4
|
z-index: 2147483645;
|
|
@@ -46,6 +46,6 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=requi
|
|
|
46
46
|
|
|
47
47
|
If you want to hide the \`${e}\`, you can wrap it with our VisuallyHidden component.
|
|
48
48
|
|
|
49
|
-
For more information, see https://www.reka-ui.com/docs/components/${r}`,c=`Warning: Missing \`Description\` or \`aria-describedby="undefined"\` for ${t}.`;(0,n.onMounted)(()=>{document.getElementById(i)||console.warn(s);let e=o.value?.getAttribute(`aria-describedby`);a&&e&&(document.getElementById(a)||console.warn(c))})}var en=(0,n.defineComponent)({__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},present:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let r=e,i=t,a=qe(),{forwardRef:o,currentElement:s}=K();return a.titleId||=St(void 0,`reka-dialog-title`),a.descriptionId||=St(void 0,`reka-dialog-description`),(0,n.onMounted)(()=>{a.contentElement=s,vt()!==document.body&&(a.triggerElement.value=vt())}),process.env.NODE_ENV!==`production`&&$t({titleName:`DialogTitle`,contentName:`DialogContent`,componentLink:`dialog.html#title`,titleId:a.titleId,descriptionId:a.descriptionId,contentElement:s}),(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Gt),{"as-child":``,loop:``,trapped:r.trapFocus,present:r.present,onMountAutoFocus:t[5]||=e=>i(`openAutoFocus`,e),onUnmountAutoFocus:t[6]||=e=>i(`closeAutoFocus`,e)},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(jt),(0,n.mergeProps)({id:(0,n.unref)(a).contentId,ref:(0,n.unref)(o),as:e.as,"as-child":e.asChild,present:r.present,"disable-outside-pointer-events":e.disableOutsidePointerEvents,role:`dialog`,"aria-describedby":(0,n.unref)(a).descriptionId,"aria-labelledby":(0,n.unref)(a).titleId,"data-state":(0,n.unref)(Yt)((0,n.unref)(a).open.value)},e.$attrs,{onDismiss:t[0]||=e=>(0,n.unref)(a).onOpenChange(!1),onEscapeKeyDown:t[1]||=e=>i(`escapeKeyDown`,e),onFocusOutside:t[2]||=e=>i(`focusOutside`,e),onInteractOutside:t[3]||=e=>i(`interactOutside`,e),onPointerDownOutside:t[4]||=e=>i(`pointerDownOutside`,e)}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16,[`id`,`as`,`as-child`,`present`,`disable-outside-pointer-events`,`aria-describedby`,`aria-labelledby`,`data-state`])]),_:3},8,[`trapped`,`present`]))}}),tn=(0,n.defineComponent)({__name:`DialogContentModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let r=e,i=t,a=qe(),o=Ve(i),{forwardRef:s,currentElement:c}=K();_t((0,n.computed)(()=>r.present?c.value:void 0));let l=(0,n.computed)(()=>{let{present:e,...t}=r;return t});return(0,n.watch)(()=>r.present,(e,t)=>{!e&&t&&a.triggerElement.value?.focus()}),(e,t)=>((0,n.openBlock)(),(0,n.createBlock)(en,(0,n.mergeProps)({...l.value,...(0,n.unref)(o)},{ref:(0,n.unref)(s),present:e.present,"trap-focus":(0,n.unref)(a).open.value,"disable-outside-pointer-events":r.disableOutsidePointerEvents,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(e.preventDefault(),(0,n.unref)(a).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:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16,[`present`,`trap-focus`,`disable-outside-pointer-events`]))}}),nn=(0,n.defineComponent)({__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},present:{type:Boolean,required:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let r=e,i=Ve(t);K();let a=qe(),o=(0,n.ref)(!1),s=(0,n.ref)(!1),c=(0,n.computed)(()=>{let{present:e,...t}=r;return t});return(0,n.watch)(()=>r.present,(e,t)=>{!e&&t&&(o.value||a.triggerElement.value?.focus(),o.value=!1,s.value=!1)}),(e,t)=>((0,n.openBlock)(),(0,n.createBlock)(en,(0,n.mergeProps)({...c.value,...(0,n.unref)(i)},{present:e.present,"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(o.value||(0,n.unref)(a).triggerElement.value?.focus(),e.preventDefault()),o.value=!1,s.value=!1},onInteractOutside:t[1]||=e=>{e.defaultPrevented||(o.value=!0,e.detail.originalEvent.type===`pointerdown`&&(s.value=!0));let t=e.target;(0,n.unref)(a).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&s.value&&e.preventDefault()}}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16,[`present`]))}}),rn=(0,n.defineComponent)({__name:`DialogContent`,props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let r=e,i=t,a=qe(),o=Ve(i),{forwardRef:s}=K();return(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(st),{present:e.forceMount||(0,n.unref)(a).open.value,"force-mount":e.forceMount||!(0,n.unref)(a).unmountOnHide.value},{default:(0,n.withCtx)(({present:t})=>[(0,n.unref)(a).modal.value?(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createBlock)(tn,(0,n.mergeProps)({key:0,ref:(0,n.unref)(s),present:(0,n.unref)(a).unmountOnHide.value||t},{...r,...(0,n.unref)(o),...e.$attrs}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:2},1040,[`present`])),[[n.vShow,(0,n.unref)(a).unmountOnHide.value||t]]):(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createBlock)(nn,(0,n.mergeProps)({key:1,ref:(0,n.unref)(s),present:(0,n.unref)(a).unmountOnHide.value||t},{...r,...(0,n.unref)(o),...e.$attrs}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:2},1040,[`present`])),[[n.vShow,(0,n.unref)(a).unmountOnHide.value||t]])]),_:3},8,[`present`,`force-mount`]))}}),an=(0,n.defineComponent)({__name:`DialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let t=e;K();let r=qe();return(e,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),(0,n.mergeProps)(t,{id:(0,n.unref)(r).descriptionId}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16,[`id`]))}});function on(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 sn(e,t,n=`.`,r){if(!on(t))return sn(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]]:on(a)&&on(i[t])?i[t]=sn(a,i[t],(n?`${n}.`:``)+t.toString(),r):i[t]=a))}return i}function cn(e){return(...t)=>t.reduce((t,n)=>sn(t,n,``,e),{})}var ln=cn(),un=(0,i.createSharedComposable)(()=>{let e=(0,n.ref)(new Map),t=(0,n.ref)(),r=(0,n.computed)(()=>{for(let t of e.value.values())if(t)return!0;return!1}),a=yt({scrollBody:(0,n.ref)(!0)}),o=null,s=()=>{document.body.style.paddingRight=``,document.body.style.marginRight=``,document.body.style.pointerEvents=``,document.documentElement.style.removeProperty(`--scrollbar-width`),document.body.style.overflow=t.value??``,et&&o?.(),t.value=void 0};return(0,n.watch)(r,(e,c)=>{if(!$e)return;if(!e){c&&s();return}t.value===void 0&&(t.value=document.body.style.overflow);let l=window.innerWidth-document.documentElement.clientWidth,u={padding:l,margin:0},d=a.scrollBody?.value?typeof a.scrollBody.value==`object`?ln({padding:a.scrollBody.value.padding===!0?l:a.scrollBody.value.padding,margin:a.scrollBody.value.margin===!0?l:a.scrollBody.value.margin},u):u:{padding:0,margin:0};l>0&&(document.body.style.paddingRight=typeof d.padding==`number`?`${d.padding}px`:String(d.padding),document.body.style.marginRight=typeof d.margin==`number`?`${d.margin}px`:String(d.margin),document.documentElement.style.setProperty(`--scrollbar-width`,`${l}px`),document.body.style.overflow=`hidden`),et&&(o=(0,i.useEventListener)(document,`touchmove`,e=>pn(e),{passive:!1})),(0,n.nextTick)(()=>{r.value&&(document.body.style.pointerEvents=`none`,document.body.style.overflow=`hidden`)})},{immediate:!0,flush:`sync`}),e});function dn(e){let t=Math.random().toString(36).substring(2,7),r=un();r.value.set(t,e??!1);let i=(0,n.computed)({get:()=>r.value.get(t)??!1,set:e=>r.value.set(t,e)});return it(()=>{r.value.delete(t)}),i}function fn(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:fn(t)}}function pn(e){let t=e||window.event,n=t.target;return n instanceof Element&&fn(n)?!1:t.touches.length>1?!0:(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}var mn=(0,n.defineComponent)({__name:`DialogOverlayImpl`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1,default:!0}},setup(e){let t=e,r=qe(),i=dn(t.present);return(0,n.watch)(()=>t.present,e=>i.value=e),K(),(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),{as:e.as,"as-child":e.asChild,"data-state":(0,n.unref)(r).open.value?`open`:`closed`,style:{"pointer-events":`auto`},onPointerdown:t[0]||=(0,n.withModifiers)(()=>{},[`left`,`self`,`prevent`])},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-state`]))}}),hn=(0,n.defineComponent)({__name:`DialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=qe(),{forwardRef:r}=K();return(e,i)=>(0,n.unref)(t)?.modal.value?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(st),{key:0,present:e.forceMount||(0,n.unref)(t).open.value,"force-mount":e.forceMount||!(0,n.unref)(t).unmountOnHide.value},{default:(0,n.withCtx)(({present:i})=>[(0,n.withDirectives)((0,n.createVNode)(mn,(0,n.mergeProps)(e.$attrs,{ref:(0,n.unref)(r),as:e.as,"as-child":e.asChild,present:(0,n.unref)(t).unmountOnHide.value||i}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:2},1040,[`as`,`as-child`,`present`]),[[n.vShow,(0,n.unref)(t).unmountOnHide.value||i]])]),_:3},8,[`present`,`force-mount`])):(0,n.createCommentVNode)(`v-if`,!0)}}),gn=(0,n.defineComponent)({__name:`Teleport`,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,r=yt({}),a=(0,n.computed)(()=>t.to??r.teleportTo?.value??`body`),o=(0,i.useMounted)();return(e,t)=>(0,n.unref)(o)||e.forceMount?((0,n.openBlock)(),(0,n.createBlock)(n.Teleport,{key:0,to:a.value,disabled:e.disabled,defer:e.defer},[(0,n.renderSlot)(e.$slots,`default`)],8,[`to`,`disabled`,`defer`])):(0,n.createCommentVNode)(`v-if`,!0)}}),_n=(0,n.defineComponent)({__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,r)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(gn),(0,n.normalizeProps)((0,n.guardReactiveProps)(t)),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16))}}),vn=(0,n.defineComponent)({__name:`DialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let t=e,r=qe();return K(),(e,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),(0,n.mergeProps)(t,{id:(0,n.unref)(r).titleId}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16,[`id`]))}}),yn=(0,n.defineComponent)({__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 K(),(e,r)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),(0,n.mergeProps)(t,{onMousedown:r[0]||=e=>{!e.defaultPrevented&&e.detail>1&&e.preventDefault()}}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16))}});function bn(e){let t=yt({dir:(0,n.ref)(`ltr`)});return(0,n.computed)(()=>e?.value||t.dir?.value||`ltr`)}function xn(e){return(0,n.computed)(()=>(0,n.toValue)(e)?!!(0,i.unrefElement)(e)?.closest(`form`):!0)}function Sn(){let e=(0,n.ref)();return{primitiveElement:e,currentElement:(0,n.computed)(()=>[`#text`,`#comment`].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:(0,i.unrefElement)(e))}}var Cn=`data-reka-collection-item`;function wn(e={}){let{key:t=``,isProvider:r=!1}=e,i=`${t}CollectionProvider`,a;if(r){let e=(0,n.ref)(new Map);a={collectionRef:(0,n.ref)(),itemMap:e},(0,n.provide)(i,a)}else a=(0,n.inject)(i);let o=(e=!1)=>{let t=a.collectionRef.value;if(!t)return[];let n=Array.from(t.querySelectorAll(`[${Cn}]`)),r=new Map(n.map((e,t)=>[e,t])),i=Array.from(a.itemMap.value.values()).sort((e,t)=>(r.get(e.ref)??-1)-(r.get(t.ref)??-1));return e?i:i.filter(e=>e.ref.dataset.disabled!==``)},s=(0,n.defineComponent)({name:`CollectionSlot`,inheritAttrs:!1,setup(e,{slots:t,attrs:r}){let{primitiveElement:i,currentElement:o}=Sn();return(0,n.watch)(o,()=>{a.collectionRef.value=o.value}),()=>(0,n.h)(We,{ref:i,...r},t)}}),c=(0,n.defineComponent)({name:`CollectionItem`,inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(e,{slots:t,attrs:r}){let{primitiveElement:i,currentElement:o}=Sn();return(0,n.watchEffect)(t=>{if(o.value){let r=(0,n.markRaw)(o.value);a.itemMap.value.set(r,{ref:o.value,value:e.value}),t(()=>a.itemMap.value.delete(r))}}),()=>(0,n.h)(We,{...r,[Cn]:``,ref:i},t)}});return{getItems:o,reactiveItems:(0,n.computed)(()=>Array.from(a.itemMap.value.values())),itemMapSize:(0,n.computed)(()=>a.itemMap.value.size),CollectionSlot:s,CollectionItem:c}}var[Tn,En]=Ke(`PopperRoot`),Dn=(0,n.defineComponent)({inheritAttrs:!1,__name:`PopperRoot`,setup(e){let t=(0,n.ref)();return En({anchor:t,onAnchorChange:e=>t.value=e}),(e,t)=>(0,n.renderSlot)(e.$slots,`default`)}}),On=(0,n.defineComponent)({__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)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),{as:e.as,"as-child":e.asChild,"aria-hidden":e.feature===`focusable`||e.feature===`fully-hidden`?`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:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`aria-hidden`,`data-hidden`,`tabindex`]))}}),kn=(0,n.defineComponent)({__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,r=(0,n.ref)(),i=zn();(0,n.watch)(()=>t.value,(e,t)=>{let n=window.HTMLSelectElement.prototype,i=Object.getOwnPropertyDescriptor(n,`value`).set;if(e!==t&&i&&r.value){let t=new Event(`change`,{bubbles:!0});i.call(r.value,e),r.value.dispatchEvent(t)}});function a(e){i.onValueChange(e.target.value)}return(e,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(On),{"as-child":``},{default:(0,n.withCtx)(()=>[(0,n.createElementVNode)(`select`,(0,n.mergeProps)({ref_key:`selectElement`,ref:r},t,{onInput:a}),[(0,n.renderSlot)(e.$slots,`default`)],16)]),_:3}))}});function An(e){return typeof e==`string`?`'${e}'`:new jn().serialize(e)}var jn=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 Mn(e,t){return e===t||An(e)===An(t)}var Nn=[` `,`Enter`,`ArrowUp`,`ArrowDown`],Pn=[` `,`Enter`];function Fn(e,t,n){return e===void 0?!1:Array.isArray(e)?e.some(e=>In(e,t,n)):In(e,t,n)}function In(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]:Mn(e,t)}function Ln(e){return e==null||e===``||Array.isArray(e)&&e.length===0}var Rn=[`value`],[zn,Bn]=Ke(`SelectRoot`),Vn=(0,n.defineComponent)({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},nullableValue:{type:String,required:!1,default:``},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 r=e,a=t,{required:o,disabled:s,multiple:c,dir:l}=(0,n.toRefs)(r),u=(0,i.useVModel)(r,`modelValue`,a,{defaultValue:r.defaultValue??(c.value?[]:void 0),passive:r.modelValue===void 0,deep:!0}),d=(0,i.useVModel)(r,`open`,a,{defaultValue:r.defaultOpen,passive:r.open===void 0}),f=(0,n.ref)(),p=(0,n.ref)(),m=(0,n.ref)({x:0,y:0}),h=(0,n.computed)(()=>c.value&&Array.isArray(u.value)?u.value?.length===0:Ct(u.value));wn({isProvider:!0});let g=bn(l),_=xn(f),v=(0,n.ref)(new Set),y=(0,n.computed)(()=>Array.from(v.value).map(e=>e.value).join(`;`));function b(e){if(c.value){let t=Array.isArray(u.value)?[...u.value]:[],n=t.findIndex(t=>In(t,e,r.by));n===-1?t.push(e):t.splice(n,1),u.value=[...t]}else u.value=e}function x(e){return Array.from(v.value).find(t=>Fn(e,t.value,r.by))}return Bn({triggerElement:f,onTriggerChange:e=>{f.value=e},valueElement:p,onValueElementChange:e=>{p.value=e},contentId:``,modelValue:u,onValueChange:b,by:r.by,open:d,multiple:c,required:o,onOpenChange:e=>{d.value=e},dir:g,triggerPointerDownPosRef:m,disabled:s,isEmptyModelValue:h,optionsSet:v,onOptionAdd:e=>{let t=x(e.value);t&&v.value.delete(t),v.value.add(e)},onOptionRemove:e=>{let t=x(e.value);t&&v.value.delete(t)}}),(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Dn),null,{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`,{modelValue:(0,n.unref)(u),open:(0,n.unref)(d)}),(0,n.unref)(_)&&e.name?((0,n.openBlock)(),(0,n.createBlock)(kn,{key:y.value,"aria-hidden":`true`,tabindex:`-1`,multiple:(0,n.unref)(c),required:(0,n.unref)(o),name:e.name,autocomplete:e.autocomplete,disabled:(0,n.unref)(s),value:(0,n.unref)(u)},{default:(0,n.withCtx)(()=>[(0,n.unref)(Ct)((0,n.unref)(u))?((0,n.openBlock)(),(0,n.createElementBlock)(`option`,{key:0,value:e.nullableValue},null,8,Rn)):(0,n.createCommentVNode)(`v-if`,!0),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(Array.from(v.value),e=>((0,n.openBlock)(),(0,n.createElementBlock)(`option`,(0,n.mergeProps)({key:e.value??``},{ref_for:!0},e),null,16))),128))]),_:1},8,[`multiple`,`required`,`name`,`autocomplete`,`disabled`,`value`])):(0,n.createCommentVNode)(`v-if`,!0)]),_:3}))}}),Hn=0;function Un(){(0,n.watchEffect)(e=>{if(!$e)return;let t=document.querySelectorAll(`[data-reka-focus-guard]`);document.body.insertAdjacentElement(`afterbegin`,t[0]??Wn()),document.body.insertAdjacentElement(`beforeend`,t[1]??Wn()),Hn++,e(()=>{Hn===1&&document.querySelectorAll(`[data-reka-focus-guard]`).forEach(e=>e.remove()),Hn--})})}function Wn(){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 Gn(e){let t=rt(``,1e3);return{search:t,handleTypeaheadSearch:(n,r)=>{if(t.value+=n,e)e(n);else{let e=vt(),n=r.map(e=>({...e,textValue:e.value?.textValue??e.ref.textContent?.trim()??``})),i=n.find(t=>t.ref===e),a=qn(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 Kn(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function qn(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=Kn(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 Jn(e,t=-1/0,n=1/0){return Math.min(n,Math.max(t,e))}var[Yn,Xn]=Ke(`SelectItemAlignedPosition`),Zn=(0,n.defineComponent)({inheritAttrs:!1,__name:`SelectItemAlignedPosition`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`placed`],setup(e,{emit:t}){let r=e,a=t,{getItems:o}=wn(),s=zn(),c=_a(),l=(0,n.ref)(!1),u=(0,n.ref)(!0),d=(0,n.ref)(),{forwardRef:f,currentElement:p}=K(),{viewport:m,selectedItem:h,selectedItemText:g,focusSelectedItem:_}=c;function v(){if(s.triggerElement.value&&s.valueElement.value&&d.value&&p.value&&m?.value&&h?.value&&g?.value){let e=s.triggerElement.value.getBoundingClientRect(),t=p.value.getBoundingClientRect(),n=s.valueElement.value.getBoundingClientRect(),r=g.value.getBoundingClientRect();if(s.dir.value!==`rtl`){let i=r.left-t.left,a=n.left-i,o=e.left-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-10,u=Jn(a,10,Math.max(10,l-c));d.value.style.minWidth=`${s}px`,d.value.style.left=`${u}px`}else{let i=t.right-r.right,a=window.innerWidth-n.right-i,o=window.innerWidth-e.right-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-10,u=Jn(a,10,Math.max(10,l-c));d.value.style.minWidth=`${s}px`,d.value.style.right=`${u}px`}let i=o().map(e=>e.ref),c=window.innerHeight-20,u=m.value.scrollHeight,f=window.getComputedStyle(p.value),_=Number.parseInt(f.borderTopWidth,10),v=Number.parseInt(f.paddingTop,10),y=Number.parseInt(f.borderBottomWidth,10),b=Number.parseInt(f.paddingBottom,10),x=_+v+u+b+y,S=Math.min(h.value.offsetHeight*5,x),C=window.getComputedStyle(m.value),w=Number.parseInt(C.paddingTop,10),T=Number.parseInt(C.paddingBottom,10),E=e.top+e.height/2-10,D=c-E,O=h.value.offsetHeight/2,k=h.value.offsetTop+O,A=_+v+k,j=x-A;if(A<=E){let e=h.value===i.at(-1);d.value.style.bottom=`0px`;let t=p.value.clientHeight-m.value.offsetTop-m.value.offsetHeight,n=A+Math.max(D,O+(e?T:0)+t+y);d.value.style.height=`${n}px`}else{let e=h.value===i[0];d.value.style.top=`0px`;let t=Math.max(E,_+m.value.offsetTop+(e?w:0)+O)+j;d.value.style.height=`${t}px`,m.value.scrollTop=A-E+m.value.offsetTop}d.value.style.margin=`10px 0`,d.value.style.minHeight=`${S}px`,d.value.style.maxHeight=`${c}px`,a(`placed`),requestAnimationFrame(()=>l.value=!0)}}let y=(0,n.ref)(``);(0,n.onMounted)(async()=>{await(0,n.nextTick)(),v(),p.value&&(y.value=window.getComputedStyle(p.value).zIndex)});function b(e){e&&u.value===!0&&(v(),_?.(),u.value=!1)}return(0,i.useResizeObserver)(s.triggerElement,()=>{v()}),Xn({contentWrapper:d,shouldExpandOnScrollRef:l,onScrollButtonChange:b}),(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{ref_key:`contentWrapperElement`,ref:d,style:(0,n.normalizeStyle)({display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:y.value})},[(0,n.createVNode)((0,n.unref)(G),(0,n.mergeProps)({ref:(0,n.unref)(f),style:{boxSizing:`border-box`,maxHeight:`100%`}},{...e.$attrs,...r}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16)],4))}});function Qn(e){let t=(0,n.ref)(),r=(0,n.computed)(()=>t.value?.width??0),a=(0,n.computed)(()=>t.value?.height??0),o;return(0,n.onMounted)(()=>{let n=(0,i.unrefElement)(e);n?(t.value={width:n.offsetWidth,height:n.offsetHeight},o=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}}),o.observe(n,{box:`border-box`})):t.value=void 0}),(0,n.onUnmounted)(()=>{o?.disconnect(),o=void 0}),{width:r,height:a}}function $n(e){return e!==null}function er(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]=tr(n),u={start:e.dir===`rtl`?`100%`:`0%`,center:`50%`,end:e.dir===`rtl`?`0%`:`100%`}[l],d={start:`0%`,center:`50%`,end:`100%`}[l],f=(i.arrow?.x??0)+o/2,p=(i.arrow?.y??0)+s/2,m=``,h=``;return c===`bottom`?(m=a?u:`${f}px`,h=`${-s}px`):c===`top`?(m=a?u:`${f}px`,h=`${r.floating.height+s}px`):c===`right`?(m=`${-s}px`,h=a?d:`${p}px`):c===`left`&&(m=`${r.floating.width+s}px`,h=a?d:`${p}px`),{data:{x:m,y:h}}}}}function tr(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var nr=[`top`,`right`,`bottom`,`left`],rr=Math.min,ir=Math.max,ar=Math.round,or=Math.floor,sr=e=>({x:e,y:e}),cr={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function lr(e,t,n){return ir(e,rr(t,n))}function ur(e,t){return typeof e==`function`?e(t):e}function dr(e){return e.split(`-`)[0]}function fr(e){return e.split(`-`)[1]}function pr(e){return e===`x`?`y`:`x`}function mr(e){return e===`y`?`height`:`width`}function hr(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function gr(e){return pr(hr(e))}function _r(e,t,n){n===void 0&&(n=!1);let r=fr(e),i=gr(e),a=mr(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Er(o)),[o,Er(o)]}function vr(e){let t=Er(e);return[yr(e),t,yr(t)]}function yr(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var br=[`left`,`right`],xr=[`right`,`left`],Sr=[`top`,`bottom`],Cr=[`bottom`,`top`];function wr(e,t,n){switch(e){case`top`:case`bottom`:return n?t?xr:br:t?br:xr;case`left`:case`right`:return t?Sr:Cr;default:return[]}}function Tr(e,t,n,r){let i=fr(e),a=wr(dr(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(yr)))),a}function Er(e){let t=dr(e);return cr[t]+e.slice(t.length)}function Dr(e){return{top:0,right:0,bottom:0,left:0,...e}}function Or(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Dr(e)}function kr(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 Ar(e,t,n){let{reference:r,floating:i}=e,a=hr(t),o=gr(t),s=mr(o),c=dr(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(fr(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 jr(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}=ur(t,e),p=Or(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=kr(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=kr(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 Mr=50,Nr=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:jr},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Ar(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<Mr&&(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}=Ar(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},Pr=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}=ur(e,t)||{};if(l==null)return{};let d=Or(u),f={x:n,y:r},p=gr(i),m=mr(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,E=rr(d[_],T),D=rr(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=lr(O,A,k),M=!c.arrow&&fr(i)!=null&&A!==j&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,N=M?A<O?A-O:A-k:0;return{[p]:f[p]+N,data:{[p]:j,centerOffset:A-j-N,...M&&{alignmentOffset:N}},reset:M}}}),Fr=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}=ur(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=dr(r),_=hr(o),v=dr(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Er(o)]:vr(o)),x=p!==`none`;!d&&x&&b.push(...Tr(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=_r(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`&&_!==hr(t))||T.every(e=>hr(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=hr(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 Ir(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Lr(e){return nr.some(t=>e[t]>=0)}var Rr=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=ur(e,t);switch(i){case`referenceHidden`:{let e=Ir(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:Lr(e)}}}case`escaped`:{let e=Ir(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:Lr(e)}}}default:return{}}}}},zr=new Set([`left`,`top`]);async function Br(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=dr(n),s=fr(n),c=hr(n)===`y`,l=zr.has(o)?-1:1,u=a&&c?-1:1,d=ur(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 Vr=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 Br(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}}}}},Hr=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}=ur(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=hr(dr(i)),p=pr(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=lr(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=lr(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}}}}}},Ur=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}=ur(e,t),u={x:n,y:r},d=hr(i),f=pr(d),p=u[f],m=u[d],h=ur(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=zr.has(dr(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}}}},Wr=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}=ur(e,t),u=await o.detectOverflow(t,l),d=dr(i),f=fr(i),p=hr(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=rr(h-u[g],v),x=rr(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=ir(u.left,0),t=ir(u.right,0),n=ir(u.top,0),r=ir(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:ir(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:ir(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 Gr(){return typeof window<`u`}function Kr(e){return Yr(e)?(e.nodeName||``).toLowerCase():`#document`}function qr(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Jr(e){return((Yr(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Yr(e){return Gr()?e instanceof Node||e instanceof qr(e).Node:!1}function Xr(e){return Gr()?e instanceof Element||e instanceof qr(e).Element:!1}function Zr(e){return Gr()?e instanceof HTMLElement||e instanceof qr(e).HTMLElement:!1}function Qr(e){return!Gr()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof qr(e).ShadowRoot}function $r(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=ui(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function ei(e){return/^(table|td|th)$/.test(Kr(e))}function ti(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var ni=/transform|translate|scale|rotate|perspective|filter/,ri=/paint|layout|strict|content/,ii=e=>!!e&&e!==`none`,ai;function oi(e){let t=Xr(e)?ui(e):e;return ii(t.transform)||ii(t.translate)||ii(t.scale)||ii(t.rotate)||ii(t.perspective)||!ci()&&(ii(t.backdropFilter)||ii(t.filter))||ni.test(t.willChange||``)||ri.test(t.contain||``)}function si(e){let t=fi(e);for(;Zr(t)&&!li(t);){if(oi(t))return t;if(ti(t))return null;t=fi(t)}return null}function ci(){return ai??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),ai}function li(e){return/^(html|body|#document)$/.test(Kr(e))}function ui(e){return qr(e).getComputedStyle(e)}function di(e){return Xr(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function fi(e){if(Kr(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Qr(e)&&e.host||Jr(e);return Qr(t)?t.host:t}function pi(e){let t=fi(e);return li(t)?e.ownerDocument?e.ownerDocument.body:e.body:Zr(t)&&$r(t)?t:pi(t)}function mi(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=pi(e),i=r===e.ownerDocument?.body,a=qr(r);if(i){let e=hi(a);return t.concat(a,a.visualViewport||[],$r(r)?r:[],e&&n?mi(e):[])}else return t.concat(r,mi(r,[],n))}function hi(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function gi(e){let t=ui(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Zr(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=ar(n)!==a||ar(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function _i(e){return Xr(e)?e:e.contextElement}function vi(e){let t=_i(e);if(!Zr(t))return sr(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=gi(t),o=(a?ar(n.width):n.width)/r,s=(a?ar(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var yi=sr(0);function bi(e){let t=qr(e);return!ci()||!t.visualViewport?yi:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function xi(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==qr(e)?!1:t}function Si(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=_i(e),o=sr(1);t&&(r?Xr(r)&&(o=vi(r)):o=vi(e));let s=xi(a,n,r)?bi(a):sr(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=qr(a),t=r&&Xr(r)?qr(r):r,n=e,i=hi(n);for(;i&&r&&t!==n;){let e=vi(i),t=i.getBoundingClientRect(),r=ui(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=qr(i),i=hi(n)}}return kr({width:u,height:d,x:c,y:l})}function Ci(e,t){let n=di(e).scrollLeft;return t?t.left+n:Si(Jr(e)).left+n}function wi(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Ci(e,n),y:n.top+t.scrollTop}}function Ti(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=Jr(r),s=t?ti(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=sr(1),u=sr(0),d=Zr(r);if((d||!d&&!a)&&((Kr(r)!==`body`||$r(o))&&(c=di(r)),d)){let e=Si(r);l=vi(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?wi(o,c):sr(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 Ei(e){return Array.from(e.getClientRects())}function Di(e){let t=Jr(e),n=di(e),r=e.ownerDocument.body,i=ir(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=ir(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Ci(e),s=-n.scrollTop;return ui(r).direction===`rtl`&&(o+=ir(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var Oi=25;function ki(e,t){let n=qr(e),r=Jr(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=ci();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=Ci(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<=Oi&&(a-=o)}else l<=Oi&&(a+=l);return{width:a,height:o,x:s,y:c}}function Ai(e,t){let n=Si(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Zr(e)?vi(e):sr(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function ji(e,t,n){let r;if(t===`viewport`)r=ki(e,n);else if(t===`document`)r=Di(Jr(e));else if(Xr(t))r=Ai(t,n);else{let n=bi(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return kr(r)}function Mi(e,t){let n=fi(e);return n===t||!Xr(n)||li(n)?!1:ui(n).position===`fixed`||Mi(n,t)}function Ni(e,t){let n=t.get(e);if(n)return n;let r=mi(e,[],!1).filter(e=>Xr(e)&&Kr(e)!==`body`),i=null,a=ui(e).position===`fixed`,o=a?fi(e):e;for(;Xr(o)&&!li(o);){let t=ui(o),n=oi(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||$r(o)&&!n&&Mi(e,o))?r=r.filter(e=>e!==o):i=t,o=fi(o)}return t.set(e,r),r}function Pi(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?ti(t)?[]:Ni(t,this._c):[].concat(n),r],o=ji(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=ji(t,a[e],i);s=ir(n.top,s),c=rr(n.right,c),l=rr(n.bottom,l),u=ir(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Fi(e){let{width:t,height:n}=gi(e);return{width:t,height:n}}function Ii(e,t,n){let r=Zr(t),i=Jr(t),a=n===`fixed`,o=Si(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=sr(0);function l(){c.x=Ci(i)}if(r||!r&&!a)if((Kr(t)!==`body`||$r(i))&&(s=di(t)),r){let e=Si(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?wi(i,s):sr(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 Li(e){return ui(e).position===`static`}function Ri(e,t){if(!Zr(e)||ui(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return Jr(e)===n&&(n=n.ownerDocument.body),n}function zi(e,t){let n=qr(e);if(ti(e))return n;if(!Zr(e)){let t=fi(e);for(;t&&!li(t);){if(Xr(t)&&!Li(t))return t;t=fi(t)}return n}let r=Ri(e,t);for(;r&&ei(r)&&Li(r);)r=Ri(r,t);return r&&li(r)&&Li(r)&&!oi(r)?n:r||si(e)||n}var Bi=async function(e){let t=this.getOffsetParent||zi,n=this.getDimensions,r=await n(e.floating);return{reference:Ii(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Vi(e){return ui(e).direction===`rtl`}var Hi={convertOffsetParentRelativeRectToViewportRelativeRect:Ti,getDocumentElement:Jr,getClippingRect:Pi,getOffsetParent:zi,getElementRects:Bi,getClientRects:Ei,getDimensions:Fi,getScale:vi,isElement:Xr,isRTL:Vi};function Ui(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Wi(e,t){let n=null,r,i=Jr(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=or(d),h=or(i.clientWidth-(u+f)),g=or(i.clientHeight-(d+p)),_=or(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:ir(0,rr(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&&!Ui(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 Gi(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=_i(e),u=i||a?[...l?mi(l):[],...t?mi(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Wi(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?Si(e):null;c&&g();function g(){let t=Si(e);h&&!Ui(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 Ki=Vr,qi=Hr,Ji=Fr,Yi=Wr,Xi=Rr,Zi=Pr,Qi=Ur,$i=(e,t,n)=>{let r=new Map,i={platform:Hi,...n},a={...i.platform,_c:r};return Nr(e,t,{...i,platform:a})},q=e.n({Vue:()=>n,Vue2:()=>void 0,del:()=>na,install:()=>ea,isVue2:()=>!1,isVue3:()=>!0,set:()=>ta});e.r(q,require("vue"));function ea(){}function ta(e,t,n){return Array.isArray(e)?(e.length=Math.max(e.length,t),e.splice(t,1,n),n):(e[t]=n,n)}function na(e,t){if(Array.isArray(e)){e.splice(t,1);return}delete e[t]}function ra(e){return typeof e==`object`&&!!e&&`$el`in e}function ia(e){if(ra(e)){let t=e.$el;return Yr(t)&&Kr(t)===`#comment`?null:t}return e}function aa(e){return typeof e==`function`?e():(0,q.unref)(e)}function oa(e){return{name:`arrow`,options:e,fn(t){let n=ia(aa(e.element));return n==null?{}:Zi({element:n,padding:e.padding}).fn(t)}}}function sa(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function ca(e,t){let n=sa(e);return Math.round(t*n)/n}function la(e,t,n){n===void 0&&(n={});let r=n.whileElementsMounted,i=(0,q.computed)(()=>aa(n.open)??!0),a=(0,q.computed)(()=>aa(n.middleware)),o=(0,q.computed)(()=>aa(n.placement)??`bottom`),s=(0,q.computed)(()=>aa(n.strategy)??`absolute`),c=(0,q.computed)(()=>aa(n.transform)??!0),l=(0,q.computed)(()=>ia(e.value)),u=(0,q.computed)(()=>ia(t.value)),d=(0,q.ref)(0),f=(0,q.ref)(0),p=(0,q.ref)(s.value),m=(0,q.ref)(o.value),h=(0,q.shallowRef)({}),g=(0,q.ref)(!1),_=(0,q.computed)(()=>{let e={position:p.value,left:`0`,top:`0`};if(!u.value)return e;let t=ca(u.value,d.value),n=ca(u.value,f.value);return c.value?{...e,transform:`translate(`+t+`px, `+n+`px)`,...sa(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;$i(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(0,q.watch)([a,o,s,i],y,{flush:`sync`}),(0,q.watch)([l,u],x,{flush:`sync`}),(0,q.watch)(i,S,{flush:`sync`}),(0,q.getCurrentScope)()&&(0,q.onScopeDispose)(b),{x:(0,q.shallowReadonly)(d),y:(0,q.shallowReadonly)(f),strategy:(0,q.shallowReadonly)(p),placement:(0,q.shallowReadonly)(m),middlewareData:(0,q.shallowReadonly)(h),isPositioned:(0,q.shallowReadonly)(g),floatingStyles:_,update:y}}var ua=[`dir`],da={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},[fa,pa]=Ke(`PopperContent`),ma=(0,n.defineComponent)({inheritAttrs:!1,__name:`PopperContent`,props:(0,n.mergeDefaults)({memoDependencies:{type:Array,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},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...da}),emits:[`placed`],setup(e,{emit:t}){let r=e,i=t,a=Tn(),{forwardRef:o,currentElement:s}=K(),c=bn((0,n.computed)(()=>r.dir)),l=(0,n.ref)(),u=(0,n.ref)(),{width:d,height:f}=Qn(u),p=(0,n.computed)(()=>r.side+(r.align===`center`?``:`-${r.align}`)),m=(0,n.computed)(()=>typeof r.collisionPadding==`number`?r.collisionPadding:{top:0,right:0,bottom:0,left:0,...r.collisionPadding}),h=(0,n.computed)(()=>Array.isArray(r.collisionBoundary)?r.collisionBoundary:[r.collisionBoundary]),g=(0,n.computed)(()=>({padding:m.value,boundary:h.value.filter($n),altBoundary:h.value.length>0})),_=(0,n.computed)(()=>({mainAxis:r.sideFlip,crossAxis:r.alignFlip})),v=(0,n.computed)(()=>[Ki({mainAxis:r.sideOffset+f.value,alignmentAxis:r.alignOffset}),r.prioritizePosition&&r.avoidCollisions&&Ji({...g.value,..._.value}),r.avoidCollisions&&qi({mainAxis:!0,crossAxis:!!r.prioritizePosition,limiter:r.sticky===`partial`?Qi():void 0,...g.value}),!r.prioritizePosition&&r.avoidCollisions&&Ji({...g.value,..._.value}),Yi({...g.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`)}}),u.value&&oa({element:u.value,padding:r.arrowPadding}),er({arrowWidth:d.value,arrowHeight:f.value,dir:c.value}),r.hideWhenDetached&&Xi({strategy:`referenceHidden`,...g.value})]),{floatingStyles:y,placement:b,isPositioned:x,middlewareData:S,update:C}=la((0,n.computed)(()=>r.reference??a.anchor.value),l,{strategy:r.positionStrategy,placement:p,whileElementsMounted:(...e)=>Gi(...e,{layoutShift:!r.disableUpdateOnLayoutShift,animationFrame:r.updatePositionStrategy===`always`}),middleware:v}),w=(0,n.computed)(()=>tr(b.value)[0]),T=(0,n.computed)(()=>tr(b.value)[1]);(0,n.watchPostEffect)(()=>{x.value&&i(`placed`)});let E=(0,n.computed)(()=>{let e=S.value.arrow?.centerOffset!==0;return r.hideShiftedArrow&&e}),D=(0,n.ref)(``);return(0,n.watchEffect)(()=>{s.value&&(D.value=window.getComputedStyle(s.value).zIndex)}),pa({placedSide:w,onArrowChange:e=>u.value=e,arrowX:(0,n.computed)(()=>S.value.arrow?.x??0),arrowY:(0,n.computed)(()=>S.value.arrow?.y??0),shouldHideArrow:E}),(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{ref_key:`floatingRef`,ref:l,"data-reka-popper-content-wrapper":``,dir:(0,n.unref)(c),style:(0,n.normalizeStyle)({...(0,n.unref)(y),transform:(0,n.unref)(x)?(0,n.unref)(y).transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:D.value,"--reka-popper-transform-origin":[(0,n.unref)(S).transformOrigin?.x,(0,n.unref)(S).transformOrigin?.y].join(` `),...(0,n.unref)(S).hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}})},[r.memoDependencies?(0,n.withMemo)([r.asChild,r.as,w.value,T.value,(0,n.unref)(x),...Object.values(e.$attrs),...r.memoDependencies],()=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),(0,n.mergeProps)({key:0,ref:(0,n.unref)(o)},e.$attrs,{"as-child":r.asChild,as:r.as,"data-side":w.value,"data-align":T.value,style:{animation:(0,n.unref)(x)?void 0:`none`}}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16,[`as-child`,`as`,`data-side`,`data-align`,`style`])),t,0):((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),(0,n.mergeProps)({key:1,ref:(0,n.unref)(o)},e.$attrs,{"as-child":r.asChild,as:r.as,"data-side":w.value,"data-align":T.value,dir:(0,n.unref)(c),style:{animation:(0,n.unref)(x)?void 0:`none`}}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16,[`as-child`,`as`,`data-side`,`data-align`,`dir`,`style`]))],12,ua))}}),ha=(0,n.defineComponent)({__name:`SelectPopperPosition`,props:{memoDependencies:{type:Array,required:!1},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},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=Be(e);return(e,r)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(ma),(0,n.mergeProps)((0,n.unref)(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:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16))}}),ga={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[_a,va]=Ke(`SelectContent`),ya=(0,n.defineComponent)({__name:`SelectContentImpl`,props:{position:{type:String,required:!1,default:`item-aligned`},bodyLock:{type:Boolean,required:!1,default:!0},memoDependencies:{type:Array,required:!1},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},dir:{type:String,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 r=e,a=t,o=zn();Un(),dn(r.bodyLock);let{CollectionSlot:s,getItems:c}=wn(),l=(0,n.ref)();_t(l);let{search:u,handleTypeaheadSearch:d}=Gn(),f=(0,n.ref)(),p=(0,n.ref)(),m=(0,n.ref)(),h=(0,n.ref)(!1),g=(0,n.ref)(!1),_=(0,n.ref)(!1);function v(){p.value&&l.value&&Xt([p.value,l.value])}(0,n.watch)(h,()=>{v()});let{onOpenChange:y,triggerPointerDownPosRef:b}=o;(0,n.watchEffect)(e=>{if(!l.value)return;let t={x:0,y:0},n=e=>{t={x:Math.abs(Math.round(e.pageX)-(b.value?.x??0)),y:Math.abs(Math.round(e.pageY)-(b.value?.y??0))}},r=e=>{e.pointerType!==`touch`&&(t.x<=10&&t.y<=10?e.preventDefault():l.value?.contains(e.target)||y(!1),document.removeEventListener(`pointermove`,n),b.value=null)};b.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 x(e){let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&d(e.key,c()),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=[...c().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(()=>Xt(t)),e.preventDefault()}}let S=Be((0,n.computed)(()=>r.position===`popper`?r:{}).value);return va({content:l,viewport:f,onViewportChange:e=>{f.value=e},itemRefCallback:(e,t,n)=>{let r=!g.value&&!n,i=Fn(o.modelValue.value,t,o.by);if(o.multiple.value){if(_.value)return;(i||r)&&(p.value=e,i&&(_.value=!0))}else(i||r)&&(p.value=e);r&&(g.value=!0)},selectedItem:p,selectedItemText:m,onItemLeave:()=>{l.value?.focus()},itemTextRefCallback:(e,t,n)=>{let r=!g.value&&!n;(Fn(o.modelValue.value,t,o.by)||r)&&(m.value=e)},focusSelectedItem:v,position:r.position,isPositioned:h,searchRef:u}),(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(s),null,{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Gt),{"as-child":``,onMountAutoFocus:t[6]||=(0,n.withModifiers)(()=>{},[`prevent`]),onUnmountAutoFocus:t[7]||=e=>{a(`closeAutoFocus`,e),!e.defaultPrevented&&((0,n.unref)(o).triggerElement.value?.focus({preventScroll:!0}),e.preventDefault())}},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(jt),{"as-child":``,"disable-outside-pointer-events":e.disableOutsidePointerEvents,onFocusOutside:t[2]||=(0,n.withModifiers)(()=>{},[`prevent`]),onDismiss:t[3]||=e=>(0,n.unref)(o).onOpenChange(!1),onEscapeKeyDown:t[4]||=e=>a(`escapeKeyDown`,e),onPointerDownOutside:t[5]||=e=>a(`pointerDownOutside`,e)},{default:(0,n.withCtx)(()=>[((0,n.openBlock)(),(0,n.createBlock)((0,n.resolveDynamicComponent)(e.position===`popper`?ha:Zn),(0,n.mergeProps)({...e.$attrs,...(0,n.unref)(S)},{id:(0,n.unref)(o).contentId,ref:e=>{if(!e)return;let t=(0,n.unref)(i.unrefElement)(e);t?.hasAttribute(`data-reka-popper-content-wrapper`)?l.value=t.firstElementChild:l.value=t},role:`listbox`,"data-state":(0,n.unref)(o).open.value?`open`:`closed`,dir:(0,n.unref)(o).dir.value,style:{display:`flex`,flexDirection:`column`,outline:`none`},onContextmenu:t[0]||=(0,n.withModifiers)(()=>{},[`prevent`]),onPlaced:t[1]||=e=>h.value=!0,onKeydown:x}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`dir`,`onKeydown`]))]),_:3},8,[`disable-outside-pointer-events`])]),_:3})]),_:3}))}}),ba=(0,n.defineComponent)({inheritAttrs:!1,__name:`SelectProvider`,props:{context:{type:Object,required:!0}},setup(e){return Bn(e.context),va(ga),(e,t)=>(0,n.renderSlot)(e.$slots,`default`)}}),xa={key:1},Sa=(0,n.defineComponent)({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},memoDependencies:{type:Array,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},dir:{type:String,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 r=e,i=He(r,t),a=zn(),o=(0,n.ref)();(0,n.onMounted)(()=>{o.value=new DocumentFragment});let s=(0,n.ref)(),c=(0,n.computed)(()=>r.forceMount||a.open.value),l=(0,n.ref)(c.value),u;function d(){u&&=(clearTimeout(u),void 0)}return(0,n.watch)(c,(e,t,n)=>{d(),u=setTimeout(()=>{l.value=c.value,u=void 0}),n(d)}),(0,n.onUnmounted)(d),(e,t)=>c.value||l.value||s.value?.present?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(st),{key:0,ref_key:`presenceRef`,ref:s,present:c.value},{default:(0,n.withCtx)(()=>[(0,n.createVNode)(ya,(0,n.normalizeProps)((0,n.guardReactiveProps)({...(0,n.unref)(i),...e.$attrs})),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16)]),_:3},8,[`present`])):o.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,xa,[((0,n.openBlock)(),(0,n.createBlock)(n.Teleport,{to:o.value},[(0,n.createVNode)(ba,{context:(0,n.unref)(a)},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},8,[`context`])],8,[`to`]))])):(0,n.createCommentVNode)(`v-if`,!0)}}),Ca=(0,n.defineComponent)({__name:`SelectIcon`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),{"aria-hidden":`true`,as:e.as,"as-child":e.asChild},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`,{},()=>[t[0]||=(0,n.createTextVNode)(`▼`)])]),_:3},8,[`as`,`as-child`]))}}),[wa,Ta]=Ke(`SelectItem`),Ea=(0,n.defineComponent)({__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 r=e,i=t,{disabled:a}=(0,n.toRefs)(r),o=zn(),s=_a(),{forwardRef:c,currentElement:l}=K(),{CollectionItem:u}=wn(),d=(0,n.computed)(()=>Fn(o.modelValue?.value,r.value,o.by)),f=(0,n.ref)(!1),p=(0,n.ref)(r.textValue??``),m=St(void 0,`reka-select-item-text`);async function h(e){e.defaultPrevented||wt(`select.select`,g,{originalEvent:e,value:r.value})}async function g(e){await(0,n.nextTick)(),i(`select`,e),!e.defaultPrevented&&(a.value||(o.onValueChange(r.value),o.multiple.value||o.onOpenChange(!1)))}async function _(e){await(0,n.nextTick)(),!e.defaultPrevented&&(a.value?s.onItemLeave?.():e.currentTarget?.focus({preventScroll:!0}))}async function v(e){await(0,n.nextTick)(),!e.defaultPrevented&&e.currentTarget===vt()&&s.onItemLeave?.()}async function y(e){await(0,n.nextTick)(),!e.defaultPrevented&&(s.searchRef?.value!==``&&e.key===` `||(Pn.includes(e.key)&&h(e),e.key===` `&&e.preventDefault()))}if(r.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(0,n.onMounted)(()=>{l.value&&s.itemRefCallback(l.value,r.value,r.disabled)}),Ta({value:r.value,disabled:a,textId:m,isSelected:d,onItemTextChange:e=>{p.value=((p.value||e?.textContent)??``).trim()}}),(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(u),{value:{textValue:p.value}},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(G),{ref:(0,n.unref)(c),role:`option`,"aria-labelledby":(0,n.unref)(m),"data-highlighted":f.value?``:void 0,"aria-selected":d.value,"data-state":d.value?`checked`:`unchecked`,"aria-disabled":(0,n.unref)(a)||void 0,"data-disabled":(0,n.unref)(a)?``:void 0,tabindex:(0,n.unref)(a)?void 0:-1,as:e.as,"as-child":e.asChild,onFocus:t[0]||=e=>f.value=!0,onBlur:t[1]||=e=>f.value=!1,onPointerup:h,onPointerdown:t[2]||=e=>{e.currentTarget.focus({preventScroll:!0})},onTouchend:t[3]||=(0,n.withModifiers)(()=>{},[`prevent`,`stop`]),onPointermove:_,onPointerleave:v,onKeydown:y},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},8,[`aria-labelledby`,`data-highlighted`,`aria-selected`,`data-state`,`aria-disabled`,`data-disabled`,`tabindex`,`as`,`as-child`])]),_:3},8,[`value`]))}}),Da=(0,n.defineComponent)({__name:`SelectItemIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,r=wa();return(e,i)=>(0,n.unref)(r).isSelected.value?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),(0,n.mergeProps)({key:0,"aria-hidden":`true`},t),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16)):(0,n.createCommentVNode)(`v-if`,!0)}}),Oa=(0,n.defineComponent)({inheritAttrs:!1,__name:`SelectItemText`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,r=zn(),i=_a(),a=wa(),{forwardRef:o,currentElement:s}=K(),c=(0,n.computed)(()=>({value:a.value,disabled:a.disabled.value,textContent:s.value?.textContent??a.value?.toString()??``}));return(0,n.onMounted)(()=>{s.value&&(a.onItemTextChange(s.value),i.itemTextRefCallback(s.value,a.value,a.disabled.value),r.onOptionAdd(c.value))}),(0,n.onUnmounted)(()=>{r.onOptionRemove(c.value)}),(e,r)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),(0,n.mergeProps)({id:(0,n.unref)(a).textId,ref:(0,n.unref)(o)},{...t,...e.$attrs}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16,[`id`]))}}),ka=(0,n.defineComponent)({__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,r)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(gn),(0,n.normalizeProps)((0,n.guardReactiveProps)(t)),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16))}}),Aa=(0,n.defineComponent)({__name:`SelectScrollButtonImpl`,emits:[`autoScroll`],setup(e,{emit:t}){let r=t,{getItems:i}=wn(),a=_a(),o=(0,n.ref)(null);function s(){o.value!==null&&(window.clearInterval(o.value),o.value=null)}(0,n.watchEffect)(()=>{i().map(e=>e.ref).find(e=>e===vt())?.scrollIntoView({block:`nearest`})});function c(){o.value===null&&(o.value=window.setInterval(()=>{r(`autoScroll`)},50))}function l(){a.onItemLeave?.(),o.value===null&&(o.value=window.setInterval(()=>{r(`autoScroll`)},50))}return(0,n.onBeforeUnmount)(()=>s()),(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),(0,n.mergeProps)({"aria-hidden":`true`,style:{flexShrink:0}},e.$parent?.$props,{onPointerdown:c,onPointermove:l,onPointerleave:t[0]||=()=>{s()}}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16))}}),ja=(0,n.defineComponent)({__name:`SelectScrollDownButton`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=_a(),r=t.position===`item-aligned`?Yn():void 0,{forwardRef:i,currentElement:a}=K(),o=(0,n.ref)(!1);return(0,n.watchEffect)(e=>{if(t.viewport?.value&&t.isPositioned?.value){let r=t.viewport.value;function n(){let e=r.scrollHeight-r.clientHeight;o.value=Math.ceil(r.scrollTop)<e}n(),r.addEventListener(`scroll`,n),e(()=>r.removeEventListener(`scroll`,n))}}),(0,n.watch)(a,()=>{a.value&&r?.onScrollButtonChange(a.value)}),(e,r)=>o.value?((0,n.openBlock)(),(0,n.createBlock)(Aa,{key:0,ref:(0,n.unref)(i),onAutoScroll:r[0]||=()=>{let{viewport:e,selectedItem:r}=(0,n.unref)(t);e?.value&&r?.value&&(e.value.scrollTop=e.value.scrollTop+r.value.offsetHeight)}},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},512)):(0,n.createCommentVNode)(`v-if`,!0)}}),Ma=(0,n.defineComponent)({__name:`SelectScrollUpButton`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=_a(),r=t.position===`item-aligned`?Yn():void 0,{forwardRef:i,currentElement:a}=K(),o=(0,n.ref)(!1);return(0,n.watchEffect)(e=>{if(t.viewport?.value&&t.isPositioned?.value){let r=t.viewport.value;function n(){o.value=r.scrollTop>0}n(),r.addEventListener(`scroll`,n),e(()=>r.removeEventListener(`scroll`,n))}}),(0,n.watch)(a,()=>{a.value&&r?.onScrollButtonChange(a.value)}),(e,r)=>o.value?((0,n.openBlock)(),(0,n.createBlock)(Aa,{key:0,ref:(0,n.unref)(i),onAutoScroll:r[0]||=()=>{let{viewport:e,selectedItem:r}=(0,n.unref)(t);e?.value&&r?.value&&(e.value.scrollTop=e.value.scrollTop-r.value.offsetHeight)}},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},512)):(0,n.createCommentVNode)(`v-if`,!0)}}),Na=(0,n.defineComponent)({__name:`PopperAnchor`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{forwardRef:r,currentElement:i}=K(),a=Tn();return(0,n.watchPostEffect)(()=>{a.onAnchorChange(t.reference??i.value)}),(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),{ref:(0,n.unref)(r),as:e.as,"as-child":e.asChild},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}}),Pa=(0,n.defineComponent)({__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,r=zn(),{forwardRef:i,currentElement:a}=K(),o=(0,n.computed)(()=>r.disabled?.value||t.disabled);r.contentId||=St(void 0,`reka-select-content`),(0,n.onMounted)(()=>{r.onTriggerChange(a.value)});let{getItems:s}=wn(),{search:c,handleTypeaheadSearch:l,resetTypeahead:u}=Gn();function d(){o.value||(r.onOpenChange(!0),u())}function f(e){d(),r.triggerPointerDownPosRef.value={x:Math.round(e.pageX),y:Math.round(e.pageY)}}function p(e){return e.button===0&&e.ctrlKey===!1}let m=!1;function h(e){if(e.pointerType===`touch`)return e.preventDefault();let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),p(e)&&(f(e),m=!0)}function g(e){p(e)&&e.preventDefault()}function _(e){m||e.currentTarget?.focus(),m=!1}return(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Na),{"as-child":``,reference:e.reference},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(G),{ref:(0,n.unref)(i),role:`combobox`,type:e.as===`button`?`button`:void 0,"aria-controls":(0,n.unref)(r).contentId,"aria-expanded":(0,n.unref)(r).open.value||!1,"aria-required":(0,n.unref)(r).required?.value,"aria-autocomplete":`none`,disabled:o.value,dir:(0,n.unref)(r)?.dir.value,"data-state":(0,n.unref)(r)?.open.value?`open`:`closed`,"data-disabled":o.value?``:void 0,"data-placeholder":(0,n.unref)(Ln)((0,n.unref)(r).modelValue?.value)?``:void 0,"as-child":e.asChild,as:e.as,onClick:_,onPointerdown:h,onMousedown:g,onPointerup:t[0]||=(0,n.withModifiers)(e=>{e.pointerType===`touch`&&f(e)},[`prevent`]),onKeydown:t[1]||=e=>{let t=(0,n.unref)(c)!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&t&&e.key===` `||((0,n.unref)(l)(e.key,(0,n.unref)(s)()),(0,n.unref)(Nn).includes(e.key)&&(d(),e.preventDefault()))}},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(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`]))}}),Fa=(0,n.defineComponent)({__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:r,currentElement:i}=K(),a=zn();(0,n.onMounted)(()=>{a.valueElement=i});let o=(0,n.computed)(()=>{let e=[],t=Array.from(a.optionsSet.value),n=e=>t.find(t=>Fn(e,t.value,a.by));return e=Array.isArray(a.modelValue.value)?a.modelValue.value.map(e=>n(e)?.textContent??``):[n(a.modelValue.value)?.textContent??``],e.filter(Boolean)}),s=(0,n.computed)(()=>o.value.length?o.value.join(`, `):t.placeholder);return(e,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),{ref:(0,n.unref)(r),as:e.as,"as-child":e.asChild,style:{pointerEvents:`none`},"data-placeholder":o.value.length?void 0:t.placeholder},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`,{selectedLabel:o.value,modelValue:(0,n.unref)(a).modelValue.value},()=>[(0,n.createTextVNode)((0,n.toDisplayString)(s.value),1)])]),_:3},8,[`as`,`as-child`,`data-placeholder`]))}});function Ia(e){let t=yt({nonce:(0,n.ref)()});return(0,n.computed)(()=>e?.value||t.nonce?.value)}var La=(0,n.defineComponent)({__name:`SelectViewport`,props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{nonce:r}=(0,n.toRefs)(t),i=Ia(r),a=_a(),o=a.position===`item-aligned`?Yn():void 0,{forwardRef:s,currentElement:c}=K();(0,n.onMounted)(()=>{a?.onViewportChange(c.value)});let l=(0,n.ref)(0);function u(e){let t=e.currentTarget,{shouldExpandOnScrollRef:n,contentWrapper:r}=o??{};if(n?.value&&r?.value){let e=Math.abs(l.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`)}}}l.value=t.scrollTop}return(e,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,[(0,n.createVNode)((0,n.unref)(G),(0,n.mergeProps)({ref:(0,n.unref)(s),"data-reka-select-viewport":``,role:`presentation`},{...e.$attrs,...t},{style:{position:`relative`,flex:1,overflow:`hidden auto`},onScroll:u}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16),(0,n.createVNode)((0,n.unref)(G),{as:`style`,nonce:(0,n.unref)(i)},{default:(0,n.withCtx)(()=>r[0]||=[(0,n.createTextVNode)(` /* 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))}});function Ra(){let e=(0,n.getCurrentInstance)()?.vnode?.scopeId;return e?{[e]:``}:{}}var za=(0,n.defineComponent)({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:r,currentElement:i}=Sn();return(0,n.watch)((0,n.computed)(()=>t.checked??t.value),(e,t)=>{if(!i.value)return;let n=i.value,r=window.HTMLInputElement.prototype,a=Object.getOwnPropertyDescriptor(r,`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,i)=>((0,n.openBlock)(),(0,n.createBlock)(On,(0,n.mergeProps)({ref_key:`primitiveElement`,ref:r},{...t,...e.$attrs},{as:`input`}),null,16))}}),Ba=(0,n.defineComponent)({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,r=(0,n.computed)(()=>typeof t.value==`object`&&Array.isArray(t.value)&&t.value.length===0&&t.required),i=(0,n.computed)(()=>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,a)=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,[(0,n.createCommentVNode)(` We render single input if it's required `),r.value?((0,n.openBlock)(),(0,n.createBlock)(za,(0,n.mergeProps)({key:e.name},{...t,...e.$attrs},{name:e.name,value:e.value}),null,16,[`name`,`value`])):((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,{key:1},(0,n.renderList)(i.value,r=>((0,n.openBlock)(),(0,n.createBlock)(za,(0,n.mergeProps)({key:r.name},{ref_for:!0},{...t,...e.$attrs},{name:r.name,value:r.value}),null,16,[`name`,`value`]))),128))],2112))}}),[Va,Ha]=Ke(`SwitchRoot`),Ua=(0,n.defineComponent)({inheritAttrs:!1,__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 r=e,a=t,{disabled:o}=(0,n.toRefs)(r),s=(0,i.useVModel)(r,`modelValue`,a,{defaultValue:r.defaultValue??r.falseValue,passive:r.modelValue===void 0}),c=(0,n.computed)(()=>s.value===r.trueValue);function l(){o.value||(s.value=c.value?r.falseValue:r.trueValue)}let{forwardRef:u,currentElement:d}=K(),f=xn(d),p=Ra(),m=(0,n.computed)(()=>r.id&&d.value?document.querySelector(`[for="${r.id}"]`)?.innerText:void 0);return Ha({checked:c,toggleCheck:l,disabled:o}),(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,[(0,n.createVNode)((0,n.unref)(G),(0,n.mergeProps)({id:e.id,ref:(0,n.unref)(u),role:`switch`,type:e.as===`button`?`button`:void 0,value:e.value,"aria-label":e.$attrs[`aria-label`]||m.value,"aria-checked":c.value,"aria-required":e.required,"data-state":c.value?`checked`:`unchecked`,"data-disabled":(0,n.unref)(o)?``:void 0,"as-child":e.asChild,as:e.as,disabled:(0,n.unref)(o)},{...(0,n.unref)(p),...e.$attrs},{onClick:l,onKeydown:(0,n.withKeys)((0,n.withModifiers)(l,[`prevent`]),[`enter`])}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`,{modelValue:(0,n.unref)(s),checked:c.value})]),_:3},16,[`id`,`type`,`value`,`aria-label`,`aria-checked`,`aria-required`,`data-state`,`data-disabled`,`as-child`,`as`,`disabled`,`onKeydown`]),(0,n.unref)(f)&&e.name?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Ba),(0,n.mergeProps)({key:0,type:`checkbox`,name:e.name,disabled:(0,n.unref)(o),required:e.required,value:e.value,checked:c.value},(0,n.unref)(p)),null,16,[`name`,`disabled`,`required`,`value`,`checked`])):(0,n.createCommentVNode)(`v-if`,!0)],64))}}),Wa=(0,n.defineComponent)({__name:`SwitchThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=Va();return K(),(e,r)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),{"data-state":(0,n.unref)(t).checked.value?`checked`:`unchecked`,"data-disabled":(0,n.unref)(t).disabled.value?``:void 0,"as-child":e.asChild,as:e.as},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},8,[`data-state`,`data-disabled`,`as-child`,`as`]))}}),Ga=(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},Ka=(e,t)=>({classGroupId:e,validator:t}),qa=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),Ja=`-`,Ya=[],Xa=`arbitrary..`,Za=e=>{let t=eo(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return $a(e);let n=e.split(Ja);return Qa(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?Ga(i,t):t:i||Ya}return n[e]||Ya}}},Qa=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=Qa(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(Ja):e.slice(t).join(Ja),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},$a=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?Xa+r:void 0})(),eo=e=>{let{theme:t,classGroups:n}=e;return to(n,t)},to=(e,t)=>{let n=qa();for(let r in e){let i=e[r];no(i,n,r,t)}return n},no=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];ro(i,t,n,r)}},ro=(e,t,n,r)=>{if(typeof e==`string`){io(e,t,n);return}if(typeof e==`function`){ao(e,t,n,r);return}oo(e,t,n,r)},io=(e,t,n)=>{let r=e===``?t:so(t,e);r.classGroupId=n},ao=(e,t,n,r)=>{if(co(e)){no(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(Ka(n,e))},oo=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];no(o,so(t,a),n,r)}},so=(e,t)=>{let n=e,r=t.split(Ja),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=qa(),n.nextPart.set(t,i)),n=i}return n},co=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,lo=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)}}},uo=`!`,fo=`:`,po=[],mo=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),ho=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===fo){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(uo)?(c=s.slice(0,-1),l=!0):s.startsWith(uo)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return mo(t,l,c,u)};if(t){let e=t+fo,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):mo(po,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},go=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}},_o=e=>({cache:lo(e.cacheSize),parseClassName:ho(e),sortModifiers:go(e),postfixLookupClassGroupIds:vo(e),...Za(e)}),vo=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},yo=/\s+/,bo=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(yo),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?_+uo:_,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},xo=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=So(n))&&(i&&(i+=` `),i+=r);return i},So=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=So(e[r]))&&(n&&(n+=` `),n+=t);return n},Co=(e,...t)=>{let n,r,i,a,o=o=>(n=_o(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=bo(e,n);return i(e,a),a};return a=o,(...e)=>a(xo(...e))},wo=[],J=e=>{let t=t=>t[e]||wo;return t.isThemeGetter=!0,t},To=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Eo=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Do=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Oo=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ko=/\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$/,Ao=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,jo=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Mo=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,No=e=>Do.test(e),Y=e=>!!e&&!Number.isNaN(Number(e)),Po=e=>!!e&&Number.isInteger(Number(e)),Fo=e=>e.endsWith(`%`)&&Y(e.slice(0,-1)),Io=e=>Oo.test(e),Lo=()=>!0,Ro=e=>ko.test(e)&&!Ao.test(e),zo=()=>!1,Bo=e=>jo.test(e),Vo=e=>Mo.test(e),Ho=e=>!X(e)&&!Z(e),Uo=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)),Wo=e=>as(e,ls,zo),X=e=>To.test(e),Go=e=>as(e,us,Ro),Ko=e=>as(e,ds,Y),qo=e=>as(e,ps,Lo),Jo=e=>as(e,fs,zo),Yo=e=>as(e,ss,zo),Xo=e=>as(e,cs,Vo),Zo=e=>as(e,ms,Bo),Z=e=>Eo.test(e),Qo=e=>os(e,us),$o=e=>os(e,fs),es=e=>os(e,ss),ts=e=>os(e,ls),ns=e=>os(e,cs),rs=e=>os(e,ms,!0),is=e=>os(e,ps,!0),as=(e,t,n)=>{let r=To.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},os=(e,t,n=!1)=>{let r=Eo.exec(e);return r?r[1]?t(r[1]):n:!1},ss=e=>e===`position`||e===`percentage`,cs=e=>e===`image`||e===`url`,ls=e=>e===`length`||e===`size`||e===`bg-size`,us=e=>e===`length`,ds=e=>e===`number`,fs=e=>e===`family-name`,ps=e=>e===`number`||e===`weight`,ms=e=>e===`shadow`,hs=Co(()=>{let e=J(`color`),t=J(`font`),n=J(`text`),r=J(`font-weight`),i=J(`tracking`),a=J(`leading`),o=J(`breakpoint`),s=J(`container`),c=J(`spacing`),l=J(`radius`),u=J(`shadow`),d=J(`inset-shadow`),f=J(`text-shadow`),p=J(`drop-shadow`),m=J(`blur`),h=J(`perspective`),g=J(`aspect`),_=J(`ease`),v=J(`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=()=>[No,`full`,`auto`,...w()],E=()=>[Po,`none`,`subgrid`,Z,X],D=()=>[`auto`,{span:[`full`,Po,Z,X]},Po,Z,X],O=()=>[Po,`auto`,Z,X],k=()=>[`auto`,`min`,`max`,`fr`,Z,X],A=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],j=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],M=()=>[`auto`,...w()],N=()=>[No,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],P=()=>[No,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],ee=()=>[No,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],F=()=>[e,Z,X],te=()=>[...b(),es,Yo,{position:[Z,X]}],ne=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],I=()=>[`auto`,`cover`,`contain`,ts,Wo,{size:[Z,X]}],L=()=>[Fo,Qo,Go],R=()=>[``,`none`,`full`,l,Z,X],z=()=>[``,Y,Qo,Go],re=()=>[`solid`,`dashed`,`dotted`,`double`],ie=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],B=()=>[Y,Fo,es,Yo],V=()=>[``,`none`,m,Z,X],H=()=>[`none`,Y,Z,X],ae=()=>[`none`,Y,Z,X],oe=()=>[Y,Z,X],se=()=>[No,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[Io],breakpoint:[Io],color:[Lo],container:[Io],"drop-shadow":[Io],ease:[`in`,`out`,`in-out`],font:[Ho],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[Io],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[Io],shadow:[Io],spacing:[`px`,Y],text:[Io],"text-shadow":[Io],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,No,X,Z,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,Z,X]}],"container-named":[Uo],columns:[{columns:[Y,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:[Po,`auto`,Z,X]}],basis:[{basis:[No,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[Y,No,`auto`,`initial`,`none`,X]}],grow:[{grow:[``,Y,Z,X]}],shrink:[{shrink:[``,Y,Z,X]}],order:[{order:[Po,`first`,`last`,`none`,Z,X]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":O()}],"col-end":[{"col-end":O()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":O()}],"row-end":[{"row-end":O()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":k()}],"auto-rows":[{"auto-rows":k()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...A(),`normal`]}],"justify-items":[{"justify-items":[...j(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...j()]}],"align-content":[{content:[`normal`,...A()]}],"align-items":[{items:[...j(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...j(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":A()}],"place-items":[{"place-items":[...j(),`baseline`]}],"place-self":[{"place-self":[`auto`,...j()]}],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:M()}],mx:[{mx:M()}],my:[{my:M()}],ms:[{ms:M()}],me:[{me:M()}],mbs:[{mbs:M()}],mbe:[{mbe:M()}],mt:[{mt:M()}],mr:[{mr:M()}],mb:[{mb:M()}],ml:[{ml:M()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:N()}],"inline-size":[{inline:[`auto`,...P()]}],"min-inline-size":[{"min-inline":[`auto`,...P()]}],"max-inline-size":[{"max-inline":[`none`,...P()]}],"block-size":[{block:[`auto`,...ee()]}],"min-block-size":[{"min-block":[`auto`,...ee()]}],"max-block-size":[{"max-block":[`none`,...ee()]}],w:[{w:[s,`screen`,...N()]}],"min-w":[{"min-w":[s,`screen`,`none`,...N()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...N()]}],h:[{h:[`screen`,`lh`,...N()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...N()]}],"max-h":[{"max-h":[`screen`,`lh`,...N()]}],"font-size":[{text:[`base`,n,Qo,Go]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,is,qo]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Fo,X]}],"font-family":[{font:[$o,Jo,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":[Y,`none`,Z,Ko]}],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:F()}],"text-color":[{text:F()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...re(),`wavy`]}],"text-decoration-thickness":[{decoration:[Y,`from-font`,`auto`,Z,Go]}],"text-decoration-color":[{decoration:F()}],"underline-offset":[{"underline-offset":[Y,`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:[Po,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:te()}],"bg-repeat":[{bg:ne()}],"bg-size":[{bg:I()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},Po,Z,X],radial:[``,Z,X],conic:[Po,Z,X]},ns,Xo]}],"bg-color":[{bg:F()}],"gradient-from-pos":[{from:L()}],"gradient-via-pos":[{via:L()}],"gradient-to-pos":[{to:L()}],"gradient-from":[{from:F()}],"gradient-via":[{via:F()}],"gradient-to":[{to:F()}],rounded:[{rounded:R()}],"rounded-s":[{"rounded-s":R()}],"rounded-e":[{"rounded-e":R()}],"rounded-t":[{"rounded-t":R()}],"rounded-r":[{"rounded-r":R()}],"rounded-b":[{"rounded-b":R()}],"rounded-l":[{"rounded-l":R()}],"rounded-ss":[{"rounded-ss":R()}],"rounded-se":[{"rounded-se":R()}],"rounded-ee":[{"rounded-ee":R()}],"rounded-es":[{"rounded-es":R()}],"rounded-tl":[{"rounded-tl":R()}],"rounded-tr":[{"rounded-tr":R()}],"rounded-br":[{"rounded-br":R()}],"rounded-bl":[{"rounded-bl":R()}],"border-w":[{border:z()}],"border-w-x":[{"border-x":z()}],"border-w-y":[{"border-y":z()}],"border-w-s":[{"border-s":z()}],"border-w-e":[{"border-e":z()}],"border-w-bs":[{"border-bs":z()}],"border-w-be":[{"border-be":z()}],"border-w-t":[{"border-t":z()}],"border-w-r":[{"border-r":z()}],"border-w-b":[{"border-b":z()}],"border-w-l":[{"border-l":z()}],"divide-x":[{"divide-x":z()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":z()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...re(),`hidden`,`none`]}],"divide-style":[{divide:[...re(),`hidden`,`none`]}],"border-color":[{border:F()}],"border-color-x":[{"border-x":F()}],"border-color-y":[{"border-y":F()}],"border-color-s":[{"border-s":F()}],"border-color-e":[{"border-e":F()}],"border-color-bs":[{"border-bs":F()}],"border-color-be":[{"border-be":F()}],"border-color-t":[{"border-t":F()}],"border-color-r":[{"border-r":F()}],"border-color-b":[{"border-b":F()}],"border-color-l":[{"border-l":F()}],"divide-color":[{divide:F()}],"outline-style":[{outline:[...re(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[Y,Z,X]}],"outline-w":[{outline:[``,Y,Qo,Go]}],"outline-color":[{outline:F()}],shadow:[{shadow:[``,`none`,u,rs,Zo]}],"shadow-color":[{shadow:F()}],"inset-shadow":[{"inset-shadow":[`none`,d,rs,Zo]}],"inset-shadow-color":[{"inset-shadow":F()}],"ring-w":[{ring:z()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:F()}],"ring-offset-w":[{"ring-offset":[Y,Go]}],"ring-offset-color":[{"ring-offset":F()}],"inset-ring-w":[{"inset-ring":z()}],"inset-ring-color":[{"inset-ring":F()}],"text-shadow":[{"text-shadow":[`none`,f,rs,Zo]}],"text-shadow-color":[{"text-shadow":F()}],opacity:[{opacity:[Y,Z,X]}],"mix-blend":[{"mix-blend":[...ie(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ie()}],"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":[Y]}],"mask-image-linear-from-pos":[{"mask-linear-from":B()}],"mask-image-linear-to-pos":[{"mask-linear-to":B()}],"mask-image-linear-from-color":[{"mask-linear-from":F()}],"mask-image-linear-to-color":[{"mask-linear-to":F()}],"mask-image-t-from-pos":[{"mask-t-from":B()}],"mask-image-t-to-pos":[{"mask-t-to":B()}],"mask-image-t-from-color":[{"mask-t-from":F()}],"mask-image-t-to-color":[{"mask-t-to":F()}],"mask-image-r-from-pos":[{"mask-r-from":B()}],"mask-image-r-to-pos":[{"mask-r-to":B()}],"mask-image-r-from-color":[{"mask-r-from":F()}],"mask-image-r-to-color":[{"mask-r-to":F()}],"mask-image-b-from-pos":[{"mask-b-from":B()}],"mask-image-b-to-pos":[{"mask-b-to":B()}],"mask-image-b-from-color":[{"mask-b-from":F()}],"mask-image-b-to-color":[{"mask-b-to":F()}],"mask-image-l-from-pos":[{"mask-l-from":B()}],"mask-image-l-to-pos":[{"mask-l-to":B()}],"mask-image-l-from-color":[{"mask-l-from":F()}],"mask-image-l-to-color":[{"mask-l-to":F()}],"mask-image-x-from-pos":[{"mask-x-from":B()}],"mask-image-x-to-pos":[{"mask-x-to":B()}],"mask-image-x-from-color":[{"mask-x-from":F()}],"mask-image-x-to-color":[{"mask-x-to":F()}],"mask-image-y-from-pos":[{"mask-y-from":B()}],"mask-image-y-to-pos":[{"mask-y-to":B()}],"mask-image-y-from-color":[{"mask-y-from":F()}],"mask-image-y-to-color":[{"mask-y-to":F()}],"mask-image-radial":[{"mask-radial":[Z,X]}],"mask-image-radial-from-pos":[{"mask-radial-from":B()}],"mask-image-radial-to-pos":[{"mask-radial-to":B()}],"mask-image-radial-from-color":[{"mask-radial-from":F()}],"mask-image-radial-to-color":[{"mask-radial-to":F()}],"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":[Y]}],"mask-image-conic-from-pos":[{"mask-conic-from":B()}],"mask-image-conic-to-pos":[{"mask-conic-to":B()}],"mask-image-conic-from-color":[{"mask-conic-from":F()}],"mask-image-conic-to-color":[{"mask-conic-to":F()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:te()}],"mask-repeat":[{mask:ne()}],"mask-size":[{mask:I()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,Z,X]}],filter:[{filter:[``,`none`,Z,X]}],blur:[{blur:V()}],brightness:[{brightness:[Y,Z,X]}],contrast:[{contrast:[Y,Z,X]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,rs,Zo]}],"drop-shadow-color":[{"drop-shadow":F()}],grayscale:[{grayscale:[``,Y,Z,X]}],"hue-rotate":[{"hue-rotate":[Y,Z,X]}],invert:[{invert:[``,Y,Z,X]}],saturate:[{saturate:[Y,Z,X]}],sepia:[{sepia:[``,Y,Z,X]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,Z,X]}],"backdrop-blur":[{"backdrop-blur":V()}],"backdrop-brightness":[{"backdrop-brightness":[Y,Z,X]}],"backdrop-contrast":[{"backdrop-contrast":[Y,Z,X]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,Y,Z,X]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Y,Z,X]}],"backdrop-invert":[{"backdrop-invert":[``,Y,Z,X]}],"backdrop-opacity":[{"backdrop-opacity":[Y,Z,X]}],"backdrop-saturate":[{"backdrop-saturate":[Y,Z,X]}],"backdrop-sepia":[{"backdrop-sepia":[``,Y,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:[Y,`initial`,Z,X]}],ease:[{ease:[`linear`,`initial`,_,Z,X]}],delay:[{delay:[Y,Z,X]}],animate:[{animate:[`none`,v,Z,X]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,Z,X]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:H()}],"rotate-x":[{"rotate-x":H()}],"rotate-y":[{"rotate-y":H()}],"rotate-z":[{"rotate-z":H()}],scale:[{scale:ae()}],"scale-x":[{"scale-x":ae()}],"scale-y":[{"scale-y":ae()}],"scale-z":[{"scale-z":ae()}],"scale-3d":[`scale-3d`],skew:[{skew:oe()}],"skew-x":[{"skew-x":oe()}],"skew-y":[{"skew-y":oe()}],transform:[{transform:[Z,X,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:se()}],"translate-x":[{"translate-x":se()}],"translate-y":[{"translate-y":se()}],"translate-z":[{"translate-z":se()}],"translate-none":[`translate-none`],zoom:[{zoom:[Po,Z,X]}],accent:[{accent:F()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:F()}],"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":F()}],"scrollbar-track-color":[{"scrollbar-track":F()}],"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`,...F()]}],"stroke-w":[{stroke:[Y,Qo,Go,Ko]}],stroke:[{stroke:[`none`,...F()]}],"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 Q(...e){return hs(Ie(e))}var gs=(0,n.defineComponent)({__name:`Button`,props:{variant:{},size:{},class:{type:[Boolean,null,String,Object,Array]},asChild:{type:Boolean},as:{default:`button`}},setup(e){let t=e;return(r,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),{"data-slot":`button`,as:e.as,"as-child":e.asChild,class:(0,n.normalizeClass)((0,n.unref)(Q)((0,n.unref)(_s)({variant:e.variant,size:e.size}),t.class))},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(r.$slots,`default`)]),_:3},8,[`as`,`as-child`,`class`]))}}),_s=ze(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,destructive:`bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2 has-[>svg]:px-3`,sm:`h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5`,lg:`h-10 rounded-md px-6 has-[>svg]:px-4`,icon:`size-9`,"icon-sm":`size-8`,"icon-lg":`size-10`}},defaultVariants:{variant:`default`,size:`default`}}),vs=(0,n.defineComponent)({__name:`Dialog`,props:{open:{type:Boolean},defaultOpen:{type:Boolean},modal:{type:Boolean},unmountOnHide:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let r=He(e,t);return(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Ye),(0,n.mergeProps)({"data-slot":`dialog`},(0,n.unref)(r)),{default:(0,n.withCtx)(t=>[(0,n.renderSlot)(e.$slots,`default`,(0,n.normalizeProps)((0,n.guardReactiveProps)(t)))]),_:3},16))}}),ys=e=>e===``,bs=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),xs=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),Ss=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),Cs=e=>{let t=Ss(e);return t.charAt(0).toUpperCase()+t.slice(1)},ws={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`},Ts=Symbol(`lucide-icons`);function Es(){return(0,n.inject)(Ts,{})}var Ds=({name:e,iconNode:t,absoluteStrokeWidth:r,"absolute-stroke-width":i,strokeWidth:a,"stroke-width":o,size:s,color:c,...l},{slots:u})=>{let{size:d,color:f,strokeWidth:p=2,absoluteStrokeWidth:m=!1,class:h=``}=Es(),g=(0,n.computed)(()=>{let e=ys(r)||ys(i)||r===!0||i===!0||m===!0,t=a||o||p||ws[`stroke-width`];return e?Number(t)*24/Number(s??d??ws.width):t});return(0,n.h)(`svg`,{...ws,...l,width:s??d??ws.width,height:s??d??ws.height,stroke:c??f??ws.stroke,"stroke-width":g.value,class:bs(`lucide`,h,...e?[`lucide-${xs(Cs(e))}-icon`,`lucide-${xs(e)}`]:[`lucide-icon`])},[...t.map(e=>(0,n.h)(...e)),...u.default?[u.default()]:[]])},Os=(e,t)=>(r,{slots:i,attrs:a})=>(0,n.h)(Ds,{...a,...r,iconNode:t,name:e},i.default?{default:i.default}:void 0),ks=Os(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),As=Os(`square-pen`,[[`path`,{d:`M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`,key:`1m0v6g`}],[`path`,{d:`M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z`,key:`ohrbg2`}]]),js=Os(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),Ms=Os(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),Ns=Os(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),Ps=Os(`code`,[[`path`,{d:`m16 18 6-6-6-6`,key:`eg8j8`}],[`path`,{d:`m8 6-6 6 6 6`,key:`ppft3o`}]]),Fs=Os(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),Is=Os(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),Ls=Os(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),Rs=(0,n.defineComponent)({__name:`DialogOverlay`,props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,r=(0,i.reactiveOmit)(t,`class`);return(e,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(hn),(0,n.mergeProps)({"data-slot":`dialog-overlay`},(0,n.unref)(r),{class:(0,n.unref)(Q)(`fixed inset-0 z-50 bg-black/80`,t.class)}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16,[`class`]))}}),zs=(0,n.defineComponent)({inheritAttrs:!1,__name:`DialogContent`,props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},showCloseButton:{type:Boolean,default:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let r=e,a=t,o=He((0,i.reactiveOmit)(r,`class`),a);return(t,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(_n),null,{default:(0,n.withCtx)(()=>[(0,n.createVNode)(Rs),(0,n.createVNode)((0,n.unref)(rn),(0,n.mergeProps)({"data-slot":`dialog-content`},{...t.$attrs,...(0,n.unref)(o)},{class:(0,n.unref)(Q)(`bg-background fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg sm:max-w-lg`,r.class)}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(t.$slots,`default`),e.showCloseButton?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Xe),{key:0,"data-slot":`dialog-close`,class:`ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Ls)),i[0]||=(0,n.createElementVNode)(`span`,{class:`sr-only`},`Close`,-1)]),_:1})):(0,n.createCommentVNode)(``,!0)]),_:3},16,[`class`])]),_:3}))}}),Bs=(0,n.defineComponent)({__name:`DialogDescription`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,r=Be((0,i.reactiveOmit)(t,`class`));return(e,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(an),(0,n.mergeProps)({"data-slot":`dialog-description`},(0,n.unref)(r),{class:(0,n.unref)(Q)(`text-muted-foreground text-sm`,t.class)}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16,[`class`]))}}),Vs=(0,n.defineComponent)({__name:`DialogFooter`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{"data-slot":`dialog-footer`,class:(0,n.normalizeClass)((0,n.unref)(Q)(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,t.class))},[(0,n.renderSlot)(e.$slots,`default`)],2))}}),Hs=(0,n.defineComponent)({__name:`DialogHeader`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{"data-slot":`dialog-header`,class:(0,n.normalizeClass)((0,n.unref)(Q)(`flex flex-col gap-2 text-center sm:text-left`,t.class))},[(0,n.renderSlot)(e.$slots,`default`)],2))}}),Us=(0,n.defineComponent)({__name:`DialogTitle`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,r=Be((0,i.reactiveOmit)(t,`class`));return(e,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(vn),(0,n.mergeProps)({"data-slot":`dialog-title`},(0,n.unref)(r),{class:(0,n.unref)(Q)(`text-lg leading-none font-semibold`,t.class)}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16,[`class`]))}}),Ws={class:`space-y-2`},Gs={key:0,class:`text-sm text-destructive`},Ks=(0,n.defineComponent)({__name:`DeleteConfirmationDialog`,props:{isOpen:{type:Boolean},title:{default:`Confirm Delete`},question:{default:`Are you sure you want to delete this item?`},warning:{default:`This action cannot be undone.`},confirmLabel:{default:`Delete`},confirmingLabel:{default:`Deleting...`},cancelLabel:{default:`Cancel`},isDeleting:{type:Boolean,default:!1}},emits:[`confirm`,`cancel`,`update:isOpen`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.computed)({get:()=>r.isOpen,set:e=>{i(`update:isOpen`,e),e||i(`cancel`)}}),o=()=>{i(`confirm`)},s=()=>{r.isDeleting||i(`cancel`)};return(t,r)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(vs),{open:a.value,"onUpdate:open":r[0]||=e=>a.value=e},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(zs),null,{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Hs),null,{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Us),null,{default:(0,n.withCtx)(()=>[(0,n.createTextVNode)((0,n.toDisplayString)(e.title),1)]),_:1}),(0,n.createVNode)((0,n.unref)(Bs),null,{default:(0,n.withCtx)(()=>[(0,n.createElementVNode)(`div`,Ws,[(0,n.createElementVNode)(`p`,null,(0,n.toDisplayString)(e.question),1),e.warning?((0,n.openBlock)(),(0,n.createElementBlock)(`p`,Gs,(0,n.toDisplayString)(e.warning),1)):(0,n.createCommentVNode)(``,!0)])]),_:1})]),_:1}),(0,n.createVNode)((0,n.unref)(Vs),null,{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(gs),{variant:`outline`,disabled:e.isDeleting,onClick:s},{default:(0,n.withCtx)(()=>[(0,n.createTextVNode)((0,n.toDisplayString)(e.cancelLabel),1)]),_:1},8,[`disabled`]),(0,n.createVNode)((0,n.unref)(gs),{variant:`destructive`,disabled:e.isDeleting,onClick:o},{default:(0,n.withCtx)(()=>[e.isDeleting?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(ks),{key:0,class:`h-4 w-4 mr-1.5 animate-spin`})):(0,n.createCommentVNode)(``,!0),(0,n.createTextVNode)(` `+(0,n.toDisplayString)(e.isDeleting?e.confirmingLabel:e.confirmLabel),1)]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`]))}}),qs=t.s.forScope(`useBlobExplorer`);function Js(e){let r=(0,n.ref)([]),i=(0,n.ref)(!1),a=(0,n.ref)(!1),o=(0,n.ref)(0);async function s(n){let a=e();if(!a)return{};i.value=!0;try{let e=await(await t.o.getClientAsync()).document(a).blobs().list({limit:n.limit,...n.cursor?{cursor:n.cursor}:{}});return r.value=e.items.map(e=>({...e,size:e.size??e.numBytes??null,uploadedAt:e.uploadedAt??e.createdAt??null})),qs.debug(`Blobs page loaded`,{count:r.value.length,docId:a}),console.log(`blobs result`,e),{nextCursor:e.cursor}}catch(e){return qs.error(`Failed to load blobs`,e),U(`Failed to load blobs: `+W(e)),{}}finally{i.value=!1}}async function c(n){let a=e();if(!a)return null;i.value=!0;try{let e=await(await t.o.getClientAsync()).document(a).blobs().get(n);if(!e)return null;let i={...e,size:e.size??e.numBytes??null,uploadedAt:e.uploadedAt??e.createdAt??null};return r.value=[i],i}catch{return r.value=[],null}finally{i.value=!1}}async function l(n,r){let i=e();if(!i)return null;a.value=!0,o.value=0;try{let e=(await t.o.getClientAsync()).document(i).blobs(),a=await n.arrayBuffer();r?.(10),o.value=10;let{blobId:s}=await e.upload(new Uint8Array(a),{filename:n.name,contentType:n.type||`application/octet-stream`,disposition:`attachment`});return o.value=100,r?.(100),qs.debug(`Blob uploaded`,{blobId:s,filename:n.name}),Ne(`Uploaded "${n.name}"`),s}catch(e){return qs.error(`Failed to upload blob`,e),U(`Upload failed: `+W(e)),null}finally{a.value=!1,o.value=0}}function u(e){r.value=r.value.filter(t=>t.blobId!==e)}async function d(n){let i=e();if(!i)return!1;try{return await(await t.o.getClientAsync()).document(i).blobs().delete(n),r.value=r.value.filter(e=>e.blobId!==n),qs.debug(`Blob deleted`,{blobId:n}),!0}catch(e){return qs.error(`Failed to delete blob`,e),U(`Delete failed: `+W(e)),!1}}async function f(n){let i=e();if(!i)return n;let a=[];try{let e=(await t.o.getClientAsync()).document(i).blobs();await Promise.all(n.map(async t=>{try{await e.delete(t)}catch(e){qs.error(`Failed to delete blob`,{id:t,err:e}),a.push(t)}}));let o=new Set(a);r.value=r.value.filter(e=>o.has(e.blobId)||!n.includes(e.blobId)),a.length>0&&U(`Failed to delete ${a.length} blob(s).`)}catch(e){qs.error(`Failed during bulk delete`,e),U(`Bulk delete failed: `+W(e))}return a}async function p(n,r=`attachment`){let i=e();if(!i)return null;try{return(await t.o.getClientAsync()).document(i).blobs().downloadUrl(n,{disposition:r})}catch(e){return qs.error(`Failed to get download URL`,e),null}}async function m(n,r=`blob`){let i=e();if(!i)return null;try{return await(await t.o.getClientAsync()).document(i).blobs().read(n,{as:r})}catch(e){return qs.error(`Failed to read blob content`,e),null}}return{blobs:r,isLoading:i,isUploading:a,uploadProgress:o,loadPage:s,getBlob:c,uploadFile:l,removeBlob:u,deleteBlob:d,deleteBlobsBulk:f,getDownloadUrl:p,readBlobContent:m}}var Ys=new Set([`text/plain`,`text/html`,`text/markdown`,`application/json`,`application/xml`,`text/xml`,`image/svg+xml`,`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`image/avif`,`image/bmp`,`image/x-icon`,`image/vnd.microsoft.icon`,`audio/mpeg`,`audio/wav`,`audio/ogg`,`video/mp4`,`video/webm`,`application/pdf`]);function Xs(e){let[t=``]=e.split(`;`),n=t.trim().toLowerCase();return Ys.has(n)}function Zs(e){return e==null||isNaN(e)?`—`:e<1024?e+` B`:e<1024*1024?(e/1024).toFixed(1)+` KB`:(e/(1024*1024)).toFixed(1)+` MB`}function Qs(e,t=`short`){if(!e)return`—`;let n=new Date(e);return isNaN(n.getTime())?`—`:n.toLocaleDateString(`en-US`,{month:t===`long`?`long`:`short`,day:`numeric`,year:`numeric`})}function $s(e){navigator.clipboard.writeText(e).catch(()=>{let t=document.createElement(`textarea`);t.value=e,document.body.appendChild(t),t.select(),document.execCommand(`copy`),document.body.removeChild(t)})}var ec={class:`relative h-full flex`},tc=[`title`],nc={class:`w-64 lg:w-72 h-full border-l border-border flex flex-col bg-background`},rc={key:0,class:`flex-1 flex flex-col items-center justify-center text-center p-6`},ic={class:`flex items-center px-3 py-2 border-b border-border shrink-0`},ac={class:`text-xs font-medium truncate`},oc={class:`flex-1 overflow-y-auto scrollbar-thin p-3 space-y-4`},sc={key:0},cc={key:0,class:`rounded-lg border border-border bg-muted/30 aspect-video flex items-center justify-center`},lc={key:1,class:`rounded-lg overflow-hidden border border-border bg-muted/30`},uc=[`src`],dc={key:1,class:`aspect-video flex items-center justify-center p-4`},fc={key:2,class:`rounded-lg overflow-hidden border border-border bg-muted/30`},pc=[`src`],mc={key:1,class:`h-24 flex items-center justify-center p-4`},hc={key:3,class:`rounded-lg border border-border bg-muted/30 p-2 font-mono text-[10px] text-muted-foreground leading-relaxed max-h-28 overflow-hidden relative`},gc={key:0},_c={key:1,class:`opacity-40`},vc={class:`space-y-1`},yc=[`disabled`],bc={key:0,class:`w-3.5 h-3.5 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},xc={key:1,class:`w-3.5 h-3.5 text-muted-foreground animate-spin`,fill:`none`,viewBox:`0 0 24 24`},Sc=[`disabled`],Cc={key:0,class:`w-3.5 h-3.5 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},wc={key:1,class:`w-3.5 h-3.5 text-muted-foreground animate-spin`,fill:`none`,viewBox:`0 0 24 24`},Tc={class:`space-y-2 text-xs`},Ec=[`title`],Dc={class:`text-[10px] font-mono text-muted-foreground group-hover:text-foreground break-all`},Oc={key:0,class:`w-3 h-3 text-green-600 shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},kc={key:1,class:`w-3 h-3 text-muted-foreground opacity-0 group-hover:opacity-100 shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Ac={class:`flex justify-between`},jc=[`title`],Mc={class:`flex justify-between min-w-0`},Nc=[`title`],Pc={class:`flex justify-between`},Fc={class:`flex justify-between`},Ic={key:0},Lc={class:`text-[10px] font-mono text-muted-foreground group-hover:text-foreground break-all`},Rc={key:0,class:`w-3 h-3 text-green-600 shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},zc={key:1,class:`w-3 h-3 text-muted-foreground opacity-0 group-hover:opacity-100 shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Bc=(0,n.defineComponent)({__name:`BlobDetailPanel`,props:{documentId:{},selectedBlob:{},canWrite:{type:Boolean}},emits:[`delete-blob`,`reload-blobs`],setup(e,{emit:t}){let r=e,i=t,{readBlobContent:a,deleteBlob:o}=Js(()=>r.documentId),s=(0,n.ref)(typeof window<`u`?localStorage.getItem(ke)===`true`:!1);(0,n.watch)(s,e=>{typeof window<`u`&&localStorage.setItem(ke,String(e))});let c=(0,n.computed)(()=>r.selectedBlob?.contentType.startsWith(`image/`)),l=(0,n.computed)(()=>r.selectedBlob?(r.selectedBlob.contentType.startsWith(`text/`)||r.selectedBlob.contentType===`application/json`)&&r.selectedBlob.contentType!==`text/html`:!1),u=(0,n.computed)(()=>r.selectedBlob?.contentType===`text/csv`||r.selectedBlob?.contentType.includes(`spreadsheet`)===!0),d=(0,n.computed)(()=>r.selectedBlob?.contentType===`application/pdf`),f=(0,n.computed)(()=>!!c.value||!!d.value||l.value||u.value),p=(0,n.ref)(null),m=(0,n.ref)(null),h=(0,n.ref)(!1);function g(){p.value&&=(URL.revokeObjectURL(p.value),null),m.value=null}async function _(e){if(g(),c.value||d.value){h.value=!0;try{let t=await a(e.blobId,`blob`);t instanceof Blob&&(p.value=URL.createObjectURL(t))}finally{h.value=!1}}else if(l.value||u.value){h.value=!0;try{let t=await a(e.blobId,`text`);typeof t==`string`&&(m.value=t.slice(0,600))}finally{h.value=!1}}}(0,n.watch)(()=>r.selectedBlob,e=>{e?_(e):g()},{immediate:!0}),(0,n.onUnmounted)(()=>{g(),y&&clearTimeout(y)});let v=(0,n.ref)(null),y=null;function b(e,t){$s(e),v.value=t,y&&clearTimeout(y),y=setTimeout(()=>{v.value=null},1200)}let x=(0,n.ref)(!1);async function S(){if(!(!r.selectedBlob||x.value)){x.value=!0;try{let e=await a(r.selectedBlob.blobId,`blob`);if(!e)return;let t=URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=r.selectedBlob.filename,document.body.appendChild(n),n.click(),document.body.removeChild(n),setTimeout(()=>URL.revokeObjectURL(t),5e3)}finally{x.value=!1}}}let C=(0,n.computed)(()=>r.selectedBlob?Xs(r.selectedBlob.contentType):!1),w=(0,n.ref)(!1);async function T(){if(!(!r.selectedBlob||w.value)){w.value=!0;try{let e=await a(r.selectedBlob.blobId,`blob`);if(!e)return;let t=e,n=t.type;n.startsWith(`text/`)&&!n.includes(`charset`)&&(t=new Blob([await t.arrayBuffer()],{type:`${n}; charset=utf-8`}));let i=URL.createObjectURL(t);window.open(i,`_blank`),setTimeout(()=>URL.revokeObjectURL(i),6e4)}finally{w.value=!1}}}let E=(0,n.ref)(!1),D=(0,n.ref)(!1);async function O(){if(!r.selectedBlob)return;let e=r.selectedBlob.blobId;E.value=!1,i(`delete-blob`,e),D.value=!0;try{await o(e)||i(`reload-blobs`)}finally{D.value=!1}}return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,[(0,n.createElementVNode)(`div`,ec,[(0,n.createElementVNode)(`button`,{class:`absolute -left-5 top-1/2 -translate-y-1/2 w-5 h-10 bg-muted border border-border border-r-0 rounded-l flex items-center justify-center hover:bg-muted/80 z-20`,title:s.value?`Show properties`:`Hide properties`,onClick:r[0]||=e=>s.value=!s.value},[((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,{class:(0,n.normalizeClass)([`w-3 h-3 text-muted-foreground transition-transform`,{"rotate-180":s.value}]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[...r[5]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 5l7 7-7 7`},null,-1)]],2))],8,tc),(0,n.withDirectives)((0,n.createElementVNode)(`div`,nc,[e.selectedBlob?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[(0,n.createElementVNode)(`div`,ic,[(0,n.createElementVNode)(`span`,ac,(0,n.toDisplayString)(e.selectedBlob.filename),1)]),(0,n.createElementVNode)(`div`,oc,[f.value||h.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,sc,[r[11]||=(0,n.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Preview `,-1),h.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,cc,[...r[7]||=[(0,n.createElementVNode)(`svg`,{class:`w-5 h-5 text-muted-foreground/50 animate-spin`,fill:`none`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`}),(0,n.createElementVNode)(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z`})],-1)]])):c.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,lc,[p.value?((0,n.openBlock)(),(0,n.createElementBlock)(`img`,{key:0,src:p.value,class:`w-full h-auto object-contain max-h-48`,alt:`Preview`},null,8,uc)):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,dc,[...r[8]||=[(0,n.createElementVNode)(`svg`,{class:`w-8 h-8 text-muted-foreground/40`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z`})],-1)]]))])):d.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,fc,[p.value?((0,n.openBlock)(),(0,n.createElementBlock)(`iframe`,{key:0,src:p.value,class:`w-full h-48 border-0`,title:`PDF preview`},null,8,pc)):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,mc,[...r[9]||=[(0,n.createElementVNode)(`span`,{class:`text-[10px] text-muted-foreground`},`Unable to load preview`,-1)]]))])):l.value||u.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,hc,[m.value?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,gc,(0,n.toDisplayString)(m.value),1)):((0,n.openBlock)(),(0,n.createElementBlock)(`span`,_c,`Loading…`)),r[10]||=(0,n.createElementVNode)(`div`,{class:`absolute bottom-0 inset-x-0 h-8 bg-gradient-to-t from-muted/60 to-transparent pointer-events-none`},null,-1)])):(0,n.createCommentVNode)(``,!0)])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,null,[r[17]||=(0,n.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Actions `,-1),(0,n.createElementVNode)(`div`,vc,[(0,n.createElementVNode)(`button`,{class:`w-full flex items-center gap-2 px-2 py-1.5 text-xs hover:bg-muted rounded text-left disabled:opacity-50`,disabled:x.value,onClick:S},[x.value?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,xc,[...r[13]||=[(0,n.createElementVNode)(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`},null,-1),(0,n.createElementVNode)(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z`},null,-1)]])):((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,bc,[...r[12]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4`},null,-1)]])),(0,n.createTextVNode)(` `+(0,n.toDisplayString)(x.value?`Downloading…`:`Download`),1)],8,yc),C.value?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`w-full flex items-center gap-2 px-2 py-1.5 text-xs hover:bg-muted rounded text-left disabled:opacity-50`,disabled:w.value,onClick:T},[w.value?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,wc,[...r[15]||=[(0,n.createElementVNode)(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`},null,-1),(0,n.createElementVNode)(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z`},null,-1)]])):((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Cc,[...r[14]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14`},null,-1)]])),(0,n.createTextVNode)(` `+(0,n.toDisplayString)(w.value?`Opening…`:`Open in new tab`),1)],8,Sc)):(0,n.createCommentVNode)(``,!0),e.canWrite?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:1,class:`w-full flex items-center gap-2 px-2 py-1.5 text-xs hover:bg-destructive/10 rounded text-destructive text-left`,onClick:r[1]||=e=>E.value=!0},[...r[16]||=[(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16`})],-1),(0,n.createTextVNode)(` Delete blob `,-1)]])):(0,n.createCommentVNode)(``,!0)])]),(0,n.createElementVNode)(`div`,null,[r[28]||=(0,n.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Info `,-1),(0,n.createElementVNode)(`div`,Tc,[(0,n.createElementVNode)(`div`,null,[r[20]||=(0,n.createElementVNode)(`div`,{class:`text-muted-foreground mb-0.5`},`Blob ID`,-1),(0,n.createElementVNode)(`button`,{class:`flex items-center gap-1 group hover:text-foreground w-full`,title:e.selectedBlob.blobId,onClick:r[2]||=t=>b(e.selectedBlob.blobId,`detail_blobid`)},[(0,n.createElementVNode)(`code`,Dc,(0,n.toDisplayString)(e.selectedBlob.blobId),1),v.value===`detail_blobid`?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Oc,[...r[18]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,kc,[...r[19]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`},null,-1)]]))],8,Ec)]),(0,n.createElementVNode)(`div`,Ac,[r[21]||=(0,n.createElementVNode)(`span`,{class:`text-muted-foreground`},`Filename`,-1),(0,n.createElementVNode)(`span`,{class:`font-medium text-right truncate ml-2 max-w-[150px]`,title:e.selectedBlob.filename},(0,n.toDisplayString)(e.selectedBlob.filename),9,jc)]),(0,n.createElementVNode)(`div`,Mc,[r[22]||=(0,n.createElementVNode)(`span`,{class:`text-muted-foreground shrink-0`},`Content Type`,-1),(0,n.createElementVNode)(`span`,{class:`font-mono text-[10px] text-right break-all ml-2 min-w-0`,title:e.selectedBlob.contentType},(0,n.toDisplayString)(e.selectedBlob.contentType),9,Nc)]),(0,n.createElementVNode)(`div`,Pc,[r[23]||=(0,n.createElementVNode)(`span`,{class:`text-muted-foreground`},`Size`,-1),(0,n.createElementVNode)(`span`,null,(0,n.toDisplayString)((0,n.unref)(Zs)(e.selectedBlob.size)),1)]),(0,n.createElementVNode)(`div`,Fc,[r[24]||=(0,n.createElementVNode)(`span`,{class:`text-muted-foreground`},`Uploaded`,-1),(0,n.createElementVNode)(`span`,null,(0,n.toDisplayString)((0,n.unref)(Qs)(e.selectedBlob.uploadedAt,`long`)),1)]),e.selectedBlob.sha256?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Ic,[r[27]||=(0,n.createElementVNode)(`div`,{class:`text-muted-foreground mb-0.5`},`SHA-256`,-1),(0,n.createElementVNode)(`button`,{class:`flex items-center gap-1 group hover:text-foreground w-full`,onClick:r[3]||=t=>b(e.selectedBlob.sha256,`detail_sha256`)},[(0,n.createElementVNode)(`code`,Lc,(0,n.toDisplayString)(e.selectedBlob.sha256),1),v.value===`detail_sha256`?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Rc,[...r[25]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,zc,[...r[26]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`},null,-1)]]))])])):(0,n.createCommentVNode)(``,!0)])])])],64)):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,rc,[...r[6]||=[(0,n.createElementVNode)(`svg`,{class:`w-8 h-8 text-muted-foreground/30 mb-2`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z`})],-1),(0,n.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},` Select a blob to view details `,-1)]]))],512),[[n.vShow,!s.value]])]),(0,n.createVNode)(Ks,{"is-open":E.value,title:`Delete Blob`,question:`Delete "${e.selectedBlob?.filename}"?`,warning:`This action cannot be undone.`,"is-deleting":D.value,onCancel:r[4]||=e=>E.value=!1,onConfirm:O},null,8,[`is-open`,`question`,`is-deleting`])],64))}}),Vc={class:`w-48 lg:w-56 border-r border-border flex flex-col bg-background shrink-0`},Hc={class:`p-2 border-b border-border`},Uc={class:`relative`},Wc={class:`flex-1 overflow-y-auto scrollbar-thin`},Gc={key:1,class:`px-2 py-4 text-center text-xs text-muted-foreground`},Kc=[`onClick`],qc=(0,n.defineComponent)({__name:`BlobExplorerDocumentSidebar`,props:{documents:{},selectedDocId:{},documentListLoaded:{type:Boolean}},emits:[`select-document`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.ref)(``),o=(0,n.computed)(()=>{let e=a.value.trim().toLowerCase();return e?r.documents.filter(t=>(t.title||``).toLowerCase().includes(e)||t.documentId.toLowerCase().includes(e)):r.documents});function s(e){if(e.isRoot)return`root`;let t=e.permission??`owner`;return t===`reader`?`Viewer`:t===`read-write`?`Editor`:t===`owner`?`Owner`:t}function c(e){if(e.isRoot)return`bg-amber-500/10 text-amber-600`;let t=e.permission??`owner`;return t===`read-write`?`bg-blue-500/10 text-blue-600`:t===`reader`?`bg-green-500/10 text-green-600`:`bg-muted text-muted-foreground`}return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Vc,[(0,n.createElementVNode)(`div`,Hc,[(0,n.createElementVNode)(`div`,Uc,[r[1]||=(0,n.createElementVNode)(`svg`,{class:`absolute left-2 top-1/2 -translate-y-1/2 w-3 h-3 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z`})],-1),(0,n.withDirectives)((0,n.createElementVNode)(`input`,{"onUpdate:modelValue":r[0]||=e=>a.value=e,type:`text`,placeholder:`Search documents…`,class:`w-full pl-7 pr-2 py-1 text-xs bg-muted border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`},null,512),[[n.vModelText,a.value]])])]),r[3]||=(0,n.createElementVNode)(`div`,{class:`flex items-center px-2 py-1.5 bg-muted border-b border-border`},[(0,n.createElementVNode)(`span`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide flex-1`},` Documents `)],-1),(0,n.createElementVNode)(`div`,Wc,[e.documentListLoaded?o.value.length===0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Gc,(0,n.toDisplayString)(a.value?`No matches`:`No documents`),1)):((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,{key:2},(0,n.renderList)(o.value,t=>((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:t.documentId,class:(0,n.normalizeClass)([`w-full flex items-center gap-1 px-2 py-1.5 cursor-pointer border-l-2 text-left`,[e.selectedDocId===t.documentId?`border-primary bg-primary/5`:`border-transparent hover:bg-muted/30`,t.isRoot?`opacity-60`:``]]),onClick:e=>i(`select-document`,t.documentId)},[(0,n.createElementVNode)(`span`,{class:(0,n.normalizeClass)([`text-xs flex-1 truncate`,e.selectedDocId===t.documentId?`font-medium`:``])},(0,n.toDisplayString)(t.title||t.documentId),3),(0,n.createElementVNode)(`span`,{class:(0,n.normalizeClass)([`text-[9px] px-1 py-0.5 rounded shrink-0`,c(t)])},(0,n.toDisplayString)(s(t)),3)],10,Kc))),128)):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},(0,n.renderList)(4,e=>(0,n.createElementVNode)(`div`,{key:e,class:`flex items-center gap-2 px-2 py-2`},[...r[2]||=[(0,n.createElementVNode)(`div`,{class:`h-3 bg-muted rounded flex-1 animate-pulse`},null,-1),(0,n.createElementVNode)(`div`,{class:`h-3 w-10 bg-muted rounded animate-pulse`},null,-1)]])),64))])]))}}),Jc={class:`bg-background rounded-lg shadow-xl w-96 p-4`},Yc={key:0,class:`mb-3 text-[11px] text-destructive font-medium`},Xc={key:1,class:`mb-3 p-3 bg-muted/50 rounded-lg border border-border`},Zc={class:`flex items-start gap-2`},Qc={class:`flex-1 min-w-0`},$c={class:`text-xs font-medium truncate`},el={class:`text-[10px] text-muted-foreground mt-0.5`},tl={class:`flex items-center gap-1 mt-1`},nl={class:`text-[10px] font-mono text-muted-foreground`},rl={class:`flex justify-end gap-2`},il=[`disabled`],al=10*1024*1024,ol=(0,n.defineComponent)({__name:`BlobUploadDialog`,props:{open:{type:Boolean}},emits:[`update:open`,`upload`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.ref)(null),o=(0,n.ref)(!1),s=(0,n.ref)(``),c=(0,n.ref)(!1),l=(0,n.ref)(null);(0,n.watch)(()=>r.open,e=>{e||(a.value=null,s.value=``,o.value=!1,l.value=null)});let u=(0,n.computed)(()=>!!a.value);function d(e){return e<1024?e+` B`:e<1024*1024?(e/1024).toFixed(1)+` KB`:(e/(1024*1024)).toFixed(1)+` MB`}async function f(e){let t=await e.arrayBuffer(),n=await crypto.subtle.digest(`SHA-256`,t);return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}async function p(e){if(l.value=null,e.size>al){l.value=`File is too large (${d(e.size)}). Max 10 MB.`,a.value=null,s.value=``;return}a.value=e,s.value=``,c.value=!0;try{s.value=(await f(e)).slice(0,16)+`…`}catch{s.value=`unavailable`}finally{c.value=!1}}function m(){a.value=null,s.value=``,l.value=null}function h(e){let t=e.target,n=t.files?.[0];n&&p(n),t.value=``}function g(e){e.preventDefault(),o.value=!1;let t=e.dataTransfer?.files[0];t&&p(t)}function _(e){e.preventDefault(),o.value=!0}function v(){o.value=!1}function y(){a.value&&(i(`upload`,a.value),i(`update:open`,!1))}function b(){i(`update:open`,!1)}function x(e){e.key===`Escape`&&r.open&&(e.stopPropagation(),b())}return(0,n.onMounted)(()=>document.addEventListener(`keydown`,x,!0)),(0,n.onUnmounted)(()=>document.removeEventListener(`keydown`,x,!0)),(t,r)=>((0,n.openBlock)(),(0,n.createBlock)(n.Teleport,{to:`body`},[e.open?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,class:`fixed inset-0 bg-black/50 flex items-center justify-center z-50`,"data-devtools-modal":``,onClick:(0,n.withModifiers)(b,[`self`])},[(0,n.createElementVNode)(`div`,Jc,[(0,n.createElementVNode)(`div`,{class:`flex items-center justify-between mb-3`},[r[2]||=(0,n.createElementVNode)(`h3`,{class:`text-sm font-semibold`},`Upload Blob`,-1),(0,n.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded`,onClick:b},[...r[1]||=[(0,n.createElementVNode)(`svg`,{class:`w-4 h-4 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M6 18L18 6M6 6l12 12`})],-1)]])]),(0,n.createElementVNode)(`div`,{class:(0,n.normalizeClass)([`border-2 border-dashed rounded-lg p-6 text-center mb-3 cursor-pointer transition-colors`,o.value?`border-primary bg-primary/5`:`border-border hover:border-muted-foreground/50 hover:bg-muted/20`]),onClick:r[0]||=e=>t.$refs.fileInput.click(),onDrop:g,onDragover:_,onDragleave:v},[r[3]||=(0,n.createElementVNode)(`svg`,{class:`w-8 h-8 text-muted-foreground mx-auto mb-2`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12`})],-1),r[4]||=(0,n.createElementVNode)(`p`,{class:`text-xs font-medium`},[(0,n.createTextVNode)(` Drop file here or `),(0,n.createElementVNode)(`span`,{class:`text-primary underline`},`browse`)],-1),r[5]||=(0,n.createElementVNode)(`p`,{class:`text-[10px] text-muted-foreground mt-1`},` Max 10 MB per file `,-1),(0,n.createElementVNode)(`input`,{ref:`fileInput`,type:`file`,class:`hidden`,onChange:h},null,544)],34),l.value?((0,n.openBlock)(),(0,n.createElementBlock)(`p`,Yc,(0,n.toDisplayString)(l.value),1)):(0,n.createCommentVNode)(``,!0),a.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Xc,[(0,n.createElementVNode)(`div`,Zc,[r[8]||=(0,n.createElementVNode)(`svg`,{class:`w-5 h-5 text-muted-foreground shrink-0 mt-0.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z`})],-1),(0,n.createElementVNode)(`div`,Qc,[(0,n.createElementVNode)(`div`,$c,(0,n.toDisplayString)(a.value.name),1),(0,n.createElementVNode)(`div`,el,(0,n.toDisplayString)(d(a.value.size)),1),(0,n.createElementVNode)(`div`,tl,[r[6]||=(0,n.createElementVNode)(`span`,{class:`text-[10px] text-muted-foreground`},`SHA-256:`,-1),(0,n.createElementVNode)(`span`,nl,(0,n.toDisplayString)(c.value?`computing…`:s.value),1)])]),(0,n.createElementVNode)(`button`,{class:`p-0.5 hover:bg-muted rounded text-muted-foreground shrink-0`,onClick:m},[...r[7]||=[(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M6 18L18 6M6 6l12 12`})],-1)]])])])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,rl,[(0,n.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs hover:bg-muted rounded`,onClick:b},` Cancel `),(0,n.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90 disabled:opacity-50 flex items-center gap-1.5`,disabled:!u.value,onClick:y},[...r[9]||=[(0,n.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12`})],-1),(0,n.createTextVNode)(` Upload `,-1)]],8,il)])])])):(0,n.createCommentVNode)(``,!0)]))}}),sl={class:`flex flex-col flex-1 min-h-0`},cl={class:`flex-1 relative min-h-0`},ll={class:`absolute inset-0 overflow-auto scrollbar-thin`},ul={key:0,class:`p-6 space-y-2 animate-pulse`},dl={key:1,class:`flex flex-col items-center justify-center h-full py-16 text-center`},fl={class:`text-xs text-muted-foreground`},pl={key:2,class:`w-full min-w-[680px] text-xs`},ml={class:`border-b border-border`},hl={key:0,class:`w-8 px-2 py-1.5 text-left sticky top-0 z-10 bg-muted`},gl=[`checked`,`indeterminate`],_l={class:`divide-y divide-border`},vl=[`onClick`],yl=[`checked`,`onChange`],bl={class:`px-2 py-2`},xl={class:`flex items-center gap-2`},Sl={class:`font-medium truncate max-w-[180px]`},Cl={class:`px-2 py-2 text-muted-foreground text-[10px] font-mono`},wl={class:`px-2 py-2 text-muted-foreground`},Tl={class:`px-2 py-2 text-muted-foreground`},El={class:`px-2 py-2`},Dl=[`title`,`onClick`],Ol={class:`truncate max-w-[90px]`},kl={key:0,class:`w-3 h-3 text-green-600 shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Al={key:1,class:`w-3 h-3 opacity-0 group-hover:opacity-100 shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},jl={class:`relative flex items-center gap-0.5`},Ml=[`onClick`],Nl=[`onClick`],Pl={key:0,class:`flex-shrink-0 flex items-center justify-between pl-3 pr-16 py-2 border-t border-border bg-muted/20 text-xs`},Fl={class:`flex items-center gap-2 text-muted-foreground`},Il=[`value`],Ll=[`value`],Rl={class:`flex items-center gap-1`},zl=[`disabled`],Bl={class:`px-2 py-1 tabular-nums text-muted-foreground`},Vl=[`disabled`],Hl={key:0,class:`fixed bottom-0 left-0 right-0 z-50 border-t border-border bg-background/95 backdrop-blur-sm px-4 py-2.5`},Ul={class:`max-w-screen-lg mx-auto flex items-center gap-3`},Wl={class:`flex-1 min-w-0`},Gl={class:`flex items-center justify-between mb-1`},Kl={class:`text-[10px] font-medium truncate max-w-xs`},ql={class:`text-[10px] text-muted-foreground shrink-0 ml-3`},Jl={class:`w-full bg-border rounded-full h-1`},Yl={key:0,class:`fixed inset-0 bg-black/50 flex items-center justify-center z-50`},Xl={class:`bg-background rounded-lg shadow-xl px-6 py-4 flex items-center gap-3`},Zl={class:`text-sm`},Ql=`primitive-blob-explorer-page-size`,$l=25,eu=(0,n.defineComponent)({__name:`BlobTablePanel`,props:{documentId:{},searchQuery:{},canWrite:{type:Boolean},uploadDialogOpen:{type:Boolean}},emits:[`select-blob`,`update:upload-dialog-open`,`selection-change`],setup(e,{expose:t,emit:r}){let i=e,a=r,{blobs:o,isLoading:s,isUploading:c,uploadProgress:l,loadPage:u,getBlob:d,uploadFile:f,removeBlob:p,deleteBlob:m,deleteBlobsBulk:h,readBlobContent:g}=Js(()=>i.documentId),_=[10,25,50,100];function v(){try{let e=localStorage.getItem(Ql);if(e){let t=Number(e);if(_.includes(t))return t}}catch{}return $l}function y(e){try{localStorage.setItem(Ql,String(e))}catch{}}let b=(0,n.ref)(1),x=(0,n.ref)(v()),S=(0,n.ref)([void 0]),C=(0,n.computed)(()=>i.searchQuery.trim().length>0),w=null;(0,n.watch)(()=>i.searchQuery,e=>{w&&clearTimeout(w),w=setTimeout(()=>{e.trim()?T(e.trim()):D()},300)});async function T(e){M.value=null,a(`select-blob`,null),N.value=new Set,a(`selection-change`,0),await d(e)}function E(){S.value=[void 0],b.value=1}async function D(){E(),await O(1)}async function O(e){let t=S.value[e-1],{nextCursor:n}=await u({cursor:t,limit:x.value});if(n){let t=[...S.value];t[e]=n,S.value=t}b.value=e}async function k(){b.value>1&&await O(b.value-1)}async function A(){o.value.length>0&&await O(b.value+1)}(0,n.onMounted)(()=>{C.value||O(1)}),(0,n.watch)(()=>i.documentId,()=>{M.value=null,N.value=new Set,a(`selection-change`,0),a(`select-blob`,null),E(),C.value||O(1)});function j(e){x.value=e,y(e),E(),C.value||O(1)}let M=(0,n.ref)(null),N=(0,n.ref)(new Set),P=(0,n.computed)(()=>o.value.length>0&&o.value.every(e=>N.value.has(e.blobId))),ee=(0,n.computed)(()=>!P.value&&o.value.some(e=>N.value.has(e.blobId)));function F(e){let t=new Set(N.value);e?o.value.forEach(e=>t.add(e.blobId)):o.value.forEach(e=>t.delete(e.blobId)),N.value=t,a(`selection-change`,t.size)}function te(e,t){let n=new Set(N.value);t?n.add(e):n.delete(e),N.value=n,a(`selection-change`,n.size)}function ne(){N.value=new Set,a(`selection-change`,0)}function I(e){M.value===e.blobId?(M.value=null,a(`select-blob`,null)):(M.value=e.blobId,a(`select-blob`,e))}function L(){M.value=null,a(`select-blob`,null)}let R=(0,n.ref)(null),z=(0,n.ref)(``),re=(0,n.ref)(!1);function ie(e,t){R.value=e,z.value=t}async function B(){if(!R.value)return;let e=R.value;R.value=null,p(e),M.value===e&&L();let t=new Set(N.value);t.delete(e)&&(N.value=t,a(`selection-change`,t.size)),re.value=!0;try{await m(e)||C.value||await O(b.value)}finally{re.value=!1}}let V=(0,n.ref)(!1),H=(0,n.ref)(!1);function ae(){V.value=!0}async function oe(){V.value=!1,H.value=!0;let e=[...N.value];try{await h(e),M.value&&e.includes(M.value)&&L(),ne()}finally{H.value=!1}}function se(e){p(e),M.value===e&&L();let t=new Set(N.value);t.delete(e)&&(N.value=t,a(`selection-change`,t.size))}let ce=(0,n.ref)(null);async function le(e){ce.value=e.name;let t=await f(e);ce.value=null,t&&!C.value&&(E(),await O(1))}async function ue(){C.value?await T(i.searchQuery.trim()):(E(),await O(1))}let de=(0,n.ref)(null),fe=null;(0,n.onUnmounted)(()=>{fe&&clearTimeout(fe),w&&clearTimeout(w)});function pe(e,t){$s(e),t&&(de.value=t,fe&&clearTimeout(fe),fe=setTimeout(()=>{de.value=null},1200))}async function me(e,t){let n=await g(e,`blob`);if(!n)return;let r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=t,document.body.appendChild(i),i.click(),document.body.removeChild(i),setTimeout(()=>URL.revokeObjectURL(r),5e3)}function he(e){return e.length>10?`…`+e.slice(-10):e}function ge(e){return e.length>22?e.slice(0,20)+`…`:e}function _e(e){return e.startsWith(`image/`)}function ve(e){return e===`text/csv`||e.includes(`spreadsheet`)}function ye(e){return e===`application/pdf`?`text-red-500`:e.startsWith(`image/`)?`text-blue-500`:e.includes(`wordprocessingml`)||e.includes(`word`)?`text-blue-600`:ve(e)?`text-green-600`:`text-muted-foreground`}return t({executeBulkDelete:ae,refresh:ue,clearSelection:ne,handleExternalDelete:se,selectedCount:(0,n.computed)(()=>N.value.size)}),(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,sl,[(0,n.createElementVNode)(`div`,cl,[(0,n.createElementVNode)(`div`,ll,[(0,n.unref)(s)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,ul,[...r[7]||=[(0,n.createElementVNode)(`div`,{class:`h-7 bg-muted rounded w-full`},null,-1),(0,n.createElementVNode)(`div`,{class:`h-7 bg-muted rounded w-full`},null,-1),(0,n.createElementVNode)(`div`,{class:`h-7 bg-muted rounded w-full`},null,-1)]])):(0,n.unref)(o).length===0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,dl,[r[8]||=(0,n.createElementVNode)(`svg`,{class:`w-10 h-10 text-muted-foreground/30 mb-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z`})],-1),(0,n.createElementVNode)(`p`,fl,(0,n.toDisplayString)(C.value?`No blob found with that ID`:`No blobs uploaded yet`),1)])):((0,n.openBlock)(),(0,n.createElementBlock)(`table`,pl,[(0,n.createElementVNode)(`thead`,null,[(0,n.createElementVNode)(`tr`,ml,[e.canWrite?((0,n.openBlock)(),(0,n.createElementBlock)(`th`,hl,[(0,n.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:P.value,indeterminate:ee.value,onChange:r[0]||=e=>F(e.target.checked)},null,40,gl)])):(0,n.createCommentVNode)(``,!0),r[9]||=(0,n.createElementVNode)(`th`,{class:`px-2 py-1.5 text-left font-medium text-muted-foreground sticky top-0 z-10 bg-muted`},` Filename `,-1),r[10]||=(0,n.createElementVNode)(`th`,{class:`px-2 py-1.5 text-left font-medium text-muted-foreground sticky top-0 z-10 bg-muted`},` Content Type `,-1),r[11]||=(0,n.createElementVNode)(`th`,{class:`px-2 py-1.5 text-left font-medium text-muted-foreground sticky top-0 z-10 bg-muted`},` Size `,-1),r[12]||=(0,n.createElementVNode)(`th`,{class:`px-2 py-1.5 text-left font-medium text-muted-foreground sticky top-0 z-10 bg-muted`},` Uploaded `,-1),r[13]||=(0,n.createElementVNode)(`th`,{class:`px-2 py-1.5 text-left font-medium text-muted-foreground sticky top-0 z-10 bg-muted`},` Blob ID `,-1),r[14]||=(0,n.createElementVNode)(`th`,{class:`w-0 p-0 sticky top-0 right-0 z-20 bg-muted`},null,-1)])]),(0,n.createElementVNode)(`tbody`,_l,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)((0,n.unref)(o),t=>((0,n.openBlock)(),(0,n.createElementBlock)(`tr`,{key:t.blobId,class:(0,n.normalizeClass)([`hover:bg-muted/30 group cursor-pointer`,{"bg-primary/5":M.value===t.blobId}]),onClick:e=>I(t)},[e.canWrite?((0,n.openBlock)(),(0,n.createElementBlock)(`td`,{key:0,class:`px-2 py-2`,onClick:r[1]||=(0,n.withModifiers)(()=>{},[`stop`])},[(0,n.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:N.value.has(t.blobId),onChange:e=>te(t.blobId,e.target.checked)},null,40,yl)])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`td`,bl,[(0,n.createElementVNode)(`div`,xl,[_e(t.contentType)?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,{key:0,class:(0,n.normalizeClass)([`w-4 h-4 shrink-0`,ye(t.contentType)]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[...r[15]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z`},null,-1)]],2)):ve(t.contentType)?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,{key:1,class:(0,n.normalizeClass)([`w-4 h-4 shrink-0`,ye(t.contentType)]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[...r[16]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M3 10h18M3 14h18M10 3v18M14 3v18M5 3h14a2 2 0 012 2v14a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2z`},null,-1)]],2)):((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,{key:2,class:(0,n.normalizeClass)([`w-4 h-4 shrink-0`,ye(t.contentType)]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[...r[17]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z`},null,-1)]],2)),(0,n.createElementVNode)(`span`,Sl,(0,n.toDisplayString)(t.filename),1)])]),(0,n.createElementVNode)(`td`,Cl,(0,n.toDisplayString)(ge(t.contentType)),1),(0,n.createElementVNode)(`td`,wl,(0,n.toDisplayString)((0,n.unref)(Zs)(t.size)),1),(0,n.createElementVNode)(`td`,Tl,(0,n.toDisplayString)((0,n.unref)(Qs)(t.uploadedAt)),1),(0,n.createElementVNode)(`td`,El,[(0,n.createElementVNode)(`button`,{class:`flex items-center gap-1 text-[10px] text-muted-foreground font-mono hover:text-foreground`,title:t.blobId,onClick:(0,n.withModifiers)(e=>pe(t.blobId,t.blobId),[`stop`])},[(0,n.createElementVNode)(`span`,Ol,(0,n.toDisplayString)(he(t.blobId)),1),de.value===t.blobId?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,kl,[...r[18]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Al,[...r[19]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`},null,-1)]]))],8,Dl)]),(0,n.createElementVNode)(`td`,{class:`relative px-2 py-2 sticky right-0 z-10 bg-background`,style:{"box-shadow":`-2px 0 4px -2px rgba(0, 0, 0, 0.08)`},onClick:r[2]||=(0,n.withModifiers)(()=>{},[`stop`])},[(0,n.createElementVNode)(`div`,{class:(0,n.normalizeClass)([`absolute inset-0 bg-primary/5 pointer-events-none`,M.value===t.blobId?`opacity-100 group-hover:opacity-0`:`opacity-0`])},null,2),(0,n.createElementVNode)(`div`,jl,[(0,n.createElementVNode)(`button`,{class:`p-0.5 opacity-0 group-hover:opacity-100 hover:bg-muted rounded text-muted-foreground`,title:`Download`,onClick:e=>me(t.blobId,t.filename)},[...r[20]||=[(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4`})],-1)]],8,Ml),e.canWrite?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`p-0.5 opacity-0 group-hover:opacity-100 hover:bg-muted rounded text-muted-foreground hover:text-destructive`,title:`Delete`,onClick:e=>ie(t.blobId,t.filename)},[...r[21]||=[(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16`})],-1)]],8,Nl)):(0,n.createCommentVNode)(``,!0)])])],10,vl))),128))])]))])]),C.value?(0,n.createCommentVNode)(``,!0):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Pl,[(0,n.createElementVNode)(`div`,Fl,[(0,n.createElementVNode)(`select`,{class:`px-1 py-0.5 text-[10px] bg-background border border-border rounded`,value:x.value,onChange:r[3]||=e=>j(Number(e.target.value))},[((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(_,e=>(0,n.createElementVNode)(`option`,{key:e,value:e},(0,n.toDisplayString)(e),9,Ll)),64))],40,Il),r[22]||=(0,n.createElementVNode)(`span`,null,`per page`,-1)]),(0,n.createElementVNode)(`div`,Rl,[(0,n.createElementVNode)(`button`,{class:`px-2 py-1 hover:bg-muted rounded disabled:opacity-50`,disabled:b.value<=1,onClick:k},` Previous `,8,zl),(0,n.createElementVNode)(`span`,Bl,(0,n.toDisplayString)(b.value),1),(0,n.createElementVNode)(`button`,{class:`px-2 py-1 hover:bg-muted rounded disabled:opacity-50`,disabled:(0,n.unref)(o).length===0,onClick:A},` Next `,8,Vl)])])),(0,n.createVNode)(ol,{open:e.uploadDialogOpen,"onUpdate:open":r[4]||=e=>a(`update:upload-dialog-open`,e),onUpload:le},null,8,[`open`]),((0,n.openBlock)(),(0,n.createBlock)(n.Teleport,{to:`body`},[(0,n.unref)(c)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Hl,[(0,n.createElementVNode)(`div`,Ul,[r[23]||=(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5 text-muted-foreground shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12`})],-1),(0,n.createElementVNode)(`div`,Wl,[(0,n.createElementVNode)(`div`,Gl,[(0,n.createElementVNode)(`span`,Kl,(0,n.toDisplayString)(ce.value??`Uploading…`),1),(0,n.createElementVNode)(`span`,ql,(0,n.toDisplayString)(Math.round((0,n.unref)(l)))+`% `,1)]),(0,n.createElementVNode)(`div`,Jl,[(0,n.createElementVNode)(`div`,{class:`bg-primary h-1 rounded-full transition-all duration-300`,style:(0,n.normalizeStyle)({width:(0,n.unref)(l)+`%`})},null,4)])])])])):(0,n.createCommentVNode)(``,!0)])),(0,n.createVNode)(Ks,{"is-open":!!R.value,title:`Delete Blob`,question:`Delete "${z.value}"?`,warning:`This action cannot be undone.`,"is-deleting":re.value,onCancel:r[5]||=e=>R.value=null,onConfirm:B},null,8,[`is-open`,`question`,`is-deleting`]),(0,n.createVNode)(Ks,{"is-open":V.value,title:`Delete Blobs`,question:`Delete ${N.value.size} blob${N.value.size===1?``:`s`}?`,warning:`This action cannot be undone.`,"is-deleting":!1,onCancel:r[6]||=e=>V.value=!1,onConfirm:oe},null,8,[`is-open`,`question`]),((0,n.openBlock)(),(0,n.createBlock)(n.Teleport,{to:`body`},[H.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Yl,[(0,n.createElementVNode)(`div`,Xl,[r[24]||=(0,n.createElementVNode)(`svg`,{class:`w-4 h-4 text-muted-foreground animate-spin shrink-0`,fill:`none`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`}),(0,n.createElementVNode)(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z`})],-1),(0,n.createElementVNode)(`span`,Zl,`Deleting `+(0,n.toDisplayString)(N.value.size)+` blob`+(0,n.toDisplayString)(N.value.size===1?``:`s`)+`…`,1)])])):(0,n.createCommentVNode)(``,!0)]))]))}}),tu={class:`flex-1 flex overflow-hidden min-w-0`},nu={class:`flex-1 flex flex-col min-w-0 bg-background`},ru={key:0,class:`absolute inset-0 px-3 bg-muted flex items-center justify-between z-10`},iu={class:`flex items-center gap-2`},au={class:`text-xs font-medium`},ou={class:`flex items-center gap-2 min-w-0`},su={class:`flex items-center gap-2 min-w-0`},cu={class:`text-sm font-medium truncate`},lu={key:0,class:`relative ml-1`},uu=[`placeholder`],du={key:1,class:`flex items-center gap-1.5 shrink-0`},fu={key:0},pu={key:0,class:`flex-1 flex flex-col items-center justify-center text-center p-6`},mu={class:`hidden lg:contents`},hu=(0,n.defineComponent)({__name:`BlobExplorerIndex`,setup(e){let r=Me(),i=(0,n.ref)([]),a=(0,n.ref)(!1),o=(0,n.ref)(null);async function s(){try{let e=await t.o.getClientAsync();o.value=await e.getRootDocId(),await e.syncMetadata({scope:`all`,includeRoot:!0,pageSize:500});let[n,r]=await Promise.all([e.me.ownedDocuments({refreshFromServer:!0,includeRoot:!0}),e.me.sharedDocuments()]);i.value=[...n,...r.items].map(e=>({...e,isRoot:e.documentId===o.value})),a.value=!0}catch(e){U(`Failed to load documents: `+W(e)),a.value=!0}}let c=null,l=null;(0,n.onMounted)(async()=>{S.value&&(w=new ResizeObserver(e=>{for(let t of e)C.value=t.contentRect.width<500}),w.observe(S.value)),s();let e=await t.o.getClientAsync(),n=e=>{e.action===`accepted`&&s()};e.on(`invitation`,n),c=()=>e.off(`invitation`,n);let r=()=>{s()};e.on(`documentMetadataChanged`,r),l=()=>e.off(`documentMetadataChanged`,r)}),(0,n.onUnmounted)(()=>{c?.(),l?.(),w?.disconnect()});let u=(0,n.computed)(()=>r.currentDocumentId),d=(0,n.computed)(()=>i.value.find(e=>e.documentId===u.value)??null);async function f(e){if(r.currentDocumentId!==e){p.value=null;try{await r.openDocument(e);let t=i.value.find(t=>t.documentId===e);t&&r.setCurrentDocumentTitle(t.title??e)}catch(e){U(`Failed to open document: `+W(e))}}}let p=(0,n.ref)(null),m=(0,n.ref)(!1),h=(0,n.ref)(``),g=(0,n.ref)(null);(0,n.watch)(u,()=>{p.value=null,h.value=``});let _=(0,n.ref)(0);function v(e){_.value=e}function y(){g.value?.executeBulkDelete()}function b(){g.value?.clearSelection(),_.value=0}let x=(0,n.computed)(()=>{let e=d.value?.permission;return e?e!==`reader`:!1}),S=(0,n.ref)(null),C=(0,n.ref)(!1),w=null;return(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,tu,[(0,n.createVNode)((0,n.unref)(Te),{position:`bottom-right`,duration:3e3}),(0,n.createVNode)(qc,{documents:i.value,"selected-doc-id":u.value,"document-list-loaded":a.value,onSelectDocument:f},null,8,[`documents`,`selected-doc-id`,`document-list-loaded`]),(0,n.createElementVNode)(`div`,nu,[(0,n.createElementVNode)(`div`,{ref_key:`toolbarRef`,ref:S,class:`flex items-center justify-between px-3 py-2 border-b border-border relative shrink-0`},[_.value>0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,ru,[(0,n.createElementVNode)(`div`,iu,[(0,n.createElementVNode)(`span`,au,(0,n.toDisplayString)(_.value)+` selected`,1),(0,n.createElementVNode)(`button`,{class:`text-[10px] text-muted-foreground hover:text-foreground`,onClick:b},` Clear `)]),(0,n.createElementVNode)(`button`,{class:`px-2 py-1 text-xs text-destructive hover:bg-destructive/10 rounded flex items-center gap-1`,onClick:y},[...t[7]||=[(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16`})],-1),(0,n.createTextVNode)(` Delete `,-1)]])])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,ou,[(0,n.createElementVNode)(`div`,su,[(0,n.createElementVNode)(`span`,cu,(0,n.toDisplayString)(d.value?.title??d.value?.documentId??`Select a document`),1)]),u.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,lu,[t[8]||=(0,n.createElementVNode)(`svg`,{class:`absolute left-2 top-1/2 -translate-y-1/2 w-3 h-3 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z`})],-1),(0,n.withDirectives)((0,n.createElementVNode)(`input`,{"onUpdate:modelValue":t[0]||=e=>h.value=e,type:`text`,placeholder:C.value?`Blob ID…`:`Search by blob ID…`,class:(0,n.normalizeClass)([`pl-7 pr-2 py-1 text-xs bg-muted border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`,C.value?`w-28`:`w-44`])},null,10,uu),[[n.vModelText,h.value]])])):(0,n.createCommentVNode)(``,!0)]),u.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,du,[a.value?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[(0,n.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded text-muted-foreground`,title:`Refresh`,onClick:t[1]||=e=>g.value?.refresh()},[...t[11]||=[(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15`})],-1)]]),x.value?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:(0,n.normalizeClass)([`text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90 flex items-center`,C.value?`p-1.5`:`px-2 py-1 gap-1`]),title:`Upload`,onClick:t[2]||=e=>m.value=!0},[t[12]||=(0,n.createElementVNode)(`svg`,{class:`w-3 h-3 shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12`})],-1),C.value?(0,n.createCommentVNode)(``,!0):((0,n.openBlock)(),(0,n.createElementBlock)(`span`,fu,`Upload`))],2)):(0,n.createCommentVNode)(``,!0)],64)):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[t[9]||=(0,n.createElementVNode)(`div`,{class:`w-6 h-6 bg-muted rounded animate-pulse`},null,-1),t[10]||=(0,n.createElementVNode)(`div`,{class:`w-16 h-6 bg-muted rounded animate-pulse`},null,-1)],64))])):(0,n.createCommentVNode)(``,!0)],512),u.value?((0,n.openBlock)(),(0,n.createBlock)(eu,{key:1,ref_key:`blobTableRef`,ref:g,"document-id":u.value,"search-query":h.value,"can-write":x.value,"upload-dialog-open":m.value,onSelectBlob:t[3]||=e=>p.value=e,"onUpdate:uploadDialogOpen":t[4]||=e=>m.value=e,onSelectionChange:v},null,8,[`document-id`,`search-query`,`can-write`,`upload-dialog-open`])):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,pu,[...t[13]||=[(0,n.createElementVNode)(`svg`,{class:`w-10 h-10 text-muted-foreground/30 mb-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12`})],-1),(0,n.createElementVNode)(`p`,{class:`text-sm font-medium text-muted-foreground`},` Select a document `,-1),(0,n.createElementVNode)(`p`,{class:`text-xs text-muted-foreground/70 mt-1`},` Choose a document from the left panel to explore its blobs `,-1)]]))]),(0,n.createElementVNode)(`div`,mu,[(0,n.createVNode)(Bc,{"document-id":u.value??``,"selected-blob":p.value,"can-write":x.value,onDeleteBlob:t[5]||=e=>g.value?.handleExternalDelete(e),onReloadBlobs:t[6]||=e=>g.value?.refresh()},null,8,[`document-id`,`selected-blob`,`can-write`])])]))}}),gu=e.t(((e,t)=>{var n=NaN,r=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,o=/^0o[0-7]+$/i,s=parseInt,c=typeof global==`object`&&global&&global.Object===Object&&global,l=typeof self==`object`&&self&&self.Object===Object&&self,u=c||l||Function(`return this`)(),d=Object.prototype.toString,f=Math.max,p=Math.min,m=function(){return u.Date.now()};function h(e,t,n){var r,i,a,o,s,c,l=0,u=!1,d=!1,h=!0;if(typeof e!=`function`)throw TypeError(`Expected a function`);t=y(t)||0,g(n)&&(u=!!n.leading,d=`maxWait`in n,a=d?f(y(n.maxWait)||0,t):a,h=`trailing`in n?!!n.trailing:h);function _(t){var n=r,a=i;return r=i=void 0,l=t,o=e.apply(a,n),o}function v(e){return l=e,s=setTimeout(S,t),u?_(e):o}function b(e){var n=e-c,r=e-l,i=t-n;return d?p(i,a-r):i}function x(e){var n=e-c,r=e-l;return c===void 0||n>=t||n<0||d&&r>=a}function S(){var e=m();if(x(e))return C(e);s=setTimeout(S,b(e))}function C(e){return s=void 0,h&&r?_(e):(r=i=void 0,o)}function w(){s!==void 0&&clearTimeout(s),l=0,r=c=i=s=void 0}function T(){return s===void 0?o:C(m())}function E(){var e=m(),n=x(e);if(r=arguments,i=this,c=e,n){if(s===void 0)return v(c);if(d)return s=setTimeout(S,t),_(c)}return s===void 0&&(s=setTimeout(S,t)),o}return E.cancel=w,E.flush=T,E}function g(e){var t=typeof e;return!!e&&(t==`object`||t==`function`)}function _(e){return!!e&&typeof e==`object`}function v(e){return typeof e==`symbol`||_(e)&&d.call(e)==`[object Symbol]`}function y(e){if(typeof e==`number`)return e;if(v(e))return n;if(g(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=g(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=e.replace(r,``);var c=a.test(e);return c||o.test(e)?s(e.slice(2),c?2:8):i.test(e)?n:+e}t.exports=h})),_u=e.i(gu(),1),$=t.s.forScope(`useJsBaoDataLoader`);function vu(e,t){return e===void 0?t:!!(0,n.unref)(e)}function yu(e){let t=new WeakSet,n=e=>{if(e&&typeof e==`object`){if(t.has(e))return`[Circular]`;if(t.add(e),Array.isArray(e))return e.map(n);let r=Object.keys(e).sort(),i={};for(let t of r)i[t]=n(e[t]);return i}return e};try{return JSON.stringify(n(e))}catch{return`__non_serializable__`}}function bu(e){let{subscribeTo:r,queryParams:i,documentReady:a,loadData:o,pauseUpdates:s,reloadOnDocumentEvents:c=!0,debounceMs:l=50,onError:u}=e,d=(0,n.ref)(null),f=(0,n.ref)(!1),p=(0,n.ref)(!1),m=(0,n.computed)(()=>vu(a,!1)),h=(0,n.computed)(()=>vu(s,!1)),g=(0,n.computed)(()=>(0,n.unref)(i)??null),_=(0,n.computed)(()=>{let e=g.value;return e===null?null:yu(e)}),v=async e=>{if(!m.value){$.debug(`loadData skipped: not ready`,{reason:e,queryParams:(0,n.toRaw)(g.value)});return}if(h.value){$.debug(`loadData skipped: paused`,{reason:e,queryParams:(0,n.toRaw)(g.value)});return}$.debug(`loadData start`,{reason:e,queryParams:(0,n.toRaw)(g.value)});try{let t=await o(g.value);d.value=t,f.value||(f.value=!0,p.value=!0),$.debug(`loadData success`,{reason:e,queryParams:(0,n.toRaw)(g.value),data:t})}catch(t){if(u)try{u(t)}catch(e){$.warn(`onError handler threw`,{handlerError:e})}$.error(`loadData error`,{reason:e,queryParams:(0,n.toRaw)(g.value),error:t})}},y=(0,_u.default)(e=>{$.debug(`Reload scheduled`,{reason:e}),v(e)},l),b=()=>{y(`Manual`)},x=[];return(0,n.onMounted)(async()=>{for(let e of r)try{let t=e.subscribe(()=>{p.value&&m.value&&(h.value||y(`Subscribed models changed`))});x.push(t)}catch(e){$.warn(`Failed to subscribe to model`,{error:e})}if(vu(c,!0))try{let e=await t.o.getClientAsync(),n=()=>{p.value&&m.value&&(h.value||y(`Document loaded`))},r=()=>{p.value&&m.value&&(h.value||y(`Document closed`))};e.on(`documentLoaded`,n),e.on(`documentClosed`,r),x.push(()=>{e.off(`documentLoaded`,n),e.off(`documentClosed`,r)}),$.debug(`Subscribed to js-bao document events`)}catch(e){$.warn(`Failed to subscribe to js-bao client events`,{error:e})}}),(0,n.onUnmounted)(()=>{for(let e of x)try{e()}catch{}}),(0,n.watch)(m,e=>{if(!e){$.debug(`documentReady became false; resetting state`),f.value=!1,p.value=!1;return}h.value?$.debug(`documentReady became true but updates are paused; not scheduling load`):($.debug(`documentReady became true; scheduling initial load`),y(`Document became ready`))},{immediate:!0}),(0,n.watch)(_,e=>{if(e===null){$.debug(`queryParams disabled (null)`);return}if(!m.value){$.debug(`queryParams changed but document not ready; ignoring`,{signature:e});return}if(h.value){$.debug(`queryParams changed but updates are paused; ignoring`,{signature:e});return}$.debug(`queryParams changed; scheduling reload`,{signature:e}),y(`Queries changed`)}),{data:d,initialDataLoaded:f,reload:b}}var xu=(0,n.defineComponent)({__name:`PrimitiveLoadingGate`,props:{isReady:{type:Boolean},delayMs:{default:50}},setup(e){let t=e,r=(0,n.computed)(()=>!t.isReady),i=(0,n.ref)(!1),a=null,o=()=>{a!=null&&window.clearTimeout(a),a=null};(0,n.watch)(r,e=>{e?(o(),a=window.setTimeout(()=>{i.value=!0},t.delayMs)):(o(),i.value=!1)},{immediate:!0}),(0,n.onUnmounted)(()=>{o()});let s=(0,n.computed)(()=>r.value&&!i.value),c=(0,n.computed)(()=>r.value&&i.value);return(e,t)=>s.value?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[],64)):c.value?(0,n.renderSlot)(e.$slots,`loading`,{key:1}):(0,n.renderSlot)(e.$slots,`default`,{key:2})}});function Su(e){return e}function Cu(){return a.ModelRegistry.getInstance().getAllRegisteredModelsInfo().map(e=>{let t=new Map;for(let[n,r]of e.fields.entries()){let e=r;t.set(n,{name:n,hidden:e.hidden??n.startsWith(`_`),schema:{type:e.type??`string`,indexed:e.indexed,default:e.default,autoAssign:e.autoAssign,maxCount:e.maxCount,maxLength:e.maxLength}})}let n=e.options.uniqueConstraints??[];return{name:e.class.name,modelClass:Su(e.class),tableName:e.options.name,fields:Array.from(e.fields.keys()),fieldInfo:t,relationships:e.options.relationships,uniqueConstraints:n,sourcePath:e.options.sourcePath??void 0}})}function wu(e,t){let n=new WeakSet;return JSON.stringify(e,(e,t)=>{if(t===void 0)return`[undefined]`;if(typeof t==`function`)return`[Function]`;if(typeof t==`symbol`)return t.toString();if(typeof t==`object`&&t){if(n.has(t))return`[Circular]`;if(n.add(t),t.constructor&&t.constructor.name&&(t.constructor.name.includes(`Set`)||t.constructor.name.includes(`Map`)||t.constructor.name.includes(`Model`)))return Array.isArray(t)?t:t.toString&&t.toString()!==`[object Object]`?t.toString():`[${t.constructor.name}]`}return t},t)}function Tu(e,t){let n=e.toLowerCase(),r=t.toLowerCase().trim();if(!r||n.includes(r))return!0;let i=0;for(let e=0;e<n.length&&i<r.length;e++)n[e]===r[i]&&i++;return i===r.length}function Eu(e){return e!==`is_null`&&e!==`is_not_null`}function Du(e){return{equals:`equals`,not_equals:`not equals`,is_null:`is null`,is_not_null:`is not null`,contains:`contains`,not_contains:`not contains`,in:`in list`,not_in:`not in list`,starts_with:`starts with`,ends_with:`ends with`,gt:`>`,gte:`>=`,lt:`<`,lte:`<=`}[e]||e}var Ou=[`equals`,`not_equals`,`is_null`,`is_not_null`,`contains`,`not_contains`,`starts_with`,`ends_with`,`in`,`not_in`,`gt`,`gte`,`lt`,`lte`],ku={string:Ou,id:[`equals`,`not_equals`,`is_null`,`is_not_null`,`in`,`not_in`],number:[`equals`,`not_equals`,`is_null`,`is_not_null`,`in`,`not_in`,`gt`,`gte`,`lt`,`lte`],boolean:[`equals`,`not_equals`,`is_null`,`is_not_null`],date:[`equals`,`not_equals`,`is_null`,`is_not_null`,`gt`,`gte`,`lt`,`lte`],stringset:[`equals`,`not_equals`,`is_null`,`is_not_null`,`contains`,`not_contains`,`in`,`not_in`]};function Au(e,t){return ku[Hu(e,t)?.type??`string`]??Ou}function ju(e,t){switch(Hu(e,t)?.type??`string`){case`id`:case`number`:case`boolean`:case`date`:return`equals`;default:return`contains`}}function Mu(e){if(e==null)return`string`;if(typeof e==`boolean`)return`boolean`;if(typeof e==`number`)return`number`;if(typeof e==`string`){if(e.startsWith(`{`)||e.startsWith(`[`))try{return JSON.parse(e),`json`}catch{return`string`}if(e.length>100)return`textarea`}return`string`}function Nu(e,t,n=!1){let r=[],i=new Set(e.fields||[]),a=(t[e.tableName]||[])[0];return a&&(Object.keys(a).filter(e=>e!==`type`).forEach(e=>i.add(e)),Object.getOwnPropertyNames(a).filter(e=>e!==`type`).forEach(e=>i.add(e))),r=Array.from(i),n||(r=r.filter(t=>!(e.fieldInfo.get(t)?.hidden??t.startsWith(`_`)))),r.includes(`id`)&&(r=[`id`,...r.filter(e=>e!==`id`)]),r}function Pu(e,t){if(!e.relationships)return null;for(let[n,r]of Object.entries(e.relationships))if(r.type===`refersTo`&&r.relatedIdField===t)return{relationshipName:n,relatedModel:r.model,relatedIdField:r.relatedIdField};return null}function Fu(e){if(typeof e==`object`&&e)return!0;if(typeof e==`string`){let t=e.trim();if(t.startsWith(`{`)||t.startsWith(`[`))try{return JSON.parse(t),!0}catch{return!1}}return!1}function Iu(){return`filter-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}function Lu(e){let{field:t,mode:n,value:r}=e;switch(n){case`equals`:return!isNaN(Number(r))&&r.trim()!==``?{[t]:Number(r)}:r.toLowerCase()===`true`?{[t]:!0}:r.toLowerCase()===`false`?{[t]:!1}:{[t]:r};case`not_equals`:return!isNaN(Number(r))&&r.trim()!==``?{[t]:{$ne:Number(r)}}:r.toLowerCase()===`true`?{[t]:{$ne:!0}}:r.toLowerCase()===`false`?{[t]:{$ne:!1}}:{[t]:{$ne:r}};case`is_null`:return{[t]:null};case`is_not_null`:return{[t]:{$exists:!0}};case`contains`:return{[t]:{$containsText:r}};case`not_contains`:return{[t]:{$not:{$containsText:r}}};case`in`:{let e=r.split(`,`).map(e=>e.trim()).map(e=>!isNaN(Number(e))&&e!==``?Number(e):e);return{[t]:{$in:e}}}case`not_in`:{let e=r.split(`,`).map(e=>e.trim()).map(e=>!isNaN(Number(e))&&e!==``?Number(e):e);return{[t]:{$nin:e}}}case`starts_with`:return{[t]:{$startsWith:r}};case`ends_with`:return{[t]:{$endsWith:r}};case`gt`:return{[t]:{$gt:Number(r)}};case`gte`:return{[t]:{$gte:Number(r)}};case`lt`:return{[t]:{$lt:Number(r)}};case`lte`:return{[t]:{$lte:Number(r)}};default:return{}}}function Ru(e){if(!e||e.length===0)return{};if(e.length===1&&e[0])return Lu(e[0]);let t=e.filter(e=>e&&e.field!=null&&e.field!==``&&(e.mode===`is_null`||e.mode===`is_not_null`||e.mode===`equals`||e.mode===`not_equals`||e.value!==void 0&&e.value!==``)).map(e=>Lu(e));return t.length===0?{}:t.length===1?t[0]??{}:{$and:t}}var zu=[10,25,50,100];function Bu(){try{let e=localStorage.getItem(Ae);if(e){let t=Number(e);if(zu.includes(t))return t}}catch{}return 25}function Vu(e){try{localStorage.setItem(Ae,String(e))}catch{}}function Hu(e,t){return e.fieldInfo.get(t)?.schema}function Uu(e,t){return Hu(e,t)?.type===`stringset`}function Wu(e,t){return Hu(e,t)?.type===`date`}function Gu(e,t){return Hu(e,t)?.type===`number`}function Ku(e,t){return Hu(e,t)?.type===`boolean`}function qu(e){if(e==null)return[];if(typeof e==`object`&&e){if(`toArray`in e&&typeof e.toArray==`function`)return e.toArray();if(Symbol.iterator in e)return Array.from(e)}return Array.isArray(e)?e.map(String):[]}function Ju(e,t){return Hu(e,t)?.indexed===!0}function Yu(e){return e?{[e.field]:e.direction}:{id:1}}function Xu(e){return e===1?`↑`:`↓`}function Zu(){try{let e=localStorage.getItem(je);if(e)return JSON.parse(e)}catch{}return{}}function Qu(e){try{localStorage.setItem(je,JSON.stringify(e))}catch{}}function $u(e){return Zu()[e]}function ed(e,t){let n=Zu();n[e]=t,Qu(n)}function td(e){switch(e){case`owner`:case`admin`:return`Owner`;case`read-write`:return`Editor`;case`reader`:return`Viewer`;default:return`Owner`}}function nd(e){switch(e){case`owner`:case`admin`:return`bg-muted text-muted-foreground`;case`read-write`:return`bg-blue-500/10 text-blue-600`;case`reader`:return`bg-green-500/10 text-green-600`;default:return`bg-muted text-muted-foreground`}}function rd(e){return e===`owner`||e===`admin`}var id={class:`flex items-center px-2 h-10 bg-muted border-b border-border relative`},ad={key:0,class:`absolute inset-0 px-2 bg-muted flex items-center justify-between z-10`},od={class:`flex items-center gap-2`},sd={class:`text-[10px] font-medium`},cd={class:`flex items-center gap-0.5`},ld={class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide flex-1`},ud={key:0,class:`flex-1 overflow-y-auto scrollbar-thin flex flex-col`},dd={key:0,class:`p-3 text-center text-[10px] text-muted-foreground`},fd={key:1,class:`p-3 text-center text-[10px] text-muted-foreground`},pd={class:`flex items-center px-2 py-1 border-b border-border bg-muted/20 border-l-2 border-l-transparent`},md=[`checked`,`indeterminate`],hd=[`onClick`],gd=[`checked`,`disabled`,`title`,`onChange`],_d={key:0,class:`text-[9px] px-1 py-0.5 bg-amber-500/10 text-amber-600 rounded ml-1`},vd=(0,n.defineComponent)({__name:`DocumentListSection`,props:{documents:{},filteredDocuments:{},selectedDocId:{},isExpanded:{type:Boolean},documentListLoaded:{type:Boolean},searchQuery:{},sectionLabel:{default:`Documents`},showCreateButton:{type:Boolean,default:!0}},emits:[`select-document`,`create-document`,`bulk-delete`,`bulk-leave`,`bulk-delete-mixed`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.ref)(new Set),o=(0,n.computed)(()=>a.value.size),s=(0,n.computed)(()=>a.value.size>0),c=(0,n.computed)(()=>Array.from(a.value).some(e=>{let t=r.documents.find(t=>t.documentId===e);return t&&rd(t.permission)&&!t.isRoot})),l=(0,n.computed)(()=>c.value?!1:Array.from(a.value).some(e=>{let t=r.documents.find(t=>t.documentId===e);return t&&!rd(t.permission)&&!t.isRoot})),u=(0,n.computed)(()=>{let e=r.filteredDocuments.filter(e=>!e.isRoot);if(e.length===0)return!1;let t=e.filter(e=>a.value.has(e.documentId)).length;return t===0?!1:t===e.length?!0:`indeterminate`}),d=(e,t)=>{t&&t.stopPropagation();let n=new Set(a.value);n.has(e)?n.delete(e):n.add(e),a.value=n},f=()=>{let e=r.filteredDocuments.filter(e=>!e.isRoot),t=e.every(e=>a.value.has(e.documentId)),n=new Set(a.value);t?e.forEach(e=>n.delete(e.documentId)):e.forEach(e=>n.add(e.documentId)),a.value=n},p=()=>{a.value=new Set},m=(0,n.ref)(!1),h=(0,n.ref)([]),g=()=>{let e=Array.from(a.value),t=e.filter(e=>{let t=r.documents.find(t=>t.documentId===e);return t&&rd(t.permission)&&!t.isRoot});t.length!==0&&(t.length<e.length?(i(`bulk-delete-mixed`,e),p()):(h.value=t,m.value=!0))},_=()=>{i(`bulk-delete`,h.value),p(),m.value=!1,h.value=[]},v=()=>{i(`bulk-leave`,Array.from(a.value))};return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{class:`flex flex-col min-h-0`,style:(0,n.normalizeStyle)({flex:e.isExpanded?`1 1 auto`:`0 0 auto`})},[(0,n.createElementVNode)(`div`,id,[s.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,ad,[(0,n.createElementVNode)(`div`,od,[(0,n.createElementVNode)(`span`,sd,(0,n.toDisplayString)(o.value)+` selected `,1),(0,n.createElementVNode)(`button`,{class:`text-[10px] text-muted-foreground hover:text-foreground`,onClick:(0,n.withModifiers)(p,[`stop`])},` Clear `)]),(0,n.createElementVNode)(`div`,cd,[l.value?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`p-1 text-muted-foreground hover:bg-muted-foreground/10 hover:text-foreground rounded`,title:`Leave Document`,onClick:(0,n.withModifiers)(v,[`stop`])},[...r[4]||=[(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1`})],-1)]])):(0,n.createCommentVNode)(``,!0),c.value?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:1,class:`p-1 text-destructive hover:bg-destructive/10 rounded`,title:`Delete Document`,onClick:(0,n.withModifiers)(g,[`stop`])},[...r[5]||=[(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16`})],-1)]])):(0,n.createCommentVNode)(``,!0)])])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`span`,ld,(0,n.toDisplayString)(e.sectionLabel),1),e.showCreateButton?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:1,class:`p-0.5 hover:bg-background/50 rounded text-muted-foreground hover:text-foreground`,title:`New Document`,onClick:r[0]||=(0,n.withModifiers)(e=>i(`create-document`),[`stop`])},[...r[6]||=[(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 4v16m8-8H4`})],-1)]])):(0,n.createCommentVNode)(``,!0)]),e.isExpanded?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,ud,[e.documentListLoaded?e.filteredDocuments.length===0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,fd,(0,n.toDisplayString)(e.searchQuery?`No matching documents`:`No documents found`),1)):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:2},[(0,n.createElementVNode)(`div`,pd,[(0,n.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:u.value===!0,indeterminate:u.value===`indeterminate`,onChange:f},null,40,md),r[7]||=(0,n.createElementVNode)(`span`,{class:`ml-2 text-[10px] text-muted-foreground`},`Select all`,-1)]),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.filteredDocuments,t=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:t.documentId,class:(0,n.normalizeClass)([`flex items-center px-2 py-1.5 cursor-pointer border-l-2`,t.documentId===e.selectedDocId?`border-primary bg-primary/5`:`border-transparent hover:bg-muted/30`,t.isRoot?`opacity-60`:``]),onClick:e=>i(`select-document`,t.documentId)},[(0,n.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border flex-shrink-0`,checked:a.value.has(t.documentId),disabled:t.isRoot,title:t.isRoot?`Cannot select root document`:``,onClick:r[1]||=(0,n.withModifiers)(()=>{},[`stop`]),onChange:e=>d(t.documentId)},null,40,gd),(0,n.createElementVNode)(`span`,{class:(0,n.normalizeClass)([`ml-2 text-xs flex-1 truncate`,t.documentId===e.selectedDocId?`font-medium`:``])},(0,n.toDisplayString)(t.title||`Untitled`),3),t.isRoot?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,_d,` root `)):((0,n.openBlock)(),(0,n.createElementBlock)(`span`,{key:1,class:(0,n.normalizeClass)([`text-[9px] px-1 py-0.5 rounded ml-1`,(0,n.unref)(nd)(t.permission)])},(0,n.toDisplayString)((0,n.unref)(td)(t.permission)),3))],10,hd))),128))],64)):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,dd,` Loading documents... `))])):(0,n.createCommentVNode)(``,!0),(0,n.createVNode)(Ks,{"is-open":m.value,title:`Delete Documents`,question:`Delete ${h.value.length} document(s)? This action cannot be undone.`,warning:``,"is-deleting":!1,onConfirm:_,onCancel:r[2]||=e=>{m.value=!1,h.value=[]},"onUpdate:isOpen":r[3]||=e=>{e||(m.value=!1,h.value=[])}},null,8,[`is-open`,`question`])],4))}}),yd={key:0,class:`w-10 border-r border-border flex flex-col items-center bg-background`},bd={class:`h-10 flex items-center justify-center border-b border-border w-full`},xd=[`title`],Sd={key:1,class:`w-48 lg:w-56 border-r border-border flex flex-col bg-background`},Cd={class:`h-10 flex items-center px-2 gap-1 border-b border-border`},wd={class:`relative flex-1 min-w-0`},Td={class:`flex-1 overflow-y-auto scrollbar-thin`},Ed=(0,n.defineComponent)({__name:`DocumentListPanel`,props:{ownedDocuments:{},sharedDocuments:{},selectedDocId:{},documentListLoaded:{type:Boolean}},emits:[`select-document`,`create-document`,`bulk-delete`,`bulk-leave`,`bulk-delete-mixed`],setup(e,{expose:t,emit:r}){let i=e,a=r,o=(0,n.ref)(``),s=(0,n.ref)(!1),c=(0,n.computed)(()=>i.ownedDocuments.length+i.sharedDocuments.length);function l(e){if(!o.value.trim())return e;let t=o.value.trim();if(t.toLowerCase().startsWith(`tag:`)){let n=t.slice(4);return n?e.filter(e=>e.tags?.some(e=>Tu(e,n))):e}return e.filter(e=>Tu(e.title||``,t)||Tu(e.documentId,t)||e.tags?.some(e=>Tu(e,t)))}let u=(0,n.computed)(()=>l(i.ownedDocuments)),d=(0,n.computed)(()=>l(i.sharedDocuments));return t({isCollapsed:s}),(t,r)=>s.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,yd,[(0,n.createElementVNode)(`div`,bd,[(0,n.createElementVNode)(`button`,{class:`p-1.5 hover:bg-muted rounded text-muted-foreground`,title:`Expand document list`,onClick:r[0]||=e=>s.value=!1},[...r[12]||=[(0,n.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 6h16M4 12h16M4 18h16`})],-1)]])]),(0,n.createElementVNode)(`span`,{class:`mt-2 text-[9px] text-muted-foreground tabular-nums`,title:`${c.value} documents`},(0,n.toDisplayString)(c.value),9,xd)])):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Sd,[(0,n.createElementVNode)(`div`,Cd,[(0,n.createElementVNode)(`div`,wd,[r[13]||=(0,n.createElementVNode)(`svg`,{class:`absolute left-2 top-1/2 -translate-y-1/2 w-3 h-3 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z`})],-1),(0,n.withDirectives)((0,n.createElementVNode)(`input`,{"onUpdate:modelValue":r[1]||=e=>o.value=e,type:`text`,placeholder:`Search…`,class:`w-full pl-7 pr-2 py-1 text-xs bg-muted border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`},null,512),[[n.vModelText,o.value]])]),(0,n.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded text-muted-foreground flex-shrink-0 md:hidden`,title:`Collapse panel`,onClick:r[2]||=e=>s.value=!0},[...r[14]||=[(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M11 19l-7-7 7-7`})],-1)]])]),(0,n.createElementVNode)(`div`,Td,[(0,n.createVNode)(vd,{documents:e.ownedDocuments,"filtered-documents":u.value,"selected-doc-id":e.selectedDocId,"is-expanded":!0,"document-list-loaded":e.documentListLoaded,"search-query":o.value,"section-label":`My Documents`,onSelectDocument:r[3]||=e=>a(`select-document`,e),onCreateDocument:r[4]||=e=>a(`create-document`),onBulkDelete:r[5]||=e=>a(`bulk-delete`,e),onBulkLeave:r[6]||=e=>a(`bulk-leave`,e),onBulkDeleteMixed:r[7]||=e=>a(`bulk-delete-mixed`,e)},null,8,[`documents`,`filtered-documents`,`selected-doc-id`,`document-list-loaded`,`search-query`]),e.sharedDocuments.length>0||o.value.trim()?((0,n.openBlock)(),(0,n.createBlock)(vd,{key:0,documents:e.sharedDocuments,"filtered-documents":d.value,"selected-doc-id":e.selectedDocId,"is-expanded":!0,"document-list-loaded":e.documentListLoaded,"search-query":o.value,"section-label":`Shared with Me`,"show-create-button":!1,onSelectDocument:r[8]||=e=>a(`select-document`,e),onBulkDelete:r[9]||=e=>a(`bulk-delete`,e),onBulkLeave:r[10]||=e=>a(`bulk-leave`,e),onBulkDeleteMixed:r[11]||=e=>a(`bulk-delete-mixed`,e)},null,8,[`documents`,`filtered-documents`,`selected-doc-id`,`document-list-loaded`,`search-query`])):(0,n.createCommentVNode)(``,!0)])]))}}),Dd=(0,n.defineComponent)({__name:`Skeleton`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{"data-slot":`skeleton`,class:(0,n.normalizeClass)((0,n.unref)(Q)(`animate-pulse rounded-md bg-primary/10`,t.class))},null,2))}}),Od={key:0,class:`space-y-1.5`},kd={key:1,class:`space-y-1`},Ad=[`onKeydown`,`onBlur`],jd=[`title`,`onClick`],Md=[`disabled`,`onClick`],Nd={key:0,class:`flex items-center gap-1`},Pd=[`disabled`,`onKeydown`],Fd=(0,n.defineComponent)({__name:`DocumentAliasesSection`,props:{documentId:{},canWrite:{type:Boolean}},setup(e){let r=t.s.forScope(`DocumentAliasesSection`),i=e,a=(0,n.ref)([]),o=(0,n.ref)(!0),s=(0,n.ref)(``),c=(0,n.ref)(!1),l=(0,n.ref)(null),u=(0,n.ref)(!1),d=(0,n.ref)(null),f=(0,n.ref)(null),p=(0,n.ref)(``),m=(0,n.ref)(null);async function h(e=!1){e||(o.value=!0);try{a.value=await(await t.o.getClientAsync()).documents.aliases.listForDocument(i.documentId)}catch(e){r.error(`Failed to load aliases:`,e),a.value=[],U(`Failed to load aliases: `+W(e))}finally{o.value=!1}}(0,n.watch)(()=>i.documentId,()=>{a.value=[],o.value=!0,h()},{immediate:!0});async function g(){let e=s.value.trim();if(!e)return;s.value=``;let n={aliasKey:e,scope:`user`};a.value=[...a.value,n],c.value=!0;try{let n=await(await t.o.getClientAsync()).documents.aliases.set({documentId:i.documentId,scope:`user`,aliasKey:e});r.debug(`Alias set result:`,n),await h(!0),a.value.some(t=>t.aliasKey===e)||(r.warn(`Alias set returned success but alias not found in refreshed list:`,e),U(`Alias "${e}" was not saved. The server may have rejected it.`))}catch(t){a.value=a.value.filter(t=>t.aliasKey!==e),r.error(`Failed to add alias:`,t),U(`Failed to add alias: `+W(t))}finally{c.value=!1}}function _(e,t){d.value={aliasKey:e,scope:t},u.value=!0}function v(){u.value=!1,d.value=null}function y(){d.value&&b(d.value.aliasKey,d.value.scope),u.value=!1,d.value=null}async function b(e,n){let i=[...a.value];a.value=a.value.filter(t=>t.aliasKey!==e),l.value=e;try{await(await t.o.getClientAsync()).documents.aliases.delete({scope:n,aliasKey:e}),await h(!0)}catch(e){a.value=i,r.error(`Failed to remove alias:`,e),U(`Failed to remove alias: `+W(e))}finally{l.value=null}}async function x(e){f.value=e.aliasKey,p.value=e.aliasKey,await(0,n.nextTick)(),m.value?.focus(),m.value?.select()}function S(){f.value=null,p.value=``}async function C(e,n){let o=p.value.trim();if(!o||o===e){S();return}let s=[...a.value];a.value=a.value.map(t=>t.aliasKey===e?{...t,aliasKey:o}:t),S();try{let s=await t.o.getClientAsync();await s.documents.aliases.delete({scope:n,aliasKey:e});try{let e=await s.documents.aliases.set({documentId:i.documentId,scope:n,aliasKey:o});r.debug(`Alias rename set result:`,e)}catch(t){r.error(`Alias rename: set failed, restoring original alias`,{originalKey:e,newKey:o,setErr:t});try{await s.documents.aliases.set({documentId:i.documentId,scope:n,aliasKey:e})}catch(t){r.error(`Failed to restore original alias after rename failure`,{originalKey:e,restoreErr:t})}throw t}await h(!0),a.value.some(e=>e.aliasKey===o)||(r.warn(`Alias rename: set returned success but alias not found in refreshed list:`,o),U(`Alias "${o}" was not saved. The server may have rejected it.`))}catch(e){a.value=s,r.error(`Failed to edit alias:`,e),U(`Failed to edit alias: `+W(e))}}return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,null,[r[3]||=(0,n.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Aliases `,-1),o.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Od,[(0,n.createVNode)(Dd,{class:`h-4 w-24`}),(0,n.createVNode)(Dd,{class:`h-4 w-32`})])):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,kd,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(a.value,t=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:t.aliasKey,class:`flex items-center justify-between gap-1 text-xs group min-w-0`},[f.value===t.aliasKey?(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createElementBlock)(`input`,{key:0,ref_for:!0,ref_key:`editInputRef`,ref:m,"onUpdate:modelValue":r[0]||=e=>p.value=e,type:`text`,class:`flex-1 min-w-0 px-1.5 py-0.5 text-[10px] font-mono bg-muted border border-ring rounded focus:outline-none`,onKeydown:[(0,n.withKeys)((0,n.withModifiers)(e=>C(t.aliasKey,t.scope),[`prevent`]),[`enter`]),(0,n.withKeys)((0,n.withModifiers)(S,[`prevent`]),[`escape`])],onBlur:e=>C(t.aliasKey,t.scope)},null,40,Ad)),[[n.vModelText,p.value]]):((0,n.openBlock)(),(0,n.createElementBlock)(`code`,{key:1,class:(0,n.normalizeClass)([`text-[10px] font-mono text-muted-foreground truncate min-w-0`,e.canWrite?`cursor-pointer hover:text-foreground`:``]),title:t.aliasKey,onClick:n=>e.canWrite?x(t):void 0},(0,n.toDisplayString)(t.aliasKey),11,jd)),e.canWrite&&f.value!==t.aliasKey?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:2,class:`opacity-0 group-hover:opacity-100 text-muted-foreground hover:text-destructive flex-shrink-0`,disabled:l.value===t.aliasKey,onClick:e=>_(t.aliasKey,t.scope)},` × `,8,Md)):(0,n.createCommentVNode)(``,!0)]))),128)),e.canWrite?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Nd,[(0,n.withDirectives)((0,n.createElementVNode)(`input`,{"onUpdate:modelValue":r[1]||=e=>s.value=e,type:`text`,class:`flex-1 px-1.5 py-0.5 text-[10px] font-mono bg-transparent border border-dashed border-border rounded focus:outline-none focus:border-ring focus:bg-muted`,placeholder:`+ add alias`,disabled:c.value,onKeydown:(0,n.withKeys)((0,n.withModifiers)(g,[`prevent`]),[`enter`])},null,40,Pd),[[n.vModelText,s.value]])])):(0,n.createCommentVNode)(``,!0)])),(0,n.createVNode)(Ks,{"is-open":u.value,title:`Remove Alias`,question:`Remove the alias "${d.value?.aliasKey}" from this document?`,warning:``,"confirm-label":`Remove`,"confirming-label":`Removing...`,"is-deleting":l.value!==null,onConfirm:y,onCancel:v,"onUpdate:isOpen":r[2]||=e=>{e||v()}},null,8,[`is-open`,`question`,`is-deleting`])]))}}),Id={key:0,class:`space-y-2.5`},Ld={class:`flex-1 space-y-1`},Rd={key:1,class:`space-y-2`},zd={class:`flex items-center gap-2 min-w-0 flex-1`},Bd={class:`min-w-0`},Vd=[`title`],Hd=[`title`],Ud={key:0,class:`text-[10px] text-muted-foreground flex-shrink-0`},Wd=[`value`,`onChange`],Gd={key:0,value:`transfer-ownership`},Kd={value:`remove`},qd={key:2,class:`flex items-center gap-1.5 flex-shrink-0`},Jd={class:`text-[10px] text-muted-foreground capitalize`},Yd=[`onClick`],Xd={key:3,class:`text-[10px] text-muted-foreground capitalize flex-shrink-0`},Zd={class:`flex items-center gap-2 min-w-0 flex-1`},Qd={class:`min-w-0`},$d=[`title`],ef=[`onClick`],tf={class:`flex items-center gap-2 min-w-0 flex-1`},nf={class:`min-w-0`},rf=[`title`],af={class:`text-[10px] text-muted-foreground truncate`},of={class:`text-[10px] text-muted-foreground capitalize flex-shrink-0`},sf={key:0,class:`pt-1`},cf=[`onKeydown`],lf={class:`flex items-center gap-1`},uf=[`disabled`],df={key:0,class:`w-2.5 h-2.5 border border-current border-t-transparent rounded-full animate-spin`},ff=(0,n.defineComponent)({__name:`DocumentSharingSection`,props:{documentId:{},canWrite:{type:Boolean}},setup(e){let r=t.s.forScope(`DocumentSharingSection`),i=e,a=(0,n.ref)(``),o=(0,n.ref)([]),s=(0,n.ref)([]),c=(0,n.ref)([]),l=(0,n.ref)(!0),u=(0,n.ref)(``),d=(0,n.ref)(`read-write`),f=(0,n.ref)(!1),p=(0,n.ref)(!1),m=(0,n.ref)(!1),h=(0,n.ref)(``),g=(0,n.ref)(``),_=(0,n.ref)(!1),v=(0,n.ref)(!1),y=(0,n.ref)(!1),b=(0,n.ref)(``),x=(0,n.ref)(``),S=(0,n.ref)(!1),C=(0,n.ref)(!1),w=(0,n.ref)(!1);async function T(e=!1){e||(l.value=!0);try{let e=await t.o.getClientAsync();a.value=(await e.me.get())?.userId??``;let[n,l,u]=await Promise.all([e.documents.getPermissions(i.documentId).catch(e=>(r.debug(`getPermissions not available:`,e),[])),e.documents.listPendingInvitations(i.documentId).catch(e=>(r.debug(`listPendingInvitations not available:`,e),[])),e.documents.listGroupPermissions(i.documentId).catch(e=>(r.debug(`listGroupPermissions not available:`,e),[]))]);o.value=n,s.value=l,c.value=await Promise.all(u.map(async t=>{if(!t.groupType)return t;try{let n=await e.groups.get(t.groupType,t.groupId);return{...t,groupName:n.name}}catch{return{...t,groupName:void 0}}}))}catch(e){r.error(`Failed to load sharing info:`,e),o.value=[],s.value=[],c.value=[],U(`Failed to load sharing info: `+W(e))}finally{l.value=!1}}(0,n.watch)(()=>i.documentId,()=>{o.value=[],s.value=[],c.value=[],l.value=!0,T()},{immediate:!0});let E=null,D=!1;(0,n.onMounted)(async()=>{D=!0;try{let e=await t.o.getClientAsync();if(!D)return;let n=e=>{e.documentId===i.documentId&&(r.debug(`Invitation event received – reloading sharing data`,{action:e.action}),T(!0))};e.on(`invitation`,n),E=()=>e.off(`invitation`,n)}catch(e){r.warn(`Could not subscribe to invitation events:`,e)}}),(0,n.onUnmounted)(()=>{D=!1,E?.()});let O=(0,n.computed)(()=>{let e=o.value.find(e=>e.userId===a.value);return e?rd(e.permission):!1}),k=(0,n.computed)(()=>{let e=o.value.find(e=>e.userId===a.value);return e?rd(e.permission)||e.permission===`read-write`:!1});function A(e){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}function j(e){return e.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2)}function M(e){let t=[`bg-blue-500`,`bg-green-500`,`bg-purple-500`,`bg-pink-500`,`bg-orange-500`,`bg-teal-500`],n=0;for(let t=0;t<e.length;t++)n=e.charCodeAt(t)+((n<<5)-n);return t[Math.abs(n)%t.length]??`bg-blue-500`}async function N(){let e=u.value.trim().toLowerCase();if(!e)return;if(!A(e)){U(`Please enter a valid email address.`);return}if(o.value.some(t=>t.email.toLowerCase()===e)){U(`${e} already has access to this document.`);return}if(s.value.some(t=>t.email.toLowerCase()===e)){U(`${e} already has a pending invitation.`);return}let n=d.value,a={invitationId:`optimistic-${Date.now()}`,email:e,permission:n,createdAt:new Date().toISOString(),expiresAt:``};s.value=[...s.value,a],u.value=``,p.value=!1,f.value=!0;try{await(await t.o.getClientAsync()).documents.updatePermissions(i.documentId,{email:e,permission:n}),await T(!0)}catch(e){s.value=s.value.filter(e=>e.invitationId!==a.invitationId),r.error(`Failed to invite collaborator:`,e),U(`Failed to invite: `+W(e))}finally{f.value=!1}}async function P(e){let n=[...s.value];s.value=s.value.filter(t=>t.email!==e);try{await(await t.o.getClientAsync()).documents.removePermission(i.documentId,{email:e}),await T(!0)}catch(e){s.value=n,r.error(`Failed to cancel invitation:`,e),U(`Failed to cancel invitation: `+W(e))}}async function ee(e,n){let a=o.value.slice();o.value=o.value.map(t=>t.userId===e?{...t,permission:n}:t);try{await(await t.o.getClientAsync()).documents.updatePermissions(i.documentId,{userId:e,permission:n}),await T(!0)}catch(e){o.value=a,r.error(`Failed to update permission:`,e),U(`Failed to update permission: `+W(e))}}async function F(e){let n=o.value.slice();o.value=o.value.filter(t=>t.userId!==e);try{await(await t.o.getClientAsync()).documents.removePermission(i.documentId,e),await T(!0)}catch(e){o.value=n,r.error(`Failed to remove permission:`,e),U(`Failed to remove permission: `+W(e))}}function te(e,t,n){let r=o.value.find(t=>t.userId===e);t===`remove`?(r&&(n.value=r.permission,g.value=r.name||r.email),h.value=e,_.value=e===a.value,m.value=!0):t===`transfer-ownership`?(r&&(n.value=r.permission,x.value=r.name||r.email),b.value=e,y.value=!0):t===`reader`&&e===a.value?(r&&(n.value=r.permission),C.value=!0):ee(e,t)}function ne(){w.value=!0,ee(a.value,`reader`).finally(()=>{w.value=!1,C.value=!1})}function I(){C.value=!1}function L(){v.value=!0,F(h.value).finally(()=>{v.value=!1,m.value=!1,h.value=``,g.value=``,_.value=!1})}function R(){m.value=!1,h.value=``,g.value=``,_.value=!1}function z(e){h.value=e.userId,g.value=e.name||e.email,_.value=!0,m.value=!0}async function re(e){let n=o.value.slice();o.value=o.value.map(t=>t.userId===e?{...t,permission:`owner`}:t.userId===a.value?{...t,permission:`read-write`}:t),S.value=!0;try{let n=await t.o.getClientAsync();await n.documents.updatePermissions(i.documentId,{userId:e,permission:`owner`}),await n.documents.updatePermissions(i.documentId,{userId:a.value,permission:`read-write`}),await T(!0)}catch(e){o.value=n,r.error(`Failed to transfer ownership:`,e),U(`Failed to transfer ownership: `+W(e))}finally{S.value=!1,y.value=!1,b.value=``,x.value=``}}function ie(){re(b.value)}function B(){y.value=!1,b.value=``,x.value=``}return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,null,[r[16]||=(0,n.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Sharing `,-1),l.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Id,[((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(2,e=>(0,n.createElementVNode)(`div`,{key:e,class:`flex items-center gap-2`},[(0,n.createVNode)(Dd,{class:`h-5 w-5 rounded-full flex-shrink-0`}),(0,n.createElementVNode)(`div`,Ld,[(0,n.createVNode)(Dd,{class:`h-3 w-20`}),(0,n.createVNode)(Dd,{class:`h-2.5 w-28`})]),(0,n.createVNode)(Dd,{class:`h-3 w-10`})])),64))])):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Rd,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(o.value,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e.userId,class:`flex items-center justify-between gap-2 text-xs`},[(0,n.createElementVNode)(`div`,zd,[(0,n.createElementVNode)(`div`,{class:(0,n.normalizeClass)([`w-5 h-5 rounded-full flex items-center justify-center text-[10px] text-white font-medium flex-shrink-0`,M(e.name||e.email)])},(0,n.toDisplayString)(j(e.name||e.email)),3),(0,n.createElementVNode)(`div`,Bd,[(0,n.createElementVNode)(`div`,{class:`font-medium truncate`,title:e.name||e.email},(0,n.toDisplayString)(e.name||e.email),9,Vd),e.name?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,class:`text-[10px] text-muted-foreground truncate`,title:e.email},(0,n.toDisplayString)(e.email),9,Hd)):(0,n.createCommentVNode)(``,!0)])]),(0,n.unref)(rd)(e.permission)?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Ud,` Owner `)):k.value?((0,n.openBlock)(),(0,n.createElementBlock)(`select`,{key:1,value:e.permission,class:`text-[10px] px-1.5 py-0.5 bg-muted border border-border text-foreground cursor-pointer focus:outline-none focus:ring-1 focus:ring-ring rounded appearance-auto flex-shrink-0`,onChange:t=>te(e.userId,t.target.value,t.target)},[r[8]||=(0,n.createElementVNode)(`option`,{value:`read-write`},`Editor`,-1),r[9]||=(0,n.createElementVNode)(`option`,{value:`reader`},`Viewer`,-1),r[10]||=(0,n.createElementVNode)(`option`,{disabled:``},`───`,-1),O.value&&e.userId!==a.value&&e.permission===`read-write`?((0,n.openBlock)(),(0,n.createElementBlock)(`option`,Gd,` Transfer Ownership `)):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`option`,Kd,(0,n.toDisplayString)(e.userId===a.value?`Leave`:`Remove`),1)],40,Wd)):e.userId===a.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,qd,[(0,n.createElementVNode)(`span`,Jd,(0,n.toDisplayString)((0,n.unref)(td)(e.permission)),1),(0,n.createElementVNode)(`button`,{class:`text-muted-foreground hover:text-destructive flex-shrink-0`,title:`Leave document`,onClick:t=>z(e)},[...r[11]||=[(0,n.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1`})],-1)]],8,Yd)])):((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Xd,(0,n.toDisplayString)((0,n.unref)(td)(e.permission)),1))]))),128)),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(s.value,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e.email,class:`flex items-center justify-between gap-2 text-xs`},[(0,n.createElementVNode)(`div`,Zd,[r[13]||=(0,n.createElementVNode)(`div`,{class:`w-5 h-5 rounded-full bg-muted flex items-center justify-center text-[10px] text-muted-foreground font-medium border border-dashed border-border flex-shrink-0`},` ? `,-1),(0,n.createElementVNode)(`div`,Qd,[(0,n.createElementVNode)(`div`,{class:`font-medium text-muted-foreground truncate`,title:e.email},(0,n.toDisplayString)(e.email),9,$d),r[12]||=(0,n.createElementVNode)(`div`,{class:`text-[10px] text-amber-600 flex items-center gap-1`},[(0,n.createElementVNode)(`svg`,{class:`w-3 h-3 flex-shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z`})]),(0,n.createTextVNode)(` Pending invitation `)],-1)])]),(0,n.createElementVNode)(`button`,{class:`text-[10px] text-muted-foreground hover:text-destructive flex-shrink-0`,onClick:t=>P(e.email)},` Cancel `,8,ef)]))),128)),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(c.value,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:`${e.groupType}/${e.groupId}`,class:`flex items-center justify-between gap-2 text-xs`},[(0,n.createElementVNode)(`div`,tf,[r[14]||=(0,n.createElementVNode)(`div`,{class:`w-5 h-5 rounded-full bg-indigo-500/15 flex items-center justify-center text-[10px] text-indigo-600 font-medium flex-shrink-0`},[(0,n.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0z`})])],-1),(0,n.createElementVNode)(`div`,nf,[(0,n.createElementVNode)(`div`,{class:`font-medium truncate`,title:e.groupName??`${e.groupType}/${e.groupId}`},(0,n.toDisplayString)(e.groupName??`${e.groupType}/${e.groupId}`),9,rf),(0,n.createElementVNode)(`div`,af,(0,n.toDisplayString)(e.groupType)+` group `,1)])]),(0,n.createElementVNode)(`span`,of,(0,n.toDisplayString)((0,n.unref)(td)(e.permission)),1)]))),128)),e.canWrite?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,sf,[p.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,"data-devtools-dropdown":``,class:`space-y-1.5`,onKeydown:r[3]||=(0,n.withKeys)((0,n.withModifiers)(e=>{p.value=!1,u.value=``},[`stop`,`prevent`]),[`escape`])},[(0,n.withDirectives)((0,n.createElementVNode)(`input`,{"onUpdate:modelValue":r[0]||=e=>u.value=e,type:`email`,class:`w-full px-1.5 py-1 text-[10px] border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`,placeholder:`Email address`,onKeydown:(0,n.withKeys)((0,n.withModifiers)(N,[`prevent`]),[`enter`])},null,40,cf),[[n.vModelText,u.value]]),(0,n.createElementVNode)(`div`,lf,[(0,n.withDirectives)((0,n.createElementVNode)(`select`,{"onUpdate:modelValue":r[1]||=e=>d.value=e,class:`flex-1 px-1 py-0.5 text-[10px] border border-border rounded bg-background`},[...r[15]||=[(0,n.createElementVNode)(`option`,{value:`read-write`},`Editor`,-1),(0,n.createElementVNode)(`option`,{value:`reader`},`Viewer`,-1)]],512),[[n.vModelSelect,d.value]]),(0,n.createElementVNode)(`button`,{class:`px-2 py-0.5 text-[10px] bg-primary text-primary-foreground rounded hover:bg-primary/90 disabled:opacity-50 flex items-center gap-1`,disabled:f.value||!u.value.trim()||!A(u.value.trim()),onClick:N},[f.value?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,df)):(0,n.createCommentVNode)(``,!0),(0,n.createTextVNode)(` `+(0,n.toDisplayString)(f.value?`Sending...`:`Send`),1)],8,uf),(0,n.createElementVNode)(`button`,{class:`px-2 py-0.5 text-[10px] text-muted-foreground hover:text-foreground`,onClick:r[2]||=e=>{p.value=!1,u.value=``}},` Cancel `)])],32)):((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:1,class:`w-full px-2 py-1.5 text-[10px] text-center border border-dashed border-border rounded hover:bg-muted`,onClick:r[4]||=e=>p.value=!0},` + Invite collaborator `))])):(0,n.createCommentVNode)(``,!0)])),(0,n.createVNode)(Ks,{"is-open":m.value,title:_.value?`Leave Document`:`Remove Collaborator`,question:_.value?`Leave this document? You will lose access immediately.`:`Remove ${g.value} from this document? They will lose access immediately.`,warning:``,"confirm-label":_.value?`Leave`:`Remove`,"confirming-label":_.value?`Leaving...`:`Removing...`,"is-deleting":v.value,onConfirm:L,onCancel:R,"onUpdate:isOpen":r[5]||=e=>{e||R()}},null,8,[`is-open`,`title`,`question`,`confirm-label`,`confirming-label`,`is-deleting`]),(0,n.createVNode)(Ks,{"is-open":C.value,title:`Change Your Role`,question:`Change your role to Viewer? You will lose edit access to this document immediately.`,warning:``,"confirm-label":`Change to Viewer`,"confirming-label":`Changing...`,"is-deleting":w.value,onConfirm:ne,onCancel:I,"onUpdate:isOpen":r[6]||=e=>{e||I()}},null,8,[`is-open`,`is-deleting`]),(0,n.createVNode)(Ks,{"is-open":y.value,title:`Transfer Ownership`,question:`Transfer ownership to ${x.value}?`,warning:`You will lose ownership of this document and become an editor. This cannot be undone without the new owner's help.`,"confirm-label":`Transfer`,"confirming-label":`Transferring...`,"is-deleting":S.value,onConfirm:ie,onCancel:B,"onUpdate:isOpen":r[7]||=e=>{e||B()}},null,8,[`is-open`,`question`,`is-deleting`])]))}}),pf={class:`flex flex-wrap gap-1 items-center`},mf=[`title`],hf={class:`truncate min-w-0`},gf=[`disabled`,`onClick`],_f=[`onKeydown`],vf=`__ROOT_TAG__`,yf=(0,n.defineComponent)({__name:`DocumentTagsSection`,props:{documentId:{},baseTags:{},canWrite:{type:Boolean},isRoot:{type:Boolean}},emits:[`documents-changed`],setup(e,{emit:r}){let i=t.s.forScope(`DocumentTagsSection`),a=e,o=r,s=(0,n.ref)(``),c=(0,n.ref)(!1),l=(0,n.ref)(null),u=(0,n.ref)(!1),d=(0,n.ref)(null),f=(0,n.ref)([]),p=(0,n.ref)(new Set),m=(0,n.ref)([]),h=(0,n.computed)(()=>{let e=new Set([...a.baseTags,...f.value]);for(let t of p.value)e.delete(t);let t=m.value.filter(t=>e.has(t)),n=new Set(t);for(let r of e)n.has(r)||t.push(r);return t});(0,n.watch)(()=>a.baseTags,e=>{if(!e)return;let t=new Set(m.value);for(let n of e)t.has(n)||m.value.push(n);f.value=f.value.filter(t=>!e.includes(t));for(let t of p.value)e.includes(t)||p.value.delete(t);let n=new Set([...e,...f.value]);m.value=m.value.filter(e=>n.has(e))},{deep:!0}),(0,n.watch)(()=>a.documentId,()=>{f.value=[],p.value=new Set,m.value=[]});async function g(){let e=s.value.trim();if(e){s.value=``,f.value.includes(e)||f.value.push(e),m.value.includes(e)||m.value.push(e),c.value=!0;try{await(await t.o.getClientAsync()).documents.addTag(a.documentId,e),o(`documents-changed`),i.debug(`Added tag to document`,{documentId:a.documentId,tag:e})}catch(t){f.value=f.value.filter(t=>t!==e),i.error(`Failed to add tag to document:`,t),U(`Failed to add tag: `+W(t))}finally{c.value=!1}}}function _(e){d.value=e,u.value=!0}function v(){u.value=!1,d.value=null}function y(){d.value&&b(d.value),u.value=!1,d.value=null}async function b(e){p.value.add(e),l.value=e;try{await(await t.o.getClientAsync()).makeRequest(`DELETE`,`/documents/${a.documentId}/tags/${encodeURIComponent(e)}`),o(`documents-changed`),i.debug(`Removed tag from document`,{documentId:a.documentId,tag:e})}catch(t){p.value.delete(e),i.error(`Failed to remove tag from document:`,t),U(`Failed to remove tag: `+W(t))}finally{l.value=null}}return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,null,[r[2]||=(0,n.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Tags `,-1),(0,n.createElementVNode)(`div`,pf,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(h.value,t=>((0,n.openBlock)(),(0,n.createElementBlock)(`span`,{key:t,class:`inline-flex items-center gap-1 px-1.5 py-0.5 text-[10px] bg-muted rounded group max-w-full`,title:t},[(0,n.createElementVNode)(`span`,hf,(0,n.toDisplayString)(t),1),e.canWrite&&!(e.isRoot&&t===vf)?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`opacity-0 group-hover:opacity-100 hover:text-destructive flex-shrink-0`,disabled:l.value===t,onClick:e=>_(t)},` × `,8,gf)):(0,n.createCommentVNode)(``,!0)],8,mf))),128)),e.canWrite&&!e.isRoot?(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createElementBlock)(`input`,{key:0,"onUpdate:modelValue":r[0]||=e=>s.value=e,type:`text`,class:`w-16 px-1.5 py-0.5 text-[10px] bg-transparent border border-dashed border-border rounded focus:outline-none focus:border-ring focus:bg-muted`,placeholder:`+ add tag`,onKeydown:(0,n.withKeys)((0,n.withModifiers)(g,[`prevent`]),[`enter`]),onBlur:g},null,40,_f)),[[n.vModelText,s.value]]):(0,n.createCommentVNode)(``,!0)]),(0,n.createVNode)(Ks,{"is-open":u.value,title:`Remove Tag`,question:`Remove the tag "${d.value}" from this document?`,warning:``,"confirm-label":`Remove`,"confirming-label":`Removing...`,"is-deleting":l.value!==null,onConfirm:y,onCancel:v,"onUpdate:isOpen":r[1]||=e=>{e||v()}},null,8,[`is-open`,`question`,`is-deleting`])]))}}),bf={class:`relative min-h-0`},xf={class:`w-3 h-3 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Sf={key:0,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M15 19l-7-7 7-7`},Cf={key:1,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 5l7 7-7 7`},wf={class:`flex-1 overflow-y-auto scrollbar-thin min-h-0 p-3`},Tf={class:`mb-4`},Ef={class:`flex items-center justify-between`},Df={class:`text-base font-semibold truncate`},Of={key:0,class:`relative`},kf={key:0,"data-devtools-dropdown":``,class:`absolute right-0 top-full mt-1 w-40 bg-background border border-border rounded-md shadow-lg z-50`},Af={class:`py-1`},jf={key:0,class:`border-t border-border my-1`},Mf=[`title`],Nf={class:`text-[10px] text-muted-foreground font-mono group-hover:text-foreground truncate max-w-[180px]`},Pf={key:0,class:`w-3 h-3 text-green-500 flex-shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Ff={key:1,class:`w-3 h-3 text-muted-foreground opacity-0 group-hover:opacity-100 flex-shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},If={class:`space-y-3 mb-4 text-xs`},Lf={class:`flex justify-between`},Rf={class:`flex justify-between`},zf={key:0,class:`flex justify-between`},Bf={class:`mb-4`},Vf={class:`mb-4`},Hf={key:0,class:`mb-4`},Uf={key:1,class:`mb-4`},Wf={key:0,class:`space-y-1.5`},Gf={key:1,class:`space-y-1`},Kf={class:`flex items-center gap-1.5 min-w-0`},qf=[`title`],Jf=[`onClick`],Yf={key:2,class:`text-xs text-muted-foreground italic`},Xf={class:`mb-4`},Zf={key:0,class:`space-y-1`},Qf={key:0,class:`flex justify-between gap-2 text-xs`},$f=[`title`,`onClick`],ep={class:`text-muted-foreground flex-shrink-0 whitespace-nowrap`},tp={key:1,class:`text-xs text-muted-foreground italic`},np={class:`bg-background rounded-lg shadow-xl w-80 p-4`},rp={class:`space-y-3`},ip={class:`flex justify-end gap-2`},ap=[`disabled`],op=(0,n.defineComponent)({__name:`DocumentPropertiesPanel`,props:{document:{},models:{},recordCounts:{}},emits:[`navigate-to-model`,`rename-document`,`delete-document`,`documents-changed`],setup(e,{emit:r}){let i=e,a=r,o=(0,n.computed)(()=>i.document.permission!==`reader`),s=(0,n.ref)(typeof window<`u`?localStorage.getItem(ke)===`true`:!1);(0,n.watch)(s,e=>{typeof window<`u`&&localStorage.setItem(ke,String(e))});let c=(0,n.ref)(!1),l=(0,n.ref)(!1),u=(0,n.ref)(``),d=(0,n.ref)(null);function f(e){if(e.key===`Escape`){if(c.value){c.value=!1,e.stopPropagation();return}l.value=!1}}function p(){l.value||c.value?document.addEventListener(`keydown`,f):document.removeEventListener(`keydown`,f)}(0,n.watch)(l,e=>{p(),e&&(0,n.nextTick)(()=>d.value?.focus())}),(0,n.watch)(c,()=>p()),(0,n.onUnmounted)(()=>{document.removeEventListener(`keydown`,f)});let m=(0,n.ref)(null),h=null;async function g(e){try{await navigator.clipboard.writeText(e)}catch{}m.value=e,h&&clearTimeout(h),h=setTimeout(()=>{m.value=null},1500)}let _=t.s.forScope(`DocumentPropertiesPanel`),v=(0,n.ref)([]),y=(0,n.ref)(!1);async function b(){y.value=!0;try{let e=await t.o.getClientAsync(),n=await e.collections.listCollectionsForDocument(i.document.documentId);v.value=await Promise.all(n.items.map(async t=>{if(t.name)return t;try{let n=await e.collections.get(t.collectionId);return{...t,name:n.name}}catch{return t}}))}catch(e){_.error(`Failed to load collections:`,e),v.value=[]}finally{y.value=!1}}async function x(e){let n=[...v.value];v.value=v.value.filter(t=>t.collectionId!==e);try{await(await t.o.getClientAsync()).collections.removeDocument(e,i.document.documentId)}catch{v.value=n}}(0,n.watch)(()=>i.document.documentId,()=>b(),{immediate:!0});function S(){let e=u.value.trim();e&&(a(`rename-document`,i.document.documentId,e),l.value=!1)}function C(e){if(!e)return`Unknown`;try{return new Date(e).toLocaleDateString(`en-US`,{year:`numeric`,month:`short`,day:`numeric`})}catch{return e}}return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,bf,[(0,n.createElementVNode)(`button`,{class:`absolute -left-5 top-1/2 -translate-y-1/2 w-5 h-10 bg-muted border border-border border-r-0 rounded-l flex items-center justify-center hover:bg-muted/80 z-20`,title:`Toggle properties panel`,onClick:r[0]||=e=>s.value=!s.value},[((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,xf,[s.value?((0,n.openBlock)(),(0,n.createElementBlock)(`path`,Sf)):((0,n.openBlock)(),(0,n.createElementBlock)(`path`,Cf))]))]),(0,n.createElementVNode)(`div`,{class:(0,n.normalizeClass)([`h-full border-l border-border flex flex-col bg-background transition-all duration-200`,s.value?`w-0 overflow-hidden border-l-0`:`w-64 lg:w-72`])},[(0,n.createElementVNode)(`div`,wf,[(0,n.createElementVNode)(`div`,Tf,[(0,n.createElementVNode)(`div`,Ef,[(0,n.createElementVNode)(`h2`,Df,(0,n.toDisplayString)(e.document.title||`Untitled`),1),o.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Of,[(0,n.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded`,onClick:r[1]||=e=>c.value=!c.value},[...r[9]||=[(0,n.createElementVNode)(`svg`,{class:`w-4 h-4 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 5v.01M12 12v.01M12 19v.01M12 6a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2z`})],-1)]]),c.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,kf,[(0,n.createElementVNode)(`div`,Af,[(0,n.createElementVNode)(`button`,{class:`w-full px-3 py-1.5 text-xs text-left hover:bg-muted flex items-center gap-2`,onClick:r[2]||=t=>{c.value=!1,l.value=!0,u.value=e.document?.title||``}},[(0,n.createVNode)((0,n.unref)(As),{class:`w-3.5 h-3.5`}),r[10]||=(0,n.createTextVNode)(` Rename Document `,-1)]),e.document.isRoot?(0,n.createCommentVNode)(``,!0):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,jf)),e.document.isRoot?(0,n.createCommentVNode)(``,!0):((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:1,class:`w-full px-3 py-1.5 text-xs text-left hover:bg-destructive/10 text-destructive flex items-center gap-2`,onClick:r[3]||=t=>{c.value=!1,a(`delete-document`,e.document.documentId)}},[(0,n.createVNode)((0,n.unref)(Is),{class:`w-3.5 h-3.5`}),r[11]||=(0,n.createTextVNode)(` Delete Document `,-1)]))])])):(0,n.createCommentVNode)(``,!0)])):(0,n.createCommentVNode)(``,!0)]),(0,n.createElementVNode)(`button`,{class:`flex items-center gap-1 mt-1 group hover:text-foreground`,title:`Click to copy: ${e.document.documentId}`,onClick:r[4]||=t=>g(e.document.documentId)},[(0,n.createElementVNode)(`code`,Nf,(0,n.toDisplayString)(e.document.documentId),1),m.value===e.document.documentId?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Pf,[...r[12]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Ff,[...r[13]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`},null,-1)]]))],8,Mf)]),(0,n.createElementVNode)(`div`,If,[(0,n.createElementVNode)(`div`,Lf,[r[14]||=(0,n.createElementVNode)(`span`,{class:`text-muted-foreground`},`Created`,-1),(0,n.createElementVNode)(`span`,null,(0,n.toDisplayString)(C(e.document.createdAt||e.document.lastModified)),1)]),(0,n.createElementVNode)(`div`,Rf,[r[15]||=(0,n.createElementVNode)(`span`,{class:`text-muted-foreground`},`Permission`,-1),(0,n.createElementVNode)(`span`,null,(0,n.toDisplayString)((0,n.unref)(td)(e.document.permission)),1)]),e.document.isRoot?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,zf,[...r[16]||=[(0,n.createElementVNode)(`span`,{class:`text-muted-foreground`},`Type`,-1),(0,n.createElementVNode)(`span`,{class:`text-amber-600`},`Root Document`,-1)]])):(0,n.createCommentVNode)(``,!0)]),(0,n.createElementVNode)(`div`,Bf,[(0,n.createVNode)(yf,{"document-id":e.document.documentId,"base-tags":e.document.tags??[],"can-write":o.value,"is-root":e.document.isRoot,onDocumentsChanged:r[5]||=e=>a(`documents-changed`)},null,8,[`document-id`,`base-tags`,`can-write`,`is-root`])]),(0,n.createElementVNode)(`div`,Vf,[(0,n.createVNode)(Fd,{"document-id":e.document.documentId,"can-write":o.value},null,8,[`document-id`,`can-write`])]),e.document.isRoot?(0,n.createCommentVNode)(``,!0):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Hf,[(0,n.createVNode)(ff,{"document-id":e.document.documentId,"can-write":o.value},null,8,[`document-id`,`can-write`])])),e.document.isRoot?(0,n.createCommentVNode)(``,!0):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Uf,[r[20]||=(0,n.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Collections `,-1),y.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Wf,[((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(2,e=>(0,n.createElementVNode)(`div`,{key:e,class:`flex items-center gap-2`},[...r[17]||=[(0,n.createElementVNode)(`div`,{class:`h-3 w-20 bg-muted animate-pulse rounded`},null,-1)]])),64))])):v.value.length>0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Gf,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(v.value,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e.collectionId,class:`flex items-center justify-between gap-2 text-xs group`},[(0,n.createElementVNode)(`div`,Kf,[r[18]||=(0,n.createElementVNode)(`svg`,{class:`w-3 h-3 text-muted-foreground flex-shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10`})],-1),(0,n.createElementVNode)(`span`,{class:`truncate`,title:e.name||e.collectionId},(0,n.toDisplayString)(e.name||e.collectionId),9,qf)]),o.value?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`text-muted-foreground hover:text-destructive opacity-0 group-hover:opacity-100 flex-shrink-0`,title:`Remove from collection`,onClick:t=>x(e.collectionId)},[...r[19]||=[(0,n.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M6 18L18 6M6 6l12 12`})],-1)]],8,Jf)):(0,n.createCommentVNode)(``,!0)]))),128))])):((0,n.openBlock)(),(0,n.createElementBlock)(`p`,Yf,` Not in any collections `))])),(0,n.createElementVNode)(`div`,Xf,[r[21]||=(0,n.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Models `,-1),e.models.some(t=>(e.recordCounts[t.tableName]??0)>0)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Zf,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.models,t=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:t.tableName},[(e.recordCounts[t.tableName]??0)>0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Qf,[(0,n.createElementVNode)(`button`,{class:`hover:text-primary hover:underline text-left truncate min-w-0`,title:t.name,onClick:e=>a(`navigate-to-model`,t.tableName)},(0,n.toDisplayString)(t.name),9,$f),(0,n.createElementVNode)(`span`,ep,(0,n.toDisplayString)(e.recordCounts[t.tableName])+` records `,1)])):(0,n.createCommentVNode)(``,!0)],64))),128))])):((0,n.openBlock)(),(0,n.createElementBlock)(`p`,tp,` No records in this document `))])])],2),l.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,"data-devtools-modal":``,class:`fixed inset-0 bg-black/50 flex items-center justify-center z-50`,onClick:r[8]||=(0,n.withModifiers)(e=>l.value=!1,[`self`])},[(0,n.createElementVNode)(`div`,np,[r[23]||=(0,n.createElementVNode)(`h3`,{class:`text-sm font-semibold mb-3`},`Rename Document`,-1),(0,n.createElementVNode)(`div`,rp,[(0,n.createElementVNode)(`div`,null,[r[22]||=(0,n.createElementVNode)(`label`,{class:`text-xs text-muted-foreground`},`Document Name`,-1),(0,n.withDirectives)((0,n.createElementVNode)(`input`,{ref_key:`renameInputRef`,ref:d,"onUpdate:modelValue":r[6]||=e=>u.value=e,type:`text`,class:`w-full mt-1 px-2 py-1.5 text-xs border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`,onKeydown:(0,n.withKeys)(S,[`enter`])},null,544),[[n.vModelText,u.value]])]),(0,n.createElementVNode)(`div`,ip,[(0,n.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs hover:bg-muted rounded`,onClick:r[7]||=e=>l.value=!1},` Cancel `),(0,n.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90`,disabled:!u.value.trim(),onClick:S},` Rename `,8,ap)])])])])):(0,n.createCommentVNode)(``,!0)]))}});function sp(e,t){function n(n,r){let i=[...e.value],a=e.value.find(e=>e[t]===n),o=e.value.findIndex(e=>e[t]===n);return e.value=e.value.filter(e=>e[t]!==n),r().then(()=>({success:!0})).catch(()=>{if(a&&o>=0){let t=[...e.value];t.splice(o,0,a),e.value=t}else a?e.value=[...e.value,a]:e.value=i;return{success:!1}})}async function r(n,r){let i=[...e.value],a=new Set(n);e.value=e.value.filter(e=>!a.has(e[t]));try{let a=await r(n);if(a.length>0){let n=new Set(a),r=i.filter(e=>n.has(e[t])),o=e.value,s=new Set(o.map(e=>e[t])),c=[];for(let e of i){let i=e[t];(s.has(i)||n.has(i))&&c.push(o.find(e=>e[t]===i)??r.find(e=>e[t]===i)??e)}for(let e of o)c.some(n=>n[t]===e[t])||c.push(e);e.value=c}return{failedIds:a}}catch{return e.value=i,{failedIds:n}}}async function i(n,r,i,a){let o=e.value.find(e=>e[t]===n),s=o?o[r]:void 0;e.value=e.value.map(e=>e[t]===n?{...e,[r]:i}:e);try{return await a(),{success:!0}}catch{return s!==void 0&&(e.value=e.value.map(e=>e[t]===n?{...e,[r]:s}:e)),{success:!1}}}return{optimisticRemove:n,optimisticBulkRemove:r,optimisticFieldUpdate:i}}var cp={class:`bg-background rounded-lg shadow-xl w-80 p-4`},lp={class:`space-y-3`},up=[`disabled`],dp={class:`flex justify-end gap-2`},fp=[`disabled`],pp=[`disabled`],mp={key:0,class:`w-3 h-3 border-2 border-primary-foreground border-t-transparent rounded-full animate-spin`},hp=(0,n.defineComponent)({__name:`CreateDocumentDialog`,props:{open:{type:Boolean},isCreating:{type:Boolean}},emits:[`update:open`,`create`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.ref)(``),o=(0,n.ref)(null),s=()=>{if(r.isCreating)return;let e=a.value.trim();e&&i(`create`,e)},c=()=>{r.isCreating||i(`update:open`,!1)};function l(e){e.key===`Escape`&&!r.isCreating&&c()}return(0,n.watch)(()=>r.open,e=>{e?(document.addEventListener(`keydown`,l),(0,n.nextTick)(()=>o.value?.focus())):(document.removeEventListener(`keydown`,l),a.value=``)}),(0,n.onUnmounted)(()=>{document.removeEventListener(`keydown`,l)}),(t,r)=>e.open?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,"data-devtools-modal":``,class:`fixed inset-0 bg-black/50 flex items-center justify-center z-50`,onClick:(0,n.withModifiers)(c,[`self`])},[(0,n.createElementVNode)(`div`,cp,[r[2]||=(0,n.createElementVNode)(`h3`,{class:`text-sm font-semibold mb-3`},`Create New Document`,-1),(0,n.createElementVNode)(`div`,lp,[(0,n.createElementVNode)(`div`,null,[r[1]||=(0,n.createElementVNode)(`label`,{class:`text-xs text-muted-foreground`},`Document Name`,-1),(0,n.withDirectives)((0,n.createElementVNode)(`input`,{ref_key:`titleInputRef`,ref:o,"onUpdate:modelValue":r[0]||=e=>a.value=e,type:`text`,placeholder:`My Document`,class:`w-full mt-1 px-2 py-1.5 text-xs border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`,disabled:e.isCreating,onKeydown:(0,n.withKeys)(s,[`enter`])},null,40,up),[[n.vModelText,a.value]])]),(0,n.createElementVNode)(`div`,dp,[(0,n.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs hover:bg-muted rounded`,disabled:e.isCreating,onClick:c},` Cancel `,8,fp),(0,n.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90 inline-flex items-center gap-1.5`,disabled:!a.value.trim()||e.isCreating,onClick:s},[e.isCreating?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,mp)):(0,n.createCommentVNode)(``,!0),(0,n.createTextVNode)(` `+(0,n.toDisplayString)(e.isCreating?`Creating...`:`Create`),1)],8,pp)])])])])):(0,n.createCommentVNode)(``,!0)}}),gp=(0,n.defineComponent)({__name:`Label`,props:{for:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,r=(0,i.reactiveOmit)(t,`class`);return(e,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(yn),(0,n.mergeProps)({"data-slot":`label`},(0,n.unref)(r),{class:(0,n.unref)(Q)(`flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,t.class)}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16,[`class`]))}}),_p=(0,n.defineComponent)({__name:`Switch`,props:{defaultValue:{},modelValue:{},disabled:{type:Boolean},id:{},value:{},trueValue:{},falseValue:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:[`update:modelValue`],setup(e,{emit:t}){let r=e,a=t,o=He((0,i.reactiveOmit)(r,`class`),a);return(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Ua),(0,n.mergeProps)({"data-slot":`switch`},(0,n.unref)(o),{class:(0,n.unref)(Q)(`peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50`,r.class)}),{default:(0,n.withCtx)(t=>[(0,n.createVNode)((0,n.unref)(Wa),{"data-slot":`switch-thumb`,class:(0,n.normalizeClass)((0,n.unref)(Q)(`bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0`))},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`thumb`,(0,n.normalizeProps)((0,n.guardReactiveProps)(t)))]),_:2},1032,[`class`])]),_:3},16,[`class`]))}}),vp=(0,n.defineComponent)({__name:`Textarea`,props:{class:{type:[Boolean,null,String,Object,Array]},defaultValue:{},modelValue:{}},emits:[`update:modelValue`],setup(e,{emit:t}){let r=e,a=(0,i.useVModel)(r,`modelValue`,t,{passive:!0,defaultValue:r.defaultValue});return(e,t)=>(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createElementBlock)(`textarea`,{"onUpdate:modelValue":t[0]||=e=>(0,n.isRef)(a)?a.value=e:null,"data-slot":`textarea`,class:(0,n.normalizeClass)((0,n.unref)(Q)(`border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,r.class))},null,2)),[[n.vModelText,(0,n.unref)(a)]])}}),yp={class:`min-h-10 px-3 py-1.5 border-b border-border bg-muted/20 relative flex items-center`},bp={class:`flex items-center gap-2 flex-1`},xp=[`onClick`,`onKeydown`],Sp={class:`text-muted-foreground`},Cp={key:0,class:`font-medium truncate max-w-[120px]`},wp=[`onClick`],Tp={class:`space-y-2`},Ep=[`value`],Dp=[`value`],Op={key:0},kp=[`value`],Ap=[`placeholder`],jp={key:1,class:`text-[9px] text-muted-foreground`},Mp={class:`flex justify-end gap-2 pt-2`},Np=[`disabled`],Pp=(0,n.defineComponent)({__name:`FilterBar`,props:{modelInfo:{},filters:{},loadedData:{},showHiddenFields:{type:Boolean}},emits:[`add-filter`,`remove-filter`,`update-filter`,`clear-all`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.ref)(!1),o=(0,n.ref)(null),s=(0,n.ref)(null),c=(0,n.ref)(null),l=(0,n.ref)(null),u=(0,n.ref)(``),d=(0,n.ref)(`contains`),f=(0,n.ref)(``),p=(0,n.computed)(()=>r.modelInfo?Nu(r.modelInfo,r.loadedData,r.showHiddenFields):[]),m=(0,n.computed)(()=>!r.modelInfo||!u.value?[]:Au(r.modelInfo,u.value)),h=(0,n.computed)(()=>!r.modelInfo||!u.value?`string`:Hu(r.modelInfo,u.value)?.type??`string`),g=(0,n.computed)(()=>d.value===`in`||d.value===`not_in`),_=(0,n.computed)(()=>h.value===`boolean`&&!g.value),v=(0,n.computed)(()=>h.value===`number`&&!g.value),y=()=>{l.value=null;let e=p.value[0]||``;u.value=e,d.value=r.modelInfo&&e?ju(r.modelInfo,e):`contains`,f.value=``};(0,n.watch)(u,e=>{!r.modelInfo||!e||(Au(r.modelInfo,e).includes(d.value)||(d.value=ju(r.modelInfo,e)),(Hu(r.modelInfo,e)?.type??`string`)===`boolean`&&f.value!==`true`&&f.value!==`false`&&(f.value=`true`))}),(0,n.watch)(()=>r.modelInfo,()=>y(),{immediate:!0});let b=()=>{y(),a.value=!0},x=e=>{l.value=e.id,u.value=e.field,d.value=e.mode,f.value=e.value,a.value=!0},S=()=>{a.value=!1,l.value=null},C=()=>{u.value&&(l.value?i(`update-filter`,{id:l.value,field:u.value,mode:d.value,value:f.value}):i(`add-filter`,{field:u.value,mode:d.value,value:f.value}),y(),S())},w=e=>{e.key===`Escape`&&a.value&&S()},T=e=>{if(!a.value)return;let t=e.target,n=o.value?.contains(t),r=s.value?.contains(t),i=c.value?.contains(t);!n&&!r&&!i&&S()};return(0,n.onMounted)(()=>{document.addEventListener(`click`,T),document.addEventListener(`keydown`,w)}),(0,n.onUnmounted)(()=>{document.removeEventListener(`click`,T),document.removeEventListener(`keydown`,w)}),(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,yp,[(0,n.createElementVNode)(`div`,bp,[(0,n.createElementVNode)(`div`,{ref_key:`chipsContainerRef`,ref:c,class:`flex-1 flex items-center gap-1 flex-wrap`},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.filters,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e.id,role:`button`,tabindex:`0`,class:`inline-flex items-center gap-1 px-2 py-1 text-[10px] bg-background border border-border rounded cursor-pointer hover:bg-muted/50 focus:outline-none focus:ring-1 focus:ring-ring`,onClick:t=>x(e),onKeydown:(0,n.withKeys)(t=>x(e),[`enter`])},[(0,n.createElementVNode)(`span`,Sp,(0,n.toDisplayString)(e.field),1),(0,n.createElementVNode)(`span`,null,(0,n.toDisplayString)((0,n.unref)(Du)(e.mode)),1),(0,n.unref)(Eu)(e.mode)?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Cp,`"`+(0,n.toDisplayString)(e.value)+`"`,1)):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`button`,{type:`button`,class:`ml-1 hover:text-destructive shrink-0`,"aria-label":`Remove filter`,onClick:(0,n.withModifiers)(t=>i(`remove-filter`,e.id),[`stop`])},[(0,n.createVNode)((0,n.unref)(Ls),{class:`w-3 h-3`})],8,wp)],40,xp))),128)),(0,n.createElementVNode)(`button`,{ref_key:`addBtnRef`,ref:s,class:`inline-flex items-center gap-1 px-2 py-1 text-[10px] text-muted-foreground hover:text-foreground hover:bg-muted rounded border border-dashed border-border`,onClick:r[0]||=e=>a.value?S():b()},[(0,n.createVNode)((0,n.unref)(Fs),{class:`w-3 h-3`}),r[7]||=(0,n.createTextVNode)(` Add filter `,-1)],512)],512),e.filters.length>0?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`text-[10px] text-muted-foreground hover:text-foreground flex-shrink-0`,onClick:r[1]||=e=>i(`clear-all`)},` Clear all `)):(0,n.createCommentVNode)(``,!0)]),a.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,ref_key:`dropdownRef`,ref:o,"data-devtools-dropdown":``,class:`absolute top-full left-3 mt-1 w-72 bg-background border border-border rounded-md shadow-lg p-3 z-20`},[(0,n.createElementVNode)(`div`,Tp,[(0,n.createElementVNode)(`div`,null,[r[8]||=(0,n.createElementVNode)(`label`,{class:`text-[10px] font-medium text-muted-foreground`},`Field`,-1),(0,n.withDirectives)((0,n.createElementVNode)(`select`,{"onUpdate:modelValue":r[2]||=e=>u.value=e,class:`w-full mt-1 px-2 py-1 text-xs bg-muted border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(p.value,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`option`,{key:e,value:e},(0,n.toDisplayString)(e),9,Ep))),128))],512),[[n.vModelSelect,u.value]])]),(0,n.createElementVNode)(`div`,null,[r[9]||=(0,n.createElementVNode)(`label`,{class:`text-[10px] font-medium text-muted-foreground`},`Operator`,-1),(0,n.withDirectives)((0,n.createElementVNode)(`select`,{"onUpdate:modelValue":r[3]||=e=>d.value=e,class:`w-full mt-1 px-2 py-1 text-xs bg-muted border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(m.value,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`option`,{key:e,value:e},(0,n.toDisplayString)((0,n.unref)(Du)(e)),9,Dp))),128))],512),[[n.vModelSelect,d.value]])]),(0,n.unref)(Eu)(d.value)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Op,[r[11]||=(0,n.createElementVNode)(`label`,{class:`text-[10px] font-medium text-muted-foreground`},`Value`,-1),_.value?(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createElementBlock)(`select`,{key:0,"onUpdate:modelValue":r[4]||=e=>f.value=e,class:`w-full mt-1 px-2 py-1 text-xs bg-muted border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`,onKeyup:(0,n.withKeys)(C,[`enter`])},[...r[10]||=[(0,n.createElementVNode)(`option`,{value:`true`},`true`,-1),(0,n.createElementVNode)(`option`,{value:`false`},`false`,-1)]],544)),[[n.vModelSelect,f.value]]):v.value?((0,n.openBlock)(),(0,n.createElementBlock)(`input`,{key:1,value:f.value,type:`number`,placeholder:`Number...`,class:`w-full mt-1 px-2 py-1 text-xs bg-muted border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`,onInput:r[5]||=e=>f.value=e.target.value,onKeyup:(0,n.withKeys)(C,[`enter`])},null,40,kp)):(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createElementBlock)(`input`,{key:2,"onUpdate:modelValue":r[6]||=e=>f.value=e,type:`text`,placeholder:g.value?`val1, val2, ...`:`Enter value...`,class:`w-full mt-1 px-2 py-1 text-xs bg-muted border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`,onKeyup:(0,n.withKeys)(C,[`enter`])},null,40,Ap)),[[n.vModelText,f.value]])])):(0,n.createCommentVNode)(``,!0),g.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,jp,` Tip: Enter comma-separated values `)):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,Mp,[(0,n.createElementVNode)(`button`,{class:`px-2 py-1 text-[10px] text-muted-foreground hover:text-foreground`,onClick:S},` Cancel `),(0,n.createElementVNode)(`button`,{class:`px-2 py-1 text-[10px] font-medium bg-primary text-primary-foreground rounded disabled:opacity-50`,disabled:!u.value||(0,n.unref)(Eu)(d.value)&&d.value!==`equals`&&d.value!==`not_equals`&&!f.value.trim(),onClick:C},(0,n.toDisplayString)(l.value?`Save`:`Add`),9,Np)])])],512)):(0,n.createCommentVNode)(``,!0)]))}}),Fp={class:`flex items-center gap-2`},Ip={class:`text-xs font-medium`},Lp={class:`flex items-center gap-2 min-w-0 flex-1`},Rp={class:`relative flex items-center gap-1.5 min-w-0`,"data-model-selector":``},zp={class:`truncate`},Bp={key:0,class:`text-[10px] text-muted-foreground font-mono ml-2 truncate hidden lg:inline`},Vp={key:1,"data-devtools-dropdown":``,class:`absolute top-full left-0 mt-1 w-48 bg-background border border-border rounded-lg shadow-lg z-50`},Hp={class:`py-1`},Up=[`onClick`],Wp={class:`font-medium truncate min-w-0`},Gp={class:`text-muted-foreground flex-shrink-0 ml-2`},Kp={class:`flex items-center gap-1 flex-shrink-0 min-w-0 max-w-[50%]`},qp=[`title`],Jp={key:0,class:`truncate`},Yp={key:0,class:`border-b border-border bg-muted/30 max-h-64 overflow-y-auto scrollbar-thin`},Xp={class:`p-3`},Zp={class:`grid grid-cols-4 gap-4 text-xs`},Qp={class:`space-y-1`},$p={class:`truncate min-w-0`},em={class:`text-muted-foreground flex-shrink-0`},tm={key:0,class:`space-y-1.5`},nm={class:`font-medium`},rm={class:`text-[10px] text-blue-600 font-mono`},im={key:1,class:`text-[10px] text-muted-foreground italic`},am={key:0,class:`space-y-1.5`},om={class:`font-medium font-mono`},sm={class:`font-mono text-muted-foreground italic`},cm={class:`font-mono text-muted-foreground`},lm={key:1,class:`text-[10px] text-muted-foreground italic`},um={class:`space-y-3`},dm={key:0,class:`space-y-1`},fm={key:1,class:`text-[10px] text-muted-foreground italic`},pm={key:0,class:`space-y-1`},mm={key:1,class:`text-[10px] text-muted-foreground italic`},hm=(0,n.defineComponent)({__name:`ModelHeader`,props:{currentModel:{},modelName:{},models:{},modelCounts:{},canWrite:{type:Boolean},selectedCount:{}},emits:[`switch-model`,`open-create`,`clear-selection`,`open-bulk-delete`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.ref)(!1),o=(0,n.ref)(!1),s=(0,n.ref)(null),c=(0,n.ref)(!1),l=null,u=e=>{a.value=!1,i(`switch-model`,e)},d=e=>{a.value&&(e.target.closest(`[data-model-selector]`)||(a.value=!1))},f=e=>{e.key===`Escape`&&a.value&&(a.value=!1)},p=e=>{if(!e?.modelClass)return{instanceMethods:[],staticMethods:[],getters:[]};let t=e.modelClass,n=new Set([`constructor`,`save`,`delete`,`update`,`reload`,`toJSON`,`toString`,`valueOf`,`hasOwnProperty`,`isPrototypeOf`,`propertyIsEnumerable`,`toLocaleString`,`__defineGetter__`,`__defineSetter__`,`__lookupGetter__`,`__lookupSetter__`,`_initStringSet`,`_getStringSet`,`_buildQuery`,`_buildUpdate`,...e.fields]),r=[],i=[],a=t.prototype,o=Object.getOwnPropertyDescriptors(a);for(let[e,t]of Object.entries(o))if(!(n.has(e)||e.startsWith(`_`))){if(t.get&&!t.set)i.push({name:e,type:`getter`,signature:`get ${e}`});else if(typeof t.value==`function`&&e!==`constructor`){let n=t.value.toString().match(/\(([^)]*)\)/),i=n?n[1]:``;r.push({name:e,type:`method`,signature:`${e}(${i})`})}}let s=[],c=Object.getOwnPropertyDescriptors(t),l=new Set(`length.name.prototype.find.findOne.all.where.count.first.last.create.update.delete.deleteAll.query.tableName.schema.modelName._schema._tableName._fields._relationships._options.caller.callee.arguments`.split(`.`));for(let[e,t]of Object.entries(c))if(!(l.has(e)||e.startsWith(`_`))&&typeof t.value==`function`){let n=t.value.toString().match(/\(([^)]*)\)/),r=n?n[1]:``;s.push({name:e,type:`static-method`,signature:`static ${e}(${r})`})}return{instanceMethods:r.sort((e,t)=>e.name.localeCompare(t.name)),staticMethods:s.sort((e,t)=>e.name.localeCompare(t.name)),getters:i.sort((e,t)=>e.name.localeCompare(t.name))}},m=(0,n.computed)(()=>p(r.currentModel??null)),h=(0,n.computed)(()=>{let e=m.value;return e.instanceMethods.length>0||e.staticMethods.length>0||e.getters.length>0}),g=(0,n.computed)(()=>{if(!r.currentModel)return[];let e=[];for(let[t,n]of r.currentModel.fieldInfo.entries())n.schema?.indexed&&e.push(t);return e.sort()});return(0,n.onMounted)(()=>{document.addEventListener(`click`,d),document.addEventListener(`keydown`,f),s.value&&(l=new ResizeObserver(e=>{for(let t of e)c.value=t.contentRect.width<400}),l.observe(s.value))}),(0,n.onUnmounted)(()=>{document.removeEventListener(`click`,d),document.removeEventListener(`keydown`,f),l?.disconnect()}),(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,[(0,n.createElementVNode)(`div`,{ref_key:`headerRef`,ref:s,class:`flex-shrink-0 h-10 flex items-center justify-between px-3 border-b border-border relative`},[e.selectedCount>0&&e.canWrite?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[(0,n.createElementVNode)(`div`,Fp,[(0,n.createElementVNode)(`span`,Ip,(0,n.toDisplayString)(e.selectedCount)+` selected `,1),(0,n.createElementVNode)(`button`,{class:`text-[10px] text-muted-foreground hover:text-foreground`,onClick:r[0]||=e=>i(`clear-selection`)},` Clear `)]),(0,n.createElementVNode)(`button`,{class:`px-2 py-1 text-xs text-destructive hover:bg-destructive/10 rounded flex items-center gap-1`,onClick:r[1]||=e=>i(`open-bulk-delete`)},[(0,n.createVNode)((0,n.unref)(Is),{class:`w-3.5 h-3.5`}),r[5]||=(0,n.createTextVNode)(` Delete `,-1)])],64)):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[(0,n.createElementVNode)(`div`,Lp,[(0,n.createElementVNode)(`div`,Rp,[(0,n.createElementVNode)(`button`,{class:`flex items-center gap-1.5 px-2 py-1 text-sm font-medium hover:bg-muted rounded min-w-0`,onClick:r[2]||=e=>a.value=!a.value},[(0,n.createElementVNode)(`span`,zp,(0,n.toDisplayString)(e.currentModel?.name||e.modelName)+` model `,1),r[6]||=(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5 text-muted-foreground flex-shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 9l-7 7-7-7`})],-1)]),e.currentModel?.sourcePath?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Bp,(0,n.toDisplayString)(e.currentModel.sourcePath),1)):(0,n.createCommentVNode)(``,!0),a.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Vp,[(0,n.createElementVNode)(`div`,Hp,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.models,t=>((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:t.tableName,class:(0,n.normalizeClass)([`w-full flex items-center justify-between px-3 py-1.5 text-xs text-left hover:bg-muted`,t.tableName===e.modelName?`bg-primary/5`:``]),onClick:e=>u(t.tableName)},[(0,n.createElementVNode)(`span`,Wp,(0,n.toDisplayString)(t.name)+` model `,1),(0,n.createElementVNode)(`span`,Gp,(0,n.toDisplayString)(e.modelCounts[t.tableName]??`...`),1)],10,Up))),128))])])):(0,n.createCommentVNode)(``,!0)]),(0,n.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded text-muted-foreground`,title:`Show model properties`,onClick:r[3]||=e=>o.value=!o.value},[...r[7]||=[(0,n.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z`})],-1)]])]),(0,n.createElementVNode)(`div`,Kp,[e.canWrite?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:(0,n.normalizeClass)([`ml-1 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90 flex items-center min-w-0`,c.value?`p-1.5`:`px-2 py-1 gap-1`]),title:`New ${e.currentModel?.name||e.modelName}`,onClick:r[4]||=e=>i(`open-create`)},[r[8]||=(0,n.createElementVNode)(`svg`,{class:`w-3 h-3 flex-shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 4v16m8-8H4`})],-1),c.value?(0,n.createCommentVNode)(``,!0):((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Jp,` New `+(0,n.toDisplayString)(e.currentModel?.name||e.modelName),1))],10,qp)):(0,n.createCommentVNode)(``,!0)])],64))],512),o.value&&e.currentModel?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Yp,[(0,n.createElementVNode)(`div`,Xp,[(0,n.createElementVNode)(`div`,Zp,[(0,n.createElementVNode)(`div`,null,[r[9]||=(0,n.createElementVNode)(`h4`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Schema `,-1),(0,n.createElementVNode)(`div`,Qp,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.currentModel.fields.filter(e=>e!==`id`&&!e.startsWith(`_`)),t=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:t,class:`flex justify-between gap-2`},[(0,n.createElementVNode)(`span`,$p,(0,n.toDisplayString)(t),1),(0,n.createElementVNode)(`span`,em,(0,n.toDisplayString)((0,n.unref)(Hu)(e.currentModel,t)?.type||`string`),1)]))),128))])]),(0,n.createElementVNode)(`div`,null,[r[10]||=(0,n.createElementVNode)(`h4`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Relationships `,-1),e.currentModel.relationships&&Object.keys(e.currentModel.relationships).length>0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,tm,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.currentModel.relationships,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:t,class:`flex items-center justify-between`},[(0,n.createElementVNode)(`span`,nm,(0,n.toDisplayString)(t),1),(0,n.createElementVNode)(`span`,rm,(0,n.toDisplayString)(e.type===`hasMany`?`←`:`→`)+` `+(0,n.toDisplayString)(e.model)+(0,n.toDisplayString)(e.type===`hasMany`?`[]`:``),1)]))),128))])):((0,n.openBlock)(),(0,n.createElementBlock)(`span`,im,` None `))]),(0,n.createElementVNode)(`div`,null,[r[11]||=(0,n.createElementVNode)(`h4`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Methods `,-1),h.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,am,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(m.value.instanceMethods,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e.name},[(0,n.createElementVNode)(`span`,om,(0,n.toDisplayString)(e.signature),1)]))),128)),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(m.value.getters,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e.name},[(0,n.createElementVNode)(`span`,sm,(0,n.toDisplayString)(e.signature),1)]))),128)),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(m.value.staticMethods,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e.name},[(0,n.createElementVNode)(`span`,cm,(0,n.toDisplayString)(e.signature),1)]))),128))])):((0,n.openBlock)(),(0,n.createElementBlock)(`span`,lm,` None `))]),(0,n.createElementVNode)(`div`,um,[(0,n.createElementVNode)(`div`,null,[r[12]||=(0,n.createElementVNode)(`h4`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Indexes `,-1),g.value.length>0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,dm,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(g.value,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e,class:`px-2 py-1 bg-muted rounded font-mono text-[10px]`},(0,n.toDisplayString)(e),1))),128))])):((0,n.openBlock)(),(0,n.createElementBlock)(`span`,fm,` None `))]),(0,n.createElementVNode)(`div`,null,[r[13]||=(0,n.createElementVNode)(`h4`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Unique Constraints `,-1),e.currentModel.uniqueConstraints&&e.currentModel.uniqueConstraints.length>0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,pm,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.currentModel.uniqueConstraints,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e.name,class:`px-2 py-1 bg-muted rounded font-mono text-[10px]`},(0,n.toDisplayString)(e.fields.join(`, `)),1))),128))])):((0,n.openBlock)(),(0,n.createElementBlock)(`span`,mm,` None `))])])])])])):(0,n.createCommentVNode)(``,!0)],64))}}),gm={class:`flex items-center gap-1.5 min-w-0`},_m={class:`text-muted-foreground text-[10px] tabular-nums whitespace-nowrap`},vm=[`value`],ym=[`value`],bm={class:`flex items-center gap-0.5`},xm=[`disabled`],Sm={class:`text-[10px] px-1 tabular-nums`},Cm={class:`text-muted-foreground`},wm=[`disabled`],Tm={class:`flex items-center gap-2`},Em={class:`text-muted-foreground`},Dm=[`value`],Om=[`value`],km={class:`flex items-center gap-1`},Am=[`disabled`],jm=[`onClick`],Mm=[`disabled`],Nm=(0,n.defineComponent)({__name:`ModelPaginationBar`,props:{currentPage:{},totalCount:{},pageSize:{},totalPages:{}},emits:[`go-to-page`,`change-page-size`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.ref)(null),o=(0,n.ref)(!1),s=null;(0,n.onMounted)(()=>{a.value&&(s=new ResizeObserver(e=>{for(let t of e)o.value=t.contentRect.width<480}),s.observe(a.value))}),(0,n.onUnmounted)(()=>{s?.disconnect()});let c=(0,n.computed)(()=>{let e=r.totalPages,t=r.currentPage,n=[];if(e<=5)for(let t=1;t<=e;t++)n.push(t);else{let r=Math.max(1,t-2),i=Math.min(e,r+5-1);i-r<4&&(r=Math.max(1,i-5+1));for(let e=r;e<=i;e++)n.push(e)}return n});return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{ref_key:`barRef`,ref:a,class:(0,n.normalizeClass)([`flex-shrink-0 flex items-center justify-between py-2 border-t border-border bg-muted/20 text-xs`,o.value?`pl-2 pr-16 gap-2`:`pl-3 pr-16`])},[o.value?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[(0,n.createElementVNode)(`div`,gm,[(0,n.createElementVNode)(`span`,_m,(0,n.toDisplayString)(e.totalCount===0?0:(e.currentPage-1)*e.pageSize+1)+`–`+(0,n.toDisplayString)(Math.min(e.currentPage*e.pageSize,e.totalCount))+` / `+(0,n.toDisplayString)(e.totalCount),1),(0,n.createElementVNode)(`select`,{class:`px-1 py-0.5 text-[10px] bg-background border border-border rounded`,value:e.pageSize,onChange:r[0]||=e=>i(`change-page-size`,Number(e.target.value))},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)((0,n.unref)(zu),e=>((0,n.openBlock)(),(0,n.createElementBlock)(`option`,{key:e,value:e},(0,n.toDisplayString)(e),9,ym))),128))],40,vm)]),(0,n.createElementVNode)(`div`,bm,[(0,n.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded disabled:opacity-30`,disabled:e.currentPage<=1,title:`Previous page`,onClick:r[1]||=t=>i(`go-to-page`,e.currentPage-1)},[...r[6]||=[(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M15 19l-7-7 7-7`})],-1)]],8,xm),(0,n.createElementVNode)(`span`,Sm,[(0,n.createTextVNode)((0,n.toDisplayString)(e.currentPage),1),(0,n.createElementVNode)(`span`,Cm,`/`+(0,n.toDisplayString)(e.totalPages),1)]),(0,n.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded disabled:opacity-30`,disabled:e.currentPage>=e.totalPages,title:`Next page`,onClick:r[2]||=t=>i(`go-to-page`,e.currentPage+1)},[...r[7]||=[(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 5l7 7-7 7`})],-1)]],8,wm)])],64)):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[(0,n.createElementVNode)(`div`,Tm,[(0,n.createElementVNode)(`span`,Em,` Showing `+(0,n.toDisplayString)(e.totalCount===0?0:(e.currentPage-1)*e.pageSize+1)+`-`+(0,n.toDisplayString)(Math.min(e.currentPage*e.pageSize,e.totalCount))+` of `+(0,n.toDisplayString)(e.totalCount),1),(0,n.createElementVNode)(`select`,{class:`px-1 py-0.5 text-[10px] bg-background border border-border rounded`,value:e.pageSize,onChange:r[3]||=e=>i(`change-page-size`,Number(e.target.value))},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)((0,n.unref)(zu),e=>((0,n.openBlock)(),(0,n.createElementBlock)(`option`,{key:e,value:e},(0,n.toDisplayString)(e),9,Om))),128))],40,Dm),r[8]||=(0,n.createElementVNode)(`span`,{class:`text-muted-foreground`},`per page`,-1)]),(0,n.createElementVNode)(`div`,km,[(0,n.createElementVNode)(`button`,{class:`px-2 py-1 hover:bg-muted rounded disabled:opacity-50`,disabled:e.currentPage<=1,onClick:r[4]||=t=>i(`go-to-page`,e.currentPage-1)},` Previous `,8,Am),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(c.value,t=>((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:t,class:(0,n.normalizeClass)([`px-2 py-1 rounded`,t===e.currentPage?`bg-primary text-primary-foreground`:`hover:bg-muted`]),onClick:e=>i(`go-to-page`,t)},(0,n.toDisplayString)(t),11,jm))),128)),(0,n.createElementVNode)(`button`,{class:`px-2 py-1 hover:bg-muted rounded disabled:opacity-50`,disabled:e.currentPage>=e.totalPages,onClick:r[5]||=t=>i(`go-to-page`,e.currentPage+1)},` Next `,8,Mm)])],64))],2))}}),Pm=(0,n.defineComponent)({__name:`Input`,props:{defaultValue:{},modelValue:{},class:{type:[Boolean,null,String,Object,Array]}},emits:[`update:modelValue`],setup(e,{emit:t}){let r=e,a=(0,i.useVModel)(r,`modelValue`,t,{passive:!0,defaultValue:r.defaultValue});return(e,t)=>(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createElementBlock)(`input`,{"onUpdate:modelValue":t[0]||=e=>(0,n.isRef)(a)?a.value=e:null,"data-slot":`input`,class:(0,n.normalizeClass)((0,n.unref)(Q)(`file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,r.class))},null,2)),[[n.vModelText,(0,n.unref)(a)]])}}),Fm=(0,n.defineComponent)({__name:`Select`,props:{open:{type:Boolean},defaultOpen:{type:Boolean},defaultValue:{},modelValue:{},nullableValue:{},by:{type:[String,Function]},dir:{},multiple:{type:Boolean},autocomplete:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:open`],setup(e,{emit:t}){let r=He(e,t);return(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Vn),(0,n.mergeProps)({"data-slot":`select`},(0,n.unref)(r)),{default:(0,n.withCtx)(t=>[(0,n.renderSlot)(e.$slots,`default`,(0,n.normalizeProps)((0,n.guardReactiveProps)(t)))]),_:3},16))}}),Im=(0,n.defineComponent)({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean},position:{default:`popper`},bodyLock:{type:Boolean},memoDependencies:{},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:{},dir:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let r=e,a=t,o=He((0,i.reactiveOmit)(r,`class`),a);return(t,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(ka),null,{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Sa),(0,n.mergeProps)({"data-slot":`select-content`},{...t.$attrs,...(0,n.unref)(o)},{class:(0,n.unref)(Q)(`bg-popover text-popover-foreground 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]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--reka-select-content-available-height) min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-md border shadow-md`,e.position===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,r.class)}),{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Bm)),(0,n.createVNode)((0,n.unref)(La),{class:(0,n.normalizeClass)((0,n.unref)(Q)(`p-1`,e.position===`popper`&&`h-[var(--reka-select-trigger-height)] w-full min-w-[var(--reka-select-trigger-width)] scroll-my-1`))},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(t.$slots,`default`)]),_:3},8,[`class`]),(0,n.createVNode)((0,n.unref)(zm))]),_:3},16,[`class`])]),_:3}))}}),Lm={class:`absolute right-2 flex size-3.5 items-center justify-center`},Rm=(0,n.defineComponent)({__name:`SelectItem`,props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,r=Be((0,i.reactiveOmit)(t,`class`));return(e,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Ea),(0,n.mergeProps)({"data-slot":`select-item`},(0,n.unref)(r),{class:(0,n.unref)(Q)(`focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,t.class)}),{default:(0,n.withCtx)(()=>[(0,n.createElementVNode)(`span`,Lm,[(0,n.createVNode)((0,n.unref)(Da),null,{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`indicator-icon`,{},()=>[(0,n.createVNode)((0,n.unref)(js),{class:`size-4`})])]),_:3})]),(0,n.createVNode)((0,n.unref)(Oa),null,{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3})]),_:3},16,[`class`]))}}),zm=(0,n.defineComponent)({__name:`SelectScrollDownButton`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,r=Be((0,i.reactiveOmit)(t,`class`));return(e,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(ja),(0,n.mergeProps)({"data-slot":`select-scroll-down-button`},(0,n.unref)(r),{class:(0,n.unref)(Q)(`flex cursor-default items-center justify-center py-1`,t.class)}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`,{},()=>[(0,n.createVNode)((0,n.unref)(Ms),{class:`size-4`})])]),_:3},16,[`class`]))}}),Bm=(0,n.defineComponent)({__name:`SelectScrollUpButton`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,r=Be((0,i.reactiveOmit)(t,`class`));return(e,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Ma),(0,n.mergeProps)({"data-slot":`select-scroll-up-button`},(0,n.unref)(r),{class:(0,n.unref)(Q)(`flex cursor-default items-center justify-center py-1`,t.class)}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`,{},()=>[(0,n.createVNode)((0,n.unref)(Ns),{class:`size-4`})])]),_:3},16,[`class`]))}}),Vm=(0,n.defineComponent)({__name:`SelectTrigger`,props:{disabled:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},size:{default:`default`}},setup(e){let t=e,r=Be((0,i.reactiveOmit)(t,`class`,`size`));return(i,a)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Pa),(0,n.mergeProps)({"data-slot":`select-trigger`,"data-size":e.size},(0,n.unref)(r),{class:(0,n.unref)(Q)(`border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,t.class)}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(i.$slots,`default`),(0,n.createVNode)((0,n.unref)(Ca),{"as-child":``},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Ms),{class:`size-4 opacity-50`})]),_:1})]),_:3},16,[`data-size`,`class`]))}}),Hm=(0,n.defineComponent)({__name:`SelectValue`,props:{placeholder:{},asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,r)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Fa),(0,n.mergeProps)({"data-slot":`select-value`},t),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16))}}),Um=[`title`,`onClick`],Wm={class:`text-xs font-mono truncate`},Gm={key:0,class:`w-3 h-3 flex-shrink-0 text-green-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Km={key:1,class:`w-3 h-3 flex-shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},qm=[`for`,`title`],Jm={key:0,class:`opacity-50`},Ym={key:0,class:`space-y-1.5 mt-1`},Xm={key:0,class:`flex gap-1`},Zm={key:0,class:`text-muted-foreground ml-2`},Qm={class:`text-[10px] text-muted-foreground`},$m={key:1,class:`mt-1 space-y-1.5`},eh={class:`flex flex-wrap gap-1`},th=[`onClick`],nh={key:0,class:`text-xs text-muted-foreground`},rh={class:`flex gap-1`},ih={key:2,class:`mt-1 space-y-1`},ah=[`id`,`value`,`onChange`],oh={key:0,class:`text-[10px] text-destructive`},sh={key:1,class:`text-[10px] text-muted-foreground`},ch={class:`flex items-center gap-1`},lh=[`onClick`],uh=[`onClick`],dh={key:3,class:`mt-1 flex items-center gap-2`},fh=[`id`,`checked`,`onChange`],ph={class:`text-xs text-muted-foreground`},mh=(0,n.defineComponent)({__name:`RecordFormFields`,props:{modelInfo:{},formData:{},fields:{},excludeId:{type:Boolean,default:!1},relatedModelData:{},customIdFields:{},copiedId:{default:null},idPrefix:{default:`field`}},emits:[`update-field`,`copy-id`,`toggle-custom-id`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.ref)({}),o=(0,n.ref)(new Set);function s(e){let t=new Set(o.value);t.has(e)?t.delete(e):t.add(e),o.value=t}function c(e){if(!e)return!0;let t=new Date(e);return!isNaN(t.getTime())}let l=(0,n.computed)(()=>{let e={};for(let t of o.value){let n=r.formData[t];e[t]=c(n==null?``:String(n))}return e});function u(e,t){i(`update-field`,e,t)}function d(e){let t=a.value[e]?.trim();if(!t)return;let n=r.formData[e]||[];n.includes(t)||i(`update-field`,e,[...n,t]),a.value[e]=``}function f(e,t){i(`update-field`,e,(r.formData[e]||[]).filter(e=>e!==t))}function p(e){if(!e)return``;try{let t=new Date(String(e));return isNaN(t.getTime())?``:`${t.getFullYear().toString().padStart(4,`0`)}-${(t.getMonth()+1).toString().padStart(2,`0`)}-${t.getDate().toString().padStart(2,`0`)}`}catch{return``}}function m(e){if(!e)return``;try{let[t,n,r]=e.split(`-`).map(Number),i=new Date(0);return i.setFullYear(t,n-1,r),i.setHours(0,0,0,0),isNaN(i.getTime())?``:i.toISOString()}catch{return``}}return(t,r)=>((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.excludeId?e.fields.filter(e=>e!==`id`):e.fields,t=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:t,class:`min-w-0`},[t===`id`&&!e.excludeId?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[r[2]||=(0,n.createElementVNode)(`label`,{class:`text-xs text-muted-foreground`},`id`,-1),(0,n.createElementVNode)(`button`,{class:`mt-1 flex items-center gap-1 min-w-0 p-0.5 -ml-0.5 hover:bg-muted rounded text-muted-foreground cursor-pointer`,title:`Click to copy: ${e.formData[t]}`,onClick:n=>i(`copy-id`,String(e.formData[t]))},[(0,n.createElementVNode)(`code`,Wm,(0,n.toDisplayString)(e.formData[t]),1),e.copiedId===String(e.formData[t])?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Gm,[...r[0]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Km,[...r[1]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`},null,-1)]]))],8,Um)],64)):t!==`id`||!e.excludeId?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[(0,n.createElementVNode)(`label`,{for:`${e.idPrefix}-${t}`,class:`text-xs text-muted-foreground block truncate`,title:t},[(0,n.createTextVNode)((0,n.toDisplayString)(t)+` `,1),t.startsWith(`_`)?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Jm,`(hidden)`)):(0,n.createCommentVNode)(``,!0)],8,qm),(0,n.unref)(Pu)(e.modelInfo,t)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Ym,[e.customIdFields.has(t)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Xm,[(0,n.createVNode)((0,n.unref)(Pm),{id:`${e.idPrefix}-${t}`,"model-value":e.formData[t]||``,placeholder:`Enter new ID...`,class:`h-8 text-xs flex-1`,"onUpdate:modelValue":e=>u(t,e)},null,8,[`id`,`model-value`,`onUpdate:modelValue`]),(0,n.createVNode)((0,n.unref)(gs),{type:`button`,variant:`ghost`,size:`sm`,class:`h-8 w-8 p-0`,title:`Back to dropdown`,onClick:e=>i(`toggle-custom-id`,t,!1)},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Ls),{class:`h-3 w-3`})]),_:1},8,[`onClick`])])):((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Fm),{key:1,"model-value":e.formData[t]||``,"onUpdate:modelValue":e=>{e===`__custom_id__`?(i(`toggle-custom-id`,t,!0),u(t,``)):e===`__null__`?u(t,null):u(t,e)}},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Vm),{id:`${e.idPrefix}-${t}`,class:`h-8 text-xs`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Hm),{placeholder:`Select a record...`})]),_:1},8,[`id`]),(0,n.createVNode)((0,n.unref)(Im),null,{default:(0,n.withCtx)(()=>[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.relatedModelData[(0,n.unref)(Pu)(e.modelInfo,t)?.relatedModel??``]||[],e=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Rm),{key:e.id,value:e.id},{default:(0,n.withCtx)(()=>[(0,n.createTextVNode)((0,n.toDisplayString)(e.id)+` `,1),e.name||e.title?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Zm,` (`+(0,n.toDisplayString)(e.name||e.title)+`) `,1)):(0,n.createCommentVNode)(``,!0)]),_:2},1032,[`value`]))),128)),(0,n.createVNode)((0,n.unref)(Rm),{value:`__custom_id__`,class:`text-primary`},{default:(0,n.withCtx)(()=>[...r[3]||=[(0,n.createTextVNode)(` + Add new ID `,-1)]]),_:1}),e.formData[t]?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Rm),{key:0,value:`__null__`,class:`text-destructive`},{default:(0,n.withCtx)(()=>[...r[4]||=[(0,n.createTextVNode)(` Set null `,-1)]]),_:1})):(0,n.createCommentVNode)(``,!0)]),_:2},1024)]),_:2},1032,[`model-value`,`onUpdate:modelValue`])),(0,n.createElementVNode)(`div`,Qm,` → `+(0,n.toDisplayString)((0,n.unref)(Pu)(e.modelInfo,t)?.relatedModel),1)])):(0,n.unref)(Uu)(e.modelInfo,t)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,$m,[(0,n.createElementVNode)(`div`,eh,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.formData[t]||[],e=>((0,n.openBlock)(),(0,n.createElementBlock)(`span`,{key:e,class:`inline-flex items-center gap-1 px-2 py-0.5 text-xs bg-muted rounded`},[(0,n.createTextVNode)((0,n.toDisplayString)(e)+` `,1),(0,n.createElementVNode)(`button`,{type:`button`,class:`hover:text-destructive`,onClick:n=>f(t,e)},[(0,n.createVNode)((0,n.unref)(Ls),{class:`h-3 w-3`})],8,th)]))),128)),!e.formData[t]||e.formData[t].length===0?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,nh,` No items `)):(0,n.createCommentVNode)(``,!0)]),(0,n.createElementVNode)(`div`,rh,[(0,n.createVNode)((0,n.unref)(Pm),{id:`${e.idPrefix}-stringset-${t}`,modelValue:a.value[t],"onUpdate:modelValue":e=>a.value[t]=e,placeholder:`Add item...`,class:`flex-1 h-8 text-xs`,onKeyup:(0,n.withKeys)(e=>d(t),[`enter`])},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`onKeyup`]),(0,n.createVNode)((0,n.unref)(gs),{type:`button`,variant:`outline`,size:`sm`,class:`h-8 px-2 text-xs`,onClick:e=>d(t)},{default:(0,n.withCtx)(()=>[...r[5]||=[(0,n.createTextVNode)(` Add `,-1)]]),_:1},8,[`onClick`])])])):(0,n.unref)(Wu)(e.modelInfo,t)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,ih,[o.value.has(t)?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[(0,n.createVNode)((0,n.unref)(Pm),{id:`${e.idPrefix}-${t}`,"model-value":String(e.formData[t]??``),placeholder:`e.g. 2024-01-15T00:00:00.000Z`,class:(0,n.normalizeClass)([`h-8 text-xs font-mono`,{"border-destructive focus-visible:ring-destructive/50":e.formData[t]&&!l.value[t]}]),"onUpdate:modelValue":e=>u(t,e||void 0)},null,8,[`id`,`model-value`,`class`,`onUpdate:modelValue`]),e.formData[t]&&!l.value[t]?((0,n.openBlock)(),(0,n.createElementBlock)(`p`,oh,` Invalid date — use ISO 8601 format `)):e.formData[t]&&l.value[t]?((0,n.openBlock)(),(0,n.createElementBlock)(`p`,sh,(0,n.toDisplayString)(new Date(e.formData[t]).toLocaleDateString(void 0,{weekday:`short`,year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})),1)):(0,n.createCommentVNode)(``,!0)],64)):((0,n.openBlock)(),(0,n.createElementBlock)(`input`,{key:0,id:`${e.idPrefix}-${t}`,type:`date`,value:p(e.formData[t]),class:`flex h-8 w-full rounded-md border border-input bg-transparent px-3 py-1 text-xs shadow-xs transition-colors focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:border-ring`,onChange:e=>u(t,m(e.target.value)||void 0)},null,40,ah)),(0,n.createElementVNode)(`div`,ch,[(0,n.createElementVNode)(`button`,{type:`button`,class:(0,n.normalizeClass)([`text-[10px] px-1.5 py-0.5 rounded font-medium transition-colors`,o.value.has(t)?`text-muted-foreground hover:text-foreground hover:bg-muted`:`bg-primary text-primary-foreground`]),onClick:()=>{o.value.has(t)&&s(t)}},` Picker `,10,lh),(0,n.createElementVNode)(`button`,{type:`button`,class:(0,n.normalizeClass)([`text-[10px] px-1.5 py-0.5 rounded font-medium transition-colors`,o.value.has(t)?`bg-primary text-primary-foreground`:`text-muted-foreground hover:text-foreground hover:bg-muted`]),onClick:()=>{o.value.has(t)||s(t)}},` ISO `,10,uh)])])):(0,n.unref)(Ku)(e.modelInfo,t)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,dh,[(0,n.createElementVNode)(`input`,{id:`${e.idPrefix}-${t}`,type:`checkbox`,class:`w-4 h-4 rounded border-border`,checked:!!e.formData[t],onChange:e=>u(t,e.target.checked)},null,40,fh),(0,n.createElementVNode)(`span`,ph,(0,n.toDisplayString)(e.formData[t]?`Yes`:`No`),1)])):(0,n.unref)(Gu)(e.modelInfo,t)?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Pm),{key:4,id:`${e.idPrefix}-${t}`,type:`number`,"model-value":String(e.formData[t]??``),class:`mt-1 h-8 text-xs`,"onUpdate:modelValue":e=>u(t,e===``?void 0:Number(e))},null,8,[`id`,`model-value`,`onUpdate:modelValue`])):(0,n.unref)(Fu)(e.formData[t])||(0,n.unref)(Mu)(e.formData[t])===`textarea`?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(vp),{key:5,id:`${e.idPrefix}-${t}`,"model-value":typeof e.formData[t]==`object`?(0,n.unref)(wu)(e.formData[t],2):String(e.formData[t]??``),rows:`4`,class:`mt-1 font-mono text-xs resize-vertical`,"onUpdate:modelValue":e=>u(t,e)},null,8,[`id`,`model-value`,`onUpdate:modelValue`])):((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(vp),{key:6,id:`${e.idPrefix}-${t}`,"model-value":String(e.formData[t]??``),rows:`1`,class:`mt-1 text-xs min-h-[2rem] resize-vertical`,"onUpdate:modelValue":e=>u(t,e)},null,8,[`id`,`model-value`,`onUpdate:modelValue`]))],64)):(0,n.createCommentVNode)(``,!0)]))),128))}}),hh=(0,n.defineComponent)({__name:`Table`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`table`,{"data-slot":`table`,class:(0,n.normalizeClass)((0,n.unref)(Q)(`w-full caption-bottom text-sm`,t.class))},[(0,n.renderSlot)(e.$slots,`default`)],2))}}),gh=(0,n.defineComponent)({__name:`TableBody`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`tbody`,{"data-slot":`table-body`,class:(0,n.normalizeClass)((0,n.unref)(Q)(`[&_tr:last-child]:border-0`,t.class))},[(0,n.renderSlot)(e.$slots,`default`)],2))}}),_h=(0,n.defineComponent)({__name:`TableCell`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`td`,{"data-slot":`table-cell`,class:(0,n.normalizeClass)((0,n.unref)(Q)(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,t.class))},[(0,n.renderSlot)(e.$slots,`default`)],2))}}),vh=(0,n.defineComponent)({__name:`TableRow`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`tr`,{"data-slot":`table-row`,class:(0,n.normalizeClass)((0,n.unref)(Q)(`hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors`,t.class))},[(0,n.renderSlot)(e.$slots,`default`)],2))}}),yh=(0,n.defineComponent)({__name:`TableHead`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`th`,{"data-slot":`table-head`,class:(0,n.normalizeClass)((0,n.unref)(Q)(`text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,t.class))},[(0,n.renderSlot)(e.$slots,`default`)],2))}}),bh=(0,n.defineComponent)({__name:`TableHeader`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`thead`,{"data-slot":`table-header`,class:(0,n.normalizeClass)((0,n.unref)(Q)(`[&_tr]:border-b`,t.class))},[(0,n.renderSlot)(e.$slots,`default`)],2))}}),xh={class:`flex-1 relative min-h-[200px]`},Sh=[`checked`,`indeterminate`],Ch=[`title`,`onClick`],wh={class:`truncate`},Th={key:0,class:`text-primary font-bold text-xs flex-shrink-0`},Eh=[`title`],Dh=[`checked`,`onChange`],Oh={class:`truncate`},kh=[`title`,`onClick`],Ah={class:`overflow-hidden whitespace-nowrap`},jh={key:0,class:`w-3 h-3 flex-shrink-0 text-green-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Mh={key:1,class:`w-3 h-3 flex-shrink-0 opacity-0 group-hover:opacity-100`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Nh={key:1,class:`text-[10px] font-mono text-muted-foreground/50`},Ph={key:2,class:`flex gap-0.5 overflow-hidden`},Fh={key:0,class:`text-[9px] text-muted-foreground shrink-0`},Ih={key:0},Lh=[`checked`],Rh={key:5,class:`text-xs bg-muted px-1 py-0.5 rounded`},zh={class:`flex items-center gap-0.5`},Bh=[`onClick`],Vh=[`onClick`],Hh={key:0,class:`absolute inset-0 flex items-center justify-center pointer-events-none`,style:{top:`1.5rem`}},Uh=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})((0,n.defineComponent)({__name:`RecordTable`,props:{records:{},modelInfo:{},canWrite:{type:Boolean},showHiddenFields:{type:Boolean},loadedData:{},sorting:{},selectedRecordIds:{},highlightedRecordId:{}},emits:[`edit-record`,`delete-record`,`toggle-column-sort`,`toggle-record-selection`,`toggle-select-all`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.computed)(()=>Nu(r.modelInfo,r.loadedData,r.showHiddenFields)),o=(0,n.computed)(()=>r.selectedRecordIds.size===0?!1:r.selectedRecordIds.size===r.records.length?!0:`indeterminate`),s=(0,n.ref)(null),c=null,l=async e=>{try{await navigator.clipboard.writeText(e)}catch{let t=document.createElement(`textarea`);t.value=e,document.body.appendChild(t),t.select(),document.execCommand(`copy`),document.body.removeChild(t)}s.value=e,c&&clearTimeout(c),c=setTimeout(()=>{s.value=null},1500)},u=e=>Ju(r.modelInfo,e),d=e=>!r.sorting||r.sorting.field!==e?``:Xu(r.sorting.direction),f=(e,t=8)=>{let n=String(e??``);return n.length<=t?n:`…`+n.slice(-t)},p=e=>e===`id`?`120px`:Ku(r.modelInfo,e)?`60px`:Wu(r.modelInfo,e)?`110px`:Uu(r.modelInfo,e)?`160px`:`180px`,m=(0,n.ref)(null),h=(0,n.ref)(null),g=(0,n.ref)(!1),_=null,v=e=>{if(h.value===e)return{backgroundColor:g.value?`transparent`:`rgba(250, 204, 21, 0.35)`,transition:`background-color 2s ease-out`}};return(0,n.watch)(()=>r.highlightedRecordId,async e=>{if(!e)return;g.value=!1,h.value=e,await(0,n.nextTick)();let t=m.value?.querySelector(`tr[data-highlight-id="${e}"]`);t&&t.scrollIntoView({block:`nearest`,behavior:`smooth`}),_&&clearTimeout(_),_=setTimeout(()=>{g.value=!0,_=setTimeout(()=>{h.value=null,g.value=!1},2200)},600)}),(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,xh,[(0,n.createElementVNode)(`div`,{ref_key:`tableContainer`,ref:m,class:`absolute inset-0 overflow-auto`},[(0,n.createVNode)((0,n.unref)(hh),{class:`text-xs`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(bh),{class:`sticky top-0 z-10 bg-muted`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(vh),null,{default:(0,n.withCtx)(()=>[e.canWrite?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(yh),{key:0,class:`w-8 px-2`},{default:(0,n.withCtx)(()=>[(0,n.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:o.value===!0,indeterminate:o.value===`indeterminate`,onChange:r[0]||=e=>i(`toggle-select-all`)},null,40,Sh)]),_:1})):(0,n.createCommentVNode)(``,!0),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(a.value,e=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(yh),{key:e,class:`px-2 text-left font-medium text-muted-foreground overflow-hidden`,style:(0,n.normalizeStyle)({width:p(e),minWidth:p(e),maxWidth:p(e)})},{default:(0,n.withCtx)(()=>[u(e)?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`flex items-center gap-0.5 hover:text-foreground max-w-full min-w-0`,title:e,onClick:t=>i(`toggle-column-sort`,e)},[(0,n.createElementVNode)(`span`,wh,(0,n.toDisplayString)(e),1),d(e)?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Th,(0,n.toDisplayString)(d(e)),1)):(0,n.createCommentVNode)(``,!0)],8,Ch)):((0,n.openBlock)(),(0,n.createElementBlock)(`span`,{key:1,class:`truncate block`,title:e},(0,n.toDisplayString)(e),9,Eh))]),_:2},1032,[`style`]))),128)),e.canWrite?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(yh),{key:1,class:`w-0 p-0`})):(0,n.createCommentVNode)(``,!0)]),_:1})]),_:1}),(0,n.createVNode)((0,n.unref)(gh),null,{default:(0,n.withCtx)(()=>[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.records,t=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(vh),{key:t.id,class:(0,n.normalizeClass)(`hover:bg-muted/30 group border-none`),style:(0,n.normalizeStyle)(v(t.id)),"data-highlight-id":t.id,onClick:e=>i(`edit-record`,t)},{default:(0,n.withCtx)(()=>[e.canWrite?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(_h),{key:0,class:`px-2 w-8`,onClick:r[1]||=(0,n.withModifiers)(()=>{},[`stop`])},{default:(0,n.withCtx)(()=>[(0,n.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:e.selectedRecordIds.has(t.id),onChange:e=>i(`toggle-record-selection`,t.id)},null,40,Dh)]),_:2},1024)):(0,n.createCommentVNode)(``,!0),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(a.value,i=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(_h),{key:i,class:`px-2 overflow-hidden`,style:(0,n.normalizeStyle)({width:p(i),minWidth:p(i),maxWidth:p(i)})},{default:(0,n.withCtx)(()=>[(0,n.createElementVNode)(`div`,Oh,[i===`id`?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`flex items-center gap-1 text-[10px] text-muted-foreground font-mono hover:text-foreground max-w-[80px]`,title:`Click to copy: ${t[i]}`,onClick:(0,n.withModifiers)(e=>l(String(t[i])),[`stop`])},[(0,n.createElementVNode)(`span`,Ah,(0,n.toDisplayString)(f(t[i])),1),s.value===String(t[i])?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,jh,[...r[3]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Mh,[...r[4]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`},null,-1)]]))],8,kh)):t[i]==null?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Nh,`NULL`)):(0,n.unref)(Uu)(e.modelInfo,i)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Ph,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(t[i]&&typeof t[i].toArray==`function`?t[i].toArray().slice(0,3):[],e=>((0,n.openBlock)(),(0,n.createElementBlock)(`span`,{key:e,class:`px-1 text-[9px] bg-muted rounded truncate shrink-0`},(0,n.toDisplayString)(e),1))),128)),t[i]&&typeof t[i].toArray==`function`&&t[i].toArray().length>3?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Fh,` +`+(0,n.toDisplayString)(t[i].toArray().length-3),1)):(0,n.createCommentVNode)(``,!0)])):(0,n.unref)(Wu)(e.modelInfo,i)?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:3},[t[i]?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Ih,(0,n.toDisplayString)(new Date(t[i]).toLocaleDateString()),1)):(0,n.createCommentVNode)(``,!0)],64)):(0,n.unref)(Ku)(e.modelInfo,i)?((0,n.openBlock)(),(0,n.createElementBlock)(`input`,{key:4,type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:!!t[i],disabled:``},null,8,Lh)):(0,n.unref)(Fu)(t[i])?((0,n.openBlock)(),(0,n.createElementBlock)(`code`,Rh,(0,n.toDisplayString)((0,n.unref)(wu)(t[i]).slice(0,50))+(0,n.toDisplayString)((0,n.unref)(wu)(t[i]).length>50?`...`:``),1)):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:6},[(0,n.createTextVNode)((0,n.toDisplayString)(t[i]),1)],64))])]),_:2},1032,[`style`]))),128)),e.canWrite?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(_h),{key:1,class:`px-2 sticky right-0 group-hover:bg-white`,onClick:r[2]||=(0,n.withModifiers)(()=>{},[`stop`])},{default:(0,n.withCtx)(()=>[(0,n.createElementVNode)(`div`,zh,[(0,n.createElementVNode)(`button`,{class:`p-0.5 opacity-0 group-hover:opacity-100 hover:bg-muted rounded text-muted-foreground`,title:`Edit`,onClick:e=>i(`edit-record`,t)},[(0,n.createVNode)((0,n.unref)(As),{class:`w-3.5 h-3.5`})],8,Bh),(0,n.createElementVNode)(`button`,{class:`p-0.5 opacity-0 group-hover:opacity-100 hover:bg-muted rounded text-muted-foreground hover:text-destructive`,title:`Delete`,onClick:e=>i(`delete-record`,t.id)},[(0,n.createVNode)((0,n.unref)(Is),{class:`w-3.5 h-3.5`})],8,Vh)])]),_:2},1024)):(0,n.createCommentVNode)(``,!0)]),_:2},1032,[`style`,`data-highlight-id`,`onClick`]))),128))]),_:1})]),_:1})],512),e.records.length===0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Hh,[...r[5]||=[(0,n.createElementVNode)(`span`,{class:`text-muted-foreground text-xs`},`No records found`,-1)]])):(0,n.createCommentVNode)(``,!0)]))}}),[[`__scopeId`,`data-v-0ba29a35`]]),Wh=t.s.forScope(`ModelPagination`);function Gh(e,t,r,i){let a=(0,n.ref)([]),o=(0,n.ref)(!1),s=(0,n.ref)(Bu()),c=(0,n.ref)({currentPage:1,totalCount:0,pageSize:s.value,nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])}),l=(0,n.computed)(()=>Math.max(1,Math.ceil(c.value.totalCount/s.value))),u=(0,n.computed)(()=>{let e=l.value,t=c.value.currentPage,n=[];if(e<=5)for(let t=1;t<=e;t++)n.push(t);else{let r=Math.max(1,t-2),i=Math.min(e,r+5-1);i-r<4&&(r=Math.max(1,i-5+1));for(let e=r;e<=i;e++)n.push(e)}return n}),d=async(e,n=1,a=null)=>{try{let o=e.modelClass,l=Ru(r.value),u=t.value,d={documents:u},f=await o.count(l,d),p=Yu(i.value),m={limit:s.value,sort:p,documents:u};a&&(m.uniqueStartKey=a);let h=await o.query(l,m);return c.value.currentPage=n,c.value.totalCount=f,c.value.hasMore=h.hasMore??!1,c.value.nextCursor=h.nextCursor??null,c.value.prevCursor=h.prevCursor??null,h.nextCursor&&n>=1&&c.value.pageCursors.set(n+1,h.nextCursor),{data:h.data||[],totalCount:f,hasMore:h.hasMore??!1,nextCursor:h.nextCursor??null,prevCursor:h.prevCursor??null}}catch(t){return Wh.error(`Error loading ${e.name}:`,t),U(`Failed to load ${e.name} records: `+W(t)),{data:[],totalCount:0,hasMore:!1,nextCursor:null,prevCursor:null}}},f=async(t=1)=>{if(!e.value)return;let n=await d(e.value,1,null);a.value=n.data,o.value=!0,Wh.debug(`Loaded model data:`,{model:e.value.name,totalRecords:n.totalCount}),t>1&&n.totalCount>0&&t<=Math.ceil(n.totalCount/s.value)&&await p(t)},p=async t=>{if(!e.value)return;let n=Math.ceil(c.value.totalCount/s.value);if(t<1||t>n)return;let r=null;if(t>1&&(r=c.value.pageCursors.get(t)??null,!r)){let n=1,i=null;for(let e=t-1;e>=1;e--)if(c.value.pageCursors.has(e)){n=e,i=c.value.pageCursors.get(e)??null;break}for(let r=n;r<t&&(i=(await d(e.value,r,i)).nextCursor,i);r++);r=i}a.value=(await d(e.value,t,r)).data};return{records:a,initialDataLoaded:o,paginationState:c,pageSize:s,totalPages:l,visiblePageNumbers:u,loadModelData:d,loadInitialData:f,goToPage:p,goToPrevPage:()=>p(c.value.currentPage-1),goToNextPage:()=>p(c.value.currentPage+1),goToPageContainingRecord:async t=>{if(!e.value)return!1;c.value={currentPage:1,totalCount:0,pageSize:s.value,nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])};let n=await d(e.value,1,null);if(n.data.some(e=>e.id===t))return a.value=n.data,!0;let r=Math.ceil(n.totalCount/s.value);for(let i=2;i<=r;i++){let r=c.value.pageCursors.get(i)??null;if(r===null&&i>2)break;if(n=await d(e.value,i,r),n.data.some(e=>e.id===t))return a.value=n.data,!0}return a.value=n.data,!1},handlePageSizeChange:async t=>{s.value=t,Vu(t),e.value&&(c.value={currentPage:1,totalCount:c.value.totalCount,pageSize:t,nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])},a.value=(await d(e.value,1,null)).data)},reloadModelData:async()=>{e.value&&(c.value={currentPage:1,totalCount:0,pageSize:s.value,nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])},a.value=(await d(e.value,1,null)).data)}}}var Kh=t.s.forScope(`RecordCrud`);function qh(e,t,r,i,a){let o=(0,n.ref)(!1),s=(0,n.ref)(!1),c=(0,n.ref)(!1),l=(0,n.ref)(null),u=(0,n.ref)(!1),d=(0,n.ref)(!1),f=(0,n.ref)({}),p=(0,n.ref)(null),m=(0,n.ref)({}),h=(0,n.ref)(new Set),g=t=>{if(e.value){p.value=t;try{f.value=JSON.parse(JSON.stringify(t))}catch{let e={};for(let n of Object.getOwnPropertyNames(t))try{e[n]=t[n]}catch{}for(let n of Object.keys(t))if(!(n in e))try{e[n]=t[n]}catch{}f.value=e}for(let n of Object.keys(f.value))Uu(e.value,n)&&(f.value[n]=qu(t[n]));h.value=new Set,o.value=!0,w()}},_=()=>{e.value&&(f.value={},h.value=new Set,s.value=!0,w())},v=async()=>{if(e.value)try{let t=e.value.modelClass,n=p.value?await t.find(p.value.id):null;if(n){let t={},r={};for(let[n,i]of Object.entries(f.value))Uu(e.value,n)?r[n]=i||[]:t[n]=i;Object.assign(n,t);for(let[e,t]of Object.entries(r)){let r=n[e];if(r&&typeof r.clear==`function`){r.clear();for(let e of t)r.add(e)}}await n.save()}o.value=!1,s.value=!1}catch(e){Kh.error(`Error saving record:`,e),U(`Failed to save record: `+W(e))}},y=async()=>{if(!e.value)return null;d.value=!0;try{let n={},r={};for(let[t,i]of Object.entries(f.value))Uu(e.value,t)?r[t]=i||[]:n[t]=i;let i=e.value.modelClass,a=new i(n);for(let[e,t]of Object.entries(r)){let n=a[e];if(n&&typeof n.add==`function`)for(let e of t)n.add(e)}await a.save({targetDocument:t.value??void 0});let o=a.id??null;return o?(s.value=!1,f.value={},o):(U(`Failed to create record: no ID was returned after save`),null)}catch(e){return Kh.error(`Error creating record:`,e),U(`Failed to create record: `+W(e)),null}finally{d.value=!1}},b=async()=>{if(!(!l.value||!e.value)){u.value=!0;try{let t=await e.value.modelClass.find(l.value);t&&(await t.delete(),l.value=null)}catch(e){Kh.error(`Error deleting record:`,e),U(`Failed to delete record: `+W(e))}finally{u.value=!1}}},x=async t=>{if(!e.value||t.size===0)return{success:!1};let n=Array.from(t);try{let t=e.value.modelClass;for(let e=0;e<n.length;e++){let r=n[e],i=await t.find(r);i&&await i.delete(),e%5==4&&await new Promise(e=>setTimeout(e,0))}return Kh.debug(`Deleted ${n.length} records from ${e.value.tableName}`),c.value=!1,{success:!0}}catch(e){return Kh.error(`Error deleting records:`,e),U(`Failed to delete records: `+W(e)),{success:!1}}},S=(e,t)=>{f.value={...f.value,[e]:t}},C=(e,t)=>{if(t)h.value=new Set([...h.value,e]),S(e,``);else{let t=new Set(h.value);t.delete(e),h.value=t}},w=async()=>{if(!e.value?.relationships)return;let n=t.value,r={};for(let t of Object.values(e.value.relationships)){if(t.type!==`refersTo`||!t.model||r[t.model])continue;let e=a.value.find(e=>e.tableName===t.model);if(e)try{let i=await e.modelClass.query({},{documents:n,limit:500});r[t.model]=i.data||[]}catch(e){Kh.error(`Error loading related model data for ${t.model}:`,e),r[t.model]=[],U(`Failed to load related ${t.model} data: `+W(e))}}m.value=r};return{editDialogOpen:o,createDialogOpen:s,bulkDeleteDialogOpen:c,deleteRecordId:l,isDeleting:u,isCreating:d,editFormData:f,selectedRecord:p,relatedModelData:m,customIdFields:h,openEditDialog:g,openCreateDialog:_,handleSaveRecord:v,handleCreateRecord:y,handleDeleteRecord:b,handleBulkDeleteRecords:x,updateFormField:S,handleToggleCustomId:C,loadRelatedModelData:w}}var Jh={class:`h-full flex flex-col min-w-0`},Yh={key:0,class:`flex-1 flex items-center justify-center`},Xh={class:`text-center py-12 px-8`},Zh={class:`text-muted-foreground`},Qh={class:`flex-1 flex flex-col min-h-0`},$h={class:`space-y-3 overflow-y-auto overflow-x-hidden flex-1 pr-4 py-1 -my-1 px-1 -mx-1`},eg={class:`space-y-3 overflow-y-auto overflow-x-hidden flex-1 pr-4 py-1 -my-1 px-1 -mx-1`},tg={key:0,class:`w-3 h-3 border-2 border-current border-t-transparent rounded-full animate-spin mr-1`},ng={class:`flex-1 flex flex-col min-h-0 gap-4`},rg={class:`flex items-center gap-2`},ig=(0,n.defineComponent)({__name:`DocumentExplorerModel`,props:{modelName:{},documentPermission:{}},emits:[`back`,`switchModel`],setup(e,{emit:r}){let i=t.s.forScope(`DocumentExplorerModel`),a=e,o=(0,n.computed)(()=>a.documentPermission!==`reader`),s=r,c=(0,n.computed)(()=>a.modelName),l=Me(),u=(0,n.computed)(()=>l.currentDocumentId),d=(0,n.computed)(()=>Cu()),f=(0,n.computed)(()=>d.value.find(e=>e.tableName===c.value)),p=(0,n.ref)({}),m=async()=>{if(!u.value)return;let e={};for(let t of d.value)try{let n=t.modelClass;e[t.tableName]=await n.count({},{documents:u.value})}catch(n){i.debug(`Could not load count for ${t.tableName}:`,n),e[t.tableName]=0}p.value=e},h=(0,n.computed)({get:()=>l.showHiddenFields,set:e=>{l.showHiddenFields=e}}),g=(0,n.ref)([]),_=(0,n.ref)(null),{records:v,initialDataLoaded:y,paginationState:b,pageSize:x,totalPages:S,loadModelData:C,loadInitialData:w,goToPage:T,goToPageContainingRecord:E,handlePageSizeChange:D,reloadModelData:O}=Gh(f,u,g,_),k=(0,n.computed)(()=>f.value?{[f.value.tableName]:v.value}:{}),{editDialogOpen:A,createDialogOpen:j,bulkDeleteDialogOpen:M,deleteRecordId:N,isDeleting:P,isCreating:ee,editFormData:F,relatedModelData:te,customIdFields:ne,openEditDialog:I,openCreateDialog:L,handleSaveRecord:R,handleCreateRecord:z,handleDeleteRecord:re,handleBulkDeleteRecords:ie,updateFormField:B,handleToggleCustomId:V}=qh(f,u,h,k,d),H=(0,n.ref)(new Set),ae=e=>{let t=new Set(H.value);t.has(e)?t.delete(e):t.add(e),H.value=t},oe=()=>{H.value=H.value.size===v.value.length?new Set:new Set(v.value.map(e=>e.id))},se=()=>{H.value=new Set},ce=(0,n.ref)(null),le=null,ue=e=>{le&&clearTimeout(le),ce.value=e,le=setTimeout(()=>{ce.value=null},5200)},de=(0,n.ref)(!1),fe=(0,n.ref)(``),pe=(0,n.ref)(null),me=(0,n.ref)(!1),he=(0,n.computed)(()=>{let e=pe.value;if(e==null)return``;if(typeof e==`object`)return wu(e,me.value?2:void 0);let t=String(e);if(me.value)try{if(t.startsWith(`{`)||t.startsWith(`[`))return JSON.stringify(JSON.parse(t),null,2)}catch{}return t}),ge=e=>{let t=String(e);pe.value=t,F.value&&fe.value&&(F.value[fe.value]=t)},_e=()=>{if(!f.value)return;let e={page:b.value.currentPage,filters:g.value.map(e=>({id:e.id,field:e.field,mode:e.mode,value:e.value})),sorts:_.value?{field:_.value.field,direction:_.value.direction}:null};ed(f.value.tableName,e)},ve=async e=>{let t=e.value.trim();if(g.value.some(n=>n.field===e.field&&n.mode===e.mode&&n.value.trim()===t)){Pe(`This filter is already applied.`);return}g.value.push({id:Iu(),...e}),await O()},ye=async e=>{g.value=g.value.filter(t=>t.id!==e),await O()},be=async e=>{let t=g.value.findIndex(t=>t.id===e.id);t!==-1&&(g.value[t]=e),await O()},xe=async()=>{g.value=[],await O()},Se=async e=>{if(!f.value||!Ju(f.value,e))return;let t=_.value;t&&t.field===e?t.direction===1?_.value={field:e,direction:-1}:_.value=null:_.value={field:e,direction:1},await O()},Ce=(0,n.ref)(!1),we=async()=>{Ce.value=!0,await(0,n.nextTick)(),await new Promise(e=>requestAnimationFrame(e)),(await ie(H.value)).success&&se(),Ce.value=!1},Te=async()=>{je=!0;try{let e=await z();e&&(await E(e),ue(e))}finally{je=!1}},Ee=(0,n.ref)(null),De=null,Oe=async e=>{try{await navigator.clipboard.writeText(e)}catch{let t=document.createElement(`textarea`);t.value=e,document.body.appendChild(t),t.select(),document.execCommand(`copy`),document.body.removeChild(t)}Ee.value=e,De&&clearTimeout(De),De=setTimeout(()=>{Ee.value=null},1500)},ke=(0,n.computed)(()=>f.value?Nu(f.value,k.value,h.value):[]);(0,n.watch)(()=>f.value,()=>{if(f.value){let e=$u(f.value.tableName);g.value=e?.filters?e.filters:[],_.value=e?.sorts?e.sorts:null,w(e?.page??1),m()}},{immediate:!0}),(0,n.watch)(()=>b.value.totalCount,e=>{f.value&&(p.value={...p.value,[f.value.tableName]:e})}),(0,n.watch)([g,_,()=>b.value.currentPage],()=>_e(),{deep:!0}),(0,n.watch)(()=>l.isDocumentReady,e=>{e&&f.value&&w()});let Ae=null,je=!1;function U(){if(Ae){try{Ae()}catch{}Ae=null}if(!f.value)return;let e=f.value.modelClass;e&&typeof e.subscribe==`function`&&(Ae=e.subscribe(()=>{if(!je&&f.value){let e=b.value.currentPage>1?b.value.pageCursors.get(b.value.currentPage)??null:null;C(f.value,b.value.currentPage,e).then(e=>{v.value=e.data,e.data.length===0&&b.value.currentPage>1&&T(b.value.currentPage-1)})}}),i.debug(`Subscribed to model changes:`,f.value.name))}return(0,n.onMounted)(()=>U()),(0,n.watch)(()=>l.currentDocumentId,()=>{l.isDocumentReady&&U()}),(0,n.onUnmounted)(()=>{if(Ae){try{Ae()}catch{}Ae=null}}),(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Jh,[(0,n.createVNode)(hm,{"current-model":f.value,"model-name":c.value,models:d.value,"model-counts":p.value,"can-write":o.value,"selected-count":H.value.size,onSwitchModel:t[0]||=e=>s(`switchModel`,e),onOpenCreate:(0,n.unref)(L),onClearSelection:se,onOpenBulkDelete:t[1]||=e=>M.value=!0},null,8,[`current-model`,`model-name`,`models`,`model-counts`,`can-write`,`selected-count`,`onOpenCreate`]),f.value?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[(0,n.createVNode)(Pp,{"model-info":f.value,filters:g.value,"loaded-data":k.value,"show-hidden-fields":h.value,onAddFilter:ve,onRemoveFilter:ye,onUpdateFilter:be,onClearAll:xe},null,8,[`model-info`,`filters`,`loaded-data`,`show-hidden-fields`]),(0,n.createVNode)(xu,{"is-ready":(0,n.unref)(y),class:`flex-1 flex flex-col min-h-0`},{loading:(0,n.withCtx)(()=>[...t[14]||=[(0,n.createElementVNode)(`div`,{class:`flex-1 flex items-center justify-center p-6`},[(0,n.createElementVNode)(`div`,{class:`w-full max-w-lg animate-pulse space-y-4`},[(0,n.createElementVNode)(`div`,{class:`h-8 bg-muted rounded w-full`}),(0,n.createElementVNode)(`div`,{class:`h-8 bg-muted rounded w-full`}),(0,n.createElementVNode)(`div`,{class:`h-8 bg-muted rounded w-full`})])],-1)]]),default:(0,n.withCtx)(()=>[(0,n.createElementVNode)(`div`,Qh,[(0,n.createVNode)(Uh,{records:(0,n.unref)(v),"model-info":f.value,"can-write":o.value,"show-hidden-fields":h.value,"loaded-data":k.value,sorting:_.value,"selected-record-ids":H.value,"highlighted-record-id":ce.value,onEditRecord:(0,n.unref)(I),onDeleteRecord:t[3]||=e=>N.value=e,onToggleColumnSort:Se,onToggleRecordSelection:ae,onToggleSelectAll:oe},null,8,[`records`,`model-info`,`can-write`,`show-hidden-fields`,`loaded-data`,`sorting`,`selected-record-ids`,`highlighted-record-id`,`onEditRecord`]),(0,n.createVNode)(Nm,{"current-page":(0,n.unref)(b).currentPage,"total-count":(0,n.unref)(b).totalCount,"page-size":(0,n.unref)(x),"total-pages":(0,n.unref)(S),onGoToPage:(0,n.unref)(T),onChangePageSize:(0,n.unref)(D)},null,8,[`current-page`,`total-count`,`page-size`,`total-pages`,`onGoToPage`,`onChangePageSize`])])]),_:1},8,[`is-ready`])],64)):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Yh,[(0,n.createElementVNode)(`div`,Xh,[(0,n.createElementVNode)(`p`,Zh,`Model "`+(0,n.toDisplayString)(c.value)+`" not found`,1),(0,n.createVNode)((0,n.unref)(gs),{class:`mt-4`,onClick:t[2]||=e=>s(`back`)},{default:(0,n.withCtx)(()=>[...t[13]||=[(0,n.createTextVNode)(`Go Back`,-1)]]),_:1})])])),(0,n.createVNode)((0,n.unref)(vs),{open:(0,n.unref)(A),"onUpdate:open":t[5]||=e=>(0,n.isRef)(A)?A.value=e:null},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(zs),{class:`sm:max-w-md max-h-[80vh] flex flex-col`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Hs),null,{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Us),{class:`text-sm font-semibold`},{default:(0,n.withCtx)(()=>[...t[15]||=[(0,n.createTextVNode)(`Edit Record`,-1)]]),_:1})]),_:1}),(0,n.createElementVNode)(`div`,$h,[f.value?((0,n.openBlock)(),(0,n.createBlock)(mh,{key:0,"model-info":f.value,"form-data":(0,n.unref)(F),fields:ke.value,"related-model-data":(0,n.unref)(te),"custom-id-fields":(0,n.unref)(ne),"copied-id":Ee.value,"id-prefix":`edit`,onUpdateField:(0,n.unref)(B),onCopyId:Oe,onToggleCustomId:(0,n.unref)(V)},null,8,[`model-info`,`form-data`,`fields`,`related-model-data`,`custom-id-fields`,`copied-id`,`onUpdateField`,`onToggleCustomId`])):(0,n.createCommentVNode)(``,!0)]),(0,n.createVNode)((0,n.unref)(Vs),{class:`border-t border-border pt-3 mt-3`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(gs),{variant:`outline`,size:`sm`,onClick:t[4]||=e=>A.value=!1},{default:(0,n.withCtx)(()=>[...t[16]||=[(0,n.createTextVNode)(` Cancel `,-1)]]),_:1}),(0,n.createVNode)((0,n.unref)(gs),{size:`sm`,onClick:(0,n.unref)(R)},{default:(0,n.withCtx)(()=>[...t[17]||=[(0,n.createTextVNode)(`Save Changes`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1})]),_:1},8,[`open`]),(0,n.createVNode)((0,n.unref)(vs),{open:(0,n.unref)(j),"onUpdate:open":t[7]||=e=>(0,n.isRef)(j)?j.value=e:null},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(zs),{class:`sm:max-w-md max-h-[80vh] flex flex-col`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Hs),null,{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Us),{class:`text-sm font-semibold`},{default:(0,n.withCtx)(()=>[(0,n.createTextVNode)(` New `+(0,n.toDisplayString)(f.value?.name||c.value),1)]),_:1})]),_:1}),(0,n.createElementVNode)(`div`,eg,[f.value?((0,n.openBlock)(),(0,n.createBlock)(mh,{key:0,"model-info":f.value,"form-data":(0,n.unref)(F),fields:ke.value,"exclude-id":!0,"related-model-data":(0,n.unref)(te),"custom-id-fields":(0,n.unref)(ne),"id-prefix":`create`,onUpdateField:(0,n.unref)(B),onToggleCustomId:(0,n.unref)(V)},null,8,[`model-info`,`form-data`,`fields`,`related-model-data`,`custom-id-fields`,`onUpdateField`,`onToggleCustomId`])):(0,n.createCommentVNode)(``,!0)]),(0,n.createVNode)((0,n.unref)(Vs),{class:`border-t border-border pt-3 mt-3`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(gs),{variant:`outline`,size:`sm`,disabled:(0,n.unref)(ee),onClick:t[6]||=e=>j.value=!1},{default:(0,n.withCtx)(()=>[...t[18]||=[(0,n.createTextVNode)(` Cancel `,-1)]]),_:1},8,[`disabled`]),(0,n.createVNode)((0,n.unref)(gs),{size:`sm`,disabled:(0,n.unref)(ee),onClick:Te},{default:(0,n.withCtx)(()=>[(0,n.unref)(ee)?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,tg)):(0,n.createCommentVNode)(``,!0),(0,n.createTextVNode)(` `+(0,n.toDisplayString)((0,n.unref)(ee)?`Creating...`:`Create`),1)]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`]),(0,n.createVNode)(Ks,{"is-open":!!(0,n.unref)(N),title:`Delete Record`,question:`Are you sure you want to delete this record?`,warning:`This action cannot be undone.`,"is-deleting":(0,n.unref)(P),onCancel:t[8]||=e=>N.value=null,onConfirm:(0,n.unref)(re)},null,8,[`is-open`,`is-deleting`,`onConfirm`]),(0,n.createVNode)(Ks,{"is-open":(0,n.unref)(M),title:`Delete Records`,question:`Delete ${H.value.size} record${H.value.size===1?``:`s`}? This action cannot be undone.`,warning:void 0,"confirm-label":`Delete`,"is-deleting":Ce.value,onCancel:t[9]||=e=>M.value=!1,onConfirm:we},null,8,[`is-open`,`question`,`is-deleting`]),(0,n.createVNode)((0,n.unref)(vs),{open:de.value,"onUpdate:open":t[12]||=e=>de.value=e},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(zs),{class:`max-w-4xl max-h-[90vh] flex flex-col`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Hs),{class:`flex-shrink-0`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Us),{class:`flex items-center gap-2`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Ps),{class:`h-5 w-5`}),(0,n.createTextVNode)(` `+(0,n.toDisplayString)(fe.value),1)]),_:1})]),_:1}),(0,n.createElementVNode)(`div`,ng,[(0,n.createElementVNode)(`div`,rg,[(0,n.createVNode)((0,n.unref)(_p),{id:`pretty-print`,checked:me.value,"onUpdate:checked":t[10]||=e=>me.value=e},null,8,[`checked`]),(0,n.createVNode)((0,n.unref)(gp),{for:`pretty-print`,class:`text-sm`},{default:(0,n.withCtx)(()=>[...t[19]||=[(0,n.createTextVNode)(`Pretty Print JSON`,-1)]]),_:1})]),(0,n.createVNode)((0,n.unref)(vp),{"model-value":he.value,class:`flex-1 font-mono text-sm min-h-[300px]`,"onUpdate:modelValue":ge},null,8,[`model-value`])]),(0,n.createVNode)((0,n.unref)(Vs),{class:`flex-shrink-0`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(gs),{variant:`outline`,onClick:t[11]||=e=>de.value=!1},{default:(0,n.withCtx)(()=>[...t[20]||=[(0,n.createTextVNode)(` Close `,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}}),ag={class:`h-full flex flex-col`},og={class:`flex-1 flex overflow-hidden min-w-0`},sg={class:`flex-1 flex flex-col min-w-0 bg-background`},cg={key:0,class:`flex-1 flex items-center justify-center`},lg={class:`text-center max-w-md px-4`},ug={class:`text-xs text-muted-foreground mb-4 break-words`},dg={key:1,class:`flex-1 flex items-center justify-center`},fg={key:2,class:`flex-1 flex items-center justify-center`},pg={key:0,class:`flex-1 flex items-center justify-center`},mg={class:`hidden lg:contents`},hg=(0,n.defineComponent)({__name:`DocumentExplorerIndex`,setup(e){let r=t.s.forScope(`DocumentExplorer`),i=Me(),a=(0,n.ref)([]),o=(0,n.ref)([]),s=(0,n.ref)(!1),c=(0,n.ref)(null),l=(0,n.ref)(!1),u=(0,n.ref)(null),d=(0,n.computed)(()=>[...a.value,...o.value]),f=(0,n.ref)(new Set);async function p(){try{let e=await t.o.getClientAsync();u.value=await e.getRootDocId(),await e.syncMetadata({scope:`all`,includeRoot:!0,pageSize:500});let[n,i]=await Promise.all([e.me.ownedDocuments({refreshFromServer:!0,includeRoot:!0}),e.me.sharedDocuments()]);a.value=n,o.value=i.items,l.value=!0,c.value=null,r.debug(`Documents loaded`,{owned:n.length,shared:i.items.length,rootDocId:u.value})}catch(e){r.error(`Failed to load documents from client`,e),l.value?U(`Failed to refresh documents: `+W(e)):c.value=W(e)}finally{s.value=!0}}async function m(){c.value=null,s.value=!1,await p()}let h=null,g=!1;(0,n.onMounted)(async()=>{let e=p();try{let e=await t.o.getClientAsync(),n=()=>{if(g){r.debug(`Document metadata changed (suppressed – bulk operation in progress)`);return}r.debug(`Document metadata changed, refreshing documents`),p()};e.on(`documentMetadataChanged`,n),h=()=>e.off(`documentMetadataChanged`,n)}catch(e){r.debug(`Could not subscribe to real-time events`,e)}if(await e,i.currentDocumentId&&!d.value.some(e=>e.documentId===i.currentDocumentId)&&(r.debug(`Persisted document no longer exists, clearing selection:`,i.currentDocumentId),i.setCurrentDocumentId(null)),i.currentDocumentId&&!i.isDocumentReady){r.debug(`Restoring previously selected document:`,i.currentDocumentId);try{await i.openDocument(i.currentDocumentId);let e=d.value.find(e=>e.documentId===i.currentDocumentId);i.setCurrentDocumentTitle(e?.title||`Untitled`)}catch(e){r.error(`Failed to restore document:`,e),i.setCurrentDocumentId(null)}}i.isDocumentReady&&V()}),(0,n.onUnmounted)(()=>{h&&=(h(),null)});let _=(0,n.computed)(()=>Cu()),v=(0,n.computed)(()=>{let e={};for(let t of _.value)e[t.tableName]={query:{}};return e}),y=(0,n.computed)({get:()=>i.currentDocumentId,set:e=>i.setCurrentDocumentId(e)}),b=(0,n.ref)(null),x=(0,n.computed)(()=>b.value??i.currentDocumentId),S=(0,n.computed)({get:()=>i.currentModelName,set:e=>i.setCurrentModelName(e)}),C=(0,n.ref)(null),w=(0,n.ref)(!1),T=(0,n.ref)(!1),E=(0,n.ref)(!1),D=(0,n.ref)(!1),O=(0,n.ref)([]),k=(0,n.ref)([]),A=(0,n.ref)([]),j=(0,n.ref)(``),M=(0,n.ref)({});function N(){return{currentPage:1,totalCount:0,pageSize:Bu(),nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])}}function P(e){return M.value[e]||(M.value[e]=N()),M.value[e]??N()}let{optimisticFieldUpdate:ee}=sp(a,`documentId`),{optimisticFieldUpdate:F}=sp(o,`documentId`);async function te(e){try{let t=i.currentDocumentId;return await e.modelClass.count({},{documents:t})}catch(t){return r.error(`Error loading count for ${e.name}:`,t),0}}let{initialDataLoaded:ne}=bu({subscribeTo:_.value.map(e=>e.modelClass),queryParams:v,documentReady:(0,n.computed)(()=>i.isDocumentReady),loadData:async()=>{let e={};for(let t of _.value){let n=await te(t),r=P(t.tableName);r.totalCount=n,e[t.tableName]=[]}let t=Object.values(M.value).reduce((e,t)=>e+(t?.totalCount??0),0);if(r.debug(`Loaded model counts:`,{models:_.value.length,totalRecords:t}),!z.value?.isRoot){let t=S.value?P(S.value).totalCount:0;if(!S.value||t===0){let t=_.value.find(e=>P(e.tableName).totalCount>0);if(t)return S.value=t.tableName,e}}return V(),e},onError:e=>{r.error(`Error loading data:`,e),U(`Failed to load model data: `+W(e))}});function I(e){let t=f.value;return e.filter(e=>e&&!t.has(e.documentId)).map(e=>({...e,isRoot:e.documentId===u.value})).sort((e,t)=>e.isRoot&&!t.isRoot?-1:!e.isRoot&&t.isRoot?1:(e.title||``).localeCompare(t.title||``))}let L=(0,n.computed)(()=>I(a.value)),R=(0,n.computed)(()=>I(o.value)),z=(0,n.computed)(()=>{let e=y.value;return L.value.find(t=>t.documentId===e)??R.value.find(t=>t.documentId===e)}),re=(0,n.computed)(()=>{let e={};for(let t of _.value)e[t.tableName]=P(t.tableName).totalCount;return e}),ie=(0,n.computed)(()=>d.value.find(e=>e.documentId===C.value)?.title);function B(){return _.value.length===0?``:z.value?.isRoot&&_.value.some(e=>e.tableName===`user_prefs`)?`user_prefs`:_.value[0]?.tableName??``}function V(){_.value.length!==0&&(S.value&&!_.value.some(e=>e.tableName===S.value)&&(S.value=null),S.value||=B())}function H(e){S.value=e}function ae(){S.value=_.value.length>0?B():null}async function oe(e){if(e===x.value&&i.isDocumentReady)return;r.debug(`Switching to document:`,e),b.value=e,S.value=null;let t=d.value.find(t=>t.documentId===e);i.setCurrentDocumentTitle(t?.title||`Untitled`);try{await i.switchDocument(e),V()}finally{b.value=null}}async function se(e){try{let{metadata:n}=await(await t.o.getClientAsync()).documents.create({title:e});r.debug(`Created new document:`,n),await p(),await i.switchDocument(n.documentId)}catch(e){throw r.error(`Failed to create document:`,e),e}}async function ce(e){E.value=!0;try{await se(e),T.value=!1}catch(e){U(`Failed to create document: `+W(e))}finally{E.value=!1}}async function le(e,n){e===i.currentDocumentId&&i.setCurrentDocumentTitle(n);let{success:o}=await(a.value.some(t=>t.documentId===e)?ee:F)(e,`title`,n,async()=>{await(await t.o.getClientAsync()).documents.update(e,{title:n}),r.debug(`Renamed document:`,e,`to`,n)});if(!o){let t=d.value.find(t=>t.documentId===e);e===i.currentDocumentId&&i.setCurrentDocumentTitle(t?.title||`Untitled`),U(`Failed to rename document`)}}async function ue(e){w.value=!0,y.value===e&&i.setCurrentDocumentId(null),w.value=!1,C.value=null,f.value=new Set([...f.value,e]);try{await(await t.o.getClientAsync()).documents.delete(e,{forceCloseIfOpen:!0}),await p()}catch{U(`Failed to delete document`)}finally{let t=new Set(f.value);t.delete(e),f.value=t}}async function de(e){y.value&&e.includes(y.value)&&i.setCurrentDocumentId(null),f.value=new Set([...f.value,...e]),g=!0;try{let n=await t.o.getClientAsync(),i=[];for(let t of e)try{await n.documents.delete(t,{forceCloseIfOpen:!0})}catch(e){r.error(`Failed to delete document ${t}:`,e),i.push(t)}await p(),i.length>0&&U(`Failed to delete ${i.length} document(s). They have been restored.`)}finally{let t=new Set(f.value);for(let n of e)t.delete(n);f.value=t,g=!1}}async function fe(e){try{if(!(await(await t.o.getClientAsync()).me.get())?.userId){U(`Could not determine current user.`);return}let n=[],r=[];for(let t of e){let e=d.value.find(e=>e.documentId===t);!e||e.documentId===u.value||(!e.permission||e.permission===`owner`||e.permission===`admin`?r.push(t):n.push(t))}if(n.length===0&&r.length===0)return;let i=[];r.length>0&&i.push(`delete ${r.length}`),n.length>0&&i.push(`leave ${n.length}`),O.value=e,k.value=n,A.value=r,j.value=`This will ${i.join(` and `)} document(s). Continue?`,D.value=!0}catch(e){r.error(`Failed to process bulk leave:`,e),U(`Failed to leave documents: `+W(e))}}async function pe(){D.value=!1;let e=k.value,n=A.value;O.value=[],k.value=[],A.value=[],j.value=``;try{let a=await t.o.getClientAsync(),o=await a.me.get();if(!o?.userId){U(`Could not determine current user.`);return}let s=[...e,...n];y.value&&s.includes(y.value)&&i.setCurrentDocumentId(null),f.value=new Set([...f.value,...s]),g=!0;try{let t=[];for(let n of e)try{await a.documents.removePermission(n,o.userId)}catch(e){r.error(`Failed to leave document ${n}:`,e),t.push(n)}for(let e of n)try{await a.documents.delete(e,{forceCloseIfOpen:!0})}catch(n){r.error(`Failed to delete document ${e}:`,n),t.push(e)}await p(),t.length>0&&U(`Failed to process ${t.length} document(s). They have been restored.`)}finally{let e=new Set(f.value);for(let t of s)e.delete(t);f.value=e,g=!1}}catch(e){r.error(`Failed to process bulk leave:`,e),U(`Failed to leave documents: `+W(e))}}return(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,ag,[(0,n.createVNode)((0,n.unref)(Te),{position:`bottom-right`,expand:!1,"rich-colors":``}),(0,n.createElementVNode)(`div`,og,[(0,n.createVNode)(Ed,{"owned-documents":L.value,"shared-documents":R.value,"selected-doc-id":x.value,"document-list-loaded":s.value,onSelectDocument:oe,onCreateDocument:t[0]||=e=>T.value=!0,onBulkDelete:de,onBulkLeave:fe,onBulkDeleteMixed:fe},null,8,[`owned-documents`,`shared-documents`,`selected-doc-id`,`document-list-loaded`]),(0,n.createElementVNode)(`div`,sg,[c.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,cg,[(0,n.createElementVNode)(`div`,lg,[t[7]||=(0,n.createElementVNode)(`svg`,{class:`w-10 h-10 mx-auto text-destructive/70 mb-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4.5c-.77-.833-2.694-.833-3.464 0L3.34 16.5c-.77.833.192 2.5 1.732 2.5z`})],-1),t[8]||=(0,n.createElementVNode)(`h3`,{class:`text-sm font-semibold text-destructive mb-1`},` Failed to load documents `,-1),(0,n.createElementVNode)(`p`,ug,(0,n.toDisplayString)(c.value),1),(0,n.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90`,onClick:m},` Retry `)])])):s.value?z.value?((0,n.openBlock)(),(0,n.createBlock)(xu,{key:3,"is-ready":(0,n.unref)(ne)},{loading:(0,n.withCtx)(()=>[...t[11]||=[(0,n.createElementVNode)(`div`,{class:`flex-1 flex items-center justify-center`},[(0,n.createElementVNode)(`div`,{class:`text-center`},[(0,n.createElementVNode)(`div`,{class:`w-6 h-6 border-2 border-primary border-t-transparent rounded-full animate-spin mx-auto mb-2`}),(0,n.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},`Loading data...`)])],-1)]]),default:(0,n.withCtx)(()=>[_.value.length===0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,pg,[...t[12]||=[(0,n.createElementVNode)(`div`,{class:`text-center`},[(0,n.createElementVNode)(`svg`,{class:`w-12 h-12 mx-auto text-muted-foreground/30 mb-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4`})]),(0,n.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},` Add models to get started `)],-1)]])):S.value?((0,n.openBlock)(),(0,n.createBlock)(ig,{key:S.value,"model-name":S.value,"document-permission":z.value?.permission,onBack:ae,onSwitchModel:H},null,8,[`model-name`,`document-permission`])):(0,n.createCommentVNode)(``,!0)]),_:1},8,[`is-ready`])):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,fg,[...t[10]||=[(0,n.createElementVNode)(`div`,{class:`text-center`},[(0,n.createElementVNode)(`svg`,{class:`w-12 h-12 mx-auto text-muted-foreground/30 mb-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`})]),(0,n.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},` Select a document to explore `)],-1)]])):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,dg,[...t[9]||=[(0,n.createElementVNode)(`div`,{class:`text-center`},[(0,n.createElementVNode)(`div`,{class:`w-6 h-6 border-2 border-primary border-t-transparent rounded-full animate-spin mx-auto mb-2`}),(0,n.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},`Loading documents...`)],-1)]]))]),(0,n.createElementVNode)(`div`,mg,[z.value?((0,n.openBlock)(),(0,n.createBlock)(op,{key:0,document:z.value,models:_.value,"record-counts":re.value,onNavigateToModel:H,onRenameDocument:le,onDeleteDocument:t[1]||=e=>C.value=e,onDocumentsChanged:p},null,8,[`document`,`models`,`record-counts`])):(0,n.createCommentVNode)(``,!0)])]),(0,n.createVNode)(hp,{open:T.value,"is-creating":E.value,"onUpdate:open":t[2]||=e=>T.value=e,onCreate:ce},null,8,[`open`,`is-creating`]),(0,n.createVNode)(Ks,{"is-open":!!C.value,title:`Delete Document`,question:`Are you sure you want to delete "${ie.value}"?`,warning:`This action cannot be undone.`,"is-deleting":w.value,onCancel:t[3]||=e=>C.value=null,onConfirm:t[4]||=e=>C.value&&ue(C.value)},null,8,[`is-open`,`question`,`is-deleting`]),(0,n.createVNode)(Ks,{"is-open":D.value,title:`Leave / Delete Documents`,question:j.value,warning:``,"confirm-label":`Continue`,"confirming-label":`Processing...`,"is-deleting":!1,onConfirm:pe,onCancel:t[5]||=e=>{D.value=!1,O.value=[],k.value=[],A.value=[],j.value=``},"onUpdate:isOpen":t[6]||=e=>{e||(D.value=!1,O.value=[],k.value=[],A.value=[],j.value=``)}},null,8,[`is-open`,`question`])]))}}),gg={class:`h-full flex flex-col overflow-hidden`},_g={key:0,class:`px-3 py-2 bg-destructive/10 border-b border-destructive/30 text-xs`},vg={class:`flex items-start gap-2`},yg={class:`font-medium text-destructive`},bg={class:`mt-1 space-y-0.5 text-muted-foreground`},xg={class:`flex-1 flex overflow-hidden`},Sg={class:`w-64 lg:w-72 border-r border-border flex flex-col bg-background`},Cg={class:`px-3 py-2 border-b border-border bg-muted/30 relative`},wg={key:0,class:`absolute inset-0 px-3 bg-muted flex items-center justify-between z-10`},Tg={class:`flex items-center gap-2`},Eg={class:`text-[10px] font-medium`},Dg=[`disabled`],Og={class:`flex items-center gap-2`},kg=[`checked`,`indeterminate`],Ag={class:`flex-1 overflow-y-auto scrollbar-thin`},jg=[`onClick`],Mg=[`checked`,`indeterminate`,`onClick`],Ng={class:`ml-2 text-xs font-medium flex-1`},Pg={class:`text-[10px] text-muted-foreground`},Fg=[`onClick`],Ig=[`checked`,`onClick`],Lg={class:`ml-2 w-4 h-4 flex items-center justify-center`},Rg={key:0,class:`w-3.5 h-3.5 text-blue-500 animate-spin`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},zg={key:1,class:`w-3.5 h-3.5 text-green-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Bg={key:2,class:`w-3.5 h-3.5 text-red-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Vg={key:3,class:`w-3.5 h-3.5 rounded-full bg-blue-500 text-white flex items-center justify-center text-[8px] font-bold`},Hg={class:`ml-1.5 text-xs flex-1 truncate`},Ug={key:0,class:`px-1 py-0.5 text-[9px] bg-green-100 text-green-700 rounded`},Wg={key:1,class:`px-1 py-0.5 text-[9px] bg-red-100 text-red-700 rounded`},Gg={key:2,class:`px-1 py-0.5 text-[9px] bg-blue-100 text-blue-700 rounded`},Kg={key:0,class:`text-center py-8 text-muted-foreground`},qg={class:`px-3 py-2 border-t border-border bg-muted/20 text-[10px] text-muted-foreground`},Jg={class:`flex items-center justify-between`},Yg={key:0},Xg={key:0,class:`text-green-600`},Zg={key:1},Qg={key:2,class:`text-red-600`},$g={class:`flex-1 flex flex-col min-w-0 bg-background`},e_={class:`flex items-center justify-between px-3 py-2 border-b border-border bg-muted/30`},t_={class:`flex items-center gap-1`},n_=[`disabled`],r_=[`disabled`],i_=[`disabled`],a_={key:0,class:`text-muted-foreground`},o_={key:1,class:`space-y-0.5`},s_=[`data-test-id`],c_={key:0,class:`px-3 py-2 border-t border-border bg-muted/20`},l_={class:`flex items-center justify-between text-[10px] mb-1`},u_={class:`text-muted-foreground truncate pr-2`},d_={class:`font-medium flex-shrink-0`},f_={class:`h-1 bg-muted rounded-full overflow-hidden`},p_=(0,n.defineComponent)({__name:`TestRunner`,props:{tests:{},testLoadErrors:{},onTestsComplete:{type:Function}},setup(e){let r=t.s.forScope(`TestRunner`),i=e,a=(0,n.ref)({}),o=(0,n.ref)([]),s=(0,n.ref)(!1),c=(0,n.ref)(!1),l=(0,n.ref)(!1),u=(0,n.reactive)(new Map),d=(0,n.ref)(null),f=(0,n.ref)(null),p=(0,n.ref)(0),m=(0,n.ref)(0),h=(0,n.ref)(``);(0,n.watchEffect)(()=>{let e={};i.tests.forEach(t=>{e[t.id]=!0}),a.value=e});let g=(0,n.computed)(()=>{let e=new Map;return i.tests.forEach(t=>{e.has(t.group)||e.set(t.group,[]),e.get(t.group).push(t)}),Array.from(e.entries())}),_=(0,n.computed)(()=>Object.values(a.value).filter(Boolean).length),v=(0,n.computed)(()=>i.tests.length),y=(0,n.computed)(()=>({passed:Array.from(u.values()).filter(e=>e.status===`passed`||e.status===`scored`).length,failed:Array.from(u.values()).filter(e=>e.status===`failed`).length})),b=e=>u.get(e)?.status??`pending`,x=e=>e.every(e=>a.value[e.id]),S=e=>{let t=e.some(e=>a.value[e.id]),n=e.every(e=>a.value[e.id]);return t&&!n},C=e=>e.filter(e=>a.value[e.id]).length,w=(0,n.computed)(()=>i.tests.every(e=>a.value[e.id])),T=(0,n.computed)(()=>i.tests.some(e=>a.value[e.id])&&!w.value),E=(e,t=`normal`,r)=>{let i=new Date().toLocaleTimeString();o.value=[...o.value,{text:`${i} - ${e}`,type:t,testId:r}],f.value||(0,n.nextTick)(()=>{d.value&&(d.value.scrollTop=d.value.scrollHeight)})},D=async()=>{if(!l.value){l.value=!0,o.value=[],p.value=g.value.flatMap(([,e])=>e.filter(e=>a.value[e.id])).length,m.value=0,h.value=``,E(`=`.repeat(60),`header`),E(`Starting test run`,`header`),E(`=`.repeat(60),`header`);try{for(let[e,t]of g.value)for(let n of t){if(!a.value[n.id])continue;u.set(n.id,{status:`running`}),h.value=`${e} :: ${n.name}`,E(`Running ${e} :: ${n.name}`,`normal`,n.id);let t=performance.now();try{let e=await n.run(e=>E(`[${n.id}] ${e}`,`normal`,n.id)),r=Math.round(performance.now()-t),i=e.match(/^(\d+)\/(\d+)\s*\((\d+(?:\.\d+)?)%\)/);if(i&&i[1]&&i[2]&&i[3]){let t=Number.parseInt(i[1],10),a=Number.parseInt(i[2],10),o=Number.parseFloat(i[3]);u.set(n.id,{status:`scored`,durationMs:r,message:e,score:{passed:t,total:a,percentage:o}}),E(`Scored (${r}ms): ${e}`,`success`,n.id)}else u.set(n.id,{status:`passed`,durationMs:r,message:e}),E(`Passed (${r}ms): ${e}`,`success`,n.id)}catch(e){let r=Math.round(performance.now()-t),i=e instanceof Error?e.message:String(e);u.set(n.id,{status:`failed`,durationMs:r,message:i}),E(`Failed (${r}ms): ${i}`,`error`,n.id)}m.value++}}finally{if(E(`=`.repeat(60),`header`),E(`Test run complete`,`header`),E(`=`.repeat(60),`header`),i.onTestsComplete)try{await i.onTestsComplete()}catch(e){E(`Warning: Cleanup failed: ${e instanceof Error?e.message:String(e)}`)}l.value=!1}}},O=e=>{a.value={...a.value,[e]:!a.value[e]}},k=e=>{let t=x(e),n={...a.value};e.forEach(e=>{n[e.id]=!t}),a.value=n},A=()=>{let e=w.value,t={};i.tests.forEach(n=>{t[n.id]=!e}),a.value=t},j=()=>{a.value={}},M=async()=>{try{await navigator.clipboard.writeText(o.value.map(e=>e.text).join(`
|
|
49
|
+
For more information, see https://www.reka-ui.com/docs/components/${r}`,c=`Warning: Missing \`Description\` or \`aria-describedby="undefined"\` for ${t}.`;(0,n.onMounted)(()=>{document.getElementById(i)||console.warn(s);let e=o.value?.getAttribute(`aria-describedby`);a&&e&&(document.getElementById(a)||console.warn(c))})}var en=(0,n.defineComponent)({__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},present:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let r=e,i=t,a=qe(),{forwardRef:o,currentElement:s}=K();return a.titleId||=St(void 0,`reka-dialog-title`),a.descriptionId||=St(void 0,`reka-dialog-description`),(0,n.onMounted)(()=>{a.contentElement=s,vt()!==document.body&&(a.triggerElement.value=vt())}),process.env.NODE_ENV!==`production`&&$t({titleName:`DialogTitle`,contentName:`DialogContent`,componentLink:`dialog.html#title`,titleId:a.titleId,descriptionId:a.descriptionId,contentElement:s}),(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Gt),{"as-child":``,loop:``,trapped:r.trapFocus,present:r.present,onMountAutoFocus:t[5]||=e=>i(`openAutoFocus`,e),onUnmountAutoFocus:t[6]||=e=>i(`closeAutoFocus`,e)},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(jt),(0,n.mergeProps)({id:(0,n.unref)(a).contentId,ref:(0,n.unref)(o),as:e.as,"as-child":e.asChild,present:r.present,"disable-outside-pointer-events":e.disableOutsidePointerEvents,role:`dialog`,"aria-describedby":(0,n.unref)(a).descriptionId,"aria-labelledby":(0,n.unref)(a).titleId,"data-state":(0,n.unref)(Yt)((0,n.unref)(a).open.value)},e.$attrs,{onDismiss:t[0]||=e=>(0,n.unref)(a).onOpenChange(!1),onEscapeKeyDown:t[1]||=e=>i(`escapeKeyDown`,e),onFocusOutside:t[2]||=e=>i(`focusOutside`,e),onInteractOutside:t[3]||=e=>i(`interactOutside`,e),onPointerDownOutside:t[4]||=e=>i(`pointerDownOutside`,e)}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16,[`id`,`as`,`as-child`,`present`,`disable-outside-pointer-events`,`aria-describedby`,`aria-labelledby`,`data-state`])]),_:3},8,[`trapped`,`present`]))}}),tn=(0,n.defineComponent)({__name:`DialogContentModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let r=e,i=t,a=qe(),o=Ve(i),{forwardRef:s,currentElement:c}=K();_t((0,n.computed)(()=>r.present?c.value:void 0));let l=(0,n.computed)(()=>{let{present:e,...t}=r;return t});return(0,n.watch)(()=>r.present,(e,t)=>{!e&&t&&a.triggerElement.value?.focus()}),(e,t)=>((0,n.openBlock)(),(0,n.createBlock)(en,(0,n.mergeProps)({...l.value,...(0,n.unref)(o)},{ref:(0,n.unref)(s),present:e.present,"trap-focus":(0,n.unref)(a).open.value,"disable-outside-pointer-events":r.disableOutsidePointerEvents,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(e.preventDefault(),(0,n.unref)(a).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:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16,[`present`,`trap-focus`,`disable-outside-pointer-events`]))}}),nn=(0,n.defineComponent)({__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},present:{type:Boolean,required:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let r=e,i=Ve(t);K();let a=qe(),o=(0,n.ref)(!1),s=(0,n.ref)(!1),c=(0,n.computed)(()=>{let{present:e,...t}=r;return t});return(0,n.watch)(()=>r.present,(e,t)=>{!e&&t&&(o.value||a.triggerElement.value?.focus(),o.value=!1,s.value=!1)}),(e,t)=>((0,n.openBlock)(),(0,n.createBlock)(en,(0,n.mergeProps)({...c.value,...(0,n.unref)(i)},{present:e.present,"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(o.value||(0,n.unref)(a).triggerElement.value?.focus(),e.preventDefault()),o.value=!1,s.value=!1},onInteractOutside:t[1]||=e=>{e.defaultPrevented||(o.value=!0,e.detail.originalEvent.type===`pointerdown`&&(s.value=!0));let t=e.target;(0,n.unref)(a).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&s.value&&e.preventDefault()}}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16,[`present`]))}}),rn=(0,n.defineComponent)({__name:`DialogContent`,props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let r=e,i=t,a=qe(),o=Ve(i),{forwardRef:s}=K();return(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(st),{present:e.forceMount||(0,n.unref)(a).open.value,"force-mount":e.forceMount||!(0,n.unref)(a).unmountOnHide.value},{default:(0,n.withCtx)(({present:t})=>[(0,n.unref)(a).modal.value?(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createBlock)(tn,(0,n.mergeProps)({key:0,ref:(0,n.unref)(s),present:(0,n.unref)(a).unmountOnHide.value||t},{...r,...(0,n.unref)(o),...e.$attrs}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:2},1040,[`present`])),[[n.vShow,(0,n.unref)(a).unmountOnHide.value||t]]):(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createBlock)(nn,(0,n.mergeProps)({key:1,ref:(0,n.unref)(s),present:(0,n.unref)(a).unmountOnHide.value||t},{...r,...(0,n.unref)(o),...e.$attrs}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:2},1040,[`present`])),[[n.vShow,(0,n.unref)(a).unmountOnHide.value||t]])]),_:3},8,[`present`,`force-mount`]))}}),an=(0,n.defineComponent)({__name:`DialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let t=e;K();let r=qe();return(e,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),(0,n.mergeProps)(t,{id:(0,n.unref)(r).descriptionId}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16,[`id`]))}});function on(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 sn(e,t,n=`.`,r){if(!on(t))return sn(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]]:on(a)&&on(i[t])?i[t]=sn(a,i[t],(n?`${n}.`:``)+t.toString(),r):i[t]=a))}return i}function cn(e){return(...t)=>t.reduce((t,n)=>sn(t,n,``,e),{})}var ln=cn(),un=(0,i.createSharedComposable)(()=>{let e=(0,n.ref)(new Map),t=(0,n.ref)(),r=(0,n.computed)(()=>{for(let t of e.value.values())if(t)return!0;return!1}),a=yt({scrollBody:(0,n.ref)(!0)}),o=null,s=()=>{document.body.style.paddingRight=``,document.body.style.marginRight=``,document.body.style.pointerEvents=``,document.documentElement.style.removeProperty(`--scrollbar-width`),document.body.style.overflow=t.value??``,et&&o?.(),t.value=void 0};return(0,n.watch)(r,(e,c)=>{if(!$e)return;if(!e){c&&s();return}t.value===void 0&&(t.value=document.body.style.overflow);let l=window.innerWidth-document.documentElement.clientWidth,u={padding:l,margin:0},d=a.scrollBody?.value?typeof a.scrollBody.value==`object`?ln({padding:a.scrollBody.value.padding===!0?l:a.scrollBody.value.padding,margin:a.scrollBody.value.margin===!0?l:a.scrollBody.value.margin},u):u:{padding:0,margin:0};l>0&&(document.body.style.paddingRight=typeof d.padding==`number`?`${d.padding}px`:String(d.padding),document.body.style.marginRight=typeof d.margin==`number`?`${d.margin}px`:String(d.margin),document.documentElement.style.setProperty(`--scrollbar-width`,`${l}px`),document.body.style.overflow=`hidden`),et&&(o=(0,i.useEventListener)(document,`touchmove`,e=>pn(e),{passive:!1})),(0,n.nextTick)(()=>{r.value&&(document.body.style.pointerEvents=`none`,document.body.style.overflow=`hidden`)})},{immediate:!0,flush:`sync`}),e});function dn(e){let t=Math.random().toString(36).substring(2,7),r=un();r.value.set(t,e??!1);let i=(0,n.computed)({get:()=>r.value.get(t)??!1,set:e=>r.value.set(t,e)});return it(()=>{r.value.delete(t)}),i}function fn(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:fn(t)}}function pn(e){let t=e||window.event,n=t.target;return n instanceof Element&&fn(n)?!1:t.touches.length>1?!0:(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}var mn=(0,n.defineComponent)({__name:`DialogOverlayImpl`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1,default:!0}},setup(e){let t=e,r=qe(),i=dn(t.present);return(0,n.watch)(()=>t.present,e=>i.value=e),K(),(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),{as:e.as,"as-child":e.asChild,"data-state":(0,n.unref)(r).open.value?`open`:`closed`,style:{"pointer-events":`auto`},onPointerdown:t[0]||=(0,n.withModifiers)(()=>{},[`left`,`self`,`prevent`])},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-state`]))}}),hn=(0,n.defineComponent)({__name:`DialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=qe(),{forwardRef:r}=K();return(e,i)=>(0,n.unref)(t)?.modal.value?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(st),{key:0,present:e.forceMount||(0,n.unref)(t).open.value,"force-mount":e.forceMount||!(0,n.unref)(t).unmountOnHide.value},{default:(0,n.withCtx)(({present:i})=>[(0,n.withDirectives)((0,n.createVNode)(mn,(0,n.mergeProps)(e.$attrs,{ref:(0,n.unref)(r),as:e.as,"as-child":e.asChild,present:(0,n.unref)(t).unmountOnHide.value||i}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:2},1040,[`as`,`as-child`,`present`]),[[n.vShow,(0,n.unref)(t).unmountOnHide.value||i]])]),_:3},8,[`present`,`force-mount`])):(0,n.createCommentVNode)(`v-if`,!0)}}),gn=(0,n.defineComponent)({__name:`Teleport`,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,r=yt({}),a=(0,n.computed)(()=>t.to??r.teleportTo?.value??`body`),o=(0,i.useMounted)();return(e,t)=>(0,n.unref)(o)||e.forceMount?((0,n.openBlock)(),(0,n.createBlock)(n.Teleport,{key:0,to:a.value,disabled:e.disabled,defer:e.defer},[(0,n.renderSlot)(e.$slots,`default`)],8,[`to`,`disabled`,`defer`])):(0,n.createCommentVNode)(`v-if`,!0)}}),_n=(0,n.defineComponent)({__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,r)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(gn),(0,n.normalizeProps)((0,n.guardReactiveProps)(t)),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16))}}),vn=(0,n.defineComponent)({__name:`DialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let t=e,r=qe();return K(),(e,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),(0,n.mergeProps)(t,{id:(0,n.unref)(r).titleId}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16,[`id`]))}}),yn=(0,n.defineComponent)({__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 K(),(e,r)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),(0,n.mergeProps)(t,{onMousedown:r[0]||=e=>{!e.defaultPrevented&&e.detail>1&&e.preventDefault()}}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16))}});function bn(e){let t=yt({dir:(0,n.ref)(`ltr`)});return(0,n.computed)(()=>e?.value||t.dir?.value||`ltr`)}function xn(e){return(0,n.computed)(()=>(0,n.toValue)(e)?!!(0,i.unrefElement)(e)?.closest(`form`):!0)}function Sn(){let e=(0,n.ref)();return{primitiveElement:e,currentElement:(0,n.computed)(()=>[`#text`,`#comment`].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:(0,i.unrefElement)(e))}}var Cn=`data-reka-collection-item`;function wn(e={}){let{key:t=``,isProvider:r=!1}=e,i=`${t}CollectionProvider`,a;if(r){let e=(0,n.ref)(new Map);a={collectionRef:(0,n.ref)(),itemMap:e},(0,n.provide)(i,a)}else a=(0,n.inject)(i);let o=(e=!1)=>{let t=a.collectionRef.value;if(!t)return[];let n=Array.from(t.querySelectorAll(`[${Cn}]`)),r=new Map(n.map((e,t)=>[e,t])),i=Array.from(a.itemMap.value.values()).sort((e,t)=>(r.get(e.ref)??-1)-(r.get(t.ref)??-1));return e?i:i.filter(e=>e.ref.dataset.disabled!==``)},s=(0,n.defineComponent)({name:`CollectionSlot`,inheritAttrs:!1,setup(e,{slots:t,attrs:r}){let{primitiveElement:i,currentElement:o}=Sn();return(0,n.watch)(o,()=>{a.collectionRef.value=o.value}),()=>(0,n.h)(We,{ref:i,...r},t)}}),c=(0,n.defineComponent)({name:`CollectionItem`,inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(e,{slots:t,attrs:r}){let{primitiveElement:i,currentElement:o}=Sn();return(0,n.watchEffect)(t=>{if(o.value){let r=(0,n.markRaw)(o.value);a.itemMap.value.set(r,{ref:o.value,value:e.value}),t(()=>a.itemMap.value.delete(r))}}),()=>(0,n.h)(We,{...r,[Cn]:``,ref:i},t)}});return{getItems:o,reactiveItems:(0,n.computed)(()=>Array.from(a.itemMap.value.values())),itemMapSize:(0,n.computed)(()=>a.itemMap.value.size),CollectionSlot:s,CollectionItem:c}}var[Tn,En]=Ke(`PopperRoot`),Dn=(0,n.defineComponent)({inheritAttrs:!1,__name:`PopperRoot`,setup(e){let t=(0,n.ref)();return En({anchor:t,onAnchorChange:e=>t.value=e}),(e,t)=>(0,n.renderSlot)(e.$slots,`default`)}}),On=(0,n.defineComponent)({__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)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),{as:e.as,"as-child":e.asChild,"aria-hidden":e.feature===`focusable`||e.feature===`fully-hidden`?`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:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`aria-hidden`,`data-hidden`,`tabindex`]))}}),kn=(0,n.defineComponent)({__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,r=(0,n.ref)(),i=zn();(0,n.watch)(()=>t.value,(e,t)=>{let n=window.HTMLSelectElement.prototype,i=Object.getOwnPropertyDescriptor(n,`value`).set;if(e!==t&&i&&r.value){let t=new Event(`change`,{bubbles:!0});i.call(r.value,e),r.value.dispatchEvent(t)}});function a(e){i.onValueChange(e.target.value)}return(e,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(On),{"as-child":``},{default:(0,n.withCtx)(()=>[(0,n.createElementVNode)(`select`,(0,n.mergeProps)({ref_key:`selectElement`,ref:r},t,{onInput:a}),[(0,n.renderSlot)(e.$slots,`default`)],16)]),_:3}))}});function An(e){return typeof e==`string`?`'${e}'`:new jn().serialize(e)}var jn=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 Mn(e,t){return e===t||An(e)===An(t)}var Nn=[` `,`Enter`,`ArrowUp`,`ArrowDown`],Pn=[` `,`Enter`];function Fn(e,t,n){return e===void 0?!1:Array.isArray(e)?e.some(e=>In(e,t,n)):In(e,t,n)}function In(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]:Mn(e,t)}function Ln(e){return e==null||e===``||Array.isArray(e)&&e.length===0}var Rn=[`value`],[zn,Bn]=Ke(`SelectRoot`),Vn=(0,n.defineComponent)({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},nullableValue:{type:String,required:!1,default:``},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 r=e,a=t,{required:o,disabled:s,multiple:c,dir:l}=(0,n.toRefs)(r),u=(0,i.useVModel)(r,`modelValue`,a,{defaultValue:r.defaultValue??(c.value?[]:void 0),passive:r.modelValue===void 0,deep:!0}),d=(0,i.useVModel)(r,`open`,a,{defaultValue:r.defaultOpen,passive:r.open===void 0}),f=(0,n.ref)(),p=(0,n.ref)(),m=(0,n.ref)({x:0,y:0}),h=(0,n.computed)(()=>c.value&&Array.isArray(u.value)?u.value?.length===0:Ct(u.value));wn({isProvider:!0});let g=bn(l),_=xn(f),v=(0,n.ref)(new Set),y=(0,n.computed)(()=>Array.from(v.value).map(e=>e.value).join(`;`));function b(e){if(c.value){let t=Array.isArray(u.value)?[...u.value]:[],n=t.findIndex(t=>In(t,e,r.by));n===-1?t.push(e):t.splice(n,1),u.value=[...t]}else u.value=e}function x(e){return Array.from(v.value).find(t=>Fn(e,t.value,r.by))}return Bn({triggerElement:f,onTriggerChange:e=>{f.value=e},valueElement:p,onValueElementChange:e=>{p.value=e},contentId:``,modelValue:u,onValueChange:b,by:r.by,open:d,multiple:c,required:o,onOpenChange:e=>{d.value=e},dir:g,triggerPointerDownPosRef:m,disabled:s,isEmptyModelValue:h,optionsSet:v,onOptionAdd:e=>{let t=x(e.value);t&&v.value.delete(t),v.value.add(e)},onOptionRemove:e=>{let t=x(e.value);t&&v.value.delete(t)}}),(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Dn),null,{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`,{modelValue:(0,n.unref)(u),open:(0,n.unref)(d)}),(0,n.unref)(_)&&e.name?((0,n.openBlock)(),(0,n.createBlock)(kn,{key:y.value,"aria-hidden":`true`,tabindex:`-1`,multiple:(0,n.unref)(c),required:(0,n.unref)(o),name:e.name,autocomplete:e.autocomplete,disabled:(0,n.unref)(s),value:(0,n.unref)(u)},{default:(0,n.withCtx)(()=>[(0,n.unref)(Ct)((0,n.unref)(u))?((0,n.openBlock)(),(0,n.createElementBlock)(`option`,{key:0,value:e.nullableValue},null,8,Rn)):(0,n.createCommentVNode)(`v-if`,!0),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(Array.from(v.value),e=>((0,n.openBlock)(),(0,n.createElementBlock)(`option`,(0,n.mergeProps)({key:e.value??``},{ref_for:!0},e),null,16))),128))]),_:1},8,[`multiple`,`required`,`name`,`autocomplete`,`disabled`,`value`])):(0,n.createCommentVNode)(`v-if`,!0)]),_:3}))}}),Hn=0;function Un(){(0,n.watchEffect)(e=>{if(!$e)return;let t=document.querySelectorAll(`[data-reka-focus-guard]`);document.body.insertAdjacentElement(`afterbegin`,t[0]??Wn()),document.body.insertAdjacentElement(`beforeend`,t[1]??Wn()),Hn++,e(()=>{Hn===1&&document.querySelectorAll(`[data-reka-focus-guard]`).forEach(e=>e.remove()),Hn--})})}function Wn(){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 Gn(e){let t=rt(``,1e3);return{search:t,handleTypeaheadSearch:(n,r)=>{if(t.value+=n,e)e(n);else{let e=vt(),n=r.map(e=>({...e,textValue:e.value?.textValue??e.ref.textContent?.trim()??``})),i=n.find(t=>t.ref===e),a=qn(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 Kn(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function qn(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=Kn(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 Jn(e,t=-1/0,n=1/0){return Math.min(n,Math.max(t,e))}var[Yn,Xn]=Ke(`SelectItemAlignedPosition`),Zn=(0,n.defineComponent)({inheritAttrs:!1,__name:`SelectItemAlignedPosition`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`placed`],setup(e,{emit:t}){let r=e,a=t,{getItems:o}=wn(),s=zn(),c=_a(),l=(0,n.ref)(!1),u=(0,n.ref)(!0),d=(0,n.ref)(),{forwardRef:f,currentElement:p}=K(),{viewport:m,selectedItem:h,selectedItemText:g,focusSelectedItem:_}=c;function v(){if(s.triggerElement.value&&s.valueElement.value&&d.value&&p.value&&m?.value&&h?.value&&g?.value){let e=s.triggerElement.value.getBoundingClientRect(),t=p.value.getBoundingClientRect(),n=s.valueElement.value.getBoundingClientRect(),r=g.value.getBoundingClientRect();if(s.dir.value!==`rtl`){let i=r.left-t.left,a=n.left-i,o=e.left-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-10,u=Jn(a,10,Math.max(10,l-c));d.value.style.minWidth=`${s}px`,d.value.style.left=`${u}px`}else{let i=t.right-r.right,a=window.innerWidth-n.right-i,o=window.innerWidth-e.right-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-10,u=Jn(a,10,Math.max(10,l-c));d.value.style.minWidth=`${s}px`,d.value.style.right=`${u}px`}let i=o().map(e=>e.ref),c=window.innerHeight-20,u=m.value.scrollHeight,f=window.getComputedStyle(p.value),_=Number.parseInt(f.borderTopWidth,10),v=Number.parseInt(f.paddingTop,10),y=Number.parseInt(f.borderBottomWidth,10),b=Number.parseInt(f.paddingBottom,10),x=_+v+u+b+y,S=Math.min(h.value.offsetHeight*5,x),C=window.getComputedStyle(m.value),w=Number.parseInt(C.paddingTop,10),T=Number.parseInt(C.paddingBottom,10),E=e.top+e.height/2-10,D=c-E,O=h.value.offsetHeight/2,k=h.value.offsetTop+O,A=_+v+k,j=x-A;if(A<=E){let e=h.value===i.at(-1);d.value.style.bottom=`0px`;let t=p.value.clientHeight-m.value.offsetTop-m.value.offsetHeight,n=A+Math.max(D,O+(e?T:0)+t+y);d.value.style.height=`${n}px`}else{let e=h.value===i[0];d.value.style.top=`0px`;let t=Math.max(E,_+m.value.offsetTop+(e?w:0)+O)+j;d.value.style.height=`${t}px`,m.value.scrollTop=A-E+m.value.offsetTop}d.value.style.margin=`10px 0`,d.value.style.minHeight=`${S}px`,d.value.style.maxHeight=`${c}px`,a(`placed`),requestAnimationFrame(()=>l.value=!0)}}let y=(0,n.ref)(``);(0,n.onMounted)(async()=>{await(0,n.nextTick)(),v(),p.value&&(y.value=window.getComputedStyle(p.value).zIndex)});function b(e){e&&u.value===!0&&(v(),_?.(),u.value=!1)}return(0,i.useResizeObserver)(s.triggerElement,()=>{v()}),Xn({contentWrapper:d,shouldExpandOnScrollRef:l,onScrollButtonChange:b}),(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{ref_key:`contentWrapperElement`,ref:d,style:(0,n.normalizeStyle)({display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:y.value})},[(0,n.createVNode)((0,n.unref)(G),(0,n.mergeProps)({ref:(0,n.unref)(f),style:{boxSizing:`border-box`,maxHeight:`100%`}},{...e.$attrs,...r}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16)],4))}});function Qn(e){let t=(0,n.ref)(),r=(0,n.computed)(()=>t.value?.width??0),a=(0,n.computed)(()=>t.value?.height??0),o;return(0,n.onMounted)(()=>{let n=(0,i.unrefElement)(e);n?(t.value={width:n.offsetWidth,height:n.offsetHeight},o=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}}),o.observe(n,{box:`border-box`})):t.value=void 0}),(0,n.onUnmounted)(()=>{o?.disconnect(),o=void 0}),{width:r,height:a}}function $n(e){return e!==null}function er(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]=tr(n),u={start:e.dir===`rtl`?`100%`:`0%`,center:`50%`,end:e.dir===`rtl`?`0%`:`100%`}[l],d={start:`0%`,center:`50%`,end:`100%`}[l],f=(i.arrow?.x??0)+o/2,p=(i.arrow?.y??0)+s/2,m=``,h=``;return c===`bottom`?(m=a?u:`${f}px`,h=`${-s}px`):c===`top`?(m=a?u:`${f}px`,h=`${r.floating.height+s}px`):c===`right`?(m=`${-s}px`,h=a?d:`${p}px`):c===`left`&&(m=`${r.floating.width+s}px`,h=a?d:`${p}px`),{data:{x:m,y:h}}}}}function tr(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var nr=[`top`,`right`,`bottom`,`left`],rr=Math.min,ir=Math.max,ar=Math.round,or=Math.floor,sr=e=>({x:e,y:e}),cr={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function lr(e,t,n){return ir(e,rr(t,n))}function ur(e,t){return typeof e==`function`?e(t):e}function dr(e){return e.split(`-`)[0]}function fr(e){return e.split(`-`)[1]}function pr(e){return e===`x`?`y`:`x`}function mr(e){return e===`y`?`height`:`width`}function hr(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function gr(e){return pr(hr(e))}function _r(e,t,n){n===void 0&&(n=!1);let r=fr(e),i=gr(e),a=mr(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Er(o)),[o,Er(o)]}function vr(e){let t=Er(e);return[yr(e),t,yr(t)]}function yr(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var br=[`left`,`right`],xr=[`right`,`left`],Sr=[`top`,`bottom`],Cr=[`bottom`,`top`];function wr(e,t,n){switch(e){case`top`:case`bottom`:return n?t?xr:br:t?br:xr;case`left`:case`right`:return t?Sr:Cr;default:return[]}}function Tr(e,t,n,r){let i=fr(e),a=wr(dr(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(yr)))),a}function Er(e){let t=dr(e);return cr[t]+e.slice(t.length)}function Dr(e){return{top:0,right:0,bottom:0,left:0,...e}}function Or(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Dr(e)}function kr(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 Ar(e,t,n){let{reference:r,floating:i}=e,a=hr(t),o=gr(t),s=mr(o),c=dr(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(fr(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 jr(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}=ur(t,e),p=Or(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=kr(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=kr(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 Mr=50,Nr=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:jr},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Ar(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<Mr&&(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}=Ar(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},Pr=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}=ur(e,t)||{};if(l==null)return{};let d=Or(u),f={x:n,y:r},p=gr(i),m=mr(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,E=rr(d[_],T),D=rr(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=lr(O,A,k),M=!c.arrow&&fr(i)!=null&&A!==j&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,N=M?A<O?A-O:A-k:0;return{[p]:f[p]+N,data:{[p]:j,centerOffset:A-j-N,...M&&{alignmentOffset:N}},reset:M}}}),Fr=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}=ur(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=dr(r),_=hr(o),v=dr(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Er(o)]:vr(o)),x=p!==`none`;!d&&x&&b.push(...Tr(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=_r(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`&&_!==hr(t))||T.every(e=>hr(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=hr(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 Ir(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Lr(e){return nr.some(t=>e[t]>=0)}var Rr=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=ur(e,t);switch(i){case`referenceHidden`:{let e=Ir(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:Lr(e)}}}case`escaped`:{let e=Ir(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:Lr(e)}}}default:return{}}}}},zr=new Set([`left`,`top`]);async function Br(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=dr(n),s=fr(n),c=hr(n)===`y`,l=zr.has(o)?-1:1,u=a&&c?-1:1,d=ur(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 Vr=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 Br(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}}}}},Hr=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}=ur(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=hr(dr(i)),p=pr(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=lr(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=lr(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}}}}}},Ur=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}=ur(e,t),u={x:n,y:r},d=hr(i),f=pr(d),p=u[f],m=u[d],h=ur(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=zr.has(dr(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}}}},Wr=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}=ur(e,t),u=await o.detectOverflow(t,l),d=dr(i),f=fr(i),p=hr(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=rr(h-u[g],v),x=rr(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=ir(u.left,0),t=ir(u.right,0),n=ir(u.top,0),r=ir(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:ir(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:ir(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 Gr(){return typeof window<`u`}function Kr(e){return Yr(e)?(e.nodeName||``).toLowerCase():`#document`}function qr(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Jr(e){return((Yr(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Yr(e){return Gr()?e instanceof Node||e instanceof qr(e).Node:!1}function Xr(e){return Gr()?e instanceof Element||e instanceof qr(e).Element:!1}function Zr(e){return Gr()?e instanceof HTMLElement||e instanceof qr(e).HTMLElement:!1}function Qr(e){return!Gr()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof qr(e).ShadowRoot}function $r(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=ui(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function ei(e){return/^(table|td|th)$/.test(Kr(e))}function ti(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var ni=/transform|translate|scale|rotate|perspective|filter/,ri=/paint|layout|strict|content/,ii=e=>!!e&&e!==`none`,ai;function oi(e){let t=Xr(e)?ui(e):e;return ii(t.transform)||ii(t.translate)||ii(t.scale)||ii(t.rotate)||ii(t.perspective)||!ci()&&(ii(t.backdropFilter)||ii(t.filter))||ni.test(t.willChange||``)||ri.test(t.contain||``)}function si(e){let t=fi(e);for(;Zr(t)&&!li(t);){if(oi(t))return t;if(ti(t))return null;t=fi(t)}return null}function ci(){return ai??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),ai}function li(e){return/^(html|body|#document)$/.test(Kr(e))}function ui(e){return qr(e).getComputedStyle(e)}function di(e){return Xr(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function fi(e){if(Kr(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Qr(e)&&e.host||Jr(e);return Qr(t)?t.host:t}function pi(e){let t=fi(e);return li(t)?e.ownerDocument?e.ownerDocument.body:e.body:Zr(t)&&$r(t)?t:pi(t)}function mi(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=pi(e),i=r===e.ownerDocument?.body,a=qr(r);if(i){let e=hi(a);return t.concat(a,a.visualViewport||[],$r(r)?r:[],e&&n?mi(e):[])}else return t.concat(r,mi(r,[],n))}function hi(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function gi(e){let t=ui(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Zr(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=ar(n)!==a||ar(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function _i(e){return Xr(e)?e:e.contextElement}function vi(e){let t=_i(e);if(!Zr(t))return sr(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=gi(t),o=(a?ar(n.width):n.width)/r,s=(a?ar(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var yi=sr(0);function bi(e){let t=qr(e);return!ci()||!t.visualViewport?yi:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function xi(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==qr(e)?!1:t}function Si(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=_i(e),o=sr(1);t&&(r?Xr(r)&&(o=vi(r)):o=vi(e));let s=xi(a,n,r)?bi(a):sr(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=qr(a),t=r&&Xr(r)?qr(r):r,n=e,i=hi(n);for(;i&&r&&t!==n;){let e=vi(i),t=i.getBoundingClientRect(),r=ui(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=qr(i),i=hi(n)}}return kr({width:u,height:d,x:c,y:l})}function Ci(e,t){let n=di(e).scrollLeft;return t?t.left+n:Si(Jr(e)).left+n}function wi(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Ci(e,n),y:n.top+t.scrollTop}}function Ti(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=Jr(r),s=t?ti(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=sr(1),u=sr(0),d=Zr(r);if((d||!d&&!a)&&((Kr(r)!==`body`||$r(o))&&(c=di(r)),d)){let e=Si(r);l=vi(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?wi(o,c):sr(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 Ei(e){return Array.from(e.getClientRects())}function Di(e){let t=Jr(e),n=di(e),r=e.ownerDocument.body,i=ir(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=ir(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Ci(e),s=-n.scrollTop;return ui(r).direction===`rtl`&&(o+=ir(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var Oi=25;function ki(e,t){let n=qr(e),r=Jr(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=ci();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=Ci(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<=Oi&&(a-=o)}else l<=Oi&&(a+=l);return{width:a,height:o,x:s,y:c}}function Ai(e,t){let n=Si(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Zr(e)?vi(e):sr(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function ji(e,t,n){let r;if(t===`viewport`)r=ki(e,n);else if(t===`document`)r=Di(Jr(e));else if(Xr(t))r=Ai(t,n);else{let n=bi(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return kr(r)}function Mi(e,t){let n=fi(e);return n===t||!Xr(n)||li(n)?!1:ui(n).position===`fixed`||Mi(n,t)}function Ni(e,t){let n=t.get(e);if(n)return n;let r=mi(e,[],!1).filter(e=>Xr(e)&&Kr(e)!==`body`),i=null,a=ui(e).position===`fixed`,o=a?fi(e):e;for(;Xr(o)&&!li(o);){let t=ui(o),n=oi(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||$r(o)&&!n&&Mi(e,o))?r=r.filter(e=>e!==o):i=t,o=fi(o)}return t.set(e,r),r}function Pi(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?ti(t)?[]:Ni(t,this._c):[].concat(n),r],o=ji(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=ji(t,a[e],i);s=ir(n.top,s),c=rr(n.right,c),l=rr(n.bottom,l),u=ir(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Fi(e){let{width:t,height:n}=gi(e);return{width:t,height:n}}function Ii(e,t,n){let r=Zr(t),i=Jr(t),a=n===`fixed`,o=Si(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=sr(0);function l(){c.x=Ci(i)}if(r||!r&&!a)if((Kr(t)!==`body`||$r(i))&&(s=di(t)),r){let e=Si(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?wi(i,s):sr(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 Li(e){return ui(e).position===`static`}function Ri(e,t){if(!Zr(e)||ui(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return Jr(e)===n&&(n=n.ownerDocument.body),n}function zi(e,t){let n=qr(e);if(ti(e))return n;if(!Zr(e)){let t=fi(e);for(;t&&!li(t);){if(Xr(t)&&!Li(t))return t;t=fi(t)}return n}let r=Ri(e,t);for(;r&&ei(r)&&Li(r);)r=Ri(r,t);return r&&li(r)&&Li(r)&&!oi(r)?n:r||si(e)||n}var Bi=async function(e){let t=this.getOffsetParent||zi,n=this.getDimensions,r=await n(e.floating);return{reference:Ii(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Vi(e){return ui(e).direction===`rtl`}var Hi={convertOffsetParentRelativeRectToViewportRelativeRect:Ti,getDocumentElement:Jr,getClippingRect:Pi,getOffsetParent:zi,getElementRects:Bi,getClientRects:Ei,getDimensions:Fi,getScale:vi,isElement:Xr,isRTL:Vi};function Ui(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Wi(e,t){let n=null,r,i=Jr(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=or(d),h=or(i.clientWidth-(u+f)),g=or(i.clientHeight-(d+p)),_=or(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:ir(0,rr(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&&!Ui(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 Gi(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=_i(e),u=i||a?[...l?mi(l):[],...t?mi(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Wi(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?Si(e):null;c&&g();function g(){let t=Si(e);h&&!Ui(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 Ki=Vr,qi=Hr,Ji=Fr,Yi=Wr,Xi=Rr,Zi=Pr,Qi=Ur,$i=(e,t,n)=>{let r=new Map,i={platform:Hi,...n},a={...i.platform,_c:r};return Nr(e,t,{...i,platform:a})},q=e.n({Vue:()=>n,Vue2:()=>void 0,del:()=>na,install:()=>ea,isVue2:()=>!1,isVue3:()=>!0,set:()=>ta});e.r(q,require("vue"));function ea(){}function ta(e,t,n){return Array.isArray(e)?(e.length=Math.max(e.length,t),e.splice(t,1,n),n):(e[t]=n,n)}function na(e,t){if(Array.isArray(e)){e.splice(t,1);return}delete e[t]}function ra(e){return typeof e==`object`&&!!e&&`$el`in e}function ia(e){if(ra(e)){let t=e.$el;return Yr(t)&&Kr(t)===`#comment`?null:t}return e}function aa(e){return typeof e==`function`?e():(0,q.unref)(e)}function oa(e){return{name:`arrow`,options:e,fn(t){let n=ia(aa(e.element));return n==null?{}:Zi({element:n,padding:e.padding}).fn(t)}}}function sa(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function ca(e,t){let n=sa(e);return Math.round(t*n)/n}function la(e,t,n){n===void 0&&(n={});let r=n.whileElementsMounted,i=(0,q.computed)(()=>aa(n.open)??!0),a=(0,q.computed)(()=>aa(n.middleware)),o=(0,q.computed)(()=>aa(n.placement)??`bottom`),s=(0,q.computed)(()=>aa(n.strategy)??`absolute`),c=(0,q.computed)(()=>aa(n.transform)??!0),l=(0,q.computed)(()=>ia(e.value)),u=(0,q.computed)(()=>ia(t.value)),d=(0,q.ref)(0),f=(0,q.ref)(0),p=(0,q.ref)(s.value),m=(0,q.ref)(o.value),h=(0,q.shallowRef)({}),g=(0,q.ref)(!1),_=(0,q.computed)(()=>{let e={position:p.value,left:`0`,top:`0`};if(!u.value)return e;let t=ca(u.value,d.value),n=ca(u.value,f.value);return c.value?{...e,transform:`translate(`+t+`px, `+n+`px)`,...sa(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;$i(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(0,q.watch)([a,o,s,i],y,{flush:`sync`}),(0,q.watch)([l,u],x,{flush:`sync`}),(0,q.watch)(i,S,{flush:`sync`}),(0,q.getCurrentScope)()&&(0,q.onScopeDispose)(b),{x:(0,q.shallowReadonly)(d),y:(0,q.shallowReadonly)(f),strategy:(0,q.shallowReadonly)(p),placement:(0,q.shallowReadonly)(m),middlewareData:(0,q.shallowReadonly)(h),isPositioned:(0,q.shallowReadonly)(g),floatingStyles:_,update:y}}var ua=[`dir`],da={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},[fa,pa]=Ke(`PopperContent`),ma=(0,n.defineComponent)({inheritAttrs:!1,__name:`PopperContent`,props:(0,n.mergeDefaults)({memoDependencies:{type:Array,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},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...da}),emits:[`placed`],setup(e,{emit:t}){let r=e,i=t,a=Tn(),{forwardRef:o,currentElement:s}=K(),c=bn((0,n.computed)(()=>r.dir)),l=(0,n.ref)(),u=(0,n.ref)(),{width:d,height:f}=Qn(u),p=(0,n.computed)(()=>r.side+(r.align===`center`?``:`-${r.align}`)),m=(0,n.computed)(()=>typeof r.collisionPadding==`number`?r.collisionPadding:{top:0,right:0,bottom:0,left:0,...r.collisionPadding}),h=(0,n.computed)(()=>Array.isArray(r.collisionBoundary)?r.collisionBoundary:[r.collisionBoundary]),g=(0,n.computed)(()=>({padding:m.value,boundary:h.value.filter($n),altBoundary:h.value.length>0})),_=(0,n.computed)(()=>({mainAxis:r.sideFlip,crossAxis:r.alignFlip})),v=(0,n.computed)(()=>[Ki({mainAxis:r.sideOffset+f.value,alignmentAxis:r.alignOffset}),r.prioritizePosition&&r.avoidCollisions&&Ji({...g.value,..._.value}),r.avoidCollisions&&qi({mainAxis:!0,crossAxis:!!r.prioritizePosition,limiter:r.sticky===`partial`?Qi():void 0,...g.value}),!r.prioritizePosition&&r.avoidCollisions&&Ji({...g.value,..._.value}),Yi({...g.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`)}}),u.value&&oa({element:u.value,padding:r.arrowPadding}),er({arrowWidth:d.value,arrowHeight:f.value,dir:c.value}),r.hideWhenDetached&&Xi({strategy:`referenceHidden`,...g.value})]),{floatingStyles:y,placement:b,isPositioned:x,middlewareData:S,update:C}=la((0,n.computed)(()=>r.reference??a.anchor.value),l,{strategy:r.positionStrategy,placement:p,whileElementsMounted:(...e)=>Gi(...e,{layoutShift:!r.disableUpdateOnLayoutShift,animationFrame:r.updatePositionStrategy===`always`}),middleware:v}),w=(0,n.computed)(()=>tr(b.value)[0]),T=(0,n.computed)(()=>tr(b.value)[1]);(0,n.watchPostEffect)(()=>{x.value&&i(`placed`)});let E=(0,n.computed)(()=>{let e=S.value.arrow?.centerOffset!==0;return r.hideShiftedArrow&&e}),D=(0,n.ref)(``);return(0,n.watchEffect)(()=>{s.value&&(D.value=window.getComputedStyle(s.value).zIndex)}),pa({placedSide:w,onArrowChange:e=>u.value=e,arrowX:(0,n.computed)(()=>S.value.arrow?.x??0),arrowY:(0,n.computed)(()=>S.value.arrow?.y??0),shouldHideArrow:E}),(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{ref_key:`floatingRef`,ref:l,"data-reka-popper-content-wrapper":``,dir:(0,n.unref)(c),style:(0,n.normalizeStyle)({...(0,n.unref)(y),transform:(0,n.unref)(x)?(0,n.unref)(y).transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:D.value,"--reka-popper-transform-origin":[(0,n.unref)(S).transformOrigin?.x,(0,n.unref)(S).transformOrigin?.y].join(` `),...(0,n.unref)(S).hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}})},[r.memoDependencies?(0,n.withMemo)([r.asChild,r.as,w.value,T.value,(0,n.unref)(x),...Object.values(e.$attrs),...r.memoDependencies],()=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),(0,n.mergeProps)({key:0,ref:(0,n.unref)(o)},e.$attrs,{"as-child":r.asChild,as:r.as,"data-side":w.value,"data-align":T.value,style:{animation:(0,n.unref)(x)?void 0:`none`}}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16,[`as-child`,`as`,`data-side`,`data-align`,`style`])),t,0):((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),(0,n.mergeProps)({key:1,ref:(0,n.unref)(o)},e.$attrs,{"as-child":r.asChild,as:r.as,"data-side":w.value,"data-align":T.value,dir:(0,n.unref)(c),style:{animation:(0,n.unref)(x)?void 0:`none`}}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16,[`as-child`,`as`,`data-side`,`data-align`,`dir`,`style`]))],12,ua))}}),ha=(0,n.defineComponent)({__name:`SelectPopperPosition`,props:{memoDependencies:{type:Array,required:!1},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},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=Be(e);return(e,r)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(ma),(0,n.mergeProps)((0,n.unref)(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:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16))}}),ga={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[_a,va]=Ke(`SelectContent`),ya=(0,n.defineComponent)({__name:`SelectContentImpl`,props:{position:{type:String,required:!1,default:`item-aligned`},bodyLock:{type:Boolean,required:!1,default:!0},memoDependencies:{type:Array,required:!1},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},dir:{type:String,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 r=e,a=t,o=zn();Un(),dn(r.bodyLock);let{CollectionSlot:s,getItems:c}=wn(),l=(0,n.ref)();_t(l);let{search:u,handleTypeaheadSearch:d}=Gn(),f=(0,n.ref)(),p=(0,n.ref)(),m=(0,n.ref)(),h=(0,n.ref)(!1),g=(0,n.ref)(!1),_=(0,n.ref)(!1);function v(){p.value&&l.value&&Xt([p.value,l.value])}(0,n.watch)(h,()=>{v()});let{onOpenChange:y,triggerPointerDownPosRef:b}=o;(0,n.watchEffect)(e=>{if(!l.value)return;let t={x:0,y:0},n=e=>{t={x:Math.abs(Math.round(e.pageX)-(b.value?.x??0)),y:Math.abs(Math.round(e.pageY)-(b.value?.y??0))}},r=e=>{e.pointerType!==`touch`&&(t.x<=10&&t.y<=10?e.preventDefault():l.value?.contains(e.target)||y(!1),document.removeEventListener(`pointermove`,n),b.value=null)};b.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 x(e){let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&d(e.key,c()),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=[...c().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(()=>Xt(t)),e.preventDefault()}}let S=Be((0,n.computed)(()=>r.position===`popper`?r:{}).value);return va({content:l,viewport:f,onViewportChange:e=>{f.value=e},itemRefCallback:(e,t,n)=>{let r=!g.value&&!n,i=Fn(o.modelValue.value,t,o.by);if(o.multiple.value){if(_.value)return;(i||r)&&(p.value=e,i&&(_.value=!0))}else(i||r)&&(p.value=e);r&&(g.value=!0)},selectedItem:p,selectedItemText:m,onItemLeave:()=>{l.value?.focus()},itemTextRefCallback:(e,t,n)=>{let r=!g.value&&!n;(Fn(o.modelValue.value,t,o.by)||r)&&(m.value=e)},focusSelectedItem:v,position:r.position,isPositioned:h,searchRef:u}),(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(s),null,{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Gt),{"as-child":``,onMountAutoFocus:t[6]||=(0,n.withModifiers)(()=>{},[`prevent`]),onUnmountAutoFocus:t[7]||=e=>{a(`closeAutoFocus`,e),!e.defaultPrevented&&((0,n.unref)(o).triggerElement.value?.focus({preventScroll:!0}),e.preventDefault())}},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(jt),{"as-child":``,"disable-outside-pointer-events":e.disableOutsidePointerEvents,onFocusOutside:t[2]||=(0,n.withModifiers)(()=>{},[`prevent`]),onDismiss:t[3]||=e=>(0,n.unref)(o).onOpenChange(!1),onEscapeKeyDown:t[4]||=e=>a(`escapeKeyDown`,e),onPointerDownOutside:t[5]||=e=>a(`pointerDownOutside`,e)},{default:(0,n.withCtx)(()=>[((0,n.openBlock)(),(0,n.createBlock)((0,n.resolveDynamicComponent)(e.position===`popper`?ha:Zn),(0,n.mergeProps)({...e.$attrs,...(0,n.unref)(S)},{id:(0,n.unref)(o).contentId,ref:e=>{if(!e)return;let t=(0,n.unref)(i.unrefElement)(e);t?.hasAttribute(`data-reka-popper-content-wrapper`)?l.value=t.firstElementChild:l.value=t},role:`listbox`,"data-state":(0,n.unref)(o).open.value?`open`:`closed`,dir:(0,n.unref)(o).dir.value,style:{display:`flex`,flexDirection:`column`,outline:`none`},onContextmenu:t[0]||=(0,n.withModifiers)(()=>{},[`prevent`]),onPlaced:t[1]||=e=>h.value=!0,onKeydown:x}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`dir`,`onKeydown`]))]),_:3},8,[`disable-outside-pointer-events`])]),_:3})]),_:3}))}}),ba=(0,n.defineComponent)({inheritAttrs:!1,__name:`SelectProvider`,props:{context:{type:Object,required:!0}},setup(e){return Bn(e.context),va(ga),(e,t)=>(0,n.renderSlot)(e.$slots,`default`)}}),xa={key:1},Sa=(0,n.defineComponent)({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},memoDependencies:{type:Array,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},dir:{type:String,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 r=e,i=He(r,t),a=zn(),o=(0,n.ref)();(0,n.onMounted)(()=>{o.value=new DocumentFragment});let s=(0,n.ref)(),c=(0,n.computed)(()=>r.forceMount||a.open.value),l=(0,n.ref)(c.value),u;function d(){u&&=(clearTimeout(u),void 0)}return(0,n.watch)(c,(e,t,n)=>{d(),u=setTimeout(()=>{l.value=c.value,u=void 0}),n(d)}),(0,n.onUnmounted)(d),(e,t)=>c.value||l.value||s.value?.present?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(st),{key:0,ref_key:`presenceRef`,ref:s,present:c.value},{default:(0,n.withCtx)(()=>[(0,n.createVNode)(ya,(0,n.normalizeProps)((0,n.guardReactiveProps)({...(0,n.unref)(i),...e.$attrs})),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16)]),_:3},8,[`present`])):o.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,xa,[((0,n.openBlock)(),(0,n.createBlock)(n.Teleport,{to:o.value},[(0,n.createVNode)(ba,{context:(0,n.unref)(a)},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},8,[`context`])],8,[`to`]))])):(0,n.createCommentVNode)(`v-if`,!0)}}),Ca=(0,n.defineComponent)({__name:`SelectIcon`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),{"aria-hidden":`true`,as:e.as,"as-child":e.asChild},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`,{},()=>[t[0]||=(0,n.createTextVNode)(`▼`)])]),_:3},8,[`as`,`as-child`]))}}),[wa,Ta]=Ke(`SelectItem`),Ea=(0,n.defineComponent)({__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 r=e,i=t,{disabled:a}=(0,n.toRefs)(r),o=zn(),s=_a(),{forwardRef:c,currentElement:l}=K(),{CollectionItem:u}=wn(),d=(0,n.computed)(()=>Fn(o.modelValue?.value,r.value,o.by)),f=(0,n.ref)(!1),p=(0,n.ref)(r.textValue??``),m=St(void 0,`reka-select-item-text`);async function h(e){e.defaultPrevented||wt(`select.select`,g,{originalEvent:e,value:r.value})}async function g(e){await(0,n.nextTick)(),i(`select`,e),!e.defaultPrevented&&(a.value||(o.onValueChange(r.value),o.multiple.value||o.onOpenChange(!1)))}async function _(e){await(0,n.nextTick)(),!e.defaultPrevented&&(a.value?s.onItemLeave?.():e.currentTarget?.focus({preventScroll:!0}))}async function v(e){await(0,n.nextTick)(),!e.defaultPrevented&&e.currentTarget===vt()&&s.onItemLeave?.()}async function y(e){await(0,n.nextTick)(),!e.defaultPrevented&&(s.searchRef?.value!==``&&e.key===` `||(Pn.includes(e.key)&&h(e),e.key===` `&&e.preventDefault()))}if(r.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(0,n.onMounted)(()=>{l.value&&s.itemRefCallback(l.value,r.value,r.disabled)}),Ta({value:r.value,disabled:a,textId:m,isSelected:d,onItemTextChange:e=>{p.value=((p.value||e?.textContent)??``).trim()}}),(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(u),{value:{textValue:p.value}},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(G),{ref:(0,n.unref)(c),role:`option`,"aria-labelledby":(0,n.unref)(m),"data-highlighted":f.value?``:void 0,"aria-selected":d.value,"data-state":d.value?`checked`:`unchecked`,"aria-disabled":(0,n.unref)(a)||void 0,"data-disabled":(0,n.unref)(a)?``:void 0,tabindex:(0,n.unref)(a)?void 0:-1,as:e.as,"as-child":e.asChild,onFocus:t[0]||=e=>f.value=!0,onBlur:t[1]||=e=>f.value=!1,onPointerup:h,onPointerdown:t[2]||=e=>{e.currentTarget.focus({preventScroll:!0})},onTouchend:t[3]||=(0,n.withModifiers)(()=>{},[`prevent`,`stop`]),onPointermove:_,onPointerleave:v,onKeydown:y},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},8,[`aria-labelledby`,`data-highlighted`,`aria-selected`,`data-state`,`aria-disabled`,`data-disabled`,`tabindex`,`as`,`as-child`])]),_:3},8,[`value`]))}}),Da=(0,n.defineComponent)({__name:`SelectItemIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,r=wa();return(e,i)=>(0,n.unref)(r).isSelected.value?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),(0,n.mergeProps)({key:0,"aria-hidden":`true`},t),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16)):(0,n.createCommentVNode)(`v-if`,!0)}}),Oa=(0,n.defineComponent)({inheritAttrs:!1,__name:`SelectItemText`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,r=zn(),i=_a(),a=wa(),{forwardRef:o,currentElement:s}=K(),c=(0,n.computed)(()=>({value:a.value,disabled:a.disabled.value,textContent:s.value?.textContent??a.value?.toString()??``}));return(0,n.onMounted)(()=>{s.value&&(a.onItemTextChange(s.value),i.itemTextRefCallback(s.value,a.value,a.disabled.value),r.onOptionAdd(c.value))}),(0,n.onUnmounted)(()=>{r.onOptionRemove(c.value)}),(e,r)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),(0,n.mergeProps)({id:(0,n.unref)(a).textId,ref:(0,n.unref)(o)},{...t,...e.$attrs}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16,[`id`]))}}),ka=(0,n.defineComponent)({__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,r)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(gn),(0,n.normalizeProps)((0,n.guardReactiveProps)(t)),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16))}}),Aa=(0,n.defineComponent)({__name:`SelectScrollButtonImpl`,emits:[`autoScroll`],setup(e,{emit:t}){let r=t,{getItems:i}=wn(),a=_a(),o=(0,n.ref)(null);function s(){o.value!==null&&(window.clearInterval(o.value),o.value=null)}(0,n.watchEffect)(()=>{i().map(e=>e.ref).find(e=>e===vt())?.scrollIntoView({block:`nearest`})});function c(){o.value===null&&(o.value=window.setInterval(()=>{r(`autoScroll`)},50))}function l(){a.onItemLeave?.(),o.value===null&&(o.value=window.setInterval(()=>{r(`autoScroll`)},50))}return(0,n.onBeforeUnmount)(()=>s()),(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),(0,n.mergeProps)({"aria-hidden":`true`,style:{flexShrink:0}},e.$parent?.$props,{onPointerdown:c,onPointermove:l,onPointerleave:t[0]||=()=>{s()}}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16))}}),ja=(0,n.defineComponent)({__name:`SelectScrollDownButton`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=_a(),r=t.position===`item-aligned`?Yn():void 0,{forwardRef:i,currentElement:a}=K(),o=(0,n.ref)(!1);return(0,n.watchEffect)(e=>{if(t.viewport?.value&&t.isPositioned?.value){let r=t.viewport.value;function n(){let e=r.scrollHeight-r.clientHeight;o.value=Math.ceil(r.scrollTop)<e}n(),r.addEventListener(`scroll`,n),e(()=>r.removeEventListener(`scroll`,n))}}),(0,n.watch)(a,()=>{a.value&&r?.onScrollButtonChange(a.value)}),(e,r)=>o.value?((0,n.openBlock)(),(0,n.createBlock)(Aa,{key:0,ref:(0,n.unref)(i),onAutoScroll:r[0]||=()=>{let{viewport:e,selectedItem:r}=(0,n.unref)(t);e?.value&&r?.value&&(e.value.scrollTop=e.value.scrollTop+r.value.offsetHeight)}},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},512)):(0,n.createCommentVNode)(`v-if`,!0)}}),Ma=(0,n.defineComponent)({__name:`SelectScrollUpButton`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=_a(),r=t.position===`item-aligned`?Yn():void 0,{forwardRef:i,currentElement:a}=K(),o=(0,n.ref)(!1);return(0,n.watchEffect)(e=>{if(t.viewport?.value&&t.isPositioned?.value){let r=t.viewport.value;function n(){o.value=r.scrollTop>0}n(),r.addEventListener(`scroll`,n),e(()=>r.removeEventListener(`scroll`,n))}}),(0,n.watch)(a,()=>{a.value&&r?.onScrollButtonChange(a.value)}),(e,r)=>o.value?((0,n.openBlock)(),(0,n.createBlock)(Aa,{key:0,ref:(0,n.unref)(i),onAutoScroll:r[0]||=()=>{let{viewport:e,selectedItem:r}=(0,n.unref)(t);e?.value&&r?.value&&(e.value.scrollTop=e.value.scrollTop-r.value.offsetHeight)}},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},512)):(0,n.createCommentVNode)(`v-if`,!0)}}),Na=(0,n.defineComponent)({__name:`PopperAnchor`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{forwardRef:r,currentElement:i}=K(),a=Tn();return(0,n.watchPostEffect)(()=>{a.onAnchorChange(t.reference??i.value)}),(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),{ref:(0,n.unref)(r),as:e.as,"as-child":e.asChild},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}}),Pa=(0,n.defineComponent)({__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,r=zn(),{forwardRef:i,currentElement:a}=K(),o=(0,n.computed)(()=>r.disabled?.value||t.disabled);r.contentId||=St(void 0,`reka-select-content`),(0,n.onMounted)(()=>{r.onTriggerChange(a.value)});let{getItems:s}=wn(),{search:c,handleTypeaheadSearch:l,resetTypeahead:u}=Gn();function d(){o.value||(r.onOpenChange(!0),u())}function f(e){d(),r.triggerPointerDownPosRef.value={x:Math.round(e.pageX),y:Math.round(e.pageY)}}function p(e){return e.button===0&&e.ctrlKey===!1}let m=!1;function h(e){if(e.pointerType===`touch`)return e.preventDefault();let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),p(e)&&(f(e),m=!0)}function g(e){p(e)&&e.preventDefault()}function _(e){m||e.currentTarget?.focus(),m=!1}return(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Na),{"as-child":``,reference:e.reference},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(G),{ref:(0,n.unref)(i),role:`combobox`,type:e.as===`button`?`button`:void 0,"aria-controls":(0,n.unref)(r).contentId,"aria-expanded":(0,n.unref)(r).open.value||!1,"aria-required":(0,n.unref)(r).required?.value,"aria-autocomplete":`none`,disabled:o.value,dir:(0,n.unref)(r)?.dir.value,"data-state":(0,n.unref)(r)?.open.value?`open`:`closed`,"data-disabled":o.value?``:void 0,"data-placeholder":(0,n.unref)(Ln)((0,n.unref)(r).modelValue?.value)?``:void 0,"as-child":e.asChild,as:e.as,onClick:_,onPointerdown:h,onMousedown:g,onPointerup:t[0]||=(0,n.withModifiers)(e=>{e.pointerType===`touch`&&f(e)},[`prevent`]),onKeydown:t[1]||=e=>{let t=(0,n.unref)(c)!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&t&&e.key===` `||((0,n.unref)(l)(e.key,(0,n.unref)(s)()),(0,n.unref)(Nn).includes(e.key)&&(d(),e.preventDefault()))}},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(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`]))}}),Fa=(0,n.defineComponent)({__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:r,currentElement:i}=K(),a=zn();(0,n.onMounted)(()=>{a.valueElement=i});let o=(0,n.computed)(()=>{let e=[],t=Array.from(a.optionsSet.value),n=e=>t.find(t=>Fn(e,t.value,a.by));return e=Array.isArray(a.modelValue.value)?a.modelValue.value.map(e=>n(e)?.textContent??``):[n(a.modelValue.value)?.textContent??``],e.filter(Boolean)}),s=(0,n.computed)(()=>o.value.length?o.value.join(`, `):t.placeholder);return(e,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),{ref:(0,n.unref)(r),as:e.as,"as-child":e.asChild,style:{pointerEvents:`none`},"data-placeholder":o.value.length?void 0:t.placeholder},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`,{selectedLabel:o.value,modelValue:(0,n.unref)(a).modelValue.value},()=>[(0,n.createTextVNode)((0,n.toDisplayString)(s.value),1)])]),_:3},8,[`as`,`as-child`,`data-placeholder`]))}});function Ia(e){let t=yt({nonce:(0,n.ref)()});return(0,n.computed)(()=>e?.value||t.nonce?.value)}var La=(0,n.defineComponent)({__name:`SelectViewport`,props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{nonce:r}=(0,n.toRefs)(t),i=Ia(r),a=_a(),o=a.position===`item-aligned`?Yn():void 0,{forwardRef:s,currentElement:c}=K();(0,n.onMounted)(()=>{a?.onViewportChange(c.value)});let l=(0,n.ref)(0);function u(e){let t=e.currentTarget,{shouldExpandOnScrollRef:n,contentWrapper:r}=o??{};if(n?.value&&r?.value){let e=Math.abs(l.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`)}}}l.value=t.scrollTop}return(e,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,[(0,n.createVNode)((0,n.unref)(G),(0,n.mergeProps)({ref:(0,n.unref)(s),"data-reka-select-viewport":``,role:`presentation`},{...e.$attrs,...t},{style:{position:`relative`,flex:1,overflow:`hidden auto`},onScroll:u}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16),(0,n.createVNode)((0,n.unref)(G),{as:`style`,nonce:(0,n.unref)(i)},{default:(0,n.withCtx)(()=>r[0]||=[(0,n.createTextVNode)(` /* 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))}});function Ra(){let e=(0,n.getCurrentInstance)()?.vnode?.scopeId;return e?{[e]:``}:{}}var za=(0,n.defineComponent)({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:r,currentElement:i}=Sn();return(0,n.watch)((0,n.computed)(()=>t.checked??t.value),(e,t)=>{if(!i.value)return;let n=i.value,r=window.HTMLInputElement.prototype,a=Object.getOwnPropertyDescriptor(r,`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,i)=>((0,n.openBlock)(),(0,n.createBlock)(On,(0,n.mergeProps)({ref_key:`primitiveElement`,ref:r},{...t,...e.$attrs},{as:`input`}),null,16))}}),Ba=(0,n.defineComponent)({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,r=(0,n.computed)(()=>typeof t.value==`object`&&Array.isArray(t.value)&&t.value.length===0&&t.required),i=(0,n.computed)(()=>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,a)=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,[(0,n.createCommentVNode)(` We render single input if it's required `),r.value?((0,n.openBlock)(),(0,n.createBlock)(za,(0,n.mergeProps)({key:e.name},{...t,...e.$attrs},{name:e.name,value:e.value}),null,16,[`name`,`value`])):((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,{key:1},(0,n.renderList)(i.value,r=>((0,n.openBlock)(),(0,n.createBlock)(za,(0,n.mergeProps)({key:r.name},{ref_for:!0},{...t,...e.$attrs},{name:r.name,value:r.value}),null,16,[`name`,`value`]))),128))],2112))}}),[Va,Ha]=Ke(`SwitchRoot`),Ua=(0,n.defineComponent)({inheritAttrs:!1,__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 r=e,a=t,{disabled:o}=(0,n.toRefs)(r),s=(0,i.useVModel)(r,`modelValue`,a,{defaultValue:r.defaultValue??r.falseValue,passive:r.modelValue===void 0}),c=(0,n.computed)(()=>s.value===r.trueValue);function l(){o.value||(s.value=c.value?r.falseValue:r.trueValue)}let{forwardRef:u,currentElement:d}=K(),f=xn(d),p=Ra(),m=(0,n.computed)(()=>r.id&&d.value?document.querySelector(`[for="${r.id}"]`)?.innerText:void 0);return Ha({checked:c,toggleCheck:l,disabled:o}),(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,[(0,n.createVNode)((0,n.unref)(G),(0,n.mergeProps)({id:e.id,ref:(0,n.unref)(u),role:`switch`,type:e.as===`button`?`button`:void 0,value:e.value,"aria-label":e.$attrs[`aria-label`]||m.value,"aria-checked":c.value,"aria-required":e.required,"data-state":c.value?`checked`:`unchecked`,"data-disabled":(0,n.unref)(o)?``:void 0,"as-child":e.asChild,as:e.as,disabled:(0,n.unref)(o)},{...(0,n.unref)(p),...e.$attrs},{onClick:l,onKeydown:(0,n.withKeys)((0,n.withModifiers)(l,[`prevent`]),[`enter`])}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`,{modelValue:(0,n.unref)(s),checked:c.value})]),_:3},16,[`id`,`type`,`value`,`aria-label`,`aria-checked`,`aria-required`,`data-state`,`data-disabled`,`as-child`,`as`,`disabled`,`onKeydown`]),(0,n.unref)(f)&&e.name?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Ba),(0,n.mergeProps)({key:0,type:`checkbox`,name:e.name,disabled:(0,n.unref)(o),required:e.required,value:e.value,checked:c.value},(0,n.unref)(p)),null,16,[`name`,`disabled`,`required`,`value`,`checked`])):(0,n.createCommentVNode)(`v-if`,!0)],64))}}),Wa=(0,n.defineComponent)({__name:`SwitchThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=Va();return K(),(e,r)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),{"data-state":(0,n.unref)(t).checked.value?`checked`:`unchecked`,"data-disabled":(0,n.unref)(t).disabled.value?``:void 0,"as-child":e.asChild,as:e.as},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},8,[`data-state`,`data-disabled`,`as-child`,`as`]))}}),Ga=(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},Ka=(e,t)=>({classGroupId:e,validator:t}),qa=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),Ja=`-`,Ya=[],Xa=`arbitrary..`,Za=e=>{let t=eo(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return $a(e);let n=e.split(Ja);return Qa(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?Ga(i,t):t:i||Ya}return n[e]||Ya}}},Qa=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=Qa(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(Ja):e.slice(t).join(Ja),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},$a=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?Xa+r:void 0})(),eo=e=>{let{theme:t,classGroups:n}=e;return to(n,t)},to=(e,t)=>{let n=qa();for(let r in e){let i=e[r];no(i,n,r,t)}return n},no=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];ro(i,t,n,r)}},ro=(e,t,n,r)=>{if(typeof e==`string`){io(e,t,n);return}if(typeof e==`function`){ao(e,t,n,r);return}oo(e,t,n,r)},io=(e,t,n)=>{let r=e===``?t:so(t,e);r.classGroupId=n},ao=(e,t,n,r)=>{if(co(e)){no(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(Ka(n,e))},oo=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];no(o,so(t,a),n,r)}},so=(e,t)=>{let n=e,r=t.split(Ja),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=qa(),n.nextPart.set(t,i)),n=i}return n},co=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,lo=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)}}},uo=`!`,fo=`:`,po=[],mo=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),ho=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===fo){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(uo)?(c=s.slice(0,-1),l=!0):s.startsWith(uo)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return mo(t,l,c,u)};if(t){let e=t+fo,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):mo(po,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},go=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}},_o=e=>({cache:lo(e.cacheSize),parseClassName:ho(e),sortModifiers:go(e),postfixLookupClassGroupIds:vo(e),...Za(e)}),vo=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},yo=/\s+/,bo=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(yo),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?_+uo:_,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},xo=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=So(n))&&(i&&(i+=` `),i+=r);return i},So=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=So(e[r]))&&(n&&(n+=` `),n+=t);return n},Co=(e,...t)=>{let n,r,i,a,o=o=>(n=_o(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=bo(e,n);return i(e,a),a};return a=o,(...e)=>a(xo(...e))},wo=[],J=e=>{let t=t=>t[e]||wo;return t.isThemeGetter=!0,t},To=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Eo=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Do=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Oo=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ko=/\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$/,Ao=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,jo=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Mo=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,No=e=>Do.test(e),Y=e=>!!e&&!Number.isNaN(Number(e)),Po=e=>!!e&&Number.isInteger(Number(e)),Fo=e=>e.endsWith(`%`)&&Y(e.slice(0,-1)),Io=e=>Oo.test(e),Lo=()=>!0,Ro=e=>ko.test(e)&&!Ao.test(e),zo=()=>!1,Bo=e=>jo.test(e),Vo=e=>Mo.test(e),Ho=e=>!X(e)&&!Z(e),Uo=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)),Wo=e=>as(e,ls,zo),X=e=>To.test(e),Go=e=>as(e,us,Ro),Ko=e=>as(e,ds,Y),qo=e=>as(e,ps,Lo),Jo=e=>as(e,fs,zo),Yo=e=>as(e,ss,zo),Xo=e=>as(e,cs,Vo),Zo=e=>as(e,ms,Bo),Z=e=>Eo.test(e),Qo=e=>os(e,us),$o=e=>os(e,fs),es=e=>os(e,ss),ts=e=>os(e,ls),ns=e=>os(e,cs),rs=e=>os(e,ms,!0),is=e=>os(e,ps,!0),as=(e,t,n)=>{let r=To.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},os=(e,t,n=!1)=>{let r=Eo.exec(e);return r?r[1]?t(r[1]):n:!1},ss=e=>e===`position`||e===`percentage`,cs=e=>e===`image`||e===`url`,ls=e=>e===`length`||e===`size`||e===`bg-size`,us=e=>e===`length`,ds=e=>e===`number`,fs=e=>e===`family-name`,ps=e=>e===`number`||e===`weight`,ms=e=>e===`shadow`,hs=Co(()=>{let e=J(`color`),t=J(`font`),n=J(`text`),r=J(`font-weight`),i=J(`tracking`),a=J(`leading`),o=J(`breakpoint`),s=J(`container`),c=J(`spacing`),l=J(`radius`),u=J(`shadow`),d=J(`inset-shadow`),f=J(`text-shadow`),p=J(`drop-shadow`),m=J(`blur`),h=J(`perspective`),g=J(`aspect`),_=J(`ease`),v=J(`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=()=>[No,`full`,`auto`,...w()],E=()=>[Po,`none`,`subgrid`,Z,X],D=()=>[`auto`,{span:[`full`,Po,Z,X]},Po,Z,X],O=()=>[Po,`auto`,Z,X],k=()=>[`auto`,`min`,`max`,`fr`,Z,X],A=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],j=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],M=()=>[`auto`,...w()],N=()=>[No,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],P=()=>[No,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],ee=()=>[No,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],F=()=>[e,Z,X],te=()=>[...b(),es,Yo,{position:[Z,X]}],ne=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],I=()=>[`auto`,`cover`,`contain`,ts,Wo,{size:[Z,X]}],L=()=>[Fo,Qo,Go],R=()=>[``,`none`,`full`,l,Z,X],z=()=>[``,Y,Qo,Go],re=()=>[`solid`,`dashed`,`dotted`,`double`],ie=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],B=()=>[Y,Fo,es,Yo],V=()=>[``,`none`,m,Z,X],H=()=>[`none`,Y,Z,X],ae=()=>[`none`,Y,Z,X],oe=()=>[Y,Z,X],se=()=>[No,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[Io],breakpoint:[Io],color:[Lo],container:[Io],"drop-shadow":[Io],ease:[`in`,`out`,`in-out`],font:[Ho],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[Io],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[Io],shadow:[Io],spacing:[`px`,Y],text:[Io],"text-shadow":[Io],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,No,X,Z,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,Z,X]}],"container-named":[Uo],columns:[{columns:[Y,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:[Po,`auto`,Z,X]}],basis:[{basis:[No,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[Y,No,`auto`,`initial`,`none`,X]}],grow:[{grow:[``,Y,Z,X]}],shrink:[{shrink:[``,Y,Z,X]}],order:[{order:[Po,`first`,`last`,`none`,Z,X]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":O()}],"col-end":[{"col-end":O()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":O()}],"row-end":[{"row-end":O()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":k()}],"auto-rows":[{"auto-rows":k()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...A(),`normal`]}],"justify-items":[{"justify-items":[...j(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...j()]}],"align-content":[{content:[`normal`,...A()]}],"align-items":[{items:[...j(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...j(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":A()}],"place-items":[{"place-items":[...j(),`baseline`]}],"place-self":[{"place-self":[`auto`,...j()]}],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:M()}],mx:[{mx:M()}],my:[{my:M()}],ms:[{ms:M()}],me:[{me:M()}],mbs:[{mbs:M()}],mbe:[{mbe:M()}],mt:[{mt:M()}],mr:[{mr:M()}],mb:[{mb:M()}],ml:[{ml:M()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:N()}],"inline-size":[{inline:[`auto`,...P()]}],"min-inline-size":[{"min-inline":[`auto`,...P()]}],"max-inline-size":[{"max-inline":[`none`,...P()]}],"block-size":[{block:[`auto`,...ee()]}],"min-block-size":[{"min-block":[`auto`,...ee()]}],"max-block-size":[{"max-block":[`none`,...ee()]}],w:[{w:[s,`screen`,...N()]}],"min-w":[{"min-w":[s,`screen`,`none`,...N()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...N()]}],h:[{h:[`screen`,`lh`,...N()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...N()]}],"max-h":[{"max-h":[`screen`,`lh`,...N()]}],"font-size":[{text:[`base`,n,Qo,Go]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,is,qo]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Fo,X]}],"font-family":[{font:[$o,Jo,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":[Y,`none`,Z,Ko]}],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:F()}],"text-color":[{text:F()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...re(),`wavy`]}],"text-decoration-thickness":[{decoration:[Y,`from-font`,`auto`,Z,Go]}],"text-decoration-color":[{decoration:F()}],"underline-offset":[{"underline-offset":[Y,`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:[Po,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:te()}],"bg-repeat":[{bg:ne()}],"bg-size":[{bg:I()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},Po,Z,X],radial:[``,Z,X],conic:[Po,Z,X]},ns,Xo]}],"bg-color":[{bg:F()}],"gradient-from-pos":[{from:L()}],"gradient-via-pos":[{via:L()}],"gradient-to-pos":[{to:L()}],"gradient-from":[{from:F()}],"gradient-via":[{via:F()}],"gradient-to":[{to:F()}],rounded:[{rounded:R()}],"rounded-s":[{"rounded-s":R()}],"rounded-e":[{"rounded-e":R()}],"rounded-t":[{"rounded-t":R()}],"rounded-r":[{"rounded-r":R()}],"rounded-b":[{"rounded-b":R()}],"rounded-l":[{"rounded-l":R()}],"rounded-ss":[{"rounded-ss":R()}],"rounded-se":[{"rounded-se":R()}],"rounded-ee":[{"rounded-ee":R()}],"rounded-es":[{"rounded-es":R()}],"rounded-tl":[{"rounded-tl":R()}],"rounded-tr":[{"rounded-tr":R()}],"rounded-br":[{"rounded-br":R()}],"rounded-bl":[{"rounded-bl":R()}],"border-w":[{border:z()}],"border-w-x":[{"border-x":z()}],"border-w-y":[{"border-y":z()}],"border-w-s":[{"border-s":z()}],"border-w-e":[{"border-e":z()}],"border-w-bs":[{"border-bs":z()}],"border-w-be":[{"border-be":z()}],"border-w-t":[{"border-t":z()}],"border-w-r":[{"border-r":z()}],"border-w-b":[{"border-b":z()}],"border-w-l":[{"border-l":z()}],"divide-x":[{"divide-x":z()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":z()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...re(),`hidden`,`none`]}],"divide-style":[{divide:[...re(),`hidden`,`none`]}],"border-color":[{border:F()}],"border-color-x":[{"border-x":F()}],"border-color-y":[{"border-y":F()}],"border-color-s":[{"border-s":F()}],"border-color-e":[{"border-e":F()}],"border-color-bs":[{"border-bs":F()}],"border-color-be":[{"border-be":F()}],"border-color-t":[{"border-t":F()}],"border-color-r":[{"border-r":F()}],"border-color-b":[{"border-b":F()}],"border-color-l":[{"border-l":F()}],"divide-color":[{divide:F()}],"outline-style":[{outline:[...re(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[Y,Z,X]}],"outline-w":[{outline:[``,Y,Qo,Go]}],"outline-color":[{outline:F()}],shadow:[{shadow:[``,`none`,u,rs,Zo]}],"shadow-color":[{shadow:F()}],"inset-shadow":[{"inset-shadow":[`none`,d,rs,Zo]}],"inset-shadow-color":[{"inset-shadow":F()}],"ring-w":[{ring:z()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:F()}],"ring-offset-w":[{"ring-offset":[Y,Go]}],"ring-offset-color":[{"ring-offset":F()}],"inset-ring-w":[{"inset-ring":z()}],"inset-ring-color":[{"inset-ring":F()}],"text-shadow":[{"text-shadow":[`none`,f,rs,Zo]}],"text-shadow-color":[{"text-shadow":F()}],opacity:[{opacity:[Y,Z,X]}],"mix-blend":[{"mix-blend":[...ie(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ie()}],"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":[Y]}],"mask-image-linear-from-pos":[{"mask-linear-from":B()}],"mask-image-linear-to-pos":[{"mask-linear-to":B()}],"mask-image-linear-from-color":[{"mask-linear-from":F()}],"mask-image-linear-to-color":[{"mask-linear-to":F()}],"mask-image-t-from-pos":[{"mask-t-from":B()}],"mask-image-t-to-pos":[{"mask-t-to":B()}],"mask-image-t-from-color":[{"mask-t-from":F()}],"mask-image-t-to-color":[{"mask-t-to":F()}],"mask-image-r-from-pos":[{"mask-r-from":B()}],"mask-image-r-to-pos":[{"mask-r-to":B()}],"mask-image-r-from-color":[{"mask-r-from":F()}],"mask-image-r-to-color":[{"mask-r-to":F()}],"mask-image-b-from-pos":[{"mask-b-from":B()}],"mask-image-b-to-pos":[{"mask-b-to":B()}],"mask-image-b-from-color":[{"mask-b-from":F()}],"mask-image-b-to-color":[{"mask-b-to":F()}],"mask-image-l-from-pos":[{"mask-l-from":B()}],"mask-image-l-to-pos":[{"mask-l-to":B()}],"mask-image-l-from-color":[{"mask-l-from":F()}],"mask-image-l-to-color":[{"mask-l-to":F()}],"mask-image-x-from-pos":[{"mask-x-from":B()}],"mask-image-x-to-pos":[{"mask-x-to":B()}],"mask-image-x-from-color":[{"mask-x-from":F()}],"mask-image-x-to-color":[{"mask-x-to":F()}],"mask-image-y-from-pos":[{"mask-y-from":B()}],"mask-image-y-to-pos":[{"mask-y-to":B()}],"mask-image-y-from-color":[{"mask-y-from":F()}],"mask-image-y-to-color":[{"mask-y-to":F()}],"mask-image-radial":[{"mask-radial":[Z,X]}],"mask-image-radial-from-pos":[{"mask-radial-from":B()}],"mask-image-radial-to-pos":[{"mask-radial-to":B()}],"mask-image-radial-from-color":[{"mask-radial-from":F()}],"mask-image-radial-to-color":[{"mask-radial-to":F()}],"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":[Y]}],"mask-image-conic-from-pos":[{"mask-conic-from":B()}],"mask-image-conic-to-pos":[{"mask-conic-to":B()}],"mask-image-conic-from-color":[{"mask-conic-from":F()}],"mask-image-conic-to-color":[{"mask-conic-to":F()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:te()}],"mask-repeat":[{mask:ne()}],"mask-size":[{mask:I()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,Z,X]}],filter:[{filter:[``,`none`,Z,X]}],blur:[{blur:V()}],brightness:[{brightness:[Y,Z,X]}],contrast:[{contrast:[Y,Z,X]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,rs,Zo]}],"drop-shadow-color":[{"drop-shadow":F()}],grayscale:[{grayscale:[``,Y,Z,X]}],"hue-rotate":[{"hue-rotate":[Y,Z,X]}],invert:[{invert:[``,Y,Z,X]}],saturate:[{saturate:[Y,Z,X]}],sepia:[{sepia:[``,Y,Z,X]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,Z,X]}],"backdrop-blur":[{"backdrop-blur":V()}],"backdrop-brightness":[{"backdrop-brightness":[Y,Z,X]}],"backdrop-contrast":[{"backdrop-contrast":[Y,Z,X]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,Y,Z,X]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Y,Z,X]}],"backdrop-invert":[{"backdrop-invert":[``,Y,Z,X]}],"backdrop-opacity":[{"backdrop-opacity":[Y,Z,X]}],"backdrop-saturate":[{"backdrop-saturate":[Y,Z,X]}],"backdrop-sepia":[{"backdrop-sepia":[``,Y,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:[Y,`initial`,Z,X]}],ease:[{ease:[`linear`,`initial`,_,Z,X]}],delay:[{delay:[Y,Z,X]}],animate:[{animate:[`none`,v,Z,X]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,Z,X]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:H()}],"rotate-x":[{"rotate-x":H()}],"rotate-y":[{"rotate-y":H()}],"rotate-z":[{"rotate-z":H()}],scale:[{scale:ae()}],"scale-x":[{"scale-x":ae()}],"scale-y":[{"scale-y":ae()}],"scale-z":[{"scale-z":ae()}],"scale-3d":[`scale-3d`],skew:[{skew:oe()}],"skew-x":[{"skew-x":oe()}],"skew-y":[{"skew-y":oe()}],transform:[{transform:[Z,X,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:se()}],"translate-x":[{"translate-x":se()}],"translate-y":[{"translate-y":se()}],"translate-z":[{"translate-z":se()}],"translate-none":[`translate-none`],zoom:[{zoom:[Po,Z,X]}],accent:[{accent:F()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:F()}],"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":F()}],"scrollbar-track-color":[{"scrollbar-track":F()}],"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`,...F()]}],"stroke-w":[{stroke:[Y,Qo,Go,Ko]}],stroke:[{stroke:[`none`,...F()]}],"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 Q(...e){return hs(Ie(e))}var gs=(0,n.defineComponent)({__name:`Button`,props:{variant:{},size:{},class:{type:[Boolean,null,String,Object,Array]},asChild:{type:Boolean},as:{default:`button`}},setup(e){let t=e;return(r,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(G),{"data-slot":`button`,as:e.as,"as-child":e.asChild,class:(0,n.normalizeClass)((0,n.unref)(Q)((0,n.unref)(_s)({variant:e.variant,size:e.size}),t.class))},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(r.$slots,`default`)]),_:3},8,[`as`,`as-child`,`class`]))}}),_s=ze(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,destructive:`bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2 has-[>svg]:px-3`,sm:`h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5`,lg:`h-10 rounded-md px-6 has-[>svg]:px-4`,icon:`size-9`,"icon-sm":`size-8`,"icon-lg":`size-10`}},defaultVariants:{variant:`default`,size:`default`}}),vs=(0,n.defineComponent)({__name:`Dialog`,props:{open:{type:Boolean},defaultOpen:{type:Boolean},modal:{type:Boolean},unmountOnHide:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let r=He(e,t);return(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Ye),(0,n.mergeProps)({"data-slot":`dialog`},(0,n.unref)(r)),{default:(0,n.withCtx)(t=>[(0,n.renderSlot)(e.$slots,`default`,(0,n.normalizeProps)((0,n.guardReactiveProps)(t)))]),_:3},16))}}),ys=e=>e===``,bs=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),xs=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),Ss=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),Cs=e=>{let t=Ss(e);return t.charAt(0).toUpperCase()+t.slice(1)},ws={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`},Ts=Symbol(`lucide-icons`);function Es(){return(0,n.inject)(Ts,{})}var Ds=({name:e,iconNode:t,absoluteStrokeWidth:r,"absolute-stroke-width":i,strokeWidth:a,"stroke-width":o,size:s,color:c,...l},{slots:u})=>{let{size:d,color:f,strokeWidth:p=2,absoluteStrokeWidth:m=!1,class:h=``}=Es(),g=(0,n.computed)(()=>{let e=ys(r)||ys(i)||r===!0||i===!0||m===!0,t=a||o||p||ws[`stroke-width`];return e?Number(t)*24/Number(s??d??ws.width):t});return(0,n.h)(`svg`,{...ws,...l,width:s??d??ws.width,height:s??d??ws.height,stroke:c??f??ws.stroke,"stroke-width":g.value,class:bs(`lucide`,h,...e?[`lucide-${xs(Cs(e))}-icon`,`lucide-${xs(e)}`]:[`lucide-icon`])},[...t.map(e=>(0,n.h)(...e)),...u.default?[u.default()]:[]])},Os=(e,t)=>(r,{slots:i,attrs:a})=>(0,n.h)(Ds,{...a,...r,iconNode:t,name:e},i.default?{default:i.default}:void 0),ks=Os(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),As=Os(`square-pen`,[[`path`,{d:`M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`,key:`1m0v6g`}],[`path`,{d:`M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z`,key:`ohrbg2`}]]),js=Os(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),Ms=Os(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),Ns=Os(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),Ps=Os(`code`,[[`path`,{d:`m16 18 6-6-6-6`,key:`eg8j8`}],[`path`,{d:`m8 6-6 6 6 6`,key:`ppft3o`}]]),Fs=Os(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),Is=Os(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),Ls=Os(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),Rs=(0,n.defineComponent)({__name:`DialogOverlay`,props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,r=(0,i.reactiveOmit)(t,`class`);return(e,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(hn),(0,n.mergeProps)({"data-slot":`dialog-overlay`},(0,n.unref)(r),{class:(0,n.unref)(Q)(`fixed inset-0 z-50 bg-black/80`,t.class)}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16,[`class`]))}}),zs=(0,n.defineComponent)({inheritAttrs:!1,__name:`DialogContent`,props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},showCloseButton:{type:Boolean,default:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let r=e,a=t,o=He((0,i.reactiveOmit)(r,`class`),a);return(t,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(_n),null,{default:(0,n.withCtx)(()=>[(0,n.createVNode)(Rs),(0,n.createVNode)((0,n.unref)(rn),(0,n.mergeProps)({"data-slot":`dialog-content`},{...t.$attrs,...(0,n.unref)(o)},{class:(0,n.unref)(Q)(`bg-background fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg sm:max-w-lg`,r.class)}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(t.$slots,`default`),e.showCloseButton?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Xe),{key:0,"data-slot":`dialog-close`,class:`ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Ls)),i[0]||=(0,n.createElementVNode)(`span`,{class:`sr-only`},`Close`,-1)]),_:1})):(0,n.createCommentVNode)(``,!0)]),_:3},16,[`class`])]),_:3}))}}),Bs=(0,n.defineComponent)({__name:`DialogDescription`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,r=Be((0,i.reactiveOmit)(t,`class`));return(e,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(an),(0,n.mergeProps)({"data-slot":`dialog-description`},(0,n.unref)(r),{class:(0,n.unref)(Q)(`text-muted-foreground text-sm`,t.class)}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16,[`class`]))}}),Vs=(0,n.defineComponent)({__name:`DialogFooter`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{"data-slot":`dialog-footer`,class:(0,n.normalizeClass)((0,n.unref)(Q)(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,t.class))},[(0,n.renderSlot)(e.$slots,`default`)],2))}}),Hs=(0,n.defineComponent)({__name:`DialogHeader`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{"data-slot":`dialog-header`,class:(0,n.normalizeClass)((0,n.unref)(Q)(`flex flex-col gap-2 text-center sm:text-left`,t.class))},[(0,n.renderSlot)(e.$slots,`default`)],2))}}),Us=(0,n.defineComponent)({__name:`DialogTitle`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,r=Be((0,i.reactiveOmit)(t,`class`));return(e,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(vn),(0,n.mergeProps)({"data-slot":`dialog-title`},(0,n.unref)(r),{class:(0,n.unref)(Q)(`text-lg leading-none font-semibold`,t.class)}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16,[`class`]))}}),Ws={class:`space-y-2`},Gs={key:0,class:`text-sm text-destructive`},Ks=(0,n.defineComponent)({__name:`DeleteConfirmationDialog`,props:{isOpen:{type:Boolean},title:{default:`Confirm Delete`},question:{default:`Are you sure you want to delete this item?`},warning:{default:`This action cannot be undone.`},confirmLabel:{default:`Delete`},confirmingLabel:{default:`Deleting...`},cancelLabel:{default:`Cancel`},isDeleting:{type:Boolean,default:!1}},emits:[`confirm`,`cancel`,`update:isOpen`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.computed)({get:()=>r.isOpen,set:e=>{i(`update:isOpen`,e),e||i(`cancel`)}}),o=()=>{i(`confirm`)},s=()=>{r.isDeleting||i(`cancel`)};return(t,r)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(vs),{open:a.value,"onUpdate:open":r[0]||=e=>a.value=e},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(zs),null,{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Hs),null,{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Us),null,{default:(0,n.withCtx)(()=>[(0,n.createTextVNode)((0,n.toDisplayString)(e.title),1)]),_:1}),(0,n.createVNode)((0,n.unref)(Bs),null,{default:(0,n.withCtx)(()=>[(0,n.createElementVNode)(`div`,Ws,[(0,n.createElementVNode)(`p`,null,(0,n.toDisplayString)(e.question),1),e.warning?((0,n.openBlock)(),(0,n.createElementBlock)(`p`,Gs,(0,n.toDisplayString)(e.warning),1)):(0,n.createCommentVNode)(``,!0)])]),_:1})]),_:1}),(0,n.createVNode)((0,n.unref)(Vs),null,{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(gs),{variant:`outline`,disabled:e.isDeleting,onClick:s},{default:(0,n.withCtx)(()=>[(0,n.createTextVNode)((0,n.toDisplayString)(e.cancelLabel),1)]),_:1},8,[`disabled`]),(0,n.createVNode)((0,n.unref)(gs),{variant:`destructive`,disabled:e.isDeleting,onClick:o},{default:(0,n.withCtx)(()=>[e.isDeleting?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(ks),{key:0,class:`h-4 w-4 mr-1.5 animate-spin`})):(0,n.createCommentVNode)(``,!0),(0,n.createTextVNode)(` `+(0,n.toDisplayString)(e.isDeleting?e.confirmingLabel:e.confirmLabel),1)]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`]))}}),qs=t.s.forScope(`useBlobExplorer`);function Js(e){let r=(0,n.ref)([]),i=(0,n.ref)(!1),a=(0,n.ref)(!1),o=(0,n.ref)(0);async function s(n){let a=e();if(!a)return{};i.value=!0;try{let e=await(await t.o.getClientAsync()).document(a).blobs().list({limit:n.limit,...n.cursor?{cursor:n.cursor}:{}});return r.value=e.items.map(e=>({...e,size:e.size??e.numBytes??null,uploadedAt:e.uploadedAt??e.createdAt??null})),qs.debug(`Blobs page loaded`,{count:r.value.length,docId:a}),console.log(`blobs result`,e),{nextCursor:e.cursor}}catch(e){return qs.error(`Failed to load blobs`,e),U(`Failed to load blobs: `+W(e)),{}}finally{i.value=!1}}async function c(n){let a=e();if(!a)return null;i.value=!0;try{let e=await(await t.o.getClientAsync()).document(a).blobs().get(n);if(!e)return null;let i={...e,size:e.size??e.numBytes??null,uploadedAt:e.uploadedAt??e.createdAt??null};return r.value=[i],i}catch{return r.value=[],null}finally{i.value=!1}}async function l(n,r){let i=e();if(!i)return null;a.value=!0,o.value=0;try{let e=(await t.o.getClientAsync()).document(i).blobs(),a=await n.arrayBuffer();r?.(10),o.value=10;let{blobId:s}=await e.upload(new Uint8Array(a),{filename:n.name,contentType:n.type||`application/octet-stream`,disposition:`attachment`});return o.value=100,r?.(100),qs.debug(`Blob uploaded`,{blobId:s,filename:n.name}),Ne(`Uploaded "${n.name}"`),s}catch(e){return qs.error(`Failed to upload blob`,e),U(`Upload failed: `+W(e)),null}finally{a.value=!1,o.value=0}}function u(e){r.value=r.value.filter(t=>t.blobId!==e)}async function d(n){let i=e();if(!i)return!1;try{return await(await t.o.getClientAsync()).document(i).blobs().delete(n),r.value=r.value.filter(e=>e.blobId!==n),qs.debug(`Blob deleted`,{blobId:n}),!0}catch(e){return qs.error(`Failed to delete blob`,e),U(`Delete failed: `+W(e)),!1}}async function f(n){let i=e();if(!i)return n;let a=[];try{let e=(await t.o.getClientAsync()).document(i).blobs();await Promise.all(n.map(async t=>{try{await e.delete(t)}catch(e){qs.error(`Failed to delete blob`,{id:t,err:e}),a.push(t)}}));let o=new Set(a);r.value=r.value.filter(e=>o.has(e.blobId)||!n.includes(e.blobId)),a.length>0&&U(`Failed to delete ${a.length} blob(s).`)}catch(e){qs.error(`Failed during bulk delete`,e),U(`Bulk delete failed: `+W(e))}return a}async function p(n,r=`attachment`){let i=e();if(!i)return null;try{return(await t.o.getClientAsync()).document(i).blobs().downloadUrl(n,{disposition:r})}catch(e){return qs.error(`Failed to get download URL`,e),null}}async function m(n,r=`blob`){let i=e();if(!i)return null;try{return await(await t.o.getClientAsync()).document(i).blobs().read(n,{as:r})}catch(e){return qs.error(`Failed to read blob content`,e),null}}return{blobs:r,isLoading:i,isUploading:a,uploadProgress:o,loadPage:s,getBlob:c,uploadFile:l,removeBlob:u,deleteBlob:d,deleteBlobsBulk:f,getDownloadUrl:p,readBlobContent:m}}var Ys=new Set([`text/plain`,`text/html`,`text/markdown`,`application/json`,`application/xml`,`text/xml`,`image/svg+xml`,`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`image/avif`,`image/bmp`,`image/x-icon`,`image/vnd.microsoft.icon`,`audio/mpeg`,`audio/wav`,`audio/ogg`,`video/mp4`,`video/webm`,`application/pdf`]);function Xs(e){let[t=``]=e.split(`;`),n=t.trim().toLowerCase();return Ys.has(n)}function Zs(e){return e==null||isNaN(e)?`—`:e<1024?e+` B`:e<1024*1024?(e/1024).toFixed(1)+` KB`:(e/(1024*1024)).toFixed(1)+` MB`}function Qs(e,t=`short`){if(!e)return`—`;let n=new Date(e);return isNaN(n.getTime())?`—`:n.toLocaleDateString(`en-US`,{month:t===`long`?`long`:`short`,day:`numeric`,year:`numeric`})}function $s(e){navigator.clipboard.writeText(e).catch(()=>{let t=document.createElement(`textarea`);t.value=e,document.body.appendChild(t),t.select(),document.execCommand(`copy`),document.body.removeChild(t)})}var ec={class:`relative h-full flex`},tc=[`title`],nc={class:`w-64 lg:w-72 h-full border-l border-border flex flex-col bg-background`},rc={key:0,class:`flex-1 flex flex-col items-center justify-center text-center p-6`},ic={class:`flex items-center px-3 py-2 border-b border-border shrink-0`},ac={class:`text-xs font-medium truncate`},oc={class:`flex-1 overflow-y-auto scrollbar-thin p-3 space-y-4`},sc={key:0},cc={key:0,class:`rounded-lg border border-border bg-muted/30 aspect-video flex items-center justify-center`},lc={key:1,class:`rounded-lg overflow-hidden border border-border bg-muted/30`},uc=[`src`],dc={key:1,class:`aspect-video flex items-center justify-center p-4`},fc={key:2,class:`rounded-lg overflow-hidden border border-border bg-muted/30`},pc=[`src`],mc={key:1,class:`h-24 flex items-center justify-center p-4`},hc={key:3,class:`rounded-lg border border-border bg-muted/30 p-2 font-mono text-[10px] text-muted-foreground leading-relaxed max-h-28 overflow-hidden relative`},gc={key:0},_c={key:1,class:`opacity-40`},vc={class:`space-y-1`},yc=[`disabled`],bc={key:0,class:`w-3.5 h-3.5 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},xc={key:1,class:`w-3.5 h-3.5 text-muted-foreground animate-spin`,fill:`none`,viewBox:`0 0 24 24`},Sc=[`disabled`],Cc={key:0,class:`w-3.5 h-3.5 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},wc={key:1,class:`w-3.5 h-3.5 text-muted-foreground animate-spin`,fill:`none`,viewBox:`0 0 24 24`},Tc={class:`space-y-2 text-xs`},Ec=[`title`],Dc={class:`text-[10px] font-mono text-muted-foreground group-hover:text-foreground break-all`},Oc={key:0,class:`w-3 h-3 text-green-600 shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},kc={key:1,class:`w-3 h-3 text-muted-foreground opacity-0 group-hover:opacity-100 shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Ac={class:`flex justify-between`},jc=[`title`],Mc={class:`flex justify-between min-w-0`},Nc=[`title`],Pc={class:`flex justify-between`},Fc={class:`flex justify-between`},Ic={key:0},Lc={class:`text-[10px] font-mono text-muted-foreground group-hover:text-foreground break-all`},Rc={key:0,class:`w-3 h-3 text-green-600 shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},zc={key:1,class:`w-3 h-3 text-muted-foreground opacity-0 group-hover:opacity-100 shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Bc=(0,n.defineComponent)({__name:`BlobDetailPanel`,props:{documentId:{},selectedBlob:{},canWrite:{type:Boolean}},emits:[`delete-blob`,`reload-blobs`],setup(e,{emit:t}){let r=e,i=t,{readBlobContent:a,deleteBlob:o}=Js(()=>r.documentId),s=(0,n.ref)(typeof window<`u`?localStorage.getItem(ke)===`true`:!1);(0,n.watch)(s,e=>{typeof window<`u`&&localStorage.setItem(ke,String(e))});let c=(0,n.computed)(()=>r.selectedBlob?.contentType.startsWith(`image/`)),l=(0,n.computed)(()=>r.selectedBlob?(r.selectedBlob.contentType.startsWith(`text/`)||r.selectedBlob.contentType===`application/json`)&&r.selectedBlob.contentType!==`text/html`:!1),u=(0,n.computed)(()=>r.selectedBlob?.contentType===`text/csv`||r.selectedBlob?.contentType.includes(`spreadsheet`)===!0),d=(0,n.computed)(()=>r.selectedBlob?.contentType===`application/pdf`),f=(0,n.computed)(()=>!!c.value||!!d.value||l.value||u.value),p=(0,n.ref)(null),m=(0,n.ref)(null),h=(0,n.ref)(!1);function g(){p.value&&=(URL.revokeObjectURL(p.value),null),m.value=null}async function _(e){if(g(),c.value||d.value){h.value=!0;try{let t=await a(e.blobId,`blob`);t instanceof Blob&&(p.value=URL.createObjectURL(t))}finally{h.value=!1}}else if(l.value||u.value){h.value=!0;try{let t=await a(e.blobId,`text`);typeof t==`string`&&(m.value=t.slice(0,600))}finally{h.value=!1}}}(0,n.watch)(()=>r.selectedBlob,e=>{e?_(e):g()},{immediate:!0}),(0,n.onUnmounted)(()=>{g(),y&&clearTimeout(y)});let v=(0,n.ref)(null),y=null;function b(e,t){$s(e),v.value=t,y&&clearTimeout(y),y=setTimeout(()=>{v.value=null},1200)}let x=(0,n.ref)(!1);async function S(){if(!(!r.selectedBlob||x.value)){x.value=!0;try{let e=await a(r.selectedBlob.blobId,`blob`);if(!e)return;let t=URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=r.selectedBlob.filename,document.body.appendChild(n),n.click(),document.body.removeChild(n),setTimeout(()=>URL.revokeObjectURL(t),5e3)}finally{x.value=!1}}}let C=(0,n.computed)(()=>r.selectedBlob?Xs(r.selectedBlob.contentType):!1),w=(0,n.ref)(!1);async function T(){if(!(!r.selectedBlob||w.value)){w.value=!0;try{let e=await a(r.selectedBlob.blobId,`blob`);if(!e)return;let t=e,n=t.type;n.startsWith(`text/`)&&!n.includes(`charset`)&&(t=new Blob([await t.arrayBuffer()],{type:`${n}; charset=utf-8`}));let i=URL.createObjectURL(t);window.open(i,`_blank`),setTimeout(()=>URL.revokeObjectURL(i),6e4)}finally{w.value=!1}}}let E=(0,n.ref)(!1),D=(0,n.ref)(!1);async function O(){if(!r.selectedBlob)return;let e=r.selectedBlob.blobId;E.value=!1,i(`delete-blob`,e),D.value=!0;try{await o(e)||i(`reload-blobs`)}finally{D.value=!1}}return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,[(0,n.createElementVNode)(`div`,ec,[(0,n.createElementVNode)(`button`,{class:`absolute -left-5 top-1/2 -translate-y-1/2 w-5 h-10 bg-muted border border-border border-r-0 rounded-l flex items-center justify-center hover:bg-muted/80 z-20`,title:s.value?`Show properties`:`Hide properties`,onClick:r[0]||=e=>s.value=!s.value},[((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,{class:(0,n.normalizeClass)([`w-3 h-3 text-muted-foreground transition-transform`,{"rotate-180":s.value}]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[...r[5]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 5l7 7-7 7`},null,-1)]],2))],8,tc),(0,n.withDirectives)((0,n.createElementVNode)(`div`,nc,[e.selectedBlob?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[(0,n.createElementVNode)(`div`,ic,[(0,n.createElementVNode)(`span`,ac,(0,n.toDisplayString)(e.selectedBlob.filename),1)]),(0,n.createElementVNode)(`div`,oc,[f.value||h.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,sc,[r[11]||=(0,n.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Preview `,-1),h.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,cc,[...r[7]||=[(0,n.createElementVNode)(`svg`,{class:`w-5 h-5 text-muted-foreground/50 animate-spin`,fill:`none`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`}),(0,n.createElementVNode)(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z`})],-1)]])):c.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,lc,[p.value?((0,n.openBlock)(),(0,n.createElementBlock)(`img`,{key:0,src:p.value,class:`w-full h-auto object-contain max-h-48`,alt:`Preview`},null,8,uc)):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,dc,[...r[8]||=[(0,n.createElementVNode)(`svg`,{class:`w-8 h-8 text-muted-foreground/40`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z`})],-1)]]))])):d.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,fc,[p.value?((0,n.openBlock)(),(0,n.createElementBlock)(`iframe`,{key:0,src:p.value,class:`w-full h-48 border-0`,title:`PDF preview`},null,8,pc)):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,mc,[...r[9]||=[(0,n.createElementVNode)(`span`,{class:`text-[10px] text-muted-foreground`},`Unable to load preview`,-1)]]))])):l.value||u.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,hc,[m.value?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,gc,(0,n.toDisplayString)(m.value),1)):((0,n.openBlock)(),(0,n.createElementBlock)(`span`,_c,`Loading…`)),r[10]||=(0,n.createElementVNode)(`div`,{class:`absolute bottom-0 inset-x-0 h-8 bg-gradient-to-t from-muted/60 to-transparent pointer-events-none`},null,-1)])):(0,n.createCommentVNode)(``,!0)])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,null,[r[17]||=(0,n.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Actions `,-1),(0,n.createElementVNode)(`div`,vc,[(0,n.createElementVNode)(`button`,{class:`w-full flex items-center gap-2 px-2 py-1.5 text-xs hover:bg-muted rounded text-left disabled:opacity-50`,disabled:x.value,onClick:S},[x.value?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,xc,[...r[13]||=[(0,n.createElementVNode)(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`},null,-1),(0,n.createElementVNode)(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z`},null,-1)]])):((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,bc,[...r[12]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4`},null,-1)]])),(0,n.createTextVNode)(` `+(0,n.toDisplayString)(x.value?`Downloading…`:`Download`),1)],8,yc),C.value?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`w-full flex items-center gap-2 px-2 py-1.5 text-xs hover:bg-muted rounded text-left disabled:opacity-50`,disabled:w.value,onClick:T},[w.value?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,wc,[...r[15]||=[(0,n.createElementVNode)(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`},null,-1),(0,n.createElementVNode)(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z`},null,-1)]])):((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Cc,[...r[14]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14`},null,-1)]])),(0,n.createTextVNode)(` `+(0,n.toDisplayString)(w.value?`Opening…`:`Open in new tab`),1)],8,Sc)):(0,n.createCommentVNode)(``,!0),e.canWrite?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:1,class:`w-full flex items-center gap-2 px-2 py-1.5 text-xs hover:bg-destructive/10 rounded text-destructive text-left`,onClick:r[1]||=e=>E.value=!0},[...r[16]||=[(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16`})],-1),(0,n.createTextVNode)(` Delete blob `,-1)]])):(0,n.createCommentVNode)(``,!0)])]),(0,n.createElementVNode)(`div`,null,[r[28]||=(0,n.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Info `,-1),(0,n.createElementVNode)(`div`,Tc,[(0,n.createElementVNode)(`div`,null,[r[20]||=(0,n.createElementVNode)(`div`,{class:`text-muted-foreground mb-0.5`},`Blob ID`,-1),(0,n.createElementVNode)(`button`,{class:`flex items-center gap-1 group hover:text-foreground w-full`,title:e.selectedBlob.blobId,onClick:r[2]||=t=>b(e.selectedBlob.blobId,`detail_blobid`)},[(0,n.createElementVNode)(`code`,Dc,(0,n.toDisplayString)(e.selectedBlob.blobId),1),v.value===`detail_blobid`?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Oc,[...r[18]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,kc,[...r[19]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`},null,-1)]]))],8,Ec)]),(0,n.createElementVNode)(`div`,Ac,[r[21]||=(0,n.createElementVNode)(`span`,{class:`text-muted-foreground`},`Filename`,-1),(0,n.createElementVNode)(`span`,{class:`font-medium text-right truncate ml-2 max-w-[150px]`,title:e.selectedBlob.filename},(0,n.toDisplayString)(e.selectedBlob.filename),9,jc)]),(0,n.createElementVNode)(`div`,Mc,[r[22]||=(0,n.createElementVNode)(`span`,{class:`text-muted-foreground shrink-0`},`Content Type`,-1),(0,n.createElementVNode)(`span`,{class:`font-mono text-[10px] text-right break-all ml-2 min-w-0`,title:e.selectedBlob.contentType},(0,n.toDisplayString)(e.selectedBlob.contentType),9,Nc)]),(0,n.createElementVNode)(`div`,Pc,[r[23]||=(0,n.createElementVNode)(`span`,{class:`text-muted-foreground`},`Size`,-1),(0,n.createElementVNode)(`span`,null,(0,n.toDisplayString)((0,n.unref)(Zs)(e.selectedBlob.size)),1)]),(0,n.createElementVNode)(`div`,Fc,[r[24]||=(0,n.createElementVNode)(`span`,{class:`text-muted-foreground`},`Uploaded`,-1),(0,n.createElementVNode)(`span`,null,(0,n.toDisplayString)((0,n.unref)(Qs)(e.selectedBlob.uploadedAt,`long`)),1)]),e.selectedBlob.sha256?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Ic,[r[27]||=(0,n.createElementVNode)(`div`,{class:`text-muted-foreground mb-0.5`},`SHA-256`,-1),(0,n.createElementVNode)(`button`,{class:`flex items-center gap-1 group hover:text-foreground w-full`,onClick:r[3]||=t=>b(e.selectedBlob.sha256,`detail_sha256`)},[(0,n.createElementVNode)(`code`,Lc,(0,n.toDisplayString)(e.selectedBlob.sha256),1),v.value===`detail_sha256`?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Rc,[...r[25]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,zc,[...r[26]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`},null,-1)]]))])])):(0,n.createCommentVNode)(``,!0)])])])],64)):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,rc,[...r[6]||=[(0,n.createElementVNode)(`svg`,{class:`w-8 h-8 text-muted-foreground/30 mb-2`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z`})],-1),(0,n.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},` Select a blob to view details `,-1)]]))],512),[[n.vShow,!s.value]])]),(0,n.createVNode)(Ks,{"is-open":E.value,title:`Delete Blob`,question:`Delete "${e.selectedBlob?.filename}"?`,warning:`This action cannot be undone.`,"is-deleting":D.value,onCancel:r[4]||=e=>E.value=!1,onConfirm:O},null,8,[`is-open`,`question`,`is-deleting`])],64))}}),Vc={class:`w-48 lg:w-56 border-r border-border flex flex-col bg-background shrink-0`},Hc={class:`p-2 border-b border-border`},Uc={class:`relative`},Wc={class:`flex-1 overflow-y-auto scrollbar-thin`},Gc={key:1,class:`px-2 py-4 text-center text-xs text-muted-foreground`},Kc=[`onClick`],qc=(0,n.defineComponent)({__name:`BlobExplorerDocumentSidebar`,props:{documents:{},selectedDocId:{},documentListLoaded:{type:Boolean}},emits:[`select-document`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.ref)(``),o=(0,n.computed)(()=>{let e=a.value.trim().toLowerCase();return e?r.documents.filter(t=>(t.title||``).toLowerCase().includes(e)||t.documentId.toLowerCase().includes(e)):r.documents});function s(e){if(e.isRoot)return`root`;let t=e.permission??`owner`;return t===`reader`?`Viewer`:t===`read-write`?`Editor`:t===`owner`?`Owner`:t}function c(e){if(e.isRoot)return`bg-amber-500/10 text-amber-600`;let t=e.permission??`owner`;return t===`read-write`?`bg-blue-500/10 text-blue-600`:t===`reader`?`bg-green-500/10 text-green-600`:`bg-muted text-muted-foreground`}return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Vc,[(0,n.createElementVNode)(`div`,Hc,[(0,n.createElementVNode)(`div`,Uc,[r[1]||=(0,n.createElementVNode)(`svg`,{class:`absolute left-2 top-1/2 -translate-y-1/2 w-3 h-3 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z`})],-1),(0,n.withDirectives)((0,n.createElementVNode)(`input`,{"onUpdate:modelValue":r[0]||=e=>a.value=e,type:`text`,placeholder:`Search documents…`,class:`w-full pl-7 pr-2 py-1 text-xs bg-muted border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`},null,512),[[n.vModelText,a.value]])])]),r[3]||=(0,n.createElementVNode)(`div`,{class:`flex items-center px-2 py-1.5 bg-muted border-b border-border`},[(0,n.createElementVNode)(`span`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide flex-1`},` Documents `)],-1),(0,n.createElementVNode)(`div`,Wc,[e.documentListLoaded?o.value.length===0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Gc,(0,n.toDisplayString)(a.value?`No matches`:`No documents`),1)):((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,{key:2},(0,n.renderList)(o.value,t=>((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:t.documentId,class:(0,n.normalizeClass)([`w-full flex items-center gap-1 px-2 py-1.5 cursor-pointer border-l-2 text-left`,[e.selectedDocId===t.documentId?`border-primary bg-primary/5`:`border-transparent hover:bg-muted/30`,t.isRoot?`opacity-60`:``]]),onClick:e=>i(`select-document`,t.documentId)},[(0,n.createElementVNode)(`span`,{class:(0,n.normalizeClass)([`text-xs flex-1 truncate`,e.selectedDocId===t.documentId?`font-medium`:``])},(0,n.toDisplayString)(t.title||t.documentId),3),(0,n.createElementVNode)(`span`,{class:(0,n.normalizeClass)([`text-[9px] px-1 py-0.5 rounded shrink-0`,c(t)])},(0,n.toDisplayString)(s(t)),3)],10,Kc))),128)):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},(0,n.renderList)(4,e=>(0,n.createElementVNode)(`div`,{key:e,class:`flex items-center gap-2 px-2 py-2`},[...r[2]||=[(0,n.createElementVNode)(`div`,{class:`h-3 bg-muted rounded flex-1 animate-pulse`},null,-1),(0,n.createElementVNode)(`div`,{class:`h-3 w-10 bg-muted rounded animate-pulse`},null,-1)]])),64))])]))}}),Jc={class:`bg-background rounded-lg shadow-xl w-96 p-4`},Yc={key:0,class:`mb-3 text-[11px] text-destructive font-medium`},Xc={key:1,class:`mb-3 p-3 bg-muted/50 rounded-lg border border-border`},Zc={class:`flex items-start gap-2`},Qc={class:`flex-1 min-w-0`},$c={class:`text-xs font-medium truncate`},el={class:`text-[10px] text-muted-foreground mt-0.5`},tl={class:`flex items-center gap-1 mt-1`},nl={class:`text-[10px] font-mono text-muted-foreground`},rl={class:`flex justify-end gap-2`},il=[`disabled`],al=10*1024*1024,ol=(0,n.defineComponent)({__name:`BlobUploadDialog`,props:{open:{type:Boolean}},emits:[`update:open`,`upload`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.ref)(null),o=(0,n.ref)(!1),s=(0,n.ref)(``),c=(0,n.ref)(!1),l=(0,n.ref)(null);(0,n.watch)(()=>r.open,e=>{e||(a.value=null,s.value=``,o.value=!1,l.value=null)});let u=(0,n.computed)(()=>!!a.value);function d(e){return e<1024?e+` B`:e<1024*1024?(e/1024).toFixed(1)+` KB`:(e/(1024*1024)).toFixed(1)+` MB`}async function f(e){let t=await e.arrayBuffer(),n=await crypto.subtle.digest(`SHA-256`,t);return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}async function p(e){if(l.value=null,e.size>al){l.value=`File is too large (${d(e.size)}). Max 10 MB.`,a.value=null,s.value=``;return}a.value=e,s.value=``,c.value=!0;try{s.value=(await f(e)).slice(0,16)+`…`}catch{s.value=`unavailable`}finally{c.value=!1}}function m(){a.value=null,s.value=``,l.value=null}function h(e){let t=e.target,n=t.files?.[0];n&&p(n),t.value=``}function g(e){e.preventDefault(),o.value=!1;let t=e.dataTransfer?.files[0];t&&p(t)}function _(e){e.preventDefault(),o.value=!0}function v(){o.value=!1}function y(){a.value&&(i(`upload`,a.value),i(`update:open`,!1))}function b(){i(`update:open`,!1)}function x(e){e.key===`Escape`&&r.open&&(e.stopPropagation(),b())}return(0,n.onMounted)(()=>document.addEventListener(`keydown`,x,!0)),(0,n.onUnmounted)(()=>document.removeEventListener(`keydown`,x,!0)),(t,r)=>((0,n.openBlock)(),(0,n.createBlock)(n.Teleport,{to:`body`},[e.open?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,class:`fixed inset-0 bg-black/50 flex items-center justify-center z-50`,"data-devtools-modal":``,onClick:(0,n.withModifiers)(b,[`self`])},[(0,n.createElementVNode)(`div`,Jc,[(0,n.createElementVNode)(`div`,{class:`flex items-center justify-between mb-3`},[r[2]||=(0,n.createElementVNode)(`h3`,{class:`text-sm font-semibold`},`Upload Blob`,-1),(0,n.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded`,onClick:b},[...r[1]||=[(0,n.createElementVNode)(`svg`,{class:`w-4 h-4 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M6 18L18 6M6 6l12 12`})],-1)]])]),(0,n.createElementVNode)(`div`,{class:(0,n.normalizeClass)([`border-2 border-dashed rounded-lg p-6 text-center mb-3 cursor-pointer transition-colors`,o.value?`border-primary bg-primary/5`:`border-border hover:border-muted-foreground/50 hover:bg-muted/20`]),onClick:r[0]||=e=>t.$refs.fileInput.click(),onDrop:g,onDragover:_,onDragleave:v},[r[3]||=(0,n.createElementVNode)(`svg`,{class:`w-8 h-8 text-muted-foreground mx-auto mb-2`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12`})],-1),r[4]||=(0,n.createElementVNode)(`p`,{class:`text-xs font-medium`},[(0,n.createTextVNode)(` Drop file here or `),(0,n.createElementVNode)(`span`,{class:`text-primary underline`},`browse`)],-1),r[5]||=(0,n.createElementVNode)(`p`,{class:`text-[10px] text-muted-foreground mt-1`},` Max 10 MB per file `,-1),(0,n.createElementVNode)(`input`,{ref:`fileInput`,type:`file`,class:`hidden`,onChange:h},null,544)],34),l.value?((0,n.openBlock)(),(0,n.createElementBlock)(`p`,Yc,(0,n.toDisplayString)(l.value),1)):(0,n.createCommentVNode)(``,!0),a.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Xc,[(0,n.createElementVNode)(`div`,Zc,[r[8]||=(0,n.createElementVNode)(`svg`,{class:`w-5 h-5 text-muted-foreground shrink-0 mt-0.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z`})],-1),(0,n.createElementVNode)(`div`,Qc,[(0,n.createElementVNode)(`div`,$c,(0,n.toDisplayString)(a.value.name),1),(0,n.createElementVNode)(`div`,el,(0,n.toDisplayString)(d(a.value.size)),1),(0,n.createElementVNode)(`div`,tl,[r[6]||=(0,n.createElementVNode)(`span`,{class:`text-[10px] text-muted-foreground`},`SHA-256:`,-1),(0,n.createElementVNode)(`span`,nl,(0,n.toDisplayString)(c.value?`computing…`:s.value),1)])]),(0,n.createElementVNode)(`button`,{class:`p-0.5 hover:bg-muted rounded text-muted-foreground shrink-0`,onClick:m},[...r[7]||=[(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M6 18L18 6M6 6l12 12`})],-1)]])])])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,rl,[(0,n.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs hover:bg-muted rounded`,onClick:b},` Cancel `),(0,n.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90 disabled:opacity-50 flex items-center gap-1.5`,disabled:!u.value,onClick:y},[...r[9]||=[(0,n.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12`})],-1),(0,n.createTextVNode)(` Upload `,-1)]],8,il)])])])):(0,n.createCommentVNode)(``,!0)]))}}),sl={class:`flex flex-col flex-1 min-h-0`},cl={class:`flex-1 relative min-h-0`},ll={class:`absolute inset-0 overflow-auto scrollbar-thin`},ul={key:0,class:`p-6 space-y-2 animate-pulse`},dl={key:1,class:`flex flex-col items-center justify-center h-full py-16 text-center`},fl={class:`text-xs text-muted-foreground`},pl={key:2,class:`w-full min-w-[680px] text-xs`},ml={class:`border-b border-border`},hl={key:0,class:`w-8 px-2 py-1.5 text-left sticky top-0 z-10 bg-muted`},gl=[`checked`,`indeterminate`],_l={class:`divide-y divide-border`},vl=[`onClick`],yl=[`checked`,`onChange`],bl={class:`px-2 py-2`},xl={class:`flex items-center gap-2`},Sl={class:`font-medium truncate max-w-[180px]`},Cl={class:`px-2 py-2 text-muted-foreground text-[10px] font-mono`},wl={class:`px-2 py-2 text-muted-foreground`},Tl={class:`px-2 py-2 text-muted-foreground`},El={class:`px-2 py-2`},Dl=[`title`,`onClick`],Ol={class:`truncate max-w-[90px]`},kl={key:0,class:`w-3 h-3 text-green-600 shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Al={key:1,class:`w-3 h-3 opacity-0 group-hover:opacity-100 shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},jl={class:`relative flex items-center gap-0.5`},Ml=[`onClick`],Nl=[`onClick`],Pl={key:0,class:`flex-shrink-0 flex items-center justify-between pl-3 pr-16 py-2 border-t border-border bg-muted/20 text-xs`},Fl={class:`flex items-center gap-2 text-muted-foreground`},Il=[`value`],Ll=[`value`],Rl={class:`flex items-center gap-1`},zl=[`disabled`],Bl={class:`px-2 py-1 tabular-nums text-muted-foreground`},Vl=[`disabled`],Hl={key:0,class:`fixed bottom-0 left-0 right-0 z-50 border-t border-border bg-background/95 backdrop-blur-sm px-4 py-2.5`},Ul={class:`max-w-screen-lg mx-auto flex items-center gap-3`},Wl={class:`flex-1 min-w-0`},Gl={class:`flex items-center justify-between mb-1`},Kl={class:`text-[10px] font-medium truncate max-w-xs`},ql={class:`text-[10px] text-muted-foreground shrink-0 ml-3`},Jl={class:`w-full bg-border rounded-full h-1`},Yl={key:0,class:`fixed inset-0 bg-black/50 flex items-center justify-center z-50`},Xl={class:`bg-background rounded-lg shadow-xl px-6 py-4 flex items-center gap-3`},Zl={class:`text-sm`},Ql=`primitive-blob-explorer-page-size`,$l=25,eu=(0,n.defineComponent)({__name:`BlobTablePanel`,props:{documentId:{},searchQuery:{},canWrite:{type:Boolean},uploadDialogOpen:{type:Boolean}},emits:[`select-blob`,`update:upload-dialog-open`,`selection-change`],setup(e,{expose:t,emit:r}){let i=e,a=r,{blobs:o,isLoading:s,isUploading:c,uploadProgress:l,loadPage:u,getBlob:d,uploadFile:f,removeBlob:p,deleteBlob:m,deleteBlobsBulk:h,readBlobContent:g}=Js(()=>i.documentId),_=[10,25,50,100];function v(){try{let e=localStorage.getItem(Ql);if(e){let t=Number(e);if(_.includes(t))return t}}catch{}return $l}function y(e){try{localStorage.setItem(Ql,String(e))}catch{}}let b=(0,n.ref)(1),x=(0,n.ref)(v()),S=(0,n.ref)([void 0]),C=(0,n.computed)(()=>i.searchQuery.trim().length>0),w=null;(0,n.watch)(()=>i.searchQuery,e=>{w&&clearTimeout(w),w=setTimeout(()=>{e.trim()?T(e.trim()):D()},300)});async function T(e){M.value=null,a(`select-blob`,null),N.value=new Set,a(`selection-change`,0),await d(e)}function E(){S.value=[void 0],b.value=1}async function D(){E(),await O(1)}async function O(e){let t=S.value[e-1],{nextCursor:n}=await u({cursor:t,limit:x.value});if(n){let t=[...S.value];t[e]=n,S.value=t}b.value=e}async function k(){b.value>1&&await O(b.value-1)}async function A(){o.value.length>0&&await O(b.value+1)}(0,n.onMounted)(()=>{C.value||O(1)}),(0,n.watch)(()=>i.documentId,()=>{M.value=null,N.value=new Set,a(`selection-change`,0),a(`select-blob`,null),E(),C.value||O(1)});function j(e){x.value=e,y(e),E(),C.value||O(1)}let M=(0,n.ref)(null),N=(0,n.ref)(new Set),P=(0,n.computed)(()=>o.value.length>0&&o.value.every(e=>N.value.has(e.blobId))),ee=(0,n.computed)(()=>!P.value&&o.value.some(e=>N.value.has(e.blobId)));function F(e){let t=new Set(N.value);e?o.value.forEach(e=>t.add(e.blobId)):o.value.forEach(e=>t.delete(e.blobId)),N.value=t,a(`selection-change`,t.size)}function te(e,t){let n=new Set(N.value);t?n.add(e):n.delete(e),N.value=n,a(`selection-change`,n.size)}function ne(){N.value=new Set,a(`selection-change`,0)}function I(e){M.value===e.blobId?(M.value=null,a(`select-blob`,null)):(M.value=e.blobId,a(`select-blob`,e))}function L(){M.value=null,a(`select-blob`,null)}let R=(0,n.ref)(null),z=(0,n.ref)(``),re=(0,n.ref)(!1);function ie(e,t){R.value=e,z.value=t}async function B(){if(!R.value)return;let e=R.value;R.value=null,p(e),M.value===e&&L();let t=new Set(N.value);t.delete(e)&&(N.value=t,a(`selection-change`,t.size)),re.value=!0;try{await m(e)||C.value||await O(b.value)}finally{re.value=!1}}let V=(0,n.ref)(!1),H=(0,n.ref)(!1);function ae(){V.value=!0}async function oe(){V.value=!1,H.value=!0;let e=[...N.value];try{await h(e),M.value&&e.includes(M.value)&&L(),ne()}finally{H.value=!1}}function se(e){p(e),M.value===e&&L();let t=new Set(N.value);t.delete(e)&&(N.value=t,a(`selection-change`,t.size))}let ce=(0,n.ref)(null);async function le(e){ce.value=e.name;let t=await f(e);ce.value=null,t&&!C.value&&(E(),await O(1))}async function ue(){C.value?await T(i.searchQuery.trim()):(E(),await O(1))}let de=(0,n.ref)(null),fe=null;(0,n.onUnmounted)(()=>{fe&&clearTimeout(fe),w&&clearTimeout(w)});function pe(e,t){$s(e),t&&(de.value=t,fe&&clearTimeout(fe),fe=setTimeout(()=>{de.value=null},1200))}async function me(e,t){let n=await g(e,`blob`);if(!n)return;let r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=t,document.body.appendChild(i),i.click(),document.body.removeChild(i),setTimeout(()=>URL.revokeObjectURL(r),5e3)}function he(e){return e.length>10?`…`+e.slice(-10):e}function ge(e){return e.length>22?e.slice(0,20)+`…`:e}function _e(e){return e.startsWith(`image/`)}function ve(e){return e===`text/csv`||e.includes(`spreadsheet`)}function ye(e){return e===`application/pdf`?`text-red-500`:e.startsWith(`image/`)?`text-blue-500`:e.includes(`wordprocessingml`)||e.includes(`word`)?`text-blue-600`:ve(e)?`text-green-600`:`text-muted-foreground`}return t({executeBulkDelete:ae,refresh:ue,clearSelection:ne,handleExternalDelete:se,selectedCount:(0,n.computed)(()=>N.value.size)}),(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,sl,[(0,n.createElementVNode)(`div`,cl,[(0,n.createElementVNode)(`div`,ll,[(0,n.unref)(s)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,ul,[...r[7]||=[(0,n.createElementVNode)(`div`,{class:`h-7 bg-muted rounded w-full`},null,-1),(0,n.createElementVNode)(`div`,{class:`h-7 bg-muted rounded w-full`},null,-1),(0,n.createElementVNode)(`div`,{class:`h-7 bg-muted rounded w-full`},null,-1)]])):(0,n.unref)(o).length===0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,dl,[r[8]||=(0,n.createElementVNode)(`svg`,{class:`w-10 h-10 text-muted-foreground/30 mb-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z`})],-1),(0,n.createElementVNode)(`p`,fl,(0,n.toDisplayString)(C.value?`No blob found with that ID`:`No blobs uploaded yet`),1)])):((0,n.openBlock)(),(0,n.createElementBlock)(`table`,pl,[(0,n.createElementVNode)(`thead`,null,[(0,n.createElementVNode)(`tr`,ml,[e.canWrite?((0,n.openBlock)(),(0,n.createElementBlock)(`th`,hl,[(0,n.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:P.value,indeterminate:ee.value,onChange:r[0]||=e=>F(e.target.checked)},null,40,gl)])):(0,n.createCommentVNode)(``,!0),r[9]||=(0,n.createElementVNode)(`th`,{class:`px-2 py-1.5 text-left font-medium text-muted-foreground sticky top-0 z-10 bg-muted`},` Filename `,-1),r[10]||=(0,n.createElementVNode)(`th`,{class:`px-2 py-1.5 text-left font-medium text-muted-foreground sticky top-0 z-10 bg-muted`},` Content Type `,-1),r[11]||=(0,n.createElementVNode)(`th`,{class:`px-2 py-1.5 text-left font-medium text-muted-foreground sticky top-0 z-10 bg-muted`},` Size `,-1),r[12]||=(0,n.createElementVNode)(`th`,{class:`px-2 py-1.5 text-left font-medium text-muted-foreground sticky top-0 z-10 bg-muted`},` Uploaded `,-1),r[13]||=(0,n.createElementVNode)(`th`,{class:`px-2 py-1.5 text-left font-medium text-muted-foreground sticky top-0 z-10 bg-muted`},` Blob ID `,-1),r[14]||=(0,n.createElementVNode)(`th`,{class:`w-0 p-0 sticky top-0 right-0 z-20 bg-muted`},null,-1)])]),(0,n.createElementVNode)(`tbody`,_l,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)((0,n.unref)(o),t=>((0,n.openBlock)(),(0,n.createElementBlock)(`tr`,{key:t.blobId,class:(0,n.normalizeClass)([`hover:bg-muted/30 group cursor-pointer`,{"bg-primary/5":M.value===t.blobId}]),onClick:e=>I(t)},[e.canWrite?((0,n.openBlock)(),(0,n.createElementBlock)(`td`,{key:0,class:`px-2 py-2`,onClick:r[1]||=(0,n.withModifiers)(()=>{},[`stop`])},[(0,n.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:N.value.has(t.blobId),onChange:e=>te(t.blobId,e.target.checked)},null,40,yl)])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`td`,bl,[(0,n.createElementVNode)(`div`,xl,[_e(t.contentType)?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,{key:0,class:(0,n.normalizeClass)([`w-4 h-4 shrink-0`,ye(t.contentType)]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[...r[15]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z`},null,-1)]],2)):ve(t.contentType)?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,{key:1,class:(0,n.normalizeClass)([`w-4 h-4 shrink-0`,ye(t.contentType)]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[...r[16]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M3 10h18M3 14h18M10 3v18M14 3v18M5 3h14a2 2 0 012 2v14a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2z`},null,-1)]],2)):((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,{key:2,class:(0,n.normalizeClass)([`w-4 h-4 shrink-0`,ye(t.contentType)]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[...r[17]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z`},null,-1)]],2)),(0,n.createElementVNode)(`span`,Sl,(0,n.toDisplayString)(t.filename),1)])]),(0,n.createElementVNode)(`td`,Cl,(0,n.toDisplayString)(ge(t.contentType)),1),(0,n.createElementVNode)(`td`,wl,(0,n.toDisplayString)((0,n.unref)(Zs)(t.size)),1),(0,n.createElementVNode)(`td`,Tl,(0,n.toDisplayString)((0,n.unref)(Qs)(t.uploadedAt)),1),(0,n.createElementVNode)(`td`,El,[(0,n.createElementVNode)(`button`,{class:`flex items-center gap-1 text-[10px] text-muted-foreground font-mono hover:text-foreground`,title:t.blobId,onClick:(0,n.withModifiers)(e=>pe(t.blobId,t.blobId),[`stop`])},[(0,n.createElementVNode)(`span`,Ol,(0,n.toDisplayString)(he(t.blobId)),1),de.value===t.blobId?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,kl,[...r[18]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Al,[...r[19]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`},null,-1)]]))],8,Dl)]),(0,n.createElementVNode)(`td`,{class:`relative px-2 py-2 sticky right-0 z-10 bg-background`,style:{"box-shadow":`-2px 0 4px -2px rgba(0, 0, 0, 0.08)`},onClick:r[2]||=(0,n.withModifiers)(()=>{},[`stop`])},[(0,n.createElementVNode)(`div`,{class:(0,n.normalizeClass)([`absolute inset-0 bg-primary/5 pointer-events-none`,M.value===t.blobId?`opacity-100 group-hover:opacity-0`:`opacity-0`])},null,2),(0,n.createElementVNode)(`div`,jl,[(0,n.createElementVNode)(`button`,{class:`p-0.5 opacity-0 group-hover:opacity-100 hover:bg-muted rounded text-muted-foreground`,title:`Download`,onClick:e=>me(t.blobId,t.filename)},[...r[20]||=[(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4`})],-1)]],8,Ml),e.canWrite?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`p-0.5 opacity-0 group-hover:opacity-100 hover:bg-muted rounded text-muted-foreground hover:text-destructive`,title:`Delete`,onClick:e=>ie(t.blobId,t.filename)},[...r[21]||=[(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16`})],-1)]],8,Nl)):(0,n.createCommentVNode)(``,!0)])])],10,vl))),128))])]))])]),C.value?(0,n.createCommentVNode)(``,!0):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Pl,[(0,n.createElementVNode)(`div`,Fl,[(0,n.createElementVNode)(`select`,{class:`px-1 py-0.5 text-[10px] bg-background border border-border rounded`,value:x.value,onChange:r[3]||=e=>j(Number(e.target.value))},[((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(_,e=>(0,n.createElementVNode)(`option`,{key:e,value:e},(0,n.toDisplayString)(e),9,Ll)),64))],40,Il),r[22]||=(0,n.createElementVNode)(`span`,null,`per page`,-1)]),(0,n.createElementVNode)(`div`,Rl,[(0,n.createElementVNode)(`button`,{class:`px-2 py-1 hover:bg-muted rounded disabled:opacity-50`,disabled:b.value<=1,onClick:k},` Previous `,8,zl),(0,n.createElementVNode)(`span`,Bl,(0,n.toDisplayString)(b.value),1),(0,n.createElementVNode)(`button`,{class:`px-2 py-1 hover:bg-muted rounded disabled:opacity-50`,disabled:(0,n.unref)(o).length===0,onClick:A},` Next `,8,Vl)])])),(0,n.createVNode)(ol,{open:e.uploadDialogOpen,"onUpdate:open":r[4]||=e=>a(`update:upload-dialog-open`,e),onUpload:le},null,8,[`open`]),((0,n.openBlock)(),(0,n.createBlock)(n.Teleport,{to:`body`},[(0,n.unref)(c)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Hl,[(0,n.createElementVNode)(`div`,Ul,[r[23]||=(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5 text-muted-foreground shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12`})],-1),(0,n.createElementVNode)(`div`,Wl,[(0,n.createElementVNode)(`div`,Gl,[(0,n.createElementVNode)(`span`,Kl,(0,n.toDisplayString)(ce.value??`Uploading…`),1),(0,n.createElementVNode)(`span`,ql,(0,n.toDisplayString)(Math.round((0,n.unref)(l)))+`% `,1)]),(0,n.createElementVNode)(`div`,Jl,[(0,n.createElementVNode)(`div`,{class:`bg-primary h-1 rounded-full transition-all duration-300`,style:(0,n.normalizeStyle)({width:(0,n.unref)(l)+`%`})},null,4)])])])])):(0,n.createCommentVNode)(``,!0)])),(0,n.createVNode)(Ks,{"is-open":!!R.value,title:`Delete Blob`,question:`Delete "${z.value}"?`,warning:`This action cannot be undone.`,"is-deleting":re.value,onCancel:r[5]||=e=>R.value=null,onConfirm:B},null,8,[`is-open`,`question`,`is-deleting`]),(0,n.createVNode)(Ks,{"is-open":V.value,title:`Delete Blobs`,question:`Delete ${N.value.size} blob${N.value.size===1?``:`s`}?`,warning:`This action cannot be undone.`,"is-deleting":!1,onCancel:r[6]||=e=>V.value=!1,onConfirm:oe},null,8,[`is-open`,`question`]),((0,n.openBlock)(),(0,n.createBlock)(n.Teleport,{to:`body`},[H.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Yl,[(0,n.createElementVNode)(`div`,Xl,[r[24]||=(0,n.createElementVNode)(`svg`,{class:`w-4 h-4 text-muted-foreground animate-spin shrink-0`,fill:`none`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`}),(0,n.createElementVNode)(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z`})],-1),(0,n.createElementVNode)(`span`,Zl,`Deleting `+(0,n.toDisplayString)(N.value.size)+` blob`+(0,n.toDisplayString)(N.value.size===1?``:`s`)+`…`,1)])])):(0,n.createCommentVNode)(``,!0)]))]))}}),tu={class:`flex-1 flex overflow-hidden min-w-0`},nu={class:`flex-1 flex flex-col min-w-0 bg-background`},ru={key:0,class:`absolute inset-0 px-3 bg-muted flex items-center justify-between z-10`},iu={class:`flex items-center gap-2`},au={class:`text-xs font-medium`},ou={class:`flex items-center gap-2 min-w-0`},su={class:`flex items-center gap-2 min-w-0`},cu={class:`text-sm font-medium truncate`},lu={key:0,class:`relative ml-1`},uu=[`placeholder`],du={key:1,class:`flex items-center gap-1.5 shrink-0`},fu={key:0},pu={key:0,class:`flex-1 flex flex-col items-center justify-center text-center p-6`},mu={class:`hidden lg:contents`},hu=(0,n.defineComponent)({__name:`BlobExplorerIndex`,setup(e){let r=Me(),i=(0,n.ref)([]),a=(0,n.ref)(!1),o=(0,n.ref)(null);async function s(){try{let e=await t.o.getClientAsync();o.value=await e.getRootDocId(),await e.syncMetadata({scope:`all`,includeRoot:!0,pageSize:500});let[n,r]=await Promise.all([e.me.ownedDocuments({refreshFromServer:!0,includeRoot:!0}),e.me.sharedDocuments()]);i.value=[...n,...r.items].map(e=>({...e,isRoot:e.documentId===o.value})),a.value=!0}catch(e){U(`Failed to load documents: `+W(e)),a.value=!0}}let c=null,l=null;(0,n.onMounted)(async()=>{S.value&&(w=new ResizeObserver(e=>{for(let t of e)C.value=t.contentRect.width<500}),w.observe(S.value)),s();let e=await t.o.getClientAsync(),n=e=>{e.action===`accepted`&&s()};e.on(`invitation`,n),c=()=>e.off(`invitation`,n);let r=()=>{s()};e.on(`documentMetadataChanged`,r),l=()=>e.off(`documentMetadataChanged`,r)}),(0,n.onUnmounted)(()=>{c?.(),l?.(),w?.disconnect()});let u=(0,n.computed)(()=>r.currentDocumentId),d=(0,n.computed)(()=>i.value.find(e=>e.documentId===u.value)??null);async function f(e){if(r.currentDocumentId!==e){p.value=null;try{await r.openDocument(e);let t=i.value.find(t=>t.documentId===e);t&&r.setCurrentDocumentTitle(t.title??e)}catch(e){U(`Failed to open document: `+W(e))}}}let p=(0,n.ref)(null),m=(0,n.ref)(!1),h=(0,n.ref)(``),g=(0,n.ref)(null);(0,n.watch)(u,()=>{p.value=null,h.value=``});let _=(0,n.ref)(0);function v(e){_.value=e}function y(){g.value?.executeBulkDelete()}function b(){g.value?.clearSelection(),_.value=0}let x=(0,n.computed)(()=>{let e=d.value?.permission;return e?e!==`reader`:!1}),S=(0,n.ref)(null),C=(0,n.ref)(!1),w=null;return(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,tu,[(0,n.createVNode)((0,n.unref)(Te),{position:`bottom-right`,duration:3e3}),(0,n.createVNode)(qc,{documents:i.value,"selected-doc-id":u.value,"document-list-loaded":a.value,onSelectDocument:f},null,8,[`documents`,`selected-doc-id`,`document-list-loaded`]),(0,n.createElementVNode)(`div`,nu,[(0,n.createElementVNode)(`div`,{ref_key:`toolbarRef`,ref:S,class:`flex items-center justify-between px-3 py-2 border-b border-border relative shrink-0`},[_.value>0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,ru,[(0,n.createElementVNode)(`div`,iu,[(0,n.createElementVNode)(`span`,au,(0,n.toDisplayString)(_.value)+` selected`,1),(0,n.createElementVNode)(`button`,{class:`text-[10px] text-muted-foreground hover:text-foreground`,onClick:b},` Clear `)]),(0,n.createElementVNode)(`button`,{class:`px-2 py-1 text-xs text-destructive hover:bg-destructive/10 rounded flex items-center gap-1`,onClick:y},[...t[7]||=[(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16`})],-1),(0,n.createTextVNode)(` Delete `,-1)]])])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,ou,[(0,n.createElementVNode)(`div`,su,[(0,n.createElementVNode)(`span`,cu,(0,n.toDisplayString)(d.value?.title??d.value?.documentId??`Select a document`),1)]),u.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,lu,[t[8]||=(0,n.createElementVNode)(`svg`,{class:`absolute left-2 top-1/2 -translate-y-1/2 w-3 h-3 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z`})],-1),(0,n.withDirectives)((0,n.createElementVNode)(`input`,{"onUpdate:modelValue":t[0]||=e=>h.value=e,type:`text`,placeholder:C.value?`Blob ID…`:`Search by blob ID…`,class:(0,n.normalizeClass)([`pl-7 pr-2 py-1 text-xs bg-muted border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`,C.value?`w-28`:`w-44`])},null,10,uu),[[n.vModelText,h.value]])])):(0,n.createCommentVNode)(``,!0)]),u.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,du,[a.value?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[(0,n.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded text-muted-foreground`,title:`Refresh`,onClick:t[1]||=e=>g.value?.refresh()},[...t[11]||=[(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15`})],-1)]]),x.value?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:(0,n.normalizeClass)([`text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90 flex items-center`,C.value?`p-1.5`:`px-2 py-1 gap-1`]),title:`Upload`,onClick:t[2]||=e=>m.value=!0},[t[12]||=(0,n.createElementVNode)(`svg`,{class:`w-3 h-3 shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12`})],-1),C.value?(0,n.createCommentVNode)(``,!0):((0,n.openBlock)(),(0,n.createElementBlock)(`span`,fu,`Upload`))],2)):(0,n.createCommentVNode)(``,!0)],64)):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[t[9]||=(0,n.createElementVNode)(`div`,{class:`w-6 h-6 bg-muted rounded animate-pulse`},null,-1),t[10]||=(0,n.createElementVNode)(`div`,{class:`w-16 h-6 bg-muted rounded animate-pulse`},null,-1)],64))])):(0,n.createCommentVNode)(``,!0)],512),u.value?((0,n.openBlock)(),(0,n.createBlock)(eu,{key:1,ref_key:`blobTableRef`,ref:g,"document-id":u.value,"search-query":h.value,"can-write":x.value,"upload-dialog-open":m.value,onSelectBlob:t[3]||=e=>p.value=e,"onUpdate:uploadDialogOpen":t[4]||=e=>m.value=e,onSelectionChange:v},null,8,[`document-id`,`search-query`,`can-write`,`upload-dialog-open`])):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,pu,[...t[13]||=[(0,n.createElementVNode)(`svg`,{class:`w-10 h-10 text-muted-foreground/30 mb-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12`})],-1),(0,n.createElementVNode)(`p`,{class:`text-sm font-medium text-muted-foreground`},` Select a document `,-1),(0,n.createElementVNode)(`p`,{class:`text-xs text-muted-foreground/70 mt-1`},` Choose a document from the left panel to explore its blobs `,-1)]]))]),(0,n.createElementVNode)(`div`,mu,[(0,n.createVNode)(Bc,{"document-id":u.value??``,"selected-blob":p.value,"can-write":x.value,onDeleteBlob:t[5]||=e=>g.value?.handleExternalDelete(e),onReloadBlobs:t[6]||=e=>g.value?.refresh()},null,8,[`document-id`,`selected-blob`,`can-write`])])]))}}),gu=e.t(((e,t)=>{var n=NaN,r=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,o=/^0o[0-7]+$/i,s=parseInt,c=typeof global==`object`&&global&&global.Object===Object&&global,l=typeof self==`object`&&self&&self.Object===Object&&self,u=c||l||Function(`return this`)(),d=Object.prototype.toString,f=Math.max,p=Math.min,m=function(){return u.Date.now()};function h(e,t,n){var r,i,a,o,s,c,l=0,u=!1,d=!1,h=!0;if(typeof e!=`function`)throw TypeError(`Expected a function`);t=y(t)||0,g(n)&&(u=!!n.leading,d=`maxWait`in n,a=d?f(y(n.maxWait)||0,t):a,h=`trailing`in n?!!n.trailing:h);function _(t){var n=r,a=i;return r=i=void 0,l=t,o=e.apply(a,n),o}function v(e){return l=e,s=setTimeout(S,t),u?_(e):o}function b(e){var n=e-c,r=e-l,i=t-n;return d?p(i,a-r):i}function x(e){var n=e-c,r=e-l;return c===void 0||n>=t||n<0||d&&r>=a}function S(){var e=m();if(x(e))return C(e);s=setTimeout(S,b(e))}function C(e){return s=void 0,h&&r?_(e):(r=i=void 0,o)}function w(){s!==void 0&&clearTimeout(s),l=0,r=c=i=s=void 0}function T(){return s===void 0?o:C(m())}function E(){var e=m(),n=x(e);if(r=arguments,i=this,c=e,n){if(s===void 0)return v(c);if(d)return s=setTimeout(S,t),_(c)}return s===void 0&&(s=setTimeout(S,t)),o}return E.cancel=w,E.flush=T,E}function g(e){var t=typeof e;return!!e&&(t==`object`||t==`function`)}function _(e){return!!e&&typeof e==`object`}function v(e){return typeof e==`symbol`||_(e)&&d.call(e)==`[object Symbol]`}function y(e){if(typeof e==`number`)return e;if(v(e))return n;if(g(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=g(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=e.replace(r,``);var c=a.test(e);return c||o.test(e)?s(e.slice(2),c?2:8):i.test(e)?n:+e}t.exports=h})),_u=e.i(gu(),1),$=t.s.forScope(`useJsBaoDataLoader`);function vu(e,t){return e===void 0?t:!!(0,n.unref)(e)}function yu(e){let t=new WeakSet,n=e=>{if(e&&typeof e==`object`){if(t.has(e))return`[Circular]`;if(t.add(e),Array.isArray(e))return e.map(n);let r=Object.keys(e).sort(),i={};for(let t of r)i[t]=n(e[t]);return i}return e};try{return JSON.stringify(n(e))}catch{return`__non_serializable__`}}function bu(e){let{subscribeTo:r,queryParams:i,documentReady:a,loadData:o,pauseUpdates:s,reloadOnDocumentEvents:c=!0,debounceMs:l=50,onError:u}=e,d=(0,n.ref)(null),f=(0,n.ref)(!1),p=(0,n.ref)(!1),m=(0,n.computed)(()=>vu(a,!1)),h=(0,n.computed)(()=>vu(s,!1)),g=(0,n.computed)(()=>(0,n.unref)(i)??null),_=(0,n.computed)(()=>{let e=g.value;return e===null?null:yu(e)}),v=async e=>{if(!m.value){$.debug(`loadData skipped: not ready`,{reason:e,queryParams:(0,n.toRaw)(g.value)});return}if(h.value){$.debug(`loadData skipped: paused`,{reason:e,queryParams:(0,n.toRaw)(g.value)});return}$.debug(`loadData start`,{reason:e,queryParams:(0,n.toRaw)(g.value)});try{let t=await o(g.value);d.value=t,f.value||(f.value=!0,p.value=!0),$.debug(`loadData success`,{reason:e,queryParams:(0,n.toRaw)(g.value),data:t})}catch(t){if(u)try{u(t)}catch(e){$.warn(`onError handler threw`,{handlerError:e})}$.error(`loadData error`,{reason:e,queryParams:(0,n.toRaw)(g.value),error:t})}},y=(0,_u.default)(e=>{$.debug(`Reload scheduled`,{reason:e}),v(e)},l),b=()=>{y(`Manual`)},x=[];return(0,n.onMounted)(async()=>{for(let e of r)try{let t=e.subscribe(()=>{p.value&&m.value&&(h.value||y(`Subscribed models changed`))});x.push(t)}catch(e){$.warn(`Failed to subscribe to model`,{error:e})}if(vu(c,!0))try{let e=await t.o.getClientAsync(),n=()=>{p.value&&m.value&&(h.value||y(`Document loaded`))},r=()=>{p.value&&m.value&&(h.value||y(`Document closed`))};e.on(`documentLoaded`,n),e.on(`documentClosed`,r),x.push(()=>{e.off(`documentLoaded`,n),e.off(`documentClosed`,r)}),$.debug(`Subscribed to js-bao document events`)}catch(e){$.warn(`Failed to subscribe to js-bao client events`,{error:e})}}),(0,n.onUnmounted)(()=>{for(let e of x)try{e()}catch{}}),(0,n.watch)(m,e=>{if(!e){$.debug(`documentReady became false; resetting state`),f.value=!1,p.value=!1;return}h.value?$.debug(`documentReady became true but updates are paused; not scheduling load`):($.debug(`documentReady became true; scheduling initial load`),y(`Document became ready`))},{immediate:!0}),(0,n.watch)(_,e=>{if(e===null){$.debug(`queryParams disabled (null)`);return}if(!m.value){$.debug(`queryParams changed but document not ready; ignoring`,{signature:e});return}if(h.value){$.debug(`queryParams changed but updates are paused; ignoring`,{signature:e});return}$.debug(`queryParams changed; scheduling reload`,{signature:e}),y(`Queries changed`)}),{data:d,initialDataLoaded:f,reload:b}}var xu=(0,n.defineComponent)({__name:`PrimitiveLoadingGate`,props:{isReady:{type:Boolean},delayMs:{default:50}},setup(e){let t=e,r=(0,n.computed)(()=>!t.isReady),i=(0,n.ref)(!1),a=null,o=()=>{a!=null&&window.clearTimeout(a),a=null};(0,n.watch)(r,e=>{e?(o(),a=window.setTimeout(()=>{i.value=!0},t.delayMs)):(o(),i.value=!1)},{immediate:!0}),(0,n.onUnmounted)(()=>{o()});let s=(0,n.computed)(()=>r.value&&!i.value),c=(0,n.computed)(()=>r.value&&i.value);return(e,t)=>s.value?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[],64)):c.value?(0,n.renderSlot)(e.$slots,`loading`,{key:1}):(0,n.renderSlot)(e.$slots,`default`,{key:2})}});function Su(e){return e}function Cu(){return a.ModelRegistry.getInstance().getAllRegisteredModelsInfo().map(e=>{let t=new Map;for(let[n,r]of e.fields.entries()){let e=r;t.set(n,{name:n,hidden:e.hidden??n.startsWith(`_`),schema:{type:e.type??`string`,indexed:e.indexed,default:e.default,autoAssign:e.autoAssign,maxCount:e.maxCount,maxLength:e.maxLength}})}let n=e.options.uniqueConstraints??[];return{name:e.class.name,modelClass:Su(e.class),tableName:e.options.name,fields:Array.from(e.fields.keys()),fieldInfo:t,relationships:e.options.relationships,uniqueConstraints:n,sourcePath:e.options.sourcePath??void 0}})}function wu(e,t){let n=new WeakSet;return JSON.stringify(e,(e,t)=>{if(t===void 0)return`[undefined]`;if(typeof t==`function`)return`[Function]`;if(typeof t==`symbol`)return t.toString();if(typeof t==`object`&&t){if(n.has(t))return`[Circular]`;if(n.add(t),t.constructor&&t.constructor.name&&(t.constructor.name.includes(`Set`)||t.constructor.name.includes(`Map`)||t.constructor.name.includes(`Model`)))return Array.isArray(t)?t:t.toString&&t.toString()!==`[object Object]`?t.toString():`[${t.constructor.name}]`}return t},t)}function Tu(e,t){let n=e.toLowerCase(),r=t.toLowerCase().trim();if(!r||n.includes(r))return!0;let i=0;for(let e=0;e<n.length&&i<r.length;e++)n[e]===r[i]&&i++;return i===r.length}function Eu(e){return e!==`is_null`&&e!==`is_not_null`}function Du(e){return{equals:`equals`,not_equals:`not equals`,is_null:`is null`,is_not_null:`is not null`,contains:`contains`,not_contains:`not contains`,in:`in list`,not_in:`not in list`,starts_with:`starts with`,ends_with:`ends with`,gt:`>`,gte:`>=`,lt:`<`,lte:`<=`}[e]||e}var Ou=[`equals`,`not_equals`,`is_null`,`is_not_null`,`contains`,`not_contains`,`starts_with`,`ends_with`,`in`,`not_in`,`gt`,`gte`,`lt`,`lte`],ku={string:Ou,id:[`equals`,`not_equals`,`is_null`,`is_not_null`,`in`,`not_in`],number:[`equals`,`not_equals`,`is_null`,`is_not_null`,`in`,`not_in`,`gt`,`gte`,`lt`,`lte`],boolean:[`equals`,`not_equals`,`is_null`,`is_not_null`],date:[`equals`,`not_equals`,`is_null`,`is_not_null`,`gt`,`gte`,`lt`,`lte`],stringset:[`equals`,`not_equals`,`is_null`,`is_not_null`,`contains`,`not_contains`,`in`,`not_in`]};function Au(e,t){return ku[Hu(e,t)?.type??`string`]??Ou}function ju(e,t){switch(Hu(e,t)?.type??`string`){case`id`:case`number`:case`boolean`:case`date`:return`equals`;default:return`contains`}}function Mu(e){if(e==null)return`string`;if(typeof e==`boolean`)return`boolean`;if(typeof e==`number`)return`number`;if(typeof e==`string`){if(e.startsWith(`{`)||e.startsWith(`[`))try{return JSON.parse(e),`json`}catch{return`string`}if(e.length>100)return`textarea`}return`string`}function Nu(e,t,n=!1){let r=[],i=new Set(e.fields||[]),a=(t[e.tableName]||[])[0];return a&&(Object.keys(a).filter(e=>e!==`type`).forEach(e=>i.add(e)),Object.getOwnPropertyNames(a).filter(e=>e!==`type`).forEach(e=>i.add(e))),r=Array.from(i),n||(r=r.filter(t=>!(e.fieldInfo.get(t)?.hidden??t.startsWith(`_`)))),r.includes(`id`)&&(r=[`id`,...r.filter(e=>e!==`id`)]),r}function Pu(e,t){if(!e.relationships)return null;for(let[n,r]of Object.entries(e.relationships))if(r.type===`refersTo`&&r.relatedIdField===t)return{relationshipName:n,relatedModel:r.model,relatedIdField:r.relatedIdField};return null}function Fu(e){if(typeof e==`object`&&e)return!0;if(typeof e==`string`){let t=e.trim();if(t.startsWith(`{`)||t.startsWith(`[`))try{return JSON.parse(t),!0}catch{return!1}}return!1}function Iu(){return`filter-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}function Lu(e){let{field:t,mode:n,value:r}=e;switch(n){case`equals`:return!isNaN(Number(r))&&r.trim()!==``?{[t]:Number(r)}:r.toLowerCase()===`true`?{[t]:!0}:r.toLowerCase()===`false`?{[t]:!1}:{[t]:r};case`not_equals`:return!isNaN(Number(r))&&r.trim()!==``?{[t]:{$ne:Number(r)}}:r.toLowerCase()===`true`?{[t]:{$ne:!0}}:r.toLowerCase()===`false`?{[t]:{$ne:!1}}:{[t]:{$ne:r}};case`is_null`:return{[t]:null};case`is_not_null`:return{[t]:{$exists:!0}};case`contains`:return{[t]:{$containsText:r}};case`not_contains`:return{[t]:{$not:{$containsText:r}}};case`in`:{let e=r.split(`,`).map(e=>e.trim()).map(e=>!isNaN(Number(e))&&e!==``?Number(e):e);return{[t]:{$in:e}}}case`not_in`:{let e=r.split(`,`).map(e=>e.trim()).map(e=>!isNaN(Number(e))&&e!==``?Number(e):e);return{[t]:{$nin:e}}}case`starts_with`:return{[t]:{$startsWith:r}};case`ends_with`:return{[t]:{$endsWith:r}};case`gt`:return{[t]:{$gt:Number(r)}};case`gte`:return{[t]:{$gte:Number(r)}};case`lt`:return{[t]:{$lt:Number(r)}};case`lte`:return{[t]:{$lte:Number(r)}};default:return{}}}function Ru(e){if(!e||e.length===0)return{};if(e.length===1&&e[0])return Lu(e[0]);let t=e.filter(e=>e&&e.field!=null&&e.field!==``&&(e.mode===`is_null`||e.mode===`is_not_null`||e.mode===`equals`||e.mode===`not_equals`||e.value!==void 0&&e.value!==``)).map(e=>Lu(e));return t.length===0?{}:t.length===1?t[0]??{}:{$and:t}}var zu=[10,25,50,100];function Bu(){try{let e=localStorage.getItem(Ae);if(e){let t=Number(e);if(zu.includes(t))return t}}catch{}return 25}function Vu(e){try{localStorage.setItem(Ae,String(e))}catch{}}function Hu(e,t){return e.fieldInfo.get(t)?.schema}function Uu(e,t){return Hu(e,t)?.type===`stringset`}function Wu(e,t){return Hu(e,t)?.type===`date`}function Gu(e,t){return Hu(e,t)?.type===`number`}function Ku(e,t){return Hu(e,t)?.type===`boolean`}function qu(e){if(e==null)return[];if(typeof e==`object`&&e){if(`toArray`in e&&typeof e.toArray==`function`)return e.toArray();if(Symbol.iterator in e)return Array.from(e)}return Array.isArray(e)?e.map(String):[]}function Ju(e,t){return Hu(e,t)?.indexed===!0}function Yu(e){return e?{[e.field]:e.direction}:{id:1}}function Xu(e){return e===1?`↑`:`↓`}function Zu(){try{let e=localStorage.getItem(je);if(e)return JSON.parse(e)}catch{}return{}}function Qu(e){try{localStorage.setItem(je,JSON.stringify(e))}catch{}}function $u(e){return Zu()[e]}function ed(e,t){let n=Zu();n[e]=t,Qu(n)}function td(e){switch(e){case`owner`:case`admin`:return`Owner`;case`read-write`:return`Editor`;case`reader`:return`Viewer`;default:return`Owner`}}function nd(e){switch(e){case`owner`:case`admin`:return`bg-muted text-muted-foreground`;case`read-write`:return`bg-blue-500/10 text-blue-600`;case`reader`:return`bg-green-500/10 text-green-600`;default:return`bg-muted text-muted-foreground`}}function rd(e){return e===`owner`||e===`admin`}var id={class:`flex items-center px-2 h-10 bg-muted border-b border-border relative`},ad={key:0,class:`absolute inset-0 px-2 bg-muted flex items-center justify-between z-10`},od={class:`flex items-center gap-2`},sd={class:`text-[10px] font-medium`},cd={class:`flex items-center gap-0.5`},ld={class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide flex-1`},ud={key:0,class:`flex-1 overflow-y-auto scrollbar-thin flex flex-col`},dd={key:0,class:`p-3 text-center text-[10px] text-muted-foreground`},fd={key:1,class:`p-3 text-center text-[10px] text-muted-foreground`},pd={class:`flex items-center px-2 py-1 border-b border-border bg-muted/20 border-l-2 border-l-transparent`},md=[`checked`,`indeterminate`],hd=[`onClick`],gd=[`checked`,`disabled`,`title`,`onChange`],_d={key:0,class:`text-[9px] px-1 py-0.5 bg-amber-500/10 text-amber-600 rounded ml-1`},vd=(0,n.defineComponent)({__name:`DocumentListSection`,props:{documents:{},filteredDocuments:{},selectedDocId:{},isExpanded:{type:Boolean},documentListLoaded:{type:Boolean},searchQuery:{},sectionLabel:{default:`Documents`},showCreateButton:{type:Boolean,default:!0}},emits:[`select-document`,`create-document`,`bulk-delete`,`bulk-leave`,`bulk-delete-mixed`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.ref)(new Set),o=(0,n.computed)(()=>a.value.size),s=(0,n.computed)(()=>a.value.size>0),c=(0,n.computed)(()=>Array.from(a.value).some(e=>{let t=r.documents.find(t=>t.documentId===e);return t&&rd(t.permission)&&!t.isRoot})),l=(0,n.computed)(()=>c.value?!1:Array.from(a.value).some(e=>{let t=r.documents.find(t=>t.documentId===e);return t&&!rd(t.permission)&&!t.isRoot})),u=(0,n.computed)(()=>{let e=r.filteredDocuments.filter(e=>!e.isRoot);if(e.length===0)return!1;let t=e.filter(e=>a.value.has(e.documentId)).length;return t===0?!1:t===e.length?!0:`indeterminate`}),d=(e,t)=>{t&&t.stopPropagation();let n=new Set(a.value);n.has(e)?n.delete(e):n.add(e),a.value=n},f=()=>{let e=r.filteredDocuments.filter(e=>!e.isRoot),t=e.every(e=>a.value.has(e.documentId)),n=new Set(a.value);t?e.forEach(e=>n.delete(e.documentId)):e.forEach(e=>n.add(e.documentId)),a.value=n},p=()=>{a.value=new Set},m=(0,n.ref)(!1),h=(0,n.ref)([]),g=()=>{let e=Array.from(a.value),t=e.filter(e=>{let t=r.documents.find(t=>t.documentId===e);return t&&rd(t.permission)&&!t.isRoot});t.length!==0&&(t.length<e.length?(i(`bulk-delete-mixed`,e),p()):(h.value=t,m.value=!0))},_=()=>{i(`bulk-delete`,h.value),p(),m.value=!1,h.value=[]},v=()=>{i(`bulk-leave`,Array.from(a.value))};return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{class:`flex flex-col min-h-0`,style:(0,n.normalizeStyle)({flex:e.isExpanded?`1 1 auto`:`0 0 auto`})},[(0,n.createElementVNode)(`div`,id,[s.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,ad,[(0,n.createElementVNode)(`div`,od,[(0,n.createElementVNode)(`span`,sd,(0,n.toDisplayString)(o.value)+` selected `,1),(0,n.createElementVNode)(`button`,{class:`text-[10px] text-muted-foreground hover:text-foreground`,onClick:(0,n.withModifiers)(p,[`stop`])},` Clear `)]),(0,n.createElementVNode)(`div`,cd,[l.value?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`p-1 text-muted-foreground hover:bg-muted-foreground/10 hover:text-foreground rounded`,title:`Leave Document`,onClick:(0,n.withModifiers)(v,[`stop`])},[...r[4]||=[(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1`})],-1)]])):(0,n.createCommentVNode)(``,!0),c.value?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:1,class:`p-1 text-destructive hover:bg-destructive/10 rounded`,title:`Delete Document`,onClick:(0,n.withModifiers)(g,[`stop`])},[...r[5]||=[(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16`})],-1)]])):(0,n.createCommentVNode)(``,!0)])])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`span`,ld,(0,n.toDisplayString)(e.sectionLabel),1),e.showCreateButton?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:1,class:`p-0.5 hover:bg-background/50 rounded text-muted-foreground hover:text-foreground`,title:`New Document`,onClick:r[0]||=(0,n.withModifiers)(e=>i(`create-document`),[`stop`])},[...r[6]||=[(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 4v16m8-8H4`})],-1)]])):(0,n.createCommentVNode)(``,!0)]),e.isExpanded?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,ud,[e.documentListLoaded?e.filteredDocuments.length===0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,fd,(0,n.toDisplayString)(e.searchQuery?`No matching documents`:`No documents found`),1)):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:2},[(0,n.createElementVNode)(`div`,pd,[(0,n.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:u.value===!0,indeterminate:u.value===`indeterminate`,onChange:f},null,40,md),r[7]||=(0,n.createElementVNode)(`span`,{class:`ml-2 text-[10px] text-muted-foreground`},`Select all`,-1)]),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.filteredDocuments,t=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:t.documentId,class:(0,n.normalizeClass)([`flex items-center px-2 py-1.5 cursor-pointer border-l-2`,t.documentId===e.selectedDocId?`border-primary bg-primary/5`:`border-transparent hover:bg-muted/30`,t.isRoot?`opacity-60`:``]),onClick:e=>i(`select-document`,t.documentId)},[(0,n.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border flex-shrink-0`,checked:a.value.has(t.documentId),disabled:t.isRoot,title:t.isRoot?`Cannot select root document`:``,onClick:r[1]||=(0,n.withModifiers)(()=>{},[`stop`]),onChange:e=>d(t.documentId)},null,40,gd),(0,n.createElementVNode)(`span`,{class:(0,n.normalizeClass)([`ml-2 text-xs flex-1 truncate`,t.documentId===e.selectedDocId?`font-medium`:``])},(0,n.toDisplayString)(t.title||`Untitled`),3),t.isRoot?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,_d,` root `)):((0,n.openBlock)(),(0,n.createElementBlock)(`span`,{key:1,class:(0,n.normalizeClass)([`text-[9px] px-1 py-0.5 rounded ml-1`,(0,n.unref)(nd)(t.permission)])},(0,n.toDisplayString)((0,n.unref)(td)(t.permission)),3))],10,hd))),128))],64)):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,dd,` Loading documents... `))])):(0,n.createCommentVNode)(``,!0),(0,n.createVNode)(Ks,{"is-open":m.value,title:`Delete Documents`,question:`Delete ${h.value.length} document(s)? This action cannot be undone.`,warning:``,"is-deleting":!1,onConfirm:_,onCancel:r[2]||=e=>{m.value=!1,h.value=[]},"onUpdate:isOpen":r[3]||=e=>{e||(m.value=!1,h.value=[])}},null,8,[`is-open`,`question`])],4))}}),yd={key:0,class:`w-10 border-r border-border flex flex-col items-center bg-background`},bd={class:`h-10 flex items-center justify-center border-b border-border w-full`},xd=[`title`],Sd={key:1,class:`w-48 lg:w-56 border-r border-border flex flex-col bg-background`},Cd={class:`h-10 flex items-center px-2 gap-1 border-b border-border`},wd={class:`relative flex-1 min-w-0`},Td={class:`flex-1 overflow-y-auto scrollbar-thin`},Ed=(0,n.defineComponent)({__name:`DocumentListPanel`,props:{ownedDocuments:{},sharedDocuments:{},selectedDocId:{},documentListLoaded:{type:Boolean}},emits:[`select-document`,`create-document`,`bulk-delete`,`bulk-leave`,`bulk-delete-mixed`],setup(e,{expose:t,emit:r}){let i=e,a=r,o=(0,n.ref)(``),s=(0,n.ref)(!1),c=(0,n.computed)(()=>i.ownedDocuments.length+i.sharedDocuments.length);function l(e){if(!o.value.trim())return e;let t=o.value.trim();if(t.toLowerCase().startsWith(`tag:`)){let n=t.slice(4);return n?e.filter(e=>e.tags?.some(e=>Tu(e,n))):e}return e.filter(e=>Tu(e.title||``,t)||Tu(e.documentId,t)||e.tags?.some(e=>Tu(e,t)))}let u=(0,n.computed)(()=>l(i.ownedDocuments)),d=(0,n.computed)(()=>l(i.sharedDocuments));return t({isCollapsed:s}),(t,r)=>s.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,yd,[(0,n.createElementVNode)(`div`,bd,[(0,n.createElementVNode)(`button`,{class:`p-1.5 hover:bg-muted rounded text-muted-foreground`,title:`Expand document list`,onClick:r[0]||=e=>s.value=!1},[...r[12]||=[(0,n.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 6h16M4 12h16M4 18h16`})],-1)]])]),(0,n.createElementVNode)(`span`,{class:`mt-2 text-[9px] text-muted-foreground tabular-nums`,title:`${c.value} documents`},(0,n.toDisplayString)(c.value),9,xd)])):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Sd,[(0,n.createElementVNode)(`div`,Cd,[(0,n.createElementVNode)(`div`,wd,[r[13]||=(0,n.createElementVNode)(`svg`,{class:`absolute left-2 top-1/2 -translate-y-1/2 w-3 h-3 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z`})],-1),(0,n.withDirectives)((0,n.createElementVNode)(`input`,{"onUpdate:modelValue":r[1]||=e=>o.value=e,type:`text`,placeholder:`Search…`,class:`w-full pl-7 pr-2 py-1 text-xs bg-muted border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`},null,512),[[n.vModelText,o.value]])]),(0,n.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded text-muted-foreground flex-shrink-0 md:hidden`,title:`Collapse panel`,onClick:r[2]||=e=>s.value=!0},[...r[14]||=[(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M11 19l-7-7 7-7`})],-1)]])]),(0,n.createElementVNode)(`div`,Td,[(0,n.createVNode)(vd,{documents:e.ownedDocuments,"filtered-documents":u.value,"selected-doc-id":e.selectedDocId,"is-expanded":!0,"document-list-loaded":e.documentListLoaded,"search-query":o.value,"section-label":`My Documents`,onSelectDocument:r[3]||=e=>a(`select-document`,e),onCreateDocument:r[4]||=e=>a(`create-document`),onBulkDelete:r[5]||=e=>a(`bulk-delete`,e),onBulkLeave:r[6]||=e=>a(`bulk-leave`,e),onBulkDeleteMixed:r[7]||=e=>a(`bulk-delete-mixed`,e)},null,8,[`documents`,`filtered-documents`,`selected-doc-id`,`document-list-loaded`,`search-query`]),e.sharedDocuments.length>0||o.value.trim()?((0,n.openBlock)(),(0,n.createBlock)(vd,{key:0,documents:e.sharedDocuments,"filtered-documents":d.value,"selected-doc-id":e.selectedDocId,"is-expanded":!0,"document-list-loaded":e.documentListLoaded,"search-query":o.value,"section-label":`Shared with Me`,"show-create-button":!1,onSelectDocument:r[8]||=e=>a(`select-document`,e),onBulkDelete:r[9]||=e=>a(`bulk-delete`,e),onBulkLeave:r[10]||=e=>a(`bulk-leave`,e),onBulkDeleteMixed:r[11]||=e=>a(`bulk-delete-mixed`,e)},null,8,[`documents`,`filtered-documents`,`selected-doc-id`,`document-list-loaded`,`search-query`])):(0,n.createCommentVNode)(``,!0)])]))}}),Dd=(0,n.defineComponent)({__name:`Skeleton`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{"data-slot":`skeleton`,class:(0,n.normalizeClass)((0,n.unref)(Q)(`animate-pulse rounded-md bg-primary/10`,t.class))},null,2))}}),Od={key:0,class:`space-y-1.5`},kd={key:1,class:`space-y-1`},Ad=[`onKeydown`,`onBlur`],jd=[`title`,`onClick`],Md=[`disabled`,`onClick`],Nd={key:0,class:`flex items-center gap-1`},Pd=[`disabled`,`onKeydown`],Fd=(0,n.defineComponent)({__name:`DocumentAliasesSection`,props:{documentId:{},canWrite:{type:Boolean}},setup(e){let r=t.s.forScope(`DocumentAliasesSection`),i=e,a=(0,n.ref)([]),o=(0,n.ref)(!0),s=(0,n.ref)(``),c=(0,n.ref)(!1),l=(0,n.ref)(null),u=(0,n.ref)(!1),d=(0,n.ref)(null),f=(0,n.ref)(null),p=(0,n.ref)(``),m=(0,n.ref)(null);async function h(e=!1){e||(o.value=!0);try{a.value=await(await t.o.getClientAsync()).documents.aliases.listForDocument(i.documentId)}catch(e){r.error(`Failed to load aliases:`,e),a.value=[],U(`Failed to load aliases: `+W(e))}finally{o.value=!1}}(0,n.watch)(()=>i.documentId,()=>{a.value=[],o.value=!0,h()},{immediate:!0});async function g(){let e=s.value.trim();if(!e)return;s.value=``;let n={aliasKey:e,scope:`user`};a.value=[...a.value,n],c.value=!0;try{let n=await(await t.o.getClientAsync()).documents.aliases.set({documentId:i.documentId,scope:`user`,aliasKey:e});r.debug(`Alias set result:`,n),await h(!0),a.value.some(t=>t.aliasKey===e)||(r.warn(`Alias set returned success but alias not found in refreshed list:`,e),U(`Alias "${e}" was not saved. The server may have rejected it.`))}catch(t){a.value=a.value.filter(t=>t.aliasKey!==e),r.error(`Failed to add alias:`,t),U(`Failed to add alias: `+W(t))}finally{c.value=!1}}function _(e,t){d.value={aliasKey:e,scope:t},u.value=!0}function v(){u.value=!1,d.value=null}function y(){d.value&&b(d.value.aliasKey,d.value.scope),u.value=!1,d.value=null}async function b(e,n){let i=[...a.value];a.value=a.value.filter(t=>t.aliasKey!==e),l.value=e;try{await(await t.o.getClientAsync()).documents.aliases.delete({scope:n,aliasKey:e}),await h(!0)}catch(e){a.value=i,r.error(`Failed to remove alias:`,e),U(`Failed to remove alias: `+W(e))}finally{l.value=null}}async function x(e){f.value=e.aliasKey,p.value=e.aliasKey,await(0,n.nextTick)(),m.value?.focus(),m.value?.select()}function S(){f.value=null,p.value=``}async function C(e,n){let o=p.value.trim();if(!o||o===e){S();return}let s=[...a.value];a.value=a.value.map(t=>t.aliasKey===e?{...t,aliasKey:o}:t),S();try{let s=await t.o.getClientAsync();await s.documents.aliases.delete({scope:n,aliasKey:e});try{let e=await s.documents.aliases.set({documentId:i.documentId,scope:n,aliasKey:o});r.debug(`Alias rename set result:`,e)}catch(t){r.error(`Alias rename: set failed, restoring original alias`,{originalKey:e,newKey:o,setErr:t});try{await s.documents.aliases.set({documentId:i.documentId,scope:n,aliasKey:e})}catch(t){r.error(`Failed to restore original alias after rename failure`,{originalKey:e,restoreErr:t})}throw t}await h(!0),a.value.some(e=>e.aliasKey===o)||(r.warn(`Alias rename: set returned success but alias not found in refreshed list:`,o),U(`Alias "${o}" was not saved. The server may have rejected it.`))}catch(e){a.value=s,r.error(`Failed to edit alias:`,e),U(`Failed to edit alias: `+W(e))}}return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,null,[r[3]||=(0,n.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Aliases `,-1),o.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Od,[(0,n.createVNode)(Dd,{class:`h-4 w-24`}),(0,n.createVNode)(Dd,{class:`h-4 w-32`})])):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,kd,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(a.value,t=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:t.aliasKey,class:`flex items-center justify-between gap-1 text-xs group min-w-0`},[f.value===t.aliasKey?(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createElementBlock)(`input`,{key:0,ref_for:!0,ref_key:`editInputRef`,ref:m,"onUpdate:modelValue":r[0]||=e=>p.value=e,type:`text`,class:`flex-1 min-w-0 px-1.5 py-0.5 text-[10px] font-mono bg-muted border border-ring rounded focus:outline-none`,onKeydown:[(0,n.withKeys)((0,n.withModifiers)(e=>C(t.aliasKey,t.scope),[`prevent`]),[`enter`]),(0,n.withKeys)((0,n.withModifiers)(S,[`prevent`]),[`escape`])],onBlur:e=>C(t.aliasKey,t.scope)},null,40,Ad)),[[n.vModelText,p.value]]):((0,n.openBlock)(),(0,n.createElementBlock)(`code`,{key:1,class:(0,n.normalizeClass)([`text-[10px] font-mono text-muted-foreground truncate min-w-0`,e.canWrite?`cursor-pointer hover:text-foreground`:``]),title:t.aliasKey,onClick:n=>e.canWrite?x(t):void 0},(0,n.toDisplayString)(t.aliasKey),11,jd)),e.canWrite&&f.value!==t.aliasKey?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:2,class:`opacity-0 group-hover:opacity-100 text-muted-foreground hover:text-destructive flex-shrink-0`,disabled:l.value===t.aliasKey,onClick:e=>_(t.aliasKey,t.scope)},` × `,8,Md)):(0,n.createCommentVNode)(``,!0)]))),128)),e.canWrite?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Nd,[(0,n.withDirectives)((0,n.createElementVNode)(`input`,{"onUpdate:modelValue":r[1]||=e=>s.value=e,type:`text`,class:`flex-1 px-1.5 py-0.5 text-[10px] font-mono bg-transparent border border-dashed border-border rounded focus:outline-none focus:border-ring focus:bg-muted`,placeholder:`+ add alias`,disabled:c.value,onKeydown:(0,n.withKeys)((0,n.withModifiers)(g,[`prevent`]),[`enter`])},null,40,Pd),[[n.vModelText,s.value]])])):(0,n.createCommentVNode)(``,!0)])),(0,n.createVNode)(Ks,{"is-open":u.value,title:`Remove Alias`,question:`Remove the alias "${d.value?.aliasKey}" from this document?`,warning:``,"confirm-label":`Remove`,"confirming-label":`Removing...`,"is-deleting":l.value!==null,onConfirm:y,onCancel:v,"onUpdate:isOpen":r[2]||=e=>{e||v()}},null,8,[`is-open`,`question`,`is-deleting`])]))}}),Id={key:0,class:`space-y-2.5`},Ld={class:`flex-1 space-y-1`},Rd={key:1,class:`space-y-2`},zd={class:`flex items-center gap-2 min-w-0 flex-1`},Bd={class:`min-w-0`},Vd=[`title`],Hd=[`title`],Ud={key:0,class:`text-[10px] text-muted-foreground flex-shrink-0`},Wd=[`value`,`onChange`],Gd={key:0,value:`transfer-ownership`},Kd={value:`remove`},qd={key:2,class:`flex items-center gap-1.5 flex-shrink-0`},Jd={class:`text-[10px] text-muted-foreground capitalize`},Yd=[`onClick`],Xd={key:3,class:`text-[10px] text-muted-foreground capitalize flex-shrink-0`},Zd={class:`flex items-center gap-2 min-w-0 flex-1`},Qd={class:`min-w-0`},$d=[`title`],ef=[`onClick`],tf={class:`flex items-center gap-2 min-w-0 flex-1`},nf={class:`min-w-0`},rf=[`title`],af={class:`text-[10px] text-muted-foreground truncate`},of={class:`text-[10px] text-muted-foreground capitalize flex-shrink-0`},sf={key:0,class:`pt-1`},cf=[`onKeydown`],lf={class:`flex items-center gap-1`},uf=[`disabled`],df={key:0,class:`w-2.5 h-2.5 border border-current border-t-transparent rounded-full animate-spin`},ff=(0,n.defineComponent)({__name:`DocumentSharingSection`,props:{documentId:{},canWrite:{type:Boolean}},setup(e){let r=t.s.forScope(`DocumentSharingSection`),i=e,a=(0,n.ref)(``),o=(0,n.ref)([]),s=(0,n.ref)([]),c=(0,n.ref)([]),l=(0,n.ref)(!0),u=(0,n.ref)(``),d=(0,n.ref)(`read-write`),f=(0,n.ref)(!1),p=(0,n.ref)(!1),m=(0,n.ref)(!1),h=(0,n.ref)(``),g=(0,n.ref)(``),_=(0,n.ref)(!1),v=(0,n.ref)(!1),y=(0,n.ref)(!1),b=(0,n.ref)(``),x=(0,n.ref)(``),S=(0,n.ref)(!1),C=(0,n.ref)(!1),w=(0,n.ref)(!1);async function T(e=!1){e||(l.value=!0);try{let e=await t.o.getClientAsync();a.value=(await e.me.get())?.userId??``;let[n,l,u]=await Promise.all([e.documents.getPermissions(i.documentId).catch(e=>(r.debug(`getPermissions not available:`,e),[])),e.documents.listPendingInvitations(i.documentId).catch(e=>(r.debug(`listPendingInvitations not available:`,e),[])),e.documents.listGroupPermissions(i.documentId).catch(e=>(r.debug(`listGroupPermissions not available:`,e),[]))]);o.value=n,s.value=l,c.value=await Promise.all(u.map(async t=>{if(!t.groupType)return t;try{let n=await e.groups.get(t.groupType,t.groupId);return{...t,groupName:n.name}}catch{return{...t,groupName:void 0}}}))}catch(e){r.error(`Failed to load sharing info:`,e),o.value=[],s.value=[],c.value=[],U(`Failed to load sharing info: `+W(e))}finally{l.value=!1}}(0,n.watch)(()=>i.documentId,()=>{o.value=[],s.value=[],c.value=[],l.value=!0,T()},{immediate:!0});let E=null,D=!1;(0,n.onMounted)(async()=>{D=!0;try{let e=await t.o.getClientAsync();if(!D)return;let n=e=>{e.documentId===i.documentId&&(r.debug(`Invitation event received – reloading sharing data`,{action:e.action}),T(!0))};e.on(`invitation`,n),E=()=>e.off(`invitation`,n)}catch(e){r.warn(`Could not subscribe to invitation events:`,e)}}),(0,n.onUnmounted)(()=>{D=!1,E?.()});let O=(0,n.computed)(()=>{let e=o.value.find(e=>e.userId===a.value);return e?rd(e.permission):!1}),k=(0,n.computed)(()=>{let e=o.value.find(e=>e.userId===a.value);return e?rd(e.permission)||e.permission===`read-write`:!1});function A(e){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}function j(e){return e.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2)}function M(e){let t=[`bg-blue-500`,`bg-green-500`,`bg-purple-500`,`bg-pink-500`,`bg-orange-500`,`bg-teal-500`],n=0;for(let t=0;t<e.length;t++)n=e.charCodeAt(t)+((n<<5)-n);return t[Math.abs(n)%t.length]??`bg-blue-500`}async function N(){let e=u.value.trim().toLowerCase();if(!e)return;if(!A(e)){U(`Please enter a valid email address.`);return}if(o.value.some(t=>t.email.toLowerCase()===e)){U(`${e} already has access to this document.`);return}if(s.value.some(t=>t.email.toLowerCase()===e)){U(`${e} already has a pending invitation.`);return}let n=d.value,a={invitationId:`optimistic-${Date.now()}`,email:e,permission:n,createdAt:new Date().toISOString(),expiresAt:``};s.value=[...s.value,a],u.value=``,p.value=!1,f.value=!0;try{await(await t.o.getClientAsync()).documents.updatePermissions(i.documentId,{email:e,permission:n}),await T(!0)}catch(e){s.value=s.value.filter(e=>e.invitationId!==a.invitationId),r.error(`Failed to invite collaborator:`,e),U(`Failed to invite: `+W(e))}finally{f.value=!1}}async function P(e){let n=[...s.value];s.value=s.value.filter(t=>t.email!==e);try{await(await t.o.getClientAsync()).documents.removePermission(i.documentId,{email:e}),await T(!0)}catch(e){s.value=n,r.error(`Failed to cancel invitation:`,e),U(`Failed to cancel invitation: `+W(e))}}async function ee(e,n){let a=o.value.slice();o.value=o.value.map(t=>t.userId===e?{...t,permission:n}:t);try{await(await t.o.getClientAsync()).documents.updatePermissions(i.documentId,{userId:e,permission:n}),await T(!0)}catch(e){o.value=a,r.error(`Failed to update permission:`,e),U(`Failed to update permission: `+W(e))}}async function F(e){let n=o.value.slice();o.value=o.value.filter(t=>t.userId!==e);try{await(await t.o.getClientAsync()).documents.removePermission(i.documentId,e),await T(!0)}catch(e){o.value=n,r.error(`Failed to remove permission:`,e),U(`Failed to remove permission: `+W(e))}}function te(e,t,n){let r=o.value.find(t=>t.userId===e);t===`remove`?(r&&(n.value=r.permission,g.value=r.name||r.email),h.value=e,_.value=e===a.value,m.value=!0):t===`transfer-ownership`?(r&&(n.value=r.permission,x.value=r.name||r.email),b.value=e,y.value=!0):t===`reader`&&e===a.value?(r&&(n.value=r.permission),C.value=!0):ee(e,t)}function ne(){w.value=!0,ee(a.value,`reader`).finally(()=>{w.value=!1,C.value=!1})}function I(){C.value=!1}function L(){v.value=!0,F(h.value).finally(()=>{v.value=!1,m.value=!1,h.value=``,g.value=``,_.value=!1})}function R(){m.value=!1,h.value=``,g.value=``,_.value=!1}function z(e){h.value=e.userId,g.value=e.name||e.email,_.value=!0,m.value=!0}async function re(e){let n=o.value.slice();o.value=o.value.map(t=>t.userId===e?{...t,permission:`owner`}:t.userId===a.value?{...t,permission:`read-write`}:t),S.value=!0;try{let n=await t.o.getClientAsync();await n.documents.updatePermissions(i.documentId,{userId:e,permission:`owner`}),await n.documents.updatePermissions(i.documentId,{userId:a.value,permission:`read-write`}),await T(!0)}catch(e){o.value=n,r.error(`Failed to transfer ownership:`,e),U(`Failed to transfer ownership: `+W(e))}finally{S.value=!1,y.value=!1,b.value=``,x.value=``}}function ie(){re(b.value)}function B(){y.value=!1,b.value=``,x.value=``}return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,null,[r[16]||=(0,n.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Sharing `,-1),l.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Id,[((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(2,e=>(0,n.createElementVNode)(`div`,{key:e,class:`flex items-center gap-2`},[(0,n.createVNode)(Dd,{class:`h-5 w-5 rounded-full flex-shrink-0`}),(0,n.createElementVNode)(`div`,Ld,[(0,n.createVNode)(Dd,{class:`h-3 w-20`}),(0,n.createVNode)(Dd,{class:`h-2.5 w-28`})]),(0,n.createVNode)(Dd,{class:`h-3 w-10`})])),64))])):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Rd,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(o.value,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e.userId,class:`flex items-center justify-between gap-2 text-xs`},[(0,n.createElementVNode)(`div`,zd,[(0,n.createElementVNode)(`div`,{class:(0,n.normalizeClass)([`w-5 h-5 rounded-full flex items-center justify-center text-[10px] text-white font-medium flex-shrink-0`,M(e.name||e.email)])},(0,n.toDisplayString)(j(e.name||e.email)),3),(0,n.createElementVNode)(`div`,Bd,[(0,n.createElementVNode)(`div`,{class:`font-medium truncate`,title:e.name||e.email},(0,n.toDisplayString)(e.name||e.email),9,Vd),e.name?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,class:`text-[10px] text-muted-foreground truncate`,title:e.email},(0,n.toDisplayString)(e.email),9,Hd)):(0,n.createCommentVNode)(``,!0)])]),(0,n.unref)(rd)(e.permission)?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Ud,` Owner `)):k.value?((0,n.openBlock)(),(0,n.createElementBlock)(`select`,{key:1,value:e.permission,class:`text-[10px] px-1.5 py-0.5 bg-muted border border-border text-foreground cursor-pointer focus:outline-none focus:ring-1 focus:ring-ring rounded appearance-auto flex-shrink-0`,onChange:t=>te(e.userId,t.target.value,t.target)},[r[8]||=(0,n.createElementVNode)(`option`,{value:`read-write`},`Editor`,-1),r[9]||=(0,n.createElementVNode)(`option`,{value:`reader`},`Viewer`,-1),r[10]||=(0,n.createElementVNode)(`option`,{disabled:``},`───`,-1),O.value&&e.userId!==a.value&&e.permission===`read-write`?((0,n.openBlock)(),(0,n.createElementBlock)(`option`,Gd,` Transfer Ownership `)):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`option`,Kd,(0,n.toDisplayString)(e.userId===a.value?`Leave`:`Remove`),1)],40,Wd)):e.userId===a.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,qd,[(0,n.createElementVNode)(`span`,Jd,(0,n.toDisplayString)((0,n.unref)(td)(e.permission)),1),(0,n.createElementVNode)(`button`,{class:`text-muted-foreground hover:text-destructive flex-shrink-0`,title:`Leave document`,onClick:t=>z(e)},[...r[11]||=[(0,n.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1`})],-1)]],8,Yd)])):((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Xd,(0,n.toDisplayString)((0,n.unref)(td)(e.permission)),1))]))),128)),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(s.value,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e.email,class:`flex items-center justify-between gap-2 text-xs`},[(0,n.createElementVNode)(`div`,Zd,[r[13]||=(0,n.createElementVNode)(`div`,{class:`w-5 h-5 rounded-full bg-muted flex items-center justify-center text-[10px] text-muted-foreground font-medium border border-dashed border-border flex-shrink-0`},` ? `,-1),(0,n.createElementVNode)(`div`,Qd,[(0,n.createElementVNode)(`div`,{class:`font-medium text-muted-foreground truncate`,title:e.email},(0,n.toDisplayString)(e.email),9,$d),r[12]||=(0,n.createElementVNode)(`div`,{class:`text-[10px] text-amber-600 flex items-center gap-1`},[(0,n.createElementVNode)(`svg`,{class:`w-3 h-3 flex-shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z`})]),(0,n.createTextVNode)(` Pending invitation `)],-1)])]),(0,n.createElementVNode)(`button`,{class:`text-[10px] text-muted-foreground hover:text-destructive flex-shrink-0`,onClick:t=>P(e.email)},` Cancel `,8,ef)]))),128)),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(c.value,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:`${e.groupType}/${e.groupId}`,class:`flex items-center justify-between gap-2 text-xs`},[(0,n.createElementVNode)(`div`,tf,[r[14]||=(0,n.createElementVNode)(`div`,{class:`w-5 h-5 rounded-full bg-indigo-500/15 flex items-center justify-center text-[10px] text-indigo-600 font-medium flex-shrink-0`},[(0,n.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0z`})])],-1),(0,n.createElementVNode)(`div`,nf,[(0,n.createElementVNode)(`div`,{class:`font-medium truncate`,title:e.groupName??`${e.groupType}/${e.groupId}`},(0,n.toDisplayString)(e.groupName??`${e.groupType}/${e.groupId}`),9,rf),(0,n.createElementVNode)(`div`,af,(0,n.toDisplayString)(e.groupType)+` group `,1)])]),(0,n.createElementVNode)(`span`,of,(0,n.toDisplayString)((0,n.unref)(td)(e.permission)),1)]))),128)),e.canWrite?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,sf,[p.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,"data-devtools-dropdown":``,class:`space-y-1.5`,onKeydown:r[3]||=(0,n.withKeys)((0,n.withModifiers)(e=>{p.value=!1,u.value=``},[`stop`,`prevent`]),[`escape`])},[(0,n.withDirectives)((0,n.createElementVNode)(`input`,{"onUpdate:modelValue":r[0]||=e=>u.value=e,type:`email`,class:`w-full px-1.5 py-1 text-[10px] border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`,placeholder:`Email address`,onKeydown:(0,n.withKeys)((0,n.withModifiers)(N,[`prevent`]),[`enter`])},null,40,cf),[[n.vModelText,u.value]]),(0,n.createElementVNode)(`div`,lf,[(0,n.withDirectives)((0,n.createElementVNode)(`select`,{"onUpdate:modelValue":r[1]||=e=>d.value=e,class:`flex-1 px-1 py-0.5 text-[10px] border border-border rounded bg-background`},[...r[15]||=[(0,n.createElementVNode)(`option`,{value:`read-write`},`Editor`,-1),(0,n.createElementVNode)(`option`,{value:`reader`},`Viewer`,-1)]],512),[[n.vModelSelect,d.value]]),(0,n.createElementVNode)(`button`,{class:`px-2 py-0.5 text-[10px] bg-primary text-primary-foreground rounded hover:bg-primary/90 disabled:opacity-50 flex items-center gap-1`,disabled:f.value||!u.value.trim()||!A(u.value.trim()),onClick:N},[f.value?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,df)):(0,n.createCommentVNode)(``,!0),(0,n.createTextVNode)(` `+(0,n.toDisplayString)(f.value?`Sending...`:`Send`),1)],8,uf),(0,n.createElementVNode)(`button`,{class:`px-2 py-0.5 text-[10px] text-muted-foreground hover:text-foreground`,onClick:r[2]||=e=>{p.value=!1,u.value=``}},` Cancel `)])],32)):((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:1,class:`w-full px-2 py-1.5 text-[10px] text-center border border-dashed border-border rounded hover:bg-muted`,onClick:r[4]||=e=>p.value=!0},` + Invite collaborator `))])):(0,n.createCommentVNode)(``,!0)])),(0,n.createVNode)(Ks,{"is-open":m.value,title:_.value?`Leave Document`:`Remove Collaborator`,question:_.value?`Leave this document? You will lose access immediately.`:`Remove ${g.value} from this document? They will lose access immediately.`,warning:``,"confirm-label":_.value?`Leave`:`Remove`,"confirming-label":_.value?`Leaving...`:`Removing...`,"is-deleting":v.value,onConfirm:L,onCancel:R,"onUpdate:isOpen":r[5]||=e=>{e||R()}},null,8,[`is-open`,`title`,`question`,`confirm-label`,`confirming-label`,`is-deleting`]),(0,n.createVNode)(Ks,{"is-open":C.value,title:`Change Your Role`,question:`Change your role to Viewer? You will lose edit access to this document immediately.`,warning:``,"confirm-label":`Change to Viewer`,"confirming-label":`Changing...`,"is-deleting":w.value,onConfirm:ne,onCancel:I,"onUpdate:isOpen":r[6]||=e=>{e||I()}},null,8,[`is-open`,`is-deleting`]),(0,n.createVNode)(Ks,{"is-open":y.value,title:`Transfer Ownership`,question:`Transfer ownership to ${x.value}?`,warning:`You will lose ownership of this document and become an editor. This cannot be undone without the new owner's help.`,"confirm-label":`Transfer`,"confirming-label":`Transferring...`,"is-deleting":S.value,onConfirm:ie,onCancel:B,"onUpdate:isOpen":r[7]||=e=>{e||B()}},null,8,[`is-open`,`question`,`is-deleting`])]))}}),pf={class:`flex flex-wrap gap-1 items-center`},mf=[`title`],hf={class:`truncate min-w-0`},gf=[`disabled`,`onClick`],_f=[`onKeydown`],vf=`__ROOT_TAG__`,yf=(0,n.defineComponent)({__name:`DocumentTagsSection`,props:{documentId:{},baseTags:{},canWrite:{type:Boolean},isRoot:{type:Boolean}},emits:[`documents-changed`],setup(e,{emit:r}){let i=t.s.forScope(`DocumentTagsSection`),a=e,o=r,s=(0,n.ref)(``),c=(0,n.ref)(!1),l=(0,n.ref)(null),u=(0,n.ref)(!1),d=(0,n.ref)(null),f=(0,n.ref)([]),p=(0,n.ref)(new Set),m=(0,n.ref)([]),h=(0,n.computed)(()=>{let e=new Set([...a.baseTags,...f.value]);for(let t of p.value)e.delete(t);let t=m.value.filter(t=>e.has(t)),n=new Set(t);for(let r of e)n.has(r)||t.push(r);return t});(0,n.watch)(()=>a.baseTags,e=>{if(!e)return;let t=new Set(m.value);for(let n of e)t.has(n)||m.value.push(n);f.value=f.value.filter(t=>!e.includes(t));for(let t of p.value)e.includes(t)||p.value.delete(t);let n=new Set([...e,...f.value]);m.value=m.value.filter(e=>n.has(e))},{deep:!0}),(0,n.watch)(()=>a.documentId,()=>{f.value=[],p.value=new Set,m.value=[]});async function g(){let e=s.value.trim();if(e){s.value=``,f.value.includes(e)||f.value.push(e),m.value.includes(e)||m.value.push(e),c.value=!0;try{await(await t.o.getClientAsync()).documents.addTag(a.documentId,e),o(`documents-changed`),i.debug(`Added tag to document`,{documentId:a.documentId,tag:e})}catch(t){f.value=f.value.filter(t=>t!==e),i.error(`Failed to add tag to document:`,t),U(`Failed to add tag: `+W(t))}finally{c.value=!1}}}function _(e){d.value=e,u.value=!0}function v(){u.value=!1,d.value=null}function y(){d.value&&b(d.value),u.value=!1,d.value=null}async function b(e){p.value.add(e),l.value=e;try{await(await t.o.getClientAsync()).makeRequest(`DELETE`,`/documents/${a.documentId}/tags/${encodeURIComponent(e)}`),o(`documents-changed`),i.debug(`Removed tag from document`,{documentId:a.documentId,tag:e})}catch(t){p.value.delete(e),i.error(`Failed to remove tag from document:`,t),U(`Failed to remove tag: `+W(t))}finally{l.value=null}}return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,null,[r[2]||=(0,n.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Tags `,-1),(0,n.createElementVNode)(`div`,pf,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(h.value,t=>((0,n.openBlock)(),(0,n.createElementBlock)(`span`,{key:t,class:`inline-flex items-center gap-1 px-1.5 py-0.5 text-[10px] bg-muted rounded group max-w-full`,title:t},[(0,n.createElementVNode)(`span`,hf,(0,n.toDisplayString)(t),1),e.canWrite&&!(e.isRoot&&t===vf)?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`opacity-0 group-hover:opacity-100 hover:text-destructive flex-shrink-0`,disabled:l.value===t,onClick:e=>_(t)},` × `,8,gf)):(0,n.createCommentVNode)(``,!0)],8,mf))),128)),e.canWrite&&!e.isRoot?(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createElementBlock)(`input`,{key:0,"onUpdate:modelValue":r[0]||=e=>s.value=e,type:`text`,class:`w-16 px-1.5 py-0.5 text-[10px] bg-transparent border border-dashed border-border rounded focus:outline-none focus:border-ring focus:bg-muted`,placeholder:`+ add tag`,onKeydown:(0,n.withKeys)((0,n.withModifiers)(g,[`prevent`]),[`enter`]),onBlur:g},null,40,_f)),[[n.vModelText,s.value]]):(0,n.createCommentVNode)(``,!0)]),(0,n.createVNode)(Ks,{"is-open":u.value,title:`Remove Tag`,question:`Remove the tag "${d.value}" from this document?`,warning:``,"confirm-label":`Remove`,"confirming-label":`Removing...`,"is-deleting":l.value!==null,onConfirm:y,onCancel:v,"onUpdate:isOpen":r[1]||=e=>{e||v()}},null,8,[`is-open`,`question`,`is-deleting`])]))}}),bf={class:`relative min-h-0`},xf={class:`w-3 h-3 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Sf={key:0,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M15 19l-7-7 7-7`},Cf={key:1,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 5l7 7-7 7`},wf={class:`flex-1 overflow-y-auto scrollbar-thin min-h-0 p-3`},Tf={class:`mb-4`},Ef={class:`flex items-center justify-between`},Df={class:`text-base font-semibold truncate`},Of={key:0,class:`relative`},kf={key:0,"data-devtools-dropdown":``,class:`absolute right-0 top-full mt-1 w-40 bg-background border border-border rounded-md shadow-lg z-50`},Af={class:`py-1`},jf={key:0,class:`border-t border-border my-1`},Mf=[`title`],Nf={class:`text-[10px] text-muted-foreground font-mono group-hover:text-foreground truncate max-w-[180px]`},Pf={key:0,class:`w-3 h-3 text-green-500 flex-shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Ff={key:1,class:`w-3 h-3 text-muted-foreground opacity-0 group-hover:opacity-100 flex-shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},If={class:`space-y-3 mb-4 text-xs`},Lf={class:`flex justify-between`},Rf={class:`flex justify-between`},zf={key:0,class:`flex justify-between`},Bf={class:`mb-4`},Vf={class:`mb-4`},Hf={key:0,class:`mb-4`},Uf={key:1,class:`mb-4`},Wf={key:0,class:`space-y-1.5`},Gf={key:1,class:`space-y-1`},Kf={class:`flex items-center gap-1.5 min-w-0`},qf=[`title`],Jf=[`onClick`],Yf={key:2,class:`text-xs text-muted-foreground italic`},Xf={class:`mb-4`},Zf={key:0,class:`space-y-1`},Qf={key:0,class:`flex justify-between gap-2 text-xs`},$f=[`title`,`onClick`],ep={class:`text-muted-foreground flex-shrink-0 whitespace-nowrap`},tp={key:1,class:`text-xs text-muted-foreground italic`},np={class:`bg-background rounded-lg shadow-xl w-80 p-4`},rp={class:`space-y-3`},ip={class:`flex justify-end gap-2`},ap=[`disabled`],op=(0,n.defineComponent)({__name:`DocumentPropertiesPanel`,props:{document:{},models:{},recordCounts:{}},emits:[`navigate-to-model`,`rename-document`,`delete-document`,`documents-changed`],setup(e,{emit:r}){let i=e,a=r,o=(0,n.computed)(()=>i.document.permission!==`reader`),s=(0,n.ref)(typeof window<`u`?localStorage.getItem(ke)===`true`:!1);(0,n.watch)(s,e=>{typeof window<`u`&&localStorage.setItem(ke,String(e))});let c=(0,n.ref)(!1),l=(0,n.ref)(!1),u=(0,n.ref)(``),d=(0,n.ref)(null);function f(e){if(e.key===`Escape`){if(c.value){c.value=!1,e.stopPropagation();return}l.value=!1}}function p(){l.value||c.value?document.addEventListener(`keydown`,f):document.removeEventListener(`keydown`,f)}(0,n.watch)(l,e=>{p(),e&&(0,n.nextTick)(()=>d.value?.focus())}),(0,n.watch)(c,()=>p()),(0,n.onUnmounted)(()=>{document.removeEventListener(`keydown`,f)});let m=(0,n.ref)(null),h=null;async function g(e){try{await navigator.clipboard.writeText(e)}catch{}m.value=e,h&&clearTimeout(h),h=setTimeout(()=>{m.value=null},1500)}let _=t.s.forScope(`DocumentPropertiesPanel`),v=(0,n.ref)([]),y=(0,n.ref)(!1);async function b(){y.value=!0;try{let e=await t.o.getClientAsync(),n=await e.collections.listCollectionsForDocument(i.document.documentId);v.value=await Promise.all(n.items.map(async t=>{if(t.name)return t;try{let n=await e.collections.get(t.collectionId);return{...t,name:n.name}}catch{return t}}))}catch(e){_.error(`Failed to load collections:`,e),v.value=[]}finally{y.value=!1}}async function x(e){let n=[...v.value];v.value=v.value.filter(t=>t.collectionId!==e);try{await(await t.o.getClientAsync()).collections.removeDocument(e,i.document.documentId)}catch{v.value=n}}(0,n.watch)(()=>i.document.documentId,()=>b(),{immediate:!0});function S(){let e=u.value.trim();e&&(a(`rename-document`,i.document.documentId,e),l.value=!1)}function C(e){if(!e)return`Unknown`;try{return new Date(e).toLocaleDateString(`en-US`,{year:`numeric`,month:`short`,day:`numeric`})}catch{return e}}return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,bf,[(0,n.createElementVNode)(`button`,{class:`absolute -left-5 top-1/2 -translate-y-1/2 w-5 h-10 bg-muted border border-border border-r-0 rounded-l flex items-center justify-center hover:bg-muted/80 z-20`,title:`Toggle properties panel`,onClick:r[0]||=e=>s.value=!s.value},[((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,xf,[s.value?((0,n.openBlock)(),(0,n.createElementBlock)(`path`,Sf)):((0,n.openBlock)(),(0,n.createElementBlock)(`path`,Cf))]))]),(0,n.createElementVNode)(`div`,{class:(0,n.normalizeClass)([`h-full border-l border-border flex flex-col bg-background transition-all duration-200`,s.value?`w-0 overflow-hidden border-l-0`:`w-64 lg:w-72`])},[(0,n.createElementVNode)(`div`,wf,[(0,n.createElementVNode)(`div`,Tf,[(0,n.createElementVNode)(`div`,Ef,[(0,n.createElementVNode)(`h2`,Df,(0,n.toDisplayString)(e.document.title||`Untitled`),1),o.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Of,[(0,n.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded`,onClick:r[1]||=e=>c.value=!c.value},[...r[9]||=[(0,n.createElementVNode)(`svg`,{class:`w-4 h-4 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 5v.01M12 12v.01M12 19v.01M12 6a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2z`})],-1)]]),c.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,kf,[(0,n.createElementVNode)(`div`,Af,[(0,n.createElementVNode)(`button`,{class:`w-full px-3 py-1.5 text-xs text-left hover:bg-muted flex items-center gap-2`,onClick:r[2]||=t=>{c.value=!1,l.value=!0,u.value=e.document?.title||``}},[(0,n.createVNode)((0,n.unref)(As),{class:`w-3.5 h-3.5`}),r[10]||=(0,n.createTextVNode)(` Rename Document `,-1)]),e.document.isRoot?(0,n.createCommentVNode)(``,!0):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,jf)),e.document.isRoot?(0,n.createCommentVNode)(``,!0):((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:1,class:`w-full px-3 py-1.5 text-xs text-left hover:bg-destructive/10 text-destructive flex items-center gap-2`,onClick:r[3]||=t=>{c.value=!1,a(`delete-document`,e.document.documentId)}},[(0,n.createVNode)((0,n.unref)(Is),{class:`w-3.5 h-3.5`}),r[11]||=(0,n.createTextVNode)(` Delete Document `,-1)]))])])):(0,n.createCommentVNode)(``,!0)])):(0,n.createCommentVNode)(``,!0)]),(0,n.createElementVNode)(`button`,{class:`flex items-center gap-1 mt-1 group hover:text-foreground`,title:`Click to copy: ${e.document.documentId}`,onClick:r[4]||=t=>g(e.document.documentId)},[(0,n.createElementVNode)(`code`,Nf,(0,n.toDisplayString)(e.document.documentId),1),m.value===e.document.documentId?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Pf,[...r[12]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Ff,[...r[13]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`},null,-1)]]))],8,Mf)]),(0,n.createElementVNode)(`div`,If,[(0,n.createElementVNode)(`div`,Lf,[r[14]||=(0,n.createElementVNode)(`span`,{class:`text-muted-foreground`},`Created`,-1),(0,n.createElementVNode)(`span`,null,(0,n.toDisplayString)(C(e.document.createdAt||e.document.lastModified)),1)]),(0,n.createElementVNode)(`div`,Rf,[r[15]||=(0,n.createElementVNode)(`span`,{class:`text-muted-foreground`},`Permission`,-1),(0,n.createElementVNode)(`span`,null,(0,n.toDisplayString)((0,n.unref)(td)(e.document.permission)),1)]),e.document.isRoot?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,zf,[...r[16]||=[(0,n.createElementVNode)(`span`,{class:`text-muted-foreground`},`Type`,-1),(0,n.createElementVNode)(`span`,{class:`text-amber-600`},`Root Document`,-1)]])):(0,n.createCommentVNode)(``,!0)]),(0,n.createElementVNode)(`div`,Bf,[(0,n.createVNode)(yf,{"document-id":e.document.documentId,"base-tags":e.document.tags??[],"can-write":o.value,"is-root":e.document.isRoot,onDocumentsChanged:r[5]||=e=>a(`documents-changed`)},null,8,[`document-id`,`base-tags`,`can-write`,`is-root`])]),(0,n.createElementVNode)(`div`,Vf,[(0,n.createVNode)(Fd,{"document-id":e.document.documentId,"can-write":o.value},null,8,[`document-id`,`can-write`])]),e.document.isRoot?(0,n.createCommentVNode)(``,!0):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Hf,[(0,n.createVNode)(ff,{"document-id":e.document.documentId,"can-write":o.value},null,8,[`document-id`,`can-write`])])),e.document.isRoot?(0,n.createCommentVNode)(``,!0):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Uf,[r[20]||=(0,n.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Collections `,-1),y.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Wf,[((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(2,e=>(0,n.createElementVNode)(`div`,{key:e,class:`flex items-center gap-2`},[...r[17]||=[(0,n.createElementVNode)(`div`,{class:`h-3 w-20 bg-muted animate-pulse rounded`},null,-1)]])),64))])):v.value.length>0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Gf,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(v.value,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e.collectionId,class:`flex items-center justify-between gap-2 text-xs group`},[(0,n.createElementVNode)(`div`,Kf,[r[18]||=(0,n.createElementVNode)(`svg`,{class:`w-3 h-3 text-muted-foreground flex-shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10`})],-1),(0,n.createElementVNode)(`span`,{class:`truncate`,title:e.name||e.collectionId},(0,n.toDisplayString)(e.name||e.collectionId),9,qf)]),o.value?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`text-muted-foreground hover:text-destructive opacity-0 group-hover:opacity-100 flex-shrink-0`,title:`Remove from collection`,onClick:t=>x(e.collectionId)},[...r[19]||=[(0,n.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M6 18L18 6M6 6l12 12`})],-1)]],8,Jf)):(0,n.createCommentVNode)(``,!0)]))),128))])):((0,n.openBlock)(),(0,n.createElementBlock)(`p`,Yf,` Not in any collections `))])),(0,n.createElementVNode)(`div`,Xf,[r[21]||=(0,n.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Models `,-1),e.models.some(t=>(e.recordCounts[t.tableName]??0)>0)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Zf,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.models,t=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:t.tableName},[(e.recordCounts[t.tableName]??0)>0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Qf,[(0,n.createElementVNode)(`button`,{class:`hover:text-primary hover:underline text-left truncate min-w-0`,title:t.name,onClick:e=>a(`navigate-to-model`,t.tableName)},(0,n.toDisplayString)(t.name),9,$f),(0,n.createElementVNode)(`span`,ep,(0,n.toDisplayString)(e.recordCounts[t.tableName])+` records `,1)])):(0,n.createCommentVNode)(``,!0)],64))),128))])):((0,n.openBlock)(),(0,n.createElementBlock)(`p`,tp,` No records in this document `))])])],2),l.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,"data-devtools-modal":``,class:`fixed inset-0 bg-black/50 flex items-center justify-center z-50`,onClick:r[8]||=(0,n.withModifiers)(e=>l.value=!1,[`self`])},[(0,n.createElementVNode)(`div`,np,[r[23]||=(0,n.createElementVNode)(`h3`,{class:`text-sm font-semibold mb-3`},`Rename Document`,-1),(0,n.createElementVNode)(`div`,rp,[(0,n.createElementVNode)(`div`,null,[r[22]||=(0,n.createElementVNode)(`label`,{class:`text-xs text-muted-foreground`},`Document Name`,-1),(0,n.withDirectives)((0,n.createElementVNode)(`input`,{ref_key:`renameInputRef`,ref:d,"onUpdate:modelValue":r[6]||=e=>u.value=e,type:`text`,class:`w-full mt-1 px-2 py-1.5 text-xs border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`,onKeydown:(0,n.withKeys)(S,[`enter`])},null,544),[[n.vModelText,u.value]])]),(0,n.createElementVNode)(`div`,ip,[(0,n.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs hover:bg-muted rounded`,onClick:r[7]||=e=>l.value=!1},` Cancel `),(0,n.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90`,disabled:!u.value.trim(),onClick:S},` Rename `,8,ap)])])])])):(0,n.createCommentVNode)(``,!0)]))}});function sp(e,t){function n(n,r){let i=[...e.value],a=e.value.find(e=>e[t]===n),o=e.value.findIndex(e=>e[t]===n);return e.value=e.value.filter(e=>e[t]!==n),r().then(()=>({success:!0})).catch(()=>{if(a&&o>=0){let t=[...e.value];t.splice(o,0,a),e.value=t}else a?e.value=[...e.value,a]:e.value=i;return{success:!1}})}async function r(n,r){let i=[...e.value],a=new Set(n);e.value=e.value.filter(e=>!a.has(e[t]));try{let a=await r(n);if(a.length>0){let n=new Set(a),r=i.filter(e=>n.has(e[t])),o=e.value,s=new Set(o.map(e=>e[t])),c=[];for(let e of i){let i=e[t];(s.has(i)||n.has(i))&&c.push(o.find(e=>e[t]===i)??r.find(e=>e[t]===i)??e)}for(let e of o)c.some(n=>n[t]===e[t])||c.push(e);e.value=c}return{failedIds:a}}catch{return e.value=i,{failedIds:n}}}async function i(n,r,i,a){let o=e.value.find(e=>e[t]===n),s=o?o[r]:void 0;e.value=e.value.map(e=>e[t]===n?{...e,[r]:i}:e);try{return await a(),{success:!0}}catch{return s!==void 0&&(e.value=e.value.map(e=>e[t]===n?{...e,[r]:s}:e)),{success:!1}}}return{optimisticRemove:n,optimisticBulkRemove:r,optimisticFieldUpdate:i}}var cp={class:`bg-background rounded-lg shadow-xl w-80 p-4`},lp={class:`space-y-3`},up=[`disabled`],dp={class:`flex justify-end gap-2`},fp=[`disabled`],pp=[`disabled`],mp={key:0,class:`w-3 h-3 border-2 border-primary-foreground border-t-transparent rounded-full animate-spin`},hp=(0,n.defineComponent)({__name:`CreateDocumentDialog`,props:{open:{type:Boolean},isCreating:{type:Boolean}},emits:[`update:open`,`create`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.ref)(``),o=(0,n.ref)(null),s=()=>{if(r.isCreating)return;let e=a.value.trim();e&&i(`create`,e)},c=()=>{r.isCreating||i(`update:open`,!1)};function l(e){e.key===`Escape`&&!r.isCreating&&c()}return(0,n.watch)(()=>r.open,e=>{e?(document.addEventListener(`keydown`,l),(0,n.nextTick)(()=>o.value?.focus())):(document.removeEventListener(`keydown`,l),a.value=``)}),(0,n.onUnmounted)(()=>{document.removeEventListener(`keydown`,l)}),(t,r)=>e.open?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,"data-devtools-modal":``,class:`fixed inset-0 bg-black/50 flex items-center justify-center z-50`,onClick:(0,n.withModifiers)(c,[`self`])},[(0,n.createElementVNode)(`div`,cp,[r[2]||=(0,n.createElementVNode)(`h3`,{class:`text-sm font-semibold mb-3`},`Create New Document`,-1),(0,n.createElementVNode)(`div`,lp,[(0,n.createElementVNode)(`div`,null,[r[1]||=(0,n.createElementVNode)(`label`,{class:`text-xs text-muted-foreground`},`Document Name`,-1),(0,n.withDirectives)((0,n.createElementVNode)(`input`,{ref_key:`titleInputRef`,ref:o,"onUpdate:modelValue":r[0]||=e=>a.value=e,type:`text`,placeholder:`My Document`,class:`w-full mt-1 px-2 py-1.5 text-xs border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`,disabled:e.isCreating,onKeydown:(0,n.withKeys)(s,[`enter`])},null,40,up),[[n.vModelText,a.value]])]),(0,n.createElementVNode)(`div`,dp,[(0,n.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs hover:bg-muted rounded`,disabled:e.isCreating,onClick:c},` Cancel `,8,fp),(0,n.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90 inline-flex items-center gap-1.5`,disabled:!a.value.trim()||e.isCreating,onClick:s},[e.isCreating?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,mp)):(0,n.createCommentVNode)(``,!0),(0,n.createTextVNode)(` `+(0,n.toDisplayString)(e.isCreating?`Creating...`:`Create`),1)],8,pp)])])])])):(0,n.createCommentVNode)(``,!0)}}),gp=(0,n.defineComponent)({__name:`Label`,props:{for:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,r=(0,i.reactiveOmit)(t,`class`);return(e,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(yn),(0,n.mergeProps)({"data-slot":`label`},(0,n.unref)(r),{class:(0,n.unref)(Q)(`flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,t.class)}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16,[`class`]))}}),_p=(0,n.defineComponent)({__name:`Switch`,props:{defaultValue:{},modelValue:{},disabled:{type:Boolean},id:{},value:{},trueValue:{},falseValue:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:[`update:modelValue`],setup(e,{emit:t}){let r=e,a=t,o=He((0,i.reactiveOmit)(r,`class`),a);return(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Ua),(0,n.mergeProps)({"data-slot":`switch`},(0,n.unref)(o),{class:(0,n.unref)(Q)(`peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50`,r.class)}),{default:(0,n.withCtx)(t=>[(0,n.createVNode)((0,n.unref)(Wa),{"data-slot":`switch-thumb`,class:(0,n.normalizeClass)((0,n.unref)(Q)(`bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0`))},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`thumb`,(0,n.normalizeProps)((0,n.guardReactiveProps)(t)))]),_:2},1032,[`class`])]),_:3},16,[`class`]))}}),vp=(0,n.defineComponent)({__name:`Textarea`,props:{class:{type:[Boolean,null,String,Object,Array]},defaultValue:{},modelValue:{}},emits:[`update:modelValue`],setup(e,{emit:t}){let r=e,a=(0,i.useVModel)(r,`modelValue`,t,{passive:!0,defaultValue:r.defaultValue});return(e,t)=>(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createElementBlock)(`textarea`,{"onUpdate:modelValue":t[0]||=e=>(0,n.isRef)(a)?a.value=e:null,"data-slot":`textarea`,class:(0,n.normalizeClass)((0,n.unref)(Q)(`border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,r.class))},null,2)),[[n.vModelText,(0,n.unref)(a)]])}}),yp={class:`min-h-10 px-3 py-1.5 border-b border-border bg-muted/20 relative flex items-center`},bp={class:`flex items-center gap-2 flex-1`},xp=[`onClick`,`onKeydown`],Sp={class:`text-muted-foreground`},Cp={key:0,class:`font-medium truncate max-w-[120px]`},wp=[`onClick`],Tp={class:`space-y-2`},Ep=[`value`],Dp=[`value`],Op={key:0},kp=[`value`],Ap=[`placeholder`],jp={key:1,class:`text-[9px] text-muted-foreground`},Mp={class:`flex justify-end gap-2 pt-2`},Np=[`disabled`],Pp=(0,n.defineComponent)({__name:`FilterBar`,props:{modelInfo:{},filters:{},loadedData:{},showHiddenFields:{type:Boolean}},emits:[`add-filter`,`remove-filter`,`update-filter`,`clear-all`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.ref)(!1),o=(0,n.ref)(null),s=(0,n.ref)(null),c=(0,n.ref)(null),l=(0,n.ref)(null),u=(0,n.ref)(``),d=(0,n.ref)(`contains`),f=(0,n.ref)(``),p=(0,n.computed)(()=>r.modelInfo?Nu(r.modelInfo,r.loadedData,r.showHiddenFields):[]),m=(0,n.computed)(()=>!r.modelInfo||!u.value?[]:Au(r.modelInfo,u.value)),h=(0,n.computed)(()=>!r.modelInfo||!u.value?`string`:Hu(r.modelInfo,u.value)?.type??`string`),g=(0,n.computed)(()=>d.value===`in`||d.value===`not_in`),_=(0,n.computed)(()=>h.value===`boolean`&&!g.value),v=(0,n.computed)(()=>h.value===`number`&&!g.value),y=()=>{l.value=null;let e=p.value[0]||``;u.value=e,d.value=r.modelInfo&&e?ju(r.modelInfo,e):`contains`,f.value=``};(0,n.watch)(u,e=>{!r.modelInfo||!e||(Au(r.modelInfo,e).includes(d.value)||(d.value=ju(r.modelInfo,e)),(Hu(r.modelInfo,e)?.type??`string`)===`boolean`&&f.value!==`true`&&f.value!==`false`&&(f.value=`true`))}),(0,n.watch)(()=>r.modelInfo,()=>y(),{immediate:!0});let b=()=>{y(),a.value=!0},x=e=>{l.value=e.id,u.value=e.field,d.value=e.mode,f.value=e.value,a.value=!0},S=()=>{a.value=!1,l.value=null},C=()=>{u.value&&(l.value?i(`update-filter`,{id:l.value,field:u.value,mode:d.value,value:f.value}):i(`add-filter`,{field:u.value,mode:d.value,value:f.value}),y(),S())},w=e=>{e.key===`Escape`&&a.value&&S()},T=e=>{if(!a.value)return;let t=e.target,n=o.value?.contains(t),r=s.value?.contains(t),i=c.value?.contains(t);!n&&!r&&!i&&S()};return(0,n.onMounted)(()=>{document.addEventListener(`click`,T),document.addEventListener(`keydown`,w)}),(0,n.onUnmounted)(()=>{document.removeEventListener(`click`,T),document.removeEventListener(`keydown`,w)}),(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,yp,[(0,n.createElementVNode)(`div`,bp,[(0,n.createElementVNode)(`div`,{ref_key:`chipsContainerRef`,ref:c,class:`flex-1 flex items-center gap-1 flex-wrap`},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.filters,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e.id,role:`button`,tabindex:`0`,class:`inline-flex items-center gap-1 px-2 py-1 text-[10px] bg-background border border-border rounded cursor-pointer hover:bg-muted/50 focus:outline-none focus:ring-1 focus:ring-ring`,onClick:t=>x(e),onKeydown:(0,n.withKeys)(t=>x(e),[`enter`])},[(0,n.createElementVNode)(`span`,Sp,(0,n.toDisplayString)(e.field),1),(0,n.createElementVNode)(`span`,null,(0,n.toDisplayString)((0,n.unref)(Du)(e.mode)),1),(0,n.unref)(Eu)(e.mode)?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Cp,`"`+(0,n.toDisplayString)(e.value)+`"`,1)):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`button`,{type:`button`,class:`ml-1 hover:text-destructive shrink-0`,"aria-label":`Remove filter`,onClick:(0,n.withModifiers)(t=>i(`remove-filter`,e.id),[`stop`])},[(0,n.createVNode)((0,n.unref)(Ls),{class:`w-3 h-3`})],8,wp)],40,xp))),128)),(0,n.createElementVNode)(`button`,{ref_key:`addBtnRef`,ref:s,class:`inline-flex items-center gap-1 px-2 py-1 text-[10px] text-muted-foreground hover:text-foreground hover:bg-muted rounded border border-dashed border-border`,onClick:r[0]||=e=>a.value?S():b()},[(0,n.createVNode)((0,n.unref)(Fs),{class:`w-3 h-3`}),r[7]||=(0,n.createTextVNode)(` Add filter `,-1)],512)],512),e.filters.length>0?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`text-[10px] text-muted-foreground hover:text-foreground flex-shrink-0`,onClick:r[1]||=e=>i(`clear-all`)},` Clear all `)):(0,n.createCommentVNode)(``,!0)]),a.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,ref_key:`dropdownRef`,ref:o,"data-devtools-dropdown":``,class:`absolute top-full left-3 mt-1 w-72 bg-background border border-border rounded-md shadow-lg p-3 z-20`},[(0,n.createElementVNode)(`div`,Tp,[(0,n.createElementVNode)(`div`,null,[r[8]||=(0,n.createElementVNode)(`label`,{class:`text-[10px] font-medium text-muted-foreground`},`Field`,-1),(0,n.withDirectives)((0,n.createElementVNode)(`select`,{"onUpdate:modelValue":r[2]||=e=>u.value=e,class:`w-full mt-1 px-2 py-1 text-xs bg-muted border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(p.value,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`option`,{key:e,value:e},(0,n.toDisplayString)(e),9,Ep))),128))],512),[[n.vModelSelect,u.value]])]),(0,n.createElementVNode)(`div`,null,[r[9]||=(0,n.createElementVNode)(`label`,{class:`text-[10px] font-medium text-muted-foreground`},`Operator`,-1),(0,n.withDirectives)((0,n.createElementVNode)(`select`,{"onUpdate:modelValue":r[3]||=e=>d.value=e,class:`w-full mt-1 px-2 py-1 text-xs bg-muted border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(m.value,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`option`,{key:e,value:e},(0,n.toDisplayString)((0,n.unref)(Du)(e)),9,Dp))),128))],512),[[n.vModelSelect,d.value]])]),(0,n.unref)(Eu)(d.value)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Op,[r[11]||=(0,n.createElementVNode)(`label`,{class:`text-[10px] font-medium text-muted-foreground`},`Value`,-1),_.value?(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createElementBlock)(`select`,{key:0,"onUpdate:modelValue":r[4]||=e=>f.value=e,class:`w-full mt-1 px-2 py-1 text-xs bg-muted border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`,onKeyup:(0,n.withKeys)(C,[`enter`])},[...r[10]||=[(0,n.createElementVNode)(`option`,{value:`true`},`true`,-1),(0,n.createElementVNode)(`option`,{value:`false`},`false`,-1)]],544)),[[n.vModelSelect,f.value]]):v.value?((0,n.openBlock)(),(0,n.createElementBlock)(`input`,{key:1,value:f.value,type:`number`,placeholder:`Number...`,class:`w-full mt-1 px-2 py-1 text-xs bg-muted border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`,onInput:r[5]||=e=>f.value=e.target.value,onKeyup:(0,n.withKeys)(C,[`enter`])},null,40,kp)):(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createElementBlock)(`input`,{key:2,"onUpdate:modelValue":r[6]||=e=>f.value=e,type:`text`,placeholder:g.value?`val1, val2, ...`:`Enter value...`,class:`w-full mt-1 px-2 py-1 text-xs bg-muted border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`,onKeyup:(0,n.withKeys)(C,[`enter`])},null,40,Ap)),[[n.vModelText,f.value]])])):(0,n.createCommentVNode)(``,!0),g.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,jp,` Tip: Enter comma-separated values `)):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,Mp,[(0,n.createElementVNode)(`button`,{class:`px-2 py-1 text-[10px] text-muted-foreground hover:text-foreground`,onClick:S},` Cancel `),(0,n.createElementVNode)(`button`,{class:`px-2 py-1 text-[10px] font-medium bg-primary text-primary-foreground rounded disabled:opacity-50`,disabled:!u.value||(0,n.unref)(Eu)(d.value)&&d.value!==`equals`&&d.value!==`not_equals`&&!f.value.trim(),onClick:C},(0,n.toDisplayString)(l.value?`Save`:`Add`),9,Np)])])],512)):(0,n.createCommentVNode)(``,!0)]))}}),Fp={class:`flex items-center gap-2`},Ip={class:`text-xs font-medium`},Lp={class:`flex items-center gap-2 min-w-0 flex-1`},Rp={class:`relative flex items-center gap-1.5 min-w-0`,"data-model-selector":``},zp={class:`truncate`},Bp={key:0,class:`text-[10px] text-muted-foreground font-mono ml-2 truncate hidden lg:inline`},Vp={key:1,"data-devtools-dropdown":``,class:`absolute top-full left-0 mt-1 w-48 bg-background border border-border rounded-lg shadow-lg z-50`},Hp={class:`py-1`},Up=[`onClick`],Wp={class:`font-medium truncate min-w-0`},Gp={class:`text-muted-foreground flex-shrink-0 ml-2`},Kp={class:`flex items-center gap-1 flex-shrink-0 min-w-0 max-w-[50%]`},qp=[`title`],Jp={key:0,class:`truncate`},Yp={key:0,class:`border-b border-border bg-muted/30 max-h-64 overflow-y-auto scrollbar-thin`},Xp={class:`p-3`},Zp={class:`grid grid-cols-4 gap-4 text-xs`},Qp={class:`space-y-1`},$p={class:`truncate min-w-0`},em={class:`text-muted-foreground flex-shrink-0`},tm={key:0,class:`space-y-1.5`},nm={class:`font-medium`},rm={class:`text-[10px] text-blue-600 font-mono`},im={key:1,class:`text-[10px] text-muted-foreground italic`},am={key:0,class:`space-y-1.5`},om={class:`font-medium font-mono`},sm={class:`font-mono text-muted-foreground italic`},cm={class:`font-mono text-muted-foreground`},lm={key:1,class:`text-[10px] text-muted-foreground italic`},um={class:`space-y-3`},dm={key:0,class:`space-y-1`},fm={key:1,class:`text-[10px] text-muted-foreground italic`},pm={key:0,class:`space-y-1`},mm={key:1,class:`text-[10px] text-muted-foreground italic`},hm=(0,n.defineComponent)({__name:`ModelHeader`,props:{currentModel:{},modelName:{},models:{},modelCounts:{},canWrite:{type:Boolean},selectedCount:{}},emits:[`switch-model`,`open-create`,`clear-selection`,`open-bulk-delete`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.ref)(!1),o=(0,n.ref)(!1),s=(0,n.ref)(null),c=(0,n.ref)(!1),l=null,u=e=>{a.value=!1,i(`switch-model`,e)},d=e=>{a.value&&(e.target.closest(`[data-model-selector]`)||(a.value=!1))},f=e=>{e.key===`Escape`&&a.value&&(a.value=!1)},p=e=>{if(!e?.modelClass)return{instanceMethods:[],staticMethods:[],getters:[]};let t=e.modelClass,n=new Set([`constructor`,`save`,`delete`,`update`,`reload`,`toJSON`,`toString`,`valueOf`,`hasOwnProperty`,`isPrototypeOf`,`propertyIsEnumerable`,`toLocaleString`,`__defineGetter__`,`__defineSetter__`,`__lookupGetter__`,`__lookupSetter__`,`_initStringSet`,`_getStringSet`,`_buildQuery`,`_buildUpdate`,...e.fields]),r=[],i=[],a=t.prototype,o=Object.getOwnPropertyDescriptors(a);for(let[e,t]of Object.entries(o))if(!(n.has(e)||e.startsWith(`_`))){if(t.get&&!t.set)i.push({name:e,type:`getter`,signature:`get ${e}`});else if(typeof t.value==`function`&&e!==`constructor`){let n=t.value.toString().match(/\(([^)]*)\)/),i=n?n[1]:``;r.push({name:e,type:`method`,signature:`${e}(${i})`})}}let s=[],c=Object.getOwnPropertyDescriptors(t),l=new Set(`length.name.prototype.find.findOne.all.where.count.first.last.create.update.delete.deleteAll.query.tableName.schema.modelName._schema._tableName._fields._relationships._options.caller.callee.arguments`.split(`.`));for(let[e,t]of Object.entries(c))if(!(l.has(e)||e.startsWith(`_`))&&typeof t.value==`function`){let n=t.value.toString().match(/\(([^)]*)\)/),r=n?n[1]:``;s.push({name:e,type:`static-method`,signature:`static ${e}(${r})`})}return{instanceMethods:r.sort((e,t)=>e.name.localeCompare(t.name)),staticMethods:s.sort((e,t)=>e.name.localeCompare(t.name)),getters:i.sort((e,t)=>e.name.localeCompare(t.name))}},m=(0,n.computed)(()=>p(r.currentModel??null)),h=(0,n.computed)(()=>{let e=m.value;return e.instanceMethods.length>0||e.staticMethods.length>0||e.getters.length>0}),g=(0,n.computed)(()=>{if(!r.currentModel)return[];let e=[];for(let[t,n]of r.currentModel.fieldInfo.entries())n.schema?.indexed&&e.push(t);return e.sort()});return(0,n.onMounted)(()=>{document.addEventListener(`click`,d),document.addEventListener(`keydown`,f),s.value&&(l=new ResizeObserver(e=>{for(let t of e)c.value=t.contentRect.width<400}),l.observe(s.value))}),(0,n.onUnmounted)(()=>{document.removeEventListener(`click`,d),document.removeEventListener(`keydown`,f),l?.disconnect()}),(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,[(0,n.createElementVNode)(`div`,{ref_key:`headerRef`,ref:s,class:`flex-shrink-0 h-10 flex items-center justify-between px-3 border-b border-border relative`},[e.selectedCount>0&&e.canWrite?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[(0,n.createElementVNode)(`div`,Fp,[(0,n.createElementVNode)(`span`,Ip,(0,n.toDisplayString)(e.selectedCount)+` selected `,1),(0,n.createElementVNode)(`button`,{class:`text-[10px] text-muted-foreground hover:text-foreground`,onClick:r[0]||=e=>i(`clear-selection`)},` Clear `)]),(0,n.createElementVNode)(`button`,{class:`px-2 py-1 text-xs text-destructive hover:bg-destructive/10 rounded flex items-center gap-1`,onClick:r[1]||=e=>i(`open-bulk-delete`)},[(0,n.createVNode)((0,n.unref)(Is),{class:`w-3.5 h-3.5`}),r[5]||=(0,n.createTextVNode)(` Delete `,-1)])],64)):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[(0,n.createElementVNode)(`div`,Lp,[(0,n.createElementVNode)(`div`,Rp,[(0,n.createElementVNode)(`button`,{class:`flex items-center gap-1.5 px-2 py-1 text-sm font-medium hover:bg-muted rounded min-w-0`,onClick:r[2]||=e=>a.value=!a.value},[(0,n.createElementVNode)(`span`,zp,(0,n.toDisplayString)(e.currentModel?.name||e.modelName)+` model `,1),r[6]||=(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5 text-muted-foreground flex-shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 9l-7 7-7-7`})],-1)]),e.currentModel?.sourcePath?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Bp,(0,n.toDisplayString)(e.currentModel.sourcePath),1)):(0,n.createCommentVNode)(``,!0),a.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Vp,[(0,n.createElementVNode)(`div`,Hp,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.models,t=>((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:t.tableName,class:(0,n.normalizeClass)([`w-full flex items-center justify-between px-3 py-1.5 text-xs text-left hover:bg-muted`,t.tableName===e.modelName?`bg-primary/5`:``]),onClick:e=>u(t.tableName)},[(0,n.createElementVNode)(`span`,Wp,(0,n.toDisplayString)(t.name)+` model `,1),(0,n.createElementVNode)(`span`,Gp,(0,n.toDisplayString)(e.modelCounts[t.tableName]??`...`),1)],10,Up))),128))])])):(0,n.createCommentVNode)(``,!0)]),(0,n.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded text-muted-foreground`,title:`Show model properties`,onClick:r[3]||=e=>o.value=!o.value},[...r[7]||=[(0,n.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z`})],-1)]])]),(0,n.createElementVNode)(`div`,Kp,[e.canWrite?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:(0,n.normalizeClass)([`ml-1 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90 flex items-center min-w-0`,c.value?`p-1.5`:`px-2 py-1 gap-1`]),title:`New ${e.currentModel?.name||e.modelName}`,onClick:r[4]||=e=>i(`open-create`)},[r[8]||=(0,n.createElementVNode)(`svg`,{class:`w-3 h-3 flex-shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 4v16m8-8H4`})],-1),c.value?(0,n.createCommentVNode)(``,!0):((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Jp,` New `+(0,n.toDisplayString)(e.currentModel?.name||e.modelName),1))],10,qp)):(0,n.createCommentVNode)(``,!0)])],64))],512),o.value&&e.currentModel?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Yp,[(0,n.createElementVNode)(`div`,Xp,[(0,n.createElementVNode)(`div`,Zp,[(0,n.createElementVNode)(`div`,null,[r[9]||=(0,n.createElementVNode)(`h4`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Schema `,-1),(0,n.createElementVNode)(`div`,Qp,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.currentModel.fields.filter(e=>e!==`id`&&!e.startsWith(`_`)),t=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:t,class:`flex justify-between gap-2`},[(0,n.createElementVNode)(`span`,$p,(0,n.toDisplayString)(t),1),(0,n.createElementVNode)(`span`,em,(0,n.toDisplayString)((0,n.unref)(Hu)(e.currentModel,t)?.type||`string`),1)]))),128))])]),(0,n.createElementVNode)(`div`,null,[r[10]||=(0,n.createElementVNode)(`h4`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Relationships `,-1),e.currentModel.relationships&&Object.keys(e.currentModel.relationships).length>0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,tm,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.currentModel.relationships,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:t,class:`flex items-center justify-between`},[(0,n.createElementVNode)(`span`,nm,(0,n.toDisplayString)(t),1),(0,n.createElementVNode)(`span`,rm,(0,n.toDisplayString)(e.type===`hasMany`?`←`:`→`)+` `+(0,n.toDisplayString)(e.model)+(0,n.toDisplayString)(e.type===`hasMany`?`[]`:``),1)]))),128))])):((0,n.openBlock)(),(0,n.createElementBlock)(`span`,im,` None `))]),(0,n.createElementVNode)(`div`,null,[r[11]||=(0,n.createElementVNode)(`h4`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Methods `,-1),h.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,am,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(m.value.instanceMethods,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e.name},[(0,n.createElementVNode)(`span`,om,(0,n.toDisplayString)(e.signature),1)]))),128)),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(m.value.getters,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e.name},[(0,n.createElementVNode)(`span`,sm,(0,n.toDisplayString)(e.signature),1)]))),128)),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(m.value.staticMethods,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e.name},[(0,n.createElementVNode)(`span`,cm,(0,n.toDisplayString)(e.signature),1)]))),128))])):((0,n.openBlock)(),(0,n.createElementBlock)(`span`,lm,` None `))]),(0,n.createElementVNode)(`div`,um,[(0,n.createElementVNode)(`div`,null,[r[12]||=(0,n.createElementVNode)(`h4`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Indexes `,-1),g.value.length>0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,dm,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(g.value,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e,class:`px-2 py-1 bg-muted rounded font-mono text-[10px]`},(0,n.toDisplayString)(e),1))),128))])):((0,n.openBlock)(),(0,n.createElementBlock)(`span`,fm,` None `))]),(0,n.createElementVNode)(`div`,null,[r[13]||=(0,n.createElementVNode)(`h4`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Unique Constraints `,-1),e.currentModel.uniqueConstraints&&e.currentModel.uniqueConstraints.length>0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,pm,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.currentModel.uniqueConstraints,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e.name,class:`px-2 py-1 bg-muted rounded font-mono text-[10px]`},(0,n.toDisplayString)(e.fields.join(`, `)),1))),128))])):((0,n.openBlock)(),(0,n.createElementBlock)(`span`,mm,` None `))])])])])])):(0,n.createCommentVNode)(``,!0)],64))}}),gm={class:`flex items-center gap-1.5 min-w-0`},_m={class:`text-muted-foreground text-[10px] tabular-nums whitespace-nowrap`},vm=[`value`],ym=[`value`],bm={class:`flex items-center gap-0.5`},xm=[`disabled`],Sm={class:`text-[10px] px-1 tabular-nums`},Cm={class:`text-muted-foreground`},wm=[`disabled`],Tm={class:`flex items-center gap-2`},Em={class:`text-muted-foreground`},Dm=[`value`],Om=[`value`],km={class:`flex items-center gap-1`},Am=[`disabled`],jm=[`onClick`],Mm=[`disabled`],Nm=(0,n.defineComponent)({__name:`ModelPaginationBar`,props:{currentPage:{},totalCount:{},pageSize:{},totalPages:{}},emits:[`go-to-page`,`change-page-size`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.ref)(null),o=(0,n.ref)(!1),s=null;(0,n.onMounted)(()=>{a.value&&(s=new ResizeObserver(e=>{for(let t of e)o.value=t.contentRect.width<480}),s.observe(a.value))}),(0,n.onUnmounted)(()=>{s?.disconnect()});let c=(0,n.computed)(()=>{let e=r.totalPages,t=r.currentPage,n=[];if(e<=5)for(let t=1;t<=e;t++)n.push(t);else{let r=Math.max(1,t-2),i=Math.min(e,r+5-1);i-r<4&&(r=Math.max(1,i-5+1));for(let e=r;e<=i;e++)n.push(e)}return n});return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{ref_key:`barRef`,ref:a,class:(0,n.normalizeClass)([`flex-shrink-0 flex items-center justify-between py-2 border-t border-border bg-muted/20 text-xs`,o.value?`pl-2 pr-16 gap-2`:`pl-3 pr-16`])},[o.value?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[(0,n.createElementVNode)(`div`,gm,[(0,n.createElementVNode)(`span`,_m,(0,n.toDisplayString)(e.totalCount===0?0:(e.currentPage-1)*e.pageSize+1)+`–`+(0,n.toDisplayString)(Math.min(e.currentPage*e.pageSize,e.totalCount))+` / `+(0,n.toDisplayString)(e.totalCount),1),(0,n.createElementVNode)(`select`,{class:`px-1 py-0.5 text-[10px] bg-background border border-border rounded`,value:e.pageSize,onChange:r[0]||=e=>i(`change-page-size`,Number(e.target.value))},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)((0,n.unref)(zu),e=>((0,n.openBlock)(),(0,n.createElementBlock)(`option`,{key:e,value:e},(0,n.toDisplayString)(e),9,ym))),128))],40,vm)]),(0,n.createElementVNode)(`div`,bm,[(0,n.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded disabled:opacity-30`,disabled:e.currentPage<=1,title:`Previous page`,onClick:r[1]||=t=>i(`go-to-page`,e.currentPage-1)},[...r[6]||=[(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M15 19l-7-7 7-7`})],-1)]],8,xm),(0,n.createElementVNode)(`span`,Sm,[(0,n.createTextVNode)((0,n.toDisplayString)(e.currentPage),1),(0,n.createElementVNode)(`span`,Cm,`/`+(0,n.toDisplayString)(e.totalPages),1)]),(0,n.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded disabled:opacity-30`,disabled:e.currentPage>=e.totalPages,title:`Next page`,onClick:r[2]||=t=>i(`go-to-page`,e.currentPage+1)},[...r[7]||=[(0,n.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 5l7 7-7 7`})],-1)]],8,wm)])],64)):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[(0,n.createElementVNode)(`div`,Tm,[(0,n.createElementVNode)(`span`,Em,` Showing `+(0,n.toDisplayString)(e.totalCount===0?0:(e.currentPage-1)*e.pageSize+1)+`-`+(0,n.toDisplayString)(Math.min(e.currentPage*e.pageSize,e.totalCount))+` of `+(0,n.toDisplayString)(e.totalCount),1),(0,n.createElementVNode)(`select`,{class:`px-1 py-0.5 text-[10px] bg-background border border-border rounded`,value:e.pageSize,onChange:r[3]||=e=>i(`change-page-size`,Number(e.target.value))},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)((0,n.unref)(zu),e=>((0,n.openBlock)(),(0,n.createElementBlock)(`option`,{key:e,value:e},(0,n.toDisplayString)(e),9,Om))),128))],40,Dm),r[8]||=(0,n.createElementVNode)(`span`,{class:`text-muted-foreground`},`per page`,-1)]),(0,n.createElementVNode)(`div`,km,[(0,n.createElementVNode)(`button`,{class:`px-2 py-1 hover:bg-muted rounded disabled:opacity-50`,disabled:e.currentPage<=1,onClick:r[4]||=t=>i(`go-to-page`,e.currentPage-1)},` Previous `,8,Am),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(c.value,t=>((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:t,class:(0,n.normalizeClass)([`px-2 py-1 rounded`,t===e.currentPage?`bg-primary text-primary-foreground`:`hover:bg-muted`]),onClick:e=>i(`go-to-page`,t)},(0,n.toDisplayString)(t),11,jm))),128)),(0,n.createElementVNode)(`button`,{class:`px-2 py-1 hover:bg-muted rounded disabled:opacity-50`,disabled:e.currentPage>=e.totalPages,onClick:r[5]||=t=>i(`go-to-page`,e.currentPage+1)},` Next `,8,Mm)])],64))],2))}}),Pm=(0,n.defineComponent)({__name:`Input`,props:{defaultValue:{},modelValue:{},class:{type:[Boolean,null,String,Object,Array]}},emits:[`update:modelValue`],setup(e,{emit:t}){let r=e,a=(0,i.useVModel)(r,`modelValue`,t,{passive:!0,defaultValue:r.defaultValue});return(e,t)=>(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createElementBlock)(`input`,{"onUpdate:modelValue":t[0]||=e=>(0,n.isRef)(a)?a.value=e:null,"data-slot":`input`,class:(0,n.normalizeClass)((0,n.unref)(Q)(`file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,r.class))},null,2)),[[n.vModelText,(0,n.unref)(a)]])}}),Fm=(0,n.defineComponent)({__name:`Select`,props:{open:{type:Boolean},defaultOpen:{type:Boolean},defaultValue:{},modelValue:{},nullableValue:{},by:{type:[String,Function]},dir:{},multiple:{type:Boolean},autocomplete:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:open`],setup(e,{emit:t}){let r=He(e,t);return(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Vn),(0,n.mergeProps)({"data-slot":`select`},(0,n.unref)(r)),{default:(0,n.withCtx)(t=>[(0,n.renderSlot)(e.$slots,`default`,(0,n.normalizeProps)((0,n.guardReactiveProps)(t)))]),_:3},16))}}),Im=(0,n.defineComponent)({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean},position:{default:`popper`},bodyLock:{type:Boolean},memoDependencies:{},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:{},dir:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let r=e,a=t,o=He((0,i.reactiveOmit)(r,`class`),a);return(t,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(ka),null,{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Sa),(0,n.mergeProps)({"data-slot":`select-content`},{...t.$attrs,...(0,n.unref)(o)},{class:(0,n.unref)(Q)(`bg-popover text-popover-foreground 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]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--reka-select-content-available-height) min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-md border shadow-md`,e.position===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,r.class)}),{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Bm)),(0,n.createVNode)((0,n.unref)(La),{class:(0,n.normalizeClass)((0,n.unref)(Q)(`p-1`,e.position===`popper`&&`h-[var(--reka-select-trigger-height)] w-full min-w-[var(--reka-select-trigger-width)] scroll-my-1`))},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(t.$slots,`default`)]),_:3},8,[`class`]),(0,n.createVNode)((0,n.unref)(zm))]),_:3},16,[`class`])]),_:3}))}}),Lm={class:`absolute right-2 flex size-3.5 items-center justify-center`},Rm=(0,n.defineComponent)({__name:`SelectItem`,props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,r=Be((0,i.reactiveOmit)(t,`class`));return(e,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Ea),(0,n.mergeProps)({"data-slot":`select-item`},(0,n.unref)(r),{class:(0,n.unref)(Q)(`focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,t.class)}),{default:(0,n.withCtx)(()=>[(0,n.createElementVNode)(`span`,Lm,[(0,n.createVNode)((0,n.unref)(Da),null,{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`indicator-icon`,{},()=>[(0,n.createVNode)((0,n.unref)(js),{class:`size-4`})])]),_:3})]),(0,n.createVNode)((0,n.unref)(Oa),null,{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3})]),_:3},16,[`class`]))}}),zm=(0,n.defineComponent)({__name:`SelectScrollDownButton`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,r=Be((0,i.reactiveOmit)(t,`class`));return(e,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(ja),(0,n.mergeProps)({"data-slot":`select-scroll-down-button`},(0,n.unref)(r),{class:(0,n.unref)(Q)(`flex cursor-default items-center justify-center py-1`,t.class)}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`,{},()=>[(0,n.createVNode)((0,n.unref)(Ms),{class:`size-4`})])]),_:3},16,[`class`]))}}),Bm=(0,n.defineComponent)({__name:`SelectScrollUpButton`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,r=Be((0,i.reactiveOmit)(t,`class`));return(e,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Ma),(0,n.mergeProps)({"data-slot":`select-scroll-up-button`},(0,n.unref)(r),{class:(0,n.unref)(Q)(`flex cursor-default items-center justify-center py-1`,t.class)}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`,{},()=>[(0,n.createVNode)((0,n.unref)(Ns),{class:`size-4`})])]),_:3},16,[`class`]))}}),Vm=(0,n.defineComponent)({__name:`SelectTrigger`,props:{disabled:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},size:{default:`default`}},setup(e){let t=e,r=Be((0,i.reactiveOmit)(t,`class`,`size`));return(i,a)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Pa),(0,n.mergeProps)({"data-slot":`select-trigger`,"data-size":e.size},(0,n.unref)(r),{class:(0,n.unref)(Q)(`border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,t.class)}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(i.$slots,`default`),(0,n.createVNode)((0,n.unref)(Ca),{"as-child":``},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Ms),{class:`size-4 opacity-50`})]),_:1})]),_:3},16,[`data-size`,`class`]))}}),Hm=(0,n.defineComponent)({__name:`SelectValue`,props:{placeholder:{},asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,r)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Fa),(0,n.mergeProps)({"data-slot":`select-value`},t),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},16))}}),Um=[`title`,`onClick`],Wm={class:`text-xs font-mono truncate`},Gm={key:0,class:`w-3 h-3 flex-shrink-0 text-green-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Km={key:1,class:`w-3 h-3 flex-shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},qm=[`for`,`title`],Jm={key:0,class:`opacity-50`},Ym={key:0,class:`space-y-1.5 mt-1`},Xm={key:0,class:`flex gap-1`},Zm={key:0,class:`text-muted-foreground ml-2`},Qm={class:`text-[10px] text-muted-foreground`},$m={key:1,class:`mt-1 space-y-1.5`},eh={class:`flex flex-wrap gap-1`},th=[`onClick`],nh={key:0,class:`text-xs text-muted-foreground`},rh={class:`flex gap-1`},ih={key:2,class:`mt-1 space-y-1`},ah=[`id`,`value`,`onChange`],oh={key:0,class:`text-[10px] text-destructive`},sh={key:1,class:`text-[10px] text-muted-foreground`},ch={class:`flex items-center gap-1`},lh=[`onClick`],uh=[`onClick`],dh={key:3,class:`mt-1 flex items-center gap-2`},fh=[`id`,`checked`,`onChange`],ph={class:`text-xs text-muted-foreground`},mh=(0,n.defineComponent)({__name:`RecordFormFields`,props:{modelInfo:{},formData:{},fields:{},excludeId:{type:Boolean,default:!1},relatedModelData:{},customIdFields:{},copiedId:{default:null},idPrefix:{default:`field`}},emits:[`update-field`,`copy-id`,`toggle-custom-id`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.ref)({}),o=(0,n.ref)(new Set);function s(e){let t=new Set(o.value);t.has(e)?t.delete(e):t.add(e),o.value=t}function c(e){if(!e)return!0;let t=new Date(e);return!isNaN(t.getTime())}let l=(0,n.computed)(()=>{let e={};for(let t of o.value){let n=r.formData[t];e[t]=c(n==null?``:String(n))}return e});function u(e,t){i(`update-field`,e,t)}function d(e){let t=a.value[e]?.trim();if(!t)return;let n=r.formData[e]||[];n.includes(t)||i(`update-field`,e,[...n,t]),a.value[e]=``}function f(e,t){i(`update-field`,e,(r.formData[e]||[]).filter(e=>e!==t))}function p(e){if(!e)return``;try{let t=new Date(String(e));return isNaN(t.getTime())?``:`${t.getFullYear().toString().padStart(4,`0`)}-${(t.getMonth()+1).toString().padStart(2,`0`)}-${t.getDate().toString().padStart(2,`0`)}`}catch{return``}}function m(e){if(!e)return``;try{let[t,n,r]=e.split(`-`).map(Number),i=new Date(0);return i.setFullYear(t,n-1,r),i.setHours(0,0,0,0),isNaN(i.getTime())?``:i.toISOString()}catch{return``}}return(t,r)=>((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.excludeId?e.fields.filter(e=>e!==`id`):e.fields,t=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:t,class:`min-w-0`},[t===`id`&&!e.excludeId?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[r[2]||=(0,n.createElementVNode)(`label`,{class:`text-xs text-muted-foreground`},`id`,-1),(0,n.createElementVNode)(`button`,{class:`mt-1 flex items-center gap-1 min-w-0 p-0.5 -ml-0.5 hover:bg-muted rounded text-muted-foreground cursor-pointer`,title:`Click to copy: ${e.formData[t]}`,onClick:n=>i(`copy-id`,String(e.formData[t]))},[(0,n.createElementVNode)(`code`,Wm,(0,n.toDisplayString)(e.formData[t]),1),e.copiedId===String(e.formData[t])?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Gm,[...r[0]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Km,[...r[1]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`},null,-1)]]))],8,Um)],64)):t!==`id`||!e.excludeId?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[(0,n.createElementVNode)(`label`,{for:`${e.idPrefix}-${t}`,class:`text-xs text-muted-foreground block truncate`,title:t},[(0,n.createTextVNode)((0,n.toDisplayString)(t)+` `,1),t.startsWith(`_`)?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Jm,`(hidden)`)):(0,n.createCommentVNode)(``,!0)],8,qm),(0,n.unref)(Pu)(e.modelInfo,t)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Ym,[e.customIdFields.has(t)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Xm,[(0,n.createVNode)((0,n.unref)(Pm),{id:`${e.idPrefix}-${t}`,"model-value":e.formData[t]||``,placeholder:`Enter new ID...`,class:`h-8 text-xs flex-1`,"onUpdate:modelValue":e=>u(t,e)},null,8,[`id`,`model-value`,`onUpdate:modelValue`]),(0,n.createVNode)((0,n.unref)(gs),{type:`button`,variant:`ghost`,size:`sm`,class:`h-8 w-8 p-0`,title:`Back to dropdown`,onClick:e=>i(`toggle-custom-id`,t,!1)},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Ls),{class:`h-3 w-3`})]),_:1},8,[`onClick`])])):((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Fm),{key:1,"model-value":e.formData[t]||``,"onUpdate:modelValue":e=>{e===`__custom_id__`?(i(`toggle-custom-id`,t,!0),u(t,``)):e===`__null__`?u(t,null):u(t,e)}},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Vm),{id:`${e.idPrefix}-${t}`,class:`h-8 text-xs`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Hm),{placeholder:`Select a record...`})]),_:1},8,[`id`]),(0,n.createVNode)((0,n.unref)(Im),null,{default:(0,n.withCtx)(()=>[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.relatedModelData[(0,n.unref)(Pu)(e.modelInfo,t)?.relatedModel??``]||[],e=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Rm),{key:e.id,value:e.id},{default:(0,n.withCtx)(()=>[(0,n.createTextVNode)((0,n.toDisplayString)(e.id)+` `,1),e.name||e.title?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Zm,` (`+(0,n.toDisplayString)(e.name||e.title)+`) `,1)):(0,n.createCommentVNode)(``,!0)]),_:2},1032,[`value`]))),128)),(0,n.createVNode)((0,n.unref)(Rm),{value:`__custom_id__`,class:`text-primary`},{default:(0,n.withCtx)(()=>[...r[3]||=[(0,n.createTextVNode)(` + Add new ID `,-1)]]),_:1}),e.formData[t]?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Rm),{key:0,value:`__null__`,class:`text-destructive`},{default:(0,n.withCtx)(()=>[...r[4]||=[(0,n.createTextVNode)(` Set null `,-1)]]),_:1})):(0,n.createCommentVNode)(``,!0)]),_:2},1024)]),_:2},1032,[`model-value`,`onUpdate:modelValue`])),(0,n.createElementVNode)(`div`,Qm,` → `+(0,n.toDisplayString)((0,n.unref)(Pu)(e.modelInfo,t)?.relatedModel),1)])):(0,n.unref)(Uu)(e.modelInfo,t)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,$m,[(0,n.createElementVNode)(`div`,eh,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.formData[t]||[],e=>((0,n.openBlock)(),(0,n.createElementBlock)(`span`,{key:e,class:`inline-flex items-center gap-1 px-2 py-0.5 text-xs bg-muted rounded`},[(0,n.createTextVNode)((0,n.toDisplayString)(e)+` `,1),(0,n.createElementVNode)(`button`,{type:`button`,class:`hover:text-destructive`,onClick:n=>f(t,e)},[(0,n.createVNode)((0,n.unref)(Ls),{class:`h-3 w-3`})],8,th)]))),128)),!e.formData[t]||e.formData[t].length===0?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,nh,` No items `)):(0,n.createCommentVNode)(``,!0)]),(0,n.createElementVNode)(`div`,rh,[(0,n.createVNode)((0,n.unref)(Pm),{id:`${e.idPrefix}-stringset-${t}`,modelValue:a.value[t],"onUpdate:modelValue":e=>a.value[t]=e,placeholder:`Add item...`,class:`flex-1 h-8 text-xs`,onKeyup:(0,n.withKeys)(e=>d(t),[`enter`])},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`onKeyup`]),(0,n.createVNode)((0,n.unref)(gs),{type:`button`,variant:`outline`,size:`sm`,class:`h-8 px-2 text-xs`,onClick:e=>d(t)},{default:(0,n.withCtx)(()=>[...r[5]||=[(0,n.createTextVNode)(` Add `,-1)]]),_:1},8,[`onClick`])])])):(0,n.unref)(Wu)(e.modelInfo,t)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,ih,[o.value.has(t)?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[(0,n.createVNode)((0,n.unref)(Pm),{id:`${e.idPrefix}-${t}`,"model-value":String(e.formData[t]??``),placeholder:`e.g. 2024-01-15T00:00:00.000Z`,class:(0,n.normalizeClass)([`h-8 text-xs font-mono`,{"border-destructive focus-visible:ring-destructive/50":e.formData[t]&&!l.value[t]}]),"onUpdate:modelValue":e=>u(t,e||void 0)},null,8,[`id`,`model-value`,`class`,`onUpdate:modelValue`]),e.formData[t]&&!l.value[t]?((0,n.openBlock)(),(0,n.createElementBlock)(`p`,oh,` Invalid date — use ISO 8601 format `)):e.formData[t]&&l.value[t]?((0,n.openBlock)(),(0,n.createElementBlock)(`p`,sh,(0,n.toDisplayString)(new Date(e.formData[t]).toLocaleDateString(void 0,{weekday:`short`,year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})),1)):(0,n.createCommentVNode)(``,!0)],64)):((0,n.openBlock)(),(0,n.createElementBlock)(`input`,{key:0,id:`${e.idPrefix}-${t}`,type:`date`,value:p(e.formData[t]),class:`flex h-8 w-full rounded-md border border-input bg-transparent px-3 py-1 text-xs shadow-xs transition-colors focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:border-ring`,onChange:e=>u(t,m(e.target.value)||void 0)},null,40,ah)),(0,n.createElementVNode)(`div`,ch,[(0,n.createElementVNode)(`button`,{type:`button`,class:(0,n.normalizeClass)([`text-[10px] px-1.5 py-0.5 rounded font-medium transition-colors`,o.value.has(t)?`text-muted-foreground hover:text-foreground hover:bg-muted`:`bg-primary text-primary-foreground`]),onClick:()=>{o.value.has(t)&&s(t)}},` Picker `,10,lh),(0,n.createElementVNode)(`button`,{type:`button`,class:(0,n.normalizeClass)([`text-[10px] px-1.5 py-0.5 rounded font-medium transition-colors`,o.value.has(t)?`bg-primary text-primary-foreground`:`text-muted-foreground hover:text-foreground hover:bg-muted`]),onClick:()=>{o.value.has(t)||s(t)}},` ISO `,10,uh)])])):(0,n.unref)(Ku)(e.modelInfo,t)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,dh,[(0,n.createElementVNode)(`input`,{id:`${e.idPrefix}-${t}`,type:`checkbox`,class:`w-4 h-4 rounded border-border`,checked:!!e.formData[t],onChange:e=>u(t,e.target.checked)},null,40,fh),(0,n.createElementVNode)(`span`,ph,(0,n.toDisplayString)(e.formData[t]?`Yes`:`No`),1)])):(0,n.unref)(Gu)(e.modelInfo,t)?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(Pm),{key:4,id:`${e.idPrefix}-${t}`,type:`number`,"model-value":String(e.formData[t]??``),class:`mt-1 h-8 text-xs`,"onUpdate:modelValue":e=>u(t,e===``?void 0:Number(e))},null,8,[`id`,`model-value`,`onUpdate:modelValue`])):(0,n.unref)(Fu)(e.formData[t])||(0,n.unref)(Mu)(e.formData[t])===`textarea`?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(vp),{key:5,id:`${e.idPrefix}-${t}`,"model-value":typeof e.formData[t]==`object`?(0,n.unref)(wu)(e.formData[t],2):String(e.formData[t]??``),rows:`4`,class:`mt-1 font-mono text-xs resize-vertical`,"onUpdate:modelValue":e=>u(t,e)},null,8,[`id`,`model-value`,`onUpdate:modelValue`])):((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(vp),{key:6,id:`${e.idPrefix}-${t}`,"model-value":String(e.formData[t]??``),rows:`1`,class:`mt-1 text-xs min-h-[2rem] resize-vertical`,"onUpdate:modelValue":e=>u(t,e)},null,8,[`id`,`model-value`,`onUpdate:modelValue`]))],64)):(0,n.createCommentVNode)(``,!0)]))),128))}}),hh=(0,n.defineComponent)({__name:`Table`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`table`,{"data-slot":`table`,class:(0,n.normalizeClass)((0,n.unref)(Q)(`w-full caption-bottom text-sm`,t.class))},[(0,n.renderSlot)(e.$slots,`default`)],2))}}),gh=(0,n.defineComponent)({__name:`TableBody`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`tbody`,{"data-slot":`table-body`,class:(0,n.normalizeClass)((0,n.unref)(Q)(`[&_tr:last-child]:border-0`,t.class))},[(0,n.renderSlot)(e.$slots,`default`)],2))}}),_h=(0,n.defineComponent)({__name:`TableCell`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`td`,{"data-slot":`table-cell`,class:(0,n.normalizeClass)((0,n.unref)(Q)(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,t.class))},[(0,n.renderSlot)(e.$slots,`default`)],2))}}),vh=(0,n.defineComponent)({__name:`TableRow`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`tr`,{"data-slot":`table-row`,class:(0,n.normalizeClass)((0,n.unref)(Q)(`hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors`,t.class))},[(0,n.renderSlot)(e.$slots,`default`)],2))}}),yh=(0,n.defineComponent)({__name:`TableHead`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`th`,{"data-slot":`table-head`,class:(0,n.normalizeClass)((0,n.unref)(Q)(`text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,t.class))},[(0,n.renderSlot)(e.$slots,`default`)],2))}}),bh=(0,n.defineComponent)({__name:`TableHeader`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`thead`,{"data-slot":`table-header`,class:(0,n.normalizeClass)((0,n.unref)(Q)(`[&_tr]:border-b`,t.class))},[(0,n.renderSlot)(e.$slots,`default`)],2))}}),xh={class:`flex-1 relative min-h-[200px]`},Sh=[`checked`,`indeterminate`],Ch=[`title`,`onClick`],wh={class:`truncate`},Th={key:0,class:`text-primary font-bold text-xs flex-shrink-0`},Eh=[`title`],Dh=[`checked`,`onChange`],Oh={class:`truncate`},kh=[`title`,`onClick`],Ah={class:`overflow-hidden whitespace-nowrap`},jh={key:0,class:`w-3 h-3 flex-shrink-0 text-green-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Mh={key:1,class:`w-3 h-3 flex-shrink-0 opacity-0 group-hover:opacity-100`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Nh={key:1,class:`text-[10px] font-mono text-muted-foreground/50`},Ph={key:2,class:`flex gap-0.5 overflow-hidden`},Fh={key:0,class:`text-[9px] text-muted-foreground shrink-0`},Ih={key:0},Lh=[`checked`],Rh={key:5,class:`text-xs bg-muted px-1 py-0.5 rounded`},zh={class:`flex items-center gap-0.5`},Bh=[`onClick`],Vh=[`onClick`],Hh={key:0,class:`absolute inset-0 flex items-center justify-center pointer-events-none`,style:{top:`1.5rem`}},Uh=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})((0,n.defineComponent)({__name:`RecordTable`,props:{records:{},modelInfo:{},canWrite:{type:Boolean},showHiddenFields:{type:Boolean},loadedData:{},sorting:{},selectedRecordIds:{},highlightedRecordId:{}},emits:[`edit-record`,`delete-record`,`toggle-column-sort`,`toggle-record-selection`,`toggle-select-all`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.computed)(()=>Nu(r.modelInfo,r.loadedData,r.showHiddenFields)),o=(0,n.computed)(()=>r.selectedRecordIds.size===0?!1:r.selectedRecordIds.size===r.records.length?!0:`indeterminate`),s=(0,n.ref)(null),c=null,l=async e=>{try{await navigator.clipboard.writeText(e)}catch{let t=document.createElement(`textarea`);t.value=e,document.body.appendChild(t),t.select(),document.execCommand(`copy`),document.body.removeChild(t)}s.value=e,c&&clearTimeout(c),c=setTimeout(()=>{s.value=null},1500)},u=e=>Ju(r.modelInfo,e),d=e=>!r.sorting||r.sorting.field!==e?``:Xu(r.sorting.direction),f=(e,t=8)=>{let n=String(e??``);return n.length<=t?n:`…`+n.slice(-t)},p=e=>e===`id`?`120px`:Ku(r.modelInfo,e)?`60px`:Wu(r.modelInfo,e)?`110px`:Uu(r.modelInfo,e)?`160px`:`180px`,m=(0,n.ref)(null),h=(0,n.ref)(null),g=(0,n.ref)(!1),_=null,v=e=>{if(h.value===e)return{backgroundColor:g.value?`transparent`:`rgba(250, 204, 21, 0.35)`,transition:`background-color 2s ease-out`}};return(0,n.watch)(()=>r.highlightedRecordId,async e=>{if(!e)return;g.value=!1,h.value=e,await(0,n.nextTick)();let t=m.value?.querySelector(`tr[data-highlight-id="${e}"]`);t&&t.scrollIntoView({block:`nearest`,behavior:`smooth`}),_&&clearTimeout(_),_=setTimeout(()=>{g.value=!0,_=setTimeout(()=>{h.value=null,g.value=!1},2200)},600)}),(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,xh,[(0,n.createElementVNode)(`div`,{ref_key:`tableContainer`,ref:m,class:`absolute inset-0 overflow-auto`},[(0,n.createVNode)((0,n.unref)(hh),{class:`text-xs`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(bh),{class:`sticky top-0 z-10 bg-muted`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(vh),null,{default:(0,n.withCtx)(()=>[e.canWrite?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(yh),{key:0,class:`w-8 px-2`},{default:(0,n.withCtx)(()=>[(0,n.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:o.value===!0,indeterminate:o.value===`indeterminate`,onChange:r[0]||=e=>i(`toggle-select-all`)},null,40,Sh)]),_:1})):(0,n.createCommentVNode)(``,!0),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(a.value,e=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(yh),{key:e,class:`px-2 text-left font-medium text-muted-foreground overflow-hidden`,style:(0,n.normalizeStyle)({width:p(e),minWidth:p(e),maxWidth:p(e)})},{default:(0,n.withCtx)(()=>[u(e)?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`flex items-center gap-0.5 hover:text-foreground max-w-full min-w-0`,title:e,onClick:t=>i(`toggle-column-sort`,e)},[(0,n.createElementVNode)(`span`,wh,(0,n.toDisplayString)(e),1),d(e)?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Th,(0,n.toDisplayString)(d(e)),1)):(0,n.createCommentVNode)(``,!0)],8,Ch)):((0,n.openBlock)(),(0,n.createElementBlock)(`span`,{key:1,class:`truncate block`,title:e},(0,n.toDisplayString)(e),9,Eh))]),_:2},1032,[`style`]))),128)),e.canWrite?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(yh),{key:1,class:`w-0 p-0`})):(0,n.createCommentVNode)(``,!0)]),_:1})]),_:1}),(0,n.createVNode)((0,n.unref)(gh),null,{default:(0,n.withCtx)(()=>[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.records,t=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(vh),{key:t.id,class:(0,n.normalizeClass)(`hover:bg-muted/30 group border-none`),style:(0,n.normalizeStyle)(v(t.id)),"data-highlight-id":t.id,onClick:e=>i(`edit-record`,t)},{default:(0,n.withCtx)(()=>[e.canWrite?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(_h),{key:0,class:`px-2 w-8`,onClick:r[1]||=(0,n.withModifiers)(()=>{},[`stop`])},{default:(0,n.withCtx)(()=>[(0,n.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:e.selectedRecordIds.has(t.id),onChange:e=>i(`toggle-record-selection`,t.id)},null,40,Dh)]),_:2},1024)):(0,n.createCommentVNode)(``,!0),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(a.value,i=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(_h),{key:i,class:`px-2 overflow-hidden`,style:(0,n.normalizeStyle)({width:p(i),minWidth:p(i),maxWidth:p(i)})},{default:(0,n.withCtx)(()=>[(0,n.createElementVNode)(`div`,Oh,[i===`id`?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`flex items-center gap-1 text-[10px] text-muted-foreground font-mono hover:text-foreground max-w-[80px]`,title:`Click to copy: ${t[i]}`,onClick:(0,n.withModifiers)(e=>l(String(t[i])),[`stop`])},[(0,n.createElementVNode)(`span`,Ah,(0,n.toDisplayString)(f(t[i])),1),s.value===String(t[i])?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,jh,[...r[3]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Mh,[...r[4]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`},null,-1)]]))],8,kh)):t[i]==null?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Nh,`NULL`)):(0,n.unref)(Uu)(e.modelInfo,i)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Ph,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(t[i]&&typeof t[i].toArray==`function`?t[i].toArray().slice(0,3):[],e=>((0,n.openBlock)(),(0,n.createElementBlock)(`span`,{key:e,class:`px-1 text-[9px] bg-muted rounded truncate shrink-0`},(0,n.toDisplayString)(e),1))),128)),t[i]&&typeof t[i].toArray==`function`&&t[i].toArray().length>3?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Fh,` +`+(0,n.toDisplayString)(t[i].toArray().length-3),1)):(0,n.createCommentVNode)(``,!0)])):(0,n.unref)(Wu)(e.modelInfo,i)?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:3},[t[i]?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Ih,(0,n.toDisplayString)(new Date(t[i]).toLocaleDateString()),1)):(0,n.createCommentVNode)(``,!0)],64)):(0,n.unref)(Ku)(e.modelInfo,i)?((0,n.openBlock)(),(0,n.createElementBlock)(`input`,{key:4,type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:!!t[i],disabled:``},null,8,Lh)):(0,n.unref)(Fu)(t[i])?((0,n.openBlock)(),(0,n.createElementBlock)(`code`,Rh,(0,n.toDisplayString)((0,n.unref)(wu)(t[i]).slice(0,50))+(0,n.toDisplayString)((0,n.unref)(wu)(t[i]).length>50?`...`:``),1)):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:6},[(0,n.createTextVNode)((0,n.toDisplayString)(t[i]),1)],64))])]),_:2},1032,[`style`]))),128)),e.canWrite?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(_h),{key:1,class:`px-2 sticky right-0 group-hover:bg-white`,onClick:r[2]||=(0,n.withModifiers)(()=>{},[`stop`])},{default:(0,n.withCtx)(()=>[(0,n.createElementVNode)(`div`,zh,[(0,n.createElementVNode)(`button`,{class:`p-0.5 opacity-0 group-hover:opacity-100 hover:bg-muted rounded text-muted-foreground`,title:`Edit`,onClick:e=>i(`edit-record`,t)},[(0,n.createVNode)((0,n.unref)(As),{class:`w-3.5 h-3.5`})],8,Bh),(0,n.createElementVNode)(`button`,{class:`p-0.5 opacity-0 group-hover:opacity-100 hover:bg-muted rounded text-muted-foreground hover:text-destructive`,title:`Delete`,onClick:e=>i(`delete-record`,t.id)},[(0,n.createVNode)((0,n.unref)(Is),{class:`w-3.5 h-3.5`})],8,Vh)])]),_:2},1024)):(0,n.createCommentVNode)(``,!0)]),_:2},1032,[`style`,`data-highlight-id`,`onClick`]))),128))]),_:1})]),_:1})],512),e.records.length===0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Hh,[...r[5]||=[(0,n.createElementVNode)(`span`,{class:`text-muted-foreground text-xs`},`No records found`,-1)]])):(0,n.createCommentVNode)(``,!0)]))}}),[[`__scopeId`,`data-v-0ba29a35`]]),Wh=t.s.forScope(`ModelPagination`);function Gh(e,t,r,i){let a=(0,n.ref)([]),o=(0,n.ref)(!1),s=(0,n.ref)(Bu()),c=(0,n.ref)({currentPage:1,totalCount:0,pageSize:s.value,nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])}),l=(0,n.computed)(()=>Math.max(1,Math.ceil(c.value.totalCount/s.value))),u=(0,n.computed)(()=>{let e=l.value,t=c.value.currentPage,n=[];if(e<=5)for(let t=1;t<=e;t++)n.push(t);else{let r=Math.max(1,t-2),i=Math.min(e,r+5-1);i-r<4&&(r=Math.max(1,i-5+1));for(let e=r;e<=i;e++)n.push(e)}return n}),d=async(e,n=1,a=null)=>{try{let o=e.modelClass,l=Ru(r.value),u=t.value,d={documents:u},f=await o.count(l,d),p=Yu(i.value),m={limit:s.value,sort:p,documents:u};a&&(m.uniqueStartKey=a);let h=await o.query(l,m);return c.value.currentPage=n,c.value.totalCount=f,c.value.hasMore=h.hasMore??!1,c.value.nextCursor=h.nextCursor??null,c.value.prevCursor=h.prevCursor??null,h.nextCursor&&n>=1&&c.value.pageCursors.set(n+1,h.nextCursor),{data:h.data||[],totalCount:f,hasMore:h.hasMore??!1,nextCursor:h.nextCursor??null,prevCursor:h.prevCursor??null}}catch(t){return Wh.error(`Error loading ${e.name}:`,t),U(`Failed to load ${e.name} records: `+W(t)),{data:[],totalCount:0,hasMore:!1,nextCursor:null,prevCursor:null}}},f=async(t=1)=>{if(!e.value)return;let n=await d(e.value,1,null);a.value=n.data,o.value=!0,Wh.debug(`Loaded model data:`,{model:e.value.name,totalRecords:n.totalCount}),t>1&&n.totalCount>0&&t<=Math.ceil(n.totalCount/s.value)&&await p(t)},p=async t=>{if(!e.value)return;let n=Math.ceil(c.value.totalCount/s.value);if(t<1||t>n)return;let r=null;if(t>1&&(r=c.value.pageCursors.get(t)??null,!r)){let n=1,i=null;for(let e=t-1;e>=1;e--)if(c.value.pageCursors.has(e)){n=e,i=c.value.pageCursors.get(e)??null;break}for(let r=n;r<t&&(i=(await d(e.value,r,i)).nextCursor,i);r++);r=i}a.value=(await d(e.value,t,r)).data};return{records:a,initialDataLoaded:o,paginationState:c,pageSize:s,totalPages:l,visiblePageNumbers:u,loadModelData:d,loadInitialData:f,goToPage:p,goToPrevPage:()=>p(c.value.currentPage-1),goToNextPage:()=>p(c.value.currentPage+1),goToPageContainingRecord:async t=>{if(!e.value)return!1;c.value={currentPage:1,totalCount:0,pageSize:s.value,nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])};let n=await d(e.value,1,null);if(n.data.some(e=>e.id===t))return a.value=n.data,!0;let r=Math.ceil(n.totalCount/s.value);for(let i=2;i<=r;i++){let r=c.value.pageCursors.get(i)??null;if(r===null&&i>2)break;if(n=await d(e.value,i,r),n.data.some(e=>e.id===t))return a.value=n.data,!0}return a.value=n.data,!1},handlePageSizeChange:async t=>{s.value=t,Vu(t),e.value&&(c.value={currentPage:1,totalCount:c.value.totalCount,pageSize:t,nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])},a.value=(await d(e.value,1,null)).data)},reloadModelData:async()=>{e.value&&(c.value={currentPage:1,totalCount:0,pageSize:s.value,nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])},a.value=(await d(e.value,1,null)).data)}}}var Kh=t.s.forScope(`RecordCrud`);function qh(e,t,r,i,a){let o=(0,n.ref)(!1),s=(0,n.ref)(!1),c=(0,n.ref)(!1),l=(0,n.ref)(null),u=(0,n.ref)(!1),d=(0,n.ref)(!1),f=(0,n.ref)({}),p=(0,n.ref)(null),m=(0,n.ref)({}),h=(0,n.ref)(new Set),g=t=>{if(e.value){p.value=t;try{f.value=JSON.parse(JSON.stringify(t))}catch{let e={};for(let n of Object.getOwnPropertyNames(t))try{e[n]=t[n]}catch{}for(let n of Object.keys(t))if(!(n in e))try{e[n]=t[n]}catch{}f.value=e}for(let n of Object.keys(f.value))Uu(e.value,n)&&(f.value[n]=qu(t[n]));h.value=new Set,o.value=!0,w()}},_=()=>{e.value&&(f.value={},h.value=new Set,s.value=!0,w())},v=async()=>{if(e.value)try{let t=e.value.modelClass,n=p.value?await t.find(p.value.id):null;if(n){let t={},r={};for(let[n,i]of Object.entries(f.value))Uu(e.value,n)?r[n]=i||[]:t[n]=i;Object.assign(n,t);for(let[e,t]of Object.entries(r)){let r=n[e];if(r&&typeof r.clear==`function`){r.clear();for(let e of t)r.add(e)}}await n.save()}o.value=!1,s.value=!1}catch(e){Kh.error(`Error saving record:`,e),U(`Failed to save record: `+W(e))}},y=async()=>{if(!e.value)return null;d.value=!0;try{let n={},r={};for(let[t,i]of Object.entries(f.value))Uu(e.value,t)?r[t]=i||[]:n[t]=i;let i=e.value.modelClass,a=new i(n);for(let[e,t]of Object.entries(r)){let n=a[e];if(n&&typeof n.add==`function`)for(let e of t)n.add(e)}await a.save({targetDocument:t.value??void 0});let o=a.id??null;return o?(s.value=!1,f.value={},o):(U(`Failed to create record: no ID was returned after save`),null)}catch(e){return Kh.error(`Error creating record:`,e),U(`Failed to create record: `+W(e)),null}finally{d.value=!1}},b=async()=>{if(!(!l.value||!e.value)){u.value=!0;try{let t=await e.value.modelClass.find(l.value);t&&(await t.delete(),l.value=null)}catch(e){Kh.error(`Error deleting record:`,e),U(`Failed to delete record: `+W(e))}finally{u.value=!1}}},x=async t=>{if(!e.value||t.size===0)return{success:!1};let n=Array.from(t);try{let t=e.value.modelClass;for(let e=0;e<n.length;e++){let r=n[e],i=await t.find(r);i&&await i.delete(),e%5==4&&await new Promise(e=>setTimeout(e,0))}return Kh.debug(`Deleted ${n.length} records from ${e.value.tableName}`),c.value=!1,{success:!0}}catch(e){return Kh.error(`Error deleting records:`,e),U(`Failed to delete records: `+W(e)),{success:!1}}},S=(e,t)=>{f.value={...f.value,[e]:t}},C=(e,t)=>{if(t)h.value=new Set([...h.value,e]),S(e,``);else{let t=new Set(h.value);t.delete(e),h.value=t}},w=async()=>{if(!e.value?.relationships)return;let n=t.value,r={};for(let t of Object.values(e.value.relationships)){if(t.type!==`refersTo`||!t.model||r[t.model])continue;let e=a.value.find(e=>e.tableName===t.model);if(e)try{let i=await e.modelClass.query({},{documents:n,limit:500});r[t.model]=i.data||[]}catch(e){Kh.error(`Error loading related model data for ${t.model}:`,e),r[t.model]=[],U(`Failed to load related ${t.model} data: `+W(e))}}m.value=r};return{editDialogOpen:o,createDialogOpen:s,bulkDeleteDialogOpen:c,deleteRecordId:l,isDeleting:u,isCreating:d,editFormData:f,selectedRecord:p,relatedModelData:m,customIdFields:h,openEditDialog:g,openCreateDialog:_,handleSaveRecord:v,handleCreateRecord:y,handleDeleteRecord:b,handleBulkDeleteRecords:x,updateFormField:S,handleToggleCustomId:C,loadRelatedModelData:w}}var Jh={class:`h-full flex flex-col min-w-0`},Yh={key:0,class:`flex-1 flex items-center justify-center`},Xh={class:`text-center py-12 px-8`},Zh={class:`text-muted-foreground`},Qh={class:`flex-1 flex flex-col min-h-0`},$h={class:`space-y-3 overflow-y-auto overflow-x-hidden flex-1 pr-4 py-1 -my-1 px-1 -mx-1`},eg={class:`space-y-3 overflow-y-auto overflow-x-hidden flex-1 pr-4 py-1 -my-1 px-1 -mx-1`},tg={key:0,class:`w-3 h-3 border-2 border-current border-t-transparent rounded-full animate-spin mr-1`},ng={class:`flex-1 flex flex-col min-h-0 gap-4`},rg={class:`flex items-center gap-2`},ig=(0,n.defineComponent)({__name:`DocumentExplorerModel`,props:{modelName:{},documentPermission:{}},emits:[`back`,`switchModel`],setup(e,{emit:r}){let i=t.s.forScope(`DocumentExplorerModel`),a=e,o=(0,n.computed)(()=>a.documentPermission!==`reader`),s=r,c=(0,n.computed)(()=>a.modelName),l=Me(),u=(0,n.computed)(()=>l.currentDocumentId),d=(0,n.computed)(()=>Cu()),f=(0,n.computed)(()=>d.value.find(e=>e.tableName===c.value)),p=(0,n.ref)({}),m=async()=>{if(!u.value)return;let e={};for(let t of d.value)try{let n=t.modelClass;e[t.tableName]=await n.count({},{documents:u.value})}catch(n){i.debug(`Could not load count for ${t.tableName}:`,n),e[t.tableName]=0}p.value=e},h=(0,n.computed)({get:()=>l.showHiddenFields,set:e=>{l.showHiddenFields=e}}),g=(0,n.ref)([]),_=(0,n.ref)(null),{records:v,initialDataLoaded:y,paginationState:b,pageSize:x,totalPages:S,loadModelData:C,loadInitialData:w,goToPage:T,goToPageContainingRecord:E,handlePageSizeChange:D,reloadModelData:O}=Gh(f,u,g,_),k=(0,n.computed)(()=>f.value?{[f.value.tableName]:v.value}:{}),{editDialogOpen:A,createDialogOpen:j,bulkDeleteDialogOpen:M,deleteRecordId:N,isDeleting:P,isCreating:ee,editFormData:F,relatedModelData:te,customIdFields:ne,openEditDialog:I,openCreateDialog:L,handleSaveRecord:R,handleCreateRecord:z,handleDeleteRecord:re,handleBulkDeleteRecords:ie,updateFormField:B,handleToggleCustomId:V}=qh(f,u,h,k,d),H=(0,n.ref)(new Set),ae=e=>{let t=new Set(H.value);t.has(e)?t.delete(e):t.add(e),H.value=t},oe=()=>{H.value=H.value.size===v.value.length?new Set:new Set(v.value.map(e=>e.id))},se=()=>{H.value=new Set},ce=(0,n.ref)(null),le=null,ue=e=>{le&&clearTimeout(le),ce.value=e,le=setTimeout(()=>{ce.value=null},5200)},de=(0,n.ref)(!1),fe=(0,n.ref)(``),pe=(0,n.ref)(null),me=(0,n.ref)(!1),he=(0,n.computed)(()=>{let e=pe.value;if(e==null)return``;if(typeof e==`object`)return wu(e,me.value?2:void 0);let t=String(e);if(me.value)try{if(t.startsWith(`{`)||t.startsWith(`[`))return JSON.stringify(JSON.parse(t),null,2)}catch{}return t}),ge=e=>{let t=String(e);pe.value=t,F.value&&fe.value&&(F.value[fe.value]=t)},_e=()=>{if(!f.value)return;let e={page:b.value.currentPage,filters:g.value.map(e=>({id:e.id,field:e.field,mode:e.mode,value:e.value})),sorts:_.value?{field:_.value.field,direction:_.value.direction}:null};ed(f.value.tableName,e)},ve=async e=>{let t=e.value.trim();if(g.value.some(n=>n.field===e.field&&n.mode===e.mode&&n.value.trim()===t)){Pe(`This filter is already applied.`);return}g.value.push({id:Iu(),...e}),await O()},ye=async e=>{g.value=g.value.filter(t=>t.id!==e),await O()},be=async e=>{let t=g.value.findIndex(t=>t.id===e.id);t!==-1&&(g.value[t]=e),await O()},xe=async()=>{g.value=[],await O()},Se=async e=>{if(!f.value||!Ju(f.value,e))return;let t=_.value;t&&t.field===e?t.direction===1?_.value={field:e,direction:-1}:_.value=null:_.value={field:e,direction:1},await O()},Ce=(0,n.ref)(!1),we=async()=>{Ce.value=!0,await(0,n.nextTick)(),await new Promise(e=>requestAnimationFrame(e)),(await ie(H.value)).success&&se(),Ce.value=!1},Te=async()=>{je=!0;try{let e=await z();e&&(await E(e),ue(e))}finally{je=!1}},Ee=(0,n.ref)(null),De=null,Oe=async e=>{try{await navigator.clipboard.writeText(e)}catch{let t=document.createElement(`textarea`);t.value=e,document.body.appendChild(t),t.select(),document.execCommand(`copy`),document.body.removeChild(t)}Ee.value=e,De&&clearTimeout(De),De=setTimeout(()=>{Ee.value=null},1500)},ke=(0,n.computed)(()=>f.value?Nu(f.value,k.value,h.value):[]);(0,n.watch)(()=>f.value,()=>{if(f.value){let e=$u(f.value.tableName);g.value=e?.filters?e.filters:[],_.value=e?.sorts?e.sorts:null,w(e?.page??1),m()}},{immediate:!0}),(0,n.watch)(()=>b.value.totalCount,e=>{f.value&&(p.value={...p.value,[f.value.tableName]:e})}),(0,n.watch)([g,_,()=>b.value.currentPage],()=>_e(),{deep:!0}),(0,n.watch)(()=>l.isDocumentReady,e=>{e&&f.value&&w()});let Ae=null,je=!1;function U(){if(Ae){try{Ae()}catch{}Ae=null}if(!f.value)return;let e=f.value.modelClass;e&&typeof e.subscribe==`function`&&(Ae=e.subscribe(()=>{if(!je&&f.value){let e=b.value.currentPage>1?b.value.pageCursors.get(b.value.currentPage)??null:null;C(f.value,b.value.currentPage,e).then(e=>{v.value=e.data,e.data.length===0&&b.value.currentPage>1&&T(b.value.currentPage-1)})}}),i.debug(`Subscribed to model changes:`,f.value.name))}return(0,n.onMounted)(()=>U()),(0,n.watch)(()=>l.currentDocumentId,()=>{l.isDocumentReady&&U()}),(0,n.onUnmounted)(()=>{if(Ae){try{Ae()}catch{}Ae=null}}),(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Jh,[(0,n.createVNode)(hm,{"current-model":f.value,"model-name":c.value,models:d.value,"model-counts":p.value,"can-write":o.value,"selected-count":H.value.size,onSwitchModel:t[0]||=e=>s(`switchModel`,e),onOpenCreate:(0,n.unref)(L),onClearSelection:se,onOpenBulkDelete:t[1]||=e=>M.value=!0},null,8,[`current-model`,`model-name`,`models`,`model-counts`,`can-write`,`selected-count`,`onOpenCreate`]),f.value?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[(0,n.createVNode)(Pp,{"model-info":f.value,filters:g.value,"loaded-data":k.value,"show-hidden-fields":h.value,onAddFilter:ve,onRemoveFilter:ye,onUpdateFilter:be,onClearAll:xe},null,8,[`model-info`,`filters`,`loaded-data`,`show-hidden-fields`]),(0,n.createVNode)(xu,{"is-ready":(0,n.unref)(y),class:`flex-1 flex flex-col min-h-0`},{loading:(0,n.withCtx)(()=>[...t[14]||=[(0,n.createElementVNode)(`div`,{class:`flex-1 flex items-center justify-center p-6`},[(0,n.createElementVNode)(`div`,{class:`w-full max-w-lg animate-pulse space-y-4`},[(0,n.createElementVNode)(`div`,{class:`h-8 bg-muted rounded w-full`}),(0,n.createElementVNode)(`div`,{class:`h-8 bg-muted rounded w-full`}),(0,n.createElementVNode)(`div`,{class:`h-8 bg-muted rounded w-full`})])],-1)]]),default:(0,n.withCtx)(()=>[(0,n.createElementVNode)(`div`,Qh,[(0,n.createVNode)(Uh,{records:(0,n.unref)(v),"model-info":f.value,"can-write":o.value,"show-hidden-fields":h.value,"loaded-data":k.value,sorting:_.value,"selected-record-ids":H.value,"highlighted-record-id":ce.value,onEditRecord:(0,n.unref)(I),onDeleteRecord:t[3]||=e=>N.value=e,onToggleColumnSort:Se,onToggleRecordSelection:ae,onToggleSelectAll:oe},null,8,[`records`,`model-info`,`can-write`,`show-hidden-fields`,`loaded-data`,`sorting`,`selected-record-ids`,`highlighted-record-id`,`onEditRecord`]),(0,n.createVNode)(Nm,{"current-page":(0,n.unref)(b).currentPage,"total-count":(0,n.unref)(b).totalCount,"page-size":(0,n.unref)(x),"total-pages":(0,n.unref)(S),onGoToPage:(0,n.unref)(T),onChangePageSize:(0,n.unref)(D)},null,8,[`current-page`,`total-count`,`page-size`,`total-pages`,`onGoToPage`,`onChangePageSize`])])]),_:1},8,[`is-ready`])],64)):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Yh,[(0,n.createElementVNode)(`div`,Xh,[(0,n.createElementVNode)(`p`,Zh,`Model "`+(0,n.toDisplayString)(c.value)+`" not found`,1),(0,n.createVNode)((0,n.unref)(gs),{class:`mt-4`,onClick:t[2]||=e=>s(`back`)},{default:(0,n.withCtx)(()=>[...t[13]||=[(0,n.createTextVNode)(`Go Back`,-1)]]),_:1})])])),(0,n.createVNode)((0,n.unref)(vs),{open:(0,n.unref)(A),"onUpdate:open":t[5]||=e=>(0,n.isRef)(A)?A.value=e:null},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(zs),{class:`sm:max-w-md max-h-[80vh] flex flex-col`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Hs),null,{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Us),{class:`text-sm font-semibold`},{default:(0,n.withCtx)(()=>[...t[15]||=[(0,n.createTextVNode)(`Edit Record`,-1)]]),_:1})]),_:1}),(0,n.createElementVNode)(`div`,$h,[f.value?((0,n.openBlock)(),(0,n.createBlock)(mh,{key:0,"model-info":f.value,"form-data":(0,n.unref)(F),fields:ke.value,"related-model-data":(0,n.unref)(te),"custom-id-fields":(0,n.unref)(ne),"copied-id":Ee.value,"id-prefix":`edit`,onUpdateField:(0,n.unref)(B),onCopyId:Oe,onToggleCustomId:(0,n.unref)(V)},null,8,[`model-info`,`form-data`,`fields`,`related-model-data`,`custom-id-fields`,`copied-id`,`onUpdateField`,`onToggleCustomId`])):(0,n.createCommentVNode)(``,!0)]),(0,n.createVNode)((0,n.unref)(Vs),{class:`border-t border-border pt-3 mt-3`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(gs),{variant:`outline`,size:`sm`,onClick:t[4]||=e=>A.value=!1},{default:(0,n.withCtx)(()=>[...t[16]||=[(0,n.createTextVNode)(` Cancel `,-1)]]),_:1}),(0,n.createVNode)((0,n.unref)(gs),{size:`sm`,onClick:(0,n.unref)(R)},{default:(0,n.withCtx)(()=>[...t[17]||=[(0,n.createTextVNode)(`Save Changes`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1})]),_:1},8,[`open`]),(0,n.createVNode)((0,n.unref)(vs),{open:(0,n.unref)(j),"onUpdate:open":t[7]||=e=>(0,n.isRef)(j)?j.value=e:null},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(zs),{class:`sm:max-w-md max-h-[80vh] flex flex-col`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Hs),null,{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Us),{class:`text-sm font-semibold`},{default:(0,n.withCtx)(()=>[(0,n.createTextVNode)(` New `+(0,n.toDisplayString)(f.value?.name||c.value),1)]),_:1})]),_:1}),(0,n.createElementVNode)(`div`,eg,[f.value?((0,n.openBlock)(),(0,n.createBlock)(mh,{key:0,"model-info":f.value,"form-data":(0,n.unref)(F),fields:ke.value,"exclude-id":!0,"related-model-data":(0,n.unref)(te),"custom-id-fields":(0,n.unref)(ne),"id-prefix":`create`,onUpdateField:(0,n.unref)(B),onToggleCustomId:(0,n.unref)(V)},null,8,[`model-info`,`form-data`,`fields`,`related-model-data`,`custom-id-fields`,`onUpdateField`,`onToggleCustomId`])):(0,n.createCommentVNode)(``,!0)]),(0,n.createVNode)((0,n.unref)(Vs),{class:`border-t border-border pt-3 mt-3`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(gs),{variant:`outline`,size:`sm`,disabled:(0,n.unref)(ee),onClick:t[6]||=e=>j.value=!1},{default:(0,n.withCtx)(()=>[...t[18]||=[(0,n.createTextVNode)(` Cancel `,-1)]]),_:1},8,[`disabled`]),(0,n.createVNode)((0,n.unref)(gs),{size:`sm`,disabled:(0,n.unref)(ee),onClick:Te},{default:(0,n.withCtx)(()=>[(0,n.unref)(ee)?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,tg)):(0,n.createCommentVNode)(``,!0),(0,n.createTextVNode)(` `+(0,n.toDisplayString)((0,n.unref)(ee)?`Creating...`:`Create`),1)]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`]),(0,n.createVNode)(Ks,{"is-open":!!(0,n.unref)(N),title:`Delete Record`,question:`Are you sure you want to delete this record?`,warning:`This action cannot be undone.`,"is-deleting":(0,n.unref)(P),onCancel:t[8]||=e=>N.value=null,onConfirm:(0,n.unref)(re)},null,8,[`is-open`,`is-deleting`,`onConfirm`]),(0,n.createVNode)(Ks,{"is-open":(0,n.unref)(M),title:`Delete Records`,question:`Delete ${H.value.size} record${H.value.size===1?``:`s`}? This action cannot be undone.`,warning:void 0,"confirm-label":`Delete`,"is-deleting":Ce.value,onCancel:t[9]||=e=>M.value=!1,onConfirm:we},null,8,[`is-open`,`question`,`is-deleting`]),(0,n.createVNode)((0,n.unref)(vs),{open:de.value,"onUpdate:open":t[12]||=e=>de.value=e},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(zs),{class:`max-w-4xl max-h-[90vh] flex flex-col`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Hs),{class:`flex-shrink-0`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Us),{class:`flex items-center gap-2`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(Ps),{class:`h-5 w-5`}),(0,n.createTextVNode)(` `+(0,n.toDisplayString)(fe.value),1)]),_:1})]),_:1}),(0,n.createElementVNode)(`div`,ng,[(0,n.createElementVNode)(`div`,rg,[(0,n.createVNode)((0,n.unref)(_p),{id:`pretty-print`,checked:me.value,"onUpdate:checked":t[10]||=e=>me.value=e},null,8,[`checked`]),(0,n.createVNode)((0,n.unref)(gp),{for:`pretty-print`,class:`text-sm`},{default:(0,n.withCtx)(()=>[...t[19]||=[(0,n.createTextVNode)(`Pretty Print JSON`,-1)]]),_:1})]),(0,n.createVNode)((0,n.unref)(vp),{"model-value":he.value,class:`flex-1 font-mono text-sm min-h-[300px]`,"onUpdate:modelValue":ge},null,8,[`model-value`])]),(0,n.createVNode)((0,n.unref)(Vs),{class:`flex-shrink-0`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(gs),{variant:`outline`,onClick:t[11]||=e=>de.value=!1},{default:(0,n.withCtx)(()=>[...t[20]||=[(0,n.createTextVNode)(` Close `,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}}),ag={class:`h-full flex flex-col`},og={class:`flex-1 flex overflow-hidden min-w-0`},sg={class:`flex-1 flex flex-col min-w-0 bg-background`},cg={key:0,class:`flex-1 flex items-center justify-center`},lg={class:`text-center max-w-md px-4`},ug={class:`text-xs text-muted-foreground mb-4 break-words`},dg={key:1,class:`flex-1 flex items-center justify-center`},fg={key:2,class:`flex-1 flex items-center justify-center`},pg={key:0,class:`flex-1 flex items-center justify-center`},mg={class:`hidden lg:contents`},hg=(0,n.defineComponent)({__name:`DocumentExplorerIndex`,setup(e){let r=t.s.forScope(`DocumentExplorer`),i=Me(),a=(0,n.ref)([]),o=(0,n.ref)([]),s=(0,n.ref)(!1),c=(0,n.ref)(null),l=(0,n.ref)(!1),u=(0,n.ref)(null),d=(0,n.computed)(()=>[...a.value,...o.value]),f=(0,n.ref)(new Set);async function p(){try{let e=await t.o.getClientAsync();u.value=await e.getRootDocId(),await e.syncMetadata({scope:`all`,includeRoot:!0,pageSize:500});let[n,i]=await Promise.all([e.me.ownedDocuments({refreshFromServer:!0,includeRoot:!0}),e.me.sharedDocuments()]);a.value=n,o.value=i.items,l.value=!0,c.value=null,r.debug(`Documents loaded`,{owned:n.length,shared:i.items.length,rootDocId:u.value})}catch(e){r.error(`Failed to load documents from client`,e),l.value?U(`Failed to refresh documents: `+W(e)):c.value=W(e)}finally{s.value=!0}}async function m(){c.value=null,s.value=!1,await p()}let h=null,g=!1;(0,n.onMounted)(async()=>{let e=p();try{let e=await t.o.getClientAsync(),n=()=>{if(g){r.debug(`Document metadata changed (suppressed – bulk operation in progress)`);return}r.debug(`Document metadata changed, refreshing documents`),p()};e.on(`documentMetadataChanged`,n),h=()=>e.off(`documentMetadataChanged`,n)}catch(e){r.debug(`Could not subscribe to real-time events`,e)}if(await e,i.currentDocumentId&&!d.value.some(e=>e.documentId===i.currentDocumentId)&&(r.debug(`Persisted document no longer exists, clearing selection:`,i.currentDocumentId),i.setCurrentDocumentId(null)),i.currentDocumentId&&!i.isDocumentReady){r.debug(`Restoring previously selected document:`,i.currentDocumentId);try{await i.openDocument(i.currentDocumentId);let e=d.value.find(e=>e.documentId===i.currentDocumentId);i.setCurrentDocumentTitle(e?.title||`Untitled`)}catch(e){r.error(`Failed to restore document:`,e),i.setCurrentDocumentId(null)}}i.isDocumentReady&&V()}),(0,n.onUnmounted)(()=>{h&&=(h(),null)});let _=(0,n.computed)(()=>Cu()),v=(0,n.computed)(()=>{let e={};for(let t of _.value)e[t.tableName]={query:{}};return e}),y=(0,n.computed)({get:()=>i.currentDocumentId,set:e=>i.setCurrentDocumentId(e)}),b=(0,n.ref)(null),x=(0,n.computed)(()=>b.value??i.currentDocumentId),S=(0,n.computed)({get:()=>i.currentModelName,set:e=>i.setCurrentModelName(e)}),C=(0,n.ref)(null),w=(0,n.ref)(!1),T=(0,n.ref)(!1),E=(0,n.ref)(!1),D=(0,n.ref)(!1),O=(0,n.ref)([]),k=(0,n.ref)([]),A=(0,n.ref)([]),j=(0,n.ref)(``),M=(0,n.ref)({});function N(){return{currentPage:1,totalCount:0,pageSize:Bu(),nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])}}function P(e){return M.value[e]||(M.value[e]=N()),M.value[e]??N()}let{optimisticFieldUpdate:ee}=sp(a,`documentId`),{optimisticFieldUpdate:F}=sp(o,`documentId`);async function te(e){try{let t=i.currentDocumentId;return await e.modelClass.count({},{documents:t})}catch(t){return r.error(`Error loading count for ${e.name}:`,t),0}}let{initialDataLoaded:ne}=bu({subscribeTo:_.value.map(e=>e.modelClass),queryParams:v,documentReady:(0,n.computed)(()=>i.isDocumentReady),loadData:async()=>{let e={};for(let t of _.value){let n=await te(t),r=P(t.tableName);r.totalCount=n,e[t.tableName]=[]}let t=Object.values(M.value).reduce((e,t)=>e+(t?.totalCount??0),0);if(r.debug(`Loaded model counts:`,{models:_.value.length,totalRecords:t}),!z.value?.isRoot){let t=S.value?P(S.value).totalCount:0;if(!S.value||t===0){let t=_.value.find(e=>P(e.tableName).totalCount>0);if(t)return S.value=t.tableName,e}}return V(),e},onError:e=>{r.error(`Error loading data:`,e),U(`Failed to load model data: `+W(e))}});function I(e){let t=f.value;return e.filter(e=>e&&!t.has(e.documentId)).map(e=>({...e,isRoot:e.documentId===u.value})).sort((e,t)=>e.isRoot&&!t.isRoot?-1:!e.isRoot&&t.isRoot?1:(e.title||``).localeCompare(t.title||``))}let L=(0,n.computed)(()=>I(a.value)),R=(0,n.computed)(()=>I(o.value)),z=(0,n.computed)(()=>{let e=y.value;return L.value.find(t=>t.documentId===e)??R.value.find(t=>t.documentId===e)}),re=(0,n.computed)(()=>{let e={};for(let t of _.value)e[t.tableName]=P(t.tableName).totalCount;return e}),ie=(0,n.computed)(()=>d.value.find(e=>e.documentId===C.value)?.title);function B(){return _.value.length===0?``:z.value?.isRoot&&_.value.some(e=>e.tableName===`user_prefs`)?`user_prefs`:_.value[0]?.tableName??``}function V(){_.value.length!==0&&(S.value&&!_.value.some(e=>e.tableName===S.value)&&(S.value=null),S.value||=B())}function H(e){S.value=e}function ae(){S.value=_.value.length>0?B():null}async function oe(e){if(e===x.value&&i.isDocumentReady)return;r.debug(`Switching to document:`,e),b.value=e,S.value=null;let t=d.value.find(t=>t.documentId===e);i.setCurrentDocumentTitle(t?.title||`Untitled`);try{await i.switchDocument(e),V()}finally{b.value=null}}async function se(e){try{let{metadata:n}=await(await t.o.getClientAsync()).documents.create({title:e});r.debug(`Created new document:`,n),await p(),await i.switchDocument(n.documentId)}catch(e){throw r.error(`Failed to create document:`,e),e}}async function ce(e){E.value=!0;try{await se(e),T.value=!1}catch(e){U(`Failed to create document: `+W(e))}finally{E.value=!1}}async function le(e,n){e===i.currentDocumentId&&i.setCurrentDocumentTitle(n);let{success:o}=await(a.value.some(t=>t.documentId===e)?ee:F)(e,`title`,n,async()=>{await(await t.o.getClientAsync()).documents.update(e,{title:n}),r.debug(`Renamed document:`,e,`to`,n)});if(!o){let t=d.value.find(t=>t.documentId===e);e===i.currentDocumentId&&i.setCurrentDocumentTitle(t?.title||`Untitled`),U(`Failed to rename document`)}}async function ue(e){w.value=!0,y.value===e&&i.setCurrentDocumentId(null),w.value=!1,C.value=null,f.value=new Set([...f.value,e]);try{await(await t.o.getClientAsync()).documents.delete(e,{forceCloseIfOpen:!0}),await p()}catch{U(`Failed to delete document`)}finally{let t=new Set(f.value);t.delete(e),f.value=t}}async function de(e){y.value&&e.includes(y.value)&&i.setCurrentDocumentId(null),f.value=new Set([...f.value,...e]),g=!0;try{let n=await t.o.getClientAsync(),i=[];for(let t of e)try{await n.documents.delete(t,{forceCloseIfOpen:!0})}catch(e){r.error(`Failed to delete document ${t}:`,e),i.push(t)}await p(),i.length>0&&U(`Failed to delete ${i.length} document(s). They have been restored.`)}finally{let t=new Set(f.value);for(let n of e)t.delete(n);f.value=t,g=!1}}async function fe(e){try{if(!(await(await t.o.getClientAsync()).me.get())?.userId){U(`Could not determine current user.`);return}let n=[],r=[];for(let t of e){let e=d.value.find(e=>e.documentId===t);!e||e.documentId===u.value||(!e.permission||e.permission===`owner`||e.permission===`admin`?r.push(t):n.push(t))}if(n.length===0&&r.length===0)return;let i=[];r.length>0&&i.push(`delete ${r.length}`),n.length>0&&i.push(`leave ${n.length}`),O.value=e,k.value=n,A.value=r,j.value=`This will ${i.join(` and `)} document(s). Continue?`,D.value=!0}catch(e){r.error(`Failed to process bulk leave:`,e),U(`Failed to leave documents: `+W(e))}}async function pe(){D.value=!1;let e=k.value,n=A.value;O.value=[],k.value=[],A.value=[],j.value=``;try{let a=await t.o.getClientAsync(),o=await a.me.get();if(!o?.userId){U(`Could not determine current user.`);return}let s=[...e,...n];y.value&&s.includes(y.value)&&i.setCurrentDocumentId(null),f.value=new Set([...f.value,...s]),g=!0;try{let t=[];for(let n of e)try{await a.documents.removePermission(n,o.userId)}catch(e){r.error(`Failed to leave document ${n}:`,e),t.push(n)}for(let e of n)try{await a.documents.delete(e,{forceCloseIfOpen:!0})}catch(n){r.error(`Failed to delete document ${e}:`,n),t.push(e)}await p(),t.length>0&&U(`Failed to process ${t.length} document(s). They have been restored.`)}finally{let e=new Set(f.value);for(let t of s)e.delete(t);f.value=e,g=!1}}catch(e){r.error(`Failed to process bulk leave:`,e),U(`Failed to leave documents: `+W(e))}}return(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,ag,[(0,n.createVNode)((0,n.unref)(Te),{position:`bottom-right`,expand:!1,"rich-colors":``}),(0,n.createElementVNode)(`div`,og,[(0,n.createVNode)(Ed,{"owned-documents":L.value,"shared-documents":R.value,"selected-doc-id":x.value,"document-list-loaded":s.value,onSelectDocument:oe,onCreateDocument:t[0]||=e=>T.value=!0,onBulkDelete:de,onBulkLeave:fe,onBulkDeleteMixed:fe},null,8,[`owned-documents`,`shared-documents`,`selected-doc-id`,`document-list-loaded`]),(0,n.createElementVNode)(`div`,sg,[c.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,cg,[(0,n.createElementVNode)(`div`,lg,[t[7]||=(0,n.createElementVNode)(`svg`,{class:`w-10 h-10 mx-auto text-destructive/70 mb-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4.5c-.77-.833-2.694-.833-3.464 0L3.34 16.5c-.77.833.192 2.5 1.732 2.5z`})],-1),t[8]||=(0,n.createElementVNode)(`h3`,{class:`text-sm font-semibold text-destructive mb-1`},` Failed to load documents `,-1),(0,n.createElementVNode)(`p`,ug,(0,n.toDisplayString)(c.value),1),(0,n.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90`,onClick:m},` Retry `)])])):s.value?z.value?((0,n.openBlock)(),(0,n.createBlock)(xu,{key:3,"is-ready":(0,n.unref)(ne)},{loading:(0,n.withCtx)(()=>[...t[11]||=[(0,n.createElementVNode)(`div`,{class:`flex-1 flex items-center justify-center`},[(0,n.createElementVNode)(`div`,{class:`text-center`},[(0,n.createElementVNode)(`div`,{class:`w-6 h-6 border-2 border-primary border-t-transparent rounded-full animate-spin mx-auto mb-2`}),(0,n.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},`Loading data...`)])],-1)]]),default:(0,n.withCtx)(()=>[_.value.length===0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,pg,[...t[12]||=[(0,n.createElementVNode)(`div`,{class:`text-center`},[(0,n.createElementVNode)(`svg`,{class:`w-12 h-12 mx-auto text-muted-foreground/30 mb-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4`})]),(0,n.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},` Add models to get started `)],-1)]])):S.value?((0,n.openBlock)(),(0,n.createBlock)(ig,{key:S.value,"model-name":S.value,"document-permission":z.value?.permission,onBack:ae,onSwitchModel:H},null,8,[`model-name`,`document-permission`])):(0,n.createCommentVNode)(``,!0)]),_:1},8,[`is-ready`])):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,fg,[...t[10]||=[(0,n.createElementVNode)(`div`,{class:`text-center`},[(0,n.createElementVNode)(`svg`,{class:`w-12 h-12 mx-auto text-muted-foreground/30 mb-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`})]),(0,n.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},` Select a document to explore `)],-1)]])):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,dg,[...t[9]||=[(0,n.createElementVNode)(`div`,{class:`text-center`},[(0,n.createElementVNode)(`div`,{class:`w-6 h-6 border-2 border-primary border-t-transparent rounded-full animate-spin mx-auto mb-2`}),(0,n.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},`Loading documents...`)],-1)]]))]),(0,n.createElementVNode)(`div`,mg,[z.value?((0,n.openBlock)(),(0,n.createBlock)(op,{key:0,document:z.value,models:_.value,"record-counts":re.value,onNavigateToModel:H,onRenameDocument:le,onDeleteDocument:t[1]||=e=>C.value=e,onDocumentsChanged:p},null,8,[`document`,`models`,`record-counts`])):(0,n.createCommentVNode)(``,!0)])]),(0,n.createVNode)(hp,{open:T.value,"is-creating":E.value,"onUpdate:open":t[2]||=e=>T.value=e,onCreate:ce},null,8,[`open`,`is-creating`]),(0,n.createVNode)(Ks,{"is-open":!!C.value,title:`Delete Document`,question:`Are you sure you want to delete "${ie.value}"?`,warning:`This action cannot be undone.`,"is-deleting":w.value,onCancel:t[3]||=e=>C.value=null,onConfirm:t[4]||=e=>C.value&&ue(C.value)},null,8,[`is-open`,`question`,`is-deleting`]),(0,n.createVNode)(Ks,{"is-open":D.value,title:`Leave / Delete Documents`,question:j.value,warning:``,"confirm-label":`Continue`,"confirming-label":`Processing...`,"is-deleting":!1,onConfirm:pe,onCancel:t[5]||=e=>{D.value=!1,O.value=[],k.value=[],A.value=[],j.value=``},"onUpdate:isOpen":t[6]||=e=>{e||(D.value=!1,O.value=[],k.value=[],A.value=[],j.value=``)}},null,8,[`is-open`,`question`])]))}}),gg={class:`h-full flex flex-col overflow-hidden`},_g={key:0,class:`px-3 py-2 bg-destructive/10 border-b border-destructive/30 text-xs`},vg={class:`flex items-start gap-2`},yg={class:`font-medium text-destructive`},bg={class:`mt-1 space-y-0.5 text-muted-foreground`},xg={class:`flex-1 flex overflow-hidden`},Sg={class:`w-64 lg:w-72 border-r border-border flex flex-col bg-background`},Cg={class:`px-3 py-2 border-b border-border bg-muted/30 relative`},wg={key:0,class:`absolute inset-0 px-3 bg-muted flex items-center justify-between z-10`},Tg={class:`flex items-center gap-2`},Eg={class:`text-[10px] font-medium`},Dg=[`disabled`],Og={class:`flex items-center gap-2`},kg=[`checked`,`indeterminate`],Ag={class:`flex-1 overflow-y-auto scrollbar-thin`},jg=[`onClick`],Mg=[`checked`,`indeterminate`,`onClick`],Ng={class:`ml-2 text-xs font-medium flex-1`},Pg={class:`text-[10px] text-muted-foreground`},Fg=[`onClick`],Ig=[`checked`,`onClick`],Lg={class:`ml-2 w-4 h-4 flex items-center justify-center`},Rg={key:0,class:`w-3.5 h-3.5 text-blue-500 animate-spin`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},zg={key:1,class:`w-3.5 h-3.5 text-green-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Bg={key:2,class:`w-3.5 h-3.5 text-red-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Vg={key:3,class:`w-3.5 h-3.5 rounded-full bg-blue-500 text-white flex items-center justify-center text-[8px] font-bold`},Hg={key:4,class:`w-3.5 h-3.5 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Ug={class:`ml-1.5 text-xs flex-1 truncate`},Wg={key:0,class:`px-1 py-0.5 text-[9px] bg-green-100 text-green-700 rounded`},Gg={key:1,class:`px-1 py-0.5 text-[9px] bg-red-100 text-red-700 rounded`},Kg={key:2,class:`px-1 py-0.5 text-[9px] bg-muted text-muted-foreground rounded`},qg={key:3,class:`px-1 py-0.5 text-[9px] bg-blue-100 text-blue-700 rounded`},Jg={key:0,class:`text-center py-8 text-muted-foreground`},Yg={class:`px-3 py-2 border-t border-border bg-muted/20 text-[10px] text-muted-foreground`},Xg={class:`flex items-center justify-between`},Zg={key:0},Qg={key:0,class:`text-green-600`},$g={key:1},e_={key:2,class:`text-red-600`},t_={key:3},n_={key:0},r_={class:`flex-1 flex flex-col min-w-0 bg-background`},i_={class:`flex items-center justify-between px-3 py-2 border-b border-border bg-muted/30`},a_={class:`flex items-center gap-1`},o_=[`disabled`],s_=[`disabled`],c_=[`disabled`],l_={key:0,class:`text-muted-foreground`},u_={key:1,class:`space-y-0.5`},d_=[`data-test-id`],f_={key:0,class:`px-3 py-2 border-t border-border bg-muted/20`},p_={class:`flex items-center justify-between text-[10px] mb-1`},m_={class:`text-muted-foreground truncate pr-2`},h_={class:`font-medium flex-shrink-0`},g_={class:`h-1 bg-muted rounded-full overflow-hidden`},__=(0,n.defineComponent)({__name:`TestRunner`,props:{tests:{},testLoadErrors:{},onTestsComplete:{type:Function}},setup(e){let r=t.s.forScope(`TestRunner`),i=e,a=(0,n.ref)({}),o=(0,n.ref)([]),s=(0,n.ref)(!1),c=(0,n.ref)(!1),l=(0,n.ref)(!1),u=(0,n.reactive)(new Map),d=(0,n.ref)(null),f=(0,n.ref)(null),p=(0,n.ref)(0),m=(0,n.ref)(0),h=(0,n.ref)(``);(0,n.watchEffect)(()=>{let e={};i.tests.forEach(t=>{e[t.id]=!0}),a.value=e});let g=(0,n.computed)(()=>{let e=new Map;return i.tests.forEach(t=>{e.has(t.group)||e.set(t.group,[]),e.get(t.group).push(t)}),Array.from(e.entries())}),_=(0,n.computed)(()=>Object.values(a.value).filter(Boolean).length),v=(0,n.computed)(()=>i.tests.length),y=(0,n.computed)(()=>({passed:Array.from(u.values()).filter(e=>e.status===`passed`||e.status===`scored`).length,failed:Array.from(u.values()).filter(e=>e.status===`failed`).length,skipped:Array.from(u.values()).filter(e=>e.status===`skipped`).length})),b=e=>u.get(e)?.status??`pending`,x=e=>e.every(e=>a.value[e.id]),S=e=>{let t=e.some(e=>a.value[e.id]),n=e.every(e=>a.value[e.id]);return t&&!n},C=e=>e.filter(e=>a.value[e.id]).length,w=(0,n.computed)(()=>i.tests.every(e=>a.value[e.id])),T=(0,n.computed)(()=>i.tests.some(e=>a.value[e.id])&&!w.value),E=(e,t=`normal`,r)=>{let i=new Date().toLocaleTimeString();o.value=[...o.value,{text:`${i} - ${e}`,type:t,testId:r}],f.value||(0,n.nextTick)(()=>{d.value&&(d.value.scrollTop=d.value.scrollHeight)})},D=async()=>{if(!l.value){l.value=!0,o.value=[],p.value=g.value.flatMap(([,e])=>e.filter(e=>a.value[e.id])).length,m.value=0,h.value=``,E(`=`.repeat(60),`header`),E(`Starting test run`,`header`),E(`=`.repeat(60),`header`);try{for(let[e,t]of g.value)for(let n of t){if(!a.value[n.id])continue;if(n.environment===`node`){u.set(n.id,{status:`skipped`,message:`node-only`}),E(`Skipped ${e} :: ${n.name} (node-only)`,`normal`,n.id),m.value++;continue}u.set(n.id,{status:`running`}),h.value=`${e} :: ${n.name}`,E(`Running ${e} :: ${n.name}`,`normal`,n.id);let t=performance.now();try{let e=await n.run(e=>E(`[${n.id}] ${e}`,`normal`,n.id)),r=Math.round(performance.now()-t),i=e.match(/^(\d+)\/(\d+)\s*\((\d+(?:\.\d+)?)%\)/);if(i&&i[1]&&i[2]&&i[3]){let t=Number.parseInt(i[1],10),a=Number.parseInt(i[2],10),o=Number.parseFloat(i[3]);u.set(n.id,{status:`scored`,durationMs:r,message:e,score:{passed:t,total:a,percentage:o}}),E(`Scored (${r}ms): ${e}`,`success`,n.id)}else u.set(n.id,{status:`passed`,durationMs:r,message:e}),E(`Passed (${r}ms): ${e}`,`success`,n.id)}catch(e){let r=Math.round(performance.now()-t),i=e instanceof Error?e.message:String(e);u.set(n.id,{status:`failed`,durationMs:r,message:i}),E(`Failed (${r}ms): ${i}`,`error`,n.id)}m.value++}}finally{if(E(`=`.repeat(60),`header`),E(`Test run complete`,`header`),E(`=`.repeat(60),`header`),i.onTestsComplete)try{await i.onTestsComplete()}catch(e){E(`Warning: Cleanup failed: ${e instanceof Error?e.message:String(e)}`)}l.value=!1}}},O=e=>{a.value={...a.value,[e]:!a.value[e]}},k=e=>{let t=x(e),n={...a.value};e.forEach(e=>{n[e.id]=!t}),a.value=n},A=()=>{let e=w.value,t={};i.tests.forEach(n=>{t[n.id]=!e}),a.value=t},j=()=>{a.value={}},M=async()=>{try{await navigator.clipboard.writeText(o.value.map(e=>e.text).join(`
|
|
50
50
|
`)),s.value=!0,window.setTimeout(()=>{s.value=!1},1500)}catch(e){r.error(`Copy to clipboard failed in test runner`,{err:e})}},N=async()=>{try{let e=new Set(Array.from(u.entries()).filter(([,e])=>e.status===`failed`).map(([e])=>e)),t=o.value.filter(t=>t.testId&&e.has(t.testId)).map(e=>e.text).join(`
|
|
51
|
-
`);await navigator.clipboard.writeText(t),c.value=!0,window.setTimeout(()=>{c.value=!1},1500)}catch(e){r.error(`Copy failed tests to clipboard failed`,{err:e})}},P=e=>{if(f.value===e){f.value=null;return}f.value=e,(0,n.nextTick)(()=>{if(d.value){let t=d.value.querySelector(`[data-test-id="${e}"]`);t&&t.scrollIntoView({behavior:`smooth`,block:`start`})}})},ee=()=>{o.value=[],u.clear(),f.value=null},F=(0,n.computed)(()=>Array.from(u.values()).some(e=>e.status===`failed`)),te=(0,n.computed)(()=>p.value===0?0:Math.round(m.value/p.value*100));return(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,gg,[i.testLoadErrors&&i.testLoadErrors.length>0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,_g,[(0,n.createElementVNode)(`div`,vg,[t[0]||=(0,n.createElementVNode)(`svg`,{class:`w-4 h-4 text-destructive flex-shrink-0 mt-0.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4.5c-.77-.833-2.694-.833-3.464 0L3.34 16.5c-.77.833.192 2.5 1.732 2.5z`})],-1),(0,n.createElementVNode)(`div`,null,[(0,n.createElementVNode)(`span`,yg,(0,n.toDisplayString)(i.testLoadErrors.length)+` test file`+(0,n.toDisplayString)(i.testLoadErrors.length>1?`s`:``)+` failed to load `,1),(0,n.createElementVNode)(`ul`,bg,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(i.testLoadErrors,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`li`,{key:e.file,class:`font-mono text-[10px]`},(0,n.toDisplayString)(e.file),1))),128))])])])])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,xg,[(0,n.createElementVNode)(`div`,Sg,[(0,n.createElementVNode)(`div`,Cg,[_.value>0&&!l.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,wg,[(0,n.createElementVNode)(`div`,Tg,[(0,n.createElementVNode)(`span`,Eg,(0,n.toDisplayString)(_.value)+` selected `,1),(0,n.createElementVNode)(`button`,{class:`text-[10px] text-muted-foreground hover:text-foreground`,onClick:j},` Clear `)]),(0,n.createElementVNode)(`button`,{class:`px-2 py-1 text-[10px] bg-primary text-primary-foreground rounded hover:bg-primary/90 flex items-center gap-1`,disabled:l.value,onClick:D},[...t[1]||=[(0,n.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z`}),(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M21 12a9 9 0 11-18 0 9 9 0 0118 0z`})],-1),(0,n.createTextVNode)(` Run `,-1)]],8,Dg)])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,Og,[(0,n.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:w.value,indeterminate:T.value,onChange:A},null,40,kg),t[2]||=(0,n.createElementVNode)(`span`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`},` Available Tests `,-1)])]),(0,n.createElementVNode)(`div`,Ag,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(g.value,([e,r])=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e},[(0,n.createElementVNode)(`div`,{class:`flex items-center px-3 py-1.5 bg-muted/50 border-b border-border cursor-pointer hover:bg-muted/70`,onClick:e=>k(r)},[(0,n.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:x(r),indeterminate:S(r),onClick:(0,n.withModifiers)(e=>k(r),[`stop`])},null,8,Mg),(0,n.createElementVNode)(`span`,Ng,(0,n.toDisplayString)(e),1),(0,n.createElementVNode)(`span`,Pg,(0,n.toDisplayString)(C(r))+`/`+(0,n.toDisplayString)(r.length),1)],8,jg),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(r,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e.id,class:(0,n.normalizeClass)([`flex items-center px-3 py-1.5 hover:bg-muted/30 cursor-pointer`,{"bg-primary/10 border-l-2 border-l-primary":f.value===e.id}]),onClick:t=>P(e.id)},[(0,n.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:a.value[e.id],onClick:(0,n.withModifiers)(t=>O(e.id),[`stop`])},null,8,Ig),(0,n.createElementVNode)(`span`,Lg,[b(e.id)===`running`?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Rg,[...t[3]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z`},null,-1)]])):b(e.id)===`passed`?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,zg,[...t[4]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z`},null,-1)]])):b(e.id)===`failed`?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Bg,[...t[5]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z`},null,-1)]])):b(e.id)===`scored`?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Vg,` % `)):(0,n.createCommentVNode)(``,!0)]),(0,n.createElementVNode)(`span`,Hg,(0,n.toDisplayString)(e.name),1),u.get(e.id)?.status===`passed`?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Ug,` Passed `)):u.get(e.id)?.status===`failed`?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Wg,` Failed `)):u.get(e.id)?.status===`scored`&&u.get(e.id)?.score?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Gg,(0,n.toDisplayString)(u.get(e.id).score.passed)+`/`+(0,n.toDisplayString)(u.get(e.id).score.total)+` (`+(0,n.toDisplayString)(u.get(e.id).score.percentage)+`%) `,1)):(0,n.createCommentVNode)(``,!0)],10,Fg))),128))]))),128)),g.value.length===0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Kg,[...t[6]||=[(0,n.createElementVNode)(`p`,{class:`text-xs`},`No tests found.`,-1),(0,n.createElementVNode)(`p`,{class:`text-[10px] mt-1`},` Create test files with the .primitive-test.ts extension. `,-1)]])):(0,n.createCommentVNode)(``,!0)]),(0,n.createElementVNode)(`div`,qg,[(0,n.createElementVNode)(`div`,Jg,[(0,n.createElementVNode)(`span`,null,(0,n.toDisplayString)(v.value)+` tests in `+(0,n.toDisplayString)(g.value.length)+` groups`,1),y.value.passed>0||y.value.failed>0?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Yg,[y.value.passed>0?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Xg,(0,n.toDisplayString)(y.value.passed)+` passed `,1)):(0,n.createCommentVNode)(``,!0),y.value.passed>0&&y.value.failed>0?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Zg,`, `)):(0,n.createCommentVNode)(``,!0),y.value.failed>0?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Qg,(0,n.toDisplayString)(y.value.failed)+` failed `,1)):(0,n.createCommentVNode)(``,!0)])):(0,n.createCommentVNode)(``,!0)])])]),(0,n.createElementVNode)(`div`,$g,[(0,n.createElementVNode)(`div`,e_,[t[16]||=(0,n.createElementVNode)(`span`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`},` Test Output `,-1),(0,n.createElementVNode)(`div`,t_,[(0,n.createElementVNode)(`button`,{class:`px-1.5 py-0.5 text-[10px] text-muted-foreground hover:text-foreground hover:bg-muted rounded flex items-center gap-1 disabled:opacity-50`,disabled:o.value.length===0,onClick:M},[s.value?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[t[7]||=(0,n.createElementVNode)(`svg`,{class:`w-3 h-3 text-green-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`})],-1),t[8]||=(0,n.createTextVNode)(` Copied! `,-1)],64)):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[t[9]||=(0,n.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`})],-1),t[10]||=(0,n.createTextVNode)(` Copy `,-1)],64))],8,n_),(0,n.createElementVNode)(`button`,{class:`px-1.5 py-0.5 text-[10px] text-muted-foreground hover:text-foreground hover:bg-muted rounded flex items-center gap-1 disabled:opacity-50`,disabled:!F.value,onClick:N},[c.value?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[t[11]||=(0,n.createElementVNode)(`svg`,{class:`w-3 h-3 text-green-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`})],-1),t[12]||=(0,n.createTextVNode)(` Copied! `,-1)],64)):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[t[13]||=(0,n.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`})],-1),t[14]||=(0,n.createTextVNode)(` Copy Failing Tests `,-1)],64))],8,r_),(0,n.createElementVNode)(`button`,{class:`px-1.5 py-0.5 text-[10px] text-muted-foreground hover:text-foreground hover:bg-muted rounded flex items-center gap-1 disabled:opacity-50`,disabled:o.value.length===0,onClick:ee},[...t[15]||=[(0,n.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16`})],-1),(0,n.createTextVNode)(` Clear `,-1)]],8,i_)])]),(0,n.createElementVNode)(`div`,{ref_key:`outputEl`,ref:d,class:`flex-1 overflow-y-auto scrollbar-thin bg-muted/10 font-mono text-xs p-3`},[o.value.length===0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,a_,` Select tests and click "Run" to see output... `)):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,o_,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(o.value,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:t,"data-test-id":e.testId,class:(0,n.normalizeClass)([e.type===`header`?`text-muted-foreground font-medium`:e.type===`success`?`text-green-600`:e.type===`error`?`text-red-600`:``,f.value&&e.testId!==f.value?`opacity-20`:``,f.value&&e.testId===f.value?`bg-primary/5 -mx-1 px-1 rounded`:``])},(0,n.toDisplayString)(e.text),11,s_))),128))]))],512),l.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,c_,[(0,n.createElementVNode)(`div`,l_,[(0,n.createElementVNode)(`span`,u_,` Running: `+(0,n.toDisplayString)(h.value),1),(0,n.createElementVNode)(`span`,d_,(0,n.toDisplayString)(m.value)+`/`+(0,n.toDisplayString)(p.value),1)]),(0,n.createElementVNode)(`div`,f_,[(0,n.createElementVNode)(`div`,{class:`h-full bg-primary transition-all duration-300`,style:(0,n.normalizeStyle)({width:`${te.value}%`})},null,4)])])):(0,n.createCommentVNode)(``,!0)])])]))}}),m_={class:`fixed inset-0 z-40 bg-background flex flex-col overflow-hidden`},h_={class:`flex items-center justify-between px-4 py-2 border-b border-border bg-muted/30`},g_={class:`flex items-center gap-3 min-w-0 flex-1`},__={class:`text-sm font-semibold truncate`},v_={class:`flex-1 flex overflow-hidden min-w-0`},y_={class:`w-10 bg-muted/50 border-r border-border flex flex-col items-center py-2 gap-1`},b_={class:`flex-1 flex flex-col overflow-hidden min-w-0`},x_={key:0,class:`flex-1 flex items-center justify-center`},S_={class:`text-center max-w-md`},C_={class:`text-xs text-muted-foreground mb-4`},w_={key:1,class:`flex-1 flex items-center justify-center`},T_={class:`text-center`},E_={key:0,class:`flex-1 overflow-hidden`},D_={key:1,class:`flex-1 overflow-hidden flex`},O_={key:2,class:`flex-1 overflow-hidden`},k_=(0,n.defineComponent)({__name:`DevToolsOverlay`,props:{testGroups:{},testLoadErrors:{},appName:{}},emits:[`close`],setup(e,{emit:r}){let i=t.s.forScope(`DevToolsOverlay`),a=e,o=r,s=(0,n.ref)(`documents`),c=(0,n.ref)(!1),l=(0,n.ref)(null),u=(0,n.ref)(!1);async function d(){if(!c.value)try{await t.r(),c.value=!0}catch(e){i.error(`Failed to initialize dev tools`,{err:e}),l.value=e instanceof Error?e.message:`Failed to initialize`}}let f=(0,n.ref)(``);function p(e){if(e.key!==`Escape`||document.querySelectorAll(`[role="dialog"][data-state="open"], [role="alertdialog"][data-state="open"]`).length>0||document.querySelectorAll(`[data-devtools-modal]`).length>0||document.querySelectorAll(`[data-devtools-dropdown]`).length>0)return;let t=document.activeElement;if(t&&t!==document.body&&(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.tagName===`SELECT`||t.isContentEditable)){t.blur();return}g()}(0,n.onMounted)(()=>{f.value=document.body.style.overflow,document.body.style.overflow=`hidden`,document.addEventListener(`keydown`,p,!0),d()}),(0,n.onUnmounted)(()=>{document.body.style.overflow=f.value,document.removeEventListener(`keydown`,p,!0)});let m=(0,n.computed)(()=>t.t(a.testGroups));async function h(){if(!u.value){u.value=!0;try{await t.r()}finally{u.value=!1}}}function g(){o(`close`)}let _=Me(),y=(0,n.computed)(()=>{if(s.value===`tests`)return`Test Harness`;if(s.value===`blobs`){let e=_.currentDocumentTitle;return e?`Blob Explorer: ${e}`:`Blob Explorer`}let e=_.currentDocumentTitle;return e?`Document Explorer: ${e}`:`Document Explorer`});return(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,m_,[(0,n.createElementVNode)(`div`,h_,[(0,n.createElementVNode)(`div`,g_,[(0,n.createElementVNode)(`span`,__,(0,n.toDisplayString)(y.value),1)]),(0,n.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded`,title:`Close`,onClick:g},[...t[3]||=[(0,n.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M6 18L18 6M6 6l12 12`})],-1)]])]),(0,n.createElementVNode)(`div`,v_,[(0,n.createElementVNode)(`div`,y_,[(0,n.createElementVNode)(`button`,{class:(0,n.normalizeClass)([`p-2 rounded`,s.value===`documents`?`bg-primary/10 text-primary`:`hover:bg-muted text-muted-foreground`]),title:`Document Explorer`,onClick:t[0]||=e=>s.value=`documents`},[...t[4]||=[(0,n.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`})],-1)]],2),(0,n.createElementVNode)(`button`,{class:(0,n.normalizeClass)([`p-2 rounded`,s.value===`tests`?`bg-primary/10 text-primary`:`hover:bg-muted text-muted-foreground`]),title:`Test Harness`,onClick:t[1]||=e=>s.value=`tests`},[...t[5]||=[(0,n.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4`})],-1)]],2),(0,n.createElementVNode)(`button`,{class:(0,n.normalizeClass)([`p-2 rounded`,s.value===`blobs`?`bg-primary/10 text-primary`:`hover:bg-muted text-muted-foreground`]),title:`Blob Explorer`,onClick:t[2]||=e=>s.value=`blobs`},[...t[6]||=[(0,n.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12`})],-1)]],2)]),(0,n.createElementVNode)(`div`,b_,[l.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,x_,[(0,n.createElementVNode)(`div`,S_,[t[7]||=(0,n.createElementVNode)(`h2`,{class:`text-sm font-semibold text-destructive mb-2`},` Initialization Failed `,-1),(0,n.createElementVNode)(`p`,C_,(0,n.toDisplayString)(l.value),1),(0,n.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90`,onClick:d},` Retry `)])])):c.value?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:2},[s.value===`documents`?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,E_,[(0,n.createVNode)(hg)])):(0,n.createCommentVNode)(``,!0),s.value===`blobs`?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,D_,[(0,n.createVNode)(hu)])):(0,n.createCommentVNode)(``,!0),s.value===`tests`?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,O_,[(0,n.createVNode)(p_,{tests:m.value,"test-load-errors":a.testLoadErrors,"on-tests-complete":h},null,8,[`tests`,`test-load-errors`])])):(0,n.createCommentVNode)(``,!0)],64)):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,w_,[(0,n.createElementVNode)(`div`,T_,[(0,n.createVNode)(v),t[8]||=(0,n.createElementVNode)(`p`,{class:`mt-4 text-xs text-muted-foreground`},` Initializing dev tools... `,-1)])]))])])]))}}),A_=`#devtools`,j_=(0,n.defineComponent)({__name:`DevToolsRoot`,props:{testGroups:{},testLoadErrors:{},appName:{},keyboardShortcut:{}},setup(e){let r=t.s.forScope(`DevToolsRoot`),i=e,a=(0,n.ref)(!1),o=(0,n.ref)(!1),s=typeof navigator<`u`&&/mac/i.test(navigator.platform);function c(e){let t=e.toLowerCase().split(`+`);return s?t.map(e=>e===`cmd`||e===`meta`?`⌘`:e===`ctrl`?`⌃`:e===`shift`?`⇧`:e===`alt`?`⌥`:e.toUpperCase()).join(``):t.map(e=>e===`cmd`||e===`meta`||e===`ctrl`?`Ctrl`:e===`shift`?`Shift`:e===`alt`?`Alt`:e.toUpperCase()).join(`+`)}let l=(0,n.computed)(()=>{if(i.keyboardShortcut)return c(i.keyboardShortcut)});function u(e,t){let n=t.toLowerCase().split(`+`),r=n.pop(),i=new Set(n),a=i.has(`cmd`)||i.has(`meta`),o=i.has(`ctrl`),c=i.has(`shift`),l=i.has(`alt`);if(s){if(a!==e.metaKey||o!==e.ctrlKey)return!1}else if((a||o)!==e.ctrlKey||e.metaKey)return!1;return!(c!==e.shiftKey||l!==e.altKey||e.key.toLowerCase()!==r)}function d(e){!i.keyboardShortcut||!o.value||u(e,i.keyboardShortcut)&&(e.preventDefault(),b())}let f=!1,p=null;function m(){!a.value&&o.value&&window.location.hash===A_&&(a.value=!0)}async function g(){try{let e=await t.o.getClientAsync();o.value=e.isAuthenticated(),m(),o.value&&t.r().catch(e=>{r.debug(`Startup cleanup of leftover test documents failed`,{err:e})});let n=()=>{o.value=!0,m()},i=()=>{o.value=!1},a=()=>{o.value=!1,y()};e.on(`auth-success`,n),e.on(`auth-failed`,i),e.on(`auth:logout`,a),p=()=>{e.off(`auth-success`,n),e.off(`auth-failed`,i),e.off(`auth:logout`,a)}}catch{o.value=!1}}function _(){let e=window.location.hash===A_;a.value&&!e?(a.value=!1,f=!1):!a.value&&e&&o.value&&(a.value=!0)}(0,n.onMounted)(()=>{window.addEventListener(`popstate`,_),document.addEventListener(`keydown`,d),g()}),(0,n.onUnmounted)(()=>{window.removeEventListener(`popstate`,_),document.removeEventListener(`keydown`,d),p?.(),p=null});function v(){a.value||(a.value=!0,f=!0,history.pushState({primitiveDevtools:!0},``,A_))}function y(){a.value&&(a.value=!1,window.location.hash===A_&&(f?(f=!1,history.back()):history.replaceState(null,``,window.location.pathname+window.location.search)))}function b(){a.value?y():v()}return(e,t)=>((0,n.openBlock)(),(0,n.createBlock)(n.Teleport,{to:`body`},[o.value?((0,n.openBlock)(),(0,n.createBlock)(h,{key:0,"is-open":a.value,"shortcut-hint":l.value,onClick:b},null,8,[`is-open`,`shortcut-hint`])):(0,n.createCommentVNode)(``,!0),a.value?((0,n.openBlock)(),(0,n.createBlock)(k_,{key:1,"test-groups":i.testGroups,"test-load-errors":i.testLoadErrors,"app-name":i.appName,onClose:y},null,8,[`test-groups`,`test-load-errors`,`app-name`])):(0,n.createCommentVNode)(``,!0)]))}});exports.DevToolsRoot=j_,exports.createTestDocument=t.n,exports.destroyTestDocument=t.i,exports.initializeJsBao=t.a,exports.jsBaoClientService=t.o,exports.setPrimitiveAppLogLevel=t.c;
|
|
51
|
+
`);await navigator.clipboard.writeText(t),c.value=!0,window.setTimeout(()=>{c.value=!1},1500)}catch(e){r.error(`Copy failed tests to clipboard failed`,{err:e})}},P=e=>{if(f.value===e){f.value=null;return}f.value=e,(0,n.nextTick)(()=>{if(d.value){let t=d.value.querySelector(`[data-test-id="${e}"]`);t&&t.scrollIntoView({behavior:`smooth`,block:`start`})}})},ee=()=>{o.value=[],u.clear(),f.value=null},F=(0,n.computed)(()=>Array.from(u.values()).some(e=>e.status===`failed`)),te=(0,n.computed)(()=>p.value===0?0:Math.round(m.value/p.value*100));return(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,gg,[i.testLoadErrors&&i.testLoadErrors.length>0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,_g,[(0,n.createElementVNode)(`div`,vg,[t[0]||=(0,n.createElementVNode)(`svg`,{class:`w-4 h-4 text-destructive flex-shrink-0 mt-0.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4.5c-.77-.833-2.694-.833-3.464 0L3.34 16.5c-.77.833.192 2.5 1.732 2.5z`})],-1),(0,n.createElementVNode)(`div`,null,[(0,n.createElementVNode)(`span`,yg,(0,n.toDisplayString)(i.testLoadErrors.length)+` test file`+(0,n.toDisplayString)(i.testLoadErrors.length>1?`s`:``)+` failed to load `,1),(0,n.createElementVNode)(`ul`,bg,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(i.testLoadErrors,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`li`,{key:e.file,class:`font-mono text-[10px]`},(0,n.toDisplayString)(e.file),1))),128))])])])])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,xg,[(0,n.createElementVNode)(`div`,Sg,[(0,n.createElementVNode)(`div`,Cg,[_.value>0&&!l.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,wg,[(0,n.createElementVNode)(`div`,Tg,[(0,n.createElementVNode)(`span`,Eg,(0,n.toDisplayString)(_.value)+` selected `,1),(0,n.createElementVNode)(`button`,{class:`text-[10px] text-muted-foreground hover:text-foreground`,onClick:j},` Clear `)]),(0,n.createElementVNode)(`button`,{class:`px-2 py-1 text-[10px] bg-primary text-primary-foreground rounded hover:bg-primary/90 flex items-center gap-1`,disabled:l.value,onClick:D},[...t[1]||=[(0,n.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z`}),(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M21 12a9 9 0 11-18 0 9 9 0 0118 0z`})],-1),(0,n.createTextVNode)(` Run `,-1)]],8,Dg)])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,Og,[(0,n.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:w.value,indeterminate:T.value,onChange:A},null,40,kg),t[2]||=(0,n.createElementVNode)(`span`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`},` Available Tests `,-1)])]),(0,n.createElementVNode)(`div`,Ag,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(g.value,([e,r])=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e},[(0,n.createElementVNode)(`div`,{class:`flex items-center px-3 py-1.5 bg-muted/50 border-b border-border cursor-pointer hover:bg-muted/70`,onClick:e=>k(r)},[(0,n.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:x(r),indeterminate:S(r),onClick:(0,n.withModifiers)(e=>k(r),[`stop`])},null,8,Mg),(0,n.createElementVNode)(`span`,Ng,(0,n.toDisplayString)(e),1),(0,n.createElementVNode)(`span`,Pg,(0,n.toDisplayString)(C(r))+`/`+(0,n.toDisplayString)(r.length),1)],8,jg),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(r,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e.id,class:(0,n.normalizeClass)([`flex items-center px-3 py-1.5 hover:bg-muted/30 cursor-pointer`,{"bg-primary/10 border-l-2 border-l-primary":f.value===e.id}]),onClick:t=>P(e.id)},[(0,n.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:a.value[e.id],onClick:(0,n.withModifiers)(t=>O(e.id),[`stop`])},null,8,Ig),(0,n.createElementVNode)(`span`,Lg,[b(e.id)===`running`?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Rg,[...t[3]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z`},null,-1)]])):b(e.id)===`passed`?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,zg,[...t[4]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z`},null,-1)]])):b(e.id)===`failed`?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Bg,[...t[5]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z`},null,-1)]])):b(e.id)===`scored`?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Vg,` % `)):b(e.id)===`skipped`?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Hg,[...t[6]||=[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M18.364 5.636a9 9 0 11-12.728 12.728 9 9 0 0112.728-12.728zM5.636 5.636l12.728 12.728`},null,-1)]])):(0,n.createCommentVNode)(``,!0)]),(0,n.createElementVNode)(`span`,Ug,(0,n.toDisplayString)(e.name),1),u.get(e.id)?.status===`passed`?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Wg,` Passed `)):u.get(e.id)?.status===`failed`?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Gg,` Failed `)):u.get(e.id)?.status===`skipped`?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Kg,` Skipped `)):u.get(e.id)?.status===`scored`&&u.get(e.id)?.score?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,qg,(0,n.toDisplayString)(u.get(e.id).score.passed)+`/`+(0,n.toDisplayString)(u.get(e.id).score.total)+` (`+(0,n.toDisplayString)(u.get(e.id).score.percentage)+`%) `,1)):(0,n.createCommentVNode)(``,!0)],10,Fg))),128))]))),128)),g.value.length===0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Jg,[...t[7]||=[(0,n.createElementVNode)(`p`,{class:`text-xs`},`No tests found.`,-1),(0,n.createElementVNode)(`p`,{class:`text-[10px] mt-1`},` Create test files with the .primitive-test.ts extension. `,-1)]])):(0,n.createCommentVNode)(``,!0)]),(0,n.createElementVNode)(`div`,Yg,[(0,n.createElementVNode)(`div`,Xg,[(0,n.createElementVNode)(`span`,null,(0,n.toDisplayString)(v.value)+` tests in `+(0,n.toDisplayString)(g.value.length)+` groups`,1),y.value.passed>0||y.value.failed>0||y.value.skipped>0?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Zg,[y.value.passed>0?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,Qg,(0,n.toDisplayString)(y.value.passed)+` passed `,1)):(0,n.createCommentVNode)(``,!0),y.value.passed>0&&y.value.failed>0?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,$g,`, `)):(0,n.createCommentVNode)(``,!0),y.value.failed>0?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,e_,(0,n.toDisplayString)(y.value.failed)+` failed `,1)):(0,n.createCommentVNode)(``,!0),y.value.skipped>0?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,t_,[y.value.passed>0||y.value.failed>0?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,n_,`, `)):(0,n.createCommentVNode)(``,!0),(0,n.createTextVNode)(` `+(0,n.toDisplayString)(y.value.skipped)+` skipped `,1)])):(0,n.createCommentVNode)(``,!0)])):(0,n.createCommentVNode)(``,!0)])])]),(0,n.createElementVNode)(`div`,r_,[(0,n.createElementVNode)(`div`,i_,[t[17]||=(0,n.createElementVNode)(`span`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`},` Test Output `,-1),(0,n.createElementVNode)(`div`,a_,[(0,n.createElementVNode)(`button`,{class:`px-1.5 py-0.5 text-[10px] text-muted-foreground hover:text-foreground hover:bg-muted rounded flex items-center gap-1 disabled:opacity-50`,disabled:o.value.length===0,onClick:M},[s.value?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[t[8]||=(0,n.createElementVNode)(`svg`,{class:`w-3 h-3 text-green-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`})],-1),t[9]||=(0,n.createTextVNode)(` Copied! `,-1)],64)):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[t[10]||=(0,n.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`})],-1),t[11]||=(0,n.createTextVNode)(` Copy `,-1)],64))],8,o_),(0,n.createElementVNode)(`button`,{class:`px-1.5 py-0.5 text-[10px] text-muted-foreground hover:text-foreground hover:bg-muted rounded flex items-center gap-1 disabled:opacity-50`,disabled:!F.value,onClick:N},[c.value?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[t[12]||=(0,n.createElementVNode)(`svg`,{class:`w-3 h-3 text-green-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`})],-1),t[13]||=(0,n.createTextVNode)(` Copied! `,-1)],64)):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[t[14]||=(0,n.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`})],-1),t[15]||=(0,n.createTextVNode)(` Copy Failing Tests `,-1)],64))],8,s_),(0,n.createElementVNode)(`button`,{class:`px-1.5 py-0.5 text-[10px] text-muted-foreground hover:text-foreground hover:bg-muted rounded flex items-center gap-1 disabled:opacity-50`,disabled:o.value.length===0,onClick:ee},[...t[16]||=[(0,n.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16`})],-1),(0,n.createTextVNode)(` Clear `,-1)]],8,c_)])]),(0,n.createElementVNode)(`div`,{ref_key:`outputEl`,ref:d,class:`flex-1 overflow-y-auto scrollbar-thin bg-muted/10 font-mono text-xs p-3`},[o.value.length===0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,l_,` Select tests and click "Run" to see output... `)):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,u_,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(o.value,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:t,"data-test-id":e.testId,class:(0,n.normalizeClass)([e.type===`header`?`text-muted-foreground font-medium`:e.type===`success`?`text-green-600`:e.type===`error`?`text-red-600`:``,f.value&&e.testId!==f.value?`opacity-20`:``,f.value&&e.testId===f.value?`bg-primary/5 -mx-1 px-1 rounded`:``])},(0,n.toDisplayString)(e.text),11,d_))),128))]))],512),l.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,f_,[(0,n.createElementVNode)(`div`,p_,[(0,n.createElementVNode)(`span`,m_,` Running: `+(0,n.toDisplayString)(h.value),1),(0,n.createElementVNode)(`span`,h_,(0,n.toDisplayString)(m.value)+`/`+(0,n.toDisplayString)(p.value),1)]),(0,n.createElementVNode)(`div`,g_,[(0,n.createElementVNode)(`div`,{class:`h-full bg-primary transition-all duration-300`,style:(0,n.normalizeStyle)({width:`${te.value}%`})},null,4)])])):(0,n.createCommentVNode)(``,!0)])])]))}}),v_={class:`fixed inset-0 z-40 bg-background flex flex-col overflow-hidden`},y_={class:`flex items-center justify-between px-4 py-2 border-b border-border bg-muted/30`},b_={class:`flex items-center gap-3 min-w-0 flex-1`},x_={class:`text-sm font-semibold truncate`},S_={class:`flex-1 flex overflow-hidden min-w-0`},C_={class:`w-10 bg-muted/50 border-r border-border flex flex-col items-center py-2 gap-1`},w_={class:`flex-1 flex flex-col overflow-hidden min-w-0`},T_={key:0,class:`flex-1 flex items-center justify-center`},E_={class:`text-center max-w-md`},D_={class:`text-xs text-muted-foreground mb-4`},O_={key:1,class:`flex-1 flex items-center justify-center`},k_={class:`text-center`},A_={key:0,class:`flex-1 overflow-hidden`},j_={key:1,class:`flex-1 overflow-hidden flex`},M_={key:2,class:`flex-1 overflow-hidden`},N_=(0,n.defineComponent)({__name:`DevToolsOverlay`,props:{testGroups:{},testLoadErrors:{},appName:{}},emits:[`close`],setup(e,{emit:r}){let i=t.s.forScope(`DevToolsOverlay`),a=e,o=r,s=(0,n.ref)(`documents`),c=(0,n.ref)(!1),l=(0,n.ref)(null),u=(0,n.ref)(!1);async function d(){if(!c.value)try{await t.r(),c.value=!0}catch(e){i.error(`Failed to initialize dev tools`,{err:e}),l.value=e instanceof Error?e.message:`Failed to initialize`}}let f=(0,n.ref)(``);function p(e){if(e.key!==`Escape`||document.querySelectorAll(`[role="dialog"][data-state="open"], [role="alertdialog"][data-state="open"]`).length>0||document.querySelectorAll(`[data-devtools-modal]`).length>0||document.querySelectorAll(`[data-devtools-dropdown]`).length>0)return;let t=document.activeElement;if(t&&t!==document.body&&(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.tagName===`SELECT`||t.isContentEditable)){t.blur();return}g()}(0,n.onMounted)(()=>{f.value=document.body.style.overflow,document.body.style.overflow=`hidden`,document.addEventListener(`keydown`,p,!0),d()}),(0,n.onUnmounted)(()=>{document.body.style.overflow=f.value,document.removeEventListener(`keydown`,p,!0)});let m=(0,n.computed)(()=>t.t(a.testGroups));async function h(){if(!u.value){u.value=!0;try{await t.r()}finally{u.value=!1}}}function g(){o(`close`)}let _=Me(),y=(0,n.computed)(()=>{if(s.value===`tests`)return`Test Harness`;if(s.value===`blobs`){let e=_.currentDocumentTitle;return e?`Blob Explorer: ${e}`:`Blob Explorer`}let e=_.currentDocumentTitle;return e?`Document Explorer: ${e}`:`Document Explorer`});return(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,v_,[(0,n.createElementVNode)(`div`,y_,[(0,n.createElementVNode)(`div`,b_,[(0,n.createElementVNode)(`span`,x_,(0,n.toDisplayString)(y.value),1)]),(0,n.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded`,title:`Close`,onClick:g},[...t[3]||=[(0,n.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M6 18L18 6M6 6l12 12`})],-1)]])]),(0,n.createElementVNode)(`div`,S_,[(0,n.createElementVNode)(`div`,C_,[(0,n.createElementVNode)(`button`,{class:(0,n.normalizeClass)([`p-2 rounded`,s.value===`documents`?`bg-primary/10 text-primary`:`hover:bg-muted text-muted-foreground`]),title:`Document Explorer`,onClick:t[0]||=e=>s.value=`documents`},[...t[4]||=[(0,n.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`})],-1)]],2),(0,n.createElementVNode)(`button`,{class:(0,n.normalizeClass)([`p-2 rounded`,s.value===`tests`?`bg-primary/10 text-primary`:`hover:bg-muted text-muted-foreground`]),title:`Test Harness`,onClick:t[1]||=e=>s.value=`tests`},[...t[5]||=[(0,n.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4`})],-1)]],2),(0,n.createElementVNode)(`button`,{class:(0,n.normalizeClass)([`p-2 rounded`,s.value===`blobs`?`bg-primary/10 text-primary`:`hover:bg-muted text-muted-foreground`]),title:`Blob Explorer`,onClick:t[2]||=e=>s.value=`blobs`},[...t[6]||=[(0,n.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,n.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12`})],-1)]],2)]),(0,n.createElementVNode)(`div`,w_,[l.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,T_,[(0,n.createElementVNode)(`div`,E_,[t[7]||=(0,n.createElementVNode)(`h2`,{class:`text-sm font-semibold text-destructive mb-2`},` Initialization Failed `,-1),(0,n.createElementVNode)(`p`,D_,(0,n.toDisplayString)(l.value),1),(0,n.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90`,onClick:d},` Retry `)])])):c.value?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:2},[s.value===`documents`?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,A_,[(0,n.createVNode)(hg)])):(0,n.createCommentVNode)(``,!0),s.value===`blobs`?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,j_,[(0,n.createVNode)(hu)])):(0,n.createCommentVNode)(``,!0),s.value===`tests`?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,M_,[(0,n.createVNode)(__,{tests:m.value,"test-load-errors":a.testLoadErrors,"on-tests-complete":h},null,8,[`tests`,`test-load-errors`])])):(0,n.createCommentVNode)(``,!0)],64)):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,O_,[(0,n.createElementVNode)(`div`,k_,[(0,n.createVNode)(v),t[8]||=(0,n.createElementVNode)(`p`,{class:`mt-4 text-xs text-muted-foreground`},` Initializing dev tools... `,-1)])]))])])]))}}),P_=`#devtools`,F_=(0,n.defineComponent)({__name:`DevToolsRoot`,props:{testGroups:{},testLoadErrors:{},appName:{},keyboardShortcut:{}},setup(e){let r=t.s.forScope(`DevToolsRoot`),i=e,a=(0,n.ref)(!1),o=(0,n.ref)(!1),s=typeof navigator<`u`&&/mac/i.test(navigator.platform);function c(e){let t=e.toLowerCase().split(`+`);return s?t.map(e=>e===`cmd`||e===`meta`?`⌘`:e===`ctrl`?`⌃`:e===`shift`?`⇧`:e===`alt`?`⌥`:e.toUpperCase()).join(``):t.map(e=>e===`cmd`||e===`meta`||e===`ctrl`?`Ctrl`:e===`shift`?`Shift`:e===`alt`?`Alt`:e.toUpperCase()).join(`+`)}let l=(0,n.computed)(()=>{if(i.keyboardShortcut)return c(i.keyboardShortcut)});function u(e,t){let n=t.toLowerCase().split(`+`),r=n.pop(),i=new Set(n),a=i.has(`cmd`)||i.has(`meta`),o=i.has(`ctrl`),c=i.has(`shift`),l=i.has(`alt`);if(s){if(a!==e.metaKey||o!==e.ctrlKey)return!1}else if((a||o)!==e.ctrlKey||e.metaKey)return!1;return!(c!==e.shiftKey||l!==e.altKey||e.key.toLowerCase()!==r)}function d(e){!i.keyboardShortcut||!o.value||u(e,i.keyboardShortcut)&&(e.preventDefault(),b())}let f=!1,p=null;function m(){!a.value&&o.value&&window.location.hash===P_&&(a.value=!0)}async function g(){try{let e=await t.o.getClientAsync();o.value=e.isAuthenticated(),m(),o.value&&t.r().catch(e=>{r.debug(`Startup cleanup of leftover test documents failed`,{err:e})});let n=()=>{o.value=!0,m()},i=()=>{o.value=!1},a=()=>{o.value=!1,y()};e.on(`auth-success`,n),e.on(`auth-failed`,i),e.on(`auth:logout`,a),p=()=>{e.off(`auth-success`,n),e.off(`auth-failed`,i),e.off(`auth:logout`,a)}}catch{o.value=!1}}function _(){let e=window.location.hash===P_;a.value&&!e?(a.value=!1,f=!1):!a.value&&e&&o.value&&(a.value=!0)}(0,n.onMounted)(()=>{window.addEventListener(`popstate`,_),document.addEventListener(`keydown`,d),g()}),(0,n.onUnmounted)(()=>{window.removeEventListener(`popstate`,_),document.removeEventListener(`keydown`,d),p?.(),p=null});function v(){a.value||(a.value=!0,f=!0,history.pushState({primitiveDevtools:!0},``,P_))}function y(){a.value&&(a.value=!1,window.location.hash===P_&&(f?(f=!1,history.back()):history.replaceState(null,``,window.location.pathname+window.location.search)))}function b(){a.value?y():v()}return(e,t)=>((0,n.openBlock)(),(0,n.createBlock)(n.Teleport,{to:`body`},[o.value?((0,n.openBlock)(),(0,n.createBlock)(h,{key:0,"is-open":a.value,"shortcut-hint":l.value,onClick:b},null,8,[`is-open`,`shortcut-hint`])):(0,n.createCommentVNode)(``,!0),a.value?((0,n.openBlock)(),(0,n.createBlock)(N_,{key:1,"test-groups":i.testGroups,"test-load-errors":i.testLoadErrors,"app-name":i.appName,onClose:y},null,8,[`test-groups`,`test-load-errors`,`app-name`])):(0,n.createCommentVNode)(``,!0)]))}});exports.DevToolsRoot=F_,exports.createTestDocument=t.n,exports.destroyTestDocument=t.i,exports.initializeJsBao=t.a,exports.jsBaoClientService=t.o,exports.setPrimitiveAppLogLevel=t.c;
|